devwebcl Posted June 6, 2007 Share Posted June 6, 2007 (edited) I'll be releasing different demos & programs that still are in disks by Pelusa Software from the 80s, this time it is a small demo made in m65, which simulates the floor of Ballblaster game. let me know if you are interested in the source code to look it for. cheers, Devwebcl ;SAVE #D:3D.M65;ASM,,#D:3D.COM ; ; .OPT NO LIST *= $E0 LO *= *+1 HI *= *+1 POSX *= *+1 POSY *= *+1 VELX *= *+1 VELY *= *+1 COLOR *= *+1 ; AUX0 *= *+1 AUX1 *= *+1 AUX2 *= *+1 AUX3 *= *+1 AUX4 *= *+1 AUX5 *= *+1 AUX6 *= *+1 AUX7 *= *+1 AUX8 *= *+1 AUX9 *= *+1 ; STICK = $D300 STRIG = $D310 SCREEN = $8000 ;15 pages ; ; *= $4000 JSR INIT ; ; DEM4 LDA STICK AND #8 BNE DEM0 JSR DERECHA DEM0 LDA STICK AND #4 BNE DEM1 JSR IZQUIERDA DEM1 LDA STICK AND #1 BNE DEM2 JSR ARRIBA DEM2 LDA STICK AND #2 BNE DEM3 JSR ABAJO DEM3 JSR HSCROL WAIT LDA $D40B BNE WAIT JMP DEM4 ; ; ;Create Screen ; INIT LDA #0 STA 559 LDA # <SCREEN STA LO LDA # >SCREEN STA HI LDX #15 LDA #0 TAY CLR STA (LO),Y INY BNE CLR INC HI DEX BNE CLR ; LDA # <[sCREEN+40] STA LO LDA # >[sCREEN+40] STA HI LDA #16 STA AUX2 LDA #48 STA AUX0 CREA4 LDA AUX2 LSR A STA AUX1 LDX #192 LDY #0 STY AUX3 CREA0 TXA AND AUX3 ORA (LO),Y STA (LO),Y DEC AUX1 BNE CREA1 LDA AUX2 STA AUX1 LDA AUX3 EOR #255 STA AUX3 CREA1 TXA LSR A LSR A BNE CREA2 LDA #192 INY CREA2 TAX CPY #40 BNE CREA0 LDA LO CLC ADC #80 STA LO BCC CREA3 INC HI CREA3 INC AUX2 INC AUX2 DEC AUX0 BNE CREA4 ; LDA # <SCREEN STA LO LDA # >SCREEN STA HI LDA #16 STA AUX2 LDA #48 STA AUX0 CREB4 LDA AUX2 LSR A STA AUX1 LDX #3 LDY #39 LDA #0 STA AUX3 CREB0 TXA AND AUX3 ORA (LO),Y STA (LO),Y DEC AUX1 BNE CREB1 LDA AUX2 STA AUX1 LDA AUX3 EOR #255 STA AUX3 CREB1 TXA ASL A ASL A BNE CREB2 LDA #3 DEY CREB2 TAX CPY #255 BNE CREB0 LDA LO CLC ADC #80 STA LO BCC CREB3 INC HI CREB3 INC AUX2 INC AUX2 DEC AUX0 BNE CREB4 ; ; ;Create DLIST ; LDX #0 LDA #$5E DLP STA DL+3,X INX INX INX CPX #3*48 BCC DLP LDA # <DL STA 560 LDA # >DL STA 561 LDA #35 STA 559 ; ; Activate DLI ; LDA # <DLI STA 512 LDA # >DLI STA 513 LDA #192 STA 54286 ; ; SetUp Values ; LDA #0 STA VELY STA VELX STA POSY LDA #55 STA POSX LDA #$C4 STA COLOR RTS ; ; DLI PHA TXA PHA LDX #0 DLOOP LDA DSCROL,X STA $D40A STA $D404 LDA DCOLR0,X STA $D018 LDA DCOLR1,X STA $D01A INX CPX #48 BNE DLOOP LDA #0 STA $D40A STA $D01A PLA TAX PLA RTI ; ; DERECHA LDA VELX BMI DER0 CMP #12 ;TOP.INC. BCS DER1 DER0 INC VELX DER1 RTS ; IZQUIERDA LDA VELX BPL IZQ0 CMP #256-12 ;TOP.INC. BCC IZQ1 IZQ0 DEC VELX IZQ1 RTS ; ARRIBA LDA VELY BMI ARR0 CMP #32 ;TOP.INC. BCS ARR1 ARR0 INC VELY ARR1 RTS ; ABAJO LDA VELY BPL ABJ0 CMP #256-32 ;TOP.INC. BCC ABJ1 ABJ0 DEC VELY ABJ1 RTS ; ; ; ; HSCROL LDA VELX BMI HSC2 CLC ADC POSX CMP #56*2 BCC HSC3 SBC #56*2 JMP HSC4 HSC2 CLC ADC POSX BPL HSC3 SEC SBC #144 HSC4 TAX LDA COLOR EOR #15 STA COLOR TXA HSC3 STA POSX STA AUX2 LDA #55 STA AUX0 LDA #0 STA AUX1 ; LDA #55 SEC SBC AUX1 STA AUX5 XVEC LDA AUX2 CMP AUX0 BCC XMNUS SBC AUX0 STA AUX4 LDA #1 STA AUX6 BNE VCSET XMNUS LDA AUX0 SEC SBC AUX2 STA AUX4 LDA #255 STA AUX6 VCSET LDA #0 STA AUX8 STA AUX7 LDA AUX4 CMP AUX5 BCC YMAX STA AUX9 STA AUX3 LSR A STA AUX8 JMP BEGIN YMAX LDA AUX5 STA AUX9 STA AUX3 LSR A STA AUX7 ; ; BEGIN LDA AUX8 CLC ADC AUX5 BCS OVER1 STA AUX8 CMP AUX3 BCC BEG2 LDA AUX8 OVER1 SBC AUX3 STA AUX8 INC AUX1 BEG2 LDA AUX7 CLC ADC AUX4 BCS OVER2 STA AUX7 CMP AUX3 BCC PLOTT LDA AUX7 OVER2 SBC AUX3 STA AUX7 LDA AUX0 CLC ADC AUX6 STA AUX0 PLOTT LDX AUX1 CPX #8 BCC PLOTE LDA AUX0 STA BUFF-8,X PLOTE DEC AUX9 BNE BEGIN ; LDA # <[sCREEN+3] STA LO LDA # >[sCREEN+3] STA HI LDX #0 LDY #0 PL3 LDA BUFF,X AND #3 EOR #3 STA DSCROL,X LDA BUFF,X LSR A LSR A CLC ADC LO STA DL+4,Y LDA HI ADC #0 STA DL+5,Y LDA LO CLC ADC #80 ;LENGTH STA LO BCC PL2 INC HI PL2 INY INY INY INX CPX #48 BCC PL3 ; ; VSCROL LDA POSY CLC ADC VELY STA POSY BMI VB0 ORA #$80 STA POSY LDA COLOR EOR #$0F STA COLOR VB0 LDA POSY LSR A STA AUX0 LDX #64 LDY #6 LDA COLOR VB2 LSR AUX0 VB1 CPX #49 BCS VB3 STA DCOLR0-1,X EOR #$0F STA DCOLR1-1,X EOR #$0F VB3 DEX CPX AUX0 BCS VB1 EOR #$0F DEY BNE VB2 RTS ; ; DL .BYTE "ppp" *= *+[3*48] .BYTE 65 .WORD DL ; DCOLR0 *= *+48 DCOLR1 *= *+48 DSCROL *= *+48 BUFF *= *+48 ; ; Edited June 7, 2007 by devwebcl Quote Link to comment Share on other sites More sharing options...
NRV Posted June 7, 2007 Share Posted June 7, 2007 until that you post it http://www.atariware.cl/foro/viewtopic.php?p=9707#9707 greets NRV (and yes.. post the code!) Quote Link to comment Share on other sites More sharing options...
devwebcl Posted June 7, 2007 Author Share Posted June 7, 2007 done. it's in the first post. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.