المميزات | التحميل والتشغيل | بناء | إخلاء المسؤولية
أحدث الإصدارات لنظام التشغيل Windows 10/11 (x64/ARM64) وLinux (AppImage/Flatpak) وmacOS (11.0+ Universal): https://github.com/stenzek/duckstation/releases/tag/latest
قائمة توافق اللعبة: https://docs.google.com/spreadsheets/d/e/2PACX-1vRE0jjiK_aldpICoy5kVQlpk2f81Vo6P4p9vfg4d7YoTOoDlH4PQHoXjTD2F7SdN8SSBLoEAItaIqQo/pubhtml
خادم الديسكورد: https://www.duckstation.org/discord.html
DuckStation عبارة عن محاكي/محاكي لوحدة تحكم Sony PlayStation(TM)، مع التركيز على إمكانية اللعب والسرعة وقابلية الصيانة على المدى الطويل. الهدف هو أن تكون دقيقًا قدر الإمكان مع الحفاظ على الأداء المناسب للأجهزة المنخفضة الجودة. لا يُنصح باستخدام خيارات "الاختراق"، ويجب أن يدعم التكوين الافتراضي جميع الألعاب القابلة للعب مع وجود مشكلات في التوافق في بعض التحسينات فقط.
مطلوب صورة ROM لجهاز PS1 أو PS2 "BIOS" لبدء تشغيل المحاكي وتشغيل الألعاب. يمكنك استخدام صورة من أي إصدار أو منطقة لجهاز، على الرغم من أن عدم تطابق مناطق اللعبة ومناطق BIOS قد يكون به مشكلات في التوافق. لا يتم توفير صورة ROM مع المحاكي لأسباب قانونية، ويجب عليك تفريغها من وحدة التحكم الخاصة بك باستخدام Caetla أو وسائل أخرى.
يتميز DuckStation بواجهة أمامية كاملة الميزات تم إنشاؤها باستخدام Qt، بالإضافة إلى واجهة مستخدم بملء الشاشة/التلفزيون استنادًا إلى Dear ImGui.
تشمل الميزات الأخرى ما يلي:
معيد ترجمة وحدة المعالجة المركزية/JIT (x86-64، Armv7/AArch32، AArch64، RISC-V/RV64).
الأجهزة (D3D11، D3D12، OpenGL، Vulkan، Metal) وعرض البرامج.
الارتقاء وتصفية النسيج واللون الحقيقي (24 بت) في أجهزة عرض الأجهزة.
مزج دقيق عبر طرق عرض ترتيب Rasterizer/Fragment Shader Interlock.
PGXP للدقة الهندسية وتصحيح الملمس ومحاكاة المخزن المؤقت للعمق.
نظام استبدال الملمس في عارضي الأجهزة.
دينترلاسينغ التكيف مع الحركة.
مرشح الاختزال التكيفي.
تدوير الشاشة للألعاب العمودية أو "TATE" shmup.
سلاسل التظليل بعد المعالجة (GLSL و Reshade FX).
"التمهيد السريع" لتخطي بداية/مقدمة BIOS.
حفظ دعم الدولة، مع التقدم والترجيع.
دعم ويندوز، لينكس، ماك.
يدعم القراءة مباشرة من الأقراص المضغوطة، وصور bin/cue، وملفات bin/img الخام، وMAME CHD، وECM أحادي المسار، وMDS/MDF، وتنسيقات PBP غير المشفرة.
التحميل المسبق لصور القرص إلى ذاكرة الوصول العشوائي (RAM) لتجنب عقبات سكون القرص.
التحميل/التطبيق التلقائي لتصحيحات PPF.
التشغيل المباشر للملفات التنفيذية البيرة.
التحميل المباشر لملفات تنسيق الصوت المحمول (psf).
تم تمديد الصوت عند التشغيل خارج السرعة 100%.
وحدات تحكم رقمية وتناظرية للإدخال (يتم توجيه الدمدمة إلى المضيف).
دعم GunCon وJustifier Lightgun (محاكاة باستخدام الماوس).
دعم نيجكون.
كيو تي وواجهة المستخدم "الصورة الكبيرة".
التحديثات التلقائية مع المعاينة وأحدث القنوات.
المسح التلقائي للمحتوى - يتم توفير عناوين/تجزئات الألعاب بواسطة redump.org.
التبديل التلقائي الاختياري لبطاقات الذاكرة لكل لعبة.
يدعم تحميل الإحتيالات من القوائم الموجودة.
محرر بطاقة الذاكرة وحفظ المستورد.
محاكاة رفع تردد التشغيل لوحدة المعالجة المركزية.
التصحيح المتكامل والبعيد.
وحدات تحكم متعددة النقر (حتى 8 أجهزة).
الإنجازات الرجعية.
وجود الخلاف الغني.
التقاط الفيديو باستخدام الواجهة الخلفية Media Foundation (Windows) وFFmpeg (جميع الأنظمة الأساسية).
وحدة المعالجة المركزية أسرع من البطاطس. ولكن يجب أن يكون x86_64 أو AArch32/armv7 أو AArch64/ARMv8 أو RISC-V/RV64.
بالنسبة لعارضي الأجهزة، وحدة معالجة الرسومات قادرة على OpenGL 3.1/OpenGL ES 3.1/Direct3D 11 Features Level 10.0 (أو Vulkan 1.0) وما فوق. لذا، أي شيء تم صنعه في السنوات العشر الماضية أو نحو ذلك.
وحدة تحكم ألعاب متوافقة مع SDL أو XInput أو DInput (مثل XB360/XBOne/XBSeries). سيحتاج مستخدمو DualShock 3 على نظام التشغيل Windows إلى تثبيت برامج تشغيل DualShock 3 الرسمية المضمنة كجزء من PlayStation Now.
تتوفر ثنائيات DuckStation لنظام التشغيل Windows x64/ARM64 وLinux x86_64 (بتنسيقات AppImage/Flatpak) وmacOS Universal Binaries عبر إصدارات GitHub ويتم إنشاؤها تلقائيًا مع كل التزام/دفع.
وفقًا لشروط CC-BY-NC-ND، يُسمح بإعادة توزيع الإصدارات والتعليمات البرمجية غير المعدلة . ومع ذلك، نفضل أن تقوم بالربط بـ https://www.duckstation.org/ بدلاً من ذلك. يرجى ملاحظة أن الإعدادات والحزم التي تم تكوينها مسبقًا تعتبر تعديلات.
بالنسبة للأجهزة التي تعمل بنظام التشغيل x86 (معظم الأنظمة)، ستحتاج إلى وحدة معالجة مركزية تدعم مجموعة تعليمات SSE4.1 للبنية "العادية". يتضمن ذلك جميع وحدات المعالجة المركزية Intel التي تم تصنيعها بعد عام 2007، ووحدات المعالجة المركزية AMD التي تم تصنيعها بعد عام 2011. إذا كان لديك وحدة معالجة مركزية أقدم، فستحتاج إلى تنزيل إصدار "SSE2" من صفحة الإصدارات، والذي يتميز بأداء أقل ولكنه لا يزال يدعم وحدات المعالجة المركزية هذه.
يتطلب DuckStation نظام التشغيل Windows 10/11، وتحديدًا الإصدار 1809 أو الأحدث. إذا كنت لا تزال تستخدم Windows 7/8/8.1، فلن يعمل DuckStation على نظام التشغيل الخاص بك. ينبغي اعتبار تشغيل أنظمة التشغيل هذه في عام 2023 بمثابة مخاطرة أمنية، وأوصي بالتحديث إلى شيء يتلقى دعم البائع. إذا كان يجب عليك استخدام نظام تشغيل أقدم، فإن الإصدار v0.1-5624 هو الإصدار الأخير الذي سيتم تشغيله. لكن لا تتوقع تلقي أي مساعدة، فهذه الإصدارات لم تعد مدعومة.
للتحميل:
انتقل إلى https://github.com/stenzek/duckstation/releases/tag/latest، وقم بتنزيل إصدار Windows x64. هذا أرشيف مضغوط يحتوي على الملف الثنائي الذي تم إنشاؤه مسبقًا.
بدلاً من ذلك، رابط التنزيل المباشر: https://github.com/stenzek/duckstation/releases/download/latest/duckstation-windows-x64-release.zip
استخراج الأرشيف إلى دليل فرعي . لا يحتوي الأرشيف على دليل فرعي جذر، لذا فإن الاستخراج إلى الدليل الحالي سيؤدي إلى إسقاط مجموعة من الملفات في دليل التنزيل الخاص بك إذا لم تقم بالاستخراج إلى دليل فرعي.
بمجرد تنزيله واستخراجه، يمكنك تشغيل المحاكي باستخدام duckstation-qt-x64-ReleaseLTCG.exe
. اتبع معالج الإعداد للبدء.
إذا تلقيت خطأً بشأن اختفاء vcruntime140_1.dll
، فستحتاج إلى تحديث وقت تشغيل Visual C++ لديك. يمكنك القيام بذلك من هذه الصفحة: https://support.microsoft.com/en-au/help/2977003/the-latest-supported-visual-c-downloads. على وجه التحديد، تريد وقت تشغيل x64، والذي يمكن تنزيله من https://aka.ms/vs/17/release/vc_redist.x64.exe.
يتم توفير DuckStation لنظام التشغيل x86_64 Linux بتنسيقات AppImage وFlatpak. الإصدار على Flathub رسمي، ومتزامن مع أحدث إصدار متداول/مستقر على GitHub.
تتطلب AppImages توزيعًا مكافئًا لـ Ubuntu 22.04 أو أحدث للتشغيل.
انتقل إلى https://github.com/stenzek/duckstation/releases/tag/latest وقم بتنزيل duckstation-x64.AppImage
.
قم بتشغيل chmod a+x
على AppImage الذي تم تنزيله - باتباع هذه الخطوة، يمكن تشغيل AppImage كملف تنفيذي نموذجي.
انتقل إلى https://github.com/stenzek/duckstation/releases/tag/latest وقم بتنزيل duckstation-x64.flatpak
.
قم بتشغيل flatpak install ./duckstation-x64.flatpak
.
أو، إذا قمت بإعداد FlatHub:
قم بتشغيل flatpak install org.duckstation.DuckStation
.
استخدم flatpak run org.duckstation.DuckStation
للبدء، أو حدد DuckStation
في مشغل بيئة سطح المكتب لديك. اتبع معالج الإعداد للبدء.
يتم توفير إصدارات MacOS العالمية لكل من x64 وARM64 (Apple Silicon).
مطلوب MacOS Big Sir (11.0)، لأن هذا هو أيضًا الحد الأدنى لمتطلبات Qt.
للتحميل:
انتقل إلى https://github.com/stenzek/duckstation/releases/tag/latest وقم بتنزيل duckstation-mac-release.zip
.
قم باستخراج الملف المضغوط بالنقر المزدوج عليه.
افتح DuckStation.app، وانقله اختياريًا إلى الموقع المطلوب أولاً.
اعتمادًا على تكوين GateKeeper، قد تحتاج إلى النقر بزر الماوس الأيمن -> فتح في المرة الأولى التي تقوم فيها بتشغيله، حيث إن شهادات توقيع التعليمات البرمجية غير واردة بالنسبة لمشروع لا يحقق أي إيرادات.
ستحتاج إلى جهاز مزود بـarmv7 (ARM 32 بت)، أو AArch64 (ARM 64 بت)، أو x86_64 (64 بت x86). يُفضل الإصدار 64 بت، والمتطلبات أعلى بالنسبة للإصدار 32 بت، ومن المحتمل أنك ستحتاج إلى وحدة معالجة مركزية بسرعة 1.5 جيجا هرتز على الأقل.
التنزيل من Google Play: https://play.google.com/store/apps/details?id=com.github.stenzek.duckstation
تنزيلات APK والإصدارات التجريبية: https://www.duckstation.org/android/
لا يتم توفير أي دعم لتطبيق Android ، فهو مجاني ويجب أن تتوافق توقعاتك مع ذلك. من فضلك لا تراسلني عبر البريد الإلكتروني بشأن المشكلات المتعلقة بهذا الأمر، أو تطلب المساعدة، سيتم تجاهلك.
للاستخدام:
قم بتثبيت التطبيق وتشغيله لأول مرة.
اتبع معالج الإعداد.
إذا كان لديك وحدة تحكم خارجية، فستحتاج إلى تعيين الأزرار والعصي في الإعدادات.
يستخدم عدد من ألعاب منطقة PAL حماية LibCrypt، مما يتطلب معلومات إضافية عن قناة القرص المضغوط الفرعية لتعمل بشكل صحيح. عادةً ما يظهر عدم عمل libcrypt على شكل تعليق أو تعطل، ولكنه قد يؤثر في بعض الأحيان على طريقة اللعب أيضًا، اعتمادًا على كيفية تنفيذ اللعبة له.
بالنسبة لهذه الألعاب، تأكد من أن صورة القرص المضغوط وملف SBI (.sbi) المطابق لها يحملان نفس الاسم ويتم وضعهما في نفس الدليل. سيقوم DuckStation بتحميل ملف SBI تلقائيًا عند العثور عليه بجوار صورة القرص المضغوط.
على سبيل المثال، إذا كانت صورة القرص لديك تحمل اسم Spyro3.cue
، فيمكنك وضع ملف SBI في نفس الدليل، وتسميته Spyro3.sbi
.
يتم أيضًا دعم صور CHD التي تحتوي على معلومات القناة الفرعية المضمنة.
إذا كنت تقوم بالتشغيل مباشرة من قرص وكان محرك الأقراص المضغوطة/أقراص الفيديو الرقمية لديك لا يدعم قراءة القنوات الفرعية، أو كان به انحراف مع SubQ الذي تم إرجاعه، فيمكنك وضع ملف SBI في دليل subchannel
ضمن دليل المستخدم، مع المسلسل أو عنوان اللعبة.
يأتي DuckStation مزودًا بقاعدة بيانات مدمجة للغش والتصحيح، وكلاهما مقدم من المجتمع. نرحب بالمساهمات في https://github.com/duckstation/chtdb.
يتضمن كل إصدار أحدث إصدار من قاعدة البيانات، ولكن لديك الحرية في التحديث يدويًا إلى الإصدار الأحدث أيضًا.
متطلبات:
فيجوال ستوديو 2022
استنساخ المستودع: git clone https://github.com/stenzek/duckstation.git
.
قم بتنزيل حزمة التبعيات من https://github.com/stenzek/duckstation-ext-qt-minimal/releases/download/latest/deps-x64.7z، واستخرجها إلى depmsvc
.
افتح حل Visual Studio duckstation.sln
في الجذر، أو "افتح المجلد" لإنشاء cmake.
بناء الحل.
توجد الثنائيات في bin/x64
.
قم بتشغيل duckstation-qt-x64-Release.exe
أو أي تكوين استخدمته.
أسماء حزم أوبونتو/ديبيان:
autoconf automake build-essential clang cmake curl extra-cmake-modules git libasound2-dev libcurl4-openssl-dev libdbus-1-dev libdecor-0-dev libegl-dev libevdev-dev libfontconfig-dev libfreetype-dev libgtk-3-dev libgudev-1.0-dev libharfbuzz-dev libinput-dev libopengl-dev libpipewire-0.3-dev libpulse-dev libssl-dev libudev-dev libwayland-dev libx11-dev libx11-xcb-dev libxcb1-dev libxcb-composite0-dev libxcb-cursor-dev libxcb-damage0-dev libxcb-glx0-dev libxcb-icccm4-dev libxcb-image0-dev libxcb-keysyms1-dev libxcb-present-dev libxcb-randr0-dev libxcb-render0-dev libxcb-render-util0-dev libxcb-shape0-dev libxcb-shm0-dev libxcb-sync-dev libxcb-util-dev libxcb-xfixes0-dev libxcb-xinput-dev libxcb-xkb-dev libxext-dev libxkbcommon-x11-dev libxrandr-dev libtool lld llvm nasm ninja-build pkg-config zlib1g-dev
أسماء حزم فيدورا:
alsa-lib-devel autoconf automake brotli-devel clang cmake dbus-devel egl-wayland-devel extra-cmake-modules fontconfig-devel gcc-c++ gtk3-devel libavcodec-free-devel libavformat-free-devel libavutil-free-devel libcurl-devel libdecor-devel libevdev-devel libICE-devel libinput-devel libSM-devel libswresample-free-devel libswscale-free-devel libX11-devel libXau-devel libxcb-devel libXcomposite-devel libXcursor-devel libXext-devel libXfixes-devel libXft-devel libXi-devel libxkbcommon-devel libxkbcommon-x11-devel libXpresent-devel libXrandr-devel libXrender-devel libtool lld llvm make mesa-libEGL-devel mesa-libGL-devel nasm ninja-build openssl-devel patch pcre2-devel perl-Digest-SHA pipewire-devel pulseaudio-libs-devel systemd-devel wayland-devel xcb-util-cursor-devel xcb-util-devel xcb-util-errors-devel xcb-util-image-devel xcb-util-keysyms-devel xcb-util-renderutil-devel xcb-util-wm-devel xcb-util-xrm-devel zlib-devel
أسماء حزم القوس:
base-devel clang cmake curl dbus extra-cmake-modules freetype git libjpeg-turbo libpng libwebp libx11 libxrandr lld llvm ninja qt6-base qt6-imageformats qt6-svg qt6-tools wayland zstd
استنساخ المستودع: git clone https://github.com/stenzek/duckstation.git
, cd duckstation
.
بناء التبعيات. يمكنك حفظها خارج الشجرة إذا أردت. هذا سوف يستغرق بعض الوقت. scripts/deps/build-dependencies-linux.sh deps
.
قم بتشغيل CMake لتكوين نظام البناء. بافتراض إنشاء دليل فرعي لـ build-release
، قم بتشغيل cmake -B build-release -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_EXE_LINKER_FLAGS_INIT="-fuse-ld=lld" -DCMAKE_MODULE_LINKER_FLAGS_INIT="-fuse-ld=lld" -DCMAKE_SHARED_LINKER_FLAGS_INIT="-fuse-ld=lld" -DCMAKE_PREFIX_PATH="$PWD/deps" -G Ninja
. إذا كنت تريد إصدارًا (محسّنًا)، فقم بتضمين -DCMAKE_BUILD_TYPE=Release -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON
.
تجميع التعليمات البرمجية المصدر. على سبيل المثال أعلاه، قم بتشغيل ninja -C build-release
قم بتشغيل الملف الثنائي الموجود في دليل البناء ضمن ./build-release/bin/duckstation-qt
.
متطلبات:
CMake
Xcode
استنساخ المستودع: git clone https://github.com/stenzek/duckstation.git
.
بناء التبعيات. هذا سوف يستغرق بعض الوقت. scripts/deps/build-dependencies-mac.sh deps
.
قم بتشغيل CMake لتكوين نظام البناء: cmake -Bbuild-release -DCMAKE_BUILD_TYPE=Release -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON -DCMAKE_PREFIX_PATH="$PWD/deps"
.
قم بتجميع الكود المصدري: cmake --build build-release --parallel
.
قم بتشغيل الملف الثنائي الموجود في دليل البناء ضمن bin/DuckStation.app
.
"دليل المستخدم" هو المكان الذي يجب أن تضع فيه صور BIOS الخاصة بك، حيث يتم حفظ الإعدادات فيه، ويتم حفظ بطاقات الذاكرة/حالات الحفظ بشكل افتراضي. يمكن أيضًا وضع ملف قاعدة بيانات SDL اختياري لوحدة التحكم في الألعاب هنا.
يوجد هذا في الأماكن التالية اعتمادًا على النظام الأساسي الذي تستخدمه:
ويندوز: مستنداتيDuckStation
لينكس: $XDG_DATA_HOME/duckstation
أو ~/.local/share/duckstation
.
نظام التشغيل MacOS: ~/Library/Application Support/DuckStation
.
لذا، إذا كنت تستخدم Linux، فستضع صور BIOS الخاصة بك في ~/.local/share/duckstation/bios
. سيتم إنشاء هذا الدليل عند تشغيل DuckStation لأول مرة.
إذا كنت ترغب في استخدام إصدار "محمول"، حيث يكون دليل المستخدم هو نفس الدليل الذي يوجد به الملف القابل للتنفيذ، فقم بإنشاء ملف فارغ باسم portable.txt
في نفس الدليل مثل DuckStation القابل للتنفيذ.
يمكن استخدام لوحة المفاتيح أو وحدة التحكم في الألعاب لمحاكاة مجموعة متنوعة من وحدات تحكم PlayStation. يتم دعم إدخال وحدة التحكم من خلال الواجهات الخلفية DInput وXInput وSDL ويمكن تغييرها من خلال Settings -> Controllers
.
لربط جهاز الإدخال الخاص بك، انتقل إلى Settings -> Controllers
، وحدد وحدة التحكم الافتراضية التي تريد تعيينها. يتعامل التعيين التلقائي مع غالبية وحدات التحكم الثمانية. ومع ذلك، إذا كنت بحاجة إلى ربط وحدة التحكم يدويًا، فانقر فوق المربع الموجود أسفل اسم الزر/المحور، ثم اضغط على المفتاح أو الزر الموجود على جهاز الإدخال الذي ترغب في الارتباط به.
تأتي إصدارات DuckStation مع قاعدة بيانات لتعيينات وحدات التحكم في الألعاب للواجهة الخلفية لوحدة تحكم SDL، مقدمة من https://github.com/mdqinc/SDL_GameControllerDB. يمكن العثور على ملف gamecontrollerdb.txt
المضمن في الدليل الفرعي resources
في دليل برنامج DuckStation.
إذا كنت تواجه مشكلات في ربط وحدة التحكم الخاصة بك بالواجهة الخلفية لوحدة تحكم SDL، فقد تحتاج إلى إضافة تعيين مخصص إلى ملف قاعدة البيانات. أنشئ نسخة من gamecontrollerdb.txt
وضعها في دليل المستخدم الخاص بك (أو مباشرة في دليل البرنامج، إذا كان يعمل في الوضع المحمول) ثم اتبع الإرشادات الموجودة في مستودع SDL_GameControllerDB لإنشاء تعيين جديد. أضف هذا التعيين إلى النسخة الجديدة من gamecontrollerdb.txt
ومن ثم سيتم التعرف على وحدة التحكم الخاصة بك بشكل صحيح.
يمكن تغيير الارتباطات الخاصة بوحدات التحكم ومفاتيح التشغيل السريع في Settings -> Controllers
.
وحدة التحكم 1:
العصا اليسرى: W/A/S/D
العصا اليمنى: T/F/G/H
D-Pad: أعلى/يسار/أسفل/يمين
مثلث/مربع/دائرة/صليب: I/J/L/K
L1/R1: س/ه
إل 2/ آر 2: 1/3
L3/R3: 2/4
ابدأ: أدخل
حدد: مسافة للخلف
مفاتيح التشغيل السريع:
الهروب: فتح قائمة الإيقاف المؤقت
F1: حالة التحميل
F2: حفظ الحالة
F3: حدد حالة الحفظ السابقة
F4: حدد حالة الحفظ التالية
F10: حفظ لقطة الشاشة
F11: تبديل ملء الشاشة
علامة التبويب: تعطيل محدد السرعة مؤقتًا
المساحة: إيقاف مؤقت/استئناف المحاكاة
أيقونة بواسطة Icons8: https://icons8.com/icon/74847/platforms.undef.short-title
تعد "PlayStation" و"PSX" علامتين تجاريتين مسجلتين لشركة Sony Interactive Entertainment Europe Limited. لا يرتبط هذا المشروع بأي شكل من الأشكال بشركة Sony Interactive Entertainment.