Skip to content

🍁 Dreamcast controller emulator using RP2040. Supports 8-page memory card, SPI/I2C OLED for VMU LCD, and rumble.

License

Notifications You must be signed in to change notification settings

madgooselabs/MaplePad

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MaplePad🍁

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!)

Feature List:

  • Full FT0 (controller) support including analog joystick and triggers
  • Full FT1 (storage) support for savegames with 1600 blocks of space
  • Multipaging for memory card (8 separate 200-block memory cards)
  • Full FT2 (LCD) support with SSD1331 96*64 color SPI OLED for VMU display (monochrome SSD1306 128*64 I2C OLED also supported)
  • Customizable color palettes for all 8 internal memory cards
  • Robust FT8 (vibration) functionality (WIP)
  • Robust FT3 (timer/RTC) reporting for compatibility purposes (no RTC)
  • 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 FT8 (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 FT3 (timer/RTC) support
  • Implement FT4 (microphone) support

Project Showcase

StrikerDC MaplePad mod by Wesk

MaplePad Arcade Controller with VMU de GamesCare. link, video

Mini Arcade Stick de Mundo Yakara Colombia. Excellent video that showcases MaplePad v1.5 features! video

Mini plug'n'play virtual memory card by jounge. link

Various JAMMA Dreamcast adapters available on AliExpress. link 1, link 2, video (flashing lights warning!)

Giant Dreamcast VMU + Arcade Stick by CrazyJojo (code modified). video

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 image
  • 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 image

License

Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 International License.

Share — copy and redistribute the material in any medium or format
Adapt — remix, transform, and build upon the material for any purpose, even commercially.
Attribution — You must give appropriate credit, provide a link to the license, and indicate if changes were made.

MaplePad is forked from Charlie Cole's Pop'n Music Controller.

Special thanks: Charlie Cole, Colton Pawielski and Wesk.

About

🍁 Dreamcast controller emulator using RP2040. Supports 8-page memory card, SPI/I2C OLED for VMU LCD, and rumble.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 99.9%
  • Other 0.1%