Shin Megami Tensei: Devil Children: Kuro no Sho and Aka no Sho
|Shin Megami Tensei: Devil Children: Kuro no Sho/Aka no Sho|
|This page is showing its age.|
Please to fit our current standards!
The name Debidasu - used for your list of collected Devils - is a Japanese pun on the term "Debiru wo Dasu" (Sending Out The Devils) that doesn't translate particularly well to English. For ease of reading, the translation on this page will use Devilist.
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.
- 1 Main Debug Menu
- 1.1 Switch Maps
- 1.2 Monster Display
- 1.3 Group Check
- 1.4 People Menu
- 1.5 Enemy Encounter
- 1.6 Flag Check
- 1.7 Sound Check
- 1.8 Effect Check
- 1.9 Event Art
- 1.10 Cable Connection Check
- 1.11 Save/Load
- 1.12 Obtain Ally
- 1.13 Trade Sequence
- 1.14 Key Items
- 1.15 Devilist Check
- 1.16 Disabled Conversation Flag Menu
- 1.17 Broken Picture Viewer
- 1.18 Broken Monster/Item Creator
- 2 Debug Window
- 3 Start Menu Debug Mode
- 4 Item Bag Debug Mode
- 5 Monster Status Debug Mode
- 6 Monster Attack Debug Mode
Main Debug Menu
|Game Genie Codes|
This is the main debug menu, located at 4F:4000. 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 D7C1.
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:
- Switch Maps (マップいどう): Change the current map.
- Monster Display (モンスターひょうじ): View all monster pictures in the game.
- Group Check (グループチェック): Check all possible combinations of enemy groups that may be encountered.
- People Menu (じんぶつ): View all people and monster in-game mini-sprites.
- Enemy Encounter (てきしゅつげん): Set or reset the enemy encounter flag.
- Flag Check (フラグチェック): Set or reset the game's event flags.
- Sound Check (サウンドチェック): Listen to music and sound effects.
- Effect Check (エフェクトチェック): View battle animations and other effects.
- Event Art (イベント１まいえ): View scrolling event art and play effects over them.
- Cable Connection Check (つうしんチェック): Check the cable connection and protocol and send debug data packages between two Game Boy (Color) consoles.
- Save/Load (セーブ ロード): Save, load, or erase your current game progress.
- Obtain Ally (ナカマにゅうしゅ): Obtain any monster as a new ally.
- Trade Sequence (ツウシンエンシュツ): Watch the Link Cable trade animation sequence.
- Key Items (トクシュアイテム): Set which key items the hero currently holds.
- Devilist Check (デビダスチェック): Check the Devilist and set or reset the seen/captured flags.
In addition to these options, unused menus and older, broken menus are scattered between the accessible ones.
- 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.
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.
Use Left/Right to decrease/increase the monster number by 1, use Up/Down to increase/decrease the monster number by 10, Select to alternate between regular images and extended monster images (like on monster 238, Hoshigami), and B to exit the menu.
You can scroll through the whole table, numbers 0x000 through 0x10D, which includes dummy images and player portraits.
(NOTE: You must disable the Game Genie cheat for accessing the main debug menu in order to access this menu.)
The Group Check menu can be used to look at all the enemy groups as well as their stats defined for each world.
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, Select to rotate through the group of devils, and B to exit the menu.
Look at 6/57 or 7/58 to see the toggle between regular and extended images.
There are empty groups defined within the group data. Due to a bug, the game will crash on encountering these. The below Game Genie codes will prevent you having to reboot the game when using a problematic World-Group combination:
40D-F68-E6A 41D-F58-E6A C3D-F48-E6A 0CD-F38-E6A CDD-F28-E6A E5D-F18-E6A 21D-F08-E6A 7D0-35B-D5D F00-34B-7FD C30-33B-6EE
The ROMs currently available for both versions of the game are partially bit-corrupted, though it's uncertain if this was occurred during dumping or if it was present in the original MROM already. In any case, this corruption causes devils 000 and 001 to be set to have an extended image available when playing in DMG mode.
Can be used to debug people sprites. The menu will 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.
Use Left/Right to decrease/increase the people ID by 1, Up/Down to increase/decrease the monster ID by 10, A to show the selected sprite, Select to change its looking direction, Start to cycle through all available emoticon bubbles, and B to exit the 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.
Use A to toggle between on (オン) and off (オフ), or B to exit the menu.
All references to the underlying flag D7C3 have been removed from the game.
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 that this does not work like a usual digit input. For instance, selecting the second digit and going up from 090 will not yield 000 but rather 100.
A sound test, basically, featuring the game's music and 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.
Used to check all battle attack effects and 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 that some effects will change the OBJ size from 8×16 to 8×8 even though they're written for OBJ size 8×16. These can be viewed correctly in the Event Art menu.
Allows you to view the various scrolling backgrounds and overlaying effects.
- 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 that some effects will start their own animation sequences and usually destroy the background scroll. The menu has to be reopened to display backgrounds correctly after that.
Cable Connection Check
Offers an extensive check of the Link Cable SIO code used by the game. The status screen will indicate whether another Game Boy has been 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 corner of the screen are the lower three bytes of the 8-byte data package that will be sent. Below it, the lower three bytes 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.
- 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 (そうしんエヌジー).
Used for all saving-related options. Use the D-Pad to choose any of the three options: save (セーブ), load (ロード), or set clear (クリア セット). Press A to activate the option and B to exit the menu.
Oddly, it seems the "set clear" option only erases part of the save file.
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.
Shows the complete animation sequence for trading. 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.
Used to obtain any key item in the game. 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.
Used to obtain entries for the Devilist encyclopedia of met and allied demons.
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 (つかまえた). 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
|Game Genie Codes|
The Conversation Flag Menu at 4F:52EA 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 D7C4 have been removed from the game.
Broken Picture Viewer
|Game Genie Codes|
This menu, located at 4F:4429, 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 nonexistent 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 0x019D monster images, which is more than 1.5 times the amount of monsters that are in the production ROM, which is 0x0FF.
- 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
|Game Genie Codes|
This menu, located at 4F:4CAF, 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.
- 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.
The Debug Window located at 4F:427F 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 can be called via cheats, the window is not set up to use the correct tilemapping nor the correct BG. Therefore a cheat code is not provided.
Start Menu Debug Mode
|Game Genie Codes|
The Start Menu Debug Mode at 4F:5728 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.
- 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
|Game Genie Codes|
The Item Bag Debug Mode at 4F:56CD 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.
- 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 whereas the maximum allowed for any menu is 32, resulting in a buffer overflow.
Monster Status Debug Mode
|Game Genie Codes|
|Game Genie Fix|
The Monster Status Debug Mode at 4F:5838 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
|Game Genie Codes|
The Monster Attack Debug Mode at 4F:5A5E 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.