$C800 isn't the Videx — it's the shared expansion-ROM window
Detail for Part 3 — Apple Memory, Through Z-80 Eyes.
Brent caught a real overreach in the Z-80 disassembler devlog: the LD HL,$C800 instruction in 2.23’s CONOUT was claimed as direct evidence of Videx-aware code. It isn’t.
$C800-$CFFF on the Apple ][ is the shared expansion-ROM window. The hardware works like this: when a $Cn00-$CnFF slot ROM page is read, the slot card can also page its expansion ROM into the $C800-$CFFF region. That region is shared across all seven slots — only one slot’s expansion ROM is paged in at a time, decided by which slot ROM was last touched. The Videx Videoterm uses it for its 80-column VRAM. So does the Apple Super Serial Card. So does the Apple Mouse Card. So does the IIe 80-column card. So do most ProDOS-era block-device cards. Seeing LD HL,$C800 in the BIOS proves only that the code is targeting whatever card is currently paged in — not which card.
To prove Videx-specific, the BIOS would need to either:
- Explicitly page in the SoftCard-detected slot’s expansion ROM right before the
$C800write (a read of$Cn00for slot N, where N is whatever the slot scanner flagged with device code 6) - Do characteristic Videx hardware writes — programming the 6845 CRT controller via
$C0B0/$C0B1, or toggling the$CFFFROM-release switch - Reference Videx-specific data structures or character tables
None of those are in the disassembled CONOUT body. The CALL FB45 callee that follows the LD HL,$C800 is where the actual write to the expansion-ROM area happens; whether that code includes Videx-specific hardware writes is the next question.
So the corrected reading of CONOUT is: 2.23 has a code path that targets the expansion-ROM area (which any Pascal-1.1 card occupies). That’s still meaningful — it means the BIOS knows how to write to expansion-ROM-resident displays. But it isn’t proof the BIOS knows specifically about the Videx.
Three writeups updated to reflect this — the earlier devlog, the BIOS-partial devlog, the Z-80 disassembler tool entry. The lesson is broader than this one case (saved as feedback memory): don’t conflate accesses to shared Apple ][ address windows with knowledge of specific hardware. The same caveat applies to slot soft switches, slot ROMs themselves (their location proves the slot but not the card), and several other shared regions. Distinct evidence is needed in each case.
Status: error corrected across the writeups; lesson recorded; analysis priorities unchanged. Tracing the CALL FB45 callee remains the next concrete step — that’s where any Videx-pattern hardware writes would actually live, if they exist.