* Check that start bit persists for half a clock interval.
* Sample data bits mid-interval.
* Handle invalid stop bit as described in Zilog manual.
* Check parity and latch overrun and parity errors.
(nw) This fixes the issues with corrupt characters being typed on the
Kaypro. Synchronous modes are still broken. The channels are still
using device_serial_interface to transmit frames, but receiving is
handled entirely in the device class itself. Overruns still aren't
handled properly.
This might fix a MT but I don't know the number if it does.
Issue: dips where defined as "SW1" and conditional statements where looking for DSW1.
Also makes coinage into a DEFINE statement and uses PORT_INCLUDE & PORT_MODIFY for bigtwinb which only has 1 dipswitch deference.
Use "mame einstein -pipe tk02" to attach the 80 column device.
* Removed no longer needed einstei2 driver
* Added cursor rendering to the 80 column device
* Added support for the alternate character set (use dip switch to
change)
* Cleaned up and added save state support to the 80 column device
Kaypro 10 keyboard. [Vas Crabb, rfka01, TeamEurope]
(nw) This exposes other issues in MAME. Some incredibly poorly-written
code in the keyboard MCU depends on the fact that the T register is
updated during S4 then copied to A during S4 when mov a,t is executed.
If it doesn't see zero in this register when mov a,t is executed
immediately before the timer interrupt is taken, it hangs.
Really, the MCS-48 core needs to be re-written so it works at S-cycle
level (if not clock cycle leve), but for now I've worked around this
case in the least intrusive way possible.
This also exposes issues in the Z80DART code. The keyboard communicates
0.8% slower than the nominal 300 Baud. This works perfectly in real
life, but it causes occasional corrupted characters with MAME's
implementation, particularly if you hold a key down and let it repeat.
The Z80DART device needs to be fixed so it samples closer to the middle
of the bit intervals and re-aquires on each start bit.
Finally, I haven't hooked up the Kaypro's serial port Baud rate
genrators, or exposed the serial ports as slots. I'll leave that for
someone else to worry about.