VOGONS


First post, by sharangad

User metadata
Rank Oldbie
Rank
Oldbie

Hi Guys

[EDIT2]
Update now with V1000 as well as V2000 support
https://1drv.ms/u/s!As-dKk-N73dSmE8_XmHL55en8nRA?e=GUQwwB,
MD5: c98f4e55a5bc34c7292ee17f0c00fc39

Source:https://1drv.ms/u/s!As-dKk-N73dSmFBDwMLxkgb7xywc?e=pp9n8u
MD5: cd087ffcc17a00b1fe850454274fc930

This will work on V1000 boards such as the Canopus Total 3D as well with RRedline 2.0 drivers. The previous version did work, but it produced an error at startup before running. This was because 3 functions required for the display1 extension weren't supported. I don't know whether this is unique to the Canopus or common to all V1000s., but the test for whether the function is available is disabled.

When the wrapper was black screening at race start I tried all sorts of things including importing and locally re-exporting all Verite functions. They weren't necessary and still aren't. This stuff is still in there but F1 doesn't use them and it's too much of a hassle to deal with. F1red only uses a small subset of RRedline.
[/EDIT2]
[EDIT]
Finally works:
https://1drv.ms/u/s!As-dKk-N73dSmEJtb1xypjNmxBCj?e=3HQuwO
MD5: b8221c703d71e0ffbc435531a89e17ea

Extract verite.Dll, redline.Dll and v10003d.Uc to the formula 1 game folder. The wrapper should redirect the relevant calls to verite and redline dlls to the driver supplied ones in system32.

Many thanks to @Raven-05 and @Chuky for their tireless testing. Extra-special thanks to @Raven-05 for insane levels of testing.

This could've been working back in October if I'd tried force loading the V10003d.Uc microcode instead of the default during V_CreateVerite. Instead I wasted a ridiculous amount of time and effort trying to find a bug with the wrapper.

Source code is attached to this and is also available at this alternate link:
https://1drv.ms/u/s!As-dKk-N73dSmETglDNT2ttzWEQj?e=GVC5u5
MD5: f3aea2791305f2147ea4b5aeb690e0dd

Here's a video, courtesy of Raven-05 of v2k. Rready in action:

https://youtu.be/l8pWpmijIXk

And another

https://youtu.be/OSk1lrxGSpQ

Anyone interested in regular RReady, which can run all 13 RRedline games on modern Windows can follow the this thread:

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

Where the fully functional, time unlimited, but watermarked 'alpha' release is available.

Alternatively you can support project by purchasing the Microsoft Store based version. This is watermark free and can simultaneously be used on up to 10 machines at the same time (via the same Microsoft account).

https://apps.microsoft.com/detail/9nrcqj8vlgt … ?hl=en-US&gl=US

[/EDIT]

I've been working on RReady, a Rendition Verité wrapper for almost a year. I've almost got Formula 1 working and one of the fruits of my labour is a way, maybe, to get F1 running on a V2k series with standard RRedline 2.0 drivers. It should hopefully run on a V1k as well using standard drivers (instead of the special F1 drivers).

I don't know if this'll work and if anyone's actually interested. The custom Redline and Verite dlls need to go in the Formula 1 folder and the stock Rendition dlls should be in windows\system.

It looks like the only difference between the v1.0 and 2.0 drivers is the way parameters are passed. Some RRedline 2.0 Verite functions are implemented as passthrough functions calling the relevant functions in windows\system\Verite.dll. Both custom DLLs implement the required RRedline 1.0 functions (ending with _ in the function name). This isn't a full implementation of RRedline 1.0. The only game which uses it is F1 and it only needs a subset, which is fully implemented..

DLL binaries:
https://1drv.ms/u/s!As-dKk-N73dSliBOSyJ2rZtAGidO?e=M0pS9t
OR
https://nirvtek.com/downloads/Formula1.RedlineVerite.zip

MD5: fbdb14d87a912828959007a173248494

Source (Visual Studio 6.0 projects):
https://1drv.ms/u/s!As-dKk-N73dSlh8NcFU-dDVpiXtE?e=sMG1t5
OR
https://nirvtek.com/downloads/RenditionVeriteSource.zip

MD5: 22c9dbf7f5568af4952ede8a50d61c39

If it doesn't work, could you post the error that you get? Hopefully it won't fry anything (It doesn't do anything outside of calling the redline.dll and verite.dll in system). At worst you'll end up with corrupted graphics or an exception/crash).

Attachments

Last edited by sharangad on 2024-04-13, 16:15. Edited 16 times in total.

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

Reply 1 of 315, by chuky

User metadata
Rank Newbie
Rank
Newbie

I tried with a Diamond Stealth ii s220 (Rendition Vérité V2100) in Windows 95b on a Pentium 2 350 Mhz. I didn't install the driver from the cd because it looks like it is for the V1000.

The game opens a small window and I get an error message, saying "The instruction at 00000007 referenced memory at 00400000 The memory could not be written".

Then the crash report says things, I took a screenshot. It says F1RED caused a page failure in the module <unknown> at 0000:00000007
Registres -> Registers
Octets à -> Bytes at
Etat de la pile -> State of the stack

Then there's a crash report for kernel32 but I didn't take a screenshot.

Without your wrapper, if I try running F1red.exe (without the V1000 drivers included) it just tries to create the small games window but it closes immediately without any message.

Attachments

Reply 2 of 315, by sharangad

User metadata
Rank Oldbie
Rank
Oldbie

Thanks for trying.

Many many bugs in the code. Could you try these DLLs:

DLLs
https://1drv.ms/u/s!As-dKk-N73dSlidg2T5X4H0z1RzG?e=SYKbp3
MD5: 2f6dc1a5eb62745aea8293a391ea548e

Source:
https://1drv.ms/u/s!As-dKk-N73dSliikPqL9am9TepUl?e=UTgbP6
MD5: 1cdcc9fd988483d6322060901edc8b62

(Once again, the DLLs go in the Formula 1 folder and not Windows\system).

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

Reply 3 of 315, by chuky

User metadata
Rank Newbie
Rank
Newbie

Now it opens the small window and waits 1 second before crashing. I forgot to put the cd and it didn't ask for it, so it still crashes before checking for the cd.

Here's the error : "The instruction at 0194163a referenced memory at ffffffff The memory could not be read from"
Then there are crash reports.

Attachments

Reply 4 of 315, by sharangad

User metadata
Rank Oldbie
Rank
Oldbie
chuky wrote on 2023-10-14, 20:20:

Now it opens the small window and waits 1 second before crashing. I forgot to put the cd and it didn't ask for it, so it still crashes before checking for the cd.

Here's the error : "The instruction at 0194163a referenced memory at ffffffff The memory could not be read from"
Then there are crash reports.

That's a bit better. Found another bug:

https://1drv.ms/u/s!As-dKk-N73dSlilBAAKx5l37XzkS?e=1xTkCx
MD5: d446780a430b7bb2bad553282ab59555

Source:
https://1drv.ms/u/s!As-dKk-N73dSlilBAAKx5l37XzkS?e=ndd1aT

MD5: f42f1262eed7764fa7b3a6e1226cf793

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

Reply 5 of 315, by chuky

User metadata
Rank Newbie
Rank
Newbie

With the previous versions the error was always the same, but with this one the error is different every time. It seems to look at different places in memory. Sometimes it's ffffffff, sometimes it's the same address it comes from, sometimes it's somewhere else. All errors happen before it checks for the cd.

I made a zip with screenshots and the crash report. They're in the chronological order where I got them, but some of them are not from the same session.
<inconnu> means <unknown>

I'm not a programmer but it looks like the address is random and the error happens before the address itself. If you want, maybe you could tell me how to use something like windbg. I don't have it installed, but it could be the occasion for me to learn something. edit: or maybe I should start compiling myself and look at instructions 1 by 1 as they run ?

Attachments

Reply 6 of 315, by sharangad

User metadata
Rank Oldbie
Rank
Oldbie
chuky wrote on 2023-10-15, 15:11:
With the previous versions the error was always the same, but with this one the error is different every time. It seems to look […]
Show full quote

With the previous versions the error was always the same, but with this one the error is different every time. It seems to look at different places in memory. Sometimes it's ffffffff, sometimes it's the same address it comes from, sometimes it's somewhere else. All errors happen before it checks for the cd.

I made a zip with screenshots and the crash report. They're in the chronological order where I got them, but some of them are not from the same session.
<inconnu> means <unknown>

I'm not a programmer but it looks like the address is random and the error happens before the address itself. If you want, maybe you could tell me how to use something like windbg. I don't have it installed, but it could be the occasion for me to learn something. edit: or maybe I should start compiling myself and look at instructions 1 by 1 as they run ?

If you've got a copy of visual studio 6.0 you might be able to, unless the app checks for a debugger. Let me add some logging to it, so we can see where it fails. That will take me some time but I can probably get it done before tomorrow evening for you to test.

You can probably enable crash dump logging for the app. Not sure how you do it in win98.

Dr. Watson logs will probably help, but that's a text log, not a crash dump.

I think it's best to wait for logging.

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

Reply 7 of 315, by sharangad

User metadata
Rank Oldbie
Rank
Oldbie

Could you try this:

https://1drv.ms/u/s!As-dKk-N73dSlisipNv39IecSz9Y?e=hAYUhg
MD5: 9dbfe71b86407ec665f3525bff023871

Source:
https://1drv.ms/u/s!As-dKk-N73dSliw0DPac298u22FC?e=erxl8H
MD5: 22a42b01e6dae8d6e773c3c9e0b8a610

There'll be a log file after it runs in the game folder.

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

Reply 8 of 315, by chuky

User metadata
Rank Newbie
Rank
Newbie

I don't get a Windows crash error. The log is created but I get a message saying "Logging function missing in V2k. Rready's Redline..DLL" (with "..DLL" instead of ".DLL") the title of the message bos is "C:\WINDOWS\SYSTEM\Verite.dll"

The log file V2k.RReady.LogFile.txt says:

Loaded system\redline.DLL library
VL_OpenVerite_

It'll take a bit of time for me to install what's needed to help debugging. I'm still in Windows 95b, maybe the dlls are too old for the function you wanted to use.

edit: It's the same if I make a copy of redline.dll and call it redline..dll.

Reply 9 of 315, by sharangad

User metadata
Rank Oldbie
Rank
Oldbie

The extra . is a typo in the message.

Are you sure you have the right verite.dll in the F1 folder?

The two wrapper zip files needs to be unzipped into the F1 folder, no system32.

It's entirely possible Win95 the wrapper's verite.dll is looking for the logging function in the system redline.dll. Let me fix that. Give me 10 mins.

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

Reply 10 of 315, by sharangad

User metadata
Rank Oldbie
Rank
Oldbie

Try these (should definitely log the sequence of calls, it uses full paths for DLL loads.):

https://1drv.ms/u/s!As-dKk-N73dSli1jifQQpfdUT8Br?e=eneOvY
MD5: 09f901f47b86fca4d02685668511b9bc

Source:
https://1drv.ms/u/s!As-dKk-N73dSli6K33EgjNmkxRCj?e=JWYyla
MD5 : 14d74c8c5e5339872f50355b47c3430c

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

Reply 12 of 315, by chuky

User metadata
Rank Newbie
Rank
Newbie

This time I get a Windows crash error like before with a random address. The log file is created but it's empty.
I'm copying dlls in the Fomula 1 directory.

I think I'll install Windows 98 next time because I have trouble installing my usb card in Windows 95.

Reply 13 of 315, by sharangad

User metadata
Rank Oldbie
Rank
Oldbie
chuky wrote on 2023-10-16, 15:18:

