|
DevelopmentSega Master System / Mark III / Game Gear |
Home - Forums - Games - Scans - Maps - Cheats - Credits |
Slot 2 Mapping Flat Code in $00000 - $07fff [1] and $1c000 - $1ffff
Fantasy Zone maintains a master "game state" variable in the low 4 bits of the byte at $c01f. The valid values are:
Value | State |
---|---|
$0 | Sega Mark III Logo Screen |
$1 | Title Screen |
$2 | Demo |
$3 | Gameplay |
$4 | Huge Creature Fight |
$5 | Life Lost |
$6 | Huge Creature Destroyed |
$7 | O-Papa Destroyed |
$8 , $9 [2] | Epilogue |
$a | Prologue |
For some states, bit 7 of the same byte is used to distinguish a change of state (bit 7 reset) from a continuation of the current state (bit 7 set).
This table summarises the contents of the Fantasy Zone [v2] ROM (Size: 128KB; CRC32: 65d7e4e0):
Address Range | Contents |
---|---|
$00000 - $07ee8 | Unknown |
$07ee9 - $07ef8 | Background Palette: Plaleaf |
$07ef9 - $07f08 | Background Palette: Tabas |
$07f09 - $07f18 | Background Palette: La Dune |
$07f19 - $07f28 | Background Palette: Dolimicca |
$07f29 - $07f38 | Background Palette: Polaria |
$07f39 - $07f48 | Background Palette: Mockstar |
$07f49 - $07f58 | Background Palette: Pocarius |
$07f59 - $07fef | Unused |
$07ff0 - $07fff | ROM Header (Product Code: 5052; Version: 2; Region: SMS Export; ROM Size: 128KB) |
$08000 - $083e8 | Compressed 4bpp Tiles |
$083e9 - $08a28 | 4bpp Tiles |
$08a29 - $08aa8 | 4bpp Tiles |
$08aa9 - $08b68 | 4bpp Tiles: Fire Bomb |
$08b69 - $08c28 | 4bpp Tiles: Heavy Bomb |
$08c29 - $08e68 | 4bpp Tiles: Thaya-Thaya |
$08e69 - $090a8 | 4bpp Tiles: Bottaco |
$090a9 - $09268 | 4bpp Tiles: Quili-Quili |
$09269 - $09528 | 4bpp Tiles: Sourtham |
$09529 - $096a8 | 4bpp Tiles: Chamba |
$096a9 - $09aa8 | 4bpp Tiles: Poyon |
$09aa9 - $09ba8 | 4bpp Tiles: Botelynn |
$09ba9 - $09ca8 | 4bpp Tiles: Coulon |
$09ca9 - $09e28 | 4bpp Tiles: Moocolon |
$09e29 - $0a068 | 4bpp Tiles: Asworm |
$0a069 - $0a1e8 | 4bpp Tiles: Pata2 |
$0a1e9 - $0a4a8 | 4bpp Tiles: Onyamma |
$0a4a9 - $0a5a8 | 4bpp Tiles: Jerry |
$0a5a9 - $0a768 | 4bpp Tiles: Billian |
$0a769 - $0a868 | 4bpp Tiles: Squel |
$0a869 - $0a9a8 | 4bpp Tiles: Goro |
$0a9a9 - $0ab28 | 4bpp Tiles: C-Soul |
$0ab29 - $0ad28 | 4bpp Tiles: Shatboo |
$0ad29 - $0aea8 | 4bpp Tiles: F-Zab |
$0aea9 - $0b0a8 | 4bpp Tiles: Recal |
$0b0a9 - $0b228 | 4bpp Tiles: Floweye |
$0b229 - $0b328 | 4bpp Tiles: M.F. |
$0b329 - $0b5e8 | 4bpp Tiles: Bont |
$0b5e9 - $0bff6 | Compressed 4bpp Tiles: Shop |
$0bff7 - $0bfff | Unused |
$0c000 - $0c486 | Compressed 4bpp Tiles: Plaleaf Huge Creature |
$0c487 - $0c4d6 | Tile Indices: Plaleaf Huge Creature |
$0c4d7 - $0c8e5 | Compressed 4bpp Tiles: Tabas Huge Creature |
$0c8e6 - $0cac5 | Name Table Entries: Tabas Huge Creature |
$0cac6 - $0ce18 | Compressed 4bpp Tiles: La Dune Huge Creature |
$0ce19 - $0ceb8 | Name Table Entries: La Dune Huge Creature |
$0ceb9 - $0d380 | Compressed 4bpp Tiles: Dolimicca Huge Creature |
$0d381 - $0d3d0 | Tile Indices: Dolimicca Huge Creature |
$0d3d1 - $0d911 | Compressed 4bpp Tiles: Polaria Huge Creature |
$0d912 - $0d9e3 | Name Table Entries: Polaria Huge Creature |
$0d9e4 - $0dc4b | Compressed 4bpp Tiles: Mockstar Huge Creature |
$0dc4c - $0dcab | Name Table Entries: Mockstar Huge Creature |
$0dcac - $0e088 | Compressed 4bpp Tiles: Pocarius Huge Creature |
$0e089 - $0ecf8 | Compressed 4bpp Tiles: O-Papa |
$0ecf9 - $0ed93 | Compressed 4bpp Tiles: O-Papa Enemy Blue Trail |
$0ed94 - $0ef1f | Tile Indices: O-Papa |
$0ef20 - $0efff | Unused |
$0f000 - $0f57f | Tile Indices: Shop |
$0f580 - $0f5ff | Unused |
$0f600 - $0fbbf | 4bpp Tiles: O-Papa Eye |
$0fbc0 - $0ffff | Unused |
$10000 - $11143 | Compressed Name Table Entries: Plaleaf |
$11144 - $11ed3 | Compressed 4bpp Tiles: Plaleaf (Round 1) |
$11ed4 - $12e22 | Compressed Name Table Entries: Dolimicca |
$12e23 - $13c0c | Compressed 4bpp Tiles: Dolimicca (Round 4) |
$13c0d - $13e0c | 1bpp Tiles: ASCII Characters $20 - $5a, ©SEGA |
$13e0d - $13eec | 1bpp Tiles: Sega Mark III Logo |
$13eed - $13fdf | Unused |
$13fe0 - $13fff | 4bpp Tile: Mini Opa-Opa |
$14000 - $14e32 | Compressed Name Table Entries: Polaria |
$14e33 - $1579d | Compressed 4bpp Tiles: Polaria (Round 5) |
$1579e - $163d1 | Compressed Name Table Entries: Mockstar |
$163d2 - $16ee9 | Compressed 4bpp Tiles: Mockstar (Round 6) |
$16eea - $17647 | Compressed Name Table Entries: La Dune |
$17648 - $17e2f | Compressed 4bpp Tiles: La Dune (Round 3) |
$17e30 - $17f1f | Tile Indices: Fantasy Zone Logo |
$17f20 - $17fff | Unused |
$18000 - $18dde | Compressed Name Table Entries: Tabas |
$18ddf - $1979c | Compressed 4bpp Tiles: Tabas (Round 2) |
$1979d - $19f90 | Compressed Name Table Entries: Pocarius |
$19f91 - $1ac47 | Compressed 4bpp Tiles: Pocarius (Round 7) |
$1ac48 - $1ac57 | Background Palette: Title Screen |
$1ac58 - $1bf5e | Compressed 4bpp Tiles: Fantasy Zone Logo |
$1bf5f - $1bfff | Unused |
$1c000 - $1ffff | Unknown |
Within areas marked "Unknown" in the ROM map, the following jump tables exist:
Address Range | Number of Entries | Jump Instruction Address | Indexed By |
---|---|---|---|
$000d7 - $000ec | 11 | $017c8 | Game State |
$0016a - $0017f | 11 | $017c8 | Game State |
$00777 - $00782 | 6 | $017c8 | Unknown |
$010cf - $010dc | 7 | $017c8 | Unknown |
$015e2 - $016c1 | 112 [3] | $017c8 | Unknown ($01 - $23 , $30 - $70 ) |
$019bc - $019c5 | 5 | $017c8 | Weapon 2 Type |
$01aa2 - $01aa9 | 4 | $017c8 | Weapon 1 Type |
$0210d - $0211e | 9 | $017c8 | Unknown ($05 - $0d ) |
$022e4 - $022f5 | 9 | $022e3 | Unknown ($05 - $0d ) |
$03b2b - $03b3a | 8 | $03b2a | Unknown |
$05dae - $05dbd | 8 | $017c8 | $d400 (1 - 8) |
$05dbe - $05dcd | 8 | $017c8 | $c076 |
$05dce - $05ddd | 8 | $017c8 | $d400 (1 - 8) |
$0734a - $0734f | 3 | $017c8 | Unknown |
$073d9 - $073e0 | 4 | $017c8 | Unknown |
$0776e - $07775 | 4 | $017c8 | Unknown |
$0782c - $07833 | 4 | $017c8 | Unknown |
$1dffe - $1e043 | 35 | $1dfb7 | Sound Track Number |
$1e2be - $1e2e1 | 18 | $1e2b9 | Sound Coordination Flag |
Only 13 bytes were changed between the pre-release version [v1] of Fantasy Zone and the Western release [v2]:
$c0e8
to $c076
. This variable holds the current "Huge Creature" which a player is fighting, and has been moved so that the Huge Creature number is tracked separately for each player. Although sharing the variable does not affect the majority of the game, it can cause problems in "Salfar", the boss rush at the end of the game. Here, the variable is used to track the player's progress. In [v1], if one or both players are in Salfar, they can interfere with one another's games.
In summary, 2 bugs that were present in [v1] were fixed in [v2]. Both bugs also exist in the Japanese release [v0].
$08
in $c01f to signify a change of state and a value of $89
for a continuation of the state.Researched by RetroSpark