Здравствуйте, гость ( Вход | Регистрация )
| SuperMax |
3.11.2023, 16:33
Сообщение
#1
|
![]() Администратор ![]() ![]() ![]() ![]() ![]() Группа: Root Admin Сообщений: 6 346 Регистрация: 7.1.2006 Из: Красноярск Пользователь №: 1 |
Работа с палитрами
документация по палитрам тут оба регистра доступны по записи и чтению, сохранение палитры осуществляется по записи в 177236 пример изменения дефолтной палитры RGB Код SetPal1: mov #177234,R0 mov #177236,R1 mov #256.,(R0) ; адрес палитры mov #10,(R1) ; значение палитры - был черный фон - теперь темно-синий inc (R0) mov #15446,(R1) ; значение палитры - был синий - стал - зеленый inc (R0) mov #77454,(R1) ; значение палитры - был зеленый - стал желтый inc (R0) mov #46614,(R1) ; значение палитры - был красный - стал коричневый return загрузка палитры 256 цветов Код mov #177234,R0 ; установка палитры mov #177236,R1 mov #newpal,R2 mov #256.,R3 clr R4 $rp0: mov R4,(R0) mov (R2)+,(R1) inc R4 sob R3,$rp0 newpal - метка массива палитры 256 цветов (256 слов) -------------------- Живы будем - Не помрем !
|
![]() ![]() |
| SuperMax |
14.2.2024, 18:21
Сообщение
#2
|
![]() Администратор ![]() ![]() ![]() ![]() ![]() Группа: Root Admin Сообщений: 6 346 Регистрация: 7.1.2006 Из: Красноярск Пользователь №: 1 |
Особенности программирования под AZБК
постараюсь подсветить моменты, которые могут быть не особо заметны, но важны 1. Включение/Выключение кадрового таймера 60Гц правильное включение Код bic #4,@#177346 ; 60Гц таймер! bis #10,@#177346 ; пуск таймера 60Гц безусловный (дабы не делать ветвлений в заисимости от машины) те я явно гашу бит 2 ибо он может остаться от какой-то другой программы которая включала 48Гц таймер те я задаю что мы хотим включить таймер 60Гц и следующим BIS-ом его включаем правильное выключение Код bic #10,@#177346 ; тормозим таймер 2. Пример входа/выхода из программы один из способов - сохранение регистров которые мы будем крутить - в стеке Код mov @#177230,-(SP) mov @#177232,-(SP) mov @#177324,-(SP) mov @#177326,-(SP) mov @#100, -(SP) ; сохраняем старые перехватчики mov @#102, -(SP) mov @#177340, -(SP) ; сохраним настройки памяти mov @#177342, -(SP) mov @#177344, -(SP) mov @#177352, -(SP) mov @#177346, -(SP) пояснение - вот это mov @#177352, -(SP) обеспечивает сохранение последней конфигурации памяти БК11М записанной в 177716 теперь мы хотим использовать память в окне 120000-137777 соответственно правильная последовательность действий Код mov #14020,@#177716 ; отключим оперативку в верхнем окне в БК11М bis #6000,@#177340 ; дополнительно включим окна 120 130 bic #6000,@#177342 ; выключм R/O если оно там было поясню - #14020,@#177716 командует БК11М что ей надо отключить окно 1 и подключить внешнее ПЗУ, которого фактически нет и окно получается свободным для подключения туда оперативки AZБК и вот только после этого мы явно активируем окна 120 130 ! такой подход обеспечит использование этого окна на абсолютно любой БК - вне зависимости от доработки окна 1 Если ПО работает со скролами - надо сбросить их на первоначальное значение или вообще вернуть их из стека если сохранение было (это будет полезно для программ под RT11 тк там вертикальный скрол возможен в консоли) Код clr @#177250 ; сбросим скролы на начальное значение clr @#177252 ; сбросим скролы на начальное значение пример возврата из стека настроек Код ; возврат настроек mov (SP)+,@#177346 mov (SP)+,@#177716 mov (SP)+,@#177344 mov (SP)+,@#177342 mov (SP)+,@#177340 mov (SP)+,@#102 mov (SP)+,@#100 mov (SP)+,@#177326 mov (SP)+,@#177324 mov (SP)+,@#177232 mov (SP)+,@#177230 JMP @#100000 -------------------- Живы будем - Не помрем !
|
SuperMax Программирование под AZБК 3.11.2023, 16:33
SuperMax Как можно доработать уже готовую игру для БК с исп... 6.11.2023, 22:02
SuperMax Модели памяти разных конфигураций БКшек доступных ... 7.11.2023, 11:05
SuperMax Работа с блиттером, блиттер доступен начиная v15b9... 17.12.2023, 13:23
SuperMax [b]Подготовка графической информации для использов... 25.12.2023, 21:44
SuperMax Работа с расширенной графикой напрямую - 256ти цве... 6.2.2024, 1:51
SuperMax Подготовка 16ти цветной графики на PC и вывод ее н... 24.1.2025, 15:35
SuperMax Демонстрация работы команды 047 - загрузки файла п... 9.5.2025, 13:55![]() ![]() |
| Текстовая версия | Сейчас: 29.10.2025, 10:04 |