From 47e1cee97aa04b0f6dd7712ed0eb105aff7f938b Mon Sep 17 00:00:00 2001 From: Vince Weaver Date: Wed, 11 Aug 2021 00:41:29 -0400 Subject: [PATCH] peasant: load everything again --- games/peasant/Makefile | 2 +- games/peasant/intro.s | 143 ++++++++++++++++++++++++++++++++++++++++- games/peasant/qload.s | 81 +++++++++++------------ 3 files changed, 183 insertions(+), 43 deletions(-) diff --git a/games/peasant/Makefile b/games/peasant/Makefile index 86a363ef..2e506547 100644 --- a/games/peasant/Makefile +++ b/games/peasant/Makefile @@ -16,7 +16,7 @@ peasant.dsk: QBOOT QLOAD INTRO PEASANT $(DOS33_RAW) peasant.dsk 0 4 QBOOT 2 1 $(DOS33_RAW) peasant.dsk 1 0 QLOAD 0 0 $(DOS33_RAW) peasant.dsk 3 0 INTRO 0 0 -# $(DOS33_RAW) peasant.dsk 3 0 PEASANT 0 0 + $(DOS33_RAW) peasant.dsk 10 0 PEASANT 0 0 ### diff --git a/games/peasant/intro.s b/games/peasant/intro.s index ebbc5bd4..3b4c3551 100644 --- a/games/peasant/intro.s +++ b/games/peasant/intro.s @@ -47,8 +47,147 @@ hgr_display: jsr wait_until_keypress -forever: - jmp forever + + ldy #0 +animation_loop: + + lda delays,Y + bmi done_loop + + lda animation_low,Y + sta getsrc_smc+1 + lda animation_high,Y + sta getsrc_smc+2 + + tya + pha + + lda #$40 + + jsr decompress_lzsa2_fast + + pla + tay + + iny + + jmp animation_loop + +done_loop: + rts + +;forever: +; jmp forever + +animation_low: + .byte title_anim01_lzsa + .byte >title_anim02_lzsa + .byte >title_anim03_lzsa + .byte >title_anim04_lzsa + .byte >title_anim05_lzsa + .byte >title_anim06_lzsa + .byte >title_anim07_lzsa + .byte >title_anim08_lzsa + .byte >title_anim09_lzsa + .byte >title_anim10_lzsa + .byte >title_anim11_lzsa + .byte >title_anim12_lzsa + .byte >title_anim13_lzsa + .byte >title_anim14_lzsa + .byte >title_anim15_lzsa + .byte >title_anim16_lzsa + .byte >title_anim17_lzsa + .byte >title_anim18_lzsa + .byte >title_anim19_lzsa + .byte >title_anim20_lzsa + .byte >title_anim21_lzsa + .byte >title_anim22_lzsa + .byte >title_anim23_lzsa + .byte >title_anim24_lzsa + .byte >title_anim25_lzsa + .byte >title_anim26_lzsa + .byte >title_anim27_lzsa + .byte >title_anim28_lzsa + .byte >title_anim29_lzsa + .byte >title_anim30_lzsa + .byte >title_anim31_lzsa + .byte >title_anim32_lzsa + .byte >title_anim33_lzsa + .byte >title_anim34_lzsa + +delays: + .byte 1 ; 1 + .byte 1 ; 2 + .byte 1 ; 3 + .byte 1 ; 4 + .byte 1 ; 5 + .byte 1 ; 6 + .byte 1 ; 7 + .byte 1 ; 8 + .byte 1 ; 9 + .byte 1 ; 10 + .byte 1 ; 11 + .byte 1 ; 12 + .byte 1 ; 13 + .byte 1 ; 14 + .byte 1 ; 15 + .byte 1 ; 16 + .byte 1 ; 17 + .byte 1 ; 18 + .byte 1 ; 19 + .byte 1 ; 20 + .byte 1 ; 21 + .byte 1 ; 22 + .byte 1 ; 23 + .byte 1 ; 24 + .byte 1 ; 25 + .byte 1 ; 26 + .byte 1 ; 27 + .byte 1 ; 28 + .byte 1 ; 29 + .byte 1 ; 30 + .byte 1 ; 31 + .byte 1 ; 32 + .byte 1 ; 33 + .byte 1 ; 34 + .byte $FF + .include "decompress_fast_v2.s" diff --git a/games/peasant/qload.s b/games/peasant/qload.s index f874d1d5..4abd278e 100644 --- a/games/peasant/qload.s +++ b/games/peasant/qload.s @@ -13,7 +13,8 @@ OUTL = $FE OUTH = $FF -LOAD_TITLE = 0 +LOAD_INTRO = 0 +LOAD_PEASANT = 1 .include "hardware.inc" @@ -29,7 +30,7 @@ qload_start: ; first time entry ; start by loading text title - lda #LOAD_TEXT_TITLE ; load title + lda #LOAD_INTRO ; load intro sta WHICH_LOAD lda #1 @@ -37,9 +38,9 @@ qload_start: jsr load_file - jsr $800 + jsr $6000 - lda #LOAD_TITLE ; load title + lda #LOAD_PEASANT ; load peasant sta WHICH_LOAD main_game_loop: @@ -191,50 +192,50 @@ error_string: which_disk_array: - .byte 1,1,3,3 ; MIST_TITLE,MIST,MECHE,SELENA - .byte 1,1,3,2 ; OCTAGON,VIEWER,STONEY,CHANNEL - .byte 2,1,2,2 ; CABIN,DENTIST,ARBOR,NIBEL - .byte 1,1,1,3 ; SHIP,GENERATOR,D'NI,SUB - .byte 1 ; TEXT_TITLE - .byte 1,1,1,1,1 ; SAVE1,SAVE2,SAVE3,SAVE4,SAVE5 - .byte $f ; FIRST_SECTOR + .byte 1,1,3,3 ; INTRO, PEASANT + .byte 1,1,3,2 ; + .byte 2,1,2,2 ; + .byte 1,1,1,3 ; + .byte 1 ; + .byte 1,1,1,1,1 ; + .byte $f ; load_address_array: - .byte $60,$40,$40,$40 ; MIST_TITLE,MIST,MECHE,SELENA - .byte $40,$40,$40,$40 ; OCTAGON,VIEWER,STONEY,CHANNEL - .byte $40,$40,$40,$40 ; CABIN,DENTIST,ARBOR,NIBEL - .byte $40,$40,$40,$40 ; SHIP,GENERATOR,D'NI,SUB - .byte $08 ; TEXT_TITLE - .byte $0A,$0A,$0A,$0A - .byte $0A ; SAVE1,SAVE2,SAVE3,SAVE4,SAVE5 - .byte $08 ; FIRST_SECTOR + .byte $60,$60,$40,$40 ; INTRO, PEASANT + .byte $40,$40,$40,$40 ; + .byte $40,$40,$40,$40 ; + .byte $40,$40,$40,$40 ; + .byte $08 ; + .byte $0A,$0A,$0A,$0A ; + .byte $0A ; + .byte $08 ; track_array: - .byte 3, 9, 1,21 ; MIST_TITLE,MIST,MECHE,SELENA - .byte 18,31,11, 1 ; OCTAGON,VIEWER,STONEY,CHANNEL - .byte 27,26,10,20 ; CABIN,DENTIST,ARBOR,NIBEL - .byte 30,32,28,30 ; SHIP,GENERATOR,D'NI,SUB - .byte 0 ; TEXT_TITLE - .byte 0, 0, 0, 0, 0 ; SAVE1,SAVE2,SAVE3,SAVE4,SAVE5 - .byte 0 ; FIRST_SECTOR + .byte 3,10, 1,21 ; INTRO, PEASANT + .byte 18,31,11, 1 ; + .byte 27,26,10,20 ; + .byte 30,32,28,30 ; + .byte 0 ; + .byte 0, 0, 0, 0, 0 ; + .byte 0 ; sector_array: - .byte 0, 0, 0, 0 ; MIST_TITLE,MIST,MECHE,SELENA - .byte 0, 8, 0, 0 ; OCTAGON,VIEWER,STONEY,CHANNEL - .byte 0, 0, 0, 0 ; CABIN,DENTIST,ARBOR,NIBEL - .byte 0,13, 0, 1 ; SHIP,GENERATOR,D'NI,SUB - .byte 6 ; TEXT_TITLE - .byte 11,12,13,14,15 ; SAVE1,SAVE2,SAVE3,SAVE4,SAVE5 - .byte 0 ; FIRST_SECTOR + .byte 0, 0, 0, 0 ; INTRO, PEASANT + .byte 0, 8, 0, 0 ; + .byte 0, 0, 0, 0 ; + .byte 0,13, 0, 1 ; + .byte 6 ; + .byte 11,12,13,14,15 ; + .byte 0 ; length_array: - .byte 88, 99,157,145 ; MIST_TITLE,MIST,MECHE,SELENA - .byte 128, 20,158,135 ; OCTAGON,VIEWER,STONEY,CHANNEL - .byte 61, 31,159,109 ; CABIN,DENTIST,ARBOR,NIBEL - .byte 20, 33, 27, 78 ; SHIP,GENERATOR,D'NI,SUB - .byte 3 ; TEXT_TITLE - .byte 1,1,1,1,1 ; SAVE1,SAVE2,SAVE3,SAVE4,SAVE5 - .byte 1 ; FIRST_SECTOR + .byte 88, 88,157,145 ; INTRO, PEASANT + .byte 128, 20,158,135 ; + .byte 61, 31,159,109 ; + .byte 20, 33, 27, 78 ; + .byte 3 ; + .byte 1,1,1,1,1 ; + .byte 1 ; .include "qkumba_popwr.s"