PFBDK - EPSP floppy drive emulator

There are multiple ways to add floppy-sized storage to the Epson PX-8 or PX-4 computers. PFBDK offers a cheap, easy D.I.Y. solution.

Similar projects worth following
This project is a fork of Willam Cooke' s PFBDK project ( It runs the PFBDK firmware on an Arduino Mega 2560 and anArduino Micro Pro (with custom PCB).
PFBDK simulates four floppy disk drives for the Epson PX-8 and PX-4 CP/M-80 based computers over the SERIAL port using the EPSP-protocol (

This firmware version supports custom PX-4 native programs for rudimentary SD-card management. Epson used a sub-set/extension of the CP/M NET protocol for communication between portable computers and peripherials like floppy-disk terminals and video interfaces. The implementation is the EPSP protocol.

The PFBDK firmware supports both the PX-8 (Geneva) and PX-4, so all four disks are usable on the PX-8 and PX-4. The management commands are currently only available for the PX-4.

The SD-card management functionality is available from the PFBDK debug port (Arduino console or programming interface) and via custom EPSP-functions from the PX-4 (using native CP/M programs).

The management functions are (named by program):

  • PFDIR4 - List a directory of the SD-card root directory
  • PFMNT4 - Mount image files on the disk drives C:, D:, F:, G:)
  • PFWP4 - Set/reset a drive Write protect flag
  • PFNEW4 - Create a new, empty disk image.

The project is ongoing. Several items are on the ToDo list:

  • Support for PX-8 SD-card management,
  • Awareness for multiple slave devices; PFBDK now assumes to be the only device on the 'RS-232c bus', it should respond only to the addressed devices (one or two floppy terminals),
  • The board should support a chain function, allowing multiple options on the 'RS-232c bus'.

Power is supplied from a computer (allowing debug logging via the serial port) or an USB charger/power bank. There is no battery charge or  management on the PCB.

A planned new version of the PCB should include support for a proper CP/M NET RS232c bus. This means an extra chained RS-232c port.


An updated schema. The on-board RS-232c interface was never tested, but the ground is incorrectly connected to pin 1. The 1.0 version of the board has this fault. The correct pin is 5.

Adobe Portable Document Format - 63.18 kB - 12/20/2023 at 17:49



This is a first production version. A PCB is created for this schema. This applies to the version 1.0 of the board. Note it has a problem with the RS232c ground pin, easy to correct during assembly.

Adobe Portable Document Format - 62.53 kB - 12/08/2023 at 20:54



This is the prototype / development version. There is no PCB.

Adobe Portable Document Format - 61.96 kB - 12/08/2023 at 20:51


  • The ToDo list

    fjkraan12/10/2023 at 16:32 0 comments

    • Create PX-8 management tools. And maybe later universal tools for both. The PX-8 has a weird architecture with a main CPU, slave CPU and sub-CPU, but in the end it is just an other BIOS call.
    • Modify the PFBDK firmware to be selectable for one or two disk terminals. Each terminal has one (PF-10) or two (TF-20, TF-15) disk drives. Now PFBDK claims all four disk drives. Unknown is how it responds to other functions than floppy related.
    • Modify the hardware for a second serial port to daisy-chain to another device. Useful when the actual video   interface (Oval UD-80) becomes available. How the extra serial port is wired is visible in the PF-10 schema. The EPSP interface is an implementation of CP/M-NET, so historical relevant there too.
    • Change the program set to integrate the PFPW4 functionality into the PFMNT4 program.
    • The default configuration is having the four images D.IMG to G.IMG mounted. My idea/plan is to make a submit file changing this configuration on the default drive A:, but it didn't happen yet. The advantage is that no changes are needed to PFBDK and it uses standard CP/M tools.

View project log

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates