ZX SPECTRUM 48K с Ebay! Разбираем схему, дорабатываем видеовыход, собираем эмулятор клавиатуры PS/2.

ПОДДЕРЖАТЬ КАНАЛ (разово): https://musicboy.ru/majortomworkshop
ПОДДЕРЖАТЬ (ежемесячно): https://www.youtube.com/majortomworkshop/join

Набор для сборки ZX Spectrum https://aliclick.shop/r/c/1r5rnkrr0aaiwwcp
DC-DC преобразователь https://aliclick.shop/r/c/1r1h4c8t5a1ay7cd
Паяльник из видео (TS100) https://aliclick.shop/r/c/1r1g4z2vp207qoge
Футболка ZX Spectrum: https://aliclick.shop/r/c/1r5rneppyl7n4f56
Устр-во воспроизведения TAP файлов для ZX Spectrum https://aliclick.shop/r/c/1r5rngdyi5q0xs4v
Печатная плата ZX Spectrum Leningrad https://aliclick.shop/r/c/1r5rni53sainmuio
Замена мембраны (плата) для ZX https://aliclick.shop/r/c/1r5rnjjdp8kvvngo
Плата муз. процессора ZX Spectrum https://aliclick.shop/r/c/1r5rnn1xfkohbmbs

Видео «Как работает компьютер?» https://www.youtube.com/watch?v=-knefdASOz8

0:00 Любимый компьютер детства — ZX Spectrum
0:43 Что такое ZX Spectrum?
2:00 Заглянем внутрь ZX Spectrum
3:12 Центральный процессор и чип ULA
4:30 Оперативная память компьютера
5:28 ПЗУ (ROM), динамик и ВЧ-модуль
6:14 Принципиальная схема. Мультиплексоры ОЗУ
7:43 Адресация ПЗУ (ROM)
8:17 Чип ULA и его функции
9:37 Как работает опрос клавиатуры в Спектруме?
10:47 Организация порта #FE в ZX Spectrum
11:30 Формирование видеосигнала в ZX Spectrum
12:29 Импульсный преобразователь питания ОЗУ
13:48 Модификация для подключения к Спектруму современного ТВ
14:40 Первое включение с ограничением силы тока.
15:38 Проверяем все напряжения питания
16:17 Можно ли восстановить шлейф клавиатуры?
17:11 Эмулятор клавиатуры на базе Ардуино
18:18 Статическое ОЗУ как основа эмулятора клавиатуры
19:43 Схема и принцип работы эмулятора
20:27 Изготавливаем разъёмы подключения клавиатуры
21:30 Тестируем работу микросхемы ОЗУ КР537РУ25
23:36 Тестируем АП6 и шину адреса
25:08 Первое подключение эмулятора к Спектруму
26:27 Процедура нажатия клавиши по коду ASCII
27:40 Реализация функции двойного нажатия
29:16 Набираем на Спектруме команду загрузки с ленты
29:43 Подключаем внешнюю клавиатуру
30:24 Описание протокола PS/2
31:13 Процедура чтения порта клавиатуры
32:20 Отслеживаем события нажатия и отпускания
32:18 Процедура конвертации кодов PS/2 в коды ASCII
33:43 Первый запуск эмулятора на Спектруме
34:06 Поддержка Backspace и клавиш курсора
34:50 Загружаем в Спектрум игру со смартфона
35:15 Проблема распайки разъёма EAR
36:34 Загружаем мою игру Xonix — проблемы опроса клавиш
37:27 Конвертируем TZX файл в WAV для загрузки
38:02 Дорабатываем процедуру WriteByte()

#majortomworkshop #majortommusic

