• Please review our updated Terms and Rules here

XTIDE Universal BIOS

Just created another BIN including the ADVANCED module. But XTIDECFG didn't enable me to change the configuration (*) so I did it by hand: the addresses (300h and 308h) and type (04). Result: worked :)
Next step: editing the source code to remove the XT-CF related parts regarding the registers, the addresses and the type. IMHO the type should be 6. To be sure, can anyone confirm this, please?

First, I don't know what you mean by "type"? Second, if it worked, why would you want to remove code? I guess I don't understand what you are trying to accomplish really.

(*) I still haven't found out why XTIDECFG will let me change the configuration of one bin and won't let me with another one. Who can explain this, please?

There is a version check that will prevent XTIDECFG from modifying the ROM variables of an incompatible version of the BIOS so you need to use a copy of XTIDECFG made from roughly the same SVN revision as the BIOS. I guess you tried to use an older version?
 
First, I don't know what you mean by "type"?
IDEVARS.bDevice

Second, if it worked, why would you want to remove code?
Forget that remark, wrong thought.

I guess I don't understand what you are trying to accomplish really.
The XT-CF card is an IDE interface, but only 8 bits wide. If you put a 16-bits IDE interface from an AT into a XT, you will end up with an interface that is only 8-bits wide. I don't own a XT-CF interface but having several AT IDE interface laying around, I thought it was cheaper (yes, I'm Dutch :)) to alter Universal BIOS to make it think that it is handling a XT-CF.

I guess you tried to use an older version?
No, I'm very sure of that. But I'm also sure that it will turn out that it is something that I did wrong (again) :)
But it is not that important. My main goal is to create sources that at the end on their turn create the needed BIN. And DEBUG turned out to be a good friend as well.
 
Last edited:
The XT-CF card is an IDE interface, but only 8 bits wide. If you put a 16-bits IDE interface from an AT into a XT, you will end up with an interface that is only 8-bits wide. I don't own a XT-CF interface but having several AT IDE interface laying around, I thought it was cheaper (yes, I'm Dutch :) to alter Universal BIOs to make it think that it is handling a XT-CF.

Right! So this is already supported in R566 using controller type "16-bit in 8-bit slot". Do not choose controller type XT-CF, as it uses different register address mapping.

You will need to build from source and exclude the late initialisation modules.

Also, the media supported is only ATA-2 compliant hard drives, Microdrives and CompactFlash. Standard 16-bit IDE hard-drives *will not work*, because they don't support 8-bit transfer mode.

Hope that helps!
 
Hallo James,

You will need to build from source and exclude the late initialisation modules.
One question: do I need the ADVANCED mode as well?

Anyway, I ran into an old problem. Remember an earlier post mentioning I couldn't configure my BIN? XTIDECFG won't work on the BINs I made by using MAKE and MAKEFILE. I'm only talking about the 8 KB XT ones because I'm not interested in the bigger or AT ones. But it does work on the BIN I extracted from the downloaded ZIP.

So I used XTIDECFG on the original IDE_XT.BIN and there I could change the configuration. I chose '8 bits' and the addresses were changed automatically. Then I compared the new file with the original one. Only 6 bytes had been changed:
- the addresses at 51h..54h
- the device type at 55h changed from 06h to 04h
- the checksum byte at 1FFFh changed

As next step I created two XT BINs, both W/O the LATE_INITIALIZATION, one with and one W/O the ADVANCED module. Using the editor of my programmer I changed the six bytes mentioned above.

For the rest I can be short: neither BIN was able to recognize the CF card :(

Did I miss something?
 
... Should work, Works on my Cards anyways.
No, it didn't. But to make a very long story short: during all those test I used a CF card that isn't ATA-2 compatible! This card is a TwinMOS Ultra-X 256 MB. Just in case some of you find one.

The moment I started to use a Transcend CF 128 MB, things looked different: it was recognized. But unfortunately it wasn't the end of my trouble, moments after starting up FDISK I got an error: error while reading the fixed disk (translated from Dutch). Changing the card for other sizes/brands didn't help.

But I wanted to have the boot menu anyway so I created my own BIN: MODULE_HOTKEYS MODULE_BOOT_MENU MODULE_8BIT_IDE. And... things worked like a charm :)

So at the end it seems that all the stress I had and also put on you was caused by an incompatible CF card!

But two questions remain:
- why doesn't XTIDECFG work?
- what causes the FDISK error when only using the TINY module?
I'm just asking out of curiousity, I don't need XTIDECFG actually and I'm happy with the working configuration :)

And thank you all for your help and patience !!!
 
Last edited:
Great! You need to build xtidecfg along with the BIOS image from the same revision. Hope that helps!
 
- why doesn't XTIDECFG work?

Like Krille and James said build a new copy of XTIDECFG from the same revision of the SVN Bios, If you use an older version of XTIDECFG on a newer Bios it likely won't work, Same goes for a newer version of XTIDECFG on an older Bios.

- what causes the FDISK error when only using the TINY module?

It used to work with the XT_TINY build but i just tried it on a spare raw CF card connected to my XT-IDE REV 1 card and a 16-bit IDE/Floppy card and the Bios R566 saw the CF card but when i ran FDISK it reported " No Fixed Disk Present ", I Re-built the bios adding MODULE_HOTKEYS and went on to FDISK / Partition and format the card with no problems. I don't know what's happened there maybe a change somewhere down the line.

Anyways you got there in the end :)
 
It used to work with the XT_TINY build but i just tried it on a spare raw CF card connected to my XT-IDE REV 1 card and a 16-bit IDE/Floppy card and the Bios R566 saw the CF card but when i ran FDISK it reported " No Fixed Disk Present ", I Re-built the bios adding MODULE_HOTKEYS and went on to FDISK / Partition and format the card with no problems. I don't know what's happened there maybe a change somewhere down the line.

Ruud and Malc, thank you both for finding and verifying this bug! MODULE_HOTKEYS and MODULE_BOOT_MENU both include MODULE_DRIVEXLATE and I suspect that not including this module is somehow causing the problem.

If you feel like testing this, try adding only MODULE_DRIVEXLATE to the DEFINES_XT_TINY line in the makefile.
 
Like Krille and James said build a new copy of XTIDECFG from the same revision of the SVN Bios
Just did it. But:
- the created file is called IDECFG.COM (as defined in MAKEFILE)
- it is displayed in B/W instead of colour
- it won't configure my files either
I checked the MAKEFILE for switches, defines or whatever but nothing found.


It used to work with the XT_TINY build but i just tried it on a spare raw CF card connected to my XT-IDE REV 1 card and a 16-bit IDE/Floppy card and the Bios R566 saw the CF card but when i ran FDISK it reported " No Fixed Disk Present ", I Re-built the bios adding MODULE_HOTKEYS and went on to FDISK / Partition and format the card with no problems.
I really feel relieved now someone confirmed my findings.
 
Everything in the Configurator folder is for the old version of the configurator (which is called IDECFG.COM and is used for v1.1.5 and older versions of the BIOS).

You've probably figured this out already but you should run "make all" in the XTIDE_Universal_BIOS_Configurator_v2 folder to make XTIDECFG.COM.
 
If you feel like testing this, try adding only MODULE_DRIVEXLATE to the DEFINES_XT_TINY line in the makefile.

Yes that works, I Removed MODULE_HOTKEYS and added just MODULE_DRIVEXLATE and was able to FDISK / Partition and format a raw CF Card with no problems :)
 
XTIDE BIOS and SideCar

XTIDE BIOS and SideCar

Hi,

I've recently built a Lo-Tech XT-CF board. It worked perfectly on my Olivetti M24 (idem Logabax 1600 / AT&T 6300), I had been able to setup a 32Gb partition over a 128Mb CF, setup a bootable DOS 3.3 went quite well.

The trouble comes when I try to use it into my Sidecar [an hardware XT expansion module for the Amiga1000]. the BIOS does not seem to initialize at all while BIOS contents is available under debug at c800. XTCFMODE for devices from 80 to 83 shows "device is not an xt-cf" error.

Would someone have any suggestion ? Is there a solution to initialize XTIDE after boot time ?

Regards - Hervé
 
Hallo Hervé,
Is there a solution to initialize XTIDE after boot time ?
Regarding initializing the ROM after boot time should be possible. But the disadvantage: you have to boot from floppy first. As it seems that the BIOS of the Sidecar lacks the feature to initialize external ROMs, my first idea would be to hack the BIOS and add this feature.
If that is too difficult for the moment, first try it in debug: "g=c800:3". It is just an idea, don't know if it works. If it works, write a little program that those the same and place it in AUTOEXEC.BAT of the floppy. Placing it in CONFIG.SYS should be possible as well but takes a bit more programming effort. I also wouldn't know of any advantage of doing so; I don't know a way to switch to the XT-CF board at that moment. In the AUTOEXEC.BAT is it no problem to switch to an AUTOEXEC.BAT (equivalent) on the CF card.
 
No way, Rudd, I've already tried G=C800:3 ... It just hangs .... but it does not kill completely the sidecar as I still can reboot it with CtrlAltDel. (another difference with mt M24 test is the "color" mode, on the M24, I was on MDA, not on CGA ... May be it'll change something ?)

James, what are you meaning with "late initialisation" (how to do that) ?

I will eventually try with an external video board if I can find one somewhere (true 8 bit VGA) but I'm affraid that it'll make things more complex.

Hervé
 
There are several ways the machine's BIOS will initialise option ROMs, and some work in different ways. For the Tandy 1400 laptop Tomi kindly added some very late initialisation code, which needs to be built from source with the option enabled (checkout the code via svn) which was the only way we could get the BIOS to be initialised. It's not perfect, but it works :)
 
Back
Top