Tuesday, June 17, 2014

C65GS begins to run real software, sort of.

Over the last couple of days with the help of Max, I have identified and fixed some PLA/MMU bugs for C64 mode.  These bugs were stopping anything that touched $01 from working.  With those bugs fixed, the machine is now able to run some simple software.

Turbo assembler now works 100%, which makes it easier to write and run little programs for testing other hardware features.

Also, some games, like Lemmings and Wizball, are showing signs of running, but with various graphics problems.

Bouldermark is now able to run, too, although with somewhat garbled display.  So I was finally able to see how the machine compares to Chameleon and SCPU in that benchmark.  This is interesting to me, since I know that SynthMark64 is not that representative.

Here is a quick clip of it running.

Note that the raster splits are happening on the wrong rasters.  This is a problem common to all software on the C65GS right now because the display is 1248 pixels high, to be exactly 4x PAL.  But the default resolution is 5x pixels so that the top and bottom borders aren't huge.  This means that I need to make $D012 not count monotonically, so that it can advance faster in the top border, so that it can match the VIC-II raster numbers exactly once it reaches the main display.  Then in the bottom border it can speed up again so that all PAL raster lines exist.

 Back to the point, here is the result: 14,380.  This is only slightly ahead of the latest revision of the Chameleon64, despite the C65GS being about twice as fast when measured using SynthMark64. So the C65GS remains marginally the fastest C64 option, but of course the performance is still subject to change as I finish implementing the many missing features.


  1. Any plans to make an NTSC version, or would it be too difficult to change easily?

    1. Do you mean with 60Hz display? If so it is already 60Hz display due to the requirements of modern monitors. In terms of cycles per raster, this is not a problem either, at least at 48MHz, where you have hundreds of cycles per raster.


    2. I assumed because you mentioned PAL raster lines that it was compatible only with PAL software. I've read some articles about some PAL games being tied to raster interrupts that aren't compatible with NTSC (or vice versa) because of the timing, especially some music routines and graphics in the borders.

    3. So it is really a hybrid of PAL and NTSC. It is 60Hz, because modern monitors won't do 50Hz, but I have made sure that it has the full number of raster lines required for PAL, so that PAL software won't get stuck forever waiting for a raster interrupt that will never come. So hopefully it will work reasonably with both PAL and NTSC software, although music may be 60/50 speed compared to on a real PAL machine.