diff --git a/demos/trogdor/Makefile b/demos/trogdor/Makefile index 2b578c76..2927f17b 100644 --- a/demos/trogdor/Makefile +++ b/demos/trogdor/Makefile @@ -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 diff --git a/demos/trogdor/NOTES b/demos/trogdor/NOTES index 984588d4..d38173a7 100644 --- a/demos/trogdor/NOTES +++ b/demos/trogdor/NOTES @@ -128,3 +128,7 @@ Space: ===== 28281 = 28k or so + + + $D000 - $E2FF = MUSIC ($12DF in size) 4831 + $E300 - $FA00 = FLAMES ($1650 in size) 5712 diff --git a/demos/trogdor/flames.s b/demos/trogdor/flames.s new file mode 100644 index 00000000..b5dfb754 --- /dev/null +++ b/demos/trogdor/flames.s @@ -0,0 +1 @@ +.include "graphics/flame_sprites.inc" diff --git a/demos/trogdor/qload.s b/demos/trogdor/qload.s index b45ea1a7..64d7fe47 100644 --- a/demos/trogdor/qload.s +++ b/demos/trogdor/qload.s @@ -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 diff --git a/demos/trogdor/start.s b/demos/trogdor/start.s index 94df1ae2..7529b7a3 100644 --- a/demos/trogdor/start.s +++ b/demos/trogdor/start.s @@ -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 diff --git a/demos/trogdor/trogdor.s b/demos/trogdor/trogdor.s index 5368106d..59bb72ac 100644 --- a/demos/trogdor/trogdor.s +++ b/demos/trogdor/trogdor.s @@ -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" diff --git a/linker_scripts/apple2_e300.inc b/linker_scripts/apple2_e300.inc new file mode 100644 index 00000000..641debbb --- /dev/null +++ b/linker_scripts/apple2_e300.inc @@ -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; +}