Zx spectrum своими руками

«То, что не удаётся запрограммировать на ассемблере, приходится паять» (http://bash.im/quote/398169)

Когда-то «ZX Spectrum» стал одним из моих первых персональных компьютеров. На нём я постигал азы программирования – от бейсика до ассемблера. И тут уместно будет вспомнить народную мудрость: «То, что не удаётся запрограммировать на ассемблере, приходится паять». Поэтому параллельно я подробно изучал схематехнику компьютера «ZX Spectrum». И так, постепенно, хобби переросло во вполне профессиональную деятельность в составе группы спектрумистов «FFC Computers». Я занимался тогда русификацией игр, дискетированием «ленточных» программ, ремонтом и доработкой Спектрумов (1995-1997 гг.)

За три года профессиональной деятельности в этой сфере через мои руки прошло огромное количество клонов Спектрума. Приносили в ремонт и другие компьютеры, но всё же Спектрумов было подавляющее большинство. И даже однажды мне довелось подключать отечественный контроллер дисковода к фирменному Спектруму 128k (тогда это была большая редкость).

С тех пор у меня сохранилось огромное количество документации к различным клонам Спектрума, сопутствующим устройствам, и к другой компьютерной технике распространенной в то время. Ну и кое-какое железо экзотическое сохранилось )

Начиная с этой публикации, постепенно буду делиться накопленной информацией. Думаю, многое будет полезно поклонникам Спектрума, да и не только )

«Как сделать компьютер? | Building ZX Spectrum 128k clone + Beta Disk Interface + AY-3-8910 (YM2149F)»

Как-то нашел у себя сразу несколько оригинальных плат популярнейшего клона Спектрума – «Ленинград 48k». И тогда я решил непременно собрать эту систему с полным апгрейдом до версии 128k с контроллером дисковода и, разумеется, музыкальным сопроцессором. Весь этот процесс я заснял на видео (смотрите выше) с подробными комментариями. Ниже привожу схемы, по которым работал и подробный план апгрейда.

Принципиальная схема компьютера «Ленинград 48k»

Вариант 1:

Вариант 2:

Монтажная схема компьютера «Ленинград 48k»

Монтажная схема:

Схема на просвет адаптированная для печати:

Увеличение памяти компьютера «Ленинград 48k» до 128k

Схема увеличения памяти и коррекции дешифрации портов ввода-вывода:

Для всех доработок используем 7 дополнительных микросхем:
eD1 — К555(1533)ТМ9 (устанавливается поверх D31)
eD2 — К555(1533)КП11 (устанавливается поверх D30)
eD3 — К555(1533)ЛЕ1 (устанавливается поверх D2)
eD4 — К555(1533)ЛА3 (устанавливается поверх D40)
eD5 — К555(1533)ЛЛ1 (устанавливается поверх D34)
eD6 — К555(1533)ЛИ1 (устанавливается поверх D8)
eD7 — К555(1533)ЛЛ1 (устанавливается поверх D13)
План соединений при апгрейде памяти:
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 (2-й экран) – отрезать от земли
13. eD1-12 -> eD7-2 (Выбор ПЗУ 128k)
14. eD7-1 -> D1-10 -> eD7-10 (Выбор TR-DOS инвертированный)
15. D1-11 -> через 10к к +5B
16. D1-11 -> D29-1 (отрезать от +5B)
17. eD7-3 -> D29-27 (отрезать от +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 (отрезать от A14)
24. eD2-9 -> D16-13 (отрезать от 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 (КР565РУ7)
34. eD5-10 -> D10-13
35. eD5-9 -> D9-8 (WE)
36. eD5-8 -> D21-3…D28-3 (КР565РУ7) — отрезать от D9-8

Для соединений я использовал провод МГТФ 0.12. Термостойкая оплетка сохраняет провода в целости при плотном монтаже, а небольшое сечение провода позволяет легко перекидывать соединения со стороны пайки на сторону монтажа деталей через любые свободные отверстия на печатной плате, как показано на фото:

Другие доработки компьютера «Ленинград 48k»

Схема доработок:

1. Стабилизация тактового генератора
2. Нормализация строчной развертки (для кварца частотой 14000 КГц)
3. Стабилизация кадровой развертки
4. Корректировка прорисовки линий (дуги, окружности и т.п.)
5. Установка ПЗУ 27C512
6. Доработка сигнала INT

Схема подключения контроллера XT-клавиатуры Profi:

Схема «читалки» с магнитофона на К554СА3:

Этапы сборки, немного фоток

Оригинальная плата «Ленинград 48k» 1988:

«Ленинград 48k» в сборе:

«Ленинград 48k» с контроллером XT-клавиатуры Profi:

«Ленинград 128k» в сборе:

«Ленинград 128k» с контроллером дисковода и музыкальным сопроцессором:

«Ленинград 128k» с контроллером дисковода, музыкальным сопроцессором и дисководами:

Кстати, недавно копаясь в ворохе старого железа и документации, нашел совсем уж экзотическую вещь: настоящий ценник, видимо где-то середины 90-х:

Да, да, контроллер тогда стоил 75 тысяч рублей )) И обратная сторона ценника порадовала не меньше – выяснилось, что он нарисован на куске перфокарты!!! 😉

Да… В этом есть определенный философский подтекст: ценник на контроллер носителя информации нового поколения нарисован на обрывке носителя информации старого поколения… )

Полезные файлы:

  1. Имя файла: DIZZY_5r_48k.zip (109K)
    MD5: e55b3dd84cba8895ebcce6b4efbe5607

    Игра «DIZZY 5». Русифицированная версия игры,
    адаптированная мной в 1996 году для спекртрума 48k.
    В архиве игра в трех форматах: TAP, HOBETA, SCL.

  2. Имя файла: wildseyr.zip (68K)
    MD5: 62511c9b12f42794053805e140af3009

    Игра «Сеймур на Диком Западе» (русифицированная мной в 1996 году).
    В архиве игра в формате SCL.

  3. Имя файла: test48k.bin (2,0K)
    MD5: 4bf68803c17aa614b7fbfa939549eaec
    Контрольная сумма прошивки: 85E7

    Тестовая прошивка 48k (модифицированная версия —
    убрал нудную процедуру заполнения экрана, ненужную проверку ПЗУ).

  4. Имя файла: test128k.bin (2,0K)
    MD5: 5247c2d7d5c77d270d98d6c0080493da
    Контрольная сумма прошивки: E413

    Тестовая прошивка 128k.

  5. Имя файла: sos48k.bin (16K)
    MD5: 6e09e5d3c4aef166601669feaaadc01c
    Контрольная сумма прошивки: 2C86

    Стандартная операционная система
    для «ZX Spectrum» 48k (1982 Sinclair Research Ltd).

  6. Имя файла: 27512.bin (64K)
    MD5: 77cec243abe304ba3603b63b88709cae
    Контрольная сумма прошивки: 9135

    Комбинированная прошивка для ПЗУ 27512:

    Банк 0 — Пусто.

    Банк 1 — TR-DOS Version 5.5H Copyright (C) 1993 by Rst7.
    MD5: de4131214186667b9fb4022343d34444
    Контрольная сумма: 3F81

    Банк 2 — SOS 128k (Стандартная ОС для «ZX Spectrum» 128k).
    MD5: 97da465c399ff70b907dfd8291e8f9d3
    Контрольная сумма: 266E

    Банк 3 — SOS 48k (Стандартная ОС для «ZX Spectrum» 48k).
    MD5: 6e09e5d3c4aef166601669feaaadc01c
    Контрольная сумма: 2C86

Где взять детали для сборки?

Сначала надо заказать печатную плату в любой специализирующейся на этом деле конторе. Набор файлов gerber & excellon для изготовления платы: http://www.cxemateka.ru/v1/Leningrad48k.rar (Источник: http://sblive.narod.ru/).

Всё остальное можно найти в продаже. Если не найдутся отечественные детали, всегда можно найти зарубежные аналоги.

ТТЛ-логика, предпочтительнее 1533 (аналог 74ALS) или 555 (аналог 74LS):
1533ЛН1 (74ALS04) — 2 шт.
1533ТМ2 (74ALS74) — 3 шт.
1533ИЕ7 (74ALS193) — 4 шт.
1533ЛЕ1 (74ALS02) — 1 шт.
1533ЛП5 (74ALS86) — 1 шт.
1533ЛА3 (74ALS00) — 1 шт.
1533ЛИ1 (74ALS08) — 1 шт.
1533ЛЛ1 (74ALS32) — 1 шт.
1533КП11 (74ALS257) — 8 шт.
1533КП13 (74ALS298) — 2 шт.
1533ИР22 (74ALS373) — 1 шт.
1533ИР9 (74ALS165) — 1 шт.
1533ИР16 (74ALS295) — 1 шт.
1533ЛА4 (74ALS10)- 1 шт.

КМОП:
561ИЕ10 (4520) – 1 шт.

Процессор:
Z80 – 1 шт.

Постоянная память:
EPROM 27C64 — 2 шт. или одна EPROM 27C128 (для версии 48k)

Оперативная память:
565РУ5 — 8 шт. или 565РУ7 — 8 шт. (первые выводы РУ7 нужно будет соединить между собой и заземлить /для версии 48k/)

Вместо 565РУ7 можно ставить зарубежные аналоги: 41256/41257 DRAM, MB81256/MB81257 DRAM.

Кроме того, в Спектрум можно ставить динамическую память большего объема и соотв. потребуется меньшее кол-во микросхем. Как это делается, расскажу в следующем материале.

Узел чтения с магнитофона рекомендуется собирать по приведенной выше схеме на К554СА3 (зарубежный аналог IL311ANM).