Leading up to this year’s KansasFest, I have been working on a significant
upgrade to the cc65 based Xcode project templates. As before, this is a
way to use Apple’s Xcode development environment to build software projects
in C or 6502 assembly for 8-bit Apple II’s. New in v2.0 is:
- Code completion works now in Xcode. You can even complete functions from
the cc65 standard library and jump to those function definitions in the
headers.
- Syntax colouring for ca65 assembly files is now supported.
- Build errors from the compiler, assembler or linker will be displayed
inline in your source code next to the problematic line.
- Upgraded to the latest versions of ProDOS and AppleCommander.
- In previous versions there was no distinction between builing the project
and running the project. Both would launch your code in the emulator. Now,
you can do a build without launching the project in an emulator or select
run and the emulator will be launched.
- You can easily add drivers from the cc65 project by uncommenting a single
line in the template Makefile. Drivers for lores graphics, hires graphics,
aux memory, joysticks, mouse and serial devices are supported.
- The Makefile template provides a gen phase which executes before all
compiles. If you want to generate code or other data files in your project,
this is now supported.
- You can specify one or more directories in your project which contain
files you want to copy to the disk image at the end of the build. So, if
you have files beyond the executable itself which need to be on the disk
image, you can use this feature to do so.
One feature I have not worked on is to upgrade the underlying cc65 version.
I am worried that may be a bit disruptive and have put it off. If you are
keen to get to a more recent version of cc65, let me know and encourage me
to do that work.
For more information about these project templates and installation
instructions, look here:
https://github.com/jeremysrand/Apple2BuildPipeline
If you want to see how to use these project templates, you can look at my
other repositories from here, most of which are based on this build engine:
https://github.com/jeremysrand