First post, by FeedingDragon
- Rank
- Oldbie
OK, I've been fighting with this for quite a while now. I cannot get composite CGA games to display correctly. I've tried all the output types (surface, overlay, ddraw, opengl, & openglnb.) For some reason opengl doesn't work right, have to use openglnb and it is the only one that will resize the display correctly in windowed mode. I've set fullscreen resolution to 1024x768 and to 0x0 (yes I watched the video.) I've set aspect to true and false. I've gone through all of the scaler options. I've tried every possible combination of those without any luck. The 2 games I use CGA composite mode with are Ultima 2 and 3 (I may have others but they aren't currently installed.)
I tend to use 1024x768 resolution because my monitor is "fixed" at 1366x768 resolution. It will automatically letterbox 4:3 resolutions but will also automatically resize non ????x768 resolutions as well. The monitor's method of resizing is not very reliable though, so I put that task off on DOSBox (it does it better.)
Here is where things get interesting. On almost all of my DOS games, when aspect=false (even the VGA ones,) the image is double letterboxed. That is, black bars on left and right (which I expect,) but also black bars on top and bottom. So, I set aspect=true and they display correctly.
However, on my Composite CGA games, if aspect=false, I get double letterbox, but if aspect=true I now get full height but the width is drastically reduced (approximately cut in half,) resulting in an image that is obviously stretched. If I set resolution to 0x0 aspect true remains the same. However aspect false will no longer double letterbox, but now the image width is stretched.
All of this holds true even for games that have composite CGA as an option but EGA or VGA is also available (I generally will use the EGA/VGA options in those cases.) Dragon Wars has that option, and testing by setting graphics to composite CGA produces the exact same effect.
I'm not really an expert on this, but does composite mode actually use 2 pixels to build a single pixel? If this is the case, that would mean that a 320x200 resolution screen would actually display 160x200 in composite mode. From what I understand on original HW, this is the case, but that the width pixels are actually doubled to fill the screen. Not sure if this is done by the card or by the monitor. I have also noticed that in windowed mode (with other than openglnb output,) the window changes size, and ends up with the same stretched image as aspect=true produces. Though with openglnb the windows maintains the same size (800x600,) and the graphics now look like I remember them.
I guess what I'm asking is.... Is thee some way (or will there at some future time be,) to tell DOSBox to force the resolution? That is, if I want a 160x200 image to display at 1024x768, DOSBox will say OK, and resize to that resolution (multiply width by 6.4 and height by 3.84 in this particular case.)
Feeding Dragon