Mode d’emploi
- Copiez la commande et examinez le paquet avant de l’installer dans votre environnement agent.
- Consultez le document original pour les outils, identifiants et environnements requis.
- Décrivez les entrées et le livrable souhaité ; comparez la sortie aux sources.
npx skills add https://github.com/ewrogers/sgdk-skills --skill sgdk-compressionAvant de commencer
- L’installation n’inclut ni abonnement au modèle, ni quota API, ni accès aux fichiers.
- Étoiles et installations reflètent l’activité, pas un test indépendant de qualité ou de sécurité.
Rendu depuis le dépôt source en conservant titres, exemples, code, tableaux, liens et images.
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
- Inspect the selected
ewrogers/sgdk:latestcontainer'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.
- 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.
- 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.
- 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.
- 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.
- 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.




