• Please review our updated Terms and Rules here

XTIDE Universal BIOS

PROBLEMS getting "Lo-Tech-Compact Flash Adapter" to initialize in ISA Slot on 8086 XT PC (Amiga Bridgeboard)

Hi,

I've been struggling few a while, trying many way to get a Lo-Tech 8 Bit ISA/IDE CF adapter working on my 8086 PC
The XT PC is is a Bridgeboard Accellerator card that is located inside a Amiga Chassis, (but the card mostly works indepedantly as a PC)

Specifically this version of the Adapter.
https://www.lo-tech.co.uk/wiki/Lo-tech_ISA_CompactFlash_Adapter_revision_2b

I have a two computers to test with to ensure things work (ie Flash Card, SD Card works)

The purpose is to replace my existing old Hard Drive Controller / Hard Drive Combination (WORKING, but too small, too slow, too old):
- The Current Controller is a (ISA 8 Bit) Western Digital (MFM/RLL) HD Controller (Model # WD10020-27X)
http://stason.org/TULARC/pc/hard-disk-floppy-controllers/U-Z/WESTERN-DIGITAL-CORPORATION-Two-RLL-ST506-412-driv-220.html
- The Current Hard Drive is a KALOK Ocatcon KL330 32 Mb
http://www.mfarris.com/hard_drives/kalok/kalok_kl330.html

The above is fully working. Tested by Norton and Spinrite (100% Pass)
Base address is C800, and I've proven I can access it via (MS DOS "debug" via -g c800:5, to Access the interactive Low Level Format BIOS)

I've tried to replace the HD controller/Drive with a (Lo-Tech-Adapter and (IDE Drive, IDE-CF Adapter, IDE-SDcard Adapter), and nothing works in the 8086 XT PC.

To prove that the parts work I also tested in a 486 PC running MS DOS6.2

I tested with a Seagate Maxtor IDE Hard Drive (Works in 486)
http://redhill.net.au/d/23.php

I tested with a Syba IDE to CF Flash Adapter (Works in 486)
http://www.ebay.ca/itm/400815453925?_trksid=p2057872.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT

I tested with a Secure Digital IDE to SD Card Adapter (Works in 486)
http://www.ebay.ca/itm/Secure-Digital-44-Pin-2-5-Male-IDE-to-SD-Card-Adapter-Amiga-NEW-SEALED/231881879210?_trksid=p2050601.c100085.m2372&_trkparms=aid%3D111001%26algo%3DREC.SEED%26ao%3D1%26asc%3D20140211132617%26meid%3D3157e9d1010e40b2a504a849f915bc55%26pid%3D100085%26rk%3D4%26rkt%3D4%26sd%3D151135715827%26clkid%3D2823388398356560022&_qi=RTM2247628

They all work in some way in the 486 (Directly attached via BIOS/Montherboard) and work with ISA/IDE adapter (on the same 486)

None of the POSSIBLE combination work in the 8086 setup on the ISA/IDE Adapter
I even tried two versions of the X-IDE Image
- The standard Image
https://www.lo-tech.co.uk/downloads/XT-IDE/lo-tech-isa-compactflash-adapter/xtide-r566-xt-cf-master-slave.zip
- and the Late Init version for Tandy
https://www.lo-tech.co.uk/downloads/XT-CF/ISA-CF-BIOS-r567-late-init.zip

None of above work in the 8086, but both work in the 486 (with a small glitch on the ISA/IDE adapter and Compact Flash)

In all configurations, I am picking up the Storage device as Master.

*** WHAT HAS BEEN NOTICED IS THIS ***
- Using the DEBUG "-g c800:0", I can see the lo-tech ISA/IDE adapter. I see the text for the banner message in Base Memory Location (I can also change jump and shift locations).
- ABOVE I see in 486 and 8086 (same location)

But in the 8086 it won't the ISA/IDE Card Won't Initialize.
Note the WD Controller on the same c800 address does initialize and I have a working C: Drive

I can provide more information, or do more tests.

Looking for some advice on how to debug more?
Maybe another X-IDE image to try (a mod)

Appreciate any assistance.

Here is a summary of the test configuration's and results in a PICTORAL TABLE

https://www.flickr.com/photos/147613604@N08/32955273971/in/dateposted-public/

If anyone is interested in the Arctecture of the Amiga and Bridgeboard, here is the design of the computer in detail
https://archive.org/details/Commodore_Amiga_A500_A2000_Technical_Reference_Manual_1987_Commodore
 
Just to add, the issue is that the XTIDE Universal BIOS is not initialising with the device in the bridge board. The Western Digital controller however does.
 
SUCCESS!! Lo-Tech ISA/IDE-CF Adapter Working in Amiga / Bridgeboard (8086) XT PC. (Initialized X-TIDE)

So I finally got the Lo-Tech Adapter working with X-TIDE Universal BIOS. I almost gave up.

I had some luck and DOUBLE stumbled upon the solution.

I've tested a few times and appears to be consistent Positive.

Further testing and understanding of exactly how things work is needed.
I'm no expert on Either Amiga or Bridgeboard, but a ton of testing and luck made things work.

SUMMARY:

1) The Amiga Bridgeboard boots on Powerup, but doesn't Active till the JANUS.library loads via the AMIGA workbench Boot disk.
2) However that isn't enough to Initialize the Lo-Tech / X-Tide
3) After Amiga Boots up, to active the 8086 XT you launch the PC-Window (Where the 8086 XT PC runs in)
4) But that still by itself won't initialized the Lo-Tech / X-Tide (since by design the Amiga Architecture Disables AutoBoot when a Controller/Hard disk in inserted into the ISA SLot)
5a) To enable HARD file Autobooting a File (Aboot.CTRL) is normally placed in the AMIGA (SYS:pC/System folder)
5b) Normally the Aboot.CTRL file has an entry that Points to a previously created HARD file on the Amiga Side
5c) But if that file is there, the PC XT will boot from the File like a normal C: Drive
5d) During multiple testing, I by accident removed the HARD file Entry from the Aboot.CTRL file (to supress the error Message, since I removed the HARD FILE)
5e) Had I remove the file (not emptied it), things wouldn't work, since AUTOBOOT would be disabled (thus no initialization of LO-Tech/X-Tide)
6a) That still would be enough since if the Amiga sensed the Lo-Tech Adapter via INIT it wouldn't turn on AutoBooting
6b) So it's IDEAL that Lo-Tech does not get recognized on Power up on the PC XT ISA bus.
6c) The 2nd Stumble luck was I didn't reboot the Amiga, and I had the DOS Floppy disk out of the A: Drive
6d) Instead of Power Reboot, I did a CTRL-ALT-DEL to reboot the XT PC 8086 a 2nd time, while amiga side was up, and Autoboot enabled with the empty Aboot.CTRL File.
6e) That triggered a normal XT PC boot, and since JANUS.library on Amiga Side was already started, the boot was a Standard Phoenix BIOS boot
6d) That 2nd XT Boot now does a initialization of the Lo-Tech Adapter with X-Tide BIOS, and the IDE connected device boots

