If you appreciate the work done within the wiki, please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!

Garfield: Caught in the Act (Genesis)

From The Cutting Room Floor
Jump to navigation Jump to search

Title Screen

Garfield: Caught in the Act

Developer: Sega Interactive
Publishers: Sega (US/EU/AU), Tec Toy (BR)
Platform: Genesis
Released in US: October 31, 1995
Released in EU: December 8, 1995
Released in AU: November 16, 1995
Released in BR: December 15, 1995


DevTextIcon.png This game has hidden development-related text.
MusicIcon.png This game has unused music.
DebugIcon.png This game has debugging material.
SoundtestIcon.png This game has a hidden sound test.
LevelSelectIcon.png This game has a hidden level select.


Garfield: Caught in the Act is a platform game featuring the beloved comic strip cat, as he gets sucked into the TV, and has to complete levels based on various movies, each with their own setting. It was developed in-house at Sega and features animations drawn by Garfield's creator Jim Davis.

Hmmm...
To do:
Add info about the cut levels, cancelled ports, and prerelease material. For example, the box art in certain regions (along with the back of the Sega Nomad box, for some reason) has pictures of a cut train section of the Catsablanca level.

Level Under Construction

Garfield - Caught in the Act undrconstr.png
Function $00F294 reads a table at $000832 containing screen handler offsets. The index to this table is stored at $FFEE20.

The code FFEE20:0004 will open a special screen after the present screen ends that shows that any screen in the game is presently under construction. The message shown is determined by the value at word $FFEE22 (for example, FFEE22:0012 shows "City Streets"). While values range from $00-$20, they do not line up with values of $FFEE20 but rather with a screen mode structure at $8AA.

Code for this screen begins at $DCA.

Number String
$00 "Sega Logo"
$01 "SIDD Logo"
$02 "Password"
$03 "Death"
$04 "Continue"
$05 "Game Over"
$06 "Game Win"
$07 "End Of Level"
$08 "Title"
$09 "Demos"
$0A "Graveyard"
$0B "Graveyard Boss"
$0C "Pirate Swamp"
$0D "Pirate Jungle"
$0E "Jungle Boss"
$0F "Prehistoric Beach"
$10 "Prehistoric Cliffs"
$11 "Prehistoric Boss"
$12 "City Streets"
$13 "Catsab Boss"
$14 "Pyramid Tunnels"
$15 "Pyramid Boss"
$16 "TV Boss"
$17 "Inside TV"
$18 "Bonus - Tube"
$19 "Bonus - Whack"
$1A "Story"
$1B "Credits "
$1C "Tv Land Trans " (corresponds to the level intros)
$1D "Get Password"
$1E "Options Screen"
$1F "Help Screen"
$20 "Win Credits "

Debug Menu

Elementary, my dear Cactus.
This needs some investigation.
Discuss ideas and findings on the talk page.
Specifically: Check if there's code to replay the demo recording. Selecting Play Demo won't use these inputs.

GarfieldCaughtInTheAct-DebugMenu.png
The code FFEE20:003B will open this debug screen (disable once inside, otherwise the menu will simply reload when using the level select). Handler code begins at $4A7C.

  • Level: Loads the selected level;
  • Play Demo: When Buffer Size is set, this entry contains an address in ram to a recording of joypad inputs. It consists of sequences of 2 bytes: the first byte is the number of game ticks, while the second byte is the mask value of the pressed button ($00 when there's no input);
  • Buffer Size: Limits how many input sequences will be recorded;
  • Music: Plays the selected track;
  • SFX: Crashes the game;
  • EXIT: Loads the Sega logo screen;

The last line shows the detected input device, using one of the following labels:

Unknown
3 Button
6 Button
Activator
Mouse
Team Player

Crash Handler

GarfieldCaughtInTheAct-ErrorHandler.png
Throughout the code, there are some checks for errors that initialize this screen. One of these checks can be forced to pass with patch 00CD2E:601E. However, this will result in a loop where the Sega logo screen is continuously reloaded. After the first time it reloads, use code FFEE20:003A to load the crash handler screen. A similar crash handler screen was previously present in an early build of Bonkers, also developed by Sega Interactive.

Error messages are present at $1F9E87:

VRam Allocation Failed!
AddItem has Failed!!
Attempt to remove a NULL Item!
Attempt to remove a NULL Plyr!
LoadDataFile has Illegal packet Type!
SatShadow Allocation Failed!
An Address Error has Occured!
An Illegal Instruction Occured!
A Divide by Zero Error Occured!
VRam Allocation Failed!
AddItem has Failed!!
Attempt to remove a NULL Item!
Attempt to remove a NULL Plyr!
LoadDataFile has Illegal packet Type!
SatShadow Allocation Failed!
An Address Error has Occured!
An Illegal Instruction Occured!
A Divide by Zero Error Occured!
VRam Allocation Failed!
AddItem has Failed!!
Attempt to remove a NULL Item!
Attempt to remove a NULL Plyr!
LoadDataFile has Illegal packet Type!
SatShadow Allocation Failed!
An Address Error has Occured!
An Illegal Instruction Occured!
A Divide by Zero Error Occured!
VRam Allocation Failed!
AddItem has Failed!!
Attempt to remove a NULL Item!
Attempt to remove a NULL Plyr!
LoadDataFile has Illegal packet Type!
SatShadow Allocation Failed!
An Address Error has Occured!
An Illegal Instruction Occured!
A Divide by Zero Error Occured!
FATAL ERROR @ $00000000
ERROR CODE = $00000000
An Unknown FATAL ERROR occured
UNKNOWN

Free-Movement Mode

Garfield Caught in the Act Genesis Free Movement Mode.png

Pause gameplay and press A, Right, C, C, B, Up. A sound will confirm correct entry. Unpause and use the D-Pad to move Garfield around. Pause and enter the code again to disable it.


Unused Music

Three small, apologetic "stinger" pieces apparently to be used for either when Garfield loses a life or for sound-engine testing still exist in the sound test. 01 plays on the right side only and 11 lacks any sort of volume variance.

01 04 11

Title Screen

This long, impressive track can never be heard in its entirety without cheating, since the title screen always goes to demo after a certain point, and it isn't in the sound test. Use the code FFF60E:0010 (Kega Fusion) on the title screen to freeze it before it goes to demo and hear the entire song.

Unlike the other songs that aren't in the sound test, such as the Whack-A-Mole Bonus and the Credits Roll, which can both be heard entirely in-game, the Title is unique in that it is impossible to hear fully in any normal circumstance.