Добрый вечер коллеги.
Вопрос прост - какой максимальный объем винта видит СМУК?
Вид для печати
Добрый вечер коллеги.
Вопрос прост - какой максимальный объем винта видит СМУК?
Вопрос в корне ошибочен, SMUC это "железка" и он может работать с девайсом любого логического размера соответствующего стандартам ATA/ATAPI. А это могут быть и CHS-устройства с потолком в 512MB, и LBA28-устройства с объемом до 128GB, и ATAPI-накопители до 2TB, и наконец LBA48-устройства до 144PB. Если интересно как это делается, то можно кратко почитать например тут: http://wiki.osdev.ru/index.php/HDD . Стандарты находятся тут: http://www.t13.org . Единственное ограничение, что работа с устройствами происходит только в PIO-режиме, ни про какие UDMA речи быть не может. Сказанное выше справедливо для большинства ATA-интерфейсов на спектруме (Nemo, ATM, Profi, etc).Цитата:
Сообщение от Mikka_A
А вот, если речь идет о програмной поддержке, для SMUC по умолчанию это ПрофПЗУ (ПП), то вопрос конечно интересный. В принципе там могла бы быть заложена и поддержка LBA48, технически это вполне реализуемо, но поскольку стандарт ATA-6, в котором описан режим LBA48, появился примерно в 2001 году, то ясно, что ПП, написанное MOA, максимум способно работать с HDD до 128GB (LBA28). Хотя возможно и меньше, все зависит от наличия/отсутствия ошибок в коде прошивки.
Чтобы определенно ответить на вопрос топика нужно или посмотреть на код ПП, или испытать на реальных винчестерах.
у мну он ( СМУК, читаем по версии Спенса - софт )
видит как старый ПЦук - 8 гигов.
пробовал разные вариации финтов ( разбивки партиций, формат и пр... )
8 гигов и баста.
Хотя иметь 8 гигов софта...
да еще в формате дискеток.....
это примерно 12 с половиной тысяч дискет....
думаю я до старости записать даже только не успею....:v2_tong2:
Спсибо всем...
ЗЫ. Ну НЕМО соответственно,я так понимаю, быит видеть сколько есть на самом деле....
Миш, блин :) Тебе ж сказали, что от софта зависит :) ППЗУ видит столько то, а другой софт может увидеть гораздо больше. А немо... да ничего он не видит, без софта :)
Жека толку что софт увидит смуком больше?
он ( софт сможет ) доставать области, которые не видит стандартные средства скорпа?
вопрос то в чем...
"Имеет ли смыл покупать винчестер 100 гигабайт ?"
ответ - "НЕТ."
а вот в варианте с немо - Да!
ЗЫ. А я вот, млин, купил винт 80 гигов 2.5 дюйма.:v2_frown:
Столько их не наберётся!!!! Даже если хранить по 5 копий всего.
Стас я просто надеялся в тайне что реально монно будет винт поделить пополам.....
Одна половинка - СМУКовые образ, а вторая - тупо ФАТ32....
на ФАТ32 - на ней можно хранить моды....ZIP архивы чего либо....
Но , увы, не получилось.
Согласен. 2 гига будет моим счастьем.
Наковырял тут пару чштучек 2.5 дюйма....:v2_rolley
Не совсем понял что ты хочешь, но винт объемом более 1800Мб спокойно может содержать разделы и ФАТ32 (с установленным Виндовс 95 :) ) и МБР Скорпиона. Можешь перетаскивать винт из Скорпа в ПеЦе и обратно. :)
1) Народ, подскажите какая последняя версия SMUC была? 1.3??
2) Как понимаю SMUC в основном завязан на ПРОФПЗУ, а сей девайс взломали и может сейчас производиться свободно?
3) ПРОФПЗУ будет работать с любой допустимой (0.0-6.6) версией и релизом, если их аппаратно выставить на плате? Или есть какие ограничения?
Да. Кроме того, плата версии 1.2, прошивкой ПрофПЗУ, детектится как 1.3. Есть ли различия между 1.2 и 1.3 доподлинно неизвестно.Цитата:
Сообщение от Black_Cat
Технически да, а вот в правовом отношении трудно сказать. К слову, ПрофПЗУ последней доступной версии является составной частью GMX. Но автономное ПрофПЗУ (с прошивкой версии v4.xx) и бортовое, в составе GMX (с прошивкой версии v5.xx) аппаратно не совместимы. Программно (на уровне механизма переключения страниц) тоже.Цитата:
Сообщение от Black_Cat
AFAIK никаких ограничений, во всяком случае версия железа для прошивки не имеет никакого практического значения, не более чем идентификатор присутствия устройства и переменная для отображения на экране. В эмуляторе US про этот порт на начальном этапе ничего не было известно и система детектила SMUC как v5.5; при этом устройство (виртуальный аналог) работало без фокусов.Цитата:
Сообщение от Black_Cat
Так то оно так. Но тут дело не в версии, а в том, что если порт не будет реализован, то это равносильно считыванию из него числа 11111111b - что есть на шине порт, что его нет, результат чтения порта будет один и тот же. Поскольку в SMUC заюзаны только 3 бита (D7,D6,D3), а остальные биты считываются с пустой шины, которая по умолчанию должна держать #FF, то для версии и ревизии 7 имеем (1)(1)11(1)111b, а по этому результату как раз и невозможно понять, есть ли на шине порт или нет. Немного сумбурно, но надеюсь будет понятно.Цитата:
Сообщение от Black_Cat
Софта не требующего ПрофПЗУ? AFAIK весь существующий - CD-Walk, CD-Player, WDC... Сомневаюсь, что вообще существует софт, которому требуется ПрофПЗУ.
Как правило при работе с софтом предполагается что входной сигнал SMUCа - /DOS заведен на GND, тем самым порты SMUC открыты не только в сеансе TRDOS, через две точки входа в модифицированной прошивке TRDOS, но и для прямого программирования портов (так работа с портами осуществляется значительно быстрее). Есть софт который работает и через точки входа в TRDOS. Но вышеназванные точки входа это модификация только прошивки TRDOS, и характерна для всех прошивок устанавливаемых в Scorpion - будь то ПЗУ содержащим Теневой Монитор, или ПрофПЗУ. И вообще чтобы оно работало достаточно изменить, кажется, 6 байт в ПЗУ TRDOS. А такое изменние, AFAIK, есть в прошивке Глюка, а также во всех TRDOS начиная с 5.13f.
а так никаких конфликтов не будет? ведь неспроста изначально точки входа сделали через TR-DOS?
а как он будет себя вести если SMUC будет выбран всё время? И как правильней подклюсать?
тогда зачем делать постоянную выборку? Кстати Глюк с RTC будет работать?
Ты под Глюком имеешь ввиду бут? СМУК ставится только на Скорпи, глюка-бут на нем не ставили. Соответственно, и поддержки RTC в глюке отсутствуют.
Изначально сделали. Но во-первых, скорее всего чтобы сделать какую-никакую защиту от криворуких программеров, винт то поценнее дискеты будет, жалко потерять всю информацию; во-вторых, чтобы ввесли хоть какую-то культуру программирования (вызов как бы через системные прерывания). Возможно что еще от порчи винта в случае конфликта адресов портов. Но после открытия портов напрямую софт работает и сбоев замечено не было.Цитата:
Сообщение от Black_Cat
Будет работать и напрямую, и в случае обращения через TRDOS. А как правильно, это вопрос филосовский, так же как и в случае ответа на вопрос "как жить". Программировать можно и так и так. С точки зрения стандартизации, работы на перспективу правильнее через точки входа, с точки зрения скорости - обращаться к портам напрямую.Цитата:
Сообщение от Black_Cat
Постоянную выборку для быстроты - если пересылать массив данных, то для пересылки каждого байта прийдется юзать относительно длинную процедуру с пересылкой байт через точку входа, или же одну двухбайтную команду OUTI/OUTD или INI/IND. Скорость пересылки массивов данных меняется в разы.Цитата:
Сообщение от Black_Cat
Глюк будет работать с часами подключенными по схеме Глюка, часы подключенные по схеме SMUC прошивка Глюка не видит, разве что с коррекцией прошивки.Цитата:
Сообщение от Black_Cat
Глюк и в частности TRDOS начиная с версии 5.13f никаким образом не связанны со SMUC. Я сказал что в этих прошивках, как и в прошивке TRDOS-Scorpion есть две точки входа, примерно такого вида OUT(C),A:RET и IN A,(С):RET. Задуманны они были для псевдопрямого программирования портов ВГ93. Эти же точки используются для программирования SMUC. Если вы подключите SMUC к любому другому клону отличному от Scorpion и у вас не будет при этом ПрофПЗУ, то программы типа CD-Walk, WDC смогут работать на таком клоне. Если же при этом SMUC будет реализован так, что обращение к его портам будет происходить только через TRDOS, то работа на клоне также будет возможна, но с оговоркой, что прошивка TRDOS содержит точки входа. Правда при отсутствии ПрофПЗУ не будет возможности загружаться с винчестера, и вообще вся работа будет возможна только через софт загружаемый через дисковод.Цитата:
Сообщение от Black_Cat
А какие критерии стандартизации? Совместимость с оригинальным SMUC? Как понимаю, теневой вход в SMUC сделан для устранения конфликтов ISA устройств с портами клавиатуры, ну и заодно для упрощения его подключения неквалифицированными юзерами к левым клонам с неизвестной дешифрацией. Т.е. фактически использование теневых портов - это результат криворукости разработчиков СМУКА, которые не смогли выбрать правильно порты чтоб небыло конфликтов. Полагаю, что если эту проблему устранить, то в теневых портах вообще не будет никакой необходимости. По нынешним временам, когда производится только один клон с шиной NemoBus (умеющей корректно разделять порты), а оригинальный SMUC давно не производится, то не проще-ли сразу решить все проблемы на этапе производства нового SMUC? Или тут есть какие проблемы о которых я не догадываюсь? Кстати и в регистре версии это можно отразить, например чётная версия - с постоянной выборкой, нечётная - через TR-DOS..
Нет, совместимость в более широком смысле. Допустим если бы работа с TRDOS производилась бы только через 3D13, то проблем бы с совместимостью и работом софта из под винчестера/флэш-карт было бы гораздо меньше - работа ведеться через системные вызовы и до железной реализации накопителя программисту дела нет. Также и в этом случае - если надо можно изменить железо SMUC (перевести работу допустим с ATA протокола на USB), то по точкам вызова ставятся программные перехватчики, а дальше выполняется эмуляция старого железа на новом.Цитата:
Сообщение от Black_Cat
На спектруме, не использую полную дешифрацию, любые порты будут неправильные, а разработчики которые не заведут на устройство все 16 адресных линий - криворукими. Один порт бордюра на спектруме имеет 32767 зеркал...Цитата:
Сообщение от Black_Cat
Выбор портов только из режима TRDOS это простой, хоть и ущербный, способ обойти эту проблему.
Угу, только ты сам противоречишь себе - если умеет корректно разделять порты, то не должно быть проблем с железом и портами. А если есть проблемы (случай с подключением GS к P1024SL), то значит компьютер не умеет корректно разделять порты. Да и не сможет. NemoBUS (ZXBUS) c использованием IORGE лишь частично решает проблему неполной дешифрации, не может быть решения в задаче, если не все исходные данные (полный физический адрес порта) известны.Цитата:
Сообщение от Black_Cat
Изврат:(Цитата:
Сообщение от Black_Cat
А в реале как? Все программы используют системные вызовы при работе со СМУКом?
Я не вижу особых проблем найти нужный безконфликтный диапазон портов не прибегая к теневому режиму и чётным портам.GS юзает только 2 порта и с разделением там проблем нет, там проблемы со схемотехникой - т.е. опять же дело в недостаточной проработанности разрабатываемого железа, но т.к. это всё любительские разработки, то ожидать другого не приходится. Ошибки будут выявляться и устраняться, но должно пройти некоторое время активной эксплуатации устройства чтоб их выявить.
И ещё вопросы по СМУКу:
1) какие существуют программы (в т.ч. и те что в ПЗУ), которые знают и используют SMUC RTC, SMUC 8259?
2) SMUC RTC, SMUC 8259 по умолчанию инициализируются при старте, или они должны инициализироваться отдельным софтом, этот софт есть?
Вопросы и замечания к составителям доки "SMUC на дискретных компонентах v0.0b" (к сожалению не знаю кто это):
1) замечание: несоответствие обозначений с оригиналом - вместо CS0,CS1 должно быть соответственно CS1Fx,CS3Fx;
2) с RTC выходит /INT0.. и никуда не приходит;
3) по записи D3=1 #FFBA как понимаю должно блокироваться прохождение сигнала INT59, те.фактически обработанных сигналов IRQ0(RTC), IRQ1(IDE). Это на схеме никак не отражено, как понимаю в этой упрощённой схеме SMUC по записи D3=1 #FFBA должно блокироваться прохождение /INT0??
4) замечание по придуманной аббревиатуре "SMUC" - Spectrum Multi Unit Controller - аббревиатура явно притянута за уши и очень неудобна, т.к. постоянно требует уточнения о каком SMUC речь. Было-бы проще идентифицировать эту разновидность как ZXSMuC - ZX Spectrum Multi Controller.
5) не указано происхождение сигнала /RES на RTC, как понимаю он должен формироваться из сигнала с NemoBus.
6) не нашёл в описалове как формируется сигнал подтверждения прерывания INTA :v2_conf2: Кто знает как это делалось?
Насчет 8259 незнаю, пользовался ли им хоть кто-нибудь. Да и на плате смука стояла пустая панелька под него.
RTC инициализируется при старте теневиком. Чтение-запись также из теневика. Просмотр состояния (времени) реализован в Реал Коммандере, TRDN, возможно, гдето еще. При неиспользовании сигнала ДОС RTC прекрасно читается-пишется даже из Бейсика. В теневике время/дата/день_недели показывается в нижней строке экрана.
Сигнал /RES на RTC заводится с баса.
Сигнал /INT0 (на схеме оригинала /IRQ0 :) ) должен идти на контроллер прерываний, поскольку его нет и нафиг ненадо, сигнал повешен в воздухе.
Авторы назвали СМУК смуком, теперь переименовывать поздно.
D3 #FFBA в дискретной схеме не используется. Ибо не испоьзуются навороты с контроллером прерывания и прочими ISA...
Автор описания v0.0b, он же автор этой версии - spensor.
Тема была, да про 8259 там нету..
Господа владеющие оригинальным СМУКом будьте добры, помогите выяснить логику формирования сигналов /INT и /INTA в СМУКе!
Прошу проделать пару опытов:
1) Предположительно /INT это просто инверсный INT59. Для проверки попробуйте при вынутом 8259 подать на 17 ногу 0/1 и посмотреть меняется ли /INT? Так же попробовать проделать это с разными значениями D3 #FFBA, предположительно D3 никак не будет влиять на /INT при вынутом 8259.
2) При изменении значений D3 #FFBA и вынутом 8259, посмотреть сигнал на 26 выводе /INTA, предположительно он будет меняться синхронно с D3.
3) Действительно ли на СМУК не заведён /IORQ, или это очепятка схемы?
Спасибо.