[comp.sys.laptops] Help: How to remove snow checking?

slack@cis.ksu.edu (Jim Slack) (03/15/91)

Could someone please tell me how to remove snow checking from programs? 

I have a Tandy 1100FD laptop (which I *love*, by the way) which uses a CGA
screen.  There is absolutely no flicker, and thus no reason for a program
to do snow checking for this machine.  (Some of the very early IBM PCs
with CGA cards used to flicker when characters were placed in screen
memory directly.  Current computers don't usually have this problem.)

Programs that do snow checking run extremely slowly on my laptop machine,
for some reason.  (Screen operations remind me of the days of 300
baud communications!)

Here is my approach to removal of snow checking:

First, I check if there is a command line switch or configuration option to 
turn off snow checking.  If so, the problem is solved.  Otherwise, I
roll up my sleeves and try to patch the program.  I load the program into
DEBUG, and look for the byte patterns BA 03 or DA 03.  These correspond
to the ports that give information about horizontal retrace (I think).
Often, I'll find these ports accessed with MOV DX,03BA or MOV DX,03DA.
If I find a tight loop around the instruction IN AX,DX, then I've got the
place to apply the patch.  I just jump around the loop.

I've just run across a program that does snow checking, but does not appear
to use the above method.  My next step was to search for all occurrences
of hex ED (the code for IN AX,DX).  I examined all such occurrences, but
could not find a tight loop around this instruction.

Do you have any suggestions on a next step?

------------
Reply to: slack@cis.ksu.edu