Shin Megami Tensei: Devil Children: Kuro no Sho and Aka no Sho

The Devil Children Game Boy games are a spin-off sub-series from the original Shin Megami Tensei series. While the tone and moral ambiguity are still 100% megaten, the game features a Pokémon-style "gotta-catch-'em-all" feeling and lovely graphics side-by-side a complex devil-fusion system and tough random encounters.

Main Debug Menu
This is the main debug menu, located at. Use the Game Genie code above to access it via pressing Select when on a map.

The menu appropriately calls itself "Debug Window" (デバッグ　ウィンドウ) and indicates whether debug is on (デバッグ　オン) or off (デバッグ　オフ). You can use the GameShark cheat above to enable the debug flag.

The first line will be garbled in any release version of the ROM, because the appropriate version name/tester name and development date have been left out of the final. The mock-up on the top right shows a possible developer name and build date.

Accessible function menus include, in chronological order: In addition to these options, unused menus and older, broken menus are scattered between the accessible ones. They will be dealt with as well as far as possible.


 * Tidbit: Unused strings A Button: [Turn] On (エーでオン) and B Button: Turn Off (ビーてオフします [sic]) can be found near the beginning of the menu text. These are probably a remnant of a function to toggle debug at leisure.

Switch Maps


The Switch Maps menu allows one to freely teleport to any desired map. The top portion shows the destination map (いどうさき), while the bottom portion shows the current map (げんざいち).


 * Navigation: Use Up/Down to select the desired option, from top to bottom: World Number (ワールドばんこう), Map Number (マップばんこう), X coordinate (よこざひょう), or Y coordinate (たてざひょう). Use Left/Right to decrease/increase the chosen item. Use A to acknowledge, B to cancel.
 * Note: There is no mechanism to prevent the player from choosing illegal World-Map combinations or coordinates.

Monster Display



 * Navigation: Use Left/Right to decrease/increase the monster number by 1. Use Up/Down to increase/decrease the monster number by 10. Use Select to alternate between regular images and extended monster images, like on monster №238, Hoshigami. Use B to exit the menu.
 * Tidbit: You can scroll through the whole table, numbers through, which includes dummy images and player portraits.

Group Check
The Group Check menu can be used to look at all the enemy groups as well as their stats defined for each world.


 * Navigation: Use Up/Down to decrease/increase the world counter. Use Left/Right to decrease/increase the group counter. Press A to show the group. Press Start to toggle between regular and extended devil images. Use Select to rotate through the group of at most five devils. Use B to exit the menu.
 * Tidbit: Look at 6/57 or 7/58 to see the toggle between regular and extended images.
 * Notes:
 * You have to disable the cheat code for accessing the debug menu via select to access this menu.
 * There are empty groups defined within the group data. Due to a bug, the game will crash on encountering these. Use the Game Genie fix from above if you don't want to reboot when using a problematic World-Group combination.
 * The ROMs for Black Book and Red Book are in part bit-corrupted. It is unclear if this occurred during dumping or if it was present in the original MROM already. This causes devils and  to actually be set to have an extended image available when playing in DMG mode.

People Menu


The People Menu can be used to debug people sprites. The menu will actually switch the current hero sprite id with the desired sprite id, which is why the hero's pet is also drawn when the debug menu is activated in-game.


 * Navigation: Use Left/Right to decrease/increase the people id by 1. Use Up/Down to increase/decrease the monster id by 10. Use A to show the selected sprite and Select to change its looking direction. Use Start to cycle through all available emoticon bubbles. Use B to exit the menu.

Enemy Encounter


The Enemy Encounter Menu can be used to toggle the enemy encounter flag on and off. The text says "On: Enemies appear" and "Off: [Enemies] don't appear" respectively.


 * Navigation: Use A to toggle between on (オン) and off (オフ). Use B to exit the menu.
 * Note: All references to the underlying flag have been removed from the game.

Flag Check


The Flag Check menu is used to view and manipulate all bit flags used by the game. The bit flag id and whether it is on (1) or off (0) is displayed.


 * Navigation: Use Left/Right to select if you want to decrease or increase the bit flag number by ones, tens or hundreds. Use Up/Down to increase/decrease the bit flag id by the chosen amount. Press A to toggle the bit flag and B to exit the menu.
 * Note: This does not work like a usual digit input. Selecting the second digit and going up from 090 will not yield 000 but rather 100.

Sound Check


The Sound Check menu can be used to listen to all background music tracks or play sound effects.


 * Navigation: Use Up/Down to increase/decrease the BGM track number. Use Left/Right to decrease/increase the SFX number. Use A to play BGM, B to play SFX, and Start to exit the menu.

Effect Check


The Effect Check menu can be used to check all battle attack effects and even most if not all Event Art effects.


 * Navigation: Use Left/Right to decrease/increase the effect id by 1. Use Up/Down to increase/decrease the effect id by 10. Use A to perform a single attack on the left-most foe and use B to perform a double-attack on both foes. Use Start or Select to exit the menu.
 * Note: Some effects will change the OBJ size from 8×16 to 8×8 although they are written for OBJ size 8×16. These can be viewed correctly in the Event Art menu.

Event Art


The Event Art menu is useful for viewing all of the game's scrolling backgrounds and overlaying effects onto them or starting.


 * Navigation: Use Left/Right to decrease/increase the background id. Use Up/Down to increase/decrease the effect it. Use A to switch backgrounds and B to start and effect. Use Start to exit the menu.
 * Note: Some effects will actually start own animation sequences and usually destroy the background scroll. The menu has to be re-opened to display backgrounds correctly after that.

Cable Connection Check
The Cable Connection Check menu offers an extensive check of the Link Cable SIO code used by the game.


 * Overview: The status screen will indicate whether another Game Boy was already found (つうしん　オン) or not (つうしん　オフ). Text options below the status will inform the user about the current sending state (middle) or receiving state (bottom). The six digits in the upper right-hand side of the screen are the lower three bytes of the 8-byte data package that will be sent. Below it the lower three byte of any incoming data package will be shown once available. The counters on the bottom right are package counters for sent (top) and received packages (bottom).
 * Navigation: Use Left/Right to select the nibble of the three byte data to manipulate. Use Up/Down to increase/decrease the nibbles value. Use A to start the send interface and B to start the receiver interface. Use Start to exit the menu.
 * Tidbits:
 * The status messages for sending can be as follows: ready to send (そうしんたいき), sending (そうしんちゅう), waiting for acknowledge (けっかまち), send successful (そうしんせいこう)
 * The status messages for receiving can be as follows: ready to receive (じゅしんたいき), waiting for footer (フッダまち), receiving (じゅしんちゅう), receive successful (じゅしんせいこう)
 * There are two unused messages: sending okay (そうしんオーケー) and sending no good (そうしんエヌジー).

Save/Load


The Save/Load menu is used for all saving-related options.


 * Navigation: Use the D-Pad to choose any of the three options: save (セーブ), load (ロード), or set clear (クリア セット) to erase some parts of the savegame. Press A to activate the option and B to exit the menu.
 * Note: The actual savegame does not seem to be erased, just some parts of it.

Obtain Ally


The Obtain Ally menu is just like the Monster Display menu with the addition to make the chosen monster a new ally in the VineCenter.


 * Navigation: Use Left/Right to decrease/increase the monster number by 1 respectively. Use Up/Down to increase/decrease the monster number by 10. Use A to get the current monster and B to exit the menu.
 * Note: There is a bug involving going from 000 to 255. Just use Down to skip to 246.

Trade Sequence
This option shows the complete Trade Animation Sequence. Because it's an interaction between background scrolling, OAM animation and music effects, it's a very timing sensitive animation, which is probably why it merited an extra option in the debug menu.

Key Items


The Key Item Menu can be used to obtain any key item in the game.


 * Overview: You are presented with a list of item ids, the appropriate item names and a flag indicating on (1) or off (0).
 * Navigation: Use Left/Right to switch pages. Use Up/Down to select the appropriate item. Use A to toggle whether hero has got the item or not. Use B to exit the menu.
 * Note: There is a redraw bug. The menu was coded when the item name print routine would output trailing spaces. This no longer is the case, so names are printed over old names, resulting in an unreadable mess after using the menu for a while.

Devilist Check


The Devilist Check menu can be used to obtain entries for the Devilist encyclopedia of met and allied demons.


 * Overview: This menu reuses the Flag Check menu layout, which is why Flag Check (フラグチェック) is printed at the top. Below the caption, the monster id and its name are printed. Below that two flags indicate whether the monster was seen (みた) and/or captured (つかまえた). You guessed it: 1 means yes, 0 means no.
 * Navigation: Use Left/Right to decrease/increase the monster number by 1. Use Up/Down to increase/decrease the monster number by 10. Use A to toggle through seen, seen & captured, and not seen & not captured. Use B to exit the menu.
 * Note: The menu was coded when the monster name printing routine would print trailing spaces. This is no longer the case, therefore names will be printed on top of each other, resulting in trailing gibberish.

Disabled Conversation Flag Menu


The Conversation Flag Menu at can be used to toggle a flag on and off. The text says "On: Conversations occur" and "Off: [Conversations] don't occur" respectively. The actual purpose for this flag is unknown. It may have been used to suppress auto-initiated dialogs when entering or leaving a map.


 * Navigation: Use A to toggle between on (オン) and off (オフ). Use B to exit the menu.
 * Note: All references to the underlying flag have been removed from the game.

Broken Picture Viewer


This menu, located at, was used to view some images. Use the above Game Genie code and choose the Map Switch option in the main debug menu.

This menu is just like the other monster image menus with the crucial difference that it references a non-existent image pointer table located right after the production monster image table. The menu itself will print item names instead of monster names and was created before the programmers switched from a tile-mapped font that had to be constantly loaded in VRAM to a font that would be drawn directly to VRAM tiles when needed.


 * Navigation: Use Left/Right to increase/decrease the monster id by 1. Use Up/Down to increase/decrease the monster id by 10. Use B to exit the menu.
 * Tidbit: The menu is programmed to show monster images, which is more than 1.5 times the amount of monsters that are in the production ROM, which is.
 * Note: The above screenshot was obtained using moderate hacking. The menu will crash the game when accessed with the above cheat code. The screenshot was obtained by pointing the drawing routine to the monster image table in the production ROM.

Broken Monster/Item Creator


This menu, located at, was used to edit game data while playing. Use the above Game Genie code and choose the Map Switch option in the main debug menu.

While the text instructs to choose an item using the D-Pad (じゅうじキーでアイテムせんたく), the actual code later-on calls the monster creation routine. It will, however, print item names. Yet, when looking at the broken Picture Viewer, it is possible that the same routine that now only prints item names used to be able to print all names. Another hint that this menu might have produced monsters instead of items is the fact that there are four classes of monsters in the game. However, the classes are never referred to as rank (ランク), only as class (クラス).

The main purpose of this menu seems to have been to set some items to existing (そんざい) or missing (いないっす) and adjusting their rank. Some code that was commented out would also allow for the item to be non-existent (そんざいしない).


 * Overview: The item id is printed on the left hand side under the item name. The middle of the screen will show one of the three (two) existence states the item can be in. Printed after it is the item's rank.
 * Navigation: Use Left/Right to decrease/increase the item id by 1. Use Up/Down to increase/decrease the item id by 10. Use A to switch the item from existing to missing or vice versa. This will also create a new monster in the VineCenter (and occasionally delete your party allies) using the item id ― regardless of the toggled direction. B will switch through the ranks 0 thru 3. Start will exit the menu.
 * Tidbits: There were exactly 120 items to be chosen from.
 * Notes:
 * The menu expects to be able to write to ROM, or at least find the item data structure in RAM. This is not possible on a production cartridge and was likely not possible on a debug cartridge either.
 * Just like the broken Picture Viewer, this routine was designed before the text printing routines were switched to print text into VRAM instead of using a tile-mapped font only.
 * While the menu will not crash the game, moderate hacking was used to obtain the above screenshot.

Debug Window
The Debug Window located at is a quiet reminder of how the game once worked. Basically, the menu would been called in some form of mainloop, which doesn't exist anymore. The menu would have popped up upon talking to some event and probably automatically timed out to disappear again ― certain variables for such a timer to wait 16 frames still exist.

One of the most bizarre facts is that it requires the complete font to be in VRAM, which occupies the same space as the tileset in the final production ROM. There was probably no space for pre-combined kana with dakuten and handakuten, evident as none of the debug menus use them. The window also employs the hexadecimal tiles that are loaded to VRAM when using certain functions of the Main Debug Menu, suggesting the menu was accessible via the window or the Main Debug menu was loaded once and the tiles were just assumed to be never overwritten in VRAM.

The screenshot above shows an artificially altered tilemap using Game Boy Color functionality to properly show an impression of what the window looked like.


 * Overview: The window says Debug Window (デバッグ　ウィンドウ) on the first line. Right next to it, the current sprite number the hero uses is printed. On the second line, the current world (ワールド) and map (マップ) are printed. On the third line, the current coordinates are printed in hexadecimal (ざひょう　X―Y). The current block's attribute (アトリ) is printed afterwards. On the last line, the number of the last people event (じんぶつ) talked to and the last message ID are printed (メッセジー).
 * Note: The above screenshot was taken after manual editing of the tilemaps and VRAM graphics. While the menu could be called via cheats, the window is not set-up to use the correct tile mapping nor the correct BG. Therefore a cheat code is not provided.

Start Menu Debug Mode
The Start Menu Debug Mode at allows one to freely edit the hero's level and money held. To activate it, use the above Game Genie codes and choose the save (セーブ) option from the Start Menu. The game must be on debug for the option to work, see above, else it will not enter the debug mode.


 * Navigation: Use Up/Down to choose either level or money to manipulate. Use Left/Right when the level is selected to decrease/increase it. Use A/Left/Right when the money is selected to trigger the money entry box. B will exit this debug menu.
 * Money Entry Box: Use Left/Right to choose the digit to manipulate and Up/Down to increase/decrease the digit's value. Use A to accept the new amount of money or press B to cancel and return to the previous menu.
 * Tidbits:
 * The money entry box was supposed to be set to 9999999 Makka when opening it. However, a subsequent change in programming of the money entry box changed the scratchpad location.
 * The graphical errors that are visible when the money box is opened are due to the box using fixed alternate tile positions for its digits and Makka sign instead of the usual ones. The graphical errors have no impact on functionality.

Item Bag Debug Mode
The Item Bag Debug Mode at grants one access to all items in the game that can appear in the item bag. Use the above Game Genie code and choose Use (つかう) in your item bag. The debug option need not be activated for this to work.


 * Tidbits:
 * This will give you unused items Item043 and Item044 (アイテム０４３ and アイテム０４４).
 * The Special Items menu (とくべつ) will actually be buggy, because it is supposed to hold 35 items, while the maximum allowed for any menu is 32 items. A buffer overflow occurs.

Monster Status Debug Mode
The Monster Status Debug Mode at allows one to freely edit any Monster's status attributes as well as level, HP and MP. View the Monster Status screen in your VineCom or VineCenter and press A to activate the debug mode. The game must be on debug for the option to work, see above, else it will not enter the debug mode.


 * Navigation: Use Up/Down to select the status attribute to manipulate. Use Left/Right to decrease/increase the attribute. Press A or B to exit the debug mode.
 * Tidbit: There is actually a bug when editing HP or MP - when going from 999 points to 001 points, the counter will stop at 1000 points, which won't work correctly. You have to tap twice to go from 999 to 001, or you can use the Game Genie fix above.

Monster Attack Debug Mode
The Monster Attack Debug Mode at allows one to freely edit the attacks of any owned monster. Simply use the Game Genie cheats above and navigate to the attack screen in the status menu. The debug option need not be activated for this to work.


 * Navigation: Use Up/Down to choose the attack slot. Use Left/Right to cycle through available attacks. Use A or B to exit the debug mode.

ATTR_CHR
Located at and loaded at  is a single unused ATTR_CHR command. It is unknown where this could have been used. Game Genie code will load the unused ATTR_CHR instead of PAL_TRN.

SOUND
Located at and loaded at  is a single unused SOUND command. It is unknown where this could have been used. Game Genie codes will play any internal Super Game Boy sound effect and or BGM setting replacing PAL_TRN.