The current URL is datacrystal.tcrf.net.
Super Street Fighter II: The New Challengers (Genesis)/ROM map
Work in Progress
Stages are indentified by a byte :
- 0x00 : Ryu stage
- 0x01 : E. Honda stage
- 0x02 : Blanka stage
- 0x03 : Guile stage
- 0x04 : Ken stage
- 0x05 : Chun Li stage
- 0x06 : Zangief stage
- 0x07 : Dhalsim stage
- 0x08 : Dictator stage
- 0x09 : Sagat stage
- 0x0A : Boxer stage
- 0x0B : Claw stage
- 0x0C : Cammy stage
- 0x0D : T. Hawk stage
- 0x0E : Fei Long stage
- 0x0F : Deejay stage
- 0x10 : Bonus 1 (car) stage
- 0x11 : Bonus 2 (bricks) stage
- 0x12 : Bonus 3 (barrels) stage
Tilesets loaders are stored as a list terminated by a 0 :
- 1 word : number of bytes to load (0 = end of list)
- 1 long : source address of the data in ROM
- 1 word : dest address in VRAM
Stage Objects Lists are lists of elements that can be :
- 0x80 : unknown
- 0xFF : end of list
- 7 bytes defining an object :
- 1 byte : object type
- 1 byte : object subtype
- 1 byte : object subsubtype ?
- 1 word : x position
- 1 word : y position
Sprites Definitions
- 1 word : number of hard sprites - 1
- then, for each hard sprite :
- 1 word : delta x (signed)
- 1 word : delta y (signed)
- 1 byte : delta tile (offset between the needed tile and the field base_tile in the Object struct)
- 1 byte : flags. Format: Svh? HHVV where :
- if S = 1, then field 0x14 of the Object struct is or'ed to the delta tile (mainly for palettes)
- v and h : flip flags
- HH, VV : horizontal and vertical sizes
Characters Animations Table
They all start by offsets to actual animation data. For example, Ryu Animation Table starts at 0x6a58c, and first value (0x57e) is the offset from 0x6a58c, so first animation starts at 0x6a58c + 0x57e = 0x6adda.
The data is a list of group of 4 bytes :
- 1 byte : number of frames of the animation step
- 1 byte : flags. Bit 7 means this step is the last of the animation
- 1 byte : frame_id of the animation step
- 1 byte : boxes_id. This refers to an array of group of rects (see further).
When the last animation is met (bit 7 of flags field), then the next word is an offset to the looping step
Characters Tilesets Commands
They all start by offsets to actual tilesets commands. For example, Ryu Tilesets Commands start at 0x627e2, and first value (0x188) is the offset from 0x627e2, so first Tileset Command starts at 0x627e2 + 0x188 = 0x6296a.
The Tileset Commands is a list of groups of 8 bytes, terminated by a zero word ;
- 1 word : numbers of words to transfer to VRAM (i.e. number of tiles * 0x10)
- 1 long : half the address in ROM of the tileset data
- 1 word : pos in VRAM where to load the data (i.e. tile_id * 0x20)
Tilesets are uncompressed (32 bytes for a tile)
ROM offset | Size | Description |
---|---|---|
0x000000 | 0x100 | 68000 Interruptions Vectors |
0x000100 | 0x100 | Megadrive Header |
0x3352 | 4 * 0x71 | Addresses of objects update functions |
0x003AAA | code | Entry Point |
0x003B52 | 24 | Initial VDP registers values |
0x003B6E | 38 | Z80 Sound driver code |
0x003D4E | code | Wait VInt |
0x003EEA | code | VInt |
0x004072 | code | HInt |
0x014862 | 4*19 | List of addresses to stage palettes
2 palettes by stage (see stage identifiers) |
0x0148C0 | 2*19 | Offsets to stages tilesets loaders (*) |
0x0148E6 | Ryu Stage Tileset Loader | |
0x014900 | E. Honda Stage Tileset Loader | |
0x01491A | Blanka Stage Tileset Loader | |
0x01492C | Guile Stage Tileset Loader | |
0x014946 | Ken Stage Tileset Loader | |
0x014960 | Chun Li Stage Tileset Loader | |
0x01497A | Zangief Stage Tileset Loader | |
0x014994 | Dhalsim Stage Tileset Loader | |
0x0149A6 | Dictator Stage Tileset Loader | |
0x0149C0 | Sagat Stage Tileset Loader | |
0x0149D2 | Boxer Stage Tileset Loader | |
0x0149EC | Claw Stage Tileset Loader | |
0x0149FE | Cammy Stage Tileset Loader | |
0x014A18 | T. Hawk Stage Tileset Loader | |
0x014A3A | Fei Long Stage Tileset Loader | |
0x014A54 | Deejay Stage Tileset Loader | |
0x014A76 | Bonus Stage 1 Tileset Loader | |
0x014AA0 | Bonus Stage 2 Tileset Loader | |
0x014AC2 | Bonus Stage 3 Tileset Loader | |
0x0169AE | code | Ryu / Ken specific code (6) |
0x016A1A | code | Sagat specific code (5) |
0x016A24 | code | Ryu / Ken specific code (5) |
0x016A4E | code | Ryu / Ken specific code (2) |
0x016BFA | code | Ryu / Ken specific code (1) |
0x016CBC | code | Ryu / Ken specific code (3) |
0x017142 | code | Ryu / Ken specific code (7) |
0x01729E | code | Sagat specific code (2) |
0x0172BE | code | Sagat specific code (1) |
0x017374 | code | Sagat specific code (3) |
0x01766C | code | Sagat specific code (6) |
0x176EE | code | E. Honda specific code (5) |
0x01773C | code | E. Honda specific code (7) |
0x17744 | code | E. Honda specific code (4) |
0x017780 | code | E. Honda specific code (2) |
0x0178FA | code | E. Honda specific code (1) |
0x0179B0 | code | E. Honda specific code (3) |
0x017E10 | code | E. Honda specific code (6) |
0x017F94 | code | Blanka specific code (5) |
0x017FD6 | code | Blanka specific code (2) |
0x01814A | code | Blanka specific code (1) |
0x018248 | code | Blanka specific code (3) |
0x01882C | code | Blanka specific code (6) |
0x01894A | code | Guile specific code (5) |
0x0189EE | code | Guile specific code (4) |
0x018A52 | code | Guile specific code (1) |
0x018ACC | code | Guile specific code (2) |
0x018EF0 | code | Dhalsim specific code (3) |
0x01900A | code | Guile specific code (6) |
0x0190E6 | code | Guile specific code (7) |
0x019142 | code | Chun Li specific code (5) |
0x01918E | code | Chun Li specific code (4) |
0x019218 | code | Chun Li specific code (2) |
0x0195C2 | code | Chun-Li specific code (1) |
0x01966C | code | Chun-Li specific code (3) |
0x019BDE | code | Chun-Li specific code (6) |
0x019C88 | code | Chun-Li specific code (6) |
0x19D90 | code | Dhalsim specific code (5) |
0x19DD2 | code | Dhalsim specific code (1) |
0x019F9E | code | Dhalsim specific code (4) |
0x019FEC | code | Dhalsim specific code (2) |
0x01A28C | code | Dhalsim specific code (3) |
0x01A4E0 | code | Dhalsim specific code (6) |
0x01A612 | code | Dhalsim specific code (7) |
0x1A65A | code | Dictator specific code (5) |
0x1A6BA | code | Dictator specific code (2) |
0x1A7E4 | code | Dictator specific code (1) |
0x1A8E4 | code | Dictator specific code (3) |
0x1B0FC | code | Dictator specific code (6) |
0x01BA9E | 16*4 | Offsets to char specific codes (2) |
0x01BB04 | 16*4 | Offsets to char specific codes (3) |
0x01D15E | 16*4 | Offsets to char specific codes (1) |
0x01D1B2 | 16*4 | Offsets to char specific codes (4) |
0x01D758 | 16*4 | Offsets to char specific codes (5) |
0x1D7FC | code | Ryu / Ken, E. Blanka, Dictator, Sagat, Boxer and Fei Long specific code (4) |
0x01D806 | code | Blanka, Dictator, Sagat, Boxer, Fei Long specific code (7) |
0x01DA9E | code | Guile specific code (3) |
0x01E4E6 | 16*2 | Offsets to char specific codes (6) |
0x01EBAE | 16*2 | Offsets to char specific codes (7) |
0x01F58A | code | Zangief specific code (5) |
0x01F5F8 | code | Zangief specific code (4) |
0x01F768 | code | Zangief specific code (1) |
0x01FBC6 | code | Zangief specific code (2) |
0x020058 | code | Zangief specific code (3) |
0x020816 | code | Zangief specific code (6) |
0x020850 | code | Zangief specific code (7) |
0x02090C | code | Boxer specific code (5) |
0x020946 | code | Boxer specific code (2) |
0x0209DA | code | Boxer specific code (1) |
0x020BA8 | code | Boxer specific code (3) |
0x020EB4 | code | Boxer specific code (6) |
0x020F5C | code | Claw specific code (4) |
0x020FC4 | code | Claw specific code (4) |
0x02102E | code | Claw specific code (6) |
0x02106A | code | Claw specific code (2) |
0x0211FE | code | Claw specific code (1) |
0x02138A | code | Claw specific code (3) |
0x021BF4 | code | Claw specific code (7) |
0x021C4C | code | Cammy specific code (5) |
0x021C96 | code | Cammy specific code (4) |
0x021CA2 | code | Cammy specific code (7) |
0x021D30 | code | Cammy specific code (6) |
0x021D6E | code | Cammy specific code (2) |
0x02219C | code | Cammy specific code (1) |
0x022238 | code | Cammy specific code (3) |
0x022858 | code | T. Hawk specific code (4) |
0x022864 | code | T. Hawk specific code (7) |
0x0228AE | code | T. Hawk specific code (5) |
0x022904 | code | T. Hawk specific code (6) |
0x02293E | code | T. Hawk specific code (2) |
0x022B38 | code | T. Hawk specific code (1) |
0x022DB2 | code | T. Hawk specific code (3) |
0x023364 | code | Fei Long Specific code (5) |
0x0233C0 | code | Fei Long Specific code (1) |
0x023422 | code | Fei Long Specific code (2) |
0x02384A | code | Fei Long Specific code (3) |
0x023CC4 | code | Fei Long Specific code (6) |
0x023D20 | code | DeeJay specific code (5) |
0x023D4C | code | DeeJay specific code (4) |
0x023D94 | code | DeeJay specific code (1) |
0x023E44 | code | DeeJay specific code (2) |
0x02404E | code | DeeJay specific code (3) |
0x024412 | code | DeeJay specific code (6) |
0x0244C2 | code | DeeJay specific code (7) |
0x028434 | 2*19 | Offsets to stages objects lists |
0x02845A | Ryu Stage objects list (see note) | |
0x028478 | E. Honda Stage objects list (see note) | |
0x02849D | Blanka Stage objects list (see note) | |
0x0284A6 | Guile Stage objects list (see note) | |
0x0284BD | Ken Stage objects list (see note) | |
0x0284DB | Chun-Li Stage objects list (see note) | |
0x0284F2 | Zangief Stage objects list (see note) | |
0x028509 | Dhalsim Stage objects list (see note) | |
0x02850A | Dictator Stage objects list (see note) | |
0x028521 | Sagat Stage objects list (see note) | |
0x02852A | Boxer Stage objects list (see note) | |
0x028541 | Claw Stage objects list (see note) | |
0x028551 | Cammy Stage objects list (see note) | |
0x02856F | T. Hawk Stage objects list (see note) | |
0x02857F | Fei Long Stage objects list (see note) | |
0x0285A3 | Deejay Stage objects list (see note) | |
0x0285AB | Bonus Stage 1 objects list (see note) | |
0x0285C8 | Bonus Stage 2 objects list (see note) | |
0x028608 | Bonus Stage 3 objects list (see note) | |
0x028AEA | code | Objects update functions (up to 0x0309F8) |
0x032908 | 4*16 | List of pointers to Characters Tilesets Commands |
0x032948 | 4*16 | List of pointers to characters animations tables |
0x0627e2 | 196*2 | Ryu Tilesets Commands offsets (see note) |
0x06296a | Ryu Tilesets Commands (up to 0x06317b) | |
0x06317c | 110*2 | E. Honda Tilesets Commands offsets (see note) |
0x063258 | E. Honda Tilesets Commands (up to 0x0637c7) | |
0x0637c8 | 100*2 | Blanka Tilesets Commands offsets (see note) |
0x063890 | Blanka Tilesets Commands (up to 0x063d77) | |
0x063d78 | 146*2 | Guile Tilesets Commands offsets (see note) |
0x063e9c | Guile Tilesets Commands (up to 0x0644c3) | |
0x0644c4 | 196*2 | Ken Tilesets Commands offsets (see note) |
0x06464c | Ken Tilesets Commands (up to 0x06511d) | |
0x06511e | 137*2 | Chun-Li Tilesets Commands offsets (see note) |
0x065230 | Chun-Li Tilesets Commands (up to 0x065893) | |
0x065894 | 135*2 | Zangief Tilesets Commands offsets (see note) |
0x0659a2 | Zangief Tilesets Commands (up to 0x066015) | |
0x066016 | 134*2 | Dhalsim Tilesets Commands offsets (see note) |
0x066122 | Dhalsim Tilesets Commands (up to 0x06674d) | |
0x06674e | 128*2 | Dictator Tilesets Commands offsets (see note) |
0x06684e | Dictator Tilesets Commands (up to 0x066e79) | |
0x066e7a | 99*2 | Sagat Tilesets Commands offsets (see note) |
0x066f40 | Sagat Tilesets Commands (up to 0x06749b) | |
0x06749c | 117*2 | Boxer Tilesets Commands offsets (see note) |
0x067586 | Boxer Tilesets Commands (up to 0x067b33) | |
0x067b34 | 136*2 | Claw Tilesets Commands offsets (see note) |
0x067c44 | Claw Tilesets Commands (up to 0x06849d) | |
0x06849e | 166*2 | Cammy Tilesets Commands offsets (see note) |
0x0685ea | Cammy Tilesets Commands (up to 0x068ce3) | |
0x068ce4 | 146*2 | T. Hawk Tilesets Commands offsets (see note) |
0x068e08 | T. Hawk Tilesets Commands (up to 0x06958f) | |
0x069590 | 182*2 | Fei Long Tilesets Commands offsets (see note) |
0x0696fc | Fei Long Tilesets Commands (up to 0x069eb9) | |
0x069eba | 191*2 | Deejay Tilesets Commands offsets (see note) |
0x06a038 | Deejay Tilesets Commands (up to 0x06a85b) | |
0x06a85c | 140*2 | Ryu animations table offsets (see note) |
0x06a976 | Ryu animations data (up to 0x06b3a7) | |
0x06c0d8 | 154*2 | E. Honda animations table (see note) |
0x06c20c | E. Honda animations data (up to 0x06ca9f) | |
0x06d6a0 | 169*2 | Blanka animations table (see note) |
0x06d7f2 | Blanka animations data (up to 0x06e139) | |
0x06ebda | Guile animations table (see note) | |
0x06ece4 | 133*2 | Guile animations data (up to 0x06f4e5) |
0x070226 | 140*2 | Ken animations table (see note) |
0x07033e | Ken animations data (up to 0x070c6d) | |
0x0719be | 173*2 | Chun-Li animations table (see note) |
0x071b18 | Chun-Li animations data (up to 0x072571) | |
0x073302 | 141*2 | Zangief animations table (see note) |
0x07341c | Zangief animations data (up to 0x073d8f) | |
0x074a60 | 137*2 | Dhalsim animations table (see note) |
0x074b72 | Dhalsim animations data (up to 0x075677) | |
0x0760c8 | 159*2 | Dictator animations table (see note) |
0x076206 | Dictator animations data (up to 0x076ee3) | |
0x077964 | 133*2 | Sagat animations table (see note) |
0x077a6e | Sagat animations data (up to 0x0782eb) | |
0x078d8c | 134*2 | Boxer animations table (see note) |
0x078e98 | Boxer animations data (up to 0x0796c1) | |
0x07ba48 | 141*2 | Claw animations table (see note) |
0x07bb62 | Claw animations data (up to 0x07c3f7) | |
0x079f22 | 137*2 | Cammy animations table (see note) |
0x07a034 | Cammy animations data (up to 0x07aff7) | |
0x07cd88 | 134*2 | T. Hawk animations table (see note) |
0x07ce94 | T. Hawk animations data (up to 0x07d599) | |
0x07e17a | 136*2 | Fei Long animations table (see note) |
0x07e28a | Fei Long animations data (up to 0x07ec43) | |
0x07f9e4 | 142*2 | Deejay animations table (see note) |
0x7fb00 | Deejay animations data (up to 0x080547) | |
0x090000 | 1 | Numbers of BGMs (59) |
0x090002 | 59*4 | Pointers to each BGM data |
0x0900ee | Start of BGM datas | |
0x09f000 | 32*? | FM Instruments data (32 bytes per instrument) |
0x0a0000 | Ryu and Ken tileset (see note) up to 0x0caa20 | |
0x0cb4a0 | E. Honda tileset (see note) up to 0x0eccc0 | |
0x0eccc0 | Blanka tileset (see note) up to 0x10b980 | |
0x10b980 | Guile tileset (see note) up to 0x12ac60 | |
0x12ac60 | Chun-Li tileset (see note) up to 0x1435e0 | |
0x149040 | Zangief tileset (see note) up to 0x16ca80 | |
0x171ea0 | Dhalsim tileset (see note) up to 0x18d900 | |
0x18d900 | Dictator tileset (see note) up to 0x1a52e0 | |
0x1a9cc0 | Sagat tileset (see note) up to 0x1bd500 | |
0x01bf1e0 | Boxer tileset (see note) up to 0x1d2060 | |
0x1dbac0 | Claw tileset (see note) up to 0x1f6640 | |
0x1f68a0 | Cammy tileset (see note) up to 0x213660 | |
0x213660 | T. Hawk tileset (see note) up to 0x2474a0 | |
0x2474a0 | Fei Long tileset (see note) up to 0x26f400 | |
0x26f400 | DeeJay tileset (see note) up to 0x2a6dc0 | |
0x2a6dc0 | Tilesets common to all characters (burnt, etc.) up to 0x2ab760 | |
0x2CA344 | Objects Sprites Definitions (see notes) (up to 0x2CE4AC) | |
0x3B6200 | Ryu Stage tileset 3 data | |
0x3B6320 | E. Honda Stage tileset 3 data | |
0x3B6760 | Guile Stage tileset 3 data | |
0x3B7560 | Ken Stage tileset 3 data | |
0x3B8600 | Chun Li Stage tileset 3 data | |
0x3B9600 | Zangief Stage tileset 3 data | |
0x3B9CA0 | Dictator Stage tileset 3 data | |
0x3BBCA0 | Boxer Stage tileset 3 data | |
0x3BCD60 | Cammy Stage tileset 3 data | |
0x3BD640 | T. Hawk Stage tileset 3 data | |
0x4BD760 | Fei Long Stage tileset 3 data | |
0x3BD8E0 | Deejay Stage tileset 3 data | |
0x3BDAE0 | Bonus Stage 1 tileset 3 data | |
0x3BE960 | Bonus Stage 1 tileset 3' data | |
0x3BECE0 | Bonus Stage 3 tileset 3 data | |
0x3BFEE0 | Bonus Stage 2 tileset 3 data | |
0x3EB100 | Ryu Stage tileset 1 data | |
0x3EFFC0 | E. Honda Stage tileset 1 data | |
0x3F5DC0 | Blanka Stage tileset 1 data | |
0x3FC5C0 | Guile Stage tileset 1 data | |
0x4024A0 | Ken Stage tileset 1 data
(also used for Bonus Stage 1) | |
0x408C40 | Chun Li Stage tileset 1 data | |
0x40EBE0 | Zangief Stage tileset 1 data
(also used for Bonus Stage 2) | |
0x414CA0 | Dhalsim Stage tileset 1 data | |
0x41A5A0 | Dictator Stage tileset 1 data
(also used for Bonus Stage 3) | |
0x41F4A0 | Sagat Stage tileset 1 data | |
0x4252C0 | Boxer Stage tileset 1 data | |
0x42B600 | Claw Stage tileset 1 data | |
0x431BA0 | Cammy Stage tileset 1 data | |
0x4383A0 | T. Hawk Stage tileset 1 data | |
0x43F3A0 | T. Hawk Stage tileset 1' data | |
0x43F860 | Fei Long Stage tileset 1 data | |
0x445460 | Deejay Stage tileset 1 data | |
0x44C460 | Deejay Stage tileset 1' data | |
0x44C9A0 | Bonus Stage 1 tileset 1' data | |
0x44F9A0 | Bonus Stage 2 tileset 1' data | |
0x450240 | Bonus Stage 3 tileset 1' data | |
0x4534A0 | Ryu Stage tileset 2 data | |
0x4554A0 | E. Honda Stage tileset 2 data | |
0x4574A0 | Blanka Stage tileset 2 data | |
0x4594A0 | Guile Stage tileset 2 data | |
0x45B4A0 | Ken Stage tileset 2 data | |
0x45D4A0 | Chun Li Stage tileset 2 data | |
0x45F4A0 | Zangief Stage tileset 2 data | |
0x4614A0 | Dhalsim Stage tileset 2 data | |
0x4634A0 | Dictator Stage tileset 2 data | |
0x4654A0 | Sagat Stage tileset 2 data | |
0x4674A0 | Boxer Stage tileset 2 data | |
0x4694A0 | Claw Stage tileset 2 data | |
0x46B4A0 | Cammy Stage tileset 2 data | |
0x46D4A0 | T. Hawk Stage tileset 2 data | |
0x46F4A0 | Fei Long Stage tileset 2 data | |
0x4714A0 | Deejay Stage tileset 2 data | |
0x4734A0 | Bonus Stage 1 tileset 2 data | |
0x4754A0 | Bonus Stage 2 tileset 2 data | |
0x4764A0 | Bonus Stage 3 tileset 2 data | |
0x4774A0 | 32*2 | Ryu Stage palettes 0 and 1 |
0x4774E0 | 32*2 | E.Honda Stage palettes 0 and 1 + color cycles |
0x477520 | 80*2 | Blanka Stage palettes 0 and 1 |
0x4775C0 | 32*2 | Guile Stage palettes 0 and 1 |
0x477600 | 32*2 | Ken Stage palettes 0 and 1 |
0x477640 | 32*2 | Chun Li Stage palettes 0 and 1 |
0x477680 | 32*2 | Zangief Stage palettes 0 and 1 |
0x4776C0 | 32*2 | Dhalsim Stage palettes 0 and 1 |
0x477700 | 32*2 | Dictator Stage palettes 0 and 1 |
0x477740 | 32*2 | Sagat Stage palettes 0 and 1 |
0x477780 | 192*2 | Boxer Stage palettes 0 and 1 + color cycles |
0x477900 | 80*2 | Claw Stage palettes 0 and 1 + color cycles |
0x4779A0 | 288*2 | Cammy Stage palettes 0 and 1 |
0x477BE0 | 32*2 | T. Hawk Stage palettes 0 and 1 |
0x477C20 | 32*2 | Fei Long Stage palettes 0 and 1 |
0x477C60 | 32*2 | Deejay Stage palettes 0 and 1 |
0x477CA0 | 32*2 | Bonus Stage 1 palettes 0 and 1 |
0x477CE0 | 32*2 | Bonus Stage 2 palettes 0 and 1 |
0x477D20 | 32*2 | Bonus Stage 3 palettes 0 and 1 |