Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.sys.apple2.programmer > #5620

Re: OMF v1.0?

From Stephen Heumann <stephen.heumann@gmail.com>
Newsgroups comp.sys.apple2.programmer
Subject Re: OMF v1.0?
Date 2020-06-24 22:15 -0500
Organization A noiseless patient Spider
Message-ID <rd14sn$1bc$1@dont-email.me> (permalink)
References <222a4bef-ece6-4522-a4e3-9b299f476f2do@googlegroups.com>

Show all headers | View raw


On 2020-06-24 23:15:40 +0000, Andy McFadden said:
> One thing I can't figure out is why my code in CiderPress 
> (reformat/Disasm.cpp) seems to diverge from the specification in the 
> Workshop Reference book.  Specifically, CiderPress ignores the last few 
> fields (SEGNUM, ENTRY, DISPNAME, DISPDATA, LOADNAME).  Those fields are 
> present in the Object Module Format ERS (the internal doc used while 
> the format was developed).  The description of the VERSION field says:
> 
> "This 1 byte field indicates the version number of the Object Module 
> Format with which the Segment is compatable[sic].  This field should be 
> 1 for the initial specification of the Object Module Format."
> 
> A value of 1 corresponds to v2.0.  So the ERS, from Aug 1986, indicates 
> that v2.0 was the standard when the IIgs shipped.  Perhaps v1.0 was a 
> pre-release thing that only visible to early-access developers?

There seems to be some confusion about version numbers. Appendix B of 
the (16-bit) ORCA/M 2.0 manual contains documentation for OMF and says 
the following:

"There are now three versions of the object module format. The first, 
used with [eight-bit] ORCA/M 4.0, is labeled as version zero in the 
header. The second, used by ORCA/M 4.1 on both eight-bit and 
sixteen-bit Apple II computers, and by early versions of ORCA/M and the 
Apple Programmer's Workshop on the Apple IIGS, has a one as the version 
number. The newest version, version two, is currently used by ORCA/M. A 
variant of this OMF format, known as version 2.1, adds an optional 
field to the end of the header. The optional field is not needed, nor 
is it created, by native development systems, although the ORCA 
utilities and linker will accept OMF 2.1 format files."

It contains diagrams showing the headers for "Version 0", "Version 1", 
and "Version 2.1". I believe version 2.0 would be the same as 2.1, 
except without the extra TEMPORG field (the difference could be 
detected based on DISPNAME).

I think "Version 1", "Version 2.0", and "Version 2.1" (as defined in 
the ORCA/M manual) can all be found in various IIGS programs and 
object/library files.  If you're asking about "Version 0" then AFAIK it 
was never used with IIGS stuff, only with eight-bit ORCA/M 4.0.  
According to the manual, that version is indeed missing the SEGNUM, 
ENTRY, DISPNAME, DISPDATA, and LOADNAME fields.

Incidentally, the even earlier versions of ORCA/M running on DOS 3.3 
apparently used an even earlier version of OMF (pre-"Version 0"), as 
documented in their manual:

https://archive.org/details/stx_Hayden_Software_ORCA-M_Macro_Assembler_manual/page/n277/ 


I haven't tracked down the old eight-bit versions of ORCA/M to get 
examples of the OMF files they generate, but I think that's where you 
would have to look if you want to find them.

-- 
Stephen Heumann

Back to comp.sys.apple2.programmer | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

OMF v1.0? Andy McFadden <thefadden@gmail.com> - 2020-06-24 16:15 -0700
  Re: OMF v1.0? Stephen Heumann <stephen.heumann@gmail.com> - 2020-06-24 22:15 -0500
    Re: OMF v1.0? Stephen Heumann <stephen.heumann@gmail.com> - 2020-06-25 00:33 -0500
      Re: OMF v1.0? Antoine Vignau <ntn.vignau@gmail.com> - 2020-06-24 22:53 -0700
    Re: OMF v1.0? Andy McFadden <thefadden@gmail.com> - 2020-06-25 08:26 -0700
  Re: OMF v1.0? kelvin@pro-kegs.uucp (Kelvin Sherlock) - 2020-06-25 03:08 -0500
  Re: OMF v1.0? olivier.zardini@cooperteam.eu - 2020-06-25 00:14 -0700
    Re: OMF v1.0? Andy McFadden <thefadden@gmail.com> - 2020-06-25 08:42 -0700
    Re: OMF v1.0? Andy McFadden <thefadden@gmail.com> - 2020-06-27 10:25 -0700
      Re: OMF v1.0? Andy McFadden <thefadden@gmail.com> - 2020-07-12 11:29 -0700
        Re: OMF v1.0? geoff body <gbody4@bigpond.com> - 2021-10-12 17:53 -0700
          Re: OMF v1.0? fadden <fadden@fadden.com> - 2021-10-13 15:54 -0700
            Re: OMF v1.0? geoff body <gbody4@bigpond.com> - 2021-10-13 17:14 -0700
              Re: OMF v1.0? fadden <fadden@fadden.com> - 2021-10-13 22:00 -0700
                Re: OMF v1.0? geoff body <gbody4@bigpond.com> - 2021-10-15 21:25 -0700
                Re: OMF v1.0? geoff body <gbody4@bigpond.com> - 2021-10-16 07:47 -0700
                Re: OMF v1.0? geoff body <gbody4@bigpond.com> - 2021-10-16 07:52 -0700
                Re: OMF v1.0? fadden <fadden@fadden.com> - 2021-10-16 15:36 -0700
                Re: OMF v1.0? geoff body <gbody4@bigpond.com> - 2021-10-16 21:33 -0700
  Re: OMF v1.0? geoff body <gbody4@bigpond.com> - 2020-06-25 07:47 -0700
    Re: OMF v1.0? Andy McFadden <thefadden@gmail.com> - 2020-06-25 08:22 -0700
      Re: OMF v1.0? Stephen Heumann <stephen.heumann@gmail.com> - 2020-06-25 13:41 -0500
        Re: OMF v1.0? Andy McFadden <thefadden@gmail.com> - 2020-06-25 13:01 -0700
          Re: OMF v1.0? Stephen Heumann <stephen.heumann@gmail.com> - 2020-06-25 16:44 -0500
            Re: OMF v1.0? Andy McFadden <thefadden@gmail.com> - 2020-06-25 16:41 -0700
              Re: OMF v1.0? geoff body <gbody4@bigpond.com> - 2020-06-26 06:51 -0700

csiph-web