At 11:16 PM 3/17/2004 +0000, Bart Oldeman wrote: >On Wed, 17 Mar 2004, Michael Devore wrote: > >> > >> >Duke Nukem 3D reboots the machine as soon as it enters graphics mode. Its >> >setup program (which also uses dos4gw 1.97) works correctly though. DOOM >> >on the other hand works. Will try to run with Causeway and DOS32A later. >> >> I downloaded Duke Nukem 3D, but turns out it's larger than a floppy, >> which is the only way I can transfer to the DOS machine. > >More info: >Duke works fine in the standard 320x200 VGA mode but reboots when I try >an LFB (Linear Frame Buffer) mode (800x600x256 in this case). So the >problem is most likely in the LFB memory mapping.
I've tried QuickView Pro and a DOS extended PNG viewer and they both are documented as using an LFB and work fine under EMM386, so we're dealing with something beyond a simple LFB existence problem here. I've thrown about everything I could at this Duke3D high res display problem. Downloaded and installed 386SWAT debugger and modified EMM386 to work with it, but when 386SWAT is loaded, Duke3D magically starts working again with EMM386. Very strange. Plus 386SWAT doesn't show after the switch to graphics mode as it's purely text-based. If I force Duke3D to use VESA text mode by catching the VESA interrupt function and changing it for 386SWAT, I don't see anything which is illegal going on when single-stepping back from the call. Yet, it is shortly after that VESA call that the computer reboots with EMM386 (without 386SWAT present). I'm about ready to give up for a while on this one. It's eaten an inordinate number of hours of testing and debugging to not much real coding effect. Appears to be specific to DOS/4GW, or something it's doing different from other programs using an LFB. If I had a true test system with two monitors or an hardware ICE, probably be a different story, but not an investment to make for DOS. Alternatively, if we could lure one of the people on the net who have lived and breathed page tables, memory mapping, control registers, and V86 mode for the last several years -- like the 386SWAT author who was a Qualitas 386MAX programmer, or another such -- to donate a bit of time to FreeDOS, they could probably fix the incompatibility in less than an hour. ------------------------------------------------------- This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click _______________________________________________ Freedos-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-devel