Hobbit1972: TxC was a stupid mistake on my part when I was doing the schematic. Apologies! Yes, there's no such pin. The missing pin on the schematic is DTRB, which is not connected. In case I got TxD and RxD the wrong way around, I've swapped them back and forth each time I've had a different test, but with no luck. Adding the capacitor with the crystal was in line with one of Garth's circuits in his primer. I haven't tried to see if I can read from the control register, though; that's a good idea and I'll try it out (although of course I lack any other source of output right now, other than address line hacks!)
Floobydust: It's a 3.3V cable, although it claims to be 5V compliant. In particular, it is this one:
https://www.adafruit.com/products/70. I've tested the transmit code in the SYMON simulator, and it worked fine there (slightly different ACIA address, although in fact it's mirrored in my design anyway). Here are the initialization and transmit parts of the code:
Code:
main
init_acia
lda #%00001011 ;No parity, no echo, no interrupt
sta ACIA_COMMAND
lda #%00011111 ;1 stop bit, 8 data bits, 19200 baud
sta ACIA_CONTROL
write
ldx #0
next_char
wait_txd_empty
lda ACIA_STATUS
and #$10
beq wait_txd_empty
lda text,x
beq pause
sta ACIA_DATA
inx
jmp next_char
(The rest of the code just implements a delay loop and then repeats the transmission.)