[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Propterm-based software for Console IO board



Hi Philippe

I think in some ways I may be the original author of the code though it is hard to tell anymore and I adapted the code from Vince Briel's Pocket Term and I got ideas from the propeller forums as well.  Any ways I think it is great what you have done.  My question is have you implemented ANSI escape sequences fully?  I plan on using this code on the console I/O board as well as the original board that I designed for N8VEM ECB which I think the S100 board was somewhat modeled after.  I need to also implement the alternate character set for curses as well.  The monitor I have been working on for the 68XXX boards uses curses for it's display and I would like to support the propeller board on the S100-68K, mini-68K and KISS-68030 ECB boards, and the Gryphon 68030 board.  I am trying to keep the code in sync across all 4 boards going forward.   Code works great on serial terminal that supports xterm or ansi escape sequences.  I will probably try to look at the code of this upcoming long holiday weekend.

Dave

On Tuesday, June 30, 2015 at 12:58:52 PM UTC-5, Philippe Elie wrote:
Hi Folks,

I finally had some time to improve the Console IO code, based on Propterm. Main features are :
- ANSI support
- color support (800x600 VGA output, each character has its own foreground / background color coded as 2 bits per R/G/B channel)
- 0x07 (bell) code implemented

Propterm is written in a modular way, ie. most of the modifications consist in the replacement of the code managing the RS232/USB interface by the S100IO.spin code that implements the interface with the S100 bus. Basically, it implements in assembly the code written in Spin in the original ConsoleIO code and reads from/writes to the input/output buffers when data from the bus is received or the keyboard is pressed. In CP/M, color can be changed, screen can be cleared, etc using Escape sequences. I patched Wordstar 3.0 as per the indications found on http://jefftranter.blogspot.fr/2014/03/wordstar-30-on-briel-altair-8800.html (I attached the patched WS.COM for your convenience). Also added CLS.COM as find it useful to get this command which is included in MSDOS. Turbo Pascal 3.01A works perfectly.

I also modified John's 8086 BIOS to add the following :
- support  of Get Cursor function (INT10h, function 03)
- correct row/column starting at 1 so FDISK displays correctly
- support of ClearScreen, using ANSI code (instead of scrolling lines)

I attached the source (please note that a 64K EPROM is necessary, as I had to locate the additional code at 0000, while John's code starts at 8000. I can probably optimize things so it can fit into the original 32K) Turbo Pascal 1.0 for DOS works OK but scrolling is not perfect as apparently TP manages scrolling for a 25-line terminal while the screen is actually 50 lines. BASICA starts, displays OK but does not read commands. Same for GWBASIC. Turbo Basic does not even display. I suspect that those programs access the CGA board directly (memory mapped), in which case I fear this may be quite hard to have them work correctly on the Propeller board. I was thinking of adapting the Propeller driver to display pixel graphics, but considering the above limitations under MSDOS, not sure if this is worh it...

Your thoughts and advice will be welcome ! 

BTW, I could not reach the author of the Propterm code unfortunately. Hopefully, there is no issue with my attempts to reuse and adapt this code to the ConsoleIO board as the source code can be freely downloaded, please let me know if you feel otherwise.

cheers
Philippe