Zx spectrum schematic diagram. Description of the scheme of computers.x device and operation of the computer. Preparing and cutting out a template for LUT

"What cannot be programmed in assembler must be soldered" (http://bash.im/quote/398169)

Once "ZX Spectrum" became one of my first personal computers. On it, I learned the basics of programming - from BASIC to assembler. And here it would be appropriate to recall the folk wisdom: "What cannot be programmed in assembler has to be soldered." Therefore, in parallel, I studied in detail the circuitry of the ZX Spectrum computer. And so, gradually, the hobby grew into a completely professional activity as part of the FFC Computers spektrumist group. I was then engaged in the Russification of games, floppy disking of "tape" programs, repair and refinement of Spectrums (1995-1997)

For three years of professional activity in this area, a huge number of Spectrum clones have passed through my hands. Brought to repair and other computers, but still the Spectrum was the vast majority. And even once I happened to connect a domestic drive controller to the proprietary Spectrum 128k (then it was a rarity).

Since then, I have kept a huge amount of documentation for various Spectrum clones, related devices, and other computer equipment common at that time. Well, some exotic iron has been preserved)

Starting with this publication, I will gradually share the accumulated information. I think a lot will be useful to fans of the Spectrum, and not only)

How to make a computer? | Building ZX Spectrum 128k clone + Beta Disk Interface + AY-3-8910 (YM2149F)"

Somehow I found at once several original boards of the most popular Spectrum clone - "Leningrad 48k". And then I decided to definitely assemble this system with a full upgrade to version 128k with a disk drive controller and, of course, a music coprocessor. I filmed this whole process on video (see above) with detailed comments. Below I give the schemes according to which the detailed upgrade plan worked.

Schematic diagram of the computer "Leningrad 48k"

Option 1:

Option 2:

Circuit diagram of the computer "Leningrad 48k"

Mounting diagram:

Transmission scheme adapted for printing:

Increasing the memory of the computer "Leningrad 48k" up to 128k

Scheme for increasing memory and correcting the decryption of I / O ports:

For all improvements, we use 7 additional microcircuits:

ED1 - K555(1533)TM9 (installed on top of D31)
eD2 - K555(1533)KP11 (mounted on top of D30)
eD3 - K555(1533)LE1 (installed on top of D2)
eD4 - K555(1533)LA3 (mounted on top of D40)
eD5 - K555(1533)LL1 (installed on top of D34)
eD6 - K555(1533)LI1 (installed on top of D8)
eD7 - K555 (1533) LL1 (installed on top of D13)

Connection plan for memory upgrade:
01. eD1-2 -> eD2-2
02. eD1-5 -> eD2-11
03. eD1-7 -> eD2-14
04. eD1-15 -> eD3-8
05. eD1-9 -> eD3-10
06. eD1-3 -> D32-12 (D0)
07. eD1-4 -> D32-15 (D1)
08. eD1-6 -> D32-16 (D2)
09. eD1-11 -> D32-19 (D3)
10. eD1-13 -> D32-2 (D4)
11. eD1-14 -> D32-5 (D5)
12. eD1-10 -> D17-13 (2nd screen) - cut off from the ground
13. eD1-12 -> eD7-2 (128k ROM selection)
14. eD7-1 -> D1-10 -> eD7-10 (TR-DOS selection inverted)
15. D1-11 -> after 10k to +5B
16. D1-11 -> D29-1 (cut off +5B)
17. eD7-3 -> D29-27 (cut off +5B)
18. eD2-3 -> eD2-13
19. eD2-13 -> eD4-4 -> D10-11 (A14)
20. eD2-10 -> eD4-5 -> eD3-3 -> D10-12 (A15)
21. eD2-15 -> D33-8 (GND)
22. eD2-1 -> eD4-6
23. eD2-4 -> D16-10 (cut off from A14)
24. eD2-9 -> D16-13 (cut off from A15)
25. eD2-12 -> eD5-12
26. eD3-1 -> eD4-1
27. eD3-2 -> D41-9 (A1)
28. eD3-4 -> eD4-2
29. eD3-5 -> D14-12 (WR)
30. eD3-6 -> D14-13 (OUTIORQ)
31. eD3-9 -> eD4-3
32. eD5-13 -> D3-2 (H1)
33. eD5-11 -> D21-1...D28-1 (KR565RU7)
34. eD5-10 -> D10-13
35. eD5-9 -> D9-8 (WE)
36. eD5-8 -> D21-3...D28-3 (KR565RU7) - cut off from D9-8

For connections, I used MGTF 0.12 wire. Heat-resistant braiding keeps the wires intact during tight mounting, and the small wire section allows you to easily transfer connections from the solder side to the mounting side of the parts through any free holes on the printed circuit board, as shown in the photo:

Other improvements to the computer "Leningrad 48k"

Improvement scheme:

1. Stabilization of the clock generator
2. Normalization of horizontal scanning (for quartz with a frequency of 14000 kHz)
3. Frame rate stabilization
4. Correction of drawing lines (arcs, circles, etc.)
5. Install ROM 27C512
6. Refinement of the INT signal

Wiring diagram for the Profi XT-keyboard controller:

Scheme of the "reader" from the tape recorder on the K554CA3:

Assembly steps, some pictures

By the way, recently digging through a pile of old hardware and documentation, I found a very exotic thing: a real price tag, apparently somewhere in the mid-90s:

Yes, yes, the controller then cost 75 thousand rubles)) And the reverse side of the price tag pleased no less - it turned out that it was drawn on a piece of a punched card!!! ;)

Yes... There is a certain philosophical connotation to this: the price tag for a new generation storage media controller is drawn on a piece of an old generation storage media...)

Useful files:

    Filename: DIZZY_5r_48k.zip (109K)
    MD5:

    Game DIZZY 5. Russified version of the game,
    adapted by me in 1996 for the 48k Spectrum.
    The archive contains the game in three formats: TAP, HOBETA, SCL.

    Filename: wildseyr.zip (68K)
    MD5:

    The game "Seymour in the Wild West" (Russified by me in 1996).
    In the archive, the game is in SCL format.

    Filename: test48k.bin (2.0K)
    MD5:
    Firmware checksum: 85E7

    Test firmware 48k (modified version -
    removed the tedious procedure for filling the screen, unnecessary checking the ROM).

    Filename: test128k.bin (2.0K)
    MD5:
    Firmware checksum: E413

    Test firmware 128k.

    Filename: sos48k.bin (16K)

    Firmware checksum: 2C86

    Standard operating system
    for "ZX Spectrum" 48k (1982 Sinclair Research Ltd).

    Filename: 27512.bin (64K)
    MD5:
    Firmware checksum: 9135

    Combined firmware for ROM 27512:

    Bank 0 - Empty.

    Bank 1 - TR-DOS Version 5.5H Copyright (C) 1993 by Rst7.
    MD5:
    Checksum: 3F81

    Bank 2 - SOS 128k (Standard OS for "ZX Spectrum" 128k).
    MD5:
    Checksum: 266E

    Bank 3 - SOS 48k (Standard OS for "ZX Spectrum" 48k).
    MD5:
    Checksum: 2C86

First you need to order a printed circuit board in any office specializing in this matter. A set of gerber & excellon files for making the board: (

11 / 11 829

print version

It just so happened that "Leningrad" was the very first Spectrum that I saw, and it was also my first computer in general. Despite its simplicity and underdevelopment, so many memories are associated with this computer that I can’t just forget about this Spectrum clone.

Leningrad was designed by Sergei Zonov in the late 80s. The boards show the date 1988 (ZS88):

Boards dated 1989 come across:

The computer is simple, contains a minimum number of chips. Decryption of ports for reading is utterly simplified - all even ports are considered a keyboard port (254), all odd ones are considered a Kempston joystick port (31). This disgrace comes from the fact that only one bit of the address bus, A0, is used to decrypt the ports. An even greater disgrace is created with output ports, in particular with the #FE port - it works when a value is written to any port at all, i.e. there is no decryption.

In addition to the "curve" of port decoding, the computer has a non-standard video output. This manifests itself when trying to connect it to TV tuners, PAL encoders and, in general, to modern LCD TVs. As a rule, such attempts end in nothing. This problem is solvable, I will talk about this a little later.

All the "Leningrads" I have seen are assembled in cases of the "coffin" form factor. Jokes aside, the shape of the case with beveled corners is somewhat reminiscent of a coffin. In terms of size, all cases are approximately the same, the difference is only in the material from which the case is made.

Let me illustrate with examples:

This is all that's left of my very first computer. The case (by the way, quite massive for such a small size) is quite well preserved, and I still hope to assemble a Spectrum in it.

There are also lighter aluminum cases:

This copy is well preserved and has been restored. Now it looks like new. Compared to the previous chassis, this complete computer weighs less than a steel chassis.

The third type of housing is plastic. From my point of view, the worst case:

Note the almost complete absence of blocking capacitors on the board. Despite this glaring shortcoming, the board worked remarkably well without failures for the previous owner for a good ten years.

If a toad was strangling a ready-made computer, then you could try to assemble the "Leningrad" yourself, since it was not so difficult. I also soldered one "Leningrad" on my own when I was in my first year at university. Then (in the mid-90s) it was possible to buy an empty Leningrad board on the radio market for ridiculous money without any problems:

Such boards differed in one feature - somewhere in the area of ​​\u200b\u200bthe tape former they had a short circuit of the + 5V and GND power buses. If the corresponding jumper was not cut when assembling the computer, then when you first turned it on, there was a great chance to get puffs of smoke with the burnout of one or more printed tracks on the board in a random place. Fortunately, I knew about this feature, and I called in time and eliminated the place of the circuit.

There, on the market, computer circuits, microcircuits, keyboards, cases were sold. In short, then there was a real paradise for the assembly of such structures. By the way, about keyboards: buttons from calculators were mainly used:

The photo shows the old inscriptions on the keys with peeled stickers. These are clearly buttons from some kind of calculator. In terms of quality and reliability, such keyboards did not stand up to criticism. Maybe such lousy buttons are good for calculators, but they are not at all suitable for a computer. Especially for games. I remember I hesitated to bend the contacts in such buttons so that they would somehow work. Perhaps the only positive thing about these buttons is their cheapness and availability. Therefore, at the first opportunity, I switched to reed keys, which were much more convenient to work with:

It turns out that there were also such "Leningrads" - with a built-in keyboard and a system connector. The scheme of this "Leningrad" almost completely coincides with the canonical scheme. The exception is the tape input, beeper output and video output. Decryption of #FE port in this clone is corrected compared to the original "Leningrad" - the port is addressed by A0=0, unlike the original, where outputting a value to any port will trigger port #FE. I started the payment. In the photo of the board in the lower right corner on the breadboard, a revision has been made for connecting to a PAL encoder.

The board is generally well made - competent power wiring, places for blocking capacitors. I like it.

Unfortunately, it was not possible to identify the name of this clone (in the sense of the manufacturer's brand of the computer). There was only one inscription on the board - LS10.102.002.

Buy or build your own ZX Spectrum? Easily! grmretro wrote on July 12, 2010

Moreover, another project is on the way - Speccy 2010. Progress has not bypassed the spektrumists, as they did not try to avoid it :-).
(photo of one of the prototypes. in the final version, there are no wires for correcting errors)

You won't find a live Z-80 or music co-processor here. EVERYTHING IS INSIDE a large chip and is implemented in software.
Quote from the forum:

“The state of the software today:
fully all functions of Speccy2007 v1.06 (128k, Pentagon's huts, betadisk emulator, AY, tap/tzx/sna download).

Besides

  • - output to TV - RGB, s-video, composite
  • - more correct and faster work with sna (now not a single byte of the dump is corrupted)
  • - turbo (7, 14 and 28 MHz)
  • - weightless keyboard
  • - all multicolors and border effects are clear (like on spectaculatore)

I plan to do more
  • VGA in scandible mode
  • mode with temporary branded Spectrum
  • kempston mouse and gluk rtc
  • different modes with extended memory”
The bonus of the device is the absence of old-mode components, higher reliability, expandability by uploading new firmware. And of course, I also want to dream that this board will implement not only the ZX-Spectrum, but also some MSX, Vector, Orion or Apple 2 in general. But so far these are just dreams. Bye...
Speccy 2010 is also possible

DESCRIPTION OF THE COMPUTER DIAGRAM
Х.Х The device and operation of the computer

Schematic diagram of the computer is given in APPENDIX 4
(Insert at the end of the book).

♦ CLOCK GENERATOR.

Assembled on elements D1 and D2. Frequency is set by quartz
resonator at 14 MHz, and at outputs 5 and 6 of the counting trigger
D2.1, two anti-phase series are produced half as small
frequencies. If you have quartz at a frequency of 7 MHz, then, set
By setting the SA1 jumpers to the appropriate position, you can
exclude the counting trigger on element D2.1 from the circuit and use
use antiphase signals from outputs 6 and 8 of the element
D1, following with the frequency of quartz.

♦ UNIT FOR SYNCHRONIZATION AND FORMATION OF A TV FRAME.

Signals of synchronization and formation of television
frame, as well as the management of RAM regeneration, are formed appa-
multiple of the signals at the outputs of counters D3-D6. At the exit
Counter D3 generates NO, HI, H2 and NC signals. Invert-
ruyu signal BUT, we get the signal CAS for clocking the micros-
hem RAM. RAS signal switching address multiplexers
D15, D16, is obtained by delaying the signal BUT for one cycle (you-
move 9 of element D2). The inverted RAS signal serves to
processor clock. The "SCREEN" signal is a sign of the on-screen
area - is used to load shift registers D33, D41.
The signal "BORDER" - a sign of a border - loads into registers
gated multiplexers D30, 1)31 color attributes bor-
dera.

The signals at the outputs D3-D6 and triggers of the D8 chip serve
to determine position numbers in a line and line numbers in
frame. At the output of element 3 D44, a lowercase
sync pulse SS. At the output 6 of the D40 element,
vertical sync pulse KS with a frequency of 50 Hz. With the same hour
This element D1 (output 10) generates an interrupt signal
IHT, on which during the reverse beam of the TV
polling kj> khviatura and other input devices.

It is not necessary to use quartz with a frequency of 14 in a computer
(or 7) MHz. The synchronization scheme allows setting for an hour -
Totu of the generator is quite wide. For this purpose
designed jumpers SA2, which can change the coefficient
D4 counter recalculation point. Enable preset inputs
counter D4 depending on the frequency of quartz is shown in tab.
face on the computer diagram (see APPENDIX 4 (insert)). At
generator frequency, a multiple of 500 kHz, it is possible to obtain
standard vertical sync frequency (50 Hz). If
the frequency of your quartz is not a multiple of 500 kHz, then you need to set
jumpers to the position corresponding to the nearest specified in
frequency table. TV timing stability is not
will suffer. Naturally, with a change in the frequency of the generator,
Torah will change the speed of the computer, but it's not scary,
since when you enter from a magnetic tape, the computer is configured
on the frequency of the signals from the tape recorder.

♦ CENTRAL processor.

The basis of the computer is the Z80A processor - one of the most
powerful eight-bit processors, very popular for
abroad. Mass production of its domestic counterpart
1810VM80 - unfortunately, not yet established.

Registers D46, D47 perform the role of address bus forming
drivers, and the D51, D52 microcircuits form a bidirectional bus
data.

The functions of the system controller are performed by elements D14 (on
outputs 3 and 11 generate signals for accessing external
devices IORD - input, IOWR - output), D10 (outputs 10 and
13), D12 (at outputs 3 and 6, RDROM signals - reading ROM and
CSRAM - access to RAM).

♦ PERMANENT MEMORY.

Consists of two K573RF4 microcircuits and has a volume of 16K
byte. It contains a monitor, a BASIC interpreter and familiar
generator. In addition, there is a K573RF2 chip containing
a computer test program. Firmware codes TEST-
ROMs are given in APPENDIX 1.

♦ RANDOM MEMORY.

The 48K byte DRAM node includes
actually memory chips D21-D28 type 565RU5, multip-
lexors D15-D19 type 555KP11 and buffer register 555IR22
(D32). Here, the capacity of 565RU5 microcircuits is used not half-
accuracy, since the upper 16K bytes of the address space are
cessors are assigned to a permanent storage device. Multi-
typexers D15, D16 form addresses when accessed by the process
litter to RAM, and D17-D19 - addresses of regeneration and access to ei-
deooregions of RAM.

♦ VIDEO SIGNAL FORMING UNIT.

The video signal generation unit is assembled on shifting relays
hysters D33, D41 and D35, gated multiplexers D30,

D31, D36 multiplexer, D11 elements (outputs 3, 6, 11),
D13 (output 11), D43 (output 12) and transistors VT4-VT10.

To shift register D33 at the end of the data access cycle
images on the SCR signal, these data are entered in parallel
code, and then issued in sequential code with frequent
that TI. At the end of the cycle of accessing attribute data by task
him to the front of the H2 signal into the internal registers of the multiplex
ditch D30, D31 attributes are entered. Shift register D35 for-
keeps the image data signal for a period of time between downloads
shift register D33 and loading internal registers
multiplexers D30, D31. When the beam is outside the boundaries of the
defield multiplexer registers D30, D31 are loaded from
second inputs with data coming from the border register
(D39). Switching inputs of multiplexers D30, D31 control
Gives the signal "BORDER"

The final processing of the serial data code is
The deoimage is produced by element D11 (output 3). In the presence of
high level at output 12 of multiplexer D31 at input 1
element D11 pass "blink" pulses "FLASH" from the output
11 counter D7. The input 2 element D11 receives a sequence
real image data "VBYTE" from the output of the shifter
hyster D35. From the output 3 of the D11 element, the image data with
the "blink" attribute is fed to input 1 of the D36 chip, pack-
matching with a sample of the color of the dot or the color of the field. At the entrance 15 of this
the same microcircuit receives a mixture of lowercase and vertical sync
pulses from element D11-11 (if you use a TV type
UPIMTST) or from element D43-12 (for TV type ZUSST).
At the outputs 4, 7 and 9 of the D36 multiplexer, signals are generated
piles of flowers. At output 12 of this microcircuit,
signal designed to increase the brightness of color signals
cash that adds up with each color signal on
resistor-diode matrix (diodes VD5-VD7 and resistors R29-
R38). Then the chrominance video signals through emitter repeaters
tels on transistors VT4-VT6 are fed to the "TV" connector. These
the same signals are summed on a resistor matrix (R42-R44), to
it adds the signal "SYHC" (a mixture of vertical and lowercase
sync pulses) through resistors R32, R41, and this mixture
blunts to the emitter follower VT7, forming a "VIDEO" signal
for black and white TV. Moreover, each of the signals is color-
ness goes to the summation through resistors of different values
minala to turn a color image into black and white
halftone.

Transistors VT8-VT10 form inverted signals
R,G,B. Depending on the TV used, the selection is direct
of the switched or inverse signals R, G, B is carried out by jumpers

♦ OUTPUT PORT.

Made on the chip D39 (555TM9). His ranks are Q2-Q4
determine the color of the border, the Q1 bit with the

RC filter (R24, R26, C12, C13) generates an output signal to
tape recorder, discharge Q0 - sound signal. Data to register
are recorded by the processor, that is, the border color signals, you
water to the tape recorder and a sound signal are generated by the program
rammno.

♦ INPUT PORT.

Assembled on multiplexers D37, D38 type 555KP11 and working
melts as follows. Polling signals KA8-KA15 from addressable
processor buses through decoupling diodes VD11-VD18 and connector
■ "KEYBOARD" enter the keyboard and through a closed contact
pressed key passes to one of the inputs of the D37 microcircuits or
D38 (in the form of signals KL0-KL4), from where, in the presence of a signal
IORD and low on the address bus AO hits the bus
data. If the AO bit of the address bus is high,
then signals are read from the joystick (DV0-DV4) and tape recorder
(TIN signal).

♦ INPUT UNIT FROM TAPE RECORDER.

The input node consists of an operational amplifier A1
(K140UD1208), acting as a limiting amplifier, and
comparator A2 (554SAZ), which generates standard TTL levels
from the input signal.

X.2 Replacement of elements

♦ PROCESSOR.

Any Z80 or compatible processor can be used
him, for example U880 produced by the GDR. It is only necessary to take into account
that processors that do not have a letter index in the designation
(Z80) are designed for clock speeds up to 2.5 MHz, so do not
all their instances will operate at the frequency of the generator 14
MHz, although most will still work. In this case, wish
It is important to set the generator frequency close to the minimum.
Processors Z80A, Z80B can be installed without restrictions.

♦ ROM CHIPS.

Instead of K573RF4 microcircuits, you can use K573RF6 or their
foreign analogue - ROM type 2764. In this case, the switching circuit
Will not change. In extreme cases, instead of two K573RF4, you can
use eight microcircuits of the K573RF2 or K573RF5 type (for
boundary analogue - 2716), including them according to the scheme shown in
rice. 1.1. Here, the 555ID7 decoder selects the desired
ROM chips. Of course, they will have to be mounted on a separate
board, placing it next to the main board. At the same time,
The load on the address buses will increase and it is desirable that the buses
addresses have been buffered. The current consumption will also increase.

There is another way to reduce the number of deficient micro-
Roschem ROM. To do this, write in the K573RF2 chip or
K573RF5 codes from the table of APPENDIX 3, and set the ata mic-
roschemu in place of ROMO, having previously bent its output
21. Connect pin 21 to panel pin 28. Perform on
board changes shown in fig. 1.2. Bold lines you-
the newly introduced elements and connections are divided, and the crossed out
ties must be broken.

A resident bootloader will be written to the ROM.
After turning it on, it checks the RAM in addresses O -
16384, where the operating system will then be loaded.
After the test is completed, the screen displays:

Enter the program "MONITOR-16K" from the tape recorder (coincides
with the contents of ROMO-ROM1, input time is about 1.5 minutes), which
paradise will be loaded into addresses 0-16384 of RAM and there will be a price from dos-
dumb. Further work does not differ from working with standard
version of the ROM. You can work with all programs and
Rotate in the OS with the "RESET" button. After turning off the power,
it will be necessary to load "MONITOR-16K" again.

After these changes, you can use other versions
OS, for example, with a Russian font, etc.

♦ RAM CHIP.

You can safely use 565RU5 microcircuits with indices B,
C, D. Difficulties may arise with 565RU5D microcircuits
due to their low performance. But you can try to
beat the reliable operation of microcircuits 565RU5D, reducing the frequency
clock generator. Without changing the schema, you can set
565RU7, connecting their conclusions 1 to a common wire, but their capacitance
only a quarter will be used. Basically, it is possible
the use of microcircuits 565RU6, but they will need 32 pieces plus
additional decryption schemes similar to how it was
made when replacing 573RF4 with 573RF2. The design is obtained
cumbersome and complex, so the scheme of such refinement does not apply
found.

♦ MICROCIRCUIT* 555 SERIES AND OTHER ELEMENTS.

All 555 series microcircuits can be changed without restrictions to
similar chips of the 1533 series. Some may be
also replaced by 155 or 531 series chips.
replacement of registers, multiplexers, counters and other mics
roschems in the Zonov scheme for microcircuits of the 155 and 531 series are limited
cheny, mainly in that their inputs are connected to the outputs
memory or processor chips that have a low
load capacity. Can be replaced by series 531 and 155
multiplexers D17-D19 and D36, as well as counters D3-D6 and some
other logic chips that do not load the processor buses
and RAM.

As for the D30-D33 microcircuits (according to the Zonov scheme), then they,
in principle, can be replaced with 531 series microcircuits, but with
condition so that the outputs of the RAM chips are loaded no more than
than one or two inputs of the 531 series microcircuit, and the rest
the microcircuits connected to them were from the 555 or 1533 series.
the same can be said about the microcircuits that load the busbars
cessor.

Register D32 can be replaced by 555IR23 by inverting
WRBUF signal at input 11, as provided on the proposal
circuit (jumper SA6). By function
register 555IR22 is completely similar to register 580IR82, but
it, unfortunately, has a different pinout and more
Energy consumption. Register 555IR9 in the Zonov scheme can be replaced
thread for two registers 555IR16, including it as in our scheme
(D33, D41). In both schemes, the 555IR16 registers can be replaced
on 555IR1. You don't need to change the wiring diagram.

In our scheme, as address bus drivers, you can
apply any microcircuits intended for this
(580IR82, 555AP4, etc.) in the corresponding inclusion, and in some
as a bi-directional data bus buffer are ideal
microcircuits 555AP6, 580VA86. Counter 561IE10 can be replaced
on 555IE19 (the pinout is different!). Comparator 554S.AZ
him on 521SAZ, which differs in the type of case and the numbering of the output
dov. Operational amplifier 140UD1208 can be replaced with
140UD12 without changing the circuit, or on 140UD6 (140UD608), claim-
By turning on the resistor connected to pin 8. Transistors can be

install any of the KT315, 312, 342, 3102 series.