Come usare
- Copia il comando e controlla il pacchetto prima di installarlo nel tuo ambiente agente.
- Controlla strumenti, credenziali e ambienti richiesti nel documento originale.
- Descrivi input e risultato desiderato; confronta l’output con le fonti.
npx skills add https://github.com/ewrogers/megadev-skills --skill megadev-graphicsPrima 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.
Contenuto dal repository con titoli, esempi, codice, tabelle, link e immagini preservati.
Megadev graphics
Work with the game's existing renderer, clock and art direction. Megadev exposes VDP registers and BIOS services; it does not provide SGDK's sprite engine, ResComp structures or DMA queue policy. Verify the selected toolchain's headers and calling conventions before using an API. The Mega CD still displays through the base Mega Drive VDP.
Plan what is resident
Identify the configured resolution, table addresses, pattern ranges, palette lines and upload owner before adding graphics. Read layout and budgets when placing art, setting sprite limits or interpreting tile counts. Validate the actual settings rather than assuming the Lab's map is universal.
Keep conversion in the asset pipeline. Graphics consumes prepared patterns, maps, palettes and frame metadata with an agreed layout. A larger sprite or image is not automatically a single hardware sprite, and sprite frame patterns have a different order from a background map. The Lab includes prepared data and its own validator; installing another skill is not required to build it.
Render through one frame owner
Use frame submission for foreground/interrupt responsibilities, safe publication, BIOS integration and source lifetimes. Prepare immutable frame data outside the interrupt; submit only bounded work during VBlank. Do not load files, decompress, wait or run game simulation in that callback. Disabling interrupts alone does not turn active display into VBlank.
Use scrolling and sprites for camera transforms, plane periods, Window HUD, priority and animation timing. Cull before submission, admit important actors first and handle rejected sprites explicitly. Animation is frame selection over the game's clock; it does not require a separate timer per object.
Use palette effects for palette ownership, fades, cycling and flash effects. Preserve the base palette, protect UI colors and commit changes through the same frame owner. Dithering is an asset choice to inspect at native size, not a requirement for every background. Shadow/highlight is a separate optional rendering contract, not extra palette entries that appear automatically.
Validate the integration
Graphics Lab demonstrates a scrolling harbor with two parallax planes, animated/flipped airships, foreground occlusion, a fixed HUD and palette effects. Its art, controls and world are illustrative. Adapt the smallest useful technique to the user's game.
Test clipping and boundary cases, links and pattern references, separate scanline entry/pixel limits, palette isolation, frame timing and bounded uploads. The supplied tests execute the actual compiled 68000 model and capture publisher writes; that is not a VDP or timing simulation. Compare native ARM64/AMD64 target payloads, inspect rendering in ares and keep physical-console/BIOS/timing checks explicit.
Project startup belongs to megadev-project, preparation to megadev-assets, budgets to megadev-planning and hardware facts to megadev-hardware. This skill owns display integration; it should not introduce a competing scene system, allocator, input driver, animation event system or streaming scheduler.




