CXEMATEKA.RU, © 2016 | Войти/Зарегистрироваться | In English

ZX Spectrum «Ленинград 48к» - сборка, наладка, увеличение памяти, доработки, схемы, видео

Автор: Константин Айги (CXEMATEKA.RU)


«То, что не удаётся запрограммировать на ассемблере, приходится паять» (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:

Источник: http://sblive.narod.ru/

Вариант 2:

Источник: http://zxbyte.ru/

Вариант 3:

Источник: http://micronc.ru/

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

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

Источник: http://sblive.narod.ru/

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

Источник: http://sblive.narod.ru/

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

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

Схема увеличения памяти и коррекции дешифрации портов ввода-вывода
для отечественной памяти 565РУ7, регенерация в 512 циклов:

Схема увеличения памяти и коррекции дешифрации портов ввода-вывода
при использовании двух линеек памяти 565РУ5:

Для всех доработок используем 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)

План соединений при апгрейде памяти (41256 DRAM, регенерация в 256 циклов):
01. eD1-1 -> D20-26 (RESET)
02. eD1-2 -> eD2-2
03. eD1-5 -> eD2-11
04. eD1-7 -> eD2-14
05. eD1-15 -> eD3-8
06. eD1-9 -> eD3-10
07. eD1-3 -> D32-12 (D0)
08. eD1-4 -> D32-15 (D1)
09. eD1-6 -> D32-16 (D2)
10. eD1-11 -> D32-19 (D3)
11. eD1-13 -> D32-2 (D4)
12. eD1-14 -> D32-5 (D5)
13. eD1-10 -> D17-13 (2-й экран) – отрезать от земли
14. eD1-12 -> eD7-2 (Выбор ПЗУ 128k)
15. eD7-1 -> D1-10 -> eD7-10 (Выбор TR-DOS инвертированный)
16. D1-11 -> через 10к к +5B
17. D1-11 -> D29-1 (отрезать от +5B)
18. eD7-3 -> D29-27 (отрезать от +5B)
19. eD2-3 -> eD2-13
20. eD2-13 -> eD4-4 -> D10-11 (A14)
21. eD2-10 -> eD4-5 -> eD3-3 -> D10-12 (A15)
22. eD2-15 -> D33-8 (GND)
23. eD2-1 -> eD4-6
24. eD2-4 -> D16-10 (отрезать от A14)
25. eD2-9 -> D16-13 (отрезать от A15)
26. eD2-12 -> eD5-12
27. eD3-1 -> eD4-1
28. eD3-2 -> D41-9 (A1)
29. eD3-4 -> eD4-2
30. eD3-5 -> D14-12 (WR)
31. eD3-6 -> D14-13 (OUTIORQ)
32. eD3-9 -> eD4-3
33. eD5-13 -> D3-2 (H1)
34. eD5-11 -> D21-1...D28-1 (41256 DRAM)
35. eD5-10 -> D10-13
36. eD5-9 -> D9-8 (WE)
37. eD5-8 -> D21-3...D28-3 (41256 DRAM) - отрезать от D9-8

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

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

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

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

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

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

Источник: http://service4u.narod.ru/

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Скачать: http://www.cxemateka.ru/v1/DIZZY_5r_48k.zip

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

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

    Скачать: http://www.cxemateka.ru/v1/wildseyr.zip

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

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

    Скачать: http://www.cxemateka.ru/v1/test48k.bin

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

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

    Скачать: http://www.cxemateka.ru/v1/test128k.bin

  5. Имя файла: sos48k_only.bin (16K)
    MD5: 4c42a2f075212361c3117015b107ff68
    Контрольная сумма прошивки: 1F64

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

    Скачать: http://www.cxemateka.ru/v1/sos48k_only.bin

  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

    Скачать: http://www.cxemateka.ru/v1/27512.bin

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

Сначала надо заказать печатную плату в любой специализирующейся на этом деле конторе. Набор файлов 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ТМ9 (74ALS174) - 1 шт.
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).



Полезный пост + 14 | Бесполезный пост - 0
пятница, 9 декабря 12:41:30 2016    
Константин Айги (CXEMATEKA.RU)
Автор: Ольга Король
Фото у тебя Супер! )

Очень интересное видео! Мне понравилось как ты делаешь и рассказываешь ) Круто! ;) МолодчАга! ;)

Полезный комментарий + 4 | Бесполезный комментарий - 0
понедельник, 2 января 21:31:09 2017 | ссылка на пост    

<<<< 29 28 27 26 25 24 23 22 21 20 19 >>>>

Автор: Александр
Цитата "Александр, для начала надо проверить, корректно ли работает порт #7FFD, например, так:
1. заходим в BASIC 128К, даем команду USR 0
2. попадаем в BASIC 48K с поддержкой порта #7FFD
3. даем команду: OUT 32765,24 (включение второго экрана)
Если все правильно, основное поле экрана станет чёрным, но при этом компьютер будет реагировать на команды (выход по ресету)"

Константин, здравствуйте! Следуя вашим рекомендациям я проверил работоспособность порта #7FFD. Получается , что данный порт у меня работает. После введения всех команд я получил черный экран и компьютер при этом продолжал реагировать на команды. (пробовал вслепую менять цвет бордюра - получилось)
И тем не менее, тестовое ПЗУ дает ошибку ОЗУ 1-го этапа теста по адресу 8000
записано 11011011
считано 10110110
Напомню, что пытаюсь расширить память Ленинград 2

Полезный комментарий + 0 | Бесполезный комментарий - 0
четверг, 12 декабря 17:18:07 2024 | ссылка на пост    
Сообщений: 11
Автор: Константин Айги (CXEMATEKA.RU)
Александр, тут либо с памятью проблема, либо, что, скорее всего, есть какая-то ошибка в сборке схемы доработки. Похоже на какую-то путаницу в переключении страниц памяти.
Полезный комментарий + 0 | Бесполезный комментарий - 0
понедельник, 16 декабря 16:25:39 2024 | ссылка на пост    
Константин Айги (CXEMATEKA.RU)
Сообщений: 315
Автор: Александр
Здравствуйте! Нужна помощь. Пытаюсь реанимировать клон Ленинград-48. Без ПЗУ - матрас идеальный. Вставляю ПЗУ - картинка в экранном поле в виде каши из случайных строк размером с квадрат знакоместа.
Пробую вставить фотки: https://disk.yandex.ru/i/0A85B34NR8hZVQ
https://disk.yandex.ru/i/Bmlk68ayAO3vpw
https://disk.yandex.ru/i/0mhsUu0Qm-AfIA

Где копать, что может быть за сбой? (Другое ПЗУ из рабочего вставлял - ничего не поменялось.

Полезный комментарий + 0 | Бесполезный комментарий - 0
вторник, 17 декабря 16:02:37 2024 | ссылка на пост    
Александр
Сообщений: 1
Автор: Константин Айги (CXEMATEKA.RU)
Александр (alexpetr), проблема очевидно с видеоконтроллером. Надо проверить прохождение сигналов /SCR, /TI до D33, TI до D35. А также элемент формирующий FLASH – D11A (выводы 1,2,3). Возможно где-то в этой области обрыв и/или замыкание. Замыкание можно иногда обнаружить по избыточному нагреву корпуса микросхемы. А если в момент работы компьютера коснуться пальцем проблемной области при обрыве контакта, то характер помех на экране измениться от внешних наводок.
Полезный комментарий + 0 | Бесполезный комментарий - 0
среда, 18 декабря 08:40:55 2024 | ссылка на пост    
Константин Айги (CXEMATEKA.RU)
Сообщений: 315
Автор: Александр
Цитата
"Александр, тут либо с памятью проблема, либо, что, скорее всего, есть какая-то ошибка в сборке схемы доработки. Похоже на какую-то путаницу в переключении страниц памяти."

Микросхемы памяти перед монтажом были проверены с помощью тестера ОЗУ, и путем установки в другой ZX Spectrum. Расширение памяти производилось по стандарту Scorpion 256. Для сборки использовалась фабрично изготовленная печатная плата, которая точно соответствовала схеме расширения. А вот с подключением данной платы схеме Ленинград 2 есть ряд вопросов. Кстати, несколькими страницами ранее, один товарищь тоже здесь писал о проблеме расширения памяти именно Ленинград 2. В конечном итоге он решил свою проблему, но сказал, как именно. К сожалению нет никаких контактов, что бы с ним связаться. М.Б у Вас, как у модератора есть такая возможность?

Полезный комментарий + 0 | Бесполезный комментарий - 0
четверг, 19 декабря 22:12:14 2024 | ссылка на пост    
Сообщений: 11
Автор: Константин Айги (CXEMATEKA.RU)
Александр, можно простой программкой проверить, что там со страничками не так.

Сначала нужно выйти в бейсик 48К с поддержкой порта #7FFD (32765). Для этого из бейсика 128К даём команду USR 0

Затем набираем и запускаем простой код на бейсике:

10 CLEAR 24999
20 FOR i=16 TO 23
30 OUT 32765,i : POKE 49183,i
40 NEXT i
50 FOR i=16 TO 23
60 OUT 32765,i : PRINT i, PEEK 49183
70 NEXT i

На выходе должно быть:
16 16
17 17
18 18
19 19
20 20
21 21
22 22
23 23

Где 16 – нулевая страница памяти, 17 - 1-я и т.д. Если на выходе будут иные цифры, значит, в схеме доработки есть ошибки или сбойные детали.

Полезный комментарий + 0 | Бесполезный комментарий - 0
пятница, 20 декабря 17:12:47 2024 | ссылка на пост    
Константин Айги (CXEMATEKA.RU)
Сообщений: 315
Автор: Александр E-mail: 2963540@bk.ru
Добрый день! Электроника кр-05, пзу 8шт.кр573рф5.
История такова, приобрелся у вандалов почти все кондеры были откусаны, вернул все на место. блок питания на плате обошел и подал 5 вольт на прямую, померил на напряжение на плате оно просело до 3-4в.
подключил универсальный блок питания от ноутбука и печаль в том что перепутал полярность. потом подключил все правильно но ру5 все 8шт. греются как утюг, перепоял память через панельки. обратил внимание что 7 нога не со всеми связана то есть четыре ру5 между собой и на DD17, две между собой и на DD22, и две между собой и некуда не идут. я их обьяденил. итог включил через монохром, показывает бордюр серого цвета, папер белого но не курсора и не работает клавиатура, не работает сброс, иногда бывает после включения и выключения вертикальные полосы, разные иногда меняються местами (ползут).
Задача усложняеться тем что нет схем имено для такой распайки пзу, есть схема как на Ленинград и видемо на заводе видно как затерали дорожки и перекидавали провода.
Большое спасибо )

Полезный комментарий + 0 | Бесполезный комментарий - 0
воскресенье, 22 декабря 08:50:17 2024 | ссылка на пост    
Автор: airlit
Сообщений: 1
Автор: Александр
Константин, добрый день. Снова хочу вернуться к вопросу по расширению памяти на Ленинград 2. Я находил в интернете информацию по доработке именно Ленинград2.
При этом, для расширения использована вот такая схема.
https://disk.yandex.ru/i/K6fPSmulmxywew
Данная схема очень похожа схему расширения памяти по стандарту Скорпион 256, о которой тоже много пишут. Вот эта схема
https://disk.yandex.ru/i/GDDB0lZNHbbzoQ
Процесс расширения именно для Ленинград 2 описан так
Цитата
"A1, A8, A14, A15, D0...D7, /WR, /IORQ, /M1, /RESET берем с соответствующих ног процессора. Если установлен контроллер дисковода, то /IORQ берем оттуда - /IORQOUT (вообщем тот, который блокируется при обращении к портам BDI)
H1 - н.15 DD16 или н.2 DD3
H2 - н. 14 DD13 или н.6 DD3
RAS - н. 1 DD16
V0 - н. 3 DD7
V6 - н. 6 DD8

Режем:
DD13 - отрезать н.4 и н.3 от V0 и V6 соотв. и подать на них GND
DD15 - отрезать н.13 от GND и подать A15VIDEO
DD16 - отрезать н.3 от A8 и подать на нее GND
DD17 - отрезать н.10 и н.13 от A14 и A15 соотв. и подать вместо них A14RAM и A15RAM

Отпаиваем GND от н.1 РУ7 (если подпаивали для проверки ) и подаем на них MA8.
Обязательно собираем блокировку /WE при записи в 0-ю страницу. Запустится все и без нее, но работать будет все с глюками и тесты будут выдавать ошибку."
В принципе, давнный вариант похож на то, что Вы описываете в своей статье применительно к Ленинград 1. Отличие есть только в нескольких моментах.Вот они

V0 - н. 3 DD7
V6 - н. 6 DD8

Режем:
DD13 - отрезать н.4 и н.3 от V0 и V6 соотв. и подать на них GND

Не могли бы Вы пояснить, для чего это делается?

Полезный комментарий + 0 | Бесполезный комментарий - 0
воскресенье, 22 декабря 11:18:33 2024 | ссылка на пост    
Сообщений: 11
Автор: Александр
По совету одного из форумчан попробовал написать простенькую программу на бейсика, которая сначала записывает значение в ячейку памяти, а потом считает его.
https://disk.yandex.ru/i/9B5z2WQcHDU85Q
Это делается для того, что бы понять с какого адреса памяти начинаются проблемы...
Потом дописал программу так, что бы на экран выводились только те считанные значения, которые отличаются от 128.
Результат работы программы виден на фото.
https://disk.yandex.ru/i/yjc_Dc5tpXJyrQ
Проблемы начинаюся с адреса 48947

Полезный комментарий + 0 | Бесполезный комментарий - 0
воскресенье, 22 декабря 15:06:15 2024 | ссылка на пост    
Сообщений: 11

<<<< 29 28 27 26 25 24 23 22 21 20 19 >>>>

Огласите весь список, пожалуйста!

Просмотров страницы: 1,319,189

Имя:
E-mail (можно не указывать):
Сообщение:
Чтобы оставлять сообщения на нашем сайте регистрироваться необязательно, однако регистрация дает ряд преимуществ: возможность вступать в личную переписку с другими пользователями системы, добавлять фотографии/картинки в свой профиль, публиковать сообщения на своей собственной персональной страничке и д.р.

Программирование, оформление: Константин Айги
©2016 CXEMATEKA.RU