Модификация графических файлов, Орион -128, работа в PENX$Работа с графикой на Орионе 128Продаю платы и наборы микросхем, куплю микросхемы, комплектующие к ПК Орион-128На 14.07.2022 последней версией OR DOS является релиз 4.03 от 1993г , прошивки ниже ORDOC написана написана Сафроновым и Сугоняко и остается до настоящего времени, описание будет позже. Все журналы "Радио" с упоминанием Ориона Организация экранной области Ориона-128 Все драйвера сначала ищутся на диске В, потом на диске А Стандарты ПО, адресов и портов Графический редактор PENX, немного модификаций Остановимся на нескольких моментах, связанных с установкой программы
PENX$ на ваш компьютер. Несмотря на то что переназначение управляющих
клавиш можно сделать непосредственно при запуске программы, довольно
неудобно будет делать это каждый раз, если ваша клавиатура отличается от
клавиатуры "Радио-86РК". Переназначить клавиши управления можно
непосредственно заменой кодов в программе. Коды управляющих клавиш
занимают в программе PENX$ десять ячеек, начиная с ячейки с адресом
000ЗН и по ячейку 000СН включительно. Заметим, что большинство программ
для ОРИОНА рассчитаны на работу под операционной системой ORDOS и при
загрузке программ с диска и запуске они чаще всего производят изменение
каких-либо ячеек непосредственно в самих себе, а оригинал всегда
хранится в неизменном виде на диске. Поэтому запустить программу, потом
выйти из нее и сохранить директивой S область памяти, где располагается
программа вместо оригинала, нельзя. Если вы решите заменить коды
управляющих клавиш, вам надо будет сделать эти изменения либо до набора
кодов программы, либо непосредственно в файле. ПРЕДСТАВЛЕНИЕ ГРАФИЧЕСКИХ ОБРАЗОВ В ПРК "ОРИОН-128" Создание образов-картинок с помощью программы PENX$ не является самоцелью. Программа просмотра графических файлов. Созданные графическим редактором спрайты нужны для их дальнейшего использования в самых различных областях приложения ПРК. Однако, если вы просмотрите коды, записанные в созданный редактором файл, вряд ли вы сможете увидеть в, них что-то напоминающее то, что вы рисовали. Для того чтобы иметь возможность в полной мере использовать графические объекты, постараемся разобраться как можно более подробно, что же представляет собой созданный редактором спрайт и какие преобразования происходят с картинкой при записи ее на диск в виде стандартного файла ORDOS, заметим, что информация, которую мы даем ниже, предназначена для тех пользователей ПРК ОРИОН, которые достаточно хорошо представляют себе структуру памяти ПРК и, кроме того, имеют навыки в программировании на языке АССЕМБЛЕРа. Таблица 2 ;ПРОГРАММА РАСПАКОВКИ УПАКОВАННОГО ГРАФИЧЕСКОГО ;ФАЙЛА "RISI.PC" В 5УФЕР СПРАЙТОВ И ВЫВОД ЕГО НА ЭКРАН ;ИСПОЛЬЗУЕМЫЕ СИСТЕМНЫЕ УТИЛИТЫ ОС "ORDOS" ; ATPLDiEGHJ BBPCDH SDMAlEGHJ аВРРВН ;WDNiEQU B5FD6H RDISKlEQU BBFDCH PSGFlEQU CreFESH DOSlEQU CIBFFDH ; ПОДПРОГРАММЫ МОНИТОРА e KBRDlEQU BF803H WBP2iEOU BF87?H CALL UNPACK ; РАСПАКОВАТЬ ФАЙЛ В БУФЕР LHLB 7FFCH ; РАЗМЕРЫ СПРАЙТА" MOV C,L ; ВЫСОТА MOV Э,Н ; ШИРИНА LHLD 7FFEH ; НАЧАЛЬНЫЙ АДРЕС БУФЕРА YPHI" LXI Н,ВСВВВН ; ЛЕВЫМ ВЕРХНИХ УГОЛ ЭКРАНА1 ; ; ВЫВОД НА ЭКРАН АТРИБУТОВ ЦВЕТА" PUSH Н PUSH В CVC2 : PUSH Н PUSH В CYC1: LDAX D ; ЧИТАТЬ ОЧЕРЕДНОЙ БАЙТ ИЗ БУФЕРА PUSH В MOV С,А MVI А,1 ; ЗАПИСАТЬ ЕГО В ЭКРАННУЮ ОБЛАСТЬ CALL WBP2 ; ОЗУ ДОПОЛНИТЕЛЬНОЙ СТРАНИЦЫ POP В INX D INR L ; "СПУСТИТЬСЯ НИЖЕ" НА 1 СТРОКУ ЭКРАНА DCR С ; СЧЕТЧИК БАЙТОВ В КОЛОНКЕ JN2 CYC1 POP В POP Н INR Н ; ПЕРЕЙТИ НА СЛЕДУЮЩУЮ КОЛОНКУ DCR В ; СЧЕТЧИК КОЛОНОК JNZ CYC2 POP В POP Н ; ВЫВЕСТИ НА ЭКРАН ПЕРЕДНИЙ ПЛАН; CYC4: PUSH Н PUSH В CYC5: LDAX D ; ЧИТАТЬ ОЧЕРЕДНОЙ БАЙТ ИЗ БУФЕРА MOV М,А ; ВЫВЕСТИ ЕГО НА ЭКРАН ZNX D INR L ; "СПУСТИТЬСЯ НИЖЕ" НА 1 СТРОКУ ЭКРАНА DCR С ; СЧЕТЧИК БАЙТОВ В КОЛОНКЕ JNZ CYC3 POP В POP Н INR Н ; ПЕРЕЙТИ НА СЛЕДУЮЩУЮ КОЛОНКУ DCR В ; СЧЕТЧИК КОЛОНОК JNZ CYC4 CALL KBRD ; ЖДАТЬ НАЖАТИЯ ЛЮБОЙ КЛАВИШИ JMP DOS ; ПЕРЕЙТИ В ОС ; ПОДПРОГРАММА РАСПАКОВКИ" UNPACK: MVI А,'В' CALL WDN ; УСТАНОВИТЬ АКТИВНЫЙ ДИСК - "В" LXI H,NAME CALL SDMA ; УКАЗАТЬ ОС АДРЕС, НАЧИНАЯ С КОТОРОГО ; ЗАПИСАНО ИМЯ ИСКОМОГО ФАЙЛА CALL PSCF ; ПОИСК НА ДИСКЕ ФАЙЛА С ЭТИМ ИМЕНЕМ INR A JNZ DOS ; ЕСЛИ ФАЙЛ НЕ НАЙДЕН, ПЕРЕЙТИ В ОС CALL ATFLD ; В HL - АДРЕС НАЧАЛА ЗАПИСИ В ФАЙЛЕ UNPCK1: CALL RDISK ; ЧИТАТЬ 1-Й БАЙТ АДРЕСА БУФЕРА MOV Е,А INX H CALL RDISK ; ЧИТАТЬ 2-И БАЙТ АДРЕСА БУФЕРА MOV D,A INX Н INX Н ; ПРОПУСТИТЬ 2 БАЙТА (РАЗМЕРЫ) INX Н ; . - UNPB: CALL RDISK ; ЧИТАТЬ БАЙТ С К/ДИСКА INX Н RLC ; ПРОВЕРИТЬ, D7"l ? JC TW2 ; ЕСЛИ ДА, ТО СЛЕДУЕТ СЕРИЯ ОДИНАКОВЫХ ; ЕСЛИ НТ, ТО СЕРИЯ РАЗЛИЧНЫХ" RRC ; MR А MOV В,А ; ДЛИНА СЕРИИ UNP1: CALL RDISK ; ЧИТАТЬ БАЙТ С К/ДИСКА INX Н STAX D ; ЗАПИСАТЬ ЕГО В БУФЕР INX D MOV A,D СРI ваН RZ ; ЗАКОНЧИТЬ, ЕСЛИ БУФЕР ЗАПОЛНЕН DCR В ; УМЕНЬШИТЬ СЧЕТЧИК JNZ UNP1 JMP UNPB TW2: CMC RAR INR А MOV В,А ; ДЛИНА СЕРИИ ОДИНАКОВЫХ БАЙТОВ CALL RDISK ; ЧИТАТЬ БАЙТ С К/ДИСКА INX Н MOV С,А TW3: MOV А, С STAX D ; ЗАПИСАТЬ В БУФЕР INX D MOV A,D CPI аан RZ ; ЗАКОНЧИТЬ, ЕСЛИ БУФЕР ЗАПОЛНЕН DCR В ; УМЕНЬШИТЬ СЧЕТЧИК JNZ TW3 JMP UNPa NAME: DB 'RISI.PC END Наличие промежуточного этапа - хранения развернутого массива в буфере
обусловлено тем, что многие операции, например создание перемещающихся
по экрану образов или преобразование изображения в инверсное, невозможно
проделать с упакованной информацией. С другой стороны, развернутый
графический массив обычно занимает большой объем ОЗУ, и упаковка таких
массивов совершенно необходима при одновременной работе с несколькими
образами. Журнал Радио № 9 1991 г. Описание графического редактора (v1.xx) "penx" приведено в журнале "Радио" № 8,9 за 1992 год. Работа в CP/M-80 программы и железо
Организация экранной памяти Орион128
Куплю платы, наборы микросхем 2716, 2732, 2764, 27128, 27256, 27512, 27c010, 27c801 на Орион-128, КР565РУ5В, КР565ру7В, к565ру5г AU, к565ру7г Au в позолоте, куплю микросхемы фирмы NEC, Intel, Oki
На предыдущую страницу На главную страницу На следующую страницу
|
||