HP3000
From Linux PARISC Wiki
(Difference between revisions)
(Created page with "Craig Lalley <mr_lalley@yahoo.com> HP3000 918 LX (changed the name to "928LX 3kranger Fox") Stable storage 256 bytes, then Nvolatile storage 256 bytes. NMSSUTIL [E.02.03]...") |
m |
||
Line 1: | Line 1: | ||
Craig Lalley <mr_lalley@yahoo.com> | Craig Lalley <mr_lalley@yahoo.com> | ||
− | HP3000 918 LX (changed the name to "928LX 3kranger Fox") | + | HP3000 918 LX (changed the name to "928LX 3kranger Fox") |
− | Stable storage 256 bytes, then Nvolatile storage 256 bytes. | + | Stable storage 256 bytes, then Nvolatile storage 256 bytes. |
− | NMSSUTIL [E.02.03] | + | NMSSUTIL [E.02.03] |
− | SSsize 64 (256) | + | SSsize 64 (256) |
− | H-SSsize 64 (256) | + | H-SSsize 64 (256) |
− | 00000000: 80 FF FF FF FF FF 38 34 00 00 00 06 00 00 00 00 ......84........ | + | 00000000: 80 FF FF FF FF FF 38 34 00 00 00 06 00 00 00 00 ......84........ |
− | 00000010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ | + | 00000010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ |
− | 00000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ | + | 00000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ |
− | 00000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ | + | 00000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ |
− | 00000040: 00 02 00 00 FF FF FF FA 21 F6 84 00 00 00 00 00 ........!....... | + | 00000040: 00 02 00 00 FF FF FF FA 21 F6 84 00 00 00 00 00 ........!....... |
− | 00000050: 00 00 00 00 00 00 00 00 7B 3A 00 00 00 00 01 0F ........{:...... | + | 00000050: 00 00 00 00 00 00 00 00 7B 3A 00 00 00 00 01 0F ........{:...... |
− | 00000060: 00 FF FF FF FF FF 38 38 00 00 00 00 00 00 00 00 ......88........ | + | 00000060: 00 FF FF FF FF FF 38 38 00 00 00 00 00 00 00 00 ......88........ |
− | 00000070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ | + | 00000070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ |
− | 00000080: 00 FF FF FF FF FF 38 34 00 00 00 00 00 00 00 00 ......84........ | + | 00000080: 00 FF FF FF FF FF 38 34 00 00 00 00 00 00 00 00 ......84........ |
− | 00000090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ | + | 00000090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ |
− | 000000A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ | + | 000000A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ |
− | 000000B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ | + | 000000B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ |
− | 000000C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ | + | 000000C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ |
− | 000000D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ | + | 000000D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ |
− | 000000E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ | + | 000000E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ |
− | 000000F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ | + | 000000F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ |
− | Path: Primary 56/52.6.0.0.0.0.0 AutoBoot ON AutoSrch OFF | + | Path: Primary 56/52.6.0.0.0.0.0 AutoBoot ON AutoSrch OFF |
− | Path: Alternate 56/52.0.0.0.0.0.0 | + | Path: Alternate 56/52.0.0.0.0.0.0 |
− | Path: Console 56/56.0.0.0.0.0.0 | + | Path: Console 56/56.0.0.0.0.0.0 |
− | Path: Keyboard 0 | + | Path: Keyboard 0 |
− | + | OS: 2 MPE Diag 0x7B3A FastSize F OSdep2 1 | |
− | OSdep1: 0000 FFFF FFFA 21F6 8400 0000 0000 0000 0000 0000 0000 | + | OSdep1: 0000 FFFF FFFA 21F6 8400 0000 0000 0000 0000 0000 0000 |
− | 00000000: 00 00 48 00 00 00 04 81 00 00 00 00 00 00 00 00 ..H............. | + | 00000000: 00 00 48 00 00 00 04 81 00 00 00 00 00 00 00 00 ..H............. |
− | 00000010: 44 14 3A 73 10 00 00 01 00 00 00 00 00 00 00 00 D.:s............ | + | 00000010: 44 14 3A 73 10 00 00 01 00 00 00 00 00 00 00 00 D.:s............ |
− | 00000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ | + | 00000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ |
− | 00000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 5E F0 ..............^. | + | 00000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 5E F0 ..............^. |
− | 00000040: 40 48 00 09 F6 23 07 6C 80 00 00 00 80 00 00 00 @H...#.l........ | + | 00000040: 40 48 00 09 F6 23 07 6C 80 00 00 00 80 00 00 00 @H...#.l........ |
− | 00000050: 00 07 53 03 00 00 00 00 00 00 00 00 00 00 00 00 ..S............. | + | 00000050: 00 07 53 03 00 00 00 00 00 00 00 00 00 00 00 00 ..S............. |
− | 00000060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ | + | 00000060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ |
− | 00000070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ | + | 00000070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ |
− | 00000080: 39 32 38 4C 58 20 33 6B 52 61 6E 67 65 72 20 46 928LX 3kRanger F | + | 00000080: 39 32 38 4C 58 20 33 6B 52 61 6E 67 65 72 20 46 928LX 3kRanger F |
− | 00000090: 6F 78 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ox.............. | + | 00000090: 6F 78 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ox.............. |
− | 000000A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ | + | 000000A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ |
− | 000000B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ | + | 000000B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ |
− | 000000C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ | + | 000000C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ |
− | 000000D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ | + | 000000D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ |
− | 000000E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ | + | 000000E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ |
− | 000000F0: 55 53 41 2D 33 6B 52 61 6E 67 65 72 2D 31 30 00 USA-3kRanger-10. | + | 000000F0: 55 53 41 2D 33 6B 52 61 6E 67 65 72 2D 31 30 00 USA-3kRanger-10. |
Product: Serial USA-3kRanger-10 | Product: Serial USA-3kRanger-10 | ||
− | + | MPE: 928LX 3kRanger Fox | |
− | HVersion: 0x4800 SVersion 0x0481 HV 0 swID 0x44143A73 1142176371 | + | HVersion: 0x4800 SVersion 0x0481 HV 0 swID 0x44143A73 1142176371 |
− | + | Cap: 0x10000001 BootID 0 Arch 0 Potkey 0 Curkey 0 Width 0 | |
− | + | SysClock 48.000304 RTClock 32768 Res2 5ef0 24304 | |
− | + | Res3 data | |
− | + | ||
− | + | ||
=================================================================== | =================================================================== | ||
− | Code extract of NMSSUTIL | + | <code> |
− | Structures are as I discovered. | + | Code extract of NMSSUTIL |
− | + | Structures are as I discovered. | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | #pragma VERSIONID "@(#) NMSSUTIL E.02.03 2009/11/01 HP PArisc SSutil" | + | #pragma VERSIONID "@(#) NMSSUTIL E.02.03 2009/11/01 HP PArisc SSutil" |
− | #define proc | + | #define proc |
− | #define PRG_VERS "E.02.03" | + | #define PRG_VERS "E.02.03" |
− | #define SS_MAX 128 | + | #define SS_MAX 128 |
− | #define CAP_PM 0x00000040 | + | #define CAP_PM 0x00000040 |
− | #define PDC_DIAGFILE "/dev/diag/diag2" | + | #define PDC_DIAGFILE "/dev/diag/diag2" |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | typedef struct GCC_ALIGN(1) path_s { | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | typedef struct GCC_ALIGN(1) path_s { | + | |
struct { | struct { | ||
u32 autoboot :1; | u32 autoboot :1; | ||
Line 103: | Line 78: | ||
u32 mod :8; | u32 mod :8; | ||
u32 layer[6]; | u32 layer[6]; | ||
− | } path_t; | + | } path_t; |
− | typedef struct GCC_ALIGN(1) os_s { | + | typedef struct GCC_ALIGN(1) os_s { |
u16 osid; | u16 osid; | ||
u16 osdep1 [11]; | u16 osdep1 [11]; | ||
Line 114: | Line 89: | ||
u32 res3 :4; | u32 res3 :4; | ||
u32 fastsize :4; | u32 fastsize :4; | ||
− | } os_t; | + | } os_t; |
− | + | ||
− | + | typedef struct arch_stable_s { | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | typedef struct arch_stable_s { | + | |
path_t pri; /* 0 $00*/ | path_t pri; /* 0 $00*/ | ||
path_t res1; /* 32 $20*/ | path_t res1; /* 32 $20*/ | ||
Line 132: | Line 100: | ||
path_t res2; /*192 $C0*/ | path_t res2; /*192 $C0*/ | ||
u32 osdep3 [8]; /*224 $E0*/ | u32 osdep3 [8]; /*224 $E0*/ | ||
− | } arch_stable_t; /*256 $100*/ | + | } arch_stable_t; /*256 $100*/ |
− | typedef struct unarch_stable_s { | + | typedef struct unarch_stable_s { |
u32 hvers; | u32 hvers; | ||
u32 svers; | u32 svers; | ||
Line 157: | Line 125: | ||
char prod2 [8]; | char prod2 [8]; | ||
char sernum [16]; | char sernum [16]; | ||
− | } unarch_stable_t; | + | } unarch_stable_t; |
− | int wizard; | + | int wizard; |
− | /*----------------------------------------------------------------*/ | + | /*----------------------------------------------------------------*/ |
− | proc static void zzz_fmtunarch (u32 *ss) | + | proc static void zzz_fmtunarch (u32 *ss) |
− | { | + | { |
int x; | int x; | ||
unarch_stable_t *un; | unarch_stable_t *un; | ||
Line 197: | Line 165: | ||
if (! zzz_iszero (un->res3, sizeof (un->res3))) | if (! zzz_iszero (un->res3, sizeof (un->res3))) | ||
printf (" Res3 data\n"); | printf (" Res3 data\n"); | ||
− | } | + | } |
− | / | + | </code> |
Revision as of 20:05, 19 October 2022
Craig Lalley <mr_lalley@yahoo.com>
HP3000 918 LX (changed the name to "928LX 3kranger Fox") Stable storage 256 bytes, then Nvolatile storage 256 bytes. NMSSUTIL [E.02.03] SSsize 64 (256) H-SSsize 64 (256) 00000000: 80 FF FF FF FF FF 38 34 00 00 00 06 00 00 00 00 ......84........ 00000010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00000040: 00 02 00 00 FF FF FF FA 21 F6 84 00 00 00 00 00 ........!....... 00000050: 00 00 00 00 00 00 00 00 7B 3A 00 00 00 00 01 0F ........{:...... 00000060: 00 FF FF FF FF FF 38 38 00 00 00 00 00 00 00 00 ......88........ 00000070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00000080: 00 FF FF FF FF FF 38 34 00 00 00 00 00 00 00 00 ......84........ 00000090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 000000A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 000000B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 000000C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 000000D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 000000E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 000000F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ Path: Primary 56/52.6.0.0.0.0.0 AutoBoot ON AutoSrch OFF Path: Alternate 56/52.0.0.0.0.0.0 Path: Console 56/56.0.0.0.0.0.0 Path: Keyboard 0 OS: 2 MPE Diag 0x7B3A FastSize F OSdep2 1 OSdep1: 0000 FFFF FFFA 21F6 8400 0000 0000 0000 0000 0000 0000 00000000: 00 00 48 00 00 00 04 81 00 00 00 00 00 00 00 00 ..H............. 00000010: 44 14 3A 73 10 00 00 01 00 00 00 00 00 00 00 00 D.:s............ 00000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 5E F0 ..............^. 00000040: 40 48 00 09 F6 23 07 6C 80 00 00 00 80 00 00 00 @H...#.l........ 00000050: 00 07 53 03 00 00 00 00 00 00 00 00 00 00 00 00 ..S............. 00000060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00000070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00000080: 39 32 38 4C 58 20 33 6B 52 61 6E 67 65 72 20 46 928LX 3kRanger F 00000090: 6F 78 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ox.............. 000000A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 000000B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 000000C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 000000D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 000000E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 000000F0: 55 53 41 2D 33 6B 52 61 6E 67 65 72 2D 31 30 00 USA-3kRanger-10. Product: Serial USA-3kRanger-10 MPE: 928LX 3kRanger Fox HVersion: 0x4800 SVersion 0x0481 HV 0 swID 0x44143A73 1142176371 Cap: 0x10000001 BootID 0 Arch 0 Potkey 0 Curkey 0 Width 0 SysClock 48.000304 RTClock 32768 Res2 5ef0 24304 Res3 data
=======================================================
Code extract of NMSSUTIL Structures are as I discovered. #pragma VERSIONID "@(#) NMSSUTIL E.02.03 2009/11/01 HP PArisc SSutil" #define proc #define PRG_VERS "E.02.03" #define SS_MAX 128 #define CAP_PM 0x00000040 #define PDC_DIAGFILE "/dev/diag/diag2" typedef struct GCC_ALIGN(1) path_s { struct { u32 autoboot :1; u32 autosearch :1; u32 res1 :2; u32 timer :4; } attr; uchar bc [6]; u32 mod :8; u32 layer[6]; } path_t; typedef struct GCC_ALIGN(1) os_s { u16 osid; u16 osdep1 [11]; u16 diag; u16 res1; u32 res2 :8; u32 osdep2 :16; u32 res3 :4; u32 fastsize :4; } os_t; typedef struct arch_stable_s { path_t pri; /* 0 $00*/ path_t res1; /* 32 $20*/ os_t os; /* 64 $40*/ path_t cons; /* 96 $60*/ path_t alt; /*128 $80*/ path_t key; /*160 $A0*/ path_t res2; /*192 $C0*/ u32 osdep3 [8]; /*224 $E0*/ } arch_stable_t; /*256 $100*/ typedef struct unarch_stable_s { u32 hvers; u32 svers; u32 hv; u32 bootid; u32 swid; u32 swcap; u32 archrev; u32 potkey; u32 curkey; u32 width; u16 res1 [11]; u16 res2; f64 sysclock_mhz; u16 rtclock_hz; u16 res3 [11]; char hpuxname [32]; char mpename [32]; char alt1name [32]; char alt2name [32]; char prod1 [8]; char prod2 [8]; char sernum [16]; } unarch_stable_t; int wizard; /*----------------------------------------------------------------*/ proc static void zzz_fmtunarch (u32 *ss) { int x; unarch_stable_t *un; un = (unarch_stable_t*) ss; if (*un->prod1 || *un->prod2 || *un->sernum) printf (" Product: %s %s Serial %-.*s\n", un->prod1, un->prod2, sizeof (un->sernum), un->sernum); if (*un->hpuxname) printf (" HPUX: %s\n", un->hpuxname); if (*un->mpename) printf (" MPE: %s\n", un->mpename); printf ("HVersion: 0x%4.4X", un->hvers); printf (" SVersion 0x%4.4X", un->svers); printf (" HV %d", un->hv); printf (" swID 0x%X %d", un->swid, un->swid); printf ("\n"); printf (" Cap: 0x%X", un->swcap); printf (" BootID %d", un->bootid); printf (" Arch %d", un->archrev); printf (" Potkey %d", un->potkey); printf (" Curkey %d", un->curkey); printf (" Width %d", un->width); printf ("\n"); printf (" SysClock %f", un->sysclock_mhz); printf (" RTClock %d", un->rtclock_hz); printf (" Res2 %x %d\n", un->res2, un->res2); printf ("\n"); if (! zzz_iszero (un->res1, sizeof (un->res1))) printf (" Res1 data\n"); if (! zzz_iszero (un->res3, sizeof (un->res3))) printf (" Res3 data\n"); }