Контроллер AZ BK: Документирование процесса разработки, на основании этой темы будет сформирована техническое описание |
Здравствуйте, гость ( Вход | Регистрация )
Контроллер AZ BK: Документирование процесса разработки, на основании этой темы будет сформирована техническое описание |
SuperMax |
20.1.2021, 20:37
Сообщение
#1
|
Администратор Группа: Root Admin Сообщений: 6 286 Регистрация: 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 килобайт ) Кол-во скачиваний: 75 начиная с v15 базовая палитра изменена v2.8 от 2024.02.07 palette_calc28.xlsm ( 107.53 килобайт ) Кол-во скачиваний: 33 изменения косметические, касаются только палитры 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 справа получаем как этот цвет выглядит (надо включить макросы) и восьмеричные значения цвета номер палитры - в столбце номер цвета Как включить макросы в эксельке идем в настройки -------------------- Живы будем - Не помрем !
|
SuperMax |
8.5.2021, 14:13
Сообщение
#2
|
Администратор Группа: Root Admin Сообщений: 6 286 Регистрация: 7.1.2006 Из: Красноярск Пользователь №: 1 |
Загрузка ПЗУ
Пример az.ini Код [ROM] R00=0:/rom/AZBOOT.ROM R08=0:/rom/bz326.rom R11=0:/rom/HDD326.ROM R16=0:/rom/11m_324.rom R18=0:/rom/11m_325.rom R20=0:/rom/11m_327.rom R22=0:/rom/11m_328.rom R24=0:/rom/11m_329.rom [disks] D0=0:/disks/AG.IMG D1=0:/disks/ANSYS.IMG D2=0:/disks/CSI_321B.IMG D3=0:/disks/CSI_321R.IMG D4=0:/disks/fortra.dsk D5=0:/disks/51SYS_DS.DSK D6=0:/disks/51DS_BK.DSK D7=0:/disks/BK326.IPL [boot] D7 Секция ROM обязательна и всегда должна быть первой привязка основных ROMов будет статична тк является ключевой для эмуляции стандартного набора ПЗУ разных БК разберем строчку: Код R00=0:/rom/AZBOOT.ROM R00 - номер слота куда будет загружено ПЗУ нумерация от R00 до R63 (весь сегмент ПЗУ - 256кБ - соответственно всего 64слота) соответственно если ПЗУ 8кБ то она займет 2 слота Код 0:/rom/AZBOOT.ROM тут очевидно путь к файлу Распределение адресного пространства ПЗУ обращаю внимание на то, что физический адрес - словный столбец окно маппера как раз показывает номер для мапирования те для подключения ПЗУ AZ326.ROM которое загружено с адреса 440'000(8) мы должны занести в регистр слота - в нашем случае 177334 (тк мы подключаем в окно 160'000(8)), значение 110(8) Если мы хотим подключить длинное ПЗУ которое занимает два слота маппера то надо указать оба Код mov #120,@#177330 ; окно 140000-147777 mov #121,@#177332 ; окно 150000-157777 bis #30000,@#177340 ; включаем страницы -------------------- Живы будем - Не помрем !
|
Текстовая версия | Сейчас: 24.4.2024, 8:23 |