Converting APPLE-1 audio cassettes to HEX data: Help needed!

Hi everyone.

Whilst working on my APPLE-1 emulator, HoneyCrisp, (discussed here recently by Bobby Nijssen) 

for version 1.3.0, I had a realization---my emulator doesn't yet have the ability to load audio recordings of APPLE-1 software. Originally, in September of 2025, HoneyCrisp v1.0 had the ACI ROM fully intact and working, but not cassette emulation system to load audio data into the emulated RAM. I've been putting it off for months now, focusing on my custom file formats (.hc, .hcstate) and conventional formats usually used for the loading of Integer BASIC programs (.bas, .txt) but now, with pratically everything fleshed out, it leaves me pondering how I could accurately implement a virtual cassette emulation system (and the ACI emulation) into this upcoming HoneyCrisp release. The idea is that a user would be able to take a WAV recording of an APPLE-1 program. (like the ones hosted on the Internet Archive here,  on this internet archive page) load it into an emulated cassette recorder/player, (or something of the like) and use the ACI accordingly to load the data into, say memory addresses E000-EFFF, as one would on a replica APPLE-1 or the original hardware.

 

All that to say, quite honestly, I'm not too experienced with audio to data conversion...especially in the capacity that I want to do it in. I really need some help if possible. Anything would be greatly appriciated. HoneyCrisp's source code is available on my github, linked below if you'd like to help.

The HoneyCrisp Emulator | JS APPLE-1 Emulator

Thanks,

Landon

 

 

Comments

mmphosis's picture

I like the .hc file format. I believe that it is already an established format for the Apple-1 and Apple II monitor. There are variations. For example, a Hello World program that I wrote some time ago ...

280:A2 C BD 8B 2 20 EF FF CA D0 F7 60 8D C4 CC D2 CF D7 A0 CF CC CC C5 C8

In "strict" .hc format I assume it would need to be ...

280

:A2 C BD 8B 2 20 EF FF CA D0 F7 60 8D C4 CC D2 CF D7 A0 CF CC CC C5 C8

But it can also be entered as ...

280:

:A2 C BD 8B 2 20 EF FF CA D0 F7 60 8D C4 CC D2 CF D7 A0 CF CC CC C5 C8

 

landonsmith's picture

Thank you! 

I'm aware that there are several variations of the hex standard for the APPLE-1/Apple II...however, thought it would be nice to have a more centralized format that can be the standard specifically for my emulator. It has definitely made it easier on me to develop! :-)

 

Cheers,

Landon