Announcement

Collapse

Forum Rules and Etiquette

Our mission ...

This forum is part of our mission to promote the preservation of vintage computers through education and outreach. (In real life we also run events and have a museum.) We encourage you to join us, participate, share your knowledge, and enjoy.

This forum has been around in this format for over 15 years. These rules and guidelines help us maintain a healthy and active community, and we moderate the forum to keep things on track. Please familiarize yourself with these rules and guidelines.


Rule 1: Remain civil and respectful

There are several hundred people who actively participate here. People come from all different backgrounds and will have different ways of seeing things. You will not agree with everything you read here. Back-and-forth discussions are fine but do not cross the line into rude or disrespectful behavior.

Conduct yourself as you would at any other place where people come together in person to discuss their hobby. If you wouldn't say something to somebody in person, then you probably should not be writing it here.

This should be obvious but, just in case: profanity, threats, slurs against any group (sexual, racial, gender, etc.) will not be tolerated.


Rule 2: Stay close to the original topic being discussed
  • If you are starting a new thread choose a reasonable sub-forum to start your thread. (If you choose incorrectly don't worry, we can fix that.)
  • If you are responding to a thread, stay on topic - the original poster was trying to achieve something. You can always start a new thread instead of potentially "hijacking" an existing thread.



Rule 3: Contribute something meaningful

To put things in engineering terms, we value a high signal to noise ratio. Coming here should not be a waste of time.
  • This is not a chat room. If you are taking less than 30 seconds to make a post then you are probably doing something wrong. A post should be on topic, clear, and contribute something meaningful to the discussion. If people read your posts and feel that their time as been wasted, they will stop reading your posts. Worse yet, they will stop visiting and we'll lose their experience and contributions.
  • Do not bump threads.
  • Do not "necro-post" unless you are following up to a specific person on a specific thread. And even then, that person may have moved on. Just start a new thread for your related topic.
  • Use the Private Message system for posts that are targeted at a specific person.


Rule 4: "PM Sent!" messages (or, how to use the Private Message system)

This forum has a private message feature that we want people to use for messages that are not of general interest to other members.

In short, if you are going to reply to a thread and that reply is targeted to a specific individual and not of interest to anybody else (either now or in the future) then send a private message instead.

Here are some obvious examples of when you should not reply to a thread and use the PM system instead:
  • "PM Sent!": Do not tell the rest of us that you sent a PM ... the forum software will tell the other person that they have a PM waiting.
  • "How much is shipping to ....": This is a very specific and directed question that is not of interest to anybody else.


Why do we have this policy? Sending a "PM Sent!" type message basically wastes everybody else's time by making them having to scroll past a post in a thread that looks to be updated, when the update is not meaningful. And the person you are sending the PM to will be notified by the forum software that they have a message waiting for them. Look up at the top near the right edge where it says 'Notifications' ... if you have a PM waiting, it will tell you there.

Rule 5: Copyright and other legal issues

We are here to discuss vintage computing, so discussing software, books, and other intellectual property that is on-topic is fine. We don't want people using these forums to discuss or enable copyright violations or other things that are against the law; whether you agree with the law or not is irrelevant. Do not use our resources for something that is legally or morally questionable.

Our discussions here generally fall under "fair use." Telling people how to pirate a software title is an example of something that is not allowable here.


Reporting problematic posts

If you see spam, a wildly off-topic post, or something abusive or illegal please report the thread by clicking on the "Report Post" icon. (It looks like an exclamation point in a triangle and it is available under every post.) This send a notification to all of the moderators, so somebody will see it and deal with it.

If you are unsure you may consider sending a private message to a moderator instead.


New user moderation

New users are directly moderated so that we can weed spammers out early. This means that for your first 10 posts you will have some delay before they are seen. We understand this can be disruptive to the flow of conversation and we try to keep up with our new user moderation duties to avoid undue inconvenience. Please do not make duplicate posts, extra posts to bump your post count, or ask the moderators to expedite this process; 10 moderated posts will go by quickly.

New users also have a smaller personal message inbox limit and are rate limited when sending PMs to other users.


Other suggestions
  • Use Google, books, or other definitive sources. There is a lot of information out there.
  • Don't make people guess at what you are trying to say; we are not mind readers. Be clear and concise.
  • Spelling and grammar are not rated, but they do make a post easier to read.
See more
See less

XTIDE Universal BIOS

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Thank you for your quick reply.

    Yes, I am using XTIDE in order to [eventually] use a 64 GB CF card on this motherboard's built-in IDE controller. I am using an 8 GB CF card right now for testing purposes, which is why I can switch between XTIDE and no XTIDE BIOS.

    What is a DDO - some kind of Ontrak-like TSR program? If so, do any program names you might recommend?

    Are you suggesting that when the XTIDE BIOS loads, the PIO-4 mode setting from the MB's BIOS gets cleared, e.g. because the MB's IDE ROM data/setting are overwritten?

    I have my doubts that it is running in PIO-0 mode once XTIDE loads. When I set the MB's BIOS to PIO-0, remove the XTIDE BIOS, and reboot, the PIO-0 mode benchmarks at 3,250 KByte/s, not 1,200 KByte/s.

    I can load the official driver from UMC for the UM8881BF (file named UM8673.SYS) which fixes the DOS speed issue, but when I then go to boot Win95c, it is running in compatibility mode and the Windows benchmark speed reduces to 1200 KB/s. lol.

    Comment


      Originally posted by Krille View Post
      No, there's no support for floppy drives in XUB except for the virtual serial floppy drive functionality but that's a different beast altogether. Commands adressing drives not handled by XUB will be passed to the previous interrupt 13h handler in the chain, and this of course includes floppy drives (unless the handling of those has been relocated to interrupt 40h).
      Many thanks for your answer, and it makes perfect sense. Quite clever to use the drive being addressed to switch handler. Cheers!

      Comment


        Solution found here: https://www.vogons.org/viewtopic.php?p=989585#p989585
        Apparently address D000 on the Lo-tech card and in xtidecfg is really D0000. Note the extra 0. It might be a good idea to make note about this in the readme. https://xtideuniversalbios.org/

        Comment


          Originally posted by feipoa View Post
          Solution found here: https://www.vogons.org/viewtopic.php?p=989585#p989585
          Apparently address D000 on the Lo-tech card and in xtidecfg is really D0000. Note the extra 0. It might be a good idea to make note about this in the readme. https://xtideuniversalbios.org/
          This convention of using segment register-only addressing to denote hardware device memory addresses in real mode (effectively truncating the last 4 bits) is fairly universal in the PC world. You'll see it in most manuals of the era.
          My Retro-computing YouTube Channel (updates... eventually?): Paleozoic PCs Also: Blogspot

          Comment


            ...so not worth mentioning in the user documentation? I wasn't aware of this convention, so I am sure other common users may not be as well.

            Comment


              Not going to argue that it's a "user friendly" convention, but I took a look at the XTIDE docs and it does explicitly say when they use an address like "D000" they mean "Segment Address", and this is a product aimed at a technical audience. If you know the memory map of the PC you know that D000, aka, the 52k mark, isn't where an option ROM would go. RAM's on the bottom, after all.
              My Retro-computing YouTube Channel (updates... eventually?): Paleozoic PCs Also: Blogspot

              Comment


                Adding this simple case example to https://xtideuniversalbios.org/ might help others; if you don't care to, no problem. I've resolved my issue, added some feedback, and hope this post and the linked Vogons post might help others who run into the same issue with this convention.

                Comment


                  Krille Ive updated to v617 and only thing i did was use the cfg tool to calculate the checksum. Everything seems to work as it did before, except one thing the EBIOS section isnt reporting.
                  I was also trying to get grub4dos to load the boot menu between these 2 drivers. I followed a process i used on another machine (although newer) and it also give an error about no EBIOS.
                  I thought i saw there is a compile option for EBIOS, would this be in the normal 8 kb 386 build?

                  These are identical 256 MB CF cards, but are different brand from what i posted before.
                  BIOS Drive Information Tool v1.0.3
                  (C) 2012-2021 by XTIDE Universal BIOS Team
                  Released under GNU GPL v2
                  http://xtideuniversalbios.org/

                  -= Drive 80h =-
                  ATA-information from AH=25h...
                  Name : Delkin Devices CFX256E2G1-DABEG00
                  Cylinders : 980 , Heads: 16 , Sectors: 32

                  Will be modified to:
                  Cylinders : 980 , Heads: 16 , Sectors: 32

                  CHS sectors: 501760
                  LBA28 sectors: 501760
                  Block mode : Set to 1 from max 1 sectors
                  PIO mode : Max 4, Min cycle times: 120 ns, with IORDY 120 ns
                  XTIDE Universal BIOS v2.0.03+ (2021-08-10) generates following L-CHS...
                  Cylinders : 980 , Heads: 16 , Sectors: 32 , Mode: NORMAL
                  Old INT 13h information from AH=08h and AH=15h...
                  Cylinders : 980 , Heads: 16 , Sectors: 32

                  Total sectors: 501760
                  EBIOS information from AH=48h...
                  BIOS returned error code 1h

                  Press any key to display next drive.

                  -= Drive 81h =-
                  ATA-information from AH=25h...
                  Name : Delkin Devices CFX256E2G1-DABEG00
                  Cylinders : 980 , Heads: 16 , Sectors: 32

                  Will be modified to:
                  Cylinders : 980 , Heads: 16 , Sectors: 32

                  CHS sectors: 501760
                  LBA28 sectors: 501760
                  Block mode : Set to 1 from max 1 sectors
                  PIO mode : Max 4, Min cycle times: 120 ns, with IORDY 120 ns
                  XTIDE Universal BIOS v2.0.03+ (2021-08-10) generates following L-CHS...
                  Cylinders : 980 , Heads: 16 , Sectors: 32 , Mode: NORMAL
                  Old INT 13h information from AH=08h and AH=15h...
                  Cylinders : 980 , Heads: 16 , Sectors: 32

                  Total sectors: 501760
                  EBIOS information from AH=48h...
                  BIOS returned error code 1h

                  Comment


                    This is probably an out-there question, and I apologize if it has an answer that my Google-Fu has just utterly failed me at:

                    Is there any method for building from the XTIDE sources a binary that uses one of the configurable device types (I’m specifically most interested in 8-bit XT-CF) that instead of being a BIOS extension is a driver loadable from config.sys after booting from some other device? (Floppy or whatever.)

                    Reason I’m asking is I’m looking at trying to build some kind of mass storage for an extremely proprietary machine (IBM Convertible). There are some barriers to interfacing directly with the full expansion bus of the machine (the fact that matching connectors are apparently complete unobtanium is a very significant one) but I came up with a possible workaround for the I/O portion which involves targeting the internal modem header. This connector looks like it has all the signals necessary for an XT-CF port, but it can’t host a ROM. A config.sys loadable driver would thus be really useful to prove out the idea.

                    (This could potentially be useful for other ancient laptops/etc. that have similar I/O limitations.)
                    My Retro-computing YouTube Channel (updates... eventually?): Paleozoic PCs Also: Blogspot

                    Comment


                      Originally posted by Eudimorphodon View Post
                      ....Is there any method for building from the XTIDE sources a binary that uses one of the configurable device types (I’m specifically most interested in 8-bit XT-CF) that instead of being a BIOS extension is a driver loadable from config.sys after booting from some other device? (Floppy or whatever.)
                      Nope not that i know of

                      Reason I’m asking is I’m looking at trying to build some kind of mass storage for an extremely proprietary machine (IBM Convertible). There are some barriers to interfacing directly with the full expansion bus of the machine (the fact that matching connectors are apparently complete unobtanium is a very significant one) but I came up with a possible workaround for the I/O portion which involves targeting the internal modem header. This connector looks like it has all the signals necessary for an XT-CF port, but it can’t host a ROM. A config.sys loadable driver would thus be really useful to prove out the idea.

                      (This could potentially be useful for other ancient laptops/etc. that have similar I/O limitations.)
                      Don't know about a loadable driver via Config.sys, But have a read of This thread,https://www.vcfed.org/forum/forum/co...tead-of-EPROM= Booting from floppy should be possible, IIRC the code needs work but i did get it working on an old dell laptop back then.

                      Comment


                        Thanks for the link. It looks like it’s kind of a hit and miss method but I can take a shot at it. Should be able to just yank/blank the flash chip on one of my existing XT-CFs to prototype it.
                        My Retro-computing YouTube Channel (updates... eventually?): Paleozoic PCs Also: Blogspot

                        Comment


                          You'll need to work on the code, I remember i only got it working using 1.4M floppy disk's and only on a system with a HD floppy controller, It didn't work on my XT with stock controller and 720k disk, I can't see why it shouldn't be made to work though, But i'm no coder

                          Comment


                            Originally posted by Pickle View Post
                            Krille Ive updated to v617 and only thing i did was use the cfg tool to calculate the checksum. Everything seems to work as it did before, except one thing the EBIOS section isnt reporting.
                            I was also trying to get grub4dos to load the boot menu between these 2 drivers. I followed a process i used on another machine (although newer) and it also give an error about no EBIOS.
                            I thought i saw there is a compile option for EBIOS, would this be in the normal 8 kb 386 build?

                            These are identical 256 MB CF cards, but are different brand from what i posted before.
                            MODULE_EBIOS is included in all the official BIOS builds except for the Tiny build. The drives you are using are small enough to be running in NORMAL mode, meaning they are using CHS addressing. This is why BIOSDRVS reports error 1 - EBIOS functions are not allowed on drives using CHS addressing. If you really need to get EBIOS support for these drives to get grub4dos going then I suggest you force the drives to use LBA addressing instead. This is done in XTIDECFG and will require a reflash of the BIOS.
                            Looking for a cache card for the "ICL ErgoPRO C4/66d V"

                            Comment


                              On the Pre-built Binaries Download Centre page, I miss information about the differences between the particular builds.
                              For example, what is the difference between ide_386 and ide_386l?

                              And I have a request: could it be possible to pad the files to a power of 2 size?
                              This would be very convenient because in case you have only, say, 27256 or 27512 EPROMs handy, you could just concatenate copies of the binary to fill up the EPROM, so it can be used in place of a 2764 or 27128.

                              Thank you!

                              Comment


                                Originally posted by retardware View Post
                                On the Pre-built Binaries Download Centre page, I miss information about the differences between the particular builds.
                                For example, what is the difference between ide_386 and ide_386l?
                                There used to be a table on the front page listing builds and their build options but I removed it because it was outdated and was very hard to read anyway. I'll have to think of a way to add that back but without the clutter.

                                Anyway, builds with names ending with XT are for XT class machines with 8088 or 8086 processors. XTP (as in XT Plus) are for XT class machines with NEC V20 or V30 processors. Builds ending with AT are for AT class machines (286 and higher). Builds ending with 386 are for AT class machines with 386 (or higher) processors and also gives additional support for some VLB controllers.

                                If there's an L at the end of the name then that just means it's a Large build, meaning its size is 10 KB as opposed to just 8 KB. The difference between Large and Small builds is mostly that Large builds includes MODULE_BOOT_MENU (the module you need to have the boot menu), but also a couple of other modules that are deemed non-essential for most people having to use a particular Small build. For example, most people using a small AT build do not need support for the controllers that MODULE_8BIT_IDE_ADVANCED brings but if they have the ROM space to use a Large AT build then it is included. In short, the Large builds contain everything whereas in the Small builds we had to compromise in order to fit the modules that are useful to most people.

                                Finally, there's the 4 KB Tiny build which is just a no-frills version of the regular XT build. These are all the official builds and they are sufficient for most peoples needs. With that said, there are scenarios where none of the official builds are suitable (for example, if you want to have the boot menu in a 8 KB ROM) in which case I recommend making a custom build of the BIOS. See the build instructions linked in the wiki. You will also find info regarding modules and other build options there.

                                And I have a request: could it be possible to pad the files to a power of 2 size?
                                This would be very convenient because in case you have only, sbinay, 27256 or 27512 EPROMs handy, you could just concatenate copies of the binary to fill up the EPROM, so it can be used in place of a 2764 or 27128.

                                Thank you!
                                I'm not sure what you're requesting here. The BIOS files needs to be configured for the machine (with XTIDECFG.COM) and that will pad it to its required multiple of 2 KB size (usually 4, 8 or 10 KB but can be 6 KB also). The reason Large builds are 10 KB and not 16 KB is to make it easier for people to have several option ROM BIOSes coexist in the same ROM. For example, some people use a floppy BIOS concatenated with XUB in the same ROM.

                                Keep in mind that when you've saved a BIOS file with XTIDECFG that means it's been padded and checksummed so you can quite easily pad it further (to a power of 2 size) with anything (zeros or junk data doesn't matter). Easiest way is actually to use DEBUG since it is usually present on DOS systems anyway. Just load the BIOS file in debug and change the file size in the BX:CX register pair. Then hit W to save and Q to quit debug.

                                Example with a Large 386 build (10 KB padded to 16 KB);
                                Code:
                                A:\>debug ide_386l.bin
                                -r
                                AX=0000 BX=0000 CX=2800 DX=0000 SP=FFFE BP=0000 SI=0000 DI=0000
                                DS=130E ES=130E SS=130E CS=130E IP=0100 NV UP EI PL NZ NA PO NC
                                130E:0100 55 PUSH BP
                                -rcx
                                CX 2800 :4000
                                -w
                                Writing 4000 bytes
                                -q
                                Now you can just do this to get a 32 KB file in xub.bin;
                                Code:
                                copy/b ide_386l.bin+ide_386l.bin xub.bin
                                I hope this helps! Welcome to the forum by the way!
                                Looking for a cache card for the "ICL ErgoPRO C4/66d V"

                                Comment

                                Working...
                                X