trogdor: add strongbad scene

This commit is contained in:
Vince Weaver 2024-01-29 00:42:56 -05:00
parent 1808c065df
commit 9bdfebdd30
6 changed files with 49 additions and 63 deletions

View File

@ -9,7 +9,7 @@ LINKER_SCRIPTS = ../../linker_scripts/
all: trogdor.dsk
trogdor.dsk: QBOOT QLOAD music.inc qload.inc \
MUSIC TROGDOR TITLE FLAMES COUNTRYSIDE
MUSIC TROGDOR TITLE FLAMES COUNTRYSIDE STRONGBAD
cp $(EMPTY_DISK) trogdor.dsk
$(DOS33_RAW) trogdor.dsk 0 0 QBOOT 0 1
$(DOS33_RAW) trogdor.dsk 0 2 QBOOT 1 1
@ -17,7 +17,8 @@ trogdor.dsk: QBOOT QLOAD music.inc qload.inc \
$(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 8 0 COUNTRYSIDE 0 0
$(DOS33_RAW) trogdor.dsk 8 0 COUNTRYSIDE 0 0
$(DOS33_RAW) trogdor.dsk 9 0 STRONGBAD 0 0
$(DOS33_RAW) trogdor.dsk 11 0 TITLE 0 0
$(DOS33_RAW) trogdor.dsk 12 0 TROGDOR 0 0
@ -159,6 +160,16 @@ countryside.o: countryside.s \
graphics/flame_sprites.inc
ca65 -o countryside.o countryside.s -l countryside.lst
####
STRONGBAD: strongbad.o
ld65 -o STRONGBAD strongbad.o -C $(LINKER_SCRIPTS)/apple2_c00.inc
strongbad.o: strongbad.s \
graphics/a2_strongbad.hgr.zx02
ca65 -o strongbad.o strongbad.s -l strongbad.lst
###
TITLE: title.o
@ -201,5 +212,6 @@ generate_common.o: generate_common.c
clean:
rm -f *~ *.o *.lst QBOOT QLOAD MUSIC TROGDOR
rm -f *~ *.o *.lst QBOOT QLOAD \
MUSIC TROGDOR FLAMES COUNTRYSIDE TITLE STRONGBAD
rm -f qload.inc music.inc generate_common

View File

@ -134,18 +134,13 @@ Space:
$0300-$0369 = preshift table
$0400-$07FF = text/lores PAGE1
$0800-$08ff = QBOOT (can be over-written)
; need 1623 for strongbad ($657)
$0900-$0BFF = text/lores PAGE2 (empty)
$0C00-$0FFF = appears empty?
$1000-$11FF = QBOOT_STAGE2
$1200-$188A = QLOAD ($68A, 1676)
($b12, 2834)
$1200-$1D12 = QLOAD
; need 1623 for strongbad ($657)
$1C00-$1CFF = mod7_table
$1D00-$1DFF = div7_table
$1200-$1D12 = QLOAD ($b12, 2834)
$1E00-$1EFF = hposn_low
$1F00-$2000 = hposn_high
$2000-$3FFF = page1 (8k)
$4000-$5fff = page2 (8k)
$6000-$7fff = off-screen draw (8k)

View File

@ -164,27 +164,27 @@ error_string:
which_disk_array:
.byte 1,1,1,1 ; MUSIC, TROGDOR, TITLE, FLAMES
.byte 1 ; COUNTRYSIDE
.byte 1,1 ; COUNTRYSIDE, STRONGBAD
load_address_array:
.byte $D0,$80,$40,$E3 ; MUSIC, TROGDOR, TITLE, FLAMES
.byte $FA ; COUNTRYSIDE
.byte $FA,$09 ; COUNTRYSIDE, STRONGBAD
start_address:
.byte $D0,$80,$40,$E3 ; MUSIC, TROGDOR, TITLE, FLAMES
.byte $FA ; COUNTRYSIDE
.byte $FA,$09 ; COUNTRYSIDE, STRONGBAD
track_array:
.byte 4,12,11,6 ; MUSIC, TROGDOR, TITLE, FLAMES
.byte 8 ; COUNTRYSIDE
.byte 8, 9 ; COUNTRYSIDE, STRONGBAD
sector_array:
.byte 0,0,0,0 ; MUSIC, TROGDOR, TITLE, FLAMES
.byte 0 ; COUNTRYSIDE
.byte 0,0 ; COUNTRYSIDE, STRONGBAD
length_array:
.byte 32,64,32,24 ; MUSIC, TROGDOR, TITLE, FLAMES
.byte 5 ; COUNTRYSIDE
.byte 5, 7 ; COUNTRYSIDE, STRONGBAD
PT3_ENABLE_APPLE_IIC = 1
@ -205,12 +205,10 @@ PT3_ENABLE_APPLE_IIC = 1
.include "pt3_lib_detect_model.s"
.include "pt3_lib_mockingboard_detect.s"
mod7_table = $1c00
div7_table = $1d00
hposn_low = $1e00
hposn_high = $1f00
.include "hgr_table.s"
.include "hgr_table.s"
.include "hgr_sprite_big_mask.s"
.include "horiz_scroll_simple.s"
.include "horiz_scroll_skip.s"

View File

@ -203,6 +203,19 @@ load_countryside:
jsr load_file
;=======================
;=======================
; Load STRONGBAD
;=======================
;=======================
load_strongbad:
; load from disk
lda #5 ; COUNTRYSIDE
sta WHICH_LOAD
jsr load_file
;=======================
;=======================

View File

@ -0,0 +1,2 @@
strongbad_data:
.incbin "graphics/a2_strongbad.hgr.zx02"

View File

@ -1097,7 +1097,15 @@ done_upside_down_flame:
;======================================
; strongbad at computer
; TODO
lda #<$900
sta zx_src_l+1
lda #>$900
sta zx_src_h+1
lda #$20
jsr zx02_full_decomp
jsr hgr_page_flip
finished:
bit KEYRESET
@ -1121,7 +1129,7 @@ trog04_graphics:
.include "wait_keypress.s"
;.include "irq_wait.s"
peasant_data_x1:
@ -1137,49 +1145,7 @@ peasant_data_sprite_x:
peasant_data_sprite_y:
.byte 92, 30, 91, 2, 8
; .include "do_flames.s"
.if 0
;=========================================
; hgr_copy_right
;=========================================
; copy right side of $6000 to current page
hgr_copy_right:
lda #0
sta COPY_Y1
sta SPRITE_Y
lda #10
sta SPRITE_X
lda #20
sta COPY_X1
lda #20
sta COPY_WIDTH
lda #191
sta COPY_Y2
jmp hgr_copy_part ; tail call
;=========================================
; hgr_copy_left
;=========================================
; copy left side of $6000 to current page
hgr_copy_left:
lda #0
sta COPY_X1
sta COPY_Y1
sta SPRITE_Y
lda #10
sta SPRITE_X
lda #20
sta COPY_WIDTH
lda #191
sta COPY_Y2
jmp hgr_copy_part ; tail call
.endif
;==========================
; man flames