Releases: OrangeFox86/DreamPicoPort
v1.2.3
- Allow D-Pad output to Hat (default), discrete buttons, or discrete buttons + Hat
- Fixed lockup issue on read failures
- Added watchdog & USB buffer recovery improvements
- Updated to modified Pico SDK 2.2.0 / tinyusb 0.18.0
- Updated settings webpage
Full Changelog: v1.2.2...v1.2.3
v1.2.2
Bug fix: Give up on waiting to put to vendor write buffer if it is full (in case host application stopped reading for some reason)
Full Changelog: v1.2.1...v1.2.2
Refer to the wiki section Selecting the Appropriate Binary for description of each file below.
v1.2.1
- Corrected WinUSB communication bug
Full Changelog: v1.2.0...v1.2.1
Refer to the wiki section Selecting the Appropriate Binary for description of each file below.
v1.2.0
Summary
- New versioning scheme will match version on USB interface
- Added configurable settings
- Added player detection capability
- By default, poll each player. Once detection is made, permanently enable that controller.
- Can be changed in settings
- This removes the need to have 1, 2, 4 player variants of the binary as this can be configured at runtime by the user
- Player detection modes:
Disabled,Enabled,Disabled, Enable On Detect,Auto,Auto, No Disable(default isDisabled, Enable On Detect, see settings page for description of each mode)
- Added WebUSB/WinUSB interfaces, and all functionality may be accessed through this interface
- Interfaces may be accessed through libusb which will enable much faster and more reliable communication vs serial (future flycast update is planned)
- Disable Mass Storage Class (MSC) by default but allow this to be enabled through the WebUSB interface
- I am not going to support any issues with MSC going forward
- Read/write of VMUs may now be accessed through WebUSB and the webpage
- Added WebUSB page which can change settings: https://orangefox86.github.io/DreamPicoPort/webusb/
- Safari and Firefox don't support WebUSB. As far as I can tell, only Chromium-based browsers support this. These browsers capture about 70% of users
- Serial is now set in all USB string descriptors - this will provide a way to link an SDL instance to libUSB instance more easily on Linux and Mac since serial is not always exposed due to permissions, but the device name is
- I would like to allow multiple instances of the hardware on a system to function in the future whereas right now, flycast only supports 1 DPP board plugged in
What's Changed
- 175 upload board files by @Tails86 in #176
- 178 minor improvements by @Tails86 in #179
- 177: Uploaded Rev 1.0 board files by @Tails86 in #180
- 183 host add webusb by @Tails86 in #184
Full Changelog: v1.01...v1.2.0
The following table describes each file in this release. Please note that the LED will not be functional if any of the W variants of the hardware is used.
| Binary | Hardware Mode | Compatibility | Notes |
|---|---|---|---|
| host.uf2 | Host | pico, pico-w, and RP2040-Zero | |
| zero_host.uf2 | Host | RP2040-Zero | Host mode configuration similar to the above, but default C outputs are moved to gpio 2 & 3, and default D outputs are moved to gpio 4 & 5 |
| pico2_host.uf2 | Host | pico2 and pico2-w |
I am no longer deploying client-mode since this was a proof-of-concept, it hasn't been changed in a while, and I think this causes confusion since most will just want to use the host firmware for integration with flycast. Select an older release if you want to use client-mode.
v1.01
What's Changed
Full Changelog: v1.00...v1.01
The following table describes each file in this release. Please note that the LED will not be functional if any of the W variants of the hardware is used.
| Binary | Hardware Mode | Compatibility | Notes |
|---|---|---|---|
| host-1p.uf2 | Host | pico, pico-w, and RP2040-Zero | only A active |
| host-2p.uf2 | Host | pico, pico-w, and RP2040-Zero | A and B active |
| host-4p.uf2 | Host | pico and pico-w | A, B, C, and D active |
| zero_host-4p.uf2 | Host | RP2040-Zero | Host mode configuration similar to the above, but C outputs are moved to gpio 2 & 3, and D outputs are moved to gpio 4 & 5 |
| pico2_host-1p.uf2 | Host | pico2 and pico2-w | only A active |
| pico2_host-2p.uf2 | Host | pico2 and pico2-w | A and B active |
| pico2_host-4p.uf2 | Host | pico2 and pico2-w | A, B, C, and D active |
| client-with-usb-host.uf2 | Client | pico, pico-w, and RP2040-Zero | supporting a single Dualshock4 controller connected to the USB port |
| pico2_client-with-usb-host.uf2 | Client | pico2 and pico2-w | supporting a single Dualshock4 controller connected to the USB port |
v1.00
What's Changed
- Update QR-Code by @kosekmi in #170
- Add binary data parsing to serial interface by @Tails86 in #172
- Add binary data parsing to serial interface (using ASCII character 0x05 ENQUIRY)
- Speed up CDC response by writing command directly to CDC rather than through STDIO
- Added unit tests for the parser (fixed overflow recovery)
- Added "XV" for flycast command version
- Improved "X?" all status command
- Added "XH0" for echo off and "XH1" for echo on
- Serialize all responses from flycast command parser
- Removed initial vibration when jump pack inserted
- Increased controller disconnect period from about 40 ms to about 150 ms
- Button 21 (index 20) is used for peripheral connect/disconnect event
Full Changelog: v0.9991...v1.00
Note: Use below pico2_*.uf2 files for Pico Version 2 boards. All others are for Pico Version 1 boards.
v0.9991
What's Changed
- Update README.md by @Tails86 in #163
- Remove OS limitation from README.md by @kosekmi in #164
- Update README.md by @Tails86 in #165
- 166: Fixed drive issues on Windows by @Tails86 in #167
- Rename to DreamPicoPort by @Tails86 in #169
(I swear version 1.0 is coming SOON™️ , but I don't feel it is "feature complete" just yet)
Full Changelog: v0.999...v0.9991
Note: Use below pico2_*.uf2 files for Pico Version 2 boards. All others are for Pico Version 1 boards.
v0.999
v0.99
What's Changed
- 156 various minor enhancements by @Tails86 in #161
- Bump USB interface version to 0x0102
- Make the gamepad interfaces go in ascending order (I had done descending because some things would enumerate in descending order, but that seems like a crapshoot)
- Switch P1 -> DreamPort A, P2 -> DreamPort B, etc
- Add A, B, C, D icons to default screens for host-4p mode, and add commanding to change this to what is selected on flycast
- Change number of buttons based on controller index - this will provide a better hint as to which controller this is for MacOS (since SDL doesn't support path and interface ID 😞 for Mac)
- Add a command to print out serial number over serial
- Commit image-to-cmd and cmd-to-image scripts: https://github.com/OrangeFox86/DreamPort/tree/v0.9/scripts
Full Changelog: v0.19...v0.9
v0.19
What's Changed
- 153: Additional renaming to DreamPort by @kosekmi in #155
- 154: Reduce initial vibration strength on controller initialisation by @kosekmi in #157
- Update msc_disk.cpp by @Tails86 in #158
- Add prominent crosslink to flycast instructions by @kosekmi in #159
- bug: superfluous printf() calls were in UsbGamepad.cpp by @Tails86 in #160
Full Changelog: v0.18...v0.19