Pokémon Trading Card Game/RAM map: Difference between revisions

From Data Crystal
Jump to navigation Jump to search
No edit summary
m (Xkeeper moved page Pokémon Trading Card Game:RAM map to Pokémon Trading Card Game/RAM map: normalize subpages and titles)
 
(49 intermediate revisions by one other user not shown)
Line 1: Line 1:
{{rammap|game=Pokémon TCG}}
{{rammap|game=Pokémon Trading Card Game}}
==USA==
RAM map there: https://github.com/pret/poketcg/blob/master/src/wram.asm <br>
Letting some data here for quick access though.


==Miscellaneous==
===SRAM===
* A101-A1E4 - Cards (including built decks)
Address Size    Description
* C001-C0E4 - Cards (excluding built decks)
------- ----    -----------
* CF68 - Fake number of cards in card menu (slot 1)
  A101    227    Cards (including built decks) (SRAM)
  B701      2    Number of decks registered without name


* CAC5 - Time (frames)
===WRAM===
* CAC6 - Time (seconds)
Address Size    Description
* CAC7 - Time (minutes)
------- ----    -----------
* CAC8 - Time (hours)
  C001    227    Cards (excluding built decks)
  C200    60    P1 card positions during battle
  C27E    60    P1 deck card order during battle
  C2BB      6    P1 Pokémon on the field IDs
  C2C8      6    P1 Pokémon HPs
  C300    60    P2 card positions during battle
  C37E    60    P2 deck card order during battle
  C3BA      1    P2 Number of cards drawn from Deck
  C3BB      6    P2 Pokémon on the field IDs
  C3C8      6    P2 Pokémon HPs
  C3E8      1    P2 Active Sub-status 1
  C3E8      1    P2 Active Sub-status 2
  C3E9      1    P2 Active Sub-status 3
  C3EA      1    P2 Active Sub-status 4
  C3EB      1    P2 Active Sub-status 5
  C3EC      1    P2 Number of Prizes
  C3ED      1    P2 Number of cards in Discard Pile
  C3EE      1    P2 Number of cards in hand
  C3EF      1    P2 Number of Pokémon in play
  C400    60    During battle : P1 deck
                Out of battle : Booster pack
  C480    60    P2 deck
  CAC5     1    Time (frames)
  CAC6     1    Time (seconds)
  CAC7     1    Time (minutes)
  CAC8     2    Time (hours)
  CACA      2    Pseudo Random Number
                Its value changes on:
                • coin toss (once)
                • deck shuffle (once)
                • random Attack (e. g. Lv. 68 Zapdos's Big Thunder) (once)
                • random Pokémon Power (e. g. L. 40 Moltres's Firegiver) (once)
                • Tutorial battle (set to predetermined value)
                • new game / continue menu (every frame)
                • start menu (every frame)
                • building (every 60 frames)
  CACC      1    PRNG count
  CC0B      1    Has an Energy card been played this turn ? (stays at 0 if Water Energy with Rain Dance)
  CC0D      1    Current player's turn
  CD0A      1    ?
  CD0B      1    ?
  CD0D      1    Uppercase switch
  CDD2      1    P1 Prizes left
  CF68    32    Amount of each card in selected color (deck builder)
  D0BB      1    [[Pokémon Trading Card Game:Notes#Room_IDs|Room ID]]
  D0BC      1    x coordinate
  D0BD      1    y coordinate
  D0BF      1    World Map mode
                  0x00: On
                  0x01: Off
  D117      1    ?
  D11D      1    [[Pokémon Trading Card Game:Notes#Mail_IDs|Mail ID currently selected]]
  D11E    15    [[Pokémon Trading Card Game:Notes#Mail_IDs|Mail IDs  + already opened status]]
  D12E      1    [[Pokémon Trading Card Game:Notes#Mail_IDs|Mail read + already opened status]]
  D291      1    ?
  D32E      1    World Map cursor
  D32F      1    Room ID (Copy)
  D3D2      1    Medals
  D669      1    Booster generation: Booster data offset
  D66A      1    Booster generation: Pseudo-Random Number between 0 and ''n''
  D66B      1    ? (Booster generation)
  D66C      1    ? (Booster generation)
  D66D      1    ? (Booster generation, generated from array at 7:64E4 by func_7:6430)
  D66E      3    ? (Booster generation)
  D686    12    Booster data array (retrieved from 7:64E4)
1:D334    1    Direction of character
                00 : Up
                01 : Right
                02 : Down
                03 : Left
1:D4D5    1    Direction of character
                1E : Up
                1F : Right
                20 : Down
                21 : Left
1:D4D7    1    Direction of character
                05 : Up
                DA : Right
                E9 : Down
                00 : Left


* <tt>C200-C23B</tt> - P1 cards' ingame locations.
===HRAM===
* <tt>C27E-C2B9</tt> - P1 library card order.
Address Size    Description
* <tt>C2BB-C2C0</tt> - P1 pokemon card indices.
------- ----   -----------
* <tt>C2C8-C2CD</tt> - P1 pokemon health.
  FF80      1    ROM Bank
* <tt>C300-C33B</tt> - P2 cards' ingame locations.
  FF81      1    RAM Bank
* <tt>C37E-C3B9</tt> - P2 library card order.
  FF82      1    VRAM Bank
* <tt>C3BB-C3C0</tt> - P2 pokemon card indices.
  FF97      1    Current turn
* <tt>C3C8-C3CD</tt> - P2 pokemon health.
  FFB6      1    ? (set to 0x10 by func_0:3C5A)
* <tt>C400-C409</tt> - Card IDs for booster pack contents (After a match)
* <tt>C400-C43B</tt> - P1 deck card IDs (During a match)
* <tt>C480-C4BB</tt> - P2 deck card IDs (During a match)
* <tt>CACA-CACB</tt> - PRNG Seed
* <tt>CC00 .......</tt> - Number of Prizes (During a match)
* CC0B - Energy card placed
* CC0D - Whose turn is it


<b>Note</b>: A card index is an offset into the array at either C400 or C480, which when resolved gives you the card ID.
==Europe A==
===WRAM===
Address Size    Description
------- ----    -----------
  C591    20    Text to be copied to VRAM
  CC04      1    Language
                00 : English
                01 : German
                02 : French
  CD10      1    ?
  CD11      1    Character being read
  CFEF    20    Deck name


* D11E-D12C - Mail
{{Internal Data|game=Pokémon Trading Card Game}}
* D3D2 - Medals
* D0BB - Room you're in
 
===Mail===
bits 1 thru 4
:1 - Starter
:2 - Fighting Club
:3 - Rock Club
:4 - Water Club
:5 - Lightning Club
:6 - Grass Club
:7 - Psychic Club
:8 - Science Club
:9 - Fire Club
:A - Helpful Tip 1
:B - Helpful Tip 2
:C - Grand Master Courtney
:D - Grand Master Steve
:E - Grand Master Jack
:F - Grand Master Rod
 
bit 8 read status
 
===Location Values===
00 - Library<br>
01 - Hand<br>
02 - Discard<br>
04 - Removed from Game<br>
08 - Prize<br>
10 - Active<br>
11 - Benched #1<br>
12 - Benched #2<br>
13 - Benched #3<br>
14 - Benched #4<br>
15 - Benched #5<br>
 
===Card IDs===
00 - Nothing<br>
01 - Grass Energy<br>
02 - Fire Energy<br>
03 - Water Energy<br>
04 - Lightning Energy<br>
05 - Fighting Energy<br>
06 - Psychic Energy<br>
07 - Double Colorless Energy<br>
08 - Bulbasaur LV13<br>
09 - Ivysaur LV20<br>
0A - Venusaur LV64(CP! Promo)<br>
0B - Venusaur LV67<br>
0C - Caterpie LV13<br>
0D - Metapod LV21<br>
0E - Butterfree LV28<br>
0F - Weedle LV12<br>
10 - Kakuna LV23<br>
11 - Beedrill LV32<br>
12 - Ekans LV10<br>
13 - Arbok LV27<br>
14 - Nidoran Female LV13<br>
15 - Nidorina LV24<br>
16 - Nidoqueen LV43<br>
17 - Nidoran Male LV20<br>
18 - Nidorino LV25<br>
19 - Nidoking LV48<br>
1A - Zubat LV10<br>
1B - Golbat LV29<br>
1C - Oddish LV8<br>
1D - Gloom LV22<br>
1E - Vileplume LV35<br>
1F - Paras LV8<br>
20 - Parasect LV28<br>
21 - Venonat LV12<br>
22 - Venomoth LV28<br>
23 - Bellsprout LV11<br>
24 - Weepinbell LV28<br>
25 - Victreebell LV42<br>
26 - Grimer LV17<br>
27 - Muk LV34<br>
28 - Exeggcute LV14<br>
29 - Exeggutor LV35<br>
2A - Koffing LV13<br>
2B - Weezing LV27<br>
2C - Tangela LV8 (GB)<br>
2D - Tangela LV12<br>
2E - Scyther LV25<br>
2F - Pinsir LV24<br>
30 - Charmander LV10<br>
31 - CharmelEon LV32<br>
32 - Charizard LV76<br>
33 - Vulpix LV11<br>
34 - Ninetails LV32<br>
35 - Ninetails LV35 (GB)<br>
36 - Growlithe LV18<br>
37 - Arcanine LV34 (Promo)<br>
38 - Arcanine LV45<br>
39 - Ponyta LV10<br>
3A - Rapidash LV33<br>
3B - Magmar LV24<br>
3C - Magmar LV31 (Fossil)<br>
3D - Flareon LV22 (GB)<br>
3E - Flareon LV28 (Jungle)<br>
3F - Moltres LV35<br>
40 - Legendary Moltres LV37<br>
41 - Squirtle LV8<br>
42 - Wartortle LV22<br>
43 - Blastoise LV52<br>
44 - Psyduck LV15<br>
45 - Golduck LV27<br>
46 - Poliwag LV13<br>
47 - Poliwhirl LV28<br>
48 - Poliwrath LV48<br>
49 - Tentacool LV10<br>
4A - Tentacruel LV21<br>
4B - Seel LV12<br>
4C - Dewgong LV42<br>
4D - Shellder LV8<br>
4E - Cloyster LV25<br>
4F - Krabby LV20<br>
50 - Kingler LV27<br>
51 - Horsea LV19<br>
52 - Seadra LV23<br>
53 - Goldeen LV12<br>
54 - Seaking LV28<br>
55 - Staryu LV15<br>
56 - Starmie LV28<br>
57 - Magikarp LV8<br>
58 - Gyarados LV41<br>
59 - Lapras LV31<br>
5A - Vaporeon LV29 (GB)<br>
5B - Vaporeon LV42 (Jungle)<br>
5C - Omanyte LV19<br>
5D - Omastar LV32<br>
5E - Articuno LV35<br>
5F - Legendary Articuno LV37<br>
60 - Pikachu LV12<br>
61 - Pikachu LV14 (Jungle)<br>
62 - Pikachu LV16 (promo)<br>
63 - Pikachu LV16 (promo2)<br>
64 - Flying Pikachu LV12<br>
65 - Surfing Pikachu LV13<br>
66 - Surfing Pikachu LV13 (2)<br>
67 - Raichu LV40<br>
68 - Raichu LV45 (Fossil)<br>
69 - Magnemite LV13<br>
6A - Magnemite LV15 (GB)<br>
6B - Magneton LV28<br>
6C - Magneton LV35 (Fossil)<br>
6D - Voltorb LV10<br>
6E - Electrode LV35 (GB)<br>
6F - Electrode LV42 (Jungle)<br>
70 - Electabuzz LV20 (Promo)<br>
71 - Electabuzz LV35<br>
72 - Jolteon LV24 (GB)<br>
73 - Jolteon LV29<br>
74 - Zapdos LV40<br>
75 - Zapdos LV64 (Fossil)<br>
76 - Legendary Zapdos LV68<br>
77 - Sandshrew LV12<br>
78 - Sandslash LV33<br>
79 - Diglett LV8<br>
7A - Dugtrio LV36<br>
7B - Mankey LV7<br>
7C - Primeape LV35<br>
7D - Machop LV20<br>
7E - Machoke LV40<br>
7F - Machamp LV67<br>
80 - Geodude LV16<br>
81 - Graveler LV29<br>
82 - Golem LV36<br>
83 - Onix LV12<br>
84 - Cubone LV13<br>
85 - Marowak LV26 (Jungle)<br>
86 - Marowak LV32 (GB)<br>
87 - Hitmonlee LV30<br>
88 - Hitmonchan LV33<br>
89 - Rhyhorn LV18<br>
8A - Rhydon LV48<br>
8B - Kabuto LV9<br>
8C - Kabutops LV30<br>
8D - Aerodactlyl LV28<br>
8E - Abra LV10<br>
8F - Kadabra LV38<br>
90 - Alakazam LV42<br>
91 - Slowpoke LV9 (Promo)<br>
92 - Slowpoke LV18 (Fossil)<br>
93 - Slowbro LV26<br>
94 - Gastly LV8<br>
95 - Gastly LV17 (Fossil)<br>
96 - Haunter LV17 (Fossil)<br>
97 - Haunter LV22<br>
98 - Gengar LV38<br>
99 - Drowzee LV12<br>
9A - Hypno LV36<br>
9B - Mr. Mime LV28<br>
9C - Jynx LV23<br>
9D - Mewtwo LV53<br>
9E - Mewtwo LV60 (Promo)<br>
9F - Mewtwo LV60 (Promo 2)<br>
A0 - Mew LV8 (Promo)<br>
A1 - Mew LV15 (CP! Promo)<br>
A2 - Mew LV23<br>
A3 - Pidgey LV8<br>
A4 - Pidgeotto LV36<br>
A5 - Pidgeot LV38 (GB)<br>
A6 - Pidgeot LV40 (Jungle)<br>
A7 - Rattata LV9<br>
A8 - Raticate LV41<br>
A9 - Spearow LV13<br>
AA - Fearow LV27<br>
AB - Clefairy LV14<br>
AC - Clefable LV34<br>
AD - Jigglypuff LV12 (Promo)<br>
AE - Jigglypuff LV13 (GB)<br>
AF - Jigglypuff LV14 (Jungle)<br>
B0 - Wigglytuff LV36<br>
B1 - Meowth LV14 (GB)<br>
B2 - Meowth LV15 (Jungle)<br>
B3 - Persian LV25<br>
B4 - Farfetch'd LV20<br>
B5 - Doduo LV10<br>
B6 - Dodrio LV28<br>
B7 - Lickitung LV26<br>
B8 - Chansey LV55<br>
B9 - Kangaskhan LV40<br>
BA - Tauros LV32<br>
BB - Ditto LV19<br>
BC - Eevee LV12<br>
BD - Porygon LV12<br>
BE - Snorlax LV20<br>
BF - Dratini LV10<br>
C0 - Dragonair LV33<br>
C1 - Legendary Dragonite LV41<br>
C2 - Dragonite LV45<br>
C3 - Professor Oak<br>
C4 - Imposter Professor Oak<br>
C5 - Bill<br>
C6 - Mr. Fuji<br>
C7 - Lass<br>
C8 - Imakuni?<br>
C9 - Pokemon Trader<br>
CA - Pokemon Breeder<br>
CB - Clefairy Doll<br>
CC - Mysterious Fossil<br>
CD - Energy Retrieval<br>
CE - Super Energy Retrieval<br>
CF - Energy Search<br>
D0 - Energy Removal<br>
D1 - Super Energy Removal<br>
D2 - Switch<br>
D3 - Pokemon Center<br>
D4 - Pokeball<br>
D5 - Scoop Up<br>
D6 - Computer Search<br>
D7 - Pokedex<br>
D8 - Pluspower<br>
D9 - Defender<br>
DA - Item Finder<br>
DB - Gust of Wind<br>
DC - Devolution Spray<br>
DD - Potion<br>
DE - Super Potion<br>
DF - Full Heal<br>
E0 - Revive<br>
E1 - Maintenance<br>
E2 - Pokemon Flute<br>
E3 - Gambler<br>
E4 - Recycle<br>
 
===Rooms===
00 - Map Screen<br>
01 - Mason's Lab (Main Room)<br>
02 - Mason's Lab (Deck Machines)<br>
03 - Ishihara's House<br>
04 - Fighting Club (Lobby)<br>
05 - Fighting Club (Reception Desk)<br>
06 - Fighting Club (Main Room)<br>
07 - Rock Club (Lobby)<br>
08 - Rock Club (Reception Desk)<br>
09 - Rock Club (Main Room)<br>
0A - Water Club (Lobby)<br>
0B - Water Club (Reception Desk)<br>
0C - Water Club (Main Room)<br>
0D - Lightning Club (Lobby)<br>
0E - Lightning Club (Reception Desk)<br>
0F - Lightning Club (Main Room)<br>
10 - Grass Club (Lobby)<br>
11 - Grass Club (Reception Desk)<br>
12 - Grass Club (Main Room)<br>
13 - Psychic Club (Lobby)<br>
14 - Psychic Club (Reception Desk)<br>
15 - Psychic Club (Main Room)<br>
16 - Science Club (Lobby)<br>
17 - Science Club (Reception Desk)<br>
18 - Science Club (Main Room)<br>
19 - Fire Club (Lobby)<br>
1A - Fire Club (Reception Desk)<br>
1B - Fire Club (Main Room)<br>
1C - Challenge Hall (Lobby)<br>
1D - Challenge Hall (Reception Desk)<br>
1E - Challenge Hall (Main Room)<br>
1F - Pokemon Dome (Library)<br>
20 - Pokemon Dome (Grand Master Challenge)<br>
21 - Pokemon Dome (Legendary Pokémon Cards)<br>

Latest revision as of 02:42, 24 January 2024

Chip tiny.png The following article is a RAM map for Pokémon Trading Card Game.

USA

RAM map there: https://github.com/pret/poketcg/blob/master/src/wram.asm
Letting some data here for quick access though.

SRAM

Address Size    Description
------- ----    -----------
 A101    227    Cards (including built decks) (SRAM)
 B701      2    Number of decks registered without name

WRAM

Address Size    Description
------- ----    -----------
 C001    227    Cards (excluding built decks)
 C200     60    P1 card positions during battle
 C27E     60    P1 deck card order during battle
 C2BB      6    P1 Pokémon on the field IDs
 C2C8      6    P1 Pokémon HPs
 C300     60    P2 card positions during battle
 C37E     60    P2 deck card order during battle
 C3BA      1    P2 Number of cards drawn from Deck
 C3BB      6    P2 Pokémon on the field IDs
 C3C8      6    P2 Pokémon HPs
 C3E8      1    P2 Active Sub-status 1
 C3E8      1    P2 Active Sub-status 2
 C3E9      1    P2 Active Sub-status 3
 C3EA      1    P2 Active Sub-status 4
 C3EB      1    P2 Active Sub-status 5
 C3EC      1    P2 Number of Prizes
 C3ED      1    P2 Number of cards in Discard Pile
 C3EE      1    P2 Number of cards in hand
 C3EF      1    P2 Number of Pokémon in play
 C400     60    During battle : P1 deck
                Out of battle : Booster pack
 C480     60    P2 deck
 CAC5      1    Time (frames)
 CAC6      1    Time (seconds)
 CAC7      1    Time (minutes)
 CAC8      2    Time (hours)
 CACA      2    Pseudo Random Number
                Its value changes on:
                • coin toss (once)
                • deck shuffle (once)
                • random Attack (e. g. Lv. 68 Zapdos's Big Thunder) (once)
                • random Pokémon Power (e. g. L. 40 Moltres's Firegiver) (once)
                • Tutorial battle (set to predetermined value)
                • new game / continue menu (every frame)
                • start menu (every frame)
                • building (every 60 frames)
 CACC      1    PRNG count
 CC0B      1    Has an Energy card been played this turn ? (stays at 0 if Water Energy with Rain Dance)
 CC0D      1    Current player's turn
 CD0A      1    ?
 CD0B      1    ?
 CD0D      1    Uppercase switch
 CDD2      1    P1 Prizes left
 CF68     32    Amount of each card in selected color (deck builder)
 D0BB      1    Room ID
 D0BC      1    x coordinate
 D0BD      1    y coordinate
 D0BF      1    World Map mode
                 0x00: On
                 0x01: Off
 D117      1    ?
 D11D      1    Mail ID currently selected
 D11E     15    Mail IDs  + already opened status
 D12E      1    Mail read + already opened status
 D291      1    ?
 D32E      1    World Map cursor
 D32F      1    Room ID (Copy)
 D3D2      1    Medals
 D669      1    Booster generation: Booster data offset
 D66A      1    Booster generation: Pseudo-Random Number between 0 and n
 D66B      1    ? (Booster generation)
 D66C      1    ? (Booster generation)
 D66D      1    ? (Booster generation, generated from array at 7:64E4 by func_7:6430)
 D66E      3    ? (Booster generation)
 D686     12    Booster data array (retrieved from 7:64E4)
1:D334     1    Direction of character
                00 : Up
                01 : Right
                02 : Down
                03 : Left
1:D4D5     1    Direction of character
                1E : Up
                1F : Right
                20 : Down
                21 : Left
1:D4D7     1    Direction of character
                05 : Up
                DA : Right
                E9 : Down
                00 : Left

HRAM

Address Size    Description
------- ----    -----------
 FF80      1    ROM Bank
 FF81      1    RAM Bank
 FF82      1    VRAM Bank
 FF97      1    Current turn
 FFB6      1    ? (set to 0x10 by func_0:3C5A)

Europe A

WRAM

Address Size    Description
------- ----    -----------
 C591     20    Text to be copied to VRAM
 CC04      1    Language
                00 : English
                01 : German
                02 : French
 CD10      1    ?
 CD11      1    Character being read
 CFEF     20    Deck name