/ الدليل / الملعب / Gearsystem
● مجتمع drhelius ⚡ فوري

Gearsystem

بواسطة drhelius · drhelius/Gearsystem

قم بتصحيح أخطاء رومات Sega Master System / Game Gear مع مساعد ذكاء اصطناعي — قم بتعيين نقاط توقف وفحص VRAM واستعرض الكود التجميعي بشكل حواري.

Gearsystem هو محاكي Sega Master System / Game Gear / SG-1000 الموثوق والمشهور من تطوير drhelius. تتضمن الإصدارات الحديثة خادم MCP مدمج يعرض أدوات التصحيح (نقاط توقف CPU، فحص الذاكرة، التجميع المعكوس، عروض VRAM/لوحة الألوان) لوكلاء ذكاء اصطناعي. يكون مفيداً لتطوير homebrew للألعاب القديمة والعكس الهندسي لرومات تمتلكها.

لماذا تستخدمه

الميزات الأساسية

عرض مباشر

كيف يبدو في الممارسة

gearsystem.replay ▶ جاهز
0/0

التثبيت

اختر العميل

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "gearsystem": {
      "command": "TODO",
      "args": [
        "See README: https://github.com/drhelius/Gearsystem"
      ],
      "_inferred": true
    }
  }
}

افتح Claude Desktop → Settings → Developer → Edit Config. أعد التشغيل بعد الحفظ.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "gearsystem": {
      "command": "TODO",
      "args": [
        "See README: https://github.com/drhelius/Gearsystem"
      ],
      "_inferred": true
    }
  }
}

يستخدم Cursor نفس مخطط mcpServers مثل Claude Desktop. إعدادات المشروع أولى من الإعدادات العامة.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "gearsystem": {
      "command": "TODO",
      "args": [
        "See README: https://github.com/drhelius/Gearsystem"
      ],
      "_inferred": true
    }
  }
}

انقر على أيقونة MCP Servers في شريط Cline الجانبي، ثم "Edit Configuration".

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "gearsystem": {
      "command": "TODO",
      "args": [
        "See README: https://github.com/drhelius/Gearsystem"
      ],
      "_inferred": true
    }
  }
}

نفس الصيغة مثل Claude Desktop. أعد تشغيل Windsurf لتطبيق التغييرات.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "gearsystem",
      "command": "TODO",
      "args": [
        "See README: https://github.com/drhelius/Gearsystem"
      ]
    }
  ]
}

يستخدم Continue مصفوفة من كائنات الخادم بدلاً من خريطة.

~/.config/zed/settings.json
{
  "context_servers": {
    "gearsystem": {
      "command": {
        "path": "TODO",
        "args": [
          "See README: https://github.com/drhelius/Gearsystem"
        ]
      }
    }
  }
}

أضف إلى context_servers. يعيد Zed التحميل تلقائيًا عند الحفظ.

claude mcp add gearsystem -- TODO 'See README: https://github.com/drhelius/Gearsystem'

أمر من سطر واحد. تحقق باستخدام claude mcp list. احذف باستخدام claude mcp remove.

حالات الاستخدام

استخدامات عملية: Gearsystem

قم بتصحيح أخطاء رومة homebrew على Master System تتعطل عند شاشة العنوان

👤 مطورو homebrew للألعاب القديمة ⏱ ~30 min advanced

متى تستخدمه: بناؤك بـ WLA-DX يعمل بشكل جيد في رأسك لكن Gearsystem يتجمد عند شاشة العنوان.

المتطلبات الأساسية
  • Gearsystem مبني مع تفعيل MCP — استنساخ drhelius/Gearsystem والبناء وفقاً لـ MCP_README.md
  • الرومة وملف الرموز .sym الخاص بها — مخرجات المجمع الخاص بك (WLA-DX، asm6 إلخ)
الخطوات
  1. قم بإطلاق headless وقم بتعيين نقطة توقف عند نقطة التعطل
    أطلق Gearsystem MCP مع رومتي. قم بتعيين نقطة توقف CPU عند التسمية init_vdp وقم بتشغيل البرنامج.✓ تم النسخ
    → التنفيذ يتوقف عند نقطة التوقف
  2. فحص حالة CPU و VRAM
    أظهر لي سجلات Z80 وأول 32 بايت من VRAM. هل يبدو أي شيء خاطئاً في هذه النقطة من الإعداد الأولي؟✓ تم النسخ
    → تفريغ السجلات + ملاحظات حول المتوقع مقابل الفعلي
  3. خطوة عبر الكود ومراقبة منطقة ذاكرة محددة
    أضف نقطة توقف للوصول للذاكرة على $C000 وقم بالخطوة حتى يكتب شيء ما هناك.✓ تم النسخ
    → يتوقف عند الأمر المخالف

النتيجة: السبب الجذري (مثلاً، سجل VDP مكتوب قبل أن يكون VRAM آمناً) مع عنوان الأمر الدقيق.

المزالق
  • الرموز لم يتم تحميلها — العناوين معتمة — تأكد من أن .sym يطابق بناء الرومة بالضبط؛ أعد البناء للمحاذاة إذا لزم الأمر
  • خطأ التوقيت يحدث فقط على الأجهزة الحقيقية، وليس على المحاكي — المحاكي له قيود؛ لحالات حافة توقيت الناقل، اختبر على جهاز SMS حقيقي
اجمعها مع: filesystem

العكس الهندسي لرومة تمتلكها لتوثيق خريطة الذاكرة الخاصة بها

👤 الحفاظ على الحفظات والمطورين الذين يوثقون رومات خاصة بهم أو ملك عام ⏱ ~60 min advanced

متى تستخدمه: أنت تكتب مقالة تحليل تقني أو تجميع معكوس وتحتاج خريطة ذاكرة.

