ewrogers/megadev-skills

megadev-compression

Choose and validate compression for Megadev Sega CD assets, comparing sector-rounded disc size, decode time and RAM, with safe Kosinski decoding and loading/preloading integration.

Ver código fuente

Cómo usar

  1. Copia el comando y revisa el paquete antes de instalarlo en tu entorno de agente.
  2. Consulta las herramientas, credenciales y entornos necesarios en el documento original.
  3. Describe las entradas y el resultado deseado; contrasta la salida con las fuentes.
npx skills add https://github.com/ewrogers/megadev-skills --skill megadev-compression

Antes de empezar

  • La instalación no incluye suscripción al modelo, cuota API ni permisos sobre tus archivos.
  • Las estrellas e instalaciones reflejan actividad, no una prueba independiente de calidad o seguridad.
Documento original del Skill

Contenido del repositorio de origen con títulos, ejemplos, código, tablas, enlaces e imágenes preservados.

Megadev compression

Choose compression per asset and loading path. A smaller file can still cost more sectors, more working RAM or more time before an asset is usable. Preserve the game's asset formats, visual design and loading behavior.

support, a deterministic Kosinski encoder and input/output validation.

staging, peak RAM, Sub decoding and preloading trade-offs.

execution, timing limits, ARM64/AMD64 comparison and PAL/NTSC auditions.

Use ewrogers/megadev:latest; inspect its actual decoder and ABI before teaching calls. The audited SDK revision and primary links are in the references. Do not port SGDK's resource compiler, unpack calls or codec names as Megadev APIs.

Essential contracts:

  • Bound source consumption, decoded length and history references before

calling a decoder that has no bounds arguments. Keep that validated source immutable until decoding completes. Validate the decoded asset before use.

  • Round CD reads to 2048-byte sectors and reserve that full writable range.

Keep encoded input and output disjoint, with exclusive CPU ownership.

  • A request acknowledgement, read completion, decode completion and visible

upload completion are different events. Cancellation/timeouts do not free buffers from a live reader or decoder.

  • Keep decoding out of VBlank/interrupt handlers. Main/Sub separation can keep

gameplay responsive, but does not make decode cost or shared-bus work free.

  • Report stored bytes, sectors, decoded bytes, active buffer usage and reserved

capacity separately. Compression does not shrink the final VRAM requirements.

The self-contained Compression Lab compares raw versus Kosinski artwork and an explicitly labeled random-noise sample. scripts/create_project.py generates a new project without replacing files. Its encoder, validator, measurement helpers and protocol are application code; Kos_Decomp is the actual SDK assembly decoder. Both raw and packed versions are included for comparison, not as a recommended shipping layout.

Reuse the game's existing reader, clock, memory leases and renderer. megadev-streaming owns loading mechanics, megadev-memory covers lifetimes, and megadev-performance covers broader profiling. This skill adds compression choice, validation and decode integration; it prescribes no art style or game flow.

Relacionados por tarea

del mismo repositorio

Más Skills

Todos los Skills