Система какая? Они немного отличаются в пределах разных 5.x.
Вид для печати
Если оно 'RT-11 System Macro Library Manual', то уже выложили.
---------- Post added at 11:51 ---------- Previous post was at 11:50 ----------
А вот фиг ее знает) Я гружусь с системы, которую тут уже выкладывал. Она в принципе для УКНЦ заточена. При загрузке пишет RT-11SJ V05.02.
предлагаю мою тему поддержать с запросами по софту, не стесняемся ))) подходим ))) разгружаем тему про ДВК и всё что с ним связано ))))))))))))
Это не к спеху, но если сделаешь\выложишь благодарность и почёт !
Ведь справочный материал ценен не менее самих программ !!!
:redface:
Titus, я помню из игр помимо уже пере-пере-пере повторенных лэндов и котов, изометрическую графическую игру с космическим кораблём (это на самой первой двк было - та у которой монитор зелёного свечения) там квадратные поля и препятствия какие-то облетать нужно было. И что то было ещё из игр - но вот беда - КГД умирал чаще чем кот от пираний и ДВК обычно без него стоял, каждое новое подключение КГД было праздником )))
Потом в Зеленограде в магазине "ЗЕЛИНФОРМПРИБОР" продавалось несколько пакетов по разработке графики для ДВК (не знаю под какой именно контроллер - вот бы эти дискеты сейчас пощупать - тогда совершенно не интересовали, да и стоили не так уж мало)
Было не мало оригинального софта (правда тогда уже писали для УКНЦ в основном, ДВК сходили на нет потихоньку) созданных в Зеленограде, и их нет ни у кого с кем я общался. Мои личные архивы безвозвратно уплыли. На ДВК графической развлекухи почти не было (!) игр в смысле,
а вот чертёжный софт был какой-то точно и для графопостроителя.
Так что УКНЦ по количеству портированных и оригинальных игр - чемпион!
Про ДВК, Арсений больше моего знает, у него есть живой монстр в коллекции, но свою выборку по ДВК он тут уже выкладывал, а ты кстати
дублировал по моей просьбе ссылки на архив :rolleyes_std:
----------- добавил
Может дожмём до полной загрузочной дискеты SJ 5.02, form, не хочу быть назойливым, но кому как не тебе
округлить (скажем грубо) эту тему с разными версиями мониторов, подвести черту )))))) конечно лучше в теме УКНЦшного софта (для укнц в смысле)
Это вроде есть у меня на странице с информацией в текстовом виде.
Системные таблицы и библиотеки. Руководство программиста.
Но оно старенькое - примерно уровень RT-11 V4.
Наверное так. Не могу ничего утверждать. Я вначале познакомился со всеми этими игрушками (кроме кота) на БК0010(01), ДВК я тогда ещё в глаза не видел, позже увидел. А ещё чуть позже УКНЦ где все те же игры уже были. Но видел форум какой-то по БК (где чёрный страшный фон как экран у ДОСа), где якобы один из авторов игр пишет, что да - вначале были ДВК версии > портировались на БК, про УКНЦ вроде вообще ничего не говорилось (ссылка на тот форум где-то тут возможно попадалась не помню)
Нет, но впечатляло дико, на зеленом мониторе любая графика была как супер-шоу ! )))
Какие были буржуйские аналоги, близкие к ДВК, и желательно с графикой?
Уж буржуйских аналогов ДВК точно не было. Так что все наши контроллеры, такие как КСМ, КГД, КЦГД, КНГМД(MX), КМД(MY), чисто наше изобретение.
А с графикой была университетская машина Terak 8510/a. Делала её не DEC, а Terak Corporation. Там был и программируемый знакогенератор, и графический дисплей 320х240. В машине был процессор LSI-11, но кое в чем под архитектуру PDP-11 она не подходила, поэтому RT-11 была для нее особенная.
Получается, что PDP-11 систем с графикой не было?
Видел фотку в википедии PDP-шной игры на векторном графическом терминале!
http://upload.wikimedia.org/wikipedi...nar_Lander.jpg
С графикой у DEC много чего было, но в союзе ни разу не видел DECовского - все свое было везде (и везде по разному сделнное [имею в виду не ДВК, УКНЦ, Э85]), хотя в скрипте генерации РАФОСА упоминается ЭПГ-СМ, надо полагать, аналог VT11 какого-нибудь (который поддерживался в RT-11 до 5.4 как минимум).
VT11 кстати можно в E11 посмотреть. Там на сайте у них игрушка для него лежит, ну и в старых RT-11 можно включить поддержку и запользовать графический терминал :)
Именно DEC игрушек вроде не писал :)
А для DEC железа вот например.
Был еще VT30 color graphics controller, но я про него ничего не знаю.
В E11 тоже есть.
А так - везде видел советское, не совместимое ни с ДВК ни с чем-либо DECовским ни с подобными же железяками в соседнем институте :)
---------- Post added at 01:27 ---------- Previous post was at 01:18 ----------
The VT30 "Colour Mimic Diagram Display System" is a simple display-list-based raster graphics device, built by
DEC CSS in Reading, UK. It is a Unibus device, mounted in a 5.25" high external box. It displays 8x8 characters
from a software character generator on a 64x36 grid, yielding 512x288 pixels, displayed on an attached PAL monitor.
---------- Post added at 01:28 ---------- Previous post was at 01:27 ----------
Это поди то самое, что Andrey_Ak с Э100-25 досталось :)
Ковырял одну ДВК'шную программу и нашел такой глюк. По адресу 50 записан, как я понимаю, адрес последнего слова программы. Но, когда программа запустилась, она считала из ячейки 50 этот адрес, и стала копировать свое тело по другому адресу так, как будто в 50 был не последний адрес программы, а адрес следующего слова за ним. Таким образом одно слово при копировании не дописалось. Интересно, как такое может быть? Плагин wcx этот адрес не трогает? Не пойму, или авторы налажали, или он просто так попортился. Программа в аттаче. Это драйвер КЦГД для ДВК. При запуске она сперва проверяет наличие регистра КГД 176640, если он отсутствует, то считает, что на компе нет КГД, а стало быть есть КЦГД, и копирует свое тело через ESC-X в память КЦГД. Но копируя, она использует адрес в ячейке 50, как адрес следующего слова за последним словом программы, и программа копируется в КЦГД без последнего RTS. Надеюсь, понятно обьяснил.
Бывает такая ошибка - сам делал иногда :)
Или возможен вариант, что сама программа так сделана. К примеру:
в этом случае у нас .BLKW специально вставлен чтобы сдвинуть последний адрес.Код:START: ...
...
.BLKW
.END START
---------- Post added at 11:37 ---------- Previous post was at 11:28 ----------
Кстати навскидку не нашел описываемого (детально анализировать лень). Там берется значение из 50, от него отнимается число (возможно уже с учетом того что это последний адрес, а не следующий), а потом этот кусок кода "печатается" на экран (то есть видимо грузится в КЦГД).
Вот фрагмент. Извиняюсь, что частично в шестнадцатиричном виде.
Код:0200 17F7 0004 0352 MOV (#4),(2530) ;Сохранить вектор TRAP 4 в (2530)
0206 15DF 0216 0004 MOV #$0216,(#4) ;Установить новый вектор TRAP 4
020C 0A1F FDA0 CLR (#176640) ;Читать регистр КГД 176640
0210 15C0 055A MOV #2532,R0 ;Если прочелся, то печатаем
0214 0122 BR $025A ;сообщение об ошибке -->
;TRAP 4
0216 17C3 0028 MOV (#50),R3 ;R3 - адрес последнего слова программы
021A E5C3 05BE SUB #2676,R3 ;R3 = R3 - 2676 (отнимаем адрес начала программы,
;и получаем в R3 длину копируемой области)
021E 10F7 0398 MOV R3,(2672) ;Заносим длину в (2672)
0222 15C1 0007 MOV #7,R1 ;Отправляем на терминал 7 байт параметров
0226 15C2 05B7 MOV #2667,R2 ;управляющей последовательности:
022A 35DF 0040 FF74 BIT #100,(#177564) ;ESC, X, 0, <длина>, <адрес для копирования>
0230 02FC BNE $022A ;
0232 8BDF FF74 TSTB (#177564) ;
0236 80FD BPL $0232 ;
0238 949F FF76 MOVB (R2)+,(#177566) ;
023C 7E46 SOB R1,$0232 ;
023E 15C2 05BE MOV #2676,R2 ;Копируем R3 байт с адреса 2676
0242 8BDF FF74 TSTB (#177564) ;в память КЦГД через терминал
0246 80FD BPL $0242 ;
0248 949F FF76 MOVB (R2)+,(#177566) ;
024C 7EC6 SOB R3,$0242 ;
Ввиду того, что длина последовательности для копирования вычисляется, как
содержимое ячейки (50) минус адрес начала программы, будет скопировано
все до адреса, указанного в (50), не включительно. Таким образом,
последняя команда RTS не скопируется, т.к. (50) указывает не на слово за ней,
а на нее.
Не стоит в шестнадцатеричном - читать неудобно.
Да и конструкции языка соблюдать следует - самому же потом трудно будет перестраиваться при програминге ;)
Похоже на то.
---------- Post added at 18:55 ---------- Previous post was at 18:53 ----------
Ну может этот код никогда и не попадал в это место или попадал изредка и это относили на глючность чего-нибудь другого :)
---------- Post added at 19:01 ---------- Previous post was at 18:55 ----------
Загрузка кстати неграмотно сделана. Ожидается запрещение прерываний вывода на экран и делается вывод, что как они запрещены - больше выводиться ничего не будет, что может быть неверно :)
Так дело-то не в привычках. Все дизассемблеры работают в восьмеричном виде, читать код можно нормально только в восьмеричном виде - в шестнадцатеричном придется дольше обдумывать.
Это по-моему просто выпендрежь, а не привычка - вроде того как "а мне в vi удобно работать: смотри как круто - могу за минуту сделать то, что ты в своем дурацком редакторе делаешь 10 секунд" ;)
Ну во-первых RT-11 в принципе бывает многозадачной. Во-вторых нажал на клавишу и - вот тебе вывод на экран (это если у нас в ячейке 6 сидит 0 по умолчанию в системе) :)
А может быть иначе - у меня например в ячейке 6 сидит 340, то есть в прогу загрузки мы попадаем на 7 приоритете проца и если прерывания на экран были разрешены - таковыми они и останутся ибо попросту не возникнут больше :)
---------- Post added at 19:11 ---------- Previous post was at 19:10 ----------
Так анализ кода в дизассемблировании наверное главное, нет? ;)
Имелся ввиду машинный код. Так как в восьмиричном виде машинный код PDP11 весьма поняен.
---------- Post added at 15:16 ---------- Previous post was at 15:14 ----------
Получается, что при таком копировании программы в КЦГД надо сперва отключить клавиатуру последовательностью <27><91><50><104><128>?
Так про него и говорю.
Тот же дизассемблер может часть кода оставить как данные и не дизассемблировать или сам код может быть в виде данных команды.
В этом случае если он восьмеричный - понимание мгновенное.
Да и разницы при работе с восьмеричным особой нет с шестнадцатеричной. Разьве что два байта в слово и обратно менее привычно переводить навскидку, а в остальном все также. Даже логика 3 бита = восьмеричная цифра та же - только в шестнадцатеричной 4 бита :)
Дизассемблер код не проанализирует. Надо же отделить код от данных. Данные могут располагаться не только отдельно, но и после вызова подпрограммы, например по команде JSR R5,SUBR.
---------- Post added at 16:20 ---------- Previous post was at 16:18 ----------
Необязательно. Можно при разрешенных прерываниях дождаться освобождения очереди, потом запретить прерывания и загрузить программу в КЦГД.