flat assembler
Message board for the users of flat assembler.

Index > DOS > Any way to use all RAM under DOS?

Author
Thread Post new topic Reply to topic
lee_huynh



Joined: 10 Dec 2003
Posts: 2
Location: Viet Nam
lee_huynh 10 Dec 2003, 09:26
Someone knows how to use all RAM under DOS?It's so hard,at least for me.Please tell me if you have any idea.Thank you.
Post 10 Dec 2003, 09:26
View user's profile Send private message Yahoo Messenger ICQ Number Reply with quote
vid
Verbosity in development


Joined: 05 Sep 2003
Posts: 7105
Location: Slovakia
vid 10 Dec 2003, 14:09
there are 4 common ways
- XMS, through himem.sys driver, installed nearly always, allows you to allocate memory above 1mb and copy it below 1mb (and back)
- EMS, through emm386, maps memory into space addresable below 1mb.
- flat-real mode, where you just make whole memory addressable, but doesnt work when EMS manager (such as emm386) is installed. This way is used by FASM too.
- protected mode - nice way again, you have to get some protected mode manager (someone could aid some good PM manager, i dont have picture about these). You can have valid 32bit code running in 32bit memory area.

i personally suggest you flat-real mode, i used it even in turbo pascal, only problem is you have to make user remove emm386 from config.sys.

If you are instered in some of these ways, let me know. I have docs on all of them on my old 486, i can post them.
Post 10 Dec 2003, 14:09
View user's profile Send private message Visit poster's website AIM Address MSN Messenger ICQ Number Reply with quote
Mac2004



Joined: 15 Dec 2003
Posts: 314
Mac2004 23 Jan 2004, 12:55
Take a look at the Fasm source to see how you can enter into flat real mode.

Regards Mac2004 Smile
Post 23 Jan 2004, 12:55
View user's profile Send private message Reply with quote
HarryTuttle



Joined: 26 Sep 2003
Posts: 211
Location: Poland
HarryTuttle 23 Jan 2004, 13:33
if U use FASM in native DOS (no other mem-managers) there is no need to do anything, just program 32bit and run.

FASM do it for you!
mean can address all ram in your mainboard!

_________________
Microsoft: brings power of yesterday to computers of today.
Post 23 Jan 2004, 13:33
View user's profile Send private message Reply with quote
vid
Verbosity in development


Joined: 05 Sep 2003
Posts: 7105
Location: Slovakia
vid 23 Jan 2004, 19:10
HarryTurtle: This way predicts you run fasm before executing executable. But anyone else using program created this way will probably get GPF because he didn't run fasm before.

privalov: DOS version of FASM doesn't restore from unreal mode on exit (setting segment limit to 64k etc.) ?!?
Post 23 Jan 2004, 19:10
View user's profile Send private message Visit poster's website AIM Address MSN Messenger ICQ Number Reply with quote
Tomasz Grysztar



Joined: 16 Jun 2003
Posts: 8351
Location: Kraków, Poland
Tomasz Grysztar 23 Jan 2004, 19:12
The same does the HIMEM.SYS, which also uses the FRM. It is harmless.
Post 23 Jan 2004, 19:12
View user's profile Send private message Visit poster's website Reply with quote
vid
Verbosity in development


Joined: 05 Sep 2003
Posts: 7105
Location: Slovakia
vid 23 Jan 2004, 19:19
of course, but people like HarryTurtle (no harm) may get fooled by this and maybe even think fasm adds code which switchs to frm or whatever. Yes, it's allright, but i just like cleaning all my mess done (even if it isn't mess Smile
Post 23 Jan 2004, 19:19
View user's profile Send private message Visit poster's website AIM Address MSN Messenger ICQ Number Reply with quote
Vion



Joined: 26 Apr 2004
Posts: 6
Vion 17 May 2004, 12:33
Well!!
This DOES interest me!!!!
OK, vid:
If you have any tutorials, it would be indeed very nice if you could post them:
What I am mainly interested in are the three first ways, especially that "flat real-mode" thing and himem.sys!!
Actually, I have a 486-DOS machine with himem.sys, and really would like to use it to the full ... which here is 8MB ram *wooow* Wink
Post 17 May 2004, 12:33
View user's profile Send private message Reply with quote
f0dder



Joined: 19 Feb 2004
Posts: 3175
Location: Denmark
f0dder 17 May 2004, 17:22
If you want other people than you to use the program, without having to modify system setup, you have a long journey ahead of you Smile.

The easiest would be to use an existing dos extender, like WDOSX ( http://michael.tippach.bei.t-online.de/wdosx/ ). There's probably better DOS extenders out by now, but WDOSX works fine - it comes with source, so you could learn a few tricks from there.
Post 17 May 2004, 17:22
View user's profile Send private message Visit poster's website Reply with quote
Vion



Joined: 26 Apr 2004
Posts: 6
Vion 18 May 2004, 15:54
Thanx man!!!
That page is wonderful, and one of the links is remarkable:
http://www.thefreecountry.com/compilers/index.shtml

This is a list with who-knows-how-many compilers & Co for who knows what types of languages!!
(This is for all that read it & don't know the page)
Post 18 May 2004, 15:54
View user's profile Send private message Reply with quote
MCD



Joined: 21 Aug 2004
Posts: 602
Location: Germany
MCD 15 Sep 2004, 15:42
For most compatibility, use the XMS v3.0+ standard to allocate up to 4Gb of memory. This way your program will not overwrite other's memory.

It's all in Ralf Brown's interrupt list.
Post 15 Sep 2004, 15:42
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-2024, Tomasz Grysztar. Also on GitHub, YouTube.

Website powered by rwasa.