VOGONS


First post, by Kasreyn

User metadata
Rank Newbie
Rank
Newbie

So I was playing around with the new HWiNFO where introducing NOEMS gave me a lot of UMBs. Fine and good.
Some days later.. I notice Impulse Tracker has zero KBs EMS and can't play a single tune.

Different goals different solutions.

I now have the following configuration that gives some EMS while also giving some UMBs.

The crux being, this is a 440BX Pentium 2 with both a "Promise SATA controller TX2 plus PCI" and a "Adaptec ASC-39160 PCI-SCSI Adapter Ultra160 64bit".
The result is, there isn't a perfect 64 KB "hole" above A000 where EMM386 can install a page-frame. There isn't a hole even after removing the Promise card but I digress.
So, I figured, even though memory ranges disallow LIM 3.2, some overlap on E000 and E400 can still make things work.
E000 and E400 is ROM, but, I have not found a single issue making that range an EMM386 page-frame.

So.. this is what I did

DEVICE=C:\WINDOWS\EMM386.EXE RAM P0=D800 P1=DC00 P2=E000 P3=E400 I=A800-B7FF VERBOSE

I found that I=A400 or I=A000 is "too greedy". Impulse Tracker doesn't like it and won't start.
But with the above configuration Impulse Tracker loads without issue and it has 32MB EMS.

Just figured I would share my story just in case, maybe it can help someone get past their "DOS blocker".

Below is a map for a Pentium II with:
1x Promise SATA controller TX2 plus PCI
1x Voodoo 3 AGP
1x Adaptec ASC-39160 PCI-SCSI Adapter Ultra160 64bit
1x RTL8139C

MSD.EXE reports the following in "Memory Browser":

ROM BIOS        F000    65536   PhoenixBIOS 4.0 Release 6.0
Option ROM E400 49152
Option ROM CA00 22528 ADPTAdaptec SCSI Card 39160 SCSI BIOS v3.10.0
Video ROM BIOS C000 40960 Voodoo3 3000 BIOS - Version 1.00.01-SD

Memory map:

FC00 ---------BIOS--| FFFF
F800 ---------------- FBFF
F400 ---------------- F7FF
F000 |-ROM----------- F3FF F000-FFFF ROM BIOS
EC00 --ROM----------| EFFF
E800 ---------------- EBFF
E400 |-Option-------- E7FF E400-EFFF Option ROM
E000 --BIOS---------| E3FF
DC00 |-ROM----------- DFFF DC00-E3FF ROM BIOS
D800 DBFF
D400 -| D7FF
D000 --Option ROM---- D3FF
CC00 ---ROM-------|-- CFFF CF80-D420 Option ROM Promise SATA controller TX2 plus PCI
C800 -BIOS--|-Option- CBFF CA00-CFFF Option ROM
C400 --ROM----------- C7FF
C000 |-Video--------- C3FF C000-C9FF Video ROM BIOS Voodoo 3 AGP
BC00 BFFF
B800 BBFF
B400 B7FF
B000 B3FF
AC00 AFFF
A800 ABFF
A400 A7FF
A000 A3FF

Scripts for fully automated partitioning and installation of GRUB bootloader with Windows 98 & Linux 7.0.11 & Memtest86+ v8.00. Can create BlueSCSI images or write direct to physical drive.
https://archive.org/details/make-win-98-dos-grub-loader

Reply 1 of 2, by Disruptor

User metadata
Rank Oldbie
Rank
Oldbie

A000-AFFF = Video RAM
Basically never include that. X=A000-AFFF

But you can include the areas that are used in monochrome video modes: I=B000-B7FF

Many BIOSes put their setup program into F000-F7FF that can be used by UMB or page frame then. I=F000-F7FF

So you'd perhaps need to figure out what memory / ROM contents are on these locations.
You may use DEBUG command.

Reply 2 of 2, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Hi, if UMBs are scarce, there are alternatives way of fitting large drivers into memory.
Helix Netroom, Helix Multimedia Cloaking or Novell DOS, for example.
They try different approaches of leviating free memory to the simple "moaar UMBs!!" method.
Netroom basically uses virtual UMBs that use bank-switching,
while Cloaking technology puts optimized device drivers past 1 MB barrier (just a small KB sized stub/remote control remains in DOS memory).
Novell DOS 7 has DPMS that supports a similar technique.
The latest Logitech mouse driver is compatible with that, for example.

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//