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
+144
View File
@@ -0,0 +1,144 @@
*** Area: ZX.SPECTRUM Date: 20 Jan 03 15:48:30
*** From: Ivan Mak (2:5030/529.24)
*** To : Nick Sevryukov
*** Subj: Sprinter
ਢ¥âáâ¢ãî ‚ á, Nick!
<Monday January 20 2003> <00:29> Nick Sevryukov wr®te to Ivan Mak:
NS> Hã â ª ᪠¦¥¬, ¥á«¨ ¢ ¬ è¨­¥ ®à£ ­¨§®¢ ­  16à §à來 ï 設 , â® ¨§
NS> í⮩ ¬ è¨­ë 32à §àï¤­ë© ª®¬¯ âë ­¥ ᤥ« ¥èì, ª ª¡ë ‹ˆ‘ ­¥ ¯¥à¥è¨¢ «.
NS> ˆ«¨ ï § ¡«ã¦¤ îáì?
â® § ¢¨á¨â ®â ⮣®, çâ® ­ §ë¢ âì "32-åp §pï¤­ë¬ ª®¬¯®¬". ‚ ‹ˆ‘ ¯p¨
­¥®¡å®¤¨¬®á⨠¬®¦­® ¨ 128 p §p冷¢ ®p£ ­¨§®¢ âì ¯ p ««¥«ì­®,   ¯®
16-â¨p §p來®© 設¥ ¤ ­­ë¥ £®­ïâì âã¤ë-áî¤ë...
IM>> ‚ë¡®p ¡ë« ᤥ« ­ ¯® ¯p¨­æ¨¯ã: "å®çã ‘¯¥ªâpã¬". ‡­ ç¨â -> Z80.
IM>> € á ¬®â®p®«®© €¬¨£  ¯®«ã稫 áì ¡ë... ‘ ¯¥­â¨ã¬®¬ - –...
NS> Hã ¯®ç¥¬ã áà §ã €¬¨£ , ¬®â®à®«ë ®ç¥­ì ­  ¬­®£¨å ª®¬¯ å áâ®ï«¨,
NS> ¢á¯®¬­¨¬ ª ¯à¨¬¥àã Spectrum QL, €¯«ë2\2…, ¯®â®¬ Œ ª¨­â®è¨ ¨ â.¤.
NS> (¬®¡¨«ì­¨ª¨ :)
H㠢ᥠp ¢­®, íâ® ¦¥ ­¥ â®â ‘¯¥ªâp㬠¡ë« ¡ë! :-)
„㬠«¨ ­ ¤ ¯p®æ ¬¨, p §ã¬¥¥âáï...
NS> Š ¯à¨¬¥àã ¢ ‹¨­ãå¥ á¢®ï ä ©«®¢ ï á¨á⥬ , ­® ¬®¦­® á «î¡®© ¤à㣮©
NS> á¨á⥬ë ä ©«ë ª®¯¨à®¢ âì, â ª çâ® íâ® ­¥ ¯à¨ç¨­ . (ï ª®­¥ç­® ¯®­¨¬ î
NS> ¯®ç¥¬ã íâ® ¡ë«® ᤥ« ­®, ¯à¥¦¤¥ ¢á¥£® ¯® íª®­®¬¨ç¥áª¨¬ ¯à¨ç¨­ ¬, â.ª.
NS> ¨§®¡à¥â âì çâ®-⮠᢮¥ - íâ® ¤®«£®, ¤®à®£® ¨ ¬®¦¥â ¡ëâì ­¥ã¤ ç­®)
€ ¢ ‘¯p¨­â¥p¥ ­¨çâ® ­¥ ¬¥è ¥â ­ ¯¨á âì ᢮î ä ©«®¢ãî á¨á⥬ã.
Ž­  ¦¥ ­¥ ¢ ‡“ § è¨â . ‚ ‡“ § £pã§ç¨ª ⮪¬  :-)
IM>>  ¬ ­¥ âp ¡«ë. ’ ¬ ¯p®áâ® á奬  ¢ ‹Œ ¨¬¥¥â p á¯p¥¤¥«¥­¨¥ ¯ ¬ïâ¨
IM>> ¤® 4Mb ᥩç á. ¥p¥è¨âì á奬ã - ¨ ¡ã¤ãâ 64 (⮫쪮 íâã á奬ã
IM>> ᤥ« âì ­ ¤® á­ ç «  :))
NS> ‘¥©ç á ¯®¤®¡­®© ¯à®è¨¢ª¨ ­¥â.
Hã, íâ® ã ª®£® ª ª :-)))
IM>> ‹ˆ‘ í¬ã« â®p®¬ ­¥ § ¬¥­¨âáï... Hã ª ª ᪠¦¨â¥ ¬­¥ ¬®¦­®
IM>> ¯p®í¬ã«¨p®¢ âì (¢ p¥ «ì­®¬ ¢p¥¬¥­¨!) á奬ã, ¢ ª®â®p®© 1700
IM>> âp¨££¥p®¢ ¨ 1700 «®£¨ç¥áª¨å í«¥¬¥­â®¢ p ¡®â îé¨å ­  ç áâ®â¥ 42MHz
IM>> ¨ ¢ëè¥? „«ï í⮣® á㯥pª®¬¯ ¯®âp¥¡ã¥âáï.
NS> Ÿ ­¥ £®¢®à¨«, çâ® ­ ¤® í¬ã«¨à®¢ âì ‹ˆ‘, ï £®¢®à¨«, çâ® í¬ã«ïâ®à
NS> § ¬¥­¨â ஫ì, ª®â®àãî ã ¢ á  «ìâ¥à®¢áª ï ¬¨ªàãå  ¢ë¯®«­ï¥â, â.¥.
NS> ¨§¬¥­¥­¨¥ ª®­ä¨£ãà æ¨¨ ¨ ¯®¤áâனª  ¯®¤ ¤àã£ãî á¨á⥬ã. (çâ®-⮠⨯ 
NS> £«®¡ «ì­ëå ¯« £¨­®¢).
â® ¢®§¬®¦­®, ­® íâ® á«®¦­®. Š â®¬ã ¦¥, ï ¬®£ã ­ p¨á®¢ âì á奬ã, ª®â®pãî
í¬ã«ïâ®p ¯p¨­æ¨¯¨ «ì­® áí¬ã«¨âì ­¥ ᯮᮡ¥­.
H ¯¨èã, ­ ¯p¨¬¥p, ¢ ‹Œ: SX=LCELL(LCELL(!SX)); RX=DFF(SX,CLK,,);
ˆ ãá¥. ¬ã«ïâ®p á拉⠢ «ã¦ã! (€ ¢ ‹Œ íâ® 0.1% p¥áãpá .)
NS> •®âï ¥é¥ à § ¯®¢â®àî, ॠ«¨§ æ¨ï ­  ¯«¨á¥ ¬­¥ ®ç¥­ì ¯®­à ¢¨« áì
â® å®p®è®, çâ® ¯®­p ¢¨« áì. :) Šáâ â¨, ¨§­ ç «ì­® ¡ë«  ¬ë᫨誠 ¯®áâ ¢¨âì
486-© ¯p®æ â㤠 ¨ í¬ã«¨âì ¢á¥, ¯®â®¬ ®âª § «¨áì... ˆ €«ìâ¥p  ª ª p § ªáâ â¨
¯®¤®è« .
NS> â® ­¨ ᮢᥬ â®, ï £®¢®à¨« ¯à® ¨­â¥««¥ªâã «ì­ãî 設㠭  ¡ §¥
NS> ¬ â¥à¨­ª¨ ®â –, â.¥. í⮠㦥 ¡ã¤¥â ­¥ –,   ­¥ª®â®à ï ­®¢ ï ¬ è¨­ ,
NS> á ­®¢®©  àå¨â¥ªâãன. € ¯« âë, ª®â®àë¥ á¥©ç á áãé¥áâ¢ãîâ, íâ® ¯à®áâ®
NS> à áè¨à¥­¨¥ – ¤® ª ª®£®-«¨¡® ¯à®æ \ª®¬¯ , â.¥. çâ®-⮠⨯  í¬ã«ï,
NS> ⮫쪮 ¢ ¦¥«¥§¥.
—â®-â® ï ᮢᥬ ­¥ ¯®­ï«...
– ¨á¯®«ì§®¢ âì ª  ª®­âp®««¥p HDD, FDD, KBD, MOUSE ¨ â.¯.?
’®£¤ , ⥠¯« âª¨ á €«ìâ¥p ¬¨ ª ª p § ¨ ¯®¤®©¤ãâ.
’ ¬ ¢ €«ìâ¥pã ⮫쪮 ¢¯¨á âì á奬㠭㦭®£® ¯p®æ¥áá®p , PCI ª®­âp®««¥p ,
¯p®£p ¬¬ã ª ­¥¬ã, á®äâ ¯®ªpãç¥, ¨ ¢á¥£® ¤¥«®¢ â®!..
IM>> ˆ ¢ áp¥¤¥ €¬¨£ íâ®â ª®¬¯ìîâ¥p ­¥¨§¢¥áâ­® ªã¤  ã襫 ¡ë. Šp®¬¥
IM>> ⮣®, p §p ¡®â稪 ‘¯p¨­â¥p  €¬¨£ã ¢¨¤¥« ⮫쪮 ¯ pã p § ¢ ¦¨§­¨ ¨
IM>> ­¥ ­  ᢮¥¬ á⮫¥ :-))
NS> Š ª ­ ¯¨á « ¢ëè¥ - ¬®â®à®«  - íâ® ­¨â®«ìª® €¬¨£  (ï â ¬ ¥é¥ § ¡ë«
NS> NeXT ­ ¯¨á âì)
Hã â ª ¢ «î¡®¬ á«ãç ¥ íâ® ­¥ ¡ë« ¡ë ‘¯¥ªâp㬠:)
IM>> Œ®¦­® ¡ë«®. H® ᤥ« «¨ ­  Z80.
IM>> Sprinter-e, ªáâ â¨, ®á­®¢­ ï ¯ ¬ïâì 16-p §p來®© á奬¥
IM>> p §¢¥¤¥­ ,   ¢¨¤¥® ¯® 32-å p §p來®©. p¨ ãá«®¢¨¨, çâ® ¢ ‹Œ
IM>> ¬®¦­® _᢮©_ ¯p®æ¥áá®p § ¯¨á âì, ­ ¢®p®â¨âì ¬®¦­® ­¥ ¬ «®.
NS> ®«ã稫®áì ®ç¥­ì ­¥¯«®å®. ’.¥., ª ª ï ¯®­ï« 設  ¤ ­­ëå ®á­®¢­ ï
NS> 16 à §à來 ï?,   ª ª ⮣¤  á Z80 áªà¥á⨫¨ (¯à®áâ® ¯® ⮩ ¡«®ª-á奬¥,
NS> ª®â®à ï ¢ ¤®ª å ­  ᠩ⥠íâ® ­¨ª ª ­¥ ¯®ª § ­®). € ­  ¢¨¤¥®
NS> 32à §à來 ï 設  ¤ ­­ëå. €  ¤à¥á­ ï 設 , 16à §à來 ï?
’ ¬ áªp¥é¨¢ âì â® ­¥ç¥£®. Œã«ì⨯«¥ªá®p/¤¥¬ã«ì⨯«¥ªá®p 8<->16 ­  設¥ ¨ ¢á¥.
Ž­ ¢­ãâp¨ ‹Œ, ¥áâ¥á⢥­­®. €  ¤p¥á  ­  Z80 - 16, ­  ¢¨¤¥® - 17, ­  SIMM - 24
(¨ ⮦¥ áªp¥é¨¢ îâáï ¢­ãâp¨ ‹Œ).
IM>> ‚®â ⥯¥pì ¯®­ïâ­®. ‚ ‘¯p¨­â¥p¥ â ª ï ®p£ ­¨§ æ¨ï _¢®§¬®¦­ _ ¤ ¦¥
IM>> ᥩç á. H ¤® ¢á¥£®-­ ¢á¥£® 9998 âëá. ¤®«« p®¢ ­  ®¯« âã âp㤠
IM>> p §p ¡®â稪  :-)
NS> Šáâ â¨, ­¥ ¤ã¬ î, çâ® ‘⨢ „¦®¡á ¯®âà â¨« 10 «¨¬®­®¢ ­  á®§¤ ­¨¥
NS> 楫®£® ª®¬¯ãâ¥à  NeXT, ­¥ £®¢®àï 㦥 ®¡ ®¤­®© ¢¨¤îå¥.
Ÿ ¦¥ ­¥ £®¢®pî, çâ® í⮠⮫쪮 ­  ¢¨¤îåã.
H ¤® ¦¥ ¥é¥ ¨ ¬ è¨­ã, ¨ ª¢ pâ¨pã á ¤ ç¥© :-)
NS> …é¥ ®¤¨­ ¢®¯à®á, ï ¯®­¨¬ î, çâ® à áè¨à塞®áâì ‘¯à¨­â¥à  ®ç¥­ì
NS> ¡®«ìè ï, ¨ çâ® ¤ ¦¥ ¢¨¤îåã ¬®¦­® ¤®à®¡®â âì ç¥à¥§ ¯«¨á¨­ã, ­® ã ¢ á
NS> ¢á¥£® ®¤¨­ ‹ˆ‘, ¥á«¨ ®­ ¢á¥¬ ¡ã¤¥â ¤ ¢ âì, â® ¯®«®¬ ¥âáï ªà®¢ âì.
NS> ’.¥. ¥á«¨ ¢ ­¥£® ¢¨¤¥® á¨á⥬ã à áè¨à¨âì, ¯®â®¬ à áè¨à¨âì §¢ãª®¢ãî,
NS> ¯®â®¬ ¤®¡ ¢¨âì á®¯à®æ¥áá®àë, ¯®â®¬ ¨§¬¥­¨âì ª®­ä¨£ãà æ¨î ¤®¡ ¢¨¢
NS> ª®¬ ­¤ë ¤«ï ¯®«­®£® ¨á¯®«ì§®¢ ­¨ï 16à §à來®© è¨­ë ¤ ­­ëå, 墠â¨â «¨
NS> ¥£®? € à áè¨à塞®áâì  àå¨â¥ªâãàë ¢ 楫®¬ á« ¡®¢ -â , â.ª. 設  ¢á¥£®
NS> «¨èì ¨á -8, ¤  ¨ ⮫쪮 ¤¢  á«®â , âãâ ®âªà âãî  àå¨â¥ªâãà㠮ᮡ® ­¥
NS> ¯à¨¬¥­¨âì.
Hã, ¢ á ¬®¬ ªp ©­¥¬ á«ãç ¥, ¥áâì â ª®© ¢ p¨ ­â. H  â® ¦¥ ¬¥áâ®, ¢¬¥áâ® EP1K30
¢á⠥⠋ˆ‘ EP1K50 ¨ EP1K100. ®á«¥¤­ïï, ᮮ⢥âá⢥­­® ¢ 3 p §  ¡®«ìè¥ ç¥¬
â , ç⮠ᥩç á á⮨â.
‘ ¤p㣮© áâ®p®­ë, ¤ ¦¥ ᥩç á ‹ˆ‘ ­¥ ¯®«­®áâìî ¨á¯®«ì§ã¥âáï, å®âï â ¬ ¨
¢¨¤¥®, ª®­âp®««¥p ¯ ¬ïâ¨, ¨ ª®¢®ªá-¡« áâ¥p, ¨ AY, ¨ ᯥªâp㬮¢áª ï ª« ¢¨ âãp ,
¨ ª¥¬¯áâ®­-¬ ãá, ¨ ¢¨¤¥®- ªá¥«¥p â®p, ¨... ¬­®£® ¢á¥£®...
‚ ç áâ­®áâ¨, AY ¬®¦­® § ¬¥­¨âì ­  ¤p㣮© §¢ãª. ‘¯¥ªâp㬮¢áªãî ª« ¢¨ âãpã
ã¡p âì, â ª ª ª ¥áâì ¨ ¤p㣮© ª®­âp®««¥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)