You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Go to file
Stephen Heumann 850952d612 Treat ORG records as giving a signed offset from the current location.
This is the way they are defined in the GS/OS Reference, as well as the way they seem to be used by all assemblers and all other linkers that I could check (ORCA/M, MPW AsmIIGS, Apple LinkIIGS, old ORCA/APW LINKED, 8-bit ORCA linker).

Previously, this linker treated ORG records as giving an absolute address to ORG to (but with a bug in the address computation). The OMF spec in appendix B of the ORCA/M manual defines them this way, but this is inconsistent with the spec in the GS/OS Reference and with the way ORG records are generated by ORCA/M itself (for an ORG *+expression directive). Therefore, I think this is just an error and the specification in the GS/OS Reference should be regarded as correct.

We still do not support going backward (using a negative ORG operand). Trying to do so will just give an error.
6 months ago
obj The ORCA Linker 2.0.3 from the Opus ][ CD 6 years ago
GNUmakefile add makefile and ninja file for use with Golden Gate. 6 years ago
LICENSE The ORCA Linker 2.0.3 from the Opus ][ CD 6 years ago
README.md The ORCA Linker 2.0.3 from the Opus ][ CD 6 years ago
backup convert CR files to LF for better git compatibility. 6 years ago
build.ninja add makefile and ninja file for use with Golden Gate. 6 years ago
count convert CR files to LF for better git compatibility. 6 years ago
directpage convert CR files to LF for better git compatibility. 6 years ago
exp.asm Properly evaluate non-constant expressions in EQU/GEQU records. 6 months ago
exp.mac convert CR files to LF for better git compatibility. 6 years ago
file.asm Fix bug in handling of pathname buffers at the very beginning of a bank. 6 years ago
file.mac convert CR files to LF for better git compatibility. 6 years ago
linker.asm Add support for auto-segmentation. 7 months ago
linker.mac convert CR files to LF for better git compatibility. 6 years ago
linker.notes Treat ORG records as giving a signed offset from the current location. 6 months ago
linker.rez Add support for auto-segmentation. 7 months ago
linkit convert CR files to LF for better git compatibility. 6 years ago
make Fix the make script to use actual names of macro files. 2 years ago
out.asm Set position-independent flag only if it is set in all object segments. 7 months ago
out.mac convert CR files to LF for better git compatibility. 6 years ago
pass1.asm Treat ORG records as giving a signed offset from the current location. 6 months ago
pass1.mac convert CR files to LF for better git compatibility. 6 years ago
pass2.asm Treat ORG records as giving a signed offset from the current location. 6 months ago
pass2.mac Give error about excessive alignment at the right time. 2 years ago
seg.asm Add support for auto-segmentation. 7 months ago
seg.mac convert CR files to LF for better git compatibility. 6 years ago
smac convert CR files to LF for better git compatibility. 6 years ago
symbol.asm Avoid spurious errors when evaluating EQU/GEQU expressions. 6 months ago
symbol.mac convert CR files to LF for better git compatibility. 6 years ago
util.asm Fix check for valid alignment values. 2 years ago
util.mac Fix check for valid alignment values. 2 years ago

README.md

Linker

Apple IIGS ORCA Linker, a link editor for the Apple IIGS object module format

If you would like to make changes to this linker and distribute them to others, feel free to submit them here. If the changes apply to compilation on and for an Apple IIGS, they will generally be approved for distribution on the master branch. For changes that run on a different platform, the project will either be forked or a new repository will be created, as appropriate.

The general conditions that must be met before a change is released on master are:

  1. The modified linker must compile under the currently released version of ORCA/M.

  2. The ORCA compilers must pass their test suites using the new linker, or the test suite must be suitably modified, too.

Contact support@byteworks.us if you need contributor access.

A complete distribution of the ORCA languages, including installers and documentation, is available from the Juiced GS store at https://juiced.gs/store/category/software/. It is distributed as part of the Opus ][ package.