Files exchange between PC and CPM2.2

Home Forums Z80 Playground Early-Adopters Files exchange between PC and CPM2.2

Viewing 10 posts - 1 through 10 (of 10 total)
  • Author
    Posts
  • #998
    Kotec53
    Participant

    Hello,
    I am looking for a simple way to exchange files between a directory on my PC (with teraterm at 115200 bd) and a disk on CPM.

    I have searched with the Xmodem protocol, but nothing precise or functional.
    Thanks fot all advices

    #999
    GlynD
    Participant

    I use XR.COM – receive or XS.COM – send (from CP/M). These are stripped down XMODEM files separating out the sending and receiving part respectively.

    There is a bug in the original XR.COM so that it will only receive 122 blocks, before suffering a stack overflow. The sources have been forked and fixed by Cooperzone and can be downloaded from his github portal here.

    To receive a file on the CP/M machine:
    XR <file.name>

    Then use send on the PC using Xmodem.

    Sending a file from CP/M to the PC is the same except you run XS on the CP/M machine and receive on the PC using Xmodem.

    Works fine on my machine at max speed of 460800 baud. I use minicom not Tera Term but this shouldn’t matter they can both use the Xmodem protocol.

    #1001
    Phil_G
    Moderator

    The problem with xmodem was always that it works in 128 byte blocks, you cant transfer a file of say 10 bytes – well you can but it will be padded to the nearest 128 bytes above. Consequently file compares always fail, unless the original file happened to be a multiple of 128 bytes. Zmodem fixes this and has resume, batch etc so a much nicer protocol.
    This is why I love Johns FAT implementation. I just pull the flash drive & stick it in the PC. Its a revelation after faffing about with the different transfer utilities that the Z80-MBC2 and other GS-bios boards need πŸ™‚
    Cheers
    Phil

    #1004
    kevin
    Participant

    My understanding is that there a problem with the UART on some of the Z80-PG boads, that prevents serial flow control working properly. On mine, I can receive from the board using XModem, but I can’t send. I think we discussed this here a couple of months ago. I never really did understand whether this is a limitation that could be overcome, or not.

    I’d like to be able to send and receive using XModem or similar, but I gave up after a while. The fact that XModem only understands 128-byte blocks isn’t really a limitation with CP/M 2.2, because that only understands 128-byte blocks as well, as I recall.

    Kevin.

    #1005
    skx
    Participant

    I think we discussed this here a couple of months ago.

    I think there’s been a bunch of discussion here about things that aren’t quite right, at least:

    • submit.com not working.
    • Ctrl-c not rebooting (at the start of a line).
    • Issue with ROM copying.
    • etc

    But I’m not sure if that would be helpful, or just put everybody under pressure. The project is great, and I’ve enjoyed changing the code.

    I guess a list of links might not be out of place though:

    • The recent CP/M 3.x releases – albeit missing a file as I recall.
    • Links to the addon-board(s).
    • Links to case-designs & VGA output.
    • Links to character set setup.

    The forum itself has all the details, but they’re a bit spread out.

    #1007
    Phil_G
    Moderator

    >>The fact that XModem only understands 128-byte blocks isn’t really a limitation with CP/M 2.2, because that only understands 128-byte blocks as well

    It does Kevin, but what I meant was if you have a sub-128 document on your PC and Xmodem it to CP/M, when opened it in Wordstar for example all the padding will be visible. If you compare the file as it was received on CP/M with the original PC file, it will fail comparison as its a different length, it CRC’s differently, etc. Just saying that its a very old protocol that has been far bettered since πŸ™‚

    The Fifo in the 16550 uart is a Bad Thing for xmodem as the software is out of sync with whats being physically sent πŸ™‚

    Cheers
    Phil

    #1008
    Phil_G
    Moderator

    >>…a bunch of discussion here about things that aren’t quite right… Issue with ROM copying…

    I missed that one, what was the ‘ROM copying’ problem Steve?

    #1009
    skx
    Participant

    That was the recent report that apparently the ROM->RAM copying doesn’t copy the full address-space.

    Details listed here, due to my mail-filtering I didn’t realize it was off-forum:

    github.com/z80playground/cpm-fat/issues/71

    #1010
    Phil_G
    Moderator

    Thanks Steve, I was unaware of that one. Easy fix though πŸ™‚
    Cheers
    Phil

    #1011
    Phil_G
    Moderator

    Thinking about the control-C thing, its main use was to reset the disk system after changing the floppy disk in a particular drive, otherwise the system didnt know and would write disk1 stuff all over disk2. On the playground theres no changing of disks, the contents of drive X is always the contents of drive X, so a control-C disk reset isnt necessary. So I think the only place we need it is on input strings, such as a DDT command line, where a G0 does the trick anyway πŸ™‚

Viewing 10 posts - 1 through 10 (of 10 total)
  • You must be logged in to reply to this topic.