| $7E:0000 | 2 bytes | Sound | SPC transaction id, incremented after every SPC transfer. The high byte is never written or read from and can be effectively used as free RAM. |
| $7E:001C | 2 bytes | Sound | Song for the current level |
| $7E:001E | 2 bytes | Sound | Toggle for stereo and mono. Mono is 1, Stereo is zero. |
| $7E:0020 | 2 bytes | Pointer | Points to the current NMI routine. |
| $7E:0024 | 2 bytes | Pointer | Points to the current game loop entry. |
| $7E:002A | 2 bytes | Misc. | Active frame counter (Doesn't run when paused) |
| $7E:002C | 2 bytes | Misc. | Global frame counter |
| $7E:002E | 4 bytes | Misc. | This is the state for the random number generator. $2E is the value returned from the three RNG routines. |
| $7E:0032 | 30 bytes | Misc. | Scratch RAM used throughout DKC2. |
| $7E:0056 | 2 bytes | Sprites | Index into the OAM size mirror |
| $7E:005E | 2 bytes | Palette | Index into the sprite palette slot ($0B64). |
| $7E:0064 | 2 bytes | Sprites | Index to the sprite currently being processed. |
| $7E:0066 | 2 bytes | Sprites | Pointer to kong control variables for kong currently being processed. |
| $7E:0068 | 2 bytes | Sprites | Alternate sprite index, often used during sprite spawning or when there is a need to reference another sprite. (child sprite) |
| $7E:006A | 2 bytes | Sprites | Alternate sprite index, used during collision with the current sprite. |
| $7E:006C | 2 bytes | Sprites | Holds the address of the animal that the player is mounted on in the sprite table, or zero if the player isn't mounted. |
| $7E:006E | 2 bytes | Player | What type of animal sprite the player is/is riding. Possible animal sprite numbers: |
| $7E:0070 | 2 bytes | Sprites | Index into the next available OAM mirror slot. |
| $7E:007A | 2 bytes | Engine | Mode 7 vertical scale #$0100 is the default. |
| $7E:007C | 2 bytes | Engine | Mode 7 horizontal scale #$0100 is the default. |
| $7E:007E | 2 bytes | Mirror | Mode 7 parameter D hardware mirror. |
| $7E:0080 | 2 bytes | Mirror | Mode 7 parameter C hardware mirror. |
| $7E:0082 | 2 bytes | Mirror | Mode 7 parameter B hardware mirror. |
| $7E:0084 | 2 bytes | Engine | Mode 7 rotation factor. |
| $7E:0086 | 2 bytes | Mirror | Mode 7 parameter A hardware mirror. |
| $7E:0088 | 2 bytes | Terrain | Specifies the slope steepness threshold for if kongs are able to traverse them or not. |
| $7E:0092 | 1 bytes | Player | This address contains the current action that the player is preforming. Current known values include: |
| $7E:0094 | 2 bytes | Index | This is used to index a pointer table for the NMI routines to run in the main game loop. |
| $7E:0096 | 2 bytes | Index | This is used to index a pointer table for the game logic routines to run in the main game loop. |
| $7E:0098 | 3 bytes | Pointer | Used as an indirect pointer for the layer 1 tilemap. |
| $7E:009C | 3 bytes | Pointer | Pointer to the collision tilemap for the current level. |
| $7E:00A0 | 2 bytes | Terrain | Number of collision tiles in the collision tilemap for the current level. |
| $7E:00D3 | 2 bytes | Level | Hold the current level. |
| $7E:00D5 | 4 bytes | Misc. | This is the timer of active game play frames. |
| $7E:00EB | 1 bytes | Controller | This is a flag that has to do with Y button functions. |
| $7E:00EF | 2 bytes | Palette | Index to the last ring buffer palette uploaded. |
| $7E:00F1 | 2 bytes | Palette | Current index to the palette ring buffer. Range: 00 to 0F. |
| $7E:00F3 | 2 bytes | Sprites | Sprite parameter from the sprite level data. Typically control the spawn routine used. |
| $7E:00F5 | 2 bytes | Sprites | Sprite X position from the sprite level data. |
| $7E:00F7 | 2 bytes | Sprites | Sprite Y position from the sprite level data. |
| $7E:00F9 | 2 bytes | Sprites | Sprite config number from the sprite level data. This controls sprite number to load and copies in all required initialization for the given sprite. |
| $7E:00FB | 2 bytes | Sprites | Index into the sprite status table, this is stored to sprite offset 0x56 for each sprite. |
| $7E:0100 | 256 bytes | Misc. | This is the stack for DKC2, usually not all of it is used, but $0100 to $01FF are reserved for potential use. |
| $7E:0200 | 544 bytes | Mirror | This is a mirror of OAM, the first 512 bytes are the 128 OAM tiles, the latter 32 bytes are the size and most significant bit of X. |
| $7E:0500 | 2 bytes | Misc. | Firework background flicker flag. Only the first bit appears to be set when the background should brighten from a firework in fairground levels. |
| $7E:0502 | 1 bytes | Controller | Player One |
| $7E:0503 | 1 bytes | Controller | Player One |
| $7E:0504 | 1 bytes | Controller | Player Two |
| $7E:0505 | 1 bytes | Controller | Player Two |
| $7E:0506 | 1 bytes | Controller | Player One(1 frame press) |
| $7E:0507 | 1 bytes | Controller | Player One(1 frame press) |
| $7E:0508 | 1 bytes | Controller | Player Two(1 frame press) |
| $7E:0509 | 1 bytes | Controller | Player Two(1 frame press) |
| $7E:050A | 1 bytes | Controller | Player One(1 frame release) |
| $7E:050B | 1 bytes | Controller | Player One(1 frame release) |
| $7E:050C | 1 bytes | Controller | Player Two(1 frame release) |
| $7E:050D | 1 bytes | Controller | Player Two(1 frame release) |
| $7E:050E | 1 bytes | Controller | Current Player |
| $7E:050F | 1 bytes | Controller | Current Player |
| $7E:0510 | 1 bytes | Controller | Current Player(1 frame press) |
| $7E:0511 | 1 bytes | Controller | Current Player(1 frame press) |
| $7E:0512 | 1 bytes | Mirror | This address is a mirror of $2100/Screen brightness |
| $7E:0513 | 1 bytes | Engine | Screen fade speed |
| $7E:0514 | 1 bytes | Engine | Screen fade timer |
| $7E:0515 | 62 bytes | Level | Main level config table. Main address is the true address in RAM if the main table ($0515) is used. main/alt address index source description |
| $7E:0553 | 62 bytes | Level | Alternate level config table. |
| $7E:0591 | 2 bytes | Player | Similar to $595/$599, maybe for currently processed kong. |
| $7E:0593 | 2 bytes | Player | Index of the current kong in the sprite table. |
| $7E:0595 | 2 bytes | Player | Pointer to kong control variables for active kong. |
| $7E:0597 | 2 bytes | Sprites | Index of the inactive kong in the sprite table. |
| $7E:0599 | 2 bytes | Sprites | Pointer to kong control variables for inactive kong. |
| $7E:059B | 1 bytes | Mirror | Used to enable DMA and HDMA at the during v-blank. Typically this will be OAM DMA accompanied by any HDMA. |
| $7E:059D | 2 bytes | Level | Destination number (index into list of possible destination level numbers for the level). Dictates which level to go to when entering a level entrance/bonus. |
| $7E:059F | 2 bytes | Level | Destination level entrance number. Dictates which entrance number will be used when entering the destination level. |
| $7E:05A1 | 2 bytes | Level | X position where the kong triggers a level fade out if passed. |
| $7E:05A3 | 2 bytes | Level | Level number the player should return to when exiting the sub level/bonus. |
| $7E:05A5 | 2 bytes | Level | Entrance number the player should return to when exiting the sub level/bonus. |
| $7E:05A7 | 2 bytes | Palette | Pointer to the currently selected palette data. |
| $7E:05A9 | 4 bytes | Pointer | Sprite handler return address, last byte is unused, always points into bank B3. |
| $7E:05BB | 2 bytes | Misc. | Referenced when disabling the debug fly kong state. (Setting to 0040 causes enemies to pause). Bit 0 could have also been set during debug fly. This doesn't appear to have a use during normal gameplay. |
| $7E:05BD | 2 bytes | Misc. | Set to 0003 (Pirate Panic's level number) on file load. This doesn't appear to have a use during normal gameplay and is never read or written again. |
| $7E:05C3 | 2 bytes | Pointer | Would have contained some sort of sprite pointer but is never used. |
| $7E:05F3 | 2 bytes | Engine | When an exception is thrown the exception id would have probably been stored here. |
| $7E:05F5 | 2 bytes | Engine | When an exception is thrown the game would have probably written 0xB4 here. |
| $7E:05F7 | 2 bytes | Pointer | Pointer to the selected palette data that caused a CGRAM overflow exception. |
| $7E:05FB | 2 bytes | Misc. | Appears to be some sort of status for when demo sequences play after the title screen. Is set to 1 when demos play. The code checks for 2 but that value never appears to be set in the final game. |
| $7E:05FD | 2 bytes | Misc. | Holds the current index/offset into the demo sequence data. |
| $7E:05FF | 2 bytes | Misc. | Timer that determines the length/delay of current demo command/input. |
| $7E:0601 | 2 bytes | Pointer | Pointer to the start of the current demo sequence data. |
| $7E:0603 | 2 bytes | Misc. | Appears to be related to the size of the current demo sequence in some way. |
| $7E:0605 | 2 bytes | Misc. | Which demo sequence is currently playing. |
| $7E:060B | 2 bytes | Misc. | Cheat enable flags (BARRALAX = 0000 0001 | YASADLAD = 0000 0010) |
| $7E:060D | 2 bytes | Misc. | Current game type: |
| $7E:060F | 2 bytes | Engine | Index to the active player in cooperative and competitive modes. |
| $7E:0611 | 2 bytes | Misc. | Currently selected option on the main menu. |
| $7E:0613 | 2 bytes | Menus | Current menu action (This is actually a bitmask, subactions toggle additional bits): |
| $7E:0615 | 2 bytes | Misc. | File to copy on the file select screen. |
| $7E:0617 | 2 bytes | Misc. | Which language is currently in use. |
| $7E:0619 | 8 bytes | Sound | Sound effect buffer. 1 byte per channel. |
| $7E:0621 | 1 bytes | Sound | Which sound effect channels are currently in use (1 bit per channel). |
| $7E:0622 | 16 bytes | Sound | SPC command buffer, one word is transfered per frame. The word low byte tends to be a sound effect. |
| $7E:0632 | 2 bytes | Sound | Current index into the SPC command table. Values should always be even numbers less than #$10. |
| $7E:0634 | 2 bytes | Sound | Index to where the next sound should be placed in the buffer. |
| $7E:0636 | 2 bytes | Sound | Last frame of a SPC command transfer. |
| $7E:0638 | 2 bytes | Sprites | Index into the next available firework sprite buffer slot. |
| $7E:063A | 16 bytes | Sprites | Firework sprite buffer. |
| $7E:0654 | 1 bytes | Misc. | Current cursor position in the Monkey Museum, Kong Kollege, Funky's Flights II, Kluba's Koisk and Swanky's Bonus Bonanza Also serves a currently unknown purpose on the overworld. |
| $7E:066E | 1 bytes | Map | This contains the number of the level you are standing on. If the value is 00, then you are standing on a "special" level(college, cranky, funky, and swanky bonus). |
| $7E:06A9 | 2 bytes | Map | World map overworld exit location (which world you spawn at when going to overworld) |
| $7E:06AB | 2 bytes | Map | Map node number. |
| $7E:06B1 | 2 bytes | Map | World map number. |
| $7E:08A2 | 2 bytes | Controller | Current controller number (kong number + 1). Can be either 1 or 2. Updated with $08A4 but is probably only used in two player modes. |
| $7E:08A4 | 2 bytes | Player | Current kong number |
| $7E:08A6 | 2 bytes | Level | Level entrance number. This determines which entrance to use when entering the level. |
| $7E:08A8 | 2 bytes | Level | Main/parent level number (only updated when entering a level from the map screen) |
| $7E:08AA | 2 bytes | Level | Set to 1 when a checkpoint barrel is broken. |
| $7E:08AC | 2 bytes | Level | Level number that the last checkpoint was obtained in. |
| $7E:08AE | 2 bytes | Level | What type of animal sprite the player was/was riding when obtaining the last level checkpoint. Possible animal sprite numbers: |
| $7E:08B0 | 2 bytes | Level | Main/parent level number that the last checkpoint was obtained in. This doesn't appear to be used for anything but is still preserved when getting a checkpoint. |
| $7E:08B2 | 2 bytes | Level | Kong letters that were collected when obtaining the last level checkpoint. (first 4 bits correspond to each letter, 1 per letter) |
| $7E:08B6 | 2 bytes | Player | The last state that the animal buddy was in when the kong dismounted them. |
| $7E:08B8 | 2 bytes | Player | Number of tokens that the current player has, due to the 75 Kremkoins cheat. |
| $7E:08BA | 1 bytes | Misc | Number of bananas before starting krem coin cheat. (used to check if bananas were collected during cheat) |
| $7E:08BB | 1 bytes | Misc. | What step the krem coin cheat is currently on. |
| $7E:08BC | 1 bytes | Player | The number of bananas to display for the current player. The value of this address is in a BCD format. |
| $7E:08BE | 2 bytes | Player | Number of lives the current player has. Negative values will cause a game over. |
| $7E:08C0 | 2 bytes | Player | Number of lives to display for the current player. A mirror of $7E:08BE. |
| $7E:08C2 | 2 bytes | Engine | Game state flags: |
| $7E:08C4 | 2 bytes | Engine | Appears to be more game state flags: |
| $7E:08C8 | 2 bytes | Level | Appears to be temporary storage for level numbers when transitioning. |
| $7E:08CA | 1 bytes | Player | Number of banana coins that the current player has. |
| $7E:08CC | 1 bytes | Player | Number of tokens that the current player has. |
| $7E:08CE | 1 bytes | Player | Number of DK coins the current player has. |
| $7E:08D0 | 2 bytes | Misc. | Number of DK coins required to overtake the next competitor on the Video Game Heroes screen. |
| $7E:08D2 | 9 bytes | Misc. | Cranky dialogue flags. (1 bit per option) (1 byte per world) |
| $7E:08DB | 5 bytes | Misc. | Cranky lost world dialogue flags. (1 bit per option) (1 byte per world) |
| $7E:08E0 | 7 bytes | Misc. | Wrinkly dialogue flags. (1 bit per option) (1 byte per world) |
| $7E:08E7 | 9 bytes | Misc. | Funky dialogue flags. (1 bit per option) (1 byte per world) |
| $7E:08F0 | 9 bytes | Misc. | Swanky dialogue flags. (1 bit per option) (1 byte per world) |
| $7E:08F9 | 1 bytes | Map | How many lost levels have been completed (how many steps to draw in the lost world) |
| $7E:08FA | 1 bytes | Map | Klubba payment flags. (1 bit per world) |
| $7E:08FB | 2 bytes | Misc. | Which NPC screens have been visited: |
| $7E:08FC | 1 bytes | Map | Appears to contain flags related to one time events having triggered on things like the main map. |
| $7E:08FE | 2 bytes | Map | Some sort of world map event step counter. It increases progressively during K. Rool's falling into water and Krocodile Kore mouth opening cutscenes. |
| $7E:0900 | 2 bytes | Map | Which world to send player to when exiting lost world. (Doesn't affect actual path) |
| $7E:0902 | 2 bytes | Player | Kong letters collected. (first 4 bits correspond to each letter, 1 per letter) |
| $7E:0904 | 2 bytes | Misc. | Percentage completion of the game, which varies from 0 to 102. |
| $7E:0907 | 8 bytes | Misc. | This is used in the anti piracy routine. It can either contain the phrase "Rareware" or "A thief!" |
| $7E:090F | 2 bytes | Menu | Setting this address allows button presses to skip the intro. This address is set after the first time the intro plays on boot. |
| $7E:0911 | 2 bytes | Misc. | Used by sunset effect in Gangplank Galley to record the furthest distance the level has scrolled to calculate sun height and palette brightness. |
| $7E:0913 | 2 bytes | Misc. | This is the color to store to CGRAM($2122), first $0913 is written then $0914. This primarily seems to be used in level to change the background color. |
| $7E:0915 | 4 bytes | Timer | These are a series of timers used for seals when they make the water safe. |
| $7E:0919 | 2 bytes | Player | What type of K. Rool gas effect the player currently has. 0x01 (bit 0) - purple Only handled when K. Rool exists. |
| $7E:091B | 2 bytes | Player | Used for applying an alternate palette to the kongs when they're flashing from invincibility barrels. Setting this value to 0x80 will make the main kong's palette brighter. This is also used in some unknown way to initialize gas effects on the kong. Setting the high byte applies an alternate palette to the kongs when they're affected by K. Rool gas clouds. Values are: |
| $7E:091D | 2 bytes | Misc. | Index into color value table for Swanky's blinking lights. Also used to index a table for the fire graphics in castle levels. |
| $7E:091F | 2 bytes | Player | Number of button presses needed to be freed from blue K. Rool gas effect. |
| $7E:0921 | 2 bytes | Sprites | Sprite OAM properties for bubbles. |
| $7E:0923 | 2 bytes | Misc. | Flag set if krem coin cheat was activated successfully. |
| $7E:0935 | 2 bytes | Player | Highest Y position of player before touching ground. Used for the level targets to determine if kongs should get a prize. |
| $7E:096B | 1 bytes | Player | The number of bananas that the current player has, used for banana display counting. The value of this address is in a BCD format. |
| $7E:096D | 2 bytes | Player | The number of bananas that the current player has, used as the final count when calculating for the banana display. The value of this address is in a BCD format. |
| $7E:096F | 2 bytes | Timer | How long to display the banana counter. |
| $7E:0971 | 1 bytes | Player | Sets how many lives to gain. |
| $7E:0972 | 1 bytes | Player | Sets how many lives to lose. However setting it to a value other than one causes the life display to glitch and not update properly. |
| $7E:0973 | 2 bytes | Timer | How long to display the life counter. |
| $7E:0975 | 2 bytes | Misc. | Sprite graphic number of Diddy HUD Icon. |
| $7E:0977 | 2 bytes | Misc. | Copy of sprite graphic number of Diddy HUD Icon. |
| $7E:0979 | 2 bytes | Misc. | Related to the Y position of the Diddy HUD Icon. |
| $7E:097B | 2 bytes | Sprites | Index to collected KONG letter sprite. |
| $7E:097D | 2 bytes | Sprites | Index to collected coin sprite. |
| $7E:097F | 2 bytes | Sprites | Index to bonus timer handler sprite. |
| $7E:0981 | 2 bytes | Player | Controller input used to determine correct kong action routine set. This address can also be used to remap buttons. For example, the purple gas in the K. Rool fight will use this address to swap left and right controls with this address. |
| $7E:0983 | 2 bytes | Player | Controller input used to determine correct kong action routine set. (1 frame press) |
| $7E:0989 | 2 bytes | Sprites | Index to glimmer sprite. |
| $7E:098D | 2 bytes | Engine | A random position offset that gets added to the nintendo presents sparkle positions. |
| $7E:098F | 2 bytes | Engine | x position of the nintendo presents sparkles. |
| $7E:0991 | 2 bytes | Engine | y position of the nintendo presents sparkles. |
| $7E:0993 | 2 bytes | Sprites | Timer for the nintendo presents sparkles. |
| $7E:099B | 2 bytes | Menu | When set, after fade out on the title screen, the file select menu will be run. If the address is clear the demo sequence is run. |
| $7E:099D | 2 bytes | Misc. | Record index in the kong follower waypoint buffers. |
| $7E:099F | 2 bytes | Misc. | Playback index in the kong follower waypoint buffers. |
| $7E:09A3 | 24 bytes | Player | A table that holds the coordinates of the current player clipping for collision check: |
| $7E:09BB | 24 bytes | Player | Similar to $7E:09A3, but used when the second kong is active and can hit sprites or get hurt. |
| $7E:09D3 | 24 bytes | Sprites | Similar to $7E:09A3, but is used for each sprite before collision check. The range 08-0F seems to be unused though. |
| $7E:09F5 | 2 bytes | Sprites | Sprite collision result. Various bits are set depending on which clipping slots collide. |
| $7E:09F7 | 2 bytes | Sprites | Flags for how the currently colliding sprites can defeat/interact with each other. |
| $7E:09F9 | 3 bytes | Pointer | Pointer to the routine that sprites will use to check for sprite collisions. |
| $7E:09FC | 2 bytes | Sprites | Index into the next available platform sprite table slot. |
| $7E:09FE | 40 bytes | Sprites | A table with platform sprite data. There are 8 entries, each 5 bytes in size making the total table size 40 bytes. The first 3 bytes are a pointer to the sprite's special platform code that runs once all other sprites are processed. The last 2 bytes are a pointer to the sprite itself in the sprite table. |
| $7E:0A26 | 2 bytes | Sprites | Left edge position of the platform sprite the player is currently standing on. |
| $7E:0A28 | 2 bytes | Sprites | Right edge position of the platform sprite the player is currently standing on. |
| $7E:0A2A | 2 bytes | Misc. | Last recorded x position of follower kong waypoints. |
| $7E:0A2C | 2 bytes | Misc. | Last recorded y position of follower kong waypoints. |
| $7E:0A2E | 2 bytes | Misc. | Last recorded animation of follower kong waypoints. |
| $7E:0A30 | 2 bytes | Misc. | Last recorded x speed of follower kong waypoints. |
| $7E:0A32 | 2 bytes | Misc. | Last recorded max x speed of follower kong waypoints. |
| $7E:0A34 | 2 bytes | Misc. | Last recorded ground distance of follower kong waypoints. |
| $7E:0A36 | 2 bytes | Sprites | Sprite time stop flags. Determines which types of sprites can process during the active time stop: |
| $7E:0A38 | 2 bytes | Sprites | Sprite time stop timer. Decrements every frame that time stop flags are active. Once it hits 0 it clears all time stop flags. |
| $7E:0A42 | 64 bytes | Sprites | A table that holds a pointer to any spawn group manager sprites that are currently spawned. Each sprite group has its own slot. Whenever a group is spawned a pointer to its manager sprite will be stored in this table. Indexed using spawn group number. There are 32 possible sprite spawn groups. |
| $7E:0A82 | 2 bytes | Sprite | Player-Object interaction number. Used to index a table at $B88004 to handle various interactions between the player and other objects. |
| $7E:0A84 | 2 bytes | Sprite | Index of the sprite the player is currently interacting with. |
| $7E:0A86 | 2 bytes | Sprite | Multi purpose Kong-Sprite interaction variable. |
| $7E:0A88 | 2 bytes | Sprite | Multi purpose Kong-Sprite interaction variable. |
| $7E:0A8A | 2 bytes | Sprite | Multi purpose Kong-Sprite interaction variable. |
| $7E:0A8C | 2 bytes | Sprite | Multi purpose Kong-Sprite interaction variable. |
| $7E:0A8E | 2 bytes | Palette | Level palette address (if 0 use default tilemap palette) |
| $7E:0A98 | 2 bytes | Camera | Which sprite the camera should follow, usually the active kong. |
| $7E:0AA2 | 2 bytes | Camera | Horizontal screen number, left is lower and right is higher. |
| $7E:0AA6 | 2 bytes | Camera | Vertical screen number, up is lower and down is higher. |
| $7E:0AB2 | 2 bytes | Misc. | Working copy of checksum for the anti piracy routine. (if this value doesn't match the one stored in ROM by the end of the check the boot code was tampered) |
| $7E:0AD7 | 2 bytes | Camera | Camera X position |
| $7E:0B04 | 32 bytes | Sprites | Sprite VRAM slot allocation table. Contains a pointer to the sprite that is currently using the VRAM slot. |
| $7E:0B24 | 64 bytes | Palette | This is a palette upload ring buffer, entries are four bytes each. Despite entries being 4 bytes, The first three bytes are the pointer to the palette data, the last byte is the CGRAM destination. |
| $7E:0B64 | 16 bytes | Palette | Pointers to active sprite palettes. |
| $7E:0B74 | 16 bytes | Palette | Count of how many many references there are to a given palette. If this value is negative the game won't allow other sprites to share the palette slot. |
| $7E:0B84 | 2 bytes | Level | Pointer to the level theme's 32x32 tile map dimensions/info. |
| $7E:0BA0 | 2 bytes | Sprites | Index of rope sprite the kong is currently holding onto. Used for ghost ropes and swamp cat tails. |
| $7E:0BA2 | 2 bytes | Sprites | Temporary mirror index of rope sprite at $0BA0. Appears to be used when transitioning between grabbing the rope sprite. |
| $7E:0BA4 | 2 bytes | Terrain | Specifies the slope steepness threshold for if kongs are able to traverse them or not. Similar to $88 but appears to affect walking more than jumping. |
| $7E:0BA6 | 384 bytes | Sprites | A table that contains an index to each sprite spawn list that is stored in the data at $5A12. This table is indexed using the level scroll position to determine which sprite spawns the game needs to check for. |
| $7E:0D4A | 2 bytes | Level | Current Y velocity of water. (used when water height is transitioning) |
| $7E:0D4C | 2 bytes | Level | Y sub-pixel position of the water in aquatic levels and Toxic Tower. (low byte used but overwritten) |
| $7E:0D4E | 2 bytes | Level | Y position of the water in aquatic levels and Toxic Tower. |
| $7E:0D50 | 2 bytes | Level | Target Y velocity of water. (used when water height is transitioning) |
| $7E:0D52 | 2 bytes | Level | Target Y position of water. (used when water height is transitioning) |
| $7E:0D54 | 2 bytes | Level | Current Y position of Castle Crush floor. |
| $7E:0D5A | 2 bytes | Sprites | Index of Kackle sprite. |
| $7E:0D5E | 2 bytes | Sprites | Index of Skull Cart sprite the player is riding. |
| $7E:0D60 | 2 bytes | Player | X distance between both kongs multiplied by 8 (for swapping between kongs when underwater) |
| $7E:0D62 | 2 bytes | Player | Y distance between both kongs multiplied by 8 (for swapping between kongs when underwater) |
| $7E:0D66 | 2 bytes | Player | X position of active kong during kong swap. |
| $7E:0D68 | 2 bytes | Player | X position of inactive kong during kong swap. |
| $7E:0D6A | 2 bytes | Player | Y position of active kong during kong swap. |
| $7E:0D6C | 2 bytes | Player | Y position of inactive kong during kong swap. |
| $7E:0D72 | 2 bytes | Player | X offset of kong when riding an animal (where to draw kong relative to animal buddy) |
| $7E:0D74 | 2 bytes | Player | Y offset of kong when riding an animal (where to draw kong relative to animal buddy) |
| $7E:0D76 | 2 bytes | Player | Actual X offset of kong when riding an animal (Similar to $0D72 but used to shake kong left/right slightly when moving on an animal) |
| $7E:0D78 | 2 bytes | Player | Actual Y offset of kong when riding an animal (Similar to $0D74 but used to shake kong up/down slightly when moving on an animal) |
| $7E:0D7A | 2 bytes | Sprites | Index of the currently held sprite (used for animation purposes) |
| $7E:0D7C | 2 bytes | Sprites | X offset of held sprite (where to draw sprite relative to kong) |
| $7E:0D7E | 2 bytes | Sprites | Y offset of held sprite (where to draw sprite relative to kong) |
| $7E:0D82 | 2 bytes | Sprites | Index of hook sprite the kong is currently holding onto. |
| $7E:0DE2 | 2350 bytes | Sprites | This table is a list of sprite tables, each sprite table is 0x5E bytes long and there are 24 tables. The sprite table format is as follows: index - size - description |
| $7E:16B2 | 38 bytes | Player | Diddy control variable table (used for handling various movements for Diddy) |
| $7E:16D8 | 38 bytes | Player | Dixie control variable table (used for handling various movements for Dixie) |
| $7E:16FE | 50 bytes | Sprites | Render order of sprite slots. This controls the order sprites are written into OAM. |
| $7E:1730 | 2 bytes | Sprites | This is the index into the next DMA slot for sprite graphics. The table starts at $1732. |
| $7E:1732 | 128 bytes | Sprites | This is the sprite DMA settings buffer, each entry is 8 bytes long. $1738,x - DMA bank and table termination if the high byte is positive |
| $7E:17B2 | 2 bytes | Pointer | Pointer to code in bank B5, responsible for taking a sprite's position and finding what level tile it's standing on. This will change depending on what shape the level is. This is used for terrain interactions/collision. |
| $7E:17BA | 2 bytes | Camera | Controls the X position of the camera. |
| $7E:17C0 | 2 bytes | Camera | Controls the Y position of the camera. |
| $7E:195A | 64 bytes | VRAM | This buffer prepares rows and columns that will be used in the next VRAM transfer. This buffer is temporary and later copied to a designated horizontal or vertical buffer. |
| $7E:199A | 8 bytes | VRAM | Appears to be a smaller separate buffer related to the one directly above it which prepares row and column tile transfers for VRAM. Maybe a temporary working location for it. |
| $7E:19A2 | 2 bytes | Player | Records the last time that Squitter shot a web projectile. |
| $7E:19A4 | 2 bytes | Player | Records the last time that Squitter shot a web platform. |
| $7E:19A6 | 2 bytes | Player | Number of Squitter web projectiles that currently exist. |
| $7E:19A8 | 2 bytes | Sprites | When an invincibility barrel is broken its old sprite pointer gets written here despite the fact it will no longer exist. |
| $7E:19AA | 1 bytes | Sound | Zinger looping sound effect enabler. When a zinger is making its buzzing sound it increments this address to tell the game to play the zinger sound continuously. |
| $7E:19AB | 1 bytes | Sound | Flitter looping sound effect enabler. When a flitter is making its buzzing sound it increments this address to tell the game to play the flitter sound continuously. |
| $7E:19AC | 1 bytes | Sound | Wind looping sound effect enabler. When wind is blowing it increments this address to tell the game to play the wind sound continuously. |
| $7E:19AE | 1 bytes | Sound | Invincibility looping sound effect enabler. When an invincibility controller sprite is present it increments this address to tell the game to play the invincibility sound continuously. |
| $7E:19AF | 1 bytes | Sound | Barrel rolling sound effect enabler. When a barrel is playing its rolling sound it increments this address to tell the game to play the sound continuously. |
| $7E:19B4 | 6 bytes | Sprites | Table that holds the location in VRAM of the 3 giant tire frames. All 3 frames remain continously in VRAM during the duration of Jungle Jinx. There are 3 entries each 16 bits in size. If bit 15 of an entry is set then it indicates that the graphics data for that frame is already in VRAM. If bit 15 isn't set then the game will upload it. The low byte contains the VRAM address. |
| $7E:19BA | 2 bytes | Misc. | Number of enemies to defeat for destroy them all bonus. Decrements when killing an enemy. This also decrements into the negatives during normal levels but doesn't get checked against anything. |
| $7E:19BE | 2 bytes | Misc. | Visual speed of the leaves/debris from the wind blowing in Gusty Glade/Windy Well. (This might have other uses in levels with different effects.) In Gusty Glade this is the horizontal scroll velocity of the leaf layer, in Windy Well this is the vertical scroll velocity of the debris layer. In roller coaster levels this is the timer for how long to wait between firework shot sequences. |
| $7E:19C0 | 2 bytes | Misc. | What direction the wind is blowing in Gusty Glade. (This might have other uses in levels with different effects.) $FFFF = Left, $0001 = Right, $0000 = None. In roller coaster levels this is how many fireworks to shoot in the current sequence. |
| $7E:19CE | 2 bytes | Sprites | Pointer to the kong invincibility controller sprite. This doesn't technically need to be a valid sprite. The kong can kill anything they touch if the value is non zero but during normal gameplay it points to the sprite responsible for playing the invincibility sound and flashing the kong. |
| $7E:19D0 | 2 bytes | Misc. | This is a cutscene id. Used for when the kongs have an automated scripted sequence of actions to perform like walking on screen and being scared of a boss. This id detemines which sequence should be played. |
| $7E:19D2 | 2 bytes | Misc. | Cutscene script index. This keeps track of where in the cutscene is currently being played. Increments by 4 because the cutscene script data contains a 16 bit timer and a 16 bit code pointer telling the game what code to run for the cutscene and for how long. |
| $7E:19D4 | 2 bytes | Misc. | Cutscene command timer. Decrements by 1 every frame until it hits 0. Once this happens it tells the game to increment the cutscene script index at $7E19D2. |
| $7E:19D6 | 2 bytes | Misc. | Used to index a table of button combinations at $808B7C. This is used to handle what buttons to check for when paused to see if the Right+Y, Left+A, Up+B, Down+X level exit cheat is being entered. Increments by 4 for every successful button entered for the cheat. |
| $7E:19D8 | 2 bytes | Misc. | Preserves the banana count during collect the stars bonuses. If bit 15 is set the game will copy the low byte to the banana counter when exiting a level. The low byte is in BCD format. This effectively restores the banana count to whatever was previously stored in this address. |
| $7E:2000 | 256 bytes | Look up table | This is a table used by the decompression routine. It allows directly indexing bytes to read their low nibble without masking. Thus: index >> 4 is the value contained at any given byte of the table. |
| $7E:2100 | 256 bytes | Look up table | This is a table used by the decompression routine. It allows directly indexing bytes to read their high nibble without masking. Thus: (index & 0x0F) << 4 is the value contained at any given byte of the table. |
| $7E:3E00 | 1664 bytes | Buffer | A buffer used to store text tile data/tile maps that will be uploaded to VRAM. The largest observed size is 1664 (0x680) but allocated space for it may technically be larger. All of the known uses of this buffer are: level name tile data on map screens, text tile map in NPC screens, text tile map in ship cabin, bonus intro text tile data. |
| $7E:4A00 | 384 bytes | Buffer | Another text VRAM buffer. Used for the text then appears when the player is walking through the kiosk to the lost world and while getting into the funky barrel. This may be a part of the previous buffer. |
| $7E:5000 | 869 bytes | Buffer | Copy of player specific RAM ($064A-$0906) for player 1. This is used in two player contest to swap between the game states of both players. |
| $7E:5365 | 869 bytes | Buffer | Copy of player specific RAM ($064A-$0906) for player 2. This is used in two player contest to swap between the game states of both players. |
| $7E:56CA | 680 bytes | Buffer | This is the buffer for the active save file. Copied to SRAM during the file save screen. |
| $7E:5972 | 32 bytes | Save | Array of bits used to store map icons for the current file. Responsible for the visual appearance of icons on the map screens. 2 bits per icon. |
| $7E:5992 | 32 bytes | Save | Array of bits used to store map path unlocks for the current file. Used to determine which routes on the map screens can be taken by the player. |
| $7E:59B2 | 32 bytes | Save | Array of bits used to store which bonuses have been completed/krem coins obtained for the current file. |
| $7E:59D2 | 32 bytes | Save | Array of bits used to store which DK coins have been collected for the current file. |
| $7E:59F2 | 32 bytes | Save | Array of bits used to store which levels have been completed for the current file. |
| $7E:5A12 | 2174 bytes | Sprites | Appears to contain several variable length arrays of sprite placement numbers. Each array in this structure contains a list of level sprites that should all be checked for spawning if the player is within their "zone". Each list is terminated with 0000. The first word appears to be the size of the structure. The largest observed size is 2174 bytes (0x87E) but this structure might be as large as 8192 bytes. |
| $7E:7A12 | 1024 bytes | Sprites | Level sprite tracking array. Indexed using a sprite's placement number to keep track of what slot it's in. If the sprite is spawned its pointer is stored here to prevent it from spawning multiple times. The sprite pointer is set negative if the sprite dies or should no longer spawn and is reset back to 0 if it unloads and will be allowed to respawn. |
| $7E:7E12 | 512 bytes | Buffer | Temporary location used to store grouped sprites as they're found on level load. Each group id is reserved 8 slots each (16 bytes) for a total of 512 bytes (32 groups). |
| $7E:8928 | 512 bytes | Palettes | This is a basic palette loaded into CGRAM at various points in the game. |
| $7E:8D28 | 256 bytes | Camera | Left border of the camera objects that limit the vision of the level. |
| $7E:8E28 | 256 bytes | Camera | Top border of the camera objects that limit the vision of the level. |
| $7E:8F28 | 256 bytes | Camera | Right border of the camera objects that limit the vision of the level. |
| $7E:9028 | 256 bytes | Camera | Bottom border of the camera objects that limit the vision of the level. |
| $7F:0000 | 6706 bytes | Tilemap | Layer 1 level data tilemap. |
| $7F:9600 | 16 bytes | Sprites | Bubble sprite OAM table, that has 8 slots. |
| $7F:9610 | 16 bytes | Sprites | Bubble sprite X position table, that has 8 slots. The actual position in pixels is one-fourth of this value. |
| $7F:9620 | 16 bytes | Sprites | Bubble sprite Y position table, that has 8 slots. The actual position in pixels is one-fourth of this value. |
| $7F:9630 | 16 bytes | Sprites | Bubble sprite X speed table, that has 8 slots. TODO: write how the actual computation happens. |
| $7F:9640 | 16 bytes | Sprites | Bubble sprite Y speed table, that has 8 slots. The value is always subtracted from the Y position. |
| $7F:9650 | 3752 bytes | Palettes | This is an inverted copy of the sprite palettes from ROM address FD62DC-FD7184. It is used in Glimmer's Galleon for the flashlight effect so sprites don't appear inverted from the color math effect. |
| $7F:A532 | 64 bytes | Misc. | A ring buffer that stores the x positions for the follower kong's waypoints. |
| $7F:A572 | 64 bytes | Misc. | A ring buffer that stores the y positions for the follower kong's waypoints. |
| $7F:A5B2 | 64 bytes | Misc. | A ring buffer that stores the facing directions for the follower kong's waypoints. |
| $7F:A5F2 | 64 bytes | Misc. | A ring buffer that stores the animations for the follower kong's waypoints. |
| $7F:A632 | 3072 bytes | Sprites | Banana sets within the level. This table is divided in blocks of 8 words, for a maximum possible of 192 sets. See also $7F:B232. |
| $7F:B232 | 9216 bytes | Sprites | Banana set data. Each word describes a column of bananas in a banana set. Each set bit is a banana and higher bits are in higher Y positions. Those words are pointed from the tables at $7F:A632. The original game never uses more than 510 bytes for this purpose. |
There are currently 38328 bytes in the ram map