Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Real VT102 emulation with MAME (2020) (zork.net)
40 points by unleaded on June 8, 2024 | hide | past | favorite | 16 comments


The author mentions problems with flow control, but I'm fairly certain I got that working in MAME. If I remember correctly, you need to enable XON/XOFF in the VT102 configuration (it's one of the bits you can toggle on the SET-UP B page), and also enable it in MAME's Machine Configuration menu.

Also make sure your modem settings in MAME match the settings configured on the VT102. I have them both set to 19200 baud 8N1. I've just done a quick test now, and I can definitely make it through tests 1 and 2 in vttest without the output getting corrupted.

I should also mention that I've got the RS232 device set to null_modem (which is hooked up to a socat instance via MAME's bitbanger feature), rather than the pty configuration that they're using. I'm not sure if that could make a difference to the way the flow control works.


> To use a MAME-emulated VT102, you’ll need a couple of things:

> A copy of the VT102 firmware ROM

I've known for a long time that "terminal emulators" are software emulators of hardware terminals, but until now it never occurred to me that those hardware terminals might have still been largely software constructs.


Hardware terminals are emulators of teletypes. We used to call them "Glass Teletypes".

It's emulation all the way down.


All the DEC terminals used Intel 8-bit microprocessors, starting with the VT-100 (I think).


Using an Intel 8080 no less.

We squeezed computing out of the mainframe and into the terminal.


I've used something similar to get MAME's VT240 to talk to a WSL instance. Had to go dig up a forum post I wrote a few years back to find the exact commands.

On the WSL Linux side: socat -d -d exec:'bash -li',pty,stderr,setsid,sigint,sane TCP-LISTEN:11313,reuseaddr,fork

On the Windows side: .\mame.exe vt240 -window -host null_modem -bitb socket.10.0.0.2:11313


I’d connect this to a pi running pdp-11 emulation. Now you’re back in 1982 land.


Yes, exactly. Or if you don't have a pi handy maybe a couple of docker images to marry SIMH and MAME talking to each other.


Someone needs to hook an old card reader up to a pi.


> Unfortunately, the emulated VT102 is not connected through a real serial port, it’s connected through a PTY which (at least compared to what the VT102 expects) is basically infinitely fast.

I’ve thought before that you could have a couple of USB-to-RS232 adapters and connect them together?

What Linux needs is a real virtual serial driver. PTY isn’t it because it doesn’t fully emulate lower level aspects of RS-232 - it behaves differently from “connecting two RS-232 ports together”


Did they get graphics working? I think it would be the 125, at least, but the 100 line is complicated, IIRC.


They have a working VT240 which supports the Sixel, ReGIS, and Tektronix graphics protocols. They also have partially working VK100, which is a bit like a VT100 with some graphics support (I think just ReGIS). They don't have a working VT125 as far as I know.


That's lovely. Last time I checked the 240 was completely broken.


I couldn't find the ROMs for the 240. Any tips on that?


I do not miss working on the VT102. The keyboards were terrible.


Have they got an AT&T gnot terminal running?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: