ewrogers/sgdk-skills

sgdk-compression

Choose and validate SGDK asset compression, measure ROM/CPU/RAM trade-offs, and schedule decoding for loading or preloading.

Vedi sorgente

Come usare

  1. Copia il comando e controlla il pacchetto prima di installarlo nel tuo ambiente agente.
  2. Controlla strumenti, credenziali e ambienti richiesti nel documento originale.
  3. Descrivi input e risultato desiderato; confronta l’output con le fonti.
npx skills add https://github.com/ewrogers/sgdk-skills --skill sgdk-compression

Prima di iniziare

  • L’installazione non include abbonamenti, quote API o accesso ai file.
  • Stelle e installazioni indicano attività, non un test indipendente di qualità o sicurezza.
Documento Skill originale

Contenuto dal repository con titoli, esempi, codice, tabelle, link e immagini preservati.

SGDK compression

Choose compression for the asset's access pattern and the game's frame budget. Smaller ROM data can cost more CPU and staging RAM; decoded graphics still use the same VRAM and transfer bytes. A game need not compress every asset.

Start from the existing project and its loading requirements. Preserve its design, controls and resource ownership. Compression Lab is optional executable evidence, not a game template or required loading architecture.

Workflow

  1. Inspect the selected ewrogers/sgdk:latest container's resource manual,

headers and decoder source. Pull it before validation. Record SDK/compiler versions for measurements; do not assume online master matches the image.

  1. Identify when each asset is needed, how long it stays resident, its decoded

bytes and whether it must support random access. Compare representative art and a low-redundancy control, not just repeated zeroes.

  1. Try NONE, APLIB and LZ4W where supported. Check actual emitted format/size,

alignment, dictionary dependencies and final padded ROM. Do not interpret AUTO/BEST as the fastest runtime choice.

  1. Measure release decoding with interrupts and normal audio behavior. Account

for staging lifetime and upload bandwidth separately. Use direct mapped ROM uploads for suitable uncompressed data instead of adding an unnecessary copy.

  1. Pick an explicit loading strategy: synchronous work while covered, preload

before a deadline, or independently packed chunks. Ordinary unpack() is synchronous and cannot be resumed at an arbitrary byte boundary.

  1. Check decoded byte equality, output guards, insufficient-capacity rejection

before decoding, queue rejection/retry, and publication after completion. Verify PAL/NTSC display behavior in an emulator; console timing needs hardware.

Read formats and measurement when choosing a codec, preparing resources or interpreting size/time numbers. Read loading and preloading when assigning buffers, chunking an asset or combining decoding with DMA and banked ROM.

Compression Lab includes a standalone generator, RAW/APLIB/LZ4W comparison, fade-covered loading and independent-chunk preloading. Its host contracts and real-SDK base-M68000 tests live in repository tests; the installed example does not depend on those tests or another installed skill.

Boundaries

  • sgdk-assets: source art/audio preparation, palettes and ResComp import errors.

This skill owns codec selection, decode correctness and decoding cost.

  • sgdk-streaming: tile caches, residency, visibility and bounded uploads.

This skill prepares decoded bytes; a streaming system decides where they live.

  • sgdk-memory / sgdk-performance: whole-game RAM accounting and profiling.

Supply codec measurements without replacing those broader budgets.

  • sgdk-cartridge: bank mappings, far pointers and audio reachability.

Compression does not make an invalid banked pointer safe.

These are responsibility links, not required installations. The references explain this skill's essential contracts directly.

Correlati per attività

dallo stesso repository

Altri Skills

Tutti gli Skills