8-Bit Software Online Conversion

RoboCop Game Graphics DEMO - Listing

10REM" ROBOCOP Demonstration 20REM" `````````````````````` 30REM 40REM" This Demonstration By 50REM" Duncan Lilly - DJL Software 60REM 70REM" Released Into The 80REM" Public Domain 12th November 90REM" 1990. 100: 110MODE 5 120VDU 23;8202;0;0;0;0; 130VDU 19,7,6,0,0,0,0 140*LOAD R.ROBOCOP 150PROCmessage 160IF G$="" THEN GOTO 150 170PROCsprite`assm 180CHAIN "R.EDANIM" 190: 200DEFPROCsprite`assm 210XORD=&70:YORD=&72 220WIDE=&74:HIGH=&75 230SDAT=&76:SDATOLD=&7A 240SCRN=&78:SCRNOLD=&7C 250ZSCRN=&7E 260WIDEOLD=&80:HIGHOLD=&81 270SMODE=1 280IF SMODE>3 SMODE1=2 ELSE SMODE1=1 290IFSMODE=0 SMODE2=3 ELSEIF SMODE=1 O R SMODE=4 SMODE2=2 ELSE SMODE2=1 300LINSTEP=&280/SMODE1 310FOR I%=0 TO 2 STEP 2 320P%=&900:[OPT I% 330.SPRITEMOVE 340JSR SPLOT 350.SPRITE 360LDA YORD 370LSR YORD+1 380ROR A 390LSR YORD+1 400ROR A 410EOR #255 420TAX 430LSR A 440LSR A 450AND #&FE 460TAY 470LDA TABLE+1,Y 480STA SCRN+1 490TXA 500AND #7 510CLC 520ADC TABLE,Y 530STA SCRN 540LDA XORD 550LDX #SMODE1 560.CONVERT1 570LSR XORD+1 580ROR A 590DEX 600BNE CONVERT1 610AND #&F8 620CLC 630ADC SCRN 640STA SCRN 650LDA SCRN+1 660ADC XORD+1 670STA SCRN+1 680LDA WIDE 690ADC #1 700LDX #SMODE2 710.CONVERT2 720LSR A 730DEX 740BNE CONVERT2 750STA WIDE 760JSR COPYOLD 770JSR SPLOT 780.COPYOLD 790LDA SCRN 800STA SCRNOLD 810LDA SCRN+1 820STA SCRNOLD+1 830LDA SDAT 840STA SDATOLD 850LDA SDAT+1 860STA SDATOLD+1 870LDA HIGH 880STA HIGHOLD 890LDA WIDE 900STA WIDEOLD 910RTS 920.SPLOT0 930INC SDATOLD+1 940BNE SPLOT3 950.SPLOT 960LDY SCRNOLD+1 970LDA SCRNOLD 980.SPLOT1 990STY ZSCRN+1 1000LDX HIGHOLD 1010LDY #0 1020STA ZSCRN 1030.SPLOT2 1040LDA (ZSCRN),Y 1050EOR (SDATOLD),Y 1060STA (ZSCRN),Y 1070INC SDATOLD 1080BEQ SPLOT0 1090.SPLOT3 1100INC ZSCRN 1110LDA ZSCRN 1120AND #7 1130BEQ SPLOT7 1140.SPLOT4 1150DEX 1160BNE SPLOT2 1170LDY SCRNOLD+1 1180LDA SCRNOLD 1190CLC 1200ADC #8 1210STA SCRNOLD 1220BCS SPLOT6 1230.SPLOT5 DEC WIDEOLD 1240BNE SPLOT1 1250RTS 1260.SPLOT6 INY 1270STY SCRNOLD+1 1280BNE SPLOT5 1290.SPLOT7 1300LDA ZSCRN 1310BEQ SPLOT9 1320.SPLOT8 1330CLC 1340ADC #(LINSTEP-8)MOD256 1350STA ZSCRN 1360LDA ZSCRN+1 1370ADC #(LINSTEP-8)DIV256 1380STA ZSCRN+1 1390ASL A 1400BCC SPLOT4 1410DEX 1420TXA 1430LDX #1 1440CLC 1450ADC SDATOLD 1460STA SDATOLD 1470BCC SPLOT4 1480INC SDATOLD+1 1490BNE SPLOT4 1500.SPLOT9 1510INC ZSCRN+1 1520BNE SPLOT8 1530.TABLE 1540]:P%=P%+64:[OPT I% 1550.ZEND:]:NEXT 1560FORI%=0TO31 1570TABLE!(2*I%)=&8000-(&5000-I%*&280)/ SMODE1 1580NEXT 1590ENDPROC 1600: 1610DEFPROCmessage 1620PROCinit:PROCassem 1630RESTORE 2250 1640LOCAL N%,L%,S%,C% 1650old$="":READ N% 1660FOR L%=1 TO N% 1670READ word$,S%,C% 1680COLOUR C% 1690PROCscroll("",word$,12,6,S%) 1700FOR P%=0 TO 3000:NEXT 1710PROCscroll(word$,"",12,6,S%) 1720G$=INKEY$(10):IF G$<>"" THEN ENDPRO C 1730NEXT 1740ENDPROC 1750DEF PROCscroll(a$,b$,X%,Y%,S%) 1760PRINTTAB(X%,Y%)a$ 1770IF LENb$<LENa$ b$=b$+STRING$(LENa$- LENb$," ") 1780IF LENa$<LENb$ a$=a$+STRING$(LENb$- LENa$," ") 1790FOR R%=1 TO LENa$ 1800?old=ASCMID$(a$,R%) 1810?new=ASCMID$(b$,R%) 1820IF X%-1+R%>19 X%=1-R%:Y%=Y%+1 1830?xpos=X%-1+R%:?ypos=Y%:?spd=S% 1840CALL scroll:NEXT:ENDPROC 1850DEF PROCinit 1860wrch=&FFEE:word=&FFF1 1870code=&A00:buf=&60 1880old=&80:new=&81:xpos=&82 1890ypos=&83:spd=&84:temp=&85 1900ENDPROC 1910DEF PROCassem 1920FOR L%=0 TO 2 STEP 2 1930P%=code:[OPT L%:.scroll 1940LDX #buf MOD 256:LDY #buf DIV 256 1950LDA old:STA buf:LDA #10:JSR word 1960LDX buf+8:STX temp 1970LDX new:STX buf+8 1980LDX #(buf+8)MOD 256 1990LDY #(buf+8)DIV 256 2000JSR word:LDA temp:STA buf+8 2010.start LDX #0 2020.lp LDA #31:JSR wrch 2030LDA xpos:JSR wrch 2040LDA ypos:JSR wrch 2050LDA #23:JSR wrch 2060LDA #255:JSR wrch 2070LDA buf+1,X:JSR wrch 2080LDA buf+2,X:JSR wrch 2090LDA buf+3,X:JSR wrch 2100LDA buf+4,X:JSR wrch 2110LDA buf+5,X:JSR wrch 2120LDA buf+6,X:JSR wrch 2130LDA buf+7,X:JSR wrch 2140LDA buf+8,X:JSR wrch 2150LDA #255:JSR wrch:INX 2160JSR delay:CPX #9:BNE lp:RTS 2170.delay 2180PHA:TXA:PHA:TYA:PHA:LDX spd 2190.lp2 LDY spd 2200.lp3 DEY:BNE lp3:DEX:BNE lp2 2210PLA:TAY:PLA:TAX:PLA:RTS 2220]:NEXT:ENDPROC 2230ENDPROC 2240REM" Scrolly Message Data 2250DATA 56 2260DATA ROBOCOP,150,3 2270DATA PART,100,1 2280DATA MAN.,100,1 2290DATA PART,100,1 2300DATA MACHINE.,100,1 2310DATA ALL,120,2 2320DATA COP.....,120,2 2330DATA This,100,3 2340DATA Demo,100,3 2350DATA By,100,3 2360DATA Duncan,120,1 2370DATA Lilly.,120,1 2380DATA "",50,0 2390DATA Hello,90,2 2400DATA to....,90,2 2410DATA "Dammon,",90,2 2420DATA "Daniel,",90,2 2430DATA "Thomas,",90,2 2440DATA all my,90,2 2450DATA family,90,2 2460DATA and,90,2 2470DATA everyone,90,2 2480DATA else who,90,2 2490DATA knows,90,2 2500DATA me!!!!!,90,2 2510DATA "",100,0 2520DATA It's,90,3 2530DATA really,90,3 2540DATA exciting,90,3 2550DATA to see,90,3 2560DATA the,90,3 2570DATA growth,90,3 2580DATA of,90,3 2590DATA 8-bit,90,1 2600DATA Public,90,1 2610DATA Domain,90,1 2620DATA Software,90,1 2630DATA and I,90,3 2640DATA hope it,90,3 2650DATA survives,90,3 2660DATA for as,90,3 2670DATA long as,90,3 2680DATA the BBC,90,3 2690DATA micro!!!,90,3 2700DATA "",100,0 2710DATA Thank,100,1 2720DATA You For,100,1 2730DATA Watching,100,1 2740DATA This,100,1 2750DATA Demo.,100,1 2760DATA "",100,0 2770DATA PRESS,90,3 2780DATA ANY KEY,90,3 2790DATA TO GO,90,3 2800DATA ON >>>>>,90,3 2810DATA "",100,0 2820DATA BYE!!!!!,160,2