Provides an interface to use AI on a classic Macintosh (built for System 7.0.1 - should work on others).
- Retro68 toolchain for cross-compiling to classic Mac OS
- Mini vMac or Basilisk II for running the application
- clang-format and clang-tidy for code formatting and static analysis (optional)
This project uses a simple Makefile for common operations:
# Build the application
make build
# Run the application in Mini vMac
make run
# Clean build artifacts
make clean
# Format all C/C++ code
make format
# Run static analysis on all C/C++ code
make lintYou can find the output .dsk and .bin files in the dist/ folder. Simply drag the .dsk file onto your Mini vMac to test.
# Specify a custom Retro68 build path
make build RETRO68_PATH=/path/to/Retro68-build
# Use Basilisk II instead of Mini vMac
make run USE_BASILISK=ON
# Change the application name (default is "App")
make build APP_NAME=MyApp
# Combine options
make build RETRO68_PATH=/path/to/Retro68-build USE_BASILISK=ON APP_NAME=MyAppYou will need to set up LaunchAPPL.cfg as documented here. Currently this supports Mini vMac and Basilisk II (I personally use Mini vMac for simplicity).
This doesn't seem to work super well for Mini vMac at the moment due to how it copies the .app file and Gatekeeper on modern macOS.
This project uses clang-format and clang-tidy to maintain code quality:
- clang-format: A tool to automatically format C/C++ code according to configurable style guides
- clang-tidy: A static analysis tool that provides additional diagnostics beyond what the compiler offers
Configuration files:
.clang-format: Defines the C/C++ code style (indentation, spacing, etc.).clang-tidy: Defines static analysis rules and checks
You can run the formatting and linting tools through:
- Makefile targets:
make formatandmake lint - CMake targets:
cmake --build build --target formatandcmake --build build --target lint
When contributing to this project, please format your code before submitting changes:
# Format all C/C++ files according to the project style
make format
