Sonic's Schoolhouse is a rather bland educational 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 Sonic's 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, but sounds different from 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.
You don't have the bus pass yet... Give it another try
Dated September 21, 1995.
Dated September 14, 1995.
The voice clips used in-game are dated no earlier than May 6, 1996, suggesting that the above two were placeholders until the Sonic license was acquired.
Hidden Command Line Parameters
The video demonstrating these has been removed. Get a new one if possible.
If you run Sonic's Schoolhouse from the command line, you can set the following parameters:
- 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.
Old Game Title
Present in various places in the executable are strings referring to the game as "Answer Hunt" or "AnswerHunt".
An error message is at 0x2FD74:
AnswerHunt - MCI Error
A reference to a TTF file is at 0x2F29E and 0x2F48E:
And at seven different places (0x351E2, 0x3561A, 0x35842, 0x3594E, 0x359D6, 0x35DE2, and 0x35E12) is this:
(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 is a credit for an "I3D Tool Kit". I3D was a toolkit used to create 3D applications in MS-DOS and Windows (see here for more).
I3D Tool Kit 2.1 (c)1993-94 Jim O'Keane