۲۶ مهر ۱۴۰۵ github.com ۳ دقیقه مطالعه

شبیه‌ساز سخت‌افزاری کامودور ۶۴: بررسی پین‌ها و تراشه‌ها در سطح مدار

شبیه‌ساز سخت‌افزاری کامودور ۶۴: بررسی پین‌ها و تراشه‌ها در سطح مدار — The Commodore 64 hardware simulator: break chips and pins, see the results

خلاصه

پروژه c64-hw-simulator یک شبیه‌ساز سطح پین از مادربرد کامودور ۶۴ است که به توسعه‌دهندگان اجازه می‌دهد خطاهای سخت‌افزاری، قطعی اتصال‌ها و رفتار مدار را به‌صورت شبیه‌سازی‌شده بررسی کنند. این ابزار توسط antirez توسعه یافته و برای یادگیری عمیق معماری سخت‌افزار و عیب‌یابی کاربرد دارد.

پروژه جذاب c64-hw-simulator یک شبیه‌ساز سطح پین (Pin-Level) از مادربرد کامودور ۶۴ (مدل ASSY 250407) است که توسط Salvatore Sanfilippo (معروف به antirez، سازنده مشهور Redis) توسعه یافته است. این ابزار به شما اجازه می‌دهد تا لبه تراشه‌ها را بلند کنید، آن‌ها را به زمین یا ولتاژ مثبت متصل سازید، تراشه‌ای را از سوکت خارج کنید یا یک مقاومت را قطع نمایید و سپس تأثیر آن را روی مانیتور، صفحه‌کلید و تک‌تک سیگنال‌های روی بورد مشاهده کنید.

پس‌زمینه و ایده اولیه

antirez ایده ساخت این پروژه را با الهام از شبیه‌سازهای تراشه آثار Andre Weissflog (با نام مستعار floooh) به دست آورد که پردازنده ۶۵۰۲، تراشه VIC-II، چیپ‌های CIA و SID را با استفاده از رابط مبتنی بر پین مدل‌سازی کرده بودند. او این رویکرد را به حد نهایی خود رساند و مدل‌های سطح پین تمام بخش‌های دیگر کامودور ۶۴ شامل رم‌ها، رام‌ها، تراشه‌های منطقی و PLA را پیاده‌سازی کرد. بورد این شبیه‌ساز از روی فایل‌های نسخه اپن‌سورس KiCad طراحی شده و معادلات PLA نیز از داده‌های واقعی استخراج شده‌اند.

معماری و نحوه کارکرد

این برنامه‌ به زبان C نوشته شده و از کتابخانه‌های گرافیکی sokol و رابط کاربری nuklear استفاده می‌کند. نحوه کارکرد آن بر اساس لیست اتصالات الکتریکی (Netlist) بورد است:

  • مدل‌سازی پین‌ها: هر پین سیگنال خود را با قدرت‌های مختلف (قوی، ضعیف، اتصال کوتاه یا بدون درایو) هدایت می‌کند و قوی‌ترین درایو برنده می‌شود.
  • خطوط شناور (Floating Nets): خطوطی که درایو نمی‌شوند شارژ خود را حفظ کرده و به مرور زمان دچار افت ولتاژ می‌شوند که این امر رفتار واقعی مدار را شبیه‌سازی می‌کند.
  • هسته‌های دقیق: هسته پردازنده‌ها و تراشه‌های گرافیکی و صوتی از کدهای دقیق چرخه سیکل floooh بهره می‌برند.

نحوه نصب و استفاده

برای ساخت و اجرای برنامه در محیط‌های مک‌او‌اس و لینوکس (با پشتیبانی از X11 و OpenGL) کافی است از دستورات زیر استفاده کنید:

make
./c64-hw-sim [program.prg]

همچنین حالت اجرای بدون پنجره (Headless) برای تست خودکار خطاها و خروجی گرفتن از تصاویر وجود دارد:

./c64-hw-sim --headless 200 --text --shot out.png --fault U17:removed

وضعیت پروژه و دیدگاه جامعه هکرنیوز

این پروژه دارای بیش از ۲۰۰ ستاره در گیت‌هاب است و فعالیت آن روی بازبینی و پیاده‌سازی خطاها تمرکز دارد. یکی از چالش‌های جذاب مطرح‌شده در بحث‌های هکرنیوز این است که برنامه حتی روی پردازنده‌های قدرتمند امروزی (مانند Apple M3/M5 Max) نیز نمی‌تواند کامودور ۶۴ را با سرعت واقعی اجرا کند (حدود ۳۱ تا ۴۸ درصد سرعت واقعی)، زیرا شبیه‌سازی سطح پین برای تک‌تک تراشه‌ها بسیار پردازش‌سنگین است. با این حال، کاربران هکرنیوز از وجود چنین ابزارهای عمیق و غیرتجاری‌ای در عصر محتوای تولیدشده با هوش مصنوعی استقبال کرده و آن را راهی عالی برای درک فیزیکی و عمیق سخت‌افزارهای قدیمی دانسته‌اند.

در یک نگاه

  • توسعه‌دهنده: antirez
  • زبان اصلی: C
  • سیستم‌عامل‌های هدف: macOS، Linux
  • وابستگی‌ها: گرافیک sokol و رابط کاربری nuklear در پوشه third_party
  • کاربرد اصلی: آموزش عمیق سخت‌افزار کامودور ۶۴ و کمک به عیب‌یابی بوردهای واقعی بدون ریسک آسیب دیدن قطعات

این مطلب به‌صورت کاملاً خودکار و با هوش مصنوعی از مقالهٔ اصلی و بحث هکرنیوز تهیه شده و ممکن است خطا داشته باشد. حقوق مطلب اصلی متعلق به نویسندهٔ آن است. قوانین و گزارش مشکل

این خبر را با دیگران به اشتراک بگذارید

خبرهای فناوری در قالب پست و ویدیوی کوتاه، در اینستاگرام هکرنیوز بلاگ. به‌زودی
هر خبر به محض انتشار، به‌همراه پادکست روزانه در کانال تلگرام هکرنیوز بلاگ.