使い方
- インストールコマンドをコピーし、自分の環境へ導入する前にソースを確認します。
- 必要なツール、認証情報、対応環境を原文で確認します。
- 入力と成果物を指定し、出力を資料と照合します。
npx skills add https://github.com/ewrogers/megadev-skills --skill megadev-best-practices開始前の確認
- 導入にはモデル契約、API枠、ファイルへのアクセス許可は含まれません。
- スター数や導入数は活動の指標であり、独立した品質・安全性試験ではありません。
見出し、例、コード、表、リンク、参照画像を含む原文を表示しています。
Megadev best practices
Adapt the smallest useful pattern to the user's game. These are implementation practices, not an art direction, control scheme, genre or required engine layout. Megadev helpers, BIOS entry points and this example's application functions are separate APIs; do not substitute SGDK APIs or teach the latter as SDK facilities.
Preserve the owning system
Before joining features, name the owner of each clock, interrupt hook, mailbox word, RAM region, buffer, drive operation, voice and save namespace. Reuse that owner's request/completion contract instead of introducing a second manager. Read integration seams for the concrete ownership map, generation/lease rules and safe handling of late results.
Follow the project's structure. A useful seam separates portable policy from platform adapters, exposes what the caller needs, and hides the fragile handshake. Do not create a generic framework or split tiny modules merely to match the Lab. Read structure and review for choosing that boundary.
Write C and assembly for the selected target
Read C/ABI practices for promotions, overflow, alignment, byte decoding, aliasing, stack and inline-assembly obligations. Use the selected ewrogers/megadev:latest source/compiler to verify an API or ABI; retain original 68000 and compiler safeguards. Limit Docker build containers to --cpus=2.
Do not use volatile as an ownership, atomicity or compiler-barrier substitute. Publish complete immutable payloads, then their commit word; hold storage until acknowledgement. Keep critical sections short, preserve the caller's interrupt policy, and leave BIOS/file/save work outside interrupt callbacks. The example's Main publisher is called only from its interrupt-enabled foreground loop.
Prove integration behavior
Use Harbor Relay when a runnable cross-system case is useful. It reuses the established scene, CD/audio and save implementations, with an explicit checkpoint adapter and small executable C contract examples. Create it using scripts/create_project.py; it works after standalone installation.
Read validation for O0/O3 checks, original-68000 execution, ARM64/AMD64, PAL/NTSC, release qualification and emulator/hardware limits. Test busy, failed, cancelled and late operations as well as the successful route. A timeout must not make live storage reusable. Fix the owning system when a real shared bug is found; do not hide it in a second local workaround or weaken its checks.



