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:
+66
-57
@@ -1,64 +1,73 @@
|
||||
# ---> C
|
||||
# Prerequisites
|
||||
*.d
|
||||
# ===========================================================================
|
||||
# Build outputs
|
||||
# ===========================================================================
|
||||
|
||||
# Object files
|
||||
# `build/` directories anywhere in the tree
|
||||
# (top-level build/, lib/build/, toolchain/*/build/, ...)
|
||||
build/
|
||||
|
||||
# sprinter-cc per-example intermediate directory
|
||||
.sprinter-cc-*/
|
||||
|
||||
# Per-example final/intermediate outputs landing alongside the source
|
||||
examples/*/*.exe
|
||||
examples/*/*.asm
|
||||
examples/*/*.lst
|
||||
examples/*/*.lk
|
||||
examples/*/*.ihx
|
||||
examples/*/*.noi
|
||||
examples/*/*.sym
|
||||
examples/*/*.map
|
||||
examples/*/*.rel
|
||||
examples/*/*.cdb
|
||||
examples/*/*.mem
|
||||
examples/*/*.rst
|
||||
|
||||
# libc archive (built from libc/, see lib/Makefile)
|
||||
lib/*.lib
|
||||
|
||||
# Host-built mkexe binary + test outputs (input fixtures *.bin/*.ihx kept)
|
||||
toolchain/mkexe/mkexe
|
||||
toolchain/mkexe/tests/*.exe
|
||||
toolchain/mkexe/tests/*.actual
|
||||
|
||||
# Host-C build artifacts (mkexe and similar tools compiled with native cc)
|
||||
*.o
|
||||
*.ko
|
||||
*.obj
|
||||
*.elf
|
||||
|
||||
# Linker output
|
||||
*.ilk
|
||||
*.map
|
||||
*.exp
|
||||
|
||||
# Precompiled Headers
|
||||
*.gch
|
||||
*.pch
|
||||
|
||||
# Libraries
|
||||
*.lib
|
||||
*.a
|
||||
*.la
|
||||
*.lo
|
||||
|
||||
# Shared objects (inc. Windows DLLs)
|
||||
*.dll
|
||||
*.so
|
||||
*.so.*
|
||||
*.dylib
|
||||
|
||||
# Executables
|
||||
*.exe
|
||||
*.out
|
||||
*.app
|
||||
*.i*86
|
||||
*.x86_64
|
||||
*.hex
|
||||
|
||||
# Debug files
|
||||
*.dSYM/
|
||||
*.su
|
||||
*.idb
|
||||
*.pdb
|
||||
|
||||
# Kernel Module Compile Results
|
||||
*.mod*
|
||||
*.cmd
|
||||
.tmp_versions/
|
||||
modules.order
|
||||
Module.symvers
|
||||
Mkfile.old
|
||||
dkms.conf
|
||||
# ===========================================================================
|
||||
# Vendored / downloaded
|
||||
# ===========================================================================
|
||||
|
||||
# ---> Sdcc
|
||||
# SDCC stuff
|
||||
*.lnk
|
||||
*.lst
|
||||
*.map
|
||||
*.mem
|
||||
*.rel
|
||||
*.rst
|
||||
*.sym
|
||||
# SDCC: extracted source tree + download tarballs
|
||||
# (only third_party/setup-sdcc.sh tracked)
|
||||
third_party/sdcc/
|
||||
third_party/sdcc-*/
|
||||
third_party/*.tar.bz2
|
||||
third_party/*.tar.gz
|
||||
|
||||
# MAME emulator install — ~1 GB binary + ROMs + CHDs
|
||||
mame/
|
||||
|
||||
# ===========================================================================
|
||||
# OS / editor / AI assistant
|
||||
# ===========================================================================
|
||||
|
||||
# macOS
|
||||
.DS_Store
|
||||
._*
|
||||
|
||||
# Editor swap / backup
|
||||
*~
|
||||
*.swp
|
||||
*.bak
|
||||
*.orig
|
||||
*.rej
|
||||
|
||||
# IDEs
|
||||
.vscode/
|
||||
.idea/
|
||||
|
||||
# Claude Code local settings (per-machine, not for the repo)
|
||||
.claude/
|
||||
|
||||
Reference in New Issue
Block a user