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

User Tag List

Страница 35 из 53 ПерваяПервая ... 313233343536373839 ... ПоследняяПоследняя
Показано с 341 по 350 из 530

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

  1. #341
    Master
    Регистрация
    19.12.2013
    Адрес
    г. Никополь, Украина
    Сообщений
    997
    Спасибо Благодарностей отдано 
    339
    Спасибо Благодарностей получено 
    667
    Поблагодарили
    177 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Вот форк репозитария https://github.com/andykarpov/ZX_FDD_Emulator с прошивкой для платы ревизии 1.0.
    Изменения:
    - работа с port extender PCF8574 идет через библиотеку Wire + кастомную распиновку
    - отключен encoder до выяснения причин
    - int main() заменен на setup() и loop() - так и не понятно, почему так. может сборка Arduino (1.8.2) и/или avr-gcc под мак какая-то не такая

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

    По умолчанию

    Попробуйте такой вариант, вроде должен работать.
    Вложения Вложения

  3. #343
    Master
    Регистрация
    19.12.2013
    Адрес
    г. Никополь, Украина
    Сообщений
    997
    Спасибо Благодарностей отдано 
    339
    Спасибо Благодарностей получено 
    667
    Поблагодарили
    177 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от EvgenRU Посмотреть сообщение
    Попробуйте такой вариант, вроде должен работать.
    Спасибо большое! Код должен работать, по-идее, но не хочет.
    Мне кажется, где-то что-то с таймингами в самой реализации немного не то, или дисплей медленный.
    С библиотекой Wire работает, Ваша реализация - не хочет заводиться.

  4. #344
    Master
    Регистрация
    19.12.2013
    Адрес
    г. Никополь, Украина
    Сообщений
    997
    Спасибо Благодарностей отдано 
    339
    Спасибо Благодарностей получено 
    667
    Поблагодарили
    177 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Может попробовать на чистом avr-gcc проект собрать, без участия Arduino? Попробую на досуге. Makefile нарисовать надобно

  5. #345
    Master
    Регистрация
    19.12.2013
    Адрес
    г. Никополь, Украина
    Сообщений
    997
    Спасибо Благодарностей отдано 
    339
    Спасибо Благодарностей получено 
    667
    Поблагодарили
    177 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Поизучал исходники ардуиновской библиотеки Wire - и теперь понятно, почему ее нельзя использовать для ZX FDD Emulator, она использует прерывание TWI_vect, и, вероятно, это есть причина конфликта и зависаний.

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

    По умолчанию

    Ну да, оно как раз на порту C, где и энкодер, видимо библиотека производит инициализацию прерывания так, что забивает PCINT10 и PCINT11, тут или перенести прерывания на другой порт, или попробовать проинициализировать энкодер после инициализации Wire (SCL/SDA это вроде как PCINT12, PCINT13)

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

  8. #347
    Guru Аватар для creator
    Регистрация
    02.07.2006
    Адрес
    Новосибирск
    Сообщений
    2,200
    Спасибо Благодарностей отдано 
    438
    Спасибо Благодарностей получено 
    221
    Поблагодарили
    131 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А вот и я собрал!
    На ATmega168 не взлетел — после монтирования карточки начинает истошно моргать надписью "CARD MOUNT OK", памяти всё-таки не хватает.
    Разобрался почему у меня индикатор не показывал — у моих китайских I2C device адрес оказался 0x3F.
    И сначала "не читались диски", поменял местами 0 и 1 (они вообще забавно на плате обозначены как RX1 и TX0 !!!).

    Вопрос:
    #define MAX_CYL 82 /// maximal cylinder supported by FDD. More cylinders - more memory used.
    Т.е. будут работать более длинные TRD на 82 дорожки? Или сколько зададим (понятно что лишь бы памяти хватило).

    Хочется "перделку". Если невозможно, то в крайнем случае я вот так сделаю (на прототип HxC уже поставил):
    В правильно заданном вопросе содержится половина ответа

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

    По умолчанию

    Цитата Сообщение от creator Посмотреть сообщение
    Вопрос:
    #define MAX_CYL 82 /// maximal cylinder supported by FDD. More cylinders - more memory used.
    Т.е. будут работать более длинные TRD на 82 дорожки? Или сколько зададим (понятно что лишь бы памяти хватило).
    Да, именно так, эта константа указывается для предварительной генерации таблицы смещений кластеров, соответственно, чем больше дорожек попадает в эту таблицу, тем больше памяти будет использоваться под неё.

    Цитата Сообщение от creator Посмотреть сообщение
    Хочется "перделку". Если невозможно, то в крайнем случае я вот так сделаю (на прототип HxC уже поставил):
    :-D зачем эта перделка?.... ну, как бы можно сделать, только вот как частоту туда... через PWM? и какая частота нужна? и в какой момент? пока идет чтение?

  10. #349
    Master
    Регистрация
    19.12.2013
    Адрес
    г. Никополь, Украина
    Сообщений
    997
    Спасибо Благодарностей отдано 
    339
    Спасибо Благодарностей получено 
    667
    Поблагодарили
    177 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от EvgenRU Посмотреть сообщение
    Попробуйте такой вариант, вроде должен работать.
    Код заработал! Все это время я пытался завести Ваш код с неправильным адресом 0x20 вместо 0x40
    Поймал глюки - дисплей не успевал отрисовывать 2 строчки, видимо из-за медленного дисплея, полечилось увеличением значения LCD_DELAY_ENABLE_PULSE до 2.
    Спасибо большое! Залил в свой форк: https://github.com/andykarpov/ZX_FDD_Emulator
    В Вашем репозитарии завел один issue, просьба глянуть: https://github.com/EvgeniyRU/ZX_FDD_Emulator/issues

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

    По умолчанию

    Всё поправил, Спасибо!

    PS: -2 там не анализируется, т.к. он используется для проверки на начало - конец списка, так что на монтирование в данном случае не нужно переходить!
    Последний раз редактировалось EvgenRU; 14.04.2017 в 19:42.

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

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

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

Эту тему просматривают: 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

Ваши права

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