Image Map Image Map
Page 2 of 4 FirstFirst 1234 LastLast
Results 11 to 20 of 32

Thread: VT52 vs VT100: differences?

  1. #11

    Default

    Quote Originally Posted by Chuck(G) View Post
    I'm confused--and I've implemented both VT52 and VT100 firmware in terminals. VT100 is much more involved. You could probably code a VT52 protocol in a day. Not so much for ANSI/VT100.
    Indeed much simpler. The VT100 is implemented using an 8080 CPU and several custom LSI IC to do plenty of the video processing. The VT52 is almost SSI and MSI only (there is a LSI UART). The VT52 has 1024 bytes of microcode with a very simplistic 8 bit TTL CPU that do everything; process key presses, decoding ESC sequences etc. A disassembly of the VT52 microcode and other VT52 info that I have gathered can be found here: http://www.datormuseum.se/home/dec-vt5x

  2. #12

    Default

    Quote Originally Posted by bqt View Post
    Of course not. Because nano will then try to control your terminal as if it were a VT52. But your terminal don't suddenly become a VT52 because of this.
    Yeah, that's really confusing in my head. Nano use libncurses (it's dynamically linked), and ncurses should consider the "TERM" env variable. Perhaps ncursed doesn't implement vt52, hence it doesn't know how to operate.

    Dunno, but even "top" and "vi" go nut with export TERM=v52. There is something I miss ...

  3. #13

    Default

    Quote Originally Posted by bqt View Post
    There is none. The ESC key sends just an ESC.
    Which means you can "fake" the uparrow key by pressing ESC [ A, for example. Although you'll probably be off on the timing. And of course, if you enable application keys, the uparrow will send a different sequence (ESC O A).
    what does happen if I send "0x1b" "0x20" (ESC followed by space)?

  4. #14

    Default

    umm, dunno, but I think that if this document represents the minimal implementation for a vt100, then it can be synthesized with a small and simple finite state machine.

  5. #15

    Default

    guys, look here. It goes even more confusing now.

    The "toe" utility is part of sys-libs/ncurses, it lists entries in the ncurses terminal database and it shows the terminfo definitions on the current system by reading information from /usr/share/terminfo

    Code:
    rxvt-256color   rxvt 2.7.9 with xterm 256-colors
    rxvt-unicode-256color   rxvt-unicode terminal with 256 colors (X Window System)
    rxvt-unicode    rxvt-unicode terminal (X Window System)
    rxvt            rxvt terminal emulator (X Window System)
    screen          VT 100/ANSI X3.64 virtual terminal
    screen-256color GNU Screen with 256 colors
    screen.xterm-256color   GNU Screen with xterm using 256 colors
    xterm-color     generic color xterm
    xterm-256color  xterm with 256 colors
    xterm           xterm terminal emulator (X Window System)
    linux           linux console
    dumb            80-column dumb tty
    vt100           dec vt100 (w/advanced video)
    vt220           dec vt220
    vt52            dec vt52
    vt102           dec vt102
    ansi            ansi/pc-term compatible with color

    dec vt52 is in this list: d'oh! (facepalm)

  6. #16

    Default

    If ncurses claims to support VT52 but things don't work in your terminal when you tell it to go with VT52, then one of three things must be the case:

    • ncurses isn't listening to you for some reason.
    • ncurses/termcap support for VT52 is not well-implemented.
    • Your terminal or terminal emulator's VT52 mode is not well-implemented.

    Regarding point #1, I notice that you keep mentioning setting TERM=v52 and not TERM=vt52 as one might assume looking at the ncurses list. Are you sure you're setting TERM correctly to begin with?
    Computers: Amiga 1200, DEC VAXStation 4000/60, DEC MicroPDP-11/73
    Synthesizers: Roland JX-10/SH-09/MT-32/D-50, Yamaha DX7-II/V50/TX7/TG33/FB-01, Korg MS-20 Mini/ARP Odyssey/DW-8000/X5DR, Ensoniq SQ-80, E-mu Proteus/2, Moog Satellite, Oberheim SEM
    "'Legacy code' often differs from its suggested alternative by actually working and scaling." - Bjarne Stroustrup

  7. #17

    Default

    Quote Originally Posted by ivelegacy View Post
    Dunno, but even "top" and "vi" go nut with export TERM=v52. There is something I miss ...
    typo:
    Dunno, but even "top" and "vi" go nut with export TERM=vt52.
    Last edited by ivelegacy; January 31st, 2020 at 08:01 AM.

  8. #18

    Default

    PuTTY does not support any VT52 emulation. It's written in its doc.

    MobaXterm is a tabbed SSH client for Windows that "should" operate various VT terminals ranges from VT100 ANSI, VT100 in VT52 mode, but I am not sure it really supports VT52. I have just tried even over Mobaxterm, export TERM=VT52 does not work properly with { nano, vi, top }
    Last edited by ivelegacy; January 31st, 2020 at 08:17 AM.

  9. #19
    Join Date
    May 2011
    Location
    Outer Mongolia
    Posts
    2,027

    Default

    Quote Originally Posted by ivelegacy View Post
    typo:
    Dunno, but even "top" and "vi" go nut with export TERM=vt52.
    I'm still kind of confused what you're expecting to happen. I tested myself with xterm, which specifically does support vt52 emulation, and vi, top, etc, all work fine with TERM=vt52 as long as xterm is started with the appropriate "-ti vt52" switch to trigger its underlying stream handler to vt52 mode instead of its native 'xterm' mode. Note of course if you start an xterm with the -ti switch but omit the "-tn vt52" switch that separately sets the environment variable you'll *also* get trashed output from ncurses-based software because it'll try using xterm control codes on the underlying vt52 cursor handler.

    Setting the "TERM" environment on a native Linux console window doesn't change *anything* about its cursor handling; Linux "console" is essentially a mostly-complete approximation/fusion of vt102/ANSI and that doesn't automatically change when you reset the TERM variable. TERM is used by software running inside the environment to dictate what codes it *outputs* to the terminal. If you really want a text terminal that handles vt52 if you can't find a terminal emulator that already does it you'll have to write one to act as a filter/translator that presents a vt52 TTY to child processes and either translates vt52 directly to vt100 or translates it using the curses library. (The latter would be better because then you'd inherit some degree of output device independence.) Python has a pty module that could probably be used to make a trivial vt52 filter, but that's just one of umpteen million possible approaches.
    My Retro-computing YouTube Channel (updates... eventually?): Paleozoic PCs

  10. #20
    Join Date
    Sep 2019
    Location
    Zurich, CH
    Posts
    108

    Default

    Quote Originally Posted by ivelegacy View Post
    Yeah, that's really confusing in my head. Nano use libncurses (it's dynamically linked), and ncurses should consider the "TERM" env variable. Perhaps ncursed doesn't implement vt52, hence it doesn't know how to operate.

    Dunno, but even "top" and "vi" go nut with export TERM=v52. There is something I miss ...
    Yes. You are missing that *your terminal* must also be a VT52. Every program will "go nut" if you just tell them that you have a VT52 when you don't. And "go nut" just means that all these programs are outputting escape sequences to control a VT52, which is exactly what they should be doing.

    The "go nut" is actually you, who are seeing the output, which is not doing what you expect. But it's not doing what you expect because you are running some terminal program which is not pretending to be a VT52, and thus will output "strange things".
    And your terminal program do not know, or care, about your TERM environment variable. The TERM environment variable is used by all your applications to tell them what terminal you have. It is not used by your terminal program. Your terminal program do not even have access to that TERM variable.

    Depending on environment and program, you might have some menu you could go into and select that your program should emulate a VT52.

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •