RT-11 одинаково успешно работает с любым таймером, какой есть.
Вид для печати
Вот именно это я и предполагал, что есть универсальный драйвер с универсальной точкой входа. Операционка говорить ему - грузи блок номер такой-то туда-то и все. А ядро, что в ПЗУ само знает с чего ему грузиться.
Зачем RT-11 нужен таймер, если она так же успешно будет работать и без него?
---------- Post added at 00:24 ---------- Previous post was at 00:23 ----------
После того, как я принудительно залочил адрес 177776, операционка стала грузить либо другие драйверы, где обращение к 177776 заменено на MFPS/MTPS, либо просто пропатчила эти места в существующих.
---------- Post added at 00:26 ---------- Previous post was at 00:24 ----------
Кстати, пока что она у меня грузится в полной тишине. Очевидно еще не дошло до места, где она печатает что-то на экране, либо же это у меня пока не работает. Скорее не дошла, т.к. с чего бы ему не работать)
Как бы тогда RT-11 могла загрузиться с устройства HX, драйвер которого осуществляет блочный обмен через порт системного терминала - ведь за предыдущие 40 лет до такого никто не додумался. И вот, спустя 40 лет - написан драйвер HX.SYS и RT-11 без проблем грузится с этого устройства ( если драйвер HX есть на системном диске ).
При наличии таймера - у любой RT-11 учитывается текущее время, а если система сгенерена с расширенной поддержкой таймера - программам предоставляется дополнительный сервис.
Вторичный загрузчик просматривает все драйвера на диске, грузит их в память и выполняет инсталляционные процедуры. Так же потом в память загружается драйвер системного устройства и RMON. В RMON все вызовы к регистру 177776 заменяются на команды MTPS/MFPS, ну если этого регистра нет.
Кстати, а в каких адресах идет выполнение? Был уже вызов EMT 350?
Последним на пути к загрузки системы камнем преткновения (не считая не решенного, но залоченного бага с 177776) являлся аппаратный контроллер VIRQ (хитрая, скажу вам штуковина, с аппаратными очередями и всякими такими штуками).
Итак, путем неимоверных усилий, дизассемблированием и реверсинжениренгом ВПО, потраченных каникул и прочих трудностей - вот он, лик легендарной машинки - Союз-Неон ПК-11/16К!!!
http://s017.radikal.ru/i422/1501/b5/5bf7a01a5535.png
И остальные скриншоты:
Скрытый текст
p.s.: Следует заметить, что я выкрутил яркость вдвое (чисто для себя), ибо было сложно постоянно приглядываться к некоторым бледным цветам.
Titus, А как со звуком дела обстоят?
Но до порчи таблицы обработчиков - системное ПЗУ устанавливает какой-нибудь обработчик для обращений по адресу 177776 или нет ?
---------- Post added at 00:35 ---------- Previous post was at 00:26 ----------
Похоже, что таблица обработчиков должна находиться памяти HALT-моды, а стек - в памяти USER-моды.
...
Этого никак не может быть, т.к. стек портит таблицу во время распаковки ПЗУ в ОЗУ, а доступ к ПЗУ имеет только HALT-режим.
Кроме того, процессор не меняет режим стартуя.
---------- Post added at 01:46 ---------- Previous post was at 01:45 ----------
Нет, до порчи не устанавливает, просто очищает всю память. А 0 в таблице - это означает отсутствие регистра.
---------- Post added at 01:46 ---------- Previous post was at 01:46 ----------
Так никак)
Режим на USER меняется только в ядре при передаче управления процессу, и меняется командой STEP. Обратное переключение в режим HALT происходит по HALT-прерыванию.
---------- Post added at 02:06 ---------- Previous post was at 02:01 ----------
Кстати, вы сами можете дизассемблировать начало ПЗУ, там небольшой фрагмент, в котором видно, как тестируется память, и переходит к распаковке ПЗУ в ОЗУ затирая стеком верх таблицы.
---------- Post added at 02:56 ---------- Previous post was at 02:06 ----------
Пока не все еще в нашем королевстве работает безоговорочно, но с менеджером окон все же побаловался.
Вызывается он по кнопке 'СБРОС' и выглядит так:
http://s020.radikal.ru/i717/1501/0b/6a1b188ebfca.png
Он позволяет переключаться с одного окно на другое (делать активным, т.е. выставлять на передний план). Менять размеры окон, перемещать их масштабировать информацию в них как по вертикали, так и по горизонтали, клонировать(!) окна, т.е. одно окно может иметь много копий, причем в разных местах экрана и в разных разрешениях, и это НЕ БУДЕТ тратить никакого быстродействия. Менять палитры и т.д.
p.s. С апапратными рамками пока что не все понятно. Не исключено, что они не такие, как описано в ТО. Во всяком случае, если писать их по ТО, их не видно)
---------- Post added at 03:59 ---------- Previous post was at 02:56 ----------
Эх, такой облом (
Полез на дискету с играми, где значится игра Tetris.
Чтобы ее запустить надо запустить сперва kbd.prc (драйвер клавиатуры), а его на диске нет( И нет ни на одном из выложенных здесь 5 дисков((( Кто-то стер( Хнык(
---------- Post added at 05:01 ---------- Previous post was at 03:59 ----------
И еще немного скринов с демонстрационной дискеты (с бордюрами, как я уже писал ранее, какие-то нелады).
Скрытый текст
http://s011.radikal.ru/i318/1501/83/0c6af760cfb2.png
http://s017.radikal.ru/i404/1501/5f/8739340c64be.png
http://s017.radikal.ru/i432/1501/2c/4bc893da912b.png
http://i038.radikal.ru/1501/0a/b3ebc01e2728.png
http://s019.radikal.ru/i638/1501/5f/7bc824f96c5d.png
http://s010.radikal.ru/i311/1501/85/7244a767d60d.png
http://s017.radikal.ru/i439/1501/a1/08e1ce072814.png
[свернуть]