Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
boomercore opened this issue Aug 3, 2021 · 11 comments
Closed

Comments

@boomercore
Copy link

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

@schellingb
Copy link
Owner

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.

@boomercore
Copy link
Author

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.

@schellingb
Copy link
Owner

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 :-)

@boomercore
Copy link
Author

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
Copy link
Author

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

@schellingb
Copy link
Owner

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?

@boomercore
Copy link
Author

boomercore commented Jun 2, 2022

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.

@schellingb
Copy link
Owner

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 :-)

@boomercore
Copy link
Author

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

@PoloniumRain
Copy link
Contributor

Tested and working :)

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

@boomercore
Copy link
Author

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants