Вы находитесь на странице: 1из 2

Short version:

I got my XT-IDE BIOS working in a 27256 filled with 2x16k images, installed in a
3C509B.

Long version:

OK, here's what I've learned so far.


I have a 3C509B-Combo - the important thing here is that I have a 3C509B not an
older 3C509.
I have an old Atmel 27C256R (120ns) EPROM - 32Kx8
The aim of the game was to use XT-IDE to allow me to access a 4.3Gb "mechanical"
disc drive.

I also got my hands on the "Etherlink III Parallel Tasking ISA, (blah blah) Adapter
Drivers Technical Reference"
available at https://www.janwagemakers.be/PIC18F452_3COM_3 � rnet/3c5x9b.pdf

From the Technical Reference document (and informed by 2764, 27128, 27256
datasheets) I found out the following:

3C509B
Supports all 28 pin ROMs - 2764, 27128, 27256, 27512 (No need for modified EPROMs
or NICs)
Can be configured to use "8k, 16k, 32k and 64k" ROMs
If you select a 32k or 64k device, the device has a 16k UMA window, and the NIC
uses a "ROM Option" register to allow bank switching in that window.
This means that the A14 and A15 pins on the ROM socket are driven, and are not
floating.

3C509
Does not explicitly support 27512
Supports all other 28 pin ROMs - 2764, 27128, 27256
Can be configured to use "8k, 16k, 32k" ROMs
If you select a 32k device, you get a 32k UMA window, which means A14 is determined
by the ISA bus, and the whole device is exposed.
It is possible that for 8k and 16k modes the A14 pin (pin 27) is tied to Vcc (this
pin is "not program enable" which is usually set to Vcc for read operations)
It is highly likely that the A15 pin (pin 1) is tied to Vcc (this pin is Vpp which
is usually set to Vcc for read operations)

From practical experience


If you use an old configuration program, you can only select 8, 16 or 32k devices.
If you use an old configuration program on a 509B, chosing 32k device will result
in a 16k window as per the hardware design.

If you do not have a ROM installed in the NIC, the configuration program will give
the warning message that others have seen.
(Hint: The program probably looks for the 55 AA signature at the ROM base address,
and nothing else)

I did the following:

Target PC configuration
* Installed the 3C509B with no OM onboard
* Booted the system with an old MS-DOS hard drive (540Mb) and ran 3C5X9CFG to
select 16k ROM at C8000H
Got the warning message, went ahead anyway.
XTIDE image preparation
* Copied IDE_386L.BIN and XTIDECFG.COM to an MSDOS virtual machine. This created a
new IDE_386L.BIN which was 10k in size.
* Copied the new IDE_386L.BIN file to my Linux box, padded it out to 16k (dd
if=/dev/zero bs=1 count=6144 >> IDE_386L.BIN )
* I then created a 32k image file (cat IDE_386L.BIN IDE_386L.BIN >
IDE_386L_27256.BIN
* I then loaded this into my EPROM programmer and burnt the EPROM.

Testing the EPROM


* Powered off the 486
* Inserted the EPROM in the card
* Got the expected output from the new BIOS extension and Successfully booted off
the 540Mb
* If I have any problems from this point, it's down to XT-IDE.

So, to end:
The 3C509B drives the EPROM A14 and A15 lines, no need to modify EPROM or card.
The 3C509 is a little less clear - in 32k mode, A14 gets driven. In other modes,
A14 probably gets forced to +5v, and A15 is probably tied permanently to +5v, but
it will need to be tested.

For 3C509 and 3C509B, pad out your image to 16k, and duplicate the image to fill
the device.
For 3C509B you can use 27256 or 27512 - and you can either select 16k or set the
actual device size.
For 3C509 stick to 2764 or 27128 unless you want to do some testing and use a 27256
or 27512 after selecting 16k device.

If you duplicate the image, and you know that the A14/A15 lines are being driven
high or low, you can be certain that whatever the card does to the pins, you will
always
get a 16k BIOS extension made available to the ISA bus, and you don't need to
concern yourself whether each pin is high or low.

Вам также может понравиться