{"id":13691511,"url":"https://github.com/zwenergy/swancolorHD","last_synced_at":"2025-05-02T15:32:27.924Z","repository":{"id":44828289,"uuid":"513048883","full_name":"zwenergy/swancolorHD","owner":"zwenergy","description":"An open-source WonderSwan Color consolizer.","archived":false,"fork":false,"pushed_at":"2024-08-04T11:14:22.000Z","size":5642,"stargazers_count":45,"open_issues_count":0,"forks_count":3,"subscribers_count":5,"default_branch":"main","last_synced_at":"2024-11-12T17:47:00.903Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"GLSL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zwenergy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-07-12T07:51:15.000Z","updated_at":"2024-10-02T20:00:46.000Z","dependencies_parsed_at":"2023-11-07T20:41:52.585Z","dependency_job_id":"bfdabceb-830b-42b7-b142-c63f26c2e536","html_url":"https://github.com/zwenergy/swancolorHD","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zwenergy%2FswancolorHD","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zwenergy%2FswancolorHD/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zwenergy%2FswancolorHD/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zwenergy%2FswancolorHD/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zwenergy","download_url":"https://codeload.github.com/zwenergy/swancolorHD/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252063050,"owners_count":21688642,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-02T17:00:45.935Z","updated_at":"2025-05-02T15:32:22.912Z","avatar_url":"https://github.com/zwenergy.png","language":"GLSL","funding_links":[],"categories":["Hardware development"],"sub_categories":["Screen capture"],"readme":"# swancolorHD\nAn open-source WonderSwan Color consolizer.\n\nThis project is in a somewhat usable stage right now.\nAdditionally, it needs the video core from sameer, to be [found here](https://github.com/hdl-util/hdmi).\n\n## About\nThis 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).\n\n## PCB\n\u003cimg src=\"./assets/pcb.png\" alt=\"drawing\" width=\"600\"/\u003e\n\n\n### PCB BOM\n| **Reference** | **Part** | **Link** |\n---------|------|------|\n|FPC1    | FFC connector with 24 pins, 0.5mm pitch, bottom contacts | [LCSC](https://lcsc.com/product-detail/FFC-FPC-Connectors_XUNPU-FPC-05F-24PH20_C2856805.html)|\n|U1      | Arduino Nano | [AliExpress](https://aliexpress.com/item/1005002966043359.html)|\n|U2      | Tang Nano 9k | [AliExpress](https://aliexpress.com/item/1005004275570427.html)|\n|U3      | TPS62221DDCR | [LCSC](https://lcsc.com/product-detail/DC-DC-Converters_Texas-Instruments-TPS62221DDCR_C398348.html)|\n|USB1    | Micro USB connector | [LCSC](https://lcsc.com/product-detail/USB-Connectors_XKB-Connectivity-U254-051T-4BH23-S2S_C482361.html)|\n|JOY1    | SNES controller connector 90° | [AliExpress](https://aliexpress.com/item/32895254743.html)|\n|C1      | 4.7 uF capacitor (1206) | [LCSC](https://lcsc.com/product-detail/Multilayer-Ceramic-Capacitors-MLCC-SMD-SMT_FH-Guangdong-Fenghua-Advanced-Tech-1206B475K500NT_C29823.html)|\n|C2 | 10 uF capacitor (1206) | [LCSC](https://lcsc.com/product-detail/Multilayer-Ceramic-Capacitors-MLCC-SMD-SMT_Samsung-Electro-Mechanics-CL31A106KBHNNNE_C13585.html)|\n|L2 | 10 uH inductivity (1206) | [LCSC](https://lcsc.com/product-detail/Inductors-SMD_FH-Guangdong-Fenghua-Advanced-Tech-CMI321609X100KT_C1051.html)|\n|Q1 - Q12 | N-channel MOSFET 2N7002 (SOT-23) |[LCSC](https://lcsc.com/product-detail/MOSFETs_Jiangsu-Changjing-Electronics-Technology-Co-Ltd-2N7002_C8545.html)|\n\n## PCB Wiring Diagram\nCheck the [wiring diagram from WSC motherboard to PCB in the assets folder](./assets/wiring.png) for full zoom.\n\u003cimg src=\"./assets/wiring.png\" alt=\"drawing\" width=\"600\"/\u003e\n\n**Connections on the WSC backside:**\n| WSC Motherboard | Consolizer PCB   |\n|-----------------|------------------|\n| Battery +       | 1V5              |\n| Battery -       | GND              |\n\n## Display Connector\nUse 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.\n\n## Manual Wiring (without PCB)\nThe display signals can be easily wired to the FPGA board by using an FFC breakout board and an FFC cable.\nThe required FFC is 24 pins with 0.5 mm pitch.\n\n| WSC display pin | Tang Nano 9k pin |\n|-----------------|------------------|\n| 19              | GND              |\n| 22              | 86               |\n| 21              | 85               |\n| 23              | 84               |\n| 18              | 83               |\n| 14              | 82               |\n| 15              | 81               |\n| 16              | 80               |\n| 17              | 79               |\n| 10              | 25               |\n| 11              | 26               |\n| 12              | 27               |\n| 13              | 28               |\n| 6               | 29               |\n| 7               | 30               |\n| 8               | 33               |\n| 9               | 34               |\n\n## Controller\nThe swancolorHD uses a SNES controller.\nAny regular SNES controller should work.\n\nYou can also turn an empty WonderSwan Color into a controller using the [**swantroller** project](https://github.com/zwenergy/swantroller).\nThis turns the WSC shell into a controller with a SNES plug.\nNote, that the current version is only to be used with the WSC consolizer, not a regular SNES console.\nThe reason for this is that the swantroller uses a different button layout as a SNES controller.\n\u003cimg src=\"https://raw.githubusercontent.com/zwenergy/swantroller/main/res/swantrollere3.png\" alt=\"swantroller\" width=\"700\"/\u003e\n\n## SNES Controller Mapping\nThe controller mapping differs for landscape and portrait mode.\n### Landscape Mode\nBy default, the SNES DPAD is mapped to the X buttons of the WonderSwan. \nThe controller's B \u0026 Y buttons are mapped to the WonderSwan's B button, A \u0026 Y are mapped to A. \nStart is mapped to Start.\n\nTo control the WS Y buttons, use the L or R shoulder buttons.\nWhen holding L, the SNES DPAD is mapped to the WS Y buttons.\nWhen holding R, A/B/X/Y are mapped to Y2/Y3/Y1/Y4.\n\n|SNES Button | WS Button (no shoulder button held) | WS Button (holding L) | WS Button (holding R )|\n|------------|-------------------------------------|-----------------------|-----------------------|\n|UP | X1 | Y1 | X1 |\n|DOWN | X3 | Y3 | X3 |\n|LEFT | X4 | Y4 | X4 |\n|RIGHT | X2 | Y2 | X2 |\n|A | A | A | Y2 |\n|B | B | B | Y3 |\n|X | A | A | Y1 |\n|Y | B | B | Y4 |\n|START | START | START | START |\n\n### Portrait Mode\nThe SNES DPAD is mapped to the Y buttons of the WonderSwan (rotated accordingly).\nY is mapped to X1, X is mappped to X2, A is mapped to X3 and B is mapped to X4.\nStart is mapped to Start.\n\n## Switching from Landscape Mode to Portrait Mode\nIn order to switch from landscape to portrait mode (or vice versa), just press the \"Select\" button on the SNES gamepad.\n\n## Switching from Landscape Mode to Portrait Mode without Video Rotation\nIf 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.\nFor this, you can activate (and deactivate) portrait mode controller mapping without video rotation via the button combination: **L + R + START + DPAD UP**.\n\n## Disclaimer\n**Use the files and/or schematics to build your own board at your own risk**.\nThis board works fine for me, but it's a simple hobby project, so there is no liability for errors in the schematics and/or board files.\n**Use at your own risk**.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzwenergy%2FswancolorHD","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzwenergy%2FswancolorHD","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzwenergy%2FswancolorHD/lists"}