Адназначна! :)
Вид для печати
А запись нормально работает?
А показать, что за безобразие там образовалось после сего вандального вмешательства?
А как это проверить? Нужно тест писать, я не осилю ...
Существующий тест HDD, по прежнему работает с ошибками. Ничего не изменилось, так и выскакивает ошибка при тесте поверхности на 64 секторе. FDISK по прежнему зависает при старте с надписью «анализ параметров диска подождите…»
Увы, сегодня вернул анализатор владельцу. Ему он нужен для работы. Возможно к выходным удасться еще раз взять. Если датут, сделаю замеры.
Полезный девайс однако , надо будет себе приобрести:)
Вот что получилось с кондером 2200пф на CS1 https://drive.google.com/file/d/0B7x...ew?usp=sharing
Добавил кондер 1800пф на TRD https://drive.google.com/file/d/0B7x...ew?usp=sharing
Попробовал запустить тест, в первом же пункте "Проверка регистров D10 и D11" посыпались ошибки, без заORивания ошибок не было.
Какой номинал резистора на плате ромдиска? (чтобы избежать разночтений)
Там же вроде вот такое делать постановили?
Я еще пробовал как предлагали на ЛЛ1, nWriteHighByte=(nRD or (nTRD or (A2 or (A1 or A0)))), тоже в 1 пункте теста HDD пишет ошибку.
Повозился еще с CF картой на которой было «задвоение» и выяснил, что кондер на сигнал CS1 особо не помогает. На моей карте задвоение пропадало только при считывании одного сектора. Если читать несколько секторов подряд «задвоение» опять появляется. Причем, первый сектор читается нормально, а второй и последующие идут с «задвоением». Пробовал подбирать кондер, ничего не выходит, вернее задвоение местами пропадает и появляется. Взял карту, с которой задвоений не наблюдалось и «набыдлокодил» программку для чтения первых 80 секторов с моей карты 512МГб в память.
Никаких «задвоений», все читается отлично, причем удивила скорость загрузки. 40Кбт грузятся в память мгновенно. Теперь надо разбираться с записью …
Вот программка, которой можно попробовать как читаются несколько секторов с диска. При запуске программки, данные с диска грузятся в память по адресу 1000H-AFFFH. После загрузки происходит возврат в ОРДОС.
Не, с помощью этой программы я выяснил, что кондер от «задвоения» не спасает. А это можно было увидить только прочитав несколько секторов. В штатном загрузчике читается только один сектор 512 байт.
Задвоения с некоторыми картами как были, так и остались. Я остановился на карте, где задвоений нет, и данные читаются с нее без ошибок.
Я не программист, там смотреть нечего. Кода всего то несколько байт. Написать программку помогла вот эта статья http://abzac.retropc.ru/content?id=370 под наши порты поправил, соединил все как смог. Вроде работает:)
+ Добавлено
Проверил запись. Пока только один сектор. Все на диск пишется:) У меня такое ощущение, что у нас контроллер полностью рабочий, а вот древний софт как то конфликтует с современными жесткими дисками и CF картами
+ Добавлено
ps: удалил свой вопрос ,ибо сам осел. попутал регистр В и С. Короче, на CF карту все пишется и читается без ошибок, контроллер похоже работает нормально.
В архиве образ Альтаир для IDE-Rtc.
В USER 1 - тест диска (testDev), компилим под ордос.
Всё - с пылу с жару, потому и сыровато.
- - - Добавлено - - -
Никому не известно-исходники IDEBDOS существуют в природе?
Актуальные (проверил с моими рабочими) исходники IDEBDOS - в исходниках UZIX (где этот драйвер используется ядром Юзикса для работы с носителями). Там же есть исходники FDISK, но не самые актуальные, они в рабочем каталоге у меня уже на пару месяцев более поздние, что там поправил не выверял (наверное что-то относящееся к UZIX, сейчас не вспомнить - дело было полтора года назад), если будет интерес к FDISK - загружу на форум актуальные.
- - - Добавлено - - -
FDISK работает через IDEBDOS
- - - Добавлено - - -
Так работает ли что-нибудь?
Я несколько дней без реала, а в эмуляторе этот контроллер пока не заэмулировал.
Да, всё работает. Каким то чудом...
Очень странно. Альтаир Дос грузится с флопика (пока так). Затем монтируется разделы 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 как раз там и лежит, либо в режиме 128 из-под Ордос использовать MBOOT (тем более что РОМ-диск для этого не так уж и нужен), в который надо дописать режим (и подпрограмму) загрузки с авторской схемы IDE (ПРО-шного IDE-RTC)
Править ПРО-шный Монитор F800 будет не шибко просто, т.к. авторы выкинули SetRamTOP и впили вместо ее часто используемую софтом ПРО п/п пересылки байтиков между страницами памяти, причем сделав это предельно коряво - уже входные параметры той п/п не позволяют работать с более чем 16 страницами памяти, т.е. они для себя софтверно (где практикуется закладывать математически максимальные лимиты) определили предел ОЗУ в 512кб (это в 2000м то году!).
Актуальные исходники MBOOT здесь - последняя версия с загрузкой в т.ч. и из ПЗУ ROM2 Ориона-ПРО (если туда поставить большую ПЗУ на 512кб..1Мб)
Добавил эмуляцию IDE контроллера ПРО в свой эмулятор, TESDEV работает (и чтение и запись проверил), бинарь во вложении скомпился в эмуляторе с вышеприложенного диска, без ошибок, просто надо было make поправить (на диске виндовозный) вот так:
а вот ДОС с этого диска что-то не пашет по части IDE - вроде инитит и читает что-то но пишет "нет CP/M", "BAD SECTOR" и т.п.Код:m80 testdev,=testdev
l80m /p:100,testdev,testdev/n/e
era testdev.rel
Не исключаю, что что-то не доэмулировано у меня. Например, что это за ATA-команда такая с номером 8, которую ты используешь вместо аппаратного IDE_reset (который был в коде для ВВ55)? Такой команды нет в спецификации на CF, которой я пользуюсь как мануалом по ATA.
Опередил немного.
Команда с кодом 08H - soft reset, тоже из мануала.
Система то работает с жёстким, но сбоит почему то иной раз.
Прикладываю образ. В нём TestDev (user 1) и IdeBdos (user 15) для IDE RTC.
Странное дело. TestDev в Альтаире не работает. В Ordos и ProDos пашет.
IdeBdos вроде работает. Создал разделы Fdiskом.
- - - Добавлено - - -
Команда ATA/ATAPI-4 : Device Reset - 08h
- - - Добавлено - - -
Надо наверное тоже эмулятор установить. Будет понятно аппаратный косяк или программный...
Смешной вопрос. Где? )
- - - Добавлено - - -
Мануалы у них разные, понимаешь. Охренеть можно.
Понятно, ты используешь более современный набор команд ATA, который есть не в каждом CF/HDD.
Для сброса предлагаю использовать механизм из предыдущего набора команд ATA (который есть везде) через бит D2 регистрa ide_control (056H в контроллере IDE RTC) - ставим D2 в "1", задержка 10ms, ставим D2 в "0":
Эмулятор надо тоже поправить под такой сброс (он у меня только от аппаратного /RES пока работает). Поправлю, причешу код, вечером выложу.Код: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.
Проверил с CF картой. TestDev и Fdisk работают. При чем Fdisk начинает работать только после того, как запустишь IdeBdos.
Блин, и все-таки у меня глюки с этой сборкой Альтаир. Грузится редко, иногда вываливается ошибка Error CPU. Когда грузил Альтаир-Дос с карты через интерфейс IDE на ВВ55 подобного не было. Толи у меня что-то в компе накрылось, то ли действительно что-то не так со сборкой... правда в эмуляторе все работает четко. Еще кто-нибудь, кроме ksanf(138) пробовал загружать эту сборку на реале ?
Хорошо, будем так делать сброс IDE.
Вообще надо будет всё переписывать, нормальные листинги делать с IF ELSE под варианты контроллера.
Займусь пожалуй...
Сделал
- - - Добавлено - - -
Подумываю оба варианта впилить чтобы работали одновременно.
Что-нить типа устройства IDE0,IDE1 - схема на IDE-RTC, IDE2,IDE3 - схема на ВВ55. В конфиге будут назначаться и те и те. (IDE0.1, IDE2.1 и т.п.). И в загрузчики допилить чтобы содержали все схемы.
Но это при очередной большой доработке (т.к. чтобы код ОС со всеми этими драйверами влезал и на дискетку где под ОС меньше всего места, надо кое-чего оптимизировать, мысли что и где - есть).
Т.к. хочется достичь того, чтобы ОС была бинарно единой как для ПРО так и для О-128 - чтобы одна и та же CF (образ) грузилась и там и там. Да даже если и только ПРО рассматривать, то у него получается тоже есть два варианта адаптеров IDE, у некоторых (типа меня) - оба одновременно. :)
- - - Добавлено - - -
Штатный ПРО-шный холодный загрузчик с HDD в ROM1 написан с ошибками (такими, что вообще не обязан работать). Как он там у вас что-то читает на B000, это вообще загадка (видимо, повезло).
Там такое:
-сброс отсутствует (пусть с ним, считаем что 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
Error404, у вас желания чего-то написать, опережают железо. Зачем Ориону-Про 3 IDE. Там родной IDE и не работает:D
- - - Добавлено - - -
Работу Дмитрий2012, кто хоть смотрел?
- - - Добавлено - - -
Вы хоть под один контроллер сделайте последовательный софт сброс IDE устройств=) Раз, два. И Хватит.
По плате COM-AY подскажите.
На схеме 2 генератора (14М и 1,8М) и еще орионовские 10М делятся на 4 (2,5М). С 14М все понятно, вопрос по 1,8М - оно и на плате заводится прямо на D7 мимо ВИ53? Или как-то коммутируется к исходному? Т.е. один из портов на фиксированную скорость? Кварцы на 1,8М в природе есть? Какой-то вроде не ходовой номинал.
Там 1843,2 кГц нужен. ВВ51 заточена под комплект 580 и генератор ГФ24.
Да, такие есть. Такой выбор, не понятно какой брать? Нагрузочная емкость резонатора влияет на что-нибудь в наших генераторах на ТТЛ-инверторах? Или пофиг, выбираем по столбцу с ценой? :)
- - - Добавлено - - -
И еще я что-то не нахожу монтажку для COM-AY, все архивы просмотрел во втором посте (ищу монтажку с подписанными номерами элементов в графическом файле, картинкой). И в шелкограции на плате последнего выпуска элементы не подписаны. Как собирали?
Error404, те что есть надо делить на 10. Ведь нужна частота 1.8432МГц, а не 18.432МГц. А все резонаторы на той странице как раз последние.
Отправлено с моего X5max через Tapatalk
Да, это мой недосмотр, запятую забыл в их форме ввести. :)
Но в целом понятно. На 1.8432МГц ценник порядка 25 рублей
Что с монтажкой, как паяли? Ведь большинство уже собрало. Дико не хочется ставить Диптрейс и лезть в его потроха чтобы только посмотреть где какой резистор.
В шелкографии последнего выпуска элементы подписаны
Вложение 58079
Вложение 58080
сейчас из диптрейса сохранил, у меня на плате элементы на шелкографии подписаны были...
Вложение 58081
Спасибо, хоть что-то, но в этом рисунке невозможно прочитать никакие подписи к резисторам, да и кондеры - на пределе зрения. Худо-бедно видно номера МСХ.
Что характерно - такое качество на всех рисунках, полученных выгрузкой из Диптрейса (и у АлександраПП). Сделайте с Диптрейсом что-нибудь чтобы глаза не ломать.
во вложении архив с оригиналом
- - - Добавлено - - -
на форуме ограничение по размеру файлов, картинки без обработки вменяемого качества сложно залить
- - - Добавлено - - -
Вложение 58082
Последний вариант намного лучше. :)
Еще вопросик: какого номинала резисторы около разъема 3.5audio (через которые звук смешивается в моно и подается на основную плату при невставленном джеке)?
15ком, это резисторы R8 и R9
Вы правы. При изготовлении платы почему-то был упущен слой шелкографии.
Это да. Так он сохраняет плату в графике. Как ни пытался, лучше сделать не могу.
Во втором сообщении есть файл финал 2006.3.rar. В нем сами файлы платы и список деталей.
Вот Error404, чего бурчать. А поискать ответ, разобраться? Я тоже постоянно мучаюсь (злюсь иногда). Когда пытаюсь найти инфу о новодельных платах. Тут нет комплекта документов по ГОСТ, высокого качества.
Меня скоро тут забанят. Язык помело:D
Пока я ищу и разбираюсь, вы сидите без ПО (И что-то OrionExt не пишет его). :) Сознавайтесь лучше, куда делась из второго поста схема в PDF? была же вот только вчера. Так и придется диптрейс ставить, а ведь я клялся не юзать ломаное.