Эмулятор дисковода для Amiga с двумя модулями SIMM-30 PIN

Обсуждаем цифровые устройства...
Аватара пользователя
da-nie
Говорящий с текстолитом
Сообщения: 1590
Зарегистрирован: Вс июн 24, 2012 16:07:00
Откуда: Лен.Обл.
Контактная информация:

Эмулятор дисковода для Amiga с двумя модулями SIMM-30 PIN

Сообщение da-nie »

Это устройство может пригодиться разве что любителям старого компьютера Amiga. И то, только если ваша Amiga не имеет винчестера (как у меня). :) Всем остальным оно вряд ли будет интересно, хотя теоретически после модификации прошивки можно будет его использовать и с ZX-Spectrum. Этот эмулятор подменяет собой штатный дисковод Amiga и позволяет вместо дискет использовать SD-карточку. Карточка на 2 ГБ примерно заменит вам 1000 амижных дискет. На SD-карточку записываются mfm-образы, создаваемые из adf-файлов образов дискеты вот этой вот программой:
ADF2MFMConverter.rar
Конвертер adf-файлов в mfm
(23.22 КБ) 864 скачивания
Эти образы - это просто чистый mfm-образ дискеты для Amiga. Без всяких заголовков.

Схема устройства:
AmigaFloppyEmulator-simm30.GIF
Схема
(172.26 КБ) 1415 скачиваний
Печатка односторонняя, второй слой можно сделать перемычками. Но можно и двустороннюю сделать. Дроссели я брал с компьютерных блоков питания - сколько там миллигенри не знаю. Можно практически любые поставить - они тут скорее для красоты. :)
На печати есть место для подключения подсветки ЖК-дисплея и резистора в 10-30 Ом для неё. На схеме эта часть не изображена. Коннектор J1 необязателен (это для питания от molex-разъёма дисковода IBM-PC)

Внешний вид собранной конструкции вот какой:

Изображение
driver-1.jpg
Внешний вид устройства
(97.76 КБ) 5340 скачиваний
Используются два модуля SIMM-30 по 1 МБ (можно и больше, но задействован будет только 1 МБ! Каждый модуль - это одна сторона дискеты). Желательно с ТРЕМЯ микросхемами (они почему-то лучше работают. Более старые (с 9-ю микросхемами) у меня не все запустились. Может битые, а может надо ещё чаще их регенерировать.)

Используются два микроконтроллера Atmega-16. Первый программируйте на внешний кварц на 16 МГц с обязательным фьюзом CKOPT (увеличенная амплитуда сигнала на входе XTAL), а вот второй на ВНЕШНЮЮ синхронизацию. Учтите, если у вас в программаторе внешнего тактирования микросхемы нет, то вторая Atmega-16 после этого будет для вас непрограммируемой. Решение простое - подключить к ней любой генератор. :) Обязательно отключите JTAG в настройках фьюзов для атмег.

Обозначения в файлах прошивок следующие: MK1 - микроконтроллер у дисплея, MK2- микроконтроллер у памяти. Все прошивки с исходниками. Если кто их дорабатывать будет - буду очень рад. :)

На сегодня доступна версия:

На 11.10.2012 штатная версия прошивки 0.5. Работает с FAT16 без директорий. Работает с длинными именами файлов (до 20 символов - больше всё равно экран не позволяет). Потребляет файлы, созданные вышеприведённой программой конвертера.
DRAMAmigaFloppyEmulator.rar
Прошивка версии 0.5
(172.95 КБ) 853 скачивания
Я при подключении этого устройства физически отключал на плате Amiga встроенный дисковод. Вообще говоря, у меня на схеме заведены сигналы выборки дисковода на контроллер MK1, но я их пока что не использую. Поэтому с подключенным внутренним дисководом возможен конфликт!
И день и ночь в пути...
Мои программки: https://github.com/da-nie
Мои публикации: https://habr.com/ru/users/da-nie/posts/
Мои видео: https://www.youtube.com/channel/UCUroi3 ... 52g/videos
Реклама
Аватара пользователя
da-nie
Говорящий с текстолитом
Сообщения: 1590
Зарегистрирован: Вс июн 24, 2012 16:07:00
Откуда: Лен.Обл.
Контактная информация:

