IPB

Здравствуйте, гость ( Вход | Регистрация )

> Контроллер AZ BK: Обновления прошивки, AZБК firmware
SuperMax
сообщение 10.1.2021, 13:05
Сообщение #21


Администратор
*****

Группа: Root Admin
Сообщений: 6 290
Регистрация: 7.1.2006
Из: Красноярск
Пользователь №: 1



Прошивка 00001 тестовая
функционал:
- отображение в VGA экрана БКшки, цветной режим
- проверка работы STM32

должны отвечать регистры 177220-177226 (если читается только 177220 то значит Вы не вставили SD-карту с валидным набором образов - сейчас можно взять любой от ДВК/УКНЦ)
- проверка работы ПЛИС
должны отвечать регистры 177560-177566
- проверка работы SDRAM в байтовом режиме
должна отвечать оперативная память в адресах 160000-167776, читается младший байт, его значения можно изменять - те сохраненные значения потом должны читаться

ограничения:не пойдет на новоделе БК11М тк AZ нацелен отключить все ПЗУ, а эмуляция ПЗУ в замену еще не сделана


Процедура обновления firmware (прошивки) контроллера

прошивка нужна для:
- диагностики компонентов
- обучения процедуре обновления

Прикрепленный файл  00001.rar ( 86.66 килобайт ) Кол-во скачиваний: 1006






--------------------
Живы будем - Не помрем !
Пользователь в онлайне!Карточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
Ответить в эту темуОткрыть новую тему
Ответов
SuperMax
сообщение 18.1.2022, 19:26
Сообщение #22


Администратор
*****

Группа: Root Admin
Сообщений: 6 290
Регистрация: 7.1.2006
Из: Красноярск
Пользователь №: 1



Прошивка 00009


жирным новое (или измененное) в прошивке

функционал:

1. палитры, сделано расширение функционала механизма палитр
подробнее https://forum.maxiol.com/index.php?showtopic=5556

2. реализовано ручное переключение видеорежима (циклическое 1-2) по сочетанию AR2+KT
те можно спокойно переключать его в зависимости от программы не напрягаясь!

3. Реализовано отображение информации в консоли контроллера дисковой подсистемы и сети - переключается по АР2+РУС
соответственно выделена страница памяти под консоль

4. сделан маппер памяти + разделение по сегментам:
- область перехвата - те копия станиц оперативки
- область эмуляции ROM - выделил 256КБ под всякие ПЗУ которые будут подключаться как в эмуляторе из меню
- и вся остальная память
перехват запросов SMK сделан, но не включен

4. полный вывод VGA уже из SDRAM, переключение страниц
[пока без новых режимов, но они уже заложены в архитектуру]

5. Переделано

6. перехват переключения палитр БК11М
- доступ к памяти палитр с шины, чтение+запись
исправлены ошибки перехвата при обращении к нечетным адресам

7. Генератор псевдослучайных чисел - технически это LFSR длиной 128бит, младшие 16 в регистре доступном программно.
сдвиг идет с частотой 130MHz как следствие полностью новое слово доступно будет каждый процессорный такт

8. загрузка ПЗУ в память полностью реализована

9. Реализовано распознавание новодела БК11М и подключение ПЗУ

10. COVOX
набор регистров доступных и по чтению и по записи
177200 - 16bit левый канал
177202 - 16bit правый канал
177204 - 16bit моно, иначе говоря запись в этот регистр приводит к фактической одновременной записи в регистры 177200 и 177202
177206 - 8bit стерео/mono, иначе говоря запись в этот регистр приводит к фактической одновременной записи в
регистры 177200 и 177202 - в старший байт
режимы stereo/momo определяются по байтовой записи
те если писать слово в 177206 то это будет стерео
а если писать младший байт в 177206 то данные будут трактоваться как моно

запись в 177714 мультирежимная
ибо у нас есть 2 варианта ковокса
1. моно 8bit - запись в младший байт
2. стерео 8bit - МЛБ - левый СТБ-правый
переключать режимы через регистр 177212

соответственно запись в 177714
тоже приводит к фактической одновременной записи в 177200 и 177202
обеспечивая полную совместимость со старым софтом

Регистр управления звуком - 177212
биты:
00 - легаси перехват ковокса в 177714: 0=моно 1=стерео
01 - =0 разрешен легаси перехват 177714 =1 запрещен
02 - =0 разрешен перехват 177716 =1 запрещен
перехват спикера сделан 3х битный


11. DMA контроллер звука
177160 - регистр управления
регистр скорости чтения , режима интерпретации данных (8/16 моно стерео), повтора

