turbo-ZX
ZXNet echo conference «real.speccy»
From Alexander Kormishin → To All 1 October 1999
Hello, k...@miee.ru!
09 Sep 99 k...@miee.ru addressed
All the following words:
k > I have a homemade ZX-128K, the diagram is closest to
k > Leningrad.
k > I saw somewhere that there is a very simple circuit
k > turbocharging
k > Leningrad on TM2+KP11.
k > Or at least explain in words how to correctly
k > generate
k > the WAIT signal so that it works (but the circuit is still
k > better).
Principle.
The idea is as simple as two pennies. When the processor tries to access memory, set -wait=0. We are waiting for the next memory access window. The window has arrived => do -wait=1. That's it.
The phase in which the window is located depends on the position of the clock,
-cas, -ras and the signal switching the address multiplexers from
the video controller to the Z80 and back (in Leningrad this is H1)
relative to each other.
The diagrams should show clearer.
For Leningrad:
╔═════════════════════════════ ══════════════════════════╗
· ┌───────┐ ┌───────┐ ┌───────┐ ·
H1·└───────┘ └───────┘ └───────┘ └──────·
· ┌───┐ ┌───┐ ┌───┐ ┌───┐ ┌───┐ ┒ H0·└───┘ └───┘ └───┘ └───┘ └───┘ └───┘ └───┘ ·
___·──┐ ┌───┐ ┌───┐ ┌───┐┌───┐ ┌───┐ ┌───┐ ┌·
RAS· └───┘ └───┘ └───┘ └───┘ └───┘ └───┘ └───┘·
·┐ ┌─┐ ┌─┐ ┌─┐ ┌─┐ ┌─┐ ┌─┐ ┌─┐ ┌─┐ ┌─┐ ┌─┐ ┌─┐ ┌─┐ ┌─┐ ┌·
Ft-7M·└─┘ └─┘ └─┘ └─┘ └─┘ └─┘ └─┘ └─┘ └─┘ └─┘ └─┘ └─┘ └─┘ └─┘·
__·--┐ ┌────────────────────────────────·
M1· └───────────────────┘ ·
_____·--──┐ ┌─────────┐ ┌───┐ ┌──·
CSRAM· └─────────────────┘ └───────┘ └───────┘ ·
____·--──┐ ? ? ? ┌─?───────────┐ ┌─?───────┐ ? ┌─?──·
WAIT· └─────────────┘ └─┘ └─────┘ ·
╚═══════════════════════════════════════════════════════ў
Ft-7M - это 7МГц с DD2:5
Знаком '?' помечены моменты, в котоpые Z80 тестиpует вывод
wait
В теоpии-то все пpосто, а на пpактике - сплошные глюки.
Бывают моменты, когда на считывание байта с шины у пpоцессоpа
остается пол-такта (а тактовая 7МГц).
И получается: если память тоpмозная - ловим глюки; если на
шине навешена туча доpаботок (да еще, бывает, любят их все по
своим коpобочкам и гнездышкам длиннющими шлейфами pазносить :)
- ловим глюки; если Z80 - тоpмоз или слабенький - опять ловим
глюки; если в заветных местах схемы сеpия ставилась по пpавилу
"на тобi, боже, що менi не гоже", опять глюки...
Здесь спасает буфеpиpование шин, установкаfast memory and
Z80, initially well-organized installation of modifications.
I hope the desire to turbo has already disappeared :)
There is another way - to remake the memory management circuit like the
Pentagon one, where the turbine is already in theory more reliable. The fee for
this
is speed in turbo mode.
k > P.S. Can someone else explain to me why my
k > sound constantly floats on the AY8910? Otherwise, my ear for music
k > suffers!
This happens with AY, when the Z80 operates at 7 MHz. It can be cured by assembling a
second shaper -wait, this time for ports. This AY, unlike the Yamaha, does not have time to grab data from the bus in turbo mode. Similar problems arise when the clock frequency of the music chip - AY - is increased above 1.75 MHz.
k > Kirill Petrenko (xk...@mail.ru)
Your Alexander.
From Kirill Frolov → To All 9 October 1999
01 Oct 99 20:16, Alexander Kormishin wrote to k...@miee.ru:
AK> The principle.
AK> The idea is as simple as two pennies. When the processor
AK> tries to access memory, set -wait=0. We are waiting for the next window to access
AK> memory. The window has arrived => do -wait=1. That's it.
Saaaaax!
You don't have to be a wiz here to understand that it's MORE EFFECTIVE
to play with the processor's clock frequency, and WAIT can be set to +5V altogether!
Only one problem arises acutely here:
AK> In theory, everything is simple, but in practice - complete glitches.
That's it. And very much so, since there is VERY little time left for reading
data. And the biggest problem here is with writing
, not with reading - it is always read, but when writing
you need to set /WE for the keys in advance. :-(
You can also not change the column number in the RU, if it coincides with
the previous one. And if you install the video memory on separate microcircuits, then
you can again speed it up a little. Finally, install 2 banks (every 1 byte)
and since most often the processor reads the bytes sequentially, you can again
gain a little in speed... IMHO, it’s possible to do 7 MHz completely without brakes
on handhelds. But why?
AK> There is another way - to remake the memory management circuit according to the type
AK> Pentagon, where the turbine is already in theory more reliable. The payment for
AK> is
AK> - speed in turbo mode.
Turbocharge computers assembled on h.z. anything (155,555,531 series
on one board) is useless. And when turbocharging it is necessary to redo
the circuits generating RAS, CAS, WE, H1, CLOCK, WRBUF. The way it was done in Leningrad will never work properly.
Kirill Frolov. [ZX]