1024 Colors on an old-school CGA - relevant to Prop NTSC?
JasonDorie
Posts: 1,930
This is something I hadn't seen before, but I thought it might be relevant to the Prop, given the way the NTSC signal is generated.
Basically, using the fact that NTSC uses signal phase to produce color, someone has made a CGA display produce 1024 colors by pushing higher-frequency pixels through it with the right patterns. I'm guessing the idea itself isn't terribly new, but this is the first time I'd seen this.
http://8088mph.blogspot.com/2015/04/cga-in-1024-colors-new-mode-illustrated.html
Basically, using the fact that NTSC uses signal phase to produce color, someone has made a CGA display produce 1024 colors by pushing higher-frequency pixels through it with the right patterns. I'm guessing the idea itself isn't terribly new, but this is the first time I'd seen this.
http://8088mph.blogspot.com/2015/04/cga-in-1024-colors-new-mode-illustrated.html
Comments
I made a 400 or so color driver early on, and some variations on this idea. Eric Ball went further and did a very nice 256 color driver. It could be given more bits to work with and yield similar, if not better results.
I put the 256 color driver to use doing Nyan Cat, and ahle2 added Retrofits sound too.
https://youtu.be/-gyO2lRXLyg
I had a C64 so using an IBM PC was a joke because both the video and sound sucked.
It wasn't until the 90's that a PC could what Commies had been doing for over a decade.
Commies were known for their demos especially when the famous Amiga bouncing ball demo was replicated.
For someone to take a lowly PC and replicate a C64 is commendable.
Don't ask me why but we would refer to our Commodore computers as Commies.
So yeah. That demo rules. Here's a write up on how it was accomplished: http://trixter.oldskool.org/2015/04/07/8088-mph-we-break-all-your-emulators/
This is really nice. Most scene productions don't include this kind of information, though it's not so much a secret as it's expected you look at the production, break out your tools and get it sorted on your own.
They were able to exploit the CGA hardware in various ways, abusing text modes, scan lines, and all sorts of things to get lots of colors, or action scenes. One thing: CGA isn't double buffered! So the spinning balls, for example, are on a modified display that only uses a little of the video memory, leaving room for a buffer. Lots of tricks like that.
I like TV graphics because of artifacts. Props do them fairly easily, though it took us a while to really get it good, and Eric resolved that by doing even the color burst in software so that it would all sync up perfectly. The Nyan Cat driver shows this off, and that's all basically artifact color.
The Apple 2 computers only had artifact color. They are monochrome machines, that can have a color burst signal too. When that's on, and a NTSC display is being used, the pixel patterns make colors. There isn't actually any color generation circuitry in the machines at all! And this is where my very early experiences as a kid led me down this fun road.
Most older computers can do artifacts. Some do a little, some are quite amazing! Now we gotta put the old CGA PC in there with the amazing ones! Nice work by those guys. I'm quite impressed given they really didn't have direct control of a lot of the pixel / color combinations. Abusing text mode really got this done, and of course, that is demoscene material right there.
As Genetix says, doing an effect on a different, or lower class machine is golden! Always fun to see and read about. Over the years, it's been noticed that where software plays a part, capability improves over time generally. Apple 2 computers were nearly all software, and sound, disk access, etc.. were software driven things. Those 1Mhz computers proved quite capable, running in production from something like 77 to 95! Crazy!
Propellers are software video, and that's why we have the wide variety of displays, signal types, and such that we do. Lots of fun, if you are into that kind of thing. Some stuff yet to do too. Component video really hasn't been exploited, and we might get some additional tricks out of S-video yet too. One day... and time! That's usually what it takes. Props generate even the signal in software, so that can be hacked on too. Even the default Propeller drivers overdrive some aspects of the NTSC signal, delivering some bright high saturation colors. Most displays will take it.
The C64 VIC 2 chip has proven to respond to software abuse and really deliver! Sprites in the border, color blending of various kinds, reusing the sprites, even interlaced graphics and other oddities have all been put to use in some great productions, and often games. Fun times. Atari machines, the Amiga, and almost anything with a custom chip and a CPU able to flog on it has yielded some great capabilities not really intended at the time of the design. The 2600 (VCS) is probably one of the best examples, going from very crude ball 'n bat displays to pretty amazing visuals. That one doesn't even have a frame buffer. The graphics are drawn, cycle by cycle, scan line at a time. The actual game happens in the little blanking period.
For the Propeller, I would have to say kurenko (SP) drilling down to really understand waitvid and the WHOP (waitvid hand off point) is among the best Propeller video "hacks" I've seen. Eric Ball has done some under used stuff too. Early on, figuring out how to do any pixel, any color drivers is another one. Bill Henning figured out LMM, which blew the doors open to larger programs too. We've had our share of good stuff happen here.
Of course, non video tricks with the counters abound! Phil, and others have brought us lots of possibilities.
Linus authored a great demo that won Revision 2010, I think? Or maybe 2012? He did CRAFT on an AVR, and somebody sent him a Propeller chip. He delivered a puzzle back to us, and in that production, gave us all some nice tricks. Some of the very first code he posted actually hit the waitvid hand off point, and nobody at the time could really explain it.
The significance of the WHOP is not having to wait for the waitvid! Instead, do as much as can be done, and make sure the data it wants is right there at the exact time it's latching it off the D and S busses. Not waiting means more pixels, higher resolution, etc...
So that's all demoscene type stuff. Hack on it, until it does something awesome. Count me as a fan. Many of the parties release videos, and some live stream (Revision, et al.) where productions are aired, voted on, discussed, drank to...
I really liked this old school video. Just when old school gets a bit stale, something like this nearly always happens, and it's game on again!
Can anyone think, EGA?
These days I don't exploit hardware bugs so much as try to figure out how to crunch through GB of data as fast as possible. The Prop is fun for me as much *because* it's a constrained system as in spite of it.
J