Go to file
Stephen Heumann 085c7c46ca Add support for auto-segmentation.
This is a new feature where the linker will automatically divide the code into load segments, creating as many segments as necessary to fit it. This relieves the programmer from the need to manually figure out how a large program can be divided into segments.

Auto-segmentation is triggered by the use of the special load segment name AUTOSEG~~~. Using this approach (rather than a flag in the OMF header) allows auto-segmentation to be used with all existing languages that provide a mechanism for specifying load segment names.
2022-08-30 19:32:09 -05:00
obj The ORCA Linker 2.0.3 from the Opus ][ CD 2017-10-01 21:26:59 -06:00
backup convert CR files to LF for better git compatibility. 2017-10-02 09:35:05 -04:00
build.ninja add makefile and ninja file for use with Golden Gate. 2017-10-02 16:01:45 -04:00
count convert CR files to LF for better git compatibility. 2017-10-02 09:35:05 -04:00
directpage convert CR files to LF for better git compatibility. 2017-10-02 09:35:05 -04:00
exp.asm convert CR files to LF for better git compatibility. 2017-10-02 09:35:05 -04:00
exp.mac convert CR files to LF for better git compatibility. 2017-10-02 09:35:05 -04:00
file.asm Fix bug in handling of pathname buffers at the very beginning of a bank. 2017-10-08 20:47:06 -05:00
file.mac convert CR files to LF for better git compatibility. 2017-10-02 09:35:05 -04:00
GNUmakefile add makefile and ninja file for use with Golden Gate. 2017-10-02 16:01:45 -04:00
LICENSE The ORCA Linker 2.0.3 from the Opus ][ CD 2017-10-01 21:26:59 -06:00
linker.asm Add support for auto-segmentation. 2022-08-30 19:32:09 -05:00
linker.mac convert CR files to LF for better git compatibility. 2017-10-02 09:35:05 -04:00
linker.notes Add support for auto-segmentation. 2022-08-30 19:32:09 -05:00
linker.rez Add support for auto-segmentation. 2022-08-30 19:32:09 -05:00
linkit convert CR files to LF for better git compatibility. 2017-10-02 09:35:05 -04:00
make Fix the make script to use actual names of macro files. 2021-03-03 23:27:28 -06:00
out.asm Do not report an error when the segment length equals the bank size. 2021-08-26 22:21:44 -05:00
out.mac convert CR files to LF for better git compatibility. 2017-10-02 09:35:05 -04:00
pass1.asm convert CR files to LF for better git compatibility. 2017-10-02 09:35:05 -04:00
pass1.mac convert CR files to LF for better git compatibility. 2017-10-02 09:35:05 -04:00
pass2.asm Give error about excessive alignment at the right time. 2021-03-03 22:53:57 -06:00
pass2.mac Give error about excessive alignment at the right time. 2021-03-03 22:53:57 -06:00
README.md The ORCA Linker 2.0.3 from the Opus ][ CD 2017-10-01 21:26:59 -06:00
seg.asm Add support for auto-segmentation. 2022-08-30 19:32:09 -05:00
seg.mac convert CR files to LF for better git compatibility. 2017-10-02 09:35:05 -04:00
smac convert CR files to LF for better git compatibility. 2017-10-02 09:35:05 -04:00
symbol.asm Fix bugs in handling of symbol table entries at the very beginning of a bank. 2017-10-08 20:46:55 -05:00
symbol.mac convert CR files to LF for better git compatibility. 2017-10-02 09:35:05 -04:00
util.asm Fix check for valid alignment values. 2021-03-03 23:26:08 -06:00
util.mac Fix check for valid alignment values. 2021-03-03 23:26:08 -06:00

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.