VOGONS


Reply 300 of 492, by sharangad

User metadata
Rank Member
Rank
Member
leileilol wrote on 2023-11-08, 03:48:

i'd assume dos support would mean a special pass-through dosbox build or so to communicate with the wrapper as those old 3dfx voodoo dosbox patches did when not using the mame software renderer

Tackling edge AA sounds more like something a full LLE software implementation would do

I'm implementing RRedlline FIFO commands. One is them is an edge antialiasing command. Other AA commands like V_FIFO_AALINE and V_FIFO_AAEDGE are passed onto OpenGL and render quite nicely with RReady. The problem with Quake engine games is they have their own special edge anti-aliasing command. It's part of every RRedline 2.0 redline and verite DLL but is completely undocumented.

Well apart from 4 bytes the rest of the command sequence for edge AA is fully decoded. The missing 32 bits describe one or two blending factors and the other six DWORDS a pair of coordinates, followed by a terminator. But how Verite hardware actually implemented this is what I'd like to know. Code to do something similar is already in RReady (UsingMSAA=3, this mode doesn't really apply MSAA). But underwater behaviour and how the z buffer is used is unknown. The elements to fully implement this are already in place. It' just the specifics which are unknown right now. I'm hoping it's just a matter of messing around until insight comes. The command names implies there's an Z element there somewhere.

In other news I think I know what caused the UseMSAA=3 crash. If anyone would like a build to try out, I'll upload one. If not I'll get back to DOS.

Does anyone know how to enable an instruction dump (of running code) in DOSBox Staging? I could bodge it in, but it may already have support for it built in a switch somewhere. I'll start looking in a bit. Playing around with return values from Int 0x10, function 0x8D at the mode which appears to be a Renditon call.
[EDIT] heavy_debug, that's what the option was called.

Also any recommendations for DOS disassembler's? IDA Pro (the ScummVM build) has rendering issues on my system. Some characters appear truncated, it's hard to read.

Raven-05, what did you use to dump the string from vquake?

Last edited by sharangad on 2023-11-08, 04:51. Edited 1 time in total.

Developer of RReady - Rendition Verité Wrapper.

Reply 302 of 492, by sharangad

User metadata
Rank Member
Rank
Member

Would it be possible for someone with a V1000 board to run this:
https://nirvtek.com/downloads/RTest.7z
and post the results?

On a V2200 it should produce something like this:

info address = 19ff20 size 20
****************************************
Board # 1
Verite ID 0x2000
MemBase 0x2974040
memSize 4194304
IoBase 0xfff8
MemMappedIoBase 0x2974040
BusMaster 0x1
VGA Device 0x1
****************************************

****************************************
Board # 2
Verite ID 0x1
MemBase 0x0
memSize 0
IoBase 0x0
MemMappedIoBase 0x0
BusMaster 0x0
VGA Device 0x0
****************************************

Press [ENTER] to close

If someone with a V1000 has enough time and willpower on their hands to run this, it would help.

Developer of RReady - Rendition Verité Wrapper.

Reply 303 of 492, by ntalaec

User metadata
Rank Newbie
Rank
Newbie

Also any recommendations for DOS disassembler's? IDA Pro (the ScummVM build) has rendering issues on my system. Some characters appear truncated, it's hard to read.

Are you using IDA on real hardware? Could be a problem of the 8x14 font. Here is a fix: https://www.bttr-software.de/products/fix8x14/

I have attached to this post the last version of IDA, Sourcer and GAMETOOLS (unregistered).

Attachments

  • Filename
    gt3-323.zip
    File size
    156.3 KiB
    Downloads
    31 downloads
    File license
    Public domain
  • Filename
    SOURCKIL.ZIP
    File size
    271.28 KiB
    Downloads
    30 downloads
    File license
    Public domain
  • Filename
    IDAFW.zip
    File size
    708.84 KiB
    Downloads
    29 downloads
    File license
    Public domain

Reply 305 of 492, by RaVeN-05

User metadata
Rank Oldbie
Rank
Oldbie

i used this tool it can extract strings https://learn.microsoft.com/en-us/sysinternal … wnloads/strings

and i used pspad it can remove duplicated lines.

i used strings tool on quake.exe (strings.exe quake.exe > quake.txt)
then on vquake.exe (strings.exe vquake.exe > vquake.txt)

then i copy quake.txt + separate.txt + vquake.txt final.txt

the separate.txt contains string that i am sure it will not appear anywhere.
so all files concatenated .

then this final.txt i open in pspad and do lines manipulation-> remove duplicate lines.

then i go to my separated line , after which i know it will going to be all vquake.txt strings minus the quake.txt
in final i get a file with unique strings that only appear in vquake.
there is also noise , need to be removed.

another game client not mentioned is a also rendition verite dos game client. its:
"NASCAR Racing Online Series" Re: 3D Accelerated Games List (Proprietary APIs - No 3DFX/Direct3D)

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

Reply 308 of 492, by sharangad

User metadata
Rank Member
Rank
Member

Anyone with DOS4GW knowledge:

Was altering CR<n> (CR3) registers how decompressed overlays were accessed? DR<n> and CR<n> are being constantly modified.
This begins right after the problematic Int 10h (Function 0x15, subfunction 0x8D).

Never seen this before with Win apps.

Developer of RReady - Rendition Verité Wrapper.

Reply 309 of 492, by RaVeN-05

User metadata
Rank Oldbie
Rank
Oldbie

can't help here( . what if you try use dos32a instead of dos4gw , and dos32a package have debugger

[EDIT!]

i find out starting "vquake.exe -condebug" as it saves qconsole.txt file of everything printed in console

i run rtest.exe in curiosity and got different results , if interested attached.

in same manner collected only unique nrosrend.exe strings its NASCAR online series not same exe as nascar2 or nascar1999edition

Attachments

  • Filename
    nrosrend.exe.TXT
    File size
    6.13 KiB
    Downloads
    29 downloads
    File license
    Public domain
  • Filename
    v2200agpRTest.txt
    File size
    477 Bytes
    Downloads
    27 downloads
    File license
    Public domain
  • Filename
    v2100pciRTEST2.txt
    File size
    477 Bytes
    Downloads
    26 downloads
    File license
    Public domain

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

Reply 310 of 492, by sharangad

User metadata
Rank Member
Rank
Member

Your RTest results are identical. The videoboard addresses and ports are different on both your boards to what I got with RReady. That's actually OK, because your machines will have different amount of RAM and other hardware may use up resources. Both your boards return a Verite ID of 0x2000 (V2000) and support bus mastering and are VGA devices.

What I would like to see is the Verite ID from a V1000. I don't think it's 0x1000, maybe 0x1 or 0x100.

I'm still in the process of figuring out Speedy3D works. I found the ideal app for it. Rendition DMA test.exe. It's going to take a long while to produce something tangible.

Thanks dude. It's good to know V2100 and V2200 share the same ID.

nrosrend.exe, is that a dump of all strings in vquake[EDIT]Nascar. Sorry reading comprehension isn't my strong suite these days[/EDIT]? There's a lot of useful stuff in there:
"R_MODE_ALPHA_BLEND not implemented"
rn1gfx.c
"R_MODE_CHROMAKEY not implemented"

That suggests there's a different capabilities flag for Speedy3D than RRedline. RRedline use an extension system. Alpha blend and chroma key are basic features which are pretty much guaranteed in RRedline. It looks like that might not be the case with Speedy3D, even though V1000 pretty much guarantees support.

I have nascar 1999, but not the nascar that's needed.

Last edited by sharangad on 2023-11-09, 12:14. Edited 1 time in total.

Developer of RReady - Rendition Verité Wrapper.

Reply 311 of 492, by sharangad

User metadata
Rank Member
Rank
Member

This is the same structure that RTest uses:

d3d((inpd(verite->iobase+0x50) & 0x1) == 0)

(note the iobase).

This is the source for RTest:

// RenditionTest.cpp : This file contains the 'main' function. Program execution begins and ends there.
//

#include <iostream>
#include "verite.h"
#include "Redline.h"

using namespace std;

HWND GetWindowHandle()
{
#define MY_BUFSIZE 1024 // Buffer size for console window titles.
//HWND hwndFound{}; // This is what is returned to the caller.
//char pszNewWindowTitle[MY_BUFSIZE]; // Contains fabricated
// WindowTitle.
char pszOldWindowTitle[MY_BUFSIZE] = "RRedline Test";// Contains original
// WindowTitle.

// Fetch current window title.

GetConsoleTitleA(pszOldWindowTitle, MY_BUFSIZE);

//SetConsoleTitleA(pszNewWindowTitle);

Sleep(40);

// Look for NewWindowTitle.

return FindWindowA(NULL, pszOldWindowTitle);

}

int main()
{


HWND hwnd = GetWindowHandle();

if (!hwnd)
cout << "Error: Could not get Window handle" << endl;



//std::cout << "Hello World!\n";
v_verite_info info;
v_u32 counter=1;
cout << "info address = " << hex << (size_t)&info << dec << " size " << sizeof(info) << endl;
while (V_SUCCESS == V_EnumVeriteBoards(hwnd, counter, &info))
{
cout << "****************************************" << endl;
cout << "Board #\t" << dec << counter++ << endl;;
cout << "Verite ID\t0x" << hex << info.veriteID << endl;

cout << "MemBase\t0x" << info.memBase << endl;
cout << "memSize\t" << dec << info.memSize << endl;
cout << "IoBase\t0x" << hex << info.ioBase << endl;
cout << "MemMappedIoBase\t0x" << info.memMappedIoBase << endl;
//cout << "IOBase\t0x" << hex << info.ioBase << endl;
cout << "BusMaster\t0x" << (size_t) info.busMaster << endl;
cout << "VGA Device\t0x" << (size_t)info.vgaDevice << endl;
Show last 25 lines
		cout << "****************************************" << endl;


//unsigned char* io = (unsigned char *)&info;//(info.memMappedIoBase);
//for(int i = 0; i < sizeof(info); i++)
// cout << "Port " << dec << i << " value " << hex << (size_t)*(io+i) << dec << endl;


cout << endl;
}
cout << "Press [ENTER] to close" << endl;
cin.get();
return 0;
}

// Run program: Ctrl + F5 or Debug > Start Without Debugging menu
// Debug program: F5 or Debug > Start Debugging menu

// Tips for Getting Started:
// 1. Use the Solution Explorer window to add/manage files
// 2. Use the Team Explorer window to connect to source control
// 3. Use the Output window to see build output and other messages
// 4. Use the Error List window to view errors
// 5. Go to Project > Add New Item to create new code files, or Project > Add Existing Item to add existing code files to the project
// 6. In the future, to open this project again, go to File > Open > Project and select the .sln file

Attachments

  • Filename
    RTest.zip
    File size
    2.8 KiB
    Downloads
    24 downloads
    File license
    Public domain
Last edited by sharangad on 2023-11-10, 03:09. Edited 1 time in total.

Developer of RReady - Rendition Verité Wrapper.

Reply 312 of 492, by RaVeN-05

User metadata
Rank Oldbie
Rank
Oldbie

collection of all string dumps:
Re: RReady (Rendition Verite wrapper) Test Build (Alpha 1) (vQuake + spd3d.uc)
Re: RReady (Rendition Verite wrapper) Test Build (Alpha 1) (Descent II)
you also can find in descent2 verite patch a file spd3d.voh that is debug information in text format for spd3d.uc (from googling you can find more *.voh files)
Re: RReady (Rendition Verite wrapper) Test Build (Alpha 1) (rest games)
Re: RReady (Rendition Verite wrapper) Test Build (Alpha 1) (NASCAR Racing Online Series)

from this page http://vogonsdrivers.com/index.php?catid=18 i think you already know everything, you can find:

v2dosfix http://vogonsdrivers.com/getfile.php?fileid=160&menustate=0
this patches games to detect verite v2#00 board in plain ms-dos, this shows v1000 deviceid and vendorid

http://vogonsdrivers.com/getfile.php?fileid=78&menustate=0 dunno if its related to speedy3d
http://vogonsdrivers.com/getfile.php?fileid=325&menustate=0 this one is verite programming
http://vogonsdrivers.com/getfile.php?fileid=324&menustate=0 this one is too , maybe its can be helpful?
also there is lot of bios dumps and i can dump mine ....

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

Reply 313 of 492, by sharangad

User metadata
Rank Member
Rank
Member

I've seen the vlib doc before. Will take another look tomorrow. Dma test doesn't appear to be compressed and Dos 4gw is external.

Those links are extremely useful. Hold off on the bios dumps. It's too soon for that.

Renutil is a dos4gw app and almost certainly speedy3d.

I'll update this thread when there's something to share.

Developer of RReady - Rendition Verité Wrapper.

Reply 314 of 492, by sharangad

User metadata
Rank Member
Rank
Member

The string dump from Rendition DMA Test.

This lists RRedline Cmdbufffer commands as strings:

V_FIFO_SRCBASE
V_FIFO_SRCFMT
V_FIFO_SRCFUNC
V_FIFO_SRCFILTER
V_FIFO_SRCCOLORNOPAD
V_FIFO_SWAPUV
V_FIFO_CHROMAKEY
V_FIFO_ZSCISSOR
V_FIFO_SRCBGR
V_FIFO_UMASK
V_FIFO_VMASK
V_FIFO_UCLAMP
V_FIFO_VCLAMP
V_FIFO_SOFFSET
V_FIFO_TOFFSET
V_FIFO_UMULTIPLIER
V_FIFO_VMULTIPLIER
V_FIFO_SRCSTRIDE
V_FIFO_DSTSTRIDE
V_FIFO_ZSTRIDE
...

This suggests the internal structures are pretty much identical to RRedline. Hopefully they'll use the same numeric values for them. These string don't appear to be referenced by DMATest. It probably uses numeric values for them. I suspect the strings are here because an error reporting routine (also found in RRedline can return the function name). Well at least that's what I think it is.

Attachments

  • Filename
    DMATestStrings.txt
    File size
    16.35 KiB
    Downloads
    26 downloads
    File license
    Fair use/fair dealing exception

Developer of RReady - Rendition Verité Wrapper.

Reply 315 of 492, by sharangad

User metadata
Rank Member
Rank
Member

That manual on the V2200 is also very useful with a full register dump. It even describes the internals of chroma keying. I have half a mind to drop everything and modify RReady's chroma keying.

Developer of RReady - Rendition Verité Wrapper.

Reply 316 of 492, by sharangad

User metadata
Rank Member
Rank
Member

Just to be clear this is the latest untested alpha:
https://1drv.ms/u/s!As-dKk-N73dSlmfGu5EoZpYiZ0hh?e=L8lu22
MD5: 5fe3cecddabbd2cb890397bda65f5d08

This fixes the UseMSAA=3 crash to desktop issue encountered when using this AA mode.

There won't be anymore updates for a while.

Developer of RReady - Rendition Verité Wrapper.

Reply 317 of 492, by RaVeN-05

User metadata
Rank Oldbie
Rank
Oldbie

dmatest - in more cleared way. Hey this is perfect you mentioned this, thank you, will try to test hardware it may help me to make it little faster.
v2dosfix - has source code, exe 2 seconds later than source code file, compiled by borland c++
renutil - this is just refresh rate tool in spoiler text on how to use it, in attachments all the strings

oh shame to me i not mentioned this v2200 tech docs earlier .

renutil.txt

USAGE: RENUTIL [0 - 31] [0 - 2]

The first number is the refresh rate table selection. The better
your monitor the higher the number that you can set it to. I think 17-31 do
the
samething, so the effective limit is table select 17. BTW, this is HORIZONTAL
refresh.

