XMODEM for CPM or something better?

942 views
Skip to first unread message

Sir Isaac

unread,
Aug 31, 2017, 9:59:58 PM8/31/17
to RC2014-Z80
Just curious if anyone has gotten xmodem working?

I'm not sure how to go about getting xmodem on the CPM CF card. 

I've tried using Grant Searle's windows app and download.com.
Download.com works and creates the xmodem.com file but I can't send or receive anything. It just freezes when I launch it

I'm using xmodem that is built into putty to try and send files.

Is there a simpler way to transfer files on to the CPM system?

PianoMatt

unread,
Sep 1, 2017, 6:00:36 AM9/1/17
to RC2014-Z80
I got it working on the RomWBW board, but not on the CF version of CP/M. I suspect it's down to a bad configuration. You can either specify the configuration as switches after the command or use a cfg file. I'll see if I can dig out the documentation that I downloaded - maybe someone else can make sense of it.

PianoMatt

unread,
Sep 1, 2017, 6:02:08 AM9/1/17
to RC2014-Z80
Found it.
XMODEM.CFG

Sir Isaac

unread,
Sep 1, 2017, 10:30:47 AM9/1/17
to RC2014-Z80
Yes I have tried playing around with the port settings in that file. To be honest I've wasted way more time than I should have on it LOL

For now I've gone back to using Grant Searle's win app and download.com setup.


On Friday, September 1, 2017 at 6:02:08 AM UTC-4, PianoMatt wrote:
Found it.

Sir Isaac

unread,
Sep 1, 2017, 8:46:53 PM9/1/17
to RC2014-Z80
Very interesting, so I've gotten Xmodem working in RomWBW. Can't understand whats wrong with the CF setup. 
I'll try it again after I receive my new CF board, I'm still having issues with it.

PianoMatt

unread,
Sep 2, 2017, 4:59:32 AM9/2/17
to RC2014-Z80
Using the version that comes with RomWBW I had no issues, but Dr Baker modified it somehow, and I suspect that would break compatibility with the CF version.

For now I'm just using download.com but I want to get a floppy board working with the CF version so I can XMODEM stuff to my RomWBW board and then move the diskette over to my CF machine and copy the files over.

Sir Isaac

unread,
Sep 2, 2017, 7:43:49 AM9/2/17
to RC2014-Z80
That's kinda the journey I'm on as well. I have a backlog of boards I need to build. I have all the parts and everything, just need to find the time lol

PianoMatt

unread,
Sep 2, 2017, 8:09:52 AM9/2/17
to RC2014-Z80
I've got the floppy boards built, but haven't modified the CF CP/M to support the board. Dr Baker's documentation is incomplete, but he does say that he ported RomWBW's driver.

Robert Liesenfeld

unread,
Sep 4, 2017, 11:35:45 AM9/4/17
to rc201...@googlegroups.com
I have one of Dr. Baker's bus supervisor boards; I used the Python script he wrote for interacting with it to 'poke' xmodem.com into RAM after CP/M was started, and SAVEd it from there.  It has been a while but I recall that I had to modify the Python script to perform this load from a file.  I can post my modifications in a couple days.

If anyone's interested, I can write up how I used the bus supervisor board and 64k RAM board (no switchable RAM/ROM board) to bootstrap CP/M in the first place.

-Rob

On Sep 2, 2017, at 6:09 AM, PianoMatt <mattyb...@gmail.com> wrote:

I've got the floppy boards built, but haven't modified the CF CP/M to support the board. Dr Baker's documentation is incomplete, but he does say that he ported RomWBW's driver.

--
You received this message because you are subscribed to the Google Groups "RC2014-Z80" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rc2014-z80+...@googlegroups.com.
To post to this group, send email to rc201...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/rc2014-z80/901855c5-6838-4dfb-a18f-f1086667e044%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Sir Isaac

unread,
Sep 4, 2017, 12:48:47 PM9/4/17
to RC2014-Z80
Thats a great idea. I have the supervisor board too.
It's been awhile since I've used it, When time allows I'll give that a shot.


On Monday, September 4, 2017 at 11:35:45 AM UTC-4, Robert Liesenfeld wrote:
I have one of Dr. Baker's bus supervisor boards; I used the Python script he wrote for interacting with it to 'poke' xmodem.com into RAM after CP/M was started, and SAVEd it from there.  It has been a while but I recall that I had to modify the Python script to perform this load from a file.  I can post my modifications in a couple days.

If anyone's interested, I can write up how I used the bus supervisor board and 64k RAM board (no switchable RAM/ROM board) to bootstrap CP/M in the first place.

-Rob

On Sep 2, 2017, at 6:09 AM, PianoMatt <mattyb...@gmail.com> wrote:

I've got the floppy boards built, but haven't modified the CF CP/M to support the board. Dr Baker's documentation is incomplete, but he does say that he ported RomWBW's driver.

--
You received this message because you are subscribed to the Google Groups "RC2014-Z80" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rc2014-z80+unsubscribe@googlegroups.com.

PianoMatt

unread,
Sep 4, 2017, 1:28:38 PM9/4/17
to RC2014-Z80
Have you managed to get it to work? If so where did you get it and which version are you using?


On Monday, 4 September 2017 16:35:45 UTC+1, Robert Liesenfeld wrote:
I have one of Dr. Baker's bus supervisor boards; I used the Python script he wrote for interacting with it to 'poke' xmodem.com into RAM after CP/M was started, and SAVEd it from there.  It has been a while but I recall that I had to modify the Python script to perform this load from a file.  I can post my modifications in a couple days.

If anyone's interested, I can write up how I used the bus supervisor board and 64k RAM board (no switchable RAM/ROM board) to bootstrap CP/M in the first place.

-Rob

On Sep 2, 2017, at 6:09 AM, PianoMatt <mattyb...@gmail.com> wrote:

I've got the floppy boards built, but haven't modified the CF CP/M to support the board. Dr Baker's documentation is incomplete, but he does say that he ported RomWBW's driver.

--
You received this message because you are subscribed to the Google Groups "RC2014-Z80" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rc2014-z80+unsubscribe@googlegroups.com.

Robert Liesenfeld

unread,
Sep 4, 2017, 1:38:12 PM9/4/17
to rc201...@googlegroups.com
Honestly it's been long enough that I don't really remember.  I think I did not get it working.  I'll have another look over the next few days.

-Rob
To unsubscribe from this group and stop receiving emails from it, send an email to rc2014-z80+...@googlegroups.com.

To post to this group, send email to rc201...@googlegroups.com.

Mark Bramwell

unread,
Sep 7, 2017, 10:33:02 PM9/7/17
to RC2014-Z80
I managed to get xmodem running on my rc2014.  Works very well for me.
I use a CF card to boot CPM  (standard full monty, nothing extra)

I put the file I used here:   http://web1.foxhollow.ca/cpm/

---

xmodem.txt       This file, You're reading it!
xmodem.com       CPM80 executable
xmodem-pkg.txt   RC2014 "download" ready to put xmodem.com on your machine

How to use it:

For me, using the normal 'download' method, I put xmodem.com on the C> drive of the RC2014

Example to upload a file from the PC to the RC2014...
Let's say you want to upload zork1.com to the G: drive...

A> G:                          # change to the G drive
G> c:xmodem zork1.com /r /x0   # puts xmodem in receive mode using the console

now using the terminal emulator, start an xmodem send session.
After a few seconds, xmodem will start.  Uploads are very fast, taking only seconds for large files.


mbramwel, 7 Sept 2017
http://web1.foxhollow.ca/cpm/xmodem.txt






Sir Isaac

unread,
Sep 8, 2017, 8:42:47 AM9/8/17
to RC2014-Z80
Excellent. I did get xmodem working using romwbw but, only in zsdos not cpm. Perhaps a different version? I have yet to get xmodem working using the cf card setup. 
I will try this and report back.
Thank you for posting.

PianoMatt

unread,
Sep 8, 2017, 2:59:10 PM9/8/17
to RC2014-Z80
Mark, are you using the ACIA board or the SIO board for serial?

Sir Isaac

unread,
Sep 8, 2017, 3:27:59 PM9/8/17
to RC2014-Z80
I tried this version with the stock RC2014 SIO/2 setup for cpm, and it works great.

PianoMatt

unread,
Sep 8, 2017, 3:44:21 PM9/8/17
to RC2014-Z80
I can't get it to work! Sending from the RC to my PC works, but sending from the PC to the RC doesn't work. What terminal program are you using?

Sir Isaac

unread,
Sep 8, 2017, 3:56:35 PM9/8/17
to RC2014-Z80
I'm using putty,
under transfers I select the first xmodem option. flow control is set to RTS/CTS

PianoMatt

unread,
Sep 8, 2017, 4:00:12 PM9/8/17
to RC2014-Z80
PuTTY works for me. It's a shame, because I much prefer TeraTerm, and have it set up exactly how I like it. Oh well!

Mark Bramwell

unread,
Sep 8, 2017, 6:44:50 PM9/8/17
to RC2014-Z80

I have the stock "Full Monty" kit with the 68B50 serial chip.
It looks like this:  http://rc2014.co.uk/modules/serial-io/

I am using SecureCRT in serial mode.
I am doing a xmodem send (not the 1k-xmodem)

I tried Tera-Term.  It failed at first attempt.  I went into the Serial Port settings, made a small change and now it is rock solid in Tera Term.
Here is a pic of my settings:   http://web1.foxhollow.ca/cpm/tera-term-serial-port.png
It was the hardware flow control that made a difference for me.

You can tell xmodem to use checksums  instead of CRC.  It did not make a difference.  Hardware flow control was the key.

I added a file to the web folder:  http://web1.foxhollow.ca/cpm/
xmodem.cfg       Useful to see what CLI options are available but not really needed (I do not use this file)

Hope it helps!



PianoMatt

unread,
Sep 9, 2017, 4:27:38 AM9/9/17
to RC2014-Z80
I tried using those settings and it still doesn't work. I'm just going to have to get used to PuTTY I think. I've ordered a new TTL serial adaptor with a FTDI chip rather than the CH340 I'm currently using. I don't know if it'll make a difference, but I need a second adaptor anyway so I'm not losing anything if it doesn't fix the issue.

David Hardingham

unread,
Sep 9, 2017, 8:08:49 AM9/9/17
to RC2014-Z80
Fantastic work Mark. Once I turned on hardware flow control, my xmodem file transfer were really quick. I'm using a Scott Baker SIO/2 board in my RC2014, together with a Scott Baker RAM / ROM board. I noe have a fully working CP/M machine, with fast XMODEM data transfer.

Happy at last.

David


Sir Isaac

unread,
Sep 9, 2017, 8:55:47 AM9/9/17
to RC2014-Z80
Excellent, added the config file for reference.

I had a look at the SecureCRT webpage, looks not too bad. Do you pay for it or just keep downloading the free versions for updates? 

Sir Isaac

unread,
Sep 9, 2017, 8:59:21 AM9/9/17
to RC2014-Z80
I'm not sure what CH340 is but, anything with a Prolific chip I put right in the trash. They gave me nothing but problems. The genuine FTDI chips I've never had issues with.

PianoMatt

unread,
Sep 9, 2017, 9:08:06 AM9/9/17
to RC2014-Z80
I've had loads of issues with FTDI chips, but that was due to fake chips ending up on the boards I was using. The chips worked fine at first, but then FTDI came along and bricked them with a driver update. The CH340 chip is what most of the cheap Arduino nanos come with these days, and they seem to do the job fairly well.

Sir Isaac

unread,
Sep 9, 2017, 9:20:43 AM9/9/17
to RC2014-Z80
Interesting, I remember reading about the fake FTDI chips. I bought mine from digikey. It's not as cheap as an ebay deal but, I figured it's gotta be genuine.

PianoMatt

unread,
Sep 9, 2017, 10:56:19 AM9/9/17
to RC2014-Z80
The fakes were in legit supply chains for a while, that's why it was such a ballache to deal with because products bought in good faith from good suppliers contained the fakes, and Future handled it in the worst way possible by killing the chips.

David Hester

unread,
Sep 9, 2017, 11:08:51 AM9/9/17
to RC2014-Z80
I am using an Adfruit ftdi lead and when I enable hardware in flow control I cant get teh space key to work so I can't start cpm. Have ordered the lead from Digi key to see if that works.Will alos try the lead on one of my other computers.

Spencer Owen

unread,
Sep 9, 2017, 11:08:59 AM9/9/17
to rc201...@googlegroups.com
I have to admit that I'm torn over the FTDI issue.  On the one hand, what they did as a company was totally unreasonable and only hurt innocent consumers, so I don't think I can ever trust them again.  However, the FTDI devices are by far the best USB > serial device out there, so when it comes to recommending something that you know is going to work reliably, it's my go-to solution.

At the risk of derailing this thread, I think FTDIGate was just a warm up exercise for what's going to happen (and is already happening) with the Internet Of Things.  ie you buy a thing, you own it, you have it, it works - then you run an update and you now have an inanimate ornament.

The good news is that I won't/can't do that to your RC2014.  The only person that can brick your RC2014 is you :-D

Spencer

--
You received this message because you are subscribed to the Google Groups "RC2014-Z80" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rc2014-z80+unsubscribe@googlegroups.com.
To post to this group, send email to rc201...@googlegroups.com.

PianoMatt

unread,
Sep 9, 2017, 11:26:03 AM9/9/17
to RC2014-Z80
That already happened with Nest's Revolv thermostat hub. Google bought Nest and then killed off Revolv, bricking every unit in the process.

Peter Fielden-Weston

unread,
Sep 9, 2017, 1:28:31 PM9/9/17
to RC2014-Z80
Yeap. Done that, got the smoky boards to prove it.

P


On Saturday, 9 September 2017 16:08:59 UTC+1, Spencer Owen wrote:

