Skip to content

The 64Drive is unstable in the realtime example #3

@buu342

Description

@buu342

The 64Drive, despite having a really good USB, has a pretty badly thought-out USB interface. One of the reasons this project took so long was because I wasted a good few weeks rewriting the 64Drive codebase for UNFLoader to work around the oversights and bugs, and while that did improve the cart's behaviour, it's unfortunately still unstable. When a lot of I/O is ocurring, sometimes DMA flags from the cart get delayed and so the client starts throwing a bunch of errors. It can survive at first, but over time it will eventually lead to a crash.

I have created a separate branch in the UNFLoader repo where I rewrote the PC side of the interface to try to account for these issues, but unfortunately it's slower and surprisingly more crash prone as a result. At first I thought this could be due to the bad LibFTDI wrapper I wrote, but these issues are also present in the D2XX version of the app.

So frankly, I'm not sure what else can be done about this without bugfixes on the 64Drive firmware. I have asked Marshall in the past whether or not he would be willing to share the Verilog with trusted members of the community in order for us to provide fixes for him, but he has not replied to these requests.

Given that the 64Drive userbase is small, and ever shrinking in favor of the SC64, I have made this a low-priority issue (which sucks since I myself am a 64Drive user).

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions