Close

PFBDK and device chaining

A project log for 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.

fjkraanfjkraan 04/12/2026 at 09:470 Comments
PX multi device serial interface in circuit

For some time now I wanted to make native PX-4 and PX-8 programs to control the PFBDK devices, like listing and mounting different floppy-image selection, creating new ones and write protect images. There are some simple variants for the PX-4, but nut very user friendly or robust. The development cycle is too elaborate and fragile for my style of coding. It involves moving the SD-card between the PC and a PFBDK device. You have to have a PFBDK device connected to test software for it. This meand you cannot use a PC-based alternative like vfloppy to transfer programs between PC and the PX.

The problem boiled down to two sub-problems; PFBDK and vfloppy simulating all four floppy drives in the two units, instead of just two drives in one unit. In this latter case, one could use an one-unit PFBDK for testing and a vfloppy based unit for file transfer. The other sub-problem is that neither PFBDK and the vfloppy serial cable supports device chaining as it is found on the original TF-20, TF-15 and PF-10 drive units.

There is now a solution for both problems. On the software side new versions of PFBDK and vfloppy can be configured to respond to commands for just one device. On the hardware side, there is now a standalone device chain circuit allowing multiple devices on one serial port.
The hardware part of the solution is temporary, as a future version of PFBDK will include an optional device chaining circuit. 
 
CPM/NET

The serial protocol used between PX-4/PX-8 and floppy devices is EPSP, a simplified version of CPM/NET. It involves a header message with a command, device selection and the size of the data to be transferred and a text message containing the actual data. Despite the name 'text message', the protocol is binary. So there are no unique characters signaling a specific stage in the protocol. Each device in the chain has to monitor the traffic to detect a new message directed to itself.

The new software feature allows a device to be a passive monitor for messages directed to other devices.

Serial chaining circuit.

logicDeviceChaining.png

The circuit is quite simple, but somewhat more complicated than an one-to-one connection. The output of the host PX-4 or PX-8 is received by all devices in the chain. The signal is bufferred and relayed to the next device. The output of each device is 
ANDed with the output of the next device and forwarded to the host. This ANDing involves converting from RS-232c voltage levels to TTL, anding the two signals and converting the result back to RS-232c levels.

Device selection

Another modification made to PFBDK and vfloppy is the device selection. For PFBDK this means two internal jumpers control which of the two disk devices is active. For vfloppy this is realized with omitting the arguments for the disk images for the other device.

PX-multiDeviceSerialInterfaceInside.jpg


Note that this solution is only needed if you wan to connect multiple devices. For just a single PFBDK emulating four floppy drives it is not needed.

Discussions