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

Propterm-based software for Console IO board



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

Attachment: Propterm Console IO.zip
Description: Zip archive

Attachment: 8086.a86
Description: Binary data

Attachment: CLS.zip
Description: Zip archive

Attachment: WS.zip
Description: Zip archive