VOGONS


RReady (Rendition Verite wrapper) Test Build (Alpha 1)

Topic actions

Reply 3180 of 3200, by sharangad

User metadata
Rank l33t
Rank
l33t

Does anyone know what happens to the stack pointer after making an Int 10h call from a DOS4G app? I've patched ICR2 to make a dummy interrupt during the aspect ratio calculation, but the stack pointer appears to be different to what it is in the execution trace, the other registers seem to be preserved. Some documentation on how this is handled would be useful.

I know Int10h is a real mode call. Maybe I could modify the Int10h vector to directly int10h instead of massaging a protected mode to real mode transition. I don't know if that's possible.

The reason this is important is the game appears to use different aspect ratios: 4:3 for external views and something closer to 1:1 for cockpit views . I could probably create a code cave and add my code in, but I'm not great with dos and don't really know where I can insert stuff, assuming there's unused space in there.

Developer of RReady - Rendition Verité Wrapper.
https://www.youtube.com/@sharangadayananda\
https://patreon.com/Rready

Reply 3183 of 3200, by sharangad

User metadata
Rank l33t
Rank
l33t

Just a quick update on widescreen support with ICR2, the aspect ratios are correct for 16:9 and 32:9 through modelview matrix manipulation, but the sprites in game are scaled equally in both dimensions so they're out of whack at the moment:
[EDIT] https://youtu.be/broxTVRiUEI (sprite scaling fixed)[/EDIT]
https://youtu.be/jwRRvG4TJkA

