3.1 KiB
3.1 KiB
Начало работы
Что в 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-утилита, упаковывающая.ihxSDCC в SprintEXE.tests/+testkit/— регрессионные программы и host-тесты SDK.app.mk— правила сборки и запуска автономных приложений.docs/{en,ru}/— эта документация.
Первая сборка
cd sprinter-c-v1.0-<host>
make all # пересобрать инструменты, библиотеки и SDK-тесты
Если make жалуется на отсутствующий бинарник SDCC — загрузите его один раз:
make sdcc # скачивает SDCC 4.5 если не vendored
Сборка своей программы
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с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— глубокие нюансы платформы и компилятора (от граблей до подводных камней).