Re: Rampage Plus 286 EMS boards programming info.

Mike A. Harris (
Wed, 20 May 1998 19:14:21 -0400 (EDT)

On Wed, 20 May 1998, Anthony Barbachan wrote:

> First thing you may want to check is if the board is actually an EMS board.
> 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 than
> 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 extra
> 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 contact
> 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.

> BTW, the card
> may well be EEMS instead of EMS as AST was one of the backers of EEMS. IF

I'm not familiar with EEMS...

> you unsuccessful in this route then its time to reverse engineer the card.

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 at
> 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.

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