Важная информация

User Tag List

Страница 13 из 53 ПерваяПервая ... 91011121314151617 ... ПоследняяПоследняя
Показано с 121 по 130 из 529

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

  1. #121
    Junior
    Регистрация
    12.03.2016
    Адрес
    г. Нижний Новгород
    Сообщений
    28
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Круто!

    Уже можно задуматься над пользовательским интерфейсом)

    Вариант пользовательского интерфейса без экрана - вслепую, например с тремя кнопками - [назад] [выбор] [вперёд].
    Микроконтроллер генерит, если его ещё нет, на флешке файл с пронумерованным списком trd образов,
    по которому можно последовательно перемещаться кнопками вперёд назад, кнопкой [выбор] образ становится активным.

    Также можно расширить интерфейс со стороны спектрума, и например при длительным нажатием кнопки [выбор],
    генерится образ содержащий программу - файловый менеджер со списком образов на карте и возможностью выбрать активный.

  2. #121
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #122
    Master Аватар для s_kosorev
    Регистрация
    19.06.2014
    Адрес
    г. Харьков, Украина
    Сообщений
    731
    Спасибо Благодарностей отдано 
    6
    Спасибо Благодарностей получено 
    16
    Поблагодарили
    15 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Вариант покруче, бут специальный и несколько секторов данных, где список файлов и какой то простой протокол что бы выбрать файл

    - - - Добавлено - - -

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

  4. #123
    Activist Аватар для ALS
    Регистрация
    14.09.2012
    Адрес
    г.Севастополь
    Сообщений
    427
    Спасибо Благодарностей отдано 
    234
    Спасибо Благодарностей получено 
    67
    Поблагодарили
    47 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Как вариант индикации - двух/трехразрядная LED-матрица, на которой высвечивается номер из списка.
    Кстати, саму матрицу можно взять из старых ПК (LO-HI, помните ?)

  5. #124
    Activist
    Регистрация
    27.11.2010
    Адрес
    Пенза
    Сообщений
    331
    Спасибо Благодарностей отдано 
    23
    Спасибо Благодарностей получено 
    11
    Поблагодарили
    10 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Со своим уставом в чужой монастырь не ходят, но все же выскажусь- дисплей от Нокиа 3310 стоит копейки, подключается 4 проводами, и по любому есть библиотека под ардуино.

  6. #125
    Master
    Регистрация
    20.01.2016
    Адрес
    п. Власиха, Московская обл.
    Сообщений
    593
    Спасибо Благодарностей отдано 
    6
    Спасибо Благодарностей получено 
    32
    Поблагодарили
    19 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Пока что на том же месте застрял, походу, когда переход между кластерами на карте происходит задержка, а так половина файлов уже загружается.
    Интерфейс, я вот думаю, действительно, при первом обращении выдавать бут, который читает, допустим 200 дорожку, а вместо неё выдается список файлов на карте, ну и в буте выбирать образ, как-то так, но это уже потом, под ZX давно не программировал

  7. #126
    Master Аватар для s_kosorev
    Регистрация
    19.06.2014
    Адрес
    г. Харьков, Украина
    Сообщений
    731
    Спасибо Благодарностей отдано 
    6
    Спасибо Благодарностей получено 
    16
    Поблагодарили
    15 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от EvgenRU Посмотреть сообщение
    когда переход между кластерами на карте происходит задержка, а так половина файлов уже загружается.
    цепочку кластеров на цилинд однозначно надо в буфер, если fatfs который 44 байта озу, он при произвольном доступе от начала файла всю цепочку шерстит
    потом достаточно манипулировать только позицией в файле и текущем кластером, что бы не потрошить fatfs

  8. #127
    Master
    Регистрация
    20.01.2016
    Адрес
    п. Власиха, Московская обл.
    Сообщений
    593
    Спасибо Благодарностей отдано 
    6
    Спасибо Благодарностей получено 
    32
    Поблагодарили
    19 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от s_kosorev Посмотреть сообщение
    цепочку кластеров на цилинд однозначно надо в буфер, если fatfs который 44 байта озу, он при произвольном доступе от начала файла всю цепочку шерстит
    потом достаточно манипулировать только позицией в файле и текущем кластером, что бы не потрошить fatfs
    Я на нечетных секторах гружу 512 байт (сектор целиком), а на начале дорожки подставляю кластер из таблицы для всего TRD, вместе с кластером вычисляю смещение в кластере и LBA, проблема возникает при переходе между кластерами, т.к. он грузит номер следующего кластера из сектора на карте, а это целый сектор. надо подумать, может цепочку для дорожки тоже в память, но это очень много памяти.. т.к. там 32 бита.

    Перегоню таблицу CRC во флеш наверное, а то 512 байт, сейчас у меня всего 96 байт срама осталось на локальные переменные ))

    UPD: перегнал, нормально работает. Теперь попробую генерить цепочку на четных секторах, когда данные не грузятся.

    UPD2: ну вот, теперь уже почти все загружаются Ааа... это же у меня на эве то не идет 1 диззи, так что УРА!!! ВСЕ ГРУЗИТСЯ!!!


    Выкладываю рабочий вариант, кидаем на флешку файл "default.trd" и всё, оно работает.
    Проект для Arduino IDE удобный для дальнейшей доработки.

    ВНИМАНИЕ! ИСХОДНИКИ ПРОЕКТА ПЕРЕНЕСЕНЫ НА GITHUB ссылка в первом сообщении!


    PS: в турбе 7МГц работает отлично, на 14МГц иногда сбоит.

    PS2: проверил работу с картой класса 4, тянет нормально!

    ВНИМАНИЕ! В ПОСЛЕДНЕЙ РЕДАКЦИИ ПОМЕНЯЛ МЕСТАМИ WRITE GATE и DIR SELECT, А ТАК ЖЕ MOTOR_ON перенесен на PD4! Подключать как указано в исходнике!
    Последний раз редактировалось EvgenRU; 02.04.2016 в 12:36.

  9. #128
    Master Аватар для s_kosorev
    Регистрация
    19.06.2014
    Адрес
    г. Харьков, Украина
    Сообщений
    731
    Спасибо Благодарностей отдано 
    6
    Спасибо Благодарностей получено 
    16
    Поблагодарили
    15 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от EvgenRU Посмотреть сообщение
    на начале дорожки подставляю кластер из таблицы для всего TRD, вместе с кластером вычисляю смещение в кластере и LBA, проблема возникает при переходе между кластерами, т.к. он грузит номер следующего кластера из сектора на карте, а это целый сектор. надо подумать, может цепочку для дорожки тоже в память, но это очень много памяти.. т.к. там 32 бита.
    не совсем понял, грубо говоря по сигналу step или motor on, нужно lseek сделать на позицию дорожки в файле, далее что бы не сочинять что то хитрое, нужно сделать 16 lseek для следущих секторов и из стуктуры FATFS вытягивать номер текущего кластера и смещение, которое можно обрезать до 1-2 байт, (вдруг 128кб кластер будет), получатеся на цилиндр надо (4+2)*16секторов*2 строны = 192 байт, но учитывая что 2 соседних сектора TRD будут в худьшем случае в одном секторе FAT, смело хватит 96 байт

    потом для чтения, тут можно уже без FatFs подавать карточке команды с LBA адресами по табличке, мне примерно чудится такой возможный вариант
    Последний раз редактировалось s_kosorev; 01.04.2016 в 21:49.

  10. #129
    Master
    Регистрация
    20.01.2016
    Адрес
    п. Власиха, Московская обл.
    Сообщений
    593
    Спасибо Благодарностей отдано 
    6
    Спасибо Благодарностей получено 
    32
    Поблагодарили
    19 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Я по сигналу MOTOR_ON (далее будет мотор + селект) открываю файл, делаю lseek потреково, т.е. через 4096 байт и сохраняю кластеры в таблицу. При переходе на другой трек беру кластер из таблицы, вычисляю LBA, далее по лба загружаю сектор с флешки (2 сектора дискеты). В случае перехода на другой кластер беру подготовленный в промежутке между чтениями секторов

    Номер цилиндра и стороны сохраняю до вывода дорожки на первом секторе и потом с ними работаю, чтобы не было несогласованных данных, т.е. дорожка 1, сектор 1, а данные в ней из дорожки 2 сектор 1, т.к. CRC генерится для данных, то данные будут корректными, но не из той дорожки, так что пришлось вот так извратиться, пусть какое-то время присутствуют сектора другой дорожки, но они не будут восприняты контроллером.
    Последний раз редактировалось EvgenRU; 01.04.2016 в 22:12.

  11. #130
    Activist Аватар для костя
    Регистрация
    18.11.2010
    Адрес
    Краснодар
    Сообщений
    210
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А для каких компов разрабатывается эмулятор,очень надо для ес1841 и искры 1030м....
    Мы на Pepsi ставим крест, пиво - поколенье Next

Страница 13 из 53 ПерваяПервая ... 91011121314151617 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Ответов: 24
    Последнее: 08.12.2012, 19:00
  2. Тестер транзисторов на ATmega8
    от ILoveSpeccy в разделе Творчество
    Ответов: 10
    Последнее: 19.05.2011, 15:03
  3. Ответов: 0
    Последнее: 31.01.2007, 18:18

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •