Why it matters
The Commodore 1551 is one of the most interesting and least common Commodore disk drives. It was designed specifically for the Plus/4 family (Plus/4, C16, C116) and uses a different communication system from the much more popular 1541.
1551-rePico is a modern hardware recreation of the 1551 drive computer, combining period-correct CPU and DOS operation with modern digital storage and open hardware design.
Instead of using floppy disks, the drive stores disk images on a SD card while preserving the architecture and behaviour of the original 1551. It combines a real 6510T CPU, CPLD, RAM and ROM, and a Raspberry Pi Pico 2.
What the project replaces
The original Commodore 1551 contains:
- a 6510T CPU
- a 6523 TPI interface chip
- RAM and DOS ROM
- custom floppy control and data circuitry
- a mechanical floppy drive
- a TCBM interface for communication with the computer
The project replaces the 1551 mainboard and its components and the drive mechanism. For the TCBM interface on the computer side the TCBM2SD cartridge is required.
The project uses the mechanical enclosure and front-panel assembly developed for Pi1551-III. It's the same front-panel with controls and the covers, except instead of the mainboard for Raspberry Pi 3 we use the new 1551-III-Pico board.
Main hardware
The central component is a non-wireless Raspberry Pi Pico 2. Apart from the drive mechanism emulation it is also responsible for:
- floppy data generation, GCR encoding and decoding
- virtual read/write head operation
- virtual stepper motor emulation based on control signals
- write-protect and disk-change behaviour
- SD-card access;
- the OLED, buttons and rotary-encoder user interface
- generation of the 2 MHz Phi0 clock for the CPU
- generation of the 100 Hz IRQ signal for the CPU
The Pico 2 does not work alone. The board also contains:
- original 6510T CPU used in 1551, MOS CPU Replacer configured as a 6510T is also supported
- XC9572XL CPLD as TPI replacement and general glue logic
- 32 KB SRAM
- 64 KB EPROM
The memory map follows the concept of 1551 with 1551-RAMBOard expansion installed:
- $0000–$3FFF: RAM
- $4000–$7FFF: TPI
- $8000–$9FFF: RAM
- $A000–$FFFF: DOS ROM
The 64 KB EPROM contains two 32 KB DOS images selectable with a jumper.
This makes it possible to use the original 1551 DOS, patched RAMBOard-compatible DOS, or SuperDOS images.
The CPLD and 1551-compatible logic
The XC9572XL CPLD implements a custom Fake6523 design based on the work of ZXByteman and the Fake6523 project.
It provides the three 8-bit I/O ports of the 6523 TPI required by the 1551:
- the TCBM computer interface
- the floppy-head data interface
- handshake, mode, synchronisation and device-number signals
The CPLD also performs several functions removing the need for additional TTL logic:
- RAM and ROM address decoding and output control
- TPI chip-select generation
- PHI2-qualified memory control and write-enable for SRAM
- the 1551 byte-ready latch behaviour
Software and firmware
The drive can be operated completely from the front panel. The OLED displays directories and disk images, while the rotary encoder and buttons are used to browse and mount images.
Interfaces and related projects
1551-rePico is part of a larger ecosystem of my Commodore Plus/4 hardware projects.
The finished drive connects to the computer using a ribbon cable and the TCBM2SD interface. This provides the physical connection to the Plus/4/C16/C116 TCBM bus.
The enclosure, front panel, faceplates and mechanical assembly come from the Pi1551-III project. The new board was designed to fit the same mechanical stack.
The MOS CPU Replacer with 6502 can be installed in place of the original 6510T, so we don't rely on the very rare part.
The DOS images are based on the 1551-RAMBOard project. The Parobek ROM project provides a ROM image that can be installed in a socket of the TCBM2SD cartridge to provide utilities and fastoladers.
The firmware and GCR handling are derived from the...
Read more »
Maciej Witkowiak