c71e249a4e
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>
116 lines
4.1 KiB
Plaintext
116 lines
4.1 KiB
Plaintext
*** 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)
|