Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Getting a file into CP/M

1,083 views
Skip to first unread message

Grant Stockly

unread,
Jun 3, 2007, 5:20:09 PM6/3/07
to
I have CP/M running on an Altair with 3.5" disks, but there is no
chance of me reading these disks in a PC. I have the following
programs on the disk.

A: CPM COM
A: SYSGEN COM
A: DDT COM
A: COPY COM
A: PIP COM
A: ASM COM
A: STAT COM
A: ED COM
A: FORMAT COM
A: DISKTEST COM
A: DUMPDSK COM
A: BASIC COM
A: RUN COM

Would it be possible with one of these tools to input a binary file?
Do I have to write something special? I could tell it, input 256
bytes and then exit. PIP seems pretty limited compared later versions.

John Elliott

unread,
Jun 3, 2007, 6:12:25 PM6/3/07
to
Grant Stockly <gr...@stockly.com> wrote:
: Would it be possible with one of these tools to input a binary file?

: Do I have to write something special? I could tell it, input 256
: bytes and then exit. PIP seems pretty limited compared later versions.

I'd suggest converting your small binary file to hex format (you could use
UNLOAD.COM in a CP/M emulator, or find a native equivalent). Then transfer
it to the CP/M box, either over a serial port or by typing the lines by hand
into ED. Finally use DDT to reconstitute it:

A>DDT file.HEX
DDT VERS 2.2
NEXT PC
nnnn 0000
-^C

A>SAVE ss file.BIN

where ss is the number of 256-byte pages to save.

Alternatively you can key the hex bytes directly into DDT:

A>DDT
DDT VERS 2.2
-S100
0100 01 xx
0101 BC xx
...
014C 07 .
-^C

A>SAVE ss file.BIN

--
------------- http://www.seasip.demon.co.uk/index.html --------------------
John Elliott |BLOODNOK: "But why have you got such a long face?"
|SEAGOON: "Heavy dentures, Sir!" - The Goon Show
:-------------------------------------------------------------------------)

Grant Stockly

unread,
Jun 3, 2007, 10:14:28 PM6/3/07
to
On Jun 3, 2:12 pm, John Elliott <j...@seasip.demon.co.uk> wrote:

Thanks. I just received a modified Tarbell disk drive card that is
formatting and using 3.5" disks as a 40 track 18 sector 5.25"
minifloppy. It really stinks that I only have 69k per disk freshly
formatted, but at least I have disks and an operating system working
on cheap disks and cheap drives. : )

Are there any utilities available designed to transfer program files
between a CP/M machine and a DOS/Windows based computer over a serial
port? Something to make the process a little less painful? I think I
would have to use the console for the transfer. I'm not sure if my CP/
M has two serial ports configured.

Thanks,
Grant

BobH

unread,
Jun 3, 2007, 11:18:39 PM6/3/07
to

I used Kermit in the past. There is a version of Kermit that runs on
just about anything. Getting Kermit on tha machine was semi-painful. DR
used to include the source for a binary transfer utility in the CPM2.2
manual I think.

Good Luck,
Bob

Grant Stockly

unread,
Jun 4, 2007, 12:08:18 AM6/4/07
to
> I used Kermit in the past. There is a version of Kermit that runs on
> just about anything. Getting Kermit on tha machine was semi-painful. DR
> used to include the source for a binary transfer utility in the CPM2.2
> manual I think.

I've got CP/M 1.4 right now and it seems pretty basic compared to 2.2.

Even with CP/M 1.4 these 70k disks fill up quick! : )

Grant

CBFalconer

unread,
Jun 4, 2007, 12:55:58 AM6/4/07
to

no....@no.uce.bellatlantic.net

unread,
Jun 4, 2007, 7:37:44 AM6/4/07
to
On Mon, 04 Jun 2007 02:14:28 -0000, Grant Stockly <gr...@stockly.com>
wrote:

I have to ask. Why are you only using 40 tracks of a 80 track two
sided drive. Even with the SD formatting your not using nearly 200k.

Having run a SD system at that same very size I can say that even
trivial program development or what have you is a serious pain for
lack of space. I only used it long enough to develop a new bios
for a bigger/better controller to do DD.

Allison

>Are there any utilities available designed to transfer program files
>between a CP/M machine and a DOS/Windows based computer over a serial
>port? Something to make the process a little less painful? I think I
>would have to use the console for the transfer. I'm not sure if my CP/
>M has two serial ports configured.

There is a patch area in pip that you can add a user driver to.
Create and add a serial input routine and then you can pip
small programs to the system.

>
>Thanks,
>Grant

no....@no.uce.bellatlantic.net

unread,
Jun 4, 2007, 7:39:40 AM6/4/07
to
On Mon, 04 Jun 2007 04:08:18 -0000, Grant Stockly <gr...@stockly.com>
wrote:

>> I used Kermit in the past. There is a version of Kermit that runs on

CP/M1.4 is not more efficient or significantly smaller than V2.2. It
is harder to modify the bios to use more of those small drives.

Allison

>
>Grant

no....@no.uce.bellatlantic.net

unread,
Jun 4, 2007, 7:41:22 AM6/4/07
to
On Mon, 04 Jun 2007 00:55:58 -0400, CBFalconer <cbfal...@yahoo.com>
wrote:

>Grant Stockly wrote:
>>
>> I have CP/M running on an Altair with 3.5" disks, but there is no
>> chance of me reading these disks in a PC. I have the following
>> programs on the disk.
>>
>> A: CPM COM
>> A: SYSGEN COM
>> A: DDT COM
>> A: COPY COM
>> A: PIP COM
>> A: ASM COM
>> A: STAT COM
>> A: ED COM
>> A: FORMAT COM
>> A: DISKTEST COM
>> A: DUMPDSK COM
>> A: BASIC COM
>> A: RUN COM
>>
>> Would it be possible with one of these tools to input a binary file?
>> Do I have to write something special? I could tell it, input 256
>> bytes and then exit. PIP seems pretty limited compared later versions.
>
>PIP can input binary. I forget how - read the docs.

Yes, you can either input [pip a:xyz.bin=con:] via the console or you
can patch pip to have a second serial port. For the latter lookup
PIPMODEM.

Allison

Message has been deleted

Grant Stockly

unread,
Jun 4, 2007, 12:30:36 PM6/4/07
to
> Yes, you can either input [pip a:xyz.bin=con:] via the console or you
> can patch pip to have a second serial port. For the latter lookup
> PIPMODEM.

On my machine it stops reading after a null and strips off the 8th bit
before that.

no....@no.uce.bellatlantic.net

unread,
Jun 4, 2007, 3:27:45 PM6/4/07
to
On Mon, 04 Jun 2007 16:30:36 -0000, Grant Stockly <gr...@stockly.com>
wrote:

>> Yes, you can either input [pip a:xyz.bin=con:] via the console or you

Not unusual, thats why I suggested "pipmodem". most serial ports
for CP/M machines are set up as 7n1 or mask the high bit off not that
its a required thing.

There were two utilities distributed with the applesoft board called
UP and DOWN a simple packet utility that could be entered by hand
using DDT if need be. They required 8bit serial ports and no bit
stripping for binary.

If you have a bit stripping problem then running UNLOAD on a sim to
make the binary into a hex is the way to go. You can then use
a console emulator on the PC to send the HEX file to the CP/M engine
and then use DDT to reconstitute it.

Allison

Peter Dassow (remove the NOSPAM. for direct answer)

unread,
Jun 4, 2007, 3:31:32 PM6/4/07
to
no....@no.uce.bellatlantic.net wrote:
> On Mon, 04 Jun 2007 00:55:58 -0400, CBFalconer <cbfal...@yahoo.com>
> wrote:
>>> [...]
>>> A: PIP COM
>>> [...]

>>>
>>> Would it be possible with one of these tools to input a binary file?
>>> Do I have to write something special? I could tell it, input 256
>>> bytes and then exit. PIP seems pretty limited compared later versions.
>> PIP can input binary. I forget how - read the docs.
>
> Yes, you can either input [pip a:xyz.bin=con:] via the console or you
> can patch pip to have a second serial port. For the latter lookup
> PIPMODEM.

Why not copy from the first serial port using "RDR:" with PIP ?
PIP can copy binary files with the option "O", example:
PIP target=source[O]
(if RDR as device is used, Ctrl^C must be used to end it)

Regards
Peter

--
My new project: Try http://www.z80.eu for CP/M computer infos.

Jim Bianchi

unread,
Jun 4, 2007, 8:00:40 PM6/4/07
to
On Mon, 04 Jun 2007 02:14:28 -0000, Grant Stockly wrote:
> Are there any utilities available designed to transfer program files
> between a CP/M machine and a DOS/Windows based computer over a serial
> port? Something to make the process a little less painful? I think I
> would have to use the console for the transfer. I'm not sure if my CP/
> M has two serial ports configured.

I did this many times. What I used was Irv Hoff's IMPxxx.COM on the
CP/M machine and {COMMO} on the DOS side. Both are terminal (communications)
pgms that 'talk to' a modem that's on the serial port. However, instead of a
modem, you have a null modem cable connecting the two serial ports. If you
invoke a term pgm on each, you can them tfr files between the two easily
using ymodem (batch) or zmodem (on the very last version of IMP (which I
think was 245)), or regular onesey-by-onesey xmodem.

Both these pgms are/were freeware and relatively easy to set up.
{COMMO} had a macro language that wasn't to be believed -- I ran a BBS for
over a year that was nothing but a very large COMMO macro! The big problem
is getting IMP for your CP/M system. IMP had a whole bunch of inserts that
were configured for different system types. You'd fill out the needed info
(phone numbers, dial cmd for your modem, etc) and overlay it on the IMP.COM
file.

Chicken and egg time. How d'you get IMPxxx.COM onto your CP/M
system? Absent any form of emulation where you can read/write floppies to
fit your CP/M machine, the answer is MODEM7 -- an assy language pgm small
enough to allow the code to be easily human typed into a file and then
compiled. The result would connect to the serial port and initiate an xmodem
dload of just one file: IMPxxx.COM.

If you anticipate having to do this very often, the time taken to
find and set up these two (freebie) terminal pgms and investing in a null
modem cable would be VERY well spent.

ymodem *.* tfr of a bunch of files happens very fast at 9600 bps.

--
ji...@sonic.net

"There are only 10 kinds of people in the world;
those who understand binary, and those who don't."

Andrew J. Kroll

unread,
Jun 5, 2007, 12:53:49 AM6/5/07
to

I seemed to see mbasic on the disk too... while not bleedingly quick, it
could also be used for the initial xfer, you could even do echoback
error checks and reassemble hex stright away to binary. I did this exact
thing on the xerox 820-II, it worked.

r...@speakeasy.net

unread,
Jun 13, 2007, 10:37:15 PM6/13/07
to
On Jun 3, 7:14 pm, Grant Stockly <g...@stockly.com> wrote:
> On Jun 3, 2:12 pm, John Elliott <j...@seasip.demon.co.uk> wrote:

>
>
> > Grant Stockly <g...@stockly.com> wrote:
>

<snip>

> Are there any utilities available designed to transfer program files
> between a CP/M machine and a DOS/Windows based computer over a serial
> port? Something to make the process a little less painful? I think I
> would have to use the console for the transfer. I'm not sure if my CP/
> M has two serial ports configured.
>
> Thanks,
> Grant


Hey Grant --

Look for a program called "mboot". It is a *VERY* simple program that
will allow you to pick yourself up by your own "bootstraps". It is
less than 512 bytes, and easily customized for your hardware. It will
interact with a PC serial port application like ProComm, or perhaps
minicom (Linux), and let you download more capable and functional
programs (such as modem7) to ease your file transfer task. If you
can't find a copy on the Web (of mboot), I can email it to you, or put
it up on my Web site. It is not very big. Let me know.

Roger

0 new messages