Так можно и затереть файл с таким же именем.
Интересен еще один тест на Mentec. Тест тот же самый, но перед запуском программы MENTEC.SAV выполнить команды:- - - Добавлено - - -Код:.D 1000=5037,177520,104350
.ST 1000
Новый думпер для прошивки здесь (прога MTROM.SAV).
По первому впечатлению принцип адресации как у BDV11. Среди прочего адресуется и EEPROM. Пока без разбора читаю 256 страниц.
Прошивка.
- - - Добавлено - - -
form, В эмуляторе запустить прошивку есть возможность?
И еще:Код:@17777520/ xxxxxx 200
@17773002/ (что здесь)?
А после записи в 17777520 читается записанное значение или другое?
Да, тоже интересный тест. На чтение он может быть другим регистром. Тем более, что он один и есть для управления. Других просто нету (RSX так и определяет можно ли пробовать M100: если нету нифига - может быть Mentec, есть - KDJ)
А так по распределению примерно так: блоки 0-176 это ПЗУ, 177 - EEPROM, но используется только младший байт. Вопрос в блоках 200-377. В прошивке для записи используются как блок 177, так и 377.
Да. При старте делаются некоторые тесты, потом страницы 2-176 копируются последовательно (за вычетом последнего слова где старший байт равен номеру страницы, а младший - нечто вроде контрольной суммы, вычисляемой последовательными XORами) в память, начиная с 10000, после чего код запускается с 10000.
Это и в KDJ11-B/KDJ11-E так же.
Сейчас попробую соорудить плагин для E11.
Похоже организация такая: 0-176 EPROM, 177 EEPROM, 200-376 EPROM, 377 EEPROM.
При этом в данной конфигурации второй части нету.
- - - Добавлено - - -
А нет. Есть только первая часть. Это просто такая хитрость чтобы разрешить запись в EEPROM:- - - Добавлено - - -Код:034712 012737 000377 177520 MOV #377,@#177520
034720 012737 000252 173000 MOV #252,@#173000
034726 012737 000125 173002 MOV #125,@#173002
034734 012737 000200 173000 MOV #200,@#173000
034742 012737 000252 173000 MOV #252,@#173000
034750 012737 000125 173002 MOV #125,@#173002
034756 012737 000177 177520 MOV #177,@#177520
034764 012737 000060 173000 MOV #60,@#173000
034772 105737 173000 TSTB @#173000
034776 100375 BPL 34772
Выложил там же еще один тест.
Программа MTCEE.SAV. Посмотрим какие значения принимает PCR на чтение в разных условиях.
Сейчас больше вот этот тест интересен - он включает проверку PCR (собственно ей и занимается).
Так в эмулятор то можно засунуть или нет?Код:MTCEE
PCR=000000
PCR=000177
PCR=000064
PCR=000000
- - - Добавлено - - -
form, А как сдампить пульт с М2 Эл.60?
Можно если эмулировать ROM/EEPROM с PCR. Сейчас пробую в E11 сделать.
- - - Добавлено - - -
Думаю, что никак. Если только кто знает хитрость как в HALT моду попасть програмно на нем.
- - - Добавлено - - -
Код:E11>g 173000
Testing in progress please wait
4088 K Bytes RAM
M11 Bootstrap/Diagnostic Version V 1.4I
Commands are :
BOOT - Boot from a specific device.
HELP - Re-display this summary of commands.
LIST - List the bootstraps provided.
MAP - Display a map of the address space.
SETUP - Configure the M11.
TEST - Enter a continuous test mode
Enter a command and press the return key :
Можно, только я пока не эмулирую запись в EEPROM.
- - - Добавлено - - -
Последний тест убран - похоже он затирает первое слово EEPROM.
Выложил набор E11 с плагином прошивки Mentec. EEPROM пока эмулируется только на чтение.Команда MAP подвисает - надо разобраться еще. Остальное вроде работает.Код:Testing in progress please wait
4088 K Bytes RAM
M11 Bootstrap/Diagnostic Version V 1.4I
Commands are :
BOOT - Boot from a specific device.
HELP - Re-display this summary of commands.
LIST - List the bootstraps provided.
MAP - Display a map of the address space.
SETUP - Configure the M11.
TEST - Enter a continuous test mode
Enter a command and press the return key :B DL0
Starting system ...
RT-11FB V05.07
UPD: с MAP прояснилось - нужно было запретить процу откат автоинкремента после ошибок (который ошибочно включен при выборе DCJ11 процов в настройке.
Обновил эмуляторский набор. Теперь вопросы про FPU и MOVR задаются. Нужно было включить команду MED (от PDP-11/60, гы). E11 ее как NOP отрабатывает если включить, но прошивке этого хватает.
Теперь когда стали понятны некоторые особенности, интересен следующий тест: в сетапе разрешить команду MOVR и выполнить MENTEC.SAV.
Выставить можно, но команды MED он отрабатывает как NOP поскольку эти команды лезут за пределы PDP-11.
- - - Добавлено - - -
А какой-нибудь MY через переходник подцепить если?
- - - Добавлено - - -
Разбор кода сохранения настроек привел к следующему пониманию работы с EEPROM:
Сначала один раз выполняется вот такой код:Затем на каждый байт выполняется такой код:Код:034712 012737 000377 177520 MOV #377,@#177520 ;КОМАНДНАЯ СТРАНИЦА
034720 012737 000252 173000 MOV #252,@#173000 ;ATTENTION
034726 012737 000125 173002 MOV #125,@#173002 ;...
034734 012737 000200 173000 MOV #200,@#173000 ;ПОДГОТОВКА К СТИРАНИЮ
034742 012737 000252 173000 MOV #252,@#173000 ;ATTENTION
034750 012737 000125 173002 MOV #125,@#173002 ;...
034756 012737 000177 177520 MOV #177,@#177520 ;СТРАНИЦА EEPROM
034764 012737 000060 173000 MOV #60,@#173000 ;СТИРАНИЕ
034772 105737 173000 TSTB @#173000 ;ЗАТЕРЛОСЬ (СТАЛО 377)?
034776 100375 BPL 34772 ;PL - НЕТ ЕЩЕ
Отображение EEPROM осуществляется записью 177 в регистр страницы (177520), при этом используются только младшие байты каждого слова. Сохранение параметров записывает слова 000-270, слова 272-374 не трогает, в слово 376 пишется байт, получаемый последовательным XORом с 000 каждого из байтов (включая те, что не трогаются).Код:034526 012737 000377 177520 MOV #377,@#177520 ;КОМАНДНАЯ СТРАНИЦА
034534 012737 000252 173000 MOV #252,@#173000 ;ATTENTION
034542 012737 000125 173002 MOV #125,@#173002 ;...
034550 012737 000240 173000 MOV #240,@#173000 ;ПОДГОТОВКА К ЗАПИСИ
034556 012737 000177 177520 MOV #177,@#177520 ;СТРАНИЦА EEPROM
034564 110015 MOVB R0,@R5 ;ЗАПИСЬ БАЙТА
034566 100006 BPL 34604 ;PL - ЖДЕМ PL
034570 111503 MOVB @R5,R3 ;MI - ЖДЕМ MI
034572 105703 TSTB R3 ;...
034574 100375 BPL 34570 ;...
............................................................
034604 111503 MOVB @R5,R3 ;...
034606 105703 TSTB R3 ;...
034610 100775 BMI 34604 ;...
Прошивка универсальная. Судя по всему поддерживает как модули с J-11, так и с Mentec. Во время запуска, если поддерживается команда MED6X, меняет название с M11 на N11, а также читает версию микрокода. Этой же командой MED6X возможно и включает эмуляцию команд FP-11 и MOVR.
Совместим, но не на уровне регистров. В DECовском варианте используется 8й бит регистра ASR (177526) для общения с ним. В Mentecовском варианте чтение производится из 173010 (младший бит), а запись делается хитро: 0 записывается чтением 173000, а 1 пишется чтением 173002.
А сами часы на том же далласе и работа с ними ведется одинаково.