Shin Megami Tensei is the followup to the Megami Tensei games on the Famicom, and the first game in the larger Shin Megami Tensei series.
Sub-Page#
Unused Graphics#
NPC Sprite Index BA and BB contain unused sprites for evident, weaponized parodies of Mickey Mouse and Donald Duck, likely intended to be encountered in Tokyo Destinyland. They were most likely scrapped for being a bit too on the nose. Parodies of them, with much less copyright infringing designs, would eventually show up in the PC Engine port.
(Source: Original TCRF research)
Debug Features#
|
|
To do: |
Applying the below patch to a version 1.0 ROM (without header) will re-enable a couple of simple debugging features in the game.
|
File: smt1debug.rar (131B (compressed)) (info) |
Event Selector#
Holding X on controller 1 when triggering an event (such as a conversation or entering a shop) will display the event number in the text window. Using the D-Pad, you can change the number to select which event will take place. An easy way to do this is by loading a game, turning around, holding X and walking back to the terminal (or other save point).
- Up/Down increase and decrease the number by 0001.
- Left/Right increase/decrease it by 0010.
- L/R selects one of four event groups, starting at 0000, 4000, 8000, and C000.
- A begins the selected event.
This also works with 2D (overworld) events, though the event number isn't visible because the screen fades out before the number is displayed.
Flag Editor#
Pressing X after opening the event selector will bring up this flag editor, which lets you turn up to 256 boolean flags on or off by pressing A (although several of the flags may not actually have any effect.) Similar flag editors exist in practically every other Megami Tensei game released on Super Famicom (called RAM Check in the two mainline SMT games after this one).
Pressing B will exit the flag editor and continue with the selected event.
|
|
To do: |
(Source: Original TCRF research)
Maze Distortion Effect#
This feature is available to use even if you don't use the patch above. In a dungeon where the dreamy, hazelike effect is used (such as the opening dream dungeon), you can use the Select button on the second controller to switch between the normal haze effect and a more severe one, or use Start to remove the effect entirely.
Unused Sound Effects#
file:Sfx35unused.flac This is a sound effect which is called SFX_35. It only uses 2 channels in the vanilla game; the other 2 are silent, but the data for the other channels is still there, so one can edit the channel pointers back in as in this file.
This is another called SFX 2B. In the vanilla game, it just points to the same data as SFX 0A but it has unreachable data that can be added back in as it is here.
(Source: kan)
Unused Music#
This short piece of music sounds rather similar to the Shin Megami Tensei II level up theme. Interestingly, it would later be remixed as part of the title screen theme in Uchuu no Kishi: Tekkaman Blade, which shares composers with this game.
It can be heard in-game using the Pro Action Replay (PAR) codes 0FC95655 (beginning of intro) or 0FC98355 (rest of intro), or both.
(Source: Original TCRF research)
Developer Message#
There is a message from the game's programmer at ROM address 0x008773 (offset 0x773, unheadered). It is copied to RAM address 0x7EFFE0 and used to check for a soft reset.
programming by cozy!
cozy refers to the series producer Cozy Okada.
(Source: Original TCRF research)
Fusion Preview Trick#
This obscure, hidden trick seems to have only been documented on Japanese sites. It allows you to preview the species or demon name of any combination from the base fusion screen, saving a lot of time when fusing.
On the fusion screen, hold either Left and the L button (for species) or Right and the R button (for resulting demon), then press A. For triple fusions, it's the same, only you do this trick on the second demon selected.
Version Differences - 1.0 vs. 1.1#
- Banks $00-03 (i.e., ROM address $000000-01FFFF) have been fully checked and all game engine differences are documented below.
Bank $00 through $03#
Bank $01#
|
|
This needs some investigation. |
- Two subroutines in bank $01 were updated in version 1.1 to check the status of Flag $FB (aka RAM address $7E07DF, bit $08) first before proceeding. It's currently unknown where in the game these are triggered; execute breakpoints need to be set on $0194B5 and $0196C9 (version 1.0) or $0194B5 and $0196D2 (version 1.1) in a debugger. See the Notes page for more information.
As a result of these changes, the subroutine in bank $00 that checks flags was altered slightly and now preserves the contents of the X register. This shifted most of the contents in the bank by $03 bytes.
Bank $03#
|
|
This needs some investigation. |
- Unknown data differences (each different byte may be just 8 bits of a 16-bit value that is read).
address
xx - version 1.0
xx - version 1.1
039CD0 2D 2E
039CD2 30 31
039CD4 31 32
039CD6 36 37
039CD8 39 3A
039D32 1C 1E
039D34 1D 1F
039D36 1E 20
039D38 1F 21
039D3A 20 22
039D3C 21 23
039D3E 22 24
039D40 23 25
039D42 24 26
039D44 25 27
039D46 29 2B
039FEA 47 48
039FEC 4C 4D
039FEE 51 52
039FF0 55 56
039FF2 59 5A
039FF4 5E 5F
039FF6 60 61
039FF8 69 6A
039FFA 6B 6C
039FFC 74 75
039FFE 76 77
03A000 7F 80
03A002 93 94
03A004 95 96
03A006 A0 A1
03A008 A2 A3
03A00A AD AE
03A00C AF B0
03A00E BA BB
03A010 C0 C1
03A012 DB DC
03A014 DD DE
03A016 E9 EA
03A018 EB EC
03E995 08 09
- Version 1.1 adds a check to the subroutine at $03EDFD to see if RAM address $7E0C0B is zero. See the Notes page for more information. Where in the game does execute breakpoint $03EDFD trigger? (either version)
Bank $04 and Beyond#
|
|
This needs some investigation. |
- Data shifted in bank $08.
HIDEMODE#
At $0FA549 is code which tests the main character's name for being "HIDEMODE". This routine is not called from anywhere, making it uncertain what it was for, but it likely hid some sort of mode.
(Source: kan)
Unused Skills#
Skills are arranged by a hexadecimal index. Unsurprisingly, a few of them end up being unused. Several of these end up properly debuting in later games.
14 - Matrapoh - マトラポ-
6A - Heatwave - ヒートウェイブ
6B - Deathbound - デスバウンド
6C - Hades Blast - めいかいは
6D - Buddha's Palm - ぼさつしょう
6E - Thunder Kick - らいていげり
6F - Hammer Punch - ハンマーパンチ
70 - Holy Wrath - てんばつ
71 - God's Wrath - しんばつ
Other skills in the area past 72 are either unused or default enemy-exclusive commands, such as Call Ally, Guard, Escape.
Matrapoh is likely the most curious case; its situation and data from a fan-made editor made exclusively for a Japanese hack indicate it to be an Expel-spell weaker than Hama and incapable of instantly killing opponents.
(Source: Original TCRF research)
Unused Messages#
Address |
Contents |
Link |
Notes |
|---|---|---|---|
$08915A |
かってやって ください |
||
$089526 |
— |
Calls a different message |
|
$0AC60E |
ナタクト・ルダクフォルネウスファハン |
This message is not formatted properly and even bleeds into the next message. |
|
$0AE06C |
ヤクシニーマンイーターおしちワー |
This message is not formatted properly and even bleeds into the next message. |
A number of other garbage messages appear at the end of bank0A; however, these appear to be an artifact of disk reuse rather than scrapped content.
Disk Reuse#
Banks 02, 03, and 0F end with code and data that is unused, half-written, and referencing invalid pointers. The latter point is the most damning, as it suggests that successive versions of the game were assembled over top of previous versions on the same disk, giving a very small peek into prototype code of scrapped and/or updated routines.