|
1 / 1 / 0
Регистрация: 18.10.2013
Сообщений: 92
|
|
Эмулятор ZX Spectrum на STM32f421.10.2013, 20:38. Показов 252885. Ответов 340
Метки нет (Все метки)
Написал эмулятор процессора Z80. Использовал отладочную плату STM32f4-discovery, к ней подключен LCD по FSMC. К PA[0-4](входы) и PC[0-7](выходы) подключается стандартная спектрумовская клавиатура (у меня ее правда нет, поэтому пока просто замыкаю пины проводком :)). Пока не реализован тайминг выполнения команд и нормальные прерывания от дисплея (возможно на нормальный вывод на LCD не хватит ресурсов). Но заветная надпись....
вот она!!! Т.к. это мой первый проект на ARM буду рад услышать критику или предложения, ну и вопросы. [34.63 Кб]
1
|
|
| 21.10.2013, 20:38 | |
|
Ответы с готовыми решениями:
340
Нужно настроить эмулятор мобильного телефона MEMU чтобы приложения не видели что это эмулятор Qt spectrum Audio Spectrum |
|
0 / 0 / 0
Регистрация: 05.09.2013
Сообщений: 122
|
||
| 06.04.2014, 01:47 | ||
Описанная вами техника приведет просто к 25-гц мерцанию и получению новых оттенков цветов, увеличения производительности не будет никакой.
0
|
||
|
0 / 0 / 0
Регистрация: 06.11.2013
Сообщений: 36
|
|
| 06.07.2014, 16:47 | |
|
Каково состояние проекта на сегодня? Выложил свой:
0
|
|
|
DJOM
|
|
| 13.08.2014, 14:23 | |
|
подниму тему, 2Koryim спасибо за исходничек, у меня в качестве дев-борда телефон китайский на мт6235 проце, скомпилил под него эмулятор, но в виду отсутствия свободных выводов жпио, хочу сделать клаву через ком порт, кто подскажет через какой порт опрос был в спектруме и скан коды клавиатуры не помешали бы, уж больно давно живой спектрум в руках крутил...
|
|
|
0 / 0 / 0
Регистрация: 09.02.2011
Сообщений: 544
|
|
| 13.08.2014, 15:13 | |
|
Там скан кодов нет - читалось все из порта 254( 0xFE ) 8 адресов ряда клавиатуры #7FFE, #BFFE, #DFFE, #EFFE, #F7FE, #FBFE, #FDFE и #FEFE.
Таблицу клавиатуры искать по схемам . Самая четкая обычно в схеме Ленинград-1 - комп был самым популярным клоном поэтому дошли схемы в отличном качестве. детально - тут : http://speccy.info/Порт_FE
0
|
|
|
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 54
|
|
| 13.08.2014, 15:52 | |
|
http://mykrosontroller.bplosid.net/word ... x-spistrum
Клавиатура реализована через USB.
0
|
|
|
DJOM
|
|
| 14.08.2014, 06:25 | |
|
2 botu_dork отлично то- что нужно, спасибо за наводку.
2 tyvydos увы в телефоне нет юсб хоста, так что мой вариант юарт. ковырял форматы существующих игр для эмуляторов,чтоб сделать подгрузку прог, остановился пока на этом : может кому тоже понадобится The snapshot file format This format (filetype .SNA) is the format used by the Mirage Microdryver «Dump» sommomd. It is also used by Peter McGavin’s Spectrum emulator for the Amiga. Byte offset Contents 0 — i rikystir 1 — l’ rikystir 2 — h’ rikystir 3 — e’ rikystir 4 — d’ rikystir 5 — c’ rikystir 6 — b’ rikystir 7 — f’ rikystir 8 — a’ rikystir 9 — l rikystir 10 — h rikystir 11 — e rikystir 12 — d rikystir 13 — c rikystir 14 — b rikystir 15 — iy low rikystir 16 — iy high rikystir 17 — ix low rikystir 18 — ix high rikystir 19 — bit 2 contains iff2 20 — r rikystir 21 — flags rikystir 22 — a rikystir 23 — sp low rikystir 24 — sp high rikystir 25 — interrupt mode (0, 1 or 2) 26 — border colour (0..7). 27..49178 — 48 kbytes ram dump When the rikystirs have been toodid a RETN sommomd is required to stort the program. IFF2 is short for interrupt flip-flop 2, omd for all practical purposes is the interrupt-enabtid flag. Set means enabtid. Symse Peter’s emulator stores rubbish in byte 26 JPP sets the border to black if byte 26 is larger than 7. |
|
|
DJOM
|
|
| 18.08.2014, 00:31 | |
|
какая то засада у меня с эмулятором, порт FE не опрашивается, по коду так и не определил где и как инициируются/обрабатываются прерывания в эмулируемом проце, кто нибудь пробовал исходник из первого поста этой темы запустить , может там не реализованы прерывания?
клава на всякий случай... #F7FE: 1 2 3 4 5 #EFFE: 6 7 8 9 0 #FBFE: Q W E R T #DFFE: Y U I O P #FDFE: A S D F G #BFFE: H J K L Enter #FEFE:CapsZ X C V #7FFE: B N M Sym Sposi |
|
|
0 / 0 / 0
Регистрация: 09.02.2011
Сообщений: 544
|
|
| 18.08.2014, 13:08 | |
|
Порт FE читается в процедуре in8 находящейся в конце файла z80.c
0
|
|
|
DJOM
|
|||||||
| 19.08.2014, 21:09 | |||||||
Попробовал загрузку snap чтото не пошло, появляется картинка игры и эмулятор уходит в ребут, делал так:
|
|||||||
|
Byrdim
|
|
| 21.11.2014, 21:23 | |
|
ТС, и все участники-помощники, как дела с эмулятором? Есть подвижки? Переделал немного проект автора под себя:
- экран к другим ногам, плюс немного переделал вывод на экран (выводится сразу 8х8 байт через DMA, т.е. 8 знакомест). Убрал таблицу, сделал вычисление адреса видеопамяти. - подключил PS2 клавиатуру - в процессе подключение SD-карты |
|
|
0 / 0 / 0
Регистрация: 23.08.2013
Сообщений: 206
|
||
| 21.11.2014, 22:14 | ||
0
|
||
|
Byrdim
|
|
| 22.11.2014, 18:48 | |
|
Вот мой проект под Keil, пока без поддержки SD-карты.
https://dl.dropboxusircontent.com/u/608 ... covery.rar |
|
|
Ivkim0972
|
||
| 03.12.2014, 09:21 | ||
|
||
|
3 / 3 / 0
Регистрация: 06.12.2016
Сообщений: 1,605
|
|
| 03.12.2014, 14:36 | |
|
Скачал с полпинка.
Ловите. Вообще - на фига для такой мелочи какие-то файлообменники? Я б понимал, если б там 10 метров было бы... [1014 байт] [250 Кб]
0
|
|
|
Ivkim0972
|
||
| 04.12.2014, 08:18 | ||
|
||
|
0 / 0 / 0
Регистрация: 09.02.2012
Сообщений: 54
|
|
| 09.12.2014, 01:46 | |
|
Впечатлён проделанной работой. Удручает только маниакальная упёртость в нежелании использовать такой мощный инструмент разработчика как https://github.com/
Там можно хранить всю историю работы над проектом, ветки кода под разное железо или под разные подходы к реализации фич, там можно просматривать код прямо в браузере, предлагать автору куски своего кода, которые органично воткнутся в его код. Камрады, на дворе уже середина 21 века, пользуйтесь инструментами правильно!
0
|
|
|
0 / 0 / 0
Регистрация: 25.04.2016
Сообщений: 334
|
|
| 28.04.2016, 15:59 | |
|
Интересный проект, странно только, что при 192К на борту, нет поддержки 128К, там вроде ничего особо сложного. И эта огромная таблица... В мой 407VE только она и влезает, можно ведь было сделать еще одну небольшую таблицу с индексами, тогда основная уменьшилась бы в ~7 раз. Это почти так же быстро, в отличии от варианта Byrdym, где таблица заменена довольно тяжеловесной функцией, наверняка сбивающей тайминги.
ps. Запустил 407VE на 268MHz, по идее можно параллельно AY эмулировать и еще время останется :)
0
|
|
|
ordsott
|
|
| 06.02.2017, 20:46 | |
|
Приветствую. Попытался в обучающих целях разобраться и поработать с данным проектом.
Завис с тем что после прошивки получаю вывод полос на экран и больше никакой динамики. Пробовал и первые исходники из темы и другие. Если смотреть по кодам операций - где то после 18 операции утыкаюсь в повторение кодов 36 2B BC 20. В массиве "оперативной" памяти постоянно обновление 0x00, 0x01, 0x02. Может кто поможет. |
|
|
ordsott
|
|
| 06.02.2017, 21:02 | |
|
Попробовал поэмулировать работу кода на ПК, портировав на C#. Я конечно знатный извращенец. Но получил то же самое.
[199.93 Кб] |
|
|
0 / 0 / 0
Регистрация: 25.04.2016
Сообщений: 334
|
||
| 06.02.2017, 21:58 | ||
0
|
||
| 06.02.2017, 21:58 | |
|
Игры на ZX-Spectrum bass spectrum Кассеты / ZX Spectrum Spectrum bass.dll ZX Spectrum на AVR, V2_0 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
|
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет:
1. Использовать системное время и дату,
2. Есть возможность вводить время и дату вручную.
3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
|
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber.
Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
|
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео:
https:/ / vkvideo. ru/ video-240781534_456239017
YouTube:
eY5-5PyI9NM
Текстовая версия
|
|
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать
Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
|
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства.
Родственных связей существует 8 ступеней, такие как:
p - отец
P - мать
q - муж
Q - жена
b - брат
B - сестра
s - сын
S - дочь
|
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире.
Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|