Right -- the three accesses you described result from this code
Code:
ACIA_init
LDA #$00
STA ACIAstatus ; Soft reset
LDA #$0B
STA ACIAcommand ; Parity disabled, IRQ disabled
LDA #$1E
STA ACIAcontrol ; Set output for 8-N-1 9600
Next question, I'd say, is this. Is the ACIA actually outputting any serial data? (Maybe it is, but something is amiss with the terminal/whatever which you're using to receive and display that data.) So, when the program starts is there any activity on the TXD pin?
There are various options, but here's what I recommend. If you have a logic probe, put it on the TXD pin and see if there's activity when you boot. (Watch carefully, as the min_mon greeting message takes just fraction of a second to transmit.)
If you don't have a logic probe then it's better to arrange for the greeting message to get transmitted again and again endlessly (see altered code below). After booting into the altered code you should, using a voltmeter, be able to observe a change on the TXD pin.
Code:
; now do the signon message, Y = $00 here
LAB_signon
LDA LAB_mess,Y ; get byte from sign on message
BEQ LAB_nokey ; exit loop if done
JSR V_OUTP ; output character
INY ; increment index
BNE LAB_signon ; loop, branch always
LAB_nokey
LDY #0 ;<----- new/altered
JMP LAB_signon ;<----- new/altered
Hopefully after this you'll know what direction to take for further investigation. I have a hunch the problem lies with the receiving device. (Are the handshake lines set to the appropriate levels?) But if I'm wrong it won't be the first time.
_________________
In 1988 my 65C02 got six new registers and 44 new full-speed instructions!
https://laughtonelectronics.com/Arcana/ ... mmary.html