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>
74 lines
1.7 KiB
Plaintext
74 lines
1.7 KiB
Plaintext
# ===========================================================================
|
|
# Build outputs
|
|
# ===========================================================================
|
|
|
|
# `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
|
|
*.obj
|
|
*.dSYM/
|
|
|
|
# ===========================================================================
|
|
# Vendored / downloaded
|
|
# ===========================================================================
|
|
|
|
# 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/
|