66 lines
3.1 KiB
Markdown
66 lines
3.1 KiB
Markdown
# Начало работы
|
||
|
||
## Что в tarball
|
||
|
||
После распаковки `sprinter-c-v1.0-<host>.tar.gz` вы получаете:
|
||
|
||
* **`bin/sprinter-cc`** — драйвер C → SprintEXE (bash-скрипт).
|
||
* **`third_party/sdcc/`** — vendored SDCC 4.5 для шага C → Z80.
|
||
* **`libc/include/`** — заголовки для подключения в ваших программах.
|
||
* **`lib/sprinter.lib`** — целевая libc для Sprinter (предсобрана; пересобирается через `make`, если изменили исходники libc).
|
||
* **`runtime/`** — варианты crt0 и runtime-помощники (ассемблируются per-build).
|
||
* **`toolchain/mkexe/`** — host-утилита, упаковывающая `.ihx` SDCC в SprintEXE.
|
||
* **`tests/` + `testkit/`** — регрессионные программы и host-тесты SDK.
|
||
* **`app.mk`** — правила сборки и запуска автономных приложений.
|
||
* **`docs/{en,ru}/`** — эта документация.
|
||
|
||
## Первая сборка
|
||
|
||
```sh
|
||
cd sprinter-c-v1.0-<host>
|
||
make all # пересобрать инструменты, библиотеки и SDK-тесты
|
||
```
|
||
|
||
Если `make` жалуется на отсутствующий бинарник SDCC — загрузите его один раз:
|
||
|
||
```sh
|
||
make sdcc # скачивает SDCC 4.5 если не vendored
|
||
```
|
||
|
||
## Сборка своей программы
|
||
|
||
```sh
|
||
cat > hello.c <<EOF
|
||
#include <stdio.h>
|
||
int main(void) {
|
||
puts("Hello, Sprinter!");
|
||
return 0;
|
||
}
|
||
EOF
|
||
|
||
bin/sprinter-cc -o hello.exe hello.c
|
||
```
|
||
|
||
`hello.exe` теперь — корректный SprintEXE, который можно запустить на
|
||
Sprinter / MAME / в любом ESTEX DSS шелле.
|
||
|
||
## Запуск на железе или в эмуляторе
|
||
|
||
Релиз **не содержит** эмулятор MAME или образы ROM / DSS / HDD Sprinter —
|
||
они большие и имеют свои лицензии. Для тестирования:
|
||
|
||
* **MAME:** установите сборку с драйвером Sprinter и подготовьте `MAME_HOME`
|
||
с `sprinter` (новый MAME.HT) или `mame.arm` (прежняя сборка), `roms/`,
|
||
дискетой DSS и системным CHD. `make floppy` создаёт
|
||
локальный диск SDK-тестов; `make run MAME_HOME=/путь/к/runtime` монтирует его.
|
||
* **Реальный Sprinter:** скопируйте `.exe` на флоп или раздел HDD, видимый
|
||
для DSS, затем `RUN HELLO` в шелле.
|
||
|
||
## Что дальше
|
||
|
||
* Прочитайте `sprinter_cc.md` про флаги компилятора.
|
||
* Прочитайте `memory_modes.md` когда не хватит 14 КБ кода.
|
||
* `examples.md` описывает SDK-тесты и отдельный проект Examples.
|
||
* `headers.md` — список публичных API.
|
||
* `platform_reference.md` — глубокие нюансы платформы и компилятора (от граблей до подводных камней).
|