- БК + CF
- [+] Старые сообщения (20)
-
? 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
>> Осталось плату развести и заказать. Ну и отладить )))
¤
Дело не сдвинулось?
- << Форум