Image Map Image Map
Page 1 of 5 12345 LastLast
Results 1 to 10 of 45

Thread: XTIDE and Windows 95 issues

  1. #1

    Question XTIDE and Windows 95 issues

    Hi,

    i use XTIDE with latest Build r588 (12kb atl version) and 3com 509b Ethernet card for the Bootprom. (486 System) XTIDE is running at address C800 and detects my harddisk successfully.

    Now i have a MS-DOS and a Windows 95b installation. DOS runs fine, Windows 95 had some issues:

    first, the harddisk is running in "dos compatibility mode" I think the protected mode driver is not loaded. Is it possible to fix this issue?

    second, it is not possible to install the networkcard drivers for the 3com 509b ISA Ethernet Card. During the installation process, the system crash
    with an bluescreen:

    Errorcode 6 with an address: C800:00002046

    looks like the XTIDE address space...

    With enabled 3com drivers, windows crashes during bootprocess.

    Any suggestions how to fix this issues? thx



    P.S. Whats happing with the "official" XTIDE Beta testing thread?

  2. #2

    Default

    I would guess that, because you're using the network card to host your boot ROM, the Windows driver thinks a network boot ROM is installed in the card and is trying to read it to help configure the card. Since it's an XT-IDE ROM instead, the data the driver is reading off it is invalid and it crashes.

    As for why the hard drive drivers don't work, I'm guessing you're using the XT-IDE ROM with a controller that's not an XT-IDE controller? I'm not really sure how or if that issue can be fixed, but I'm guessing you're using the XT-IDE ROM because your motherboard's BIOS doesn't support your drive size or something, in which case the Windows driver for your controller probably doesn't know how to handle your drive size either and falls back on using DOS calls to access it.

    If it is the case that you're using something that's not an XT-IDE controller with an XT-IDE ROM just in order to get around a BIOS drive size limit, it might be possible to get around these issues by removing the XT-IDE ROM and installing Dynamic Drive Overlay software like EZ-Drive or something similar. Note that that will probably involve re-partitioning and reformatting your hard drive, though.

  3. #3

    Default

    Quote Originally Posted by CrazyChris View Post
    first, the harddisk is running in "dos compatibility mode" I think the protected mode driver is not loaded. Is it possible to fix this issue?
    It might be but I don't know why this happens, I've personally never done any testing under Windows 9x.

    second, it is not possible to install the networkcard drivers for the 3com 509b ISA Ethernet Card. During the installation process, the system crash
    with an bluescreen:

    Errorcode 6 with an address: C800:00002046

    looks like the XTIDE address space...

    With enabled 3com drivers, windows crashes during bootprocess.
    The BSOD with error 6 means "Invalid Opcode Fault". My guess is that the NIC drivers, when detecting an enabled ROM, assumes that the ROM contains a 3Com specific binary and just blindly calls that address for some reason. Unless there's a way to prevent this behaviour somehow, the only solution is to find another driver that doesn't do this.

    P.S. Whats happing with the "official" XTIDE Beta testing thread?
    Nothing much. You probably should have posted this in that thread.
    Looking for a cache card for the "ICL ErgoPRO C4/66d V"

  4. #4

    Default

    The NIC driver shouldn't be scanning the ROM at all, its only used for PXE booting normally. If you can, disable PnP mode on the NIC and manually set resources. Windows 9x is likely doing something silly in the UMB area and crashing as usual. If disabling PnP mode on the NIC doesn't work, try adding "LocalLoadHigh=0" to the [386enh] section of system.ini.

    As long as your IDE controller is at the normal hardware locations, the built in driver should work. There is a quirk where Windows reads the EBDA to check for the existence of a IDE hard drive. If you have an option ROM controlling your IDE drive and the drive is set to "disabled" in the BIOS, the protected mode driver will not load. Set your drive up in the BIOS with dummy CHS parameters (1024/16/63 usually works).

  5. #5

    Default

    Thanks for your help. Sounds good, i will try it.

    Itīs an old 486 systemboard, made by siemens-nixdorf with opti 495 chipset and custom bios from late 93. 504MB barrier...


    Maybe i have to go the junkyard and get one of those crabcards...

  6. #6

    Default

    I just remembered someone having a similar problem with Invalid Opcode Fault and IIRC that was solved by enabling shadowing of the ROM in the system BIOS setup. Might be worth trying if it's not already enabled.

    The dummy drive workaround is a bad idea that will likely lead to data corruption sooner or later.

    EDIT: Yep it was Malc who had this same problem: http://www.vcfed.org/forum/showthrea...385#post321385

    EDIT2: Actually, it wasn't Malc: http://www.vcfed.org/forum/showthrea...921#post332921
    Last edited by Krille; February 29th, 2016 at 05:11 AM.
    Looking for a cache card for the "ICL ErgoPRO C4/66d V"

  7. #7

    Default

    The "dummy drive" configuration shouldn't cause any problems. The XT-IDE ROM should hook Int 13h in real mode bypassing the BIOS routines. In Windows, the protected mode driver will bypass Int 13h completely. Just about every disk overlay and IDE option ROM card recommended doing it back in the day, likely because of this "bug" in Windows.

  8. #8

    Default

    Thx.

    I have only the option to enable BIOS and Video BIOS shadowing (which is already enabled). There is an option to enable "Shadow RAM Caching" (set to Video BIOS only) but i donīt think this solve anything.

    Meanwhile i think the problem is the 3com NIC. Malc has the same card...

  9. #9

    Default

    Quote Originally Posted by njroadfan View Post
    The "dummy drive" configuration shouldn't cause any problems. The XT-IDE ROM should hook Int 13h in real mode bypassing the BIOS routines. In Windows, the protected mode driver will bypass Int 13h completely.
    XTIDE Universal BIOS doesn't bypass anything. It will handle calls meant for the drive it's been configured to handle and pass calls meant for other drives to the previous Int13h handler in the chain. In this case, the system BIOS. So you will have two drives in DOS, both of which are accessible for writes, each with its own set of buffers and caches. Not to mention they will also very likely be using different drive geometries.

    In Windows, you will have the "dummy drive" accessed only by the protected mode driver as you say, but, unless Windows can magically figure out that all drives are actually the same physical drive, you will also have the drive handled by XTIDE Universal BIOS in "DOS compatibility mode". Again, each drive with its own cache and possibly with differing drive geometries ("possibly" because Windows might be smart enough to ignore the drive geometry used by the system BIOS).

    I don't see how this can be safe since there is no way (AFAIK) to prevent the OS from caching or writing to specific drives.

    Just about every disk overlay and IDE option ROM card recommended doing it back in the day, likely because of this "bug" in Windows.
    Do you have a link to one of these recommendations?
    Looking for a cache card for the "ICL ErgoPRO C4/66d V"

  10. #10

    Default

    Pre-PCI systems are VERY touchy regarding option ROMs that hook Int 13h, only reason why I know this is that my 486 really hated having a SCSI card and a LBA BIOS card with both ROMs enabled. By default they usually register the first drive they find as unit 80h over-riding the BIOS and any other option ROMs that precede it during POST. EX: Install a ISA SCSI card with HD and enable its ROM alongside of the XT IDE ROM and watch what happens. Whatever card is scanned last by the BIOS usually lands up as the boot drive at 80h. There is usually no chaining of Int 13h on these systems.

    Newer machines have a BIOS that conforms to the BIOS Boot Specification and likely have the double drive problem. One thing that may need to be addressed in the XT IDE AT versions is if it properly updates the BDA (see except below of page 20 of the above PDF). If not, Windows 9x might not think any IDE drives are present in the system (I don't think my LBA card properly updates the BDA, it assumes a drive is set in the BIOS).

    5.2.5 Controller Installation Guidelines
    · Each controller may install INT 13h support for one or more drives.
    · When INT 13h is hooked, the old vector will be saved.
    · A controller will only respond to requests which specify the drive number for
    which it has control, and will pass on requests to other drive numbers to the old
    vector.
    · A controller may not know if it has any drives attached until it is called to install.
    If no drives are attached, then the controller should not hook INT 13h.
    · The number of hard drives currently installed is stored in the BDA at address
    0040:0075. When a controller installs support for additional drives, this location
    must be incremented by the number of drives that are to be added.
    · A controller must install INT 13h support by using sequentially increasing drive
    numbers starting after the drives previously installed. For example, if two drives
    are already installed when the controller gets called, they will occupy drive
    numbers 80h and 81h. The next available numbers for the controller to occupy
    would be 82h, 83h, etc.
    · A controller checks if the location at 0040:0075 is zero to determine if it is the first
    to install. If it is first, the controller must copy the INT 13h vector over the INT
    40h vector so that floppy services are handled properly.
    · The first controller to install will get drive number 80h. The controller then knows
    that it controls the hard drive boot device.
    21
    · Once a controller has hooked+ into INT 13h services, it can never unhook, since
    controllers hooked in after it would be lost.
    · Any controllers such as Legacy cards which hook INT 18h or INT 19h may end up
    taking over the boot process and may possibly reduce the capability of the BIOS to
    control the boot order.

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •