-
Couldn't load subscription status.
- Fork 325
Description
Basilisk II currently requires disk images (.img/.dsk) for floppy emulation, but does not support direct access to USB floppy drives. Adding native USB floppy support would allow users to:
Insert and read real 1.44MB/800KB floppies without manual dd conversion.
Eject/insert disks dynamically (e.g., via the Mac’s eject key or Finder).
Preserve the ritual of physical media—a key part of the retro Mac experience.
Why This Matters:
While disk images are convenient, many users (especially in retro computing, education, and preservation) rely on original floppies for:
Archival work (reading old Mac disks without a vintage Mac).
Authentic workflows (e.g., inserting a game disk, hearing the drive spin).
Hybrid setups (Raspberry Pi inside a Mac Classic case with a real floppy drive).
Current workarounds (e.g., scripting dd on insertion) are clunky and break immersion. Native support would make Basilisk II the go-to emulator for hardware purists.
Proposed Implementation:
Detect USB floppy drives via libusb or /dev/sgX (Linux)/\.\PhysicalDriveX (Windows).
Expose the drive as a virtual .img in Basilisk’s floppy controller.
Handle disk changes:
Poll for media insertion/ejection.
Trigger a "disk inserted" event in Mac OS (like a real Mac).
(Optional) Add a config option:floppy_device /dev/sg1 # Linux
floppy_device \.\F: # Windows
Use Cases:
Retro gaming (e.g., inserting Oregon Trail floppies).
Data recovery from old Mac floppies.
Interactive exhibits where physical media is part of the experience.
Technical Notes:
USB floppy drives use standard SCSI commands (e.g., READ(6)/WRITE(6)).
The Linux fdutils package demonstrates low-level floppy access.
Mac floppies use MFM encoding (same as PC), but Basilisk would need to handle Mac-specific disk formats (e.g., HFS boot blocks).
References: