Retro computing means different things to different people.
To me the "retro era" ends around year 1996 (give or take a few) with the demise of the 486 platform.
Yet, i have a soft spot for Slot 1/2 CPUs and related hardware that were the thing around year 2000 (again - give or take a few).
So not sure if this passes for "retro", but here ...
Around the turning of the 21st century i was all over 3D graphics and getting deeper into coding.
I associate the period with growing knowledge - learning new concepts from different apps and trying to replicate them in pixels and/or code.
So, for long time i wanted to build a kick-ass year 2001 (give or take 1) dual CPU workstation for computer graphics and software development, with a distant second role - gaming.
At the time video gaming was mostly behind me and only Quake3 could distract me for a short while from my other interests.
With that said, i finally found the time to almost finish that project. Currently at the last step before completing it.
The CG scene in year 2001, for context, briefly:
All high-end graphics applications were ported already to the PC platform and steadily evolving.
Alias|WAVEFRONT's Maya established itself as the premiere package for computer graphics.
Softimage3D was substituted by XSI, which was rebuilt from scratch and needed few more years to smoothen the edges.
More people started grasping the power of proceduralism in SESI's Houdini.
Cinema4D already captured its market niche.
3DS MAX was very popular already, but similar to XSI and Cinema4D - its computational engine was stack based and this was a limiting factor.
LightWave3D was in decline.
Global Illumination renderers were replacing the scanline ones and so on.
Back to present day.
As usual, period correctnes is the norm, this time wider range - mid 2000 to mid 2002.
MOTHERBOARDS, CPUs, MEMORY:
I like all dual Slot 1/2 standard ATX motherboards with AGP slots, but not all of them are good fit for my need here, so most boards were discarded in the pre-qualifications as unsuitable. Only 3 (+1) made it to the final bakeoff:
Intel OR820 - which i am still debating about and for now won't include in this post.
As you probably noticed i picked non-SCSI versions of the Supermicro and Asus boards.
I use CF cards for local storage and SCSI-to-IDE with its cables and adapter is way too messy inside the case.
Also, the plan was to go with a modern day (for the time) UltraATA IDE RAID controller which will be much faster than the built-in SCSI.
In short - i like my computers dedicated and optimized for the mission - like an F1 car. Cannot have unused baggage dangling in the trunk.
Or at least, that was the theory ...
Unfortunately it turned out that RAID IDE + CompactFlash cards + NT4 = no go. Works fine with mechanical HDDs.
Luckily normal IDE controllers, such as Promise Ultra133 TX2, are just fine with CF cards. Speedsys screenshots below for the Asus and Tyan motherboards have been taken with that very Promise adapter, instead of showing the performance of the on-board ATA-33 or 66 ones.
To continue at the end of the post.
Initially i wanted a "clean" P3 Coppermine slot 1 processors, but then decided to max things out with slotketed Tualatins.
Dual Slot 2 motherboard based on Intel's i440GX chipset.
Latest revision, latest BIOS.
2Gb PC100 ECC RAM, Micron.
Two 900MHz Pentium III Xeon processors.
The on-board clock generator maxes out at 100MHz, so no chance of overclocking.
Initially the board operated at 83MHz FSB, which resulted in the CPUs running at 740MHz. This was odd.
Tried everything i can think of to fix that but without success.
Even called Supermicro's support, but while nice on the line, they kind of told me to buzz-off since the ancient relic does not officially support 900MHz Xeons, so not their problem.
Then something unexpected happen. Check this out:
Lots of fans are needed to keep the CPUs cool. One day i was setting them up and was measuring with multimeter some of their power plug pins. One of the probes slipped and i shortened the line by accident. The fans on it stopped running. Lame.
Decided to measure the voltage on another fan power plug as a starting point for fixing things. Slipped again. Shortened it too. Two more fans stopped. Bummer.
2 hours later i was still unable to locate the broken components, so decided to do the easy thing - provided voltage to the pins using wires soldered on the back of the board and secured with molded plastic.
Turned on the board for a quick test and surprise surprise - 900MHz CPUs @ 100MHz FSB.
What The Heck ... 😁
But i take it.
Motherboard processors, system memory, basic stats.
This thing is massive !
Tyan Tiger-133 v1.05
VIA Apollo Pro 133a chipset.
I don't think i ever owned motherboard with VIA chipset. Pretty sure this is my first ... and i really like it. Especially that i kept it in its original box and wrapping. It still smells like new hardware - that is 20 years after its birth.
Supports up to 2Gb RAM at 100MHz FSB, or 1.5Gb at 133MHz. Takes single sided memory modules.
Everything works as expected, except the on-bard ATA-66 controller. Even it says that ATA-66 device is recognized (IDE to CF adapter + the fastest CF card out there), it maxes out at around 8Mb/s. Works fine with mechanical HDDs. Not a big deal, since CF cards with their low latency >> than mechanical HDDs from that time. Still annoying enough, if not using a fast third party IDE adapter.
According to the schematics of the on-board clock generator, it cannot go above 133MHz, so no luck with overclocking.
Motherboard with Pentium III 1000/256/133 CPUs and 1Gb of PC133 Mosel Vitelic RAM, basic stats:
Revision 1.6, stepping D03, ICS 9250CF-08 clock generator, HIP6019BCB voltage regulator.
I have this guy completely pimped:
- Adjustable VTT Tualatin mod for reduced signal voltage to exactly 1.363V - upper left wires on the picture below. The rubber wrap contains two resistors that add up to the desired Ohms. It was easier to combine 2 elements than searching for a single one with the right resistance + error.
- VIO mod for 3.5V to memory for increased stability with maxed-out RAM and 133MHz or higher FSB.
- 4th jumper mod for enabling the entire table of frequencies supported by the clock generator - upper right wires.
- ACPI fix
- Latest BIOS, patched with Tualatin microcodes.
Intel and Asus say that i440BX chipset maxes out at 768Mb RAM @ 133MHz FSB.
I have the board running completely stable with 1Gb RAM @133MHz FSB (44.33MHz PCI), or 768Mb @ 140MHz FSB (35MHz PCI), as well as at 150MHz FSB with a single selected 256Mb RAM module. Videos at the bottom of the post.
Took a knee-tall stack of memory modules to find the right ones. Sigh.
The onboard ATA-33 controller maxes-out at around 10Mb/s.
Motherboard, two Pentium III Tualatin 1400/512/133 CPUs (SL6BY) in Asus S370-DL rev. 1.02 slotkets, 1Gb RAM - Elpida PC133.
Cooler Master heatsinks. Compact, but surprisingly dense and heavy. The CPU modules feel like golden bricks in the hand.
Fans are like mini-helicopters, but reasonably quiet.
1470 / 140
1575 / 150
AUDIO + LAN:
As mentioned above - i am going for an F1-like system.
The only allowed luxury is a sound card, such as this Creative Labs Sound Blaster Audigy EAX:
As well as a standard LAN adapter:
Back in year 2001 the situation with professional graphics adapters was a bit muddy.
So, decided to check the latest AGP ones, that are compatible with the mobos:
A non-period correct fancy SDI version of Quadro FX4000 (the PRO equivalent of GeForce 6800 Ultra) was only used as an indicator for the graphics performance limit, considering what is possible with the available AGP slot version on the motherboards (card's AGP connector is modified with an extra notch to fit the slot).
Wildcat II 5000
Quadro 2 Pro (ELSA Gloria III) - overclocked to 350/550
Oxygen GVX1 Pro
Oxygen GVX210 + box.
Fire GL2 (Diamond). Added a fan. No idea why these cards were sold with passive cooling only. I can fry bacon on it when under load.
Windows NT4 + SP6a (128-bit) + DX5 + IE6 (excluding its ActiveDesktop - no CPU cycles can be allocated to unsubstantial stuff)
I really liked Windows NT4. It did right everything i cared about:
- ~90Mb size on disk out of the box, ~250Mb with VC++ 6
- small memory footprint - 12Mb out of the box, ~20Mb with VC++
- great OpenGL support
- rock solid, simple to operate and snappy to use
- completely portable - install and setup everything properly. Boot into DOS/Win9x/Linux/etc. - copy the files to a backup location. The restororation to fully operational NT4 state is a matter of simply copying them back. Assuming boot sector/loader are intact - the OS will just work, including on a different hardware. In this case it may ask for some drivers and stuff, but that's it. This is something i relied a lot on back in the day.
I resisted upgrading to Windows 2000, XP and such for as long as i could. They pushed me into the Linux world where i stayed until recently, but i admit Windows 10 is good and I am kind of back in MS land.
The systems were tested in-depth, but most of the details will be out of context here. Will keep things on a high-level, short and sweet.
For professional use 3 things matter:
1. C/C++ compilation times.
Used PovRay 3.5 source code. It takes about 2-3 minutes to compile, which is ideal for testing.
While the code is pretty much completely self-contained, i had to patch it in few places to work around a dependency on some MS library that i couldn't obtain. Compile times may be skewed a bit because of that.
2. OpenGL viewport performance.
Used a tank asset that i have. It has dense enough (for the time period of interest) mesh geometry.
vertices: 120,395, edges: 236262, faces: 122,698
3. 3D rendering performance.
Used two scenes:
For scanline rendering i recreated a shot from StarWars Ep.4. Have to say that it felt great making pixels again. I had a star destroyer model laying around. Took me 2-3 hours to get the shot completed. One thing to mention - all textures are render time procedurals, no bitmaps.
The original shot has this blue tint on the destroyer that always bugged me, corrected it in my interpretation. 😉
For global illumination rendering (which was getting very popular at the time) i used the tank scene.
Interior environment, one ambient (fill) light, entire lighting comes from emissive surfaces. Worst case scenario in many ways.
Added and the previously used LightWave3D test - it was interesting to see the performance improvement compared to my AMD 486DX5 @160MHz system from page 1:
4. And one gaming test - Quake3's default timedemo. 1024x768, all settings on max.
Systems configuration, for clarity:
Code compilation. Xeons rule.
OpenGL. The important professional test is "shaded" mode. Empty cells indicate system instability.
Notice Quadro's best Quake3 number. 😁
i440BX + high frequencies = the deal, but i440GX + Xeons are "dangerously" close.
3D rendering. High frequency is everything that matters.
Another set of tests not shown here confirm that VIA's chipset in Tyan Tiger is clock-to-clock slower than i440BX. It kind of can be seen here as well.
Added and some DOS tests with the Quadro2 Pro, as it is the fastest from the pack in DOS. Again, wanted to see black on white the perf improvement over the 486 class hardware from previous tests.
i440BX + highest clock frequency for the win.
As i mentioned at the beginning of this post, the plan was to use top-dog period correct IDE RAID controllers - for compactness of the physical setup and for practicality, considering CompactFlash cards.
RAID controllers work just fine in DOS or Windows 9x, etc., but hardware cannot be recognized by the corresponding drivers when in NT4.
This is unexpected and the reason is software. Bunch of different IDE RAID controllers with CF cards cannot be recognized on bunch of different motherboards, but only under NT4. 😖
Some of the tested controllers:
3Ware Escalade 7000 - great controller - gets me to ATA-100 (in DOS)
FastTrak Tx2000 - pretty good too. Sees the CF device as ATA-66 and maxes out at 24Mb/s (in DOS).
SIL0680 - another good one - maxes out at around 21-24Mb/s (in DOS).
Instead, this Promise Ultra133 TX2 IDE controller was used for the Asus and Tyan motherboards:
The goal is to build the most optimized, best performing Slot 1/2 based workstation.
Looking at the results, pros/cons, etc., it is clear that Asus P2B is the top performance dog, but is RAM limited and with on-board ATA-33 IDE only.
Supermicro's S2DGE is slower than P2B, but supports 2Gb RAM and does much better with its ATA-66 IDE.
Using third party ATA-133 IDE controller levels out the field and on-board IDEs are not a factor.
Tyan Tiger-133, despite being a really great motherboard on its own, is somewhat in the shadow of the other two.
So it looks like it will be the P2B or S2DGE that will end up in the computer case.
About the video adapters:
Back in the day OpenGL graphics were a lot more glitchy than we know them today. I am using the latest available driver for each card. Apparently they worked out most of the issues. At least i didn't encounter any. So, deciding factor is the performance alone.
Looking at the numbers - it will be Fire GL2 or Quadro2 Pro.
Lit+texture test is unbearably slow for all adapters which makes it kind of irrelevant - this mode is practically unusable with this class hardware.
Quadro2 kills it in Quake3 (190 fps - BOOM !!!) and DOS graphics, but is slightly slower in the OpenGL "shaded" test than FGL2.
Both Q2Pro and FGL2 are on par in the "wireframe" test.
In addition - Quadro FX4000 (GeForce 6800 Ultra) is not period correct, but seems to be the last generation of graphics adapter that works on these motherboards and is supposed to provide the practical performance limit - so, i ran tests with it as well. Results were similar to Quadro2 Pro and Fire GL2, which indicates that performance is CPU bound - host cannot saturate the GPUs. Didn't expect that, but the outcome makes sense. Anyway.
So, as usual, there is not a single ideal option from the considered components, but at least tinned the candidates down to 2 motherboards and 2 video cards.
Rather boring video showing a test run with the Asus P2B-D board - Maya, Softimage, VC++, Quake3: https://www.petershipkov.com/temp/retro_pc_im … est_run_140.mp4
As i mentioned early, the board runs completely stable at 1575MHz CPUs, 150MHz FSB, 37.5MHz PCI, 256Mb RAM only, Quadro2 Pro overclocked to 350MHz core and 550MHz RAM. In this configuration we get a kick-ass gaming PC.
Here is a quick boot-to-Quake3 roll:
https://www.petershipkov.com/temp/retro_pc_im … est_run_150.mp4
198 fps <- this !