PDA

View Full Version : Hacking Fun -- Overclocking/Underclocking an Hercules Graphics Card



Hyperfrog
April 23rd, 2010, 02:11 PM
I have a couple of Hercules Graphics Cards of which I replaced the master clock crystal in order to generate a video signal that can be displayed using another type of monitor (SVGA or composite).

Those cards normally have a 16-MHz crystal. If you replace it with a 28.57-MHz one, you get a signal that is compatible with most multisync SVGA monitors, i.e. an horizontal refresh rate of about 33 KHz, and a vertical refresh rate of about 87 Hz. I used a 28.57-MHz crystal because I had one handy, but you could try a 29- or a 30-MHz one. So far, I got this mod to work with only one of the three cards I tested it on. Perhaps the other cards' oscillator circuits are not designed to work with the 28.57-MHz crystal I used. I'll have to use the scope to see what's going on. In addition, I could see some pixel corruption on the graphical display of the modified card, but only in certain areas of the screen; I suspect the video RAM chips are not fast enough for this clock rate. The text mode seems OK though. I wish I could get other cards to work and compare the results. Otherwise the display is crystal clear (pun intended) and very stable.

Another possible hack is to remove the 16-MHz crystal and route the OSC signal (pin B30) to the input of the oscillator circuit (that is, one of the pins normally connected to the 16-MHz crystal). This produces a video signal that some composite monitors can handle (HSYNC: 16.5 KHz, VSYNC: 46 Hz), though none of which I own can display a complete 720x348 screen. I tweaked one monitor so that it displays a picture that is almost perfect, but I miss a few columns of pixels on the left, and a few lines on the bottom. This time, there was no pixel corruption, but I didn't use the same card as for the SVGA hack. The nice thing about this mod is that you can display a full-screen picture (no border) and even enjoy artifact colours using an Hercules Graphics Card! :) However, the 46 Hz vertical refresh rate is quite annoying unless you use a monitor with a long-persistent phosphor, that is... a green monochrome monitor.

Cheers,

Christian

Chuck(G)
April 23rd, 2010, 02:51 PM
I also suspect that some 6845 CRTCs (and their relatives in LSI) can't handle the 28MHz speed.

Pin B30 on the ISA bus is 14.31818 MHz, which is pretty much what the CGA uses. Reprogram some of the registers on the 6845 and you have a monochrome MDA, sort of.

Not terribly useful in that most games using the HGC graphics mode write directly to the 6845 registers.

Hyperfrog
April 23rd, 2010, 02:55 PM
Pin B30 on the ISA bus isn't 16MHz, but 14.31818 MHz.

Which is precisely why I used it... There would be no point in removing the 16-Mhz crystal and then feeding the oscillator input with a 16-MHz clock signal!

As regards the 6845, it doesn't overheat on the card I successfully overclocked. It doesn't even get warm.

Chuck(G)
April 23rd, 2010, 03:21 PM
Which is precisely why I used it... There would be no point in removing the 16-Mhz crystal and then feeding the oscillator input with a 16-MHz clock signal!

As regards the 6845, it doesn't overheat on the card I successfully overclocked. It doesn't even get warm.

You'll note that I edited my post before you replied :)

Heat on these old NMOS chips doesn't mean a whole heckuva lot. The chip simply quits responding when the frequency is too high. According to the 6845 datasheet (http://pdf1.alldatasheet.com/datasheet-pdf/view/4159/MOTOROLA/MC6845.html), the maxmum clock frequency is 2.5MHz, which translates to a dot clock of 20 MHz in graphics mode. Some later implementations of the chip certain can accept higher clock rates.