Вход

Просмотр полной версии : Планирую сделать FDD эмулятор на Atmega8



Страницы : 1 2 [3]

r3d
15.11.2021, 13:56
А кварцевый генератор запускается?
Если не запускается кварц, то это отразится на работе самого устройства. Но программатор-то все равно должен будет видеть атмегу. Я так думаю.

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)

Krab
24.12.2021, 23:19
Всем добрый день!
Решил тоже повторить сей Девайс.
Нашел слот CD карты, согласовал уровни сигналов, питание ч/з два диода, отформатил карту.
Залил Атмегу, собрал на макетке, пока без Пентагона, написало -- нет карты.
Снизил скорость, карту увидело, но оч криво -- приходится проводки всё время поправлять.
Мораль: Карту питать нужно так как в Датащите написано -- у меня она на проводках без кондриков, нужно травить платку для слота и обвес делать как положено с 1117 3,3v.
Плату оттрассировал, Лазерный утюг своё дело сделал, кинул травиться.
Отпишусь!

Krab
26.12.2021, 09:59
Всем добрый день!
Огромное спасибо 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Гб, обе не идут.

Krab
26.12.2021, 14:41
Копейкин,
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), пошли остальные.

Krab
28.12.2021, 13:48
Всем добрый день!
Сегодня собрал FDD эмулятор в окончательном варианте -- всё прекрасно работает. Основная плата с МК висит на шлейфе(весу там всего ничего), экран с энкодером на внешнюю панель, карта рядом, ещё не прикрутил её, нужно щель под неё резать и какой-то кронштейн сколхозить.
Разкоментил строку -- SPSR |= _BV(SPI2X); // set double speed, завёлся нормально, карты видит, грузит быстрее ощутимо!
Еще раз хочу поблагодарить EvgenRU, за легко повторяемый прекрасный проект!
Отдельная благодарность tigr101274, за фьюзы и другую инфу по запуску!
Фьюзы поставил как написал tigr101274 в #510, другие просто не пробовал -- всё работает.

Voxel
18.02.2022, 11:09
Собрал данный эмулятор на готовых модулях. При подключении к ZX-Next есть обращение к эмулятору, но выходит ошибка: дорожка 0 - сектор 9.
Может кто подскажет куда копать?

creator
18.02.2022, 11:22
Voxel, попробуй поменять местами 0 и 1 (RX TX) (https://zx-pk.ru/threads/26328-planiruyu-sdelat-fdd-emulyator-na-atmega8.html?p=944376&viewfull=1#post944376).

Voxel
18.02.2022, 21:25
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 не хочет работать?

goodboy
18.02.2022, 23:24
а настоящий дисковод есть ? (что-бы точно понять где проблема - контроллер/эмулятор)

Voxel
18.02.2022, 23:41
а настоящий дисковод есть ? (что-бы точно понять где проблема - контроллер/эмулятор)

Мой косяк.... не знаю что случилось, но перестал контроллер работать на ZX-Next. Вот он косяк слотовых машин, особенно тем которым уже почти 30 лет(
Эмулятор думаю будет работать. Проверю на скорпе.

Спасибо.

Voxel
22.02.2022, 22:02
Проверил, все работает. Спасибо автору.

Alex_LG
08.06.2022, 08:48
Собрал эмулятор, с первого раза не заработал...
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
Ссылки не доступны на схему. Можно выложить заново?

EvgenRU
04.02.2023, 18:32
Не знаю о какой схеме речь, та что на гитхабе доступна.
Залил исправления Alex_LG в мастер, также поправил LCD модуль, чтобы не умножать адрес на 2

Savir
22.04.2023, 12:04
Спасибо за схему и идею, собрал на 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)

aniSKY
18.04.2024, 13:46
Доброго дня всем!
Спасибо автору за столь полезную разработку!!!
Собрав на макетке (которая без пайки) из тех модулей что были у меня в наличии и на ардуино УНО - заработало сразу, карточку листало, образы вроде как монтировались (но пока не пробовал подключать к спеку). Сейчас пере собираю все в коробочку и на ардуино НАНО для компактности.
Прочитав ветку с начала и до конца так и не понял - можно ли записывать в образ TRD на данном эмуляторе ?

Копейкин
18.04.2024, 15:36
Нет, запись не реализована. Контроллер не успевает.

bychkov
26.04.2024, 23:08
Поддержка 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

bychkov
28.04.2024, 09:57
Где можно найти скетч с поддержкой oled экрана?

MadCatSE
14.06.2024, 20:12
Уважаемые форумчане, неравнодушными пользователями всё-таки сделана поддержка записи в TRD образы для данного эмулятора! Для работы записи требуется небольшое изменение схемы. Так же кроме записи появилась возможность выводить на дисплей более 2х строк для OLED дисплеев. Все подробности в статье https://dzen.ru/a/Zk-DzjmPFX31xBuw

aniSKY
17.06.2024, 14:05
Превосходно!!! Хотелось маленько уточнить: скетч для ардуинки (UNO\NANO?) который в конце статьи (https://dzen.ru/a/Zk-DzjmPFX31xBuw) подходит для класической сборки на 1602 экран или только под OLED?

lisica
17.08.2024, 14:09
сделана поддержка записи в TRD образы для данного эмулятора!Но при этом сломали читалку!

PS Уже поправили.

Alex_LG
02.12.2024, 18:18
Что-то у меня ничего не пишет...
Переделал "читалку" в "писалку" согласно статье, но ЛЕ1 не ставил, т.к. читает все хорошо. Залил скетч из ZX_FDD_Emulator_V2_write_OLED_LCD_debug17.08.24.zi p, в ZX Disk Studio создал чистый trd и записал на флешку. Попробовал скопировать на эмуляторе с одного образа в другой - индикатор мигает, показывает обращение к образу, но в итоге ничего не записывает...

cy6
27.02.2025, 00:31
Поскольку, данный чудный девайс у всех заработал (в режиме записи), соберу всю инфу для удобства и сохранности. :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

Froggy
27.02.2025, 17:21
Fun Old Gamer еще один проект показывал. На Атмеге328. Это аналогичный или отличается?
Вот схема и печатная плата:

https://i.postimg.cc/dQfgHYNj/shema.jpg (https://postimages.org/)

https://i.postimg.cc/HnFKVw8h/plata.jpg (https://postimages.org/)

cy6
27.02.2025, 22:04
Fun Old Gamer еще один проект показывал. На Атмеге328. Это аналогичный или отличается?
Это улучшенная плата от Alex MicroDRV (Херсон) с многострочным OLED дисплеем.
В основе та же конструкция, но на плате есть варианты сборки.
И да, он уже "пишущий" из коробки. :smile:

Обзор

https://www.youtube.com/watch?v=PAP1Xg9hcUQ

Froggy
28.02.2025, 17:49
Это улучшенная плата от Alex MicroDRV (Херсон) с многострочным OLED дисплеем.
В основе та же конструкция, но на плате есть варианты сборки.
И да, он уже "пишущий" из коробки.

Заказал платы и "комплектуху", попробую собрать и проверить.