[Coco] pacos9 ported to lwtools
Bill Pierce
ooogalapasooo at aol.com
Sat Feb 8 09:59:06 EST 2014
Tormod,
The edition is not used by anything, though it is included in the initial parity check when a program is loaded. It's just there for ID puposes. In OS9 (any vers/level & any executable program) run "ident" on a program module. You will see the "edition" number listed. You will also see the revision number displayed in combination with the attribute byte (usually "8x", x being the rev)
This info has NOTHING to do with the actual program or it's running and as far as I know, OS9 does not use it. It's there as an internal "edition" and "revision" number to ID different versions from each other so you do not have to rename the different "editions" to reflect build changes.
A sort of "version control" or "diff" if you will.
It may have been originally used on the original assembler/compiler systems used by Microware to make the os9 system (for version control). I seem to remember a 3rd party OS9 assembler that used to advertise the ability to "update" the "edition/revision" automatically as you made changes in the source and run it through the assembler.
I do know that it's a "required" part of a module header and will be "zeroed" if you omit it in the source. Otherwise the program will crash due to "incorrect header parity" (I think).
Bill Pierce
"Today is a good day... I woke up" - Ritchie Havens
My Music from the Tandy/Radio Shack Color Computer 2 & 3
https://sites.google.com/site/dabarnstudio/
Co-Webmaster of The TRS-80 Color Computer Archive
http://www.colorcomputerarchive.com/
Co-Contributor, Co-Editor for CocoPedia
http://www.cocopedia.com/wiki/index.php/Main_Page
E-Mail: ooogalapasooo at aol.com
-----Original Message-----
From: Tormod Volden <lists.tormod at gmail.com>
To: CoCoList for Color Computer Enthusiasts <coco at maltedmedia.com>
Sent: Sat, Feb 8, 2014 5:22 am
Subject: Re: [Coco] pacos9 ported to lwtools
On Sat, Feb 8, 2014 at 7:40 AM, Bill Pierce wrote:
>
> Wayne, in going through litterally hundreds of C and asm sources in the past 2
years, I completely disagree with you.
> I see asm sources with the edition byte set to various values all the time,
usually reflecting the edition of the program.
> In compiling C or RMA programs, when running the linker you specify -e=xx to
set the edition in the compiled program.
> You can also set the revision number in asm programs by using the lower 4 bits
of the attr byte, usually ReEnt+rev on program files.
revision number != edition
For instance, pacos9 sets an EDITION symbol in the source which is not
referenced anywhere. Maybe RMA/RLINK did something magic with it, but
lwtools seems to ignore it.
> -----Original Message-----
> From: Wayne Campbell
> Sent: Sat, Feb 8, 2014 12:38 am
>
> The Edition byte in 6809 OS9 is a little different. First, while the
> documentation says it is part of the header, it is actually the first byte
> after the module name string. This means it is the first byte of the
> execution offset address (or the I-Code area address in a Basic09 module).
> In either case, it is something that many 6809 OS9 programmers seemed to
> get along without and never used.
I can confirm that ToolShed os9 ident reads the edition from the byte
following the name string.
But I don't think it is correct to say it is the first byte of the
execution offset address. The execution offset is in the header, while
the name string is in the body somewhere. In the pacos9 example, as
linked with lwtools, the module name is the very last part of the
body, so the shown "edition" is the first byte of the CRC.
Tormod
--
Coco mailing list
Coco at maltedmedia.com
http://five.pairlist.net/mailman/listinfo/coco
More information about the Coco
mailing list