| www.retrosoftware.co.uk http://www.retrosoftware.co.uk/forum/ |
|
| Here is the beginning of a centipede game from the 80s http://www.retrosoftware.co.uk/forum/viewtopic.php?f=73&t=605 |
Page 1 of 1 |
| Author: | tricky [ Fri Apr 01, 2011 7:42 pm ] |
| Post subject: | Here is the beginning of a centipede game from the 80s |
Be inspired, or ignore it, just some more code from way back when. Keys are Z,X and SHIFT to fire. You will need PAGE=&1100 or there abouts. 10N%=18:*K.10O.|MREN.|ML.|M 20OSBYTE=&FFF4 30DIM PROGRAM 2000,CplT 20,Ch N%,CphT 20,ClT 20,CdT 400,Csn 0,timer 0,CSN 0 40DIM Xd N%,Yd N%,Xp N%,Yp N%,Yx 0,Yy 0,ay 0,ax 0 50?CSN=N%:?Yx=39:?Yy=248:?ay=?Yy 60REM Data for head right. 70CplT?01=(CdT+000)MOD256 80CphT?01=(CdT+000)DIV256 90ClT?01=24 100CdT!01=&30100030 110CdT!05=&30001030 120CdT!09=&10707030 130CdT!13=&10707030 140CdT!17=&10B0B010 150CdT!21=&10B0B010 160REM Data for mushroom. 170CplT?02=(CdT+024)MOD256 180CphT?02=(CdT+024)DIV256 190ClT?02=24 200CdT!25=&02030100 210CdT!29=&00000000 220CdT!33=&00030303 230CdT!37=&03030303 240CdT!41=&01030200 250CdT!45=&00000000 260REM Data for ship. 270CplT?03=(CdT+048)MOD256 280CphT?03=(CdT+048)DIV256 290ClT?03=24 300CdT!49=&04040000 310CdT!53=&00040C0C 320CdT!57=&0C0C0C0C 330CdT!61=&0C0C0C0C 340CdT!65=&08080000 350CdT!69=&00080C0C 360REM Data for head left. 370CplT?04=(CdT+072)MOD256 380CphT?04=(CdT+072)DIV256 390ClT?04=24 400CdT!73=&20707020 410CdT!77=&20707020 420CdT!81=&20B0B030 430CdT!85=&20B0B030 440CdT!89=&30200030 450CdT!93=&30002030 460REM Data for body right. 470CplT?05=(CdT+096)MOD256 480CphT?05=(CdT+096)DIV256 490ClT?05=24 500CdT!097=&30100010 510CdT!101=&10001030 520CdT!105=&F0302000 530CdT!109=&002030F0 540CdT!113=&B0302020 550CdT!117=&202030B0 560REM Data for shot. 570CplT?06=(CdT+120)MOD256 580CphT?06=(CdT+120)DIV256 590ClT?06=8 600CdT!121=&0F0F0F0F 610CdT!125=&0F0F0F0F 620REM Data for body left. 630CplT?08=(CdT+176)MOD256 640CphT?08=(CdT+176)DIV256 650ClT?08=24 660CdT!177=&70301010 670CdT!181=&10103070 680CdT!185=&F0301000 690CdT!189=&001030F0 700CdT!193=&30200020 710CdT!197=&20002030 720FOR Pass=0TO2STEP2 730P%=PROGRAM 740[OPT Pass:.XYtoMEM 750LDA #0:STA &72:TXA:ASL A 760ROL &72:ASL A:ROL &72:ASL A 770ROL &72:CLC:ADC #TLscrn MOD 256 780STA &70:LDA #TLscrn DIV 256 790ADC &72:STA &71:TYA:AND #7:CLC 800ADC &70:STA &70:LDA &71:ADC #0 810STA &71:LDA #0:STA &72:TYA 820AND #248:ASL A:ROL &72:ASL A 830ROL &72:ASL A:ROL &72:ASL A 840ROL &72:TAY:CLC:ADC &70:STA &70 850LDA &72:ADC &71:STA &71:TYA:ASL A 860ROL &72:ASL A:ROL &72:CLC:ADC &70 870STA &70:LDA &72:ADC &71:STA &71 880RTS:.PRNTchr:LDA CplT,X 890STA &72:LDA CphT,X 900STA &73:LDY ClT,X 910.prntLOOP:LDA (&72),Y:EOR (&70),Y 920STA (&70),Y:DEY:BNE prntLOOP:RTS 930.CHECKchr:LDA CplT,X 940STA &72:LDA CphT,X 950STA &73:LDY ClT,X 960TAY:.checkLOOP:LDA (&72),Y 970CMP (&70),Y:BEQ checkOUT:DEY 980BNE checkLOOP:.checkOUT:RTS 990.MOVyou:LDX Yx:LDY Yy:JSR XYtoMEM 1000LDA #129:LDX #189:LDY #255 1010JSR OSBYTE:TYA:CMP #0:BNE Ml1 1020LDA Yx:CMP #0:BEQ Ml1:DEC Yx:.Ml1 1030LDA #129:LDX #158:LDY #255 1040JSR OSBYTE:TYA:CMP #0:BNE Ml2 1050LDA Yx:CMP #77:BEQ Ml2 1060INC Yx:.Ml2:LDX #3:JSR PRNTchr 1070LDX Yx:LDY Yy:JSR XYtoMEM 1080LDX #3:JSR PRNTchr:RTS 1090.CENTmove:LDX CSN:STX Csn:.Cml 1100LDX Csn:LDA Ch,X:STA Ch 1110LDA Yp,X:CMP #192:BNE Cl01:LDA #8 1120STA Yd,X:.Cl01:LDA Yp,X 1130CMP #248:BNE Cl02:LDA #248 1140STA Yd,X:.Cl02:LDY Yp,X:LDA Xp,X 1150TAX:JSR XYtoMEM:LDX Csn 1160LDA Xd,X:CMP #1:BNE Cl03:LDY #32 1170LDA (&70),Y:AND #3 1180CMP #0:BEQ Cl03:LDA #255 1190STA Xd,X:LDA Yp,X:CLC:ADC Yd,X 1200STA Yp,X:LDA Ch,X:CLC:ADC #3 1210STA Ch,X:.Cl03 1220LDA Xd,X:CMP #255:BNE Cl04 1230LDY #0:LDA (&70),Y:AND #3:CMP #0 1240BEQ Cl04:LDA #1:STA Xd,X 1250LDA Yp,X:CLC:ADC Yd,X:STA Yp,X 1260LDA Ch,X:CLC:ADC #253:STA Ch,X 1270.Cl04:LDA Xp,X:CLC:ADC Xd,X 1280STA Xp,X:LDX Ch:JSR PRNTchr 1290LDX Csn:LDY Yp,X:LDA Xp,X:TAX 1300JSR XYtoMEM:LDY Csn:LDX Ch,Y 1310JSR PRNTchr:DEC Csn:BEQ Cl05 1320JMP Cml:.Cl05:JSR MOVyou:RTS 1330.SHOOT:LDA ay:CMP Yy:BNE SHcnt 1340LDA #129:LDX #255:LDY #255 1350JSR OSBYTE:TYA:CMP #0:BNE SH:RTS 1360.SH:LDX Yx:INX:STX ax:LDA Yy:CLC 1370ADC #248:STA ay:TAY:JSR XYtoMEM 1380LDX #6:JSR PRNTchr:RTS:.SHcnt 1390LDX ax:LDY ay:JSR XYtoMEM:LDA ay 1400CMP #16:BNE cnt:LDX #6:JSR PRNTchr 1410LDA Yy:STA ay:RTS:.cnt:CLC:LDX #6 1420ADC #248:STA ay:JSR PRNTchr:LDX ax 1430LDY ay:JSR XYtoMEM:LDX #6 1440JSR PRNTchr:RTS:.WAIT:LDA &251 1450CMP timer:BEQ WAIT:STA timer:RTS 1460.ANIMALS:LDX #255:.L:DEX:BNE L:RTS 1470.GAME:JSR WAIT:JSR MOVyou 1480JSR CENTmove:JSR SHOOT:JSR WAIT 1490JSR MOVyou:JSR ANIMALS:JSR SHOOT 1500JSR SHOOT:JSR MOVyou:JSR SHOOT 1510JMP GAME:]:MODE2:TLscrn=HIMEM-1 1520NEXT Pass:PRINTP%-PROGRAM 1530DATA4,6,3,1,2,6,6,7,7,4,10,11,3,6,14,7 1540FORA=0TO15:READ B:VDU19,A,B;0;0;0:NEXT 1550FORA=1TO50:X%=RND(24)*3+1:Y%=RND(27)*8+16:CALL XYtoMEM:X%=2:CALL PRNTchr:NEXT 1560FORA=16TO248:X%=0:Y%=A:CALL XYtoMEM:?(?&70+256*?&71+1)=195:X%=79:CALL XYtoMEM:?(?&70+256*?&71+1)=195:NEXT 1570X%=?Yx:Y%=?Yy:CALL XYtoMEM 1580X%=3:CALL PRNTchr:FORA=1TON% 1590Xd?A=1:Yd?A=8:Xp?A=2+N%*3-A*3:Yp?A=16:Ch?A=5:Ch?1=1 1600X%=Xp?A:Y%=Yp?A:CALL XYtoMEM:X%=Ch?A:CALL PRNTchr 1610NEXT 1620CALL GAME |
|
| Author: | DaveM [ Thu Jun 09, 2011 5:50 am ] | ||
| Post subject: | Re: Here is the beginning of a centipede game from the 80s | ||
Thanks for sharing this, Ric. I finally got round to EXECing the listing onto a disc image and giving it a whirl ... Have to say I think it looked quite promising, and I especially like the animation of the centipede. Maybe someone reading might be inclined to finish it off? Attachment: Disc image added below, for convenience.
|
|||
| Page 1 of 1 | All times are UTC [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|