Просмотр полной версии : Планирую сделать FDD эмулятор на Atmega8
А кварцевый генератор запускается?
Если не запускается кварц, то это отразится на работе самого устройства. Но программатор-то все равно должен будет видеть атмегу. Я так думаю.
Serg6845
15.11.2021, 14:15
Если не запускается кварц, то это отразится на работе самого устройства. Но программатор-то все равно должен будет видеть атмегу. Я так думаю.
разве что параллельный. для ISP нужен либо внешний генератор, либо фьюзы выставленные на внутренний.
Копейкин
15.11.2021, 15:17
Если не запускается кварц, то это отразится на работе самого устройства. Но программатор-то все равно должен будет видеть атмегу. Я так думаю.
Если фьюзы режима настроены на внешний кварц, то ISP программатор (а в основном пользуют такие, а не параллельные) не будет видеть контроллер. Это точно! Есть такая шляпа в AVR.
tigr101274
15.11.2021, 15:50
Вроде так фьюзы должны быть выставлены
https://i.ibb.co/tLHnWDC/111.jpg (https://ibb.co/tLHnWDC)
Я прошивал батником из архива "avrdude -p atmega328p -c USBasp -U flash:w:ZX_FDD_Emulator.ino.standard.hex -U lfuse:w:0xde:m -U hfuse:w:0xd7:m" в дудке причем на плате альтеру прошить не удалось снимал и прошивал отдельно.
Копейкин
15.11.2021, 20:32
А при чём тут Altera??? Там ведь Atmel(Microchip)ATMEGA328p. И переключение на внешний кварц.
Можно было на чём попало, хоть на 2-х лог. элементах собрать генератор от 1 до 16MHz и подать на вход XTAL1, даже не выпаивая кварц.
Для программирования или теста работы частота не важна, и если дело только в кварце, то дисплей засветится при любой частоте.
tigr101274
16.11.2021, 05:13
А при чём тут Altera??? Там ведь Atmel(Microchip)ATMEGA328p.
Ошибся писал второпях, с генератором попробую, кварц рабочий 100%
Кажись нашел я инфу по запуску данной версии платы
ua3nfs – 28.01.2021
Долго я копал прошивку, но всё заработало!
Fuses правильные High DC, Low FF
В скетче нужно закоментировать (удалить) строку
SPSR |= _BV(SPI2X); // set double speed
при этом скорость обмена с картой упадет в 2 раза,
но всё заработает! Ура!
Есть вопросы? Пишите мне на почту @mail.ru
ua3nfs – 13.12.2020
3. Долго устройство не видело карту памяти, всему виной оказались FUSES, те что рекомендуют на форуме не подошли. Заработало с High DF, Low 27.
ua3nfs – 10.12.2020
Собираю, на плате купленной у Павла, ZX FDD Emulator.
Обнаружил следующие неточности
1. На разъём для программирования не стандартно выведены сигналы (MISO и MOSI нужно поменять местами.
2. Задан адрес, на микросхеме PCF8574T,( 0х40 ) с ним прошивка с форума не запустится. Нужно или в скетче поменять строку «#define LCDEX_ADDR 0x4Е» на «#define LCDEX_ADDR 0x40» или первую, вторую и третью ногу микросхемы, 8574, оторвать от земли и посадить на +5
буду смотреть дальше
tigr101274
17.11.2021, 04:38
Итак благодаря помощи комрада Николая Чернозубкина ua3nfs удалось запустить данную платку
https://i.ibb.co/QKwLSy8/20211117-071821.jpg (https://ibb.co/QKwLSy8) https://i.ibb.co/z2M8pV5/20211117-072250.jpg (https://ibb.co/z2M8pV5)
Прошивки: (у меня установлена PCF8574АT) https://disk.yandex.ru/d/UrEcA-zv-9ENNQ
Фьюзы:
bootloader — с загрузчиком (low FF, high DA)
standard — без загрузчика (low FF, high DF)
Копейкин
17.11.2021, 09:18
Спасибо за отчёт. А прошивки соответствуют выложеным на git автором или ещё что-то менялось кроме адреса дисплея и скорости карты?
tigr101274
17.11.2021, 09:25
Спасибо за отчёт. А прошивки соответствуют выложеным на git автором или ещё что-то менялось кроме адреса дисплея и скорости карты?
Судя по всему кроме этого ни чего больше не менялось.
tigr101274
18.11.2021, 05:26
Прошивки для PCF8574T
https://disk.yandex.ru/d/qY-rIthcxzw8ZA
Фьюзы:
«ZX_FDD_Emulator_Work.ino.standard» (low FF, high DF)
«ZX_FDD_Emulator_Work.ino.with_bootloader.standar d» под ардуиновские фьюзы (low FF, high DA)
Всем добрый день!
Решил тоже повторить сей Девайс.
Нашел слот CD карты, согласовал уровни сигналов, питание ч/з два диода, отформатил карту.
Залил Атмегу, собрал на макетке, пока без Пентагона, написало -- нет карты.
Снизил скорость, карту увидело, но оч криво -- приходится проводки всё время поправлять.
Мораль: Карту питать нужно так как в Датащите написано -- у меня она на проводках без кондриков, нужно травить платку для слота и обвес делать как положено с 1117 3,3v.
Плату оттрассировал, Лазерный утюг своё дело сделал, кинул травиться.
Отпишусь!
Всем добрый день!
Огромное спасибо EvgenRU создателю этого прекрасного проекта!
Платка слота CD карты собрана, схема запущена, пока на макетке -- всё работает!
Пробовал три CD карты и одна из них продемонстрировала такую картинку
https://drive.google.com/file/d/1EkiOhCyhr5xUy95MtY605FCXoVnbOGj6/view?usp=sharing
Ситуация как у Копейкин, один в один, остальные нормально пошли, скорость пока не возвращал, вытравлю основную плату, попробую разкоментироватьть строку -- SPSR |= _BV(SPI2X); // set double speed, хотя скорость как бы нормальная.
Копейкин
26.12.2021, 13:39
Ситуация как у Копейкин, один в один, остальные нормально пошли,
А можете фото - какие нормально пошли, а какие нет?
У меня всего 2 шт 8 и 16Гб, обе не идут.
Копейкин,
https://drive.google.com/uc?export=download&id=1nTXQIHRcaGibS2sbpcLUy-zT2zh0-EkD
эта не пошла.
https://drive.google.com/uc?export=download&id=1V4oYPrEXEKVLwYLRK_9CMX6sMR_9QHVR
а вот эти пошли, хотя, может быть не отформатил как нужно ту что не пошла, те что пошли точно ч/з "хрюшу" прогнал
- - - Добавлено - - -
10-тка кластер метит оч. жирный, можно ч/з комстроку размечать любым размером кластера, но я уже забыл ДОСёвые команды причем оч давно
- - - Добавлено - - -
Да, кстати пока слот CD карты висел на проволочках, виделась только 64 метровая карта и то криво, сделал обвязку как в датащите(два тантала по 100 мкф, два по 0,1 вокруг 1117 3,3), пошли остальные.
Всем добрый день!
Сегодня собрал FDD эмулятор в окончательном варианте -- всё прекрасно работает. Основная плата с МК висит на шлейфе(весу там всего ничего), экран с энкодером на внешнюю панель, карта рядом, ещё не прикрутил её, нужно щель под неё резать и какой-то кронштейн сколхозить.
Разкоментил строку -- SPSR |= _BV(SPI2X); // set double speed, завёлся нормально, карты видит, грузит быстрее ощутимо!
Еще раз хочу поблагодарить EvgenRU, за легко повторяемый прекрасный проект!
Отдельная благодарность tigr101274, за фьюзы и другую инфу по запуску!
Фьюзы поставил как написал tigr101274 в #510, другие просто не пробовал -- всё работает.
Собрал данный эмулятор на готовых модулях. При подключении к ZX-Next есть обращение к эмулятору, но выходит ошибка: дорожка 0 - сектор 9.
Может кто подскажет куда копать?
Voxel, попробуй поменять местами 0 и 1 (RX TX) (https://zx-pk.ru/threads/26328-planiruyu-sdelat-fdd-emulyator-na-atmega8.html?p=944376&viewfull=1#post944376).
Voxel, попробуй поменять местами 0 и 1 (RX TX) (https://zx-pk.ru/threads/26328-planiruyu-sdelat-fdd-emulyator-na-atmega8.html?p=944376&viewfull=1#post944376).
Спасибо. Действительно на arduino nano они поменяны.
К сожалению не заработал.
Выглядит так: Не всегда видит эмулятор. После кучки сбросов его обнаруживает, дисплей зажигается и все висит. Ошибки ни какой не выходит. Иногда меняет цифру CYL на 01 и дальше висит.
Пробовал менять двойную скорость чтения карты не помогло.
Где то еще косяк? Или может с ZX-Next не хочет работать?
а настоящий дисковод есть ? (что-бы точно понять где проблема - контроллер/эмулятор)
а настоящий дисковод есть ? (что-бы точно понять где проблема - контроллер/эмулятор)
Мой косяк.... не знаю что случилось, но перестал контроллер работать на ZX-Next. Вот он косяк слотовых машин, особенно тем которым уже почти 30 лет(
Эмулятор думаю будет работать. Проверю на скорпе.
Спасибо.
Проверил, все работает. Спасибо автору.
Собрал эмулятор, с первого раза не заработал...
1. При старте первая строка была пустая, во второй строке - имя первого файла на карте (папок на карте нет). Оказывается при первом выполнении команды pf_dirnext(&dir) появляется ошибка FR_DISK_ERR и происходит выход с подпрограммы readdir с пустым именем файла, т.е. в disp_files[0] было пусто. Решил проблему двойным чтением, заменив в main код
if(readdir(2,0) == 0)
{
memcpy(&first_dir,&dir,sizeof(dir));
f_index++;
}
на комбинацию
if(readdir(2,0) != 0)
{
if(readdir(2,0) == 0)
{
memcpy(&first_dir,&dir,sizeof(dir));
f_index++;
}
}
else
{
memcpy(&first_dir,&dir,sizeof(dir));
f_index++;
}
2. При вращении энкодера курсор иногда перемещался на вторую строку или происходило повторное монтирование карты. Можно было перейти на вторую строку только при оооочень медленном вращении. Решилась проблема уменьшением количества циклов чтения состояния энкодера в ISR(PCINT1_vect), строку
for(uint8_t i = 0; i < 50; i++)
заменил на
for(uint8_t i = 0; i < 10; i++)
а
if(A > 48 && B < 2) encoder_val++; else if(B > 48 && A < 2) encoder_val--; на
if(A > 8) encoder_val++; else if(B > 8) encoder_val--;
Alexbravo
19.01.2023, 12:54
Ссылки не доступны на схему. Можно выложить заново?
Не знаю о какой схеме речь, та что на гитхабе доступна.
Залил исправления Alex_LG в мастер, также поправил LCD модуль, чтобы не умножать адрес на 2
Спасибо за схему и идею, собрал на arduino nano все работает, есть чуть залипоны с энкодером но это мелочи, главная проблема, что некоторые trd в которых есть boot при загрузке начинает мигать экран lcd и сам спек виснет, сами трд точно рабочие на других эмулях проверены, в какую сторону копать?
Pryanick
01.12.2023, 14:07
Добрый день.
Повторил эмуль на односторонней платке.
Шаблон для фоторезиста прилагаю.
Шаблон_PDF (service4u.narod.ru/images/emulatorarduino/Emul_pcb_neg.pdf)
Шаблон для утюга прилагаю.
для утюга (https://service4u.narod.ru/images/emulatorarduino/Emul_pcb_iron.pdf)
Фьюзы:
Ext FC
High DF
Low FF или AF
SPSR |= _BV(SPI2X); // set double speed
с закомментированной так же работает как с незакомментированной.
Проверил на ZXM-Phoenix R.2 (синяя плата) - работает.
https://service4u.narod.ru/images/emulatorarduino/Emul_pcb.jpg
https://service4u.narod.ru/images/emulatorarduino/IMG_1478.jpg
Больше фото на страничке про эмулятор (http://service4u.narod.ru/html/emulator.html)
Доброго дня всем!
Спасибо автору за столь полезную разработку!!!
Собрав на макетке (которая без пайки) из тех модулей что были у меня в наличии и на ардуино УНО - заработало сразу, карточку листало, образы вроде как монтировались (но пока не пробовал подключать к спеку). Сейчас пере собираю все в коробочку и на ардуино НАНО для компактности.
Прочитав ветку с начала и до конца так и не понял - можно ли записывать в образ TRD на данном эмуляторе ?
Копейкин
18.04.2024, 15:36
Нет, запись не реализована. Контроллер не успевает.
Поддержка 8Мгц была убрана? Будет ли это работать если использовать MINICORE Internal 8Mhz?
Вот, набросал простенький корпусочек для вставки в 5.25 :)
UPD: в последней версии добавлена поддержка кварца на 8 МГц, т.е. можно использовать внутренний генератор атмеги! Достаточно в Config.h установить #define CRYSTAL_8MHZ 1 и этого достаточно для работы скетча от внутреннего генератора, правда скетч тогда нужно заливать при помощи avrdude
Строка для заливки в таком случае avrdude -p atmega328p -c USBasp -U flash:w:ZX_FDD_Emulator.ino.standard.hex -U lfuse:w:0xe2:m -U hfuse:w:0xd7:m
Если заливаете через Arduino IDE в Arduino Pro Mini с кристаллом на 8 MHz, то avrdude не нужен, можно лить прямо из IDE установив соответствующий процессор
UPD2: добавлена поддержка сохранения имени образа в EEPROM и его автоматического открытия после перезапуска эмулятора. Для сохранения, при выборе файла, нужно удерживать кнопку выбора более 3 секунд.
PS: попробую еще в ближайшее время добавить поддержку SCL
Где можно найти скетч с поддержкой oled экрана?
MadCatSE
14.06.2024, 20:12
Уважаемые форумчане, неравнодушными пользователями всё-таки сделана поддержка записи в TRD образы для данного эмулятора! Для работы записи требуется небольшое изменение схемы. Так же кроме записи появилась возможность выводить на дисплей более 2х строк для OLED дисплеев. Все подробности в статье https://dzen.ru/a/Zk-DzjmPFX31xBuw
Превосходно!!! Хотелось маленько уточнить: скетч для ардуинки (UNO\NANO?) который в конце статьи (https://dzen.ru/a/Zk-DzjmPFX31xBuw) подходит для класической сборки на 1602 экран или только под OLED?
сделана поддержка записи в TRD образы для данного эмулятора!Но при этом сломали читалку!
PS Уже поправили.
Что-то у меня ничего не пишет...
Переделал "читалку" в "писалку" согласно статье, но ЛЕ1 не ставил, т.к. читает все хорошо. Залил скетч из ZX_FDD_Emulator_V2_write_OLED_LCD_debug17.08.24.zi p, в ZX Disk Studio создал чистый trd и записал на флешку. Попробовал скопировать на эмуляторе с одного образа в другой - индикатор мигает, показывает обращение к образу, но в итоге ничего не записывает...
Поскольку, данный чудный девайс у всех заработал (в режиме записи), соберу всю инфу для удобства и сохранности. :v2_dizzy_botan:
Обзор переделки и прошивки от Андрея (Fun Old Gamer)
https://www.youtube.com/watch?v=kUlEw4uvV6c
Описание мода с дзена
Переделка состоит в следующем: сигнал index пересаживается с D8 на D9, на D8 подаётся сигнал wr_data, а на А0 wr_gate. Вот и вся переделка! Ничего сложного.
В схеме можно видеть микросхему 7402 — это К155ЛЕ1, и я заменил ею микросхему К155ЛА3. Первые два элемента работают просто как инверторы, а вот третий элемент нужен для светодиода активности, чтобы он работал только при обращении к эмулятору. До этого (на ЛА3) он работал и при обращении к другому дисководу, потому что сигнал motor_on идет сразу на оба дисковода. Теперь же всё стало более правильно, если нет обращения к эмулятору, светодиод не светится.
Схема с дзена
https://i.ibb.co/9HnL9d0r/circuit.png (https://ibb.co/9HnL9d0r)
Прошивки
Сделал сборник прошивок в формате hex, с максимальным охватом разных дисплеев. Так же для ОЛЕД применил другую библиотеку от Гайвера. В архиве так же прога для заливки, описание присутствует
82013
Fun Old Gamer еще один проект показывал. На Атмеге328. Это аналогичный или отличается?
Вот схема и печатная плата:
https://i.postimg.cc/dQfgHYNj/shema.jpg (https://postimages.org/)
https://i.postimg.cc/HnFKVw8h/plata.jpg (https://postimages.org/)
Fun Old Gamer еще один проект показывал. На Атмеге328. Это аналогичный или отличается?
Это улучшенная плата от Alex MicroDRV (Херсон) с многострочным OLED дисплеем.
В основе та же конструкция, но на плате есть варианты сборки.
И да, он уже "пишущий" из коробки. :smile:
Обзор
https://www.youtube.com/watch?v=PAP1Xg9hcUQ
Это улучшенная плата от Alex MicroDRV (Херсон) с многострочным OLED дисплеем.
В основе та же конструкция, но на плате есть варианты сборки.
И да, он уже "пишущий" из коробки.
Заказал платы и "комплектуху", попробую собрать и проверить.
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot