Последний раз редактировалось MiX; 08.09.2022 в 00:16.
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Или с отжатым пультом нажать L потом в верхнем адресе ОЗУ 157776 поменять значение на 177560 и нажать Р загрузка будет через порт терминала
Думаю - это потому так, что в эмулируемой конфигурации не только присутствует на шине порт устройства PC, но к нему изначально подключен образ ленты абсолютного загрузчика. Поэтому если при эмуляции ДВК-2 в такой конфигурации просто нажать L - прошивка загрузит уже подключенный образ с кодом абсолютного загрузчика через штатный перфоввод.
Действительно, если на шине ДВК-2 не отвечает адрес 177550 - заставить прошивку грузить перфоленту через порт терминала не выйдет:
Код:@L DEVICE'S NOT AVAILABLE @157776/154472
Но если повесить на единственный адрес шины 177550 доступное по чтению фиктивное устройство эмулятора CPUCSR - команда L перестаёт ругаться и можно патчить память и грузить перфоленту:
Код:[objects] CPUCSR = CPU_module:CPUCSR [links] bus & CPUCSR [CPUCSR.ini] CPUCSR_Address = 0177550Код:@L 157744 @157776/177550 177560 @P 157500 @P PDP-11 BASIC, VERSION 007A *O
Последний раз редактировалось Patron; 08.09.2022 в 12:00.
Именно так и произошло, потому при запуске эмулятора втихаря подключается образ ленты не смотря на то что в предыдущий раз образа не было.
Я закомментировал в настройках PC0 = Paper Tapes\LSI-11-AbsLoader.bin
Это излишне. В реале я переключил SA1.7 и SA1.8 и получил адрес перфоввода и перфоратора на МС1201.02
Для альтернативной прошивки 055alt такой метод годится.
Последний раз редактировалось MiX; 08.09.2022 в 22:41.
Патрон здравствуйте.
Я бы попросил сделать регистр 177546 с отключением сетевого таймера, как это делает плата СМ1. Такая возможность давала бы удаленно отключать таймер если это необходимо. Например для загрузки перфоленты.
Спасибо.
***
В реале получается так:
Включаем ДВК в составе которого плата СМ1.
Включаем кнопку таймер.
Далее-
Код:@T4 *** ТЕСТ ТЕРМИНАЛА *** ВВЕДИТЕ СЛЕДУЮЩИЕ СИМВОЛЫ: 1 2 3 4 J C U K ПРОВЕРКА ОКОНЧЕНА @177546/000000 100 @T4 *** ТЕСТ ТЕРМИНАЛА *** ВВЕДИТЕ СЛЕДУЮЩИЕ СИМВОЛЫ: 1 2 3 4 J C U K 1 2 3 4 000404 @177546/000000 0 @T4 *** ТЕСТ ТЕРМИНАЛА *** ВВЕДИТЕ СЛЕДУЮЩИЕ СИМВОЛЫ: 1 2 3 4 J C U K ПРОВЕРКА ОКОНЧЕНА
Одна особенность платы СМ1 (а точнее платы М6) в том что плате М6 для запуска необходим таймер. Даже если инвертировать функцию регистра, т.е. при включении по умолчанию таймер будет разрешён, то при запрете (запись в регистр) обратно будет не вернуть, процессор М6 остановится.
Что касается эмулятора то процессорным платам не требуется наличие таймера для запуска. Однако приоритет кнопки Таймер думаю определить так:
Запуск эмулятора видимо придется сделать с записью в регистр 177546. Далее если кнопка Таймер включена горит зелёным цветом. При этом если очистить регистр 177546 (запрет таймера) то кнопка остается нажатой но загорается жёлтым цветом и меняется название кнопки "Таймер откл.". Если кнопку отжать и нажать заново то загорается зелёным и происходит теневая запись в регистр 177546. В реале конечно такого нет, но этот вариант как компромисс между нажатой кнопкой и регистром.
Или сделать кнопку не фиксируемой. Просто меняет цвет и статус, повторное нажатие даёт зелёный и запись в регистр.
Разумеется это только для той конфигурации эмулятора где есть BDV11.
Обновилась текущая сборка "эмулятора ДВК": DVK_Emulator_16.10.22_18-03
Изменения:
1. Объекту MS7004_Converter добавлен параметр LK201_Mode со значением по-умолчанию 0. Пример - в файле конфигурации MS7004_Converter.cfg. Для подключения клавиатуры LK201 - значение параметра нужно изменить на 1:
Код:[MS7004_Converter.ini] LK201_Mode = 1
Последний раз редактировалось Patron; 16.10.2022 в 18:06.
Релиз эмулятора обновлён. Исправлена ошибка - при замене таблицы скан-кодов МС7004 для LK201 была пропущена буква "L".
Hunta (16.10.2022), nzeemin (26.06.2023), Oleg N. Cher (16.10.2022), Radon17 (16.10.2022)
Мне кажется, не совсем удачное поведение эмулятора, если привязывать HD к абсолютному пути, но без имени устройства, то есть вида \Dir1\Dir2 (как и \Dir1\Dir2\). Эмулятор добавляет в начало каталог, где располагается pdp11.exe (вроде) и получается фигня. Лучше или просто использовать путь как есть или добавлять только имя устройства, где располагается pdp11.exe или имя устройства от текущего (при запуске pdp11.exe) каталога
- - - Добавлено - - -
И вот в этом куске кода из драйвера HD пятой версии ошибка:
Судя по всему, надо так:Код:10$: .IF EQ MMG$T Mov (R2)+, 2(R3) ; Load data word from user buffer .IFF Call @$GTBYT ; Get even byte Mov (SP)+, (PC)+ Word: .Byte 0 Byte1: .Byte 0 Call @$GTBYT ; Get odd byte MovB (SP)+, Byte1 Mov Word, 2(R3) ; Send word to device .ENDC
Код:.ENABL LSB 10$: .IF EQ MMG$T Mov (R2)+, 2(R3) ; Load data word from user buffer .IFF Call @$GTBYT ; Get even byte Mov (SP)+, (PC)+ Word: .Byte 0 Byte1: .Byte 0 Call @$GTBYT ; Get odd byte MovB (SP)+, Byte1 Mov Word, 2(R3) ; Send word to device .ENDC .DSABL LSB
Последний раз редактировалось Hunta; 26.06.2023 в 09:26.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)