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
trogdor.dsk: QBOOT QLOAD music.inc qload.inc \
MUSIC TROGDOR TITLE
MUSIC TROGDOR TITLE FLAMES
cp $(EMPTY_DISK) trogdor.dsk
$(DOS33_RAW) trogdor.dsk 0 0 QBOOT 0 1
$(DOS33_RAW) trogdor.dsk 0 2 QBOOT 1 1
$(DOS33_RAW) trogdor.dsk 0 4 QBOOT 2 1
$(DOS33_RAW) trogdor.dsk 1 0 QLOAD 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 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
ld65 -o TITLE title.o -C $(LINKER_SCRIPTS)/apple2_4000.inc
@ -129,12 +151,14 @@ title.o: title.s \
graphics/trogdor.hgr.zx02
ca65 -o title.o title.s -l title.lst
###
TROGDOR: trogdor.o
ld65 -o TROGDOR trogdor.o -C $(LINKER_SCRIPTS)/apple2_8000.inc
trogdor.o: trogdor.s \
flames.inc \
zp.inc hardware.inc qload.inc \
graphics/trog00_trogdor.hgr.zx02 \
hgr_sprite_big_mask.s

View File

@ -128,3 +128,7 @@ Space:
=====
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
which_disk_array:
.byte 1,1,1 ; MUSIC, TROGDOR, TITLE
.byte 1,1,1,1 ; MUSIC, TROGDOR, TITLE, FLAMES
load_address_array:
.byte $D0,$80,$40 ; MUSIC, TROGDOR, TITLE
.byte $D0,$80,$40,$E3 ; MUSIC, TROGDOR, TITLE, FLAMES
start_address:
.byte $D0,$80,$40 ; MUSIC, TROGDOR, TITLE
.byte $D0,$80,$40,$E3 ; MUSIC, TROGDOR, TITLE, FLAMES
track_array:
.byte 4,12,11 ; MUSIC, TROGDOR, TITLE
.byte 4,12,11,6 ; MUSIC, TROGDOR, TITLE, FLAMES
sector_array:
.byte 0,0,0 ; MUSIC, TROGDOR, TITLE
.byte 0,0,0,0 ; MUSIC, TROGDOR, TITLE, FLAMES
length_array:
.byte 32,64,32 ; MUSIC, TROGDOR, TITLE
.byte 32,64,32,24 ; MUSIC, TROGDOR, TITLE, FLAMES
PT3_ENABLE_APPLE_IIC = 1

View File

@ -176,6 +176,19 @@ done_set_message:
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
lda #1 ; XMAS
lda #1 ; TROGDOR
sta WHICH_LOAD
jsr load_file

View File

@ -4,7 +4,7 @@
.include "zp.inc"
.include "qload.inc"
.include "music.inc"
.include "flames.inc"
trogdor_main:
@ -133,4 +133,4 @@ hposn_high = $1f00
.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;
}