Temporary fix for an issue where draw_misc compiler removes junk from binary master
authorNick Downing <nick@ndcode.org>
Thu, 19 Jan 2023 22:34:12 +0000 (09:34 +1100)
committerNick Downing <nick@ndcode.org>
Thu, 19 Jan 2023 22:34:12 +0000 (09:34 +1100)
.gitignore
loader/star_blazer_segments.txt
star_blazer/diff.sh [new file with mode: 0755]
star_blazer/star_blazer0_segments.txt

index 2db34cd..16a09d5 100644 (file)
 /shape/shape_data.inc
 /shape/shape_index.inc
 /shape/sky_blazer_shape.png
+/star_blazer/a0
+/star_blazer/a1
+/star_blazer/b0
+/star_blazer/b1
+/star_blazer/diff
 /star_blazer/Sky Blazer (4am and san inc crack).dsk
 /star_blazer/Sky Blazer (4am and san inc crack).nib
-/star_blazer/sky_blazer.asm
-/star_blazer/sky_blazer_draw_misc.json
-/star_blazer/sky_blazer_draw_misc_table.inc
-/star_blazer/sky_blazer_object.json
-/star_blazer/sky_blazer_object_data.inc
-/star_blazer/sky_blazer_object_index.inc
-/star_blazer/sky_blazer_shape.json
-/star_blazer/sky_blazer_shape_data.inc
-/star_blazer/sky_blazer_shape_index.inc
 /star_blazer/draw_misc.json
 /star_blazer/draw_misc_table.inc
 /star_blazer/object.json
 /star_blazer/shape_data_pixel.inc
 /star_blazer/shape_index_pixel.inc
 /star_blazer/shape_pixel.json
+/star_blazer/sky_blazer.asm
+/star_blazer/sky_blazer_draw_misc.json
+/star_blazer/sky_blazer_draw_misc_table.inc
+/star_blazer/sky_blazer_object.json
+/star_blazer/sky_blazer_object_data.inc
+/star_blazer/sky_blazer_object_index.inc
+/star_blazer/sky_blazer_shape.json
+/star_blazer/sky_blazer_shape_data.inc
+/star_blazer/sky_blazer_shape_index.inc
 /star_blazer/star_blazer.asm
 /star_blazer/star_blazer.asm0
 /star_blazer/star_blazer.dsk
index 6b7d274..972dc29 100644 (file)
 #       [0x3e00, 0x3e02) is vec_restart
 #     [0x3f00, 0x3f79) is crack loader
 #     [0x3f79, 0x4000) is junk
-#   [0x4000, 0x8c08) is program
+#   [0x4000, 0x4729) is program
+#   [0x4729, 0x4730) is junk which I think is from the draw_misc editor he used
+#   [0x4730, 0x4779) is program
+#   [0x4779, 0x4780) is junk which I think is from the draw_misc editor he used
+#   [0x4780, 0x8c08) is program
 #   [0x8c08, 0x8e00) is junk which I think is from the shape editor he used
 #   [0x8e00, 0x9600) is program
 [0x0022, 0x0024) # vec_init_game
@@ -28,7 +32,9 @@
 [0x1800, 0x1dc6)
 [0x1e00, 0x1f39)
 [0x1f80, 0x2000)
-[0x4000, 0x4a10)
+[0x4000, 0x4729)
+[0x4730, 0x4779)
+[0x4780, 0x4a10)
 [0x4a80, 0x4a90)
 [0x4b00, 0x4dc0)
 [0x4ed0, 0x4f00)
diff --git a/star_blazer/diff.sh b/star_blazer/diff.sh
new file mode 100755 (executable)
index 0000000..e73dc8d
--- /dev/null
@@ -0,0 +1,6 @@
+#!/bin/sh
+hex2bin.py --pad=0 --range=0:bfff star_blazer0.ihx a0
+xxd <a0 >a1
+hex2bin.py --pad=0 --range=0:bfff star_blazer.ihx b0
+xxd <b0 >b1
+diff --unified a1 b1 >diff
index 9e2814f..972dc29 100644 (file)
@@ -1,3 +1,28 @@
+# file was constructed from a memory dump after copy protected loader ran
+# after loading at 0x0300:
+#   [0x0300, 0x0303) is jump to crack loader
+#   [0x0303, 0x0a00) is junk
+#   [0x0a00, 0x2000) is program
+#   [0x2000, 0x4000) is hi-res screen 0 which is reused by the crack loader:
+#     [0x2000, 0x27ed) is end of program which is copied to 0x9600
+#     [0x27ed, 0x3200) is junk copied after end of program at 0x9ded
+#     [0x3200, 0x3c00) is junk copied to end of memory at 0xb600
+#     [0x3c00, 0x3f00) is junk copied to start of memory at 0x0000, except:
+#       [0x3c20, 0x3c22) is vec_start (duplicated in crack loader, not used)
+#       [0x3c22, 0x3c24) is vec_init_game
+#       [0x3c24, 0x3c26) is vec_start_game
+#       [0x3c28, 0x3c2a) is vec_calculate_object_shape
+#       [0x3c4e, 0x3c50) is vec_draw_misc_from_table
+#       [0x3e00, 0x3e02) is vec_restart
+#     [0x3f00, 0x3f79) is crack loader
+#     [0x3f79, 0x4000) is junk
+#   [0x4000, 0x4729) is program
+#   [0x4729, 0x4730) is junk which I think is from the draw_misc editor he used
+#   [0x4730, 0x4779) is program
+#   [0x4779, 0x4780) is junk which I think is from the draw_misc editor he used
+#   [0x4780, 0x8c08) is program
+#   [0x8c08, 0x8e00) is junk which I think is from the shape editor he used
+#   [0x8e00, 0x9600) is program
 [0x0022, 0x0024) # vec_init_game
 [0x0024, 0x0026) # vec_start_game
 [0x0028, 0x002a) # vec_calculate_object_shape
@@ -7,7 +32,9 @@
 [0x1800, 0x1dc6)
 [0x1e00, 0x1f39)
 [0x1f80, 0x2000)
-[0x4000, 0x4a10)
+[0x4000, 0x4729)
+[0x4730, 0x4779)
+[0x4780, 0x4a10)
 [0x4a80, 0x4a90)
 [0x4b00, 0x4dc0)
 [0x4ed0, 0x4f00)