HX icon indicating copy to clipboard operation
HX copied to clipboard

Increase max I/O trap range to 10

Open Cacodemon345 opened this issue 11 months ago • 2 comments

This PR increases max I/O trap range to 10.

I need this for my VSBHDA fork, in order to alter the value returned from VGA port 0x3DA/0x3BA to fix games running potentially too fast on modern AMD GPUs.

Cacodemon345 avatar Jan 23 '25 18:01 Cacodemon345

Would you like to make that change also in SBEMU?

Torinde avatar Jan 26 '25 07:01 Torinde

It will be difficult to make such changes in SBEMU due to wildly different code structures.

Cacodemon345 avatar Jan 26 '25 07:01 Cacodemon345

Not to the point of the the PR itself, but would you mind elaborating if you actually implemented a version of VSBHDA with CRT emulation? I checked PTRAP in SF and dont see the port reference, yet I can see a fork of HX with extended port range number, albeit no builds offered. Would be keen to try the version on my PC if it ever was made available.

drivelling-spinel avatar Oct 28 '25 18:10 drivelling-spinel

I decided against doing it after I briefly examined VGA register behaviour w.r.t. VSync on AMD Polaris.

It seems to actually work in FastDOOM, but for whatever reason seems to not work on Descent 1 which runs too fast. I don't know why it even happens.

Cacodemon345 avatar Oct 28 '25 18:10 Cacodemon345

Thanks for the info. Appreciate this may be a wrong place for this conversation, but could you give some references or direction about implementing a fixup for CRT? I am looking at a particular game Blackthorne for which I observe sound to world animation synchronization issues on my Core Quad machine, and, seeing no luck with CPU slowdown utilities was looking to try and see if VSync fixup could be attempted. (I did a quick instruction dump from DOSBox-X and the game does use CRT registers for some synchronization).

drivelling-spinel avatar Oct 28 '25 20:10 drivelling-spinel

So far I can only point towards the documentation for VGA Input Status Register 1: (http://www.osdever.net/FreeVGA/vga/extreg.htm).

I don't know if there's also VBIOS calls involved in VSync, but a brief glance there did not turn up anything.

Cacodemon345 avatar Oct 28 '25 20:10 Cacodemon345