VOGONS


First post, by Paddan1000

User metadata
Rank Member
Rank
Member

My 486 motherboard only has one IDE connector. Since I want 2 harddrives and 1 CD-unit, I added an ISA IDE controller card called Promise EIDE Max. I used a PCI SCSI card for the CD before without any problems, but it used to much conventional memory, so I thought I would replace it with an IDE card instead.
However, with the Promise IDE card inserted, Emm386.exe won't initiate at start-up. I just get the error message:

"Emm386 not installed - unable to set page frame base adress".

Otherwise the computer boots as normal.
Here are two screenshots I took during the boot-up process.

http://img89.imageshack.us/img89/6453/imag0062o.jpg
http://img12.imageshack.us/img12/1207/imag0065r.jpg

The IDE card allows me to change settings by jumpers, like IRQ, primary or secondary IDE, BIOS address and BIOS enable or disable. I set it to secondary IDE, IRQ15, BIOS enable and BIOS address D000 (but I also tried D400).

Reply 1 of 9, by h-a-l-9000

User metadata
Rank DOSBox Author
Rank
DOSBox Author

If the option exists: Try C8000 as BIOS address.
E0000 appears to be used on your board, now you are blocking D0000 so it doesn't find a space for its page frame.

1+1=10

Reply 2 of 9, by Paddan1000

User metadata
Rank Member
Rank
Member

The available BIOS address options for the card are D000, D400, D800 and DC00.

Reply 3 of 9, by h-a-l-9000

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Well unless you can free up E0000 you are out of luck...
The system BIOS may take it.

Or maybe try to force EMM386 to use E0000 and see what happens...

1+1=10

Reply 4 of 9, by TheMAN

User metadata
Rank Oldbie
Rank
Oldbie

try:
DEVICE=C:\DOS\EMM386.EXE NOEMS X=D000h-DC00h

this will exclude memory addresses D000 to DC00 from being used by EMM386

Reply 5 of 9, by Paddan1000

User metadata
Rank Member
Rank
Member

try:
DEVICE=C:\DOS\EMM386.EXE NOEMS X=D000h-DC00h

this will exclude memory addresses D000 to DC00 from being used by EMM386

It works when I switch the switch "RAM" to "NOEMS", but adding X=D000h-DC00h doesn't make a difference. I need EMS memory, so I can't use NOEMS.

How can I make Emm386 use E0000?

When I access the BIOS of my motherboard and push the "system info" button it says:

Option ROMs found:
Segment - Size
C000h - 32 kb
D000h - 16 kb

Reply 6 of 9, by Paddan1000

User metadata
Rank Member
Rank
Member

Wait, problem solved. I jumpered the card to use BIOS address DC00 and now it works. I guess I should have tried that from the beginning. Thanks for your help anyway.

EDIT: D800 works too. I think I'll use that one.

EDIT 2: I just disabled the BIOS of the IDE controller and now the card works without needing any conventional memory at all. What was the point of having BIOS enabled anyway?

Reply 7 of 9, by h-a-l-9000

User metadata
Rank DOSBox Author
Rank
DOSBox Author

I.e. if the system BIOS is too old to handle large disks.

1+1=10

Reply 8 of 9, by TheMAN

User metadata
Rank Oldbie
Rank
Oldbie

INT13h extensions and perhaps DMA mode?

Reply 9 of 9, by BigBodZod

User metadata
Rank Oldbie
Rank
Oldbie
TheMAN wrote:

INT13h extensions and perhaps DMA mode?

Exactly and to allow you to boot off of the Promise Controller instead of using the onboard IDE controller port/ports.

No matter where you go, there you are...