Stumbled upon <
http://www.retroarchive.org/docs/rml_algol60.pdf>.
Got curious, took <
http://www.retroarchive.org/cpm/lang/ALGOL.ZIP>.
But no joy,
algol.com immediately CRASHED!!!
Looking inside, it was obviously, the first 512 bytes of
algol.com
were overwritten.
Looking around for a non-corrupted version of that file,
I saw a slightly different version of
algol.com in disk images
once downloaded somewhere from <
http://www.schuetz.thtec.org>.
Very encouraging, everything after the corrupted part was identical
below ~0900h, not counting of course any absolute addresses pointing
above that point!
Of course, it took its time, but after studying the very good
technical description in "rml_algol60.pdf" starting at page 64,
I could identifiy and adjust every absolute address and perfectly
fit the missing part info the exising
algol.com.
Now you will fix your
algol.com by yourself:
First, here is the missing part "algolfix.hex":
====
ALGOLFIX
:20010000C3F704C3F704C39109C38409C35905C3DF0BC3D90B300D35084C086308A6085FFB
:200120003500000000FFFF4701470100007731D731F530F5307731D731FFF5307531000088
:2001400000000000000000000000000000000000000000D2014603E401F001F50103020EA4
:200160000214022B023202480294035202730279027F028E02950200009E02A602CD02D44E
:2001800002E102EB02F802EA02F7023D02DB020103080310030601180393038B03FE015CCF
:2001A000026102D503D201E20393039203910390034D02EB03EA01F20321022602DD7E0035
:2001C000DD23C9DD4E00DD23DD4600DD23C921FFFFE5DD6E00DD23260029115301195E23A2
:2001E00056EBAFE9E1CD8C0618E8E1CD6D0618E2CD710418DCCDFA03D173237218D4CD0633
:200200000418F5CDBD01B728C9CDBB0618F5E1CDC00418BECDAB066F2600B7F2D1012518EC
:20022000B0CD2F0718F1CD810718ECE17DCDBB0618A0DD6E00DD6601E5DDE11895E1CB7CFE
:2002400028F0DD23DD23188ACD19041885CD19041803CDFA035E2356D5C3D201CD0604185D
:20026000F4E1ED5B1B01CD4906ED536E02CDFB07C3D201E1D119C3D101C1CD0F0418D6E144
:20028000224901C1CD0F04ED5B4901C3F901CDC301C5C3D201D1210000ED52C3D101D1C1BE
:2002A000CD3104C3D101E1FD360000CD4704CC5905444DE1CD4704CAD101CD5804FDCB003A
:2002C000462806210000B71806D5C3D201D1E1ED52C3D101D1E1ED52CACE01210000C3D184
:2002E00001D1E1ED5228F4C3CE0137D1E1ED52EAFC02FACE0118E437E1D118F1F2CE0118BE
:0000000000
====
I use the tool "
mload.com" so everething is done in one step.
A0>mload
algolok.com=
algol.com,algolfix.hex
MLOAD ver. 2.5 Copyright (C) 1983, 1984, 1985
by NightOwl Software, Inc.
Loaded 512 bytes (0200H) to file A0:
ALGOLOK.COM
Over a 12288 byte binary file
Start address: 0100H Ending address: 3100H Bias: 0000H
Saved image size: 12288 bytes (3000H, - 96 records)
Is everything ok?
A0>algolok
RML ALGOL V4.1C
Copyright (C) 1979 by Research Machines
OUT=IN ?^C
A0>
*Done*
Here is a simple demo "fact.alg":
====
'BEGIN' 'COMMENT' FACTORIALS;
'INTEGER' I;
'REAL' R;
R:=1.0;
'FOR' I:=1 'STEP' 1 'UNTIL' 10 'DO'
'BEGIN'
R:=R*I;
RWRITE(1,R,8,0); SKIP(1);
'END'
'END'
'FINISH'
====
Compile...
A0>algolok
RML ALGOL V4.1C
Copyright (C) 1979 by Research Machines
OUT=IN ?fact=fact
COMPILES OK
SIZE 57
RML ALGOL V4.1C
Copyright (C) 1979 by Research Machines
OUT=IN ?^C
A0>
Run...
A0>arun
RML ALGOL V4.4C
Copyright (C) 1979 by Research Machines
INPUT=fact
^
1
2
6
24
120
720
5040
40320
362880
3628794
^
^C
A0>
Have fun
Martin