peasant: work on moving music to MUSIC

had to re-arrange thigns a bit

also fix ESCAPE to work again in intro
This commit is contained in:
Vince Weaver 2021-09-23 23:49:10 -04:00
parent c913e3232a
commit d0a2b111c0
5 changed files with 84 additions and 16 deletions

View File

@ -10,7 +10,7 @@ all: peasant.dsk peasant_side2.dsk
peasant.dsk: QBOOT QLOAD VID_LOGO TITLE INTRO COPY_CHECK \
PEASANT1 PEASANT2 PEASANT3 PEASANT4 ENDING TROGDOR \
SAVE1 SAVE2 SAVE3
SAVE1 SAVE2 SAVE3 MUSIC
cp $(EMPTY_DISK)/empty.dsk peasant.dsk
$(DOS33_RAW) peasant.dsk 0 0 QBOOT 0 1
$(DOS33_RAW) peasant.dsk 0 2 QBOOT 1 1
@ -19,14 +19,15 @@ peasant.dsk: QBOOT QLOAD VID_LOGO TITLE INTRO COPY_CHECK \
$(DOS33_RAW) peasant.dsk 0 12 SAVE2 0 1
$(DOS33_RAW) peasant.dsk 0 13 SAVE3 0 1
$(DOS33_RAW) peasant.dsk 1 0 QLOAD 0 0
$(DOS33_RAW) peasant.dsk 3 0 VID_LOGO 0 0
$(DOS33_RAW) peasant.dsk 5 0 TITLE 0 0
$(DOS33_RAW) peasant.dsk 8 0 INTRO 0 0
$(DOS33_RAW) peasant.dsk 12 0 COPY_CHECK 0 0
$(DOS33_RAW) peasant.dsk 14 0 PEASANT1 0 0
$(DOS33_RAW) peasant.dsk 19 0 PEASANT2 0 0
$(DOS33_RAW) peasant.dsk 24 0 PEASANT3 0 0
$(DOS33_RAW) peasant.dsk 29 0 PEASANT4 0 0
$(DOS33_RAW) peasant.dsk 3 0 MUSIC 0 0
$(DOS33_RAW) peasant.dsk 4 0 VID_LOGO 0 0
$(DOS33_RAW) peasant.dsk 6 0 TITLE 0 0
$(DOS33_RAW) peasant.dsk 9 0 INTRO 0 0
$(DOS33_RAW) peasant.dsk 13 0 COPY_CHECK 0 0
$(DOS33_RAW) peasant.dsk 15 0 PEASANT1 0 0
$(DOS33_RAW) peasant.dsk 20 0 PEASANT2 0 0
$(DOS33_RAW) peasant.dsk 25 0 PEASANT3 0 0
$(DOS33_RAW) peasant.dsk 30 0 PEASANT4 0 0
peasant_side2.dsk: WBOOT2 TROGDOR ENDING
cp $(EMPTY_DISK)/empty.dsk peasant_side2.dsk
@ -108,6 +109,24 @@ intro.o: intro.s zp.inc \
###
MUSIC: music.o
ld65 -o MUSIC music.o -C $(LINKER_SCRIPTS)/apple2_d000.inc
music.o: music.s zp.inc \
music/peasant.pt3 \
pt3_lib_core.s \
pt3_lib_mockingboard_detect.s \
pt3_lib_detect_model.s \
pt3_lib_mockingboard.inc \
pt3_lib_init.s \
pt3_lib_mockingboard_setup.s \
pt3_lib_irq_handler.s
ca65 -o music.o music.s -l music.lst
###
PEASANT1: peasant1.o
ld65 -o PEASANT1 peasant1.o -C $(LINKER_SCRIPTS)/apple2_6000.inc

14
games/peasant/music.inc Normal file
View File

@ -0,0 +1,14 @@
; Danger: if you mess with MUSIC you'll have to update these
MUSIC_LOC=$D000
pt3_init_song=MUSIC_LOC+$8E8
clear_ay_both=MUSIC_LOC+$B71
reset_ay_both=MUSIC_LOC+$B2F
mockingboard_setup_interrupt=MUSIC_LOC+$B7E
mockingboard_disable_interrupt=MUSIC_LOC+$BA6
mockingboard_init=MUSIC_LOC+$B20
mockingboard_patch=MUSIC_LOC+$BB2
mockingboard_detect=MUSIC_LOC+$C5D
PT3_LOC=MUSIC_LOC+$D00

26
games/peasant/music.s Normal file
View File

@ -0,0 +1,26 @@
; music, music
; by Vince `deater` Weaver vince@deater.net
.include "hardware.inc"
.include "zp.inc"
;.include "qload.inc"
music_lib:
; pt3 player
; .include "pt3_lib_detect_model.s"
.include "pt3_lib_core.s"
.include "pt3_lib_init.s"
.include "pt3_lib_mockingboard_setup.s"
.include "interrupt_handler.s"
.include "pt3_lib_mockingboard_detect.s"
; only load one music track, self modify to make other
.align $100
PT3_LOC:
peasant_pt3:
.incbin "music/peasant.pt3"

View File

@ -190,7 +190,7 @@ error_string:
which_disk_array:
.byte 1,1,1,1 ; VID_LOGO, TITLE, INTRO. COPY_CHECK
.byte 1,1,1,1 ; PEASANT1, PEASANT2, PEASANT3, PEASANT4
.byte 2,2,1,1 ; TROGDOR, ENDING
.byte 2,2,1,1 ; TROGDOR, ENDING, MUSIC
.byte 1,1,1,1 ;
.byte 1 ;
.byte 1,1,1,1,1 ;
@ -199,7 +199,7 @@ which_disk_array:
load_address_array:
.byte $60,$60,$60,$60 ; VID_LOGO, TITLE, INTRO, COPY_CHECK
.byte $60,$60,$60,$60 ; PEASANT1, PEASANT2, PEASANT3, PEASANT4
.byte $60,$60,$40,$40 ; TROGDOR, ENDING
.byte $60,$60,$D0,$40 ; TROGDOR, ENDING, MUSIC
.byte $40,$40,$40,$40 ;
.byte $08 ;
.byte $0A,$0A,$0A,$0A ;
@ -207,9 +207,9 @@ load_address_array:
.byte $08 ;
track_array:
.byte 3, 5, 8,12 ; VID_LOGO, TITLE, INTRO, COPY_CHECK
.byte 14,19,24,29 ; PEASANT1, PEASANT2, PEASANT3, PEASANT4
.byte 24,29,10,20 ; TROGDOR, ENDING
.byte 4, 6, 9,13 ; VID_LOGO, TITLE, INTRO, COPY_CHECK
.byte 15,20,25,30 ; PEASANT1, PEASANT2, PEASANT3, PEASANT4
.byte 24,29, 3,20 ; TROGDOR, ENDING, MUSIC
.byte 30,32,28,30 ;
.byte 0 ;
.byte 0, 0, 0, 0, 0 ;
@ -218,7 +218,7 @@ track_array:
sector_array:
.byte 0, 0, 0, 0 ; VID_LOGO, TITLE, INTRO, COPY_CHECK
.byte 0, 0, 0, 0 ; PEASANT1, PEASANT2, PEASANT3, PEASANT4
.byte 0, 0, 0, 0 ; TROGDOR, ENDING
.byte 0, 0, 0, 0 ; TROGDOR, ENDING, MUSIC
.byte 0,13, 0, 1 ;
.byte 6 ;
.byte 11,12,13,14,15 ;
@ -227,7 +227,7 @@ sector_array:
length_array:
.byte 32, 50, 60, 20 ; VID_LOGO, TITLE, INTRO, COPY_CHECK
.byte 80, 80, 80, 80 ; PEASANT1, PEASANT2, PEASANT3, PEASANT4
.byte 80, 80,159,109 ; TROGDOR, ENDING
.byte 80, 80, 16,109 ; TROGDOR, ENDING, MUSIC
.byte 20, 33, 27, 78 ;
.byte 3 ;
.byte 1,1,1,1,1 ;

View File

@ -1,6 +1,7 @@
;====================================
; wait for keypress or a few seconds
;====================================
; A is length to wait
wait_a_bit:
@ -16,9 +17,17 @@ keyloop:
dex
bne keyloop
beq no_escape
done_keyloop:
and #$7f
cmp #27
bne no_escape
inc ESC_PRESSED
no_escape:
bit KEYRESET
rts