Expanded Memory for 8088/80286

Support and general discussion.
Post Reply
Bret
Posts: 16
Joined: Tue 22 Mar, 2022 10:50 pm

Expanded Memory for 8088/80286

Post by Bret »

I'm doing some experiments with some programs where I need access to "real" EMS in PCem for 8088 & 286 CPUs. With EMM286 installed (and a 286 CPU) I can get EMS virtualized through XMS, similar to what EMM386 does with 386+ CPUs. This doesn't work at all on 8088s, and for what I'm doing the EMS virtualization of EMM286 is way too slow (it requires lots of switching between Real Mode and Protected Mode which is REALLY slow on 286's). I'm thinking that the use of "real" EMS (as implemented with the original Expanded Memory boards) will speed things up a lot -- they don't require the CPU to do any mode switching.

I've tried to search through the Forum and see some talk about this but don't seem to see a definitive solution, only some experiments and betas. Has anybody successfully virtualized a "real" Expanded Memory board (of any sort) in PCem?
User avatar
Arjen42
Posts: 131
Joined: Fri 11 Jun, 2021 3:15 pm

Re: Expanded Memory for 8088/80286

Post by Arjen42 »

86Box emulates Micro Mainframe EMS-5150(T) boards and maybe some other expanded memory boards as well. One board supports up to 2MB and up to 4 boards are possible. So can have up to 8MB of expanded memory on 8088 and 80206 CPU's.

You do need a driver, either:
  • the original Micro Mainframe driver which supports EMS 3.2, or
  • a unofficial freeware Micro Mainframe driver which supports EMS 4.1, written by J.L. Hayes
I'm interested to know what applications you're experimenting with that require EMS?
Bret
Posts: 16
Joined: Tue 22 Mar, 2022 10:50 pm

Re: Expanded Memory for 8088/80286

Post by Bret »

Arjen42 wrote: Sat 02 Jul, 2022 6:30 am I'm interested to know what applications you're experimenting with that require EMS?
I'm actually writing some new and updating some of my old DOS TSRs. To reduce conventional and upper memory requirements for the TSRs, I'm experimenting with DOS Protected Mode Services (DPMS -- kind of like DPMI except it's specifically designed for TSRs and Device Drivers) and also with EMS. EMS is specifically designed to work with TSRs even though almost nobody uses it for that (or virtually anything else these days). With 386+ CPUs, I've gotten both DPMS and EMS to work really well. With a 286 I can get them both to work (using EMM286) but it's really slow because the 286 can't switch directly between Protected Mode and Real Mode. DPMS doesn't work on 8086/8088s, and neither does EMM286, so my only option is "real" EMS.
User avatar
Arjen42
Posts: 131
Joined: Fri 11 Jun, 2021 3:15 pm

Re: Expanded Memory for 8088/80286

Post by Arjen42 »

I just remembered that the Toshiba T1200, which is emulated by PCem, does support EMS. This laptop came with 1MB RAM, expandable to 2 MB. This memory can be configured as (battery backed) ram drive or LIM EMS. However I haven't been able get either working in PCem. I'm not sure if it needs special drivers for that. I did found a setup program (on disk, not in ROM) that sees the difference between 1 and 2 MB configuration in PCem.

The Xi8088 motherboard, which is also emulated by PCem, does support memory between 640kB and 1 MB, but I haven't been able get that working in PCem.
User avatar
JohnElliott
Posts: 113
Joined: Sun 31 Jan, 2016 7:29 pm

Re: Expanded Memory for 8088/80286

Post by JohnElliott »

For emulated Toshiba machines, look for TOSHEMM.ZIP for the EMS drivers.
Bret
Posts: 16
Joined: Tue 22 Mar, 2022 10:50 pm

Re: Expanded Memory for 8088/80286

Post by Bret »

I've managed to do some experiments with 86Box and the EMS-5150T as suggested by Arjen42. So far I've only tested with an 80286 but will test on an 8088 in the next few days as I find time. The results are quite interesting. It turns out that real EMS (at least as emulated by the EMS-5150 in 86Box) still slows things down some (when a TSR uses EMS on a 286, anyway), but it is still WAY, WAY faster than EMM286 virtualizing EMS from XMS. I know this is a forum about PCem and not 86Box, but I'll post a summary of my findings here when I'm done if anyone is interested.
User avatar
Arjen42
Posts: 131
Joined: Fri 11 Jun, 2021 3:15 pm

Re: Expanded Memory for 8088/80286

Post by Arjen42 »

Thanks John. I've found the EMS drivers and are acknowledged by MS-DOS and Windows 3.0 running in real mode. Also thank you for the Amstrad PC1512 info on your website.
Post Reply