|This article is very short and not very detailed. Please help to improve it.|
|Processor:||Raspberry Pi ARM Cortex-A53|
|OS:||Circle; CBM DOS|
The Pi1541 is a real-time, cycle exact, Commodore 1541 disk drive emulator consisting of a Raspberry Pi and a GPL v3 licensed bare metal software environment written in C++. Physically, it is comparable to the SD2IEC device, but internally it is very different. Unlike the SD2IEC, the Pi1541 fully emulates the 1541 disk drive in a cycle exact way fully emulating the MOS 6502 CPU of the drive and two MOS 6522 VIA support chips. By contrast, the SD2IEC runs no 6502 code at all and only simulates various disk protocols and uses heuristics to determine which fast loader protocol to emulate at a given time. Thus, the Pi1541 achieves a very high degree of compatibility by faithfully executing 6502 code as though it were a real 1541.
The Pi1541 consists of three parts:
- A Raspberry Pi. Currently a Raspberry Pi B is required, though eventual Pi Zero support is planned.
- A daughter board "hat" that is affixed to the top of the Raspberry Pi via the Pi's GPIPO pins. The "hat" features CBM IEC connectors allowing it to be physically connected to any CBM machine featuring an IEC bus and I2C Bi-Directional Logic Level Converter to convert the 5V CBM signal to a 3.3V signal on the Pi.
- An standard IEC for connectivity between the CBM machine and the Pi1541.
It should be noted that the Pi1541 is not running inside of Linux, but rather it is effectively its own OS built upon the Circle bare metal kernel and programming environment for the Raspberry Pi. Thus, the maximum amount of computing resources are available from the Pi without the overhead that would be imposed if it were merely a process run under a Linux or BSD kernel.
While browsing the Pi's SD card for disk images the Pi1541 is in a minimal SD2IEC emulation mode. Once a disk image is loaded the device enters 1541 emulation mode. This requires a 1541 ROM file as CBM DOS is run from within the Pi1541 exactly as if it were a real 1541 drive. Support for additional drive models is in development: preliminary 1581 support is underway. JiffyDOS is fully supported.