Хотя в любом случае, он пытается вмешаться в уже проделанную BSTRAPом работу на основе своих личных впечатлений, что неправильно.
Хотя в любом случае, он пытается вмешаться в уже проделанную BSTRAPом работу на основе своих личных впечатлений, что неправильно.
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
Последний раз редактировалось Patron; 01.03.2012 в 15:06.
Вобщем посмотрел что там со стеком делается... Там это делается из расчета, что оно в подпрограмме. Но на самом деле все в принципе упрощается - незачем по 10 раз одно и то же делать.
Вот к примеру прототип:
Я не стал тут рисовать точку для SYSGEN, но замечу про нее - во-первых 54 можно сразу положить в R3 из DRSET, во-вторых MMGT$ проверять не надо ибо если усер переименовал EM.SYS в EMX.SYS или наоборот, в пору усомниться в его вменяемости. Для всех остальных разборок с системой места остается дохрена. Если бы оставалось мало, можно было бы элементарно перенести эти разборки в оверлей.Код:.TITLE EM -- EIS/FIS EMULATION DRIVER .IDENT /V02.00/ .MCALL .ASSUME,.DRDEF,.DSTAT,.EXIT .MCALL .PRINT,.TTYOUT ; Одновременная установка WONLY$ и RONLY$ эффективно избавляет ; нас от потребности заниматься онанизмом после .DRBEG. ; Запретить FETCH для данного драйвера - благородное дело. ; Если будет собираться в 5.01 и старее, можно просто закоментить ; DRPTR. .DRDEF EM,377,WONLY$!RONLY$,0,0,0 .DRPTR FETCH=*NO* .DRSET ON, O.ON-O.BASE, O.EXEC .DRSET OFF, O.OFF-O.BASE, O.EXEC .DRSET INFORM, O.INFO-O.BASE, O.EXEC ; Эти опции у нас делают примерно одно и то же. Попутно предупреждаем ; пользователя, что если он указал несколько опций в строке - хрен ему. O.EXEC: TSTB -(R5) BEQ 40$ JSR R0,10$ .ASCII /?EM-W-Options ignored - /<200> .EVEN 10$: TST (SP)+ .PRINT 20$: TSTB -(R5) BEQ 30$ .TTYOUT @R5 BR 20$ 30$: .PRINT R5 40$: JSR R1,50$ .RAD50 /EM/ .BLKW 4 50$: MOV R1,R0 TST (R1)+ MOV R1,@SP ADD PC,R3 O.BASE: .DSTAT MOV 4(R1),R1 BCC 10$ RETURN 10$: JMP @R3 ; Точки входа ON/OFF/INFORM. Сюда попадаем с адресом ; загрузки драйвера в R1 (0 если не загружен, в этом случае Z установлен). O.ON: O.OFF: O.INFO: RETURN .ASSUME . LE 1000,MESSAGE=<;SET area overflow> .DRBEG EM EMINT: .DREND EM .END
---------- Post added at 19:29 ---------- Previous post was at 19:15 ----------
Хотя для SYSGEN там вроде и так оффсет клался в R3...
Последний раз редактировалось form; 01.03.2012 в 16:55.
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
Я пофиксил в драйвере EM.SYS только те моменты, которые приводят к невозможности корректно выйти из прерывания. Поскольку аргументы FIS не используют методов адресации - похоже, что неправильного выполнения команд FIS на ДВК-1 вообще быть не должно.
Проверять затирание исходных данных команд EIS крайне накладно из-за использования там методов адресации. При использовании SP в качестве регистра-приёмника в команде EIS - значение SP не изменяется.
Последний раз редактировалось Patron; 01.03.2012 в 19:27.
Выпущена новая версия драйвера EM.SYS ( v1.4 ) - более дружелюбная к пользователю.
Родные версии EM.SYS при несовпадении параметров генерации вели себя так:
Код:.SET EM INFORM ?EM-I-v1.0 by I.Nys, 116-20-42 Options: EIS FIS .SET EM ON ?KMON-F-Invalid command .SET EM SYSGEN .SET EM ON ?KMON-F-Invalid command .INS EM .SET EM ON .SET EM ON ?EM-I-Already running
Новая версия ведёт себя так:
Код:.SET EM INFORM EM v1.4 by I.NYS, MX Options: EIS FIS .SET EM ON ?EM-I-Conflicting SYSGEN options ?EM-I-Use: SET EM SYSGEN .SET EM SYSGEN .SET EM ON .SET EM ON ?EM-I-Already running..
Последний раз редактировалось Patron; 04.03.2012 в 16:18.
Как выяснилось - драйвер EM.SYS не обошли проблемы "последнего слова", которое затирается у драйвера при загрузке в "продвинутых" мониторах, если в исходнике не были учтены параметры генерации.
В новой версии драйвера EM.SYS ( v1.4 ) эти проблемы решены.
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)