Hello, Reply by: Cyrille de Br←bisson -- Apr 12, 2004 07:12:01 Hello, From memory: client sends 1 chr command (followed by more data eventually) G: get file (followed by file name command packet). Calculator answers by sending the file through XSEND P: put file (followed by the file name). calcualtor answers by starting XRECV Q: quit L: get list of files in current directory (calculator returs data in command packet format) M: get free memory (calculator returs data in command packet format) E: execute command line (followed by a string) calculator does STR-= on the string V: return version number in command packet l: list all files in calculator (calcualtor sends data in command packet format) the "command packet format" is: Ssdddd.....ddddC where: S is bit 15-8 of the data size in bytes s is bit 7 to 0 of the data size in bytes dddd...dd is the data C is the checksum (sum of all the data mod 8) the other side is usposed to answer to such a packet with an ACK. If not, (other chr or timeout) the packet will be resent up to 10 times. data is transmited in 8 bit mode, no parity, no flow control as for the "non standard" xmodem mode, the hp does not implemetn XMODEM CRC, (because calculating the standard xmodem CRC would be slow), but it implements the HPcrc (standard kermit CRC), and uses the same trick that XMODEM 1K and CRC (sending a C instead of a NAK to start transmision), except that it uses the D chr instead. After 5 tries (I beleive) in HPCRC. it will revert to standard XMODEM 128 CHK mode.. I do not remember exactly the format for the directory listing, but I think it's of the form: 2 nib size name n bytes: file name 4 nib: prolog 6 nib: file size 4 nib: crc file name size of 0 marks the end of the list for the full file listing, after an object of type directory, the same structure restarts, with a 0 lenght name to end the directory. regards, cyrille = Unfortunately, I have. Most pages just repeat the same info that's in = the AUG. Knowing that "P" is the command to put a file to the calculator = is great, but it would be nice to know what the arguments are and what = the packet is supposed to look like that contains the arguments. = = For example, the "M" and "L" commands are effectively 1 byte commands - = you transmit the character and you get a response. But how do you format = a command line you want executed? With the "L" command, the calculator = sends the same information over and over - maybe 10 times - before it = stops. Why? Dunno. = = It's a little frustrating because, for example, even though it's called = "XMODEM SERVER" the HP version does not implement the standard XMODEM = protocol - it uses a different checksum formula and a different NAK = character, for example. Another example is that Conn4x appears to be = able to get XSERV to do kermit style ASCII conversions, but the method = doesn't seem to be documented. = = Don't get me wrong - I've made some good progress here, I've got a Mac = program that can talk to XSEND and XRECV, passing binary files back and = forth. I'd like to be able to go for that final yard, though, and gain = the ability to edit RPL on the Mac without using those excellent SD card = translation routines you wrote. Reply by: Michael Heinz -- Apr 10, 2004 21:48:36 In article