Reply 100 of 167, by maxtherabbit
- Rank
- l33t
decided to bang my head against this again today - not a resolution but I did come back with some more information
The AST card's EMM driver, REMM.SYS, has an option that's only documented in the addendum to the manual.
This option allows me to force the page frame to allow 16-bit access! But, doing so also killed INT13H since the SCSI ROM only has 8-bit access and they coexist in the same 128kB area (details on that limitation described elsewhere.) So, to get the system to boot I had to load ASPI4DOS.SYS prior to REMM.SYS, no big deal. Turns out that using the option /M=7F (forcing A,B,C, and D segments to 16-bit access mode) makes the EMS work perfectly in Wing Commander and Spear of Destiny. However it breaks text display in Keen and Biomenace (every other character is garbage.) I'm assuming the galaxy engine relies on 8-bit writes for character data somehow.
Changing the option to /M=5F (forcing C and D segments to 16-bit) made the EMS work in Keen and BioMenace. Wing Commander seems to work properly about half the time.
In any case, this is probably not a viable solution, because although the use of ASPI4DOS allows me to bypass SCSI ROM accesses for INT13H, any software that attempts to directly access the ROM in memory will crash the system when the EMS card is asserting MEMCS16# on accesses to C and D.