DATAGEAR: С ЧЕМ И КАК ЕГО ЕДЯТ?

Other things

Postby Максагор » 01 Dec 2016, 03:40

Приветствую, народ!

Интересует такое интересное устройство как DMA-контроллер DataGear:

http://speccy.info/DataGear
http://velesoft.speccy.cz/data-gear.htm


Image

На говнофоруме в разных ветках обсуждения упоминание о нем то тут, то там проскакивало, но какой-то "генеральной" темы по его обсуждению я не нашел. Что на мой взгляд, несправедливо. Ведь, по крайней мере, на первый взгляд, это устройство обладает неоспоримыми преимуществами:

1. Компактно. Очень компактно и предельно просто - две "большие микросхемы-сороконожки" - сам проц и DMA-контроллер, а также 1-2 микросхемы мелкой логики. Т.е. можно спаять буквально "на коленке проводками".

2. Подключается практически к каждому спектруму - по крайней мере к тем, где проц в виде форм-фактора "сороконожка по 20 ног в два ряда" и не намертво припаян к плате (тут увы - пользователям Пентевы, где проц - маленький квадратик, припаянный к материнке, но других исключений пока не знаю - но может быть и в случае Пентевы можно что-то придумать?) - ибо плата просто вставляется в панельку из-под Z80.

3. При такой простоте и малых размерах позволяет кидать массивы данных в/из порта или перекидывать по памяти со скорость 4 (максимум 8) тактов на байт. А это открывает широчайшие возможности по оперированию графикой (что особенно важно для АТМ с его "тяжелыми" экранами, но не обладающего 14МГц, как у Пентевы), резко убыстряет скорость обмена с винтом и т.д.

Возникает вопрос: почему этот давно уже созданный девайс не нашел у нас (на буржуинские страны говорить не буду - не знаю) до сих пор широкого применения? Ведь был же прецедент с Turbo Sound (FM), который точно также вставляется в панельку из-под AY - девайс быстро приобрел известность - начали под него писать софт, музыку. Пошли с ним конкурсы на демопати и т.д. Что мешает пойти устройству "в народ"? Может быть есть какие-то неучтенные мной подводные камни?

И еще вопрос с точки зрения программиста: может быть тут есть те, кто изучая схему разобрался, а может кто-то и "пощупал" сей девайс собственноручно:
Что делает карточка (перекидывает быстро-быстро массивы данных по памяти и в порты) - понятно. Изучая схему, я понял, что управляется она через порт #0B (а где-то тут на форуме были упоминания и про порт #6B, но на схеме я его не углядел, ну да ладно). Я просто не понял, как именно, используя DataGear, запустить его работу. Например, я хочу перекинуть 6912 байт из верхов памяти в экран аналогично тому, как я это ранее делал через LDIR.
Если раньше это все выглядело как:

LD HL,откуда
LD DE,#4000
LD BC,6912
LDIR


То кто мне подскажет, как будет выглядеть аналогичная по результату процедура при использовании DMA DataGear?

Аналогично с портами. Например, я хочу считать сектор с IDE-винта. Сейчас это так (утрированно):

LD BC, #00nn (конкретный порт IDE, предположим, что все IDE-регистры уже установлены и команда на чтение также послана)
INIR
INIR


И теперь кто мне подскажет, как по аналогии это будет выглядеть при чтении посредством DataGear?

Ну и последний вопрос к железячникам: есть желающие сие устройство производить, учитывая, что по ссылкам есть все нужные PCB-файлы для запуска в серию?
User avatar
Максагор
 
Posts: 170
Joined: 26 Apr 2010, 21:07
Location: Москва
Group: Registered users

Return to Другие изделия

Who is online

Users browsing this forum: No registered users and 1 guest

cron