Подготовить автономную сборку и запуск перед разделением проектов

This commit is contained in:
Александр Петров
2026-09-15 23:04:04 +03:00
parent 5323b168a7
commit 0e74aaa7ee
116 changed files with 6908 additions and 333 deletions
+14 -9
View File
@@ -27,9 +27,9 @@ banked-call trampolines, graphics & accelerator API, mouse driver wrappers, and
git clone <this repo> sprinter-c
cd sprinter-c
make sdcc # one-time: fetch SDCC 4.5 binary (~25 MB)
make all # build mkexe + libsprinter.lib + 27 examples
make floppy # pack everything into mame/v306/IMG/mc.img
cd mame/v306 && ./run_mame.sh # boot Sprinter in MAME
make all # build tools, libraries and SDK tests
make floppy # pack tests into build/media/toolkit-tests.img
MAME_HOME=/путь/к/MAME/runtime make run
```
Compile a single program:
@@ -70,7 +70,11 @@ Banked functions are declared with `__banked`:
void engine_tick(int dt) __banked; // lives in BANK1, automatically swapped
```
## Examples (27 total)
## SDK tests and separate examples
Programs listed below live in `tests/` and validate the SDK. Demonstration
applications live in the separate `Examples` repository. Its Makefiles use
`SPRINTER_ROOT` to find this SDK.
| Example | What it demonstrates |
|---|---|
@@ -128,8 +132,9 @@ Sprinter-specific:
## Toolchain commands
```sh
make all # build mkexe + lib + every example
make floppy # repack mame/v306/IMG/mc.img with all .exe files
make all # build mkexe + libraries + SDK tests
make floppy # pack SDK tests into build/media/toolkit-tests.img
MAME_HOME=/путь/к/MAME/runtime make run
make check # 17 mkexe unit-tests
make clean # remove all build artefacts
make sdcc # one-time: fetch SDCC 4.5 binary
@@ -198,8 +203,8 @@ runtime/ crt0 variants (default, minimal, small, banked)
libc/include/ headers
libc/io|stdio|mem|gfx/ C and asm sources for libsprinter.lib
lib/ Makefile that archives libsprinter.lib via sdar
examples/ 27 example programs
mame/v306/ MAME binary + Sprinter ROM/HDD images + floppy script
tests/ SDK regression programs
app.mk shared rules for independent applications
third_party/sdcc/ vendored SDCC 4.5 (fetched via `make sdcc`)
third_party/solid-c/ reference: original Sprinter native C (for compat target)
docs/ documentation
@@ -208,7 +213,7 @@ docs/ documentation
## License
This repository contains:
* Original code in `bin/`, `toolchain/`, `runtime/`, `libc/`, `lib/`, `examples/`
* Original code in `bin/`, `toolchain/`, `runtime/`, `libc/`, `libbgi/`, `lib/`
MIT-licensed.
* `third_party/sdcc/` — SDCC 4.5 under GPLv2 with linking exception
(see `third_party/sdcc/COPYING.txt`)