Add full compiler toolchain, libc, examples and reference docs

First substantive commit: the entire Sprinter C compiler tree on top of
the bare README+gitignore initial commit.

What's in here:
  bin/sprinter-cc        — driver script invoking SDCC + linker + mkexe
  libc/                  — Sprinter-specific libc layer over ESTEX/BIOS
                           (conio, gfx, io, mem, stdio + headers)
  runtime/               — crt0 variants (default/small/banked/minimal)
                           + heap + bank trampolines
  toolchain/             — mkexe (SprintEXE packer, C + tests)
  examples/              — 30 demo programs (gfx, file I/O, env, time, …)
  lib/Makefile           — builds the libc archive (sprinter.lib)
  docs/                  — converted Sprinter manuals + asm reference samples
  third_party/           — solid-c reference compiler dump + sdcc setup script
  release_docs/          — packaging / release notes

gitignore overhaul:
  • Drop dangerous blanket patterns: *.asm (would hide docs/samples/*.asm)
    and *.exe (case-insensitive match was hiding third_party/solid-c/*.EXE
    on macOS APFS).  Replaced with examples/*/*.{asm,exe,…} and lib/*.lib.
  • Restore tracking of toolchain/mkexe/tests/{one,big}.bin — those are
    INPUT fixtures, not build outputs.
  • Collapse the duplicated SDCC/C/Sdcc sections into one section per
    concern (build outputs / vendored / OS-junk).
  • Add .sprinter-cc-*/, build/ (catches lib/build/ too), .claude/.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-06-03 16:13:21 +03:00
parent f542608b3f
commit c71e249a4e
404 changed files with 75155 additions and 58 deletions
+100
View File
@@ -0,0 +1,100 @@
*** Area: ZX.SPECTRUM Date: 23 Jan 03 19:09:32
*** From: Ivan Mak (2:5030/529.24)
*** To : Vadik Akimoff
*** Subj: Sprinter
ਢ¥âáâ¢ãî ‚ á, Vadik!
<Wednesday January 22 2003> <20:36> Vadik Akimoff wr®te to Ivan Mak:
IM>> € ¥é¥ ¬®¦­® ¡ë«® ¢ €¬¥p¨ªã ᢠ«¨âì (¯p¥¤«®¦¥­¨ï ¡ë«¨).
VA> ˆ ¯®ç¥¬ã, ¨­â¥à¥á­®, ­¥ ᢠ«¨«?
®â®¬ã çâ® ï ¤ãp ª,   ¤ãp ª¨ ¢  ¬¥p¨ª¥ ­¥ ­ã¦­ë...
IM>> ‘âp ­­®, çâ® ‘¯p¨­â¥p ¨§ ‘¯¥ªâp㬠 ᤥ« ­,    ¬¨£®¢áª¨¥ ç¨¯ë ­¥
IM>> ¯®«®¬ âë... Ÿ ç¥, ®¤¨­ §  ¢á¥å ®â¤ã¢ âìáï ¤®«¦¥­?
VA> Hã ¤ ,   âë ª ª ¤ã¬ «? ˆ«¨ ¯®«ñâ ⢮¥© ä ­â §¨¨ ¢ ª®­â㯥à®áâ஥­¨¨
VA> ®£à ­¨ç¥­ á¯à¨­â¥à®¬? :-))
•¨-å¨-å¨...
"§  ¤¢ã¬ï § ©æ ¬¨ ¯®£®­¨èìáï - ­¨ ®¤­®£® ­¥ ¯®©¬ ¥èì" (c) ­ p¬ã¤p...
IM>> H®p¬ «ì­ë¥ ª 祬ã? H®p¬ «ì - íâ® ®â­®á¨â¥«ì­®¥ ¯®­ï⨥...
IM>> ˆ ¯®ª ¦¨â¥ § ®¤­® ¬­¥ á¥âì ­  _­®¢®¬_ ª®¬¯ìîâ¥p¥...
VA> ‡ ¯à®áâ®. ¥àñ¬ âã á ¬ãî ¤¨áª¥âªã á qnx'®¬ ¨ áãñ¬ ¢ ¤¨áª®¢ñàâ. ˆ«¨ ¦¥
VA> ¯¨è¥¬ ¡ãâ®¢ë© æ¤ á, ­ ¯à¨¬¥à, «¨­ã宬, ¯®â®¬ á ­¥£® ¡ã⨬áï. Ÿ íâ® ª
VA> 祬ã ᪠§ « - çâ® â ª®© ª®­â㯥à, ª ª á¯à¨­â¥à, ᬮâà¨âáï
VA> ­¥á¥àìñ§­® ¡¥§ ¯®¤¤¥à¦ª¨ ᨤ¨¢®¤  ¨ 㦠®á®¡¥­­® á¥â¨/¨­¥â /å®âï ¡ë
VA> ¬®¤¥¬  á 䨤®á®ä⮬ :)
’ë ® ¢®¯p®á  ­¥ ¯®­ï«.
‘®äâ ¤«ï ‘¯p¨­â¥p  ¯¨è¥âáï ¨ cd-rom 㦥 ¯®¤¤¥p¦¨¢ ¥âáï ¤ ¢­®.
H® p¥çì ® ¬®¬¥­â¥ ¢p¥¬¥­¨, ª®£¤  á¯p¨­â¥p ¡ë« ¢ ¢¨¤¥ 謮⪠ á ¯p®¢®¤ ¬¨ _¡¥§_
¯p®£p ¬¬, ª®£¤  ­  ­¥¬ ­¨ç¥£® ­¥ p ¡®â «®, ®ªp®¬ï TR-DOS-  ¢ p¥¦¨¬¥
ᮢ¬¥á⨬®á⨠ᮠ‘¯¥ªâp㬮¬.
’ ¬ å®âì çâ® ¢áâ ¢«ï© (®ªp®¬ï ᯥªâp㬮¢áª®£®) ¢ ¤¨áª®¢®¤ - ¢á¥ p ¢­® ­¥
§ p ¡®â «® ¡ë...
€ ¤ «ìè¥ âë ¯p¥¤« £ ¥èì ¨§®¡p¥á⨠®¯¥p æ¨®­­ãî á¨á⥬ã (ª ª¨¥ «¨­ãªáë ¢
96-¬?), ¨§®¡p¥á⨠䠩«®¢ãî á¨á⥬ã, áâ ¢¨âì ¤p㣮© ¯p®æ. (p §p ¡ â뢠âì í¬ã«ì
Z80)... ¨ â.¤...
H® 室 ¡ë« ᤥ« ­ ¯® «¨­¨¨ ­ ¨¬¥­ì襣® ᮯp®â¨¢«¥­¨ï. ‚§ïâì ¨§¢¥áâ­ ï ä ©«®¢ ï
á¨á⥬  ¨ ᤥ« ­  ¥¥ ¬¨­¨¬ «ì­ ï ¯®¤¤¥p¦ª  ¢ ‡“ TR-DOS- ... (¨, ï ­ ¯®¬­î,
çâ® ¢ â® ¢p¥¬ï p¥çì è«  ® ­®¢®¬ ‘¯¥ªâp㬥,   ­¥ ­®¢®¬ ª®¬¯ìîâ¥p¥). ®á«¥ 祣®
¯p®¤®«¦ «®áì p §¢¨â¨¥ ¬ è¨­ë ¨ ¯ p ««¥«ì­® ­ ç « áì p §p ¡®âª  Ž...
IM>> € ®­® ¬­¥ § ç¥¬? Ÿ ­¥ p¢ãáì ­  ‘¯p¨­â¥p¥ – ¬ã«¨âì...
VA> ‡ â¥¬, çâ® «î¤¨ ¡ã¤ã⠤㬠âì, ªã¤  ¨¬ ¢«®¦¨âì ¤¥­ì£¨ - ¢ á¯à¨­â¥à ¨«¨
VA> ¢® çâ®-â® ¤à㣮¥ (­ ¯à¨¬¥à, ¯æ)...
‚®â ¨ ¯p¥ªp á­®. ‚ë¡®p ¤®«¦¥­ ¡ëâì...
VA> Ÿ ¢®â ¯à® çâ® - âë ¯à¨¬¥à á 㬭®¦¥­¨ï¬¨ ¯à¨¢ñ«, ç⮡ë 'è ¯ª 
VA> ᫥⥫ '? ˆ«¨ âë ¨¬¥« ¢ ¢¨¤ã çâ®-â® ®á¬ëá«¥­­®¥? ¯ë4 ¢®­ ¨ ¯®¡®«¥¥ ­ 
VA> ¯®à冷ª (  â® ¨ ­  ¤¢ ) 㬭®¦¥­¨© ¬®¦¥â ¢ ᥪ㭤㠤¥« âì, ¨ çâ® á
VA> ⮣®?
Ÿ ¨¬¥« ¢ ¢¨¤ã ª®­ªp¥â­ë© ¯ p ¬¥âp, ª®â®pë© ¢ ‹Œ ¤®á⨦¨¬. ’.¥. ¯p¨¢¥«
å p ªâ¥p¨á⨪ã, ª®â®pãî ¬®¦­® á 祬-â® áp ¢­¨âì ¨ ᤥ« âì ¢ë¢®¤.
(€ á ¬ ¢ë¢®¤ ï ­¥ ­ ¢ï§ë¢ î.)
IM>> ‡ ç¥¬? â® _­¥ ¬®©_ ¯p®æ¥áá®p.
VA> Šáâ â¨, âë âãâ à á᪠§ë¢ « ® ᢮¨å ã¯à ¦­¥­¨ïå ¢ ¯à®æ¥áá®à®áâ஥­¨¨
VA> ¤«ï á¯à¨­â¥à . ‘¯¥æ¨ä¨ª æ¨¨ 㢨¤¥âì ¬®¦­®? ˆ«¨ ®¯ïâì £­¨«®© ¯¨ à?
—â® ¨¬¥­­® ¯®¡¨â­ãî á¨á⥬㠪®¬ ­¤? - íâ  ¢¥éì ­¥ ãáâ ­®¢¨¢è ïáï. ‘¨á⥬ 
¬¥­ï¥âáï "®¤­¨¬ p®áç¥pª®¬ ¯¥p ", â.¥. ¯¥p¥è¨¢ª®© ‹Œ.
…᫨ ¯p®áâ® ­ ¡®p ª®¬ ­¤, â® íâ® ­ ¡®p ¯p®á⥩è¨å ¯p¨¬¨â¨¢®¢ ï§ëª  FORTH
 ¡®â  á® á⥪®¬: DUP, DROP, OVER, SWAP, LIT
 ¡®â  á® á⥪®¬ ¢®§¢p â®¢: R>, >R, R@, R-1 (R> 1- >R)
