mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-09-10 08:54:51 +00:00
dlowres: got sprites sorta working
This commit is contained in:
parent
ff4f5d4f0c
commit
f46567562d
@ -355,12 +355,16 @@ speed_loop:
|
||||
;============
|
||||
; 45
|
||||
|
||||
;====================
|
||||
; Draw the background
|
||||
;====================
|
||||
;=============================
|
||||
; Draw the background_standard
|
||||
;=============================
|
||||
draw_background:
|
||||
jsr draw_background_mode7_standard ; 6
|
||||
jsr draw_background_mode7_aux ; 6
|
||||
|
||||
;=============================
|
||||
; Draw the ship, standard
|
||||
;=============================
|
||||
|
||||
|
||||
check_over_water:
|
||||
; See if we are over water
|
||||
@ -544,6 +548,160 @@ no_left_splash:
|
||||
; 48
|
||||
|
||||
draw_ship:
|
||||
lda #CONST_SHIPX ; 2
|
||||
sta XPOS ; 3
|
||||
lda SHIPY ; 3
|
||||
sta YPOS ; 3
|
||||
jsr put_sprite ; 6
|
||||
|
||||
|
||||
;===========================
|
||||
; Draw the background, AUX
|
||||
;===========================
|
||||
|
||||
jsr draw_background_mode7_aux ; 6
|
||||
|
||||
check_over_water_aux:
|
||||
|
||||
no_splash_aux:
|
||||
|
||||
;==============
|
||||
; Draw the ship
|
||||
;==============
|
||||
|
||||
clv ; 2
|
||||
lda TURNING ; 3
|
||||
beq draw_ship_forward_aux ; 2nt/3
|
||||
bpl draw_ship_right_aux ; 2nt/3
|
||||
bmi draw_ship_left_aux ;; FIXME: optimize order ; 2nt/3
|
||||
|
||||
draw_ship_forward_aux:
|
||||
lda DRAW_SPLASH ; 2
|
||||
beq no_forward_splash_aux ; 2nt/3
|
||||
|
||||
; Draw Splash
|
||||
lda #>splash_forward_aux ; 2
|
||||
sta INH ; 3
|
||||
lda #<splash_forward_aux ; 2
|
||||
sta INL ; 3
|
||||
lda #(CONST_SHIPX+1) ; 2
|
||||
sta XPOS ; 3
|
||||
clc ; 2
|
||||
lda SHIPY ; 3
|
||||
adc #9 ; 2
|
||||
and #$fe ; make sure it's even ; 2
|
||||
sta YPOS ; 3
|
||||
jsr put_sprite ; 6
|
||||
;==========
|
||||
; 33
|
||||
no_forward_splash_aux:
|
||||
; Draw Shadow
|
||||
lda #>shadow_forward_aux ; 2
|
||||
sta INH ; 3
|
||||
lda #<shadow_forward_aux ; 2
|
||||
sta INL ; 3
|
||||
lda #(CONST_SHIPX+3) ; 2
|
||||
sta XPOS ; 3
|
||||
clc ; 2
|
||||
lda SPACEZ_I ; 3
|
||||
adc #31 ; 2
|
||||
and #$fe ; make sure it's even ; 2
|
||||
sta YPOS ; 3
|
||||
jsr put_sprite ; 6
|
||||
|
||||
lda #>ship_forward_aux ; 2
|
||||
sta INH ; 3
|
||||
lda #<ship_forward_aux ; 2
|
||||
sta INL ; 3
|
||||
bvc draw_ship_aux ; 3
|
||||
;===========
|
||||
; 46
|
||||
draw_ship_right_aux:
|
||||
lda DRAW_SPLASH ; 3
|
||||
beq no_right_splash_aux ; 2nt/3
|
||||
|
||||
; Draw Splash
|
||||
lda #>splash_right_aux ; 2
|
||||
sta INH ; 3
|
||||
lda #<splash_right_aux ; 2
|
||||
sta INL ; 3
|
||||
lda #(CONST_SHIPX+1) ; 2
|
||||
sta XPOS ; 3
|
||||
clc ; 2
|
||||
lda #36 ; 2
|
||||
sta YPOS ; 3
|
||||
jsr put_sprite ; 6
|
||||
;===========
|
||||
; 28
|
||||
no_right_splash_aux:
|
||||
|
||||
; Draw Shadow
|
||||
lda #>shadow_right_aux ; 2
|
||||
sta INH ; 3
|
||||
lda #<shadow_right_aux ; 2
|
||||
sta INL ; 3
|
||||
lda #(CONST_SHIPX+3) ; 2
|
||||
sta XPOS ; 3
|
||||
clc ; 2
|
||||
lda SPACEZ_I ; 3
|
||||
adc #31 ; 2
|
||||
and #$fe ; make sure it's even ; 2
|
||||
sta YPOS ; 3
|
||||
jsr put_sprite ; 6
|
||||
|
||||
lda #>ship_right_aux ; 2
|
||||
sta INH ; 3
|
||||
lda #<ship_right_aux ; 2
|
||||
sta INL ; 3
|
||||
|
||||
dec TURNING ; 5
|
||||
|
||||
bvc draw_ship_aux ; 3
|
||||
;==========
|
||||
; 51
|
||||
draw_ship_left_aux:
|
||||
lda DRAW_SPLASH ; 3
|
||||
beq no_left_splash_aux ; 2nt/3
|
||||
|
||||
; Draw Splash
|
||||
lda #>splash_left_aux ; 2
|
||||
sta INH ; 3
|
||||
lda #<splash_left_aux ; 2
|
||||
sta INL ; 3
|
||||
lda #(CONST_SHIPX+1) ; 2
|
||||
sta XPOS ; 3
|
||||
clc ; 2
|
||||
lda #36 ; 2
|
||||
sta YPOS ; 3
|
||||
jsr put_sprite ; 6
|
||||
;===========
|
||||
; 28
|
||||
no_left_splash_aux:
|
||||
|
||||
; Draw Shadow
|
||||
lda #>shadow_left_aux ; 2
|
||||
sta INH ; 3
|
||||
lda #<shadow_left_aux ; 2
|
||||
sta INL ; 3
|
||||
lda #(CONST_SHIPX+3) ; 2
|
||||
sta XPOS ; 3
|
||||
clc ; 2
|
||||
lda SPACEZ_I ; 3
|
||||
adc #31 ; 2
|
||||
and #$fe ; make sure it's even ; 2
|
||||
sta YPOS ; 3
|
||||
jsr put_sprite ; 6
|
||||
|
||||
lda #>ship_left_aux ; 2
|
||||
sta INH ; 3
|
||||
lda #<ship_left_aux ; 2
|
||||
sta INL ; 3
|
||||
|
||||
inc TURNING ; 5
|
||||
;==========
|
||||
; 48
|
||||
|
||||
draw_ship_aux:
|
||||
lda #CONST_SHIPX ; 2
|
||||
sta XPOS ; 3
|
||||
lda SHIPY ; 3
|
||||
|
@ -7,32 +7,61 @@ splash_forward:
|
||||
.byte $00,$ee,$00,$00,$00,$ee,$00
|
||||
.byte $ee,$00,$00,$00,$00,$00,$ee
|
||||
|
||||
splash_forward_aux:
|
||||
.byte $7,$2
|
||||
.byte $00,$ee,$00,$00,$00,$ee,$00
|
||||
.byte $ee,$00,$00,$00,$00,$00,$ee
|
||||
|
||||
splash_right:
|
||||
.byte $7,$2
|
||||
.byte $00,$00,$00,$00,$00,$ee,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$ee
|
||||
|
||||
splash_right_aux:
|
||||
.byte $7,$2
|
||||
.byte $00,$00,$00,$00,$00,$ee,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$ee
|
||||
|
||||
splash_left:
|
||||
.byte $7,$2
|
||||
.byte $00,$ee,$00,$00,$00,$00,$00
|
||||
.byte $ee,$00,$00,$00,$00,$00,$00
|
||||
|
||||
splash_left_aux:
|
||||
.byte $7,$2
|
||||
.byte $00,$ee,$00,$00,$00,$00,$00
|
||||
.byte $ee,$00,$00,$00,$00,$00,$00
|
||||
|
||||
shadow_forward:
|
||||
.byte $3,$2
|
||||
.byte $00,$aa,$00
|
||||
.byte $a0,$aa,$a0
|
||||
|
||||
shadow_forward_aux:
|
||||
.byte $3,$2
|
||||
.byte $00,$aa,$00
|
||||
.byte $a0,$aa,$a0
|
||||
|
||||
shadow_right:
|
||||
.byte $3,$2
|
||||
.byte $a0,$00,$aa
|
||||
.byte $00,$0a,$a0
|
||||
|
||||
shadow_right_aux:
|
||||
.byte $3,$2
|
||||
.byte $a0,$00,$aa
|
||||
.byte $00,$0a,$a0
|
||||
|
||||
shadow_left:
|
||||
.byte $3,$2
|
||||
.byte $aa,$00,$a0
|
||||
.byte $a0,$0a,$00
|
||||
|
||||
shadow_left_aux:
|
||||
.byte $3,$2
|
||||
.byte $aa,$00,$a0
|
||||
.byte $a0,$0a,$00
|
||||
|
||||
ship_forward:
|
||||
.byte $9,$5
|
||||
.byte $00,$00,$00,$00,$ff,$00,$00,$00,$00
|
||||
@ -41,6 +70,15 @@ ship_forward:
|
||||
.byte $f0,$f7,$f7,$f2,$d9,$f2,$f7,$f7,$f0
|
||||
.byte $00,$00,$00,$00,$0d,$00,$00,$00,$00
|
||||
|
||||
ship_forward_aux:
|
||||
.byte $9,$5
|
||||
.byte $00,$00,$00,$00,$ff,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$44,$ff,$44,$00,$00,$00
|
||||
.byte $00,$00,$b0,$1f,$81,$1f,$b0,$00,$00
|
||||
.byte $f0,$fb,$fb,$f1,$dc,$f1,$fb,$fb,$f0
|
||||
.byte $00,$00,$00,$00,$0e,$00,$00,$00,$00
|
||||
|
||||
|
||||
ship_right:
|
||||
.byte $9,$5
|
||||
.byte $00,$00,$00,$00,$00,$60,$60,$f0,$00
|
||||
@ -49,6 +87,14 @@ ship_right:
|
||||
.byte $00,$00,$00,$dd,$d9,$f2,$77,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$0f,$ff,$70,$00
|
||||
|
||||
ship_right_aux:
|
||||
.byte $9,$5
|
||||
.byte $00,$00,$00,$00,$00,$60,$60,$f0,$00
|
||||
.byte $00,$f0,$70,$70,$f6,$f6,$6f,$66,$00
|
||||
.byte $00,$07,$ff,$2f,$12,$27,$f6,$00,$00
|
||||
.byte $00,$00,$00,$dd,$d9,$f2,$77,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$0f,$ff,$70,$00
|
||||
|
||||
ship_left:
|
||||
.byte $9,$5
|
||||
.byte $00,$f0,$60,$60,$00,$00,$00,$00,$00
|
||||
@ -57,4 +103,10 @@ ship_left:
|
||||
.byte $00,$00,$77,$f2,$d9,$dd,$00,$00,$00
|
||||
.byte $00,$70,$ff,$0f,$00,$00,$00,$00,$00
|
||||
|
||||
|
||||
ship_left_aux:
|
||||
.byte $9,$5
|
||||
.byte $00,$f0,$60,$60,$00,$00,$00,$00,$00
|
||||
.byte $00,$66,$6f,$f6,$f6,$70,$70,$f0,$00
|
||||
.byte $00,$00,$f6,$27,$12,$2f,$ff,$07,$00
|
||||
.byte $00,$00,$77,$f2,$d9,$dd,$00,$00,$00
|
||||
.byte $00,$70,$ff,$0f,$00,$00,$00,$00,$00
|
||||
|
@ -376,7 +376,8 @@ put_sprite_loop:
|
||||
adc XPOS ; add in xpos ; 3
|
||||
sta OUTL ; store out low byte of addy ; 3
|
||||
lda gr_offsets+1,Y ; look up high byte ; 5
|
||||
adc DRAW_PAGE ; ; 3
|
||||
adc #0
|
||||
; adc DRAW_PAGE ; ; 3
|
||||
sta OUTH ; and store it out ; 3
|
||||
ldy TEMP ; restore sprite pointer ; 3
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user