Balloon Fight (NES)/RAM map: Difference between revisions

From Data Crystal
Jump to navigation Jump to search
(I found the player velocities)
 
(6 intermediate revisions by 5 users not shown)
Line 9: Line 9:
|-
|-
| 0x0002 || video || Set to 1 in the NMI handler. The main thread uses this to detect that a video frame has ended.
| 0x0002 || video || Set to 1 in the NMI handler. The main thread uses this to detect that a video frame has ended.
|-
| 0x0016  || mode || 00 if in "Balloon Fight" mode, 01 if in "Balloon Trip" mode.
|-
|-
| 0x0019 || counter || Incremented every frame. At the title screen, when this turns FF->00, the demo starts; pressing Select sets it back to 0.
| 0x0019 || counter || Incremented every frame. At the title screen, when this turns FF->00, the demo starts; pressing Select sets it back to 0.
|-
| 0x003F || coord y || The cursor's current selected option on the title screen.
|-
|-
| 0x00F9/C || p1 audio || seems to be some kind of player 1 audio thing
| 0x00F9/C || p1 audio || seems to be some kind of player 1 audio thing
Line 29: Line 33:
|-
|-
| 0x00E8/EB || sound || pointer to offset within pattern data; increments by 1 for each "row"
| 0x00E8/EB || sound || pointer to offset within pattern data; increments by 1 for each "row"
|-
| 0x0100/E7 || stack || This part appears not to change over the course of a game and is probably unused.
|-
| 0x01E8/FF || stack || Function calls and saved registers come and go here.
|-
| 0x0200/FF || sprite || Sprite display list in OAM format, which the NMI handler copies to the PPU
|-
| 0x0300/FF || video || Apparently a circular list of tiles to draw to the background.
|-
|-
| 0x0400/8 || coord x || x coordinates of players, fractional part
| 0x0400/8 || coord x || x coordinates of players, fractional part
Line 34: Line 46:
| 0x0409/11 || speed || y coordinates of players, fractional part
| 0x0409/11 || speed || y coordinates of players, fractional part
|-
|-
| 0x0412/23 || speed || speed as well..?
| 0x0412/C || speed || y velocities of players, fractional part
|-
| 0x041B/23 || speed || y velocities of players, integer part (usually $00: positive or $FF: negative)
|-
|-
| 0x0424/C || speed || x velocities of players, fractional part
| 0x0424/C || speed || x velocities of players, fractional part
|-
|-
| 0x042D/5 || speed || x velocities of players, integer part (usually $00: positive or $FF: negative)
| 0x042D/35 || speed || x velocities of players, integer part (usually $00: positive or $FF: negative)
|-
| 0x0424/C || speed || y velocities of players, fractional part
|-
| 0x042D/5 || speed || y velocities of players, integer part (usually $00: positive or $FF: negative)
|-
|-
| 0x0490/1 || coord x || spark x
| 0x0490/1 || coord x || spark x
Line 52: Line 62:
| 0x0530/1 || sprite || spark image
| 0x0530/1 || sprite || spark image
|}
|}
{{stub}}


[[Category:Balloon Fight.|RAM map]]
{{Internal Data}}

Latest revision as of 21:08, 28 January 2024

Chip tiny.png The following article is a RAM map for Balloon Fight (NES).

Data for "Balloon Fight (JU) [!].nes". Incomplete.

Table

RAM Type Additional info
0x0002 video Set to 1 in the NMI handler. The main thread uses this to detect that a video frame has ended.
0x0016 mode 00 if in "Balloon Fight" mode, 01 if in "Balloon Trip" mode.
0x0019 counter Incremented every frame. At the title screen, when this turns FF->00, the demo starts; pressing Select sets it back to 0.
0x003F coord y The cursor's current selected option on the title screen.
0x00F9/C p1 audio seems to be some kind of player 1 audio thing
0x0078/F sprite 1 for upward thrust (you can still move upwards when this is 0), 0 for no thrust, 3 for on the floor, 2 for walking left or right, 4 for breaking
0x0090 coord x x coordinate of player 2
0x0091 coord x x coordinate of player 1
0x0092/9 coord x x coordinates of other players (max 9)
0x009B coord y y coordinate of player 1
0x009C/A3 coord y y coordinates of other players
0x00D0/FF sound Sound effects and music related.
0x00E8/EB sound pointer to offset within pattern data; increments by 1 for each "row"
0x0100/E7 stack This part appears not to change over the course of a game and is probably unused.
0x01E8/FF stack Function calls and saved registers come and go here.
0x0200/FF sprite Sprite display list in OAM format, which the NMI handler copies to the PPU
0x0300/FF video Apparently a circular list of tiles to draw to the background.
0x0400/8 coord x x coordinates of players, fractional part
0x0409/11 speed y coordinates of players, fractional part
0x0412/C speed y velocities of players, fractional part
0x041B/23 speed y velocities of players, integer part (usually $00: positive or $FF: negative)
0x0424/C speed x velocities of players, fractional part
0x042D/35 speed x velocities of players, integer part (usually $00: positive or $FF: negative)
0x0490/1 coord x spark x
0x04A4/5 coord y spark y
0x051C/D speed spark speed
0x0530/1 sprite spark image