pdewacht / oberon-risc-emu

Emulator for the Oberon RISC machine
273 stars 51 forks source link

Add raw serial support on Windows #20

Closed schierlm closed 4 years ago

schierlm commented 4 years ago

On Windows, named pipes work differently from POSIX. They are bidirectional, but one side needs to create it and the other needs to open it (similar to sockets).

Therefore, the semantics for --serial-in and --serial-out are slightly different: Only one of them can be used at the same time. When --serial-in is used, a pipe is created, and when --serial-out is used, the emulator opens the pipe/device.

If the device name does not start with a backslash, \\.\pipe\ is prepended, so you can use --serial-in mypipe instead of --serial-in \\.\pipe\mypipe. In case the backslash is present, the device name is used as is, so you should be able to use other devices like \\.\com4 as well (not tested due to lack of physical serial ports).

Tested with both PuTTY and another emulator at the other end of the pipe.