VOGONS


Adlib Gold and VLB FDC conflict

Topic actions

First post, by Boohyaka

User metadata
Rank Oldbie
Rank
Oldbie

Hey folks,

I was in touch with Keropi about a weird issue I've been facing in my 486 VLB build, where after a lot of hit and miss troubleshooting it came down to Adlib Gold being responsible, to my complete surprise.

To make it short: as soon as the Adlib Gold is in the computer and independently of other factors (I've tried to be as thorough, iterative and consistent as possible with my testing, but nobody's perfect), floppy drives connected to a VLB IO controller card stop working.

- Floppy seek will work successfully if enabled in BIOS
- Computer won't boot to a floppy, LED will light up normally though, then go straight to HDD if any, or "INVALID BOOT DISK" error if no HDD connected.
- Problem still happens even with a single floppy drive and no hard-drive on the VLB IO, and jumpers disabling everything but the FDC
- If booting on HDD and trying to access floppy drives, they will light up as expected, but give a "General failure reading drive A/B".
- Problem confirmed on 3 different VLB motherboards and 3 different VLB IO cards with different chipsets, basically all I had at disposal at home.

I have searched online for similar issues and came out empty. Keropi suggested I tried an ISA IO controller instead. I thought the only one I had was faulty, but going through my boxes I found another one that ended up working, and lo and behold...problem does not happen with the ISA IO card, floppy drives work as expected.

So it looks very much like there's an unexpected conflict between VLB IO FDC and the Adlib Gold, unless I've missed something obvious in my testing.

Are there people that would be equipped to try and reproduce the issue? Keropi doesn't have a VLB IO at hand to test on his end.
Would anyone have any clue what could be happening, and if there's a potential solution?

Right now I'll be going forward with the ISA IO instead, I've spent literal days on that problem pulling the hair I have left 😁 but would appreciate some "technical closure" about the issue if there's any to be had.
I believe it would also be valuable information to confirm if there's such a quirk with Adlib Gold, both for the community and for Keropi to mention on the Goldlib webpage.

Reply 1 of 20, by pentiumspeed

User metadata
Rank l33t
Rank
l33t

That's complete nonsense. FDC super i/o IC on VLB i/o cards, is restricted to 8 bits ISA slot and had to have same 13h hooks and same resources as your ISA i/o card. I think it is the GUS not configured correctly or the VLB i/o cards not 100% compatible.

What I would do is find a quality VLB i/o card. Only difference is IDE part, IDE chip on the VLB has firmware eeprom and had to be initialized before booting on HD as IDE on VLB direct to 486 pins was not PC standard and very strange way to route the interrupts so DOS and windows 3.x works even the IDE is on VLB. That could conflict with the GUS.

Turn off the IDE (disable the eeprom firmware too), and try the VLB I/O card with GUS again?

I'm glad I dropped 486 VLB from my vintage computer line up, basically a hack job. 486 is what holds it back even 486DX4 and not as compatible like you faced with. All I have is 386 and 486 computers with ISA for best very vintage compatibility, for more power Pentium is my go to thing and more compatible, cheaper PCI cards.

Cheers,

Great Northern aka Canada.

Reply 2 of 20, by Horun

User metadata
Rank l33t++
Rank
l33t++

Is it real Adlib Gold (like the 1000) or some clone card ?
I like 486 VLB with good VLB IDE and video and never had an issue with Media Vision PAS 16, though not an Adlib Gold, MV is my preferred 486 ISA card ;p

Hate posting a reply and then have to edit it because it made no sense 😁 First computer was an IBM 3270 workstation with CGA monitor. Stuff: https://archive.org/details/@horun

Reply 3 of 20, by mockingbird

User metadata
Rank Oldbie
Rank
Oldbie

Play around with the memory or cache timings in your BIOS.

I read somewhere here that VLB I/O cards do not work with tight (read:normal) cache timings and I had similar issues to you myself until I slowed down my ram and cache. I don't know which one exactly fixed it, slowing down the cache or the ram, but it solved my issue with crashing in doom. So if your cache is 15ns, run it at timings for 20ns cache. Yes, you significantly slow down your system, but in my opinion it's a worthwhile tradeoff for having fast HDD access with VLB.

I'll be switching to a PCI 486 platform, because it doesn't have this issue.

mslrlv.png
(Decommissioned:)
7ivtic.png

Reply 4 of 20, by Boohyaka

User metadata
Rank Oldbie
Rank
Oldbie
pentiumspeed wrote on 2023-02-01, 00:35:

