Shop OBEX P1 Docs P2 Docs Learn Events
CoggyTerm 2.0d: Terminal w/VT100 emulation — Parallax Forums

CoggyTerm 2.0d: Terminal w/VT100 emulation

Oldbitcollector (Jeff)Oldbitcollector (Jeff) Posts: 8,091
edited 2013-01-02 22:17 in Propeller 1
This project is being renamed by request of an author who has previously
committed this name to software in his manuscript.


Henceforth this program shall be called: CoggyTerm

CoggyTerm will be moved from this thread to OBEX, and renamed officially.

Best of Luck to Oliver Bailey on his Propeller Book!!!


I'm thinking that VT100 emulation shouldn't be too much of an issue, so
I'm dusting off PropCOMM for a long overdue upgrade.

Attached is an ASCII and basic VT100 terminal using AiGeneric.
and improved VT100 terminal for VGA.

The VT100 terminal work is in final stages. (most bugs swatted!)

TV version:
At the moment properly displays most colors, and does not display too many raw codes.
All other VT100 codes are being worked out with the VGA versions.

VGA version:
The colors have been dropped due to lack of support in the driver at the moment.
Most positioning controls work fine. Wordstar & WORM works.
Add [noparse][[/noparse]F12] feature to toggle cursor arrows: Number keys/Wordstar Ctrl

VGA w/PDOS:
This version includes mini version of PropDOS (VGA) which can be dropped into with [noparse][[/noparse]F10]
Iincludes Xmodem upload/download file transfer.
It is intended for use with Propeller-CP/M combinations to provide file access to both micros.
{Pictures of this setup are here.}
All we need now is a Propbased compiler. [noparse]:)[/noparse]

OBC

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
New to the Propeller?

Visit the: The Propeller Pages @ Warranty Void.

Post Edited (Oldbitcollector) : 4/6/2009 2:06:41 PM GMT
«1

