emukidid / swiss-gc

Swiss - The swiss army knife of GameCube homebrew
GNU General Public License v2.0
1.27k stars 93 forks source link

ASCII GameCube Keyboard Controller (and 3rd party variants) support in swiss -- List of GameCube keyboard adapters #607

Open BorgNumberOne opened 2 years ago

BorgNumberOne commented 2 years ago

It would be great, if Keyboard support would be added in future, maybe in these ways:

(Just for information) Here are some further Keyboard to Gamecube adapter/converter possibilities/variants:

+ Mad Catz - Sharkboard https://www.amazon.com/-/es/dp/B0002E5OJQ http://www.nintendoworldreport.com/news/9248/mad-catz-ships-out-sharkboard

+ Datel/codejunkies - Powerboard http://us.codejunkies.com/Products/GCN-Powerboard__EF000313.aspx (this is the first one which I have got and which is also working very well in Datel's/Codejunkies': SD media launcher and Action Replay)

+ ebest - e-Keyboard Converter for PC/PS2/GC/XBOX ("EB0019832") https://www.amazon.de/PC-Multi-Keyboard-Converter-Xbox/dp/B0007P8KHS https://retrostuff.org/2013/01/11/connecting-a-keyboard-to-a-gamecube/ (this is the second one which I have got and which is also working very well in Datel's/Codejunkies': SD media launcher and Action Replay)

+ Mayflash - GC Keyboard & PS controller Adapter 2 in 1 ("GC020") https://www.insomnia.gr/classifieds/item/1824046-gc-keyboard-ps-controller-adapter-2-in-1-%CE%B3%CE%B9%CE%B1-gamecube/ https://cdn-bb-eu1.insomnia.gr/file/insomnia-s3/monthly_2021_08/64C35C85-DC9B-4932-B5CB-3DBA2CA15BAF.jpeg.f580c2da99c243b9fc0f00577b3312fa.jpeg https://i.ebayimg.com/d/w1600/pict/254804607328_/Mayflash-Tastatur-ps2-Controller-f%C3%BCr-GameCube-Adapter.jpg https://web.archive.org/web/20060622142906/http://www.mayflash.com/gc/gc020/GC020-1.htm https://www.google.com/search?source=univ&tbm=isch&q=%22GC+Keyboard%22+mayflash https://www.facebook.com/2070956029869509/posts/mayflash-gc-keyboard-controller-adapter-2in1mayflash-rare-collectoritem/2569997976631976/

+ tototek - GC KEYBOARD CONVERTER 2in1 http://www.tototek.com/pio/main1/SUBMENU/PARTS/LINKS/GC/gckeyboard2in1us.htm

+ EMS Production Ltd. (Yixun Co., Ltd.) - Keyboard Adaptor NO.0315 Connect common PS/2 keyboard to Wii™ / GC™ / PS3™ / PS2™ (& to PC). http://www.hkems.com/product/nintendo/Keyboard_Adaptor.htm

Details of the ... / used ICs on the adaptor/converter: EM78P447S (EM78P447SAM) - 0407G BD42B2 --- OTP ROM --- 8-BIT MICRO-CONTROLLER (https://pdf1.alldatasheet.com/datasheet-pdf/download/83064/EMC/EM78P447SAM.html)

EM78P156EL (EM78P156ELM-G) - 0418A BG44V5 --- OTP ROM --- 8-BIT MICRO-CONTROLLER (https://pdf1.alldatasheet.com/datasheet-pdf/download/60153/EMC/EM78P156ELM.html)

CY7C03001 - A-SC 0412 - G02 - 615820 (https://pdf1.alldatasheet.com/datasheet-pdf/download/87519/CYPRESS/CY7C63001.html)

USB-IDs (detected while connected to PC) USB VID_1292 USB PID_6324 REV_0001

Further GameCube Keyboard controler/adapter/coverter related links: a) http://www.pso-world.com/forums/showthread.php?25176-Tototek-s-GC-2-in-1-keyboard-converter-REVIEW b) http://web.archive.org/web/20030802212927/http://www.pantsofevilgamers.com/kb/ordering.htm http://web.archive.org/web/20030803012738/http://www.pantsofevilgamers.com/kb/pics.htm (build your own GameCube Keyboard adapter, )

This may be useful for realizing GameCube Keyboard support in Swiss: a) http://www.blarg.ca/2021/02/15/using-a-gamecube-ascii-keyboard-controller-with-libogc/ b) https://github.com/gered/gc-ascii-keyboard c) http://hitmen.c02.at/files/yagcd/yagcd/chap9.html#sec9.3 d) https://simplecontrollers.bigcartel.com/ https://simplecontrollers.bigcartel.com/product/gamecube-controller-value-and-snapback-tester-reader https://simplecontrollers.bigcartel.com/product/sammy-ascii-keyboard-to-usb-adapter

BorgNumberOne commented 2 years ago

The first one, who realizes this, will get a really decent donation. More than a (patreon) benefit tier: "Website fuel" and more than the benefit tier: "Homebrew motivation".

I keep my promise.

RobertDaleSmith commented 1 year ago

I made an adapter to simulate the GameCube keyboard with a standard USB HID keyboard. Looking at adding support for basic keyboard navigation to swiss-gc now.

I see some references to the gc-keyboard in libogc but looks like it may not be fully implemented. I will see if I can get swiss-gc building on my local dev environment and start poking. Once the keyboard is identified 0x54 command is sent instead to poll for keyboard data. Returned data is the same size as an original controller but we only need the three scancode bytes pressed. Should be easy to first translate this to menu navigation within swiss.

Then I think it would be cool to jump through the game list depending on letter pressed and first letters of the games within the list.