This time I get a Windows crash error like before with a random address. The log file is created but it's empty.
I'm copying dlls in the Fomula 1 directory.

I think I'll install Windows 98 next time because I have trouble installing my usb card in Windows 95.

One final build for tonight, if you're still around. This should produce 2 log files, one for each DLL, timestamped. This should definitely produce logs.

https://1drv.ms/u/s!As-dKk-N73dSli_rOUgLWtbNGx4_?e=GHwY9N

MD5: fdc3b6ddd8315c9328e33def2d788d4e
Another build with unified logging with a separate file fallback. This shouldn't crash without logging:

https://1drv.ms/u/s!As-dKk-N73dSljArfLHEG04M4lLy?e=RhV595
MD5: e32ddd87ea222219437910f6c5441ca0

The wrapper appears to have issues loading the same DLL from multiple folders (current and windows\system). Probably because of bugs in my code. It does appear to work on Win11, well the logging anyway.

Last edited by sharangad on 2023-10-16, 22:34. Edited 1 time in total.

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

Reply 14 of 315, by chuky

User metadata
Rank Newbie
Rank
Newbie

It makes 2 logs files but they're empty.

I'll try compiling the version of your code that outputs something in the log (version 2023-10-16.001), and see if I can output some text in many places and get rid of the message.

I'm in Windows 98 1st edition at the moment but I'll install 2nd edition.

Reply 15 of 315, by sharangad

User metadata
Rank Oldbie
Rank
Oldbie
chuky wrote on 2023-10-16, 22:31:

It makes 2 logs files but they're empty.

I'll try compiling the version of your code that outputs something in the log (version 2023-10-16.001), and see if I can output some text in many places and get rid of the message.

I'm in Windows 98 1st edition at the moment but I'll install 2nd edition.

One more:
https://1drv.ms/u/s!As-dKk-N73dSljG8hGo_erD_SSz-?e=K58jN3
MD5: 49cab3e7b18f87e31c75893c6b7a5a84

This is based of the last version that had working logging but with 2 log files.

Source:
https://1drv.ms/u/s!As-dKk-N73dSljK2QaCLiHHyZq-w?e=z5L2bF
MD5: 1601f7f2ee3504638ed429b80ab2970a

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

Reply 17 of 315, by sharangad

User metadata
Rank Oldbie
Rank
Oldbie
chuky wrote on 2023-10-16, 23:23:

It's still the same with this one, I get 2 empty log files.

If you try an older version, like this one which produced 1 line of log output before do you get anything?

https://1drv.ms/u/s!As-dKk-N73dSlisipNv39IecSz9Y?e=hAYUhg

MD5: 9dbfe71b86407ec665f3525bff023871

Before this produced one line of output with an error dialog.

Btw have you got rendition drivers installed? Without them there won't be any output at all.

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

Reply 18 of 315, by chuky

User metadata
Rank Newbie
Rank
Newbie

If I try this older version, I still get 1 log file with the 2 lines inside that I posted and the error message box, but I don't get the crash error message from Windows. I guess everything happens very early when the game is launched.

I have the rendition drivers installed, the last version available, I think it's 1.10. I have the game Subculture installed which works fine both in the Rendition mode and in Direct3d. Formula 1 works in d3d, although it doesn't have texture filtering.

This Windows install is pretty dirty anyways. I don't have many things installed but some previous drivers remain, S3 Virge, PowerVR, Nvidia Tnt. I also had an installation failure when installing the rendition incontrol thing that you can install with the drivers that's supposed to allow to change settings, because only english files were included and it was looking for french files which weren't included, but I uninstalled it and there's no trace of it. Subculture works fine anyways. I know I should format it and do a clean install, but I'll look at your code a bit first to see if I can get more things to log.

Reply 19 of 315, by sharangad

User metadata
Rank Oldbie
Rank
Oldbie

Then the problem is purely with the wrapper.

I'll do some quick tests with x86 box (the wrapper won't be fully functional), but the startup logic can be tested. Just as soon as I figure out how to copy files to it.

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