Posted on Leave a comment

Hungry Horace Goes Skiing? on the Sinclair ZX Spectrum

Is it Hungry Horace
or Horace Goes Skiing?
Photo Courtesy of Martin Russell

Horace is one of the most famous, iconic even, characters of games on the Sinclair ZX Spectrum. There were three official titles in the Horace series from Australian software house Melbourne House:

  1. Hungry Horace (1982)
  2. Horace Goes Skiing (1982)
  3. Horace and the Spiders (1983)

But what is the game in the photo at the top? Is it Hungry Horace? Is it Horace Goes Skiing? Or is it Hungry Horace Goes Skiing?

It is a misprint and is a rarer find in the world of collecting Spectrum games!

PopeyMon is currently working on a disassembly of Horace Goes Skiing. A disassembly is a reverse engineering of the machine code programming that makes up a Spectrum program.

It is being done using SkoolKit, the excellent software tools written in Python by Richard Dymond. Richard has done a disassembly of Hungry Horace, as well as other iconic Spectrum games like Skool Daze, back to Skool, Manic Miner (more articles are on PopeyMon about Manic Miner – see the tags) and Jet Set Willy.

Manic Miner

Richard has also made another great contribution to Spectrum programming by publishing an online version of The Complete Spectrum ROM Disassembly, originally published by Melbourne House of Horace fame.

UPDATE (29/4/21): Undocumented features and keyboard controls found! Possible “missing” 11th ZX Spectrum ROM Cartridge game? The READ_KEYBOARD routine has been disassembled. I have published it at this link here. There is some tidying up that is needed, and the non-keyboard sections need to be understood more clearly, but I wanted to report some interesting news for Horace fans! The inlay for Horace Goes Skiing only reports four keys to play the game – QZIP for up/down/left/right.

BUT… In doing the disassembly, I discovered more keys. 1234 and 6789 can also be used to control Horace. In fact, all three key combinations QZIP/1234/6789 can be used simultaneously.

To me, this suggests that Horace Goes Skiing was considered for a release on the ZX Spectrum ROM cartridge format. It is by no means definitive proof – just a theory. But there are other reasons – please see below. I have discussed it with the author of the definitive website on ZX Spectrum ROM cartridges here – Paul Farrow. I have also published it to a couple of the Spectrum forums, and it has generated some interest. More on that another time.

Undocumented Keys for Horace Goes Skiing

I have tested my disassembly findings by loading Horace Goes Skiing from tape onto a proper Spectrum instead of an emulator. I attached my Kempston Joystick Interface with ROM cartridge – this is very similar to the ZX Interface 2. I have confirmed my findings on the undocumented keys:

  1. I have confirmed that all three key combinations and/or the Interface 2 joystick ports can be used simultaneously.
  2. The S key can be pressed to PAUSE Horace Goes Skiing. Keys on the bottom left half-row can be used to resume.
  3. The ENTER key can be used to “toggle” (turn off and turn on) the Ambulance sound. This seems to have an effect on the running of the game too, but whether it can be used as a CHEAT to slow the Ambulance down is unknown so far.
  4. Pressing the G and H keys simultaneously ABORTS THE GAME.

In addition to this, there are also the following reasons to support my theory that Horace Goes Skiing was going to be the 11th ROM cartridge game, but was abandoned:

Horace Goes Skiing Is A Possible 11th ZX Rom Cartridge

I believe that Horace Goes Skiing may have been a candidate for ROM cartridges, as:

  1. Skiing is the “sequel” to Hungry Horace.
  2. Horace and the Spiders and Hungry Horace were released on ROM cartridge, but Skiing was not.
  3. Skiing is a 16k game, which was required for the ROM cartridges.
  4. Skiing was released at about the right time, on the Sinclair label.

Paul Farrow has come back with his views as to why Skiing may or may not have been intended for a ROM cartridge. We have continued the conversation, but he says that:

“I’m not so sure it does suggest that, but neither do I rule out the theory off hand. I think more evidence would be required to draw that as a definite conclusion.”

I will keep following up on my theory and diassembling the rest of the game. But for now… that is all!

UPDATE (23/4/21): The .skool files have been updated to document a lot more of the disassembly. The purpose of around 50% of the routines has been determined and many routines have now been fully understood and documented.

At the time of writing, my disassembly of Horace Goes Skiing has made substantial progress:

  • The initial trickery of game loading and movement of data and code, after the game has loaded, has been hurdled.
  • The main game loop has been found and some of the sub-routines have been documented such as the squelchy sound of the attract mode and the colour attribute animations.
  • The main text strings for the game messages have been found.
  • And the SkoolKit tool has been mastered to enable publishing of the disassembly on the PopeyMon Games and Fun website.

So keep ’em peeled for the disassembly, if you want to learn more about Horace and his games.

You might even learn some machine code and how to use SkoolKit!