Skip to content

Releases: OrangeFox86/DreamPicoPort

v1.2.3

15 Mar 19:33
e99e88c

Choose a tag to compare

  • 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

24 Dec 02:47
7a08619

Choose a tag to compare

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

27 Sep 05:25
fc22e14

Choose a tag to compare

  • 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

06 Sep 14:19
9ef9027

Choose a tag to compare

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 is Disabled, 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

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

31 Mar 13:50
43c5264

Choose a tag to compare

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

09 Mar 00:20
958469d

Choose a tag to compare

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

18 Feb 02:29
1923d26

Choose a tag to compare

What's Changed

(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

15 Feb 07:42
8de5394

Choose a tag to compare

What's Changed

Full Changelog: v0.9...v0.999

v0.99

14 Feb 02:37
9585d9a

Choose a tag to compare

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

12 Feb 02:23
8a9d5d8

Choose a tag to compare

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