Просмотр полной версии : Периферия "ОрионПро"
АлександрПП
28.06.2015, 00:07
Думаю, настала необходимость создать такую тему и собрать в нее, все что касается плат расширения компьютера "Орион-Про".
Плата RAM-disk.
Думаю, что все, или почти все, собрашие авторский вариант RAM-диска обратили внимание на его «капризность». То диск «С» не определяется, то «D» определяется частями.
После таких же мучений появилась мысль заменить память на диске на современные микросхемы.Vladimir_S моментально сделал схему, проверил ее на монтаже.
Теперь есть заводская плата, собранная и отлично работающая.
https://yadi.sk/d/Zxct_zfo7KPOjA
https://yadi.sk/i/ow-3DHK7RxhTlQ
https://yadi.sk/i/FcGKLDxVlyTCug
Плата ROM-disk
Для замены большой платы мультикарты. Имеет только ПЗУ W27E020 и один порт. Исключена схема формирования палитр.
АлександрПП
28.06.2015, 00:18
Плата COM-port и AY
Собрав плату мы с Дмитрий20012 столкнулись с ее частичной неработоспособностью. Часть с музыкальным процессором заработала сразу же, а вот порты молчали.
Бросалась в глаза странность в подключении выводов, на которые идут управляющие сигналы. Неизвестно, сколько бы мы возились со схемой, если бы не Ewgeny7. Он внес исправления, за что ему огромная благодарность. Но и после внесенных исправлений плата заработала частично. Появилась выборка ВИ53 и ВВ51, но мышь не виделась.
Оказалось, что и прерывания в СОМ1 и СОМ2 перепутаны. Я их поменял и тест пошел. Запустив Power Comander, увидел работающую мышь. Можно сказать, что плата почти отлажена.
В связи с авторскими ошибками (а возможно, ошибками, внесенными при перечерчивании схемы) в схеме без скальпеля и МГТФ не обойтись.
Отрезаем проводники, идущие к выводам микросхем DD7 и DD8 10, 11, 12, 13. Лучше всего отрезать их в таких местах, чтобы сохранилась связь между выводами 10, 12, 13. Так будет меньше проводов.
Затем соединяем выводы обоих микросхем в таком порядке:
- выводы 10 - к сигналу /WR (1 и 9 вывода DD2;
- выводы 12 - к сигналу А0 ( 19 вывод DD6);
- выводы 13 - к сигналу /RD (22 вывод DD6).
Вывод 11 DD7 паяем к 11 выводу дешифратора DD1.
Вывод 11 DD8 паяем к 10 выводу дешифратора DD1.
9 вывод дешифратора DD1 припаять к 21 выводу таймера ВИ53, естественно перерезав имеющуюся дорожку.
Поменяйте местами сигналы IRQ3 и IRQ4, т.е. выводы разъема B23 и B24.
Определяется мышка только при подключении ее к COM-порту 2.
После такой доработки плата должная заработать.
Происходит это так:
http://www.youtube.com/watch?v=2Bd4tuyE3cg
По всей видимости, придется делать новую плату с исправленными ошибками. Дмитрий2012 подкинул идею добавить в схему генератор с делителем для получения тактовой частоты 1.75 МГц для музыкального процессора, обеспечив таким образом полную совместимость по частоте со Спектрумом.
Плата отлажена и работает. Если кого-то не устраивает ее вид с порезами и проводками, готов
вариант с исправленными ошибками.
Новая плата от предыдущей отличается тем, что в ней исправлены все ошибки. Кроме того, в нее добавлен кварцевый генератор и делитель для получения частоты 1.75МГц для большей совместимости скорости работы музыкального процессора со спектрумовским.
Желающие заказать новую плату сюда:
http://zx.pk.ru/market/viewtopic.php?f=7&t=3168&p=30107&sid=1e9b5bc3a576099ebffbf96466573cc3#p30107
Плата с исправлениями и изменениями изготовлена. После сборки сразу начинает работать, настроек не требует.
Мышь в ORDOS определяется и работает только в COM-2.
Изготовлена новая плата 2016.3.В схемувнесены изменения, предложенные Denn и Error404. Увеличено быстродействие порта-1. Изменена дешифрация музыкального процессора для совместимости с программами, адаптированные со спектрума.
Дополнительная корректировка совместной дешифрации AY-ПРО для версии 2016.3 описана тут (https://zx-pk.ru/threads/25327-periferiya-quot-orionpro-quot.html?p=879426&viewfull=1#post879426), для плат выпуска версии 2016.3 делать обязательно
В архиве схема c изменения от Denn и Error404, но без упомянутой выше корректировки совместной дешифрации AY-ПРО для версии 2016.3 (т.е. с ошибкой)
АлександрПП
30.06.2015, 21:50
Плата IDE-RTC
Собрана по схеме Михаловского В.Ф. Прообраза печатной платы обнаружено не было, скорее всего, его и не существовало.
Плата собрана и проверена в том объеме, насколько это возможно. Тест жесткого диска проходит полностью, но дальше работа встала из-за недостатка программного обеспечения.
Часы работают, время выводится на экран при запуске Power Commander в режиме "Орион-128". Включение-выключение вывода времени производится клавишей "О".
Есть недостаток: при вставленной батарейке и запущенных часах компьютер при холодном старте зависает.
Скорее всего здесь, как и в плате COM-портов проблема связана с прерываниями. Есть некоторые ухищрения, позволяющие это обойти, но они проблемы не решают, т.к. при этом работает не вся схема, а только часы.
Может кто-нибудь найдет решение проблемы.
ВНИМАНИЕ!!! На плате есть ошибки.
1. Надо поменять местами R7 и C6.
2. Не предусмотрены блокировочные конденсаторы. Напаять на выводы микросхем.
3. Для правильной выборки регистров IDE добавить вентиль ЛЛ1 так:
http://zx-pk.ru/threads/25327-periferiya-quot-orionpro-quot.html?p=897811&viewfull=1#post897811
Изготовлена новая плата 2016.3.
Все по ней в прилагаемом архиве.
Error404
01.07.2015, 16:32
Честно говоря, мне вообще не понятно нафига в Орионе-ПРО накручено с прерываниями от устройств в\в (в особенности таких примитивных по сути "конверторов сигналов" на россыпухе). Такое осчучение, что тупо из "любви к аппаратному творчеству". Выгоды никакой - ни в удобстве программирования, ни в количестве аппаратных ресурсов, ни в скорости работы.
АлександрПП
01.07.2015, 16:37
Вот именно! На схеме одно, разведено на плате - другое, на плате расширения - третье. И пока не понятно, как там это решено программно.И успели ли это решить до того, как "Орион-Про" по объективным причинам если не умер, то надолго уснул.
Дмитрий2012
04.07.2015, 12:47
Выкладываю прошивку для ROM-DISKа, в которой имеются необходимые программы для теста плат периферии Ориона-ПРО и пара музыкальных треков для AY. Может кому пригодится.
Файл обновлен. Заменил тест жесткого диска. АлександрПП обнаружил и исправил ошибку при выводе текста на экран в одном из тестов. Ну и раз пришлось пере заливать файл, добавил еще один музыкальный трек.
Kinder5912
05.08.2015, 15:09
Всех приветствую!
Что бы не копаться, решил просто задать АлександруПП несколько вопросов:
1. В новой версии платы COM-портов + AY триггер D5 (ТМ2) был заменен на счетчик. Какой это счетчик ?
2. Добавлена D16. Скорее всего это КР1533ЛН1 :), но хотелось бы получить этому подтверждение.
3. Резисторы в генераторе, R12, R13 - сопротивление ?
4. Конденсатор в генераторе С7 - по схеме он электролитический (это так?), его емкость ?
P.S. К приложенной в посте "Схема с генератором.pdf" неплохо было бы приложить BOM, т.к. на самой схеме никаких номиналов ни у одного элемента нет :(
АлександрПП
05.08.2015, 15:50
Да, это я упустил. Заменил файл схемы.
Да, что-то я сегодня...
Заменил еще раз.
АлександрПП
19.11.2015, 22:30
Решил заменить плату мультикарты платой поменьше.
Нужны ли микросхемы формирования палитр, если нет программ их использующих? Зачем куча портов, если к ним нечего подключать?
Убрал блок видео, порты. Оставил ROM-диск на одной микросхеме EPROM, потом подумал и решил оставить один порт F600.
Получилась маленькая (95 мм Х 95 мм) плата.
Со схемой, как всегда, помог Vladimir_S.
Если есть желающие, присоединяйтесь. Я буду ее делать в любом случае.
http://vb4.zx-pk.ru/market/viewtopic.php?f=7&t=3168&p=30107#p30107
Error404
20.11.2015, 11:48
Если будет порт F600 (кстати, он же в режиме Ориона будет доступен как нормальный F600, без извращений?), то заодно разведите на платке и переходник на IDE (ЛН1+IDC40). Тогда можно будет использовать ПО написанное под эту схему.
Vladimir_S
20.11.2015, 11:52
Error404, Посмотри 3 пост в этой теме.
Error404
20.11.2015, 11:53
Предложения по дизайну принимаете?
АлександрПП
20.11.2015, 11:53
Нормальную схему переходника можно?
О то у меня в псевдографике от "Ориона"
Предложения принимаются любые.
Error404
20.11.2015, 12:01
Error404, Посмотри 3 пост в этой теме.
Там совсем другая же плата, не?
- - - Добавлено - - -
Предложения пока поспевают, чтобы их более точно сформулировать у меня несколько вопросов:
С одной из ВВ55 понятно: это порт F600. А вторая - это РОМДИСК F500? Порт на ТМ8 для выбора РОМ-дисков? Оно что, на ПРО как-то программно переключается (и это программно поддержано)? Смущает что под это выделяется 4 бита, которые содержат не адрес, а битовую маску, из-за чего на 4 ромдиска надо 4 бита (4 триггера) да еще и шифратор.
Vladimir_S
20.11.2015, 12:07
Error404, В орион-про есть плата под 4 диска ОРДОС по 64Кб. Было решение поставить 1 на 256КБ. Шифратор понадобился для получения адресов А16, А17 и сигнала CS.
Error404
20.11.2015, 12:11
Error404, В орион-про есть плата под 4 диска ОРДОС по 64Кб. Было решение поставить 1 на 256КБ. Шифратор понадобился для получения адресов А16, А17 и сигнала CS.
Да, это я понял из схемы. А выбор из какого ромдиска читать - оно программно поддержано? Ведь в идеологии Ордос всегда был только один ПЗУ-диск - это диск А (остальные буквы - диски ОЗУ). И как все диски в Ордос он был размером 64к.
АлександрПП
20.11.2015, 12:20
Конечно, программно это поддержано. Ведь в "Орион-Про" стоит Ordos-Pro.
Выбираются как раз 4 диска, А0-А3. Делается это просто нажатием клавиш 0, 1, 2, 3.
Там же есть поддержка и работы с жестким диском.
Я уже писал, что, видимо, есть ошибка в схеме контроллера жесткого диска и часов.
По тесту отладки все идет, но при проверке диска выходит какая-то ерунда.
Error404
20.11.2015, 12:38
Конечно, программно это поддержано. Ведь в "Орион-Про" стоит Ordos-Pro.
Выбираются как раз 4 диска, А0-А3. Делается это просто нажатием клавиш 0, 1, 2, 3.
Там же есть поддержка и работы с жестким диском.
Я уже писал, что, видимо, есть ошибка в схеме контроллера жесткого диска и часов.
По тесту отладки все идет, но при проверке диска выходит какая-то ерунда.
А Ordos-Pro она и в режиме совместимости с Орионом-128 запускается? Из РОМ-диска F500 (первых 2к как было в Орионе-128) или откуда-то из других ПЗУ?
Т.е. фактически интересует - эта вторая ВВ55 в режиме совместимости с Орионом-128 доступна как порт F500?
А каким портом переключаются 4 ПЗУ-диска, А0-А3?
Схема IDE на ВВ55 во вложении.
- - - Добавлено - - -
Есть такое предложение сугубо по дизайну платы.
В ревизии-512 на плате контроллера дисковода я сделал слепыш и место под разъем SD-карты, саму плату подогнал чтобы установленная в слот она краем с разъемом SD-карты совпадала с краем материнской платы. Собственно, резон очевиден: и сам по себе слепыш для чего угодно полезен (даже небольшой), да и носителей на Орионе не так чтобы много, хочется больше (особенно таких удобных как SD-карта). И например в том случае Ewgeny7 уже опробовал это для простенькой схемы подключения SD-карты: получается удобно для использования и небольших МГТФ-ингов.
АлександрПП
20.11.2015, 12:50
Из РОМ-диска F500 (первых 2к как было в Орионе-128) или откуда-то из других ПЗУ?
Возможны два варианта. Можно в ПЗУ диска разместить Ордос и запускать ее. Т.е., так как в "Орион-128".
Можно запускать Ордос из ПЗУ материнки. Тогда в ПЗУ диска сразу идут нужные программы.
Выбор осуществляется пином 7 переключателя SW-8 на материнке.
Vladimir_S
20.11.2015, 13:45
Тогда в ПЗУ диска сразу идут нужные программы.
А не с адреса 0010?
АлександрПП
20.11.2015, 14:03
Да, верно. Это я как-то упустил.
Vladimir_S
20.11.2015, 14:11
Да, верно.
Тогда еще два вопроса - VC$ на диске должен быть или он есть встроенный и про формат строки 0000 - 000F.
АлександрПП
20.11.2015, 14:45
VC$ тоже встроенный. То есть сразу же идут нужные программы.
Формат диска такой же как и в "Орион-128", за исключением первой строки.
В ней первый байт -EF, далее идут FF. В последнем байте видел два варианта. В первом - FF. Во втором идет номер диска - D1, D2, D3, D4. Но работают оба варианта.
Читал, что авторы хотели использовать строку под служебные байты. Но какие - тайна.
Доброго времени суток.
Вопрос по плате IDE-RTC. Два раза скачивал архив со схемой, проглядел все файлы и все глаза, но так и не смог найти номиналы резисторов и конденсаторов этой платы. Подскажите, кто знает!
АлександрПП
21.12.2015, 01:28
Во вложении post 3.
Раз уж появился интерес к плате IDE-RTC, я добавил её эмуляцию в свой эмуль, в конфигурацию Orion-Pro 2. Образ винчестера с ORDOS6 качать там-же, где и эмуль, положить в каталог Orion/Pro. romdisk с загрузчиком есть в архиве (после запуска выбрать кнопкой на тулбаре). На romdisk-е есть пара утилит, даже fdisk, но в MBR он записывает только таблицу разделов, а загрузочный код оставляет как есть. То есть, если его не было, то его и не будет. Пришлось ручками править образ винта, и записывать простейший код загрузки boot-сектора первого раздела. boot-сектор записывается вместе с файлом ordos.sys при помощи утилиты sg610.com
По плате COM-портов. Совершенно случайно заметил, что микросхемы К170УП2 раскалённые. Обе!
Проверить работоспособность портов пока нет возможности, т.к. нету в наличии античной сериальной мышки, а теста типа loop-back я пока не встречал.
Начал разбираться. В гуглах-яндексах опять проблемы с поиском докумнтации на отечественные мелкосхемы, выдаются только ссылки на оптовые продажи, а из характеристик только содержание драг металлов :)
В итоге нашёл реферат и кое-какую справочную инфу:
http://www.refsru.com/referat-11146-10.html
http://slava37md.narod.ru/K170up2.html
Исходя из этих данных, питание 5 Вольт нужно подавать на 15-ый вывод, а если мы хотим питать от 12 Вольт (зачем такая возможность в ТТЛ-системе, не понятно?), то их нужно подавать на 16-ый вывод и тогда через внутренний стаб микруха сама себе организует 5 Вольт. Смотрю по плате и вижу, что разработчик принял решение "у нас на плату приходят оба питания, подадим сразу оба - не жалко" :) В результате - борьба чьи 5 Вольт точнее: внутреннего стаба или с шины питания, а результаты несправедливости преобразуются в тепло. Солюшн: на обеих микросхемах DD10 и DD11 безжалостно отрезаем дорожки к 16-ым выводам, т.о. убираем ненужные 12 Вольт. После чего микросхемы холодные.
- - - Добавлено - - -
Кстати, если кто будет запитывать свой Орион-ПРО через 4-контактный Molex, то COM-порты работать не будут, потому что для формирования выходных сигналов RS-232 требуется напряжение "-12 Вольт", которых на плате ПРК не будет. Это, конечно, и так очевидно, но мало ли кто-то нарвётся и будет долго искать "ошибку" в плате... :)
Error404
09.01.2016, 19:59
Кстати, а какого из напряжений нет в современных ATX-блоках питания: -5В или -12В ?
Vladimir_S
09.01.2016, 20:03
-5В
perestoronin
09.01.2016, 23:44
И -12В тоже уже нет. Но сначала "пропали" -5В. Но поскольку есть чудо микросхемы преобразователей и есть хорошо знвкомые КР142 и их импортные smd аналоги, а также зная что потребление по -5В и -12В мизер, то имеет смысл эти три чипа поставить на новодельную платку, вместо поиска старого, а потому ненадежного БП.
вместо поиска старого, а потому ненадежного БП.
Если использовать старые БП, то перебирать просто обязательно. Даже не задумываясь менять электролиты, байпасить их плёнкой, очень желательно добавлять дополнительную LC-фильтрацию на вводе. Для питания 8-биток сильно избыточная мощность ATX-БП только в плюс, т.к. можно запитать вентилятор через гасящий резистор от 3..5 вольт и будет практически тишина!
perestoronin
10.01.2016, 03:00
Современные БП вентилятор даже не включают, пока потребляемая мощность ниже 300 Вт.
Дмитрий2012
06.02.2016, 19:29
Тем, кто будет собирать исправленную платку COM-AY обратите внимание на счетчик 1533ИЕ5.При кварце 14МГц на выводе 12 частота будет делится на 16, нам надо на 8. То есть сигнал снимать с 11 вывода счетчика. Так же желательно выводы 1,4,10,13 триггера ТМ2 подтянуть к +5В. Спасибо Denn подсказал про висящие выводы в "воздухе", а то я еще долго бы разбирался с глюками СОМ-портов.
Так же желательно выводы 1,4,10,13 триггера ТМ2 подтянуть к +5В. Спасибо Denn подсказал про висящие выводы в "воздухе", а то я еще долго бы разбирался с глюками СОМ-портов.
Причём, что коварно, на медленных "мышинных" скоростях эти глюки не проявляются, а "вылезают" при определённом сочетании скорости протокола и скорости ЦПУ ПРК!
Всем доброго!
Хочу поделиться интересной доработкой платы COM-Port+AY.
Доработка касается значительного (на порядок!) ускорения порта COM1, что крайне положительно сказывается на обмене файлами через этот интерфейс.
Опытным путём было установлено, что без каких-либо изменений схемотехники платы, предельная работоспособная скорость порта составляет 38400 Бод, что, в общем-то, неплохо. Особенно учитывая, что официально по тех. документации КР580ВВ51 позволяет в асинхронном режиме скорость "до 9600 Бод" :) Т.о. ускорение в 4 раза получилось практически на халяву, если не считать многочасового "секаса" с программной реализацией...
Однако, как говорится, аппетит приходит во время еды, и практика показала, что даже на 4-кратной относительно максимальной по ТТХ скорости, работа с файлами не комфортна. Захотелось большего :)
Основной упор был на минимальное вмешательство в готовую плату и возможность возврата к оригинальному функционалу без паяльника.
Поскольку потенциал ВВ51 по "оверклокингу" был исчерпан на скорости 38400 Бод, было решено взять более быстрый чип с аналогичным функционалом (и распиновкой) - MSM82C51A-2 от компании OKI.
По даташиту заявленый максимум - те же самые 38400 (http://denn.ru/orion/pro/building/82c51(1).jpg), а судя по таймингам сигналов (http://denn.ru/orion/pro/building/82c51(2).jpg) предельная частота главного клока ограничена значением 6,25 МГц. Но я решил попробовать завести на CLK 10 МГц с системного разъёма, на RxC/TxC подать сигнал со стабильного генератора 1,8432 МГц и попробовать работу на скорости 115200 Бод.
К моей радости затея удалась, порт прекрасно работает на такой скорости, и работа с файлами очень комфортная, по субъективным ощущениям практически, как с квазидиском :v2_dizzy_roll:
Тут небольшое "наколенное" видео, демонстрирующее копирование файлов - https://www.youtube.com/watch?v=kfFrYsenWA8
Фото процесса доработки:
До моддинга:
http://denn.ru/orion/pro/building/82c51(3).jpg
Замена КР580ВВ51А на 82C51A-2:
http://denn.ru/orion/pro/building/82c51(4).jpg
Установка стабильного интегрального ТТЛ-генератора на 1,8432 МГц
для тактирования протокола передачи на скорости 115200 Бод:
http://denn.ru/orion/pro/building/82c51(5).jpg
*джампер переключает входы тактирования RxC/TxC (выводы 9 и 25, DD7) между выходом "2,5 МГц" триггера DD4 делителя частоты и выходом генератора, для возможности возврата к старому функционалу.
МГТФ'инг ТТЛ-генератора:
http://denn.ru/orion/pro/building/82c51(6).jpg
В моём случае генератор оказался 3,3-вольтовый, поэтому пришлось сколхозить ему персональный источник питания на стабилитроне:
http://denn.ru/orion/pro/building/82c51(7).jpg
На фото не отражена заводка сигнала "10 МГц" с системного разъёма (3 выв. DD4) на вход CLK (20 выв. DD7). Для этого необходимо перерезать дорожку п/п непосредственно у соответствующего вывода микросхемы порта и кинуть проводом тактовый сигнал 10 МГц.
Для возврата к оригинальному функционалу достаточно перекинуть джампер. Если очень хочется вернуть чип ВВ51А (зачем? о_О), то придётся возвращать тактовый сигнал 2,5 МГц на CLK, т.к. 580-я серия 10 МГц не осилит ни при каких раскладах, тут уже понадобится паяльник.
Что касается программной части. Скорость протокола в ПО задаётся программированием ИМС таймера КР580ВИ53, а в нашем случае скорость задаётся жёстко - аппаратно с помощью заведения в порт такта с генератора. Т.о. в ПО вообще ничего менять не нужно, софт будет "думать", что работает на своей прежней, медленной скорости, а реально данные будут "летать" гораздо быстрее!
АлександрПП
01.03.2016, 17:07
А схемно можно это изобразить?
А схемно можно это изобразить?
Сразу извиняюсь, рисовальщик из меня не очень :) Как-то так:
http://denn.ru/orion/pro/building/82c51(8).jpg
Не стал рисовать делитель из резистора и стабилитрона для 3-вольтовой версии ТТЛ-генератора, думаю для любого паяльщика это не проблема ;) Если кому-то интересно, то у меня по закону Ома получился номинал резистора 15 Ом для стабилитрона 3V6 (1W).
По возможности наверное лучше сразу взять 5-вольтовый генератор.
Любители технопрона могут запросто получить удовольствие заменой интегрального генератора на рассыпушный :) Только его разместить на плате будет сложнее.
Также порадовало, что родной преобразователь сигналов ТТЛ <-> RS-232 на отечественной элементной базе (К170ххх) прекрасно работает на такой сумасшедшей скорости!
П.С. в предыдущий пост добавил видео копирования файлов на скорости 115200
HardWareMan
01.03.2016, 22:26
115200 это теоретически ~14,5Кбайт/с. Даже если будут потери и будет скорость на 12Кбайт/с, все равно чертовски быстро для файлов с типичным для Ориона размером. Подумать только: на скорости 10Кбайт/с рабочая память стандартного Ориона заполнится за ~5 секунд. Это вам не 48 секунд на 9600.
Подумать только: на скорости 10Кбайт/с рабочая память стандартного Ориона заполнится за ~5 секунд.
Надо будет замерить секундомером за сколько сам Орион сможет заполнить свою память, тобишь понять реальный предел возможностей Ориона по приёму данных из порта. А то на писи в софтине доступно значение скорости 256000 Бод - это челендж! :)
Error404
02.03.2016, 12:55
А Тошибовские 82с51 есть возможность проверить? А то OKI раза в полтора дороже и меньше их на Али чем тошибовских.
И вообще, я удивлен ценам на 82с51. С чего бы им быть втрое дороже чем 82c55?
И как на счет замены в новом выпуске плат 170-й серии на MAX232? Например, можно развести так чтобы ставились оба варианта: и для ретро-фанов и для покупающих компоненты на Али. :)
Один хрен плату надо править - сделать универсальную адресацию для AY (к имеющейся добавить спековскую BFFD/FFFD). ПРОшная адресация это конечно проектный фейл.
А Тошибовские 82с51 есть возможность проверить?
У меня теперь порт на кроватке, так что теоретически проверить могу. Практически - тошибовских чипов нет в наличии. Если они "статички" и боль-мень современные, то вероятнее всего взлетят, 10 МГц - это не запредел для новья 10+ летней давности :)
И как на счет замены в новом выпуске плат 170-й серии на MAX232?
А Макс ещё того глядишь далеко не всякий потянет такие скорости :) Там есть с разными буковками и разницами цен на порядок, у них у всех в ТТХ какие-то печальные цифры по макс. быстродействию. Надо плотно изучать вопрос.
Error404
02.03.2016, 13:40
У меня теперь порт на кроватке, так что теоретически проверить могу. Практически - тошибовских чипов нет в наличии. Если они "статички" и боль-мень современные, то вероятнее всего взлетят, 10 МГц - это не запредел для новья 10+ летней давности :)
А Макс ещё того глядишь далеко не всякий потянет такие скорости :) Там есть с разными буковками и разницами цен на порядок, у них у всех в ТТХ какие-то печальные цифры по макс. быстродействию. Надо плотно изучать вопрос.
Да не поймешь - современные ли.
Хочу такие заказать:
http://ru.aliexpress.com/item/Free-shipping-5pcs-lot-TMP82C51AP-2-82C51-DIP28-line-new-original/32517423126.html
Типа 99 год. Хотя могут и перемаркированные быть (как бывает с Z80)
Другие или сильно дороже, или большими партиями (10 и более) или в PLCC. PLCC в среднем вдвое дешевле православного DIP
МАХ-ы у меня какие-то были куплены. Но с ними вопрос открытый: развести вторым вариантом на плате да и попробовать (не потянут - поискать 170-ю серию), и плюс всегда остается еще третий вариант с выходов BB51 на USB на преобразователе, например таком:
http://ru.aliexpress.com/item/In-stock-1pc-Free-Shipping-PL2303-USB-To-RS232-TTL-Converter-Adapter-Module-For-CAR-Detection/32607539392.html
(портов то RS-232 на РС все меньше, а USB пока вроде не выкидывают)
170-я серия ещё продаётся без проблем:
http://www.chipdip.ru/product/170ap2/
http://www.chipdip.ru/product0/25766/
У первой позиции "Есть в наличии более 70 шт." - столько живых орионщиков наверное не наберётся :)
АлександрПП
02.03.2016, 14:53
Дороговато. Я покупаю здесь:
http://www.pricel.ru/shop/index.php?textfind=170%C0%CF2&btfind=%ED%E0%E9%F2%E8
Дороговато.
Переплата за удобный и красивый онлайн-каталог, за "всегда в наличии", за отсутствие "выноса мозга" и прочего геморроя у других магазинов.
АлександрПП
02.03.2016, 15:35
Соглашусь с тем, что в "Чип-Дип" все красиво.
Но и в этом "РадиоВЭБ" я уже сделал 18 заказов за два года и не имею ни одного нарекания. Правда, почтовый трек-код так и не научились высылать. Дважды им напомнил - выслали и снова забыли об этом.
Error404
02.03.2016, 17:16
Буквы у 170-й серии в нашем случае имеют ли значение (К170АП2, К170АП2В, К170АП2ВНУ, К170АП288) - по ссылке Александра их полтора десятка разных выпусков и цен. Какие лучше?
- - - Добавлено - - -
кр580ВВ51 у них есть по 4рубля :) В 20 раз дешевле чем из Тошиба из Китая.
И тоже 20 разновидностей. Может, и там есть некоторые выпуски работающие на 10М? Как бы понять?
- - - Добавлено - - -
А проекты плат COM-AY и IDE-RTC в lay6 имеются?
кр580ВВ51 у них есть по 4рубля :) В 20 раз дешевле чем из Тошиба из Китая.
И тоже 20 разновидностей. Может, и там есть некоторые выпуски работающие на 10М? Как бы понять?
Понять очень просто: у 580-ой серии официальный предел 2 МГц. На практике прокатывает 2,5 МГц, но например с теми же ВВ51 уже начинаются хитрые глюки, приходится вводить программные "костыли" для стабильной работы. 10 МГц за 4 рубля - бесперспективняк ))
HardWareMan
02.03.2016, 18:41
Микропроцессоры и микропроцессорные комплекты интегральных микросхем том 1:
580ВВ51 - период тактовой 320нс или 3,1МГц:
http://savepic.ru/8893933.png
Intel 8080 Microcomputer Systems Users Manual
8251 - период 420нс или 2,3МГц
http://savepic.ru/8847853.png
По процам интереснее, но 2,5МГц были заявлены еще для i8080A.
Error404
06.03.2016, 21:30
Универсальная дешифрация AY на основе синтеза исходной схемы ПРО и вот этой с BFFD/FFFD (http://www.emuverse.ru/downloads/computers/Orion-128/docs/schemes/scr400x256-AY8910.jpg) от Ориона-128 (совместимая с ZX). Добавятся 3 ИМС (ЛИ1, ЛЕ1, ЛА2), работать будут обе выборки портов. Проверяем правильность (помним, что инверсные /RD и /WR на разъеме и схеме ПРО подписаны как прямые):
http://savepic.ru/8871555.gif
- - - Добавлено - - -
Теперь мои хотелки по конструктиву.
Что мы имеем на сейчас: плата COM-AY разведена достаточно неплотно (судя по фотка Дена, где обе стороны есть), дополнительные 3 МСХ легко уместятся на той же площади. Более того, никто не станет впаивать сопроцессор AY (да и 580 серию, раз уж мы подбираем экземпляры под 10 МГц), а значит они в панельке, и если будет нужда съэкономить, то внутри панелек можно поставить прочие элементы.
Правой частью (см. фото) плата COM-AY по моим прикидкам на 6-7 мм не доходит до обреза материнской платы. Нужно продлить плату COM-AY до обреза материнской платы с одной стороны (выверить сколько там), и на 2 см. с другой стороны. Со стороны доп. 7 мм ставим по обрезу (на выход из корпуса) площадки под разъемы USB (мини внутри обычного, к ним ничего не подключено пока, только площадки для пайки проводов - резерв под переходник RS-232<>USB), два DB9M (пускай сразу будут, не всем захочется паять еще и шлейфики от IDC10, один из которых кстати надо подвинуть вправо: неумещаются два рядом, и тянуть их к непонятной планке, когда уже на плате можно нормально впаять DB9M под краевой выход из корпуса) и разъем под 3.5 джек (телефонный, есть очень миниатюрные в продаже) - выход сопроцессора на внешний усилок.
Вот как это может примерно выглядеть: монтажное поле должно заполнять все свободное место и по левому обрезу быть шириной не менее чем в 8 площадок с шагом 2,54 (а лучше 10 площадок) - позволяет ставить любые DIP хошь вдоль (узкие в 2 ряда) хошь поперек. Это не сильно удорожит плату, но полезность ее повысит существенно, ибо не все интересные схемы RS-232 (кстати - не обязательно RS232) на этой плате "искаропки" (а точнее одна и не самая), а попробовать захочется и другие (есть еще как минимум орионовская на AT2313, и Ден на каком-то контролере собирался делать, и у меня в папочке "если дойдут руки" еще есть запасы решений по RS232). Соответственно, дорожки на входы-выходы усилителей 170й серии должны проходить через "разрезные контакты" - когда между двумя площадками можно сделать порез чтобы отключить ВВ51 от усилителей и подключить к ним что-то другое а потом легко восстановить как было, соединив площадки обратно проводничком или соплей олова.
http://savepic.ru/8890050.jpg
Т.е. на выходе имеем нормальный конструктив интерфейсной платы с разъемами выходящими наружу, искаропки схемное решение "старая классика", но возможно и допиливать на монтажном поле, а эстетствующие и археофилы оскорбляющее взгляд монажное поле вообще отрезать смогут (как и не впаивать DB9m, а тянуть шлейфики на планку).
И продолжу мысль: аналогично вышеописанному, на плате IDE-RTC хотелось бы видеть примерно таких же размеров монтажное поле и площадку под разъем SD-карты, выходящий к обрезу платы (т.е. из корпуса) - как это было на контроллере НГМД в Орионе-ревизии512. Чтобы была возможность паять разные схемы контроллера SD-карты (их как минимум трое известно - разной степени сложности), не занимая под это дело еще одного системного слота. Да и логично это: разместить контроллер SD-карты на плате IDE.
- - - Добавлено - - -
Плата IDE-RTC
Собрана по схеме Михаловского В.Ф. Прообраза печатной платы обнаружено не было, скорее всего, его и не существовало.
Плата собрана и проверена в том объеме, насколько это возможно. Тест жесткого диска проходит полностью, но дальше работа встала из-за недостатка программного обеспечения.
Часы работают, время выводится на экран при запуске Power Commander в режиме "Орион-128". Включение-выключение вывода времени производится клавишей "О".
Есть недостаток: при вставленной батарейке и запущенных часах компьютер при холодном старте зависает.
Скорее всего здесь, как и в плате COM-портов проблема связана с прерываниями. Есть некоторые ухищрения, позволяющие это обойти, но они проблемы не решают, т.к. при этом работает не вся схема, а только часы.
Может кто-нибудь найдет решение проблемы.
ВНИМАНИЕ!!! На плате есть две ошибки. 1. Надо поменять местами R7 и C6.
2. Не предусмотрены блокировочные конденсаторы. Напаять на выводы микросхем.
У меня вопрос: правильно ли я понял, что плата разведена под SMD-пассивные элементы? Какая в этом необходимость? Можно ли развести под выводные? Или например - выводные установленные вертикально в отверстиях с шагом 2,54: к таким площадкам можно и smd припаивать.
АлександрПП
06.03.2016, 21:42
правильно ли я понял, что плата разведена под SMD-пассивные элементы? Какая в этом необходимость? Можно ли развести под выводные?
А кто его знает, почему я так сделал. Стремился сделать маленькую плату. Заменить нет проблем.
выводные установленные вертикально в отверстиях с шагом 2,54
Так и сделаем.
Тут вспоминается такая история. В.С.Высоцкого спросили: "Почему Вы в своей песне поменяли слова?" Он ответил: "Моя песня, что хочу, то и делаю".
Так и мы поступим.
По поводу SMD-рассыпухи на плате IDE-RTC. В своём время я как-то не придал этому значения, а сейчас решил спаять эту плату и столкнулся вот с каким сюрпризом... там нужно совсем небольшое кол-во резисторов/конденсаторов, но все они разных номиналов. Я в своей практике не использую SMD-компоненты, поэтому запасов таковых нет вообще, т.е. всё надо покупать. А при покупке выяснилось, мало того, что стоимость этих деталей достаточно высока (~10 руб/шт.), так ещё и норма отпуска не менее 10 шт. Т.е. мне нужен один резистор, а покупать я вынужден десять, т.к. меньшее кол-во не купить. В итоге мне насчитали 1150 руб за резисторы/конденсаторы/диоды. Я счёл это совершенно неразумным и от заказа отказался. Напаивать на SMD-контакты обычные выводные детали я не представляю возможным. В итоге плата легла на полку собирать пыль ((
АлександрПП
06.03.2016, 22:37
стоимость этих деталей достаточно высока (~10 руб/шт.),
Странно, где такие цены берутся.
Конечно, я тогда не подумал, что не у всех есть детали SMD. Я их паяю как раз много. По-этому заказал у братьев из Китая наборами по номиналам.
Но я уже понял свою ошибку,исправлюсь.
Error404
06.03.2016, 23:11
Вопрос народу:
В схеме от ZX/Ориона128 (http://www.emuverse.ru/downloads/computers/Orion-128/docs/schemes/scr400x256-AY8910.jpg) ножка AY с сигналом A8 заведена на сигнал A13 шины адреса ПК. В схеме ПРО она заведена на Vcc. Это что за нога - для чтения каких-то регистров? Не регистров ли портов IO? Вывели же ее зачем-то, может какие-то автодетекты наличия в ПК AY-ка в те регистры лазают?
И кстати, нам не нужны порты ввода/вывода с AY, выводить их с платы не будем? Что-нить типа IDC18 по краю рядом с AY?
Странно, где такие цены берутся.
Я обычно всегда покупаю детали тут - http://micronika.ru/order.phtml?vid=02.03.08
Честно говоря, был в шоке от цен на SMD-компоненты.
АлександрПП
07.03.2016, 00:06
Дешевле. И вышлют на следующий день после заказа.
http://ekits.ru
http://chip-nn.ru/58.php
Заказываю здесь, когда срочно надо. Рядом с домом.
А мультикарту 1:1 авторскую с палитрой планируется выпустить? Софт же есть...
АлександрПП
07.03.2016, 00:27
Сделать можно. Там уже есть два заказа, набрать пять и уже есть смысл. Правда есть мысль ПЗУ заменить, оставить схему формирования палитр и разобраться с портами.
После праздников обновлю предложение на заказ плат и будем собирать желающих.
Был долгий перерыв, т.к. было желание обновить платы. Подключились ERROR404 и DENN и дело пошло веселее. До заказа уже не далеко.
Вобщем, на авторские (или близкие к ним) платы мультикарты, электронного диска и AY подпишусь :)
Error404
07.03.2016, 08:56
Вопрос народу:
В схеме от ZX/Ориона128 (http://www.emuverse.ru/downloads/computers/Orion-128/docs/schemes/scr400x256-AY8910.jpg) ножка AY с сигналом A8 заведена на сигнал A13 шины адреса ПК. В схеме ПРО она заведена на Vcc. Это что за нога - для чтения каких-то регистров? Не регистров ли портов IO? Вывели же ее зачем-то, может какие-то автодетекты наличия в ПК AY-ка в те регистры лазают?
В-общем, какая-то еще одна нога для адресации регистров AY. Наверное, можно оставить на Vcc как и было на ПРО.
http://savepic.ru/8877593.gif
Error404
15.03.2016, 12:28
Коллеги, такой вопрос. Кто-нибудь сравнивал на реале ПРО работу эмулятора MSX от ivagor (http://zx-pk.ru/showthread.php?t=13744&p=632359&viewfull=1#post632359) с платой палитр и без нее (естественно оба раза с соответствующим бинарником эмулятора MSX)? Или может сравнить? А если ролик на ютюб запилить, так и вообще было бы супер. Изучаю вопрос насколько нужна плата палитр: пристойно ли пойдут игрухи MSX без нее.
АлександрПП
15.03.2016, 15:22
По поводу SMD-рассыпухи на плате IDE-RTC.
Внес изменения в плату. Заменил SMD детали на обычные. Также внес изменения в плату, предложенные DENN и ERROR404.
- - - Добавлено - - -
Кто-нибудь сравнивал на реале ПРО работу эмулятора MSX от ivagor с платой палитр и без нее
По-моему этим плотно занимался Дмитрий2012.
Коллеги, такой вопрос. Кто-нибудь сравнивал на реале ПРО работу эмулятора MSX от ivagor с платой палитр и без нее (естественно оба раза с соответствующим бинарником эмулятора MSX)? Или может сравнить? А если ролик на ютюб запилить, так и вообще было бы супер. Изучаю вопрос насколько нужна плата палитр: пристойно ли пойдут игрухи MSX без нее.
У Prusak'а пробовали когда-то, разница была. Без палитр я на своём орионе пробовал гонять, не оч...
АлександрПП
15.03.2016, 16:18
Тут основная проблема в том, что изображение выходит бледноватым. Я пробовал поставить резисторы делителей как в Векторе, изображение стало ярче, но все равно хуже чем с видевыхода ПК. Доработать этот узел и можно делать почти как есть. На мой взгляд в мультикарте основная проблема в наличии нескольких портов. Вот нужны ли они?
Тут основная проблема в том, что изображение выходит бледноватым.
Ага, картинка ощутимо бледнее, это факт...
Если без особенностей реала, то отличия версий imsx с палитрой и без такие:
1. В версии с мультикартой цвета весьма похожи на msxные. В т.ч. это касается наличия трех градаций красного, а без палитры будет только две.
2. Версия с мультикартой чуть-чуть (невооруженным глазом незаметно) быстрее, т.к. там при обновлении экрана нет перекодирования цветов по таблице.
Error404
19.03.2016, 16:29
А приличные игрухи есть? Ну типа не как ZOO или Сокобан на Спеце/Орионе, а класса спектрумовских фирменных (типа адаптаций оттуда на Орион)?
Есть неплохие, но очень хороших нет. Очень хорошие (в т.ч. коверсии со спека) используют прямое обращение к портам и в эмуляторе не заработают.
Error404
15.04.2016, 17:27
А есть в природе отдельно списки элементов для плат IDE-RTC и AY-RS232?
Чтобы не шерстить схемы, а тупо скопировать в заказ. Интересуют по возможности последние редакции интерфейсных плат.
АлександрПП
31.05.2016, 00:05
Добавил информацию в сообщения 2 и 3.
Камрады, а есть где-нибудь информация по застолблённым адресам портов уже имеющейся периферии для Ориона-ПРО?
В доке от авторов сказано: 30-9Fh - резерв для плат расширения (будет объявляться с выходом конкретной интерфейсной платы).
Ещё удалось найти инфу по портам RS-232 и AY:
30H - регистр данных ВВ51 "COM1" (DD7)
31H - регистр управления ВВ51 "COM1" (DD7)
34H - регистр данных ВВ51 "COM2" (DD8)
35H - регистр управления ВВ51 "COM2" (DD8)
38H - счетчик 1 ВИ53 (DD6)
39H - счетчик 2 ВИ53 (DD6)
3AH - счетчик 3 ВИ53 (DD6)
3BH - регистр управления ВИ53 (DD6)
3EH - запись данных музыкального процессора (DD9)
3FH - чтение данных музыкального процессора (DD9)
3FH - запись номера регистра музыкального процессора (DD9)
Собственно интересуюсь с целью застолбить 8(16) байт под быстрый порт 16C550, и не хотелось бы пересечься с чем-то уже существующим.
Error404
18.06.2016, 14:45
Еще известно такое:
;registy kontrollera HDD-RTC
DTARTC:EQU 50H ; dannye CMOS
ADRRTC:EQU 51H ; adres CMOS
ASTAT:EQU 56H ; alxt.registr sostoqniq
SYS:EQU 56H ; registr uprawleniq
DATAH:EQU 57H ; st.bajt registra dannyh
DATAL:EQU 58H ; ml.bajt registra dannyh
ERROR:EQU 59H ; registr o{ibok
PROPE:EQU 59H ; registr swojstw
SECTNM:EQU 5AH ; s~et~ik seektorow
SECTOR:EQU 5BH ; registr sektora
CYLLOW:EQU 5CH ; ml.bajt nom.cilindra
CYLHI:EQU 5DH ; st.bajt nom.cilindra
HEAD:EQU 5EH ; registr golowki i ustrojstwa
STAT:EQU 5FH ; registr sostoqniq
COMAND:EQU 5FH ; registr komand
Так что возможно в диапазоне 40..4F тоже что-то было или планировалось.
Занимай 60..6F. Думаю, пойдет.
Так что возможно в диапазоне 40..4F тоже что-то было или планировалось.
Занимай 60..6F. Думаю, пойдет.
Но ведь и в 60..6F тоже могло что-то быть или планироваться :)
Пожалуй, оккупирую 70..7Fh, там точно никого не должно быть:
70..77h - порт COM3 (БИС 16C550), коммуникация с "внешним миром";
78..7Fh - порт COM4 (БИС 16C550), резерв "для чего-нибудь ещё";
и заначка:
80..84h - RAM-диск 1 Мб (СОЗУ 2х512 Кб);
88..8Fh - SDHC (на МК).
Error404
18.06.2016, 19:57
80..84h - RAM-диск 1 Мб (СОЗУ 2х512 Кб);
но ведь под расширение ОЗУ уже есть штатный порт страниц 08h (на v3.20 еще и порт F9 расширен)? На ВВ55 и ножки есть свободные для дополнительных страниц по 64к (более штатных восьми страниц), и что-то там для этой платы расширения уже выведено на слот SYSTEM0. Основной плюс использования этого порта в том, что в этом случае расширенная память работает непосредственно в адресном пространстве процессора, и ее можно использовать не только как РАМ-диск, но и для выполнения программ (например под процессы для Юзикс или драйвера других ОС). Понятно, что в наше время делать ее надо на статике - удобно, да и РУ7 уже недоставаемы.
РАМ-диски на внешних портах с доступом по OUT этой возможности лишены и нынче при наличии емких носителей (IDE/SD/CF) ценность обособленного РАМ-диска упала (это в 90х его использовали вместо винчестера с автомобильным аккумулятором - реальный пример из моей жизни). Из-за этого я плату РАМ-диска и заказывать не стал (тем паче что там вагон и тележка РУ7).
Ну и мелкие плюшки типа более высокого быстродействия у памяти в адресном пространстве, чем с доступом к ней через порты.
Error404, штатный пусть останется на своих адресах, это другая тема. Диск на статике нужен для: 1) выполнения функции "винчестера", т.е. перезаписываемого диска, на котором будет храниться (в т.ч. при выключении питания) конфигурационная инфа для ПО, 2) промежуточного безопасного хранения рабочих файлов, 3) возможности работы с информацией объёмом примерно с дискету (штатного квазидиска не всегда хватает, например нужно собрать образ ром-диска или временно разместить содержимое дискеты и т.п.).
Исполнение кода в диске не требуется, суперскорость тоже. Решение уже разработано и отлажено. Доступ не через ВВ55 конечно, а для ускорения применён автоинкремент адреса, так что как диск вполне быстрый.
Киньте пожалуйста в меня файлик в lay или подобном ROM-диска из первого поста. Хочется уже что-нибудь запустить, а не с чего...
Error404
18.07.2016, 22:17
Киньте пожалуйста в меня файлик в lay или подобном ROM-диска из первого поста. Хочется уже что-нибудь запустить, а не с чего...
Дисковод подключи. :)
АлександрПП
18.07.2016, 22:43
Киньте пожалуйста в меня файлик в lay
Добавил. Только он в DipTrace, я работаю в этой программе, ну или в Altium Designer.
Дисковод подключи. :)
вот так :(
Стал смотреть плату AY версии 2016.3, нашел непонятные проводники. Первый - петля, второй - идет от разъема и обрывается. Может еще чего не заметил...
5763957640
АлександрПП
22.07.2016, 21:02
Посмотрел. Да, косяки мои. Дело в том, что плата доделывалась и переделывалась вдогонку уже сделанному заказу. Сергей внес последние изменения и я корректировал в спешке. Провел проверку DRC, сравнил со схемой. Программа ошибок не дала.Подправил, что успел и отправил изготовителю.
Петля - след от прежней трассировки. Оборванный проводник - то же самое. Там вначале шел вывод на А11, потом он не понадобился. Убрал не до конца.
Что тут скажешь? Виноват!
OrionExt
22.07.2016, 21:25
...трассировки...
А было чего там трассировать? Схему плиз
АлександрПП
22.07.2016, 21:40
Так ведь она во втором сообщении.
Error404
22.07.2016, 22:04
Петля - след от прежней трассировки. Оборванный проводник - то же самое. Там вначале шел вывод на А11, потом он не понадобился. Убрал не до конца.
Что тут скажешь? Виноват!
Так в итоге этот проводник который никуда не идет - ненужный? Т.е. ни на что не влияет? Или ошибка там из-за которой могут быть артефакты?
Я к чему: тот наш диалог когда хромала адресация AY после доработки на смешанную (+Спек) схему дешифрации, и не было записи в порты ПРО - в итоге чем все закончилось? Последнее что тогда я писал - вот такая коррекция в схему дешифрации AY (чтобы убрать влияние половинок схем друг на друга при неактивности), пробовали ее?
http://savepic.ru/10590742.gif
PS. Я дико извиняюсь, но В ДВИЖКЕ ФОРУМА ГЛЮЧИТ РЕЖИМ SPOILER, поэтому картинку прямым текстом вставил.
АлександрПП
22.07.2016, 22:50
тот наш диалог
Тогда все на этом и закончилось. Я надолго уехал. . Вот только появился дома у платы и паяльника. Начинаю разбираться.
Завтра на свежую голову я опишу процесс изменений и вышлю в личку.
Будем дальше разбираться.
А11 дорожка никуда не идет. Если помнишь, сначала был другой вариант дешифрации, использование линии А11, потом он изменился. Я, видимо, в плате исправил, но часть дорожки осталась.Проверка ее не видит, т.к. нет второй точки соединения. Да и спешил, чтобы успеть дать изменения изготовителю, пока он не начала делать платы.
Значит плату AY+COM 2016.3 еще никто не собирал?
АлександрПП
23.07.2016, 10:29
Эта плата отличается от предыдущей только дешифрацией AY, ее предложил изменить Error404. Остальное без изменений.
Я ее спаял, но AY не "запела". Что-то не совсем точно с дешифрацией. Отладить не успел, т.к. дела заставили уехать.
Эта плата отличается от предыдущей только дешифрацией AY, ее предложил изменить Error404. Остальное без изменений.
Я ее спаял, но AY не "запела". Что-то не совсем точно с дешифрацией. Отладить не успел, т.к. дела заставили уехать.
Как с отладкой?
OrionExt
29.07.2016, 18:53
Тама ток дешифрация ZX. Подозреваю)
Error404
29.07.2016, 23:15
Идея была в том чтобы оно работало по ИЛИ.
ksanf(138)
31.07.2016, 12:04
Плату AY-COm собрал, музыка запела , в плеере AYPLAY$, но я так понимаю ,в этом плеере обращение по "прошному" происходит, через порты.
Никто не подскажет, чего бы заюзать для проверки Спектрумовской дешифрации?
А схема AY есть? В последней версии платы немного поменяно, в частности чего за кварцы стоят?
ksanf(138)
31.07.2016, 12:10
Усё ж в шапке! Только маленьких деталек номиналов не нашёл, пришлось покумекать.
Дмитрий2012
31.07.2016, 12:19
Плату AY-COm собрал, музыка запела , в плеере AYPLAY$, но я так понимаю ,в этом плеере обращение по "прошному" происходит, через порты.
Никто не подскажет, чего бы заюзать для проверки Спектрумовской дешифрации?
Вот игрушки, использующие спектрумовскую дешифрацию.
ksanf(138)
31.07.2016, 12:33
Кварцы, кварцы... Ах, кварцы! Ну один 14 МГц, другой 1,8 Мгц (1,78)
- - - Добавлено - - -
Не поёт чего то. По Спектрумовски то.
Error404
31.07.2016, 12:56
Вот игрушки, использующие спектрумовскую дешифрацию.
"Адаптированы с MSX на Орион-ПРО". Ни там ни там AY не выбирается по BFFD/FFFD, сомнительно чтобы при адаптации они переделывали на порты вообще третьем схемы (Спека). Лучше выбрать что-то из чистяковских адаптаций от Спектрума или unipl* из-под Альтаир-дос. Еще были плееры для ACPM. В-общем, что-то что изначально не оносится ни к MSX ни к Ориону-ПРО с его "сделано не нами".
- - - Добавлено - - -
Не поёт чего то. По Спектрумовски то.
Вот эту доработку (http://zx-pk.ru/threads/25327-periferiya-quot-orionpro-quot.html?p=879426&viewfull=1#post879426) пробовали? Добавить D2.1 и D2.2 (красные связи). Смысл - уменьшить взаимовлияние двух схем дешифрации. Плюс надо тупо проверить всю часть относящуюся к ZX: ее добавляли в последний момент перед заказом на производство.
ksanf(138)
31.07.2016, 13:08
Список деталей COM-AY где взять?
Error404
31.07.2016, 13:10
Список деталей COM-AY где взять?
Ты же пишешь что уже собрал ее?
ksanf(138)
31.07.2016, 13:18
Ты же пишешь что уже собрал ее?
Ну да. По шёлку. А сейчас не видно где чего. Блин, как я запарился мелочёвку тулить! Но, вроде ничё, работает.
АлександрПП
02.08.2016, 23:24
музыка запела , в плеере AYPLAY$
Добрался наконец-то до паяльника. Поставил собранную ранее новую плату COM-AY.Работает этот же плеер, программа авторов demo$. Тест по-прежнему пишет, что нет микросхемы. Ну и хрен с ним.
чего бы заюзать для проверки Спектрумовской дешифрации?
Аналогичный вопрос.
Error404
03.08.2016, 13:08
Сообщение от ksanf(138) Посмотреть сообщение
чего бы заюзать для проверки Спектрумовской дешифрации?
Аналогичный вопрос.
Проще всего - игрушками с этого диска (http://zx-pk.ru/threads/22389-orion-pro-sborka-i-naladka.html?p=879215&viewfull=1#post879215). Надеюсь, какие-то из них запустятся и на ПРО. :) На этом же диске есть резидентный плеер для трекерных SND,ASM,ST,STM форматов файлов - USER_15\unipl2.com, но нет самих файлов - их надо взять с других дисков, например из архива во вложении. В архиве есть плеер PLAY.COM (нерезидентный), он для Альтаир-ДОС или ACPM т.к. использует ESC-коды стандарта 480С (в ПРОДОС почему-то не играет, не говоря о том, что в ПРОДОС искейпы драйвера экрана внедрены по принципу "сделано не нами"), проигрывает только ST,STM.
Дмитрий2012
05.08.2016, 21:17
Не знаю куда лучше запостить, оставлю здесь. Проигрыватель unipl2.com для тех, кто не будет собирать доработку для спектрумовской дешифрации.
Дмитрий2012
07.08.2016, 15:34
Решил еще раз вернуться к контроллеру IDE-RTC. Надо все-таки настраивать платку. Имеющиеся тесты она не проходит. На этот раз решил посмотреть, что все-таки читается в память с жесткого диска. Для этого у нас на прошке есть режим загрузки системы с жесткого диска. В моем случае, в качестве диска использовал компакт флеш карту с записанным образом Альтаир-ДОС. Так вот, информация с диска читается, но как-то странно. Считанные контроллером с диска младший и старший байты повторяются два раза подряд. Может у кого из схемотехников будут какие-нибудь предположения почему так может происходить? А еще лучше, чтобы кто-нибудь из спецов проанализировал схему, может в схеме остались ошибки?
Также нашел исходник, в котором есть участок кода работы с жестким диском. Хорошо бы программист еще посмотрел бы этот код, может чего в нем намудрили, и возможно платка у нас рабочая, а проблема в «корявом» софте?
Error404
07.08.2016, 23:02
Так вот, информация с диска читается, но как-то странно. Считанные контроллером с диска младший и старший байты повторяются два раза подряд. Может у кого из схемотехников будут какие-нибудь предположения почему так может происходить? А еще лучше, чтобы кто-нибудь из спецов проанализировал схему, может в схеме остались ошибки?
Также нашел исходник, в котором есть участок кода работы с жестким диском. Хорошо бы программист еще посмотрел бы этот код, может чего в нем намудрили, и возможно платка у нас рабочая, а проблема в «корявом» софте?
Сдается мне, надо в низовых подпрограммах чтения и записи блока с IDE тупо забить nop-ами одно лишнее чтение/запись и один лишний инкремент адреса по буферу. Разбираться - дольше. Остальное похоже работает, прочие блоки (кроме первого) же читаются?
- - - Добавлено - - -
Кстати, по исходнику с HDD читается 512 байт. Не понятно с чего бы там читаться задвоенному. Разве только железка по обращению к DATAL/DATAH (58H/57H) где-то не формирует целый импульс, а только половинку (и происходит двойное чтение того же слова, что и на предыдущей итерации). А после второй половинки управляющего импульса (когда мы уже второй раз читанули оттуда слово), HDD выдает из регистра следующее слово сектора.
OrionExt
07.08.2016, 23:03
Интересненнько. Читать одинаковые 8-bit. С портов 2-х)
HardWareMan
08.08.2016, 07:39
Насколько я помню, конвертер 8-16 сделан обычно на 1 двухстороннем регистре и шинном формирователе. Регистр доступен всегда. По направлению к HDD данные записываются в любое время процессором, по направлению от HDD считываются в любое время. При обращении к шинному формирователю, формируется однократное обращение к регистру данных 16 бит, используя данные из вышеупомянутого регистра (для D8-D15) и шины через шинный формирователь (для D0-D7). Таким образом, при записи в HDD, сначала заполняются данные для D8-D15 в регистре расширения, потом пишутся в D0-D7. А при чтении следует делать наоборот: сначала считывать D0-D7, а потом забирать данные D8-D15 из регистра. Нарушение порядка приводит к дублированию байт. а теперь скажите мне, прав ли я конкретно в вашем случае?
Error404
08.08.2016, 08:24
а теперь скажите мне, прав ли я конкретно в вашем случае?
Так посмотри, схема в первом посте :)
Я эти "англофильские" схемы с круглыми элементами где только ножки подписаны, читать не могу на физиологическом уровне.
HardWareMan
08.08.2016, 10:49
Я эти "англофильские" схемы с круглыми элементами где только ножки подписаны, читать не могу на физиологическом уровне.
Я тоже.
http://savepic.ru/10857547.png
Как я и думал. Более того, буфер младших данный не отключается! И при чтении он потенциально может создавать конфликт шины. Я понимаю экономисты, но должна быть мера во всем. Кто проектировал эту ересь?
Error404
08.08.2016, 14:09
Как я и думал. Более того, буфер младших данный не отключается! И при чтении он потенциально может создавать конфликт шины. Я понимаю экономисты, но должна быть мера во всем. Кто проектировал эту ересь?
Эта схема пришла из тьмы веков. Как впрочем и софт ПРО-шный.
HardWareMan
08.08.2016, 14:38
Ну тогда Фанта.
Дмитрий2012
08.08.2016, 19:04
Эх, значит все-таки косяк в схеме :(
Схему, если я правильно понял, проектировал Михаловский. По крайней мере его инициалы изображены на ней. Схема конечно не идеальна, как писал HardWareMan , но она точно работала, так как Михаловский написал еще свою ОС ОРДОС6 c поддержкой именно этого контроллера. Этот же контроллер был у Пушкова, и у него он работал. Я предполагаю, что при перерисовки в оригинал схемы были внесены ошибки, которые нам необходимо найти и обезвредить:) С ошибками в схемах мы уже сталкивались когда запускали платку COM-AY, здесь видимо та же история…
HardWareMan, надеюсь Вы поможете найти ошибки в схеме и запустить платку:)
Приложил к сообщению оригинал схемы, ужасного качества. Другого не существует в природе.
HardWareMan
08.08.2016, 19:47
Да нет, все верно. Буфер бьет по шине IDE при попытке чтения. Единственное, что может оправдать такое подключение, это вероятное гашение старшего байта в интерфейсе IDE при обращении к 8ми битным регистрам (все регистры, кроме регистра данных). Если диски это обязаны поддерживать, тогда претензий нет.
АлександрПП
08.08.2016, 20:17
Я эти "англофильские" схемы с круглыми элементами
Сделал схему в русском варианте.
- - - Добавлено - - -
Схему, если я правильно понял, проектировал Михаловский. По крайней мере его инициалы изображены на ней. Схема конечно не идеальна, как писал HardWareMan , но она точно работала, так как Михаловский написал еще свою ОС ОРДОС6 c поддержкой именно этого контроллера. Этот же контроллер был у Пушкова, и у него он работал. Я предполагаю, что при перерисовки в оригинал схемы были внесены ошибки, которые нам необходимо найти и обезвредить С ошибками в схемах мы уже сталкивались когда запускали платку COM-AY, здесь видимо та же история…
Абсолютно верно!
Error404
08.08.2016, 21:21
Эх, значит все-таки косяк в схеме :(
Схему, если я правильно понял, проектировал Михаловский. По крайней мере его инициалы изображены на ней. Схема конечно не идеальна, как писал HardWareMan , но она точно работала, так как Михаловский написал еще свою ОС ОРДОС6 c поддержкой именно этого контроллера.
Там просто мог быть другой драйвер, не известно исходники те ли.
Для начала попробуйте исходный вариант
LD B,00H ; dlq ob'ema 512 bajt
CONRD:IN A,(DATAL) ; ~it.ml.bajt
LD (HL),A ; zapisx w bufer
INC HL
IN A,(DATAH) ; ~it.st.bajt
LD (HL),A ; zapisx w bufer
INC HL
DJNZ CONRD ; ne wse
поменять на
LD B,00H ; dlq ob'ema 512 bajt
CONRD:
IN A,(DATAH) ; ~it.st.bajt
LD C,A
IN A,(DATAL) ; ~it.ml.bajt
LD (HL),A ; zapisx w bufer
INC HL
LD (HL),C ; zapisx w bufer
INC HL
DJNZ CONRD ; ne wse
Возможно там то что писал HardWareMan - байты не в том порядке читаются из-за чего выходит задвоение
ksanf(138)
09.08.2016, 00:10
Ну не знаю, ребят. У меня загрузчик (Прошный) нормально читает в 0b000h без повторов, вроде вразумительный код...
https://drive.google.com/open?id=1ZPWFLzEICOheUdtFeSXzFISy40g5aI7svw
https://drive.google.com/open?id=1MDxVSqgpgYX34MlzfObxzh3mox0giqQaKw
Там слайды...
Error404
09.08.2016, 00:20
Напишите детали.
Какой загрузчик? (программа и версия)
Какая версия контроллера, их было разных (в т.ч. плата какого выпуска - партии)
Какой именно код читается с какого именно устройства (IDE? CF? что и чем писалось)
ksanf(138)
09.08.2016, 02:19
Загрузчик встроенный в БИОС Про, включается вторым дипом.
Контроллер Ide RTC последняя партия.
Образ на диске - фузикс вроде. Четыре раздела.
Писалос HddUtil.
Железяка ide saegate barracuda st131... 160 Гб.
- - - Добавлено - - -
Мдаа уж... Вы заметили,коллеги? Каждый нечётный байт норовит единицами забитым быть!
В WinHexe несколько другая картина...
По ходу тут дело в защёлках (ИР23) старшего байта на чтение. защёлкивание происходит в момент положительного перепада(выбор регистра IDE), данные возможно ещё не готовы. Кондер моть подпаять.
ps Вот почему они дублируются это воще загадка века.
LeoN65816
09.08.2016, 07:05
А как смапированы (как определены в исходниках) в адресное пространство ориона основные регистры IDE 1F0-1F7 и альтернативные 3F6-3F7, и особенно старший байт регистра данных (основных регистров)?
По (оригинальной) схеме: старший байт данных для записи пишется в защелку DD11 при записи в регистр IDE 3F7 (Орион-порт #57), в IDE не используется. Он же выдается на шину IDE при записи в любой основной регистр IDE 1F0-1F7 (Орион-порты #58-5F). Старший байт данных для чтения пишется в защелку DD10 при чтении и записи (!!!) основных регистров IDE 1F0-1F7, и выдается на шину Ориона при чтении альтернативного регистра адреса привода IDE 3F7 (Орион-порт #57), при этом шина IDE забивается буфером DD12.
Получается, все должно работать "чики-пуки".
ksanf(138)
09.08.2016, 09:55
Регистры IDE адресуются тремя линиями адреса (а0-а2) и двумя линиями выборки чипа (cs1,cs3). Адресация типа "1f7-3f7" - уже дешифрация конкретной платформы (PC).
Далее. В Прохе IDE отведены порты 56H-5FH, где 56h - альтернативный регистр состояния, а остальные-остальные. (которые ,кстати 8-разрядные ,кроме регистра данных):)
Защёлкивание мне чего то не нравится. Особенно регистра старшего байта данных на чтение. Защелкивание происходит сразу при обращении, но винт ещё может немного думать...
ps Кстати на оригинальной схеме (археологической))) защёлка регистра старшего байта данных - CS1 (выборка IDE),а на новой -наоборот!
Это надо так?
HardWareMan
09.08.2016, 10:50
Одинаково там.
ksanf(138)
09.08.2016, 10:56
Там это где? У меня тут две схемы, стара и новая в pdf. На старой (IDE - оригинал ) вывод 11 регистра - линия CS1.
На новой в pdf 11 нога регистра - RD1.
И где ж тут,батенька, одинаковость? А вернее спросить, как правильно то должно быть?!
Хм.. В архиве действительно аналогично. Смотрел схему dip-trace которая.
зы Можа её на ИР22 перепаять,а? Эх, доберусь я до паяльника...
LeoN65816
09.08.2016, 11:40
зы Можа её на ИР22 перепаять,а?
Хм-м-м, и будет в этом регистре все что угодно только не реальные данные чтения...
Надо: TRD и RD заORить на свободном D4.3 и подать на 11 ногу D10.
Еще лучше: (TRD or RD or A0 or A1 or A2) -> D10.11
ksanf(138)
09.08.2016, 12:13
Ну, та же пися, только сбоку... Нам надо чтобы в момент положительного перепада на 11 ноге регистра данные на шине ide уже были!
А не в тот момент , когда эти данные формируются.
LeoN65816
09.08.2016, 12:22
Защелкивание происходит сразу при обращении, но винт ещё может немного думать...
Нет. Защелкивание происходит в конце импульса обращения (активный низкий уровень nCS1).
Ну, та же пися, только сбоку...
Ошибаешься...
Нам надо чтобы в момент положительного перепада на 11 ноге регистра данные на шине ide уже были! А не в тот момент , когда эти данные формируются.
Да винт-то однозначно успевает (раз уж PIO4 поддерживает), а вот Ориончик не вовремя защелкивает...
А есть у кого диаграмма с сигналами nRD, nWR, nIORQ, nMEMRQ применительно к Ориону?
ksanf(138)
09.08.2016, 15:11
Ну-ну, друг мой, не надо пены. Защёлка по положительному перепаду. И это же выборка IDE.
Да, надо времянки смотреть, особливо IDE.
Глянем, чо. Лампы нагреются.
Дмитрий2012
09.08.2016, 19:01
Там просто мог быть другой драйвер, не известно исходники те ли.
Для начала попробуйте исходный вариант
Пока не могу это проверить. Сам буду долго в прошивке эти места искать и менять код.
Видимо дело все-таки в железе, так как драйвера скорее всего были одни и те же, ПЗУ с биос тоже не менялось. В эмуляторе Emu с теми же драйверами и ПЗУ контроллер работает (эмулируется) нормально, доступ к HDD есть, тесты HDD выполняются без ошибок.
Ну не знаю, ребят. У меня загрузчик (Прошный) нормально читает в 0b000h без повторов, вроде вразумительный код...
https://drive.google.com/open?id=1ZP...FISy40g5aI7svw
https://drive.google.com/open?id=1MD...zh3mox0giqQaKw
Если на диск писался образ HDD диска с uzix, то похоже читается мусор какой-то. Правда повторов как у меня не наблюдается.
ksanf(138) а с компакт флеш картой нет возможности проверить работу контроллера?
Надо: TRD и RD заORить на свободном D4.3 и подать на 11 ногу D10.
Попробовал, у меня ничего не изменилось. Данные с диска читаются правильные, но дублируются.
PS: ранее в другой теме я уже писал, что с установленной в контроллере КР1533АП6 у меня постоянно зависал комп в режиме Орион-128. Не знаю, как у других работает. После замены микрухи на 555АП6 все наладилось, и зависаний в режиме Орион-128 я больше не наблюдал.
Error404
09.08.2016, 19:38
В эмуляторе Emu с теми же драйверами и ПЗУ контроллер работает (эмулируется) нормально, доступ к HDD есть, тесты HDD выполняются без ошибок.
Как раз вот это никакой не показатель того что схема соответствует загрузчику. Когда нет ни одного реально работающего экземпляра, автор эмулятора по диагонали смотрит на схему, думает что-то типа "похоже, работало оно примерно как "Немо-ИДЕ", потом смотрит в исходник загрузчика ПРО "точно - как Немо-ИДЕ", и подгоняет модуль эмуляции под исходник. Усё.
Тесты HDD (в особенности в исполнении "старых мастеров ПРО") вангую тоже корректность проверяют по регистру статуса - мол прочитался какой-то сектор - да и ладно. Не порядок же следования байт в прочитанном они выверяют.
PS: ранее в другой теме я уже писал, что с установленной в контроллере КР1533АП6 у меня постоянно зависал комп в режиме Орион-128. Не знаю, как у других работает. После замены микрухи на 555АП6 все наладилось, и зависаний в режиме Орион-128 я больше не наблюдал.
А вот это могло быть от того что
Более того, буфер младших данный не отключается! И при чтении он потенциально может создавать конфликт шины. Я понимаю экономисты, но должна быть мера во всем. Кто проектировал эту ересь?
Дмитрий2012
09.08.2016, 19:48
Как раз вот это никакой не показатель того что схема соответствует загрузчику. Когда нет ни одного реально работающего экземпляра, автор эмулятора по диагонали смотрит на схему, думает что-то типа "похоже, работало оно примерно как "Немо-ИДЕ", потом смотрит в исходник загрузчика ПРО "точно - как Немо-ИДЕ", и подгоняет модуль эмуляции под исходник. Усё.
Понятно. Тогда прошу помочь, скорректировать тестовую прошивку с измененным кодом загрузчика:) посмотрим, что изменится в работе контроллера.
АлександрПП
09.08.2016, 20:43
с установленной в контроллере КР1533АП6 у меня постоянно зависал комп в режиме Орион-128
У меня тоже постоянно зависал, т.е. невозможно было его запустить. Делал так: включал компьютер, потом вставлял в разъем плату IDE.
Сейчас собрал новую плату. Она сразу же стала работать и до сих пор нет никаких сбоев. И часы "тикают".
Error404
09.08.2016, 21:50
Понятно. Тогда прошу помочь, скорректировать тестовую прошивку с измененным кодом загрузчика:) посмотрим, что изменится в работе контроллера.
Вот на пробу корректированная ROM1-321 в соответствии как я предлагал тут (http://zx-pk.ru/threads/25327-periferiya-quot-orionpro-quot.html?p=881330&viewfull=1#post881330). А вдруг Hardwareman угадал? :)
В архиве еще исходная ROM1-320 (для сравнения, ее прошивать не надо), а что правилось - см. на картинке.
Дмитрий2012
09.08.2016, 22:14
Вот на пробу корректированная ROM1-321 в соответствии как я предлагал тут. А вдруг Hardwareman угадал?
Не взлетело... надо разбираться со схемой.
АлександрПП
10.08.2016, 01:18
Попробовал. Изменений не увидел.
ksanf(138)
10.08.2016, 03:49
Ну-ну, друг мой, не надо пены. Защёлка по положительному перепаду. И это же выборка IDE.
Да, надо времянки смотреть, особливо IDE.
Глянем, чо. Лампы нагреются.
Ну тут я маху дал, кореш. Не учёл того что активный уровень CS - низкий. Звеняй, брат.
А так то даже не знаю что за фигня.
В момент прихода /CS1 на шине IDE старших разрядов средний уровень помех.
Там что то проскакивает, но засинхронизировать не с чем пока.
Да уж. Ле4 что ли впаивать, дабы по чтению из порта под номером 58 импульс выскакивал...
LeoN65816
10.08.2016, 06:51
Не взлетело... надо разбираться со схемой.
Изменение типа задвоения младшего и старшего байта ожидаемо вследствии изменения порядка чтения на старший/младший.
Само задвоение - непонятка, по схемотехнике невозможная... Как предположение - а может сама запись была так сделана? Попробуй в Виктории или MHDD или Disk Editor из Norton Utilities напрямую в MBR записать заведомо известную инфу (свой какой-либо тестовый паттерн), а потом на Орионе считать и показать нам. Ну и другой винт/CF попробуй.
P.S. Кстати в том коде, что ты предоставил, перед чтением сектора с винта не вижу обнуления/установки дорожки/головки/сектора/номера LBA...
- - - Добавлено - - -
Ле4 что ли впаивать, дабы по чтению из порта под номером 58 импульс выскакивал...
5ИЛИ там надо, без инверсии, на корпусе ЛЛ1 можно сделать, и завести на D10.11
Дмитрий2012
10.08.2016, 19:27
Само задвоение - непонятка, по схемотехнике невозможная... Как предположение - а может сама запись была так сделана? Попробуй в Виктории или MHDD или Disk Editor из Norton Utilities напрямую в MBR записать заведомо известную инфу (свой какой-либо тестовый паттерн), а потом на Орионе считать и показать нам. Ну и другой винт/CF попробуй.
P.S. Кстати в том коде, что ты предоставил, перед чтением сектора с винта не вижу обнуления/установки дорожки/головки/сектора/номера LBA...
Запись в MBR сделана корректно. Я с этим диском постоянно работаю, гружу с него Альтаир-ДОС. А вот замена на другую флешку помогла, теперь MBR читается четко. Ошибок нет. Выходит, что не любая CF карта и не любой диск может работать с этим контроллером. Значит ли это, что контроллер работает нормально? вот бы еще запись проверить ... тест HDD по прежнему не полностью проходит. Может это софт некорректно написан?
LeoN65816 имеются исходники теста HDD, можете их глянуть, вдруг что-то странное обнаружите?
PS: задвоение байтов было с картой объёмом 256МГб, с 2ГБт картой все стало нормально.
Error404
10.08.2016, 20:27
Если есть зависимость от экземпляров карточек CF (причем не работают те, которые нормально работают в схеме IDE на ВВ55), то тут ИМХО что-то с задержками. Нужно чтобы для устройства IDE (CF-карточки в нашем случае) было правильно чередование фронтов приходящих из регистров контроллера данных и тактирующих управляющих импульсов. Т.е. не чтобы как в большинстве схем "а-ля Немо-ИДЕ" сигнал процессора /WR сразу писал во вторую половинку 16-битного слова и одновременно транслировался как сигнал /WR на IDE, а чтобы сначала записывался регистр нашего контроллера (ИР23), а потом уже (пару тактов CPU спустя) дергалась управляющая ножка /WR на IDE - именно так во времени работает схема на ВВ55 (что и понятно - сигналы управления в порт там программно выставляет CPU в команде OUT, следующей после команды записи регистров данных). И аналогично с чтением - чтобы не было "сквозного сквозь буфер/регистр" чтения по единому для IDE и для контроллера сигналу /RD.
OrionExt
10.08.2016, 21:27
Вот тут неплохо последовательность описана записи/чтения регистров IDE http://www.pjrc.com/tech/8051/ide/wesley.html#rcycle
Дмитрий2012
10.08.2016, 22:31
Если есть зависимость от экземпляров карточек CF (причем не работают те, которые нормально работают в схеме IDE на ВВ55), то тут ИМХО что-то с задержками.
Да, в схеме IDE на ВВ55 256МГб CF карточка работает нормально. Значит надо дорабатывать контроллер. Похоже он все-таки работает неправильно. Я тут обнаружил, что информация с диска читается только один раз при включении компа. Если потом повторно запустить загрузку с HDD, ничего не происходит, данные с диска не читаются.
АлександрПП
10.08.2016, 22:38
Ошибок нет
Записал на диск образ uzix.ohi. При считывании картинка такая же, один-в-один.
тест HDD по прежнему не полностью проходит
Аналогично.
Сначала uzix читался с ошибками, причем устойчивыми. Вспомнил, что у меня стоит РОМ-1 с правками Error404. Поставил авторский и получил аналог картинок Дмитрия.
OrionExt
11.08.2016, 00:27
У афторов Орион, Орион-Про тяга к «загадочности» работы любой схемы.
Только К155, только хардкор:v2_dizzy_punk:
- - - Добавлено - - -
Логический анализатор прольет свет на реальную работу схемы IDE контроллера. Кто решится сделать?)
Проблема воспроизводит легко и лежит на поверхности.
Вот как то так пациента мучают;)
http://map.grauw.nl/articles/vdp-vram-timing/v9938-probes.jpg
http://map.grauw.nl/articles/vdp-vram-timing/gtkwave.png
Фото не мои. Я ток учусь:)
- - - Добавлено - - -
Делаем короткий тест-зацикленный. Все можно посмотреть.
Error404
11.08.2016, 00:32
Хотел схему глянуть (вроде обещали рисованую по советским ГОСТам), не нашел...
Еще такая тема: надо смотреть как сбрасывается IDE соответствующим управляющим сигналом с контроллера, возможно еще в этом затык.
Я делал сброс при каждом монтировани диска ЕМНИП, чего уж говорить о перезапуске загрузчика по /res (а по питанию оно делает это само)
HardWareMan
11.08.2016, 00:33
Есть полный спектр оборудования для отладки и анализа. Есть голова, работающая правильно с использованием огромной библиотеки знаний и эвристическим анализом. Нет только испытуемого аппарата и собирать его желания тоже нет. :) Так что, будем продолжать лечить по фотокарточке.
OrionExt
11.08.2016, 00:45
... Есть голова....
Круть;)
Осталось подопытного доставить к голове:)
АлександрПП
11.08.2016, 00:49
Схема в третьем посте.
OrionExt
11.08.2016, 01:43
Хотел схему глянуть (вроде обещали рисованую по советским ГОСТам), не нашел...
Еще такая тема: надо смотреть как сбрасывается IDE соответствующим управляющим сигналом с контроллера, возможно еще в этом затык.
Я делал сброс при каждом монтировани диска ЕМНИП, чего уж говорить о перезапуске загрузчика по /res (а по питанию оно делает это само)
Пора уже 4 вентиля выучить от usa.
Вот мне стандарты рисования триггеров, счетчиков и т.д. от DIN не нравятся. Наши справочники (авторы) на usa смотрели, а вентили (логику) взяли от DIN. Бардак:D
- - - Добавлено - - -
Схема в третьем посте.
Ну, вот все адаптировано. Логика – Din. Остальное - Usa:v2_dizzy_botan:
Еще такая тема: надо смотреть как сбрасывается IDE соответствующим управляющим сигналом с контроллера, возможно еще в этом затык.
Я делал сброс при каждом монтировани диска ЕМНИП, чего уж говорить о перезапуске загрузчика по /res (а по питанию оно делает это само)
Думаю. Сбрасывать IDE не стоит. По каждому чиху. Если источник (меняется). То есть механизмы это определить и сделать «релог». От ОС зависит;)
В MSX IDE-BEER сбрасывалось КНОПКОЙ "reset". И все.
- - - Добавлено - - -
И еще добавлю. Там сброс через регистры не такой простой.
HardWareMan
11.08.2016, 01:48
Вот мне стандарты рисования триггеров, счетчиков и т.д. от DIN не нравятся. Наши справочники (авторы) на usa смотрели, а вентили (логику) взяли от DIN. Бардак:D
Примеры того, что нравится в студию!
OrionExt
11.08.2016, 02:05
Примеры того, что нравится в студию!
Завтра. Устал работу переделывать под формат - бмп. Формат:mad:
ksanf(138)
11.08.2016, 04:34
Стал читать то что написано.
Припаял кондер (220пф) к 38 контакту IDE (выборка).
А защёлку (11 нога D10) сложил по или диодами (A0-A2) и TRD на свободном элементе лл1 (8,9,10 выв.),короче по чтению из порта 88H.(На верочку)
Без кондёра не читало.
Ещё сборку резисторов 2К2 на шину старшего байта IDE. Так, на всякий пожарный.. ;) (шина всё таки там "грязновата")
В общем , вывод-защёлка следовала в момент спада CS1.. И данные плавно таяли... (По осцилу.)
https://drive.google.com/open?id=1-oqdAP8XXKfJgB_czUmjgf5mmit_jzIDRA
https://drive.google.com/open?id=1Enib5MNIGjSgtCMvKWszkoLdiJ9-Jd0OgA
Вот чего там было на жёстком.
LeoN65816
11.08.2016, 06:56
LeoN65816 имеются исходники теста HDD, можете их глянуть, вдруг что-то странное обнаружите?
Где исходники-то?
- - - Добавлено - - -
Припаял кондер (220пф) к 38 контакту IDE (выборка).
Так это же nCS3... Причем тут он?
Дмитрий2012
11.08.2016, 07:10
Где исходники-то?
Вот сам тест, исходник и описание контроллера.
LeoN65816
11.08.2016, 08:56
Вот сам тест, исходник и описание контроллера.
Из явных косяков: тест выборки CS1 и CS3 - идет обращение к одному и тому же порту (58H)...
А так, косяков вроде не вижу. Ну и стиль написания/оформления - это полный ахтунг! Руки оторвать от одного места, засунуть туда же и зашить!
Error404
11.08.2016, 10:18
Руки оторвать
И это, заметьте, 1999 год. Когда вовсю продавалось отлаженное решение (http://www.nedopc.com/NEMOIDE/nemohddsch.png) для клонов Спека (а я уже 3 года как бросил Орион). :)
Но увы - все тот же синдром "сделано не нами". А шишки в итоге собирать нам.
OrionExt
11.08.2016, 18:26
Примеры того, что нравится в студию!
Завтра. Устал работу переделывать под формат - бмп. Формат:mad:
Не по теме, ну раз просят в студию. Вот получите. Фрагмент схемы Z80-карты. Логические элементы по DIN, остальное по US. Все понятно и информативно:)
Error404
11.08.2016, 18:47
Стал читать то что написано.
Припаял кондер (220пф) к 38 контакту IDE (выборка).
А защёлку (11 нога D10) сложил по или диодами (A0-A2) и TRD на свободном элементе лл1 (8,9,10 выв.),короче по чтению из порта 88H.(На верочку)
Без кондёра не читало.
Ещё сборку резисторов 2К2 на шину старшего байта IDE. Так, на всякий пожарный.. ;) (шина всё таки там "грязновата")
В общем , вывод-защёлка следовала в момент спада CS1.. И данные плавно таяли... (По осцилу.)
https://drive.google.com/open?id=1-oqdAP8XXKfJgB_czUmjgf5mmit_jzIDRA
https://drive.google.com/open?id=1Enib5MNIGjSgtCMvKWszkoLdiJ9-Jd0OgA
Вот чего там было на жёстком.
Нарисуй на схеме пожалуйста, цветом отличным от основного.
ksanf(138)
11.08.2016, 23:58
Ну ты воще озадачил, кореш. Напряги воображение,ё маё. А то я тут "поднял кисти" и тут же резко опустил.
не моё это по ходу... ;) Хотя, моть подскажешь чёго нибудь простенькое чтоб схемки рисовать, глядишь получится,
а то в паинте сюрреализм полный выходит. :)
Да кстати, верно LeoN65816 заметил, кондей на 27 кон. IDE , /CS1.
Блин, читать то читает, а Альтаира не видит, мастер нот фоунд пишет. IdeBios переписал под порты,в Bios2.mac-инициализацию нашёл, подправил, и всё. Может ещё где чего?
АлександрПП
12.08.2016, 00:12
Запустил fdisk, доработанные Дмитрием.Винчестер определяет уверенно, размечает разделы, сохраняет MBR. Но как-то странно, как бы заворачивает конец следующего раздела на предыдущий.
После разметки программа тестирования видит эту разметку.
Может это подскажет какие-нибудь мысли?
https://yadi.sk/d/qx8IhNYWu9nPV
ksanf(138)
12.08.2016, 00:24
Александр, а где такую штуку взять можно? fdisk.. Есть образ ofdos6, но там fdisk для ориона -128 походу, не работает короче.
АлександрПП
12.08.2016, 00:38
Попросил Дмитрия выложить доработанный им fdisk. У меня он уже в формате hfe на флешке для Ориона.
Хотя нет, нашел.
HardWareMan
12.08.2016, 06:19
Не по теме, ну раз просят в студию. Вот получите. Фрагмент схемы Z80-карты. Логические элементы по DIN, остальное по US. Все понятно и информативно:)
Ааааа! Мои глаза!!!1 Немедленно почитайте ГОСТ ЕСКД, или хотя-бы основные правила выполнения УГО (http://www.labfor.ru/guidance/eskd/611)! Краткий образец:
http://savepic.ru/10886295m.png (http://savepic.ru/10886295.png)
Error404
12.08.2016, 14:01
Блин, читать то читает, а Альтаира не видит, мастер нот фоунд пишет. IdeBios переписал под порты,в Bios2.mac-инициализацию нашёл, подправил, и всё. Может ещё где чего?
Написать что ли "напряги воображение"? :rolleyes:
Пришли посмотреть что ты написал.
Навскидку, еще надо править загрузчик, которым грузишься: в MBR и в BOOT-секторе загрузчики вызывают подпрограмму Монитора F834 "чтение сектора", а вот уже загруженная система (выполнение которой как раз и начинается в BIOS2.MAC) все такие подпрограммы уже имеет в своем теле (те самые из BIOSIDE.MAC) и ей вызов F834 уже не нужен. Такой механизм существует с того времени, когда я начал пользоваться IDE - начальный загрузчик был встроенным в Монитор, соответственно была там и п/п чтения сектора, которая в штатный BOOT-сектор CP/M один хрен не помещалась. Т.е. невольно получалось как на больших машинах - BOOT-сектор читал через ПЗУ-BIOS. Были ПЗУ всех вариантов - для IDE, для SD разных схем (собственно, они и сейчас есть - ставишь такую и ОРДОС не нужна, сразу грузишься с IDE/SD)
Поэтому для Мониторов, которые не содержат п/п F834, но чтобы всё работало как задумано, была написана утилита MBOOT, которая п/п чтения сектора содержит в своем теле, и в прочитываемом через эту п/п MBR и BOOT-sector заменяет вызов F834 (который только там и используется) на адрес своей подпрограммы соответствующей тому с чего грузимся.
Соответственно, для ПРО есть 2 варианта: подправить ПЗУ F800 режима 128 (оно размещено в ROM1 и при запуске копируется в ОЗУ F800) чтобы там была подпрограмма F834 для чтения сектора, раз уж п/п чтения IDE как раз там и лежит (http://zx-pk.ru/threads/25327-periferiya-quot-orionpro-quot.html?p=881442&viewfull=1#post881442), либо в режиме 128 из-под Ордос использовать MBOOT (тем более что РОМ-диск для этого не так уж и нужен (http://zx-pk.ru/threads/24285-orion-pro-softvernye-dela.html?p=881319&viewfull=1#post881319)), в который надо дописать режим (и подпрограмму) загрузки с авторской схемы IDE
ksanf(138)
12.08.2016, 14:56
Не ну вообще с дискеты пока систем загружаю. Ну систем светодиодиком мырг-мырг и пишет нот фоунд разделов. И всё, не монтирует.
Надо жешь системс подналадить, а уж потом на жёсткий лить. Ладно , глянешь , можь чего напортачил...)
OrionExt
12.08.2016, 16:47
Ааааа! Мои глаза!!!1 Немедленно почитайте ГОСТ ЕСКД, или хотя-бы основные правила выполнения УГО!
Все символы взяты из библиотеки. Да и не встречал я в жизни «заповедники», где все сделано по ГОСТ ЕСКД. Как правило, везде смесь ГОСТ-ов и отсебятины. Грамотный инженер разберется. Глобализация батенька;)
HardWareMan
12.08.2016, 17:50
Все символы взяты из библиотеки. Да и не встречал я в жизни «заповедники», где все сделано по ГОСТ ЕСКД. Как правило, везде смесь ГОСТ-ов и отсебятины. Грамотный инженер разберется. Глобализация батенька;)
Я в своем KiCADе первым делом отрисовал то, что использую под ГОСТ ЕСКД. Первые 3 проекта было тяжко, а теперь почти ничего не меняется. ;) Было бы желание. А корпуса, конечно, остаются родные.
PS Есть в интернете "ГОСТовские либы", но я не доверяю поделкам других.
Дмитрий2012
12.08.2016, 18:36
Запустил fdisk, доработанные Дмитрием.
Насколько помню, это было год назад, я эту прогу не дорабатывал, просто сделал BRU-ный файл, из .сом файла для загрузки его из ОРДОС прошки. Если речь об этом файле, то у меня контроллер с этой прогой не заработал, вернее программа зависала с заставкой на экране "анализ параметров диска подождите...".
Хотя нет, нашел.
В архиве находятся файлы, которые запускаются и работают в ОРДОС6.
Кстати, с установленным контроллером IDE и CF у меня не грузиться ОРДОС6, вынимаю CF ОРДОС6 загружается.
АлександрПП
12.08.2016, 21:24
Насколько помню, это было год назад
Это было 05.05.2015. Тогда и у меня программа зависала на этом же месте. Сейчас же диск определяется. Попробую с другими дисками.
Кстати, с установленным контроллером IDE у меня перестала грузиться ОРДОС6
Попробовал, у меня запускается и без контроллера и с ним.
Но вот если к контроллеру подключить винчестер, то загрузка зависает. Перед этим мигает светодиод обращения к нему. Это объяснимо, загрузчик ищет файлы конфигурации на винчестере, а их нет.
- - - Добавлено - - -
Вот еще интересный момент. Поставил винчестер с записанным на него образом uzix.ohi. Выходит нормальная таблица разделов, никаких залезаний на уже размеченную область.
Выходит читается нормально, а вот с записью проблемы?
И с тестом аналогично.
Error404
13.08.2016, 00:55
Выходит читается нормально, а вот с записью проблемы?
Там очень запросто и с математикой могут быть проблемы - тупо с вычислениями. Хотя бы оттого что оно не знает про LBA.
Чтобы не гадать, нужно написать простую утилиту - читающую, пишущую и просматривающую выбранный сектор. Такую, какая есть для варианта IDE на ВВ55 - test2sd$
И уже при её помощи: записал сектор - посмотрел что записалось. Записал образ на РС - прочитал на Орионе оттуда определенный сектор (с известным содержимым), сравнил.
HardWareMan
13.08.2016, 04:11
Кстати да. Я помню в 2001м были такие казусы: приносят 486, там 130МБ сигейт. У меня Celeron 600MHz и мамка на тот момент свежая. Я подключаю винт к своему компу, выставляю CHS (автодетект или руками - пофигу), размечаю, накатываю DOS минимум файлов для запуска. Втыкаю обратно в 486 и нифига. При старте строчка непонятных символов и висяк. И только разметка под 486м с загрузкой от флопика решила проблему. Такое ощущение, что даже CHS у каждого свой был...
АлександрПП
13.08.2016, 12:19
Александр, а где такую штуку взять можно? fdisk..
fdisk для режима Орион-128. Рабочая. Находится в области пользователя 10.
ksanf(138)
13.08.2016, 12:39
Ок. Пойду мучить.
..............
Не, что то не так. "Анализ параметров" висит и горит светодиод постоянно.
"Что эта сволочь там анализирует?" :)
Error404
14.08.2016, 16:04
Пока тут идет борьба с IDE курильщика, сделал небольшую фотосессию IDE нормального человека. :)
Что характерно, запустилось и корректно заработало с первого пуска (DIP-переключатель, перенесенный на доп. АП6 внутри панельки ВВ55 с выборкой через ЛЕ4+ЛН1=/RD||/P0||A1, сам IDE на ВВ55 D81 (http://zx-pk.ru/threads/25327-periferiya-quot-orionpro-quot.html?p=842650&viewfull=1#post842650), выбираемой сигналом /F600 вместо /P0), при этом не используются никакие платы расширения (использую микроромдиск из тела ROM2 откуда гружусь утилитой MBOOT$ (http://zx-pk.ru/threads/24285-orion-pro-softvernye-dela.html?p=881319&viewfull=1#post881319)). Цена вопроса - 9 порезов, десятка три проводничков и полдня времени. Пока паял, придумал как их число уменьшить в будущем выпуске плат (можно развести еще проводников 6-7 если разъем IDE повернуть на 180град.). В-общем, кому интересно - пишите, расскажу как делается.
Следующий этап - загоню СР/М в ROM2 размером 1Мб (как на ревизии512, но одним чипом на основной плате раз уж под РОМ2 есть 32ногая панелька и резерв по битам расширения ПЗУ на порту ВВ55) - это попроще, уже потом буду допиливать поддержку ПРО-шного IDE (т.к. его сначала заэмулировать надо и собрать в железе).
Немного фоток:
1.
http://images.vfl.ru/ii/1471179366/b7ec79e0/13731611_m.jpg (http://vfl.ru/fotos/b7ec79e013731611.html)
2.
http://images.vfl.ru/ii/1471179479/f0a35786/13731630_m.jpg (http://vfl.ru/fotos/f0a3578613731630.html)
3.
http://images.vfl.ru/ii/1471179539/e519e558/13731651_m.jpg (http://vfl.ru/fotos/e519e55813731651.html)
ksanf(138)
15.08.2016, 00:30
Мы ещё поглядим у кого тут "IDE курильщика"! ;)
Хотел было тоже подобный вариант забацать, но чё то "борода" обескураживает. ;)
зы Кстати, возможно ли использование ПЗУ немного меньшего объёма для ROM-CPM, 512Кб, 256кб?
АлександрПП
15.08.2016, 00:40
"Анализ параметров" висит и горит светодиод постоянно.
Попробовал 4 винчестера. С одним их них такая же история. Три определяются.
ksanf(138)
15.08.2016, 01:27
О как! Александр, а ты не пробовал загрузить образ альтаиры ,что я несколько выше выкладывал?
ps Быть может ATAAdressMODE тут замешан...
ззы Александр, а какие диски у тебя работают?
Error404
15.08.2016, 20:06
Паяю потихоньку IDE курильщика. Разобрать подписи резисторов и конденсаторов на монтажке (что шелкографию на реальной плате, что на сгенерированных дитрейсом картинках в архивах первых постов) - ослепнешь вглядываясь. А учитывая, что и по схеме трудно прикинуть (диптрейс так трассирует дорожки - впритык к чему-нить или с кучей переходов что хрен отследишь учитывая что микросхемы уже впаяны) задача становится нетривиальной. Есть ли монтажка в хорошем качестве с читаемыми подписями?
Вообще, мне не понравились печатки после автотрассировки диптрейса. Ни в коем случае не придираюсь, просто мой внутренний перфекционист так и подбивает выгрузить в СпринтЛайоут и перерисовать - с ровными отступами между дорожками, более оптимальным их размещением, чтобы паять не боясь за переходные отверстия, сидящие вплотную к паяемым отверстиям и т.п.
OrionExt
15.08.2016, 22:09
Вообще, мне не понравились печатки после автотрассировки диптрейса. Ни в коем случае не придираюсь, просто мой внутренний перфекционист так и подбивает выгрузить в СпринтЛайоут и перерисовать - с ровными отступами между дорожками, более оптимальным их размещением, чтобы паять не боясь за переходные отверстия, сидящие вплотную к паяемым отверстиям и т.п.
А диптрейс тут причем, или любая другая EDA?) Это всего лишь инструмент в руках конструктора. Как настроишь EDA так она и полетит. Тем более DipTrace далеко не простая система разработки.
Я вот для себя из современного EAGLE выбрал. Все достаточно просто, понятно и в то же время в ней при желании можно подымать достаточно сложные проекты. Хотя я начинал на P-CAD 4.5, но все там основательно забыл, да ставить монстров чтобы развести небольшую двух-стороннюю плату зачем? СпринтЛайоут для меня особняком стоит, назвать ее EDA рука не подымается;)
Error404
16.08.2016, 22:24
Напряг зрение и спаял контроллер IDE-RTC по шелкографии, часы на ВИ1 работают, определились в ОС как родные.
Вечером буду проверять IDE.
- - - Добавлено - - -
Напряг зрение и спаял контроллер IDE-RTC по шелкографии, часы на ВИ1 работают, определились в ОС как родные.
Вечером буду проверять IDE.
Итак, у меня тоже дублирование читаемых байт как и описывали тут. Резюмируя протекавшие тут дебаты, что надо сделать для устранения:
- кондер (220пф) к 37 контакту IDE (выборка, /CS1).
- (TRD or RD or A0 or A1 or A2) -> D10.11
по последнему имею вопросы - зачем складывать с RD если в сумме тех пяти сигналов уже есть TRD равный (A3 & /WR = A3 & RD). Т.е. получится ли обойтись 4или (его легче можно собрать на имеющихся свободных элементах платы, в отличие от 5или)
подаем на D10.11 по какой схеме - "английской", где на выв.11 подается CS1, или по "русской", где на этот же выв.11 подается RD1?
ksanf(138)
16.08.2016, 22:39
Про чередование байт ничего не могу сказать. У меня старший читался частично.
Значит, три диода повесил на ла4, там адрес, и сиё сложил с TRD на свободном ЛЛ1 (8,9,10), TRD там рядышком (ИД4 под ЛЛ1).
И на 11 ногу Ир23... Но мне кацца, зря всё это, надо развязать /Cs1 выборка-защёлка, и кондёр на выборку..
Но опять же, сиё лечит не чередование дублируемых(вот этого не знаю точно) байт.
ps. Кстати,по часам. Часы в Альтаире работают отлично, в Паверкоммандере-нет! И ордосовскими утилитами читается и устанавливается другое время (альтаировское портится).
https://drive.google.com/open?id=1dABivVUFtGDNB9d2wI75AbFE6OHfDyqdXg
https://drive.google.com/open?id=1cYkI9QfwFzL-z5Ke2bqpwfPAKdUI4TAdfg
Фоты ,если что.
зы короче, попробуй выборку CS IDE пустить через цепочку. Там несколько свободных элементов. Элемента 2-3 думаю надобно.
LeoN65816
17.08.2016, 08:52
зачем складывать с RD если в сумме тех пяти сигналов уже есть TRD равный (A3 & /WR = A3 & RD).
Потому что с системного разъема приходит не комбинированный RD/nWR (1 - чтение, 0 - запись), а раздельные nRD, nWR, nIORQ. Проц "сглатывает" младший байт с IDE по снятию (т.е. положительный фронт) nRD (и IDE отпускает шину) до снятия nIORQ, а nWR - в единице. И только по снятию nIORQ еще и с задержкой через D1, D2.1, D5.2 в D10 хз что пишется (IDE уже отпустил шину)...
Но! Это про чтение старшего байта данных.
Про задвоение - хз, нонсенс.
Еще хочу уточнить: задвоение только на CF, только на HDD, или и там и там, и как этот же девайс фурычит на PC?
А попробуйте в Мониторе прямое чтение/запись портов: не только регистр данных IDE, но и другие регистры. Есть задвоение?
- - - Добавлено - - -
или по "русской", где на этот же выв.11 подается RD1?
Не видел такой схемы... Где она?
АлександрПП
17.08.2016, 10:07
или по "русской", где на этот же выв.11 подается RD1?
Да исправлено там...
Error404
17.08.2016, 18:38
Про задвоение - хз, нонсенс.
Еще хочу уточнить: задвоение только на CF, только на HDD, или и там и там, и как этот же девайс фурычит на PC?
А попробуйте в Мониторе прямое чтение/запись портов: не только регистр данных IDE, но и другие регистры. Есть задвоение?
У меня CF. HDD под эксперименты пока нет. Разные носители быстро не попробуешь: далеко не каждая CF согласна работать в таких упрощенных контроллерах. С Монитором быстро не попробую - ухожу в отпуск вотпрямзавтра (уезжаю от стоянки орионов), и надо дела доделать не относящиеся к хобби, но требующие кучу времени.
Не видел такой схемы... Где она?
В третьем посте от начала треда. Александр уже поправил.
Потому что с системного разъема приходит не комбинированный RD/nWR (1 - чтение, 0 - запись), а раздельные nRD, nWR, nIORQ. Проц "сглатывает" младший байт с IDE по снятию (т.е. положительный фронт) nRD (и IDE отпускает шину) до снятия nIORQ, а nWR - в единице. И только по снятию nIORQ еще и с задержкой через D1, D2.1, D5.2 в D10 хз что пишется (IDE уже отпустил шину)...
Но! Это про чтение старшего байта данных.
Понимаю. Дело во времянках (в моем варианте получится работа по срезу сигнала IORQ, т.е. как оно и есть сейчас, как я понимаю). Схема 5ИЛИ на имеющихся свободных элементах (потому что не охота ставить дополнительные, и не охота на диодах) получится такой (см. ниже)?
- - - Добавлено - - -
Также, то, что /RES на IDE приходит непосредственно от системного /RES - это недостаточно. Он по ИЛИ должен приходить еще и от какого-нибудь порта. Наиболее просто (чтобы не выделять для этого новый порт и использовать готовые выборки со схемы) - использовать какой-нить из существующих портов в текущем виде работающих на только чтение. Записью в этот порт активировать сигнал /RES для IDE через взведение дополнительного триггера, а чтение этого порта (и системный RESET) пускай этот триггер (и сигнал /RES для IDE) всегда сбрасывают. Таким образом со старым ПО будет совместимо, а новое ПО сможет сбросом IDE управлять.
Дмитрий2012
17.08.2016, 21:12
ps. Кстати,по часам. Часы в Альтаире работают отлично, в Паверкоммандере-нет! И ордосовскими утилитами читается и устанавливается другое время (альтаировское портится).
Это объяснимо. В Альтаир-ДОС 512ВИ1 программируется для ведения счета в двоичном формате, в Поверкоммандере в двоично-десятичном. Чтобы везде было одинаково надо патчить коммандер и переписывать утилитку для настройки часов.
Еще хочу уточнить: задвоение только на CF, только на HDD, или и там и там, и как этот же девайс фурычит на PC?
Я пробовал только с СF картами. Проверил имеющиеся в наличии карты. Из 5 CF карт 2-е ведут себя странно. На карте 256Мб при чтении идет задвоение, на карте 8Гб вообще всегда читаются только первые два байта из MBR. С 512Мб и 2Гб картами все ОК. И что интересно, все эти карты отлично работают с IDE интерфейсом на ВВ55 и на РС. Никаких глюков не наблюдается.
Error404
18.08.2016, 00:47
В-общем, фирменный CF Kingston 1Gb работает только в схеме IDE на ВВ55 (т.е. читается без дублирования).
А вот некий CF Digitex 64MB, купленный 8 лет назад по случаю в Ашане за 49 рублей, работает в обоих контроллерах (читается без дублирования).
Интересно с чем это может быть связано.
OrionExt
18.08.2016, 02:37
Тут вообще все странно. Поддержу Error404, схема курильщика. Как такое на свет показывать (публиковать, офицально).
Все купленные СF работают в BeerIDE (MSX).
- - - Добавлено - - -
И вообще тут кто-то опубликует снятую диаграмму ходьбы 8-битным анализатор уровня. Хватит заниматься мазохизмом – время.
- - - Добавлено - - -
Может это прокатывало в 90-х. У СF - очень упрощенный интерфейс IDE, аппаратный (согласование уровней обмена. аля ТТЛ-КМОС или чего там, я там свечку не держал). Врубал СФ на прямую на шлейф 33/66 или 66/33. СФ заявила, я UDMA 66 номер 4. Не тянет. А должна. Забил. Но это не отменяет IDE-курильщика;)
LeoN65816
18.08.2016, 07:25
Схема 5ИЛИ на имеющихся свободных элементах (потому что не охота ставить дополнительные, и не охота на диодах) получится такой (см. ниже)?
По логике работы твоя схема подходит, nWriteHighByte=(nRD or nTRD or A0 or A1 or A2). Но! Тут по критичному сигналу nRD будет задержка в 2 вентиля!
В случае, если вешаем вторым этажом ЛЛ1, nWriteHighByte=(nRD or (nTRD or (A2 or (A1 or A0)))), задержка будет в 1 вентиль!
Также, то, что /RES на IDE приходит непосредственно от системного /RES - это недостаточно. Он по ИЛИ должен приходить еще и от какого-нибудь порта. Наиболее просто (чтобы не выделять для этого новый порт и использовать готовые выборки со схемы) - использовать какой-нить из существующих портов в текущем виде работающих на только чтение. Записью в этот порт активировать сигнал /RES для IDE через взведение дополнительного триггера, а чтение этого порта (и системный RESET) пускай этот триггер (и сигнал /RES для IDE) всегда сбрасывают. Таким образом со старым ПО будет совместимо, а новое ПО сможет сбросом IDE управлять.
С nRES, думаю, заморачиваться не стоит. На PC же все нормально. Ну а если все-таки так уж нужно в начале обязательно резетить, то программный резет в IDE есть.
Судя по откликам работы различных CF/HDD на этом контроллере, на ВВ55, на PC, то выходит, что с этим контроллером получаются слишком короткие циклы обращения и поэтому задвоение...
Просьба к тем, кто пробовал разные девайсы, что на них нарисовано (на многих CF рисуют типа 90x, 133x).
А также повторю просьбу к тем, у кого реальные железки: в Мониторе двойное, тройное, последовательное по одному и тому же адресу прямое чтение/запись портов покажите и по регистру данных и по всем регистрам IDE.
Error404
18.08.2016, 09:42
В моем случае скорость не обозначена ни на одном CF. Две СF что запустились (1Gb 2008 года выпуска только в ВВ55, 64М выпуска возможно еще ранее - норм. в обоих вариантах IDE), третью CF (китайский нонейм) 4Gb выпуска 2016 пробовал - на Орионе нигде не пошла, но на РС нормально.
Дмитрий2012
18.08.2016, 18:33
А также повторю просьбу к тем, у кого реальные железки: в Мониторе двойное, тройное, последовательное по одному и тому же адресу прямое чтение/запись портов покажите и по регистру данных и по всем регистрам IDE.
Если поможете пошагово показать в какой порт и какие данные записывать/считывать сделаю такой тест. Сам что-то никак не соображу в какой последовательности, в какие порты писать/читать данные.
На пару дней обещали одолжить вот такой логический анализатор. http://ru.aliexpress.com/item/Free-shipping-1PCS-1set-New-Arrival-USB-Logic-Analyze-24M-8CH-MCU-ARM-FPGA-DSP-debug/32357328552.html?spm=2114.30010708.3.11.sWpj7Z&ws_ab_test=searchweb201556_0,searchweb201602_5_100 39_10048_10057_10047_10056_10037_10055_301_10059_1 0033_10046_10058_10032_10045_10017_10060_10061_414 _10062_413,searchweb201603_2&btsid=d7cdf184-965f-4c77-ac8e-334f4349e93e
Какие сигналы смотреть? С таким девайсом никогда не работал, попробую разобраться как им пользоваться.
Просьба к тем, кто пробовал разные девайсы, что на них нарисовано (на многих CF рисуют типа 90x, 133x).
У меня такие CF карты.
Вот, что удалось записать логическим анализатором. Может это как то прояснит ситуацию ... Смотреть можно в программе Saleae Logic версии 1.2.10, в более ранних версиях файлы не откроются.
В тесте поверхности HDD вываливается ошибка на 64 секторе.
ksanf(138)
20.08.2016, 03:19
В общем разобрался с чтением старшего байта. Дело было не в бобине...
/Cs1 оказался не при чём, /BRD- вот где была загвоздка!
Напаял на него (прям к ногам ир22 12-10 ) кондей 2,2нф и всё стало читать.
Прежние доработки убрал, т.е. всё восстановил как было, ну, резистивную сборочку оставил...
Всё равно Альтаир не работает! И FDISK всё анализирует бесконечно и с другими HDD.
LeoN65816
20.08.2016, 12:05
Вот, что удалось записать логическим анализатором. Может это как то прояснит ситуацию ... Смотреть можно в программе Saleae Logic версии 1.2.10, в более ранних версиях файлы не откроются.
И что мы тут можем разглядеть при 500 КГц? На максимуме, на 24 МГц делай! И первыми тремя сигналами в любых наборах должны быть nIORQ, nRD, nWR!
Дмитрий2012
20.08.2016, 13:27
И что мы тут можем разглядеть при 500 КГц? На максимуме, на 24 МГц делай!
Почему-то прога постоянно зависала на 24МГц, а на 500КГц все сработало. Видимо, что-то не так делал. У меня нет опыта работы с этой программой, поэтому немного "туплю" пока.
Вот сделал на 24МГц (файл размером 28 МГб)
У меня 8 канальный анализатор. Какие сигналы желательно смотреть?
LeoN65816
20.08.2016, 15:06
Вот сделал на 24МГц https://drive.google.com/file/d/0B7xjYWTXlb9mQUo4YXp1c3lWc1E/view?usp=sharing (файл размером 28 МГб)
Что-то бредятина какая-то...
Что там с nIORQ?
Посмотри сам при каких nIORQ, nRD, nWR активизируются любые "наши" сигналы... "Черти что и сбоку бантик"!
OrionExt
20.08.2016, 18:08
Дмитрий2012, попробуйте сначала проверить лог. анализатор на тех сигналах, которые вам понятны.
С 5 $ китайской поделкой не так просто справится/привыкнуть. Сам задумываюсь подобную дешевую штуку купить для старта. А там уже решать, как действовать дальше.
LeoN65816
21.08.2016, 14:38
Дмитрий2012 прислал новые замеры в личку. Ну здесь тоже вывеси для всех.
http://photo.qip.ru/photo/mpsz/200716313/small/214706928.gif (http://photo.qip.ru/users/mpsz/200716313/214706928/)
Как я и говорил, без заORивания для nWriteHighByte, после снятия nWR имеем фантомный nTRD и удлиненный, но "пустой" nCS1.
http://photo.qip.ru/photo/mpsz/200716313/small/214706929.gif (http://photo.qip.ru/users/mpsz/200716313/214706929/)
А здесь мы видим запись в память младшего и старшего байтов после чтения регистра данных. Но вот ширина импульсов nCS1 и nRD всего ~540 нс кажется мне маловата... Выходит, какие-то CF, в частности старые, "проглатывают" это и работают, а более новые - капризные, им шире импульс подавай...
Дмитрий2012
21.08.2016, 15:03
Дмитрий2012 прислал новые замеры в личку. Ну здесь тоже вывеси для всех.
конечно, вот последний вариант https://drive.google.com/file/d/0B7xjYWTXlb9mcC1heUdmc041WkE/view?usp=sharing
HardWareMan
21.08.2016, 17:22
Вот они, грабли в полной красе. Переключение направления не отключаемого буфера, который рассчитан "продавливать" большую нагрузку, в момент защелкивания данных. Замечу, что не каждое обращение его вызывает:
http://savepic.ru/11018485.png
Это, кстати, возникает из-за задержек в логике, и, скорее всего, зависит от конкретно собранного экземпляра как самого Ориона, так и контроллера.
OrionExt
22.08.2016, 00:40
Вот они, грабли в полной красе. Переключение направления не отключаемого буфера, который рассчитан "продавливать" большую нагрузку, в момент защелкивания данных.
Пока мне ничего не понятно. Но склонен верить;)
- - - Добавлено - - -
Ответ развернутый. Не то что Кури ДШ :D
HardWareMan
22.08.2016, 01:12
Ответ развернутый. Не то что Кури ДШ :D
Т.е., я должен был человеку сказать "Срочно читай документацию на микросхему под именем YYYYY, обрати особое внимание на страницу XXXX, там указаны точные тайминги интересующего режима."? А как же саморазвитие?
OrionExt
22.08.2016, 02:18
Да какой вопрос у человека (выходит за рамки стандартной задачи), такой и ответ. Таки надо курить тут ДШ:v2_cheer:
п.с (не знаю зачем HardWareMan, тут ответил) мой пост к нашей теме не относится.
- - - Добавлено - - -
Может настроение плохое. Никто тут не кому не обязан разжёвывать закон Ома, Кирхгофа, тактов (циклов) ВМ80, Z80 и подобных простых вещей в рамках тематики форума.
ksanf(138)
22.08.2016, 08:14
Короче, надо еще кондер впаять! Куда нибудь...
LeoN65816
22.08.2016, 08:42
Куда нибудь...
Адназначна! :)
Дмитрий2012
22.08.2016, 19:08
Но вот ширина импульсов nCS1 и nRD всего ~540 нс кажется мне маловата... Выходит, какие-то CF, в частности старые, "проглатывают" это и работают, а более новые - капризные, им шире импульс подавай...
Удалось убрать "задвоение" при чтении с карты 256МГб (х80) кондером 2200пф на сигнал nCS1. С 8Гбт (х133) кондер не помог.
Error404
22.08.2016, 20:23
А запись нормально работает?
HardWareMan
22.08.2016, 20:29
А показать, что за безобразие там образовалось после сего вандального вмешательства?
Дмитрий2012
22.08.2016, 21:09
А запись нормально работает?
А как это проверить? Нужно тест писать, я не осилю ...
Существующий тест HDD, по прежнему работает с ошибками. Ничего не изменилось, так и выскакивает ошибка при тесте поверхности на 64 секторе. FDISK по прежнему зависает при старте с надписью «анализ параметров диска подождите…»
А показать, что за безобразие там образовалось после сего вандального вмешательства?
Увы, сегодня вернул анализатор владельцу. Ему он нужен для работы. Возможно к выходным удасться еще раз взять. Если датут, сделаю замеры.
Полезный девайс однако , надо будет себе приобрести:)
Дмитрий2012
26.08.2016, 19:22
А показать, что за безобразие там образовалось после сего вандального вмешательства?
Вот что получилось с кондером 2200пф на CS1 https://drive.google.com/file/d/0B7xjYWTXlb9mZVFWVGZRSHNKMk0/view?usp=sharing
Добавил кондер 1800пф на TRD https://drive.google.com/file/d/0B7xjYWTXlb9mS1Q5QnppUE9pSGM/view?usp=sharing
Надо: TRD и RD заORить на свободном D4.3 и подать на 11 ногу D10.
Попробовал запустить тест, в первом же пункте "Проверка регистров D10 и D11" посыпались ошибки, без заORивания ошибок не было.
Какой номинал резистора на плате ромдиска? (чтобы избежать разночтений)
Error404
27.08.2016, 12:59
Сообщение от LeoN65816 Посмотреть сообщение
Надо: TRD и RD заORить на свободном D4.3 и подать на 11 ногу D10.
Попробовал запустить тест, в первом же пункте "Проверка регистров D10 и D11" посыпались ошибки, без заORивания ошибок не было.
Там же вроде вот такое (http://zx-pk.ru/threads/25327-periferiya-quot-orionpro-quot.html?p=882323&viewfull=1#post882323) делать постановили?
Дмитрий2012
28.08.2016, 17:35
Там же вроде вот такое делать постановили?
Я еще пробовал как предлагали на ЛЛ1, nWriteHighByte=(nRD or (nTRD or (A2 or (A1 or A0)))), тоже в 1 пункте теста HDD пишет ошибку.
Повозился еще с CF картой на которой было «задвоение» и выяснил, что кондер на сигнал CS1 особо не помогает. На моей карте задвоение пропадало только при считывании одного сектора. Если читать несколько секторов подряд «задвоение» опять появляется. Причем, первый сектор читается нормально, а второй и последующие идут с «задвоением». Пробовал подбирать кондер, ничего не выходит, вернее задвоение местами пропадает и появляется. Взял карту, с которой задвоений не наблюдалось и «набыдлокодил» программку для чтения первых 80 секторов с моей карты 512МГб в память.
Никаких «задвоений», все читается отлично, причем удивила скорость загрузки. 40Кбт грузятся в память мгновенно. Теперь надо разбираться с записью …
Вот программка, которой можно попробовать как читаются несколько секторов с диска. При запуске программки, данные с диска грузятся в память по адресу 1000H-AFFFH. После загрузки происходит возврат в ОРДОС.
Error404
28.08.2016, 19:01
Я еще пробовал как предлагали на ЛЛ1, nWriteHighByte=(nRD or (nTRD or (A2 or (A1 or A0)))), тоже в 1 пункте теста HDD пишет ошибку.
Повозился еще с CF картой на которой было «задвоение» и выяснил, что кондер на сигнал CS1 особо не помогает. На моей карте задвоение пропадало только при считывании одного сектора. Если читать несколько секторов подряд «задвоение» опять появляется. Причем, первый сектор читается нормально, а второй и последующие идут с «задвоением». Пробовал подбирать кондер, ничего не выходит, вернее задвоение местами пропадает и появляется. Взял карту, с которой задвоений не наблюдалось и «набыдлокодил» программку для чтения первых 80 секторов с моей карты 512МГб в память.
Никаких «задвоений», все читается отлично, причем удивила скорость загрузки. 40Кбт грузятся в память мгновенно. Теперь надо разбираться с записью …
Вот программка, которой можно попробовать как читаются несколько секторов с диска. При запуске программки, данные с диска грузятся в память по адресу 1000H-AFFFH. После загрузки происходит возврат в ОРДОС.
Не понял. С этой твоей программой нет задвоения ни на каких картах? Даже на тех на которых штатным загрузчиком ПРО были задвоения?
Исходники будут?
Дмитрий2012
28.08.2016, 20:01
Не понял. С этой твоей программой нет задвоения ни на каких картах? Даже на тех на которых штатным загрузчиком ПРО были задвоения?
Не, с помощью этой программы я выяснил, что кондер от «задвоения» не спасает. А это можно было увидить только прочитав несколько секторов. В штатном загрузчике читается только один сектор 512 байт.
Задвоения с некоторыми картами как были, так и остались. Я остановился на карте, где задвоений нет, и данные читаются с нее без ошибок.
Исходники будут?
Я не программист, там смотреть нечего. Кода всего то несколько байт. Написать программку помогла вот эта статья http://abzac.retropc.ru/content?id=370 под наши порты поправил, соединил все как смог. Вроде работает:)
+ Добавлено
Проверил запись. Пока только один сектор. Все на диск пишется:) У меня такое ощущение, что у нас контроллер полностью рабочий, а вот древний софт как то конфликтует с современными жесткими дисками и CF картами
+ Добавлено
ps: удалил свой вопрос ,ибо сам осел. попутал регистр В и С. Короче, на CF карту все пишется и читается без ошибок, контроллер похоже работает нормально.
ksanf(138)
31.08.2016, 16:42
В архиве образ Альтаир для IDE-Rtc.
В USER 1 - тест диска (testDev), компилим под ордос.
Всё - с пылу с жару, потому и сыровато.
- - - Добавлено - - -
Никому не известно-исходники IDEBDOS существуют в природе?
Error404
31.08.2016, 20:53
Никому не известно-исходники IDEBDOS существуют в природе?
Актуальные (проверил с моими рабочими) исходники IDEBDOS - в исходниках UZIX (http://zx-pk.ru/threads/24501-tekhrazdel-uzix.html)(где этот драйвер используется ядром Юзикса для работы с носителями). Там же есть исходники FDISK, но не самые актуальные, они в рабочем каталоге у меня уже на пару месяцев более поздние, что там поправил не выверял (наверное что-то относящееся к UZIX, сейчас не вспомнить - дело было полтора года назад), если будет интерес к FDISK - загружу на форум актуальные.
- - - Добавлено - - -
FDISK работает через IDEBDOS
- - - Добавлено - - -
В архиве образ Альтаир для IDE-Rtc.
В USER 1 - тест диска (testDev), компилим под ордос.
Всё - с пылу с жару, потому и сыровато.
Так работает ли что-нибудь?
Я несколько дней без реала, а в эмуляторе этот контроллер пока не заэмулировал.
ksanf(138)
01.09.2016, 00:21
Да, всё работает. Каким то чудом...
Дмитрий2012
01.09.2016, 08:53
Да, всё работает.
А по подробней можно, что именно работает? У меня что-то Альтаир-Дос грузится через раз.
Также не получилось скомпилировать testdev, сыпятся ошибки. Выложите пожалуйста testdev под Ордос.
ksanf(138)
01.09.2016, 09:03
Очень странно. Альтаир Дос грузится с флопика (пока так). Затем монтируется разделы HDD (см. CONFIG.SYS).
Тест тоже нормально компилился и работал под ордос. Компиляция под CPM выбрасывала ошибки,надо будет поковыряться с исходником.
Сейчас на работе, займусь только завтра.
У меня вопрос Error. В MBRBOOT есть обращение к пп. Монитора - чтение сектора. Как я понял это фича из Ориона.
Для Прохи нужно вставлять п.п. чтения сектора или как?
Error404
01.09.2016, 10:01
Очень странно. Альтаир Дос грузится с флопика (пока так). Затем монтируется разделы HDD (см. CONFIG.SYS).
Тест тоже нормально компилился и работал под ордос. Компиляция под CPM выбрасывала ошибки,надо будет поковыряться с исходником.
Сейчас на работе, займусь только завтра.
У меня вопрос Error. В MBRBOOT есть обращение к пп. Монитора - чтение сектора. Как я понял это фича из Ориона.
Для Прохи нужно вставлять п.п. чтения сектора или как?
В Мониторе F800 ориона128 раньше была бесполезная подпрограмма SetRamTOP 0F833h, вместо которой в Мониторах-3 стояло RET; NOP; NOP, и в Мониторах с загрузкой с SD/IDE там я сделал RET; JR READSEC, т.е. по адресу 0F834h получилась подпрограмма чтения сектора с SD/IDE, которой пользуется как MBR, так и BOOT-сектор раздела (а вот сам BIOS после как его загрузили, уже работает своими п/п чтения/записи) - по другому не получится, т.к. полноценные подпрограммы чтения IDE больше дисководных и не помещаются в BOOT-сектор CP/M (там под код менее 200 байт).
Чтобы грузиться с SD/IDE без таких доработанных Мониторов F800, есть программа MBOOT - она на время работы загруженного ей же MBR (и позже BOOT-сектора раздела) подставляет вместо вызова 0F834h вызов в свое тело, где есть все нужные подпрограммы для всех носителей.
Соответственно, для ПРО есть 2 варианта: подправить ПЗУ F800 режима 128 (оно размещено в ROM1 и при запуске копируется в ОЗУ F800) чтобы там была подпрограмма F834 для чтения сектора, раз уж п/п чтения IDE как раз там и лежит (http://zx-pk.ru/threads/25327-periferiya-quot-orionpro-quot.html?p=881442&viewfull=1#post881442), либо в режиме 128 из-под Ордос использовать MBOOT (тем более что РОМ-диск для этого не так уж и нужен (http://zx-pk.ru/threads/24285-orion-pro-softvernye-dela.html?p=881319&viewfull=1#post881319)), в который надо дописать режим (и подпрограмму) загрузки с авторской схемы IDE (ПРО-шного IDE-RTC)
Править ПРО-шный Монитор F800 будет не шибко просто, т.к. авторы выкинули SetRamTOP и впили вместо ее часто используемую софтом ПРО п/п пересылки байтиков между страницами памяти, причем сделав это предельно коряво - уже входные параметры той п/п не позволяют работать с более чем 16 страницами памяти, т.е. они для себя софтверно (где практикуется закладывать математически максимальные лимиты) определили предел ОЗУ в 512кб (это в 2000м то году!).
Актуальные исходники MBOOT здесь - последняя версия (https://drive.google.com/file/d/0B3S0wVWNPLrwVnNlWmdJZ3F1ZkU/view?usp=sharing) с загрузкой в т.ч. и из ПЗУ ROM2 Ориона-ПРО (если туда поставить большую ПЗУ на 512кб..1Мб)
Error404
03.09.2016, 01:07
В архиве образ Альтаир для IDE-Rtc.
В USER 1 - тест диска (testDev), компилим под ордос.
Всё - с пылу с жару, потому и сыровато.
Добавил эмуляцию IDE контроллера ПРО в свой эмулятор, TESDEV работает (и чтение и запись проверил), бинарь во вложении скомпился в эмуляторе с вышеприложенного диска, без ошибок, просто надо было make поправить (на диске виндовозный) вот так:
m80 testdev,=testdev
l80m /p:100,testdev,testdev/n/e
era testdev.rel
а вот ДОС с этого диска что-то не пашет по части IDE - вроде инитит и читает что-то но пишет "нет CP/M", "BAD SECTOR" и т.п.
Не исключаю, что что-то не доэмулировано у меня. Например, что это за ATA-команда такая с номером 8, которую ты используешь вместо аппаратного IDE_reset (который был в коде для ВВ55)? Такой команды нет в спецификации на CF (https://drive.google.com/file/d/0B3S0wVWNPLrwZ3dGSms2NE5wUGM/view?usp=sharing), которой я пользуюсь как мануалом по ATA.
ksanf(138)
03.09.2016, 06:50
Опередил немного.
Команда с кодом 08H - soft reset, тоже из мануала.
Система то работает с жёстким, но сбоит почему то иной раз.
Прикладываю образ. В нём TestDev (user 1) и IdeBdos (user 15) для IDE RTC.
Странное дело. TestDev в Альтаире не работает. В Ordos и ProDos пашет.
IdeBdos вроде работает. Создал разделы Fdiskом.
- - - Добавлено - - -
Команда ATA/ATAPI-4 : Device Reset - 08h
- - - Добавлено - - -
Надо наверное тоже эмулятор установить. Будет понятно аппаратный косяк или программный...
Смешной вопрос. Где? )
- - - Добавлено - - -
Мануалы у них разные, понимаешь. Охренеть можно.
Error404
03.09.2016, 11:46
Понятно, ты используешь более современный набор команд ATA, который есть не в каждом CF/HDD.
Для сброса предлагаю использовать механизм из предыдущего набора команд ATA (который есть везде) через бит D2 регистрa ide_control (056H в контроллере IDE RTC) - ставим D2 в "1", задержка 10ms, ставим D2 в "0":
6.1.5.9 Device Control Register (Address - 3F6h[376h]; Offset Eh)
This register is used to control the CompactFlash Storage Card interrupt request and to issue an
ATA soft reset to the card. This register can be written even if the device is BUSY. The bits are
defined as follows:
D7 D6 D5 D4 D3 D2 D1 D0
X(0) X(0) X(0) X(0) X(0) SW Rst -IEn 0
Figure 53: Device Control Register
Bit 7: this bit is ignored by the CompactFlash Storage Card. The host software should set this bit
to 0.
Bit 6: this bit is ignored by the CompactFlash Storage Card. The host software should set this bit
to 0.
Bit 5: this bit is ignored by the CompactFlash Storage Card. The host software should set this bit
to 0.
Bit 4: this bit is ignored by the CompactFlash Storage Card. The host software should set this bit
to 0.
Bit 3: this bit is ignored by the CompactFlash Storage Card. The host software should set this bit
to 0.
Bit 2 (SW Rst): this bit is set to 1 in order to force the CompactFlash Storage Card to perform an
AT Disk controller Soft Reset operation. This does not change the PCMCIA Card
Configuration Registers (see Section 4.4.4 to 4.4.9) as a hardware Reset does. The Card
remains in Reset until this bit is reset to ‘0.’
Bit 1 (-IEn): the Interrupt Enable bit enables interrupts when the bit is 0. When the bit is 1,
interrupts from the CompactFlash Storage Card are disabled. This bit also controls the Int bit
in the Configuration and Status Register. This bit is set to 0 at power on and Reset.
Bit 0: this bit is ignored by the CompactFlash Storage Card.
Эмулятор надо тоже поправить под такой сброс (он у меня только от аппаратного /RES пока работает). Поправлю, причешу код, вечером выложу.
Дмитрий2012
03.09.2016, 15:55
IdeBdos вроде работает. Создал разделы Fdiskом.
Проверил с CF картой. TestDev и Fdisk работают. При чем Fdisk начинает работать только после того, как запустишь IdeBdos.
Блин, и все-таки у меня глюки с этой сборкой Альтаир. Грузится редко, иногда вываливается ошибка Error CPU. Когда грузил Альтаир-Дос с карты через интерфейс IDE на ВВ55 подобного не было. Толи у меня что-то в компе накрылось, то ли действительно что-то не так со сборкой... правда в эмуляторе все работает четко. Еще кто-нибудь, кроме ksanf(138) пробовал загружать эту сборку на реале ?
ksanf(138)
03.09.2016, 15:59
Хорошо, будем так делать сброс IDE.
Вообще надо будет всё переписывать, нормальные листинги делать с IF ELSE под варианты контроллера.
Займусь пожалуй...
Error404
03.09.2016, 23:36
Эмулятор надо тоже поправить под такой сброс (он у меня только от аппаратного /RES пока работает). Поправлю, причешу код, вечером выложу.
Сделал (http://zx-pk.ru/threads/13567-orion-pro-emulyatsiya.html?p=884254&viewfull=1#post884254)
- - - Добавлено - - -
Хорошо, будем так делать сброс IDE.
Вообще надо будет всё переписывать, нормальные листинги делать с IF ELSE под варианты контроллера.
Займусь пожалуй...
Подумываю оба варианта впилить чтобы работали одновременно.
Что-нить типа устройства IDE0,IDE1 - схема на IDE-RTC, IDE2,IDE3 - схема на ВВ55. В конфиге будут назначаться и те и те. (IDE0.1, IDE2.1 и т.п.). И в загрузчики допилить чтобы содержали все схемы.
Но это при очередной большой доработке (т.к. чтобы код ОС со всеми этими драйверами влезал и на дискетку где под ОС меньше всего места, надо кое-чего оптимизировать, мысли что и где - есть).
Т.к. хочется достичь того, чтобы ОС была бинарно единой как для ПРО так и для О-128 - чтобы одна и та же CF (образ) грузилась и там и там. Да даже если и только ПРО рассматривать, то у него получается тоже есть два варианта адаптеров IDE, у некоторых (типа меня) - оба одновременно. :)
- - - Добавлено - - -
Штатный ПРО-шный холодный загрузчик с HDD в ROM1 написан с ошибками (такими, что вообще не обязан работать). Как он там у вас что-то читает на B000, это вообще загадка (видимо, повезло).
Там (http://zx-pk.ru/threads/25327-periferiya-quot-orionpro-quot.html?p=881211&viewfull=1#post881211)такое:
-сброс отсутствует (пусть с ним, считаем что HDD сброшен от системного сброса или по включению питания)
-задержка
-затем такое:
IN a,(STAT)
OR A
JP M,LOOP ; HDD ne gotow
;
IN A,(ERREG) ; prowerka diagn.koda
AND 7FH ; ignoriruem o{ibku SLAVE
CP 01H
JP NZ,ERROR ; o{ibka
-затем чтение сектора
Так вот, по доке на ATA, регистр ERREG - это расширенная информация о ошибке и имеет смысл только если такая ошибка есть, а это отображается битом D0 регистра STAT. Т.е. код должен быть таким:
IN a,(STAT)
OR A
JP M,LOOP ; HDD ne gotow
;
AND 01H
JP NZ,ERROR ; o{ibka
Вот поправленный:
OrionExt
04.09.2016, 02:36
Error404, у вас желания чего-то написать, опережают железо. Зачем Ориону-Про 3 IDE. Там родной IDE и не работает:D
- - - Добавлено - - -
Работу Дмитрий2012, кто хоть смотрел?
- - - Добавлено - - -
Хорошо, будем так делать сброс IDE.
Вы хоть под один контроллер сделайте последовательный софт сброс IDE устройств=) Раз, два. И Хватит.
Error404
06.09.2016, 00:58
По плате COM-AY подскажите.
На схеме 2 генератора (14М и 1,8М) и еще орионовские 10М делятся на 4 (2,5М). С 14М все понятно, вопрос по 1,8М - оно и на плате заводится прямо на D7 мимо ВИ53? Или как-то коммутируется к исходному? Т.е. один из портов на фиксированную скорость? Кварцы на 1,8М в природе есть? Какой-то вроде не ходовой номинал.
OrionExt
06.09.2016, 02:04
Там 1843,2 кГц (http://www.kosmodrom.com.ua/prodlist.php?page=0&name=1.84320&okbutton=%CF%EE%E8%F1%EA+%EF%EE+%F1%EA%EB%E0%E4%F3 ) нужен. ВВ51 заточена под комплект 580 и генератор ГФ24.
Error404
06.09.2016, 10:46
Да, такие есть (http://www.quartz1.com/price/group.php?p1=18432&group=430). Такой выбор, не понятно какой брать? Нагрузочная емкость резонатора влияет на что-нибудь в наших генераторах на ТТЛ-инверторах? Или пофиг, выбираем по столбцу с ценой? :)
- - - Добавлено - - -
И еще я что-то не нахожу монтажку для COM-AY, все архивы просмотрел во втором посте (ищу монтажку с подписанными номерами элементов в графическом файле, картинкой). И в шелкограции на плате последнего выпуска элементы не подписаны. Как собирали?
OrionExt
06.09.2016, 12:23
Да, такие есть (http://www.quartz1.com/price/group.php?p1=18432&group=430). Такой выбор, не понятно какой брать? Нагрузочная емкость резонатора влияет на что-нибудь в наших генераторах на ТТЛ-инверторах? Или пофиг, выбираем по столбцу с ценой? :)
Большой выбор не всегда полезен, порождает проблему, какой купить:v2_dizzy_biggrin2: Если не вдаваться в теоретическую часть, бери какой больше нравится. Там есть заморочка с рабочей гармоникой, обычно все они работают на основной (на этой частоте).
Error404, те что есть надо делить на 10. Ведь нужна частота 1.8432МГц, а не 18.432МГц. А все резонаторы на той странице как раз последние.
Отправлено с моего X5max через Tapatalk
Error404
06.09.2016, 16:05
Error404, те что есть надо делить на 10. Ведь нужна частота 1.8432МГц, а не 18.432МГц. А все резонаторы на той странице как раз последние.
Да, это мой недосмотр, запятую забыл в их форме ввести. :)
Но в целом понятно. На 1.8432МГц ценник порядка 25 рублей
Что с монтажкой, как паяли? Ведь большинство уже собрало. Дико не хочется ставить Диптрейс и лезть в его потроха чтобы только посмотреть где какой резистор.
В шелкографии последнего выпуска элементы подписаны
Error404
06.09.2016, 16:24
В шелкографии последнего выпуска элементы подписаны
Нет, на плате AY-COM не подписаны. Только контуры элемента там есть, максимум - можно отличить где резюк, а где кондер или диод.
Подписаны номерами только на IDE-RTC, я ее уже спаял.
58079
58080
сейчас из диптрейса сохранил, у меня на плате элементы на шелкографии подписаны были...
58081
Error404
06.09.2016, 16:40
58079
- - - Добавлено - - -
58080
- - - Добавлено - - -
сейчас из диптрейса сохранил, у меня на плате элементы на шелкографии подписаны были...
Спасибо, хоть что-то, но в этом рисунке невозможно прочитать никакие подписи к резисторам, да и кондеры - на пределе зрения. Худо-бедно видно номера МСХ.
Что характерно - такое качество на всех рисунках, полученных выгрузкой из Диптрейса (и у АлександраПП). Сделайте с Диптрейсом что-нибудь чтобы глаза не ломать.
во вложении архив с оригиналом
- - - Добавлено - - -
Сделайте с Диптрейсом что-нибудь чтобы глаза не ломать.
на форуме ограничение по размеру файлов, картинки без обработки вменяемого качества сложно залить
- - - Добавлено - - -
58082
Error404
06.09.2016, 17:26
Последний вариант намного лучше. :)
Еще вопросик: какого номинала резисторы около разъема 3.5audio (через которые звук смешивается в моно и подается на основную плату при невставленном джеке)?
15ком, это резисторы R8 и R9
АлександрПП
06.09.2016, 22:17
Нет, на плате AY-COM не подписаны
Вы правы. При изготовлении платы почему-то был упущен слой шелкографии.
Что характерно - такое качество на всех рисунках, полученных выгрузкой из Диптрейса
Это да. Так он сохраняет плату в графике. Как ни пытался, лучше сделать не могу.
Во втором сообщении есть файл финал 2006.3.rar. В нем сами файлы платы и список деталей.
OrionExt
06.09.2016, 23:35
Вот Error404, чего бурчать. А поискать ответ, разобраться? Я тоже постоянно мучаюсь (злюсь иногда). Когда пытаюсь найти инфу о новодельных платах. Тут нет комплекта документов по ГОСТ, высокого качества.
Меня скоро тут забанят. Язык помело:D
Error404
07.09.2016, 00:17
Пока я ищу и разбираюсь, вы сидите без ПО (И что-то OrionExt не пишет его). :) Сознавайтесь лучше, куда делась из второго поста схема в PDF? была же вот только вчера. Так и придется диптрейс ставить, а ведь я клялся не юзать ломаное.
OrionExt
07.09.2016, 00:39
Error404, Рязань брал. Схему не брал=)
(с)царь. =)
Error404
07.09.2016, 12:11
Третьего дня думал распечатать и не сделал. А теперь не нахожу. Хотел глянуть актуальную, чтобы посмотреть что сделано с тактированием от кварца 1,8ххх - дико не хочется пробником звонить. Кстати, дешифрацию AY вчера прозвонил, там все сделано в соответствии с оригинальной схемой (проверял с этим рисунком (http://zx-pk.ru/threads/25327-periferiya-quot-orionpro-quot.html?p=879426&viewfull=1#post879426)), вот допаяю плату и буду проверять работоспособность в плеерах ПРО/128 (30h/BFFD) - проверять работает ли AY по дешифрации Спека(FFFD/BFFD) и если нет, поможет ли доработка выполненная на этом рисунке (http://zx-pk.ru/threads/25327-periferiya-quot-orionpro-quot.html?p=879426&viewfull=1#post879426) красным на элементах D2.1 и D2.2 (я так и не понял проверял ли кто-то это)
Поигравшись с ручным созданием образов для РОМ-диска решил автоматизировать процесс. В FASM сделал файлик с текстом типа такого:
db $EF
db 14 dup $FF
db $D1
file 'AYPLAY$.ORD'
file 'MU15.ORD'
db 65536-($-$$) dup $FF
и всё! Достаточно вписать нужные файлы и при компиляции получаем образ нужного размера и необходимым заголовком.
Теперь не нужен HEX-редактор, калькулятор и подобное. По моему получилась продвинутая замена виндовой команде COPY. :)
Error404
08.09.2016, 00:50
Ревизия показала, что в закромах отсутствуют кварцы на 14Мгц (для платы COM-AY). И тут подумалось: раз на этой плате у нас уже имеется генератор на 1,8ххх МГц (для ВВ51), то эту же частоту можно подать и на AY (она близка к 1,75М, а для AY некоторый разброс тактовой частоты не критичен, на Орионе вообще практиковалось подавать на него 2Мгц). А еще это даст возможность исключить ИЕ5. Что скажете?
АлександрПП
08.09.2016, 01:03
Так изначально там так и было. Путем деления 10 МГц получали 2.5 и 1.66 МГц.
Это уж потом мы стали капризничать. Ускорили ВВ51 и точнее дали частоту на муз. процессор.
Думаю, что на слух не очень-то и различишь разницу.
Error404
10.09.2016, 23:34
Тестирую AY на плате COM-AY плеером unipl2 патченым для портов PRO (http://zx-pk.ru/threads/25327-periferiya-quot-orionpro-quot.html?p=881102&viewfull=1#post881102).
Звука как такового нет, есть шумы в такт ритма мелодии. Плата пока что спаяна "как есть" (за исключением того что нету ИЕ5 и на AY подается 1,8Мгц с генератора на ЛН1).
У всех так? Для работы хотя бы портов ПРО отрезали что-нибудь?
ksanf(138)
11.09.2016, 15:59
Ну, гонит ,короче этот плеер, какафонично, но поёт.
AYplay работает.
Исходников нету случаем?
- - - Добавлено - - -
Упс! Усё работает! В резидентном режиме в меню слышна каша, а как выходишь-нормально играет.
И что самое интересное, перестал сбоить комп после обращения к жёсткому.
Вот что музыка чудойственная делает то! Ура, товарищи!
Такие дела.
Error404
11.09.2016, 16:32
А какая у тебя версия платы AY? Доработки на ней есть какие-нибудь?
- - - Добавлено - - -
Исходников нету случаем?
Исходники версии для портов ПРО у Дмитрия. У меня есть исходники этого плеера для портов ZX (BFFD/FFFD). Но я так и не понял - кто-нить допилил дешифрацию на плате COM-AY ПРО чтобы оно работало по по портам ZX?
АлександрПП
11.09.2016, 23:13
У всех так? Для работы хотя бы портов ПРО отрезали что-нибудь?
По портам ПРО плата у меня работает. Правда тест показывает, что нет микросхемы. Из-за этого я долго проверял монтаж. Но потом запустил программу demo1 с того же диска и звук пошел. Понял, что плата работает.
Не было звука по портам Спектрума. unipl2, патченый Дмитрием, насколько я помню, тоже работал. Еще работал какой-то проигрыватель, сейчас не вспомнить, надо смотреть на дисках.
Сейчас проверить не могу, т.к. почти все лето не нахожусь дома. Вернусь только в двадцатых числах, т.е. в конце месяца.
OrionExt
12.09.2016, 01:06
Чудеса у вас творятся на Про:v2_jawdr: Фатальная замена микросхем серии 555, сделала свое дело. Понижайте частоту платы до 5 МГц. Уверен глюков в разы меньше станет.
- - - Добавлено - - -
Или еще чего. Когда Орион делал профессионал схемотехник. На асинхронных счётчиках. Понизил частоту с 10МГц до 50Гц на ИЕ5. По Про не знаю. Но такие схемные решения на сегодняшний день не многий эмулятор цифровых схем отработает ( без подстройки). Проверено!
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot