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

User Tag List

Страница 14 из 21 ПерваяПервая ... 101112131415161718 ... ПоследняяПоследняя
Показано с 131 по 140 из 209

Тема: Эмулятор контроллера дисковода beta disk на AVR

  1. #131

    Регистрация
    20.01.2020
    Адрес
    г. Калуга
    Сообщений
    146
    Спасибо Благодарностей отдано 
    6
    Спасибо Благодарностей получено 
    19
    Поблагодарили
    16 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    На arduino-1.8.13 компилиться но с кучей предупреждений.

    sketch\wd1793.cpp: In function 'void printError(char*, uint8_t)':
    sketch\wd1793.cpp:173:22: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
    print("FR_DISK_ERR");
    ^
    sketch\wd1793.cpp:176:23: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
    print("FR_NOT_READY");
    ^
    sketch\wd1793.cpp:179:21: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
    print("FR_NO_FILE");
    ^
    sketch\wd1793.cpp:182:24: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
    print("FR_NOT_OPENED");
    ^
    sketch\wd1793.cpp:185:25: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
    print("FR_NOT_ENABLED");
    ^
    sketch\wd1793.cpp:188:27: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
    print("FR_NO_FILESYSTEM");
    ^
    sketch\wd1793.cpp: In function 'void WD1793_FlushBuffer()':
    sketch\wd1793.cpp:200:37: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
    printError("Writing error: ", res);
    ^
    sketch\wd1793.cpp:205:47: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
    printError("Writing error on finish: ", res);
    ^
    sketch\wd1793.cpp: In function 'void SetDiskPosition(uint16_t)':
    sketch\wd1793.cpp:236:37: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
    printError("Reading error: ", res);
    ^
    sketch\wd1793.cpp: In function 'void WD1793_Reset(uint8_t)':
    sketch\wd1793.cpp:258:34: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
    printError("Error mount: ", res);
    ^
    sketch\wd1793.cpp:263:44: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
    printError("Error open IMAGES.CFG: ", res);
    ^
    sketch\wd1793.cpp:266:20: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
    print("Open File");
    ^
    sketch\wd1793.cpp:271:34: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
    printError("Error open: ", res);
    ^
    sketch\wd1793.cpp:281:28: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
    printError("pf_read", res);
    ^
    sketch\wd1793.cpp:323:19: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
    print("Open File");
    ^
    sketch\wd1793.cpp:327:33: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
    printError("Error open: ", res);
    ^
    sketch\wd1793.cpp: In function 'void WD1793_UpdateConfig()':
    sketch\wd1793.cpp:348:30: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
    print("Mount FileSystem... ");
    ^
    sketch\wd1793.cpp:351:34: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
    printError("Error mount: ", res);
    ^
    sketch\wd1793.cpp:357:44: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
    printError("Error open IMAGES.CFG: ", res);
    ^
    sketch\wd1793.cpp:363:28: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
    printError("pf_read", res);
    ^
    sketch\wd1793.cpp:410:41: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
    printError("Error write config: ", res);
    ^
    sketch\wd1793.cpp:414:51: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
    printError("Error on finish write config: ", res);
    ^
    sketch\wd1793.cpp: In function 'void WD1793_ReadDir(uint16_t)':
    sketch\wd1793.cpp:439:28: warning: invalid conversion from 'uint8_t* {aka unsigned char*}' to 'char*' [-fpermissive]
    strncpy(buf + bufIndex + 1, " <--", 4);
    ~~~~~~~~~~~~~~~^~~
    In file included from sketch\wd1793.cpp:14:0:
    e:\�����\arduino-1.8.13\hardware\tools\avr\avr\include\string.h:449 :14: note: initializing argument 1 of 'char* strncpy(char*, const char*, size_t)'
    extern char *strncpy(char *, const char *, size_t);
    ^~~~~~~
    sketch\wd1793.cpp:456:37: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
    printError("Error open dir: ", res);
    ^
    sketch\wd1793.cpp:473:18: warning: invalid conversion from 'uint8_t* {aka unsigned char*}' to 'char*' [-fpermissive]
    strncpy(buf + bufIndex, finfo.fname, MIN(len, 8));
    ~~~~^~~~~~~~~~
    In file included from sketch\wd1793.cpp:14:0:
    e:\�����\arduino-1.8.13\hardware\tools\avr\avr\include\string.h:449 :14: note: initializing argument 1 of 'char* strncpy(char*, const char*, size_t)'
    extern char *strncpy(char *, const char *, size_t);
    ^~~~~~~
    sketch\wd1793.cpp: In function 'uint8_t WD1793_GetFilesCount()':
    sketch\wd1793.cpp:504:37: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
    printError("Error open dir: ", res);
    ^
    sketch\wd1793.cpp: In function 'void WD1793_LookUpFile(uint8_t)':
    sketch\wd1793.cpp:566:37: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
    printError("Error open dir: ", res);
    ^
    sketch\wd1793.cpp: In function 'void WD1793_CmdReadingSector()':
    sketch\wd1793.cpp:676:39: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
    printError("Reading error: ", res);
    ^
    Скетч использует 12834 байт (39%) памяти устройства. Всего доступно 32256 байт.
    Глобальные переменные используют 1238 байт (60%) динамической памяти, оставляя 810 байт для локальных переменных. Максимум: 2048 байт.
    Последовательный порт не выбран.

  2. #132

    Регистрация
    03.05.2020
    Адрес
    г. Челябинск
    Сообщений
    796
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    260
    Спасибо Благодарностей получено 
    274
    Поблагодарили
    145 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от nemo Посмотреть сообщение
    На arduino-1.8.13 компилиться но с кучей предупреждений.
    А работает ? И самое главное - через загрузчик заливаться будет ?
    Ворнинги вообще не критичные, преобразование uint8_t * к char * (корректно совершенно) и в основном в дебаговых сообщениях. Они и в атмел студио почти в том же составе отображаются.

    зы: А вот моя переделка вряд ли компильнется в ардуино, хотя те библиотеки, которые я прикручивал, в ардуино бы и не потребовались - там свое все есть. Можно будет у ардуины перевесить дисплей на TWI (у меня он в параллельном режиме подключен).
    Я сегодня-завтра допишу несколько ошибочных обработчиков (сообщения на дисплей на no card/no filesystem и подобное), пройдусь комментами и выложу. И наверное лучше в репозиторий на гите (с сохранением ссылок на авторский проект). Здесь будет ссылка на репозиторий.

  3. #133

    Регистрация
    20.01.2020
    Адрес
    г. Калуга
    Сообщений
    146
    Спасибо Благодарностей отдано 
    6
    Спасибо Благодарностей получено 
    19
    Поблагодарили
    16 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от valerium Посмотреть сообщение
    А работает ?
    К сожалению не попробую еще долго Ремонт в квартире делаю так что за спек теперь не так скоро возьмусь .

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

    Цитата Сообщение от valerium Посмотреть сообщение
    А вот моя переделка вряд ли компильнется в ардуино
    Ну для arduino может и не надо дисплеев. Поправить ошибки главное.

  4. #134

    Регистрация
    26.03.2019
    Адрес
    г. Москва
    Сообщений
    52
    Записей в дневнике
    4
    Спасибо Благодарностей отдано 
    22
    Спасибо Благодарностей получено 
    21
    Поблагодарили
    11 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от valerium Посмотреть сообщение
    И самое главное - через загрузчик заливаться будет ?
    Должно заливаться

  5. #135

    Регистрация
    03.05.2020
    Адрес
    г. Челябинск
    Сообщений
    796
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    260
    Спасибо Благодарностей получено 
    274
    Поблагодарили
    145 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Выложил свою "версию 2" с интерактивным меню на LCD
    https://github.com/valerium-labs/FDCemu_v2

    Если кратко, то
    1. Схема универсальна для любого спека, не только для Пентагона (дешифраторы адресов, портов ВГ93 и триггер выбора TRDOS в ней реализованы на CPLD или либо могут быть выполнены на мелкой логике). CPLD-решение построено графически в виде BDF.
    2. Позволяет интерактивно выбирать для одного из трех "приводов" (A,B,C) образ файла в формате TRD из <=256 файлов на SD-карте с файловой системой FAT (ограничение <=256 связано с буфером ОЗУ контроллера, где выполняется сортировка этого списка для вывода на LCD). Имена файлов .TRD поддерживаются только короткие. Четвертый привод D остается управляющим и с его помощью можно пролистать каталог SD-карты командами TRDOS, а также выбрать образ для нужного привода - эта часть осталась неизменной.
    3. Управляется энкодером через импровизированное меню (выбор привода - выбор файла - запрос сохранения - сохранение), по сути просто прописывает в одну из трех строк IMAGES.CFG выбранное и подтвержденное имя TRD-образа, а затем инициализирует "ВГ93". В ждущем режиме дисплей отображает статус выбранного "привода".

    Отлаживал на макете, плату для живого варианта еще не получил и не запускал. Когда ее опробую, тоже выложу.
    Примерно вот как это выглядит:
    Нажмите на изображение для увеличения. 

