8-Bit Software Online Conversion

Chain Letters Game - Listing

10REM >LoadRam 3.65 20REM Rom Image Loader Utility 30REM for Qrom plus check for 40REM Other Programs needed by 50REM Program and Installs Words 55IFPAGE<&1900:PAGE=&1900:CHAIN"LOADR AM" 60VDU6:B%=?&F4:ONERROR CLOSE#0:REPORT :PRINT" at line ";ERL:END 65ENVELOPE1,133,8,4,8,3,1,1,126,0,0,- 10,96,80:ENVELOPE 2,3,0,0,0,0,0,0,121,-1 0,-1,-2,96,96:ENVELOPE3,1,-5,-10,-50,255 ,246,100,0,0,-1,-3,120,120:ENVELOPE4,1,0 ,0,0,0,0,0,90,-1,-2,-3,97,97 70MODE7:PROCfindram:PROCtitle:REPEAT Q%=(GET AND &DF):UNTILQ%=78ORQ%=89:S$="T hank you - Sound ":IFQ%=78S$=S$+"Off" EL SE S$=S$+"On" 75VDU12:PROCprint(" "+S$):PROClevel:P ROCprint(" Please wait ... Loading Data" ) 80PROCinit:SOUND1,2,148,2:SOUND2,2,14 8,2:OSCLI"FX201,0" 85PROCass:IFL%=4 D%=2220 ELSEIFL%=3D% =440 ELSE D%=2650:REM Actual: 3=447, 4=2222, 5=2656 90VDU23,255,126,195,157,161,161,157,1 95,126:IFQ%=78OSCLI"FX210,1" 100OSCLI"FX21,0":OSCLI"FX18":A$="NEW|M *RLOAD "+STR$L%+"QROM "+STR$÷R%+" Q|M*LO AD MCODE 1400|M*FX225,0,0|MCH."+CHR$34+" MAIN"+CHR$34+"|M|F":OSCLI"KEY0 "+A$ 110VDU23,252,3,5,233,177,177,233,5,3,2 3,253;2,6,78,78,6,2;23,254,129,66,36,24, 24,36,66,129 180VDU21:*FX138,0,128 190END 200DEFPROClevel:PROCprint(" 1 or 2 par t game (1/2) ?"):REPEATL%=(GET OR16)-48: UNTILL%=1ORL%=2:IFL%=2V%=TRUE ELSE V%=FA LSE 205PROCprint(" Please pick level of wo rd play"):PROCprint(" 3, 4 or 5 letters per word (3/4/5) ?"):REPEATL%=(GET OR 1 6)-48:UNTILL%>2ANDL%<6 210PROCprint(" Level "+STR$L%+" letter s selected"):PROCprint(" Thank you"):END PROC 900END 3000DEFPROCfindram 3010FORI%=0TO2STEP2 3020P%=&900:[OPT I% 3030.S% 3040 LDA&F4:PHA:LDX#15:.loop 3050 TXA:STA&F4:STA&FE30 3060 LDA#&10:LDY#2:.lp1 STA&8000,Y:DEY: BNElp1 3070LDY#2:.lp2 LDA&8000,Y:CMP#&10:BEQen d:DEY:BNElp2:DEX:BNEloop:LDY#0:.lp3 LDAm ess,Y:BEQend:JSR&FFE3:INY:BNElp3:.end PL A:STA&F4:STA&FE30:RTS 3080.mess EQUB130:EQUS"RAM not found on this machine":EQUB13:EQUB130:EQUS"Pleas e Set RAM Switch and re-try":EQUB13:BRK 3110RTS:]:NEXT 3120!&70=USR(S%):Y%=?&72:R%=?&71:IFY%<> 2 END 3130ENDPROC 3140: 3200DEFPROCinit:*FX201,1 3220$&1100=STRING$(9," D. Shepherdson " ):$&11B0=STRING$(9," 10"):$&11A0=" " 3230*FX4,1 3240*FX9,25 3250*FX10,25 3260*FX11 3270*FX18 3280*FX20 3290*FX15 3300*FX119 3310*FX137,0 3320*FX200,3 3325*FX210,0 3327*FX226,128,0 3328*FX227,0,0 3329*FX228,0,0 3330*FX229,1 3340*FX247,0 3360ENDPROC 3370: 4000DEFPROCerror(t$):ONERROR OFF 4010?&F4=B%:?&FE30=B%:IFt$="" REPORT:PR INT" at line ";ERL:OSCLI"FX201,0":END 4020PRINTt$:OSCLI"FX201,0":END 4030REM "Legal" Error Handler 4040?&F4=B%:?&FE30=B%:REPORT:PRINT" at line ";ERL:*FX201,0 4050END 4060: 4090DEFPROCtitle:VDU12,23;8202;0;0;0;0; :PROCprint(" CHAIN LETTERS!!!"):VDU28,0, 24,39,2,31,0,0:T%=OPENIN("TEXT2"):IFT%=0 PRINT"Information file NOT found! Please check correct disk available":CLOSE#0:E ND 4095H%=1:S%=EXT#T%+&80:DIM word% S%,A$( 15):OSCLI"LOAD TEXT2 "+STR$÷word% 4100I%=word%:REPEAT :J%=1:REPEATA$="":R EPEAT a%=?I%:IFa%=ASC"["a%=136 ELSEIFa%= ASC"]"a%=137ELSEIFa%=ASC"¼"a%=130ELSEIFa %=ASC"¾"a%=131 4102IF INKEY(-1) CLS:PROCprint("do you wish sound during the game"):PROCprint(" please enter Y for yes or N for no"):END PROC 4105I%=I%+1:IFa%<>64A$=A$+CHR$a% 4110UNTILINSTR("@*"+CHR$13,CHR$a%):A$(J %)=A$:J%=J%+1:UNTILINSTR("@*",CHR$a%):J% =J%-2:IFH%>1 PROCprint("*") 4115H%=H%+1:FORK%=1TOJ%:PROCprint(A$(K% )):NEXT:UNTILa%=64:CLOSE#0:ENDPROC 4120 4130DEFPROCprint(a$):LOCAL I%,V%:V%=VPO S:IFa$="*"VDU31,0,VPOS+1,32:PROCprint(" press the space bar to continue "):OSC LI"FX21":SOUND2,-5,148,2:SOUND&11,-5,196 ,2:IFGET:CLS:ENDPROC 4140Y%=(38-LENa$)/2:FORI%=V%TOV%+1:VDU3 1,Y%,I%,141,131:PRINTa$:NEXT:ENDPROC 10000DEF PROCass:o=&FFEE:FORI%=0TO2STEP2 :P%=&900:[OPT I%:.F% LDA&F4:PHA:LDA#R%:S TA&F4:STA&FE30:LDX#L%-1:.lp:.E% LDA &FFF F,X:STA word,X:DEX:BPL lp:JMPend:.word:. W% EQUD0:EQUW&0D0D 10010.T% LDA&F4:PHA:LDA#R%:STA&F4:STA&FE 30:LDA#&B0:STAlp1+1:LDA#&82:STAlp1+2:.lp 0 LDX#L%-1:.lp1 LDA&82B0,X:BEQlast:CMPwo rd,X:BNEnext:DEX:BPLlp1:LDA#1:STA&80:JMP end:.next CLC:LDAlp1+1:ADC#L%:STAlp1+1 10020LDA lp1+2:ADC#0:STAlp1+2:JMP lp0:.l ast LDA#0:STA&80:.end PLA:STA&F4:STA&FE3 0:RTS 10030.U% STA&70:LDX#&70:LDY#0:LDA#10:JSR &FFF1:LDA#23:JSRo:LDA#250:JSRo:LDX#0:JSR set:LDA#23:JSRo:LDA#251:JSRo:JSRset:LDX# 3:.prlp LDA c,X:JSRo:DEX:BPLprlp:RTS 10040.set LDA&71,X:JSRo:JSRo:INX:TXA:AND #3:BNEset:RTS:.c EQUD&FA080AFB 10050]:NEXT:ENDPROC