00100 * RECOVERY 104X96 * 00110 PPOINT MACRO 00120 LDU #OLDU 00130 LDX $BA 00140 LEAX 2,X DISPLAY IS 3 BYTES OVER 00150 LDB #96 00160 STB DOWN 00170 \.D LDA #13 00180 STA ACROSS 00190 \.C LDA ,X+ 00200 LDB #8 00210 \.B LSLA 00220 BCS \.A REVERSED COLORS (0=PSET) 00230 INC ,U OLDU=1 00240 INC $2700,U NEWU=1 00250 \.A LEAU 1,U 00260 DECB 00270 BNE \.B 00280 DEC ACROSS 00290 BNE \.C 00300 LEAX 3,X NEXT ROW, 3 BYTES OVER 00310 DEC DOWN 00320 BNE \.D 00330 ENDM 00340 00350 ZERO MACRO 00360 LDU #$3600 START OF OLDU 00370 \.A CLR ,U+ 00380 CMPU #$F900 END OF SUMS 00390 BNE \.A 00400 ENDM 00410 00420 LOCATE MACRO 00430 LDA \1 00440 LDB \2 00450 MUL 00460 ADDB \0 00470 ADCA #0 00480 ENDM 00490 00500 ORG $3000 00510 VMAX RMB 1 00520 VREC RMB 1 00530 VEXC RMB 1 00540 GUP RMB 1 00550 GDOWN RMB 1 00560 SIZE RMB 1 00570 R RMB 1 00580 RR RMB 1 00590 E RMB 1 00600 EE RMB 1 00610 UU RMB 1 00620 VV RMB 1 00630 TOTAL RMB 1 00640 ACROSS RMB 1 00650 DOWN RMB 1 00660 X1 RMB 1 00670 Y1 RMB 1 00680 XR RMB 1 00690 YR RMB 1 00700 K0 RMB 101 KEXC ARRAY (0 - 100) 00710 K1 RMB 101 KREC ARRAY (0 - 100) 00720 00730 CLEAR ORCC #$50 ENABLE INTERRUPTS 00740 CLR $FFDF HIGH RAM 00750 ZERO 00760 CLR $FFDE LOW RAM 00770 ANDCC #$AF 00780 RTS 00790 00800 DEMO ORCC #$50 00810 CLR $FFDF 00820 SETDP $30 VARIABLES BEGIN WITH $30-- 00830 LDA #$30 00840 TFR A,DP 00850 PPOINT 00860 00870 START LDU #OLDU 00880 LDA #1 00890 L1 STA DOWN 00900 LDB #1 00910 L2 STB ACROSS START AT U(1,1) 00920 LDY #SUMS 00930 LOCATE ACROSS,DOWN,SIZE 00940 LEAY D,Y 00950 LDA D,U 00960 STA TOTAL 00970 LDA -1,Y S(I-1,J) 00980 ADDA TOTAL 00990 STA TOTAL 01000 LDA -104,Y S(I,J-1) 01010 ADDA TOTAL 01020 STA TOTAL 01030 LDA -105,Y S(I-1,J-1) 01040 NEGA 01050 ADDA TOTAL 01060 STA ,Y 01070 LDB ACROSS 01080 INCB 01090 CMPB #103 01100 BLS L2 01110 LDA DOWN 01120 INCA 01130 CMPA #95 01140 BLS L1 01150 01160 NEXT LDA R 01170 INCA 01180 L3 STA DOWN 01190 LDB R 01200 INCB START AT U(R+1,R+1) 01210 L4 STB ACROSS 01220 LOCATE ACROSS,DOWN,SIZE 01230 LDU #OLDU 01240 LDX #OLDV 01250 LDY #SUMS 01260 LEAU D,U 01270 LEAX D,X 01280 LEAY D,Y 01290 LDA ,U GET CURRENT U VALUE 01300 STA UU SAVE IT 01310 STA $2700,U 01320 LDB ,X GET CURRENT V VALUE 01330 STB VV SAVE IT 01340 STB $2700,X 01350 TST UU U=0 ? 01360 LBNE TEST1 01370 01380 TEST0 LDA VV 01390 CMPA VEXC V=>VEXC ? 01400 BHS TEST0A 01410 LDA 315,Y S(I+R,J+R) 01420 STA TOTAL 01430 LDA -420,Y S(I-R-1,J-R-1) 01440 ADDA TOTAL 01450 STA TOTAL 01460 LDA 308,Y S(I-R-1,J+R) 01470 NEGA 01480 ADDA TOTAL 01490 STA TOTAL 01500 LDA -413,Y S(I+R,J-R-1) 01510 NEGA 01520 ADDA TOTAL 01530 STA E 01540 LDA VV 01550 LDB E 01560 LDY #K0 01570 CMPB A,Y E>KEXC(V) ? 01580 BLS TEST0A 01590 LDA #1 01600 STA $2700,U NEWU=1 01610 LBRA DONE 01620 01630 TEST0A SUBA GDOWN NEWV=V-GDOWN 01640 BPL TST0A1 01650 CLRA 01660 TST0A1 STA $2700,X 01670 LBRA DONE 01680 01690 TEST1 LDA VV 01700 CMPA VREC V<=VREC ? 01710 LBLS TEST1A 01720 CMPA VMAX V=VMAX ? 01730 BNE TEST11 01740 CLR $2700,U 01750 LBRA DONE 01760 01770 TEST11 LDA 315,Y 01780 STA TOTAL 01790 LDA -420,Y 01800 ADDA TOTAL 01810 STA TOTAL 01820 LDA 308,Y 01830 NEGA 01840 ADDA TOTAL 01850 STA TOTAL 01860 LDA -413,Y 01870 NEGA 01880 ADDA TOTAL 01890 STA E 01900 LDB RR 01910 SUBB E 01920 STB EE 01930 LDA VV 01940 LDB EE 01950 LDY #K1 01960 CMPB A,Y EE>KREC(V) ? 01970 BLS TEST1A 01980 CLR $2700,U 01990 BRA DONE 02000 02010 TEST1A ADDA GUP NEWV=V+GUP 02020 CMPA VMAX 02030 BLS TST1A1 02040 LDA VMAX 02050 TST1A1 STA $2700,X 02060 02070 DONE LDB ACROSS 02080 INCB 02090 CMPB XR LENGTH-R 02100 LBLS L4 02110 LDA DOWN 02120 INCA 02130 CMPA YR WIDTH-R 02140 LBLS L3 02150 02160 QSHOW LDU #OLDU 02170 LDY #SUMS 02180 LDX $BA 02190 LEAX 2,X DISPLAY STARTS 3 BYTES OVER 02200 LDA #96 #ROWS DOWN (0 - 95) 02210 STA DOWN 02220 Q3 LDB #13 # BYTES ACROSS (104/8) 02230 STB ACROSS 02240 Q2 CLR TOTAL 02250 LDB #8 # BITS PER BYTE 02260 Q1 LSL TOTAL 02270 CLR ,Y+ CLEAR SUMS 02280 LDA $7500,U NEW V 02290 STA $4E00,U OLD V 02300 LDA $2700,U NEWU 02310 STA ,U+ OLDU 02320 ADDA TOTAL 02330 STA TOTAL SAVE U VALUES 02340 DECB 02350 BNE Q1 02360 COMA REVERSE THEM 02370 STA ,X+ AND DISPLAY THEM 02380 DEC ACROSS 02390 BNE Q2 02400 LEAX 3,X 02410 DEC DOWN 02420 BNE Q3 02430 LBRA START 02440 02450 OLDU EQU $3600 02460 NEWU EQU $5D00 02470 OLDV EQU $8400 02480 NEWV EQU $AB00 02490 SUMS EQU $D300 02500 FINIS * 02510 END DEMO R=WIDTH-R 02610 LBLS L3 02620 02630 QSHOW LDU #OLDU 02640 LDY #SUMS 02650 & L20:VM100&5 U(L,L),UU(L,L),V(L,L),VV(L,L)&O R,VR,VE,GU,GD,KR,KE&f(RR(2R1)(2R1)&v20,1::1,1&< Y0 L: X0 L2&FU(X,Y)1:UU(X,Y)1&P(XX,YY): X,Y&Z XR LR: YR LR&dUU(X,Y):UU(X,Y)U'nVV(X,Y):VV(X,Y)V'x U1 200'#:TEST 0'5 VVE 180'@ 350'_ EKE UU(X,Y)1: 290'm:TEST 0A'VVGD: V0 V0'VV(X,Y)V: 290':TEST 1'҅ VVR 260'܅ VVM UU(X,Y)0: 290'恦 350'EERRE( EEKR UU(X,Y)0: 290(:TEST 1A(4VVGU: VVM VVM(BVV(X,Y)V(L" Y,X(d, X0 L: Y0 L({6UUU(X,Y):U(X,Y)U(@VVV(X,Y):V(X,Y)V(J(XX,YY,U)(T Y,X: 90(^E0(h IXR XR(r JYR YR(| U(I,J)1 EE1) J,I:) 3,95,80,24,19,9,54VVGU: VVM VVM(BVV(X,Y)V(L" Y,X(d, X0 L: Y0 L({6UUU(X,Y):U(X,Y)U(@VVV(X,Y):V(X,Y)V(J(XX,YY,U)(T Y,X: 90(^E0(h IXR XR(r JYR YR(| U(I,J)1 EE1) J,O& 0,1:1:&" 200,&H30001&M (&H30DD)26 M"WAVES":&HFF40,0&c(@203,"COMPUTING"&{2K0&H3013:K1&H3078&< R,VR,VE,GU,GD,KR,KE&FVM100&PSZ104&Z&H3000,VM:&H3001,VR:&H3002,VE&d&H3003,GU:&H3004,GD'.n&H3005,SZ:&H3006,R:RR(2R1)(2R1):R1R(2R1):&H3007,RR'Ox &H3011,103R: &H3012,95R' V0 VM:KKE(R1KE)(VVE): K0V,(K)'KKR(R1KR)(VMV)(VMVR)' K1V,(K):'E1R(SZ1)'E2(R1)(SZ1):E2&HFFFFE21'E3R(SZ1)1(E4RSZ(R1):E4&HFFFFE41(hHI(E1256):LOE1256HI: &H31AA,HI: &H31AB,LO: &H31FE,HI: &H31FF,LO(HI(E2256):LOE2256HI: &H31B0,HI: &H31B1,LO: &H3204,HI: &H3205,LO)HI(E3256):LOE3256HI: &H31B8,HI: &H31B9,LO: &H320C,HI: &H320D,LO)UHI(E4256):LOE4256HI: &H31C1,HI: &H31C2,LO: &H3215,HI: &H3216,LO)b &H30DD)r:YOUR DEMO)0,1:0,5::1,1)(32,0)(136,190),,BF):LINE(32,0)-(240,190),PSET,BF*":LINE(32,0)-(128,64),PSET,BF:LINE(32,128)-(128,190),PSET,BF*/,:CIRCLE(38,96),4*R:PAINT(38,96),0,0*}6:CIRCLE(38,64),4*R:PAINT(38,64),0,0:CIRCLE(38,128),4*R:PAINT(38,128),0,0*@ &H30F3*J 3,85,80,24,19,7,5*T:DATA 2,85,80,24,19,7,5*^:DATA 3,70,65,20,5,5,0*h:DATA 3,90,85,25,20,7,5+r:DATA 3,90,85,20,5,5,0+1|:DATA 6,82,71,12,5,53,0+N:DATA 3,82,71,12,5,25,064),0,0:CIRCLE(38,128),4*R:PAINT(38,128),0,0*@ &H30F3*J 3,85,80,24,19,7,5*T:DATA 2,85,80,24,19,7,5*^:DATA 3,70,65,20,5,5,0*h:DATA 3,90,85,25,20,7,5+r:A ,S ANDA #$F CMPA #10 BLO OU3 ADDA #$37 BRA OU4 OU3 ADDA #$30 OU4 JSR [$A002] PULS A,PC ONREAD CLR 2,U ZERO STEPPER LDA IDENT CMPA #'3 BNE ON1 LDB #%01000000 27256 1/2 BRA ON2 ON1 LDB #%01001000 ON2 STB ,U EPROM READ MODE PSHS X LDX #0 A@ LEAX -1,X BNE A@ PULS X RTS POK TST ERRFLG BNE PO1 LEAX OK,PCR LBSR OUTLIN PO1 LBRA WARM * GETS ASCII POINTED BY X * AND PUTS HEX IN D GNUM LDD #0 PSHS D INIT TOTAL GNUM2 LDA ,X+ GET CHAR CMPA #'0 BLO GNUM3 CMPA #'9 BLS GNUM4 CMPA #'A BLO GNUM3 CMPA #'F BHI GNUM3 SUBA #7 GNUM4 SUBA #'0 MAKE NUMERIC ASL 1,S ROL 0,S ASL 1,S ROL 0,S ASL 1,S ROL 0,S ASL 1,S ROL 0,S ADDA 1,S STA 1,S BRA GNUM2 GNUM3 TSTA PULS X,PC TEXT TITLE FDB $0D0D FCC " THE DISTO EPROM PROGRAMMER",$0D FCC " BY TONY DISTEFANO",$0D FCC " V 1.3",$D FDB $0D0D FCC " 1 - 2764",$0D FCC " 2 - 27128",$0D FCC " 3 - 27256 1/2",$0D FCC " 4 - 27256 2/2",$0D FDB $0D0D FCC " CHOOSE 1, 2, 3 OR 4? ",4 PFAIL FCC "EPROM NOT PROGRAMMED PROPERLY AT ADDRESS: ",4 PAGE FCB $0D FCC " 1-EPROM ERASED ?",$0D FCC " 2-PROGRAM EPROM.",$0D FCC " 3-VERIFY EPROM.",$0D FCC " 4-READ EPROM.",$0D FCC " 5-RETURN TO BASIC",$0D FCC " 6-EXAMINE/CHANGE MEMORY",$0D FDB $0D0D FCC "COMMAND: " FDB $0D0D FCC "STATUS:",$0D FCB 4 SEL FCC " EPROM SELECTED IS A ",4 E64 FCC "2764",$0D FCB 4 E128 FCC "27128",$0D FCB 4 E2561 FCC "27256 1/2",$0D FCB 4 E2562 FCC "27256 2/2",$0D FCB 4 AT FCC "AT ",4 EXP FCC " EXPECTED ",4 FOU FCC " FOUND ",4 OK FCC " - OK!",$0D FCB 4 BLANK FCB 55[$20] FCB 4 CHECK FCC "CHECKING FOR FF'S",4 TRANS FCC "MOVING EPROM TO MEMORY",4 VEPROM FCC "VERIFING EPROM",4 PEPROM FCC "PROGRAMMING ADDRESS: ",4 EXMEG FCC "START ADDRESS? ",4 END TED ",4 FOU FCC " FE(216+I,176),10,2,.85:CIRCLE(216+I,176),8,2,.85:CIRCLE(216+I,164),10,2,.85:CIRCLE(216+I,164),8,2,.85:NEXTI 58 PCOPY3TO1:PCOPY4TO2 59 FORII=1TO1000 60 IFINKEY$=""THEN61ELSE600 61 NEXTII 600 REM START MENU TEXT 610 DIM A$(40) 620 READ MN$ 630 FORP=1TO34:READ A$(P):IF A$(P)="END"THEN640ELSENEXTP 640 IF A$(P)="END"THEN A$(P)="" 650 CLS 660 PRINT" RAINBOW ON TAPE" 670 PRINT" (C) FALSOFT, 1987" 680 PRINT 690 PRINT " (XX)=PAGE NUMBER OF LISTING":KK=LEN(MN$):KK=INT(KK/2):PRINTTAB(9-KK)"IN "MN$"'S RAIN&:A COLOR DOODLER&5:WRITTEN BY KEIRAN KENNY&R:COPYRIGHT (C) MAY 1991&i:BY FALSOFT, INC.&:RAINBOW MAGAZINE& CL(500),H1(500),V1(500),H2(500),V2(500)&(&H15F)196DV1:DV1'$:@160,"YOU CAN:":@227,"1 LOAD A SAVED PICTURE, OR":@291,"2 DRAW A NEW PICTURE."'B(K$:K$"1"K$"2"40'v2K$"1"LD1::@224,"";:"LOAD FILENAME: ";F$'<65497,0'F'PSL815:PL:SL,PL:'Z 24,33,40,43,48,52,56,0'd41598,255'n2:15'xA$"0123456789ABCDEF"( 1,2552:2,2552(YB$"*COLOR DOODLER*":B9:CL0:T115:CL:(B,3),(B$,T,1):BB1:CLCL1:(C$"by Keiran Kenny":B9:CL0:T115:CL:(B,5),(C$,T,1):BB1:CLCL1:(0:(11,9),"YOUR COLORS:"((14,87)(264,103),,B) B2:T116:(B,11),(A$,T,1):BB2:)HCR0:L1526316:CR:(L,96)(L8,102),,BF:CRCR1:)a(14,87)(264,103),1)0:(10,14),"PRESS ANY KEY"::44539:K$:15)܅LD0330)65496,0)"I",#DV,F$)#DV,NR)Z1NR)#DV,CL(Z),H1(Z),V1(Z),H2(Z),V2(Z)*'CL(Z):(H1(Z),V1(Z))(H2(Z),V2(Z)),*;"XH2(Z):YV2(Z)*B,Z*K6#DV*^@65497,0:340*mJX160:Y96*|TPK(135)*^PK80620*hPK72(14,87)(264,103),2:(14,87)(264,103),1:44539:(14,87)(264,103),2+rPK47PK58KPK48:K :PK64PK70KPK55:K+7|X0(PK189PK64)135,0:340+]X319(PK87PK83)135,0:340+Y0(PK64PK87)135,0:340+Y191(PK189PK83)135,0:340+PK94YY1+PK10YY1+PK8XX1+…PK9XX1,̅PK64YY1:XX1,օPK87YY1:XX1,0PK189YY1:XX1,GPK83YY1:XX1,fPK103H1X:V1Y:(H1,V1),PK4H2X:V2Y:(H1,V1)(H2,V2),:NRNR1:CL(NR)K:H1(NR)H1:V1(NR)V1:H2(NR)H2:V2(NR)V2:135,0,PK12610-PK7815:(H2,V2)(H1,V1),:NRNR1:CL(NR):XH1:YV1:135,0-,Y0Y0-=&Y191Y191-J0X0X0-[:X319X319-jDBG(X,Y)-N(X,Y):DL1100::(X,Y,BG)-X340-b65496,0:41598,3::32::-l135,0-v65496,0:41598,3::32:.@224,"";:"SAVE FILENAME: ";F$."O",#DV,F$.#DV,NR.+Z1NR.R#DV,CL(Z),H1(Z),V1(Z),H2(Z),V2(Z).YZ.b#DV.ƞ:@224,"FILE "F$" SAVED".ЊG)-X340-b65496,0:41598,3::32::-l135,0-v65496,0:41598,3::32:.@224,"";:"SAVE FILENAME: OFF (LO) * PGM & OE DISABLED (HI) * WDE INABLED (HI) * CE INABLED (LO) PROG LDA IDENT CMPA #'2 LBGT PROGS LEAX PEPROM,PCR LBSR STATL LDX #DSTART LDB #%11001100 START UP STB ,U LDA ,X+ FIRST BYTE STA -1,U TO EPROM ORB #$20 VPP ON STB ,U PGM1 CLR X COUNTER PROG LOOP PGM2 LDA #1 LBSR PAMS BURN FOR 1 ms. INC X LDA X CMPA #15 BEQ LBURN ANDB #%01111011 READ MODE STB ,U LDA -1,U GET DATA ORB #%10000100 WRITE MODE STB ,U CMPA -1,X PROGRAM? BNE PGM2 NO ANOTHER SHOT LBURN LDA X ASLA MULTIPLY BY 4 ASLA LBSR PAMS BURN A MS PSHS D,X STX PADD LDX CURPOS LBSR OUTADD LDA #$20 JSR [$A002] LDA X LDB #5 MUL TFR B,A LBSR HEXASC STX CURPOS PULS D,X LDA X CMPA #15 BNE LADDR ANDB #%01111011 READ MODE STB ,U LDA -1,U GET DATA ORB #%10000100 WRITE MODE STB ,U CMPA -1,X LBNE FAILED LADDR CMPX DEND LBEQ POFF FINISHED LBSR INCADD NEXT EPROM ADD LDA ,X+ GET NEXT DATA BYTE STA -1,U LBSR BREAK CHECK BREAK KEY BRA PGM1 BURN AGAIN *THIS IS THE ROUTINE TO PROGRAME *THE 27256 BOTH HIGH AND LOW PROGS LEAX PEPROM,PCR LBSR STATL LDX #DSTART LDA IDENT CMPA #'3 BEQ PR1 LDB #%11011100 START UP 2/2 BRA PR2 PR1 LDB #%11010100 START UP 1/2 PR2 STB ,U LDA ,X+ FIRST BYTE STA -1,U TO EPROM ORB #$20 VPP ON STB ,U PGM1S CLR X COUNTER PROG LOOP PGM2S LDA #1 LBSR PAMSS BURN FOR 1 ms. INC X LDA X CMPA #15 BEQ LBURNS ANDB #%01111011 READ MODE STB ,U LDA -1,U GET DATA ORB #%10000100 WRITE MODE STB ,U CMPA -1,X PROGRAM? BNE PGM2S NO ANOTHER SHOT LBURNS LDA X ASLA MULTIPLY BY 4 ASLA LBSR PAMSS BURN A MS PSHS D,X STX PADD LDX CURPOS LBSR OUTADD LDA #$20 JSR [$A002] LDA X LDB #5 MUL TFR B,A LBSR HEXASC STX CURPOS PULS D,X LDA X CMPA #15 BNE LADDRS ANDB #%01111011 READ MODE STB ,U LDA -1,U GET DATA ORB #%10000100 WRITE MODE STB ,U CMPA -1,X LBNE FAILED LADDRS CMPX DEND BEQ POFF FINISHED LBSR INCADD NEXT EPROM ADD LDA ,X+ GET NEXT DATA BYTE STA -1,U LBSR BREAK CHECK BREAK KEY BRA PGM1S BURN AGAIN * POWER DOWN WITHOUT FALSE * BURN OF CMOS DEVICES POFF LDA #$FF (NO ERASING) STA -1,U STORE DATA ANDB #%11011111 TURN VPP OFF STB ,U DO IT LBRA POK FINISHED BURN * This routine verifies EPROM. VERIFY LEAX VEPROM,PCR LBSR STATL LDX #DSTART LBSR ONREAD VER1 LDA ,X+ MEMORY DATA CMPA -1,U EPROM DATA BEQ VER2 LBSR ERROR VER2 CMPX DEND BEQ VEREND LBSR INCADD BRA VER1 VEREND LBRA POK * START OF ROUTINES INCADD LEAY 1,Y INC STEPPER CMPY #$1000 BNE INC1 LDY #0 CLEAR STEPPER INCB NEXT ADDRESS BLOCK STB ,U INC1 CLR 1,U STEP INC ADDRESS RTS PAMS PSHS X ANDB #%11110111 STB ,U PGM ON (LOW) PA2 LDX #DELAY 3 CYCLES PA1 LEAX -1,X 8 CYCLES BNE PA1 PER LOOP DEC A 2 CYCLES BNE PA2 3 CYCLES ORB #%0001000 STB ,U PGM OFF (HI) PULS X,PC PAMSS PSHS X ANDB #%11101111 STB ,U CE ON (LOW) PA2S LDX #DELAY 3 CYCLES PA1S LEAX -1,X 8 CYCLES BNE PA1S PER LOOP DEC A 2 CYCLES BNE PA2S 3 CYCLES ORB #%00010000 STB ,U PGM OFF (HI) PULS X,PC FAILED CLR 2,U STEPPER CLR ,U SHUT DOWN EPROM STX PADD LEAX PFAIL,PCR LBSR STATL LBSR OUTADD LBRA WARM STATL PSHS X STATUS LINE LDX #(13*32)+3+1024 STX CURPOS PULS X OUTLIN PSHS A,X OUT1 LDA ,X+ CMPA #4 END OF LINE BEQ OUTEND JSR [$A002] PRINT CHAR BRA OUT1 OUTEND PULS A,X,PC PPAGE PSHS A,X,Y JSR CLS LEAX SEL,PCR BSR OUTLIN LDA IDENT CMPA #'1 BEQ P1 CMPA #'2 BEQ P2 CMPA #'3 BEQ P3 LEAX E2562,PCR BRA PF P1 LEAX E64,PCR BRA PF P2 LEAX E128,PCR BRA PF P3 LEAX E2561,PCR PF BSR OUTLIN LEAX PAGE,PCR BSR OUTLIN PULS A,X,Y,PC GETCHR PSHS B,X GET1 JSR [$A000] BNE GET3 DEC $94 BLINK DELAY BNE GET5 NOT TIME LDB #11 STB $94 RESET COUNTER LDX CURPOS GET POSITION LDA ,X GET CHAR ADDA #$10 NEXT COLOR ORA #$8F SOLID COLOR STA ,X TO SCREEN GET5 LDX #$045E JSR $A7D3 WAIT LOOP BRA GET1 GET3 LDB #$20 STB [CURPOS] PULS B,X,PC * ERROR PRINTS OUT 2 VALUES * FIRST IS IN A REG * SECOND IS POINTED TO BY U REG ERROR STB ERRFLG PSHS D,X STX PADD LEAX AT,PCR LBSR STATL LBSR OUTADD LEAX EXP,PCR LBSR OUTLIN LBSR HEXASC LEAX FOU,PCR LBSR OUTLIN LDA -1,U LBSR HEXASC LBSR BREAK CHECK FOR BREAK KEY PULS D,X,PC OUTADD PSHS D,X LDX PADD LEAX -1,X TFR X,D SUBD #DSTART STD PADD LBSR HEXASC LDA PADD+1 LBSR HEXASC PULS D,X,PC BREAK JSR [$A000] CMPA #$03 BNE BR3 LEAS 4,S LDA #$FF (NO ERASING) STA 1,U ANDB #%11011111 VPP OFF STB ,U DO IT LBRA WARM BR3 CMPA #$20 BNE BR2 BR1 JSR [$A000] CMPA #$20 BNE BR1 BR2 RTS * OUTPUTS TO DEVICE 2 HEX CHARS * FROM A REG ALL PRESERVED HEXASC PSHS A LSRA LSRA LSRA LSRA CMPA #10 BLO OU1 ADDA #$37 BRA OU2 OU1 ADDA #$30 OU2 JSR [$A002] LD " (60) NOTETUTR"/ І "END"".: " (19)+EPROM".Q " (26) PYRAMID2".g " (36) CABLETV".~ " (37) CLRDUDLR". " (38) VOCABLRY". " (40) INDIANS". " (45) WAVES1". " (46) WAVES2". " (46)*WAVES". " (46)+WAVES"/XREF","(182) COMMANDO"0. END) FILESRCH"/ "(102) LOADER","(103) CADPRINT","(108) RESTORE","(117) ROBOCISE","(135) WHO AM I"/ "(146) TIN EAR","(147) KOLAROLA","(150) SUBTRACT","(162) SUPERCLS","(166) SOUND 2"0$ "(167) SOUNDGEN","(172) * THIS IS A DISTO EPROM * PROGRAMER. * LAST VERSION MAY 06 90 * LAST CHANGE FOR CMOS EPROMS CLS EQU $A928 CONTRL EQU $FF51 DELAY EQU $006F DSTART EQU $3000 CURPOS EQU $88 LENGTH EQU $380 X EQU $382 ERRFLG EQU $383 PADD EQU $384 DEND EQU $386 TEMP EQU $388 IDENT EQU $389 INBUF EQU $2DD LINEIN EQU $A390 START CLR $FF40 ORCC #$50 MASK INT. ST1 JSR CLS LEAX TITLE,PCR LBSR OUTLIN LDU #CONTRL LBSR GETCHR STA IDENT CMPA #'1 BEQ ST2 CMPA #'2 BEQ ST4 CMPA #'3 BEQ ST4 CMPA #'4 BNE ST1 ST4 LDD #$4000 BRA ST3 ST2 LDD #$2000 ST3 STD LENGTH ADDD #DSTART STD DEND WAR1 LBSR PPAGE PRINT TITLE PAGE WARM LDY #0 CLEAR ADDRESS CLR 0,U SHUT DOWN EPROM CLR 2,U ZERO STEPPER CLR ERRFLG SOUND CLRB LDA #$D0 STA $8C LDX #00 STX $8D SO1 JSR $A962 MAKE SOUND INCB BNE SO1 WA1 LDX #$54A STX CURPOS WA2 LBSR GETCHR CMPA #'0 BGT WA3 BRA WA2 WA3 CMPA #'6 BGT WA2 JSR [$A002] PSHS A,X LEAX BLANK,PCR LBSR STATL PULS A,X CMPA #'1 BEQ ERASED CMPA #'2 LBEQ PROG CMPA #'3 LBEQ VERIFY CMPA #'4 LBEQ MOVE CMPA #'5 BEQ FINI CMPA #'6 LBEQ EXAM BEQ WA1 FINI LBRA $A027 END OF LINE! ERASED LEAX CHECK,PCR MESSAGE LBSR STATL PRINT LDX #DSTART START OF MEM LBSR ONREAD LDA #$FF ER1 CMPX DEND LBEQ POK PRINT OK AND WARM CMPA -1,U BEQ ER2 LEAX 1,X LBSR ERROR LEAX -1,X ER2 LBSR INCADD LEAX 1,X BRA ER1 MOVE LEAX TRANS,PCR LBSR STATL LDX #DSTART LBSR ONREAD MO1 LDA -1,U EPROM DATA STA ,X+ IN MEMORY CMPX DEND BEQ MO4 LBSR INCADD BRA MO1 MO4 LBRA POK EXAM LEAX EXMEG,PCR LBSR STATL LDB #4 4 CHARACTERS A@ LBSR LINEIN LBCS BREAK LDX #INBUF LBSR GNUM E@ LDA #$D JSR [$A002] TFR X,D LBSR HEXASC TFR B,A LBSR HEXASC LDA #$20 JSR [$A002] LDA ,X LBSR HEXASC LDA #$20 JSR [$A002] CLR TEMP F@ LBSR GETCHR CMPA #94 UP ARROW BEQ B@ CMPA #10 DOWN ARROW BEQ C@ CMPA #$D LBEQ WAR1 CMPA #'0 BLO F@ CMPA #'9 BLS Q@ CMPA #'A BLO F@ CMPA #'F BHI F@ Q@ STA INBUF FIRST DIGIT JSR [$A002] R@ LBSR GETCHR SECOND DIGIT CMPA #'0 BLO R@ CMPA #'9 BLS S@ CMPA #'A BLO R@ CMPA #'F BHI R@ S@ STA INBUF+1 JSR [$A002] CLR INBUF+2 PSHS X LDX #INBUF LBSR GNUM TFR X,D TFR B,A PULS X STA ,X+ LBRA E@ B@ LEAX -1,X LBRA E@ C@ LEAX 1,X LBRA E@ * This is the routine to program * the EPROM. * It starts up by; * A12 & A13 TO 0 * VCC ON (HI) * VPP????????? OHH???? OHH?? OHH????C J2C???<C J2C???? C J2C???<?C J2C?? TO RETURN TO FIRST PAGE OF MENU", " PRESS ^ (UP ARROW) FOR ";,XX$: XX$""430,XX$(94) ::,…XX$" "240,̀I11 NP:XX$B$(I)500-֋I:430-XX$430-ꁥ240-:Q$A$(I):(Q$,1)"*"540-:@138,"SORRY, BUT"::8)Q$::" IS A MACHINE LANGUAGE PROGRAM."-:" THE MENU PROGRAM HAS NOW BEEN CLEARED SO YOU MAY THE PROGRAM BY ITS FILENAME."-. Q(Q$):QQ6:SL$(Q$,Q).& SL$,R.& "OCTOBER".: " (19)+EPROM".Q " (26) PYRAMID2".g " (36) CABLETV".~ " (37) CLRDUDLR". " (38) VOCABLRY". " (40) INDIANS". " (45) WAVES1". " (46) WAVES2". " (46)*WAVES". " (46)+WAVES"/𕚟𥪀 ꀰꀯ𥪀紀Я匆𯀥𠯥Я$%'(,/0 FALSOFT PRESENTS! RAINBOW" ON # DISK  MENU BAS&EPROM ASMPYRAMID2BAS&CABLETV BAS)CLRDUDLRBASVOCABLRYBAS*INDIANS BAS+WAVES1 BASWAVES2 BASRWAVES BIN-WAVES ASMNOTETUTRBAS.߀߀셀߀ꀀڀ߀ڀ߀ڀ߀ꀀ ڀ߀ꀀڀ߀ꀀڀ߀ꀀ󀓟 ÀππĀ΀̀π̀ʀʀπʀππππʀʀπππڀ߀ꀀڀ߀ꀀ󀓟 ÀππĀ΀̀π̀ʀʀπʀππππʀʀππ???????????? 0 0 0?&D:PYRAMID2 ** WRITTEN BY GEORGE QUELLHORST&:COPYRIGHT (C) SEPTEMBER 1991 ** BY FALSOFT, INC. ** RAINBOW MAGAZINE'd 112,1,94,25,130,25,76,50,112,50,148,50,58,74,94,74,130,74,166,74,40,98,76,98,112,98,148,98,184,98,22,122,58,122,94,122,130,122,166,122,202,122,4,146,40,146,76,146,112,146,148,146,184,146,220,146'1000:SH1:140,190:43350: A(0,34),B(0,34),C(0,34),D(0,34),E(0,34),N$(13),X(29),F(29),Y(29),CA(52):R()(65495,0::SH1 @194,"PLEASE WAIT. SHUFFLING CARDS":53(048:43:T25:DE29(F: CURSOR CONTROL(PP$(u"C0BM"(X(T))","(Y(T))A$( DE52 MO1 63( P$(8)TT1 :P$(9)TT1 :13( T29T1:T0T28( F(T)0 F(T)2 10:) P$(13)F(T)2:19 :P$(94):37)PP$(10) SH0:CA(0)AC:4:P$" "SH1:4)u"C1BM"(X(T))","(Y(T))A$)P$"Q":) 7): THE ENTER KEY)57:Q0:ECW:TTT:T0:57:Q0:TCW*ECTC1 ECTC12 TCEC1 TCEC12 TTT:22*61:TTT:F(T)1:7*::HT:75:71:H0:72*nHT1:76:HT1:77:CNT(Y(T)25):F(1)267*LCN1:RCN:Y(L)Y(R)25:X(T)11228 :Y(L)Y(R)27*HL:70:HR:70*HT1:73:HT1:74:29*HR:70:HT1:74:31+HL:70:HT1:73:RS1:29+VF(T1)2 TTT:TL:F(L)1:47:57:55:Q0:TTT+jRS1RS0:32+F(T1)2 TTT:TR:F(R)1:47:57:55:Q0:TTT+ CA(0)CA(T)+!TT1:T29T1+"F(T)0F(T)2 33+#MO1:7,$: THE UP-ARROW KEY,%DE52 61:7,N&TTT:DEDE1:TDE:X10:Y10:(X,Y)(X30,Y42),B,,p'57:"S4BM10,10"A$:T0:55,((10,55)(40,97),B,:78:"S4C0BM13,60"R$(D1)"BR14"R$(D2),)TTT:Q0:CA(0)W:7,*: DRAW SCREEN-_+A$"R30D42L30U42":MO1:F(0)2:4,1:5:1,1:"S4C0BM10,10"A$:178,54:(20,20),,0:(10,10)(40,52),A,G:(140,10)(170,52),B,G-,T0:X(0)10:Y(0)10:47::T121:F(T)0:X(T),Y(T):46::T2228:F(T)1:X(T),Y(T):47:.-Q0:W0:T0:57:55:Q0:T2228:57:55:Q0::"S4C0BM13,60"R$(2)"BR14"R$(3):.h.(X(T),Y(T))(X(T)30,Y(T)42),A,:"C0S4BM"(X(T))","(Y(T))A$:./(X(T),Y(T))(X(T)30,Y(T)42),B,:"C0S4BM"(X(T))","(Y(T))A$:/f0N$(1)"BR3R3F3D4LU4H3LG3D4LU4E3BL2BD5R7":N$(2)"BRR7FD2GL6GD2R8ULDL8U2ER6EU2HBL6DLU":N$(3)"BRR7FDGFD2GL7HUBRDFBR5EU2HL3BR3EUHBL5GDBLUE":N$(4)"BR4R4D4R2L2D3LU7BL2G4R6BL7E4"0B1N$(5)"BR9L9D3RU3BD3R7FD2GL7HURDFBR5EU2H":N$(6)"BR9L8GD5FR7EU2HL6BLU2EBGBD2BRGD2FR5EU2H":N$(7)"R9DG6LE6UBL7DLU":N$(8)"BRR7FDGFD2GL7HU2EHUEBRGDFR5BL5GD2FBR5EU2HEUH":N$(9)"BRR7FD5GL8BR7EU2BLEU2HBL5GD2FR5BL5BLHU2E"12N$(10)"BR2RD7BR2L5BR2U6GLE2BR6R7FD5GL7HU5EBRGD5FBR5EU5H":N$(11)"BR4R5BL2D6GL5HURDFBR3EU6L2":N$(12)"R9D7L9U7BRD7BR7U7D6LF2R2UL2":N$(13)"R2D7LULDRU7LDRBRBD3E4R2GLG4BEF3R2HLH3":R$(0)"R7FD5GL7HU5EBRGD5FBR5EU5HBL8"2 3C$(1)"BR13R3F3D5G10H10U5E3R3F4E4":C$(2)"BR8R2F8DG8L2H8UE8":C$(3)"BR10F9D2G2L2H3LGD3F2L6E2U3HLG3L2H2U2E10":C$(4)"BR8R2F3D2G3F2E3RF3D2G3LH3L2D3F2L6E2U3L2G3LH3U2E3RF3E2H3U2E3":R$(1)"BR2RD7BR2L5BR2U6GLE2BL5":P29:R$(P)N$(P):P:2"4: SHUFFLE THE DECK25T152:CA(T)T::T152:R(52):SCA(R):CA(R)CA(T):CA(T)S::SH0:ACCA(29):CA(0)CA(29):26: DRAW CARDS ON SCREEN37"S4C0BM"(X(T)6)","(Y(T)20)C$(Q):"S4BM"(X(T)4)","(Y(T)4)N$(W):178,HC:(X(T)15,Y(T)25),,0:3>8: COMPUTE SUIT AND VALUE OF CARD3J9WCA(T)3t:W13QQ1:59::WW13:QQ1:583;Q3HC1:HC03<3=140,20:D110:::140,190:3>: CHECK STATUS OF GAME4?MO0:TTT:K128:F(K)1 TK:57:Q0:TCW:T0:57:Q0:ECW:TTT :654J@ECTC1 ECTC12 TCEC1 TCEC12 4AK:61::@101,"GAME IS OVER YOU LOST":@133,(21,"*"):@205,"PRESS:":@259,"SPACEBAR FOR ANOTHER GAME":@323,"DOWN ARROW FOR SAME GAME":@390,"PRESS TO QUIT"5=BP$:P$" "SH1:4:P$(10)SH0:CA(0)AC:4:P$"Q"::666C:@36,"WELL, YOU FINALLY DID IT.":@72,"YOU WON THE GAME":@104,"CONGRATULATIONS!":@129,(30,"*"):@205,"PRESS:":@259,"SPACEBAR FOR ANOTHER GAME":@323,"DOWN ARROW FOR SAME GAME":@390,"PRESS TO QUIT60D"T2L5;O2BAGDO1DO2ABG":66SE:PUT AND GET CARDS ON SCREEN.6|F(X(H),Y(H))(X(H)30,Y(H)42),A,:6G(X(H),Y(H))(X(H)30,Y(H)42),B,:6H(X(H),Y(H))(X(H)30,Y(H)42),C,:6I(X(H),Y(H))(X(H)30,Y(H)42),D,:7 J(X(H),Y(H))(X(H)30,Y(H)42),E,:7IK(X(H),Y(H))(X(H)30,Y(H)42),C,G:7rL(X(H),Y(H))(X(H)30,Y(H)42),D,G:7M(X(H),Y(H))(X(H)30,Y(H)42),E,G:7NED52DE:DE$(ED):ED10 (DE$,1,1)"0" :DE$(DE$,2)8OD1((DE$,1)):D2((DE$,1)):))(X(H)30,Y(H)42),E,:7IK(X(H),Y(H))(X(H)30,Y(H)42),C,G:7rL(X(H),Y(H))(X(H)30,Y(H)42),D,G:7M(X(H),Y(H))(X(H)30,Y(H)42),E,G:7NED52DE:DE$(ED):ED10 (DE$,1,1)"0" :DE$(DE$,2)8OD1((DE$,1)):D2((DE$,128)' (252)(255)(252)(253)(250)(159)(156)(157)(154)(164)(173)(174)(168)R$(191)(188)(188)(191)(213)(222)(220)(223)(228)(237);(f (238)(236)(239)(133)(140)(143)(140)(138)R$(255)R$(245)(250)(159)R$(149)(154)R$(165)(170)R$R$(191)R$R$(191)(213)(218)(208)(223)R$(229);) (234)R$(239)(133)R$(143)R$(138)R$(255)R$R$R$(159)R$(149)(154)R$(165)(170)R$R$(191)R$R$(191)(213)(218)(208)(223)R$(229);)(234)R$(236)(133)R$(143)R$(138)R$(255)R$R$R$(159)R$(149)(154)R$(165)(170)R$R$(191)R$R$(191)(213)(218)(208)(223)R$(229);*D(234)R$R$R$R$(143)R$R$R$(255)(240)(245)(250)(159)R$(149)(154)R$(165)(170)R$R$(191)R$R$(176)(213)(218)R$(223)R$(229);*(234)R$(239)R$R$(143)R$R$R$(255)(252)(253)(250)(159)(156)(157)(154)R$(165)(170)R$R$(188)(188)(188)(191)(213)(218)R$(223)R$(229);+(238)(236)(239)(224)R$(143)R$R$R$(255)R$R$R$(159)R$(149)(154)R$(165)(170)R$R$(191)R$R$(191)(213)(218)R$(223)R$(229);,'(234)R$R$(224)R$(143)R$(105)R$(255)R$R$R$(159)R$(149)(154)R$(165)(170)R$R$(191)R$R$(191)(213)(218)R$(223)R$(229);,(234)R$R$R$R$(143)R$(110)R$(255)R$R$R$(159)R$(149)(154)R$(165)(170)(161)(162)(191)R$R$(191)(213)(218)R$(223)R$(229);-^(234)R$R$R$R$(143)R$(99)R$(255)R$R$R$(159)R$(149)(154)R$(165)(170)(165)(170)(191)R$R$(191)(213)(218)R$(223)R$(229);."(234)R$R$R$R$(143)R$R$(243)(255)(243)R$(147)(159)(145)(151)(155)(146)(167)(171)(167)(170)(191)(179)(179)(191)(213)(219)(211)(223)(225)(231);.(235)(226)R$R$(129)(143)(130)R$(195)(195)(195)(194)(195)(195)(195)(195)(193)(195)(195)(194)(195)(195)(195)(193);/l(195)(195)(194)(195)(194)(193)(195)(195&: TVLIST&:CABLE TV&;:WRITTEN BY JOHN NORRIS&^:COPYRIGHT 1991 FALSOFT, INC.&u #2,(27);(77)&#2,"2 BALT 21 MAX"&#2,"3 20 WASH 22 AMC"&#2,"4 WASH 23 TNT"&#2,"5 WASH 24 WOR"'#2,"6 WASH 25 TBS"'6#2,"7 WASH 26 ESPN"'V#2,"8 MEU 27 CNN"'v#2,"9 WASH 28 HNN"'#2,"10 45 BALT 29 WEATHR"'#2,"11 BALT 30 HMSHOP"'#2,"12 MPT 31 MTV"'#2,"13 BALT 32 WHMM"( #2,"14 54BALT 33 DSC"(<!#2,"15 HBO 34 A&E(\"#2,"16 SHO 35 LIF"(|##2,"17 DIS 36 TNN"($#2,"18 HTS 37 AASCHL"(%#2,"19 JONES 38 NIK"(,"20 TMC 39 FAM"()3 BALT 32 WHMM"((207)(195)(202)(199)(203)(192)(197)(203)(192)(199)(203)(192)(207)(195)(207);2I11000:""I22,1:1:1,1:1:0:1,1:65314,24822,3:1:1,32 "BM0,100C1U20R45U4R156D4R45D20L45D4L156U4L45"3e!(50,80)(78,100),,BF:(194,80)(166,100),,BF:(102,80)(142,100),,BF:(86,84)(94,96),,BF:(150,84)(158,96),,BF3s"31:423#2,3:1:1,34,$"BM3,120C1U5LU5LU5R45U4NR166M+10,-6R146M+10,+6D4R45D5LD5LD5L45D4L160U4L45BM0,104M+50,-30R156M+50,+30M-50,-30BG4M+28,+16L201M+28,-16R144BD28L144M+2,+12R140M+2,-12"4%(128,116),1,1:"BL28BDC4M-2,+12L2M+2,-12L16D12NR14L2U12BL40D12L2U12L16M+2,+12NR14L2M-2,-12"4&(128,90),3,1:"BU20C1NL20C4R76C1R20"4'31:424(2,3:1:1,35E)"BM8,150C1H8R45U2R166D2R45G8L40D2L160U2L40H8M+32,-80R192M+32,+80L45H20L128NG20L40M+18,-52R176M+18,+52L42"5*(76,94),14,1,.8:(176,94),14,1,.8:(76,94),1,1:(176,94),1,15+(76,86)(176,102),,B:(96,90)(156,96),,BF:(128,74),3,16C,"C1BM50,144R154L2D2L150R2D2R146BL36C4U4L18D4BL40U4L18D4BU12C1BL14L4U2R4BR18R4U2L4BR32BU4R4U2L4BR32BD6R4D2L4BR26L4D2R4"6Q-31:426."BM0,54C1U42R20":(16,24),16,1,.8,.8,.17:"BD22BR4F2RDRM+2,+17L8U4LU7LU3L2UL2UL7D16NL8U16BU7U12R8DR2DRFRD2RD2LD2LGLGLDL8"7b/"BR25BD23M+12,-42R10M+10,+42L8M-2,-8NL11BU6BL2M-3,-14LM-3,+14NR7BD6BL2M-2,+8NL8BR28U42R10D42NL10BR8U42R16M+14,+32U32R10D42L16M-14,-32D32L10"70"BR48U42R20":(154,24),16,1,.8,.8,.17:(154,44),16,1,.8,.8,.17:"BD42NR4L20R9BU6U12R8DR2DRFRD2RD2LD2LGLGLDL8BU18U12R8DR2DRFRD2RD2LD2LGLGLDL8"81(190&:VOCABULARY AID&4:WRITTEN BY KEIRAN KENNY&W:COPYRIGHT 1991 FALSOFT, INC.&] &pA$(11),B$(11)&xP0&(T111:A$(T),B$(T):T1A$(T)""340:A$(T)""50:@P,A$(T)": "B$(T):PP32:'W2TT1::"READ THESE WORDS AND THEIR MEAN-INGS, AND LEARN TO SPELL THE WORDS. PRESS THE WHENYOU ARE READY FOR A TEST."'ah@257,"PRESS r TO REPEAT OR e TO END."*SrK$:K$""370*c|K$"R":*sK$"E":*}370* SUFFICIENT,ENOUGH* LETHARGY,LACK OF ENERGY* MATURE,GROW UP* TENEBROUS,DARK* MULTITUDE,CROWD+  NARRATIVE,STORY+$ INDEPENDENCE,FREEDOM+= INFANTILE,CHILDISH+U INDIGNATION,ANGER+m NAUSEATING,SICKLY+y "",""+L OBLITERATE,WIPE OUT+M NOURISHMENT,FOOD+N PROCRASTINATE,DELAY+O SHUFFLE,MIX+P SUPERFLUOUS,MORE THAN ENOUGH,Q REQUIREMENT,NEED,,R MILITARISTIC,WAR LIKE,KS QUADRILATERAL,FOUR SIDED,gT MONUMENTAL,VERY LARGE,{U HIRSUTE,HAIRY,V "","", GIGANTIC,VERY LARGE, DIMINUTIVE,SMALL, EXECRABLE,BAD, DISEASED,SICK, "","",І "",""QT"," (81) MIRORPIX"? " (82) P178&GL"," (82) WINDCHIL"," (83) FOOTBALL"," (95) CCBLITZ"," (99) MENUGEN"," (99) COCODRAW","(103) 3DLETTER","(107) READPROG","(118) ANIMATE","(124) PICTBOOK"?' ENDNT2"," (78) FUNFACE"," (79) MARTIAN"," (80) COCOAR &$:============================&A: TEN LITTLE INDIANS&V: BY&q: RUTH E. GOLIAS& :============================& 1130&2: : 0,46: 1,21: 2,0: 3,7: 4,45: 5,32: 6,16: 7,1: 8,62: 9,3:0& 7'((0,140)(320,192),,BF(2A$"D12F1D15F3D1L10U1E2U12H2U3;R2U15L7D15R7;BL6D7G1D9F2D1L11U1E3U15;E1U16BU4F5;BR7E5D7;BU7U3G6L7;E3R1U1H1NG1E5H5G3F3G3NF2;BG4G9F2E6NE4G2;BU8BR3U1H7L1U3E9;BD9D4NH2F3D1;BL1BU18NL1F1R7E1R1;F1R3F4D3F1D2F1D2G1D5;F1D3F1D1F1D1G1L5U5H2BU4U7"(<"BM100,150;C2;XA$;"(,F(98,153),1,2(>P(86,154),1,2(PZ(95,153),2,2(bd(90,146),2,2(tn(78,151),2,2(x(92,136),2,2((92,126),1,2((92,114),10,2,1,.38,.15((90,114),1,2)"BM100,113;C2;H5L5D1G3L1;L3G4D2G2D4E3U1E1U1E1;BU3H4E4F3")(100,112),2,2)*(80,117),3,2)<(80,110),5,2)X(96,114,4):(90,114,4))n"BM94,118;C2;L2")"BM135,164;S8;C2;E44NE4NU4NH4F44L29H15G15NR29L29")(223,160),6,2)(237,100),5,2*e"BM130,184;R5U1R2U2L7D1L1D1R1D1;BR15BU6R7U1R1U1L2U1L3D1L1D1L2D1;BR16BD4R4U1L1U1L2D1L1D1;BD4BR20R7U1R1U1L2U1L3D1L2D1L1D1;BR16BU6R5U1R3U2L8D1L1D1R1D1"*x(132,183),9,2*(168,170),9,2*(196,178),9,2*"(241,186),9,2*,(270,175),9,2*6"BM20,174;R6U1R2U3L8D1L1D1R1D2"*@(22,172),9,2+J D1 500: D+T 6+0^(1,3),"ONE LITTLE,"+Hh"T3;V30;O2L4FL8FF"+fr(206,158,4):(210,158,4)+|(13,3),"TWO LITTLE,"+"L4FL8FF"+(216,156,4):(220,156,4)+(25,3),"THREE LITTLE "+"L4AO3L8CC"+(32,5),"INDIANS,"+"O2L4AF",(0,24),0,2,-(212,148,4):(216,148,4),G(1,3),"FOUR LITTLE,",T"GL8GG",r(218,142,4):(222,142,4),(14,3),"FIVE LITTLE,","L4GL8GG",(222,139,4):(226,139,4),(27,3),"SIX LITTLE","L4EL8GGL4EC",&(0,24),0,2-0(224,147,4):(228,147,4)-/:(1,3),"SEVEN LITTLE,"-<D"FL8FF"-ZN(226,152,4):(230,152,4)-vX(15,3),"EIGHT LITTLE,"-b"L4FL8FF"-l(230,161,4):(234,161,4)-v(29,3),"NINE LITTLE"-"L4AO3L8CCO2L4AF"-(0,24),0,2-(32,40),0,2.(232,155,4):(236,155,4).8(1,3),"TEN LITTLE INDIAN BOYS.".U"O3L4CO2L8B-B-L4AGL2.F".i D1 500: D.z(0,24),0,2 .(232,155,6):(236,155,6).(1,3),"TEN LITTLE,"."L4FL8FF".(230,161,6):(234,161,6).(13,3),"NINE LITTLE,"/"L4FL8FF"/& (226,152,6):(230,152,6)/A(26,3),"EIGHT LITTLE"/R "L4AO3L8CC"/i*(32,5),"INDIANS,"/w4"O2L4AF"/>(0,24),0,2/H(224,147,6):(228,147,6)/R(1,3),"SEVEN LITTLE,"/\"L4GL8GG"/f(222,139,6):(226,139,6)0p(15,3),"SIX LITTLE,"0z"L4GL8GG"04(218,142,6):(222,142,6)0N(27,3),"FIVE LITTLE"0]"L4EL8GG"0t(32,5),"INDIANS,"0"L4EC"0(0,24),0,20(212,148,6):(216,148,6)0(1,3),"FOUR LITTLE,"0"FL8FF"0(216,156,6):(220,156,6)1(14,3),"THREE LITTLE,"1"L4FL8FF"1I(206,158,6):(210,158,6) :OUT 2 EYES1b(28,3),"TWO LITTLE"1y"L4AO3L8CCO2L4AF"1(0,24),0,21$(32,40),0,21.(1,3),"ONE LITTLE INDIAN BOY."18"O3L4CO2L8B-B-L4AGL2.F"2#B"BM26,163;C2;R2U1R1U1R1E1H1L1G2L2U1L1U1L2D1R1D1R1D1R1D1R1F1R2E1U2"25L(27,162),3,22GV(28,164),1,22R`11202ej3,1::1,0:32st X1 42~@294," TEN LITTLE INDIANS ";2 D1 1000: D2 B130 157 3:@B,(191);:2 B295 312:@B,(191);:3) B296 308:@B,(239)(255)(159)(191);:3f B308 295 1:@B,(223)(159)(255)(191);:3y (25),(3)3ċ X3΀ B294 300:@B," TEN LITTLE INDIANS ";3ؿ0,13 D1 1500: D3B295 312:@B,(191);:3) B296 0 P6o&9P߆060` H%ll'3AZ& &0 &6 = 1˗ ? @ \g#ϖL_#ĖL\ = 6301ė ' ' &G $5; \ 4@ c@  0# 'c*O'W #C&o'D; \ 4@ c@  0x#o' #' \#(L#60`   ouN' Z&C &0 &0' &G $5; \ 4@ c@  0# 'c*O'W #C&o'& :NOTE TUTOR&2:WRITTEN BY WILLIAM MILLER&S:COPYRIGHT (C) OCTOBER 1991&j(:BY FALSOFT, INC.&2:RAINBOW MAGAZINE"&<: INTRO MEMORY, SCREEN&F:'KP:1,0: 0,63:N(22),MS$(11):4:1,100:2,100:3,100:4,100:5,500:6,1000:7,1000:8,500:9,500:TC$"FGABCDEFGABCDEFGABCDEF":BC$"CDEFGABCDEFGABCDEF":CC1:X112'U(35,1),"NOTE TUTOR": (34,2),"WKM Software":(38,3),"7/91"'Z:'d: MESSAGES'n:(xMS$(1)"Choose one":MS$(2)"reble Clef":MS$(3)"ass Clef":MS$(4)"Find ote":MS$(5)"Find eyboard position":MS$(6)"Note:":MS$(7)"Press to quit":MS$(8)"Keyboard Position":MS$(9)"Sorry, the note is: "(MS$(10)"Correct":MS$(11)"Sorry, the key is:"(300(:(: SUBS(:(: INKEY) Q$:Q$"" 190 : ):)%: PRINT MESSAGE),:)C(PX,PY),MS$(MS):)J:)_: ERASE MESSAGE)f:)x0:230:1:):)":),: DRAW STAFF)6:*@Z 59 31 7:(10,Z)(210,Z),::(10,31)(10,59),:(11,31)(11,59),:(16,31)(16,59),:(180,0)(194,90),5*J:*2T: DRAW KEYBOARD*9^:*hZ021:A01:(19520ZA140,70A40)(215A14020Z,100A40),,B:Z3 Z6 Z10 Z13 Z17 Z19 370 : (21120ZA140,70A40)(22020ZA140,85A40),,BF*r A,Z+\|Z 0 6:(220Z,150)(1220Z,180),,B: Z2 Z6 390 : (1520Z,150)(1920Z,170),,BF+b+i:+: DRAW BASS CLEF+:,7(25,25)(73,65),6:(32,38),5:(33,37),1,1:(33,39),1,1:(44,38),16,1,1,.47,.15:"BM58,42;L2D2L2D2L2":(29,40),27,1,1,.1,.25:(68,35),3:(68,35),1,1:(68,41),3:(68,41),1,1,a(25,25)(73,65),7:(25,25)(73,65),6,h:,: DRAW TREBLE CLEF,:-! (44,53),12,1,1,.45,.28:(42,51),18,1,1,.28,.70:"BM32,45;R2UR2UR2UR2UR2UR2UR2UR2;U2R2U2R2U2R2;U3LULULUL3DLDLDLD33L2DL2DL4U2RDLU":(25,25)(73,65),6-(:-=: INTRO NOTES- (100,56),5:(100,56),1,1:(104,59)(104,42),:(105,59)(105,42),:"O3;F"- (120,52),5:(120,51),1,1:(120,53),1,1:(124,54)(124,35),:(125,54)(125,35),:"O3;G".> (145,42),5:(145,42),1,1:(140,40)(140,57),:(139,40)(139,57),:"O4;C". (165,38),5:(165,39),1,1:(165,37),1,1:(160,36)(160,53),:(159,36)(159,53),:"O4;D".&(92,62)(106,41),1:(112,58)(126,37),2:(150,39)(136,60),3:(170,34)(156,55),4.0:/>:: CHOOSE TREBLE CLEF OR BASS CLEF AND CHOOSE KEYBOARD OR NOTE/ED:/N(415,30)(635,61),,B:(415,30)(635,61),,B:(415,30)(633,60),,B:PX53:PY4:MS1:230:PX55:PY5:MS2:230:PY6:MS3:230/X1900b Q$"T" CC1 : Q$"B" CC2 : 6000l270:PY5:MS2:2700EvPX55:PY5:MS4:230:PY6:MS5:2300O1900zQ$"N" KN1 : Q$"K" KN2 : 6400(112,0)(126,80),5:(92,0)(106,80),5:(136,0)(150,80),5:(156,0)(170,80),50PL11R270:PY5:MS4:270:PX53:PY4:MS1:270:PX55:PY6:MS7:230:KN1 PX55:PY4:MS6:230 : PX55:PY4:MS8:2301Y:1x: INITIALIZE NOTE BUFFER1:1ƅ CC1 N$TC$:(25,25)(73,65),6 : N$BC$:(25,25)(73,65),71ЀZ122:N(Z)Z::CC1 TN22 : TN181:2: MAIN LOOP2:2*: GET RANDOM NOTE2@PL(TN):NN(PL)2` NO$(N$,N,1): CC1 8302g:2| : DEFINE OCTAVE2*:24 N14 OC3 : N7 OC 2 : OC1258402> N18 OC5 : N11 OC4 : N4 OC3 : OC 23HOC$"O"(OC)3+ROE(N2((N2))):CC2 910 3T\: TREBLE CLEF DEFINE NOTE VARIABLES3f OE1 N11 BF2 : OE0 N11 BF1 : OE1 N11 BF4 : BF33p N10 OE0 Y98 : N10 OE1 Y97 : Y863z 9304: BASS CLEF DEFINE NOTE VARIABLES4a OE1 N9 BF2 : OE0 N9 BF1 : OE1 N9 BF4 : BF34 N8 OE0 Y91 : N8 OE1 Y90 : Y794NNN14:4: PUT NOTE ON STAFF4:5(X,Y(3.5NN))(X14,Y21(3.5NN)),BF: OC$";"NO$:KN2 11205:5<:CHECK ANSWER FOR FIND NOTE5C:5M1905y Q$"Q" : Q$"A" Q$"G" 9405(61,4),Q$6 Q$NO$ 100,2:50,3:3:PX55:PY5:MS9:230:(75,5),NO$:T11000::270:0:(75,5),NO$:(61,4),Q$:1:(X,0)(X14,90),5:7606&: RIGHT ANSWER6m$200,1:T150::200,1:2:PX55:PY5:MS10:230:T1500::2707$.ZPL 21:N(Z)N(Z1)::TNTN1:270: TN0 0:(61,4),Q$:(75,5),NO$:1:(X,0)(X14,90),5:PX55:PY5:MS10:270:PY4:MS6:270:PY6:MS7:270:PX55:PY4:MS8:270:5907X8T1500::PX55:PY5:MS9:270:0:(75,5),NO$7oBKN1 (61,4),Q$7L1:(X,0)(X14,90),57V7707`:7j: CHECK ANSWER FOR KEYBOARD POSITION7t:7~Q$:Q$"Q" 8 JP(0): (JP2)2JP JPJP18(6JP10,70)(6JP105,180),9:(6JP10,70)(6JP101,180),,BF:(6JP10,70)(6JP105,180),9: (0)0 115083: CC1 NT(N9)2 : NT(N1)28 NTJP 10608:WRONG ANSWER8PX55:PY5:MS11:2309nĠ100,2:50,3:T110: (6NT10,70)(6NT105,180),9:(6NT10,70)(6NT101,180),,BF:(6NT10,70)(6NT105,180),9::19PX55:PY5:MS11:270:(X,0)(X14,90),5:770N1)28 NTJP 10608:WRONG ANSWER8PX55:PY5:MS11:2309nĠ100,2:50,3: