4 ms·
MaplePad – RP2040 Dreamcast controller, VMU, and Purupuru (rumble pack) emulator
- okkdev 3y agoTalking about RP2040 powered controller firmware. GP2040 is an amazing project, which is used a lot in the Fighting Game Community where custom controllers are common. https://github.com/OpenStickCommunity/GP2040-CE https://github.com/OpenStickCommunity/GP2040-CE
- kilpikaarna 3y agoOh wow, thank you for this! I once tried putting an Arduino in an arcade stick, for reading controller inputs and sending keyboard presses via USB, but the lag was horrible. It's been on my to-do list to eventually dive enough into AVR-C to try to improve on it. There is/was a premade board for this (don't remember what it was called), but it was quite expensive, and I didn't want to keep moving it between controllers.
- CarVac 3y agoThere's also PhobGCC, an rp2040 motherboard replacement offering Hall effect sticks for Gamecube controllers. https://github.com/PhobGCC https://github.com/PhobGCC (I'm lead software dev on it)
- bapo 3y agoThanks for the work btw! I’m kinda burned out from always having to replace and hunt for parts for my gc controller because of my almost 22years addiction for SSBM. Considering getting a phob soon :)
- westurner 3y agoHoping to get controller support for MicroPython w/ LEGO Boost, RP2040js etc, I researched a bunch of Bluetooth BLE + C/Python links here: https://github.com/pybricks/support/issues/262#issuecomment-1631213324 https://github.com/pybricks/support/issues/262#issuecomment-... : > https://github.com/DJm00n/ControllersInfo https://github.com/DJm00n/ControllersInfo: HID profiles for Xbox 360, Xbox One, PS4, PS5, Stadia, and Switch > "HID over GATT Profile (HOGP) 1.0" https://www.bluetooth.org/docman/handlers/downloaddoc.ashx?doc_id=245141 https://www.bluetooth.org/docman/handlers/downloaddoc.ashx?d... - [ ] MicroPython: wrap the Bluetooth HID over GATT Profile events and buttons Perhaps your Dreamcast controller could do BLE and VMU wireless.
- gadgetoid 3y agoReally interested in putting together some kind of USB host to HID over GATT profile or Bluetooth HID to i2c/UART bridge. We’re (Pimoroni) closing on shipping a dual RP2040 HDMI board (PicoVision) that’s great for bedroom coder style games, but lack of full fat Bluetooth support or USB HID host in MicroPython - and the relative pain of making and supporting a build that includes these features - make adding controllers… tricky. Now I wish I’d kept the Dreamcast controller I modded with a custom cable to poke Maple bus. Hindsight!
- eggsome 3y agoI have a modded Dreamcast free to a good home if anyone wants it and lives in Melbourne or Sydney. (I've found emulation easier for me these days, as I try to simplify my physical setup).
- l-albertovich 3y agoYou're a cool cat, respect.
- tecleandor 3y agoThat's quite a cool gift given current prices <3
- idonotknowwhy 3y agoI'd be happy to have it, customs siezed my 3 attempts to get a gdemu here. That said, look them up on ebay, you'd be able to sell it for a few hundred within a week early. Also, if you every want to use light gun games on a CRT, they don't work easily with emulation.
- eggsome 3y agoIt's yours. Send me an email with your details (check my profile for my email address)
- Cannabat 3y agoVery nice of you to offer, and rather tempting - though I have no time to play. How is it modded? I recall that certain models, identified by some number on the bottom of the console, allowed burned discs to be played. What extra can you do with a modded system?
- luma 3y agoNear as I know, all DCs can boot suitably-prepared burned discs without modding. The only hardware mod I’m aware of would be to defeat region lock on original discs.
- gtrevorjay 3y agoMust be something in the air. I just started working on a DC VMU project this weekend (warning 8-bit mature): https://www.newgrounds.com/art/view/kittyhawkmontrose/boobcast-controller https://www.newgrounds.com/art/view/kittyhawkmontrose/boobca... The DC's VMU is a fascinating evolutionary dead end.
- devwastaken 3y agoLooks like it was made possible by the Pico's PIO assembly/chip https://github.com/mackieks/MaplePad/blob/main/src/maple.pio https://github.com/mackieks/MaplePad/blob/main/src/maple.pio The cycle accurate assembly language has enabled a number of timing sensitive FIFO data processes. What had to be done with FPGA's before has some limited support with PIO. I hope RPI increases the number of instructions and simultaneous running PIO machines in the future.
- gorkish 3y agoIt's great to have the PIO in a smaller/cheaper device, but if that is the kind of thing that you really like, I do want to mention the BeagleBone SPUs and the Parallax Propeller / Propeller2 are similar/more powerful implementations of this concept.
- 15155 3y agoRE: Propeller2- at $10+/chip, I'm just going with an XC7A35T or the TI AM243X (actually less $ and substantially more RAM) or AM62X series CPUs. 33000 LUTs and 90 DSP48s are more than enough to do 10+ RISC-V cores, I don't understand the niche this product fills.
- aidenn0 3y agoI've done similar things (for a Playstation 1/2 controller) bit-banging with 8-bit microcontrollers. They often include instruction timing information in the datasheets.
- gadgetoid 3y agoA PIO LUT instruction with a 256 entry deep, 32bits wide lookup table would absolutely make my day.
- aidenn0 3y agoOf course this gets posted to HN right after the optical drive in my Dreamcast stops working...
- GloriousKoji 3y agoYou should look into the mods for replacing the GDROM drive with a SDCard reader.
- JohnBooty 3y agoThat's REALLY cool. I remember reading that the Maple bus used by Dreamcast's peripherals was pretty similar to USB in a lot of ways, and wondering why they didn't just use USB? I definitely would not say this about all of Sega's hardware engineering efforts (I'm staring at you, Saturn) but the Dreamcast seemed like such a nicely engineered piece of equipment that I have always given Sega the benefit of the doubt. I assume there was an adequate reason: lower latency, cost, profits, quality control, licensing, etc. Or perhaps USB just wasn't mature enough - it was released in 1996 and Dreamcast design was probably already underway. But, I've never seen an official explanation.
- nvy 3y agoNot sure about the Dreamcast but with the GameCube I noticed the latency between plugging in a new controller and having the system respond to it is practically instantaneous. Much, much faster than USB.
- JohnBooty 3y agoI strongly suspect, but do not know, that the slowness in USB enumeration is a software stack issue on the host side of things. If you think about plugging a USB device into a desktop OS, the OS has to check security settings, find and load a driver for the device, etc. But as far as the protocol itself is concerned but I don't see any intrinsic reason why enumeration can't be nearly instant, for something like a console that only needs to recognize a few possible devices, each with minimal drivers that can be preloaded.
- AdmiralAsshat 3y agoI like playing on real hardware whenever possible, but I dunno what it was about the Dreamcast. I've had three units die on me so far. Emulation is pretty much my only route left at this point, unless Sega ever gets around to releasing a Dreamcast Classic.