Эмулятор ZX Spectrum 48K c выходом VGA и клавиатурой PS/2 на STM32F401(411)
Vložit
- čas přidán 8. 04. 2023
- Эмулятор ZX Spectrum 48K c выходом VGA и клавиатурой PS/2 на STM32F401(411)
Схема подключения SN74HC244N & SN74HC86N:
Сonnection diagram SN74HC244N & SN74HC86N:
drive.google.com/file/d/1kZ5b...
Назначение клавиш/Key assignment:
drive.google.com/file/d/1kKha...
Универсальная прошивка STM32F401 и STM32F411 версия V0.92 (автонастройка клавиатуры):
drive.google.com/file/d/17b2i...
Прошивка STM32F401/Firmware STM32F401 версия V0.90:
drive.google.com/file/d/1UL4i...
Прошивка STM32F411/Firmware STM32F411 версия V0.90:
drive.google.com/file/d/1KkpD...
Поддержать автора можно на карту Сбербанка - 4817 7602 5061 7150
QIWI Кошелек: qiwi.com/n/ZXMAGICDONATE
Donate.stream - donate.stream/yoomoney4100118...
Внимание! Универсальная прошивка STM32F401 и STM32F411 версия V0.92:
drive.google.com/file/d/17b2iGjg2wVHHNKI5y9oQqBArEMC8mSdz/view?usp=sharing
1. Автоматическая настройка частоты клавиатуры. (нажимаем клавиши до адекватного отклика клавиатуры, новая частота сохраняется при входе в меню загрузки LOAD "" или F3)
2. Сброс эмулятора клавишей F10.
Работаю над НОВЫМ проектом для владельцев чипов STM32F401 - ZX Magic 48К.
В новом проекте звук AY(уже реализован), TR-DOS и т.д. Будет всё то, что есть в ZX Magic 128К.
План-схема подключения:
drive.google.com/file/d/187ZpfGGpbUCPdh-aLoJ2QuSPbzAAMwl8/view?usp=sharing
Прошивка только для STM32F401 !!! под новую схему VGA + эмуляция AY (это не релиз, а для проверки схемы VGA, но можно уже поиграть)
drive.google.com/file/d/1waehJNrhD9_zgZPRXwUyYroN2tyjQ_JI/view?usp=sharing
Прошил новую прошивку- всё работает отлично. Спасибо автору.
👏👏
Или поздравления! Отличная работа и результат! Теперь пристрою все свои стм32ф401 😊😊😊
Спасибо, напишите пожалуйста, как всё прошло, по результату.
Я повторил этот проект. Класс!👍🔥 Вспомнил молодость. Автору большое спасибо и уважение. 👏
Добрый день, Игорь. Вы меня порадовали. Спасибо за добрые слова.
У вас есть схема Спектрума Харьковский вариант?
@@zxspectrum4044 у вас есть схема Спектрума Харьковский вариант?
Смотрю с удовольствием, от коммандо аж прослезился от воспоминания, удачи, творческих успехов! после БК-0010 спектрум подобный, у меня был балтик, поражал меня графикой и скоростью, многообразием игр.
Спасибо, значит МЫ на одной волне:)
Балтик я собирал, у меня старший на этом Балтике занял первое место в школе по программированию, а сейчас он серьёзный программист, благодаря этому Балтику.
Класс, прям тоже захотелось молодость вспомнить.
Добрый вечер, Николай. А почему-бы и нет, под нужное настроение:)
Это очень здорово!
Лично мне было достаточно эмулятора спектрума что бы понастальгировать, их полно различных под windows, хотя и есть в наличие модуль на STM32F411
Спасибо. Мне захотелось отдельное устройство, не знаю, специальная вещь под Спектрум что-ли, сам никогда не собирал железный вариант, да и повод подумать неплохой.
очень крутой проект ! автор молодец ! почему так мало лайков?
Спасибо, Михаил.
Очень круто! Жду 128-го.
Спасибо, Леонид. Занимаюсь 128, но быстрого результата не будет.
По элите у нас весь техникум с ума сходил, обменивались сохранениями, кто где на армады напарывался.... на радиорынок ездили, за кассетами с играми. Половина игра записана была криво.
я тогда пошёл на лето на завод и заработал себе сначала на Дельту-с , а через два года на Профи с дисководом и муз сопроцессором.
Причем продавались по одной цене 286 и Профи.
На Дельте я сделал все курсовые расчеты по автомобилям, а на Профи уже диплом, даже принтер прикупил струйных на головке от кассовой машины.
Всем друзьям сделал выход для пк от ламповых телевизоров, что бы не по антенне цепляться.
А в лагере Дружный был целый компьютерный класс, игры загружали сразу на все спектрумы с центрального места.
Я тогда ещё в школе учился, помню в тетрадку цены разных маркетов выписывал.
Супер !!!!! :)
Как всегда, спасибо, Профессор:)
Удивительно что хватило скорости 411 для вывода изображения и эмуляции всего остального. Я как-то прорабатывал этот вариант, у меня не хватало для обычного телевизионного сигнала.
На самом деле приходится сильно притормаживать процессор, иначе скорость эмуляции доходит почти до 200%.
@@zxspectrum4044 у меня были проблемы с формированием видеосигнала, всё остальное просто решалось, правда я делал не VGA, а телевизионный у которого жёсткие требования по частотам развёртки, возможно в этом было дело
@@user-en9sm7ed9g Возможно, не могу утверждать, такую задачу не решал, везде есть свои нюансы. VGA мониторы пожалуй менее требовательны к частоте. Монитор в меню отображал 31.3кГц и 31.2кГц , на картинке разницы я не увидел.
Собрал бы, если вместо монитора был бы ТВ выход.
Кстати про подключение USB клавиатуры к этому устройству. Я заказал клавиатуру специально для этого, самую дешманску ritmix ps/2. Но мне привезли USB почему то. Я сначала расстроился решил вернуть. Но, потом решил попробовать подключить её все таки. Нашёл распиновку переходника с USB на ps/2 был старый разъем от хаба usb мама. Припаял его согласно распиновки переходника и чудо произошло. Клава работает.
Большое спасибо за ценную информацию, Вы меня обрадовали. Я думал USB клавиатуры требуют двусторонний обмен данными для перевода в PS/2 режим. Ещё раз спасибо.
@@zxspectrum4044 доброго времени суток! Я спаял 128К. Но там проблема с цветами. Может подскажете что это может быть если Вас не затруднит. Там у меня 2 видео есть коротеньких.
@@alexroots3067 Приветствую, Алекс. Смотрю ваш видосик, отвечу в комменте под Вашим последним видео.
💥👍💥
:)
Проект классный! Собрал, играюсь. Автор - молодец!
Есть только вопрос про... отсутствие мерцания, например, курсора в бейсике. Не реализован?
Добрый день, Евгений.
Спасибо. Поддержка VGA схемы подключения, из этого видео, прекращена (в том числе из-за мерцания).
Но работаю над новым проектом для владельцев чипов STM32F401 - ZX Magic 48К.
В новом проекте звук AY(уже реализован), TR-DOS и т.д. Будет всё то, что есть в ZX Magic 128К.
План-схема подключения:
drive.google.com/file/d/187ZpfGGpbUCPdh-aLoJ2QuSPbzAAMwl8/view?usp=sharing
Прошивка STM32F401 !!! под новую схему VGA + эмуляция AY (это не релиз, а для проверки схемы VGA, но можно уже поиграть)
drive.google.com/file/d/1waehJNrhD9_zgZPRXwUyYroN2tyjQ_JI/view?usp=sharing
@@zxspectrum4044 , спасибо огромнейшее за информацию и Ваш труд! Проект красивый, по отдельности я знаю как работают многие восьмибитки (писал на плис конфигурации), знаком с микроконтроллерами, умею на Си, но вот собрать всё это вместе и осилить проект на АРМе - это я очень не готов ))) А хотел бы понять ху есть ху и сделать "Орион-128". Подозреваю, что вывод видео производится из дампа памяти путем DMA+SPI, но не знаю... Если Вы поделитесь проектом для понимания его мироустройства, абсолютно на Ваших условиях, буду очень благодарен!
Еще один момент - процессор в данном проекте работает заметно быстрее оригинала. Время в играх бежит быстрее. Чуть скорректировать бы?
Заранее спасибо за ответ!
@@ewgenyivanoff6509 Всё верно Евгений - "DMA+SPI" именно так работает видеовывод в проекте. В этом видео: czcams.com/video/k3GpfaZBexg/video.html подробно рассказываю о работе видеовывода, а в описании есть иходник его работы. Скорость работы процессора уже скорректирована в прошивке 48К + AY для выхода VGA по новой схеме.
Чтобы никто не догадался, нужно использовать разъем клавиатуры другого цвета.
Точно:)))) Просто выводы с краю мне показалось паять легче, а когда спаял и подключил клаву, по цвету понял, что немножко промахнулся и попал в мышку. Появился повод смотреть вдумчиво:)
Здравствуйте. Хочу повторить данный проект, а потом уже пробовать собрать на микросхемах.
Пока непонятны несколько моментов:
1.stm32f401 с алиэкспресс будет работать?
2. Что записывать на sd карту? Я так понимаю сами файлы игр. Их надо отдельно самостоятельно скачивать или у Вас где-то есть ссылка на подборку?
3. Есть модуль sd карты с преобразователем уровней на ???125. Для эмулятора можно ПУ оставить или нужно его удалить и подключиться непосредственно к выводам карты?
Добрый день.
Для версий 48К и 128К всё равно нужны микросхемы для вывода на VGA, причем разные.
1. Все платы (кроме одной) покупал на Али. Слышал, что сейчас чипы F401 стали подделывать, гарантий дать не могу. На чипе F401 версию эмулятора ZX Spectrum 128К не реализовать.
2. На SD карту игры скачивайте сами, для начала 2-3 игры, потом разберётесь.
3. SD модули подключаются на прямую к чипу. Преобразователи уровней могут помешать работе с картой. В каждом случае надо разбираться, однозначного ответа тоже нет.
Проблема была решена по почте. Если у кого-то не заработает клавиатура-пишите на почту автору. Но не спамьте , будьте вежливы и терпеливы! Всем удачного дня!
Добрый вечер, Дмитрий. Совершенно нет времени написать прошивку с автоматической настройкой клавиатуры и статистики пока маловато. Действительно, пишите в почту, прочитать и ответить могу только вечером, по возможности попробую решить вопрос оперативно.
У вас есть схема Спектрума Харьковский вариант?
@@user-er6ji4me3l Добрый день, Вячеслав, к сожалению нет.
Есть еще вопрос вы подключили клавиатуру без CLK (Clock signal), как Вы определяете последовательности кодов нажатых клавиш?
Отличный вопрос. Меня тоже удивило, почему самый простой способ подключения, я не смог найти в интернете. Пожалуй сделаю видео с исходником, как это реализовано у меня. Точно, сделаю.
@@zxspectrum4044 Спасибо! Хотелось бы увидеть исходник, как это Вы делаете, интересно.
Вы правы, наверное надо снять отдельный видосик на эту тему. Пожалуй сделаю это. На следующей неделе видео с прошивкой 128К, а потом коротенькое по клавиатуре. Когда пинов на чипе не хватает, этот вопрос становится действительно актуальным.
Добрый вечер, я повторил ваш проект, Подскажите в чем проблема F3 или LOAD "" в окне LOAD FILE у меня пусто пробывал разные флешки, не пойму что куда? Прошивал этой прошивкой STM32F411 версия V0.90:
Добрый день. В описании к этому видео есть другая прошивка - Универсальная прошивка STM32F401 и STM32F411 версия V0.92 (автонастройка клавиатуры).
Для проекта нужна SD карта от 4 до 32 ГБ. Форматируем стандартными средствами Windows: FAT32, размер кластера 4096 байт.
Создаём любые папки, в том числе и вложенные. Наполняем файлами TAP и Z80.
Следует обратить внимание, при ресете, счётчик смещения "SD start sector:" должен меняться при каждом запуске.
Если в левом правом углу появляется непонятная надпись (LOAD/READ ERROR) проблема с подключением карточки (питание, шум в проводах)
Если проблему решить не получается пишите мне в почту: zx_spectrum_andre@mail.ru
А исходники прошивки-эмулятора есть? Именно транслятор команд Z80?
Нет.
У меня вопрос-можно ли через переходник ps/2 USB подключить клавиатуру? Или это так не работает?А так проект шикарный)Удачи Вам !
Приветствую, Дмитрий. Мне самому интересно, у меня нет клавиатуры с универсальным выходом USB PS/2. Если есть возможность, попробуйте и пожалуйста сообщите мне. Интересно проверить своё предположение, как рассуждают разработчики клавиатур.
Здравствуйте. Спасибо за работу. 👍🔥
Это зависит от клавиатуры. В моём проекте этот вопрос тоже часто возникает у повторяющих. Но бывает даже так, что одна модель клавиатуры может внутри отличаться и 2 с виду одинаковые клавиатуры вести себя по разному, одна будет работать, а другая не работать в режиме ПС/2.
Из своего опыта могу сказать, что бепроводные клавитуры и беспроводные комплекты клавиатур с мышами никогда не работают в ПС/2. Наибольшая вероятность заработать в ПС/2 режиме у недорогих проводных моделей.
@@Alex_Ekb Приветствую, Алексей. Согласен, старые клавиатуры которые мне удалось найти (а других и не нашёл)работают без нареканий. Беспроводные даже не пытался, на них нет значка совместимости с PS/2, думаю даже это не гарантия работы, но автоподстройку пожалуй добавлю в следующий релиз.
Благодарю за разработку. Хочу повторить, подойдёт ли плата STM32F411CEU6 или это другая плата?
Спасибо. Подойдёт, даже очень! Скоро выйдет для F411 версия для Спектрума 128К, но там будет немного другой набор микросхем для выхода на VGA. Плату VGA и самого эмулятора придётся переделывать.
@@zxspectrum4044 благодарю вас. Очень приятно наблюдать ваше техническое творчество✊ успехов.
@@NickProton Спасибо. Вам удачи и всего хорошего.
@@zxspectrum4044 подскажите, а в 128к версии кемпстон джойстик будет реализован?
@@NickProton Да будет. Геймпад 8бит, разъём 9pin, типа такого: www.ozon.ru/product/dzhoystik-8-bit-forma-kvadratnaya-uzkiy-razem-9-pin-304647178/?asb=G0Loj5MKVp5EyNlenIbvEDu6Z24%252B6P8o%252Fwrb%252BDOuijk%253D&asb2=fEGdsdUXJa4Cv7MzXGXEsTTAsyGTg_cEELiQ8IaRXNfIR2i2F8jqRTDXFHLztsXv&avtc=1&avte=2&avts=1696046583
Странно,но моя клавиатура не заработала.После перезагрузки можно нажать одну клавишу ,которая будет бесконечно повторяться.
Добрый вечер, Дмитрий. Ответил в почте.
Автор, где исходники? 😅
А исходники планируется в свободный доступ ?
Исходники кусками появляются (и будут) в моих видео, но они интересуют лишь несколько человек. Работы много, а удовольствия от неё ноль, больше расстраиваешься от бесполезного видео и потраченного времени, которое есть куда потратить с большей пользой.
@@zxspectrum4044 без исходников проект не интересен.
@@aidagamemnon Каждый имеет право выбрать то, что ему интересно. У меня нет цели быть интересным для всех или оспорить Ваше право.
@@zxspectrum4044Был бы выложен проект на том же гитхабе, появились бы помощники в этом деле. Глядишь, и интерес бы проснулся )
@@megaboy2k А мой интерес бы угас.
Привет.А это вся яркость монитора ?Зря напротив окна поставил монитор
Приветствую, Олег. Без встречного освещения картинка на мониторе яркая.
Делайте на ESP32-wrover-s3 там и ядра быстрые и памяти овер-дохрена....
Для эмуляции Спектрума 48К ресурсов у STM32F401 с избытком, к тому же на ESP32 существует достаточно проектов.
@@zxspectrum4044эмульните SZ256-Scorpion или Pentagon-512, всяк круче и игрухи все пойдут, я уже молчу про турбирование и прочие фичи.
@@Rashadrus Для этих целей была куплена отладочная плата STM32H723VG. Будет новый, параллельный проект, по эмуляции ZX Spectrum NEXT и EVOLUTION.
@@zxspectrum4044 Это радует!
Спасибо большое!
Спаял, прошил. Работает-включается. Единственное теперь с micro SD не видит файлы. Какой объем флешки должен быть и какой формат отформатировать её нужно?
SD карта от 4 до 32 ГБ
Форматируем стандартными средствами Windows: FAT32, размер кластера 4096 байт.
Карты более 4 ГБ: Делаем первый логический диск размером до 4ГБ (остальную область можно не размечать)
Создаём папки, можно многократно вложенные друг в друга, наполняем файлами. Желательно количество элементов (файлов и папок в одном каталоге) не более 100, зависит от длины названий файлов и папок - буфер для сортировки имён ограничен размером.
Удачи!
@@zxspectrum4044 Спасибо огромное!!! Очень приятно что ещё есть люди которым интересно такими штуками увлекаться и это очень интересно 😊
@@alexroots3067 Рад встрече с единомышленником!
@@zxspectrum4044Взаимно!)
@@zxspectrum4044есть ещё один вопрос, если можно)
Я все варианты перепробовал с флэшкой. И отформатировал как надо и даже нашел на 2гб флешку.
Думал проблема во флеш кард приемнике, перепаял на новый. Не видит файлы и папки. Может проблема в самом микроконтроллере? Я с Алиэкспресс заказал 401. Не подскажите?
При загрузке менеджера файлов сообщение: "write error CMD Resp". Не понимаю в чем проблема
Нет. Это просто невозможные вещи, а? Достал свои Кворумы 48 и 128,открыл, благо что винты крутить всегда мне было лень. Посмотрел, сколько там я наворотил в них в свое время, и AYшечка, со своим геном отдельным, кварц для которых я до бывал из убитых импортные кинескопных тв, ну, чтоб было то самое звучание, как в оригинале, а не тупое деление таковой проца на 2.И эмуль дисковода на SD карточке и микроконтроллере PIC.И оперативка на планке от 286го в 128м Кворуме... И контроллер дисковода. С нежностью провел рукой по стопке 5ти дюймовый дискет.... А оно вон чего... Бессонные ночи на кухне опять же вспомнил 😂.. Даааа, мил - человек... Посмотрел ваши ролики. Нет слов, насколько это КРУТО!!! ЭХХХ, тогда бы, в 90е, Вы бы были властелин Мира... Ну, если бы тогда были СТМы, и ваши знания. НО! Это сейчас в сотни раз круче, чем тогда. Я даже на псп 2000 поставил эмуль, и часто режусь в Диззи, Эксолон, Элиту, Радужные острова и прочее. И это, блин, при условии, что пспишку я перепрошил, чтоб с карты гонять образы её игр. И знаете что. Вот не доставляет. А вот милый Спек - ну тут уж.... Вроде только сел, оопаньки. 4 часа утра... Уже можно не ложиться, а идти пить кофий и собираться на обязаловку.. 😂Я обязательно повторю сие чудо...
Да Вы просто счастливчик, обладающий несметными богатствами, знанием, опытом, воспоминаниями и НЕУГАСАЮЩЕЙ привязанностью к Спеку.
@@zxspectrum4044 Спасибо! Ещё много лет назад находил тут ролики, где на Атмегах были сделаны демки. Звук, графика. Думал, ого. Вот же чего творят.. А сейчас уже гораздо всё невероятнее.. А на счёт знаний, они не столь большие, как бы хотелось... Мой Кворум - 128 имеет в управлении оперативки одну нежную микросхему. Некий контроллер, что то вроде Плис. Её заменить на рассыпуху не удалось. Так что пока как есть. Но у 128го размер экрана меньше. А вот у Кворума 48 он больше, но мы с приятелем, к сожалению, его не стало, так и не удосужились переделать 48й в 128. Даже Камиль Каримов мне написал, как переделывать. Камиль у нас в Екатеринбурге тогда разрабатывал оные Спеки. Но приятель не успел, так сказать, а без него моих знаний может не хватить... Поэтому пока не лезу кардинально пахать плату..
@@user-gi5on5ey4m Сожалею. Уверен у Вас всё получится, когда в нужное время "созреете". С наступающим Новым годом! Здоровья, успехов, удачи!
@@zxspectrum4044 Спасибо! Вам удачи, творческих успехов!
Это все просто замечательно, но без исходных кодов (а Вы 100% используя чужой открытый код, нарушаете право авторов на свободный доступ к нему и всех доработок) делает повторение проекта бесполезным. Ну, потеряете Вы интерес через месяц, и что делать собравшим ? Не спорю, интересное решение с VGA выходом, но гораздо разумнее выглядит покупка за 944 руб на aliexpress уже готового модуля: LILYGO® FabGL VGA32 VGA ESP32 PSRAM модуль V1.4 - там хоть VGA выход сделан проще, но есть доп RAM память, слот для SD и сообщество огромное с разными эмуляторами.
Добрый день, Владислав. Спасибо, что нашли решение с VGA интересным.
Это моё хобби, мне нравится тренировать свой ум и находить интересные решения, кто-то любит провести время с бутылочкой пивка - это личное дело каждого.
Я ничего не продаю, не извлекаю коммерческой выгоды. ни для кого не секрет что на CZcams канале не заработать
- просто делюсь своим увлечением на этой площадке. Повторять или нет каждый решает сам, а собравшим, просто пользоваться.
Если Вам не трудно, поделитесь своим мнением, какой чужой открытый код 100% был использован в проекте?
Мне будет безумно приятно, осознать что смог решить очевидно сложную задачу или чертовски стыдно, что упустив что-то из виду, невольно присвоил чужой успех.
@@zxspectrum4044 да, ладно, написание эмулятора Z80 и адресного пространства синклера задача довольно нетривиальная, с нуля на это уйдут годы.
@@vlad-2023 Рад Владислав, что Вы это понимаете. У меня и ушло на это больше года. На самом деле исходников эмулятора процессора ZX два , ну может быть три источника. Те кто в теме понимают, что даже после глубокой переработки этих исходников запихнуть это в F103 не получится. Поэтому пришлось менять всю концепцию эмулятора ZX, разрабатывать и писать с нуля. У меня получилось написать компактный и быстрый код, специально заточенный для МК. Была написана PC версия для глубокого анализа работы с графиками и прочими делами. Работа была проведена грандиозная. Рано или поздно думаю что выложу исходники, но доказывать кому-то что-то нет желания.
@@zxspectrum4044 Ну, вот вопрос на засыпку - эмулируется ли у Вас регистр R ? , который используется для декодирования программ при старте и используется как антиотладочный механизм.
@@vlad-2023 Конечно, регистр регенерации памяти, эмулируется. Всё гораздо сложнее с поведением флагов в недокументированных функциях. Информацию о которых приходилосm собирать по крупицам из зарубежных источников на основе проведённых ими исследование поведения ZX. Открою Вам небольшой секрет, у меня не происходит увеличения счётчика регенерации памяти после каждой команды чтения, это экономит 4 такта процессора в основном конвейере обработки команд процессора ZX. Гораздо проще "подсунуть" значение счётчика в редко используемую команду чтения регистра R.
Сколько стоит Ваше произведение?
Добрый день, Иван. В текущих ценах: Отладочная плата - 540р, микросхемы(ДИП) 45р + 35р, макетка 40р. Если клавиатуру, SD карту, разъёмы и прочее использовать из старого барахла.
@@zxspectrum4044 Спасибо за информацию. Вы продаёте готовые экземпляры?
@@user-gv1ge8ju9w Нет, Иван, не продаю. Да и прошивку подготовил чуть больше недели назад, когда мне этим заниматься, а сейчас с свободным временем будет совсем плохо до зимы.
@@user-gv1ge8ju9w это надо ждать пока китайцы заинтересованы станут, тогда можно будет купить клон спектрума за копейки, как те же нес и сега, но че то не хотят делать.
Замучила меня совесть - заснял обещанный обзор самодельного спектрума :)
czcams.com/video/v_yh0YQ7HXY/video.html
Самодельный раритет:)
@@zxspectrum4044 Нужно как-то отремонтировать :)
@@user-kz2wp9gs1i Думаю всё получится.
Нафаня
:)
Залить хекс стлинком, вряд-ли это сильно интересней, чем скачать и запустить любой софтовый эмулятор на винде.
У каждого свой интерес.
Странные вы люди. Разве сразу не понятно что это чисто увлечение ? Но нет надо прийти и озвучить очевидные вещи.
@@zxspectrum4044 Прекрасная работа!
А можно познакомится с исходными кодами прошивки?
Будет ли Вам удобно выложить код на github?
Заранее спасибо за ответ.