|
nedoPC.orgElectronics hobbyists community established in 2002 |
|
|
Page 1 of 1
|
[ 13 posts ] |
|
[MSX] SD для MSX, схемы и программы
Author |
Message |
PVV
Doomed
Joined: 12 Feb 2016 13:39 Posts: 463
|
Обсуждение схемных и программных решений для подключения и использования SD карты к ПК семейства MSX предлагаю вести в этой теме. На данный момент в качестве аппаратной реализации SD интерфейса используется такой вариант, а в качестве программной поддержки используется Nextor ( viewtopic.php?f=96&t=18820&start=150#p151934), с маппером страниц по 16КБ размещенным в портах 0xb2 и 0xb0(SD_data). Однако маппер в портах решение не стандартное, и для исключение возможных конфликтов с различным оборудованием предпочтительнее этот маппер разместить в памяти. Размещение в памяти подразумевает необходимость дешифратора адресного пространства, который нужно делать или на микросхеме программируемой логики или на 3-5 корпусах мелкой логики, что при 6-7 корпусах для самого SD интерфейса уже как то не очень красиво выглядит. Просматривая в очередной раз код Nextor, взгляд упал на маппер ASCII8, который этим некстором поддерживается и появилась такая идея, а что если собрать Nextor под страницы по 8КБ, в адрасах 0x4000-0x5fff, а область 0x6000-0x7fff отдать под маппер (к примеру 0x6000-0x6fff) и сам SD интерфейс (0x7000-0x7fff)? Для декодирования такой расклад памяти не потребует много корпусов мелкой логики, и все будет размещаться в одном слоте, как идея?
|
09 Oct 2019 03:05 |
|
|
Alekcandr
Doomed
Joined: 01 Oct 2007 10:30 Posts: 665 Location: Ukraine
|
Идея хорошая. Жаль только что с MSX-DOS2 такой ход не пройдет.
_________________Эмулятор OrionEXT:
http://www.orion-ext.narod.ru
|
10 Oct 2019 03:53 |
|
|
PVV
Doomed
Joined: 12 Feb 2016 13:39 Posts: 463
|
Так Nextor, по сути и есть dos2.
|
10 Oct 2019 08:34 |
|
|
PVV
Doomed
Joined: 12 Feb 2016 13:39 Posts: 463
|
Попробовал реализовать идею с использованием регистра 74hc595. Все получилось очень даже красиво. Проверял с BeerSD, изменений в коде минимум, только убрал запись FF в SPI перед чтением и все! Во вложении схема, проект Протеуса и исходники BeerSD. Получается, что такую схему можно использовать во всех проектах реализованных на ПЛИС с SD. Это и 3я версия SD интерфейса этого проекта и Z-контроллер в ZX, те везде, где сдвиг в SPI начинается и по записи и по чтению (для z80 можно использовать INIR/OTIR), а не так, как это было в используемых мною проектах, когда для чтения байта из SPI надо было записать прежде FF в SPI и уже затем читать. Единственный минус этого интерфейса - отсутствие его поддержки в emu. Дальше займусь прикручиванием этого интерфейса к Nextor.
|
12 Oct 2019 03:36 |
|
|
Alekcandr
Doomed
Joined: 01 Oct 2007 10:30 Posts: 665 Location: Ukraine
|
Как-то в давнишние времена (когда эмуляция захлестнула весь мир) мной был успешно перепилен blueMSX в ОРИОН-128 (ОРИОН-PRO). Рабочие название у того эмулятора было OrionEXT. Это я к чему, blueMSX написан на простом и понятном CИ, и в него не сложно впилить любой аддон.
_________________Эмулятор OrionEXT:
http://www.orion-ext.narod.ru
|
15 Oct 2019 04:51 |
|
|
PVV
Doomed
Joined: 12 Feb 2016 13:39 Posts: 463
|
Поразбирался немного с Nextor в части сборки прошивки под страницу в 8КБ и увидел возможность остаться в страницах по 16КБ без ущерба для нашего дела . Суть такова, в каждой 16КБ странице, в конце, записан код переключающий эти самые страницы, и этот код размещается в 0x3FE0-0x3FFF ( тк выборка этих страниц CS1, то в ОЗУ это 0x7FE0-0x7FFF). Фактически же, сам код занимает только половину этого места, те 0x3FE0-0x3FEF, а область 0x3FF0-0x3FFF остается во всех страницах свободной. Используя это можно сделать адрес переключения маппера любой из 0x7FE0-0x7FEF (это в адресах ОЗУ), а адреса SD интерфейса 0x7FF0-0x7FFF. Реализацию такой карты памяти легко сделать всего на двух корпусах - ЛА2 и ИД7. 16 байт, по которым адресуется SD интерфейс, позволяют использовать команду блочной пересылки ldi, имеющуюся у z80, что дает почти максимально возможную скорость обмена с картой. 'Почти', тк байт 16, а не 512, и 32 раза приходится перезагружать HL значением 0x7FF0. Во вложении проект из Протеуса, для варианта с ИР24(_1) и с ИР9(_2), и исходник драйвера, в котором чтение сделано с использованием ldi. Вся схема получается на 10 корпусах, из которых 2 корпуса это ПЗУ на 64КБ. Если поставить одну ПЗУ на 128КБ, то получится вообще 9 корпусов...
|
22 Oct 2019 07:35 |
|
|
Alekcandr
Doomed
Joined: 01 Oct 2007 10:30 Posts: 665 Location: Ukraine
|
Интересно. Я смотрю при наличии исходников (Nextor) DOS можно накатать на любой маппер. Надо будет потестить. Правда у меня началась полоса FPGA (не прошло и три года). Приехала платка с 5 Циклоном (5CEFA2F23). Много воды (циклонов) уплыло за три года. Пока разбираюсь (даже проект от Grant's не взлетает). Задача построить MSX1, а потом и контроллер SD. Ваш контроллер SD буду строить в FPGA исключительно методом схемного ввода
_________________Эмулятор OrionEXT:
http://www.orion-ext.narod.ru
|
27 Oct 2019 04:58 |
|
|
PVV
Doomed
Joined: 12 Feb 2016 13:39 Posts: 463
|
Недавно пришла мысль, а что, если в качестве ножек для подключения SD карты использовать ножки уже имеющиеся в ПК? Применительно к msx, это ножки чтения и записи на магнитофон, ножка выхода звука с ВВ55 и ножка управления светодиодом CAPS... Можно и ножку управления мотором задействовать. Припаяв к соответствующим ножкам такую платку, и вставив в слот плату с 16КБ ПЗУшкой с кодом BeerSD, получим работу с SD! Нужно лишь развязать, отключить(отрезать), выход операционника на вход AY канала чтения с магнитофона, что бы не мешался карточке. Во вложении эта реализация с файлами конфигурации для emu. Константой DRV_TYPE при сборке определяется под какой интерфейс делать файл. Применительно к описанному выше - 2 . Различие в скорости заметно, но я не скажу, что катастрофично. upd: обновил архив, добавил 4й тип DRV_TYPE на портах джойстика.
Last edited by PVV on 11 Dec 2019 02:49, edited 1 time in total.
|
05 Dec 2019 03:09 |
|
|
PVV
Doomed
Joined: 12 Feb 2016 13:39 Posts: 463
|
Зацепила меня возможность простейшего подключения SD к ПК, решил я проверить, какую же скорость этот интерфейс может показать в приложении hdspeedпересобрав, соответственно nextor под этот вариант подключения. Кстати говоря, BeerIDE можно очень просто адаптировать к nextor. Берем три бита с порта ВВ55 под старшие адреса ПЗУ, получив маппер, и подключаем SD на оставшиеся ножки, все!
|
07 Dec 2019 07:29 |
|
|
Alekcandr
Doomed
Joined: 01 Oct 2007 10:30 Posts: 665 Location: Ukraine
|
Интересненько. Но по мне это перебор. Никто свой оригинальный MSX перепиливать не будет (оно так можно и свой уникальный ASIC чип подпалить, которого нигде уже не достать). Можно было бы эту идею минимизировать до двух проводов (с МК), но опять. Во вход/выход магнитофона много битов не задуть/выдуть (фильтр). А вот через джой этот финт ушами можно было бы провернуть. А ах да. Это уже было сделано (какой то японец запилил, много лет назад). Все придумано до нас
_________________Эмулятор OrionEXT:
http://www.orion-ext.narod.ru
|
10 Dec 2019 01:54 |
|
|
Alekcandr
Doomed
Joined: 01 Oct 2007 10:30 Posts: 665 Location: Ukraine
|
Не по теме.
Если у кого вдруг появится зуд, чего бы такое подключить по последовательным интерфейсам. Джой у MSX съест все. Бо это некий HID девайс из 80г.
_________________Эмулятор OrionEXT:
http://www.orion-ext.narod.ru
|
10 Dec 2019 03:50 |
|
|
PVV
Doomed
Joined: 12 Feb 2016 13:39 Posts: 463
|
Все новое это хорошо забытое старое... ПО с поддержкой SD от японца есть? Джойстик это вообще красота! и питание там есть и входы-выходы... сделал и под него сборку, обновил архив выше. на портах AY: PA7 - miso PB0 - mosi PB1 - clk PB2 - CS PB6 - выставляю=0, те джойстик1. Не захотела, правда, эта конфигурация сходу работать... пока разобрался, что к чему... пришлось запрещать прерывания на время доступа к карте, иначе в прерываниях идут обращения к портам AY и карта не определяется и не работает.
|
11 Dec 2019 02:58 |
|
|
Alekcandr
Doomed
Joined: 01 Oct 2007 10:30 Posts: 665 Location: Ukraine
|
Вот ссылка. Честно не разбирался что там к чему. Есть такое дело. Порт джойстика весит на прерывании и постоянно опрашивается.
_________________Эмулятор OrionEXT:
http://www.orion-ext.narod.ru
|
11 Dec 2019 08:21 |
|
|
|
Page 1 of 1
|
[ 13 posts ] |
|
Who is online |
Users browsing this forum: No registered users and 4 guests |
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot post attachments in this forum
|
|