Re: Driver for EMS boards.

Mike A. Harris (
Wed, 20 May 1998 17:59:51 -0400 (EDT)

On Tue, 19 May 1998, Anthony Barbachan wrote:

> >I'd like to have a driver that would turn an old 286 EMS RAM
> >expander board into a RAMDISK that could be used for a swapfile,
> >or temporary space.
> I do not think these boards had any consistant interface except for the one
> provided by the DOS EMS driver. Unless you can get information on how to

I figured that every EMS board was probably unique, at least in
the way that it worked, IO ports, etc... otherwise my job would
probably be relatively simple.

> communicate directly with your particular hardware a Linux driver may not be
> possible. However if you have the original DOS drivers, you can get this
> information by disassembling the drivers and tracing down generalities of
> how they work.

Yes, I have downloaded the driver for DOS from AST. It is
called: REMM.SYS. It is from the file REMM470.ZIP from their ftp
site. I used a DOS DEBUG script to disassemble the file, and
although the output isn't amazingly useful, I did find many OUT
instructions, which probably do the magic I need to know.
Unfortunately some of the OUT's are in the form:


Where DX is not easily determined because it is calculated from
some existing value via a prior INC or DEC instruction, or an OR
or AND instruction. ;o(

Some of the hard coded addresses that I found are:

0x43, 0xFB, 0xE8, 0xEA, 0xF9, 0xE072, 0xE872

I don't know what any of these are, but I suspect all the 8 bit
ports are DMA controller, or some other standard PC hardware, and
that the 0xExxx ones are the EMS board... I dunno for sure

> >I have a friend who wants to run Linux on a 486 with 8M, but he
> >has tonnes of 30 pin SIMMs and whackloads of 286 EMS boards. I
> >figured that someone else must have allready had an interest in
> >developing a driver for Linux to use such a board as swap, and I
> >don't want to duplicate the effort if one exists.
> SIMM converters might be a better option as they should allow you to use
> these chips directly as memory.

SIMM converters are probably more expensive than just buying new
memory for it. If we found some for free it would be ok, but it
is doubtful. I kindof wanted to do the EMS driver for fun
anyways, just so I could say I wrote a Linux driver. ;o)

Or if I could find an existing driver for Linux, that would be ok

> >Can someone point me in the right direction?
> >
> >If no such driver exists, I'm interested in writing my own. I
> >have never written any kernel level code as of yet, but figure
> >that such a driver can't be that difficult.
> >
> >Any pointers to writing such a device driver would be greatly
> >appreciated. I'm going to look at the DOS driver in DEBUG and
> >try and figure out what its doing.
> >
> I can give you the list of functions that the original drivers had to
> provide. Do you happen to know which version of EMS the boards provided?

I have no idea. All I can say is that the board is:

AST Rampage Plus 286
Serial Number: 3808764

Copyright 1988

The date codes on the newest IC is: 8937

That means somewhere around August 1989 or so. What version of
the EMS specs was out at the time?

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