┌---------------------------------------┐
│░░░░░░░░░░░░░ Metallurgy ░░░░░░░░░░░░░░│
└---------------------------------------┘
(C) Micruho-Maklaj PHN (017) 223-24-15
Hello to all users of the most powerful
computer ZX-SPECTRUM. This article in
mainly dedicated to happy owners
unit called"BALTIC", in it I
I'll try to tell you how
expand your computer's memory to
▄▄▄▄▄▄ ▄ ▄▄▄▄▄ /█
│█────/ ▄▀█ └────/█ │█
│█▄▄▄▄ └─/█ │█ /█ │█
└────/█ │█ ▄▀▀ │█┌▄▀ │█▀▀▀▄
│█ │█ ▄▀ │██ │█──/ █
/█▄▄▄▄▀ ▄▄█▄▄ │█▄▄▄▄█ │█ ▀▄ │█▄▄▄▀ ▄
└────/ └────/ └─────/ └─ └─ └───/ └─
So,after reading the title you caught fire
desire to urgently heat up the soldering iron and
instantly get the desired result. But
the process of memory expansion is fraught with
many pitfalls. Therefore not
Let's hurry up and do everything according to
in order. Let's start:
The first requirement for
computer - it should work, second -
requires a memory expansion card, and
additionally several microcircuits, list
which are given below.
1. Table of required "cockroaches":
╔═══════╤══════════════╤══════ ═════════════════════════════╗
║Quantity-│ Name │ Possible replacement ║
║ quality │ │ or modifications ║
╠═══════╪══════════════╪══════ ═════════════════════════════╣
║ 1 │ KR15ZZKP5 │ KP7, KP10, KP15 ║
║ 1 │ KR15ZZTM8 │ TM9 ║
║ 16 │ K5b5RU7A │ RU7B, RU7B, RU8A, RU8B, RU8B ║
║ 1 │ K155PE3 │ only for Soviet microcircuits ║
╚═══════╧══════════════╧══════ ═════════════════════════════╝
Memory chipsthere may be
imported, type 51256, 42256 and others, with
this will not have to replace the RES.
A little theory
Microchips are used in a computer
dynamic memory K5b5RU5. To contact
they require a RAS signal, together
with part of the address (8 bits), and then (after
some delay) of the CAS signal, together with
another part of the address. Thus for
access to the chip address is necessary
multiplex. On the computer this
the function is carried out by chips DD14-DD17
(KR15ZZKP12), which separate the addresses
coming from the display controller and
microprocessor in time. All
necessary sequence of managers
signals (control of multiplexers,
division of access between the processor and
display controller, formation
signals RAS and CAS) forms ROM K155REZ
(the one with the letter “M” is DD26).
Chips K5b5RU7 - have a capacity
25bkbit, (K5b5RU5 - only bChkbit) therefore
they have one extra leg
to enter the address - leg number 1. One more thing
The difference between these microcircuits is
that they have a difference in the way
accelerated addressing: In PYS -page,
and in RU7 - verbal. Page addressing -
this is when after submitting one part of the address
and RAS signal, you can select another
part of the address, accompanied by a CAS signal.
Word addressing is different in that
after the first CAS signal, you can still
Apply it three times without generating a signal
addresses - it will be generated by an internal counter
in the microcircuit. Imported type chips
RU7 usually have page addressing (like
PYS).
BALTIKA uses the page method
addressing the display controller to memory, in
resulting in direct work with
with microcircuits of the RU7 type is impossible.
Dynamic memory chips require
regeneration, that is, for a certain
time period (for PYS - 4 ms, for RU7 -
8 ms) required to access all rows
microcircuits, otherwise the contents of the memory will be
lost. In BALTIC to each line
microcircuits during the construction of one
The screen lines are accessed twice. This
made it possible to ensure regeneration of microcircuits
type RU7.
Chip K155REZ - once
programmable storage device
with a capacity of 32 bytes. Memory element
is a combustible titanium-tungsten
jumper. Feature of the chip
is a low burn-through rate - 30%,
therefore it is desirablebuy not just one, but
three or four such microcircuits at the same time.
Practice
1) Check.
After purchasing the microcircuits, they must be
MUST check. Moreover, memory
can only be checked on a computer like
"BALTIC"! If the microcircuits are imported, then
it is necessary to determine what type of addressing
embedded in it. This is done properly
working BALTIC - microcircuit
inserted into the socket and its first leg
grounded. Turn on the computer - if
thin vertical stripes are visible on the screen,
which cannot be removed, although all tests
show the serviceability of the RAM, then the microcircuit
has verbal addressing and you will have to
alter K155RES. If there are no
you didn’t see any changes - it’s too big for you
lucky - no need to change anything
will be required.
2) Change of microcircuits.
After checking - sealing (though before
this requires desoldering old microcircuits)
Good advice: do not try to unsolder the old onesmicrocircuits - is fraught with consequences, their
it's much easier to bite the hell out of it.
The space under the chips should be
perfect - without snot and tears.
It is advisable to solder the memory cockroaches immediately
in pairs, the way the PYSs were soldered on
board - one on one (meaning 128k
cars). At the same time, as before,
the upper microcircuits are bent to the side
15th leg.
2a) If the computer is 128th and the memory is
imported.
In this case, the memory can simply be
solder, while connecting everything together
the first legs of freshly soldered microcircuits and
soldering them to the ground. (Everything else should
be absolutely the same as it was before
life PYS.) By turning on the unit you do not
must feel the change in order
get 512 kilos at your disposal,
you need to solder two more microchips, but
this below.
2b) If the computer is 48, and the memory is
imported.
If you are unlucky in life and you
were the owner of the 48th car, and the memory
We also managed to purchase importedthen
first do as written in
instructions for upgrading to 128k. But there is
one difference - the 1st legs of the RU7s are necessary
connect together and ground. After that
your computer should work like normal 128
unit. If it doesn't work, then it's
error when expanding to 128 and I'm not here
moreover.
Advice when expanding: usually the computer immediately
does not start (regardless of the type
memory chips used). B
expansion instructions usually advise
delay /RAS or /CAS signals when
using capacitors, this method is usually not
gives the desired results. I'm three times
I got around it like this: the /RAS signal is given
directly from the 9th leg of K155REZ, (with LPS -
is cut off), and the /CAS signal does nothing
delayed, the method gives excellent
results.
2c) For those who are unlucky with memory
(i.e. the microcircuits are Soviet).
In this case, you will have to change
K155RES. You are relatively lucky if
this microcircuit is located on the socket,
otherwise it will have to be unsoldered.
Tip: if you want to desolder the chip
without damaging it in 20 seconds, that is one
terrible at first glance, but great
a working method thatis
as follows: take a lighter, place it
there is a larger flame on it, and evenly
frying the board from below, desoldering
necessary microcircuit. Thus
managed to unsolder the processor and BBSS - and that’s it
it remained alive. After this
"desoldering" is required only carefully
clean the board from the layer of soot. There are more
one method for desoldering microcircuits without them
damage: very powerful required
soldering iron - 100 watt. With such a soldering iron (he
must have a wide tip) you can immediately
unsolder a whole row of legs.
After the old one is removed from the board
ROM, you need to flash a new one.
The best option - you managed to find
good programmer, or good
a person with such a programmer. But if
This option is not possible, you will have to
flash Tails yourself (that’s exactly what I did
did, especially since the simplest
programmer option based on another
I managed to assemble "BALTIKA" in an hour, and
in about 2 hours I wrote the simplest
support program for this programmer).
For those who want to build a programmer
I will provide the necessary data myself:
to burn out the jumper you need to apply
to the /CS input a high level signal. And on
programmable leg via resistor
a resistance of 390 Ohms sends a pulsevoltage +10 volts, duration
50..100 milliseconds. If the jumper is not
burnt out, then it is permissible to increase
programming voltage up to 14 volts.
Simultaneously with the burning impulse, on
power output is supplied increased (10..14
volt) voltage.
Well, now I’ll give you all sorts of firmware:
This was the case in the old ROM:
address 0 1 2 3 4 5 6 7 8 9 A B C D E F
data 05 15 35 B5 B2 A2 26 76 76 6E 6E 7E 7E FE E6 E1
____ : : : : : : : : : : : : : : : : :
D0 WAIT ~~~~~~~~~~~________________________________/~~~
: : : : : : : : : : : : : : : : : :
D1 AD1 ___________/~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~___
: : : : : : : : : : : : : : : : : :
D2 ADO ~~~~~~~~~~~_____/~~~~~~~~~~~~~~~~~~~~~~~~~__/
: : : : : : : : : : : : : : : : : :D3 ADT __________________________/~~~~~~~~~~~~~~______
: : : : : : : : : : : : : : : : :
D4 CAS __/~~~~~~~~~~~_____/~~~~~_____/~~~~~~~~______
__ ___ : : : : : : : : : : : : : : : : :
D4 CAS ~~___________/~~~~~_____/~~~~~________/~~~~~~
___ : : : : : : : : : : : : : : : : :
D5 WRE _____/~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
___ : : : : : : : : : : : : : : : : :
D6 DAT ____________________/~~~~~~~~~~~~~~~~~~~~~~~~~~
___ : : : : : : : : : : : : : : : : :
D7 RAS ________/~~~~~~~~____________________/~~~~~~~~
Как видно из рисунка, в прошивке есть
место, где после подачи сигнала /RAS,
дважды подается сигнал /CAS, при этом
изменяется адрес обращения к ОЗУ: сигналом
ADT, то есть происходит поочередный доступ
к атрибутам и к экрану. Вот именно из-за
этого места иrefuse to work
RU7s.
And this should be the case in the new one:
address 0 1 2 3 4 5 6 7 8 9 A B C D E F
data 65 15 15 B5 B1 A2 26 36 76 EE EA 6E 7E 7E E6 E2
____ : : : : : : : : : : : : : : : : :
D0 WAIT ~~~~~~~~~~~~~________________________________/
: : : : : : : : : : : : : : : : : :
D1 AD1 ______________/~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
: : : : : : : : : : : : : : : : : :
D2 ADO ~~~~~~~~~~~_____/~~~~~~~~~~~__/~~~~~~~~~~~__/
: : : : : : : : : : : : : : : : : :
D3 ADT __________________________/~~~~~~~~~~~~~______
: : : : : : : : : : : : : : : : : :
D4 CAS __/~~~~~~~~~~_____/~~~~~________/~~~~~______
__ ___ : : : : : : : : : : : : : :: : :
D4 CAS ~~___________/~~~~~_____/~~~~~~~~_____/~~~~~~
___ : : : : : : : : : : : : : : : : : :
D5 WRE ~~_____/~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
___ : : : : : : : : : : : : : : : : : :
D6 DAT ~~____________________/~~~~~~~~~~~~~~~~~~~~~~~
___ : : : : : : : : : : : : : : : : :
D7 RAS ________/~~~~~~~~________/~~~~~________/~~~~~
ATTENTION! The CAS signal in the ROM must be
inverted (that is, be direct on it
exit).
In the new firmware, page addressing
replaced by double access to RAM. By
Ideally, this firmware should work, but
I personally had a very bad memory, and I
I had to do the following:
I sent the /RAS signal as before
directly from the ROM, and to receive the signal
/CAS I took the /RAS signal and delayed it
the chip through which it passes
(i.e. via LPS). Perhaps someone
it will be exactly the same.
Now I will give a specific diagram:
+5U
│ R1 4.7k ┌────┬────────┐
"128" █ ADO (DD 26.3) >──────┤ A0 │ │
│ AD1 (DD 26.2) >──────┤ A1 │ MS │
SA1 ─────────────────────────── A2 │ │
│ ├────┤ │
"512" └─< BAUK_REQ BIT6 <────────┤ D0 │ │
BIT7 <────────┤ D1 │ │
┌────────┤ D2 │ │
│ ┌──┬──┤ D3 │ │
│ ─┴─ ├──┤ D4 │ │
│ └──┤ D5 │ Q ├──> A9
15625 Hz (DD 22.13) >─────┴────────┤ D6 │ │
┌──┤ D7 │ │
│ ├────┤ │
┌──┴──0 E │ │
─┴─ └────┴────────┘
┌───────┬─────────┬────┐
DATA 7 >────┤ D0 │ │ Q0 ├───> BIT6
DATA 6 >────┤ D1 │ T │ Q1 ├───> BIT7
├───────┤ │ │
_____ │ _____ │ │ │
RESET >────0 RESET │ │ │
7FFD STROBE >────/ C │ │ │
└───────┴─────────┴────┘
And now some explanations for the diagram:
Multiplexer connection corresponds to
microcircuits KP7 and KP15. KPS and KP10
differ insignificantly. And the triggers
in general, as can be seen from the figure, it is possible
install at least TM2s. I’m not giving the wiring,
since such a bloat as expanding to
512k kettle will not produce, but
rummaging people will find everything they need themselves
information.
Here is a description of the signals according to the diagram:
ADO and AD1 - taken from K155RES (M) (
legs 3 and 2 respectively). These signals
commute all this crap to get
the output contains the required sequence.
BANK_REQ - must be taken from the board
expansion, it is produced when
The processor accesses an address higher than
#C000 (that is, when contacting any
additional memory page this signal
goes to zero). On the expansion board already
there is a necessary logical element,
which produces this signal, its
you'll have to look for it yourself because
extension schemes differ.
15625 Hz - taken from DD22 leg 13 - this is
KR15ZZIE10, this signal produces
regeneration of additional memory.
DATAb and DATA7 - signals from the data bus
processor.
RESET - something that no one understands
signal...
#7FFD STROBE - port access signal
#7FFD, removed from the expansion board.
Usuallyit can be obtained on clock
entry to the register, which is responsible for the banks
memory in the 128th machine.
Switch SA1 - switch
128-512k mode
A9 - the signal for which, in fact,
and this whole scheme was put together - he is served on
The first legs of your RU7s. (Previously
tearing them off the ground.)
Finally, at this moment, (only if
everything is soldered together without snot or glitches), your computer
should work with all 512's
kilograms of your immense memory.
Turn it on and check this: how
they say, with working parts it’s correct
the assembled device starts working
right away.
If the computer is working, and all the programs
determine that you have a ton of memory, then for
further trouble-free operation of your
unit, you need to open the window and look out
go outside and bark at the top of your lungs:
"BALTIC RUUUUUULEZZZZZ!!!"
24.10.97
Share your thoughts about the article