Czerno
October 23rd, 2002, 23:25
Hi ! strange bug found to-day, whereby the divide-error vector in V86_mode IDT at (physical) 0 is corrupted :
Incredibly, with soft ICE loaded it reads D8CA:F9E instead of 00CA:F9E ! (00CA being the MS-DOS.SYS segment on systems with 1 HD...) . Byte 3 corrupted !
I noticed that first on a Win95 and found the exact same bug on a quite different Win 98 SE !! Are you guys having same problem ? Or is it my copy only ?
Of course once acknowledged it is rather easily corrected - but this bizarre trashed byte @00000003 raises suspicion that other places in memory could be damaged too and stay unnoticed untill... boom ! ( As far as the RM IDT is concerned, only vector zero is damaged at byte 3)
Looking fwd to your evidence - could this be a 'well known' problem?
--
Cz.
O.T: since the W95 system is 486-based, I coded a tiny time-fixer for SICE. Just a .com that will read the time from the CMOS clock using int 1A and rewrite it to BIOS (and DOS) using int 21, took me five minutes to code under debug.exe (!) so hardly do I dare to offer it but if someone asks I'll post the 20 bytes or so. I do not have it available here and now, sorry...
Regards,
--
Czerno (The Passer-by)
Incredibly, with soft ICE loaded it reads D8CA:F9E instead of 00CA:F9E ! (00CA being the MS-DOS.SYS segment on systems with 1 HD...) . Byte 3 corrupted !
I noticed that first on a Win95 and found the exact same bug on a quite different Win 98 SE !! Are you guys having same problem ? Or is it my copy only ?
Of course once acknowledged it is rather easily corrected - but this bizarre trashed byte @00000003 raises suspicion that other places in memory could be damaged too and stay unnoticed untill... boom ! ( As far as the RM IDT is concerned, only vector zero is damaged at byte 3)
Looking fwd to your evidence - could this be a 'well known' problem?
--
Cz.
O.T: since the W95 system is 486-based, I coded a tiny time-fixer for SICE. Just a .com that will read the time from the CMOS clock using int 1A and rewrite it to BIOS (and DOS) using int 21, took me five minutes to code under debug.exe (!) so hardly do I dare to offer it but if someone asks I'll post the 20 bytes or so. I do not have it available here and now, sorry...
Regards,
--
Czerno (The Passer-by)