Reverse-Engineered GEOS 2.0 for C64 Source Code

The GEOS operating system managed to clone the Macintosh GUI on the Commodore 64, a computer with an 8 bit CPU and 64 KB of RAM. Based on Maciej Witkowiak's work, I created a reverse-engineered source version of the C64 GEOS 2.0 KERNAL for the cc65 compiler suite:

  • The source compiles into the exact same binary as shipped with GEOS 2.0.
  • The source is well-structured and split up into 31 source files.
  • Machine-specific code is marked up.
  • Copy protection/trap mechanisms can be disabled.
  • The build system makes sure binary layout requirements are met.

This makes the source a great starting point for

  • adding (optional) optimized code paths or features
  • integrating existing patches from various sources
  • integrating versions for other computers
  • porting it to different 6502-based computers

Just fork the project and send pull requests!

3 thoughts on “Reverse-Engineered GEOS 2.0 for C64 Source Code”

  1. True stuff. Great work man. I am not an expert in 6502 neither C64 architecture, but found this stuff very interesting. Let’s see if people evolve it.

    Keep the good work!

  2. Wow, I didn’t know you have the owner of this blog, though I read this since a while 🙂 I made a few changes in my fork (as you know already), most notably maybe (other than the somewhat normalized C65 related stuffs) using ca65 itself to construct the final “combined” image so it can be even controlled by what kind of driver to be included in the resulted image.


Leave a Comment