This build environment provides a way to build 8-bit Apple // software in Applesoft BASIC, C or assembly from within Apple’s Xcode development environment under MacOS. This project was built based on the one created by Quinn Dunki but it has been expanded to add the following features:
- You can create Applesoft BASIC, ca65 assembly, cc65 C and Merlin32 assembly projects.
- Attempts to hide all of the infrastructure which you don’t need to modify in a make directory.
- On Mac OS X, Virtual II will start when you do a “build and run” and the emulator will execute your program. This works for all supported Apple configurations with cc65 based projects. It also works with Applesoft and Merlin32 based projects. Also, it uses a hardware configuration which is stored in the make directory in your project. That way, you can modify the hardware configuration to be exactly the config you want to test under.
- To start a new Apple II project in Xcode, select File->New->Project. Under the “Cross-platform” tab, you will see an “Apple II” section with the different project types.
- Code completion works now in Xcode. You can even complete functions from the standard library in cc65 based projects and jump to those function definitions in the headers. Code completion also works in Applesoft and Merlin32 projects.
- Syntax colouring is supported for all project types including assembly files and Applesoft BASIC files.
- 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 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.
With cc65 based projects, the following features are supported:
- Supports linking together multiple C and assembly files. To add a new file to the project, just create a new *.c or *.s file in the project directory.
- If you change a header file, the right source files will rebuild automatically. Header file dependencies are generated during the build.
- Supports all cc65 Apple configurations. So, if you want to target enhanced Apple IIe’s running DOS 3.3, knock yourself out. Just set the configuration you want in the Makefile and the build will do the right thing to create a disk image for that configuration.
- Build errors from the compiler, assembler or linker will be displayed inline in your source code next to the problematic line.
- 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.
- Supports cc65 v2.17 which is available as an easily installed MacOS package.
Watch a demo of the build engine here: