Comments (4)
Hi! The code will run on the Badger, but I only support SSD1306 and SSD1331 OLEDs for the VMU display right now. Porting the Badger's ePaper library wouldn't be hard, but even with partial refresh some games wouldn't look good due to the low display update rate. Case in point, Power Smash 2:
2023-03-22_19-16-33.mp4
Games that display static images or simple animations, like Rez, might be OK with partial refresh.
2023-03-22_19-17-48.mp4
Also, MaplePad isn't a standalone 'VMU emulator'. So you need to be connected to a Dreamcast or other Maple host to get VMU images (unless you gut the codebase and feed in dummy packets or something).
Keep in mind the Badger has a ton of onboard circuitry, so you'd have to remap pins in maple.h
for the controller buttons, and cut traces and stuff for the ADC lines if you want joystick/trigger compatibility.
from maplepad.
Thank you for your response. Totally agree that that the e-ink display might not show the best results on games that make a lot of use of the VMU's display. My idea was more about connecting the Badger to the Dreamcast 'just' to save/load games and use the on board buttons to switch between memory pages. Would that be hard to achieve?
from maplepad.
Got it. Wasn't sure what your use case was. Yes, that's doable.
You can connect the Badger to the P2/P3/P4 controller port and use its internal VMUs that way. The Dreamcast will register a controller being present on whichever port you choose, and you won't be able to connect an external controller to that port.
This is because retail software will only talk to subperipherals (VMU, rumble pack, microphone) if they are connected through a parent peripheral (controller or arcade stick). So you can't connect VMUs directly to the Dreamcast without a controller.
If you want to cycle pages with the Badger's buttons, update the PAGE_BUTTON
macro in maple.c
to the appropriate pin. The codebase is kinda broken right now, so base any edits off commit b187916.
I'd also recommend compiling an arcade stick binary (set these defines in maple.h
) because otherwise, the code will read in garbage from the Badger's ADC pins (pic below), and the joystick and triggers will do weird things.
At some point I want to develop a MaplePad-based "Super VMU" that you can plug into a stock controller for these sorts of use cases, but that's a long way off.
from maplepad.
Closing this for now, lemme know if you have any other questions!
from maplepad.
Related Issues (20)
- Arcade Stick version? HOT 5
- Weak rumble in numerous titles
- Joystick range issues in numerous titles
- VMU not working in Windows CE titles
- Rumble issues in Windows CE titles HOT 5
- Rumble not detected in some non-CE titles
- Implement continuous vibration and AST
- Crazy Taxi – Rumble Issue
- System thinks VMU has an executable file installed
- Conflict Zone – Unsupported Device
- KISS Psycho Circus – Unsupported Device
- BOM location HOT 4
- Erroneous Right/Down constant pressing when used with separate controller. HOT 1
- OLED display sh1106 support HOT 3
- Support SOCD cleaning (Simultaneous Opposing Cardinal Directions)
- Only works on first controller port HOT 6
- Compatibility with "regular" Raspberry Pico HOT 1
- Random disconnection HOT 5
- I2C OLED can't working and bug on 1.4b pio version HOT 21
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from maplepad.