VOGONS

Common searches


Search results

Display options

Re: dgVoodoo 2 for DirectX 11

Impressive work on dgvoodoo2 and hooking the early directx calls. Is it also possible to hook GDI calls which route into the DIB engine? Many early directx games have a fallback option so that the DIB engine does the drawing to screen. This method seems faster is some cases and often provides a more …

Re: dosbox commit #3974

On further testing, I think the GP fault is related to the mmio issue. Under the dynamic core and Win95 OSR2 at 256 colors, along with reversion of mmio code for case3, the S3 PCI driver allows the opening of the dos box window. However, the S3 Trio 32/64 driver leads to missing GUI elements in this …

Re: dosbox commit #3974

Just noted that TheGreatCodeholio already had debugged this issue: https://github.com/joncampbell123/dosbox-x/commit/3fab628398f3def6ce1f508204a31d77263074b7 Quote: "Windows 95 OSR2 relies on purposely causing a GP fault (touching an execute-only code segment with zero length) to start a DOS VM." …

Re: dosbox commit #3974

Thank you for the excellent suggestion and pseudocode. I see those lines in int10_modes and will test further. Edit: opening the dos box does goes through that section of code inside the function INT10_SetVideoMode. Removing the specific lines to disable mmio hasn't yet prevented the previous issue, …

Re: dosbox commit #3974

This will bypass the issue for Win95 OSR2 dos box: @@ -1000,7 +1000,8 @@ void VGA_SetupHandlers(void) { vgapages.base = VGA_PAGE_B8; vgapages.mask = 0x7fff; MEM_SetPageHandler( VGA_PAGE_B8, 8, newHandler ); - MEM_SetPageHandler( VGA_PAGE_A0, 16, &vgaph.empty ); + MEM_ResetPageHandler( VGA_PAGE_A0, …

Re: dosbox commit #3974

Thank you for the hint on bit 4 which presumably controls the mmio feature. Edit: Tested further. It seems like the Win95 OSR2 dos box is not compatible with unmapping the MMIO in current emulation. Edit 2: noted that with video acceleration off, then the mmio is turned off when the dos box is …

Re: dosbox commit #3974

Verified that mmio memory region is reserved on Win95 OSR2 start and also when opening the dos box window. This code seems to workaround the issue of clearing the mmio region for this example: diff -rupN dosbox-orig//src/hardware/vga_memory.cpp dosbox//src/hardware/vga_memory.cpp --- dosbox-orig// …

Re: dosbox commit #3974

Thank you for the very helpful advice. I'll try it out. Edit: I was near to testing when I noted this code bit: if(svgaCard == SVGA_S3Trio && (vga.s3.ext_mem_ctrl & 0x10)) MEM_SetPageHandler(VGA_PAGE_A0, 16, &vgaph.mmio); As you suggested, if in fact the MMIO is active at VGA_PAGE_A0, then it is …

Re: dosbox commit #3974

I can reproduce the issue with other S3 drivers in Win95 OSR2 (desktop at 256 colors). However, it is only in the dos box window since dos box fullscreen works. I also tried 16 colors and that works for both cases. It may be from another patch or the installed Windows version. Edit: isolated issue …

Re: dosbox commit #3974

That's entirely correct, it is only specific to the S3 driver I tested. I should have noted that. I've used that driver for additional compatibility with directx apps, but it is now confirmed that it isn't the best match for the emulation (as shown by use of the dos box window). I also hope that the …

Re: dosbox commit #3974

Thank you for pointing to the cause and the advice. It is a page fault (segment limit violation) from opening the dos box in Win95 while the S3 Trio driver is active. This kind of page fault is unhandled by the dynamic core, although it is possible to handle it in the normal core. However, as you …

dosbox commit #3974

This causes the dos box to freeze when running a guest OS (tested in >3.1 so far): - MEM_ResetPageHandler( VGA_PAGE_A0, 16 ); - MEM_ResetPageHandler( VGA_PAGE_B0, 8 ); + MEM_SetPageHandler( VGA_PAGE_A0, 16, &vgaph.empty ); + MEM_SetPageHandler( VGA_PAGE_B0, 8, &vgaph.empty ); Reverting it solves the …

Page 1 of 4