Something rather special now for you with Porky Pig’s Haunted Holiday SNES prototypes, consisting of builds from between 1st November 1993 to the 24th May 1994. What is particularly exciting is that one of the prototypes contains a series of subgames dropped from the final release and only briefly seen in magazine screenshots. That’s not all – there are tons of differences to be discovered, and this page only scratches the surface about them.
Firstly the INTROS.SMC build from November 1993 has all the intros for all the levels as a test ROM. Using a special CMS flag screen by pressing Start, will allow you to change flags to get to different intro scenes. It’s a little confusing at first, but the READ.ME file will explain roughly how it works, and with a little trial and error you’ll get to browse each segment.
The R&D.SMC file from the same month contains a very very early movement test demo, using the background from Chaos Drop and with a very different Porky Pig sprite that was later changed in the final build. You can move around the map, but by pressing one of the controller keys, you can turn into Super Porky, wearing a red cape. Instructions in the READ.ME will explain all of the controls.
The SUBGAMES.SMC build from later that month unfortunately didn’t work in ZSNES or SNES9X. If anyone can get it running, please let us know – but these should contain a set of 3 subgames that were created and never used in the end. These are said to be very early, and are likely to be different to the final subgames that had been created (more on that in a moment!). There is a READ.ME2 which has a few notes regarding it.
We then have a playable early build of the game with PORKY.SMC which is from March 1993. This cuts straight to a text screen and then to Porky’s house. This prototype only loaded for us in ZSNES. Interestingly if you reset the game, then you’ll get different seasons for Porky’s house.
There’s no music at this point, but most interesting of all is the very different looking Porky Pig sprite, looking slightly bewildered. No doubt there were requests from Warner Bros to change the main sprite at a later date. Moving onto the Haunted Woods can start the level in different modes depending on the season, including a fog-based scenario. There are skeleton sprites which don’t seem to feature in the final game.
Pressing select will get you into Joe Booth’s CMS editor tool once more where you can set different parameters. There are some rough suggestions on the page, but playing around with the figures and going back to the game will give you different results at times, for instance – getting you onto later screens/levels which will likely have other differences compared to the final version.
There is very likely a stack of differences to discover overall which unfortunately we don’t have time to check through – please let us know what you find we will update the page and credit you.
Then finally the most exciting of the prototypes, PORKY2.SMC is from a few months later in May 1994. This is a far more complete build, but has a lot of differences and interesting features overall. We’re probably only scratching (no pun intended!) the surface with what we’ve found.
Firstly, we got this loading in SNES9X, but had to reset the emulator for it to start. On each reset, you will get a different animated SUNSOFT intro, in which there seems to be about 5 or 6 in total. Only one seems to feature in the final build. The Warner Bros logo is missing and the intro screens are quite different to the final version. The title screen is mostly silent, but if you reset at the right moment – you will get the Looney Tunes tune: Merry-Go-Round Broke Down play.
Starting the game, you will get a completely different and far more animated introduction sequence compared to the final game. There are complete scenes which have been cut from the final game, finishing with the segment you see in the final game (but missing the text).
You are then situated at Porky’s house, with the completely different main character who seems to be very scared about going into the Haunted Woods compared to the final Porky Pig. Moving onto the level, you’ll notice that the skeleton character from the earlier build has now been changed and Porky Pig handles a lot more lightly compared to his final version equivalent. It generally feels a lot more fast paced.
The swinging ball on the tree is spikey compared to the final version and there are likely a lot of other differences with sprites and animations throughout. We only tested the first few parts of the Haunted Woods level due to time restrictions, so there is likely to be a lot more differences to uncover. Again, please do get in touch if you want us to highlight anything you find.
Then finally, going to the Options screen at the start, you’ll notice there is a “PORKATHLON” option – enter here and you’ll discover a treasure trove of subgames that were very strangely dropped from the final game. When you play them, you’ll wonder why exactly – as they were a great additional bonus to the title.
There are a total of 6 subgames to play, including a running game like in Hyper Sports, a shooting game based on the 1975 arcade game Gun Fight, a Toobin clone, a mining cart race, a cool 3D bobsleigh game and a fishing game – no doubt inspired by Activision’s Fishing. Staggering that these were dropped. We believe that screenshots were shown of at least the Gun Fight game in the press at the time.
Finally, we have a stack of graphical assets that we have recovered and created a gallery of below. These will likely contain more content that was dropped from the final game and more of an insight of what might be lurking within these prototypes. We hope you enjoy them, and please share what you find via our contact form or on our socials!
Additional Findings (Courtesy of KungFuFurby)
Our thanks to KungFuFurby for digging deeper into these prototypes and sharing their technical insights and discoveries:
- PORKY.SMC boots fine in bsnes-plus and Mesen without needing a reset. The Sunsoft logo flashes briefly before showing the level title screen for Porky’s House in the Haunted Woods. This early area has sound effects but no music. It transitions into “Kind of Spookie,” which does include music.
- PORKY2.SMC also boots in both bsnes-plus and Mesen, though a reset is required after the initial load to get it working properly. KungFuFurby has found that it goes through a list of RNC-compressed file at the start. Unfortunately, past a certain point, all of the pointers are dummied out.
- The Pro Action Replay code of 80B5F138 (this was originally 80B5F149 in the ROM) will truncate this list so that it does not process the invalid entries and boot up during the first time.
- The SPC (sound) engine in PORKY.SMC matches the one found in the Kick Off 3 beta, while PORKY2.SMC uses the same SPC-side code as the known Porky Pig beta. Both of these early builds use David Whittaker’s sound driver, whereas the final retail game uses a completely different one by Bitmasters.
- Interestingly, PORKY2’s music is even earlier than the beta version already circulating online. Some of the music tracks in the internal sound test menu couldn’t be traced to gameplay or found referenced in the ROM’s code, suggesting unused or experimental compositions.
- A number of those previously unidentified music tracks are now believed to be intended for the Porkathlon subgames, though some minigames like the Bobsled Challenge lack music, and many subgames are also missing SFX at this stage.
- PORKY2 still contains a unique collection of sound effects that persisted into the beta build — even after the subgames were removed.
- The reason PORKY.SMC doesn’t boot in SNES9X is due to header detection failure — a quirk of how prototype ROMs were assembled before finalizing for Nintendo. It does contain non-zero data in the cartridge header, which may interfere with emulators. KungFuFurby was able to get it working after a minor edit, but also confirmed that:
- SUBGAMES fails to boot because it attempts to call uninitialized WRAM via a COP opcode early in execution. It will boot if this interrupt is patched with a RTI opcode using PAR code 00FFF440.
- Based on internal build dates, PORKY is dated 16/3/1994 and PORKY2 is dated 24/5/1994, placing them before the previously known beta version (dated 26/1/1995), and well before the final retail release (dated 22/8/1995 for both US and Europe).
- INTROS, R&D, and SUBGAMES are the earliest builds. Of these, R&D is likely the very first, with traces of Enigma Variations 1992 found within it. This suggests either an earlier development start date or possibly leftover data from previous projects, as the game went through up to three different developer name changes.
- R&D also contains leftover data from an early “Mechanoids 2” build (MECHDEMO), previously seen in other Sunsoft prototypes like Chaos Drop and Tip Off, all pointing to 1992 as a shared origin.
With a huge thank you to Mark Greenshields for allowing us to preserve these prototypes, KungFuFurby for the excellent deep dive findings and Mycah for link issue report.
Download
Video
- https://www.youtube.com/watch?v=fVUzlcmAZXc (Main findings)
- https://www.youtube.com/watch?v=kOxEN0BxIZw (Additional lost sub games)
First off: PORKY, not SUBGAMES, is the one that fails to boot on SNES9X due to header detection problems. Secondly…
I found the cause for PORKY2 not booting during the first time. It’s going through a list of RNC-compressed files at the start. Unfortunately, past a certain point, all of the pointers are dummied out.
The Pro Action Replay code of 80B5F138 (this was originally 80B5F149 in the ROM) will truncate this list so that it does not process the invalid entries and boot up during the first time.
Apologies KungFuFurby – just corrected that now, and thank you for the additional information. Just added to the page!
Any chance we can get a fixed SUBGAMES rom? No clue how to fix it myself haha
I think its going to need a patch – I had to enter the code as an Action Replay cheat code in BSNES emulator. If anyone is able to patch the game at all for us, that would be amazing.
SUBGAMES does not boot because it is trying to call code in WRAM that is not initialized. This is done via a COP opcode called very early on in the code. It does boot if I dummy out the interrupt via the PAR code 00FFF440 (that is, make it a RTI opcode).
Thanks KungFuFurby, and for all your deep diving into the prototypes and sharing. I’ve updated the page with a summary and with credit to yourself.