MaplePad
π Dreamcast controller emulator using RP2040. Supports 8-page memory card, SPI/I2C OLED for VMU LCD, and rumble.
Install / Use
/learn @mackieks/MaplePadREADME
MaplePadπ<br/>
<img style="border-width:0" src="images/maplepad_logo_shadow.png" width="300">MaplePad is an all-in-one Dreamcast controller, VMU, and Purupuru (rumble pack) emulator for Dreamcast portables and custom Dreamcast controllers. It runs on RP2040 and is usable with the Raspberry Pi Pico as well as custom MaplePad PCBs. See the hardware folder for a wiring diagram.
Note: MaplePad is still a WIP. You may experience issues with Windows CE games. In almost all problematic titles, disabling VMU and rumble through the MaplePad menu will make the game playable. Check out the Compatibility List for details!
Features
With MaplePad you can cycle through 8 200-block internal VMUs with custom icons and colors, use an I2C or SPI OLED display to see the VMU screen in color and at 2x integer scale, and enjoy rumble that is 1:1 with the Performance TremorPak in most retail software (still some minor bugs!)
<img src="images/vmu.png" width="750">Feature List:
- [x] Full FT<sub>0</sub> (controller) support including analog joystick and triggers
- [x] Full FT<sub>1</sub> (storage) support for savegames with 1600 blocks of space
- [x] Multipaging for memory card (8 separate 200-block memory cards)
- [x] Full FT<sub>2</sub> (LCD) support with SSD1331 96*64 color SPI OLED for VMU display (monochrome SSD1306 128*64 I2C OLED also supported)
- [x] Customizable color palettes for all 8 internal memory cards
- [x] Robust FT<sub>8</sub> (vibration) functionality (WIP)
- [x] Robust FT<sub>3</sub> (timer/RTC) reporting for compatibility purposes (no RTC)
- [x] Basic menu on SSD1306 and SSD1331 OLED for configuring MaplePad behavior (WIP)
To-do:
Release v1.6 is gated by the following TODOs
- [ ] Finish menu (button test, VMU palette editor, misc. bugs)
- [ ] Address issues with non-CE games (Crazy Taxi, Blue Stinger, Powerstone 2)
- [ ] Finish FT<sub>8</sub> (vibration) continuous vibration and AST
Future TODOs
- [ ] Fix compatibility with Windows CE games
- [ ] Implement 'fancy' VMU color palettes (gradients, animated backgrounds, etc.)
- [ ] Implement option for DC boot animation on OLED
- [ ] Add external RTC for true FT<sub>3</sub> (timer/RTC) support
- [ ] Implement FT<sub>4</sub> (microphone) support
Project Showcase
StrikerDC MaplePad mod by Wesk
<img src="images/striker3.jpg" width="250"> <img src="images/striker1.jpg" width="250"> <img src="images/striker2.jpg" width="250">
MaplePad Arcade Controller with VMU de GamesCare. link, video
<img src="images/IMG_20221216_191824_896.jpg" height="190"> <img src="images/20221206_124644.jpg" height="190">
Mini Arcade Stick de Mundo Yakara Colombia. Excellent video that showcases MaplePad v1.5 features! video
<img src="https://img.youtube.com/vi/jbHO3rEyzZU/0.jpg" height="210"> <img src="images/yakara.png" height="210">
Mini plug'n'play virtual memory card by jounge. link
<img src="images/mem1.jpg" height="150"> <img src="images/mem2.jpg" height="150"> <img src="images/mem3.jpg" height="150">
Various JAMMA Dreamcast adapters available on AliExpress. link 1, link 2, video (flashing lights warning!)
<img src="images/jamma_adapter_lcd.jpg" height="190"> <img src="images/jamma_adapter.jpg" height="190"> <img src="images/jamma_adapter_basic.jpg" height="190">
Giant Dreamcast VMU + Arcade Stick by CrazyJojo (code modified). video
<img src="images/jojo1.png" height="170"> <img src="images/jojo2.png" height="170"> <img src="images/jojo3.png" height="170">
Dumping VMUs to PC
You can use picotool to dump VMUs manually. Here's the process:
- Put RP2040 into programming mode with BOOTSEL button and connect it to your PC
- Use picotool to dump whichever VMU page you want:
picotool save -r 10020000 10040000 dump1.bin
- VMUs start at 0x10020000 and each one is 0x20000 long. So to save page 7, for example, you'd use
picotool save -r 100E0000 10100000 dump7.bin - Open dump in VMU Explorer

License
<a rel="license" href="http://creativecommons.org/licenses/by/4.0/"><img alt="Creative Commons License" style="border-width:0" src="https://i.creativecommons.org/l/by/4.0/80x15.png" /></a><br />This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</a>.
Share β copy and redistribute the material in any medium or format <br /> Adapt β remix, transform, and build upon the material for any purpose, even commercially. <br /> Attribution β You must give appropriate credit, provide a link to the license, and indicate if changes were made. <br />
MaplePad is forked from Charlie Cole's Pop'n Music Controller.
Special thanks: Charlie Cole, Colton Pawielski and Wesk.
