CP M Support - FujiNetWIFI/fujinet-firmware GitHub Wiki

As of 2020-01-20, the FujiNet firmware has support for CP/M, via the excellent RunCPM software emulation layer. This provides a Z80 CPU, and enough of an emulation core to run almost all CP/M programs, with the Atari acting as a terminal.

Setting up CP/M Support

Currently, CP/M support is limited to the local SD card slot. You'll need to create folders in this structure (starting from the root of the SD card!), and place your CP/M files into them.

/CPM/<capital drive letter>/<user number>/

So for example, two drives with some user areas would look like:

  • /CPM
    • A/
      • 0/
        • ED.COM
        • WS.COM
        • ...
      • 1/
        • WORK.DOC
        • TEST.BAS
        • ...
      • 2/
      • ...
      • F/ (hex 15)
    • B/
      • 0/
      • ...
      • F/ (hex 15)
      • ...

It really is that simple, copy the files you want, into the folder structure, and CP/M will see them in those drives at those user areas.

Remember:

  • CP/M can handle drives A to P.
  • CP/M can handle user areas 0 to 15 (numbered in hex from 0 to F).

How large are the disks?

Since RunCPM itself provides an abstracted file oriented interface to the CP/M disks below, it reports a disk size of 8 Megabytes for each and every disk on the CP/M system. Since modern disk storage is much larger, this figure doesn't change and for all purposes remains static.

Additionally, because the BDOS and BIOS accesses are abstracted, and the file-system structures are dynamically created on the fly, there isn't a limit on the number of directory entries that can exist in a directory. You should, however, be careful, if a program decides to keep directory entries in memory, to not overflow available CP/M memory by having too many (more than say, 1000 directory entries).

Are there any archives of software?

RunCPM's developer, has provided a ZIP File containing 150 megabytes of CP/M programs and utilities, here: https://drive.google.com/drive/folders/11WIu8rD_7pIDaET7dqTeA73CvX0jkxz2?usp=sharing

Directory of The Big RunCPM ZIP

How to access CP/M?

You can access CP/M with a suitable terminal program, in one of two ways:

  • DT-80, an ADM-3A compatible terminal, which sends an SIO command to start CP/M (can be bought here: Vintage Computer Center
  • An Atari MODEM program working over R:, start CPM with the command ATCPM (Be sure to set the baud rate to 9600 before you type ATCPM.)

How does DT-80 start CP/M?

Note For Terminal Programmers: DT-80 starts CP/M by issuing the following SIO command:

DDEVIC = $5A ('Z')
DUNIT  = 1
DCOMND = $47 ('G') (for GO)
DSTATS = $00 (No payload)
DBUF   = $00 (no buffer)
DTIMLO = $0F (default timeout)
DBYT   = $00 (no payload)
DAUX1  = $00
DAUX2  = $F0  ($F000 = Z80 address of boot ROM, not used by FujiNet.)

Then call SIOV ($E459)

Where can I find a CP/M Manual?

A CP/M 2.2 Manual can be found here: http://www.cpm.z80.de/manuals/cpm22-m.pdf

It provides useful information on using the various intrinsic commands (DIR, TYPE, ERASE, etc.) as well as the important extrinsic commands like PIP. The manual is properly OCR'ed, so it can be easily searched.

Printer Support

The currently selected FujiNet Printer is passed to CP/M's LST: device. This means that any CP/M program configured to print to the standard list device will have the output sent to the FujiNet printer.

Best choices for printers

The best choices for printer support in CP/M are as follows

FujiNet Name CP/M Equivalent
Epson 80 Epson MX or FX-80 with Graftrax
Atari 820 Standard Printer
Atari 822 Standard Printer
Atari 825 Centronics 737 or 739
Atari 1025 Oki Microline 80
Atari 1027 Mannesmann-Tally Riteman LQ
Atari 1029 Seikosha GP500
Atari XMM801 Epson MX or FX-80 or Centronics 737/739
Atari XDM121 (not sure. It's a Citizen printer)
Okimate 10 Oki Microline 82/84

More to come, if you have information to add here, let us know!