• Please review our updated Terms and Rules here

VT05 terminal emulator available

kgober

Veteran Member
Joined
Mar 19, 2017
Messages
626
Location
New Jersey, USA
I've posted an open-source VT05 terminal emulator for Windows at https://github.com/kgober/VT05

It is a work in progress, but is completed enough to be usable. It supports connecting to a host over a serial port, via telnet, or a raw TCP connection. The raw TCP option is useful for connecting to a system running under an emulator such as SIMH.

I've made some effort to accurately reproduce the appearance of the display, including the lack of lower-case characters. For those unfamiliar with it, the VT05 was a very early ASCII CRT terminal, predating the venerable VT52. It is able to transmit and receive the full 7-bit ASCII character set, but is limited to displaying the uppercase-only "half ASCII" character set. It can display 20 rows of 72 characters.

If you are interested, I also have a VT52 terminal emulator available at https://github.com/kgober/VT52
 
Last edited:
I've run it, it looks great. May I suggest something for a future release? Everybody knows the VT05's beautiful 70s retro 'Star Trek' appearance. You could get a photo of the VT05 square on from the front (eg. like on Mattis' page http://www.datormuseum.se/peripherals/terminals/vt05), scale it to fit your terminal window where the screen is on the photo. Essentially, a cool border image around your working app. For bonus points, have a tiny bitmap for each key on the keyboard that depresses when you type.
 
The keyboard emulation as currently implemented doesn't actually match the keys that would be pressed on a real VT05. For example, "+" is shift-; on a VT05, rather than the more common shift-= used with typewriters, the VT52, and now the PC as well. Another example is "@", which is its own key on the VT05 but is typed as shift-2 on a PC keyboard. The VT05 keyboard layout does match the Teletype Model 33 fairly well, however, so it would be an excellent terminal for someone who was used to the TTY33 layout already. But the end result is the keys moving on-screen wouldn't match the keys you were actually pressing on your keyboard. I would find this annoying.

I considered simulating real VT05 key behavior, but decided to defer it until later because it was raising a lot of questions about the behavior of certain key combinations that I didn't have the answer for. Questions like "What is sent if you hold down CTRL while pressing RUB OUT?" I think there's a ROM on the keyboard PCB that holds the answers to these questions but I don't have a dump of it.

I've been working on improving the reproduction of the color of P4 phosphor, which had a bluish tint. I'll post a picture soon.
 
Last edited:
Sampling a random selection of google images for the VT05 with a colour picker I get the following RGB values, all which seem to have a more blueish component:

61,98,166
79,112,181
159,225,255
98,153,183
88,167,229
124,246,255

I've never seen a real VT05 in operation so I'm only going on what I see on the web. Your RGB font colour of 216,220,255 looks very white in comparison.
You could have the colour picker dialog pop up from a button on your settings which would allow this to be changed though.
 
You might also want to look at changing the background color to a more dark greenish tint as the screen wasn't exactly black. That might make the blueish tint more accurate as the contrast is lessened.
 
The existing 216,220,255 *is* very white, which is why I'm working on improving it. The next release will have a default of 196,220,255, which will be considered 85% brightness. Based on my research so far, it appears to me that an RGB monitor will not be able to reproduce the entire P4 color gamut, 85% is as high as you can go because beyond that, the blue signal gets clipped. 100% brightness works out to something like 230,256,300 which of course it outside the limits of 24-bit RGB.

Photographs on the web will appear unnaturally blue due to the difficulty of photographing light sources. I've used terminals with P4 phosphors before and I know they aren't actually as blue as those VT05 photos make them look.
 
The colour is P4, it's also in the model number of the CRT.
It is the greyish plastic in front of it which gives it a bit more contrast.
I could make a picture with a white A4 paper next to it as reference...
The text colour is white and certainly not as blue as it might look on some pictures.

The keyboard chip is a SMC KR2376-17, there is a nice datasheet about it.
But as I mentioned in the other topic, I could do some tests if you want.
IMG_20190430_181603.jpg

Even the VT05B seems not able to run at the full 2400 baud rate.
Control characters seem to need a bit more time. Text shows up nicely
at 2400 baud, but linefeed etc needs more time. When I run OS/8 at
2400 baud I get skipped characters at the beginning of a new line.
That is why I started this topic: http://www.vcfed.org/forum/showthread.php?69726-VT05-on-OS-8-gt-filler-characters

I'm afraid that there are not many people having experience with this problem...

A well built and documented emulator might be very useful on a VT05 replica.
I've been talking to Oscar about making a 3D scan of my terminal and use that
for replica purposes... But one thing is, as you mentioned, which keyboard to use...

So keep up the good work. And if it is appreciated by more people I can do
more tests like I did before on characters for you.

Regards, Roland
 
Last edited:
I've updated github with a new release, v1.0.0.1 which uses colors calculated using CIE chromaticity coordinates: x=0.275 y=0.290 (using Yxy color space). Brightness can now be adjusted in 20 steps (5% to 100%) and is used as the CIE Y coordinate after gamma correction.
 
Regarding the need for padding characters above 300 baud, my emulator doesn't do a great job simulating this. But it can offer you some help if you're trying to use a host system that doesn't support padding -- if you choose a baud rate of "Line Speed" in the Settings panel (F5) the emulator should never drop characters at all (even in situations where a real VT05 would have). If you are connecting via RS-232 you will still be able to specify the actual physical baud rate in the Connection panel (F6).
 
Updates are frequent when a project has my attention. I can't say how long this will last, but I've posted another new release.

This one has a more accurate reproduction of the terminal beep. Based on a study of the schematics it appears that the start and stop of a beep coincides exactly with the cursor blink cycle (resulting in a beep duration of 266 ms on a terminal using 60 Hz refresh). I was not able to tell whether the beep starts when the cursor becomes visible or when it vanishes, so the start of the beep might be 133 ms too early or too late, depending.

Because the margin beep can become quite annoying I've also added an option in the Settings panel (F5) to disable the margin bell, even though a real VT05 didn't allow this.
 
Another new VT05 release (two actually, but we may as well just skip to the latest).

I'm running out of steam so I think I may be done with VT05 updates for a while. The latest changes are mostly about improving the handling of telnet and raw TCP connections, notably displaying slightly better error messages on connection failures.

Now it's time to back-port some of these recent updates into the VT52 emulator.
 
Back
Top