Важная информация

User Tag List

Страница 150 из 183 ПерваяПервая ... 146147148149150151152153154 ... ПоследняяПоследняя
Показано с 1,491 по 1,500 из 1824

Тема: Эмулятор ДВК

  1. #1491
    Guru Аватар для form
    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,823
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    281
    Поблагодарили
    227 сообщений
    Mentioned
    29 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от MiX Посмотреть сообщение
    На Э100/25 не загружается.
    Надо смотреть где останавливается. У меня нет настроенного варианта под рукой, а как добавлять ромы я так и не разбирался.
    PDP-11/83, Электроника МС0511 (УК-НЦ), DECserver 90M
    Q-Bus: H9278-A, DLV11-J, DZQ11, DHV11, DELQA-M, LPV11, CQD-420/TM, DRV11
    PMI: KDJ11-BF, MSV11-JE
    VT220, CM7209

  2. #1492
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,777
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    61 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от MiX Посмотреть сообщение
    Код:
    L 177720
    D 20
    L 20000
    S
    На Э100/25 не загружается.
    Может, адрес 177720 маловат для доступа к регистру на странице ввода-вывода из пульта.
    Последний раз редактировалось Patron; 24.09.2017 в 17:40.

  3. #1493
    Guru Аватар для form
    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,823
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    281
    Поблагодарили
    227 сообщений
    Mentioned
    29 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Может, адрес 177720 маловат для доступа к регистру на странице ввода-вывода из пульта.
    В эмуляторе пульта доступ идет в точности к написанному адресу (MMU выключен).
    Нет даже регистров (177700-177707) как на клавишном пульте.

    - - - Добавлено - - -

    Взял голый конфиг E100_ROM.cfg, добавил туда HDROM, все работает, хотя и странно
    Код:
    000000 000000 000000 000000
    $L 177720
    $D 20
    $L 20000
    $S
    Boot HD unit? 0
     
    HD Boot-I-Cold boot..
     
    HD (177720) disk driver  v1.5  2016
    SL V08.00 [SW] Сторожевых С.В. 1988
     
    RT-11SB (Y) V05.07
     
    .SET TT FORM
     
    .SET TT SCOPE
     
    .SET EDIT K52
     
    .SET SL ON
     
    .DAY
    Время           Дата
    00:00:00        18-Апр-2016, Понедельник
    PDP-11/83, Электроника МС0511 (УК-НЦ), DECserver 90M
    Q-Bus: H9278-A, DLV11-J, DZQ11, DHV11, DELQA-M, LPV11, CQD-420/TM, DRV11
    PMI: KDJ11-BF, MSV11-JE
    VT220, CM7209

  4. #1494
    Guru Аватар для MiX
    Регистрация
    13.12.2013
    Адрес
    г. Санкт-Петербург
    Сообщений
    3,065
    Спасибо Благодарностей отдано 
    34
    Спасибо Благодарностей получено 
    74
    Поблагодарили
    62 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    form, Прошу прощения. У меня в конфиге был прописан DWBoot.bin.

    Цитата Сообщение от form Посмотреть сообщение
    все работает
    У меня тоже, после того как я сменил файл прошивки.

  5. #1495
    Guru Аватар для form
    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,823
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    281
    Поблагодарили
    227 сообщений
    Mentioned
    29 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от MiX Посмотреть сообщение
    У меня тоже, после того как я сменил файл прошивки.
    Тем не менее, работает не совсем как ожидается
    Сейчас посмотрю.

    - - - Добавлено - - -

    Обновил прошивку. Поправлена печать заголовка если нет SWR. По умолчанию не грузится если загрузчик нестандартный. При наличии SWR, SW14 разрешает загрузку в любом случае. Если SWR нету, можно нажать CTRL/C и записать значение для SWR в R5, затем нажать P.
    Код:
    000000 000000 000000 000000
    $L 177720
    $D 20
    $L 20000
    $S
    *** HD BOOT ROM V01.01 ***
     
    Boot HD unit? 1
     
    ?BOOT-U-No boot on volume
     
    Boot HD unit? 0
     
    HD Boot-I-Cold boot..
     
    HD (177720) disk driver  v1.5  2016
    SL V08.00 [SW] Сторожевых С.В. 1988
     
    RT-11SB (Y) V05.07
     
    .SET TT FORM
     
    .SET TT SCOPE
     
    .SET EDIT K52
     
    .SET SL ON
     
    .DAY
    Время           Дата
    00:00:00        18-Апр-2016, Понедельник
    - - - Добавлено - - -

    Крутит лампочки в стиле RT-11
    Видео 24Mb.
    Последний раз редактировалось form; 24.09.2017 в 20:10.
    PDP-11/83, Электроника МС0511 (УК-НЦ), DECserver 90M
    Q-Bus: H9278-A, DLV11-J, DZQ11, DHV11, DELQA-M, LPV11, CQD-420/TM, DRV11
    PMI: KDJ11-BF, MSV11-JE
    VT220, CM7209

  6. #1496
    R.I.P. Аватар для hobot
    Регистрация
    30.08.2011
    Адрес
    Зеленоград
    Сообщений
    7,161
    Спасибо Благодарностей отдано 
    2,979
    Спасибо Благодарностей получено 
    370
    Поблагодарили
    309 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    Тем не менее, работает не совсем как ожидается
    тем не менее, не удалось у себя в эмуляторе повторить, что то у меня снова не так с конфигом возможно?
    довабил в раздел [HD.ini] строку
    HD_Service_ROM_File = DWBoot.bin

    жму HALT и получаю вот такое :
    Код:
    . 150006
    @177720/000200 20
    @20000G 020000
    @
    Замена файла .bin Patron'a в строке на .rom файл Олега те же цифры и снова "ат" (
    Архив программ для УК-НЦ, ДВК и БК.

    Ищу игру "СТРАНА МОНСТРОВ" [monstr.sav] для ДВК.

  7. #1497
    Guru Аватар для form
    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,823
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    281
    Поблагодарили
    227 сообщений
    Mentioned
    29 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от hobot Посмотреть сообщение
    @20000G 020000
    Судя по всему в пульт выход был нажатием HALT, а потом он остался нажатым.
    PDP-11/83, Электроника МС0511 (УК-НЦ), DECserver 90M
    Q-Bus: H9278-A, DLV11-J, DZQ11, DHV11, DELQA-M, LPV11, CQD-420/TM, DRV11
    PMI: KDJ11-BF, MSV11-JE
    VT220, CM7209

  8. #1498
    R.I.P. Аватар для hobot
    Регистрация
    30.08.2011
    Адрес
    Зеленоград
    Сообщений
    7,161
    Спасибо Благодарностей отдано 
    2,979
    Спасибо Благодарностей получено 
    370
    Поблагодарили
    309 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    а потом он остался нажатым.
    так и есть.
    заработал DWBOOT.bin - загрузился смонтированный DW образ
    заменил в строке на файл прошивки, номер устройства позволяет выбрать а дальше
    бежит строка с удивительной скоростью ))) Это пример "нестандартного" загрузчика???

    Код:
                     HD Boot-I-Cold b
                                     HD Boot-I-Cold bo
                                                      HD Boot-I-Cold b
                                                                      HD Boot-I-Cold
     bo
       HD Boot-I-Cold b
                       HD Boot-I-Cold b
                                       HD Boot-I-Cold bo
                                                        HD Boot-I-Cold b
                                                                        HD Boot-I-Co
    ld b
        HD Boot-I-Cold bo
                         HD Boot-I-Cold b
                                         HD Boot-I-Cold bo
                                                          HD Boot-I-Cold b
                                                                          HD Boot-I-
    Cold bo
           HD Boot-I-Cold b
                           HD Boot-I-Cold b
                                           HD Boot-I-Cold bo
                                                            HD Boot-I-Cold b
                                                                            HD Boot-
    I-Cold b
            HD Boot-I-Cold bo
    ???

    - - - Добавлено - - -

    отвечу сам себе - возможно у меня устарела версия HD.SYS (у меня 1.2) или надо дождаться очередного обновления
    эмулятора.

    - - - Добавлено - - -

    обновление до 1.5 не помогло )
    Архив программ для УК-НЦ, ДВК и БК.

    Ищу игру "СТРАНА МОНСТРОВ" [monstr.sav] для ДВК.

  9. #1499
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,777
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    61 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Устройство HD - варианты контроллеров и драйверов.

    Устройство HD - варианты контроллеров и драйверов.
    -------------------------------------------------------------------------

    HD t1 t2 t3 t4 t5 Driver Distribution Kit


    Устройство HD - контроллер, предназначенный для реализации псевдо-дискового устройства с несколькими приводами, содержимое носителей в которых - эмулируется файлами на неком общем носителе ( файловой системе ОС хоста программного эмулятора HD, флеш-карте, подключенной к аппаратному эмулятору HD и т.п. ).

    Такой контроллер не требует от драйвера вычисления и передачи ему номера головки, номера дорожки, номера сектора, а использует входные параметры драйвера, передаваемые ему операционкой - номер диска, номер блока, счётчик слов и адрес буфера в памяти. Это значительно упрощает написание драйвера, особенно потому, что любой запрос операционки может быть выполнен за одно обращение к устройству. Драйверу не надо, как в случае (например) с контроллером DW - разбивать крупный запрос операционки на серию одноблочных запросов к устройству. При записи неполного блока - контроллер HD сам добивает остаток блока нулями.

    Устройство HD может быть реализовано как в программных, так и в аппаратных проектах, причём как в одном модуле с эмулятором процессора, так и в виде отдельного контроллера на шине. Это предъявляет к контроллеру противоречивые требования, которые не могут быть выполнены все в рамках одной архитектуры. Поэтому существует несколько незначительно отличающихся типов контроллера HD, как и драйверов, работающих с этими контролерами.

    На данный момент есть 5 типов контролера HD ( t1, t2, t3, t4, t5 ) и 5 соответствующих им веток драйверов ( v1, v2, v3, v4, v5 ). При эмуляции тип эмулируемого контролера HD задаётся "секретным" параметром: HD_InterfaceType в разделе HD.ini. Значение по умолчанию HD_InterfaceType = 2 соответствует обычному контроллеру HD.

    Все контроллеры имеют два регистра на шине PDP-11 : CSR=177720 и DATA=177722 : t3 и t5 также используют вектор прерывания 0164.

    HD t1 останавливает процессор и используют прямую работу с памятью.

    HD t2 может останавливать процессор или использовать DMA. Главное отличие HD t2 от t1 в том, что HD t2 позволяет работать с образами 32-разрядного размера (в блоках по 512 байт) и использовать 22-разрядные адреса памяти, а HD t1 - поддерживает только 16-разрядные размеры и адреса. Драйвер v2 одинаково хорошо работает с HD t2 и если тот останавливает процессор, и если использует DMA, снимая в CSR флаг READY на время работы.

    HD t3 - это t2 с прерываниями. Драйвер v2 работает с HD t3 в режиме без прерываний, драйвер v3 - с прерываниями.

    HD t4 и HD t5 не используют DMA, получая и передавая данные чтения и записи через регистр данных. HD t4 работает без прерываний ( как MX ), а HD t5 - с прерываниями ( как DW ). Драйвер v4 может работать c HD t5 без прерываний, драйвер v5 может работать только с HD t5 по прерываниям.



    Старший бит CSR используется в качестве флага ошибки. HD t1 не использует других битов в CSR. HD t2 ( и последующие ) устанавливает бит 040, если в текущем приводе смонтирован образ, содержащий более 65535 блоков по 512 байт. HD t2 использует в CSR бит READY ( 0200 ), что позволяет отличить его от t1. HD t3 позволяет изменять в CSR бит IE ( 0100 ), в случае установленности которого генерит прерывание после завершения команд чтения и записи. Установка бита IE у готового устройства не вызывает прерывание. HD t2 и HD t3 могут работать с 22-разрядной адресной шиной, поэтому для задания старших битов адреса используются 6 младших битов старшего байта CSR. HD t2 и HD t3 допускают байтовую запись в CSR для раздельного задания старших битов адреса и кода команды чтения/записи. HD t4 и HD t5 держат установленным в CSR бит NO.DMA ( 040000 ). HD t5 позволяет изменять в CSR бит IE ( 0100 ), в случае установленности которого генерит прерывание после завершения фазы работы с образом в командах чтения и записи.

    HD t2 и последующие - после каждой команды ( кроме команды GetUnitSize ) возвращают в младшем байте регистра данных код завершения команды, а в старшем - текущий номер привода.

    Коды завершения:

    Код:
    	IS_SUC	= 0001;  //  нет ошибки
    	IE_OFL	= 0277;  //  устройство offline
    	IE_BLK	= 0354;  //  выход за пределы устройства
    	IE_WLK	= 0364;  //  попытка записи на защищенное устройство
    	IE_VER	= 0374;  //  неустранимая ошибка (например bus error)
    	IE_ABT	= 0375;  //  выполнение прервано
    	IE_IFC	= 0376;  //  неверная команда

    Максимально полный набор команд семейства HD, некоторые из которых работают только при реализации HD в блоке эмуляции процессора, выглядит так:

    Код:
    #define  HD_CheckUnit             0
    #define  HD_SetUnit               1
    #define  HD_SetBlockNum           2
    #define  HD_SetBlockNumHi       022 // 18
    #define  HD_SetBufAddr            3
    #define  HD_SetWordCount          4
    #define  HD_Read                  5
    #define  HD_Write                 6
    #define  HD_GetUnitSize           7
    #define  HD_GetBootForUnit0     010 //  8
    #define  HD_GetUnitSizeHi       027 // 23
    #define  HD_GetUnitSizeLo       047 // 39
    #define  HD_ExitEmulator          9
    #define  HD_SetTempCPUSpeed      10
    #define  HD_RestoreMainCPUSpeed  11
    #define  HD_SetSlowCPUSpeed      12
    #define  HD_Take_RT11_ExitCode   13
    #define  HD_LoadSeviceROM       020 // 16
    #define  HD_Ignored_040         040 // 32
    Цветом выделены "расширенные" команды, не поддерживаемые HD t1.

    Если к выбранному приводу подключен образ 32-разрядного размера - команда GetUnitSize возвращает размер образа 65535 блоков. Команды GetUnitSizeHi и GetUnitSizeLo - всегда возвращают старшее и младшее слово размера ( для образов 16-разрядного размера GetUnitSizeHi возвращает 0 ). Команда SetBlockNum обнуляет старшее слово номера блока, поэтому для задания 32-разрядного номера блока должна вызываться перед командой SetBlockNumHi.


    Минимальный набор команд, необходимый для полноценной работы контроллера с драйвером HD выглядит так:

    Код:
    SetUni		= 1	; Запомнить содержимое регистра данных в качестве номера привода.
    SetBlk		= 2	; Запомнить содержимое регистра данных в качестве номера блока.
    SetBuf		= 3	; Запомнить содержимое регистра данных в качестве адреса буфера.
    SetWCn		= 4	; Запомнить содержимое регистра данных в качестве счётчика слов.
    CmdRea		= 5	; Выполнить чтение
    CmdWri		= 6	; Выполнить запись
    GetSiz		= 7	; Выдать в регистре данных размер файла образа ( в блоках по 512 байт )
    Цветом выделена команда, не поддерживаемая HD t4 и HD t5.

    В младшем байте CSR по чтению читаются флаги, а по записи - пишутся коды команд, поэтому подачу команд в контроллер можно выполнять только командами: MOV, MOVB, CLR, CLRB. Маска команды 077.

    При любой ошибке в ходе выполнения команды - в CSR устанавливается флаг ошибки ( старший бит ), а код ошибки возвращается в младшем байте регистра данных.

    Если к заданному номеру привода не подключен образ - после выполнения всех этих команд ( и до выполнения чтения и записи ) - возвращается IE_OFL.
    Если номер блока находится за пределами размера образа в текущем приводе - возвращается IE_BLK.
    Если счётчик слов запрашивает доступ за пределы образа в текущем приводе - возвращается IE_BLK, но запоминается переданное значение ( иначе t4 и t5 не будут знать, сколько слов позже передаст драйвер ).
    При сбое чтения или записи образа - возвращается IE_VER. Чтение и запись с завышенным счётчиком слов не вызывает ошибки, но осуществляется только для "влезающего" количества слов.
    Чтение и запись за пределами образа возвращает ошибку IE_BLK только в том случае, если ни один блок не был прочитан/записан.
    При попытке записи в защищённый от записи образ - возвращается IE_WLK.
    При зависании шины в режиме DMA - возвращается IE_VER.


    Дополнительные команды.

    GetBootForUnit0 = 010 ( 8 ) - устанавливает: [ НОМЕР ПРИВОДА = 0 ; НОМЕР БЛОКА = 0 ; АДРЕС БУФЕРА = 0 ; СЧЁТЧИК СЛОВ = 256 ] и выполняет команду чтения.
    LoadSeviceROM = 020 ( 16 ) - устанавливает: [ АДРЕС БУФЕРА = 020000 ; СЧЁТЧИК СЛОВ = ROM_Size/2 ] и считывает в буфер контроллера ( для t4 и t5 ) или пересылает в память по адресу 020000 сервисный код контроллера.
    ExitEmulator = 011 ( 9 ) - завершает эмуляцию, если последнее значение, записанное в регистр данных = 060434.
    SetTempCPUSpeed = 012 ( 10 ) - задаёт последнее значение, записанное в регистр данных - в качестве текущей скорости процессора в KIPS ( тысячах команд в секунду ). Значение 0 - устанавливает максимальную скорость.
    RestoreMainCPUSpeed = 013 ( 11 ) - восстанавливает "обычную" скорость процессора, задаваемую как-то помимо HD ( например - переключателями на плате ).
    SetSlowCPUSpeed = 014 ( 12 ) - в цикле ожидания операционной системы устанавливает для процессора "режим сна" в целях экономии энергии ( используется в ОС AT-11 ).
    Take_RT11_ExitCode = 015 ( 13 ) - при программной эмуляции сохраняет код завершения программы RT-11 для передачи Windows в качестве кода завершения программы эмулятора ( используется в ОС AT-11 ).
    Ignored_040 = 040 ( 32 ) - игнорируется контроллером, как и команда CheckUnit ( 000 ). Защищает контроллер от попадания флага 32-разрядного образа ( 040 ) обратно в CSR при выполнении команды BIS #100,@#177720.


    HD t1

    HD t1 - простейший вариант реализации устройства HD, предназначенный для простых программных, микроконтроллерных и FPGA эмуляторов микро-ЭВМ типа PDP-11. Главная особенность HD t1 - остановка тактовой частоты процессора на время выполнения контроллером полученной команды. Это позволяет не беспокоиться о синхронизации работы процессора и контроллера. Когда процессор получает тактовую частоту - это означает, что контроллер HD находится в режиме ожидания, а когда контроллер выполняет команду - процессор бездействует. Со стороны программы это выглядит так, что на следующем такте, после загрузки команды чтения в регистр HD - прочитанные данные уже находятся в ОЗУ, а контроллер готов к приёму следующей команды. Может работать только с драйвером ветки v1.


    HD t2

    HD t2 - в отличие от t1 позволяет работать с образами 32-разрядного размера (в блоках по 512 байт) и использовать 22-разрядные адреса памяти. В зависимости от реализации может останавливать процессор на время работы, как HD t1, или использовать DMA, снимая флаг READY в CSR. При остановке процессора на время работы - может работать с драйвером v1 или v2, при использовании DMA - только с драйвером ветки v2. При использовании DMA - должен досрочно завершать команды чтения и записи при получении по шине сигнала INIT и при записи в CSR.


    HD t3

    HD t3 - вариант t2 с поддержкой прерываний. При остановке процессора на время работы - может работать с драйвером v1, v2 или v3. При использовании DMA - только с драйверами v2 или v3. Режим работы HD t3 по прерываниям используется только драйвером v3. При использовании DMA - должен досрочно завершать команды чтения и записи при получении по шине сигнала INIT и при записи в CSR. Сигнал INIT должен сбрасывать разрешение прерываний.


    HD t4

    HD t4 - не использует DMA и не использует прерывания ( как MX ). После подачи команды записи - контроллер снимает флаг READY ( 0200 ) и в регистр данных нужно (без каких-либо других обращений) записать количество слов, равное текущему значению "СЧЁТЧИК СЛОВ", после чего контроллер снимает флаг NO.DMA и выполняет запись. Завершение записи приводит к установке в CSR флагов READY и NO.DMA. При выполнении чтения - контроллер снимает флаги READY и NO.DMA ( 040000 ), выполняет обращение к образу, после чего устанавливает флаг NO.DMA. После этого драйвер должен прочитать в регистре данных счётчик слов пакета и затем (без каких-либо других обращений) прочитать это количество слов из регистра данных. После чтения драйвером завершающего слова пакета - контроллер устанавливает в CSR флаг READY. При при получении по шине сигнала INIT и при записи в CSR во время выполнения команд записи и чтения - фаза обмена данными прерывается/отменяется ( после записи в CSR - с установкой кода ошибки IE_ABT ).


    HD t5

    HD t5 - вариант t4 с поддержкой прерываний. Всё как у t4, но сигнал INIT ещё должен сбрасывать разрешение прерываний. При разрешённых прерываниях они возникают в момент установки флага NO.DMA в операциях чтения и записи.


    При работе с контроллером HD прерывания возникают только в процессе выполнения чтения и записи ( по одному прерыванию на каждую команду чтения/записи с разрешёнными прерываниями ).

    ...

    CSR может быть организован как обычный буферный регистр на шине Q-Bus, куда контроллер HD записывает флаги и откуда читает команды. Поскольку драйвер v1 рассчитан на работу с HD t1, который никаких флагов в CSR не пишет - дальнейшее относится только к драйверам и контроллерам "продвинутых версий". Взаимодействие драйверов с регистром CSR основано на допущении, что команда CLR @#HDCSR может стереть из CSR все флаги, но если контроллер не занят выполнением записи или чтения - он воспримет очистку CSR как команду CheckUnit и восстановит все флаги до следующего обращения драйвера к CSR.

    Поэтому все драйверы HD ( кроме v1 ) начинаются так:

    Код:
    ;
    ; I/O request entry point.
    ;
    
    	.DrBeg	HD
    1$:
    	Mov	#HD$CSR,  R3
    	Clr	(R3)			; Reset controller if READ not completed
    	TstB	(R3)			; Device READY ?
    	BPl	1$			; No - Wait
    Однако, "записываемость" флагов в CSR со стороны драйвера не является требованием, наоборот - драйверы написаны так, чтобы одинаково работать и при записываемых и при не записываемых флагах CSR. Если флаги CSR могут быть "незаконно" обнулены драйвером - контроллер должен их восстанавливать только в двух случаях: 1) при установке флага READY (т.е. после завершения выполнения любой команды, включая команду 000 ); 2) когда значение флага должно измениться по логике работы контроллера.

    Если операционка перед аварийной выгрузкой драйвера вызывает его в точке аборта - драйвер выполняет команду CLR @#HDCSR. Занятый контроллер, когда освободится - должен быть в состоянии обнаружить факт записи в CSR, чтобы отменить передачу прочитанных данных в ОЗУ по ДМА ( для t2 и t3 ) или отменить фазу выгрузки данных через регистр данных ( для t4 и t5 ). Монитор RT11SJ не вызывает драйвер в точке аборта, выдавая вместо этого на шину сигнал INIT, который также не должен быть "забыт" контроллером, если он временно занят и не реагирует немедленно на происходящее на шине.
    Последний раз редактировалось Patron; 16.11.2018 в 14:26.

  10. #1500
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,777
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    61 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    В текущей реализации виртуального диска, подключенного к каталогу Windows - обнаружена ошибка синхронизации.

    Если выполнить в каталоге Windows следующий командный файл:

    TST.COM
    Код:
    CREA XXX.BIN/ALL:1
    DEL XXX.BIN
    Файл XXX.BIN будет создан одновременно и в каталоге виртуального диска, и в каталоге Windows, но затем удалён только в каталоге виртуального диска. В результате - при первой же синхронизации файл снова окажется в каталоге виртуального диска.

    Ошибка вызвана тем, что в каталоге Windows могут быть удалены только те файлы, которые присутствуют в списке файлов каталога Windows, создаваемом при синхронизации. Для исправления ошибки - создаваемые в каталоге виртуального диска файлы теперь будут добавляться в вектор имён файлов каталога Windows ( при отсутствии там одноимённого файла ), а удаляемые - помечаться, как удалённые ( исключить их из вектора нельзя, потому что индексы всех имён файлов в векторе должны быть неизменными между синхронизациями ).

    В следующих релизах программ модульного API ( эмуляторе ДВК, эмуляторе терминала типа VT52 и эмуляторе RT-11 ) эта ошибка будет исправлена.

Страница 150 из 183 ПерваяПервая ... 146147148149150151152153154 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Эмулятор
    от vladimir53 в разделе Орион
    Ответов: 19
    Последнее: 24.06.2022, 08:02
  2. Эмулятор ПЗУ.
    от ALKO в разделе Память
    Ответов: 8
    Последнее: 17.05.2011, 13:41
  3. Эмулятор AY на AVR
    от serkiri в разделе Звук
    Ответов: 52
    Последнее: 10.06.2010, 09:01
  4. Эмулятор для Mac
    от AlexBel в разделе Эмуляторы
    Ответов: 11
    Последнее: 02.05.2010, 18:53

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •