Рождествин Ю.Г. - Так правильно...
Так в документации, так и в приглашении выходит:
http://www.tis.kz/forum/topic.php?fo...459#1325696459
- - - Добавлено - - -
Скорее всего так и делает...
Рождествин Ю.Г. - Так правильно...
Так в документации, так и в приглашении выходит:
http://www.tis.kz/forum/topic.php?fo...459#1325696459
- - - Добавлено - - -
Скорее всего так и делает...
Andrey_Ak WEB: www.tis.kz ICQ: 345-005-908 Mail: admin@tis.kz Fido: 2:5083/1 Radio: UN7GKQ
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Сдаётся мне, что мы про разные вещи говорим...
Я про то, что загрузчик из стандартного системного ПЗУ на ДВК умеет считывать с диска только блок 0, расположенный по адресу цилиндр 0, поверхность 0, сектор 1.
А доработать загрузчик, который в драйвере, теоретически можно, если места на таблицу разделов хватит... Места там немного. Можно попробовать ещё поджать код, надпись выкинуть...
Коллекционирую вычислительную технику серии ДВК: ПЭВМ в сборе и комплектующие
Зато команда BOOT при аппаратной (да-да, и так бывает) загрузке прекрасно прочитает загрузчик с того места где он живет в реале на диске.
Не такая она большая - не вижу смысла развлекаться с количеством дисков больше 4 (в силу ограничений контроллера). Но даже если бы не влезла - это тоже не обязательно ограничение. Пример - команды SET в драйверах которые как исправляют блоки за пределами 0-1, так и содержат код много больше чем SET area драйвера![]()
PDP-11/83, Электроника МС0511 (УК-НЦ), DECserver 90M
Q-Bus: H9278-A, DLV11-J, DZQ11, DHV11, DELQA-M, LPV11, CQD-420/TM, DRV11
PMI: KDJ11-BF, MSV11-JE
VT220, CM7209
Andrey_Ak WEB: www.tis.kz ICQ: 345-005-908 Mail: admin@tis.kz Fido: 2:5083/1 Radio: UN7GKQ
PDP-11/83, Электроника МС0511 (УК-НЦ), DECserver 90M
Q-Bus: H9278-A, DLV11-J, DZQ11, DHV11, DELQA-M, LPV11, CQD-420/TM, DRV11
PMI: KDJ11-BF, MSV11-JE
VT220, CM7209
Извините что влезаю со своим глупым вопросом:
имею неисправный контроллер. Программа TDW при чтении говорит ошибка 10000 на каждый сектор.
При этом загрузчик из ПЗУ при B DW0 читает что-то с диска, выдает полную строку "DW v05...." и виснет.
Правильно ли я понимаю что загрузчик из ПЗУ не проверяет при чтении ошибки?
Нет, не проверяет, проверяет только появление слова 000240 по адресу 000000 (стандартная сигнатура загрузчика), читает до упора, пока оно не появится, но если появилось, то ему неважно, был считан весь блок корректно или с ошибками - передаёт туда управление.
Выложил новую версию драйвера, 6.5: ftp://ftp.fox.khv.ru/pub/DWK/dw_handler_v6.5.zipКод:boot_DW: 012701 174020 mov #174020, R1 012711 000010 mov #10, @R1 loc_1526: 005711 tst @R1 100776 bmi loc_1526 012737 000001 174006 mov #1, @#174006 012737 000040 174016 mov #40, @#174016 loc_1546: 005711 tst @R1 100776 bmi loc_1546 005002 clr R2 012703 000400 mov #256., R3 loc_1560: 105711 tstb @R1 100376 bpl loc_1560 013722 174010 mov @#174010, (R2)+ 077305 sob R3, loc_1560 022713 000240 cmp #240, @R3 001351 bne boot_DW 005007 clr PC
Теперь поддерживается загрузка с любого раздела. Попутно прибил пару багов...
Коллекционирую вычислительную технику серии ДВК: ПЭВМ в сборе и комплектующие
На самом деле стандартная сигнатура - это 240-277 по адресу 0 и 400-777 по адресу 2. Судя по коду выше, RSX-11 напрямую загрузить с DW не получится без переделки - там по умолчанию загрузчик начинается с 260 (функционально то же самое что и 240). Примечательно что с MY все грузится при таком же начале загрузчика.
PDP-11/83, Электроника МС0511 (УК-НЦ), DECserver 90M
Q-Bus: H9278-A, DLV11-J, DZQ11, DHV11, DELQA-M, LPV11, CQD-420/TM, DRV11
PMI: KDJ11-BF, MSV11-JE
VT220, CM7209
Добрый день!
Пытаюсь собрать драйвер из этого архива, при компиляции ошибки дает:
Система RT11 v.5.07 чистая, установлена из оригинального дистрибутива..Код:.MAC SYSGEN.CND+RK1:DW.MAC/OB U 12 .MCALL .PUSH .POP .TTYOUT .TTYIN . SCCA OQ 1539 001440 10$: .Push <R4,R5> OQ 1602 001466 .Push R5 OQ 1635 001614 .Pop R5 OQ 1638 001624 Key: .Push <R1,R2,R3> OQ 1652 001672 .Pop <R3,R2,R1> OQ 1656 001702 .Pop <R3,R2,R1> OQ 1688 001774 .Push R0 OQ 1697 002020 .Pop R0 OQ 1698 002020 .Push R2 OQ 1701 002030 .Pop R2 OQ 1704 002030 .Push R3 OQ 1727 002062 .Pop R3 OQ 1795 002400 40$: .Pop <R5,R4> OQ 1861 002572 .Push <R1,R2> OQ 1871 002630 u2: .Pop <R2,R1> OQ 1876 002640 .Push <R1,R2,R0> OQ 1884 002670 .Pop R0 OQ 1886 002672 10$: .Pop R0 OQ 1902 002752 .Push <R1,R2> OQ 1915 002772 .Push <R0,R1,R2> OQ 1921 003020 .Pop <R2,R1,R0> OQ 1925 003022 .Push <R0,R1,R3> ;R0 - nu mber, R1 - field lenght (nonzero!) OQ 1956 003056 .Pop <R3,R1,R0> OQ 1960 003060 .PUSH <R0,R1,R2> ;R0 - nu mber, R1 - field lenght (nonzero!) OQ 1969 003106 CmnRts: .POP <R2,R1,R0> ;Common return sequence OQ 1973 003110 .Push <R0,R1,R2> ;R0 - dr ive number OQ 1978 003126 .Push R0 OQ 1981 003146 .Pop R0 OQ 1987 003160 .Push <R0,R1,R2,R1> OQ 1992 003176 .Pop R0 OQ 2002 003224 .Push <R0,R1,R2,R1> OQ 2007 003242 .Pop R0 OQ 2018 003302 .Push <R0,R1,R2,R1> OQ 2023 003320 .Pop R0 OQ 2037 003416 .Push <R0,R1,R2,R1> OQ 2042 003434 .Pop R0 OQ 2049 003460 .Push <R0,R1,R2,R1> OQ 2054 003476 .Pop R0 OQ 2070 003610 .Push <R0,R1,R2,R3> OQ 2095 003736 .Pop R3 OQ 2129 003756 SIZCK1: .Push <R2,R3> OQ 2206 004156 120$: .Pop <R3,R2> OQ 2229 004174 .PUSH R5 OQ 2232 004202 .POP R5 ?MACRO-E-Errors detected: 45 DK:DW=DK:SYSGEN.CND,RK1:DW.MAC
Не подскажите в чем проблема?
Andrey_Ak WEB: www.tis.kz ICQ: 345-005-908 Mail: admin@tis.kz Fido: 2:5083/1 Radio: UN7GKQ
Странно, в MY аналогичная проверка:
Код:boot_MY: bit #40, @R1 beq boot_MY mov #37, @R1 loc_412: tstb @R1 bpl loc_412 mov R0, @#172142 loc_422: bit #100040, @R1 beq loc_422 bmi boot_MY cmp #240, @#0 bne boot_MY clr PC
Коллекционирую вычислительную технику серии ДВК: ПЭВМ в сборе и комплектующие
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)