在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>Necroware的GamePort適配器開源分享

Necroware的GamePort適配器開源分享

2023-06-07 | zip | 0.06 MB | 次下載 | 免費(fèi)

資料介紹


pYYBAGR_2WqAEWhMAACq0uqh-Vo600.png
poYBAGR_2W2AUVYDAACA74pWhxU744.png

描述

Necroware 的 GamePort 適配器

許多來自復(fù)古社區(qū)的人仍然保留著他們?cè)缙谛膼鄣?a target='_blank' class='arckwlink_none'>操縱桿和游戲手柄。這些設(shè)備經(jīng)常在我們地下室的某個(gè)黑暗角落里度過它們的一生,出于懷舊的原因,我們不敢扔掉它們。它們讓我們想起了我們的童年,我們?cè)谀抢锿孢^我們的 Wing Commanders、X-Wings、Descents 和許多其他游戲。這些舊的游戲桿都是用來連接游戲端口的,通常是在聲卡上。但到了 90 年代末和 2000 年初,游戲端口從我們的電腦上消失了,取而代之的是 USB,我們的舊游戲桿也消失在了過去。今天并不是每個(gè)人都擁有一臺(tái)完整的復(fù)古 PC,許多人正在使用帶有 DOSBox 的現(xiàn)代計(jì)算機(jī)來玩舊游戲,有時(shí)還使用現(xiàn)代 USB 游戲桿。但是不會(huì) 用我們當(dāng)時(shí)使用的相同操縱桿玩舊游戲不是很好嗎?這就是該適配器發(fā)揮作用的地方。它可用于將游戲端口操縱桿連接到 USB 端口。

GamePort 適配器視頻

第 1 部分:簡介

第 2 部分:更新

它是如何工作的?

該適配器圍繞 Arduino Pro Micro 構(gòu)建,它使用與 Leonardo 相同的 ATmega32U4 微控制器。該微控制器具有內(nèi)置 USB HID 功能,可用于構(gòu)建 HID 輸入設(shè)備,例如游戲桿。適配器本身超級(jí)簡單,主要的腦力都花在了軟件上。非常簡單,它讀取操縱桿狀態(tài)并通過 USB 將數(shù)據(jù)發(fā)送到計(jì)算機(jī),計(jì)算機(jī)認(rèn)為它正在與 USB 操縱桿通信

這個(gè)有什么特別之處?

已經(jīng)有很多用于基本模擬游戲桿的游戲端口到 USB 適配器,而且據(jù)我所知,微軟也在努力與 Sidewinder 游戲桿進(jìn)行通信。但是沒有適用于不同類型操縱桿的通用適配器。該適配器為各種模擬和數(shù)字操縱桿實(shí)現(xiàn)了多個(gè)驅(qū)動(dòng)程序,并可選擇在未來添加更多。

功能概述:

支持帶有 2/4 按鈕和 2/4 軸的通用模擬操縱桿

四個(gè)開關(guān)選擇操縱桿類型

自動(dòng)檢測(cè)各種數(shù)字協(xié)議操縱桿

自動(dòng)校準(zhǔn)

極低的輸入延遲

模擬和數(shù)字操縱桿有什么區(qū)別?

許多人稱只有按鈕的操縱桿或游戲手柄是數(shù)字的。這是對(duì)的,因?yàn)橐粋€(gè)按鈕要么被按下,要么沒有被按下。兩者之間不能有模擬值。然而,在這種情況下,數(shù)字意味著不同的東西。一個(gè)游戲端口包含 15 個(gè)引腳,其中 8 個(gè)用于操縱桿通信。4 個(gè)引腳用于按鈕并承載開/關(guān)意義上的數(shù)字值,4 個(gè)引腳用于模擬軸,其提供介于 0V 和 5V 之間的電壓。早期制造的操縱桿使用這種引出線。它們最多可以有 4 個(gè)按鈕和 4 個(gè)軸,并且與 DOS 兼容。后來,在Windows 95/98 時(shí)代,許多操縱桿也被制作成可以插入游戲端口,但不限于4 個(gè)按鈕和4 個(gè)軸。他們有很多更令人興奮的功能,比如帽子開關(guān)和油門控制。但這是如何工作的呢?好吧,制造商實(shí)施了他們的驅(qū)動(dòng)程序,以使用專有通信協(xié)議通過游戲端口與操縱桿通信。例如,通過將游戲端口的一個(gè)引腳用作時(shí)鐘,將另一個(gè)引腳用作數(shù)據(jù),可能性幾乎是無限的。這種操縱桿也稱為數(shù)字操縱桿,因?yàn)樗鼈兪褂脭?shù)字協(xié)議與 PC 通信。突然之間,許多功能成為可能,但這些功能的代價(jià)是失去了與 DOS 的兼容性。你不能只是將這樣的操縱桿插入游戲端口并期望它在舊的 DOS 游戲中工作。插頭是一樣的,但信號(hào)完全不同。通過將游戲端口的一個(gè)引腳用作時(shí)鐘,將另一個(gè)引腳用作數(shù)據(jù),可能性幾乎是無限的。這種操縱桿也稱為數(shù)字操縱桿,因?yàn)樗鼈兪褂脭?shù)字協(xié)議與 PC 通信。突然之間,許多功能成為可能,但這些功能的代價(jià)是失去了與 DOS 的兼容性。你不能只是將這樣的操縱桿插入游戲端口并期望它在舊的 DOS 游戲中工作。插頭是一樣的,但信號(hào)完全不同。通過將游戲端口的一個(gè)引腳用作時(shí)鐘,將另一個(gè)引腳用作數(shù)據(jù),可能性幾乎是無限的。這種操縱桿也稱為數(shù)字操縱桿,因?yàn)樗鼈兪褂脭?shù)字協(xié)議與 PC 通信。突然之間,許多功能成為可能,但這些功能的代價(jià)是失去了與 DOS 的兼容性。你不能只是將這樣的操縱桿插入游戲端口并期望它在舊的 DOS 游戲中工作。插頭是一樣的,但信號(hào)完全不同。不要只是將這樣的操縱桿插入游戲端口并期望它可以在舊的 DOS 游戲中運(yùn)行。插頭是一樣的,但信號(hào)完全不同。不要只是將這樣的操縱桿插入游戲端口并期望它可以在舊的 DOS 游戲中運(yùn)行。插頭是一樣的,但信號(hào)完全不同。

該適配器支持哪些操縱桿?

當(dāng)前,實(shí)現(xiàn)了以下驅(qū)動(dòng)程序。要選擇正確的驅(qū)動(dòng)程序,您必須使用四個(gè)開關(guān),如表中所示。未來開關(guān)可能會(huì)發(fā)生變化或擴(kuò)展,請(qǐng)留意更新。

操縱桿模型按鈕AxesHatSW1-4評(píng)論通用模擬2200000通用模擬4201000通用模擬43001003rd Axis is throttleGeneric Analog4401100CH FlightStick4410010Analog, DOS-compatibleCH F16 Combat Stick10310110Analog, DOS-compatibleThrustMaster43110 10Analog, DOS-compatibleSidewinder GamePad10201110Digital protocolSidewinder 3D Pro8411110Digital protocolSidewinder 3D Pro Plus9411110First version of Precision ProSidewinder Precision Pro9411110Digital protocolSidewinder FFB Pro9411110Digital, FFB not yet implementedSidewinder FFB Wheel8301110Digital,F(xiàn)FB 尚未實(shí)現(xiàn)Gravis GamePad Pro10200001Digital protocol (GrIP)Logitech WingMan Extreme6311001Digital protocol (ADI)Logitech CyberMan 28601001Digital protocol (ADI)

評(píng)論:

請(qǐng)注意不同系列的數(shù)字設(shè)備如何使用相同的開關(guān)。由于全數(shù)字通信,這是可能的。使用此方法,適配器會(huì)在知道它已連接到數(shù)字游戲桿時(shí)立即實(shí)施自動(dòng)檢測(cè)。

目前,只實(shí)現(xiàn)了列出的 Sidewinder 設(shè)備的驅(qū)動(dòng)程序,因?yàn)槲沂诸^沒有其他型號(hào)。Precision Pro 也可以在 USB 上本地工作,但仍然可以實(shí)現(xiàn),因?yàn)槲覀兛梢浴?/p>

Gravis 使用了他們的 GrIP 協(xié)議,該協(xié)議目前僅適用于 Gravis GamePad Pro,但目前還沒有菊花鏈的可能性。

Logitech 使用的 ADI 協(xié)議的實(shí)施應(yīng)該適用于支持該協(xié)議的所有設(shè)備。然而,目前只有列出的羅技設(shè)備經(jīng)過測(cè)試。

測(cè)試了哪些操縱桿?

許多野外的操縱桿都使用相同的數(shù)字協(xié)議,或者向后兼容模擬操縱桿,因?yàn)樗鼈冊(cè)?DOS 時(shí)代使用過。以下列表包含其他人報(bào)告的到目前為止工作的所有設(shè)備:

Gravis Analog Pro(模擬)

Gravis PC GamePad(模擬)

Gravis GamePad Pro

QuickShot QS-123E“勇士5”(模擬)

QuickShot QS-201“超級(jí)戰(zhàn)士”(模擬)

QuickShot QS-203“復(fù)仇者”(模擬)

響尾蛇游戲手柄

響尾蛇 3D Pro

響尾蛇 3D Pro Plus

Sidewinder Precision Pro

Sidewinder ForceFeedBack Pro

Sidewinder 力反饋輪

羅技 WingMan Extreme Digital

羅技 CyberMan 2

InterAct UltraRacer PC(模擬)

Sidewinder 3D Pro 可以在模擬和數(shù)字模式之間切換,在模擬模式下它可以模擬 ThrustMaster 和 CH FlightStick。這就是您在上表中看到它們的原因。不幸的是,我在現(xiàn)實(shí)中并沒有那些操縱桿,所以可能是實(shí)現(xiàn)不太正確。

什么是自動(dòng)校準(zhǔn)?

舊的模擬操縱桿內(nèi)部有電阻,指定為 100 kOhm。不幸的是,這些電阻要么磨損了,要么質(zhì)量差,要么從一開始就錯(cuò)了。因此,大多數(shù)通用模擬操縱桿都有調(diào)整螺釘來校正操縱桿的中心點(diǎn)。此外,許多游戲在其設(shè)置中都有校準(zhǔn)選項(xiàng)以重新調(diào)整操縱桿。使用 USB 和新的數(shù)字解決方案不再需要校準(zhǔn),并且完全在操縱桿和/或驅(qū)動(dòng)器中實(shí)現(xiàn)。許多現(xiàn)代游戲不再提供重新校準(zhǔn)操縱桿的選項(xiàng)。如果我們嘗試通過此適配器使用舊的模擬搖桿玩此類較新的游戲,搖桿中心點(diǎn)將完全偏移。這就是適配器在內(nèi)部實(shí)現(xiàn)自動(dòng)校準(zhǔn)并將已校正的值呈現(xiàn)給操作系統(tǒng)的原因。

注意:使用模擬操縱桿的硬性要求是在插入 USB 端口期間所有軸必須處于中間狀態(tài),因?yàn)樗泻罄m(xù)校準(zhǔn)都是基于初始狀態(tài)進(jìn)行的。

對(duì)實(shí)施的技術(shù)見解

代碼有很好的文檔記錄,所以如果您對(duì)細(xì)節(jié)感興趣,請(qǐng)隨時(shí)查看驅(qū)動(dòng)程序?qū)崿F(xiàn)。所有的模擬操縱桿實(shí)際上都是一項(xiàng)簡單的任務(wù),但 Sidewinder 數(shù)字協(xié)議有點(diǎn)困難。已經(jīng)有一些為 Arduino 制作的 Sidewinder 協(xié)議的實(shí)現(xiàn)。然而,它們大多只適用于 Sidewinder GamePad,并不是真正通用的。最后,我深受 Linux Sidewinder 驅(qū)動(dòng)程序?qū)崿F(xiàn)的啟發(fā)。您在該項(xiàng)目中看到的代碼是完全重寫的,我只是將 Linux 驅(qū)動(dòng)程序?qū)崿F(xiàn)作為參考來了解其工作原理。Sidewinder 專利 US#5628686A 也有很大幫助,特別是在 Sidewinder 3D Pro 的數(shù)字和模擬模式之間切換。

與已經(jīng)提到的用于 Arduino 實(shí)現(xiàn)的 Sidewinder 相反,這個(gè)不依賴于中斷。此實(shí)現(xiàn)與 Linux 驅(qū)動(dòng)程序的功能類似。它輪詢端口并由于同步過程使很多事情變得更簡單。最大的問題是 Sidwinder 設(shè)備發(fā)送數(shù)據(jù)的速度非常快,時(shí)鐘脈沖只有 5us。不可能為此使用 Arduino 的 digitalRead(...) 函數(shù)。在 16MHz 的 Arduino Pro Micro 上每次調(diào)用大約 2.7us 太慢了。它根本不可能輪詢 5us 脈沖,具有如此緩慢的功能,甚至不考慮對(duì)介于兩者之間的數(shù)據(jù)進(jìn)行處理。因此,出于這種需要,我自己的實(shí)現(xiàn)應(yīng)運(yùn)而生,在相同的硬件上,它的速度提高了 50%,每次調(diào)用只需要大約 1.6us。自定義 I/O 功能使得以 Sidewinder 操縱桿所需的速度讀取數(shù)據(jù)成為可能。最好的部分是代碼是用純 C++ 編寫的。它非常易于閱讀和使用。沒有宏,沒有匯編器或任何骯臟的黑客,只有很多優(yōu)化。

物料清單 (BOM)

硬件超級(jí)簡單。要構(gòu)建適配器,您需要該項(xiàng)目的 PCB 和以下部件:

PartQtyLCSC #Digikey #Mouser Electronics #CommentCONN11C77835609-5371-ND523-L77SDA15SA4CH4FDB15 母連接器R1..R44C17296513-MFR-25FTE52-100KCT-ND603-MFR-25FTE52-100K100 kOhm 電阻器SW11 C157812449-KG04ET-ND642-DS04TDIP-4開關(guān)U11C72120ED3051-5-ND649-DILB24P -223TLFDIP24 插座(可選)U11N/A1568-1060-ND474-DEV-12640Arduino Pro Micro(ATmega32U4 16MHz,5V),包括兩個(gè) 12 針接頭連接器,MicroUSB 版本(參見“已知問題”)

已知的問題

模擬操縱桿上的一些軸偏移

自動(dòng)校準(zhǔn)要求所有軸在初始化時(shí)都處于中心位置。請(qǐng)參閱有關(guān)自動(dòng)校準(zhǔn)的段落。

操縱桿不工作

確保您使用的是受支持的操縱桿之一或可以在傳統(tǒng)模擬模式下工作的操縱桿

Arduino 上的 MicroUSB 端口不夠穩(wěn)定

請(qǐng)改用 Arduino 的 USB-C 版本。

或者始終將 MicroUSB 電纜連接到 Arduino MicroUSB 版本,以避免進(jìn)一步磨損,并僅在電纜的遠(yuǎn)端進(jìn)行插拔操作。

如何幫助項(xiàng)目?

最好的方法是實(shí)現(xiàn)更多的驅(qū)動(dòng)程序。因?yàn)槲抑挥猩厦嫣岬降牟倏v桿,所以我不能貢獻(xiàn)比目前包含的更多的東西。

?

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
  2. 1.06 MB  |  532次下載  |  免費(fèi)
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費(fèi)
  5. 3TC358743XBG評(píng)估板參考手冊(cè)
  6. 1.36 MB  |  330次下載  |  免費(fèi)
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費(fèi)
  9. 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費(fèi)
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費(fèi)
  13. 7元宇宙底層硬件系列報(bào)告
  14. 13.42 MB  |  182次下載  |  免費(fèi)
  15. 8FP5207XR-G1中文應(yīng)用手冊(cè)
  16. 1.09 MB  |  178次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21549次下載  |  免費(fèi)
  9. 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191187次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)
主站蜘蛛池模板: 日本x色视频| 国内一级野外a一级毛片| 久久精品亚洲精品国产色婷| 亚洲午夜久久久久影院| 91牛牛| 在线不卡一区| 欧美成人伊人久久综合网| 午夜影视网| 一区二区三区中文字幕| 色偷偷91综合久久噜噜噜男男| 丁香六月婷婷七月激情| 福利毛片| 四虎永久免费网站| 在线午夜| 亚洲一级免费视频| 日本黄色一区| 天堂在线最新资源| www爽| 国产色女人| 在线播放网址| 色国产在线视频一区| 亚洲黄色网址在线观看| 亚洲视频区| 久久婷婷成人综合色| 国产午夜在线视频| 午夜精品在线免费观看| 中文永久免费看电视网站入口| 中文字幕精品一区二区三区视频| 日日噜噜夜夜狠狠久久aⅴ| 婷婷亚洲综合五月天小说在线| 午夜寂寞影视| 九九99视频在线观看视频观看| 成人夜色| 色老头视频在线观看| 手机看片久久青草福利盒子| 综合久久婷婷| 97伊人| 日韩欧美卡一卡二卡新区| 黄色香蕉网站| 很黄很黄的网站免费的| 七月色婷婷|