Skip to content

Add debug mode to red

AriaHiro64 edited this page Dec 23, 2020 · 4 revisions

This will create a pokemon red debug build to the build option. The reason this is not included in base pokered is because there is no Pokemon Red debug ROM to disassemble. Go to your Makefile and edit these lines.

- roms := pokered.gbc pokeblue.gbc pokeblue_debug.gbc
+ roms := pokered.gbc pokeblue.gbc pokered_debug.gbc pokeblue_debug.gbc

...

  pokered_debug_obj := $(rom_obj:.o=_red_debug.o)
+ pokered_debug_obj := $(rom_obj:.o=_red_debug.o)
  pokeblue_debug_obj := $(rom_obj:.o=_blue_debug.o)

...

  blue:       pokeblue.gbc
+ red_debug: pokered_debug.gbc
  blue_debug: pokeblue_debug.gbc

...

  tidy:
-	rm -f $(roms) $(pokered_obj) $(pokeblue_obj) $(pokeblue_debug_obj) $(roms:.gbc=.map) $(roms:.gbc=.sym) rgbdscheck.o
+       rm -f $(roms) $(pokered_obj) $(pokeblue_obj) $(pokeblue_debug_obj) $(pokered_debug_obj) $(roms:.gbc=.map) $(roms:.gbc=.sym) rgbdscheck.o
	$(MAKE) clean -C tools/

...

  $(pokeblue_obj):       RGBASMFLAGS += -D _BLUE
+ $(pokered_debug_obj): RGBASMFLAGS += -D _RED -D _DEBUG
  $(pokeblue_debug_obj): RGBASMFLAGS += -D _BLUE -D _DEBUG

...

   $(foreach obj, $(pokeblue_obj), $(eval $(call DEP,$(obj),$(obj:_blue.o=.asm))))
+  $(foreach obj, $(pokered_debug_obj), $(eval $(call DEP,$(obj),$(obj:_red_debug.o=.asm))))
   $(foreach obj, $(pokeblue_debug_obj), $(eval $(call DEP,$(obj),$(obj:_blue_debug.o=.asm))))

...

  pokeblue_pad       = 0x00
+ pokered_debug_pad  = 0xff
  pokeblue_debug_pad = 0xff

  pokered_opt        = -jsv -n 0 -k 01 -l 0x33 -m 0x13 -r 03 -t "POKEMON RED"
  pokeblue_opt       = -jsv -n 0 -k 01 -l 0x33 -m 0x13 -r 03 -t "POKEMON BLUE"
+ pokered_debug_opt  = -jsv -n 0 -k 01 -l 0x33 -m 0x13 -r 03 -t "POKEMON RED"
  pokeblue_debug_opt = -jsv -n 0 -k 01 -l 0x33 -m 0x13 -r 03 -t "POKEMON BLUE"
Clone this wiki locally