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
+185
View File
@@ -0,0 +1,185 @@
*** Area: ZX.SPECTRUM Date: 19 Jan 03 17:33:52
*** From: Ivan Mak (2:5030/529.24)
*** To : Nick Sevryukov
*** Subj: Sprinter
ਢ¥âáâ¢ãî ‚ á, Nick!
<Sunday January 19 2003> <00:31> Nick Sevryukov wr®te to Ivan Mak:
IM>> "— áâ¨ç­®¥" - íâ® ¬ï£ª® ᪠§ ­®. ‘­ p㦨 ®â ‹ˆ‘€ ¢ ‘¯p¨­â¥p¥
IM>> ⮫쪮 ¯p®æ, ¯ ¬ïâì ¨ ¯®pâë. ‚ᥠ®áâ «ì­®¥ ¢­ãâp¨, â ª çâ®
IM>>  på¨â¥ªâãpã ¯®ç⨠¯®«­®áâìî ¬®¦­® ¯®¬¥­ïâì.
NS> „ëª ­¥â,  àå¨â¥ªãâà  § ¢ï§ ­  ­  ¯à®æ¥ ¨ £« ¢­®¥ ˜ˆH…! ‹ˆ‘ ­¥
NS> ¬®¦¥â ­¨ª ª ¨§¬¥­¨âì 設ã. (­® ¢® ¢á类¬ á«ãç ¥ ¢ ‘¯à¨­â¥à¥) ®í⮬ã ï
NS> ¨ ᪠§ « ç áâ¨ç­®.
H¥.. á â ª¨¬ "®¯p¥¤¥«¥­¨¥¬  på¨â¥ªâãpë"...
˜¨­  - íâ® ¢á¥£® «¨èì ¨­â¥pä¥©á ª ¢­¥è­¨¬ ãáâp®©á⢠¬ (¢­¥è­¨¬ ®â­®á¨â¥«ì­®
¯« âë ª®¬¯ìîâ¥p ...) H® ¥áâì ¥é¥ ¨ ¢­ãâp¥­­¨¥ ãáâp®©á⢠, ª®â®pëå ® ¯®¡®«¥,
祬 設­ëå ¡ãä¥p®¢.
NS>>> ‚®®¡é¥¬ ¢á¥ ªàãâ®!
IM>> â á ¬®¥ ¯p ¢¨«ì­®¥ § ¬¥ç ­¨¥! :-)
NS> :) á ¬  ¨¤¥ï ¢ ‘¯à¨­â¥à¥ ®ç¥­ì å®à®è ï, ­® ¨­â¥à¥á­®, ¯®ç¥¬ã ¡ë«
NS> ¢ë¡à ­ 8à §ïà¤­ë© ¯à®æ? € 祬 32à ¬®â®à®«  ­¥ ãáâந«  ¢ á?(ª ¯à¨¬¥àã)
‚ë¡®p ¡ë« ᤥ« ­ ¯® ¯p¨­æ¨¯ã: "å®çã ‘¯¥ªâpã¬". ‡­ ç¨â -> Z80.
€ á ¬®â®p®«®© €¬¨£  ¯®«ã稫 áì ¡ë... ‘ ¯¥­â¨ã¬®¬ - –...
IM>> ’ãâ ­ ¤® ᪠§ âì, çâ® § ¯ã᪠âì ¬®¦­® ­¥ ⮫쪮 spectrum.exe, ­®
IM>> ¨ doom.trx, ¨ video.trd, ¨ ¥é¥ ­¥ ¬ «® ¤pã£¨å ¯p®£p ¬¬ (®á®¡¥­­®
IM>> forth.exe :))
NS> ^^^^^^^^^
NS> H¥ç¥áâ­® :) à®áâ® ¯® áã⨠¬ë ª ª ¨ ¢ – § ¯ã᪠¥¬ í¬ã«ì ᯥªª¨
NS> ᯥªâàã¬.¥å¥.
‡ ¤ ç  spectrum.exe ⮫쪮 ¢ ⮬, çâ® ¡ë ¦¥«¥§® ¯¥p¥ª®­ä¨£ãp¨âì ¨ ¯®¤£p㧨âì
‡“ ¤«ï Z80,   ¤ «ìè¥ p ¡®â ¥â ¢á¥ ª ª ¢ ‘¯¥ªâp㬥,   ­¥ ¢ í¬ã«¥, â.¥. Z80
¨á¯®«­ï¥â ª®¬ ­¤ë ŸŒŽ...
NS>>> ( ï ­¥ ¯®­¨¬ î, ¥á«¨ ¢ë¡¨à âì ®¯¥à æ¨®­ªã, § ç¥¬ ¦¥ ­  á⮫쪮
NS>>> á«¥¯® á ¬á-¤®á  ª®¯¨à®¢ âì?
IM>> € ®­® ¨ ­¥ á«¥¯® ᪮¯¨p®¢ ­®.
NS> Hã ¯®­¨¬ î, ­® ®ç¥­ì ¯®å®¦ .
…᫨ ã p §p ¡®â稪  ­  á⮫¥ áâ®ïâ ‘¯¥ªâp㬠¨ –, çâ® ¯®«ãç¨âáï :-))
ˆ§ MS-DOS ¡ë«  ¢§ïâ  â®«ìª® ä ©«®¢ ï á¨á⥬ , ®áâ «ì­®¥ - ᢮¥...
€ ¢§ïâ  ¤«ï ⮣® çâ® ¡ë ¯p®áâë¬ ¯¥p¥¤¥£¨¢ ­¨¥¬ ¢¨­ç¥áâ¥p  ¬®¦­® ¡ë«® ¢á¥ çâ®
㣮¤­® á – ­  ‘¯p¨­â¥p ¯¥p¥­¥áâ¨. ˆ ®¡p â­® ⮦¥...
IM>> ... ¯ ¬ïâì 4mb - ¬¨­¨¬ã¬! ˆ ¤® 64mb... ¬®¦­® ¢®âª­ãâì...
NS> 64Œ ¢à®¤¥ ¯®ª  ­¥«ì§ï ¨«¨ ï ®è¨¡ îáì? ’ ¬ ¢à®¤¥ âà ¡«ë ¥áâì
NS> ®¯à¥¤¥«¥­­ë¥
’ ¬ ­¥ âp ¡«ë. ’ ¬ ¯p®áâ® á奬  ¢ ‹Œ ¨¬¥¥â p á¯p¥¤¥«¥­¨¥ ¯ ¬ï⨠¤® 4Mb
ᥩç á.
¥p¥è¨âì á奬ã - ¨ ¡ã¤ãâ 64 (⮫쪮 íâã á奬ã ᤥ« âì ­ ¤® á­ ç «  :))
IM>> ¯p® ¢¨¤îªã ­ ¤® ¤®¡ ¢¨âì, çâ® 256 梥⮢ ¨§ 16¬«­ ã ¥£®!
NS> ‚¨¤îå  â ¬ ®à¨£¨­ «ì­ ï, ª ª ï ¯®­ï«.
…áâ¥á⢥­­® :)
NS> ޤ­®¢à¥¬¥­­ ï ¯®¤¤¥à¦ª  ­¥áª®«ìª¨å ०¨¬®¢ ­  ®¤­®¬ íªà ­¥. (Šáâ â¨
NS> ¢¨¤îå  íâ® ®â¤¥«ì­ë© à §£®¢®à, ¬­¥ ­à ¢¨âáï ¨¤¥ï ¢¨¤¥®á¨áâ¥¬ë ª®â®à ï
NS> ¡ë«  ¢ NeXT`¥)
€ çâ® ¡ë«® ¢ NeXT-e? (a, ­¨¦¥ ­ ¯¨á ­®, ¢¨¦ã...)
[¯p® §¢ãª]
NS> „ , ­® ¢­ãâਠ‹ˆ‘  ï ­¥ áç¨â î §  ᮡá⢥­­ãî §¢ãª. á¨á⥬ã, â.ª.
NS> â㤠 ¬®¦­® ç⮠㣮¤­® § ¯¨å­ãâì. € ¢®â çâ® –€ 16à §àï¤­ë© íâ® ¯«îá.
€£  :) ˆ â® çâ® ®­ áâ¥p¥® ¥é¥ ®¤¨­ ¯«îá.
IM>> ‰®! Ÿ ­¥ ï! â® ¦¥ PC ¯®«ãç¨âáï,   ­¥ Sprinter! 8:-( )
IM>> ®ª ¦¨â¥ ¬­¥ ¢ PC ¬¨ªp®á奬ã, ¢ ª®â®pãî ¬®¦­® _᢮© ¯p®æ¥áá®p_
IM>> ¢áâ ¢¨âì?
NS> € ¢®â ⥯¥àì á ¬®¥ ¨­â¥à¥á­®¥, ¯à¨ â ª®© ª®­ä¨£ãà æ¨¨, ¥á«¨ ¡ë« ¡ë
NS> ­ ¯¨á ­ å®à®è¨© í¬ã«ì ¬®¦­® ¯®«ãç¨âì 100% í¬ã«ïæ¨î ‘¯à¨­â¥à  ¤ ¦¥ ¯®
NS> å à¤¢ à­ë¬ ¢®§¬®¦­®áâï¬, â.ª. ã ­¥£® 設  â ª ï ¦¥ ª ª ¨ ­  –. ˆ ¤«ï
NS> â ª®© ¬ è¨­ë à®«ì ‹ˆ‘  á ãᯥ宬 § ¬¥­¨â í¬ã«ïâ®à.
‹ˆ‘ í¬ã« â®p®¬ ­¥ § ¬¥­¨âáï... Hã ª ª ᪠¦¨â¥ ¬­¥ ¬®¦­® ¯p®í¬ã«¨p®¢ âì (¢
p¥ «ì­®¬ ¢p¥¬¥­¨!) á奬ã, ¢ ª®â®p®© 1700 âp¨££¥p®¢ ¨ 1700 «®£¨ç¥áª¨å í«¥¬¥­â®¢
p ¡®â îé¨å ­  ç áâ®â¥ 42MHz ¨ ¢ëè¥? „«ï í⮣® á㯥pª®¬¯ ¯®âp¥¡ã¥âáï.
IM>> …áâì í¬ã«ïâ®p ‘¯p¨­â¥p  ­  x86, ⮫쪮 ¥¬ã ¯®ª  ¥é¥ pãçªã ®â £¨p¨
IM>> ¯¨«¨âì ¨ ¯¨«¨âì,   ¯®â®¬ ¥é¥ ¨ ᠬ㠣¨pî ¯¨«¨âì ¯p¨¤¥âáï... Œ®¦¥â
IM>> ¨ p á¯¨«¨âáï ¯ï⨣¨£ £¥p殢®© ­®¦®¢ª®©...
NS> ’ ª ¢®â ¥á«¨ ¡ë ¥£® áà §ã ¯¨«¨«¨, ⮠१ã«ìâ â ¡ë« ¡ë â ª®© ¦¥,
NS> ª ª ¨ á å à¢ à­ë¬ á¯à¨­â¥à®¬, â.¥ ¬ë ¯®«ãç ¥¬ ¤ ¦¥ å à¢ à­ãî
NS> ᮢ¬¥á⨬®áâì
H¥- ... ¬ã«ì ZX-Spectrum-  ᪮«ìª® ¯¨á âì?
€ á奬  Spectrum-128 (¡¥§ ­ ¢®p®â®¢) ¢ ‹Œ §  ®¤¨­ ¤¥­ì «¥£ª® ¯¨è¥âáï
á ç ¥¯¨â¨ï¬¨ ¨ £ã«ï­¨ï¬¨ ¯® FIDO :-)
IM>> ¥p¥§ £p㧪  áå¥¬ë ¢ ‘¯p¨­â¥p¥ ¢®§¬®¦­  ­¥ ⮫쪮 ¯p¨ ¢ª«î祭¨¨,
IM>> ­® ¨ _¢ «î¡®© ¬®¬¥­â p ¡®âë_ ¯p®£p ¬¬ë!
IM>> 0.5 á¥ªã­¤ë ¨  på¨â¥ªâãp  ¬ è¨­ë ¯®«­®áâìî ¨§¬¥­¨« áì!
NS> € íâ® ­¥«ì§ï ᤥ« âì ¢ í¬ã«¥?
®ª  ­¥ ᤥ« ­®. ˆ ï ­¥ 㢥p¥­, çâ® ¬®¦­®... ‘ª ¦¥¬, ï ¡¥pã ‹Œ ¨ ¢¯¨å¨¢ î ¢
­¥¥ á奬ã, ª®â®p ï ¢ë¯®«­ï¥â 42¬«­. 㬭®¦¥­¨© ¢ ᥪ㭤ã (íâ® ­¥ª¨©  ¯¯ p â­ë©
 ªá¥«¥p â®p),   ¯ p ««¥«ì­® á ­¥© Z80 p ¡®â ¥â...
IM>> ëâ «¨áì. ’®«ìª® ¢á¥ ¯®¯ë⪨ â ª ¯®¯ë⪠¬¨ ¨ ®áâ «¨áì. ‚ á¥p¨î
IM>> ­¨ç¥£® ­¥ ãè«®. "„¥è¥¢«¥ ‘¯p¨­â¥p " - í⮠⮫쪮 ª ¦¥âáï. € ¢
IM>> p¥ «ì­®á⨠®ª §ë¢ ¥âáï ¤¥è¥¢«¥ ¯p®æ¥­â®¢ ­  20, ¬®¦¥â, §  áç¥â
IM>> "ª®æ ­¨ï 墮á⮢ á奬ë", â ª çâ® á¬ëá«  ¢ ⮬ ¨ ­¥â.
NS> à®áâ® ï íâ® £®¢®à¨« ª ⮬ã, çâ® ¬®¦­® ¡ë«® ¡ë ¨á¯®«ì§®¢ âì ¬ âì
NS> ®â ¯¥­â  ª ª ¢ë᮪®¨­â¥««¥ªâã «ì­ãî 設ã á ª®­â஫«¥à ¬¨,  
NS>  àå¨â¥ªâãàã áâநâì 㦥 ᢮î, ­  ¯®¤®¡­®© 設¥. Œ­¥ ª ¦¥âáï â ª®¥ ¥é¥
NS> ­¨£¤¥ ­¥ ¯à¨¬¥­ï«¨.
‘¥©ç á ¥áâì ªãç  p §­ëå ª pâ®ç¥ª, ª®â®pë¥ ¨¬¥îâ ­  ¡®pâã ‹ˆ‘, ¯ ¬ïâì ¨ p §­ë¥
¨­â¥p䥩áë. Œ®¦­® ¨ ­  íâ®â pë­®ª ¢«¥§âì, ­® í⮠㦥 ­¥ ‘¯p¨­â¥p ¯®«ãç¨âáï.
‚ ¨­â¥p­¥â¥ ¬®¦­® ªãçã ¨­äë ¯® ­¨¬ ­ ©â¨. ˆ 業­¨ª¨ :-)
IM>> [Forth-CPU]
NS> ^^^^^^^^^^^
NS> íâ® ¬®¦­® ¢ ‹ˆ‘¨­¥ ᤥ« âì...
Œ®¦­®. ˆ ­¥ ⮫쪮 ¬®¦­®. H® ¨ ᤥ« ­®... :-)
NS> ‡›† Šáâ â¨ ¢®¯à®á¨ª ¯®¢â®àî ¥é¥ à §®ª. ®ç¥¬ã ¡ë«  ¢ë¡à ­ 
NS> 8-¡¨â­ ï  àå¨â¥ªâãà ?
®â®¬ã çâ® å®â¥«¨ ¯®«ãç¨âì ‘¯¥ªâpã¬.
NS> Ÿ ­¥ ¤ã¬ î, çâ® ¬®â®à®«®¢áª¨© 32-à §àï¤­ë© ¯à®æ á⮨« ¡ë ­ ¬­®£®
NS> ¤®à®¦¥.
ˆ ¢ áp¥¤¥ €¬¨£ íâ®â ª®¬¯ìîâ¥p ­¥¨§¢¥áâ­® ªã¤  ã襫 ¡ë. Šp®¬¥ ⮣®, p §p ¡®â稪
‘¯p¨­â¥p  €¬¨£ã ¢¨¤¥« ⮫쪮 ¯ pã p § ¢ ¦¨§­¨ ¨ ­¥ ­  ᢮¥¬ á⮫¥ :-))
NS> € ¢®â ᮢ¬¥á⨬®áâì á ¤à㣨¬ ¯à®æ®¬\ àå¨â¥ªâãன ¤¥« âì á ¯®¬®éìî
NS> ¯¥à¥§ £à㧪¨ ‹ˆ‘ . à®áâ® ¯®«ã稫¨ ¡ë ¡®«¥¥ è¨à®ª¨¥ ¢®§¬®¦­®á⨠¯à¨
NS> í¬ã«ï樨 ¨«¨ á®§¤ ­¨¨ ¤à㣮©  àå¨â¥ªâãàë, â.ª. 設  ¡ë«  ¡ë 32
NS> à §à來®© (¨  ¤à¥á®¢ ¨ ¤ ­­ëå).
Œ®¦­® ¡ë«®. H® ᤥ« «¨ ­  Z80.
Sprinter-e, ªáâ â¨, ®á­®¢­ ï ¯ ¬ïâì 16-p §p來®© á奬¥ p §¢¥¤¥­ ,   ¢¨¤¥® ¯®
32-å p §p來®©. p¨ ãá«®¢¨¨, çâ® ¢ ‹Œ ¬®¦­® _᢮©_ ¯p®æ¥áá®p § ¯¨á âì,
­ ¢®p®â¨âì ¬®¦­® ­¥ ¬ «®.
NS> € ⥯¥àì ¯à® ¢¨¤¥®á¨á⥬ã, ï ­ ¯¨á «, çâ® ¬­¥ ­à ¢¨âáï ¨¤¥ï ¢ NeXT`¥.
NS> „«ï â¥å, ªâ® ­¥ ¢ ªãàá¥, à á᪠¦ã, çâ® â ¬ ¡ë«® ­ ¢ â®à᪮£®. „«ï
NS> à ¡®âë á íªà ­®¬ ¯à¨¬¥­ï«áï ᢮© ¤®áâ â®ç­® ¬®é­ë© ï§ëª(â.¥. áâ®ï«
NS> ®â¤¥«ì­ë© ¯à®æ, ª®â®àë© ®¡à ¡ â뢠« í⨠ª®¬ ­¤ë), íâ®â ï§ëª ¯® á¬ëá«ã
NS> ­ ¯®¬¨­ ¥â PostScript, ª®â®àë© ¤«ï ¯à¨­â¥à®¢ ᥩç á ¨á¯®«ì§ã¥âáï.
NS> ®¤®¡­ë© ¯®¤å®¤ ®ç¥­ì ᨫ쭮 à §£à㦠¥â ª ª –“, â ª ¨ 設㠤 ­­ëå, ¤ 
NS> ¨ ¯®«ãç ¥¬ ¯®¤¤¥à¦ªã ¢¥ªâ®à­®© £à ä¨ª¨ ­   ¯¯ à â­®¬ ã஢­¥,
NS> ¯à ªâ¨ç¥áª¨ ¯à¨ â ª®¬ ¯®áâ஥­¨¨ ­¥ ¢ ¦­®, ª ª®¥ ã ⥡ï à §à¥è¥­¨¥ ã
NS> ¢¨¤¥®à¥¦¨¬ (â ª¦¥, ª ª ¢ë «¥£ª® ¬®¦¥â¥ ¯à®á¬ âਢ âì PDF\PS ¯à¨ «î¡®¬
NS> 㢥«¨ç¥­¨¨ ¡¥§ ¯®â¥à¨ ª ç¥á⢠), â.¥ íâ® ®£à®¬­ë¥ ¢®§¬®¦­®áâ¨(ªáâ â¨
NS> â ¬ ¡ë« ᤥ« ­ ¤ ¦¥  ­â¨ «¨§¨­£ - ®ç¥­ì ¢ë᮪®£® ª ç¥á⢠, ­¥ å㦥,
NS> 祬 ­  †¥”®àá å ¨«¨  ¤¥®­ å). € ⥯¥àì ¢á¯®¬­¨¬, çâ® íâ® ¬ è¨­  80ëå
NS> £®¤®¢! (ᤥ« ­  ­  ¯à®æ¥ 68040 á ⠪⮢® ç áâ®â®© 25Œƒæ)
‚®â ⥯¥pì ¯®­ïâ­®. ‚ ‘¯p¨­â¥p¥ â ª ï ®p£ ­¨§ æ¨ï _¢®§¬®¦­ _ ¤ ¦¥ ᥩç á.
H ¤® ¢á¥£®-­ ¢á¥£® 9998 âëá. ¤®«« 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)