“á«®¢­ë¥/¡¥§ãá«®¢­ë¥ ¯¥p¥å®¤ë: BRANCH, ?BRANCH, EXIT, ?EXIT, ADINT (CALL)
€p¨ä¬¥â¨ª /«®£¨ª : ADD,SUB,ADC,SBC,AND,OR,XOR,MUL_STEP,INC,DEC,SHL,SHR...
‘¯¥æ.ª®¬ ­¤ë: (p ¡®â  á 㪠§ â¥«ï¬¨ á⥪®¢, ¨ ¢­ãâp¥­­¥© ¯ ¬ïâìî ¬¨ªp®ª®¬ ­¤).
p®á⥩訥 ª®¬ ­¤ë ¨á¯®«­ïîâáï §  â ªâ. ‘⥪¨ ¢­ãâp¥­­¨¥, ¯®í⮬㠢á直¥
DUP/DROP ¨ â.¯. ®¤­®â ªâ­ë¥... — áâ®â , ª ª ¨ £®¢®p¨«, 14MHz...
â® ­¥ ¯®«­ë© ­ ¡®p. —â®-â® ¬®£ ¨ ã¯ãáâ¨âì, çâ®-â® ­¥ ᪠§ âì.
Žâ¤ ¢ âì ¨á室­¨ª¨ ¯p®æ¥áá®p  - ­¥ ¡ã¤ã. Ž­¨ ¤¥­¥£ áâ®ïâ...
à®â®áë á¡¥¦ «¨. ‡¥à£¨ § ª®¯ «¨áì. ®à  ¨ ¬­¥ § ªà㣫ïâìáï. Ivan.
-  §¢®¤¨áì á奬ª , ¡®«ìè  ¨ ¬ «¥­ìª ... [Sprinter] Sprinter-II [Forth-CPU]
... ivan_mak@mail.ru * http://winglion.spb.ru * http://www.petersplus.ru
--- GoldED+/386 1.0.0
* Origin: The Sprinter has You! (2:5030/529.24)