RAM on a 286 - EMS, XMS, UMA, HMA, WTF - Page 1
Forum section: electronics / general

author: Unknown
author_rank: Unknown
timestamp: August 29, 2018, 12:06:29 am
content: Hiso I've got a beautiful, old 286 up and running again (I love tinkering with old computers) and because I was veeery young when I got my first 286, I can't really remember much about memory management.What I have found out/done so far:- The motherboard has 1 MB onboard- BUT it allows me (via jumper config) to either use 640k conventional memory and "ignore" the remaining 384k OR use 512k conventional memory + 512k of UMA (upper memory).- I have bought, assembled and installed one of these 2MB EMS cards:https://texelec.com/product/lo-tech-ems-2-mb-pcb/- If I configure the motherboard to 512k/512k, the biiig downside is, that I'll never get more than 500-something conventional memory free, regardless of how well I optimize driver loading- If I configure it to 640k/0k, I don't have UMA, don't have himem.sys loaded, don't have UMB and so on.- EMS memory (link above) is installed and LTEMM driver is up and running, 2MB EMS detected and readyWhat I ask myself:- What would be the ideal config to get as much conventional memory as possible + utilize EMS as good as possible- Would EMS even be used by any software except games which specifically ask for EMS?- What about QRAM or QEMM or Above Disc?btw. himem.sys says "no available extended memory was found" when using the 640k/0k config.Thanks :-)

author: Ampera
author_rank: Super Contributor
timestamp: August 29, 2018, 03:08:12 am
content: I'd say the best option would be to wire a switch up to the jumper that will allow you to externally switch between that whenever you need more conventional memory, and the UMA can't be used by the current program.If I had to pick one situation, I'd probably pick more conventional memory, as it's more likely to be used by the average program.

author: BravoV
author_rank: Super Contributor
timestamp: August 29, 2018, 03:56:27 am
content: Use Quarterdeck's QEMM and utilize the "LOADHIGH" to free more 640K region.Just read their documentation as its quite comprehensive.

author: rdl
author_rank: Super Contributor
timestamp: August 29, 2018, 04:10:53 am
content: Is QEMM still around? That's what I used back in the day for running DOS games on my 486. I probably still have the floppy disk somewhere.

author: Halcyon
author_rank: Unknown
timestamp: August 29, 2018, 09:40:43 am
content: Quote from: rdl on August 29, 2018, 04:10:53 amhttps://vetusware.com/category/System/?cat=2&filter=1386MAX was another.

author: rsjsouza
author_rank: Super Contributor
timestamp: August 29, 2018, 10:16:04 am
content: The UMA was always a PITA to get going - I would stick with 640k/0k and try to use Desqview - IIRC it made a decent use of EMS. Just be sure to download the version that runs on Real mode.Quote from: Halcyon on August 29, 2018, 09:40:43 amNice link Halcyon! Although I suspect 386MAX will not work in a 286 as it requires protected mode.Even for QEMM, I suspect it does not work in Real Mode - QRAM was the version that did it. BTW, the command is LOADHI. LOADHIGH was the DOS5.x command that did the same function.(disclaimer - I am recollecting most of this from deep dark and long unused corners of my memory - take all this with a pound of salt)

author: BravoV
author_rank: Super Contributor
timestamp: August 29, 2018, 10:28:22 am
content: Quote from: rsjsouza on August 29, 2018, 10:16:04 amProbably you're right, its been for so many years.But you've just reminded me, maybe QEMM won't work for 286, as I remembered there was a brain damaged design on 286 that cant switch between real & protected mode properly, and its only fixed at 386 generation, as these QEMM and similar programs do magic stuff with this real & protected mode thingies, cmiiw.

author: rsjsouza
author_rank: Super Contributor
timestamp: August 29, 2018, 01:54:45 pm
content: Quote from: BravoV on August 29, 2018, 10:28:22 amYou can say that twice! Having EMS was almost useless on a 286 - IIRC only Autodesk made use of that and maybe some more obscure software.

