Apple-1 Emulation Project: ACI emulation and a new custom file format.
Sept 25, 2025 • Programming
Lastest developments with HoneyCrisp, my APPLE-1 emulator!
Read →
So, I ended up doing something pretty darn cool last night....
I wrote my own file format for my APPLE-1 emulator, HoneyCrisp, replacing my previous loading method.
WHY?!?
Originally, I was using .bin (binary) files to load programs into memory, allowing them to be ran from WOZMON...there was one major issue with this approach though. With the BIN files, they only contain raw hexadecimal bytes....with no memory address scope to specify where the emulator should load those bytes. As a temporary work-around, I made a rigged patch that would allow the USER to manually specify the starting address of the program...
Clearly, this isn't the most friendly approach. An average person would need help loading programs if I stuck with that method.
SO, to make it more user friendly, I wrote a new, HoneyCrisp specific file format, that has context surrounding the program's original hex bytes...in other words, the .hc format pre-includes the starting address so the emulator can go "Hey, there's an address. I'll load the bytes to that address!"...Making it to where a user can load any .hc formatted program into the HoneyCrisp Emulator, and instantly have their program loaded into memory, and ready to be ran!
Overall, now with the new .hc file format, a user can literally select the program they wanna load, and boom. It's ready to be ran.
A prototype of the Apple Cassette Interface emulator can be seen here. Obviously I've improved it since this video: APPLE-1 Emulator, HoneyCrisp | Program Loader Prototype