SNES Development
Super Ghouls n Ghosts

Super Ghouls ‘n’ Ghosts / Chou Makaimura

Palettes

03451 - 0346E
21D4A - 21D67
21D68 - 21D85
4F4E2 - 4F4FF

Palette for Arthur (gray armor, boxer shorts and skeleton after death), lance weapon he starts the game with, and part of the color rotation for most item drops from enemies or treasure chests; 14 bytes, transparent color excluded. The colors for Arthur’s skin tone are shared by green and gold armor as well and are used by his face. Multiple instances of the same palette line are for intro scenes, etc.

8A 41 0E 52 92 62 D4 6A DE 7B 18 4B 94 3A 4E 01 90 01 56 3A 1C 53 80 59 98 01 10 00 42 08

0346F - 0348C
Palette for Arthur’s green armor.

20 19 00 22 C0 22 A8 4B FD 7F 13 00 1F 00 0E 01 90 15 56 3A 1C 53 40 51 09 66 DF 01 42 08

0348D - 034AA
Palette for Arthur’s gold armor.

C9 00 AF 01 36 02 5D 03 FF 77 13 00 1D 00 0E 01 90 21 56 3A 1C 53 80 51 48 5E DF 01 42 08

21D2C - 21D43
Palette used for HUD. Orange/yellow for ‘PLAYER’ and box around current weapon/”TIME”, gray/white for ticking time, score and number of lives, beige/brown for Arthur’s head on top-left.

26 04 7E 02 BA 00 00 00 10 42 9C 73 18 63 00 00 90 01 1C 53 00 00 00 00 

21DA4 - 21DCA
Money bags placed around levels, part of color cycle used for item drops from enemies or treasure chests, and colors used for enemy death explosions and ‘sparks’ that appear when weapons hit an enemy or chest. Probably has other uses that I didn’t see in action.

4E 00 D4 00 58 01 DA 01 9C 73 B5 56 EF 3D 08 21 1E 02 9C 1A CC 7A 4A 6A C6 61 42 41 21 04

21D68 - 21D85 Arthur’s lance weapon (??? also used by his default palette @ 03451, but this one takes priority… weird), Arthur’s gray armor breaking off when he gets hit, part of color cycle used for item drops from enemies or treasure chests, and some of the money bags placed around levels. Probably has other uses that I didn’t see in action.

8A 41 0E 52 92 62 D4 6A DE 7B 5A 3B D6 2A 10 02 8C 01 E6 4B C0 32 00 22 5E 02 58 01 21 04

21D86 - 21DA3
Clay jars that enemies sometimes carry, treasure chests, part of color cycle used for item drops from enemies or treasure chests.

00 38 00 48 C0 60 00 7A 9E 6F DE 43 18 3B 10 22 8C 11 98 3A 90 01 4E 01 DA 00 94 00 21 04

186C4-186E1
186E3-18700
18702-1871F
18722-1873F
18741-1875D
18760-1877C
Level 1 water in background; cycles through multiple palettes. Values denoted in brackets are instructions for how long to display that particular color set, in this case 08 frames. These palettes don’t include the water breaking at the bottom of the screen or tidal waves that wash away parts of the level.

08 00 20 00 18 00 00 00 28 00 20 00 00 00 30 00 28 00 00 00 38 00 28 00 20 00 4C 00 3C 00 [2C 08] 
08 00 10 00 20 00 18 00 18 00 28 00 20 00 20 00 30 00 28 00 28 00 38 00 28 00 2C 00 4C 00 [3C 08] 
08 00 18 00 00 00 20 00 20 00 00 00 28 00 28 00 00 00 30 00 28 00 20 00 38 00 3C 00 2C 00 [4C 08] 
00 20 00 18 00 10 00 28 00 20 00 18 00 30 00 28 00 20 00 38 00 28 00 28 00 4C 00 3C 00 2C 
00 00 00 20 00 18 00 00 00 28 00 20 00 00 00 30 00 28 00 20 00 38 00 28 00 2C 00 4C 00 [3C 08] 
00 18 00 10 00 20 00 20 00 18 00 28 00 28 00 20 00 30 00 28 00 20 00 38 00 3C 00 2C 00 [4C 06?] 

4E820 - 4E83F
Level 1 background colors (trees, grass, some gravestones, part of spooky Jack-o-lantern-looking face pillars)

8B 4B 64 05 00 01 81 00 8B 48 2B 0D C7 0C 65 04 8B 48 4B 21 E8 18 A5 0C 00 00 00 01 07 19 A5 0C 

