Firing up EMM386/JEMM386 underneath this environment, or writing 32-bit code, may go against the 8088 spirit of the project. A physical EMS card is an expensive pain to obtain, and you'd probably want to speak to its hardware directly rather than loading a DOS device driver, but it would be period-accurate :) There's old ones on eBay and modern replicas like https://texelec.com/product/lo-tech-ems-2-mb/
You can do virtual memory above the 256kb mark with the most advanced 80s cards but they're even rarer (I think DESQview worked best with this setup, and its what the 386+ software EMM implementations give you). For regular EMS which only works in a single 64kb region, disk caching and RAMdisk were common use cases, which didn't require rearchitecting the OS or applications to understand a new addressing scheme.
On 286+ you can also call a BIOS function to copy to/from extended memory, using only 8088 instructions in your own code, but of course the BIOS code will rely on newer processor instructions to make it happen. http://www.ctyme.com/intr/rb-1527.htm
Aside: cool project! I wrote a protected mode bootloader for old PCs recently and that was quite enough work!
You can do virtual memory above the 256kb mark with the most advanced 80s cards but they're even rarer (I think DESQview worked best with this setup, and its what the 386+ software EMM implementations give you). For regular EMS which only works in a single 64kb region, disk caching and RAMdisk were common use cases, which didn't require rearchitecting the OS or applications to understand a new addressing scheme.
On 286+ you can also call a BIOS function to copy to/from extended memory, using only 8088 instructions in your own code, but of course the BIOS code will rely on newer processor instructions to make it happen. http://www.ctyme.com/intr/rb-1527.htm
Aside: cool project! I wrote a protected mode bootloader for old PCs recently and that was quite enough work!