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
480 stars 56 forks source link

[FR] Real 1541Drive #27

Open corasaniti opened 5 years ago

corasaniti commented 5 years ago

Would be nice to be able to use a real 1541 drive, through the use of a Pi1541

randyrossi commented 5 years ago

It's possible. VICE has a real drive option that uses opencbm. But VICE already has a cycle accurate drive emulation so I don't see the advantage of it.

corasaniti commented 5 years ago

No advantage, but only the possibility of using a real 1541 drive increases the experience of using a real machine. Also many people own the real floppies and still love to use them ...

randyrossi commented 5 years ago

I have a plan for that but is far into the future :)

My idea is for people to re-use old 1541 cases that would replicate the experience (kind of in the same way people use old C64 shells with RPi's inside) It would work like this:

Some wiring from the Pi to inside the 1541 would be required to a power a camera and perhaps a small speaker and the LEDs. The purpose of the camera would be to capture QR codes placed on stickers that are attached to real floppy disks (on either side). The QR code is read by the camera and tells the Pi what disk is installed. So the disk doesn't actually have to even work, you just print QR codes that match whatever label you put on the disk. That tells BMC64 what disk to mount (so the matching .d64 file has to be on the SD card). BMC64 would blink the LEDs and play drive sounds through the 1541. So you could find a bunch of old floppy disks, label them with your favorite disks, slap on a small QR code on each one and BMC64 will 'mount' them when you physically put them into the drive. The only purpose is to have a complete the 1982 experience. Just an idea in the back of my head at the moment though. Would be a whole separate project.

SCUBA82 commented 5 years ago

I'm planing something similar for my "sx-64 mini" build. (http://steenken.me/galerie/sx-64-mini/inspiriert-1/) running a standard raspbian image with vice.

Instead of a QR code I'm gonna use nfc stickers on the dummy disks and a suitable reader in the "disc" port. I would realy apprichiate the "LED activity" option! At the moment the LED on my sx-64 mini acts only as static power indicator.

xlar54 commented 5 years ago

VICE has a real drive option that uses opencbm.

but wouldnt opencbm be required, necessitating an operating system for it to run on?

randyrossi commented 5 years ago

I looked into this today. I would have to write my own equivalent of OpenCBM/opencbm/sys/linux/cbm_module.c (which is the linux kernel module that talks to the device via lpt). It would use GPIO pins instead of a lpt port. But all the logic to assert pins high/lo is there. Then build OpenCBM/opencbm/lib + my own plugin that would forward calls to that code. That would give VICE the API it wants when it needs to talk to a real device. Level shifters would be required to translate 3.3v to 5v a real device wants. It would be a lot of work but it appears possible. (No O/S required as I would be building my own version of opencbm + plugin)

hpingel commented 5 years ago

The easiest way would be to connect an Arduino Pro Micro flashed as a XUM1541 device via USB to the Raspberry Pi. This fork of OpenCBM supports more Arduino devices: https://github.com/zyonee/opencbm/tree/master/xum1541

The Din socket for the IEC cable would be connected to the Arduino Pro Micro.

CypherXG commented 4 years ago

I'm using a XoomFloppy and it works fine. With VICE i can use my real Floppy Drive. With that function it was possible to add a pi in a c64 case and connect a real floppy and that would be awesome...Pls add this function....

corasaniti commented 4 years ago

I use a real drive with Vice through the use XUM1541 cable It would be necessary to include USB drivers to be able to use it in bmc. Randy would be great to be able to use a real 1541

studio8502 commented 4 years ago

If you're interested in user opinions on this feature, I wholeheartedly say "yes please, if you're willing". I would very much like to be able to use my JiffyDOS-equipped 1541 and 1571 drives with BMC64, ideally while also able to use the real C64 keyboard and joysticks, if sharing the GPIO lines is practical.

kklis commented 2 years ago

I would also love to be able to connect real 1541 drive to BMC64.

Andromeda1968 commented 2 years ago

There is a possibility for connect a real disk drive 1541 with xum1541 and BMC64 ???

Andromeda1968 commented 1 year ago

hi folks there is an update for connect real disk drive 1541 to BMC64 ????