Название:	idle.jpg 
Просмотров:	430 
Размер:	73.7 Кб 
ID:	74853Нажмите на изображение для увеличения. 

Название:	menu1.jpg 
Просмотров:	350 
Размер:	71.8 Кб 
ID:	74854
    Нажмите на изображение для увеличения. 

Название:	menu2.jpg 
Просмотров:	340 
Размер:	65.1 Кб 
ID:	74855Нажмите на изображение для увеличения. 

Название:	menu3.jpg 
Просмотров:	350 
Размер:	75.7 Кб 
ID:	74856

    Этот пользователь поблагодарил valerium за это полезное сообщение:

    Helbr(09.03.2021)

  6. #136

    Регистрация
    03.05.2020
    Адрес
    г. Челябинск
    Сообщений
    796
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    260
    Спасибо Благодарностей получено 
    274
    Поблагодарили
    145 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Приехали платы, собрал v2 на CPLD и туда же засунул живой длинный AY (а если точнее, то ямаху). Платы сделал c краевым разъемом, а в спеках у меня везде запаян слот с ZX-BUS.
    Получился вот такой вот конструктивчик:
    Нажмите на изображение для увеличения. 

Название:	IMG_20210320_003400.jpg 
Просмотров:	457 
Размер:	72.9 Кб 
ID:	74980
    Нажмите на изображение для увеличения. 

Название:	IMG_20210320_003439.jpg 
Просмотров:	350 
Размер:	54.1 Кб 
ID:	74981
    Нажмите на изображение для увеличения. 

Название:	IMG_20210320_003321.jpg 
Просмотров:	336 
Размер:	55.7 Кб 
ID:	74982

    ну и еще пара фоток на гитхабе, и там же герберы платы, если кому понравится.
    https://github.com/valerium-labs/FDCemu_v2

    Теперь о сюрпризах. Мне весьма нравится дешевейший 30-позиционный энкодер, который ставится в ардуиновских модулях KY-040.
    30 кликов и 30 импульсов ("одноимпульсный"). Собственно, прошивка написана под него и именно им приятно листать большой список файлов (1клик - 1 сдвиг на 1 файл).
    А из всего того, что удалось найти продающимся в серии EC11 (отдельный энкодер, а не модуль для ардуино), оно было 2-импульсное и с меньшим числом положений. Крутить уже не так удобно, из-за двух импульсов на клик попадать еще сложнее, по идее надо дорабатывать код.

    Вопрос: а знает ли кто-нибудь полную модель этого энкодера 30/30 из модуля KY-040 ? Чтоб ссылаться на него в BOM и других доках ?
    Или может он там тоже каждый раз разный ?
    Последний раз редактировалось valerium; 19.03.2021 в 23:40. Причина: some typos fixed

    Этот пользователь поблагодарил valerium за это полезное сообщение:

    Helbr(16.04.2021)

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

  8. #137

    Регистрация
    08.02.2021
    Адрес
    с. Токаево
    Сообщений
    123
    Спасибо Благодарностей отдано 
    48
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Подскажите пожалуйста, это устройство (схема из 1го поста) можно подключить к Дельте 48 52мс?
    Последний раз редактировалось IREK; 31.03.2021 в 17:42.

  9. #138

    Регистрация
    03.05.2020
    Адрес
    г. Челябинск
    Сообщений
    796
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    260
    Спасибо Благодарностей получено 
    274
    Поблагодарили
    145 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от IREK Посмотреть сообщение
    Подскажите пожалуйста, это устройство (схема из 1го поста) можно подключить к Дельте 48 52мс?
    Схема из первого поста включает в себя только эмулятор ВГ93 и флопа. Подразумевается, что дешифратор адресов и триггер трдоса уже есть в контроллере флопа (в пентагоне, например). Если подключать к дельте без контроллера флопа, то собирать надо всю вышеуказанную обвязку. Например по схеме из 75 поста или из 94 поста.

    Этот пользователь поблагодарил valerium за это полезное сообщение:

    IREK(01.04.2021)

  10. #139

    Регистрация
    08.02.2021
    Адрес
    с. Токаево
    Сообщений
    123
    Спасибо Благодарностей отдано 
    48
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    ПЗУ нужно перепрошить?

  11. #140

    Регистрация
    03.05.2020
    Адрес
    г. Челябинск
    Сообщений
    796
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    260
    Спасибо Благодарностей получено 
    274
    Поблагодарили
    145 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Не перепрошить, а добавить. Если исходно есть только один банк на 16к для бейсика-48, то надо ПЗУ на 32к (27256), куда прошить два банка для бейсика и ТРДОСа. Триггер ТРДОСа переключает их по старшей адресной линии.

    Этот пользователь поблагодарил valerium за это полезное сообщение:

    IREK(02.04.2021)

Страница 14 из 21 ПерваяПервая ... 101112131415161718 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Оригинальный ZX и beta-disk
    от megabyte в разделе Внешние накопители
    Ответов: 3
    Последнее: 11.09.2012, 02:31
  2. Куплю Beta Disk Interface.
    от Biozoom в разделе Барахолка (архив)
    Ответов: 9
    Последнее: 26.10.2011, 14:14
  3. Опознайте Beta disk interface...
    от crolicasm в разделе Внешние накопители
    Ответов: 4
    Последнее: 04.08.2011, 13:39
  4. Плата Beta Disk на опознание.
    от m.d. в разделе Внешние накопители
    Ответов: 15
    Последнее: 22.01.2010, 19:56
  5. Beta Disk контроллер!
    от poison в разделе Внешние накопители
    Ответов: 17
    Последнее: 02.05.2006, 14:12

Ваши права

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