Keitai Denjuu Telefang/RAM map

From Data Crystal
Jump to navigation Jump to search

Chip tiny.png The following article is a RAM map for Keitai Denjuu Telefang.

The following RAM map is for the unofficial English translation Pokemon Diamond.

Hmmm...
To do:
Many more RAM addresses were documented from the GitHub disassembly. Can be found here: Power Version; Speed Version
Any RAM addresses not listed on this page should be copied from there.

Items And Money

  • C44F = Guns
  • C910 = Money 16-Bit Unsigned Decimal
  • CDBC-CDFB = Item quantities
    • CDC5 = Drills
    • CDD9 = Telecards
    • CDED = Game Machines

Status

  • C955 = Trailing Monsters Current Health
  • D590 = Current attacking Denjuu's personality
  • D58E = Current attacking Denjuu's FD
  • D522 = Current arriving Denjuu's personality
  • D520 = Current arriving Denjuu's FD

Denjuu

  • D4E0 = Wild Denjuu
  • D543 = Level of wild Denjuu
  • D402 = Wild Denjuu group
    • This determines the set of four Denjuu (as well as the level) that will appear in any given acre, as defined here.

Denjuu data structure

  • 2:A000 - ????
    • Each Denjuu is 0x10 bytes long and the data is formatted like this:
      • $00 - Species, added by 1
      • $01 - Level
      • $02 - FD
      • $03 - Personality
      • $04-05 - Experience (little endian), divided by 2
      • $06-07 - ???
      • $08 - Seems to have some effect on proximity when calling for battles
      • $09 - ???
      • $0A-0D - Numerical value of phone number (ignoring *, #, and -), little endian -- $0D seems to be reduced mod 4
      • $0E - Placement of *, #, and - symbols in phone number (how this works exactly is currently unknown, does not seem to have any true pattern)
      • $0F - ???

Location

  • C903 = Acre
  • C904 = Map
    • 00 - ???
    • 01 - ???
    • 02 - Overworld Map - Upper left quadrant
    • 03 - Overworld Map - Upper right quadrant
    • 04 - Overworld Map - Lower left quadrant
    • 05 - Overworld Map - Lower right quadrant
    • 06 - Antenna Tree - Upper left quadrant
    • 07 - Antenna Tree - Upper right quadrant
    • 08 - Antenna Tree - Lower left quadrant
    • 09 - Antenna Tree - Lower right quadrant
    • 0A - Toronko Village Spring
    • 0B - Mart/House
    • 0C - Northeast Cavern - Floor 1
    • 0D - Northeast Cavern - Floor 2
    • 0E - Craft Research Center
    • 0F - Dementia's Mansion
    • 10 - Tripa Antenna Tree Cave - Floor 1
    • 11 - Tripa Antenna Tree Cave - Floor 2
    • 12 - Tripa Antenna Tree Cave - Floor 3
    • 13 - Tripa Antenna Tree Cave - Floor 4
    • 14 - Tripa Antenna Tree Cave - Floor 5
    • 15 - Pepperi Mountains - Floor 1
    • 16 - Pepperi Mountains - Floor 2
    • 17 - Pepperi Mountains - Floor 3
    • 18 - Pepperi Mountains - Floor 4
    • 19 - Pepperi Mountains - Floor 5
    • 1A - Cactos Ruins - Floor 1
    • 1B - Cactos Ruins - Floor 2
    • 1C - Cactos Ruins - Floor 3
    • 1D - Cactos Ruins - Floor 4
    • 1E - Cactos Ruins - Floor 5
    • 1F - Cactos Ruins - Floor 6
    • 20 - Cactos Ruins - Floor 7
    • 21 - Cactos Ruins - Floor 8
    • 22 - Burion Ruins - Floor 1
    • 23 - Burion Ruins - Floor 2
    • 24 - Burion Ruins - Floor 3
    • 25 - Burion Ruins - Floor 4
    • 26 - Burion Ruins - Floor 5
    • 27 - Burion Ruins - Floor 6
    • 28 - Burion Ruins - Floor 7
    • 29 - Burion Ruins - Floor 8
    • 2A - Burion Ruins - Floor 9
    • 2B - Human World - Main Area
    • 2C - Human World - Antenna Tree
    • 2D - Human World - Unused Buildings
    • 2E - Teletel/Dendel room
    • 2F - Unused replica of Golaking's room
    • 30 - Second D-Shot
    • 31 - Switch Palace (Activates Palm Sea Antenna Tree)
    • 32 - Sanaeba Research Center - Floor 1
    • 33 - Sanaeba Research Center - Basement 1
    • 34 - Sanaeba Research Center - Basement 2
  • C906 = Map Coordinate

00 01 02 03 04 05 06 07
08 09 0A 0B 0C 0D 0E 0F
10 11 12 13 14 15 16 17
18 19 1A 1B 1C 1D 1E 1F
20 21 22 23 24 25 26 27
28 29 2A 2B 2C 2D 2E 2F
30 31 32 33 34 35 36 37
38 39 3A 3B 3C 3D 3E 3F

  • CA70 ~ CABF - Tiles of the current acre. Graphics are changed upon entering menu and returning, etc.

Clock

  • C938 = Frame (Japanese version = 60 frames per second; bootleg version = 50 frames per second)
  • C939 = Second
  • C93A = Minute
  • C93B = Hour

Flags

  • C500-C50D = Treasure chests
    • There is one bit for each chest; only the 7 LSBs are used for chests in C50D
  • C538
    • Bit 2 (.....x..) = Determines whether Shigeki is visible or not.
    • Bit 3 (....x...) = Determines whether partner Denjuu is visible or not.
  • C53B = Shigeki's abilities
    • Bit 0 (.......x) = Ability to walk on water
    • Bit 1 (......x.) = ???
    • Bit 2 (.....x..) = Unused?
    • Bit 3 (....x...) = Unused?
    • Bit 4 (...x....) = Unused?
    • Bit 5 (..x.....) = Run (Why does this flag even exist? Shigeki can always run)
    • Bit 6 (.x......) = Pick up barrels/vases
    • Bit 7 (x.......) = Move boxes
  • C539 = Antenna Trees
    • Bit 3 (....x...) = Toronko -> Kurinon
    • Bit 4 (...x....) = Kurinon -> Toronko
  • C53C = Antenna Trees
    • Bit 5 (..x.....) = Ion -> Paparuna
    • Bit 6 (.x......) = Paparuna -> Ion
  • C589
    • Bit 3 (....x...) = Determines whether sprite in Map 0x02, Acre 0x65 (the acre directly north of where Nerikara is initially present) is present or not.
    • Bit 5 (..x.....) = The text that appears when Shigeki attempts to hear Nerikara's speech from the right side of the dead end north of him.
    • Bit 6 (.x......) = The text that appears when Shigeki attempts to hear Nerikara's speech from the left side of the dead end north of him.
    • Bit 7 (x.......) = Determines whether Nerikara and Tabasco are present or not in Toronko Village.
  • C960 - C97F = Overworld map - Visited/Unvisited acres

Misc. stuff

  • C98E = Setting this to any value other then 00 will enable you to walk through walls, though not diagonally.
  • Menu stuff
    • CB30 = Controls which tab are you when viewing Denjuu's stats. Normally only goes up to 2, so a bigger value causes glitches (DB even crashes the emulator and FE is actually the higher part of the screen)
    • CB38 = Controls which main menu (the one on startup) choice are you on. Value bigger then 3 leads to glitches.
    • CD22 = Controls which D-Shot menu item are you on. Value bigger then 8 leads to glitches, though when clicked, it always opens the picture book (value 8).
      • CB3E = Controls on which selection are you in the options menu. Normally goes up to 4, any higher value shows the cursor over Cancel and modifying it changes the first choice.
      • CB65 = Controls on which button are you on when writing down a number (press select in the menu), naming someone or creating a melody. Values higher then F make the cursor go all over the screen and places weird characters when pressed.
        • CB66 = When naming someone, contains the last pressed button number.
      • CB67 = Controls on which selection are you in the save game menu (values higher then 1 act as cancel), the last call menu (values higher then number of calls are unnamed Tsunonasu) and the messages menu (values higher then number of your messages are random Denjuu at random times).
      • CB6F = Controls on which item are you in the item menu. Items larger then what the number you own are seemingly random.
      • D-Melo menu
        • CB6C = Controls how many melodies the menu is scrolled down of. Values higher the 49 reveal loads of space for more custom melodies (normally, you can have only 8)
        • CB6D = Controls on which melody from the six on-screen the cursor is on. Values higher then 5 just loop around.
      • CD23 = Controls which Picture Book Denjuu are you on. Value bigger then 174 is always unidentified.
      • CD24 = Controls which Phone Book Denjuu are you on. Value bigger then the number of different Denjuu stored minus one displays Denjuu without picture called Kunikuzushi and when clicked displays ALL of your Denjuu at one, plus a bunch of unnamed Tsunonasu with all stats at zero.
  • CAC0 = When set to 1, Shigeki runs.
  • CAD5 = Sets strength of a tremor (screen shakes). The tremor only runs in the overworld (not in menus etc., though it runs when talking to Denjuu on phone).
    • CAD6 = During a tremor, this value goes down.
  • CB27 = When set to 1, the fade-to-white routine runs.
  • CDB3 = Sets color of the message box. Values up to 3 are set in the options.
  • CDB5 = Controls which D-Shot phone model you have. 6, 7 and 8 may be unused models. Everything above 8 is garbage. Each phone has a different number of Denjuu allowed to be stored, so if you change your model to one with a lesser maximum, all Denjuu above the limit will not be accessible.
  • CDB7 = When set, a message will be printed from a specific bank. (01 is, for example, "You received 1 mail message", while AA is a battle message "??? woke up!" and FF is "Finally, we're connected..." from the intro.)
  • D5CD = Ability to escape from battle
    • 00 = Not able to escape
    • 01 = Able to escape
  • C400 = Randomly generated number
  • C3C0 = Frame counter (used for random number generation)
  • C41F = Seed #1 for RNG
  • C420 = Seed #2 for RNG
  • C950-C951 = Step counter for wild Denjuu
    • For every frame that you walk in flat terrain, or in water, increase this by 1. (However, for flat terrain, this does not apply to certain acres; see Keitai Denjuu Telefang:ROM_map#Grass_data.)
    • This increases by 4 per frame when walking in tall grass.
    • This increases by 2 per frame when running. This stacks with the above, so running in grass will increase the counter by 8 per frame.
      • Note: The distance required to encounter a wild Denjuu ends up being the same regardless or walking or running, since running also speeds up Shigeki.
    • The counter freezes whenever the phone rings.
    • When this reaches 800 (0x320), an encounter with a wild Denjuu will start.
    • This resets to 0 after a battle ends.
    • This also resets to 0 after entering an antenna tree.
    • This also resets to 0 after talking with some NPCs. Some NPCs reset the counter while others do not.

SRAM

  • 0:A000-A00F = ASCII string, used to determine if save exists
  • 0:A000-BFEF = Checksum region
  • 0:BFFD = Save file present
  • 0:BFEE-BFEF = 16-bit big endian checksum