https://github.com/devkitpro/calico
RTOS-like bare metal platform support library for Nintendo GBA and DS(i)
https://github.com/devkitpro/calico
Last synced: 8 months ago
JSON representation
RTOS-like bare metal platform support library for Nintendo GBA and DS(i)
- Host: GitHub
- URL: https://github.com/devkitpro/calico
- Owner: devkitPro
- License: other
- Created: 2020-05-22T16:23:23.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2025-05-11T20:43:04.000Z (9 months ago)
- Last Synced: 2025-06-09T18:18:04.590Z (8 months ago)
- Language: C
- Homepage:
- Size: 919 KB
- Stars: 20
- Watchers: 7
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: COPYING
Awesome Lists containing this project
README
# calico
Calico is a system support library currently focused on the Nintendo DS(i). It provides operating system-like facilities for homebrew applications, and serves as a new foundation for libnds (and DS homebrew in general). Its main features include:
- Multitasking system, providing threads (inspired by Horizon). Scheduling is preemptive and based on multiple priority levels, similar to real-time operating systems.
- Synchronization primitives: mutex, condition variable, mailbox.
- Interrupt and timed event handling.
- Low-level support bits for integration with devkitARM (crt0, linker scripts, syscall implementations).
- Message passing between the two processors (ARM9 and ARM7).
- New device drivers for ARM7 peripherals, with programming interfaces accessible from the ARM9:
- Power management, including sleep mode and application lifecycle management
- Touch screen (both DS mode and DSi mode)
- Real-time clock
- Audio and microphone
- Storage devices, including DLDI and DSi SD/eMMC
- Wireless communications (Mitsumi/NDS and Atheros/DSi)