Zilog z80 to Motorola 6809 Transcode – Part 019 – You can try it, if you want…

Hello,

First things first, just so I don’t get anyone telling me.  At this point Pac Man is slow about 1/3rd the speed of the original arcade machine.  The cutscenes need to be fixed and there is no sound…  Other then that it does play 100% true to the original arcade machine.

I’m at the point where I have to re-write a lot of the way the Pac Man code relates to it’s own screen hardware in order to speed the game up and hopefully get it working at 100% speed.  Maybe even add sound if I can get it running fast enough.  It’s more for education purposes then for game play at this point as it is too slow (about 1/3rd real speed) to actual play for fun in it’s current state (unless you run the CoCo3 and the game from a fast emulator).  After this point the video code will change a lot and probably won’t relate to the original hardware so I figure the commented source code that I have at this point will be more useful to anyone who wants to learn how these old arcade games worked.  Then a future final version that I’ll make available, if I get it up to speed.

To get it working and to make the copyright holders happy,  you must have the rights to the original ROMs just like using MAME to actually play this game, even on the CoCo 3.  It won’t play unless you copy the ROM file PACMAN.5E to the floppy disk.  

Here is what you need to do to try out the game:

1) – Copy the disk image Disk1.dsk file to a real floppy using your favourite disk image tool

2) – Copy the PACMAN.5E ROM file to the floppy

After copying the ROM file and you type DIR you the disk should look like this:

Screen Shot 2017-03-08 at 4.35.10 PM

3) – Type RUN”PACMAN and hit Enter

If you get an NE Error it’s because you didn’t copy the PACMAN.5E file to the disk.  I’m sure taking a look at the PACMAN.BAS file will help.

You should see the loading screen:Screen Shot 2017-03-08 at 4.52.14 PM

Then the Startup / Option selection screen:Screen Shot 2017-03-08 at 4.52.49 PMFrom this screen use the arrow keys to change the options, other then selecting RGB/Composite these are the same as changing the DIP switch settings on a real Pac Man arcade machine.

From here press the Space Bar to start the Game, then hit 5 to insert a coin.  Press 1 to start a one player game or 2 to start a two player game.  Use the arrow keys to move Pac Man around.  Sorry no joystick support, as I don’t have a joystick for my CoCo 3.

Special Keys: 

A – Force scrolling to the top of the game screen

Z – Force scrolling to the bottom of the game screen

L – Skip the current level (this is built into the original Pac Man code for testing purposes)

A few things about this software:

The resolution of the real Pac Man hardware is 256×288, with the screen rotated 90 degrees.  So the play field is 288×256, the CoCo 3 hardware can use a maximum of 320×225 with 16 colours so it can’t show the full screen at one time without scaling the screen pixels.  Since this is a translation of Pac Man and I wanted the experience to look as close as possible to the real machine I decided that scrolling the screen vertically is the best option.  The game shows most of the maze at all times and if Pac Man is on the bottom half of the screen then it scrolls down.  If Pac Man is on the top half it scrolls up.  It only scrolls as much as it needs to show the maze.  If you want to see the top of the screen where the points are shown then press the A key.  If you want to see the bottom of the screen to see what level you are on press the Z key.

Also included with the Disk1.dsk floppy image is my commented 6809 source code.  I’ve documented a lot of the code while transcoding the z80 code to the 6809 and also found a lot of commented code on the internet that is included.  So this is a really good resource if someone wants to learn how these old arcade games from the 80’s worked.

Here is the link

I hope others find it useful,

Glen Hewlett

This entry was posted in CoCo Programming. Bookmark the permalink.

Leave a comment