8-Bit Software Online Conversion

:0.$.C2OR - Listing

10ONERRORPROCerror 20DIM lt 12:!lt=&04030201:lt!4=&08070 605:lt!8=&12111009 30*TV250 40MODE2:VDU23;8202;0;0;0;:?&FE00=6:?& FE01=20:wh%=&B0D:lev%=&AF6:sp%=&AF7:np%= &AFF:sc%=&AAF:up%=&AB2:ts%=&A00:gs%=&A56 :cs%=&A70:ad%=&AC6:mx%=&83:cls%=&B28:PRO Cabout`deluxe 50rx=&71CE:sx=&71CF:sy=&71D0:dead=&71 D1:how=&71D2:fin=&71D3:frame=&71D5:dir=& 71D4:baddata=&73E0:badset=&74C5:*LOAD BA LL 60PROCassemble 70ONERRORPROCerror 80PROCdemos 90?sc%=0:sc%?1=0:sc%?2=0:lv%=0:l%=4:P ROCcls:PROCstatus:PROCdraw 100?dead=0:?fin=0:?dir=3:?frame=0:A%=0 :X%=?sx:Y%=?sy:CALLgs%:A%=?dir+?frame:CA LLts%:REPEAT 110TIME=0:OSCLI"FX19":CALL&7100:REPEAT UNTILTIME>5 120UNTIL?dead=&FF OR ?fin=&FF:A%=0:X%= ?sx:Y%=?sy:CALLts%:IF?dead=&FF:PROCsound `fx 130IF?dead=&FF AND l%=0:GOTO1420 140IF?dead=&FF:l%=l%-1:A%=lv%:CALLprin tscreen:TIME=0:REPEATUNTILTIME>20:PROCst atus:CALLbadset:GOTO100 150IF?fin=&FF AND las%:PROCcompleted:P ROCcls:GOTO80 160l%=l%+1:FORB%=0TO24*(lv%+1):A%=20:C ALLad%:SOUND1,-15,255,0.1:TIME=0:REPEATU NTILTIME>1:NEXT:lv%=lv%+1:A%=60:CALLcls% :TIME=0:REPEATUNTILTIME>40:PROCcls:PROCs tatus:PROCdraw:GOTO100 170DEFPROCcls:A%=0:CALLcls%:ENDPROC 180DEFPROCstatus:IFl%<5:n%=l%:ELSE n%= 4 190Y%=18:A%=46:X%=0:CALLts%:A%=4:FORX% =4 TO (n%*5)+4 STEP 5:CALLts%:NEXT:A%=2: CALLts%:A%=45:X%=52:CALLts%:CALLup%:X%=3 4:A%=47:CALLts%:?lev%=lv%?lt:CALLsp%:END PROC 200DEFPROCdraw:IFlv%=11:las%=TRUE:A%=l v%:CALLprintscreen:ELSE las%=FALSE:A%=lv %:CALLprintscreen 210RESTORE(lv%*60)+710 220FORL%=0TO19:READv%:L%?baddata=v%:NE XT:CALLbadset:ENDPROC 230DEFPROCsound`fx 240IF ?how=0:FORB%=100TO120STEP2:SOUND 1,-15,B%,0.009:NEXT:FORB%=120TO100STEP-2 :SOUND1,-15,B%,0.009:NEXT 250IF ?how=1:FORB%=50TO60:FORC%=1TO3:S OUNDC%,-15,B%,0.002:NEXT:NEXT 260IF ?how=2:FORB%=100TO150STEP2:SOUND 1,-15,B%,0.009:NEXT 270IF ?how=3:SOUND0,-15,4,3:A%=8:X%=?s x:Y%=?sy:CALLts%:TIME=0:REPEAT UNTILTIME >70:A%=0:CALLts% 280ENDPROC 290DEFPROCassemble 300FOR opt%=0 TO 2 STEP 2 310P%=&759E 320[OPT opt% 330.printscreen 340TAX 350LDA screenlo,X 360STA &62 370LDA screenhi,X 380STA &63 390½ 400LDX#0 410LDY#0 420.printloop 430STX&60 440STY&61 450LDY#0 460LDA(&62),Y 470LDX&60 480LDY&61 490JSR ts% 500LDA&62 510CLC 520ADC#1 530BCC notcarry 540INC&63 550.notcarry 560STA&62 570LDX&60:LDY&61:INX:INX:INX:INX:CPX#8 0:BEQ moreinc 580JMP printloop 590.moreinc 600INY:INY:LDX#0:CPY#18:BNE printloop 610LDY#0:LDA(&62),Y:STAsx 620INY:LDA(&62),Y:STAsy:INY 630RTS 640.screenlo:]:P%=P%+12:[OPTopt%:.scre enhi:]:P%=P%+12:NEXT:FORl%=0TO11:l%?scre enlo=(&767B+(l%*203)) MOD 256:l%?screenh i=(&767B+(l%*203)) DIV 256:NEXT 650ENDPROC 660DEFPROCdemos 670A%=0:CALLcls%:A%=RND(12)-1:CALLprin tscreen:FORA%=52TO55:Y%=6:X%=(A%-52)*4+3 2:CALLts%:NEXT:FORA%=56TO59:Y%=8:X%=(A%- 56)*4+32:CALLts%:NEXT 680COLOUR5:A%=33:X%=36:Y%=13:CALLts%:A %=34:X%=40:CALLts%:PRINTTAB(5,11)"WRITTE N BY":*FX15 690A=INKEY(500):IFA=32:ENDPROC:ELSE GO TO670 700: 710DATA 0,0,0,0 720DATA 0,0,0,0 730DATA 0,0,0,0 740DATA 90,90,90,90 750DATA 0,0,0,0 760: 770DATA 2,0,0,0 780DATA 24,0,0,0 790DATA 60,0,0,0 800DATA 24,99,99,99 810DATA 0,0,0,0 820: 830DATA 1,2,0,0 840DATA 8,0,0,0 850DATA 56,56,0,0 860DATA 56,8,90,90 870DATA 8,4,0,0 880: 890DATA 0,0,0,0 900DATA 0,0,0,0 910DATA 0,0,0,0 920DATA 90,90,90,90 930DATA 0,0,0,0 940: 950DATA 2,2,0,0 960DATA 34,42,0,0 970DATA 42,52,0,0 980DATA 34,42,90,90 990DATA 10,4,0,0 1000: 1010DATA 2,1,0,0 1020DATA 0,44,0,0 1030DATA 16,60,0,0 1040DATA 12,50,90,90 1050DATA 14,4,0,0 1060: 1070DATA 2,2,0,0 1080DATA 24,28,0,0 1090DATA 32,48,0,0 1100DATA 24,28,90,90 1110DATA 12,4,0,0 1120: 1130DATA 1,1,1,0 1140DATA 20,28,28,0 1150DATA 56,48,48,0 1160DATA 40,32,36,90 1170DATA 5,2,8,0 1180: 1190DATA 1,1,0,0 1200DATA 20,2,0,0 1210DATA 44,10,0,0 1220DATA 30,10,90,90 1230DATA 0,6,0,0 1240: 1250DATA 2,2,2,0 1260DATA 64,10,10,0 1270DATA 76,66,54,0 1280DATA 70,20,20,90 1290DATA 12,6,2,0 1300: 1310DATA 1,1,1,0 1320DATA 6,28,20,76 1330DATA 24,40,52,62 1340DATA 40,40,52,90 1350DATA 14,12,0,4 1360: 1370DATA 1,1,1,0 1380DATA 2,66,42,0 1390DATA 14,76,54,0 1400DATA 6,70,50,90 1410DATA 12,2,4,0 1420: 1430REM gameover 1440: 1450A%=2:FORX%=0TO79STEP4:Y%=18:CALLts% :NEXT:FORA%=19TO22:X%=32+((A%-19)*4):Y%= 9:CALLts%:NEXT:*FX15 1 1460COLOUR6:TIME=0:REPEATUNTILTIME>100: PROCcls:PRINTTAB(5,8)"CONTINUE??"TAB(5,1 3)"Hit Shift!":FORA%=44TO35STEP-1:X%=39: Y%=10:CALLts%:TIME=0:REPEATUNTILTIME>20 1470IF INKEY(-1):A%=0 1480NEXT 1490IF A%<20:l%=4:PROCcls:PROCstatus:PR OCdraw:GOTO100 1500PROCcls:GOTO80 1510: 1520DEFPROCcompleted:*FX15 1 1530A%=3:CALLcls%:A%=12:CALLcls%:A%=48: CALLcls%:PROCcls 1540FORA%=52TO55:Y%=6:X%=(A%-52)*4+32:C ALLts%:NEXT:FORA%=56TO59:Y%=8:X%=(A%-56) *4+32:CALLts%:NEXT 1550PROCcycle("CONGRATULATIONS!",2,4) 1560PROCcycle("YOU'VE DONE",5,11) 1570PROCcycle("IT..",9,13) 1580PROCcls:PROCcycle("YOU JUST",6,4):P ROCcycle("SAVED THE WORLD!",2,6):PROCcyc ("THANK YOU!",5,13) 1590PROCcls:PROCcycle("CREDITS",0,0):PR OCcyc("program ANDY NIBBS",0,2):PROCcyc( "(alias SWIG)",8,4):PROCcyc("graphics ST EVE PICK",0,7):PROCcyc("(alias SIP)",8,9 ) 1600PROCcycle("MANY THANKS TO",0,11) 1610PROCcyc("paul nibbs,",2,13) 1620PROCcyc("wurble the gerbil",2,15) 1630PROCcyc("& Thank YOU!",2,17) 1640PROCcycle("YOU!",10,17) 1650PROCabout`deluxe:ENDPROC 1660DEFPROCcycle(A$,X%,Y%):FORB%=11TO9S TEP-1:COLOURB%:PRINTTAB(X%,Y%)A$:TIME=0: REPEATUNTILTIME>20:NEXT:ENDPROC 1670DEFPROCcyc(A$,X%,Y%):FORB%=9TO11:CO LOURB%:PRINTTAB(X%,Y%)A$:TIME=0:REPEATUN TILTIME>20:NEXT:ENDPROC 1680DEFPROCabout`deluxe 1690PROCcls:PROCcycle("MasterDisk Magaz ine",0,0):PROCcyc("for the Master only", 0,3):PROCcyc("available for £1.50",0,5): PROCcyc("(£2.00 Xmas issue)",0,7):PROCcy c("Games,reviews,utils",0,9):PROCcyc("ap plications+more",0,11) 1700TIME=0:REPEATUNTILTIME>100:PROCcls: PROCcycle("SEND A CHEQUE TO",0,0):PROCcy cle("ANDREW NIBBS AT",0,2):PROCcyc("Andy Nibbs",4,5):PROCcyc("2 Seaview",4,7):PR OCcyc("Hoylake",4,9):PROCcyc("L47 2DD",4 ,11):TIME=0:REPEATUNTILTIME>300 1710PROCcls:ENDPROC 1720: 1730DEFPROCerror 1740IFERR=17:ENDPROC 1750*TV 1760VDU22,7:REPORT:PRINT" at line ";ERL 1770END