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

From Data Crystal
Jump to: navigation, search
(Undo revision 29711 by Mantidactyle (talk))
(WRAM)
 
(44 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
{{rammap|game=Pokémon Trading Card Game}}
 
{{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 17:15, 21 June 2016

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


Internal Data for Pokémon Trading Card Game

ROM MapRAM MapText TableNotesTutorials