File CD.PA (PAL assembler source file)

Directory of image this file is from
This file as a plain text file

	/ COMMAND DECODER FOR PS/8 MONITOR
	DCB=7760
	BEGLN=1200
	SHNDLR=7607
	USERFG=40	/LOCATION IN MAIN BLEEP ASSEMBLY - VOLATILE
	T1=41	/DITTO
	MCDREC=51	/ALSO PRETTY VOLATILE
	MOFILE=7600
	MIFILE=7617
	MPARAM=7643
	FIELD 0	/JUSTINCASE

*200 CD, JMP I NUMBER /EXECUTED IN SYSGEN NUM, JMP I T ANALYZ, TAD [BEGLN-1 DCA XR TAD I XR SNA JMP NOBKAR TAD [-"_ SZA CLA JMP .-5 CLA CMA NOBKAR, DCA OUTSW TAD [BEGLN-1 DCA LXR BEGGRP, TAD OUTSW SNA CLA TAD BEGDIF /DIFF BETWEEN INPUT & OUTPUT AREAS TAD [MOFILE-1 DCA CLXR DCA DVFLAG DCA DEV1 FILLP1, DCA DEV2 FILLP, JMS I [GNAME TAD ["A-": /AC CONTAINED DELIM - "A SNA CLA JMP DEVNAM JMS I [ASSIGN TAD OUTSW SNA CLA TAD LIMDIF /DIFF BETWWEN END OF OUTPUT & INPUT AREAS TAD OUTLIM /END OF OUTPUT AREA TAD CLXR SMA CLA JMP CDER1 TAD OUTSW SNA CLA LKUPSW, JMP INFILE /ZEROED IF IN "SPECIAL DECODE" MODE CDF 10 TAD DVICE DCA I CLXR TAD NAME1 DCA I CLXR TAD NAME2 DCA I CLXR TAD NAME3 DCA I CLXR TAD NAME4 CDSKP, SKP INFILE, JMS I [LOOKUP DCA I CLXR DLOOK, CDF 0 DCA DVFLAG TAD DELIM SNA JMP CDOVER TAD [-"[ SNA JMP I [OLENGT TAD ["[-", SNA JMP FILLP TAD [",-"_ SNA JMP BKAROW TAD ["_-"= SZA CLA JMP I [CDER2 EQUAL, DCA NUMFUJ JMS NUMBER DCA I [MPARAM+3 HORDSW, TAD HIORD /ZEROED IF IN "SPECIAL DECODE" MODE TAD I [MPARAM-1 DCA I [MPARAM-1 JMP DLOOK BKAROW, ISZ OUTSW JMP I [CDER2 JMP BEGGRP DEVNAM, TAD NAME1 DCA DEV1 ISZ DVFLAG TAD NAME2 JMP FILLP1 CDOVER, TSF JMP .-1 /LET PRINTER QUIET DOWN TCF /AND CLEAR FLAG CDF CIF 10 TAD TMONIT DCA I [200 /RESTORE "MONITO" TAD TUSRFG DCA I [USERFG /RESTORE "USER FLAG" TAD TFPUTX /LOAD "USER CALLING FIELD" INTO AC JMP I CD /RETURN - MONITOR RESTORES CORE IF NECESSARY NUMBER, 4000 /USED BY SYSGEN TAD CDSKP DCA NUMADD /SET NUMADD TO EITHER "SKP" OR "TAD NUM" DCA HIORD NUMLP, DCA NUM JMS NUMTST /INTO PAGE 0 FOR RANGE TEST SNL JMP EONUM DCA T CLA CLL CMA RTL DCA DELIM TAD NUM ROTLP, CLL RAL DCA NUMX TAD HIORD RAL SPA JMP I [CDER2 DCA HIORD TAD NUMX ISZ DELIM JMP ROTLP NUMADD, TAD NUM TAD NUM TAD T JMP NUMLP EONUM, TAD ["0 DCA DELIM TAD NUM CDF 10 JMP I NUMBER CDER1, JMS I [PRMESG TEXT /TOO MANY FILES/
IFZERO .&400 <*400> ASSIGN, 0 TAD DVFLAG SNA CLA TAD CLXR TAD OUTLIM SMA SZA CLA /CHECK FOR OUTPUT OR FIRST INPUT JMP ASNORM /IF DEVICE WAS SPECIFIC, OR IF WE ARE ON THE INPUT SIDE, /PROCEED NORMALLY TAD NAME1 SNA CLA JMP ASGNST TAD DFLTNM+1 DCA DEV2 TAD DFLTNM DCA DEV1 ASNORM, TAD DEV1 DCA AS+1 TAD DEV2 DCA AS+2 TAD OUTSW SNA CLA /DON'T LOAD HANDLER IF WE ARE ON OUTPUT SIDE OF "_" TAD NAME1 SNA CLA /OR IF THERE IS NO FILE NAME TO LOOK UP TAD GETHND /GETHND=11 NORMALLY, 0 IF IN "SPECIAL DECODE" MODE IAC DCA AS TAD [1401 /ALLOW TWO PAGE HANDLERS DCA ASADR CIF 10 JMS I [200 AS, 0 0 0 ASADR, 1401 JMP I [CDER0 TAD AS+2 ASGNST, DCA DVICE JMP I ASSIGN GNAME, 0 DCA NAME1 DCA NAME2 DCA NAME3 DCA NAME4 TAD [NAME1 DCA NMBASE CLA CMA DCA PERDSW DCA NAMECT GTNMLP, JMS I [GCH DCA DELIM TAD DELIM TAD [-"* SNA STARSW, JMP I [CDER2 /"JMP STARNM" IF "SPECIAL DECODE" MODE TAD ["*-". SNA CLA JMP PERIOD JMS I [DECODE JMP I GNAME SZL TAD [57 IAC DCA DELIM STARNM, TAD NAMECT TAD [-6 SMA CLA JMP GTNMLP TAD NAMECT CLL RAR TAD NMBASE DCA TT TAD DELIM SZL JMP .+4 RTL RTL RTL TAD I TT DCA I TT ISZ NAMECT JMP GTNMLP PERIOD, TAD NAME1 SZA CLA ISZ PERDSW JMP I [CDER2 ISZ NMBASE TAD [4 JMP GTNMLP-1 LOOKUP, 0 DCA LNAME TAD NAME1 SNA CLA JMP LKUPST JMP EXT1 LKUPLP, DCA LNAME TAD AS+2 CIF 10 JMS I [200 2 LNAME, 0 /NAME1 LENGTH, 0 JMP LFAILD TAD LENGTH TAD [400 SPA CLA CLL RTL RTL AND [7760 LKUPST, CDF 10 TAD DVICE DCA I CLXR TAD LNAME JMP I LOOKUP LFAILD, TAD NAMECT SNA CLA /WAS THERE AN EXPLICIT EXTENSION? TAD DEFALT /NO - WAS THERE A DEFAULT EXTENSION? SNA CLA JMP CDER3 /YES OR NO - FILE NOT FOUND ISZ NAMECT /NO AND YES - SET FLAG TO FAIL NEXT TIME JMP EXT2 /ZERO OUT THE EXTENSION AND TRY AGAIN CDER3, JMS I [PRNAME JMS I [PRMESG TEXT / NOT FOUND/
IFZERO .+200&1000 <*600> SLSHCH, 0 SNA JMP I [CDER2 DCA DELIM TAD [MPARAM-1 DCA T JMS I [DECODE JMP I [CDER2 SZL TAD [32 TAD [-14 ISZ T SMA JMP .-3 DCA TT CLL CML RAL ISZ TT JMP .-2 DCA TT CDF 10 TAD TT CMA AND I T TAD TT DCA I T CDF 0 JMP I SLSHCH DECODE, 0 TAD DELIM TAD [-"9-1 CLL TAD ["9+1-"0 SZL JMP DCDYES TAD ["0-"Z-1 CLL CML TAD ["Z-"A+1 SNL DCDYES, ISZ DECODE JMP I DECODE CDER0, TAD DEV1 JMS I [PRWD TAD DEV2 JMS I [PRWD JMS I [PRMESG TEXT / DOES NOT EXIST/ 0 CDER2, CLA JMS I [PRMESG TEXT /ILLEGAL SYNTAX/ RESTRT, JMS I [CRLF CDF 10 TAD [MOFILE-1 DCA XR TAD [-47 DCA T DCA I XR /ZERO OUT THE COMMAND DECODER OUTPUT AREA ISZ T JMP .-2 CDF 0 JMP I [GLINE GCH, 0 TAD I LXR TAD [-240 SNA JMP GCH+1 TAD [240-"/ SNA JMP SLASH TAD ["/-"( SNA JMP OPENP TAD ["( JMP I GCH SLASH, TAD I LXR JMS I [SLSHCH JMP GCH+1 OPENP, TAD I LXR TAD [-") SNA JMP GCH+1 TAD [") JMS I [SLSHCH JMP OPENP OLENGT, TAD OUTSW SZA CLA /[N] IS ONLY LEGAL ON THE OUTPUT SIDE OF THE "_" TAD NAME1 SNA CLA /AND ONLY AFTER A FILE NAME JMP I [CDER2 TAD [-4 TAD CLXR DCA NMBASE CLA CLL CML RTL DCA NUMFUJ /SET "NUMBER" TO ACCEPT DIGITS 8 AND 9 TAD OLFUDJ /LOAD FUDGE SO THAT "NUMBER" WILL BE DECIMAL JMS I [NUMBER CLL RTL RTL AND [7760 TAD I NMBASE DCA I NMBASE CDF 0 TAD DELIM TAD [-"] /IS THERE A CLOSING BRACKET? SNA /IF NOT, "DLOOK" ROUTINE WILL DETECT IT JMS I [GCH DCA DELIM JMP I [DLOOK OLFUDJ, NUM&177+1570 /(TAD NUM) - SKP
IFZERO .&1000 <*1000> /TELETYPE INPUT ROUTINE FOR COMMAND DECODER GLINE, TAD [252 JMS I [PRINT DCA RBFLAG TAD [BEGLN-1 DCA LXR CHLOOP, 6031 JMP CHLOOP TAD [200 6034 DCA NAME1 6032 TAD [SPADR-1 DCA XR TAD I XR SNA JMP .+6 TAD NAME1 SNA CLA JMP I XR ISZ XR JMP .-7 JMS PRNT CINSRT, TAD NAME1 DCA I LXR TAD LXR TAD [-EOBUFR SPA CLA JMP CHLOOP JMS CRLF JMP I [CDER2 CARRET, JMS CRLF CLFINI, DCA I LXR DCA I LXR JMP I [ANALYZ SPADR, -225;JMP CTRLU -215;JMP CARRET -377;JMP RUBOUT -375;JMP ALTMOD -376;JMP ALTMOD -233;JMP ALTMOD -200;JMP CHLOOP -217;JMP CHLOOP /^O -"<;JMP LESSTN -212;JMP LFEED -203;JMP CTRLC /MUST BE LAST - SEE CLRLIN CODE 0 LESSTN, JMS PRNT TAD [337 JMP CINSRT+1 CTRLC, CTRLU, TAD [336 JMS I [PRINT TAD NAME1 TAD [100 CLRLIN, JMS I [PRINT JMS CRLF TAD I XR SZA CLA JMP GLINE+2 CDF 10 CLA CMA DCA I [7700 TSF JMP .-1 JMP I [7605 /7605=CDF CIF 10 CRLF, 0 TAD [215 DCA NAME1 JMS PRNT TAD [212 JMS I [PRINT JMP I CRLF ALTMOD, TAD [244 DCA NAME1 CLA CLL CML RAR CDF 10 DCA I [MPARAM-1 CDF 0 JMS PRNT JMP CLFINI RUBOUT, TAD LXR TAD [1-BEGLN SNA CLA JMP RBSPCL TAD [334 ISZ RBFLAG JMS I [PRINT CLA CMA DCA RBFLAG TAD LXR DCA T TAD I T JMS I [PRINT LBCKUP, CLA CMA TAD LXR JMP CHLOOP-1 RBSPCL, ISZ RBFLAG JMP CLRLIN+1 TAD [334 JMP CLRLIN PRNT, 0 ISZ RBFLAG JMP .+3 TAD [334 JMS I [PRINT DCA RBFLAG TAD NAME1 JMS I [PRINT JMP I PRNT LFEED, JMS CRLF DCA I LXR TAD [BEGLN-1 DCA XR TAD I XR SNA JMP LBCKUP JMS I [PRINT JMP .-4
*1200 /INITIALIZATION - STORED OVER BY LINE BUFFER CDINIT, DCA TFPUTX CDF 10 CLA IAC TAD I [200 DCA TMONIT /SAVE AWAY MONITOR CALL ADDRESS SINCE WE CALL TAD I [USERFG /THE MONITOR RECURSIVELY, LIKEWISE SAVE DCA TUSRFG /THE "USER FLAG" AND THE FIELD WE WERE CALLED FROM TAD I [T1 /FETCH THE USERS ARGUMENT DCA DEFALT /STORE IN THE DEFAULT EXTENSION WORD DCA I [7 /ZERO "DIRECTORY SEGMENT IN CORE" KEY CDF 0 CIF 10 JMS I [200 13 /RESET ALL HANDLERS 0 /BUT NOT OUTPUT FILES TAD DEFALT TAD M5200 SZA CLA /IS THIS A REQUEST FOR A "SPECIAL DECODE"? JMP I CDRST /NO TAD ALTLIM DCA OUTLIM /YES - SET UP ALL THE PROPER LOCATIONS TAD ALTDF1 DCA LIMDIF /TO YIELD 1 OUTPUT FILE AND 6 INPUT FILES TAD ALTDF2 DCA BEGDIF /ALL OF WHICH ARE 5-WORD <DEVICE,NAME> ENTRIES DCA I PLKUPS DCA I PHORDS /ALSO ZERO ALL NECESSARY SWITCHES TAD STARJM DCA I PSTARS /AND ALLOW * AS A FILE OR EXTENSION NAME DCA DEFALT /NO DEFAULT EXTENSION IN "SPECIAL" MODE DCA GETHND /NO HANDLER FETCHES NECESSARY EITHER SINCE NO LOOKUPS JMP I CDRST CDRST, RESTRT+1 /CONSTANTS NECESSARY TO SUPPORT "SPECIAL DECODE" MODE M5200, -5200 ALTLIM, 1-MOFILE-5 ALTDF1, MOFILE-5-MPARAM+2 ALTDF2, 5 PLKUPS, LKUPSW PHORDS, HORDSW STARJM, STARNM&177+5200 /"JMP STARNM" PSTARS, STARSW *1314 EOBUFR=. PRMESG, 0 TAD I PRMESG SNA JMP I [RESTRT JMS PRWD ISZ PRMESG JMP .-5 PRWD, 0 DCA T TAD T RTR RTR RTR JMS PCHAR TAD T JMS PCHAR JMP I PRWD PCHAR, 0 AND [77 SNA JMP I PCHAR TAD [-40 SPA TAD [100 TAD [240 JMS PRINT JMP I PCHAR PRNAME, 0 TAD NAME1 JMS PRWD TAD NAME2 JMS PRWD TAD NAME3 JMS PRWD TAD NAME4 SNA CLA JMP I PRNAME TAD [256 JMS PCHAR TAD NAME4 JMS PRWD JMP I PRNAME PRINT, 0 JMP .+3 TSF JMP .-1 TLS CLA TAD [7000 DCA PRINT+1 JMP I PRINT
*4001 /PROG TO WRITE CD AND ODT ONTO NEW SYSTEM DEVICE /4000=JMS SYSSWP TO SWAP PGS 6600 AND 7600 JMS I 0 4600 0 MCDREC JMP CERR JMS I 0 5011 0 ODTREC JMP CERR JMS I 0 0110 /READ IN UPPER PG 7600 7600 0 JMP CERR JMP I .+1 7605 /START HER UP CERR, TAD .+3 DCA 4001 JMP 4000 /RESWAP AND HALT HLT *0 SHNDLR /FOR OBSCURE DEBUGGING PURPOSES NUMTST, 0 JMS I [GCH CMA TAD NUMFUJ TAD ["8 /TEST INPUT CHARACTER FOR RANGE CLL CMA /0-7 IF NUMFUJ=0 TAD [10 /0-9 IF NUMFUJ=2 TAD NUMFUJ JMP I NUMTST *15 LXR, 0 XR, 0 CLXR, 0 T, CDINIT TT, 0 HIORD, 0 NUMX, 0 RBFLAG, 0 NAME1, 0 NAME2, 0 NAME3, 0 NAME4, 0 NAMECT, 0 NMBASE, 0 DEV1, 0 DEV2, 0 PERDSW, 0 NUMFUJ, 0 DVFLAG, 0 DELIM, 0 OUTSW, 0 DEFALT, 0 DVICE, 0 DFLTNM, 0423;1300 /DSK BEGDIF, MIFILE-MOFILE LIMDIF, MIFILE-MPARAM+2 OUTLIM, 1-MIFILE GETHND, 11 TMONIT, 0 TUSRFG, 0 TFPUTX, 0 EXT1, TAD NAME4 DCA NAMECT /REMEMBER TYPED EXTENSION TAD NAMECT SNA TAD DEFALT /SUBSTITUTE DEFAULT IF ZERO EXT2, DCA NAME4 TAD [NAME1 JMP I .+1 LKUPLP
FIELD 1 /INVISIBLE ODT FOR PS/8 MONITOR /LOADS INTO FIELD 1 NOW, BUT LOADS & EXECUTES IN FIELD 0 /DEFINITIONS OF MONITOR SYMBOLS - VOLATILE! ODTREC=60 UDNAME=7741 MREAD=7757 MGET=7667 KMREC=7 MTEMP=27 MARG1=7740 JSBITS=7746 *200 READ, JMS I [OCRLF READ5, DCA WORD DCA WORD+1 TAD [-6 DCA TOTE REA, KSF JMP .-1 JMS I [CTCTST JMP CTRC KRB DCA TEMP TAD TEMP JMS I [TYPN TAD [TABL1-1 DCA 10 CHFLP, TAD I 10 SPA JMP SEX CIA TAD TEMP SZA CLA JMP CHFLP TAD 10 TAD [TABL2-TABL1 DCA TEMP TAD I TEMP DCA TEMP CLL JMP I TEMP CTRC, JMS I [DUMP JMP I [7605 TABL1=. 240 212 215 257 302 307 273 303 327 336 315 301 314 304 337 306 377 253 255 -270 /USED - SEE "SEX" EXAM, TAD TOTE TAD [6 SNA CLA JMP EX2 TAD WORD DCA CAD TAD WORD+1 DCA CAD+1 EX2, JMS I [LOAD CAD JMS I [PNUM DCA SHUT JMP READ5 SEX, TAD TEMP CLL TAD [10 SNL JMP NO DCA TEMP CLA CLL CMA RTL DCA CRL SROT, TAD WORD+1 CLL RAL DCA WORD+1 RTL RAL TAD WORD RAL DCA WORD ISZ CRL JMP SROT TAD WORD+1 TAD TEMP DCA WORD+1 ISZ TOTE JMP REA NO, CLA TAD [277 JMS I [TYPN JMP READ CRL, 0 TAD TOTE TAD [6 SNA CLA JMP I CRL TAD WORD+1 ISZ SHUT JMS I [STORE CAD CLA JMP I CRL CRL1, JMS CRL JMP READ CRL2, TAD [215 JMS I [TYPN JMS CRL JMS I [TYPN ISZ CAD+1 NOP UPAR3, JMS I [TYPD CAD TAD [257 JMS I [TYPN JMP EX2 OPIN, JMS CRL JMS I [LOAD CAD DCA CAD+1 TAD INDFLD DCA CAD UPAR2, JMS I [OCRLF JMP UPAR3 SEMI, JMS CRL ISZ CAD+1 NOP JMP READ5
*400 BURP, CDF 10 /THE TRAP IS SPRUNG! TAD I [MARG1 DCA SAC TAD I [MTRAD DCA TRAD TAD I [MTRAD1 DCA TRAD+1 TAD I [MKEEP DCA KEEP TAD I [MPUNN DCA PUNN CLA IAC AND I [7700 DCA LINK TAD I [7700 BURP1, CDF 0 AND [70 DCA DATFLD TAD DATFLD DCA INDFLD TAD [KMREC CDF 10 DCA I [MGET+4 CLA CLL CMA RAL AND I [MGET+2 DCA I [MGET+2 /REMOVE LOW-ORDER BIT FROM CONTROL WORD CDF 0 TAD KEEP JMS I [STORE TRAD TAD TRAD+1 IAC DCA GAME+1 TAD TRAD DCA GAME TAD KEEP DCA INST JMS I [IOTTST SKP JMP JMPLIP TAD TRAD DCA CAD TAD TRAD+1 DCA CAD+1 JMS I [EFFADR TAD CAD DCA FROG TAD CAD+1 DCA FROG+1 JMPLIP, JMS I [CTCTST JMP I [7605 JMP I [LIP CTCTST, 0 KRS TAD [-203 SNA CLA KSF ISZ CTCTST JMP I CTCTST OCRLF, 0 TAD [215 JMS I [TYPN TAD [212 JMS I [TYPN CLA CMA DCA SHUT JMP I OCRLF TRAP, TAD TOTE TAD [6 SNA CLA TAD [SHNDLR TAD WORD+1 DCA TRAD+1 TAD WORD DCA TRAD TAD [7000 DCA I [SHNDLR JMS I [LOAD TRAD DCA KEEP TAD [4 DCA WORD+1 TAD [UDNAME-MPUNN-1 DCA TEMP TAD [BRKCOD-1 DCA 10 TAD [UDNAME-1 DCA 11 TAD I 10 CDF 10 DCA I 11 CDF 0 ISZ TEMP JMP .-5 TAD I [JSBITS RTR SZL CLA TAD [5 CDF 10 TAD I [J7600 DCA I [J7600 /CHANGE JMP 7600 TO JMP 7605 IF ODT AREA NOT USED CDF 0 TAD I [JSBITS DCA JSTEMP /SAVE JSBITS BEFORE SETTING BRKPT TAD [CIF 10 JMS I [STORE WORD ISZ WORD+1 TAD [JMP I 6 JMS I [STORE WORD ISZ WORD+1 TAD [UDNAME JMS I [STORE WORD TAD JSTEMP DCA I [JSBITS /RESTORE JSBITS JMP I [READ SUBT, CML ADD, TAD WORD+1 /MODIFY CURRENT LOCATION POINTER SNA IAC /1 IS DEFAULT VALUE SZL /+ OR -? CIA /- TAD CAD+1 DCA CAD+1 JMS I [OCRLF /GO TO NEXT LINE JMP I [UPAR3 /AND DISPLAY LOC AND CONTENTS
*600 /THIS IS WHERE THE KEYBOARD MONITOR ENTERS ODT HLT /ERROR WHILE READING ODT JMP I .+1 INIT /INITIALIZE "MREAD" AREA TO ODT RESTART CODE LIP, ISZ PUNN JMP XCONT TTYTST, TSF JMP TTYOFF LIPTYP, JMS I [TYPD TRAD TAD P250 JMS I [TYPN TAD LINK TAD [260 JMS I [TYPN TAD [273 JMS I [TYPN TAD SAC JMS I [PNUM JMP I [READ JUMP, TAD WORD DCA GAME TAD WORD+1 DCA GAME+1 TAD WORD DCA DATFLD TAD [7000 DCA INST DCA SAC DCA LINK JMP CONTX CONTIN, JMS I [LOAD TRAD DCA KEEP TAD WORD+1 CIA SNA CONTX, CMA DCA PUNN JMS I [OCRLF XCONT, TAD [JMP 4 JMS I [STORE TRAD CDF 10 TAD TRAD DCA I [MTRAD TAD TRAD+1 DCA I [MTRAD1 TAD KEEP DCA I [MKEEP TAD PUNN DCA I [MPUNN CDF 0 JMS I [SIM /SIMULATE THE BRKPOINTED INST HERE TAD LINK DCA I [MLINK TAD SAC DCA I [MAC TAD GAME TAD [CIF 0 DCA I [MSTCDF TAD DATFLD AND [70 TAD [CDF 0 DCA I [MCDF TAD GAME+1 DCA I [MSTADR JMS I [DUMP TAD I [JSBITS RTR SZL CLA JMP I [MSWITC JMP I [MREAD UPAR1, JMS I [CRL JMS I [EFFADR JMP I [UPAR2 EFFADR, 0 JMS I [LOAD CAD AND [177 DCA TEMP JMS I [LOAD CAD AND [200 P250, SNA CLA JMP .+3 TAD CAD+1 AND [7600 TAD TEMP DCA TEMP JMS I [LOAD CAD AND [400 SNA CLA JMP NOIND TAD TEMP DCA CAD+1 JMS I [LOAD CAD DCA TEMP TAD CAD+1 AND P7770 TAD P7770 SZA CLA JMP NOAUTO ISZ TEMP P7770, 7770 /SPA SNA SZL CLA - NEVER SKIPS - USED TO PROTECT ISZ TAD TEMP JMS I [STORE CAD NOAUTO, TAD INDFLD AND [70 DCA CAD NOIND, TAD TEMP DCA CAD+1 JMP I EFFADR TTYOFF, AND I 0 /WASTE SOME TIME JMS I [IOTTST AND I 0 ISZ NOUGHT JMP TTYTST JMP LIPTYP /IF THE TTY FLAG ISN'T UP NOW, IT'LL NEVER GO UP NOUGHT, 0 TABL2=. REA /IGNORE BLANKS CRL2 CRL1 EXAM TRAP JUMP SEMI CONTIN WSER UPAR1 MASKX ACX LINKX DATF OPIN INDF RBOUT ADD SUBT
IFZERO 1000&. <*1000> PNUM, 0 DCA PUNN TAD [-4 DCA TEMP PN2, TAD PUNN RTL RAL DCA PUNN TAD PUNN RAL AND [7 TAD [260 JMS I [TYPN ISZ TEMP JMP PN2 TAD [240 JMS I [TYPN JMP I PNUM TYPD, 0 TAD I TYPD DCA TEMP TAD I TEMP CLL RTR RAR TAD [260 JMS I [TYPN ISZ TEMP TAD I TEMP JMS I [PNUM ISZ TYPD JMP I TYPD TYPN, 0 TLS TSF JMP .-1 CLA KRS TAD [-217 SNA CLA KSF JMP I TYPN KCC JMP I [READ WSER, JMS I [OCRLF TAD LIMLO DCA CKT+1 TAD INDFLD AND [70 DCA CKT WSER1, JMS I [LOAD CKT AND MASK CIA TAD WORD+1 SZA CLA JMP WSER2 JMS I [TYPD CKT TAD [257 JMS I [TYPN JMS I [LOAD CKT JMS I [PNUM JMS I [OCRLF WSER2, TAD CKT+1 ISZ CKT+1 NOP CIA TAD LIMHI SZA CLA JMP WSER1 JMP I [READ ACX, TAD [SAC-LINK LINKX, TAD [LINK-MASK MASKX, TAD [MASK-DATFLD DATF, TAD [DATFLD-INDFLD INDF, TAD [INDFLD DCA WORD+1 CLA CMA DCA WORD DCA TOTE TAD [257 JMS I [TYPN JMP I [EXAM BRKCOD=. NOPUNC *UDNAME ENPUNC DCA MARG1 RAL RDF DCA 7700 TAD PODT DCA MGET+4 ISZ MGET+2 /DON'T REVERSE TAPE MOTION TO PICK UP ODT CDF CIF 0 J7600, JMP 7600 PODT, ODTREC P7603, 7603 MTRAD, 0 MTRAD1, 0 MKEEP, 0 MPUNN, 0 NOPUNC *BRKCOD+MPUNN-UDNAME+1 ENPUNC DUMP, 0 TAD STOFLG SNA CLA JMP I DUMP JMS I [SHNDLR 4200 1400 GREC, 0 HLT DCA STOFLG JMP I DUMP RBOUT, TAD [277 JMS I [TYPN TAD [240 JMS I [TYPN JMP I [READ5
*1200 SIM, 0 JMS IOTTST JMS I [LOAD FROG DCA TEMP TAD TEMP DCA 0 JMS IOTTST TAD [777 CMA AND INST RAL CML SNL SMA JMP JMSJMP CML RAR DCA SOPR TAD DATFLD AND [70 TAD [CDF 0 DCA .+1 HLT TAD LINK CLL RAR TAD SAC SOPR, HLT SKP ISZ GAME+1 DCA SAC RAL DCA LINK RDF DCA DATFLD CDF CIF 0 EOSIM, TAD 0 CIA TAD TEMP SNA CLA JMP .+3 TAD 0 JMS I [STORE FROG JMP I SIM IOTTST, 0 CLA CLL CML RTR TAD INST SZL CLA ISZ IOTTST JMP I IOTTST JMSJMP, RAL SPA CLA JMP JMPX TAD TRAD DCA FROG TAD GAME+1 DCA 0 CLA IAC JMPX, TAD FROG+1 DCA GAME+1 JMP EOSIM LOAD, 0 TAD I LOAD JMS I [GETADR NOP TAD I ADR CDF 0 ISZ LOAD JMP I LOAD STORE, 0 DCA LOAD TAD I STORE JMS I [GETADR ISZ STOFLG /INDICATE THAT WE'RE CHANGING THIS RECORD TAD LOAD DCA I ADR CDF 0 ISZ STORE JMP I STORE GETADR, 0 DCA ADR TAD I ADR DCA FADR ISZ ADR TAD I ADR DCA ADR TAD FADR SNA JMP CKADR SPA CLA TAD [CDF 0 DCA .+1 FADR, 0 ISZ GETADR JMP I GETADR CKADR, TAD ADR RAL SZL SPA CLA JMP FADR+1 CLA CLL CMA RTL AND I [JSBITS DCA I [JSBITS /MODIFY THE JSW TO INDICATE ODT AREA VIOLATION TAD ADR CLL RTL RTL RAL AND [7 TAD [MTEMP+4 DCA GIREC TAD I [GREC CIA TAD GIREC SNA CLA JMP NOREAD JMS I [DUMP JMS I [SHNDLR 0200 G1400, 1400 GIREC, 0 HLT TAD GIREC DCA I [GREC NOREAD, TAD ADR AND [377 TAD G1400 DCA ADR JMP I GETADR
*1400 /INITIALIZATION CODE TO SET UP THE "MREAD" AREA IN FIELD 0 /WITH THE ODT CODE TO START UP A PROGRAM INIT, TAD [MREAD-MSTADR-2 DCA TEMP TAD [RSTCOD-1 DCA 10 TAD [MREAD-2 DCA 11 TAD I 10 DCA I 11 ISZ TEMP JMP .-3 TSF JMP .-1 JMP I [READ RSTCOD=. NOPUNC *MREAD-1 ENPUNC SHNDLR JMS I .-1 1000 0 MTEMP+4 HLT MSWITC, TAD MLINK CLL RAR TAD MAC MCDF, CDF 0 JMP MSTCDF MAC, 0 MLINK, 0 MSTCDF, CIF 0 JMP I .+1 MSTADR, 0 NOPUNC *RSTCOD+MSTADR-MREAD+2 ENPUNC
*4 /PAGE 0 LITERALS AND CELLS CIF 10 /PROTOTYPE BREAKPOINT JMP I 6 /USED BY PROGRAMS WITH JSBITS(10)=1 UDNAME /WHEN ODT IS RELOADED ON A BREAKPOINT *12 TOTE, 0 KEEP, 0 INST, 0 STOFLG, 0 PUNN, 0 SHUT, -1 TRAD, 0;SHNDLR WORD, 0;0 LINK, 0 SAC, 0 CAD, 0;0 CKT, 0;0 GAME, 0;0 FROG, 0;0 TEMP, 0 JSTEMP, 0 DATFLD, 0 INDFLD, 0 MASK, 7777 LIMLO, 0 LIMHI, 7577 ADR, 0 $



Feel free to contact me, David Gesswein djg@pdp8online.com with any questions, comments on the web site, or if you have related equipment, documentation, software etc. you are willing to part with.  I am interested in anything PDP-8 related, computers, peripherals used with them, DEC or third party, or documentation. 

PDP-8 Home Page   PDP-8 Site Map   PDP-8 Site Search