trogdor: update to load flames separately

This commit is contained in:
Vince Weaver 2024-01-19 20:55:44 -05:00
parent 2e91db49ec
commit 5770d7ca01
7 changed files with 64 additions and 10 deletions

View File

@ -9,13 +9,14 @@ LINKER_SCRIPTS = ../../linker_scripts/
all: trogdor.dsk all: trogdor.dsk
trogdor.dsk: QBOOT QLOAD music.inc qload.inc \ trogdor.dsk: QBOOT QLOAD music.inc qload.inc \
MUSIC TROGDOR TITLE MUSIC TROGDOR TITLE FLAMES
cp $(EMPTY_DISK) trogdor.dsk cp $(EMPTY_DISK) trogdor.dsk
$(DOS33_RAW) trogdor.dsk 0 0 QBOOT 0 1 $(DOS33_RAW) trogdor.dsk 0 0 QBOOT 0 1
$(DOS33_RAW) trogdor.dsk 0 2 QBOOT 1 1 $(DOS33_RAW) trogdor.dsk 0 2 QBOOT 1 1
$(DOS33_RAW) trogdor.dsk 0 4 QBOOT 2 1 $(DOS33_RAW) trogdor.dsk 0 4 QBOOT 2 1
$(DOS33_RAW) trogdor.dsk 1 0 QLOAD 0 0 $(DOS33_RAW) trogdor.dsk 1 0 QLOAD 0 0
$(DOS33_RAW) trogdor.dsk 4 0 MUSIC 0 0 $(DOS33_RAW) trogdor.dsk 4 0 MUSIC 0 0
$(DOS33_RAW) trogdor.dsk 6 0 FLAMES 0 0
$(DOS33_RAW) trogdor.dsk 11 0 TITLE 0 0 $(DOS33_RAW) trogdor.dsk 11 0 TITLE 0 0
$(DOS33_RAW) trogdor.dsk 12 0 TROGDOR 0 0 $(DOS33_RAW) trogdor.dsk 12 0 TROGDOR 0 0
@ -121,6 +122,27 @@ music.o: music.s zp.inc \
### ###
flames.inc: generate_common FLAMES
./generate_common -a 0xe300 -s left_flame_small flames.lst > flames.inc
./generate_common -a 0xe300 -s right_flame_small flames.lst >> flames.inc
./generate_common -a 0xe300 -s left_flame_big flames.lst >> flames.inc
./generate_common -a 0xe300 -s right_flame_big flames.lst >> flames.inc
./generate_common -a 0xe300 -s left_flame_small_mask flames.lst >> flames.inc
./generate_common -a 0xe300 -s right_flame_small_mask flames.lst >> flames.inc
./generate_common -a 0xe300 -s left_flame_big_mask flames.lst >> flames.inc
./generate_common -a 0xe300 -s right_flame_big_mask flames.lst >> flames.inc
FLAMES: flames.o
ld65 -o FLAMES flames.o -C $(LINKER_SCRIPTS)/apple2_e300.inc
flames.o: flames.s \
graphics/flame_sprites.inc
ca65 -o flames.o flames.s -l flames.lst
###
TITLE: title.o TITLE: title.o
ld65 -o TITLE title.o -C $(LINKER_SCRIPTS)/apple2_4000.inc ld65 -o TITLE title.o -C $(LINKER_SCRIPTS)/apple2_4000.inc
@ -129,12 +151,14 @@ title.o: title.s \
graphics/trogdor.hgr.zx02 graphics/trogdor.hgr.zx02
ca65 -o title.o title.s -l title.lst ca65 -o title.o title.s -l title.lst
### ###
TROGDOR: trogdor.o TROGDOR: trogdor.o
ld65 -o TROGDOR trogdor.o -C $(LINKER_SCRIPTS)/apple2_8000.inc ld65 -o TROGDOR trogdor.o -C $(LINKER_SCRIPTS)/apple2_8000.inc
trogdor.o: trogdor.s \ trogdor.o: trogdor.s \
flames.inc \
zp.inc hardware.inc qload.inc \ zp.inc hardware.inc qload.inc \
graphics/trog00_trogdor.hgr.zx02 \ graphics/trog00_trogdor.hgr.zx02 \
hgr_sprite_big_mask.s hgr_sprite_big_mask.s

View File

@ -128,3 +128,7 @@ Space:
===== =====
28281 = 28k or so 28281 = 28k or so
$D000 - $E2FF = MUSIC ($12DF in size) 4831
$E300 - $FA00 = FLAMES ($1650 in size) 5712

1
demos/trogdor/flames.s Normal file
View File

@ -0,0 +1 @@
.include "graphics/flame_sprites.inc"

View File

@ -163,22 +163,22 @@ error_string:
.endif .endif
which_disk_array: which_disk_array:
.byte 1,1,1 ; MUSIC, TROGDOR, TITLE .byte 1,1,1,1 ; MUSIC, TROGDOR, TITLE, FLAMES
load_address_array: load_address_array:
.byte $D0,$80,$40 ; MUSIC, TROGDOR, TITLE .byte $D0,$80,$40,$E3 ; MUSIC, TROGDOR, TITLE, FLAMES
start_address: start_address:
.byte $D0,$80,$40 ; MUSIC, TROGDOR, TITLE .byte $D0,$80,$40,$E3 ; MUSIC, TROGDOR, TITLE, FLAMES
track_array: track_array:
.byte 4,12,11 ; MUSIC, TROGDOR, TITLE .byte 4,12,11,6 ; MUSIC, TROGDOR, TITLE, FLAMES
sector_array: sector_array:
.byte 0,0,0 ; MUSIC, TROGDOR, TITLE .byte 0,0,0,0 ; MUSIC, TROGDOR, TITLE, FLAMES
length_array: length_array:
.byte 32,64,32 ; MUSIC, TROGDOR, TITLE .byte 32,64,32,24 ; MUSIC, TROGDOR, TITLE, FLAMES
PT3_ENABLE_APPLE_IIC = 1 PT3_ENABLE_APPLE_IIC = 1

View File

@ -176,6 +176,19 @@ done_set_message:
jsr wait_until_keypress jsr wait_until_keypress
;=======================
;=======================
; Load FLAMES
;=======================
;=======================
load_flames:
; load from disk
lda #3 ; FLAMES
sta WHICH_LOAD
jsr load_file
;======================= ;=======================
;======================= ;=======================
@ -186,7 +199,7 @@ load_trogdor:
; load from disk ; load from disk
lda #1 ; XMAS lda #1 ; TROGDOR
sta WHICH_LOAD sta WHICH_LOAD
jsr load_file jsr load_file

View File

@ -4,7 +4,7 @@
.include "zp.inc" .include "zp.inc"
.include "qload.inc" .include "qload.inc"
.include "music.inc" .include "music.inc"
.include "flames.inc"
trogdor_main: trogdor_main:
@ -133,4 +133,4 @@ hposn_high = $1f00
.include "hgr_sprite_big_mask.s" .include "hgr_sprite_big_mask.s"
.include "graphics/flame_sprites.inc" ;.include "graphics/flame_sprites.inc"

View File

@ -0,0 +1,12 @@
MEMORY {
ZP: start = $00, size = $1A, type = rw;
RAM: start = $E300, size = $1C00, file = %O;
}
SEGMENTS {
CODE: load = RAM, type = ro;
RODATA: load = RAM, type = ro;
DATA: load = RAM, type = rw;
BSS: load = RAM, type = bss, define = yes;
ZEROPAGE: load = ZP, type = zp;
}