Skip to main content

ticfile

A library for reading and writing TIC-80 .tic cartridge files.

See https://github.com/nesbox/TIC-80/wiki/.tic-File-Format for the file format description.

Installation

pip install ticfile

Usage

from ticfile import TICFile, ChunkType

duck_jam = TICFile.open("duckjam.tic")
code_chunks = [chunk for chunk in duck_jam.chunks if chunk.type == ChunkType.CODE]
code_lines = code_chunks[0].data.decode("ascii").split("\n")
print(code_lines[0])

API

The ticfile module provides the following definitions:

TICFile

Represents a complete .tic file.

Class methods

  • TICFile(chunks) - construct a TICFile from a list of Chunk objects
  • TICFile.open(filename) - open a TICFile from the given filename
  • TICFile.from_file(f) - open a TICFile from the given file handle

Instance methods / attributes

  • chunks - the list of Chunk objects making up this file
  • save(filename) - write this file to the given filename

ChunkType

An enum defining the available chunk types:

ChunkType.TILES = 1
ChunkType.SPRITES = 2
ChunkType.MAP = 4
ChunkType.CODE = 5
ChunkType.FLAGS = 6
ChunkType.SAMPLES = 9
ChunkType.WAVEFORM = 10
ChunkType.PALETTE = 12
ChunkType.MUSIC = 14
ChunkType.PATTERNS = 15
ChunkType.DEFAULT = 17
ChunkType.SCREEN = 18
ChunkType.BINARY = 19
ChunkType.COVER_DEP = 3
ChunkType.PATTERNS_DEP = 13
ChunkType.CODE_ZIP = 16

Chunk

Represents an individual chunk within a .tic file.

Class methods

  • Chunk(chunk_type, bank, data) - construct a Chunk object ** chunk_type - one of the enum values defined in ChunkType ** bank - the bank number (0..7) for this chunk ** data - the binary data of this chunk, excluding the header, as a bytes object

Instance methods / attributes

  • type - the type of this chunk, given as one of the enum values defined in ChunkType
  • bank - the bank number (0..7) for this chunk
  • data - the binary data of this chunk, excluding the header, as a bytes object
  • write(f) - write this chunk to the given file handle

Metadata

Release files for ticfile 0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ticfile 0.1
File Size Uploaded Provenance Actions
ticfile-0.1.tar.gz 3.8 kB Without provenance Details for ticfile-0.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for ticfile 0.1
File Interpreter ABI Platform Actions
ticfile-0.1-py3-none-any.whl Python 3 none any Details for ticfile-0.1-py3-none-any.whl

Total release size: 7.8 kB

Release files / ticfile-0.1.tar.gz

Download URL ticfile-0.1.tar.gz
Size 3.8 kB
Tags Source
SHA-256 checksum
How to use checksums
0e2a6a52ccfb10187f852c6c508c215d92ed5e718eb823751ea2b995abd9ca75
BLAKE2b-256 checksum
How to use checksums
9053b1d585bdb1991d9770e67c886c1ab22c4f5dc0bd6b45fa49b8f127b6b6bb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.0

Release files / ticfile-0.1-py3-none-any.whl

Download URL ticfile-0.1-py3-none-any.whl
Size 4.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1ab24577250711bbf272a3fbf426e8e8d6167e67772cd60ea0a6dfedd101c34a
BLAKE2b-256 checksum
How to use checksums
30fed23ab6cfef2a580ce4de7bf0a7e639f00e3ed61cd9980e1b03e66ba3b7c9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.0

Security for ticfile 0.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page