Skip to content

CPPIP / NPPIP / FPPIP v1.10

Latest

Choose a tag to compare

@ontheslab ontheslab released this 25 Mar 23:37

CPPIP / NPPIP / FPPIP v1.10

CP/M File Copy Utility for NABU, TRS-80, and CP/M 2.2 systems

A C reimplementation of PPIP v1.8 (D. Jewett III, 1985-1988). CPPIP brings
flexible file copying to CP/M 2.2 with cross-drive, cross-user-area, and
wildcard support - plus extensions for direct access to the NABU RetroNET
Internet Adapter file store and FreHD SD card.


Three binaries are included

Binary Description
CPPIP.COM Standard CP/M build. IA: available via /N or automatically on CloudCP/M. SD: active when FreHD hardware is detected.
NPPIP.COM NABU edition. IA: always active - no switch required. No SD: code.
FPPIP.COM FreHD edition. SD: always active. No IA: code.

Features

  • Copy single files or wildcard groups between any drive and user area
  • CRC-16 (CCITT) verify after copy; automatic retry on mismatch for CP/M copies ONLY
  • Move mode: copy then delete source (/M)
  • Overwrite protection: prompts before replacing existing or read-only files
  • Ctrl-C cancels batch copies cleanly; Ctrl-C at a prompt returns to CP/M immediately
  • CON: as source - type text directly into a file from the console
  • NABU IA: extension - copy files between CP/M drives and the RetroNET Internet Adapter file store over the HCCA port
  • FreHD SD: extension - copy files directly to and from an SD card via the FreHD hard disk emulator

Tested on

Developer tested:

  • NABU CloudCP/M
  • RomWBW CP/M 2.2
  • TRS-80 Model 4P with Montezuma Micro CP/M 2.2 with FreHD installed
  • Kaypro CP/M 2.2

Test users have also reported it working on:

  • Ishkur CP/M
  • CP/M 3.1
  • Labomb's CP/M

Documentation

Full documentation is included in the release folder:

  • manual.txt - Full user manual
  • ia-guide.txt - IA: RetroNET path reference and troubleshooting
  • frehd-guide.txt - FreHD SD: setup, path reference, and troubleshooting

Quick start

CPPIP FILE.DAT B:              copy to drive B:
CPPIP *.COM B3:                copy all .COM files to drive B: user area 3
CPPIP FILE.DAT B: /V           copy with CRC verify
CPPIP FILE.DAT B: /M           move (copy then delete source)
NPPIP FILE.DAT IA:/Z/BK/       copy to RetroNET IA store
FPPIP SD:FILE.COM A:           copy from FreHD SD card to drive A:
CPPIP /H                       full help

Credits

Original PPIP v1.8 by D. Jewett III (1985-1988) - public domain.
C reimplementation (c) Intangybles 2026.
FreHD hard disk emulator by Frederic Vecoven (https://github.com/fvecoven/FreHDv1).
Thanks to GTAMP (https://gtamp.com/nabu/) for his ideas, guidance, and testing throughout IA: development.



Changes from initial release (build 44 to build 47)

SD: subdirectory error handling improved (builds 45-47)

The initial release included a pre-flight directory check that used the
FreHD OPENDIR command to verify the destination subdirectory before starting
a batch copy. This command is not working (supported) by the FreHD emulator,
which caused all copies to existing subdirectories to fail on the emulator
(even when the directory existed on the SD card).

The pre-flight check has been replaced. When a CP/M->SD copy fails because the
destination subdirectory does not exist, the error message now reads:

ERROR: SD: cannot create: TEST/FILE.COM - check directory exists

The batch stops after the first failure - no further files are attempted.
This behavior is identical on the FreHD emulator and real FreHD hardware.

Release build: v1.10 (47)