色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

電子發燒友App

硬聲App

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示
創作
電子發燒友網>電子資料下載>電子資料>Necroware的GamePort適配器開源分享

Necroware的GamePort適配器開源分享

2023-06-07 | zip | 0.06 MB | 次下載 | 免費

資料介紹


pYYBAGR_2WqAEWhMAACq0uqh-Vo600.png
poYBAGR_2W2AUVYDAACA74pWhxU744.png

描述

Necroware 的 GamePort 適配器

許多來自復古社區的人仍然保留著他們早期心愛的操縱桿和游戲手柄。這些設備經常在我們地下室的某個黑暗角落里度過它們的一生,出于懷舊的原因,我們不敢扔掉它們。它們讓我們想起了我們的童年,我們在那里玩過我們的 Wing Commanders、X-Wings、Descents 和許多其他游戲。這些舊的游戲桿都是用來連接游戲端口的,通常是在聲卡上。但到了 90 年代末和 2000 年初,游戲端口從我們的電腦上消失了,取而代之的是 USB,我們的舊游戲桿也消失在了過去。今天并不是每個人都擁有一臺完整的復古 PC,許多人正在使用帶有 DOSBox 的現代計算機來玩舊游戲,有時還使用現代 USB 游戲桿。但是不會 用我們當時使用的相同操縱桿玩舊游戲不是很好嗎?這就是該適配器發揮作用的地方。它可用于將游戲端口操縱桿連接到 USB 端口。

GamePort 適配器視頻

第 1 部分:簡介

第 2 部分:更新

它是如何工作的?

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

這個有什么特別之處?

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

功能概述:

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

四個開關選擇操縱桿類型

自動檢測各種數字協議操縱桿

自動校準

極低的輸入延遲

模擬和數字操縱桿有什么區別?

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

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

當前,實現了以下驅動程序。要選擇正確的驅動程序,您必須使用四個開關,如表中所示。未來開關可能會發生變化或擴展,請留意更新。

操縱桿模型按鈕AxesHatSW1-4評論通用模擬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,FFB 尚未實現Gravis GamePad Pro10200001Digital protocol (GrIP)Logitech WingMan Extreme6311001Digital protocol (ADI)Logitech CyberMan 28601001Digital protocol (ADI)

評論:

請注意不同系列的數字設備如何使用相同的開關。由于全數字通信,這是可能的。使用此方法,適配器會在知道它已連接到數字游戲桿時立即實施自動檢測。

目前,只實現了列出的 Sidewinder 設備的驅動程序,因為我手頭沒有其他型號。Precision Pro 也可以在 USB 上本地工作,但仍然可以實現,因為我們可以。

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

Logitech 使用的 ADI 協議的實施應該適用于支持該協議的所有設備。然而,目前只有列出的羅技設備經過測試。

測試了哪些操縱桿?

許多野外的操縱桿都使用相同的數字協議,或者向后兼容模擬操縱桿,因為它們在 DOS 時代使用過。以下列表包含其他人報告的到目前為止工作的所有設備:

Gravis Analog Pro(模擬)

Gravis PC GamePad(模擬)

Gravis GamePad Pro

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

QuickShot QS-201“超級戰士”(模擬)

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

響尾蛇游戲手柄

響尾蛇 3D Pro

響尾蛇 3D Pro Plus

Sidewinder Precision Pro

Sidewinder ForceFeedBack Pro

Sidewinder 力反饋輪

羅技 WingMan Extreme Digital

羅技 CyberMan 2

InterAct UltraRacer PC(模擬)

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

什么是自動校準?

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

注意:使用模擬操縱桿的硬性要求是在插入 USB 端口期間所有軸必須處于中間狀態,因為所有后續校準都是基于初始狀態進行的。

對實施的技術見解

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

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

物料清單 (BOM)

硬件超級簡單。要構建適配器,您需要該項目的 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開關U11C72120ED3051-5-ND649-DILB24P -223TLFDIP24 插座(可選)U11N/A1568-1060-ND474-DEV-12640Arduino Pro Micro(ATmega32U4 16MHz,5V),包括兩個 12 針接頭連接器,MicroUSB 版本(參見“已知問題”)

已知的問題

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

自動校準要求所有軸在初始化時都處于中心位置。請參閱有關自動校準的段落。

操縱桿不工作

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

Arduino 上的 MicroUSB 端口不夠穩定

請改用 Arduino 的 USB-C 版本。

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

如何幫助項目?

最好的方法是實現更多的驅動程序。因為我只有上面提到的操縱桿,所以我不能貢獻比目前包含的更多的東西。

?

評論

查看更多

下載排行

本周

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

本月

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

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  4. 78.1 MB  |  537798次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191187次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費
主站蜘蛛池模板: 国产69精品久久久久乱码免费| 国产精品久久人妻拍拍水牛影视| 鬼灭之刃花街篇免费樱花动漫| 国产亚洲AV精品无码麻豆| 久久久久嫩草影院精品| 日本无码毛片一区二区手机看| 亚洲精品成A人在线观看| 97蜜桃123| 国产精品玖玖玖影院| 啦啦啦影院视频在线看高清...| 日韩精品人成在线播放| 一区二区中文字幕在线观看 | 国产精品久久久久久久久久久| 狠狠色香婷婷久久亚洲精品| 欧美成人猛片aaaaaaa| 亚洲 欧美 国产在线视频 | av天堂网2014在线| 国产亚洲精品久久久久久入口| 嗯别插太快好深再深点| 羞羞漫画在线播放| 老熟人老女人国产老太| 日韩欧无码一区二区三区免费不卡 | av女优快播| 国语自产精品一区在线视频观看 | 色中色成人论坛| 尤蜜网站在线进入免费| 国产 亚洲 中文在线 字幕| 久久伊人天堂视频网| 香港成人社区| xxxxxl荷兰| 久久久免费观成人影院| 香蕉eeww99国产精选播放| mm625亚洲人成电影网| 久久久国产精品免费A片蜜芽广| 四虎永久在线精品免费A| 99视频一区| 久久热精品18国产| 亚洲高清中文字幕| 丰满少妇67194视频| 欧美久久综合网| 中文字幕免费视频精品一|