سؤال

انها عطلة نهاية الأسبوع ، لذا الاسترخاء من إنفاق كل أسبوع البرمجة عن طريق الكتابة هواية المشروع.

كتبت إطار MOS 6502 وحدة المعالجة المركزية المحاكي أمس, سجلات, كومة الذاكرة و كل opcodes يتم تنفيذها.(رابط المصدر أدناه)

أنا يمكن يدويا تشغيل سلسلة من العمليات في المصحح كتبت ، ولكن أود أن تحميل متنوعه rom فقط نقطة عداد البرنامج في التعليمات ، ظننت أن هذا سيكون أسرع طريقة للعثور على عيوب opcodes.

كتبت سريعة متنوعه مدمج محمل تحميل ROM البنوك في وحدة المعالجة المركزية الذاكرة.

المشكلة هي أنني لا أعرف كيف opcodes يتم ترميز.وأنا أعلم أن opcodes أنفسهم اتباع نمط من بايت واحد لكل شفرة التشغيل الذي يعرف بشكل فريد شفرة التشغيل,

0 - BRK
1 - ORA (D,X)
2 - COP b

الخ

ومع ذلك أنا لست متأكدا من أين أنا من المفترض أن العثور على شفرة تشغيل الحجة.هل هو البايت مباشرة ما يلي ؟ في المطلق الذاكرة, أعتقد أنه قد لا يكون بايت ولكن قصيرة.

هو أي شخص على دراية مع هذه المعالجة المركزية ذاكرة النموذج ؟

تحرير:وأنا أدرك أن هذا هو على الارجح طلقة في الظلام, ولكن كنت اتمنى لو كان هناك بعض تغذية rss أبل العميد قراصنة الكامنة هنا.

تحرير: شكرا على مساعدة الجميع.بعد تنفيذ التغييرات المناسبة إلى محاذاة كل عملية المعالجة المركزية يمكن تحميل وتشغيل ماريو براذرز.فإنه لا يفعل أي شيء سوى حلقة في انتظار البدء ، ولكن علامة جيدة :)

أنا حملت المصدر:

https://archive.codeplex.com/?p=cpu6502

إذا كان أي شخص لديه أي وقت مضى يتساءل كيف المحاكي يعمل ، من السهل جدا أن يتبع.ليس الأمثل في الأقل ، ولكن بعد ذلك مرة أخرى أنا محاكاة وحدة المعالجة المركزية التي تدير في 2mhz على 2.4 ghz الجهاز :)

هل كانت مفيدة؟

المحلول

على شفرة تشغيل يأخذ بايت واحد و المعاملات هي التالية بايت.تحقق بايت حجم العمود هنا, على سبيل المثال.

نصائح أخرى

إذا كنت تبحث في المراجع مثل http://www.atarimax.com/jindroush.atari.org/aopc.html, سوف ترى أن كل شفرة التشغيل لديها ترميز محدد مثل:

HEX LEN TIM

HEX الخاص بك هو 1 بايت شفرة التشغيل.مباشرة بعد ذلك هو لين بايت من حجة.استشارة المرجعية أن ترى ما هي تلك الحجج.تيم بيانات مهمة في محاكاة - هو عدد من الساعة دورات هذه التعليمات يأخذ لتنفيذ.سوف تحتاج هذا التوقيت الصحيح.

هذه القيم (ليون تيم) غير المشفرة في شفرة تشغيل نفسه.تحتاج إلى تخزين هذه البيانات في البرنامج محمل/executer.انها مجرد كبيرة جدول بحث.أو يمكنك تحديد مصغرة لغة ترميز البيانات و القارئ.

هذا الكتاب قد تساعد: http://www.atariarchives.org/mlb/

أيضا حاول أن تتناول أي 6502 aseembler/محاكاة/المصحح هناك لنرى كيف يحصل الجمعية مشفرة مثل لغة الآلة.

على 6502 الأدلة على شبكة الإنترنت في مختلف مواقع التاريخ.كيم-1 شحنت معهم.ربما أكثر مما كنت بحاجة إلى معرفة.

أبل الثاني مدمجة تضمنت dissassembler, أعتقد أن هذا هو ما كان يسمى وسوف تظهر لك في لطيفة شكل hex opcodes و 3 حرف شفرة التشغيل و المعاملات.

وذلك بالنظر إلى الذاكرة قليلا ، تمكنوا من يشق في المعامل البايت (دائما 0 ، 1 أو 2) 3 حرف شفرة تشغيل كامل 6502 مجموعة التعليمات في مساحة صغيرة جدا ، لأن هناك حقا ليس كثيرا من ذلك.

إذا كان يمكنك حفر تفاحة الثاني rom يمكنك قص ولصق من هناك...

على 6502 مختلفة لمعالجة أوضاع نفس التعليمات عدة مختلفة opcodes اعتمادا على معالجة الوضع.نلقي نظرة على الروابط التالية التي تصف مختلف طرق 6502 يمكن استرداد البيانات من الذاكرة ، أو مباشرة من ROM.

http://obelisk.me.uk/6502/addressing.html#IMM

هذا هو أفضل - 6502 مجموعة التعليمات مصفوفة:

https://www.masswerk.at/6502/6502_instruction_set.html

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top