ZX Spectrum 128k своими руками
«8 лет я играл в Спектрум в черно-белом цвете и все знаете почему, да потому что наши доблестные телики RGB сигнал вообще не понимали». Хотел бы сказать я, понастольгировать, вспомнить что раньше солнце было ярче а трава зеленее. Но не скажу, в моем детстве слово Спектрум вообще никто никогда не произносил. Все свое детство я играл в денди, позже в сегу, у друзей иногда в супернинтендо. Ни в передаче Денди «Новая Реальность», ни в «От винта», ни в каком либо журнале я не слышал об этом компьютере. Я краем уха слышал о компьютерах, загружающихся с кассет, но никогда их не видел и не знал их названия. Впервые я о нем узнал только когда у меня появился интернет. Почитывал форумы, завидовал тем людям которые в конце 80х начале 90х собирали сами свои компьютеры, а я годноту пропустил. Хотя в те годы я был маленький и при всем желании свой клон спектрума бы не собрал. Много ли я потерял? Вот этот вопрос я не так давно себе стал задавать. Год назад наткнулся на очень хороший видосик где один парень очень подробно рассказал и показал как спаять клон спектрума «Ленинград». Его я пересматривал не раз и в итоге решил «Я соберу свой компьютер с нуля!».
За основу решил взять оригинальную схему Ленинграда с sblive.narod.ru. Ну и добавить кучу доработок, таких как корректировка прорисовки окружности(непонятно как Зонов смог спроектировать компьютер с таким лютым косяком.Выражается в проблемах шрифтов, косяках графики итп), стабилизации кварцевого генератора, стабилизации кадровой и строчной синхронизации, доработка сигнала INT, введение привязки к уровню черного.
Чтобы этот процесс был еще круче и интереснее я не стал искать готовую плату, заказал себе макетку довольно компактных размеров 12*18. Так же пришлось заказать микросхем и другой мелочевки с алиэкспресса и ЧИПиДИПа. Память и процессор пришлось выпаять из неработающего клона, который я недавно получил от одного спектрумиста. Что это за клон до сих пор не знаю, схемы на него нет, и я просто его выпаял из него микросхемы.
Все микросхемы решил поставить на панельки для быстрой замены если что то пойдет не так. Но ведь Спектрум содержит ПЗУ, а его еще надо прошить, программатора у меня не было, но мир не без добрых людей. Вместо двух EPROM решил поставить одну EEPROM W27C512, в который зашил 48к бейсик, 128к бейсик, ТР-ДОС и тест памяти для 48к, также неплохо иметь возможность переключать банки памяти перемычками. Но вот все мои детали пришли, заранее продумав где какая панелька будет стоять, начал их припаивать. Ну и прилепил наклейки на плату с надписями где какая микросхема и номера ножек, что очень облегчило мне жизнь в дальнейшем.
Уделяя пару-тройку часиков в день за две с половиной недели все таки собрал. Не терпелось сразу его подключить. И после включения я увидел белый экран, что же уже неплохо подумал я. После перепроверки всей платы, убрав пару косяков ситуация лучше не стала. Я долго не мог понять в чем дело но потом узнал что не стоит мешать КМОП и ТТЛ микросхемы. Да, я тот еще радиолюбитель. Пришлось опять заказывать детали и ждать. После замены всех КМОП микросхем на ТТЛ все таки появилась заветная надпись, но изображение плыло.
Обращение на форум zx-pk.ru дало отчасти понять что происходит, но решения у меня не было. В итоге пришлось часами сидеть над схемой. И вуаля, я просто неправильно понял схему доработки формирования сигнала INT, точнее я сначала правильно ее понял, а потом подумал что неправильно и сделал с косяком. Что же, еще одна проблема устранена. Но не все так радужно как хотелось бы, на моем мультимедийном мониторе постоянно бежали кадры. И тут я решился подключить с старому доброму телевизору SHARP, который меня никогда не подводил. Но правда в ч\б, так как RGB-скарта в нем нет. И картинка на нем почти не дергалась. Опять обращение на форум дало дельный совет, сделать фильтр для импульсного блока питания.
И вот наконец то картинка нормальная, никаких подергиваний, запускаем тест памяти.
Но ведь для спектрума нужна еще и клавиатура. Тут я выкрутился довольно оригинально, взял старую клавиатуру, вытащил из нее пленку с контактами, порезал гетинакс на кусочки, напаял на него контакты, обработал их напильником и приклеил термоклеем к клаве, ну и спаял их по схеме. Получилась довольно громоздкая внешняя клава. Ну и порты для синклер джойстиков прямо в клавиатуру встроил. Подходят джойстики от сега мастер систем или атари, ну или как в моем случае перепаяный внутри сеговский джойстик, для которого я вывел клавишу пробел(а именно она почти всегда используется как дополнительная ) на кнопку А, ну и при нажатии кнопки С дублируется нажатие вверх, что удобно в платформерах.
С динамиком у меня как то не задалось и я просто вывел бипер на телевизор, так хотя бы громкость можно регулировать. Написав простенькую мелодию в бейсике, потестировав звук решил загрузить какую нибудь игру. И… ничего у меня не получилось. Магнитофонную читалку собирал на К554СА3, перепробовал несколько микросхем, перепроверял всю схему но не завелось, почему, до сих пор не понятно. Пересобрал читалку на 561ЛН2 по схеме от пентагон-48(сначала на макетке перед тем как паять) и все заработало с первого раза. Игры хоть и загружались но большинство висло сразу же, в некоторые вроде DIZZY 5 удавалось немного поиграть.
Один раз как то проснувшись утром я призадумался, а правильные ли я впаял конденсаторы… и ОМГ, вместо 47 нанофарад я впаял 47 пикофарад, а еще хотел чтоб что то работало. Еще раз заказываем недостающие детали, ждем. После глобальной перепайки конденсаторов наконец то можно нормально поиграть, больше ничего не виснет. Приходилось себя успокаивать, что все равно большинство игр на спектруме монохромные и я не так уж много теряю, что в в конце 80х далеко не у всех были цветные телики и многие играли в него с ч\б картинкой. Но как то не шибко помогало, знаете ли.
А на моем LCD мониторе кадры все равно бегали. В итоге я все таки решился впаять дополнительную микросхему для укорочения строчного синхроимпульса, которую я хотел поставить еще в начале сборки но почему то решил сэкономить. В итоге наконец то получил хорошую цветную картинку.
Изображение правда немного двоит. Проверил на LCD телевизоре, двоения не видно. Картинка отличная. Супер! Но на моей плате еще есть свободное место и глупо было бы его не использовать. Сделать расширение памяти до 128к и поиграть в кастлванию 2015 года было бы здорово. Для этого поменяем наши К565РУ5 на К565РУ7 или аналог MN41256-08, который без проблем можно купить на алиэкспресс. Добавив еще 7 микросхем, включая звуковой чип YM2149F плату заполнил полностью. Проблем никаких с апгрейдом памяти не возникло. Расширял память до 256к по этой схеме, но все же использую ее в режиме 128к.
В итоге получилось вот это
Изначально юзать плату на столе я не собирался и для этого подобрал корпус от старой ТВ-приставки, теоретически туда можно поставить и дополнительную плату контроллера дисковода вторым этажом, но я пока не хочу этим заморачиваться.
Игры на спекки оказались лютым хардкором, мне удалось пройти только недавно вышедший Mighty Final Fight.
Так много ли я потерял из за отсутствия этого компьютера в детстве? В плане игр вряд ли, хотя возможность переписывать игры с кассеты на кассету могла бы мне очень прийтись по душе. В плане программирования на бейсике, вряд ли бы в то время меня это заинтересовало.
Как собрать спектрум
«То, что не удаётся запрограммировать на ассемблере, приходится паять» (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»
Монтажная схема компьютера «Ленинград 48k»
Схема на просвет адаптированная для печати:
Увеличение памяти компьютера «Ленинград 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:
Этапы сборки, немного фоток
Оригинальная плата «Ленинград 48k» 1988:
«Ленинград 48k» в сборе:
«Ленинград 48k» с контроллером XT-клавиатуры Profi:
«Ленинград 128k» в сборе:
«Ленинград 128k» с контроллером дисковода и музыкальным сопроцессором:
«Ленинград 128k» с контроллером дисковода, музыкальным сопроцессором и дисководами:
Кстати, недавно копаясь в ворохе старого железа и документации, нашел совсем уж экзотическую вещь: настоящий ценник, видимо где-то середины 90-х:
Да, да, контроллер тогда стоил 75 тысяч рублей )) И обратная сторона ценника порадовала не меньше – выяснилось, что он нарисован на куске перфокарты. 😉
Да. В этом есть определенный философский подтекст: ценник на контроллер носителя информации нового поколения нарисован на обрывке носителя информации старого поколения. )
Полезные файлы:
Имя файла: DIZZY_5r_48k.zip (109K)
MD5: e55b3dd84cba8895ebcce6b4efbe5607
Игра «DIZZY 5». Русифицированная версия игры,
адаптированная мной в 1996 году для спекртрума 48k.
В архиве игра в трех форматах: TAP, HOBETA, SCL.
Имя файла: wildseyr.zip (68K)
MD5: 62511c9b12f42794053805e140af3009
Игра «Сеймур на Диком Западе» (русифицированная мной в 1996 году).
В архиве игра в формате SCL.
Имя файла: test48k.bin (2,0K)
MD5: 4bf68803c17aa614b7fbfa939549eaec
Контрольная сумма прошивки: 85E7
Тестовая прошивка 48k (модифицированная версия —
убрал нудную процедуру заполнения экрана, ненужную проверку ПЗУ).
Имя файла: test128k.bin (2,0K)
MD5: 5247c2d7d5c77d270d98d6c0080493da
Контрольная сумма прошивки: E413
Тестовая прошивка 128k.
Имя файла: sos48k_only.bin (16K)
MD5: 4c42a2f075212361c3117015b107ff68
Контрольная сумма прошивки: 1F64
Стандартная операционная система
для «ZX Spectrum» 48k (1982 Sinclair Research Ltd).
Имя файла: 27512.bin (64K)
MD5: 77cec243abe304ba3603b63b88709cae
Контрольная сумма прошивки: 9135
Комбинированная прошивка для ПЗУ 27512:
Банк 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ТМ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).
ОПИСАНИЕ СХЕМЫ КОМПЬЮТЕРА
Х.Х Устройство и работа компьютера
Принципиальная схема компьютера приведена в ПРИЛОЖЕНИИ 4
(вклейка в конце книги).
♦ ТАКТОВЫЙ ГЕНЕРАТОР.
Собран на элементах D1 и D2. Частота задается кварцевым
резонатором на 14 МГц, а на выходах 5 и 6 счетного триггера
D2.1 вырабатываются две противофазные серии вдвое меньшей
частоты. Если у вас имеется кварц на частоту 7 МГц, то, ус-
тановив перемычки SA1 в соответствующее положение, можно
исключить из схемы счетный триггер на элементе D2.1 и ис-
пользовать противофазные сигналы с выходов 6 и 8 элемента
D1, следующие с частотой кварца.
♦ УЗЕЛ СИНХРОНИЗАЦИИ И ФОРМИРОВАНИЯ ТЕЛЕВИЗИОННОГО КАДРА.
Сигналы синхронизации и формирования телевизионного
кадра, а также управления регенерацией ОЗУ формируются аппа-
ратно из сигналов на выходах счетчиков D3-D6. На выходе
счетчика D3 вырабатываются сигналы НО, HI, Н2 и НЗ. Инверти-
руя сигнал НО, получаем сигнал CAS для тактирования микрос-
хем ОЗУ. Сигнал RAS, переключающий адресные мультиплексоры
D15, D16, получается задержкой сигнала НО на один такт (вы-
ход 9 элемента D2). Инвертированный сигнал RAS служит для
тактирования процессора. Сигнал «SCREEN» — признак экранной
области — служит для загрузки сдвиговых регистров D33, D41.
Сигнал «BORDER» — признак бордера — загружает в регистры
стробируемых мультиплексоров D30, 1)31 атрибуты цвета бор-
дера .
Сигналы на выходах D3-D6 и триггеров микросхемы D8 служат
для определения номеров позиции в строке и номеров строк в
кадре. На выходе 3 элемента D44 вырабатывается строчный
синхроимпульс SS. На выходе 6 элемента D40 вырабатывается
кадровый синхроимпульс KS с частотой 50 Гц. С такой же час-
тотой элемент D1 (выход 10) вырабатывает сигнал прерывания
IHT, по которому во время обратного хода луча телевизора
производится опрос kj> хвиатуры и других устройств ввода.
В компьютере не обязательно применять кварц с частотой 14
(или 7) МГц. Схема синхронизации допускает настройку на час-
тоту генератора довольно в широких пределах. Для этой цели
предназначены перемычки SA2, которыми можно изменять коэффи-
циент пересчета счетчика D4. Включение входов предустановки
счетчика D4 в зависимости от частоты кварца показано в таб-
лице на схеме компьютера (см. ПРИЛОЖЕНИЕ 4 (вклейка)). При
частоте генератора, кратной 500 кГц, возможно получение
стандартной частоты кадровых синхроимпульсов (50 Гц). Если
частота Вашего кварца не кратна 500 кГц, то нужно установить
перемычки в положение, соответствующее ближайшей указанной в
таблице частоте. Устойчивость синхронизации телевизора не
пострадает. Естественно, что при изменении частоты генера-
тора изменится быстродействие компьютера, но это не страшно,
так как при вводе с магнитной ленты компьютер настраивается
на частоту следования сигналов с магнитофона.
♦ ЦЕНТРАЛЬНЫЙ процессор.
Основой компьютера является процессор Z80A — один из са-
мых мощных восьмиразрядных процессоров, очень популярный за
рубежом. Массовый выпуск его отечественного аналога
1810ВМ80 — к сожалению, еще не налажен.
Регистры D46, D47 выполняют роль адресных шинных формиро-
вателей, а микросхемы D51, D52 образуют двунаправленную шину
данных.
Функции системного контроллера выполняют элементы D14 (на
выходах 3 и 11 вырабатываются сигналы обращения к внешним
устройствам IORD — ввод, IOWR — вывод), D10 (выходы 10 и
13), D12 (на выходах 3 и 6 сигналы RDROM — чтение ПЗУ и
CSRAM — обращение к ОЗУ).
♦ ПОСТОЯННОЕ ЗАПОМИНАЮЩЕЕ УСТРОЙСТВО.
Состоит из двух микросхем типа К573РФ4 и имеет объем 16К
байт. В нем записаны монитор, интерпретатор Бейсика и знако-
генератор. Кроме этого, имеется микросхема К573РФ2, содержа-
щая тест-программу проверки компьютера. Коды прошивки ТЕСТ-
ПЗУ приведены в ПРИЛОЖЕНИИ 1.
♦ ОПЕРАТИВНОЕ ЗАПОМИНАЮЩЕЕ УСТРОЙСТВО.
Узел динамического ОЗУ объемом 48К байт включает в себя
собственно микросхемы памяти D21-D28 типа 565РУ5, мультип-
лексоры D15-D19 типа 555КП11 и буферный регистр 555ИР22
(D32). Здесь емкость микросхем 565РУ5 используются не пол-
ностью, так как старшие 16К байт адресного пространства про-
цессора отведены постоянному запоминающему устройству. Муль-
типлексоры D15, D16 формируют адреса при обращении процес-
сора к ОЗУ, a D17-D19 — адреса регенерации и обращения к еи-
деообласти ОЗУ.
♦ УЗЕЛ ФОРМИРОВАНИЯ ВИДЕОСИГНАЛА.
Узел формирования видеосигнала собран на сдвиговых ре-
гистрах D33, D41 и D35, стробируемых мультиплексорах D30,
D31, мультиплексоре D36, элементах D11 (выходы 3, 6, 11),
D13 (выход 11), D43 (выход 12) и транзисторах VT4-VT10.
В сдвиговый регистр D33 в конце цикла обращения к данным
изображения по сигналу SCR заносятся эти данные в параллель-
ном коде, а затем выдаются в последовательном коде с часто-
той ТИ. В конце цикла обращения к данным атрибутов по зад-
нему фронту сигнала Н2 во внутренние регистры мультиплексо-
ров D30, D31 заносятся атрибуты. Сдвиговый регистр D35 за-
держивает сигнал данных изображения на время между загрузкой
сдвигового регистра D33 и загрузкой внутренних регистров
мультиплексоров D30, D31. При нахождении луча вне границ ви-
деополя регистры мультиплексоров D30, D31 загружаются со
вторых входов данными, поступающими с регистра бордера
(D39). Переключением входов мультиплексоров D30, D31 управ-
ляет сигнал «BORDER»•
Окончательную обработку последовательного кода данных ви-
деоизображения производит элемент D11 (выход 3). При наличии
высокого уровня на выходе 12 мультиплексора D31 на вход 1
элемента D11 проходят импульсы «моргания» «FLASH» с выхода
11 счетчика D7. На вход 2 элемента D11 поступают последова-
тельные данные изображения «VBYTE» с выхода сдвигающего ре-
гистра D35. С выхода 3 элемента D11 данные изображения с
атрибутом «моргания» поступают на вход 1 микросхемы D36, уп-
равляя выборкой цвета точки или цвета поля. На вход 15 этой
же микросхемы поступает смесь строчных и кадровых синхроим-
пульсов с элемента D11-11 (если используется телевизор типа
УПИМЦТ) или с элемента D43-12 (для телевизора типа ЗУСЦТ).
На выходах 4, 7 и 9 мультиплексора D36 вырабатываются сиг-
налы цветов. На выходе 12 этой микросхемы вырабатывается
сигнал, предназначенный для увеличения яркости цветовых сиг-
налов, который складывается с каждым цветовым сигналом на
резисторно-диодной матрице (диоды VD5-VD7 и резисторы R29-
R38). Затем видеосигналы цветности через эмиттерные повтори-
тели на транзисторах VT4-VT6 поступают на разъем «TV». Эти
же сигналы суммируются на резисторной матрице (R42-R44), к
ним прибавляется сигнал «SYHC» (смесь кадровых и строчных
синхроимпульсов) через резисторы R32, R41, и эта смесь пос-
тупает на эмиттерный повторитель VT7, образуя сигнал «VIDEO»
для чернобелого телевизора. Причем каждый из сигналов цвет-
ности поступает на суммирование через резисторы разного но-
минала, чтобы превратить цветное изображение в чернобелое
полутоновое.
Транзисторы VT8-VT10 формируют инвертированные сигналы
R,G,B. В зависимости, от используемого телевизора выбор пря-
мых или инверсных сигналов R,G,B осуществляется перемычками
♦ ПОРТ ВЫВОДА.
Выполнен на микросхеме D39 (555ТМ9). Его разряды Q2-Q4
определяют цвет бордера, разряд Q1 с подключенным к нему
RC-фильтром (R24, R26, С12, С13) формирует сигнал вывода на
магнитофон, разряд Q0 — звуковой сигнал. Данные в регистр
записываются процессором, то есть сигналы цвета бордера, вы-
вода на магнитофон и звуковой сигнал вырабатываются прог-
раммно .
♦ ПОРТ ВВОДА.
Собран на мультиплексорах D37, D38 типа 555КП11 и рабо-
тает следующим образом. Сигналы опроса КА8-КА15 с адресных
шин процессора через развязывающие диоды VD11-VD18 и разъем
■»KEYBOARD» поступают в клавиатуру и через замкнутый контакт
нажатой клавиши проходит на один из входов микросхем D37 или
D38 (в виде сигналов KL0-KL4), откуда при наличии сигнала
IORD и низкого уровня на шине адреса АО попадает на шину
данных. Если же разряд АО шины адреса имеет высокий уровень,
то считываются сигналы с джойстика (DV0-DV4) и магнитофона
(сигнал TIN).
♦ УЗЕЛ ВВОДА С МАГНИТОФОНА.
Узел ввода состоит из операционного усилителя А1
(К140УД1208), выполняющего роль усилителя-ограничителя, и
компаратора А2 (554САЗ), формирующего стандартные ТТЛ-уровни
из входного сигнала.
X.2• Замена элементов
♦ ПРОЦЕССОР.
Можно применить любой процессор Z80 или совместимый с
ним, например U880 производства ГДР. Нужно только учесть,
что процессоры, не имеющие буквенного индекса в обозначении
(Z80) рассчитаны на тактовую частоту до 2,5 МГц, поэтому не
все их экземпляры будут работать на частоте генератора 14
МГц, хотя большинство все же заработает. В этом случае жела-
тельно установить частоту генератора близкой к минимальной.
Процессоры Z80A, Z80B можно ставить без ограничений.
♦ МИКРОСХЕМЫ ПЗУ.
Вместо микросхем К573РФ4 можно применить К573РФ6 или их
зарубежный аналог — ПЗУ типа 2764. При этом схема включения
не изменится. В крайнем случае, вместо двух К573РФ4 можно
использовать восемь микросхем типа К573РФ2 или К573РФ5 (за-
рубежный аналог — 2716), включив их по схеме, показанной на
рис. 1.1. Здесь дешифратор 555ИД7 осуществляет выбор нужной
микросхемы ПЗУ. Конечно, их придется смонтировать на отдель-
ной плате, расположив ее рядом с основной. При этом наг-
рузка на адресные шины возрастет и желательно, чтобы шины
адреса были буферированы. Возрастет и потребляемый ток.
Есть еще один способ уменьшить количество дефицитных мик-
росхем ПЗУ. Для втого запишите в микросхему К573РФ2 или
К573РФ5 коды из таблицы ПРИЛОЖЕНИЯ 3, и установите ату мик-
росхему на место ROMO, отогнув предварительно у нее вывод
21. Соедините вывод 21 с контактом панели 28. Произведите на
плате изменения, показанные на рис. 1.2. Жирными линиями вы-
делены вновь введенные элементы и связи, а перечеркнутые
связи нужно разорвать.
В ПЗУ будет записана резидентная програима-загрузчик.
После включения она производит проверку ОЗУ в адресах О —
16384, куда потом будет загружена операционная система.
После завершения теста на экран выводится:
Введите с магнитофона программу "МОНИТОР-16К" (совпадает
с содержимым ROMO-ROM1, время ввода около 1,5 минут), кото-
рая загрузится в адреса 0-16384 ОЗУ и будет залрпцена от дос-
тупа. Дальнейшая работа не отличается от работы со стандарт-
ной версией ПЗУ. Можно работать со всеми програкмами и возв-
ращаться в ОС кнопкой "RESET". После выключения питания при-
дется снова загрузить "МОНИТОР-16К".
После таких изменений можно использовать и другие версии
ОС, например, с русским шрифтом и т. д.
Можно смело использовать микросхемы 565РУ5 с индексами Б,
В, Г. С микросхемами 565РУ5Д могут возникнуть сложности
из-за их низкого быстродействия. Но можно попробовать до-
биться надежной работы микросхем 565РУ5Д, снижая частоту
тактового генератора. Без изменения схемы можно ставить
565РУ7, соединив их выводы 1 с общим проводом, но их емкость
будет использована лишь на четверть. В принципе, возможно
применение микросхем 565РУ6, но их потребуется 32 штуки плюс
дополнительные схемы дешифрации подобно тому, как это было
сделано при замене 573РФ4 на 573РФ2. Конструкция получается
громоздкой и сложной, поэтому схема такой доработки не при-
водится.
♦ МИКРОСХЕМ* СЕРИИ 555 И ОСТАЛЬНЫМ ЭЛЕМЕНТЫ.
Все микросхемы серии 555 можно без ограничений менять на
аналогичные микросхемы серии 1533. Некоторые могут быть
также заменены на микросхемы серий 155 или 531. Возможности
замены регистров, мультиплексоров, счетчиков и других мик-
росхем в схеме Зонова на микросхемы серий 155 и 531 ограни-
чены, в основном, тем, что их входы подключены к выходам
микросхем памяти или процессора, которые имеют невысокую
нагрузочную способность. Можно заменить на серии 531 и 155
мультиплексоры D17-D19 и D36, а также счетчики D3-D6 и неко-
торые логические микросхемы, не нагружающие шины процессора
и ОЗУ.
Что касается микросхем D30-D33 (по схеме Зонова), то их,
в принципе, можно заменить на микросхемы серии 531, но с ус-
ловием, чтобы выходы микросхем ОЗУ были нагружены не более,
чем на один-два входа микросхемы серии 531, а остальные
подключенные к ним микросхемы были из серии 555 или 1533. То
же самое можно сказать про микросхемы, нагружающие шины про-
цессора .
Регистр D32 можно заменить на 555ИР23, проинвертировав
сигнал WRBUF на входе 11, как это предусмотрено на предлага-
емой схеме (перемычка SA6). По функциональному назначению
регистру 555ИР22 полностью аналогичен регистр 580ИР82, но у
него, к сожалению, отличается разводка выводов и больше
энергопотребление. Регистр 555ИР9 в схеме Зонова можно заме-
нить на два регистра 555ИР16, включив его как в нашей схеме
(D33, D41). В обеих схемах регистры 555ИР16 можно заменить
на 555ИР1. Схему включения менять не надо.
В нашей схеме в качестве формирователей шин адреса можно
применить любые предназначенные для этого микросхемы
(580ИР82, 555АП4 и др.) в соответствующем включении, а в ка-
честве двунаправленного буфера шины данных идеально подходят
микросхемы 555АП6, 580ВА86. Счетчик 561ИЕ10 можно заменить
на 555ИЕ19 (отличается цоколевка!). Компаратор 554С.АЗ заме-
ним на 521САЗ, отличающийся типом корпуса и нумерацией выво-
дов. Операционный усилитель 140УД1208 можно заменить на
140УД12 без изменения схемы, или на 140УД6 (140УД608), иск-
лючив резистор, подключенный к выводу 8. Транзисторы можно
Радиоконструктор AVR ZX Spectrum V2.0 (Описание, инструкция по сборке, инструкция по программированию)
Описываемое устройство представляет собой дальнейшее развитие ZXSpectrum на микроконтроллерах AVRV1_0, уже представленное ранее. Как и ранее, это полноценный программно-аппаратный эмулятор всемирно известного и по сей день ПК ZX Spectrum.
- Разрешение экрана: 256 х 192 точки;
- Матрица знакомест экрана: 32 х 24;
- Количество цветов на знакоместо: 2;
- Число цветов экранной области: 8;
- Число цветов бордюра: 8;
- Число градаций яркости для каждого цвета: 2;
- Эквивалентная частота ЦП: 2,333 МГц;
- Порты ввода/вывода: 0xFE, 0x7FFD, 0xFFFD, 0xBFFD;
- Клавиатурный интерфейс: PS/2;
- Число задействованных клавиш: 82;
- Число каналов звукового сопровождения: 4;
- Перечень каналов звукового сопровождения: левый AY8910, правый AY8910, средний AY8910, бипер;
- Видеовыходы: ЧБ выход, RGB выход, отдельный выход синхронизации;
- Поддержка загрузки/выгрузки «на ленту»: имеется;
- Дополнительные устройства ввода/вывода: micro-SD карта;
- Поддерживаемые модели ZXSpectrum: Pentagon 128 K, ZXSpectrum 128 K, ZXSpectrum48 K, ZXSpectrum+2, ZXSpectrum+3, ZXSpectrum48 K` 2006; OPEN SE BASIC 128 K, OPENSEBASIC 48 K,
- Дополнительная операционная система: SDDOS;
- Файловая система: FAT32;
- Разъём шины ввода/вывода: имеется;
- Конструкция: двухсторонняя печатная плата 140 х 22 мм, установка внутри клавиатуры или в отдельный корпус;
- Питание устройства: соединитель mini-USB«F», напряжение +5 В.
Как можно видеть из приведённых технических характеристик, отличается версия V2_0 от своего предшественника рядом конструктивных, аппаратных и программных усовершенствований.
- Наличие SDкарты и дисковой операционной системы SDDOS, работающей под файловой системой FAT32, позволяет удобно подготавливать файлы на IBM-совместимом ПК, записывая их на карту памяти, а также мгновенно запускать их в SDDOS;
- Клавиатура теперь значительно расширена. Полностью задействована дополнительная клавиатура, клавиши F1. F12, «-», «+», «[», «]», «:», «/», «<», «>», «”», что предоставляет значительные удобства;
- Предусмотрена возможность установки разъёма для подключения клавиатуры на плату. Что делает более удобным проектирование расположения платы внутри какого либо корпуса.
- Эмулятор музыкального сопроцессора AY8910(12) теперь не распаивается в переходные отверстия, а стыкуется к системной шине на разъёме;
- Выведены отдельные разъёмы для внешнего программирования микроконтроллеров ATMega128-16AU;
- Питание устройства теперь осуществляется через соединитель mini-USB, устанавливаемый на плату, что делает возможным использование для питания устройства обычных зарядных устройств и источников питания для многочисленных на сегодняшний день гаджетов;
- Центральный процессор теперь ориентирован правильным образом на плате;
2. Схема электрическая принципиальная
Схема устройства приведена на рисунке 1.
В устройстве можно выделить следующие функциональные блоки:
- блок центрального процессора собран на элементах D2, C2, C2, R17. R19, R26, C10. C13, XS3, XP2;
- контроллер клавиатуры выполнен на элементах D4, C4, C6, BQ1, R11, R17, R26, XS1;
- блок видеопроцессора выполнен на элементах D1, C1, R1. R8, XP1;
- блок формирования видеосигнала реализован на элементах D3, C5, R9, R12. R41, VT1. VT5, VD1, VD2, K1. K7;
- блок ОЗУ со страничной организацией выполнен на элементах D5. D7, C7. C9, VD1, VD2;
- блок эмулятора музыкального сопроцессора реализован на элементах D8, C17. C24, R43. R46, BQ2, XS2 XS6, K8, K9;
- блок цепей питания включает в себя элементы DA1, C14, C15, XS5.
Рисунок 1 – схема электрическая принципиальная AVRZXSpectrumV2_0 (подробная схема в архиве внизу статьи)
Блок центрального процессора
RD, а при записи – сигнал
WR контроллера. После выполнения операции чтения/записи контроллер закрывает интерфейс с внешней памятью и деактивирует (устанавливает в «1») сигнал RBBCP.
RESET2 используются при внутрисхемном программировании и эквивалентны сигналам MOSI, MISO, SCKи
RESET программатора. Также сигналы PDI2, PDO2, SCK2 вместе с сигналом
CS_SD используются в качестве SPI интерфейса с micro-SD картой памяти, и эквивалентны сигналам SD_IN (вход), SD_OUT (выход), CLK (синхронизация данных) и CS (выбор карты) интерфейса micro-SD карты. Согласование уровней происходит программно, логическая «1» на выходах контроллера PDO2 и SCK2 формируется путём включения подтягивающего резистора.
Контроллер клавиатуры
Блок видеопроцессора
Блок ОЗУ со страничной организацией
RD, а запись – активацией сигнала
Блок эмулятора музыкального сопроцессора
3. Сборка
- при пайке следует использовать припой с низкой температурой плавления, температура жала паяльника не должна превышать 300 °С;
- жало паяльника должно быть надёжно заземлено;
- при пайке должен использоваться антистатический браслет;
- Рабочее место должно быть хорошо освещено;
- После каждой сборочной операции необходимо при помощи тестера в режиме прозвонки проверить смонтированный узел на отсутствие коротких замыканий, в особенности между соседними выводами микросхем и между цепями питания;
- После каждой сборочной операции рекомендуется смыть следы флюса (канифоли) с платы спирто-бензиновой смесью и тщательно просушить плату;
- Работать с SMD монтажом следует на оборудованном соответствующим образом рабочем месте с хорошим освещением;
- При сборке пользуйтесь сборочным чертежом (см. рисунок 3).
Сборка блока контроллера клавиатуры
Сборка блока видеопроцессора и блока формирования видеосигнала
Сборка блока ОЗУ
Сборка блока центрального процессора
Сборка блока эмулятора музыкального сопроцессора
4. Подключение устройства и проверка работоспособности
Контакт платы | Назначение сигнала | Контакт SCART | Примечание |
K1 | RGB ON | 16 | Переключение видеоустройства в режим RGB (для SCART)или цепь питания +5 В (для кодеров PAL (SECAM)). При работе с кодером PAL(SECAM) установите вместо резистора R36 перемычку. |
K2 | SYNC | 20* | Сигнал синхронизации |
K3 | BLUE | 7 | Синий компонент цвета |
K4 | RED | 15 | Красный компонент цвета |
K5 | GREEN | 11 | Зелёный компонент цвета |
K6 | GND | 4,5,9,13,17 | Общая цепь |
K7 | VIDEO | 20* | Выход ЧБ видеосигнала |
K8 | LEFT | 6 | Выход левого канала аудио |
K9 | RIGHT | 2 | Выход правого канала аудио |
Работа в SD DOS.
5. Программирование
Схема программатора сделана на основе ALTERA ByteBlaster MV (http://www.altera.ru/cgi-bin/go?35)
и адаптеров для программы AVREAL (http://real.kiev.ua/old/avreal/ru/adapters.html).
Для прошивки микроконтроллера ATMEL выведен дополнительный разъем по стандарту ATMEL.
Применяется один и тот же десятижильный шлейф, который подключается к соответствующей паре разъемов.
Питание платы программатора берется с прошиваемой платы.
Для программирования будем подключаться через соединитель XP2 (ALTERA). В качестве ПО можно использовать программу Ponyprog или AVREAL. Программатор требует напряжения питания +5В, которое в случае программирования D4 и D8 подаётся от внешнего стабилизатора, а в случае программирования D1 и D2 подводится от платы AVR ZX Spectrum, подключенной к источнику питания.
Для прошивки контроллера клавиатуры D4 и контроллера эмулятора музыкального сопроцессора D8 будем использовать файлы …\\Soft\ Контроллер клавиатуры (D4)\ zxkeyboard_v2_0.hex и . \\Soft\Эмулятор AY (D8)\ AY_Emul.bin соответственно. Эти модули прописываются во FLASH память микроконтроллеров и являются исполняемыми программами. Программирование EEPROM не требуется. Биты конфигурации должны быть установлены в соответствии с таблицей 2
Таблица 2 – биты конфигурации контроллеров D4 и D8
D4 *
D8 *
на Ваше усмотрение
на Ваше усмотрение
Сконфигурирован внешний кварцевый резонатор
Сконфигурирован внешний кварцевый резонатор
* «V» означает активное (запрограммированное, «0»), «-» — неактивное (не запрограммированное, «1»), состояние бита конфигурации, «