Обсуждаем цифровые устройства...
Ответить

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

Сб окт 13, 2012 08:37:05

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

ADF2MFMConverter.rar
Конвертер adf-файлов в mfm
(23.22 KiB) Скачиваний: 787


Эти образы - это просто чистый mfm-образ дискеты для Amiga. Без всяких заголовков.

Схема устройства:

AmigaFloppyEmulator-simm30.GIF
Схема
(172.26 KiB) Скачиваний: 1325


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

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

Изображение

driver-1.jpg
Внешний вид устройства
(97.76 KiB) Скачиваний: 5091


Используются два модуля 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 KiB) Скачиваний: 791


Я при подключении этого устройства физически отключал на плате Amiga встроенный дисковод. Вообще говоря, у меня на схеме заведены сигналы выборки дисковода на контроллер MK1, но я их пока что не использую. Поэтому с подключенным внутренним дисководом возможен конфликт!

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

Пн окт 15, 2012 21:00:58

Видео работы эмулятора: http://www.youtube.com/watch?v=rgatUnn2jgk

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

Вс окт 21, 2012 20:38:08

Опа. Забыл печатную плату привести.
Вложения
board.rar
Печатная плата в формате Layout4
(44.04 KiB) Скачиваний: 721

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

Вт окт 23, 2012 09:29:37

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

причем в спектрумском варианте юзаються дискеты без двойной плотности записи, тоесть 700Кб. и подходят любые дисководы 3.5"

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

Вт окт 23, 2012 17:02:16

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


Спектрума с дисководом у меня нет и не было. :) А магнитофон заменить картой совсем не сложно. :) Впрочем, если написать прошивку для выдачи дискеты в формате спектрума, тогда и этот эмулятор может работать со спектрумом.
И, кстати, tnt23 сделал эмулятор дисковода под много платформ.

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

Ср окт 24, 2012 08:44:38

Спектрума с дисководом у меня нет и не было. А магнитофон заменить картой совсем не сложно.

Да магнитофон можно чем хочешь заменить) дешевый мп3 плеер сойдет. Весь цимес в эмуляторе дисковода.
на zx.pk.ru проскакивал эмулятор, но что-то далеко не ушло.

И, кстати, tnt23 сделал эмулятор дисковода под много платформ.


А если не затруднит, то можно ссылочку.

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

Ср окт 24, 2012 17:38:08

А если не затруднит, то можно ссылочку.


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, надобность в реальном железе с эмулятором дисковода довольно сомнительная. С амигой другое дело - её эмуляторы далеко не так хороши, как реальная амига. Хотя, я на ней всё равно не играю. :) Просто интересно было её запустить. :)

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

Ср окт 24, 2012 19:12:41

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

А за ссылочки огромное спасибо)
Кстати я вспомнил, именно у tnt23 (когда только первые версии делал) я хотел взять на пробу одну из первых плат. Но не срослось и он кудато пропал.

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

Ср окт 24, 2012 19:29:51

Кстати я вспомнил, именно у tnt23 (когда только первые версии делал) я хотел взять на пробу одну из первых плат. Но не срослось и он куда-то пропал.


А почему вы сами не хотите сделать эмулятор дисковода спектрума? 8) Описание формата TRD известно. Общая идея в общем-то тоже. Схему я привёл, пример прошивки тоже. По сути, вам нужно будет просто сделать из TRD образ MFM. А потом немного модифицировать прошивки с учётом размера MFM для спектрума. tnt23 потому и сделал на базе своего эмулятора для амиги поддержку спектрума, что там, как я понимаю, особых проблем нет.

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


У меня только без дисковода есть спектрумы. Но вот что-то композит 48 после недавнего включения отказался работать... :?

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

Вс мар 10, 2013 22:03:28

Обновлена прошивка.

Прошивка версии 1.05. Ускорена работа со списком файлов. Список файлов ограничен 32000 файлов.

DRAMAmigaFloppyEmulator.rar
Прошивка версии 1.05
(181.1 KiB) Скачиваний: 474

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

Чт мар 14, 2013 17:31:14

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

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

Автор
http://hxc2001.free.fr/floppy_drive_emulator/

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

Сб мар 16, 2013 10:26:11

Опять обновлена прошивка. :) До версии 1.1. Изменился интерфейс и алгоритм обмена контроллеров по SPI.

DRAMAmigaFloppyEmulator.rar
Прошивка версии 1.1
(195.57 KiB) Скачиваний: 507


Выглядит теперь это так:

СпойлерИзображение

Изображение

Изображение
Вложения
i3.jpg
(94.18 KiB) Скачиваний: 2740
i2.jpg
(94.5 KiB) Скачиваний: 2858
i1.jpg
(95.08 KiB) Скачиваний: 2791

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

Вт мар 19, 2013 17:03:07

Память может сбоит из-за слишком малого времени между RAS и CAS сигналами. Сами микросхемы живучие - содержимое памяти сохраняется до 20 секунд без питания(или рефреша)!!!

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

Вт мар 19, 2013 18:39:25

Я играл с длительностями и скоростями регенерации. Нет, похоже просто эти линейки подгорели. У меня таких модулей штук 12. Из них 4 не работают. Остальные отлично работают. Похоже, что эти 4 как раз просто битые.
А микросхемы действительно помнят десятки секунд. :) Я когда первый раз их использовал, был очень удивлён тому, что они такие памятливые. Даже сначала подумал, что они как квазистатическое ОЗУ работают. :)

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

Вс июн 15, 2014 14:40:11

Новая версия прошивки. Версия 1.2 теперь работает с директориями.

Firmware 1.2.rar
(211.21 KiB) Скачиваний: 503


P.S. Если кто знает, как найти первый сектор FAT-16 на SD-карте, не стесняйтесь, рассказывайте. :) Почему-то на некоторых картах (сами карты 2 ГБ) его нет в пределах первых 32 МБ. :oops: И с такой картой, естественно, эмулятор не работает. Где же он находится в таком случае?

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

Вс июн 15, 2014 15:40:21

А разве первый сектор не указан в MBR? Зачем его искать?

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

Вс июн 15, 2014 15:50:55

Указан-то указан, да только 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 МБ карты.

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

Вс июн 15, 2014 18:50:38

Значит это вообще не FAT, а например NTFS или ExFAT. Смотрел 16-ричным редактором первые сектора этой флешки?

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

Вс июн 15, 2014 19:04:08

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

Когда-то я сливал с устройства через COM-порт побайтный дамп флэшки, где и увидел такой вот прикол (в начальных секторах были 0, а MBR был сильно подальше). Сейчас это устройство уже разобрано, так что дамп слить не могу. Но если есть для Windows программы, позволяющие прямо через картридер смотреть побайтно SD-карту,то буду благодарен за название программы. :)

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

Вс июн 15, 2014 20:16:19

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