ewrogers/sgdk-skills

sgdk-compression

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

Ver código-fonte

Como usar

  1. Copie o comando e verifique o pacote antes de instalar no seu ambiente de agente.
  2. Consulte no original as ferramentas, credenciais e ambientes necessários.
  3. Descreva os dados de entrada e a entrega esperada; confira a saída com as fontes.
npx skills add https://github.com/ewrogers/sgdk-skills --skill sgdk-compression

Antes de começar

  • A instalação não inclui assinatura de modelo, franquia API ou acesso aos seus arquivos.
  • Estrelas e instalações indicam atividade, não um teste independente de qualidade ou segurança.
Documento original do Skill

Renderizado do repositório de origem, preservando títulos, exemplos, código, tabelas, links e imagens.

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.

Relacionados por tarefa

do mesmo repositório

Mais Skills

Todos os Skills
ewrogers
Comunidade

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.

instalações
1
GitHub Stars
0
Atualizado
20 de out.
ewrogers
Comunidade

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.

instalações
1
GitHub Stars
0
Atualizado
20 de out.
ewrogers
Comunidade

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.

instalações
1
GitHub Stars
0
Atualizado
20 de out.
ewrogers
Comunidade

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.

instalações
1
GitHub Stars
0
Atualizado
20 de out.