التثبيت والتعديل

جزء من صورة ملونة كاملة (يسار) مقابل صورة Amiga HAM (يمين)

نمط العرض "التثبيت والتعديل" (Hold-And-Modify) ، [ 1 ] [ 2 ] [ 3 ] ويُختصر عادةً إلى HAM ، [ 4 ] هو نمط عرض في حاسوب أميغا . [ 5 ] يستخدم هذا النمط تقنية فريدة لعرض ألوان البكسلات، مما يسمح بظهور ألوان أكثر بكثير على الشاشة مما كان ممكنًا في السابق. كان نمط HAM يُستخدم عادةً لعرض الصور الفوتوغرافية الرقمية أو إطارات الفيديو، [ 6 ] ورسومات البت ماب، وأحيانًا الرسوم المتحركة. عند إطلاق أميغا عام 1985، كان هذا العرض شبه الواقعي غير مسبوق بالنسبة لحاسوب منزلي، وقد استُخدم على نطاق واسع لعرض قدرات أميغا الرسومية. [ 7 ] مع ذلك، يعاني نمط HAM من قيود تقنية كبيرة تمنعه ​​من أن يكون نمط عرض عام.

خلفية

تستخدم مجموعة شرائح Amiga الأصلية شاشة مسطحة ذات مساحة ألوان RGB 12 بت والتي تنتج 4096 لونًا ممكنًا.

كانت صورة ساحة اللعب تُخزّن في قسم من الذاكرة الرئيسية يُعرف باسم ذاكرة الوصول العشوائي للرقاقة (Chip RAM )، والتي كانت مشتركة بين نظام العرض ووحدة المعالجة المركزية الرئيسية . وكان نظام العرض يستخدم عادةً نظام ألوان مُفهرسًا مع لوحة ألوان .

احتوت المكونات المادية على 32 مسجلاً يمكن ضبطها على أي من الألوان الـ 4096 الممكنة، ويمكن للصورة الوصول إلى ما يصل إلى 32 قيمة باستخدام 5 بتات لكل بكسل. ويمكن استخدام البت السادس المتاح بواسطة وضع عرض يُعرف باسم " السطوع النصفي الإضافي" الذي يقلل سطوع ذلك البكسل إلى النصف، مما يوفر طريقة سهلة لإنتاج تأثيرات الظلال. [ 2 ]

وضع الضغط والتعديل

صُمم البث التلفزيوني التناظري الملون عبر الأثير لحل مشكلة إرسال إشارة ملونة عبر نطاق التردد المخصص لإشارات الأبيض والأسود. وقد وُجد أن النظام البصري البشري أقل حساسية بكثير لتغيرات اللون مقارنةً بتغيرات السطوع. واستغلالاً لهذه الخاصية، خفّض نظام NTSC دقة إشارة الأبيض والأسود قليلاً، والتي أصبحت تُعرف باسم الإضاءة (لوما). أدى انخفاض الدقة إلى توفير قدر ضئيل من نطاق التردد غير المستخدم، والذي استُخدم بعد ذلك لبث إشارة لونية ذات دقة أقل بكثير تُعرف باسم اللون (كروما). ثم تُقسّم إشارة اللون إلى إشارتين: الصبغة والتشبع، وتُعرف الإشارة الثلاثية الناتجة باسم HSV ، اختصارًا للصبغة والتشبع والقيمة. وقبل البث مباشرةً، تُشفّر الصبغة والتشبع بشكل إضافي، على الرغم من اختلاف تفاصيل هاتين الإشارتين بين أنظمة البث المختلفة - في نظام NTSC تُعرف باسم YIQ ، وفي نظام PAL تُعرف باسم Y'UV . [ 8 ] [ 9 ]

في أجهزة الكمبيوتر ووحدات ألعاب الفيديو في عصر الحواسيب المنزلية ، والتي كانت تستخدم عادةً أجهزة التلفزيون الملونة كشاشات عرض ، كانت الإشارات داخل الكمبيوتر تُشفّر عادةً بنظام HSV. وكان من الممكن تحويل هذه الإشارة بسهولة إلى YIQ أو YUV حسب الحاجة، ثم إرسالها إلى التلفزيون باستخدام مُعدِّل ترددات الراديو . ولأن التلفزيون كان يستقبل إشارة ذات دقة ألوان منخفضة، فقد قامت العديد من أنظمة ذلك العصر بتشفير رسوماتها بطريقة تُقلل أيضًا من دقة إشارة الألوان لتوفير الذاكرة. على سبيل المثال، كان جهاز ZX Spectrum يخزن الألوان لمجموعات من 8 بكسلات فقط، لكن هذا جعل من الصعب إنشاء صور ملونة عالية الدقة بسبب مشكلة تُعرف باسم تداخل السمات . [ 10 ]

في جهاز أميغا، طُوّر نمط HAM كحلٍّ لتقليل متطلبات ذاكرة دقة الألوان مع تجنُّب تضارب السمات. في هذا النظام، يُحدَّد لونٌ أولي، ثم تُستخدم البيانات اللاحقة لتعديل تلك القيمة. عادةً ما تُستخدم البيانات لإجراء تعديلات على الإضاءة (luma)، مما يُنتج صورةً ذات دقة أعلى تعتمد على لونين، مثل نظام Spectrum، ولكن هذا النظام لا يحتوي على حواف ثابتة الموقع، ويمكن للترميز تغيير اللون الأساسي في أي مكان على طول الخط. على سبيل المثال، يمكن ضبط لون جزءٍ مُعيَّن من خطٍّ ما إلى "أزرق سماوي"، ثم استخدام باقي بيانات ذلك الخط لترميز التغييرات في السطوع، مع تعديل الإضاءة (luma) بشكلٍ دوري فقط، لعرض السحب وما شابهها من ميزات. هذه هي نفس التقنية الأساسية المُستخدمة في تقنيات ضغط الصور الحديثة مثل JPEG و MPEG ، وكذلك في أنماط الفيديو الأخرى القائمة على HSV/YUV مثل ترميز YJK لشريحة V9958 MSX-Video (المُستخدمة لأول مرة في MSX2+ ). [ 11 ]

مع تحوّل تصميم أميغا من جهاز ألعاب إلى حاسوب منزلي متعدد الأغراض، تم تغيير شريحة الفيديو من نظام HSV إلى نظام ألوان RGB الحديث . ويبدو أن هذا التغيير قد ألغى الكثير من مزايا وضع HAM. ويروي جاي مينر، قائد مشروع أميغا، ما يلي:

جاءت فكرة التثبيت والتعديل من رحلة لمشاهدة أجهزة محاكاة الطيران ، حيث راودتني فكرة بدائية عن نوع من الواقع الافتراضي . كان نظام NTSC على الشريحة يسمح بتثبيت درجة اللون وتغيير الإضاءة بتعديل أربعة بتات فقط. عندما انتقلنا إلى نظام RGB، قلتُ إن هذه الميزة لم تعد ضرورية لأنها غير مفيدة، وطلبتُ من مصمم الشريحة إزالتها. عاد وقال إن ذلك سيترك فراغًا كبيرًا في منتصف الشريحة أو سيتطلب إعادة تصميم لمدة ثلاثة أشهر، وهذا غير ممكن. لم أظن أن أحدًا سيستخدمها. كنتُ مخطئًا مرة أخرى، فقد منحت هذه الميزة جهاز Amiga تفوقه من حيث لوحة الألوان. [ 12 ]

كان الشكل النهائي لتقنية Hold-And-Modify، من الناحية المادية، مطابقًا وظيفيًا لمفهوم HSV الأصلي، ولكن بدلًا من العمل على المكونات الوصفية الثلاثة (مع إعطاء الأولوية للمكون V في الغالب)، فإنه يُعدّل إحدى قنوات ألوان RGB الثلاث، والتي يتم تحديدها بواسطة بتات القناع. يتم التحويل من HAM إلى مخرج RGB في الوقت الفعلي بواسطة جهاز العرض، أثناء عرض البيانات في مخزن الرسومات المؤقت. في كود HAM6 على سبيل المثال، يُستخدم بتّان للإشارة إلى القيمة التي يتم تغييرها، بينما تُستخدم أربعة بتات أخرى لترميز قيمة. تشير إحدى قيم العلامات الأربع الممكنة، وهي الصفر، إلى أن بتات البيانات الأربعة تختار لونًا أساسيًا من القيمة الموجودة في أحد سجلات الألوان الستة عشر المُحددة مسبقًا. من الممكن استخدام هذه الأنواع من القيم فقط، مما ينتج عنه شاشة عرض بستة عشر لونًا باستخدام ستة بتات لكل بكسل. تشير الأنماط الثلاثة الأخرى الممكنة، من 1 إلى 3، إلى أنه يجب استبدال قيمة اللون الأزرق أو الأحمر أو الأخضر (على التوالي) من قيمة السجل الأصلية بالبيانات التالية المكونة من أربعة بتات. تم تخزين قيم الإخراج النهائية في سجل داخل محول الإشارة الرقمية إلى التناظرية (DAC) الذي أنتج الإخراج النهائي. ومن خلال الاختيار الدقيق للألوان الأساسية الستة عشر، متبوعًا بالتعديلات المناسبة، أمكن عرض العديد من الألوان في صورة واحدة. [ 13 ]

يمكن اعتبار تقنية HAM تقنية ضغط مع فقدان للبيانات ، تشبه في طريقة عملها وكفاءتها تقنية JPEG باستثناء مرحلة تحويل جيب التمام المنفصل (DCT ). في وضع HAM6، يتم ترميز مساحة عرض فعالة مكونة من 4096 لونًا (12 بت) في نصف الذاكرة المطلوبة عادةً، ويقلل وضع HAM8 هذا الحجم إلى حوالي 40%. مع ذلك، يوجد ثمن لهذا الضغط البسيط: فزيادة دقة الألوان الإجمالية تأتي على حساب ظهور تشوهات أفقية، نتيجة عدم القدرة على ضبط أي بكسل على قيمة عشوائية 12 بت (أو 18 أو 24 بت في الطرازات الأحدث). في أسوأ الأحوال، قد يتطلب الأمر ثلاثة بكسلات للانتقال من لون إلى آخر، مما يقلل الدقة الفعالة عند تلك النقطة من "320 بكسل" إلى وضع "106 بكسل" تقريبًا، ويتسبب في انتشار التلطخات والظلال على طول خط المسح إلى يمين عنصر عالي التباين إذا لم تكن سجلات الألوان الستة عشر المتاحة كافية.

الاستخدام

لقطة شاشة من لعبة Juggler ، وهي نسخة تجريبية ثلاثية الأبعاد صدرت عام 1987 باستخدام وضع HAM

عند إطلاق جهاز أميغا عام 1985، قدّم وضع HAM ميزةً كبيرةً على الأنظمة المنافسة. يسمح وضع HAM بعرض جميع الألوان البالغ عددها 4096 لونًا في آنٍ واحد، مع مراعاة القيود المذكورة سابقًا. كان هذا العرض شبه الواقعي غير مسبوقٍ بالنسبة لأجهزة الكمبيوتر المنزلية في ذلك الوقت، وسمح بعرض الصور الرقمية [ 7 ] والصور ثلاثية الأبعاد المُجسّمة. بالمقارنة، كان معيار EGA الخاص بأجهزة IBM-PC آنذاك يسمح بعرض 16 لونًا فقط من أصل 64 لونًا. أما معيار VGA، الذي خلف EGA والذي صدر عام 1987 مع وضع الألعاب الرئيسي فيه، الوضع 13h ، فقد سمح بعرض 256 لونًا من أصل 262144 لونًا. كان وضع HAM يُستخدم بكثرة لعرض قدرات أميغا في المتاجر والعروض التجارية، نظرًا لعدم قدرة الأجهزة المنافسة على مُضاهاة عمق الألوان. وبسبب القيود المذكورة أعلاه، استُخدم وضع HAM بشكل أساسي لعرض الصور الثابتة، وتجنّب المطورون استخدامه إلى حد كبير مع الألعاب أو التطبيقات التي تتطلب رسومًا متحركة. [ 7 ]

استُخدم نمط HAM في اثنتي عشرة لعبة فقط، بدءًا من لعبة Pioneer Plague عام 1988. ومن بين ألعاب HAM الأخرى: Knights of the Crystallion ، [ 7 ] [ 14 ] وLinks: The Challenge Of Golf و Overdrive (Infacto) و Kang Fu و AMRVoxel و RTG و Zdzislav: Hero Of The Galaxy 3D و OloFight و Genetic Species . [ 15 ]

مع إدخال بنية الرسومات المتقدمة (AGA)، أصبح بإمكان الصورة المسطحة التقليدية أن تحتوي على لوحة ألوان تضم 256 لونًا، مما يوفر دقة ألوان أعلى بكثير. أصبح وضع HAM الأصلي، بدقة ألوانه المحدودة، أقل جاذبية لمستخدمي أجهزة AGA، على الرغم من أنه ظل مُضمّنًا للتوافق مع الإصدارات السابقة. كان وضع HAM8 الجديد أقل فائدة لشريحة AGA مقارنةً بوضع HAM للشريحة الأصلية، حيث أن أوضاع الألوان المفهرسة الأكثر بساطة (256 لونًا) (بالإضافة إلى أوضاع الألوان المسطحة ذات الأداء العالي (128 و64 لونًا)) زادت بشكل كبير من خيارات الفنان دون المعاناة من عيوب وضع HAM. قد يكون وضع لوحة الألوان "المقطعة" المبرمج جيدًا أكثر فائدة من HAM8، حيث يصل إلى 256 لونًا فريدًا لكل سطر - وهو ما يكفي لتحديد لون مميز لكل بكسل إذا تم تعريف وضع فيديو بعرض 256 بكسل، وفي الدقة العالية، حتى لوحة ألوان واحدة مكونة من 256 لونًا للشاشة بأكملها، ناهيك عن كل سطر، تسمح بمحاكاة أكثر فعالية ودقة لأعماق ألوان أعلى باستخدام التمويه مما يمكن تحقيقه باستخدام 32 لونًا فقط.

أصبح الغرض الأصلي من تقنية HAM، وهو توفير دقة ألوان أعلى رغم محدودية حجم مخزن الفيديو ونطاق تردد الذاكرة، غير ذي صلة إلى حد كبير بفضل إزالة هذه القيود. وبما أن أجهزة الكمبيوتر الحديثة قادرة بطبيعتها على عرض ألوان حقيقية عالية الدقة دون أي حيل خاصة، لم تعد هناك حاجة لتقنيات عرض مثل HAM؛ ولأن بطاقات الرسومات المشابهة لأجهزة الكمبيوتر الشخصية، والتي توفر أوضاعًا مثل 800×600 SVGA بألوان عالية (16 بت لكل بكسل ، أو 65536 لونًا قابلاً للتحديد مباشرة)، كانت متوفرة بالفعل لجهاز Amiga في أيامه الأخيرة، فمن غير المرجح أن يتم الاهتمام بأي تطويرات أخرى لهذه التقنية لو استمرت حتى يومنا هذا.

القيود

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

يفرض وضع HAM قيودًا على قيمة البكسلات المتجاورة في كل خط أفقي من ساحة اللعب. ولعرض لونين متجاورين، قد يتطلب الأمر تغيير لون بكسلين وسيطين إلى اللون المطلوب (إذا تطلب الأمر تعديل مكونات الأحمر والأخضر والأزرق). في أسوأ الأحوال، يؤدي هذا إلى تقليل دقة اللون الأفقية القابلة للاستخدام إلى النصف، من 320-360 بكسل إلى 106-120 بكسل. ومع ذلك، يُعد هذا الوضع أفضل من تقنيات الفيديو الحديثة مثل VHS التي تتمتع بدقة لون تبلغ حوالي 40 خطًا تلفزيونيًا ، أي ما يعادل تقريبًا 80 بكسل.

