randyrossi / bmc64

A bare metal Commodore 64 emulator for the Raspberry Pi with true 50hz/60hz smooth scrolling, low input latency and better audio/video sync.
GNU General Public License v3.0
491 stars 59 forks source link

SID2USB (SIDBlaster) implementation? #178

Open WebbedQuasar opened 3 years ago

WebbedQuasar commented 3 years ago

VICE supports hardsid, so I ask if this could be implemented in BMC64.

Links: Original SIDBlaster: https://github.com/stg/SIDBlaster-USB https://web.archive.org/web/20101130231852/http://forskningsavd.se/wiki/index.php/SIDblaster#PCB

Tic-Tac-Edition: https://github.com/gh0stless/SIDBlaster-USB-Tic-Tac-Edition http://crazy-midi.de/joomla/

An information taken from a FB group: "VICE supports hardsid (and libraries compliant with the hardsid interface library), so something like SIDBlaster/USB should be possible to add. It looks like there are FTDI D2XX libraries for Raspberry PI, so I think it would be just a matter of compiling the driver for RPi and hooking up the device via USB."

beeltink commented 3 years ago

I had the same thought last night. Will there be an implementation to support physical SID-chips in BMC64? I already asked Michael Schenki (Faszination C64), but it all depends on BMC64 being able to address this and how.

WebbedQuasar commented 3 years ago

Rhester, Randy anyone? I do not expect a finished solution, but would be grateful for a general statemant regarding a Tic-Tac edition via USB to the mentioned libraries. What would be necessary for that?

rhester72 commented 3 years ago

This is way, way, WAY beyond the scope of BMC64.

That being said, the USB interface (which currently only supports general-purpose flash storage and HID devices) is controlled by the Circle library, so support would first have to be introduced to it before BMC64 would have any hope of talking to it at all (which I consider rather unlikely to be honest). There is no operating system on BMC64, so there's no drivers, either.

BMC64 really isn't intended as a Ultimate-64-on-Raspberry-Pi, it's truly VICE in realtime...sort of a "software Ultimate 64" as it were. GPIO is really the only interface to the outside world, and might be something that could be interfaced at the hardware level but would require a hardware guy to weigh in on before you can even think about the software side.

randyrossi commented 3 years ago

If someone else wants to give it a shot it can be upstreamed, but I don't plan on adding support. The protocol looks simple enough.

"It looks like there are FTDI D2XX libraries for Raspberry PI," doesn't mean much because when people say 'Rasbperry Pi" they usually mean Linux on Raspberry Pi for which there are a bazillion libraries and kernel support for just about anything.

There is an equivalent direct access to USB, of course, from Circle but it would take some learning on how to write a driver plus access to a device to develop this. I don't know how the VICE hooks work either. I would imagine as long as you provided the right interface it would just work. But there might be other special requirements to get it working. I haven't looked at the source.

On Fri, Nov 5, 2021 at 10:20 AM WebbedQuasar @.***> wrote:

Rhester, Randy anyone? I do not expect a finished solution, but would be grateful for a general statemant regarding a TikTak edition via USB to the mentioned libraries. What would be necessary for that?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/randyrossi/bmc64/issues/178#issuecomment-961934358, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAI3HKDS5AOAAJ7I4ECVEADUKPR23ANCNFSM456I2U7Q . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

-- Randy Rossi