dosbox-pure icon indicating copy to clipboard operation
dosbox-pure copied to clipboard

Overscan support; Crystal Caves green "all clear" border missing.

Open boomercore opened this issue 4 years ago • 8 comments

As seen in DOSbox X with surface rendering + overscan turned on and actual hardware + CRT, there will be a green border upon retrieval of all gems per stage, signifying that the stage can be exited. Was wondering if this could be implemented at some point, thank you. crystal caves border

boomercore avatar Aug 03 '21 22:08 boomercore

Is DOSBox-X the only variant of DOSBox that does this correctly? If so, there might be slim chance for me to implement this. DOSBox-X is very different from regular DOSBox. The emulation part of DOSBox Pure is 100% based on actual vanilla DOSBox, so compatibility stuff needs to be fixed there to be incorporated into Pure. Unless it is a very small code change that certainly won't break anything else etc.

schellingb avatar Aug 14 '21 15:08 schellingb

I do believe it's only in DOSbox-X and maybe a few other variants. I checked both .74 and Staging and the option is in neither conf file. If that's your scope and focus for the project, I understand, it's your show. If you've got time and the code seems easy enough to implement, perhaps some time down the road.

boomercore avatar Aug 14 '21 16:08 boomercore

You have to understand how different DOSBox-X is compared to regular DOSBox (and thus Pure).

  • The source code of DOSBox-X consists of 1238 files with 858309 lines of code in a 220 MB github repository
  • The source code of DOSBox consists of 290 files with 128479 lines of code in a 7 MB svn repository

DOSBox Pure would 100% not exist if the code base of DOSBox were 6 times the size, 6 times the complexity. Chances that I can find out which of the 700k added lines fix this particular problem are very small.

Compatibility stuff like this is driven by original DOSBox, maybe you can bring it to the attention of the maintainers of that :-) Realistically I can only fix things that broke in the process of making this derivative of the original code.

I'd rather fix the flickering of Alpha Waves (aka Continuum) first :-)

schellingb avatar Aug 14 '21 16:08 schellingb

No worries, it's understandably fringe. Just thought I'd bring it up in case it's something you wanna tackle months if not years from now, haha.

boomercore avatar Aug 14 '21 16:08 boomercore

Looks like you're going through old tickets; any hope of applying this to Pure or is this a hard no and a close?

boomercore avatar Jun 02 '22 18:06 boomercore

Switching out the entire DOSBox part with DOSBox-X is not possible, but if we can figure out which patch or code part of DOSBox-X can fix this in vanilla based DOSBox then I'd certainly consider it. Figuring out what fixes it might be hard though... did you say that there is a special option in DOSBox-X regarding overscan that needs to be turned on for this to be correct?

schellingb avatar Jun 02 '22 19:06 schellingb

Yes, that is the case. In the config, in the SDL section, one can set overscan=x (1-10) for the amount of overscan outside of the typical surface shown. This allows the border in games like Crystal Caves to work. I couldn't tell you what and where that is in the code itself, though.

boomercore avatar Jun 02 '22 19:06 boomercore

Ah OK, I can probably work backwards then, see what that config setting affects and see how complex (or simple) it would be to copy that functionality over into our code base. I'll see what I can do :-)

schellingb avatar Jun 03 '22 18:06 schellingb

Thought I'd see if you'd gotten anywhere with this, thanks.

boomercore avatar Dec 16 '22 20:12 boomercore

Tested and working :)

@boomercore The setting is in: Core Options > Video > Overscan Border Size.

PoloniumRain avatar Dec 07 '23 01:12 PoloniumRain

Works excellently, thank you. Crystal Caves (1991)-231210-220600

boomercore avatar Dec 11 '23 04:12 boomercore