00 - старт =1 старт
01 - =1 однократный запуск =0 циклический , при этом надо записать =0 в 3й бит
при циклическом запуске, запись 1цы даст останов после завершения цикла, с установкой в =1 бита3
02 - =1 принудительная остановка до завершения цикла
03 - на чтение =1 однократный запуск завершился, в начале сбрасывается на ноль, запись =1 не влияет на процесс
04 - =1 потоковое воспроизведение с подкачкой данных, актуально для IMA_ADPCM в этом режиме на стадии начала цикла не происходит сброса начальных кодов декодирования ADPCM

06-07-08 - скорость выдачи наружу
поддерживаемые скорости
0 - 44100

09-10-11 - режим интерпретации
09 - =0 моно =1 стерео
11 - =0 PCM =1 IMA_ADPCM
поддерживаемые режимы:
000-0 PCM 16 mono
100-4 IMA ADPCM DECODER mono
101-5 IMA ADPCM DECODER stereo


177162 - регистр адреса страницы с которой будем читать с дискретностью 10000 (4кБ)
177164 - старшая часть длины - 8бит
177166 - младшая часть длины - 16бит
177170 - номер текущей страницы воспроизведения

данные с DMA пойдут напрямую на микшер отдельным каналом

12. Legacy AY через 177714
работает автоопределение источника звука - или ковокс или AY

13. Сделан UART


адреса стандартные
177560 - регистр статуса приемника
177562 - регистр управления + регистр принятых данных
177564 - регистр статуса передатчика
177566 - регистр данных на передачу

177560 - регистр статуса приемника
бит 7 - флаг наличия данных: единица означает наличие принятых данных в регистре 177562
после чтения 177562 - флаг будет сброшен
регистр доступен на чтение
запись игнорируется, ошибки не взывает

177562
- по чтению - младший байт содержит принятые данные
- по записи - слово определяющее скорость, подробности ниже
дефолтное значение 32346(8) что соответствует стандартной скорости в 9600бод

177564 - регистр статуса передачика
бит 7 - флаг успешной передачи данных: единица означает что байт из регистра 177566 успешно передан в линию
после записи в 177566 - флаг будет сброшен тк начнется передача
регистр доступен на чтение
запись игнорируется, ошибки не взывает

177566 - регистр данных на передачу, используется младший байт, доступен на чтение и запись
после записи начинается передача в линию

Слово определяющее скорость - доступно только по записи

детальное описание UART в AZБК


14. Сделан конструктор видеорежимов

177230 - регистр управления
177232 - регистр номера страницы начала отображения

177230, далее пойдут биты с описанием
1;0 - режим цветовой интерпретации
4;3 - длина строки в словах
7;6 - растяжение по горизонтали - те количество повторов у точки
10;9 - количество повторов строк
15;12 - длина рулона в словах

теперь подробно
режим цветовой интерпретации, значение от 0 до 3
0 - 1 бит на цвет - 2 цвета
1 - 2 бита на цвет - 4 цвета
2 - 4 бита на цвет - 16 цветов
3 - 8 бит на цвет - 256 цветов

длина строки в словах
0 - 32 слова
1 - 64
2 - 128
3 - 256
это значение должно соответствовать вашему режиму - иначе будут повторы или пропуски данных
расчет прост - к примеру мы выбрали 512х384х16 цветов
считаем 512точек х 4 бита = 2048бит /16 = 128 слов

растяжение по горизонтали - те количество повторов у точки
0 - х1 - те 1024 точки в строке
1 - х2 - 512
2 - х3 - 256
3 - х4 - 128

количество повторов строк
0 - х1 - 768 строк
1 - х2 - 384
2 - х3 - 256
3 - х4 - 192

длина рулона в словах
0 6144
1 8192
2 12288
3 16384
4 24576
5 32768
6 49152
7 65536
8 98304
9 131072
10 196608
11 262144
длина дает информацию контроллеру для корректной работы вертикального скролинга
и важный момент - длина рулона может быть БОЛЬШЕ чем экран
иначе говоря можно объявить экран в 32кБ (к примеру 256х256х16цветов )
а рулон выбрать в 64кБ, что позволит осуществлять формирование того что выйдет на экран ЗА его пределами ДО его вывода рулоном

типовые видеорежимы (значение восьмеричные)
012201 - 256х256х4цвета (экран 16кБ)
012100 - 512х256х2цвета (экран 16кБ)
032212 - 256х256х16цветов (экран 32кБ)