Peter Fielden-Weston

unread,
Sep 9, 2017, 1:37:21 PM9/9/17
to RC2014-Z80
With regard to the FTDI debacle, I seem to remember that the manufacturers were able to detect that a chip was fake by sending an OP-Code. This OP-Code would not work on the FTDI chips, but would work on the fakes. So they set the chips Product_ID to zero, bricking thee chip. The OP-Code they used was, apparently, one that the RS232 spec permitted. So the fake chips worked closer to the spec than the FTDI chips did. :)

The Chinese manufacturers quickly came up with the CH340 chips with work as advertised. You do need a device driver fr them, but once installed there's no further problem. (Search YouTube/EEVBlog for details.)

There is also another chip that's on the market, I think it's the CP2120 or something like that. Also works well.

I've a few adaptors with both of these ICs.

Peter

PianoMatt

unread,
Sep 9, 2017, 3:51:46 PM9/9/17
to RC2014-Z80
The new FTDI cable works! XMODEM using Teraterm is a go go!

Transfers for all! Thanks Mark, really appreciated :)

PianoMatt

David Hester

unread,
Sep 9, 2017, 4:24:40 PM9/9/17
to RC2014-Z80
PianoMatt

What cable did you get that worked?

PianoMatt

unread,
Sep 9, 2017, 4:40:30 PM9/9/17
to RC2014-Z80

David Hester

unread,
Sep 14, 2017, 12:20:04 PM9/14/17
to RC2014-Z80
I got the several ftdi leads and can't get hardware flow option to work. When I turn it on I can't use the keyboard, i have tried it on both my desktop machine and laptop with the same result. I'm using windows 10 on both machines. Does anyone have it working?

Mark Bramwell

unread,
Sep 14, 2017, 12:24:40 PM9/14/17
to RC2014-Z80
What kind of FDTI device are you using?  Does it have more than just ground, tx, rx ?
The flow control pin(s) are important
Do you have a picture or web link?


FYI:  I am working on a few methods of getting data into the RC2014.  This seems to be an area needing some attention. 

David Hester

unread,
Sep 15, 2017, 3:46:00 PM9/15/17
to RC2014-Z80
Think it may have been my serial board as I have now assembled the dual serial board and have been able to get things working with handshake control on with this board.

I have lead that PianoMatt linked to and two adafruit leads all work with the dual serial board.

Mark Bramwell

unread,
Sep 15, 2017, 5:20:01 PM9/15/17
to RC2014-Z80
I wonder how accurate is the clock on the RC2014.  With it being a simple crystal controlling a feedback loop, it might not be dead on. The "computer" would not care if it was 1% too fast.  Any one actually test theirs to see if it is dead on frequency?  With us using the clock divided down for the UART baud rate, a clock that drifts will cause errors.

I just received from Osh Park the CPU board that uses a FOX Module as the clock.  I wonder if the occasional comm errors would disappear...  since the Fox module is a simple 3 wire connection, you could proto-board a tiny board with the pins required to plug into the RC2014 (no additional CPU board required).


PianoMatt

unread,
Sep 15, 2017, 5:30:32 PM9/15/17
to RC2014-Z80

That sounds familiar...

PianoMatt

unread,
Sep 15, 2017, 5:32:51 PM9/15/17
to RC2014-Z80
I designed a replacement clock board a while back - basically just that with a reset button. I use that in my main board and it works pretty well. I plan on redesigning it to be small enough to fit in the footprint of the original module so that it will fit on the dual clock board

Peter Borders

unread,
Sep 15, 2017, 9:04:07 PM9/15/17
to rc201...@googlegroups.com
I wouldn't think that the timing on the serial connection is that critical. I was using xmodem to transfer files on a commodore 64 and before that a timex zx81 and they both just use a bare crystal in an open loop oscillator. I doubt that they (especially the zx81) were overly precise.

Pete B.

On Fri, Sep 15, 2017 at 5:20 PM, Mark Bramwell <mbra...@gmail.com> wrote:
I wonder how accurate is the clock on the RC2014.  With it being a simple crystal controlling a feedback loop, it might not be dead on. The "computer" would not care if it was 1% too fast.  Any one actually test theirs to see if it is dead on frequency?  With us using the clock divided down for the UART baud rate, a clock that drifts will cause errors.

I just received from Osh Park the CPU board that uses a FOX Module as the clock.  I wonder if the occasional comm errors would disappear...  since the Fox module is a simple 3 wire connection, you could proto-board a tiny board with the pins required to plug into the RC2014 (no additional CPU board required).


--
You received this message because you are subscribed to the Google Groups "RC2014-Z80" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rc2014-z80+unsubscribe@googlegroups.com.
To post to this group, send email to rc201...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages