VOGONS


Reply 2100 of 2838, by sharangad

User metadata
Rank l33t
Rank
l33t
Makus wrote on 2024-11-28, 15:32:

Yes, in DOSBox-X the vmemdelay option is in the dosbox-x.conf file (in the dosbox-x.reference.conf file there are explanations for all parameters).
I see other options for setting delays on the ISA bus but can't find one for system RAM: you might try asking the author Jonathan Campbell.
For DOSBox Staging, I am not sure if they have already implemented the feature in the latest stable release 0.82.0 or if you have to download a nightly build: it is discussed in this thread https://github.com/dosbox-staging/dosbox-staging/pull/3597.

I can actually checkout dosbox-daum/X and see how it works. Thanks @Makus.

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

Reply 2101 of 2838, by sharangad

User metadata
Rank l33t
Rank
l33t
sharangad wrote on 2024-11-28, 16:28:
Makus wrote on 2024-11-28, 15:32:

Yes, in DOSBox-X the vmemdelay option is in the dosbox-x.conf file (in the dosbox-x.reference.conf file there are explanations for all parameters).
I see other options for setting delays on the ISA bus but can't find one for system RAM: you might try asking the author Jonathan Campbell.
For DOSBox Staging, I am not sure if they have already implemented the feature in the latest stable release 0.82.0 or if you have to download a nightly build: it is discussed in this thread https://github.com/dosbox-staging/dosbox-staging/pull/3597.

I can actually checkout dosbox-daum/X and see how it works. Thanks @Makus.

Does anyone know where the source for daum is? One block has a zip file labelled source which has a license file only and the other one is:
https://github.com/ykhwong/dosbox-svn-daum/releases (only has license file in source)

and

https://github.com/ykhwong/dosbox-svn-daum (which doesn't have vmemdelay as an option there). I'll check the VGA page handler code tomorrow.

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

Reply 2103 of 2838, by sharangad

User metadata
Rank l33t
Rank
l33t
robertmo3 wrote on 2024-11-28, 19:36:

Oh yeah, dosbox-x has the actual setting. Daum is where it comes from.

[EDIT] The dosbox-x source zip/tarball is being flagged as a virus. AArgh! I'm sick of this nonsense.

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

Reply 2104 of 2838, by sharangad

User metadata
Rank l33t
Rank
l33t

Behold :

/* how much delay to add to VGA memory I/O in nanoseconds */
int vga_memio_delay_ns = 1000;

void VGAMEM_USEC_read_delay() {
if (vga_memio_delay_ns > 0) {
Bits delaycyc = (CPU_CycleMax * vga_memio_delay_ns) / 1000000;
// if(GCC_UNLIKELY(CPU_Cycles < 3*delaycyc)) delaycyc = 0; //Else port access will set cycles to 0. which might trigger problem with games which read 16 bit values
CPU_Cycles -= delaycyc;
CPU_IODelayRemoved += delaycyc;
}
}

void VGAMEM_USEC_write_delay() {
if (vga_memio_delay_ns > 0) {
Bits delaycyc = (CPU_CycleMax * vga_memio_delay_ns * 3) / (1000000 * 4);
// if(GCC_UNLIKELY(CPU_Cycles < 3*delaycyc)) delaycyc = 0; //Else port access will set cycles to 0. which might trigger problem with games which read 16 bit values
CPU_Cycles -= delaycyc;
CPU_IODelayRemoved += delaycyc;
}
}

The default appears to be 0 ns from the config file.

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

Reply 2105 of 2838, by sharangad

User metadata
Rank l33t
Rank
l33t

Nope, does not work (Scorched Planet Rendition).

[EDIT] delaying the emulated cpu has no effect. Putting in a largish real time delay (not virtual cpu time) in mem read/writes works, but in slow mo. The real time delay has the effect of dynamically reducing the emulated cpu cycle count, which is why it works (in slow motion). I think I'll focus on cgl for the next few weeks. [/EDIT]

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

Reply 2106 of 2838, by sharangad

User metadata
Rank l33t
Rank
l33t

A pair of upcoming bug fixes for Whiplash:

https://youtu.be/DwFDoi4assI

Eurofighter texture corruption when switching back and forth between the menu and the mission is also fixed. I'll do an alpha release soon. The store release won't get these yet for a few more weeks.

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

Reply 2107 of 2838, by sharangad

User metadata
Rank l33t
Rank
l33t

If someone here has a Heritage 16 MB V2200, can they check to see if the card actually reports 16 MB of VRAM?

Running RTest.exe from Windows 9x (https://nirvtek.com/downloads/RTest.7z) should report the amount of VRAM available to Windows.

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

Reply 2108 of 2838, by sharangad

User metadata
Rank l33t
Rank
l33t
sharangad wrote on 2024-12-03, 22:12:

If someone here has a Heritage 16 MB V2200, can they check to see if the card actually reports 16 MB of VRAM?

Running RTest.exe from Windows 9x (https://nirvtek.com/downloads/RTest.7z) should report the amount of VRAM available to Windows.

Thanks @Raven-05 for posting my question on the Rendition thread.

I've temporarily stopped working on cgl.

I'm trying to figure out how speedy3d reports vram to apps. Rredline apps correctly report vram, but every single speedy3d app seems to cap memory access to 4mb. Through the rendition specific vesa bios calls I report 16mb of rap. Eurofighter does write beyond 4mb, but only reads the first 4mbs. In fact that's how I fixed the menu/mission toggle texture corruption bug by taking the 4mb modulus of the address, effectively capping all writes to 4mb.

Whiplash reports "4mb version" in the config menu. I have no idea where it's getting this value from. I tried using the supergrace V2000 8mb bios, but it made no difference.

I'm just wondering whether this limit is hardcoded.

ICR2 tracks and carsets with textures bigger than 128 texels or with too many textures /mipmaps fail to load. Increasing the vram limit might help, unless the limit is hardcoded.

I'm also working on an icr2 texture conversion tool, to shrink mipmaps bigger than 128 in any dimension and convert 24 bit 256 colour mip files to 16 bit 16 colour paletted mi4 files. I don't know how well dithering would work, but I don't expect it to look particularly great.

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

Reply 2109 of 2838, by RaVeN-05

User metadata
Rank Oldbie
Rank
Oldbie

ok about CGL, i have other idea, maybe silly or simple. Whenever CGL tries to initialize, wrapper maybe can activate user transparent overlay which will convert call addresses between guest (internal addresses ) and host (new addresses for wrapper).

i believe that speedy3d limited to 4 mb because v1000 never comes out with more than 4mb or vram. but dunno how it reacts to more than 4mb.

maybe someone can try to test on 8mb also? 16mb maybe rare even for now

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

Reply 2110 of 2838, by sharangad

User metadata
Rank l33t
Rank
l33t
RaVeN-05 wrote on 2024-12-04, 17:12:

ok about CGL, i have other idea, maybe silly or simple. Whenever CGL tries to initialize, wrapper maybe can activate user transparent overlay which will convert call addresses between guest (internal addresses ) and host (new addresses for wrapper).

i believe that speedy3d limited to 4 mb because v1000 never comes out with more than 4mb or vram. but dunno how it reacts to more than 4mb.

maybe someone can try to test on 8mb also? 16mb maybe rare even for now

You mght be right about the V1000, but there're 2mb models right (at least according to icr2's cartfast/cartrend. Bat). It says to set speedy3d_mem=n (mb) if the game fails to detect the amount of vram., which suggests there's a way to detect the amount of vram.

CGL does in fact use an extra set of addresses, or at least it looks like that. It writes to unmapped memory outside the usual rendition range.

V2000 boards reserve upto 16 mb of address space irrespective of the amount of vram it has and even more for the bios/rom extension.

Last edited by sharangad on 2024-12-10, 19:32. Edited 1 time in total.

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

Reply 2111 of 2838, by sharangad

User metadata
Rank l33t
Rank
l33t

The Rendition BIOS only needs a small sequence to be present for games to work:

4 MB BIOS

2024/12/10|2:58:21.640 RenditionStream Init
2024/12/10|2:58:22.641 32-bit register access
2024/12/10|2:58:22.644 Forced DMA caching: Disabled
2024/12/10|2:58:23.53 RenditionStream Pipes connected
2024/12/10|2:58:23.54 Loading BIOS file MIROV1K.VBI
2024/12/10|2:58:23.117 Rendition Address C000:0A54
2024/12/10|2:58:23.118 BIOS Magic (length 162) 63,65,20,42,6F,61,72,64,90,26,00,50,4E,05,31,30,30,30,41,4C,4C,01,00,5A,43,10,E4,E0,FF,40,00,20,00,00,00,00,00,00,00,00,00,00,5A,52,04,00,00,14,00,79,00,3D,B4,09,

2024/12/10|3:0:11.301 RenditionStream Init
2024/12/10|3:0:12.302 32-bit register access
2024/12/10|3:0:12.304 Forced DMA caching: Disabled
2024/12/10|3:0:12.703 RenditionStream Pipes connected
2024/12/10|3:0:12.703 Loading BIOS file supergrace8mbagp.VBI
2024/12/10|3:0:12.770 Rendition Address C000:0A45
2024/12/10|3:0:12.771 BIOS Magic (length 162) 63,65,20,42,6F,61,72,64,90,26,00,50,4E,05,31,30,30,30,41,4C,4C,01,00,5A,43,10,E8,E1,FF,40,00,20,00,00,00,00,00,00,00,00,00,00,5A,52,04,00,00,14,00,79,00,0E,01,02,

From Rendition Address C000:0A54 to C000:0A54 + 162 (can probably knock off a few bytes from the end) for the MiroV1k and C000:0A45 to C000:0A45 + 162 for the Supergrace 8MB AGP.

So the RAM limit isn't from there, unless I'm missing something., most of the sequence is exactly the same for both cards. The rest of the video BIOS can be set to 0 in dosbox-rendition. The PCI registers don't have a know RAM register (The actual 3D part of the chip does, but it doesn't seem to actually control it, in fact it's a writable register). The VESA BIOS calls do report VRAM and Dosbox-Rendition reports 16 MB, but that's completely ignored. Even when I set this to report 2 MB, games still assume there's 4 MB.

The BIOS address can be found by searching for "Rendition Reference Board" (without the quotes) and subtracting 3 from the address of the end of the string.

Last edited by sharangad on 2024-12-10, 16:19. Edited 1 time in total.

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

Reply 2112 of 2838, by sharangad

User metadata
Rank l33t
Rank
l33t

This sequence 43,10,E4,E0, in the MiroV1k bios when changed to 43,10,E8,E1 results in display corruption in icr2.

I think I brought this up before, I think changing e8, E1 in V2000 bioses will correct icr2 on V2200. But a V2000 compatible v2dosfix patched version will still be needed. I might try that once I've got cgl working and all rendition apps at or near 100%. Or it might leave the card in an irrecoverable state.

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

Reply 2115 of 2838, by RaVeN-05

User metadata
Rank Oldbie
Rank
Oldbie

Flashing Bios with modifications is extremely dangerous, it can lockup video card, I do not recommend to do it.
From other side, several ideas:
You can find here at vogons subforum about editing/modifying bios roms and flash back it.

Use emulators like 86box or PCEm, by replacing bioses of let's say s3virge or matrox to impersonate and see if it's basic vga still loads and you can reflash vbios back to its original dump.

Have two video cards agp/PCI so you can boot from one card to be able to flash other video card to original rom.

All those my guessing.
Before doing anything you should be absolutely certain.

Greatest video cards should have bios rom that can be attached, detached physically.
Having two of those eliminates chances to lockup.
Or made this bios attach/detach ability by your self, I believe some enthusiasts can do it.
Like MAME teams doing diehard chips (forgot exact term)

EDIT : in theory you can modify bios non basic vga areas, so you know to left ability to flash back bios rom to its original.
Or make a dos application which is a TSR and fakes bios rom memory, without actually rewriting it.
But for that small visual improvements of speedy3d games under v2x00 video cards series, it's feels to me it's not worth to risk of locking video card.
So not recommended.

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

Reply 2116 of 2838, by sharangad

User metadata
Rank l33t
Rank
l33t
RaVeN-05 wrote on 2024-12-12, 19:04:

Flashing Bios with modifications is extremely dangerous, it can lockup video card, I do not recommend to do it.
From other side, several ideas:
You can find here at vogons subforum about editing/modifying bios roms and flash back it.

You're right old videocards are too precious to destroy. Curiosity destroyed priceless artifacts.

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

Reply 2119 of 2838, by sharangad

User metadata
Rank l33t
Rank
l33t
RaVeN-05 wrote on 2024-12-13, 19:01:

I am not familiar with all that add-ons, but looks legit. Good. Seems like evrithing correct. Idk

The rear spoiler's wrong in cars 2020. 1982 cart also has a few issues with some texture coordinates not being scaled.

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