User Tag List

Страница 4 из 14 ПерваяПервая 12345678 ... ПоследняяПоследняя
Показано с 31 по 40 из 140

Тема: Реконструкция CGLIB для использования из OMSI Pascal

  1. #31

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

    По умолчанию

    Цитата Сообщение от hobot Посмотреть сообщение
    это справедливо и для ДВК и для УК-НЦ ) Что бывает важно для программы без графики под RT-11.
    Если программа чисто текстовая и предназначена и для ДВК, то тогда <Esc>H<Esc>J. А вот если графическая для УКНЦ, то тогда только кодом 12 или <Esc>[r.

    Этот пользователь поблагодарил Alex_K за это полезное сообщение:

    hobot(05.03.2020)

  2. #31
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #32

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,509
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    714
    Поблагодарили
    596 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex_K Посмотреть сообщение
    Если программа чисто текстовая и предназначена и для ДВК, то тогда <Esc>H<Esc>J.
    Если КЦГД - она может быть и графическая. Но насколько я помню, там EHEJ наманно отрабатывается

  4. #33

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

    По умолчанию

    Цитата Сообщение от Hunta Посмотреть сообщение
    Если КЦГД - она может быть и графическая. Но насколько я помню, там EHEJ наманно отрабатывается
    Я говорил про чистый текст. А <Esc>H<Esc>J нормально будет отрабатываться на УКНЦ, КСМ. На 15ИЭ-00-013 только если он в системе команд VT-52, да и КЦГД можно перевести в систему команд VT-100.

    Этот пользователь поблагодарил Alex_K за это полезное сообщение:

    hobot(05.03.2020)

  5. #34

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

    По умолчанию

    Цитата Сообщение от Alex_K Посмотреть сообщение
    А вот если графическая для УКНЦ, то тогда только кодом 12 или <Esc>[r.
    Что я делаю не так? ) Запустил в системе под 7-ркой такой вод код(UKNCBTL) :
    Код:
     ! Apxивны     дeл ЖД !            ЛAТ                                          
    MUZ   .MAC    19  09-Mar-1992   121    TEXP  .MAC    36  23-Jan-2020   150      
    CLSTST.MAC     1  05-Mar-2020   212    < UNUSED >  1387                213      
     7 Files, 66 Blocks                                                             
     1387 Free blocks                                                               
                                                                                    
    L07>mac CLSTST                                                                  
                                                                                    
    L07>lin CLSTST                                                                  
    
    L07>RU CLSTST                                                                   
    r                                                                               
    L07>TY CLSTST.MAC                                                               
    START:  MOV     #<33>, @#177566                                                 
            MOV     #'[, @#177566                                                   
            MOV     #'r, @#177566                                                   
            CLR R0                                                                  
            EMT     350                                                             
            .END    START                                                           
                                                                                    
                                                                                    
    L07>                                                                            
     ! Apxивный paздeл ЖД !
    Архив программ для УК-НЦ, ДВК и БК.

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

  6. #35

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

    По умолчанию

    Цитата Сообщение от hobot Посмотреть сообщение
    Что я делаю не так?
    А кто будет ждать готовности в регистре 177564?

    А может проще так:
    Код:
            .PRINT  #CLSSTR
    
    CLSSTR: .ASCII  <33>/[r/<200>

    Этот пользователь поблагодарил Alex_K за это полезное сообщение:

    hobot(05.03.2020)

  7. #36

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,509
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    714
    Поблагодарили
    596 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от hobot Посмотреть сообщение
    Что я делаю не так? )
    Всё
    .PRINT #yok
    .EXIT
    YOK:
    .ASCIZ <33>/[r/

    Этот пользователь поблагодарил Hunta за это полезное сообщение:

    hobot(05.03.2020)

  8. #37

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

    По умолчанию

    Цитата Сообщение от Alex_K Посмотреть сообщение
    А может проще так
    получается - этот код очистки лучше всего на ук-нц применять? работает в системе и годен для граф. режима?
    Архив программ для УК-НЦ, ДВК и БК.

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

  9. #38

    Регистрация
    24.08.2007
    Адрес
    Днепропетровская обл.
    Сообщений
    1,681
    Спасибо Благодарностей отдано 
    2,717
    Спасибо Благодарностей получено 
    170
    Поблагодарили
    130 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Шото вы ещё больше всё запутали, господа. Хобот, ты как истинный оператор ДВК и знаток Esc-последовательностей и хочешь нормальную реализацию GCLIB - бери её и тесть на предмет нормального переключения в граф. режим и нормального из него выхода. А по поводу граф. движка мне и самому интересно чего можно там закодить. Пока я в недоумении чешу репу, созерцая странные подпрограммы, работающие с теневым буфером. А мне бы пригодилось что-то вроде рисования спрайта, заданного константным массивом.

    Впечатления от работы на асме двоякие. Удивило, что BICB не устанавливает флаг нуля. Долго не мог понять почему не работает BICB #^O17, 6(SP) - пока не поменял её на BICB 6(SP), #^O17

    Но зато стало понятно, откуда растут уши у языка Си. Это в точности калька с команд PDP-11. Даже грустно как-то.

    Вопрос: какая команда быстрее работает - BICB или BIC? В целом, работа со словами предположительно быстрее, чем с байтами, но лучше уточнить. Нигде в доках пока не нашёл времени исполнения разных команд.

    В эмулятор Патрона вшита какая-то странная версия LIBR, которая не соответствует описанию, найденному в сети. Вызываю её так:

    rt11.exe LIBR CGLIB CG001
    rt11.exe LIBR CGLIB CG002
    rt11.exe LIBR CGLIB CG003
    ...

    Для пересоздания библиотеки ей надо передать ключик /C (очевидно - CREATE), иначе просто идёт добавление объектников в существующую библиотеку. Как передать ей сразу несколько файлов - пока не понял.

    Другая найденная на просторах версия LIBR работает так, как и указано в документации. Вызываю её так:

    rt11.exe RUN LIBR CGLIB=CG001,CG002,CG003,CG004,CG005,CG006

    При попытке добавить ,CG007 либр кочевряжится (видимо, количество символов ограничено). С этой версией я не понял как добавлять в существующую библиотеку, она всегда пересоздаёт.

    Обе версии ругаются матом на дублирование имени MAIN, хотя вроде бы делают то, что нужно.

    ?LIBR-W-Duplicate module name of .MAIN.


    Это странно - никакого глобального символа MAIN в ассемблерном листинге нет.

    Но, в целом, терпимо. Жить можно.

  10. #39

    Регистрация
    30.11.2015
    Адрес
    г. Самара
    Сообщений
    7,509
    Спасибо Благодарностей отдано 
    344
    Спасибо Благодарностей получено 
    714
    Поблагодарили
    596 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Oleg N. Cher Посмотреть сообщение
    Это странно - никакого глобального символа MAIN в ассемблерном листинге нет.
    Это не глобальный символ, это название модуля. .TITLE надо добавить

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

    Цитата Сообщение от Oleg N. Cher Посмотреть сообщение
    Долго не мог понять почему не работает BICB #^O17, 6(SP) - пока не поменял её на BICB 6(SP), #^O17
    Это что то странное. По логике, должно быть именно BICB #^O17, 6(SP) - сбросить младшие четыре бита в байте (или слове - в данном случае без разницы) по адресу 6(SP). И флаг N должен выставиться - только есть нюанс - для BICB - в байте 6(SP) получился полностью ноль, если в байте 7(SP) не ноль - всё равно выставится, а для BIC - только если получится полностью нулевое слово по адресу 6(SP).
    А BICB 6(SP), #17 - это сбросить в байте, где лежит 17 те биты, которые установлены в байте, который хранится по адресу 6(SP)

    Этот пользователь поблагодарил Hunta за это полезное сообщение:

    Oleg N. Cher(06.03.2020)

  11. #40

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

    По умолчанию

    Цитата Сообщение от Oleg N. Cher Посмотреть сообщение
    хочешь нормальную реализацию GCLIB
    ??? с чего ты взял ???

    Код:
               ОПИСАНИЕ МОДУЛЕЙ БИБЛИОТЕКИ TERPAS.OBJ
               ______________________________________
    
    
              БИБЛИОТЕКА TURBO ФИРМЫ BUSINESS Universal.
    
            Описание процедур и функций библиотеки TURBO.OBJ V03.00
               (расширение стандартной библиотеки PASCAL)
    
        Процедуры:
    
        CLRSCR        - очистить от курсора до конца экрана
        CLREOL        - очистить от курсора до конца строки
        GOTOXY(X,Y)    - перемещение курсора в позицию X,Y
        COLORS(L,S,P)    - установка цвета символа (L) ,экрана (S) ,зна-
                  коместа (P);
        PUT8(N)        - печать псевдографических символов N=240B-277B
        SBROS        - применяется  перед  использованием  оператора
                  READ  для  сброса спецрежима , установленного
                  функциями KEYPRESSED и READKEY, когда при на-
                  жатии на клавишу на  экране ничего не отобра-
                  жается.
    
        Функции:
    
        KEYPRESSED    - принимает значения TRUE и FALSE ,в зависимос-
                  ти от того,была нажата клавиша (TRUE) или нет
                  (FALSE);
        READKEY        - выдает код нажатой клавиши;
        ENTER(L,U,X,Y)  - используется  для  ввода  чисел  с  контролем
                  на допустимость значения . L - нижний предел,
                  U - верхний предел .Режим ввода будет поддер-
                  живаться пока  вводимое  число не  будет вхо-
                  дить в указанные рамки . Перед использованием
                  применение процедуры SBROS не требуется .Если
                  число не входит в интервал , то независимо от
                  количества набранных символов    происходит сти-
                  рание  первых восьми  позиций и курсор переме-
                  щается в позицию X,Y (кординаты курсора).
    
        Перед использованием процедур и функций данной  библиотеки в на-
        чале программы необходимо описать их:
    
        PROCEDURE CLRSCR;EXTERNAL;
        PROCEDURE CLREOL;EXTERNAL;
        PROCEDURE GOTOXY(X,Y:INTEGER);EXTERNAL;
        PROCEDURE SBROS;EXTERNAL;
        PROCEDURE COLORS(L,S,P:INTEGER);EXTERNAL;
        PROCEDURE PUTB(N:INTEGER);EXTERNAL;
        FUNCTION KEYPRESSED:BOOLEAN;EXTERNAL;
        FUNCTION READKEY:INTEGER;EXTERNAL;
        FUNCTION ENTER(L,U:REAL;X,Y:INTEGER):REAL;EXTERNAL;
    
        Координаты курсора находятся в пределах : X=0-79, Y=0-23 .Нача-
        лом координат является верхний левый угол экрана (X=0,Y=0). При
        достижении 79-й позиции в строке происходит автоматический пере-
        ход в начало следующей строки.
    
                    - 2 -
    
        Распределение цветов следующее:
            0 - цвет фона (прозрачный);
            1 - синий;
            2 - красный;
            3 - сиреневый;
            4 - зеленый
            5 - голубой;
            6 - желтый;
            7 - белый.
    
        Отзывы и  предложения  направляйте в фирму BUSINESS Universal по
        тел.470-29-46.
    
    
                 ОСНОВНЫЕ ПРОЦЕДУРЫ 
             ГРАФИЧЕСКОГО РЕЖИМА ДИСПЛЕЯ "УК-НЦ",
                 НАПИСАННЫЕ НА ЯЗЫКЕ ПАСКАЛЬ.
    
         1.OCH ........................... - очистка экрана
    
         2.GRAF    .......................... - переход в граф.режим
    
         3.SIMV .......................... - переход в симв.режим
    
         4.KOORD(X,Y:INTEGER) ............ - перевод координат в АЦЭ
    
         5.ONE(C:INTEGER) ................ - перевод целого числа в АЦЭ
    
         6.USTCOL(L,P,S:INTEGER) ......... - установка цвета символа,
                             знакоместа,экрана
    
         7.COLLIN(CL:INTEGER) ............ - установка цвета для прямой
    
         8.COLKON(CK:INTEGER) ............ - установка цвета заполнения 
                             контура
    
         9.ZAPR(X1,Y1,X2,Y2,CZ:INTEGER)    - заполнение прямоугольной 
                             области 
                             ( левый нижний угол (X1,Y1),
                             правый верхний угол (X2,Y2),
                             цвет заполнения - CZ)
                                 
    
        10.USTKUR(C1,C2:INTEGER) ......... - установка индексов цвета
                             алфавитного курсора
    
        11.ZAPOBL ........................ - заполнение области цветом,
                             установленным в COLKON 
    
        12.PEROBL ........................ - перекрашивание области
    
        13.TEKTOC(X,Y:INTEGER) ........... - установка координат текущей
                             точки ( от которой рисуются
                             линии и т.д. )
    
                    - 3 -
    
        14.VECTOR(X,Y:INTEGER) ........... - рисование вектора
                             (вектор рисуется от текущей
                             точки до точки X,Y )
    
        15.TOCH(X,Y:INTEGER) ............. - рисование точки
    
        16.PRAM(X1,Y1,X2,Y2,C:INTEGER) ... - нарисовать прямоугольник
                             ( левый нижний угол (X1,Y1),
                             правый верхний угол (X2,Y2),
                             цвет рамки - C ).
    
        17.OBN(X1,Y1,X2,Y2:INTEGER) ...... - очистка окна с символьными
                             координатами
    
        18.WIN(X1,Y1,X2,Y2,C:INTEGER) .... - прорисовка окна с символьными
                             координатами 
    
        Координаты находятся в пределах X=0-639, Y=0-263 . Началом отсчета
        координат является нижний левый угол экрана (X=0,Y=0).
    
    
                 ОСНОВНЫЕ ПРОЦЕДУРЫ 
             СИМВОЛЬНОГО РЕЖИМА ДИСПЛЕЯ "УК-НЦ",
                 НАПИСАННЫЕ НА ЯЗЫКЕ ПАСКАЛЬ.
    
         1.KUR(X,Y:INTEGER) .............. - установить курсор в позицию X,Y
    
         2.RKL(VAR A:CHAR) ............... - считать символ без нажатия ВК
    
         3.ZADER(T:INTEGER) .............. - задержка выполнения
    
         4.PER(N:INTEGER) ................ - передача кода символа на дисплей
                             (целесообразно применять для 
                             8-битных кодов)
    
         5.LPS(L,P,S:INTEGER) ............ - установка цвета сивола,
                             знакоместа и экрана
                             (L,P,S=48-55 или 60B-67B)
    
         6.INV ........................... - включение инверсии символа
    
         7.OTMINV ........................ - отмена инверсии символа
    
         8.POD ........................... - включение подчеркивания
                             символа
    
         9.OTMPOD ........................ - выключение подчеркивания
                             символа
    
        10.SIZSCR(N:INTEGER) ............. - установка формата экрана
                             (N=1 - 80x24,
                                2 - 40x24,
                            3 - 20x24,
                            4 - 10x24.)
    
                    - 4 -
    
        11.COPYS(Y1,X1,Y2,Y3,DL:INTEGER)   - перенос строки экрана в самую
                             нижнюю (верхнюю) строку,где:
                             Y1 - номер строки;
                             X1 - номер столбца;
                             Y2 - 1 - верхняя строка,
                                  0 - нижняя строка;
                             Y3 - номер позиции для вывода;
                             DL - кол-во позиций для вывода.
                             * Длина нижней(верхней) строки
                               40 символов
    
        12.COLCUR(C:INTEGER) ............. - установка цвета курсора
                             (C=48-55 или 60B-67B)
    
        13.CREWIN(X,Y,SX,SY,CB,CS,REV:INTEGER) - прорисовка окна в символьном
                             режиме :
                             X,Y - координаты верхнего 
                             левого угла,
                             SX,SY - ширина по X и Y,
                             CB  - цвет рамки окна 
                                   CB=48-55(60B-67B),
                             CS  - цвет символов в окне 
                                   CS=48-55(60B-67B),
                             REV - признак инверсии рамки
                                   (0-нет,1-есть).
    Архив программ для УК-НЦ, ДВК и БК.

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

Страница 4 из 14 ПерваяПервая 12345678 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Turbo Pascal для msx/msx2
    от Оззя в разделе MSX
    Ответов: 4
    Последнее: 23.02.2020, 23:59
  2. Ответов: 7
    Последнее: 12.12.2019, 04:12
  3. Turbo Pascal 4 и CP/M 3 для Корвета
    от litwr в разделе Корвет
    Ответов: 10
    Последнее: 26.11.2019, 04:19
  4. Язык PL/M. Возможность использования.
    от James DiGreze в разделе Программирование
    Ответов: 18
    Последнее: 15.01.2006, 12:19

Ваши права

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