Omen Technology owns zmodem. To get the specs and reference code will
cost a few $$.
10+ years ago, when I licensed an MS-DOS copy from Omen, it was very few $$. The Omen version ran very well from a command, and included several options for controlling it that made good sense to those of us with un*x backgrounds. The software included a pascal source - I don't recall if it was x, y, or z though.
Early version of the sz and rz programs were released as free software,
but I've never heard of a windows port of them. If you want to code
something up in C, they might be a good starting point.
It would help to be very familiar with embedded C techniques. Those versions were intended for porting to Un*x by at least tolerable C programmers.
http://www.ohse.de/uwe/software/lrzsz.html is decended from the old free
rz/sz.
And much improved, and easier to understand. That is what is (or at least was) bundled with most linux distributions. I recompiled that one to add options for custom varients of xmodem and ymodem (for some other device that used an incompatible long_file_name implementation).
Here's some other stuff:
http://web.mit.edu/afs/athena.mit.edu/astaff/project/telnet/src/omen/
-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
Sent: Tuesday, April 19, 2005 1:19 PM
To: Ken Cornetet; perl-win32-users@listserv.ActiveState.com
Subject: RE: Modem File Transfer help
Ken Cornetet wrote:
>
> Win32::SerialPort
>
> http://members.aol.com/Bbirthisel/alpha.html
>
> This will let you send and receive bytes via serial ports, but AFAIK,
> there isn't any perl code for doing zmodem transfers (but then I
> haven't done a great deal of looking, either).
There isn't. I one considered an xmodem example - and someone started one - but there was too little real demand and it would have taken quite a bit of work to have a fully functional and reliable version.
that will let me do basic communication and such, but wont allow file
transfers (at least not ZModem).
> Best I remember, zmodem is not a trivial protocol to implement. It
> would be possible to write a perl implementation, but not trivial.
hmm. thats what i was afearin'. your link (above) was interesting.
got any other idears?
Zmodem is certainly non-trivial, even with a C source handy. And if you strip out all the error handling and self-configuring code it is no longer zmodem (or especially useful).
> Can you have your device do xmodem or ymodem transfers instead? Either
> of these would be fairly easy to implement in perl.
unfortunately not. this particular product only has ZModem. which
kind of sucks, because I can't seem to get TeraTerm to work correctly,
either, and so am forced to use HyperTerm as an interface.
It looks like I'll have to try and do this in C or VB. which is a drag,
because my test suites so far have been entirely in Perl.
I would contact Omen if I had a requirement like that. They may have an option that could be run inside a perl wrapper.
> > is getting a modem connection via perl that difficult?
Strange as it may seem, yes is the correct answer. Byte-streams are not a native way of moving data on Windows.
-bill
_______________________________________________ Perl-Win32-Users mailing list Perl-Win32-Users@listserv.ActiveState.com To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs