If you are still using the old URL (datacrystal.romhacking.net), please update your bookmarks! The old URL may stop working at any time.
The current URL is datacrystal.tcrf.net.
The current URL is datacrystal.tcrf.net.
R.C. Pro-Am II/RAM map
Jump to navigation
Jump to search
The following article is a RAM map for R.C. Pro-Am II.
- (T) denotes temporary use. Don't mess with these.
- Unless otherwise noted, a size of 04 means one byte per racer.
- Plane bytes shared by plane weapons too ("06" range is not a typo).
- Coordinates are listed as either "map" - the standard Cartesian layout,
- or "room" - the isometric layout visible to the player.
Address Size Description
-------- ---- -----------
0x08C 02 (T) Attribute Table Address
0x090 (T) Repeat Counter
Tally
0x0A4 02 (T) Secondary Subroutine Address
Item Checkpoint Map Position
0x0A7 (T) Tile Assembly Nametable Address
0x0A8 02 (T) Primary Subroutine Address
0x0AA 02 Track Subsection Layout Address
0x0AE 02 Track Terrain Set Address
0x0B0 02 Track Terrain Map Address
0x0B8 (T) Car Sprite Copy
0x0B9 (T) Car Sprite Attributes Copy
Item Palette
0x0BA 02 (T) X On Screen
Horizontal Distance To Camera
0x0BC 02 (T) Y On Screen
Vertical Distance To Camera
0x0BF 3C Pickup Status
bits 0-1 = player restriction, bit 2 = all players, bit 6 = obtained
0x0C4 04 Shop Sub-Menu Position
0x0FC Track ID
0x0FD Track Tileset
00 = grass, 01 = city, 02 = off-road
0x100 05 Hi-Score First Initial
bit 7 = animate initials (gets reset when hi-score table loaded)
0x105 05 Hi-Score Second Initial
0x10A 05 Hi-Score Third Initial
0x10F 05 Hi-Score "Track" Races
0x114 05 Hi-Score Continues Used
0x119 05 Hi-Score Points (low)
0x11E 05 Hi-Score Points (high)
0x123 Hi-Score Star Animation Timer
0x124 Hi-Score Star Animation State
0x125 24 Item X-Position
0x149 24 Item Y-Position
0x16E 50 Item Checkpoint Map
0x1BE 16 Item Sprites for Track
0x1D3 Shop Human Player Count (affects price of continues)
0x1D4 05 Boot-up Signature (SIMON)
0x1D9 27 Reserved for Stack
0x200 100 OAM Data
byte 1 = Y, byte 2 = sprite, byte 3 = palette, byte 4 = x
0x300 BGM Square Channel 1 Track Segment
0x301 BGM Square Channel 1 Note Timer
0x302 02 BGM Square Channel 1 Note Address
0x304 BGM Square Channel 2 Track Segment
0x305 BGM Square Channel 2 Note Timer
0x306 02 BGM Square Channel 2 Note Address
0x308 BGM Triangle Channel Track Segment
0x309 BGM Triangle Channel Note Timer
0x30A 02 BGM Triangle Channel Note Address
0x30C BGM Noise Channel Track Segment
0x30D BGM Noise Channel Note Timer
0x30E 02 BGM Noise Channel Note Address
0x310 SFX Square Channel 1 Track
0x311 SFX Square Channel 1 Note Timer
0x312 02 SFX Square Channel 1 Note Address
0x314 SFX Square Channel 2 Track
0x315 SFX Square Channel 2 Note Timer
0x316 02 SFX Square Channel 2 Note Address
0x318 SFX Triangle Channel Track
0x319 SFX Triangle Channel Note Timer
0x31A 02 SFX Triangle Channel Note Address
0x31C SFX Noise Channel Track
0x31D SFX Noise Channel Note Timer
0x31E 02 SFX Noise Channel Note Address
0x320 BGM & Engine Square Channel 1 Duty-Volume
0x321 BGM & Engine Square Channel 1 Sweep
0x322 02 BGM & Engine Square Channel 1 Length
0x324 BGM & Engine Square Channel 2 Duty-Volume
0x325 BGM & Engine Square Channel 2 Sweep
0x326 02 BGM & Engine Square Channel 1 Length
0x328 BGM & Engine Triangle Channel Duty-Volume
0x329 BGM & Engine Triangle Channel "Sweep"
0x32A 02 BGM & Engine Triangle Channel Length
0x32C BGM & Engine Noise Channel Duty-Volume
0x32D BGM & Engine Noise Channel "Sweep"
0x32E 02 BGM & Engine Noise Channel Length
0x330 SFX Square Channel 1 Duty-Volume
0x331 SFX Square Channel 1 Sweep
0x332 02 SFX Square Channel 1 Length
0x334 SFX Square Channel 2 Duty-Volume
0x335 SFX Square Channel 2 Sweep
0x336 02 SFX Square Channel 1 Length
0x338 SFX Triangle Channel Duty-Volume
0x339 SFX Triangle Channel "Sweep"
0x33A 02 SFX Triangle Channel Length
0x33C SFX Noise Channel Duty-Volume
0x33D SFX Noise Channel "Sweep"
0x33E 02 SFX Noise Channel Length
0x340 02 Square Channel 1 Repeat Address
0x342 Square Channel 1 Repeat Count
0x343 Square Channel 1 LFO Depth
0x344 02 Square Channel 2 Repeat Address
0x346 Square Channel 2 Repeat Count
0x347 Square Channel 2 LFO Depth
0x348 02 Triangle Channel Repeat Address
0x34A Triangle Channel Repeat Count
0x34B Triangle Channel LFO Depth
0x34C 02 Noise Channel Repeat Address
0x34E Noise Channel Repeat Count
0x34F Noise Channel LFO Depth
0x351 Square Channel 1 Volume Envelope
0x352 Square Channel 1 Default Volume Release Time
0x353 Square Channel 1 Transposition
0x355 Square Channel 2 Volume Envelope
0x356 Square Channel 2 Volume Delay
0x357 Square Channel 2 Transposition
0x359 Triangle Channel Linear Envelope
0x35A Triangle Channel Linear Delay
0x35B Triangle Channel Transposition
0x35D Noise Channel Volume Envelope
0x35E Noise Channel Volume Delay
0x35F Noise Channel Transposition
0x360 Square Channel 1 LFO Rate Default Time (enables LFO)
0x361 Square Channel 1 LFO Rate Timer
0x362 Square Channel 1 LFO Sync Default Time
0x363 Square Channel 1 LFO Sync Timer
0x364 Square Channel 2 LFO Rate Default Time
0x365 Square Channel 2 LFO Rate Timer
0x366 Square Channel 2 LFO Sync Default Time
0x367 Square Channel 2 LFO Sync Timer
0x368 Triangle Channel LFO Rate Default Time
0x369 Triangle Channel LFO Rate Timer
0x36A Triangle Channel LFO Sync Default Time
0x36B Triangle Channel LFO Sync Timer
0x36C Noise Channel LFO Rate Default Time
0x36D Noise Channel LFO Rate Timer
0x36E Noise Channel LFO Sync Default Time
0x36F Noise Channel LFO Sync Timer
0x370 Square Channel 1 Volume Envelope Activity
bits 0-6 = default volume envelope, bit 7 = apply
0x372 Square Channel 1 Volume Sustain Timer
0x374 Square Channel 2 Volume Envelope Activity
0x376 Square Channel 2 Volume Sustain Timer
0x37C Noise Channel Volume Envelope Activity
0x37E Noise Channel Volume Sustain Timer
0x390 Square Channel 1 Volume Target (bit 4 must be set)
0x391 Square Channel 1 Volume Release Timer
0x392 Square Channel 1 Dynamic Volume
00 = no dynamic volume, 01 = (de-)crescendo, 02 = tremolo
0x393 Square Channel 1 Default Volume Sustain Time
0x394 Square Channel 2 Volume Target
0x395 Square Channel 2 Volume Release Timer
0x396 Square Channel 2 Dynamic Volume
0x397 Square Channel 2 Default Volume Sustain Time
0x398 Triangle Channel Length Target
0x39C Noise Channel Volume Target
0x39D Noise Channel Volume Release Timer
0x39E Noise Channel Dynamic Volume
0x39F Noise Channel Default Volume Sustain Time
0x3B1 02 Disused Audio Variables (never read)
0x3B7 02 Disused Audio Variables (never read)
0x3C1 Disused Audio Variable (never read)
0x3C7 (T) Working X-register Value
0x3C8 (T) Item Map X (high) Copy
0x3C9 (T) Working Y-register Value
0x3CA (T) Working Iterator
Item Map Y (high) Copy
0x3CB Game State & BGM Track (don't mess with this)
0x3CC 0C Exhaust Smoke Sprites (3 per car)
0x432 04 Car Draw Order (0x432 = bottom, 0x435 = top)
0x436 Track Sections Total
0x437 Leading Player (determines CPU speed)
0x438 04 Catch-up Distance Remaining (players only)
0x43C Frame Counter
0x43D Starting Light Appearance Delay
0x43F PPU Mask (clearing bits 3 or 4 will freeze the game)
0x443 Minigame Mode
00 = normal race, 01 = tug-o-war, 02 = drag race
0x444 Paused
0x445 Pause Spam Delay
0x446 02 Track Tile Attribute Table Address
0x448 02 Track Tile Square Assembly Address
0x44A Track Lap Length
0x44C 02 Track Tilemap Address
0x44E Nametable Column Write Address Low Byte (high byte always #22)
0x44F 02 Nametable Row Write Address
0x451 1E Tile Column Data to Write
0x46F 20 Tile Row Data to Write
0x4CF Attribute Table Row Iterator
Title & Hi-Score Screen Timer
0x4D0 Attribute Table Row Count
Title & Hi-Score Screen Delay
0x4D1 Attribute Table Row Address
0x4D2 Camera Map X (low) (relative to 0x530)
0x4D3 Camera Map X (high) (relative to 0x535)
0x4D4 Camera Map Y (low) (relative to 0x53A)
0x4D5 Camera Map Y (high) (relative to 0x53F)
0x4D6 Copy of 0x4D2 for Tile Updates
0x4D7 Copy of 0x4D4 for Tile Updates
0x4D8 Attribute Table Updates X-Offset (same as 0x4D2)
0x4D9 Attribute Table Updates Y-Offset
0x4DA Horizontal Scroll
0x4DB Vertical Scroll
0x4DC Based on 0x4D5 for Attribute Table Updates
0x4DD Nametable Write Address (unpacked to 0x44F-0x450)
0x4DE Copy of 0x4DC
0x4DF Load New Tile Row Flag (set to #01)
0x4E0 Load New Tile Column Flag (set to #02)
0x4E1 Unknown Tile Update Flag (set to #04)
0x504 04 Map X (low)
0x508 Camera Target Map X (low)
0x509 04 Map X (high)
0x50D Camera Target Map X (high)
0x50E 04 Copy of 0x504
0x512 Copy of 0x508
0x513 04 Copy of 0x509
0x517 Copy of 0x50D
0x518 04 Map Y (low)
0x51C Camera Target Map Y (low)
0x51D 04 Map Y (high)
00 is center of map, y-axis is inverted)
0x521 Camera Target Map Y (high)
0x522 04 Copy of 0x518
0x526 Copy of 0x51C
0x527 04 Copy of 0x51D
0x52B Copy of 0x521
0x52C 04 Room X (low)
0x530 Camera Room X (low)
0x531 04 Room X (high)
0x535 Camera Room X (high)
0x536 04 Room Y (low)
0x53A Camera Room Y (low)
0x53B 04 Room Y (high)
0x53F Camera Room Y (high)
0x540 04 Map X (subpixel)
0x544 Camera Map X (subpixel)
0x545 04 Map Y (subpixel)
0x549 Camera Map Y (subpixel)
0x554 04 Track Position (high)
0x559 04 Current Track Section
0x55E 04 Laps Completed
0x563 04 Track Section Type
0x568 04 Copy of 0x563
0x56D 04 Track Position (low)
0x572 04 Air Height (integer)
0x576 04 Air Height (subpixel)
0x57A 04 Race Position
01 = 1st, 02 = 2nd, 03 = 3rd, 04 = 4th
0x57E 04 Shadow Distance (integer)
0x582 04 Shadow Distance (subpixel)
0x586 04 Z-Speed (integer)
0x58A 04 Z-Speed (fraction)
0x58E 04 Track Height
0x592 04 Speed (fraction)
0x596 04 Speed (integer)
0x59A 04 Steer Direction (fraction)
0x59E 04 Steer Direction (integer)
0x5A2 04 Real Direction (integer)
0x5A6 04 Real Direction (fraction)
0x5AA 04 Visual Direction (angle)
00 = northwest, rotate clockwise to 17
0x5AE 04 Catch-up Speed (players only)
0x5B2 04 Chevron Boost (integer)
0x5B6 04 Chevron Boost (fraction)
0x5BA 04 Tire Traction (low)
0x5BE 04 Tire Traction (high)
0x5C2 04 Tire Traction (fraction)
0x5C6 04 Hit Timer
0x5CA 04 Big Hit Timer
0x5CE 04 Attacked Count
0x5D2 04 Acceleration Rate (low)
0x5D6 04 Acceleration Rate (high)
0x5DA 04 Deceleration Rate (low)
0x5DE 04 Deceleration Rate (high)
0x5EA 04 Car Sprite
04 Continue Screen Text
0x5EE 04 Car Sprite Attributes
0x5F2 04 Accumulated Cash (high)
0x5F6 04 Accumulated Cash (low)
0x5FA 04 Track Minimum Edge (depends on section type)
0x5FE 04 Track Width
0x602 04 Human Player Catch-up
0x612 04 Max Speed
0x616 04 CPU Cruising Speed (used when ahead of player)
04 CPU Tug-O-Truck Shift Speed (resets both trucks' speed when reached)
04 CPU Drag Race Speed (varies by racer)
0x61A 04 CPU Safe Lead Speed (used when ahead 2+ checkpoints)
04 Tug-O-Truck Max Speed (unused, value is hard-coded for player)
0x68E 04 Spin Timer
0x692 04 Cornering Behavior (glitches player, affects CPU steering)
0x69E 04 CPU Steering Behavior(?) (lock this and CPU will get stuck in a turn)
0x6AA 04 CPU Driving Style
0x6B6 04 Car Draw Depth (low)
0x6BA 04 Car Draw Depth (high)
0x6CA 04 Pole Position (randomized)
04 Tug-O-Truck Position (00 vs. 02, 01 vs. 03)
0x6CE 04 Freeze Timer
0x6D2 04 Pulser Timer
0x6D6 04 Shield Timer
0x6DA 04 Respawn Flash Timer
0x6DE 04 Invincibility Timer
0x6E2 Starting Light Timer
0x6E3 Starting Light State
0x6E4 Heads-Up Display State
00 = map, 01 = hide display, 02 = warning w/klaxon, 03 = silent warning
0x6E5 Gamepad 1 State
0x6E6 Gamepad 2 State
0x6E7 Copy of 0x6E5
0x6E8 Copy of 0x6E6
0x6E9 Gamepad 1 Pressed
0x6EA Gamepad 2 Pressed
0x6EB Copy of 0x6E9
0x6EC Copy of 0x6EA
0x6ED 02 Water Pattern Table Write Address (overwrites 1 of 4 tiles each frame)
0x6EF 06 Water Pattern Table Write Value (draws waves on water tiles)
0x6F5 02 Unused Water Pattern Table Write Values (always 00, never used)
0x700 04 Motor Level
0x704 04 Tire Level
0x708 04 Active Weapon (reset after race)
0x70C 04 Active Extra (reset after race)
0x710 04 Toy Model
00 = truck, 01 = sports, 02 = formula
Note: can be set at title screen
0x714 04 Default Extra
0x718 04 Default Weapon
0x71C 04 CPU Shopping Pattern (determines upgrade order)
0x720 04 CPU Handicap (max 02, determines speed limits)
0x724 04 CPU Purchases
0x728 04 Buckshot Ammo
0x72C 04 Missile Ammo
0x730 04 Bomb Ammo
0x734 04 Lazer Ammo
0x738 04 Freeze Ammo
0x73C 04 Pulser Ammo
0x740 04 Shield Supply
0x744 04 Oil Slick Supply
0x748 04 Nitros Supply
0x74C 04 Car Active
00 = display Continue option after race
01 = draw shadow, allow crossing finish, goto next race
0x750 Race Number
0x751 04 Shop Main Selection
00 = motor, 01 = tires, 02 = guns,
03 = extra, 04 = race, 05 = game over
0x755 Screen Display Type
00 = active race, 01 = static image (e.g. blank, preview),
02 = parts shop, 03 = player entry, 04 = racer overview,
05 = continue screen, 06 = title screen, 07 = hi-score table
0x756 04 Randomizer (32 bits, 0x756 = working value)
0x75A Blank Screen (waits until VBLANK)
0x75B 04 Cash (low)
0x75F 04 Cash (high) (max glitchless cash is #270F or $99990)
0x763 Human Player Count
0x764 04 Car Status
bit 0 = invisible, bit 1 = on ice, bit 2 = off-screen,
bit 3 = turn right, bit 4 = turn left,
bit 5 = behind background, bit 6 = finished, bit 7 = CPU
0x768 04 Mini-Game Button Pressed
40 = B button, 80 = A button
04 CPU Status
bit 2 = ahead of lead player
0x76D 04 Finish Line Placement
0x771 04 Continues Remaining
0x775 04 Continues Used
0x77A Ammo Purchased (bitmasked by player)
0x77B Shield Purchased (bitmasked by player)
0x77C Oil Slick Purchased (bitmasked by player)
0x77D Nitros Purchased (bitmasked by player)
0x77E Continue Purchased (bitmasked by player)
0x77F Buckshot Purchased (bitmasked by player)
0x780 Missile Purchased (bitmasked by player)
0x781 Bomb Purchased (bitmasked by player)
0x782 Lazer Purchased (bitmasked by player)
0x783 Freeze Purchased (bitmasked by player)
0x784 Pulser Purchased (bitmasked by player)
0x785 04 Ammo Mark-up
0x789 04 Continue Mark-up
0x78D 04 Racer First Initial
0x791 04 Racer Second Initial
0x795 04 Racer Third Initial
0x799 04 Circuit Point Score (low)
0x79D 04 Circuit Point Score (high)
0x7A1 04 Collected Letters
bit 0 = I (2nd), bit 1 = I (1st), bit 2 = M,
bit 3 = A, bit 4 = O, bit 5 = R, bit 6 = P
0x7A6 First Place Car
0x7A7 Second Place Car
0x7A8 Third Place Car
0x7A9 Last Place Car
0x7AA 05 Plane Attack Pointer
ff = no more planes
max 2 planes, must be 3 bytes apart
0x7AF 05 Plane Map X (low)
0x7B4 05 Plane Map X (high)
0x7B9 05 Plane Map Y (low)
0x7BE 05 Plane Map Y (high)
0x7C3 05 Plane Animation Timer (integer)
0x7C8 05 Plane Animation Timer (fraction)
0x7CD 05 Plane Sprite Attributes
0x7D2 05 Plane Map X (subpixel)
0x7D7 05 Plane Map Y (subpixel)
0x7DC 05 Plane Room X (low)
0x7E1 05 Plane Map X (high)
0x7E6 05 Plane Room Y (low)
0x7EB 05 Plane Room Y (high)
0x7F0 06 Plane Sprites
0x7F6 06 Plane General Timer
Internal Data for R.C. Pro-Am II
| |
|---|---|