[Date Prev][Date Next][Subject Prev][Subject Next][ Date Index][ Subject Index]

Tame shell to DOS fix



Does anyone out there using Tame have a problem with the screen not
refreshing properly after returning from shelling out to DOS? It's probably
only me, but I have this fix, in case anyone can use it.
This goes in one of the many, scattered Tame setting files. For me, it goes
in XyWrite.App.Tam, apparently in either of the two places it appears on my
system: in Editor's directory and/or in Program Files/Tame 6.0

/Conwatch
  Str="^"
  Row=0
  Col=101
  OnShow=(SendInput MenuExecute="D L")
That's a Tame macro that puts the carat character in an out-out-of-the-way spot (here, on the CMline in column 101 (0-relative). If you are using an 80-column screen, that would be: Col=79.
Then in any program that shells to DOS, I have the program call this U2
frame, which puts the carat there, waits a bit, then erases it (if you
don't erase it, it will repeat the re-load of all settings every
half-second or so, for as long as the carat is in that position):

XPLeNCODE v2.0 (ENCODE.EXE)
b-gin [UNTITLED]
{123}{123}5hbdos{125}{125} Sept. 30, 2016--now that I have the
 Tame macro working with ^ cmline header, at column 101, I'm g
oing to take all dos handling into here[cr|lf]{002}[GH_][LB_]{<}
SX111,{<}VA$P.{>}{>}{<}SX111,{<}VA|111{>}{>};*;[cr|lf]{<}SX112
,101-{<}PV111{>}{>}{<}CUa,112{>}[CR_]{<}LBa{>}^[DO_][FF_][BX_]
p [Q2_][RC_]{002} [cr|lf]
-nd
XPLeNCODE
Again, you need to adjust the code to put in the right number of CursorRights (function CR) added in for your screen width. I used the "permanent" memory s/g's 111 and 112 only because I don't want to interfere with any s/g's that are in my XPL programs. Feel free to change the s/g numbers.

So, in pseudo-code, a call to DOS would be handled this way:

BX dos/nv/x/z /c cmd /c foo.exeQ2
JM 2.hbdosQ2
If you have more than one shelling to DOS in an XPL program, you need the JM 2.hbdosQ2 only after the last one, unless you want to see the screen fixed on intermediate stages.

--Harry