• Please review our updated Terms and Rules here

Ibm 5170 + hma

Amigaz

Experienced Member
Joined
Jan 31, 2008
Messages
426
Location
Stockholm, Sweden
Having some troubles using the "high memory area" on my IBM 5170.
I has a DFI MegaLith memory board with 8mb installed, 4096 in configured as XMS and the rest is configured as EMS by the MegaLith software.
Have card also backfills my 512k conv. mem up to 640k
When I try and load DOS high by "DOS=HIGH" in the config.sys I get an error message I cannot access any HMA area...I'm running PC-DOS 7 btw.
Have I missed something? :confused:
 
Last edited:
It might be the 1542C causing problems. I believe I had this exact issue with mine too. It messes something up with the A20 handler. Try a different version of the SCSI driver.
 
It's probably the EMS that's screwing things up. EMS begins right at the 1Mb boundary, which is also where the HMA is located. Try configuring the board as XMS only. You don't need real EMS anyways if you have XMS, it can emulate EMS (if you load the EMM386 driver in your config.sys).

--T
 
I think that's not quite right. EMS uses a UMB, usually in the D but sometimes in the E region. EMS never occupies space above 1MB. It should be possible to use both EMS and the HMA at the same time.
 
I think that's not quite right. EMS uses a UMB, usually in the D but sometimes in the E region. EMS never occupies space above 1MB. It should be possible to use both EMS and the HMA at the same time.

The EMS PageFrame is located in upper memory, and that pageframe is used to swap-in chunks of memory from (physically) above 1Mb. How else could you have massive amounts of EMS? The hardware has to be somewhere.

--T
 
dos=high

dos=high

Anonymous Coward said......It might be the 1542C causing problems...

That's kinda why I wanted to see the config.sys, to see what else is loading, and where. Remember, the ~64k HMA is first come, first serve.
While we're at it, a mem/c or mem/d listing would be nice as well.
I noticed in the earlier post there's just a dos=high, instead of dos=high,umb
You might want to try that. (But I'd still like to see config.sys & mem/c or mem/d)
Meanwhile, here's a link that gives a bit of an overwiew:

http://support.microsoft.com/kb/95555

patscc
 
Haven't touched the machine yet so I can show my autoexec.bat/config.sys

I hope it's not my that's causing the problem...I'm not using any drivers btw for it
Maybe I need to change the Adaptec 1542CP's BIOS adress?
 
It's probably the EMS that's screwing things up. EMS begins right at the 1Mb boundary, which is also where the HMA is located. Try configuring the board as XMS only. You don't need real EMS anyways if you have XMS, it can emulate EMS (if you load the EMM386 driver in your config.sys).

--T

Will do, going to comment out the megalith.sys line in config.sys which configures the other 4096kb as EMS
 
It wouldn't do any good to load DOS=HIGH,UMB on a 5170 since the 80286 doesn't have memory management like a 386 does. A 286 can normally just use high memory, unless you have a special chipset (like NEAT) that allows you to use UMBs.
 
286 64k hma oops

286 64k hma oops

You're right, my bad. I totally forgot that all you get out of the 286 AT is the first 64 kbytes - 16 bytes above the first meg. Ah, well, everythings going to hell...
patscc
 
There are a few ways to get UMBs on an AT.

1. Use Caldera DR-DOS which has some kind of UMB remapping software.
2. Use a LIM 4.0 board with a program like QRAM
3. Use a 386SX or 486SLC upgrade module

I've personally tried all of these methods.
 
386sx 486slc upgrade modules

386sx 486slc upgrade modules

That actually reminds me, I've an Intel board that I need to find a driver disk for.
Are they 386sx 486slc upgrade modules expansion boards, boards with a cable to the 80286 socket, or plugins for the 80286, or do they go into the 80287 ?

Do you have some make/model info. maybe pictures if you have any of them ?

patscc
 
These are two modules from a Japanese company called "Buffalo". Pretty much exactly the same except for the CPU. Both have Cyrix FPUs too:

DLC.jpg


The chip on the bottom is a 286 to 486 upgrade called "Make it 486" from "Improve It Technologies". Certain models also contain an FPU on the underside, but mine does not. I highly recommend this model with FPU and TI 486SXLC2 chip if you can find one.
cyrix486.jpg


All of my upgrades plug directly into a PLCC 286 socket, but I use an adapter for PGA sockets.
 
The EMS PageFrame is located in upper memory, and that pageframe is used to swap-in chunks of memory from (physically) above 1Mb. How else could you have massive amounts of EMS? The hardware has to be somewhere.
--T
---------
Huh? So you're saying that EMS memory addressing just continues on above 1 MB, adding address lines up to 32MB as it goes along? How does the CPU access this?

And you can't have DOS in HIMEM when you use EMS memory?

Not thinking of extended memory by any chance?
 
Ems

Ems

That's what the
...hardware...
was all about. EMS is a bank switching scheme. The page frame( up to 64k ) gets put somewhere in upper memory (last 384 below first meg, God, how I wish some idiot way back when hadn't decided that who'd ever need more than 640k, anyway). The card has registers & latches that are addressable( this is where the base address omes into play ), and the EMS driver basically routes all EMS requests to EMS memory by "swapping" banks in and out of that 64k frame.
The "swapping" isn't really as bad as it sounds, all it is is a shuffling around of addressess by changing which address lines on the EMS board are presented to the ISA bus, really presented with in the 64 k frame. Why 64 k ? Because of Intel's segmentation scheme. Why segmentation, well, that probably should go into the rants section...
It's not really adding hardware lines, it's just selectively masking and unmasking them.
Pretty quick, actually. Industry-proven hack, judging by the number of systems that use it.
As boards moved to enough address lines to do extended memory, the XMS standard evolved, and with it, EMM386 & it's brethren. EMM386 would manage extended memory, either presenting it in a linear address space, or by EMulating eMs memory. Sort of a backwards LIN/EMS driver in a sense. As if memory addresses in a PC weren't confuisng enough already.

So, Amigaz, give. What did *solved* entail ?

patscc
 
That's what the was all about. EMS is a bank switching scheme. The page frame( up to 64k ) gets put somewhere in upper memory (last 384 below first meg, God, how I wish some idiot way back when hadn't decided that who'd ever need more than 640k, anyway). The card has registers & latches that are addressable( this is where the base address omes into play ), and the EMS driver basically routes all EMS requests to EMS memory by "swapping" banks in and out of that 64k frame.
The "swapping" isn't really as bad as it sounds, all it is is a shuffling around of addressess by changing which address lines on the EMS board are presented to the ISA bus, really presented with in the 64 k frame. Why 64 k ? Because of Intel's segmentation scheme. Why segmentation, well, that probably should go into the rants section...
It's not really adding hardware lines, it's just selectively masking and unmasking them.
Pretty quick, actually. Industry-proven hack, judging by the number of systems that use it.
As boards moved to enough address lines to do extended memory, the XMS standard evolved, and with it, EMM386 & it's brethren. EMM386 would manage extended memory, either presenting it in a linear address space, or by EMulating eMs memory. Sort of a backwards LIN/EMS driver in a sense. As if memory addresses in a PC weren't confuisng enough already.

So, Amigaz, give. What did *solved* entail ?

patscc

The solution was putting on my reading glasses which revealed the truth when I checked my config.sys ;)

I must admit I'm having a hard time using this old best...I'm not quite use to the US 84-key AT keyboard with swedish layout in PC-DOS 7

I'm looking forward to the day and I can use a full AT keyboard after my BIOS upgrade
 
Back
Top