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
+155
View File
@@ -0,0 +1,155 @@
*** Area: ZX.SPECTRUM Date: 6 Apr 01 15:54:00
*** From: Alex Goryachev (2:5030/529.56)
*** To : Sergey Krinitsin
*** Subj: Sprinter News
ΰ¨Ά¥βαβΆγξ, Sergey!
AG>> ISA2ZX), CGA ¬®­¨β®ΰ, ⥫¥Ά¨§®ΰ α® SCART, ¬ £­¨β®δ®­.
>€ CGA § η¥¬? ƒ¤¥ ¥£® ¨α βμ? H®Άλε ¤ Ά­® ­¥ Άλ―γα ξβ. —β® ―®γ― βμ
>ΰ §Ά «ξεγ Άλ―γι¥­­γξ 20 «¥β ­ § ¤?
‚®β ­  νβ®β α«γη © ¨ ―p¥¤γᬮβp¥­ Ά p¨ ­β ¨α―®«μ§®Ά ­¨ο ⥫¥Ά¨§®p .
>‚λ ®¬¥ΰη¥α ο δ¨ΰ¬ .   Άλ ΅γ¤¥β¥ ―®¤¤¥ΰ¦¨Ά βμ νβ¨ε ―ணࠬ¬¨αβ®Ά?
>㤥⥠¨¬
>―« β¨βμ? «¨ ―®γ― βμ ¨ε ―ΰ®£ΰ ¬¬λ ¤«ο
>¤ «μ­¥©θ¥© ΰ¥ «¨§ ζ¨¨? «¨ ε®βο΅λ …‘‹€’H ―।®αβ Ά¨β¥ ¨¬ ®¬―
>(―®«­®ζ¥­­λ©,
>  ­¥ ―ΰ®αβ® ―« βγ) ¤«ο ΰ ΅®βλ? ‘®¬­¥Ά ξαμ.
€ §pο.
Sprinter (®¬―μξβ¥p Ά α΅®p¥) ¨ p ­μθ¥ ―p¥¤®αβ Ά«ο«αο,   β¥―¥pμ ΆαΆο§¨ α
 β¨Ά¨§ ζ¨¥© p ΅®β ­ ¤ ―p®¥β®¬ ­ ¬¨ § ―« ­¨p®Ά ­® Ά®§®΅­®Ά¨βμ ―®¤®΅­γξ
―p β¨γ.
“α«®Ά¨ο ―p¥¤®αβ Ά«¥­¨ο ®¬―μξβ¥p  ―p®£p ¬¬¨αβ ¬ β ®Άλ:
1. H «¨η¨¥ § ®­η¥­­λε ―p®¥β®Ά ―p®δ¥αᨮ­ «μ­®£® γp®Ά­ο ­   ®©-«¨΅®
®¬―μξβ¥p­®© ―« βδ®p¬¥.
2. p¥¤Ά p¨β¥«μ­®¥ ¨§γη¥­¨¥ Ά®§¬®¦­®α⥩ Sprinter-  ¨ ¤®γ¬¥­β ζ¨¨ ―®
―p®£p ¬¬¨p®Ά ­¨ξ.
3. H «¨η¨¥ ―p®¥β  ―¥pα―¥β¨Ά­®£® ―p®£p ¬¬­®£® ―p®¤γβ .
4. H «¨η¨¥ ―®¤p®΅­®£® ―« ­  p ΅®β, α γ § ­¨¥¬ νβ ―®Ά ¨ αp®®Ά Άλ―®«­¥­¨ο.
‘ ―p®£p ¬¬¨α⮬ § «ξη ¥βαο ¤®£®Ά®p.
® ®®­η ­¨ξ p ΅®β ®¬―μξβ¥p «¨΅® Ά®§Άp ι ¥βαο δ¨p¬¥, «¨΅® ¨¤¥β Ά § η¥β
®―« βλ.
® ¤®£®Ά®p¥­­®αβ¨ ¨ ¨αε®¤ο ¨§ ®¬¬¥pη¥α®© ζ¥­­®αβ¨ ―p®£p ¬¬­®£® ―p®¤γβ ,
α®§¤ ­­ ο ―p®£p ¬¬  ¬®¦¥β ΅λβμ «¨΅® γ―«¥­  α® Άα¥¬¨ ―p Ά ¬¨, «¨΅® ―p¨­οβ  ­ 
p α―p®αβp ­¥­¨¥.
®Άβ®pοξ, νβ  α奬  㦥 ­¥ p § ―p®Ά¥p¥­ . € ―p®Ά¥p¨βμ ¥¥ α ¬®¬γ ­¨ηβ® ­¥
¬¥θ ¥β.
>‘®§¤ ¥βαο Ά―¥η β«¥­¨¥, ηβ® Ά θ  δ¨ΰ¬  § βΰ β¨Ά ®―।¥«¥­­λ¥
>α।αβΆ  (¨¬ε® ᮢᥬ ­¥ ΅®«μ訥), ―λβ ¥βαο «ξ묨 α―®α®΅ ¬¨ α΅ £ΰ¨βμ ®¬―
> 
>¬®¦­® ΅®«μ襬γ η¨α«γ «ξ¤¥©, ­ ¤¥οαμ ­  ―ΰ¨β®
>ε «οΆ­®£® α®δβ , ηβ®΅λ ¥ι¥ ΅®«¥¥ γΆ¥«¨η¨βμ ―ΰ®¤ ¦¨. H® ¬ θ¨­ 
>΅¥§ α®δβ , §  β γξ ζ¥­γ, ¬ «® ®£® ¬®¦¥β § ¨­β¥ΰ¥α®Ά βμ.
>β® Ά¨¤­® ¨§ ⮣®, ηβ® §  ­¥α®«μ® «¥β Ά ¬ γ¤ «®αμ ―ΰ¨Ά«¥η ­  αΆ®ξ
>―« βδ®ΰ¬γ β®«μ® 25 ―®«μ§®Ά β¥«¥©.
H¥ ΅γ¤γ ®΅p ι βμ Ά­¨¬ ­¨¥ ­  ¨§Άp ι¥­­®¥ ―p¥¤αβ Ά«¥­¨¥ ®¬¬¥pη¥α¨ε 楫¥©
­ θ¥© δ¨p¬λ.
H θ¨ p αη¥βλ αΆο§ ­λ α ⥬, ηβ® Sprinter ΅γ¤¥β ¨¬¥βμ β ®© α®δβ, ®β®pλ©
¨§¬¥­¨β α®®β­®θ¥­¨¥ ζ¥­ / η¥αβΆ® Ά ―®«μ§γ ―®α«¥¤­¥£®. ―γβοε ―®«γη¥­¨ο ν⮣®
α®δβ  ο ―¨α « ¨ §¤¥αμ ¨ p ­¥¥. H® ―®  ¥£® ­¥β Ά ¤®αβ β®η­®¬ ®«¨η¥αβΆ¥ ¨
 η¥αβΆ¥, ¬λ ¨ ­¥ Ά¥¤¥¬ p¥ημ ® ­ η «¥ ®¬¬¥pη¥α¨ε ―p®¤ ¦.
 §®Άλ¥ ―®γ―¨ Sprinter-  ­¥ Ά αη¥β (―p¨΅λ«μ ®β ­¨ε ­¥αγι¥αβΆ¥­­ ), «ξ¤¨
