First post, by superfury
What happens to the memory that's mapped in the memory gaps? So the 386K memory in the UMA and 1MB in the extended memory at the 15-16MB gap, also the 3-4GB gap?
I currently have it mapped upwards in RAM(so essentially, the 386KB between 640K-1MB is mapped at 1MB+, while the old 1MB-15MB RAM is mapped between 1MB+386K and 16MB+. The same kind of principle applies to the 3-4GB gap, which is mapped to the end, while the final remaining RAM is mapped above 4GB(including any remainder from the lower megabytes.
So, with 1MB RAM:
0-640K=Direct mapped
1MB-(1MB+386K)=First memory hole mapped high
With 16MB RAM:
0-640K=Direct mapped
1MB-(1MB+386K)=First memory hole mapped high
(1MB+386K)-15M=lower part of the 15 MB RAM
16MB+=remainder upper part of the 15 MB RAM.
With 3GB+ RAM the same applies, but with the remainder mapped above 4GB(unusable with 32-bit CPU emulation).
Author of the UniPCemu emulator.
UniPCemu Git repository
UniPCemu for Android, Windows, PSP, Vita and Switch on itch.io