An open-source WonderSwan Color consolizer.
This project is in a somewhat usable stage right now. Additionally, it needs the video core from sameer, to be found here.
This project is an open-source consolizer for the WonderSwan Color handheld, based on a Tang Nano 9k FPGA board (which has a GW1NR-LV9QN88P FPGA on it).
Reference | Part | Link |
---|---|---|
FPC1 | FFC connector with 24 pins, 0.5mm pitch, bottom contacts | LCSC |
U1 | Arduino Nano | AliExpress |
U2 | Tang Nano 9k | AliExpress |
U3 | TPS62221DDCR | LCSC |
USB1 | Micro USB connector | LCSC |
JOY1 | SNES controller connector 90° | AliExpress |
C1 | 4.7 uF capacitor (1206) | LCSC |
C2 | 10 uF capacitor (1206) | LCSC |
L2 | 10 uH inductivity (1206) | LCSC |
Q1 - Q12 | N-channel MOSFET 2N7002 (SOT-23) | LCSC |
Check the wiring diagram from WSC motherboard to PCB in the assets folder for full zoom.
Connections on the WSC backside:
WSC Motherboard | Consolizer PCB |
---|---|
Battery + | 1V5 |
Battery - | GND |
Use a 24 pin same-side (also known as "type A") flex cable with 0.5 mm pitch to connect the display FFC connector of the WSC motherboard to the PCB FFC connector.
The display signals can be easily wired to the FPGA board by using an FFC breakout board and an FFC cable. The required FFC is 24 pins with 0.5 mm pitch.
WSC display pin | Tang Nano 9k pin |
---|---|
19 | GND |
22 | 86 |
21 | 85 |
23 | 84 |
18 | 83 |
14 | 82 |
15 | 81 |
16 | 80 |
17 | 79 |
10 | 25 |
11 | 26 |
12 | 27 |
13 | 28 |
6 | 29 |
7 | 30 |
8 | 33 |
9 | 34 |
The controller mapping differs for landscape and portrait mode.
By default, the SNES DPAD is mapped to the X buttons of the WonderSwan. The controller's B & Y buttons are mapped to the WonderSwan's B button, A & Y are mapped to A. Start is mapped to Start.
To control the WS Y buttons, use the L or R shoulder buttons. When holding L, the SNES DPAD is mapped to the WS Y buttons. When holding R, A/B/X/Y are mapped to Y2/Y3/Y1/Y4.
SNES Button | WS Button (no shoulder button held) | WS Button (holding L) | WS Button (holding R ) |
---|---|---|---|
UP | X1 | Y1 | X1 |
DOWN | X3 | Y3 | X3 |
LEFT | X4 | Y4 | X4 |
RIGHT | X2 | Y2 | X2 |
A | A | A | Y2 |
B | B | B | Y3 |
X | A | A | Y1 |
Y | B | B | Y4 |
START | START | START | START |
The SNES DPAD is mapped to the Y buttons of the WonderSwan (rotated accordingly). Y is mapped to X1, X is mappped to X2, A is mapped to X3 and B is mapped to X4. Start is mapped to Start.
In order to switch from landscape to portrait mode (or vice versa), just press the "Select" button on the SNES gamepad.
If you want to use the video out with a properly rotated display for portrait mode games (so actually rotate the display itself), you want to have the portrait mode gamepad mapping but without the video being rotated from the consolizer. For this, you can activate (and deactivate) portrait mode controller mapping without video rotation via the button combination: L + R + START + DPAD UP.