I'm closing in on finishing of my retrochallenge "winter warmup" -- or at least my original stated goals. (I kicked it into overdrive today)... but need some people to test out my code.
You can read up on what I'm doing on my blog:
http://my.opera.com/deathshadow/blog
... and download the demo here:
http://www.cutcodedown.com/retroChallenge/winter2011/demo16r1.rar
Which includes all the code too.
Basically it's the "undocumented" 160x100 16 color CGA graphics mode, rewritten for proper support of the EGA and VGA cards. I've added a command line parameter (/vgaSafe) to implement the old method (as done by Jeffery Silverton) of VGA support as a few laptop displays bomb with my technique of also reprogramming the CRTC for real 640x200 "mode 3" -- wondering if I need to put the effort in to providing the same fall-back for EGA, or if I got it right.
While I'm interested in knowing how the EGA handles it and 64k systems, I figured this would be the place to ask about how it works (or doesn't) on the Jr. I'm using my own keyboard code instead of calling the BIOS, but was unsure if the Jr's BIOS data area is even compatible -- so it could be even the keyboard doesn't work. If so I'll add the BIOS calls back in. I don't expect video-wise the Jr. would behave all that differently from my Tandy 1K HX since we are just talking about using a tweaked version of the CGA 80x25 text mode.
So If anyone here would be willing to test that it would be GREATLY appreciated. Oh, and for the morbidly curious on modern computers - being that it's 16 bit DOS code that also reprograms the CRTC DIRECTLY I advise against trying to run it in Windows -- though I've tested it extensively inside DOSBOX where it works just fine. (though it has an annoying 'lag' on mode setting due to the redraw delay)
Tomorrow I get to start working on the sprite engine -- though this is just stage 1 of my project -- stage two is where the real fun begins; screwing around with the 8253 PIT... and Stage 3, well... that's my big surprise. (which I'm hoping to have done by end of month, though no promises)