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.