Salut Lespotes has documented his workflow for using Golden Gate for cross-development on Windows:
I would like to share with you my experience of cross-development between PC and Apple IIGS using ORCA and Golden Gate. I encountered a few difficulties at the beginning, but with the invaluable help of Kelvin Sherlock (the author of Golden Gate, whom I would like to thank very much), I now have a solution that works very well. Compilation, linking, and deployment to a disk image are automated with a Python program.
From this experience, I have produced a very detailed guide illustrated with simple, ready-to-use examples, which you can find here:
https://github.com/bruno185/Apple-IIGS-cross-dev-with-ORCA-Golden-Gate
Golden Gate 2.1.0 is here!
- QuickASM is supported and included. See more below
- Fixed an issue where opus-extractor only worked with ORCA/C update disk images.
- type-less files in 13: (the library directory) are assumed to be library files, for use with linux environments where file types are not available.
Utilities
- Added an rexport command to generate resource forks for use with Cadius and CiderPress
- Added a tar command. tar, binary ii, shk (uncompressed only) and stuff-it (uncompressed only) are supported. If you actually want to extract shk files, yankit, nulib2, or cidrepress are better options; this is primarily for generating shk files.
GS/OS
ExpandPath
misinterpreted multiple separators (//) after a prefix.
- SANE:
FPCSTR
off-by-one indices fixed.
QuickAsm
QuickAsm (aka QAsm) is a merlin-16+ compatible assembler, linker, and IDE developed by Shawn Quick in the early 1990s. The source code was made available on GitHub a few years back and Golden Gate has, secretly, included QuickAsm support for a while now. Shawn has graciously agreed to allow me to distribute the binaries so they are now included as well.
iix qasm asm.file.S
- assembles a merlin/qasm source file.
iix qlink link.file.S
- executes a merlin/qasm linker script
iix qasml asm.file.S
- runs the quicklinker (assemble and link a single file)
Support files are located in the QASystem directory.
See the QASM docs for more information.
I’ve also included updates macros (from https://github.com/roughana/supermacs) and toolbox equates.
Golden Gate 2.0.9 is here!
- Fixed an issue with the MacOS installer package disliking ARM.
- MacOS installer is now code-signed and notarized.
- Fixed an issue loading some very old OMF v1 files.
GS/OS
- Fixed an issue with the
FastFileLoad
\r\n conversion improperly collapsing \n\n or \r\r lines.
Golden Gate 2.0.8 is here!
- The 65816 emulator now accurately emulates undocumented emulation mode behavior of (dp,x) and plb. Not that it should matter.
- opus-extractor will automatically identify ORCA/C update disk images and behave appropriately (no warnings about missing files or fiddling with the command line to specify a directory).
- (Win32) There is now a separate installer for x64 windows. You may want to update your $PATH environment variable to remove the 32-bit version (Settings -> Advanced System Settings -> Environment Variables… -> System Variables -> Path.)
- Time Zone Tool:
GetTimePrefs
implemented.
- Time Zone Tool:
Offset2TimeZoneString
implemented.
- Time Zone Tool:
TimeZoneString2Offset
implemented.
- Time Zone Tool: Fixed some incorrect tool numbers (preventing
StartUp
/ShutDown
/Status
/Version
calls from working).
- SANE:
FX2DEC
improvement.
GS/OS
- FastFileLoad converts \r\n to \r so ORCA/C, etc. line numbers will be correct (and \ line joining works correctly).
Patches
- The Rez/DeRez patches were not always being applied correctly, due to intermittent dangling memory references.
Utilities
- Added the
md5
command. sha1
is of course, more secure, but md5
is 25% fewer characters to type.
- Added the
hexdump
command, which like like the usual hexdump command (but without custom format strings). However, it does feature a -r
flag to dump the resource and a -7
flag to strip the high bit when displaying ASCII.
occ
- Added
--std
flag to select the C version. occ --std=help
to list options. (Requires ORCA C 2.2.0)
- The
-f
flag (which was previously mapped to #pragma float
) now selects individual code optimizations, ala gcc and clang. occ -fhelp
to list options. #pragma float
can still be enabled via --float
or -ffpe-float
- The
-W
flag was added to specify individual warnings (errors, really) to enable, ala gcc and clang. occ -Whelp
to list options.
- occ now passes in the
+F
flag to ORCA C, which, as of 2.2.0, displays the filename when printing a diagnostic error.
- The
--verbose
, -I includefile
and -D define
options are now supported with the rez compiler.
After 6 years of development, 7 betas, 1,153 commits, and hundreds of bug fixes, ORCA C 2.2.0 is now available.
Stephen Heumann gave an overview of the update in his A24EVR presentation.