I recently discovered there's BBC BASIC for CP/M machines. Having had my fill of Microsoft Basic, I need to get BBC BASIC onto a disk I can boot on a TRS-80 Model 4P.

I have no CP/M disk (or image) for the TRS-80 yet. I do have Commodore C128 CP/M Plus.

I have found distro of the CP/M BBC BASIC, so I have the "BBCBASIC.COM" executable on my modern computer. I have two possibilities for imaging a disk:

  1. Already mentioned C128, with SD2IEC and 1571 floppy drive.
  2. Retro PC-DOS machine with 5.25" HD/DD floppy drive. I've used it before to make an LS-DOS floppy from a .IMD file for the TRS-80.

How should I go about creating the TRS-80 CP/M boot disk, including "BBCBASIC.COM"?

  • 1
    If there's such a thing as a "standard" CP/M floppy format, the C128 sure didn't use it. Its CP/M boot disks were GCR rather than the standard MFM
    – scruss
    May 9, 2019 at 2:23
  • @scruss It depends on which floppy drive was used with the c128. If using the old 1541 drives, you are correct. It only supported GCR, and the provided cp/m boot disks were supplied in GCR format so that they would support either the 1541 or the much more flexible 1571. The latter drive was released about the same time as the c128, ran much faster,, and supported both GCR and MFM. They provided support for many common cp/m formats, but I do not know if the format of the TRS-80 4P is among them. en.wikipedia.org/wiki/Commodore_1571#Disk_format
    – RichF
    May 9, 2019 at 2:49
  • 1
    @BrianH, I think your best bet to find a TRS-80 cp/m boot floppy (or image) for your machine is through the TRS-80 community. While most of cp/m is common among machines. Its BIOS offers the machine-specific layer for i/o. With the proper BIOS everything else should work, but that from Commodore cp/m won't work for TRS-80s. Once you have an appropriate boot floppy, it might be easiest to provide the BBC Basic on a second floppy.
    – RichF
    May 9, 2019 at 3:03
  • The only standard CP/M floppy format was 8" single sided, single density. I would suggest looking into getting serial communications to work as that will allow using the CP/M machine as a terminal to a properly configured Linux box, and then file transfer protocols can come into play using C-Kermit or zmodem. Jun 26, 2019 at 12:37
  • I have successfully used the 22DSK shareware program to read and write from old CP/M diskettes on a PC. It takes a bit to ensure the parameters are right but a C128 should be a known machiine. Jun 26, 2019 at 12:39

1 Answer 1


Here's one possible approach (which I haven't tried myself):

  1. Create a TRS/80 CPM boot disk
  2. Transfer BBC BASIC to the TRS/80 separately

Creating a TRS/80 CPM Boot Disk

David Keil's TRS-80 Emulator is able to use both emulated virtual floppy drives, and actualy hardware floppy drives, using the host PC's floppy interface. It's system requirements are relatively moderate: a 75MHz Pentium is enough.

There are a number of different online archives of CP/M software (e.g. here, here, or here). Hopefully one of these will have a veriety of CP/M for the TRS-80 that will suit you.

I don't think the emulator supports transferring files from the host file system to a virtual (or real) floppy image. But there is an alternative.

Transferring BBC BASIC to the TRS-80

CP/M machines were notable for using numerous incompatible floppy drive formats. Rather than try to get two different flavours of CP/M to read each other's disks, I suggest ditching the floppy drives altogether for this step, and using RS-232. (While it wasn't included on early Model 4's, I believe all 4P's had it included as standard.)

If you're a dab hand with a soldering iron, you should be able to fashion a serial cable to connect the TRS-80 to either your Commodore or PC. (Pinouts and bad rate settings are listed in the Model 4P Techical Manual, page 142-143.)

On the software side of things, you could knock something simple together to transfer your file across, though it would mean using Microsoft Basic for a short while longer.*

Alternatively, Vintage Volts made a video documenting how they transferred files by XMODEM from a PC to a TRS-80 using LS-DOS' comm, and TeraTerm on the PC. It's quite detailed (38 minutes!) and is available on Youtube.

As for integrating BBC BASIC with the CP/M boot floppy itself, I have no experience of what would be needed for this final step, so I'll leave it as an exercise for the reader.

*I've done something similar with a BBC Micro, who's OS supports accepting keyboard input from the serial interface. On my PC, I wrote a simple perl script that would parse a file and create BASIC statements such as ?&BEB6=&B0 to write the file to a sequence of memory locations. I piped these statements out over a serial cable, and they were executed by the BBC Micro.

You must log in to answer this question.

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