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.
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
More on the Generational Evolution Engine The generational evolution engine is a simple evolution engine that evolves things in generations. The basic algorithm is as follows: Create initial population Evaluate initial population while termination condition not met select parents of next generation evolve children from parents evaluate children The basics of the generational evolution engine … Continue reading Swiftvolution – Candidate Factories