الخطوات
  1. قم بتشغيل الرومة وفحصها في اللحظات الرئيسية
    قم بتشغيل الرومة، توقف عند VBlank، أفرغ WRAM على $C000-$DFFF. ثم قم بتشغيل إطار واحد وأفرغ مرة أخرى.✓ تم النسخ
    → لقطتان من WRAM للمقارنة
  2. حدد المتغيرات المحتملة من خلال المقارنة
    قارن الصورتين. ما هي العناوين التي تغيرت؟ ما الذي من المحتمل أن تكون عليه (العدادات، المؤشرات، مواضع الكائنات)؟✓ تم النسخ
    → خريطة متغيرات مفترضة مع تبرير

النتيجة: خريطة ذاكرة أولية يمكنك تحسينها يدويًا.

المزالق
  • العكس الهندسي للرومات المحمية بحقوق الطبع والنشر التي لا تمتلكها هو منطقة رمادية قانونية — استخدم هذا فقط على الرومات التي تمتلكها أو التي تقع في المجال العام. لا تنشر خرائط RAM للرومات التجارية دون الأخذ في الاعتبار قوانين الاستخدام العادل في اختصاصك

أتمتة اختبار الدخان لرومتك في كل التزام

👤 مطورو homebrew مع خط أنابيب CI ⏱ ~25 min intermediate

متى تستخدمه: تريد 'الإقلاع إلى شاشة العنوان بدون تعطل' كبوابة CI.

الخطوات
  1. أنشئ سكريبت الجلسة MCP
    اكتب سكريبت ينطلق Gearsystem MCP headless، يقوم بتشغيل رومتي لـ 600 إطار، ويعود بقيمة غير صفرية إذا توقف CPU على كود العملية غير الصحيح.✓ تم النسخ
    → سكريبت shell مع رموز خروج واضحة
  2. ربط في CI
    لف هذا في سير عمل GitHub Actions يعمل في كل دفع إلى الفرع الرئيسي.✓ تم النسخ
    → خطوة CI عاملة

النتيجة: اختبار دخان يكتشف الانحدارات قبل تحميل الرومة يدويًا.

اجمعها مع: github

التركيبات

اجمعها مع خوادم MCP أخرى لتحقيق نتائج x10

gearsystem + github

قم بتصحيح والتزام إصلاح في تدفق واحد

أعد إنتاج الأخطاء #12 في رومتي، ابحث عن العنوان الخاطئ، افتح PR بإصلاح بسطر واحد في src/vdp.asm.✓ تم النسخ
gearsystem + filesystem

اقرأ ملف .sym جنباً إلى جنب مع أداة التصحيح لترجمة العناوين إلى تسميات

حمّل ./build/game.sym وأخبرني بالتسمية على العنوان $03A7.✓ تم النسخ

الأدوات

ما يوفره هذا الـ MCP

الأداةالمدخلاتمتى تستدعيهاالتكلفة
run (بدون) استئناف التنفيذ بعد توقف مجانية (محلية)
pause (بدون) إيقاف للفحص مجانية
step n?: int خطوة تنفيذ أوامر فردية مجانية
set_breakpoint address: hex, kind: cpu|read|write مراقبة ضربة PC أو الوصول للذاكرة مجانية
read_memory address: hex, length: int فحص WRAM / VRAM / مناطق الخرطوشة مجانية
disassemble address: hex, instructions: int اقرأ الكود حول PC مجانية
get_registers (بدون) في أي لحظة فحص مجانية
dump_vram start?: hex, length?: int تصحيح أخطاء الرسومات مجانية

التكلفة والحدود

تكلفة التشغيل

حصة API
لا أحد — عملية محلية بالكامل
الرموز لكل استدعاء
تفريغات الذاكرة يمكن أن تكون كبيرة؛ النطاقات الضيقة تبقي الردود صغيرة
التكلفة المالية
مجانية، مرخصة GPL-3.0
نصيحة
اطلب نوافذ ذاكرة صغيرة (16-64 بايت) إلا إذا كنت بحاجة فعلاً إلى صفحة كاملة.

الأمان

الصلاحيات والأسرار ونطاق الأثر

تخزين بيانات الاعتماد: لا شيء مطلوب
نقل البيانات الخارجي: يعمل محليًا؛ خادم MCP يربط بـ stdio أو منفذ HTTP المختار

استكشاف الأخطاء

الأخطاء الشائعة وحلولها

أعلام MCP غير معروفة

تم تجميع بنائك بدون دعم MCP. أعد البناء مع تفعيل العلم وفقاً لـ MCP_README.md.

تحقق: gearsystem --help | grep mcp
نقطة التوقف لا تصل أبداً

دقة الرموز على الأرجح معطلة؛ جرب استخدام عنوان خام بدلاً من التسمية. قم بتأكيد تحميل الرومة بالفعل.

تحقق: Use get_registers to confirm PC is moving
رفضت وسيلة نقل HTTP الاتصال

تحقق من أن المنفذ ليس قيد الاستخدام وأن المحاكي بدأ مع --mcp-http --mcp-http-port 7777.

تحقق: curl http://127.0.0.1:7777/

البدائل

Gearsystem مقابل البدائل

البديلمتى تستخدمهاالمقايضة
Emuliciousتريد أداة تصحيح واجهة رسومية كاملة لـ Game Boy/SMS/إلخ.لا MCP؛ مدفوعة بالبشر فقط
BizHawkنظام متعدد TAS/تصحيحمكتوبة بـ Lua بدلاً من MCP

المزيد

الموارد

📖 اقرأ ملف README الرسمي على GitHub

🐙 تصفح القضايا المفتوحة

🔍 تصفح أكثر من 400 خادم MCP و Skills