VOGONS


First post, by douglar

User metadata
Rank l33t
Rank
l33t

I recently found this card:

The attachment DSCN1057.jpg is no longer available

It's the first ET4000 card I've had in a long long time

Graphics modes work fine. Maybe the blue is a lot brighter than I'm used to, but over all it works fine.

However in text mode, it does stuff like when I do a DIR command or exit Doom:

The attachment Photo Jun 27 2024, 6 41 34 PM.jpg is no longer available
The attachment Photo Jun 27 2024, 6 42 28 PM.jpg is no longer available
The attachment Photo Jun 27 2024, 6 41 07 PM.jpg is no longer available

Doesn't seem like bad memory. It goes away if I do a CLS. Doesn't happen when I run edit or other dos commands.

Its not always in color. Here's what it looks like when I try to load fastvid:

The attachment Photo Jun 27 2024, 7 43 32 PM.jpg is no longer available

That repetition is odd.

Reply 1 of 10, by darry

User metadata
Rank l33t++
Rank
l33t++

Some ideas:

Are you running the ISA bus above 8Mhz or so ?
Is video BIOS shadowing enabled ?
Is EMM386 OR QEMM or something similar loaded when this happens ?

Reply 2 of 10, by douglar

User metadata
Rank l33t
Rank
l33t
darry wrote on 2024-06-28, 06:57:
Some ideas: […]
Show full quote

Some ideas:

Are you running the ISA bus above 8Mhz or so ?
Is video BIOS shadowing enabled ?
Is EMM386 OR QEMM or something similar loaded when this happens ?

I'm running standard bus speeds. I'm loading Win98 DOS with an empty config.sys & autoexec.bat.

I tried turning off the BIOS shadowing and I still got the corruption but I think this is likely where the problem is

Seems like it only happens with BIOS call 10h function 0Eh. Programs that do direct writes to video memory don't have any problem.
For example:

  • If I run "Edit msdos.sys" everything is fine.
  • If I dump it to the screen with "Type msdos.sys", I get the repeated chars and the colored flashies.

It's strange because if the BIOS was corrupt, I'd expect it to be corrupt all the time. As it is, sometimes things work right for a minute or so after rebooting before it goes bad. Never causes the computer to crash, just affects what's on the screen.

Reply 3 of 10, by douglar

User metadata
Rank l33t
Rank
l33t

OK, I found the issue. It was the SIIG Enhanced LBA option rom. I swapped it out for XtIDE Universal BIOS and the issue went away.

Reply 4 of 10, by Jo22

User metadata
Rank l33t++
Rank
l33t++
douglar wrote on 2024-06-28, 12:22:

OK, I found the issue. It was the SIIG Enhanced LBA option rom. I swapped it out for XtIDE Universal BIOS and the issue went away.

It could be that the VGA BIOS has the full size and thus conflicts with the memory location of the LBA BIOS.

(VGA BIOS used to be either 24 or 32KB in size.)

So the Enhanced LBA BIOS perhaps didn't expect a full-size VGA BIOS.

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 5 of 10, by douglar

User metadata
Rank l33t
Rank
l33t

The option ROM was at D800 and the VGA rom was at C000, so it seems like they should have been in very different memory areas.

I don't know why an Int13 handler would have interfered with the Int10 handler.

The repeated characters seemed to suggest that characters were transmitted with the previous value, which makes me think that it was related to a blocked IO port or something, but I'm getting out of my depth here and I don't really know what I'm talking about.

The option rom also had Y2K support, but I don't understand how that could have affected things.

I did sort of get a kick out of the fact that some things looked like they had been put through a Swedish Chef filter. https://www.obairlann.net/reaper/filters/source/chef.l

Reply 6 of 10, by darry

User metadata
Rank l33t++
Rank
l33t++
douglar wrote on 2024-06-28, 14:35:
The option ROM was at D800 and the VGA rom was at C000, so it seems like they should have been in very different memory areas. […]
Show full quote

The option ROM was at D800 and the VGA rom was at C000, so it seems like they should have been in very different memory areas.

I don't know why an Int13 handler would have interfered with the Int10 handler.

The repeated characters seemed to suggest that characters were transmitted with the previous value, which makes me think that it was related to a blocked IO port or something, but I'm getting out of my depth here and I don't really know what I'm talking about.

The option rom also had Y2K support, but I don't understand how that could have affected things.

