PDA

Просмотр полной версии : Универсальный дисковый контроллер - опрос



Sonic
20.06.2005, 14:56
А интересна ли следующая тема: новый дисковый контроллер со следующими характеристиками:
1. Встроенное ПЗУ 16 кб (или меньше) - для старта.
2. Встроенное ОЗУ объемом 16 кб (опционально подпитываемое от батарейки)
3. Контроллер дисковода - программируемый контроллер PIC или AVR с тремя режимами:
- эмуляция ВГ93
- эмуляция 1772
- "нативный" режим (тут придумываем что ходим, вплоть до Amiga-подобного сырого чтения)
4. Перепрограммируемый маппер, обеспечивающий подмену ПЗУ Spectrum на встроенное ОЗУ контроллера в режимах, совместимых с TR-DOS или Disciple (Plus D).
5. Возможность загрузки в ОЗУ любой из имеющихся дисковых систем для ZX (UNI-DOS, GDOS, TR-DOS) с последующей перенастройкой маппера и контроллера и запуском.
6. (Опционально) "нативная" DOS, ограниченно совместимая с чем-либо (TR-DOS?), способная работать с жестким диском. Или, может, IS-DOS (зачем изобретать велосипед)?
2 CHRV & others: а ведь такой штукой вполне можно буржуев заинтересовать. Они бы получили возможность гонять наш софт не теряя свой (а мы - наоборот). Может в ATM3? Или 4? ;)

rasmer
20.06.2005, 17:05
А интересна ли следующая тема: новый дисковый контроллер со следующими характеристиками:
.......
.......Интересна, то интересна, но тока кто её лабать будет. Ты? Если сделаешь - молодцом будешь...

Sonic
20.06.2005, 17:30
Ну допустим я взял бы такой проект. Вопрос такой - затраченное время мне хоть как-то вернется, хотя бы 20 девайсов по 1000 руб у меня купят?
Возможно уменьшение себестоимости за счет упрощения конструкции. Можно оставить ВГ93 и сделать адаптированную версию UNI-DOS ROM. System file с ней будет работать имеющийся, т. к. он аппаратно-независим. Возможно даже оно более оправданно. ибо:
1. Не будет привязки к несуществующему интерфейсу принтера, вместо него будет использован реально существующий.
2. Использование ВГ93 сильно снижает время разработки и сокращает стоимость устройства.
Хотя, кто мешает сделать несколько версий, последовательно...

P.S. 2 All: просьба не удивляться, да, у меня много идей, все они интересные, и одновременно все я не реализую. Хочется выбрать что-то одно, посоветовавшись с вами.
ИМХО интеграция "западного" и "восточного" вариантов развития ZX пошла бы всем на пользу. У них насколько я понял +D/UniDOS - самая популярная система, все новое железо (IDE, CF и т. д.) тоже совместимо с этим хозяйством.
Возможно такое решение открыло бы перспективу перехода на +D для нашего сообщества. Путь сей труден, но решил бы громадную массу проблем, тем более что я думаю что западный народец тоже все эти годы на заднице вряд-ли сидел, и софт на +D перенесен в очень большом количестве. С играми и демами, занимающими всю память, там проблем нет - у +D память своя, так что работать с ним ненамного сложнее чем с магнитофоном, и загрузчики по нескольку килобайт размером там писать не нужно. А многое из фирменного софта вообще само по себе зажужжит ибо эти системы поддерживают еще и API интерфейса-1.

lvd
20.06.2005, 18:43
Ну допустим я взял бы такой проект. Вопрос такой - затраченное время мне хоть как-то вернется, хотя бы 20 девайсов по 1000 руб у меня купят?

А девайс что же, будет как треть от атмки или пентагона1024сл по размеру и количеству микросхем? =)



Возможно такое решение открыло бы перспективу перехода на +D для нашего сообщества. Путь сей труден, но решил бы громадную массу проблем, тем более что я думаю что западный народец тоже все эти годы на заднице вряд-ли сидел, и софт на +D перенесен в очень большом количестве.

А зах оглядываться на западный народец? Пусть лучше ОНИ оглядываются и равняются на нас. Это у них, а не у нас, до сих пор в обращении древние и глюкотормозные 'фирменные' спектрумы со всего лишь 128 кило памяти. Это у них, а не у нас нет аналогов аласма, стса, BGE, множества муз. редакторов и множества других софтин, гам и дем.