4E840 - 4E85F
Level 1 colors (stone pillars in foreground, skulls underneath the grass and dirt).

40 5E DF 7B 5A 63 31 42 2A 1D A6 0C 5E 27 B3 00 94 56 CF 39 2A 19 A6 08 75 02 EE 02 63 01 00 00

4E860-4E87F
Level 1 colors (large leafless trees in background, part of large fruited tree in background).

8B 48 81 04 CA 04 2B 15 43 04 25 09 E3 00 00 01 C2 04 77 3E 14 36 91 1D 4D 19 C9 10 85 08 00 00

4E880-4E89F
Level 1 colors (brown gates and dirt that’s on top of them, spooky Jack-o-lantern faces that drop skulls from their mouth).

8B 48 B5 56 73 4A CF 39 6C 2D 08 11 A6 0C 43 04 39 67 9C 32 B6 19 CE 08 6A 00 F3 00 6C 00 00 00

4E8A0 - 4E8BF
Level 1 background/foreground colors (skulls, some gravestones, red cloth/ship masts in background).

95 4D D6 52 73 46 10 2E 8C 21 08 1D A5 14 63 0C 26 00 49 04 AB 08 CB 04 EB 0C A8 0C 66 04 00 00 

4E8C0 - 4E8DF
Level 1 colors??? No idea where this palette is used; I saw these colors nowhere in level 1.

4A 01 40 51 C0 61 80 62 54 6B DE 7B 1A 4B 14 2A 8E 01 8C 31 52 42 DE 02 1A 02 16 00 10 00 42 08 

4E8E0 - 4E8FF
Level 1 foreground colors (grass, dirt, part of large fruited trees in foreground).

8B 48 00 00 66 00 69 00 81 04 63 01 09 02 EE 02 D4 03 FC 1F 23 00 BC 42 9C 32 B6 19 CE 08 C2 00

21DE0 - 21DFD Zombie enemy colors, and the coffin they come out of.

40 55 C0 65 A0 66 B6 77 FF 7F 37 73 71 56 ED 41 4A 29 B5 4E DE 02 9A 01 D6 00 31 00 21 04

RAM Notes

7E:14F1
Pose related? This value comes up a lot, and modifying instances of it on the ROM tends to break the way Arthur animates.

ROM Notes

10EBB - 22 8B 90 01 = NOPing this JSL makes the zombies walk backwards, and probably other quirkiness. 

10EC9 - A5 07 - 07 = walking speed of slightly faster zombies. 

A7C5 - A9 03 = Not sure exactly. Modifying 03 to 08 turned off the flicking and palette flashing effects used by enemies and item drops. 

10E2B - A5 08 = something to do with certain zombies' palettes. Changing 08 to 88 made some of them flash rainbow colors, lol. 
A64A-A65F = Position of zombie spawning? Changing 01, 04, 04 and 08 to 81, 84, 84 and 87 made zombies spawn 80 pixels lower than usual. 
A643-A683 = Zombie slope recognition? NOPing all of these bytes made them levitate instead of walking down slopes, then drop down by 1 tile after passing over the slope. 

A635-A641 = Arthur's placement for normal ground or something. NOPing all of these bytes makes the floor behave like 'quicksand' and the player will constantly have to jump to stay alive. Could have some application in a hack if used correctly. 

8C79 - AD 02 00 9D 07 00 = Something dealing with camera scrolling during game intro. 

A500 - 22 8D 02 00 = NOPing this makes most zombies immediately go back underground after stepping out of their coffin. 

D48E - A9 0C = Something dealing with weapon throwing/collision? Don't know if it's just for the beginning lance weapon or if it's universal. 
17CE7 - 24 09 50 75 - Something to do with lance collision? Modifying the 09 makes lances pass through enemies and chests without harming them. Modifying 75 made the boss of level 1 die instantly, WHAT. 
20F8E-20FDC = Not sure exactly. NOPing this whole routine allowed Arthur to pass through certain surfaces and prevented every enemy except zombies (and presumably other respawning enemies) from appearing. 
B1DB - 20 12 B9 = JSR to refresh screen position after ground shifts in level 1? NOPing it stops foreground scrolling until its position is 'refreshed' by another shift. 
A6AE - A9 07 = Something to do with the ground in level 1 shifting. 07 to 01 disabled the shifting effect completely. 

D4A7 - 9D 0E 00 = Deals with enemy death explosions? 0E to 8E made them face the opposite direction. 

D4AA - 20 90 DD BD 09 00 = Lance 'life'? NOPing all 6 of these bytes allows lances to damage and pass through enemies until they hit a wall or go off-screen. Occasionally they'll pass through enemies without harming them, however. 

D4C2 - A5 12 9D 11 00 9D 12 00 = Lance direction? Playing with these values made them always go right or left, even if Arthur was turned around. 

D4AD-D4D8 = Related to counting/clearing weapons that Arthur throws? Playing with various bytes made his projectiles flicker, or be thrown backwards, so might be related to direction also. 

D51C - 20 7D D4 = JSR related to throwing knives? Don't know if that's all this is for. 
D521 - 20 4E D5 = JSR for knife direction or starting position, I think. 

D527-D541 = Routine for throwing crossbow arrows. Direction/spawning point of crossbow arrows? 

D4D8-D509 = Routine for torches hitting the ground and spawning flames? 

D501 - 9D 12 00 AD 01 00 9D 07 00 = Part of the code above. NOPing these bytes had some interesting effects . . . 

***** D50B - A9 0C = Delay between being able to throw lances and crossbow arrows. 01 = can throw them as quickly as you want (limited to 2 on-screen). 
D4E3 - A9 0C = Another delay for throwing weapons? Can't tell what it's used for; maybe one that only allowed a single projectile on-screen at a time, or an armor upgrade variant. 

D40F - A9 01 = Related to throwing a weapon at the peak of a double jump, but not necessarily a damage value. Ordinarily flashes different colors. Change 01 to 81 to make it flicker instead of cycle colors, and do much much more damage (kills first boss in 2 hits). 

D935 - C9 0C = Something to do with throwing weapons after double-jumping? 

A735 - A9 01 = Game's overall frame rate? 

10272 - C9 01 = Not sure of the function; affects zombie spawning and torch flames. 

10C1B - C9 70 = Enemy death explosions. Don't know the exact function. 70 to 01 = instant enemy death with almost no explosion. 
10C15 - 22 59 84 01 = JSL for something to do with enemy explosions. 
10C1F - 4C B5 81 to EA EA EA = Adds an extra flame to the end of basic enemy death explosions. Kinda neat. 
10C13 - 00 to 01 = Enemies instantly vanish when killed; no explosion at all. 

10C5A-10C68 = Routine for clay pots dropping to the ground that enemies sometimes carry. 
*****DF65-DFA8 (UH)***** 10C76 - C9 04 = Odds of an enemy spawning with a clay pot. 04 to 00 = enemies never carry clay pots. 04 to 01 = every enemy carries a clay pot. Values higher than 04 will decrease the likelihood of an enemy spawning with a clay pot on its back. 
10C84 - C9 03 = Number of items on the ground before enemies stop carrying pots (until you pick the items up). 
10CAD-10D07 = Drop chances for clay pot items? Didn't look into these much. Tinkering with one of the values made lances almost always appear. 

D2D7 - C9 03 = Something related to jumping and direction. 03 to 83 = HAHAHAHAHA 
DD45 - 22 B7 88 01 = JSL related to jumping height? 
1CD7B - A9 40 = Apparently something that handles double jumping in some sense? 


137B6-13826 = Not sure what this is. I think it affects the contents of treasure chests that randomly appear? Consists of nothing but 00, 01, 02, 03 and 04 bytes. 

13839-13A35 = Stuff relating to chest wizards that sometimes appear and try turning Arthur into a baby. Lots of data here, so most likely this handles them spawning, throwing projectiles, projectile movement, hitting Arthur, etc. 
13839 - 22 7E 84 01 = JSL to spawn routine for chest wizards? NOPing this JSL makes them simply not appear when they normally would. 
138B2 - 22 2B 8C 01 = JSL to wizard projectile routine? NOPing this JSL makes them appear then disappear without throwing anything. 
138B6 - 22 8B 90 01 = JSL to handle what direction the chest wizard will be facing? 
138BC - 22 59 84 01 = JSL to handle chest wizard animation? NOPing the JSL made them appear and disappear without moving. 
138C0 - 22 73 8E 01 = JSL to handle chest wizard graphics? NOPing the JSL made their graphics become a garbled mess. 
138E6 - 22 2B 8C 01 A9 0A 02 = Stuff for the wizards inside of chests that turn Arthur into a baby. NOPing these bytes made them flicker for a long time before they died. 

18082-183E4 = Some kind of large table. I'm gonna guess graphics for level 1, but I'm probably very wrong.

Original information provided by Grime.