Re: [Freedos-user] FreeDOS Memory

2011-12-31 Thread Eric Auer

Hi Bernd, everybody,

let me add some more comments to this interesting DOS
thread and wish everybody a happy 2012 as well... :-)

 1. Would like to ask how much memory does FreeDOS support, e.g. 4 GiB?

If you have 4 GB or more, many mainboards will map your
graphics card RAM etc to the end of the first 4 GB, so
you only see e.g. 3.5 GB RAM when looking at the first
4 GB. Also, almost no DOS software looks beyond this 32
bit limit (another mail mentions an DOS/32A PAE update)
so if you have 12 GB, DOS apps still only see 3.5 GB.

On the other hand, many old Windows versions crashed if
you had more than, say, 256 MB (0.25 GB) of RAM unless
you tweaked some things. DOS does NOT have any problem.

However, some ANCIENT apps might crash, some already if
you have only 32 MB (!) or more. DOS memory drivers such
as HIMEMX have configuration options to make only a bit
of your memory visible to solve that sort of problem :-)

In general, 32 bit DOS apps will easily use many MB or
even a GB or more if you have it. Whether you have any
apps that NEED so much memory - I doubt it. People tend
to use memory for huge RAMDISKs or huge disk caches, so
the memory does not stay empty and bored... ;-)

 2. Does it faces 640 KiB limitation as MS-DOS, e.g. Do I have to load
 high drivers to save on conventional memory?

This is more a problem of DOS apps than of DOS as the
operating system. You can load drivers, kernel and so
on into UMB and HMA to have more of the DOS 640k free
but on the other hand, 32 bit apps using DOS extenders
will use XMS (or EMS or other) memory anyway and you
have PLENTY of that so it does not matter how much of
your DOS 640k are free for those.

 3. Does it support usage of a swap file/partition?

DOS itself neither needs nor supports that, but again
for 32 bit apps, the DOS extender MAY support a swap
file, depending on the extender. For example CWSDPMI,
DOS32A and DOS4GW are DOS extenders: They help 32 bit
apps to interact with the 16 bit standard interfaces
of all brands of DOS and they help the apps to manage
megabytes or gigabytes of memory and sometimes swap.

Regards, Eric



PS: The FreeDOS spin-of FD32 is a DOS with a built-in
DOS extender, which is somewhat exotic but slightly
faster than classic DOS with separate DOS extenders.

PPS: JEMMEX is an EMM386 with a built-in HIMEM, which
is a bit exotic but smaller/faster than HIMEM+EMM386.




--
Ridiculously easy VDI. With Citrix VDI-in-a-Box, you don't need a complex
infrastructure or vast IT resources to deliver seamless, secure access to
virtual desktops. With this all-in-one solution, easily deploy virtual 
desktops for less than the cost of PCs and save 60% on VDI infrastructure 
costs. Try it free! http://p.sf.net/sfu/Citrix-VDIinabox
___
Freedos-user mailing list
Freedos-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-user


[Freedos-user] FreeDOS Memory

2011-12-27 Thread Koh Choon Lin
Hi

1. Would like to ask how much memory does FreeDOS support, e.g. 4 GiB?

2. Does it faces 640 KiB limitation as MS-DOS, e.g. Do I have to load
high drivers to save on conventional memory?

3. Does it support usage of a swap file/partition?



-- 
Regards
Koh Choon Lin

--
Write once. Port to many.
Get the SDK and tools to simplify cross-platform app development. Create 
new or port existing apps to sell to consumers worldwide. Explore the 
Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join
http://p.sf.net/sfu/intel-appdev
___
Freedos-user mailing list
Freedos-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-user


Re: [Freedos-user] FreeDOS Memory

2011-12-27 Thread Ralf A. Quint
At 11:08 AM 12/27/2011, Koh Choon Lin wrote:
Hi

1. Would like to ask how much memory does FreeDOS support, e.g. 4 GiB?

2. Does it faces 640 KiB limitation as MS-DOS, e.g. Do I have to load
high drivers to save on conventional memory?

3. Does it support usage of a swap file/partition?

FreeDOS is an MS-DOS 6.00 clone, a 16bit operating system, so it will 
by itself only support 1MB (or 640KB as you mentioned), just as MS-DOS.
More than that can only be access by use of an XMS or EMS compatible 
memory manager. And due to all this, there simply is not a need for 
any swap file/partition (though some memory manager might create/use one)...

Ralf 


--
Write once. Port to many.
Get the SDK and tools to simplify cross-platform app development. Create 
new or port existing apps to sell to consumers worldwide. Explore the 
Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join
http://p.sf.net/sfu/intel-appdev
___
Freedos-user mailing list
Freedos-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-user


Re: [Freedos-user] FreeDOS Memory

2011-12-27 Thread Bernd Blaauw
Op 27-12-2011 20:08, Koh Choon Lin schreef:
 Hi

 1. Would like to ask how much memory does FreeDOS support, e.g. 4 GiB?

