mist: move to lzsa compression of graphics

saves 7k or so
This commit is contained in:
Vince Weaver 2020-03-04 22:25:46 -05:00
parent a304431fa2
commit 8d654dce84
8 changed files with 224 additions and 2730 deletions

View File

@ -47,7 +47,7 @@ MIST: mist.o
mist.o: mist.s zp.inc hardware.inc \ mist.o: mist.s zp.inc hardware.inc \
graphics_island/mist_graphics.inc \ graphics_island/mist_graphics.inc \
gr_copy.s gr_unrle.s audio.s text_print.s gr_copy.s gr_unrle.s audio.s text_print.s decompress_small_v2.s
ca65 -o mist.o mist.s -l mist.lst ca65 -o mist.o mist.s -l mist.lst
#### ####

View File

@ -16,3 +16,16 @@ Make graphics use lzsa compression
Move sound to language card (meaning no sound on II+ w/o language card) Move sound to language card (meaning no sound on II+ w/o language card)
Marker Switches (8):
+ * Dock
+ * Gears
+ Dentist
+ * Pool
+ Spaceship
+ Clock
+ Cabin
Fireplace:
+ 8x6 grid

View File

@ -44,7 +44,12 @@
;NIBCOUNT = $FC ; zero-page location for temp offset ;NIBCOUNT = $FC ; zero-page location for temp offset
decompress_lzsa2: decompress_lzsa2:
; page to decompress to in a
sta LZSA_DST_HI
ldy #$00 ldy #$00
sty LZSA_DST_LO
sty NIBCOUNT sty NIBCOUNT
decode_token: decode_token:

View File

@ -1,85 +1,94 @@
#include ../Makefile.inc #include ../Makefile.inc
PNG2RLE = ../../gr-utils/png2rle PNG2RLE = ../../gr-utils/png2rle
PNG2GR = ../../gr-utils/png2gr
LZSA = ~/research/lzsa/lzsa/lzsa
all: mist_graphics.inc all: mist_graphics.inc
#### ####
mist_graphics.inc: \ mist_graphics.inc: \
m_link_book.png \ m_link_book.lzsa \
dock_n.png dock_s.png dock_e.png dock_w.png \ dock_n.lzsa dock_s.lzsa dock_e.lzsa dock_w.lzsa \
dock_switch_n.png \ dock_switch_n.lzsa dock_switch_s.lzsa \
dock_steps_w.png \ dock_steps_w.lzsa \
above_dock_e.png above_dock_n.png above_dock_s.png \ above_dock_e.lzsa above_dock_n.lzsa above_dock_s.lzsa \
step_base_s.png step_base_n.png \ step_base_s.lzsa step_base_n.lzsa \
step_land1_w.png step_land1_e.png \ step_land1_w.lzsa step_land1_e.lzsa \
step_land2_e.png step_land2_w.png \ step_land2_e.lzsa step_land2_w.lzsa \
step_dentist_e.png step_dentist_w.png \ step_dentist_e.lzsa step_dentist_w.lzsa \
step_land3_w.png step_land3_e.png \ step_land3_w.lzsa step_land3_e.lzsa \
step_top_e.png step_top_w.png step_top_n.png step_top_s.png \ step_top_e.lzsa step_top_w.lzsa step_top_n.lzsa step_top_s.lzsa \
temple_door_n.png temple_door_s.png \ temple_door_n.lzsa temple_door_s.lzsa \
temple_center_n.png temple_center_w.png \ temple_center_n.lzsa temple_center_s.lzsa temple_center_e.lzsa temple_center_w.lzsa \
red_book_shelf.png \ red_book_shelf.lzsa \
red_book_closed.png \ red_book_closed.lzsa \
pool_s.png \ pool_s.lzsa \
clock_s.png \ clock_s.lzsa \
spaceship_far_e.png spaceship_far_n.png \ spaceship_far_e.lzsa spaceship_far_n.lzsa \
red_book_open.png red_book_static.png red_book_static2.png \ red_book_open.lzsa red_book_static.lzsa red_book_static2.lzsa \
tree2_n.png \ tree2_n.lzsa \
tree5_n.png tree5_e.png \ tree5_n.lzsa tree5_e.lzsa \
gear_n.png gear_w.png gear_s.png \ gear_n.lzsa gear_w.lzsa gear_s.lzsa \
gear_base_n.png gear_base_n.lzsa
$(PNG2RLE) asm m_link_book.png link_book_rle > mist_graphics.inc echo "m_link_book_lzsa: .incbin \"m_link_book.lzsa\"" > mist_graphics.inc
$(PNG2RLE) asm dock_n.png dock_n_rle >> mist_graphics.inc echo "dock_n_lzsa: .incbin \"dock_n.lzsa\"" >> mist_graphics.inc
$(PNG2RLE) asm dock_s.png dock_s_rle >> mist_graphics.inc echo "dock_s_lzsa: .incbin \"dock_s.lzsa\"" >> mist_graphics.inc
$(PNG2RLE) asm dock_e.png dock_e_rle >> mist_graphics.inc echo "dock_e_lzsa: .incbin \"dock_e.lzsa\"" >> mist_graphics.inc
$(PNG2RLE) asm dock_w.png dock_w_rle >> mist_graphics.inc echo "dock_w_lzsa: .incbin \"dock_w.lzsa\"" >> mist_graphics.inc
$(PNG2RLE) asm dock_switch_n.png dock_switch_n_rle >> mist_graphics.inc echo "dock_switch_n_lzsa: .incbin \"dock_switch_n.lzsa\"" >> mist_graphics.inc
$(PNG2RLE) asm dock_switch_s.png dock_switch_s_rle >> mist_graphics.inc echo "dock_switch_s_lzsa: .incbin \"dock_switch_s.lzsa\"" >> mist_graphics.inc
$(PNG2RLE) asm dock_steps_w.png dock_steps_w_rle >> mist_graphics.inc echo "dock_steps_w_lzsa: .incbin \"dock_steps_w.lzsa\"" >> mist_graphics.inc
$(PNG2RLE) asm above_dock_e.png above_dock_e_rle >> mist_graphics.inc echo "above_dock_e_lzsa: .incbin \"above_dock_e.lzsa\"" >> mist_graphics.inc
$(PNG2RLE) asm above_dock_s.png above_dock_s_rle >> mist_graphics.inc echo "above_dock_s_lzsa: .incbin \"above_dock_s.lzsa\"" >> mist_graphics.inc
$(PNG2RLE) asm above_dock_n.png above_dock_n_rle >> mist_graphics.inc echo "above_dock_n_lzsa: .incbin \"above_dock_n.lzsa\"" >> mist_graphics.inc
$(PNG2RLE) asm step_base_n.png step_base_n_rle >> mist_graphics.inc echo "step_base_n_lzsa: .incbin \"step_base_n.lzsa\"" >> mist_graphics.inc
$(PNG2RLE) asm step_base_s.png step_base_s_rle >> mist_graphics.inc echo "step_base_s_lzsa: .incbin \"step_base_s.lzsa\"" >> mist_graphics.inc
$(PNG2RLE) asm step_land1_w.png step_land1_w_rle >> mist_graphics.inc echo "step_land1_w_lzsa: .incbin \"step_land1_w.lzsa\"" >> mist_graphics.inc
$(PNG2RLE) asm step_land1_e.png step_land1_e_rle >> mist_graphics.inc echo "step_land1_e_lzsa: .incbin \"step_land1_e.lzsa\"" >> mist_graphics.inc
$(PNG2RLE) asm step_land2_w.png step_land2_w_rle >> mist_graphics.inc echo "step_land2_w_lzsa: .incbin \"step_land2_w.lzsa\"" >> mist_graphics.inc
$(PNG2RLE) asm step_land2_e.png step_land2_e_rle >> mist_graphics.inc echo "step_land2_e_lzsa: .incbin \"step_land2_e.lzsa\"" >> mist_graphics.inc
$(PNG2RLE) asm step_dentist_w.png step_dentist_w_rle >> mist_graphics.inc echo "step_dentist_w_lzsa: .incbin \"step_dentist_w.lzsa\"" >> mist_graphics.inc
$(PNG2RLE) asm step_dentist_e.png step_dentist_e_rle >> mist_graphics.inc echo "step_dentist_e_lzsa: .incbin \"step_dentist_e.lzsa\"" >> mist_graphics.inc
$(PNG2RLE) asm step_land3_w.png step_land3_w_rle >> mist_graphics.inc echo "step_land3_w_lzsa: .incbin \"step_land3_w.lzsa\"" >> mist_graphics.inc
$(PNG2RLE) asm step_land3_e.png step_land3_e_rle >> mist_graphics.inc echo "step_land3_e_lzsa: .incbin \"step_land3_e.lzsa\"" >> mist_graphics.inc
$(PNG2RLE) asm step_top_e.png step_top_e_rle >> mist_graphics.inc echo "step_top_e_lzsa: .incbin \"step_top_e.lzsa\"" >> mist_graphics.inc
$(PNG2RLE) asm step_top_w.png step_top_w_rle >> mist_graphics.inc echo "step_top_w_lzsa: .incbin \"step_top_w.lzsa\"" >> mist_graphics.inc
$(PNG2RLE) asm step_top_n.png step_top_n_rle >> mist_graphics.inc echo "step_top_n_lzsa: .incbin \"step_top_n.lzsa\"" >> mist_graphics.inc
$(PNG2RLE) asm step_top_s.png step_top_s_rle >> mist_graphics.inc echo "step_top_s_lzsa: .incbin \"step_top_s.lzsa\"" >> mist_graphics.inc
$(PNG2RLE) asm temple_door_n.png temple_door_n_rle >> mist_graphics.inc echo "temple_door_n_lzsa: .incbin \"temple_door_n.lzsa\"" >> mist_graphics.inc
$(PNG2RLE) asm temple_door_s.png temple_door_s_rle >> mist_graphics.inc echo "temple_door_s_lzsa: .incbin \"temple_door_s.lzsa\"" >> mist_graphics.inc
$(PNG2RLE) asm temple_center_n.png temple_center_n_rle >> mist_graphics.inc echo "temple_center_n_lzsa: .incbin \"temple_center_n.lzsa\"" >> mist_graphics.inc
$(PNG2RLE) asm temple_center_s.png temple_center_s_rle >> mist_graphics.inc echo "temple_center_s_lzsa: .incbin \"temple_center_s.lzsa\"" >> mist_graphics.inc
$(PNG2RLE) asm temple_center_e.png temple_center_e_rle >> mist_graphics.inc echo "temple_center_e_lzsa: .incbin \"temple_center_e.lzsa\"" >> mist_graphics.inc
$(PNG2RLE) asm temple_center_w.png temple_center_w_rle >> mist_graphics.inc echo "temple_center_w_lzsa: .incbin \"temple_center_w.lzsa\"" >> mist_graphics.inc
$(PNG2RLE) asm red_book_closed.png red_book_closed_rle >> mist_graphics.inc echo "red_book_closed_lzsa: .incbin \"red_book_closed.lzsa\"" >> mist_graphics.inc
$(PNG2RLE) asm red_book_shelf.png red_book_shelf_rle >> mist_graphics.inc echo "red_book_shelf_lzsa: .incbin \"red_book_shelf.lzsa\"" >> mist_graphics.inc
$(PNG2RLE) asm pool_s.png pool_s_rle >> mist_graphics.inc echo "pool_s_lzsa: .incbin \"pool_s.lzsa\"" >> mist_graphics.inc
$(PNG2RLE) asm clock_s.png clock_s_rle >> mist_graphics.inc echo "clock_s_lzsa: .incbin \"clock_s.lzsa\"" >> mist_graphics.inc
$(PNG2RLE) asm spaceship_far_n.png ss_far_n_rle >> mist_graphics.inc echo "spaceship_far_n_lzsa: .incbin \"spaceship_far_n.lzsa\"" >> mist_graphics.inc
$(PNG2RLE) asm spaceship_far_e.png ss_far_e_rle >> mist_graphics.inc echo "spaceship_far_e_lzsa: .incbin \"spaceship_far_e.lzsa\"" >> mist_graphics.inc
$(PNG2RLE) asm red_book_open.png red_book_open_rle >> mist_graphics.inc echo "red_book_open_lzsa: .incbin \"red_book_open.lzsa\"" >> mist_graphics.inc
$(PNG2RLE) asm red_book_static.png red_book_static_rle >> mist_graphics.inc echo "red_book_static_lzsa: .incbin \"red_book_static.lzsa\"" >> mist_graphics.inc
$(PNG2RLE) asm red_book_static2.png red_book_static2_rle >> mist_graphics.inc echo "red_book_static2_lzsa: .incbin \"red_book_static2.lzsa\"" >> mist_graphics.inc
$(PNG2RLE) asm tree2_n.png tree2_n_rle >> mist_graphics.inc echo "tree2_n_lzsa: .incbin \"tree2_n.lzsa\"" >> mist_graphics.inc
$(PNG2RLE) asm tree5_n.png tree5_n_rle >> mist_graphics.inc echo "tree5_n_lzsa: .incbin \"tree5_n.lzsa\"" >> mist_graphics.inc
$(PNG2RLE) asm tree5_e.png tree5_e_rle >> mist_graphics.inc echo "tree5_e_lzsa: .incbin \"tree5_e.lzsa\"" >> mist_graphics.inc
$(PNG2RLE) asm gear_n.png gear_n_rle >> mist_graphics.inc echo "gear_n_lzsa: .incbin \"gear_n.lzsa\"" >> mist_graphics.inc
$(PNG2RLE) asm gear_s.png gear_s_rle >> mist_graphics.inc echo "gear_s_lzsa: .incbin \"gear_s.lzsa\"" >> mist_graphics.inc
$(PNG2RLE) asm gear_w.png gear_w_rle >> mist_graphics.inc echo "gear_w_lzsa: .incbin \"gear_w.lzsa\"" >> mist_graphics.inc
$(PNG2RLE) asm gear_base_n.png gear_base_n_rle >> mist_graphics.inc echo "gear_base_n_lzsa: .incbin \"gear_base_n.lzsa\"" >> mist_graphics.inc
%.gr: %.png
$(PNG2GR) $< $@
%.lzsa: %.gr
$(LZSA) -r -f2 $< $@
#### ####
clean: clean:
rm -f *~ *.o *.lst mist_graphics.inc rm -f *~ *.o *.lst *.gr mist_graphics.inc

File diff suppressed because it is too large Load Diff

View File

@ -55,3 +55,10 @@ tree5_n.png 704 649 546
sound: sound:
red_page.btc 5386 4366 4209 red_page.btc 5386 4366 4209
link_noise.btc 11656 7878 7371 link_noise.btc 11656 7878 7371
original rle version:
43,866
lzsa2 version
36,324

View File

@ -422,12 +422,12 @@ change_direction:
tay tay
lda (LOCATION_STRUCT_L),Y lda (LOCATION_STRUCT_L),Y
sta GBASL sta LZSA_SRC_LO
iny iny
lda (LOCATION_STRUCT_L),Y lda (LOCATION_STRUCT_L),Y
sta GBASH sta LZSA_SRC_HI
lda #$c ; load to page $c00 lda #$c ; load to page $c00
jsr load_rle_gr jsr decompress_lzsa2
rts rts
@ -645,12 +645,12 @@ red_book:
red_book_loop: red_book_loop:
lda #<red_book_static_rle lda #<red_book_static_lzsa
sta GBASL sta LZSA_SRC_LO
lda #>red_book_static_rle lda #>red_book_static_lzsa
sta GBASH sta LZSA_SRC_HI
lda #$c ; load to page $c00 lda #$c ; load to page $c00
jsr load_rle_gr jsr decompress_lzsa2
jsr gr_copy_to_current jsr gr_copy_to_current
@ -659,12 +659,12 @@ red_book_loop:
lda #120 lda #120
jsr WAIT jsr WAIT
lda #<red_book_static2_rle lda #<red_book_static2_lzsa
sta GBASL sta LZSA_SRC_LO
lda #>red_book_static2_rle lda #>red_book_static2_lzsa
sta GBASH sta LZSA_SRC_HI
lda #$c ; load to page $c00 lda #$c ; load to page $c00
jsr load_rle_gr jsr decompress_lzsa2
jsr gr_copy_to_current jsr gr_copy_to_current
@ -682,12 +682,12 @@ red_book_loop:
;; annoying brother ;; annoying brother
lda #<red_book_open_rle lda #<red_book_open_lzsa
sta GBASL sta LZSA_SRC_LO
lda #>red_book_open_rle lda #>red_book_open_lzsa
sta GBASH sta LZSA_SRC_HI
lda #$c ; load to page $c00 lda #$c ; load to page $c00
jsr load_rle_gr jsr decompress_lzsa2
jsr gr_copy_to_current jsr gr_copy_to_current
@ -716,12 +716,12 @@ red_book_done:
; restore bg ; restore bg
lda #<red_book_shelf_rle lda #<red_book_shelf_lzsa
sta GBASL sta LZSA_SRC_LO
lda #>red_book_shelf_rle lda #>red_book_shelf_lzsa
sta GBASH sta LZSA_SRC_HI
lda #$c ; load to page $c00 lda #$c ; load to page $c00
jsr load_rle_gr jsr decompress_lzsa2
rts rts
@ -735,12 +735,13 @@ red_book_done:
;========================== ;==========================
.include "gr_copy.s" .include "gr_copy.s"
.include "gr_unrle.s" ; .include "gr_unrle.s"
.include "gr_offsets.s" .include "gr_offsets.s"
.include "gr_pageflip.s" .include "gr_pageflip.s"
.include "gr_putsprite_crop.s" .include "gr_putsprite_crop.s"
.include "text_print.s" .include "text_print.s"
.include "gr_fast_clear.s" .include "gr_fast_clear.s"
.include "decompress_small_v2.s"
.include "audio.s" .include "audio.s"
@ -829,7 +830,7 @@ location0:
.byte $ff ; east exit_dir .byte $ff ; east exit_dir
.byte $ff ; west exit_dir .byte $ff ; west exit_dir
.byte $00 ; special exit .byte $00 ; special exit
.word link_book_rle ; north bg .word m_link_book_lzsa ; north bg
.word $0000 ; south bg .word $0000 ; south bg
.word $0000 ; east bg .word $0000 ; east bg
.word $0000 ; west bg .word $0000 ; west bg
@ -849,10 +850,10 @@ location1:
.byte $ff ; east exit_dir .byte $ff ; east exit_dir
.byte $ff ; west exit_dir .byte $ff ; west exit_dir
.byte $ff ; special exit .byte $ff ; special exit
.word dock_n_rle ; north bg .word dock_n_lzsa ; north bg
.word dock_s_rle ; south bg .word dock_s_lzsa ; south bg
.word dock_e_rle ; east bg .word dock_e_lzsa ; east bg
.word dock_w_rle ; west bg .word dock_w_lzsa ; west bg
.byte $ff,$ff ; special x .byte $ff,$ff ; special x
.byte $ff,$ff ; special y .byte $ff,$ff ; special y
.word $0000 ; special function .word $0000 ; special function
@ -869,8 +870,8 @@ location2:
.byte $ff ; east exit_dir .byte $ff ; east exit_dir
.byte $ff ; west exit_dir .byte $ff ; west exit_dir
.byte $00 ; special exit .byte $00 ; special exit
.word dock_switch_n_rle ; north bg .word dock_switch_n_lzsa ; north bg
.word dock_switch_s_rle ; south bg .word dock_switch_s_lzsa ; south bg
.word $0000 ; east bg .word $0000 ; east bg
.word $0000 ; west bg .word $0000 ; west bg
.byte 23,30 ; special x .byte 23,30 ; special x
@ -890,10 +891,10 @@ location3:
.byte DIRECTION_S ; east exit_dir .byte DIRECTION_S ; east exit_dir
.byte DIRECTION_S ; west exit_dir .byte DIRECTION_S ; west exit_dir
.byte $ff ; special exit .byte $ff ; special exit
.word gear_base_n_rle ; north bg .word gear_base_n_lzsa ; north bg
.word $0000 ; south bg .word $0000 ; south bg
.word $0000 ; east bg .word $0000 ; east bg
.word dock_steps_w_rle ; west bg .word dock_steps_w_lzsa ; west bg
.byte $ff,$ff ; special x .byte $ff,$ff ; special x
.byte $ff,$ff ; special y .byte $ff,$ff ; special y
.word $0000 ; special function .word $0000 ; special function
@ -910,9 +911,9 @@ location4:
.byte DIRECTION_S ; east exit_dir .byte DIRECTION_S ; east exit_dir
.byte $ff ; west exit_dir .byte $ff ; west exit_dir
.byte $ff ; special exit .byte $ff ; special exit
.word above_dock_n_rle ; north bg .word above_dock_n_lzsa ; north bg
.word above_dock_s_rle ; south bg .word above_dock_s_lzsa ; south bg
.word above_dock_e_rle ; east bg .word above_dock_e_lzsa ; east bg
.word $0000 ; west bg .word $0000 ; west bg
.byte $ff,$ff ; special x .byte $ff,$ff ; special x
.byte $ff,$ff ; special y .byte $ff,$ff ; special y
@ -930,8 +931,8 @@ location5:
.byte $ff ; east exit_dir .byte $ff ; east exit_dir
.byte $ff ; west exit_dir .byte $ff ; west exit_dir
.byte $ff ; special exit .byte $ff ; special exit
.word step_base_n_rle ; north bg .word step_base_n_lzsa ; north bg
.word step_base_s_rle ; south bg .word step_base_s_lzsa ; south bg
.word $0000 ; east bg .word $0000 ; east bg
.word $0000 ; west bg .word $0000 ; west bg
.byte $ff,$ff ; special x .byte $ff,$ff ; special x
@ -952,8 +953,8 @@ location6:
.byte $ff ; special exit .byte $ff ; special exit
.word $0000 ; north bg .word $0000 ; north bg
.word $0000 ; south bg .word $0000 ; south bg
.word step_land1_e_rle ; east bg .word step_land1_e_lzsa ; east bg
.word step_land1_w_rle ; west bg .word step_land1_w_lzsa ; west bg
.byte $ff,$ff ; special x .byte $ff,$ff ; special x
.byte $ff,$ff ; special y .byte $ff,$ff ; special y
.word $0000 ; special function .word $0000 ; special function
@ -972,8 +973,8 @@ location7:
.byte $00 ; special exit .byte $00 ; special exit
.word $0000 ; north bg .word $0000 ; north bg
.word $0000 ; south bg .word $0000 ; south bg
.word step_land2_e_rle ; east bg .word step_land2_e_lzsa ; east bg
.word step_land2_w_rle ; west bg .word step_land2_w_lzsa ; west bg
.byte 29,32 ; special x .byte 29,32 ; special x
.byte 38,45 ; special y .byte 38,45 ; special y
.word read_letter-1 .word read_letter-1
@ -992,8 +993,8 @@ location8:
.byte $ff ; special exit .byte $ff ; special exit
.word $0000 ; north bg .word $0000 ; north bg
.word $0000 ; south bg .word $0000 ; south bg
.word step_dentist_e_rle ; east bg .word step_dentist_e_lzsa ; east bg
.word step_dentist_w_rle ; west bg .word step_dentist_w_lzsa ; west bg
.byte $ff,$ff ; special x .byte $ff,$ff ; special x
.byte $ff,$ff ; special y .byte $ff,$ff ; special y
.word $0000 ; special function .word $0000 ; special function
@ -1012,8 +1013,8 @@ location9:
.byte $ff ; special exit .byte $ff ; special exit
.word $0000 ; north bg .word $0000 ; north bg
.word $0000 ; south bg .word $0000 ; south bg
.word step_land3_e_rle ; east bg .word step_land3_e_lzsa ; east bg
.word step_land3_w_rle ; west bg .word step_land3_w_lzsa ; west bg
.byte $ff,$ff ; special x .byte $ff,$ff ; special x
.byte $ff,$ff ; special y .byte $ff,$ff ; special y
.word $0000 ; special function .word $0000 ; special function
@ -1031,10 +1032,10 @@ location10:
.byte DIRECTION_E ; east exit_dir .byte DIRECTION_E ; east exit_dir
.byte DIRECTION_N ; west exit_dir .byte DIRECTION_N ; west exit_dir
.byte $ff ; special exit .byte $ff ; special exit
.word step_top_n_rle ; north bg .word step_top_n_lzsa ; north bg
.word step_top_s_rle ; south bg .word step_top_s_lzsa ; south bg
.word step_top_e_rle ; east bg .word step_top_e_lzsa ; east bg
.word step_top_w_rle ; west bg .word step_top_w_lzsa ; west bg
.byte $ff,$ff ; special x .byte $ff,$ff ; special x
.byte $ff,$ff ; special y .byte $ff,$ff ; special y
.word $0000 ; special function .word $0000 ; special function
@ -1051,8 +1052,8 @@ location11:
.byte $ff ; east exit_dir .byte $ff ; east exit_dir
.byte $ff ; west exit_dir .byte $ff ; west exit_dir
.byte $ff ; special exit .byte $ff ; special exit
.word temple_door_n_rle ; north bg .word temple_door_n_lzsa ; north bg
.word temple_door_s_rle ; south bg .word temple_door_s_lzsa ; south bg
.word $0000 ; east bg .word $0000 ; east bg
.word $0000 ; west bg .word $0000 ; west bg
.byte $ff,$ff ; special x .byte $ff,$ff ; special x
@ -1071,10 +1072,10 @@ location12:
.byte $ff ; east exit_dir .byte $ff ; east exit_dir
.byte DIRECTION_W ; west exit_dir .byte DIRECTION_W ; west exit_dir
.byte $ff ; special exit .byte $ff ; special exit
.word temple_center_n_rle ; north bg .word temple_center_n_lzsa ; north bg
.word temple_center_s_rle ; south bg .word temple_center_s_lzsa ; south bg
.word temple_center_e_rle ; east bg .word temple_center_e_lzsa ; east bg
.word temple_center_w_rle ; west bg .word temple_center_w_lzsa ; west bg
.byte $ff,$ff ; special x .byte $ff,$ff ; special x
.byte $ff,$ff ; special y .byte $ff,$ff ; special y
.word $0000 ; special function .word $0000 ; special function
@ -1094,7 +1095,7 @@ location13:
.word $0000 ; north bg .word $0000 ; north bg
.word $0000 ; south bg .word $0000 ; south bg
.word $0000 ; east bg .word $0000 ; east bg
.word red_book_shelf_rle ; west bg .word red_book_shelf_lzsa ; west bg
.byte 16,25 ; special x .byte 16,25 ; special x
.byte 16,32 ; special y .byte 16,32 ; special y
.word red_book-1 ; special function .word red_book-1 ; special function
@ -1112,7 +1113,7 @@ location14:
.byte $ff ; west exit_dir .byte $ff ; west exit_dir
.byte $ff ; special exit .byte $ff ; special exit
.word $0000 ; north bg .word $0000 ; north bg
.word pool_s_rle ; south bg .word pool_s_lzsa ; south bg
.word $0000 ; east bg .word $0000 ; east bg
.word $0000 ; west bg .word $0000 ; west bg
.byte $ff,$ff ; special x .byte $ff,$ff ; special x
@ -1132,7 +1133,7 @@ location15:
.byte $ff ; west exit_dir .byte $ff ; west exit_dir
.byte $ff ; special exit .byte $ff ; special exit
.word $0000 ; north bg .word $0000 ; north bg
.word clock_s_rle ; south bg .word clock_s_lzsa ; south bg
.word $0000 ; east bg .word $0000 ; east bg
.word $0000 ; west bg .word $0000 ; west bg
.byte $ff,$ff ; special x .byte $ff,$ff ; special x
@ -1152,9 +1153,9 @@ location16:
.byte DIRECTION_E ; east exit_dir .byte DIRECTION_E ; east exit_dir
.byte $ff ; west exit_dir .byte $ff ; west exit_dir
.byte $ff ; special exit .byte $ff ; special exit
.word ss_far_n_rle ; north bg .word spaceship_far_n_lzsa ; north bg
.word $0000 ; south bg .word $0000 ; south bg
.word ss_far_e_rle ; east bg .word spaceship_far_e_lzsa ; east bg
.word $0000 ; west bg .word $0000 ; west bg
.byte $ff,$ff ; special x .byte $ff,$ff ; special x
.byte $ff,$ff ; special y .byte $ff,$ff ; special y
@ -1173,7 +1174,7 @@ location17:
.byte $ff ; east exit_dir .byte $ff ; east exit_dir
.byte $ff ; west exit_dir .byte $ff ; west exit_dir
.byte $00 ; special exit .byte $00 ; special exit
.word tree2_n_rle ; north bg .word tree2_n_lzsa ; north bg
.word $0000 ; south bg .word $0000 ; south bg
.word $0000 ; east bg .word $0000 ; east bg
.word $0000 ; west bg .word $0000 ; west bg
@ -1194,9 +1195,9 @@ location18:
.byte $ff ; east exit_dir .byte $ff ; east exit_dir
.byte $ff ; west exit_dir .byte $ff ; west exit_dir
.byte $ff ; special exit .byte $ff ; special exit
.word tree5_n_rle ; north bg .word tree5_n_lzsa ; north bg
.word $0000 ; south bg .word $0000 ; south bg
.word tree5_e_rle ; east bg .word tree5_e_lzsa ; east bg
.word $0000 ; west bg .word $0000 ; west bg
.byte $ff,$ff ; special x .byte $ff,$ff ; special x
.byte $ff,$ff ; special y .byte $ff,$ff ; special y
@ -1214,10 +1215,10 @@ location19:
.byte $ff ; east exit_dir .byte $ff ; east exit_dir
.byte $ff ; west exit_dir .byte $ff ; west exit_dir
.byte $00 ; special exit .byte $00 ; special exit
.word gear_n_rle ; north bg .word gear_n_lzsa ; north bg
.word gear_s_rle ; south bg .word gear_s_lzsa ; south bg
.word $0000 ; east bg .word $0000 ; east bg
.word gear_w_rle ; west bg .word gear_w_lzsa ; west bg
.byte 5,10 ; special x .byte 5,10 ; special x
.byte 29,35 ; special y .byte 29,35 ; special y
.word click_switch-1 ; special function .word click_switch-1 ; special function
@ -1234,9 +1235,9 @@ location20:
.byte DIRECTION_E ; east exit_dir .byte DIRECTION_E ; east exit_dir
.byte $ff ; west exit_dir .byte $ff ; west exit_dir
.byte $ff ; special exit .byte $ff ; special exit
.word gear_base_n_rle ; north bg .word gear_base_n_lzsa ; north bg
.word $0000 ; south bg .word $0000 ; south bg
.word above_dock_e_rle ; east bg .word above_dock_e_lzsa ; east bg
.word $0000 ; west bg .word $0000 ; west bg
.byte $ff,$ff ; special x .byte $ff,$ff ; special x
.byte $ff,$ff ; special y .byte $ff,$ff ; special y

View File

@ -1,6 +1,7 @@
;; Zero Page ;; Zero Page
;; LZ4 addresses ;; LZ4 addresses
NIBCOUNT = $00
LZ4_SRC = $00 LZ4_SRC = $00
LZ4_DST = $02 LZ4_DST = $02