POIND
20.06.2005, 22:17
все что нужно мне так ето держать на винте образы ТРД или другие
и обрашаться к ним из ТР ДОС
ну и немешало бы оснастит такую железку ком портом и утилиткой для переброски образов с ПЦ на винт моего пентагона
или реализовать ето через уже имеюшийся ком порт если у кого есть
конечно в идеале езернет контроллер но ето не в тему наверно

надо толко дополнить/научить машинку быстро переключятся между imadjami на винте и искать файлы " TRDIMAGEDOS " :-)
вот ети две функции реално нужны на системном уровне

приетом на то что ето будет делать Z80 расчитывать ненадо
контроллер надо PIC ili ATMEL

Conan
21.06.2005, 00:40
Ну допустим я взял бы такой проект. Вопрос такой - затраченное время мне хоть как-то вернется, хотя бы 20 девайсов по 1000 руб у меня купят?

P.S. 2 All: просьба не удивляться, да, у меня много идей, все они интересные, и одновременно все я не реализую. Хочется выбрать что-то одно, посоветовавшись с вами.

Успешная реализация столь серьезного проекта, требующая знаний множества нюансов различного железа, да еще на коммерческой основе (читай: поддержка, если оно будет работать криво) – цель благородная, но недостижимая. Попробуйте начать с чего ни будь попроще, например, с производства «дешевых» GS, на которые спрос есть.

Sonic
21.06.2005, 11:11
А девайс что же, будет как треть от атмки или пентагона1024сл по размеру и количеству микросхем? =)
Нет, разве что только прототип. Маппер памяти можно свернуть в PALCE (собственно в +D так и сделано) - будет всего одна микруха. Из дополнительных регистров будет только один - порт управления маппером.
Вероятно что даже можно запустить G+DOS на ВГ93 без изменений, использовав более совершенный маппер, который будет конвертировать еще и адреса портов ибо WDC 1772 - это предшественник WDC1793, они очень похожи.
Для общего развития:
http://www.ramsoft.bbk.org/tech/mgt_tech.txt
ftp://ftp.worldofspectrum.org/pub/sinclair/technical-docs/MGTPlusD_Diagram.gif


А зах оглядываться на западный народец? Пусть лучше ОНИ оглядываются и равняются на нас. Это у них, а не у нас, до сих пор в обращении древние и глюкотормозные 'фирменные' спектрумы со всего лишь 128 кило памяти. Это у них, а не у нас нет аналогов аласма, стса, BGE, множества муз. редакторов и множества других софтин, гам и дем.
А хотя бы за тем, чтобы не вымереть как мамонты, поварившись еще лет пять в собственном соку. Особенно с нашим подходом к покупке железа ("не хочу"/"не буду"/"дорого"). Это раз.
А во-вторых, продав туда такой контроллер, мы принесем туда весь наш софт. Он получит поддержку пользователей. Спековское сообщество сможет объединиться. East meets West. :cool:
В-третьих, им машина без +D не очень интересна. А воткнув такой контроллер на современный ZX Российского производства (ATM-3/Pentagon1024SL-2/что угодно еще) можно обеспечить этой машине 100%-ный сбыт за рубежом, ибо тогда они смогут гонять весь свой софт без проблем.

Sonic
21.06.2005, 11:21
все что нужно мне так ето держать на винте образы ТРД или другие
и обрашаться к ним из ТР ДОС
ну и немешало бы оснастит такую железку ком портом и утилиткой для переброски образов с ПЦ на винт моего пентагона
или реализовать ето через уже имеюшийся ком порт если у кого есть
конечно в идеале езернет контроллер но ето не в тему наверно
Это очень даже в тему. Замена ПЗУ TR-DOS на ОЗУ даст тебе возможность делать и то, и это, и вообще все что угодно.
Загружаешь модифицированную "охардованную" версию TR-DOS, которая образы с винта читает - и вперед.
Попалась хитромудрая программа, которая сильно зависит от кода TR-DOS - ты обратно версию 5.03 загрузил - и вперед.
Хочешь перекачку файлов - да вообще без проблем! Disciple поддерживает сеть, надо только переписать нижний уровень. Хочешь через последовательный интерфейс, хочешь через параллельный. Тема "ZX-LAN" закрывается автоматически. Хочешь эмуляцию TR-DOS - опять без проблем! Загрузил сетевой эмулятор - и вперед. Загружаемая ОС - это же круто, это то, чего мы все хотели! И ОЗУ пользователя доступно для программ, все 1024 кб! Можно там рамдиски, свопы устраивать...
Про гигантские возможности по использованию NMI я промолчу в тряпочку - это и так очевидно.