The X-TIDE Firmware Image I used in the Lo-Tech is the First one in above post. No the Delayed Init/Tandy version.

I tested with the IDE-Seagate Maxtor Drive and it works.
I also tested with the Secure Digital SD-Card Adapter and it works. (Picture below)
Haven't tested with the Compact Flash Adapter, but I'm pretty sure it will work.

Here is proof things worked. Retested a few times and the sequence describe above is working/consistent.

2017-02-27_Double-Reboot-AfterAmigaPartitionCreated-VintageSmall.jpg
 
Anyone had any luck using a flashed PROM with the latest version of the XUB on a 3Com 3C509-TP card? I can't seem to work out how to get it to work, it does work on the XT-IDE rev 3 card I have, so I know the BIOS is flashed right. I am guessing I need to somehow enable the ROM socket or put it at a certain address, but there are no jumpers on this card.

With the BIOS chip installed on the card, there is no XT-IDE BIOS screen at all in the 5170 I am trying to use it on.

Thanks in advance!
 
You will have to use software to configure the card, Enable the boot rom etc. Download 3c509x2.exe from [ Here ] and extract the contents, Put 3C5X9CFG on a DOS boot floppy and run it on your 5170 and hopefully it will find your card and you can configure it.
 
Does anyone have ant information on this YouTube video?
https://www.youtube.com/watch?v=8qpPAQ9nQoU&feature=youtu.be

I have the same XT-CF card by Lo-tech and the video gives the impression that Kiselev's FDC 2.2 was combined with the XT-IDE to now give 1.44 mb access to the old 8080 bios.

I have tried attaching them together and loading to the card in a few ways. I get the FDC config menu, but it won't write it to the EEPROM. After that it will boot normally to the XT-IDE but with no floppy access at all.
 
...I have tried attaching them together and loading to the card in a few ways. I get the FDC config menu, but it won't write it to the EEPROM. After that it will boot normally to the XT-IDE but with no floppy access at all.

It won't write to the EEPROM because the FDC config utility does not support the EEPROM used in the Lo-Tech card, Configure the bios first and then flash the EEPROM or use a different FDC Bios.
 
Using the FDC 2.2 documentation I found the configuration settings at the end of the file. I was able to edit the file and figure the checksum, but was only able to get it to work for 720 kb floppy disks. 1.44 MB will ot work at all on this Compaq Portable model 101709 8080. I suppose that the floppy controller is the limitation there. The next project is to build a new FDC. So far the lo-tech XT-CF and this fdC patch allows access to a A: 360 kb, B: 720 kb and C: 30 MB CF card, which is mounted by the expansion slots so I can easily pop in whatever OS, that I want o experiment with.
 
Ok, I have the XT-IDE Universal BIOS on an Atmel 28C256 ROM chip. It works in a generic nic that I have, but I am trying to swap that card out with a 3Com 3C509B card. But I cannot get the XT-IDE bios to load. I have the card set to use D000 - D3FFF, which is matches the other card. But even with the chip installed the 3Com config utility complains about no PROM installed or a conflict (neither is true). And when the system starts it does not load the XT-IDE at all.

So any ideas on what I am doing wrong here? I did try setting the PROM chip size to 32K, and then 16K, neither worked.
 
Is the I/O base address for the 3C509B the same as the other nic ?, If you change the I/O base address you must reconfigure the XUB and re-flash, It might be though that the 3C509B is not compatible with the Atmel 28C256 EEPROM, Can you burn a 27x EPROM and try that, Have you used that 3C509B before and know it's working corectly.
 
Is the I/O base address for the 3C509B the same as the other nic ?, If you change the I/O base address you must reconfigure the XUB and re-flash, It might be though that the 3C509B is not compatible with the Atmel 28C256 EEPROM, Can you burn a 27x EPROM and try that, Have you used that 3C509B before and know it's working corectly.

I did set the I/O address to be the same (D0000) as the other nic. And the 3c509b does work just fine. I was using it last night to connect to our IRC channel. What is a 27x EPROM?

Is it possible to use the XUB in one of the optional ROM sockets on the 5170 motherboard?
 
Not the ROM address, The base I/O address for the 3C509B ie: 300h etc. 27x = 2764 - 27C64 / 27128 - 27C128 / 27256 - 27C256 EPROMs, I've never tried anything in those optional ROM sockets myself.
 
Not the ROM address, The base I/O address for the 3C509B ie: 300h etc. 27x = 2764 - 27C64 / 27128 - 27C128 / 27256 - 27C256 EPROMs, I've never tried anything in those optional ROM sockets myself.

It was the same. But I also tried a few different I/O addresses on the other NIC without re-flashing and it did not affect the XUB functions at all, and I did try a few different I/O address on the 3com. It seem to ignore the ROM all together. Right now the 3com is set to 280h and the other is 300h, originally the first nic was set to 280h.


I don't think I have any 27x Roms to try, what is the difference between a 28x and a 27x PROM?


EDIT: Found this in the technical reference for the EhterlinkIII cards. Any info here that might explain the issue?

CMOS EEPROM Support
The 3C509B supports the use of CMOS EEPROM for the boot ROM. Such boor ROMS work exactly the same as the previous version of the boor ROMs, but can be updated if desired. This allows updatable boot ROMs to be built for the 3C509B at a much lower production cost than for the 3C509.

