-
Notifications
You must be signed in to change notification settings - Fork 1
Building Firmware and Apps
- CMake 3.20 or later
- Ninja
- Python 3
- ARM Embedded GCC and Newlib
git submodule update --init --recursive
cmake -S . -B build -G Ninja \
-DCMAKE_TOOLCHAIN_FILE=cmake/arm-none-eabi.cmake \
-DPICO_BOARD=defcon32_badge
cmake --build buildThe build writes DC32-cfw.uf2, DC32-cfw.bin, and .DC32 apps under build/apps.
cmake --build build --target dcapp_sdk
python tools/build_sd_zip.py \
--apps-output build/SD-apps.zip \
--apps-dir build/apps \
--work-dir build/sd-apps-workdcapp_sdk creates build/DC32-App-SDK-v1.zip, the public SDK package for standalone app authors. The SD app archive contains the /APPS and /ICONS content that belongs on the card.
Use the public SDK instead of firmware-internal addresses. SDK-v1 apps link only through the stable host interface and fixed veneers, so ordinary firmware refactors do not require every app to be rebuilt.
Read SDK v1 App Compatibility for the ABI contract, supported app categories, standalone packaging, and the CMake helper.
The repository includes optional helpers for content that cannot be redistributed with the firmware:
-
python tools/image_converter.pyconverts images and animations to DC32-compatible GIF playback files. -
python tools/build_chips_pack.pybuilds/APPS/chips.pakfrom legally obtained Windows 3.1 Chip's Challenge data. -
python tools/build_openjazz_pack.pybuilds/APPS/openjazz.pakfrom legally obtained Jazz Jackrabbit data.
These helpers do not grant a license to the source material. See Media and Storage for the user-facing content paths and behavior.