Sonic
21.06.2005, 13:38
Так вот, господа, 1772 и ВГ93 абсолютно совместимы между собой программно! Следовательно, нужно разработать только маппер. G+DOS, UNIDOS и даже GDOS/DISCiPLE (только тут нужно реализовывать перемену местами ROM/RAM - не факт что это нужно ввиду полной совместимости с +D) поедут на ВГ93 без проблем. И даже OPUS Discovery (только маппер будет сильно сложнее, там регистры ВГ отображены на память и сигнал DRQ от контроллера на NMI заведен, ()() в общем, да и вот это точно вряд-ли нужно).

POIND
21.06.2005, 21:57
короче я бы купил :-)
пиши чем смогу помогу
[email protected]

Djoni
22.06.2005, 06:00
Я думаю правильной концепцией будет начать разработку с платы контроллера которая вставляется в панельку под ВГ93
и специальный хитрый шлейф FDD который будет проходить через контроллер +D и BetaDiska,основной плюс такой конструкции
максимальная совместимость с разными нашими клонами Спектрума и легкость установки :)

В продолжение темы Plus D боле подробная принципиальная схема +D
и документация на WDC1772

jtn
22.06.2005, 09:16
какой +D вы че с луны свалились, кому он сейчас нужен. в буржундии давно дефакто D40/D80 (система MDOS) и в меньшей MB02 (BusyDOS) если и поддерживать, то хотя бы их. но имхо и это нафик не надо. сделайте прозрачную среду TRDOS, т.е. чтобы можно было брать трдос образы с любого устройства будь то hdd/cdd/flash/ram... этого хватит за глаза (советую посмотреть мой проект, я постил описалово со схемой в ветку о контролере многозадачной ОС)

пс проголосовал за 1й вариант =)

Sonic
22.06.2005, 09:20
D40/80? Это Didaktik'овская? Спасибо за инфу.
+D был выбран исходя из количества ссылок на него в Интернете.

Sonic
22.06.2005, 09:23
Я думаю правильной концепцией будет начать разработку с платы контроллера которая вставляется в панельку под ВГ93
Фига. Там не хватит сигналов.
Действительно именно ZX-Bus. Причем в двух вариантах:
1. Для наших пользователей - Upgrade-версия - работающая совместно с onboard-бетадиском и использующая его ВГ93 и прочее.
2. Для наших пользователей кая - полный интегрированный контроллер со своей ВГ93 на борту - вставляемый вместо имеющегося.
3. Для ихних пользователей - каевский вариант плюс "родной" интерфейс принтера

