VOGONS


Expanded memory managers and DOS

Topic actions

Reply 20 of 32, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Ah, I see. Never mind. 😊 NCSMALL was a loader utility. It swapped NC out of memory once a program was running.
Since you're using Symantec's NC, this utility likely was long superceded by then.

"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 32, by SETBLASTER

User metadata
Rank Member
Rank
Member

oh man
i remember those tough days trying to run all those sierra games like LARRY1 VGA. and you just could not run them because of the memory they asked for. And QEMM saved the day

are you guys using the QEMM 7.5 GAME EDITION for pure DOS?
what version are you all using for Win3.1 and what version for win98 ?

Reply 23 of 32, by Opus7

User metadata
Rank Newbie
Rank
Newbie

Hello,

does anyone know what I could use as an EMM on an XT compatible? I have added to my beloved Amstrad 1640 (I run it with a NEC V30) an 1 MB EMS expansion card, and use lo-tech's LTEMM as the memory manager. However, the main software I want to use it for is Word Perfect 5.1, and it crashes regularly when LTEMM is loaded... (there is some strange connection to the mouse driver/use, that I could not explain yet, and DOS6.22 made it better compared to DOS5.0). It could be adriver incompatibility issue... Are there any other EMM drivers that I could use on the XT? EMM386.sys asks for a 386 processor, but is there some emm.sys that could work?

Reply 24 of 32, by mkarcher

User metadata
Rank l33t
Rank
l33t
Opus7 wrote on 2022-10-31, 11:06:

Are there any other EMM drivers that I could use on the XT? EMM386.sys asks for a 386 processor, but is there some emm.sys that could work?

EMM drivers need to be matched to the hardware that provides EMS. EMM386 uses the 8086 virtualization feature built in the 80386 processor to provide EMS. LTEMM uses the Lo-Tech EMM card to provide EMS. So generally you are bound to the driver provided by the hardware manufacturer, LTEMM in this case.

If I remember correctly, the Lo-Tech card uses the most common interface to provide EMS, so hardware drivers from other 2MB EMS cards might work, too. If you find a driver that allows you to specify base addresses for multiple 2MB cards, chances are high that the driver supports the LTEMM board too, even if it was designed for a different brand of EMS board.

Reply 25 of 32, by Opus7

User metadata
Rank Newbie
Rank
Newbie
mkarcher wrote on 2022-10-31, 14:39:

If I remember correctly, the Lo-Tech card uses the most common interface to provide EMS, so hardware drivers from other 2MB EMS cards might work, too. If you find a driver that allows you to specify base addresses for multiple 2MB cards, chances are high that the driver supports the LTEMM board too, even if it was designed for a different brand of EMS board.

What could be the reason for the system crashes once the LTEMM driver is loaded on the PC1640? The hardware looks fine, it passes both the LTEMM and the CheckIt RAM tests, and when I create a Ramdrive, and can copy back and forward as well as execute files. I managed to get WordPerfect 5.1 to run and use the EMS after playing around quite a bit (what a gain in speed, i.e. when using the spellcheck function!). But when Win 3.0 accesses the EMS, and once I load more than a few kb, the system freezes, while Geoworks sometimes does not load at all. I speculate it could be some sort of memory conflict, but I changed memory address and interrupt, but no success..any idea what I could test? different graphic cards (HGC, EGA, VGA) did not help, but seemed to influence the problem, as did the mouse driver ?!?

Reply 26 of 32, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Hi there! I've apparently written about Windows 3 + EMS in the past..
Re: EMS Card for Windows 3.1
My memory is a bit sketchy about it, however.
I remember the Windows 3.1 one, but not the one I linked to. 🤷‍♂️

Anyway, Windows 3.0 does support LIM4 or EEMS, it's spiritual predecessor.
Windows 3.0 supports 64KB and 256KB page frames for EMS.

Using DOS 6.x and running MemMaker can help to make Windows 3.0 see proper EMS, also.
For testing purposes, I mean.

Windows 2.x has trouble with CuteMouse being loaded.
MS Mouse v6.24 does not cause trouble, however.
I guess the same goes for MS Mouse drivers in general.

Windows 2.x is DOS 4 aware, which causes trouble with later DOSes that use the older DOS 3 kernal structure (that's DOS 5, 6 etc).
Hence, SETVER or DOSVER must be used to fake a DOS 3.x version (I use 3.30). Many people don't know that.

"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 27 of 32, by mkarcher

User metadata
Rank l33t
Rank
l33t
Opus7 wrote on 2022-11-07, 07:50:
mkarcher wrote on 2022-10-31, 14:39:

If I remember correctly, the Lo-Tech card uses the most common interface to provide EMS, so hardware drivers from other 2MB EMS cards might work, too. If you find a driver that allows you to specify base addresses for multiple 2MB cards, chances are high that the driver supports the LTEMM board too, even if it was designed for a different brand of EMS board.

But when Win 3.0 accesses the EMS, and once I load more than a few kb, the system freezes, while Geoworks sometimes does not load at all. I speculate it could be some sort of memory conflict, but I changed memory address and interrupt, but no success..any idea what I could test? different graphic cards (HGC, EGA, VGA) did not help, but seemed to influence the problem, as did the mouse driver ?!?

The LTEMM driver can be loaded with "/3" to disable EMS 4.0 extensions. While EMS 4.0 was meant to improve performance by pushing some high-level tasks like "switch EMS pages to different code and call a function there", which can be useful on the Lo-Tech card, too, mostly EMS 4.0 is meant to make features of multitasking-friendly EMS boards available to the operating system like Windows or DesqView. The Lo-Tech EMS board does not have any of these multitasking-friendly extras (like an "alternative mapping register set" or "DMA mapping register sets") and it only provides the conentional 4-page frame, so you don't lose any hardware features when you go down to EMS 3.2. On the other hand, EMS 3.2 is less complex and thus less prone to driver bugs.

So my suggestion is to re-test Windows and Geoworks with the driver in EMS 3.2 mode and report back whether this fixes the issue, and whether EMS is still used by those systems. If the answer is yes to both, you likely discovered a driver bug in LTEMM.

Reply 28 of 32, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Is LTEMM really that bad? The way it sounds, it even makes EMM286 feel ashamed.
Thank heavens I do have an AST Rampage with an EEMS/LIM4 compliant driver still.
The author of LTEMM really should have a look at REMM.SYS..

Edit: An obsolete version of REMM.SYS ships with Windows 2.03 (I tried it originally, before I found an updated REMM.SYS online) .
So it would really make sense to study this memory manager.
If LTEMM could reach a 1987 era level of compatibility, it would be a start.

Edit: Also worth a look is the HT12EMS.SYS driver for the Headland chipsets (HT12? HT12A?).
It can serve Windows 3.0 quite okay-ish, it seems.
Even though it won't provide a good 256KB page frame, just a simple 64KB one (that's one x86 memory segment; 4 pages a 16KB).

https://www.youtube.com/watch?v=XqFSWnMpVic

Edit: Speaking of PC/GEOS.. Does it really need LIM4?
I'm not sure, because its applications can use VM files. Those files are local swap files of the applications, if I understand correctly.
They remind me of overlay (OVL) files somehow.
Maybe PC/GEOS can work with LIM 3.2 already, thus?
I mean, if EMS is merely required used by PC/GEOS to store data (like OVL/swap files) rather than active program code?
My apologies for my poor English this morning,I'm still sleepy, I hope it can't be deciphered.😴

"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 30 of 32, by Opus7

User metadata
Rank Newbie
Rank
Newbie
mkarcher wrote on 2022-10-31, 14:39:

The LTEMM driver can be loaded with "/3" to disable EMS 4.0 extensions. While EMS 4.0 was meant to improve performance by pushing some high-level tasks like "switch EMS pages to different code and call a function there", which can be useful on the Lo-Tech card, too, mostly EMS 4.0 is meant to make features of multitasking-friendly EMS boards available to the operating system like Windows or DesqView. The Lo-Tech EMS board does not have any of these multitasking-friendly extras (like an "alternative mapping register set" or "DMA mapping register sets") and it only provides the conentional 4-page frame, so you don't lose any hardware features when you go down to EMS 3.2. On the other hand, EMS 3.2 is less complex and thus less prone to driver bugs.

So my suggestion is to re-test Windows and Geoworks with the driver in EMS 3.2 mode and report back whether this fixes the issue, and whether EMS is still used by those systems. If the answer is yes to both, you likely discovered a driver bug in LTEMM.

Thanks for the suggestion - I tried that. MS-DOS and Win 3.0 do no longer report Expanded memory when loading in EMS 3.2 mode and run fine. 123 and WordPerfect report it as EMS3.2. The behavior changed, so yes this has an impact,... but Word Perfect still crashes when accessing the EMS for a bit, for instance when running a Spell Check on a longer document. What a shame, the gain in speed is remarkable (before it crashes)!. It seems to me there is some memory conflict, perhaps the Amstrad BIOS or the graphic card loads something into the E000+ memory range?... I.e. I also tried to set the EMS card to D000, but than WP really gets crazy, started to ask for some Floppy disks, ect, and has problems reading files.

Reply 31 of 32, by Opus7

User metadata
Rank Newbie
Rank
Newbie

UPDATE: I got it to work! I tested another descendant of the LoTech 1MB EMS card (produced and sold by a great guy with the nick name wizard.amras.83 at ebay). This card had one of the 512k RAM chips permanently soldered, while the other one was on a socket. I pulled out the second 512k chip - and voila' - all works like ice cream (with the memory address set to E000, io 0x264)! Somehow the Amstrad 1640 seems only be able to deal with 512k of EMS and the LTEMM card, but not once both RAM chips for 1MB are to be addressed. I still think a memory conflict is behind this.

Reply 32 of 32, by BloodyCactus

User metadata
Rank Oldbie
Rank
Oldbie
Opus7 wrote on 2023-01-22, 15:37:

UPDATE: I got it to work! I tested another descendant of the LoTech 1MB EMS card (produced and sold by a great guy with the nick name wizard.amras.83 at ebay). This card had one of the 512k RAM chips permanently soldered, while the other one was on a socket. I pulled out the second 512k chip - and voila' - all works like ice cream (with the memory address set to E000, io 0x264)! Somehow the Amstrad 1640 seems only be able to deal with 512k of EMS and the LTEMM card, but not once both RAM chips for 1MB are to be addressed. I still think a memory conflict is behind this.

weird. the ems cards put all memory behind a window. the amount on the card would be irrelevant. it all sits in a 64kb window, usually 0xE000 or 0xD000.

I think your confusig things, are you getting the 1mb RAM card mixed up with the 2mb EMS card? they are not the same. lotech dont make a 1mb EMS, only a 2MB ems.

they do make a 1mb RAM card, and you need to use jumpers to enable/disable banks.

--/\-[ Stu : Bloody Cactus :: [ https://bloodycactus.com :: http://kråketær.com ]-/\--