.NLIST .SBTTL OPERATING INSTRUCTIONS .NLIST MC,MD,CND .LIST ME,TOC .IF NDF GTPFPP .TITLE GENERAL TEST PROGRAM .IFF .TITLE GENERAL TEST PROGRAM (WITH FLOATING POINT) .ENDC .ENABLE ABS .LIST ;THIS PROGRAM IS A MULTI-DEVICE EXERCISER ;THIS PROGRAM IS NOT INTENDED AS EITHER ;A COMPLETE TEST OF THE PROCESSOR, OR AS A DETAILED ;DIAGNOSTIC FOR ANY DEVICES THAT HAVE BEEN SELECTED ;THIS PROGRAM REQUIRES A MINIMUM OF 8KW OF MEMORY FOR OPERATION ;COPYRIGHT 1970, 1971, 1972, 1973, DIGITAL EQUIPMENALICOG LTOO GI,RTY ;B P)(S,-ALICOG#LV MO T BIT ARLE CTOP UET;S ) SP-(R CL K ACSTE ORSTRE ;P ,SKKACST #OV M 02 2ND;A 02,2N1GIBE #OV M 0 20E ORSTRE ;0 207,13 #OV M ETES RT:XI EV QIFT ON;CH NCRA BS-YE ; P1ND EEQ B T?EPCC ATOAUS HI TIS ; LGVF QTBTS T EPCC ATOAUR OFYRIVEK ICQUT NOF ICHANBR ; P1ND EEQ B 42C LOF OTSENNTCOT GE ; R12,#4 @OV M R0SSR CL F OFT IRNTU ; +6 .EQ B LEABILVA AISN IOATNTMEEG SIF ;1 G+FION,C10 #TBBI ) IT BCERA TPTCEEX (PSR EACL ; PSR CL S TUTA SORSSCERO PT ENRRCUE AV;S P EM,TPSV MO: ASDPEN 11KTF OSE UOR FCKHE;C E NGHA CDEMOR SOESOCPRR FOK ECCH ; ONTILASO IOR FCKHE;C E ASLEREH TCWI SUS BOR FCKHE;C R TONIMOL NAERXT ETOT XI EOR FCKHE;C E ICRVSES AS POFD EN ; SSPAF OND ETLBT.S -4 .PL B NEDOR FOT AI;W R CS@TB ST T DECOK ISERST AUTTPOU ;R DB@T*,#'V MO 4 .-L BP R CS@TB ST T LFT PUUT;O BRTD,@12#2V MO 4 .-L BP R CS@TB ST T CRT PUUT;O BRTD,@15#2V MO 4 .-L BP Y US BOT NRESUE AK MG;LA FOR FITWA ; SRTC @TBTS L EL BNDSET NOO ;D S PAND ENE B þÿc@ @ @ @ @ @ ÑÈdS†“d8v“`Ì“n9d ‚@ `0&«j2@ @ @ @ @ @ @ @ �&›`8Ëf7cr1„‹@ &@ ` ƒp2«@ @ @ @ @ @ @ @ r ªhd²Ãr±9»d0“@¹`2@ j2†»@¸@ @ @ @ @ @ @ @ ‘¦Š6›r0F“гƒl8º@ “@ `0ƒj7’@ @ @ @ @ @ @ @ 96Up6–ƒn1Vœh1—»@ @0@ ƒd06“@ @ @ @ @ @ @ @ @ ÑÈjS£d1v›`׃h±d ‚@ h0†«`0@ @ @ @ @ @ @ @ �V›`0»f·+f´$£@ &@ ` ƒ`0T»@ @ @ @ @ @ @ @ r ªhhµƒr08»b°W£@²`2@ T CORP., MAYNARD MASS. 01754 ;FOR NORMAL OPERATION RUN WITH ALL SWITCHES DOWN ;SR15=1 UP---HALT ON ERROR ;SR14=1 UP---SCOPE LOOP - PROCESSOR TEST ;SR13=1 UP---INHIBIT PRINT OUT ;SR12=1 UP---FREEZE PROCESSOR IN CURRENT MODE ;SR11=1 UP---INHIBIT SUB-PROGRAM ITERATION(WATCHDOGS ARE NOT CHECKED) ;SR10=1 UP---INHIBIT PROCESSOR TEST ;SR09=1 UP---INHIBIT MEMORY EXPANSION ;SR08=1 UP---ISOLATION--BY DROPOUT ;SR07=1 UP---SWITCH ERROR MESSAGES TO HIGH SPEED PUNCH ; (USE ONLY IF HIGH SPEED PUNCH TES RTI LOGICAL:JSR PC,(R1) ;RETURN TO MONITOR NOP ;FOR ACT11 NOP NOP JMP @#200 ;DDP RETURN TO START ENDP1: TST ISFLG ;IF ISOLATION IS SELECTED BEQ ENDP2 HLT ;TYPE STATUS OF SYSTEM JSR PC,ISOLAT ;ISOLATE NEXT DEVICE ENDP2: INC PASCT INC PASCNT ;INCREMENT PASS COUNT MOV PASCNT,LIGHTS ;DISPLAY PASS COUNT MOV #STACKK,SP ;SET EXEC STACK POINTER CLR -(SP) ;PRESET 'NEW' STATUS. TST 42 ;IF 42=0, HIGH SPEED DUMP BEQ ENDPAX CMP PASCT,PASEX ;IF AUTO ACCEPT OR DDP NGNIUN RISE ICEV DUTTPOUF ;I SRTC,@00#1T BI P HSR OTY TTOT PUUT OIFE INRMTEDE ;P LSSP,HPCR JS: LLBE TELEMPCOS AS PONK ISERST ATLBT.S DCEN .T IO M RAOGPRS HIO TET GTOR TOEC VOT IHE TUPT SET US MERUSE TH ;Y LAEROVD UNROKGAC BERUSA O TLLCAE THS IONTIUCTRNS IXTNEE TH ; R TEINPOE OPSCW NEP UET;S RNTUREC,VEOT IOV M DEMOD ANS TUTA;S R SOESOCPRT ENRRCUT AAYRLVE OCEVIER;S VLTLIOS, POV M LLCAY LAEROVD UNROKGAC BTLBT.S NTOUIC0,00#4V MO P FPTP GDF NIF . D TECUXE ENGEI BERFT AREHES RNTUýÿ cd1f»@4@ @ @ @ @ @ @ @ ‘¦ŠF«p0–ƒŠ³ƒl7Â@ “@ `0V£j5š@ @ @ @ @ @ @ @ 96U`´–ƒn1Vœh16Ã@ @0@ ƒp²†ƒ@ @ @ @ @ @ @ @ @ ÑÈjS£d9v£`ÅV‹r0d ‚@ `0v‹`°@ @ @ @ @ @ @ @ �V›`0&Ëf7+`µd“@ &@ ` Gƒd2d³@ @ @ @ @ @ @ @ r ªhhµƒj²9»d06‹@±`2@ `3ƒ@0@ @ @ @ @ @ @ @ ‘¦ŠF«p0V‹˜³&ƒj³Š@ “@ `0›`0Ò@ @ @ @ @ @ @ @ 96Udµ–ƒn1Vœh1FÃ@ @0@ ƒr4ƒ@ @ @ @ @ @ @ @ @ ÑÈjS&«d9 TING IS INHIBITED) ;SR06=1 UP---RESTART PROGRAM ON ERROR ;IF THE PROCESSER UNDER TEST IS AN 11/45, SR12=0 ENABLES THE FOLLOWING: ; PASS 0,14,ETC KERNEL MODE,R0-R5,NO 'T' TRAP ; PASS 1,15,ETC KERNEL MODE,R0-R5,'T' TRAP ; PASS 2,16,ETC KERNEL MODE,R10-R15,NO'T' TRAP ; PASS 3,17,ETC KERNEL MODE,R10-R15,'T' TRAP ; PASS 4,20,ETC SUPERVISOR MODE,R0-R5,NO 'T' TRAP ; PASS 5,21,ETC SUPERVISOR MODE,R0-R5,'T' TRAP ; PASS 6,22,ETC SUPERVISOR MODE,R10-R15,NO 'T' TRAP ; PASS 7,23,ETC SUPERVISOR MOCHAIN MODE, BNE ENDPAX ;BRANCH IF NOT ALL MODES HAVE BEEN TESTED CLR PASCT ;ALL MODES HAVE BEEN RUN- GO TO THE BR EXIT ;MONITOR RETURN ENDPAX: BIT #10000,SR ;FREEZE IN CURRENT MODE? BEQ ENDPA1 ;NO- BRANCH MOV TEMP,(SP) ;YES- SET UP TO RESTART WITH BR DTREL ;CURRENT STATUS ENDPA1: MOV PASCT,R0 CMP R0,PASEX BLT 1$ CLR PASCT CLR R0 1$: ASL R0 ;CALCULATE OFFSET ADD PASPAR,R0 ;GET TABLE STARTING ADDRESS MOV (R0),(SP) ;LOAD PARAMETERS IN 'NEW' STATUS CMP PASCNT,#2 ;REY OREM MEDNDTEEX ; 3:ANXP E E OPSC: TLESHT EDILFAY OREM MOW LTO: EF;R LT H +4 .EQ B -2T1ESLTL,VAOT#R @MP C EDILFAE ATOT;R LT H +4 .EQ B TEBYE ATOT RCTREOR COR FREHEK ECCH ;-2T1ESLT6,4551#1P CM T HL 4 .+C BV T SET NOS WAT BIC ; T HL 4 .+S BC D TETAROS IREHE ;1 1-STTE LRBRO: T1ESLT UEAL VNSAINTCOE ER;H REHE,#563412 #OV M IT BRYAR CET;S CC SL:STTE L 0 E=ER H RYMOMEF OSTREE THO TIN ;D DEANXP EBEL IL WATTHT ES THE TISS HI;T 561415: ALTVRO RECOLO @MP J NTOUIC@#0,00#4V MOùÿcv‹`ÅG‹j4d ‚@ `0Ëp5@ @ @ @ @ @ @ @ �V›`²&Ëf7+p´„«@ &@ ` ƒn²4›@ @ @ @ @ @ @ @ r ªhjµ“h²8»b°‡£@³`2@ `0fË@1@ @ @ @ @ @ @ @ ‘¦ŠV«r0F“гƒb9’@ “@ `06ƒj¶Š@ @ @ @ @ @ @ @ 96Udµ–ƒn4Vœh1Ë@ @0@ ƒh16Ë@ @ @ @ @ @ @ @ @ ÑÈjS&«d9v£`ÅG‹bµd ‚@ `0‹h²@ @ @ @ @ @ @ @ �V›`²&Ëf7+r´»@ &@ ` ƒf1‹@ @ @ @ @ @ @ @ r ªhjµ“h±9»b0GË@1`2@ b1Ã@5@ @ @ @ @ @ DE,R10-R15,'T' TRAP ; PASS 10,24,ETC USER MODE,R0-R5,NO 'T' TRAP ; PASS 11,25,ETC USER MODE,R0-R5,'T' TRAP ; PASS 12,26,ETC USER MODE,R10-R15,NO 'T' TRAP ; PASS 13,27,ETC USER MODE,R10-R15,'T' TRAP ;IF THE KT11 IS PRESENT, ALL PASSES EXCEPT 0 AND 1 ARE RUN WITH ;THE KT11 ON IF NOT INHIBITED. (SW05 MUST BE DOWN IN THE 3RD ;DEVICE INHIBIT SETTING TO ALLOW USE OF THE KT11) ;NOTE: THE PASS COUNT IS GIVEN IN OCTAL AND IS DISPLAYED IN THE ;DISPLAY REGISTER (PDP-11/45 ONLY). ;IF THE PROCESIF LESS THAN 2 PASSES COMPLETE BLO DTREL ;DON'T ALLOW KT11 BIT #40,SR3 ;KT11 INHIBITED? BEQ SEGOPT ;NO- GO TURN ON IF AVAILABLE DTREL: BIT #2,SR1 ;CHECK FOR MULTIPROCESSORS BNE NOOPT ;BRANCH AROUND IF SET RESET ;RELEASE SWITCH CLR #BUSWT ;ALLOW OTHER PROCESSOR TO REQUEST SWITCH BUSWT=.-2 DEC BUSWT BNE .-4 BIT #20000,@DTCSR1 ;MONITOR NON-NEUTRAL BIT BNE .-6 ;WAIT FOR IT TO CLEAR MOV #1,@DTCSR1 ;REQUEST SWITCH TSTB @DTCSR1 ;WAIT FOR IT TO CONNECT BPL .-4 E OPSC 3 NDPAEX@#P JME OR CGHHI ;+ 1)(R3,ANXP#EV MO M RO FRNTUREP UET;S )+R1,(37#1V MO L UL FISY OREM MLLTIH NCRA;B 1 ANXP EOSBL E ORHC1, RMP C N2PAEXE BN L UL FISE OR;C +2TLESHT,#R2P CM L IL TTLESHTD ANL STTE;L )+R1,()+R2 (OV M2:ANXP EN EETWBEE OD CHE TVEMO ;2 ,RTLESLT #OV M1:ANXP ED ANXP EES;Y R1E,OROC LOV M NDPAEXT N'DO- O ;N 3 ANXP EISBH ? KW 8ANTHE OR;M RECO,HRECOLOP CM: NDPAEX RNTURED,ANXP#EV MO T UNCO#I,@#2V MO T ES TCHITSWE BLDOUSH ; N3PAEXE BN N IONSPAEXY OREM MOR FSTTE ;õÿc@ @ ‘¦ŠV«p0F“˜³&ƒf·ª@ “@ d0£d9Ê@ @ @ @ @ @ @ @ 96Udµ†ƒn±Äœb2WÃ@ @0@ ƒn1«@ @ @ @ @ @ @ @ @ ÑÈjS&«f8v‹@Ì“`6d ‚@ d1–“f³@ @ @ @ @ @ @ @ �V›`²&Ëf·c`2„Ã@ &@ ` F“r2$³@ @ @ @ @ @ @ @ r ªhnµ³f29»d0v‹@1`2@ `0V³@:@ @ @ @ @ @ @ @ ‘¦Šv«p06“˜³&d·Š@ “@ `0ƒ`5‚@ @ @ @ @ @ @ @ 97Ud5vƒn±Æœp1F›@ @0@ ƒn0j“@ @ @ @ @ @ @ @ @ ÑÈpS&«`8vÃ`̆‹j´d ‚@ `0“t0@ @ SOR UNDER TEST IS A PDP-11/40, SR12=0 ENABLES THE FOLLOWING: ; PASS 0,4,ETC KERNEL MODE, NO 'T' TRAP ; PASS 1,5,ETC KERNEL MODE, 'T' TRAP ; PASS 2,6,ETC USER MODE, NO 'T' TRAP ; PASS 3,7,ETC USER MODE, 'T' TRAP ;IF THE KT11 IS PRESENT, ALL PASSES EXCEPT 0 AND 1 ARE RUN WITH THE ;KT11 ON IF NOT INHIBITED. ;SPECIAL DELETE SWITCHES-SET RESPECTIVE SWITCH TO A 1 ;TO INHIBIT INITIALIZATION OF DEVICE ;NOTE: IF A NON-EXISTENT DEVICE IS SELECTED IN ANY OF THE ;THREE DEVICE INHIBIT SETTINGS, ACLR TEMP ;DELAY FOR DEVICES INC TEMP ;TO INITIALIZE BNE .-4 BIS #1000,@DTCSR1 ;ISSUE SWITCHED BUS INIT BIT #1000,@DTCSR1 ;WAIT FOR INIT TO FINISH BNE .-6 MOV #STA,-(SP) ;SWITCH IS CONNECTED - RESTART PROGRAM BR EXOPT NOOPT: MOV #PROCTS,-(SP) ;RESTART EXOPT: RTI ;PROGRAM TRTRET: RTI ;RETURN TO PROGRAM FROM TRAP HALT ;RTI FAILED TRTVEC=14 ;TRACE TRAP VECTOR ;KT11 OPTION SEGOPT: BITB #10,CONFIG+1 ;CHECK IF AVAILABLE BEQ DTREL ;RETURN IF NOT AVAILABLE CL0 00#1R, SIT B RYMOMEF OSTREO TONSIANXP ERECOE PLIM SDO ; T ES TONSIANXP ERYMOMEL TTSB . : ATDWEN 5:T1WA AGFLD RECUOCT UPRRTEIN1 M1;D 0M:CDAT WG LA FEDURCC OPTRUERNT IARLE;C + C)(PR CL R ROER, SSPAS HI TPTRUERNT INO ; T HL 4 .+E BN T UPRRTEIN1 M1 DID;D M CDAT WST T OGHDTCWAK ECCHT NOO ;D 5 T1WAI BM D TEECEL SOT NAS W11DMF ;I 2 RST T4:T1WA AGFLD RECUOCT UPRRTEIN1 P1;D 0P:CDAT WG LA FEDURCC OPTRUERNT IARLE;C + C)(PR CL R ROER, SSPAS HI TPTRUERNT INO ; T HL 4 .+E BN T UPRRTEINñÿc@ @ @ @ @ @ �†›`²&Ãf7cf¸T£@ &@ ` ƒ`0¤ƒ@ @ @ @ @ @ @ @ r ªhj¸“`³)»b06Ã@5`2@ p06›@³@ @ @ @ @ @ @ @ ‘¦ŠVÃr0›˜³h3ª@ “@ `06ƒl0j@ @ @ @ @ @ @ @ 97Ud5&‹n9Æ”p16»@ @0@ ƒf86›@ @ @ @ @ @ @ @ @ ÑÈpS&«f9vƒ@̆‹j³d ‚@ `06س@ @ @ @ @ @ @ @ �†›`²6‹f·c`¹„£@ &@ ` ƒf34›@ @ @ @ @ @ @ @ r ªhj¸“`³9»b Ë@8`2@ p06›@Ì@ @ @ @ @ @ @ @ ‘¦ŠVÃd0v“˜³ƒn³²@ “@  BUS ERROR TRAP WILL OCCUR AND ;THE PROGRAM WILL HALT AT LOCATION 6 ;AFTER STARTING ADDRESS HAS BEEN LOADED ;SW00=1 INHIBIT DT11 BUS SWITCH SELECTION ;SW01=1 INHIBIT MULTI-PROCESSOR TESTING ;SW02=1 INHIBIT PC11 HSP ;SW03=1 INHIBIT PC11 HSR ;SW04=1 INHIBIT KW11-L LINE CLOCK ;SW05=1 INHIBIT CR11 CARD READER ;SW06=1 INHIBIT KW11-P PROGRAMMABLE REAL TIME CLOCK ;SW07=1 INHIBIT LP11 LINE PRINTER --- IF LINE PRINTER IS USED, MUST RESTART AT 600 ;SW08=1 INHIBIT SECTION ONE AND TWO OF THE BUS TESTER (R SSR0 ;DISABLE IF ON BIT #1,CONFIG ;IF PROCESSOR IS PDP-11/40 BEQ SEG40 ;MAP FOR 11/40 JSR R5,MAP ;MAP FOR PDP-11/45 6 UISAR0 UDSAR0 SISAR0 SDSAR0 KISAR0 KDSAR0 JSR R5,MAPA 6 UISDR0 UDSDR0 SISDR0 SDSDR0 KISDR0 KDSDR0 BR SEGALL SEG40: JSR R5,MAP ;MAP FOR 11/40 2 UISAR0 KISAR0 JSR R5,MAPA 2 UISDR0 KISDR0 SEGALL: MOV #SEGERR,SEGVEC ;LOAD KT11 ERROR VECTOR CLR SEGVEC+2 INC SSR0 ;ENABLE KT11 BR DTREL ;RETURN ;KT11 ERROR SEGERR: MOV 1 P1 DID;D P CDAT WST T OGHDTCWAK ECCHT NOO ;D 4 T1WAE BN D TEECEL SOT NAS W11DPF ;I R20,0040 #IT B3:T1WA AGFLD RECUOCT UPRRTEIN1 D0;A 0D:CAAT WG LA FEDURCC OPTRUERNT IARLE;C + C)(PR CL R ROER, SSPAS HI TPTRUERNT INO ; T HL 4 .+E BN T UPRRTEIN1 D0 AID;D D CAAT WST T OGHDTCWAK ECCHT NOO ;D 3 T1WAE BN D TEECEL SOT NAS W01ADF ;I 2 ,R00#2T BI: 12AT WG LA FEDURCC OPTRUERNT I11RK ; 0 : RKTCWA AGFLD RECUOCT UPRRTEINR EACL ; )+PC (LR C ORRR ES,AS PISTHT UPRRTEINO ;N LT H +4 .NE B PTRUíÿc`0†ƒf³š@ @ @ @ @ @ @ @ 97Ud5–ƒn°Äœr1v›@ @0@ ƒf89›@ @ @ @ @ @ @ @ @ ÑÈpS&«d3vÃ`Ì—‹p4d ‚@ `06Ãf³@ @ @ @ @ @ @ @ �†›`²6Ëf7bp¹„£@ &@ ` ƒf3Äœ@ @ @ @ @ @ @ @ r ªhj¸“l29»d ƒ@¹`2@ p06›@³@ @ @ @ @ @ @ @ ‘¦ŠVÃr0›˜³&r1Ê@ “@ `0†ƒf³b@ @ @ @ @ @ @ @ 97Ud5Vƒn±Æœ`2†«@ @0@ ƒf86›@ @ @ @ @ @ @ @ @ ÑÈpS&«f9vƒ@Ì“n¸d ‚@ `06س@ @ @ @ @ @ @ @ �†›`²FACTORY USE ONLY) ;SW09=1 INHIBIT SECTION THREE AND FOUR OF THE BUS TESTER (FACTORY USE ONLY) ;SW10=1 INHIBIT RF11 DISK ;SW11=1 INHIBIT UDC11 ;SW12=1 INHIBIT RC11 DISK ;SW13=1 INHIBIT TC11 DECTAPE ;SW14=1 INHIBIT KL11 TTY OUTPUT ;SW15=1 INHIBIT KL11 TTY INPUT ;NOTE: IF ALL SWITCHES ARE DOWN FOR THIS FIRST DEVICE INHIBIT ;SETTING, THE PREVIOUSLY CHOSEN DEVICES WILL BE TESTED ;AFTER FIRST HALT ;SW00=1 INHIBIT DC11 #1 .... VECTOR 300 ;SW01=1 INHIBIT DC11 #2 .... VECTOR 310 ;SW02=1 INHIBIT AASSR0,SSR0T ;SAVE SSR0 INDICATORS MOV #7,SSR3 ;ENABLE D SPACES MOV #1,SSR0 ;CLEAR FLAGS JMP SEGLVL ;GO HALT SSR0T: 0 ;KT11 ERROR FLAGS ARE SAVED HERE ;KT11 REGISTER ADDRESSES SSR0=177572 SSR3=172516 UISDR0=177600 UDSDR0=177620 UISAR0=177640 UDSAR0=177660 SISDR0=172200 SDSDR0=172220 SISAR0=172240 SDSAR0=172260 KISDR0=172300 KDSDR0=172320 KISAR0=172340 KDSAR0=172360 ;SETUP KT11 REGISTERS MAP: MOV (R5)+,R2 MAP1A: MOV (R5)+,R0 ;GET ADDRESS OF PAR TO BE SET ERNT I11RKD DI ; RKTCWAT TS G DOCHAT WCKHE COT NDO ; 12AT WNE B EDCTLESET NOS WA1 K1 RIF ; R20,#2T BI: 10AT WG LA FEDURCC OPTRUERNT I11FC;A 0F:CAAT WG LA FEDURCC OPTRUERNT IARLE;C + C)(PR CL R ROER, SSPAS HI TPTRUERNT INO ; T HL 4 .+E BN T UPRRTEIN1 C1AFD DI ; AFTCWAT TS G DOCHAT WCKHE COT NDO ; 10AT WNE B EDCTLESET NOS WA1 C1AFF ;I 2 ,R10 #IT B9:AT WG LA FEDURCC OPTRUERNT I#21 C1;D 02:DCAT WG LA FEDURCC OPTRUERNT IARLE;C + C)(PR CL R ROER, SSPAS HI TPTRUERNT INO ; T HL 4 .+E BNéÿ c'³f7cr0”£@ &@ ` ƒf34›@ @ @ @ @ @ @ @ r ªhj¸“`³9»d –ƒ@9`2@ p06›@Ì@ @ @ @ @ @ @ @ ‘¦ŠVÃn0›˜³&ƒbµ’@ “@ `0†ƒf³š@ @ @ @ @ @ @ @ 97Ud5–ƒn°Äœb2«@ @0@ ƒf89›@ @ @ @ @ @ @ @ @ ÑÈpS&«d8v›`Ì“f²d ‚@ d0'³`0@ @ @ @ @ @ @ @ �†›`²6Ëf7bp1$³@ &@ ` ƒf3Äœ@ @ @ @ @ @ @ @ r ªhj¸“b39»d †‹@2`2@ p06›@³@ @ @ @ @ @ @ @ ‘¦ŠVÃr0v“˜³&ƒp0Ê@ “@ `0ƒ`°‚@ @ @ @ @ @ !11 DAC WITH SCOPE OPTION ;SW03=1 INHIBIT AFC11 ANALOG MULTIPLEXER ;SW04=1 INHIBIT RK11 DISK ;SW05=1 INHIBIT DR11-B GENERAL INTERFACE (NPR) ;SW06=1 INHIBIT KE11-A (PDP-11/20) EXTENDED ARITHMETIC ELEMENT ;SW07=1 INHIBIT AD01-D A/D CONVERTER ;SW08=1 INHIBIT RP11 DISK ;SW09=1 INHIBIT RESERVED (FOR BUS LATENCY TESTER) ;SW10=1 INHIBIT DN11 DIGITAL DIALER ;SW11=1 INHIBIT TM11 MAGNETIC TAPE ;SW12=1 INHIBIT M792YA (DIODE BOOT FOR PC11,KL11) ;SW13=1 INHIBIT M792YB (RF, RC, RK AND TC11) BOOT ; OR MR11"UP MOV #7,R1 ;GET REGISTER COUNT CLR R3 MOV #200,R4 MAP1: MOV R3,(R0)+ ;LOAD PAR ADD R4,R3 ;SETUP TO LOAD NEXT PAR SOB R1,MAP1 ;LOAD NEXT PAR IF NOT DONE MOV #7600,(R0)+ ;SET LAST PAR SOB R2,MAP1A ;GET NEXT GROUP RTS R5 MAPA: MOV (R5)+,R2 MAP2A: MOV (R5)+,R0 ;GET PDR ADDRESS MOV #8.,R1 MAP2: MOV #77406,(R0)+ ;PDR= 4K R/W UP SOB R1,MAP2 SOB R2,MAP2A RTS R5 ;EXIT ;PDP-11/45 PASS PARAMETER TABLE PAS45: 000000 ;STATUS =0 000020 ;THE 'T' BIT 00400 T UPRRTEIN1 #11DCD DI ; C2TDWAT TS G DOCHAT WCKHE COT NDO ; T9WAE BN D TEECEL SOT NAS W#21 C1 DIF ; R22, #IT B8:AT WG LA FEDURCC OPTRUERNT I#11 C1;D 01:DCAT WG LA FEDURCC OPTRUERNT IARLE;C + C)(PR CL R ROER, SSPAS HI TPTRUERNT INO ; T HL 4 .+E BN T UPRRTEIN1 #11DCD DI ; C1TDWAT TS G DOCHAT WCKHE COT NDO ; T8WAE BN D TEECEL SOT NAS W#11 C1 DIF ; R21, #IT B7:AT WG LA FEDURCC OPTRUERNT I11RC ; 0 : RCTCWA AGFLD RECUOCT UPRRTEINR EACL ; )+PC (LR C ORRR ES,AS PISTHT UPRRTEINO ;N LTåÿ$c@ @ 97Uh²ƒn·Æœp1f«@ @0@ ƒh0v»@ @ @ @ @ @ @ @ @ ÑÈrSF“`5v£@Ì“d³d ‚@ f0–ƒd4@ @ @ @ @ @ @ @ �–›`4&Ëf·cr1»@ &@ ` ƒh²”³@ @ @ @ @ @ @ @ r ªhd¹£r±9»d0“@0`2@ b6ƒ@4@ @ @ @ @ @ @ @ ‘¦Š&Ër0–‹˜³&ƒh0Š@ “@ `0f›p0Â@ @ @ @ @ @ @ @ 97Uh²–ƒn¹Æœd2fƒ@ @0@ ƒd1–»@ @ @ @ @ @ @ @ @ ÑÈrSF“b9vË`Ì&“d7d ‚@ `0‹`°@ @ @ @ @ @ @ @ �–›`4Ëf·c`24Ã@ &@ ` ƒj±ƒ@ @ %-DB BULK BOOTSTRAP LOADER ;SW14=1 INHIBIT DP11 SYNCHRONOUS LINE UNIT --- VECTOR 320 ;SW15=1 INHIBIT DM11 ASYNCHRONOUS MULTIPLEXER --- VECTOR 330 ;AFTER SECOND HALT ;SW00=1 INHIBIT KG11-A REDUNDANCY CHECK OPTION ;SW01=1 INHIBIT CD11 CARD READER ;SW02=1 INHIBIT DR11-A, DR11-C GNENERAL INTERFACE (INTERRUPT ONLY) ;SW03=1 INHIBIT DM11-BB MODEM CONTROL MULTIPLEXER ;SW04=1 INHIBIT VR20 2 COLOR SCOPE OPTION ;SW05=1 INHIBIT KT11 MEMORY MANAGEMENT OPTION ;SW06=1 INHIBIT RESERVED ;SW07=1 INHIBIT RESERVE&0 ;THE REGISTER SET BIT 004020 ;REGISTER SET & T BIT 040000 ;SUPERVISOR MODE 040020 ;SUPERVISOR MODE & T BIT 044000 ;SUPERVISOR & REG SET 044020 ;SUPERVISOR,REG SET & 'T' BIT 140000 ;USER MODE 140020 ;USER MODE & 'T' BIT 144000 ;USER MODE, REG SET 144020 ;USER MODE,REG SET & 'T' BIT ;PDP-11/40 PASS PARAMETER TABLE PAS40: 000000 000020 140000 140020 ;PDP-11/10,20 PASS PARAMETER TABLE PAS20: 000000 000020 PASPAR: 0 ;POINTER TO PASS H +4 .NE B PTRUERNT I11RCD DI ; RCTCWAT TS G DOCHAT WCKHE COT NDO ; T7WAE BN D TEECEL SOT NAS W11RCF ;I R10,0010 #IT B6:AT WT UPRRTEIND REFEDE1 C1UD ; 0 : UDTCWA AGFLD RECUOCT UPRRTEINR EACL ; )+PC (LR C ORRR ES,AS PISTHT UPRRTEINO ;N LT H +4 .NE B URCC OPTRUERNT IEDEREF DID;D D CUAT WST T PTRUERNT ITEIAEDMM I11DC;U 0I:CUAT WG LA FEDURCC OPTRUERNT IARLE;C + C)(PR CL R ROER, SSPAS HI TPTRUERNT INO ; T HL 4 .+E BN R CUOCT UPRRTEINE ATDIMEIMD DI ; UITCWAT TS G DOCHAT WCKHE COT Náÿ(c@ @ @ @ @ @ r ªhj7³l²9»d0‹@²`2@ b0fƒ@5@ @ @ @ @ @ @ @ ‘¨ŠV»p0†ƒ˜³&ƒf¶Ê@ “@ `0ƒp3Â@ @ @ @ @ @ @ @ 9FUlµ–ƒn¹Æœd2Fƒ@ @0@ ƒf1V›@ @ @ @ @ @ @ @ @ ÑÈpTv›b6v«`ÅF‹p4d ‚@ b0f‹n7@ @ @ @ @ @ @ @ �†£`·»f·+f´‹@ &@ ` ƒj³TË@ @ @ @ @ @ @ @ r ªhf8»r08»b°V£@0`2@ j2‹@2@ @ @ @ @ @ @ @ ‘¨Š6Ãp°–ƒŠ³ƒ`6š@ “@ `0fƒj5º@ @ @ @ @ @ @ @ 9GUn3†ƒn9Vœh1V³@ @0)D ;SW08=1 INHIBIT RESERVED ;SW09=1 INHIBIT RESERVED ;SW10=1 INHIBIT RESERVED ;SW11=1 INHIBIT RESERVED ;SW12=1 INHIBIT RESERVED ;SW13=1 INHIBIT RESERVED ;SW14=1 INHIBIT RESERVED ;SW15=1 INHIBIT RESERVED ;AFTER HALT SET SWITCHES FOR NORMAL RUNNING (ALL DOWN) CONTINUE ;THE FORMAT FOR ALL ERROR PRINTOUTS IS SEVEN COLUMNS OF DATA ;THE SIGNIFICANCE OF EACH COLUMN IS DESCRIBED BELOW ;COLUMN 1- PC+2 OF THE TEST THAT FAILED ;COLUMN 2- PROCESSOR STATUS AT THE TIME OF FAILURE ;COLUMN 3- PROCESSOR* PARAMETER TABLE PASEX: 0 ;PASS COMPLETE COUNT PASCT: 0 PASTAB: PAS20 PAS20 PAS40 PAS45 EXITCT: 2 2 4 14 .SBTTL ERROR HANDLER ;ENTERED WITH SYSTEM TRAP CALL(ERROR) AT LEVEL 7 ;PRINT OUT THE ERROR INFORMATION PRINT: TST PRFLAG ;IS ROUTINE BUSY BEQ .+4 RTI ;YES IT IS BUSY INC PRFLAG ;PRINT ROUTINE BUSY BIC #140,PS ;DROP TO LEVEL 4 BIT SR,#20000 ;TEST FOR INHIBIT PRINT OUT BEQ .+4 ;BRANCH TO PRINT BR PRINT1 ;INHIBIT, RETURN TO MAIN STREAM MOV SP,SAVSPADO ; T6WAE BN D TEECEL SOT NAS W11DC UIF ;1 ,R0040 #IT B5:AT WG LA FEDURCC OPTRUERNT I11RF ; 0 : RFTCWA AGFLD RECUOCT UPRRTEINR EACL ; )+PC (LR C ORRR ES,AS PISTHT UPRRTEINO ;N LT H +4 .NE B PTRUERNT I11RFD DI ; RFTCWAT TS G DOCHAT WCKHE COT NDO ; T5WAE BN D TEECEL SOT NAS W11RFF ;I R10,00#2T BI: T4WA AGFLD RECUOCT UPRRTEIN ; 4ONTIEC SERSTTES BU ; 0 : DBTCWA AGFLD RECUOCT UPRRTEINR EACL ; )+PC (LR C ORRR ES,AS PISTHT UPRRTEINO ;N LT H +4 .NE B PTRUERNT I 4ONTIEC SERSTTES BUÝÿ,c@ ƒb2£@ @ @ @ @ @ @ @ @ ÑÈpTv›`8vË`ÅF‹p6d ‚@ `0“f³@ @ @ @ @ @ @ @ �†£`·Ãf·+l´”³@ &@ ` ƒd24£@ @ @ @ @ @ @ @ r ªhf8»r08»b°f£@¸`2@ f0&‹@2@ @ @ @ @ @ @ @ ‘¨Š6Ãp°–ƒŠ³ƒn6Ê@ “@ `0ƒr³Â@ @ @ @ @ @ @ @ 9GUn3†ƒn9Vœh1†³@ @0@ ƒl0F›@ @ @ @ @ @ @ @ @ ÑÈpTv›`8vË`ÅF‹l8d ‚@ `0†‹r¸@ @ @ @ @ @ @ @ �†£`·Ãf·+l´TË@ &@ ` ƒb6£@ @ @ @ @ @ @ @ r ªhf8- TEST IN PROGRESS AT THE TIME OF FAILURE ;COLUMN 4- STACK OFFSET ;COLUMN 5- FIRST DEVICE SELECTION (SR1) REGISTER ;COLUMN 6- SECOND DEVICE SELECTION (SR2) REGISTER ;COLUMN 7- THIRD DEVICE SELECTION (SR3) REGISTER ;NOTE: IF A POWER FAILURE OCCURS, AN ERROR MESSAGE WILL BE ;TYPED IN THE STANDARD FORMAT AFTER POWER UP OCCURES. ;THE PROGRAM WILL THEN BEGIN EXECUTION OF PROCESSOR TEST ;AND WILL COMPLETE THE PROCESSOR TEST BEFORE RE-INITIALIZING ;SELECTED DEVICES. THIS DELAY IS NECESSARY TO ;ALLOW . MOV (SP),SAVPC ;PC OF FAILING ROUTINE MOV 2(SP),SAVPS ;PS OF ERROR CONDITION JSR PC,HSPLSP TSTB @TCSR BPL .-4 MOV #215,@TDBR ;CR TSTB @TCSR BPL .-4 MOV #212,@TDBR ;LINE FEED MOV R2,SAVR2 ;SAVE R2 MOV R3,SAVR3 ;SAVE R3 MOV R4,SAVR4 ;SAVE R4 MOV SAVPC,R2 JSR PC,PRTAB ;PRINT OCTAL NUMBER MOV SAVPS,R2 JSR PC,PRTAB ;PRINT OCTAL NUMBER MOV RETURN,R2 ;CPU TEST ID JSR PC,PRTAB MOV #STACK,R2 SUB SAVSPA,R2 ;HOW FAR STACK POSITIVE JSR PC,PRTAB PREG1: MOV @#SR1,RD DI ; DBTCWAT TS G LA FEDURCC OPTRUERNT;I 3 N IOCTSER TEES TUS;B 0B:CCAT WG LA FEDURCC OPTRUERNT IARLE;C + C)(PR CL R ROER, SSPAS HI TPTRUERNT INO ; T HL 4 .+E BN T UPRRTEIN3 N IOCTSER TEES TUS BID;D B CCAT WST T OGHDTCWAK ECCHT NOO ;D 4 AT WNE B EDCTLESET NOE ER;W 4 D AN3 S ONTIEC SERSTTES BUF ;I R10,00#1T BI: T3WA AGFLD RECUOCT UPRRTEIN ; 2ONTIEC SERSTTES BU ; 0 : BBTCWA AGFLD RECUOCT UPRRTEINR EACL ; )+PC (LR C ORRR ES,AS PISTHT UPRRTEINO ;N LT H +4 .NE B PTRUÙÿ0c»r08»b°g£@¶`2@ `0g«@6@ @ @ @ @ @ @ @ ‘¨Š6Ãp°–ƒŠ³ƒr6º@ “@ `0ƒp°ª@ @ @ @ @ @ @ @ 9GUn3†ƒn9Vœh1—³@ @0@ ƒd0–ƒ@ @ @ @ @ @ @ @ @ ÑÈpTv›`8vË`ÅF‹b°d ‚@ `0&‹j³@ @ @ @ @ @ @ @ �†£`·Ãf·+n´$ƒ@ &@ ` ƒr5d»@ @ @ @ @ @ @ @ r ªhf8»r08»b°v£@3`2@ d0†ƒ@4@ @ @ @ @ @ @ @ ‘¨Š6Ãp°–ƒŠ³ƒd7Š@ “@ `0fƒj³‚@ @ @ @ @ @ @ @ 9GUn3†ƒn9Vœh1&»@ @0@ ƒj1Ë@ @ @ @ @ @ 1MECHANICAL DEVICES TO RECOVER FROM THE POWER FAILURE. ;NOTE: THE PROCESSOR STACK POINTER WILL BE SET TO LOCATION ;"STACK" EACH TIME THAT THE PROCESSOR TEST IS STARTED. ;AT THE END OF EACH PASS, THE PROCESSOR STACK POINTER WILL ;BE SET TO LOCATION "STACKK". IF THE PROCESSOR ;(PDP-11/45) IS OPERATING IN OTHER THAN KERNEL MODE ;THE CURRENT MODE STACK POINTER WILL BE INITIALIZED TO "STACK" ;AND THE KERNEL STACK POINTER WILL BE SET TO "STACKK". ;NOTE: CORE EXPANSION MAY BE RUN WITH A GTP OVERLAY,22 ;PRINT SR1 JSR PC,PRTAB PREG2: MOV @#SR2,R2 ;PRINT SR2 JSR PC,PRTAB PREG3: MOV @#SR3,R2 JSR PC,PRTAB MOV SAVR2,R2 ;RESTORE REGISTERS MOV SAVR3,R3 MOV SAVR4,R4 PRINT1: TST SR ;TEST FOR HALT SWITCH BPL PRINT2 MOV R0,-(SP) ;SAVE R0 ON STACK MOV SAVPC,R0 HALT ;HALT ON ERROR SET MOV (SP)+,R0 PRINT2: BIT #400,SR BEQ .+6 JSR PC,ISOLATE BIT #100,SR BNE PRINT3 CLR PRFLAG ;CLEAR PRINT ROUTINE BUSY RTI ;RETURN TO MAIN STREAM PRINT3: JMP @#ST ;TO RESTART PROG ERNT I 2ONTIEC SERSTTES BUD DI ; BBTCWAT TS G LA FEDURCC OPTRUERNT;I 1 N IOCTSER TEES TUS;B 0B:CAAT WG LA FEDURCC OPTRUERNT IARLE;C + C)(PR CL R ROER, SSPAS HI TPTRUERNT INO ; T HL 4 .+E BN T UPRRTEIN1 N IOCTSER TEES TUS BID;D B CAAT WST T OGCDAT WCKHE COT NDO ; EDCTLESET NOE ER;W 3 AT WNE B 2ND A 1NSIOCTSER TEES TUS BIF ; R10,40 #IT B2:AT W0 : KPTCWA )+PC (LR C LT H +4 .NE B KPTCWAT TS G DOCHAT WCKHE COT NDO ; T2WAE BN D TEECEL SOT NAS W-P11KWF ;I R1,S00#1T BI: T1WA AGÕÿ4c@ @ @ ÑÈpTv›`8vË`ÅF‹l²d ‚@ `0vƒj5@ @ @ @ @ @ @ @ �†£`·Ãf·+n´T›@ &@ ` ƒj2„“@ @ @ @ @ @ @ @ r ªhf8»b²8»b°†£@2`2@ h2f›@²@ @ @ @ @ @ @ @ ‘¨Š6Ãr°“гƒ`8š@ “@ `0f‹j¹Â@ @ @ @ @ @ @ @ 9GUn3–ƒn1Vœh1FÃ@ @0@ ƒl6vƒ@ @ @ @ @ @ @ @ @ ÑÈpTv›d9v£`ÅG‹h9d ‚@ `0'“l´@ @ @ @ @ @ @ @ �†£`·&Ëf7+r´”ƒ@ &@ ` ƒn14«@ @ @ @ @ @ @ @ r ªhf8»h²8»b°–£@°`2@ d0–“@3@ 5 IF THAT ;OVERLAY DOES NOT REQUIRE MORE THAN 4K OF CORE. ;NOTE: THE PROGRAM IS INITIALIZED WITH A SPECIFIC DEVICE ; REGISTER AND VECTOR ADDRESS ASSIGNMENT FOR FLOATING ; VECTOR DEVICES. TO ACCOMODATE OTHER CONFIGURATIONS, ; APPROPRIATE CHANGES SHOULD BE MADE IN THE "DEVICE ; REGISTER AND VECTOR TABLE". ;NOTE: THE FOLLOWING OPTIONS WILL BE TESTED UNCONDITIONALLY IF AVAILABLE ;PDP-11/40 EIS ;PDP-11/40 FIS ;PDP-11/45 FPP ;NOTE: DECTAPE UNIT 1 IS NOW SELECTED FOR TEST BY THIS PROGRAM. ; T6 HSPLSP: MOV TTCSR,TCSR MOV TTDBR,TDBR BIT SR,#200 BEQ HPLPEX MOV HPCSR,TCSR MOV HPDBR,TDBR HPLPEX: RTS PC SAVSPA: 0 SAVR2: 0 SAVR3: 0 SAVR4: 0 TDBR: 177566 ;DATA TCSR: 177564 ;PS SAVPC: 0 SAVPS: 0 ;CONVERT DATA TO ASCII AND TYPE PRTAB: MOV #LISTND,R4 ;SET UP POINTER TO DATA STORAGE MOV #6,ASCNT ;6 DIGITS WILL BE EXTRACTED PRTAB1: MOV R2,R3 ;GET DATA TO BE CONVERTED BIC #177770,R3 ;EXTRACT 1 OCTAL DIGIT ADD #260,R3 ;CONVERT TO ASCII MOV R3,-(R4) ;SAVE ASCIFLD RECUOCT UPRRTEINL 1-W1;K 0L:CKAT WG LA FEDURCC OPTRUERNT IARLE;C + C)(PR CL R ROER, SSPAS HI TPTRUERNT INO ; T HL 4 .+E BN T UPRRTEINL 1-W1 KID;D L CKAT WST T OGHDTCWAK ECCHT NOO ;D 1 AT WNE B EDCTLESET NOS WAL 1-W1 KIF ; R10,#2T BI 2 ,RR2 SOV M R11,SRV MO H TCWAND EMP J GSDOCHAT WCKHE COT NDO ; +6 .EQ B EDITIBNH IRE ANSIOATERITF ;I SR0,00#4T BI C ND.E CHATDWENP JM S OGHDTCWAK ECCH ; +6 .EQ B T NOO D1,G=FLQVF ;I G FLQVB ST T PPPFGT1!A1TP GDFF .I NTOUICR CL: CHAT W G INÑÿ8c@ @ @ @ @ @ @ ‘¨Š6Ãr°F“гƒb9Ê@ “@ `0'ƒh²¢@ @ @ @ @ @ @ @ 9GUn3–ƒn4Vœh1&Ë@ @0@ ƒl1»@ @ @ @ @ @ @ @ @ ÑÈpTv›d9v£`ÅG‹n²d ‚@ `0†‹h¸@ @ @ @ @ @ @ @ �†£`·&Ëf7+r´d›@ &@ ` ƒn64»@ @ @ @ @ @ @ @ r ªhf8»h²8»b°–£@·`2@ `0f£@7@ @ @ @ @ @ @ @ ‘¨Š6Ãr°F“гƒf9Â@ “@ `0ƒh¸Â@ @ @ @ @ @ @ @ 9GUn3–ƒn4Vœh17Ë@ @0@ ƒd0V›@ @ @ @ @ @ @ @ @ ÑÈpTv›d9v£`ÅG‹d´d EO SELECT A DIFFERENT DRIVE, PUT THE DRIVE SELECTION CODE ; IN BITS 8-10 OF LOCATION "TCDRV" ;NOTE: THE INPUTS OF AFC11 CHANNELS TO BE TESTED ; MUST EACH BE CONNECTED TO A VOLTAGE SOURCE NOT GREATER ; THAN +OR- 5 MILLIVOLTS .SBTTL DEFINITIONS ;REGISTER DEFINITIONS R0=%0 R1=%1 R2=%2 R3=%3 R4=%4 R5=%5 SP=%6 ;PROCESSOR STACK POINTER PC=%7 ;PROGRAM COUNTER FPS= %0 AC0= %0 AC1= %1 AC2= %2 AC3= %3 AC4= %4 AC5= %5 ;LOCATION DEFINITIONS PS=177776 ;PROCESSOR STATUS GI DIGIT ASR R2 ;POSITION NEXT DIGIT ASR R2 ;TO BE EXTRACTED ASR R2 DEC ASCNT ;IF ALL DIGITS HAVE NOT BEEN BNE PRTAB1 ;EXTRACTED, CONTINUE BIC #6,(R4) XLIST: MOV #7,ASCNT ;SEND 7 CHAR TO TTY WAIT2: TSTB @TCSR BPL WAIT2 MOV (R4)+,@TDBR DEC ASCNT BEQ HDFHM ;FINISH PRINTING GET NXT NUM BR WAIT2 HDFHM: TSTB @TCSR BPL .-4 RTS PC ;HEAD FOR HOME ASCNT: 0 LIST: 0 0 0 0 0 0 LISTND: 240 ;SEPARATOR ;SCOPE LOOP ROUTINE ENTERED BY USER TRAP SCOPEB: MOV RETURNNRUE ARS CEVIDED TEECEL SFYRIVE ; GSDOCHAT WCEVIDEL TTSB . : NDBEDM ORRR EERFT ARTTAES;R E T1CN SBR K ACSTT USDJ;A )+SP,()+SP (MP C ET SOT NNEDOH IT WPTRUERNT;I LT H RNTURE, ES;Y TI R +4 .PL B ET SIT BNEDOS ;I SRBCDM @TBTS T:INMB D T UPRRTEINB -B1 M1 DONE ER HERNT;E D ENMB DBR P OO LS,ONTIRATE IOR FCKHE;C PECO SE:T1CN SB T1CN SNE B NEDOT NOF IUEINNTCO ; R0C DE T ULES REDCTPEEXE ATPD;U 5 RNC I NEDOD ANE BLNA EANSCR EACL ;SRBCDM,@NEDOA+ENCN#SC BI: 1DNTSC ORRR EICOG LERNNÍÿîîîîîîîàîîîîîîfffffffffffffffffffffffffffffffffffffffffffffffffffffffffADDB C!ë+÷há 5w›$DïîîîîîîÿÿîîîîîîfffffffffffffffffffffffffffffffffffffffffffffffffffffffffÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿIWORD PIRQ=177772 ;PROGRAM INTERRUPT REQUEST REGISTER SR=177570 ;CONSOLE SWITCH REGISTER LIGHTS=177570 ;PDP-11/45 DISPLAY REGISTER ;INSTRUCTION DEFINITIONS MARK1=6401 ;MARK INSTRUCTION SCOPE=TRAP ;CALL TO SCOPE LOOP AND ITERATION HANDLER FADD=75000 ;11/40 FIS FLOATING ADD FSUB=75010 ; " " " SUBTRACT FMUL=75020 ; " " " MULTIPLY FDIV=75030 ; " " " DIVIDE .EQUIV EMT,HLT FSUB=75010 ;11/40 FIS FLOATING SUBTRACT FMUL=75020 ;11/40 FIS FLCA;S LT H 1DNTSCQ BE R CSMB@D5, RMP C -4 .PL B SRBCDM @TBTS S ,P00#2C BI R NEANSCT ARST ;R CSMB@DA,ENCN#SS BI S PTRUERNT IITIBNH;I S ,P00#2S BI: 1BNTSC DEMOE NCNATEINMAD ANE BLNA EPTRUERNT IET;SSRBCDM,@17A+ENNT+INTAI#MV MO 0 ,R6.#1V MO 4 L VELET ACEVIER;S VLBLDM,@00#2V MO 5 ,R401317 #OV M CEVIER SPTRUERNT IALOC LUPT SE ;C VEMB@DT,INMB#DV MO A T1CN SNE B R0C DE E IN LXTNEO TGO ;R CSMB@DP,TE#SS BI P LOPFLI FET;S SRBLDM,@#1V MO: 1ANTSC PSLOPFLI FLEABENE IN LLL;A R CSMB@DR CL O NT IÉÿKN,(SP) ;SET UP FOR NEXT TEST SCOPET: TST TCFLAG ;DECTAPE DATA BEQ .+6 ;BRANCH IF NO NEW DATA JSR PC,TC1 ;CHECK TC DATA ;SPECIAL SERVICE CODE JSR PC,TWAIT ;CHECK INHIBIT PROCESSOR SWITCH RTI ;SCOPE RETURN .SBTTL SCOPE LOOP ROUTINE SCOPEC: BIT #40000,SR ;TEST FOR LOOP BNE SCOPEB ;YES SCOPE TSTB QVFLG ;IF QVFLG NOT 0 BNE SCOPEA ;NO ITERATIONS OF TEST BIT #4000,SR ;NO - TEST FOR ITERATION BNE SCOPEG ;INHIBIT ITERATION CMP SCOPEF,ICOUNT BEQ SCOPEG ;EXLc&@ ` †‹l1T“@ @ @ @ @ @ @ @ r ªhf8»b39»d †‹@±`2@ `·»@µ@ @ @ @ @ @ @ @ ‘¨Š6Ãp°›˜³&n¸’@ “@ `0ƒ`1‚@ @ @ @ @ @ @ @ 9GUn3†ƒn±Äœb2vÃ@ @0@ ƒj2Ã@ @ @ @ @ @ @ @ @ ÑÈpTv›f8v‹@Ì“f9d ‚@ b6&ƒf8@ @ @ @ @ @ @ @ �†£`·&Ëf·cr1$»@ &@ ` ƒh°³@ @ @ @ @ @ @ @ r ªhf8»r±9»d0“@3`2@ d3g›@²@ @ @ @ @ @ @ @ ‘¨Š6Ãr°–‹˜³&ƒh0¢@ “@ b0³d¹‚@ @ @ @ @ @ @ @ 9MOATING MULTIPLY FDIV=75030 ;11/40 FIS FLOATING DIVIDE ;SYMBOL DEFINITIONS UM=140000 .MACR MOVPS N MOV PS,R'N' ;SAVE CONDITION CODES IN REGISTER 'N' BIC #177760,R'N' ;EXTRACT CONDITION CODES .ENDM .MACRO CATCH .REPT 120 .+2 ;TRAPCATCHER FOR ILLEGAL INTERRUPTS HALT ;TRAPPED TO PREVIOUS ADDRESS .ENDR .ENDM .=0 .SBTTL TRAPCATCHER ;.+2,HALT IS LOADED INTO EACH VECTOR ADDRESS/STATUS ADDRESS PAIR FROM ;000 THRU 476 .NLIST CATCH .LIST .SBTTL VECTORS ;PR'S 1TERI WTOP UET;S 0 ,R6.#1V MO 6 .-E BN S OPFLIPFLR XELEIPLTMUL ALR EACL ;R CSMB@DY,US#BT BI R CSMB@DN,SCLR+CUXRMCL #OV M1:NTSC PECO S BB1-M1 DSTTE ; NDBEDME BN T NOO D1,3=T BI3 SRF ;I 3 SR0,#1T BI: BB11DM 20Y=US B0 20E=ON D0 =4NANESC 00=1NATEIN 00=4EPST 0010T=INMA 0020X=MULR C0 00=4CNRSCL NELIH AC EOR FRSCUOCT UPRRTEINN AATTHY IFER;V S ONTICALOY OREM MERNNCA SLL ATOINS 1'T PUIN ; STTEC GILOR NEANSC ; EREXPLTIUL MOLTRON CEMOD MBB1-M1;D T ES TOLTRON CEMOD MBB1-M1 DTLBT.S 3040ºÿOIT - DONE INC SCOPEF ;INCREMENT COUNT BR SCOPEB ;LOOP SOME MORE SCOPEG: CLR SCOPEF ;CLEAR COUNT SCOPEA: MOV @SP,RETURN ;SAVE SCOPE RETURN POINTER RTI ;RETURN INLINE-NEXT TEST ;THIS ROUTINE CHECKS THE READ DATA BUFFER TC11 ;BY DOING A CHECK SUM ON THE DATA TC1: CLR TCFLAG ;SET BY TC READ ROUTINE MOV R1,-(SP) ;SAVE THESE ON THE STACK MOV R2,-(SP) MOV R3,-(SP) CLR R3 ;SUM OF DATA MOV #TCRBUF,R1 ;ADDRESS OF READ BUFFER MOV #TCRBUF+1000,R2 ;END OF READ BUFFER TC2: ADDPcGUn3–ƒn¹Æœd2Fƒ@ @0@ ƒ`2&£@ @ @ @ @ @ @ @ @ ÑÈpTv›b9vË`Ì&“d6d ‚@ `0&‹`¹@ @ @ @ @ @ @ @ �†£`·Ëf·c`24»@ &@ ` ƒ`2³@ @ @ @ @ @ @ @ r ªhf8»r±9»d0“@4`2@ n0FÃ@°@ @ @ @ @ @ @ @ ‘ªŠvƒr0“гƒp7‚@ “@ `0&ƒ`³‚@ @ @ @ @ @ @ @ 9VUl7–ƒn1Vœh1†»@ @0@ ƒr4–£@ @ @ @ @ @ @ @ @ ÑÈ`Uf»d9v‹`ÅF‹d¸d ‚@ `0v‹`1@ @ @ @ @ @ @ @ �«`¶&Ëf·+p´ƒ@ &@ ` ƒf¸Ã@ @ @ @ @ QESET VECTORS FOR INTERRUPT AND TRAP SERVICE .=14 TRTRET ;TRACE TRAP RETURN 140 ;SERVICE AT LEVEL 3 IOTVEC: DMYRTI ;CALL TO USER BACKGROUND OVERLAY IOTLVL: 0 ;SERVICE AT LEVEL 0 .=24 PFAIL ;POWER FAILURE HANDLER 340 ;SERVICE AT LEVEL 7 PRINT ;TRAP FOR ERROR HANDLER 340 ;PRINT AT LEVEL 7 (DROPS TO 4 IN ROUTINE) SCOPEC ;TRAP FOR LOOPING 0 ;LOOP SERVICE AT LEVEL 0 .=60 TTRIV: TTYINR ;TELETYPE READER 200 ;SERVICE AT LEVEL 4 TTPIV: TYOUTR ;TELEPRINTER 200 ;SERVICE 01 000000 304001 000000 312002 016003 315003 011002 312403 016402 711003 415002 110403 214402 610003 514002 2 C1CRR FOE BLTAT ULES;R 744117 044300 322317 422100 1 2171 11 0601 00 6572 00 4202 1 601013 101204 4 7750 14 5020 0 320016 2 2410 0 514317 1 1204 0 TTCI COR FLEAB TLTSURE ; 410115 0 1460 0 610010 0 0630 0 314012 0 0314 0 156013 4 0106 0 073013 6 0003 0 021413 3 4001 0 010601 0 6020 1 010316 0 3050 0P:GC K 6 C1CRR FOE BLTAT ULES;R 7 5777 0 0002¶ÿS (R1)+,R3 ;EVEN ADD ADD (R1)+,R3 ;ODD ADD -2'S COMPLIMENT BEQ TC2 CMP R1,R2 ;AT END OF BUFFER? BHI .+4 ;YES-BRANCH HLT ;DATA ERROR MOV (SP)+,R3 ;RESTORE THE REGISTERS MOV (SP)+,R2 MOV (SP)+,R1 RTS PC ;EXIT TWAIT: BIT #2000,SR BEQ EWAIT WAIT ;WAIT HERE FOR INTERRUPTS BR TWAIT EWAIT: RTS PC ;EXIT WAIT LOOP ;GROUP OF NESTED SUBROUTINES SUBR1A: RTS PC ;ONE INSTRUCTION SUBR2A: SCC ;ONE DEEP RTS PC SUBR3A: JSR PC,SUBR2A ;TWO DEEP RTS PC SUBR4A: JSR PTc@ @ @ r ªhn°³h²8»b°†£@²`2@ `0†ƒ@2@ @ @ @ @ @ @ @ ‘ªŠvƒr0F“гƒb8º@ “@ `0†ƒl¸²@ @ @ @ @ @ @ @ 9VUl7–ƒn1Vœh16Ã@ @0@ ƒf0fË@ @ @ @ @ @ @ @ @ ÑÈ`Uf»d9v‹`ÅG‹r3d ‚@ `0&Ëp3@ @ @ @ @ @ @ @ �«`¶&Ëf7+p´D³@ &@ ` ƒpµ$›@ @ @ @ @ @ @ @ r ªhn°³h²8»b°†£@6`2@ `06»@³@ @ @ @ @ @ @ @ ‘ªŠvƒr0F“гƒb9º@ “@ `0Fƒj9’@ @ @ @ @ @ @ @ 9VUl7–ƒn4Vœh1&Ë@ @0@ ƒr0›@ UAT LEVEL 4 HSRIV: HSRINR ;HIGH SPEED READER 200 ;SERVICE AT LEVEL 4 HSPIV: HPOUTR ;HIGH SPEED PUNCH 200 ;SERVICE AT LEVEL 4 KLIV: KW11L ;KW11-L LINE CLOCK 300 ;SERVICE AT LEVEL 6 KWIV: KW11P ;KW11-P 300 ;SERVICE AT LEVEL 6 .=124 DRBIV: DRIR ;DR11-B GENERAL NPR INTERFACE 240 ;SERVICE AT LEVEL 5 AD01IV: AD01D ;AD01-D A-D CONVERTER 240 ;SERVICE AT LEVEL 5 AFCIV: AFC11 ;AFC11 ANALOG MULTIPLEXER 240 ;SERVICE AT LEVEL 5 AA11IV: AA11 ;AA11-A,B,C DIGITAL TO ANALOG ;CONV10 7 6737 1 000104 7 7357 1 400002 7 7567 1 200001 7 7673 1 104000 3 7775 1 042000 5 7776 1 021000 6 3777 1 010400: DPKG TSES TRC COR FLEAB TTADA ; RDWON IOCTRUSTIN2 C1CR ; 0 1000 02:C1KG RDWON IOCTRUSTINT ITCC ; 5 1100 0T:CIKG RDWON IOCTRUSTIN6 C1CR ; 1 1100 0P:GI KB 1BM1 DMP JD:ENKG PECO S TAKGE BN R TEINPON IOCTRUSTINE NCVAAD ;2 C1KG+,1)(RP CM R TEINPOA AT DETES;R R2P,GD#KV MO E NUTION CO,;N A GT KNE B TADAF OND;E CPKG,#R2P CM S ERNTOI PLTSURED ANA AT DCEANDV;A )+R4²ÿWC,SUBR3A ;THREE DEEP RTS PC SUBR5A: JSR PC,SUBR4A ;FOUR DEEP RTS PC SUBSPA: JSR PC,SUBR5A ;FIVE DEEP RTS PC .SBTTL ISOLATION ROUTINE ;THIS ROUTINE ON ERROR DETECTION OR END OF PASS OF ;PROCESSOR TEST WILL DELETE ONE DEVICE OF THOSE THAT ;HAVE BEEN SELECTED TO RUN. ON ENTERING THIS ROUTINE ;THE CURRENTLY DELETED ONE WILL BE RESTORED AND A ;NEW DEVICE DELETED. ISOLAT: BIT #400,SR ;IS ISOLATION REQUESTED BNE ISOLA1 TST ISFLG ;WAS ISOLATION IN PROGRESS BEQ ISOLA2 ;IF NOT EXXc@ @ @ @ @ @ @ @ ÑÈ`Uf»d9v£`ÅG‹r²d ‚@ `0ƒn4@ @ @ @ @ @ @ @ �«`¶&Ëf7+r´›@ &@ ` ƒp0ƒ@ @ @ @ @ @ @ @ r ªhn°³h²8»b°–£@²`2@ `0–‹@³@ @ @ @ @ @ @ @ ‘ªŠvƒr0F“гƒf9ª@ “@ `0ƒn³Â@ @ @ @ @ @ @ @ 9VUl7–ƒn4Vœh1FË@ @0@ ƒb2†³@ @ @ @ @ @ @ @ @ ÑÈ`Uf»d9v£`ÅG‹r´d ‚@ `0†‹j7@ @ @ @ @ @ @ @ �«`¶&Ëf7+r´«@ &@ ` ƒp´$£@ @ @ @ @ @ @ @ r ªhn°³h²8»b°–£@1YERTER WITH DISPLAY 200 ;SERVICE AT LEVEL 4 .=204 RFIV: RF11 ;RF11 DISK 240 ;SERVICE AT LEVEL 5 RCIV: RC11 ;RC11 DISK 240 ;SERVICE AT LEVEL 5 TCIV: TC11 ;TC11 DECTAPE 300 ;SERVICE AT LEVEL 6 RKIV: RK11 ;RK11 DISK 240 ;SERVICE AT LEVEL 5 MTIV: TM11 ;MT11 MAGNETIC TAPE 240 ;SERVICE AT LEVEL 5 CRDRIV: CRCM11 ;CARD READER (CR11/CM11 OR CD11) CRDRPS: 300 ;SERVICE AT LEVEL 6 (CR11/CM11) OR 4(CD11) UDIV: UDINT ;UDC11 UNIVERSAL DIGITAL CONTROLLER UDPS: 300 ;SERVICE AT LEVEL 6,()+R2 (MP C ORRR ET,ECRRCOINC BC ; T HL 4 .+Q BE S LTSURED VEEIEC RND AEDCTPEEXE ARMPCO ;P EM,T4)(RP CM C BCF OTSULES RADRE ;P EM,TCCGB@KV MO S ET SEREV NNEDOF INGHAL IL WAMGRRO;P 4 .-Q BE E ON DOR FITWA ; SRGC@KB ST T ONTITAPUOM CCC BRTTA;S E ICEV DTOA AT DNDSE ;R DBKG,@2)(RV MO E BLTAN IOCTRUSTINM RO FSR CUPT SE ;R CSKG,@1)(RV MO R TEISEG RCC BARLE;C SRGC@K0,#2V MO: TAKG TSULES ROFE BLTA ;4 ,RCPKG #OV M TADAF OLEAB;T R2P,GD#KV MO D TECUXE EBEO TONTIUCTRNS;I R1P,GI#KV MO: STTE®ÿ[IT MOV ISCNT,R5 ;RESTORE LAST DELETED DEVICE BIC ISWRD,SR1(R5) CLR ISFLG ;CLEAR ISOLATION FLAG JMP ST ;RESTART ALL SELECTED DEVICES ISOLA2: RTS PC ISOLA1: TST ISFLG ;HAS ROUTINE BEEN ENTERED BEFORE BNE ISO2 MOV #1,ISFLG ;SET FLAG ISO1: CLR ISCNT MOV #4,ISWRD CLR R5 BR ISO4 ISO2: MOV ISCNT,R5 ;SET UP TO ACCESS DEVICE SELECTION REGISTER BIC ISWRD,SR1(R5) ;RESTORE PREVIOUSLY DELETED DEVICE ISO3: ASL ISWRD ;SET UP TO DELETE NEW DEVICE BEQ ISO5 ;IF WORD =0, RESET ISO4:\c`2@ b0v£@5@ @ @ @ @ @ @ @ ‘ªŠvƒr0F“гƒl9ª@ “@ `0ƒh·Ê@ @ @ @ @ @ @ @ 9VUl7†ƒn9Æœb2F³@ @0@ Fƒb8V‹@ @ @ @ @ @ @ @ @ ÑÈ`Uf»b9vË`Ì&“l4d ‚@ j4fƒbµ@ @ @ @ @ @ @ @ �³`3³f·cl0„›@ &@ ` ƒl2ƒ@ @ @ @ @ @ @ @ r ªhf3“h²8»b°–£@8`2@ `06ƒ@´@ @ @ @ @ @ @ @ ‘¬Š6›r0F“гƒp9Š@ “@ `0fƒf·ª@ @ @ @ @ @ @ @ 9fUd³–ƒn4Vœh1‡Ë@ @0@ ƒ`0Ë@ @ @ @ @ @ @ @ @ ] .=240 PIRVEC:0 ;SOFTWARE INTERRUPT PIRLVL: 0 ;SERVICE AT SELECTED LEVEL .=250 SEGVEC: 252 SEGLVL: 0 RPIV: RP11 ;RP11 DISK PACK 240 ;SERVICE AT LEVEL 5 .=300 DC1RIV: DC11R1 ;DC11 #1 RECEIVE 300 ;SERVICE AT LEVEL 6 DC1TIV: DC11T1 ;DC11 #1 TRANSMIT 300 ;SERVICE AT LEVEL 6 DC2RIV: DC11R2 ;DC11 #2 RECEIVE 300 ;SERVICE AT LEVEL 6 DC2TIV: DC11T2 ;DC11 #2 TRANSMIT 300 ;SERVICE AT LEVEL 6 .=510 BUST1 ;BUS TESTER SECTION 1 300 ;SERVICE AT LEVEL 6 BUST2 ;BUS TESTER KG PECO S 1AG1 KSTTE ; NDGE KNE B OT NDO, =1 0IT BR3 SIF ; R3,S#1T BI: RTSTKG TADAD TERANEGEE ARDWAR HSTINGA ATSULES RWNNO;K NGRIPAOM CBY2 C1CRD AN, TTCI C6,C1CRF OTSULES RHE TSTTE ; N IOPT OCKHE CCYANNDDUREC LIYC C-A11KGT ES TTLBT.S TI RO:CTRA DI RT: TIACDR RTSTKGR B PECO S -4 .PL B PTRUERNT IUTTPOUR FOT AI;W S CCRA@DB ST T -4 .PL B PTRUERNT IUTNP IOR FITWA ; CSACDR @ST T TSUPRRTEINW LOAL ; PS0,24 #IC B ESBLNA EPTRUERNT IET;S CSACDR,@40#1S BI N IOATEREN GPTRUERNT I-A11DR ; ªÿ_ BIT ISWRD,SR1(R5) ;IF DEVICE NOT SELECTED BNE ISO3 ;DO NOT DESELECT BIS ISWRD,SR1(R5) ;DESELECT DEVICE JMP ST ;RESTART TEST ISO5: ADD #2,ISCNT ;INDEX FOR NEXT SR CMP ISCNT,#6 ;IF AFTER LAST SR BEQ ISO1 ;RESTART SEQUENCE INC ISWRD ;SET UP TO ISOLATE 1 DEVICE MOV ISCNT,R5 BR ISO4 ;START ISOLATION ISCNT: 0 ISFLG: 0 ISWRD: 0 ;ENTER HERE ON POWER FAILURE PFAIL: MOV #1,PFFLAG ;SET POWER FAIL FLAG MOV #RESTART,24 ;SET UP FOR POWER UP TRAP HALT ;HALT ON POWER D`cÑÈfV&›d9v£`ÅG‹j¹d ‚@ `0v‹b0@ @ @ @ @ @ @ @ �6³`²&›f·cp¹”»@ &@ ` vƒb³”ƒ@ @ @ @ @ @ @ @ r ªhf3“l29»d &ƒ@1`2@ d1‹@7@ @ @ @ @ @ @ @ ‘¬Š6›j0›˜³&ƒ`6Â@ “@ `0&‹p±º@ @ @ @ @ @ @ @ 9fUd³fƒn8Æœ`2vË@ @0@ ƒb²†‹@ @ @ @ @ @ @ @ @ ÑÈfV&›d7v«`Ì“l9d ‚@ `0vƒ`0@ @ @ @ @ @ @ @ �6³`²&»f·cf1„£@ &@ ` ƒr7D«@ @ @ @ @ @ @ @ r ªhf3“b³9»d0V‹@´`2@ d1‹@7@ @ @ @ aSECTION 2 340 ;SERVICE AT LEVEL 7 BUST3 ;BUS TESTER SECTION 3 240 ;SERVICE AT LEVEL 5 BUST4 ;BUS TESTER SECTION 4 200 ;SERVICE AT LEVEL 4 .IF DF LATNC .=544 LATST ;BUS LATENCY TESTER 140 ;SERVICE AT LEVEL 3 .ENDC ;LOAD STARTING ADDRESSES .=200 JMP BEGIN1 .=400 JMP BEGIN1 .=600 JMP BEGIN1 .=.+4 .SBTTL ABSOLUTE CORE DUMP ; INSTRUCTIONS FOR USE: ; ; 1. START THE ROUTINE AT 610. ; 2. THE DUMP ROUTINE WILL NOW HALT. ENTER THE ADDRESS OF THE ; DESIRED OUTPUT DEVIC OR FTSBIE NCNATEINMAT SE ;B CORA@D0,2000#1V MO N IOATEREN GPTRUERNT I-C11DR ; OR FTSBIE NCNATEINMAT SE ;S CCRA@D3, #OV M TSUPRRTEINC A,1-R1 DUT OCKLO ; PS0,24 #IS B ERSTGIREL RONTCOR EACL ; CSACDR @LR C ERSTGIREL RONTCOR EACL ; OBACDR @LR C R2R CL T UNCO,I0040 #OV M PECO S VLOLDR,@40#2V MO R TOEC VPTRUERNT IUTTPOUP UET;S ECOVDR,@TOACDR #OV M VLILDR,@40#2V MO R TOEC VPTRUERNT IUTNP IUPT SE ;C VERI@DI,CTRA#DV MO E OPSC 0 T NOF IUEINNTCO ; T1ACDRE BN A AT DITSMANTRE ATPD;U 1 RNC¦ÿcOWN NORMAL ;PROCESSOR WILL TRAP HERE WHEN POWER IS RESTORED RESTAR: MOV #STACK,SP ;RESTORE STACK MOV #PFAIL,24 ;SET UP FOR POWER FAILURE CLR PRFLAG CLR TEMP INC TEMP BNE .-4 HLT ;REPORT POWER FAILURE JMP PROCTS ;START PROCESSOR TEST PFFLAG: 0 B: 125252 .SBTTL FIXED VALUES AND TEMPORARY STORAGE FOR PROCESSOR TEST B ;ADDRESS OF B 052525 .=B+10 A: -1 A+4 .=A+4 125252 A+10 ;ADDRESS OF A+10 052525 C: 0 C ;ADDRESS OF C .=C+10 TEMP: 0 TEMP ec@ @ @ @ ‘¬Š6›p0f‹˜³&ƒpµ’@ “@ `06ƒf¸²@ @ @ @ @ @ @ @ 9fUd³†ƒn±Äœb2†Ã@ @0@ ƒb²†‹@ @ @ @ @ @ @ @ @ ÑÈfV&›f8v‹@Ì“j8d ‚@ f0v›f6@ @ @ @ @ @ @ @ �6³`²&Ëf·c`2Ë@ &@ ` ƒh1”«@ @ @ @ @ @ @ @ r ªhb4«h²8»b°«@µ`2@ `0†£@¹@ @ @ @ @ @ @ @ ‘¬Š£r°F“гƒb°Â@ “@ `0&ƒrµ²@ @ @ @ @ @ @ @ 9vU`°–ƒn1Vœh1v»@ @0@ ƒn1V‹@ @ @ @ @ @ @ @ @ ÑÈnWƒd9v‹`ÅF‹l¸d ‚@ `0W‹j4eE INTO THE SWITCH REGISTER AND ; PRESS CONTINUE. ; 3. THE DUMP ROUTINE WILL HALT AGAIN. NOW ENTER THE FIRST WORD ; ADDRESS OF THE DATA AREA TO BE DUMPED AND PRESS CONTINEUE. ; 4. THE ROUTINE WILL HALT A THIRD TIME. FINALLY ENTER THE LAST ; WORD ADDRESS OF THE DATA AREA TO BE DUMPED AND ; PRESS CONTINUE. DUMPING WILL NOW PROCEED IN ABSOLUTE ; FORMAT ON THE SELECTED DEVICE. ; 5. WHEN DUMPING IS COMPLETE THE ROUTINE WILL HALT. ; IF FURTHER DUMPING IS DESIRED PROCEED TO STEP #3. IT IS ; N I LT H +4 .EQ B TADAD VEEIEC RCKHE;C IBACDR,@R1P CM T HL 4 .+Q BE A AT DCKHE;C OBACDR,@R1P CM R FEUF BUTTPOUO TTADAV MO ;B CORA@D1, ROV M1:CTRA DE OPSC A AT DSTTER EACL ; R1R CL R TEISEG ROLTRON CARLE;C S CCRA@DR CL T UNCON IOATERITR EACL ; NTOUICR CL R TEISEG RALEREN G-C11DR, -A11DRT ES;T T TRGS KNE B OT NDO, =1 2IT BR3 SIF ; R3,S#4T BI: CTRA D ! !!EDLLTANS IBET US MLEAB CCEANENNTAI ME:OT;N DEMOE NCNATEINMAN I,C-A11DRF OSTTEL TTSB . 0 : LGNF DI RT G LA FNEDOE ARTWOF SET;S G ¢ÿg ;ADDRESS OF TEMP .=TEMP+6 TEMP+10 ;ADDRESS OF TEMP+10 OR "D" D: 0 .SBTTL FLOATING POINT CONSTANTS AND DATA D1010: -1 D0101: 0,-1,0 D1001: -1,0,0 DSMALL: WEIRD: -1,1,0,-1 AD0101: D0101 AD1001: D1001 AD1000: D1000 DBIG: 77777,0,-1,0 DMZERO: 100000,0,0,0 AANS1: ANS1 DALTA: 40252,125252,125252,125252 DALTB: 40325,52525,52525,52525 DALTC: 40325,52525,52525,52526 D40: 40000,0,0,0 D37: 37400,0,0,0 D46: 40600,0,0,0 D20: 20000,0,0,0 D0100: 0 D1000: -1,0,0,0 D0100X: 100,0,0 D0Þ !@B !@B !@B > ÿÿr8ÀLRiOT NECESSARY TO RE-SPECIFY THE DEVICE ADDRESS. ; 6. TO PUNCH STOP CODE WHEN DUMP HAS BEEN ; COMPLETED, SET BIT 0 OF SWITCH REGISTER=1 AND ; PRESS CONTINUE. THE DUMP ROUTINE WILL HALT. ; SET SWITCH REGISTER BIT 0=0 AND ; PRESS CONTINUE. THE DUMP ROUTINE WILL HALT. ; PRESS CONTINUE. THE DUMP ROUTINE WILL PUNCH A STOP CODE ; AND THEN HALT. THE PAPER TAPE PUNCH MAY NOW BE UNLOADED. ; MOV PC,SP ;SET UP STACK TST -(SP) ;ADDRESS HALT ;ENTER DEVICE ADDRESS MOV @#SR,R0 MOV R0,E.TCSR FLDNM CO R TEISEG ROLTRON CARLE;C R CSDN @ LR C ORRR ET,SET NOE ON;D LT H +4 .MI B NEDOR FOT ES;T R CSDN @TBTS: SRNI D T UPRRTEIN1 N1 DONE ER HERNT;E T ACDRR BD:ENDN PECO S AGFLE ON DREWAFTSOR EACL ; LGNF DLR C -4 .PL B PTRUERNT IOR FITWA ; LGNF DST T TSUPRRTEINW LOAL ; PS0,34 #IC B RYET RND ALLCAN DOANABE RCFO ; LEABENT UPRRTEIN ; DEMOE NCNATEINMA, LEABEN ; ERSTMA, STUEEQ RLLCAT SE ;R CSDN,@1541 #OV M AGFLE ON DREWAFTSOR EACL ; LGNF DLR C -4 .PL B PTRUERNT IORžÿk111: 0,-1,-1,-1 D5TO1: 0,54321 AD5TO1: D5TO1 F5TO1: 43661,121000,0,0 SAVADR: 0 SAVSTS: 0 FLTERR: STFPS FPS STST FEC HLT RTI ANS1: 0 ;FIRST ANSWER (SEE CODE) ANS2: 0 ANS3: 0 ANS4: 0 ANS5: 0 ANS6: 0 ANS7: 0 ANS8: 0 FEC: 0 ;FLOATING EXCEPTION CODES FEA: 0 ;FLOATING EXECPTION ADDRESS .TYPE: 0 FPPERF: 0 FPTADR: 172160 ;FLOATING POINT ADDRESS ON THE 11/20 FPVECT: 244,246 ;FLOATING POINT VECTOR ADDRESS .=.+174 STACKK: 0 ;BUFFER FOR SP .=.+174 STACK: 0 ;GENERALm;SET UP PS ADDRESS INC R0 INC R0 ;GENERATE DATA ADDRESS MOV R0,E.TDB ;SET UP DATA ADDRESS E.0: HALT ;ENTER START LOCATION TO R0 MOV #E.PUN,R3 MOV @#SR,R0 ;START LOCATION TO R0 HALT ;ENTER ENDING LOCATION INTO SR MOV @#SR,R1 ;ENDING LOCATION TO R1 MOV #10,R2 ;10 NUL FRAMES TO PUNCH CLR R5 ;R5=CHECKSUM CLR R4 ;R4=CONTAINS FRAME TO PUNCH E.1: TST R2 ;ALL DONE? BLE E.2 ;JUMP IF YES JSR PC,(R3) ;PUNCH ONE NULL FRAME DEC R2 ;DECREMENT FRAME COUNT BR E.1 E.2: INC R4 FITWA ; LGNF DST T TSUPRRTEINE BLNA;E S ,P40#3C BI F OFR WEPOE RCFO ;R CSDN,@0020 #IS B LEABENT UPRRTEIN ; DEMOE NCNATEINMAE,BLNA;E R TEAS MT,ESQUREL AL CET;S SRNC@D5,11 #OV M AGFLE ON DREWAFTSOR EACL ; LGNF DLR C -4 .PL B PTRUERNT IOR FITWA ; LGNF DST T TSUPRRTEINC LOAL ; PS0,34 #IC B USATSTT SEA AT DCEOR;F E BLNA EPTRUERNT;I , DEMOE NCNATEINMA, LEABEN ; ERSTMA, STUEEQ RLLCAT SE ;R CSDN,@1511 #OV M AGFLE ON DREWAFTSOR EACL ; LGNF DLR C -4 .PL B PTRUERNT IOR FITšÿo STACK ;TEXT FOR AA11 DAC WITH SCOPE OPTION ;TEXT = "PDP11" TEXT: P XD P DASH N1 N1 P: .BYTE 177,11,11,11,6 XD: .BYTE 177,101,101,101,76 DASH: .BYTE 0,10,10,10,0 N1: .BYTE 0,102,177,100,0 .EVEN AAR0: 0 ;AAII (ROW) AAR1: 0 ;AAII COLUMN AAR2: 0 ;CHARACTER POINTER AAR3: 0 ;HOLDS CHARACTER YPOS: 0 XPOS: 0 YPT: 0 PNTR: 0 CNTR: 0 ;SIZER FOR FIXED VECTOR DEVICES ;DETERMINE WHAT FIXED VECTOR DEVICES ARE ON SYSTEM ;AND CLEAR BIT IN DEVICE SELECTION REGISTER CORq;SET R4=1 JSR PC,(R3) ;PUNCH A START FRAME CLR R4 ;R4=0 JSR PC,(R3) ;PUNCH A ZERO FRAME MOV R1,R4 ;SAVE LWA SUB R0,R4 ;LWA-FWA ADD #7,R4 ;CORRECT COUNT JSR PC,(R3) ;PUNCH LOWER ORDER OF COUNT SWAB R4 ;GET UPPER BYTE JSR PC,(R3) ;AND PUNCH IT MOV R0,R4 ;GET LOAD ADDRESS JSR PC,(R3) ;AND PUNCH ITS LOWER ORDER SWAB R4 ;GET UPPER ORDER JSR PC,(R3) ;AND PUNCH IT E.3: CMP R0,R1 ;DONE PUNCHING DATA? BGT E.4 ;BRANCH IF YES MOVB (R0)+,R4 ;GET A DATA BYTE JSR PC,(R3) WA ; LGNF DST T TDUPRRTEINW LOAL ; PS0,34 #IC B ITIG DXTNET ENESPRE RCFO ; E,BLNA EPTRUERNT;I E OD MCEANENNTAI ME,BLNA;E R TEAS MT,ESQUREL AL CET;S SRNC@D5,51 #OV M PECO S AGFLE ON DREWAFTSOR EACL ; LGNF DLR C 4TYRIIOPRO TORSSCERO PET;S S ,P00#2S BI L VELEE ICRVSET UPRRTEINP UET;S VLNL@D0,20 #OV M ORCTVET UPRRTEIN1 N1 DUPT SE ;C VEDN,@SRNI#DV MO R LEIA DALITIG D11DNT ES;T D ENDNE BN T NOO D1,0=T1BI2 SRF ;I R2,S0020 #IT B1:N1 D E OD MCEANENNTAI MIN1 N1 DOFT ES TTLBT.S –ÿsRESPONDING ;TO THAT DEVICE SIZER: MOV #DEVTAB,R5 ;GET TABLE OF DEVICES TO BE CHECKED MOV #177777,SR1 MOV #177777,SR2 MOV #177777,SR3 MOV #5$,@#4 ;SET UP POINTER FOR MOV #340,@#6 ;NON-EXISTENT DEVICE TIMEOUT CLR R1 CLR R2 1$: TST @(R5)+ ;IF DEVICE EXISTS, NO ;TIMEOUT WILL OCCUR MOVB (R5)+,R1 ;GET OFFSET TO DEVICE SELECTION ;REGISTER MOV #1,R3 ;SET UP TO SELECT DEVICE MOVB (R5)+,R2 ;GET POSITION OF DEVICE SELECT BIT 2$: BEQ 3$ ;WHEN BIT IS IN CORRECT POSITIu ;AND PUNCH IT BR E.3 E.4: NEG R5 ;NEGATE CHECKSUM MOV R5,R4 JSR PC,(R3) ;PUNCH CHECKSUM BR E.0 ;AND GO BACK TO BEGINNING ; E.PUN: TSTB @#.-. ;WAIT E.TCSR = .-2 BPL E.PUN ;READY MOVB R4,@#.-. ;PUNCH A FRAME E.TDB = .-2 ADD R4,R5 ;ACCUMULATE CHECKSUM RTS PC .SBTTL DEVICE DRIVER OVERLAY LINKAGES .=1020 GETSW: DMYRTS ;SET UP BY USER FOR SWITCH REGISTER INPUTS PRIME: DMYRTS ;SET UP BY USER FOR DEVICE PRIMING 0 OVFLAG: 0 ;OVERLAY TO GTP COMMUNICATION WORD LINKER: D:ENDR DREN . =. N -N N - ONTINATIES;D N TOD REERSFANTRS ICEURSO ; N 4 T EP.R: UFRB D0 : LGRF DI RT G FLDRC IN: IRDR PTRUERNT I-B11DRN OREHER TEEN ; 1 N1 DMP JA:NDRE DE OPSC A AT D1BR1 DAD;B LT H +4 .HI B NDRE#D1, RMP C ALQU EBED ULHO;S 2 .-Q BE D OR WNDCOSED ANT RSFI ;+ 1)(R+,1)(RP CM 1 ,RUFRB#DV MO G FLDRR CL 4 .-Q BE G FLDRT TS O GND AIE, NTAI;M STDR,@010101 #OV M BRRD@D1,#-V MO A RB@DF,BUDR #OV M ERXFD OR W20 ;C RW@D0,-2 #OV M PECO S LGRF DLR C DAENDRE BN ’ÿwON ASL R3 ;POSITION BIT DEC R2 BR 2$ 3$: BIC R3,SR1(R1) 4$: TST (R5) ;AT END OF TABLE ? BNE 1$ MOV #6,@#4 CLR @#6 RTS PC 5$: TST (R5)+ CMP (SP)+,(SP)+ BR 4$ STORE: SR1 DEVTAB: .WORD 177546 ;KW11-L .BYTE 0,4 .WORD 172540 ;KW11-P .BYTE 0,6 .WORD 170000 ;BUS TESTER SECTION 1&2 .BYTE 0,8. .WORD 170020 ;BUS TESTER SECTION 3&4 .BYTE 0,9. .WORD 177460 ;RF11 .BYTE 0,10. .WORD 171774 ;UDC11 .BYTE 0,11. .WORD 177440 ;RC11 .BYTE 0,12. .WORD 177340 ;TCy0 ;OVERLAY LINKING POINTER DMYRTI: RTI ;DUMMY RETURN FROM BACKGROUND OVERLAY DMYRTS: RTS PC ;DUMMY RETURN FROM USER CODE .SBTTL GTP VARIABLES ICOUNT: 4000 ;NUMBER OF ITERATIONS OF SUBTEST ;TO BE EXECUTED PRFLAG: 0 ;ERROR HANDLER IN USE FLAG PASCNT: 0 ;NUMBER OF PROGRAM PASSES SR1: -1 ;FIRST DEVICE SELECTION REGISTER SR2: -1 ;SECOND DEVICE SELECTION REGISTER SR3: -1 ;THIRD DEVICE SELECTION REGISTER LOCORE: 40000 0 HCORE: 0 ;UPPER LIMIT FOR CORE EXPANSION SCOPEF: 0 2 SR0,#4T BI: 1BR1 D E OD MCEANENNTAI MINB 11DRF OSTTEL TTSB . 0 : LGDF UI RT T UPRRTEINE OVEM;R CRUD,@00#4C BI L RONTCOE BLSADI ;R DC@U6,#3C BI G LA FNEDOE ARTWOF SET;S G FLUDM CO: NTDI U T UPRRTEIN1 C1UDN OREHER TEEN ; 1BR1 DBR E OPSC G LA FEDURCC OPTRUERNT;I D REEREF DDC UET;S UDTCWA1, #OV M ORRR;E LT H +4 .EQ B ET SIF+RORRR EE,ON DEF DIS ;R DC@U1,0400#1P CM 6 L VELET APTRUERNT IXTNEE ICRVSE ;6 230,30 #OV MI:EF DG LA FNEDOE ARTWOF SARLE;C G FLUDR CL 4 .-L BP T UPRRTEINR Žÿ11 .BYTE 0,13. .WORD 176756 ;AA11 .BYTE 2,2 .WORD 172570 ;AFC11 .BYTE 2,3 .WORD 177400 ;RK11 .BYTE 2,4 .WORD 172410 ;DR11-B .BYTE 2,5 .WORD 176770 ;AD01-D .BYTE 2,7 .WORD 176720 ;RP11 .BYTE 2,8. .WORD 172520 ;TM11 .BYTE 2,11. .WORD 173000 ;M792YA .BYTE 2,12. .WORD 173100 ;M792YB .BYTE 2,13. .WORD 0 .END } ;NUMBER OF ITERATIONS OF SUBTEST COMPLETED CONFIG: 0 ;PROCESSOR CONFIGURATION RETURN: PROCTS ;CONTAINS ADDRESS OF LAST TEST COMPLETED ACTFLG: 0 ;IF NOT 0, PROGRAM UNDER EXTERNAL MONITOR CONTROL QVFLG=ACTFLG+1 ;IF NOT 0, PROGRAM RUNS IN QUICK VERIFY MODE .SBTTL DEVICE REGISTER AND VECTOR TABLE .=1100 ;KL11 TRCSR: 177560 ;TELETYPE READER CONTROL STATUS REGISTER TRDR: 177562 ;TELETYPE READER DATA BUFFER TTCSR: 177564 ;TELEPRINTER CONTROL STATUS REGISTER TTDBR: 177566 ;TELEPRFOT AI;W G FLUDT TS E OD MCEANENNTAI MET;S CRUD,@00#4S BI E BLNA EANSCD REFEDE ; LEABENT UPRRTEIND REFEEF DET;S CRUD,@13 #IS B AGFLD RECUOCT UPRRTEIN ; TEIAEDMM I11DC UET;S UITCWA1, #OV M NEDOR CLR FOT AI;W OP N IF RTERANEGE ; SRUD @ST T ORRR;E LT H +4 .EQ B ET SIF+R, ORRR EE,ON DMM IIS ;R DC@U1,2000#1P CM 4 L VELET APTRUERNT IXTNEE ICRVSE ;6 230,20 #OV MI:MM IG LA FNEDOE ARTWOF SARLE;C G FLUDR CL 4 .-L BP T UPRRTEINR FOT AI;W G FLUDT TS E OD MCEANENNTAI MET;S CRUD,@00Šÿ�INTER DATA BUFFER ;PC11 HRCSR: 177550 ;HIGH SPEED READ STATUS REGISTER HRDBR: 177552 ;HIGH SPEED READER DATA BUFFER HPCSR: 177554 ;HIGH SPEED PUNCH CONTROL STATUS REGISTER HPDBR: 177556 ;HIGH SPEED PUNCH DATA BUFFER ;KW11-L LKCSR: 177546 ;KW11-L LINE CLOCK CONTROL STATUS REGISTER ;LP11 LPCSR: 177514 ;LP11 LINE PRINTER CONTROL STATUS REGISTER LPDBR: 177516 ;LP11 LINE PRINTER DATA BUFFER ;DR11-A,C DRACCS: 167770 ;DR11-A,DR11-C CONTROL STATUS REGISTER DRACOB: 1677#4S BI F RIE ATEREN;G E BLNA EANSCE ATDIMEIM ; LEABENT UPRRTEINE ATDIMEIMT SE ;R DC@U5,#2S BI E ON DARLE COR FITWA ; P NO F RIE ATEREN;G R DS@UT TS E OPSC G LA FEDURCC OPTRUERNT;I E ATDIMEIM1 C1UDR EACL ; UITCWAR CL G LA FEDURCC OPTRUERNT;I D REEREF D11DC UARLE;C D CUAT WLR C AGFLE ON DREWAFTSOR EACL ; LGDF ULR C ERSTGIREN CA SARLE;C R DS@UR CL R TEISEG ROLTRON CARLE;C R DC@UR CL 6 L VELET APTRUERNT ISTIR FCEVIER;S PSUD0,30 #OV M 11DC USTTE ; 1BR1 DNE B OT NDO, =1†ÿÄP³E€Kþ~=ì±Qƒ8Kªå0`Ö�à!�Á,H‹]Ô¬oBéVä­ð]W®t£ÃϹ_JË·…ž='‡,q†u¥X˜¢—ñ‰àéje¦ÿ% ×rOŒ›u>�¾“úv¢¾OÊ mYÜCø`Žž˜ÒT-òEMÃoðKŸC¤ê6Â_Â)²M±ƒúTºą©AížšÚ·ŽA836\çþã,Ií£*¹Cá¨ðž²Å-öÅ×?{žÓO-@àìÃ{⟻å6rp'¢K‰"/TT[ÿ-H¹°ÑÌÿô*Âñ�¤)S¼ih>~Ÿ*±Ÿç(rˆG�Åhû ×?ºA¬·ÃŠ\»þdñÛê鵟Y ¥ž÷*-3PSkþçvGìËhŽ9O4k;ªµ.O|8òY­çˆT*ƒÏF4bœ½V8+c}`5Þ $Ö¬òG¹RÄÙ:ͪE¸±å²\�õBß“'‰–¾slíär8ž±ã0ž³…á�ºËld�ï55ìWÙÎSg m¢ RÓ< ¡6Xrˆp'5``j àÁçô ‹¯]ùoQÞ3Wì “fÉüi­�Ù›r�zè3áÅH뜲Ãpô´)m‰y&ÂZñ†º…a23y“"þ�…72 ;DR11-C,DR11-C OUTPUT BUFFER DRACIB: 167774 ;DR11-A,DR11-C INPUT BUFFER DRIVEC: 0 ;DR11-A,C INPUT INTERRUPT VECTOR DRILVL: 0 ;DR11-A,C INPUT INTERRUPT SERVICE LEVEL DROVEC: 0 ;DR11-A,C OUTPUT INTERRUPT VECTOR DROLVL: 0 ;DR11-A,C OUTPUT INTERRUPT SERVICE LEVEL ;RF11 RFDAE: 177470 ;RF11 DISK ADDRESS AND ERROR RFDBR: 177472 ;RF11 DATA BUFFER RFDAR: 177466 ;RF11 DISK ADDRESS REGISTER RFWC: 177462 ;RF11 WORD COUNT REGISTER RFCAR: 177464 ;RF11 CURRENT ADDRESS REGISTER RF11IT BR1 SIF ;1 SR0,00#4T BI: 11DC U Y ELATRNTEAL6 D AN4 L VELEN OPTRUERNT;I T ES TOLTRON C11C-UDL TTSB . : OTBOND EE OPSC: D311MR ORRR EUMKSECCH ; T HL: D211MR D311MRQ BE M SUCKHE CERRD OGHHIT ES;T 7 ,#R1P CM 2 1DR1 MNE B UMKSECCHR DEORW LOT ES;T 565011,#R0P CM 1 1DR1 MNE B R20,2073#1P CM 1 RDC A UMKSECCHE ATEREN;G R0+,2)(RD AD: D111MR 003177T AEDATOC;L B -D11MRF ORDWOT RSFI ;2 ,R003117 #OV M R1R CL M SUCKHE CTERANEGEO TUPT SE ; R0R CL: DB11MR OTBOND EBR E OPSC: B392M7 ‚ÿ‰CSR: 177460 ;RF11 CONTROL STATUS REGISTER RFCSRH: 177461 ;HIGH BYTE ADDRESS OR CSR ;RC11 RCLA: 177440 ;RC11 LOOK AHEAD REGISTER RCDBR: 177456 ;RC11 DATA BUFFER RCDAR: 177442 ;RC11 DISK ADDRESS REGISTER RCWC: 177450 ;RC11 WORD COUNT REGISTER RCBAR: 177452 ;RC11 CURRENT ADDRESS REGISTER RCCSR: 177446 ;RC11 CONTROL STATUS REGISTER RCCSRH: 177447 ;HIGH BYTE ADDRESS OF CSR ;DT11 DTCSR1: 177420 ;BUS SWITCH CONTROL STATUS REGISTER ;RK11 RKDBR: 177416 ;RK11 DATA BUFFORRR EUMKSECCH ; T HL: B292M7 B392M7Q BE M SUCKHE CERRD OGHHIT ES;T 6 ,#R1P CM 2 2B79 MNE B UMKSECCHR DEORW LOT ES;T 311617,#R0P CM 1 2B79 MNE B R20,1673#1P CM 1 RDC A UMKSECCHE ATEREN;G R0+,2)(RD AD: B192M7 003177T AEDATOC;L B 2Y79 MOFD OR WSTIR;F R20,1073#1V MO 1 RLR C UMKSECCHE ATEREN GTOP UET;S 0 RLR C B292M7E BN B 2Y79 MCEVIDES ;I 003117@#1,7013 #MP C DB11MRQ BE B -D11MRE ICEV DIS ;0 1073#1,@0207#1P CM B -D11MR, YB92M7T ES;T T OODBENE BN T NOO D1,3= 1IT BR2 SIF ;2 ~ÿ–@¦¾´€|~à Øh¡‚pÈø“`´³ÎÁËKùŠ—zÀe?ߺóãÌú~-ýíí‚AûB—‘w”¬fóÈec"Љr‚! VJw~+ä|sè(—ýii ª\.]¤2ÒiÂó6Šœ‰ûu1–Ìá‡ÜéA™Z»ûÛ%Îíܯ ¦ƒ6ñô‡o±,C·¸wÂÒ0àƒ§¨Àæ6Ý�ƒ€å EKùn(KÅL0ˆ¬ùú/ïºßE�Eqýk²–fßõ†ÿc’Ïc浤C&u¾ÌO·m;’±CÌ~ZžàcL-ÂÔ0Â�–.”a¡ÚÉwÌ Ú_¯–„²Å&(�ý±‘[í�ªÕ\*¤ìuçhP®¨oªâŤnWªiF6ú„9u)Â#ìš!èÀ¬y2*šõI«%“mÔ:¾Í¦”mEMåC09ŸÈá_7ôè¨'Ø?p‡ŸFÎG)\Ç ì7ÆÙu޼Íh!X¢7q½'Ðkhd/Jša×#·MgôÈg:@¨F2®½B†EcµÆ‘ß;¹ÿ·ôÞŸ&Ý�Û}¯Ù[âtä…Õ”Ú‡RhT4ëi= æXZ"%„KwÜ){¾n›Aš‘&Ê-–zyªÝµÊÑ£tÉ_4œÐ¶©ÁôÍ[8»HXû .Ο£6 šÿÕyœ¬Gº.E¦E‡6¾³rì�þ@a…ìE�ER RKDAR: 177412 ;RK11 DISK ADDRESS REGISTER RKDAH: 177413 ;RK11 HIGH BYTE OF DISK ADDRESS RKWC: 177406 ;RK11 WORD COUNT REGISTER RKBAR: 177410 ;RK11 CURRENT ADDRESS REGISTER RKCSR: 177404 ;RK11 STATUS REGISTER RKCSRH: 177405 ;RK11 HIGH BYTE ADDRESS OF CSR RKDSR: 177400 ;RK11 DRIVE STATUS REGISTER RKDRV: 0 ;RK11 DRIVE SELECTED FOR TEST ;KE11 MQ: 177304 ;KE11 MULTIPLIER-QUOTIENT REGISTER AC: 177302 ;KE11 ACCUMULATOR SC: 177310 ;KE11 STEP COUNTER SRE: 177311 ;KE11 STSR0,0020 #IT BB:2Y79 M S ERADLOP RASTOTBOK UL BDB11MR, YB92M7T ES TTLBT.S PECO S5:2A79 MA 2Y79 MOT NISE ICEV;D R OR,ROERM SUCKHE;C LT H4:2A79 M5 2A79 MEQ B 10,#R1P CM 4 2A79 MNE B ERRD OOW LUMKSECCH ;5 7372#10, RMP C YA92M7T NO ; A492M7E BN N IORSVER HEOTT IIS ;4 0173#1,@1250 #MP C3:2A79 ME OPSC ; A592M7R B YA92M7N IORRR;E LT H2:2A79 MT ECRRCOM SUK ECCH ; A592M7Q BE 0 #11, RMP C CTREORNC IUMKSECCH ; A292M7E BN 5 7167,#R0P CM 3 2A79 MNE B NSIORSVE2 ;4 0173#1,@1207#1P CM zÿ‘ATUS REGISTER MUL: 177306 ;KE11 MULTIPLY DIV: 177300 ;KE11 DIVIDE NOR: 177312 ;KE11 NORMALIZE LSH: 177314 ;KE11 LOGICAL SHIFT ASH: 177316 ;KE11 ARITHMETIC SHIFT ;TC11 TCCM: 177342 ;TC11 CONTROL AND FUNCTION REGISTER TCST: 177340 ;TC11 GENERAL STATUS REGISTER TCDT: 177350 ;TC11 DATA BUFFER TCWC: 177344 ;TC11 WORD COUNT REGISTER TCBA: 177346 ;TC11 BUS ADDRESS REGISTER TCDRV: 400 ;DECTAPE DRIVE SELECTED FOR TEST ;CR11, CM11 CRS: 177160 ;CARD READER PS REGISTER ADE NUTION;C 1 2A79 MNE B OTBOF OND EOT NIF ;2 ,R003117 #MP C R1C AD M SUCKHE CTERANEGE ;0 ,R)+R2 (DD A1:2A79 M0 0073 7ATD TECALO ; YA92M7F ORDWOT RSFI ;2 ,R003017 #OV M R1R CL M SUCKHE CTERANEGEO TUPT SE ; R0R CL A 2Y79 MOFT ES;T A 2Y79 MSTTE ; YB92M7E BN T NOO D1, =12T BI2 SRF ;I R2,S0000#1T BI: YA92M7 ERADLOP TASROTBOE AP TERAP PYA92M7T ES TTLBT.S E:EAND EE OPSC T HL 4 .+Q BE 1 2PSK ECCH ;E SR,@22 #PBCM T HL 4 .+Q BE C @AT TS T HL 4 .+Q BE Q @M5,5252 #MP C IV@D0,vÿÿØ=ýhcÓ´ÞAs)¬ÿõ¸j —0›‡.àoÔÁ#¯ŠÕ|•e«ŠTòV³u;݈’ÜyµÍ»í¡¿”¶Úw-!Á§”½ú‡üIöFË`¼<³ÇYWgžz;‡ùņŲmÞâõìz“Ë k¾yí}mý1vB`#”†›=ÉéÓÚÓËO…:b2ólDô#i‰Ï‡HZMÝÖ…ùíÆ2iCKô¿îˆç\äQ>+ÓÒz¯õáÀÖÖîq]Ð9¢}gtTlŸ=Hc £Ñp¦¾**ç�¥9xrs*jîç~ö.šµ��W¡"êµüU©:Rçv4í®,²™PÈ¡¼!s"ÕJáÖïå µÏó²-Cíeö€“œµDBпðP7öa øôË?QŒîs‡IM#rΛBRá‚ÓþÄ>ú�ÇmíC’ UŸœ»"7<ÕL&¨pi|� Ùžx‹{n|Ï–TŽb Ãæâ `ýh|uã³Z.ß,„Ͷ^Кß ¼"‘UU/ä4S#œs>g†?lD‡Z9ì:¼üeDÓ|¨–Ç‘2y°«;8® …͆ù~+²Rë¶6Stfl$}ñóÌû¼ÆMηØ[ ŠKƒÇÔ—ËÂ,㳸·4Y1�Äqê¥+%�÷Ër�øÚt2b�‰`‹³Z÷•DRESS CRB1: 177162 ;CARD READER CARD IMAGE DATA BUFFER CRB2: 177164 ;CARD READER ENCODED DATA BUFFER ;CD11 CDST: 172460 ;CD11 CONTROL STATUS REGISTER CDCC: 172462 ;CD11 COLUMN COUNT REGISTER CDBA: 172464 ;CD11 BUSS ADDRESS REGISTER ;AD01-D ADDBR: 176772 ;AD01-D DATA BUFFER ADCSR: 176770 ;AD01-D CONTROL STATUS REGISTER ADCSRO: 176771 ;HIGH BYTE OF CONTROL STATUS REGISTER ;RP11 RPCA: 176722 ;RP11 CYLINDER ADDRESS DISK RPDAH: 176725 ;RP11 HIGH BYTE OF DISK ADDRESS0040 #OV M UL@M0,0040 #OV M IV@D0,0040 #OV M UL@M0,0040 #OV M IV@D0,0040 #OV M UL@M0,0040 #OV M IV@D0,0040 #OV M UL@M0,0040 #OV M IV@D0,0040 #OV M UL@M0,0040 #OV M MQ,@2525#5V MO K AC BTOK AC BDEVIDID ANY PLTIUL M0)/211P-PD (-A11KET ES TTLBT.S PECO S E)IZALRMNO (ORRR EONT AL;H LT H ODGOF IORRR EIPSK ; +4 .EQ B 3THWIC SREPAOM;C C @S3, #PBCM R ROERN OLTHA ; T HL D OO GIFR ROERP KI;S 4 .+Q BE 0 5252H IT WMQE ARMPCO ;Q @M0,5252 #MP C ORRR EONT AL;H LT H ODGOF IORRR EIPSKrÿ™ RPDSR: 176710 ;RP11 DRIVE STATUS REGISTER RPDAR: 176724 ;RP11 DISK ADDRESS REGISTER RPWC: 176716 ;RP11 WORD COUNT REGISTER RPBAR: 176720 ;RP11 CURRENT ADDRESS REGISTER RPCSR: 176714 ;RP11 STATUS REGISTER RPCSRH: 176715 ;RP11 HIGH BYTE ADDRESS OF CSR ;AA11 SCSR: 176756 ;AA11 STATUS REGISTER DAC0: 176760 ;AA11 X REGISTER DAC1: 176762 ;AA11 Y REGISTER ;DN11 DNCSR: 175200 ;DN11 CONTROL STATUS REGISTER DNVEC: 340 ;DN11 INTERRUPT VECTOR DNLVL: 342 ;DN11 PRIORITY ; +4 .EQ B 050010H IT WACE ARMPCO ;C @A5,0000#1P CM E IZALRMNOT ARST ; OR@NR CL 0 0070 1THWIC AADLO ;C @A0,0070#1V MO 2 2525 1THWIQ MADLO ;Q @M2,2525#1V MO E IZALRMNO) 201/-1DP(PA 1-E1 KSTTEL TTSB . E OPSC ) FTHI SHTIG(RR ROERN OLTHA ; T HL D OO GIFR ROERP KI;S 4 .+Q BE 0 1THWIR SREPAOM;C RE@S0,11 #PBCM R ROERN OLTHA ; T HL D OO GIFR ROERP KI;S 4 .+Q BE 0 H IT WMQE ARMPCO ; MQ,@#0P CM R ROERN OLTHA ; T HL D OO GIFR ROERP KI;S 4 .+Q BE 0 0000 1THWIC AREPAOM;C AC,@000010nÿÊ”í�«ÂB¥®^”84êÉÝî.Û[á�ެ†rŒ™ÙRy—‚ºü)D“ùâ¨Èeö‘&?«Ã÷~®Z©ÆÍ¦*K¾w’Ò$–-1¸Âå»>”½ `ÈHÐ-ÝC!j« K‡2Jï>Ž”W3@«g�ËNHÚ%F¾Y}¼º´ÎXCEýqQgk0¢]/2-×C¼ƒg4�8ºÓ<ÍKYš#5{ÙÉÏÔ xΡÜø�™ðš û·¤ÈÎ…Ú¢ –…fyt˜Èºž;Eç ³2ÍÁþÀîÚìE&E8$Ñ00àAv,ÀRa|�»Ä ugoU�Wu‰fEåûüA(TØ ùªq&ˆÚj‚ª®%,£�r£Ì»t†÷‹‰¨E\ZÇRË„½ä(ïV�§;¤ «‰_AôŠ,{—daAéõ~‘�œo÷S-).ÆÌ›?`gáã��˜Íƒ_;!¹!-GîÂÁtÇ•UçNÓ!­Ý>X3®m®L¢CJ÷ŠŸÌõJ7 ’'hÕú‡?ñ FiéN½h$b1C<Ôñ¬YHš`wЖEw!„�ðK‹J^îfןL¡EÚød ´±áÊêRÚ;%Q;^r –tú/ˆ0ú�Põnî!5îJu†påh¸4ò‚�”tAEÖ‰öf™ZÓ…™„5ùª)Ÿ†Í›©fò6OŒø� ;DM11 DMCSR: 175000 ;DM11 CONTROL STATUS REGISTER DMBAR: 175002 ;DM11 BUS ADDRESS REGISTER DMBRK: 175004 ;DM11 BREAK STATUS REGISTER DMBAS: 175006 ;DM11 BASE REGISTER DMRVEC: 330 ;DM11 RECEIVER VECTOR ADDRESS DMRPRTY: 332 ;DM11 RECEIVER SERVICE LEVEL DMTVEC: 334 ;DM11 TRANSMITTER VECTOR ADDRESS DMTPRTY: 336 ;DM11 TRANSMITTER SERVICE LEVEL ;DP11 DPRS: 174770 ;DP11 RECEIVER STATUS REGISTER DPRB: 174772 ;DP11 RECEIVER DATA BUFFER DPTS: 174774 ;DP11 TRANSMITTER ST #MP C 6. 1THWI) SH(AT UNCOT IFSHD OA;L SH@A.,16 #OV M -1H IT WACD OA;L C @A1,#-V MO 0 H IT WMQD OA;L Q @M0, #OV M FTHI SHTIG R0)/211P-PD (-A11KET ES TTLBT.S PECO S T)IFSHT EF(LR ROERN OLTHA ; T HL D OO GIFR ROERP KI;S 4 .+Q BE 2 H IT WSRE ARMPCO ;E SR,@20 #PBCM T HL D BAF IORRR ETOO ;G 4 .+Q BE 2 2525 1THWIQ MREPAOM;C MQ,@525212 #MP C LT H AD BIFR ROERO TGO ; +4 .EQ B 0THWIC AREPAOM;C C @A0, #MP C 16 -THWI) SH(LT UNCOT IFSHD OA;L SH@L.,16#-V MO 2 2525 1THWIC AADLO ;C jÿ¡ATUS REGISTER DPTB: 174776 ;DP11 TRANSMITTER DATA BUFFER DPSYNC: 174773 ;DP11 SYNC BUFFER DPESYN: 174777 ;DP11 EXTENDED SYNC BUFFER DPRIV: 320 ;DP11 RECEIVER INTERRUPT VECTOR DPRP: 322 ;DP11 RECEIVER PRIORITY DPTIV: 324 ;DP11 TRANSMITTER INTERRUPT VECTOR DPTP: 326 ;DP11 TRANSMITTER PRIORITY ;DC11 #1 DCTCSR: 174004 ;DC11 #1 TRANSMITTER STATUS REGISTER DCTDBR: 174006 ;DC11 #1 TRANSMITTER DATA BUFFER DCRCSR: 174000 ;DC11 #1 RECEIVER STATUS REGISTER DCRDBR: 174002 ;DC11 #@A2,2525#1V MO 0 H IT WMQD OA;L Q @M0, #OV M FTHI SFTLE) 201/-1DP(PA 1-E1 KSTTEL TTSB . E EAND EMP J +6 .EQ B 00#12,SRT BI T UNCO#I,@0040 #OV M PECO S4:ITWA ITWA T AI W EDCTLESEE ARS CEVIDEF ;I ITWA R CUOCL IL WTSUPRRTEIN ; T AI W NTOUIC0,10 #OV M1:ITWA EDCTLESES CEVIDEO NIFH NCRA;B 4 ITWAQ BE D TEECEL SESICEV DNGTIUPRRTEINO NIF ; R50, #IT B R5M CO R TEISEG RONTIECEL SCEVIDED IRTHT GE ; R53,SRV MO R SXTNEK ECCH ; T1AI WNE B EDCTLESES CEVIDEG INPTRUERNT INOF ;I R57,6344#1fÿ…zSw~ÒöÏ5<œÍdî˵LØ• D¤¾à%‹m”jCœùÖŸF‘7$w'¸Ê§‡_eF©Ç1½è �c1`ß{Ù¶d,éžôÇÏ¡úmÙÅ-Çù³ób@ÿJÔ’÷Ëü§Å^˜‡æÝ�Gï– ÇÆw\Ç1R}Ç_hÝÇ+„wÇ#]EÇÓ.ƳÊj¼Q#Y)½Àzož¾ÅŽêr³½ù°þ.Ñ푆³C-?Ùžª&ñ-¦‰–ÃwZ(ž“lŒ,À›Ú¸Y‹+0ñùJáË ÊØ`äKN¹é>¥£gfk{šÛ2x…õU�‚’å¿8´[‚˜}¾EQòü*9ÃÆ¤Ï¹iä`8Þ"ûCŽU�z£H‚ƒDšg#È®ÓØÑcŠ*¨ÈŤ%\i@xmv¢K3z—ü#¡çë¼å|Ô=¾­ÓcˆÍKßy4¶`Ì ó”›"Y@ÇTÿ„jH!źÐÜŽ @­jAÁ3<Š.�2d%Ôøé½˜æ]59¸,�ï/ƒ›¼yÞ…-·Â¼Ã!:>ž7¤=,(EK¸i¸&1‘øë-©(.+"Ì'ø¥»ì±kd!ë¶„µ.[/¢Ì«³ùÍ”ºy$EÝ—Ž³ÎG¯ÿØV÷WâA¦=å©|tÖ!ÙÇ{âÍÎn‡# °§pxxŒ©°¤ñ<àÎ¥1 RECEIVER DATA BUFFER ;DC11 #2 DCRSR: 174010 ;DC11 #2 RECEIVER STATUS REGISTER DCRBR: 174012 ;DC11 #2 RECEIVER DATA BUFFER DCTCSA: 174014 ;DC11 #2 TRANSMITTER STATUS REGISTER DCTDBA: 174016 ;DC11 #2 TRANSMITTER DATA BUFFER ;AFC11 AFCSR: 172570 ;AFC11 CONTROL STATUS REGISTER AFDBR: 172572 ;AFC11 DATA BUFFER AFCAR: 172574 ;AFC11 CHANNEL ADDRESS REGISTER ;TM11 MTS: 172520 ;TM11 STATUS REGISTER MTC: 172522 ;TM11 COMMAND REGISTER MTBC: 172524 ;TM11 BYTE COUNT REGIST BI 5 ROM C ERSTGIREN IOCTLESEE ICEV DNDCOSET GE ; R52,SRV MO R SXTNEK ECCH ; T1AI WNE B ESICEV DNGTIUPRRTEINO NIF ;5 ,R543717 #IT B R5M CO R TEISEG RONTIECEL SCEVIDET RSFIT GE ; R51,SRV MO D TEECEL SREWES CEVIDEO I/F IEE STOT ES TTLBT.S PECO S3:ITWA ITWA T AI W ONTIUCTRNS IITWAE THH UGROTH ; T AI W USS AS PLDOUSHE ACTR ; T AI W NDOU FOT NIFH NCRA;B 3 ITWAQ BE T SET BIE ACTRS ;I S ,P20 #IT B NTOUIC0,10 #OV M PECO S T3AI WEQ B DECOS HI TSSPABY, 451/ 1IF ;T RERT,T#6P CM T bÿ©TER MTCA: 172526 ;TM11 CURRENT ADDRESS REGISTER ;KW11-P KWCSR: 172540 ;KW11-P CONTROL REGISTER KWCSB: 172542 ;KW11-P COUNT SET BUFFER KWCTR: 172544 ;KW11-P COUNTER BUFFER ;DR11-B DRDBR: 172416 ;DR11-B DATA BUFFER DRST: 172414 ;DR11-B CONTROL STATUS REGISTER DRBA: 172412 ;DR11-B BUS ADDRESS REGISTER DRWC: 172410 ;BR11-B WORD COUNT REGISTER ;UDC11 UDCR: 171776 ;UDC11 CONTROL REGISTER UDSR: 171774 ;UDC11 STATUS REGISTER ;KG11 KGCSR: 170700 ;KG11-A CONTROL UNCO ILR CS:ITWA S)APTRE ACTR (ITWAF OSTTEL TTSB . S CEVIDED ANM RAOGPRT ARSTRE ; STP JM L AI FEROW PXTNER FOG LA FARLE;C G LAFF PLR C STTET AI WTECUXE;E S ITWAQ BE S ILFAR WEPON HE WET;S G LAFF PST TO:PRND EC ND.E PECO S PS1, RVBMO L LVIR PLR C ORCTVEE ORSTRE ;C VEIR,P42#2V MO Q IR PLR CX:QEIR PP NO: QBIR PT XI ETOO ;G X QEIR PBR L VELET ESQURE >TYRIIOPRR SEESOCPR ; ENWHD REURCC OPTRUERNT IAN! ORRR;E LT HA:RQPI ITEXO TGO ; EXRQPIR B EDILFAT UPRRTEIN! ORRR;E LT H URCC^ÿ÷�q§6çjŒNR%�Y r‹t–ÓˆH $På&;!•óhK5Hrï 2W+d—g?‹M(Â~G~ËÌÆ\ ¼ë¨„Y-‘{—lµÎ@d� äÿey€;Þ»‘�O¹Zé»> ç\‡’OëºGW”Ƙüf¼C‘X�ß’qÕPjjX—ã$ˆôh`ΙªNœo¥¦$"sl2~‚#ìÔùÇ9©Üï;.&©O¤tµéL—Ü7™|Ìû/ÛÎ57¸ v•ŒƒV²JÇ’•,óJ¸w{½1HÆê¥Ûm$�Òmi_dB¬(ÿ-I)J Û›WkKD9Œð)Uyý‰Ö»ø!¤N�üÏ áÕ§ƒ„¾í“T›7Ý)Z&ò.}�㨊߾‰x·{ð& £Ô|gQØ‚ƒÉpÌlTaÜ‹«Ë}6ïß%:V}œ3\QÑÏ™e ìûI÷ôÎ9–r ž¤„yÄrº¾MiE'Ui³²BmÿÀ ög²œ»Å ÷ŸûÊì-ÎC? ‡‚Î;BU©ˆÓ”Ú?&�;wÜqr§júއXºÝFci¼,½ªY·zË{û /Ï(›L•ÜÈ'ü˜š!ñÕ%Üj]‘—$ºaMi Aùxˆb%‹ê3] þß›¾ì{18/€¸0HíPà1q¾Á²â‘‹�­STATUS REGISTER KGBCC: 170702 ;KG11-A BCC REGISTER KGDBR: 170704 ;KG11-A DATA BUFFER ;BUS TESTER SECTION 1 ABDBR: 170000 ;BUS TESTER #1 DATA BUFFER ABCA: 170002 ;BUS TESTER #1 CURRENT ADDRESS REGISTER ABWC: 170004 ;BUS TESTER #1 WORD COUNT REGISTER ABCSR: 170006 ;BUS TESTER #1 CONTROL STATUS REGISTER ;BUS TESTER SECTION 2 BBDBR: 170010 ;BUS TESTER #2 DATA BUFFER BBCA: 170012 ;BUS TESTER #2 CURRENT ADDRESS REGISTER BBWC: 170014 ;BUS TESTER #2 WORD COUNT REGISTER BBCSR: OLDOUSH ; PTRUERNT IAN2 L VELEO TTYOIRI PEROW;L S ,P00#1B OV M ORCTVEN IOITOSEP;R ECRVPIB,RQPI #OV M OP N 3ELEV LTOY ITORRI PEROW;L S ,P40#1B OV M OP N 4ELEV LTOY ITORRI PEROW;L S ,P00#2B OV M OP N 5ELEV LTOY ITORRI PEROW;L S ,P40#2B OV M OP N 6ELEV LTOY ITORRI PEROW;L S ,P00#3B OV M OP N VLRLPIS, POV M ORCTVET ESQURE. NT IADLO ;C VEIR,PQAIR#PV MO T ES TITEX ; EXRQPIR B LYEROPPRD DEOA LOT NRQPI! ORRR;E LT H +6 .EQ B LYEROPPRD DEOA LEG RRQPIS WA ;Q IR,P4641 #MP C 3ELZÿ± 170016 ;BUS TESTER #2 CONTROL STATUS REGISTER ;BUS TESTER SECTION3 CBDBR: 170020 ;BUS TESTER #3 DATA BUFFER CBCA: 170022 ;BUS TESTER #3 CURRENT ADDRESS REGISTER CBWC: 170024 ;BUS TESTER #3 WORD COUNT REGISTER CBCSR: 170026 ;BUS TESTER #3 CONTROL STATUS REGISTER ;BUS TESTER SECTION 4 DBDBR: 170030 ;BUS TESTER #4 DATA BUFFER DBCA: 170032 ;BUS TESTER #4 CURRENT ADDRESS REGISTER DBWC: 170034 ;BUS TESTER #4 WORD COUNT REGISTER DBCSR: 170036 ;BUS TESTER #4 CONTROL STATUS REGEV LATT UPRRTEINN ASTUEEQ;R RQPI0,00#4V MO 7 =ELEV LTYRIIOPRR SEESOCPRT SE ; PS0,34 #VBMO T BIT T ACTREX ;1 ,R577717 #IC B USATSTR SOESOCPRE AV;S 1 ,RPSV MO R TEINPOK ACSTT SE ;P ,SCKTA#SV MO . EDORON HBED ULHO SSTUEEQ RPTRUERNT IHE TMETIH ICWHT AELEV;L STUEEQ RHE TANTHS ES LISY ITORRI PERSSCERO PHE TILNT;U EDEROW LLYVESICEUC SISD AN7 L VELET AISY ITORRI PERSSCERO PALTINI;I HE T3.L VELET APTRUERNT IANS STUEEQ RSTTES HI;T REWARDHAQ IR PSTTEL TTSB . E OPSC S ,P40#3C BI 7 = Y ITORRI PETVÿNvGíôƲy5½Gž3bçd!Õ b§RÔç¥5/Dâ¹Î´8¤ÀpOPF¶ü _Ç@÷…s€(�?•Ž� ô0™oþUdV®;]; <£«ôž_Zޱ·%ÌÌ'Ç8‡õU5F…Bl¼€àYÿ¿—{˼ZÏHÃ…V3ÝHgô¢2´;U~ÂZS9€b?CÃôvþ��œ§Ô#øÅ„^Wžm­åPTÃò¹ žaû,Ì—~¸Ña0¡%�à«- Àv¹ˆ�#mû …®Pn¨eHL0HùúpߺßÏ¡Dqaí¨t-4�Þ' ¡Ñ¾J’‘#åŠÊ²óÖ‹ß«&Hö�Ðê�UøÎ"2_UyæRáz5-͸ÎÛx¿’säwÞL¦Ìyƒ} Fâ‹õÕ …S’‘H>½ù.m ‘õC¾ñŸTä°7l€4'ˆ+‡ÉŽFé›M½h‰¡c1€‹Þ0�¬B÷¸rjk0ëú^à�÷Á^9ŸŠU™æd«.bèù¢“7Mª0c¤šVhÒÖŒ ì p“@¦'2€þû+ñÕ&j_ë Fão2CÞV¶­š]‹h¢Ë\øUxøRýò54É$F Äì‹[ÚzÖ��š–%ÇÜcš­™ŠEûƒN)Ï}?hðÜü̘PNñ%êÉk}Ñ/¡×W·‡füµISTER .IF DF LATNC ;BUS LATENCY TESTER DRLWC: 170070 ;BUS LATENCY TESTER WORD COUNT REGISTER DRLBA: 170072 ;BUS LATENCY TESTER BUS ADDRESS REGISTER DRLST: 170074 ;BUS LATENCY TESTER CONTROL STATUS REGISTER .ENDC ;DM11-BB DMBCSR: 170500 ;DM11-BB CONTROL STATUS REGISTER DMBLSR: 170502 ;DM11-BB LINE STATUS REGISTER DMBVEC: 350 ;DM11-BB INTERRUPT VECTOR DMBLVL: 352 ;DM11-BB PRIORITY .SBTTL PROGRAM INITIALIZATION BEGIN1: MOV #STACK,SP ;SET UP PROCESSOR STACK MOV #PFAI STOD LEAI FPL SR!ROER ; T HL ) LYONE OD MELRNKE;( 4 .+Q BE S TUTA STOINT SEL VELEY ITORRI PAS;W 1 ,RR2P CM E OD MERUS& Y ORISRVPE SIN' OP'NA S IPL;S 2 ,R40#3C BI E OD MELRNKEF ICHANBR ; +6 .EQ B E?OD MELRNKE ; R1M,#UT BI D OR WUSATSTT GE ; R1S, POV M =7L VELEY ITORRI PET;S 7 L SP S DECON IOITNDCOT SE ; C SC 2 ,R40#3S BI 2 ,RPSV MO S DECON IOITNDCOT SE ; C SC T SEF ITSBIL VELEY ITORRI PARLE;C S ,P40#3C BI N IOCTRUSTINL SPE THT ES TTLBT.S STTER SOESOCPRT XI;E O PRND EEQ B Rÿ¹L,24 ;SET UP POWER FAIL SERVICE POINTER CLR PFFLAG ;CLEAR POWER FAIL FLAG CLR PASCNT ;CLEAR PASS COUNT CLR ISFLG ;CLEAR ISOLATION FLAG CLR PASCT ;COUNT FOR PASS PARAMETERS ;DETERMINE PROCESSOR TYPE, AND PROCESSOR OPTIONS MOV #4,@#6 MOV #RTI,@#6 ;SET UP TO RETURN FROM ;BUS ERROR TRAP MOV #3,R0 ;DETERMINE PROCESSOR TYPE SEC ;SET C BIT TST @PIRQ ;IF PIRQ EXISTS, PROCESSOR ;IS PDP-11/45, NO TRAP SBC R0 ;IF TRAP OCCURED, C BIT NOT CLEARED SEC ;SET C 451/-1DP POT NISR SOESOCPRF ;I IGNFCO1, #IT B PECO S NTMEREEC DTOD LEAI FERNTOI PR!ROER ; T HL 4 .+Q BE T ENEMCRDER TEINPOK ACSTD DI ;P ,S-2CKTA#SP CM D LEAI FFU MR!ROER ; T HL 4 .+Q BE 2 K-ACSTT TS H US PREFOBET ENEMCRDET NOD DIK ACST! ORRR;E LT H +4 .EQ B D?GEANCHK ACSTN ORDWOP TOS WA ;K ACST1,#-P CM S LTSUREE OD CONTIDION CCTREORNC IR!ROER ; T HL 4 .+Q BE T SEE BLDOUSH' 'ZY NL;O 1 ,R#4P CM 1 S VPMO ) R20(+1MPTE @PDMF V SE C CC 0 +1MPTEP,EM#TV MO 2 RLR C MPTER CL K ACSTNÿË Ê×jx|ذÌr¨á^"ÕË–ÞõîÙï.Le¥øP%ë±Q+낉ˆ/SŠ×}Ø\gxó\bÀêGÂõ±Ç=†Æ� ]¼u.ýY‘(zOŠÅ.&ï³ýmtÿ®•÷³Ò®§ÕÐLJ†�ƒG/;ÆF/î½ã¥c·y¯ßOaï¶¼S‹ï'%ù𶆫añ˜Ë¶ïã7|W¥¥-f޲ü­ÜôØCÙÊqVÜÉjbÝ$ìþ”iø�°{—lS—äX»çûÔ…¹IG LtǰݹÇUþ§ÆÇ[½”c±ÖÞ7Åæ­ªà;¤Á5”3EÎÈ«ïWÐE*8!Z§ÙKç½ÏîþàPM‘öçªlÄò6W“—”ªv�qCú\�§ÄÕ%´¨a±ö‘ ÿ%ª‡x^¥àª°s°�€~*x9ídCBk®¹”ôídÉ5ŽuÚËRz…êÄ3Ó2Hþ©~í÷ZuB)e“”`,@ÈmåvÐÙ4'!"/‚K·pbîéÁMÑ�g4ÎJƒ ÉŒNÒÛ1¹¥ŽŒ1Z|x‡Ô±:¢ëëÌ«Ø.77ÌC|ôù½°$»} ÓO¿e÷«nÜ’� ™ô¼žûßL;϶zX Ü\§^˜Ø¹çñ¥¾¤j}—¯$ú6òh�Ô·V¦aªžIû¤ÆyšhŠÖ'8½BIT TSTB @#PS+1 ;IF PROCESSOR IS PDP-11/40 SBC R0 ;OR 11/45, C BIT WILL BE CLEARED CLR @#177700 ;IF PROCESSOR IS NOT PDP-11/10 ;A TRAP WILL OCCUR ;R0=3, PROCESSOR IS PDP-11/45 ;R0=2, PROCESSOR IS PDP-11/40 ;R0=1, PROCESSOR IS PDP-11/20 ;R0=0, PROCESSOR IS PDP-11/10 MOV #6,@#4 ;RESTORE TRAPCATCHER CLR @#6 MOV R0,CONFIG ;SAVE PROCESSOR TYPE MOV #1$,@#10 ;SET UP ILLEGAL INSTRUCTION TRAP MUL R0,R1 ;EXECUTE MULTIPLY INSTRUCTION BISB #1,CONFIG+1 ;SET EIS BIT IN PROC ;) SP2(,--1 #OV M HE TETESPR ;) SP,(-1 #OV M SPK,ACST #OV M ONTIUCTRNS IPDMFT ES TTLBT.S PECO S NTMERENC ITOD LEAI FCKTA SR!ROER ; T HL 4 .+Q BE ? NTMERENC IERNTOI PCKTA SHE TID;D SPK,ACST #MP C MPTED OA LTOD LEAI FPDMT! ORRR;E LT H +4 .EQ B P?EM TTOO GCKTA SOND OR WOP TID;D -1,#MPTEP CM T ULES RCTREOR CAS HR3 ; PDMTR TEAFS TUTA SCTREORNC IR!ROER ; T HL 4 .+Q BE ? CTREOR CUSATSTS ;I 2 ,RR3P CM S TUTA SET;G 2 ,RPSV MO ) R12(P+EM@TD TP M RYAR CET;S EC S 'SCCS D'TP MOFJÿÁESSOR DESCRIPTOR WORD 1$: MOV #2$,@#10 ;SET UP NEW ILLEGAL INSTRUCTION TRAP MOV #STACKK,R1 ;SET UP STACK FOR FIS CLR -(R1) CLR -(R1) CLR -(R1) CLR -(R1) FADD+ R1 ;EXECUTE FIS INSTRUCTION BISB #2,CONFIG+1 ;SET FIS BIT IN PROCESSOR DESCRIPTOR 2$: MOV #3$,@#10 ;SET UP ILLEGAL INSTRUCTION TRAP CFCC ;EXECUTE 11/45 FPP INSTRUCTION BISB #4,CONFIG+1 ;SET 11/45 FPP BIT IN PROCESSOR DESCRIPTOR MOV #FLTERR,@FPVECT ;LOAD INTERUPT VECTOR MOV #0,@FPVECT+2 3$: MOV #12,@#10 ;RESTORE T ULES RRTSEIN ; R31,#1S BI D OR WUSATSTE AV;S 3 ,RPSV MO C CC P EM TLR C P)(S 2LR C P)(S,--1 #OV M SPK,ACST #OV M R1R CL 2 P+EM,TMPTE #OV M1:PDMT ONTIUCTRNS IPDMTT ES TTLBT.S TSES TSEHE TTECUXE EN,IOPT;O O PRND EMP J NTMEGENAMAY OREM MAS HND;A 1 PDMTE BN 0 /411P-PDS IORSSCERO PIF ;1 G+FION,C10 #TBBI S STTEE ESTHE UTECEX ; D1TP MEQ B 451/-1DP PISR SOESOCPRF ;I IGNFCO3, #PBCM: G1NAMA PECO S CTREORNC IONTIOR PALONTIACFR ; T HL H NCRA BS-YE ; +4 .EQ B T?ECRRCON IOCTRA;F 1 NSFÿyärqÞéÄúÉ£4.Ó“Ö2èuïõµ%“¥z2¾ýµ=m%×�Bðê9”&lXÈ)ÖÑ1ÓZ+´Â±¯¿øÌ׺å÷fÚ¼9ü:Ù?3ŠzP-7ÄX7-¨ë/‘LA1«?§�®2¼ïÍ¡oNÐ’iŒ7Ó¦Ž&޽¼}™|~â˜ìmÕü'ÅR*îâ5‹ì}zKX´(σ ÖÁZ(¸„‡3$)ÓHš±´Ýdâ­3’µäþ{1ýí“ÔjBAúo•Pù¯Òï²ù5B®€ ¥A¾Æ’mÿ1!CtÌâžp8,bú޹­é;[9yNf(k [–‚x&ª ±pê÷ëèdÓ.OŽ�Ì3ÌùyUº=Ì{Es÷²N õ¶Y€’¯×ôµ?‰1‡×%µª•µÖ±¾˜÷|l3Þ¹8Z«Á1öâ_êãÃ$S¦àiÀã<gÍIø(Šqi‘µx7«Y«¯6à×`°®fVÄFýë€ÓâÑúIÔ6–ILjÿڬⅴ[ê3·©Tþí âì.B9§âÐ:¸>Dºaé©Ng›„ðÒÄk=Œ„ºyÅ4.»È;ÖO­KC”Ôæ¬ ýLpv㛓–Þ<Èz¬Ü­|¹v6å:5h;DÈ:1¨Ú�¸‘ÚÊ«Ë0B®ª‘ ÌÆÈÎùÛ«º©aìDU':¨\šv‘îÅTRAPCATCHER MOV #4$,@#4 ;SET UP BUS ERROR TRAP TST SSR0 ;TEST FOR MEMORY MANAGEMENT BISB #10,CONFIG+1 ;SET MEMORY MANAGEMENT 4$: MOV #6,@#4 ;BIT IN PROCESSOR DESCRIPTOR BIT #2,CONFIG ;IF PDP-11/40,OR 45 BEQ START ;USE RTT FOR TRACE TRAP RETURN MOV #RTT,TRTRET START: MOV #1,BDATA1 ;SET UP BASE DATA FOR TTY READER OR KEYBOARD CLR BDATA2 ;SET UP BASE DATA FOR TTY PUNCH OR TELEPRINTER MOV #1,DATA3 ;SET UP BASE DATA FOR HSR CLR DATA4 ;SET UP BASE DATA FOR HSP TST 42 ;IF ,A#5P CM 1 NS,AC1 AFITC S ONTIACFRT GE ;0 AC.,10 #DFMO T ECRRCOINR WENS;A LT H +4 .EQ B T)AR PEREGNT(IR WENS ACKHE;C S1AN0,22 #MP C S1AN1,ACI CFST S FPS FPST R GETEINT GE ; C0,A#1F OD M 2BYE IDIV;D 0 AC2, #VFDI 1 441=X2210=AC ; C0,AC0 ALFMU 0 AC1,#2F CILD T ECRRCOINR WENS APP;F LT H +4 .EQ B 1BED ULHO SERSWANT ECRRCO ; S1AN1, #MP C PS FPSTF S S1ANN IERSWAN ;1 NS,AC0 AXPTE S 25 5OMFR4 52T ACTRUB;S 0 AC3,ACF UB S 24 53=ACN IERSWANT PU ; C3,AC1 ADF L 52 2TO2 25D AD ; C1,ABÿÉ42 NOT 0, ACT11 OR DDP BEQ SETSW CMP #LOGICAL,42 ;IF(42)=LOGICAL, ACT11 BEQ 1$ MOV 42,HCORE ;SET LIMITS FOR CORE EXPANSION SUB #200,HCORE JSR PC,SIZER ;GET SYSTEM CONFIGURATION BR BEGIN4 ;GO TO RUN 1$: TSTB ACTFLG ;IF ACT11, GET SYSTEM CONFIGURATION BNE CORTS1 JSR PC,SIZER ;DETERMINE WHAT DEVICES ARE PRESENT COMB ACTFLG CMP #-1,LOGICAL+2 ;IS THIS PASS QUICK VERIFY BNE CORTS1 ;BRANCH IF NO COMB QVFLG ;SET QV FLAG BR CORTS1 SETSW: TST SR ;IF SWR=0, USE PREVIOUS C4 ADFAD 4 AC1,ACF ST 1 AC2,25 #IFDC L C0,A25#5F CILD E OD MNGTIOAFLT SE ; F ET SE:OR MT HL 4 .+Q BE S FPS FPST 1 NS,A#0P CM 1 NS,AC0 ADITC S C0,AC1 ABDSU 0 AC),R2-(D UB S C0,A2)(RD DD A 2)(R,-C1 ATD S C1,A0101 DDD L 1010= D ULHO SS5AND AN1 NS;A LT H +4 .EQ B CCCF 3 AC1,NS APDCM S FPS FPST 3 AC5,NS ADD L )+R2,(C1 ATD S C1,A1010 DDD L )+R2,(C0 ATD S R21,NS#AV MO A AT DET;G C0,A1010 DDD L4:EX CTREORNC ILTSURE ; T HL H NCRA BS-YE ; +4 .EQ B T?ECRRCOT ULES RIS ;1 NS,A7777#7P >ÿ=…˜"Oño¤jµ]0%*�Xs�dš~àch퀩FCƒüIŸ\7`UÄ&]þ|­íhØ>à®q$xžkn`5/†:ë×{éfdòýwøêãI)1ßlw·öò#&ñÿ¬}wó´âDOsÕ´SZªÓ?�UÝwâ`¦¦Oz}ŽÒIâ*¥ØÔ°ÚI‘ûÛT|�f@p–ÿüÝçZ_£hÂ_¼ã¶ù­�í&§#öœ_ÉÐܶ{Ð#îdz M�ý°¿Â£ÜlJ,•2V¹«+:G“sD|ä©âóŒ›LŒÒ”æÞ—ÆPæÏ[`ýªBðâG÷(ÕÒ­R†9û5#ecj}`´ˆrt?»Q†ŠH+r:®ÁkŒÍ¬ñÈú<ì*¾3,¡Í BEQ CORTST ;DEVICE SELECTION, ;DETERMINE SIZE OF MEMORY ;INPUT DEVICE SELECTION FROM SWITCH REGISTER SWITCH: MOV SR,SR1 ;SAVE 1ST SWITCH REGISTER HALT ;SET SWITCH FOR 2ND SET MOV SR,SR2 ;SAVE 2ND SWITCHES HALT ;GET SWITCHES FOR THIRD SET MOV SR,SR3 ;SAVE THIRD SWITCHES JSR PC,@GETSW ;GO TO USER OVERLAY FOR ;SET UP MEMORY EXPANSION TEST LOWER LIMIT CORTST: MOV #40000,LOCORE ;START OF 12K CMP #DMYRTS,PRIME ;IF A FOREGROUND OVERLAY HAS BEEN BEQ CORTSB ;LCM S FPE AV;S S FPS FPST R WENS AVESA ;1 NS,AC0 ADITC S OPXL ENE B ESIM TL)MACIDE (10O ;D 2 REC D ERSWANM RO F2525T ACTRUB;S 0 AC1,ACD UB S ERSWANO T2525D AD ; C0,AC1 ADDAD R WENS ABY5 52 2LYIPLTMU ; C0,AC1 ALDMU 7 7777O NT I2525E IDIV;D 0 AC1,ACD IV DP:LOEX ERNTOU CEPSTT SE ; R22,#1V MO 5 52 2THWI1 ACD OA;L C1,A2525 #IDDC L 7777 7THWI0 ACD OA;L C0,A7777#7D CILD E OD MLEUBDOT SE ; D ET S 0074#4S FPLD: PPMFCO STTEN IOCTRUSTINP FPD NEBIOM CTLBT.S 0K:STIS F0 +4=. .1 AGAN MMP J:ÿÑOADED ADD #20000,LOCORE ;START CORE EXPANSION IN NEXT 4K CORTSB: CMP #DMYRTI,IOTVEC ;IF A BACKGROUND OVERLAY BEQ .+10 ;HAS BEEN LOADED ADD #20000,LOCORE ;START CORE EXPANSION .IF DF LATNC CORTSC: MOV LOCORE,LATBUF ;IN NEXT 4K BIT #1000,SR2 ;IF BUS LATENCY TESTER BNE CORTS1 ;IS SELECTED ADD #20000,LOCORE ;START CORE EXPANSION ;IN NEXT 4K .ENDC ;FIND OUT HOW MUCH MEMORY IS AVAILABLE CORTS1: CLR HCORE ;CLEAR CORE LIMIT MOV LOCORE,R0 MOV #1$,4 ;SET UP RETURN F PECO S CTREORNC IERSWANF OLFHAD ONEC;S LT H +4 .EQ B ERSWANF OLFHAD ONEC SCKHE;C S2AN0,2315#1P CM T ECRRCOINR WENS AOFF AL HSTIR;F LT H +4 .EQ B ERSWANF OLFHAT RSFIK ECCH ;1 NS,A017213 #MP C CTREORNC IERNTOI PCKTA;S LT H +4 .EQ B ONTISIPOR TEINPOCKTA SCKHE;C S4ANK,STIS#FP CM T ECRRCOINW PSL NAFI ; T HL 4 .+Q BE W PSL NAFIK ECCH ;3 NS,A10 #PBCM R TEINPOK ACSTL NAFIE AV;S 4 NS,AR4V MO R WENS AOFF AL HNDCOSEE AV;S S2AN+,4)(RV MO R WENS AOFF AL HSTIR FVESA ;1 NS,A)+R4 (OV M 6ÿ+ó:„KEÞS&²Øô”õrK’—$µO(s'cê´ê2oPÎ€Æ ¯ÒÆA|±ŠŠõse½` óÏ© ~eþðì²ã<9U¸š;æ×‚OÔt±É_Œ|¶ÝÛ�Õ¨¸"-™UG1ÇRŽJ4¥ŒÓ\ çP¨÷N!3ÛíJaÎtå ì ó²/Ü~C›óí^½6B/vG”œÕŒÉÅgÙÛk @ŽLRâ�ÙöÛƒ9 _¥|m,o�Ó¸/,C0MHzàc©sÀ¦§�¨m Ec´d2è‡Ï©! V�R@¢ÿM�Ö ƒõÙerd"òáí¯t÷{aˆó>PÉ/Â!}þ×KEÁGîª8uMI¤³ÎLä6˜›@"£z!UãRŠS+©]>·¶1mdõ(Bfø&”Â'|ÉA=#ÛC%…�¼>=—[w£ç¡Š>ïÍ<ÖuÐXVp±pjè`z¼EÀ‡bπͭ5…, h§jdd^dè3í‚×hž †‰@‚³t€–�bá„ ìºdŒáéÃR ™J,‘=­Œ†büyÙ‘ï»�y¢O}écçüçìê§ï�Ä="Jšcp"ç߉p©·í—&U}|_?�Ø2+õp¬n`aœnËýyvîß0ËL[ícø¨g€°‰¿àÀ�5ÀH÷C€W“‰kQú PØœn–pÕL|�:ùò"„º� ÃDQóá©4C,›€ä¤œšÆŒô§Fx%ɰfËêàb¹-Àœ÷y€ŸÝ.SBTTL DEVICE INITIALIZATION ;IF INHIBIT SWITCH FOR DEVICE=1, DO NOT INITIALIZE THAT DEVICE MOV SR1,R1 ;PUT INHIBIT SWITCHES IN MOV SR2,R2 ;GENERAL REGISTERS FOR MOV #100,R3 ;FASTER ACCESS MOV #101,R4 BIT R2,#20 ;IF SR2 BIT 4=1, DO NOT BNE ST00 ;INITIALIZE RK11 DISK ;RK11 DISK CONTROLLER INITIALIZATION MOV RKDRV,@RKDAR ;SET DISK ADDRESS TO 0 TSTB @RKDSR ;WAIT FOR DRIVE READY BPL .-4 TSTB @RKCSR ;WAIT FOR CONTROL READY BPL .-4 MOV #15,@RKCSR ;RESET DRIVE OTQUE THF ICHANBR ; +4 .EQ B T?ECRRCOT ENTIUO;Q 0000#44, RMP C ESOD CONTIDION CCTREORNC IR!ROER ; T HL S 0'F ICHANBR ; +4 .EQ B R17,#1T BI S DECON IOITNDCOE THT GE ; R1S, POV M =0=Z=V=N,C010010M=RE0,0040T=ENTIUO;Q 0 0000 1BY1 0000 1777715 #DEVIDI ;4 ,R3)(R+2@CV DI P EM TTOINR SOVIDID OA;L MPTE0,0000#1V MO D ENIDIV DSH LADLO ;5 ,R010010 #OV M NDDEVIDIH MSD OA;L R47,7757#1V MO R TEISEG REXND IADLO ; R30,#1V MO: V2DI PECO S ERNDAIEM RCTREORNC IR!ROER ; T HL T ECRRCOS IERNDAIEM*ÿáTSTB @RKCSR ;WAIT FOR READY BPL .-4 BIT #100,@RKDSR ;TEST ACESS READY BEQ .-6 ;WAIT FOR ACCESS READY BIT MOV #1,@RKCSR ;CLEAR CONTROL TSTB @RKCSR ;WAIT FOR READY BPL .-4 MOV RKDRV,@RKDAR MOV #43503,RKFUNCTION ;SET UP DISK FUNCTION ;WRITE IN LOW BYTE ;WRITE CHECK IN HIGH BYTE MOV LLIMIT,@RKBAR ;SET UP ADDRESS OF ;WRITE/WRITE CHECK BUFFER MOV RKWORDCT,@RKWC ;SET UP WORDCOUNT MOV #103,@RKCSR ;SET INTERRUPT ENABLE, ;WRITE FUNCTION, GO CLR WATCRK ;CL RHE TIFH NCRA;B 4 .+Q BE ? CTREOR CERNDAIEM;R 3 RST T NTIEOTQUT ECRRCOIN! ORRR;E LT H CTREOR CIST ENTIUO QHE TIFH NCRA;B 4 .+Q BE ? CTREOR CNTIEOTQU ; #12, RMP C ESOD CONTIDION CCTREORNC IR!ROER ; T HL 0 F ICHANBR ; +4 .EQ B R47,#1T BI S DECON IOITNDCOE THT GE ; R4S, POV M =0=Z=V=N,C=0EM,R=1NTIEOTQU ; 5)5252(#) R1B(Y B2525#5E IDIV;D R2),R1B(V DI S DECON IOITNDCOE THT SEE PR ; C SC D ENIDIV DSH LADLO ;3 ,R2525#5V MO R TEISEG RNTIEOTQUR EACL ; R2R CL R TEISEG REXND IADLO ;&ÿ®ÞrÛ´Ø.è _ô0[èFjŽ) |Œ{["xk£y°"…gàºh»Á ÿ*‹!�nÅÐLRá¡øNì?±mèëºûœ/ƒ*|Ö]Ey\p瘫óñDk†®.4¸Í%<%´XƒL~íÉ Ë!ÚùAa„¶›t)©­)› :¬ˈŒ¹VyíýºX¦ûE+ñò²Ú¯†õ.e‚“_$–¿A°wïwT§(‚$‡ÄÀG›Ü›Æ~Vl½?ü±c—gŠÞ0¬¯š¹âæi;m%ÌNQä cüÉ‚˜li9 €ÒëN5Þ\Ô@=¿Î_ëvqþÛ�ÎT#ä#¼_�©·7y­&{ÑÜ|Ûý‚Ù ÀÀz>#Ťˆú²™kÞô¤1‰Ù%½Z±WS…áåÖ3yùÒþ�Ž\íÏz‘B™^ð”À÷É-óÏÛ{›iŽìr×�R ƒ¹á5¥G-oxˆÂQgG”õ4‘É?®¯Ú/å…Òöž2ã«ñõƒ˜D“±Yì¿uh"w÷ÑI¦x¯°|ÂM+Ù‘ë{z>‚Îùl �ˆix8¸J±$h\ëðt/Ÿþñ×uÛDf(máüÔQØ·iqqÞpk²z�/.ÔóÖ ±¿\âu˜™}ñËÁ@jùV:%ÒßÓsIÿ~€¯ìÀ"9áд;^FÄO„©©»Næ¨m÷ü$åEAR INTERRUPT OCCURED FLAG ST00: BIT #400,R2 ;IF SR2 BIT 8=1, DO NOT BNE ST01 ;INITIALIZE RP11 DISK ;RP11 DISK PACK CONTROLLER INITIALIZATION MOV #43503,RPFUNCTION ;SET UP DISK FUNCTION ;WRITE IN LOW BYTE ;WRITE CHECK IN HIGH BYTE RPD: MOV LLIMIT,@RPBAR ;SET UP ADDRESS OF ;WRITE/CRIT CHECK BUFFER MOV RPWORDCT,@RPWC ;SET UP WORDCOUNT TSTB @RPCSR ;WAIT FOR CONTROLLER READY BPL .-4 MOV #15,@RPCSR ;RESET DRIVE TSTB @RPCSR ;WAIT FOR CONTROLLER READY BPL .-4 R14, #OV M1:IV D N IOCTRUSTINE IDIV DHE TSTTEL TTSB . E OPSC 3 RTOINT IFSHT NOD DI2 RR!ROER ; T HL 4 .+Q BE 3 RTOT IFSH2 RID;D R32,2525#1P CM D ENXT ETOD LEAI FGNSI! ORRR;E LT H +4 .EQ B 2? RIND ENXT EGNSID DI ; R21,#-P CM S DECON IOITNDCOT ECRRCOIN! ORRR;E LT H +4 .EQ B R40,#1P CM 4 S VPMO 3 RTOINT GHRIS CELA P162 RFTHI;S R2),R12(C+ @HCAS S DECON IOITNDCOE THT SEE PR ; PS7, #VBMO ) 525212(#D TEIFSHE BTO# D OA;L 2 ,R BOV M ERSTGIREX DEIND OA;L 1 ,R10 #OV M T)GHRIS CE"ÿé TST @RPDSR ;WAIT FOR ACCESS READY BPL .-4 CLR @RPDSR ;CLR ATTENTION MOV #103,@RPCSR ;SET INTERRUPT ENABLE ;WRITE FUNCTION ST01: BIT R1,#40000 ;IF SR1 BIT 14=1, DO NOT BNE ST1 ;INITIALIZE TELETYPE PUNCH AND PRINTER ;KL11 TELETYPE TRANSMITTER INITIALIZATION BIS R3,@TTCSR ;INITIALIZE TELETYPE PUNCH AND PRINTER ST1: BIT R1,#100000 ;IF SR1 BIT 15=1, DO NOT INITIALIZE BNE ST2 ;TELETYPE READER ;KL11 TELETYPE RECEIVER INITIALIZATION BIS R4,@TRCSR ;INITIALIZE TELETYLA P16 (NTOU CFTHI SADLO ;P EM,T6.-1 #OV M ERSTGIRET ULES RARLE;C 3 RLR C2:HCAS PECO S LYEROPPR3 ROFT OUD TEHI SOT NAS W #R!ROER ; T HL 4 .+Q BE ? R3F OUT OEDFTHI S #AS;W 3 RST T R!ROER ; T HL T ULES RCTREOR CIFH NCRA;B 4 .+Q BE ? 525212=#R2 ;2 ,R525212 #MP C ESOD CONTIDION CCTREORNC IR!ROER ; T HL 4 .+Q BE 1 ,R12 #MP C 1PSOV M R2O TR3N I #FTHI;S R2),R42(C+ @HCAS S DECON IOITNDCOE THT SEE PR ; PS5, #VBMO ) 525212(#D TEIFSHE BTOE LUVAT GE ; R3B,V MO R TEISEG REXND IADLO ;ÿó÷–‡K§³Cø‡2Ó³Fçp½T6biœÑÕ!¿Sœ*‡>!FömˆÇ÷CÎ#+Ÿô„n7¬æï&Fü|]Z2ÙŠìz ¢Åt!ž²¹{¦ôäjÞˆY ÏQ�†i+[Cî¯EvPÖöSá\ÉÓ™Û&ÿúå&Å/'²úûôðHˆÑNËQ?+`*;,“¤ãиh¬àîŒgªºÁË¥Þx¸sœã)b¦Ôö¶•q�ÑQZ" RUéÚ�Sgø°?´âvö9Ë�LH�#Ø�$^X©­eSYÂòTœ”?ì^È#mÐõðÄ :Ñ›A…—ÜŠÖ�Ìdµ�é]Fþ�ô?¹6�^}ƒ›YoyI6Ùˆñ¨i�Iˆzñ ­Ùkov~.�f¡Ì½Òùù�‹»º%¯ÊD-W*¨Ì3<�NŸ3¡1á4KRþï,UVQ\e0ø˜-h$ñ÷Õ]k±º/$úØÖ§Ú»\úÛc˜ÿ� ð+˜a—//ËË¡-ïë!2Wõvpf#P+üíjØÃqVp6kbª.!tÌ©óø¹4y±3¿¥ê†yõ$Yµ¼iCT|”9=Ø)êkö›—=ì‚´X–-yÝ¥JÌ¢ÔwÞUÒ+ŸR�|ú5ñdbvÔ#´Õ§ïÆèPf'x!ŸÕõK™jéïò¹BV;ºH]½š¢¿íPE READER ST2: BIT R1,#4 ;IF SR1 BIT 2=1, DO NOT BNE ST3 ;INITIALIZE HIGH SPEED PUNCH ;PC11 HIGH SPEED PUNCH INITIALIZATION BIS R3,@HPCSR ;INITIALIZE HIGH SPEED PUNCH ST3: BIT R1,#10 ;IF SR1 BIT 3=1, DO NOT BNE ST4A ;INITIALIZE HIGH SPEED READER ;PC11 HIGH SPEED READER INITIALIZATION BIS R4,@HRCSR ;INITIALIZE HIGH SPEED READER ST4A: BIT #20,R1 ;IF SR1 BIT 4=1, DO NOT BNE ST5 ;INITIALIZE KW11-L LINE CLOCK ;KW11-L REAL TIME CLOCK INITIALIZATION BIS R3,@LKCSR ; R40,#1V MO ) FTLES CELA P16 (NTOU CFTHI SADLO ;P EM,T6.#1V MO R TEISEG RLTSUREH MSR EACL ; R2R CL: C1SH A N IOCTRUSTINC SH ASTTEL TTSB . E OPSC T ULES RCTREORNC IR!ROER ; T HL 4 .+Q BE ? CTREOR CLTSURE ;2 2525,#R1P CM 2 2525 # =LTSURET GHRIE ACPL1 T IFSH ;1 ,R3)(R+2@CH AS ) 2525#5 (EDFTHI SBEO TUEAL VET;G 1 ,R+4 BOV M ERSTGIREX DEIND OA;L 3 ,R10 #OV M T)GHRIE ACPL1 R O-1 (UEAL VFTHI SADLO ;P EM,T-1 #OV M2:SH A E OPSC T ULES RCTREORNC IR!ROER ; T HL 4 .+Q BE ? CTREOR CLTSURE ;2 ,R24ÿñINITIALIZE LINE CLOCK CLR WATCKL ;CLEAR INTERRUPT OCCURED FLAG ST5: BIT #2000,R1 ;IF SR1 BIT 12=1, DO NOT BNE ST6 ;INITIALIZE RF11 DISK ;RF11 DISK CONTROLLER INITIALIZATION MOV #43503,FUNCTION ;SET UP DISK FUNCTION ;WRITE IN LOW BYTE, ;WRITE CHECK IN HIGH BYTE RFD: INCB @RFCSRH ;ABORT ALL CURRENT DISK FUNCTIONS MOV WORDCT,@RFWC ;SET UP WORD COUNT MOV LLIMIT,@RFCAR ;SET UP ADDRESS OF WRITE/WRITE CHECK BUFFER MOVB FUNCTION,@RFCSR ;START WRITING DATA TO DISK CLR W25#5P CM S DECON IOITNDCOT ECRRCOIN! ORRR;E LT H +4 .EQ B R13, #MP C ESOD CONTIDION CCTRAXT;E R10,7677#1C BI 1 R TEISEG RINS DECON IOITNDCOE AV;S 1 ,RPSV MO 1 C=1,V=0,Z=0,N= ; 2425 5 =LTSURET EF LCELA P 1FTHI;S R2),R52(C+ @SH A PS4,#1S BI ) 525212(#D TEIFSHE BTOE LUVAT GE ; R2B,V MO R TEISEG REXND IADLO ; R50,#1V MO ) FTLEE ACPL1 R O+1 (UEAL VFTHI SADLO ; MPTE1, #OV M1:SH A N IOCTRUSTINH AST ES TTLBT.S PECO S LTSUREH LST ECRRCOIN! ORRR;E LT H +4 .EQ B T?ULES RSH LCTREORÿH;„Äß)5›…ÔÎo›Œè˜ñy­6®»ØUOMf ƒÚÜ àÄ™¤»~ú¿¯ÏųÔq³/eµÿ¢ß�ö;¹;�Ûï"þ}UqÉöR·td5 ýeŽ£µð¤Iq±ÅµÎÎR™¾¨$Zý×®…Ù(ƒ2)ó�ô?£l‰çì[=,c�{ØÌ–Ñê¿Ü”™NF úc–íÄJ=©gSšš±~)tb{›û¸÷j»1—"yÙçg°œ½-–=.Pêbè\×Ôb¢HvÐn¨ò!ô4ìJëaCä{�éxÒ€«k #]º2ç¡õõ8“%ow¾ýÊ�m%¤ïBðìE•&€ÓKØ?ü­wv8§¹�à~# Ðí^çÐñ­…0Â2©4•¿ ÓEÏ>?À~ wàé;¦’þ^}Æ ’âZ‚`Õ�fRò‘�5[·ÝšEüµh-!ÛL¿Ð&v…÷™œâ.Ù’)¥ñä;þjóeÌ$–rsi¥ó«hø§Å—„Êæ;„cýâ³râwÿUÔ²ç?I$ÂGÛ ›Ž6H¨Œý=+x£ß±ê0{묟5/÷ïFÖå�¤]fóš¢Y}gUõATCRF ;CLEAR INTERRUPT OCCURED FLAG ST6: BIT R1,R3 ;IF SR1 BIT 6=1, DO NOT BNE ST7 ;INITIALIZE KW11-P PROGRAMMABLE CLOCK ;KW11-P PROGRAMMABLE CLOCK INITIALIZATION MOV #1000.,@KWCSB ;SET CLOCK COUNTER FOR ;1000 (DECIMAL) COUNTS MOV #101,@KWCSR ;START COUNTER AT 100KHZ ;RATE, INTERRUPT WHEN COUNTER ;GOES TO 0 (AFTER 10 MS) CLR KWRATE ;NEXT COUNT RATE WILL BE 10 KHZ CLR WATCKP ;CLEAR INTERRUPT OCCURED FLAG ST7: BIT R1,#200 ;IF SR1 BIT 7=1, DO NOT BNE ST8 ;C R34,5252 #MP C LTSUREH MST ECRRCOIN! ORRR;E LT H +4 .EQ B T?ULES RSH MCTREOR;C 2 ,R-1 #MP C ESOD CONTIDION CCTREORNC IR!ROER ; T HL 4 .+Q BE 4 ,R11 #MP C ESOD CONTIDION CCTRAXT;E R40,7677#1C BI 4 R TEISEG RINS DECON IOITNDCOE AV;S 4 ,RPSV MO 1 C=0,V=0,Z=1,N=),R34(5252 ; 2)(R-1T=ULES R5252122XY PLTIUL;M R2),R12(C+ @UL M MPTE2, #OV M ERSTGIREX DEIND OA;L 1 ,R10 #OV M NDCAPITIUL MADLO ;2 ,R525212 #OV M R3R CL: L2MU PECO S H)MS (LTSURET ECRRCOIN ; T HL 4 .+Q BE ? H)MS (ÿlc@ @ @ @ @ @ @ @ ‘�Š&»l°F‹Š³ƒ`0’@ “@ `0vƒlµª@ @ @ @ @ @ @ @ 9†Tj²fƒn´Vœh1ƒ@ @0@ ƒr°VÃ@ @ @ @ @ @ @ @ @ ÑÈnHV“b6v£`ÅF‹h0d ‚@ `0w£j´@ @ @ @ @ @ @ @ �vC`5³f7+`´Tƒ@ &@ ` ƒf8”ƒ@ @ @ @ @ @ @ @ r ©hd7«@ (»b°£@6`2@ `0F«@·@ @ @ @ @ @ @ @ ‘rŠ–Kd·’`µ‚@1v£`ÅF‹n0d ‚@ `0fƒ`1@ @ @ @ @ @  Pù ;INITIALIZE LP11 LINE PRINTER ;LP11 LINE PRINTER CONTROLLER INITIALIZATION MOV #40,SOLPAT ;FIRST CHARACTER TO BE ;PRINTED IS A SPACE CLR CLINCT ;CLEAR CLOUMN COUNT MOV #LPINTR,@#200 ;SET UP INTERRUPT SERVICE VECTOR MOV #200,@#202 ;SERVICE AT PRIORITY LEVEL 5 MOV R3,@LPCSR ;SET INTERRUPT ENABLE ST8: BIT R1,#400 ;IF SR1 BIT 8=1, DO NOT BNE ST9 ;INITIALIZE BUS TESTER ;SECTIONS 1 AND 2 ;BUS TESTER SECTIONS 1 AND 2 INITIALIZATION MOV #2,@ABWC ;SET UP SECTION 1LTSURET ECRRCO ; R2T TS ) SH(LT ULES RCTREORNC IR!ROER ; T HL T ECRRCOS IH)LS (LTSUREE THF ICHANBR ; +4 .EQ B 2?=1T ULES;R 3 ,R12 #MP C 'S 0TO= T NOS C' CR!ROER ; T HL T ECRRCOE ARS C' CIFH NCRA;B 4 .+Q BE ? =0'SCC ; R17,#1T BI S LTSUREE OD CONTIDION CET;G 1 ,RPSV MO ) SH(L3 ;RH)MS (R2N ILTSURE5 2XY PLTIUL;M R2),R42(C+ @UL M ESOD CONTIDION CETESPR ; C SC R IEPLTIUL MADLO ; MPTE2, #OV M ERSTGIREX DEIND OA;L 4 ,R10 #OV M NDCAPITIUL MADLO ; R25, #OV M R3R EACL ; R3R CL: L1MU ÿX (,�Gí ë~>AtÎAŠ, ødòóèõ(ÍkW¡NÓ‡JtXå^:òPÖtY› ˆæ¼Qr +o­Ÿ® ;H̤J¶ø‡ð°?‚œàÜó�Á`µ\‹iµn•ØLrA•ùŽOŒº§®EAyò¶TÔôÆåy‰-u.Zù^k…±¼3™é'þÁ‘˜íOÙSC™—.žânç,Öíµ¸5 —1‰ý`ëÝÄs.á«®Íçg¡Ho6ªs,z¸ÓÍ91µ “ê•ût$ïÁïi•,ËÙO”– ¾Ý¹´=£œAg^Ęʭ'F,Æ;ž)7 -œ\ÔÃ@„Ÿ«4°7Ò‡Ù&„-z}5‰Áã°;ÇßO§·2Å'I%•† ÈÎ<+?¥X¨–ñqC^j¤ø%€÷0rëüÇuV·J“ê÷Q¿¯}v;à÷œþ¾�ªéúöv±ÄÙÙ¡¨‰ )‘°ãbª'/¥ ðyr0ƒ¾uíð“Þ*ó¾7ƒ&li!ó8v=ö0Ú¸áíqEË,iÂïµ+¡WÙçg l HM= =¦b”P�ÔÏ ÝIFÝoÛpb¼Ž~‹l�ÍŃÁ%Ýõœ¦6±ƒYðö©þŠðÊ2J`ÍJ™ÀÅv×�9 2 a9©n@à8M Z}.ÂH´¼-ÍÙMÂýpþ”­¬ïÉoôc@ @ @ @ ÑÈlHV“b7v›`Ì“j°d ‚@ l0–»¤·@ @ @ @ @ @ @ @ �fC`5Ãf·ch1T³@ &@ ` fƒb¹$½@ @ @ @ @ @ @ @ r ©hd6«b³9»d0F‹@5`2@ p6f»@¹@ @ @ @ @ @ @ @ ‘�Š&³p°›@³&b¸º@ “@ `0w³n±’@ @ @ @ @ @ @ @¹9†Tj2†ƒn°Äœb2Ã@ @0@ ƒn8w³@ @ @ @ @ @ @ @ @ ÑÈlHV“f8vƒ@Ì“p1d ‚@ `0V‹p1@ @ @ @ @ @ @ @ �fC`5&Ëf·c`2ƒ@ &@ ` »f±»@ @ @ @ @ @ @ @ r ©hd7«h18»b°£@1`2@ h0ƒ@°ý FOR 2 BYTE TRANSFER ;DEVICE WILL SHIFT WORD FOUND ;AT BUS ADDRESS 1 PLACE LEFT MOV #REC1A,@ABCA ;SET UP BUS ADDRESS OF DATA CLR REC1A ;CLEAR TEST LOCATION CLR SEND1A ;CLEAR PATTERN TO BE TRANSMITTED CLR EXP1A ;CLEAR EXPECTED RESULT MOV #45511,@ABCSR ;SET UP SECTION 1 FOR ;NPR, DATIP-DATAO, ;INTERRUPT ON LEVEL 6 ;1MS DELAY BETWEEN INTERRUPTS MOV #173,@BBCSR ;SET UP SECTION 2 FOR ;INTERRUPT ON LEVEL 7 ;100 US DELAY BETWEEN INTERRUPTS CLR WATCONTIUCTRNS ILYIPLTMUT ES TTLBT.S 11KTR FOK ECCH ; G1NAMAP JM S EIE AV HOT;N 1 UL MNE B ESDOR SOESOCPRF ;I +1IGNFCO1, #TBBI E OPSC: TBRT USATSTT ECRRCOIN! ORRR;E LT H TBRTQ BE ? USATSTT ECRRCO ; R12, RMP C RDWOS TUTA SET;G 1 ,RPSV MO: TART PECO STOO ;G B TT RBR D LEAI FTT RR!ROER ; T HL T RT ) SP-(A,TT#RV MO ) SP-(2, ROV M CKTA SHE TUPT SE ; R2S, POV M ERNTOI PCKTA SHE TETES;R SPK,ACST #OV M ONTIUCTRNS ITT RHE TSTTEL TTSB . E OPSC T HL 4 .+Q BE P EM,T-1 #MP C MPTEO ÿøc©hd6«p²9»b0†Ë@2`2@ `0VÃ@0@ @ @ @ @ @ @ @ ‘�Š&³h°`³ƒ`¹Â@ “@ `0ƒ`5ê@ @ @ @ @ @ @ @ 9†Tj2Fƒn6Äœ`2V‹@ @0@ ƒn9wÃ@ @ @ @ @ @ @ @ @ ÑÈlHV“d4v³`Ì“`µd ‚@ l0–ä·@ @ @ @ @ @ @ @ �fC`56«f·cj0$£@ &@ ` gƒl7”»@ @ @ @ @ @ @ @ r ©hd6«r19»d0Vƒ@2`2@ l6–Ã@Ò@ @ @ @ @ @ @ @ ‘�Š&³j°›˜³&ƒf6‚@ “@ `0ƒ`2ê@ @ @ @ @ @ @ @ 9†Tj2fƒn8Æœ`2Ë@ @0@ ƒn8w³@ @ @ @ @ AB ;CLEAR BUS TESTER SECTION ;1 INTERRUPT OCCURRED FLAG CLR WATCBB ;CLEAR BUS TESTER SECTION 2 ;INTERRUPT OCCURED FLAG ST9: BIT R1,#1000 ;IF SR1 BIT 9=1, DO NOT BNE ST10 ;INITIALIZE BUS TESTER ;SECTIONS 3 AND 4 ;BUS TESTER SECTIONS 3 AND 4 INITIALIZATION MOV #200,@CBWC ;SET UP SECTION 3 ;FOR 200 WORD TRANSFER MOV #CBBUF,@CBCA ;SET UP BUS ADDRESS OF DATA MOV #52615,@CBCSR ;SET UP SECTION 3 FOR ;NPR, DATO, ;INTERRUPT ON LEVEL 5 ;DELAY BETWNT I'S 1NDTEEX ; MPTET SX S DECON IOITNDCOL ALT SE ; C SC P EM TLR C PECO S MPTEO NT INDTEEXT NOD DIS 0'! ORRR;E LT H +4 .EQ B MPTET TS ] 2)(R[CP EM TTOINS 0'D ENXT;E ) R2C(T SX S DECON IOITNDCOL ALR EACL ; C CC P EM,T-1 #OV M ERSTGIREX DEINP UET;S 2 ,R10 #OV M ONTIUCTRNS IXT SHE TSTTEL TTSB . E OPSC 5 RADLOT NOD DIK AR MR!ROER ; T HL 4 .+Q BE ? CTREOR CR5S ;I 5 ,R#7P CM T HL 4 .+Q BE ? CTREOR CERNTOI PCKTA SIS ;P ,SCKTA#SP CM R TEMERAPAD HEUS PET GOT NID DNETIOUBRSU! ORÿÐr¡‚uriò“4{¾ŸÞÖly<þ9œ;pØÒN8Oî �×Ñx.sʱÀmNê“%mÃês-£ JÃöZq‘�9YÃ#Ú|^«½ó¬-nº¹ £é;Ù›ÞNRÏ[ “{!‚xVÂù+%Ò„.4 ²™G[&E0�•-–ÕÛÜCÔm˜Þ0‚ñágŽjÕ#V%jår÷·u¾‚“úhs¿O9]v{T:œ~‚„ª=ñÔý2jS¬«%V©rG|ftîLš‰¸6Zg'G„ýz)oý;›ÉvÜ>–šÀÂÜõ.,˜ÒÑíñi¯j%í$Š¢i-Jþ¸…Ñ¥®Þ)úך7x: O(Èèù‘!°œª‘·ƒ¤Ds†hvmŠp÷¡€K»Khj[ît·Lõ6´ø¬cU±±HŠër¦ /³øŸ×=@:gøÆßb…&< ŠAX:Yöp÷6‚`еFÀ'iß� µ ©·n±�M@”®½‘Èûƒ-Í"�ÃýEžÏ =,�¬¹ÉTä:s!(D4 ©”Ì›,ƯT‡,Œ$ÿ´x)°&è�áâšvʾ`-äG(™èÚeµ ýªTÀc¤â�†h¢g(�Ó¡°ƒKH¨ýîÈ=?Luϯø¬Úr°±ó�àP3ùÀ躉€—R+ë�.üc@0@ ƒp07‹@ @ @ @ @ @ @ @ @ ÑÈlHV“d9v£`ÅG‹p¹d ‚@ `0v«`8@ @ @ @ @ @ @ @ �fC`5'Ëd·cj·4»@ &@ ` ƒj8ƒ@ @ @ @ @ @ @ @ r ©hd6«b°)»b0‡»@3`2@ `0VÃ@0@ @ @ @ @ @ @ @ ‘�Š&³b±›˜²ƒr2Ê@ “@ `0ƒ`5‚@ @ @ @ @ @ @ @ 9†Tj2&‹n9Æ”p1‡³@ @0@ ƒp0«@ @ @ @ @ @ @ @ @ ÑÈlHV“f1v‹`Ì–‹b0d ‚@ `0†ƒ`°@ @ @ @ @ @ @ @ �fC`5&“f·cf¹›@ &@ ` ƒj8ƒ@ @ @ @ @ @ @ @ r EEN TRANSFERS MOV #52645,@DBCSR ;SET UP SECTION 4 FOR ;NPR, DATO ;INTERRUPT ON LEVEL 4, ;NO DELAY BETWEEN TRANSFERS CLR WATCCB ;CLEAR BUS TESTER SECTION 3 ;INTERRUPT OCCURED FLAG CLR WATCDB ;CLEAR BUS TESTER SECTION 4 ;INTERRUPT OCCURED FLAG ST10: BIT #20000,R1 ;IF SR1 BIT 13=1, DO NOT BNE ST11 ;INITIALIZE TC11 DECTAPE ;TC11 DECTAPE CONTROLLER INITIALIZATION MOV #TC11,TCIV ;SET UP INTERRUPT VECTOR ;FOR FORWARD ENDZONE DETECTED ;SERVICE RORR;E LT H +4 .EQ B ERETAMAR PHE TET GNETIOUBRSUD DI ; R11, #MP CA:K0AR ME INUTROUB SITEX ; R5S RT R TEMERAPAE THT GE ;1 ,R5)(R 2OV M0:RKMA 0ARKMAR B NETIOUBRSUO TGO ;0 RKMAC, PSR J ERNTOI PERETAMAR PADLO ; R5P, SOV M CKTA SHE TON1 RKMAH US;P P)(S,-K1AR#MV MO K ACSTE THN OERETAMAR P ASHPU ;) SP-(1, #OV M P)(S,-#7V MO 1 RLR C ERNTOI PCKTA SZELIIAITIN ;P ,SCKTA#SV MO N IOCTRUSTINK AR MSTTEL TTSB . E OPSC: B6SO B5SO1, ROB S R11, #OV M4:OB S6 OB SBR D HENCRA BVEHAT NOD ULHO SOB;Sÿc@ @ @ @ @ @ @ r ¨hj¸Ãf29»d0v‹@2`2@ d0«@³@ @ @ @ @ @ @ @ ‘ŽŠWÃr0v“˜³&ƒ`0‚@ “@ `0&ƒ`°‚@ @ @ @ @ @ @ @ 9†Tj·†ƒn8Æœ`27«@ @0@ ƒr09›@ @ @ @ @ @ @ @ @ ÑÈbHV»f5v‹`Ì“r³d ‚@ `0‹`°@ @ @ @ @ @ @ @ �C`µ'³f7cr0$ƒ@ &@ ` ƒj±ƒ@ @ @ @ @ @ @ @ r ©hn1«b³9»d0F‹@2`2@ b0V‹@0@ @ @ @ @ @ @ @ ‘�Šv‹p°›˜³&b¸¢@ “@ `0ƒ`µ‚@ @ @ @ @ @ @ @ 9†Tj2–ƒn4Vœh1†Ë@ UTINE MOV TCDRV,@TCCM ;SELECT DRIVE TO BE TESTED BIS #R+IE+RB+DO,@TCCM ;SET DECTAPE INTERRUPT ENABLE ;SET READ BLOCK NUMBER AND ;REVERSE FUNCTIONS ;START TRANSPORT ST11: BIT #10000,R1 ;IF SR1 BIT 12=1, DO NOT BNE ST17 ;INITIALIZE RC11 DISK ;RC11 DISK CONTROLLER INITIALIZATION MOV #43503,RCFUNCTION ;SET UP DISK FUNCTION ;WRITE IN LOW BYTE ;WRITE CHECK IN HIGH BYTE CLR @RCDAR ;INITIALIZE DISK ADDRESS REGISTER MOV R3,@RCCSR ;SET DISK INTERRUPT ENABLE LT H5:OB S4 OB SBR H NCRA BNOR FOB SOT ES TTLBT.S PECO S3:OB SD HENCRA BVEHAD ULHO SOB;S LT H B2SO1, ROB S R10,#1V MO: B1SO B3SOR B2:OB S1 OB SBR H NCRA BOR FOB SSTTEL TTSB . E OPSC D LEAI F5252121, -OR;X LT H +4 .EQ B T?ULES RCTREOR;C ,D2525#5P CM ) R2C(,@R1R XO D ANEROPN IOATINSTDED OA;L D 1,#-V MO ) (DS ESDRADL NAFIP UET;S P EM,T#DV MO S ESDRADD REEREF DUPT SE ; ,CMPTE #OV M ERSTGIREX DEIND OA;L 2 ,R10 #OV M NDRAPE OCEURSOD OA;L R12,2525#1V MO D REEREF DEXND Iþþœ¼Gìu&Ǩ.ÆƼ…m´X1å‡p�µ×`ÊÁÿi늟ê1d�è éá’NÅÄ'q020 ùõ…Íð“ž=˜$l¥÷¼9΀6; Û?O\•qá*çxV¬gK3Gô ÿÆøÂ§¼³QYz÷/•ÄÞÅ2¨»î+�¤Kr �*‹AÈQŠt ×dáݰé\CÍëèwªl2PÐÝôÅÊþmÊ£ßCb§vŸ¼ËÖ6|^ʪ#¨€_�Êt·#v&³lì| ™”ØêÍ8pÜØ�`|ÏÀ›|Ý€•W=×� ˆ*©oÆAGV~Â\[�ĘÉX—ñ÷™j¡è%b˜4s¿MDÀhë÷bZ¦«8/|Àš_ØüóQq�K~j¦vê$”ˆÙh‘*¥~W  SbA¾ýŠ�$eùY¨ó'c@ @ @ 9fTp¹–ƒn4Vœj1ƒ@ @0@ ƒp0Fƒ@ @ @ @ @ @ @ @ @ ÑÈlF“`8vË`ÅF‹h´d ‚@ `0V»j4@ @ @ @ @ @ @ @ �f3`1&Ëf·+n´tÃ@ &@ ` ƒf¹D³@ @ @ @ @ @ @ @ r ¨hd6‹r±9»d0“@2`2@ r5ƒ@4@ @ @ @ @ @ @ @ ‘ŒŠf³p°›@³&h¹š@ “@ `0ƒf°Š@ @ @ @ @ @ @ @±9vTb3–ƒn4Vœh1†Ë@ @0@ ƒd4“@ @ @ @ @ @ @ @ @ ÑÈdG›d8v“`Ì“n±d ‚@ n5v“j8@ @ @ @ @ @ @ @ �&;`±&Ëf·cr1”Ë@ &@ ` f³p2“@ CLR WATCRC ;CLEAR RC11 INTERRUPT ;OCCURED FLAG ST17: CLR DCDAT1 ;CLEAR TRANSMIT DATA FOR ;DC11 #1 CLR DCDAT2 ;CLEAR EXPECTED RECEIVE ;DATA FOR DC11 #1 CLR DCDAT3 ;CLEAR TRANSMIT DATA FOR ;DC11 #2 CLR DCDAT4 ;CLEAR EXPECTED RECEIVE ;DATA FOR DC11 #2 BIT R2,#1 ;IF SR2 BIT 0=1, DO NOT BNE ST1B ;INITIALIZE DC11 #1 ;DC11 #1 ASYNCHRONOUS LINE UNIT INITIALIZATION CLR @DCTDBR ;CLEAR DC11 #1 TRANSMITTER ;DATA BUFFER TO TRANSMIT ;0S AS FINGSI UOR XSTTEL TTSB . E OPSC T HL 4 .+Q BE P EM,T525212 #MP C T.ES,DCEURSOR XO ;) R2C(1, ROR X NDRAPE OONTINATIES DADLO ;P EM,T-1 #OV M NDRAPE OCEURSOD OA;L R15,5252 #OV M ERSTGIREX DEINP UET;S 2 ,R10 #OV M1:OR X N IOCTRUSTINR XOT ES TTLBT.S TSES TONTIUCTRNS I450,/411P-PDL TTSB . T ES TORSSCERO PITEX ; RODPENP JM 5 4OR0 /411P-PD ; R1XOE BN T NOS IORSSCERO PIF ;G FION,C#2T BI: 45TS PECO S NEDOL IL TOPLO ; BAWA SNE B ERMBNUT ES TNC;I 1 T+ES TCBIN R BEUM NCEENEREF RNTMERENC;I úþc3`4Ëf·br1›@ &@ ` ƒl8«@ @ @ @ @ @ @ @ r ¨hp1£n°9»d0–‹@²`2@ p2›@4@ @ @ @ @ @ @ @ ‘ŒŠ†‹r0vƒ˜³&f¹š@ “@ `0F‹j¶’@ @ @ @ @ @ @ @ 9fT`3–ƒn4Vœh1vÃ@ @0@ ƒd0f›@ @ @ @ @ @ @ @ @ ÑÈdF›f8vƒ@Ì“p0d ‚@ `0“l1@ @ @ @ @ @ @ @ �V3`9&Ëf7+r´”»@ &@ ` ƒl2‹@ @ @ @ @ @ @ @ r ¨hr5Ãh²8»b°†£@8`2@ `0†»@´@ @ @ @ @ @ @ @ ‘ŒŠ—«r0“гƒh8º@ “@ `0ƒh²š@ @ @ @ @ RST CHARACTER BIS DCOUTF,@DCTCSR ;SET DC11 #1 TRANSMITTER ;INTERRUPT ENABLE ;SET MAINTENANCE MODE ;SET FOR HIGHEST SPEED BIS DCINF,@DCRCSR ;SET DC11 #1 RECEIVER ;INTERRUPT ENABLE ;SET FOR HIGHEST SPEED CLR WATDC1 ;CLEAR DC11 #1 INTERRUPT ;OCCURED FLAG ST1B: BIT R2,#2 ;IF SR2 BIT 1=1, DO NOT BNE ST1C ;INITIALIZE DC11 #2 ;DC11 #2 ASYNCHRONOUS LINE UNIT INITIALIZATION BIS DCOUTF,@DCTCSA ;SET DC11 #2 TRANSMITTER ;INTERRUPT ENABLE ;SET F REC IN T ES TABSW D LEAI FABSW ; T HL 4 .+Q BE N IOCTRUSTINB WA SSTTE ;F RET,ES TMP C STTER DEUNN IOATEROP ; STTEB WA SA:ABSW ERMBNUE NCREFERE ; EF RLR C STTER DEUNR BEUM;N T ES TLR C ABSWF ONSIOATINMBCOL ALT ES TTLBT.S NTOUIC@#R CL E OPSC T HL 4 .+E BN T HL 4 .+I BM T ES TABSW T HL 4 .+Q BE T HL 4 .+L BP T ES TABSW T ES,T0002 #OV M ABSWT ES TTLBT.S PECO S MBCOTSE BN P EM,T-1 #MP C MPTE1,40 #DD A ET SISV ; T HL 4 .+E BL N O T =OT NISV ; T HL 4 .+E BG D LEöþúfŒKKMx‹±bº6ê\Ýâ$µ§ îÉd m4é‹p¤iÞO±©ŒÆCãxYœÚ±nHNëÔf®/‡üh×…Ò¯fÈ_Ñü_nèÙ7©º{%ÖÏZ{[ «çrÝ+ð=z=ýcà×Þ鮨­ž©Ã,岟¥õt6–: Ãl#?¼8_Ô8¶ÃKoÑio"ELT·Ï;HQÉÖм%-!úÆJcå´\vòz5õtñ·‰ÖH[“º¢Ž×õ/�Gz…ƒ…¶w�Zï7A®O&Ú“Y}‘$ãHÞþnŸ­p’óÃ`móž­Ž-ĘãéêŸK�!7Â;&·|5oYÙŽR{fq½ÏVLkâ€aæâðüh³ÐÙ‘^ {„Ï‚Ë[š¢ç×Ákw,F”½fdbd�Õ)PhRì‚Ô4 c“@ `0‹j²‚@ @ @ @ @ @ @ @ 9fTh¸fƒn8Æœ`2–Ã@ @0@ ƒh¶v‹@ @ @ @ @ @ @ @ @ ÑÈbFFÃd6vÃ`Ì“j9d ‚@ b0³p¸@ @ @ @ @ @ @ @ �3`46»f·ch1«@ &@ ` ƒj¸DÃ@ @ @ @ @ @ @ @ r ¨hp1£`39»d †‹@3`2@ b1WÃ@4@ @ @ @ @ @ @ @ ‘ŒŠ†‹p0›˜³&`¸ª@ “@ `0f‹n1ª@ @ @ @ @ @ @ @ 9fTh¸†ƒn°Äœb2Ã@ @0@ ƒ`¶‡‹@ @ @ @ @ @ @ @ @ ÑÈbFFÃ`9v»`Ì“r²d ‚@ b0v›`°@ @ @ @ @ @ @ @ �MAINTENANCE MODE ;SET FOR HIGHEST SPEED CLR @DCTDBA ;CLEAR DC11 #2 ;TRANSMITTER DATA BUFFER BIS DCINF,@DCRSR ;SET DC11 #2 RECEIVER ;INTERRUPT ENABLE ;SET FOR HIGHEST SPEED CLR WATDC2 ;CLEAR DC11 #2 ;INTERRUPT OCCURED FLAG ST1C: BIT R2,#4 ;IF SR2 BIT 2=0, INITIALIZE BEQ ST1C1 ;AA11 D/A CONVERTER BIT #20,SR3 ;IF SR3 BIT 4=1, DO NOT BNE ST1D ;INITIALIZE VR20 2 COLOR SCOPE ;AA11 WITH SCOPE OPTION INITIALIZATION ST1C1: MOV #AA11,AA11IV ;SET UP INTAI FREPAOM;C LT H +4 .EQ B REPAOM;C +1MPTEP,EM TPBCM: MBCOTS UEAL VSEBA ; MPTER CL: M1COTS DD OTHWIE YT BENEVE LUVAL ALE ARMPCOT ES TTLBT.S RNTURE1,OMSC#TV MO 3 OMTCE BN 1 P+EM TCBIN 1 P+EM TMBCO N URET,RM3CO#TV MO E OPSC D LEAI FTEBYT ENEMPLOM;C LT H +4 .EQ B +4MPTE1,P+EM TPBCM 4 P+EM TEC D TEBYD OD ; +1MPTEB OM C3:OMTC RNTURE3,OMTC #OV M TADAE NCREFERE ; +4MPTER CL A AT DSEBA ; MPTER CL ) TEBYD OD (MBCOT ES TTLBT.S M2CO TNE B MPTEB NC I MPTEB OM C RNTURE2,OMTC #òþc@ @ @ @ @ @ @ �3`4&Ëf7+r´dÃ@ &@ ` ƒn5›@ @ @ @ @ @ @ @ r ¨hp1£h²8»b°—£@8`2@ f06ƒ@0@ @ @ @ @ @ @ @ ‘ŒŠ†‹r0F“гƒr9Š@ “@ `0fƒr³’@ @ @ @ @ @ @ @ 9fTh¸–ƒn4Vœh1–Ë@ @0@ ƒr0“@ @ @ @ @ @ @ @ @ ÑÈbFFÃd9v£`ÅV‹p0d ‚@ `0ƒb´@ @ @ @ @ @ @ @ �3`4&Ëf7+`µT“@ &@ ` ƒ`8t›@ @ @ @ @ @ @ @ r ¨hp1£b³9»b0—Ã@9`2@ l1ƒ@8@ @ @ @ @ @ @ @ ‘ŒŠ†‹b0›˜³ƒr9‚@ ERRUPT VECTOR MOV R3,@SCSR ;SET SCOPE CONTROL ;INTERRUPT ENABLE ST1D: BIT R2,#10 ;IF SR2 BIT 3=1, DO NOT BNE ST3B ;INITIALIZE AFC11 ;ANALOG MULTIPLEXER ;AFC11 ANALOG MULTIPLEXER INITIALIZATION MOVB #-20,AFCTR1 ;SET UP TO CLEAR MOV #AFTAB1,AFPTR ;AFC11 DATA TABLES ST1D1: CLR @AFPTR ;CLEAR TABLES ADD #2,AFPTR INCB AFCTR1 BNE ST1D1 MOV #AFTAB1,AFPTR ;SET UP POINTERS MOVB #-10,AFCTR1 ;AND SAMPLE COUNTS MOVB AFCTR1,AFCTR2 ;FOR STORAGE OF ;INDIVIDUAL SAMOV M PECO S EDILFAE YT BNTMERENC IORT ENIMPLOM;C LT H +4 .EQ B REPAOM;C +4MPTEP,EM TPBCM 4 P+EM TEC D MPTEB OM C2:OMTC RNTURE2,OMTC #OV M TADAE NCREFERE ; +4MPTER CL A AT DSEBA ; MPTER CL ) TEBYN VE(EB OM CSTTEL TTSB . P OO LGOD HEISIN FOT;N M CO TNE B NEDOR FOT ES TND ANTMERENC;I P EM TNC I MPTEM CO N URET,ROMTC #OV M PECO S EDILFAT ENEMCRDER ONTMELIMPCO ; T HL T ES;T 4 .+Q BE E ARMPCO ;4 P+EM,TMPTEP CM E NCREFERET ENEMCRDE ; +4MPTEC DE A AT DNTMELIMPCO ; MPTEM CO: OMTCîþÍã¤3;*iÌ œî±ÁY–(Ã�. W8=A¬éÙŠ\´‘eñ•ºó×,~µ5WìÒ—�8•^+0Dr8á OrËDdî¥î©LQùpA»ÓˆNë’n �ëÓƒ<¸˜Ã.v-›|ØÂ +í•%íúÒAùb4v¬†´$QL‘Y*½vÐ¥÷רs–è&ß±÷^Þ“§ƒ G†R¸i<äªX,aöqkÞ�j4ñ!% €gr+vtÖÁêˆÈ»íPåt@!• J5òåè´�ó‚ä}c¾O÷ÀÖ_§WE-†š\ =Õ1Íbn•‰ÔS5HnS ÑÞ-Ž+v´œ¯SÕÖ‚«Z\ˆ¸M˜‹[—𣃠`G‚Á‰*VŠI dwÖ7éñî»e¨ö‰ ÿŒ6—Wy¹‘»P€Oý wcÃAÜÊ\~™$Q1û¿ÏÎÕÙ£ ¶ Gx´^°ü/à>ïÁ4»Kб¼êdC.èé3üó™Á žÇ@r‚�öþÕ Ãl/omLWŠ]ƒgõÏ”DÛXÐÍŽm^*âC*|ŸŒQ7œ`g'h¸Õ†?Ôä+1 BMI .+4 ;BRANCH IF OK HLT ;DATA NOT WITHIN + OR - 1 LSB ADD #2,POINTA ;MOVE POINTA ADD #2,POINTB ;MOVE POINTB CMP PO+4 .EQ B MPTET TS ) R0C(C AD C SE 0 ,R10#+V MO P EM,T-1 #OV M PECO S LT H +4 .EQ B MPTET TS ) R0D(C AD C SE 0 ,R10#-V MO P EM,T-1 #OV M PECO S LT H +4 .EQ B MPTE1,#-P CM ) R0C(G NE 0 ,R10#+V MO P EM,T#1V MO E OPSC T HL 4 .+Q BE P EM,T-1 #MP C 0)(R DEG N R00,-1 #OV M MPTE1, #OV M PECO S LT H +4 .EQ B MPTET TS ) R0C(C DE 0 ,R10 #OV M MPTE1, #OV M PECO S LT H +4 .EQ B MPTET TS ) R0D(C DE 0 ,R10#-V MO P EM,T#1V MO E OPSC T HL 4 .+Q BE P EM TST T 0)(R CNC I ~þ„c�'`06»f·ch1‹@ &@ ` ƒ`9ƒ@ @ @ @ @ @ @ @ r ¨hp2ƒ`39»d v‹@4`2@ `0Ë@0@ @ @ @ @ @ @ @ ‘„ŠFÃr0“гƒn7º@ “@ `0ƒr9‚@ @ @ @ @ @ @ @ 9'T`4–ƒn1Vœh1w»@ @0@ ƒh0WÃ@ @ @ @ @ @ @ @ @ ÑÈpB£d9v‹`ÅG‹p4d ‚@ `0f‹n7@ @ @ @ @ @ @ @ �†`0&Ëf7+p´d«@ &@ ` ƒn3”³@ @ @ @ @ @ @ @ r ¨hh8ƒh²8»b°†£@´`2@ `0F»@0@ @ @ @ @ @ @ @ ‘„ŠFÃr0F“гƒn8Â@ “@ `0ƒl·š@ @ @ @ �INTA,#ADTBLA+10 ;CHECK FOR END OF TABLE BNE ADLOOP ;LOOP IF NOT DONE ADCONT: CLR ADTEMP ;FIRST PASS COMPLETE CLR CHOUT ;INITIALIZE CHANNEL TO CONVERT ON CLRB @ADCSRO ;START CONVERSION RTI TBPTR: 0 ADTEMP: 0 CHOUT: 0 ;CURRENT CONVERSION CHANNEL POINTA: 0 ;WHERE IN A POINTB: 0 ;WHERE IN B ADTBLA: 0 ;TABLE A .=.+6 ADTBLB: 0 ;TABLE B .=.+6 .SBTTL AA11 WITH SCOPE INTERRUPT SERVICE ;DISPLAY "PDP-11" ON SCOPE AA11: TSTB @SCSR ;IS DONE SET BMI .+6 HLT R00,+1 #OV M MPTE1,#-V MO E OPSC T HL 4 .+Q BE P EM TST T 0)(R DNC I R00,-1 #OV M MPTE1,#-V MO E OPSC T HL 4 .+Q BE P EM TST T 0)(R COM C R00,#1V MO P EM,T-1 #OV M PECO S LT H +4 .EQ B MPTET TS ) R0D(M CO 0 ,R10#-V MO P EM,T-1 #OV M PECO S LT H +4 .EQ B MPTET TS ) R0C(R CL 0 ,R10#+V MO P EM,T-1 #OV M PECO S LT H +4 .EQ B MPTET TS ) R0D(R CL 0 ,R10#-V MO P EM,T-1 #OV M EDEXND IYSARUNT ES TTLBT.S PECO S LT H +4 .EQ B 0)(R,C10A+B SU 0 ,R10 #OV M MPTE5,5252#0V zþˆcÂ@ “@ `0ƒj´ª@ @ @ @ @ @ @ @ 9&T`8&‹n9Æ”p1'³@ @0@ ƒr0ƒ@ @ @ @ @ @ @ @ @ ÑÈdBÃf1vƒ`̇‹f´d ‚@ `0–ƒ`0@ @ @ @ @ @ @ @ �'`0&“f·cd¹4»@ &@ ` ƒ`9ƒ@ @ @ @ @ @ @ @ r ¨hp2ƒn²9»b0vË@5`2@ `0Ë@0@ @ @ @ @ @ @ @ ‘„І“h0f“˜³&r0¢@ “@ `0ƒ`°‚@ @ @ @ @ @ @ @ 9&T`8Vƒn±Æœ`2†£@ @0@ ƒr0ƒ@ @ @ @ @ @ @ @ @ ÑÈdBÃd6v»`Ì“d5d ‚@ `0–ƒ`0@ @ @ @ @ @ @ @ ‘ ;DONE NOT SET RTI MOV #0,XPOS ;SHOULD WORK FOR ALL SCOPES CLR YPOS MOV #6,CNTR ;6 CHARACTER COUNT MOV #TEXT,PNTR ;TEXT "PDP-11" MOV #CHAR3,140 ;INTERRUPT VECTORS TXT1: MOV @PNTR,AAR2 ;PLOT CHARACTER CHAR: MOV YPOS,YPT ;INIT ENTER WITH SCOPE INTERRUPT BIS #24,@SCSR ;ENABLE INTENSIFY OF LOADING Y MOV #-5,AAR0 ;MATRIX COUNT (ROW) CHAR1: MOV #-7,AAR1 ;MATRIX COUNT (COLUMN) MOVB @AAR2,AAR3 ;GET CHARACTER INC AAR2 CHAR2: ROLB AAR3 ;INTENSIFY POINT? BPL CHAR3 ;NO MOVMO E OPSC T HL 4 .+Q BE P EM,T0)(R AUB S R00,#1V MO P EM,T252505 #OV M PECO S LT H +4 .EQ B 0)(R10P+EM,T BUB S R00,-1 #OV M MPTE2,2525#1V MO E OPSC T HL 4 .+Q BE P EM,T0)(R AUB S R00,-1 #OV M MPTE2,2525#1V MO G INEXND IOR FONTIUCTRNS ICTRABTSUT ES TTLBT.S PECO S LT H +4 .EQ B 525212,#10P-EM TMP C 10P-EM,T252505 #IC B 10P-EM,T-1 #OV M R00,-1 #OV M PECO S LT H +4 .EQ B 2525#50,+1MPTEP CM ) R0P(EM,T525212 #IC B R00,#1V MO 0 +1MPTE1,#-V MO E OPSC T HL 4 .+Q BE 2 vþŒc@ @ @ @ @ @ @ @ �v `5Ãf·+n´D£@ &@ ` ƒd±„Ë@ @ @ @ @ @ @ @ r ¨h`·«n²9»d0—‹@µ`2@ `1—ƒ@2@ @ @ @ @ @ @ @ ‘‚Š»r°v“˜³&ƒr¹²@ “@ `0GÃd²š@ @ @ @ @ @ @ @ 9T`¹†ƒn9Vœh1&³@ @0@ ƒh0'«@ @ @ @ @ @ @ @ @ ÑÈrAËd9v£`ÅG‹d6d ‚@ `0†ƒn°@ @ @ @ @ @ @ @ �`0Ëf·c`2‹@ &@ ` ƒl2‹@ @ @ @ @ @ @ @ r ¨hp0ƒr±9»d0“@²`2@ p0&£@5@ @ @ @ @ @ @ @ ‘„Š&‹r0F“гƒl8• XPOS,@DAC0 ;LOAD X MOV YPOS,@DAC1 ;LOAD Y AND INTENSIFY RTI ;RETURN TO MAINLINE CHAR3: TSTB @SCSR ;IS DONE SET BMI .+4 HLT ADD #70,YPOS ;NEXT POINT INC AAR1 ;DONE ALL POINTS IN A COLUMN? BNE CHAR2 ;NO MOV YPT,YPOS ;NEXT COLUMN ADD #70,XPOS ;ADD SCALE INC AAR0 ;DONE ALL COLUMNS? BNE CHAR1 ;NO ADD #70,XPOS ;YES, POSITION FOR NEXT CHARACTER ADD #2,PNTR ;NEXT CHARACTER BIT #20,SR3 BNE CHAR4 BIT #1000,@SCSR ;IS GREEN BIT SET BNE .+12 ;YES, CLEAR FOR R2525#1P,EM TMP C MPTE),R0A(C BI 0 ,R10 #OV M MPTE1,#-V MO E OPSC T HL 4 .+Q BE 5 5252#0P,EM TMP C MPTE),R0A(C BI 0 ,R10#-V MO P EM,T-1 #OV M PECO S LT H +4 .NE B LT H +4 .MI B MPTE0, #IC B MPTE1,#-V MO G INEXND IOR FONTIUCTRNS IIC BSTTEL TTSB . E OPSC T HL 4 .+Q BE 5 5252#00,+1MPTEP CM ) R0P(EM,T252505 #OV M R00,+1 #OV M PECO S LT H +4 .EQ B 525212,# CMP C 0)(RMPTE2,2525#1V MO 0 ,R10#-V MO E OPSC T HL 4 .+Q BE 5 5252#0P,EM TMP C MPTE),R0A(V MO 0 ,R10#+V MO E rþ�c@ @ @ @ ‘‚І«r°F“гƒn9Š@ “@ `0‹j°ª@ @ @ @ @ @ @ @ 9Tj¸–ƒn4Vœh1vË@ @0@ ƒl6Ë@ @ @ @ @ @ @ @ @ ÑÈjAVÃd7v£`Ì“l5d ‚@ r1g«b°@ @ @ @ @ @ @ @ �W `5&»f7cd1D³@ &@ ` Fƒb8Tƒ@ @ @ @ @ @ @ @ r ¨hpµ«`39»d v‹@·`2@ `0–ƒ@°@ @ @ @ @ @ @ @ ‘‚І«r°–‹˜³&ƒb0‚@ “@ b1†›f´’@ @ @ @ @ @ @ @ 9Th5vƒn·Æœb2‹@ @0@ ƒj8&Ã@ @ @ @ @ @ @ @ @ ÑÈlAf«`9v³`Ì“b±d ‚@ `0—“`0™ED BIS #1000,@SCSR ;NO, SET FOR GREEN BR .+10 BIC #1000,@SCSR ;DISPLAY IN RED TSTB @SCSR ;WAIT FOR COLOR CHANGE BNE .-4 CHAR4: DEC CNTR ;DONE ALL? BNE TXT1 ;NO BIC #2,@SCSR ;INIT AND ERASE BR AA11 ;LOOP .SBTTL RK11 DISK INTERRUPT SERVICE RK11: TSTB @RKCSR ;INTERRUPT VECTOR POINTS HERE BMI .+6 HLT ;RK11 READY NOT UP BR RKSTART TST @RKCSR BPL .+6 HLT ;RK11 ERROR FLAG UP BR RKSTART BIT #37,@RKDAR ;DISK AT UPPER LIMIT? BNE RK1 ;NO CMPB #31,@RKDAOPSC T HL 4 .+Q BE 2 2525#1P,EM TMP C MPTE),R0A(V MO 0 ,R10#-V MO X DEINR FON IOCTRUSTINE OV MSTTEL TTSB . E OPSC T HL 4 .+Q BE ) R0A(),R1A(P CM 1 ,R10 #OV M R04,#-V MO E OPSC T HL 4 .+Q BE ) R1A(),R0A(P CM 1 ,R10#+V MO 0 ,R-4 #OV M PECO S LT H +4 .EQ B 0)(R,A1)(R AMP C PECO S LT H +4 .EQ B 1)(R,A0)(R AMP C R14,#+V MO 0 ,R10#-V MO E OPSC T HL 4 .+Q BE ) R0A(),R0A(P CM 0 ,R10#+V MO T HL 4 .+Q BE ) R0A(),R0A(P CM 0 ,R10#-V MO E OPSC T HL 4 .+Q BE ) R0A(5,5252nþ”cÑÈjA‹d7v£`Ì“f6d ‚@ b0G«j¸@ @ @ @ @ @ @ @ �V `°Ëf·c`2”ƒ@ &@ ` f«r³ƒ@ @ @ @ @ @ @ @ r ¨hpµ«b²8»b°†£@6`2@ r1V‹@³@ @ @ @ @ @ @ @ ‘‚І«r°F“гƒ`8Â@ “@ `0V“j³Ê@ @ @ @ @ @ @ @ 9Tj¸–ƒn4Vœh1Ã@ @0@ ƒr5V«@ @ @ @ @ @ @ @ @ ÑÈjAVÃd9v£`ÅG‹d2d ‚@ `0V»nµ@ @ @ @ @ @ @ @ �W `5&Ëf7+p´T“@ &@ ` ƒd¶D»@ @ @ @ @ @ @ @ r ¨hpµ«h²8»b°‡£@µ`2@ b1fË@8@ @ @ @ �H BNE RK1 ;NO SWAB RKFUNCTION ;CHANGE COMMAND RKSTART:MOV RKDRV,@RKDAR ;INITIALIZE DISK-DAR,DAE RK1: MOV LLIMIT,@RKBAR ;CORE BASE MOV RKWORDCT,@RKWC ;LENGTH OF TRANSFER MOVB RKFUNCTION,@RKCSR ;WRITE OR WRITE CHECK TO DISK MOV #1,WATCRK RTI ;RETURN TO MAINLINE CODE RKFUNCTION: 0 ;DISK COMMAND RKWORDCT: -2000 ;LENGTH OF TRANSFER .SBTTL RP11 DISK INTERRUPT SERVICE RP11: TSTB @RPCSR ;INTERRUPT VECTOR POINTS HERE BMI .+6 HLT ;RP11 READY NOT UP BR RPSTART TST @R#0P CM 0 ,R10 #OV M PECO S LT H +4 .EQ B 252505,#0)(R AMP C R00,#1V MO E OPSC T HL 4 .+Q BE ) R0A(2,2525#1P CM 0 ,R10#-V MO E OPSC T HL 4 .+Q BE 525212,#0)(R AMP C R00,-1 #OV M0:STTE EDEXND IONTIUCTRNS IREPAOM CSTTEL TTSB . T UNCON IOATERIT ;T UNCO,I0040 #OV M NGPICO SOR;F RNTURE0,STTE #OV M DEMOT ENRRCUR FOK ACSTP UET;S SPK,ACST #OV MS:CTRO P T ES TONTIUCTRNS IICAS BTLBT.S FF.I N URET;R TI R AGFLT SE ;F ERPP,F-1 #OV MR:ERHK CP FPND EMP J PECO S ORCTVEE ORSTRE ;CTjþ˜c`2@ `0›@3@ @ @ @ @ @ @ @ ‘‚Š«r0F“гƒd8²@ “@ `0ƒb4ª@ @ @ @ @ @ @ @ 9T`±–ƒn4Vœh1&Ã@ @0@ ƒf0†Ë@ @ @ @ @ @ @ @ @ ÑÈjA‹d9v£`ÅG‹l9d ‚@ `0›nµ@ @ @ @ @ @ @ @ �V `°&Ëf7+p´tË@ &@ ` ƒr¶„›@ @ @ @ @ @ @ @ r ¨hbµƒh²8»b°«@³`2@ b3†»@¸@ @ @ @ @ @ @ @ ‘‚Š«r0F“гƒd°Š@ “@ `0ƒd5š@ @ @ @ @ @ @ @ 9T`±vƒn4Æœb2V“@ @0@ ƒp3V“@ @ @ @ @ @ @ @ @ ¡PCSR BPL .+6 HLT ;RP11 ERROR FLAG UP BR RPSTART CMPB #312,@RPCA ;CYLINDER NO. 312 BNE RP1 ;NO SWAB RPFUNCTION ;CHANGE COMMAND RPSTART:MOV #00001,@RPCSR ;INITIALIZE DISK - DAR-DAE TSTB @RPCSR ;WAIT FOR CONTROL READY BPL .-4 RP1: MOV LLIMIT,@RPBAR ;INITIAL CORE ADDRESS MOV RPWORDCT,@RPWC ;LENGTH OF TRANSFER MOVB RPFUNCTION,@RPCSR ;WRITE OR WRITE CHECK TO DISK RTI ;RETURN TO MAINLINE CODE RPWORD: -2000 RPFUNC: 0 .SBTTL RC11 DISK INTERRUPT SERVICE RC11: TSTB @RCCVEFP,@RRTEFL #OV M PS F/O;I 0000#4S FPLD E OPSC $ \12,,1142010S TUTA S$: 3W LORFDEUNO ;N 2LT H ET SIFP KI;S 3$E BN ? ET SAGFL ;F ERPP FST T USATSTT GE ;S FPS FPST T ULES RET;G1 NS,AC0 ATF S ERMBNUG BIB SU ;C0,A37E-09#.F UB S$: 1R BEUM NLLMA SADLO ;C0,A37E-07#.F LD G LA FARLE;C RFPEFPR CL W LORFDEUNG/INATLO;F 0020 #PSDF L W>LORFDEUN- R ROERF UB OWFLEROV- R ROERF DDRA TAKREUB ROERE ODPC ORRR E-0F LD ORRR E 0BYF IV(6ONSIERNVCO- R ROERI CFST LORFDEUN- R ROERF IV OWFLEROV- R ROERF UL -OFD LD 0, 10KHZ KW11PA: MOV #1000.,@KWCSB ;SET UP FOR 1000 (DECIMAL) COUNTS COMB KWRATE ;NEXT CLOCK RATE IS 10KHZ MOV #101,@KWCSR ;THIS CLOCK RATE IS 100KHZ ;CLO 2525,52525 5OT NISR GETEIN ;2 T HL 4 .+Q BE C FC C EREGNT ICKHE;C1 AC2,B+LTDAF MP C ITT GE ;S1AN1,ACF ST 0 T NON IOCTRA;F 2LT H +4 .EQ B CCCF N IOCTRA FCKHE;C C0 ATFTS T ULES RET;G1 NS,AC0 ATF S 0474 4USATST * GT*M1 A Y BDFMO ;0 AC1, #DFMO 0 ACO NT I2525,52525 5ADLO ;C0,A+2TBAL DDF L DEMOG INATLO FET;S 0074#4S FPLD > DDMOD ANF OD MOFT ESþÄc«b39»` ‡«@³`3@ `0Ë@0@ @ @ @ @ @ @ @ ‘@Š@ @ @ @ @ @ @ @ @ @ @ @ @ @ @  T`3–ƒn1Vœh1—»@ @0@ ƒl0–£@ @ @ @ @ @ @ @ @ ÑÈbAV›d6v»`Ì“p2d ‚@ `0vƒ`°@ @ @ @ @ @ @ @ � `µ6»f·cf1„Ã@ &@ ` ƒj7ƒ@ @ @ @ @ @ @ @ r ¨hf±«`39»d v‹@1`2@ `0V»@0@ @ @ @ @ @ @ @ ‘‚Šf‹n°›˜³&ƒp³Ê@ “@ `0Gƒ`8b@ @ @ @ @ @ @ @ 9Tj¶vƒn±Æœb2‡›@ @0@ ƒp4Ã@ @ @ @ @ @ ÍFFER INCB DPTDATA ;NEXT CHARACTER BNE T19 ;NO RESYNC: MOV #DP11T,@DPTIV ;SET UP TRANSMITTER ;INTERRUPT VECTOR ;FOR SYNC ROUTINE MOV #4,DCCCNT ;SET UP TO TRANSMIT ;4 SYNC CHARACTERS ;TO RE-SYNCHRONIZE RECEIVERS T19: RTI ;RECEIVE SEQUENTIAL DATA DP11R: MOV #1,WATCDP ;SET INTERRUPT OCCURED FLAG MOV R4,-(SP) ;SAVE R4 ON STACK TSTB @DPRS ;IS RECEIVER DONE BIT SET BNE .+4 HLT ;DONE NOT SET, ERROR MOV @DPRB,R4 ;SAVE RECEIVED CHARACTER CMPB R4,DPRDATFPE THT GE ;S FPS FPST 0 T NOS ;P T HL K OIFP KI;S +4 .EQ B 0ITS ;I PS FST T NKJUR EACL ;PS,F607717 #IC B PST GE ;PS,FPS@#V MO K AC BITT ERNVCO ;S1AN2,ACI CFST S PET;SS #P,@17 #IS B 1.3254T NO2 AC ;2 T HL 4 .+Q BE C CCKHE;C C FC C ITK ECCH ;C2,AO15T FPFCM S TUTA SHE TET;G PS FPSTF S LTSURET GE ;S1AN2,ACF ST 1 3254D OA;L2 AC1,3254 #IFDC L DEMOG INATLO FET;S F ET S -1T NOS FP ; LT H +4 .EQ B LTSUREK ECCH ;S FP1,#-P CM K AC BITT ERNVCO ;S FP1,ACI CDST 0 1. -OT NC1;A 4LT:þÈc@ ƒn6Ã@ @ @ @ @ @ @ @ @ ÑÈbT†ƒf8v‹@ÈWƒn8f ‚@ `0†‹`0@ @ @ @ @ @ @ @ �£`86Ãf·Bp5„Ã@ 6@ ` ƒ`1ƒ@ @ @ @ @ @ @ @ r ªh`1Ãb39»` ‡«@9`3@ l0'Ã@°@ @ @ @ @ @ @ @ ‘¨Š‹p0›�³r¸‚@ ›@ `0Gƒ`8‚@ @ @ @ @ @ @ @ 9FUp°–ƒn7†œj0&Ë@ @°@ ƒ`8ƒ@ @ @ @ @ @ @ @ @ ÑÈnTfË`1g³`ȃ`°f ‚@ `0£`0@ @ @ @ @ @ @ @ �G³`¸6Ãf·Bp5Ë@ 6@ ` ƒ`¸ƒ@ @ @ @ @ @ @ @ r ªhb³ÑA ;WAS CORRECT CHARACTER RECEIVED BEQ DP11RB ;IF YES, EXIT BIT #40000,@DPTS ;IS RECEIVER OVER RUN SET BNE DP11RA HLT ;DATA ERROR BR DP11RRS ;RESTART AND RESYNC DP11RA: HLT ;OVER RUN ERROR, ;CHANGE TO NOP TO SUPPRESS ;OVERRUN ERROR ERPORTS BIC #40000,@DPTS ;CLEAR OVER RUN BR DP11RRS ;RESTART TRANSMISSION DP11RB: INCB DPRDATA ;UPDATA EXPECTED DATA BEQ DP11RRS ;IF END OF DATA, RESTART CMP DPRDATA,DPTSYNC ;IS CHARACTER TO BE TRANSMITTED SYNC BNE DP11RC ; H +4 .EQ B CCT GE ; CCCF T ULES RCKHE;C C1,A-1 #PDCM T ULES RET;G1 NS,AC1 ATD S 1076 4USATST 2 0+01D1 #OT NPS;F T HL 4 .+Q BE S ESDRADK ECCH ;PS,F+21010#DP CM 0 1. -TOT ERNVCO ;C1,A)+PS(FD CILD A AT DOFS ESDRADD OA;LS FP0,01D1 #OV M NKJUD OA;L1 AC1,10D0D LD E OD MLEUBDOT SE ; TDSE 5 T NOS FP ; LT H +4 .EQ B LTSUREK ECCH ;S FP5, #MP C CKBAT IRTVEON;C PS,FC0 AFITC S .0 5OT NC0;A 2LT H +4 .EQ B CCT GE ; CCCF T ICKHE;C C0,A#5F MP C LTSUREE THT GE ;S1AN0,ACF ST 0 406þÌc@ @ @ @ @ @ r ªhlµ£b39»` ‡«@6`3@ `0VË@0@ @ @ @ @ @ @ @ ‘¨Š‹h0@³@ @ ›@ `0ƒ`°ê@ @ @ @ @ @ @ @ 9FUp°vƒn3†œj0†³@ @°@ ƒf8†£@ @ @ @ @ @ @ @ @ ÑÈbT†ƒf7v‹`ÈVƒj·f ‚@ `0†‹`0@ @ @ @ @ @ @ @ �£`86»f·Cn5d»@ 6@ ` ƒ`1ƒ@ @ @ @ @ @ @ @ r ªh`1Ãb³9»`0v«@·`3@ l0'Ã@°@ @ @ @ @ @ @ @ ‘¨Š‹n0›�³ƒn·Â@ ›@ `0Gƒ`8‚@ @ @ @ @ @ @ @ 9FUp°†ƒn3†œj0Ã@ @°ÕIF NOT ,EXIT INCB DPRDATA ;DO NOT REVEIVE SYNC DP11RC: MOV (SP)+,R4 ;RESTORE R4 RTI ;RETURN TO MAINLINE CODE DP11RRS: BIC #4000,@DPRS ;CLEAR RECEIVER ACTIVE MOV (SP)+,R4 ;RESTORE R4 CLR DPRDATA ;CLEAR EXPECTED RECEIVE DATA CLR DPTDATA ;CLEAR TRANSMIT DATA BR RESYNC ;RESYNCHRONIZE RECEIVER DPTSYNC: 26 ;TEST SYNC CHARACTER DCCCNT: 0 ;SYNC COUNT DPRDATA: 0 ;RECEIVER DATA DPTDATA: 0 ;TRANSMITTER DATA .SBTTL DC11 ASYNCHRONOUS LINE UNIT #1 INTERRUPT SERVICE DC11T1: 47S TUTA S 5 ARETO;S C0,A#5F CILD E OD MNGTIOAFL ;0 4047 #PSDF L I*CDSTI,CFSTD,CILDF,CILDF OSTTE^*X PECO S E)ATNCRU(T0 0,1,,- 0OT NC0;A 4LT H +4 .EQ B CCT GE ; CCCF T ICKHE;C0 AC0,10D0D MP C LTSURET GE ;S1AN0,ACD ST E BLOU DET;S D ET S LFHAT GHRIN EACL ;0 AC0,ACD CFST S DEMOE ATNCRU TND ANGTIOAFL ;0 0440 #PSDF L -10,1,,- 0ADLO ;C0,A1101 DDD L D)UNRO (,0,000 1OT NS3AN ;4 T HL 4 .+Q BE C CET;G C FC C LTSUREK ECCH ;C3,A0X10D0D MP C LTSURET GE ;S1AN3,ACD ST ? F!AL HHTIG RUT O2þÐc@ @ 9×Tn¶vƒn9†Œf0F«@ @°@ ƒj1ƒ@ @ @ @ @ @ @ @ @ ÑÈrMv³b8v›`È6ƒl0f ‚@ `0V‹`0@ @ @ @ @ @ @ @ �–k`7'Ëb·Cl3$Ë@ 6@ ` ƒ`µƒ@ @ @ @ @ @ @ @ r ©hl¹»r2»`0v›@5`3@ b0«@0@ @ @ @ @ @ @ @ ‘šŠfËd±&ƒ�±ƒh¸‚@ ›@ `0ƒ`°‚@ @ @ @ @ @ @ @ 9×Tn¶&‹n9†Œf0Ë@ @°@ ƒj1ƒ@ @ @ @ @ @ @ @ @ ÑÈrMv³d1vÃ`H7ƒh¹f ‚@ `0V‹`0@ @ @ @ @ @ @ @ �–k`7&“d7C`4TÃ@ 6@ ` ƒ`µƒ@ @ ÙTSTB @DCTCSR ;TEST FOR DONE ON INTERRUPT BMI .+4 HLT ;FALSE INTERRUPT INCB (PC)+ ;INCREMENT DATA DCDAT1: 0 BNE DCOUT1 ;DONE-START OVER DCOUT: CLR DCDAT1 ;INITILIZE DATA DCOUT1: MOV DCDAT1,@DCTDBR ;TRANSMIT DATA RTI ;RETURN TO MAINLINE ;DC11 RECEIVER ROUTINE VALUES : 0 TO 377 DC11R1: MOV @DCRCSR,DPSSR ;SAVE CSR, CLEARED WHEN READ BPL DCIN5 ;BRANCH ON NO ERROR HLT ;DATA SET NOT READY CLR DCDAT1 ;REINITILIZE DATA CLR DCDAT2 ;REINITILIZE DATA DCIN5: TSTB DPARLE;C C3,AC3 AFDTC S -10,1,,- 0 AADLO ;C3,A1101 DDD L ,0,0,0-1T NO1 AC ;4 T HL 4 .+Q BE C CET;G C FC C ,0,0,0-1T IIS ;C2,A0010 DPDCM T ULES RET;G1 NS,AC2 ATD S DEMOE BLOU DET;S D ET S LFHAT GHRIR EACL ;2 AC2,ACF CDST E OD MNGTIOAFLT SE ; TFSE 0 1,,-,0-1A D OA;L2 AC0,01D1D LD E OD MLEUBDOT SE ;0 2040 #PSDF L F*CDSTD,CFSTF OSTTE^*X PECO S LYEROPPRD UNROT NOD DIF CDLD ;4 T HL 4 .+Q BE 1 A R FO2 D OR WCKHE;C S2AN1, #MP C PS FPSTF S LTSUREE THT GE ;S1AN1,ACD ST 0 1. - AADLO ;C1.þÔcÃf·Cn5”Ã@ 6@ ` ƒb³T“@ @ @ @ @ @ @ @ r ©hp²«f29»`0†«@4`3@ `0–Ã@5@ @ @ @ @ @ @ @ ‘šŠ›p°›�³r¸Â@ ›@ `0ƒ`²‚@ @ @ @ @ @ @ @ 9ÖT`5†ƒn±„œj0fÃ@ @°@ ƒr0«@ @ @ @ @ @ @ @ @ ÑÈlM›f7v‹`ÈVƒjµf ‚@ `0–ƒ`0@ @ @ @ @ @ @ @ �fk`°6Ãf·Bp5„³@ 6@ ` ƒ`9ƒ@ @ @ @ @ @ @ @ r ©hd¸£b39»` –«@0`3@ `0VË@0@ @ @ @ @ @ @ @ ‘šŠfËn°V‹�±ƒn´Â@ ›@ `0ƒd±Ê@ @ @ @ @ @ ÝSSR ;ON INTERRUPT TEST FOR DONE BMI .+4 HLT ;FALSE INTERRUPT, DONE NOT SET CMPB @DCRDBR,DCDAT2 ;IS DATA CORRECT: BEQ DCIN3 HLT ;DC 11 RECEIVER DATA ERROR DCIN3: INCB (PC)+ ;UPDATE EXPECTED DATA PATTERN DCDAT2: 0 BNE DCIN2 ;NO-LOOK FOR THE REST DCIN1: CLR DCDAT2 ;SET UP BASIC DATA DCIN2: MOV #1,WATDC1 RTI ;RETURN TO MAINLINE DPSSR: 0 ;SAVE PS OF CSR DCOUTF: 134 ;CHANGE TO 134 FOR MAINTENANCE MODE ;130 FOR TELEPHASE LINE DCINF: 130 ;CHANGE 130 TO 100 FOR,A1010 DDFDC L ESOD MNGTIOAFLD AND UNROT SE ;0 4047 #PSDF L ,1,0,0-1T NO1 AC ;4 T HL 4 .+Q BE C CET;G C FC C PS FPSTF S LTSUREK ECCH ;C1,A0110 DPDCM T ULES RET;G1 NS,AC1 ATD S ITD OA;L1 AC0,01D1F CDLD S DEMOE ATNCRU TND ALEUBDOT SE ;0 4447 #PSDF L -10,1,1, -OT NLTSURE ;4 T HL 4 .+Q BE C FC C LTSUREK ECCH ;C1,ARDEI WPDCM T ULES RET;G1 NS,AC1 ATD S TDSE 0 4147S TUTA S 1010#DT NOS FP ; LT H +4 .EQ B 0? 1BYT ENEMCRDES ESDRAD ;PS,F1010#DP CM 0 1, - AADLO ;C1,AS)FP-(F CDLD 0 +1A *þØc`0ƒ`°‚@ @ @ @ @ @ @ @ 9¦Tl°Fƒn7†”h0&“@ @°@ ƒj1ƒ@ @ @ @ @ @ @ @ @ ÑÈnJfƒd5v³`HFƒn°f ‚@ `0V‹`0@ @ @ @ @ @ @ @ �vS`6'³d7Cf4tÃ@ 6@ ` ƒ`µƒ@ @ @ @ @ @ @ @ r ©h`7³h²)»`0F£@1`3@ b0«@0@ @ @ @ @ @ @ @ ‘˜ŠW«n°›�³ƒh·Â@ ›@ `0ƒ`5‚@ @ @ @ @ @ @ @ 9ÆTrµ†ƒn±„œj0fÃ@ @°@ ƒd0«@ @ @ @ @ @ @ @ @ ÑÈbMV›f8v‹@ÈWƒr9f ‚@ `0F›p5@ @ @ @ @ @ @ @ �'k`5á SLOWER SPEED(TTY) .SBTTL DC11 ASYNCHRONOUS LINE UNIT #2 INTERRUPT SERVICE ;DC11 TRANSMITTER #1 INTERRUPT SERVICE DC11T2: TSTB @DCTCSA ;TEST FOR DONE ON INTERRUPT BMI .+4 HLT ;FALSE INTERRUPT INCB (PC)+ ;INCREMENT DATA DCDAT3: 0 BNE DCOUT3 ;DONE-START OVER DCOUTA: CLR DCDAT3 ;INITILIZE DATA DCOUT3: MOV DCDAT3,@DCTDBA ;TRANSMIT DATA RTI ;RETURN TO MAINLINE ;DC11 RECEIVER ROUTINE VALUES: 0 TO 377 DC11R2: MOV @DCRSR,DPSSR1 ;SAVE CSR, CLEARED WHEN READ BPL DCIN5A ;BAT DOFS ESDRADT GE ;PS,F100+01D1 #OV M DEMOG INATLO FET;S F ET S -10,1,,- 0 AADLO ;C1,A0101 DDD L ,0,0,0-1T NO0 AC ;4 T HL 4 .+Q BE C CET;G C FC C LTSUREK ECCH ;C0,A0010 DPDCM R WENS AET;G1 NS,AC0 ATD S 1076 4USATST 4 0+01D1 #OT NPS;F T HL 4 .+Q BE ? 4BYC IN ;PS,F+41010#DP CM 0 0,0,1, - AADLO ;C0,A)+PS(FD CFLD A AT DOFS ESDRADT GE ;PS,F1010#DV MO 1 ,-,0-10,A D OA;L0 AC1,10D0@AD LD E OD MLEUBDOT SE ;0 6047 #PSDF L F*CDLDD,CFLDF OSTTE^*X PECO S 5 7. -OT N-2/ . 15 ;4 T HL 4 .+&þÜc@ @ @ @ @ @ �WS`16Ãf·Bp5t«@ 6@ ` ƒn5”»@ @ @ @ @ @ @ @ r ©hp5‹b39»` †«@¸`3@ `0V»@0@ @ @ @ @ @ @ @ ‘”Š»`1–“�±ƒh·º@ ›@ `0ƒ`°‚@ @ @ @ @ @ @ @ 9¦Tl°&‹n2†Œf0&Ã@ @°@ ƒj1ƒ@ @ @ @ @ @ @ @ @ ÑÈnJfƒd²vË`È7ƒl9f ‚@ `0V‹`0@ @ @ @ @ @ @ @ �vS`6'‹d7Cr3T»@ 6@ ` ƒ`µƒ@ @ @ @ @ @ @ @ r ©h`7³l2)»`0£@6`3@ b0«@0@ @ @ @ @ @ @ @ ‘”Š»f0F“�²ƒh1Š@ ›@ åRANCH ON NO ERROR HLT ;DATA SET NOT READY CLR DCDAT3 ;REINITILIZE DATA CLR DCDAT4 ;REINITILIZE DATA DCIN5A: TSTB DPSSR1 ;ON INTERRUPT TEST FOR DONE BMI .+4 HLT ;FALSE INTERRUPT, DONE NOT SET CMPB @DCRBR,DCDAT4 ;IS DATA CORRECT: BEQ DCIN3B HLT ;DC 11 RECEIVER DATA ERROR DCIN3B: INCB (PC)+ ;UPDATE EXPECTED DATA PATTERN DCDAT4: 0 BNE DCIN4A ;NO-LOOK FOR THE REST DCIN3A: CLR DCDAT4 ;SET UP BASIC DATA DCIN4A: MOV #1,WATDC2 RTI ;RETURN TO MAINLINE DPSSR1: 0 Q BE C CET;G C FC C LTSUREK ECCH ;C0,A.5-7 #PDCM T ULES RRETO;S1 NS,AC0 ATD S 1076 4USATST 2 - /5.;1 C0,A-2 #VDDI . 15 +OT N-3X 5 ;- 4LT H +4 .EQ B CCT GE ; CCCF T ULES RCKHE;C0 AC.,15 #PDCM T ULES RET;G1 NS,AC0 ATD S 0076 4USATST 3 -BYL MU ;0 AC3,#-D UL M -5A D OA;L C0,A-5 #DD L DEMOE BLOU DADLO ;0 6047 #PSDF L D*IV DND ALDMUF OSTTE^*X PECO S 3 T NO7 - /1.-2 ;2 T HL 4 .+Q BE C CET;G C FC C LTSUREK ECCH ;3 AC3, #PFCM T ULES RET;G1 NS,AC3 ATF S 0074 4USATST 3 -"þàc@ @ ‘”І«n°“�³ƒp¶‚@ ›@ `0ƒj7‚@ @ @ @ @ @ @ @ 9¦Tb¸vƒn3†œj0‡³@ @°@ ƒb5W«@ @ @ @ @ @ @ @ @ ÑÈjJÃf7v‹`ÈVƒr³f ‚@ `0vƒ`°@ @ @ @ @ @ @ @ �WS`16»f·Cn5£@ 6@ ` ƒj9ƒ@ @ @ @ @ @ @ @ r ©hp5‹b³9»`0v«@1`3@ d1v«@¹@ @ @ @ @ @ @ @ ‘”І«n°›�³ƒh·’@ ›@ `0ƒ`µ‚@ @ @ @ @ @ @ @ 9¦Tb¸†ƒn±„œj0VÃ@ @°@ ƒn0«@ @ @ @ @ @ @ @ @ ÑÈjJÃf8v‹@ÈWƒl5f ‚@ `0–ƒ`°@ @ é;SAVE PS OF CSR .SBTTL DM11 ASYNCHRONOUS MULTIPLEXER INTERRUPT SERVICE ;DM11 TRANSMITTER INTERRUPT SERVICE ROUTINE DM11T: MOV R0,-(SP) ;SAVE R0 & R1 ON MOV R1,-(SP) ;THE STACK CLR R0 ;CLEAR INT ERROR INDICATOR BIT #.NEX+.OVRUN,@DMCSR ;ERROR FLAGS ? BEQ DMTIN ;BRANCH IS NO ERROR FLAGS HLT ;ERROR FLAG BIC #.NEX+.OVRUN,@DMCSR ;CLEAR ERROR FLAG COM R0 ;SET INT ERROR INDICATOR DMTIN: TST @DMCSR ;READY FLAG? BMI DMTIN1 TST R0 ;INT BEACUSE OF ERROR? BNE DMTINX ;YES, BBYE IDIV;D C3,A-7 #VFDI . 21 -OT N-3X ;2 T HL 4 .+Q BE C CET;G C FC C LTSUREK ECCH ;C3,A1.-2 #PFCM T ULES RET;G1 NS,AC3 ATF S 1074 4USATST 3 -;X C3,A-3 #LFMU 7 AADLO ;3 AC7, #DF L DEMOG INATLO FADLO ;0 4047 #PSDF L F*IV DND ALFMUF OSTTE^*X PECO S A LTDAT NO1 NS;A 4LT H +4 .EQ B CCT GE ; CCCF T ICKHE;C2 ACC,LTDAD MP C LTSUREE THT GE ;S1AN2,ACD ST 0 6047S TUTA S CKBAT ICTRABTSU ;C2,ATAAL DBDSU N TAAL DOT NS1AN ;4 T HL 4 .+Q BE C CET;G C FC C LTSUREK ECCH ;2 AC3,þäcvÃ`ÈVƒn6f ‚@ `0vƒ`°@ @ @ @ @ @ @ @ �WS`1'›f7Cd5„³@ 6@ ` ƒh¹dÃ@ @ @ @ @ @ @ @ r ©hp5‹l29»` 7«@2`3@ `0V»@0@ @ @ @ @ @ @ @ ‘”І«j°†‹�³h´¢@ ›@ `0‹p9²@ @ @ @ @ @ @ @ 9¦Tb¸Vƒn±†œj0–£@ @°@ ƒn0«@ @ @ @ @ @ @ @ @ ÑÈjJÃf5v‹`ÈVƒr9f ‚@ `0–ƒ`°@ @ @ @ @ @ @ @ �WS`1&³f·Cl5„‹@ 6@ ` ƒj7ƒ@ @ @ @ @ @ @ @ r ©hp5‹n29»`0f«@¹`3@ `0VË@0@ @ @ @ @ @ íUT NO READY, EXIT HLT ;NO ERROR, NO READY BR DMTINX ;EXIT DMTIN1: BIC #.READY,@DMCSR ;CLEAR READY CLR R0 MOV #1,R1 DMTINA: BIT R1,@DMBAR ;WHICH LINE FINISHED? BNE DMTINB BIT R1,DMBARIM ;SHOULD THIS LINE BE RESTARTED BEQ DMTINB ;BRANCH IF NOT MOV #PROCTS,DMCAT(R0) ;INITIALIZE WORD COUNT MOV #-400,DMWCT(R0) ;CURRENT ADDRESS BIS R1,@DMBAR ;AND RESTART LINE THAT FINISHED DMTINB: ADD #2,R0 ASL R1 BCC DMTINA DMTINX: MOV (SP)+,R1 MOV (SP)+,R0 RTI ;EXIT ;DM11 RECEIV #PDCM T ULES RET;G1 NSAA,@C2 ATD S 0076 4USATST S 1'R HEOTD AD ;C2,ATBAL DDDAD S 1'T ALD OA;L2 ACA,LTDAD LD 7 -2T NO5 .+32;- 4LT H +4 .EQ B CCT GE ; CCCF T ULES RCKHE;C1 AC.,27#-D MP C LTSURET GE ;S1AN@A1,ACD ST 0 6147S TUTA S 2.-3O T 5DD;A C1,A#5D DD A 2.-3A D OA;L1 AC.,32#-D LD E OD MLEUBDOT SE ;0 6047 #PSDF L D*UB SND ADDADF OSTTE^*X PECO S ? -3T NO9 - 6 ;2 T HL 4 .+Q BE C CET;G C FC C LTSUREK ECCH ;0 AC3,#-F MP C S1ANN ILTSUREE ORST ;S1AN0,ACF ST 0 4147S TUTAþèc`0VË@0@ @ @ @ @ @ @ @ ‘’Š›p0›�³ƒ`¸Â@ ›@ `0fƒ`µ‚@ @ @ @ @ @ @ @ 9–T`±†ƒn°†œj0Ã@ @°@ ƒj1v›@ @ @ @ @ @ @ @ @ ÑÈfI‹f8v‹@ÈWƒd5f ‚@ `0v³`°@ @ @ @ @ @ @ @ �WS`1&Ãf7C`5”“@ 6@ ` ƒr¹äœ@ @ @ @ @ @ @ @ r ©hp5‹b³9»`0«@9`3@ r0GË@6@ @ @ @ @ @ @ @ ‘”І«d°†“�³ƒh±’@ ›@ `0ƒ`µ‚@ @ @ @ @ @ @ @ 9¦Tb¸&ƒn8†œj0F‹@ @°@ ƒr9†£@ @ @ @ @ @ @ @ @ ÑÈjJÃd3ñER INTERRUPT SERVICE ROUTINE DM11R: MOV R0,-(SP) MOV R1,-(SP) ;SAVE R1 MOV R2,-(SP) ;SAVE R2 MOV DMTDAT,R1 ;GET POINTER TO DATA MOV DMPTR,R0 TSTB @DMCSR ;DONE SET? BMI DMRINA ;BRANCH IF SET HLT ;FALSE INTERRUPT BR DMRINX ;GO TO EXIT DMRINA: TST (R0) ;TEST FOR VALID DATA ENTRY BMI DMRINC ;BRANCH IF VALID DATA ENTRY HLT ;NO VALID DATA ENTRY BR DMRINX ;GO TO EXIT DMRINB: TST (R0) ;VALID DATA ENTRY? BPL DMRINX ;EXIT IF NO MORE ENTRIES DMRINC: BIT #17000,( S 6OMFR9 T ACTRUB;S C0,A#9F UB S 6OT NLTSURE ;2 T HL 4 .+Q BE C CET;G C FC C LTSUREK ECCH ;0 AC6, #PFCM T ULES RRETO;S1 NS,AC0 ATF S 0074 4USATST 2 A D AD ;0 AC2, #DFAD 4 A D OA;L C0,A#4F LD E OD MNGTIOAFLD OA;L 0074#4S FPLD * BFSU& F DD AOFT ES*T ^EXOPSC 5 12T NOP EX ; LT H +4 .EQ B ITK ECCH ;S FP5,#2P CM K AC BITT GE ;S FP2,ACP EXST S 1'T ALR HEOTD OA;L C2,A25 #XPDE L 52 2OT NXP;E T HL 4 .+Q BE ? OK ;S FP2,#5P CM K AC BEMTHT GE ;S FP1,ACP EXST S 1'T ALD OA;L C1þìc@ @ @ @ @ @ ÑÈdF6«f8v‹@ÈWƒp3f ‚@ `0–ƒ`°@ @ @ @ @ @ @ @ �&3`³6Ãf·Bp5”›@ 6@ ` ƒl¶t³@ @ @ @ @ @ @ @ r ¨hf²‹d29»`0†«@0`3@ f0VÃ@9@ @ @ @ @ @ @ @ ‘ŽŠ6“r°v“�³ƒd¹‚@ ›@ `0vƒb³ª@ @ @ @ @ @ @ @ 9vTd6†ƒn±„œj0FÃ@ @°@ ƒl´Vƒ@ @ @ @ @ @ @ @ @ ÑÈfH«f8v‹@ÈWƒn4f ‚@ `0–ƒ`0@ @ @ @ @ @ @ @ �fC`5&Ëf·Cr5“@ 6@ ` ƒn5TË@ @ @ @ @ @ @ @ r ©hl7“p²9»`0&«@1`3@ õR0) ;LINE ZERO BNE DMRIND MOVB PROCTS(R1),R2 ;GET DATA BIC DMMSK,R2 ;CLEAR NON TRANSMITTED BITS CMPB (R0),R2 ;COMPARE RECEIVED & TRANSMITTED DATA BEQ .+4 HLT ;ERROR! INCORRECT DATA INCB DMTDAT ;FORM WHAT NEXT RECEIVED CHAR. SHOULD BE DMRIND: CLR (R0) ;CLR TUMBLER TABLE ENTRY CMP R0,#TUMTAB+176 ;IS POINTER AT THE END OF THE TABLE BNE .+6 MOV #TUMTAB-2,R0 TST (R0)+ ;CLEAR ENTRY AND INCREMENT POINTER MOV R0,DMPTR ;RESTORE POINTER BR DMRINB ;LOOK AT NEXT ENTRY DMR,A52 #XPDE L 00-2T NOT ENONXP;E T HL 4 .+Q BE T ICKHE;C1 NS,A00-2 #MP C CKBAT ENONXP EHE TET;G1 NS,AC0 AXPTE S -1T NO2 NS;A 2LT H +4 .EQ B RDWOD ONEC SCKHE;C2 NS,A-1 #MP C 0OT NS1AN ;2 T HL 4 .+Q BE D OR WSTIR FCKHE;C S1ANT TS T ULES RVESA ;S1AN0,ACF ST 6 0040S TUTA S -1O TNTNEPOEXT SE ;C0,A00#2P EXLD 1 ,- 0 AADLO ;C0,A0101 DDF L DEMOG INATLO FET;S F ET S 0OT NNTNEPOEX ;1 T HL 4 .+Q BE T ICKHE;C1 NS,A00-2 #MP C NGRO WISS ;P T HL K OIFP KI;S +4 .EQ B K? OITS ;Iþðc@ r ¨hp1£b39»` †«@·`3@ p0f³@3@ @ @ @ @ @ @ @ ‘ŒŠ†‹p0›�³r¸º@ ›@ `0ƒ`0‚@ @ @ @ @ @ @ @ 9fTf5Vƒn3„œj06£@ @°@ ƒl1f³@ @ @ @ @ @ @ @ @ ÑÈdF6«f5v‹`ÈVƒp´f ‚@ `0f‹n6@ @ @ @ @ @ @ @ �&3`³&³f·Cl5$³@ 6@ ` ƒl¶t³@ @ @ @ @ @ @ @ r ¨hj2›`²9»`0f«@¹`3@ `0VË@0@ @ @ @ @ @ @ @ ‘ŒŠV“n°›�³ƒd·’@ ›@ `0ƒ`µ‚@ @ @ @ @ @ @ @ 9fTf5vƒn±†œj0&»@ @°@ ƒl1f³@ @ @ ùINX: MOV (SP)+,R2 ;RESTORE R2 MOV (SP)+,R1 ;RESTORE R1 MOV (SP)+,R0 ;RESTORE R0 BIC #.DONE,@DMCSR ;CLEAR DONE FLAG MOV #1,WATCDM RTI ;DM11 TAGS AND CORE TABLE .=.!377+1 ;SET ASSEMBLER LOCATION COUNTER ;TO X XXX XXX X00 000 000 DMCAT: 0 ;RESERVE 16. WORDS FOR .=DMCAT+32. ;CURRENT ADDRESS TABLE DMWCT: 0 ;RESERVE 16. WORDS FOR .=DMWCT+32. ;WORD COUNT TABLE DMBAT: 0 ;RESERVE 16. WORDS FOR .=DMBAT+32. ;BIT ASSEMBLY TABLE DMMSK: 177400 ;CHARACTER MAS PS,F10 #MP C NKJUR EACL ;PS,F607717 #IC B TSBIS PET;GS FPS,#P @OV M LTSUREE THT GE ;S1AN0,ACP EXST 0 T NO0 AC ;4 T HL 4 .+Q BE C FC C 0ITS ;I C0 ATDTS T ULES RHE TET;G1 NS,AC0 ATD S 0402 4USATST T ENONXP EHE TARLE;C0 AC0,20#-P EXLD 0 1,,-,0-1A D OA;L0 AC0,01D1D LD E OD MLEUBDOT SE ;0 2040 #PSDF L P*EXST& P EXLDF OSTTE^*X PECO S ,0-10,7,7777T NOT ULES;R 4LT H +4 .EQ B CCT GE ; CCCF T ULES RHE TCKHE;C0 ACG,BI DPDCM T ULES RET;G1 NS,AC0 ATD S 0002 4USATST T IBS;A C0 ASDþôc†œj0–»@ @°@ ƒb4'›@ @ @ @ @ @ @ @ @ ÑÈrEƒf8v‹@ÈWƒj3f ‚@ `0v“j2@ @ @ @ @ @ @ @ �–+`0Ëf·Cr5d‹@ 6@ ` ƒr1›@ @ @ @ @ @ @ @ r ¨hp1£n29»`0f«@2`3@ f0ƒ@0@ @ @ @ @ @ @ @ ‘ŒŠ†‹n0›�³ƒd·Š@ ›@ `0†ƒl6š@ @ @ @ @ @ @ @ 9fTh¸†ƒn¶†œj0†»@ @°@ ƒh0 ƒ@ @ @ @ @ @ @ @ @ ÑÈbFFÃf7v‹`ÈVƒl¸f ‚@ `0fƒ`0@ @ @ @ @ @ @ @ �3`46Ãf·Bp5d›@ 6@ ` ƒ`°ƒ@ @ @ @ @ @ @ ýK (8 BIT) DMTDAT: 0 ;BYTE COUNTER DMPTR: 0 ;SOFTWARE TUMBLE TABLE POINTER DMBARIM:-1 ;INITIALIXE TO TRANSMIT ALL LINES .=DMBAT+64. TUMTAB: 0 ;RESERVE 64. WORDS .=TUMTAB+128. ;FOR TUMBLE TABLE ;EQUATES .GO=1 .MAINT=4 .RIE=100 .DONE=200 .TIE=10000 .OVRUN=20000 .NEX=40000 .READY=100000 .DMPRTY=240 .SBTTL LINE PRINTER INTERRUPT SERVICE LPINTR: TSTB @LPCSR ;TEST FOR FLAG BMI .+4 HLT ;FALSE RETURN FROM MAIN LINE CMP CLINCT,#79. ;TEST FOR END OF LIAB 0 1,,-,0-1D OA;L0 AC0,01D1D LD E OD MLEUBDOT SE ; TDSE 0 T NOT ULES;R 2LT H +4 .EQ B CCT GE ; CCCF 0 R FOT ES;T C0 ATFTS T ULES RET;G1 NS,AC0 ATF S 0400 4USATST T IBS;A C0 ASFAB O ER ZUSIN M AADLO ;C0,AROZEDMF LD 1 T NOT ULES;R 2LT H +4 .EQ B CCT GE ; CCCF 1 A R FOK ECCH ;0 AC1, #PFCM S TUTA SET;G PS FPSTF S INGA AITS AB ;0 ACF BS A 2LT H OKF IIPSK ;4 .+Q BE ? 0STRE ;2 NS AST T 1OT NLTSURE ;2 T HL 4 .+Q BE 1 A R FOK ECCH ;S1AN0,2040 #MP C 0000 4USATST þøcƒ`µt³@ @ @ @ @ @ @ @ r ¨hf±«b39»` †«@°`3@ b0'“@3@ @ @ @ @ @ @ @ ‘ŠŠ6‹p°›�³f¸Š@ ›@ `0f‹r5’@ @ @ @ @ @ @ @ 9VTj³†ƒn±„œj06Ã@ @°@ ƒr·F«@ @ @ @ @ @ @ @ @ ÑÈlEV»f8v‹@ÈWƒh3f ‚@ `0–ƒ`°@ @ @ @ @ @ @ @ �–+`0&³f·Cj5”³@ 6@ ` ƒl14Ã@ @ @ @ @ @ @ @ r ¨h`¹ƒf²9»`0g«@3`3@ f0W£@5@ @ @ @ @ @ @ @ ‘ŠŠËn0›�³ƒb·Ê@ ›@ `0&ƒd²ª@ @ @ @ @ @ @ @ 9WT`°†ƒnµNE BEQ LP4 ;GO GENERATE CR/LF INC CLINCT ;INCREMENT LINE POSITION COUNT CMP CURPAT,#137 ;TEST FOR MAXIMUM PATTERN BEQ LP3 ;YES - GO TO LP3 AND RESET INC CURPAT ;NO - INCREMENT TO NEXT PATTERN BR LP2 ;GO SEND IT TO LINE PRINTER LP3: MOV #40,CURPAT ;RESET PATTERN AND SEND TO PRINTER BR LP2 ;SENT TO LINE PRINTER LP4: CLR CLINCT ;RESET LINE COUNT MOV #LPIN2,@#200 MOV #12,@LPDBR ;LINE FEED RTI LPIN2: MOV #LPINTR,@#200 CMP SOLPAT,#137 ;START OF LINE PATTERN BEQ LP5 1 A T IKEMA ;1 NS ASFAB T IET;G1 NS,AC0 ATF S -1A D OA;L C0,A-1 #DF L 0000#4S FPLD * SXABF OSTTE^*X PECO S 0OT NLTSURE ;4 T HL 4 .+Q BE C CET;G C FC C LTSURET ES;T C0 ATFTS T ULES RET;G1 NS,AC0 ATF S 0476 4USATST 0 ACE ATEG;N C0 AGDNE 0 ACR EACL ;0 ACD LR C DEMOE BLOU DET;S D ET S 0OT NLTSURE ;2 T HL 4 .+Q BE C CET;G C FC C ITK ECCH ;0 ACF ST T LTSURET GE ;S1AN0,ACF ST 0 -OT N 0BED ULHO;S 0474 4USATST T ITEGANE ;0 ACF EG N C0 AARLE;C C0 ARFCL S PTRUTEINN Oþüc@ @ @ @ @ 9T`9†ƒn°„œj0Ã@ @°@ ƒr0«@ @ @ @ @ @ @ @ @ ÑÈjBÃf7v‹`ÈVƒb°f ‚@ `0vƒ`°@ @ @ @ @ @ @ @ �w`°‹f7Cr4„£@ 6@ ` ƒ`¶ƒ@ @ @ @ @ @ @ @ r ¨hn³Ãb39»` †«@1`3@ b0f£@5@ @ @ @ @ @ @ @ ‘ˆŠw£p0›�³d¸²@ ›@ `0ƒ`µ‚@ @ @ @ @ @ @ @ 9FTp´vƒn±†œj0»@ @°@ j1 ƒ@ @ @ @ @ @ @ @ @ ÑÈnD†£f7v‹`ÈVƒb±f ‚@ `0V‹`0@ @ @ @ @ @ @ @ �+`µ6Ãf·Bp5”“@ 6@ `  INC SOLPAT ;INCREMENT START OF LINE BR LP1 LP5: MOV #40,SOLPAT ;RESET START OF LINE LP1: MOV SOLPAT,CURPAT ;START OF LINE TO CURRENT LP2: MOV CURPAT,@LPDBR ;CURRENT PATTERN TO LINE PRINTER RTI ;RETURN TO MAIN LINE CURPAT: 0 ;CURRENT CHARACTER BEING PRINTED SOLPAT: 0 ;START OF LINE CHARACTER CLINCT: 0 ;POSITION OF LINE .SBTTL DECTAPE INTERRUPT SERVICE RD=4 ;READ DATA WD=14 ;WRITE DATA RB=2 BR=2 ;READ BLOCK F=0 ;FORWARD IE=100 ;INTERRUPT ENABLE DO=RNTU ;0 4047 #PSDF L 2LT H OKF IIPSK ;4 .+Q BE ? 0STRE ;2 NS AST T -5T NOT ULES;R 2LT H +4 .EQ B LTSUREE THK ECCH ;S1AN0,6440#1P CM 0 0140S TUTA S -5T IKEMA ;1 NS AGFNE 5 T NOT ULES;R 2LT H +4 .EQ B CCT GE ; CCCF T ULES RHE TCKHE;C C0,A#5F MP C LTSUREE THT GE ;S1AN0,ACF ST 0 0040S TUTA S 5ITE AK;M C0 AGFNE 5 -THWI0 ACD OA;L C0,A-5 #DF L 0000#4S FPLD * GXNEF OSTTE^*X PECO S R EACLT NOD DI ;4 T HL 4 .+Q BE C CET;G C FC C ITK ECCH ;0 ACD ST T LTSUREE ORST ;þc@ �& `°6»f·Cl5tË@ 6@ ` ƒ`9ƒ@ @ @ @ @ @ @ @ r ¨hb²ƒb³9»`0g«@¸`3@ b0vÃ@°@ @ @ @ @ @ @ @ ‘‚Š“n0›�³ƒp·¢@ ›@ `0ƒj7Š@ @ @ @ @ @ @ @ 9T`1†ƒn3†œj0Ã@ @°@ ƒf2&£@ @ @ @ @ @ @ @ @ ÑÈdA‹f8vƒ@ÈWƒf1f ‚@ `0–ƒ`0@ @ @ @ @ @ @ @ �& `°6Ãf7Bp5D‹@ 6@ ` ƒf54‹@ @ @ @ @ @ @ @ r ¨hb²ƒr±9»`0–«@µ`3@ b0f»@¹@ @ @ @ @ @ @ @ ‘‚Š–³n0›�³ƒ`·‚@ ›@ `0ƒ`µ‚@ @ @ 1 ;DO - THE FUNCTION R=4000 ;REVERSE TCFLAG: 0 ;FLAG IS TESTED IN SCOPE TCSTAT: 0 ;DECTAPE PS TCFIRST: 0 ;FIRST BLOCK TO BE SEARCHED FOR TCLAST: 577. ;LAST BLOCK TO BE SEARCHED FOR TCEXPE: 0 ;THE BLOCK THAT AS EXPECTED ;GO TO FORWARD END ZONE TC11: MOV #TC11,TCIV ;END ZONE VECTOR SETUP TST @TCST ;TEST FOR END ZONE BMI FEND1 ;AT END ZONE? INCB @TCCM ;SET DO - NO DELAY RTI ;NO - WAIT SOME MORE FEND1: MOV #TCF1,TCIV ;YES - NEW VECTOR BIC #104000,@TCCM ;SS1AN0,ACD ST 4 2040S TUTA S UT OITR EACL ;0 ACD LR C ROZES NUMIA D OA;L0 ACO,ERMZ DDD L ARLE COT NID;D 4LT H +4 .EQ B USATSTT GE ; CCCF R EACLT IID;D C0 ATDTS T ULES RRETO;S1 NS,AC0 ATD S 0402 4USATST 0 ACF OSTREE THR EACL ;0 ACD LR C TDSE 0 T NO4 NS;A 4LT H +4 .EQ B THURFOK ECCH ;S4AN6,0+01D1P CM 1 -OT NS3AN ;4 T HL 4 .+Q BE D OR WRDHI TCKHE;C3 NS,A+41010 DMP C ROZET NO0 AC ;2 T HL 4 .+Q BE C CET;G C FC C ROZER FOT ES;T S1ANF ST T 0400 4USATST T OUT IARLE;C S1þých³‚@ ›@ `0ƒ`°‚@ @ @ @ @ @ @ @ 9T`1Fƒn6„œj0F›@ @°@ ƒp1V»@ @ @ @ @ @ @ @ @ ÑÈdA‹f5v‹`ÈVƒl5f ‚@ `0–ƒ`0@ @ @ @ @ @ @ @ �& `°6«f·Ch5t«@ 6@ ` ƒn¸«@ @ @ @ @ @ @ @ r ¨hb²ƒb29»`0V«@7`3@ b0FË@·@ @ @ @ @ @ @ @ ‘‚Š“l0v“�³ƒpµ’@ ›@ `0ƒ`°‚@ @ @ @ @ @ @ @ 9T`1fƒn7†œj0†«@ @°@ ƒp1V»@ @ @ @ @ @ @ @ @ ÑÈdA‹d7v›`ÈVƒd8f ‚@ `0W‹l9@ @ @ @ @ @ @ EARCH BLOCK FORWARD MOV TCFIRST,TCEXPE ;COUNT WHEN THIS BLOCK IS FOUND TCF1A: INCB @TCCM ;SET DO RTI ;RETURN ON NEXT BLOCK TCF1: BIT #100200,@TCCM ;ANY ERROR ON READ? BPL .+4 HLT ;TC ERROR SET - FORWARD READ BLOCK BNE .+4 ;DONE FLAG UP? HLT ;FALSE INTERRUPT CMP @TCDT,TCEXPE ;IS THIS OUR BLOCK FOR SYNC BLT TCF1A ;NO-READ SOME MORE BLOCKS BEQ TCF2 ;YES HLT ;WE PASSED THE BLOCK TCF2: MOV #TCF3,TCIV ;VECTOR FOR SEQUENTIAL READS INCB @TCCM ;SET DO RTI ;ANF LR C NGTIOAFLT SE ; TFSE 1 NS ATOINT PU ;S1AN0,ACD ST 1 - AADLO ;C0,A1010 DDD L DEMOE BLOU;D 0002#4S FPLD * NSIOCTRUSTINX LR COFT ES*T ^EXOPSC ET SOT NIT B;Z T HL 4 .+Q BE S TUTA SCKHE;CS FP4,2040 #MP C USATSTT GE ;S FPS FPST E ER HOR ; LTHA E ER HOR ; LTHA E ER HOT;N T AL H REHEO GLDOUSH ;0 +1 .BR E IN LINT BIZ R FOT ES;T #0D ST T DEMOE BLOU DET;S D ET S ET SOT NIT B;N T HL 4 .+Q BE T BIN E THK ECCH ;PS,F1000#4P CM S TUTA SET;G PS FPSTF S 2OT N 4BYD TEENEMCRIN ;úýc6ƒp0@ @ @ @ @ @ @ @ �& `°'Ëd·Cj4d»@ 6@ ` ƒ`9ƒ@ @ @ @ @ @ @ @ r ¨hb²ƒr²)»`0V£@·`3@ b0f›@°@ @ @ @ @ @ @ @ ‘‚Š“`1›�²ƒp6²@ ›@ `0wƒ`2‚@ @ @ @ @ @ @ @ 9T`1‹n1†”h0†³@ @°@ ƒr0ƒ@ @ @ @ @ @ @ @ @ ÑÈdA‹`±v‹`HFƒp8f ‚@ `0†‹`µ@ @ @ @ @ @ @ @ �& b°6‹d7Cn4”»@ 6@ ` ƒ`9ƒ@ @ @ @ @ @ @ @ r ¨hb²ƒ`³)»`0w£@0`3@ b0vÃ@°@ @ @ @ @ @ @ @ ‘‚Š“h0f“�³RETURN AND TEST SEQUENTIAL BLOCKS ;FIND SEQUENTIAL BLOCK AT FORWARD DIRECTION TCF3: BIT #100200,@TCCM ;TEST ERROR AND READY BPL .+4 HLT ;FORWARD READ ERROR TC-11 BNE .+4 HLT ;FALSE INTERRUPT ON TC-11 CMP @TCDT,TCLAST ;HAVE WE TESTED ALL BLOCKS BEQ RENDZ ;YES DRIVE UNIT IN END ZONE TO START OVER INC TCEXPE ;NO-INCREMENT EXPECTED COUNT CMP @TCDT,TCEXPE ;IS CURRENT BLOCK CORRECT BEQ .+4 HLT ;FAILED IN FORWARD READ TO FIND NEXT BLOCK BR TCWBK ;THIS ROUTINE WRITES LT H REHEO GLDOUSH ;4 .+R B NELIN IIT B NHE TOR FSTTE ;1 #-F ST T ET SOT NIT B;Z T HL 4 .+Q BE S TUTA SCKHE;CS FP4,0040 #MP C USATSTT GE ;S FPS FPST 0 = 2 ACT ES;T C2 ATFTS 0 T NO ; LT H +4 .EQ B USATSTK ECCH ;PS,F0000#4P CM S TUTA SET;G PS FPSTF S 5 =C5 ASTTE ;5 ACF ST T ET SOT NIT B;N T HL 4 .+Q BE S TUTA SCKHE;CS FP0,0140 #MP C USATSTE THT GE ;S FPS FPST 1 - =C1 ASTTE ;1 ACF ST T 0000#4S FPLD * C5-AC0 ALD ONGSI UTDTSD ANF ST TOFT ES*T ^EXOPSC 021014T NOS FP ;öý c@ @ @ @ @ ‘@Š@ @ @ @ @ @ @ @ @ @ @ @ @ @ @  Tj7Vƒn±†œj0V£@ @°@ ƒj1ƒ@ @ @ @ @ @ @ @ @ ÑÈ`AV»d6v»`ÈVƒb¸f ‚@ `0V‹`0@ @ @ @ @ @ @ @ � `µ6»f·Cl5TË@ 6@ ` ƒ`µƒ@ @ @ @ @ @ @ @ r ¨hn°«`39»` †«@±`3@ b0«@0@ @ @ @ @ @ @ @ ‘‚Šv‹p0›�³b¸’@ ›@ `0Fƒ`0Â@ @ @ @ @ @ @ @ 9T`1ƒn6†”f06Ë@ @°@ ƒ`°Fƒ@ @ @ @ @ @ @ @ @ ÑÈdA‹d8vË`HFƒf°f ‚@ `0A BLOCK TCF4: INCB @TCCM ;SET DO RTI XTC11: BR TC11 ;INDIRECT LINK ;MOVE TAPE TO REVERSE END ZONE RENDZ: MOV #RENDZ,TCIV ;END ZONE VECTOR SETUP MOV TCLAST,TCEXPE ;SET UP FOR REVERSE SEARCH TST @TCST ;IN END ZONE BMI REND1 ;YES - START TO TURN UNIT AROUND INCB @TCCM ;SET DO RTI ;NO - WAIT TILL WE ARE REND1: MOV TCDRV,@TCCM ;SELECT DRIVE TO BE TESTED BIS #R+IE+RB+DO,@TCCM ;FUNCTION = READ BLOCK, REVERSE AND GO MOV #TCR1,TCIV ;SET UP NEW INTERRUPT VECTOR RTI ;WRI LT H +4 .EQ B USATSTT INPOG INATLO FCKHE;CS FP0,0041 #MP C USATSTT INPOG INATLO FRETO;S PS FPSTF S OWFLEROVT IKEMA ;C3,AIGDBF MP C 1010 4USATST 5 O T-5P CM ;3 AC4,ACF MP C 0010 4USATST 5 -TO5 P CM ;0 AC5,ACF MP C 0THWIS TUTA SADLO ;0 0041 #PSDF L 5*AC0-ACN ITADAH IT WPFCMF OSTTE^*X PECO S 5 ACT NO3 AC ; LT H +4 .EQ B CCT GE ; CCCF S TUTA SET;G PS FPSTF S 5OR FC5 ACKHE;C C3,AC5 APFCM 4 ACT NO0 AC ; T HL 4 .+Q BE C CET;G C FC C USATSTT GE ;S FPS FPST 5 -OR FC4òýc@ ÑÈrW‹`8v»ˆÍ–ƒ`¸h ‚@ `0&›j4@ @ @ @ @ @ @ @ �–»`°'Ãf·Flb²D«@ F@ ` ƒj1T£@ @ @ @ @ @ @ @ r «hl±³l09»`Äf‹@·`4@ b2³@0@ @ @ @ @ @ @ @ ‘²Šf‹n0“š³#f¶º@ £@ `0“`0ê@ @ @ @ @ @ @ @ 9–Ul¶–ƒn6Øœd0V«@ @0@ ƒp0›@ @ @ @ @ @ @ @ @ ÑÈbYf³d9v³ˆÍ&ƒhµh ‚@ `0ƒb³@ @ @ @ @ @ @ @ �Ë`6&Ëf7Flj2T«@ F@ ` ƒf²”£@ @ @ @ @ @ @ @ r «hr9Ëj²)»`Ä&ƒ@1`4@ `0«@0@ @ @ TE FORWARD ALL BLOCKS EXCEPT 0 TCWBK: MOV #TCWB1,TCIV ;INTERRUPT VECTOR FOR WRITE MOV #-400,@TCWC ;ONE BLOCK MOV #TCWBUF,@TCBA ;THE WRITE BUFFER ADDRESS MOVB #IE+WD+DO,@TCCM ;WRITE THE BLOCK RTI ;RETURN WHEN BLOCK IS WRITTEN TCWB1: MOV @TCST,TCSTAT TST @TCCM ;ANY ERRORS BPL .+4 HLT MOV #TCF3,TCIV ;SEARCH BLOCK VECTOR MOVB #IE+RB,@TCCM ;READ BLOCK BR TCF4 ;FIND THE NEXT BLOCK TCR1: MOV @TCST,TCSTAT BIT #100200,@TCCM ;TEST FOR ERROR AND READY BPL .+4 HLT ;DECTAP ACKHE;C C0,AC4 APFCM 5 T NO3 AC ;2 T HL 4 .+Q BE C CET;G C FC C USATSTT GE ;S FPS FPST A AT DCKHE;C3 AC1,NS APFCM 1 NS ATOINA AT DUT;P2 1+NSDA@A3,ACF ST 0 T NO2 AC ;2 T HL 4 .+Q BE C CET;G C FC C USATSTT SE ;S FPS FPST A AT DCKHE;C2 AC1,NS APFCM 1 NS ATOINA AT DUT;P 4),(C2 ATF S EAARR WENS ATOR TEINPO ;R41,NS#AV MO: S1ANAD -1T NO1 AC ;2 T HL 4 .+Q BE C CET;G C FC C USATSTT GE ;S FPS FPST T ICKHE;C1 AC1,NS APFCM 1 ACT GE ;S1AN@#1,ACF ST 5 -OT NC0;A 2LT H +4 .EQ B CCîýc–ƒ@8`4@ `06“@5@ @ @ @ @ @ @ @ ‘®Š†Ãr0‹š³#l9Â@ £@ `0ƒ`3r@ @ @ @ @ @ @ @ 9wU`±–ƒn²Úœr0w›@ @0@ ƒd0fƒ@ @ @ @ @ @ @ @ @ ÑÈrW‹b9v“ Í–ƒr·h ‚@ `0ƒ`°@ @ @ @ @ @ @ @ �–»`°Ëf7mh9d»@ F@ ` ƒj0T‹@ @ @ @ @ @ @ @ r ªhb¹ƒr±9»`ÐGË@¸`4@ `0Vƒ@µ@ @ @ @ @ @ @ @ ‘®ŠËr0“š³ƒfµŠ@ £@ `0ƒf°‚@ @ @ @ @ @ @ @ 9wU`±‹n1Úœr0v«@ @0@ ƒf0–ƒ@ @ @ @ @ @ @ @ E ERROR ON READ BLOCK REVERSE BNE .+4 HLT ;FALSE INTERRUPT FROM DECTAPE CMP @TCDT,TCEXPE ;IS IT OUR FIRST BLOCK BEQ TCR2 ;YES - GO TEST THE REST BGE TCR1A ;NO - HAVE WE PASSED THE BLOCK HLT ;WE PASS OUR BLOCK BR RENDZ ;GO TO END ZONE AND TRY AGAIN TCR1A: INCB @TCCM ;SET DO RTI ;WE FOUND OUR FIRST BLOCK TCR2: MOV #TCR3,TCIV ;SET UP INTERRUPT TO TEST ALL BLOCKS INCB @TCCM ;SET DO RTI ;WAIT FOR NEXT BLOCK TO INTERRUPT ;FIND SEQUENTIAL BLOCK IN REVERSE DIRECTIOT GE ; CCCF S TUTA SET;G PS FPSTF S ITK ECCH ;0 AC5,#-F MP C C0 AET;G1 NS,AC0 ATF S 5THWI5 ACD OA;L C5,AC3 ATF S -5H IT WC4 AADLO ;4 AC0,ACF ST 5 H IT WC3 AADLO ;3 AC5, #DF L 0THWI2 ACD OA;L C2,A#0F LD 1 -THWI1 ACD OA;L C1,A-1 #DF L -5H IT WC0 AADLO ;0 AC5,#-F LD E OD MNGTIOAFLD OA;L 0074#4S FPLD * 'SACL ALN I=> (R1),LATLRG ;RELACE PRESENT LATST3: TST (R1)+ ;WORST CASE READING WITH LAREGER ONE DEC R0 ;CONTINUE UNTIL TABLE IS DONE BNE LATST2 MOV (SP)+,R1 ;RESTORE REGISTERS MOV (SP)+,R0 LATST4: MOV #-1000.,@DRLWC ;SET UP WORD COUNT AND MOV LATBUF,@DRLBA ;BUFFER ADDRESS MOV #101,@DRLST ;RESTART TESTER RTI LATLRG: 0 ;MAXIMUM LATENCY READING WILL ;BE STORED HERE LATBUF: 40000 ;START OF LATENCY TESTER ;DATA BUFFER .ENDC .IF DF GTPFPP .SBTTL FLOATING POINT PROCESSOR TESTÆý PROCTS: MOV #STACK,SP ;SET UP STACK POINTER FOR ;CURRENT MODE MOV #TEST0,RETURN ;FOR SCOPING MOV #4000,ICOUNT TEST0: .MACRO STATUS W,X,Y STFPS FPS ;STORE FLOATING POINT STATUS .IF NE W&100000 STST FEC ;STORE EXCEPTION CODES .ENDC CMP #W,FPS ;CHECK FLOATING POINT STATUS BEQ .+4 ;BRANCH IF OK HLT ;FPS NOT EQUAL TO W .IFNZ W&100000 ;ERROR BIT SET? CMP #X,FEC ;CHECK FLOATING EXCEPTION CODE BEQ .+4 ;BRANCH IF OK HLT ;FEC NOT EQUAL TO X .IFNZ Y+0 C<c@ @ @ @ ÑÈ`W»b6vˈÍ‹p´h ‚@ `0ƒj´@ @ @ @ @ @ @ @ �»`°&³f7Fln°d«@ F@ ` ƒb5«@ @ @ @ @ @ @ @ r ªh`±«r09»bÄf‹@8`4@ `0F‹@¶@ @ @ @ @ @ @ @ ‘®Š‹p°6‹š³#b¹Š@ £@ `0ƒ`µ‚@ @ @ @ @ @ @ @ 9vU`´–ƒn7Úœr0F›@ @0@ ƒb0†³@ @ @ @ @ @ @ @ @ ÑÈbW£`9v» Í–ƒj´h ‚@ `0ƒ`3@ @ @ @ @ @ @ @ �»`0Ãf·Fll9D«@ F@ ` ƒj0T‹@ @ @ @ @ @ @ @ r ªhh±ƒn²9»bÄF‹@5`4@ `0V‹@5@cªhn°ƒd°9»bÄFƒ@´`4@ `0V‹@5@ @ @ @ @ @ @ @ ‘®Švƒj0Fƒš³#f4Â@ £@ `0ƒl0‚@ @ @ @ @ @ @ @ 9vU`7Vƒn7Øœ`1V£@ @0@ ƒd0fƒ@ @ @ @ @ @ @ @ @ ÑÈ`W»d5vˈÍ‹d¹h ‚@ `0ƒj±@ @ @ @ @ @ @ @ �»`°6«f7Fll°ƒ@ F@ ` ƒj0T‹@ @ @ @ @ @ @ @ r ªhn°ƒh09»bÄfƒ@7`4@ `0Vƒ@µ@ @ @ @ @ @ @ @ ‘®Švƒl0Vƒš³#h6Ê@ £@ `0ƒ`¶ª@ @ @ @ @ @ @ @ 9vU`7fƒn²Øœ`1&»@ @0@ ƒd0v«@ @ @ @ @