Эмулятор дисковода своими руками

Эмуляция различных Амиг; uae, winuae, amithlon, winfellow

Модераторы: striimii, Vinnny

Эмулятор дисковода своими руками

Сообщение peguser 11 июн 2017, 19:48

Для тех, у кого руки растут откуда надо, и кто умеет паяльник держать. Наткнулся тут на статью на Хабре. Человек рассказывает, как самому сделать эмулятор дисковода на микроконтроллере Atmega16. Говорит, что планировал статью для Догмы :)
Efika MX Smartbook, Ubuntu 12.04
Ryzen 5 2400G, RAM: 24GB, SSD 512 GB + SSD 512 GB + HDD 3 TB, Manjaro KDE
Аватара пользователя
peguser
Надоедливый Амигодух
Надоедливый Амигодух
 
Сообщения: 296
Зарегистрирован: 21 июн 2006, 02:17
Откуда: Москва

Re: Эмулятор дисковода своими руками

Сообщение creator 12 июн 2017, 06:38

Никогда не следует недооценивать предсказуемость тупизны
creator
Надоедливый Амигодух
Надоедливый Амигодух
 
Сообщения: 471
Зарегистрирован: 06 мар 2007, 20:49
Откуда: nsk

Re: Эмулятор дисковода своими руками

Сообщение da-nie 12 июн 2017, 09:36

Этой штуке уже года четыре. :) Там главное - формат дискеты. Эмулятор у меня получился рабочий, но не очень удобный - долго ждать передачи данных между контроллерами. А после статьи на хабре, может, найдётся тот, кто сделает нечто компактное и простое на том же stm32. Может, проще и функциональнее даже, чем у tnt23. :) А заолно и интерес к амиге увеличится. Во вконтакте vk.com/habr есть те, кто даже про амигу и не слышал. :)
Мой репозиторий: https://github.com/da-nie
Мои статьи: https://habr.com/ru/users/da-nie/posts/
Моё видео: https://www.youtube.com/channel/UCUroi3D5Kf1WxDzg3ON852g/videos
Аватара пользователя
da-nie
Престарелый Амигодум
Престарелый Амигодум
 
Сообщения: 240
Зарегистрирован: 23 сен 2011, 17:25
Откуда: Ленинградская область

Re: Эмулятор дисковода своими руками

Сообщение creator 12 июн 2017, 13:03

Дык это https://cortexamigafloppydrive.wordpress.com/ на том самом пресловутом stm32. И запись поддерживается.

И вконтакте есть даже те, кто про Ленина не слышал. :lol:
Последний раз редактировалось creator 13 июн 2017, 11:07, всего редактировалось 1 раз.
Никогда не следует недооценивать предсказуемость тупизны
creator
Надоедливый Амигодух
Надоедливый Амигодух
 
Сообщения: 471
Зарегистрирован: 06 мар 2007, 20:49
Откуда: nsk

Re: Эмулятор дисковода своими руками

Сообщение da-nie 12 июн 2017, 13:51

Так а экрана-то там нет. Очень неудобно. :)
Мой репозиторий: https://github.com/da-nie
Мои статьи: https://habr.com/ru/users/da-nie/posts/
Моё видео: https://www.youtube.com/channel/UCUroi3D5Kf1WxDzg3ON852g/videos
Аватара пользователя
da-nie
Престарелый Амигодум
Престарелый Амигодум
 
Сообщения: 240
Зарегистрирован: 23 сен 2011, 17:25
Откуда: Ленинградская область

Re: Эмулятор дисковода своими руками

Сообщение creator 12 июн 2017, 17:26

Да ладно, вполне себе нормальный такой полноэкранный индикатор:
Изображение
:lol:
А вообще для Gotek так же существует коммэрческая прошивка HxC, со всеми её вытекающими возможностями (поддержка не только Амиги) ) и с ней уже и экранчик подключают, я видел фотки, сейчас найти не могу.
Никогда не следует недооценивать предсказуемость тупизны
creator
Надоедливый Амигодух
Надоедливый Амигодух
 
