Nп/п : 25 из 100
 От   : deon                                1:103/705         21 окт 25 17:41:58
 К    : Digital Man                                           21 окт 25 09:46:02
 Тема : ZModem                                                                 
----------------------------------------------------------------------------------
                                                                                 
@MSGID: 51997.dove-syncdisc@12:1/2 2d5d2c53
@TZUTC: 1100
 @PID: Synchronet 3.21a-Linux master/b7d3db6c3 Sep 28
2025 GCC 10.2.1
 @TID: SBBSecho 3.30-Linux master/88b423313 Sep 29
2025 GCC 12.2.0
@COLS: 80
@BBSID: ALTERANT
@CHRS: CP437 2
@FORMAT: flowed
@NOTE: FSEditor.js v1.105
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?
 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).
 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).
 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?
 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".
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.
 Any of this make sense? Is the difference due to implementation or
version or something else I havent discovered yet?
...ыюхя
---
 ■ Synchronet ■ AnsiTEX bringing back videotex but with ANSI
 * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
 SEEN-BY: 50/109 103/705 154/10 218/700 221/1
240/1120 280/464 301/1 113
 SEEN-BY: 341/66 463/68 712/848 5000/111 5001/100
5020/101 715 848 1042 4441
 SEEN-BY: 5020/12000 5030/49 1081 5060/900 5061/133
5075/128 5083/444
@PATH: 103/705 301/1 5020/1042 4441