Эмулятор ZX Spectrum c выходом VGA на STM32F401(411).
Вставка
- Опубліковано 20 бер 2023
- Эмулятор ZX Spectrum c выходом VGA на STM32F401(411).
Схема подключения 74VHC244MTCX & 74VHC86MTCX:
Сonnection diagram 74VHC244MTCX & 74VHC86MTCX:
drive.google.com/file/d/1i1F5...
Схема подключения SN74HC244N & SN74HC86N:
Сonnection diagram SN74HC244N & SN74HC86N:
drive.google.com/file/d/1GJfr...
Схема подключения MM74HC244WM & 74HC86D:
Сonnection diagram MM74HC244WM & 74HC86D:
drive.google.com/file/d/122q1...
Прошивка STM32F401:
Firmware STM32F401:
drive.google.com/file/d/190DW...
Прошивка STM32F411:
Firmware STM32F411:
drive.google.com/file/d/1Nlki...
Поддержать автора можно на карту Сбербанка - 4817 7602 5061 7150
QIWI Кошелек: qiwi.com/n/ZXMAGICDONATE
Donate.stream - donate.stream/yoomoney4100118...
Спасибо. Круто, что продолжаете работу. Ждем все запланированное 🤞
Спасибо, продолжу.
Благодарю за вашу работу.
Спасибо, Сергей.
Крутой проект !
Спасибо !
Благодарю.
Дал же Всевышний мозгов
:)
Работа вызывает уважение! Буду ждать продолжения! Спасибо! Если перейти на обычную клавиатуру и карточки памяти, то можно все это добро прямо в нее и запихнячить, будет только внешний маленький БП и несколько разъемов прямо в клаве !
Спасибо, Леонид. Уже в процессе подключения клавиатуры PS/2. Проблем быть не должно, скорость работы клавиатуры на столько маленькая, что даже "классический" (двигать биты по прерыванию) способ подключения не сказывается на работе, но хочется подключить KB красиво. БП не нужен, штатный на отладочной плате всё вытягивает. SD карта мне кажется обычная вещь, а малого объема наверняка осталась от старого гаджета.
Спасибо. Понравилось))) Хочу. Значит буду повторять)))
Спасибо, Виталий, буду ждать отзыва.
Громадный лайк !!! :)
Благодарю.
Очень круто! Как говорят: RESPECT!!!
Спасибо, Олег.
Спасибо, навеяло время, когда дома писАл машинный код на пол тетради на восьмой агат тотал коммандер, а в технаре учились на электронике, ну доступ к 286-м и 386-м тоже был персональный 🤗. Один раз пришлось перепаять половину микросхем в поисках глючной логики.
Классное было время!
Отлично спасибо 😊
И Вам спасибо.
Ностальгия. Спасибо. Буду собирать, давно мечтал.
Спасибо, Игорь. И мне интересно, как получится.
@@zxspectrum4044 Обязательно напишу. В далёкие 80е собирал ZX. Спасибо Вам ещё раз. Всех Вам благ, и берегите себя.
Удачи, Игорь, буду ждать.
@@zxspectrum4044 Здравствуйте. Докупил некоторую комплектацию и буду на днях начинать собирать ZX. На каком микроконтроллере посоветуете собирать? У меня есть и 401, и 411. Спасибо.
@@user-bx3qg8js3b Добрый вечер, Игорь. Разницы нет, работать будет на любом из чипов. С клавиатурой повремените недельку, если Вам не принципиально чтобы бала именно Спектрумовская. PS/2 работает отлично осталось добавить файлы z80, думаю за недельку управлюсь. Будут работать обе клавиатуры переделывать ничего не придётся (кроме смены прошивок).Удачи.
файловый браузер хорошо получился. подскажите как реализовали длинные имена, сортировку файлов и есть ли ограничение на кол-во файлов в каталоге? сам такое делал, знаю что все не так просто
Большое спасибо. Приятно получить оценку от человека, понимающего что задача далеко не тривиальная. Код написан по документации найденной в интернете, библиотеками не пользуюсь. Из-за нехватки места на чипе F103 (на VGA версии оставил без изменений под будущий Spectrum 128K) выгружаю видеобуфер Спектрума на SD карту, в моём распоряжении 6912 байт. Имена фалов с нулевого индекса последовательно складываю "вверх", а структуры (смещение имени, расширение, первый кластер и размер файла) с верхнего индекса навстречу. Сортируются только структуры, сразу при поступлении нового элемента (определяю индекс вставки или добавление в конец списка). После каждой итерации проверяю "остаток" свободного места (32 символа + размер структуры), если места под следующий файл может не хватить -> сообщение и выход из цикла (на VGA пока сообщения нет).
Вообще, алгоритм очень интересный, учитывается сортировка между папками и файлами), пару месяцев назад сам с трудом разобрался как он работает, хоть стараюсь очень подробно комментировать код.
Так или иначе надеюсь весь код будет в доступе, сроки мне самому не известны, почему - не раз писал в комментариях.
Спасибо. По свободе попробую проект повторить.
Обязательно попробуйте, буду рад.
Смотрю на Вашем канале про Распбери Пай Пико. На нём тоже есть реализация эмуляторов Спека.
Спасибо за видео :) Возможно ли сделать commodore 64? :)
Наверное можно. У меня его не было. Весь проект основан и мотивирован на воспоминаниях детства.
А где исходники? Что их нет на гитхаб? 😢
Привет! снапшоты не поддерживает? Только tap ?
Добрый день, Себастьян. Снапы поддерживает версия с PS/2 клавиатурой: ua-cam.com/video/2xHpkOBTd6Y/v-deo.html
Можно Ваши печатки (для старта) ? Купил ESP, прошил, хочу повторить.
Добрый день, Алексей. Всё что у меня есть выложено в описании к видео, если не в этом так в другом. Вот только не совсем понял, мой проект для STM32, на ESP не будет работать.
@@zxspectrum4044 не так написал)) STM, конечно. Я имею ввиду плату.
Алексей, если у Вас STM32F411 то всё необходимое есть в видео: ua-cam.com/video/6taCeQRRIBE/v-deo.html.
Если у Вас STM32F401 то придётся ждать или самому проектировать. Для этого МК адаптирую проект под ZX Spectrum 48К с эмуляцией музыкального чипа AY, TR-DOS и всего что есть в проекте для ZX Spectrum 128К. На данный момент есть схема подключения и первый тестовый вариант эмулятора 48К + AY под эту схему: drive.google.com/file/d/187ZpfGGpbUCPdh-aLoJ2QuSPbzAAMwl8/view?usp=sharing.
Звук, РС/2, трдос. Ноги уже почти закончились, наверно штатную клавиатуру лучше через что-то типа пары PCF8574 пдключать. Пол-камня освободится. Кемпстон же еще))
Пол-камня и так простаивают, пришлось притормаживать и убрать все оптимизации. На опрос спектрумовской клавы время не тратится, хуже будет с PS/2. С микросхемами я на ВЫ.
@@zxspectrum4044 PS/2 можно на SPI вроде настроить и складывать с помощью DMA в кольцевой буфер, а внешняя программа, когда потребуется, будет разбирать и конвертировать.Не знаю как на STM32 это провернуть красиво, на пико, конечно проще там любой формат посылок можно подготовить с помощью PIO
@@Alex_Ekb Приветствую, Алексей. Рыбак рыбака видит из далека. Именно в эту сторону и смотрю. Есть мысли как 11 бит привести к 8, подобно тому как это можно сделать с PIO.
@@zxspectrum4044 Про пол-камня это- две ноги I2C вместо 12 под клавиатурный ногодрыг. 8574 очень простая микросхема, достаточно даташита, в крайнем случае никто не запрещает посмотреть готовые библиотеки.
@@-Darkweider Теперь понял. Посмотрел PCF8574. Буду пытаться реализовать PC/2 без дополнительных микросхем. Кемпстон, на первый взгляд, можно добавить без особых проблем.
проект прекрасный! но всегда существует опасность, что в проекте с закрытым исходным кодом автору надоест, он забросит все и никто не сможет подхватить.
Спасибо. Вы правы!!! Всё зависит от моего свободного времени и желания потратить его бесполезно. Но проект готов и выложен, в достаточном функционале за минимальные деньги. Если-бы я нашёл этот проект 2 года назад, то и не стал-бы начинать.
@@zxspectrum4044 вы не подумайте, что я пытаюсь высказать свое недовольство или, упаси Байт, претензии! просто мысли в слух, потому что уже неоднократно сталкивался с тем, что интересные проекты перестают быть интересными автору, перестают развиваться и погибают. мне интересно, неужели создатель, после того как вложил столько усилий, не хочет, чтобы его проект продолжил жить и развиваться? ну и, кстати, донаты на опенсорс проекты охотней дают. удачи вам в развитии вашего проекта - с интересом смотрю ваши видео.
@@aka_vitfil Спасибо, ничего такого я и не подумал, наоборот, читаю разумные комментарии. Общение с умными и понимающими людьми меня пока и мотивирует, накладывает дополнительное чувство ответственности. У меня создалось впечатление, что донаты нигде не дают.
@@zxspectrum4044 не могу сказать за всех, но лично я регулярно доначу нескольким опенсорсным проектам.
@@aka_vitfil Были четыре человека которые решили поддержать проект, благодаря им , появились дисплеи и отладочные платы к новым видео. Затрудняюсь однозначно ответить, что лучше. Отсутствие донатов снимает ответственность. Ситуация в которой никто никому не должен очень удобна для всех (и меня в том числе). Я в постоянно в раздумье, но пока на ПОЗИТИВЕ!