The 1980s were the heyday of the venerable Z80, a processor that found its way into innumerable home computers, industrial systems, and yes — arcade machines. However, not everyone had a Z80 based machine at home, and so sometimes porting is required. [Glen] is tackling this with a port of Pac Man to the Radio Shack Colour Computer 3.
The key to any good arcade port is authenticity – the game should feel as identical to the real thing as possible. The Atari 2600 port got this famously wrong. Porting to the Colour Computer 3 is easier in theory – with more RAM, a Motorola 6809 CPU running at a higher clock rate, and a more powerful graphics subsystem, fewer compromises need to be made to get the game to run at a playable speed.
The way [Glen] tackled the port is quite handy. [Glen] built a utility that would scrape a disassembled version of the original Pac Man Z80 code, look up the equivalent 6809 CPU instruction, and replace it, while placing the original Z80 code to the side as a comment. Having the original code sitting next to the ported instructions makes debugging much easier.
There was plenty of hand tweaking to be done, and special effort was made to make sure all the data the original code was looking for was accessible at the same addresses as before. There was also a lot of work involved in creating a sprite engine that would reliably display the game video at a playable frame rate.
Overall, the port is highly faithful to the original, with the game code being identical at the CPU level. [Glen] reports that the same patterns used on the arcade machine can be used to complete the mazes on the Colour Computer 3 version, and it faithfully recreates the Level 256 bug as well. It’s an impressive piece of work to create such an authentic port on a home computer from 1986.
For another classic port, but with the temporal vectors flipped, check out Portal 2 on the Apple II.
Video of gameplay but if you detest YT vids with unnecessary blathering, distracting overlays and dubbed background music you REALLY don’t want to click the link.
https://www.youtube.com/watch?v=p1sFduK9Bjo
As the creator of said video, I’d suggest anybody interested in seeing what the game looks like, please give it a click, if the blathering (aka commentary) and dubbed background music (aka value added audio) are a distraction, then mute the video, nothing I can do about the annoying? overlays, are you referring to the side bar? Anywho this is a great project, and it’s truly a technical marvel to see an original 80’s arcade game faithfully translated to an 80’s computer with completely different hardware and none of the existing graphics or sound chips that existed in the arcade machine. To hear an even longer interview with blathering and overlays with the author himself, Glen Hewlett, I also encourage you to click this link: https://youtu.be/p1sFduK9Bjo
I loved my CoCo3. I bought it after my CoCo2 was stolen. It had the enormous benefit of expanded memory (up to 128kb I believe, instead of 16) and a true RGB output (if you bought the proprietary monitor). You could run OS/9 on it, which was kinda Unix-ish (I toyed with it, but was still far too early in my development to get into it seriously). I did my first programming on my CoCo2, a text game engine a la Zork and a complete BBS system that ran on a single 360k floppy drive. One of my proudest achievements was a single-line program that would dump the graphics screen to a printer – tried submitting that to Rainbow Magazine for their 1-line Program challenge, but they never printed it.
What? Megabugs cartridge not good enough for you?
Beeeew! We Gotchya!
https://www.youtube.com/watch?v=wZIKyqZRlDc
I loved and despised the other TRS-80 fake-clone titles for game carts like microbes vs asteroids etc.
Oh wow! Memories coming back. I don’t remember the game but the name, Steve Bjork, that starting music, and even that “We;ve gotcha!” all came back to me instantly.
I LOVED Megabugs! In many ways it was better than (Ms)Pacman because there were some different strategies involved like leaving a scent trail to throw off the bugs. But the best was at the end of the game there was some crude speech synthesis and the bugs said “We got ya!”. My dad and I totally lost it when we heard speech for the first time coming from a computer (this was like 1981…).
Oh my god.
This was the main beast that I had. Loved it.
Did everything you could think of with it.
Best of all…………… When My wife (Girlfriend at the time.) was not working she would type in the programs for me out of the mag. when I was at work.
I even made a lunch box Coco when I was in the army. One of the things that was cool back then was, I ran the very first mobile computer system out in the field in the Canadian Armed Forces. Ah lets see that would of been 1983 – 1984.
I was in charge of 8 Osborn computers Maxed out to the hilt. I was a Field Engineer with 1 CER in BC.
The stories I could tell. But you know what I would have to do after. AH
Thanks
Now I can go and read the article.
This is truly a great project and an impressive feat to accomplish, there are a number of 8-bit games from Arcade machines to other systems of the era (Z-X Spectrum, BBC Micro, etc.) that have been faithfully _Transcoded_ to the 6809 processor on the CoCo 3. This is a word Glen Hewlett chose himself, “port” is a generic term that is applied to any project that ends up on a different platform, but a majority of “ports” are not literal translations of the original source code. The CoCo has several projects like the Arcade Space Invaders, the original arcade Donkey Kong (and a Remix) Knight’s Lore, the Apple II version of the original Lode Runner, now, the original Pac-MAn and more! The CoCo 3 “ports”, or more accurately transcoded programs have been translated, line-by-line from the original Z-80, 6502, etc., assembly code and written using the same version of that instruction for the CoCo’s Motorola 6809 CPU. On top of that, any audio/video hardware such as sprites, music, etc., need to be emulated in software as the CoCo has none of those things. The Color Computer barely got the respect or recognition it deserved in the 80’s, talented people are doing amazing things with it today. A longer interview with Glen can be found here: https://youtu.be/p1sFduK9Bjo I’d also invite you all to get a lit of tons of blogs and project sites going on for our beloved color computer at http://imacoconut.com
With Pacman running on a Z80 with 4K RAM and character-based graphics, the original machine is somewhat weaker than the Coco it’s running on. So a port to a machine launched a few years later isn’t a huge technical challenge for the hardware.
Direct porting though, opcode for opcode, is pretty clever. Probably the sort of thing you could only get away with on simple 8-bitters with no OS, or at least an OS you can ignore if you want to.
To be fair on 2600 Pac Man, the guy only had a few weeks to program it from scratch. Of course it sucked (though it still sold millions because it was Pac Man on the most popular console of the day). But there wasn’t much better could’ve been done, really. Getting the dots, and the maze, on screen at all involved abusing the hardware, making it do stuff if wasn’t invented for. Of course so did most later games. But it still took the amazing skill that so many 2600 games used, implementing stuff in code to make up for hardware that isn’t there.
http://atariage.com/forums/topic/229152-new-pacman-for-atari-2600
Given more time and support… but he wasn’t going to get more time and support, so that’s academic. You can find a video on youtube of Tod Frye being really enthusiastic about this rewrite.
Oh, and Ms Pac Man made up for the failure of Pac Man, greatly. Was very close to the original, which is a miracle if you know how awful and limited the 2600’s hardware is. Then Pac Man Jr, which was even better, a scrolling maze even!
Really when you see stuff on the 2600, it’s like 90% software, 10% hardware. Other computers are more like 50:50. The 2600’s hardware does NOTHING! You may as well have the CPU turning the TV’s electron beam on and off in software. It’s almost that bad. There’s 39 individual elements per screen line you can use to make pixels out of. Anything else, or even using them as they’re intended, requires pixel-perfect, opcode-perfect code, all the time. Every opcode of every machine-code game needs writing down on paper, with timing information written next to it, and the whole thing calculating, writing your code while you’re imagining the screen drawing microseconds at a time.
In flipping sane. Atari deserve a prize for creating a machine that can do so much with so little. Then taking back off them for it being such a sadistic piece of shit, designed to send programmers mad. The butthole who said programmers were no more important than the guy who puts the carts into the boxes really wants his face punching. 2600 programming is like doing origami macrame with your hands cuffed behind your back.
Pac Man had 256 levels???
I never made it past the second, and very seldom made it that far…