Great question. On the original Altair 680, the KCACR cassette interface was real hardware, exposed via specific memory-mapped I/O locations. Any program - BASIC, test utilities, or hand-written assembly could talk to it directly by reading and writing those addresses. That’s why the KCACR test program in the manual works, it’s exercising the hardware registers, not calling a BASIC routine.
In the current version of the emulator, cassette support is BASIC-specific only. The emulator does not yet implement a full KCACR hardware device or its memory-mapped registers. Rather, BASIC thinks it’s doing cassette I/O, but instead of talking to a memory-mapped KCACR interface with timing, status bits, and audio-style encoding, the emulator captures that data and performs file I/O directly.
At the moment, cassette support is more of a “BASIC convenience feature” than a true hardware emulation.
Implementing a true KCACR-compatible device (so any program can use cassette I/O exactly like the real machine) is something I’m actively thinking about for a future update. The emulator architecture is designed so that kind of hardware-accurate I/O can be added without breaking existing functionality.