flat assembler
Message board for the users of flat assembler.
![]() |
Author |
|
Tomasz Grysztar
Theoretically yes. First, you would need to enable assembler to use that much of memory (for command line fasm it's the "-m" switch). Don't know how Windows would perform with loading such program then, though.
|
|||
![]() |
|
madmatt
Mame32 for windows is about 35.8MB, and works with windows 95 upwards, so loading a file that big should be any problem, except for windows 3.1
![]() MadMatt |
|||
![]() |
|
rugxulo
Is that 35MB compressed with UPX or without?
[EDIT] Well, I found out that the MAME.EXE for 0.102 (Win32 cmdline version) comes already packed by UPX (8.1 megs compressed). However, MAME claims to need 1Ghz and 128-256 megs of RAM just for half of the games to work. The new 0.102u4 version supports 3205 originals and 2688 clones (which is a lot, since 0.1 only supported 1/1000th of that). Too bad that they only use NASM. ![]() [/EDIT] Last edited by rugxulo on 19 Dec 2005, 23:31; edited 1 time in total |
|||
![]() |
|
Nikolay Petrov
Thanks
![]() I released a little memory and work it. without performance problems. |
|||
![]() |
|
Plue
Be aware that when Windows loads a program into memory it loads the entire executable before it starts running. Loading 900mb from any kind of storage but ram will take quite a lot of time.
|
|||
![]() |
|
decard
Does it really? Some EXEs have 600mb (usualy installers), and they load instanly. You only have to figure where to insert extra data (after all sections?
![]() |
|||
![]() |
|
madmatt
rugxulo: I don't know
Nickolay: I thought the above was for 900kb ![]() ![]() |
|||
![]() |
|
Tomasz Grysztar
AFIAK Windows only maps section into memory (that is: allocates the linear page addresses), without actually loading it all before it's really needed.
|
|||
![]() |
|
Madis731
So it is possible, but what is the real advantage? As I've seen from games, programs, etc. the data is in a separate file (files) and only iconic data in the main executable. Even installers use ~30KB pieces to load the REALLY-BIG (>1Gig) .cab or .dat files.
I can only think of not fragmenting HDD or RAM if this is the problem at hand, but no other advantage just that "its possible" ![]() |
|||
![]() |
|
okasvi
ive tested including over 300mb file in data section and it was bitch to compile but worked ok... i suggest writing it to end of the executable and reading it from there... maybe you can write the lenght of data appended to executable to end of the file as dword...
_________________ When We Ride On Our Enemies support reverse smileys |: |
|||
![]() |
|
Madis731
Maybe you can compile them separately and merge them together later. Assembler would not have to have the duty to insert data (in form of code) to the file.
I figured out where you can use it. You can make one big file that you run and it has an embedded player and video image file. Its protected from ripping because only the program embedded in the exe knows how and where to read the video. |
|||
![]() |
|
Reverend
Madis731: It's no protection to riping. Nowadays we have musicdisks on demoscene ie. .exes with embedded (sometimes even crypted) music. And it's no special problem to rip it. Also you can always have some other program that works as camera
![]() |
|||
![]() |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2020, Tomasz Grysztar. Also on GitHub, YouTube, Twitter.
Website powered by rwasa.