ABCDEFGHIJKLMNOPQRSTUVWXYZ
1
rea
2
***NOTE*** This is for an unheadered [1.0] ROM. This information may not be accurate for other versions.
3
***Note*** ALL numerical values are in hex unless otherwise specified
4
See RAM map for more info:https://docs.google.com/spreadsheets/d/1cpgw9Y73WL7vmUOfnK21utcTQ7sUeOZu4874buAmPf0/edit#gid=0
5
TYPE:INFO:EXAMPLE (HIJINX)/NOTES:CONTRIBUTOR(S):
6
FORMULA:OBJECT MAP:$7e003e * 2 + 8000 = xxxx = Array at $3dxxxx.$7e003e = 16, *2 = 2c +8000 = 802cRainbowSprinklez
7
Object map at $3dzzzz where zzzz is array valueValue at $3d802c is 95dc, so $3d95dc
8
FORMULA:LEVEL TERRAIN:$7e088b AND ffe0 + $7e00d3 (3 bytes)$7e088b = 0 AND ffe0 = 0RainbowSprinklez, Myself086
9
$7e088b is x cam$7e00d3 = d90000, so converting to our format, $190000
10
TEXT FUNKY$3C3334-$3C35C9German text right afterRainbowSprinklez
11
TEXT POINTERSFUNKY$3c036c~$3c038aGerman pointers after. Last 8 bytes areRainbowSprinklez
12
4 bytes of donkey only and 4 of diddy only
13
TEXTCANDY$3c315b-$3c3333RainbowSprinklez
14
TEXT POINTERSCANDY$3c0344~$3c0356delicious turdsRainbowSprinklez
15
16
TEXTSTAGE NAMES$38a508-$38a7e6German text right beforeRainbowSprinklez, Mattrizzle
17
TEXT POINTERSSTAGE NAMES$38a1ea-38a2452 bytes per pointer; German pointers beforeRainbowSprinklez, Mattrizzle
18
FORMULASTAGE NAME POINTERS((Value at ($38:a07a + $7e:003e) AND #ff ) * 2 ) + a1e2ONLY useful to hackers as we know where the pointers areRainbowSprinklez
19
MISCOBJECTAll objects exist in bank $35. $35xxxx based on the object pointer. Objects end in bytes 00 80. If you are careful, you can edit various properties, such as enemy speedRainbowSprinklez, Myself086
20
21
FORMULAMAP PATH SET GRAPHICS POINTERS$7e0002 * 2 + f32a = $3cxxxx, where xxxx is the result of your addition. Path pointers are there
0xbcf32a
***Must be on the map you want to edit for $02 to read correctlyRainbowSprinklez, Mattrizzle
22
MAP PATH SET GRAPHICS POINTERS
23
FORMULABANANA MAPSArray at $7e003e + $b8b41d, AND 00ff (store in $30)Reptile rumble's 3e (for second map) = 1. 16 bits at b41d is 701. AND ff = 01 = $30RainbowSprinklez
24
Double $30, add 16 bit value at (c0e1+$30) to c0e1Double 1 (2), 16 bit value at c0e3 = 10a. Banana map at c1eb
25
http://www.dkc-atlas.com/forum/viewtopic.php?f=38&t=1167#p21476
Simion32
26
ARRAY - 8 bit$0xbcbababase $3eRainbowSprinklez, Myself086
27
PATHS// 3 bytes: Level to beat, first link, second linkMyself086
28
.def LevelLinkTable 0xb89853 .def LevelLinkTableB 0xbcba67
29
ARRAY - 8 bit$0xbcf44b
A VERY powerful array. Tells the game what to do based on where we are going (coords of level on map)
RainbowSprinklez
30
ARRAY - 8 bit$0X80F7086 bytes, where taking each Funkys Flights takes youindexed by $3e - #0xf4RainbowSprinklez
31
ARRAY - 24 bit$0xb8944bWhere a file saves in SRAM RainbowSprinklez
32
MUSIC ARRAY - 16 bit$0x3983b6LUT of music indexed by $3eRainbowSprinklez
33
TRACK ARRAY - 24 bit$0x8ab15924 bit pointer on which track to playinstruments still messed up, since trackRainbowSprinklez
34
0doesn't hold instruments
35
e9c6a4 regular boss boogieIndexed by track number
36
37
PHYSICS0xBFB187How much to mod acceleration0 is normal, 3 is halfRainbowSprinklez
38
39
ARRAY - 16 bit0x81d1021e15 setter by level (3e)One of the most powerful arraysRainbowSprinklez
40
THEME LOCATION ARRAY0x818b94 - 0x81bbdWhere the various themes are in ROMRainbowSprinklez
41
32 BIT ARRAY OF SPRITE GRAPHICS0xbbcc9c32-bit sprite graphic array16f0 is funky plane (00db0000)
Index already setup for 32 bit array
RainbowSprinklez
42
Object Function Pointer Array0xbf817732-bit indexes, indexed by [d45] * 4(_$8177)RainbowSprinklez
43
Hitbox array0xbb8000Sprite graphic index / 2RainbowSprinklez
44
Cooords index0xbc8000Index + 4start - $bc0000,xRainbowSprinklez
45
Tilemap X Cam Start0xbc0000X coords startend - $bc0002,x (left boundary of final screen)RainbowSprinklez
46
Tilemap X Cam End - 0x1000xbc0002X coords end - 0x100where x = ($bc8000,$3e * 2) - 4RainbowSprinklez
47
Default Animation scripts0xbe857216 bit array, indexed by [d45]Animation script at $be0000 + 16-bit pointerRainbowSprinklez
48
Donkey function status function0xbf84c5indexed by [$1029] * 2RainbowSprinklez
49
Game over routine0x80de7bRainbowSprinklez
50
Life Lost Music Switch$BE/9841 22 36 90 B9 JSL $B99036[$B9:9036] A:0011 X:0002 Y:9858 P:envmxdIzcRainbowSprinklez
51
SONG TO PLAY
$B9/801B 7C B6 83 JMP ($83B6,x)[$B9:8E61] A:014A X:014A Y:B828 P:envmxdIzc
52
$B9/8E61 A9 0D 00 LDA #$000D A:014A X:014A Y:B828 P:envmxdIzc
// This lda says which song, up to 1b
53
$B9/8E64 5C 36 90 B9 JMP $B99036[$B9:9036] A:000D X:014A Y:B828 P:envmxdIzc
54
ARRAY 8-BITBCF44BZ coords of level
55
ARRAY 8-BITBCF54BX coords of level
56
ARRAY 8-BITBCF64BY coords of level
57
ARRAY 16-bitBCF3E2What levels are on each map (heads)Indexed by $7e0002, array always in bank bc
58
ARRAY 16-bitBCF32AWhat levels are on each map (paths)Indexed by $7e0002, array always in bank bc
59
ARRAY 8-BIT.def LevelSelectRight 0xbcf74b
60
.def LevelSelectLeft 0xbcf84b
61
.def LevelSelectUp 0xbcf94b
62
.def LevelSelectDown 0xbcfa4b
63
b580bcStart of command 8100Entity start animation
64
ARRAY 32 BIT80e1aaArray of all the tilemaps on the overworld
65
ARRAY 32 BIT0x80e176Array of all the tilesets indexed by $02 * 4
66
ARRAY 16 BIT0x80e1deArray of palettes indexed by $02 * 2. Always in bank b9
67
ARRAY 8 BIT0xb9a17cRGB of each color in the rare logo. 2 rows (0x60 bytes)
68
0xb9a11crgb808, r and g same
69
DECOMPRESSION ROUTINE0xb89700Decompress
70
Animation Script Command array0xbe83cdbyte 0 of animation script
71
72
0xb9a50eStart of vram init array by themeb9a50e + (theme) * 2
73
Get current kong index809b9cjslPuts index in Y
74
Camera Map0xbc8000(16 bits at ($3e*2+bc8000))+bc0000
75
Instrument pointer array 16 bit0x8ab20dArray based on track number. Which instruments to point to
76
Array 24 bit9xb6984cx and y coords of mini-drums
77
Array 16 bit0xbed9aeBarrel cannon gfx to useBased on type
78
Array 16 bit0xbed9ceAuto barrel cannon gfx to useBased on type
79
Overworld letters GFX0xe9d6dc0x60 letters, 10 bytes eachStored as 2bpp but use 4
80
Overworld Heads 10xc200000x380 bytes7*0x380 (7 indices in animation)
81
Percentage Array0xbcc288Bool - which stages to count for %
Also counts max % possible
Non-zero = count
82
Sin table0xbcbcf0
83
24 bit array0x818b94Tilemap by theme
84
0x818bc0If vertical, bank meta is inOverlaps with 16 bit meta array
85
24 bit array0x818c04Physics map
86
0x818bbe16 bit meta map
87
0x818be8Related to tilemap
88
0x818c2eLast tile with physics
89
0x818c4a???
90
Alphabet0xe9d6dcStored in 2bpp format
91
Function0x809713Level every frame
92
Function0xb90000Level Init
93
Array - 32 bit0xb9d7aeColor math settings
94
Interleaved Rareware Palette0xb9a17crgb each is 1 byte, 5 bits eachInterleaved Rareware logo palette
95
Music waveform array, 16 bit0x8ab20dIndexed by track number
96
ARRAY 8 BIT0xBCF74BLevel right takes you
97
ARRAY 8 BIT0xBCF84BLevel left takes you
98
ARRAY 8 BIT0xBCF94BLevel up takes you
99
ARRAY 8 BIT0xBCFA4BLevel down takes you
100