This has to be the worst case of feature creep in history, I wanted to hack an emulator for one specific project (Testing a Dan ][ card tool!) and couldn't find something I liked enough -- so, I wrote my own! So here it is, MIT licence. Tons of stuff work, a few bits needs work, but it's perfectly usable as is already!
Funny thing is, I haven't even started writing the Dan][ tool I wanted, but I no longer have an excuse now -- procastination at it's best!
I know there are many out there, but none of them were ticking my fancy, so I decide to write my own. To start with it was "How hard can it be really?" then it snowballed as more and more things were fixed & added. It's been shelved for a while because well, it lacked documentation, headers, licence and stuff, so I spent some time cleaning it up for release.
One primary reason for this project was that linapple (or -pie) codebase is really horrible. It dates back from 2000's or before, with loads of Windows crud leftover, some SDL crud added, the audio just doesn't really work, and overall if you want to hack around the codebase, it's pretty dreadful.
I wanted something:
- Modern, Clean code, modular -- in the spirit of simavr, usable as a library.
- Made for linux. In C. With a Makefile. None of the trendy bloatware.
- Small, Fast.
- Minimal dependencies.
- No gigantic config file.
- I didn't need II+ or unenhanced IIe, just 65c02 //e.
- 65c02 //e with 128K of ram.
- Support all known graphic modes:
- Double-hires in mono and color, with automatic switch
- All the other modes in color/mono
- Color, Green, Amber rendering
- Simulated 'scanlines' to make it look vintage
- Speaker audio. ALSA For playback.
- Adds a small 'attack' filter when playing back to soften the often annoying 'click' of typical audio effects from the apple II.
- Mouse Card -- mouse isn't captured like in some other emulators.
- No Slot Clock
- Smartport DMA 'hard drive' card
- "Titan Accelerator //e" simulation, to turn on/off fast mode.
- Terence's J Boldt 1MB ROM card, also because I own a couple!
- Floppy Drive [more on that later]
- No dependencies (X11) OpenGL rendering, using Nuklear backend for UI