8-Bit Software Online Conversion

Robert ROM Image - Listing

10REM Sideways Ram Menu 20REM (C) 1993 Jon Ripley 30REM This program is NOT PD 40REM You may alter this program for your own purposes 50REM The Copyright remains mine at a ll times 60DEFFNS="Robert" 70MODE 7 80DIM code% &1000 90FORX=1TO2:PRINTTAB(1,X)CHR$141;CHR$ (126+2*X)"SWRom Generator (C) Jon Ripley ":NEXT 100VDU28,0,24,39,4 110buffer=&700 120tempA=&90 130tempX=&91 140tempY=&92 150add=&93:REM -5 160temp=&96 170temp2=&98 180FORpass=4TO7STEP3 190P%=&8000:O%=code% 200[OPTpass 210JMP language 220JMP service 230EQUB &C2 240EQUB offset MOD 256 250EQUB 1 260.title 270EQUS "Robert+" 280BRK 290.version 300EQUS " 1.00" 310BRK 320.offset 330BRK 340EQUS "(C) Jon Ripley" 350BRK 360.service 370STA tempA 380STX tempX 390STY tempY 400CMP #9 410BEQ help 420CMP #3 430BEQ boot 440CMP #4 450BEQ notrecognised 460JMP restore 470.notrecognised 480JMP unrecognised 490.boot 500JMP bootROM 510.help 520LDA (&F2),Y 530CMP #13 540BNE check 550JSR justhelp 560LDX #255 570.details 580INX 590LDA command,X 600BEQ donecommand 610JSR &FFE3 620JMP details 630.donecommand 640JSR &FFE7 650JMP restore 660.check 670LDX #255 680DEY 690.again 700INX 710INY 720LDA (&F2),Y 730AND #&DF 740CMP com,X 750BEQ again 760LDA com,X 770CMP #&FE 780BEQ mine 790.restore 800LDA tempA 810LDX tempX 820LDY tempY 830.nothelp 840RTS 850.justhelp 860JSR &FFE7 870LDX #&FF 880JSR helploop 890JSR helploop 900JMP &FFE7 910.helploop 920INX 930LDA title,X 940BEQ done 950JSR &FFE3 960JMP helploop 970.done 980RTS 990.mine 1000JSR justhelp 1010JSR print 1020EQUB 14 1030EQUS " Back Reverse text" 1040EQUB 13 1050EQUS " Beep Beeps" 1060EQUB 13 1070EQUS " Double Double height tex t" 1080EQUB 13 1090BRK 1100JSR print 1110EQUS " Echo Print a text stri ng" 1120EQUB 13 1130EQUS " Home Home text cursor" 1140EQUB 13 1150BRK 1160JSR print 1170EQUS " Shell Command Shell" 1180EQUB 13 1190EQUS " Small Small text" 1200EQUB 13 1210EQUS " Type Type on all FSs" 1220EQUB 13 1230BRK 1240JSR print 1250EQUS " C+BREAK Load a game" 1260EQUB 13 1270EQUS " S+BREAK Command Shell" 1280EQUB 13 1290EQUB 15 1300BRK 1310RTS 1320.alldone 1330LDA tempA 1340LDX tempX 1350LDY tempY 1360LDA #0 1370RTS 1380.com 1390EQUS "ROBERT" 1400EQUB &FE 1410.command 1420EQUS " Robert" 1430BRK 1440.tsonbrk 1450LDX #&FF 1460.tslp 1470INX 1480LDA title,X 1490JSR &FFE3 1500BNE tslp 1510JSR &FFE7 1520JSR &FFE7 1530JMP alldone 1540.startlang 1550.cSHELL 1560LDA #&8E 1570LDX &F4 1580JSR &FFF4 1590½ No return!!! 1600.bootROM 1610JSR printhead ½ tsonbrk 1620 LDA #13 1630 JSR &FFE3 1640LDA #202 1650LDX #168 1660LDY #0 1670JSR &FFF4 1680LDA #&7A 1690JSR &FFF4 1700STX temp 1710LDA #21 1720LDX #0 1730JSR &FFF4 1740LDX temp 1750CPX #&52 1760BEQ bootchain 1770CPX #&51 1780BEQ startlang 1790JMP restore 1800.bootchain 1810LDA #11 1820JSR &FFEE 1830LDA #21 1840JSR &FFEE 1850LDA #140 1860JSR &FFF4 1870LDA #&8A 1880LDX #0 1890LDY #42 1900JSR &FFF4 1910LDY #ASC"B" 1920JSR &FFF4 1930LDY #ASC"A" 1940JSR &FFF4 1950LDY #ASC"." 1960JSR &FFF4 1970LDY #13 1980JSR &FFF4 1990LDA #&8A 2000LDX #0 2010LDY #ASC"C" 2020JSR &FFF4 2030LDY #ASC"H" 2040JSR &FFF4 2050LDY #ASC"." 2060JSR &FFF4 2070LDY #34 2080JSR &FFF4 2090LDY #34 2100JSR &FFF4 2110LDY #6 2120JSR &FFF4 2130LDY #13 2140JSR &FFF4 2150JMP alldone 2160.printhead 2170LDA #64 2180JSR vdu2 2190EQUB 22 2200EQUB 7 2210EQUB 31 2220EQUB 4 2230EQUB 1 2240EQUB 154 2250EQUB 145 2260EQUB 255 2270EQUB 175 2280EQUB 252 2290EQUB 32 2300EQUB 255 2310EQUB 175 2320EQUB 255 2330EQUB 32 2340EQUB 255 2350EQUB 175 2360EQUB 252 2370EQUB 32 2380EQUB 255 2390EQUB 175 2400EQUB 175 2410EQUB 32 2420EQUB 255 2430EQUB 175 2440EQUB 252 2450EQUB 32 2460EQUB 175 2470EQUB 255 2480EQUB 175 2490EQUB 32 2500EQUB 239 2510EQUB 32 2520EQUB 255 2530EQUB 175 2540EQUB 175 2550EQUB 153 2560EQUB 31 2570EQUB 4 2580EQUB 2 2590EQUB 154 2600EQUB 146 2610EQUB 255 2620EQUB 252 2630EQUB 163 2640EQUB 32 2650EQUB 255 2660EQUB 32 2670EQUB 255 2680EQUB 32 2690EQUB 255 2700EQUB 252 2710EQUB 243 2720EQUB 32 2730EQUB 255 2740EQUB 172 2750EQUB 144 2760EQUB 32 2770EQUB 255 2780EQUB 252 2790EQUB 163 2800EQUB 32 2810EQUB 32 2820EQUB 255 2830EQUB 32 2840EQUB 32 2850EQUB 163 2860EQUB 32 2870EQUB 255 2880EQUB 252 2890EQUB 252 2900EQUB 153 2910EQUB 31 2920EQUB 4 2930EQUB 3 2940EQUB 154 2950EQUB 147 2960EQUB 255 2970EQUB 32 2980EQUB 255 2990EQUB 32 3000EQUB 255 3010EQUB 252 3020EQUB 255 3030EQUB 32 3040EQUB 255 3050EQUB 252 3060EQUB 175 3070EQUB 32 3080EQUB 255 3090EQUB 252 3100EQUB 252 3110EQUB 32 3120EQUB 255 3130EQUB 32 3140EQUB 255 3150EQUB 32 3160EQUB 32 3170EQUB 255 3180EQUB 32 3190EQUB 32 3200EQUB 32 3210EQUB 32 3220EQUB 252 3230EQUB 252 3240EQUB 255 3250EQUB 153 3260EQUB 31 3270EQUB 3 3280EQUB 5 3290EQUB 154 3300EQUB 148 3310EQUB 255 3320EQUB 175 3330EQUB 175 3340EQUB 32 3350EQUB 255 3360EQUB 175 3370EQUB 255 3380EQUB 32 3390EQUB 255 3400EQUB 240 3410EQUB 255 3420EQUB 32 3430EQUB 255 3440EQUB 175 3450EQUB 255 3460EQUB 32 3470EQUB 255 3480EQUB 32 3490EQUB 255 3500EQUB 32 3510EQUB 175 3520EQUB 255 3530EQUB 175 3540EQUB 32 3550EQUB 255 3560EQUB 175 3570EQUB 175 3580EQUB 32 3590EQUB 255 3600EQUB 175 3610EQUB 252 3620EQUB 153 3630EQUB 31 3640EQUB 3 3650EQUB 6 3660EQUB 154 3670EQUB 149 3680EQUB 255 3690EQUB 32 3700EQUB 32 3710EQUB 32 3720EQUB 255 3730EQUB 32 3740EQUB 255 3750EQUB 32 3760EQUB 181 3770EQUB 255 3780EQUB 234 3790EQUB 32 3800EQUB 255 3810EQUB 252 3820EQUB 255 3830EQUB 32 3840EQUB 255 3850EQUB 32 3860EQUB 255 3870EQUB 32 3880EQUB 32 3890EQUB 255 3900EQUB 32 3910EQUB 32 3920EQUB 255 3930EQUB 172 3940EQUB 164 3950EQUB 32 3960EQUB 255 3970EQUB 252 3980EQUB 163 3990EQUB 153 4000EQUB 31 4010EQUB 3 4020EQUB 7 4030EQUB 154 4040EQUB 150 4050EQUB 255 4060EQUB 252 4070EQUB 252 4080EQUB 32 4090EQUB 255 4100EQUB 252 4110EQUB 255 4120EQUB 32 4130EQUB 181 4140EQUB 32 4150EQUB 234 4160EQUB 32 4170EQUB 255 4180EQUB 32 4190EQUB 32 4200EQUB 32 4210EQUB 255 4220EQUB 252 4230EQUB 255 4240EQUB 32 4250EQUB 32 4260EQUB 255 4270EQUB 32 4280EQUB 32 4290EQUB 255 4300EQUB 252 4310EQUB 252 4320EQUB 32 4330EQUB 255 4340EQUB 32 4350EQUB 255 4360EQUB 153 4370EQUB 64 4380RTS 4390.window 4400LDA #64 4410JSR print2 4420EQUB 28 4430EQUB 0 4440EQUB 24 4450EQUB 39 4460EQUB 9 4470EQUB 64 4480RTS 4490.mmain 4500JSR vdu 4510EQUB 12 4520EQUB 31 4530EQUB 5 4540EQUB 1 4550EQUB 131 4560EQUB 11 4570EQUB 8 4580EQUB 130 4590BRK 4600JSR printdbl 4610EQUS "Do you want to either..." 4620BRK 4630JSR vdu 4640EQUB 31 4650EQUB 6 4660EQUB 4 4670EQUB 133 4680EQUB 11 4690EQUB 8 4700EQUB 129 4710BRK 4720JSR printdbl 4730EQUS "1) Load a game," 4740BRK 4750JSR vdu 4760EQUB 31 4770EQUB 6 4780EQUB 7 4790EQUB 134 4800EQUB 11 4810EQUB 8 4820EQUB 132 4830BRK 4840JSR printdbl 4850EQUS "2) Use BASIC or," 4860BRK 4870JSR vdu 4880EQUB 31 4890EQUB 6 4900EQUB 10 4910EQUB 131 4920EQUB 11 4930EQUB 8 4940EQUB 132 4950BRK 4960JSR printdbl 4970EQUS "3) Use * commands." 4980BRK 4990JSR vdu 5000EQUB 31 5010EQUB 6 5020EQUB 13 5030EQUB 130 5040EQUB 11 5050EQUB 8 5060EQUB 129 5070BRK 5080JSR printdbl 5090EQUS "Press (1-3) and RETURN:" 5100BRK 5110RTS 5120.language 5130LDA #error DIV 256 5140STA &203 5150LDA #error MOD 256 5160STA &202 5170.langstackset 5180LDX #255 5190TXS 5200CLI 5210JSR fx2001 5220JSR printhead 5230JSR window 5240JSR mmain 5250LDA #255 5260.mmloop 5270STA tempA 5280JSR &FFE0 5290TAX 5300LDA #31 5310JSR &FFEE 5320LDA #31 5330JSR &FFEE 5340LDA #12 5350JSR &FFEE 5360TXA 5370JSR &FFEE 5380LDA #8 5390JSR &FFEE 5400LDA #10 5410JSR &FFEE 5420TXA 5430JSR &FFEE 5440CMP #42 5450BEQ cli 5460CMP #13 5470BNE mmloop 5480LDA tempA 5490CMP #49 5500BEQ loadgame 5510CMP #50 5520BEQ doBASIC 5530CMP #51 5540BEQ cli 5550CMP #42 5560BEQ cli 5570JMP mmloop 5580.doBASIC 5590LDA #12 5600JSR &FFEE 5610LDA #187 5620JSR &FFF4 5630LDA #142 5640JMP &FFF4 5650.loadgame 5660LDA #12 5670JSR &FFEE 5680JSR fx2000 5690JMP bootchain ½JSR 5700JMP doBASIC 5710.fx2001 5720LDA #200 5730LDX #1 5740JMP &FFF4 5750.fx2000 5760LDA #200 5770LDX #0 5780JMP &FFF4 5790.cli 5800LDA #12 5810JSR &FFEE 5820JSR fx2000 5830.stackset 5840LDX #255 5850TXS 5860CLI 5870.shellloop 5880LDA #42 5890STA buffer 5900JSR &FFEE 5910LDX #shellblk MOD 256 5920LDY #shellblk DIV 256 5930LDA #0 5940JSR &FFF1 5950BCS escape 5960LDX #buffer MOD 256 5970LDY #buffer DIV 256 5980JSR &FFF7 5990JMP shellloop 6000.shellblk 6010EQUW buffer+1 6020EQUB 255 6030EQUB 32 6040EQUB 127 6050.escape 6060LDA #126 6070JSR &FFF4 6080BRK 6090EQUB 27 6100EQUS "Escape" 6110BRK 6120.error 6130LDY #1 6140JSR &FFE7 6150.errloop 6160LDA (&FD),Y 6170BEQ enderr 6180JSR &FFEE 6190INY 6200BNE errloop 6210.enderr 6220JSR &FFE7 6230JMP stackset 6240.unrecognised 6250LDX #0 6260.wordlp 6270LDY #0 6280.wdilp 6290INY 6300LDA (&F2),Y 6310CMP #42 6320BEQ wdilp 6330LDA comtab,X 6340BEQ notfound 6350.bytelp 6360LDA (&F2),Y 6370AND #223 6380CMP comtab,X 6390BNE nextword 6400LDA comtab+1,X 6410CMP #13 6420BEQ found 6430INX 6440INY 6450JMP bytelp 6460.nextword 6470INX 6480LDA comtab,X 6490BNE nextword 6500INX 6510JMP wordlp 6520.notfound 6530JMP restore 6540.found 6550INX 6560LDA #&4C 6570STA add 6580LDA comtab+1,X 6590STA add+1 6600STA &80 6610LDA comtab+2,X 6620STA add+2 6630STA &81 6640INY 6650.found2 6660LDA (&F2),Y 6670CMP #13 6680BEQ ok 6690CMP #32 6700BNE ok 6710INY 6720JMP found2 6730.ok 6740LDA comtab+3,X 6750CMP #1 6760BNE found3 6770LDA (&F2),Y 6780CMP #13 6790BEQ found3 6800JMP notfound 6810.found3 6820JSR add 6830JMP alldone 6840.comtab 6850OPT FNcom("BEEP",1) 6860OPT FNcom("SHELL",1) 6870OPT FNcom("HOME",1) 6880OPT FNcom("ECHO",3) 6890OPT FNcom("BACK",3) 6900OPT FNcom("DOUBLE",3) 6910OPT FNcom("TYPE",3) 6920OPT FNcom("SMALL",3) 6930OPT pass 6940BRK 6950.cBEEP 6960LDA #7 6970JMP &FFEE 6980.cHOME 6990LDA #30 7000JMP &FFEE 7010.cECHO 7020.cEClp 7030LDA (&F2),Y 7040CMP #13 7050BEQ cECend 7060CMP #124 7070BEQ cECcc 7080JSR &FFEE 7090INY 7100JMP cEClp 7110.cECend 7120JMP &FFE7 7130.cECcc 7140INY 7150LDA (&F2),Y 7160CMP #124 7170BEQ cECecc 7180SEC 7190SBC #64 7200.cECecc 7210INY 7220CMP #13 7230BEQ cEClf 7240JSR &FFEE 7250JMP cEClp 7260.cEClf 7270JSR &FFE7 7280JMP cEClp 7290.cBACK 7300STY temp 7310.cBKlp 7320LDA (&F2),Y 7330CMP #13 7340BEQ cBKprt 7350INY 7360JMP cBKlp 7370.cBKprt 7380LDA (&F2),Y 7390JSR &FFEE 7400DEY 7410CPY temp 7420BPL cBKprt 7430JMP &FFE7 7440.cDOUBLE 7450LDA &355 7460CMP #7 7470BEQ ttext 7480DEY 7490.cDBLlp 7500INY 7510LDA (&F2),Y 7520STY &100 7530CMP #13 7540BEQ d2 7550STA &101 7560LDA #10 7570LDX #257 MOD256 7580LDY #257 DIV256 7590JSR &FFF1 7600LDA #23 7610JSR &FFEE 7620LDA #255 7630JSR &FFEE 7640LDX #0 7650.d1 7660LDA &102,X 7670JSR &FFEE 7680JSR &FFEE 7690INX 7700CPX #4 7710BNE d1 7720LDA #255 7730JSR &FFEE 7740LDA #8 7750JSR &FFEE 7760LDA #10 7770JSR &FFEE 7780LDA #23 7790JSR &FFEE 7800LDA #255 7810JSR &FFEE 7820.d1 7830LDA &102,X 7840JSR &FFEE 7850JSR &FFEE 7860INX 7870CPX #8 7880BNE d1 7890LDA #255 7900JSR &FFEE 7910LDA #11 7920JSR &FFEE 7930LDY &100 7940JMP cDBLlp 7950.d2 7960JSR &FFE7 7970JMP &FFE7 7980.ttext 7990LDA #141 8000JSR &FFEE 8010LDA #8 8020JSR &FFEE 8030LDA #10 8040JSR &FFEE 8050LDA #141 8060JSR &FFEE 8070.cDBLlp 8080LDA (&F2),Y 8090CMP #13 8100BEQ d2+3 8110JSR &FFEE 8120LDA #11 8130JSR &FFEE 8140LDA #8 8150JSR &FFEE 8160LDA (&F2),Y 8170JSR &FFEE 8180LDA #10 8190JSR &FFEE 8200INY 8210JMP cDBLlp 8220.cTYPE 8230LDA (&F2),Y 8240CMP #13 8250BNE cTYgetfle 8260LDA #13 8270STA &100 8280.cTYopen 8290LDX #256 MOD 256 8300LDY #256 DIV 256 8310LDA #&40 8320JSR &FFCE 8330STY &100 8340CLC 8350.cTYlp 8360JSR &FFD7 8370BCS cTYcl 8380CMP #32 8390BMI cTYcc 8400CMP #127 8410BEQ cTYcc 8420.cTYprt 8430JSR &FFEE 8440JMP cTYlp 8450.cTYcc 8460LDA #46 8470JMP cTYprt 8480.cTYcl 8490LDA #0 8500LDY &100 8510JMP &FFCE 8520.cTYgetfle 8530LDX #0 8540.gcTYlp 8550LDA (&F2),Y 8560STA &100,X 8570CMP #13 8580BEQ cTYopen 8590CMP #32 8600BEQ cTYeon 8610INX 8620INY 8630JMP gcTYlp 8640.cTYeon 8650LDA #13 8660STA &100,X 8670JMP cTYopen 8680.cSMALL 8690DEY 8700STY &100 8710.cSMlp 8720LDY &100 8730INY 8740STY &100 8750LDA (&F2),Y 8760CMP #13 8770BEQ cSMend 8780STA &101 8790LDA #10 8800LDX #257 MOD256 8810LDY #257 DIV256 8820JSR &FFF1 8830LDA #23 8840JSR &FFEE 8850LDA #255 8860JSR &FFEE 8870LDA #0 8880JSR &FFEE 8890LDX #1 8900JSR cSMvdu 8910INX 8920INX 8930JSR cSMvdu 8940INX 8950JSR cSMvdu 8960INX 8970JSR cSMvdu 8980INX 8990INX 9000JSR cSMvdu 9010LDA #0 9020JSR &FFEE 9030JSR &FFEE 9040LDA #255 9050JSR &FFEE 9060JMP cSMlp 9070.cSMvdu 9080LDA &101,X 9090JMP &FFEE 9100.cSMend 9110JMP &FFE7 9120.printdbl 9130PLA 9140STA temp 9150PLA 9160STA temp+1 9170LDA #141 9180JSR &FFEE 9190LDA #10 9200JSR &FFEE 9210LDA #8 9220JSR &FFEE 9230LDA #141 9240JSR &FFEE 9250LDY #0 9260BEQ pd2 9270.pd 9280LDA (temp),Y 9290BEQ pd1 9300TAX 9310JSR &FFEE 9320LDA #11 9330JSR &FFEE 9340LDA #8 9350JSR &FFEE 9360TXA 9370JSR &FFEE 9380LDA #10 9390JSR &FFEE 9400.pd2 9410INC temp 9420BNE pd 9430INC temp+1 9440BNE pd 9450.pd1 9460LDA temp+1 9470PHA 9480LDA temp 9490PHA 9500RTS 9510.print 9520LDA #0 9530.print2 9540STA temp2 9550PLA 9560STA temp 9570PLA 9580STA temp+1 9590LDY #0 9600BEQ p2 9610.p 9620LDA (temp),Y 9630CMP temp2 9640BEQ p1 9650JSR &FFE3 9660.p2 9670INC temp 9680BNE p 9690INC temp+1 9700BNE p 9710.p1 9720LDA temp+1 9730PHA 9740LDA temp 9750PHA 9760RTS 9770.vdu 9780LDA #0 9790.vdu2 9800STA temp2 9810PLA 9820STA temp 9830PLA 9840STA temp+1 9850LDY #0 9860BEQ v2 9870.v 9880LDA (temp),Y 9890CMP temp2 9900BEQ v1 9910JSR &FFEE 9920.v2 9930INC temp 9940BNE v 9950INC temp+1 9960BNE v 9970.v1 9980LDA temp+1 9990PHA 10000LDA temp 10010PHA 10020RTS 10030.prthex 10040PHA 10050LSR A 10060LSR A 10070LSR A 10080LSR A 10090JSR prthex2 10100PLA 10110.prthex2 10120AND #15 10130SED 10140CLC 10150ADC #&90 10160ADC #&40 10170CLD 10180JMP &FFEE 10190] 10200NEXT 10210CLS 10220PRINT"(S)ave or (I)nstall:"; 10230REPEATA$=GET$:UNTILINSTR("SsIi",A$) 10240PRINTA$ 10250IF INSTR("Ss",A$) INPUT'"Filename:" A$:OSCLI"Save "+A$+" "+STR$÷code%+" "+ST R$÷O% ELSE INPUT"Which Rom (0-15/W-Z):"i d$:OSCLI "SRWRITE "+STR$÷code%+" "+STR$÷ O%+" 8000 "+id$:PRINT"Press CTRL-Break t o install.":END 10260END 10270DEFFNcom(c$,F%) 10280[OPT pass 10290EQUS c$ 10300EQUB 13 10310EQUW EVAL("c"+c$) 10320EQUB F% 10330BRK 10340]:=0