سؤال

وطيب. آمل أن لا يحصل أغلقت لأن لدي هذا الفضول منذ 25 عاما وأنا أحب أن فهم خدعة.

في العميد 64 كانت الحدود لا عنونة قبل VIC 6569. وكان كل ما يمكن القيام به لرسم بكسل في المنطقة الوسطى، واحد حيث انتقل المؤشر. كانت الحدود موحد دائما، على الرغم من أنك قد يتغير لونه مع كزة 53280، اللون إذا كنت أتذكر بشكل صحيح.

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

تعديل : لمجرد قراءة هذا من أحد الروابط الموجودة

<اقتباس فقرة>   

وكانت المضاعفة العفاريت عبر   الخطوط النقطية العمودية (أكثر من 8 العفاريت،   في بعض الأحيان تصل إلى 120 العفاريت). حتى   أصدرت قمة المجموعة Krestage 3 في   مايو 2007 كان هناك شائعة   تصور أن لا يزيد عن 8 العفاريت   يمكن أن تظهر في خط النقطية واحد، ولكن   جعلت تعيين الإحداثيات Y الجديدة التي   الظهور مزيد من أسفل الشاشة.

وهذا هو الشر .... أنت ضربت خطوط المسح وإعادة العفريت قبل أن يحصل هناك ...

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

المحلول

أولا العفاريت فقط يمكن عرضها في المنطقة الحدودية أو تكرار نمط 8 بت (8 بكسل) وهو يقرأ من البايت الأخير من البنك الفيديو، وعادة 3fff $. ملاحظة يمكنك فقط مشاهدة هذه العفاريت أو 8 نمط قليلا عند خداع رقاقة VIC إلى "عدم عرض" الحدود. انظر أدناه.

والحدود لها أولوية أعلى من العفاريت، لذلك عادة عندما يتم رسم شبح في منطقة حدودية يغطي الحدود والعفريت. مع قليل من VIC رقاقة الخداع يمكنك تحويل الحدود قبالة.

ويمكنك تشغيل أعلى وأسفل الحدود قبالة بسهولة جدا (ساوضح أدناه)، والحدود الجانب قبالة مع توقيت حرج للغاية.

أولا قليلا من المعلومات عن الكيفية التي يعمل بها رقاقة VIC على C64.

ورقاقة VIC توجه الشاشة من أعلى اليسار إلى أعلى اليمين، ثم إلى أسفل الخط، ومن اليسار إلى اليمين مرة أخرى حتى يتم رسم الشاشة بأكملها. ينفذ هذا إعادة رسم 50 مرة في الثانية (وحدات PAL) أو 60 مرة في الثانية ل(وحدات NTSC).

وهناك تسجيل VIC 8 بت الذي يحتوي على الوضع الرأسي للالنقطية في أي وقت من الأوقات. $ D012. في الواقع هناك أكثر من 255 المناصب الممكنة، لذلك يتم تخزين بت 9TH في بت 7 (أعلى بت) أو التسجيل $ D011. لذلك في أي لحظة يمكنك أن تقرأ هذه السجلات ومعرفة الوضع الرأسي للخطوط المسح. لا يوجد سجل متاحة للقراءة موقف س من النقطية.

وكانت تستخدم ميزة أخرى للرقاقة VIC بارد لإصلاح مشكلة عند استخدام التمرير الأجهزة. وقد تحقق التمرير الرأسي الأساسي باستخدام السجل الأجهزة لتحريك الشاشة 0-7 بكسل رأسيا. بمجرد صلت إلى حد (0 أو 7 تبعا لاتجاه التمرير) التي ستنقل كل كتلة حرف (8X8 بكسل) كتلة واحدة عموديا ورسم البيانات الجديدة ليتم عرضها في الجزء العلوي (أو الاتجاه اعتمادا السفلي). هذا يعمل بشكل جيد للغاية، إلا أن كل 8 بكسل من التمرير كنت انظر البيانات "البوب" على الشاشة. لتصحيح هذا، هل يمكن أن تجعل المنطقة الحدودية تنمو بنسبة 8 بكسل رأسيا من خلال المقاصة بت 3 في تسجيل $ D011. وهذا ما يسمى 24 وضع التوالي. افتراضيا تم تعيين الشاشة إلى 25 صفوف من الأحرف 8X8 بكسل. في 24 وضع صف واحد، هل يمكن أن يزال رسم الأحرف إلى الصف السفلي، فإنها مجرد أن تكون مخفية من الحدود.

وهكذا خدعة لإيقاف تشغيل أعلى وأسفل الحدود هي:

1) تعيين وضع الشاشة إلى 25 صف واحد

2) الانتظار لالنقطية للوصول إلى الوضع الرأسي بين F2 $ و $ كرة القدم (8 بكسل بين حيث يبدأ الحدود في كل من 24 و 25 واسطة الصف وضع صف).

و3) تعيين وضع الشاشة إلى 24 صف ... تتحرك بداية العمودي الحدود فوق موقف النقطية الحالي

و4) انتظر حتى بعد موقف النقطية العمودي ($ كرة القدم)

و5) كرر كل إطار

والخطوة 3) الحيل رقاقة VIC إلى التفكير أنها بدأت بالفعل رسم الحدود، لذلك لم يبدأ رسم عليه. فويلا، أعلى وأسفل الحدود مفتوحة.

وفيما يتعلق الجانب يجاور يمكنك أن تفعل الشيء نفسه مع سجلات مختلفة، ولكن باسم حركة أفقية من خطوط المسح هو اسرع بكثير ثم حركة عمودية توقيت يحتاج إلى أن يكون أكثر تشددا بكثير. وهناك قضية أخرى أن تأخذ في الاعتبار يسمى غضب. <-الذي أنا لن أشرح هنا. البحث في الويب ل "مستقرة النقطية C64" لفي العمق كسبلايناتيون لهذه المسألة.

نصائح أخرى

ملحوظة أن ما فعله Krestage 3 (كما ذكر في السؤال) مختلفة.

ومستوى واحد من خدعة هو الفوضى مع الحدود عند مجرد الانجرار الجزء السفلي من "ورقة" (المستطيل عمل منطقة، والشيء داخل الحدود). وهذا يتيح لديك العفاريت في الحدود العليا والسفلى.

ومستوى أعلى هو فوضى معها على حافة اليمنى من ورقة، في كل سطر النقطية، وكلها كما هو موضح في الإجابة JohnD في أعلاه. وهذا يتيح لديك العفاريت في الحدود اليسار واليمين.

لا شيء من هذا يتيح لديك أكثر من 8 العفاريت في سطر واحد. هذا مجرد Krest السحر.

وحتى الآن أفضل الموارد (وأنا أعلم من) لرقاقة VIC هو <وأ href = "http://ist.uwaterloo.ca/~schepers/MJK/ascii/VIC-Article.txt" يختلط = "نوفولو noreferrer ">" وحدة تحكم MOS 6567/6569 الفيديو (VIC-II) وتطبيقه في الكومودور 64 " كريستيان باور والإضافة المفيدة هو <وأ href =" http://ist.uwaterloo.ca /~schepers/MJK/ascii/vic2-pal.txt "يختلط =" noreferrer نوفولو ">" ذاكرة يصل من MOS 6569 VIC-II وMOS 8566 VIC-معهد التعليم الدولي فيديو واجهة وحدة تحكم " التي كتبها ماركو ماكيلا.
قارئا التحذير: هذه هي الفني إلى حد ما، وكنت قد تجد لها أسهل للفهم بعد أن كنت قد برمجت بعض الآثار VIC نفسك.

إذا الروابط يموت من أي وقت مضى، مجرد جوجل تصل هذه المواد عن طريق العنوان، انهم تكرار ما لا نهاية.

ويمكنك فتح العلوي وأسفل الحدود مع البرنامج الأساسي بسيط:

    1 poke56334,0:poke53266,212:poke53265,27:poke16383,0
    2 h=53265:i=53273:h1=19:h2=27:i1=1
    3 pokei,i1:waiti,i1:pokeh,h1:pokeh,h2:goto3

وايم الذهاب الى اتخاذ طعنة في الظلام هنا (طعاما فعلت هذا بنفسي). لقد وجدت هذا على ويكيبيديا.

c64demo قسم يوضح ما يلي:

<اقتباس فقرة>   

ويعتقد تأثيرات كانت مستحيلة   المحرز في العروض، ويرجع ذلك في معظمه إلى   غير موثقة من الآثار الجانبية المتعلقة   إلى MOS تقنية VIC-II رقاقة .   بعض الأمثلة عن VIC-الخداع:

واحدة من الخارقة المذكورة كان:

<اقتباس فقرة>   وضعت

وscrollers العفريت في   الحدود. عن طريق خداع الأجهزة لا   رسم الحدود حول الشاشة،   يمكن نقل العفاريت في هذا المجال   وعرضها.

وبطبيعة الحال، فإن الجزء مثيرة للاهتمام من السؤال هو كيفية القيام به. أود أن أقترح تبحث في بعض عرض قاعدة بيانات الذي يتضمن شفرة المصدر في البحث عن العرض التي توظف الإختراق.

وPRINT "كان 53280، DUDE."

وحسب ما أعرف، وهذا هو فقط من الممكن للالعفاريت.

ويسمح العفاريت ليكون في المنطقة الحدودية، ويحصل رسم الحدود فاق. من خلال بعض الخداع، والحدود يمكن إزالتها.

والرسومات في الحدود: العفاريت إما أو باستخدام تأثير $ 3FFF (الذي هو في الواقع ليس العفاريت على الإطلاق). للذهاب إلى بالتفصيل يحتاج أكثر من ذلك بكثير المكان والزمان من عندي المتاحة هنا.

ويمكنك أيضا الحصول على العفاريت من الحدود في التعليم الأساسي: BASIC العفاريت في الحدود

وIIRC، كان هناك أيضا بعض الطريق إلى الخلط بين شرائح الفيديو، لدرجة أن تلفت خط ال26 النص.

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