¤¥« ξβ Ά ΅®«μθ¨­αβΆ¥ αΆ®¥¬ ®α¬λα«¥­­γξ ―®γ―γ, ¨ ¨α室οβ ¨§ αγι¥αβΆγξι¨ε
¤®α⮨­αβΆ ®¬―μξβ¥p ,   ­¥ ¨§ p¥« ¬­λε ®΅¥ι ­¨©.
…᫨ β®-β® ¥ι¥ ­¥ §­ ¥β 楫¨ ­ θ¥£® ®΅ι¥­¨ο Ά νβ®© ®­δ¥p¥­ζ¨¨, β® ―®οα­ξ,
ηβ® ®­  α®α⮨⠭¥ Ά ―®¨α¥ ―®γ― β¥«¥©,   Ά ¦¥« ­¨¨ ―®§­ ®¬¨βμ
¨­β¥p¥αγξι¨εαο α® Sprinter-®¬, α ®¤­®© αβ®p®­λ, ¨ ­ ©β¨ «ξ¤¥©, ¦¥« ξι¨ε
―®γη αβΆ®Ά βμ Ά ―p®¥β¥, α ¤pγ£®©. λ αβ p ¥¬αο α®§¤ βμ γα«®Ά¨ο ¤«ο
®΅®ξ¤®Άλ£®¤­®£® α®βpγ¤­¨η¥αβΆ .
AG>> …᫨ £®Ά®ΰ¨βμ ® β¥ε­®«®£¨¨ Ά 楫®¬, β® ¤®¬ θ­¨© ®¬―μξβ¥ΰ -
AG>> νβ® β®«μ® α ¬®¥ ΅«¨§®¥ ¨ ®η¥Ά¨¤­®¥ ­ ―ΰ Ά«¥­¨¥. ‚
AG>> ―¥ΰα―¥β¨Ά¥ Ά®§¬®¦­® ―®οΆ«¥­¨¥ ®΅«¥£η¥­­λε γαβΰ®©αβΆ
AG>> α―¥ζ¨ «μ­®£® ―ਬ¥­¥­¨ο. “ ­¨ε ΅γ¤γβ δγ­ζ¨®­ «μ­λ¥
AG>> ®£ΰ ­¨η¥­¨ο, ­® § β® ¨ α⮨¬®αβμ β ¨ε γαβΰ®©αβΆ ΅γ¤¥β
AG>> αγι¥αβΆ¥­­® ­¨¦¥.
>‚λ 㦥 ―ΰ¥§¥­β®Ά «¨ ®΅«¥£η¥­­γξ ―« βγ α αγ―¥ΰᨤ®© Ά 10$.
β® ­¥ ᨤ ,   p §­¨ζ  Ά α⮨¬®αβ¨. « β  Light ―®§Ά®«ο¥β ―®γ― β¥«ξ
ακν®­®¬¨βμ ­  Ά®§¬®¦­®αβ¨ p ΅®βλ α ISA γαβp®©αβΆ ¬¨, ®β®pλ¥ ¥¬γ ­¥ ­γ¦­λ
(¥α«¨ ®­¨ ­¥ ­γ¦­λ).
’¥ε­®«®£¨ο ―p®¨§Ά®¤αβΆ  ―®«­®© ¨ ®΅«¥£η¥­­®© ―« βλ ­¨ 祬 ­¥ ®β«¨η ¥βαο,
β®«μ® ­¥ γαβ ­ Ά«¨Ά ξβαο ­¥®β®pλ¥ ν«¥¬¥­βλ. Sp2000-Light ¬λ ―« ­¨p㥬
¨§£®β Ά«¨Ά βμ β®«μ® ­  §  §.
AG>> β¨ γαβΰ®©αβΆ  ΅γ¤γβ ¤ΰ㣨¬¨ ¨ Ά­γβΰ¥­­¥
AG>> ¨ Ά­¥θ­¥.
> ¨¬¥βμ α®Ά¬¥α⨬®αβμ β®«μ® ­  γΰ®Ά­¥ ®¬¬ ­¤ ―ΰ®ζ¥αα®ΰ ? :)
 §Ά¥ ο £®Ά®p¨«, ηβ® ®­¨ ¤®«¦­λ ¨¬¥βμ α®Ά¬¥α⨬®αβμ?   ο ¬®¦¥β ΅λβμ
α®Ά¬¥α⨬®αβμ γ "γβξ£ " ¨ "ε®«®¤¨«μ­¨ "? p®¬¥ p §Ά¥ ηβ® ­¥β®Άα¨ε
¤p ©Ά¥p®Ά... :)
¥ημ Ά¥¤μ ­¥ ® ¬®¤¥«οε ®¬―μξβ¥p®Ά, ¥αβμ ¨ ¤p㣨¥ γαβp®©αβΆ .
AG>> H ―ਬ¥ΰ ­β¥ΰ­¥β-―ΰ¨αβ Ά  ¤®¬ θ­¥¬γ
AG>> ⥫¥Ά¨§®ΰγ. …© ­¥ βॡγ¥βαο ―®¤¤¥ΰ¦  ΅®«μθ¥£® η¨α« 
AG>> ―¥ΰ¨δ¥ΰ¨¨, ­¥ ­γ¦­  αβ ­¤ ΰβ­ ο « Ά¨ βγΰ  ¨ £ΰ®¬®§¤¨©
AG>> ®ΰ―γα, ­® α®Ά¥ΰθ¥­­® ­¥®΅ε®¤¨¬® ­ «¨η¨¥ δ«νθ-― ¬οβ¨.
>€ ΅γ¤¥β «¨ Ά θ  "­¥ αβ ­¤ ΰβ­ ο" « Ά¨ βγΰ  α⮨βμ ¤¥θ¥Ά«¥ α ¬®© «¥Ά®©
>'θ­®© « Άλ?
­β¥p­¥β-―p¨αβ Ά¥ Ά®®΅ι¥ ­¥ ­γ¦­  « Ά¨ βγp  Ά ―p¨Άλη­®¬ Ά¨¤¥ (⥬ ΅®«¥¥
«¥Ά ο). ‚Ά®¤ β¥αβ®Ά®© ¨­δ®p¬ ζ¨¨ (­ ―p¨¬¥p URL) ¬®¦­® ®αγι¥αβΆ«οβμ α ―®¬®ιμξ
¤¦®©αβ¨  ¨«¨ ¨£p®Ά®£® ―γ«μβ  (θ¨p®® p α―p®αβp ­¥­­λε) η¥p¥§ Ά¨pβγ «μ­γξ
« Ά¨ βγpγ ­  νp ­¥.
AG>> ‚­ η «¥ ­ ¤® ΰ §®΅ΰ βμαο, § η¥¬ ⥡¥ ­γ¦¥­ ®¬―μξβ¥ΰ, ―®β®¬
AG>> αΰ Ά­¨βμ ―®βॡ­®αβ¨ α Ά®§¬®¦­®αβﬨ  ¦¤®© ®­ΰ¥β­®©
AG>> ¬®¤¥«¨,   § β¥¬ β®«μ® ΰ¥θ βμ ­γ¦¥­ ¨¬¥­­® νβ®β ®¬―μξβ¥ΰ
AG>> ¨«¨  ®©-β® ¤ΰγ£®©.
>€ ηβ® ­  α¥£®¤­¥θ­¨© ¤¥­μ ¬®¦¥β Sprinter ஬¥ ξ§ ­¨ο α―¥βΰ㬮Άα®£®
>α®δβ ?
H ¤® Ά¨¤¥βμ,   Sprinter ¬®¦¥β p ΅®β βμ α® α―¥®Άα¨¬ α®δ⮬! ‘®p®αβμ p ΅®βλ
α―¥βp㬮Άα¨ε ―p®£p ¬¬, 㤮΅αβΆ® ¨ε εp ­¥­¨ο ¨ ¤®αβγ―  ­¨¬, Ά®§¬®¦­®αβμ
¨¬¥βμ ­¥α®«μ® α―¥βpγ¬-α®Ά¬¥α⨬λε ®¬―μξβ¥p®Ά Ά ®¤­®¬... νβ® β®«μ® ®¤¨­
¨§ p¥¦¨¬®Ά p ΅®βλ Sprinter- . H θ ®­αβpγβ®p Ivan Mak ­¥ §pο ―p¥¤« £ ¥β «ξ¤ο¬
Ά« ¤¥ξ騬 ¨­δ®p¬ ζ¨¥© ® ¦¥«¥§¥ MSX ―®¤¥«¨βμαο ¥ξ. …αβμ ―¥pα―¥β¨Ά  α®§¤ ­¨ο
p¥¦¨¬  ν⮣® ®¬―μξβ¥p .
€ Ά¥¤μ ¥αβμ ¥ι¥ ―p®£p ¬¬λ ­ ―¨α ­­λ¥ ­¥―®αp¥¤αβΆ¥­­® ¤«ο α ¬®£® Sprinter- .
ε ­¥¬­®£®, ­® ®­¨ α®§¤ ξβαο ¨ Ά ¤ ­­γξ ¬¨­γβγ.
€ ¥ι¥ Ά®§¬®¦­®αβμ p ΅®β βμ α® αβ ­¤ pβ­®© α®Άp¥¬¥­­®© ―¥p¨δ¥p¨¥©. H ―p¨¬¥p,
p ΅®β βμ α £¨£ ΅ ©β­λ¬¨ Ά¨­β ¬¨, α«γθ βμ ¬γ§λγ α ®¬― β®Ά, εp ­¨βμ ­  ­¨ε
 pε¨Άλ.
