Welcome to Data Crystal's new home! Data Crystal is now part of the TCRF family (sort of).
The wiki has recently moved; please report any issues in Discord. Pardon the dust.

Yu-Gi-Oh! Duel Monsters/RAM map

From Data Crystal
Jump to navigation Jump to search

Chip tiny.png The following article is a RAM map for Yu-Gi-Oh! Duel Monsters.

VRAM

Address Size    Description
------- ----    -----------
 8002      1    ?

SRAM

Address Size    Description
------- ----    -----------
 B7F1     11    Date of build, and KONAMI string
                B7F1 is set to 0x22 after Button Password #2 is entered (wipe out the save file)

WRAM

Address Size    Description
------- ----    -----------
 C5xx    256    Temporary storage; the current address available for storage is pointed by wCAAA
  C50C     8    Card Password displayed on screen
 C821      1    ?
 C823      1    ?
 C824      1    ?
 C82E      1    ?
 C82F      1    ?
 C835      1    ?
 C863      2    ?
 C8A4      1    ?
 C8E4      1    ?
 C902      1    Type of screen displayed ?
 C903      3    Type of screen displayed ?
 C90C      1    ?
 C911      1    ?
 C912      1    ? (Changed to 0x05 by Button Password #3)
 C915      1    ? (Changed to 0x11 by Button Password #3)
 C917      1    ? (Changed to 0x08 by Button Password #3)
 C918      1    ? (Copied from (C90C))
 C920      1    ?
 CAA5      1    Button pressed
 CAA6      1    Button pressed
                0x00 : None
                0x01 : A
                0x02 : B
                0x04 : Select
                0x08 : Start
                0x10 : →
                0x20 : ←
                0x40 : ↑
                0x80 : ↓
 CAA7      1    ?
 CAA8      1    ?
 CAA9      1    ?
 CAAA      1    Current position in the wC5XX temporary storage area
 CAAB      1    ?
 CAAC      1    ? (probably GB / SGB / SGB2 flag)
                wCAAC is set to 2 after Button Password #3 is entered
 CAB0      2    P1 Life Points
 CAB3      2    P2 Life Points
 CAB6      2    Next value to display in Battle screen
 CAB8      1    Used to determine at which subroutine to jump in routine 1:42EC during the Damage step
 CAB9     20    ?
 CACD      1    ?
 CAD0      1    Last character entered in Password or Name Entry
 CAD1      1    ?
 CAE2      2    Current card id
 CAE4    365    Cards in chest
 CC56      1    Current page -1 in deck viewer
 CC57      1    # of pages -1 to display in deck viewer
 CC58      1    Last card slot displayed
 CC5A      1    Last card slot id displayed
 CC5B     80    Player's Deck
 CCAB      1    Cards in CPU's Deck
 CCAC     80    CPU's Deck
 CD11      1    Cursor Column
 CD12      1    Cursor Row
 CD13      2    ATK (display)
 CD15      2    DEF (display)
 CD1B      4    ? (Battle Step display ?)
 CE01      1    ?
 CE09      2    LPs to decrease (display during battle damage)
 CE0E      2    ?
 CE99      4    PRNG
 CE9D      1    Min value for PRN
 CE9E      1    Max value for PRN
 CE9F      1    1-byte Pseudo-Random Number
 CEA0      1    Current selected menu (main menu)
 CEE0      2    Next LPs to display during damage ?
 CEEF      1    Selected duelist
 CF50     66    Duels / Wins ratios
 CFA1      8    Card password
 CFAC      1    # of characters in password
 DAF4      2    ? (pointer)
 DCEF      2    ? (Changed by Button password #3)
 DFC9     16    ? (Button password check)
 DFDA      1    ? (Button password check)
 DFDB      1    ? (Button password check)
 DFDC      1    ? (Button password check)
 DFDD      1    ? (Button password check)
 DFDE      1    Title screen button password check

HRAM

Address Size    Description
------- ----    -----------
 FFDD      1    System running the game
                0x01 - Game Boy / Super Game Boy 1
                0x11 - Game Boy Color
                0xFF - Super Game Boy 2
 FFDE      1    System running the game
                0x00 - Game Boy Color
                0x01 - ?
                0x02 - Game Boy
                0x03 - Super Game Boy 2
                FFDE is set to 2 after Button password #3 is entered
 FFE4      1    ?
 FFE5      1    ?