Sonic
22.06.2005, 10:39
Не могу нигде найти инфу по D80. Кто-нить может кинуть линк? Или рассказать чего?
Про MB-02... Что ж, это серьезная и сильная штуковина, только ИМХО не имеет смысла реализовывать эту железку "как есть" в наших машинах. Контроллеров IDE у нас и так навалом. Имеет смысл для упомянутого универсального дискового контроллера с ОЗУ на борту (рабочее название проекта - Beta 2005 :) ) написать ОС, совместимую по вызовам с MB-02'ой и работающую на нашем железе.
Установка на наши продвинутые тачки чужих портов чревата конфликтами. Например даже для режима +D в Beta2005 вероятно придется делать джампер, активизирующий режим ограниченной совместимости, в котором порты доступны только при подключенном ПЗУ Beta2005 (в оригинале это не так). Иначе огребем конфликт например с ZX-Lprint (порт #FB). Блин, а в АТМ-2 с этим хуже, там в пространство портов TR-DOS +D воткнуть просто некуда.
Возможно придется вернуться к варианту с модифицированными прошивками, переработанными под порты Бета128, по крайней мере в качестве опции, ибо интеграция родной карты портов +D в ATM-2 мне вообще не представляется возможной. По идее не должно быть очень сложно.
Ладно, что ж, так или иначе прототипирование будет вестись на базе Пентагона-48 - там можно воротить без проблем, а с совместимостью можно будет потом помозговать...

Conan
22.06.2005, 11:55
Лови схемы D40/80 (версии 10 и 20) и ПЗУ к ним. Описания контроллера есть, но на чешском. Описание 2797 так же есть, он совместим "сверху вниз" с 1793 (ВГ93).

Sonic
22.06.2005, 12:15
Я тут тоже кое-что насмотрел. Только вот с 2797 проблема. Он совместим с 1797, но не с 1793. Там некоторые биты различаются, кое-что изменено на противоположное. Вероятно тут уже не обойтись без эмулирующего контроллера. Или без спец. версии MDOS (все зависит от дизайна системы - насколько хороши точки входа, достаточно ли они предоставляют, и использует ли как следствие софт прямое обращение к ПЗУ).
Впрочем, проект действительно становится сложен, поэтому думаю что реализовывать его я буду поэтапно. И первый этап - самый простой - создание устройства, состоящего из только программируемого маппера и ОЗУ. Работать с ним будут модифицированные версии систем (адаптированные под ВГ93). Возможно что даже для первой production-версии этого будет достаточно (опять же все зависит от ихнего софта, хотя системы выглядят весьма развитыми). Маппер портов/аппаратную эмуляцию 2797 можно будет делать потом, при наличии запросов со стороны юзеров. Все равно для некоторых из наших клонов ZX, как я уже упоминал, возможно только такое решение. Да и оно имеет очевидные плюсы - возможность работы с имеющимся принтерным и IDE-железом. Нарастив объем памяти, таким образом, можно создать и MB02-совместимую систему при использовании минимума средств и модификаций.
Судя по всему создатели зарубежных IDE-контроллеров (MB02, DivIDE, ZXCF, ZXATASP и пр.) идут именно таким путем. Похоже что к железу и содержимому ПЗУ TR-DOS привязан только наш софт ввиду крайне недостаточной функциональности самого ПЗУ.

Conan
22.06.2005, 12:36
Я тут тоже кое-что насмотрел. Только вот с 2797 проблема. Он совместим с 1797, но не с 1793.Настаивать не буду, ибо очень глубококо в проблему не влезал. Но о совместимости с 179х (а значит и с 1793) сказано в фирменном описании, в частности про интерфейс и инструкции. Разумеется речи о 100% совместимости быть не может.

Sonic
22.06.2005, 13:33
Но о совместимости с 179х (а значит и с 1793)

Там написано: "серия 279x 100% совместима с серией 179x". Это подразумевает одинаковые x в обоих случаях.
Вот здесь (http://homepages.tesco.net/~rainstorm/fdc-combined.htm) хорошо видно разницу.

Conan
22.06.2005, 14:57
Там написано: "серия 279x 100% совместима с серией 179x". Это подразумевает одинаковые x в обоих случаях.Про одинаковые "х" возможно вы правы, хотя странно, что этого не указали в описании(обычно разжевывают "от и до").

Вот здесь (http://homepages.tesco.net/~rainstorm/fdc-combined.htm) хорошо видно разницу.Там, к сожалению, нет 1793 (только 2793), но это и не важно, ибо вам виднее, что с этим делать дальше ;).

Djoni
24.06.2005, 01:32
Фига. Там не хватит сигналов.
Действительно именно ZX-Bus
ну раз лучше ZX-Bus, так на основе ZX-Bus :)

К я понял под D40/80 есть как минимум две версии «прошивки» для WG2797 и GM82C765B ?
получается что сами разработчики внесли в D40 несовместимость с софтом который работает
на прямую с WG2797 и GM82C765B.
Значит за основу берем версию «прошивки» под WG2797 и переделываем процедуры обращения
к 2797 под 1793
Кстати я нашел описание и полный дизассемблер MDOS к сожалению только на чешском языке :(

Случайно нет спецов по чешскому языку ? :o

Манул по командам MDOS Eng.

описание и полный дизассемблер MDOS в pdf ;)

jtn
24.06.2005, 07:21
еще раз: IRCNET, #z80 сидят товарищи, которые ответят на практически любой вопрос по D40/80 т.к. сами активно им пользуются

Sonic
24.06.2005, 09:45
К я понял под D40/80 есть как минимум две версии «прошивки» для WG2797 и GM82C765B ?
получается что сами разработчики внесли в D40 несовместимость с софтом который работает
на прямую с WG2797 и GM82C765B.
Там хороший API и собственная память 2 кб. Работать напрямую незачем и это в отличие от TR-DOS не поощряется. Есть еще MDOS3, работающая с HDD.

Sonic
30.06.2005, 13:04
Итак, первые результаты работы.
Вчера в метро накарябал схемку подключения ОЗУ (32 кб) и альтернативного маппера. Выложу сюда после отрисовки в CAD.
Структура девайса на данный момент следующая:
1. ПЗУ - 16 кб (используется уже имеющаяся страница TR-DOS)
2. ОЗУ - 32 кб (две страницы)
3. Маппер BetaDisk - имеющийся в схеме. Включение по Magic, Reset (для 48 к), переходу на #3Dxx; отключение - по переходу в ОЗУ.
4. Маппер +D - второй. Включение по переходу на #0000, #0008, #003A, #0066 (с возможностью блокировки внешним сигналом - см. примечание 1) либо команде IN A,(#E7). Отключение - по команде OUT (#E7), A.
5. Порт управления маппером. Адрес порта и условия доступа (постоянно либо только при активной памяти DOS) пока не определены. Раскладка: бит 0 - включение маппера +D; бит 7 - переключение страниц ОЗУ; бит 6 - замена ПЗУ на ОЗУ.
При сбросе содержимое порта управления маппером устанавливается в 0. Это означает, что активны оба маппера (маппер BetaDisk активен всегда) и при активации любого из них происходит подключение ПЗУ интерфейса. Далее, в зависимости от того, какая точка входа была задействована, производится:
а) проверка целостности и корректности содержимого ОЗУ (требуемая ОС загружена), в случае успеха - подстановка ОЗУ вместо ПЗУ и отключение маппера +D (если запрашивается TR-DOS). Иначе:
б) При активации точки входа #0008 - простая передача управления назад в бейсик за исключением ввода команд RUN (только если бейсик-программы в памяти нет) или RUN "name". При этом происходит загрузка образа ПЗУ G+DOS с заданным именем или "+ROM" по умолчанию и передача управления G+DOS.
в) При активации точки входа #3D03 (15619) - проверка на наличие команды RANDOMIZE USR 15619:REM SYSTEM "имя" (имя опционально). В этом случае происходит загрузка образа ПЗУ TR-DOS с заданным именем (или "TRSYSTEM"), отключение маппера +D и передача управления TR-DOS.
г) При активации любой другой точки входа #3Dxx - вывод сообщения об ошибке "No TRSYSTEM loaded".
д) При активации любой другой точки входа (#0000, #003A, #0066) - тупая передача управления обратно в ПЗУ бейсика.
Примечания:
1. Для обеспечения разделения NMI c Hayes-модемом на маппер +D заводится сигнал с 5 ноги м/с U2 адаптера модема. Таким образом, при задействованном прерывании модема обеспечивается блокировка маппера (побочный эффект - во время работы с модемом нельзя использовать G+DOS). Блокировать только точку входа #0066 не представляется возможным поскольку она используется также для вызова подпрограмм из ПЗУ бейсика.
2. Для обеспечения совместимости с компьютером АТМ-Турбо2, где в пространстве портов TR-DOS находятся порты управления дополнителными ресурсами, используется следующее решение: если одновременно включены маппер +D и подстановка ОЗУ, то вызов любой из точек входа #3Dxx (срабатывание маппера TR-DOS) ведет к подключению BootROM. В нем оставлены без изменений точка входа #3D2F и команды OUT (C), A и IN A,(C), имеющиеся в оригинальном ПЗУ TR-DOS. В схему АТМ заводится дополнительный сигнал с контроллера.
Ваши предложения, замечания, дополнения?

Ne01eX
01.07.2005, 06:16
Купил бы, но только отдельно. А нафига мне десять спеков? Только проголосовал неправильно... Утро, мля, туманное... ::)