oldgamer85 wrote on 2020-01-31, 21:17:Is there any version of dosbox that supports super resolutions (2560x240,etc)? […]
Show full quote
Is there any version of dosbox that supports super resolutions (2560x240,etc)?
I am trying to display dosbox games in fullscreen mode on a consumer 15KHz crt TV, meaning 320x200, 320x240 without double scan.
But I couldnt find a way to make dosbox use super resolutions, I think they just aren't available (or I'm just too dumb to find).
Retroarch does support super resolutions, but I'm having some problems with the dosbox cores which don't occur with stand alone dosbox so I prefer the latter.
If you haven't heard of super resolutions:
Because of the lower pixel clock limit of modern devices, original resolutions such as 320x200@60 have too low a pixel clock and will simply not work.
So people in emulation have resorted to using super resolutions which in essence are resolutions whose horizontal dimension is an integer multiple of the original res of an application.
Hi, i understand your problem, specially with intel integrated graphics, that the minimum clock is 20mhz, i dont know unofficial version of dosbox, but at least official one dont support super resolutions
But is very easy to moddify dosbox, just you need to change this lines and compile
In "render_scalers.cpp" look for normal2x
ScalerSimpleBlock_t ScaleNormal2x = {
"Normal2x",
GFX_CAN_8|GFX_CAN_15|GFX_CAN_16|GFX_CAN_32,
2,2,{ […]
Show full quote
ScalerSimpleBlock_t ScaleNormal2x = {
"Normal2x",
GFX_CAN_8|GFX_CAN_15|GFX_CAN_16|GFX_CAN_32,
2,2,{
change to 2,1 for 320x200>640x200 for example (or 4,1 for 1280x200)
ScalerSimpleBlock_t ScaleNormal2x = {
"Normal2x",
GFX_CAN_8|GFX_CAN_15|GFX_CAN_16|GFX_CAN_32,
2,1,{ […]
Show full quote
ScalerSimpleBlock_t ScaleNormal2x = {
"Normal2x",
GFX_CAN_8|GFX_CAN_15|GFX_CAN_16|GFX_CAN_32,
2,1,{
and in "render_templates.h"
#define SCALERNAME Normal2x
#define SCALERWIDTH 2
#define SCALERHEIGHT 2
#define SCALERFUNC \
line0[0] = P; \
[…]
Show full quote
#define SCALERNAME Normal2x
#define SCALERWIDTH 2
#define SCALERHEIGHT 2
#define SCALERFUNC \
line0[0] = P; \
line0[1] = P; \
line1[0] = P; \
line1[1] = P;
change to 2,1 again or 4,1 and remove the second lines
#define SCALERNAME Normal2x
#define SCALERWIDTH 2
#define SCALERHEIGHT 1
#define SCALERFUNC \
line0[0] = P; \
[…]
Show full quote
#define SCALERNAME Normal2x
#define SCALERWIDTH 2
#define SCALERHEIGHT 1
#define SCALERFUNC \
line0[0] = P; \
line0[1] = P;
Then you will have what do you want in surface, ddraw and overlay modes
640x200
640x200.png
1280x200
1280x200.png
beside resolution, my advice is for VGA to make a resolution AS MUCH close to 70hz you can. My Sony Trinitron can do 67hz at 15.12khz, and this is very important, since VGA 200px games run at 70hz
EGA and CGA are 60hz, and Hercules 50hz, no problem here
Good luck