With reference to the Z80-MBC2 retro computer's SD card module: Is it possible to hook it up for dual access by let's say a Pi Zero. So my idea is that if I could do a little hack on the SD card reader module, so I could access the SD card via a Pi Zero to read and write files. This would allow me to do all sort of extended operations such as editing and the likes. Does anyone have any idea how possible this idea is and how to go about it?

  • 2
    This sounds much like asking to add a modern hardware (the SD module) to a modern time computer (the PI Zero) , thus not in any way RC.SE related. Also: The whole purpose of using an SD-Card instead of a flash module is for it to be used in different devices equipped with a reader - IIRC, the PI Zero is exactly that, so just plug it in.
    – Raffzahn
    Jun 23 at 10:17
  • 1
    Your question is not about the Z80 but connecting the modern SD module to a modern ARM based computer. Both components are clearly not retro. RC.SE is about knowledge (and issues) with real old systems and direct equivalent ones. And yes, switching the card is way to do it. Go retro and think of it as a floppy to be carried between those systems :)) On the technical side, an SD interface is a 1:1, there is no sharing the very same way as a floppy can not be put into two drives. Or have you ever seen this else were? Embrace the whole retro feeling of swapping floppies :)))
    – Raffzahn
    Jun 23 at 10:39
  • 2
    The problem with such arrangements is that one of the systems may have in-memory state such that it'll be unaware of changes made by the other system, causing file system corruption. Generally, disks are not expected to "spontaneously" change content. Jun 23 at 11:08
  • 2
    @Susan No, it would be way more than a simple interrupt function. More alike a major rewrite of BDOS, aka CP/M itself (and parts of BIOS), as none of it is made for sharing disk with other systems. Even MP/M, it's multi user variant is only made to share drives within and among its users, not with another independent OS running on different hardware. What you want is essentially making CP/M a networking OS - which in some way was available in form of CP/NET but again would need the drive (the SD) being connected to a single dedicated server computer and all communication ...
    – Raffzahn
    Jun 23 at 12:18
  • 2
    @Susan ... done via some network. So again not sharing the SD but hugging it up to a third machine and have both systems accessing that server. MP/NET would have allowed to do it with just two machines, but both had to be Z80 - and again communication via network, not a 'disk' in a 'drive'. Can your PI run CP/M - and more important des the Z80 have a network? By now we are as far from CP/M 2.2 as Windows NT is from Windows 3.1 (And no, all disk sharing systems of that time had also their own CPU and networking additions). Bottom line: Disk-Flipping it is :)
    – Raffzahn
    Jun 23 at 12:19

1 Answer 1


No, for several reasons:

  1. Both the Z80-MBC2 and the Raspberry Pi assume some state of the filesystem. If one board changes it, how will the other know?

  2. While an SPI bus (the lowest level of access for SD cards) can have multiple Chip Select lines for different devices ("one to many"), it can't have multiple data in/out lines going to the same device ("many to one") or multiple clock signals.

  3. The Z80 requires a card reader with a data level shifter to go from its standard 5 V logic to the SD Card's 3.3 V logic. A Raspberry Pi uses 3.3 V logic directly. While there may be level shifters that might allow the two to be connected at once, this may be overly elaborate

  4. Finally, a CP/M filesystem is not typically something that Linux can read/write without some user software doing the translation. CP/M typically doesn't even know the exact length of a file without reading it. You can ease these protocol problems, but not without lots of work.

Not the answer you're looking for? Browse other questions tagged .