محاكاة Sound Blaster وOPL3 في نظام DOS خالص باستخدام بطاقات الصوت الحديثة المستندة إلى PCI (المضمنة والبطاقة الإضافية).
يتم استخدام كود المصدر من MPXPlay لدعم بطاقات الصوت/الشرائح التالية.
تمكين والعمل:
sc_ich
: إنتل ICH / nForce / SIS 7012sc_inthd
: صوت Intel عالي الوضوح (HDA)sc_via82
: عبر VT82C686، VT8233/37sc_sbliv
: SB لايف! / أوديجيsc_sbl24
: SB Audigy LS (CA0106)sc_es1371
: إنسونيك ES1371/1373sc_cmi
: سي-ميديا CMI8338/8738الدعم المترجم، ولكن لم يتم اختباره:
sc_via82
: عبر VT8235كود المصدر موجود، لكنه "لا يعمل بعد":
sc_sbxfi
: Creative X-Fi EMU20KXبرامج تشغيل Linux إضافية تم نقلها بواسطة jiyunomegami
لإدارة الذاكرة، استخدم إما:
JEMMEX
فقط: يوفر كلاً من HIMEM + EMMHIMEMX
و JEMM386
: منفصلان HIMEM + EMM في كلتا الحالتين، استخدم JLOAD
(من توزيع Jemm) لتحميل QPIEMU.DLL
قبل بدء تشغيل SBEMU
، بحيث يتم تمكين دعم الوضع الحقيقي. إذا لم تقم بتحميل JEMM+QPIEMU (أو QEMM)، فسيتم دعم تطبيقات الوضع المحمي فقط.
إذا كنت تريد استخدام SBEMU دون إنشائه، فيرجى قراءة ملف README.txt للإعداد وقائمة خيارات سطر الأوامر.
ويدعم أنظمة التشغيل MacOS وLinux وWindows. بالنسبة لنظام التشغيل Windows، فكر في استخدام ثنائيات WSL2 + Linux. إذا كنت بحاجة إلى تصحيح الأخطاء/الاختبار بشكل متكرر على نظام DOS المحلي الخاص بك، فهناك ملف makefile.dos المناسب لك.
تتوفر البرامج النصية لبناء سلسلة أدوات حديثة لدول مجلس التعاون الخليجي لـ DJGPP هنا:
هناك أيضًا إصدارات معدة مسبقًا لسلسلة الأدوات إذا كنت لا ترغب في إنشاء DJGPP بنفسك. يستخدم الإصدار الحالي (أكتوبر 2023) إصدار دول مجلس التعاون الخليجي 12.2.0، ولكن قد تصبح إصدارات دول مجلس التعاون الخليجي الأحدث متاحة في المستقبل:
يفترض هذا تثبيت Debian/Ubuntu. إذا كنت تستخدم أي توزيعة أخرى، فأنا أفترض أنك تعرف طريقك ويمكنك ترجمة هذه التعليمات إلى توزيعتك المحددة.
للحصول على أدوات make
وأدوات أخرى، من الأسهل تثبيت أدوات بناء المضيف:
sudo apt install -y build-essential
على نظام MacOS، قم بتثبيت أدوات سطر أوامر Xcode، والتي من المفترض أن make
أدوات مساعدة للمضيف وغيرها.
إذا كنت تخطط لبناء DJGPP من المصدر، فستكون هناك حاجة إلى بعض أدوات البناء الإضافية. ارجع إلى ملف build-djgpp
README للحصول على التفاصيل.
مع زيادة الكود المصدري، لا يوصى بالبناء من DOS. كما أن إصدار DJGPP DOS لا يستخدم -O2 و-flto، لأن إصدار دول مجلس التعاون الخليجي قديم ومليء بالعربات التي تجرها الدواب مع -O2.
إذا كانت هناك حاجة لبناء المشروع على DOS، قم بتنزيل DJGPP الأصلي من هنا: https://www.delorie.com/djgpp/zip-picker.html فهو يحتوي على فائدة أيضًا.
MS-DOS,OpenDOS,PC-DOS
في Which operating system will you be using?
اسقاط،C++
في Which programming languages will you be using?
Tell me which files I need
يحتاج DOSLFN أيضًا إلى إجراء عملية الإنشاء. يجب ضبط PATH env بشكل صحيح قبل البناء. set PATH=%PATH%;C:DJGPPBIN
يوصى بوضعه في autoexec.bat، ثم
make -f makefile.dos
يمكنك أيضًا استخدام RHIDE لإجراء التحرير والإنشاء بسرعة: أضف SET DJGPP=C:DJGPPDJGPP.ENV
إلى autoexec.bat ثم قم فقط بتشغيل rhide
في جذر المشروع عبر سطر الأوامر. استخدم Alt+C
لقائمة Compile
النشطة وحدد Make
لبناء التبعية أو Build all
لبناء نظيف.
يجب أن يكون مجلد bin
الخاص بسلسلة أدوات DJGPP الخاصة بك في $PATH
الخاص بك، حتى يعمل الأمر التالي ويخرج إصدار DJGPPGC الخاص بك:
i586-pc-msdosdjgpp-gcc --version
إذا نجح هذا، فإن بناء المشروع يكون بسيطًا مثل:
make
نظرًا لأنك تستخدم جهازًا حديثًا مزودًا بوحدات معالجة مركزية متعددة النواة، فقم بإجراء بناء متوازي، وهو أسرع، على سبيل المثال، بالنسبة لوحدة المعالجة المركزية رباعية النواة، استخدم 8 عمليات متوازية لتسريع البناء:
make -j8
بعد الانتهاء من الإنشاء، ستجد نتيجة الإنشاء في مجلد يسمى output
، على سبيل المثال output/sbemu.exe
.
يتطلب دعم القرص المضغوط الصوتي في DOS جزأين:
MSCDEX
(أو SHSUCDX
)بالنسبة للجزء الأول، يجب أن يكون لديك محرك أقراص مضغوطة مزود بمخرج صوت تمثيلي وإعداد برنامج تشغيل الأقراص المضغوطة المتوافق مع MSCDEX.
يتم الاهتمام بالجزء الثاني (التحكم في مستوى الصوت) بواسطة SBEMU عند بدء التشغيل.
لضبط مستوى صوت القرص المضغوط الصوتي (افتراضيًا يبلغ مستوى الصوت 100%)، يمكنك استخدام أي برنامج متوافق مع Sound Blaster، مثل "SBMIX"، حيث يقوم SBEMU بمحاكاة إعدادات مزج القرص المضغوط الصوتي وإعادة توجيهها.
لا تنس أنه لتتمكن من سماع أي شيء فعليًا، فإنك تحتاج إلى توصيل كابل صوت تناظري من محرك الأقراص المضغوطة الخاص بك إلى رأس CD-IN ذو 4 سنون الموجود على بطاقة الصوت الخاصة بك (أو اللوحة الأم للصوت المدمج).
يمكنك تكوين SBEMU لإخراج رسائل التصحيح الخاصة به إلى المنفذ التسلسلي بدلاً من وحدة التحكم. يعمل هذا أيضًا في الخلفية عندما تكون الألعاب في وضع ملء الشاشة، وبالتالي فهو مفيد جدًا لتصحيح الأخطاء.
لإنشاء SBEMU مع إخراج التصحيح، استخدم:
make DEBUG=1
ثم قم بتشغيل SBEMU باستخدام هذا الأمر لإخراج التصحيح (9600، 8N1) على COM1 (استخدم /DBG2
لـ COM2):
sbemu /DBG1
لتعطيل إخراج تصحيح المنفذ التسلسلي في وقت التشغيل، استخدم:
sbemu /DBG0
يتم تعطيل إخراج التصحيح التسلسلي بشكل افتراضي.