Здравствуйте, гость ( Вход | Регистрация )
| SuperMax |
20.1.2021, 20:37
Сообщение
#1
|
![]() Администратор ![]() ![]() ![]() ![]() ![]() Группа: Root Admin Сообщений: 6 381 Регистрация: 7.1.2006 Из: Красноярск Пользователь №: 1 |
Палитры V2
управление палитрами осуществляется через 2 регистра палитры первый (177234) - адрес ячейки палитры второй(177236) - значение палитры 15bit адреса ячеек палитры будут начинаться с большей Код нумерация кодов цветов палитра коды цветов (адреса ячеек палитры) 256 0-255 4х16 256-319 16 320-335 2 336-337 так получается полностью независимые палитры без пересечений + явный дубль стандартного функционала палитр, те можно переключать палитры как и ранее, но теперь доступна опция настройки каждой штатной палитры! и как следствие палитры не надо будет перегружать при переключении видеорежима для удобства формирования палитр сделал эксельку v2.6 от 2023.11.07
palette_calc26.xlsm ( 102.97 килобайт )
Кол-во скачиваний: 3064начиная с v15 базовая палитра изменена v2.8 от 2024.02.07
palette_calc28.xlsm ( 107.53 килобайт )
Кол-во скачиваний: 2901изменения косметические, касаются только палитры 256 цветов - ее начало изменено на 32 градации серого тк в стандартной WEB-safe которая взята за базу, такого набора градаций серого почему-то нет эта палитра загружена в ПЛИС, а также перегружается при запске явно. именно эта палитра используется при конвертации графики этим конверетером https://master.pdp-11.ru/picword3/picword.php основная задача этой эксельки - сформировать файл mif для загрузки дефолтной палитры при старте ПЛИС также она пригодится разработчикам для пересчета цветов в 15bit пояснения к блоку 4x16 256-319 это 16 наборов палитры, изначально туда грузятся штатные значения, но их можно менять на любые! нумерация прямая - те нулевая палитра это 256-257-258-259 ячейки следующие 4 ячейки это 1ая палитра и так далее управление палитрами осуществляется через 2 регистра 177234 - адрес ячейки палитры [9бит] 177236 - значение палитры [15бит] Код РЕГИСТРЫ УПРАВЛЕНИЯ ПАЛИТРАМИ АДРЕС = 177234 ФОРМАТ РЕГИСТРА ┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐ │15│14│13│12│11│10│09│08│07│06│05│04│03│02│01│00│ └──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘ │ │ └────АДРЕС ПАЛИТРЫ───────┘ Доступен по чтению и записи АДРЕС = 177236 ФОРМАТ РЕГИСТРА ┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐ │15│14│13│12│11│10│09│08│07│06│05│04│03│02│01│00│ └──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘ │ │ └──────────ЗНАЧЕНИЕ ПАЛИТРЫ────────────────┘ Доступен по чтению и записи Палитра 15bit ┌──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┬──┐ │14│13│12│11│10│09│08│07│06│05│04│03│02│01│00│ └──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘ └─────RED────┘ └───GREEN───┘ └────BLUE────┘ формулу формирования цвета цвет на выходе = VideoModeOffset + PaletteOffset + ColorIndex ; VideoModeOffset - смещение видеорежима cмещение - кол-во цветов (значения десятичные) 0 - 256 256- 4 х16 320- 16 336- 2 PaletteOffset существует только для штаного видеорежима 4 цвета во всех остальных случаях =0 номер палитры - смещение 0 - 0 1 - 4 2 - 8 итд ColorIndex - непосредственно номер цвета в видеорежиме, начиная с 0 Примеры работы с палитрой надо загрузить новые значения для 16ти цветной палитры для этого мы последовательно пишем 320.-> 177234 те устанавливаем адрес палитры теперь мы можем записать значение <новое значение> -> 177236 (также после установки адреса палитры мы можем ее и считать) Примеры работы с экселькой к примеру делаем новые значения для 16ти-цветой палитры слева вводим стандартные RGB значения в hex справа получаем как этот цвет выглядит (надо включить макросы) и восьмеричные значения цвета номер палитры - в столбце номер цвета Как включить макросы в эксельке идем в настройки Утилита-пикер формирующая 15ти-битный цвет AZБК от автора БК-Арена
color15bit.exe ( 2.05 мегабайт )
Кол-во скачиваний: 1279Визуальный редактор палитры 256 цветов https://master.pdp-11.ru/azbk_palette_edito...tte_editor.html -------------------- Живы будем - Не помрем !
|
![]() ![]() |
| SuperMax |
11.6.2026, 21:49
Сообщение
#2
|
![]() Администратор ![]() ![]() ![]() ![]() ![]() Группа: Root Admin Сообщений: 6 381 Регистрация: 7.1.2006 Из: Красноярск Пользователь №: 1 |
Конфигурация сохраняемая в служебной странице 77:
данную страницу использует стартовое ПЗУинформацию отсюда можно использовать для определения конфигурации или иных целейотсюда читать быстрее чем из других источников Код ; в оперативке сохраняем MEMPAGE = 130000 ; сюда подключена 77ая страница при вызова TRAPов ; блок CMOS-памяти ADREEPROMMEM = MEMPAGE+3000 ; буфер энергонезависимую память резерв 512. байт ADREEPROMMEMOFF = ADREEPROMMEM+2 ; смещение на слово тк оно есть результат чтения CMOS_NVRAM = ADREEPROMMEMOFF+0 ;.#123456;признак реальных данных CMOS_CSUM = ADREEPROMMEMOFF+2 ; chksum CMOS_TZ = ADREEPROMMEMOFF+4 ; ctz: .b:24 ;tz в получасах CMOS_FASTBOOT = ADREEPROMMEMOFF+5 ; cfboot: .+1 ;fast boot CMOS_FLOPPY_A = ADREEPROMMEMOFF+6 ; cflopa: .+1 ;=1 включен CMOS_FLOPPY_B = ADREEPROMMEMOFF+7 ; cflopb: .+1 ;=1 включен CMOS_DEM = ADREEPROMMEMOFF+10 ; cidem: .+1 ; IDE master CMOS_DES = ADREEPROMMEMOFF+11 ; cides: .+1 ; IDE slave CMOS_KEYB = ADREEPROMMEMOFF+12 ; ckeyb: .+1 ; =1 PS/2 CMOS_EM_11M = ADREEPROMMEMOFF+13 ; cemu11: .+1 ; =1 эмуляция 11М на 10 CMOS_EM_SMK = ADREEPROMMEMOFF+14 ; cemsmk: .+1 ; эмуляция SMK CMOS_VSYNC = ADREEPROMMEMOFF+15 ; cvsync: .+1 ; 0=VSYNC48 1=VSYNC60 CMOS_SPK = ADREEPROMMEMOFF+16 ; cspeak: .b:0 ;0=перехват 177716 4=off CMOS_AYYM = ADREEPROMMEMOFF+17 ; csnd: .b:0 ;0=YM 10=AY CMOS_COVOX = ADREEPROMMEMOFF+20 ; ccovox: .b:1 ;0=on 2=off CMOS_AZMAPP = ADREEPROMMEMOFF+21 ; cfsram: .b:0 ;1=on CMOS_WSND = ADREEPROMMEMOFF+22 ;22,23 wsnd: .#0;ccovox+cspeak+csnd ;0: 0=covox mono 1=stereo ;1: 0=covox on 1=off ;2: 0=speaker on 1=off ;3: 0=YM 1=AY CMOS_BK11ROM = ADREEPROMMEMOFF+24 ; эмуляция ПЗУ 11М CMOS_DHCP = ADREEPROMMEMOFF+25 ; cipset: .+1;dhcp on/off CMOS_IP_ADDR = ADREEPROMMEMOFF+26 ; cipadr: .+4 CMOS_MASK = ADREEPROMMEMOFF+32 ; cnmask: .+4 CMOS_GW = ADREEPROMMEMOFF+36 ; cnipgw: .+4 CMOS_DNS1_IP = ADREEPROMMEMOFF+42 ; cndns1: .+4 CMOS_DNS2_IP = ADREEPROMMEMOFF+46 ; cndns2: .+4 CMOS_NTP_IP = ADREEPROMMEMOFF+52 ; cntpip: .+4 CMOS_MACADDR = ADREEPROMMEMOFF+56 ; cipmac: .+6;mac CMOS_HOSTNAME = ADREEPROMMEMOFF+64 ; thstnm: .+40;hostname ;CMOS_= ADREEPROMMEMOFF+120; .b:0;eos CMOS_BOOT1 = ADREEPROMMEMOFF+125; cboot1: .+1;номер диска из AZ.INI CMOS_BOOT2 = ADREEPROMMEMOFF+126; cboot2: .b:377;377=free CMOS_BOOT3 = ADREEPROMMEMOFF+127; cboot3: .b:377 CMOS_BOOT4 = ADREEPROMMEMOFF+130; cboot4: .b:377 CMOS_BOOT5 = ADREEPROMMEMOFF+121; cboot5: .b:377 CMOS_BOOT6 = ADREEPROMMEMOFF+122; cboot6: .b:377 CMOS_BOOT7 = ADREEPROMMEMOFF+123; cboot7: .b:377 CMOS_BOOT8 = ADREEPROMMEMOFF+134; cboot8: .b:377 ; HOF CMOS_HOF_AUTO = ADREEPROMMEMOFF+200; =0 опция облачной интеграции =1 включена CMOS_HOF_REPORTS= ADREEPROMMEMOFF+201; =0 опция выключена =1 включена CMOS_HOF_NICK = ADREEPROMMEMOFF+202; никнейм пользователя, длина NICKNAME до 16 символов, два ноля в конце CMOS_HOF_PASS = ADREEPROMMEMOFF+224; длина PASSWORD - 16 символов , два ноля в конце ; cмещения MEMCONF_W2_OFFS = 400 MEMCONF_W3_OFFS = 402 MEMCONF_W4_OFFS = 404 MEMCONF_W5_OFFS = 406 MEMCONF_W6_OFFS = 410 ; адреса MEMCONF_W2 = MEMPAGE+MEMCONF_W2_OFFS ; тип памяти в окне 100-117 MEMCONF_W3 = MEMPAGE+MEMCONF_W3_OFFS ; тип памяти в окне 120-137 MEMCONF_W4 = MEMPAGE+MEMCONF_W4_OFFS ; тип памяти в окне 140-157 MEMCONF_W5 = MEMPAGE+MEMCONF_W5_OFFS ; тип памяти в окне 160-167 MEMCONF_W6 = MEMPAGE+MEMCONF_W6_OFFS ; тип памяти в окне 170-176 PRESSKEYSTARTOFF= 420 ; смещение PRESSKEYSTART = MEMPAGE+PRESSKEYSTARTOFF; код нажатой кнопке при надписи нажмите KT ADRTMPSTR = MEMPAGE+2000; буфер под строку, динамический, резерев 512. байт Решил опубликовать исходники стартового ПЗУ
AZBOOT_ROM3_2026_06_11__1.RAR ( 17.58 мегабайт )
Кол-во скачиваний: 116-------------------- Живы будем - Не помрем !
|
SuperMax Контроллер AZ BK: Документирование процесса разработки 20.1.2021, 20:37
SuperMax Для Legacy видеорежимов реализовано циклическое п... 15.4.2021, 1:24
SuperMax [b]Модель управления памятью в AZ V2 с поддержкой ... 16.4.2021, 11:52
SuperMax Генератор псевдослучайных чисел
технически это LF... 4.5.2021, 14:16
SuperMax Консоль контроллера
основное назначение - отладка... 8.5.2021, 14:10
SuperMax Загрузка ПЗУ
Пример az.ini
[ROM]
R00=0... 8.5.2021, 14:13
SuperMax Стартовая последовательность
1. После нажатия RES... 14.6.2021, 0:12
SuperMax Индикация режимов работы
AZБК снабжен RGB сетодио... 19.6.2021, 15:36
SuperMax Кнопка перезапуска (RESET) на AZ
изначально, подра... 19.6.2021, 16:10
SuperMax Проект звуковой части
1. COVOX - уже реализован
н... 17.7.2021, 22:45
SuperMax По заявкам телезрителей родилась еще более новая в... 21.12.2021, 2:48
SuperMax UART (RS-232 EIA-232 COM ком-порт)
адреса стандар... 16.1.2022, 23:56
SuperMax К расширенным видеорежимам добавились слои (редак... 17.6.2022, 20:18
SuperMax Блиттер (описание соответствует версии v15b9 и дал... 24.9.2023, 12:33![]() ![]() |
| Текстовая версия | Сейчас: 12.7.2026, 8:36 |