Re: Rampage Plus 286 EMS boards programming info.

Anthony Barbachan (
Wed, 20 May 1998 23:51:06 -0400

-----Original Message-----
From: Mike A. Harris <>
To: Anthony Barbachan <>
Cc: David Woodhouse <>; Linux Kernel mailing list
Date: Wednesday, May 20, 1998 6:16 PM
Subject: Re: Rampage Plus 286 EMS boards programming info.

>On Wed, 20 May 1998, Anthony Barbachan wrote:
>> First thing you may want to check is if the board is actually an EMS
>> Since it sounds as if it was made for 286's then it would make more sense
>> that the board is an extended memory board as 286's could address more
>> 1 MB of memory. The driver disk may just be AST's version of EMM386.EXE.
>Ok, the driver is REMM.SYS by AST.
>It appears to be an EMS driver.
>> Plug your board into a computer and see if the computer registers the
>> memory.
>Nope. The driver needs to be installed to get anything.
>> Furthermore using the boards for actual memory may be impossible.
>Although using them for actual memory would be useful, my
>intention was to use it for a RAMDISK for a swapfile.
>> EMS was accessed thru a 64K page frame that contained 4 16K pages at one
>> time. This means that if the card is an EMS card it will probably be
>> inaccessable linearly.
>Yes, I know how EMS works in that respect. I just want to use it
>to swap out junk to - thus increasing the speed of swap over a
>raw disk.
>> You will have to access it thru 16K pages, only 4 of
>> which will be present in the EMS page frame at any one time. If you
>> determine that it is an EMS board then first thing you should do is
>> AST to see if they have any techical information of the card.
>I have written to AST technical support a couple of days ago, and
>not received a reply back yet.

They probably figure that support for this old card is not worth their time.
I'll be surprised if you do get a response unless they happen to have info
on their web site.

>> BTW, the card
>> may well be EEMS instead of EMS as AST was one of the backers of EEMS.
>I'm not familiar with EEMS...

Enhanced EMS. Most of whos functions were eventually clone (without
backward compatability) in v4.0 of EMS.

>> you unsuccessful in this route then its time to reverse engineer the
>That is what I figured I'd have to do. I've got the driver
>REMM.SYS dumped with DOS DEBUG, and have looked for OUT
>instructions to find the ports used. This is tricky business
>however... I think I'd have to debug the running driver to
>really see how it works, and that is over my head currently.
>> BTW, for Linux to remain unhindered by any possible lawsuits I'd also
>> recommend you get permission to reverse engineer, which shouldn't be a
>> problem for this ancient card.
>Yeah, I'd do that of course. ;o)
>> Steps to reverse engineer this card:
>> 1. Build a clean machine with the EMS card in, loading only DOS 6.22 with
>> minimal drivers + the EMS driver.
>> 2. Make sure you do NOT load EMM386.EXE, unless told so by the card's
>> intallation instructions.
>> (Which shouldn't be the case as EMM386.EXE may confict.)
>> 3. Call the DOS function "Get Memory Manager Information"
>> int 21H function 4402H
>> breakpoint at the start of the INT 67H handler.
>> This way you should be able the trace what the EMS board's driver does.
>> Another is that with a good debug program (MS's CV is good) you can start
>> the INT 67H and trace what the assembly code does for each EMS function
>> call.
>Great! I use Borland Turbo Debugger. I've never traced into any
>active device drivers (it usually locks up the machine on me...)
>but I'll give it a whirl if the card works properly.
>Thanks for your help.

Good Luck.

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to