86Box / 86Box

Emulator of x86-based machines.
GNU General Public License v2.0
2.72k stars 339 forks source link

Emulate LIM EMS 3.0 compatible expanded memory #533

Closed Fenix770 closed 9 months ago

Fenix770 commented 4 years ago

Hello!

I opened this issue as a question of curiosity since I know that the latter Windows 2.0 supports any EMS card with a LIM 4.0 driver. I found that Windows 1.00 throughout 1.04 appears to support EMS memory. But does not detect or uses the expanded memory of any of the emulated boards. In the Windows install disk there are for EMS drivers files EMM.PC and EMM.AT, they must be for Intel Above Board PC and AT cards.

I suspect Windows 1.0x only support expanded memory provided by the Intel boards or any board that can emulate the LIM EMS 3.0. (I read in some old pc magazines that some EMS boards were capable to emulate the 3.0 spec.)

The problem seems to be that the LIM EMS 3.2 and 4.0 are not backward compatible with the 3.0 spec. The only difference with the 3.2 spec I found so far, is, the fuctions 10 and 11 were removed and the maximum RAM memory supported were increased from 4mb to 8mb.

here is a site with some info: http://nersp.nerdc.ufl.edu/~esi4161/files/dosman/chap10

Question: Is possible to emulate the LIM EMS 3.0 spec with a driver, or one of these cards must be emulated to obtain compatibility with Win 1.0x?

I know both alternatives may be difficult to achieve because of lack of documentation, and also I had never seen a simulator or emulator that implemet the 3.0 spec.

OBattler commented 4 years ago

Is there any documentation for the Intel AboveBoard PC and AT? If yes, I could try to implement them.

Fenix770 commented 4 years ago

I only found device drivers, but not other relevant information, not even the source code of these drivers in assembler.