Re: Эмулятор дисковода для Amiga с двумя модулями SIMM-30 PI

Сообщение da-nie »

Видео работы эмулятора: http://www.youtube.com/watch?v=rgatUnn2jgk
И день и ночь в пути...
Мои программки: https://github.com/da-nie
Мои публикации: https://habr.com/ru/users/da-nie/posts/
Мои видео: https://www.youtube.com/channel/UCUroi3 ... 52g/videos
Реклама
Аватара пользователя
da-nie
Говорящий с текстолитом
Сообщения: 1590
Зарегистрирован: Вс июн 24, 2012 16:07:00
Откуда: Лен.Обл.
Контактная информация:

Re: Эмулятор дисковода для Amiga с двумя модулями SIMM-30 PI

Сообщение da-nie »

Опа. Забыл печатную плату привести.
Вложения
board.rar
Печатная плата в формате Layout4
(44.04 КБ) 787 скачиваний
И день и ночь в пути...
Мои программки: https://github.com/da-nie
Мои публикации: https://habr.com/ru/users/da-nie/posts/
Мои видео: https://www.youtube.com/channel/UCUroi3 ... 52g/videos
scrappy
Встал на лапы
Сообщения: 139
Зарегистрирован: Сб май 23, 2009 16:30:23
Откуда: Санкт-Петербург
Контактная информация:

Re: Эмулятор дисковода для Amiga с двумя модулями SIMM-30 PI

Сообщение scrappy »

Вот для спектрума бы, тогда бы цены небыло! он все таки более распространен!

причем в спектрумском варианте юзаються дискеты без двойной плотности записи, тоесть 700Кб. и подходят любые дисководы 3.5"
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
da-nie
Говорящий с текстолитом
Сообщения: 1590
Зарегистрирован: Вс июн 24, 2012 16:07:00
Откуда: Лен.Обл.
Контактная информация:

Re: Эмулятор дисковода для Amiga с двумя модулями SIMM-30 PI

Сообщение da-nie »

Вот для спектрума бы, тогда бы цены небыло! он все таки более распространен!
Спектрума с дисководом у меня нет и не было. :) А магнитофон заменить картой совсем не сложно. :) Впрочем, если написать прошивку для выдачи дискеты в формате спектрума, тогда и этот эмулятор может работать со спектрумом.
И, кстати, tnt23 сделал эмулятор дисковода под много платформ.
И день и ночь в пути...
Мои программки: https://github.com/da-nie
Мои публикации: https://habr.com/ru/users/da-nie/posts/
Мои видео: https://www.youtube.com/channel/UCUroi3 ... 52g/videos
Реклама
scrappy
Встал на лапы
Сообщения: 139
Зарегистрирован: Сб май 23, 2009 16:30:23
Откуда: Санкт-Петербург
Контактная информация:

Re: Эмулятор дисковода для Amiga с двумя модулями SIMM-30 PI

Сообщение scrappy »

Спектрума с дисководом у меня нет и не было. А магнитофон заменить картой совсем не сложно.
Да магнитофон можно чем хочешь заменить) дешевый мп3 плеер сойдет. Весь цимес в эмуляторе дисковода.
на zx.pk.ru проскакивал эмулятор, но что-то далеко не ушло.
И, кстати, tnt23 сделал эмулятор дисковода под много платформ.
А если не затруднит, то можно ссылочку.
Реклама
Аватара пользователя
da-nie
Говорящий с текстолитом
Сообщения: 1590
Зарегистрирован: Вс июн 24, 2012 16:07:00
Откуда: Лен.Обл.
Контактная информация:

Re: Эмулятор дисковода для Amiga с двумя модулями SIMM-30 PI

Сообщение da-nie »

А если не затруднит, то можно ссылочку.
http://www.sensi.org/~tnt23/megadrive/index.html

