![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
SuperMax |
![]() ![]()
Сообщение
#1
|
![]() Администратор ![]() ![]() ![]() ![]() ![]() Группа: Root Admin Сообщений: 6 341 Регистрация: 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 |
![]()
Сообщение
#2
|
![]() Администратор ![]() ![]() ![]() ![]() ![]() Группа: Root Admin Сообщений: 6 341 Регистрация: 7.1.2006 Из: Красноярск Пользователь №: 1 ![]() |
Модели памяти разных конфигураций БКшек доступных в AZБК
стоит заострить внимание на их различии, и способах создания универсального ПО с использованием AZБК думаю, те, кто изучали документацию на маппер SMK уже поняли, что это "нечто с чем-то" на всякий случай напомню, только не пугайтесь Код теневые и прямые регистры управления памятью в SMK512 Память в контроллерах "АльтПро" разбита на страницы по 32 Кб, части (сегменты) одной такой страницы подключаются в области адресов 100000-177777, сегменты разных страниц одновременно подключить нельзя! Сегментами ниже называются фрагменты памяти по 10000 байт. (4кБ) Название режима Start Std10 ОЗУ10 All Std11 ОЗУ11 HLT10 HLT11 ------------------------------------------------------------------------------------------------------ Код включения 8 160 60 120 20 140 40 100 20000 Код включения 2 1 110 000 110 000 1 010 000 10 000 1 100 000 100 000 1 000 000 10 000 000 000 000 Откл. мон. БК10 + + + + Откл. мон. БК11M + + + + Откл.окна1 БК11M + + + + ------------------------------------------------------------------------------------------------------ 170000-177777 ПЗУ 7 7 3 7 7 7 7 160000-167777 ПЗУ ПЗУ 6 2 ПЗУ 6 6R/6 6 ------------------------------------------------------------------------------------------------------ 150000-157777 1 5 5 0 - 5 5 5 140000-147777 0 4 4 1 - 4 4 4 ------------------------------------------------------------------------------------------------------ 130000-137777 7 3 3 7 - - 3 - 120000-127777 6 2 2 6 - - 2 - ------------------------------------------------------------------------------------------------------ 110000-117777 - - 1 5 - - 1 - 100000-107777 - - 0 4 - - 0R - ------------------------------------------------------------------------------------------------------ SYS - используется для запуска, пересылки данных на БК10 и RAM-BIOS'ом (он - всегда в 0-й странице); Std10, Std11 - стандартные, традиционные режимы работы для БК10 и 11М соответственно, Std10 используется также для пересылки данных на БК10; ОЗУ10 - вместо монитора БК10 и ПЗУ-160000 подключается ОЗУ (на многих БК10 требуется простая доработка, иначе доп. ОЗУ подключается параллельно ПЗУ монитора и приходится записывать в это ОЗУ копию монитора); используется также для доступа к доп. памяти на БК11М; All - позволяет на БК10 подключить ОЗУ ко всему адресному пространству, что используется для загрузки копии Вильнюсского Бейсика; применяется также для доступа к доп. памяти на БК11М; ОЗУ11 - подключение ОЗУ вместо ПЗУ на БК11М, для отключения ПЗУ монитора БК11М простая доработка требуется всегда; Hlt10, Hlt11 - открывают доступ к HALT-режиму процессора на БК10 и БК11М соответственно. Максимально "продвинутые" режимы: везде, где можно, подключается ОЗУ вместо ПЗУ и на БК10 нижняя часть ОЗУ монитора защищена от записи (квази-ПЗУ) для повышения глюкоустойчивости. пугаться не будем и вернемся к вариантам конфигураций памяти БКшек которые могут существовать ![]() легенда МОНИТОР - наличие доработки (или штатного функционала) его отключающей 037 - наличие доработки его отключающей пояснения изначально существовало 3 типа БК 0010(01) - первые с фокалом, ПЗУ не отключалось аппаратно при установке внешних устройств. нужна доработка - БКшки с бейсиком который отключался аппаратно - см варианты - БКшки с мягкой клавиатурой - у них отключается не только бейсик но и ПЗУ монитора добавилась новая конфигурация БКшки с возможностью отключить работу 037й для эмуляции БК11М БК11М изначально два вида - обычная БК11М не содержит в себе возможности отключения ПЗУ монитора - новодел БК11М от Воланда - есть опция отключения ПЗУ монитора добавляется конфигурация с отключенной 037й (я еще такого не делал, но такая конфигурация будет) Соответственно можно нарисовать худшую для программиста универсальную конфигурацию: ![]() тут мы рассматриваем конфигурацию памяти которая будет доступна на любой БКшке с AZБК (стартовое ПЗУ и SETUP как раз работают в таких ограничениях) те у нас может быть закрыто ПЗУшками монитора пространство 100-117k и 140-157k и доступны для подключения страниц AZБК только окна 120-137k (2 окна по 4кБ) и 160-177k (2 окна по 4кБ, но у второго хвост обрезан) Для создания простых универсальных программ (те которые вообще не вдаются в тип БК и ее конфигурацию памяти) эта конфигурация получается наиболее интересной тк мы просто пишем программу как хотим. Однако, с точки зрения программирования, куда более удобна конфигурация с отключенным монитором: ![]() тут мы видим что первые 32кБ всё еще приколочены к БК, но зато верхние доступны для маппирования туда страниц AZБК кстати именно в такой конфигурации работает Принц Эта конфигурация удобна для создания серьезных программных продуктов которые нуждаются в большом количестве памяти одновременно доступной Есть еще и исключительная конфигурация, которая пока сделана на БК-0010, но будет и на БК-0011М ![]() в этой конфигурации легко создать мультизадачную ОС тк вся память - только память AZБК данная конфигурация скорее всего потребуется для самых крутых продуктов, но пока могу сказать, что она пока мало распространена, увы. FAQ Q: А можно что-то делать с ПЗУ которое желтое с пометкой FAST ROM? A: Да, конечно, это окно памяти куда можно подключить всё, что угодно, просто там по-умолчанию ПЗУ КНГМД или ПЗУ монитора. Q: У меня БК без доработки монитора - я правильно понимаю, что доработка отключения монитора очень важна ? A: Да, это наиболее массовая конфигурация ибо она дает программисту уже 32кБ свободной для фантазии памяти. Q: Правильно ли я понимаю, что в случае с AZБК экран может быть в любом месте ? A: Да, совершенно верно - вы можете смело расположить программу с 0 до 77777, а экран подключать страницами со 120k или с 100k - или вообще прокручивать страницами со 160k - делайте как Вам удобно! AZБК не накладывает ограничений! -------------------- Живы будем - Не помрем !
|
![]() ![]() |
Текстовая версия | Сейчас: 20.6.2025, 2:03 |