/RK05 UTILITY PROGRAM *200 INTRO, CLA CLL TAD (TXONE DCA POINTR JMS RPT JMP START RPT, 0000 CLA TAD I POINTR JMS ENTX CLA CLL TAD I POINTR RTL;RTL;RTL JMS ENTX NEXT, ISZ POINTR JMP RPT+1 ENTX, 0 AND (7700 CRTEST, SNA /IS THIS A '00' (CR-LF CUE) ? JMP CRLF /YES -- GO DO IT CLL /NO -- CONVERT FROM SIXBIT TO ASCII SMA /DON'T SET THE 100'S BIT CML RTR;RTR;RTR /POSITION IT, AND TAD (0200 DCA STO /PUT IT AWAY EOTTST, TAD STO TAD (-"# /END OF TEXT YET ? SNA CLA JMP I RPT PRTCHR, TAD STO /GOOD CHARACTER -- GO PRINT JMS PRINT JMP I ENTX CRLF, CLA TAD (215 JMS PRINT CLA TAD (212 JMS PRINT JMP NEXT PRINT, 0 6046 6041 JMP .-1 JMP I PRINT STO, 0 /TEMPORARY STORAGE OF CHARACTER TO OUTPUT POINTR, 0 /POINTER TO THE TEXT *400 START, 7300 6007 NOP TAD (TXCMD DCA POINTR JMS RPT CLA CLL 6031 JMP .-1 6036 /GET SNGL LTR CMD FROM KBD AND (0177 TAD (0200 DCA IN TAD IN JMS PRINT 7300 TAD IN TAD (-"U SNA CLA JMP UP TAD IN TAD (-"L SNA CLA JMP LOW TAD IN TAD (-"S SNA CLA JMP SEEK TAD IN TAD (-"O SNA CLA JMP OSC TAD IN TAD (-"R SNA CLA JMP INTRO TAD IN TAD (-"D SNA CLA JMP DRIVE TAD IN TAD (-203 SNA CLA JMP I OS8 JMP START OS8, 7600 JMP START /REPEAT IF NO COMPARE IN, 0 /TEMP STOARGE FOR KEYBOARD INPUT *600 ONE, CLA TAD (5240 DCA TRACK JMS SEEKAL JMP START+3 TWO, CLA TAD (6440 DCA TRACK JMS SEEKAL JMP START+3 THREE, CLA TAD (7640 DCA TRACK JMS SEEKAL JMP START+3 UP, CLA TAD (20 DCA HD JMS SEEKAL JMP START+3 LOW, CLA DCA HD JMS SEEKAL JMP START+3 DRIVE, CLA CLL TAD (TXDRI DCA POINTR JMS RPT 6031 JMP .-1 6036 AND (177) TAD (200) JMS PRINT DCA INDRI TAD (7515 TAD INDRI SMA SZA JMP DRIVE TAD (3 SPA CLA JMP DRIVE CLA CLL TAD INDRI AND (0003 RAL DCA INDRI TAD OPCO AND (7771 TAD INDRI DCA OPCO JMP START+3 SEEKAL, 0000 CLA CLL 6742 /DCLR TAD OPCO 6746 /DLDC TAD TRACK TAD HD 6743 /DLAG 6741 /DSKP JMP .-1 JMP I SEEKAL OPCO, 3200 TRACK, 0000 HD, 0000 INDRI, 0000 *1000 OSC, CLA CLL TAD (TXOSC DCA POINTR JMS RPT NOP RPTOSC, CLA CLL 6742 /DCLR TAD OPCO AND (7776 6746 /DLDC 6743 /DLAG 6741 /DSKP JMP .-1 JMS FLAG TAD OPCO 6746 /DLDC TAD TRACK 6743 /DLAG 6741 /DSKP JMP .-1 JMS FLAG 6031 JMP RPTOSC 6032 JMP START+3 FLAG, 0000 TAD (200 6746 /DLDC 6741 /DSKP JMP .-1 JMP I FLAG *1200 INS, 0000 6031 JMP .-1 6036 AND (177) TAD (200) 6046 6041 JMP .-1 DCA TEMP1 TAD TEMP1 TAD (7506 SZL JMP WRO1 TAD (0012 SNL JMP WRO1 CLA CLL TAD TEMP1 AND (0017 JMP I INS WRO1, CLA CLL TAD (TXWRO1 DCA POINTR JMS RPT JMP SEEK+4 WRO2, CLA CLL TAD (TXWRO2 DCA POINTR JMS RPT JMP SEEK+4 SEEK, CLA CLL TAD (TXSEEK DCA POINTR JMS RPT CLA CLL JMS INS RAL DCA TEMP2 TAD TEMP2 RTL TAD TEMP2 DCA TEMP2 JMS INS TAD TEMP2 RAL DCA TEMP2 TAD TEMP2 RTL TAD TEMP2 DCA TEMP2 JMS INS TAD TEMP2 DCA TEMP2 TAD TEMP2 TAD (7465 SZL JMP WRO2 CLA CLL TAD TEMP2 RTL RTL RAL DCA TRACK TAD OPCO AND (7776 DCA OPCO RAL TAD OPCO DCA OPCO JMS SEEKAL JMP START+3 TEMP1, 0000 TEMP2, 0000 *2000 TXONE, TEXT /@@RK05 UTILITY PROGRAM FOR PDP 8'S/ TEXT /WRITTEN BY JIM GONZALEZ, DEC 79J, SOMERSET,NJ@@/ TEXT /TYPE A SINGLE CHARACTER TO INITIATE A COMMAND/ TEXT /(NO CARRAIGE RETURN IS REQUIRED)@@/ TEXT /"D" FOR DRIVE SELECT/ TEXT /"O" FOR OSCILLATE/ TEXT /"R" FOR PROGRAM RESTART/ TEXT /"S" FOR SEEK/ TEXT /"U" FOR UPPER HEAD SELECT/ TEXT /"L" FOR LOWER HEAD SELECT/ TEXT /"^C" FOR RETURN TO OS8 MONITOR/ TEXT /(BE SURE SYS PACK IS IN PLACE)/ TEXT / @/ TEXT /#/ /EOT MARKER TXCMD, TEXT /@@@ COMMAND? #/ TXOSC, TEXT /@@@ OSCILLATING SEEK ROUTINE:/ TEXT /THE DRIVE WILL OSCILLATE BETWEEN CYLINDER 0 / TEXT /AND THE LAST CYLINDER SELETED BY THE SEEK ROUTINE./ TEXT /HITTING ANY KEY WILL CAUSE RETURN TO MAIN PROGRAM./ TEXT /##/ TXDRI, TEXT /@@@ DRIVE SELECT ROUTINE:/ TEXT /TYPE "0","1","2", OR "3"/ TEXT /NO CARRAIGE RETURN REQUIRED / TEXT /DRIVE?##/ TXWRO1, TEXT /@ ENTER DIGITS 0-9 ONLY @@#/ TEXT /##/ TXWRO2, TEXT /@ TRACK NUMBER OUT OF RANGE / TEXT /TRACK NUMBER MUST BE 0-202 @@#/ TXSEEK, TEXT /@@@ SEEK ROUTINE:/ TEXT /ENTER THREE DIGIT TRACK NUMBER/ TEXT /NO 'CR' REQUIRED / TEXT /TRACK?##/