Вроде формально (если не ограничиваться fat16 и sd) граница стала аж в 65536 раз дальше?
Вид для печати
Вроде формально (если не ограничиваться fat16 и sd) граница стала аж в 65536 раз дальше?
это вы тут SD-карту обсуждаете? скиньте конфиг для ПК8000.
Может кто из владельцев ПК8000 адаптирует?
Там 3 момента:
1. Две процедуры вывода на экран (PUTC и PRINT) и одна процедура ввода с клавиатуры (GETC). Изначально b2m заточил под рк86, но при переносе на специалист и львов (и даже, в общем-то, вектор) это не стало проблемой. Можно или сделать свою обертку этих процедур или выцепить из монитора РК86 для ПК8000 (хотя в нем вроде избыточно для данной задачи)
2. Переделать разбор заголовка rk на cas. Будет примерно аналогично львову-пк01 c lvt. Возможно корректная загрузка бейсиковских программ потребует пары дополнительных движений руками
3. Нужно где-то разместить служебные данные. В простейшем варианте просто занять какое-нибудь "свободное" место. Но для большей совместимости (мало ли куда захочет загрузиться произвольная программа) придется организовать некую дополнительную область озу. Для львова без огладки на реал сделал нечто своеобразное. Для пк8000 возможно удастся обойтись штатным диспетчером, хотя он не очень удобный для данного применения
я про "железную" конфигурацию. SPI-порт и возможность подключать образ SD-карты.
вроде это есть в Орионе-128? или я что-то путаю?
В выложенном b2mом архиве есть пример конфига для рк86. По аналогии можно подключить практически к любому компу в его эмуляторе
так у РК86 порты на память отображаются. а мне подавай IN-OUT:)
Ну уж и отличие :)
Для примера конфиг вектора
port[70]=sdcard.ss - это клок? что сюда писать?
port[71]=sdcard.data - это команды/данные?
В sd_proc.inc
Вот вариант для вектора
не скажу, что много понял, но буду разбираться:)
Это управляющие сигналы, пока используется только нулевой бит - вывод CS.
Тут хитрее, запись в этот порт даёт клок на карту, при этом выводится старший бит данных. Одновременно идёт запись в сдвиговый регистр бита данных, который выдаётся картой. Если считать этот порт, то получишь содержимое сдвигового регистра.
Т.е. чтобы передать байт из регистра A карте, нужно выдать 8 раз OUT 71 / RLC, а чтобы считать, нужно загрузить в регистр A число FF, выдать 8 раз OUT 71 и в конце считать байт IN 71.
во:) теперь по-русски:)
похоже на MSX, там вроде тоже карта тактируется записью в порт?
что-то типа такого? DemonId7 должно понравиться:)
ларчик просто открывался!:)
всего-то надо было С9 поставить:) запилил 1000пФ и все завелось с первого раза!
косяк в том, что у меня дофига мс\х разных, новых, а из конденсаторов - только блокировочные, на 0.1мкФ. и нет хлама под разбор:( надо затариться:)
в общем - схема работает, на плате всего две перемычки: разъем ПК8000 - 20 соединить с 16 выводом, разъем винта - 20 соединить с +5В. вторая перемычка - отсебятина, для питания CF-карт непосредственно от Весты.
DemonId7 еще раз большой респект, плата проверена, в субботу постараюсь отправить авторский экземпляр:)
Искренние поздравления!
В принципе утилитка под винду готова, уже испытал на своей CF. Работает как с образами, так и с винтами/CF. Остался один вопрос - разрешить перезапись активного раздела. Так что вечером залью.
Можешь не мучиться с образами, завтра форматнеш как белый человек :)
---------- Post added at 20:33 ---------- Previous post was at 20:26 ----------
Я уже собирал вот такую штуку: MicroSD card breakout board
И должен заметить, что скорость просто удручающая. Думаю и здесь будет не лучше, а скорее всего хуже. Так что против. Мне больше по душе от MSX, вторая версия, где они реализовали таки нормальную запись. Микрух конечно много, но оно того стоит :)
---------- Post added at 22:26 ---------- Previous post was at 20:33 ----------
Обновил утилитку f8000w здесь.
Для справки запустить с параметром -h или -?. Все-таки решил пока не трогать активный раздел. Пришлось бы еще и загрузчик ПЗУ немного подправлять, а сегодня что-то влом.
теперь всю инфу по контроллеру надо вынести в первый пост. это мне делать? или модераторам?
хорошо, займусь:) еще вопрос - щас будем изобретать интерфейс SD-карты. пусть все здесь и остается? или отдельную тему создадим?
ладно, будем результаты в первый пост выносить.
Скорость схемы SD с одним регистром (N8VEM) примерно в два раза ниже скорости DS/DD дисковода. Скорость IDE8255 и первого варианта SD MSX (где такт сдвигового регистра делается автоматом при записи в порт) чуть выше чем скорость DS/DD дисковода (менее чем в 2 раза). Еще чуть выше (до примерно в 2,5-3 раза чем DS/DD дисковод) схема условно "NEMO IDE". Схема SD от HardwareMan-а (где независимый такт сдвигового регистра) самая быстрая, но на рассыпухе ее никто не проверял (делали на ПЛИС) и думаю там есть зависимости от скорости (такта) хоста (Ориона/ПК8000/etc) - может и не завестись на максимальных частотах хоста из-за отсутствия обратной синхронизации.
И. Все эти схемы медленные. :) Для нас, разбалованных PC.
Все зависит от того что планирается в работу на этих схемах. В 90-е всем хватало и скорости дисковода, а куда больше то - игры грузить? А если брать к примеру многозадачный Юзикс на том же Орионе и выгрузку станиц в свап на внешнем носителе с частотой несколько раз в секунду, то не хватит никакого носителя "от Z80", даже с ДМА, реально использовать только ОЗУ и расширять надо его, а не ускорять носитель.
Я к тому что не всегда стоит упираться, городя особенно сложные схемы чтобы убыстрить носитель на полтора десятка процентов.
Сделал конфиг для ПК8000 и SD-карты: http://bashkiria-2m.narod.ru/files/pk8000_sd.rar
В архиве есть образ карты с двумя образами дискет для ПК8000.
Выглядит так:
b2m, исходниками pk8000_sd.bin не поделитесь?
Перенес в пост, указанный по ссылке в первом посту.
Пришел китайский логический анализатор. Решил глянуть из-за чего были проблемы с чтением. В общем зря я привязал /CE ВВ55 к сигналам /RD и /WR. Если при записи сигнал /WR достаточно длинный, то с чтением я облажался. /CE вырубался вместе с /RD, когда комп только приступал к чтению. Понятно, что читал мусор. Кондер С9 хотя и смещал /CE, но все равно чтение проходило на грани.
В общем, я себе сделал небольшую переделку. Выводы 6 и 9 ЛА3 разъединил и соединил вывод 9 с 10. Теперь /CE включён все время цикла чтения/записи и надобность в С9 отпала. Переделка незначительна и практически не заметна на плате.
Выложил BIOSIDE версии 1.2. Исправил пару багов и довел до ума загрузчик. Скачать можно по ссылке в первом посте.
Коллеги, приветствую! Собрал данный девайс, не работает - даже не пытается грузиться с ПЗУ, как будто ничего не вставлено валится в бейсик((( ПЗУ прошивал файлом pk8000_hdd.bin из архива в топике. 16й пин закорочен на 20й и на кабеле, и на шлейфе (А3 доходит куда надо). Внес доработку из предпоследнего сообщения - "Выводы 6 и 9 ЛА3 разъединил и соединил вывод 9 с 10". Прикрепляю фото девайса, шлейфа, распиновки из документации - может кто поймет, что не так сделано. Куда рыть дальше?
Вложение 59653Вложение 59652Вложение 59651Вложение 59650
PS почему то при загрузке картинки переворачивает, не разобрался как их в нормальное положение поставить...
Микросхема ПЗУ 49F002? Если да, то проблема очевидна. 30-й вывод у нее - это адресная линия А17. На плате этот вывод заведен на плюс, то есть на него поступает логическая "1". Поэтому, нужно прошить образ в старшие адреса микросхемы, то есть с адреса 131072. А еще лучше, прошить по всем адресам, кратным 16 Кб.
И еще. Нужно внимательнее быть к джамперам. Они отвечают за адресные линии А15 и А16. И если установлены на питание, то и положение образа в ПЗУ нужно корректировать.
Спасибо)))) Записал по всем адресам, кратным 16Кб, стал загружаться с ПЗУ (заодно разрезал перемычку 32-30 на плате на всякий случай, чтобы несповадно было)))). "IDE BIOS ПК8000 1.2 Test ROM ... ok. Reset..." в этот момент на ПРФ не реагирует (хотя написано, что нужно нажать "ту брейк"). Дальше "Devices not found!", пресс эникей работает - выводит в бейсик. В слот IDE вставлен DOM - disk on module 512Mb - работает прекрасно как IDE во всех остальных девайсах типа - УКНЦ и Поиск. Куда рыть дальше?
Странно ведет себя светодиод, при первичном включении он загорается и гаснет, при последующих ресетах, включениях такого не происходит. Если комп постоит около получаса выключенным, то при включении светодиод опять загорается и гаснет. Поменял несколько ВВ55х (у меня их штук 5), менял местами дешифраторы. Кондер С9 заменил на 130 пФ (1000 пФ не нашел), но С9 с последней доработкой не должен же влиять? Что еще могу попробовать... заменить ЛА3, может она косая... откатить доработку - разомкнуть 9 и 10 ногу ЛА3 и замкнуть 9 с 6й? При этом поставить кондей на 1000 пик?
А нет возможности проверить на Compact Flash или стареньком винте?
Дело в том, что я сам толком не знаю как правильно инициализировать устройство при включении. В результате есть проблемы с винтами объемом от нескольких Гб, они просто не видятся. Может и с DOM похожая проблема?
Вечером постараюсь программу все таки доработать до надлежащего вида, заодно посмотрю как это сделано у других. Гаснущий светодиод наводит на мысль, что возможно программа слишко мало удерживает линию RESET.
Просто схема проста как две копейки и должна завестись без настроек. Конденсатор C9, после описанной выше доработки, лучше вообще выкинуть, чтобы не вносил смещений сигнала. Ноги ЛА3 лучше не трогать, иначе точно возможна ситуация с проблемой смещения сигнала CS и подборкой конденсатора C9.
Ок. Доберусь до дома, выкорчую С9 вообще. DOM - 512Mb, должен читаться... также попробовал CF 512Mb через переходник - тоже не определяется. И DOM размером 1Gb - тоже. Осталось только реальный хард подключить))) 170Mb где-то валяется...
- - - Добавлено - - -
Итого. Убрал С9, ситуация не поменялась. Одновременно заменил ЛА3 и подключил реальный хард - он определился!!! светодиод при этом правильно показывает активность. подключил обратно DOM 512 - слаааабо слабо редко мигает светодиод, но не определяется. Подключил DOM 1024 - вообще нет реакции. Подключил переходник на CF с питанием от 20го пина - судя по всему 5 вольт на него дается только в момент опроса HDD, потому что он мигает питанием также, как светодиод при определении харда. В общем определение устройства работает пока только на реальном харде, и то, через раз он определяется не как квантум, а как ЪпЪпЪпЪпЪпЪпЪпЪпЪпЪпЪпЪп, размер и ЛБА определяет корректно))) продолжаю изыскания)))
- - - Добавлено - - -
Другой квантум также детектится нестабильно. То 810Мб как и должен, то 260Гб)))) и кракозябры в названии)))
Увеличил время импульса сброса. Два винта по 20Гб заработали исправно. Есть еще пара идей, проверю чуть позже.
Это как? На плате 20-й пин вообще никуда не подключен! Под питание рядом с разъемом IDE есть место под клемники, откуда и можно взять питание (только для CF, винты жрут слишком много, есть вероятность, что спалят БП компа).
От чего питание запитывается?
Я свои винты подключаю к внешнему БП и проблем с работой нет. Испробовал на трех адаптерах, включая самодельный.
Жду новую прошивку))
Да, протупил)) 20й пин никуда не ведет, но переходник на CF начинает моргать диодами "Питание" и "Карта определена" вместо светодиода на контроллере - видимо специфика переходника)) Когда подрубаешь его к внешнему питанию, то не определяется.
От ATX блока питания, на 12в есть нагрузка. А вот БП Суры постоянно почему-то при включении выбивает, т.е. нажимаешь на кнопку, а она обратно отскакивает (не знаю, есть ли в этом БП защита от КЗ). Вольтаж на плате контроллера (он же через разъем дается) нормальный. Кстати не факт, что винты живые, они и в PC глючили. Хотелось бы конечно чтобы ДОМы заработали.
Сейчас пытаюсь разобраться с утилитами форматирования винта - пока что не очень выходит:
c:\F8000W>f8000w f: -f sd.img
Format for PK8000.
>Select drive:
[1]: Image - 2Mb
[any other key] to exit
*здесь жму 1
Select: Image
Bye!
И ничего не происходит. Все это на винде 10ке (в параллели на Маке), IDE подключен через USB-переходник.
Не могу понять как ему дать понять что куда копировать, хелп тоже сильно не помогает))))
Там стоит ПКН 41-1-2, за которыми может наблюдаться такой грешок: защёлка плохо работает, поэтому кнопка отскакивает обратно. На советских телевизорах это явление встречалось сплошь и рядом.
Забавно, но у меня оказывается проблемы были из-за шлейфа. Заменил на другой и все винты заработали без каких либо изменений в софте. Для удобства подпрограммы детектирования вынес в отдельную утилиту:
Вложение 59675
Единственная прблема с квантумом (который на 10 Гб). Эта сволочь как-то нестандартно инициализируется. Если сначала подать питание на винт, то впоследствии винт не виден и через минуту отключается (останавливает блины). Если сначала включить комп, то при подаче питания на винт у него сразу проходит сброс и в дальнейшем он прекрасно работает. Но, все это в том случае, если вынуть из панельки микросхему ПЗУ. С ней винт не пашет ни при каких обстоятельствах. В общем, похоже ему нужно делать программный сброс, но я понятия не имею как это провернуть (точнее сколько ждать и чего ждать после сброса).
Детектились так же две SATA-барракуды, но параметры не принимались, что не удивительно, учитывая их болезнь.
В общем, проблема не в софте. Нужно шлейфы проверять, а так же внимательно рассмотреть пайку. Вот что это:
Вложение 59676
Может конечно отсвет, но похоже на корочение 9 и 10 ног с 11 (с ресетом ВВ55).
Во вторых, резисторы R7 и R8 не нужны. Они добавлялись в схему на всякий случай. Практика же показала, что и без них все прекрасно работает, так что лучше убрать.
На всякий случай выкладываю версию прошивки с увеличенными таймингами, хотя у меня все прошивки сейчас работают без нареканий.
- - - Добавлено - - -
По утилитам чуть позже выложу инструкцию, для начала нужно плату завести.