PropTerm ANSI Terminal project
Shael
Posts: 17
About a year ago I started a project to develop an ANSI/TTY terminal using the Parallax Propeller Proto board. I recieved a lot of help from members of this forum in completing the project so I·would like to·make the project available to others.
The PropTerm ANSI Terminal supports the most commonly used ANSI control, escape, and sequence codes. The terminal will display all the printable ANSI characters (ANSI codes 32..127, 160..255). Each character cell has a 6 bit text color and a 6 bit background color (00RRGGBB). The default terminal software can be altered to support up to 100 characters on a line with up to 50 display lines. The font size is 8 pixels wide and 12 pixels height. Communication between the host and the terminal is handled by a Propeller chip COG reserved for that task. This allows the hardware data connection to the host to be changed without any changes to the terminal parser or the display rasterizer software.
The PropTerm prototype was built using Parallax's " Propeller Proto Board" and accessory kit. The only hardware added to the board was an RS232 driver, required support capacitors, and a DB9M connector. The terminal requires four propeller chip pin connections for the host RS232 interface; TX Data, RX DATA, RTS, and CTS. The first version of the software used an external serial eeprom connected to pins A0 and A1. Once I realized that there was a 64K serial eeprom on the Propeller Proto Board I changed the software to use the 32K of the on-board eeprom not used by the Propeller chip. The four pins used for serial communications are set in the "ComHelper.spin" project·file as constants.
The PropTerm has a built in setup dialog used to set the default terminal settings. To invoke the setup dialog press the WIN+F12 key combination. To exit the setup dialog without saving changes press the ESC key.
I have not had time to pack up all the documentation for the project. For now my personal web site has a number of usefull documents for this project www.shaels.net.
The PropTerm ANSI Terminal supports the most commonly used ANSI control, escape, and sequence codes. The terminal will display all the printable ANSI characters (ANSI codes 32..127, 160..255). Each character cell has a 6 bit text color and a 6 bit background color (00RRGGBB). The default terminal software can be altered to support up to 100 characters on a line with up to 50 display lines. The font size is 8 pixels wide and 12 pixels height. Communication between the host and the terminal is handled by a Propeller chip COG reserved for that task. This allows the hardware data connection to the host to be changed without any changes to the terminal parser or the display rasterizer software.
The PropTerm prototype was built using Parallax's " Propeller Proto Board" and accessory kit. The only hardware added to the board was an RS232 driver, required support capacitors, and a DB9M connector. The terminal requires four propeller chip pin connections for the host RS232 interface; TX Data, RX DATA, RTS, and CTS. The first version of the software used an external serial eeprom connected to pins A0 and A1. Once I realized that there was a 64K serial eeprom on the Propeller Proto Board I changed the software to use the 32K of the on-board eeprom not used by the Propeller chip. The four pins used for serial communications are set in the "ComHelper.spin" project·file as constants.
The PropTerm has a built in setup dialog used to set the default terminal settings. To invoke the setup dialog press the WIN+F12 key combination. To exit the setup dialog without saving changes press the ESC key.
I have not had time to pack up all the documentation for the project. For now my personal web site has a number of usefull documents for this project www.shaels.net.
Comments
PropTerm uses most of the memory and COGs available on the Propeller chip so you would need a second Propeller chip to drive the terminal as the project stands. To create a stand alone ANSI art display you could strip down the current project by removing the ComHelper.spin, FullSerialDuplex.spin, Keyboard.spin and then provide a new main spin object. The ANSI parser/rasterizer can work independently of the other spin objects. I would also remove support for the GetXY and ENQ commands as they are the only ANSI commands that generate a responce from the terminal. Depending on the size of the code to implement the SD/File system I think this would work without a lot of effort. I would also reduce the screen to 80 columns by 25 rows to make existing artwork display. Sounds like a good use for the project. One last note I included as many ANSI control sequences as would fit in the resources of the Propeller chip who knows which ANSI control sequences are used in·existing art work.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Links to other interesting threads:
· Home of the MultiBladeProps: TriBladeProp, SixBladeProp, website (Multiple propeller pcbs)
· Single Board Computer:·3 Propeller ICs·and a·TriBladeProp board (ZiCog Z80 Emulator)
· Prop Tools under Development or Completed (Index)
· Emulators: Micros eg Altair, and Terminals eg VT100 (Index)
· Search the Propeller forums (via Google)
My cruising website is: ·www.bluemagic.biz·· MultiBladeProp is: www.bluemagic.biz/cluso.htm
You can also test the ANSI sequences with a serial port or WX device and PUTTY.
https://forums.parallax.com/discussion/comment/1434744/#Comment_1434744