VOGONS

Common searches


First post, by snorg

User metadata
Rank Oldbie
Rank
Oldbie

Somehow this guy figured out a way to get 85 colors out of CGA on a stock Tandy 1000.

http://www.youtube.com/watch?v=MR1uq4y9G34

It sounds like he cheated a bit by doing the encoding on another machine, I'm not sure how this is possible.
Maybe some of the more hardcore bit-twiddlers out there can explain?

Reply 1 of 9, by Harekiet

User metadata
Rank DOSBox Author
Rank
DOSBox Author

If there's flickering you'd imagine some sort of flipping between 2 images and having the crt ghosting make it all seem somewhat decent.
Maybe similar to the c64's ifli mode where you also slightly change the pixel positions of the second frame if I remember that correctly so it blurs a bit more.

Reply 3 of 9, by Gemini000

User metadata
Rank l33t
Rank
l33t

I noticed interlacing in the image display, which you normally DON'T get on a Tandy monitor. :O

Also, this was done on a more advanced TL system, not an SX system as the thread title presently alludes to. :P

It's important to note too that the SL/TL series are capable of 640x200x16 graphics, so that might be a part of what's going on here... but I am definitely having trouble figuring out how this was pulled off... the key might be in the "85"...

--- Kris Asick (Gemini)
--- Pixelmusement Website: www.pixelships.com
--- Ancient DOS Games Webshow: www.pixelships.com/adg

Reply 4 of 9, by VileR

User metadata
Rank l33t
Rank
l33t
Gemini000 wrote:

It's important to note too that the SL/TL series are capable of 640x200x16 graphics, so that might be a part of what's going on here... but I am definitely having trouble figuring out how this was pulled off... the key might be in the "85"...

85 is the number of unique combinations possible when you take two of the 16 RGBI colors and flip them quickly enough. Works just as well in 320x200, and I'm pretty sure that's what this demo is using so it shouldn't be SL/TL-specific.
For more info, the original thread about it is here: http://www.vintage-computer.com/vcforum/showt … L-85-Color-Demo

[ WEB ] - [ BLOG ] - [ TUBE ] - [ CODE ]

Reply 5 of 9, by Gemini000

User metadata
Rank l33t
Rank
l33t
VileRancour wrote:
Gemini000 wrote:

It's important to note too that the SL/TL series are capable of 640x200x16 graphics, so that might be a part of what's going on here... but I am definitely having trouble figuring out how this was pulled off... the key might be in the "85"...

85 is the number of unique combinations possible when you take two of the 16 RGBI colors and flip them quickly enough. Works just as well in 320x200, and I'm pretty sure that's what this demo is using so it shouldn't be SL/TL-specific.
For more info, the original thread about it is here: http://www.vintage-computer.com/vcforum/showt … L-85-Color-Demo

*reads through the thread*

...still looks interlaced in the video footage for whatever reason... :B

Explains a bit though for sure... and on a modern monitor it would look flickertastic. :P

--- Kris Asick (Gemini)
--- Pixelmusement Website: www.pixelships.com
--- Ancient DOS Games Webshow: www.pixelships.com/adg

Reply 6 of 9, by Joey_sw

User metadata
Rank Oldbie
Rank
Oldbie

On that thread OP did said about using bsave/bload format, which just a memory dump + header.
I imagine he using the common "REP MOVSW" assembly instruction for each alternating frame.

I remember seeing varous CGA games where the interleaves are still visible especially at 4.77 MHz,
even when the game are not accessing the floppy when its try move the graphics data to B800:0000.

is the Tandy graphics mode memory also being interleaved as CGA graphics mode?

-fffuuu

Reply 7 of 9, by ryoder

User metadata
Rank Newbie
Rank
Newbie
Joey_sw wrote:
On that thread OP did said about using bsave/bload format, which just a memory dump + header. I imagine he using the common "REP […]
Show full quote

On that thread OP did said about using bsave/bload format, which just a memory dump + header.
I imagine he using the common "REP MOVSW" assembly instruction for each alternating frame.

I remember seeing varous CGA games where the interleaves are still visible especially at 4.77 MHz,
even when the game are not accessing the floppy when its try move the graphics data to B800:0000.

is the Tandy graphics mode memory also being interleaved as CGA graphics mode?

Tandy 16 color mode is interleaved with four banks of 8192 bytes. Each row has 160 bytes and if you write to byte 161 you place two pixels at the point 0,3 or the first pixel of the fourth row.

This demo uses page flipping to get a high frame rate. He draws one version of the image to frame 0 and the other to frame 1 and then rapidly flips. No movsw is needed once the two pages are loaded.

Reply 8 of 9, by reenigne

User metadata
Rank Oldbie
Rank
Oldbie
Gemini000 wrote:

...still looks interlaced in the video footage for whatever reason... :B

There's a good reason for that. The image is created by rapidly flickering between two images (at 30Hz). Flicker is more noticeable if you're flickering between a dark image and a light image. So instead of doing that, Chris put the lighter colours on even scanlines on even frames and odd scanlines on odd frames. So if you were to look at any one frame, you'd see bright scanlines interleaved with dark ones.

There's more technical details on this demo at http://www.vintage-computer.com/vcforum/showt … L-85-Color-Demo .

Reply 9 of 9, by ryoder

User metadata
Rank Newbie
Rank
Newbie

Reengine, you and Trixter are my heroes. I'll put out something interesting at some point that pushes my Tandy 1000HX and TL to the max. Including source. Right now I am working on a street fighter 2 concept and have compiled sprites and full screen scrolling working at 12fps. I am going to try ditching the background and make something that runs 85 colors with compiled sprites and achieves a playable fps. Of course I also have a day job, airplane, and a life.