Yes you'll be limited to a maximum of 4GB if you have 4GB or more. In 
practice this maximum could be anywhere between 2GB and 4GB (usually 
3.3GB or 3.5GB) due to PCI chipset device mapping into the top of memory.

 2. Does it faces 640 KiB limitation as MS-DOS, e.g. Do I have to load
 high drivers to save on conventional memory?

yes. To access beyond 640KB load a driver (XMGR, HIMEMX, whatever) to 
access extended memory (XMS).

 3. Does it support usage of a swap file/partition?

Not by itself. DJGPP programs seem to support a swapfile if CWSDPMI is 
being used as extender.


--
Write once. Port to many.
Get the SDK and tools to simplify cross-platform app development. Create 
new or port existing apps to sell to consumers worldwide. Explore the 
Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join
http://p.sf.net/sfu/intel-appdev
___
Freedos-user mailing list
Freedos-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-user


Re: [Freedos-user] FreeDOS Memory

2011-12-27 Thread Koh Choon Lin
Hi

 2. Does it faces 640 KiB limitation as MS-DOS, e.g. Do I have to load
 high drivers to save on conventional memory?


Thanks for all the fast replies. I think my question is misunderstood.
Load high is a MS-DOS technique to load drivers in the upper memory
to save conventional memory. I remembered 20 years ago there were many
attempts to free up as much conventional memory as possible.

Like to ask if FreeDOS comes with memmaker too?


-- 
Regards
Koh Choon Lin

--
Write once. Port to many.
Get the SDK and tools to simplify cross-platform app development. Create 
new or port existing apps to sell to consumers worldwide. Explore the 
Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join
http://p.sf.net/sfu/intel-appdev
___
Freedos-user mailing list
Freedos-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-user


Re: [Freedos-user] FreeDOS Memory

2011-12-27 Thread Jack
 1. Would like to ask how much memory does FreeDOS support, e.g. 4 GiB?

 Yes you'll be limited to a maximum of 4GB if you have 4GB or more. In
 practice this maximum could be anywhere between 2GB and 4GB (usually
 3.3GB or 3.5GB) due to PCI chipset device mapping into the top of memory.

On older or uncomplicated mainboards, PCI should not take that many
addresses.   And yes, no one ever vioced any serious interest about
more than 4-GB of memory, so Japheth and I never pursued it in HIMEMX
or XMGR.   Can be done, but it requires strong agreement on all the
conventions used for the two drivers to access over 4-GB of XMS.

 2. Does it faces 640 KiB limitation as MS-DOS, e.g. Do I have to load
 high drivers to save on conventional memory?

 yes. To access beyond 640KB load a driver (XMGR, HIMEMX, whatever) to
 access extended memory (XMS).

In fact, one needs an XMS driver (XMGR, HIMEMX, MS-DOS HIMEM, etc.) and
an upper-memory provider driver (JEMM386, MS-DOS EMM386, etc.).   The
combined JEMMEX can also be used.   If one uses only real mode, the
UMBPCI driver can enable Shadow RAM (BIOS usage) as upper-memory, and
XMGR can then provide that memory to DOS.   No need for EMM drivers
in that case, but note that UMBPCI may not run with all newer chipsets.

The main point is that an XMS driver by-itself does NOT provide upper
memory to the DOS system.   This is done by the EMM driver, or by the
specific UMBPCI/XMGR combination.   [If XMGR does not find Shadow RAM
enabled by UMBPCI, it works the same as HIMEMX/HIMEM and waits for an
EMM driver to enable conventional upper-memory].


--
Write once. Port to many.
Get the SDK and tools to simplify cross-platform app development. Create 
new or port existing apps to sell to consumers worldwide. Explore the 
Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join
http://p.sf.net/sfu/intel-appdev
___
Freedos-user mailing list
Freedos-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-user


Re: [Freedos-user] FreeDOS Memory

2011-12-27 Thread Ralf A. Quint
At 11:49 AM 12/27/2011, Koh Choon Lin wrote:
Hi

  2. Does it faces 640 KiB limitation as MS-DOS, e.g. Do I have to load
  high drivers to save on conventional memory?
 

Thanks for all the fast replies. I think my question is misunderstood.
Load high is a MS-DOS technique to load drivers in the upper memory
to save conventional memory. I remembered 20 years ago there were many
attempts to free up as much conventional memory as possible.

The same still applies for FreeDOS today. As I already mentioned, 
FreeDOS is an MS-DOS 6.00 clone.


Like to ask if FreeDOS comes with memmaker too?

No.

Ralf 


--
Write once. Port to many.
Get the SDK and tools to simplify cross-platform app development. Create 
new or port existing apps to sell to consumers worldwide. Explore the 
Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join
http://p.sf.net/sfu/intel-appdev
___
Freedos-user mailing list
Freedos-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-user


Re: [Freedos-user] FreeDOS Memory

2011-12-27 Thread Rugxulo
Hi,
   You've already got some good replies, but I'll try to add my
(incomplete) knowledge for completeness (corrections welcome).

On Tue, Dec 27, 2011 at 1:08 PM, Koh Choon Lin 2choon...@gmail.com wrote:

 1. Would like to ask how much memory does FreeDOS support, e.g. 4 GiB?

FreeDOS can run on any x86 machine with a BIOS. Hence, 8088 can only
access 1 MB (typically 640 kb minus DOS system itself) not counting
EMS, 286 only goes up to 16 MB, 386 only to 2 / 3 / 4 GB (in theory),
not counting PAE (PPro / i686).

KERNEL.SYS doesn't handle anything outside 1 MB (I think?), so you
have to use HIMEMX (or similar, e.g. XMGR, FDXMS286) and/or JEMM386 to
access more (or enable unreal mode on 386+). Your apps themselves must
be aware of such things, e.g. XMS, EMS, etc. to access it, so they
won't all magically work.

DPMI typically piggybacks atop raw, XMS, VCPI, or (another) DPMI host
if found. Different ones have different limits. In particular, I've
seen different effects in CWSDPMI r5, HDPMI32, CWSDPMI r7.

CWSDPMI r5 is older and doesn't use 4 MB [586+] pages, hence it's
slower and slightly more outdated (barely), so I'd suggest r7. This
machine here has 6 GB, but r5 reports 1.8 GB, HDPMI32 reports 2.6 GB,
and r7 reports 4 GB. But with r7, GCC 4.6.2 chokes somewhere when
trying to allocate 400+ MB of RAM for -O2 optimizations (silly
compiler), so that may be a rare bug (hopefully to be looked into
eventually, but CWS is a busy genius, heheh).

I have almost never allocated anywhere near 1 GB of RAM by myself. I
think paq8o8z -8 will use approx. 1.5 GB (slowly), but beyond that, I
don't know. I think CWS told me that you should use sbrk() directly if
accessing more than 2 GB of RAM. I'm not sure how to do it as
presumably most people never bothered and a lot of things (malloc?)
just assumed 2 GB limits.

There is an experimental PAE version of DOS/32A 9.1.2 (OpenWatcom
extender), but I've never tried it. Again, I have no idea what the
libc will do if you try allocating too much, and esp. PAE is beyond me
(only access 4 GB at a time out of total 64 GB??).

 2. Does it faces 640 KiB limitation as MS-DOS, e.g. Do I have to load
 high drivers to save on conventional memory?

The only limitations are DOS and your DOS apps, so it depends on what
each one wants. Yes, traditionally, it still has to (partially) run in
low RAM, so you'll want to save space. Without XMS (286+) loaded,
you'll only get approx. 400 kb free (and should use vspawn + FreeCOM),
otherwise (using XMS_Swap FreeCOM) you should get about 600 kb. That
should be enough for almost anything (not counting extended RAM, as
even most DOS apps assume it nowadays).

 3. Does it support usage of a swap file/partition?

Not exactly. There is no dedicated swap partition, and there is no
central memory manager. However, some DOS extenders support virtual
memory. DOS/4GW 1.97 supports like 32 MB, I think??, and Causeway can
support similar too. CWSDPMI will swap (in theory) and is probably the
best (most common too), but it doesn't always work on every machine
(e.g. 4 GB free, 0 kb swap free, which is weird, as even r5 shows
some swap space available). So it depends on how much HD you have free
on your pre-existing FAT drive (usually C:\ and often hardcoded but
sometimes can be configured, e.g. CWSPARAM or cwsdpmi -sd:\).

--
Write once. Port to many.
Get the SDK and tools to simplify cross-platform app development. Create 
new or port existing apps to sell to consumers worldwide. Explore the 
Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join
http://p.sf.net/sfu/intel-appdev
___
Freedos-user mailing list
Freedos-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-user


Re: [Freedos-user] FreeDOS Memory

2011-12-27 Thread dmccunney
On Tue, Dec 27, 2011 at 2:08 PM, Koh Choon Lin 2choon...@gmail.com wrote:

 1. Would like to ask how much memory does FreeDOS support, e.g. 4 GiB?

It's an open source clone of MS-DOS, which is a 16 bit real mode OS.
It can see up to one megabyte of RAM as usable memory.  Beyond that,
you must load HIMEM.SYS and possible EMM386.EXE to get access to XMS
or EMS.

I have FreeDOS on an old notebook with 256MB RAM, and use XMS memory
to support a ramdisk and a cache.

 2. Does it faces 640 KiB limitation as MS-DOS, e.g. Do I have to load
 high drivers to save on conventional memory?

Yes.

 3. Does it support usage of a swap file/partition?

No, and doesn't really need one.  It's not a virtual memory OS.

 Regards
 Koh Choon Lin
__
Dennis

--
Write once. Port to many.
Get the SDK and tools to simplify cross-platform app development. Create 
new or port existing apps to sell to consumers worldwide. Explore the 
Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join
http://p.sf.net/sfu/intel-appdev
___
Freedos-user mailing list
Freedos-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-user