VOGONS


Reply 20 of 22, by Jo22

User metadata
Rank l33t++
Rank
l33t++
BloodyCactus wrote on 2021-09-27, 01:00:
you can use the tools I wrote to replace use!umbs and such. […]
Show full quote

you can use the tools I wrote to replace use!umbs and such.

(copy from another post I wrote)

I also wrote something similar for my tandy sx + xt machines. umb is designed to work with himem.sys which has the umb api in it.

https://bloodycactus.com/files/umb.zip

works nicely with mcbexp which allows you to add memory to the MCB chain when you know the ram blocks exist.

https://bloodycactus.com/files/mcbexp.zip

Thank you very much, you've written some really cool stuff! 😎👍
And I sincerely hope you will continue to write some utilities now and then. 🙂

..
Btw, I've also posted some stuff about UMBs a few moons ago.
Maybe the pictures, references and links are useful to someone, still.

Re: 80x86/Vxx PC emulators with x87, EMS, UMBs and no artificial 640KiB limit ?

(That being said, I don't mean to perform some self-advertising here. Even if admittedly it may look like that.
I simply enjoy talking/chatting with other equally-minded people about such stuff. 😅)

"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//

Reply 21 of 22, by Fenix77

User metadata
Rank Newbie
Rank
Newbie

I' don have any XT or 286 machine, but I tested 86box with a 286 with SCAT 82c235 chipset that can do some UMBs, with specific software.

1. The best software for this chipset is Quarterdeck QRAM, because use the Shadow RAM capabilities of the chips based on the NEAT, LEAP and SCAT. On the SCAT chipset and can do 192kb of UMB without the EMS driver, or 128kb of UMB using either the D000-DFFFF or E000-EFFFF memory region for the 64kb EMS page frame.

2. Other software I tried are Qualitas Move'em. This software is included inside 386MAX v 6.0 installation disk. Unlike QRAM this software does not use the Shadow RAM capabilities of the chip. Insted, it first checks the CPU type, if the CPU is 286 or lesser then checks for the presence of an EMS device driver, and if one is found check if can create additional 64kb segments apart of the 64kb EMS page frame. Since the chipset can map only D and E memory regions. Only one region 64kb of UMB memory can be used, because the other contains the the page frame.

Helix Netroom do the same. It includes a RMNEAT.SYS driver and a RM386.SYS driver for the 386 machines. It creates only 64kb of UMB memory on the SCAT chipset.

3. A third way is find a UMB memory board. Memory Commander is a memory manager for 386 systems, but during the installation mentions the existence of a UMB memory board for 286 and lesser systems. I think it should be similar to USE!UMB with DOS 5.0 and the memory board, but I never seen one.

The EMS memory boards:

Some of the fist boards which supported UMB memory were, for example ,AST Rampage, Intel Above Board 8, or Orchid RamQuest 8/16. The Above Board and RamQuest can map UMBs, can map part of its memory as extended memory on 286 machines, and also supports 8-bit mode operations, so the can be used in XT systems.
But due to the high price at the time (around 1988), most DOS users had old regular LIM EMS 3.2 memory boards which were enough to run software like Lotus 1-2-3 some disk cache softwares, Word Perfect for DOS, etc.

The high end cards provided additional fuctions:

a. The ability to backfill RAM memory from 256kb to 640kb, with Large Page Frame support (LPF).

This was important for Windows 2.x and Quarterdeck Deskview, because if the LPF is enabled, these software can move executable code (programs) in the 256-640kb memory area directly to the EMS memory. The LIM EMS 3.2 boards work fine with Windows 2.x if a LIM 4.0 driver is present, but only the regular 64kb page frame is present so only data can be moved to EMS memory and the biggest part of the program can only use conventional memory.
I think the LPF was intended as another "stop gap" solution for 286 systems, because the 386 machines were even more expensive that these high end EMS memory boards.

b. The importance of UMB memory was due, Windows 2.x works only in real mode and device drivers cannot use the LPF, only the regular conventional memory. By loading device drivers in the upper memory region, provided by the mapping capabilities of these boards, conventional RAM could be saved to store more Windows drivers.

c. A third feature in the LIM 4.0 spec were the alternate register sets. They can be supported by the hardware or emulated. But these hardware register sets were important to do multitasking with Deskview at the proper speed. For example the AST Rampage has 32 alternate hardware register sets and the Intel Above board used software emulation.

Finally, I think the reason for the UMB and the LIM EMS 4.0 spec was to provide Windows 2.x with ability to move programs directly to EMS memory and break the 640kb limitation. It allowed to Windows to compete with OS/2 1.x which was a protected mode operating system that looked similar to the Windows environment but, used the extended memory of the 286. Interestingly ,IBM PC-DOS 4.0 unlike MS-DOS 4.0 did not include HIMEM.SYS or EMM386.SYS, instead included the drivers XMAEM.SYS and XMA2EMS.SYS for its 386 machines, both drivers work together, but they not provide an XMS manager, is only a LIM EMS 4.0 manager *but* it did not provide LPF support either.

EMS boards that do not support LPF can store very little data in EMS memory and as a result ,on environments like Windows, is possible to run out of conventional RAM even when there is a lot of EMS memory available.

Reply 22 of 22, by Jo22

User metadata
Rank l33t++
Rank
l33t++
Fenix77 wrote on 2021-11-01, 05:10:
I' don have any XT or 286 machine, but I tested 86box with a 286 with SCAT 82c235 chipset that can do some UMBs, with specific s […]
Show full quote

I' don have any XT or 286 machine, but I tested 86box with a 286 with SCAT 82c235 chipset that can do some UMBs, with specific software.

1. The best software for this chipset is Quarterdeck QRAM, because use the Shadow RAM capabilities of the chips based on the NEAT, LEAP and SCAT. On the SCAT chipset and can do 192kb of UMB without the EMS driver, or 128kb of UMB using either the D000-DFFFF or E000-EFFFF memory region for the 64kb EMS page frame.

2. Other software I tried are Qualitas Move'em. This software is included inside 386MAX v 6.0 installation disk. Unlike QRAM this software does not use the Shadow RAM capabilities of the chip. Insted, it first checks the CPU type, if the CPU is 286 or lesser then checks for the presence of an EMS device driver, and if one is found check if can create additional 64kb segments apart of the 64kb EMS page frame. Since the chipset can map only D and E memory regions. Only one region 64kb of UMB memory can be used, because the other contains the the page frame.

Helix Netroom do the same. It includes a RMNEAT.SYS driver and a RM386.SYS driver for the 386 machines. It creates only 64kb of UMB memory on the SCAT chipset.

3. A third way is find a UMB memory board. Memory Commander is a memory manager for 386 systems, but during the installation mentions the existence of a UMB memory board for 286 and lesser systems. I think it should be similar to USE!UMB with DOS 5.0 and the memory board, but I never seen one.

The EMS memory boards:

Some of the fist boards which supported UMB memory were, for example ,AST Rampage, Intel Above Board 8, or Orchid RamQuest 8/16. The Above Board and RamQuest can map UMBs, can map part of its memory as extended memory on 286 machines, and also supports 8-bit mode operations, so the can be used in XT systems.
But due to the high price at the time (around 1988), most DOS users had old regular LIM EMS 3.2 memory boards which were enough to run software like Lotus 1-2-3 some disk cache softwares, Word Perfect for DOS, etc.

The high end cards provided additional fuctions:

a. The ability to backfill RAM memory from 256kb to 640kb, with Large Page Frame support (LPF).

This was important for Windows 2.x and Quarterdeck Deskview, because if the LPF is enabled, these software can move executable code (programs) in the 256-640kb memory area directly to the EMS memory. The LIM EMS 3.2 boards work fine with Windows 2.x if a LIM 4.0 driver is present, but only the regular 64kb page frame is present so only data can be moved to EMS memory and the biggest part of the program can only use conventional memory.
I think the LPF was intended as another "stop gap" solution for 286 systems, because the 386 machines were even more expensive that these high end EMS memory boards.

b. The importance of UMB memory was due, Windows 2.x works only in real mode and device drivers cannot use the LPF, only the regular conventional memory. By loading device drivers in the upper memory region, provided by the mapping capabilities of these boards, conventional RAM could be saved to store more Windows drivers.

c. A third feature in the LIM 4.0 spec were the alternate register sets. They can be supported by the hardware or emulated. But these hardware register sets were important to do multitasking with Deskview at the proper speed. For example the AST Rampage has 32 alternate hardware register sets and the Intel Above board used software emulation.

Finally, I think the reason for the UMB and the LIM EMS 4.0 spec was to provide Windows 2.x with ability to move programs directly to EMS memory and break the 640kb limitation. It allowed to Windows to compete with OS/2 1.x which was a protected mode operating system that looked similar to the Windows environment but, used the extended memory of the 286. Interestingly ,IBM PC-DOS 4.0 unlike MS-DOS 4.0 did not include HIMEM.SYS or EMM386.SYS, instead included the drivers XMAEM.SYS and XMA2EMS.SYS for its 386 machines, both drivers work together, but they not provide an XMS manager, is only a LIM EMS 4.0 manager *but* it did not provide LPF support either.

EMS boards that do not support LPF can store very little data in EMS memory and as a result ,on environments like Windows, is possible to run out of conventional RAM even when there is a lot of EMS memory available.

Wow! This was very fascinating to read, thank you very much! 😃👍

My apologize for this necro, but I had to say this.
I didn't notice the reply ~3 years ago, saw it now first time.

"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//