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

User Tag List

Страница 1 из 5 12345 ПоследняяПоследняя
Показано с 1 по 10 из 42

Тема: Орион-128: Реализация интерфейса с SD-card

  1. #1
    Moderator
    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    4,577
    Спасибо Благодарностей отдано 
    61
    Спасибо Благодарностей получено 
    106
    Поблагодарили
    92 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Орион-128: Реализация интерфейса с SD-card

    Цитата Сообщение от pvlad Посмотреть сообщение
    Мне представляется, что вариант с SD/MMC надо делать уже сейчас. Думаю ewgeny7 закончив решать основные вопросы, сделает в контроллере максимальную тактовую частоту процессора и "стандартную" для совместимости с имеющимся программным наследием Ориона.
    В эмулятор V1.05 добавлена эмуляция SD-card (SPI).
    Пока эмулируется только базис основных команд, достаточный для реализации идентификации и записи/чтения на карту.
    Спецификация на SD-карты тут.

    Что показывают очень приблизительные прикидки: размещение порта в адресном пространстве памяти (как это было бы на стандартном Орионе-128) при правильном программинге даст на 20-25% более высокую производительность, чем работа по IORQ (IN/OUT), за счет применения косвенной адресации порта SD-карты (однобайтовых команд LD вместо 2-байтовых IN/OUT).

    Поддерживаются две схемы подключения:
    1. Схема подключения SD-card совместимо по схеме с n8vem
    http://n8vem-sbc.pbworks.com/browse/...M%20Schematics
    Вариант от N8VEM полностью программный и самый медленный.


    2. Схема подключения SD-card совместимо по схеме с MSX MMC-drive V1:
    http://msx.retro8bits.com/sd-mmc-drive.html

    В этой схеме добавлен сдвиговый регистр на чтение и автоматическое стробирование данных (клок карты), что дает некоторое ускорение.

    При разнице в 3 микросхемы, эти варианты отличаются по быстродействию примерно в пять раз в пользу MSX.

    На сегодня есть эмуляция (см. в подписи), и под ней работают тестовые примеры (изначально от N8VEM) в коде z80 для обоих схем (во вложении). В железе я ничего не проверял (реал поломан, ремонтировать лень - новый проще сделать: я рассчитываю таки дождаться Орион-2010, хотя бы и в 2010 году )

    P.S. В связи с долгостроем клон переименовался в Орион-2010 Ewgeny7.

    В архиве во вложении схемы в нормальном качестве, исходники и бинарники простой программы для тестирования в версиях для CPM и ORDOS (эту программу в паре с mshell30.com под CPM или M128$/M256$ под ORDOS можно использовать как примитивный редактор диска )

    27.03.2010
    Релиз-кандидат CPM с поддержкой SD-карт скачиваем тут:
    http://orion-z.mylivepage.ru/file/335/5706_GAMES-sd.zip

    Грузить ОС с SD-карт можно при помощи загрузчиков рание уже опубликованных в этом посте:
    http://zx.pk.ru/showpost.php?p=262906&postcount=31

    Что нового в CP/M читаем тут:
    http://zx.pk.ru/showpost.php?p=269861&postcount=35


    14.04.2010
    В CP/M добавлена нативная (включаемая штатно через IOBYTE) поддержка TTY (последовательной консоли RS-232 по стандарту Orion-2010 - порты 0F764, 0F765). Подробнее см. здесь:
    http://zx.pk.ru/showpost.php?p=275608&postcount=851
    Последний раз редактировалось Error404; 13.03.2012 в 14:11. Причина: Управление вложениями
    Лучше сделать и жалеть, чем не сделать и жалеть.

    Некоторые из моих поделок тут: https://github.com/serge-404

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

  3. #2
    Guru
    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,846
    Спасибо Благодарностей отдано 
    83
    Спасибо Благодарностей получено 
    227
    Поблагодарили
    166 сообщений
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Может, всё-таки, какой-то сдвиговый регистр присобачить?
    Последний раз редактировалось b2m; 25.01.2010 в 16:08.

  4. #3
    Moderator
    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    4,577
    Спасибо Благодарностей отдано 
    61
    Спасибо Благодарностей получено 
    106
    Поблагодарили
    92 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от b2m Посмотреть сообщение
    Может, всё-таки, какой-то сдвиговый регистр присобачить?
    Это зависит только от того, будет решение в большей степени только для Орион-2009 (в FPGА возможностей для маневра понятно больше), или же в том числе и для старого Орион-128. Т.к. собрать схему на 4-х ИМС (ИД14, ИР22, ЛE1, ЛП8) просто, и соответственно соберет ее любой, а схема с обособленным сдвигом на дискретных элементах уже будет сравнима по сложности с КНГМД, что собрать на макетке {к примеру для меня}, уже сложновато. Хотя, можно для этого присобачить внешний контроллер типа ATTINY, но это уже как-то не "old school".

    С точки зрения программистики - разница в сложности реализации несущественна. Хотя, понятно, вариант со сдвигом побыстрее будет на порядок.
    Последний раз редактировалось Error404; 25.01.2010 в 17:20.
    Лучше сделать и жалеть, чем не сделать и жалеть.

    Некоторые из моих поделок тут: https://github.com/serge-404

  5. #4
    Guru
    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,846
    Спасибо Благодарностей отдано 
    83
    Спасибо Благодарностей получено 
    227
    Поблагодарили
    166 сообщений
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А ВВ51 не подойдёт?

    Похоже, что нет, там стартовый и стоповые биты передаются...
    Последний раз редактировалось b2m; 25.01.2010 в 17:28.

  6. #5
    Moderator Аватар для Mick
    Регистрация
    14.06.2005
    Адрес
    г. Калуга
    Сообщений
    9,911
    Спасибо Благодарностей отдано 
    177
    Спасибо Благодарностей получено 
    695
    Поблагодарили
    368 сообщений
    Mentioned
    19 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от b2m Посмотреть сообщение
    А ВВ51 не подойдёт?

    Похоже, что нет, там стартовый и стоповые биты передаются...
    В синхронном режиме с внешней синхронизации не передаются
    Я недавно схему с ВВ51 перекладывал на AVRку, вот только SPI и смог сэмулировать синхронный режим ВВ51.
    Сайт поддержки моих изделий - http://micklab.ru/
    Группа ВКонтакте - https://vk.com/micklab

  7. #6
    Guru Аватар для caro
    Регистрация
    14.01.2005
    Адрес
    Ekaterinburg
    Сообщений
    2,721
    Спасибо Благодарностей отдано 
    16
    Спасибо Благодарностей получено 
    134
    Поблагодарили
    87 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от b2m Посмотреть сообщение
    Может, всё-таки, какой-то сдвиговый регистр присобачить?
    Можно сделать по схеме, как в контроллере IDE_MMC для MSX:
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	MMCDriveSchematic.jpg 
Просмотров:	1432 
Размер:	22.1 Кб 
ID:	15714  
    Вложения Вложения

  8. #7
    Moderator
    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    4,577
    Спасибо Благодарностей отдано 
    61
    Спасибо Благодарностей получено 
    106
    Поблагодарили
    92 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от caro Посмотреть сообщение
    Можно сделать по схеме, как в контроллере IDE_MMC для MSX:
    Похоже, там регистр применен только в одном направлении - на чтение с карты? И тактирует сдвиг в регистре все равно сам хост командой LD reg,(portaddr+1)? Интересно было бы взглянуть - во что выливается в исходнике п\п чтения байта (сравнить сложность с самой простой реализацией)... Чего-то про этот вариант не гуглится...
    Последний раз редактировалось Error404; 26.01.2010 в 09:51.
    Лучше сделать и жалеть, чем не сделать и жалеть.

    Некоторые из моих поделок тут: https://github.com/serge-404

  9. #8
    Guru Аватар для caro
    Регистрация
    14.01.2005
    Адрес
    Ekaterinburg
    Сообщений
    2,721
    Спасибо Благодарностей отдано 
    16
    Спасибо Благодарностей получено 
    134
    Поблагодарили
    87 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Post

    Цитата Сообщение от Error404
    Интересно было бы взглянуть - во что выливается в исходнике п\п чтения байта
    Вот так реализованы операции чтения и записи байта:
    Код:
    ;-------------------------------------
    rd_mmc:	push	hl
    	ld	hl, 6FFDh
    	ld	(hl), l
    	ld	(hl), l
    	ld	(hl), l
    	ld	(hl), l
    	ld	(hl), l
    	ld	(hl), l
    	ld	(hl), l
    	ld	(hl), l
    	ld	a, (hl)
    	pop	hl
    	ret
    ;------------------------------------
    wr_mmc:	push	hl
    	ld	hl, 6FFDh
    	ld	(hl), a
    	rlca	
    	ld	(hl), a
    	rlca	
    	ld	(hl), a
    	rlca	
    	ld	(hl), a
    	rlca	
    	ld	(hl), a
    	rlca	
    	ld	(hl), a
    	rlca	
    	ld	(hl), a
    	rlca	
    	ld	(hl), a
    	rlca	
    	pop	hl
    	ret	
    ;------------------------------------
    Почитать можно здесь:
    http://msx.retro8bits.com/sd-mmc-drive.html
    Последний раз редактировалось caro; 26.01.2010 в 10:58.

  10. #9
    Moderator
    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    4,577
    Спасибо Благодарностей отдано 
    61
    Спасибо Благодарностей получено 
    106
    Поблагодарили
    92 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от caro Посмотреть сообщение
    Вот так реализованы операции чтения и записи байта:
    Код:
    ;-------------------------------------
    rd_mmc:	push	hl
    	ld	hl, 6FFDh
    Почитать можно здесь:
    http://msx.retro8bits.com/sd-mmc-drive.html
    Посчитал. Итого:
    вариант MSX (со сдвиговым регистром и тактированием SDcard от /RD/WR) работает быстрее, чем вариант n8vem (простейший - полностью программный)
    - на чтение байта в ~7 раз
    - на запись байта в ~4.5 раза

    При этом, чтение сектора с SD-карты в схеме MSX будет всего лишь в 2 раза медленнее, чем чтение IDE/CF сектора при простейшей (программной) реализации IDE в схеме на 580ВВ55. Т.е. при частоте процессора в 5Мгц SD-card уже сравняется со скоростью работы DS/DD дисковода (800к).

    "Цена вопроса" варианта MSX (опять же не считая дешифратора сигнала /F763) - 555ЛЛ1+555АП5+555ИР8+555ЛП8+2х555ТМ2. 74HC125 выкидываем нафиг (и делаем согласование на резисторах как в схеме N8VEM), смысл элемента U4D мне тоже не ясен. Итого, схема MSX - 6 корпусов против 3 корпусов в N8VEM. Оба варианта вполне реализуемы даже на макетке.



    ---------- Post added at 13:00 ---------- Previous post was at 12:35 ----------

    Цитата Сообщение от caro Посмотреть сообщение
    Почитать можно здесь:
    http://msx.retro8bits.com/sd-mmc-drive.html
    Кстати, я попадал по этой ссылке, но смутило наличие на плате 40-ногой 2212P003. Что это за чип? Что-то музыкальное?
    Последний раз редактировалось Error404; 26.01.2010 в 13:29.
    Лучше сделать и жалеть, чем не сделать и жалеть.

    Некоторые из моих поделок тут: https://github.com/serge-404

  11. #10
    Guru Аватар для caro
    Регистрация
    14.01.2005
    Адрес
    Ekaterinburg
    Сообщений
    2,721
    Спасибо Благодарностей отдано 
    16
    Спасибо Благодарностей получено 
    134
    Поблагодарили
    87 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Error404
    Кстати, я попадал по этой ссылке, но смутило наличие на плате 40-ногой 2212P003. Что это за чип? Что-то музыкальное?
    Да, это музыкальный чип устанавливаемый обычно в игровых картриджах от фирмы Konami, так называемый SCC.
    В этой схеме он выполняет роль схемы управления переключением банков памяти BIOS и электронного диска.
    Ну и заодно работает как музыкальный чип.
    К реализации самого интерфейса с SD/MMC он не имеет отношения.

    ---------- Post added at 16:06 ---------- Previous post was at 15:16 ----------

    Последний вариант схемы поддерживает работу с двумя картами.
    Последний раз редактировалось caro; 26.01.2010 в 13:58.

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

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

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

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

Похожие темы

  1. реализация JavaScript-a на ZX-Spectrum-48k
    от bigral в разделе Программирование
    Ответов: 4
    Последнее: 10.01.2010, 12:02
  2. Лучшая реализация игры
    от Nerzool в разделе Игры
    Ответов: 19
    Последнее: 05.07.2007, 05:35
  3. ZX-ETH-CARD
    от jager в разделе Несортированное железо
    Ответов: 26
    Последнее: 15.05.2007, 10:31
  4. Интересная идея текстового интерфейса в играх
    от Black_Cat в разделе Программирование
    Ответов: 3
    Последнее: 18.11.2006, 15:22

Ваши права

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