This web site exists to document my adventures in writing software emulators for old computer hardware. So far, I have completed (sort of) a Commodore PET emulation and am working on a Sinclair Spectrum emulation.
I recently had my attention drawn to the blog Main is Usually a Function which was discussing the art of creating quasicrystals as computer images using fairly simple rules. The blog in question uses Haskel to create a solution and rendered the result as an animated png. The author seems quite pleased he was able to … Continue reading Quasicrystals in Metal
Now I’ve mastered Metal (ha ha), I think it’s time to build an emulation that’s a little more complex. It’s time for the Commodore 64. Yay! Had some thoughts about how to do this. The extra challenges that I see are: the banked memory. I will need to be able to swap the RAM/ROM banks … Continue reading Time for a C64
In my last post, I discussed how I used Metal to render the PET screen instead of the higher level Cocoa APIs. I did the minimal amount of work to make the changes, so the program actually worked very inefficiently. The 6502 has no separate IO space so all peripheral control registers are mapped into … Continue reading Metal Addendum
I thought it was time to learn how to do programming using the GPU. On macOS, that means Metal. I started by following this tutorial. Once I got to about tutorial number 11, I started wondering if I could apply Metal to my emulators. I thought, it would be cool if all of the graphics … Continue reading Metal And Emulation