thể trùng lặp:
How do emulators work and how are they written?Làm cách nào để tìm hiểu cách viết trình mô phỏng bảng điều khiển?
Tôi muốn thử viết một giả lập gameboy cơ bản, hoặc thậm chí có thể NES. Tôi biết những điều cơ bản của C và tôi khá tốt ở Java, vì vậy tôi biết những điều cơ bản cần thiết của lập trình. Những gì tôi không biết mặc dù, là cách mọi người xử lý tất cả các dữ liệu vào một chương trình C và tạo ra một giả lập ra khỏi nó. Tôi biết tôi nên học từ nguồn, nhưng thật khó để thấy một loạt các dòng mã mà không biết tại sao họ lại ở đó và họ phải làm gì. Tôi bắt đầu từ đâu nếu tôi muốn học cách viết một trình giả lập như vậy?
Tôi đã tìm kiếm trên Internet, nhưng tôi chỉ tìm thấy các hướng dẫn không rõ ràng chứa quá nhiều lỗi để tự mình tìm ra. Tôi bắt đầu từ đâu?
Tôi có một bộ sưu tập các mô phỏng http://github.com/dwelch67 Những gì bạn cần phải học đầu tiên là ngôn ngữ lắp ráp cho các cpu mục tiêu, sau đó làm việc trên một disassembler rằng disassembles nhằm thực hiện , tại một số điểm bạn chỉ có thể bắt đầu chuyển nó vào bộ mô phỏng lệnh. Sau đó, bạn phải làm giả lập cho tất cả các thiết bị ngoại vi. Vì vậy, bạn sẽ cần tài liệu tốt cho hệ thống mà bạn đang mô phỏng. –
Cách tiếp cận khác là một trình dịch nhị phân tĩnh, SBT. http://www.dwelch.com/ipod/asteroids.htm là một trong những tôi đã làm cho ipod (cổ điển) Tôi có rất nhiều công việc trên đó một kể từ khi phát hành, không được xuất bản bất cứ nơi nào mặc dù. Một hướng dẫn tốt về chủ đề này. http://www.gtoal.com/sbt/ bạn cũng có thể thực hiện dịch năng động, dịch nhanh hơn là tĩnh. Tôi sẽ không cố gắng năng động cho đến khi bạn có thể làm tĩnh. –