flat assembler
Message board for the users of flat assembler.

Index > DOS > Should Flat Assembler support 2GB of RAM?(DOS version only)

Author
Thread Post new topic Reply to topic
MCD



Joined: 21 Aug 2004
Posts: 602
Location: Germany
MCD 21 Aug 2004, 17:09
Twisted Evil

It is possible for FASM to support up to 2GB of RAM (instead of 64MB)
under DOS. Well, one might say, what is this good for, usually 64MB are enough.

Well, not always. If you have bigger codes (compilers, physical or AI engines) with lots of macros, structures and stuff, you might need more then that.

Besides this, FASM can be used to define data files (pictures, like fractals) using the provided preprocessor, constants, equates and what nots definition which, at least at compile time may use more than 64MB.

The last point was more a joke, but really, Fasm's syntax is so flexible!


This is to Privalov:

detecting RAM can be done via
MOV AX,0E801h
INT 15h

or

MOV AX,0E820h
INT 15h
=> CX,DX memory (in 1kb/64kB blocks)

The first one is the simpler version and requires just a dozen additional code lines. Since this interface is a bit new (but at least nearly all newer HIMEM.SYS versions use this standard to check for extended memory), you could fall back to the old standard if the newer one is not supported
MOV AH,88h
INT 15h

I personally tested them succesfully on a PentiumII ASUS P2B-mainboard Award-Bios 4.50PG and AthlonXP 3200+ Shuttle AN35n-mainboard Award-Phoenix BIOS 6.00.

For further details, look at Ralf Brown's interrupt list.

Just a stupid question: what's up with Ralf Brown, apparently he hasn't updated his lists since july 2000 Release 62)? has anyone an idea?

_________________
MCD - the inevitable return of the Mad Computer Doggy

-||__/
.|+-~
.|| ||
Post 21 Aug 2004, 17:09
View user's profile Send private message Reply with quote
Tomasz Grysztar



Joined: 16 Jun 2003
Posts: 8356
Location: Kraków, Poland
Tomasz Grysztar 21 Aug 2004, 17:13
SOURCE\DOS\SYSTEM.INC, lines 19-20:
Code:
        mov     ax,0E801h               ; check for large free extended memory
        int     15h    
Post 21 Aug 2004, 17:13
View user's profile Send private message Visit poster's website Reply with quote
MCD



Joined: 21 Aug 2004
Posts: 602
Location: Germany
MCD 21 Aug 2004, 17:25
That's it exactly, but I mixed them up. Sorry, I'm always a bit confused.
But I changed it in my FASM sources since a long.

Just take care, the linear address calculations are a bit different than the older versions.

I personally prefer the MOV AX,0E801h version, it's easier to use (MOV AX,0E820h uses some difficult to use tables, but is more precise)


But I mean, could you not make Fasm support up to 2GB OFFICIALLY?
That would be great.


Well, currently my PC-Monitor is dammaged (CRT-accelerator coil has burnt), so I'm writing this from an E-mail cafe with Indian interior decoration. So, it could be that it takes weeks for me to reply to you from now on.

I've got to check in the Internet for a new VGA-CRT monitor.
Post 21 Aug 2004, 17:25
View user's profile Send private message Reply with quote
Tomasz Grysztar



Joined: 16 Jun 2003
Posts: 8356
Location: Kraków, Poland
Tomasz Grysztar 21 Aug 2004, 17:31
What I wrote in my post above is quotation from the file in OFFICIAL release. Please check it again.
Post 21 Aug 2004, 17:31
View user's profile Send private message Visit poster's website Reply with quote
MCD



Joined: 21 Aug 2004
Posts: 602
Location: Germany
MCD 21 Aug 2004, 17:37
Sorry again, I was still in version 1.46 which I had optimized for myself.
Post 21 Aug 2004, 17:37
View user's profile Send private message Reply with quote
Matrix



Joined: 04 Sep 2004
Posts: 1166
Location: Overflow
Matrix 13 Sep 2004, 20:33
You are not serious,
i have never needed more memory than 160MB before,
by the way, fasm doesn't support RAM
RAM is in your computer, they are a little array of hardware chips, which you put in your mother board and while it has power suppied to it, your motherboard can use it to temporarily store data, and use it at a reasonable speed. Well it is a long story, i only wanted to tell you that fasm is only an assembler, and it compiles your assembly source to binary file, which can be interpreted by your computer. You might wanna try the beginnings instead of jumping in the deep see, cause' you might run out of air Smile

MATRIX
Post 13 Sep 2004, 20:33
View user's profile Send private message Visit poster's website Reply with quote
JohnFound



Joined: 16 Jun 2003
Posts: 3499
Location: Bulgaria
JohnFound 13 Sep 2004, 21:47
Matrix wrote:
You are not serious...


Matrix, maybe you have to read others posts more carefully, before writing explanations what RAM is and what it is not!...

JohnFound
Post 13 Sep 2004, 21:47
View user's profile Send private message Visit poster's website ICQ Number Reply with quote
Matrix



Joined: 04 Sep 2004
Posts: 1166
Location: Overflow
Matrix 14 Sep 2004, 04:33
JohnFound wrote:
Matrix wrote:
You are not serious...


Matrix, maybe you have to read others posts more carefully, before writing explanations what RAM is and what it is not!...

JohnFound


RAM is Random Access Memory, i will ignore these kind of posts because i have better to do. I will not argue with anybody about any questions.
I have only one thing to say i am an expert in hardware, and my secondary is software.

MATRIX
Post 14 Sep 2004, 04:33
View user's profile Send private message Visit poster's website Reply with quote
MCD



Joined: 21 Aug 2004
Posts: 602
Location: Germany
MCD 15 Sep 2004, 15:09
Well, to all those who don't know me, I'm a really newbie on the NET, but I've been programming since I'm 12, that is for 9 years and take it really serious. After some month of QBasic, I directly jumped into assembler (TASM, buggy, ugh!) and kept at it. (using fasm now for 2-3 years).

I have already programmed lots of things, like DOS-text based mode extension (TSR), APM-tools(TSR), protected/flat-mode programming (keyboard/timer interrupt demo with a hex editor+APM shutdown all in PM),
VGA/VESA libraries/demos that partially uses VESA v3.0 to switch into 1024*768*16777216 mode with custom CRTC values (to 100Hz vert. refresh) and displays some kind of beautiful images on a linear fram buffer.

I was forced for scolar purpose to learn PASCAL/Delphi 6 and did some simulations/graphical demos with SSE/SSE2 instructions.

I'm also very interested in electronics/microprocessors (RAM, CPU-hardware etc) and have already constructed a lot of things with digital electronics. I'm doing electronics since the age of 7! (no joke)

I'm also very interested in mathematics/phsics (also very early) and, at most, computer rendered images, especially fractals!

I have some very beautiful, high-res fractal image-files, self made formulas and parameters, for FractInt and UltraFractal!

Write me a PM if you are interested!

Well, I probably said to much now, and I should move the lines above into the Member-List. Forgive me if this was to much for you. (eah, not really Smile )
Post 15 Sep 2004, 15:09
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.