HP3000
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.
- ifdef __GNUC__
- define GCC_UNUSED __attribute__((__unused__))
- define GCC_ALIGN(x) __attribute__((__packed__))
- else
- define GCC_UNUSED
- define GCC_ALIGN(x)
- endif
- 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"
- ifndef S16
- define S16
typedef signed short s16; typedef unsigned short u16; typedef signed int s32; typedef unsigned int u32; typedef unsigned char uchar; typedef float f32; typedef double f64;
- endif
- ifdef __mpexl
- pragma HP_ALIGN NOPADDING PUSH
- endif
- if defined(__HP_cc) || defined(__HP_aCC) /*aCC*/
- pragma pack 1
- endif
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;
- if defined(__HP_cc) || defined(__HP_aCC) /*aCC*/
- pragma pack
- endif
- ifdef __mpexl
- pragma HP_ALIGN POP
- endif
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");
} /*----------------------------------------------------------------*/