And again hayes...

ZXNet echo conference «real.speccy»

From Alex Shashkevich To All 9 December 1999

Greetings, All!
Wouldn't mind chatting about "And again haes..."?

Here's the thing... I have a layout of haes ports and I even wrote
a driver on which I could even connect with bbs... :) But the trouble is that
the work of the driver is reminiscent of digging up a garden with TNT. :) For example, I would like to know how to determine that the remote terminal is sending a block of data, and not a single character, how to determine that the block has arrived to the end (i.e., whether there is a Mazda on the line and the modems cannot agree right in the middle of the block), how to humanly hang up (otherwise I cut off DTR for half a second :). And in general
it wouldn’t be bad to have a complete algorithm of work... Well, how can you do the task? :) Or I won’t find
knowledgeable people here? ;)

Good luck All! We'll get away again!
Sincerely, Priest from Energy Minds!
It happened on Thursday, December 9, 1999.

... Energy Minds from Freedom & X-Project. Sinclair generation.

From Kirill Frolov To All 12 December 1999

Press RESET immediately, Alex !

09 Dec 99 18:46, Alex Shashkevich wrote to All:

AS> For example, I would like to know how to determine that the remote
AS> terminal is sending a block of data, and not a single character, how to determine that
AS> the block has arrived to the end,

Modems work with a byte stream, not blocks (like MacroMustDie).

AS> they can come to an agreement right in the middle of the block)

They can. But not on X-Modem, but everything there is based on timeouts.

AS> how humanly to hang up (otherwise I cut off DTR
AS> for half a second :).

Well, it’s possible for 1/100..1/10 of a second, probably...

AS> And in general, the full algorithm of work would not be bad...

What? You push bytes there, but they come out the other end.

AS> Well, how can you handle the task? :) Or I won’t find knowledgeable people here? ;)

First, understand what you want.

Kirill Frolov. [ZX]


From Eudgine Palenock To All 12 December 1999

Hello, Alex!

09 Dec 99 18:46, Alex Shashkevich -> All:

AS> how to hang up like a human being
AS> (otherwise I cut off DTR for half a second :).

Exactly so. It's reliable.

With respect, Evgeniy aka EVP.


From Kirill Frolov To All 13 December 1999

EP> Exactly. This is reliable.

Hekotops want +++.


Kirill Frolov. [ZX]


From Evgeny Milun To All 14 December 1999

Hello Alex !

Thursday December 09 1999 18:46, Alex Shashkevich ─── All:

AS> the trouble is that the driver's work resembles digging up a garden with TNT.
AS> :) For example, I would like to know how to determine that the remote terminal is sending
AS> a block of data, and not a single character,
Don't understand? What kind of blocks are you talking about? File transfer blocks?
And first of all, what do they have to do with Hayes? Secondly, what,
the dockets according to the protocols have already been cancelled? Thirdly, the mechanisms and principles of timeouts
no longer apply?

AS> how to determine that a block has arrived to the end,
Which block? What protocol?

AS> (i.e., didn’t a Mazda happen on the line and the modems can’t agree
AS> right in the middle of the block)
_WHAT DOES IT MAKE A DIFFERENCE TO YOU? Are you aware of the seven-level model? What's the difference between the application level and what's going on at the physical and channel level?

AS> how to hang up the phone like a human being (otherwise I cut off DTR for half
AS> a second :).
This is either sending three pluses.

From Evgeny Milun To All 14 December 1999

KF> They can. But not on X-Modem, but everything there is based on timeouts.
Actually, any self-respecting protocol uses a timeout, otherwise in
some situations it will simply hang itself...

From Evgeny Milun To All 14 December 1999

Good luck! Evgeny. (Aka 2:5057/18.73)

■ The night is shorter than the day... The day will kill me... The world of illusions burns down in it. (C) Aria.


From Alex Noman To All 15 December 1999

How are you, Alex?

Thursday December 09 1999 18:46, Alex Shashkevich wrote All:

AS> Here's the thing... I have a layout of haes ports and I even kind of
AS> wrote a driver on which I could even connect with bbs... :)
AS> But the trouble is that the driver's work resembles digging garden
AS> TNT. :) For example, I would like to know how to determine that the remote
AS> terminal is sending a block of data, and not a single character, how to determine that

I don’t quite understand what you mean...

AS> the block has arrived to the end, (i.e., is there a problem on the line and the modems
AS> may not conspire right in the middle of the block) how to hang up
AS> like a human being (otherwise I I cut off DTR for half a second :).

In general, I think it’s _correct_ to do it this way. Modems are divided into 2
categories: those that hang up when the DTR is disconnected, and those that do not
do this, respectively. Therefore, this is where the algorithm comes from: we cut off the DTR
and within 10-25 frames we analyze whether the DDT is missing. If it disappears, then we exit
the subroutine. If not, then we wait another H seconds (by default - 3 (sort of), but
depending on the settings it can be anything) minus these 10-25 frames. Sends an
iscape sequence and gives ATX0. That's all, actually. Oh, well, after
pluses you also have to wait H seconds.

AS> And in general it wouldn’t be bad if the full algorithm of work... WellHow can I do the task?
AS> :) Ali, I can’t find knowledgeable people here? ;)

There are a couple of people left who know about this. These are mainly the authors of connection diagrams
and terminals.

AS> Sincerely, Priest from Energy Minds!

Regards, Alex Noman.


From Kirill Frolov To All 16 December 1999

EM> In fact, any self-respecting protocol uses a timeout,
EM> otherwise in some situations it will simply hang itself...

Well, that’s true, I had something else in mind - X-MODEM cannot understand where its
block begins, if it throws an error on the direction data after each
one (two), then the attempts will end immediately, so you have to wait for a timeout.

AS>>> how to hang up the phone in a human way (otherwise I cut off for half a second
AS>>> DTR :).

From Kirill Frolov To All 16 December 1999

EM> _YOU_ WHAT DOES IT MAKE A DIFFERENCE? Do you know about the seven-level model?

What kind of model is this? There is an MMD there and it works without any models.

EM> What is the difference between the application level and what happens at the physical
EM> and channel level?

There is, however.

From Evgeny Milun To All 19 December 1999

AS>>>> how to hang up the phone like a human being (otherwise I cut off the phone for half a second
AS>>>> DTR :).
KF>>> Well, it’s possible for 1/100..1/10 of a second, probably...
EM>> Standard three pluses - no longer possible? :)

From Evgeny Milun To All 19 December 1999

AS>>> TNT. :) For example, I would like to know how to determine that
AS>>> the remote terminal is sending a block of data, and not a single character,
EM>> I don’t understand? What kind of blocks are you talking about? File transfer units
EM>> ? And firstly, what do they have to do with Hayes?

From Kirill Frolov To All 20 December 1999

EM> Why? DTR is an optional action, but three pluses are standard. What does this have to do with a landfill?

Who needs such momeds now?

Kirill Frolov. [ZX]


From Kirill Frolov To All 20 December 1999

EM>>> physical and channel?
KF>> Yes, however.
EM> Absolutely none. By definition! The task of the application level does not include checking the state and speed of the connection...

But not in the Macro Modem! Don't you believe it? Well, read the help from MMD 4.00.

From Evgeny Milun To All 20 December 1999

KF> And who needs such momeds now?
Hmm... And this, after all, is turned on/off by standard AT commands. :)
I.e. do you want to say that “who needs modems that have a standard set of commands”? Or do you want to say - “Who needs modems that don’t allow you to flash your own settings into flash/ROM?” :)

From Evgeny Milun To All 20 December 1999

KF> Not in the Macro Modem! Don't you believe it? Well, read the help from MMD 4.00.
I don’t care about the help! This is where you first begin to understand what a “model of network interaction of open systems” is. And then, refer to some
helps... Or maybe the help to MMD has now become one of the literary sources
on network theories?

From Kirill Frolov To All 20 December 1999

EM> Hmm... And this, after all, is turned on/off by standard
EM> AT commands. :) I.e. do you want to say that “who needs modems
EM> having a standard set of commands”? Or do you want to say - “Who
EM> needs modems that do not allow you to flash your own settings
EM> into flash/ROM?” :)

No. I want to say that no one needs momeds that do not turn off
when DTR is lost. And in which this cannot be changed in the setup. Yes, I generally
doubt
that such modems exist.

Kirill Frolov. [ZX]


From Kirill Frolov To All 20 December 1999

KF>> read it.
EM> I don’t care about the help! This is where you first read what the “
EM> model of network interaction of open systems” is. And then, refer to
EM> some help... Or maybe the help to MMD has now become one of
EM> literary sources on network theories?

And MMD must necessarily work as it is written in network theory?

Kirill Frolov. [ZX]


From Aleksandr Majorov To All 20 December 1999

KF> Not in the Macro Modem! Don't you believe it? Well, read the help from MMD 4.00.

