The following SimH HP2100 log shows the process of compiling, assembling and linking the Algol chess program using SIO/BCS tools, performed 9/15/07. Listing text and mistakes have been removed. The BCS-produced binary is about 31Kbytes in length and requires that the first 2KW or so of memory be clear before loading. A simple memory dump save of the loaded program including the zeroed memory is about 25Kbytes in length. Required files... sio.abs - slot-configured SIO driver algol.abs - Algol compiler extasmb.abs - assembler bcslib.rel - standard library bcs31k.abs - configured BCS link tool chess.alg - Algol source for chess chess1.asm through chess5.asm - assembly subroutines for chess --------------------------- begin log ------------------------------ HP 2100 (mod) simulator V3.7-2 sim> set clk dev=10 sim> set tty dev=11 sim> set ptr dev=12 sim> set ptp dev=13 sim> load sio.abs sim> load algol.abs sim> attach ptr chess.alg sim> attach ptp chess0.rel PTP: creating new file sim> d s 0 sim> run 100 PAGE 001 001 02000 HPAL,L,B,"CHESS" [listing removed] 820 17051 DONE: END OF CHESS$ PROGRAM= 015052 BASE PAGE= 000464 ERRORS=000 HALT instruction 102077, P: 00100 (JMP 424,I) sim> detach ptp sim> load extasmb.abs sim> attach ptr chess1.asm sim> run 100 PAGE 0001 0001 ASMB,R,L,B ** NO ERRORS* HALT instruction 102011, P: 02074 (SZB) sim> attach ptr chess1.asm sim> attach ptp chess1.rel PTP: creating new file sim> c PAGE 0002 #01 0001 ASMB,R,L,B [listing removed] 0281 END ** NO ERRORS* HALT instruction 102077, P: 00100 (JMP 457,I) sim> detach ptp sim> attach ptr chess2.asm sim> run 100 PAGE 0001 0001 ASMB,R,L,B ** NO ERRORS* HALT instruction 102011, P: 02074 (SZB) sim> attach ptr chess2.asm sim> attach ptp chess2.rel PTP: creating new file sim> c PAGE 0002 #01 0001 ASMB,R,L,B [listing removed] 0100 END ** NO ERRORS* HALT instruction 102077, P: 00100 (JMP 457,I) sim> detach ptp sim> attach ptr chess3.asm sim> run 100 PAGE 0001 0001 ASMB,R,L,B ** NO ERRORS* HALT instruction 102011, P: 02074 (SZB) sim> attach ptr chess3.asm sim> attach ptp chess3.rel PTP: creating new file sim> c PAGE 0002 #01 0001 ASMB,R,L,B [listing removed] 0089 END ** NO ERRORS* HALT instruction 102077, P: 00100 (JMP 457,I) sim> detach ptp sim> attach ptr chess4.asm sim> run 100 PAGE 0001 0001 ASMB,R,L,B ** NO ERRORS* HALT instruction 102011, P: 02074 (SZB) sim> attach ptr chess4.asm sim> attach ptp chess4.rel PTP: creating new file sim> c PAGE 0002 #01 0001 ASMB,R,L,B [listing removed] 0065 END ** NO ERRORS* HALT instruction 102077, P: 00100 (JMP 457,I) sim> detach ptp sim> attach ptr chess5.asm sim> run 100 PAGE 0001 0001 ASMB,R,L,T,B B 000001 .MPY X 000001 BLANK R 000006 BLNKS R 000063 BUFL R 000067 CCNT R 000072 GETAD R 000027 IZERO R 000000 MODE R 000071 MULT R 000057 NEXT R 000045 RETN R 000066 RSTR R 000022 TABLE R 000070 TEMP R 000065 WORD R 000064 WORK R 000013 ZERO R 000000 ** NO ERRORS* HALT instruction 102011, P: 02074 (SZB) sim> attach ptr chess5.asm sim> attach ptp chess5.rel PTP: creating new file sim> c PAGE 0002 #01 0001 ASMB,R,L,T,B [listing removed] 0094 END ** NO ERRORS* HALT instruction 102077, P: 00100 (JMP 457,I) sim> detach ptp sim> ;the following clears memory... sim> d 2-77777 0 sim> load bcs31k.abs sim> attach ptr chess0.rel sim> attach ptp chess.abs PTP: creating new file sim> d s 140000 sim> run 2 *LOAD HALT instruction 102001, P: 73730 (CLB) sim> attach ptr chess1.rel sim> c *LOAD HALT instruction 102001, P: 73730 (CLB) sim> attach ptr chess2.rel sim> c *LOAD HALT instruction 102001, P: 73730 (CLB) sim> attach ptr chess3.rel sim> c *LOAD HALT instruction 102001, P: 73730 (CLB) sim> attach ptr chess4.rel sim> c *LOAD HALT instruction 102001, P: 73730 (CLB) sim> attach ptr chess5.rel sim> c *LOAD HALT instruction 102001, P: 73730 (CLB) sim> attach ptr bcslib.rel sim> d s 140004 sim> c *LST HALT instruction 102000, P: 74025 (LIB 1) sim> d s 40004 sim> c .IOC. 74126 .SQT. 74103 .MEM. 74075 .BUFR 74277 HALT 74070 .INDR 23314 .IOI. 22553 .PRAM 23531 .DIO. 22673 .DTA. 23003 BLANK 20612 .INDA 23310 .DIV 24106 .MPY 23767 CBITF 20516 SBITF 20400 .ITOI 23423 .SWCH 24374 SAVE 17444 ECUTE 17052 RETRO 17503 IZERO 20604 .STOP 24305 .DLD 24176 .DST 24211 .ENTR 23727 ZERO 20604 .BIO. 22752 .IAR. 22627 .IOR. 22523 .RAR. 22603 OLDIO 21105 .FLUN 24412 .PACK 23632 ENDIO 24423 FLOAT 23625 IFIX 24253 .ERRR 24322 ADRES 01321 GETAD 24237 *LINKS 01621 01777 *END Simulation stopped, P: 00720 (NOP) sim> detach ptp sim> ;the binary requires ext. instr. and clear memory... sim> set cpu 21mx sim> d 2-77777 0 sim> d s 0 sim> load chess.abs sim> run 2 HP CHESS VERSION A 10/26/73 DUMPS AVAILABLE: SW0 - MOVE LIST SW1 - BOTTOM NODE DUMP SW2 - FULL DUMP TYPE 1 FOR A NEW GAME, 0 FOR OLD 1 CHOICE: (B=1, W=-1) -1 1 MOVE= 1 --------------------------------- 90 !*R !*N !*B !*Q !*K !*B !*N !*R ! --------------------------------- 80 !*P !*P !*P !*P !*P !*P !*P !*P ! --------------------------------- 70 ! ! ! ! ! ! ! ! ! --------------------------------- 60 ! ! ! ! ! ! ! ! ! --------------------------------- 50 ! ! ! ! ! ! ! ! ! --------------------------------- 40 ! ! ! ! ! ! ! ! ! --------------------------------- 30 ! P ! P ! P ! P ! P ! P ! P ! P ! --------------------------------- 20 ! R ! N ! B ! Q ! K ! B ! N ! R ! --------------------------------- 0 1 2 3 4 5 6 7 8 YOUR TURN: FROM SQUARE? 32 TO SQUARE? 42 YOU MOVED FROM 32 TO 42 MY MOVE FROM 85 TO 65 1 MOVE= 2 --------------------------------- 90 !*R !*N !*B !*Q !*K !*B !*N !*R ! --------------------------------- 80 !*P !*P !*P !*P ! !*P !*P !*P ! --------------------------------- 70 ! ! ! ! ! ! ! ! ! --------------------------------- 60 ! ! ! ! !*P ! ! ! ! --------------------------------- 50 ! ! ! ! ! ! ! ! ! --------------------------------- 40 ! ! P ! ! ! ! ! ! ! --------------------------------- 30 ! P ! ! P ! P ! P ! P ! P ! P ! --------------------------------- 20 ! R ! N ! B ! Q ! K ! B ! N ! R ! --------------------------------- 0 1 2 3 4 5 6 7 8 YOUR TURN: FROM SQUARE? Simulation stopped, P: 74164 (ADB 74342) sim> ; this is what happens if mem not clear... sim> d 2-77777 77777 sim> load chess.abs sim> run 2 HP CHESS VERSION A 10/26/73 DUMPS AVAILABLE: SW0 - MOVE LIST SW1 - BOTTOM NODE DUMP SW2 - FULL DUMP TYPE 1 FOR A NEW GAME, 0 FOR OLD 1 CHOICE: (B=1, W=-1) -1 1 MOVE= 1 --------------------------------- 90 !*R !*N !*B !*Q !*K !*B !*N !*R ! --------------------------------- 80 !*P !*P !*P !*P !*P !*P !*P !*P ! --------------------------------- 70 ! ! ! ! ! ! ! ! ! --------------------------------- 60 ! ! ! ! ! ! ! ! ! --------------------------------- 50 ! ! ! ! ! ! ! ! ! --------------------------------- 40 ! ! ! ! ! ! ! ! ! --------------------------------- 30 ! P ! P ! P ! P ! P ! P ! P ! P ! --------------------------------- 20 ! R ! N ! B ! Q ! K ! B ! N ! R ! --------------------------------- 0 1 2 3 4 5 6 7 8 YOUR TURN: FROM SQUARE? 32 TO SQUARE? 42 YOU MOVED FROM 32 TO 42 INDEX? HALT instruction 102000, P: 23356 (CLA) sim> --------------------------- end log --------------------------------