flat assembler
Message board for the users of flat assembler.

Index > DOS > EMS64 - EMS 4.0 simulator

Author
Thread Post new topic Reply to topic
CandyMan



Joined: 04 Sep 2009
Posts: 414
Location: film "CandyMan" directed through Bernard Rose OR Candy Shop
CandyMan 05 Sep 2016, 17:41
A device driver & program that emulates the Lotus/Intel/Microsoft Expanded Memory Specification, Version 4.0, in software, permitting extended memory above 4GB in x64 machines to be used as expanded memory. It uses unreal mode that cannot work in virtual 8086 mode. The XMS driver must be installed before EMS64.EXE because it uses XMS memory for handles, handle names and paging tables. Ideal for creating large RAMDISK if you have more than 4GB memory and 64-bit CPU and you use DOS.


Description:
Download
Filename: EMS64.7Z
Filesize: 47.45 KB
Downloaded: 1316 Time(s)


_________________
smaller is better


Last edited by CandyMan on 26 Oct 2018, 17:47; edited 3 times in total
Post 05 Sep 2016, 17:41
View user's profile Send private message Reply with quote
Tomasz Grysztar



Joined: 16 Jun 2003
Posts: 8359
Location: Kraków, Poland
Tomasz Grysztar 05 Sep 2016, 18:16
Fascinating! I knew that in principle XMS/EMS standards should be able to handle more than 4GB of memory because they use handle+lock/map mechanism, but this is the first time I see it actually done. I will not be able to try it, though, since I still use only the old 32-bit machine for DOS.
Post 05 Sep 2016, 18:16
View user's profile Send private message Visit poster's website Reply with quote
rugxulo



Joined: 09 Aug 2005
Posts: 2341
Location: Usono (aka, USA)
rugxulo 09 Sep 2016, 02:15
Tomasz Grysztar wrote:
Fascinating!


fascinating_587.gif (EDIT: don't you normally hate animated .GIFs distracting you? Me too.)

Razz Razz Razz (yes, it's the 50th anniversary today of Star Trek)

Tomasz Grysztar wrote:
I knew that in principle XMS/EMS standards should be able to handle more than 4GB of memory because they use handle+lock/map mechanism, but this is the first time I see it actually done.


No sources. Crying or Very sad Is this using PSE-36? (Haven't tried yet, will try later.)

Tomasz Grysztar wrote:
I will not be able to try it, though, since I still use only the old 32-bit machine for DOS.


Uh, you don't have any bootable DOS media? Or don't know how to make it??



Last edited by rugxulo on 20 Sep 2016, 04:27; edited 1 time in total
Post 09 Sep 2016, 02:15
View user's profile Send private message Visit poster's website Reply with quote
Tomasz Grysztar



Joined: 16 Jun 2003
Posts: 8359
Location: Kraków, Poland
Tomasz Grysztar 09 Sep 2016, 04:38
rugxulo wrote:
Uh, you don't have any bootable DOS media? Or don't know how to make it??
I just don't see the point for myself of using any other machine for DOS when the old one runs perfectly.
Post 09 Sep 2016, 04:38
View user's profile Send private message Visit poster's website Reply with quote
rugxulo



Joined: 09 Aug 2005
Posts: 2341
Location: Usono (aka, USA)
rugxulo 20 Sep 2016, 04:29
I did briefly test this, and it seemed to work, but I need to test it further. I only tried my laptop, though, which "only" has 4 GB (on USB jump drive running slimmed FreeDOS; although I was already using 200 MB anyways for RAM disk via SHSURDRV).
Post 20 Sep 2016, 04:29
View user's profile Send private message Visit poster's website Reply with quote
CandyMan



Joined: 04 Sep 2009
Posts: 414
Location: film "CandyMan" directed through Bernard Rose OR Candy Shop
CandyMan 20 Sep 2016, 15:51
I have equal 4 GB of the memory, but 768 MB above 4 GB.

_________________
smaller is better
Post 20 Sep 2016, 15:51
View user's profile Send private message Reply with quote
rugxulo



Joined: 09 Aug 2005
Posts: 2341
Location: Usono (aka, USA)
rugxulo 22 Sep 2016, 23:43
Quote:

5,6c5,6
< Free XMS memory 3,505,899,520 bytes
< Largest free XMS block 3,505,899,520 bytes
---
> Free XMS memory 3,715,458,048 bytes
> Largest free XMS block 3,715,458,048 bytes
12c12
< 1 1642 209820672 0
---
> 1 1642 262144 1
17c17
< Conventional 636K 24K 612K
---
> Conventional 636K 94K 542K
20c20
< Extended (XMS) 3,628,797K 205,067K 3,423,730K
---
> Extended (XMS) 3,628,797K 420K 3,628,377K
22c22
< Total memory 3,629,821K 205,479K 3,424,342K
---
> Total memory 3,629,821K 902K 3,628,919K
24c24
< Total under 1 MB 636K 24K 612K
---
> Total under 1 MB 636K 94K 542K
26c26,29
< Largest executable program size 611K (626,096 bytes)
---
> Total Expanded (EMS) 512M (536,870,912 bytes)
> Free Expanded (EMS) 312M (327,155,712 bytes)
>
> Largest executable program size 539K (552,336 bytes)


So yeah, it saves me 200 MB of XMS (not that I need it!), but it uses 70 kb more conventional memory (which hopefully most DOS programs don't need). Either way, I just made a CONFIG.SYS menu to choose either method, for now.
Post 22 Sep 2016, 23:43
View user's profile Send private message Visit poster's website Reply with quote
CandyMan



Joined: 04 Sep 2009
Posts: 414
Location: film "CandyMan" directed through Bernard Rose OR Candy Shop
CandyMan 02 Nov 2020, 18:44
I decided to include the source code.


Description:
Download
Filename: EMS64.7Z
Filesize: 18.88 KB
Downloaded: 791 Time(s)


_________________
smaller is better
Post 02 Nov 2020, 18:44
View user's profile Send private message Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  


< Last Thread | Next Thread >
Forum Rules:
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Copyright © 1999-2025, Tomasz Grysztar. Also on GitHub, YouTube.

Website powered by rwasa.