come on - come on, give me evidence!
There is not a word about the model in the help!
This is fucking unnecessary in the help.
And all seven levels are present, maybe not quite clearly (for you :)

Well, that's all *MAS* with sledgehammer


From Alex Shashkevich To All 21 December 1999

EP>> That's right. This is reliable.
KF> Some people want +++.

In my opinion, not “some”, but all... :)

Good luck Kirill! We'll get away again!

From Alex Shashkevich To All 21 December 1999

However, there is another way: send "+++", wait for "OK" to appear and then
send "ATH0"... :) It also works. And throwing DTR may not help if one S register contains "DTR ignore". Maybe there is a faster way than
"+++"?

Good luck Eudgine! We'll get away again!

From Anton Kriwoshea To All 21 December 1999

Well, excuse me... Because of the term, take a new modem %-/

Good luck to you, Kirill Frolov!
Anton Kriwoshea aka $k1v/M7H (orp.'99.
[Esoteric] [Perfectum armata] [J.M. Jarre]

From Evgeny Milun To All 22 December 1999

KF> No. I want to say that no one needs momeds that are not
KF> cut off when DTR is lost.
Damn, stop slowing down... ANY modem can be transferred to this state
because. THIS IS ONE OF THE STANDARD CONDITIONS OF _ANY_ Hayes-compatible modem!

KF> And in which it cannot be changed in the setup.
This CHANGES FOR EVERYONE. And everyone is put in a default state. The whole
question is how it is initially in the “factory settings”...

From Evgeny Milun To All 22 December 1999

KF> No. But in haes you can mix 2 blocks into a pile, and then you can’t separate them back
KF>!
Uh... I didn’t understand something. By default, any program working with a modem works with a _stream_ of data (i.e., with a sequence of bytes arriving at an arbitrary time, in an arbitrary quantity). The division into data blocks takes place at a higher level than the modem itself... Am I confusing something?

From Kirill Frolov To All 23 December 1999

21 Dec 99 22:43, Alex Shashkevich wrote to Eudgine Palenock:

AS> then send "ATH0"... :) It works too. And throwing DTR may not
AS> help if one S register contains “DTR ignore”. Maybe there is
AS> a faster way than "+++"?

Yes - a hardware reset !

Kirill Frolov. [ZX]


From Kirill Frolov To All 23 December 1999

KF>> you can’t separate it back!
EM> Uh... I didn’t understand something. By default, any program that works with a
EM> modem works with a _stream_ of data (i.e., with a sequence of bytes
EM> arriving at an arbitrary time, in an arbitrary quantity). The division
EM> into data blocks takes place at a higher level than the
EM> modem itself... Am I confusing something?

You are confusing. When MMD or EMS transmits a block of data of a certain length,
the remote computer will always receive from the driver the same block, the same
length. It will never be divided into 2 blocks and 2 blocks will not merge into one.

Kirill Frolov. [ZX]


From Roman Milukov To All 23 December 1999

KF> No. I want to say that no one needs momeds that are not cut off
KF> when DTR is lost. And in which this cannot be changed in the setup. Yes, I generally
KF> doubt
KF> that such modems exist.

And there are modems that, when you try to reset it with DTR while dialing
a number, hang up tightly, right up until the power is completely turned off. There's such a glitch in them. Otherwise, very good modems - USR Sp14400 on TMS. You just need to handle them correctly. Therefore, in normal soapers the user is given the opportunity
to enter the line for hanging the pipe.


All the best.
Sincerely Roman.


From Leonid Mishankov To All 24 December 1999

AS>> then send "ATH0"... :) It works too. And throwing DTR may not
AS>> help if one S register contains “DTR ignore”. Maybe there is
AS>> a faster way than "+++"?

From Alex Noman To All 24 December 1999

Some modems do not have this signal. But I have no doubt that you
will suggest clicking the power.

KF> Kirill Frolov.

With respect, Alex Noman.


From Kirill Frolov To All 24 December 1999

Press RESET immediately, Leonid!

24 Dec 99 01:14, Leonid Mishankov wrote to Kirill Frolov:

LM> You're wrong, on some Sportsters the hardware reset is sometimes
LM> ignored, and the modem doesn't even disconnect.

External modems don't care either :-( Well then turn off the power, and then
turning on. I know that there are modems that, after 2-3 dialings of the number, say
wait half an hour... :-( ) It turns out that this was done specifically for Germany.
Well, for these modems, only turning off the power helps, or you have to
wait half an hour.

Kirill Frolov [ZX]


From Evgeny Milun To All 24 December 1999

