mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-09-10 08:54:51 +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_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
|
||||
|
||||
clean:
|
||||
|
@ -24,6 +24,16 @@ flying_start:
|
||||
jsr clear_screens
|
||||
; jsr set_gr_page0
|
||||
|
||||
lda #$4
|
||||
sta DRAW_PAGE
|
||||
jsr clear_bottom
|
||||
|
||||
lda #$8
|
||||
sta DRAW_PAGE
|
||||
jsr clear_bottom
|
||||
|
||||
|
||||
|
||||
;=====================
|
||||
; Set Up Double Lowres
|
||||
;=====================
|
||||
@ -500,7 +510,8 @@ no_right_splash:
|
||||
lda #<ship_right ; 2
|
||||
sta INL ; 3
|
||||
|
||||
dec TURNING ; 5
|
||||
; dec TURNING ; 5
|
||||
lda TURNING ; 5
|
||||
|
||||
bvc draw_ship ; 3
|
||||
;==========
|
||||
@ -543,7 +554,8 @@ no_left_splash:
|
||||
lda #<ship_left ; 2
|
||||
sta INL ; 3
|
||||
|
||||
inc TURNING ; 5
|
||||
; inc TURNING ; 5
|
||||
lda TURNING
|
||||
;==========
|
||||
; 48
|
||||
|
||||
@ -720,6 +732,9 @@ draw_ship_aux:
|
||||
; loop forever
|
||||
;==================
|
||||
|
||||
jsr copy_page1_to_page0
|
||||
jsr copy_page2_to_aux
|
||||
|
||||
jmp flying_loop ; 3
|
||||
|
||||
|
||||
@ -774,7 +789,9 @@ draw_background_mode7_standard:
|
||||
|
||||
; Set Normal Page
|
||||
|
||||
bit PAGE0
|
||||
; bit PAGE0
|
||||
lda #4
|
||||
sta DRAW_PAGE
|
||||
|
||||
; Only draw sky if necessary
|
||||
; (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
|
||||
|
||||
lda gr_offsets,Y ; load high part of address ; 4
|
||||
; clc ; clear carry for add ; 2
|
||||
; adc DRAW_PAGE ; add in draw page offset ; 3
|
||||
clc ; clear carry for add ; 2
|
||||
adc DRAW_PAGE ; add in draw page offset ; 3
|
||||
sta GBASH ; store in GBASH zero-page pointer ; 3
|
||||
|
||||
;=============
|
||||
@ -1318,7 +1335,10 @@ draw_background_mode7_aux:
|
||||
|
||||
; Draw to AUX page
|
||||
|
||||
bit PAGE1
|
||||
; bit PAGE1
|
||||
|
||||
lda #8
|
||||
sta DRAW_PAGE
|
||||
|
||||
; Only draw sky if necessary
|
||||
; (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
|
||||
|
||||
lda gr_offsets,Y ; load high part of address ; 4
|
||||
; clc ; clear carry for add ; 2
|
||||
; adc DRAW_PAGE ; add in draw page offset ; 3
|
||||
clc ; clear carry for add ; 2
|
||||
adc DRAW_PAGE ; add in draw page offset ; 3
|
||||
sta GBASH ; store in GBASH zero-page pointer ; 3
|
||||
|
||||
;=============
|
||||
|
Binary file not shown.
@ -4,109 +4,114 @@
|
||||
|
||||
splash_forward:
|
||||
.byte $7,$2
|
||||
.byte $00,$ee,$00,$00,$00,$ee,$00
|
||||
.byte $ee,$00,$00,$00,$00,$00,$ee
|
||||
.byte $00,$0e,$00,$00,$00,$e0,$00
|
||||
.byte $0e,$00,$00,$00,$00,$00,$e0
|
||||
|
||||
splash_forward_aux:
|
||||
.byte $7,$2
|
||||
.byte $00,$ee,$00,$00,$00,$ee,$00
|
||||
.byte $ee,$00,$00,$00,$00,$00,$ee
|
||||
.byte $00,$70,$00,$00,$00,$07,$00
|
||||
.byte $70,$00,$00,$00,$00,$00,$07
|
||||
|
||||
splash_right:
|
||||
.byte $7,$2
|
||||
.byte $00,$00,$00,$00,$00,$ee,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$ee
|
||||
.byte $00,$00,$00,$00,$00,$e0,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$e0
|
||||
|
||||
splash_right_aux:
|
||||
.byte $7,$2
|
||||
.byte $00,$00,$00,$00,$00,$ee,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$ee
|
||||
.byte $00,$00,$00,$00,$00,$07,$00
|
||||
.byte $00,$00,$00,$00,$00,$00,$07
|
||||
|
||||
splash_left:
|
||||
.byte $7,$2
|
||||
.byte $00,$ee,$00,$00,$00,$00,$00
|
||||
.byte $ee,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$0e,$00,$00,$00,$00,$00
|
||||
.byte $0e,$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
|
||||
.byte $00,$70,$00,$00,$00,$00,$00
|
||||
.byte $70,$00,$00,$00,$00,$00,$00
|
||||
|
||||
shadow_forward:
|
||||
.byte $3,$2
|
||||
.byte $00,$aa,$00
|
||||
.byte $a0,$aa,$a0
|
||||
.byte $aa,$aa,$a0
|
||||
|
||||
shadow_forward_aux:
|
||||
.byte $3,$2
|
||||
.byte $00,$aa,$00
|
||||
.byte $a0,$aa,$a0
|
||||
.byte $00,$55,$00
|
||||
.byte $50,$55,$55
|
||||
|
||||
shadow_right:
|
||||
.byte $3,$2
|
||||
.byte $a0,$00,$aa
|
||||
.byte $a0,$a0,$0a
|
||||
.byte $00,$0a,$a0
|
||||
|
||||
shadow_right_aux:
|
||||
.byte $3,$2
|
||||
.byte $a0,$00,$aa
|
||||
.byte $00,$0a,$a0
|
||||
.byte $50,$50,$55
|
||||
.byte $00,$05,$55
|
||||
|
||||
shadow_left:
|
||||
.byte $3,$2
|
||||
.byte $aa,$00,$a0
|
||||
.byte $a0,$0a,$00
|
||||
.byte $aa,$a0,$a0
|
||||
.byte $aa,$0a,$00
|
||||
|
||||
shadow_left_aux:
|
||||
.byte $3,$2
|
||||
.byte $aa,$00,$a0
|
||||
.byte $a0,$0a,$00
|
||||
.byte $05,$50,$50
|
||||
.byte $50,$05,$00
|
||||
|
||||
|
||||
|
||||
ship_forward:
|
||||
.byte $9,$5
|
||||
.byte $00,$00,$00,$00,$ff,$00,$00,$00,$00
|
||||
.byte $00,$00,$00,$66,$ff,$66,$00,$00,$00
|
||||
.byte $00,$00,$70,$2f,$12,$2f,$70,$00,$00
|
||||
.byte $f0,$f7,$f7,$f2,$d9,$f2,$f7,$f7,$f0
|
||||
.byte $00,$00,$70,$2f,$12,$ff,$70,$00,$00
|
||||
.byte $f0,$f7,$f7,$d9,$99,$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,$33,$ff,$33,$00,$00,$00
|
||||
.byte $00,$00,$b0,$ff,$81,$1f,$b0,$00,$00
|
||||
.byte $f0,$fb,$fb,$f1,$cc,$ec,$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
|
||||
.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
|
||||
.byte $00,$00,$00,$00,$00,$60,$60,$00,$00
|
||||
.byte $00,$f0,$70,$70,$f6,$f6,$6f,$00,$00
|
||||
.byte $00,$07,$7f,$2f,$12,$f7,$76,$00,$00
|
||||
.byte $00,$00,$00,$dd,$d9,$ff,$77,$00,$00
|
||||
.byte $00,$00,$00,$00,$00,$0f,$f7,$77,$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
|
||||
.byte $00,$00,$00,$00,$00,$00,$30,$f0,$00
|
||||
.byte $00,$f0,$b0,$b0,$f0,$f3,$3f,$33,$00
|
||||
.byte $00,$0b,$bf,$bf,$c1,$1b,$f3,$00,$00
|
||||
.byte $00,$00,$00,$e0,$ec,$f1,$bb,$b0,$00
|
||||
.byte $00,$00,$00,$00,$00,$0f,$ff,$bb,$b0
|
||||
|
||||
ship_left:
|
||||
.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
|
||||
.byte $00,$f0,$60,$00,$00,$00,$00,$00,$00
|
||||
.byte $00,$66,$6f,$f6,$f0,$70,$70,$f0,$00
|
||||
.byte $00,$00,$f6,$27,$92,$7f,$7f,$07,$00
|
||||
.byte $00,$70,$77,$f2,$d9,$d0,$00,$00,$00
|
||||
.byte $70,$77,$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
|
||||
.byte $00,$00,$30,$30,$00,$00,$00,$00,$00
|
||||
.byte $00,$00,$3f,$f3,$f3,$b0,$b0,$f0,$00
|
||||
.byte $00,$00,$b3,$fb,$81,$1f,$bf,$0b,$00
|
||||
.byte $00,$00,$bb,$ff,$ec,$ee,$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
|
||||
sta OUTL ; store out low byte of addy ; 3
|
||||
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
|
||||
ldy TEMP ; restore sprite pointer ; 3
|
||||
|
||||
@ -511,19 +510,19 @@ point_to_end_string:
|
||||
; print_both_pages
|
||||
;================================
|
||||
print_both_pages:
|
||||
; lda DRAW_PAGE
|
||||
; pha
|
||||
lda DRAW_PAGE
|
||||
pha
|
||||
|
||||
lda #0
|
||||
lda #4
|
||||
sta DRAW_PAGE
|
||||
jsr move_and_print
|
||||
|
||||
; lda #4
|
||||
; lda #8
|
||||
; sta DRAW_PAGE
|
||||
; jsr move_and_print
|
||||
|
||||
; pla
|
||||
; sta DRAW_PAGE
|
||||
pla
|
||||
sta DRAW_PAGE
|
||||
|
||||
rts ; oops forgot this initially
|
||||
; explains the weird vertical stripes on the screen
|
||||
@ -596,8 +595,7 @@ hlin_setup:
|
||||
iny ; 2
|
||||
|
||||
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
|
||||
rts ; 6
|
||||
;===========
|
||||
@ -735,6 +733,9 @@ clear_top_loop:
|
||||
|
||||
rts
|
||||
|
||||
;=====================
|
||||
; clear bottom
|
||||
;=====================
|
||||
clear_bottom:
|
||||
lda #$a0 ; NORMAL space
|
||||
sta COLOR
|
||||
@ -755,3 +756,66 @@ clear_bottom_loop:
|
||||
bne clear_bottom_loop
|
||||
|
||||
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