First post, by clb
Hey all,
While scouring some VGA docs from Headland, http://www.bitsavers.org/components/video7/70 … anual_Jun88.pdf (which starts with a cool "With Contributions from Michael Abrash" note),
I found a mention about their VGA card implementing emulation for EGA Light Pen hardware registers, and making a remark that "maybe it's good for random number generation if nothing else".
Well, googling "vga light pen random numbers" did not find any hits to read more about this, so of course had to give it a go.
I have a Headland HT208 VGA card, as shown attached. Indeed, with a little bit of C code, I was able to build a random number generator that sources its randomness from the Headland VGA card Light Pen Address registers. Rock on! 😁
Superficial litmus testing of randomness does say "looks legit", although further statistical testing would naturally be warranted.
Didn't test other cards in my lab yet, except for a WDC Paradise PVGA1A-JK that I had connected in the PC first, which I find does not support this kind of feature.
Will this be a Headland exclusive "we threw this in and the kitchen sink because being IBM hardware compatible is a marketing point", or will other VGA cards also be able to support hardware number generation? No idea.. but I do kinda like this "who's the fairest of them all" take on VGA compatibility. ¯\_(ツ)_/¯
If you'd like to give your VGA card a go, compiled program and source code are available at GitHub:
- Direct Download: https://github.com/juj/crt_terminator/raw/mai … DOS/bin/RNG.zip
- Browse Code: https://github.com/juj/crt_terminator/blob/ma … DOS/RNG/RNG.CPP
I would absolutely love to get my hands on original IBM EGA and VGA graphics adapters, but those seem to be super rare 🙁 If someone has one to test, would be interesting to hear what the results are.
----------------------------------
TLDR Summary of tested cards:
So far, the following cards have been verified to provide this kind of Hardware RNG:
- Headland HT208 ISA (my card in this post)
- Chips&Technologies F65545 PCI Vendor/Device 102Ch/00D8h integrated on a motherboard (DerBaum's card in Re: Can your VGA card provide a hardware source for random numbers?)
- Chips&Technologies F65548 PCI Vendor/Device 102Ch/00DCh integrated on a motherboard (DerBaum's card in the same comment above)
- 3Dfx Voodoo 3 2000 (PCI) (ViTi95 in Re: Can your VGA card provide a hardware source for random numbers?)
- 3Dfx Voodoo 3 (AGP) (b_w in Re: SNOOP.EXE: (S)VGA adapter info tool and CRT Terminator config utility )
- Ahead V5000B (my card in Re: Can your VGA card provide a hardware source for random numbers? )
Graphics cards from the following manufacturers have been tested to NOT implement this quirky feature:
- 3Dfx Voodoo Rush (ViTi95 in Re: Can your VGA card provide a hardware source for random numbers? )
- Acumos, Cirrus Logic (my Acumos AVGA1 card in Re: Can your VGA card provide a hardware source for random numbers? , Cirrus Logic 5420 DerBaum in Re: Can your VGA card provide a hardware source for random numbers? and ViTi95 further in the thread)
- Alliance Semiconductor (ProMotion AT25, ViTi95)
- ARK Logic (1000PV, ViTi95)
- Ati (DerBaum)
- BrookTree (DerBaum)
- HMC (HM86314Q, ViTi95: Re: Can your VGA card provide a hardware source for random numbers? )
- IBM EGA adapter (User modem7 over at VCFED: Re: Can your VGA card provide a hardware source for random numbers? )
- Macronix (MX86251FC, ViTi95)
- Matrox (DerBaum)
- NVidia (TNT2 M64, badmojo in Re: Can your VGA card provide a hardware source for random numbers? )
- Oak (Oak OTI067, DerBaum in Re: Can your VGA card provide a hardware source for random numbers?)
- Paradise, WDC (WDC Paradise PVGA1A-JK, my card tested in this post)
- RealTek (RTG3106, DerBaum, RTG3105iEH by ViTi95 in Re: Can your VGA card provide a hardware source for random numbers? )
- S3 (Vision, Trio64, Virge, DerBaum)
- Trident (my card 8900C, Pierre32 in Re: Can your VGA card provide a hardware source for random numbers? )
- Tseng (ET4000AX, DerBaum)
It is a safe assumption to make that if a given card did not have this quirk, then any later cards from the same manufacturer are quite unlikely to have it either, since the lack of this "feature" would never ever have made it to the "oops, we better fix that in the next hardware iteration" list.
Cards still unknown:
- Original IBM VGA adapter
- IBM 8514, PGA and XGA adapters
- other manufacturers not listed above?