msx as vt100 terminal?

By blake

Supporter (12)

Аватар пользователя blake

01-06-2021, 21:48

Hello all,

During the 70s and 80s, the DEC VT100 terminals were very popular. Even today, they are still useful, when connected to e.g. a linux server. Nowadays, every macOS, Linux or Windows computer can emulate these VT100 by opening a terminal application. Was there anything like that for MSX(2), software or hardware, so that these machines could work inside a network or via serial interface as a VT100 text terminal?

I have seen once a modem for MSX, but that is not really the same.

Для того, чтобы оставить комментарий, необходимо регистрация или !login

By rolandve

Master (254)

Аватар пользователя rolandve

01-06-2021, 22:05

Not that I know of. In the MSX days it was more or less Modem and ANSI. MSX-DOS supports some ANSI codes but that is limited because the graphics capabilities of MSX did not support color per character for example. You would have too write you're own screen driver for that, which uses a graphical screen as text mode.

By Manuel

Ascended (18092)

Аватар пользователя Manuel

01-06-2021, 22:35

I've logged into UNIX systems with my MSX and modem and set the terminal to vt52. That worked fine.

By blake

Supporter (12)

Аватар пользователя blake

02-06-2021, 23:54

Can it be emulated with openmsx to try it out?

By Manuel

Ascended (18092)

Аватар пользователя Manuel

03-06-2021, 08:37

What exactly do you mean? Emulate which hardware?

By ducasp

Champion (455)

Аватар пользователя ducasp

03-06-2021, 18:38

blake wrote:

Hello all,

During the 70s and 80s, the DEC VT100 terminals were very popular. Even today, they are still useful, when connected to e.g. a linux server. Nowadays, every macOS, Linux or Windows computer can emulate these VT100 by opening a terminal application. Was there anything like that for MSX(2), software or hardware, so that these machines could work inside a network or via serial interface as a VT100 text terminal?

I have seen once a modem for MSX, but that is not really the same.

My Telnet client ( https://github.com/ducasp/MSX-Development/releases/tag/TELNE... ) is a great way to connect to Linux Machines, they work fine once they detect MSX is reporting as ANSI terminal (as long as you use MSX2 or better, for MSX1 it reports as dumb terminal and you can use VT-52 at most) and works with colors and text positioning and all you might need. It works with any UNAPI adapter and you can emulate Obsonet on Bluemsx (but you need Windows):

https://www.msx.org/forum/msx-talk/emulation/bluemsx-emulati...

That telnet client even has a version that works directly on a UART that is 16550 compatible sitting at 0x80 to 0x86 addresses, and that could be easily re-worked to use different UARTs and different speeds or to use fossil driver (there was a version of it that used Fossil if you look at the history). Source code is available at:

https://github.com/ducasp/MSX-Development/tree/master/UNAPI/...

Unfortunately changing that client to support serial ports or fossil driver with different devices/speeds is not something I'm able to do as I do not have any other serial interface than Andres Ortiz BaDCaT, and Serial Port emulation is really lacking on both Open MSX and Blue MSX, so as I have no means to test, it is impossible to change for those different targets, but perhaps someone can pick-up the code and add support to different serial hardware. ;)

This is a video of that client connecting to a Linux machine using Obsonet:
https://www.youtube.com/watch?v=KLkg-Aw59aM

By bsittler

Master (243)

Аватар пользователя bsittler

03-06-2021, 19:26

ANSI telnet also works well from GR8NET on MSX2 but in that case it might be more a question of "is it still just MSX?" because the GR8NET device is really quite powerful

By ducasp

Champion (455)

Аватар пользователя ducasp

03-06-2021, 20:41

bsittler wrote:

ANSI telnet also works well from GR8NET on MSX2 but in that case it might be more a question of "is it still just MSX?" because the GR8NET device is really quite powerful

The telnet client and ANSI color rendering on GR8NET uses, as far as I know, the same base code I use on my telnet client, it came from original code made by Tobias Keizer (Sonic Aka.T). So it is really MSX doing the renderin. Toby allowed me to publish his original work:

https://github.com/ducasp/MSX-Development/tree/master/ANSI-DRV

And I've made quite a few tweaks and added a lot new features and commands and made it a sdcc library, also published:

https://github.com/ducasp/MSX-Development/tree/master/SDCC/M...

Can't say how much Eugeny evolved the ANSI engine on his software though, I don't have a GR8NET to check, so I don't know if he has added the same command set I've added along with Piter Punk to get it rendering perfectly as a Linux terminal as well. Hope so, that is quite cool feature, but if he didn't, as gr8net is unapi compliant, my telnet client can be used as well.

By bsittler

Master (243)

Аватар пользователя bsittler

04-06-2021, 03:38

Agreed and understood, the "is it still just MSX?" in that case is more about the networking stack than the terminal emulation since IIUC a lot of the networking is offloaded to the cartridge. I consider it MSX myself (along with OCM, V999x, Playsoniq, modern huge memory mappers, Nextor, flash storage, and networking adapters for instance) but I understand that a stricter view like "only original consumer-targeted commercial hardware part of an MSX standard from 198x-199x" would exclude it and still make some sense as a definition. Something like "living MSX" vs. "historical MSX"

The GR8NET version works quite well at any rate Smile

And the standalone client works well on GR8NET too, I installed via msxhub and am happy with it

By gdx

Enlighted (4642)

Аватар пользователя gdx

04-06-2021, 10:13

bsittler wrote:

ANSI telnet also works well from GR8NET on MSX2 but in that case it might be more a question of "is it still just MSX?" because the GR8NET device is really quite powerful

MSX computers are very expandable. GR8NET is just a combo of several devices. There are standard sound expansions, a standard memory mapper and a network interface. It includes also other devices but the MSX standard doesn't prohibit adding other devices in the cartridges.

By ducasp

Champion (455)

Аватар пользователя ducasp

07-06-2021, 14:15

bsittler wrote:

Agreed and understood, the "is it still just MSX?" in that case is more about the networking stack than the terminal emulation since IIUC a lot of the networking is offloaded to the cartridge. I consider it MSX myself (along with OCM, V999x, Playsoniq, modern huge memory mappers, Nextor, flash storage, and networking adapters for instance) but I understand that a stricter view like "only original consumer-targeted commercial hardware part of an MSX standard from 198x-199x" would exclude it and still make some sense as a definition. Something like "living MSX" vs. "historical MSX"

The GR8NET version works quite well at any rate Smile

And the standalone client works well on GR8NET too, I installed via msxhub and am happy with it

I think that any adapter made nowadays (exception made for Obsonet, that relies on Z80 to do the TCP/IP stack) should have TCP/IP accelerated. Main reason is that today you can get a microcontroller like ESP 8266 that does it all and a lot more for a couple of dollars or less. Just move UNAPI to the adapter itself and leave the MSX side just forwarding the UNAPI function and its parameters and returning the response from the adapter. As UNAPI is a synchronous API, that is quite easy to do.

GR8NET built-in Telnet surely is... GR8 Cool If not for it, my Telnet client would mostly be using jANSI and not being as fast and as complete as it is today (jANSI source code is available and I've even tweaked it a little bit for what I needed, but Toby's code is much more easier to work with).

Somehow, I've found about Toby's fast ANSI rendering code used by Carlos de Santa Ana Turbo Pascal Telnet Client for internestor lite through other means, had I a GR8NET and had I read its manual before, I would have seen about it where Eugeny say thanks for them to allowing him to use their software as a starting point for GR8NET Telnet client... Tongue But that wild ride using jANSI and even tweaking it a bit surely was nice for me, learned a lot during that process Cool .