- БК + CF
-
? ЛёхаБашой@ - 17.08.2009 14:55
хочу CompactFlash прицепить к БКшке.. познания в железе номинальные, попрограммировать могу (и хочу).
обсудим?
-
? ЛёхаБашой@ - 17.08.2009 14:57
Сорри за множественные топики. IE проглючил. Я тоже.
-
? kisser - 17.08.2009 21:21
Схема тут пробегала (автор - anonymous)
http://img11.imageshack.us/img11/9440/bkide.jpg
распаивается на разъем IDE, а в него переходником можно вставить CF.
Описание программирования есть например тут
http://bk0010.narod.ru/docs/IDE.zip
Да, и опять же, anonymous предупреждал, что не все карты будут стабильно работать с БК напрямую - не хватает выходной нагрузки. Видимо чем старее (по году выпуска) будет карта тем лучше будет работать с БК.
-
? anonymous - 18.08.2009 16:05
В моем собственном адаптере, построенном по той же идеологии, но без рассыпухи (все функции сделаны на PLD), стоят просто еще два усилителя шины, направление передачи которых определяется сигналом DIN, а разрешение работы вырабатывается одновременно с CS0 и CS1 накопителя.
Прожиг PLD, если кому интересно, простейший:
;BS, A1..A12 - latched signals!
¤
;hard drive select
/cs1= /BS*/A12*/A11*/A10*/A9*A8*A7*/A6*A5*/A4*/A3*/A2*/SYNC
/cs0= /BS*/A12*/A11*/A10*/A9*A8*A7*/A6*/A5*A4*/SYNC
¤
;i8287/74f642 drivers output enable
/doe= /BS*/A12*/A11*/A10*/A9*A8*A7*/A6*A5*/A4*/A3*/A2*/SYNC +
/BS*/A12*/A11*/A10*/A9*A8*A7*/A6*/A5*A4*/SYNC
¤
;last part of the function disabled for 573rf3 rom that generates
;reply signal itself, enable it for standard intel rom
/rply= /DOUT*/BS*/A12*/A11*/A10*/A9*A8*A7*/A6*A5*/A4*/A3*/A2*/SYNC +
/DIN*/BS*/A12*/A11*/A10*/A9*A8*A7*/A6*A5*/A4*/A3*/A2*/SYNC +
/DOUT*/BS*/A12*/A11*/A10*/A9*A8*A7*/A6*/A5*A4*/SYNC +
/DIN*/BS*/A12*/A11*/A10*/A9*A8*A7*/A6*/A5*A4*/SYNC
; +
; /DIN*/BS*/A12*/A11*/A10*/A9*A8*A7*A6*/SYNC +
; /DIN*/BS*/A12*/A11*/A10*/A9*A8*/A7*A6*A5*/A4*/SYNC +
; /DIN*/BS*/A12*/A11*/A10*/A9*A8*/A7*A6*/A5*A4*/SYNC
¤
;hard drive address lines
ha0= /A1
ha1= /A2
ha2= /A3
¤
;rom output enable
/roe= /DIN*/BS*/A12*/A11*/A10*/A9*A8*A7*A6*/SYNC +
/DIN*/BS*/A12*/A11*/A10*/A9*A8*/A7*A6*A5*/A4*/SYNC +
/DIN*/BS*/A12*/A11*/A10*/A9*A8*/A7*A6*/A5*A4*/SYNC
-
? Terra - 19.08.2009 22:44
Не совсем всё понял из предыдущего поста. но я тут вспомнил, что у 1 товарища лежит самарская машина с винтом там контроллер тоже простейший и прошивка для работы с винтом/дисководом есть (все дисковые системы с ним нормално работают). Можно попытаться содрать схему и прошивку.
-
? anonymous - 19.08.2009 23:28
Terra, тащите прошивку! :)
Предыдущий пост был ответом на 「? kisser - 17.08.2009 21:21 <cut>Да, и опять же, anonymous предупреждал, что не все карты будут стабильно работать с БК напрямую - не хватает выходной нагрузки.<cut>」
-
? anonymous - 19.08.2009 23:31
P.S. это исходник прошивки для FPLA/PLD/PAL на palasm от AMD.
-
? Terra - 20.08.2009 17:40
как-нибудь постараюсь, но не всё в моей власти...
-
? Terra - 25.01.2010 15:03
До реальной машины так и не дорвался, далеки мы друг от друга территориально, да и времени нет.
Нашёл на винте прошивки и исходники от самарского контроллера http://t-h-s.ru/bk/samara.zip. Фото можно посмотеть здесь (не мои) http://zx.pk.ru/showthread.php?t=11541. Заказал себе преходник cf2ide http://www.dealextreme.com/details.dx/sku.10310 (чтоб ещё на стареньком буке погонять) пришёл через 1,5 месяца и карточку гиговую купил за 200р типа такой (c зади написано 3,3,/5V) http://image.made-in-china.com/2f0j00ivWaMkJlAVog/Cf-Card.jpg. Всё работает супер (правда у меня контроллер АльтПро). Софт для создания образа диска http://t-h-s.ru/bk/bkd2img.zip, а затем этот образ можно записать с помошью бесплатной утилиты dd http://www.chrysocome.net/dd, Acronis Disk Editor или бесплатного редактора дисков HxD http://www.mh-nexus.de
-
? x - 25.01.2010 16:34
Здорово!
А как на самарском проверить?
Можно ли создать образ CF который загрузится на самарском контроллере?
-
? Terra - 25.01.2010 18:45
к сожалению у меня нет документации на формат диска, но если есть реальная потребность, то можно поковыряться в исходниках.
-
? anonymous - 26.01.2010 03:08
Под схему, что тут пробегала ранее, надо IF0..IF7 и ZF6-ZF7 скорректировать под АльтПрошные адреса, где дешифрация намного проще и не требует РФ5 целой.
-
? Terra - 26.01.2010 17:12
А это мысль! Переписать самарскую прошивку под альтпрошные адреса, как-то оно раньше в голову не приходило :). Может кто займётся железной частью? Только тут появляется несколько вопросов: в каком виде это сделать - как в Самаре (расширение стандартного КНГМД) или отдельный контроллер HDD без поддержки дисковода, или всё-таки повторить альтпровский вариант совместного контроллера НГМД-HDD. Самарский вариант не поддерживает БК0010, для работы контроллера на десятке нужно ОЗУ по адресам 120000-140000.
-
? Kisser - 01.02.2010 21:42
А правильно ли я понял, что можно запустить БК без дисковода? Т.е. сделать ХДД контр. на 2 присоединения, взять bkd2img.zip, на одну карту загнать любой образ с ДОС какойнибуть, вторую карту отформатировать на несколько дисков, на вторую же поставить эту же ОС и работать с ней как с несъемным винтом, а первую использовать для переноса файлов на РС и обратно в качестве флешки?
Так все просто или имеются подводные камни?
-
? Terra - 01.02.2010 23:05
Создаётся образ винта из файлов c.bkd.... и пока не кончатся файлы данного типа (но лучше за z не заваливать) и на свободном месте cf создаются пустые логические диски максимально возможного объёма до конца диска. Можно в принципе использовать 2 цфки, но ндо драйвер ставить 2HDD (я не пробовал).
-
? Kisser - 02.02.2010 09:46
Т.е. дисковод нахненужен? При записи с.bkd (взять луюбой БКшный образ с загрузочным диском), вставляешь в контроллер его, и БК запускается? Для меня оно принципиально, т.к. контроллера FDD нет, и паять не вижу смысла. А контроллер HDD - достаточно прост в изготовлении и более технологичен чтоли (ВП1 нету, надежность, скорость обмена, и габариты...). Тогда еще вопрос - какой максимальный объем лог.диска для БК и винта в целом? 1Гб Вы говорите работает, а он весь Гб видит?
И с образами дискет понятно, а если переносить разрозненные БКшные файлы? Если на БК поставить АНДОС например, и считывать файлы со второй флешки, отформатированной в FAT?
-
? Terra - 02.02.2010 11:43
Дисковод не нужен. Но программа заточена на создание образа винта под контроллер Альтпро. Максимльный объём логического диска 32Мб, винта до 2Гб. Врорде все системы кроме ANDOS работают с дискамитакого обёма (andos не болле 800к). Вот на последние 2 вопроса хотелось бы каких-то более изящных решений - типа bk disk explorer или плагина к far (total commander), но у них много ограничений...
-
? anonymous - 02.02.2010 11:44
Драйвер, который в ПЗУ, использует CHS адресацию и утрамбовывает ее в формат переменных драйвера дисковода (где битов хватает только для 4096 цилиндров, 16 головок и 63 секторов), из-за чего ему доступно только 2Гб на диске, а загружаемый драйвер использует LBA32 (28 бит на адрес блока), с ним ограничивается доступный объем 128Гб.
-
? Kisser - 02.02.2010 12:39
Смысла ставить АНДОС нет, понятно. Хорошо, как сваяю контроллер, так еще поспрашиваю. Да, и контроллер сразу с ОЗУ на 170000 нужно делать, так? А Самарский кроме другой адресации чем отличался? Судя по фоткам, особо ничем.
-
? anonymous - 02.02.2010 12:51
Самарский предназначен для работы под RT11, где таблица разделов и параметры диска считываются во внутренний буфер драйвера, который вместе с ядром ОС остается резидентным на протяжении всей работы, для десяточных ОС самарский контроллер супермедленный, т.к. они пользуются только ПЗУшечным драйвером, который перечитывает и пересчитывает разделы при каждом обращении заново ввиду отсутствия буферного озу.
-
? Terra - 02.02.2010 17:06
У меня и не только было так: несколько дисков по 1600 блоков (800к) mkdos (c), 2 диска rt11 (d,e), csidos тоже 2 шт. (f,g), andos (h,i), ну а дальше пошли диски в mkdos по 32 метра с образами дисков. Если делать, то надо видимо с озу на 120000-170000 (что бы на 10ке работало). Если делать самомму, то как тут предлагали - перенести самарскую схему на альтпрошные адреса, и претранслировать прошивку. Самарская схема работает с любой системой, только при каждом обращении к диску, приходиться перечитывать таблицу разделов, которая имеет немного отличный формат от Альтпро. Ну здесь не так и сильно важно быстродействие - 1 раз пред чтением файла прочитать 1 сектор.
PS. Я связался с разработчиками Альтпровского контроллера! Обещали через недельку поискать, может что осталось из документации.
-
? Kisser - 02.02.2010 22:10
Т.е. нужно сделать нечто среднее между самарой и альтпро, взяв "лучшее от природы". Только и схема и прошивка будут отличаться от исходных.
с оЗУ проблем нет - можно сделать универсальную схему, поставить перемычку, и выбирать или 120-170 или 170-176.
-
? Terra - 03.02.2010 11:09
да можно наверное так сделаь, но если ставить ОЗУ под таблицу разделов, тогда придётся самарскую прошивку более координально править (с альтпровской неколько сложней - исходники не полные, только драйвер винта). Может проще вообще без ОЗУ?
-
? Kisser - 03.02.2010 15:02
тут надо программистам решать, коим не являясь, не могу ничего добавить. Однако, учитывая, что "бездисководный" контроллер должен содержать ПЗУ, а значит, защелки адреса, добавить 2 м/с ОЗУ проблем не составит. Вообще ОЗУ может пригодиться, не для винта так еще для чего-нибудь.
А если сделать прошивку только для винта (владельцы дисководов возмутятся наверное, но и их тут не особо много)? Связь с внешним миром можно и через CF поддерживать, оно и удобней и надежней. Я просто к тому что если есть альтпровский драйвер, чтобы меньше мучиться.
-
? anonymous - 03.02.2010 15:20
Озу лучше сделать вообще на всю свободную память, а для винта использовать только загрузчик минимального размера, который бы загружал в ОЗУ собственно драйвер, по-моему это наиболее рациональный вариант, если договориться не можете. В любом случае, от ОЗУ на 0170000..0176777 никому хуже не станет, в 11й там всегда пустое пространство, в 10ке при работе с дисководом - тоже.
Сам драйвер винчестера - простейшая программа, его написать с нуля ничего не стоит, вот драйвер под мой контроллер, который описан в самом начале этого треда, например: http://qbus.narod.ru/wq_DVK_BK11.zip , где wq.mac - собственно драйвер под RT11, wqrom.mac - минимальный загрузчик, всего 48 ячеек, 1801re2-134.patch.mac - патч для ПЗУ ДВК МС1201.03, чтоб она грузилась с IDE и SCSI моего изготовления.
-
? Kisser - 03.02.2010 16:21
Да я только за, тем более монитор заменить - милое дело. Даже в Журнале БК описывался альтернативный, но листингов не было. А для почти любой современной м/с ОЗУ что 3,5 кб что 16 - без разницы, количество корпусов будет таким же. И ПЗУ кстати тоже. ПЗУ можно подключать при первом запуске на 140000 (11я) или 100000 (10я), а после отработки программы этот участок будет уже ОЗУшным.
-
? Terra - 03.02.2010 17:03
С нуля сейчас писать навряд ли кто-будет. Исходники и прошивки от "самары" и альтпро я уже выкладывал.
-
? anonymous - 03.02.2010 18:25
При грамотно сформированном ТЗ на драйвер, это дело, условно говоря, минутное, как видите по wq.mac (в котором 1/7 команд стоит убрать при оптимизации - там от процесса отладки осталось полно не оптимальных мест и лишних инструкций), сам драйвер маленький, если использовать lba32, а не пакетный atapi/lba48, но диск больше 128гб на БК вешать вряд ли имеет смысл при его быстродействии и объеме ОЗУ - уйдут дни, чтоб такой диск БК перелопатил, потому lba32.
Подключение стартового ПЗУ делается, как и пультового, триггером, устанавливаемым в режим ПЗУ по сигналу DCLO, т.е. по сбросу процессора, а в режим ОЗУ, например, по сигналу записи режима USER в SEL1 - программа инициализации перепишет код монитора в ОЗУ и передаст на него управление, отключив себя. Вообще, если ставить и другой тип процессора, то операции переключения через SEL1 останутся, как через обычный регистр, даже если новый процессор будет иметь принципиально иной алгоритм пульта или вообще не будет его иметь, как 1807ВМ1, к примеру.
-
? Kisser - 13.02.2010 21:37
Прикинул, вся обвязка контроллера влезает в EPM7032, еще место для поддержки RTC может остаться (не пробывал еще).
Возможности вот такие у меня получились:
выбор режима - БК10/БК11, типовой режим/режим с переключением ПЗУ/ОЗУ на место монитора.
При типовом режиме - 160000-167777 - ПЗУ контроллера ХДД, 170000-176777 - ОЗУ.
При режиме ПЗУ/ОЗУ на место монитора:
для БК10 - Пуск - подключение ПЗУ на 100000-176777, 170000-176777 - ОЗУ. После записи 100000 в 177770 (т.к. там RTC сидело у меня, то адрес решил тот же оставить, все равно пока прикидки) на все пространство 100000-176777 подключается ОЗУ. Пзу назад подключится только при DCLO или сбросе питания.
Для БК11 - Пуск - ПЗУ на 140000-176777, 170000-176777 - ОЗУ. После записи 100000 в 177770 - ОЗУ на 140000-176777.
Получается универсальный контроллер, и это все в одной м/с, выборы режимов - двумя перемычками.
Будем делатЬ? Все равно хотел заказывать плату для контроллера ВГА (т.к. полная БК не получилась пока, попробую частями), можно заказать платы и для ХДД. Если кто возьмется за нормальный драйвер, готов спаять и предоставить на обкатку.
-
? anonymous - 14.02.2010 03:09
А если бейсик или монитор отладочный кто захочет? Надо еще режим, в котором ОЗУ до 0177577, чтоб 108ю и 019ю прошивки можно было грузить.
-
? Аноним - 14.02.2010 15:05
Т.е. вместо 176777 сделать 177577? Или чтобы именно можно было выбирать между ними?
-
? anonymous - 14.02.2010 15:51
Естественно выбирать, иначе ни одного устройства не воткнуть более. Еще изначально на 0177560..0177567 желательно предусмотреть стандартный ком-порт DL11, т.е. озу, подключаемое туда, в случае активации, должно либо по этим адресам не выдавать ничего, как сделано в ПЗУ БК - по адресам 0176560..0176567 в бейсике стоят пустые ячейки, а в 019й по 0177560..0177567, либо блокировать DIN на дисковод и COM-порт, как это в алтпро сделано.
-
? Kisser - 14.02.2010 21:43
Можно просто блокировать СЕ по этим адресам. ну и вывести СЕ компорта, раз уж оно используется. Влезет ли оно в 7032? Надо попробывать.
Подытожу:
нужен переключатель верхнего адреса ОЗУ 176777/177577.
требуется блокировка ОЗУ по 176560-176567, и 177560-177567.
Вывести СЕ для 177560-177567.
Еще есть какието доработки?
-
? anonymous - 14.02.2010 22:53
Кстати, сам ком-порт не плохо было бы внутри плиски чипсета выполнить. И не блокировку ОЗУ делать, а блокировку сигналов на устройства, т.е. если вы свое устройство прицепите, его можно по СЕ отключать, а если воткнете стандартный блок ИРПС или КРМП? У них нет входа СЕ, зато есть выход блокировки ПЗУ/ОЗУ, который вырабатывается на 8 выводе 1801ВП1-065, изначально он сделан для управления опциональными регистрами, как то регистр для программного управления форматом и скоростью посылки и буферами для дополнительных сигналов CD/DTR/DSR/RI, и выдается во всем диапазоне адресов выбранного кристалла ВП1.
-
? Kisser - 14.02.2010 23:32
Ком-порт точно не поместится в 7032, а хочется чегото простого, и повторябельно-дешевого. Тогда сделать вход блокировки без выборов адреса - не у всех есть куча перефирии (да и кто будет повторять то? энтузиазма особо не наблюдается), если у кого есть что-то перекрывающее адреса ОЗУ, вот пусть оно и его отключает. А вход для выбора конца ОЗУ вставить думаю, получится.
-
? anonymous - 15.02.2010 15:26
На счет БК/ДВК - PDP11-совместимого COM-порта - аналогов DL11 в россии 3, 581ВА1 (требует -12в для работы), 1818ВА1 (редкая) и ВП1-065.
-
? Kisser - 15.02.2010 20:23
-12в не проблема, куча преобразователей есть (в конце концов -12в можно взять напрямую от РСшного БП). Можно на плате оставить место для ком-порта, но нужна схема, распиновки я не нашел. Но главная проблема все же, драйвер, на мой взгляд. Хотя со встроенным ком-портом необходимость в сменных носителях для обмена данными уже не такая острая. А чтото совсем дешевое и распространенное типа 8051 не пойдет?
-
? Anonymous - 15.02.2010 21:48
datasheet на 581ВА1 http://ae6pm.com/Semidata_sheets/TR1602B.pdf
драйвер вклюхает в себя 3 команды на прием и 3 на передачу XD
send: tstb @#177564
bpl send
movb r0,@#177566
return
receive: tstb @#177560
bpl receive
mov @#177562,r0
return
-
? ЛёхаБашой@ - 27.02.2010 06:06
2Kisser: Делать будем. Готов покодить.
-
? Kisser - 27.02.2010 13:47
ОК. Схему сделал. Реализации ком-порта не вышло, на зато переключение конечного адреса озу, и внешняя блокировка присутствует. Осталось плату развести и заказать. Ну и отладить )))
-
? CodeMaster - 15.06.2010 15:10
>> Осталось плату развести и заказать. Ну и отладить )))
¤
Дело не сдвинулось?
- << Форум