I think I see the error in RS232.LIB that causes this problem.
In spx_starttx(), it isn't checking for the 2-stop-bits flag before loading the byte to send. Later, in spx_isr(), it checks that flag and correctly uses SxLR_OFS instead of SxDR_OFS.
I don't have a system set up where I can test this code, but it *should* work. Just replace everything between .send and .exit in spx_starttx() of RS232.LIB with the following:
Code:
.send:
_READ_BIT_(SER_BIT_TWOSTOP)
jr z, .normal_stop
ioi ld (iy+SxLR_OFS), L ; send with an extra stop bit
jr .load_done
.normal_stop:
ioi ld (iy+SxDR_OFS), L ; normal send
.load_done:
.exit:
Please let me know if that works for you.