Here is the table:
;control # 0 1 2 3 4 5
;horiz refresh 31.5k 35.1k 37.5k 37.8k 43.2k 46.8k
; ------- ------- ------- ------- ------- -------
; 5x3@75 5x3@75 5x3@85 5x3@85 5x3@85 5x3@85
; 6x4@60 6x4@60 6x4@75* 6x4@75 6x4@85* 6x4@85
; 8x6@56* 8x6@56 7x5@60* 7x5@60 7x5@75*
; 8x6@60* 8x6@60 8x6@60
;
; 6 7 8 9 10 11
; 48.1k 48.3k 49.1k 53.6k 60.0k 61.8k
; ------- ------- ------- ------- ------- -------
; 5x3@85 5x3@85 5x3@120* 5x3@120 5x3@120 5x3@120
; 6x4@85 6x4@85 6x4@85 6x4@85 6x4@85 6x4@85
; 7x5@75 7x5@75 7x5@75 7x5@85* 7x5@85 7x5@85
; 8x6@72* 8x6@72 8x6@72 8x6@85* 8x6@85 8x6@85
; 10x7@60* 10x7@60 10x7@60 10x7@75* 10x7@75
; 11x8@60* 11x8@60 11x8@60
;
; 12 13 14 15 16 17
; 63.9k 67.5k 68.6k 77.1k 80k 91.1k
; ------- ------- ------- ------- ------- -------
; 5x3@120 5x3@120 5x3@120 5x3@120 5x3@120 5x3@120
; 6x4@85 6x4@85 6x4@85 6x4@85 6x4@85 6x4@85
; 7x5@85 7x5@85 7x5@85 7x5@85 7x5@85 7x5@85
; 8x6@85 8x6@85 8x6@85 8x6@85 8x6@85 8x6@85
; 10x7@75 10x7@75 10x7@85* 10x7@85 10x7@85 10x7@85
; 11x8@60 11x8@75* 11x8@75 11x8@85* 11x8@85 11x8@85
; 12x10@60* 12x10@60 12x10@60 12x10@60 12x10@75* 12x10@85*

The second number is the VGA mode 13 type
0 = Normal VGA
1 = Fast32 VGA - this is the default.
2 = VESA non-VGA - It works or it doesn't - live with it

[EDIT]
tried dmatest.exe on win,restart to dos , and in plain dos, really got various results. (also it not works and need to be patched for v2200 by v2dosfix.exe)

Windows 98:
Nominal FIFO performance = 10.1 Mb/sec.
Nominal DMA performance = 27.0 Mb/sec.
(based on estimated system clock speed of 353MHz.)
Restart in MS-DOS:
Nominal FIFO performance = 10.6 Mb/sec.
Nominal DMA performance = 28.1 Mb/sec.
(based on estimated system clock speed of 353MHz.)
Plain MS-DOS:
Nominal FIFO performance = 10.6 Mb/sec.
Nominal DMA performance = 27.9 Mb/sec.
(based on estimated system clock speed of 352MHz.)

As you see Restart in MS-DOS gives better results. this also confirms by vquake timedemos.

And it probably means the more Hz your processor have , the faster Verite Performs? my Pentium II is 350MHz (+3hz sometimes)

Attachments

  • Filename
    V2DOSFIX.C
    File size
    10.14 KiB
    Downloads
    25 downloads
    File comment
    source code
    File license
    Public domain
  • Filename
    DMATEST.TXT
    File size
    11.01 KiB
    Downloads
    24 downloads
    File license
    Public domain
  • Filename
    V2DOSFIX.TXT
    File size
    3.39 KiB
    Downloads
    25 downloads
    File license
    Public domain
  • Filename
    RENUTIL.TXT
    File size
    418 Bytes
    Downloads
    25 downloads
    File license
    Public domain

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

Reply 319 of 492, by BEEN_Nath_58

User metadata
Rank l33t
Rank
l33t
sharangad wrote on 2023-11-10, 13:12:

Why is Speedy3D faster in restart to dos mode? Seems a little weird.

1MHz difference?

previously known as Discrete_BOB_058