PDA

View Full Version : VGA card in XT machine, flashing text now?



A-ko
March 25th, 2017, 08:08 PM
Hi all, i recently got a Zenith EIA-416 XT-class computer and got the original Seagate ST225 hard drive working beautifully with a format and a fresh install of IBM DOS 5.0. Been having a blast messing with it, as i grew up on an 8088. Originally it had the stock monochrome graphics card, which i swapped out for a CGA card i robbed out of a Packard Bell PB500 i got at the same time. Tonight while using it my monitor went blank, but the computer was working fine otherwise...a problem for another day. I know the monitor itself is fine as i tried both my Taxan 720 and my Tandy CM-11 and got the same result, blacked out screen when the computer turned on.

Anyway, i have a Zenith 386 so i tried the Western Digital 16-bit VGA card out of that machine in the 8088 and sure enough, it works. I experimented a bit with the jumper settings but what it was at seemed to be working the best.
It works perfectly in EGA graphics mode, flawlessly really, but for some reason in normal text mode (specifically in DOS shell, which i boot to), rather than the colors i got with the CGA card, some are now replaced with blinking text. Just wondering if anybody has some insight as to why this has changed? Its really only a minor annoyance that i can get rid of by switching the color scheme to monochrome but I am curious as to why this is happening, especially if there's a fix!

I'm only just starting to experiment with video stuff on these older machines so excuse this question if its noobish or too vague a problem. Gotta learn somehow! Thanks!

A-ko
March 25th, 2017, 09:08 PM
actually i've been doing some research since i posted this and found this page which is pretty helpful. I'll post this up in case anybody else is having similar problems:

http://webpages.charter.net/danrollins/techhelp/0087.HTM

Malvineous
April 7th, 2017, 10:52 PM
This kind of problem - random flashing chars - is usually an indication of a memory problem. If for some reason the system can't read or write properly to or from the video card's memory, then the wrong value will be there and this often shows up as colourful/blinking text.

In my experience the problem is usually caused by static damage to the chips. Some people tend to pick up cards in such a way as their fingers come into contact with the metal underside of the video card and this is a really effective way to kill off part of a memory chip. It doesn't stop it from working, you just get random text or pixels appearing incorrectly on the screen.

It could also be possible (but less likely) that there is something interfering with the pins on the chip. For example a small piece of metallic debris connecting two data or address lines can cause this kind of problem.

Depending on how the card accesses its RAM, you can try rearranging the chips as you might be able to move the faulty memory into a region not used in text mode. If you're lucky you will be able to move it to the very end of the memory range which will perhaps never be used if you never run high resolution games. But often the memory is accessed in parallel for speed, so all this manages to do is move the blinking characters to a different location on the screen.

If you decide that this is the cause of the problem, you can find replacement memory chips on eBay. I have successfully replaced chips on cards before to fix this problem.

Also for completeness (and probably not relevant in this situation) another cause of this problem can be bus speed. If the bus speed is too high for the card, it may not give the memory chips enough time to store data properly resulting in screen corruption. If the bus speed is too low, it can also not refresh the memory quickly enough. This can be seen with a 486 and a VLB video card that has its jumpers set to operate on a bus faster than 33MHz, but then run at or under 33MHz. The card refreshes the memory more slowly (assuming 40MHz+ bus) but because the slower bus results in memory refreshes at a much slower rate, the contents of the RAM deteriorate very quickly and the screen quickly ends up as a multicoloured mess.

If a card works in one PC but not another, I'd look at the bus speeds and jumper settings related to them, but if the card has corrupted text or graphics on any PC, something is up with the memory chips. If you have ever handled the card and touched the pins on the chips instead of holding the card by its edge or slot cover only, then I'd put money on static damage to the chips - those things are really sensitive.

A-ko
April 8th, 2017, 02:40 PM
interesting. The strange thing is, it ONLY does it in IBM DOS Shell. All other text-mode programs display fine. No issues in CGA, EGA, or VGA mode in any other program. Kinda strange that it seems to be a software-specific problem...

