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