Releases: ontheslab/cppip
Release list
CPPIP / NPPIP / FPPIP / ZPPIP v1.20 (78)
CPPIP / NPPIP / FPPIP / ZPPIP v1.20 (78)
CP/M File Copy Utility for NABU, TRS-80, ZX Spectrum Next, and CP/M 2.2/3 systems
A C reimplementation of PPIP v1.8 (D. Jewett III, 1985-1988). CPPIP brings flexible file copying to CP/M with cross-drive, cross-user-area, and wildcard support - plus extensions for direct access to the NABU RetroNET Internet Adapter file store, FreHD SD card, and the ZX Spectrum Next's own built-in storage.
All four binaries are now built from one shared source tree and released together - ZPPIP was previously a separate release; from this build onward it comes from the same codebase as CPPIP/NPPIP/FPPIP.
Four binaries are included
| Binary | Description |
|---|---|
CPPIP.COM |
Standard CP/M 2.2 build. IA: available via /N or automatically on CloudCP/M. SD: active when FreHD hardware is detected. |
NPPIP.COM |
NABU edition, CP/M 2.2. IA: always active - no switch required. No SD: code. |
FPPIP.COM |
FreHD edition, CP/M 2.2. SD: always active. No IA: code. |
ZPPIP.COM |
ZX Spectrum Next edition, built-in CP/M 3. NX: always active. No IA:/SD: 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
- ZX Spectrum Next NX: extension - copy files directly to and from NextZXOS's own built-in storage
IA:/SD:/NX:directory listing - give a path with no destination and the store is listed instead of copied, e.g.CPPIP IA:,FPPIP SD:*.COM,ZPPIP NX:c:/tmp/
New in this build
- ZPPIP joins the shared source tree and shared build - CPPIP/NPPIP/FPPIP are unchanged.
- ZPPIP's startup banner now shows whether Next hardware was detected:
[Next Detected]or[Next not found].
CPPIP/NPPIP/FPPIP have not changed other than now building from the combined source tree. If you already have build 77, there is no need to update to 78.
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
- ZX Spectrum Next's built-in CP/M 3, under MAME
Test users have also reported it working on:
- Ishkur CP/M
- CP/M 3.1
- Labomb's CP/M
This release live-tested ZPPIP under MAME - the Next-hardware detection banner and an NX:-to-CP/M copy with CRC verify were both confirmed working on running hardware.
ZPPIP v1.20
ZPPIP v1.20
CP/M File Copy Utility for the ZX Spectrum Next
A C reimplementation of PPIP v1.8 (D. Jewett III, 1985-1988), built for the CP/M 3 environment built into NextZXOS. ZPPIP gives you the same file copying as CPPIP/NPPIP/FPPIP on NABU and TRS-80, plus the NX: prefix - direct access to the Next's built-in storage from the CP/M command line, with no separate server or SD card protocol needed.
One binary
| Binary | Description |
|---|---|
ZPPIP.COM |
ZX Spectrum Next edition. NX: always active. Does not include IA: or SD: support - those live only in the separate CPPIP/NPPIP/FPPIP builds for NABU and TRS-80. |
Features
- Copy single files or wildcard groups between any drive and user area
- CRC-16 (CCITT) verify after copy
- Move mode: copy then delete source (
/M), in both directions - Overwrite protection: prompts before replacing an existing destination
- Ctrl-C cancels batch copies cleanly
- CON: as source - type text directly into a file from the console
NX:extension - copy files directly to and from the Next's built-in storage using NextZXOS'sc:/tmp/...path style- Wildcard
NX:import and export, matched client-side since NextZXOS's catalogue call has no built-in pattern filter NX:directory listing - give anNX:path with no destination and the folder is listed instead of copied- Many-to-one destination protection - a wildcard copy that would send more than one file to the same exact destination name is rejected outright before anything is touched, in every direction
Known limits
- No directory auto-creation.
NX:subdirectories must already exist - NextZXOS's call table has no make-directory call for ZPPIP to use. - No read-only/read-write distinction on
NX:. Every existing destination gets the sameExists! Delete?prompt.IA:andSD:share this same limit, for the same reason - the platform has no such capability.
Tested on
Developer tested:
- MAME (ZX Spectrum Next core), including a full live test run against CP/M command-line use
- CSpect, partial support
Real ZX Spectrum Next hardware has not yet been confirmed - reports from real-hardware testers are welcome.
Documentation
Full documentation is included in the release folder:
zppip-guide.txt-NX:path reference, wildcard rules, and troubleshooting
Quick start
ZPPIP FILE.BIN NX:c:/tmp/file.bin copy to the Next's storage
ZPPIP NX:c:/tmp/file.bin A: copy from the Next's storage
ZPPIP NX:c:/tmp/file.bin A: /V copy with CRC verify
ZPPIP NX:c:/tmp/file.bin A: /M move (copy then delete source)
ZPPIP NX:c:/tmp/ list everything in c:/tmp/
Credits
Original PPIP v1.8 by D. Jewett III (1985-1988) - public domain.
C reimplementation (c) Intangybles 2026.
Release build: v1.20 (77)
CPPIP / NPPIP / FPPIP v1.10
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 manualia-guide.txt- IA: RetroNET path reference and troubleshootingfrehd-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)
CPPIP / NPPIP v1.00
CPPIP / NPPIP v1.00
CP/M File Copy Utility for NABU 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 a NABU-specific extension for direct access to the RetroNET Internet Adapter file store.
Two binaries are included
| Binary | Description |
|---|---|
CPPIP.COM |
Standard CP/M build. IA: file store available via /N or automatically on CloudCP/M. |
NPPIP.COM |
NABU edition. IA: always active - no switch required. |
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 (Not IA Copies at this time)
- 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
Tested on
Developer tested:
- NABU CloudCP/M
- RomWBW CP/M 2.2
- TRS-80 Model 4P CP/M 2.2
- 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 manual/ folder:
manual/manual.txt- Full user manualmanual/ia-guide.txt- IA: RetroNET 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
CPPIP /H full help
Credits
Original PPIP v1.8 by D. Jewett III (1985-1988) - public domain.
C reimplementation (c) Intangybles 2026.
Thanks to GTAMP (https://gtamp.com/nabu/) for his ideas, guidance, and testing throughout IA: development.
Release build: v1.00 (32)
Original PPIP CP/M Programs (D. Jewett III, 1985-1988)
Original PPIP CP/M file copy utility by D. Jewett III, archived here for reference.
PPIP v1.8 is the version that CPPIP is based on. All files are in the public domain.
Files included:
PPIP15.LBR- PPIP v1.5 library archiveppip-17.zip- PPIP v1.7ppip18.zip/ppip-18.zip- PPIP v1.8ppip19.asm.zip- PPIP v1.9 assembly source
See CPPIP / NPPIP v1.00 for the C reimplementation.