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

User Tag List

Страница 1 из 3 123 ПоследняяПоследняя
Показано с 1 по 10 из 22

Тема: SD карта для ZX-Spectrum

  1. #1
    Activist
    Регистрация
    20.11.2017
    Адрес
    г. Ростов-на-Дону
    Сообщений
    351
    Спасибо Благодарностей отдано 
    30
    Спасибо Благодарностей получено 
    85
    Поблагодарили
    50 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию SD карта для ZX-Spectrum

    Давно хожу вокруг идеи подключения SD карты к ZX, и для полноты картины нужно получить ответы на несколько вопросов. Недавно я прорабатывал подключение SD на портах звукового чипа UM2149F(AY3-8910), соответственно первый вопрос:
    Используются ли в Spectrum_е gpio порты AY3-8910?
    Сам звуковой чип установлен на многих клонах, его порты фиксированы, так что мешает эти порты задействовать под наши нужды?
    Конечно, такое 'прямое' подключение SD карты достаточно медленное (будет что-то около 1-2КБ в секунду), но простота решения уж очень подкупает. Ускориться примерно на порядок можно используя другое решение, по моим прикидкам, реализуемое на 6 корпусах, подключаемых к AY3-8910 (ИР24, ИЕ5, ТМ2-2шт, ЛЕ1 и ЛА3), но это на развитие.
    Следующий вопрос по программной части, и наиболее животрепещущий, каким ПО эту SD поддерживать?
    Есть у меня одна идея, как максимально безболезненно сделать поддержку работы с файлами на SD с файловой системой FAT16. Я просмотрел ветку с операционными системами и не увидел реализации чего то подобного, но я очень плохо знаком с наработками в этом направлении, и возможно, эта идея уже давно кем то используется, тогда хотелось бы узнать, в чем ее минусы, а ее суть вот в чем:
    Положение файлов на диске в FAT16 описывается позициями кластеров (по сути последовательными наборами групп номеров секторов, а один сектор равен 512 байт). Если специальной программой монтирования записать в определенный, строго фиксированный, участок памяти последовательность из секторов(кластеров) на TRD файл, то мы будем иметь для 640КБ TRD файла 640/0.5=1280 записей секторов, один сектор 4 байта (а если в кластерах, то существенно меньше, тк для больших дисков один кластер может быть 64КБ, но для удобства работы с таким списком вполне можно использовать посекторный список) 1280*4= 5120 байт. И хранить эти 5120 байт на той же самой SD карте в области не используемой файловой системой, между нулевым сектором и началом первой таблицы FAT диска! (для справки, эта область, по умолчанию, составляет от 8КБ до 1МБ, в зависимости от размера диска, и никто не запрещает изменить ее размер на нужный нам при форматировании - это все на 100% совместимо согласно спецификациям на разбивку диска, к примеру arm процессоры используют эту область для размещения там своего начального загрузчика - и это почти все наши смартфоны, и ничего страшного не происходит... ) при эмуляции нескольких дисководов таких 5120КБ списков, соответственно, должно быть несколько. Код поддержки работы с SD уже имеется, нужно лишь его вставить в нужные места тех операционных систем, в которых планируется работа с SD. Это примерно 500-700байт.(к примеру в TRDOS 5.04 есть почти 1.5КБ свободного места, куда это можно спокойно разместить). Работа же должна выглядеть так - при обращении к диску переводить позицию дорожки-сектора-стороны в номер элемента списка секторов, считывать 4 байта номера сектора на карте, и читать сам сектор, все! На данный момент вижу здесь только одну проблему - сектора в TRD по 256байт, а с SD за один присест читается 512байт, и если для чтения это не проблема пробросить ненужные 256 байт, то при записи (а это полностью эквивалентно и не запрещено чтение-запись) это создает проблему, нужно прочитать все 512 байт, заменить нужные 256, и записать обратно 512 (эквивалентно прочитать и сохранить 256байт, которые надо оставить и пробросить 256, которые будут перезаписаны).
    Вот и второй глобальный вопрос:
    В чем минусы или плюсы в реализации описанной выше идеи?
    Опять же, на развитие, SD карта подключается по SPI, соответственно можно в качестве памяти для списка секторов использовать дополнительную SPI память, выбираемую вторым чипселектом (25LC256 и тд ~50руб в SO-8 корпусе).
    Эта идея перекликается с идеей монтирования TRD файла в RAMдиск клонов спектрума с 1МБ ОЗУ, но не требует этого 1МБ, и будет работать даже на 48КБ спектрумах!

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

  3. #2
    Guru Аватар для SoftLight
    Регистрация
    28.02.2005
    Адрес
    Москва
    Сообщений
    2,082
    Спасибо Благодарностей отдано 
    737
    Спасибо Благодарностей получено 
    451
    Поблагодарили
    250 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Не хотелось бы демотивировать, но интерфейсов для работы с sd-картой уже есть чуть больше чем до фига, причём вместе с по: divMMC, ZXMMC, Z-controller, Div-SD, карта Лисицына и д.р. Из описания не понял чем не устраивают существующие аналоги? Если что, там можно подсмотреть как решены проблемы подключения и по. Хотя идея повесить карту на ay интересная, такая ардуинизация спектрума.
    Последний раз редактировалось SoftLight; 30.10.2018 в 09:07.

  4. #3
    Activist
    Регистрация
    20.11.2017
    Адрес
    г. Ростов-на-Дону
    Сообщений
    351
    Спасибо Благодарностей отдано 
    30
    Спасибо Благодарностей получено 
    85
    Поблагодарили
    50 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от SoftLight Посмотреть сообщение
    Не хотелось бы демотивировать, но интерфейсов для работы с sd-картой уже есть чуть больше чем до фига, причём вместе с по: divMMC, ZXMMC, Z-controller, Div-SD, карта Лисицына и д.р.
    Исходя из этого перечня, это как раз мотивация копать дальше в данном направлении
    Цитата Сообщение от SoftLight Посмотреть сообщение
    Из описания не понял чем не устраивают существующие аналоги?
    Для всех интерфейсов требуются: плис-гал, авр-пик(ВЕ1), дополнительные SRAM и/или ROM, почти все это на промышленно изготовленных печатных платах, которые LUTом не изготовить нормально. Это по аппаратной части.
    По программной поддержке, неоднократно встречал мнения, что хотелось бы работать в TRDOS для максимальной совместимости с имеющимся ПО - что из этого работает с TRDОS, а не в своей ОС?
    Вариант же с портами на AY для запуска требует лишь начальных навыков держать паяльник в руках, подпаять 5 проводков к купленной на Ali за 30 рублей платке с разъемом SD карты( или вообще к бесплатному переходнику SD-microSD). Ну, а с ПО да, нужно будет ПЗУ с TRDOS доработать. Хотя на первом этапе можно сделать просто копировщик реальных дисков в TRD образ и обратно, вообще без внесения изменений в TRDOS!

    добавлю, идею с правкой TRDOS взял здесь.
    Последний раз редактировалось PVV; 30.10.2018 в 10:02.

  5. #4
    Member Аватар для Геккон
    Регистрация
    27.12.2017
    Адрес
    г. Набережные Челны
    Сообщений
    144
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    9
    Поблагодарили
    5 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Последний раз редактировалось Геккон; 30.10.2018 в 13:22.

    Скрытый текст

    хобби: Amiga 600 и ZX Spectrum; работа: robototehnika.ru
    [свернуть]

  6. #5
    Master Аватар для Djoni
    Регистрация
    20.02.2005
    Адрес
    Новосибирск
    Сообщений
    941
    Спасибо Благодарностей отдано 
    708
    Спасибо Благодарностей получено 
    52
    Поблагодарили
    33 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Геккон Посмотреть сообщение
    Да, вот правильный вариант http://piters.tripod.com/zxcf.htm





    Версию https://hackaday.io/project/25957-si...e-for-spectrum я проверил, работает





    Последний раз редактировалось Djoni; 30.10.2018 в 13:37.

    Скрытый текст

    Profi v5.03/1024k/палитра/FDD3,5""/FDD5,25"/HDD/XT-Keyb/Covox
    Pentagon-1024 sl v 1.4 upgrade #EFF7 Gluk RTC
    ZXM-Phoenix 1024k
    ATM Turbo 2+ v7.10 512k
    HIMAC HR42.04 48K
    HIMAC 128
    Ленинград 1
    [свернуть]

  7. #6
    Member Аватар для Геккон
    Регистрация
    27.12.2017
    Адрес
    г. Набережные Челны
    Сообщений
    144
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    9
    Поблагодарили
    5 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Вот реализация на Дельте: http://www.phantom.sannata.ru/konkurs/2008/kt0825.shtml

    Скрытый текст

    хобби: Amiga 600 и ZX Spectrum; работа: robototehnika.ru
    [свернуть]

  8. #7
    Activist
    Регистрация
    20.11.2017
    Адрес
    г. Ростов-на-Дону
    Сообщений
    351
    Спасибо Благодарностей отдано 
    30
    Спасибо Благодарностей получено 
    85
    Поблагодарили
    50 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Эти схемы я видел, IDE - CF, аппаратно подключить не сложно, хотя проводов раза в 3-4 больше, но в абсолютном значении не много, сделать можно, с ПО там все как-то не понятно. Тем не менее, вариант идеи с реализацией списка секторов на TRD файл на файловой системе применим и к IDE-CF.
    Все же я хотел бы услышать:
    Используются ли в Spectrum_е gpio порты AY3-8910?
    и
    В чем минусы или плюсы в реализации описанной выше идеи?

  9. #8
    Master Аватар для Djoni
    Регистрация
    20.02.2005
    Адрес
    Новосибирск
    Сообщений
    941
    Спасибо Благодарностей отдано 
    708
    Спасибо Благодарностей получено 
    52
    Поблагодарили
    33 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от PVV Посмотреть сообщение
    Эти схемы я видел, IDE - CF, аппаратно подключить не сложно, хотя проводов раза в 3-4 больше, но в абсолютном значении не много, сделать можно, с ПО там все как-то не понятно. Тем не менее, вариант идеи с реализацией списка секторов на TRD файл на файловой системе применим и к IDE-CF.
    Все же я хотел бы услышать:
    Используются ли в Spectrum_е gpio порты AY3-8910?
    и
    В чем минусы или плюсы в реализации описанной выше идеи?

    Ну на портах AY 3-8912 фирменных аппаратов стандартно висит интерфейс RS232/MIDi



    Было бы неплохо и в наших клонах этот интерфейс повторить.

    Лучше вариант подключения через ВВ55 , вот интересный проект http://zx-pk.ru/threads/24944-intere...l=1#post965388
    Последний раз редактировалось Djoni; 30.10.2018 в 15:04.

    Скрытый текст

    Profi v5.03/1024k/палитра/FDD3,5""/FDD5,25"/HDD/XT-Keyb/Covox
    Pentagon-1024 sl v 1.4 upgrade #EFF7 Gluk RTC
    ZXM-Phoenix 1024k
    ATM Turbo 2+ v7.10 512k
    HIMAC HR42.04 48K
    HIMAC 128
    Ленинград 1
    [свернуть]

  10. #9
    Guru
    Регистрация
    27.02.2005
    Адрес
    москва
    Сообщений
    13,774
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    143
    Спасибо Благодарностей получено 
    1,179
    Поблагодарили
    775 сообщений
    Mentioned
    18 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от PVV Посмотреть сообщение
    Используются ли в Spectrum_е gpio порты AY3-8910?
    на фирменных моделях - да.
    там выведен разъём (rj типа как для телефона/интернета) в него втыкается доп.модуль с цифровыми кнопками для клавиатуры/световой пистолет.
    и самое главное в 128ом бейсике штатно работает опрос порта на R14 (возможно это может сильно помешать)

    Последний раз редактировалось goodboy; 30.10.2018 в 15:08.

  11. #10
    Master Аватар для Djoni
    Регистрация
    20.02.2005
    Адрес
    Новосибирск
    Сообщений
    941
    Спасибо Благодарностей отдано 
    708
    Спасибо Благодарностей получено 
    52
    Поблагодарили
    33 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от goodboy Посмотреть сообщение
    на фирменных моделях - да.
    там выведен разъём (rj типа как для телефона/интернета) в него втыкается доп.модуль с цифровыми кнопками для клавиатуры/световой пистолет.
    и самое главное в 128ом бейсике штатно работает опрос порта на R14 (возможно это может сильно помешать)


    Плюс есть подпрограммы работы с принтером и миди интерфейсом.


    https://yadi.sk/i/upIelVd8lDshdA

    Скрытый текст

    Profi v5.03/1024k/палитра/FDD3,5""/FDD5,25"/HDD/XT-Keyb/Covox
    Pentagon-1024 sl v 1.4 upgrade #EFF7 Gluk RTC
    ZXM-Phoenix 1024k
    ATM Turbo 2+ v7.10 512k
    HIMAC HR42.04 48K
    HIMAC 128
    Ленинград 1
    [свернуть]

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

    USERHOME (19.09.2023)

Страница 1 из 3 123 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Ответов: 1
    Последнее: 14.09.2018, 20:59
  2. Ответов: 26
    Последнее: 25.09.2015, 11:07
  3. Ответов: 44
    Последнее: 29.05.2014, 15:12
  4. Видео карта для спека.
    от Руслан в разделе Изображение
    Ответов: 17
    Последнее: 30.08.2013, 01:29
  5. Звуковая карта ZX Spectrum
    от GreatDragon в разделе Для начинающих
    Ответов: 32
    Последнее: 11.03.2013, 13:10

Ваши права

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