>®βp¥΅­®αβ¨ ―®«μ§®Ά β¥«ο 㦥 ―¥p¥η¨α«ο«¨αμξ ‚λ £®β®Άλ ¨ε
>㤮Ά«¥βΆ®p¨βμ΅ ¨«¨ α ¦¥β¥ ‘ β ¨¬¨ § ―p®α ¬¨ ®΅p ι ©β¥αμ
>―p®¨§Ά®¤¨β¥«ο¬ ,
®«μθ¨­αβΆ® ¨§ ν⮣® ¬®¦­® p¥ «¨§®Ά βμ, Ά®―p®α β®«μ® Ά® Άp¥¬¥­¨. —¥¬ ΅®«μθ¥
祫®Ά¥ ΅γ¤¥β γη αβΆ®Ά βμ Ά ―p®¥β¥, ⥬ ΅λαβp¥¥ p αθ¨pοβαο Ά®§¬®¦­®αβ¨
Sprinter- .
AG>> ᮦ «¥­¨ξ, ¤®«£®¥ Άΰ¥¬ο ―ΰ¨ α®§¤ ­¨¨ Sprinter-  ®΅ΰ β­ ο
AG>> αΆο§μ ΅λ«  ­¥ΰ¥£γ«οΰ­®© ¨ ­¥ γη¨βλΆ « αμ, ―® ΅®«μ讬γ
AG>> αη¥βγ.
>‘βΰ ­­®, ⮣¤  § η¥¬ ―஥⠡뫮 ­ η¨­ βμ?
β® Ά®―p®α ­¥ ζ¥«ο¬ p ΅®βλ ­ ¤ ―p®¥β®¬,   ®p£ ­¨§ ζ¨¨ νβ®© p ΅®βλ.
‚ ο­Ά p¥ ν⮣® £®¤  ―p®¨§®θ«¨ ¨§¬¥­¥­¨ο, ­ ―p Ά«¥­­λ¥ ­  p¥θ¥­¨¥ ¨ ―p®΅«¥¬λ
αΆο§¨ α ―®«μ§®Ά β¥«ο¬¨, Ά ⮬ η¨α«¥. H θ¥ ®΅ι¥­¨¥ Ά νβ®© ®­δ¥p¥­ζ¨¨ η αβμ
νβ¨ε γᨫ¨©.
“¤ η¨!
Alex Goryachev.
[ZX]...[Sprinter]...
---
* Origin: PETERS PLUS LTD (2:5030/529.56)