====== Эмулятор флоппи-дисковода ====== //Copyright (C) 2007-2008 [[http://www.sensi.org/~tnt23/ | tnt23]]// * Домашняя страница проекта: http://www.sensi.org/~tnt23/megadrive/index.html * Обсуждение на amiga.org: http://www.amiga.org/modules/newbb/viewtopic.php?topic_id=28022&forum=8 * Обсуждение на amiga.org.ru: http://amiga.org.ru/forum/viewtopic.php?t=1298 * Аналогичный проект: http://jeanfrancoisdelnero.free.fr/floppy_drive_emulator/ * [[http://www.datexeurope.com/emulator/DTX200en.html | DTX-200]] - коммерческое устройство - эмулятор флоппи-диска, Франция. * [[mfm | Формат файла .MFM]] * [[http://retrotechnology.net/herbs_stuff/drive.html | Tech information on floppy disks drives and media]] * [[bk:floppy-800k | Работа с флопиками 800k]] под Linux и Windows * [[testing-bk | Тестирование на БК-0010/0011М]] Устройство прикидывается флоппи-дисководом со стандартным 34-контактным интерфейсом. Образы флоппи-дисков хранятся на flash-карточке формата SecureDigital (SD) или CompactFlash (CF). Общий вид: {{http://www.sensi.org/~tnt23/megadrive/trdos.jpg}} ====== Интерфейс флоповода 3.5" ====== Описание интерфейса стандартного флоппи-дисковода можно посмотреть в спецификации {{datasheet:teac-fd235hf-a429.pdf | TEAC FD-235HF Floppy Disk Drive}}. ^ Чётные ^ ^ ^ Нечетные ^ | | 2   | 1 | | | | 4   | 3 | | | | 6   | 5 | | | Индексный маркер --- /INDEX | <- 8   | 7 | Общий | | | 10 | 9 | -- -- -- | | Выбор накопителя --- /DRVS | -> 12 | 11 | -- -- -- | | | 14 | 13 | -- -- -- | | Включение двигателя --- /MOTE | -> 16 | 15 | -- -- -- | | Направление шага --- /DIR | -> 18 | 17 | -- -- -- | | Шаг --- /STEP | -> 20 | 19 | -- -- -- | | Данные записи --- /WDATA | -> 22 | 21 | -- -- -- | | Разрешение записи --- /WGATE | -> 24 | 23 | -- -- -- | | Нулевая дорожка --- /TRK00 | <- 26 | 25 | -- -- -- | | Запрет записи --- /WPT | <- 28 | 27 | -- -- -- | | Данные чтения --- /RDATA | <- 30 | 29 | -- -- -- | | Выбор поверхности --- /SIDE1 | -> 32 | 31 | -- -- -- | | Готовность --- /DSKCHG | <- 34 | 33 | -- -- -- | Направление сигналов: | -> | От контроллера к дисководу | | <- | От дисковода к контроллеру | ===== Монтаж ===== Примерная последовательность сборки: 1. Установить все элементы, которые располагаются под индикатором (C1, C6, C7, Q1, C8, C9, VT1, R21, R22, R25, R26, C11, R39, R14-R19, U1, C10). Кварцевый резонатор Q1 должен быть типа "лодочка" и установлен вплотную к плате. 2. Распаять остальную мелочевку 3. Установить разъем SD/MMC Внимательно все осмотреть. Подать питание, убедиться в том, что на выходе U1 действительно 3.3 вольта, и если есть осциллограф - что Q1 действительно генерирует 16МГц. 4. Установить "бутерброд" из индикатора и подсветки. Тут надо немного повозиться :) у подсветки надо откусить правую нижнюю пластиковую ножку. Модуль подсветки должен упираться в кварцевый резонатор Q1. Я его ставлю "бутербродом" вместе с индикатором, выравниваю, прихватываю одну ногу индикатора, снова ровняю и потом уже распаиваю все целиком. В принципе индикатор с подсветкой можно и не ставить на саму плату, а вынести на проводках. Но тут надо будет подумать, как их крепить друг к другу; резиновыми колечками или на отдельной монтажке. 5. Распаять оставшиеся компоненты После того, как плата собрана, нужно кинуть два проводка: 6. От катода подсветки индикатора (нижний вывод, рядом с резистором R7) на землю 7. От перемычки R11 на ногу 19 регистра D2. Собственно, это все. На флешку кладем файл с прошивкой, вставляем флешку и включаем питание, удерживая кнопку 5. На экране должен появиться загрузчик. Нажимаем кнопку SELECT (3), должен подцепиться и прошиться файл с флешки. Монтажная схема: {{megadrive-assembly.gif?588x396}} ===== Спецификация комплектующих ===== ^ Количество ^ Компонента ^ Обозначение ^ Значение ^ | 2 | 74HCT541 | D2 | | | | 74HCT541 | D3 | | | 1 | ATMEGA2560 | D1 | | | 5 | BUTTON | B1 | [[http://www.chipdip.ru/product0/6068.aspx | TS-A2PS-130]] | | | BUTTON | B2 | -- -- | | | BUTTON | B3 | -- -- | | | BUTTON | B4 | -- -- | | | BUTTON | B5 | -- -- | | 7 | C0805 | C1 | 0.1 | | | C0805 | C2 | 0.1 | | | C0805 | C4 | 0.1 | | | C0805 | C5 | 0.1 | | | C0805 | C6 | 0.1 | | | C0805 | C7 | 0.1 | | | C0805 | C10 | 0.1 | | 1 | C0805 | C11 | 1.0 | | 2 | C0805 | C8 | 22pF | | | C0805 | C9 | 22pF | | 1 | INTFLOPPY | S1 | IDC, прямой, 34 pin | | 1 | PWR | X5 | Разъем питания от флопика | | 1 | QUARTZ | Q1 | 16MHz HC-49S | | 2 | R0805 | R11 | 0 | | | R0805 | R12 | 0 | | 2 | R0805 | R7 | 0 | | | R0805 | R10 | 0 | | 3 | R0805 | R15 | 1K8 | | | R0805 | R17 | 1K8 | | | R0805 | R19 | 1K8 | | 1 | R0805 | R34 | 2k | | 3 | R0805 | R21 | 2K2 | | | R0805 | R22 | 2K2 | | | R0805 | R25 | 2K2 | | 3 | R0805 | R14 | 3K3 | | | R0805 | R16 | 3k3 | | | R0805 | R18 | 3k3 | | 3 | R0805 | R27 | 10K | | | R0805 | R39 | 10k | | | R0805 | R44 | 10k | | 2 | R0805 | R26 | 100 | | | R0805 | R43 | 100 | | 2 | R0805 | R30 | 330 | | | R0805 | R31 | 330 | | 1 | REG1117-3.3 | U1 | LM1117MP-3.3 | | 1 | SCDA1A0900 | X4 | [[http://www.mouser.com/search/ProductDetail.aspx?R=SCDA1A0900virtualkey68800000virtualkey688-SCDA1A0900 | Гнездо SecureDigital]] | | 1 | SIMM72 | X1 | Память 4 Мб или больше | | 1 | TB1040S | HL1 | Подсветка для ЖКИ | | 1 | TIC149-NEW | H1 | [[http://www.gamma.spb.ru/products.info.php?c=418&s=9&i=418 | ЖКИ 133x64]] | | 2 | VD0805-NEW | VD2 | любые светодиоды 0805 | | | VD0805-NEW | VD3 | любые светодиоды 0805 | | 1 | VDBIG | VD4 | можно заменить перемычкой | | 1 | VTNPN | VT1 | BC817C | ==== Мысли ==== {{ http://www.chipdip.ru/library/DOC000168995.jpg}} При исполнении в форм-факторе стандартного дисковода 3.5" можно на передней панели разместить гнездо карточки SD/MMC, двухразрядный семисегментный индикатор и три кнопки "+", "-" и "W". На дискете размещаются файлы с именами типа "01dos.mfm", "02windows.mfm", "17linux.mfm" и т.п. Кнопками "+", "-" выбираем файл, его номер отображается на индикаторе. Кнопкой W можно установить/снять режим защиты записи. Нею же, если подержать нажатой несколько секунд, можно создать новый образ флопика со следующим свободным номером. Подходящие светодиоды: [[http://www.chipdip.ru/product0/688264097.aspx | SA39-11GWA]]. Высота корпуса 13 мм, цвет зеленый, общий анод.