After solving some PLC mysteries, I now return to the EMAS 2 “bootdisk” (ICL 2970) which is obviously a memory dump having binary, ASCII and some few EBCDIC segments.
Reading a manual of the SIEMENS 4004 PBS (DOS) which was in fact an RCA Spectra 70 clone, I found the internal program SLMP (self-loading memory dump). It has its own code and contains a dump including register contents etc and overwrites the first 128 bytes of RAM. One has to enter some parameters of the addresses and tape channels. I assume it’s similar on the ICL. It can be made on purpose or I think automatically after a crash.
To restore a dump (into RAM), it’s surprisingly the program SYSGEN (“SYSGENI” with an INIT card format 2).
There are no emulators nor binaries for ICL 2900, Siemens, RCA, etc, but at least for ICL 1900 which is in parts 2900 compatible. And maybe the UNIVAC (9300) or the Interdata32 MOUSES. A dump might be called differently dump post mortem, snapshot or else. Some of the EMAS sources contain binary segments (maybe it was on EMAS 3), disassemblers etc, but after the years I’m starting at point 0. On a 1900 there are XLA2 print DME microcode dumps ICLKDUMPFILE post mortem, XLA3 print George 3 executive dumps, previously made with XK77.
Maybe it’s possible to find some opcodes or addresses or anything else what might help. I tried some Spectra-70 opcodes. Not sure if the beginning is a header, code, register contents or else. Maybe code starts at 50 or 128. At least some recurring patterns, like 80 08.
48 8F LH 8F Load Halfword
7A 8E 2E DC AE Add Normalized (Short) RX
02 E3 FF LIT Load Interval Timer (SF) -FF?
9F 62 90 49 CKC Check Channel register 90 (SI) Privileged
0A 62 SVC Supervisor Call 6-2 (RR)
8F 38 40 15 SLDA Shift Left Double (RS)
83 FA 88 77 DIG Diagnose (Priv) (snapshot memory)
80 08 48 58 IDL Idle (Priv) 08=Bit 12 1-reset-inhibit simultaneity
(48 58 must be 0 = wrong instr)
83 5D 98 63 DIG
80 08 B5 49 IDL
98 6F 80 00 LM Load Multiple (RS) registers, addr 0
08 62 SSK Set Storage Key (RR) Priv.
81 48 -no instr. wrong
8B 18 04 62
I haven’t read/recall all EMAS sources or ICL 1900.
Any ideas about such dumps, maybe for other mainframes?
The EMAS dump is here (also note the readme, ASC and string files)
Index of /archive/os/emas/emas2/boottape
000cd000: 48 8f 7a 8e 2e dc 02 e3 ff 9f 62 90 49 0a 62 8f : H.z…b.I.b.
before that the tape is empty.
Some EBCDIC parts from the end, I think showing the running processes. I think there’s a source for sup26c (supervisor).
0 EMAS 2900 SUP26C 31/03/80 11.29.39
FEs None
RUNQ1 RUNQ2 PQ1 PQ2 PQ3 PQ4 SUSP DRUM
0 2 0 0
0 0 3 6%
1 DIRECT S 20
39
2 VOLUMS S 21 40
3 SPOOLR S 22
41
4 ERCC07 R2 23 42
5 ERCC08 R2
QPage 0 All Queues 11.28.01
LP 1 Entry
1K
BATCH Empty
JOBBER Emp
ty
JOURNAL 7 Entries 104K
LP23 E
mpty
LP14 Empty
MT14
Empty
GP14 Empty
LP15
Empty
MP Empty
GP
Empty
PP Empty
P34
Empty
LP34 Empty
LP40
Empty
LP44 Empty
LP51
Empty
BENCH Empty
FEP49
Empty
P49 Empty
LP49
Empty
FEP80 Empty
P80
Empty
Q
Most interesting 1900 tape is 4650010 which might contain some of the tools. Here some parts
ICL 1900 magtape *4650010 PROGRAM GEOS(1/0) 18/10/05
1 #GEOS 77812
2 SL39
3 #SL39 00000039
5 MACROS
6 ALGOL ...
XKTN in there:
Block: 1 Size: 20 words
50444462 04650010 60625747 62415520 47455763 00000000 00000001 00007777 HDDR4U08PROGRAM GEOS0000000100__
00113362 31000000 00000000 00000000 00000000 00000000 00000000 00000000 09+R)000000000000000000000000000
00000000 00000000 00000000 00000000 0000000000000000
TAPE MARK
Block: 2 Size: 20 words
73200001 47455763 20000000 00600000 00000000 00000000 00000000 04007700 [ 01GEOS 0000P0000000000000040_0
00000000 00000000 00000000 00000000 00000000 77017073 07071001 02202020 00000000000000000000_1X[77812
00000000 00000000 00000000 00000000 0000000000000000
Block: 3 Size: 5 words
73050005 00000020 00000540 02516215 02210776 [505000 005@2IR=2!7^
Block: 4 Size: 352 words
00000000 65300014 05300007 07045444 03600347 03600360 03600220 07040203 0000U(0<5(0774LD3P3G3P3P3P2 7423
07040204 07040205 07040206 07040207 07040210 07040211 00000000 00000000 74247425742674277428742900000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000000000000000000000000000
00000000 00000000 00000000 00000000 00000000 53401065 03500000 45200600 00000000000000000000K@8U3H00E 60
53401065 03500000 00000000 00000000 00000000 00000000 00000000 00000000 K@8U3H00000000000000000000000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000000000000000000000000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000000000000000000000000000
00000000 00000000 00500000 00000000 00000002 00000055 00500003 00000000 000000000H0000000002000M0H030000
00501000 00000000 00000002 00000000 00000120 00000055 00300000 00000000 0H80000000020000001 000M0(000000
00000120 00000055 00500200 00000000 20202020 20202020 20202020 00000000 001 000M0H200000 0000
00000000 00000000 00000000 43504162 47452020 20202020 20202020 00000000 000000000000CHARGE 0000
20565764 20465765 56442057 56206556 51642000 00202020 54572023 00000000 NOT FOUND ON UNIT 00 LO #0000
A loader loads a loader that loads a loader... (Interdata mainframes) paper tape bootstrap