Сообщения: 471
Зарегистрирован: 06 мар 2007, 20:49
Откуда: nsk

Re: Эмулятор дисковода своими руками

Сообщение da-nie 12 июн 2017, 18:09

Ну вот и посмотрим, вдруг кто сделает гораздо лучше. :)
Мой репозиторий: https://github.com/da-nie
Мои статьи: https://habr.com/ru/users/da-nie/posts/
Моё видео: https://www.youtube.com/channel/UCUroi3D5Kf1WxDzg3ON852g/videos
Аватара пользователя
da-nie
Престарелый Амигодум
Престарелый Амигодум
 
Сообщения: 240
Зарегистрирован: 23 сен 2011, 17:25
Откуда: Ленинградская область

Re: Эмулятор дисковода своими руками

Сообщение da-nie 08 май 2020, 21:02

Из интереса (да и пригодится дочкам игры запускать) решил попробовать загрузить амигу с stm32, а то мой эмулятор требует времени на передачу данных в 2 МБ ОЗУ. Взял stm32f103c8t6 - всеми любимую китайскую плату. У него ОЗУ 20 кб, частота 72 МГц. Дорожка 12800 в MFM. Влезает в ОЗУ целиком. На atmega16 с внешним динамическим ОЗУ у меня когда-то не получилось быстро менять дорожки, вдруг получится на stm32? Вместо своего модуля чтения FAT16 взял уже освоенный fatfs. Для вывода дорожки задействовал SPI с DMA. Ну и кубик для разработки для ускорения процесса. Собрал за день. Исправил ошибки платы и наброска программы. Ух ты, Dizzy-6 загрузилась сходу! Пробуем Fast Food. Фигу. Вылетает частая ошибка чтения (такая беда для всех игр, показывающих синий экран DOS при загрузке). Боролся весь сегодняшний день, придумывая хитрые алгоритмы вычитывания блоков. Ускорил SPI у карты до нештатного значения (в 2 раза ускорил, поменяв делитель - до 36 МГц). Замерил время смены дорожки - 425 мс! Ого. Поменял карту памяти с 16 Мб ( :) ) на современную. Ого, 125 мс! А меньше можно? А что там у меня в модуле SD.C, нет ли пауз? Точно, есть миллисекундные задержки. Выкидываем нафиг. Отлично! Всё грузится без ошибок. :lol: Осталось сделать работу с выбором файлов (сейчас я гружу прямо с заданным именем с карты) на валяющемся у меня китайском экранчике от Nokia 5110 (мда, хреновый экранчик, конечно) и можно выпускать в продакшн и делать статью для желающих. :) Никаких планок памяти, лишь два буфера К561ПУ4 (3.3->5 и 5<-3.3) или импортного аналога HEF4050, плата с микроконтроллером, экранчик, SD-карта и мелочевка вроде стабилизатора питания. И амига будет грузиться на ура. :)

emulator.jpg
emulator.jpg (62.56 KiB) Просмотров: 6198
Мой репозиторий: https://github.com/da-nie
Мои статьи: https://habr.com/ru/users/da-nie/posts/
Моё видео: https://www.youtube.com/channel/UCUroi3D5Kf1WxDzg3ON852g/videos
Аватара пользователя
da-nie
Престарелый Амигодум
Престарелый Амигодум
 
Сообщения: 240
Зарегистрирован: 23 сен 2011, 17:25
Откуда: Ленинградская область

Re: Эмулятор дисковода своими руками

Сообщение creator 09 май 2020, 07:08

Круто, молодец!
da-nie писал(а):И амига будет грузиться на ура. :)

А записывать? :wink:
Никогда не следует недооценивать предсказуемость тупизны
creator
Надоедливый Амигодух
Надоедливый Амигодух
 
Сообщения: 471
Зарегистрирован: 06 мар 2007, 20:49
Откуда: nsk

