ZX-Spektrum на Raspberry Pi Pico
#1
Некоторое время назад наткнулся на видео

https://www.youtube.com/watch?v=tCJqTjAH7W8

Тема ZX-Spektrum меня интересовала давно. В девяностые этот компьютер помог нашей семье выживать. Хотелось иметь в своем арсенале и его. Тем более, что игры для него часто писали энтузиасты. Т.е. была душа...
Скажу честно, отнесся к материалу из видео с некоторой долей скептицизма. Ожидал увидеть нечто вроде демонстратора с ограничениями тут и там, заиканиями и багами.

Собранный эмулятор превзошел ожидания. Полное ощущение полноценного Спектрума. Да, ограничения есть. Нет джойстиков например. Для меня лично это не трагедия. Всерьез я играть по любому не буду.
В голову пришла идея использовать mp3 панели с Али, которых у меня скопилось несколько . Мысль оказалась удачной. Удобно.

Отдельных слов достойна основа компа - Rasberi-Pi-Pico.
При цене на Али в 170 руб, на борту двухядерный процессор. Я покупал вариант с 4 Мб (!!!) памяти. А был еще с 8 Мб.
Программирование его - песня! Зажимаем кнопку Boot и подключаем питание. В системе появляется съемный диск. Забрасываем на него файл прошивки и все!!!
Весьма рекомендую закупиться подобными платами. Она размером похожа на Ардуино-Нано. Чутье подсказывает, что будущее у подобной платформы точно есть. По крайней мере уже видел в сети ослик на 500 килосемплов. Двухлучевой. Простейший до безобразия.

Словом рекомендую желающим повторить проект Алекса Екб, автора  эмулятора Спектрума. Парень сделал очень интересное устройство. 

Жирный плюс проекта - использование стандартной клавиатуры АТХ с PS/2.  Насколько мне известно, многих останавливала необходимость делать клавиатуру самому. Это непросто весьма.
Спектрум подключается к VGA. Загрузка в моем случае с панели плеера или с телефона по блютус на плеер. В моем варианте я вывел разъем мини-джек на 3,5 мм. Но позже от него отказался. Панель плеера решает проблему загрузки. Искать кассетный магнитофон не придется. Панель удобна еще и тем, что можно выбрать номер трека для загрузки. Поэтому рекомендую панели с индикатором и пультом ДУ.

Лично я доволен как слон. Хотя Автор и не рекомендует пока повторять устройство и работает над расширением  его  возможностей, меня этот вариант устраивает вполне.
Рекомендую. Устройство простое. Интересное. Не пожалеете.

По особенностям моей реализации.
Первый вариант платы, что на фото, я делал спустя рукова. Не верил я в этот проект тогда. И допустил грубейшую ошибку. Нарисованные части схемы на СМД компанентах я забыл отзеркалить. Пришлось переворачивать транзисторы и стабилизатор 1117-3,3 на спину. Да и клавишу резет сразу не вывел. А она нужна часто. После каждой игры или неудачной загрузки.

Привожу варианты уже измененные. Все должно быть в норме. В работе не проверял, но ведь и в первой плате я не ошибся если не считать переворота. Если кому то надо будет, выложу и первый вариант.
Транзисторы применил марки ХЗ ( с распая) с порядком выводов слева-направо Б-К-Э  с КУ больше 400.
УНЧ на микросхеме 8002. Они копеечные и неплохо работают. Динамик советую сопротивлением от 8 ом и больше. Меньше будет греться да и потреблять. Все устройство с панелью жрет около 120 мА. При питании 12 вольт стабилизатор 7805 будет греться.

Номиналы деталей указаны в свойствах. Кроме блокировочных кондеров.  Эти на 100n и 10 mkf.
Начинать советую с разъемов VGA и PS/2 .
В печатке я приложил те модели VGA что у меня есть. С ними советую быть внимательней. Стандартизация там относительная. Вроде и похожи, но размеры могут не совпадать где на пол миллиметра, где на три десятки. Лично мне пришлось пилить плату алмазной иглой бормашинкой. Разъем не вставал.

Спасибо Алексу Екб за классную разработку. Рекомендую к повторению. Даже если вы не знакомы со Спектрумом.

Контроллер брал здесь (приложу на всякий случай, ютуб-то-се...)
https://aliexpress.ru/item/1005004096147...8864748089

Продублирую так же ссылку на материалы Автора из видео
https://drive.google.com/file/d/1bHP7ds8...aQyzt/view

Мой вариант платы. Просто измените расширение с zip на lay6. Я его не упаковывал. Просто переименовал.
Там два варианта. Отличаются в мелочах. Вкусовое. Выбирайте любой.

Файлы вложений Эскизы
               


.zip   RP2040_ZX-Sp_2.zip (Размер: 423.96 KB / Загрузок: 12)
#2
(01-09-2022, 17:02)Лекс : Полное ощущение полноценного Спектрума. Да, ограничения есть. Нет джойстиков например.
Спасибо за тему! Да, за этими фактически микрокомпьютерами будущее, а с такими ценами и Ардуино скоро отойдут на второй план.
А какой вариант Спектрума эмулируется - стандартный 48К или же 128 тоже можно? Думаю что над этим есть смысл работать, и уж тем более имеет смысл эмулятора TR-DOS в догонку, ведь фактически последние игры и программы уже были сделаны под дисковую ОСь. (например на SD карточке или CF). А на Microdrive 4 или 6 гиг наверное все существующие программы для Спекки можно загнать.
Что касается джойстиков, то если была бы обычная клавиатура, то можно было бы поцепить джойстик параллельно курсорам (в Спектруме второй джойстик так и подключался).
На полке пылится у меня Raspberry Pi 3b, поигрался, поставил на него Linux (Raspbian), Kodi и еще чего-то, в качестве ТВ приставки. Тут же я так понимаю это будет излишним расточительством ресурсов, если даже 4Мб модели хватает. Придется заказывать, эти микро-платы становятся популярными...
#3
(02-09-2022, 04:33)DarkRus66 : какой вариант Спектрума эмулируется - стандартный 48К или же 128 тоже можно?
Там стартовое меню такое (сорри за некачественный снимок)

Первый пункт Tape Loader.

Пробовал во всех режимах. Вроде все как положено.

Некоторые из опробованных игрушек не запускались в 128 режиме. Но это для спектрума было всегда.
Тейп тестер я не совсем понял. Наверное настройка уровня сигнала.

Субьективно - чуть не щенячий восторг. Все заработало сразу без всяких приседаний. Балдею...

Немного собственно о работе с девайсом.
Включили. Плеер на паузу пультом. Отрегулировали уровень сигнала на плеере. Я ставлю 20-22 из 30 максимально возможных.
Запускаем Тайп Лоудер нажатием энтера и набираем на пульте номер нужного трека. Все.
Уровень писка -регулятором громкости на плате Спектрума. Уровень громкости в играх - им же.

Откуда брать файлы.
Я в свое время скачивал архив с играми для ZX-Spektrum. ftp.worldofspectrum.org Больше 2 гигов.
Виндой открываю заголовки содержимого архива, копирую нужные файлы в отдельную папку. Там разорхивирую. Далее по алгоритму предложенному baskit https://tehnodium.ru/thread-4-post-12553.html#pid12553
Программа Тапир выдает файлы в формате wav. Если ваш плеер это принимает - можно загружать. Если только mp3, то конвертируем. Я пользуюсь онлайн конвертором.

Этот путь только кажется долгим. На практике все довольно просто.

Теперь по типу файлов. Какой брать из архива.
Программа Тапир принимает tap и tzx.
Советую выбирать tzx если есть. Они получаются по размеру больше, но если в игре требуется пауза при загрузке, то она будет и не придется судорожно жать на паузу плеера.

Есть еще в сети ZX Spectrum Turbo Load / Сборник игр для ZX Spectrum (ускоренная загрузка с mp3 устройства), но у меня с ним не сложилось. Похоже на раздаче никого нет. Закачка в торренте так и висела несколько дней.

На данный момент я понадергал штук 50-70 игр. Часть из них хлам. Часть тестовые на иностранческом языке, часть не запускаются. Но с большинством все в порядке.
Т.е. Поиск и обработку можно сделать за один раз. Ну за два - три и больше к этому не возвращаться.

Есть игры и вполне достойные поиграть даже сегодня.

Например Boovie 2. Головоломка. Весьма своеобразно и качественно сделанная.

Файлы вложений Эскизы
   
#4
Класс... А эмуляцию звукового сопроцессора он еще не прикрутил к нему? С сопроцессором многие игры звучат гораздо лучше (если игра его использует, конечно). Я только не могу понять, почему упор именно на Tape вариант, когда последние игры уже были только под TR-DOS, да еще и с автоматической подгрузкой следующего уровня с дискеты (некоторые даже несколько дискет занимали).
И по ссылке вопрос, там что регистрироваться надо чтобы что-то скачать? Сходу не нашел архив... Но это можно и в личку...
#5
(03-09-2022, 03:20)DarkRus66 : А эмуляцию звукового сопроцессора он еще не прикрутил к нему?
В этом варианте нет. У него в видео говорилось о сопроцессоре. Даже пробы показывал.
Лично для меня это не так важно. Меня пока устраивает этот вариант.
(03-09-2022, 03:20)DarkRus66 : почему упор именно на Tape вариант
Это его желание. Он хочет именно так. Но не исключает применения этого варианта. Насколько я понял, парень сейчас в разработке. Занимается и DVI. Пробует разработать универсальную конструкцию, с переключениями на любую конфигурацию.
Я потому это и воспринял поначалу просто как испытательный стенд. И был приятно разочарован.
Ну и мысль с МП3 панелью, что пришла уже мне в голову, оказалась тоже весьма удачной.
Почти как с магнитофоном, но на порядок удобнее. Тем более этих панелей без дела у меня хватает. Набрал в свое время, пока не нашел, то, что меня устраивало.

Что касается архива. Я не знаю, почему он показан как ссылка. Я копировал только название. Советую просто поискать Игры для ZX-Spektrum. Я так и искал. И скачал эти 2 гига с лишним одним архивом. Он специальный, под какую то свою программу для эмуляторов, которая умеет с ним работать напрямую. Но вполне можно как я описал выше.

А програмные эмуляторы меня лично не заинтересовали. Нет какого то ощущения отдельного компа. Не хватает чего то. Эта конструкция как то сразу понравилась. И почему то нет ощущения незавершенности. Даже если автор сильно продвинется дальше и конструкция не станет радикально сложней, я с большой долей вероятности останусь на этом варианте.

Сегодняшнее состояние устройства. Вывел удобно регулятор громкости и кнопку перезагрузки.

Очень может быть, что это окончательный вид устройства. Даже корпус делать не очень хочется. Разве что однажды шлея залетит под хвост.

Файлы вложений Эскизы
       
#6
Господа, вопрос. Может кто имеет опыт по этой части.
Есть у меня DVD плеер. Корпус разбомблен, но это поправимо. И не отпускает меня мысль сделать Спектрум-ноутбук в его корпусе, засунув туда вместо дисковода этот эмулятор от Алекса Екб.

На этом плеере есть вход AV In. Пробовал подавать на него сигнал с приставки DVB-T2 которая валяется без дела. Сугубо для проверки. Все работает. Как я понимаю, на этот вход идет композитный сигнал (могу путать терминологию, не силен в этом, увы).
Не подскажете ли насколько эти входы у плееров стандартные, или там вариантов дофига? И связываться с такими плеерами та еще лотерея?

И может кто знает несложный конвертор с VGA на этот AV In?
Попытка разобраться самостоятельно меня только запутала нафиг.