(Also available here for with just a sign-in and an extra formula in the description: https://www.patreon.com/posts/indycar-racing- … ntent=join_link)

An earlier attempt is available here with indepdent x and y scaling (of models):
https://youtu.be/gSLTet0VncI
(https://www.patreon.com/posts/indycar-racing- … ntent=join_link)

The game uses a 3x3 matrix with both 16.16 and 2.30 fixed point arithmetic.

Developer of RReady - Rendition Verité Wrapper.
https://www.youtube.com/@sharangadayananda\
https://patreon.com/Rready

Reply 3184 of 3200, by josemike03

User metadata
Rank Newbie
Rank
Newbie

My xbox one controller (wired) seems to not be recognized in icr2. Dosbox does recognize it (Verified it by going ctrl+f1 before going into icr2), but inside the game, the joystick calibration doesn't register the movement of the joystick, neither of the triggers. The inputs sort of "glitch" when in the calibration tab. Im using the latest rendition alpha (watemarked) along icr2rend by gplaps.

Reply 3185 of 3200, by sharangad

User metadata
Rank l33t
Rank
l33t
josemike03 wrote on 2025-11-08, 00:55:

My xbox one controller (wired) seems to not be recognized in icr2. Dosbox does recognize it (Verified it by going ctrl+f1 before going into icr2), but inside the game, the joystick calibration doesn't register the movement of the joystick, neither of the triggers. The inputs sort of "glitch" when in the calibration tab. Im using the latest rendition alpha (watemarked) along icr2rend by gplaps.

I have one a 360 pad, I'll see if I can get it to work. Give me an hour to get back to my desk.

Developer of RReady - Rendition Verité Wrapper.
https://www.youtube.com/@sharangadayananda\
https://patreon.com/Rready

Reply 3186 of 3200, by sharangad

User metadata
Rank l33t
Rank
l33t

You're right. It doesn't work in dosbox-rendition but does in dosbox-staging-rendition.

Dosbox-rendition does appear to detect it correctly, even though it doesn't actually work. Dosbox uses SDL1 and staging uses SDL2. Let me see if it's fixable or whether it needs a separate xinput codepath.

Developer of RReady - Rendition Verité Wrapper.
https://www.youtube.com/@sharangadayananda\
https://patreon.com/Rready

Reply 3188 of 3200, by sharangad

User metadata
Rank l33t
Rank
l33t

@josemike03, This will take quite a while, the XInput code in newer SDLs is C++ based and SDL1 is C based. I already have some XInput code I used for something else. I can try and integrate that directly into dosbox. I'll try doing that once I get widescreen working. It's a bit of a big job, but its next on my list after widescreen.

Developer of RReady - Rendition Verité Wrapper.
https://www.youtube.com/@sharangadayananda\
https://patreon.com/Rready

Reply 3189 of 3200, by josemike03

User metadata
Rank Newbie
Rank
Newbie
sharangad wrote on 2025-11-08, 09:59:

@josemike03, This will take quite a while, the XInput code in newer SDLs is C++ based and SDL1 is C based. I already have some XInput code I used for something else. I can try and integrate that directly into dosbox. I'll try doing that once I get widescreen working. It's a bit of a big job, but its next on my list after widescreen.

Thank you very much... Now at least I know it is not possible for now instead of taking hours trying to figure it out myself. I'm no programmer so I'll wait... Hope you can get widescreen soon!

Reply 3190 of 3200, by sharangad

User metadata
Rank l33t
Rank
l33t
josemike03 wrote on 2025-11-09, 00:07:
sharangad wrote on 2025-11-08, 09:59:

@josemike03, This will take quite a while, the XInput code in newer SDLs is C++ based and SDL1 is C based. I already have some XInput code I used for something else. I can try and integrate that directly into dosbox. I'll try doing that once I get widescreen working. It's a bit of a big job, but its next on my list after widescreen.

Thank you very much... Now at least I know it is not possible for now instead of taking hours trying to figure it out myself. I'm no programmer so I'll wait... Hope you can get widescreen soon!

You should be able to get it working with an xinput to directinput converter. You would also have to configure the joystickid in dosbox-rendition.conf to point to the fake directinput instance instead of "Xbox controller"

Developer of RReady - Rendition Verité Wrapper.
https://www.youtube.com/@sharangadayananda\
https://patreon.com/Rready

Reply 3192 of 3200, by Gona

User metadata
Rank Member
Rank
Member
sharangad wrote on 2025-09-15, 18:22:

@Gona, could you post the resources used in Windows 98 by your 3DBlaster VLB? I'm interested in ports and address ranges. I hope these are listed in device manager.

I hope Windows 95 is also suitable:

I/O range: 03E0 - 03E3
IRQ: 05
Memory Range: C8000000 - C8000FFF
Memory Range: D9000000 - D9FFFFFF

Video card compatibility matrix for DOS games | ATI3DCIF compatibility matrix | CGL API compatibility matrix

Reply 3193 of 3200, by sharangad

User metadata
Rank l33t
Rank
l33t
Gona wrote on 2025-11-16, 21:12:
I hope Windows 95 is also suitable: […]
Show full quote
sharangad wrote on 2025-09-15, 18:22:

@Gona, could you post the resources used in Windows 98 by your 3DBlaster VLB? I'm interested in ports and address ranges. I hope these are listed in device manager.

I hope Windows 95 is also suitable:

I/O range: 03E0 - 03E3
IRQ: 05
Memory Range: C8000000 - C8000FFF
Memory Range: D9000000 - D9FFFFFF

Thanks Gona, Win 95 is fine. This is very different to the 3DB PCI and looks *more* straightforward maybe. Only 3 ports (from 03E0), a 16 MB address range from D9xxxxxx (video memory) and a maybe some memory mapped IO at C8xxxxxx. I'll get you a test app next week by next week, bit ill at the moment. Before that I'll need to add these blocks to the known list in Dosbox and see what gets written/read to/from them.

Developer of RReady - Rendition Verité Wrapper.
https://www.youtube.com/@sharangadayananda\
https://patreon.com/Rready

Reply 3194 of 3200, by Gona

User metadata
Rank Member
Rank
Member
sharangad wrote on 2025-11-16, 22:59:

Thanks Gona, Win 95 is fine. This is very different to the 3DB PCI and looks *more* straightforward maybe. Only 3 ports (from 03E0), a 16 MB address range from D9xxxxxx (video memory) and a maybe some memory mapped IO at C8xxxxxx. I'll get you a test app next week by next week, bit ill at the moment. Before that I'll need to add these blocks to the known list in Dosbox and see what gets written/read to/from them.

OK, get better.
I put here the 3D Blaster VLB default DOS resources if someone seek them:

Control Region: C1000000
Memory Region: D0000000
I/O Port Base: 3E0
IRQ Requested: 5

Video card compatibility matrix for DOS games | ATI3DCIF compatibility matrix | CGL API compatibility matrix

Reply 3195 of 3200, by RaVeN-05

User metadata
Rank Oldbie
Rank
Oldbie

Tested Nascar Racing 2: This game shares exactly same issues as Nascar 1999 Edition.
In additional: if you happen to win, the left most person wearing jacket, his jacket have corrupted colors, unconfirmed trough if its same on other versions (seems minor thing)

https://www.youtube.com/user/whitemagicraven
https://go.twitch.tv/whitemagicraventv

Reply 3196 of 3200, by sharangad

User metadata
Rank l33t
Rank
l33t
RaVeN-05 wrote on 2025-11-18, 16:36:

Tested Nascar Racing 2: This game shares exactly same issues as Nascar 1999 Edition.
In additional: if you happen to win, the left most person wearing jacket, his jacket have corrupted colors, unconfirmed trough if its same on other versions (seems minor thing)

Thanks @raven-05! I'll add that to my list of bugs. There was one more reported, flickering in the interstate '76 menu when paused.

Developer of RReady - Rendition Verité Wrapper.
https://www.youtube.com/@sharangadayananda\
https://patreon.com/Rready

Reply 3197 of 3200, by sharangad

User metadata
Rank l33t
Rank
l33t
Gona wrote on 2025-11-17, 07:25:
OK, get better. I put here the 3D Blaster VLB default DOS resources if someone seek them: […]
Show full quote
sharangad wrote on 2025-11-16, 22:59:

Thanks Gona, Win 95 is fine. This is very different to the 3DB PCI and looks *more* straightforward maybe. Only 3 ports (from 03E0), a 16 MB address range from D9xxxxxx (video memory) and a maybe some memory mapped IO at C8xxxxxx. I'll get you a test app next week by next week, bit ill at the moment. Before that I'll need to add these blocks to the known list in Dosbox and see what gets written/read to/from them.

OK, get better.
I put here the 3D Blaster VLB default DOS resources if someone seek them:

Control Region: C1000000
Memory Region: D0000000
I/O Port Base: 3E0
IRQ Requested: 5

I think port 3E0 is used to work out the other settings. We'll find out soon enough.

Developer of RReady - Rendition Verité Wrapper.
https://www.youtube.com/@sharangadayananda\
https://patreon.com/Rready

Reply 3198 of 3200, by sharangad

User metadata
Rank l33t
Rank
l33t
Gona wrote on 2025-11-17, 07:25:
OK, get better. I put here the 3D Blaster VLB default DOS resources if someone seek them: […]
Show full quote
sharangad wrote on 2025-11-16, 22:59:

Thanks Gona, Win 95 is fine. This is very different to the 3DB PCI and looks *more* straightforward maybe. Only 3 ports (from 03E0), a 16 MB address range from D9xxxxxx (video memory) and a maybe some memory mapped IO at C8xxxxxx. I'll get you a test app next week by next week, bit ill at the moment. Before that I'll need to add these blocks to the known list in Dosbox and see what gets written/read to/from them.

OK, get better.
I put here the 3D Blaster VLB default DOS resources if someone seek them:

Control Region: C1000000
Memory Region: D0000000
I/O Port Base: 3E0
IRQ Requested: 5

Gona, would it be possible to share the driver CD for the 3d blaster vlb? I don't know if it's available already.

[edit] they're already available on vogon's drivers:
https://www.vogonsdrivers.com/getfile.php?fileid=824

Developer of RReady - Rendition Verité Wrapper.
https://www.youtube.com/@sharangadayananda\
https://patreon.com/Rready

Reply 3199 of 3200, by sharangad

User metadata
Rank l33t
Rank
l33t
josemike03 wrote on 2025-11-08, 00:55:

My xbox one controller (wired) seems to not be recognized in icr2. Dosbox does recognize it (Verified it by going ctrl+f1 before going into icr2), but inside the game, the joystick calibration doesn't register the movement of the joystick, neither of the triggers. The inputs sort of "glitch" when in the calibration tab. Im using the latest rendition alpha (watemarked) along icr2rend by gplaps.

https://nirvtek.com/downloads/RReady.Alpha.20251120.001.7z
MD5: a24d11a3bbfb96882f8089d973c9ed3c

https://nirvtek.com/downloads/RReady.Alpha.20251120.002.7z
MD5: 60eb37963add010606826a144d004737

- joystick multithreading can be moved to its own thread:
[joystick]
multithreaded=true
(This is the default).
This reduces the input latency and guarantees 200 joystick polls per second at the cost of an extra CPU thread. Previously the joystick was polled at best once every 20 ms provided no other SDL events (like keyboard processing) were present. If there were any events, they all needed to be dealt with before joystick processing, adding to latency.
- Preliminary support for XInput joysticks
- Run dosbox-rendition and close it. Click view log. It should list the available joysticks like this:
2025/11/20|7:25:11.757 Available Joysticks
2025/11/20|7:25:11.757 0 is Controller (Gamepad F310)
2025/11/20|7:25:11.757 1 is Controller (XBOX 360 For Windows)
2025/11/20|7:25:11.757 2 is XInput Controller (player #1)
2025/11/20|7:25:11.757 3 is XInput Controller (player #2)

To use an Xbox controller:
joysticktype = 4axis
usejoystickids = true
joystickids = 3 (to use player#2's controller) OR
joystickids = 2 (to use player#1's controller)

For two player
joysticktype = 2axis
usejoystickids = true
joystickids = 3 ,2 (to use player#2's controller as stick one and player#1's controller as stick two)

There's also :
axesmapping=0,1,2,3
for a 4-axis controller this maps stick 1 and stick 2 as x1, y1 and x2, y2. To use the triggers as axis 3 this should be set to:
axesmapping=0,1,4,3
This makes stick axis 4 (triggers) function as the third axis.

For an xbox controller, the mmsystem/directinput nodes such as sticks #0 and #1 can be used, but axismapping would have to be adjusted. By default for a 360 controller, axis #2 is mapped to the triggers.
axesmapping=0,1,4,3 OR axesmapping=0,1,3,4 should work.

Developer of RReady - Rendition Verité Wrapper.
https://www.youtube.com/@sharangadayananda\
https://patreon.com/Rready