Notes:Putt-Putt & Pep's Dog on a Stick
This page contains notes for the game Putt-Putt & Pep's Dog on a Stick.
Unused Credits Restoration
Putting the hidden credits back together takes a little work. The main issues are the missing room palette and the lack of code to start the sequence.
The original room palette for the unused graphics was overwritten, but luckily, the animation data itself contains the proper palette. Overwriting the 768 bytes at 475476 with the 768 bytes at 4E98BE will fix the developer graphics. The scrolling credits text uses a slightly different palette, but the only change necessary is to set 4754BE to 96 4A 69.
Hacking the game to run the sequence is a bit trickier. Script 200 plays the developer animations, while script 202 runs the credits roll. To start the sequence as apparently intended, room 4's ENCD needs to be modified so that when the room is entered, the game will draw the unused placeholder background and trigger the two scripts.
Fitting the code in requires a few extra bytes. Fortunately, the sequence causes the game to exit when it finishes, so we can sacrifice the room's EXCD to expand the ENCD. Set 475814 to 0C to disable the EXCD and 475813 to 60 to resize it. Now delete the 5 bytes at 475815, insert 5 bytes of 0C before what is now offset 475832, and set 47581C to 4B to expand the ENCD.
Now we just need the code to insert, which is:
00 C8: pushByte(0xC8) ; set script # to 200, dev animations 00 00: pushByte(0x00) ; set script flags 5E 01: runScript() ; start playing animations 00 CA: pushByte(0xCA) ; set script # to 202, credits roll 00 00: pushByte(0x00) ; set script flags 5E 01: runScript() ; start credits 01 06 01: pushWord(0x106) ; set AWIZ background resource number ; to placeholder background 00 00: pushByte(0x00) ; set bg x position 00 00: pushByte(0x00) ; set bg y position 00 00: pushByte(0x00) ; set drawing flags CE: drawWizImage() ; draw background 65: stopObjectCode() ; end script
After encryption, this becomes
69 A1 69 69 37 68 69 A3 69 69 37 68 68 6F 68 69 69 69 69 69 69 A7 0C
which goes over the existing code at 47581D.
The final issue is that the new background expects a slightly different palette. The only difference is at 4755F6, which needs to be changed to 69 69 69.
Going to room 4 should now run the restored sequence. Note that this hack overwrites the code to start the credits music, so whatever was playing when the room was entered will play instead.