From: Eric A. <eric@CoLi.Uni-SB.DE> - 2004-01-22 20:00:24
|
Hi, A20 problems? I may be repeating myself, but I recommend that XMS memory managers do a TEST whether the A20 switching has worked every time and do some extra WAITING if not. Some of our memory managers just have a delay loop, and as AT style switching is slow, you may have to configure a longer delay. Bad idea, most users will not think that far. I think that would be worth "wasting" 20 or more bytes of resident driver size for the sake of secure operation. (Most suggestions for XMS drivers first have to pass the evil "but the driver has to be VERY small in memory" barrier... My suggestion in return: Use JMP SHORT to the exit-from-call code of one-out-of-3 functions and save the space that would be needed for the exit-from- call code in two-out-of-3 functions that way... I think FDXMS already does use this trick, but HIMEM does not...) As far as I know, AT style switching will always work after testing it once and PS2 style switching will always work after testing it once, so you only have to decide on switching style (PS2 preferred) at driver load time. Later only timing should be a problem. DURING the initial test you (of course) must not wait infinitely for the switch to work because that may never happen (e.g. PS2 style never works on very old computers...). Hm. Already wrote too much. You get the idea anyway :-). PS: Did you know that FreeDOS is a VIRUS? Well, Trend ChipAway Virus Guard thinks so. It checksums the boot sector before booting and compares it to a list of known boot sectors, it seems! Older BIOS virus protection systems just block the BIOS call "write to sector 0/0/1", so THOSE will not complain if you wait with enabling them until AFTER SYSing your disk. In both protection variants, the alarm will be a popup text window with some "Virus!? Proceed? Y/N" style user interface. EXTRA experience from that: The KERNEL does not clear the extra lines in video RAM if you select an higher video mode in config sys! At least the extra lines (e.g. what the virus guard has backed up before poping up) will scroll into the visible area later that way (not really scroll, but "jump", when the visible area suddenly grows by the mode change). Eric. |