VOGONS


First post, by rkurbatov

User metadata
Rank Member
Rank
Member

I have a pretty uncommon RE321 network card (ISA, 16 bit) for my 386 build and I want to use it as a base for PROM for XT-IDE BIOS.

The label under the EEPROM socket says 27C64 that's why I supposed it supports only 8KB (64kbit) ICs. I have one 32KB (27C256) IC put in 3COM card with 12KB XT-IDE version on it. It works on 3COM and did not on RE321 that's why I wanted to give a try to 8KB version.

I put it on AT28C64 chip and it worked (I spent a day on that, but more on that later).

The problem is Checkit detects that XT-IDE occupies 16KB or 32KB of RAM depending on the initial address I set on my card via jumpers (C800 or CC00 give me 16KB, D000 - 32KB). The BIOS just duplicates 2 or 4 times (seems like address selection mechanism uses one or two extra address bits incorrectly.

Can I prevent that somehow?

On a sidenote... I started experimenting with XT IDE based on Necroware Youtube videos. He used the old versions of XT-IDE, flashing them directly without configuration. I repeated this process for my first build and it went well, but when I was searching for the XT-IDE firmware again, I found the fresh builds. They say that BIOS should be preconfigured but I did not pay much attention to it as I thought that if it worked without configuration it should work later.

I spent a day trying different configurations of memory and cards, duplication of BIOS on the same IC or shortening high memory address pins with GND! I suspected my network card isn't working - but Checkit showed me XT-IDE signature with 55 AA in the beginning! It just should have been working but it did not... Until I took 8KB version from the old XT-IDE package (the one from 2013).

Another interesting problem - after I was playing with IC swapping between two cards I tried to read and write the BIOS on AT28C64 one more time. I was surprised when I extracted it out of 3COM and saw it reads as FF AA instead of 55 AA. I don't know if it was a glitch or more intelligent 3COM card just reflashed the first byte to spoil the boot signature.

486: ECS UM486 VLB, 256kb cache, i486 DX2/66, 8MB RAM, Trident TGUI9440AGi VLB 1MB, Pro Audio Spectrum 16, FDD 3.5, ZIP 100 ATA
PII: Asus P2B, Pentium II 400MHz, 512MB RAM, Trident 9750 AGP 4MB, Voodoo2 SLI, MonsterSound MX300

Reply 1 of 6, by Tiido

User metadata
Rank l33t
Rank
l33t

It sounds like taht network card always uses 32KB window for its boot ROM and your 8KB EPROM image gets mirrored to fill that space. On 3com cards I use one can choose the size of the window and I make in 8KB so more is left for UMBs.

Last edited by Tiido on 2022-08-27, 15:04. Edited 1 time in total.

T-04YBSC, a new YMF71x based sound card & Official VOGONS thread about it
Newly made 4MB 60ns 30pin SIMMs ~
mida sa loed ? nagunii aru ei saa 😜

Reply 2 of 6, by rkurbatov

User metadata
Rank Member
Rank
Member

Not always, as I said it depends on memory offset - it's either 16KB (in two cases) or 32KB (third case).

And that's very strange, because they put 27C64 label on card. Like, if you support 8KB chips only why do you waste 8 or 16KB of precious RAM? This card is circa 1990, the time where every kilobyte counted.

486: ECS UM486 VLB, 256kb cache, i486 DX2/66, 8MB RAM, Trident TGUI9440AGi VLB 1MB, Pro Audio Spectrum 16, FDD 3.5, ZIP 100 ATA
PII: Asus P2B, Pentium II 400MHz, 512MB RAM, Trident 9750 AGP 4MB, Voodoo2 SLI, MonsterSound MX300

Reply 3 of 6, by Tiido

User metadata
Rank l33t
Rank
l33t

It comes down to how exactly the address decode hardware is built, and what you describe sounds quite consistent with a "cheap" implementation. More logic is needed to properly decode different sizes at every offset and it seems this card lacks that, or is just not configured right...

T-04YBSC, a new YMF71x based sound card & Official VOGONS thread about it
Newly made 4MB 60ns 30pin SIMMs ~
mida sa loed ? nagunii aru ei saa 😜

Reply 4 of 6, by rkurbatov

User metadata
Rank Member
Rank
Member

The only EPROM configuration option is the ROM offset so I would bet on 'cheap implementation' 😀

486: ECS UM486 VLB, 256kb cache, i486 DX2/66, 8MB RAM, Trident TGUI9440AGi VLB 1MB, Pro Audio Spectrum 16, FDD 3.5, ZIP 100 ATA
PII: Asus P2B, Pentium II 400MHz, 512MB RAM, Trident 9750 AGP 4MB, Voodoo2 SLI, MonsterSound MX300

Reply 5 of 6, by jakethompson1

User metadata
Rank l33t
Rank
l33t

Are you using EMM386? You might be able to do an I= option and force it to overlay some of the ROM's address space even though its detection features think it's unsafe.

Reply 6 of 6, by rkurbatov

User metadata
Rank Member
Rank
Member

Oh, that's interesting. Thank you, I will try.

486: ECS UM486 VLB, 256kb cache, i486 DX2/66, 8MB RAM, Trident TGUI9440AGi VLB 1MB, Pro Audio Spectrum 16, FDD 3.5, ZIP 100 ATA
PII: Asus P2B, Pentium II 400MHz, 512MB RAM, Trident 9750 AGP 4MB, Voodoo2 SLI, MonsterSound MX300