Hello Kirill !

Thursday December 23 1999 01:45, Kirill Frolov ─── Alex Shashkevich:

AS>> then send "ATH0"... :) It works too. And throwing DTR may not
AS>> help if one S register contains “DTR ignore”. Maybe there is
AS>> a faster way than "+++"?

From Kirill Frolov To All 25 December 1999

AN> Some modems do not have this signal. But I have no doubt that
AN> you will suggest clicking the power.

Ha-ha... Some people do that, I already suggested...

Kirill Frolov. [ZX]


From Evgeny Milun To All 25 December 1999

KF> You're confusing. When MMD or EMS transmits a block of data of a certain
KF> length, the remote computer will always receive from the driver the same
KF> block, of the same length.
Also, due to a timeout, it may not receive anything... Or, receive a block
larger or smaller in size.

KF> It will never be divided by 2 blocks and 2 blocks will not merge into one.
No, Kiril, let's put this conversation to rest. A ? I see that you don’t understand anything about the theory of telecommunications, and therefore I simply don’t see how I can continue to answer your phrases without resorting to profanity...

From Alex Noman To All 27 December 1999

How are you, Evgeny?

Friday December 24 1999 23:52, Evgeny Milun wrote Kirill Frolov:
EM> Which:

EM> not from old age / modem news). 2) As a rule, it is started in parallel
EM> with the “Reset” signal of the computer itself...

I don’t even have it turned on. You just need to _cut_ off the power.

EM> Good luck! Evgeny. (Aka 2:5057/18.73)

With respect, Alex Noman.


From Kirill Frolov To All 28 December 1999

EM> No, Kiril, let's put this conversation aside. A ? I see that you don’t understand the theory of telecommunications at all, and therefore I simply don’t see
EM> how I can continue to answer your phrases without resorting to abnormal
EM> vocabulary...

Listen, if you haven’t seen anything except your IBM-PC and don’t want
to see if you think that your point of view may be the only one, even
if it is wrong, and you want to shake your imaginary knowledge
everything is useless here.

Take ZX-FORMAT #6 - there is the source code for the modem driver (C) MAS for MMD,
it is written in sufficient detail how it functions.

I disassembled This driver rewrote most of the code and I know perfectly well how it can work.

Any block of data is first supplemented with several zeros, a marker
of the beginning of the block and a 16-bit block length. The number of zeros is selected depending
on the current speed so that their transmission time is ~20ms.

The receiving computer first waits only for the pilot tone - a sequence
of zeros. Based on the frequency of the signal (meander or sine exactly) it determines the current
speed and starts reception. Having waited for the first non-zero bit, the receiver
counts another 7 bits and receives a start marker; if it does not match, an error occurs.
After the block start marker, 16 bits of length are read and entered into the counter,
then bytes are received (from 7 to 0 bits) and the counter is reduced to 0.
If the signal is lost and the counter does not count to 0, there is an error and it is considered that
nothing has been received.

Two blocks here cannot be united in any way. There is half-duplex communication and
there is no _continuous_ signal carrier. And the driver for EMS uses
RLE data compression.

After accepting any data block, the driver necessarily crashes into
MMD (or EMS) and does not combine anything. MMD or EMC also process
data in blocks, with the exception of the terminal - everything is really
summed up there. But the file transfer protocol cannot allow changes
to the block length; there it is specially checked. And only by the length
of the block does X-MODEM differ with a block length of 128 or 256 bytes.

Kirill Frolov. [ZX]


From Evgeny Milun To All 30 December 1999

RM> And there are modems that, when you try to reset it with DTR while
RM> dialing a number, hang up tightly, right up until the power is completely turned off.
RM> There is such a glitch in them. Otherwise, very good modems - USR Sp14400 on
RM> TMS's. You just need to handle them correctly. Therefore, in normal
RM> soapers, the user is given the opportunity to enter a line for hanging a
RM> pipe.
Hmm... Why were you silent before? In my C-Terminal, first
DTR is cut off, then if the connection is not lost, three pluses and a user line are displayed...
Make DTR cut off optional?

P.S. By the way, version 2.0, with macros, is almost ready. ;)))

From Evgeny Milun To All 30 December 1999

KF> Listen, if you haven’t seen anything other than your IBM-PC and don’t
KF> want to see,
Listening, when the theory that I keep referring to was created, the IBM PC
didn’t even exist yet. And any computer takes up a lot of space and was a set of
cabinets...

KF> if you think that your point of view may be the only one,
Yes! Yes, I, as a person with education in this area, believe that
in this case my point of view is the only correct one.

KF> even if it is wrong,
Refute it! So far, everything you said: (a) confirms my words; (b)
well shows that you don’t understand anything about this...

KF> and you want to shake your imaginary knowledge, everything is useless here.
:)))) Kiril, I’ll tell you a secret, here in Samara they want to organize a
party... Come, and I’ll show you both my diploma and my telecommunications
programs (though not Spectrum ones). Yeah?

KF> I disassembled this driver and rewrote most of the code and
KF> I know perfectly well how it can work.
But that means you don’t know anything. If you contradict yourself...

KF> Any data block is first supplemented with several zeros, a marker
KF> of the beginning of the block and a 16-bit block length. The number of zeros is selected
KF> depending on the current speed so that their transmission time is~20ms.
Ok. The lower levels are channel and physical.

KF> The receiving computer initially expects only the pilot tone --
KF> a sequence of zeros. Based on the signal frequency (meander or sine exactly)
KF> determines the current speed and starts reception. Having waited for the first non
KF> zero bit, the receiver counts another 7 bits and receives a start marker, if
KF> does not match - an error.
Channel level of the receiving side....

KF> Two blocks here cannot be combined in any way.
On the channel? Maybe. And on the representative/application ?

KF> There is half-duplex communication and there is no _continuous_ signal carrier.
That is. speaking in terms of the theory of telecommunications that you don’t like so much (which is an accomplice of the PC) - asynchronous communication? Very good. By the way,
usually on not very noisy lines it is almost the best
option.

KF> And in the driver for EMS, RLE data compression is also used.
The transport level is to ensure reliable and efficient transmission.

KF> of block length, there it is specially checked. And only by the length of the
KF> block does X-MODEM differ with a block length of 128 or 256 bytes.
Yes?! Well, then everything is running.... Firstly, the XModem protocol does not have a standard of 256-byte blocks. Either 128 (XModem), or 128 and 1024 (Xmodem-1K).
In any case, there is a header before the block, definitelydefining how many
byte block... Maybe you are talking about something else?

P.S. No, well, let's change it up, shall we? :)

From Max Shashkin To All 30 December 1999

Greetings, Evgeny

Evgeny Milun and Roman Milukov were arguing on the topic And again haes..., and so I couldn’t resist and say

EM> P.S. By the way, version 2.0, with macros, is almost ready.
EM> ;)))
as an official Beta tester of S-Terminal, I declare - it’s cool and in my opinion
it’s not buggy at all

With best wishes, Max Shashkin. You can also write to zxsh...@mail.ru


From Kirill Frolov To All 3 January 2000

22 Dec 99 16:47, Alex Shashkevich wrote to Evgeny Milun:


AS>>> how to determine that a block has arrived to the end,
EM>> Which block? What protocol?
AS> Because. it was written about MMD, then x@r knows what protocol! :)

X-MODEM crossed with a hobeta...

From Evgeny Milun To All 4 January 2000

AS> And after +++ the momed is switched to command mode. So you need to send
AS> also ATH?
Yes. You can also use DTR, but this, as I already wrote, will only work if
at the moment the modem is in the “Normal DTR operation” mode.

AS>>> And in general, the full algorithm of work would not be bad...
EM>> Sorry, but you’ve already asked about all this so many times,
AS> Maybe they answered me until I lost my pulse, but I don’t think so
AS> I saw... Maybe the mail doesn’t arrive?
If so, then sorry.

AS> And if it’s a waste of time, then there’s no need to explain...
The point is whether it’s a scrap or not. The fact is that I see two things:
1) Everything needs to be explained to you from scratch, and this is about 40-50 academic hours of institute lectures and practical classes.
2) You completely ignore the echoes that specifically exist to
help people like you.

AS> today, you yourself understand everything, so it will continue like this I will...
You are already in fact at a dead end... Then you can't go much further...

AS> And if someone asks me for advice, I'll just turn my back too...
Yes? OK. Tell me your normal physical address, I will try to send you my notes on network theory. And also those books that I myself read. Yeah?

AS> it was enough to describe the operation of the device, not the entire program." Hold the lamer
AS>?..Nu-nu...
Don't hold it. You make yourself look like that. Sorry, but I know better.

AS> Good luck Evgeny! Let's get away again!
Good wishes... Of course, you never tried to write to me with soap...

From Alex Shashkevich To All 4 January 2000

AS>> may not help if one S register contains "DTR
AS>> ignore". Maybe there is a faster way than
AS>> "+++"?