Malvineous
April 9th, 2017, 12:48 AM
You'd have to experiment a bit more to find out why. Is that program definitely using text mode or is it using a graphics mode that looks like text? If it's text mode, what page of video memory is it using? There are 8+ pages and plain DOS only uses page 0, so it's possible another page is being used so that the output of DOS programs can be quickly restored to the screen.

You could try to get a program that tests video cards as it might allow you to set a video mode that uses more RAM, e.g. a 320x200@256-colour will use 62.5kB of video memory, while 640x480@16-colour mode will use 150kB. The more RAM that is in use, the more you will see on the screen at the same time so you can look for dead pixels or other artifacts caused by bad memory. You may have to put the card in a Windows machine with proper drivers and run it at something like 1024x768@256-colour (768kB RAM) to really know for sure. Of course you'd want to find out how much RAM is on the card (often displayed in the POST banner) and then find a mode that uses as much of it as possible so you get as much of it checked as possible.

My old Trident TVGA8900 came with MODETEST.EXE (http://www.shikadi.net/files/vintage/modetest.exe) which could set various modes and display colour bars and things. It probably won't be compatible with your card but the earlier video modes are pretty standard so you never know.

Stone
April 9th, 2017, 03:02 AM
My old Trident TVGA8900 came with MODETEST.EXE (http://www.shikadi.net/files/vintage/modetest.exe) which could set various modes and display colour bars and things. It probably won't be compatible with your card but the earlier video modes are pretty standard so you never know.CheckIt will do that universally.

kgober
April 9th, 2017, 06:57 AM
If DOS Shell is the only program with this problem, then it may not actually be a "problem". It might just be that DOS Shell is configured to use bright background colors for certain fields, and your video card is configured to use the 'bright background' attribute bit (bit 7 of the character attribute byte) for blinking text. There is a register on the CGA card (and EGA and VGA) that you can write to to specify whether you want bright backgrounds or blinking text (you can't enable both; it's one bit that selects one or the other) but I don't recall whether there's any simply way from a DOS prompt to set that bit (a MODE command perhaps?). If this wasn't happening with your CGA card then I imagine the CGA BIOS defaulted it one way, while the BIOS in your new card defaults it the other way.

In any event, you can avoid the issue entirely by reconfiguring your DOS Shell colors so that you only use 0-7 values for background color (no 8-F values). At least I think you can -- it's been a long time but I vaguely recall there being a menu you could go into to change your color choices (or if not a menu, maybe change it in the dosshell.ini file).

As a refresher, in color text modes every character position has two bytes associated with it: a character byte that identifies which character to display, and an attribute byte that indicates how to display it. The bits of the attribute byte are broken down as follows:

7. enable blink or background bright
6. background red
5. background green
4. background blue
3. foreground bright
2. foreground red
1. foreground green
0. foreground blue

-ken

VileR
April 9th, 2017, 10:53 AM
interesting. The strange thing is, it ONLY does it in IBM DOS Shell. All other text-mode programs display fine. No issues in CGA, EGA, or VGA mode in any other program. Kinda strange that it seems to be a software-specific problem...
A hunch: DOSShell still thinks you're using a CGA card. This program likes using hi-intensity background colors; on both CGA and VGA, the respective attribute bytes can be treated either as hi-intensity or as blinking text. Problem is, the way to toggle this behavior is not the same with VGA as with CGA.

[EDIT]: see IBM DOS 6.1 user's guide (http://bitsavers.trailing-edge.com/pdf/ibm/pc/dos/IBM_DOS_6.1_Users_Guide_Jun93.pdf), p.234-236: DOSSHELL has separate configuration files for each display type, so you might have to replace the relevant ones with their VGA counterparts. (I realize you're using 5.0, but the procedure is probably similar.)