YI Memory Map
Displaying 100 out of 586 addresses.
View: moderated | waiting (30)
ROM Address | Length | Type | Description | Details |
---|---|---|---|---|
$008000 | 85 bytes | ASM | This is the starting address for YI. This takes care of basic initialization such as disabling IRQ, HDMA, DMA, clearing the SPC ports, enabling F-blank, disabling emulation mode, disabling decimal mode, initializing the direct page, and setting up the stack, among other things. | |
$0080F8 | 56 bytes | Debug | Routine used for frame advance debug code. Enabled by tweak at $0080F7. See details for controls. | Controls |
$00816A | 207 bytes | Pointer | Gamemode subroutine table, 3 bytes per entry. | |
$008275 | 2 bytes | Empty | Empty (filled with FF) | |
$008288 | 35 bytes | Subroutine | JSL to copy a block of memory into RAM. Input: A: Size of the block $20-$22: RAM Destination $23-$25: DMA Source |
|
$0082D0 | 19 bytes | ASM | Copies SPC program | |
$0083CD | 34 bytes | Subroutine | Subroutine that handles fading effects. | |
$00841F | 140 bytes | Subroutine | Music uploader subroutine | |
$00851C | 16 bytes | Music | Item-Denial table for each music track: $01-$7F: disable items, $00 and $80-$FF: enable items | |
$008543 | 142 bytes | ASM | Music uploader controller | |
$0085D2 | 10 bytes | Subroutine | Subroutine that plays sound effects | |
$00B039 | 768 bytes | Graphics | List of sprite GFX file numbers (1 byte each) that make up each sprite set (6 files per set). | |
$00BFF6 | 10 bytes | Empty | Empty (filled with FF) | |
$00DE44 | 35 bytes | Super FX | Calls a Super FX routine, Register X = Bank, Register A = Address | |
$00E101 | 37 bytes | Subroutine | Kill Yoshi Subroutine. This one kills Yoshi as he was killed by lava. Note that this routine is copied into RAM so jump to $7EE101 if GSU is active. $00E10F is Yoshi's initial Y speed in the death animation. $00E0FD (4 bytes) is the X speed Yoshi has got in the death animation, for facing right and left. |
|
$00E552 | 1024 bytes | Table | Lookup table for function y = 1/x, copied into $702200-$7025FF (Used by GSU to divide. It does not have a hardware divide so this lookup table is used instead) | |
$00F7A9 | 2039 bytes | Empty | Empty (filled with FF) | |
$00FFA0 | 5 bytes | Misc. | ROM build date and time. On a U 1.0 ROM, it's 11:19 am on July 31st, 1995 | |
$00FFA5 | 11 bytes | Empty | Empty (filled with FF) | |
$00FFB0 | 2 bytes | Misc. | ROM registration: Maker code (ASCII): "01" (Nintendo) | |
$00FFB2 | 4 bytes | Misc. | ROM registration: Game code (ASCII): "YI " | |
$00FFB6 | 6 bytes | Misc. | ROM registration: reserved (all $00) | |
$00FFBC | 1 byte | Misc. | ROM registration: Expansion FLASH Size ($00 = none) | |
$00FFBD | 1 byte | Misc. | ROM registration: Super FX RAM size ($05 = 32KB) | |
$00FFBE | 1 byte | Misc. | ROM registration: Special version ($00 = not special) | |
$00FFBF | 1 byte | Misc. | ROM registration: Chipset sub-type ($00) | |
$00FFC0 | 21 bytes | Misc. | ROM header: Cartridge title (ASCII): "YOSHI'S ISLAND " | |
$00FFD5 | 1 byte | Misc. | ROM header: ROM Makeup ($20 = LoROM) | |
$00FFD6 | 1 byte | Misc. | ROM header: Chipset ($15 = ROM + SuperFX + RAM + SRAM) | |
$00FFD7 | 1 byte | Misc. | ROM header: ROM size ($0B = 2MB) | |
$00FFD8 | 1 byte | Misc. | ROM header: SRAM size | |
$00FFD9 | 1 byte | Misc. | ROM header: Region ($01 = NTSC) | |
$00FFDA | 1 byte | Misc. | ROM header: $33 (fixed value) | |
$00FFDB | 1 byte | Misc. | ROM header: Version ($00 = 1.0) | |
$00FFDC | 2 bytes | Misc. | ROM header: Checksum complement (inverted bits) | |
$00FFDE | 2 bytes | Misc. | ROM header: Checksum | |
$00FFE0 | 4 bytes | Misc. | 2 unused native vectors | |
$00FFE4 | 2 bytes | Misc. | Native COP vector (unused) | |
$00FFE6 | 2 bytes | Misc. | Native BRK vector (unused) | |
$00FFE8 | 2 bytes | Misc. | Native ABORT vector (unused) | |
$00FFEA | 2 bytes | Misc. | Native NMI vector (vblank) | |
$00FFEC | 2 bytes | Misc. | Native RESET vector (unused) | |
$00FFEE | 2 bytes | Misc. | Native IRQ vector | |
$00FFF0 | 4 bytes | Misc. | 2 unused emulation vectors | |
$00FFF4 | 2 bytes | Misc. | Emulation COP vector (unused) | |
$00FFF6 | 2 bytes | Misc. | Emulation BRK vector (unused) | |
$00FFF8 | 2 bytes | Misc. | Emulation ABORT vector (unused) | |
$00FFFA | 2 bytes | Misc. | Emulation NMI vector (unused) | |
$00FFFC | 2 bytes | Misc. | Emulation RESET vector | |
$00FFFE | 2 bytes | Misc. | Emulation IRQ vector (unused) | |
$028000 | 72 bytes | Sprite Palette | Yoshi colors used in-level. Arranged by translevel number. | |
$0280BD | 108 bytes | Sprite Palette | Falling wall palettes. Palettes are stored in individual colours, in the order blue value, green value and red value. It is indexed by the table at $0280B7 which in turn is indexed by the sprite palette and is copied to $70404A. | |
$02FFD7 | 41 bytes | Empty | Empty (filled with FF) | |
$038000 | 1326 bytes | Pointer | Long pointers to sprite init routines in sprite ID order ($000 - $1B9) | |
$03852E | 1326 bytes | Pointer | Long pointers to sprite main routines in sprite ID order ($000 - $1B9) | |
$038A5C | 1326 bytes | Pointer | Long pointers to sprite head bop routines in sprite ID order ($000 - $1B9) | |
$038F8A | 1326 bytes | Pointer | Long pointers to sprite riding Yoshi routines in sprite ID order ($000 - $1B9) | |
$03A364 | 300 bytes | Subroutine | Subroutine that spawns sprites | |
$03FEEE | 274 bytes | Empty | Empty (filled with FF) | |
$0489B8 | 8 bytes | Sprite Palette | Shy Guy Colors (Green, Red, Yellow, Pink) | |
$04AC9C | 29 bytes | Subroutine | Kill Yoshi Subroutine. This one kills Yoshi as he was killed by a spike. | |
$05C6FD | 16 bytes | Misc. | Table of '?' bucket rotation effects | |
$05FFC4 | 60 bytes | Empty | Empty (filled with FF) | |
$06FEAA | 342 bytes | Empty | Empty (filled with FF) | |
$07FF47 | 185 bytes | Empty | Empty (filled with FF) | |
$089FD0 | 48 bytes | Empty | Empty (filled with 01) | |
$09835F | 477 bytes | Super FX | Super FX routine which draws Yoshi (copies tiles to OAM and sets the graphics pointer). It also draws Yoshi's tongue. | |
$09AF70 | 206 bytes | Empty | Empty (filled with 01) | |
$09EDCE | 624 bytes | Empty | Empty (filled with 01) | |
$09F18F | 687 bytes | Empty | Empty (filled with 01) | |
$0AEC2B | 4 bytes | Player Physics | Yoshi max speed for acceleration to apply, for right and left. | |
$0B9787 | 121 bytes | Empty | Empty (filled with 01) | |
$0BF3B7 | 3145 bytes | Empty | Empty (filled with FF) | |
$0CDACA | 24 bytes | Sprite Palette | Color of Kamek's first magic spell; 2 bytes per boss battle. | |
$0CDAE2 | 24 bytes | Sprite Palette | Color of Kamek's second magic spell; 2 bytes per boss battle. | |
$0CDAFA | 12 bytes | Music | Music value used for each boss battle: $0A is x-4 boss music (or for level header music setting 7 or 8, $0A becomes the longer intro used in piranha & raven), and $0C is x-8 boss music | |
$0CFF69 | 151 bytes | Empty | Empty (filled with FF) | |
$0DFC83 | 893 bytes | Empty | Empty (filled with FF) | |
$0EA131 | 7 bytes | Subroutine | Barney Bubble init subroutine | |
$0EFF82 | 126 bytes | Empty | Empty (filled with FF) | |
$0FE056 | 6058 bytes | Empty | Empty (filled with FF) | |
$0FFC80 | 896 bytes | Misc. Tilemap | Tilemap for the Title Screen logo | |
$108B05 | 16 bytes | Level Data | Table (one byte entries): The number of bits to copy for each piece of variable-sized header information, in level header order. The final $00 marks the end. Used by $108B15. |
|
$108B15 | 72 bytes | Subroutine | Level header decompression routine: copies variable-sized pieces of header data into separate addresses in RAM starting at $7E0134 | |
$11B0FB | 4 bytes | Bandit Mini-Game | Table of distances that the Gather Coins cannon rotates | |
$11B0FF | 4 bytes | Bandit Mini-Game | Table of distances that the Gather Coins cannon and platform will move along the white track | |
$11B103 | 4 bytes | Bandit Mini-Game | Table of speeds that the Gather Coins cannon rotates | |
$15FFD3 | 45 bytes | Empty | Empty (filled with FF) | |
$1681C7 | 766 bytes | Level Data | Level $00: object data | |
$17B781 | 384 bytes | Map | X-coordinates for checkpoints along Yoshi's walking path after beating a level; 8 bytes per level | |
$17B901 | 384 bytes | Map | Y-coordinates for checkpoints along Yoshi's walking path after beating a level; 8 bytes per level | |
$17BDAE | 16 bytes | Map | X-coordinates of each Yoshi on the world 1 map | |
$17BDBE | 16 bytes | Map | X-coordinates of each Yoshi on the world 2 map | |
$17BDCE | 16 bytes | Map | X-coordinates of each Yoshi on the world 3 map | |
$17BDDE | 16 bytes | Map | X-coordinates of each Yoshi on the world 4 map | |
$17BDEE | 16 bytes | Map | X-coordinates of each Yoshi on the world 5 map | |
$17BDFE | 16 bytes | Map | X-coordinates of each Yoshi on the world 6 map | |
$17BE0E | 16 bytes | Map | Y-coordinates of each Yoshi on the world 1 map | |
$17BE1E | 16 bytes | Map | Y-coordinates of each Yoshi on the world 2 map | |
$17BE2E | 16 bytes | Map | Y-coordinates of each Yoshi on the world 3 map | |