Just a sample of the Echomail archive
Cooperative anarchy at its finest, still active today. Darkrealms is the Zone 1 Hub.
|    SYNCHRONET    |    Rob Swindell fetishistic worship forum    |    43,341 messages    |
[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]
|    Message 42,531 of 43,341    |
|    Digital Man to deon    |
|    ZModem    |
|    21 Oct 25 00:38:23    |
      TZUTC: -0700       MSGID: 55061.sync@1:103/705 2d5d4584       REPLY: 51997.dove-syncdisc@12:1/2 2d5d2c53       PID: Synchronet 3.21a-Linux master/88b423313 Sep 29 2025 GCC 12.2.0       TID: SBBSecho 3.30-Linux master/88b423313 Sep 29 2025 GCC 12.2.0       COLS: 80       BBSID: VERT       CHRS: CP437 2       FORMAT: flowed       NOTE: FSEditor.js v1.105        Re: ZModem        By: deon to Digital Man on Tue Oct 21 2025 05:41 pm               > Hey DM,        >        > Hoping you can help clarify something for me. I'm playing with zmodem source        > code.        >        > In a ZFILE frame, there are 4 bytes used for "flags", and I thought they        > were used as bits?              Flags (aka bit-flags) and bits are the same thing really. Those bits are used       to specify options. Chuck could've defined any special combination of those       bits to mean whatever you liked. :-)               > For ZF0, google AI certainly told me they were bits, but suggested that they        > are:        > Bit 0: LSZ_CONVBIN (Transfer in binary)        > Bit 1: LSZ_CONVCNL (convert new lines)        > BIt 2: LSZ_CONVRECOV (resume transfers).              Chuck's zmodem.h has these definitions for ZFILE's ZF0:              /* Parameters for ZFILE frame */       /* Conversion options one of these in ZF0 */       #define ZCBIN 1 /* Binary transfer - inhibit conversion */       #define ZCNL 2 /* Convert NL to local end of line convention */       #define ZCRESUM 3 /* Resume interrupted file transfer */              So that'd be:       Bit 0: Binary transfer       Bit 1: Convert news lines       Bit 0 and 1: Resume interrupted file transfer              Which I guess in that case means it's an 8-bit enumeration/integer, not a set       of bit-flags.               > However, looking at some old code, I see that the header files had them        > recorded as 0x01, 0x02, and 0x03 respectively,        >        > and the code I was looking at was setting ZF0 with        >        > ls_txHdr[LSZ_F0] = LSZ_CONVBIN [pipe] LSZ_CONVRECOV when sending a file.        >        > which doesnt make sense having 0x01 [pipe] 0x03, which equals 3, and bit 0        > and 1 are on (not bit 2).              I agree: probably just want to set it to LSZ_CONVBIN.               > So I went to google AI to help me understand, and it infact came back a        > similiar explaination (indicating ZF0 CONVRECOV is 0x03).        >        > So I looked at your zmodem code, and I see that you just set ZF0 to just        > 0x01.        >        > So is this a bug in the code I'm referencing? ie: LSZ_CONVRECOV should        > actually be 0x04 do you know, or are the flags actually treated as values?              It depends on the frame and (probably) which flag byte.               > Secondly, when looking at your code I was confused on how you are setting        > ZF1. It seems it could end up as either ZF1_ZMPROT 0x07, or ZM1_ZMCLOB 0x04        > or ZF1_ZMNEW 0x05 or ZF1_ZMCRC 0x02. IE: also "values".              Yeah, the low 7-bits of ZFILE's ZF1 appear to be an enum as well. The high bit       (bit 7) of ZF1 does appear to be a bit-flag however.               > The Google AI explanation for ZF1 is that it bit has a different purpose.        > 0x1 - make new name (ok that lines up when used with 0x04 and you have        > 0x05), but        > 0x2 - modify an existing file, and        > 0x4 - protect and existing file        > 0x8 - clobber a file.        >        > So your definitions for 0x02 and 0x04 differ, and makes no reference to a        > CRC bit.              My (zmtx's) definitions of those ZF1 values appears to match Chuck's zmodem.h,       so I trust those over any AI slop. :-)               > Any of this make sense? Is the difference due to implementation or version        > or something else I havent discovered yet?              I think a lot of these options/flags aren't checked on receive and you likely       can set or not set and have no ill effect. Experimentation is good, but also       look at Chuck's source code and the various ZMODEM docs (e.g. ht       ps://wiki.synchro.net/ref:zmodem) to try and make sense of it. AI probably       isn't going to give you accurate answers 100% of the time.       --         digital man (rob)              Breaking Bad quote #48:       I am not in danger, Skyler. I am the danger. - Walter White       Norco, CA WX: 65.2øF, 57.0% humidity, 0 mph WNW wind, 0.00 inches rain/24hrs       --- SBBSecho 3.30-Linux        * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)       SEEN-BY: 10/0 1 102/401 103/1 17 705 105/81 106/201 124/5016 128/187       SEEN-BY: 129/14 153/7715 154/110 218/0 1 215 601 610 700 840 860 880       SEEN-BY: 226/30 227/114 229/110 206 317 400 426 428 470 700 705 266/512       SEEN-BY: 280/464 291/111 301/1 320/219 322/757 342/200 396/45 460/58       SEEN-BY: 633/280 712/848 902/26 5075/35       PATH: 103/705 218/700 229/426           |
[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]
(c) 1994, bbs@darkrealms.ca