Comments

  • Cluso99Cluso99 Posts: 18,069
    edited 2008-12-25 01:14
    I would not have thought that you would need to a complete VT100 implementation. A subset should be OK for what is probably required. This is not that difficult. I wrote other screen emulations to use VT100 terminals many years ago. smile.gif

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Prop Tools under Development or Completed (Index)
    http://forums.parallax.com/showthread.php?p=753439

    cruising][noparse][[/noparse]url=http://www.bluemagic.biz]cruising[noparse][[/noparse]/url][/url]

    This is a [noparse][[/noparse]b]bold[noparse][[/noparse]/b] test.
  • Oldbitcollector (Jeff)Oldbitcollector (Jeff) Posts: 8,091
    edited 2008-12-25 01:18
    Update posted, some BASIC VT100 codes now work.

    OBC

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    New to the Propeller?

    Check out: Protoboard Introduction , Propeller Cookbook 1.4 & Software Index
    Updates to the Cookbook are now posted to: Propeller.warrantyvoid.us
    Got an SD card connected? - PropDOS
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2008-12-26 07:50
    Amazing progress already!

    Re the post on the N8VEM site regarding the serial pins, I don't think it really matters.

    I suspect the hardware is just the standard demo board, plus two pins going through a max3232. Keep things simple!

    4800 baud - yes I have built boards and started slow and once it works, up the baud rate. I once had to go back to 300 baud to find a bug.
  • Oldbitcollector (Jeff)Oldbitcollector (Jeff) Posts: 8,091
    edited 2008-12-27 06:03
    I've added a VT100 VGA version.

    There are many bugs, but basic cursor and screen controls are working, *mostly*
    I'm still chasing some occasional noise issues, and am curious if this is just my setup.

    There are known issues with backspace and CTRL. (I haven't gotten there yet.)

    Note: I left the TV code (Aigeneric) in for debugging purposes. Raw codes
    are sent the TV, while the VGA side displays mostly what I want. -- I love the
    fact that Propeller supports multiple screens!)

    OBC

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    New to the Propeller?

    Check out: Protoboard Introduction , Propeller Cookbook 1.4 & Software Index
    Updates to the Cookbook are now posted to: Propeller.warrantyvoid.us
    Got an SD card connected? - PropDOS

  • Oldbitcollector (Jeff)Oldbitcollector (Jeff) Posts: 8,091
    edited 2008-12-27 18:37
    I've noticed many downloads of the code from the first thread.

    Can anyone tell me if they have experienced the occasional noisy
    communication issue while using either of the terminals? I'm still
    trying to run than issue down.

    Thanks!
    OBC

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    New to the Propeller?

    Check out: Protoboard Introduction , Propeller Cookbook 1.4 & Software Index
    Updates to the Cookbook are now posted to: Propeller.warrantyvoid.us
    Got an SD card connected? - PropDOS
  • Oldbitcollector (Jeff)Oldbitcollector (Jeff) Posts: 8,091
    edited 2008-12-28 02:19
    Updated propCOMM2_VGA.zip {top thread}

    Many bug fixes, surprised it worked at all.

    The following codes are implemented:

    Esc[noparse][[/noparse]J "clear screen"
    Esc[noparse][[/noparse]ValueB "cursor down"
    Esc[noparse][[/noparse]ValueA "cursor up"
    [noparse][[/noparse]H "home cursor" (compatible with ;f)
    Esc[noparse][[/noparse]Line;ColumnH "move cursor to x,y"

    Other codes are properly ignored not to clutter the display.

    OBC

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    New to the Propeller?

    Check out: Protoboard Introduction , Propeller Cookbook 1.4 & Software Index
    Updates to the Cookbook are now posted to: Propeller.warrantyvoid.us
    Got an SD card connected? - PropDOS
  • jazzedjazzed Posts: 11,803
    edited 2008-12-28 18:46
    Now do the reverse [noparse]:)[/noparse] Make a spin object that emulates TV_Text or VGA_Text on a VT100.
    Of course, there are other previously established though non-vt100-portable ways to do this.
    Happy Holidays.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
  • Oldbitcollector (Jeff)Oldbitcollector (Jeff) Posts: 8,091
    edited 2008-12-29 03:35
    Updated to propCOMM2_VGA {top thread}

    added [noparse][[/noparse]K and [noparse][[/noparse]J controls.
    Backspace works (mostly)
    extra CR bug removed
    terminal color section added

    OBC

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    New to the Propeller?

    Check out: Protoboard Introduction , Propeller Cookbook 1.4 & Software Index
    Updates to the Cookbook are now posted to: Propeller.warrantyvoid.us
    Got an SD card connected? - PropDOS
  • Oldbitcollector (Jeff)Oldbitcollector (Jeff) Posts: 8,091
    edited 2009-01-07 04:38
    Finally got propCOMM VGA (VT100) emulation tested under it's intended target this evening.
    A CP/M board running CP/M 2.2 hooked to the Propeller. BASIC VT100 emulation works
    as intended. We might even be able to use Wordstar as an onboard editor for Propeller
    files. All we need is some sort of compiler.

    I'll be adding Raymans Xmodem over the weekend so it will support file transfer.
    Also there is a color VT100 version in the works.

    I got dropped characters at 38400, but is working perfectly at 9600baud.
    The transmission errors appear to have vanished. Must have been my linux box.

    OBC

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    New to the Propeller?

    Check out: Protoboard Introduction , Propeller Cookbook 1.4 & Software Index
    Updates to the Cookbook are now posted to: Propeller.warrantyvoid.us
    Got an SD card connected? - PropDOS

    Post Edited (Oldbitcollector) : 1/7/2009 4:51:40 AM GMT
  • heaterheater Posts: 3,370
    edited 2009-01-07 09:46
    That's great !

    Any luck running the WORM game or WordMaster (WM.COM) editor that use VT100 ?

    Love to see the pictures and screen shots as I have zero hardware to try this at the mo.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    For me, the past is not over yet.
  • Oldbitcollector (Jeff)Oldbitcollector (Jeff) Posts: 8,091
    edited 2009-01-07 14:52
    Wordstar works mostly. I need to implement cursor keys and scrolling.

    I haven't found WORM yet. Sounds like a good program for testing.

    I'm thinking of expanding this to include a type of PropDOS shell in the bottom
    to which you can toggle from one micro to the other.

    OBC

    Here's some really poor pics. Only had my daughters camera handy.
    picasaweb.google.com/jeffledger/PropellerN8VEMCPMSetup#

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    New to the Propeller?

    Check out: Protoboard Introduction , Propeller Cookbook 1.4 & Software Index
    Updates to the Cookbook are now posted to: Propeller.warrantyvoid.us
    Got an SD card connected? - PropDOS

    Post Edited (Oldbitcollector) : 1/7/2009 3:17:09 PM GMT
  • heaterheater Posts: 3,370
    edited 2009-01-07 15:25
    Fantastic !

    Attached is WORM.COM

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    For me, the past is not over yet.
  • Oldbitcollector (Jeff)Oldbitcollector (Jeff) Posts: 8,091
    edited 2009-01-09 03:39
    Update posted tonight which fixes the extra CR issue.
    Resulting in WORM working perfectly in propCOMM now. [noparse]:)[/noparse]

    As of this post Wordstar works find except scrolling and backspace.
    {see top thread for updated version of VGA}

    The backspace bug in the video driver which is starting to
    drive me to hair pulling, so at present backspace sends the proper
    character, but doesn't display it. If someone sees the issue, speak up.

    As far as I've been able to tell cursor keys weren't implemented in VT100?
    Am I wrong on this? If this is the case, I will implement a mode switch
    to have the cursor keys either duplicate the numbers from the numpad, or
    send the proper control commands for movement in Wordstar. --Comments?

    OBC

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    New to the Propeller?

    Check out: Protoboard Introduction , Propeller Cookbook 1.4 & Software Index
    Updates to the Cookbook are now posted to: Propeller.warrantyvoid.us
    Got an SD card connected? - PropDOS
  • heaterheater Posts: 3,370
    edited 2009-01-09 08:52
    OBC, This is great. How about a WORM screen shot?

    I'm not sure what you mean by "As far as I've been able to tell cursor keys weren't implemented in VT100?"

    This picture shows a VT100 terminal and for sure it has cursor keys.www.columbia.edu/acis/history/vt100.html and this gives the codes www.termsys.demon.co.uk/vtansi.htm

    There is a VT100 test program here invisible-island.net/vttest/vttest.html

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    For me, the past is not over yet.
  • Oldbitcollector (Jeff)Oldbitcollector (Jeff) Posts: 8,091
    edited 2009-01-09 14:43
    @heater,

    Thanks for posting that VT100 data! I'll review it tonight.

    I added the cursor-numberkeys translation in my working copy last night
    so I could run worm with cursor controls. It works perfectly, with the exception
    of jumping columns at one point. <GRIN> a silly bug I'll have to chase down.

    I still have my composite monitor showing me all the codes. There is a lot
    of data being pumped to play WORM. I'm curious if any of the old-timers tongue.gif
    remember if WORM cause any system slowdown in the day?

    I'll post a screen shot tonight.

    OBC

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    New to the Propeller?

    Check out: Protoboard Introduction , Propeller Cookbook 1.4 & Software Index
    Updates to the Cookbook are now posted to: Propeller.warrantyvoid.us
    Got an SD card connected? - PropDOS
  • heaterheater Posts: 3,370
    edited 2009-01-09 14:54
    What do you mean by system slow down? Apart from WORM running there is no system to slow down is there?

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    For me, the past is not over yet.
  • Oldbitcollector (Jeff)Oldbitcollector (Jeff) Posts: 8,091
    edited 2009-01-09 14:57
    What happened in business situations when more than one terminal was running WORM?

    Did other users notice a slowdown?

    OBC

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    New to the Propeller?

    Check out: Protoboard Introduction , Propeller Cookbook 1.4 & Software Index
    Updates to the Cookbook are now posted to: Propeller.warrantyvoid.us
    Got an SD card connected? - PropDOS
  • heaterheater Posts: 3,370
    edited 2009-01-09 15:19
    Now you've really got me. We are talking in the context of CP/M here, so only one terminal, one user. Unless we include MP/M the multi user version (has anyone ever seen that running? - Note to self: must implement RAM bank switching in PropAltair some time.)

    Of course two copies of a program running would execute at half speed each, but as we are talking serial terminals each with it's own line at a fairly low data rate I suspect WORM is waiting on the line a lot and the users would not notice any difference.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    For me, the past is not over yet.
  • Oldbitcollector (Jeff)Oldbitcollector (Jeff) Posts: 8,091
    edited 2009-01-10 03:02
    Added [noparse][[/noparse]F12] to toggle the cursor arrows between Numbers/Wordstar controls.

    @heater, added a photo of WORM to the picture site, thanks!

    Looks like I'm snowed in tomorrow so I'll have plenty of time to root the
    two issues that are plaguing me. [noparse]:)[/noparse]

    OBC

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    New to the Propeller?

    Check out: Protoboard Introduction , Propeller Cookbook 1.4 & Software Index
    Updates to the Cookbook are now posted to: Propeller.warrantyvoid.us
    Got an SD card connected? - PropDOS
  • Oldbitcollector (Jeff)Oldbitcollector (Jeff) Posts: 8,091
    edited 2009-01-10 18:59
    Added attributes for BOLD and REVERSE {top thread}
    Backspace fixed. (thanks Vince!)

    ^[noparse][[/noparse][noparse][[/noparse]1m
    ^[noparse][[/noparse][noparse][[/noparse]7m

    OBC

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    New to the Propeller?

    Check out: Protoboard Introduction , Propeller Cookbook 1.4 & Software Index
    Updates to the Cookbook are now posted to: Propeller.warrantyvoid.us
    Got an SD card connected? - PropDOS

    Post Edited (Oldbitcollector) : 1/10/2009 7:53:46 PM GMT
  • Oldbitcollector (Jeff)Oldbitcollector (Jeff) Posts: 8,091
    edited 2009-01-11 04:46
    Project forked. propCOMM2VGA_PDOS is a version of the VT100 terminal with a
    [noparse][[/noparse]F10] toggle allowing you to jump to a mini PropDOS (VGA) and back to the terminal.

    You'll get a P> prompt. Use help to see the included PropDOS commands.

    I've added Xmodem download from the serial connection. This is intended for for use
    with N8VEM and other CP/M connections which use the Xmodem protocol.
    The idea is to provide a way for documents/spin files to be created on Wordstar under CP/M
    and allow downloading of them to the Propeller for use.

    Anyone got some code for Xmodem upload?

    OBC

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    New to the Propeller?

    Check out: Protoboard Introduction , Propeller Cookbook 1.4 & Software Index
    Updates to the Cookbook are now posted to: Propeller.warrantyvoid.us
    Got an SD card connected? - PropDOS
  • heaterheater Posts: 3,370
    edited 2009-01-11 15:37
    Snowed in huh? Excellent [noparse]:)[/noparse]

    Whilst you're there I was just wondering....Any chance of implementing the VT100 "special graphics" character set which makes line drawing for forms etc possible? Upper Right Corner, etc etc. The Propeller ROM font contains many of these chars.

    See this document:vt100.net/docs/vt100-ug/table3-9.html

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    For me, the past is not over yet.
  • Oldbitcollector (Jeff)Oldbitcollector (Jeff) Posts: 8,091
    edited 2009-01-11 16:06
    @heater, looks doable. Any chance that you've got a program which uses this?

    OBC

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    New to the Propeller?

    Check out: Protoboard Introduction , Propeller Cookbook 1.4 & Software Index
    Updates to the Cookbook are now posted to: Propeller.warrantyvoid.us
    Got an SD card connected? - PropDOS
  • kwinnkwinn Posts: 8,697
    edited 2009-01-11 16:49
    Heater,
    I have only seen MP/M running at a computer show once, but I did use an operating system that was CPM compatible and allowed me to run four terminal sessions (each running a CPM program) at one time. The company was located in Ottawa Ontario and started with Q, but I don't recall the exact name. Quantum, Quark, or something along that vein.
    I will say that it was very nice to be able to run Supercalc and Magic Wand at the same time. I used them to do all the quotations, invoicing, and bookkeeping for several years, and really missed the ability to run them simultaneously when I switched over to a PC. PCDOS/MSDOS really wasn't much more than a slightly modified version of CPM so it was back to one program running at a time.
  • heaterheater Posts: 3,370
    edited 2009-01-11 19:10
    @OBC: Actually I don't have any line drawing programs as far as I know but I can't run a lot of stuff with my current 24K PropAltair system, the only CP/M I have, to find out.

    I did not have anything specific in mind, just thought it might be a very cool feature to have with minimal effort.

    However there are a bunch of VT100 graphics animation text files that you could send to PropComm that draw boxes, graphics and such here:vt100.net/animation/
    and a whole lot more here artscene.textfiles.com/vt100/
    and more www.ibiblio.org/pub/multimedia/animation/vt100-animation/

    I suspect a lot of the above examples use more VT100 features than you would like to spend time on but if just one of them came out sort of OK that would be fantastic.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    For me, the past is not over yet.
  • Oldbitcollector (Jeff)Oldbitcollector (Jeff) Posts: 8,091
    edited 2009-01-12 00:01
    @heater, sorry I haven't gotten to drawing controls, but Xmodem upload has been added.

    You can now download & upload from the Propeller.

    Be careful, I haven't added "failure" checks to the upload routine, *yet*
    Consider this version the "optimistic Xmodem" - It will be stabilized before it moves to it's own object.

    I've been transferring files back and forth between my Propeller and CP/M board without issue.

    OBC

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    New to the Propeller?

    Check out: Protoboard Introduction , Propeller Cookbook 1.4 & Software Index
    Updates to the Cookbook are now posted to: Propeller.warrantyvoid.us
    Got an SD card connected? - PropDOS
  • Oldbitcollector (Jeff)Oldbitcollector (Jeff) Posts: 8,091
    edited 2009-01-12 06:47
    Just a cosmetic update to make PDOS directories look like the CP/M directories.

    No other changes for the now.. Just picky stuff.

    OBC

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    New to the Propeller?

    Check out: Protoboard Introduction , Propeller Cookbook 1.4 & Software Index
    Updates to the Cookbook are now posted to: Propeller.warrantyvoid.us
    Got an SD card connected? - PropDOS

    Post Edited (Oldbitcollector) : 1/12/2009 3:32:21 PM GMT
  • heaterheater Posts: 3,370
    edited 2009-01-12 11:58
    Gosh, no need to be sorry, you're making excellent progress. No hurry for the tinsel.

    As far a I can tell the XMODEM protocol was always "optimistic".

    What are you using for XMODEM on the CP/M end, is it the original xmodem.com or some other prog?

    Does all this run on a standard Prop Demo board with SD card? I have to start building a new Prop board for it.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    For me, the past is not over yet.
  • Dr_AculaDr_Acula Posts: 5,484
    edited 2009-01-12 12:27
    The xmodem on the CP/M board is almost the original. Changed the in and out locations for talking to the uart
    MODDATP:.EQU 068H ; YOUR MODEM DATA IN PORT
    MODDATO:.EQU 068H ; YOUR MODEM DATA OUT PORT

    And MSEC has been decreased from 50000 to 25000 so it has a shorter delay between NAK checks, and is a bit quicker when waiting for the first packet send.

    I also ran it through a CP/M program to change all the opcodes to Z80 because I find them easier to understand.

    It runs at whatever baud rate the uart is set at during bootup, though this can be changed with some simple one line CP/M programs eg 9600.COM. At bootup it is 38400 baud which is reliable and means a download of all the wordstar files happens in under a minute.

    Some huge emails have gone back and forth, but just to summarise, I'm wondering about batch files for propdos?

    At present you can do things like ERA and DIR and XMODEM. If you can add SUBMIT myfile.bat (or myfile.sub), you can do a list of commands with one simple command. You might need to add a pause statement that can be included in the batch files, eg if you tell a board to do a program you might pause a bit before sending the next command. One of the features of xmodem is that it crashes if you are sending a file that already exists. Rather than try to change xmodem's internal code, send an ERA command first. Then a short pause to do it. (you are going to overwrite the file anyway).

    There may be a command you could add to indicate if the batch file is working internally on propdos, or "externally" by sending out those commands to whatever board is on the terminal.

    eg sending a group of files to an other board:
    OUTPUT ON REM sends out the text on the next line to the board on the serial port until an OUTPUT OFF is reached
    ERA FILE1
    OUTPUT OFF REM turn off output
    PAUSE 100 REM this is an internal command on the propeller - don't send out any text
    OUTPUT ON
    XMODEM R FILE1 REM tell the remote board to be ready to get a file
    OUTPUT OFF
    XMODEM S FILE1 REM run xmodem on the propeller to send the file
    OUTPUT ON REM send another file
    ERA FILE2
    OUTPUT OFF
    PAUSE 100
    OUTPUT ON
    XMODEM R FILE2
    OUTPUT OFF
    XMODEM S FILE2

    Post Edited (Dr_Acula (James Moxham)) : 1/12/2009 12:43:04 PM GMT
  • heaterheater Posts: 3,370
    edited 2009-01-12 14:17
    So let me get this straight. The XMODEM on the CP/M end has been modified to use the same serial port as the user console interface rather than some other modem serial port. Plus some timing tweak. PropComm then does XMODEM over the console port. Right ?

    If so I have to fix up an XMODEM to do likewise in PropAltair CP/M and include it on my CP/M disk image.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    For me, the past is not over yet.
Sign In or Register to comment.