ewrogers/sgdk-skills

sgdk-compression

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

Voir la source

Mode d’emploi

  1. Copiez la commande et examinez le paquet avant de l’installer dans votre environnement agent.
  2. Consultez le document original pour les outils, identifiants et environnements requis.
  3. 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-compression

Avant 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é.
Document Skill original

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

  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.

Tâches connexes

du même dépôt

Autres Skills

Tous les Skills
ewrogers
Communauté

sgdk-ai

Implement enemy behavior in SGDK games with patrol/chase/attack states, sight cones, target selection, bounded pathfinding and staggered updates. Use when enemies see through walls, get stuck, switch targets erratically, return stale paths or cause frame spikes while searching.

installations
1
GitHub Stars
0
Mis à jour
20 oct.
ewrogers
Communauté

sgdk-assets

Prepare, import and troubleshoot Mega Drive graphics, palettes, spritesheets, tiles, maps, fonts and audio resources with SGDK ResComp in Docker. Use for .res files, palette or tile budgets, broken imports, sprite cutting and asset pipeline changes.

installations
1
GitHub Stars
0
Mis à jour
20 oct.
ewrogers
Communauté

sgdk-best-practices

Write or review SGDK C for defined arithmetic, clear module boundaries, resource lifetimes, safe queued transfers and interrupt sharing. Use for implementation quality and project code organization, rather than toolchain setup, game design or performance profiling alone.

installations
1
GitHub Stars
0
Mis à jour
20 oct.
ewrogers
Communauté

sgdk-cartridge

Plan and implement large SGDK cartridges with Sega/SSF bank switching, FAR resources, pinned shared code and audio, and safe SRAM access. Use when a ROM exceeds the linear address window, stage assets live in separate banks, a FAR pointer becomes invalid, or saving interferes with banked content.

installations
1
GitHub Stars
0
Mis à jour
20 oct.