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

User Tag List

Страница 21 из 28 ПерваяПервая ... 171819202122232425 ... ПоследняяПоследняя
Показано с 201 по 210 из 276

Тема: Практическое программирование в среде RT-11 на ассемблере.

  1. #201

    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,850
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    289
    Поблагодарили
    233 сообщений
    Mentioned
    30 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Немного баловства. Я знаю, hobot'у понравится
    Образ загрузочной дискеты для УК-НЦ здесь. Это просто наметка, полный функционал (возможность вводить пароль который используется для шифрования/расшифровки) достигается дополнительной программкой (ее можно вставить и в драйвер).

    Суть баловства: образ диска полностью "шифрованный" (кроме блоков 0-5). Если из под этой системы создать новый диск - он также будет шифрованным (при этом системным драйвером на такой дискете должен выступать MC.SYS вместо MZ.SYS), а система должна быть новее 5.01. Чтобы прочитать/записать нешифрованный диск, нужно обращаться к номерам устройств 4-7 (они будут соответствовать нешифрованным 0-3). Да, драйвер требует системы с поддержкой device timeout (вроде такая была на пробной дискете с JS). Это не ограничение - просто лень сейчас пересобирать - пива хочется

    Ну а "шифрованный" потому что алгоритм назвать шифрованием можно только с большой натяжкой

    Код:
    .DIR STRTFB/BLO
     19-Dec-2016
    STRTFB.COM     1  19-Dec-2016  1261    
     1 Files, 1 Blocks
     338 Free blocks
    
    .DUM/TER/ONL:1261. MC0:
    MC0:
    BLOCK NUMBER  002355
    000/ 042523 020124 052124 050440 044525 052105 005015 020122 *SET TT QUIET..R *
    020/ 052124 042523 020124 051457 006514 051012 042040 052101 *TTSET /SL..R DAT*
    040/ 006505 051412 052105 052040 020124 047516 052521 042511 *E..SET TT NOQUIE*
    060/ 006524 000012 000000 000000 000000 000000 000000 000000 *T...............*
    100/ 000000 000000 000000 000000 000000 000000 000000 000000 *................*
    120/ 000000 000000 000000 000000 000000 000000 000000 000000 *................*
    140/ 000000 000000 000000 000000 000000 000000 000000 000000 *................*
    160/ 000000 000000 000000 000000 000000 000000 000000 000000 *................*
    200/ 000000 000000 000000 000000 000000 000000 000000 000000 *................*
    220/ 000000 000000 000000 000000 000000 000000 000000 000000 *................*
    240/ 000000 000000 000000 000000 000000 000000 000000 000000 *................*
    260/ 000000 000000 000000 000000 000000 000000 000000 000000 *................*
    300/ 000000 000000 000000 000000 000000 000000 000000 000000 *................*
    320/ 000000 000000 000000 000000 000000 000000 000000 000000 *................*
    340/ 000000 000000 000000 000000 000000 000000 000000 000000 *................*
    360/ 000000 000000 000000 000000 000000 000000 000000 000000 *................*
    400/ 000000 000000 000000 000000 000000 000000 000000 000000 *................*
    420/ 000000 000000 000000 000000 000000 000000 000000 000000 *................*
    440/ 000000 000000 000000 000000 000000 000000 000000 000000 *................*
    460/ 000000 000000 000000 000000 000000 000000 000000 000000 *................*
    500/ 000000 000000 000000 000000 000000 000000 000000 000000 *................*
    520/ 000000 000000 000000 000000 000000 000000 000000 000000 *................*
    540/ 000000 000000 000000 000000 000000 000000 000000 000000 *................*
    560/ 000000 000000 000000 000000 000000 000000 000000 000000 *................*
    600/ 000000 000000 000000 000000 000000 000000 000000 000000 *................*
    620/ 000000 000000 000000 000000 000000 000000 000000 000000 *................*
    640/ 000000 000000 000000 000000 000000 000000 000000 000000 *................*
    660/ 000000 000000 000000 000000 000000 000000 000000 000000 *................*
    700/ 000000 000000 000000 000000 000000 000000 000000 000000 *................*
    720/ 000000 000000 000000 000000 000000 000000 000000 000000 *................*
    740/ 000000 000000 000000 000000 000000 000000 000000 000000 *................*
    760/ 000000 000000 000000 000000 000000 000000 000000 000000 *................*
    
    .DUM/TER/ONL:1261. MC4:
    MC4:
    BLOCK NUMBER  002355
    000/ 161175 103572 171572 173016 167173 171553 126443 103574 *}bz.zs.v{nks#-|.*
    020/ 171572 161175 103572 172001 125142 172444 161416 171557 *zs}bz..tb*$u.cos*
    040/ 125153 172044 171553 171416 103572 164140 171177 161147 *k*$tks.sz.`h.rgb*
    060/ 125172 123444 000000 000000 000000 000000 000000 000000 *z*$'............*
    100/ 000000 000000 000000 000000 000000 000000 000000 000000 *................*
    120/ 000000 000000 000000 000000 000000 000000 000000 000000 *................*
    140/ 000000 000000 000000 000000 000000 000000 000000 000000 *................*
    160/ 000000 000000 000000 000000 000000 000000 000000 000000 *................*
    200/ 000000 000000 000000 000000 000000 000000 000000 000000 *................*
    220/ 000000 000000 000000 000000 000000 000000 000000 000000 *................*
    240/ 000000 000000 000000 000000 000000 000000 000000 000000 *................*
    260/ 000000 000000 000000 000000 000000 000000 000000 000000 *................*
    300/ 000000 000000 000000 000000 000000 000000 000000 000000 *................*
    320/ 000000 000000 000000 000000 000000 000000 000000 000000 *................*
    340/ 000000 000000 000000 000000 000000 000000 000000 000000 *................*
    360/ 000000 000000 000000 000000 000000 000000 000000 000000 *................*
    400/ 000000 000000 000000 000000 000000 000000 000000 000000 *................*
    420/ 000000 000000 000000 000000 000000 000000 000000 000000 *................*
    440/ 000000 000000 000000 000000 000000 000000 000000 000000 *................*
    460/ 000000 000000 000000 000000 000000 000000 000000 000000 *................*
    500/ 000000 000000 000000 000000 000000 000000 000000 000000 *................*
    520/ 000000 000000 000000 000000 000000 000000 000000 000000 *................*
    540/ 000000 000000 000000 000000 000000 000000 000000 000000 *................*
    560/ 000000 000000 000000 000000 000000 000000 000000 000000 *................*
    600/ 000000 000000 000000 000000 000000 000000 000000 000000 *................*
    620/ 000000 000000 000000 000000 000000 000000 000000 000000 *................*
    640/ 000000 000000 000000 000000 000000 000000 000000 000000 *................*
    660/ 000000 000000 000000 000000 000000 000000 000000 000000 *................*
    700/ 000000 000000 000000 000000 000000 000000 000000 000000 *................*
    720/ 000000 000000 000000 000000 000000 000000 000000 000000 *................*
    740/ 000000 000000 000000 000000 000000 000000 000000 000000 *................*
    760/ 000000 000000 000000 000000 000000 000000 000000 000000 *................*
    
    .
    Последний раз редактировалось form; 19.12.2016 в 14:48.
    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. #202

    Регистрация
    30.08.2011
    Адрес
    Зеленоград
    Сообщений
    7,161
    Спасибо Благодарностей отдано 
    2,979
    Спасибо Благодарностей получено 
    373
    Поблагодарили
    310 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    первые впечатления



    Я на "свежую в моём понимании голову" отпишу.

    Кстати говоря, вспомнил, один из мощных ассемблерщиков по общему прошению сделал
    программу в школе соседней - называлась она DP.SAV и на старте выдавала * чем запрашивала
    имя SAV файла. DP - от DESS PTOTECTION - обработанный файлик в DESS начинал выглядеть
    как "куча мусора". В начале все обрадовались - вот ура - мы сейчас запротектим файлы,
    никто не будет править там "Клингонов" на "Семижопов", но быстро выяснилось неприятные ограничения

    1. Системные файлы умирали после обработки (.SYS DP - было низя!)
    2. Не все .SAV после обработки продолжали успешно запускаться и работать (некоторые да, но не все).
    3. Обратная процедура (по моему была написана, точно не помню "снятие защиты") то же могла попортить
    файлик ещё сильнее
    4. Всем стало скушно и тогда кто то попросил написать "защиту" текстовых файлов от правки )))

    Весело было !
    Я тогда писал "квест-приключение" на ВИЛЬНЮС-БЕЙСИКЕ на РМУ - у меня даже ни одной дискеты своей не было )))
    Позже позже всё появилось...

    Мне понравилась идея
    Цитата Сообщение от form Посмотреть сообщение
    просто меняем вторичный загрузчик на свою программу
    вот это действительно мощно звучит, потому что при старте некоей рабочей среды с дискеты или ЖД
    (скорее всего с дискеты УК-НЦ) может подмять под себя все ресурсы машинки, убрали все УСТ и СТОП,
    настроить палитру и разместиться в памяти в компании нужных "инсайдеров" )
    Разве не нечто такое проделали авторы пакета игр от ИТО ?
    И знаешь, очень похожая софтина в виде исходников (причём рабочая) составляла основу Зеленоградского
    спрайтового движка для МАКРО-11 и ПАСКАЛЯ (речь не об UKLOADдля УК-НЦ и конечно не о LOAD для КЦГД)- только вот её то как раз и нету иначе я бы просто показал
    как это выглядит (красиво).

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

    Цитата Сообщение от form Посмотреть сообщение
    Образ загрузочной дискеты для УК-НЦ здесь.
    кстати при первой загрузке выдаёт три строки о неустановленных DUn устр-ах.
    при вторичной уже не выдаёт (уже помечены #???- что бы не обращался не искал).
    Архив программ для УК-НЦ, ДВК и БК.

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

  3. #203

    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,850
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    289
    Поблагодарили
    233 сообщений
    Mentioned
    30 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от hobot Посмотреть сообщение
    кстати при первой загрузке выдаёт три строки о неустановленных DUn устр-ах.
    при вторичной уже не выдаёт (уже помечены #???- что бы не обращался не искал).
    Просто копировал со своей системы, остались подключенный LD, при загрузке он их чистит.
    Я новый образ подготовил, залью через пару минут - там уже с паролем (он участие принимает в шифровании) и программа прописывания своего загрузчика (он собственно и спрашивает пароль при загрузке).
    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. #204

    Регистрация
    30.08.2011
    Адрес
    Зеленоград
    Сообщений
    7,161
    Спасибо Благодарностей отдано 
    2,979
    Спасибо Благодарностей получено 
    373
    Поблагодарили
    310 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    он собственно и спрашивает пароль при загрузке).
    А если ему Ошибку чтения сделать ) Механически, он проскочит на след. в загрузке шаг? ишлёп закрыть привод что бы не шуршал, а дальше читал?
    Архив программ для УК-НЦ, ДВК и БК.

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

  5. #205

    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,850
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    289
    Поблагодарили
    233 сообщений
    Mentioned
    30 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Новый образ. В нем уже при загрузке спрашивается пароль, и если он неправильный - при загрузке не найдется файл монитора. Пароль образа 123456.
    Он же будет паролем для созданных из загруженной с него системы образов на MC0-MC3.
    Пароль - восьмеричная цифра 16 бит - лень было заморачиваться (0 или ничего - нет шифрования)

    Для смены пароля нужно провернуть хитрый маневр:
    Код:
    .COP/DEV/NOQ SY: MC5:
    
    .BO MC5:
    
    RT-11FB (S) V05.07  
    
    Password: 
    
    RT-11FB (S) V05.07  
    
    ?DATE-I-Date & time - 19-DEC-2016 23:07:26
    
    .COP/DEV/NOQ SY: MС:
    
    .BO MC:
    
    RT-11FB (S) V05.07  
    
    Password: 
    
    RT-11FB (S) V05.07  
    
    ?DATE-I-Date & time - 19-DEC-2016 23:07:47
    
    .
    В данном примере шифрованный диск стоит в MZ0: (MC0 в системе), в приводе MZ1 стоит временный диск. При копировании на него мы используем MC5: (это запрещает шифрование), а при загрузке с MC5: вводим новый пароль, с которым и копируем диск обратно.

    В образе лежат два драйвера MC: MC.SYS (требует поддержки device timeout) и MCNT.SYS (не требует). В случае если будет ошибка "Conflicting options" подойдет другой

    Создание нового загрузочного диска (можно с другой системой новее 5.01) происходит как обычно, но после команды COP/BOO нужно запустить программу MCBOOT с указанием данного диска, например
    Код:
    .COP/BOO MC1:RT11SJ MC1:
    
    .MCBOOT MC1:
    Если диск создается из под системы с обычным драйвером MZ, то используем команду COP/BOO:MC для копирования загрузчика, а грузим устройство под номером x+4 где x - номер привода 0,1,2,3 (мой простой драйвер MZ как раз нормально относился к таким номерам [или можно при загрузке ввести пустой пароль, а уже из под новой системы загрузить MCx+4: и ввести пароль для создаваемых дисков]). Если шифрованный диск грузится из под системы без шифрования (или из под системы с другим паролем), нужно использовать команду BOO/FO.

    Уф. Понаписал-то... Самому бы понять

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

    Цитата Сообщение от hobot Посмотреть сообщение
    А если ему Ошибку чтения сделать
    Хорошо, что ты спросил
    При ошибках чтения во время загрузки будут проблемы - я там не дописал фрагмент который повторы правильно делает, так, что скорее всего просто ничего не получится.
    Проскочить шаг не удастся: пароль - это ключ к шифрованию (и нигде не хранится [в отличие от первого образа ]), и если он неправильный, то и прочитается хрень всякая
    Но если есть под рукой дизассемблер и свободное время, то понять метод шифрования и расшифровать все не зная ключа труда не составит
    Последний раз редактировалось form; 19.12.2016 в 19:49.
    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. #206

    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    3,247
    Спасибо Благодарностей отдано 
    360
    Спасибо Благодарностей получено 
    638
    Поблагодарили
    414 сообщений
    Mentioned
    46 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от hobot Посмотреть сообщение
    Лучше расскажите какой и для чего планировалась оболочка AC и почему не стали
    делать? Или я снова что то пропустил?
    Собственно я когда-то и планировал его для оболочки, что-то наподобие Norton Commander-а. Но до неё руки так и не дошли. Делал я только меню запуска игрушек. Тогда дома УКНЦ у меня не было, работал в классе на НГМД-6022, соответственно было 4 дискеты с игрушками и с меню запуска (файл меню соответственно ACM.SAV).

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

    Цитата Сообщение от hobot Посмотреть сообщение
    И да, AC.SYS - похоже универсал, тем больше смысла править для поддержки совр.дат или
    убрать календарное приветствие как "апендикс". Обсуждение - лично для меня получается
    (получилось) просто сверх интересным ! Но если он (драйвер AC.SYS) используется для правильного (чит.удобного) системного приглашения - всё остальное логично же ! - лишний функционал.
    Ну делался драйвер в 1992-1993 годах, RT-11 я видел максимум версии 5.4, документации толком не было, ну про интернет и говорить не стоит, да и о проблеме Y2K особо ещё никто не говорил. Это насчет поддержки дат, я потому и был уверен, что максимум 1999 год.
    А что за календарное приветствие?

    Так как драйвер создавался изначально для запуска оболочки, а в качестве условия запуска я решил, что лучше всего перехватывать вывод промптера KMON, а не EMT 350. В этом случае получалось всё честно. Чтобы понять как перехватывать KMON пришлось его дизассемблировать, да ещё дизассемблировал и драйвер SL V08.00 Сторожевых. А так как делался перехват промптера, то уже и возникла идея его изменить, что бы настраивать как в MS-DOS. Так что основная функция это запуск оболочки, а изменение вида промптера стало побочной функцией.

  7. #207

    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,850
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    289
    Поблагодарили
    233 сообщений
    Mentioned
    30 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex_K Посмотреть сообщение
    вывод промптера KMON, а не EMT 350.
    EMT 350 перехватывать бесполезно. Проверка показала, что он не всегда выполняется - вероятно где-то просто делается прямой переход на соответствующую подпрограмму.

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

    Цитата Сообщение от Alex_K Посмотреть сообщение
    KMON пришлось его дизассемблировать
    Это издержки последних лет. Поначалу у всех под рукой всегда был дистрибутивный кит с исходниками, а потом видимо было решено (у нас), что это роскошь - давать возможность настроить систему под себя
    А может просто не хотелось молодым показывать, что все новое в "наших" системах - это просто замена приветствия
    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. #208

    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    3,247
    Спасибо Благодарностей отдано 
    360
    Спасибо Благодарностей получено 
    638
    Поблагодарили
    414 сообщений
    Mentioned
    46 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    EMT 350 перехватывать бесполезно.
    Это я тогда понял. К тому же обработчик EMT 350 выполняет много действий по завершению задачи. А вот одна из версий JS.SYS для SCE работает таким образом.

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

    Цитата Сообщение от form Посмотреть сообщение
    Поначалу у всех под рукой всегда был дистрибутивный кит с исходниками
    А вот у меня такого не было. Да и интернета не было в те времена, чтобы скачать RT11DV10.ISO или RT11DV50.ISO.

  9. #209

    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,850
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    289
    Поблагодарили
    233 сообщений
    Mentioned
    30 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex_K Посмотреть сообщение
    А вот у меня такого не было.
    Ну на службе мне тоже попался с УКНЦами "наш" ФОДОС где только все пресобранное было. И тоже в виду отсутствия документации приходилось дизассемблировать. А так, до этого и RT-11V4 был и РАФОС (ну это по сути он же кроме /TS [хотя был еще с дурацкой авторизацией - тот возможно v3 был, и к нему как раз дистриба не было у нас]) с исходниками системы и RT-11V5.0.

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

    А про SL (тот что от Сторожевых) в то время вспоминаю с ужасом... Мне его пришлось из ближайшей школы в г. Чехове копировать методом диктовки дампа и записи его от руки на бумагу с последующим восстановлением - бр-р
    Последний раз редактировалось form; 19.12.2016 в 20:18.
    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

  10. #210

    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    3,247
    Спасибо Благодарностей отдано 
    360
    Спасибо Благодарностей получено 
    638
    Поблагодарили
    414 сообщений
    Mentioned
    46 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    с последующим восстановлением
    А чем восстанавливали?

Страница 21 из 28 ПерваяПервая ... 171819202122232425 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Арифметические процедуры на ассемблере
    от spensor в разделе Программирование
    Ответов: 27
    Последнее: 13.05.2017, 20:56
  2. Пишем на ассемблере под эмулятором
    от GM BIT в разделе Для начинающих
    Ответов: 76
    Последнее: 15.07.2016, 20:04
  3. try-catch на ассемблере z80
    от siril в разделе Программирование
    Ответов: 22
    Последнее: 30.10.2012, 21:17
  4. Продам книгу- AMIGA: программирование на ассемблере
    от Doctor Max в разделе Барахолка (архив)
    Ответов: 11
    Последнее: 01.03.2012, 00:35
  5. Подпрограмма на ассемблере в памяти?
    от jimled в разделе Программирование
    Ответов: 1
    Последнее: 29.11.2009, 06:46

Ваши права

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