Tempest Posted April 14, 2023 Share Posted April 14, 2023 Thought I'd post this here as well since I'm not sure how many programmers will see it in the prototype forum. A recent conversation about a Super Pac-Man repro cart got me wondering about the history behind all the prototype versions of this game. I know development was done on the 5200, but that the code was programmed so that it would auto-detect the type of system it was running on (5200 or 800) and configure itself appropriately. This little fact makes it harder to pinpoint the different versions of the game. Normally a game that was developed on either the 5200 or 800 wouldn't be ported to the other system until all development was done (why port WIP code?), but since Super Pac-Man can auto-configure itself this means a WIP 5200 version would run on the 800 if burned onto a 8-bit eprom board. I know of two different confirmed 5200 protos and one confirmed 8-bit proto. There's also the final version of the game the @Dutchman2000 found. I don't know whether to count this as a 5200 proto or an 8-bit proto. I would normally say it should be a 5200 proto since that was the original target system, but since it was found on a disk (I believe it was anyway) that would point towards it being an 8-bit proto. I'd guess that Landon added the bug fix and final touches to the 8-bit version since development for the 5200 must have been cancelled by that point (my 8-bit proto is dated 6/14) but since it auto configures itself it will also happily run on a 5200. I have a rom for it labeled 5200 Final that seems to test differently. That doesn't make sense... Does anyone want to do a deeper dive into these roms and see if we can piece together the development history? For example, I always thought that the scrolling instructions and easter egg were added at the same time as the bonus timer fix, but the 6/14/84 (8-bit) version has the scrolling instructions and easter egg (I think, I can't trigger it with the emulator) but the bonus timer is still time based instead of being based off of how much of the screen you cleared. I'm also attaching a rom for the 800 that came from a reproduction cart (I believe B&C sold these years ago). It appears to be the earlier 3/15/84 (5200) version but on an 8-bit cart. Not sure if this is from an undiscovered 800 prototype or B&C just converted the 5200 version to run on the 800 (although the code should do that automatically). 5200 versions ------------------ 1/26/84 3/15/84 ?/??/84 (final version) 8-bit versions ----------------- 6/14/84 ?/??/84 (final version) Super Pac Man (1-26-84).bin Super Pac Man (3-15-84).bin Super Pac Man Final (5200).bin Super Pac-Man (6-14-84).bin Super Pac-Man (800 Repro).bin Super Pac Man Final (400-800).bin Super Pac Man Final (5200).bin 3 1 Quote Link to comment Share on other sites More sharing options...
Rybags Posted April 15, 2023 Share Posted April 15, 2023 No time to look ATM but... To me it doesn't make a lot of sense for a game to do this - Antic is fixed location but GTIA and Pokey can appear anywhere. And the OS Ram based locations are very different. That aside the major differences are that 5200 only has the 16K Ram and allows 32K contiguous cart addresses, and the controller + switch reading is totally different. If it was me developing a game and I was worried about it working on both systems along the way, I'd just use conditional assembly to allow generating code for one or the other. The alternative would be seperate routines as well as some level of indirection when talking to GTIA and Pokey. Doing this essentially turns 4 cycle stores into ones that take more cycles which in a DLI situation especially isn't desirable. 1 Quote Link to comment Share on other sites More sharing options...
Tempest Posted April 15, 2023 Author Share Posted April 15, 2023 I believe you're right and I was misunderstanding something. I think the code can be COMPILED for either system, not that the code auto-detects the system. 1 Quote Link to comment Share on other sites More sharing options...
Tempest Posted April 15, 2023 Author Share Posted April 15, 2023 Has anyone been able to trigger the easter egg in either the final version or the 6-14 (800) version? According to this page you just have to reset the game after clearing a level (when it's flashing) but when I tried it in various emulators it wasn't working. http://donhodges.com/super_pacman_easter_egg.htm Quote Link to comment Share on other sites More sharing options...
_The Doctor__ Posted April 15, 2023 Share Posted April 15, 2023 20 hours ago, Tempest said: Thought I'd post this here as well since I'm not sure how many programmers will see it in the prototype forum. A recent conversation about a Super Pac-Man repro cart got me wondering about the history behind all the prototype versions of this game. I know development was done on the 5200, but that the code was programmed so that it would auto-detect the type of system it was running on (5200 or 800) and configure itself appropriately. This little fact makes it harder to pinpoint the different versions of the game. Normally a game that was developed on either the 5200 or 800 wouldn't be ported to the other system until all development was done (why port WIP code?), but since Super Pac-Man can auto-configure itself this means a WIP 5200 version would run on the 800 if burned onto a 8-bit eprom board. I know of two different confirmed 5200 protos and one confirmed 8-bit proto. There's also the final version of the game the @Dutchman2000 found. I don't know whether to count this as a 5200 proto or an 8-bit proto. I would normally say it should be a 5200 proto since that was the original target system, but since it was found on a disk (I believe it was anyway) that would point towards it being an 8-bit proto. I'd guess that Landon added the bug fix and final touches to the 8-bit version since development for the 5200 must have been cancelled by that point (my 8-bit proto is dated 6/14) but since it auto configures itself it will also happily run on a 5200. I have a rom for it labeled 5200 Final that seems to test differently. That doesn't make sense... Does anyone want to do a deeper dive into these roms and see if we can piece together the development history? For example, I always thought that the scrolling instructions and easter egg were added at the same time as the bonus timer fix, but the 6/14/84 (8-bit) version has the scrolling instructions and easter egg (I think, I can't trigger it with the emulator) but the bonus timer is still time based instead of being based off of how much of the screen you cleared. I'm also attaching a rom for the 800 that came from a reproduction cart (I believe B&C sold these years ago). It appears to be the earlier 3/15/84 (5200) version but on an 8-bit cart. Not sure if this is from an undiscovered 800 prototype or B&C just converted the 5200 version to run on the 800 (although the code should do that automatically). 5200 versions ------------------ 1/26/84 3/15/84 ?/??/84 (final version) 8-bit versions ----------------- 6/14/84 ?/??/84 (final version) Super Pac Man (1-26-84).bin 16 kB · 1 download Super Pac Man (3-15-84).bin 16 kB · 1 download Super Pac Man Final (5200).bin 16 kB · 1 download Super Pac-Man (6-14-84).bin 16 kB · 1 download Super Pac-Man (800 Repro).bin 16 kB · 0 downloads Super Pac Man Final (400-800).bin 16 kB · 2 downloads Super Pac Man Final (5200).bin 16 kB · 1 download getting that weird contains a virus or malicious blah blah warning on some of these... is this part of the weird appended numbers the forum seems to do? Quote Link to comment Share on other sites More sharing options...
+x=usr(1536) Posted April 15, 2023 Share Posted April 15, 2023 1 hour ago, Tempest said: Has anyone been able to trigger the easter egg in either the final version or the 6-14 (800) version? According to this page you just have to reset the game after clearing a level (when it's flashing) but when I tried it in various emulators it wasn't working. http://donhodges.com/super_pacman_easter_egg.htm I just got it to work in the final version on my 2-port 5200, but getting the timing right can be tricky. If I'm understanding the commentary in Don Hodges' description correctly, you have to press either * or # on a yellow flash of the maze after completing the level; I finally got it to work by pressing #. Not sure if this is the only key that actually activates the easter egg, if that particular controller's * key is starting to flake out, or my timing really just wasn't spot-on (which I suspect is the case), but it does work. Quote Link to comment Share on other sites More sharing options...
Tempest Posted April 15, 2023 Author Share Posted April 15, 2023 Ok I spent some time this morning and I think I figured it all out. The original console as I said was the 5200. That explains why the earliest version only appears as a 5200 prototype (1/26/84). This version supposedly contains a bug that makes it so sometimes all the doors don't open once all the keys are eaten. I've never seen this myself however, so if someone could verify this I'd appreciate it. It may also have some other minor differences I missed, I really need to look it over again. The 3/15 version is what we thought was the final version for many years. It supposedly fixed the key bug but it has the timer bug where the bonus timer is based on a certain period of time rather than how much of the board you've cleared. It's also missing the scrolling instructions and the easter egg. I believe this version is what B&C used to make the repro for the Atari 800. It's possible that there was a prototype for the 400/800 of this version, but I've never seen it and since it wasn't the final code it would be odd to do so. However since the code could be made to compile for either system it's possible. The final versions for both the 800 and 5200 were compiled from code from a Vax backup tape and they were compiled with the easter egg option enabled. I was told that the easter egg code had to be enabled during the compile and it defaulted to off. I can get the code to work in both of these versions. Reset doesn't seem to work, only option or select (# or *). The 6/14 version for the 8-bit is really the final version but without the easter egg code enabled. The 6/14 date must be when the ROM was burned because Landon said he finished the game up in Spring so that would mean late March or early April. 1 Quote Link to comment Share on other sites More sharing options...
Rybags Posted April 16, 2023 Share Posted April 16, 2023 Tried on the computer in Altirra with no success using a savestate with 1 object left to eat. I didn't try to get it on yellow though - you press Option or Select but the animation still continues and it returns to the menu when it otherwise would have started the next level. Quote Link to comment Share on other sites More sharing options...
Tempest Posted April 16, 2023 Author Share Posted April 16, 2023 10 hours ago, Rybags said: Tried on the computer in Altirra with no success using a savestate with 1 object left to eat. I didn't try to get it on yellow though - you press Option or Select but the animation still continues and it returns to the menu when it otherwise would have started the next level. Yep it's got to be during the yellow part of the flashing. 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.