RELOCATABLE TITLE MACTAPE .LIBRARY UWR",URED",.UWR",.URED",FILEST" LIPDL=20 ;LENGTH OF PI PDL IF USED A=TAPAC" B=A+1 C=A+2 D=A+3 ACSIZ=4 SYSEOF==3 ;IF "THIRD BIT" OF FILE IS 1 OSYSEF==141 ;IF "THIRD BIT" OF FILE IS 0 DEFINE COND A,B .LIFS A B .ELDC LOC $. TERMIN DEFINE ELSE A,B,C COND A,[B] COND -A,[C] TERMIN DEFINE AVAIL A .LIFS .!A .!A": .ELDC A: TERMIN DEFINE ELSER A,B,C ELSE A,[C][B] TERMIN UWAIT": SKIPL LSTP JRST .-1 UWAIT1: CLEARM APRBRK SKIPN APRBRK JRST .-1 SKIPL COAST JRST .-1 POPJ P", ELSER APRBRK",[.ZZSW"=0 .ZZLV=JRST 12,@. .ZZ=. LOC 40+2*CLKCHN" JSR APRBRK LOC .ZZ ][ .ZZSW=1 .ZZLV"=JRST 2,@. ] APRBRK": 0 .LIFE .ZZSW CONSO 1000 ELSE ILMEM",[JRST ILMEM"][JRST 4,.] CONO 1440+CLKCHN" .ELDC LOC $. SKIPL SDLY SKIPL COAST APRET1: .ZZLV ELSER .IPDL",[ PUSH P,APRSV1 ][ EXCH P,PDLP PUSHJ P,APRSV EXCH P,PDLP .ZZLV ] APRSV: CLEARM RLOADF PUSH P,A PUSH P,B MOVE B,[(RDATAS)WDATAS] SKIPL WRITE MOVSS B PUSHJ P,UTRLD MOVSS B PUSHJ P,UTRLD SOSN URUNTM JRST APRBK5 APRET: POP P,B POP P,A APRSV1: POPJ P,APRET1 TAPE: 0 UTP1: 0 SOS .-1 AOSGE TAPCNT JRST 12,@TAPE UTP3: CONO PI,1000+TPCHNA" SKIPN WRITE CONO DC,TPCHN" JRST 12,@TAPE PIPOS: MOVEM A,TAP1 MOVEM B,TAP2 CONSZ UTS,16 JRST UTAPE5 UTAPE: MOVEI A,20 DATAI DC,B ELSER .TCHG",HRRZS B,[ HRRZM B,BLKS HLRZS B SKIPE TAPID CAMN B,TAPID JRST UTBLK3 MOVE B,BLKS ] AVAIL UTBLK, SUBI B,. JUMPE B,PIPOS2 UTAPE1: SKIPL FORW SOSA B AOS B MOVEM B,UTENB ADDI B,3 JUMPL B,.+3 CAIG B,6 JRST UTAPE4 AOSE FORW ;FORW_-1 MEANS TAPE FORWARD TRO A,2000 CAILE B,2 TRCA A,12000 SETOM FORW UTAPE3: CONO UTC,320200+UTCCHN(A) UTAPE5: CONO DC,4010+TPCHN JRST TAP3 TAPINS: BLKO DC, ;BLKO DC,ADR-1 TAPCNT: 0 ;(,-200)ADR-1 TAP1: 0 TAP2: 0 UTAPE2: TRO A,3000 UTAPE4: SKIPL FORW TRO A,10000 JRST UTAPE3 COND .TCHG,[ BLKS: 0 UTBLK3: JSR .TCHG" JRST UTAPE1 ] PIPOS2: SKIPE UTENB JRST UTAPE2 MOVE B,TAPINS SKIPGE WRITE TROA A,400 TLZ B,(BLKO-BLKI) SKIPL FORW TROA A,10000 JRST TAPFOR ADD B,[DATAI-BLKI 200] MOVEM B,UTP1 HLRES TAPCNT TAP4: CONO UTC,360300+UTCCHN(A) SKIPGE WRITE CONO DC,3410+TPCHN TAP3: MOVE A,TAP1 MOVE B,TAP2 JRST 12,@TAPEî TAPFOR: HRRI B,TAPCNT MOVEM B,40+TPCHN*2 MOVEI B,UTP3 HRRM B,UTP1 JRST TAP4 UTERR2: CONSO PI,TPCHNA AOSE LOSSCT JRST UTER2A COND BADBLK",[ HRRZ A,UTBLK SKIPE WRITE TLO A,400000 MOVEM A,BADBLK" ] JRST GOBBLE UTER2A: CONSZ UTS,2 AOSE FORW SETOM FORW HRRZ A,UTAPE SKIPL FORW TRO A,10000 CONO UTC,323200+UTCCHN(A) PUSHJ P,TSTAR1 POPRET: POP P,A ELSE UTCBRK",[JRST 2,@UTCBRK][ JRST 12,@UTCBRK .ZZ=. LOC 40+2*UTCCHN" JSR UTCBRK" LOC .ZZ ] UTCBRK": 0 PUSH P,A CONSZ UTC,4000 ;TIME ENABLE CONSO UTS,20 ;TIME DELAY FLAG JRST JDBRK SETOM LSTP CLEARM SDLY JDBRK1: CONO UTC,0 JRST POPRET JDBRK: CONSZ UTC,7 CONSO UTS,17 JRST POPRET CONSO UTC,700 JRST JDBRK2 CONSO PI,TPCHNA CONSZ UTS,16 JRST UTERR2 GOBBLE: MOVEI A,200 UTCNTR: ADDM A,A MOVEI A,24. MOVEM A,URUNTM CONI UTC,A TRZ A,700 CONO UTC,(A) COND .IPDL,[EXCH P,PDLP ] PUSHJ P,APRSV COND .IPDL",[EXCH P,PDLP ] SKIPL RLOADF SETOM COAST JRST POPRET TSTART: ELSE MAXERR",[MOVNI A,MAXERR"][MOVNI A,10.] MOVEM A,LOSSCT TSTAR1: CLEARM COAST MOVSI A,-200 MOVEM A,UTENB HRR A,TAPINS MOVEM A,TAPCNT MOVE A,40+TPCHN*2+1 MOVEM A,40+TPCHN*2 MOVE A,[JRST PIPOS] MOVEM A,UTP1 CONO DC,4010+TPCHN CONO PI,2200+TPCHNA POPJ P, JDBRK2: SETOM SDLY CONO UTC,5000+UTCCHN SETOM URUNTM JRST POPRET RCHECK: SKIPL EOF JRST RED SKIPN RCNTR ELSE QUITFF,JRST POPJA,[POPJ P,] .URED": RED: SKIPN RCNTR JRST RCHECK SOS RCNTR AOS A,RPNTR RED2: CAIL A,RBEGB+200 JRST REDRST RED4: MOVE A,(A) JRST POPJ1 REDRST: MOVEI A,201 ADDM A,RED2 AOS A,RPNTR CAIGE A,RBEGB+NURBUF"*201 JRST RED4 MOVEI A,RBEGB+200 HRRM A,RED2 MOVEI A,RBEGB HRRM A,RPNTR JRST RED4 SKIPGE WRFUL ELSE QUITFF,JRST POPJA,[POPJ P,] .UWR": WR: SKIPN WCNTR JRST .-3 PUSH P,A SOS WCNTR AOS A,WPNTR CAIL A,WBEGB+NUWBUF"*200 JRST WRST WR2: POP P,(A) JRST RED4 WRST: MOVEI A,WBEGB HRRM A,WPNTR JRST WR2 RBEGB-1 ;PI INPUT POINTER RBEGB-1 EOF: -1 CAILE A,NURBUF"*200-200 AVAIL RDATAS, (,RBEGB-2)RBEGB+*201-1;(LOWEST BUFFER)HIGHEST BUFFER RPNTR: 0 ;POINTER RCNTR: NURBUF*200 AVAIL RBYTS, 0 ;LH RBYTP: 0 ;^^^ RH WBEGB-1 ;PI OUTPUT POINTER WBEGB-1 WRFUL: -1 CAILE A,NUWBUF"*200-200 AVAIL WDATAS, (,WBEGB-1)WBEGB+*200-1 WPNTR: 0 WCNTR: NUWBUF*200 AVAIL WBYTS, (35)0 WBYTP: (500)MOVTAB-1+27+27 UTRLD: MOVE A,2(B) SKIPL -2(B) XCT -1(B) POPJ P, POP P,(P) LDB A,[(270400+B)3] LSH A,3 CAME A,LSTP SKIPGE LSTP JRST LOAD APRBK5: SETOM SDLY CONO UTC,5000+UTCCHN JRST APRET ITAB: AOS D,3(B) ILDB A,4(B) POPJ P, ITAB1: SOS D,3(B) BYTDEC: MOVSI A,50000 ADD A,4(B) SKIPGE A SUB A,[(430000)1] MOVEM A,4(B) LDB A,A POPJ P, LOAD: SETOM WRITE MOVEM D,UAC+D MOVE D,[(A)UAC+A] BLT D,UAC+D-1 LDB A,[(270400+B)3] ;GET TAPE NO PUSH P,FPNTR+2 PUSHJ P,FILESL RLOAD: MOVEI A,ITAB1 SKIPL C,3(B) MOVEI A,ITAB HRRM A,LUP1 ROT C,11 TRZ C,777740 COND -BLKSPC",[ BLKSPC"=6 ] MOVEI A,BLKSPC" ;SPACING BETWEEN BLKS MOVEM A,TEM1 TRNN C,37 JRST LUP1 CLEARM WRITE CLEARM TEM1 LUP1: PUSHJ P,ITAB TRNE D,-1 CAIN A,37 JRST OUTT CAIE A,(C) SOSA TEM1 SOSLE TEM1 JRST LUP1 ;START UP TAPE ROUTINE ROT C,11 DPB C,4(B) ;SMASH AWAY PUT FILE MOVE A,3(B) HRRM A,UTBLK MOVEI A,2(B) HRRM A,UTCNTR COND .TCHG,[ MOVE A,FPNTR HRRZ A,177(A) CAIN A,-1 MOVEI A,0 MOVEM A,TAPID ] ROT C,-2 ANDI C,70 HRRM C,UTAPE CAME C,LSTP PUSHJ P,LOADST OUT4: SETOM RLOADF MOVE A,-4(B) HRRM A,TAPINS MOVE D,(B) ADDI A,200 CAILE A,(D) HLRZ A,D SKIPN WRITE AOS A MOVEM A,-4(B) CONI UTC,C TRZE C,700 JRST .+3 IORI C,200 CONO UTC,(C) PUSHJ P,TSTART OUT3: POP P,A PUSHJ P,FILESL MOVS D,[(A)UAC+A] BLT D,D JRST APRET LOADST: MOVEM C,LSTP SETOM FORW SKIPL 3(B) AOSA FORW SUBI C,10000 CONO UTC,333200+UTCCHN(C) POPJ P, OUTT: SKIPN A,WRITE JRST LDRED PUSHJ P,FILER SKIPGE WRFUL JRST OUT3 OUT2: MOVE B,UAC+B MOVSI A,400000 XORM A,3(B) JRST RLOAD LDRED: HRRZ B,C PUSHJ P,LOOK JRST LDRD2 ;NO FILE EXTENSION DPB C,[(220500)RBYTS] DPB C,[(330500)RBYTS] JRST OUT2 LDRD2: SETOM EOF JRST OUT3 SETUPR: MOVE A,-3(B) MOVEM A,1(B) MOVEM A,-4(B) MOVSI A,400000 ANDCAM A,3(B) HLLZS 3(B) MOVE A,FPNTR+1 MOVEM A,4(B) POPJ P, AVAIL LOOK, MOVSI C,-23. SKIPA D,FPNTR ADDI D,2 CAME A,(D) CAMN A,[SIXBIT /*/ JRST .+2 AOBJN C,LOOK+2 JUMPGE C,LOOK1 CAME B,1(D) CAMN B,[SIXBIT /*/ JRST .+2 AOBJN C,LOOK+2 LOOK1: TLZN C,-1 POPJ P, ;NOT FOUND AOS C POPJ1A: ELSE QUITFF",[ AOS (P) POPJ P, ][ JRST POPJ1] OPNRD": PUSHJ P,SAVAC SETOM EOF PUSHJ P,UWAIT PUSHJ P,LOOK JRST ERR2 MOVE B,FPNTR+2 LSH B,5 HRLZM B,RBYTS DPB C,[(220500)RBYTS] DPB C,[(330500)RBYTS] ADD C,FPNTR MOVE C,133(C) MOVEI B,SYSEOF TRNN C,1 MOVEI B,OSYSEF MOVEM B,CEOF MOVEM B,CEOFA CLEARM RCNTR MOVEI B,RDATAS PUSHJ P,SETUPR MOVE A,[70700,,CEOF MOVEM A,UREDP MOVEI A,RBEGB+200 HRRM A,RED2 HRLZ A,CEOF LSH A,11. MOVEI B,NURBUF HLLZM A,RBEGB+200(A) ADDI A,201 SOJG B,.-2 CLEARM EOF JRST RESTOR SAVAC0: SOS -1(P) SAVAC: MOVEM D,ACBLK+D MOVE D,[(A)ACBLK+A] BLT D,ACBLK+D-1 COND QUITFF,SETOM INSIDE POPJ P, ERR2: CLEARM ACBLK+A ERR1: SOS (P) RESTOR: COND QUITFF,CLEARM INSIDE MOVS D,[(A)ACBLK+A] BLT D,D POPJ1: AOS (P) COND QUITFF",[ POPJA: SKIPN INSIDE SKIPE QUITFF"] CPOPJ: POPJ P, COND QUITFF",[ JSR QUITFF POPJ P,] COND .FILEB",[ .BC2: 100,,55(A) .BC1: 100,,104(A) .FILEB": ] FILE": PUSHJ P,SAVAC LDB A,[(270400)WBYTS] PUSH P,FPNTR+2 PUSHJ P,FILESL MOVE A,ACBLK+A PUSH P,B PUSH P,A PUSHJ P,DELE FILE1: MOVEI A,SYSEOF MOVEI B,4 PUSHJ P,UWR JFCL SOJG B,.-2 MOVE A,[SYSEOF_11.,,1 FILE1B: LDB B,[700,,WCNTR JUMPE B,FILE3 PUSHJ P,WR JRST FILE7 JRST FILE1B FILE3: MOVEI B,NUWBUF*200 CAME B,WCNTR JRST .-1 FILE4: PUSHJ P,FILER CLEARM A MOVEI B,105 PUSHJ P,LOOK JRST ERR2 ;HOPEFULLY IMPOSSIBLE POP P,(D) POP P,1(D) PUSHJ P,FILE6 PUSHJ P,CLSTP FILE5: POP P,A PUSHJ P,FILESL JRST RESTOR FILE7: SOS -3(P) JRST FILE4 OPNWR": PUSHJ P,SAVAC CLEARB A,B PUSHJ P,LOOK JRST ERR2 MOVEI B,105 PUSHJ P,DELE MOVEI C,0 PUSHJ P,WINIT1 PUSHJ P,FILE6 JRST RESTOR FILE6: MOVEI A,200*NUWBUF MOVEM A,WCNTR MOVEI B,WDATAS PUSHJ P,SETUPR MOVE A,[(10700)WRASM-1] MOVEM A,UWRP MOVEI A,5 MOVEM A,WRASM+1 MOVE A,FPNTR+2 DPB A,[(270400)WBYTS] MOVEI A,105 MOVEM A,LSTFIL CLEARM WRASM CLEARM WRFUL POPJ P, FILER: CLEARB A,B PUSHJ P,LOOK JRST TPFUL MOVE A,C EXCH A,LSTFIL MOVEM A,1(D) MOVE A,FPNTR ADD A,C ELSE .FILEB",[ MOVE B,ACBLK+C DPB B,.BC1 LSH B,-1 DPB B,.BC2 ][ MOVEI B,1 ANDCAM B,55(A) ANDCAM B,104(A) ] MOVEI B,1 IORM B,133(A) ;SET NEW TYPE EOF BIT WINIT1: MOVE B,FPNTR+1 ILDB A,B CAIN A,35 DPB C,B CAIE A,37 JRST .-4 POPJ P, TPFUL: SETOM WRFUL POPJ P, UCLSTP": PUSHJ P,SAVAC0 PUSH P,CRESTOR CLSTP: MOVE A,FPNTR+2 MOVNI B,1 OPNTP1: MOVEI C,100 AVAIL .WSB, LSH A,3 PUSHJ P,UWAIT1 MOVEM B,WRITE CAMN A,LSTP JRST .+3 PUSHJ P,UWAIT SETOM FORW HRRM A,UTAPE MOVEM A,LSTP HRR B,FPNTR SOS B HRRM B,TAPINS MOVEI B,TEM1 HRRM B,UTCNTR HRRM C,UTBLK SKIPL FORW TRO A,10000 COND .TCHG,[SKIPN WRITE CLEARM TAPID ] CONO UTC,322200+UTCCHN(A) PUSHJ P,TSTART MOVEI A,120000. MOVSI B,-200 SKIPL WRITE OPNTP3: SKIPGE COAST POPJ P, CAMN B,UTENB SOJGE A,OPNTP3 JUMPGE A,OPNTP3 SETOM SDLY CONO UTC,5000+UTCCHN SETOM COAST MOVE A,FPNTR+2 PUSHJ P,FILESL CLEARM DIRTAB(C) MOVNI A,2 POPJ P, TAPKIL": PUSHJ P,SAVAC0 PUSH P,FPNTR+2 ANDI A,7 PUSHJ P,FILESL JUMPL C,.+2 CLEARM DIRTAB(C) POP P,A PUSHJ P,FILESL CRESTOR: JRST RESTOR FILEST": JRST RBEGB ;OR ANDI A,7 PUSHJ P,SAVAC PUSHJ P,FILESL JUMPGE C,RESTOR CLEARB A,B PUSHJ P,FILESL JUMPL C,ERR2 MOVE A,ACBLK+A MOVEM A,DIRTAB(C) MOVEM A,FPNTR+2 PUSHJ P,OPNTP1 JUMPL A,ERR4 MOVE C,FPNTR LDB C,[370500+C,,177 CAIN C,37 JRST RESTOR ERR3: MOVNI A,1 ERR4: MOVEM A,ACBLK+A JRST ERR1 DELE: PUSHJ P,LOOK POPJ P, DELE2: CLEARM 1(D) CLEARB D,(D) MOVE B,FPNTR+1 ILDB A,B CAMN A,C DPB D,B CAIE A,37 JRST .-4 CLEARM A MOVE B,C JRST DELE FILESL: MOVSI C,-NDIR CAME A,DIRTAB(C) AOBJN C,.-1 TLON C,-1 POPJ P, HRRZS D,C IMULI D,200 ADDI D,MOVTAB MOVEM D,FPNTR ADDI D,23.*2-1 HRRM D,FPNTR+1 MOVEM A,FPNTR+2 POPJ P, UDELE": PUSHJ P,SAVAC0 PUSHJ P,DELE JRST RESTOR URED1: SKIPN RCNTR JRST UREDE URED": ILDB A,UREDP CAME A,CEOF JRST POPJ1 UREDT": HRRZ A,UREDP CAIN A,CEOF JRST URED2 SUBI A,201 CAME A,RPNTR JRST UREDE ADDI A,202 CAIL A,RENDB MOVEI A,RBEGB HRLI A,440700 MOVEM A,UREDP SOS A HRRM A,RPNTR MOVNI A,200 ADDM A,RCNTR URED3: SKIPGE EOF JRST URED1 SKIPN RCNTR JRST .-3 JRST URED UREDE: MOVE A,[70700,,CEOFA MOVEM A,UREDP MOVEI A,14 ELSE QUITFF,JRST POPJA,[POPJ P,] URED2: MOVE A,[440700,,RBEGB MOVEM A,UREDP JRST URED3 UWR": IDPB A,UWRP SOSLE WRASM+1 JRST POPJ1 MOVEM A,ACBLK+A MOVEI A,5 MOVEM A,WRASM+1 MOVE A,[(10700)WRASM-1] MOVEM A,UWRP MOVE A,WRASM PUSHJ P,WR ELSE QUITFF",[JRST POPJA][POPJ P,] CLEARM WRASM MOVE A,ACBLK+A JRST POPJ1 COND UINIT",[ UINIT": CONSZ UTC,20000 JRST .-1 SETOM LSTP SETOM COAST CLEARM WCNTR CLEARM SDLY HLLOS RCNTR ELSE QUITFF",[JRST POPJA][POPJ P,] ] COND .IPDL,[ PDL: BLOCK LIPDL PDLP: -LIPDL,,PDL ] COND .TCHG,[ TAPID: 0 ] RLOADF: 0 COND QUITFF",[ INSIDE: 0] AVAIL COAST, -1 AVAIL LSTP, -1 FORW: 0 WRITE: 0 UTENB: 0 URUNTM: 0 TEM1: 0 LSTFIL: 0 SDLY: 0 LOSSCT: 0 WRASM: 0 5 UREDP": 70700,,CEOF UWRP: (10700)WRASM-1 UFPNTR": FPNTR: MOVTAB ;POINTER TO BASE OF CURRENT MOVTAB (500)MOVTAB+23.*2-1 ;POINTER TO BASE OF BLOCK AREA 2 CONSTANTS CEOF: SYSEOF CEOFA: SYSEOF ACBLK=.-A BLOCK ACSIZ UAC=.-A BLOCK ACSIZ RBEGB: PUSH P,A ;THIS CODE IS A COMPLETE CROCK AND GOES AWAY PUSH P,B ;AFTER FILEST IS CALLED THE FIRST TIME MOVE A,LOSS1 MOVEM A,FILEST PUSH P,C MOVEI A,NDIR MOVEI B,0 LOSS4: HRLI B,-56 CLEARM MOVTAB(B) AOBJN B,.-1 MOVE C,LOSS3 MOVEM C,MOVTAB(B) HRLI B,-10 CLEARM MOVTAB+1(B) AOBJN B,.-1 MOVSI C,660000 MOVEM C,MOVTAB+1(B) HRLI B,-107 CLEARM MOVTAB+2(B) AOBJN B,.-1 SETOM MOVTAB+2(B) ADDI B,3 SOJG A,LOSS4 POP P,C POP P,B POP P,A JRST FILEST LOSS1: ANDI A,7 LOSS3: 757367573674 LOC 40+TPCHN"*2 JSR TAPE JSR TAPE LOC RBEGB+NURBUF*201 RENDB: WBEGB: LOC WBEGB+NUWBUF*200 DIRTAB: LOC DIRTAB+NDIR" MOVTAB: LOC MOVTAB+NDIR*200 END î   A,ACBLK+A PUSH P,B PUSH P,A PUSHJ P,DELE FILE1: MOVEI A,SYSEOF MOVEI B,4 PUSHJ P,UWR JFCL SOJG B,.-2 MOVE A,[SYSEOF_11.,,1 FILE1B: LDB B,[700,,WCNTR JUMPE B,FILE3 PUSHJ P,WR JRST FILE7 JRST FILE1B FILE3: MOVEI B,NUWBUF*200 CAME B,WCNTR JRST .-1 FILE4: PUSHJ P,FILER CLEARM A MOVEI B,105 PUSHJ P,LOOK JRST ERR2 ;HOPEFULLY IMPOSSIBLE POP P,(D) POP P,1(D) PUSHJ P,FILE6 PUSHJ P,CLSTP FILE5: POP P,A PUSHJ P,FILESL JRST RESTOR FILE7: SOS -3(P) JRST FILE4 OPNWR": PUSHJ P,SAVAC CLEARB A,B PUSHJ P,LOOK JRST ERR2 MOVEI B,105 PUSHJ P,DELE MOVEI C,0 PUSHJ P,WINIT1 PUSHJ P,FILE6 JRST RESTOR FILE6: MOVEI A,200*NUWBUF MOVEM A,WCNTR MOVEI B,WDATAS PUSHJ P,SETUPR MOVE A,[(10700)WRASM-1] MOVEM A,UWRP MOVEI A,5 MOVEM A,WRASM+1 MOVE A,FPNTR+2 DPB A,[(270400)WBYTS] MOVEI A,105 MOVEM A,LSTFIL CLEARM WRASM CLEARM WRFUL POPJ P, FILER: CLEARB A,B PUSHJ P,LOOK JRST TPFUL MOVE A,C EXCH A,LSTFIL MOVEM A,1(D) MOVE A,FPNTR ADD A,C ELSE .FILEB",[ MOVE B,ACBLK+C DPB B,.BC1 LSH B,-1 DPB B,.BC2 ][ MOVEI B,1 ANDCAM B,55(A) ANDCAM B,104(A) ] MOVEI B,1 IORM B,133(A) ;SET NEW TYPE EOF BIT WINIT1: MOVE B,FPNTR+1 ILDB A,B CAIN A,35 DPB C,B CAIE A,37 JRST .-4 POPJ P, TPFUL: SETOM WRFUL POPJ P, UCLSTP": PUSHJ P,SAVAC0 PUSH P,CRESTOR CLSTP: MOVE A,FPNTR+2 MOVNI B,1 OPNTP1: MOVEI C,100 AVAIL .WSB, LSH A,3 PUSHJ P,UWAIT1 MOVEM B,WRITE CAMN A,LSTP JRST .+3 PUSHJ P,UWAIT SETOM FORW HRRM A,UTAPE MOVEM A,LSTP HRR B,FPNTR SOS B HRRM B,TAPINS MOVEI B,TEM1 HRRM B,UTCNTR HRRM C,UTBLK SKIPL FORW TRO A,10000 COND .TCHG,[SKIPN WRITE CLEARM TAPID ] CONO UTC,322200+UTCCHN(A) PUSHJ P,TSTART MOVEI A,120000. MOVSI B,-200 SKIPL WRITE OPNTP3: SKIPGE COAST POPJ P, CAMN B,UTENB SOJGE A,OPNTP3 JUMPGE A,OPNTP3 SETOM SDLY CONO UTC,5000+UTCCHN SETOM COAST MOVE A,FPNTR+2 PUSHJ P,FILESL CLEARM DIRTAB(C) MOVNI A,2 POPJ P, TAPKIL": PUSHJ P,SAVAC0 PUSH P