# ---------------------------------------------------------------------------
# Modem Wars disassembly - attributes
#
# Requires Git LFS for the binary assets:   git lfs install
# After cloning:                            git lfs pull
# ---------------------------------------------------------------------------

# Normalise line endings for everything Git decides is text.
* text=auto eol=lf

# --- Git LFS: binary assets ------------------------------------------------
# Disk images.  The source image is the input to the whole project and any
# patched image (for example the SwiftLink build) has the same shape.
*.d64 filter=lfs diff=lfs merge=lfs -text
*.d71 filter=lfs diff=lfs merge=lfs -text
*.d81 filter=lfs diff=lfs merge=lfs -text
*.g64 filter=lfs diff=lfs merge=lfs -text
*.t64 filter=lfs diff=lfs merge=lfs -text
*.tap filter=lfs diff=lfs merge=lfs -text
*.crt filter=lfs diff=lfs merge=lfs -text

# Raw memory images, sector dumps and extracted CBM files.  Most are ignored,
# but anything deliberately committed belongs in LFS rather than in a pack.
*.bin filter=lfs diff=lfs merge=lfs -text
*.prg filter=lfs diff=lfs merge=lfs -text

# Emulator snapshots.
*.vsf filter=lfs diff=lfs merge=lfs -text

# Documents and images: the manual scan, the decoded title screen, screenshots.
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.jpg filter=lfs diff=lfs merge=lfs -text
*.gif filter=lfs diff=lfs merge=lfs -text

# --- text file types -------------------------------------------------------
*.s     text eol=lf
*.inc   text eol=lf
*.cfg   text eol=lf
*.py    text eol=lf
*.js    text eol=lf
*.sh    text eol=lf
*.json  text eol=lf
*.md    text eol=lf
*.txt   text eol=lf

# --- GitHub presentation ---------------------------------------------------
# The listings are 6502 assembler; keep them counted as Assembly rather than
# guessed from the .s extension.
*.s   linguist-language=Assembly
*.inc linguist-language=Assembly

# These are produced by tools/, not written by hand: collapse them in diffs and
# keep them out of the language statistics.
disassembly/XREF.txt        linguist-generated=true
disassembly/INDEX.txt       linguist-generated=true
disassembly/verify.sh       linguist-generated=true
disassembly/*.inc           linguist-generated=true
annotations/06_strings.json linguist-generated=true
annotations/10_*.json       linguist-generated=true
annotations/11_*.json       linguist-generated=true
docs/knowledgeBase.md       linguist-generated=true
survey/*.json               linguist-generated=true

# The generated listings are large; a hand review wants them collapsed by
# default but they are still the point of the repository, so they stay in the
# language statistics above.
disassembly/*/*.s diff=asm