регистр 177232 - адрес страницы начала отображения
те можно начинать отображение с любой страницы в памяти

Важно! видеорежимы в состоянии "beta" те я не провел полного тестирования

должны отвечать регистры
SOUND
177160-177170
177200-177212
AZ
177220-177226
дебаг
177100-177106
регистры палитр - уже можно экспериментировать
177230 - видеорежимы
177232 - номер легаси страницы
177234 - адрес ячейки палитры [9бит]
177236 - значение палитры [15бит]
маппер памяти
177300-350
загрузчик
177000
177550 - генератор псевдослучайных чисел
177560-177566 - UART

После reset машина стартует автоматически и загружается со первого образа в ini-файле

В архиве обновленное AZBOOT.ROM - не забудьте обновить
также утилита VGAMON.SAV для RT11 которая переключает в режим mono 512x256
AZBK_00009.hex без изменений относительно 5й версии, те надо обновить только прошивку ПЛИС


Прикрепленный файл  00009.rar ( 224.29 килобайт ) Кол-во скачиваний: 705



RT11 + IMA player
Прикрепленный файл  MicroSD_image_2022_01_18_v9_RT11_IMA.rar ( 46.85 мегабайт ) Кол-во скачиваний: 688




--------------------
Живы будем - Не помрем !
Пользователь в онлайне!Карточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Сообщений в этой теме
SuperMax   Контроллер AZ BK: Обновления прошивки   10.1.2021, 13:05
SuperMax   Прошивка 00002 функционал: 1. палитры, сде...   8.5.2021, 14:49
SuperMax   Прошивка 00003 функционал: 1. палитры, сдел...   14.6.2021, 1:59
SuperMax   Прошивка 00004 является небольшой коррекцией преды...   29.6.2021, 0:55
SuperMax   Образ дисков для RT11 c исправленной ПЗУ RT11 ко...   17.7.2021, 19:03
SuperMax   Прошивка 00005 функционал: 1. палитры, сделано р...   6.8.2021, 17:25
SuperMax   Обновление ПЗУ для версии 00005 обновление - вкл...   14.8.2021, 11:56
SuperMax   Набор с 8ю дисками - игрушки последний диск АОД...   14.8.2021, 12:41
SuperMax   Прошивка 00005_2 - обновление для поддержки 32х ди...   15.8.2021, 17:48
SuperMax   Комплект RT11 для БК автоматическая загрузка идет...   27.8.2021, 1:21
SuperMax   Прошивка 00006 жирным новое в прошивке функцион...   5.9.2021, 20:15
SuperMax   Прошивка 00007 жирным новое в прошивке функцион...   4.10.2021, 12:16
SuperMax   Прошивка 00008 жирным новое в прошивке функцион...   9.12.2021, 21:59
SuperMax   Сделал поддержку БК-0010-01 проверено на БК-0010-0...   11.1.2022, 1:21
SuperMax   Прошивка 00009 жирным новое (или измененное) в п...   18.1.2022, 19:26
SuperMax   Прошивка 00010 жирным новое (или измененное) в п...   29.5.2022, 13:52
SuperMax   Прошивка 00011 жирным новое (или измененное) в п...   11.6.2022, 22:57
SuperMax   Прошивка 00012 жирным новое (или измененное) в п...   29.6.2022, 22:50
SuperMax   Прошивка 00012 bugfix исправление ошибок в слоях...   3.7.2022, 21:33
SuperMax   Прошивка 00013 начало глобальных изменений: это пр...   26.11.2022, 16:57
SuperMax   Обновление ПЗУ исправлен первый (холодный) старт   27.11.2022, 23:27
SuperMax   Прошивка 00014beta продолжение глобальных изменени...   19.12.2022, 23:07
SuperMax   Прошивка 14beta2 [b]В архиве обновленное - надо п...   22.12.2022, 0:09
SuperMax   Прошивка 00014 фиксация глобальных изменений...   20.3.2023, 13:32
SuperMax   Прошивка 00015 beta 5 фиксация глобальных изменен...   6.2.2024, 13:07
SuperMax   Прошивка 00015 beta 6 данная прошивка является ба...   15.2.2024, 18:07
SuperMax   Прошивка 00015 beta 7 прошивка добавляет ручной р...   17.2.2024, 15:00
SuperMax   Прошивка 00015 beta 8 в прошивке переработано A...   1.5.2024, 19:31
SuperMax   Прошивка 00015 beta 9 в прошивке переработано A...   16.5.2024, 17:44


Ответить в эту темуОткрыть новую тему
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 1.6.2024, 17:45