summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorISSOtm <eldredhabert0@gmail.com>2018-06-04 19:02:13 +0200
committerISSOtm <eldredhabert0@gmail.com>2018-06-04 19:03:25 +0200
commit8267c0bc3b04b5a990809e851389d9f2bc65e81a (patch)
tree4beb2e6baa2e0ff144afdf39498789376fbef36d
parent123e57a9085d967998bcbb1fabcecfec3403d7a4 (diff)
Add workaround to rgbfix 0.3.7 checksum bug
Please refer to zero_checksum.inc for details
-rw-r--r--Makefile3
-rw-r--r--zero_checksum.inc6
2 files changed, 8 insertions, 1 deletions
diff --git a/Makefile b/Makefile
index bf7cf66..106d85d 100644
--- a/Makefile
+++ b/Makefile
@@ -60,7 +60,8 @@ mostlyclean:
rm -rf $(ROM) $(CORRECTEDROM) $(OBJS) $(OBJS:.o=.d) $(ROMS:.gb=.sym) $(ROMS:.gb=.map)
$(CORRECTEDROM): %-correctheader.gb: %.gb
- cp $< $@
+ $(RGBASM) $(RGBASMFLAGS) -o zero_checksum.o zero_checksum.inc
+ $(RGBLINK) -O $< -o $@ zero_checksum.o
$(RGBFIX) -f hg -m 0x10 $@
$(ROM): poke%-spaceworld.gb: $(OBJS) | $(BASEROM)
diff --git a/zero_checksum.inc b/zero_checksum.inc
new file mode 100644
index 0000000..c35e834
--- /dev/null
+++ b/zero_checksum.inc
@@ -0,0 +1,6 @@
+
+; This is part of a workaround to RGBFIX 0.3.7, which does not compute the global checksum correctly
+; if it's not 0 in the pre-fix ROM. See https://github.com/rednex/rgbds/issues/280
+
+SECTION "RGBFIX 0.3.7 workaround", ROM0[$14E]
+ dw 0 \ No newline at end of file