For those that do not know,
LIM/EMS is a specification for accessing memory outside of the CPU's direct control, as a means to overcome the size of the memory that can be used by the computer due to the limited number of CPU address lines.
It works by defining a 64kb window in the memory between 640k and 1mb called the "Page frame", which gets paged around on the EMS memory device's pool of managed ram, through commands issued to the card via a standardized IO port. 64kb was used because it is conveniently the size of a standard real-mode offset.
This specification was developed before the 386 era, and was really intended for use in XT class machines that only had 12bit addressing. However, subsequent software, including windows 3.X, know how to use this memory.
As far as the CPU is concerned, the only memory presented to it is that 64k page frame. It gives orders, and that page gets switched out and replaced with another slice of the expansion's memory. Reads and writes are performed on that 64k page exclusively.
These days, you can get some pretty big SRAM modules. See for instance, this (unthinkable for the time)
4mb SRAM. It comes in a convenient DIP package, meaning you can use a standard chip socket for it on a project board.
Why SRAM? Because you dont need any refresh circuitry. Just raw reads and writes by taking certain pins high or low-- Controlling the chips is super duper easy electronically.
I was thinking I could use something like an AT-MEGA to do the actual movement of the pageframe, and just hard-map the location using the ISA card's address lanes. It would sit there, waiting for the host CPU to send it appropriate commands over the IO registers on the ISA card, and then move the frame around. You would only need an 8bit microcontroller, because you are just moving the chip select lines and address lines around. (Could be done on the cheap with a few GPIO pins and some transistors.)
16 such modules would give you an additional 64mb of memory, which for a computer of that class, is nothing to sneeze at. Especially since it would be able to co-exist with whatever was present from populating the SIM slots. If used no other way, it could be used with something like EMSDISK, and Drivespace/stacker, to give a "very fast" compressed ramdisk without tieing up flat XMS memory.
But......
Why?