• Please review our updated Terms and Rules here

ISA cards with high bus speed tolerances

Hak Foo

Experienced Member
Joined
Jul 18, 2021
Messages
218
I noticed someone mentioned in the RealDOOM thread "I have a 20 mhz-ish juko turbo xt" This intrigued me-- what sort of cards are in it?

One of the growing pains on XTs was that 1:1 ratio between CPU clock and bus speed. I assume this tended to keep the platform down to 10MHz and very occasionally 12, when at least 16MHz V20s seem to be available.

But on a broader basis, I'm curious if anyone has curated any lists of ISA cards that are more tolerant of 10 or even 12MHz operation. I feel like most "late 80s and beyond" cards might have been paired with a 10MHz turbo-XT or a 20MHz AT-or-higher machine with a 1/2 ISA bus multiplier, so they should handle 10MHz gracefully. OTOH, there were probably cards that were never designed beyond the original 5150 and 4.77MHz.

I'd assume that through improvements in process, and faster, cheaper logic families available, some of the newer cards, like most modern kits, would have a leg up on supporting higher clock speeds, but I could be wrong.

On a specific concern, I've always had trouble with my project machine getting above 8MHz. It fails with spurious NMIs in TOPBENCH, which is weird because the machine doesn't support parity or a FPU, either of which are the common cause of NMIs. The CPU and memory are both rated far above 8MHz, so I tend to suspect one of my cards is finicky. I'd theorize it might be the Realtek RTG3106 VGA card, since that's the one I can't easily remove or replace. I'll be trying one of the new-build TVGA9000 cards soon and see if that theory shakes out..
 
There were a few XTs that effectively ran the CPU slower when accessing the ISA bus(or more precisely, when doing read or write cycles against hardware not decoded on the system board). Amstrad’s 8086 clones, for instance, and I think the Compaq Deskpro might have as well? Not sure about those late 12mhz XT boards, but I’d kind of be surprised if they didn’t have some mechanism for that?

I used to overclock the ISA bus in my 486es to 11mhz instead of eight and most things were fine, but some cards were a flat no. (Tried an original IBM MDA card for a secondary head once and it was cranky at 8mhz.)
 
It was pretty common for Turbo XT ERSO BIOS to drop the CPU speed to 4.77 MHz when floppy access was being performed, as most used CPU loops for delays. (see the IBM PC XT BIOS for examples).
 
I built my own NEC V20HL 16MHz machine (SBC based on Serges Xi8088) with the hopes of clocking it at the full 16MHz but I could only get video stable at about 11MHz with certain VGA cards (TVGA 9000i and an 8900D) and usually with 1 wait states on IO & VRAM read/writes. As it's a novice build I probably have a lot of poor signal integrity issues so not a great comparison, but just thought I'd pop in my experience of over clocking ISA...
 
I'm the one that talked about the 20 mhz-ish turbo xt. It eventually deserves its own thread but I'm not done with my 16-bit overclocking experiments yet. I have run ISA clocks very high on an XT and 286 board.

The turbo XT is a Juko Turbo XT rated for 12 mhz. There are 16 MhZ V20s out there... there a lot of fakes and/or dead chips, but If you go through enough of them you'll eventually find some that work and some that overclock better than others. As I push that motherboard beyond 20 mhz, the clocks get halved due to some sort of frequency harmonics (i think). There's ways around this but I haven't gotten around to it. I'm a little surprised the 70 and 80ns rated ram on the board seems to have no trouble with 0 wait states.

The 286 board has separate ISA and CPU crystals. I have pushed a 286 to ~37 MhZ using a low-power peltier to cool it. It does about 34 MhZ on air cooling. Its VLSI SCAMP chipset technically is rated for 20 MhZ, but nothing even seems to be hot at 35+ MhZ. When i say "runs", i mean i post, boot into ms-dos, run topbench for a couple seconds, get a score, then run 3dBench which takes a minute or two, get a score, then turn the machine off. It doesnt tend to run more than a couple minutes at those speeds, the cpu eventually just heats up too much. I'm hoping to hit 40 MhZ in the next few months by possibly lapping the chips and exposing the ground plate (making cooling easier), binning some better overclocking candidates, using a more powerful peltier cooler, and maybe overvolting a little bit. It's also not worth it if you dont have RAM that can run at 0 ws, so I'm looking into that, too.

As for the ISA bus and what runs fast...

I have pushed the ISA bus to 40.50 MhZ on that 286. However, the real speed on all the cards seems to be half that so there might be a crystal harmonic sort of thing going on that causes the frequency on the cards to be effectively halved. At the same time, I have a measuring device that clearly says 40.50, so not sure.

Most later VGA cards that are known to have good DOS gaming performance seem to tolerate ISA bus speeds over 16, 17 mhz... I haven't found a Tseng or Mach32 ISA that cant do 17.5, some Mach32s can run 21 MhZ... I think I have some s3 based cards that will run faster, but their bios lacks support for the 286 so I can't actually use them on this motherboard. For the VGA cards, I don't think RAM is the limiting factor on speed, but I don't know what else it is either, maybe some discrete logic chips. I have a spreadsheet with tons of data in it, I do plan to post it at some time.

Some XT-CF, XT-IDE, etc cards can work at those speeds, but once you start going really fast you need to shadow the bios (and of course, need memory is fast enough to handle it). I've found that some CF cards actually dont work well at those speeds while others do, too. I haven't tried normal IDE controlers.

I have not tried serial, parallel, or sound cards, or really anything else I guess. I recall hearing about sound cards struggling with even light overclocks, though. I recall gameport having issues with speeds outside of 4.77 mhz, and certain TSRs existing to counteract that.

Sufficiently advanced bioses will lower the clock/bus speed during post, perhaps knowing that BIOS chips can be slow and they might need to be read into ram (for shadowing) slowly. These speeds get multiplied as you raise the ISA clock though, so all of a sudden your bios is "turboing down" to 12 mhz or so to try and safely post.

See some photos below.
 

Attachments

  • IMG_6735.jpeg
    IMG_6735.jpeg
    1.1 MB · Views: 13
  • IMG_6774.jpeg
    IMG_6774.jpeg
    809.3 KB · Views: 12
  • IMG_6787.jpeg
    IMG_6787.jpeg
    860.8 KB · Views: 12
  • IMG_6790.jpeg
    IMG_6790.jpeg
    1.2 MB · Views: 9
  • IMG_6720.jpeg
    IMG_6720.jpeg
    617.7 KB · Views: 10
  • IMG_6789.jpeg
    IMG_6789.jpeg
    460.1 KB · Views: 10
"Overclocking" V20:
  • I did reach a fairly stable operation at 13.33 MHz (40 MHz clock input to 82C84 clock generator) with 16 MHz V20HL CPU in my Xi 8088. I wasn't able to make it run any faster. I believe I tried a 48 MHz clock next, which would result in a 16 MHz CPU clock, but that didn't work
  • The system didn't insert any memory wait states, and I think I was using 4 I/O wait states
  • Trident TVGA8900/9000 card worked at 12 MHz, maybe even at 13.33 MHz (I don't remember now). Other cards quit working much earlier. Most won't work past 8-10 MHz. Older CGA (both IBM and 3rd party) were particularly bad at working on higher frequencies.
  • It should be noted that V20/V20HL require a 50% duty cycle clock, while 8284 produces a 33% duty cycle, that 8088/8086 use. That might be the reason why I wasn't able to run it any faster.
  • With that being said, at lower frequencies (up to 10-12 MHz), V20 doesn't seem to mind the 33% duty cycle.
ISA Bus and Overclocking
  • ISA is not a synchronous bus. The CPU frequency does not necessarily gets reflected on the ISA bus "speed".
  • IBM PC and IBM XT inserted one wait cycle for each I/O operation (but not for memory)
  • Turbo XT clones typically insert some wait states. Ideally the number of wait states inserted would bring the bus delays related to data availability after /IOR, /IOW, /MEMR, and /MEMW go active, close to these of the original IBM PC/XT at 4.77 MHz clock
  • In discrete logic based Turbo XT's the number of wait states is usually fixed... they simply add 2-4 wait states for 8 MHz operation. Older Turbo XT's won't even do that...
  • Turbo XT chipsets, such as Proton PT8010AF, Faraday FE2010A, Chips and Technologies 82C100, offer some configurability to the number of wait states inserted. They will also change the number of wait states depending whether the board is running in the normal/4.77 MHz mode or in the "turbo" mode
  • IBM AT inserted a number wait states, depending on whether the ISA card is 8-bit or 16-bit one. More wait states for 8-bit, less for 16-bit cards. Also, in AT the cards can use 0WS signal to indicate that they can work without any wait states.
  • Later AT clones, including some 286 chipset based boards, used either some fraction of the CPU clock to run the bus, or a completely independent clock based on 14.31818 MHz signal.
 
Back
Top