GaBuZoMeu wrote:
Could it be that the ACIA baud rate doubles when you double the system clock?
What is the baud rate when you initialize your virtual ACIA with $95 ?
The baud rate is set in the AVRuart and is set to 100 clock cycles per bit (500000), which is per example of embeddedmicro. So no 'real' baud setting, yet.
GaBuZoMeu wrote:
BTW: after
lda ACIAstatus
and #$02
there are only two possible results: 0 or 2
so continuing with
beq SerialOutWait
would save one instruction
It is actually in preparation for more tests of the ACIAstatus register in the future(?)
GaBuZoMeu wrote:
EDIT: typo
P.S.: Your code checks that TX is empty, then immediately issuing the next character. If for any reason (and somewhat unlikely) the AVR could not process the received characters quickly enough an overrun condition could occur.
If the AVR's buffer is full, tx_block should be high, which is a physical pin from the AVR to the FPGA