http://www.vak.ru/doku.php/proj/megadrive/megadrive

http://speccy-live.untergrund.net/2008/ ... %B4%D0%B0/

Он его, кстати, продаёт. Так что можете у него заказать.
Весь цимес в эмуляторе дисковода.
Учитывая практически полную 100% эмуляцию спектрума на PC, надобность в реальном железе с эмулятором дисковода довольно сомнительная. С амигой другое дело - её эмуляторы далеко не так хороши, как реальная амига. Хотя, я на ней всё равно не играю. :) Просто интересно было её запустить. :)
И день и ночь в пути...
Мои программки: https://github.com/da-nie
Мои публикации: https://habr.com/ru/users/da-nie/posts/
Мои видео: https://www.youtube.com/channel/UCUroi3 ... 52g/videos
scrappy
Встал на лапы
Сообщения: 139
Зарегистрирован: Сб май 23, 2009 16:30:23
Откуда: Санкт-Петербург
Контактная информация:

Re: Эмулятор дисковода для Amiga с двумя модулями SIMM-30 PI

Сообщение scrappy »

ну про эмуляцию спектрума не будем, хотябы потому, что у меня есть реальное работающее железо(Profi+)

А за ссылочки огромное спасибо)
Кстати я вспомнил, именно у tnt23 (когда только первые версии делал) я хотел взять на пробу одну из первых плат. Но не срослось и он кудато пропал.
Аватара пользователя
da-nie
Говорящий с текстолитом
Сообщения: 1590
Зарегистрирован: Вс июн 24, 2012 16:07:00
Откуда: Лен.Обл.
Контактная информация:

Re: Эмулятор дисковода для Amiga с двумя модулями SIMM-30 PI

Сообщение da-nie »

Кстати я вспомнил, именно у tnt23 (когда только первые версии делал) я хотел взять на пробу одну из первых плат. Но не срослось и он куда-то пропал.
А почему вы сами не хотите сделать эмулятор дисковода спектрума? 8) Описание формата TRD известно. Общая идея в общем-то тоже. Схему я привёл, пример прошивки тоже. По сути, вам нужно будет просто сделать из TRD образ MFM. А потом немного модифицировать прошивки с учётом размера MFM для спектрума. tnt23 потому и сделал на базе своего эмулятора для амиги поддержку спектрума, что там, как я понимаю, особых проблем нет.
ну про эмуляцию спектрума не будем, хотябы потому, что у меня есть реальное работающее железо(Profi+)
У меня только без дисковода есть спектрумы. Но вот что-то композит 48 после недавнего включения отказался работать... :?
И день и ночь в пути...
Мои программки: https://github.com/da-nie
Мои публикации: https://habr.com/ru/users/da-nie/posts/
Мои видео: https://www.youtube.com/channel/UCUroi3 ... 52g/videos
Аватара пользователя
da-nie
Говорящий с текстолитом
Сообщения: 1590
Зарегистрирован: Вс июн 24, 2012 16:07:00
Откуда: Лен.Обл.
Контактная информация:

Re: Эмулятор дисковода для Amiga с двумя модулями SIMM-30 PI

Сообщение da-nie »

Обновлена прошивка.
Прошивка версии 1.05. Ускорена работа со списком файлов. Список файлов ограничен 32000 файлов.
DRAMAmigaFloppyEmulator.rar
Прошивка версии 1.05
(181.1 КБ) 517 скачиваний
И день и ночь в пути...
Мои программки: https://github.com/da-nie
Мои публикации: https://habr.com/ru/users/da-nie/posts/
Мои видео: https://www.youtube.com/channel/UCUroi3 ... 52g/videos
Mr-Linker
Первый раз сказал Мяу!
Сообщения: 22
Зарегистрирован: Пн окт 22, 2007 14:53:27
Откуда: Краснодар/Динская

Re: Эмулятор дисковода для Amiga с двумя модулями SIMM-30 PI

Сообщение Mr-Linker »

Ну для спектрума такая байда тоже существует
http://service4u.narod.ru/html/emulator.html

