Procedure for creating a 31K BCS system --------------------------------------- Configuration: TTY=11 PTR=12 PTP=13 EndOfMem=75777 HP-IPL/OS "demo" build was used, with CLRHALT word added, but the same thing can be done at the sim> prompt by setting the device slots etc. Main advantage of CLRHALT (besides taking care of the config details by running a HP-IPL/OS sim) is it presents a "new" 31KW machine with a program at 77000 that swaps back HP-IPL/OS, which can be used to initiate another clear machine or run an ABS file. CLRHALT presently isn't part of the demo build (as of 7/13/07) but likely will be added, quite handy. Equivalent to the following manual sequence: ALTSAVE ZAM 150 102000 PUT 150 2 1 C>ACOPY 77000 RUN The files in the bin directory in the following dump were obtained from: http://oscar.taurus.com/~jeff/2100/ The main HP-IPL/OS archive is at: http://www.infionline.net/~wtnewton/hpiplos_main.zip A "demo" build with CLRHALT is in the abs directory. The bcsprep.abs program (and some other old HP software) require CR LF entry, if the terminal used to run simh hp2100 outputs only CR (most) then press control-J after pressing Enter. This can be avoided by entering: set tty autolf at the sim> prompt, or adding to the hp2100 startup script. --------------------------------------------------------------------- HP 2100 simulator V3.7-0 HP-IPL/OS MY DEMO ? EXPLAIN CLRHALT OCTAL DEFINE CLRHxxx ;ENSEC=046313 "RUN 77000 TO RETURN" $PRIxx ALTSxxx ZAM 000150 102000 PUT 000150 000002 000001 C>ACxxx 077000 RUN END ? CLRHALT RUN 77000 TO RETURN HALT instruction 102000, P: 00003 (NOP) sim> load bin/bcsprep.abs sim> d s 11 sim> run 2000 HS INP? 12 HS PUN? 13 FWA MEM? 200 LWA MEM? 75777 * LOAD HALT instruction 102000, P: 02041 (JMP 613) sim> attach ptr bin/bcstty.rel sim> c D.00 75226 75777 * LOAD HALT instruction 102000, P: 02041 (JMP 613) sim> attach ptr bin/bcsptr.rel sim> c D.01 74664 75225 * LOAD HALT instruction 102000, P: 02041 (JMP 613) sim> attach ptr bin/bcsptp.rel sim> c D.02 74353 74663 * LOAD HALT instruction 102000, P: 02041 (JMP 613) sim> attach ptr bin/bcsioc.rel sim> c IOC 74126 74352 * TABLE ENTRY EQT? HALT instruction 102011, P: 04005 (CLA) sim> c 11,D.00 12,D.01 13,D.02 /E SQT? -KYBD? 7 -TTY? 7 -LIB? 10 -PUNCH? 11 -INPUT? 10 -LIST? 7 DMA? 0 * LOAD HALT instruction 102000, P: 02041 (JMP 613) sim> attach ptr bin/bcsloadr.rel sim> c LOADR 71601 74102 INTERRUPT LINKAGE ? HALT instruction 102011, P: 02303 (JSB 2122) sim> c 11,101,I.00 12,102,I.01 13,103,I.02 /E .SQT. 74103 .EQT. 74111 D.00 75226 I.00 75420 .BUFR 74277 D.01 74664 I.01 75004 D.02 74353 I.02 74470 .IOC. 74126 DMAC1 74347 DMAC2 74350 IOERR 74326 XEQT 74346 XSQT 74345 HALT 74070 .LDR. 73254 .MEM. 74075 LST 71632 *SYSTEM LINK 00200 00267 *BCS ABSOLUTE OUTPUT HALT instruction 102000, P: 02746 (LDA 3110) sim> attach ptp bcs31k.abs PTP: creating new file sim> c HALT instruction 102077, P: 02763 (LIA 1) sim> detach ptp sim> run 77000 HP-IPL/OS MY DEMO ? --------------------------------------------------------------------- Procedure for reconfiguring sio16k11.abs ---------------------------------------- The HP-IPL/OS demo build with the addition of a SIOPATCH utility word was used to reconfigure the slot addresses of the sio16k11.abs file and create a new sio.abs file to use for running the standard assembler and compilers. This was used with the algol.abs compiler to compile a "hello world" example into a "relative" file, then the configured 31K BCS system was used to create a stand-alone ABS file. This also makes use of the CLRHALT word detailed in the BCS creation procedure. This could be done without HP-IPL/OS by using simh hp2100 to alter the locations indicated in the SIOPATCH utility to change the TTY PTR and PTP device codes but it is much easier to use the utility. --------------------------------------------------------------------- HP 2100 simulator V3.7-0 HP-IPL/OS MY DEMO ? Simulation stopped, P: 02216 (SFS 11) sim> ! cat sioutil.ipl OCTAL DEFINE SIOPATCH "Attach sio to PTR, new sio to PTP" $PRINT CRLF "Press enter when ready..." $PRINT $IN $DROP ZAM ABSLOAD CRLF 37135 150 #1 A>CCOPY 150 GET 35104 SUB IFNZ "Not an sio binary" $PRINT ELSE "TTY? " $PRINT $IN $VAL 151 SWAP PUT "PTR? " $PRINT $IN $VAL 152 SWAP PUT "PTP? " $PRINT $IN $VAL 153 SWAP PUT "Patching..." $PRINT 37440 37441 37442 37444 37553 37626 37633 37637 37640 37641 #1 12 +DO DUP 150 #1 A>CCOPY 150 GET 177700 AND 151 GET OR 150 SWAP PUT 150 SWAP #1 C>ACOPY +LOOP 37255 37256 37260 37365 #1 4 +DO DUP 150 #1 A>CCOPY 150 GET 177700 AND 152 GET OR 150 SWAP PUT 150 SWAP #1 C>ACOPY +LOOP 37177 37215 37220 37221 37222 #1 5 +DO DUP 150 #1 A>CCOPY 150 GET 177700 AND 153 GET OR 150 SWAP PUT 150 SWAP #1 C>ACOPY +LOOP CRLF "Writing new sio binary..." $PRINT PTZERO 4 5 AAOUT 101 106 AAOUT 37134 37677 AAOUT PTZERO CRLF "Done" $PRINT ENDIF END CONSOLE sim> attach ptr sioutil.ipl sim> run 2 HP-IPL/OS MY DEMO ? LOAD ? Simulation stopped, P: 02216 (SFS 11) sim> attach ptr bin/sio16k11.abs sim> attach ptp sio.abs PTP: creating new file sim> run 2 HP-IPL/OS MY DEMO ? SIOPATCH Attach sio to PTR, new sio to PTP Press enter when ready... LOADING.. TTY? 11 PTR? 12 PTP? 13 Patching... Writing new sio binary... Done ? Simulation stopped, P: 02216 (SFS 11) sim> detach ptp sim> ! cat hello.alg HPAL,B,"PROG" BEGIN WRITE(2,#("Hello World")); END$ sim> run 2 HP-IPL/OS MY DEMO ? CLRHALT RUN 77000 TO RETURN HALT instruction 102000, P: 00003 (NOP) sim> load sio.abs sim> load bin/algol.abs sim> attach ptr hello.alg sim> attach ptp hello.rel PTP: creating new file sim> run 100 PAGE 001 001 02000 HPAL,B,"PROG" PROGRAM= 000023 BASE PAGE= 000002 ERRORS=000 HALT instruction 102077, P: 00100 (JMP 424,I) sim> detach ptp sim> run 77000 HP-IPL/OS MY DEMO ? CLRHALT RUN 77000 TO RETURN HALT instruction 102000, P: 00003 (NOP) sim> load bcs31k.abs sim> attach ptr hello.rel sim> attach ptp hello.abs PTP: creating new file sim> d s 140000 sim> run 2 *LOAD HALT instruction 102001, P: 73730 (CLB) sim> attach ptr bin/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 .DIO. 04017 .DTA. 04127 .STOP 04764 .BIO. 04076 .IAR. 03753 .IOI. 03677 .IOR. 03647 .RAR. 03727 OLDIO 02231 .DLD 04655 .DST 04670 .FLUN 05001 .MPY 04536 .PACK 04441 ENDIO 05012 FLOAT 04434 IFIX 04732 ADRES 00576 GETAD 04716 *LINKS 01736 01777 *END Simulation stopped, P: 71465 (ADA 71114) sim> detach ptp sim> attach ptr hello.abs sim> run 77000 HP-IPL/OS MY DEMO ? RUNABS LOADING............. Hello World STOP HALT instruction 102077, P: 74074 (JMP 74073) sim> run 77000 HP-IPL/OS MY DEMO ? --------------------------------------------------------------------- 7/14/07 - original text 1/13/08 - corrected link to HP-IPL/OS 1/25/08 - removed link to binaries, added temporary note 5/13/10 - restored link to binaries