आपका स्वागत है! यह रास्पबेरी पाई पर आधारित एक रेट्रो गेमिंग कंसोल है। NES गेम कंसोल से एक कारतूस में। खेल के लिए एक एकीकृत स्क्रीन का उपयोग किया जा सकता है। एचडीएमआई के माध्यम से वीडियो आउटपुट करते समय, यह गेम के कवर की छवि दिखाता है, साथ ही कोर तापमान, फोटो देखें। मैं थोड़ा नस्टालजिट का सुझाव देता हूं और इस तरह के डिवाइस के संयोजन और कॉन्फ़िगरेशन के बारे में पढ़ता हूं। सावधानी, फिर बहुत सारे ट्रैफ़िक और फ़ोटो।
विषाद
बचपन में, हम, जो अब 25-35 से अधिक हैं, को शान्ति से खेलना पसंद था। तब कंसोल के लिए कोई नया शब्द नहीं था, इसलिए मैं उन्हें कॉल करूंगा। कंसोल्स के साथ मेरा परिचय डैंडी (एनईएस क्लोन) के साथ शुरू हुआ। सुपर मारियो, कॉन्ट्रा, डकटेल्स, बैटलटॉड उस समय
की कुछ हिट फ़िल्में हैं। तब पूरा यार्ड मेरे दोस्त सेगा (सेगा मेगा ड्राइव) के साथ खेलने जा रहा था, जैसे कि सोनिक, अल्टीमेट मोर्टल कॉम्बैट 3, कॉन्ट्रा हार्ड कोर और
अधिक हिट। और जब प्ले स्टेशन बाहर आया, तो मुझे कहना चाहिए, यह अभी हम तक नहीं पहुंचा, रेजिडेंट ईविल श्रृंखला ने वास्तव में कुछ भयावह खुशी का कारण बना।
इस तस्वीर ने मुझे विषाद के आंसू को दूर करने में मदद की। मुझे कहना होगा, मैं NES कारतूस में रास्पबेरी पाई के साथ आने वाला पहला नहीं हूं। हां, यह मेरी डिवाइस नहीं है। और यह कारतूस इन उद्देश्यों के लिए लगभग आदर्श है, यह छोटा और सुंदर है। और अंदर बहुत जगह है। खुद के लिए जज।
रास्पबेरी पाई ज़ीरो के अंदर, एक यूएसबी हब, और विस्तार डोरियों की एक जोड़ी। सभी छड़ें गर्म पिघल गोंद पर सेट की जाती हैं।
सभा
मैं कुछ समान या समान इकट्ठा करना चाहता था। एनईएस से एक ही कारतूस का चयन किया गया था। अन्य विकल्प या तो बहुत छोटे हैं या बहुत अच्छे नहीं लगते हैं। रास्पबेरी पाई 3 बी रेट्रो कार का उग्र दिल था। अली पर सुविधाजनक सोल्डरिंग पिन वाले यूएसबी कनेक्टर भी खरीदे गए थे। वह सब है।
अरे हाँ, आप इस परियोजना को दोहराएंगे, हिट कारतूस न लें। उनमें से बहुत कम हैं। अधिक सामान्य या कम ज्ञात कुछ ले लो। अली के साथ एक कारतूस लेने का विकल्प भी है, लेकिन मूल, यह आत्मा को गर्म करता है। मेरी 1986 रिलीज़।
यदि कारतूस तीन स्क्रू पर
खराब हो जाता है, तो आपको एक विशेष
एनएस पेचकश की भी आवश्यकता होगी। पांच शिकंजा के साथ शुरुआती कारतूस विकल्प भी हैं, वे एक नियमित फ्लैट पेचकश के साथ अनसुनी किए जाते हैं। मेरे पास सिर्फ एक है।
सभी हस्तक्षेप करने वाले भागों को काट दिया जाता है और एक कार्यालय चाकू और एक ब्लेड हैकसॉ ब्लेड के साथ कारतूस से देखा जाता है।
प्रोट्रूफ़िंग कनेक्टर्स को रास्पबेरी पाई को मिलाया गया था। विशेषज्ञों का कहना है कि आप टांका लगाने वाले स्टेशन के बिना कर सकते हैं, यदि आप पहली बार कनेक्टर्स को वायर कटर से सावधानीपूर्वक अलग करते हैं, और फिर एक समय में एक पैर मिलाते हैं। सभी गर्म पिघल से चिपके। यूएसबी कनेक्टर और रास्पबेरी के बीच में गैर-उपभोज्य प्लास्टिक से बना एक इन्सुलेटर रखा। जीएनडी रास्पबेरी पाई और यूएसबी कनेक्टर के शरीर को कनेक्ट करने के लिए मत भूलना (ऊपर चित्र में नहीं दिखाया गया है)। अन्यथा, कुछ जॉयस्टिक काम नहीं करेंगे।
आखिरी
रिट्रोपी को
रास्पबेरी पर स्थापित किया गया था। पहले तो
रिकालबॉक्स था, लेकिन मैंने इसे मना कर दिया, क्योंकि यह प्लेस्टेशन 1 पर जॉयस्टिक के कंपन का समर्थन नहीं करता है। लेकिन मुझे कहना होगा कि, रिकालबॉक्स बॉक्स के बाहर काम करने के मामले में थोड़ा अधिक सुविधाजनक है और आपको कुछ भी कॉन्फ़िगर करने की आवश्यकता नहीं है। रेट्रोपी में सेटिंग्स का एक गुच्छा, आप अंतहीन रूप से अनुकूलित कर सकते हैं। यह मुझे अच्छा लगा।
यहाँ क्या हुआ है। Xinput के साथ कोई भी जॉयस्टिक जुड़े हुए हैं।
प्रदर्शन
भूख खाने के साथ आती है। कैसे कारतूस में स्क्रीन एम्बेड करने के बारे में? खेल की कवर छवि को खेलने या प्रदर्शित करने के लिए।
ऐसी स्क्रीन का आदेश दिया गया था। यह एक 800 * 480 3.5-इंच समानांतर DPI स्क्रीन है जो लगभग सभी GPIO रास्पबेरी पाई का उपयोग करता है। यह मेरे लिए 120 हर्ट्ज मोड में काम करता है (लेकिन रेंडर अभी भी 60 हर्ट्ज पर है), प्रतिक्रिया तुरंत है। एकमात्र नकारात्मक 6-बिट मैट्रिक्स है। केवल 262,144 रंग। हालांकि, सामान्य तौर पर, यह विशेष रूप से ध्यान देने योग्य नहीं है, अपने लिए न्यायाधीश।
खेल कॉमिक्स ज़ोन (क्लिक करने योग्य) से स्क्रीनशॉट
स्क्रीन से सभी पैरों और रास्पबेरी पाई को मिलाप किया गया था। स्क्रीन को एक पुराने आईडीई केबल से दो केबल द्वारा टांका गया था। स्क्रीन के नीचे 5 मिमी बंधक स्थापित किए गए हैं, यह कारतूस की निचली दीवार को नहीं छूता है। एक इन्सुलेट टेप को डिस्प्ले के परिधि के चारों ओर चिपकाया जाता है ताकि कोई साइड फ्लैश न हो। सब कुछ गर्म गोंद से सरेस से जोड़ा हुआ है। शीर्ष कवर पर, मैंने एक खिड़की काट दी और एक गिलास 2 मिमी मोटी चिपकाया।
इस स्क्रीन पर चित्र प्रदर्शित करने के लिए, आपको
/boot/config.txt कॉन्फ़िगरेशन को ठीक करने की आवश्यकता है। मैं विंडोज मालिकों के लिए
WinSCP की सिफारिश करता हूं, जो एसएसएच के माध्यम से रास्पबेरी पाई से कनेक्ट करते समय कुल कमांडर के रूप में फाइलों की प्रस्तुति देता है। बहुत सहज है। खासकर यदि आप इसे
शेल मोड
सुडो सु में चलाते हैं
- जो सभी फाइलों तक पहुंच प्रदान करता है।
दुर्भाग्य से, जब डीपीआई स्क्रीन चालू होती है, तो एचडीएमआई वीडियो आउटपुट काम नहीं करता है। इसलिए, मैंने
/ boot / फ़ोल्डर में दो
config फाइल बनाईं , एक
config_hdmi.txt , और दूसरी
config_dpi.txt ।
Config_hdmi.txt कॉन्फ़िगरेशन ने
1080p60Hz पर रिज़ॉल्यूशन सेट किया और ओवरस्कैन को हटा दिया।
config_dpi.txt में स्क्रीन की DPI सेटिंग होती है।
config_dpi.txt# uncomment if you get no picture on HDMI for a default "safe" mode #hdmi_safe=1 disable_overscan=1 # uncomment to force a specific HDMI mode (this will force VGA) #hdmi_group=1 #hdmi_mode=1 # Sound output. Set to 0 or comment for autodetect, 1 for DVI, 2 to force HDMI. #hdmi_drive=2 # Using /etc/modules is deprecated and no longer supported on 4.4 kernel # So manually enable audio dtparam=audio=on config_hdmi_boost=0 # force hdmi while the tv can take time before sending the signal on the hdmi output hdmi_force_hotplug=1 # uncomment for composite PAL #sdtv_mode=2 # uncomment for lirc-rpi #dtoverlay=lirc-rpi #3.5 HD tft screen 800x480 dtoverlay=dpi24 overscan_left=0 overscan_right=0 overscan_top=0 overscan_bottom=0 #Banggood framebuffer_width=800 framebuffer_height=480 dtparam=spi=off dtparam=i2c_arm=off enable_dpi_lcd=1 display_default_lcd=1 dpi_output_format=0x6f015 dpi_group=2 dpi_mode=87 hdmi_timings=480 0 16 16 24 800 0 4 2 2 0 0 0 120 0 46080000 6 display_rotate=3 # if you plug your tv at the same time as your rpi and that the rpi switches from the hdmi or give a low resolution because tv had no enough time to initialize it boot_delay=3 # uncomment if you don't want the rainbow at startup #disable_splash=1 # default CEC name #cec_osd_name=recalbox dtparam=spi=off # Overclock gpu_mem_256=128 gpu_mem_512=256 gpu_mem_1024=256 overscan_scale=1 gpu_mem=256 start_x=0 enable_uart=0 avoid_safe_mode=1 kernel=zImage
config_hdmi.txt # For more options and information see # http://rpf.io/configtxt # Some settings may impact device functionality. See link above for details # uncomment if you get no picture on HDMI for a default "safe" mode #hdmi_safe=1 # uncomment this if your display has a black border of unused pixels visible # and your display can output without overscan disable_overscan=1 # uncomment the following to adjust overscan. Use positive numbers if console # goes off screen, and negative if there is too much border #overscan_left=16 #overscan_right=16 #overscan_top=16 #overscan_bottom=16 # uncomment to force a console size. By default it will be display's size minus # overscan. #framebuffer_width=1280 #framebuffer_height=720 # uncomment if hdmi display is not detected and composite is being output hdmi_force_hotplug=1 # uncomment to force a specific HDMI mode (this will force VGA) hdmi_group=1 #1080p60fps hdmi_mode=16 # uncomment to force a HDMI mode rather than DVI. This can make audio work in # DMT (computer monitor) modes #hdmi_drive=2 # uncomment to increase signal to HDMI, if you have interference, blanking, or # no display #config_hdmi_boost=4 # uncomment for composite PAL #sdtv_mode=2 #uncomment to overclock the arm. 700 MHz is the default. #arm_freq=800 # Uncomment some or all of these to enable the optional hardware interfaces #dtparam=i2c_arm=on #dtparam=i2s=on dtparam=spi=off # Uncomment this to enable the lirc-rpi module #dtoverlay=lirc-rpi # Additional overlays and parameters are documented /boot/overlays/README # Enable audio (loads snd_bcm2835) dtparam=audio=on gpu_mem_256=128 gpu_mem_512=256 gpu_mem_1024=256 overscan_scale=1 gpu_mem=256 start_x=0 enable_uart=0
कॉन्फ़िगर करें स्विच हमारी ऑटोसस्क्रिप्ट होगी जो नेटवर्क पर उपलब्ध है
\\ 192.168.x.xxx \ config \ all \ autostart.sh या डिवाइस पर फ़ोल्डर में /opt/retropie/configs/all/autostart.sh
स्विचस्क्रीन ।
S स्क्रिप्ट भी लिखी गई थी, जिसे
/ home / pi / RetroPie / retropiemenu / में डालना होगा । यह स्क्रिप्ट मैन्युअल रूप से स्विच को कॉन्फ़िगर करती है और मुख्य रिट्रोपी सेटिंग्स मेनू से सुलभ है। इसे शुरू करने के बाद, आपको एचडीएमआई केबल को बाहर निकालना होगा, अन्यथा रिबूट करने के बाद सब कुछ अपने आप वापस आ जाएगा। स्क्रिप्ट रजिस्टर करना न भूलें
chmod +x /home/pi/RetroPie/retropiemenu/switchscreen.sh
ऑटोस्टार्ट.एचएस कोड निशान दिखाता है जो एचडीएमआई चालू होने पर स्क्रीन की डीपीआई को अक्षम करता है। मैंने इस स्क्रिप्ट को इंटरनेट पर कॉपी किया है, इसलिए यह हमारी स्क्रीन पर काम नहीं करता है। हम स्क्रीन की शक्ति को बंद करने के लिए ट्रांजिस्टर के साथ भ्रमित हो सकते हैं, लेकिन क्यों, अगर हमें वर्तमान में चल रहे गेम की कवर छवि प्रदर्शित करने की आवश्यकता है। आपको बस यह पता लगाने की जरूरत है कि डीपीआई क्या है।
समानांतर प्रदर्शन इंटरफ़ेस (DPI)
DPI, जैसा कि कहा गया है, स्क्रीन के लिए एक समानांतर इंटरफ़ेस है। इस इंटरफ़ेस की जानकारी
एक बार ,
दो बार और
मिसकॉल की गई । खैर, अब यह यहाँ होगा, रूसी में।
एचडीएमआई ऑपरेशन के दौरान कंसोल कमांड के साथ डीपीआई को सक्षम करने के सभी प्रयास विफल हो गए हैं। शायद वह कुछ गलत कर रहा था। योजना बी को कार्यान्वयन के लिए अपनाया गया था: जीपीआईओ पैरों को प्रोग्रामेटिक रूप से खींचते हुए, एक छोटी स्क्रीन पर छवि प्रदर्शित करें।
डीपीआई को इस तथ्य की विशेषता है कि एक पिक्सेल घड़ी सिग्नल के प्रति घड़ी चक्र में प्रेषित होता है। चूंकि हमारे पास 6-बिट मैट्रिक्स है, ये तीन रंगों के लिए 18 पिन हैं, और डिस्प्ले सक्षम (एक वैध तिथि को इंगित करता है) भी हैं, h_sync (डिस्प्ले कंट्रोलर में क्षैतिज रेखा पता शून्य पर सेट करता है), v_sync (डिस्प्ले लाइन में ऊर्ध्वाधर लाइन पता शून्य पर सेट करता है) )। डेटा स्नैपिंग घड़ी सिग्नल के गिरते हुए किनारे पर होता है। यह ज्ञात है कि अगर हम इस शब्दावली के अनुसार हमारे
config_dpi.txt से लाइन "dpi_output_format = 0x6f015" को डिक्रिप्ट करते हैं।
dpi_output_format output_format = (dpi_output_format >> 0) & 0xf; rgb_order = (dpi_output_format >> 4) & 0xf; output_enable_mode = (dpi_output_format >> 8) & 0x1; invert_pixel_clock = (dpi_output_format >> 9) & 0x1; hsync_disable = (dpi_output_format >> 12) & 0x1; vsync_disable = (dpi_output_format >> 13) & 0x1; output_enable_disable = (dpi_output_format >> 14) & 0x1; hsync_polarity = (dpi_output_format >> 16) & 0x1; vsync_polarity = (dpi_output_format >> 17) & 0x1; output_enable_polarity = (dpi_output_format >> 18) & 0x1; hsync_phase = (dpi_output_format >> 20) & 0x1; vsync_phase = (dpi_output_format >> 21) & 0x1; output_enable_phase = (dpi_output_format >> 22) & 0x1; output_format: 1: DPI_OUTPUT_FORMAT_9BIT_666 2: DPI_OUTPUT_FORMAT_16BIT_565_CFG1 3: DPI_OUTPUT_FORMAT_16BIT_565_CFG2 4: DPI_OUTPUT_FORMAT_16BIT_565_CFG3 5: DPI_OUTPUT_FORMAT_18BIT_666_CFG1 6: DPI_OUTPUT_FORMAT_18BIT_666_CFG2 7: DPI_OUTPUT_FORMAT_24BIT_888 rgb_order: 1: DPI_RGB_ORDER_RGB 2: DPI_RGB_ORDER_BGR 3: DPI_RGB_ORDER_GRB 4: DPI_RGB_ORDER_BRG output_enable_mode: 0: DPI_OUTPUT_ENABLE_MODE_DATA_VALID 1: DPI_OUTPUT_ENABLE_MODE_COMBINED_SYNCS invert_pixel_clock: 0: RGB Data changes on rising edge and is stable at falling edge 1: RGB Data changes on falling edge and is stable at rising edge. hsync/vsync/output_enable_polarity: 0: default for HDMI mode 1: inverted hsync/vsync/oe phases: 0: DPI_PHASE_POSEDGE 1: DPI_PHASE_NEGEDGE

बिट्स का क्रम ऊपर की आकृति में दिखाया गया है। VSYNC से शुरू होने वाली प्रत्येक पंक्ति के लिए, HSYNC लाइन के उपायों का एक पूरा चक्र है। यह एक फ्रेम है। बैक और फ्रंट पोर्च तथाकथित डिस्प्ले इंडेंट्स हैं जो कंट्रोलर की मेमोरी में हैं, लेकिन वे स्क्रीन पर नहीं हैं।
अब हमारे config_dpi.txt से “hdmi_timings = 480 0 16 16 24 800 0 4 2 2 0 0 0 120 0 46080000 6” लाइन को डीकोड करें। यहां कुछ भी जटिल नहीं है, बस मापदंडों को क्रम में लिखें।
रंग प्रतिपादन के लिए कौन से GPIO पैर का उपयोग किया जाता है इस चित्र में दिखाया गया है। हमारे पास मोड 5. ध्यान दें, ये क्रम में पैर नहीं हैं, अर्थात् GPIO संकेतन! अन्य संकेत घड़ी - GPIO 0, DE - GPIO 1, VSYNC - GPIO 2, HSYNC - GPIO 3।
एक अजगर जल्दी से स्थापित किया गया था, आवश्यक GPIO पुस्तकालय, और एक हैलो स्क्रिप्ट लिखी गई थी, कम से कम स्क्रीन को नीले रंग में रंग रहा था। और मुझे संज्ञानात्मक असंगति भी हुई थी जब विंडोज पर नोटपैड ++ ने इंडेंटेशन नहीं दिखाया था जहां वे नैनो में थे, जबकि लाइन ब्रेक करते समय मैंने टैब किया था, स्पेस नहीं। वैसे, VSCode एक ही तरह से पाप करता है, इसे कैसे ठीक करें, इसे नहीं मिला।
पायथन लिपि from gpiozero import LED from time import sleep sleep_time = 0.0 clock = LED(0) de = LED(1) vsync = LED(2) hsync = LED(3) red2 = LED(16) red3 = LED(17) red4 = LED(18) red5 = LED(19) red6 = LED(20) red7 = LED(21) green2 = LED(10) green3 = LED(11) green4 = LED(12) green5 = LED(13) green6 = LED(14) green7 = LED(15) blue2 = LED(4) blue3 = LED(5) blue4 = LED(6) blue5 = LED(7) blue6 = LED(8) blue7 = LED(9) def v_sync(frame): vsync.on() for n in range(frame): clock.on()
बहुत धीमी गति से, पायथन। यह मेरे लिए आश्चर्य की बात थी कि पहले से ही प्रदान किए गए पिक्सेल गायब हो गए। हालांकि मैं जो उम्मीद कर रहा था वह स्पष्ट है।
सी। में सब कुछ फिर से लिखने का फैसला किया गया था। यह तेजी से काम करता है, प्रति सेकंड कुछ फ्रेम पर। पुराने CRT मॉनिटर या राडार पर स्क्रीन रिपल्स जैसे। आपको क्या चाहिए रेट्रो! कोड
GitHub पर पोस्ट किया गया
है ।
GPIO को सीधे BCM2837 SoC रजिस्टरों के माध्यम से एक्सेस किया जाता है। मैंने
यहां कोड उदाहरण लिए।
यह सब बहुत छोटे कार्यक्रम के साथ शुरू हुआ था, लेकिन अब छोटे स्क्रॉल बार के रूप में प्रोसेसर और मेमोरी लोड भी प्रदर्शित होते हैं। प्रोसेसर का तापमान ऐसे फॉन्ट में खींचा जाता है।
कोड को चलाने के लिए, आपको रिपॉजिटरी की सामग्री को फ़ोल्डर / होम / पीआई / lcd_screen / (जो जानता है कि बाइनरी के सापेक्ष पथ लिखना है और निक्स के तहत सी में काम करने वाले फ़ोल्डर को नहीं लिखना है? इसलिए, केवल इस फ़ोल्डर के लिए) और निम्न आदेशों को निष्पादित करना होगा।
gcc ./lcd_screen/lcd.c -o ./lcd_screen/lcd chmod +x ./lcd_screen/lcd
या बाइनरी को तुरंत रिलीज़ से डाउनलोड करें। शुरू करने के लिए, आपको निम्नलिखित टाइप करने की आवश्यकता है। SUDO को GPIO तक पहुंचने के लिए आवश्यक है।
sudo ./lcd_screen/lcd path/file.bmp usec_per_frame
जहाँ "path / file.bmp" छवि फ़ाइल का पथ है, यह केवल BMP प्रारूप के साथ काम करता है, "usec_per_frame" माइक्रोसेकंड में फ्रेम के बीच देरी है, ताकि प्रोसेसर लोड को बर्बाद न करें।
हम अपने एलसीडी प्रोग्राम के लॉन्च को स्वचालित करते हैं ताकि यह खेल चलने पर वांछित कवर प्रदर्शित करे। बेशक, रेट्रोपी कवर को लोड करने के लिए एक अंतर्निहित स्क्रैपर का उपयोग करता है।
छवि कनवर्टर स्थापित करें। यह सभी प्रारूपों को प्रोग्राम द्वारा समर्थित bmp में बदल देगा। उसी समय, और आकार बदलें, ताकि चित्र पूर्ण स्क्रीन थे।
sudo apt-get install imagemagick
/ Opt / retropie / configs / all / निर्देशिका में, दो फ़ाइलें बनाएँ:
runcommand-onstart.sh और
runcommand-onend.sh । किसी भी गेम को लोड करने / समाप्त करने पर रेट्रोपी स्वचालित रूप से इन स्क्रिप्ट को निष्पादित करता है। प्रत्येक फ़ाइल को chmod + x असाइन करना याद रखें।
प्रारंभिक स्क्रिप्ट में, डीपीआई कनेक्शन की उपस्थिति की पहले जांच की जाती है, फिर जेपीईजी या पीएनजी प्रारूपों के साथ एक छवि खोजी जाती है, इसे वांछित कोण पर घुमाया जाता है, इसका आकार बदल दिया जाता है और इसे बीएमपी प्रारूप में बदल दिया जाता है, फिर मेरा कार्यक्रम आवश्यक मापदंडों से शुरू होता है।
ठंडा
रास्पबेरी पाई 3 बी शून्य से अधिक शक्तिशाली है, और इसे अच्छे शीतलन की आवश्यकता है। खासकर ऐसे बंद मामले में। तस्वीर में दिखाई देने वाली एक छोटी सी हीट के साथ, किसी भी एमुलेटर पर खेलने के आधे घंटे के बाद, कोर तापमान 80 डिग्री तक पहुंच गया और ट्रोट शुरू हो गया।
एक 40 * 30 * 10 मिमी के केन्द्रापसारक प्रशंसक का आदेश दिया गया था, लेकिन जब तक यह नहीं आया, मैंने सिर्फ 3 मिमी एल्यूमीनियम से आकार में 80 * 30 मिमी की एक छोटी प्लेट को काटने की कोशिश की। उस समय तक, मैंने सभी GPIO पिन हटा दिए थे, इसलिए वे अब प्लेट की स्थापना में हस्तक्षेप नहीं करते थे। इसके अलावा, मैंने चिप के संपर्क के लिए 20 * 10 मिमी का एक टुकड़ा भी काट दिया और प्लेटों से एक सैंडविच बनाया। यह मेरी सभी अपेक्षाओं को पार कर गया, कोर पर अधिकतम 65 डिग्री के साथ।
तो यह अंदर दिखता है।
अंत में क्या
यह कैसे खेला जाता है? बहुत बढ़िया! चीख-पुकार के साथ, गेमपैड्स को पीटते हुए, आपसी मनमुटाव। एक बार की तरह।
कोई देरी या शिथिलता नहीं देखी गई।
स्क्रीन, ज़ाहिर है, छोटा है, केवल साढ़े तीन इंच है। पांच इंच के स्मार्टफोन ने हमें खराब कर दिया, लेकिन आप खेल सकते हैं। पाठ पठनीय है, छोटा भी है। मैं एचडीएमआई पसंद करता हूं।
आप एक दोस्त के पास आ सकते हैं, खेल सकते हैं, पोर्टेबिलिटी की अनुमति दे सकते हैं। संबंधित सामान: केबल, केबल, जॉयस्टिक, चार्जिंग कंसोल से अधिक जगह लेते हैं।
ध्वनि
दुर्भाग्य से, रास्पबेरी पाई की मानक ध्वनि वांछित होने के लिए बहुत कुछ छोड़ देती है। निष्क्रिय फिल्टरिंग के साथ पीडब्लूएम मॉड्यूलेशन का उपयोग साउंड सिस्टम के रूप में किया जाता है। इसलिए, PCM2704 पर एक USB DAC खरीदा गया था। मुख्य रूप से इसके आकार के कारण।
छोटी एलसीडी स्क्रीन पर खेलते समय वास्तव में पर्याप्त ध्वनि आउटपुट नहीं होता है, इसलिए मैंने NS8002 पर 3W माइक्रो एम्पलीफायर खरीदा और 8 ओम टैबलेट से स्पीकर उठाया।
यह सब एलसीडी स्क्रीन के नीचे फिट बैठता है। आ जाएगा, मैं डाल दूंगा।
फ़ाइल रेट्रोपी
विधानसभा पूरी हुई। मनोरंजन पढ़ने के लिए कुछ कम दिलचस्प रेट्रोपी सेटिंग्स निम्नलिखित हैं।
shadersअधिकांश कंसोल जो रास्पबेरी पाई का अनुकरण करने में सक्षम हैं, 320x240 पिक्सल का एक संकल्प देता है। आज के मानकों के हिसाब से यह बहुत छोटा है। सभी खेल आधुनिक स्क्रीन पर स्पष्ट पिक्सेलकरण प्राप्त करते हैं।
रेट्रोक के रचनाकारों, जो कि रिट्रोपी का हिस्सा है, ने इस मुद्दे पर ध्यान दिया और शेडर्स के लिए समर्थन जोड़ा। उदाहरण के लिए, मैं वास्तव में पूर्वस्थापित
xbr-lv1-noblend.glslp पसंद करता
हूं । वह वस्तुतः विवरण को चित्र से बाहर खींचता है। नीचे देखें।
खेल कैसलवानिया: रात की सिम्फनी से स्क्रीनशॉट, मैं आपको इसे खेलने की सलाह देता हूंShader स्थापित करने के लिए, मेनू पर जाएं Retropie ->
कॉन्फ़िगरेशन संपादक ।
मूलभूत लिब्रेट्रो एमुलेटर विकल्प कॉन्फ़िगर करें चुनें, फिर
सभी लिब्रेट्रो एमुलेटर के लिए डिफ़ॉल्ट विकल्प कॉन्फ़िगर करें चुनें। फिर
वीडियो शेडर को "सही" पर सेट
करें और
वीडियो शेडर फ़ाइल को वांछित शेडर में सेट करें।
वीडियो स्मूथ को "गलत" पर सेट करें, क्योंकि यह केवल छवि को
स्मियर करता है। तुम भी एक स्कैनलाइन shader की तरह कुछ चुन सकते हैं जो CRT टीवी के काम का उत्सर्जन करता है। लेकिन यह हर किसी के लिए नहीं है।
रेंडरिंग शेड्स एक महंगा ऑपरेशन है। 720p के बराबर और उच्चतर रिज़ॉल्यूशन के साथ, आरपीआई 3 बी पर काफी ध्यान देने योग्य जाम दिखाई देते हैं। इसलिए, एक ही मेनू में,
रेंडर रिज़ॉल्यूशन "800x600" चुनें। चिंता न करें, यदि आपने
पहले /boot/config.txt फ़ाइल में परिवर्तन किए हैं, जैसा कि इस लेख में थोड़ा अधिक है, तो एचडीएमआई केबल पर स्क्रीन रिज़ॉल्यूशन 1080p होगा, लेकिन एमुलेटर छवि को 800x600 पर रेंडर करेगा और इसे पूर्ण स्क्रीन तक बढ़ाएगा। और वह बुरी तरह से नहीं करता है। कम से कम एक shader के साथ यह इसके बिना बेहतर है, और 1080p में एक रेंडर बेकार है, क्योंकि 320x240 के रिज़ॉल्यूशन के लिए गेम का वीडियो डेटा अभी भी खींचा गया है।
जॉयस्टिक सेटिंग्सयदि आपके पास कोई xinput गेमपैड (माइक्रो $ टीटी मानक) है, तो यह होगा। यह रेट्रोपी की पहली शुरुआत में, या स्टार्ट बटन के माध्यम से कॉन्फ़िगर किया गया है - इनपुट कॉन्फ़िगर करें। लेकिन सिरदर्द है। चालाक विदेशी लोग, पेटेंट के मुकदमों में न पड़ने के लिए, ए और बी, एक्स और वाई के साथ बटन स्वैप करते हैं।
यदि आपके पास Xbox या समान से एक गेमपैड है, तो आपको इसे एनईएस पर उल्टे बटन के साथ कॉन्फ़िगर करने की आवश्यकता है। उसके बाद Retropie ->
Retropie सेटअप पर जाएं ,
कॉन्फ़िगरेशन / टूल चुनें , फिर
एमुलेशनस्टेशन ,
ES में "
A स्वैप "
बी / बटन में "
स्वैप " करें। फिर जॉयस्टिक को फिर से कॉन्फ़िगर करें।
इसके अलावा, मुझे यह पसंद नहीं है कि रेट्रोपी डेवलपर्स ने बटन फंड कैसे प्रबंधित किया। स्क्रीनशॉट लेने के लिए बटन का संयोजन कहाँ है? अगर मैं इसे हर बार हिट करता हूं तो मुझे रीसेट बटन की आवश्यकता क्यों है? रिवाइंड और टाइम एक्सेलेरेशन बटन कहां हैं?
इसे ठीक करने के लिए, आपको अपने जॉयस्टिक के नाम के साथ
/ ऑप्ट / रेट्रोपी / कॉन्फिग्स / ऑल / रेट्रो-हैयरपैड / के साथ फाइल को एडिट करना होगा। यह
\\ 192.168.x.xxx \ configs \ all \ retroarch-joypads \ network पर भी उपलब्ध है। अपडेटर के माध्यम से रिट्रोपी के प्रत्येक अपडेट के बाद, बाइंडिंग की संख्या उड़ जाती है, इसलिए मैं पूरे कॉन्फ़िगरेशन को अपलोड नहीं करूंगा। मैं लिखूंगा कि मैंने केवल इन बटनों को बदल दिया है। हॉटकी के साथ एक साथ दबाए जाने पर उन्हें निष्पादित किया जाता है, आमतौर पर जॉयस्टिक के बीच में लोगो के साथ एक बटन।
बटन विन्यास input_screenshot_btn = "0" input_rewind_btn = "h0left" input_hold_fast_forward_btn = "h0right" input_state_slot_increase_btn = "h0up" input_state_slot_decrease_btn = "h0down"
यहां स्क्रीनशॉट बटन को रीसेट के बजाय असाइन किया गया है। फास्ट फ़ॉरवर्ड और रिवाइंड (रिवाइंड) को क्रॉस बटन पर कॉन्फ़िगर किया गया है: आगे और पीछे। क्रॉस बटन ऊपर और नीचे सेव स्लॉट को बदलते हैं।
रिवाइंड को
/opt/retropie/configs/all/retroarch.cfg कॉन्फ़िगरेशन में सक्षम किया जाना चाहिए। बस psx एमुलेटर पर रिवाइंड को सक्षम न करें, सब कुछ बेतहाशा धीमा होने लगता है। रिवाइंड psx कॉन्फिग में डिफॉल्ट रूप से डिसेबल है।
मैं ब्लूटूथ के बारे में भी जोड़ना चाहता हूं। मुझे खुद वायरलेस जॉयस्टिक पसंद नहीं है और हमेशा केबल के साथ खेलते हैं। पुराना स्कूल अभी तक। वायरलेस जॉयस्टिक के प्रेमियों के लिए, आपको एक ब्लूटूथ डोंगल खरीदने और इसे एक यूएसबी पोर्ट में डालने की आवश्यकता है। यह बेहतर होगा और कोई समस्या नहीं होगी। मैंने खुद जांच नहीं की, लेकिन जानकार लिखते हैं।
Xboxdrv
लेकिन यह सब नहीं है। पैकेज मैनेजर में
रिट्रॉपी सेटअप में, आप विभिन्न पोर्ट रख सकते हैं, उदाहरण के लिए, ओपेंडेट, डूम या यहां तक कि डॉस डोसबॉक्स एमुलेटर। लेकिन आप उनमें जॉयस्टिक को नियंत्रित करने में सक्षम नहीं होंगे। केवल एक कीबोर्ड और माउस। इसे ठीक करने के लिए, आपको पैकेज मैनेजर में Xboxdrv ड्राइवर को स्थापित करना होगा, जो किस्ट्रोक्स का अनुकरण कर सकता है। बस इसे स्रोत से डालें, ऑटोरन करने की कोई आवश्यकता नहीं है, यह सभी जॉयस्टिक को फिट नहीं करता है।
हम अपने गेमपैड के लिए लॉन्च स्क्रिप्ट लिखेंगे।
/Opt/retropie/configs/all/runcommand-onstart.sh में फ़ाइल के अंत में निम्नलिखित पंक्तियाँ जोड़ें।
यहाँ $ 1 हमारी लक्षित प्रणाली है जिस पर Xboxdrv शुरू होता है। आप सादृश्य द्वारा जोड़ सकते हैं। Theevdev-absmap --evdev-keymap रेखाएं आपके जॉयस्टिक में कुल्हाड़ियों और बटन को बांधने के लिए जिम्मेदार हैं। ऊपर दी गई स्क्रिप्ट Xbox One S कंट्रोलर के लिए दी गई है। यह पता लगाने के लिए कि कौन सा अक्ष और बटन आपकी जॉयस्टिक की संख्या या नाम के अनुरूप है, आपको कंसोल में
स्पष्ट रूप से टाइप
करना होगा । उसी समय, आप देख सकते हैं कि कौन सी घटना हमारे जॉयस्टिक से मेल खाती है। मेरे पास यह / dev / input / event0 है जो कि --evdev पैरामीटर में है।
--Ui-axismap विकल्प माउस अक्ष, और --ui- बटनपट कीबोर्ड बटन का अनुकरण करते हैं। इस उदाहरण में, ट्रिगर माउस बटन है, बाईं छड़ी माउस है, दाएं छड़ी कर्सर कुंजी है। प्रारंभ करें, चयन करें - दर्ज करें और क्रमशः एस्क। कीपैड के अंक शेष बटन से जुड़े होते हैं। दुर्भाग्य से, कीबोर्ड बटन के नीचे क्रॉस का उपयोग करना संभव नहीं था। किसी कारण से, Xbox One S जॉयस्टिक काम करने से इनकार कर देता है।
थीम हॉस्पिटल, ओपनटीडीटी इत्यादि जैसी रणनीतियाँ इस तरह के कॉन्फिगर के साथ खेली जाती हैं। निशानेबाजों में थोड़ा बुरा खेला जाता है, लेकिन आप वहां $ 1 के पैरामीटर में बदलाव करके उसी फाइल में शूटरों के लिए इसी तरह की स्टार्टअप स्क्रिप्ट बना सकते हैं।
एमुलेशनस्टेशन में जॉयस्टिक के सामान्य संचालन को सुनिश्चित करने के लिए, आपको गेम से बाहर निकलने के बाद Xboxdrv को पूरा करना होगा। ऐसा करने के लिए,
/opt/retropie/configs/all/runcommand-onend.sh फ़ाइल के अंत में निम्न जोड़ें।
runcommand-onend.sh sudo killall > /dev/null 2>&1 xboxdrv
अगर रिट्रोपी को अपडेट करते समय कुछ गलत हुआएक बार, मैंने रिट्रोपी अपडेट लॉन्च किया और कर्नेल को अनपैक करते समय, अंतर्निहित वाई-फाई बंद हो गया। डिवाइस बूट हो गया, लेकिन कनेक्टेड कीबोर्ड सहित किसी भी बटन का जवाब नहीं दिया। कोई एसएसएच नहीं है, क्योंकि कोई वाई-फाई नहीं है, यह कीबोर्ड पर प्रतिक्रिया नहीं करता है, और आप एसडी कार्ड प्राप्त नहीं कर सकते ...
मैंने देखा कि कीबोर्ड बूट समय पर काम करता है। मैंने कई बार ctrl + c दबाया और, ओह, कंसोल! लेकिन अब वाई-फाई को कैसे पुनर्स्थापित करें? Wlan0 इंटरफ़ेस शब्द से बिल्कुल गायब था। अपडेटर को चलाने में मदद नहीं मिली, क्योंकि यह इंटरनेट से फाइलों को खींचता है।
/Opt/retropie/configs/all/autostart.sh में सबसे पहली बात एमुलेशनस्टेशन लॉन्च पर टिप्पणी की और रिबूट किया। , . , wlan . . .
sudo dpkg --configure -a
Retropie को लिनक्स स्टेशन की तरह नहीं देखना हैLinux. .
LinuxLinux,
/boot/cmdline.txt . .
cmdline.txt dwc_otg.lpm_enable=0 console=tty3 root=PARTUUID=f2d3cb4f-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait loglevel=3 consoleblank=0 plymouth.enable=0 quiet vt.global_cursor_default=0 plymouth.enable=0 plymouth.ignore-serial-consoles splash
, , , .
motd.
nano /etc/motd
.
sudo nano /etc/systemd/system/autologin@.service
ExecStart=-/sbin/agetty --autologin pi --noclear %I $TERM
ExecStart=-/sbin/agetty --skip-login --noclear --noissue --login-options "-f pi" %I $TERM
.
, — splashscreen. , . \\192.168.x.xxx\splashscreens, Retropie ->
SPLASH SCREEN ->
Append Splashscreen to list .
, , .
Retropie runcommand, . .
, ,
.
और क्या किया जा सकता है
आप अंतहीन सुधार कर सकते हैं। मैं आपको कुछ लिंक दे सकता हूं जो किया जा सकता है और अधिक रोचक बातें लिखिए जिन्हें आप जोड़ सकते हैं। आपका ध्यान के लिए धन्यवाद।
वह इसके लायक है।