Post#8 » Tue Dec 27, 2016 9:34 am
Although I don't really have anything to announce yet, one of my side projects is designing a wireless Dreamcast controller. Right now I'm prototyping with the Cypress PSoC5, which is basically an ARM microcontroller with a small FPGA inside it. The Cypress PSoC system is pretty slick- the PSoC5 eval board is $10 and has full hardware debugging built-in, including hardware breakpoints. So far, I have it decoding the Maple bus wire protocol and spitting it out over a UART for analysis. The next step will be testing if I can basically build a Maple->SPI->Maple interface, to test out my encodeing & decoding latency. As for RF, I'll probably try the nRF24l01+ radios, since they can support up to 2mbps transfer rate (not sure what the actual rate works out to be). I have some ideas on how to get around the Dreamcast's 1ms reply window. Anyway, here's my tentative roadmap:
* Decode Maple bus wire protocol (95% complete)
* Encode Maple bus wire protocol (50% complete)
* Port Maple bus encoder & decoder to pure Verilog (40% complete)
* Test Maple-over-SPI extender (0% complete)
* Write library for nRF24l01+ radio (0% complete)
* Utilize DMA transfers between Maple bus and the radio (0% complete)
* Hardware integration with controller (0% complete)
Once I get a little farther along, I'll post my code and schematics up to github. One of the other pitfalls I see right now is that the controller draws more current than I'd prefer, (I have measurements logged on another computer) and VMU's/rumble packs only make it worse. If the controller portion of the hardware ends up being an add-on PCB (as opposed to a complete PCB replacement), then the battery life might be in the 3-4 hours range.
Again, I'm not announcing anything per se, but maybe sometime soon I'll be able to demonstrate something that actually works. Also, to be clear- I won't be building & selling these things, but I plan to post code & schematics so others can do so.