VOGONS


Copper Demo

Topic actions

First post, by Great Hierophant

User metadata
Rank l33t
Rank
l33t

This is this demo called Copper, and it apparently requires very particular VGA hardware to get it to work fully on a particular system.

DOSBox 0.74 SVN r3408 with vgaonly comes the closest I have yet seen to getting through the demo correctly. Here is an outline of the demo's effects :

A - COPPER
B - Parallax Bars x 3
C - Copper Bars x 2
D - Wobble x 4
E - Picture by J.O.E
F - Line-fading x 2
G - Flicker Free Flood Effects x 2
H - Y-zooming
I - Water Effects
J - Y-zooming and Wobbling x 3
K - Zooming

Of all the effects shown in the demo, DOSBox currently cannot do anything related to Wobble (D, J). Thats the bad news. The good news is that it seems to do everything else 100% correctly. It even handles some effects that draw a blank screen on my real hardware.

My 486 with an S3 805 VLB card cannot do the wobble correctly (interfers with the screen stability), E only shows 2/3rds of the picture, F & K do not show up at all and I had some problems. I can get the wobble to work properly with an IBM VGA card, but the E has the same problem and F & K only show a black screen.

The readme with the demo seems to indicate that cards with the Tseng ET3000 and ET4000 chipsets were appropriate to view all the demo's effects, but even they had some trouble on certain systems.

http://nerdlypleasures.blogspot.com/ - Nerdly Pleasures - My Retro Gaming, Computing & Tech Blog

Reply 1 of 34, by 5u3

User metadata
Rank Oldbie
Rank
Oldbie

Wow! Just tried the "official demoscene VGA torture test" on vanilla dosbox 0.74 (demovga) and I'm impressed! I haven't been able to watch some parts of this demo since my Compaq 3/25zs (i386SX/25 with onboard Paradise VGA) died in 1996. 😉

I've tried my ISA VGA cards on a 486 (Trident TVGA8900C, Western Digital WD90C30, Tseng ET4000AX, Cirrus Logic GD5426), but none of them gets it right. Here are my results:

Part E only seems to work correctly on the Tseng ET4000.

Parts F and K show a black screen, I only get the Surprise! logo at the bottom.
Same goes for the vertical text scrollers (greetings, etc) after parts D, G and K, which seem to be a variation of the "line fading" effect.

When I watch the demo on a TFT screen, it goes bonkers during the wobble parts (losing sync), but more interestingly, I get pixel snow (similar to CGA snow) in the non-working parts mentioned above. For some reason these are not visible on a CRT.

Reply 2 of 34, by Great Hierophant

User metadata
Rank l33t
Rank
l33t

Is there a real card that can actually run all these effects correctly? Even the Tseng chips seem to be stymied by the line fading effects

http://nerdlypleasures.blogspot.com/ - Nerdly Pleasures - My Retro Gaming, Computing & Tech Blog

Reply 5 of 34, by h-a-l-9000

User metadata
Rank DOSBox Author
Rank
DOSBox Author

> Is there a real card that can actually run all these effects correctly?

Don't forget about the monitor - the more modern, microprocessor controlled ones have more problems with the wobble. They realize the timing changes and thus assume a mode switch is going to happen, blanking the screen or doing other nasty things. The older monitors have only their PLL that continuously adopts to the modified timing.

1+1=10

Reply 6 of 34, by Great Hierophant

User metadata
Rank l33t
Rank
l33t

I may do another video to show the correct wobble effects on real hardware.

http://nerdlypleasures.blogspot.com/ - Nerdly Pleasures - My Retro Gaming, Computing & Tech Blog

Reply 7 of 34, by 5u3

User metadata
Rank Oldbie
Rank
Oldbie
h-a-l-9000 wrote:

Don't forget about the monitor - the more modern, microprocessor controlled ones have more problems with the wobble. They realize the timing changes and thus assume a mode switch is going to happen, blanking the screen or doing other nasty things. The older monitors have only their PLL that continuously adopts to the modified timing.

Oh yes. And to make matters worse, many demos made during the mid-90s change modes between effects. On old screens the switch happens almost instantly, but anything with an OSD or presets for different modes will take their sweet time adjusting for the new mode. All this blanking (or worse, inserting an OSD message with the new mode specs) really ruins the experience in fast-paced demos.

BTW, the copper demo doesn't get ranked at Pouets TP'92 results page. There might be any number of reasons, but maybe the demo didn't work on the party machine? 🤣

Reply 8 of 34, by MobyGamer

User metadata
Rank Member
Rank
Member
Great Hierophant wrote:

Is there a real card that can actually run all these effects correctly? Even the Tseng chips seem to be stymied by the line fading effects

The line fading effects are done with color pages, which is the part that Rick Dangerous mentioned was the most dodgy in the .NFO file.

Some of the effects are only possible with the right CPU timing as well, which is why you're not seeing everything even if you have a Tseng Labs 3000 or 4000. This is also why DOSBox may never be able to emulate it properly. Your best bet in seeing everything is to run it on the intended hardware -- ISA bus (no VLB), Tseng Labs et4000 card, 486 or lower. I've done that and I've seen the demo in its entirety. Oh, and you should use an older-style non-multisync VGA monitor, as the rapid timing fluctuations will confused most multi-sync monitors and they'll try to keep auto-switching/adjusting.

