Re: [Freedos-user] PCI SATA adapters with DOS
On Wed, 23 Jun 2021 at 11:39, Jon Brase wrote: > > Continuing a conversation from back in March, I took Liam's suggestion > of using a PCI SATA adapter. [...] > Still, despite everything under "the ugly", the most crucial elements of > my configuration are up and running with a lot more space than they used > to have. Well, good! It is definitely progress and I am happy to hear about that. -- Liam Proven – Profile: https://about.me/liamproven Email: lpro...@cix.co.uk – gMail/gTalk/gHangouts: lpro...@gmail.com Twitter/Facebook/LinkedIn/Flickr: lproven – Skype: liamproven UK: +44 7939-087884 – ČR (+ WhatsApp/Telegram/Signal): +420 702 829 053 ___ Freedos-user mailing list Freedos-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-user
Re: [Freedos-user] PCI SATA adapters with DOS
Hi! Odd that only BOOTING is limited to the first 1.3 GB on the IDE. I agree that running Windows for Workgroups (apart from safe mode, possibly without network) is hard to get working with FreeDOS. I guess you could try with EDR-DOS kernel to still have FAT32 and LBA. Or maybe with DPMIONE pre-loaded to ease the switch to protected mode? I also guess you had to hide part of your RAM to get WfW to work? Probably switch it to DOS disk access because it could be IDE-only and CHS- and FAT16-only otherwise? One method to run Win32 apps on DOS would be HX RT and HX GUI by Japheth, but that only supports relatively simple full-screen apps, not multitasking etc. I am of course curious which Windows apps you use frequently. Does QEMU itself have an issue with FreeDOS? You can use FreeDOS apps and probably many drivers with MS DOS kernel and WfW 3.11 (excluding JEMM386/JEMMEX). However, as long as you are stuck with MS DOS 6 kernel, you are stuck with FAT16 and CHS. Which is why EDR DOS should be interesting. Or, as said, Win98's "MS DOS 7". No need to install Win98 for that, but of course you should have a Win98 license, not just a MS DOS 6 one. Of have you tried to run WfW 3.11 on Win98's MS DOS 7 and experienced problems with that? > Because when the SATA drive is present and the IDE drive is on the > secondary channel, no DOS, not even FreeDOS, will even see the IDE Interesting, but would you need the IDE when you can use the larger SSD? Only MS DOS 6 seems to need IDE in your system, not other WfW 3.11 compatible DOS. What do UHDD and LBACACHE say about your drives in their start-up messages in the different configurations which your combination of controllers can offer? Regards, Eric ___ Freedos-user mailing list Freedos-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-user
Re: [Freedos-user] PCI SATA adapters with DOS
On 6/23/21 3:24 PM, Eric Auer wrote: > > Hi! > > Really odd that MS DOS does not see the SATA, > while FreeDOS apparently does? Maybe your SATA > controller comes with an odd LBA-only BIOS? > > If your MS DOS is limited to 1.3 GB because > of the IDE CHS geometry (which geometry is > that, exactly?) then you should use the MS > DOS of Win9x which supports LBA, or simply > use FreeDOS, which also supports LBA and > FAT32 :-) I'm not actually finding that DOS is having any trouble with its partition extending above 1.3 GB. It's just that I can't boot anything above that line. My DOS 6 environment is there to support a QEMM+Win3.11 setup, which simply will not work on FreeDOS. I do have a FreeDOS environment on the same partition for when I'm not working with that, and when the configuration was still single IDE I had Win95 on there as well. I've been trying to get Win98 installed, but that's where the 1.3 GB issue becomes problematic, as I'd like to have 2 GB for DOS (already working) plus at least 2 GB for Win9x, but whichever partition is second has to begin below 1.3 GB or Grub chokes on trying to boot it. Ideally, I wouldn't even have Win9x on the IDE drive as Win98 has drivers that will handle the SATA card, but, unfortunately, the Win98 installer isn't actually a Win98 environment, and in any case, won't allow me to load drivers before the install, so it won't see the SATA drive. > >> I'm able to boot from the SATA card if the IDE drive is on the secondary >> IDE channel, but not if it's on the primary channel. > > Apparently your BIOS insists to boot from > whatever is primary, which sounds plausible, > but unfortunately your SATA seems to work > with your combined BIOSes when it also is > primary? So why not just keep the SATA SSD > as primary? > You can still add the IDE as > a secondary drive for any CHS-only DOSes. Because when the SATA drive is present and the IDE drive is on the secondary channel, no DOS, not even FreeDOS, will even see the IDE drive. FreeDOS will see the SATA drive in any configuration, but MS-DOS never sees the SATA drive, and, like FreeDOS, only sees the IDE drive if it's on the primary channel. Win95 will not see the SATA drive. Win98 should be able to see the SATA drive if I can get it installed with the proper drivers, but has the chicken-and-egg problem that its installer won't let me load drivers before it's already installed (and I'm not actually sure, once its installed, that the drivers will even be loaded before the Win32 environment comes up, so it may well not be able to boot from the SATA drive under any circumstances). > > Which is exactly the other way round as your > current setup. I think both options should > be okay. Why would you want to hide your SSD > from DOS by making it unsupported secondary? It's not hidden from FreeDOS under any circumstances, and it's not visible to MS-DOS under any circumstances (except maybe to MS-DOS 7 once Win98 and its drivers for the SATA card are installed, but I'm not sure that WDM drivers are even loadable on Win9x in DOS mode. If not, then the SATA drive will be visible to Win98, once it's booted, as a data drive, but won't be usable as a boot drive). > Eric > > PS: You can even tell GRUB to reassign BIOS > drive numbers before booting DOS, by keeping > some small resident part active, I think. > I don't believe this is actually an issue with BIOS drive numbers. Note that FreeDOS is perfectly capable of seeing and booting off the SATA drive whether it's primary or secondary, but doesn't see the IDE drive unless the IDE drive is primary. Jon Brase ___ Freedos-user mailing list Freedos-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-user
Re: [Freedos-user] PCI SATA adapters with DOS
Hi! Really odd that MS DOS does not see the SATA, while FreeDOS apparently does? Maybe your SATA controller comes with an odd LBA-only BIOS? If your MS DOS is limited to 1.3 GB because of the IDE CHS geometry (which geometry is that, exactly?) then you should use the MS DOS of Win9x which supports LBA, or simply use FreeDOS, which also supports LBA and FAT32 :-) My suggestion was not to use Windows drivers for anything. There are patches for ancient Windows to let it see more than 128 GB, or in other words, LBA48 instead of LBA28, but I would expect 100 GB to be enough for your DOS desires. As you seem to get a lot of unusual effects, even with Windows, I suggest to stick to FreeDOS and Linux and double-check with for example DOSFSCK whether your FAT32 LBA is working fine. > I'm able to boot from the SATA card if the IDE drive is on the secondary > IDE channel, but not if it's on the primary channel. Apparently your BIOS insists to boot from whatever is primary, which sounds plausible, but unfortunately your SATA seems to work with your combined BIOSes when it also is primary? So why not just keep the SATA SSD as primary? You can still add the IDE as a secondary drive for any CHS-only DOSes. Which is exactly the other way round as your current setup. I think both options should be okay. Why would you want to hide your SSD from DOS by making it unsupported secondary? Eric PS: You can even tell GRUB to reassign BIOS drive numbers before booting DOS, by keeping some small resident part active, I think. ___ Freedos-user mailing list Freedos-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-user
Re: [Freedos-user] PCI SATA adapters with DOS
Hi! I am not sure if we have understoood Jon's question correctly. Not so much a question just as a review of what I was able to achieve with the plan of action Liam had suggested back in March and the constraints existing in my configuration. As I said, I have the most crucial bits of my configuration working. Does he need any changes for the BIOS at all? Maybe the issue is simply that MS DOS can only use the first 8 GB of your disk, with at most 2 GB per partition, because it is FAT16 CHS only? Yeah, but I don't really need more than that. The original plan had been to boot everything from the SATA disk (SSD, using an expanded version of the partition layout from when the machine was single-IDE) with the IDE disk (magnetic) reserved for swap, but MS-DOS simply will not see anything on the SATA card, so a 2 GB partition on the IDE disk does nicely for it. Where things get a bit sticky is: 1) That MS-DOS will quite happily deal with a 2 GiB FAT16 partition on the IDE drive (and even a second one above it), but BIOS can only address the first 1.3 GB of the IDE drive due to the interaction of the reported CHS geometry of the drive with the BIOS's CHS limits. Ideally, I'd like to do something like: 2GB FAT16 (DOS) -> Several GB FAT32 (Win98) -> Linux swap on the rest of the drive But I'm using Grub legacy (because I ran into trouble earlier on this machine getting Grub2 to boot both DOS 6 and Win95, I forget the exact details), and Grub legacy uses BIOS for disk access on the IDE disk (it deals quite happily with the SATA disk), so all the entry points for OSes on the IDE disk have to be below the 1.3 GB mark. This will mean some partition juggling. 2) Win98 drivers exist for the SATA card, so in principle, I should be able to install it in the existing Win95 FAT32 partition on the SATA disk, but the install environment is straight DOS and doesn't see the SATA disk, and while it gives a nice overview of the install process that includes loading drivers for hardware, that's *after* "install the OS to disk" and "reboot" steps (rather than the very first thing like any sensible OS installer). It even seems to struggle with anything other than a FAT16 CHS partition (FAT32 isn't visible, FAT16 LBA is visible but it screams when trying to actually access it). This may have to do with the install CD I chose, but unless different media presents me with more options, it looks like the existing partition on the SATA disk will only be usable as a data partition after the install is complete. Many old BIOSes already work fine for the first 128/137 GB if you have a LBA FAT32 DOS such as FreeDOS, EDR-DOS or Win98 DOS 7 :-) And as far as I have understood, he can boot either from onboard IDE (PATA) controllers or from his add-on SATA controller card. I'm able to boot from the SATA card if the IDE drive is on the secondary IDE channel, but not if it's on the primary channel. If the IDE drive is on the secondary channel, it's invisible to any sort of DOS (including FreeDOS, which sees all FAT partitions of any type on both drives if the IDE disk is on the primary channel). So the IDE drive has to be on the primary channel. This complicates boot a bit, but Grub can see and launch anything on either drive from either drive, so it just means that Grub has to be on the IDE drive. ___ Freedos-user mailing list Freedos-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-user
Re: [Freedos-user] PCI SATA adapters with DOS
*does not see SATA drive On Wed, Jun 23, 2021 at 9:21 PM Lukas Satin wrote: > Hi Eric, good question! From what I understand, he cannot boot SATA drive > because BIOS does not see SATA driver during boot prompt due to add-on > controller card. If not, then my answer was not correct. > > Lukas > > On Wed, Jun 23, 2021 at 8:07 PM Eric Auer wrote: > >> >> Hi! >> >> I am not sure if we have understoood Jon's question correctly. >> >> Does he need any changes for the BIOS at all? Maybe the issue >> is simply that MS DOS can only use the first 8 GB of your disk, >> with at most 2 GB per partition, because it is FAT16 CHS only? >> >> Many old BIOSes already work fine for the first 128/137 GB if you >> have a LBA FAT32 DOS such as FreeDOS, EDR-DOS or Win98 DOS 7 :-) >> >> And as far as I have understood, he can boot either from onboard >> IDE (PATA) controllers or from his add-on SATA controller card. >> >> So I think I need to understand what exactly he can NOT do yet. >> >> Eric >> PS: Actually old PCI network cards work better than ISA ones. >> >> >> >> >> ___ >> Freedos-user mailing list >> Freedos-user@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/freedos-user >> > ___ Freedos-user mailing list Freedos-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-user
Re: [Freedos-user] PCI SATA adapters with DOS
Hi Eric, good question! From what I understand, he cannot boot SATA drive because BIOS does not see SATA driver during boot prompt due to add-on controller card. If not, then my answer was not correct. Lukas On Wed, Jun 23, 2021 at 8:07 PM Eric Auer wrote: > > Hi! > > I am not sure if we have understoood Jon's question correctly. > > Does he need any changes for the BIOS at all? Maybe the issue > is simply that MS DOS can only use the first 8 GB of your disk, > with at most 2 GB per partition, because it is FAT16 CHS only? > > Many old BIOSes already work fine for the first 128/137 GB if you > have a LBA FAT32 DOS such as FreeDOS, EDR-DOS or Win98 DOS 7 :-) > > And as far as I have understood, he can boot either from onboard > IDE (PATA) controllers or from his add-on SATA controller card. > > So I think I need to understand what exactly he can NOT do yet. > > Eric > PS: Actually old PCI network cards work better than ISA ones. > > > > > ___ > Freedos-user mailing list > Freedos-user@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/freedos-user > ___ Freedos-user mailing list Freedos-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-user
Re: [Freedos-user] PCI SATA adapters with DOS
Hi! I am not sure if we have understoood Jon's question correctly. Does he need any changes for the BIOS at all? Maybe the issue is simply that MS DOS can only use the first 8 GB of your disk, with at most 2 GB per partition, because it is FAT16 CHS only? Many old BIOSes already work fine for the first 128/137 GB if you have a LBA FAT32 DOS such as FreeDOS, EDR-DOS or Win98 DOS 7 :-) And as far as I have understood, he can boot either from onboard IDE (PATA) controllers or from his add-on SATA controller card. So I think I need to understand what exactly he can NOT do yet. Eric PS: Actually old PCI network cards work better than ISA ones. ___ Freedos-user mailing list Freedos-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-user
Re: [Freedos-user] PCI SATA adapters with DOS
BTW: If you want to hack your Award BIOS directly and add support, it is doable. I think you will not get as broad support of features as XT IDE, but you should be able to get to 137GB size. Another Czech guy is developing project around Award BIOS customization for several years: http://rayer.g6.cz/romos/romos.htm ...we don't have money, but we have time, so we always hack our way around in a creative way, haha :-) On Wed, Jun 23, 2021 at 6:36 PM Lukas Satin wrote: > The XT IDE can be used in any controller card that allows it to hook into > that specific interrupt. For example network card works because of support > for network boot. There are also Compact Flash and IDE controllers with > this support. Basically anything where you can attach this EEPROM. I am > using it currently in both ISA and PCI network cards (Realtek and 3COM). > Thanks to this, I can have a 32GB SD card on the 486 and boot FreeDOS to > the FAT32 filesystem. > > These are the reasons why I got hooked on retro gaming and retro > computing. The possibilities today are very broad. Some people like to stay > "period correct", but I like to break the barriers and explore new > horizons. For example I co-developed an active converter from USB to AT > keyboard. Modern RGB mechanical gaming keyboard (with macro support) over > USB works on 386 or 486, thanks to Teensy controller running at 90 Mhz. > That is higher than the system CPU clock. You can even use a Bluetooth USB > dongle. It will take any USB composite HID device and convert it to PC/AT > or PC/XT. I did blow up the AmiKey keyboard controller on the motherboard > once, though. That is the price for development. The reason was improper AT > pin contact :-) > > Lukas > > On Wed, Jun 23, 2021 at 5:09 PM Frantisek Rysanek < > frantisek.rysa...@post.cz> wrote: > >> On 23 Jun 2021 at 14:59, Lukas Satin wrote: >> >> > ... Get XT IDE eeprom and put it in Ethernet NIC for example to get >> >> > boot options even for 386 and bypass size limitations >> >> Oh I see, you mean this: >> http://www.xtideuniversalbios.org/ >> ...apparently the software project is still active :-) >> >> That's one lovely practical hack :-D >> >> My remaining ISA NIC's have ended up in the trash a few years ago. >> >> I'm wondering how much work it would be to inject this into an older >> Award BIOS. If memory serves, ISA option ROM's somehow did not load >> automatically... what did work was link the ROM as a PCI PnP option >> ROM and insert it into the BIOS image instead of the original PCI NIC >> option ROM (referring to its HW PCI ID's). Requires a NIC integrated >> on the motherboard. No such procedure is mentioned in the XTIDE >> docs... >> >> Frank >> ___ >> Freedos-user mailing list >> Freedos-user@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/freedos-user >> > ___ Freedos-user mailing list Freedos-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-user
Re: [Freedos-user] PCI SATA adapters with DOS
The XT IDE can be used in any controller card that allows it to hook into that specific interrupt. For example network card works because of support for network boot. There are also Compact Flash and IDE controllers with this support. Basically anything where you can attach this EEPROM. I am using it currently in both ISA and PCI network cards (Realtek and 3COM). Thanks to this, I can have a 32GB SD card on the 486 and boot FreeDOS to the FAT32 filesystem. These are the reasons why I got hooked on retro gaming and retro computing. The possibilities today are very broad. Some people like to stay "period correct", but I like to break the barriers and explore new horizons. For example I co-developed an active converter from USB to AT keyboard. Modern RGB mechanical gaming keyboard (with macro support) over USB works on 386 or 486, thanks to Teensy controller running at 90 Mhz. That is higher than the system CPU clock. You can even use a Bluetooth USB dongle. It will take any USB composite HID device and convert it to PC/AT or PC/XT. I did blow up the AmiKey keyboard controller on the motherboard once, though. That is the price for development. The reason was improper AT pin contact :-) Lukas On Wed, Jun 23, 2021 at 5:09 PM Frantisek Rysanek wrote: > On 23 Jun 2021 at 14:59, Lukas Satin wrote: > > > ... Get XT IDE eeprom and put it in Ethernet NIC for example to get > > > boot options even for 386 and bypass size limitations > > Oh I see, you mean this: > http://www.xtideuniversalbios.org/ > ...apparently the software project is still active :-) > > That's one lovely practical hack :-D > > My remaining ISA NIC's have ended up in the trash a few years ago. > > I'm wondering how much work it would be to inject this into an older > Award BIOS. If memory serves, ISA option ROM's somehow did not load > automatically... what did work was link the ROM as a PCI PnP option > ROM and insert it into the BIOS image instead of the original PCI NIC > option ROM (referring to its HW PCI ID's). Requires a NIC integrated > on the motherboard. No such procedure is mentioned in the XTIDE > docs... > > Frank > ___ > Freedos-user mailing list > Freedos-user@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/freedos-user > ___ Freedos-user mailing list Freedos-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-user
Re: [Freedos-user] PCI SATA adapters with DOS
On 23 Jun 2021 at 14:59, Lukas Satin wrote: > ... Get XT IDE eeprom and put it in Ethernet NIC for example to get > boot options even for 386 and bypass size limitations Oh I see, you mean this: http://www.xtideuniversalbios.org/ ...apparently the software project is still active :-) That's one lovely practical hack :-D My remaining ISA NIC's have ended up in the trash a few years ago. I'm wondering how much work it would be to inject this into an older Award BIOS. If memory serves, ISA option ROM's somehow did not load automatically... what did work was link the ROM as a PCI PnP option ROM and insert it into the BIOS image instead of the original PCI NIC option ROM (referring to its HW PCI ID's). Requires a NIC integrated on the motherboard. No such procedure is mentioned in the XTIDE docs... Frank ___ Freedos-user mailing list Freedos-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-user
Re: [Freedos-user] PCI SATA adapters with DOS
why not consider testing that effort with ms. dos 7.1 instead of dos 6? Karen On Wed, 23 Jun 2021, Jon Brase wrote: Continuing a conversation from back in March, I took Liam's suggestion of using a PCI SATA adapter. I ended up getting a card with a SiI3114 chipset. I actually got the card a while ago, but took my sweet time getting around to installing it. The good: The card is bootable, and with only a SATA drive on it the machine will boot Linux and FreeDOS. Linux will recognize both SATA and IDE drives in any combination and configuration. The bad: My configuration includes MS-DOS 6, which will not see any drives on the SATA card at all, so a mixed configuration is required, despite Liam's warnings. This does have consequences: The ugly: If the IDE drive is mounted on the secondary IDE channel, neither MS nor FreeDOS will see the IDE drive. If the IDE drive is mounted on the primary IDE channel, the SATA card is not bootable (the BIOS seems to try booting from the primary IDE channel and then gives up without passing boot off to the SATA card, so Grub has to be on the IDE disk), but at least both MS and FreeDOS will see the IDE disk. FreeDOS itself will still see the SATA disk. However, in this configuration FreeDOS fdisk claims to find no fixed disks. MS fdisk claims a bogus HDD size, so only Linux tools can be used to reliably partition the disk (despite giving dire warnings about messing with FAT volumes containing bootable MS-DOS systems). My configuration includes Win95 (though I can run most of what I'd run there on other machines, so it's not as critical). Win95 has no drivers for the SATA card (earliest drivers are WDM drivers, so Win98 at the earliest). Win98 is supposed to support the card, but its installer seems to run completely under DOS, and doesn't give an opportunity to load drivers before installing, so it only sees the IDE disk. Because of my BIOS's limitations in dealing with large drives, it will take some finagling of partition sizes and locations to allow both DOS 6 and Win98 to boot from the IDE disk whilst giving both a decent amount of space (though hopefully Win98 will be able to use a FAT32 partition on the SATA disk as a data/program disk once the drivers are installed). Still, despite everything under "the ugly", the most crucial elements of my configuration are up and running with a lot more space than they used to have. Jon Brase On 3/11/21 4:37 AM, Liam Proven wrote: I do not see any info about what the host machine is. If it is new enough to have PCI slots, then a SATA controller with a BIOS of its own should, in theory, bypass all this nightmare. Citation with model recommendations: https://www.vogons.org/viewtopic.php?t=62958 A firmware-equipped SATA controller (i.e. not some cheap thing that just adds additional ports and is not bootable) will appear to the PC as a SCSI controller and its firmware will take over the INT13 BIOS calls for disk access completely. If you do decide to go that route, though, I advise _against_ mixing SATA and EIDE/PATA disks. Let the SATA controllers' firmware take over completely and do not use the motherboard's EIDE channels at all. ___ Freedos-user mailing list Freedos-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-user ___ Freedos-user mailing list Freedos-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-user
Re: [Freedos-user] PCI SATA adapters with DOS
Hi Frank, the UDMA driver is old and the UIDE driver is a stripped down, merged version of what you would get when loading both UHDD and UDVD2 separately. So unless you want to boot from a 360k floppy on your Pentium PC with UDMA, you should probably always use UHDD and UDVD2, not the others ;-) Also, please use the newest versions of UDVD2 and UHDD: http://mercurycoding.com/downloads.html#DOS The drivers make access to BIOS disks with UDMA faster, more reliable (load UHDD before EMM386 if your BIOS has EMM386 compatibility issues, for example!) and cached, but they will NOT add drive letters for harddisks or SSD which were not already visible at boot. They WILL help you to add drive letters for CD/DVD/BD drives, together with SHSUCDX (or MSCDEX) which has to be loaded after UDVD2. Note that UDVD2 must be loaded after UHDD to let both share the cache of UHDD :-) Regards, Eric > I'm wondering if loading some driver such as UHDD / UIDE / udma2 > would improve something about large disk support. Won't help you with > the boot disk, but could improve accessibility of the non-boot > drives: > > https://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/dos/udma/deve > l/ > > https://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/distributions > /1.2/repos/drivers/uide.zip > > https://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/distributions > /1.2/repos/drivers/uhdd.zip ___ Freedos-user mailing list Freedos-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-user
Re: [Freedos-user] PCI SATA adapters with DOS
Dobry den Franto, I will continue in English: 1) FreeDos should have some SATA driver because you can install it on new hardware, right? 2) Booting will be a problem on old MB. Get XT IDE eeprom and put it in Ethernet NIC for example to get boot options even for 386 and bypass size limitations 3) On old PC I found good Sata PCI that are PCI 2.1 compliant. Im on phone, I dont remember the name now. It should be doable even on 486 and Pentium 1. S pratelskym pozdravem, Lukas Satin On Wed 23. 6. 2021 at 13:43, Frantisek Rysanek wrote: > Dear Mr. Brase, > > thanks for the detailed report... I wasn't paying attention back in > March, so I don't recall what motherboard and BIOS you have there... > but in general that probably doesn't make too much of a difference > :-) What you're complaining about (boot sequence / ordering of disk > controller channels and drives) is primarily a BIOS issue, with > MS-DOS adding a handful of quirks of its own... > > I'd like to praise you for coping so well (scouting by way of > fighting). And, "Linux" is indeed the king of the hill, when it comes > to disk partitioning - or rather, the tools such as fdisk, gdisk and > others, coming in modern distroes (these tools keep evolving). Thumbs > up for learning about the underlying principles. > > Your SATA controller does have a BIOS option ROM baked in, which > fortunately is somewhat compatible with the BIOS on your motherboard. > There are several ways (some of them "feral", plus the BBS API) of > engaging the SATA option ROM or individual drives in the BIOS boot > sequence. Generally the SATA controller's OPROM can hook maybe two > different "software interrupts" (if memory serves) to force itself > before or after the onboard BIOS boot sequence, or it can offer the > disk drives detected as individual BIOS disk drives to the host BIOS > for its own boot sequence (thus leaving the ordering of individual > drives at the discretion of the host BIOS and its SETUP). > I recall seeing some disk controller OPROM that would give you a > choice, what method of hooking the boot sequence to use (INT18h, > INT19h, PnP BBS). > > On top of that, different brands, generations, versions, and > mobo-maker-flavours of BIOSes have different user-visible approaches > to boot device ordering. This alone would warrant a howto of its own. > Unfortunately some BIOSes were/are just stupid and limited in what > they allow you to do. > > If you don't like the way these issues are handled by your particular > combination of motherboard BIOS and the SATA controller's option ROM, > you should check for a BIOS update especially for the motherboard's > BIOS - if you haven't done that yet, chances are, that a more modern > BIOS, if available, has added some intelligence in that area. > > I recall trying some Russian hacker tools for vintage Award BIOSes, > that were able to improve support for large disk drives > http://www.rom.by/articles/BP/index_english.htm > Beware, this could brick your motherboard. I had a HW programmer as a > retreat path. > And, that project is really old now. It added support for disk drives > up to 137 GB - this particular boundary has long been exceeeded, we > are now past another boundary at 2 TB. > And, it probably does nothing about the way the BIOS Boot Sequence is > approached and manipulated by the SETUP of your BIOS (and its runtime > logic). > > Unless you install a device driver, DOS uses disk drives it learns > about from the BIOS - and accesses them via the BIOS Int 13h > services. Accepts them in the order as supplied by the BIOS. Windows > 95 and 98 would do the same for disks from controllers where they > don't have their own 32bit driver. > > What *drive* gets selected for loading the 1st-stage bootloader (in > the drive's MBR), that's strictly a choice on part of the BIOS > including any OPROMs hooking it. MS-DOS does not have a say. > What *partition* on that drive (or some other drive?) gets > chain-loaded next, that's the bootloader's choice. Actually it may be > a second boot-loader stage in the "active" partition's boot sector > (MS-DOS style), or it can be a file from a file system, or > whatever... depends on what bootloader starts in the first stage and > how capable it is. > > I recall noticing some shenanigans with primary vs. extended > partitions on disk drives... MS-DOS would give the letter C: to the > first primary partition it would find, following up with *primary* > partitions on other drives, and then any extended partitions would > follow. I seem to recall that multiple "primary" partitions per drive > were not supported at all? I.e. MS-DOS would not "see" primary > partitions other than the first one in the drive's partition table. > FreeDOS seems more liberal in those respects. > > Not paying attention to the secondary IDE channel, if the primary > channel is unoccupied, that sounds like a pretty dumb BIOS to me... > > > DOS cannot see disks on the SATA controller, yet Linux is able to >
Re: [Freedos-user] PCI SATA adapters with DOS
Dear Mr. Brase, thanks for the detailed report... I wasn't paying attention back in March, so I don't recall what motherboard and BIOS you have there... but in general that probably doesn't make too much of a difference :-) What you're complaining about (boot sequence / ordering of disk controller channels and drives) is primarily a BIOS issue, with MS-DOS adding a handful of quirks of its own... I'd like to praise you for coping so well (scouting by way of fighting). And, "Linux" is indeed the king of the hill, when it comes to disk partitioning - or rather, the tools such as fdisk, gdisk and others, coming in modern distroes (these tools keep evolving). Thumbs up for learning about the underlying principles. Your SATA controller does have a BIOS option ROM baked in, which fortunately is somewhat compatible with the BIOS on your motherboard. There are several ways (some of them "feral", plus the BBS API) of engaging the SATA option ROM or individual drives in the BIOS boot sequence. Generally the SATA controller's OPROM can hook maybe two different "software interrupts" (if memory serves) to force itself before or after the onboard BIOS boot sequence, or it can offer the disk drives detected as individual BIOS disk drives to the host BIOS for its own boot sequence (thus leaving the ordering of individual drives at the discretion of the host BIOS and its SETUP). I recall seeing some disk controller OPROM that would give you a choice, what method of hooking the boot sequence to use (INT18h, INT19h, PnP BBS). On top of that, different brands, generations, versions, and mobo-maker-flavours of BIOSes have different user-visible approaches to boot device ordering. This alone would warrant a howto of its own. Unfortunately some BIOSes were/are just stupid and limited in what they allow you to do. If you don't like the way these issues are handled by your particular combination of motherboard BIOS and the SATA controller's option ROM, you should check for a BIOS update especially for the motherboard's BIOS - if you haven't done that yet, chances are, that a more modern BIOS, if available, has added some intelligence in that area. I recall trying some Russian hacker tools for vintage Award BIOSes, that were able to improve support for large disk drives http://www.rom.by/articles/BP/index_english.htm Beware, this could brick your motherboard. I had a HW programmer as a retreat path. And, that project is really old now. It added support for disk drives up to 137 GB - this particular boundary has long been exceeeded, we are now past another boundary at 2 TB. And, it probably does nothing about the way the BIOS Boot Sequence is approached and manipulated by the SETUP of your BIOS (and its runtime logic). Unless you install a device driver, DOS uses disk drives it learns about from the BIOS - and accesses them via the BIOS Int 13h services. Accepts them in the order as supplied by the BIOS. Windows 95 and 98 would do the same for disks from controllers where they don't have their own 32bit driver. What *drive* gets selected for loading the 1st-stage bootloader (in the drive's MBR), that's strictly a choice on part of the BIOS including any OPROMs hooking it. MS-DOS does not have a say. What *partition* on that drive (or some other drive?) gets chain-loaded next, that's the bootloader's choice. Actually it may be a second boot-loader stage in the "active" partition's boot sector (MS-DOS style), or it can be a file from a file system, or whatever... depends on what bootloader starts in the first stage and how capable it is. I recall noticing some shenanigans with primary vs. extended partitions on disk drives... MS-DOS would give the letter C: to the first primary partition it would find, following up with *primary* partitions on other drives, and then any extended partitions would follow. I seem to recall that multiple "primary" partitions per drive were not supported at all? I.e. MS-DOS would not "see" primary partitions other than the first one in the drive's partition table. FreeDOS seems more liberal in those respects. Not paying attention to the secondary IDE channel, if the primary channel is unoccupied, that sounds like a pretty dumb BIOS to me... DOS cannot see disks on the SATA controller, yet Linux is able to boot from the SATA card? How large are your SATA drives? What particular version is "MS-DOS 6" are you using - is that a "6.22", or rather "6.0" ? Isn't this merely a matter of partition size? I'm wondering if loading some driver such as UHDD / UIDE / udma2 would improve something about large disk support. Won't help you with the boot disk, but could improve accessibility of the non-boot drives: https://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/dos/udma/deve l/ https://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/distributions /1.2/repos/drivers/uide.zip