Sonic's Schoolhouse is a rather bland educational PC game starring Sonic the Hedgehog, intended for kids no older than 9 years old. It includes awful pre-rendered graphics (even for the time), irritating midi files, and pointless .avi animations everywhere. Not to mention his girly voice...
Present in four of the AVI files is a strange talking clock which may have been used before the developers managed to get the Sonic license. The voice actor is unknown, although the voice sounds different than Sonic's.
CC_HELP2.avi, CC_HELP3.avi, and CC_HELP4.avi
These three files, created on January 8, 1996, are all identical in content: an animation of a clock jumping up and rotating in midair while saying "Click on me for help!"
"CC_HELP3" has noticeably blockier video quality than the other two, possibly as a test for the video compression.
Created October 2, 1995, predating the aforementioned files. It contains the animation of the above files, played forward then in reverse until stopping on a still frame of the clock.
Unused Sound Files
You don't have the bus pass yet... Give it another try
Clip 1 is dated September 21, 1995, 1:21:00 PM
Clip 2 is dated Thursday, September 14, 1995, 1:49:54 PM
Development on the voice clips used in-game did not begin until May 6, 1996 at 10:34 AM according to in-game sound files. The above two clips were likely placeholders until the Sonic license was acquired.
Hidden Command Line Parameters
If you run Sonic's Schoolhouse from the command line, you can set the following parameters: CHEAT, BUILD, NODAT, NOSOUND, MSG, and JOY.
- CHEAT - Enables you to load any of the maps from a dialog box, add/remove PCX files from data files, record and play demos, and get all items (bus passes, minigame passes, etc.). Adding/removing PCX files and recording demos requires "BUILD" mode to be enabled as well.
- BUILD - Allows you to "build" the data used by the game, as seen in the "CHEAT" features.
- NODAT - Makes the game not load "SONIC.DAT", and thus not load certain files, which can cause the game to crash.
- NOSOUND - Disables loading the sound subsystem.
- MSG - Takes a number from 40-200 and sets that as the controller poll frequency (not shown in the video).
- JOY - This one's functionality is strange. It takes a number from 0-100 (any other numbers will just cap it within that range) and if it's nonzero, what happens is that after the first time you press the "GO" stoplight button, it takes the number you put in and decrements it until it reaches 0. When it does, it plays the animation that plays when you press the "GO" stoplight button again. After that, the timer is never reset. This is the only time that happens. By default, this value is 0, so it never happens in-game normally anyways. This parameter has no other functionality.
Original Game Title?
At 0x2FD74 in the executable lies an error message string that says:
AnswerHunt - MCI Error
"AnswerHunt", huh? Perhaps that was what the game was called when it still had the clock mascot...
There's also this at 0x2F29E and 0x2F48E:
And also this at 0x351E2, 0x3561A, 0x35842, 0x3594E, 0x359D6, 0x35DE2, and 0x35E12:
(Note that those periods are 0x00 in the binary data, not 0x2E.)
There exists error message strings used when loading SONIC.DAT for debugging purposes. These messages include what seem to be original function names for such. It all starts at 0x2AB54 in the executable.
DatafileOpen: unable to open file %s in mode %s DatafileOpen: Bad read reading ID DatafileOpen: Bad ID DatafileOpen: Bad read index position DatafileOpen: Bad seek DatafileOpen: Bad read index count DatafileOpen: Out of memory allocing index. DatafileOpen: Bad read index sort flag DatafileOpen: Bad read index DatafileClose: Datafile file not open DatafileGetData: seek error. DatafileGetData: comp none read error. DatafileGetData: Out of memory alloc'ing temp. DatafileGetData: COMPRESSED read error. DatafileGetData: unknown compression type %d. DatafileAddData: Datafile entry %s already exists. DatafileAddData: Out of memory allocing index. DatafileAddData: Out of memory on index resize. DatafileAddData: seek failure DatafileAddData: comp none write failure DatafileAddData: out of memory on temp alloc. DatafileAddData: FAST COMPRESSED write failure DatafileAddData: write failure DatafileAddData: unknown compression type %d. DatafileAddFile: out of memory on temp alloc DatafileAddFile: read error. DatafileExtractFile: file name not in index DatafileExtractFile: out of memory on temp alloc DatafileExtractFile: write file failed. DatafileRemoveData: couldn't open temp file.%s DatafileRemoveData: seek error. DatafileRemoveData: couldn't remove old Datafile. DatafileRemoveData: couldn't rename tempfile. %s DatafileRemoveData: couldn't reopen Datafile. %s DatafileRemoveByName: name not in index
Present at 0x2C080 in the executable ia one hidden line of credits, crediting Jim O'Keane for the "I3D Tool Kit" (I3D was a toolkit used to create 3D applications in MS-DOS and Windows; see here).
I3D Tool Kit 2.1 (c)1993-94 Jim O'Keane