[Coco] CoHR doesn't support cursor position
Ken H.
dragon.atv at gmail.com
Mon Feb 3 10:57:59 EST 2014
Hi,
The CoHR level1 51 column driver source has full support for escape
characters (GotoXY, cursor positions, underline on/off, reverse on/off etc).
For example DISPLAY 1B 41 X Y - move cursor to position X(0-50),
Y(0-23).
But this escape code feature has been broken in NitrOS9 for a long time
(did it ever work?)
I have investigated this problem, and the bug is actually is the VTIO
module.
VTIO does not pass the 1B escape code to CoHR, and instead generates a 246
(Not Ready) error.
The following 4 line patch to VTIO provides a fix for this problem.
Write ldb <V.NGChr,u are we in the process of getting parameters?
bne PrmHandl yes, go process
sta <V.WrChr,u save character to write
ldb V.51EscSeq,u **<<
ADD: In Escape sequence?
bcc GoCo
**<< ADD: Yes, send to COHR
cmpa #C$SPAC space or higher?
bcc GoCo yes, normal write
cmpa #$1B **<<
ADD: COHR Escape Code?
bcc GoCo
**<< ADD: Yes, send to COHR
cmpa #$1E escape sequence $1E or $1F?
The nice thing about this fix is that we can finally run Dynacalc in 51
columns mode on a level 1 CoCo.
The CoHR escape codes are based on the Dragon's GO51 display functions.
Therefore, Tandy's version of Dynacalc will not work, but the Dragon
version of Dynacalc (
http://archive.worldofdragon.org/archive/index.php?dir=Disks/Dragon/&file=Dragon%20Data%20Ltd%20-%20OS-9%20Dynacalc.zip)
works fine also on the CoCo.
Even better, the STYLOGRAPH word processor (also on the dragon archive)
also finally works with this patch!
AFAIK, Stylograph (arguably the best wp for OS9), isn't otherwise available
for the CoCo.
You do need a stripped down build of NitrOS9 to have enough free memory to
run these programs. I was able to run them with a minimal boot disk with
129 pages free.
As far as I could tell this fix doesn't break anything else, but before we
commit this change maybe someone else can test it out?
Cheers,
Ken
On Mon, Apr 15, 2013 at 8:41 PM, Luis Antoniosi (CoCoDemus) <
retrocanada76 at gmail.com> wrote:
> Hi,
>
> Why CoHR doesn't support home, cursors position and other terminal commands
> ? The only supported feature seem to be the the clear screen.
>
> It wouldn't be hard to implement them but I ask why it wasn't made before ?
> This kills completely its utility as no screen based program will ever run
> on it. I can't think why people would use CoHR if dynacalc doesn't run on
> it.
>
> Also, for CoVDG, it doesn't support line delete and insert 1F 30 and 1F 31.
> We could make better applications for them if they were all supported.
>
> I think that I going to patch them :)
>
> Felipe.
>
> --
> Long live the CoCo
>
> --
> Coco mailing list
> Coco at maltedmedia.com
> http://five.pairlist.net/mailman/listinfo/coco
>
More information about the Coco
mailing list