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)
- 0/
- B/
- 0/
- ...
- F/ (hex 15)
- ...
- A/
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!