author: David Hess
author_rank: Super Contributor
timestamp: August 29, 2018, 06:19:28 pm
content: Switching between protected and real mode on the 286 was less of a problem than lack of paged memory management.What you actually want is an EEMS or LIM EMS 4.0 board so all of the unused lower address space can be mapped.https://en.wikipedia.org/wiki/Expanded_memoryYou would be much better off with an old 386 if you want to mess with Desqview and QEMM.

author: abyrvalg
author_rank: Frequent Contributor
timestamp: August 31, 2018, 07:40:17 am
content: OP’s config doesn’t have any memory requiring PM/MMU. Those 386+ things were used to map memory beyond 1M to low addresses representing it as a fake EMS (mostly), but he has true EMS already.

author: Unknown
author_rank: Unknown
timestamp: September 02, 2018, 01:22:16 am
content: Quote from: Ampera on August 29, 2018, 03:08:12 amNow that's one cool ideaI guess I'll try again and play around with QRAM (tried that before, when I didn't have EMS yet).QuoteI thought that the lo-tech EMS board is LIN EMS 4.0 compatible...I have many more vintage computer systems to play around with, I was just curious if there is any way of optimizing this 286 box :-)

author: Halcyon
author_rank: Unknown
timestamp: September 02, 2018, 10:19:22 pm
content: Quote from: nemail on September 02, 2018, 01:22:16 amYes, it is. You just need to install the LIN 4.0 device driver. (It also has a command switch to only support EMS 3.2 mode as well.)

author: innkeeper
author_rank: Unknown
timestamp: September 03, 2018, 01:19:44 am
content: I really don't miss the days of dealing with that stuff.

author: David Hess
author_rank: Super Contributor
timestamp: September 03, 2018, 02:24:11 am
content: Quote from: nemail on September 02, 2018, 01:22:16 amYes, it looks like it is.QuoteI managed to miss the EMS on 286 era although I had a couple of 286s but not the QEMM on 386 era.

author: bitseeker
author_rank: Super Contributor
timestamp: September 03, 2018, 06:53:55 am
content: Before having Desqview on the 386, on the 286 I used to use Software Carousel by Softlogic to switch between programs. It suspends and swaps apps between system RAM and XMS/EMS (or HDD if you were desperate).Unless you need the EMS for a particular program, Carousel is a cool way to utilize that extra memory for task switching.

author: digsys
author_rank: Unknown
timestamp: September 03, 2018, 07:01:46 am
content: Quote from: innkeeperLOL, I do :-) The weekly / monthly computer nerd meetings - swapping methods of eeking out another 2K of base memory / ems etc and everyone getting excited -hero for a day. Then I made my first page swapping card that held 4x 640K installs, and used a 64K share buffer between them !! THAT was living !!!Plus, the microbee days were awesome ... we were once (nerd) warriors :-) ... when nerds were REAL nerds ... siigh

author: In Vacuo Veritas
author_rank: Frequent Contributor
timestamp: September 04, 2018, 04:59:29 pm
content: Does the latest DOS run on a 286? There was MemMaker that was supposed to tune all that noise.https://docs.microsoft.com/en-us/previous-versions/tn-archive/cc722463(v=technet.10)

author: rrinker
author_rank: Super Contributor
timestamp: September 04, 2018, 07:49:11 pm
content: QEMM also had a utility that was supposed to automatically tune the memory utilization. I could always do better manually than either automatic tool.I used DesqView on my 8088 8MHz clone in college - I ran a BBS on my machine but I also needed to be able to write papers and lab reports and so forth. DesqView was quite advanced - worked very well allowing me to essential make 2 machines from one, the BBS worked at nearly full speed (on campus access was as high as 19.2kbps - when most were lucky to have a 1200 bps modem, let alone a 2400 bps one) AND I had plenty of performance to run a word processor or even PSPICE simulations.