diff --git a/src/imsrc/free.way b/src/imsrc/free.way index 2bd1cc06..f94427e4 100644 --- a/src/imsrc/free.way +++ b/src/imsrc/free.way @@ -1,1507 +1,1522 @@ - TITL FREEWAY CROSSING PROGRAM - SAVE - LOAD - EVEN - ORG 100 - JMS INPUT /MAIN PROGRAM - JMS START1 START UP BY INITIALIZING -LOOP1 JMS KEYS /CHECK AND ACT ON KEYBOARD - LAC #SETFIRE - ASZ NO CHANGE IN POSITION UNLESS SET - JMS POS /MODIFY CAR POSITIONS - LAC #SCOREINC - ISZ #SCOREINC - RAR 1 - LSZ EVERY SECOND LOOP CHANGE SCORE - JMP LOOP2-2 - LAC #SETFIRE - ASZ - JMS SCOREMOD MODIFY SCORE - JMS EXEC EXECUTE DISPLAY - JMP LOOP1 /LOOP IF SUBJECT NOT MOVING -LOOP2 JMS POS /MODIFY CAR POSITIONS - JMS SUBJECT /MODIFY SUBJECT'S POSITION - JMS CRASH /CHECK FOR CRASH, IF SO ACT ON IT - JMS END /CHECK IF SUBJECT CROSSED INTERSECTION - JMS EXEC /EXECUTE DISPLAY - JMP LOOP2 /END OF MAIN PROGRAM,LOOP -POS BSS 1 /GET NEW CAR POSITIONS - LAW CARTAB /INDEXING - DAC #CARTAB /FOR CAR TABLE - LAW RVEL /INDEXING - DAC #RVEL /FOR RANDOM VELOCITY - LAW VEL /INDEXING - DAC #VEL /FOR VELOCITIES - LAW POSIT - DAC #POSIT /FOR CURRENT POSITIONS - LWC 6 /LOOP SIX TIMES - DAC #CTR -POSLP I LAC #RVEL /GET VELOCITY FOR CAR - ASN - JMP POSZERO /IF ZERO GO TO NEXT ONE - I ADD #POSIT /ADD CURRENT POSITION - ASP /SKIP IF POSITIVE, CHECK FOR OFF SCREEN LEFT - JMS NEG - SUB =2640 /CHECK FOR OFF SCREEN RIGHT - ASM - JMS PLUS + TITLE FREEWAY CROSSING PROGRAM + .INSRT IMLAC;IMDEFS + LOC 100 + JMS INPUT ;MAIN PROGRAM + JMS START1 ;START UP BY INITIALIZING +LOOP1: JMS KEYS ;CHECK AND ACT ON KEYBOARD + LAC SETFIRE' + ASZ ;NO CHANGE IN POSITION UNLESS SET + JMS POS ;MODIFY CAR POSITIONS + LAC SCOREINC' + ISZ SCOREINC' + RAR 1 + LSZ ;EVERY SECOND LOOP CHANGE SCORE + JMP LOOP2-2 + LAC SETFIRE' + ASZ + JMS SCORMD ;MODIFY SCORE + JMS EXEC ;EXECUTE DISPLAY + JMP LOOP1 ;LOOP IF SUBJECT NOT MOVING +LOOP2: JMS POS ;MODIFY CAR POSITIONS + JMS SUBJECT ;MODIFY SUBJECT'S POSITION + JMS CRASH ;CHECK FOR CRASH, IF SO ACT ON IT + JMS ENDD ;CHECK IF SUBJECT CROSSED INTERSECTION + JMS EXEC ;EXECUTE DISPLAY + JMP LOOP2 ;END OF MAIN PROGRAM,LOOP +POS: 0 ;GET NEW CAR POSITIONS + LAW CARTAB ;INDEXING + DAC NCARTAB' ;FOR CAR TABLE + LAW RVEL ;INDEXING + DAC NRVEL' ;FOR RANDOM VELOCITY + LAW VEL ;INDEXING + DAC NVEL' ;FOR VELOCITIES + LAW POSIT + DAC NPOSIT' ;FOR CURRENT POSITIONS + LWC 6 ;LOOP SIX TIMES + DAC CTR' +POSLP: I LAC NRVEL' ;GET VELOCITY FOR CAR + ASN + JMP POSZERO ;IF ZERO GO TO NEXT ONE + I ADD NPOSIT' ;ADD CURRENT POSITION + ASP ;SKIP IF POSITIVE, CHECK FOR OFF SCREEN LEFT + JMS NEG + SUB [2640] ;CHECK FOR OFF SCREEN RIGHT + ASM + JMS PLUS - ADD =2640 - I DAC #POSIT /STORE - JMS CONVERT - I DAC #CARTAB -POSZERO ISZ #RVEL - ISZ #VEL - ISZ #POSIT - ISZ #CARTAB - ISZ #CTR - JMP POSLP /LOOP BACK - LAC CARTAB - DAC CAR1 - LAC CARTAB+1 - DAC CAR2 - LAC CARTAB+2 - DAC CAR3 - LAC CARTAB+3 - DAC CAR4 - LAC CARTAB+4 - DAC CAR5 - LAC CARTAB+5 - DAC CAR6 - I JMP POS /RETURN -NEG BSS 1 /TAKE CARE OF OFF LEFT POSITION - JMS RRRR /GET RANDOM VELOCITY - CIA - I DAC #RVEL - LAC =2637 - I JMP NEG /RETURN -PLUS BSS 1 /TAKE CARE OF OFF RIGHT POSITION - JMS RRRR /GET RANDOM VELOCITY - I DAC #RVEL - LWC 2640 - I JMP PLUS /RETURN -RRRR BSS 1 /SUBROUTINE FOR RANDOM VELOCITIES - I LAC #VEL /GETS RVEL: VEL>=RVEL>=VEL/2 - JMS RAND - I ADD #VEL - SAR 1 - I JMP RRRR /RETURN -CONVERT BSS 1 /CONVERT TO D LXA - SAR 1 - DAC #TMP - LAW 11 - DAC .+3 - LAC #TMP - JMS D + ADD [2640] + I DAC NPOSIT' ;STORE + JMS CONVERT + I DAC NCARTAB' +POSZERO: ISZ NRVEL' + ISZ NVEL' + ISZ NPOSIT' + ISZ NCARTAB' + ISZ CTR' + JMP POSLP ;LOOP BACK + LAC CARTAB + DAC CAR1 + LAC CARTAB+1 + DAC CAR2 + LAC CARTAB+2 + DAC CAR3 + LAC CARTAB+3 + DAC CAR4 + LAC CARTAB+4 + DAC CAR5 + LAC CARTAB+5 + DAC CAR6 + I JMP POS ;RETURN +NEG: 0 ;TAKE CARE OF OFF LEFT POSITION + JMS RRRR ;GET RANDOM VELOCITY + CIA + I DAC NRVEL' + LAC [2637] + I JMP NEG ;RETURN +PLUS: 0 ;TAKE CARE OF OFF RIGHT POSITION + JMS RRRR ;GET RANDOM VELOCITY + I DAC NRVEL' + LWC 2640 + I JMP PLUS ;RETURN +RRRR: 0 ;SUBROUTINE FOR RANDOM VELOCITIES + I LAC NVEL' ;GETS RVEL: VEL>=RVEL>=VEL/2 + JMS RAND + I ADD NVEL' + SAR 1 + I JMP RRRR ;RETURN +CONVERT: 0 ;CONVERT TO DLXA + SAR 1 + DAC TMP' + LAW 11 + DAC .+3 + LAC TMP' + JMS D - BSS 1 - SAL 3 - SAL 2 /GET MSB PORTION - ADD .-3 /ADD LSB PORTION - ADD =11400 /MAKE D LXA - I JMP CONVERT /RETURN -SUBJECT BSS 1 /GET POSITION FOR SUBJECT - LAC #SUBPOS - ADD #SUBVEL - DAC #SUBPOS /GET NEW POSITION - SAL 1 - JMS CONVERT - ADD =11500 /MAKE D LYA - DAC CAR0 /STORE IN DISPLAY - I JMP SUBJECT /RETURN -RVEL OCT 40 /STORAGE FOR RANDOM VELOCITIES - OCT 40 - OCT 40 - OCT 177740 - OCT 177740 - OCT 177740 -VEL OCT 40 /TABLE OF VELOCITIES - OCT 40 - OCT 40 - OCT 40 - OCT 40 - OCT 40 -POSIT HLT /TABLE OF CURRENT POSITIONS - HLT - HLT - HLT - HLT - HLT -CARTAB BSS 6 /TABLE FOR CARS -TAB1 D JMS LETTER+45 ZERO -TAB D JMS B3 /NUMBER TABLE - D JMS B3+5 - D JMS B3+13 - D JMS B3+20 - D JMS B3+26 - D JMS B3+33 - D JMS B3+42 - D JMS B3+46 - D JMS B3+56 -KEYS BSS 1 /KEYBOARD READ ROUTINE - KSF /SKIP ON KEYBOARD FLAG - I JMP KEYS /OTHERWISE RETURN + 0 + SAL 3 + SAL 2 ;GET MSB PORTION + ADD .-3 ;ADD LSB PORTION + ADD [11400] ;MAKE DLXA + I JMP CONVERT ;RETURN +SUBJECT: 0 ;GET POSITION FOR SUBJECT + LAC SUBPOS' + ADD SUBVEL' + DAC SUBPOS' ;GET NEW POSITION + SAL 1 + JMS CONVERT + ADD [11500] ;MAKE DLYA + DAC CAR0 ;STORE IN DISPLAY + I JMP SUBJECT ;RETURN +RVEL: 40 ;STORAGE FOR RANDOM VELOCITIES + 40 + 40 + 177740 + 177740 + 177740 +VEL: 40 ;TABLE OF VELOCITIES + 40 + 40 + 40 + 40 + 40 +POSIT: HLT ;TABLE OF CURRENT POSITIONS + HLT + HLT + HLT + HLT + HLT +CARTAB: 0 ;TABLE FOR CARS + 0 + 0 + 0 + 0 + 0 +TAB1: DJMS LETTER+45 ;ZERO +TAB: DJMS B3 ;NUMBER TABLE + DJMS B3+5 + DJMS B3+13 + DJMS B3+20 + DJMS B3+26 + DJMS B3+33 + DJMS B3+42 + DJMS B3+46 + DJMS B3+56 +KEYS: 0 ;KEYBOARD READ ROUTINE + KSF ;SKIP ON KEYBOARD FLAG + I JMP KEYS ;OTHERWISE RETURN - CLA - KRC - AND =177 - SAM =2 TRANSMIT - JMP K2 - LAC #SETFIRE - ASZ SKIP IF ZERO - JMP K3 - COA FINISH SETTING - DAC #SETFIRE - LAC ==X THEN BEGIN A:=A-X; SETBIT15... - /IF -DIV THEN A:=-A - /IF -DSN THEN Q:=-QUOTIENT - /COMMENT QUOTIENT IN Q, REMAINDER IN A - CLL /CLEAR LINK - ASM /DIVIDEND NEGATIVE? - JMP .+3 /NO - CIA /YES,2'S COMP. AC - CML /COMP. LINK (REMEMBER SIGN) - DAC D+73 /DIVIDEND IN Q + CLL ;CLEAR LINK (NO OVERFLOW) + ASZ ;TEST FOR OVERFLOW + STL ;OVERFLOW, SET LINK + LAC M+56 ;PRODUCT Q INTO AC + ISZ M+60 ;TEST PROD SIGN (MSM) + CIA ;SIGN POS,COMP AC + CIA ;SIGN NEG,COMP AC + ISZ M ;INCREMENT RETURN ADR + I JMP M ;RETURN + 0 + 0 + 0 + 0 + 0 + 0 +D: 0 ;DIVIDE ROUTINE + ;TAKES 65 WORDS CORE + ;DIVIDEND ASSUMED IN AC + ;DIVISOR ASSUMED WORD AFTER JMS, RETURN WI... + ;WORD FOLLOWING DIVISOR + ;QUOTIENT LEFT IN AC + ;REMAINDER LEFT IN WORD FOLLOWING JMS. SI... + ;SAME AS THAT OF DIVIDEND + ;IF DIVISOR IS ZERO, LINK SET AND DIVIDEND... + ;LINK ZERO IF EVERYTHING NORMAL + ;ALGORITHM FOLLOWS: + ;Q:=DIVIDEND + ;X:=DIVISOR + ;A:=0 + ;DSN:=TRUE + ;IF X<0 THEN BEGIN X:=-X + ; DSN:=-DSN; END + ;IF Q<0 THEN BEGIN Q:=-QUOTIENT + ; DSN:=-DSN + ; DIV:=FALSE; END + ; ELSE DIV:=TRUE + ;IF X=0 THEN EXIT + ;COMMENT IF DSN TRUE,QUOTIENT POS, IF DSN ... + ; IF DIV TRUE THEN DIVIDEND (AND RE... + ; IF DIV FALSE THEN DIVIDEND (AND R... + ;FOR K=-16 STEP 1 UNTIL -1 DO + ;BEGIN DOUBLEWORDROTATELEFTONEBIT(A,Q) + ; IF A>=X THEN BEGIN A:=A-X; SETBIT15... + ;IF -DIV THEN A:=-A + ;IF -DSN THEN Q:=-QUOTIENT + ;COMMENT QUOTIENT IN Q, REMAINDER IN A + CLL ;CLEAR LINK + ASM ;DIVIDEND NEGATIVE? + JMP .+3 ;NO + CIA ;YES,2'S COMP. AC + CML ;COMP. LINK (REMEMBER SIGN) + DAC D+73 ;DIVIDEND IN Q - STA /-1 TO AC - LSN /DIVIDEND NEGATIVE? - CLA /NO,0 TO DIV(REMAINDER POS) - DAC D+74 /YES,-1 TO DIV (REMAINDER NEG) - I LAC D /DIVISOR TO AC - ASM /DIVISOR NEGATIVE? - JMP .+3 /NO - CIA /YES,2'S COMP DIVISOR - CML /COMP LINK(0=POS QUOT,1=NEG QUOT) - DAC D+75 /DIVISOR IN X - ASZ /DIVISOR=0? - JMP .+4 /NO - STL /YES,SET LINK - ISZ D /INCREMENT PAST DIVISOR TO RTN ADR - I JMP D /RETURN - CLA /CLEAR AC - DAC D+76 /A=0 - LSZ /QUOTIENT POS(LINK 0)? - STA /NO,-1 TO DSN(QUOTIENT NEG) - DAC D+77 /YES,0 TO DSN (QUOTIENT POS) - LWC 20 /-16 TO AC - DAC D+100 /INITIALIZE COUNT IN D?T - LAC D+73 /Q INTO AC - CLL /CLEAR LINK(SET Q(15)=0) - RAL 1 /DOUBLE WORD - DAC D+73 /ROTATE (Q) - LAC D+76 /LEFT (A) - RAL 1 /ONE - DAC D+76 /BIT (A) - SUB D+75 /SUBTRACT X FROM A - ASP /IS A>=X(AC POS) - JMP D+53 /NO, GO ROTATE - DAC D+76 /YES,AC NOW A - LAW 1 /SET BIT - IOR D+73 /15 - DAC D+73 /OF Q - ISZ D+100 /BUMP COUNTER,COUNT=0? - JMP D+35 /NO,LOOP AGAIN - ASN /IF DIVIDEND = 0, A (REMAINDER IN ALGORITH... - JMP .+6 /LEAVE WORD AFTER JMS (REMAINDER) UNTOUCHED - LAC D+76 /REMAINDER INTO AC - ISZ D+74 /REMAINDER NEG? - CIA /NO POS,2'S COMP - CIA /YES 2'S COMP IT - I DAC D /PLACE IT IN WORD AFTER JMS - ISZ D /POINT TO RETURN ADR - LAC D+73 /QUOTIENT Q INTO AC + STA ;-1 TO AC + LSN ;DIVIDEND NEGATIVE? + CLA ;NO,0 TO DIV(REMAINDER POS) + DAC D+74 ;YES,-1 TO DIV (REMAINDER NEG) + I LAC D ;DIVISOR TO AC + ASM ;DIVISOR NEGATIVE? + JMP .+3 ;NO + CIA ;YES,2'S COMP DIVISOR + CML ;COMP LINK(0=POS QUOT,1=NEG QUOT) + DAC D+75 ;DIVISOR IN X + ASZ ;DIVISOR=0? + JMP .+4 ;NO + STL ;YES,SET LINK + ISZ D ;INCREMENT PAST DIVISOR TO RTN ADR + I JMP D ;RETURN + CLA ;CLEAR AC + DAC D+76 ;A=0 + LSZ ;QUOTIENT POS(LINK 0)? + STA ;NO,-1 TO DSN(QUOTIENT NEG) + DAC D+77 ;YES,0 TO DSN (QUOTIENT POS) + LWC 20 ;-16 TO AC + DAC D+100 ;INITIALIZE COUNT IN D?T + LAC D+73 ;Q INTO AC + CLL ;CLEAR LINK(SET Q(15)=0) + RAL 1 ;DOUBLE WORD + DAC D+73 ;ROTATE (Q) + LAC D+76 ;LEFT (A) + RAL 1 ;ONE + DAC D+76 ;BIT (A) + SUB D+75 ;SUBTRACT X FROM A + ASP ;IS A>=X(AC POS) + JMP D+53 ;NO, GO ROTATE + DAC D+76 ;YES,AC NOW A + LAW 1 ;SET BIT + IOR D+73 ;15 + DAC D+73 ;OF Q + ISZ D+100 ;BUMP COUNTER,COUNT=0? + JMP D+35 ;NO,LOOP AGAIN + ASN ;IF DIVIDEND = 0, A (REMAINDER IN ALGORITH... + JMP .+6 ;LEAVE WORD AFTER JMS (REMAINDER) UNTOUCHED + LAC D+76 ;REMAINDER INTO AC + ISZ D+74 ;REMAINDER NEG? + CIA ;NO POS,2'S COMP + CIA ;YES 2'S COMP IT + I DAC D ;PLACE IT IN WORD AFTER JMS + ISZ D ;POINT TO RETURN ADR + LAC D+73 ;QUOTIENT Q INTO AC - ISZ D+77 /QUOTIENT NEG - CIA /NO,POS,2'S COMP IT - CIA /YES,2'S COMP IT - CLL /CLEAR LINK (DIVISOR NE 0) - I JMP D /RETURN - BSS 6 /STORAGE -OUTPUT BSS 1 OUTPUT A NUMBER AND A COMMA - DAC #TMP - CLA - DAC #BLANK BLANK INDICATOR - LAW 12 CONVERT TO DECIMAL - DAC ODIV - DAC ODIV+2 - DAC ODIV+4 - DAC ODIV+6 - LAC #TMP - JMS D -ODIV BSS 1 - JMS D - BSS 1 - JMS D - BSS 1 - JMS D - BSS 1 - JMS OUT1 START OUTPUTTING DECIMAL DIGITS - LAC ODIV+6 - JMS OUT1 - LAC ODIV+4 - JMS OUT1 - LAC ODIV+2 - JMS OUT1 - COA CHANGE BLANK INDICATOR FOR LAST DIGIT - DAC #BLANK - LAC ODIV - JMS OUT1 - LAW 54 COMMA - JMS WRITE - I JMP OUTPUT RETURN -OUT1 BSS 1 OUTPUT DIGIT UNLESS BLANK - DAC #TMP - ASZ - JMP .+4 - LAC #BLANK - ASN - I JMP OUT1 RETURN IF BLANK - COA - DAC #BLANK OTHERWISE SET BLANK IND. TO 1 + ISZ D+77 ;QUOTIENT NEG + CIA ;NO,POS,2'S COMP IT + CIA ;YES,2'S COMP IT + CLL ;CLEAR LINK (DIVISOR NE 0) + I JMP D ;RETURN + 0 ;STORAGE + 0 + 0 + 0 + 0 + 0 +OUTPUT: 0 ;OUTPUT A NUMBER AND A COMMA + DAC TMP' + CLA + DAC BLANK' ;BLANK INDICATOR + LAW 12 ;CONVERT TO DECIMAL + DAC ODIV + DAC ODIV+2 + DAC ODIV+4 + DAC ODIV+6 + LAC TMP' + JMS D +ODIV: 0 + JMS D + 0 + JMS D + 0 + JMS D + 0 + JMS OUT1 ;START OUTPUTTING DECIMAL DIGITS + LAC ODIV+6 + JMS OUT1 + LAC ODIV+4 + JMS OUT1 + LAC ODIV+2 + JMS OUT1 + COA ;CHANGE BLANK INDICATOR FOR LAST DIGIT + DAC BLANK' + LAC ODIV + JMS OUT1 + LAW 54 ;COMMA + JMS WRITE + I JMP OUTPUT ;RETURN +OUT1: 0 ;OUTPUT DIGIT UNLESS BLANK + DAC TMP' + ASZ + JMP .+4 + LAC BLANK' + ASN + I JMP OUT1 ;RETURN IF BLANK + COA + DAC BLANK' ;OTHERWISE SET BLANK IND. TO 1 - LAC #TMP - JMS WRITE - I JMP OUT1 RETURN -WRITE BSS 1 SUBROUTINE TO PACK OUTPUT IN BUFFER B - DAC #OTD - LAC #OTC FIRST OR SECOND BYTE INDICATOR - ISZ #OTC - RAR 1 - LSZ - JMP .+7 - LAC #OTD FIRST BYTE - SAL 3 - SAL 3 - SAL 2 - I DAC #OTA PUT IN BUFFER - I JMP WRITE RETURN - I LAC #OTA SECOND BYTE - ADD #OTD - I DAC #OTA PUT IN BUFFER - ISZ #OTA - CLA - I DAC #OTA EXTRA ZERO WORD - LAC #OTA - SAM =10000 RETURN UNLESS BUFFER FULL - I JMP WRITE RETURN - HLT IF SO STOP, NOW MUST OUTPUT AND RESTART AT... -EXEC BSS 1 /EXECUTE ONE DISPLAY CYCLE - DSN - JMP .-1 - SSF - JMP .-1 - SCF - LDA /LOAD DATA SWITCHES - ASM /SKIP IF BIT 0 ON - HLT /OTHERWISE STOP - LAW DIS /GET DISPLAY ADDRESS - DLA - DON /RUN DISPLAY - I JMP EXEC /RETURN -LRD1 INC EB30 - INC 3030 - INC 3030 - INC 3030 - INC D00A131 - D IXM - D IXM - D IXM + LAC TMP' + JMS WRITE + I JMP OUT1 ;RETURN +WRITE: 0 ;SUBROUTINE TO PACK OUTPUT IN BUFFER B + DAC OTD' + LAC OTC' ;FIRST OR SECOND BYTE INDICATOR + ISZ OTC' + RAR 1 + LSZ + JMP .+7 + LAC OTD' ;FIRST BYTE + SAL 3 + SAL 3 + SAL 2 + I DAC OTA' ;PUT IN BUFFER + I JMP WRITE ;RETURN + I LAC OTA' ;SECOND BYTE + ADD OTD' + I DAC OTA' ;PUT IN BUFFER + ISZ OTA' + CLA + I DAC OTA' ;EXTRA ZERO WORD + LAC OTA' + SAM [10000] ;RETURN UNLESS BUFFER FULL + I JMP WRITE ;RETURN + HLT ;IF SO STOP, NOW MUST OUTPUT AND RESTART AT... +EXEC: 0 ;EXECUTE ONE DISPLAY CYCLE + DSN + JMP .-1 + SSF + JMP .-1 + SCF + LDA ;LOAD DATA SWITCHES + ASM ;SKIP IF BIT 0 ON + HLT ;OTHERWISE STOP + LAW DIS ;GET DISPLAY ADDRESS + DLA + DON ;RUN DISPLAY + I JMP EXEC ;RETURN +LRD1: INC E,B30 + INC B30,B30 + INC B30,B30 + INC B30,B30 + INC D00,131 + DIXM + DIXM + DIXM - D RJM -LLD2 D DXM - D DXM - INC ED30 - INC B-30-30 - INC B-30-30 - INC-B-30-30 - INC -30A111 - D DXM - D DXM - D RJM -LRD3 D IXM - D IXM - INC ED-30 - INC B3030 - INC B3030 - INC B3030 - INC 30A131 - D IXM - D RJM -LLD4 INC EB-30 - INC -30-30 - INC -30-30 - INC -30-30 - INC D00A111 - D DXM - D DXM - D DXM - D DXM - D RJM -LR5 INC EB30 - INC 3030 - INC 3030 - INC 30A131 - D IXM - D RJM -CAR INC ED-33 /WORD CAR - INC -10B-30 - INC -200-3 - INC 0-320 - INC 30D10 - INC B2313 - INC 2-31-3 - INC D-12B-30 - INC D302-2 - INC B0303 - INC 302-1 + DRJM +LLD2: DDXM + DDXM + INC E,D30 + INC BM30,BM30 + INC BM30,BM30 + INC BM30,BM30 + INC BM30,N + DDXM + DDXM + DRJM +LRD3: DIXM + DIXM + INC E,DM30 + INC B30,B30 + INC B30,B30 + INC B30,B30 + INC B30,131 + DIXM + DRJM +LLD4: INC E,BM30 + INC BM30,BM30 + INC BM30,BM30 + INC BM30,BM30 + INC D00,N + DDXM + DDXM + DDXM + DDXM + DRJM +LR5: INC E,B30 + INC B30,B30 + INC B30,B30 + INC B30,131 + DIXM + DRJM +CAR: INC E,DM33 ;WORD CAR + INC DM10,BM30 + INC BM20,B0M3 + INC B0M3,B20 + INC B30,D10 + INC B23,B13 + INC B2M3,B1M3 + INC DM12,BM30 + INC D30,D2M2 + INC B03,B03 + INC B30,B2M1 - INC 0-1-2-1 - INC -30D30 - INC B2-3D33 - INC 30B03 /SQUARE - INC 0303 - INC 0303 - INC -30-30 - INC -30-30 - INC -30-30 - INC -30-30 - INC -30-30 - INC 0-30-3 - INC 0-30-3 - INC 0-30-3 - INC 0-30-3 - INC 0-30-3 - INC 3030 - INC 3030 - INC 3030 - INC 3030 - INC 3030 - INC 0303 - INC 0303 - INC 03F -UP INC EB03 /LINE GOING UP - INC 0303 - INC 0303 - INC 03A113 - D IYM - D RJM -B3 INC ED10 /ONE - INC B2020 - INC D-20B03 - INC 0302 - INC -2-2F - INC ED03 /TWO - INC 03B22 - INC 202-2 - INC -1-2-2-1 - INC -3-330 - INC 30F - INC EB30 /THREE - INC 32-22 - INC -30D30 - INC B22-22 - INC -30F - INC ED30 /FOUR + INC B0M1,BM2M1 + INC BM30,D30 + INC B2M3,D33 + INC D30,B03 ;SQUARE + INC B03,B03 + INC B03,B03 + INC BM30,BM30 + INC BM30,BM30 + INC BM30,BM30 + INC BM30,BM30 + INC BM30,BM30 + INC B0M3,B0M3 + INC B0M3,B0M3 + INC B0M3,B0M3 + INC B0M3,B0M3 + INC B0M3,B0M3 + INC B30,B30 + INC B30,B30 + INC B30,B30 + INC B30,B30 + INC B30,B30 + INC B03,B03 + INC B03,B03 + INC B03,F +UP: INC E,B03 ;LINE GOING UP + INC B03,B03 + INC B03,B03 + INC B03,113 + DIYM + DRJM +B3: INC E,D10 ;ONE + INC B20,B20 + INC DM20,B03 + INC B03,B02 + INC BM2M2,F + INC E,D03 ;TWO + INC D03,B22 + INC B20,B2M2 + INC BM1M2,BM2M1 + INC BM3M3,B30 + INC B30,F + INC E,B30 ;THREE + INC B32,BM22 + INC BM30,D30 + INC B22,BM22 + INC BM30,F + INC E,D30 ;FOUR - INC D10B03 - INC 0302 - INC -3-3-1-2 - INC 3030 - INC FF - INC EB30 /FIVE - INC 3102 - INC -32-30 - INC 0330 - INC 30E - INC ED03 /SIX - INC B2120 - INC 2-2-2-2 - INC -20-22 - INC 0323 - INC 202-2 - INC FF - INC EB23 /SEVEN - INC 3312 - INC -30-30 - INC FF - INC ED20 /EIGHT - INC B2021 - INC 02-31 - INC -3222 - INC 202-2 - INC -3-2-1-1 - INC 0-22-1 - INC FF - INC ED30 /NINE - INC B2313 - INC 03-30 - INC -2-22-2 - INC 30E -CRUNCH INC ED22 /CRUNCH DRAWING ROUTINE - INC 00B-2-2 - INC -33-11 - INC 2222 - INC 2-2D3-3 - INC 0-3B03 - INC 0302 - INC 303-2 - INC -3-2-30 - INC D20B2-2 - INC 2-2D3-3 - INC 2-30-3 - INC 0-30-2 + INC D10,B03 + INC B03,B02 + INC BM3M3,BM1M2 + INC B30,B30 + INC F,F + INC E,B30 ;FIVE + INC B31,B02 + INC BM32,BM30 + INC B03,B30 + INC B30,F + INC E,D03 ;SIX + INC B21,B20 + INC B2M2,BM2M2 + INC BM20,BM22 + INC B03,B23 + INC B20,B2M2 + INC F,F + INC E,B23 ;SEVEN + INC B33,B12 + INC BM30,BM30 + INC F,F + INC E,D20 ;EIGHT + INC B20,B21 + INC B02,BM31 + INC BM32,B22 + INC B20,B2M2 + INC BM3M2,BM3M1 + INC B0M2,B2M1 + INC F,F + INC E,D30 ;NINE + INC B23,B13 + INC B03,BM30 + INC BM2M2,B2M2 + INC B30,F +CRUNCH: INC E,D22 ;CRUNCH DRAWING ROUTINE + INC D00,BM2M2 + INC BM33,BM11 + INC B22,B22 + INC B2M2,D3M3 + INC D0M3,B03 + INC B03,B02 + INC B30,B3M2 + INC BM3M2,BM30 + INC D20,B2M2 + INC B2M2,D3M3 + INC D2M3,D0M3 + INC D0M3,D0M2 - INC B-3-3-2-3 - INC -23-23 - INC -23-23 - INC -3-2-3-2 - INC -3-2-3-2 - INC 1313 - INC -31-31 - INC -31-31 - INC 3232 - INC 32-33 - INC -3331 - INC 31-23 - INC -23-23 - INC 3-13-1 - INC 1313 - INC 133-3 - INC 3-313 - INC 133-2 - INC 3-23-2 - INC 2323 - INC D00A111 - D IXM - D IXM - D IXM - D IXM - INC ED30 - INC 3030 - INC 3030 - INC B11-11 - INC 1303 - INC -200-3 - INC 1-3-1-1 - INC 1-1D-20 - INC -20B03 - INC 0302 - INC D0-20-2 - INC B-30-30 - INC D0202 - INC B0-30-3 - INC 0-2D-32 - INC B-2-2-22 - INC -2222 - INC 222-2 - INC D-32-30 - INC -30B0-3 - INC 0-30-2 - INC -22-23 + INC BM3M3,BM2M3 + INC BM23,BM23 + INC BM23,BM23 + INC BM3M2,BM3M2 + INC BM3M2,BM3M2 + INC B13,B13 + INC BM31,BM31 + INC BM31,BM31 + INC B32,B32 + INC B32,BM33 + INC BM33,B31 + INC B31,BM23 + INC BM23,BM23 + INC B3M1,B3M1 + INC B13,B13 + INC B13,B3M3 + INC B3M3,B13 + INC B13,B3M2 + INC B3M2,B3M2 + INC B23,B23 + INC D00,N + DIXM + DIXM + DIXM + DIXM + INC E,D30 + INC D30,D30 + INC D30,D30 + INC B11,BM11 + INC B13,B03 + INC BM20,B0M3 + INC B1M3,BM1M1 + INC B1M1,DM20 + INC DM20,B03 + INC B03,B02 + INC D0M2,D0M2 + INC BM30,BM30 + INC D02,D02 + INC B0M3,B0M3 + INC B0M2,DM32 + INC BM2M2,BM22 + INC BM22,B22 + INC B22,B2M2 + INC DM32,DM30 + INC DM30,B0M3 + INC B0M3,B0M2 + INC BM22,BM23 - INC -230-3 - INC 0-30-2 - INC D-3303 - INC 02B-1-3 - INC -1-3-1-2 - INC -12-13 - INC -13D03 - INC 0303 - INC 0303 - INC 01B3-3 - INC 3-333 - INC 332-3 - INC 2-32-3 - INC 2323 - INC 122-3 - INC 2-332 - INC 3232 - INC 0-30-3 - INC 3131 - INC 31-2-3 - INC -2-3-2-3 - INC 3-23-2 - INC 3-2-3-2 - INC -3-23-3 - INC 3-3-30 - INC -30-30 - INC 1-31-3 - INC 1-3-32 - INC -32-32 - INC -1-3-1-3 - INC -1-3-33 - INC -33-2-3 - INC -2-3-2-3 - INC -23-23 - INC -3-3-3-3 - INC -33-33 - INC FF -LETTER INC EB13 A - INC 1312 - INC 1-31-3 - INC 1-2D-23 - INC B-30F - INC ED32 C - INC 30B-2-2 - INC -20-22 - INC 0323 - INC 202-2 + INC BM23,B0M3 + INC B0M3,B0M2 + INC DM33,D03 + INC D02,BM1M3 + INC BM1M3,BM1M2 + INC BM12,BM13 + INC BM13,D03 + INC D03,D03 + INC D03,D03 + INC D01,B3M3 + INC B3M3,B33 + INC B33,B2M3 + INC B2M3,B2M3 + INC B23,B23 + INC B12,B2M3 + INC B2M3,B32 + INC B32,B32 + INC B0M3,B0M3 + INC B31,B31 + INC B31,BM2M3 + INC BM2M3,BM2M3 + INC B3M2,B3M2 + INC B3M2,BM3M2 + INC BM3M2,B3M3 + INC B3M3,BM30 + INC BM30,BM30 + INC B1M3,B1M3 + INC B1M3,BM32 + INC BM32,BM32 + INC BM1M3,BM1M3 + INC BM1M3,BM33 + INC BM33,BM2M3 + INC BM2M3,BM2M3 + INC BM23,BM23 + INC BM3M3,BM3M3 + INC BM33,BM33 + INC F,F +LETTER: INC E,B13 ;A + INC B13,B12 + INC B1M3,B1M3 + INC B1M2,DM23 + INC BM30,F + INC E,D32 ;C + INC D30,BM2M2 + INC BM20,BM22 + INC B03,B23 + INC B20,B2M2 - INC FF - INC EB03 D - INC 0302 - INC 302-1 - INC 1-20-2 - INC -1-2-2-1 - INC -30F - INC EB30 E - INC 30A11 - INC B0202 - INC 30D-30 - INC B0202 - INC 3030 - INC FF - INC EB03 H - INC 0302 - INC D0-30-1 - INC B3030 - OCT 703 - INC B0302 - INC FF - INC EB03 N - INC 0302 - INC 2-32-3 - INC 2-203 - INC 0302 - INC FF - INC ED10 O - INC B2020 - INC 1302 - INC -13-20 - INC -20-1-3 - INC 0-21-3 - INC FF - INC EB03 P - INC 0302 - INC 303-1 - INC 0-2-3-1 - INC -30F - INC EB03 R - INC 0302 - INC 303-1 - INC 0-2-3-1 - INC -30D30 - INC B2-21-2 - INC FF - INC ED01 S + INC F,F + INC E,B03 ;D + INC B03,B02 + INC B30,B2M1 + INC B1M2,B0M2 + INC BM1M2,BM2M1 + INC BM30,F + INC E,B30 ;E + INC B30,11 + INC B02,B02 + INC B30,DM30 + INC B02,B02 + INC B30,B30 + INC F,F + INC E,B03 ;H + INC B03,B02 + INC D0M3,D0M1 + INC B30,B30 + 703 + INC B03,B02 + INC F,F + INC E,B03 ;N + INC B03,B02 + INC B2M3,B2M3 + INC B2M2,B03 + INC B03,B02 + INC F,F + INC E,D10 ;O + INC B20,B20 + INC B13,B02 + INC BM13,BM20 + INC BM20,BM1M3 + INC B0M2,B1M3 + INC F,F + INC E,B03 ;P + INC B03,B02 + INC B30,B3M1 + INC B0M2,BM3M1 + INC BM30,F + INC E,B03 ;R + INC B03,B02 + INC B30,B3M1 + INC B0M2,BM3M1 + INC BM30,D30 + INC B2M2,B1M2 + INC F,F + INC E,D01 ;S - INC B2-130 - INC 13-31 - INC -3113 - INC 302-1 - INC FF - INC ED30 T - INC B0303 - INC 02A10 - INC B3030 - INC FF - INC EB03 W - INC 0302 - OCT 733 - INC B3-303 - INC 0302 - INC FF - INC ED30 Y - INC B0203 - INC 33A10 - INC B3-3F - INC ED32 : - INC B00D03 - INC D01B00 - INC FF -REST D NOP /DISPLAY WAIT ROUTINE - D NOP - D NOP - D NOP - D NOP - D NOP - D NOP - D NOP - D NOP - D NOP - D RJM /RETURN -DIS D HVC /START OF DISPLAY - D STS 1 - D LXA 1400 /DRAW HIGHWAY - D LYA 4600 - D NOP - D NOP - D NOP - D NOP - D NOP - D JMS LR5 - D JMS LR5 - D JMS LR5 + INC B2M1,B30 + INC B13,BM31 + INC BM31,B13 + INC B30,B2M1 + INC F,F + INC E,D30 ;T + INC B03,B03 + INC B02,10 + INC B30,B30 + INC F,F + INC E,B03 ;W + INC B03,B02 + 733 + INC B3M3,B03 + INC B03,B02 + INC F,F + INC E,D30 ;Y + INC B02,B03 + INC B33,10 + INC B3M3,F + INC E,D32 ;: + INC B00,D03 + INC D01,B00 + INC F,F +REST: DNOP ;DISPLAY WAIT ROUTINE + DNOP + DNOP + DNOP + DNOP + DNOP + DNOP + DNOP + DNOP + DNOP + DRJM ;RETURN +DIS: DHVC ;START OF DISPLAY + DSTS 1 + DLXA 1400 ;DRAW HIGHWAY + DLYA 4600 + DNOP + DNOP + DNOP + DNOP + DNOP + DJMS LR5 + DJMS LR5 + DJMS LR5 - D JMS LR5 - D JMS LR5 - D JMS LR5 - D JMS LR5 - D JMS LR5 - D JMS LR5 - D JMS LR5 - D JMS LR5 - D JMS LR5 - D JMS LR5 - D JMS LR5 - D JMS LR5 - D JMS LR5 - D JMS LR5 - D JMS LR5 - D JMS LR5 - D IXM - D IXM - D IXM - D IXM - D JMS LR5 - D JMS LR5 - D JMS LR5 - D JMS LR5 - D JMS LR5 - D JMS LR5 - D JMS LR5 - D JMS LR5 - D JMS LR5 - D JMS LR5 - D JMS LR5 - D JMS LR5 - D JMS LR5 - D JMS LR5 - D JMS LR5 - D JMS LR5 - D JMS LR5 - D JMS LR5 - D JMS LR5 - D DYM - D DYM - D DYM - D DYM - D JMS LLD4 - D JMS LLD4 - D JMS LLD4 - D JMS LLD4 + DJMS LR5 + DJMS LR5 + DJMS LR5 + DJMS LR5 + DJMS LR5 + DJMS LR5 + DJMS LR5 + DJMS LR5 + DJMS LR5 + DJMS LR5 + DJMS LR5 + DJMS LR5 + DJMS LR5 + DJMS LR5 + DJMS LR5 + DJMS LR5 + DIXM + DIXM + DIXM + DIXM + DJMS LR5 + DJMS LR5 + DJMS LR5 + DJMS LR5 + DJMS LR5 + DJMS LR5 + DJMS LR5 + DJMS LR5 + DJMS LR5 + DJMS LR5 + DJMS LR5 + DJMS LR5 + DJMS LR5 + DJMS LR5 + DJMS LR5 + DJMS LR5 + DJMS LR5 + DJMS LR5 + DJMS LR5 + DDYM + DDYM + DDYM + DDYM + DJMS LLD4 + DJMS LLD4 + DJMS LLD4 + DJMS LLD4 - D JMS LLD4 - D JMS LLD4 - D JMS LLD4 - D JMS LLD4 - D JMS LLD4 - D JMS LLD4 - D JMS LLD2 - D JMS LLD2 - D JMS LLD2 - D JMS LLD2 - D JMS LLD2 - D JMS LLD2 - D JMS LLD2 - D JMS LLD2 - D JMS LLD2 - D JMS LLD2 - D DYM - D DYM - D DYM - D DYM - D JMS LRD1 - D JMS LRD1 - D JMS LRD1 - D JMS LRD1 - D JMS LRD1 - D JMS LRD1 - D JMS LRD1 - D JMS LRD1 - D JMS LRD1 - D JMS LRD1 - D JMS LRD3 - D JMS LRD3 - D JMS LRD3 - D JMS LRD3 - D JMS LRD3 - D JMS LRD3 - D JMS LRD3 - D JMS LRD3 - D JMS LRD3 - D JMS LRD3 - D DYM - D DYM - D DYM - D DYM - D JMS LLD4 - D JMS LLD4 - D JMS LLD4 + DJMS LLD4 + DJMS LLD4 + DJMS LLD4 + DJMS LLD4 + DJMS LLD4 + DJMS LLD4 + DJMS LLD2 + DJMS LLD2 + DJMS LLD2 + DJMS LLD2 + DJMS LLD2 + DJMS LLD2 + DJMS LLD2 + DJMS LLD2 + DJMS LLD2 + DJMS LLD2 + DDYM + DDYM + DDYM + DDYM + DJMS LRD1 + DJMS LRD1 + DJMS LRD1 + DJMS LRD1 + DJMS LRD1 + DJMS LRD1 + DJMS LRD1 + DJMS LRD1 + DJMS LRD1 + DJMS LRD1 + DJMS LRD3 + DJMS LRD3 + DJMS LRD3 + DJMS LRD3 + DJMS LRD3 + DJMS LRD3 + DJMS LRD3 + DJMS LRD3 + DJMS LRD3 + DJMS LRD3 + DDYM + DDYM + DDYM + DDYM + DJMS LLD4 + DJMS LLD4 + DJMS LLD4 - D JMS LLD4 - D JMS LLD4 - D JMS LLD4 - D JMS LLD4 - D JMS LLD4 - D JMS LLD4 - D JMS LLD4 - D JMS LLD2 - D JMS LLD2 - D JMS LLD2 - D JMS LLD2 - D JMS LLD2 - D JMS LLD2 - D JMS LLD2 - D JMS LLD2 - D JMS LLD2 - D JMS LLD2 - D DYM - D DYM - D DYM - D DYM - D JMS LRD1 - D JMS LRD1 - D JMS LRD1 - D JMS LRD1 - D JMS LRD1 - D JMS LRD1 - D JMS LRD1 - D JMS LRD1 - D JMS LRD1 - D JMS LRD1 - D JMS LRD3 - D JMS LRD3 - D JMS LRD3 - D JMS LRD3 - D JMS LRD3 - D JMS LRD3 - D JMS LRD3 - D JMS LRD3 - D JMS LRD3 - D JMS LRD3 - D DYM - D DYM - D DYM - D DYM - D JMS LLD4 - D JMS LLD4 + DJMS LLD4 + DJMS LLD4 + DJMS LLD4 + DJMS LLD4 + DJMS LLD4 + DJMS LLD4 + DJMS LLD4 + DJMS LLD2 + DJMS LLD2 + DJMS LLD2 + DJMS LLD2 + DJMS LLD2 + DJMS LLD2 + DJMS LLD2 + DJMS LLD2 + DJMS LLD2 + DJMS LLD2 + DDYM + DDYM + DDYM + DDYM + DJMS LRD1 + DJMS LRD1 + DJMS LRD1 + DJMS LRD1 + DJMS LRD1 + DJMS LRD1 + DJMS LRD1 + DJMS LRD1 + DJMS LRD1 + DJMS LRD1 + DJMS LRD3 + DJMS LRD3 + DJMS LRD3 + DJMS LRD3 + DJMS LRD3 + DJMS LRD3 + DJMS LRD3 + DJMS LRD3 + DJMS LRD3 + DJMS LRD3 + DDYM + DDYM + DDYM + DDYM + DJMS LLD4 + DJMS LLD4 - D JMS LLD4 - D JMS LLD4 - D JMS LLD4 - D JMS LLD4 - D JMS LLD4 - D JMS LLD4 - D JMS LLD4 - D JMS LLD4 - D JMS LLD2 - D JMS LLD2 - D JMS LLD2 - D JMS LLD2 - D JMS LLD2 - D JMS LLD2 - D JMS LLD2 - D JMS LLD2 - D JMS LLD2 - D JMS LLD2 - D DYM - D DYM - D DYM - D DYM - D JMS LR5 - D JMS LR5 - D JMS LR5 - D JMS LR5 - D JMS LR5 - D JMS LR5 - D JMS LR5 - D JMS LR5 - D JMS LR5 - D JMS LR5 - D JMS LR5 - D JMS LR5 - D JMS LR5 - D JMS LR5 - D JMS LR5 - D JMS LR5 - D JMS LR5 - D JMS LR5 - D JMS LR5 - D IXM - D IXM - D IXM - D IXM - D JMS LR5 - D JMS LR5 + DJMS LLD4 + DJMS LLD4 + DJMS LLD4 + DJMS LLD4 + DJMS LLD4 + DJMS LLD4 + DJMS LLD4 + DJMS LLD4 + DJMS LLD2 + DJMS LLD2 + DJMS LLD2 + DJMS LLD2 + DJMS LLD2 + DJMS LLD2 + DJMS LLD2 + DJMS LLD2 + DJMS LLD2 + DJMS LLD2 + DDYM + DDYM + DDYM + DDYM + DJMS LR5 + DJMS LR5 + DJMS LR5 + DJMS LR5 + DJMS LR5 + DJMS LR5 + DJMS LR5 + DJMS LR5 + DJMS LR5 + DJMS LR5 + DJMS LR5 + DJMS LR5 + DJMS LR5 + DJMS LR5 + DJMS LR5 + DJMS LR5 + DJMS LR5 + DJMS LR5 + DJMS LR5 + DIXM + DIXM + DIXM + DIXM + DJMS LR5 + DJMS LR5 - D JMS LR5 - D JMS LR5 - D JMS LR5 - D JMS LR5 - D JMS LR5 - D JMS LR5 - D JMS LR5 - D JMS LR5 - D JMS LR5 - D JMS LR5 - D JMS LR5 - D JMS LR5 - D JMS LR5 - D JMS LR5 - D JMS LR5 - D JMS LR5 - D JMS LR5 - D LXA 4000 - D LYA 3100 - D JMS REST - D JMS UP - D JMS UP - D JMS UP - D JMS UP - D JMS UP - D JMS UP - D JMS UP - D JMS UP - D JMS UP - D JMS UP - D JMS UP - D JMS UP - D JMS UP - D JMS UP -SCORE D NOP - D LXA 3640 - D LYA 6000 - D JMS REST - D JMS LETTER+70 S - D JMS LETTER+5 C - D JMS LETTER+45 O - D JMS LETTER+61 R - D JMS LETTER+21 E - D JMS LETTER+115 : - D LXA 3640 - D DYM - D DYM + DJMS LR5 + DJMS LR5 + DJMS LR5 + DJMS LR5 + DJMS LR5 + DJMS LR5 + DJMS LR5 + DJMS LR5 + DJMS LR5 + DJMS LR5 + DJMS LR5 + DJMS LR5 + DJMS LR5 + DJMS LR5 + DJMS LR5 + DJMS LR5 + DJMS LR5 + DLXA 4000 + DLYA 3100 + DJMS REST + DJMS UP + DJMS UP + DJMS UP + DJMS UP + DJMS UP + DJMS UP + DJMS UP + DJMS UP + DJMS UP + DJMS UP + DJMS UP + DJMS UP + DJMS UP + DJMS UP +SCORE: DNOP + DLXA 3640 + DLYA 6000 + DJMS REST + DJMS LETTER+70 ;S + DJMS LETTER+5 ;C + DJMS LETTER+45 ;O + DJMS LETTER+61 ;R + DJMS LETTER+21 ;E + DJMS LETTER+115 ;: + DLXA 3640 + DDYM + DDYM - D JMS REST - D IXM -NUM1 D IXM - D IXM - D IXM - D IXM - D JMS LETTER+45 - D LXA 4000 -SET D NOP - D LXA 3400 - D LYA 2000 - D JMS REST - D JMS LETTER+70 S - D JMS LETTER+21 E - D JMS LETTER+76 T - D IXM - D JMS LETTER+5 C - D JMS LETTER A - D JMS LETTER+61 R - D IXM - D JMS LETTER+70 S - D JMS LETTER+54 P - D JMS LETTER+21 E - D JMS LETTER+21 E - D JMS LETTER+13 D - D LXA 4000 -FIRE D NOP - D LXA 3400 - D LYA 2000 - D JMS REST - D JMS LETTER+70 S - D JMS LETTER+76 T - D JMS LETTER A - D JMS LETTER+61 R - D JMS LETTER+76 T - D IXM - D JMS LETTER+103 W - D JMS LETTER+30 H - D JMS LETTER+21 E - D JMS LETTER+37 N - D IXM - D JMS LETTER+61 R - D JMS LETTER+21 E - D JMS LETTER A - D JMS LETTER+13 D - D JMS LETTER+111 Y - D LXA 4000 + DJMS REST + DIXM +NUM1: DIXM + DIXM + DIXM + DIXM + DJMS LETTER+45 + DLXA 4000 +SET: DNOP + DLXA 3400 + DLYA 2000 + DJMS REST + DJMS LETTER+70 ;S + DJMS LETTER+21 ;E + DJMS LETTER+76 ;T + DIXM + DJMS LETTER+5 ;C + DJMS LETTER ;A + DJMS LETTER+61 ;R + DIXM + DJMS LETTER+70 ;S + DJMS LETTER+54 ;P + DJMS LETTER+21 ;E + DJMS LETTER+21 ;E + DJMS LETTER+13 ;D + DLXA 4000 +FIRE: DNOP + DLXA 3400 + DLYA 2000 + DJMS REST + DJMS LETTER+70 ;S + DJMS LETTER+76 ;T + DJMS LETTER ;A + DJMS LETTER+61 ;R + DJMS LETTER+76 ;T + DIXM + DJMS LETTER+103 ;W + DJMS LETTER+30 ;H + DJMS LETTER+21 ;E + DJMS LETTER+37 ;N + DIXM + DJMS LETTER+61 ;R + DJMS LETTER+21 ;E + DJMS LETTER ;A + DJMS LETTER+13 ;D + DJMS LETTER+111 ;Y + DLXA 4000 -CAR0 D LYA 3100 - D JMS REST - D JMS CAR - D LXA 4000 - D LYA 2700 - D JMS REST -DIGIT D JMS B3 -CAR1 D LXA 1400 - D LYA 3300 - D JMS REST - D JMS CAR -CAR2 D LXA 1400 - D LYA 3500 - D JMS REST - D JMS CAR -CAR3 D LXA 1400 - D LYA 3700 - D JMS REST - D JMS CAR -CAR4 D LXA 1400 - D LYA 4100 - D JMS REST - D JMS CAR -CAR5 D LXA 1400 - D LYA 4300 - D JMS REST - D JMS CAR -CAR6 D LXA 1400 - D LYA 4500 - D JMS REST - D JMS CAR - D LXA 3700 - D LYA 2000 - D JMS REST -CRUNCH0 D NOP - D LXA 4000 /CENTER BEAM AND WAIT - D LYA 4000 - D HLT -L BSS 1 LITERALS GO HERE - ORG 3000 - ISZ #OTA MODULE TO PRINT OUTPUT BUFFER--START HERE - LAC =B - DAC #OTB UNPACK COUNTER - CLA - DAC #OTC FIRST OR SECOND BYTE COUNTER -LPP LAC #OTC - ISZ #OTC +CAR0: DLYA 3100 + DJMS REST + DJMS CAR + DLXA 4000 + DLYA 2700 + DJMS REST +DIGIT: DJMS B3 +CAR1: DLXA 1400 + DLYA 3300 + DJMS REST + DJMS CAR +CAR2: DLXA 1400 + DLYA 3500 + DJMS REST + DJMS CAR +CAR3: DLXA 1400 + DLYA 3700 + DJMS REST + DJMS CAR +CAR4: DLXA 1400 + DLYA 4100 + DJMS REST + DJMS CAR +CAR5: DLXA 1400 + DLYA 4300 + DJMS REST + DJMS CAR +CAR6: DLXA 1400 + DLYA 4500 + DJMS REST + DJMS CAR + DLXA 3700 + DLYA 2000 + DJMS REST +CRUNC0: DNOP + DLXA 4000 ;CENTER BEAM AND WAIT + DLYA 4000 + DHLT +L: ..ZZ=. ;LITERALS GO HERE + LOC 3000 + ISZ OTA' ;MODULE TO PRINT OUTPUT BUFFER--START HERE + LAC [B] + DAC OTB' ;UNPACK COUNTER + CLA + DAC OTC' ;FIRST OR SECOND BYTE COUNTER +LPP: LAC OTC' + ISZ OTC' - RAR 1 - I LAC #OTB LOAD PACKED WORD - LSN - JMP .+3 - ISZ #OTB - JMP .+4 - SAR 3 FIRST BYTE - SAR 3 - SAR 2 - TSF SECOND BYTE - JMP .-1 - TPC TRANSMIT BYTE - LAC #OTB - SAM #OTA CHECK FOR LAST ZERO WORD - JMP LPP - HLT PROGRAM END -B BSS 1 PRINT BUFFER - REL 1 LITERALS - END + RAR 1 + I LAC OTB' ;LOAD PACKED WORD + LSN + JMP .+3 + ISZ OTB' + JMP .+4 + SAR 3 ;FIRST BYTE + SAR 3 + SAR 2 + TSF ;SECOND BYTE + JMP .-1 + TPC ;TRANSMIT BYTE + LAC OTB' + SAM OTA' ;CHECK FOR LAST ZERO WORD + JMP LPP + HLT ;PROGRAM END +B: 0 ;PRINT BUFFER + LOC ..ZZ + CONSTANTS ;LITERALS + VARIABLES + END