- $0020 - Current level (called round?)
- $0021 - Current level bonus (this value is displayed after multiplying by 100)
- $001A - Joypad input
0000 0000
|||| ||||
|||| |||+- right (1)
|||| ||+-- left (2)
|||| ||+-- up (4)
|||| |+--- down (8)
|||+- Start (1, pause, confirm etc)
||+-- Select (2, skip level)
|+--- B (4, jump)
+---- A (8, jump)
-
$0044 - player previous direction? (copied from $0052)
-
$0045 - player previous tile_id? (copied from $0721)
-
$0046 - player previous direction? (copied from $0052)
-
$0050 and $0051 - something related to jumping
- $0050 is 0 when standing and 1 when jumping
- $0051 is 0x12 when standing. goes from 0x03 at the start of the jump, to 0x0b at the peak of the jump, and back to 0x12
- Because these two addresses are being constantly written, I suspect that gravity is being applied at all times.
-
$0052 - either direction player is facing or last directional input
-
$0053 - player xspeed (incremented by 1 each frame, capped at 2)
-
$00D0 - an enemy metasprite used to calculate the enemy position ($00d0 = y, $00d3 = x)
// fucking japs, man
struct Sprite {
uint8_t y; // 00
uint8_t tile_id; // 01
uint8_t palette; // 02 00 = enemy, 01 = player
uint8_t x; // 03
} // size 4;
struct MetaSprite {
Sprite top_left; // 00
Sprite top_right; // 04
Sprite bottom_right; // 08
Sprite bottom_left; // 0c
} // size 16;
- $0700 to $07FF seems to be an array of MetaSprites
- $0700 helicopter and red baloon MetaSprite
- $0720 player MetaSprite
- $0730 fireball MetaSprite (moves up/down in a sine wave from left to right)
- $0740 enemy MetaSprite
- $0750 enemy MetaSprite?
- $0760 enemy MetaSprite?
- $0770 "Help!" balloon MetaSprite (doesn't move, takes 64 frames to appear, stays for another 64)
- $0780 girl MetaSprite
- $0790 fruit1 MetaSprite
- $07a0 fruit2 MetaSprite
- $07b0 fruit3 MetaSprite
- $07c0 fruit4 MetaSprite
- $07e0 spring MetaSprite
- $07f0 spring MetaSprite
Entities:
- Helicopter:
- Moves from right to left in a 3 tile wide sine wave centered at the player (i.e. moves from one tile bellow the player to one tile above it).
- Only seems to come when the vertical area overlaps with an enemy.
- Red Balloon:
- Moves from left to right in a similar manner to the Helicopter.
- Only seems to come when the vertical area doesn't overlap with an enemy.