А тут коммерческая версия (мультиплатформенная)
http://www.zx-kit.ru/katalog-1/zxkit-009

Автор
http://hxc2001.free.fr/floppy_drive_emulator/
Amd 386/8mb/170mb/512kb
Импульс/BDI
Pentagon 128
KAY-1024
ZX-Evo 4096
Scorpion ZS 256, 256T, 256T+, 256T+/GMX 2048/SMUC, 256T+/SMUC/ZXMC2/GS 2Mb/TS/HDD 40Gb/FDD 5"&3"
БК-0010, 0011, 0011М
Atari 800XE
УК-НЦ
ПК8000
ПК8010
Орион-128
Аватара пользователя
da-nie
Говорящий с текстолитом
Сообщения: 1590
Зарегистрирован: Вс июн 24, 2012 16:07:00
Откуда: Лен.Обл.
Контактная информация:

Re: Эмулятор дисковода для Amiga с двумя модулями SIMM-30 PI

Сообщение da-nie »

Опять обновлена прошивка. :) До версии 1.1. Изменился интерфейс и алгоритм обмена контроллеров по SPI.
DRAMAmigaFloppyEmulator.rar
Прошивка версии 1.1
(195.57 КБ) 570 скачиваний
Выглядит теперь это так:
СпойлерИзображение

Изображение

Изображение
Вложения
i3.jpg
(94.18 КБ) 2961 скачивание
i2.jpg
(94.5 КБ) 3083 скачивания
i1.jpg
(95.08 КБ) 3030 скачиваний
И день и ночь в пути...
Мои программки: https://github.com/da-nie
Мои публикации: https://habr.com/ru/users/da-nie/posts/
Мои видео: https://www.youtube.com/channel/UCUroi3 ... 52g/videos
Alexeyslav
Друг Кота
Сообщения: 4550
Зарегистрирован: Чт май 05, 2011 21:26:34
Откуда: Украина, Славутич
Контактная информация:

Re: Эмулятор дисковода для Amiga с двумя модулями SIMM-30 PI

Сообщение Alexeyslav »

Память может сбоит из-за слишком малого времени между RAS и CAS сигналами. Сами микросхемы живучие - содержимое памяти сохраняется до 20 секунд без питания(или рефреша)!!!
Аватара пользователя
da-nie
Говорящий с текстолитом
Сообщения: 1590
Зарегистрирован: Вс июн 24, 2012 16:07:00
Откуда: Лен.Обл.
Контактная информация:

Re: Эмулятор дисковода для Amiga с двумя модулями SIMM-30 PI

Сообщение da-nie »

Я играл с длительностями и скоростями регенерации. Нет, похоже просто эти линейки подгорели. У меня таких модулей штук 12. Из них 4 не работают. Остальные отлично работают. Похоже, что эти 4 как раз просто битые.
А микросхемы действительно помнят десятки секунд. :) Я когда первый раз их использовал, был очень удивлён тому, что они такие памятливые. Даже сначала подумал, что они как квазистатическое ОЗУ работают. :)
И день и ночь в пути...
Мои программки: https://github.com/da-nie
Мои публикации: https://habr.com/ru/users/da-nie/posts/
Мои видео: https://www.youtube.com/channel/UCUroi3 ... 52g/videos
Аватара пользователя
da-nie
Говорящий с текстолитом
Сообщения: 1590
Зарегистрирован: Вс июн 24, 2012 16:07:00
Откуда: Лен.Обл.
Контактная информация:

Re: Эмулятор дисковода для Amiga с двумя модулями SIMM-30 PI

Сообщение da-nie »