I did sort of get a kick out of the fact that some things looked like they had been put through a Swedish Chef filter. https://www.obairlann.net/reaper/filters/source/chef.l

Glad you got it resolved and +1 for (almost) anything to do with the Swedish Chef.

Reply 7 of 10, by Thermalwrong

User metadata
Rank Oldbie
Rank
Oldbie
douglar wrote on 2024-06-28, 14:35:
The option ROM was at D800 and the VGA rom was at C000, so it seems like they should have been in very different memory areas. […]
Show full quote

The option ROM was at D800 and the VGA rom was at C000, so it seems like they should have been in very different memory areas.

I don't know why an Int13 handler would have interfered with the Int10 handler.

The repeated characters seemed to suggest that characters were transmitted with the previous value, which makes me think that it was related to a blocked IO port or something, but I'm getting out of my depth here and I don't really know what I'm talking about.

The option rom also had Y2K support, but I don't understand how that could have affected things.

I did sort of get a kick out of the fact that some things looked like they had been put through a Swedish Chef filter. https://www.obairlann.net/reaper/filters/source/chef.l

Huh interesting, I've used the same ROM on a network card in one of my 486 builds with the Abit AN4 to support LBA since it works really well. Not using a Tseng in there though, I think it's a CL GD5428 but I didn't see anything like this.
I wonder if trying a faster ROM might help? Or perhaps you purchased cheap EEPROMs from china like I did and they don't perform as well as the markings on them say they should...

Reply 8 of 10, by douglar

User metadata
Rank l33t
Rank
l33t
Thermalwrong wrote on 2024-07-02, 21:28:
douglar wrote on 2024-06-28, 14:35:
The option ROM was at D800 and the VGA rom was at C000, so it seems like they should have been in very different memory areas. […]
Show full quote

The option ROM was at D800 and the VGA rom was at C000, so it seems like they should have been in very different memory areas.

I don't know why an Int13 handler would have interfered with the Int10 handler.

The repeated characters seemed to suggest that characters were transmitted with the previous value, which makes me think that it was related to a blocked IO port or something, but I'm getting out of my depth here and I don't really know what I'm talking about.

The option rom also had Y2K support, but I don't understand how that could have affected things.

I did sort of get a kick out of the fact that some things looked like they had been put through a Swedish Chef filter. https://www.obairlann.net/reaper/filters/source/chef.l

Huh interesting, I've used the same ROM on a network card in one of my 486 builds with the Abit AN4 to support LBA since it works really well. Not using a Tseng in there though, I think it's a CL GD5428 but I didn't see anything like this.
I wonder if trying a faster ROM might help? Or perhaps you purchased cheap EEPROMs from china like I did and they don't perform as well as the markings on them say they should...

This is the card that was incompatible with the ET4000. It's called a "SIIG IDE Master ISA+I/O", but doesn't seem to have a DMA controller on it.

https://theretroweb.com/expansioncards/s/cent … s-ci-5000-rev-a

I pulled the card from a dumpster find a couple years back. First time I've had an incompatibility with it.

Reply 10 of 10, by jakethompson1

User metadata
Rank Oldbie
Rank
Oldbie
douglar wrote on 2024-06-28, 14:35:
The option ROM was at D800 and the VGA rom was at C000, so it seems like they should have been in very different memory areas. […]
Show full quote

The option ROM was at D800 and the VGA rom was at C000, so it seems like they should have been in very different memory areas.

I don't know why an Int13 handler would have interfered with the Int10 handler.

The repeated characters seemed to suggest that characters were transmitted with the previous value, which makes me think that it was related to a blocked IO port or something, but I'm getting out of my depth here and I don't really know what I'm talking about.

The option rom also had Y2K support, but I don't understand how that could have affected things.

I did sort of get a kick out of the fact that some things looked like they had been put through a Swedish Chef filter. https://www.obairlann.net/reaper/filters/source/chef.l

Per this discussion (How does ISA MEMCS16# work?) I was curious about how the ISA MEMCS16# line works.
At the time your ISA VGA card needs to respond as to whether a memory access will be 8-bit or 16-bit, it doesn't have enough bits to know whether the access is for C000 or D800. It has to be determined on 128K boundaries. So your VGA cards asserts MEMCS16# but then it's for D800 and your option ROM must be 8-bit.
On that thread, mkarcher said there may be a disable jumper to force 8-bit access, or alternatively, the VGA BIOS is supposed to figure that out when it initializes by checking for conflicting option ROMs within that 128K area.