-
- ? gid
- 20.09.2020 13:59
там написано, что при включении режима "All" из режимов Hlt10, Hlt11, портится ОЗУ по адресу 177130. Потому что оно налагается на область регистров. Т.е. при записи в 177130 кода режима "All", этот код одновременно записывается и в ОЗУ.
В режимах Hlt10, Hlt11 по адресам 177000-177777 подключен сегмент 7 заданной страницы, и если там находился исполняемый код - то он будет испорчен, если какие-либо данные - то они будут повреждены. Поэтому это - дополнительное уточнение, что конкретно данным видом переключения нужно пользоваться очень осторожно.
Режим работы и код страницы - вещи между собой не пересекающиеся и складываются по OR, поэтому с любым режимом можно использовать любой код страницы. Halt-режим - самый обычный режим, не отличающийся от остальных режимов работы с аппаратной точки зрения.
- ? gid
- 10.09.2020 06:21
Выб хоть версию проги называли, может устаревшей до сих пор пользуетесь.
В текущей версии v2.1.2005.633 я такого не заметил. Всё работает как надо.
- ? gid
- 07.09.2020 08:37
Понапокупали новомодных устройств с обгрызанной функциональностью, а теперь мучаетесь.
В простом ноутбуке Aser с 15" экраном и то есть полноценная намлок-клавиатура.
В общем, есть у меня идея, как бы можно было бы сделать переназначение клавиш джойстика на любые пользовательские, надо попробовать сделать, только времени пока недостаточно, чтоб заняться этим.
- ? gid
- 03.09.2020 20:19
Если научите как, то будет можно. Я в том микрософтовском элементе управления тупо не нашёл, как перехватить событие двойного клика ЛКМ. Поэтому там выполняется действие по умолчанию проводника Виндовс - а именно запуск файла на исполнение.
- ? gid
- 03.09.2020 12:54
Забыл добавить, что от этого же АТХ блока питания я питал монитор МС6105, которому как раз 12В нужно, пока не нашёл способ избавиться от него.
- ? gid
- 03.09.2020 12:49
Если БКшка будет использоваться в качестве экспоната или элемента интерьера, то нужно искать оригинальный БКшный блок питания по тематическим барахолкам, чтоб аутентично было.
Если чтобы пользоваться - то подойдёт любой стабилизированный блок питания на +5В и выдающий ток от 4А. Буквально вообще любой, который можно найти в ближайшем магазине радиодеталей. Хоть говорят, что по паспорту БКшка потребляет не более 2А, но фактически - больше, так что чем более мощный блок питания (без фанатизма) тем будет лучше.
Распайку кабелей можно посмотреть тут http://www.emuverse.ru/downloads/computers/BK/docs/BK-0010-interfaces.jpg
Не обращайте внимания, что там написано БК0010, для БК11м все кабели точно такие же.
Там же, http://www.emuverse.ru/wiki/БК можно почерпнуть немного знаний о БКшках.
¤
Если есть блок питания АТХ, не китайская подделка под блок питания, а нормальный, без перекосов напряжений +5 +12 если на каком-то из этих каналов нет нагрузки - то можно смело использовать блок питания АТХ, бонусом будет +12В для различной периферии.
Сам я использую как раз старенький БП АТХ 300Вт, который было жалко выкинуть, т.к. он очень хороший был, он вообще не напрягаясь питает две БКшки, один HDD и 4 дисковода и фигню всякую, типа GBS8220.
- ? gid
- 01.09.2020 08:48
[Заметил, что BKDE некорректно работает с дисками RT-11]
В текущей версии v2.1.2005.633 я такого не заметил. Всё работает как надо.
- ? gid
- 24.08.2020 10:31
[Правда пока ломаю голову как правильно сделать board->m_reg177716in]
Из CScreen, кроме как посылкой сообщений никак, но с сообщениями тоже не всё так просто, там или надо знать, куда посылать, или рассылать широковещательные сообщения всем.
Так что если в CBKView ловить сообщения от мыши не получается из-за того, что мешает CScreen, то надо в CScreen сделать ретрансляцию сообщений мыши родителю, т.е. в CBKView, а уж там поиметь доступ к board->m_reg177714in не проблема.
¤
У меня где-то в D3D была сделана ретрансляция сообщений клавиатуры из экрана в CBKView потому что в полноэкранном режиме экран вдруг брал на себя всю обработку сообщений клавиатуры и в эмуляторе она переставала работать.
- ? gid
- 23.08.2020 19:39
Если бы я мог внятно сформулировать идею и задачу, то я бы и сам смог её решить. А пока я просто не понимаю, как сделать захват мыши применительно к внутренней архитектуре эмулятора. Т.е. зафигачить фигню, которая фигово работает то можно.
Ясно, что ловить события от мыши нужно в классе CBKView, там клавиатура эмулируется, там и мышь должна. А потом их надо куда-то транслировать, например классу CMouseEm, который будет отдельным объектом в отдельном потоке сидеть и преобразовывать пойманные события от мыши в сигналы мыши марсианки.
Или можно прямо там, в классе CBKView забабахать эмулятор мыши, по подобию эмуляции там же джойстика.
¤
Там ещё фигня такая - чтобы мышь марсианка что-то выдавала, в неё нужно записывать число 10, это строб данных, после которого мышь выдаёт новые данные. А это опять несовместимость с ковоксом и с блоком нагрузок.
Потому что понавесили всё на один порт, а оно не совсем совместимо между собой.
- ? gid
- 17.08.2020 13:21
Поскольку эмулятор эмулирует регистр 177714, то и сделать с ним он может абсолютно всё, что угодно. Непонятно другое - механизмы захвата и освобождения ПКшной мыши, движения которой будут эмулировать движения мыши марсианки. Я всю эту фигню в деталях не могу представить и поэтому не могу запрограммировать.
- ? gid
- 17.08.2020 10:06
Верно. Эмуляция как была в планах, так в планах и осталась. Потому что есть непонятно как реализуемые места, а подглядеть, как у других сделано - негде, или я не знаю где.
- ? gid
- 22.07.2020 09:07
Без понятия. Я всегда отключаю в винде системные звуки и даже не знал, что существует звук винды, который раздается при нажатии клавиш с АР2.
- ? gid
- 20.07.2020 15:36
В общем почему так? А потому, что HALT вызывает не сразу прерывание по вектору 4, а вызывает системное прерывание по вектору 160002 и сохраняет PS,PC в пультовый стек, 0177676-0177674, что и вызывает прерывание по вектору 4.
Но вызванное прерывание по вектору 4 в эмуляторе обрабатывается не немедленно, а выставляется флаг требования прерывания, и в следующем цикле обработки инструкций флаги опрашиваются, перед обработкой инструкции.
Поэтому отладчик спокойно переходит к выполнению следующей за HALT инструкцией, т.е. второму HALT.
Мы жмём F10, попадаем в цикл обработки инструкций и вот тут-то происходит опрос состояний и выясняется, что нужно сделать прерывание по вектору 4, вызванному предыдущим HALT. Поэтому делается прерывание, а второй HALT уже не обрабатывается.
¤
Если не делать пошаговую отладку, программы ничего такого не замечают и всё работает как по-настоящему.
А в режиме отладки вылазит вот такое. Это единственный случай, т.к. прерывание вызывается не командой а действиями команды, поэтому я не стал городить сложности с прямо хитрой какой-то обработкой HALT в отладчике. Все остальные команды в пошаговом режиме сразу вызывают свои прерывания и выполняют свои действия.
- ? gid
- 20.07.2020 15:05
а первый HALT игнорируется что ли?
- ? gid
- 20.07.2020 13:31
А давайте наоборот. Сперва вы напишете файловый сервер на винде, определитесь с форматом команд, а затем я напишу ответную часть для БК. Только смогу начать думать об этом не ранее октября этого года.
Этот сервер ведь не только передавать файлы должен, но и принимать тоже, поэтому два экземпляра таких серверов вполне смогут между собой обмениваться файлами, и группами файлов, включая каталожную структуру файлов, вот и отладить программу будет можно.
Я пробовал уже прикинуть протокол передачи данных между БК и ПК, чё-то сходу не получилось, слишком много мелочей нужно учитывать. Там надо или уже готовые протоколы использовать, только они уж очень жирные, для БК избыточные, или сесть и очень долго и тщательно продумывать форматы посылки, формат полей данных внутри посылки, порядок обмена посылками между клиентом и сервером, реакцию на ошибки и на разрыв соединения. И наверняка ещё про какую-нибудь фигню думать надо.
- ? gid
- 19.07.2020 19:23
[Хотелось бы в эмуляторе иметь возможность в чёрно-белом режиме выбирать оттенок]
Физически, практически и с т.з. программирования это не сложно, но я буду хоть что-то делать с эмулятором не раньше конца сентября, начала октября.
- ? gid
- 17.07.2020 15:45
Т.е. кажется, какой-то своей оригинальной защиты у GREEN не было.
- ? gid
- 17.07.2020 15:42
У меня была когда-то кассета с играми с защитой от копирования, там вроде бы был и GREEN, защиты там были такого типа: размер файла в заголовке был больше реального, и не было блока КС и финишной последовательности, зато файл начинался не то с 400 не то с 600 адреса и там в хитром блоке был код, которому передавалось управление и он сам считал КС, и если она совпадала с заданной, то игра запускалась. Простые копировщики такие игры просто не копировали, они продолжали ожидать чтения после окончания файла.
Я в те времена копировать такие игры не умел и кассета была благополучно зажёвана магнитофоном, игры пропали, но к тому времени уже нашлось у кого скопировать эти же игры, и даже более, без всяких защит.
- ? gid
- 17.07.2020 14:23
Это не защита, а просто help'оподобный формат записи, чтобы время загрузки сократить.
Если этот Wav взят из архива hobotTapes, то он и не будет загружаться в свежей сборке эмулятора никак, а если взять более ранние сборки, то там будет, но там не будут загружаться игры Бортника с защитой.
Чтобы такие файлы загружались в эмуляторе, нужно в блоке help модуляции увеличить длину синхроимпульса на 1, относительно длины синхроимпульса в стандартной части.
Я перегенерировал все такие файлы в архиве hobotTapes и обновил его, он доступен по прежней ссылке, теперь такие файлы загружаются в эмуляторе.
- ? gid
- 16.07.2020 19:29
Ничо не знаю. нечего было спрашивать, рабочий ли исходник PT3
- ? gid
- 16.07.2020 19:17
Вот только что проверил, собрал из текущих исходников - все исходники, кроме SQT рабочие
- ? gid
- 16.07.2020 18:59
[Зачем?]
Затем. Я привык к удобствам.
¤
[Мм же не в многопользовательской системе]
Винду можно считать многопользовательской, там БКшные методы программирования не прокатывают.
¤
[Проблема в другом, что со стороны ЬК никто не напишет]
Писали же уже, только всё какое-то на уровне концептов: "Вот примерно так надо писать, дальше сами допиливайте."
Последнее, что я видел - исходники от TheGWBV, где-то на zx-pk
даже есть терминалка, которая принимает/передаёт файлы по протоколу Z-modem, только она как-то вообще непонятно как работает с ФС. Выбрать файл для передачи на ПК нельзя, как будто недописаная она.
¤
[Под виндой это архисложно... но зачем... если мы можем попросить.. без всяких тактов]
Вы можете просить, а мне нужно написать объект, чтобы было у чего просить.
¤
[исходник PT3 рабочий?]
Не знаю. Там меня попросили освежить архив с исходниками, и в процессе освежения, в одном из них я заметил и исправил опечатку, которая получилась в процессе попытки сделать позиционно-независимый код. В каком не помню. А так, там был не рабочий только SQT. Все остальные проигрывали случайные выборочные модули своего формата.
- ? gid
- 16.07.2020 16:48
[У меня же получилось..]
Это Irps_loader.exe на Борланд Си++ (или что-то более современное) который? Исходники видел, но это не совсем то. Это собственно процедура передачи массива. А вот более навороченный интерфейс пользователя как сделать? Как, например, прервать цикл ожидания данных в ком порте по прерыванию и анализ принятого на предмет определённых данных от БК, я не представляю, кроме как обернуть цикл в try, а на кнопку "Отмена" повесить throw, хрень какая-то получается.
¤
Вот сторону БК запрограммировать как-то проще, чем ПК.
¤
А ещё у меня нифига не получается эмуляция ВП1-065 в эмуляторе, а использование реального железа затруднено, поэтому всё застопорилось.
Patron сумел как-то сделать эмулятор терминала для своего эмулятора ДВК, а я не могу, как только начинаешь передавать пакетные данные, сразу начинаются потери байтов.
- ? gid
- 16.07.2020 15:37
Я пробовал пользоваться платой ИРПС-TTL-RS232 от BD + модуль WiFi на ESP8266
Всё заглохло на том, что не осилил написание софта на ПК, который бы передавал на БК/принимал от БК файлы через ком порт. Чтоб прога асинхронно работала, сидела бы в фоне и ждала запроса на передачу данных от БК, или когда на неё файл кинешь драгндропом, посылала на БК запрос готовности, и если БК готова принимать, передавала бы файлы.
Задача оказалась прям вообще за пределами моего понимания, как на ПК пишут проги типа терминалок.
Написал бы кто-нибудь что-нибудь такое с объяснениями, как оно работает, я б исходники поглядел бы, и тоже, глядишь, и научился бы.
- ? gid
- 29.06.2020 09:19
БК11 от БК11М на аппаратном уровне программно различить невозможно.
Различие определяют следующими способами:
1. Разные адреса обработчиков EMT, это если из БОС ПЗУ прога запустилась. Или вектор не перехватывался.
2. Тупо сравнением значения по какому-нибудь адресу в 1400002-157776, какой больше нравится, обычно берут для сравнения адреса подпрограмм ЕМТ.
¤
Да, кстати, способ различия БК0011 от БК0010 путём сравнения: CMPB @#177717, #300 устарел, если будет контроллер АльтПро, по адресу 177717 и на БК11 И на БК10 будет одно и то же значение #355
- ? gid
- 25.06.2020 07:46
Почему не проходит? На БК10 уже тоже в 177717 стало 300 ? или на БК0011(без М) адрес запуска отличается от БК0011М?
Тогда есть классический способ:
mov #BK10, @#4
mov #40000, @#177662 ; на БК10 регистр не доступен по записи
; БК11
....
BK10:
; БК10
- ? gid
- 23.06.2020 21:18
да я уже вспомнил, как надо было делать.
- ? gid
- 23.06.2020 19:45
что-то у меня ничего не забирается из СВН. То ли я забыл как надо делать, то ли что-то не так.
- ? gid
- 23.06.2020 15:42
Можно позволить изменять почти прям всё, из каждой секции, просто необходимо как-то дать понять изменяльщикам, что бездумное изменение некоторых параметров может стать фатальным. Но это будет проблемой тех, кому нечем занять руки и кто не любит читать документацию.
Только на данный момент секция [Directories] сделана только по чтению, т.е. изменение параметров в ини файл не сохраняется.
И логика программы не рассчитана на то, что имена директорий будут меняться по ходу работы, если её не переделать, глюки гарантированы.
Секцию [Rom modules] можно редактировать на ходу, после перезапуска конфигурации тогда будут применяться новые ПЗУ.
Единственное, что нельзя давать менять пользователю, это параметр [Main].BK model, иначе начнутся уже глюки с чтением/записью параметров из ини файла, и [Parameters].Sound volume - это начальная установка позиции слайдера громкости при запуске эмулятора, изменение её вручную бессмысленно, или надо придумывать способ, как она должна на громкость влиять, пока её меняешь.
¤
Да и потом можно меню "Опции" уменьшить, если опции переедут в общий диалог настройки параметров. Или оставить дублирование, для быстрого доступа.
¤
У меня SDK Windows 8 осталось ещё с VS 2015, и так и сидит в системе, однако: 1) скачать и установить его с сайта микрософта пока ещё не проблема; 2) вообще нет никакой необходимости привязываться именно к этому SDK. Можно в свойствах проектов выставить SDK вообще любой понравившейся версии. У меня на ноутбуке тоже не было SDK 8, поэтому сейчас у меня во всех проектах выставлена версия 10.0 (последняя установленная версия). А то на разных компьютерах, на которых я собираю эмулятор стоит зоопарк из разных версий SDK 10.
Эмулятор собирается в двух отдельных конфигурациях: основная - без поддержки Windows XP, и там версия SDK вообще не имеет значения, всё равно оно будет работать на Windows 7 и выше.
И конфигурация с поддержкой Windows XP, которая использует только SDK 7.1, и для которой нужны старые компоненты из VS 2017 или VS 2015.
- ? gid
- 23.06.2020 13:16
Заберу.
Только если уж на то пошло, можно не останавливаться на достигнутом и попробовать сделать диалог настроек, возможно с табами, в котором будет разрешено менять максимально возможное количество, в идеале всех, параметров из ини файла.
Я иногда подумываю над этим, но как только начинаю прикидывать, как бы это попроще сделать, сразу расхочивается. Проще вручную в ини файле параметр поправить, чем возиться с диалогом и сочинять код, который будет искать и применять сделанные изменения.
- ? gid
- 23.06.2020 09:41
Не знаю, и разбираться мне в этом неохота, пока в эмуляторе явно не полезут глюки, связанные с работой HDD.
- ? gid
- 19.06.2020 18:24
В других местах, где я смотрел, если подана команда SLEEP, чтение/запись в регистры игнорируются, пока HDD не будет обратно разбужен.
Но разбудить уже обратно не получится, нужно делать ресет устройства извне.
Если поданы команды IDLE и IDLE IMMEDIATE то, выдаётся разный ответ на команду CHECK POWER MODE и больше ни на что не влияет.
Команды STANDBY и STANDBY IMMEDIATE написано в TODO, что должны так же выдавать результат как и IDLE и IDLE IMMEDIATE, но не реализовано.
- ? gid
- 19.06.2020 16:17
Код не мой, я тоже не сильно понимаю, что там, мне главное - чтоб работало.
Я просто взял самый простой и понятный для себя код из 4-х найденных в интернете реализаций, который к тому же можно под себя адаптировать.
как я понимаю, в случае 1) - просто исключается запись в не тот HDD. если у нас есть оба, мастер и слейв, то запись должна делаться только в адресуемый HDD, а не в оба сразу.
а в случае 2) - то же самое, но команда 0x90 всё таки должна подаваться сразу в оба HDD.
Это наверное, чтобы программно определить, есть ли у нас на канале винт или нету.
- ? gid
- 09.06.2020 20:01
Проблема с кнопкой СТОП на виртуальной клавиатуре пофиксена ешё в билде v3.10.2003.7958 от 05.03.2020
- ? gid
- 05.06.2020 08:52
>>5) если есть еще секторы - goto 2
При этом, если вылезли за геометрию, будем пытаться позиционироваться за конец файла, при этом будут читаться нули и не будет выдаваться флагов ошибок.
¤
Под рандомным чтением/записью имелось в виду последовательность команд чтения одиночных секторов, располагающихся не последовательно друг за другом. Там перед командой надо каждый раз задавать координаты нужного сектора.
- ? gid
- 04.06.2020 19:14
>>Плюс там очень много лишних операций - в частности seek: нет смысла высчитывать указатель на следующий сектор в пределах одной операции, после чтения/записи данных мы уже стоим на следующем секторе. Нужен только первый вызов, затем просто увеличивать счетчик LBA/CHS.
Посмотрел сейчас код. И не нашёл, чего там оптимизировать. Перед каждой операцией чтения/записи данных нужно делать позиционирование на нужный сектор, потому что может быть рандомное чтение/запись. Так же нужно проверять, не вылезли ли мы за геометрию.
При групповом чтении/записи, опять же нужно заполнять промежуточными значениями регистры по правилам LBA/CHS, не вылазим ли за геометрию посреди групповой операции, так и так у меня выходит нужно выполнять все операции, из которых состоит функция seek.
- ? gid
- 02.06.2020 09:12
>>? Manwe - 01.06.2020
А там код эмуляции довольно кривоватый, он эмулирует а не симулирует HDD и там много условностей.
>>? Дмитрий - 01.06.2020
Не, там глюки с каталогом начинались ещё до достижения максимума. А вот когда - не помню.
- ? gid
- 31.05.2020 21:09
У меня никогда такого не наблюдалось.
А про MKDOS да. у него есть какой-то лимит файлов в каталоге, при превышении которого начинаются подобные глюки.
Причём этот лимит ниже максимально допустимого количества записей в каталоге.
Сейчас уже не помню нужного числа, я однажды сидел и тупо создавал каталог в каталоге до тех пор, пока такое на экран не полезло. А оболочка при этом писала, что ещё есть свободные записи в каталоге, и можно было бы и дальше создавать, но в конце-концов она зависла.
- ? gid
- 30.05.2020 08:25
Формально - поддерживает LBA 28, такой код в исходнике есть, но на практике не проверялось.
- ? gid
- 29.05.2020 15:25
как интересно асм текст перекорячило. Одинарный \n остался как есть, а \n\n исчез полностью, даже одного не осталось.
- ? gid
- 29.05.2020 15:22
А у меня всё нормально. заставка Андос3.1 на БК11М по таймеру работает и после входа в оболочку глюков нет, хотя там и вектор 100 обнуляется и приоритет #0.
и простенький тест работает как надо:
¤
mov #42400, @#177662
mov #t100, @#100
mov #340, @#102
mtps #0
mov #2400, @#177662
wait
wait
wait
wait
wait
mov #42400, @#177662
mtps #0
1$: wait
nop
br 1$t100: nop
rti .end
Если поставить точку останова на t100, то на первых waitах будет срабатывать точка останова, а потом в цикле с Waitа можно будет уйти при прерывании от клавиатуры, прерывания по таймеру нет.
- ? gid
- 27.05.2020 20:43
Основное ПЗУ по адресу 140000 подключать не надо, а второе ПЗУ теневое, в том его и прелесть, оно само подключается, если подпрограммы emt находятся в нём. Там надо нужные страницы ОЗУ в окна подключать. Там даже экран виртуальный, его страница подключается в окно0 или окно1, в зависимости от emt, только на момент вывода туда текста или графики средствами ПЗУ БОС, а потом отключается.
Из-за этого подключения-отключения по поводу и без, там всё тормознуто, зато с точки зрения БОС, пользователю предоставляется целых 48кб непрерывного адресного пространства. Раздолье для RT-11.
- ? gid
- 27.05.2020 16:30
Таких особенных минидемок, которые используют emt вызовы БОС БК11? Только в этом причина?
А почему не инициализировать вызовы emt так критически важно? Двух слов жалко? Для тестирования можно вставить в начале демки JSR PC,@140010 и пользоваться в удовольствие, без зависимости от эмуляции магнитофона. А в окончательном варианте - убрать, чтоб демка уместилась заданные лимиты.
- ? gid
- 27.05.2020 13:09
Это тест на умение читать документацию. Посылать RTFM гораздо проще, чем придумывать всякие ухищрения в пользовательских интерфейсах.
- ? gid
- 27.05.2020 10:47
Она не сломана. Она просто не реализована.
Забудьте вы это извращение. Хотите магнитофона - пользуйтесь БК10 и не смотрите на БК11, а для БК11 есть эмуляция дисковода, дисковод гораздо удобнее всякой возни с лентами.
- ? gid
- 26.05.2020 12:49
Странно, что это только сейчас заметили. А причём этот кривой код был уже давно.
Там делается попытка сделать так, чтобы беззнаковые 8битные сэмплы смещались на пол амплитуды вниз, чтоб как знаковые выглядело. Из-за чего 0 делался минимальным значением -1 (у меня звук нормализован в диапазоне -1.0 .. 1.0), и так и оставался этим уровнем постоянно, т.к. при ресете в 177714 записывалось 0 и больше не менялось. На моей звуковухе это даёт не свист, а спонтанные попёрдывания, драйверы звуковухи не любят, когда в неё долго суют звуковые буферы со смещением DC, отличным от нуля.
Надо будет исправить это безобразие.
- ? gid
- 18.05.2020 22:35
Стандартный, общепринятый формат:
word load_addr; //адрес загрузки файла
word file_length; //размер файла
byte[file_length]; //тело файла
¤
если в .ini файле опция "Use long Bin format" задана в "Yes", то используется полный формат .bin:
word load_addr; //адрес загрузки файла
word file_length; //размер файла
byte[16] = file_name;
byte[file_length]; //тело файла
word crc
¤
эта опция по умолчанию выключена, поэтому скорее всего используется короткий формат.
¤
насчёт структуры самого FOCAL файла - это никто не знает, надо дизассемблировать интерпретатор и разбираться. Но на этот подвиг никто пока не решился.
- ? gid
- 13.05.2020 16:30
Тут недавно Alexander "Sandro" Tishin подробно расписывал, как там всё работает.
Зависит от того, на какой этап отрисовки экрана попало включение. Может сразу, может после отрисовки текущей строки, может тогда, когда задумано.
- ? gid
- 13.05.2020 10:30
Нет, не отключается. Просто чтобы оно случилось, в пошаговом режиме нужно сделать очень много шагов. Или выполнить подпрограмму, которая будет длиться больше, чем формирование кадра.
Подпрограмма прерывания, если его время придёт, полностью выполнится во время пошагового исполнения очередной инструкции, т.е. перед ней.
- ? gid
- 11.05.2020 16:13
Вообще все биты, разумеется те, которые можно задать в PSW: приоритет, Т, признаки и в том числе биты 11 и 10.
Я в одной проге видел как EMT и TRAP обрабатывались одной подпрограммой по одному адресу, но как раз по биту признаку C определялось, откуда пришло прерывание, с 30 или 34 вектора. Это был какой-то изврат, т.к. реальной надобности в этом не было.
-
«
1 | ... | 4 | 5 | 6 | ... | 15 | »
?