Rename a2_pack.py to a2_pack_fwd.py and lzss_unpack.asm to lzss_unpack_fwd.asm
authorNick Downing <nick@ndcode.org>
Tue, 21 Jun 2022 03:40:49 +0000 (13:40 +1000)
committerNick Downing <nick@ndcode.org>
Tue, 21 Jun 2022 04:01:56 +0000 (14:01 +1000)
loader/Makefile
loader/a2_pack_fwd.py [moved from loader/a2_pack.py with 97% similarity]
loader/lzss_unpack_fwd.asm [moved from loader/lzss_unpack.asm with 100% similarity]

index c911c28..ab27272 100755 (executable)
@@ -9,29 +9,29 @@ ASLINK=../asxv5pxx/asxmak/linux/exe/aslink
 #   pip3 install --user intelhex
 HEX2BIN=hex2bin.py
 
-LOAD_ADDR=0xa000
+END_ADDR=0xa000
 LZSS_LOADER=0x800
 RECRACK_LOADER=0x9ded
 
 .PHONY: all
 all: \
-star_blazer_pack.a2bin \
+star_blazer_pack_fwd.a2bin \
 star_blazer.ihx \
 star_blazer.a2bin \
 star_blazer_dejunked0.a2bin \
 star_blazer_dejunked1.a2bin \
 star_blazer_recrack_lzss.a2bin
 
-star_blazer_pack.a2bin: lzss_unpack.bin star_blazer.ihx
-       ./a2_pack.py ${LOAD_ADDR} $^ $@
+star_blazer_pack_fwd.a2bin: lzss_unpack_fwd.bin star_blazer.ihx
+       ./a2_pack_fwd.py ${END_ADDR} $^ $@
 
-lzss_unpack.bin: lzss_unpack.ihx
+lzss_unpack_fwd.bin: lzss_unpack_fwd.ihx
        ${HEX2BIN} $< $@
 
-lzss_unpack.ihx: lzss_unpack.rel
+lzss_unpack_fwd.ihx: lzss_unpack_fwd.rel
        ${ASLINK} -n -m -u -i -b text=0 $@ $^
 
-lzss_unpack.rel: lzss_unpack.asm
+lzss_unpack_fwd.rel: lzss_unpack_fwd.asm
        ${AS6500} -l -o $<
 
 star_blazer.ihx: star_blazer.a2bin star_blazer_segments.txt
similarity index 97%
rename from loader/a2_pack.py
rename to loader/a2_pack_fwd.py
index 588bde6..bc21239 100755 (executable)
@@ -18,15 +18,15 @@ MAX_DIST = (1 << DIST_BITS1) # distance codes are 1..MAX_DIST
 MAX_LEN = (1 << LEN_BITS1) + 1 # length codes are 2..MAX_LEN
 
 if len(sys.argv) < 5:
-  print(f'usage: {sys.argv[0]:s} end_addr lzss_unpack.bin in.ihx out.a2bin')
+  print(f'usage: {sys.argv[0]:s} end_addr lzss_unpack_fwd.bin in.ihx out.a2bin')
   sys.exit(EXIT_FAILURE)
 end_addr = int(sys.argv[1], 0)
-lzss_unpack_bin = sys.argv[2]
+lzss_unpack_fwd_bin = sys.argv[2]
 in_ihx = sys.argv[3]
 out_a2bin = sys.argv[4]
 
-with open(lzss_unpack_bin, 'rb') as fin:
-  lzss_unpack = list(fin.read())
+with open(lzss_unpack_fwd_bin, 'rb') as fin:
+  lzss_unpack_fwd = list(fin.read())
 
 def lzss_pack(dest, bin):
   heads = {}
@@ -325,7 +325,7 @@ for i in range(len(segments) - 2, -2, -2):
 
     if len(sections[SECTION_UNPACKER].data) == 0:
       sections[SECTION_UNPACKER].data.extend(
-        lzss_unpack[::-1]
+        lzss_unpack_fwd[::-1]
       )
 
     addr2 += 5 - 0x100
@@ -333,7 +333,7 @@ for i in range(len(segments) - 2, -2, -2):
       [
         0xa9, 0x00,            # lda #<addr2
         0xa0, 0x00,            # ldy #>addr2
-        0x20, 0x00, 0x00,      # jsr lzss_unpack
+        0x20, 0x00, 0x00,      # jsr lzss_unpack_fwd
       ][::-1]
     )
     sections[SECTION_LOADER].fixups.extend(