VOGONS


First post, by aries-mu

User metadata
Rank Oldbie
Rank
Oldbie

Hello fellow retrocompusers 😁

We all know and remember well DOS' limitations in managing RAM.

What I always wanted, as a kid in the early 90s, was an "LH"-like program that would load WHATEVER.EXE/COM upper in the RAM. Only, instead of squeeze-loading it in the tiny ~300KB UMB area, it would load WHATEVER.EXE/COM upper, in the XMS.

Something like:

XL edit.com

and then Edit opens up but running in the XMS memory.

I was especially wondering about this when I start seeing the first games coming out that, when launching, before loading the actual game, they would load that "DOS4GW" thing, if I remember correctly its name, which would then load the game onto the XMS memory.

Any idea if anything like that ever existed or could be done nowadays with our super duper modern wannasghebs AI-enlightened minds and rigs?

Thanks!

They said therefore to him: Who are you?
Jesus said to them: The beginning, who also speak unto you

Reply 1 of 14, by jakethompson1

User metadata
Rank Oldbie
Rank
Oldbie

It depends if you're talking about programs that have been specifically written to use a DOS extender, or trying to shoehorn a program into XMS that was never intended to work that way.
DOS4GW etc. were used for foreground applications, for TSRs something like CLOAKING would be more apt: https://en.wikipedia.org/wiki/DOS_Protected_M … rvices#CLOAKING

For the latter case--programs never intended to run in XMS--you're basically describing Windows 386-enhanced mode 😁

Reply 2 of 14, by Grzyb

User metadata
Rank Oldbie
Rank
Oldbie

Regular DOS programs are supposed to be run in Real mode of the CPU, where it's only possible to address slightly more than 1 MB of memory.
There's no way to make such a program to use more memory.

Żywotwór planetarny, jego gnijące błoto, jest świtem egzystencji, fazą wstępną, i wyłoni się z krwawych ciastomózgowych miedź miłująca...

Reply 3 of 14, by aries-mu

User metadata
Rank Oldbie
Rank
Oldbie
jakethompson1 wrote on 2022-08-10, 16:25:

It depends if you're talking about programs that have been specifically written to use a DOS extender, or trying to shoehorn a program into XMS that was never intended to work that way.
DOS4GW etc. were used for foreground applications, for TSRs something like CLOAKING would be more apt: https://en.wikipedia.org/wiki/DOS_Protected_M … rvices#CLOAKING

For the latter case--programs never intended to run in XMS--you're basically describing Windows 386-enhanced mode 😁

Shoehorn shoehorn!!! 😁 🤣 I didn't know this English slang, thanks!
So, about shoehorning, see below:

Grzyb wrote on 2022-08-10, 16:53:

Regular DOS programs are supposed to be run in Real mode of the CPU, where it's only possible to address slightly more than 1 MB of memory.
There's no way to make such a program to use more memory.

Oh gosh.
Very well, then, what about a 'conventional memory/real mode emulator'? Something similar to what EMM386 AUTO did: switching between XMS and EMS as needed, but using the same physical RAM to do that.

They said therefore to him: Who are you?
Jesus said to them: The beginning, who also speak unto you

Reply 4 of 14, by jakethompson1

User metadata
Rank Oldbie
Rank
Oldbie
aries-mu wrote on 2022-08-10, 16:57:
Grzyb wrote on 2022-08-10, 16:53:

Regular DOS programs are supposed to be run in Real mode of the CPU, where it's only possible to address slightly more than 1 MB of memory.
There's no way to make such a program to use more memory.

Oh gosh.
Very well, then, what about a 'conventional memory/real mode emulator'? Something similar to what EMM386 AUTO did: switching between XMS and EMS as needed, but using the same physical RAM to do that.

That's Virtual 8086 mode, which looks like real mode to software unaware of it. That's how EMM386, Windows 386-enhanced mode, etc. all work. The memory addressing within the DOS box looks like real mode to software, but in physical memory it could actually be above the 1MB barrier.

Is it a TSR or interactive program you'd hope to load in XMS?

Reply 5 of 14, by aries-mu

User metadata
Rank Oldbie
Rank
Oldbie
jakethompson1 wrote on 2022-08-10, 17:03:

That's Virtual 8086 mode, which looks like real mode to software unaware of it. That's how EMM386, Windows 386-enhanced mode, etc. all work. The memory addressing within the DOS box looks like real mode to software, but in physical memory it could actually be above the 1MB barrier.

Is it a TSR or interactive program you'd hope to load in XMS?

Oh interesting!
Both, everything! I'm not talking about a specific program. I'd just like to tinker around trying to load everything... whenever I'll have some free time to tinker...

They said therefore to him: Who are you?
Jesus said to them: The beginning, who also speak unto you

Reply 6 of 14, by Grzyb

User metadata
Rank Oldbie
Rank
Oldbie
aries-mu wrote on 2022-08-10, 16:57:

Very well, then, what about a 'conventional memory/real mode emulator'?

Such a thing is called "V86 mode".
In V86 mode, Real mode programs can be run in a memory space located at any physical address.
However, the size of that memory space is the same as the memory available in Real mode.

V86 is convenient for running multiple Real mode programs simultaneously, but can't provide more memory to a single Real mode program.

Żywotwór planetarny, jego gnijące błoto, jest świtem egzystencji, fazą wstępną, i wyłoni się z krwawych ciastomózgowych miedź miłująca...

Reply 7 of 14, by aries-mu

User metadata
Rank Oldbie
Rank
Oldbie
Grzyb wrote on 2022-08-10, 17:16:
Such a thing is called "V86 mode". In V86 mode, Real mode programs can be run in a memory space located at any physical address. […]
Show full quote
aries-mu wrote on 2022-08-10, 16:57:

Very well, then, what about a 'conventional memory/real mode emulator'?

Such a thing is called "V86 mode".
In V86 mode, Real mode programs can be run in a memory space located at any physical address.
However, the size of that memory space is the same as the memory available in Real mode.

V86 is convenient for running multiple Real mode programs simultaneously, but can't provide more memory to a single Real mode program.

Sounds great, thanks!
And is there a specific utility for DOS that makes this V86 that I can download?

They said therefore to him: Who are you?
Jesus said to them: The beginning, who also speak unto you

Reply 8 of 14, by Grzyb

User metadata
Rank Oldbie
Rank
Oldbie
aries-mu wrote on 2022-08-10, 17:25:

And is there a specific utility for DOS that makes this V86 that I can download?

Pretty much any 386+ multitasker.
Windows/386, Desqview, and many others...

Żywotwór planetarny, jego gnijące błoto, jest świtem egzystencji, fazą wstępną, i wyłoni się z krwawych ciastomózgowych miedź miłująca...

Reply 9 of 14, by aries-mu

User metadata
Rank Oldbie
Rank
Oldbie
Grzyb wrote on 2022-08-10, 17:30:
aries-mu wrote on 2022-08-10, 17:25:

And is there a specific utility for DOS that makes this V86 that I can download?

Pretty much any 386+ multitasker.
Windows/386, Desqview, and many others...

Thanks.

What about in DOS and remaining within DOS.

For example.

You load EMM386 and you get X MB of physical RAM to be 'seen' as EMS. You don't need to run Windows to see that. You just type mem and it shows that you've got X MB of EMS.
If you open a DOS program or game that uses EMS, it will start using it, no Windows involved.

The same but for V86 conventional memory.
Say you have 640 KB of total conventional memory, but because of drivers and stuff you have only 602 KB free. You launch some V86 manager and it creates a second 'chunk' of emulated conventional memory, 640 KB of clean free conventional memory. Then you launch a program or game, but telling it to use the virtual chunk of conventional memory, not the real one.

They said therefore to him: Who are you?
Jesus said to them: The beginning, who also speak unto you

Reply 10 of 14, by Grzyb

User metadata
Rank Oldbie
Rank
Oldbie

The problem is:
a program running in the second chunk of memory can't use the drivers/TSRs loaded in the first chunk

Żywotwór planetarny, jego gnijące błoto, jest świtem egzystencji, fazą wstępną, i wyłoni się z krwawych ciastomózgowych miedź miłująca...

Reply 11 of 14, by aries-mu

User metadata
Rank Oldbie
Rank
Oldbie
Grzyb wrote on 2022-08-10, 17:47:

The problem is:
a program running in the second chunk of memory can't use the drivers/TSRs loaded in the first chunk

oh gosh!
Gotcha, thx.

Quite a barrier those 640 KB!

They said therefore to him: Who are you?
Jesus said to them: The beginning, who also speak unto you

Reply 12 of 14, by BinaryDemon

User metadata
Rank Oldbie
Rank
Oldbie

I would look for the drivers with the smallest memory footprint. I know in the early 90s, I didn’t have access to as many cdrom/mouse drivers as I can find on the web now.

Check out DOSBox Distro:

https://sites.google.com/site/dosboxdistro/ [*]

a lightweight Linux distro (tinycore) which boots off a usb flash drive and goes straight to DOSBox.

Make your dos retrogaming experience portable!

Reply 13 of 14, by aries-mu

User metadata
Rank Oldbie
Rank
Oldbie
BinaryDemon wrote on 2022-08-10, 18:50:

I would look for the drivers with the smallest memory footprint. I know in the early 90s, I didn’t have access to as many cdrom/mouse drivers as I can find on the web now.

Indeed!

They said therefore to him: Who are you?
Jesus said to them: The beginning, who also speak unto you

Reply 14 of 14, by Intel486dx33

User metadata
Rank l33t
Rank
l33t

I loaded all my Device drivers HIGH so I am just using 3mb of Memory in DOS 6.22
With all Drivers loaded. ( Mouse, CDROM, Sound Card, Video card )

See My Posts:
Re: 486 Multimedia dream build ( 1993/94 ).