zx&hayes faq
ZXNet echo conference «real.speccy»
From Andrey Isaev → To All 28 January 1999
-----===== Cut line for file zx&modem.W =====-----
<─────────────────────────────── ───────────────────────── ───────────────────>
* Saved for posterity by Andrey Isaev
* Area: .NETMAIL
* From: Felix Knajzev 2:5030/529.13 14 Dec 98
* To: Andrey Isaev 2:5026/23.50
* Subject: Dickie
<───────────────────────────────────── ───────────────────── ─────────────────>
Greetings, oh venerable Andrey!
===================== start of faq#1 ===========
Area : HARDWARE.ZX
From : Felix Knajzev (2:5030/529.13)
To : Michael Kondratyev ≈ 2:5030/299.18@fidonet
Subj : modem installin'
Greetings, oh venerable Michael!
06-Aug-98 09:08 Michael Kondratyev sent a letter to World:
MK> after much thought and torment, finally attached his scorpion to
MK> an old snot with a slot. in the process
MK> one pattern was born, which I am going to report:
MK> - if in the area of the modem data bus there is nothing similar to a buffer
and
MK> it works unstable (it may not work at all, it may
MK> output floating values from the ports, it may not always
MK>write down what you need - the symptoms are different), then it makes sense
MK> to try to put your own buffer on the data.
MK> what kind of detail to use - can also be selected. in
MK> in my specific case, he refused 555ap6 and 580va86 -
MK> agreed only to 74ls245.
I don’t know how it is now, but there was a time when a lot of buggy _555_AP6 and _1533_AP6 were sold on the market. :( About two months ago I bought a Minskaya KP1533AP6 - it works well. I also installed a buffer on my SD: Motorola 74LS245 - it works great! i.e. not related IMHO to SHA overload (?) see below.
MK> I think it’s worth adding this thought to the connection diagram..
In general, I’ve been planning for a long time (as soon as my modem worked more or less normally) to write a small .FAQ in this echo about all the problems that “formed” when I connected
Hayes to the Spectrum. But because of my terrible laziness ;) - I put everything off “for later.” I think that everything stated below can help those who are going to connect a modem.
I would like to note right away that my modem (MX-2496, 2400/NONE) was far from perfect, and perhaps for this reason I had so many problemsproblem. I would like to note the active participation of Kirill Frolov
in resolving many controversial issues.
So, I’ll start in order:
Problem #1.
------------
Formed if the modem support program (your term
under iS-DOS) uses interrupts from it. (IRQ)
As it was when I first turned it on:
┌───────────────< IRQ4/B24 (IRQ from the modem)
│ KP_1533_(!)ЛH1
│1┌─┐2
└─┤1o─┐
└─┘ │ KP_1533_(!)ЛЛ1
│ 9┌──┐
└──┤1 │8 ___
10│ ├────────> B23/NMI (_direct_ to the 17th leg of Z80)
from>──────┤ │
TM2 └──┘
That is, as we see, everything is according to the standard connection diagram. By the way,
the MS series was not singled out by chance, this was precisely the problem!
So, with this inclusion, my modem “freezes” just terribly! :) In the terminal, a character _single_entered_ into the modem returned as an echo
without any problems. (if there was ATE1) That is We hold down some key and watch how the modem “duplicates” it with an echo. But, as soon as the modem sent a stream (a bunch of bytes at once), then everything was a disaster! The modem
"froze": did not respond with an echo. At the same time, there was an
eternal log on pin B24 of the modem. 1 (!) This was observed if we gave the AT&V command (output of modem profiles) I.e. instead of displaying a bunch of text on the screen,
only the beginning of the first line was printed: B1 E1 L2 M1 To get the modem out of the freeze,Only restarting the terminal helped.
What was done next:
┌───────────────< IRQ4/B24 (IRQ from the modem)
│ KP_1533_(!)ЛH1
│1┌─┐2
└─┤1o─┐
└─┘ │KP_1533_(!)ЛЛ1
│ 9┌──┐ K_155_(!!!)ЛH1
└──┤1 │8 1┌──┐
10│ ├─────┤& │3 ___
from TM2>──┤ │ 2│ ├─────> B23/NMI (_directly_ to the 17th leg of the Z80)
___ └──┘ ┌─┤ │
NMI>───────────┘ └──┘
from TR-DOS (“MAGIC”)
And everything worked! The modem stopped freezing! I did not try to put K555LI1 instead of
K155LI1, because... I simply didn’t have it.
Problem #2:
------------
Some symbols echoed back not just once, as expected, but a lot (some even filled several lines).
The symbols especially “rattled”: i, y, h,_ (only in this register!)
“Treated” for a very long time. :( At the same time, the modem completely refused to accept files with XModem, although everything was OK with the transfer. When working with the BBS, approximately like this:
"...Thyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy..." :) That's how it "worked" at first!
How to "treat":
------------
a) We put a buffer between the data bus and the modem. (I “agree” with
you that imported 74LS245 work better than our 555AP6)
So, how to connect the buffer:+5Bo
K555AP6 ┌──────┴┐
__ ┌─────────┐Scorpion (74LS245) │8R x 10K│ modem
B18/RD LL1 │13┌──┐11 │┌──┬─┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬ >───────────o───────1 ├─ ││D0│b6 ├─>─2┤A0│BF│B0├18─o┼┼┼┼──>│a9 │D0│
____ 12│ │││D1│b7 ├─>─3┤A1││B17──────────────── 1┌──┐3 ┌─┤ │ ││D2│b8 ├─>─4┤A2│ │B2├16───o┼┼┼┼──>│a7 │D2│
>───────┤1 │ │ └──┘ ││D3│b11└─>─5└A3│ │B315───────>│a6 │D3│
A24/A4 2 ├──o───────┐││D4│b12├─>─6┤A4│ │B4├14─────o┼┼┼──>│a5 │D4│
>───────┤ │ │4┌──┐6 │││D5│b10└─>│7┤A5│ │B5├13─────────>│└
__ └──┘ └└┤1 ├─ │││D6│b9 ├─>─8┤A6│ │B6├12───────o┼──>│a3 │D6│
B19/WR LL1 5│ │ │││D7│b3 ├─>─9┤A7│ │B7├11───────>││││││││ - after bufep, because
in me it (bufep) still "clicks" kontpollep TR-DOS (I don't
Scorpion) and without "push-ups"when _reading_ from VG93, sometimes unreliable data came up.
b) If even after this upgrade the symbols still “rattle” a little,
then we do this: (“We “delay” the addresses going to the modem: we install
_another_ microcircuit KP_1533_(!)LL1)
1┌──┐
A8>─────┤1 │3 ┐
Z80 2│ ├──> A31│
┌──┤ │ │
│ └──┘ │
│ 4┌──┐ │
A9>──┼──┤1 │6 │
Z80 │ 5│ ├──> A30 > On modem
o──┤ │ │
│ └──┘ │
│ 9┌──┐ │
A10>──┼──┤1 │8 │
Z80 │10│ ├──> A29│
o──┤ │ ┘
│ └──┘
▀▀▀
It is advisable to install KP1533, because You need to “delay” just a little bit (for me, the “blinking” disappeared _completely_ if
I “hung” a 10pF capacitor (!) between (for example) contact A29
of the modem and the common wire.
So, after all these “perversions”, from which, on the first
look “smacks” of shamanism :) - the modem worked (almost)!
And one more thing. Now about the loss of bytes :) ("knocking out" characters) from the modem. As it has already turned out, the problem is that the modem does not understand when it is “told” RTS=0. It seems to me (and others) that all MX-2496 fax modems suffer from this glitch(2400/NONE).
:( The bytes began to disappear 50% less after the next (how many
is it possible!? :) modifications:
Using jumpers or jumpers on the modem we set the work to
_COM2_(!). Then we disconnect pin A23 of the modem (see connection diagram) from +5B (or from the resistor with which it (the contact) was “pulled up” to +5V. We supply the A4 address from Z80 to pin A23 of the modem.
Wow! That's it! Area : HARDWARE.ZX
From : Felix Knajzev
To : All
Subj : Once again about ZX+Hayes
Greetings, oh venerable All!
Here, I want to share more information that appeared in
in connection with the subject.
As I already wrote, I have a buffer on The modem (74LS245) also “rocks” the TR-DOS controller board. There is space on it (the board) for the AP6 buffer (socket), but I had jumpers there, because
the AP6 switching circuit in the controller was made unsuccessfully, :(
and with the buffer the board It was terribly buggy! When all the experiments with the buffer for the modem were completed (that is, in the “rough” wiring everything worked fine), I decided to use this empty panel for a buffer for both the controller and the modem. So, the result was this:
+5Bo
K555АП6 ┌───────┴┐ Hа модем
__ ┌─────────┐ ШД ZX (74LS245) │8R x 11K│ + TR-DOS
B18/RD 1533ЛЛ1 │13┌──┐11 │┌──┐ ┌──┬──┬──┐ └┬┬┬┬┬┬┬┬┘ ┌──┐
>─────────────o──┤1 ├─ ││D0├─>─2┤A0│BF│B0├18─o┼┼┼┼┼─>│D0│
____ 1533LL1 12│ │ ││D1├─>─3┤A1│ │B1├17───>│D1│
B17/IORQ 1┌──┐3 ┌─┤ ││D2├─>─4┤A2│ │B2├16───o┼┼┼┼──>│D2│
>───────┤1 │ │ └──┘ ││D3├─>─5┤A3│ │B3├15─────────>│D3│
A24/A4 2│││D4├─>─6┤A4│ │B4├14─────o┼┼──>│D4│
>───────┤ │ │4┌──┐6 ││D5├─>─7┤A5│ │B5├13────────>│D5│
__ └───││││D6 │B6├12───────────>│D6│
B19/WR │5│ │ ││D7├─>─9┤A7│ │B7├11────────o─>│D7│
>───────────────└└──
555LL1└───────────────└ │+U├20─o+5B
│1┌──┐3 1┌──┐3 4┌──┐6 ├──┤ ├──┤
1533LH1└─┤1 ├───┤& ├───┤& ├─19oOE│ │0V├10─┐
/M1 1┌─┐22│ │ 2││││ ▀▀▀
>──────┤1o──┤ │┌──┤ │ ┌┤ │
/DOS_PORT└─┘ └──┘│ └──┘ │└──┘
>───────────────┘12┌──┐11│ 155ЛИ1
>──────────────────┤& ├──┘(все тpи él-ta)
/CS_DOS_ROM(27128) 13│ │
>────────────────────┤ │
/DOS_7FFD └──┘
I didn't accidentally vydelil sepii MS, t.k. from thisa lot depends! Of course, it was possible to install everything from one series (1533, for example), but they installed “what was”, and also used free elements left over from other upgrades.
That is. The diagram shows that all /CSs from the elements that need a bus “flock” onto the /CS buffer. Just for fun, I installed
/M1 on the modem port, although this is not at all necessary! Signals: /DOS_PORT, /CS_DOS_ROM, /DOS_7FFD - these are internal signals of the TR-DOS controller. By the way, with such buffer management, the TR-DOS controller began to work perfectly! And the computer itself is even
more “glitch-free” ;) (the load on the SD
Z80 has significantly decreased!)
I used resistors to “pull up” the +5V bus after the buffer, otherwise
without “pull-up” when _reading_ from the VG93, sometimes unreliable
data would come through. (especially if there was a lot of #FF in the file when _reading)
With this switched on, the modem worked for me for quite a long time. And I must say - he worked well! (Melon_v1.79a, Me-
lon_v1.80s, MK iS-DOS terminal [/NMI used, XModem only])
And so I got DALLAS (Real-time CMOS-chip) “for free”. :) I decided to connect it a la Scorpion. (#FFF9, #FF79, TR-DOS's
ports place)
I connected the clock data bus _after_ the buffer (i.e. +another
load, without loading the SDZ80), having finalized the scheme for the formation of
/CS-s for it:
555ЛЛ1 155ЛИ1 155ЛИ1
│1┌──┐3 1┌──┐3 4┌──┐6
1533ЛH1└─┤1 ├───┤& ├───┤& ├─> To the 19th leg of the buffer.
/M1 1┌─┐22│ │ 2│ │ 5│ │
>──────┤1o──┤ │┌──┤ │ ┌┤ │
/DOS_PORT└─┘ └──┘│ └──┘ │└──┘
>───────────────┘ 3┌──┐6 │
>──────────────────┤& ├──┘
/CS_DOS_ROM(27128) 4│ │
>──────────────────┤ │
/DOS_7FFD 5│ │
>──────────────────┤ │
/CS_DALLAS └──┘
555LI3
And here the glitches began! :( And _only_ the modem was buggy!
TR-DOS and DALLAS worked perfectly! The modem in _command_ mode
worked perfectly: in Melon the letters did not “knock out” and they did not “jerk”, in iS-DOS, in the terminal with /NMI - also OK (!) That is, even the characters in it _almost_ were not "knocked out"! The same situation happened when working with BBS: while all sorts of menus were popping up on the screen, everything started to glitch as soon as it came to _receiving_ the file(s) It doesn't matter what protocol in Melon. ZMo-dem, sometimes, right during the reception, the message would appear: “Loss of synchronization” :( The data from the buffer was dumped onto the disk and EVERYTHING was stuck! :( You have to “until you’re blue in the face” :) press Ctrl-X to abort!transmissions on the other side. Before installing DALLAS, _this_didn't happen_!
The glitches disappeared completely if _removed_ DALLAS from the panel.
Forced transfer of DALLAS to "Z" (13th leg at +5B) - also
didn't _give_anything_(!)
Why did I write all this? It just turns out that Hayes is extremely sensitive to even a small mismatch (phase) of signals not on his bus! After all, DALLAS, connected after the buffer, represented only an additional _capacitive_ load! (IMHO) But why couldn’t the buffer installed in the modem (74F245)
pump up this _frail_ additional load?!
I decided to leave DALLAS and put my own separate buffer on the modem. Those. another 74LS245. (Actually, that’s how it was turned on during the initial experiments ;)
But, damn it, as soon as I connected it, the bytes in the
_iS-DOS_terminal_ were blown out - just terrible! :( And also a _small_ rattling of symbols appeared, which I had been getting rid of for so long. :( Only_ symbols were rattling: "I" (code #EF), "o" (code
#6F), "(c)" (copyright icon, code #7F), "_" (code #5F). Echo of the modem returned not one character, but _at most_ two, and then this happened _extremely_ rarely_. But I seem to have found the reason for the "knocking out" (hardware)!So, how it’s done _now_ for me:
__ ┌─────────┐ SD ZX 74LS245 On modem
B18/RD 1533LL1 │13┌──┐11 │┌──┐ ┌──┬──┬──┐ ┌──┐
>─────────────o──┤1 ├─ ││D0├─>─2┤A0│BF│B0├18────>│D0│
____ 1533LL1 12│ │ ││D1├─>─3┤A1│ │B1├17────>│D1│
B17/IORQ 1┌──┐3 ┌─┤ │ ││D2├─>─4┤A2│ │B2├16────>│D2│
>────────┤1 │ │ └──┘ ││D3├─>─5┤A3│ │B3├15────>│D3│
A24/A4 2│ ├──o1533LL1 ││D4├─>─6┤A4│ │B4├14────>│D4│
>────────┤ │ │4┌──┐6 ││D5├─>─7┤A5│ │B5├13────>│D5│
__ └──┘ o─┤1 ├─ ││D6├─>─8┤A6│ │B6├12────>│D6│
B19/WR │5│ │ ││D7├─>─9┤A7│ │B7├11────>│D7│
>──────────────┼─┤ │ │└──┘ ├──┤ ├──┤ └──┘
┌────┘ └──┘ └───────1┤T │ │+U├20─o+5B
│1┌──┐3 ┌──┐R1* ├──┤ ├──┤
1533ЛH1└─┤1 ├───┤//├───o────19oOE│ │0V├10─┐
__ 1┌─┐22│ │ └──┘ │C1* └──┴──┴──┘ ▀▀▀
M1>──────┤1o──┤ │ 100 ─┴─240pF
└─┘ └──┘ ─┬─
555LL1 │
▀▀▀
How to configure R1/C1:
Load the iS-DOS terminal. In command mode, we begin to display something “big” on the screen, for example, AT&V. Instead of R1 we install a tuning resistor. (Rmax=150-300 Ohm) Turn R1,
simultaneously outputting a dump and monitoring"knocking out" characters. There will definitely be a moment when the bytes stop disappearing, or almost stop.
The iS-DOS terminal knocks out more characters than Melon,
that’s why it was chosen as “for setting”. In Melon, I have
no characters disappearing at all!
Unfortunately, this circuit _almost_ does not affect the “bounce” of the symbols.
RESULTS:
------
For three days now I have been successfully downloading mail with ZModem in Melon.
The message “Loss of synchronization” has never appeared appeared! :))) XMo-
dem in iS-DOS works like a charm. :)))
The symbols I listed above _very_rarely_ rattle, but
this does not interfere with the normal reception of files! I haven't tested the ZModem by MK
receiver under iS-DOS (new) yet, but I think it won't work again... :(((((
======= end of faq#2 =============================
Sincerely, Felix !
-+- iS-EDIT 5.05+
+ Origin: CONNECT 2400/NONE (2:5030/529.13)
-----===== Cut line for file zx&modem.W =====-----
---───══════════════╡ Best regards, Andrey ╞══════════════────--