That's complete nonsense. FDC super i/o IC on VLB i/o cards, is restricted to 8 bits ISA slot and had to have same 13h hooks and same resources as your ISA i/o card. I think it is the GUS not configured correctly or the VLB i/o cards not 100% compatible.

Heh, it's nonsense, but it happens 😀
It's binary, and perfectly reproducible. Btw it's not a GUS, it's a Goldlib, the Adlib Gold clone from Keropi, Marmes and JimWest (this also answers Horun's question). If it's not configured correctly, what would potentially not be configured correctly to interact with FDC?

When you say I should try quality VLB IO cards, I reproduced the issue with:

- QDI QD6580
- Goldstar Prime 2C
- FEIOL-UC3C

They are all well-known, quality VLB IO cards with different chipsets. I reproduced the issue on three motherboards:

- Soyo SY-025K
- QDI V4P895P3/SMT
- PCPartner OPTI 486 VI

There is absolutely no randomness about it, it's as binary as it gets. It happens with all these IO, on all these motherboards.

GoldLib goes in, in any ISA slot, with any other present cards or alone with the VLB IO: problem happens.
GoldLib goes out, problem does not happen anymore.
Replace VLB IO card with ISA IO card and put Goldlib back in: problem does not happen.
Replace ISA IO with VLB IO: problem happens again.

At this stage it would be great if someone else with a Goldlib and a VLB 486 could test as well 😀

Reply 5 of 20, by aitotat

User metadata
Rank Member
Rank
Member

I'm still in line waiting to be contacted about GoldLib so I can't do any testing (I have QDI QD6580 so I could have tried to reproduce the problem and it just happens to be in the same computer I was going to install GoldLib to). I don't know what ports are used by GoldLib but this could be conflict with motherboard chipset configuration registers or VLB IDE configuration registers. QD6580 should have a jumper for alternative configuration address. You could try that. I don't think it will help since you have already tried several VLB I/O-cards and motherboards. Most likely this is some sort of timing issue.

Reply 6 of 20, by florian3

User metadata
Rank Newbie
Rank
Newbie

I tried a GoldLib today and I’m seeing a similar problem but with ISA floppy controllers in a 386. So far none of my controllers work together with the GoldLib card, tried 3 different ones. I will try a couple other motherboards.

Reply 8 of 20, by Boohyaka

User metadata
Rank Oldbie
Rank
Oldbie

Ah! Interesting. So in the end, the fact it works with my only ISA IO but not with my 3 VLB IO may be a coincidence after all, and the conflict would come from another reason? That would be coherent with pentiumspeed's comment about VLB and ISA IO FDC both using 13h hooks and resources so it seems weird there's a difference.

Reply 9 of 20, by rasz_pl

User metadata
Rank l33t
Rank
l33t
Boohyaka wrote on 2023-02-05, 09:06:

pentiumspeed's comment about VLB and ISA IO FDC both using 13h hooks and resources so it seems weird there's a difference.

What pentiumspeed means is there is no such thing as VLB floppy controller. FDC is sitting on the ISA part of the card, only IDE is wired thru VLB pins. You can wrap a paper/foil over VLB bit and Floppy will keep working.

Open Source AT&T Globalyst/NCR/FIC 486-GAC-2 proprietary Cache Module reproduction

Reply 11 of 20, by keropi

User metadata
Rank l33t++
Rank
l33t++

allright folks
In this last week I got Boohyaka's report and then 2 days later another person reported the same thing this time using 386DX + ISA I/O
So naturally the investigation began full speed and I am happy to announce that there is now a fixed firmware that resolves such issues
For those curious the fix is relating to DACK2 handling - as it is apparent some (or most?) FDC are not happy with it.
This does not affect how GoldLib is doing it's GOLD things nor can it lead to damage of components. Sometimes the focus on replicating the "gold functions" is so strong that
you miss out on the simpler stuff... I assume so far people either don't use floppies or things work fine with them - just to clarify that this issue was unknown up to this point.

But ultimately the solution is to update the card , so give us a few more days to test things out and I'll start contacting people to have cards sent back for updating...
This is a bad situation for me and the buyers of GoldLibs but there is no two ways about it ... sorry for any confusion caused because of this 🙁

🎵 🎧 PCMIDI MPU , OrpheusII , Action Rewind , Megacard and 🎶GoldLib soundcard website

Reply 12 of 20, by Boohyaka

User metadata
Rank Oldbie
Rank
Oldbie

Hey man it's alright don't sweat it, and actually great news! No hard feelings on my end whatsoever 😁

- If you don't mind expanding a bit on the issue, as Goldlib in my understanding was a "perfect clone" of the Adlib Gold 1000, what I'm getting from your message is that the issue only affect the Goldlib and would not happen on a real Gold 1000?
- No way for us to "flash" that new firmware ourselves, shipping it back to you is the only solution? I actually don't mind sending it back, but that's quite a lot of logistics on your end 🙁

Cheers!

Reply 13 of 20, by keropi

User metadata
Rank l33t++
Rank
l33t++

This should not happen on the original card AFAIK.
This is just related to how a couple of signals are handled for the ISA bus - nothing to do with the internal workings of the "gold functionality".
A real GOLD1000 card was used to analyze and reverse engineer the GOLD1000 CTRL ASIC, there is no guesswork or tricks used to recreate these functions.
This was an unknown issue until this past week, it happened that FDC was working for me and for the dev. The main focus was to make the GoldLib to be a GOLD1000 , testing games and drivers and software to make sure no internal functions and registers are missing or wrong. But as you have noticed ISA interfacing needed a little tweaking and that's what the new firmware will do.
I can't explain it any better 😀

Flashing the cards is not easily done so I would rather suck up the cost of the mistake and do it here.

🎵 🎧 PCMIDI MPU , OrpheusII , Action Rewind , Megacard and 🎶GoldLib soundcard website

Reply 15 of 20, by Boohyaka

User metadata
Rank Oldbie
Rank
Oldbie

Thanks for the extra info keropi, you can put me at the bottom of the pile, there's no rush in my case. Not a bad thing to be running that build on ISA anyway and Goldlib is happy with that one so I can really wait, even if I'll be happy to get it fixed at some point 😀

Reply 16 of 20, by Horun

User metadata
Rank l33t++
Rank
l33t++

Has anyone tried masking the DACK2 ISA pin B26 just to see what happens ? Does the card require 2 DMA's ? sorry didn't search about it.

Hate posting a reply and then have to edit it because it made no sense 😁 First computer was an IBM 3270 workstation with CGA monitor. Stuff: https://archive.org/details/@horun

Reply 17 of 20, by keropi

User metadata
Rank l33t++
Rank
l33t++

masking DACK2 won't work as it will bork the bus

I have an update on this - firmware 1.1 has been tested and this issue is now a thing of the past
Also I am into discussions with someone over at the US so US-based (and potentially Canada ones) GoldLibs could be updated without changing continent.
I will inform everyone via email when things finalize in the next couple of weeks.

Again you can use the cards as-is in the meantime , nothing bad can happen except potential borked floppy access...

🎵 🎧 PCMIDI MPU , OrpheusII , Action Rewind , Megacard and 🎶GoldLib soundcard website

Reply 18 of 20, by Horun

User metadata
Rank l33t++
Rank
l33t++

Ok,
I did not mean on the motherboard, I meant on the adapter
If the card uses only 1 DMA there is no need for multi DRQ/DACK to be wired on the card unless the actual hardware has a fault where it cannot be tied down/dismissed....
"The requesting device must hold the request signal active until the system board asserts the corresponding DACK signal. " so if just one then why even require the others and DRQ/DACK2 should never be used for anything but Floppy.
I have many ISA cards where only one or two and on some no DRQ/DACK are wired and they function fine and have never seen DRQ2/DACK2 used on anything but a floppy controller.
just for reference http://ps-2.kev009.com/eprmhtml/eprm/h392.htm
Just curious why multi DRQ/DACK including DRQ2/DACK2 is even touched on sound card when there is really no need...

Hate posting a reply and then have to edit it because it made no sense 😁 First computer was an IBM 3270 workstation with CGA monitor. Stuff: https://archive.org/details/@horun

Reply 19 of 20, by keropi

User metadata
Rank l33t++
Rank
l33t++

Yes this is what I mean, masking on card alone does not work

Everything on goldlib is wired (and handled) same as the original card including DRQ2/DACK2.
The original adlib gold actually has the ability to use 2 DMAs (and naturally this ability transferred over to the goldlib though we do not know anything that makes use of this).
AdLib did have great plans for this but as we know now almost none came to fruition...

So basically that's the explanation why things are wired the way they are 😀

🎵 🎧 PCMIDI MPU , OrpheusII , Action Rewind , Megacard and 🎶GoldLib soundcard website