Assuming the UMB region it gets loaded into is "Genuinely Free" (no RAM, no ROM, no strange memory mapped IO device sitting ther […]
Show full quote
MoneySquirrel wrote on 2024-05-11, 07:24:
Are we supposed to be using "LH" when loading hdpmi and sbemu? I haven't been. That might be related to your issues? Also, did you set the right irq and dma for Doom using setup.exe? Quake and Wolfenstein just use your "Set Blaster" environment variable, but Doom does not. You also might try using sound blaster 16 emulation with "sbemu /t6 /h5" and see if that makes any difference.
Assuming the UMB region it gets loaded into is "Genuinely Free" (no RAM, no ROM, no strange memory mapped IO device sitting there), then it wont hurt anything, and keeps a few kb of conventional from being used.
SADLY-- I have noticed on modern-ish machines (which SBEMU is made for), that "Actual Legacy Mode Booting" is.... Not really a consideration for the motherboard designer. Like, AT ALL. Almost all I have played with have some kind of mystery device stuck in the adapter region that does not properly identify itself, and acts somewhat like RAM, and has data where none should be like ROM, but does not identify with a realmode bios header, so DOS does not identify it as rom, and the system hangs up terribly when you map it out.
QEMM and company detect the bits that act like ram, and try to include it-- causing lockups.
The region in which that happens seems to be different, and of different sizes, on different modern computers. Sometimes its the whole damn adapter region, just about. This is why I only really feel safe including the monochrome display buffer, to get DOS to load high and into UMB on such systems! I have to meticulously experiment with what I can get, and what I cannot.
I suspect that the previous poster's reports of realmode trapping working, but protected mode trapping failing, comes from adapter memory area "Not really being free", and some system process wanting to do something with the region of memory that has been enabled for UMBs, which also happens to be were DOS is sitting, and HDPMI is loaded, causing severe problems.
I especially think this is the case, since the PS/2 keyboard and mouse emulation breaks. That means the realmode handler is getting klobbered by the upper memory area includes, usually.
We really need a tool to help better analyze the UMA on modern machines, to give a good idea of what regions we can include, or should exclude.