74 ответа к «ZX SPECTRUM 48K с Ebay! Разбираем схему, дорабатываем видеовыход, собираем эмулятор клавиатуры PS/2.»

  1. Валяется у меня ещё советский ZX Spectrum дома, но вот у него есть одна проблема, картинка через какое-то время просто зависает. Такое начало происходить через пару лет использования. Понятия не имею как это вылечить. Может Том подскажет в чем тут может быть дело?

    1. Очень распространены проблемы с памятью. РУ5, которые использовались в советских клонах не отличались надёжностью. Могут портиться от любого чиха. Проверяется банальной заменой на исправные. Я обычно впаиваю кроватки и устраиваю карусель, чтобы выявить нестабильные модули, параллельно запуская тесты. Ну и банальные проблемы по питанию и неконтакт не стоит исключать.

  2. Вот это ты заморочился! Но приятно… Детство вспомнил. Вспомнил как сам собирал данный девайс. В последствии собирал АТМ Turbo 2+, если не изменяет склероз 😉 На нём уже можно было юзать АТ/ХТ-клавиатуру… Потом даже можно было к нему «подкинуть» винчестер АЖ(!!!) на 10 Mb…
    Короче: тебе РЕСПЕКТ И УВАЖУХА! Спасибо!

  3. Да… Где-то на полке на работе мой старый спектрум валяется… В 89-м делал.. Потом также выпускали у себя на заводе малой серией. Но вроде не успели с рынком..

  4. Очень приятно увидеть сопряжение zx spectrum с современной клавой, да ещё с таким подробным описанием. Отличная работа!
    Я помню игрушку dizzy с 1 по 6, зависал оч долго, пока описание в каком-то журнале не почитал.
    Ксонику быть!

  5. Респект, конечно, но с RAM перебор. Можно было решить просто средствами Ардуино.

    1. Для спектрума чтение из порта — одна команда. За это время(~1мкс) Ардуино надо считать состояние шины адреса и из внутреннего массива данных выдать в порт соответствующие данные. Надо пробовать, конечно, но прямо напряжно по времени получается. Без ассемблерных вставок не обойтись.

    2. @Алекс Екб не-не-не… сам подход не верный, отсюда и эти заморочки с таймингами шин, RAM и тд. А вполне достаточно было Ардуины (для декодинга сигналов клавиатуры с PS2) и полевых транзисторов для коммутации. (де-факто, эмуляции нажатия физических клавиш). В итоге мы получаем простейшую схему из Ардуино + 13 транзисторов + примитивный скетч.

    3. @Алекс Екб кстати, есть ещё один вариант (сугубо средствами Ардуино, даже без ключей) — через прерывания. (Ардуино получает прерывание по определенному адресу и на выходе выдаёт соответствующий ответ на шину данных клавиатуры Спектрума).

  6. Тоже сваял пару спектрумов обеих модификаций. Прилепил герконовую клавиатуру, сделал цветные картинки клавиш и вложил под пластинки целлулоида. Был бАльшой катушечный магнитофон с проводной дистанционной и в заключение прилепил его к цветному УЛПЦТИ 63 телеку. Схему раскопал в болгарском журнале и доработал. НОСТАЛЬГИЯ.

  7. Какая же актуальная для меня тема! Прямо мистика какая-то. Сейчас занимаюсь приделыванием клавиатуры USB к спектруму. Моя мысль остановилась на 40 оптопарах и сдвиговых регистрах 595. Тоже думал про статическое ОЗУ, но схема рисовалась у меня сложнее. Благодарю за идею!

    Не хотите попробовать собрать эмулятор спектрума 128к на ESP32?

    1. зачем там оптопары и регистры, если есть мелкасхема усб хоста и готовые библиотеки к ней?

    2. @kalobyte Вы не поняли. Опрос клавиатуры USB как раз не проблема, а вот доставка данных клавиатуры до спектрума не такая простая задача, как может показаться. Я просто имитирую нажатие любой из 40 клавиш спектрума оптопарами.

  8. Жаль, не всем зайдёт. А так, очень круто всё, как всегда. Мне бы такую педантичность!

  9. Можно видео о коде игры очень интересно как писать на асемблере и аппаратной графике на спеке. Я в своем отрочестве имел кворум и програмировал на асемблере ручным переводом команд в байткод и и записывал его в память через Бейсик.

    1. были спец. программы и даже пакеты типа devpac с ассемблером/дизассемблером

  10. Отличное видео! Пришёл на канал с видео о работе 8 битного компутера

  11. Для меня стало откровением что клавиатура обрабатывается процессором через чтение портов, получается каждая программа должна сама читать клавиатуру. А как дела обстоят с архитектурой джойстиков?

    1. Просчет движения во время обратного ходо луча, вот где круть и откровение! 🙂

    2. один джойстик был по сути копией каких-то кнопок, а второй делался через порт

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

    3. Чтение клавиатуры осуществляется через подпрограмму(ПроцеДуру) в ROM, и соответственно программе достаточно обратится к этой ПроцеДуре а не самой обрабатывать нажатие клавиш.

  12. Большое спасибо за восстановление спектрума. И конечно, же хочется увидеть видео про код игры.

  13. Название ролика увидел и телепортнулся в детство!!! Магнитофон, кассета с играми и заветный звук пии…, успешная загрузка программы… 🙂👍

  14. Привет
    9:18 а если динамик сделать не на эмиттерном повторителе как в схеме, а перенести его в коллекторную цепь?
    Ну, естественно кинуть резистор в базу, и это будет включение с общим эмиттером.

    Звук станет громче.

    1. у меня был такой
      я там сломал эти штуки, которые шлейфы клавиатуры держат
      носил в ремонт в мастерскую

      еще приделал ему импульсный бп от терминала видеотон
      это такой монохромный ящик был с з80 и рф2, где был залит терминал и знакогенератор для латинского и русского
      можно было подключать модем и принтер матричный и звонить на мейнфрейм

      правда я тогда был тупой школьник и не понимали, что мне делать с этим всем
      и инторнет только появился в мухосранске, а нормального компутера не было, да и инфы тоже наверное не было еще в 97 году
      это я только потом уже нашел инфу
      видеотон это вроде была болгарская система, а припер мне его одноклассник, который уже в пту учился
      тогда уже дербанили всякие ес и роботроны

  15. Не Cоникс и не Ксоникс, а Зоникс (Xonix). Когда вы все уже английский выучите…

    1. а ты когда копию паспорта делаешь, тоже тошнишь, что у них не «ксерокс», а «зирокс» ?

  16. В 90-93-х годах помню тоже паял на продажу как Синклеры, так и АОНы, тогда зело модные поделки на Зайлогах Z80. Чуть позже появились «Карт»-ы, радиоудлинители на базе цэковско-совминовской телефонной системы»Алтай».

  17. Зачем так изворачиватся с клавиатурой? не проще ли вытравить на гибком текстолите мембрану?

  18. Как в современном компьютере, ULA это PCH(Хаб) на котором вся перефирия, процессор, ОЗУ, БИОС (микросхема ПЗУ с прошивкой), можно даже снисходительно назвать RF-модулятор видео картой )

  19. круто, выпускайте пожалуйста почаще такие видео. Было бы очень интересно увидеть видео со сборкой такого простого клона компьютера.

  20. Качество контента просто запредельное! Озвучка бомба, подача, бомба!

  21. Много вечеров провёл за ним когда-то, даже программил и писал на кассеты… Эхх

  22. Ну у меня не было Спектрума в детстве, от нищеты были игрушки деревянные прибитые к полу.

  23. отличная работа! как раз изыскиваю способ восстановить Sinclair QL, у которого нет клавиатуры и некоторые трудности с сопроцессором 8103, большая часть информации, как это сделать раскрыта в вашем видео. спасибо!

  24. Был у меня клон Спектрума, даже джойстик вымутил в своё время, Бейсик тогда уже знал, благодаря этой машине научился ассемблеру. По таблице в книге компилировал из ассемблера в машинные кода и их уже через клавиатуру заносил непосредственно в ОЗУ. Потом инициировал выполнение программы переходом в первую ячейку, где был код моей программы. Пробовал игры писать — не моё. Сделал «умный дом» ещё в 2000 году. По таймеру комп включал/отключал магнитофон, менял громкость, включал/отключал свет в комнате и включал электрочайник по утрам😊 это был базовый опыт для перехода к микроконтроллерам. Затем освоил и Си.
    Того компа не осталось, увы, но летом обзавёлся парой клонов, один в исправном (с виду) состоянии, второй как донор. Пока не запускал, тоже возможно пролежат десяток лет😁

Добавить комментарий для балковчанин Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *