Важная информация

User Tag List

Страница 20 из 23 ПерваяПервая ... 1617181920212223 ПоследняяПоследняя
Показано с 191 по 200 из 224

Тема: AZ для БК-0011М

  1. #191
    Master
    Регистрация
    03.07.2021
    Адрес
    г. Кировск
    Сообщений
    735
    Спасибо Благодарностей отдано 
    54
    Спасибо Благодарностей получено 
    123
    Поблагодарили
    110 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от SuperMax Посмотреть сообщение
    добавление 2xAY
    Раз уж под них отдельные регистры - может, сделать их и на чтение? Или это уже сделано?
    Потому что в БК стандартный способ работы с AY (177714) не подразумевает чтение данных, а было бы хорошо.
    Например, всякие там анализаторы-музыкалки, работающие, в основном, по читаемым из AY данным (ну, на Спектруме).

  2. #192
    Activist
    Регистрация
    19.04.2013
    Адрес
    г. Чебоксары
    Сообщений
    457
    Спасибо Благодарностей отдано 
    11
    Спасибо Благодарностей получено 
    99
    Поблагодарили
    78 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от reddie Посмотреть сообщение
    Раз уж под них отдельные регистры - может, сделать их и на чтение?
    Нет смысла. Ибо чтение было бы полезно при модификации данных, а регистры AY - байтовые, а у PDP-11нет байтовых арифметических команд.
    Цитата Сообщение от reddie Посмотреть сообщение
    всякие там анализаторы-музыкалки, работающие, в основном, по читаемым из AY данным
    могут спокойно читать эти данные из буфера, где они подготавливаются для засылки в регистры AY.

  3. #193
    Moderator
    Регистрация
    25.08.2012
    Адрес
    г. Красноярск
    Сообщений
    1,038
    Спасибо Благодарностей отдано 
    235
    Спасибо Благодарностей получено 
    287
    Поблагодарили
    204 сообщений
    Mentioned
    19 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от reddie Посмотреть сообщение
    Раз уж под них отдельные регистры - может, сделать их и на чтение? Или это уже сделано?
    Потому что в БК стандартный способ работы с AY (177714) не подразумевает чтение данных, а было бы хорошо.
    Например, всякие там анализаторы-музыкалки, работающие, в основном, по читаемым из AY данным (ну, на Спектруме).
    конечно, регистры доступны на чтение
    Все о БК ДВК УКНЦ VAX Alpha

    Архив ПО для ретрокомпьютеров

    предоставляю бесплатный хостинг на PDP-11.RU для проектов о ретрокомпьютерах

  4. #194
    Master
    Регистрация
    03.07.2021
    Адрес
    г. Кировск
    Сообщений
    735
    Спасибо Благодарностей отдано 
    54
    Спасибо Благодарностей получено 
    123
    Поблагодарили
    110 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от gid Посмотреть сообщение
    регистры AY - байтовые, а у PDP-11нет байтовых арифметических команд
    Ничто не мешает выполнить SWAB и заниматься арифметикой =) Ну и работать потом либо со старшим байтом, либо опять SWAB.
    Либо обнулить старший байт и получить восьмибитное значение, что еще проще.

    Цитата Сообщение от gid Посмотреть сообщение
    могут спокойно читать эти данные из буфера, где они подготавливаются
    Это если прога знает, где буфер (сама же и готовит его). Сторонняя прога, работающая с готовым модулем, понятия о нем не имеет.
    Вот почему на Спектруме и брали значения громкостей и пр. напрямую из AY после вызова плеера. Которых может быть несколько разных.

    Цитата Сообщение от SuperMax Посмотреть сообщение
    конечно, регистры доступны на чтение
    То есть читается их них то, что туда пишут? Тогда отлично =)

  5. #195
    Member
    Регистрация
    18.01.2021
    Адрес
    п. Новый Ургал
    Сообщений
    137
    Спасибо Благодарностей отдано 
    28
    Спасибо Благодарностей получено 
    63
    Поблагодарили
    29 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от SuperMax Посмотреть сообщение
    Провел большую переработку проекта
    разделил клоки на 130MHz и 65MHz
    теперь большая часть проекта работает на 65MHz, на 130MHz осталась только оперативка - SDRAM

    следствие переработки - теперь доступны новые горизонты и к примеру добавление 2xAY и вчера, благодаря оперативности Kuvo испытания 2хAY прошли успешно!
    Супер!
    Блог проекта "The Goonies для БК11М"
    БК-0011М, БК-0011М-01, SMK-512, AZ

  6. #196
    Moderator
    Регистрация
    25.08.2012
    Адрес
    г. Красноярск
    Сообщений
    1,038
    Спасибо Благодарностей отдано 
    235
    Спасибо Благодарностей получено 
    287
    Поблагодарили
    204 сообщений
    Mentioned
    19 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Прошивка 00010

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

    функционал:

    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 в регистре доступном программно.
    сдвиг идет с частотой 65MHz как следствие полностью новое слово доступно будет каждый процессорный такт

    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х битный
    03 - =0 YM2149 =1 AY8910 тип эмуляции PSG


    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 - изменена базовая частота - теперь это не 130MHz а 65MHz

    адреса стандартные
    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" те я не провел полного тестирования

    15. Добавлена эмуляция 2xAY
    сложение каналов по форумуле
    R=A1+A2+B1+B2
    L=C1+C2+B1+B2

    Прямая доступность регистров на шине, а именно доступны байтовые регистры
    177172 - адрес AY1
    177173 - данные AY1
    177174 - адрес AY2
    177175 - данные AY2




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



    Контроллер AZ BK: Прошивка 00010
    Все о БК ДВК УКНЦ VAX Alpha

    Архив ПО для ретрокомпьютеров

    предоставляю бесплатный хостинг на PDP-11.RU для проектов о ретрокомпьютерах

  7. Этот пользователь поблагодарил SuperMax за это полезное сообщение:

    Dennion (02.06.2022)

  8. #196
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  9. #197
    Moderator
    Регистрация
    25.08.2012
    Адрес
    г. Красноярск
    Сообщений
    1,038
    Спасибо Благодарностей отдано 
    235
    Спасибо Благодарностей получено 
    287
    Поблагодарили
    204 сообщений
    Mentioned
    19 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Итак, благодаря помощи GRF, я разобрался с особенностями SMK в плане отключения окна 1. [все изначально было сделано правильно кроме этого хака]

    Теперь на AZБК запускается Принц, но потребуется новая прошивка ПЛИС и доработка.

    Подробнее тут
    https://forum.maxiol.com/index.php?showtopic=5593




    Вопрос теперь - чем заняться дальше ?

    в беклоге есть следующие задачи

    1. сделать переход в аварийный режим в случае ошибки с конфигом
    аварийный режим
    - помигает светодиодом - код ошибки
    - включит сеть
    - добавит запись в лог ошибок старта

    2. Часы с календарем, питание от 2032

    3. Синхронизация часов через Internet

    4. Энергонезависимая память для сохранения настроек звука, конфигурации

    5. таймер с прерыванием 50/60Гц втч и для работы AY на БК-0010

    6. КНГМД - дабы можно было работать с дискетами

    7. поддержка образов FAT12 в WEBDAV

    8. поддержка образов микродос в WEBDAV

    9. поддержка образов CSIDOS в WEBDAV

    10. OPL2

    11. эмуляция HDD
    Все о БК ДВК УКНЦ VAX Alpha

    Архив ПО для ретрокомпьютеров

    предоставляю бесплатный хостинг на PDP-11.RU для проектов о ретрокомпьютерах

  10. #198
    Moderator
    Регистрация
    25.08.2012
    Адрес
    г. Красноярск
    Сообщений
    1,038
    Спасибо Благодарностей отдано 
    235
    Спасибо Благодарностей получено 
    287
    Поблагодарили
    204 сообщений
    Mentioned
    19 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Прошивка 00011


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

    функционал:

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

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

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

    4. сделан маппер памяти + разделение по сегментам:
    - область перехвата - те копия станиц оперативки
    - область эмуляции ROM - выделил 256КБ под всякие ПЗУ которые будут подключаться как в эмуляторе из меню
    - и вся остальная память
    - перехват запросов SMK сделан и работает - все запросы к нему управлению режимами через 177130 транслируются в запросы к AZ-менеджеру памяти.
    - добавлена возможность хака с отключением окна 1 со 100'000 до 137'777. Более подробно описано тут.

    - добавлен RPLY для служебных страниц (с 40 по 77ую включительно)
    эти страницы будут иметь специальное назначение и будут использоваться для работы AZБК контроллера; использовать для иных целей кроме указанных в документации запрещено

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

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

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

    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х битный
    03 - =0 YM2149 =1 AY8910 тип эмуляции PSG


    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 - изменена базовая частота - теперь это не 130MHz а 65MHz

    адреса стандартные
    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" те я не провел полного тестирования

    15. Добавлена эмуляция 2xAY
    сложение каналов по форумуле
    R=A1+A2+B1+B2
    L=C1+C2+B1+B2

    Прямая доступность регистров на шине, а именно доступны байтовые регистры
    177172 - адрес AY1
    177173 - данные AY1
    177174 - адрес AY2
    177175 - данные AY2


    Теперь работают программы использующие менеджер памяти СМК. К примеру Принц Персии.


    Косметические правки кода и звукового модуля.


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

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

    В архиве обновленное
    AZBOOT.ROM - не забудьте обновить!
    AZ377.ROM - не забудьте обновить !
    AZBK_00011.hex без изменений относительно 5й версии, те надо обновить только прошивку ПЛИС

    Прошивка
    Контроллер AZ BK: Прошивка 00011
    Все о БК ДВК УКНЦ VAX Alpha

    Архив ПО для ретрокомпьютеров

    предоставляю бесплатный хостинг на PDP-11.RU для проектов о ретрокомпьютерах

  11. #199
    Moderator
    Регистрация
    25.08.2012
    Адрес
    г. Красноярск
    Сообщений
    1,038
    Спасибо Благодарностей отдано 
    235
    Спасибо Благодарностей получено 
    287
    Поблагодарили
    204 сообщений
    Mentioned
    19 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Формирование ТЗ на часы
    задача вроде простая, но есть множество ньюансов

    Вводная:
    итак, в моем стеке TCP/IP есть относительно точное время в unix-формате
    относительно точное тк во время работы с шиной БК приходится отключать таймер 1000Гц который дает отсчеты времени для внутренних часов TCP/IP стека;
    также в моем стеке есть NTP-клиент который может получать время с NTP-сервера

    также в самом STM32 есть автономные аппаратные часы которые могут работать и от батарейки тоже
    [я не разбирался с ними ибо мне всегда хватало часов которые в стеке, он достаточно точны если не отключать таймер]


    Формируется такая идея:

    часть 1
    1. выделяется служебная страница памяти - 4кБ
    2. 1 раз в минуту, туда стек пишет точное время в самых разных форматах - те можно сделать кучу разных вариантов на любой вкус
    3. для получения этого точного времени стек обновляет данные с NTP-сервера и/или пользуется часами в STM32

    соответственно далее уже дело за программистами которые воспользуются этими данными
    те надо подключить страницу в какое-то окно, считать данные и вернуть как было. все просто.
    давайте определим нужные форматы времени.

    часть 2
    так как штатный таймер в БК обладает ограниченными возможностями и явно не хватает таймера типа SysTick я сделаю его аналог в виде регистров
    1. регистр с клоком 1кГц, максимальное значение 1000. доступен только на чтение, сбрасывается по halt
    2. 32х разрядный регистр с клоком 1сек, доступен только на чтение, сбрасывается по halt



    Форматы времени в служебной странице:

    1. Unix - те количество секунд, прошедших с полуночи 1 января 1970 года;

    2. FAT время - для ANDOS
    Время и дата
    Двухбайтовая отметка даты имеет следующий формат:

    биты 0–4 — день месяца, допускаются значения 1–31;
    биты 5–8 — месяц года, допускаются значения 1–12;
    биты 9–15 — год, считая от 1980 года («эпоха MS-DOS»), возможны значения от 0 до 127 включительно, то есть 1980–2107 годы.
    Двухбайтовая отметка времени имеет следующий формат:

    биты 0–4 — счётчик секунд (по две), допустимы значения 0–29, то есть 0–58 секунд;
    биты 5–10 — минуты, допустимы значения 0–59;
    биты 11–15 — часы, допустимы значения 0–23.

    предлагайте


    все обсуждаемо тк это проект ТЗ по часам. но сразу скажу, что делать полные часы в виде регистров - тупо жалко ресурсов ПЛИС.
    Последний раз редактировалось SuperMax; 12.06.2022 в 08:26.
    Все о БК ДВК УКНЦ VAX Alpha

    Архив ПО для ретрокомпьютеров

    предоставляю бесплатный хостинг на PDP-11.RU для проектов о ретрокомпьютерах

  12. #200
    Moderator
    Регистрация
    25.08.2012
    Адрес
    г. Красноярск
    Сообщений
    1,038
    Спасибо Благодарностей отдано 
    235
    Спасибо Благодарностей получено 
    287
    Поблагодарили
    204 сообщений
    Mentioned
    19 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Обсудили с GRF проект системы ускорения графики
    сформировалось понимание, что работа с фоном и пересечениями занимает много времени и отнимает много ресурсов

    соответственно рождается такая простая и понятная штука, по сути это "типа блиттер"

    1. у нас три страницы с картинками
    пусть первая - это нижний фон
    вторая - двигающиеся герои, факелы монстры и прочее
    третья - верхний фон который перекрывает объекты под ним - к пример колонна или дерево, за которое можно "зайти"

    2. видеосистема складывает все три страницы

    наивысший приоритет - верхний фон, те если там не =0 то идет перекрытие
    далее вторая страница
    и уже в самую последнюю очередь - нижний фон который перекрывает любой [не нулевого цвета] объект на странице выше

    значение =0 это прозрачный цвет

    3. получается наиболее удобный видеорежим 256х256 и байт на цвет
    это будет удобно с точки зрения движения спрайтов - те сдвиг на байт это сдвиг на точку


    Прикинул сколько потребуется времени на это - всего 312пикселей в худшем сценарии ожидания доступа к SDRAM
    иначе говоря укладываемся!

    начал делать....

    upd 2022-06-17 - cделал
    https://forum.maxiol.com/index.php?s...ndpost&p=56550
    Последний раз редактировалось SuperMax; 17.06.2022 в 16:27.
    Все о БК ДВК УКНЦ VAX Alpha

    Архив ПО для ретрокомпьютеров

    предоставляю бесплатный хостинг на PDP-11.RU для проектов о ретрокомпьютерах

Страница 20 из 23 ПерваяПервая ... 1617181920212223 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Ответов: 37
    Последнее: 16.04.2019, 21:21
  2. Ответов: 66
    Последнее: 03.05.2014, 14:58
  3. продам бк 0011м
    от alexsan в разделе Барахолка (архив)
    Ответов: 7
    Последнее: 04.02.2012, 18:17
  4. Ремонт БК-0011М
    от Gryphon в разделе БК-0010/0011
    Ответов: 31
    Последнее: 03.05.2010, 10:53
  5. Куплю БК-0011М!
    от Murzik в разделе Барахолка (архив)
    Ответов: 3
    Последнее: 12.04.2010, 08:22

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •