This repository is a short guide to help you create a C application for the Numworks calculator.
makegccg++arm-none-eabi-gccnodejsnpmnwlink
make clean # rm output/
make clean PLATFORM=device # rm output/device/
make clean PLATFORM=simulator # rm output/simulator/make build PLATFORM=device # build the app for the calculator
make build PLATFORM=simulator # build the app for the simulatormake run PLATFORM=device # run the app on the calculator
make run PLATFORM=simulator # run the app on the simulatorLinux is recommended for simplicity. If you use another operating system, edit the Makefile as needed and build the simulator from the Epsilon repository for your platform.
Prebuilt Linux simulator binaries are included in sim/ and should work on most modern x86_64 Linux distributions.
The workspace should look like this:
.
├── assets
│ ├── icon.png
│ └── input.bin
├── Makefile
├── sim
│ ├── epsilon.bin
│ └── libs
│ └── *.a
└── src
├── libs
│ ├── eadk.h
│ ├── macro.h
│ ├── storage.c
│ └── storage.h
├── main.c
└── sim
└── sim_eadk.c
assets/icon.pngis a PNG image (55×56 px) used as the app icon.assets/input.binis an external data file used as the app's external data.Makefileautomates build and run tasks.sim/epsilon.binis the emulator binary.sim/libs/*.aare the static libraries required by the simulator.src/libs/eadk.hdeclares functions to interact with the calculator display, keyboard, and system.src/libs/storage.hprovides functions to use the shared storage on the calculator.src/libs/macro.hsupplies compatibility macros (for example asnprintfoverlay) so the app builds on both x86_64 and ARMv7.src/sim/sim_eadk.cimplements shim functions that make the app behave under the simulator.src/main.cis the application source file.
For more details, see https://nwagyu.org.