يُتيح عرض هذه الصور عبر وصلة فيديو مركبة بعض التنعيم الأفقي الذي يُقلل من تشوهات الألوان. ولكن عند استخدام شاشة RGB ، تصبح التشوهات ملحوظة بشكل خاص في مناطق التباين الحاد ( تدرجات الألوان الأفقية القوية )، حيث قد تظهر تشوهات متعددة الألوان غير مرغوب فيها أو ما يُعرف بـ"الهدب". وقد استُخدمت تقنيات عرض متنوعة لتقليل تأثير "الهدب"، وغالبًا ما صُممت شاشات HAM لتضمين تدرجات لونية أفقية دقيقة، مع تجنب الحواف والتباينات الرأسية.

يتطلب عرض صورة ملونة كاملة في وضع HAM معالجة مسبقة دقيقة. ولأن HAM لا يستطيع تعديل سوى أحد مكونات RGB في كل مرة، فإن أفضل طريقة لتحقيق انتقالات لونية سريعة على طول خط المسح هي استخدام أحد سجلات الألوان المُعدّة مسبقًا لهذه الانتقالات. لعرض أي صورة، يمكن للمبرمج فحص الصورة الأصلية أولًا بحثًا عن أبرز هذه الانتقالات، ثم تعيين تلك الألوان لأحد السجلات، وهي تقنية تُعرف باسم لوحات الألوان التكيفية . مع ذلك، ونظرًا لوجود 16 سجلًا فقط في وضع HAM الأصلي، فمن الشائع فقدان بعض دقة الألوان.

بالإضافة إلى ذلك، لا يسمح وضع HAM بسهولة بتحريك الشاشة بشكل عشوائي. على سبيل المثال، إذا أُريد نقل جزء عشوائي من ساحة اللعب إلى موضع آخر على الشاشة، فقد يلزم إعادة حساب قيم التثبيت والتعديل على جميع خطوط المصدر والهدف لعرض الصورة بشكل صحيح (وهي عملية غير مناسبة للتحريك). تحديدًا، إذا احتوت الحافة اليسرى للكائن المتحرك على أي بكسلات "تعديل"، أو إذا احتوت الصورة الموجودة مباشرةً على يمين الكائن على أي بكسلات "تعديل"، فيجب إعادة حساب قيم التثبيت والتعديل هذه. ستؤدي محاولة تحريك كائن على الشاشة (مثل استخدام أداة Blitter ) إلى ظهور حواف واضحة على الحدود اليسرى واليمنى لتلك الصورة، ما لم تكن الرسومات مصممة خصيصًا لتجنب ذلك. لتجنب إعادة حساب قيم التثبيت والتعديل وتفادي التداخل اللوني، يتعين على المبرمج التأكد من أن البكسل الأيسر في كل عنصر من عناصر العرض، والبكسل الأيسر في كل سطر من ساحة اللعب المتحركة، هو بكسل "مُثبَّت". يجب تصميم لوحة الألوان بحيث تتضمن كل بكسل من هذا النوع. بدلاً من ذلك، يمكن تحريك شاشة HAM عن طريق توليد قيم البكسل من خلال التوليد الإجرائي ، على الرغم من أن هذا مفيد عمومًا للصور الاصطناعية فقط، مثل تأثيرات "قوس قزح" المستخدمة في العروض التوضيحية .

مع ذلك، تجدر الإشارة إلى أن خاصية التثبيت والتعديل تنطبق فقط على وحدات البكسل في ساحة اللعب. لا يزال بالإمكان وضع 128 بكسل من بيانات الرسوم المتحركة (في وضع DMA ) لكل سطر مسح فوق ساحة لعب HAM.

التطبيقات

مجموعة الشرائح الأصلية لوضع هواة اللاسلكي (HAM6)

مثال على وضع Hold-And-Modify Mode 6 الخاص بجهاز Commodore Amiga بعمق لون 12 بت، و16 لونًا أساسيًا للوحة الألوان، و6 مستويات بت ( HAM6 )

تم تقديم وضع HAM6، الذي سُمي بهذا الاسم نسبةً إلى 6 بتات من البيانات لكل بكسل، مع مجموعة الشرائح الأصلية، وتم الاحتفاظ به في مجموعة الشرائح المحسّنة اللاحقة وبنية الرسومات المتقدمة (AGA) . يسمح وضع HAM6 بعرض ما يصل إلى 4096 لونًا في وقت واحد بدقة تتراوح من 320×200 إلى 360×576.

يستخدم ترميز HAM6 ستة بتات لكل بكسل: بتان للتحكم وأربع بتات للبيانات. [ 16 ] إذا تم ضبط بتات التحكم على الصفر، تُستخدم البتات الأربع المتبقية لفهرسة أحد سجلات الألوان الستة عشر المُسبقة الضبط، وتعمل بنفس طريقة خريطة البتات المفهرسة العادية. تشير أنماط بتات التحكم الثلاثة الأخرى إلى أنه يجب استخدام لون البكسل السابق (إلى اليسار) على خط المسح، ويجب استخدام بتات البيانات لتعديل قيمة المكون الأحمر أو الأخضر أو ​​الأزرق. وبالتالي، توجد أربعة احتمالات: [ 2 ] [ 7 ]

بتات التحكمبتات البياناتتأثير
00XXXXتعيين : استخدم البتات الأربعة من البيانات لفهرسة لون من لوحة الألوان المكونة من 16 لونًا. استخدم هذا اللون لهذه البكسل.
01BBBBتعديل اللون الأزرق : احتفظ بمكونات اللون الأحمر والأخضر للبكسل السابق. استخدم البتات الأربعة من البيانات كمكون اللون الأزرق الجديد لهذا البكسل.
10RRRRتعديل اللون الأحمر : احتفظ بمكونات اللون الأخضر والأزرق للبكسل السابق. استخدم البتات الأربعة من البيانات كمكون اللون الأحمر الجديد لهذا البكسل.
11GGGGتعديل اللون الأخضر : احتفظ بمكونات اللون الأحمر والأزرق للبكسل السابق. استخدم البتات الأربعة من البيانات كمكون اللون الأخضر الجديد لهذا البكسل.

هام5

مثال على وضع Hold-And-Modify Mode 5 الخاص بجهاز Commodore Amiga بعمق لون 12 بت، و16 لونًا أساسيًا للوحة الألوان، و5 مستويات بت ( HAM5 )

يتوفر نمط مشابه، HAM5، [ 17 ] [ 18 ] حيث تُستخدم 5 بتات فقط من البيانات لكل بكسل. [ 16 ] البت السادس يكون دائمًا صفرًا، لذا لا يمكن تعديل سوى مُكوّن اللون الأزرق. [ 2 ] [ 19 ] ولأن تعديل مُكوّن اللون الأزرق فقط هو الممكن بدون أمر SET، فإن التأثير يقتصر على زيادة طفيفة في عدد درجات اللون الأصفر المائل للأزرق المعروضة. هذا النمط ليس مرنًا مثل HAM6، ولا يُستخدم على نطاق واسع. [ 20 ] [ 21 ]

بت التحكمبتات البياناتتأثير
0XXXXتعيين : استخدم البتات الأربعة من البيانات لفهرسة لون من لوحة الألوان المكونة من 16 لونًا. استخدم هذا اللون لهذه البكسل.
1BBBBتعديل اللون الأزرق : احتفظ بمكونات اللون الأحمر والأخضر للبكسل السابق. استخدم البتات الأربعة من البيانات كمكون اللون الأزرق الجديد لهذا البكسل.

لم يعد HAM5 موجودًا في مجموعة شرائح AGA. [ 22 ]

هام4

من الممكن أيضاً استخدام وضع HAM مع 4 مستويات بت. الاستخدام العملي محدود، ولكن هذه التقنية استُخدمت في العروض التوضيحية. [ 20 ] [ 23 ] [ 21 ]

هام7

من الممكن إعداد وضع HAM باستخدام 7 مستويات بت على OCS/ECS، ولكن ذلك سيستخدم 4 مستويات بت فقط. وقد تم توضيح هذه التقنية في العرض التوضيحي "HAM Eager". [ 24 ] أما في مجموعة شرائح AGA، فلم يعد وضع HAM7 موجودًا. [ 22 ]

وضع شرائح لحم الخنزير (شام)

مثال على وضع Hold-And-Modify Mode 6 الخاص بجهاز Commodore Amiga مع 16 لونًا مختلفًا في لوحة الألوان الأساسية لكل سطر ( SHAM )

تضمنت شريحة Amiga الأصلية شريحة دعم تُعرف باسم " النحاس" (Copper )، تتولى معالجة المقاطعات ووظائف التوقيت والصيانة الأخرى بشكل مستقل عن وحدة المعالجة المركزية ونظام الفيديو. باستخدام النحاس، يُمكن تعديل سجلات الشريحة أو مقاطعة وحدة المعالجة المركزية عند أي إحداثية عرض بالتزامن مع مخرج الفيديو. يتيح ذلك للمبرمجين استخدام إما كود خاص بالنحاس مُجمّع في قائمة Copperlist أو كود وحدة المعالجة المركزية لتأثيرات الفيديو مع تأثير منخفض جدًا على الأداء.

باستخدام هذه التقنية، طوّر المبرمجون وضع Sliced ​​HAM [ 25 ] أو SHAM ، المعروف أيضًا باسم Dynamic HAM [ 26 ] . يقوم SHAM بتغيير بعض أو كل سجلات الألوان على خطوط مسح محددة لتغيير لوحة الألوان أثناء العرض. هذا يعني أن كل خط مسح يمكن أن يحتوي على مجموعة خاصة به من 16 لونًا أساسيًا. يزيل هذا بعض القيود الناتجة عن محدودية لوحة الألوان، والتي يمكن اختيارها لكل سطر بدلًا من اختيارها لكل صورة. العيوب الوحيدة لهذا النهج هي أن Copperlist يستخدم دورات ساعة إضافية من ذاكرة الوصول العشوائي (RAM) للشريحة لتغييرات السجلات، وأن الصورة ليست نقطية فقط، بالإضافة إلى التعقيد الإضافي لإعداد وضع SHAM.

لا تقتصر هذه التقنية على نظام HAM، بل استُخدمت على نطاق واسع مع أوضاع الرسومات التقليدية للجهاز أيضًا. يستخدم نظام Dynamic HiRes تقنية مماثلة لتغيير لوحة الألوان لإنتاج 16 لونًا لكل سطر في أوضاع الدقة العالية، بينما يقتصر نظام HAM على الدقة المنخفضة ولكنه يسمح باستخدام 16 لونًا مُفهرسًا بالإضافة إلى إمكانية تعديلها.

تم التخلي عن فكرة SHAM عند طرح HAM8 مع شريحة AGA، [ 27 ] حيث أن صورة HAM8 غير المقسمة تتمتع بدقة ألوان أعلى بكثير من صورة HAM6 المقسمة. ومع ذلك، لا يزال SHAM أفضل وضع HAM متاح على أجهزة Amiga المزودة بشريحة OCS أو ECS.

