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
+115
View File
@@ -0,0 +1,115 @@
*** Area: ZX.SPECTRUM Date: 25 Apr 01 20:34:38
*** From: Stas Vlasov (2:5080/172.0)
*** To : All
*** Subj: H®¢ ï Ž‘ ­  Sprinter
Hello All!
Ÿ âãâ ­¥¬­®£® ¯®¤ã¬ « ¨ ¯®áâ à «áï ¢ëà §¨âì ᢮¨ ¬ë᫨ ¯® ¯®¢®¤ã á ¡¦ ,
ª®â®àë© ¬­¥ ¡ë å®â¥«®áì ª®£¤ -­¨¡ã¤ì 㢨¤¥âì.
=== Cut ===
’à¥¡ã¥¬ë¥  ¯¯ à â­ë¥ ¢®§¬®¦­®áâ¨:
® RSTn - ¢ë§®¢ ᮮ⢥âáâ¢ãî饣® ®¡à ¡®â稪  á ¤à㣮© áâà ­¨æë ¯ ¬ïâ¨.
†¥« â¥«ì­®, çâ®¡ë ®¡à ¡®â稪¨ ­ å®¤¨«¨áì ­  à §­ëå áâà ­¨æ å. ਠí⮬
âॡã¥âáï á®åà ­¥­¨¥ ¨­ä®à¬ æ¨¨ ® ¯à®æ¥áá¥, ¢ë§¢ ¢è¥¬ ®¡à ¡®â稪. ‚®§¢à â
¨§ ®¡à ¡®â稪  - OUT + RET.
Ž¡à ¡®âª   ¯¯ à â­ëå ¯à¥à뢠­¨© -  ­ «®£¨ç­®.
NMI - ®á­®¢  à ¡®âë Ž‘, ¯®â®¬ã ¢® ¢à¥¬ï ¨­¨æ¨ «¨§ æ¨¨ ï¤à  ¤®«¦­® ¡ëâì
¯®¤ª«î祭® ª â ©¬¥àã («¨¡® ª CMOS, «¨¡® ª ¯à¥à뢠­¨ï¬ ®â ª ¤à®¢®©
ᨭåà®­¨§ æ¨¨).
ޝ¥à æ¨®­­ ï á¨á⥬ :
Ÿ¤à®.
‚®§¬®¦­ë¥ âॡ®¢ ­¨ï: ¤® 64ª ¥¤¨­®à §®¢®, ¢ë§®¢ ä㭪権 ¨ ®¡à é¥­¨¥ ª
¬®¤ã«ï¬ ¯® ®¤­®¬ã RSTn, ¢®§¬®¦­® (¤ ¦¥ ­ã¦­®) ¢ë¤¥«¥­¨¥ ¥é¥ ¯ ¬ï⨠¯à¨
¨­¨æ¨ «¨§ æ¨¨.
”㭪樨: à ¡®â  á ¦¥«¥§®¬, ¡¨®á ­  ­¨§ª®¬ ã஢­¥, à ¡®â  á ä ©«®¢ë¬¨
á¨á⥬ ¬¨, à ¡®â  á ¯à®æ¥áá ¬¨ ¨ ¬­®£®§ ¤ ç­®áâì, à ¡®â  á ¯ ¬ïâìî/᢮¯®¬,
§ ¯ã᪠¯à®æ¥áá  ¨­¨æ¨ «¨§ æ¨¨, etc
Œ®¤ã«¨ ï¤à .
‚®§¬®¦­ë¥ âॡ®¢ ­¨ï: 3-ï áâà ­¨æ  ¯ ¬ïâ¨, 16ª ¯®¤ ¬®¤ã«ì ¯à¨
§ £à㧪¥, á⥪ ¢­¥ ¬®¤ã«ï, ¢®§¬®¦­® ¢ë¤¥«¥­¨¥ ¥é¥ ¯ ¬ï⨠¯à¨ ¨­¨æ¨ «¨§ æ¨¨.
®¤£à㦠îâáï ¯à¨ ­¥®¡å®¤¨¬®áâ¨.
”㭪樨:  áè¨à¥­¨¥ ä㭪権 ï¤à .  ¡®â  á ¦¥«¥§®¬, ­®¢ë¥ ä ©«®¢ë¥
á¨á⥬ë, etc
‘¨á⥬­ë¥ ¡¨¡«¨®â¥ª¨.
‚®§¬®¦­ë¥ âॡ®¢ ­¨ï: ˆ§ ¯ ¬ï⨠­¥ ¢ë£à㦠îâáï, ®¡à é¥­¨¥ ¯®
®â¤¥«ì­®¬ã RSTn ­  ¢á¥å, ¢ ¯ à ¬¥âà å - ID ¡¨¡«¨®â¥ª¨ ¨ ID ä㭪樨 +
¯ à ¬¥âàë á ¬®© ä㭪樨.
”㭪樨:  áè¨à¥­¨¥ ä㭪権 ï¤à  ¢ áâ®à®­ã ¯à®£à ¬¬­®£® ¨­â¥à䥩á ,  
­¥ ¦¥«¥§ . ’.¥. í¬ã«ïæ¨ï â¥à¬¨­ « , ª®¬¬ã­¨ª æ¨®­­ë¥ ¯à®â®ª®«ë ­¨§ª®£®
ã஢­ï, etc
ਪ« ¤­ë¥ ¡¨¡«¨®â¥ª¨.
”㭪樨: ¨¡«¨®â¥ª¨, á«ã¦ é¨¥ ¤«ï ¨á¯®«ì§®¢ ­¨ï ®¤­®£® ª®¤  ¢
­¥áª®«ìª¨å ¯à¨«®¦¥­¨ïå ®¤­®¢à¥¬¥­­®, «¨¡® ª ª á।á⢮ ¯à¥®¤®«¥­¨ï ¡ àì¥à 
64ª. ਠ­¥¨á¯®«ì§®¢ ­¨¨ ¢ë£à㦠îâáï ¨§ ¯ ¬ïâ¨.
ਬ¥ç ­¨¥: ‚ë§®¢, ¤ã¬ î, ¡ã¤¥â  ­ «®£¨ç¥­ á¨á⥬­ë¬.
ਫ®¦¥­¨ï, ª ª á¨á⥬­ë¥, â ª ¨ ¯®«ì§®¢ â¥«ì᪨¥.
‚®§¬®¦­ë¥ âॡ®¢ ­¨ï: ¯à¨ § £à㧪¥ ¯à¨«®¦¥­¨ï - § £à㦠¥¬ë© ª®¤ ¢
¯à¥¤¥« å «¨­¥©­®©  ¤à¥á æ¨¨.
”㭪樨: ¯®­ïâ­ë ¡¥§ ®¯¨á ­¨ï.
ਬ¥ç ­¨¥: ‚¥à®ïâ­® ¯®¢â®à­®¥ ¨á¯®«ì§®¢ ­¨¥ ª®¤  ¤«ï ­¥áª®«ìª¨å ª®¯¨©
¯à¨«®¦¥­¨ï, ¥á«¨ ¯®«ãç¨âáï...
Ž¡é¥á¨á⥬­ë¥ ¯à¨¬¥ç ­¨ï:
„®áâ㯠ª á¨á⥬­ë¬ ¯®àâ ¬ ¢¢®¤ -¢ë¢®¤  ¤®«¦­ë ¨¬¥âì ⮫쪮 ï¤à® ¨ ¥£®
¬®¤ã«¨ (⨯ ¯à®æ¥áá  - 00).
„®áâ㯠ª ­¥á¨á⥬­ë¬ ¯®àâ ¬ - ¯à¥¤®áâ ¢«ï¥âáï ¯®á«¥ § ¯à®á 
(¯à®¨§¢®¤¨âáï ¯à¨ ¨­¨æ¨ «¨§ æ¨¨ ¯à®æ¥áá ) ¢ ᮮ⢥âá⢨¨ á ¯à ¢ ¬¨
¯à¨«®¦¥­¨ï/¯®«ì§®¢ â¥«ï. « ­¨àã¥âáï ¤ «ì­¥©è¥¥ à §£à ­¨ç¥­¨¥ ¤®áâ㯠.
‚¥à®ïâ­ë¥ áâàãªâãàë ¤ ­­ëå:
ˆ­ä®à¬ æ¨ï ® áâà ­¨æ¥ ¯ ¬ïâ¨:
ID áâà ­¨æë - 16 ¡¨â
ID ¯à®æ¥áá -¢« ¤¥«ìæ  - 16 ¡¨â
’¨¯ à §¬¥é¥­¨ï áâà ­¨æë - 1 ¡¨â (0 - RAM, 1 - Swap)
Œ¥áâ®à á¯®«®¦¥­¨¥ áâà ­¨æë - 16 ¡¨â («¨¡® 䨧¨ç¥áª¨© ­®¬¥à áâà ­¨æë RAM,
«¨¡® ᬥ饭¨¥ ¢ ᢮¯-ä ©«¥ ¢ áâà ­¨æ å)
‚à¥¬ï ¯®á«¥¤­¥£®
¢ª«î祭¨ï áâà ­¨æë - 32 ¡¨â (¡ã¤¥â ¨á¯®«ì§®¢ âìáï ¤«ï ®¯à¥¤¥«¥­¨ï
⮣®, ª ªãî áâà ­¨æã á⮨⠢ë£à㧨âì)
ˆ­ä®à¬ æ¨ï ® ¯à®æ¥áá¥:
ID ¯à®æ¥áá  - 16 ¡¨â
’¨¯ ¯à®æ¥áá  - 2 ¡¨â (00 - Ÿ¤à®,
01 - á¨á⥬­ë¥ ¡¨¡«¨®â¥ª¨,
10 - ¯à¨ª« ¤­ë¥ ¡¨¡«¨®â¥ª¨,
11 - ¯à¨«®¦¥­¨ï.
¢®§¬®¦­® ᮢ¬¥é¥­¨¥ á ¤à㣨¬¨ ä« £ ¬¨)
ਮà¨â¥â - <8 ¡¨â (0 - ¬ ªá¨¬ «ì­ë©)
‘®áâ®ï­¨¥ ¯à®æ¥áá  - <8 ¡¨â (¢ë¯®«­ï¥âáï, ®¦¨¤ ¥â, ®áâ ­®¢«¥­, ¨ â.¯.)
ID áâà ­¨æë ᮠᬥ饭¨ï 0000h |
ID áâà ­¨æë ᮠᬥ饭¨ï 4000h | \ ® 16 ¡¨â ¢ ᮮ⢥âá⢨¨ á® áâàãªâãன
ID áâà ­¨æë ᮠᬥ饭¨ï 8000h | / ¨­ä®à¬ æ¨¨ ® áâà ­¨æ¥ ¯ ¬ïâ¨.
ID áâà ­¨æë ᮠᬥ饭¨ï C000h |
=== Cut ===
Good luck.
Stas
--- …é¥ ®¤­® "§®«®â®" 3.0.1
* Origin: gui is good, but console better (2:5080/172)