I have rewritten the Rainbow driver to use Z80SIO instead of Z80DART as well as hardware flow control.

Now at least, the mouse resets (ser_mouse.cpp -> routine: input_rts).


Then, unexpected bytes appear. Instead of the expected identifier ($4D = "M") i observe $3b (binary 0111011).

Parameters are 7,N,1, 1200 baud (set by Windows at startup for both directions).

Is my code correct?


Routines and statements added:


WRITE_LINE_MEMBER( rainbow_state::rs232_dcd_w )
WRITE_LINE_MEMBER( rainbow_state::rs232_dsr_w )
WRITE_LINE_MEMBER( rainbow_state::rs232_cts_w )
WRITE_LINE_MEMBER( rainbow_state::rs232_ri_w )

MCFG_RS232_DCD_HANDLER(WRITELINE(rainbow_state, rs232_dcd_w))
MCFG_RS232_DSR_HANDLER(WRITELINE(rainbow_state, rs232_dsr_w))
MCFG_RS232_CTS_HANDLER(WRITELINE(rainbow_state, rs232_cts_w))
MCFG_RS232_RI_HANDLER(WRITELINE(rainbow_state, rs232_ri_w))

I can also provide a ready-made CHD with Windows 1.x if somebody wants to test drive.

Thanks for having a look.

Last edited by Bavarese; 07/16/17 07:28 PM.