diff --git a/games/peasant/Makefile b/games/peasant/Makefile index 071fd819..48e9f680 100644 --- a/games/peasant/Makefile +++ b/games/peasant/Makefile @@ -164,6 +164,7 @@ INTRO: intro.o intro.o: intro.s zp.inc qload.inc music.inc \ graphics/graphics_intro.inc sprites/peasant_sprite.inc \ + graphics/priority_intro.inc \ draw_box.s hgr_rectangle.s hgr_font.s hgr_input.s \ hgr_7x28_sprite.s hgr_1x5_sprite.s hgr_save_restore.s \ hgr_partial_save.s \ diff --git a/games/peasant/graphics/Makefile b/games/peasant/graphics/Makefile index e0b75009..554e476a 100644 --- a/games/peasant/graphics/Makefile +++ b/games/peasant/graphics/Makefile @@ -11,6 +11,7 @@ all: graphics_intro.inc \ graphics_peasant3.inc \ graphics_peasant4.inc \ priority_peasant1.inc \ + priority_intro.inc \ priority_peasant2.inc \ priority_peasant3.inc \ priority_peasant4.inc @@ -29,7 +30,7 @@ graphics_intro.inc: \ echo "lake_e_lzsa: .incbin \"lake_e.lzsa\"" >> graphics_intro.inc echo "river_lzsa: .incbin \"river.lzsa\"" >> graphics_intro.inc echo "knight_lzsa: .incbin \"knight.lzsa\"" >> graphics_intro.inc - echo "waterfall_lzsa: .incbin \"waterfall.lzsa\"" >> graphics_intro.inc +# echo "waterfall_lzsa: .incbin \"waterfall.lzsa\"" >> graphics_intro.inc ### @@ -90,7 +91,14 @@ graphics_peasant4.inc: \ echo "crooked_tree_lzsa: .incbin \"crooked_tree.lzsa\"" >> graphics_peasant4.inc ########### -########### + +priority_intro.inc: \ + todo_priority.lzsa + echo "cottage_priority_lzsa: .incbin \"todo_priority.lzsa\"" > priority_intro.inc + echo "lake_w_priority_lzsa: .incbin \"todo_priority.lzsa\"" >> priority_intro.inc + echo "lake_e_priority_lzsa: .incbin \"todo_priority.lzsa\"" >> priority_intro.inc + echo "river_priority_lzsa: .incbin \"todo_priority.lzsa\"" >> priority_intro.inc + echo "knight_priority_lzsa: .incbin \"todo_priority.lzsa\"" >> priority_intro.inc priority_peasant1.inc: \ waterfall_priority.lzsa \ diff --git a/games/peasant/intro.s b/games/peasant/intro.s index 837cb442..34513e51 100644 --- a/games/peasant/intro.s +++ b/games/peasant/intro.s @@ -188,8 +188,11 @@ mockingboard_notfound2: .include "hgr_1x5_sprite.s" +.include "gr_copy.s" + .include "wait.s" .include "wait_a_bit.s" .include "graphics/graphics_intro.inc" +.include "graphics/priority_intro.inc" diff --git a/games/peasant/intro_cottage.s b/games/peasant/intro_cottage.s index 745cb0dd..f68bee56 100644 --- a/games/peasant/intro_cottage.s +++ b/games/peasant/intro_cottage.s @@ -34,6 +34,24 @@ cottage: jsr decompress_lzsa2_fast + + ; load priority to $400 + ; indirectly as we can't trash screen holes + + lda #cottage_priority_lzsa + sta getsrc_smc+2 + + lda #$20 ; temporarily load to $2000 + + jsr decompress_lzsa2_fast + + ; copy to $400 + + jsr gr_copy_to_page1 + + ;=================== ; print title diff --git a/games/peasant/intro_knight.s b/games/peasant/intro_knight.s index 269f2b99..3422068c 100644 --- a/games/peasant/intro_knight.s +++ b/games/peasant/intro_knight.s @@ -42,6 +42,23 @@ knight: ; jsr hgr_save + ; load priority to $400 + ; indirectly as we can't trash screen holes + + lda #knight_priority_lzsa + sta getsrc_smc+2 + + lda #$20 ; temporarily load to $2000 + + jsr decompress_lzsa2_fast + + ; copy to $400 + + jsr gr_copy_to_page1 + + ;==================== ; save background diff --git a/games/peasant/intro_lake_e.s b/games/peasant/intro_lake_e.s index 2c00a532..b269cd08 100644 --- a/games/peasant/intro_lake_e.s +++ b/games/peasant/intro_lake_e.s @@ -19,6 +19,8 @@ lake_east: lda #PEASANT_DIR_RIGHT sta PEASANT_DIR + ;===================== + ; load bg lda #<(lake_e_lzsa) sta getsrc_smc+1 @@ -29,6 +31,23 @@ lake_east: jsr decompress_lzsa2_fast + ; load priority to $400 + ; indirectly as we can't trash screen holes + + lda #lake_e_priority_lzsa + sta getsrc_smc+2 + + lda #$20 ; temporarily load to $2000 + + jsr decompress_lzsa2_fast + + ; copy to $400 + + jsr gr_copy_to_page1 + + lda #peasant_text diff --git a/games/peasant/intro_lake_w.s b/games/peasant/intro_lake_w.s index 35d2eee6..3d0c1043 100644 --- a/games/peasant/intro_lake_w.s +++ b/games/peasant/intro_lake_w.s @@ -40,6 +40,23 @@ lake_west: ; jsr hgr_save + ; load priority to $400 + ; indirectly as we can't trash screen holes + + lda #lake_w_priority_lzsa + sta getsrc_smc+2 + + lda #$20 ; temporarily load to $2000 + + jsr decompress_lzsa2_fast + + ; copy to $400 + + jsr gr_copy_to_page1 + + ;==================== ; save background diff --git a/games/peasant/intro_river.s b/games/peasant/intro_river.s index 847c745e..1ccbcf1f 100644 --- a/games/peasant/intro_river.s +++ b/games/peasant/intro_river.s @@ -42,6 +42,23 @@ river: ; jsr hgr_save + + ; load priority to $400 + ; indirectly as we can't trash screen holes + + lda #river_priority_lzsa + sta getsrc_smc+2 + + lda #$20 ; temporarily load to $2000 + + jsr decompress_lzsa2_fast + + ; copy to $400 + + jsr gr_copy_to_page1 + ;==================== ; save background diff --git a/games/peasant/talk/notes b/games/peasant/talk/notes index 54f0022c..23323592 100644 --- a/games/peasant/talk/notes +++ b/games/peasant/talk/notes @@ -8,6 +8,11 @@ HGR Backgrounds AGI-like? They abandoned it. Would save space +Priority backgrounds, like AGI + + load at $400, lo-res + + Can't use screen holes tricky (original Apple II 4k of RAM + so need to put slot info in first 4k) + Sprites easier in blocks 0f 7 still have to rotate 1 pixel for odd columns