rmay635703 wrote on 2020-03-27, 01:17:
retro games 100 wrote on 2018-08-24, 16:36:
Would this card (in the original post) be a good choice for say a high end 386 (AMD DX-40 perhaps?), or an entry level 486 (say a DX-33) system? Pre "multimedia", and pre Doom era? Did anyone own this card back in the day? Generally speaking, was it considered a quality card? Thanks for any thoughts.
God no, pre doom era yes, good match to a dx40 no unless you specifically need the 8514a compatibility
I need to try this in my 386/486 Opti 495SX board. In that 286, up to 27 MHz (which is more stable with a 90 mm fan directly blowing across the board above and below the CPU), I'm getting within .1 FPS results with the Graphics Ultra (in 16-bit mode) and CL5422 and CL5420 ISA cards.
The ATi card might benefit more from ISA bus overclocking, too, and does seem to be the most stable overclocked. (it's the only one of the 3 that works at all at 20.8 MHz ISA clock on a Socket 7 board: 83 MHz FSB, 41 MHz PCI, 1/2 PCI ISA divider, though I haven't actually used it for games or benchmarks above 13.5 MHz, and that's on the D60 286 board) Hmm, I could try it at 40/5 and compare to 40/3 if the IDE interface remains stable at 13.3 MHz and see what the difference is.
Oh, and I do have a late gen 8-bit VGA card I could compare it with, too. (fake 16-bit connector on that one with no traces going to any of the pins)
Hmm, for that matter, I need the wolfenstein 3D benchmark for comparison, too. (and that'd be more VGA-bound and less processor bound than Doom, though would also be 286-compatible)
I've tested the CL cards, a Trident VLB card, and Avance Logic VLB card on the 486 board (with 40 MHz FSB, 10 MHz ISA, 120 MHz ST/Cyrix 486 DX4) and that Trident card gave the worst results, but only slightly less than the ISA cards) in 3DBench, PC Player, Doom, and Quake. I didn't make note of Chris's 3D Bench scores and need to run through these again, but difference was pretty marginal at 320x200 and only moderately moreso for PC Player at 640x480.
The ISA CL cards did 50 to 51 in 3D Bench, the Trident card 49, and Avance card 55.1 to 55.5. (I remember those off the top of my head, but need to look up the others).
I haven't messed with the VESA jumper settings on that board yet (though there's 386/486 settings and <33 MHz and >33 MHz, and I assume that mostly configures waitstates). I don't think this OPTi chipset is particularly fast anyway (and even later OPTi 486 chipsets aren't known for speed) so it might turn out to not have very good VESA performance in general.
I haven't messed with jumpers on the VLB cards, and if there's wait state configuration on that end and/or a jumper to select ISA bus compatibility mode, that could make a big difference. (on the wait state end, things might end up better even if I have to drop to 33 MHz for zero wait states)
Also, I wouldn't think Doom would benefit as much from VESA as VGA games that rely on copying from a framebuffer in main RAM (actually using the 32-bit bus) as Doom draws directly to VGA memory one 8-bit pixel at a time in unchained mode (or writes to VGA registers for 2-pixel line fill commands when in low-detail mode) so low wait state access to VGA RAM and registers would be more important than bus width.
Games running in MCGA/13h mode would benefit from fast local bus copying and ones that use unchained mode for hardware scrolling, but still do block reads/writes for 2D rendering with nonlinear VGA pixel organization. (you can still blit 4 8-bit pixels at a time, but they're not packed, but spaced 4 pixels apart, so most code would probably work at doing blits and copies along 16 pixel boundaries, since you effectively get 16 packed pixels in 4 adjacent unchained/planar VGA address writes)
It's weird and byte-planar, not bit-planar (unlike EGA and 4-bitplane VGA modes), and for single-pixel texture mappers (like Doom) it doesn't matter much other than using non-linear address increments (and only when starting a new column, or drawing spans), and for Quake rendering in VGA mode (not sure if it supports linear SVGA or 8514 compatible framebuffer modes), but Quake's use of 16-pixel span line segments seems to fit well in the VGA planar organization as well. (though you can also just render to a linear back-buffer in main RAM and translate 16 pixel blocks to VGA memory as part of the copy routine)
And further afield of the Graphics Ultra (and VGA Wonder architectures), but on the topic of VGA game oddities/quirks/dependencies and performance:
Games that support 320x200 and jump straight to 640x480 as the alternate mode probably often support linear framebuffers exclusively (13H and linear 640x480 modes), possibly with a double-buffering option in 640x480. (I'm not sure if you can do that in 13h with cards 512kB or larger, since chain4 maps the 64kB linear buffer into 256kB space redundantly, it seems like it'd work via switching 256kB banks)
I assume Tie Fighter CD and Wing Commander III and IV use that technique.
There also might not be much point in double-buffering mode 13h other than maybe reducing main RAM requirements for multiple back buffers. (to avoid screen tearing in 13h, you just need a fast enough VGA card and a properly timed copy routine that polls the v-synch status register, I think) And even real-mode games could fairly easily resort to moving the back buffers to EMS memory and swapping out 64kB chunks, or potentially using the 64kB HMA block available in real-mode and modifying the protected-mode extended address registers for simple 64kB page style bank switching, or the same thing using a dedicated 64kB page in the UMA. (either using the LoadALL exploit or switching to protected mode via a reset: I think on AT class machines, that's done with a special routine assisted by the keyboard controller MCU along with A20 handling)
Most games seem to just resort to requiring EMS memory or making direct use of VGA memory for additional buffering, though.
Use of VGA memory might be one of the reasons Wolfenstein 3D didn't need to resort to EMS memory requirements. (Wing Commander 1 and 2, and X-Wing either have optional features available through EMS, or require EMS for general functionality) I'm not sure if the Wing Commander games have special options for using portions of UMA or HMA, but given Ultima VII makes use of real-mode LoadAll addressing exploits, Origin might have done that elsewhere.