flat assembler
Message board for the users of flat assembler.

Index > Compiler Internals > How to download an older version of FASM ?

Author
Thread Post new topic Reply to topic
shutdownall



Joined: 02 Apr 2010
Posts: 518
Location: Munich
shutdownall
Hi,

I wanted to know if it's possible to get an older version of FASM or in the concrete case an older specification of the FAS file format of version 1.69 ?
I think it has changed in newer version 1.70.

I don't want to update now to this version as I made many customized programming on the two versions for FASM-Z80 and FASM-ZX81 for retro programmers (not released yet but in a few weeks I think).

And I think the last functional updates are more or less useless for 8 Bit CPUs.

Thanks for help.
Maybe someone of you has it on the hard disk, would help to post the fas description. By the way, maybe it's a good idea to provide a version info in the fas documentation. Wink
Post 13 May 2012, 19:53
View user's profile Send private message Send e-mail Reply with quote
Tomasz Grysztar



Joined: 16 Jun 2003
Posts: 7756
Location: Kraków, Poland
Tomasz Grysztar
The fas documentation was intended to be version-independent. Note this section:
fas documentation wrote:
If header is shorter than 64 bytes, it comes from a version that does not support dumping some of the structures. It should then be interpreted that the data for missing structures could not be provided, not that the size of that data is zero.
The format of the particular structures does not change from version to version, but new structures may be added by new version and the simply header gets longer.

As for the old versions of fasm, you can find them on the old website.
Post 13 May 2012, 19:57
View user's profile Send private message Visit poster's website Reply with quote
shutdownall



Joined: 02 Apr 2010
Posts: 518
Location: Munich
shutdownall
I did read that but not sure if symbol references is a new feature added to fasm. Would be a good idea to add fas.txt somewhere to the sources. The link to the website didn't really help as 1.69 was not archived nor does the archive contain the manuals. Wink

I will try to interprete the manual myself but would be a better feeling to have a trustable documentation. Shocked
Post 13 May 2012, 20:11
View user's profile Send private message Send e-mail Reply with quote
Tomasz Grysztar



Joined: 16 Jun 2003
Posts: 7756
Location: Kraków, Poland
Tomasz Grysztar
The newer version of this documentation is intended to be more complete and corrected and I wouldn't really want you to use the older one, that's why it's previous stages are not archived.
If there was something there that wouldn't work correctly with older versions, it would be documented as well. The thing is: this document should a base for writing a tools that should work with all .fas files, no matter what version of fasm produced them.
Post 13 May 2012, 20:14
View user's profile Send private message Visit poster's website Reply with quote
shutdownall



Joined: 02 Apr 2010
Posts: 518
Location: Munich
shutdownall
Tomasz Grysztar wrote:
The newer version of this documentation is intended to be more complete and corrected and I wouldn't really want you to use the older one.


Okay, accepted. Very Happy


Tomasz Grysztar wrote:
The thing is: this document should a base for writing a tools that should work with all .fas files, no matter what version of fasm produced them.


You do not really believe this, don't you ? Cool

In fact I don't like to have separate command line tools as I integrate some useful ore needed functions directly in the IDE. So in that case wether previous nor newer versions would really benefit from it. But that's my personal philosophy of how things or tools have to work. Wink
Post 13 May 2012, 20:50
View user's profile Send private message Send e-mail Reply with quote
Tomasz Grysztar



Joined: 16 Jun 2003
Posts: 7756
Location: Kraków, Poland
Tomasz Grysztar
shutdownall wrote:
You do not really believe this, don't you ? Cool
I did think it through. The tools that come with fasm should work with any .fas produced by any version of fasm. The newly introduced high bit fields for values in old versions have simply value 0, so are not a problem.

The idea behind .fas was that it should be some standard format outputted by fasm, so when you follow the specification of this format, you should not have to care about what particular version produced it (though the header contains information about version if you really need it). Just like when you use linker to produce executable from .obj file, you do not expect that the .obj produced by new version of fasm will suddenly be different in such a way that your linker will refuse to work with it. There is a specification for .obj format and it does not depend on what version of what tool is used to produce it.

The same I wanted to have with .fas - I had to devise my own format only because none of the existing debug info format were capable of containing all the data fasm can provide and which can be useful for various purposes. Thus came the idea that fasm should have its own format and then external tools could be provided to produce any other debug info format out of it, when needed (just like objconv can be used to convert objects generated by fasm into format that it doesn't support).
Post 13 May 2012, 21:15
View user's profile Send private message Visit poster's website Reply with quote
shutdownall



Joined: 02 Apr 2010
Posts: 518
Location: Munich
shutdownall
Tomasz Grysztar wrote:

The same I wanted to have with .fas - I had to devise my own format only because none of the existing debug info format were capable of containing all the data fasm can provide and which can be useful for various purposes.


Yes - I agree in that point. FAS has many many data inside as I looked at the documentation. Even in which pass a label has been stored. That is weird but can offer some useful custom features.

In your example with the obj file - well it is not important which version (or which program) created it - every linker will accept it. BUT the object file definition does not change from version to version.
(didn't proove - just assume it)
Post 14 May 2012, 15:10
View user's profile Send private message Send e-mail Reply with quote
Tomasz Grysztar



Joined: 16 Jun 2003
Posts: 7756
Location: Kraków, Poland
Tomasz Grysztar
shutdownall wrote:
In your example with the obj file - well it is not important which version (or which program) created it - every linker will accept it. BUT the object file definition does not change from version to version.
(didn't proove - just assume it)
But that's the version of object file specification then, and this is a different version than the version of the tool itself. If such distinction is needed, then usually specification provides information how you should recognize different versions and what kind of data can you expect in each case.
Post 14 May 2012, 18:20
View user's profile Send private message Visit poster's website 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-2020, Tomasz Grysztar. Also on YouTube, Twitter.

Website powered by rwasa.