There is a much more compatible S!P demo if you want to see copper effects (and it's a better demo anyway) called The Good, The Bad, and The Ugly. I'd run that if you have a GUS.

A 1:1 analog video capture of these demos is impossible because they don't run at 60Hz, and even if they did, some of the effects are produced by screwing with various timings. It is possible to get an analog capture of both demos using a scan converter, but most scan converters will drop/add frames which will be jarring. The Sony DSC-1024 and DSC-1024g use a field blending approach, so that is what has typically been used to capture odd-rate demos in the past. The end result feels like a field-blended post-process, but it looks a little better than that.

I have a DSC-1024 and some broadcast (8-/10-/12-bit) capture hardware; I keep meaning to capture the both of those demos but can never find the motivation to hook everything up.

Reply 9 of 34, by Great Hierophant

User metadata
Rank l33t
Rank
l33t
MobyGamer wrote:
The line fading effects are done with color pages, which is the part that Rick Dangerous mentioned was the most dodgy in the .NF […]
Show full quote
Great Hierophant wrote:

Is there a real card that can actually run all these effects correctly? Even the Tseng chips seem to be stymied by the line fading effects

The line fading effects are done with color pages, which is the part that Rick Dangerous mentioned was the most dodgy in the .NFO file.

Some of the effects are only possible with the right CPU timing as well, which is why you're not seeing everything even if you have a Tseng Labs 3000 or 4000. This is also why DOSBox may never be able to emulate it properly. Your best bet in seeing everything is to run it on the intended hardware -- ISA bus (no VLB), Tseng Labs et4000 card, 486 or lower. I've done that and I've seen the demo in its entirety. Oh, and you should use an older-style non-multisync VGA monitor, as the rapid timing fluctuations will confused most multi-sync monitors and they'll try to keep auto-switching/adjusting.

There is a much more compatible S!P demo if you want to see copper effects (and it's a better demo anyway) called The Good, The Bad, and The Ugly. I'd run that if you have a GUS.
.

DOSBox displays everything properly except for the wobble, which I assume deals with functionality not likely to be implemented (changing refresh rates and such.)

Since I have a GUS, I will try the demo you linked. As far as the Copper demo, I am kind of out of luck for the moment, as I have no Tseng ISA card and my monitor is likely too new for the wobble to work effectively.

http://nerdlypleasures.blogspot.com/ - Nerdly Pleasures - My Retro Gaming, Computing & Tech Blog

Reply 10 of 34, by MobyGamer

User metadata
Rank Member
Rank
Member
Great Hierophant wrote:

DOSBox displays everything properly except for the wobble, which I assume deals with functionality not likely to be implemented (changing refresh rates and such.)

Actually, the refresh rate is the same, it's implemented using the Start Horizontal Retrace Pulse Register, which is typically used to center the screen horizontally by specifying the character position where the "horizontal retrace" signal goes active. You can do this trick on CGA adapters too, although it is much cruder on CGA. (Should also be possible on MDA and EGA but I've never tried.)

Reply 11 of 34, by kao

User metadata
Rank Member
Rank
Member

Oh, and you should use an older-style non-multisync VGA monitor, as the rapid timing fluctuations will confused most multi-sync monitors and they'll try to keep auto-switching/adjusting.

I bet that's why Galaxian kept f*cking up all my VGA monitors except one old fixed-frequency display. On everything but that, running the game resulted in a "No Signal Present" message.

Reply 12 of 34, by 5u3

User metadata
Rank Oldbie
Rank
Oldbie

Ok, I've unearthed my old AOC 15" screen (built in 1992) from the cellar, on this one the wobble works perfectly.
Alas, still no line effects. Could this have something to do with the fact that my ET4000 has a hi-color DAC installed (as opposed to a plain old 8bpp one)?

Reply 14 of 34, by 5u3

User metadata
Rank Oldbie
Rank
Oldbie
Joey_sw wrote:

isn't old VGA DAC was 6bit-per-plane?

Oops, I meant 8 bits per pixel, which is rubbish in this context, of course.

Still, that could explain why it would work on some ET4000s while failing on others. Early cards didn't support more than 256 colors, but they could be upgraded by swapping out the RAMDAC. The classifieds in old computer mags had plenty of ads for ET3000/4000 replacement hi-color DACs.

In other news, I tried the demo on a 1.4 GHz Athlon, and it runs exactly the same way as on a 25 MHz 486 (using the same ET4000 card), so I think we can rule out CPU speed as a factor. 😉
The Adlib detection starts to fail at 66 MHz though.

Reply 15 of 34, by MobyGamer

User metadata
Rank Member
Rank
Member
5u3 wrote:

Still, that could explain why it would work on some ET4000s while failing on others. Early cards didn't support more than 256 colors, but they could be upgraded by swapping out the RAMDAC. The classifieds in old computer mags had plenty of ads for ET3000/4000 replacement hi-color DACs.

Color page registers are present in the original VGA design; the RAMDAC should not matter.

I haven't disassembled the code to check, but what is likely going on is that RD was using a trick when selecting color pages to save some time and that trick only happened to work on his equipment. For example, when trying to change a palette entry every single scanline, you usually wait until horizontal retrace, then select the color, then feed it three values (R, G, B). But on slow machines you would see palette "snow" on the left edge of the screen, so a common trick was to send the R and G, THEN wait for horizontal retrace, and then send only the B. This eliminated the snow, although it was not compatible with all cards. Another trick for speed was to send word-sized values to VGA ports, to save on two 8-bit writes; this was out of spec and behaved differently on different cards.

What I'm trying to say is that Copper is one of the most extreme edge cases I know of in the DOS world; nobody should feel bad that they can't run everything perfectly. At least RD wrote it so that hitting ESC will skip to the next effect.

In other news, I tried the demo on a 1.4 GHz Athlon, and it runs exactly the same way as on a 25 MHz 486 (using the same ET4000 card), so I think we can rule out CPU speed as a factor. 😉

If all effects it didn't run correctly on the Athlon, I'm not sure how that proves that cpu speed isn't a factor in getting effects to work properly...

Reply 16 of 34, by 5u3

User metadata
Rank Oldbie
Rank
Oldbie
MobyGamer wrote:

Color page registers are present in the original VGA design; the RAMDAC should not matter.

I haven't disassembled the code to check, but what is likely going on is that RD was using a trick when selecting color pages to save some time and that trick only happened to work on his equipment. For example, when trying to change a palette entry every single scanline, you usually wait until horizontal retrace, then select the color, then feed it three values (R, G, B). But on slow machines you would see palette "snow" on the left edge of the screen, so a common trick was to send the R and G, THEN wait for horizontal retrace, and then send only the B. This eliminated the snow, although it was not compatible with all cards. Another trick for speed was to send word-sized values to VGA ports, to save on two 8-bit writes; this was out of spec and behaved differently on different cards.

Ah, I see. Thanks for the explanation! The Line fading effect seems to change 16 colors per scanline at one point, which is very impressive.

MobyGamer wrote:

What I'm trying to say is that Copper is one of the most extreme edge cases I know of in the DOS world; nobody should feel bad that they can't run everything perfectly. At least RD wrote it so that hitting ESC will skip to the next effect.

Yep, from the top of my head I only know one more demo which has a wobble effect like the copper demo: Copperfaked by Aardvark.

MobyGamer wrote:

If all effects it didn't run correctly on the Athlon, I'm not sure how that proves that cpu speed isn't a factor in getting effects to work properly...

Well, as far as other demos are concerned, I agree with you. If CPU speed wasn't important, I wouldn't have to keep three machines and at least six CPUs just to run old demos properly. 😉

RD's copper demo however doesn't seem to be influenced by the CPU speed. Most effects (except line fading and the final zoom effect) work correctly on all my CPUs, with clock frequencies ranging from 25 MHz to 1.4 GHz. In Dosbox, all effects (except the wobble parts, but including the line fading and zoom effect) work perfectly, no matter if i set 3000, 30000 or 300000 cycles.
With these results, I can't see how the effects could be broken by the CPU running too fast. Running this demo properly only seems to be a matter of finding the one "magic" Tseng model that works. Anyone got an ET3000 or an older ET4000 (non -AX) card to test this?

Reply 17 of 34, by MobyGamer

User metadata
Rank Member
Rank
Member
5u3 wrote:

RD's copper demo however doesn't seem to be influenced by the CPU speed. Most effects (except line fading and the final zoom effect) work correctly on all my CPUs, with clock frequencies ranging from 25 MHz to 1.4 GHz. In Dosbox, all effects (except the wobble parts, but including the line fading and zoom effect) work perfectly, no matter if i set 3000, 30000 or 300000 cycles.
With these results, I can't see how the effects could be broken by the CPU running too fast.

My point is that your logic is flawed because you're basing it on only the effects that are working for you. Until you can find two setups where all effects are working, you can't really say CPU speed isn't a factor.

That aside, I'm afraid I've never tested it successfully with anything other than an ET4000 card. I've never seen an ET3000 card. I've gotten all but the line fading effect working with a Paradise card (PVGA1A).

Reply 18 of 34, by Great Hierophant

User metadata
Rank l33t
Rank
l33t

As far as I can tell, there are only the ET3000AX and ET4000AX chipsets. The AX suffix seems ubiquitous.

Also, although you could insert a High-Color or True-Color RAMDAC into many of these cards, the performance of 16-bit graphics on the ISA bus would seem to be very slow.

http://nerdlypleasures.blogspot.com/ - Nerdly Pleasures - My Retro Gaming, Computing & Tech Blog

Reply 19 of 34, by kao

User metadata
Rank Member
Rank
Member

the performance of 16-bit graphics on the ISA bus would seem to be very slow

Graphics modes above 640x480x16 were not widely used until the 486 era when better buses became commonplace. Although they'd had SVGA resolutions since the first IBM PS/2s, those were rarely seen outside the professional market where MCA and EISA were normal. The early SVGA standards like XGA and 8514/A were also hardware-accelerated in addition to using faster buses.

You need a Pentium or fast 486 to get acceptable performance out of unaccelerated 800x600 or 1024x768 and that's just if you want to run MS Office. Playing games that have large amounts of action going on need still more power. Most Windows 9x games ran in 640x480 resolution and 800x600 was not common before XP for this reason.