CP/M PIP Mods

The following modifications to CP/M’s PIP will allow you to send and receive text files using the Adam Link modem:

At the CP/M prompt type DDT PIP.COM

Once loaded type S103

Type in the following data for each address starting at 103 (do not type in the address (ie 103:)):

103: C3 104: 15 105: 01 106: C3 107: 0A
108: 01 109: 00 10A: F5 10B: DB 10C: 5F
10D: 1F 10E: 30 10F: FB 110: 79 111: D3
112: 5E 113: F1 114: C9 115: F5 116: DB
117: 5F 118: 1F 119: 1F 11A: 30 11B: FA
11C: DB 11D: 5E 11E: 32 11F: 09 120: 01
121: F1 122: C9

Type CTRL+Z to exit modify and then type G0 and enter to exit DDT

At CP/M prompt type SAVE 62 PIP.COM

Once the save is complete you can now use CP/M to send and receive files via the Adam Link modem.

To do this follow these steps:

Once you have a modem connection via Adam Link software, remove the DDP and put in your CP/M DDP and reset system (Adam Link modem will remain connected).

Once your are in CP/M:

  1. To send a text file use:
    PIP out:=filename[e]
  2. To receive a text file use:
    PIP filename=inp:[e]Once the DDP has stopped moving and PIP is showing a cursor send the text file from the remote system. After the text file is done type CTRL+Z on remote system and PIP will save the file.

You can eliminate the [e] if you do not want the transfer being echoed to the screen.

Here is the source code for the modifications to PIP

       .org        0103H
Inp:
       jp          ModIn
Out:
       jp          ModOut

CharIn:                 ; Data storage
.db    0

; Send character in C out to modem
ModOut:
       push        af
ModOutLoop:
       in          a,(05FH)
       rra
       jr          NC,ModOutLoop
       ld          a,c
       out         (05EH),a
       pop         af
       ret

; Wait for byte from modem and store it in 0109H and return
ModIn:
       push        af
ModInLoop:
       in          a,(05FH)    ; Read status
       rra                     ; Rotate RXREADY into CF
       rra
       jr          NC,ModInLoop
       in          a,(05EH)    ; Get character
       ld          (CharIn),a
       pop         af
       ret

	

2 Replies to “CP/M PIP Mods”

  1. I have learned that PIP only allows about 20K of file transfer. I am transfering MAC and MLOAD so I can compile a version of IMP and not have to use PIP – I will post this in another entry

Leave a Reply

Your email address will not be published. Required fields are marked *