Re: Эмулятор дисковода своими руками

Сообщение da-nie 09 май 2020, 08:14

А записывать?


А записывать мне никогда и не нужно было. :)
Мой репозиторий: https://github.com/da-nie
Мои статьи: https://habr.com/ru/users/da-nie/posts/
Моё видео: https://www.youtube.com/channel/UCUroi3D5Kf1WxDzg3ON852g/videos
Аватара пользователя
da-nie
Престарелый Амигодум
Престарелый Амигодум
 
Сообщения: 240
Зарегистрирован: 23 сен 2011, 17:25
Откуда: Ленинградская область

Re: Эмулятор дисковода своими руками

Сообщение da-nie 11 май 2020, 15:55

Увы, я рано обрадовался. Всё равно сбой проявляется, хотя загружается и в этом случае. Всё-таки амига желает переключать стороны диска без задержек (сейчас - 10 мс на дорожку при использовании SPI с DMA), чего такой эмулятор сделать не может - памяти нет. Впрочем, если взять stm32f103 с 60 кб ОЗУ, то можно обе стороны держать в ОЗУ и быстро переключаться между ними. Такая плата у меня тоже есть, но мне её жалко на такую игрушку тратить. Это уже для энтузиастов (ну или я как-нибудь всё-таки сделаю очередную версию). Но в принципе, можно и в таком виде использовать как малобюджетный вариант - работать будет.

Видео работы эмулятора.

Печатка, прошивка и исходник.


Использованные детали:
1 ) Голубая плата с stm32f103c8t6.
2 ) К561ПУ4 или HEF4050 (под них, возможно, надо изменять печать, хотя вряд ли).
3 ) Дисплей Nokia 5110.
4 ) Кнопки.
5 ) LP2950-3.3В.
6 ) Разъём для SD-карты.
7 ) 4 резистора около 10 кОм (номиналы хоть от 1 кОм до 50 кОм точно).
8 ) Несколько конденсаторов - электролиты около 500-1000 мкФ на 10 В и керамика около 0.1 мкФ.
Мой репозиторий: https://github.com/da-nie
Мои статьи: https://habr.com/ru/users/da-nie/posts/
Моё видео: https://www.youtube.com/channel/UCUroi3D5Kf1WxDzg3ON852g/videos
Аватара пользователя
da-nie
Престарелый Амигодум
Престарелый Амигодум
 
Сообщения: 240
Зарегистрирован: 23 сен 2011, 17:25
Откуда: Ленинградская область

Re: Эмулятор дисковода своими руками

Сообщение aGGreSSor 12 май 2020, 16:11

da-nie писал(а):Впрочем, если взять stm32f103
Такая (Core103R за 1608 р в ЧиД) подходит?
Jedem das Seine

A1230@50MHz/32M/80G, Mediator PCI (S3 ViRGE/DX 4M, RTL8139), GBS-8200;
A2000@7,14MHz without all ;)
Аватара пользователя
aGGreSSor
Надоедливый Амигодух
Надоедливый Амигодух
 
Сообщения: 365
Зарегистрирован: 10 фев 2004, 12:41
Откуда: Saint-Petersburg, Russia

Re: Эмулятор дисковода своими руками

Сообщение da-nie 12 май 2020, 18:47

Думаю, подходит. Почему бы и нет? :) Но я же говорю, у меня плата с 60 кб есть. Просто для другого пригодится - она раза в два, наверное, дороже той, что я применил. И в ЧиД это лучше не покупать. :D
Мой репозиторий: https://github.com/da-nie
Мои статьи: https://habr.com/ru/users/da-nie/posts/
Моё видео: https://www.youtube.com/channel/UCUroi3D5Kf1WxDzg3ON852g/videos
Аватара пользователя
da-nie
Престарелый Амигодум
Престарелый Амигодум
 
Сообщения: 240
Зарегистрирован: 23 сен 2011, 17:25
Откуда: Ленинградская область


Вернуться в Эмуляция

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 10

cron