mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-10-24 23:25:28 +00:00
dlowres: have 80x40 sprites updated
This commit is contained in:
parent
f46567562d
commit
257f51c473
@ -19,7 +19,7 @@ DLOWRES_MODE7: dlowres_mode7.o
|
|||||||
|
|
||||||
dlowres_mode7.o: dlowres_mode7.s \
|
dlowres_mode7.o: dlowres_mode7.s \
|
||||||
dlowres_flying.s fast_multiply.s \
|
dlowres_flying.s fast_multiply.s \
|
||||||
dlowres_utils.s dlowres_zp.inc
|
dlowres_utils.s dlowres_zp.inc dlowres_sprites.inc
|
||||||
ca65 -o dlowres_mode7.o dlowres_mode7.s -l dlowres_mode7.lst
|
ca65 -o dlowres_mode7.o dlowres_mode7.s -l dlowres_mode7.lst
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
|
@ -24,6 +24,16 @@ flying_start:
|
|||||||
jsr clear_screens
|
jsr clear_screens
|
||||||
; jsr set_gr_page0
|
; jsr set_gr_page0
|
||||||
|
|
||||||
|
lda #$4
|
||||||
|
sta DRAW_PAGE
|
||||||
|
jsr clear_bottom
|
||||||
|
|
||||||
|
lda #$8
|
||||||
|
sta DRAW_PAGE
|
||||||
|
jsr clear_bottom
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
;=====================
|
;=====================
|
||||||
; Set Up Double Lowres
|
; Set Up Double Lowres
|
||||||
;=====================
|
;=====================
|
||||||
@ -500,7 +510,8 @@ no_right_splash:
|
|||||||
lda #<ship_right ; 2
|
lda #<ship_right ; 2
|
||||||
sta INL ; 3
|
sta INL ; 3
|
||||||
|
|
||||||
dec TURNING ; 5
|
; dec TURNING ; 5
|
||||||
|
lda TURNING ; 5
|
||||||
|
|
||||||
bvc draw_ship ; 3
|
bvc draw_ship ; 3
|
||||||
;==========
|
;==========
|
||||||
@ -543,8 +554,9 @@ no_left_splash:
|
|||||||
lda #<ship_left ; 2
|
lda #<ship_left ; 2
|
||||||
sta INL ; 3
|
sta INL ; 3
|
||||||
|
|
||||||
inc TURNING ; 5
|
; inc TURNING ; 5
|
||||||
;==========
|
lda TURNING
|
||||||
|
;==========
|
||||||
; 48
|
; 48
|
||||||
|
|
||||||
draw_ship:
|
draw_ship:
|
||||||
@ -720,6 +732,9 @@ draw_ship_aux:
|
|||||||
; loop forever
|
; loop forever
|
||||||
;==================
|
;==================
|
||||||
|
|
||||||
|
jsr copy_page1_to_page0
|
||||||
|
jsr copy_page2_to_aux
|
||||||
|
|
||||||
jmp flying_loop ; 3
|
jmp flying_loop ; 3
|
||||||
|
|
||||||
|
|
||||||
@ -774,7 +789,9 @@ draw_background_mode7_standard:
|
|||||||
|
|
||||||
; Set Normal Page
|
; Set Normal Page
|
||||||
|
|
||||||
bit PAGE0
|
; bit PAGE0
|
||||||
|
lda #4
|
||||||
|
sta DRAW_PAGE
|
||||||
|
|
||||||
; Only draw sky if necessary
|
; Only draw sky if necessary
|
||||||
; (at start, or if we have switched to text, we never overwrite it)
|
; (at start, or if we have switched to text, we never overwrite it)
|
||||||
@ -855,8 +872,8 @@ setup_gr_addr:
|
|||||||
iny ; point to high part of address ; 2
|
iny ; point to high part of address ; 2
|
||||||
|
|
||||||
lda gr_offsets,Y ; load high part of address ; 4
|
lda gr_offsets,Y ; load high part of address ; 4
|
||||||
; clc ; clear carry for add ; 2
|
clc ; clear carry for add ; 2
|
||||||
; adc DRAW_PAGE ; add in draw page offset ; 3
|
adc DRAW_PAGE ; add in draw page offset ; 3
|
||||||
sta GBASH ; store in GBASH zero-page pointer ; 3
|
sta GBASH ; store in GBASH zero-page pointer ; 3
|
||||||
|
|
||||||
;=============
|
;=============
|
||||||
@ -1318,7 +1335,10 @@ draw_background_mode7_aux:
|
|||||||
|
|
||||||
; Draw to AUX page
|
; Draw to AUX page
|
||||||
|
|
||||||
bit PAGE1
|
; bit PAGE1
|
||||||
|
|
||||||
|
lda #8
|
||||||
|
sta DRAW_PAGE
|
||||||
|
|
||||||
; Only draw sky if necessary
|
; Only draw sky if necessary
|
||||||
; (at start, or if we have switched to text, we never overwrite it)
|
; (at start, or if we have switched to text, we never overwrite it)
|
||||||
@ -1400,8 +1420,8 @@ setup_gr_addr_aux:
|
|||||||
iny ; point to high part of address ; 2
|
iny ; point to high part of address ; 2
|
||||||
|
|
||||||
lda gr_offsets,Y ; load high part of address ; 4
|
lda gr_offsets,Y ; load high part of address ; 4
|
||||||
; clc ; clear carry for add ; 2
|
clc ; clear carry for add ; 2
|
||||||
; adc DRAW_PAGE ; add in draw page offset ; 3
|
adc DRAW_PAGE ; add in draw page offset ; 3
|
||||||
sta GBASH ; store in GBASH zero-page pointer ; 3
|
sta GBASH ; store in GBASH zero-page pointer ; 3
|
||||||
|
|
||||||
;=============
|
;=============
|
||||||
|
Binary file not shown.
@ -4,109 +4,114 @@
|
|||||||
|
|
||||||
splash_forward:
|
splash_forward:
|
||||||
.byte $7,$2
|
.byte $7,$2
|
||||||
.byte $00,$ee,$00,$00,$00,$ee,$00
|
.byte $00,$0e,$00,$00,$00,$e0,$00
|
||||||
.byte $ee,$00,$00,$00,$00,$00,$ee
|
.byte $0e,$00,$00,$00,$00,$00,$e0
|
||||||
|
|
||||||
splash_forward_aux:
|
splash_forward_aux:
|
||||||
.byte $7,$2
|
.byte $7,$2
|
||||||
.byte $00,$ee,$00,$00,$00,$ee,$00
|
.byte $00,$70,$00,$00,$00,$07,$00
|
||||||
.byte $ee,$00,$00,$00,$00,$00,$ee
|
.byte $70,$00,$00,$00,$00,$00,$07
|
||||||
|
|
||||||
splash_right:
|
splash_right:
|
||||||
.byte $7,$2
|
.byte $7,$2
|
||||||
.byte $00,$00,$00,$00,$00,$ee,$00
|
.byte $00,$00,$00,$00,$00,$e0,$00
|
||||||
.byte $00,$00,$00,$00,$00,$00,$ee
|
.byte $00,$00,$00,$00,$00,$00,$e0
|
||||||
|
|
||||||
splash_right_aux:
|
splash_right_aux:
|
||||||
.byte $7,$2
|
.byte $7,$2
|
||||||
.byte $00,$00,$00,$00,$00,$ee,$00
|
.byte $00,$00,$00,$00,$00,$07,$00
|
||||||
.byte $00,$00,$00,$00,$00,$00,$ee
|
.byte $00,$00,$00,$00,$00,$00,$07
|
||||||
|
|
||||||
splash_left:
|
splash_left:
|
||||||
.byte $7,$2
|
.byte $7,$2
|
||||||
.byte $00,$ee,$00,$00,$00,$00,$00
|
.byte $00,$0e,$00,$00,$00,$00,$00
|
||||||
.byte $ee,$00,$00,$00,$00,$00,$00
|
.byte $0e,$00,$00,$00,$00,$00,$00
|
||||||
|
|
||||||
splash_left_aux:
|
splash_left_aux:
|
||||||
.byte $7,$2
|
.byte $7,$2
|
||||||
.byte $00,$ee,$00,$00,$00,$00,$00
|
.byte $00,$70,$00,$00,$00,$00,$00
|
||||||
.byte $ee,$00,$00,$00,$00,$00,$00
|
.byte $70,$00,$00,$00,$00,$00,$00
|
||||||
|
|
||||||
shadow_forward:
|
shadow_forward:
|
||||||
.byte $3,$2
|
.byte $3,$2
|
||||||
.byte $00,$aa,$00
|
.byte $00,$aa,$00
|
||||||
.byte $a0,$aa,$a0
|
.byte $aa,$aa,$a0
|
||||||
|
|
||||||
shadow_forward_aux:
|
shadow_forward_aux:
|
||||||
.byte $3,$2
|
.byte $3,$2
|
||||||
.byte $00,$aa,$00
|
.byte $00,$55,$00
|
||||||
.byte $a0,$aa,$a0
|
.byte $50,$55,$55
|
||||||
|
|
||||||
shadow_right:
|
shadow_right:
|
||||||
.byte $3,$2
|
.byte $3,$2
|
||||||
.byte $a0,$00,$aa
|
.byte $a0,$a0,$0a
|
||||||
.byte $00,$0a,$a0
|
.byte $00,$0a,$a0
|
||||||
|
|
||||||
shadow_right_aux:
|
shadow_right_aux:
|
||||||
.byte $3,$2
|
.byte $3,$2
|
||||||
.byte $a0,$00,$aa
|
.byte $50,$50,$55
|
||||||
.byte $00,$0a,$a0
|
.byte $00,$05,$55
|
||||||
|
|
||||||
shadow_left:
|
shadow_left:
|
||||||
.byte $3,$2
|
.byte $3,$2
|
||||||
.byte $aa,$00,$a0
|
.byte $aa,$a0,$a0
|
||||||
.byte $a0,$0a,$00
|
.byte $aa,$0a,$00
|
||||||
|
|
||||||
shadow_left_aux:
|
shadow_left_aux:
|
||||||
.byte $3,$2
|
.byte $3,$2
|
||||||
.byte $aa,$00,$a0
|
.byte $05,$50,$50
|
||||||
.byte $a0,$0a,$00
|
.byte $50,$05,$00
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
ship_forward:
|
ship_forward:
|
||||||
.byte $9,$5
|
.byte $9,$5
|
||||||
.byte $00,$00,$00,$00,$ff,$00,$00,$00,$00
|
.byte $00,$00,$00,$00,$ff,$00,$00,$00,$00
|
||||||
.byte $00,$00,$00,$66,$ff,$66,$00,$00,$00
|
.byte $00,$00,$00,$66,$ff,$66,$00,$00,$00
|
||||||
.byte $00,$00,$70,$2f,$12,$2f,$70,$00,$00
|
.byte $00,$00,$70,$2f,$12,$ff,$70,$00,$00
|
||||||
.byte $f0,$f7,$f7,$f2,$d9,$f2,$f7,$f7,$f0
|
.byte $f0,$f7,$f7,$d9,$99,$f2,$f7,$f7,$f0
|
||||||
.byte $00,$00,$00,$00,$0d,$00,$00,$00,$00
|
.byte $00,$00,$00,$00,$0d,$00,$00,$00,$00
|
||||||
|
|
||||||
ship_forward_aux:
|
ship_forward_aux:
|
||||||
.byte $9,$5
|
.byte $9,$5
|
||||||
.byte $00,$00,$00,$00,$ff,$00,$00,$00,$00
|
.byte $00,$00,$00,$00,$ff,$00,$00,$00,$00
|
||||||
.byte $00,$00,$00,$44,$ff,$44,$00,$00,$00
|
.byte $00,$00,$00,$33,$ff,$33,$00,$00,$00
|
||||||
.byte $00,$00,$b0,$1f,$81,$1f,$b0,$00,$00
|
.byte $00,$00,$b0,$ff,$81,$1f,$b0,$00,$00
|
||||||
.byte $f0,$fb,$fb,$f1,$dc,$f1,$fb,$fb,$f0
|
.byte $f0,$fb,$fb,$f1,$cc,$ec,$fb,$fb,$f0
|
||||||
.byte $00,$00,$00,$00,$0e,$00,$00,$00,$00
|
.byte $00,$00,$00,$00,$0e,$00,$00,$00,$00
|
||||||
|
|
||||||
|
|
||||||
ship_right:
|
ship_right:
|
||||||
.byte $9,$5
|
.byte $9,$5
|
||||||
.byte $00,$00,$00,$00,$00,$60,$60,$f0,$00
|
.byte $00,$00,$00,$00,$00,$60,$60,$00,$00
|
||||||
.byte $00,$f0,$70,$70,$f6,$f6,$6f,$66,$00
|
.byte $00,$f0,$70,$70,$f6,$f6,$6f,$00,$00
|
||||||
.byte $00,$07,$ff,$2f,$12,$27,$f6,$00,$00
|
.byte $00,$07,$7f,$2f,$12,$f7,$76,$00,$00
|
||||||
.byte $00,$00,$00,$dd,$d9,$f2,$77,$00,$00
|
.byte $00,$00,$00,$dd,$d9,$ff,$77,$00,$00
|
||||||
.byte $00,$00,$00,$00,$00,$0f,$ff,$70,$00
|
.byte $00,$00,$00,$00,$00,$0f,$f7,$77,$00
|
||||||
|
|
||||||
ship_right_aux:
|
ship_right_aux:
|
||||||
.byte $9,$5
|
.byte $9,$5
|
||||||
.byte $00,$00,$00,$00,$00,$60,$60,$f0,$00
|
.byte $00,$00,$00,$00,$00,$00,$30,$f0,$00
|
||||||
.byte $00,$f0,$70,$70,$f6,$f6,$6f,$66,$00
|
.byte $00,$f0,$b0,$b0,$f0,$f3,$3f,$33,$00
|
||||||
.byte $00,$07,$ff,$2f,$12,$27,$f6,$00,$00
|
.byte $00,$0b,$bf,$bf,$c1,$1b,$f3,$00,$00
|
||||||
.byte $00,$00,$00,$dd,$d9,$f2,$77,$00,$00
|
.byte $00,$00,$00,$e0,$ec,$f1,$bb,$b0,$00
|
||||||
.byte $00,$00,$00,$00,$00,$0f,$ff,$70,$00
|
.byte $00,$00,$00,$00,$00,$0f,$ff,$bb,$b0
|
||||||
|
|
||||||
ship_left:
|
ship_left:
|
||||||
.byte $9,$5
|
.byte $9,$5
|
||||||
.byte $00,$f0,$60,$60,$00,$00,$00,$00,$00
|
.byte $00,$f0,$60,$00,$00,$00,$00,$00,$00
|
||||||
.byte $00,$66,$6f,$f6,$f6,$70,$70,$f0,$00
|
.byte $00,$66,$6f,$f6,$f0,$70,$70,$f0,$00
|
||||||
.byte $00,$00,$f6,$27,$12,$2f,$ff,$07,$00
|
.byte $00,$00,$f6,$27,$92,$7f,$7f,$07,$00
|
||||||
.byte $00,$00,$77,$f2,$d9,$dd,$00,$00,$00
|
.byte $00,$70,$77,$f2,$d9,$d0,$00,$00,$00
|
||||||
.byte $00,$70,$ff,$0f,$00,$00,$00,$00,$00
|
.byte $70,$77,$ff,$0f,$00,$00,$00,$00,$00
|
||||||
|
|
||||||
ship_left_aux:
|
ship_left_aux:
|
||||||
.byte $9,$5
|
.byte $9,$5
|
||||||
.byte $00,$f0,$60,$60,$00,$00,$00,$00,$00
|
.byte $00,$00,$30,$30,$00,$00,$00,$00,$00
|
||||||
.byte $00,$66,$6f,$f6,$f6,$70,$70,$f0,$00
|
.byte $00,$00,$3f,$f3,$f3,$b0,$b0,$f0,$00
|
||||||
.byte $00,$00,$f6,$27,$12,$2f,$ff,$07,$00
|
.byte $00,$00,$b3,$fb,$81,$1f,$bf,$0b,$00
|
||||||
.byte $00,$00,$77,$f2,$d9,$dd,$00,$00,$00
|
.byte $00,$00,$bb,$ff,$ec,$ee,$00,$00,$00
|
||||||
.byte $00,$70,$ff,$0f,$00,$00,$00,$00,$00
|
.byte $00,$bb,$fb,$0f,$00,$00,$00,$00,$00
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -376,8 +376,7 @@ put_sprite_loop:
|
|||||||
adc XPOS ; add in xpos ; 3
|
adc XPOS ; add in xpos ; 3
|
||||||
sta OUTL ; store out low byte of addy ; 3
|
sta OUTL ; store out low byte of addy ; 3
|
||||||
lda gr_offsets+1,Y ; look up high byte ; 5
|
lda gr_offsets+1,Y ; look up high byte ; 5
|
||||||
adc #0
|
adc DRAW_PAGE ; ; 3
|
||||||
; adc DRAW_PAGE ; ; 3
|
|
||||||
sta OUTH ; and store it out ; 3
|
sta OUTH ; and store it out ; 3
|
||||||
ldy TEMP ; restore sprite pointer ; 3
|
ldy TEMP ; restore sprite pointer ; 3
|
||||||
|
|
||||||
@ -511,19 +510,19 @@ point_to_end_string:
|
|||||||
; print_both_pages
|
; print_both_pages
|
||||||
;================================
|
;================================
|
||||||
print_both_pages:
|
print_both_pages:
|
||||||
; lda DRAW_PAGE
|
lda DRAW_PAGE
|
||||||
; pha
|
pha
|
||||||
|
|
||||||
lda #0
|
lda #4
|
||||||
sta DRAW_PAGE
|
sta DRAW_PAGE
|
||||||
jsr move_and_print
|
jsr move_and_print
|
||||||
|
|
||||||
; lda #4
|
; lda #8
|
||||||
; sta DRAW_PAGE
|
; sta DRAW_PAGE
|
||||||
; jsr move_and_print
|
; jsr move_and_print
|
||||||
|
|
||||||
; pla
|
pla
|
||||||
; sta DRAW_PAGE
|
sta DRAW_PAGE
|
||||||
|
|
||||||
rts ; oops forgot this initially
|
rts ; oops forgot this initially
|
||||||
; explains the weird vertical stripes on the screen
|
; explains the weird vertical stripes on the screen
|
||||||
@ -596,8 +595,7 @@ hlin_setup:
|
|||||||
iny ; 2
|
iny ; 2
|
||||||
|
|
||||||
lda gr_offsets,Y ; 4
|
lda gr_offsets,Y ; 4
|
||||||
adc #0 ; needed?
|
adc DRAW_PAGE ; add in draw page offset ; 3
|
||||||
; adc DRAW_PAGE ; add in draw page offset ; 3
|
|
||||||
sta GBASH ; 3
|
sta GBASH ; 3
|
||||||
rts ; 6
|
rts ; 6
|
||||||
;===========
|
;===========
|
||||||
@ -735,6 +733,9 @@ clear_top_loop:
|
|||||||
|
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
;=====================
|
||||||
|
; clear bottom
|
||||||
|
;=====================
|
||||||
clear_bottom:
|
clear_bottom:
|
||||||
lda #$a0 ; NORMAL space
|
lda #$a0 ; NORMAL space
|
||||||
sta COLOR
|
sta COLOR
|
||||||
@ -755,3 +756,66 @@ clear_bottom_loop:
|
|||||||
bne clear_bottom_loop
|
bne clear_bottom_loop
|
||||||
|
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
;==========================
|
||||||
|
; copy_page1_to_page0
|
||||||
|
;==========================
|
||||||
|
; x trashed
|
||||||
|
|
||||||
|
copy_page1_to_page0:
|
||||||
|
bit PAGE0
|
||||||
|
ldx #120 ; 2
|
||||||
|
copy_p1p0_loop:
|
||||||
|
lda $800,X ; 4
|
||||||
|
sta $400,X ; 4
|
||||||
|
lda $880,X ; 4
|
||||||
|
sta $480,X ; 4
|
||||||
|
lda $900,X ; 4
|
||||||
|
sta $500,X ; 4
|
||||||
|
lda $980,X ; 4
|
||||||
|
sta $580,X ; 4
|
||||||
|
lda $a00,X ; 4
|
||||||
|
sta $600,X ; 4
|
||||||
|
lda $A80,X ; 4
|
||||||
|
sta $680,X ; 4
|
||||||
|
lda $B00,X ; 4
|
||||||
|
sta $700,X ; 4
|
||||||
|
lda $B80,X ; 4
|
||||||
|
sta $780,X ; 4
|
||||||
|
dex ; 2
|
||||||
|
bpl copy_p1p0_loop ; 2nt/3
|
||||||
|
rts ; 6
|
||||||
|
; 2+ [((16*4)+2+3)*120] +5
|
||||||
|
; 8287
|
||||||
|
|
||||||
|
|
||||||
|
;==========================
|
||||||
|
; copy_page2_to_aux
|
||||||
|
;==========================
|
||||||
|
; x trashed
|
||||||
|
|
||||||
|
copy_page2_to_aux:
|
||||||
|
bit PAGE1
|
||||||
|
ldx #120 ; 2
|
||||||
|
copy_p2aux_loop:
|
||||||
|
lda $C00,X ; 4
|
||||||
|
sta $400,X ; 4
|
||||||
|
lda $C80,X ; 4
|
||||||
|
sta $480,X ; 4
|
||||||
|
lda $D00,X ; 4
|
||||||
|
sta $500,X ; 4
|
||||||
|
lda $D80,X ; 4
|
||||||
|
sta $580,X ; 4
|
||||||
|
lda $E00,X ; 4
|
||||||
|
sta $600,X ; 4
|
||||||
|
lda $E80,X ; 4
|
||||||
|
sta $680,X ; 4
|
||||||
|
lda $F00,X ; 4
|
||||||
|
sta $700,X ; 4
|
||||||
|
lda $F80,X ; 4
|
||||||
|
sta $780,X ; 4
|
||||||
|
dex ; 2
|
||||||
|
bpl copy_p2aux_loop ; 2nt/3
|
||||||
|
rts ; 6
|
||||||
|
; 4+2+ [((16*4)+2+3)*120] +5
|
||||||
|
; 8287
|
||||||
|
BIN
tfv/sprites.png
BIN
tfv/sprites.png
Binary file not shown.
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.6 KiB |
Loading…
Reference in New Issue
Block a user