الشبكة العربية لمطوري الألعاب

خبير مدير همام البهنسي مشاركة 1

السلام عليكم.
الكثير منا كانت بدايته في الحاسب مع أحد أجهزة MSX أو صخر كما سمته شركة 'العالمية' التي قامت مشكورة بجهد التعريب والنشر في المنطقة العربية. عني شخصياً كانت بداياتي وذكرياتي مع جهاز صخر AX170 و AX350.


في الغالب كان استخدام هذه الأجهزة متمحور حول الألعاب. ولا عجب في هذا مع مكتبة الألعاب الممتعة بالذات من شركة كونامي (Konami). ولكن حقيقة هذه الأجهزة أبوابها مفتوحة لغير الألعاب.

في هذه المشاركة أود العودة لنفس الجهاز ولكن بدل من اللعب عليه أود تجربة خبرة البرمجة عليه :)



في الحقيقة بدأت هذا المشروع منذ عدة أشهر عند شرائي لجهاز صخر AX350. صرفت وقتها الكثير من الوقت لضبط ملحقات الجهاز لجعله يعمل مثلاً على الشاشات الحالية (LED وغيرها) بدل من الشاشات القديمة التي كان يدعمها الجهاز. بالطبع بفضل برامج المحاكاة (emulators) لا ضرورة للخوض في مثل هذه التحديات التقنية. يمكنكم المتابعة في الأنشطة البرمجية من خلالها. في حالتي قرار استخدام أجهزة حقيقية يعود لأسباب حنين للماضي لا أكثر.


لا أريد الإطالة في المشاركة الأولى، سأنهي فقط بذكر النقط التي أنوي الحديث عنها في المشاركات القادمة إن شاء الله:

- العتاد المستخدم لمن يرغب بالعمل على جهاز حقيقي، إضافة لإعدادت برنامج المحاكاة لمن يفضل الـ Emulators.
- لغات البرمجة المتاحة على أجهزة الصخر. معظمنا يظن أن البيسك هي اللغة الوحيدة المتاحة نظراً لكونها جزء من الـ ROM. في الحقيقة هناك خيرات أخرى سنتعرف عليها مثل لغة التجميع (Assembly) والسي (C).
- بعض الأمثلة البسيطة لبرمجة الرسوميات على البيسك.
- العمل على نظام التشغيل دوس (DOS) وتهيئة بيئة برمجية للسي.
- بعض الأمثلة البسيطة لبرمجة الرسوميات على السي.
- ... الله أعلم :)


إلى اللقاء في المشاركة القادمة.

خبير مدير همام البهنسي مشاركة 2

كما ذكرت في المشاركة السابقة، سأستعرض العتاد الضروري للحصول على بيئة برمجية فعالة على أجهزة الصخر. في مشاركة قادمة سأستعرض بدائل المحاكاة (Emulators).


بداية العتاد هو طبعاً جهاز صخر. يفضل أحد الموديلات التي تعتمد معايير MSX2 وهي AX350 أو AX370 أو AX500. صخر AX170 شغال بالطبع ولكن نظراً لاعتماده معايير MSX الجيل الأول علينا الانتباه لبعض الفروقات الهامة عند برمجة الرسوميات بسبب اختلاف معالج الرسم (VDP).
لمن يرغب في اقتناء جهاز، للأسف المهمة ليست سهلة هذه الأيام نظراً لندرة الأجهزة التي حالتها جيدة، وإن وجدت فعادة سعرها مرتفع. أحد الحلول هو البحث عن جهاز شغال أو بمشاكل قابلة للتصليح. ثم القيام بتنظيفه وتحسينه.
بهذه المناسبة، أقدم دعوة لأخي وسام البهنسي ليشاركنا بتجربته في استنقاظ جهاز صخر AX170 كان بحالة مزرية. حيث قام بجهد جبار لإعادته لحالة مثالية إضافة لحل مشكلة صوت موجودة في جميع الأجهزة من هذه الموديل :)


بالنسبة لي أعتبر نفسي محظوظ لحصولي على جهاز AX350 بحالة جيدة. مشكلته الوحيدة في محرك الأقارص الذي يصدر صوت مزعج أثناء دورانه.



الجزء الآخر في العتاد الذي نحتاجه هو وسيط تخزين كبير وسريع. كما يعلم الجميع، هناك عدة وسائط لتخزين المعلومات واسترجاعها على كمبيوترات الصخر. أبسطها هو الكتابة على شريط كاسيت من خلال مسجل يتم وصله بسلك خاص في فتحة مخصصة للكاسيت في الجهاز. هذه الطريقة متوفرة في كل الأجهزة حتى أجهزة الجيل الأول مثل AX170 ولكن تخزين المعلومات بهذا الأسلوب له الكثير من العيوب أولها الحاجة لمسجل كاسيت وشرائط، بطء الكتابة والقراءة بشكل عام، والتقيد بقراءة المعلومات بشكل متسلسل.
هناك طريقة لتجاوز الحاجة لمسجل وشرائط كاسيت، يمكن تجميع سلك بسيط يوصل فتحة الكاسيت في الصخر بمخرج الصوت في الموبايلات. بهذه الطريقة يمكن تسجيل واسترجاع البيانات بسهولة من خلال تسجيل المعلومات مباشرة على الموبايل كملفات صوتية.
أيضاً وسام، قام بتجميع هذا الكبل من قطع عامة حصل عليها من الإي باي (ebay) وتمكن من حفظ وتحميل برامج بيزيك (Basic) إضافة لبعض الألعاب.


الأسلوب الآخر المتاح للتخزين على أجهزة صخر هو القرص المرن (Floppy Disk). هذا الخيار أفضل بكثير من الخيار السابق، أولاً سعته التخزينية بشكل عام أكبر (دعم لأقراص بسعة ٧٢٠ كيلو بايت)، ثانياً أسرع ويدعم القراءة والكتابة العشوائية (غير متسلسلة). لكن للأسف ليست كل موديلات الصخر تأتي مع محرك أقراص. مثلاً الموديل الشهير AX170 لا يشمل محرك أقراص كما هو الحال مع AX350, AX370 و AX500. الأخير يشمل محركين أقراص ليس فقط واحد.



في كل الأحوال، تبقى الخيارات السابقة ليست عملية للبرمجة. الخيار الأفضل هو إضافة قرص صلب (Hard Disk) للتعامل مع عدد كبير من الملفات بفعالية. الجميل في الموضوع أن معامرية الصخر تسمح بإضافة عتاد بسهولة من خلال فتحات الكارتريدج (Cartridge) الموجودة في كل الأجهزة. هذه المعمارية سمحت بإضافة الكثير من المزايا المفيدة للجهاز سنتكلم عن بعضها لاحقاً. مايهمنا هنا أنه يمكننا إضافة متحكم IDE أو SCSI للتخاطب مع قرص صلب وحتى مع CD-Drive.
هناك عدد من هذه المتحكمات أشهرها هو Sunrise-IDE



يدعم هذا المتحكم نظام ملفات FAT16 بسعة تصل لـ 4 جيجا بايت. هذا بلا شك إنجاز كبير مقارنة مع 720 كيلو بايت :) ولكن نحن في عصر كروت الذاكرة الميكروية وأشباهها. هذا دفع بعض الهواة للتطوير وتصنيع كارتريدجات تقدم متحكم IDE قادر على التخاطب مع كرت ذاكرة SD Card. المثير أن بعض هذه الكراتريدجات تضيف مزايا أخرى أهمها ذاكرة إضافية تصل لـ 4 ميجا بدل من 128 كيلو بايت أو 256 كيلو بايت التي هي الذاكرة الأساسية لمعظم أجهزة MSX2.
هذه قائمة تحوي على أشهر الكراتريدجات التي تدعم التخزين على كرت ذاكرة.
https://www.msx.org/wiki/Category:Flash_Card_Interfaces
عني شخصياً، حصلت على Carnivore 2، إضافة لميزة التخزين على كرت ذاكرة، يقدم هذا الكارتريدج 1 ميجا ذاكرة (RAM) إضافية للجهاز، بالإضافة لدعمه عدد من معالجات الصوت المتقدمة مثل FMPAC و SCC+. قد نتحدث عن هذه المعالجات لاحقاً.



https://www.8bits4ever.net/product-page/carnivore2


هذا كل ما يهمنا في هذه الخطوة من العتاد. في المشاركة التالية إن شاء الله سأتحدث عن برامج المحاكاة (Emulators) التي تعتبر البديل المجاني والسهل للعتاد الذي ذكرناه اليوم.


إلى لقاء قريب.

خبير مدير همام البهنسي مشاركة 3

كنت قد وعدت بالحديث عن برامج المحاكاة (Emulators) لأجهزة الصخر ولكن تذكرت تفصيلة هامة في العتاد تستحق مشاركة مستقلة. وهي كيفية وصل صخر على الشاشات الحالية والحصول على أعلى جودة ممكنة للصورة.
في الحقيقة أجهزة الصخر تدعم أكثر من طريقة لتخريج الصور. بعض الطرق تعطي صورة أفضل من غيرها. سأستعرض هذه الطرق بالترتيب من الأسوء للأفضل:

RF Modulator


https://en.m.wikipedia.org/wiki/RF_modulator
هذا أسلوب كان شائعاً في السابق للعرض من أجهزة الفيديو وبعض منصات الألعاب المنزلية على التلفزيونات القديمة. دون الخوض في تفاصيل تقنية، يتم نقل الصورة والصوت معاً كإشارة تناظرية (Analog) من خلال كابل واحد.

Composite


هذا الأسلوب أفضل قليلاً حيث يتم نقل الصورة بشكل منفصل عن الصوت بكبلين مستقلين ولكنه ليس مدعوماً في كل التلفزيونات في الماضي. في المقابل كانت هناك شاشات متخصصة لأجهزة الكمبيوتر (monitors) تدعم نظام الخرج هذا.


RGB Component


هو الأسلوب الأفضل من حيث الجودة. حيث يتم نقل الصورة من خلال مكوناتها اللونية المنفصلة الأحمر (R) والأخضر (G) والأزرق (B) وهو محصور فقط في شاشات الكمبيوتر. هذا رابط لشاشة من صخر تدعم وصلة الـ RGB.
https://www.msx.org/wiki/Sakhr_8020-ME

الآن وبعد استعراض طرق التخريج التي يدعمها الصخر، السؤال الأهم هو كيف يمكن استخدام أي منها لوصل الكمبيوتر بالشاشات الرقمية الحالية (LED... الخ) التي تتوقع دقة صورة 1920x1080 أو أكثر بينما الصخر يخرج دقة 256x212.
الإجابة لمعظم الحالات لا يمكن! على الأقل بشكل مباشر. ولكن ماذا عن الطرق الغير مباشرة؟ في هذه الحالة ممكن من خلال جهاز وسيط يقوم بمضاعفة دقة الصورة إضافة إلى عمليات أخرى.

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

خلاصة التجربة هي إذا كنت تبحث على جودة صورة مقبولة ولكن ليست الأفضل يمكنك الحصول على محول Composite لـ HDMI من الإي باي أو غيره بسعر مقبول نسبياً. أما إذا كنت تبحث على أفضل صورة ممكنة فالأمر أعقد قليلاً وأكثر كلفة. أولاً أنت بحاجة لكبل RGB to SCART متوافق ليس فقط مع أي جهاز صخر وإنما مع الموديل أيضاً.
الآن نحن بحاجة لمحول RGB Scart لـ HDMI، المشكلة أن معظم المحولات المعروضة على الإي باي وغيره ماهي في حقيقة الأمر إلا احتيال على المسميات لا تؤدي الوظيفة الأساسية (تحويل صورة RGB لـ HDMI) وإنما في أحسن الأحوال تحاول الحصول على إشارة Composite وتحويلها لخداع المستخدم بصورة لن تكون هي الأفضل.

أنا شخصياً وقعت في هذا الفخ عندما غامرت بشراء واحد من هذه المحولات التي بكل صراحة أغراني سعرها. والنتيجة كانت كما ذكرت لكم، صورة مشابهة لصورة الـ Composite. عندها قررت الحصول على أحد الحلول المعروفة في هذا المجال وهو (Open Source Scan Converter)


https://videogameperfection.com/products/open-source-scan-converter/
هذا المحول قادر على تحويل تقريباً كل أساليب الخرج بما فيها طبعاً الـ RGB بشكل حقيقي وفعال. كما أنه يدعم عدد كبير جداً من الإعدادات التي تسمح بالتحكم بكل تفصيلة في عملية التحويل. السلبية الوحيدة هو سعره الباهظ. ولكن إذا كنت تنوي البرمجة على الصخر وقضاء وقت طويل في كتابة كود على الشاشة فهو بلا شك الخيار الأفضل لسلامة عينيك.



سأكتفي بهذا القدر. وإلى لقاء قريب إن شاء الله...

مبتدئ  علاء هماش مشاركة 4

اخي همام البهنسي لقد ذكرتني بالايام الماضية التي فعليا لا انساها لان هذا الكتاب في مكتبتي دائما:

هذا الكتاب الذي تحصل عليه مع كمبيوتر صخر.
هذا الكتاب لدي منذ تقريبا 34 عاما!! ربما بعد الف عام ساتمكن من بيعه بعدة ملايين لشراء سوبر كمبيوتر :)


اعتذر لك اخي عن السطو على موضوعك لكنني لم استطع منع نفسي من المشاركة :)

خبير مدير همام البهنسي مشاركة 5

حول البرمجة على جهاز صخر، نشرت مدونة أتحدث فيها عن المنهجية التي اتبعها في برمجة البيسك.
http://blog.agdn-online.com/hbahnassi/post/برمجة-جيل-الطيبين

أتمنى قراءة ممتعة :)