بنية الرسومات المتقدمة، وضع HAM (HAM8)

مثال على وضع Hold-And-Modify Mode 8 الخاص بجهاز Commodore Amiga بعمق لون 24 بت، و64 لونًا أساسيًا، و8 مستويات بت ( HAM8 )

مع إصدار معمارية الرسومات المتقدمة (AGA) عام 1992، أُعيد تسمية وضع HAM الأصلي إلى "HAM6"، وطُرح وضع جديد باسم "HAM8" (يمثل الرقم اللاحق مستويات البت المستخدمة في وضع HAM المعني). مع AGA، أصبح لدى جهاز Amiga الآن ما يصل إلى 8 بتات لكل مكون لوني بدلاً من 4 بتات، مما أدى إلى 16,777,216 لونًا ممكنًا (مساحة لونية 24 بت).

يعمل نظام HAM8 بنفس طريقة نظام HAM6، حيث يستخدم بتّين للتحكم لكل بكسل، ولكن بستة بتات للبيانات لكل بكسل بدلاً من أربعة. وتختار عملية الضبط من بين 64 لونًا بدلاً من 16. أما عملية التعديل فتُعدّل البتات الستة الأكثر أهمية من مُكوّن اللون الأحمر أو الأخضر أو ​​الأزرق، بينما لا يمكن تغيير البتّين الأقل أهمية من اللون بهذه العملية، ويظلان كما تم ضبطهما بواسطة عملية الضبط الأخيرة.

بتات التحكمبتات البياناتتأثير
00XXXXXXتعيين : استخدم البتات الستة من البيانات لفهرسة لون من لوحة الألوان المكونة من 64 لونًا. استخدم هذا اللون لهذه البكسل.
01BBBBBBتعديل اللون الأزرق : احتفظ بمكونات اللون الأحمر والأخضر للبكسل السابق. استخدم البتات الستة من البيانات كمكون اللون الأزرق الجديد لهذا البكسل.
10RRRRRRتعديل اللون الأحمر : احتفظ بمكونات اللون الأخضر والأزرق للبكسل السابق. استخدم البتات الستة من البيانات كمكون اللون الأحمر الجديد لهذا البكسل.
11GGGGGGتعديل اللون الأخضر : احتفظ بمكونات اللون الأحمر والأزرق للبكسل السابق. استخدم البتات الستة من البيانات كمكون اللون الأخضر الجديد لهذا البكسل.

بالمقارنة مع HAM6، يستطيع HAM8 عرض عدد أكبر بكثير من الألوان على الشاشة. وقد أشارت التقارير إلى أن الحد الأقصى لعدد الألوان المعروضة على الشاشة باستخدام HAM8 هو 262,144 لونًا (مساحة ألوان RGB ذات 18 بت). في الواقع، يمكن أن يتجاوز الحد الأقصى لعدد الألوان الفريدة المعروضة على الشاشة 262,144 لونًا، وذلك اعتمادًا على أقل بتين أهمية لكل مكون لوني في لوحة الألوان المكونة من 64 لونًا. نظريًا، يمكن عرض جميع الألوان البالغ عددها 16.7 مليون لون باستخدام شاشة كبيرة بما يكفي ولوحة ألوان أساسية مناسبة، ولكن عمليًا، فإن القيود المفروضة على تحقيق الدقة الكاملة تعني تجاهل أقل بتين أهمية في أغلب الأحيان. وبشكل عام، فإن عمق الألوان المُدرَك في HAM8 يُعادل تقريبًا عمق الألوان في شاشة عالية الألوان .

دقة العرض الرأسية في HAM8 مماثلة لدقة HAM6. أما الدقة الأفقية، فيمكن أن تكون 320 بكسل (360 مع خاصية المسح الزائد) كما في السابق، أو مضاعفة إلى 640 بكسل (720 مع خاصية المسح الزائد)، أو حتى مضاعفة أربع مرات إلى 1280 بكسل (1440 مع خاصية المسح الزائد). كما قدمت شريحة AGA دقة أعلى لأنماط العرض المستوية التقليدية. لا يمكن أن يتجاوز إجمالي عدد البكسلات في صورة HAM8 829,440 بكسل (1440×576) باستخدام أنماط PAL، ولكنه يمكن أن يتجاوز 1,310,720 بكسل (1280×1024) باستخدام أجهزة عرض خارجية (Indivision AGA flicker-fixer ).

على غرار وضع HAM الأصلي، لا يمكن لشاشة HAM8 عرض أي لون عشوائي في أي موضع عشوائي، لأن كل بكسل يعتمد إما على مجموعة ألوان محدودة أو على مكونين لونيين كحد أقصى من البكسل السابق. وكما هو الحال في وضع HAM الأصلي، يمكن للمصممين أيضًا اختيار "تقسيم" الشاشة (انظر أعلاه) لتجاوز بعض هذه القيود.

محاكاة هواة اللاسلكي

يُعدّ نظام HAM خاصًا بجهاز Amiga وشرائحه المتميزة. وللسماح بعرض الصور القديمة المشفرة بنظام HAM مباشرةً، تم تطوير برامج محاكاة HAM لا تتطلب وجود شاشة العرض الأصلية. يمكن لإصدارات AmigaOS السابقة للإصدار 4.0 استخدام وضع HAM في وجود شريحة Amiga الأصلية. أما AmigaOS 4.0 والإصدارات الأحدث، المصممة لأجهزة مختلفة تمامًا، فتُوفر محاكاة HAM للاستخدام على أجهزة الرسومات الحديثة ذات المواصفات العالية . تستطيع برامج محاكاة Amiga المُخصصة ، التي تعمل على أجهزة غير أصلية، عرض وضع HAM من خلال محاكاة شاشة العرض. مع ذلك، ولأن تقنية HAM غير مستخدمة في أي بنية حاسوبية أخرى، فإن عرض صورة HAM على أي بنية أخرى يتطلب تفسيرًا برمجيًا لملف الصورة. سيُنتج فك التشفير البرمجي الدقيق نتائج متطابقة، بغض النظر عن اختلافات دقة الألوان بين إعدادات العرض.

مع ذلك، إذا كان الهدف هو مجرد عرض صورة SHAM على منصة غير Amiga، فيمكن حساب قيم الألوان المطلوبة مسبقًا بناءً على مدخلات لوحة الألوان المبرمجة عبر Copperlist، بغض النظر عما إذا تم تعديل لوحة الألوان في منتصف سطر المسح. ومن الممكن دائمًا تحويل صورة HAM أو SHAM إلى لوحة ألوان 32 بت دون فقدان أي بيانات.

تطبيقات HAM من جهات خارجية

كان جهاز من إنتاج شركة بلاك بيلت يُعرف باسم HAM-E قادراً على إنتاج صور بعمق ألوان HAM8 بدقة أفقية منخفضة من جهاز أميغا مزود بمجموعة شرائح أصلية. [ 28 ]

كان من المقرر إعداد جهاز أميغا لإنتاج صور عالية الدقة (بعرض 640 بكسل، و720 بكسل مع المسح الزائد). تطلب ذلك استخدام أربعة مستويات بتية بمعدل 70 نانوثانية لكل بكسل. احتوت الأسطر القليلة الأولى من الصورة على معلومات مُشفّرة لتكوين وحدة HAM-E. بعد ذلك، تم تشفير كل زوج من البكسلات بمعلومات لوحدة HAM-E، التي بدورها حوّلت هذه المعلومات إلى بكسل واحد بمعدل 140 نانوثانية (مما ينتج صورة بعرض 320 بكسل، أو 360 بكسل مع المسح الزائد، بعمق لوني يبلغ ثمانية مستويات بتية). وبذلك، كانت جودة HAM-E مماثلة لجودة صورة HAM8 منخفضة الدقة. استغلت تقنية HAM-E حقيقة أن الصورة عالية الدقة ذات أربعة مستويات بتية توفر ثلث عرض نطاق الذاكرة، وبالتالي ثلث بيانات أكثر، من الصورة منخفضة الدقة ذات ستة مستويات بتية.

تم تطبيق تقنية HAM أيضًا على نمطي HAM256 وHAM8x1 في جهاز ULAplus / HAM256 / HAM8x1 لجهاز ZX Spectrum ، حيث تتيح هذه التقنية عرض 256 لونًا على الشاشة، وذلك بتعديل لوحة ألوان أساسية مكونة من 64 لونًا. [ 29 ] [ 30 ] [ 31 ] [ 32 ]

يُعدّ جهاز HAM، المشابه جدًا لجهاز Amiga HAM8، جزءًا من نظام HGFX ، وهو نظام ثنائي الأبعاد ، مُقدّم على شكل امتداد FPGA لدائرة الفيديو الأصلية ( ULA )، لأجهزة كمبيوتر ZX Spectrum . تم اقتراحه واختباره باستخدام محاكي LnxSpectrum كجهاز HGFX/Q، وتم تنفيذه في جهاز كمبيوتر eLeMeNt ZX ، [ 33 ] [ 34 ] في عام 2021.

انظر أيضاً

مراجع

  1. مكتب براءات الاختراع والعلامات التجارية بالولايات المتحدة (1997). الجريدة الرسمية لمكتب براءات الاختراع والعلامات التجارية بالولايات المتحدة: براءات الاختراع . وزارة التجارة الأمريكية، مكتب براءات الاختراع والعلامات التجارية.
  2. 1 2 3 4 كومودور-أميغا، المحدودة (1991). دليل مرجعي لأجهزة أميغا . سلسلة المراجع التقنية لأميغا ( الطبعة الثالثة). أديسون-ويسلي. ISBN  0-201-56776-8.
  3. ^ مورتيمور، يوجين ب. (1986). دليل مبرمج أميغا . سيبكس. رقم ISBN 978-0-89588-343-8.
  4. بوكورني، كورنيل ك.؛ جيرالد، كورتيس ف. (1989). رسومات الحاسوب: المبادئ الكامنة وراء الفن والعلم . فرانكلين، بيدل وشركاؤه. ISBN 978-0-938661-08-5.
  5. ماهر، جيمي (26 يناير 2018). المستقبل كان هنا: كومودور أميغا . مطبعة معهد ماساتشوستس للتكنولوجيا. ISBN 9780262535694 عبر كتب جوجل.
  6. مايس، سكوت (28 يوليو 1986). "جهاز التحويل الرقمي يسمح للمستخدمين بتعديل صور أميغا" . إنفوورلد . ص 10. 
  7. 1 2 3 4 5 مارك وروبل (2020/02/22). "رمز آلة أميغا XII - HAM" . مارك روبيل . تم الاسترجاع 2022-11-20 .
  8. "ما هو نظام NTSC؟" . شركة Analog Devices .
  9. جولاتي، آر آر (ديسمبر 2005). التلفزيون أحادي اللون والملون . نيو إيج إنترناشونال. ISBN 978-81-224-1607-7.
  10. سميث، توني (23 أبريل 2012). "عيد ميلاد سعيد الثلاثين، سينكلير زد إكس سبكتروم" . ذا ريجستر .
  11. بيدي، جون (2023). تاريخ وحدة معالجة الرسومات - خطوات نحو الاختراع . سبرينغر نيتشر. الصفحات 89-91 . ISBN  978-3-031-10968-3.
  12. نيلسون، مايك (سبتمبر 1992). "حديث مع جاي جلين مينر" (مقابلة).
  13. ^ “اميغا هام”. أميغا المطور القرص المضغوط v2.1 .
  14. "مراجعة لعبة Knights of the Crystallion من مجلة Amiga Format 9 (أبريل 1990) - Amiga Magazine Rack" . amr.abime.net . تاريخ الاسترجاع: 27-09-2017 .
  15. "رسومات محسّنة - وضع الضغط والتعديل (HAM)" . قاعة الضوء - قاعدة بيانات ألعاب أميغا . تم الاسترجاع في 20 نوفمبر 2022 .
  16. 1 2 "أنماط الرسومات في أجهزة أميغا" . متحف أميغا . مؤرشف من الأصل في 26 مايو 2017. تم الاطلاع عليه في 20 نوفمبر 2022 .
  17. ^ برنهاردت، جونار. "Übersicht der WinUAE-Entwicklungen" . webwood - مرآة رسمية deutscher winuae . تم الاسترجاع 2022-11-20 .
  18. "WinUAE v1.6.1 Beta 4" . EmuCR . 15-06-2009 . تم الاطلاع عليه بتاريخ 20-11-2022 .
  19. سيتشكو، سيباستيان (16 يناير 2016). "ham_convert" . techno kanciapa JDiskCat، ham_convert وأشياء Amiga . تم الاسترجاع في 20 نوفمبر 2022 .
  20. 1 2 "أرشيف عروض أميغا ADA" . ada.untergrund.net . تم الاطلاع عليه بتاريخ 2023-06-06 .
  21. 1 2 "منتدى Amiga الإنجليزي - عرض منشور واحد - عرض HAM6 على AGA في WinUAE بشكل غير صحيح" . eab.abime.net . تم الاطلاع عليه بتاريخ 2023-06-06 .
  22. 1 2 "WinUAE v1.6.1 Beta 4" . EmuCR . 2009-06-15 . تم الاطلاع عليه بتاريخ 2022-11-20 .
  23. "أرشيف عروض أميغا التجريبي من ADA" . ada.untergrund.net . تم الاطلاع عليه بتاريخ 2023-06-06 .
  24. "HAM Eager - a technical write-up.md" . dump.platon42.de . تم الاطلاع عليه بتاريخ 2023-06-06 .
  25. "IFF Pro - أداة تحويل صور IFF لأجهزة Amiga ذات 8 بت" . تصميم Underware . تم الاطلاع عليه بتاريخ 20 نوفمبر 2022 .
  26. ^ لوكاس، ريتشارد (1990). بطاقة الرسومات المرجعية أميغا الإصدار الثاني (PDF) . فيديا.
  27. سيباخ، بيتر (16 ديسمبر 2018). "المعايير والمواصفات: تنسيق ملف التبادل (IFF)" . مطور IBM . مؤرشف من الأصل في 16 ديسمبر 2018. تم الاطلاع عليه في 22 مارس 2023 .
  28. فانس، جافين؛ راديرماخر، رالف (22-12-2004). "حزام هام-إي الأسود" . كتاب كبير عن أجهزة أميغا . تم الاسترجاع في 6-11-2017 .
  29. أوين، أندرو (2009). "ZX Spectrum : Re-coloured" . ULAplus . مؤرشف من الأصل بتاريخ 2021-04-01 . تم الاطلاع عليه بتاريخ 2023-03-22 . 
  30. "مجموعة الذكرى السنوية العاشرة لـ ULAplus™ من شركة Source Solutions, Inc" . itch.io. تم ​​الاطلاع عليه بتاريخ 20 نوفمبر 2022 .
  31. "عارض HAM256" . شركة Spectrum Computing - ألعاب وبرامج وأجهزة Sinclair ZX Spectrum . تم الاطلاع عليه بتاريخ 20 نوفمبر 2022 .
  32. "HAM 8x1" . Spectrum Computing - ألعاب وبرامج وأجهزة Sinclair ZX Spectrum . تم الاطلاع عليه بتاريخ 20 نوفمبر 2022 .
  33. "eLeMeNt ZX هو جهاز قوي مشابه لجهاز ZX Spectrum" . 128land.com .
  34. "HGFX HAM8 Pictures" . zxart.ee .
  35. ^ بول ماتياس ر. (18/03/2014) [07/01/2013]. "SLT-A99V: 14 بت من العمق فقط، 12 بت أو 14 بت في ملفات RAW؟" . منتدى مينولتا (باللغة الألمانية). مؤرشف من الأصل بتاريخ 2016-08-08 . تم الاسترجاع 2016/08/08 .

للمزيد من القراءة

  • مواصفات مجموعة شرائح أميغا المتقدمة (AA) ، كومودور أميغا
  • عرض توضيحي متحرك تم عرضه في وضع HAM: إصدار HAM-6 ، وإصدار HAM-8 ( يتطلب Java ).
  • أرشيف رسومات أميغا: هام