Просмотр полной версии : ДВК (и всё, что с ними связано)
Страницы :
1
2
3
4
5
6
7
[
8]
9
10
11
12
13
14
15
16
17
18
19
Для FADD по идее такого случая нету.
А переполнение порядка. Вроде возможно если сложить два самых больших числа.
А переполнение порядка. Вроде возможно если сложить два самых больших числа.
Надо проверить возможен ли такой случай в данном конкретном случае с учетом того, что RESORC заведомо в low memory выполняется.
Заплатка для RESORC из RT-11 v05.04 выглядит так:
MOV SP,R2 ;Point to stack (but don't destroy)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
MOV SP, (PC)+
ResSP: .Word 0
Sub #8., SP
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
MOV #40000,-(R2) ;We'll check for FIS by adding .5 to .5
CLR -(R2) ;
MOV #40000,-(R2) ;
CLR -(R2) ;
FADD R2 ;Do a floating point add
;; NOP ;One instruction delay for T11.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
MOV ResSP, SP
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
BCS 3$ ;If C set, no FISА драйвер завтра исправлю..
Сложил в UKNCBTL два самых больших числа (077777 177777). Получил переполнение порядка, прервалось по вектору 244, в стеке 202 на месте PSW.
Заплатка для RESORC из RT-11 v05.04 выглядит так
Это мне напоминает когда выпустили "аналог" TA11 который не различал байт и слово, а потом "поправили кривые драйвера DEC" чтобы работало :)
Заплатка для RESORC из RT-11 v05.04 выглядит так:
MOV SP,R2 ;Point to stack (but don't destroy)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
MOV SP, (PC)+
ResSP: .Word 0
Sub #8., SP
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
MOV #40000,-(R2) ;We'll check for FIS by adding .5 to .5
CLR -(R2) ;
MOV #40000,-(R2) ;
CLR -(R2) ;
FADD R2 ;Do a floating point add
;; NOP ;One instruction delay for T11.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
MOV ResSP, SP
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
BCS 3$ ;If C set, no FISА драйвер завтра исправлю..
Можно было сделать проще - заслать аргументы в стек и сложить командой FADD SP, и R2 трогать не надо.
Сложил в UKNCBTL два самых больших числа (077777 177777). Получил переполнение порядка, прервалось по вектору 244, в стеке 202 на месте PSW.
Тут надо проверять не два самых больших числа, а реальные числа которые могут оказаться с учетом адреса в котором выполняется :)
---------- Post added at 04:22 ---------- Previous post was at 04:22 ----------
Можно было сделать проще - заслать аргументы в стек и сложить командой FADD SP, и R2 трогать не надо.
Только потом SP надо на место ставить :)
Можно было сделать проще - заслать аргументы в стек и сложить командой FADD SP, и R2 трогать не надо.Зато исходный код остался неизменным :)))
Тут надо проверять не два самых больших числа, а реальные числа которые могут оказаться с учетом адреса в котором выполняется :)
Это я к тому, что и FADD может прерваться по 244 вектору.
Только потом SP надо на место ставить :)
Это да. Действительно.
Копаясь в RESORC от 5.7 обнаружил закоментированную фичу - просмотр параметров кэша (драйвер CA). Самого драйвера не вижу.
---------- Post added at 04:28 ---------- Previous post was at 04:26 ----------
А .COM для его сборки есть...
---------- Post added at 04:37 ---------- Previous post was at 04:28 ----------
А в KMON команда есть :)
А драйвер завтра исправлю..
Я особо в код драйвера не вглядывался, но стоит посмотреть как работает эмулятор с FIS-командами, если в качестве указателя аргументов используется указатель стека SP. Здесь придется адрес возврата переносить в следующие два слова. Ну и по поводу EIS, тоже может быть такая конструкция, типа ASH -2(SP),R0.
Пока что закончил с RESORCами:
RESORC_v05.04.dsk (http://zx.pk.ru/attachment.php?attachmentid=33511)
RESORC_v05.07.dsk (http://zx.pk.ru/attachment.php?attachmentid=33512)
Там был разнобой в версиях. Версия 05.04 в оригинале была 05.69, а версия 05.07 была 05.21
Теперь они рапортуют так:
*
RESORC V05.04 em
*
*
RESORC V05.07 em
*
А не проще было все-таки поправить em? :)
А не проще было все-таки поправить em? :)Это никак друг с другом не связано. EM тоже исправим.
Так в RESORC ошибки нет - нормальный тест. Или ты собрался "исправлять" несколько десятков RESORCов и потом программ которые подобно поступают? :)
Так в RESORC ошибки нет - нормальный тест. Или ты собрался "исправлять" несколько десятков RESORCов и потом программ которые подобно поступают? Здесь та же ситуация, что и с Y2K - исправлять придётся всё.
Здесь та же ситуация, что и с Y2K - исправлять придётся всё.
Даже близко к той же ситуации нет. Для y2k есть что править. Тут править нечего. Код - правильный, ошибки нет, результат операции пофигу. Вывод - все легко решается односторонне на стороне EM. Причем можно даже сделать так, чтобы результат правильно в такой ситуации вычислялся, хотя придется добавить приличный кусок кода для этого. Если же нужно просто чтобы RESORC работал - тут вообще тупо все делается опять таки не трогая RESORC вообще.
Если же нужно просто чтобы RESORC работал - тут вообще тупо все делается опять таки не трогая RESORC вообще.Нужно, чтобы при запущенном на ДВК-1 драйвере EM.SYS команда SH CON сообщала о наличии поддержки EIS и FIS, а при выключенном - не сообщала. На мой взгляд, самое простое решение этой задачи - иcправить RESORC.
Нужно, чтобы при запущенном на ДВК-1 драйвере EM.SYS команда SH CON сообщала о наличии поддержки EIS и FIS, а при выключенном - не сообщала. На мой взгляд, самое простое решение - иcправить RESORC.
Ну так это делается без правки RESORC. Согласен?
Ну так это делается без правки RESORC. Согласен?А как?
А как?
Очень просто: обнаружив такую ситуацию просто ничего не делаем и возвращаемся туда откуда пришли. При этом RESORC покажет что FIS есть, а теоретическая программа которая ждет реального результата в такой ситуации так и так получит кривой.
Очень просто: обнаружив такую ситуацию просто ничего не делаем и возвращаемся туда откуда пришли. При этом RESORC покажет что FIS есть, а теоретическая программа которая ждет реального результата в такой ситуации так и так получит кривой.Нет - в такой ситуации EM.SYS будет передавать управление на системный обработчик Trap to 010 - это более совместимо.
...
Компилируя вчера EM.SYS v1.0 я столкнулся с любопытной деталью - при компиляции и линковке программами от RT-11 v05.04 - код в нулевом блоке драйвера оказался на одно слово ближе к началу, нежели при сборке в RT-11 v05.07
Т.е. никакие .ASECT не "спасли" - код лёг в разные ячейки.
Нет - в такой ситуации EM.SYS будет передавать управление на системный обработчик Trap to 010 - это более совместимо.
...
Компилируя вчера EM.SYS v1.0 я столкнулся с любопытной деталью - при компиляции и линковке программами от RT-11 v05.04 - код в нулевом блоке драйвера оказался на одно слово ближе к началу, нежели при сборке в RT-11 v05.07
Т.е. никакие .ASECT не "спасли" - код лёг в разные ячейки.
О совместимости тут даже речи не идет. Если прога начнет работать с FIS, обнаружив, что он есть и трапнется на операции которая в теории тоже есть, поверь, совместимее оно не будет ;)
Втыкание кода .ASECTами в "неиспользуемые" ячейки в принципе криво. Из-за таких извратов драйвер (даже с точки зрения RT-11 V5.02) оказывается часто с вложенным незапланированным функционалом или как к примеру родной WD с его ".=.-2" после DRBEG, оказывается эффективно превращен в драйвер от RT-11 V4.
---------- Post added at 16:20 ---------- Previous post was at 16:16 ----------
Если уж тут говорить о совместимости - правильнее сделать FP exception :)
---------- Post added at 16:25 ---------- Previous post was at 16:20 ----------
И если уж на то пошло, то с точки зрения вычислительной программы, вероятность такого кода все-таки равна нулю.
Втыкание кода .ASECTами в "неиспользуемые" ячейки в принципе криво. Из-за таких извратов драйвер (даже с точки зрения RT-11 V5.02) оказывается часто с вложенным незапланированным функционалом или как к примеру родной WD с его ".=.-2" после DRBEG, оказывается эффективно превращен в драйвер от RT-11 V4.Поскольку сейчас я переделываю драйвер EM.SYS, то вынужден решать как раз эту проблему. При сборке в RT-11 v05.07 - неудачно расположенный код оказывается заменён на разную служебную информацию.
Я правильно понимаю, что наиболее совместимо линковать драйвер, как обычный файл .SAV ?
Я правильно понимаю, что наиболее совместимо линковать драйвер, как обычный файл .SAV ?
Для драйвера нужно /NOBITMAP делать.
---------- Post added at 16:36 ---------- Previous post was at 16:33 ----------
А вообще, если взялся переделывать драйвер, лучше выкинуть уродсткое .ASECTство и сделать нормальные оверлеи SETовские если вдруг по какой-то причине что-то не влезает. Хотя там вроде не так много всего чтобы не влезало.
---------- Post added at 16:56 ---------- Previous post was at 16:36 ----------
.ASECT
.=200
NOP
RETURN
Нефиг вообще лезть в 200/202 если не нужна прога инсталяции.
Код
FINDRV:
MOV PC, R0
ADD #DEVNAM-., R0
MOV PC, -(SP)
ADD #AREA-., (SP)
Упрощаем до...
JSR R1,10$
.RAD50 /EM/
.BLKW 4
10$: MOV R1,R0
TST (R1)+
MOV R1,@SP
---------- Post added at 17:04 ---------- Previous post was at 16:56 ----------
Неясно зачем стек попается - DSTAT при ошибке его также сдвинет.
O.GOOD: CMP (PC)+,(PC)+
OO.BAD: TST (SP)+
O.BAD: SEC
RETURN
---------- Post added at 17:08 ---------- Previous post was at 17:04 ----------
Уже поправил - я правильно прочитал - там криво :)
Неясно зачем стек попается - DSTAT при ошибке его также сдвинет.
O.GOOD: CMP (PC)+,(PC)+
OO.BAD: TST (SP)+
O.BAD: SEC
RETURN
Это обычная дикая ошибка из тех, что появляются, когда код пишут несколько человек сразу.
Вот что отлично работало на этом месте:
EMT 342 ; PIC .DSTATUS
BCS O.BAD
MOV AREA+4,R1
O.GOOD:
TST (PC)+
O.BAD: SEC
RETURN
Видимо автор исходил из того, что если система не суппортит .DSTAT - выбрать аргумент. Но во-первых его суппортят все RT-11 как минимум начиная с версии 3, во-вторых при неподдерживаемом вызове RT-11 не выставляет C.
---------- Post added at 17:10 ---------- Previous post was at 17:09 ----------
Вот что отлично работало на этом месте:
EMT 342 ; PIC .DSTATUS
BCS O.BAD
MOV AREA+4,R1
O.GOOD:
TST (PC)+
O.BAD: SEC
RETURN
Да, это правильный код.
---------- Post added at 17:12 ---------- Previous post was at 17:10 ----------
Еще упростить как я нарисовал, код подсократится на слова 3-4 :)
Кстати даже как написано топорно можно было сократить на слово - незачем несколько раз подряд MOV PC,Rx делать :)
Хотя нет - тут не поможет - мало раз делается :)
Да, это правильный код.Это фрагмент из первой версии драйвера. Потом авторы совместными усилиями всё запутали.
---------- Post added at 13:21 ---------- Previous post was at 13:13 ----------
Похоже, что вот этот код неправильный:
O.ON:
CALL FINDRV
TST R1 ; Если драйвер уже загружен,
BNE L1$ ; напечатать об этом
MOV @#SYSPTR, R0
BIS #EIS$,CONFIG(R0) ; включить EIS
.IF DF FPP
BIT #FPP$,CONFG1(R0) ; Ошибка, если нет FPP.
BNE 2$
JSR R0,3$
.ASCIZ /?EM-F-Use FPP/
.EVEN
3$: .PRINT
MOV (SP)+,R0;
BR O.BAD
При отсутствии FPP - BIS #EIS$,CONFIG не отменяется перед выходом.
Это фрагмент из первой версии драйвера. Потом авторы совместными усилиями всё запутали.
---------- Post added at 13:21 ---------- Previous post was at 13:13 ----------
Похоже, что вот этот код неправильный:
O.ON:
CALL FINDRV
TST R1 ; Если драйвер уже загружен,
BNE L1$ ; напечатать об этом
MOV @#SYSPTR, R0
BIS #EIS$,CONFIG(R0) ; включить EIS
.IF DF FPP
BIT #FPP$,CONFG1(R0) ; Ошибка, если нет FPP.
BNE 2$
JSR R0,3$
.ASCIZ /?EM-F-Use FPP/
.EVEN
3$: .PRINT
MOV (SP)+,R0;
BR O.BAD
При отсутствии FPP - BIS #EIS$,CONFIG не отменяется перед выходом.
Я бы сказал, что устанавливать его в принципе надо перед тем как уже запустился в работу. @#SYSPTR эффективно можно заменить на @R3 в данном случае. Еще ошибка: драйвер исходит из того, что EIS в принципе не поддерживается, а если он таки поддерживается и драйвер по сути эмулировал FIS, то при выключении его конфиг покажет что поддержки нет.
---------- Post added at 17:29 ---------- Previous post was at 17:27 ----------
А, не, он там что-то пытается учинить разборками с прерываниями... Даже копаться лень :)
драйвер исходит из того, что EIS в принципе не поддерживается, а если он таки поддерживается и драйвер по сути эмулировал FIS, то при выключении его конфиг покажет что поддержки нет.При выключении драйвера даётся команда MUL R0,R0 и в отбработчике Trap to 010 сбрасывается системный бит поддержки EIS.
Хотя в любом случае, он пытается вмешаться в уже проделанную BSTRAPом работу на основе своих личных впечатлений, что неправильно.
Я особо в код драйвера не вглядывался, но стоит посмотреть как работает эмулятор с FIS-командами, если в качестве указателя аргументов используется указатель стека SP. Здесь придется адрес возврата переносить в следующие два слова. Ну и по поводу EIS, тоже может быть такая конструкция, типа ASH -2(SP),R0.
Почему ASH -2(SP), R0 может требовать корректировки адреса возврата?
---------- Post added at 13:56 ---------- Previous post was at 13:53 ----------
Типа, просто отказываться выполнить команду, если регистром-приёмником является R6 или источник был затёрт при входе в прерывание.
Вобщем посмотрел что там со стеком делается... Там это делается из расчета, что оно в подпрограмме. Но на самом деле все в принципе упрощается - незачем по 10 раз одно и то же делать.
Вот к примеру прототип:
.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
Я не стал тут рисовать точку для SYSGEN, но замечу про нее - во-первых 54 можно сразу положить в R3 из DRSET, во-вторых MMGT$ проверять не надо ибо если усер переименовал EM.SYS в EMX.SYS или наоборот, в пору усомниться в его вменяемости. Для всех остальных разборок с системой места остается дохрена. Если бы оставалось мало, можно было бы элементарно перенести эти разборки в оверлей.
---------- Post added at 19:29 ---------- Previous post was at 19:15 ----------
Хотя для SYSGEN там вроде и так оффсет клался в R3...
Я пофиксил в драйвере EM.SYS (http://zx.pk.ru/attachment.php?attachmentid=33530) только те моменты, которые приводят к невозможности корректно выйти из прерывания. Поскольку аргументы FIS не используют методов адресации - похоже, что неправильного выполнения команд FIS на ДВК-1 вообще быть не должно.
Проверять затирание исходных данных команд EIS крайне накладно из-за использования там методов адресации. При использовании SP в качестве регистра-приёмника в команде EIS - значение SP не изменяется.
Выпущена новая версия драйвера EM.SYS ( v1.4 ) (http://zx.pk.ru/attachment.php?attachmentid=33629) - более дружелюбная к пользователю.
Родные версии 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..
Как выяснилось - драйвер EM.SYS не обошли проблемы "последнего слова", которое затирается у драйвера при загрузке в "продвинутых" мониторах, если в исходнике не были учтены параметры генерации.
В новой версии драйвера EM.SYS ( v1.4 ) (http://zx.pk.ru/attachment.php?attachmentid=33629) эти проблемы решены.
Как выяснилось - драйвер EM.SYS не обошли проблемы "последнего слова", которое затирается у драйвера при загрузке в "продвинутых" мониторах, если в исходнике не были учтены параметры генерации.
А зачем их не учитывать? Это фича самого старого 5.0 - возможность написать FORCE в DREND :)
А зачем их не учитывать? Это фича самого старого 5.0 - возможность написать FORCE в DREND У меня сложилось впечатление, что FORCE в DREND работает только у драйверов типа EM и SL.
Если у драйвера есть секция загрузчика, то вызов DREND, осуществляемый в команде DRBOT, не имеет параметра FORCE.
У меня сложилось впечатление, что FORCE в DREND работает только у драйверов типа EM и SL.
Если у драйвера есть секция загрузчика, то вызов DREND, осуществляемый в команде DRBOT, не имеет параметра FORCE.
Никто не мешает вызвать его самостоятельно перед DRBOT.
Никто не мешает вызвать его самостоятельно перед DRBOT.Как именно?
Когда я просто вызвал .DrEnd перед .DrBot - MACRO выдал мне 27 ошибок.
Как именно?
Когда я просто вызвал .DrEnd перед .DrBot - MACRO выдал мне 27 ошибок.
Ну значит надо собирать в 5.7 - там можно в DRBOT писать FORCE :)
Обновилась текущая сборка "эмулятора ДВК": DVK_Emulator_04.03.12_18-07
Изменения:
1. Обновлены драйверы: HD.SYS до версии 1.2 ; EM.SYS до версии 1.4
2. Добавлен драйвер HX.SYS версии 1.0 поддержки блочных устройств, подключаемых через последовательный порт по протоколу HX 1.0
3. Обновлён RESORC.SAV до версии V05.07 em
4. В стартовые командные файлы добавлена команда SET EM ON
5. Добавлена поддержка адаптера TCP/IP для потока байтов (без передачи команд протокола ByteStream).
6. Добавлена поддержка фильтра-мультиплексора протокола HX 1.0 для потока байтов (без передачи команд протокола ByteStream).
7. Добавлены базовые параметры объекта Terminal ( файл Terminal.ini ):
7.1. FF_ANSI_STR = "\012" - Строка, подставляемая во входной поток терминала при поступлении кода FF ( 014 ).
7.2. VT_ANSI_STR = "\012" - Строка, подставляемая во входной поток терминала при поступлении кода VT ( 013 ).
8. Добавлено состояние SlowMultiByte объекта Terminal ( ini-секция объекта в файле .cfg ), управляющее скоростью генерации многобайтовых посылок. Значение по умолчанию: 1.
9. Добавлен параметр Cursor_OFF_Latency_MS объекта Terminal ( ini-секция объекта в файле .cfg ), задающий время ( в миллисекундах ) выключения курсора после каждого вывода на экран (неотображаемые коды также учитываются). Значение по умолчанию: 30. Максимальное значение 500 - позволяет полностью убрать курсор с экрана при скорости вывода более 2 символов в секунду.
...
Открыта тема Эмулятор ДВК (http://zx.pk.ru/showthread.php?t=18351) в разделе "Эмуляторы отечественных компьютеров (http://zx.pk.ru/forumdisplay.php?f=61)"
...
Добавлено описание: Использование эмулятора в конфигурации по-умолчанию. 1. Основные сведения. (http://zx.pk.ru/showthread.php?p=475710#post475710)
...
Дополнение.
Для начала работы с эмулятором нужно запустить на выполнение файл pdp11.exe.
С вероятностью 1% .. 5% при выходе из программы она "застревает" в памяти, что делает невозможным изменение или переименование файла эмулятора. В таком случае для осуществления указанных действий нужно перезагрузить Windows или запустить диспетчер задач Windows и завершить "застрявший" экземпляр процесса pdp11.exe принудительно.
Размеры, положение и состояние окна запоминаются эмулятором в файле pdp11.ini. Там же находятся параметры
nMainWindowMinWidth = 692
nMainWindowMinHeight = 522определяющие минимальный размер, до которого можно уменьшить окно.
Добавлено описание: Эмулятор терминала. (http://zx.pk.ru/showthread.php?p=476132#post476132)
---------- Post added at 15:03 ---------- Previous post was at 13:09 ----------
Дополнение.
Если фокус ввода находится в окне терминала, то при вращении колеса мыши с нажатой клавишей <Ctrl> - используемый размер шрифта будет увеличиваться или уменьшаться в зависимости от направления вращения.
Обновилась текущая сборка "эмулятора ДВК"
Эмуляцию MY будешь делать? :)
Могу поделиться собраной на основе живого тестирования информацией о том как что работает (с документацией кое-где расходится, а кое-что и вовсе в документации не отражено).
Эмуляцию MY будешь делать? :)
Могу поделиться собраной на основе живого тестирования информацией о том как что работает (с документацией кое-где расходится, а кое-что и вовсе в документации не отражено).
Сперва надо сделать эмуляцию DX и MX.
Интересно, а что расходится с документацией, и что не отражено?
Сперва надо сделать эмуляцию DX и MX.
Интересно, а что расходится с документацией, и что не отражено?
Тот вариант который пробовали у Andrey_Ak к примеру на bus timeout не выставляет соответствующий бит в статусе, а вместо этого выставляет одновременно два CRC error для областей заголовка и данных.
В описании написано, что количество слов не может быть больше 177776. На практике 177777 отлично отрабатывается.
А неотраженного там много всякого по мелочи - к примеру нигде не упоминается, что бит инициализации работает только если одновременно выставить GO, нигде не упоминается, что выставленное при этом разрешение прерываний сбросится и прерывания не будет. Нигде не упоминается, что этот бит может снять начатую команду которой еще не передали данных, но не может прервать уже запущенную.
Ошибка, "устанавливаемая при попытке прочитать дискету нестандартного формата" устанавливается видимо только в одном случае - когда пытаешься прочитать сектор с номером 0 и никогда более - об этом тоже нелегко догадаться. Второй случай установки этого бита по описанию бывает когда задается неверный параметр разметки, а это в принципе невозможно. Разьве что можно задать несуществующую сторону для одностороннего дисковода, но этот случай проверить не на чем.
Из описания не ясно какая ошибка будет при обращении к несуществующему дисководу. Ответ: а никакая. Просто статус ошибки без дополнительных битов.
Про команду чтения заголовка не написано что именно она читает. Проверка показала, что самое полезное таки, но это середина области заголовка.
Загадочный бит "ошибочное функционирование контроллера" тоже не ясен из документации. У меня он выставился один раз только - при bus timeout.
Есть правда подозрение, что вариантов этого контроллера было множество. У этого, стоящего на ДВК4 обнаружился еще интересный прикол - он выставляет BIRQ6 на прерывание :)
Я дизассемблировал все прошивки и разобрался как они работают. Вечером буду дома, выложу. Проследить алгоритм работы будет можно. В документации не описаны подробно регистры, находящиеся по ту сторону, т.е. со стороны контроллера, а там тоже есть много чего интересного. Да и многое, что будет, если сделать то-то, а не это определяется прошивкой. Так что тексты есть, можно разобраться.
У Andrey_Ak надеюсь прошивка -255, раз уж удалось загрузить RT11XM и RSX-11.
У Andrey_Ak надеюсь прошивка -255, раз уж удалось загрузить RT11XM и RSX-11.
Я так полагаю, что важнее для начала возможность в принципе адресовать 22бит :)
Кстати, копаясь, обнаружил, что недокументированные команды что-то делают - одна выполняет то же самое что INIT, также не дает прерывания, а три или четыре - лень в записи смотреть - просят параметр.
---------- Post added at 14:17 ---------- Previous post was at 14:15 ----------
Я так полагаю, что важнее для начала возможность в принципе адресовать 22бит :)
Причем в RSX при установке в таблицах устройства бита, говорящего, что это MASSBUS/QBUS-22 устройство, адрес буфера программы драйверу передается как раз в формате какой используется в MY :)
Я про -255 говорил в том плане, что в -091 была грубая ошибка в прошивке. При получении 22-разрядного адреса там очищались старшие биты, поэтому блок параметров мог находится только в нижних 64К. Естественно ни о каких XM и RSX-11 при такой прошивке не было и речи.
Еще кстати, я упоминал про то, что MTPI/MFPI работали только с младшим байтом. Так вот по этому поводу anonymous c bk0010.org сказал, что эта ошибка была в процессорах до 1989 года выпуска.
Я про -255 говорил в том плане, что в -091 была грубая ошибка в прошивке. При получении 22-разрядного адреса там очищались старшие биты, поэтому блок параметров мог находится только в нижних 64К. Естественно ни о каких XM и RSX-11 при такой прошивке не было и речи.
Ну почему же.
С XM вообще проблем нет ибо драйвер там размещается как раз в нижней памяти, а если он себе и выделяет регион для чего-либо, то не ради 4 слов - минимальный блок - 32 слова :)
В RSX же зависит от реализации. Я держу блок параметров в коде драйвера и это непредсказуемое место, но можно выделять блок из динамической памяти и тогда он окажется ниже 120000.
Эмуляцию MY будешь делать?
Сперва надо сделать эмуляцию DX и MX.В идеале - я должен закончить основные разделы модульного API, а писать эмуляторы конкретных устройств лучше тем, кто разбирается в их работе.
Модульный API настолько прост и предоставляет настолько мощный сервис, что написать с его помощью эмулятор любого конкретного устройства - легко и приятно :)
Но пока модульный API претерпевает частые изменения - то чем больше эмуляторов конкретных устройств я напишу - тем хуже для дела.
В ближайшее время я планирую написать только адаптер COM-порта для потока байтов, чтобы эмулятор можно было подключать к последовательным портам реальных машин и использовать в качестве эмулятора терминала, эмулятора диска с последовательным интерфейсом HX, или того и другого вместе ( чтобы можно было загружать RT-11 на голых материнских платах с единственным последовательным портом ).
В ближайшее время я планирую написать только адаптер COM-порта для потока байтов, чтобы эмулятор можно было подключать к последовательным портам реальных машин и использовать в качестве эмулятора терминала, эмулятора диска с последовательным интерфейсом HX, или того и другого вместе ( чтобы можно было загружать RT-11 на голых материнских платах с единственным последовательным портом ).
Главное - TRANSF из RT-11 :)
Я сейчас мелкие файлы загоняю в RT-11 из E11 через TRANSF. Работает неплохо, но приходится крутить очень негибкие настройки порта. Если у тебя будет ровная посылка - возможно меньше повторов будет :)
Добавлено описание: Эмулятор терминала ( продолжение ). Настройки клавиатуры. (http://zx.pk.ru/showthread.php?p=476600#post476600)
Но пока модульный API претерпевает частые изменения
А можно будет подробнее раскрыть состав и главную идею разработки? Простым языком, и будет ли это коммерческий продукт? В каких (например) средах визуальной
разработки будет возможно использование модулей? В общем всё всё интересно, как
и насколько планируется доработать "побочный эмулятор ДВК" )))
В прикрепленном архиве все известные четыре прошивки на КМД ДВК - бинарные файлы и дизассемблированные варианты с комментариями, плюс файл распределения памяти.
Тот вариант который пробовали у Andrey_Ak к примеру на bus timeout не выставляет соответствующий бит в статусе, а вместо этого выставляет одновременно два CRC error для областей заголовка и данных.
Загадочный бит "ошибочное функционирование контроллера" тоже не ясен из документации. У меня он выставился один раз только - при bus timeout.
При ошибочном функционировании контроллера другие биты не играют роли, в младшем байте содержится код ошибки:
100000 - возникло прерывание TRAP10
100001 - нет исправных блоков ОЗУ
100002 - ошибка контрольной суммы ПЗУ
100003 - TRAP4 во время операций чтения/записи
100004 - TRAP4 не во время операций чтения/записи
100005 - ошибка тестирования процессора
100006 - ошибка регистра команд
100007 - ошибка регистра данных
100010 - ошибка РСН накопителя
100012 - прерывание по вектору 24
А можно будет подробнее раскрыть состав и главную идею разработки? Простым языком, и будет ли это коммерческий продукт? В каких (например) средах визуальной разработки будет возможно использование модулей?Только я написал подробный ответ на этот вопрос, как тупой API Windows, упорно считающий нажатие на клавишу <Alt> командой вызова меню - немедленно выполнил управляющую последовательность переключения регистров в качестве команды закрытия окна.
Продолжу с того места, где остановился.
Фактически, обсуждаемый модульный API является специализированной разновидностью COM/OLE, гораздо (надеюсь) более удобной и эффективной, а потому (совершенно точно) заметно менее универсальной.
Чтобы модули, написанные разными людьми с использованием разных версий библиотеки API, были двоично-совместимы и могли быстро и без существенных ограничений вызывать функции друг друга через обыкновенные (почти) указатели - приходится вводить довольно существенные ограничения.
На сегодняшний день известные ограничения таковы:
1. Взаимодействующий код модулей должен быть написан на C++ в MS Visual Studio.
2. Взаимодействующий код модулей должен быть скомпилирован без поддержки Unicode.
В прикрепленном архиве все известные четыре прошивки на КМД ДВК - бинарные файлы и дизассемблированные варианты с комментариями, плюс файл распределения памяти.
Пришпилил в раздел ДВК, как-то вот так ))) (http://pdp-11.org.ru/~hobot_lmb/ukdwk_archive/dwkwebcomplekt/KMD_DVK/)
Добавлено описание: Эмулятор терминала ( продолжение 2 ). Настройки цвета. (http://zx.pk.ru/showthread.php?p=476753#post476753)
Так выглядят мои наивные попытки воспроизвести при помощи настроек эмулятора терминала "цветовую гамму" различных мониторов:
15ИЭ-00-013
http://s1.hostingkartinok.com/uploads/images/2012/03/7f938d934a25b444178b60377571908c.png
TerminalTextColor_RGB = 44,220,86
FrameBackgroundColor_RGB = 125,130,140
TerminalBackgroundColor_RGB = 42,46,44
======================================
Электроника МС 6105
http://s1.hostingkartinok.com/uploads/images/2012/03/2ffa35d593ec2f5d55b9bdf9c42ed689.png
TerminalTextColor_RGB = 150,200,240
FrameBackgroundColor_RGB = 172,170,160
TerminalBackgroundColor_RGB = 50,60,55
======================================
DEC VT220
http://s1.hostingkartinok.com/uploads/images/2012/03/0cf8943e785a32a46baf2a1d18f54a52.png
TerminalTextColor_RGB = 230,210,120
FrameBackgroundColor_RGB = 145,140,135
TerminalBackgroundColor_RGB = 48,44,58
...
Думаю, обладатели реальных терминалов и мониторов могли бы попробовать подобрать такие значения указанных параметров, при которых картинка на экране монитора PC в эмуляторе терминала была бы наиболее похожа на вид экрана оригинального терминала/монитора.
Думаю, обладатели реальных терминалов и мониторов могли бы попробовать подобрать такие значения указанных параметров, при которых картинка на экране монитора PC в эмуляторе терминала была бы наиболее похожа на вид экрана оригинального терминала/монитора.
Если монохромный, то я у себя в эмуле подобрал такие цвета по фотке реального моника. Бумага - 0x2D5120, чернила - 0x03FF15.
Что в переводе в десятичный:
45, 81, 32
3, 255, 21
Если монохромный, то я у себя в эмуле подобрал такие цвета по фотке реального моника. Бумага - 0x2D5120, чернила - 0x03FF15.
API считывает RGB-значения таким манером:
sscanf( acBuf, "%i%*c%i%*c%i", &uR, &uG, &uB );
Поэтому, HEX, вроде, тоже понимает.
В итоге, такие настройки:
TerminalTextColor_RGB = 0x03,0xFF,0x15
FrameBackgroundColor_RGB = 160,160,160
TerminalBackgroundColor_RGB = 0x2D,0x51,0x20
Дают такой результат:
http://s1.hostingkartinok.com/uploads/images/2012/03/33f64d08a79acb33d90bb1ad27fe1236.png
---------- Post added at 10:53 ---------- Previous post was at 10:48 ----------
Хитрость здесь в том, что если на фотке хотя бы один из каналов насыщен ( т.е. имеет значение 255 == 0xFF ) - значит подлинный контраст изображения утерян.
На самом деле, когда смотришь на горящие циферки реального монитора - зрачок сужается и фон кажется более тёмным. При фотографировании экрана реального монитора - нужно включить режим коррекции EV и уменьшать экспозицию до тех пор, пока у изображения самых ярких точек экрана - значение яркости в каждом из трёх каналов ( R, G, B ) не станет меньше 255 ( 0xFF ).
На самом деле, когда смотришь на горящие циферки реального монитора - зрачок сужается и фон кажется более тёмным. При фотографировании экрана реального монитора - нужно включить режим коррекции EV и уменьшать экспозицию до тех пор, пока у изображения самых ярких точек экрана - значение яркости в каждом из трёх каналов ( R, G, B ) не станет меньше 255 ( 0xFF ).
А мне кажется, что все равно очень похоже. )
А мне кажется, что все равно очень похоже. )Главное, чтобы результат нравился - для того и нужны настройки :)
---------- Post added at 12:19 ---------- Previous post was at 11:12 ----------
Добавлено описание: Эмулятор терминала ( продолжение 3 ). Настройки курсора. (http://zx.pk.ru/showthread.php?p=476927#post476927)
Добавлено описание: Эмулятор терминала ( продолжение 4 ). Настройки полосы статуса внутреннего окна. (http://zx.pk.ru/showthread.php?p=477262#post477262)
В прикрепленном архиве все известные четыре прошивки на КМД ДВК - бинарные файлы и дизассемблированные варианты с комментариями, плюс файл распределения памяти.
А может навскидку скажешь чтобы не копаться - есть способ узнать какой дисковод прицеплен со стороны софта?
А может навскидку скажешь чтобы не копаться - есть способ узнать какой дисковод прицеплен со стороны софта?
А в каком смысле - какой дисковод? 3,5" или 5,25"? Или есть он или его нет?
А в каком смысле - какой дисковод? 3,5" или 5,25"? Или есть он или его нет?
Всмысле сколько дорожек и сторон :)
---------- Post added at 01:32 ---------- Previous post was at 01:31 ----------
И кстати есть/нет тоже интересно.
Всмысле сколько дорожек и сторон :)
Увы, никак. Даже через ВП1-128 не узнаешь. Обычно все эти параметры задавались в RT-11 в драйвере MY.SYS.
---------- Post added at 22:43 ---------- Previous post was at 22:33 ----------
И кстати есть/нет тоже интересно.
Насчет есть или нет - для КМД ДВК сложно. Есть функция позиционирования, но там при исполнении функций включается мотор и смотрится, есть ли дискета или нет, так что при отсутствующей дискете или при отсутствующем приводе ошибка должна быть одна и та же.
А и фиг с ним - будет фиксированный драйвер для RSX :)
А и фиг с ним - будет фиксированный драйвер для RSX :)
А в чем такая сложность? И в чем фиксированность?
С RSX-11 шапочно знаком только как пользователь, поэтому и задаю такие вопросы.
А в чем такая сложность? И в чем фиксированность?
С RSX-11 шапочно знаком только как пользователь, поэтому и задаю такие вопросы.
RSX заточен под стандартное оборудование. Команды SET заранее расписаны и драйвер на них не влияет. Тип устройства определяется программой конфигурации оборудования на основании данных которые вернул драйвер, но в нашем случае драйвер не знает что вернуть даже если мы перепишем модуль программы конфигурации :)
Драйвер который я сделал тупо считает, что дисковод - 80 дорожек, 2 стороны. Сложности вобщем-то нет - можно сделать несколько драйверов с разными параметрами и подсоввывать нужный - благо, в M-PLUS в отличие от S, M или P/OS, драйвера можно носить из системы в систему независимо от параметров :)
---------- Post added at 01:55 ---------- Previous post was at 01:52 ----------
Можно конечно как вариант - в момент подачи системой запроса на переход в online попытаться дернуть дорожки и стороны, но это будет видимо зависеть от наличия диска в кармане :)
Драйвер который я сделал тупо считает, что дисковод - 80 дорожек, 2 стороны.
Обычно ДВК3М и 4 и комплектовались такими дисководами, так что я думаю вполне нормально.
---------- Post added at 23:02 ---------- Previous post was at 22:58 ----------
Можно конечно как вариант - в момент подачи системой запроса на переход в online попытаться дернуть дорожки и стороны, но это будет видимо зависеть от наличия диска в кармане :)
Даже если доберетесь до ВП1-128 (а прошивка -255 такое позволяет), то максимум, что можно узнать, есть привод или нет. Да и то гарантии нет, если привод не позволяет перемещать головку без защелкнутой дискеты, то и это не узнаешь.
А уж узнать кол-во дорожек и сторон, то это не реально.
Даже если доберетесь до ВП1-128 (а прошивка -255 такое позволяет), то максимум, что можно узнать, есть привод или нет. Да и то гарантии нет, если привод не позволяет перемещать головку без защелкнутой дискеты, то и это не узнаешь.
А уж узнать кол-во дорожек и сторон, то это не реально.
На данный момент установлено, что если обратиться к приводу которого нет, будет "никакая" ошибка. Возможно, это и есть способ узнать есть ли дисковод :)
На данный момент установлено, что если обратиться к приводу которого нет, будет "никакая" ошибка. Возможно, это и есть способ узнать есть ли дисковод :)
Там будет не "никакая" ошибка, а ошибка отсутствующей дискеты, т.е. сброшен бит 7.
Попробуйте опыт - считать нулевой блок с отсутствующей дискеты и с отсутствующего дисковода. Ошибка должна быть одна и та же.
Там будет не "никакая" ошибка, а ошибка отсутствующей дискеты, т.е. сброшен бит 7.
Попробуйте опыт - считать нулевой блок с отсутствующей дискеты и с отсутствующего дисковода. Ошибка должна быть одна и та же.
про бит 7 написано - устанавливается в 0 если дискета не вращается, такой код вернется если через некоторое время прочитать повторно статус (командой чтение статуса)
чтение с маркером при ненахождении сектора у меня вернуло код со сброшенным битом 7.
ни одна команда кроме чтения с несуществующего дисковода не вернула пустой регистр состояния (с установленными битами номера дисковода)
отсутствующую дискету не пробовал - возможно также.
про бит 7 написано - устанавливается в 0 если дискета не вращается, такой код вернется если через некоторое время прочитать повторно статус (командой чтение статуса)
Да, этот бит сбрасывается при выключении мотора. После выполнения операции мотор вращается некоторое время. Программа в контроллере ждет новую команду, а заодно и считает кол-во оборотов диска. Если за 15 оборотов не поступило новой команды, то мотор выключается и сбрасывается бит 7 в регистре ошибок и состояния.
чтение с маркером при ненахождении сектора у меня вернуло код со сброшенным битом 7.
ни одна команда кроме чтения с несуществующего дисковода не вернула пустой регистр состояния (с установленными битами номера дисковода)
А вот это странно, не должно быть такого. Если дискета присутствует, то мотор после выполнения операции не выключается и ошибка должна вернуться и с установленным битом 7 и с битами привода.
Вот такие ДОКИ откопались, по установке
TSX-plus - в архиве retroDOTdyndns_homeDOTcom\Disks\Neti\Disk42\ (http://pdp-11.org.ru/~hobot_lmb/ukdwk_archive/dwkwebcomplekt/retroDOTdyndns_homeDOTcom/)
1. drajwery ustrojstw, kotorye uve skorrek-
tirowany i gotowy k ispolxzowani`: CR, CT, DD, DL, DM, DP,
DS, DT, DX, DY, LP,
LS, MM, MS, MT, NL, PC, RF, DU, RK, VM, XL.
wse |ti fajly ime`t ras{irenie "TSX".
zametim, ~to fajl VM ne qwlqetsq drajwerom VM firmy DEC.
Спасибо!
P.S. А что за это комплект ПО такой упоминается: RTSORT (PRO/RTSORT)?
Я про эти разработки как и про ТSX-систему для ДВК ничего не знаю.
Надо архив по ссылке изучать, там косвенно всплывает несколько
"готовых" разработок для ДВК (каких то видимо программных комплектов)
Исходники редактора "МУЛЬТИФОРМАТ" и программы перевода в этот формат DOC-файлов.(Паскаль).
Подозреваю, что будут работать (если это нужно конечно кому-то) и на УКНЦ )))
Загаловок редактора:
PROGRAM MULTIFORMAT;
(************************************************* ********************
* * Z E C K - 6 3 . 1 * *
М Н О Г О Р Е Ж И М Н А Я П Р О Г Р А М М А
Ф О Р М А Т И Р О В А Н И Я Т Е К С Т О В .
M U L T I F O R M A T
*********************
(C) КАФЕДРА ВТ ЛЭТИ **ZECK** 1984Г.
************************************************** *******************)
Программа преобразователь форматов
(************************************************* *************************
П Р Е О Б Р А З О В А Т Е Л Ь Ф А Й Л О В D O C => M F T
* * D O C M U L * *
( * * Z E C K - 6 4 . 1 * * )
************************************************** ***********
(C) КАФЕДРА ВТ ЛЭТИ **ZECK** 08.84.
************************************************** *************************)
LABEL
90,100,101,110;
(** ТИПЫ **)
TYPE
NAM=ARRAY[1..3] OF CHAR;
POSIT=RECORD
NM:NAM; CO:INTEGER;
END;
(** ОПИСАНИЕ ПЕРЕМЕННЫХ **)
VAR
NF: TEXT; (* ВХОДНОЙ ФАЙЛ *)
UF: TEXT; (* ВЫХОДНОЙ ФАЙЛ *)
FNAM: ARRAY[1..14] OF CHAR;(*ИМЯ ФАЙЛА *)
INTI: BOOLEAN; (* ИНДИКАТОР АННОТАЦИИ *)
SBT: ARRAY[1..128] OF CHAR;(*МАССИВ КОЛОНТИТУЛА *)
SBTL: INTEGER; (* КОЛИЧЕСТВО СИМВОЛОВ КОЛОНТИТУЛА *)
INS: NAM; (* ДИРЕКТИВА *)
I: INTEGER; (* СЛУЖЕБНАЯ ПЕРЕМЕННАЯ *)
S: CHAR; (* СИМВОЛ *)
K: INTEGER; (* НОМЕР ПОСИЦИИ В ТАB *)
TL: INTEGER; (* ЧИСЛО ДИРЕКТИВ DOC *)
TAB: ARRAY [1..30] OF POSIT;(* ТАБЛИЦА ДИРЕКТИВ DOC *)
NST: INTEGER; (* НОМЕР ВХОДНОЙ СТРОКИ *)
NAPN: INTEGER; (* НОМЕР ПРИЛОЖЕНИЯ *)
(** ВЫВОД ДИРЕКТИВЫ **)
PROCEDURE PUTD(D:INTEGER);
BEGIN
IF (D=6) AND INTI
THEN
BEGIN
WRITELN(UF,'.5');INTI:=FALSE;
END;
WRITE(UF,'.');
IF D<10
THEN WRITE(UF,D:1)
ELSE WRITE(UF,D:2);
WRITE(UF,' ');
END;
(** ИНИЦИАЛИЗАЦИЯ ТАБЛИЦЫ ДИРЕКТИВ **)
PROCEDURE INITD;
PROCEDURE A(N:NAM;C:INTEGER);
BEGIN
TL:=TL+1;TAB[TL].NM:=N;TAB[TL].CO:=C;
END;
BEGIN
TL:=0;
A('LIN',1);A('BLN',2);A('SWT',10);A('LST',4);A('TE S',4);
A('HLV',6);A('AND',26);A('CHA',15);A('STL',17);A(' TCT',25);
A('COM',20);A('CPY',16);A('PAG',5);A('TOC',10);A(' CLN',4);
A('TLU',10);A('TTL',10);A('INT',10);A('APN',10);A( 'TBL',10);
A('ATT',1);A('SKI',23);A('RIT',3);A('MID',7);A('CP T',6);
A('MRR',10);
END;
(* ПРОПУСК ДО КОНЦА СТРОКИ *)
PROCEDURE SKIP;
BEGIN
WHILE NOT EOLN(NF) DO
BEGIN
READ(NF,S);WRITE(UF,S);
END;
READLN(NF);WRITELN(UF);NST:=NST+1;
END;
(* РАЗДЕЛЕНИЕ ДИРЕКТИВЫ И АРГУМЕНТА *)
PROCEDURE RAZD;
BEGIN
PUTD(TAB[K].CO);WRITELN(UF,'0');S:=' ';
WHILE (S=' ') AND NOT EOLN(NF) DO READ(NF,S);
WRITE(UF,' ');
IF S<>' '
THEN WRITE(UF,S);
SKIP;
WRITELN(UF,'.10 0');
END;
(* ВЫВОД ****** *)
PROCEDURE WRITEZV(Z:INTEGER);
VAR
I:INTEGER;
BEGIN
FOR I:=1 TO Z DO WRITE('*');
END;
(***** ОСНОВНАЯ ПРОГРАММА *********************************************)
BEGIN
INITD;NAPN:=0;NST:=0;SBTL:=0;INTI:=FALSE;
WRITEZV(34);WRITE('ZECK');WRITEZV(34);WRITELN;
FOR K:=1 TO 27 DO WRITE(' ');WRITELN('* * D O C M U L * *');
FOR K:=1 TO 33 DO WRITE(' ');WRITELN('V01.01');WRITEZV(72);WRITELN;
WRITE('ВХОДНОЙ ФАЙЛ:');READLN;READLN(FNAM);
RESET(NF,FNAM,'DOC',K);
IF K<0
THEN
BEGIN
WRITELN('?Z64-F-НЕТ ФАЙЛА',FNAM); GOTO 110;
END;
WRITE('ВЫХОДНОЙ ФАЙЛ:');READLN(FNAM);
REWRITE(UF,FNAM,'MFT');
WRITELN(UF,'.27 1');WRITELN(UF,'.18 1');
WHILE NOT EOF(NF) DO
BEGIN
IF EOLN(NF)
THEN SKIP
ELSE
BEGIN
READ(NF,S);
IF S<> '.'
THEN
BEGIN
WRITE(UF,S);SKIP;
END
ELSE
BEGIN
FOR K:=1 TO 3 DO
BEGIN
IF EOLN(NF)
THEN GOTO 100; READ(NF,INS[K]);
END;
FOR I:=1 TO 3 DO
IF INS[I]>'Z'
THEN INS[I]:=CHR(ORD(INS[I])-(ORD('Б')-ORD('B')));K:=0;
FOR I:=1 TO TL DO
IF TAB[I].NM=INS
THEN
BEGIN
K:=I;GOTO 90;
END;
GOTO 100;
90:
CASE K OF
1,2,3,4,5,7,8,10,11,12,13,14,15:
BEGIN
PUTD(TAB[K].CO);SKIP;
END;
6:
BEGIN
WRITELN(UF,'.10 3');WRITELN(UF,'.4 5');PUTD(TAB[K].CO);SKIP;
END;
23,24: RAZD;
22:
BEGIN
WRITELN(UF,'.4');PUTD(23);SKIP;WRITELN(UF,'.2 0');
END;
21:
BEGIN
WRITE(UF,'.1 П_Р_И_М_Е_Ч_А_Н_И_Е. '); SKIP;
END;
20:
BEGIN
RAZD;WRITELN(UF,'.26 0');
END;
18,19:
BEGIN
WRITELN(UF,'.5');WRITELN(UF,'.18 0');WRITELN(UF,'.6 0');
IF K=19
THEN
BEGIN
NAPN:=NAPN+1;WRITELN(UF,'ПРИЛОЖЕНИЕ ',NAPN:2);
END
ELSE
BEGIN
INTI:=TRUE;WRITELN(UF,'АННОТАЦИЯ');
END;
WRITELN(UF,'.18 1');WRITE(UF,'.11 3 ');SKIP;
END;
25:
BEGIN
WRITELN(UF,'.5');RAZD;
END;
26:
BEGIN
WRITELN(UF,'.10 0');READLN(NF);NST:=NST+1;
END;
17:
BEGIN
WRITELN(UF,'.5');WRITE(UF,'.10 3 '); SKIP;WRITELN(UF,'УТВЕРЖДЕН');
WRITELN(UF); FOR I:=1 TO SBTL DO WRITE(UF,SBT[I]);
WRITELN(UF,'-ЛУ');WRITELN(UF,'.21 14');
WRITELN(UF,'ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ СМ ЭВМ');
WRITELN(UF,'ОПЕРАЦИОННАЯ СИСТЕМА С РАЗДЕЛЕНИЕМ ФУНКЦИЙ');WRITELN(UF);
WRITELN(UF,'Р А Ф О С');WRITELN(UF);
SKIP;SKIP;SKIP;SKIP;SKIP;WRITELN(UF);
FOR I:=1 TO SBTL DO WRITE(UF,SBT[SBTL]);WRITELN(UF);
WRITELN(UF,'.22 4');SKIP;WRITELN(UF,'.3 0');WRITELN(UF,'ЛИТЕРА');
WRITELN(UF,'.10 0');WRITELN(UF,'ПЕРВ.ПРИМЕН.');SKIP;WRIT ELN(UF,'.5');
END;
9:
BEGIN
PUTD(TAB[K].CO);SBTL:=0;
WHILE NOT EOLN(NF) DO
BEGIN
SBTL:=SBTL+1;READ(NF,SBT[SBTL]);
END;
FOR I:=1 TO SBTL DO WRITE(UF,SBT[I]);
SKIP;
END;
16:
BEGIN
WRITELN(UF,'.5');SKIP;FOR I:=1 TO 15 DO SKIP;WRITELN(UF,'.5');
END;
END;
END;
END;
GOTO 101;
100:
WRITELN('?Z64-W-НЕДОПУСТИМАЯ ДИРЕКТИВА. СТРОКА:',NST:4);
101:
BEGIN
END;
END;
110:
WRITEZV(72);WRITELN;
CLOSE(UF);CLOSE(NF);
END.
Состав образа (dsk)
Image : multf_docmul.dsk
Format : DSK
Size : 800 Kb
Volume ID: RT11A
Owner :
File Blocks Date Bytes
---------- ------ ----------- ----------
DMUL .MFT 2 28-Sep-1984 1'024
MULPAS.MFT 2 04-Sep-1984 1'024
MULTIP.MFT 10 04-Sep-1984 5'120
MULTI0.MFT 56 17-Mar-1988 28'672
MULTI2.MFT 42 04-Sep-1984 21'504
MULTP2.MFT 57 28-Sep-1984 29'184
MULTI1.MFT 50 04-Sep-1984 25'600
MULTIF.PAS 84 01-Oct-1984 43'008
DOCMUL.SAV 16 14-Aug-1984 8'192
DOCMUL.PAS 12 14-Aug-1984 6'144
TOS .TMP 10 09-Jun-1987 5'120
MULTIF.SAV 46 18-Nov-1987 23'552
MULTF .SAV 51 06-Oct-1988 26'112
MULTF .ADP 1 05-Oct-1988 512
< UNUSED > 1147 587'264
---------- ------ ----------- ----------
14 Files, 439 Blocks
1147 Free blocks
Добавлено описание: Использование эмулятора в конфигурации по-умолчанию. 2. Системная консоль. (http://zx.pk.ru/showthread.php?p=479830#post479830)
...
Добавлено описание: Использование эмулятора в конфигурации по-умолчанию. 3. Отладочная консоль. (http://zx.pk.ru/showthread.php?p=479887#post479887)
...
Добавлено описание: Изменение эмулируемой конфигурации. 1. Загрузка файлов конфигурации. (http://zx.pk.ru/showthread.php?p=479940#post479940)
...
Добавлено описание: Изменение эмулируемой конфигурации. 2. Формат файлов конфигурации. (http://zx.pk.ru/showthread.php?p=480073#post480073)
Дополнение.
В секции [links] "поведение" символа ';' отличается от других секций. В любых других секциях символ ';' "работает" ( превращая строку в комментарий ) только в самом начале строки, а в секции [links] - символ ';' означает начало комментария в любой позиции.
Это позволяет "отключать" несколько последних элементов в строке описания группового присоединения, без необходимости их полного удаления из строки.
Коллеги, при всем моем уважении, есть большая просьба: давайте заведем отдельную ветку про эмуляторы? Эта тема и так разрослась до невозможности, а я думаю что ДВК заслужили несколько отдельных тем: по железу, по софту и т.д.
Так есть ведь уже темы на любой вкус - а специальные темы "про эмуляторы" в разделе ДВК, УКНЦ не задерживаются, перемещаясь ( практически самостоятельно ) в раздел Эмуляторы отечественных компьютеров (http://zx.pk.ru/forumdisplay.php?f=61).
Patron, Да просто что-то много в этой ветке стало про софтовые эмуляторы. Не люблю я их ;-)
И это вполне объяснимо. Эмулируемого железа больше не становится, а эмулирующих его программ - ДА !!!
...
Добавлено описание: Изменение эмулируемой конфигурации. 3. Свойства окон объектов. (http://zx.pk.ru/showthread.php?p=480394#post480394)
...
Обновилась текущая сборка "эмулятора ДВК": DVK_Emulator_15.03.12_15-10 (http://zx.pk.ru/attachment.php?attachmentid=33990).
Изменения (http://zx.pk.ru/showthread.php?p=480910#post480910)
---------- Post added at 21:21 ---------- Previous post was at 21:18 ----------
Добавлено описание: Изменение эмулируемой конфигурации. 4. Запуск терминального сервера. (http://zx.pk.ru/showthread.php?p=480934#post480934)
И кстати есть/нет тоже интересно.
вот такое вот нашёл в комментариях PAFа к PAFCommanderu
из имевшейся куцей документации по PP вычиталось о номере регистра дисковода (без деталей).
в ходе экспериментов были вычислены биты этого регистра, отвечающие за два светодиода
внутри дисковода. один(A): защита от записи, второй(B): индексная дырочка.
кто забыл: на 5-ти дюймовых дискатах была у
внутреннего отверстия было отверстие в конверте диска,
а в самом диске -- малопонятного предназначения (об этом позже) дырочка.
эти знания так бы и остались бесполезными,
но на ум пришла ассоциация с метро: помните, у турникета тоже есть
два(больше) детектора(лампочка+фотодет ектор), и когда проходишь,
последовательно пересекаешь туловищем эти лучи.
так вот конструктивно дырочка A находится чуть ближе к пользователю, чем B.
придумалось, что совершенно запросто можно отличить ситуации
* вставляют дискету
* достают дискету
* она спокойно стоит
* она вертится
просто внимательно глядя на состояния битов A и B.
когда вставляют дискету, то сначала перекрывают краем дискеты бит A, затем B.
эти эксперименты дали возможность автоматически перечитывать панельку,
если дискету сменили.
-- Sergei Frolov написал 14 июня 2008 20:03
Паспорт и схема от МС1201.01
http://www.leningrad.su/files/mc1201_01_docs.rar
-- wanderer написал 8 января 2008 9:34
Обновил раздел ДВК, выложил схемы МС1201.03, и КСМ.
это вот такая старая старая тема ))) (http://www.phantom.sannata.ru/forum/index.php?t=2367&a=do_print)
foxb2673
20.03.2012, 06:46
Перевыложу свою копию описания и паспорта 1201.03, а то в теме на Полигоне файлы уже удалились.
ftp://ftp.fox.khv.ru/temp/ms1201_03_opisanie_passport.rar
Правда, оно немного большое, 360 МБ, т.к. необработанное, в виде картинок.
Заодно выкладываю архив с различными вариантами драйверов MX и MY, которые обнаружились у меня.
ftp://ftp.fox.khv.ru/temp/mx_my.zip
Перевыложу свою копию описания и паспорта 1201.03, а то в теме на Полигоне файлы уже удалились.
Может тоже дать логин у меня для выкладывания всего? :)
а то в теме на Полигоне файлы уже удалились.
ещё пока не все удалили ) Там есть парочка ценных по теме архивов, и таких веточек
старых обсуждений помимо "призраков" по всей сети море раскидано, важные вещи надо систематизировано собирать ) Однозначно ! ) Версии драйверов я могу пришпилить в папку ДВК в текущем хламничке, а документация вроде как есть "библиотека" и "двк-текст" папка, но там же так - почти ничего нет )))
foxb2673
20.03.2012, 10:25
Чёрт, не тот каталог запаковал в архив... Вместо паспорта на МС 1201.03 попался паспорт на дисковод.
Перевыложил по отдельности описание и паспорт 1201.03:
ftp://ftp.fox.khv.ru/temp/ms1201_03_opisanie.rar
ftp://ftp.fox.khv.ru/temp/ms1201_03_passport.rar
Никак не дойдут руки систематизировать всё отсканированное и выложить на сайт...
Огромное спасибо! Просто шикарно, даже описание работы ВП1-119 есть!
почти ничего нет )))
Огромная благодарность всем участникам процесса! Выкладывайте, лучше побольше софта и игр для ДВК. Неужели ни у кого из ДВКашников нет копии "Страны Монстров" ? Во что вы там все играли тогда? Ну не в тетрис-же из скобочек-же?
(извиняюсь, истерику прекращаю)
По теме: добавил описания MC1201.01 - из старой темы на "призраках" и МС1201.03 - оба архива от тов.foxb2673 вот сюда (http://pdp-11.org.ru/~hobot_lmb/BIBLIOTEKA/DVKTXT/),
а MXMY-драйвера соответственно тут. (http://pdp-11.org.ru/~hobot_lmb/ukdwk_archive/dwkwebcomplekt/DWKFiles/foxb2673_mxmy/)
Как-то так получается.)
Спасибо.
shattered
21.03.2012, 12:01
ах вот как называлась эта игра... она и на корвете была.
"Битва зелёных экранов" продолжается :)
...
Вариант расцветки от Titusа:
TerminalTextColor_RGB = 3, 255, 21
FrameBackgroundColor_RGB = 160,160,160
TerminalBackgroundColor_RGB = 45, 81, 32
http://s1.hostingkartinok.com/uploads/images/2012/03/33f64d08a79acb33d90bb1ad27fe1236.png
...
Вариант на базе снимков экранов "зелёных" мониторов с более нейтральным фоном:
TerminalTextColor_RGB = 3,255,21
FrameBackgroundColor_RGB = 178,178,178
TerminalBackgroundColor_RGB = 64,81,57
http://s1.hostingkartinok.com/uploads/images/2012/03/91492c2ff4ff79369b2d7fd2af1e1cdf.png
...
Пара вопросов по МС1201.03:
1) что за тест T5 ?
И вообще что делают эти тесты. Я понял что Т4 тестирует память.
В доке вообще речь только про T1-T4, а что такое T0
2) Говорят что в ВМ3 до середины 89 года есть какие-то серъезные ошибки. Знает ли кто подробности?
---------- Post added at 16:14 ---------- Previous post was at 15:41 ----------
И еще вопрос по опыту починки МС1201.03.
Вторая моя МСка не работает. Перемычки также как на первом, но на экране при запуске большой мигающий курсор (у меня КЦГД) и всё. Куда посоветуете тыркаться? Проц пробовал менять на заведомо рабочий. На что обратить внимание?
Перемычки адресов (SA1.x) выставлены одинаково у обеих плат.
И для чего служат два переключателя SA2 ?
Пара вопросов по МС1201.03:
1) что за тест T5 ?
И вообще что делают эти тесты. Я понял что Т4 тестирует память.
В доке вообще речь только про T1-T4, а что такое T0
T1 - тест ПЗУ (контрольная сумма), выполняется в HALT;
T2 - тест СОЗУ, выполняется в HALT;
T3 - тест вектора 4, выполняется в HALT;
T4 - тест ОЗУ, выполняется в HALT;
T5 - тест принтера, выполняется в HALT;
T6 - тест прерывания, выполняется в KERNEL/USER.
Тест T0 последовательно запускает тесты T1, T2, T3, тест ОЗУ в KERNEL/USER (при необходимости) и T6.
Может некоторые вопросы снимут дизассемблированная прошивка 1801РЕ2-134, единственно она без комментариев, времени пока нет разобраться и написать.
2) Говорят что в ВМ3 до середины 89 года есть какие-то серъезные ошибки. Знает ли кто подробности?
Обо всем этом написано в эхе fido7.mo.dec, поиск по "1801ВМ3".
В частности:
1. Процессоры выпуска до середины 1989 года (приблизительно - дату точно не
помню) имели ошибку в командах MFPD/MTPD - они отрабатывались как байтовые.
Из-за них не работал TSX. Ошибка обходилась заменой на команды MTPI/MFPI.
Можно почитать здесь (http://groups.google.com/group/fido7.mo.dec/browse_frm/thread/89d6c2f8a81dd75d/5eb9f665e0acd48a?lnk=gst&q=1801%D0%92%D0%9C3#5eb9f665e0acd48a).
А как правильно в корзине ДВК-3 должны стоять платы:
МС1201.03, КЦГД, DW, MY
---------- Post added at 21:59 ---------- Previous post was at 20:12 ----------
Не поделится ли всезнающий ALL докой по КЖД?
А то имеем ошибку поиска адреса при чтении.
Хочется понять какие узлы за эту ошибку отвечают....
Не поделится ли всезнающий ALL докой по КЖД?
А то имеем ошибку поиска адреса при чтении.
Хочется понять какие узлы за эту ошибку отвечают....
Много документации по ДВК есть на этой страничке (http://oldcomp.vitaly.kremnev.ru/dvk.htm). В том числе и на контроллер жесткого диска со схемой.
Много чего есть и на emuverse.ru, но увы, он пока не доступен.
Еще поймал потрясающий эффект.
Машинка: 1201.03+КЦГД+MY(091, 1809ру1, вп1-128).
Все работает без проблем.
Беру второй такой же MY и ставлю его вместо первого.
Мало того что загрузки с него нет (в ответ - тишина), так еще и производительность машины резко упала.
Надпись про доступное озу после холодного старта появляется в течении секунд 100 (сначала одна звездочка, потом еще две, потом, после паузы, фраза про 256К и, еще после пайзы, приглашение).
По кнопке уст - приглашение сразу.
все тесты (Tx) проходят без ошибок, но тест памяти (t4) видимо часа на два.
Что такое может MY делать с МПИ что всё работает, но сильно медленно? Занимать шину?
И еще вопрос по опыту починки МС1201.03.
Вторая моя МСка не работает. Перемычки также как на первом, но на экране при запуске большой мигающий курсор (у меня КЦГД) и всё. Куда посоветуете тыркаться? Проц пробовал менять на заведомо рабочий. На что обратить внимание?
Перемычки адресов (SA1.x) выставлены одинаково у обеих плат.
И для чего служат два переключателя SA2 ?
КЦГД представляет собой почти полноценный компьютер, поэтому он запускается независимо от материнской платы, ну и курсор соответственно будет мигать. Для починки лучше КЦГД не использовать, а переключить ИРПС на адреса терминала, ну и подключиться например к PC. Заработает так, значит буферная развязка на шине барахлит, а иначе искать придется.
Про SA2 описано в техописании на странице 110. SA2.1 - включение/выключение режима коррекции при чтении ОЗУ, SA2.2 - режим запуска процессор (должен быть замкнут, чтобы при включении питания происходил выход в пультовый отладчик).
---------- Post added at 23:31 ---------- Previous post was at 23:28 ----------
Что такое может MY делать с МПИ что всё работает, но сильно медленно? Занимать шину?
Могу только предположить, что по ПДП, т.к. этот цикл шины использует КМД MY для доступа к памяти материнской платы.
Andrey_Ak
26.03.2012, 05:01
Еще поймал потрясающий эффект.
Машинка: 1201.03+КЦГД+MY(091, 1809ру1, вп1-128).
Все работает без проблем.
Беру второй такой же MY и ставлю его вместо первого.
Мало того что загрузки с него нет (в ответ - тишина), так еще и производительность машины резко упала.
Надпись про доступное озу после холодного старта появляется в течении секунд 100 (сначала одна звездочка, потом еще две, потом, после паузы, фраза про 256К и, еще после пайзы, приглашение).
По кнопке уст - приглашение сразу.
все тесты (Tx) проходят без ошибок, но тест памяти (t4) видимо часа на два.
Что такое может MY делать с МПИ что всё работает, но сильно медленно? Занимать шину?
- Такой-же эффект получается если в корзине сделать "дырку"
Например:
---------МС----------
--------КЦГД---------
--Пусто--- ---Пусто--
--Пусто--- ----MY----
Andrey_Ak, А почему так получается? Какое объяснение этого эффекта при "дырке"?
Andrey_Ak
26.03.2012, 06:54
Andrey_Ak, А почему так получается? Какое объяснение этого эффекта при "дырке"?
- Прерывания не проходят, а МС1201.03 как-то пытается обойти это,
поэтому и тормоза... 1201.01-.02 не тормозит...
Физически, на платах просто перемычки стоят... Можно дырку тупо
перемычкой ликвидировать...
- Прерывания не проходят
Кроме прерываний MY использует DMA который тоже не будет работать при разрыве.
Кроме прерываний MY использует DMA который тоже не будет работать при разрыве.
Так он вроде DMA должен использовать только при работе?
А в моем случае от одного вставления MY всё начинает жутко тормозить.
Я так понял надо проверять цепи прерывания на плате MY. Она хоть и стоит последней, но видимо что-то гадит по прерываниям.
Так он вроде DMA должен использовать только при работе?
А в моем случае от одного вставления MY всё начинает жутко тормозить.
Я так понял надо проверять цепи прерывания на плате MY. Она хоть и стоит последней, но видимо что-то гадит по прерываниям.
А вставляется он в последний слот или по дороге к чему-то?
Тормозит все - устройства или скорость программ тоже замедляется?
form, Он вставляется последним в ближнюю к вентилятору половину. До него только мс1201.03 и кцгд. С другим MY в этой же позиции никаких проблем нет.
Тормозит вроде все - даже тест T4, а он вроде только с памятью работает, к устройствам не лезет. Или я неправ?
form, Он вставляется последним в ближнюю к вентилятору половину. До него только мс1201.03 и кцгд. С другим MY в этой же позиции никаких проблем нет.
Тормозит вроде все - даже тест T4, а он вроде только с памятью работает, к устройствам не лезет. Или я неправ?
Про всякие Т4 ничего не скажу, просто не знаю.
Надо видимо смотреть что на шине творится. Здесь (ftp://ftp.netbsd.org/pub/NetBSD/misc/ross/qbus/QBUS.MADE.EASY) можно посмотреть описание сигналов и примерно построить предположения что может мешать.
Так он вроде DMA должен использовать только при работе?
А в моем случае от одного вставления MY всё начинает жутко тормозить.
Я так понял надо проверять цепи прерывания на плате MY. Она хоть и стоит последней, но видимо что-то гадит по прерываниям.
form, Он вставляется последним в ближнюю к вентилятору половину. До него только мс1201.03 и кцгд. С другим MY в этой же позиции никаких проблем нет.
Тормозит вроде все - даже тест T4, а он вроде только с памятью работает, к устройствам не лезет. Или я неправ?
В пультовом режиме прерывания не используются, к тому же они все запрещены, так что остается только DMA. Можно осмотреть лог.анализатором, есть ли активность на линиях запроса DMA.
Кстати, если после нажатия УСТ все приходит в норму, то какие значения читаются с регистров контроллера 172140 и 172142?
Alex_K, Не совсем так. После нажатия УСТ приглашение появляется быстро, но тот же тест памяти тормозит по-прежнему.
17772140 выдает как и должен 40.
17772142 я не смотрел.
Линии запроса DMA посмотрю.
foxb2673
26.03.2012, 18:09
А как правильно в корзине ДВК-3 должны стоять платы:
МС1201.03, КЦГД, DW, MY
Обычно именно так и стоят. MY при этом справа, если смотреть со стороны монитора.
---------- Post added at 21:59 ---------- Previous post was at 20:12 ----------
Не поделится ли всезнающий ALL докой по КЖД?
Выложил пока тоже сюда:
ftp://ftp.fox.khv.ru/temp/kzhd.djvu
А то имеем ошибку поиска адреса при чтении.
Хочется понять какие узлы за эту ошибку отвечают....
О, отличная ошибка. За неё отвечает весь тракт чтения, всё что угодно может быть... Ошибка поиска адреса - значит, не читается вообще ничего (по крайней мере, осмысленного с точки зрения контроллера).
Начните с проверки генератора 20 МГц, ГУН (схема с варикапами, обрамлённая преобразователями ЭСЛ), схемы формирования строба данных, сепаратора синхросигнала и детектора адресного маркера, преобразователя последовательного кода в параллельный.
С листа 16 этой документации и дальше.
В ГУН надо прежде всего проверить питание -5.2В, и вообще потребляемый всей этой схемой ток - случаются отказы преобразователей уровня 500ПУ125 с пробоем на землю, из-за чего ток многократно возрастает, и четыре параллельных балластных резистора в цепи -12В выгорают в дым.
Плата не слишком приятная в ремонте...
Кстати, до чтения этот диск отформатировали на КЖД, надеюсь?
Формат записи у него не совместим с контроллерами MFM от ИБМ ПК.
---------- Post added at 01:09 ---------- Previous post was at 01:05 ----------
Так он вроде DMA должен использовать только при работе?
А в моем случае от одного вставления MY всё начинает жутко тормозить.
Я так понял надо проверять цепи прерывания на плате MY. Она хоть и стоит последней, но видимо что-то гадит по прерываниям.
КМД при запуске делает попытку выполнить пробный цикл ПДП, запрашивая его и после успешного получения тут же отпуская.
Получение выражается в приходе на него сигнала DMGO.
Таймаута в этом процессе нет, так что если КМД это подтверждение не получит - то сигнал запроса DRQ он будет держать вечно. Из-за этого и тормозит.
Прерывания при старте машины не при чём.
foxb2673, Спасибо за объяснения по КМД.
Про КЖД я подробно еще не разбирался, есть пара наметок, но сначала надо потыркаться. Винт не форматировали, Он стоял в другой ДВК.
Andrey_Ak
26.03.2012, 23:04
foxb2673, Спасибо за объяснения по КМД.
Про КЖД я подробно еще не разбирался, есть пара наметок, но сначала надо потыркаться. Винт не форматировали, Он стоял в другой ДВК.
- Так может все-же стоит найти другой винт и попробовать его отформатировать?
Кто знает что с этим винтом, может и не форматированный вовсе....
Надо сначала с формата начать....
Andrey_Ak, Я еще потыркаюсь как будет время. Может на этом винте дорожку последнюю форматну.
КМД при запуске делает попытку выполнить пробный цикл ПДП, запрашивая его и после успешного получения тут же отпуская.
Получение выражается в приходе на него сигнала DMGO.
Помогите, пожалуйста, разобраться.
По документации на КМД и DMR (А:А12) и DMGO (А:Б15) - выходные сигналы.
Они даже по схеме идут со 1 и 14 ног D8 (531АП2, управляющие входы жестко на + и на землю).
Как тогда понимать "в приходе на него сигнала DMGO"?
Или речь про DMGI (А:Б14) ?
И как нумеруются контакты на разъеме? Например, А:Б14 как найти?
Они даже по схеме идут со 1 и 14 ног D8 (531АП2, управляющие входы жестко на + и на землю).
Как тогда понимать "в приходе на него сигнала DMGO"?
Или речь про DMGI (А:Б14) ?
И как нумеруются контакты на разъеме? Например, А:Б14 как найти?
Сигнал DMGO выходной для шины, но входной для устройства. Если устройство не использует DMA, он сразу замыкается на DMGI. Если устройство работает с DMA, то сигнал или пропускается или обрабатывается.
Насчет советской нумерации не скажу. Вот тут (http://pdp-11.org.ru/~form/files/hidden/qbus.txt) рисунок разъемов со сотроны плат, перевести в советскую нумерацию можно по плате которая не работает с прерываниями/dma по перемычкам.
Сигнал DMGO выходной для шины, но входной для устройства.
Пожалуйста, помогите мне разобраться, посмотрите схему КМД: и DMR и DMGO - для КМД выходные. Оба идут с D8. Это ошибка схемы или так и должно быть?
А DMGI как раз входной.
Пожалуйста, помогите мне разобраться, посмотрите схему КМД: и DMR и DMGO - для КМД выходные. Оба идут с D8. Это ошибка схемы или так и должно быть?
А DMGI как раз входной.
У меня нет схем этих, да и вообще советские схемы читаю с трудом особенно если еще и по советски на одной схеме сигналы то так то эдак обзывают :)
Пожалуйста, помогите мне разобраться, посмотрите схему КМД: и DMR и DMGO - для КМД выходные. Оба идут с D8. Это ошибка схемы или так и должно быть?
А DMGI как раз входной.
Все правильно на схеме: DMR - это требование прямого доступа, для устройства выходной сигнал, DMGI - предоставление прямого доступа, для устройства входной по цепочке, соответственно DMGO - выходной по цепочке, которое устройство должно передать следующему, если оно не работает с прямым доступом.
перерезал я DMR - комп тормозить перестал.
Сейчас буду разбираться - это DMR не снимается или DMGI не проходит
перерезал я DMR - комп тормозить перестал.
Сейчас буду разбираться - это DMR не снимается или DMGI не проходит
Значит постоянно DMы хочет :)
перерезал я DMR - комп тормозить перестал.
Сейчас буду разбираться - это DMR не снимается или DMGI не проходит
А ведь мысль правильная - если не придет DMGI, то по идее процессор в КМД не получив ответа по RPLY, прервется по TRAP4. Ну и далее все по циклу.
foxb2673
29.03.2012, 15:58
Да, входной на КМД - это сигнал DMGI, конечно. Приходящий на него - это DMGO, который выходной на предыдущей по отношению КМД плате в цепочке шины. На КМД сигнал DMGI транслируется на его выход DMGO, если ПДП запросил не он, или поглощается, если запросил он.
Нумерация: если держать КМД перед собой компонентами к себе и краевым разъёмом вверх, то на стороне компонентов на левой части разъёма слева будет контакт АА1, справа (на левой части перед центральной прорезью) - АА18; на правой части - слева (у прорези) БА1, справа (у края платы) - БА18. На стороне пайки, соответственно, слева - АБ1...АБ18, справа - ББ1...ББ18.
---------- Post added at 22:58 ---------- Previous post was at 22:56 ----------
TRAP4 в КМД не будет, RPLY на этой стадии ещё нет, КМД только запросил шину, но ещё не получил её, следовательно, не может выступать активным устройством, выставлять SYNC и ожидать RPLY. Он просто ждёт DMGI, удерживая DRQ...
Самое смешное что осцил на DMGI на КМД показывает стабильное состояние Z (и всегда 1 на выходе АП2). Хотя другой КМД на этом же месте работает. Может с физикой контактов чего. Буду тыркаться в выходные.
foxb2673
29.03.2012, 16:50
Если ставите последней платой в корзину ДВК-3, то нужно ставить в место, дальнее от вентилятора (возле вентилятора при этом будет либо пусто, либо другая какая-нибудь полуплата). В этой корзине, если смотреть на неё, держа кросс-платой вниз, вентиляторами влево, змейка идёт от передних слотов к задним и справа налево.
Спасибо, попробую переткнуть. Хотя другой КМД в этом слоте работает. Странно.
foxb2673
29.03.2012, 17:02
А версия микропрограммы какая?
Указанное поведение замечено на контроллере с ПЗУ версии -255, именно на нём я нарвался на такую штуку, а более старые не проверял...
TRAP4 в КМД не будет, RPLY на этой стадии ещё нет, КМД только запросил шину, но ещё не получил её, следовательно, не может выступать активным устройством, выставлять SYNC и ожидать RPLY. Он просто ждёт DMGI, удерживая DRQ...
Запрос КМД на ПДП возникает тогда, когда на внутренней шине идет обращение к диапазону 40000-77777, троица из ВП1-095 и ВП1-096 в этом случае перетранслирует запрос на шину МС1201. Соответственно захватывается шина и читается соответствующая ячейка. Если захвата шины не произошло, то процессор 1801ВМ1 в КМД прождет 64 такта и прервется по TRAP4.
---------- Post added at 17:20 ---------- Previous post was at 17:15 ----------
Не, у меня 091
Надо менять на неофициальную -093, многие ошибки исправлены, в ОС с использованием диспетчера памяти будет работать.
Надо менять на неофициальную -093, многие ошибки исправлены, в ОС с использованием диспетчера памяти будет работать.
Как починю второй MY - один переделаю.
foxb2673
30.03.2012, 03:53
Запрос КМД на ПДП возникает тогда, когда на внутренней шине идет обращение к диапазону 40000-77777, троица из ВП1-095 и ВП1-096 в этом случае перетранслирует запрос на шину МС1201. Соответственно захватывается шина и читается соответствующая ячейка. Если захвата шины не произошло, то процессор 1801ВМ1 в КМД прождет 64 такта и прервется по TRAP4.[COLOR="Silver"]
В этом случае КМД, по идее, должен перезапуститься, и в процессе перезапуска снять DRQ, затем опять выставить. Сигнал DRQ при этом будет представлять собой меандр. Однако, в реальности он стоит в активном (низком) уровне как вкопанный.
Или по TRAP4 контроллер не перезапускается?
Листинги ПЗУ скачал, большое спасибо, но пока ещё не вчитывался...
Надо менять на неофициальную -093, многие ошибки исправлены, в ОС с использованием диспетчера памяти будет работать.
Ну как мы уже выяснили, работать будет с любой прошивкой. RT-11 всегда, RSX - при явной подстройке под 091 :)
foxb2673
30.03.2012, 08:30
Ну как мы уже выяснили, работать будет с любой прошивкой. RT-11 всегда, RSX - при явной подстройке под 091 :)
Скорее всего, во всех системах в ту пору подстроили драйвер под эту особенность. В Демосе сами разработчики этого драйвера. В TSX я делал самостоятельно (может, уже делали и до меня, но в Хабаровске точно вряд ли был ещё кто-то, гонявший TSX-Plus на ДВК, так что обмениваться было не с кем). В институте был дисплейный класс из ДВК-4 и шести мониторов "Мера", подключённых к КТЛК-6. Весьма успешно работал TSX и учебное ПО, изначально разработанное под RT-11.
Скорее всего, во всех системах в ту пору подстроили драйвер под эту особенность. В Демосе сами разработчики этого драйвера. В TSX я делал самостоятельно (может, уже делали и до меня, но в Хабаровске точно вряд ли был ещё кто-то, гонявший TSX-Plus на ДВК, так что обмениваться было не с кем). В институте был дисплейный класс из ДВК-4 и шести мониторов "Мера", подключённых к КТЛК-6. Весьма успешно работал TSX и учебное ПО, изначально разработанное под RT-11.
Как я понял суть проблемы в том, что 091 не использует BAE для адреса блока параметров и соответственно он должен быть ниже 200000 в памяти. Для RT-11 это по определению так, для RSX легко делается так (без изменения системы), для TSX указывается в параметрах драйвера (снова без изменения системы).
---------- Post added at 12:31 ---------- Previous post was at 11:42 ----------
Не, у меня 091
А кстати где эту версию смотрят? :)
А кстати где эту версию смотрят? :)
Самое простое - надпечатка на ПЗУхе.
Самое простое - надпечатка на ПЗУхе.
ok, посмотрим на чем мы RSX мучили :)
В этом случае КМД, по идее, должен перезапуститься, и в процессе перезапуска снять DRQ, затем опять выставить. Сигнал DRQ при этом будет представлять собой меандр. Однако, в реальности он стоит в активном (низком) уровне как вкопанный.
Или по TRAP4 контроллер не перезапускается?
Листинги ПЗУ скачал, большое спасибо, но пока ещё не вчитывался...
Собственно сам сигнал выставляет ВП1-096, а вот сколько она его держит, если не пришел DMGI, неизвестно.
Тут еще один вопрос: процессор 1801ВМ3 имеет защиту от длительного захвата магистрали?
По TRAP4 перезапускается программа в контроллере, там надо уже смотреть текст прошивки, что конкретно будет происходить.
По сигналам запроса DMA надо смотреть конкретно, как они выходят/входят на шинные формирователи и на ВП1-096. Может и с 531АП2 что-то, а может с ВП1-096. Вероятен вариант, что что-то творится на внутренней шине контроллера и постоянно идет обращение к "окну" 40000-77777, правда в этом случае сигналы, как вкопанные не стоят.
Смотреть надо не только DMR, DMGI/DMGO, но и SACK.
ok, посмотрим на чем мы RSX мучили :)
На прошивке 092 RSX грузится без переделок драйвера (блок параметров много дальше чем в 200000).
>PAR
SECPOL 117734 00120000 00100000 SEC POOL
SYSPAR 117670 00220000 00165600 MAIN
117624 00220000 00111600 RO COM !DIR11M!
117440 00331600 00004400 TASK <...LDR>
117240 00336200 00033500 TASK <MCR...>
117040 00371700 00010500 TASK [TKTN ]
116640 00402400 00003200 TASK <SHF...>
DRVPAR 116560 00405600 00051700 MAIN
116514 00405600 00006300 RO COM !TTEXT !
116430 00414100 00036000 DRIVER (TT:)
115740 00452100 00000600 DRIVER (MY:)
115530 00452700 00000100 DRIVER (NL:)
115464 00453000 00000300 DRIVER (CO:)
115420 00453300 00002500 DRIVER (VT:)
115354 00456000 00001500 DRIVER (RD:)
GEN 115310 00457500 00320300 MAIN
063464 00457500 00011100 TASK <F11ACP>
115244 00470600 00034000 RO COM +F11ACP+
066320 00524600 00040300 TASK <PART1 >
064624 00565100 00053200 TASK <INST0 >
063130 00640300 00056700 TASK <AT.T0 >
114240 00717200 00057000 RO COM +...AT.+
>
Не, у меня 091
Давай на твоем проверим RSX :)
Или у тебя он не 22bit?
На прошивке 092 RSX грузится без переделок драйвера (блок параметров много дальше чем в 200000).
Естественно будет грузится, т.к. -092, неофициальная -093 и -255 - это одно и тоже. Различия в коде только из-за используемой памяти, разный объем и способ инициализации.
Естественно будет грузится, т.к. -092, неофициальная -093 и -255 - это одно и тоже. Различия в коде только из-за используемой памяти, разный объем и способ инициализации.
Ну теперь надо на 091 поиграться и можно опцию в драйвере сделать - блок параметров засоввывать в POOL.
Ну теперь надо на 091 поиграться и можно опцию в драйвере сделать - блок параметров засоввывать в POOL.
А вот на -091 не загрузится, раз блок параметров располагается выше 64К.
А вот на -091 не загрузится, раз блок параметров располагается выше 64К.
Ну вот на живом и проверить надо и сделать вариант драйвера на такой случай.
Весьма успешно работал TSX и учебное ПО, изначально разработанное под RT-11.
Вот этот момент можно подробнее раскрыть, какие именно программы для RT-11 ?
В данный момент это уже недосягаемо или есть шанс перекачки (добавления) в архив? )))
Спасибо.
Подскажите, дизасм прошивки -134 имеется у кого нибудь?
Подскажите, дизасм прошивки -134 имеется у кого нибудь?
Да, имеется (http://zx.pk.ru/showpost.php?p=484657&postcount=1848), но пока без комментариев.
А у кого-то есть схема/описание на Луганский контроллер ДВК MY4?
Выглядит так:
http://img-fotki.yandex.ru/get/6205/36406348.2/0_8882b_6ef5215b_L.jpg (http://fotki.yandex.ru/users/lodedome/view/559147/)
http://img-fotki.yandex.ru/get/6003/36406348.2/0_8882c_bb634391_L.jpg (http://fotki.yandex.ru/users/lodedome/view/559148/)
Драйвер вроде использует стандартный, но позволяет подключать дисководы помоложе.
А у кого-то есть схема/описание на Луганский контроллер ДВК MY4?
Драйвер вроде использует стандартный, но позволяет подключать дисководы помоложе.
Ни схемы, ни описания нету, но по фото видно, что к классическому MY он не имеет никакого отношения, так что и драйверы не подойдут (если название драйвера не такое же).
Сам MY имеет на своем борту процессор, так что программа общается с контроллером на верхнем уровне. Контроллер все делает и передает результат. Здесь же приходится общаться непосредственно с 1801ВП1-097 на низком уровне, если только в ПЗУ не зашиты вспомогательные подпрограммы. Хотя вряд ли, сложно все это разместить в одном килобайте, так что там наверное только загрузчик.
А у кого-то есть схема/описание на Луганский контроллер ДВК MY4?
Еще по используемым выводам похоже, что эта плата применялась не в ДВК, а в "Электронике-60". Используются кстати сигналы ПДП и регенерации, для чего - вопрос? Еще в ПЗУ 556РТ5 замкнуты адресные выводы A7 и A8, так что используется только половина объема, итого 512 байт из двух ПЗУ.
У меня уже на перерисовке одна плата в процессе, и эту я тоже планирую отчертить в электронке (в Э3 тоже).
ПЗУ (РТ5 и РТ4) можно будет через шину считать или их выпаивать придётся?
foxb2673
02.04.2012, 02:59
Вот этот момент можно подробнее раскрыть, какие именно программы для RT-11 ?
В данный момент это уже недосягаемо или есть шанс перекачки (добавления) в архив? )))
Спасибо.
Была такая обучающая система АОС "Барьер", фреймворк, позволяющий создавать тесты для практических занятий, причём не только в виде "вопрос - N вариантов ответов", а ещё с возможностью интерпретировать ответы студентов в текстовом виде (в определённых пределах). Позже она реинкарнировалась уже на ИБМ ПК. На ней какой-то ушлый чувак даже диссертацию ухитрился защитить (http://www.diplombank.ru/gotovyie_diplomyi/avtomatizirovannaya_obuchayuschaya_sistema_barer_v ersiya_metod_posobie_305512.1.htm).
Также были различные самописные лабораторные и обучающие программы местного производства. Не знаю, кому это сейчас может представлять интерес в отрыве от изучаемого предмета. :smile:
Оно лежит в виде копии жёсткого диска в BUP формате, но две дискеты из 13 потеряны, поэтому чего-то там уже не будет. Разверну, как с делами подразгребусь...
---------- Post added at 09:59 ---------- Previous post was at 09:49 ----------
Собственно сам сигнал выставляет ВП1-096, а вот сколько она его держит, если не пришел DMGI, неизвестно.
Из эксперимента с КМД, ошибочно поставленным не в цепочку сигналов, выяснилось, что держит она его постоянно (пока не придёт DMGI, или до сброса INIT или выключения питания). По крайней мере, на моём экземпляре так.
Тут еще один вопрос: процессор 1801ВМ3 имеет защиту от длительного захвата магистрали?
Скорее всего да, т.к. иначе бы при активном DMR вычислитель бы вообще не работал, а так он работает, но медленно. Видимо, не дождавшись SACK, продолжает работу, потом опять пытается отдать шину запрашивающему. Возможно, по одной команде за цикл (не изучал подробно этот вопрос, а в имеющейся документации он тоже не освещён).
Из эксперимента с КМД, ошибочно поставленным не в цепочку сигналов, выяснилось, что держит она его постоянно (пока не придёт DMGI, или до сброса INIT или выключения питания). По крайней мере, на моём экземпляре так.
Спасибо за информацию. Тут от экземпляра не зависит, т.к. этим занимается 1801ВП1-096. Забавно бы узнать, что творится в этом случае на внутренней магистрали. Ведь по идее эта тройка долго и упорно пытается выполнить запрос к магистрали вычислителя, будет ли она отвечать локальному процессору по адресам 177100/177102?
Скорее всего да, т.к. иначе бы при активном DMR вычислитель бы вообще не работал, а так он работает, но медленно. Видимо, не дождавшись SACK, продолжает работу, потом опять пытается отдать шину запрашивающему. Возможно, по одной команде за цикл (не изучал подробно этот вопрос, а в имеющейся документации он тоже не освещён).
А какая у Вас имеется документация на процессор 1801ВМ3?
---------- Post added at 13:45 ---------- Previous post was at 12:47 ----------
У меня уже на перерисовке одна плата в процессе, и эту я тоже планирую отчертить в электронке (в Э3 тоже).
ПЗУ (РТ5 и РТ4) можно будет через шину считать или их выпаивать придётся?
РТ5 может и висит по адресам 173000-173777, но лучше считать программатором саму микросхему, т.к. адреса наверняка будут в обратном порядке и данные инвертированы. А РТ4 вряд ли выходит на QBUS, так что только считать программатором.
foxb2673, спасибо за информацию.
А какая у Вас имеется документация на процессор 1801ВМ3?
присоединяюсь к этому запросу )))
Не знаю, кому это сейчас может представлять интерес в отрыве от изучаемого предмета.
В плане изучения и как музейное ПО под RT11 как минимум, плюс проверить возможность запуска (пусть и только частей, а не всего пакета) в эмуляторах, при наличии исходников - изучение исходников - вот кстати интересно - вряд ли же это разрабатывалось на голом ассемблере? И вполне возможно что ещё какой-нибудь ушлый "дядя" только уже по другой теме защитит ещё одну диссертацию.
А на фотографии не MX ли на современной (для того времени) элемнтной базе?
Каким драйвером в RT-11 он обслуживался?
Murzik, Конечно нет. Там -097 стоит, а она уже IBMовского формата записи (как MY)
Каким драйвером в RT-11 он обслуживался?
тем не менее, как я понял вопрос о драйвере под железяку с фоток anasana актуален )))
Ну вот, теперь можно что-нибудь придумать путного :)
Ну вот, теперь можно что-нибудь придумать путного
А можно уточнить, я просто не спец, ножевые разъёмы данной платы - это подключение в цепочку к самой главной? То бишь в корзину или как ? То есть должна
быть какая-то базовая плата в которую будут по определённый схеме подключаться
модульные (которая на фото) так? И что это за плата (я про главную) есть ли доступная готовая или надо то же что-то выдумывать? (пытался сформулировать честно)
А можно уточнить, я просто не спец, ножевые разъёмы данной платы - это подключение в цепочку к самой главной? То бишь в корзину или как ? То есть должна
быть какая-то базовая плата в которую будут по определённый схеме подключаться
модульные (которая на фото) так? И что это за плата (я про главную) есть ли доступная готовая или надо то же что-то выдумывать? (пытался сформулировать честно)
Если считать главной платой то во что все втыкается, то все платы подключаются сюда (http://pdp-11.org.ru/~form/pdp11-83/pics/H9278.jpg). :)
form, понял, уточнил спасибо!
Тогда пожалуйста такой момент - какова перспектива модульной платы (в плане навороченности и соответственно минималка) - можно ли на одной модульной плате
одновременно реализовать полноценную машинку ? ПРОЦ ПАМЯТЬ КОНТРОЛЛЕРЫ ВНЕШНИХ УСТРОЙСТВ (все необходимые вводы\выводы) и в целом любые теоретически(практически) возможные варианты? что то типа вот такого
http://oao-kvartz.ru/catalog/dpmd/dpmd_601.jpg
form, понял, уточнил спасибо!
Тогда пожалуйста такой момент - какова перспектива модульной платы (в плане навороченности и соответственно минималка) - можно ли на одной модульной плате
одновременно реализовать полноценную машинку ? ПРОЦ ПАМЯТЬ КОНТРОЛЛЕРЫ ВНЕШНИХ УСТРОЙСТВ (все необходимые вводы\выводы) и в целом любые теоретически(практически) возможные варианты? что то типа вот такого
Было бы желание, а реализовать никто не мешает :)
Было бы желание, а реализовать никто не мешает
А количество контактных разъемов, форм фактор вносит какие то поправки ограничения, просто я вижу что плата "отечественная" на фотке от anasana,
которую я продублировал, выполнена горизонтально и похоже на сдвоенную с твоей
фото, мне просто хочется вникнуть немного. )))
можно ли на одной модульной плате одновременно реализовать полноценную машинку ?Модульность платы ( т.е. способность взаимодействовать с другими такими же платами через соединительные линии в корзине ) нужна только в том случае, если в эту корзину предполагается с самого начала ещё что-то втыкать.
Если же "прямо сейчас" воткнуть в корзину дополнительно нечего, то одноплатный компьютер вовсе не обязан иметь вид модульной платы и располагаться в здоровенной корзине.
Вполне возможно сделать для компктного одноплатного компьютера ( типа УКНЦ ) адаптер шины, соединяющийся с ответной частью в корзине по радио ( через WiFi, например ). Тогда корзина может спокойно ждать своего часа в чулане, а дождавшись - работать с "главным компьютером" прямо из чулана по радиоканалу.
form, Это дюймовая или метрическая (макетка)?
И расскажите в чем сложность сделать драйвер IDE? Вроде драйвер под УКНЦ есть, может его переделать можно? А то московский клуб как-то завис с дарйвером. А IDE хочется?
form, Это дюймовая или метрическая?
И расскажите в чем сложность сделать драйвер IDE? Вроде драйвер под УКНЦ есть, может его переделать можно? А то московский клуб как-то завис с дарйвером. А IDE хочется?
Это буржуйская, мне их 5 штук сделали - думаю хватит надолго :)
Сложности сделать драйвер никакой - берешь и делаешь, было бы описание и желание :)
form, Досада что не метрическая. Я бы сделал для экспериментов.
А москвичи с драйвером я думаю замахнулись на что-нибудь монументальное. А мне бы утилитарное, чтобы собрать по быстрому (как в УКНЦ) и спокойненько ждать монументальное, изредка подгруживаясь с IDE.....
form, Досада что не метрическая. Я бы сделал для экспериментов.
А москвичи с драйвером я думаю замахнулись на что-нибудь монументальное. А мне бы утилитарное, чтобы собрать по быстрому (как в УКНЦ) и спокойненько ждать монументальное, изредка подгруживаясь с IDE.....
Эти мне в Германии сделали, но наверняка и здесь можно изготовить в том числе советские. Надо только узнать что и как. И корпуса для УКНЦатых контроллеров все никак не дойду спросить, подозреваю, что их можно отлить в соседнем со мной кабинете на работе :)
form, Сделать-то платки не вопрос, но для этого нужен файлик с отрисовкой.
Самому рисовать времени категорически нет, может поделится кто-нибудь?
За разумное вознаграждение?
И корпуса
Я заинтересован под вот такие "современные" решения для УКНЦ иметь "нормальные" корпуса http://savepic.net/2509245.jpg
dk_spb,
hobot,
form, и все жаждующеим для справки - макетная плата для ДВК в советском размере - метрическом - с бумажным носителем и фотооригиналом есть еще с нового года у DUKEra - я высылал - трясите его - в принципе он может заказать или сделать сам с помощью фоторезиста - у него есть все для этого
в принципе у него полуплата, есть , но в Питере плата двойного размера с распаянными буферами - кому очень надо - могу дать для дублицирования
foxb2673
11.04.2012, 06:44
Спасибо за информацию. Тут от экземпляра не зависит, т.к. этим занимается 1801ВП1-096. Забавно бы узнать, что творится в этом случае на внутренней магистрали. Ведь по идее эта тройка долго и упорно пытается выполнить запрос к магистрали вычислителя, будет ли она отвечать локальному процессору по адресам 177100/177102?
Можно будет попробовать, как приедет вторая корзина (первую я уже вкрутил на место в ДВК, неохота опять разбирать).
А какая у Вас имеется документация на процессор 1801ВМ3
К сожалению, только общедоступная: второй том справочника Шахнова и какой-то скачанный с интернета текстовый файл. В нём почти то же, что в Шахнове. Ещё в описании платы 1201.03 немного есть, которое я недавно выкладывал.
foxb2673, вообще то то ли здесь то ли на форуме Полигона призраков выкладывали все по 1803 - без малого около 1 гб инфы
xailar, Вообще-то там был ВМ2....
dk_spb, спорить не буду - проверю и если я ПРАВ - выложу
dk_spb, может и не прав - лови те , может это то что надо
---------- Post added at 21:16 ---------- Previous post was at 21:11 ----------
не получается - 310 мгб - много , буду ночью закачивать или подскажите другие способы
xailar, Если речь про это:
45*265*665 KM1801ВМ2 - Альбом схем.djvu
80*893*286 КМ1801ВМ2 - Техническое описание - 1.djvu
185*046*328 КМ1801ВМ2 - Техническое описание - 2.djvu
и это же в .jpg (>2Gb) то оно уже было.
dk_spb, нет
---------- Post added at 22:03 ---------- Previous post was at 21:49 ----------
архив 310мгб[COLOR="Silver"]
---------- Post added at 22:05 ---------- Previous post was at 22:03 ----------
xailar, Тогда с нетерпением ждем.
Выложи на какую-нибудь порнопомойку.
oron.com
sendspace.com
УРААА - вырезал заголовок
xailar, залей сюда например http://www.fayloobmennik.net/ или с инетом проблемы?
xailar, Это оно в tiff такое большое.
в djvu всего 50М
Вроде тоже было.
Через 30 минут будет здесь http://fincoins.spb.ru/4/MS1201_03_opisanie_pasport.rar
УРААА - вырезал заголовок
Так это уже выкладывал foxb2673, вот здесь (http://zx.pk.ru/showpost.php?p=482365&postcount=1842).
Дадада.
Тогда я не заливаю.
Alex_K, а чего он опять про вм3 спрашивает
---------- Post added at 22:59 ---------- Previous post was at 22:58 ----------
сам заливал сам и ищет - странно
Ещё в описании платы 1201.03 немного есть, которое я недавно выкладывал.
Нет интересовался кто-то ещё видимо ) На мой скромный взгляд главное что это есть)
foxb2673
13.04.2012, 03:25
сам заливал сам и ищет - странно
Нет, это не я спрашивал :smile:
Хотя мне тоже было бы интересно более подробное, чем приведено в справочниках, описание работы процессоров серии 1801.
Спасибо за ссылку на архив по ВМ2, ценнейшая дока.
Как жаль, что по ВП1 нет чего-нибудь подобного...
Целый год я не мог понять, почему при скорости вывода на терминал 9600 BPS - игрушки для ДВК "бегают" примерно на треть быстрее, чем в оригинале, а "правильная скорость геймления" достигается при уменьшении CPS c "теоретически правильного" 960 до "интуитивно правильного" ~ 700.
И вот, наконец, ответ найден - я идиот.
Дело в том, что это только в моих тестах скорости вывода символов на экран - очередной байт попадает в выходной порт сразу вслед за возникновением прерывания готовности терминала. В подпрограмме же вывода RMON RT-11 - между входом в неё по прерыванию готовности и выводом очередного символа - выполняются несколько команд.
После добавления в API абстрактной эмуляции режима наносекундной синхронизации и перевода эмуляции порта терминала "эмулятора ДВК" в этот режим - произошло резкое падение CPS, и только тогда я догадался измерить промежуток ( в командах и наносекундах ) между возникновением прерывания готовности терминала и поступлением очередного байта в порт для вывода.
Для процессора 1801ВМ1 значения "добавок" такие:
1. RT-11 V05.04 - 55 команд - ~ 330 мкс ( результирующая скорость вывода = 723 CPS ).
2. RT-11 V05.07 - 59 команд - ~ 360 мкс ( результирующая скорость вывода = 712 CPS ).
...
я идиот.
Смело! )
Для процессора 1801ВМ1 значения "добавок" такие:
1. RT-11 V05.04 - 55 команд - ~ 330 мкс ( результирующая скорость вывода = 723 CPS ).
2. RT-11 V05.07 - 59 команд - ~ 360 мкс ( результирующая скорость вывода = 712 CPS ).
Я по факту для каждой игры приемлемую скорость подбирал ручками, а для компилятора (транслятора) конечно всегда максимус ! ))) Я вот заметил что
WIND + эмуляторVT200 в UKNCBTL слегка подтормаживает, но не критично,
так что наверное буду мастерить системную дискету с WIND-shell для живой
УКНЦшки )
---------- Post added at 21:53 ---------- Previous post was at 21:31 ----------
По эмулятору ДВК уточнение - 1. RT-11 V05.04 - 55 команд - ~ 330 мкс ( результирующая скорость вывода = 723 CPS ).
2. RT-11 V05.07 - 59 команд - ~ 360 мкс - если задержки зависят от версии монитора,
планируется ли их реализовать в эмуляторе или всё как есть останется ( в принципе
не самая критичная проблема наверное), на образе с играми например http://savepic.net/2736813.png
если задержки зависят от версии монитора,
планируется ли их реализовать в эмулятореВ следующем релизе "эмулятора ДВК" IRQ готовности вывода порта терминала будет выставляться с наносекундной точностью, поэтому соответствующие задержки вывода символов ( в зависимости от версии монитора ) получатся сами собой.
Помогите подключить 15ИЭ к мс1201.02.
Сделал кабель про прилагаемой схеме.
Получаю адрес и приглашение @
На терминале включено только ЛИН.
После этого пытаюсь ввести T0 и <ВК>
На экране вижу T0 и мигающую М.
Сразу после ввода первой буквы загорается красным ПРД.
Больше ничего не происходит.
Куда копать?
На терминале включено только ЛИН.
Насколько я помню, для работы надо включить ДУП, ЛИН и РЕД.
При добавлении РЕД слубежные символы не показывает, а отрабатывает (то есть при нажатии ВК не рисует мигающую М, а делает возврат каретки).
При добавлении ДУП вообще ничего на экран не выводит.
Еще у меня в служебной строке 9600 и куча нулей. Может там вместо нулей надо выставить чего-то?
9600 0010 1110 0000 09 15 00
---- ^ ^^^ \ часы /
^ ! !!!
! ! !!+----------------------- система команд N2
! ! !!
! ! !+------------------------ отсутствие звукового сигнала
! ! ! при нажатии клавиши
! ! +------------------------- отсутствие звукового сигнала
! ! в 72 позиции курсора
! +---------------------------- код КОИ-7 Н0/1
+------------------ Скорость обмена информацией терминала с ЭВМ
Для перехода в режим редактирования служебной строки нужно нажать клавишу <СДВ>. Редактирование осуществляется тремя клавишами внизу нумпада. Правая двигает курсор вправо, левая - влево, а средняя ( "стрелка вниз с точкой" ) меняет бит.
---------- Post added at 20:03 ---------- Previous post was at 20:00 ----------
При добавлении ДУП вообще ничего на экран не выводит.ДУП - это дуплекс. В режиме дуплекс нажатия уходят "наружу" без локального эха.
При добавлении ДУП вообще ничего на экран не выводит.
В том числе и адрес с промптером "@"?
Patron, То есть я всё делаю правильно, схема кабеля правильная и, скорее всего, у меня нерабочий терминал (мс1201.02 я менял)?
И почему ПРД загорается красным? Я так понимаю что терминал сообщает что готов передать что-то, а у него никто не хочет принять? Может таки кабель?
---------- Post added at 21:08 ---------- Previous post was at 21:07 ----------
В том числе и адрес с промптером "@"?
Да, Вообще ничего кроме служебной строки терминала
---------- Post added at 21:10 ---------- Previous post was at 21:08 ----------
И по схеме вопрос: со сторона МС1201 нижний по схеме контакт имеет номер 8 ?
Может таки кабель?Если все линии кабеля проводят, имеют нормальное сопротивление и не коротят - кабель нормальный. Если нет - то нет :)
При желании узнать о кабеле "истину в последней инстанции" - можно сравнить диаграммы логических уровней на входе и выходе каждой линии.
А переключатель входа стоит в положении T1 (токовая петля)?
При нажатии ДУП,ЛИН,РЕД загораются соответствующие светодиоды?
Alex_K, Вот про переключатели на терминале вообще вопрос. Сейчас оба в нижнем положении Р. Описания нигде не нашел.
---------- Post added at 21:19 ---------- Previous post was at 21:19 ----------
Если все линии кабеля проводят
Я имел ввиду правильную ли я нашел схему?
---------- Post added at 21:24 ---------- Previous post was at 21:19 ----------
И еще вопрос: на мс1201 перемычки S9 и S10 (подтягивающие ГП- и ПрД-) к +5В должны быть?
Alex_K, Вот про переключатели на терминале вообще вопрос. Сейчас оба в нижнем положении Р. Описания нигде не нашел.
В книге Захарова "Электроника-60" в главе 7 про 15ИЭ-00-013 написано, что если СТЫК 2 - положение T2, если токовая петля - положение T1. Раз переключателя всего 2, то комбинации 4, можно и поэкспериментировать.
А последовательный порт на МС1202.02 настроен на 9600 без контроля четности?
Если переключать пару одинаково, то кроме как в положении Р на экран адрес и @ не выводится.
Если перекусить S9 и S10 то ситуация аналогичная - то есть для такого кабеля как на схеме S9 и S10 нужны
---------- Post added at 21:40 ---------- Previous post was at 21:33 ----------
В книге Захарова "Электроника-60" в главе 7 про 15ИЭ-00-013 написано, что если СТЫК 2 - положение T2, если токовая петля - положение T1. Раз переключателя всего 2, то комбинации 4, можно и поэкспериментировать.
Есть еще третье (нижнее) положение Р.
кроме как в положении Р на экран адрес и @ не выводится.Эта информация передаётся материнской платой. Если в каком-то режиме она появляется на экране - приём в терминале работает нормально.
Patron, Это я понимаю. У меня проблема как раз с передачей. Я так понимаю что по нажатию клавиши терминал зажигает лампу ПРД на клавиатуре, а после передачи символа её гасит. Но у меня передачи не происходит. Значит либо терминалу не хватает какого-то сигнала (типа передача терминалу разрешена), либо сам терминал неисправен. Других мыслей у меня нет.
---------- Post added at 22:04 ---------- Previous post was at 22:01 ----------
Подскажите, как спаять тестовую заглушку для терминала по токовой петле, чтобы при включенном дуплексе посмотреть принимаем ли мы сами то что передаем
либо терминалу не хватает какого-то сигнала (типа передача терминалу разрешена), либо сам терминал неисправен.Насколько я понимаю - линии передачи и приёма в кабеле симметричны. Если разведённых в кабеле проводов хватает для приёма - таких же проводов должно хватать и для передачи.
Но если что-то (типа выходного каскада) сдохло в передатчике - вот тогда передать ничего не удастся, хотя кабель в порядке и все режимы заданы правильно ( а это наверняка так, ведь иначе приём бы не работал ).
Насколько я понимаю - линии передачи и приёма в кабеле симметричны.
Ну вот в МС1201 есть еще ГП. Я так понимаю это Готовность Приема от терминала. А в обратную сторону готовность приема обеспечивают:
108 - команда терминала "подстоединить аппаратуру передачи к линии"
107 - ответ терминалу "аппаратура передачи готова".
И на схеме они соединены. А вот не имеющейся у меня схеме терминала таких сигналов в разъеме терминала нет совсем :-(
Тем не менее, согласно ТО на терминал, если на клаве загорелось ПРД - то терминал начал передачу. А вот то что ПРД не гаснет - плохо.
Еще в ТО сказано что терминал выставляет сигнал 105 - "запрос передачи" и хочет в ответ 106.
Жаль что нет нормальной схемы терминала. ТО од другой схемы. А в этой схеме хотя все указанные сигналы на плате есть, а на разъеме почему-то их нет :-(
---------- Post added at 22:24 ---------- Previous post was at 22:23 ----------
В общем похоже надо убедится что не работает схема передатчика. А для этого нужно сделать тестовый разъем - loopback. МОжет кто-нибудь подскажет схемку.
---------- Post added at 22:27 ---------- Previous post was at 22:24 ----------
Но если что-то (типа выходного каскада) сдохло в передатчике
Вот это вряд ли, потому как согласно ТО вроде после передачи терминал гасит светодиод ПРД. А то что кто-то там ничего не получил - не его проблема ;-)
А вот если ПРД не гаснет, значит терминал начал передачу, но не закончил.
Если посмотреть распиновку RS232 (http://www.hardwarebook.info/Serial_(PC_9)):
http://s1.hostingkartinok.com/uploads/images/2012/04/dadeab4ed9021dca5db71de24382b091.png
108 - "подсоединить аппаратуру передачи к линии" == DTR
107 - "аппаратура передачи готова" == DSR
"готовность приёма" == RTS
"готовность передачи" == CTS
Хотя эти линии называютя по-разному - они попарно симметричны.
RS232 9-pin Loopback:
http://s1.hostingkartinok.com/uploads/images/2012/04/f490858026a2226c6778ba595d05b944.png
НУ loopback Заглушка для RS232 - дело известное. А вот для ИРПС.....
А вот для ИРПС.....Сравниваем распиновку RS232
http://s1.hostingkartinok.com/uploads/images/2012/04/e7c0652a7ef40321300c96e83781c2f8.png
с распиновкой стыка С2:
----------------------------------------------------------------
НОМЕР КОНТАКТА!ОБОЗНАЧЕНИЕ! НАИМЕНОВАНИЕ И НАЗНАЧЕНИЕ СИГНАЛА
!СИГНАЛА !
--------------+-----------+------------------------------------
1 ! 102 !ЦЕПЬ 102, СИГНАЛЬНОЕ ЗАЗЕМЛЕНИЕ
2 ! 105 !ЦЕПЬ 105, ЗАПРОС ПЕРЕДАЧИ
3 ! 108 !ЦЕПЬ 108, ОКОНЕЧНОЕ ОБОРУДОВАНИЕ ДАННЫХ ГОТОВО
5 ! 103 !ЦЕПЬ 103, ПЕРЕДАВАЕМЫЕ ДАННЫЕ
6 ! 104 !ЦЕПЬ 104, ПРИНИМАЕМЫЕ ДАННЫЕ
7 ! 109 !ЦЕПЬ 109, ДЕТЕКТОР ПРИНИМАЕМОГО ЛИНЕЙНОГО СИГНАЛА
8 ! 107 !ЦЕПЬ 107, АППАРАТУРА ПЕРЕДАЧИ ДАНННЫХ ГОТОВА
9 ! 106 !ЦЕПЬ 106, ГОТОВ К ПЕРЕДАЧЕ
10 ! 102 !ЦЕПЬ 102, СИГНАЛЬНОЕ ЗАЗЕМЛЕНИЕ
-----------------------------------------------------------------
и делаем выводы.
А зачем мне СТЫК С2????
Мне ИРПС нужен :-(
Как правильно ПрД+ и ПрД- соединить с Пр- и Пр+?
Смотрим на распиновку ИРПС:
http://s1.hostingkartinok.com/uploads/images/2012/04/1fa99fd41f75d83a910438e6994072ce.png
ГПД - готовность передатчика
ПД - передача
ПР - приём
ГПР - готовность приёмника
Patron, Это явно не распиновка ни от МС1201.02, ни от 15иэ.
Что она нам может дать?
Patron, Это явно не распиновка ни от МС1201.02, ни от 15иэ.Вот распиновка от МС1201.02:
http://s1.hostingkartinok.com/uploads/images/2012/04/ff54ddb5950b68c6cc7efccea33ff1f9.png http://s1.hostingkartinok.com/uploads/images/2012/04/2da0db2882b8b482cba6dda2e5f764f3.png
---------- Post added at 23:00 ---------- Previous post was at 22:58 ----------
Вроде, совпадения есть:
http://s1.hostingkartinok.com/uploads/images/2012/04/da31c89c1fd6248ebe04638074815edf.png
1) Совпадения есть, но нет ГПД
2) распиновка на 1201.02 у меня изначально была
весь вопрос в том как сделать loopback.
Совпадения есть, но нет ГПДДумаю, наоборот - сигнал ГПД имеет неизменное состояние "готов".
вопрос в том как сделать loopback.
Как-то так:
http://s1.hostingkartinok.com/uploads/images/2012/04/e4cbfa8e7269ffff06cb37ad4cb7f53c.png
только номера линий другие.
---------- Post added at 23:50 ---------- Previous post was at 23:34 ----------
http://s1.hostingkartinok.com/uploads/images/2012/04/fca365a052a6b4db4e42308e84ec4431.png
Вот что получается:
ГП+ (3) на общий (8)
ПрД+ (4) на Пд- (1)
Пд+ (2) на общий (8)
Похоже на правду?
---------- Post added at 00:58 ---------- Previous post was at 00:55 ----------
То есть ГП как в кабеле, а далее:
Источник тока (перемычка S10) на вход приемника, выход приемника на вход передатчика, а выход передатчика на общий.
---------- Post added at 01:01 ---------- Previous post was at 00:58 ----------
Очень похоже что наше ПриемДанных- равно RX+. О как....
Вторая DECовская PDP-11 система (http://madame.update.uu.se/), торчащая в интернет именно как TCP/IP, а не TELNET<>SERIAL :)
Вторая DECовская PDP-11 система (http://madame.update.uu.se/), торчащая в интернет именно как TCP/IP, а не TELNET<>SERIAL :)
Дык это в эмуляторе pdp-11/74? А скоко там процессоров поддерживается? Они работают паралельно с одним физическим куском памяти в 4GB?
Дык это в эмуляторе pdp-11/74? А скоко там процессоров поддерживается? Они работают паралельно с одним физическим куском памяти в 4GB?
У них там куча живого железа, но круглосуточно гонять какой-нибудь 11/70 дороговато обходится :)
E11 эмулирует до 4 процессоров, но реально обычно больше трех не включается. С куском памяти 4Mb ;)
Точнее 4Mb - 8Kb.
form, вопрос такой по Фортрану для RT-11, я просто никогда ничего не писал и не компилировал на нём, какие файлы ему нужны что бы исходную программу в SAV собрать? Вот для ассемблера (МАКРО-11) и для Паскаля я допустим знаю, а какие библиотеки нужны для Фортрана? В хламничке есть куча образов но там все файлики разных версий. Есть даже (похоже) из чего собрать сам фортран 3 или 4 дискеты.
Я вот о чём , вместо PASCAL.SAV - какой первичный транслятор?
Затем наверное так же прогоняется MAC
А вот для LINK кроме SYSLIB.OBJ что ещё нужно, FORLIB.OBJ ?
form, вопрос такой по Фортрану для RT-11, я просто никогда ничего не писал и не компилировал на нём, какие файлы ему нужны что бы исходную программу в SAV собрать? Вот для ассемблера (МАКРО-11) и для Паскаля я допустим знаю, а какие библиотеки нужны для Фортрана? В хламничке есть куча образов но там все файлики разных версий. Есть даже (похоже) из чего собрать сам фортран 3 или 4 дискеты.
Я вот о чём , вместо PASCAL.SAV - какой первичный транслятор?
Затем наверное так же прогоняется MAC
А вот для LINK кроме SYSLIB.OBJ что ещё нужно, FORLIB.OBJ ?
Для любого языка высокого уровня нужна своя библиотека. Для 4 фортрана это FORLIB.OBJ, для F77 - FOROTS.OBJ (но иногда для совместимости с ключом /F линкера тоже называют FORLIB). Можно также содержимое языковой либы добавить прямо в SYSLIB и тогда не нужно будет специально ничего указывать. Сам фортран 4 собирается из OBJ модулей и библиотек согласно опций указанных при генерации. F77 в RT-11 не собирается - идет пресобранным.
Что такое первичный транслятор - понятия не имею :)
Что такое первичный транслятор - понятия не имею
Я может не совсем правильно написал, но гляди сходник на паскале .pas я сперва прогоняю pascal.sav - первичный транслятор я назвал его ))) он создаёт уже файл .mac, а с фортраном как? Там исходник какое расширение имеет .for или это абстракция вообще? Вот я о чём собственно спрашивал.
Я нашёл в хламничке есть все любые варианты вроде из перечисленных тобой файлов-библиотек.
Я может не совсем правильно написал, но гляди сходник на паскале .pas я сперва прогоняю pascal.sav - первичный транслятор я назвал его ))) он создаёт уже файл .mac, а с фортраном как? Там исходник какое расширение имеет .for или это абстракция вообще? Вот я о чём собственно спрашивал.
Я нашёл в хламничке есть все любые варианты вроде из перечисленных тобой файлов-библиотек.
С фортраном сразу создается OBJ.
С фортраном сразу создается OBJ.
Да, видимо я просто не понимаю как фортран организован
Как этот OBJ создаётся не MACRO.SAV-ом же ))) Вот я что пытаюсь выпытать )))
Чем прогнать исходник что-бы получить этот ОBJ и какое расширение (по умолчанию) у исходного файла ))) (Я за Паскаль+МАКРО11 там всё накатано просто и логично, а
главное там я хоть что то знаю сам "смайл")
---------- Post added at 13:38 ---------- Previous post was at 13:35 ----------
Просто видишь ли есть шанс ещё одну версию шахмат портануть под RT-11 (символьная доска!!! круто же !!!)
http://zx.pk.ru/showpost.php?p=498361&postcount=33
есть вот такой исходник на фортране видимо )))
http://zx.pk.ru/showpost.php?p=498373&postcount=35
Чем прогнать исходник что-бы получить этот ОBJ и какое расширение (по умолчанию) у исходного файла1. Скопировать на системный диск файлы из прилагаемого образа: FORTRAN.zip (http://emulator.pdp-11.org.ru/misc/FORTRAN.zip)
2. Выполнить команды:
COMPILE DEMO
LINK/LINKLIB:FORLIB DEMO
DEMO
http://upyourpic.org/images/201204/t9i8ravqsp.jpg
Patron, благодарю, пришпилил в папку с другими компиляторами (http://pdp-11.org.ru/~hobot_lmb/ukdwk_archive/dwkwebcomplekt/Algol_C_F77_Pascal_Lisp/) + инструкции по компилированию демо в FortranIV )
А КЖД за денежку никто не чинит?
Компоненты запасные вроде все есть.
Подскажите что это такое:
МС1201.02 при запуске теста Т4
просит ввести с клавиатуры 1234JCUK
после ввода 1234 любое следующее нажатие приводит к выводу 000404 и выходу на приглашение @.
Если вводить что-то вместе первых 4-х символов - пишет "дефект неверный символ"
Это какая-то аппаратная проблема с 1201.02 ? И в чем она может выражаться?
МС1201.02 при запуске теста Т4
просит ввести с клавиатуры 1234JCUK
после ввода 1234 любое следующее нажатие приводит к выводу 000404 и выходу на приглашение @.
Если вводить что-то вместе первых 4-х символов - пишет "дефект неверный символ"
Это какая-то аппаратная проблема с 1201.02 ? И в чем она может выражаться?
Это тест кривой. Аналогичный эффект в эмуляторе Patron-а с ПЗУ 1801РЕ-000. В чем его кривизна пока не разобрался.
Это тест кривой. Аналогичный эффект в эмуляторе Patron-а с ПЗУ 1801РЕ-000. В чем его кривизна пока не разобрался.
Разобрался вроде. Во время работы теста надо обязательно выключить таймер.
shattered
21.05.2012, 13:19
TIL (сегодня я узнал), что iconv может конвертировать из КОИ-7 (с SI/SO) и обратно. Но поскольку поддержку этой кодировки (koi7-switched) писал японец по образу и подобию ISO2022, нужно вставить в текст набор символов 'ESC ) N'. Т.е. что-то вроде
(printf "\033)N"; cat ...) | iconv -f koi7-switched -t utf-8
---------- Post added at 13:19 ---------- Previous post was at 13:18 ----------
А еще отличные грабли в PUTR: команда COPY без аргументов затирает все файлы в текущем каталоге :-)
shattered
04.06.2012, 21:24
Одного из MAMEdevs спросили, эмулируется ли 15ИЭ в MESS: http://mamedev.emulab.it/haze/2012/05/31/emulation-status/#comment-22334
Я ответил, что нет, но есть ТО. Не хватает дампов прошивки. Кто-то уже их делал или может сделать?
Есть 7 скоросшивателей со следующей документацией (отпечатано на принтере; скоросшиватели подписаны ручками).
Документация 1981 года.
Программное обеспечение СМ ЭВМ. Операционная система с разделением функций.
РАФОС
1) Введение в систему. Описание применения. том 1 книга 1 (23 листа)
Особенности системы. Описание применения. том 1 книга 2 (18 листов)
2) Команды монитора. Описание команд. Руководство оператора. том2 книга 1 часть 2 (70 листов)
3) справочник по системе. Справочник оператора. том 2 книга 6 части 1-3 (32+32+17 листов)
4) система файлов. Руководство системного программиста. том 4 книга 2 (32 листа)
5) фортран. Руководство программиста. том 5 книга 2 часть 2 (24 листа)
6) фортран. Руководство системного программиста. том 5 книга 2 часть 3 (24 листа)
7) отладчик фортран (FDT). Руководство программиста. том 5 книга 2 часть 5 (29 листов)
Очень хочется не хранить её в бумажном виде, а найти в электронном.
Представляет ли эта документация интерес?
Поделитесь, пожалуйста, этими доками в электронном виде...
4) система файлов. Руководство системного программиста. том 4 книга 2 (32 листа)
о, у мну такое на бумаге есть :) Но не полностью, пару страниц не хватает...
Очень хочется не хранить её в бумажном виде, а найти в электронном.
Могу отсканить.
Есть РАФОС II.
Vamos, Хочется же минимизировать. Идеал - это текстовые файлики. Неужно ни у кого нету???
---------- Post added at 22:25 ---------- Previous post was at 22:24 ----------
Помогите починить мс1201.04:
Имеется мс1201.04
Коррекция ОЗУ отключена джампером.
Тест из ПЗУ (T4) выдает следующие ошибки при чтении и обратной записи:
02470100/114000 114100
02470110/114010 114110
02470114/114014 114114
02470140/114040 114140
02470144/114044 114144
02470150/114050 114150
02470154/114054 114154
02600000/026000 024000
02600002/026002 024002
02600004/026004 024004
Некоторые из них проявляются не всегда (иногда T4 выдает меньшее количество ошибок).
При этом почему-то тест CKMBA1.TMS ругается на 02450500 050512/050412 и останавливается.
Правильно ли я понимаю что это именно м/с ОЗУ?
(если да) Правильно ли я понимаю что это две РУ7 в старшем банке (их в мс1201.04 два).
как расположены на плате эти банки и как расположены на плате разряды в этих банках: то есть если в старшем банке ошибка в битах 6 и 10, как найти эти две РУ7 на плате?
Идеал - это текстовые файлики. Неужно ни у кого нету???
Какие-то куски наверное есть, смотреть надо.
Скан потом OCR и будут текстовые. :)
Ищу схему старого варианта КЖД от ДВК.
Вот тут есть ТО и схема на новый вариант: http://oldcomp.vitaly.kremnev.ru/dvk.htm
В старом варианта нет транзисторов с радиаторами (транзистор один и без радиатора) и мест под ПЗУ гораздо больше.
Вот тут для примера фото старого http://comp.disneyjazz.net/images/th/058_005.jpg (большое фото тут http://comp.disneyjazz.net/images/058_005.jpg)
Есть, условно полторы, таких платы. Одна, практически нековырянная, только одну из ПЗУшек меняли. Другая с варварски обгрызенными соединителями и некоторыми другими повреждениями, но ПЗУшки целые и на месте. Работоспособность неизвестна. Могу поменять на плату с процессором ВМ2. Правда, как это переправить в SPb, пока никаких идей. С почтой у нас все очень плохо.
El_Ju, Та что нековыряная - рабочая?
Незнаю, проверить не где. А на УКНЦ оно сразу не запустилось, впрочем я старался не сильно.
shattered
30.06.2012, 23:15
[/COLOR]SKcorp., у меня есть ещё один вопрос :)
Вы можете сделать качественное цифровое фото "морды" 15ИЭ-00-013 ?
Я хочу сделать 2D симуляцию фрязинского терминала ( чтобы на больших LCD мониторах "морда" 15ИЭ-00-013 выводилась 1:1 ), но для этого мне нужны снимки оригинала.
Симуляцию или эмуляцию? Если у вас есть дамп его прошивки, поделитесь -- я пробую написать эмулятор его процессора для MESS.
Симуляцию или эмуляцию? Если у вас есть дамп его прошивки, поделитесь -- я пробую написать эмулятор его процессора для MESS.К сожалению, дампа прошивки терминала 15ИЭ-00-013 у меня нет.
Просьба к продвинутым PDP-шникам.
Есть такой диск (http://zx.pk.ru/showpost.php?p=584159&postcount=570) от Электроники-85. Большинство программ с него работают нормально, а вот игра LAND.SAV, при копировании плагином Patron'a имеет некоторые битые блоки, причем некоторые из них явно из кусков других программ с этого диска. Вопрос следующий - действительно ли на этом диске битая игра LAND.SAV или же ее неправильно копирует плагин? В аттаче игра, скопированная плагином. Блок с ошибками как минимум по адресу 0xE00, где программа резко обрывается и идет мусор.
Вопрос следующий - действительно ли на этом диске битая игра LAND.SAV или же ее неправильно копирует плагин?Нужно подключить исходный образ в эмуляторе Э-85 и выполнить команду DUMP LAND.SAV/OUT:LAND.DMP, а затем сделать то же самое в целевом эмуляторе с копией образа и сравнить полученные текстовые файлы дампов - LAND.DMP.
Нужно подключить исходный образ в эмуляторе Э-85 и выполнить команду DUMP LAND.SAV/OUT:LAND.DMP, а затем сделать то же самое в целевом эмуляторе с копией образа и сравнить полученные текстовые файлы дампов - LAND.DMP.
В целевом эмуляторе грузится так же, как оно и выглядит после копирования плагином. А вот пользоваться эмулем Э-85 я особо не умею.
Дискета с LAND.DMP и LAND.SAV - для Э85
Плагином не тронуты оба файла )
Image : Free.dsk
Format : DZ
Size : 400 Kb
Volume ID: FODOS
Owner : OLEG.
File Blocks Date Bytes
---------- ------ ----------- ----------
LAND .DMP 200 102'400
LAND .SAV 39P 14-Aug-1988 19'968
LAND .PID 23 08-Nov-1988 11'776
< UNUSED > 524 268'288
---------- ------ ----------- ----------
3 Files, 262 Blocks
524 Free blocks
Image : disketa001.dsk
Format : DSK
Size : 800 Kb
Volume ID: RT11A
Owner :
File Blocks Date Bytes
---------- ------ ----------- ----------
LAND .SAV 39 14-Aug-1988 19'968
DUMP .SAV 8 27-Apr-1983 4'096
LAND .DMP 200 31-Dec-1999 102'400
< UNUSED > 1339 685'568
---------- ------ ----------- ----------
3 Files, 247 Blocks
1339 Free blocks
ДМП с УК-НЦ после переноса(!)копирования(!) файла плагином на пустой образ.
Сравнивайте ) Вряд ли плагин то виноват )
Дискета с LAND.DMP и LAND.SAV - для Э85
Плагином не тронуты оба файла )
Все то же самое (
Похоже, при считывании глюкануло, и попали другие сектора. А может при записи, что еще хуже.
Товарищ Garnizon считал какую-то ДВК'шную дискету с красивой надписью 'Радуга'. Считана в программе "диск анализер". Кто-нить переведите в нормальный .dsk.
Товарищ Garnizon считал какую-то ДВК'шную дискету с красивой надписью 'Радуга'. Считана в программе "диск анализер". Кто-нить переведите в нормальный .dsk.
Всё очень просто. Читается 512 байт, потом 512 байт пропускается, затем читается 4608 байт. И так ещё 159 раз. В итоге из 901120 байт должно получиться 819200 байт.
Всё очень просто. Читается 512 байт, потом 512 байт пропускается, затем читается 4608 байт. И так ещё 159 раз. В итоге из 901120 байт должно получиться 819200 байт.
А как это автоматизировать? У меня этот образ то же есть, не могу ничем его открыть, если у кого нормальный DSK получиться, пожалуйста прилипите к сообщение для просмотра-изучения содержимого )
(* как обычно туча несовместимостей на пустом месте - я эмоция)
---------- Post added at 23:23 ---------- Previous post was at 23:22 ----------
И так ещё 159 раз.
это же издевательство? )
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot