| e8555c89 Andy McCall |
1 |
# RS232Raw Emulation Information |
| 2 |
|
| 3 |
This document describes the `rs232-raw` pluggable, which connects an |
| 4 |
emulated RS232 port to a host serial port. |
| 5 |
|
| 6 |
## Overview |
| 7 |
|
| 8 |
The `rs232-raw` RS232 pluggable forwards the RS232 traffic between an MSX |
| 9 |
device (UART) and a real serial port of the host operating system. It is the |
| 10 |
primary way to connect a real ESP32 (running the ESP32-UNAPI firmware) to |
| 11 |
openMSX, for instance through the SM-X WiFi device. |
| 12 |
|
| 13 |
The host serial port is selected with the `rs232-raw-port` setting (default |
| 14 |
`COM1` on Windows, `/dev/ttyS0` on Linux). |
| 15 |
|
| 16 |
## Tested RS232 devices |
| 17 |
|
| 18 |
The pluggable has been tested with the following RS232 devices: |
| 19 |
|
| 20 |
* I8251 UART (e.g. the MSXRS232 device) |
| 21 |
* SM-X UART (the SM-X WiFi device) |
| 22 |
* MSXRS232 device |
| 23 |
* SM-X WiFi device |
| 24 |
|
| 25 |
## Compatibility note |
| 26 |
|
| 27 |
The RS232Raw pluggable adjusts the serial port parameters (baud rate, data |
| 28 |
bits, stop bits, parity) when the emulated UART issues a speed or mode |
| 29 |
change. Other RS232 devices not listed above might need to be adapted to |
| 30 |
propagate UART speed updates to the pluggable; otherwise the serial port may |
| 31 |
operate at the wrong speed or with incorrect framing parameters. |
| 32 |
|
| 33 |
When in doubt, test with one of the verified devices first. |
| 34 |
|
| 35 |
## IMPORTANT |
| 36 |
|
| 37 |
This might not be time accurate, i.e.: hardware flow control might not work as |
| 38 |
expected. Nowadays most of the serial ports are USB converters, and there is a |
| 39 |
latency, so changes might be advertised later than when they happened, same when |
| 40 |
you set a signal line. This emulation exists only to allow use of software and |
| 41 |
hardware for evaluation, it should not be assumed that if an application runs |
| 42 |
with this emulation it will run on real hardware, if using for development, always |
| 43 |
validate on the real hardware. |