First post, by NY00123
Hey there,
I'd begin by introducing what I've attached here, and then list a few reasons for working on it, along with some more notes.
A .diff file for a current DOSBox SVN revision is attached. I consider it to be a hack more than an actual patch. The following modifications are applied:
* The "machine" setting has been split into "vidcard" and "system", as described here:
# vidcard: The type of video card DOSBox tries to emulate.
# Possible values: hercules, cga, tandy, pcjr, ega, vgaonly, svga_s3, svga_et3000, svga_et4000, svga_paradise, vesa_nolfb, vesa_oldvbe.
# system: The type of machine DOSBox tries to emulate.
# Possible values: tandy, pcjr, other.
The defaults are vidcard=svga_s3 and system=other.
* Rather than -machine, you can now pass -vidcard and -system arguments to the DOSBox executable, for manually setting the "vidcard" and "system" values, respectively.
* You can set vidcard to "tandy" only if system is also set to "tandy". Similarly, set system to "pcjr" if you want vidcard=pcjr. If you try any incompatible combination, DOSBox quits with a relevant error message.
* The tandy sound setting works as before, with respect to the system setting. That is, assuming tandy=auto: Tandy sound system is enabled, if system=tandy or system=pcjr; Otherwise, it's disabled.
######
Alright, now ones may ask: Why should that be done anyway? What is the motivation behind it? And, can't the plain tandy sound setting be used at the moment?
Well, I've wondered if by no more than basic "search and replace" kinds of modifications, one could get DOSBox to emulate a Tandy (or PCjr) machine with a non-Tandy/PCjr graphics adapter (like VGA). A little motivation behind this:
* A few later Tandy 1000 models had VGA graphics, and even SVGA. Or, at least, this is what is told here regarding the RLX and RSX: http://en.wikipedia.org/wiki/Tandy_1000
* I've found out that Pickle Wars (well, one of the few shareware versions) can play Tandy 3-voice music, if machine=tandy is set. However, on vanilla DOSBox, it basically implies blind gameplay, as PW doesn't work with Tandy graphics and expects VGA (or compatible).
* Oh, and no, tandy=on doesn't work for Pickle Wars as expected; Well, at least for me it doesn't.
######
At the moment, if you want to try this out with Pickle Wars, I'd suggest setting the following values for DOSBox: sbtype=none, oplmode=auto, vidcard=svga_s3, system=tandy, tandy=auto. Furthermore, assuming the correct version of PW is used, select "Tandy SL/TL & Sensation" for sound effects (basically using the Tandy DAC) and "Tandy 3 Voice Systems" for the music.
As an alternative, you may set sbtype=sb16, and select "SoundBlaster, Creative Labs" for the sound effects in PW.
######
Some notes about this, including test results and a few warnings:
* To begin with, no, I've never used an actual Tandy 1000 computer.
* As hinted before, what I've attached is more of a hack than a patch. In fact, it's far from the truth to say that I understand everything in the code I've touched 😀
* I have zero promises that the results are close to a genuine system. Maybe the diff can still help, though.
* Possible instabilities: These are more than expected, due to the nature of the diff. Most of the time, though, things seem to run with no major issues. To the ones who want to test the diff with a few games, a little warning: Running "4D Prince of Persia" first and "Pickle Wars 1" second seems to be a source of hangs, even on vanilla DOSBox v0.74. If someone wants to reproduce such a hang, a good way to try is based on paying attention to the DOSBox mouse cursor locking mechanism.
* I don't know of a lot of things to try out with the PCjr emulation. It shouldn't be a surprise if a "too modern" game makes DOSBox hang with it (Commander Keen included). This is also the case with v0.74, at least here.
* As told beforehand, I can get Pickle Wars to work with Tandy music and sound effects. While a bit irrelevant, you may receive a warning like this as you're using the salad shooter within PW:
DMA segbound wrapping (read): 70000:10000 size 5 [0] wrap ffff
The warning isn't reproduced when a Sound Blaster is used for the effects.
* There's some less luck when it comes to 4D Prince of Persia. With vidcard=svga_s3 and system=tandy, the Tandy DAC appears to work for the effects, although the music is more of a problem. However, with vidcard=hercules and system=tandy, you do hear 3 voice music. Note that for proper graphics you'd need to start the game with an argument, like this: "4d_prin hercules". vidcard=cga is also ok. Of course, vidcard=tandy gives out the better quality for the graphics.
Lets hope I haven't missed anything in the diff and this post...
NY