Welcome, Guest!

Here are some links you may find helpful

Dreamcast Adapter for MAPLE (Release)

megavolt85

DreamShell Developer
Original poster
Registered
Jun 17, 2019
216
566
93
www.dc-swat.ru
AGName
megavolt85
AG Join Date
01.09.2015
Adapter for MAPLE (WIP)
I decided to feel the MAPLE bus and connect something to it
I originally planned to connect only the PlayStation controller, but in the process Wishlist (not only mine) grew and as a result, gamepads from Saturn and MegaDrive were sent to me for experiments

At the moment, the adapter can connect to DreamCast:

1) controllers from PlayStation 1 and 2 with vibration support
2) six button gamepads from SEGA MegaDrive / Genesis
3) six button gamepads from SEGA Saturn
4) keyboards with PS / 2 interface
5) PS / 2 mice
6) up to 16 VMUs, depending on the installed memory

limitations and bugs:

1) the adapter works only on the console without overclocking, in the future I will overclock the console to 220 MHz and make separate software for the console with overclocking
2) in the emulation mode of the keyboard in games sometimes buttons stick
3) VMU emulation in WINCE games does not work in mouse emulation mode

what remains to be completed:

There is very little to complete, I want the adapter to connect to the USB of the computer so that I can read / write the image of emulated VMUs

Device Diagram:

SMPMK2DC schematic.png

Features:

1) Very low cost
2) You can unlock extra blocks in VMU
3) Change of VMU banks by clamping hot keys on the controller

Disadvantages:
1) due to software emulation protocol does not work on overclocked consoles
2) not all PS / 2 mice work (partially solved, only one new low price mouse does not work)
3) the PS / 2 keyboard is not stable (most likely the problem is my old keyboard, beta testers don't have problems)

A little bit about VMU emulation:

only memory from the 25PE series is supported, this is not my whim, but a technical limitation
it is best to look for 25PE16, this is the maximum at which 16 VMUs will be emulated, for example, when using 25PE80 there will be only 8 VMUs, with 25PE40 - four, etc.

Hotkeys:

PS1 / 2:
L1 + R1 + SELECT + LEFT / RIGHT - previous / next VMU bank
L1 + R1 + SELECT + X - standard controller mode (default)
L1 + R1 + SELECT + [] - mode of all buttons and axes
If the controller supports pressing force, then L2 R2 will be sensitive to pressing

SATURN:
L + R + START + LEFT / RIGHT - previous / next VMU bank
L + R + START + A - standard controller mode
L + R + START + X - ASCII controller mode + two triggers (default)

MegaDrive:
MODE + START + LEFT / RIGHT - previous / next VMU bank
MODE + START + A - standard controller mode
MODE + START + X - ASCII controller mode + MODE as D button (default)

Keyboard:
lCTRL + lALT + lSHIFT + PAGE UP / DOWN - previous / next VMU bank

Mouse:
left + right + middle buttons + up / down wheel - previous / next VMU bank


Firmware for STM32F103C8T6


Program for reading / writing VMU banks via USB


Enter to USB mode occurs if you connect the adapter without inserted joysticks / keyboard / mouse, or if you set the Boot1 jumper to position 1 before powering up
In USB mode, the green LED will flash
 
Last edited:

Anthony817

Well-known member
Community Contributor
Registered
Jun 2, 2019
416
567
93
AG Join Date
May 12, 2010
Wow nice work! I think it may also be good to look into having USB mice and keyboards connected, that is a huge thing people would want this for.
 

megavolt85

DreamShell Developer
Original poster
Registered
Jun 17, 2019
216
566
93
www.dc-swat.ru
AGName
megavolt85
AG Join Date
01.09.2015
STM32F103 don't have USB host, it's can work only as USB device
 

darcagn

Well-known member
Registered
May 30, 2019
152
190
43
dcemulation.org
AGName
darcagn
AG Join Date
May 12, 2007
1) controllers from PlayStation 1 and 2 with vibration support

Is it possible to have the software emulate the 2nd analog stick on the PSX controller to the 2nd analog on the maple bus (for dual analog sticks)?
If so, this would be very useful for bleemcast, and any other homebrew software that wants to use dual analog
 

truemaster

Well-known member
Registered
May 31, 2019
217
165
43
yes yes those 2 games desparete needed 2 analogs. the gameplay experience will change to beeter now
 
  • Like
Reactions: MKKhanzo

FamilyGuy

2049 Donator
Donator
Registered
May 31, 2019
344
337
63
AGName
-=FamilyGuy=-
AG Join Date
March 3, 2007
is alredy created :)
Quake 3 Arena use all buttons and both analog
Unreal Tournament use both analog
Any mod required or they already supported it?
 

megavolt85

DreamShell Developer
Original poster
Registered
Jun 17, 2019
216
566
93
www.dc-swat.ru
AGName
megavolt85
AG Join Date
01.09.2015
is base functional for this games
need test more games

in TOY RACER don't work start button on "PRESS START" screen, adapter have hotkey for change mode standart controller or all button and axes
 

FamilyGuy

2049 Donator
Donator
Registered
May 31, 2019
344
337
63
AGName
-=FamilyGuy=-
AG Join Date
March 3, 2007
is base functional for this games
need test more games

in TOY RACER don't work start button on "PRESS START" screen, adapter have hotkey for change mode standart controller or all button and axes
Were there developer controllers with dual analogs? Otherwise I wonder how they could test the feature properly.
 

Anthony817

Well-known member
Community Contributor
Registered
Jun 2, 2019
416
567
93
AG Join Date
May 12, 2010
Well the maple protocol always supported 2X analogs, and 2X D-pads on the same controller at the same time, as well as a special unused "D" button. I guess that we just never really had the hardware to enable therm in games, as my thoughts have always been once we truly have adapters that allow dual analog sticks, we could simply hack the game executable to update the controls with modern layout. Bernie Stolar even said that Sega had always planned a dual analog controller from the start, hence ehy it is already built into the protocol, but the system never survived long enough for this to come to pass.

In my Retro-Bit controller thread I post many of the details about the unused extra inputs the system could theoretically use.

Analog inputs

Code:
/* Raw controller condition structure */
typedef struct {
    uint16 buttons;         /* buttons bitfield */
    uint8 rtrig;            /* right trigger */
    uint8 ltrig;            /* left trigger */
    uint8 joyx;         /* joystick X */
    uint8 joyy;         /* joystick Y */
    uint8 joy2x;            /* second joystick X */
    uint8 joy2y;            /* second joystick Y */
} cont_cond_t;

Digital inputs

Code:
#define CONT_C          (1<<0)
#define CONT_B          (1<<1)
#define CONT_A          (1<<2)
#define CONT_START      (1<<3)
#define CONT_DPAD_UP        (1<<4)
#define CONT_DPAD_DOWN      (1<<5)
#define CONT_DPAD_LEFT      (1<<6)
#define CONT_DPAD_RIGHT     (1<<7)
#define CONT_Z          (1<<8)
#define CONT_Y          (1<<9)
#define CONT_X          (1<<10)
#define CONT_D          (1<<11)
#define CONT_DPAD2_UP       (1<<12)
#define CONT_DPAD2_DOWN     (1<<13)
#define CONT_DPAD2_LEFT     (1<<14)
#define CONT_DPAD2_RIGHT    (1<<15)

I was hoping with the more modern rumored wireless dual analog version of the DC controller, the Home key could be mapped to D input maybe as a macro of Start+A, B, X, Y soft reset?

Also, those Retro-Bit controllers should also hopefully work with Bleem and right analog stick, problem is really not a ton of games utilized them correctly, but there is always hex editing the executable for our own preferences.
 

Anthony817

Well-known member
Community Contributor
Registered
Jun 2, 2019
416
567
93
AG Join Date
May 12, 2010
Wow I was always curious what D button was meant for. Now that explains it thanks!
 

darcagn

Well-known member
Registered
May 30, 2019
152
190
43
dcemulation.org
AGName
darcagn
AG Join Date
May 12, 2007
It seems to have some issues for me.

I tried with a PS1 and PS2 controller, and tested with a JP va0 and US va1 console, and I get the same problems with both controllers.

When I turn on the console with no controller attached, the green light blinks for USB mode (as expected).
When I turn the console on with a PS1/PS2 controller attached, the "analog" lights up but no buttons do anything and I can't turn analog off.
If I unplug/replug the PS1/PS2 controller, "analog" will no longer be lit, and the controller begins to work, but many of the buttons have weird and incorrect mappings ("up" presses up and left, "down" presses right and down, "start" is both up and start..., "R1" is Y, etc...)
If I then press "analog" it lights up and the console/game sees the controller disconnecting/reconnecting rapidly. No buttons or sticks work. Turning off analog makes the controller work again, with the messed up mappings.

I have checked all connections and soldering to make sure the connections are proper and to ensure there are no shorts.
 

Make a donation