Новая версия прошивки. Версия 1.2 теперь работает с директориями.
Firmware 1.2.rar
(211.21 КБ) 558 скачиваний
P.S. Если кто знает, как найти первый сектор FAT-16 на SD-карте, не стесняйтесь, рассказывайте. :) Почему-то на некоторых картах (сами карты 2 ГБ) его нет в пределах первых 32 МБ. :oops: И с такой картой, естественно, эмулятор не работает. Где же он находится в таком случае?
И день и ночь в пути...
Мои программки: https://github.com/da-nie
Мои публикации: https://habr.com/ru/users/da-nie/posts/
Мои видео: https://www.youtube.com/channel/UCUroi3 ... 52g/videos
Alexeyslav
Друг Кота
Сообщения: 4550
Зарегистрирован: Чт май 05, 2011 21:26:34
Откуда: Украина, Славутич
Контактная информация:

Re: Эмулятор дисковода для Amiga с двумя модулями SIMM-30 PI

Сообщение Alexeyslav »

А разве первый сектор не указан в MBR? Зачем его искать?
Аватара пользователя
da-nie
Говорящий с текстолитом
Сообщения: 1590
Зарегистрирован: Вс июн 24, 2012 16:07:00
Откуда: Лен.Обл.
Контактная информация:

Re: Эмулятор дисковода для Amiga с двумя модулями SIMM-30 PI

Сообщение da-nie »

Указан-то указан, да только MBR я как раз и ищу... MBR должен в 0 начинаться, но не начинается.
Я ищу так:

Код: Выделить всё

 //ищем FAT
 FATOffset=0;
 for(unsigned long fo=0;fo<33554432UL;fo++)
 {
  unsigned char b=GetByte(fo); 
  if (b==233 || b==235)
  {
   b=GetByte(fo+511UL);
   if (b==170)   
   {
    b=GetByte(fo+510UL);
    if (b==85)
    {
     FATOffset=fo;
     break;
     }
   } 
  }
 }
MBR заканчивается байтами 0x55AA, но вся штука в том, что их нет в пределах первых 32 МБ карты.
И день и ночь в пути...
Мои программки: https://github.com/da-nie
Мои публикации: https://habr.com/ru/users/da-nie/posts/
Мои видео: https://www.youtube.com/channel/UCUroi3 ... 52g/videos
Alexeyslav
Друг Кота
Сообщения: 4550
Зарегистрирован: Чт май 05, 2011 21:26:34
Откуда: Украина, Славутич
Контактная информация:

Re: Эмулятор дисковода для Amiga с двумя модулями SIMM-30 PI

Сообщение Alexeyslav »

Значит это вообще не FAT, а например NTFS или ExFAT. Смотрел 16-ричным редактором первые сектора этой флешки?
Аватара пользователя
da-nie
Говорящий с текстолитом
Сообщения: 1590
Зарегистрирован: Вс июн 24, 2012 16:07:00
Откуда: Лен.Обл.
Контактная информация:

Re: Эмулятор дисковода для Amiga с двумя модулями SIMM-30 PI

Сообщение da-nie »

Да нет, это FAT16. Таковой и форматировалась. Другая аналогичная флешка MBR имеет тоже далеко не по нулевому адресу, хоть и в пределах 32 МБ.

Когда-то я сливал с устройства через COM-порт побайтный дамп флэшки, где и увидел такой вот прикол (в начальных секторах были 0, а MBR был сильно подальше). Сейчас это устройство уже разобрано, так что дамп слить не могу. Но если есть для Windows программы, позволяющие прямо через картридер смотреть побайтно SD-карту,то буду благодарен за название программы. :)
И день и ночь в пути...
Мои программки: https://github.com/da-nie
Мои публикации: https://habr.com/ru/users/da-nie/posts/
Мои видео: https://www.youtube.com/channel/UCUroi3 ... 52g/videos
Alexeyslav
Друг Кота
Сообщения: 4550
Зарегистрирован: Чт май 05, 2011 21:26:34
Откуда: Украина, Славутич
Контактная информация:

Re: Эмулятор дисковода для Amiga с двумя модулями SIMM-30 PI

Сообщение Alexeyslav »

Да практически любой 16-ричный редактор - WinHEX, HexEdit и т.д.
Нули в начале? Может, ошибка чтения? MBR поидее всегда располагается нулевым сектором.
Ответить

Вернуться в «Цифровая техника»