Понимаю, что можно поискать скалер и пускать сигнал прямо на матрицу, но этот путь дорог и тоже лотерея. Поэтому считаю его нецелесообразным.
#7
Насколько я знаю, входы стандартизированы, сигнал композитный, т.е. в нем замешаны и импульсы синхронизации. Насчет "простого" конвертера VGA вряд ли получится простым, поскольку частоты в VGA выше чем в AV. Но наверное существуют готовые покупные конвертеры (сколько стоят не могу сказать, не интересовался).
Я вот думал о другом пути - думаю что программно (раз уж все равно эмулятор), то не должно быть проблемой сформировать именно Video Out, наряду с тем же VGA или даже вместо него. В одноплатных Basic компьютерах как правило делают именно простой Видео выход, который потом можно подключать к телевизору.
Надо спросить у автора, что он думает по этому поводу, может ли он это реализовать.
Проблема с AV входами, однако - это разные стандарты ТВ в мире (PAL/SEKAM/NTSC), в то время как VGA он везде VGA.
#8
(07-09-2022, 05:27)DarkRus66 : Я вот думал о другом пути - думаю что программно (раз уж все равно эмулятор), то не должно быть проблемой сформировать именно Video Out, наряду с тем же VGA или даже вместо него.
!!! И я думаю так же. Несколько раз спрашивал автора. Но поскольку сам не уверен, то и спрашивал осторожно. Как я понял, автор не в курсе и считает, что там много нюансов, ПАЛ, СЕКАМ и т.п. Он как и я не ремонтник. Я попробовал вникнуть сам... куда там нафиг. Все сплошь на СКАРТ посылают. Запутался и все.
Единственный нюанс, AV In дает менее четкую картинку, чем VGA. Но зато почти любой плеер можно использовать с минимумом переделок. Попробую озвучить ему вашу инфу. Может его заинтересует такой вариант. Будем надеяться, что это вполне реализуемо простыми средствами.
Если все получится, у Спектрума появится хороший шанс на вторую молодость.

У него сейчас стрим идет. Написал прямо туда. Он ответил, что уже пробовал реализацию. ЧБ на ура, а вот с цветом пока не получилось. Сказал, что возможно позже займется. Он пока ваяет переходники для подключения Спектрумов к телевизорам. К DVI.

Посмотрим, может и получится чего. Спектрум-Ноутбук в корпусе от компактного DVD плеера, думаю у этого направления есть перспективы.
#9
DVI есть не на всех телевизорах, сейчас больше распространены HDMI. Ну и VGA вполне достаточно (если звук не нужно туда заводить). AVin больше чем достаточно как для Спектрума.
Меня лично игрушки уже мало интересуют (наигрался вдоволь еще в те далекие времена), так сказать "натестировался" их. Меня больше интересно возможность изменять конфигурацию "железа" - добавлять порты и внешние устройства, а также встроенный Бейсик. Это то, чего не хватает многим современным ноутбукам.
#10
(08-09-2022, 03:24)DarkRus66 : а также встроенный Бейсик. Это то, чего не хватает многим современным ноутбукам.
DarkRus66,
...открываете Excel, затем ALT+F11 и кодите на бейсик'е, проблем нет. А на пайке можно писать на С и на Python'e что в современных реалях заметно выгодней и перспективней.

Лекс,
(07-09-2022, 17:13)Лекс : пока ваяет переходники для подключения Спектрумов к телевизорам. К DVI.
... на сколько я мониторил этот вопрос видео формируется все равно в RGB+HV 800x600 а затем при помощи дешевого переходника подключают DVI (HDMI и eDP то же самое если дружить с паяльником). Пайка 2х ядерная, одно пускают на видео, другое на сам код со всеми его хотелками, где то видел диаграмму распределения ресурсов на этот счет. Даже простенькую 3D-шку гоняют, наверняка на каком нибудь кастрированном OpenGL,т.к. самому такое наваять нереально.
Сам видео не делал, пока не рассматриваю его в приоритете, VS Code ковыряю с широко открытым ртом...