PCjs Machines

Home of the original IBM PC emulator for browsers.

Logo

Challenger 1P BASIC Programs

COUNTER.BAS

OSI Challenger 1P

Challenger 1P
Speed:
Stopped

Listing

 1 REM--ROGER VAN SCOY
 2 REM--COUNTER
 19 D1=53392
 20 W=0:KEY=57088
 21 DEF FNZ(F)=55-INT(LOG(F)/LOG(2)-.5)
 22 POKE530,1
 25 DIMC(25):FORX=1TO25:READC(X):NEXT
 27 DIMA(23):FORX=1TO23:READA(X):NEXT
 29 DIMB(19):FORX=1TO19:READB(X):NEXT
 30 DIMD(24):FORX=1TO24:READD(X):NEXT
 33 FORX=1TO34:PRINT:NEXT
 35 PRINT"HI, WHAT'S YOU'RE NAME":INPUTN$
 40 FORX=1TO34:PRINT:NEXT
 50 A=53991:P=53487:C=54032:B=P+7*64:D=54181:CN=0
 70 R=ASC(N$)
 75 PRINT"TODAY, ";N$
 80 PRINT"WE'LL PRACTICE"
 85 PRINT"COUNTING TO TEN!!!"
 90 FORX=1TO14:PRINT:NEXT
 91 POKE54117,32
 94 FORX=1TO4000:NEXT
 95 FORX=53530TO53700:POKEX,32:NEXT
 97 GOSUB6000:GOTO1150
 100 REM---ONE
 110 Z=P+1:FORX=ZTOZ+6*64STEP64:POKEX,49:NEXT
 120 POKEZ+63,49:POKEZ+6*64-1,49:POKEZ+6*64+1,49
 130 POKEB,79:POKEB+1,78:POKEB+2,69
 135 POKEC,9:POKEC+1,10
 140 RETURN
 200 REM---TWO
 210 POKEP+63,50:FORX=PTOP+2:POKEX,50:NEXT
 220 Z=P+3:POKEZ+64,50:POKEZ+128,50
 230 Z=Z+192:POKEZ-1,50:POKEZ-2,50:Z=Z+61:POKEZ,50
 240 Z=Z+63:POKEZ,50:Z=Z+64:FORX=ZTOZ+4:POKEX,50:NEXT
 250 POKEB,84:POKEB+1,87:POKEB+2,79
 260 POKEC-2,181:POKEC-1,182:POKEC,32:POKEC+1,181:POKEC+2,182
 270 RETURN
 300 FORX=1TO300
 320 FORX=P+1TOP+5:POKEX,51:NEXT
 330 Z=P+69:POKEZ,51:POKEZ+63,51:POKEZ+127,51:POKEZ+126,51:Z=Z+192
 340 POKEZ,51:POKEZ+64,51
 350 Z=Z+128:FORX=Z-1TOZ-3STEP-1:POKEX,51:NEXT:POKEZ-68,51
 360 POKEB+1,84:POKEB+2,72:POKEB+3,82:POKEB+4,69:POKEB+5,69
 370 POKEC-2,214:POKEC-1,211:POKEC,32:POKEC+1,214:POKEC+2,211
 380 POKEC+4,214:POKEC+5,211
 390 RETURN
 400 REM---FOUR
 410 Z=P+2:FORX=ZTOZ+6*64STEP64:POKEX,52:NEXT
 420 Z=Z+62:POKEZ+1,52:POKEZ+64,52:Z=Z+127:POKEZ,52:Z=Z+64
 430 FORX=ZTOZ+4:POKEX,52:NEXT
 440 POKEB,70:POKEB+1,79:POKEB+2,85:POKEB+3,82
 450 POKEC-4,7:POKEC-3,8:POKEC-2,32:POKEC-1,7:POKEC,8:POKEC+1,32
 460 POKEC+2,7:POKEC+3,8:POKEC+4,32:POKEC+5,7:POKEC+6,8
 470 RETURN
 500 REM---FIVE
 510 FORX=PTOP+4:POKEX,53:NEXT:Z=P+128:POKEZ-64,53
 520 FORX=ZTOZ+3:POKEX,53:NEXT:Z=Z+68:FORX=ZTOZ+128STEP64:POKEX,53:NEXT
 530 Z=Z+191:FORX=ZTOZ-2STEP-1:POKEX,53:NEXT:POKEZ-67,53
 540 POKEB,70:POKEB+1,73:POKEB+2,86:POKEB+3,69
 550 FORX=C-4TOC+8:POKEX,32:NEXT:POKEC-4,0:POKEC-2,0:POKEC,0:POKEC+2,0
 560 POKEC+4,0:RETURN
 600 REM---SIX
 610 Z=P+2:FORX=ZTOZ+2:POKEX,54:NEXT:POKEZ+63,54:Z=Z+126
 620 FORX=ZTOZ+192STEP64:POKEX,54:NEXT:Z=Z+64
 630 FORX=ZTOZ+3:POKEX,54:NEXT
 640 Z=Z+68:POKEZ,54:POKEZ+64,54:Z=Z+127
 650 FORX=ZTOZ-2STEP-1:POKEX,54:NEXT
 660 POKEB+1,83:POKEB+2,73:POKEB+3,88
 670 FORX=C-4TOC+4:POKEX,32:NEXT
 680 POKEC-4,15:POKEC-2,15:POKEC,15:POKEC+2,15:POKEC+4,15
 690 POKEC+60,15:RETURN
 700 REM---SEVEN
 710 FORX=PTOP+4:POKEX,55:NEXT:POKEP+68,55:POKEP+131,55:POKEP+194,55
 720 FORX=P+1+4*64TOP+1+6*64STEP64:POKEX,55:NEXT
 730 POKEB,83:POKEB+1,69:POKEB+2,86:POKEB+3,69:POKEB+4,78
 740 POKEC-4,236:POKEC-2,236:POKEC,236:POKEC+2,236:POKEC+4,236
 750 POKEC+60,236:POKEC+62,236:RETURN
 800 REM---EIGHT
 810 Z=P+1:FORX=ZTOZ+2:FORX1=Z+192TOZ+194:FORX2=Z+384TOZ+386
 820 POKEX,56:POKEX1,56:POKEX2,56:NEXTX2:NEXTX1:NEXTX
 830 Z=P+64:POKEZ,56:POKEZ+4,56:POKEZ+64,56:POKEZ+68,56
 840 Z=P+256:POKEZ,56:POKEZ+4,56:POKEZ+64,56:POKEZ+68,56
 850 POKEB,69:POKEB+1,73:POKEB+2,71:POKEB+3,72:POKEB+4,84
 860 POKEC-4,248:POKEC-2,248:POKEC,248:POKEC+2,248:POKEC+4,248
 870 POKEC+60,248:POKEC+62,248:POKEC+64,248:RETURN
 900 REM---NINE
 910 Z=P+1:FORX=ZTOZ+2:POKEX,57:NEXT
 920 Z=Z+67:FORX=ZTOZ+196STEP64:POKEX,57:NEXT
 930 POKEP+64,57:POKEP+128,57:Z=P+193:FORX=ZTOZ+2:POKEX,57:NEXT
 940 Z=P+6*64:FORX=ZTOZ+2:POKEX,57:NEXT:POKEZ-61,57
 950 POKEB,78:POKEB+1,73:POKEB+2,78:POKEB+3,69
 960 POKEC-4,16:POKEC-2,17:POKEC,18:POKEC+2,19:POKEC+4,20
 970 POKEC+60,20:POKEC+62,19:POKEC+64,18:POKEC+66,17:RETURN
 1000 REM---TEN
 1005 Z=P-3:FORX=ZTOZ+6*65STEP64:POKEX,49:NEXT
 1010 POKEZ+63,49:POKEZ+6*64-1,49:POKEZ+6*64+1,49
 1020 Z=P+1:Z1=Z+6*64:FORX=ZTOZ+2:FORX1=Z1TOZ1+2:POKEX,48:POKEX1,48
 1030 NEXTX1:NEXTX
 1040 Z=P+64:Z1=P+68:FORX=ZTOZ+256STEP64:FORX1=Z1TOZ1+256STEP64
 1050 POKEX,48:POKEX1,48:NEXTX1:NEXTX
 1060 POKEB-1,84:POKEB,69:POKEB+1,78:V=240
 1080 POKEC-4,V:POKEC-2,V:POKEC,V:POKEC+2,V:POKEC+4,V
 1090 FORX=60TO68STEP2:POKEX+C,V:NEXT:RETURN
 1095 RETURN
 1150 FORX=C-4TOC+8:POKEX,32:NEXT:FORX=C+60TOC+68:POKEX,32:NEXT
 1170 FORX=1TO23:POKED+X,A(X):NEXT
 1180 FORX=1TO5000:NEXT:FORX=1TO28:POKED+X,32:NEXT:FORE=1TO25
 1190 FORX=1TO19:POKED+X,B(X):NEXTX:FORX=20TO24:POKED+X,32:NEXTX
 1200 R1=INT(25*RND(R))+1:R2=INT(9*RND(R))+1
 1300 FORX=ATOA+2*R2STEP2:POKEX,C(R1):NEXT
 1325 GOSUB2000:R3=R2+1
 1330 IFW=0THEN1325
 1375 IFW=R3THENCN=CN+1:GOSUB7000
 1400 IFW<>R3THENFORX=1TO1000:GOSUB7500
 1500 IFR3=1THENGOSUB100:GOSUB5000:GOSUB8000
 1510 IFR3=2THENGOSUB200:GOSUB5000:GOSUB8000
 1520 IFR3=3THENGOSUB300:GOSUB5000:GOSUB8000
 1530 IFR3=4THENGOSUB400:GOSUB5000:GOSUB8000
 1540 IFR3=5THENGOSUB500:GOSUB5000:GOSUB8000
 1550 IFR3=6THENGOSUB600:GOSUB5000:GOSUB8000
 1560 IFR3=7THENGOSUB700:GOSUB5000:GOSUB8000
 1570 IFR3=8THENGOSUB800:GOSUB5000:GOSUB8000
 1580 IFR3=9THENGOSUB900:GOSUB5000:GOSUB8000
 1590 IFR3=10THENGOSUB1000:GOSUB5000:GOSUB8000
 1595 FORX=D1TOD1+7:POKEX,32:NEXT
 1600 POKED+21,32:POKED+22,32:W=0:NEXTE
 1800 FORX=0TO24:POKEX+D,32:NEXT
 1850 PRINTN$;"YOU GOT"
 1900 PRINTCN;"RIGHT OUT OF 25"
 1950 PRINT"QUESTIONS!!":END
 2000 POKEKE,127:F=255-PEEK(KE)
 2117 IFF=0THEN2500
 2150 IFF=128THENPOKED+21,49:W=1:GOSUB3000:RETURN
 2200 POKED+21,FNZ(F):W=FNZ(F)-48:RETURN
 2500 POKEKE,191:F=255-PEEK(KE)
 2800 IFF=0THEN2000
 2850 IFF<64THEN2000
 2900 POKED+21,FNZ(F)+7:W=FNZ(F)-41:RETURN
 3000 FORX=1TO100
 3100 POKEKE,128:F=254-PEEK(KE)
 3200 IFF=32THENPOKED+22,48:W=10:RETURN
 3300 NEXT:RETURN
 4900 DATA0,1,14,15,16,17,18,19,20,21,22,23,169,170,176,177,229
 4950 DATA232,236,240,248,246,238,239,237
 4960 DATA73,84,39,83,32,89,79,85,82,32,84,85,82,78,32,84,79,32
 4970 DATA67,79,85,78,84
 4980 DATA72,79,87,32,77,65,78,89,32,65,82,69,32,84,72,69,82,69,63
 4990 DATA87,82,79,78,71,44,32,84,72,69,32,65,78,83,87,69,82,32
 4991 DATA73,83,32,32,32,46
 5000 FORX=1TO4000:NEXT:FORX=P-10TOP+480:POKEX,32:NEXT:RETURN
 6000 GOSUB100:GOSUB5000:GOSUB200:GOSUB5000:GOSUB300:GOSUB5000
 6100 GOSUB400:GOSUB5000:GOSUB500:GOSUB5000:GOSUB600:GOSUB5000
 6200 GOSUB700:GOSUB5000:GOSUB800:GOSUB5000:GOSUB900:GOSUB5000
 6300 GOSUB1000:GOSUB5000:RETURN
 7000 FORX=-2TO24:POKEA+X,32:NEXT
 7005 POKED1,82:POKED1+1,105:POKED1+2,103:POKED1+3,104:POKED1+4,116
 7010 FORX=5TO7:POKED1+X,33:NEXT
 7100 FORX=P-4+6*64TOP+7*64:POKEX,32:NEXT
 7200 RETURN
 7500 FORX=-2TO24:POKEA+X,32:NEXT
 7505 FORX=1TO24:POKED+X,D(X):NEXT
 7510 IFR3=10THENPOKED+22,49:POKED+23,48:GOTO7550
 7520 POKED+22,R3+48
 7550 FORX=P-4+6*64TOP+7*64:POKEX,32:NEXT
 7700 RETURN
 8000 FORX=-4TO8:POKEC+X,32:NEXT:FORX=60TO68:POKEC+X,32:NEXT
 8100 RETURN