Changed ROM Support
The 3C509B changes the ROM support in a variety of ways; full decode of the ROM address allows the use of real 8 K or 16 K parts if desired (rather than 32 K parts with multiple copies of the 8 K or 16 K images), support for 64 K parts, and support for switching 16 K windows into any part larger than 16 K. It is no longer possible to use a 32 K part without window switching.
 
Last edited:
28x are EEPROMS which can be erased / flashed in the XT-IDE cards using XTIDECFG.COM, 27x are Eproms which are programmed in a Prom Programmer. I suspect that the 3C509B is not compatible with the Atmel EEPROM 28C256, I don't have any i could try though.
 
28x are EEPROMS which can be erased / flashed in the XT-IDE cards using XTIDECFG.COM, 27x are Eproms which are programmed in a Prom Programmer. I suspect that the 3C509B is not compatible with the Atmel EEPROM 28C256, I don't have any i could try though.

See my edit from the last post, but the technical reference specifically calls out the chips as CMOS EEPROMs, so I am really not sure if that makes a difference or not.
 
Is the I/O base address for the 3C509B the same as the other nic ?, If you change the I/O base address you must reconfigure the XUB and re-flash
Sorry Malc but this is incorrect. XUB doesn't need to know the I/O address of the NIC it's on, only the I/O address of the IDE interface(s), otherwise it wouldn't be able to communicate with the harddrive(s).

Is it possible to use the XUB in one of the optional ROM sockets on the 5170 motherboard?
It depends on what address range the XUB will end up in and if the system BIOS will scan for option ROMs in that area. You might have to mod the system BIOS slightly if it doesn't scan high enough in the UMA.

BTW, are you aware of the incompatibility between the IBM system BIOS (all three versions) and the XUB? You will need to use some other system BIOS than the original IBM BIOS.

EDIT: Found this in the technical reference for the EhterlinkIII cards. Any info here that might explain the issue?
Try filling the ROM with copies of XUB. For example, if the ROM window (and the XUB) is 8 KB, then try writing 4 copies of the BIOS to one file and flash that to the ROM;
Code:
copy/b xub.bin+xub.bin+xub.bin+xub.bin result.bin
 
Sorry Malc but this is incorrect. XUB doesn't need to know the I/O address of the NIC it's on, only the I/O address of the IDE interface(s), otherwise it wouldn't be able to communicate with the harddrive(s).

Yeah i realized that a while after i posted that it didn't matter on the nic.
 
Sorry Malc but this is incorrect. XUB doesn't need to know the I/O address of the NIC it's on, only the I/O address of the IDE interface(s), otherwise it wouldn't be able to communicate with the harddrive(s).
Yeah, I figured this was the case as I've been shifting the address around a fair bit with my testing.


It depends on what address range the XUB will end up in and if the system BIOS will scan for option ROMs in that area. You might have to mod the system BIOS slightly if it doesn't scan high enough in the UMA.

BTW, are you aware of the incompatibility between the IBM system BIOS (all three versions) and the XUB? You will need to use some other system BIOS than the original IBM BIOS.

Yes. I am running the AMI BIOS in the system. What is the best way to determine if the BIOS can do this? Just plug the EERPOM into the socket and see what happens?

Try filling the ROM with copies of XUB. For example, if the ROM window (and the XUB) is 8 KB, then try writing 4 copies of the BIOS to one file and flash that to the ROM;
Code:
copy/b xub.bin+xub.bin+xub.bin+xub.bin result.bin


After some chatting in the IRC channel someone pointed out the pin differences between the 28C256 and the 27C256 and suggested I run pin 1 on the chip to pin 27 on the socket, then run pin 27 on the chip over to pin 28 on the chip (to disable WE). I jerry rigged this to test it and it worked perfectly. So now I just need work out how to make this change temporary enough that I can undo it in the event I need to update or change XUB.
 
The schematic I saw has a switch line for the write enable.
Just turn off the signal to the WE\. It should have a pullup resistor.
It will disable writes.
Dwight
 
Back
Top