kapil@zarquon.uchicago.edu (Kapil Paranjape) (02/13/91)
In article <1991Feb11.073912.2517@midway.uchicago.edu> I wrote: > >I tried the Shoelace package out and it all worked fine on my >"generic" XT----except, winiboot. >........ >........ >In addition to other help could some kind soul mail me a uuencoded >partition sector for an XT hard disk? This could probably be patched to >re-set up my disk the way it was at least! I finally got a partition sector from somewhere, re-wrote the partition table info and got the hard disk booting again---but *not* with winiboot. Then I examined the two partition sector boot programs (A) the one that worked (B) the one created by winiboot. The major differences between the two were: 1. After making a copy of itself (both do that) (A) jumps to this copy while (B) hangs around in the old copy which leads to... 2. (A) calls int 13 ifor BIOS diskI/O in the normal way and does this three times (knock three times?) in case of error. B makes a fake int 13 call which by setting up the stack jumps back to the newly loaded boot sector. So what happens when there was an error in the read? Conclusion: Winiboot.x has a bug which won't manifest itself on disks which don't give read errors while reading just one sector---but does manifest itself on some poor old fashioned disks/slow machines :-(. In any case, there is no harm in checking for one teeny little error message when what you are doing is booting the entire system! I will shortly be posting my "corrected" version---once it works! Kapil Paranjape. e-mail: kapil@zaphod.uchicago.edu