xrayer Posted January 4, 2016 Posted January 4, 2016 BTW 82801 is ICH (IO controller hub) that integrates more PCI devices with corresponding VID&PID and 82802 is FWH (FirmWare hub) - it's just Flash EPROM with your BIOS that have LPC interface (serialized ISA bus) so there's no VID&PID. 82801 has PCI to LPC bridge that has it's VID&PID. This 82801 chip is not Asus specific, it was used by many manufacturers in P4 era and later it was replaced by small cheap SPI serial Flash EPROMs. FWH may use some memory range and/or IO resources but no IRQ. I don't have such machine installed now.
xrayer Posted January 4, 2016 Posted January 4, 2016 (edited) I have no idea if the DOS Driver for RTL8111E can share Interrupts when used in Windows.The limited Tenda Driver does appear to play nice. Yes, I don't wonder that it probably cannot. For me Tenda driver didn't worked but maybe because of the same IRQ sharing problem. Can you check what other devices use same IRQ as RTL in your system? Sigh, why the PnP hell don't allow me to change resources manually (or very limited only for devices like COM and LPT)... My SATA Patch shoiuld take care of Windows. Is there available some demo testing version please? The problems you have been seeing with EMM386 suggest that you might have your SATA 3 Controller set to AHCI mode.I am truly amazed at how poorly written BIOS AHCI Drivers are. They seem to be intended only to Boot Windows and little more. No, I don't use AHCI. When I enable AHCI in SETUP then disks are not detected by BIOS itself on power-on BIOS screen but it launch optional PCI ROM with AHCI BIOS that detect disk after. But I agree that AHCI BIOS is a piece of crap. When I was testing with single disk on SATA3 it boots Win98 and DOS in AHCI mode (via INT13h services provided by AHCI BIOS) without problem but when I complete my new computer and use one SSD as primary master on SATA3 and one HDD on primary slave on SATA2 it even cannot boot from the SSD and when I switched boot disk to HDD it resulted in FS corruption of one FAT32 partition on the SSD disk (yes I had some backup but...) so I don't want to see AHCI BIOS anymore! :\For DOS I have now clean solution. J.R.Ellis released new version of his DMA drivers that contains XHDDBOOT.SYS which can be loaded without XMS before memory manager (it use lowmem) it take control of DMA over BIOS and after memory manager is loaded the full XHDD.SYS which use XMS for caching and disables XHDDBOOT.SYS. But this drivers are not compatible with Windows. Edited January 4, 2016 by xrayer
rloew Posted January 4, 2016 Posted January 4, 2016 The Tenda Driver shares INT 11 with Standard VGA and the USB 2 Drivers (no USB 1) on my Z87. On my M5A97 it shares INT 11 with the USB 1 (OHCI) Drivers not USB 2.I don't have a Demo of my SATA Patch.I would have to significantly obfuscate the Patch Demo to avoid piracy problems.It may be possible to create a TSR to make Windows think the Driver is compatable.
xrayer Posted January 5, 2016 Posted January 5, 2016 The Tenda Driver shares INT 11 with Standard VGA and the USB 2 Drivers (no USB 1) on my Z87. On my M5A97 it shares INT 11 with the USB 1 (OHCI) Drivers not USB 2. OK, I may give it one more try since I solved conflicts with other devices. But as it runs only 100Mbit it may parform worse than Rmode NDIS that indicate running at 1Gbit and also don't produce any warning. Also boot process it quite fast. I don't have a Demo of my SATA Patch.I would have to significantly obfuscate the Patch Demo to avoid piracy problems.It may be possible to create a TSR to make Windows think the Driver is compatable. OK, and could you be a bit more detailed what the SATA patch do or what's aimed to fix? I'm not sure if it's targetted to this specific Issue as my SATA2 ports run fine. From the short description "SATA Patch and INF File for Windows 9x." I cannot Imagine.I can see that even with Lone Crusader's updated INF files I don't have SATA controller installed but a standard IDE. It seems OK as I have set IDE legacy mode in SETUP instead of native so SATA stays completly hidded for Win98. I can try reenable it.I think my problem can be fixed 2 ways:1) have a native SATA driver like UNIATA that will take UDMA control as soon after boot (but maybe it will hangs sooner before such driver will load if windows tries to write something - a alog file or registry or so...)2) make a TSR that will modify or hooks INT13h services to not use DMA transfers or at least discard write access until other IDE/SATA driver can load.The case of making XHDD driver handle DMA using XMS and be compatible with Win98 was denied by Jack as it would require a lot of effort to match Windows driver specifications and do workarounds of Windows memory managements bugs and that is far out of scope of XHDD driver which is intended for DOS only...So nothing simple. Anyway I can quite good stay with booting from CH0-slave HDD via BIOS boot manager.Is there a way how I could easily swap the drive letters under Win98? I have more primary FAT16/FAT32 partitions (2 on SSD and 3 on HDD) which letters are assigned differently when I boot from HDD than from SSD...
rloew Posted January 6, 2016 Posted January 6, 2016 I don't have a Demo of my SATA Patch.OK, and could you be a bit more detailed what the SATA patch do or what's aimed to fix? I'm not sure if it's targetted to this specific Issue as my SATA2 ports run fine. From the short description "SATA Patch and INF File for Windows 9x." I cannot Imagine.The SATA Patch provides support for Native Mode Controllers and Shared Interrupts. It also disables a problematic Drive Identification routine.I can see that even with Lone Crusader's updated INF files I don't have SATA controller installed but a standard IDE. It seems OK as I have set IDE legacy mode in SETUP instead of native so SATA stays completly hidded for Win98. I can try reenable it.Many Motherboards can run SATA Ports as Legacy or Native. In Legacy Mode my Patch is not needed. Only four Drives can be in Legacy Mode so the enhanced mode needs to use Native Mode to support more.I think my problem can be fixed 2 ways:1) have a native SATA driver like UNIATA that will take UDMA control as soon after boot (but maybe it will hangs sooner before such driver will load if windows tries to write something - a alog file or registry or so...)2) make a TSR that will modify or hooks INT13h services to not use DMA transfers or at least discard write access until other IDE/SATA driver can load.I have done this experimentally.The case of making XHDD driver handle DMA using XMS and be compatible with Win98 was denied by Jack as it would require a lot of effort to match Windows driver specifications and do workarounds of Windows memory managements bugs and that is far out of scope of XHDD driver which is intended for DOS only...As long as it doesn't crash in virtual mode or have special requirements, it should be possible to let Windows take over control and use it's own Driver during Boot.So nothing simple. Anyway I can quite good stay with booting from CH0-slave HDD via BIOS boot manager.Is there a way how I could easily swap the drive letters under Win98? I have more primary FAT16/FAT32 partitions (2 on SSD and 3 on HDD) which letters are assigned differently when I boot from HDD than from SSD...I have tools that can switch Drive Letters in DOS. The assignments carry over into Windows.
LoneCrusader Posted January 6, 2016 Author Posted January 6, 2016 (edited) BTW 82801 is ICH (IO controller hub)...This 82801 chip is not Asus specific... I was referring to the other device when I said it was ASUS-specific. OK, and could you be a bit more detailed what the SATA patch do or what's aimed to fix? I'm not sure if it's targetted to this specific Issue as my SATA2 ports run fine. From the short description "SATA Patch and INF File for Windows 9x." I cannot Imagine. I can see that even with Lone Crusader's updated INF files I don't have SATA controller installed but a standard IDE. It seems OK as I have set IDE legacy mode in SETUP instead of native so SATA stays completly hidded for Win98. I can try reenable it. rloew's SATA patch patches the existing IDE driver to support SATA and provides an INF file that properly recognizes the Native Mode controllers and allows them to be used exactly as if they were regular PATA controllers. I've been using it during all of my "newer Intel" testing. Basically you install it (or preload it into your SETUP source if starting from scratch) and never worry about SATA issues again. My updated MSHDC.INF you were referring to will only recognize the controllers when set to Legacy PATA mode. If they are set to Native SATA mode it will report "No Support" for them and they will remain in DOS Compatibility Mode. Edited January 6, 2016 by LoneCrusader
jaclaz Posted January 6, 2016 Posted January 6, 2016 Is there a way how I could easily swap the drive letters under Win98? I have more primary FAT16/FAT32 partitions (2 on SSD and 3 on HDD) which letters are assigned differently when I boot from HDD than from SSD... Good ol' Letter Assigner:http://web.archive.org/web/*/http://www.v72735.f2s.com/LetAssig/http://web.archive.org/web/20080619125702/http://www.v72735.f2s.com/LetAssig/http://web.archive.org/web/20080401085803/http://www.v72735.f2s.com/LetAssig/LetAssig.zip jaclaz
xrayer Posted January 7, 2016 Posted January 7, 2016 >rloewI did one more experiment with Tenda (RTL8168) eth. driver. I removed my existing ndis driver and disabled "net start" in autoexec.bat (I load split8mb there). After reboot the RTL was detected and I installed uncommented Tenda driver. Immediatelly when it loaded my screen was garbaged and system hanged. After reboot I got "!" mark on RTL in devmgr and notice that driver was disabled by ASD due to failure. Even if I reenabled the driver it hanged again after reboot (all time I had disabled the EHCI sharing IRQ10). here's ASD.LOG Windows 98 4.10.2222{CF2524C0-29AE-11CF-97EA-00AA0034319D}Starting a deviceTenda TEL9901G Gigabit Ethernet NICCI \V EN _1 0E C& DE V_ 81 68 &S UB SY S_ E0 00 14 58 &R EV _0 6\ 00 E2 00 >LoneCrusader, rloewThen I tried to set SATA native mode. If I boot from HDD (SATA2 port) it hangs after some loading and create quite big bootlog.txt where the last line indicating load of the esdi_506.pdr - so this should be the case where R.Loew's patch could fix it and boot will continue if esdi_506.pdr will be patched. But if I boot from SSD (SATA3 port) it, as usual, hangs much much sooner (bootlog has a few kB) due to vDMA problem so esdi_506.pdr has no chance to load and take control over. So this imply that the current patch will not help me. And I really don't need to use SATA native mode as I have only 3 devices attached (will be 4). >rloew"I have done this experimentally." - what do you mean exactly? Did you make some INT13h patch TSR? Something freely available to test? What do you think about idea to discard write request on INT13h? I don't know if Win98 really needs to write on disk before esdi_506.pdr will load - of course it will diable e.g. the bootlog. In other words - can Win98 boot from read-only disk up to stage where esdi_506.pdr loads (I assume that then INT13h is no longer used but what about in DOS window launched after boot?)... >LoneCrusader the MSHDC.INF seems to not updated (2013) and doesn't contain PCH SATA. MSHDC.INF is not included in your updated ZIP from dec 2015. Did I missed it or it's not done yet? >jaclazThanks, that looks promissing. It's a pity that it ended in dark abyss of the Internet so if it would work I will host it on windows98.xf.cz
LoneCrusader Posted January 7, 2016 Author Posted January 7, 2016 >LoneCrusaderthe MSHDC.INF seems to not updated (2013) and doesn't contain PCH SATA. MSHDC.INF is not included in your updated ZIP from dec 2015. Did I missed it or it's not done yet?I originally decided not to include MSHDC.INF with the latest package because of the various issues with 9x and SATA, AHCI, or RAID controllers. (I build two sets of the INF's for my own use, one for 95 and one for 98SE. There are additional issues that rloew and I discovered that apply to Windows 95 and not 98 that caused me to consider not bothering to update MSHDC.INF further.) I suppose however since 98 is unaffected I could release an updated version that behaves like the last version in which it will only load a driver when the controllers are set in Legacy PATA mode. I'll consider adding this when I update the package with the newer INF data you found. Tenda (RTL8168) eth. driver.Apparently I'm not following this discussion... The 8168 device is commented out in the Tenda package but is not commented out in the latest package available from RealTek which is newer by version and by timestamp. According to the INF in the RealTek package up to RTL8111D is supported, but rloew said previously that "D" and "E" devices don't work with it...
rloew Posted January 7, 2016 Posted January 7, 2016 >rloewI did one more experiment with Tenda (RTL8168) eth. driver. I removed my existing ndis driver and disabled "net start" in autoexec.bat (I load split8mb there). After reboot the RTL was detected and I installed uncommented Tenda driver. Immediatelly when it loaded my screen was garbaged and system hanged. After reboot I got "!" mark on RTL in devmgr and notice that driver was disabled by ASD due to failure. Even if I reenabled the driver it hanged again after reboot (all time I had disabled the EHCI sharing IRQ10). here's ASD.LOGWindows 98 4.10.2222{CF2524C0-29AE-11CF-97EA-00AA0034319D}Starting a deviceTenda TEL9901G Gigabit Ethernet NICCI \V EN _1 0E C& DE V_ 81 68 &S UB SY S_ E0 00 14 58 &R EV _0 6\ 00 E2 00I'm not sure what the problem is. It sort of works on the two systems that need it.I think one of them required SPLIT8MB and the /M Option of my RAM Limitation Patch.>LoneCrusader, rloewThen I tried to set SATA native mode. If I boot from HDD (SATA2 port) it hangs after some loading and create quite big bootlog.txt where the last line indicating load of the esdi_506.pdr - so this should be the case where R.Loew's patch could fix it and boot will continue if esdi_506.pdr will be patched. But if I boot from SSD (SATA3 port) it, as usual, hangs much much sooner (bootlog has a few kB) due to vDMA problem so esdi_506.pdr has no chance to load and take control over. So this imply that the current patch will not help me. And I really don't need to use SATA native mode as I have only 3 devices attached (will be 4).I think that the SATA3 Port can only be set to Native Mode.>rloew"I have done this experimentally." - what do you mean exactly? Did you make some INT13h patch TSR? Something freely available to test? What do you think about idea to discard write request on INT13h? I don't know if Win98 really needs to write on disk before esdi_506.pdr will load - of course it will diable e.g. the bootlog. In other words - can Win98 boot from read-only disk up to stage where esdi_506.pdr loads (I assume that then INT13h is no longer used but what about in DOS window launched after boot?)...In my experiments, particularly with AHCI, BIOS bugs cause it to mishandle Disk I/O Requests to Odd Addresses. DMA cannot handle Odd Starting Addresses so it corrupts.I have a product called DISKBIOS that can handle this but it is designed as a TSR to be loaded in AUTOEXEC.BAT. I also wrote a simpler Buffering program to handle Odd Addresses.The experimental version of the Odd Address Buffer Program, which was what I was referring to, was a Driver Style TSR that I could place before EMM386 which had been causing a crash.
rloew Posted January 7, 2016 Posted January 7, 2016 Tenda (RTL8168) eth. driver.Apparently I'm not following this discussion... The 8168 device is commented out in the Tenda package but is not commented out in the latest package available from RealTek which is newer by version and by timestamp. According to the INF in the RealTek package up to RTL8111D is supported, but rloew said previously that "D" and "E" devices don't work with it... The Tenda Driver I recommended appears to contain an abandoned attempt to support the RTL8111 Cards. The INF entry was then commented out after they chose not to continue development but never removed. I found that the Driver sort of worked if the INF was uncommented.
xrayer Posted January 7, 2016 Posted January 7, 2016 No, there IS difference, if I set legacy mode then also SATA3 port communicate via standard 1F0/170h ports and if I set native mode then SATA3 use FD00h port. Also the BIOS option is named like "SATA port 0-3 native mode enabled/disabled" (ports 0,1 are SATA3, ports 2,3 are SATA2 and ports 4,5 are disabled in legacy mode). I doubt that in my case is problem with odd address - it would also affect disk reading, not? I tried latest W9x Realtek drivers before and also newer W2k driver but none works with chip rev. E. >jaclazLOL, I already have the Letter Assigner 1.2.0 on my W98 web and on my W98 CD but didn't looked there as I never needed this program before. I tried it and works fine, so I have finally the same drive letter order like if I would boot from SSD C:
jaclaz Posted January 7, 2016 Posted January 7, 2016 >jaclaz LOL, I already have the Letter Assigner 1.2.0 on my W98 web and on my W98 CD but didn't looked there as I never needed this program before. I tried it and works fine, so I have finally the same drive letter order like if I would boot from SSD C: Il faut cultiver notre jardin. jaclaz 1
rloew Posted January 8, 2016 Posted January 8, 2016 The Odd Address problem does affect Disk Reading as well but very few things actually use Odd Addresses so you may not notice it. There could be other issues. There is no way to be sure without testing.
xrayer Posted January 8, 2016 Posted January 8, 2016 I tried to search for some existing old DOS disk write protection utilities and found something: Eric Auer's fdshield - this can protect various area or all disk but throws classir abort/retry/fail message that needs interaction and so boot failedThe FANTOM 2.2 - (fanram.arj package from http://www.dcee.net/Files/Utils/ )This looked much more promissing - from the description:This is new NICE programm to protect your Hard Disk from Human-Disasters. Catching Functions: Copy HD<-->FD Delete HD, FD Format HD Rename HD, FD CreatFile HD, FD EditFile HD, FDAll operations looks as normally works(you may see what files copied, disk formatted e.t.c.), but really, when you reboot PC, all files/formatted disks will be Ok !I don't know if it hooks INT13h or INT21h.With this loaded in autoexec.bat I was able to normally boot to desktop with all start-upo programs but then Windows displayed a message about new TSR detected thet may slowdown PC and the mouse freezed. After some seconds mouse relived and I closed this window but I cannot do anything else, clickink on icons/start doesnt work, system was inresponsive, correct shutdown cennot be done only HW reset. But it seems it's on a good way! I belive if I would unload the TSR during boot it would work but unfortunately this TSR doesn't have unload option (I could put a unload call to a batch executed automatically after the boot).
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now