- AZ для БК-0011М и возможно БК-0010
-
? Макс Багаев@ - 09.08.2020 16:18
Небольшая вводная: мы с Александром Забайрацким сделали контроллер SD-карты, который отличается определенными преимуществами:
1. не требует ПЗУ на шине. совсем. всего занимает 4 адреса 177220-177226.
2. совместим с любой PDP-11x машиной - начиная от Э60 кончая оригинальными дековским железом.
3. достаточно компактный. сейчас существуют реализации контроллера на МПИ, УКНЦ СА, вчера пришли печатки под QBUS
4. имеет WEBDAV сервер для доступа к файлам-образам.
¤
ссылки - дабы не засорять подробностями
о контроллере https://forum.maxiol.com/index.php?showtopic=5388
о работе сети https://forum.maxiol.com/index.php?showtopic=5490
¤
Когда я в прошлом году делал версию AZ для УКНЦ я уже думал, что надо бы еще и для БКшки сделать. Но как-то отложил это дело в долгий ящик.
¤
И тут я достал недавно БКшку с целью разобрать пару пачек дискет, что добыл из какой-то школы. И обнаружил, что задача "считать" на БК реализуется просто отлично, но вот что с этим делать ?
те БКшка не имеет сетевой карты, а после прикручивания к AZ сетевухи я уже успел привыкнуть, что образа и данные на них доступны из сети и можно гонять туда-сюда не напрягаясь.
фишка очень удобная что привыкаешь практически сразу. ну и прямой файловый доступ в DSK-файлы и вложенные логические диски тоже.
¤
Соответственно возник вопрос о востребованности контроллера AZ на БКшке. Понятно что в текущей реализации версия для УКНЦ скорее всего заработает на БК без каких-либо переделок, те можно будет загрузить RT11 также просто как и на ДВК/УКНЦ и оригинальной PDP-11. Но БКшка интересна не только наличием RT11, а как раз ассортиментом других операционных систем - ANDOS MKDOS итд
¤
Сейчас на БК у меня контроллер SMK512 от Воланда, штука отличная единственный недостаток - расположение и тип разъема под дисковод. те зацепить блок дисководов МС5309/5310 без приседаний не получится.
Но это я отвлекся, у меня возникли вопросы:
1. как я понимаю SMK512 означает что на борту как-то (ткните в документацию) прикручены 512КБ оперативки. Вопрос - есть ПО которое умеет с ним работать ? ну кроме какого-нибудь виртуального диска ?
2. Аналогичный вопрос - какой практический толк от памяти в SMK-64 ? или толк есть только на БК-0010?
3. Я правильно понимаю, что эмуляция кучи дисководов (в SMK64/512) сделана тупо на уровне процедур работы с дисководом в ПЗУ с адреса 160'000 ?
4. Кто-то еще на БКшке дискетами пользуется ? те сам нативный контроллер дисковода еще востребован ? (готек не в счет)
¤
Просто на данный момент формируется идея сделать AZ, c ПЗУ на борту с адреса 160'000 для полноценной эмуляции дисковода
а технически это будет дофига образов на CF-карте, любого формата и что важно, доступные для закачки/скачивания по сети.
¤
Так как AZ это уже готовое устройство, то технически остается нарисовать новую печатку под формат дочки над КНГМД ну и провести небольшие доработки на самом AZ - убрать галки как устаревшие.
¤
Соответственно идеи/комментарии/замечания приветствуются.
¤
зы: если кто-то захочет именно WiFi - его тоже реализовать просто - подберите мне WiFi сетевуху с SPI интерфейсом и я думаю это будет не сложно. но сразу предупреждаю - WiFi это мееееедленно ибо частоты 2.4GHz забиты наглухо. и кстати новый AZ2020, печатки которого уже едут, будет со 100Mbit сетью. ибо к скоростям уже привык.
¤
зы2: фишку соединить две БКшки сетью тоже возможна, но потребуется еще участите специалистов на БК ибо у меня туго со временем
-
? TheGWBV@ - 09.08.2020 17:14
[Просто на данный момент формируется идея сделать AZ, c ПЗУ на борту с адреса 160'000 для полноценной эмуляции дисковода
а технически это будет дофига образов на CF-карте, любого формата и что важно, доступные для закачки/скачивания по сети.]
CF - не надо :) Места много сожрет на плате. Я бы прикупила AZ с SD-картой под образы дискет (и доступом к ним по сети),
а также с интегрированным контроллером -- эмулятором ИРПС (думаю, будет достаточно штырей для подключения преобразователя UART-USB).
Если это уместится в стандартный корпус Блока МСТД -- будет круто!
-
? TheGWBV@ - 09.08.2020 17:17
[но сразу предупреждаю - WiFi это мееееедленно ибо частоты 2.4GHz забиты наглухо.]
Думаю, проще к изернету AZ-та прицепить готовую точку доступа в режиме моста (и использовать 5ГГц)...
-
? Макс Багаев@ - 09.08.2020 17:29
уточню, идея поставить ПЗУ уже умерла ибо
а) это не гибко, а надо чтобы можно было легко модифицировать
б) занимает много места, соответственно будет какая-то оперативная память и видимо из доступно-дешевого это будет 512КБ памяти как в SMK512
те на старте контроллер считает конфигурацию из ini файла, включит оперативную память, зальет туда образ для работы с дисками и загрузится с образа указанного для автозагрузки
_
про CF это описка - конечно SD карта. CF дорог, начиная с самого разъема. а MicroSD доступна всем.
_
а про эмулятор ИРПС подробнее - что это ? и для чего ? и зачем сам ИРПС ? это же токовая петля, что мы цеплять туда будем ?
_
[Думаю, проще к изернету AZ-та прицепить готовую точку доступа в режиме моста (и использовать 5ГГц)...]
да, это будет легко и быстро. 5ГГц еще не забит.
_
касаемо корпусаб я думал что буду делать именно "довесок" на стандартный КНГМД (единственное что потребуется это отключить ПЗУ на КНГМД)
ибо у меня нет БКшных разъемов да и сам КНГМД востребован.
_
кстати никто не рисовал корпус для КНГМД в 3D ? я к тому что его можно будет поправить до двойной высоты и напечатать. в идеале бы проект в SW :-)
-
? TheGWBV@ - 09.08.2020 17:47
[а про эмулятор ИРПС подробнее - что это ? и для чего ? и зачем сам ИРПС ? это же токовая петля, что мы цеплять туда будем ?]
Достаточно программной совместимости с ИРПС, а электрически -- совместимо с преобразователями USART-USB :)
А нужно это для поддержки сетевого софта БК-шки. Пусть и немногочисленного. Но он есть...
[кстати никто не рисовал корпус для КНГМД в 3D ?]
Процесс идет )) Корпус имеется. Принтер и чертёжник под рукой :)
[я думал что буду делать именно "довесок" на стандартный КНГМД]
Можно и так, конечно. Но есть и те, кому пломбы дороги на контроллерах КНГМД...
-
? TheGWBV@ - 09.08.2020 17:54
[те на старте контроллер считает конфигурацию из ini файла, включит оперативную память, зальет туда образ для работы с дисками и загрузится с образа указанного для автозагрузки]
Вот это верно. Нечто подобное делает стенд диагностики тов. Kisser, если ничего не путаю :-)
-
? Макс Багаев@ - 09.08.2020 17:58
>Достаточно программной совместимости с ИРПС, а электрически -- совместимо с преобразователями USART-USB :)
а тут еще подробнее
те какая конечная цель и что за сетевой софт ?
_
на счет корпуса - отличная новость!
_
>Можно и так, конечно. Но есть и те, кому пломбы дороги на контроллерах КНГМД...
ну если народ захочет - нарисую ПП с разъемом МПИ - дабы можно было его воткнуть напрямую
собственно пишите кто за какой вариант дабы было понятно
-
? TheGWBV@ - 09.08.2020 19:01
> те какая конечная цель и что за сетевой софт ?
Для использования с модемом, например. Можно будет прицепить к штырям ТТЛ-ным готовый преобразователь TTL-RS232S.
Некоторые принтеры в 80..90-х подключались к БК через ИРПС или через ТЛГ линию. Графопостроители опять же...
Ну, а теперь вообще простор для творчества -- кругом Ардуины, Блютузы и прочие радости для хобби :)
¤
>ну если народ захочет - нарисую ПП с разъемом МПИ
Лично для меня не принципиально -- у меня с 90-х КНГМД изначально БУшный, с его корпуса и нарисуется модель в 3D...
-
? TheGWBV@ - 09.08.2020 19:07
В общем, если AZ будет включать в себя, и эмулятор ИРПС, и РЕ-мулятор -- быстрее появится на свет внешний модуль "Дисплей ЕМТ16" :-)
У меня уже всё для него закуплено -- и экранчик, и ардуина к нему подходящая...
-
? Макс Багаев@ - 09.08.2020 20:46
как я понял (поправляйте) нужна не эмуляция, а реализация работы 065й? и вывод ее ТТЛ сигналов наружу для подключения внешнего оборудования ?
тогда вопрос в зал - сколько ячеек ПЛИС надо для этого ?
_
а зачем ремулятор ?
я к тому что на борту AZ получается 512КБ из которых, как я понимаю будет использовано 8КБ (4+4) для эмуляции ПЗУ КНГМД
и для БК-0010 еще 16КБ со 100'000 до 157'777
_
и куда девать остальную память я еще не придумал
если есть идеи - прелагайте
_
ну и конструкция предусматривает что можно будет грузить при старте в память образа которые лежат на карточке
те как набор ПЗУ в директории эмулятора ?
-
? BD - 09.08.2020 22:09
-065 схема на верилоге и т.п.
https://forum.pk-fpga.ru/viewtopic.php?f=43&t=5587
корпус смк512
https://forum.pk-fpga.ru/viewtopic.php?f=21&t=5488
-
? Макс Багаев@ - 09.08.2020 22:52
спасибо!
вопрос - нужна _полная_ эмуляция 065й ?
-
? TheGWBV@ - 09.08.2020 23:03
> тогда вопрос в зал - сколько ячеек ПЛИС надо для этого ?
ПЛИС? =) Только ради того, чтобы отобразить БК-ашке 4 регистра?!
Регистр состояния приёмника 176560
Буферный регистр приёмника 176562
Регистр состояния передатчика 176564
Буферный регистр передатчика 176566
Может можно обойтись трансляцией протокола работы с регистрами ИРПС БК в протокол работы с USART портом STM-a?! :-)
Как прерывания организовать тоже, наверное, можно придумать:
11*. Прерывание от приёмника 000360
12*. Прерывание от передатчика 000364
¤
> и для БК-0010 еще 16КБ со 100'000 до 157'777
Наверное, всё-таки, со 120'000 до 157'777 ?!
В контроллере КНГМД + 16Кбайт для БК0010-01 именно в это окно подключается ДопОЗУ.
¤
> те как набор ПЗУ в директории эмулятора ?
По сути это и есть РЕ-мулятор :)
¤
> и куда девать остальную память я еще не придумал
> если есть идеи - прелагайте
1) Для БК0010-01 ещё бывали блоки с ДопОЗУ на 32Кбайт.
2) Для БК0010-01 удобно было бы иметь много страниц с ДопОЗУ в окне со 140'000 до 157'777. (Может и для БК0011М такое возможно).
Переключение номеров страниц осуществлять через новый регистр с подходящим к архитектуре БК-ашек адресом.
3) Для БК0010-01 не помешал бы таймер 50Гц с прерыванием по вектору 000100...
Говорят, что БК0010-01 по количеству в обороте больще, чем БК0011М =)
-
? Макс Багаев@ - 10.08.2020 06:56
ПЛИС будет в любом случае ибо она
- заменяет 2 GALки
- обеспечивает работу дополнительного ОЗУ
вопрос только в размере этой ПЛИС и какой допфунционал нужен
_
ps: да, конечно 120'000 до 157'777 на БК-0010
-
? svinka - 11.08.2020 01:37
{ пару пачек дискет, что добыл из какой-то школы } --> надо вернуть. А то получается что украл...
-
? Макс Багаев@ - 11.08.2020 05:11
2svinka - не судите по себе, школа все сдала на утилизацию
-
? BD - 11.08.2020 19:49
>> нужна _полная_ эмуляция 065й ?
¤
как минимум регистры и прерывание 360.
если на SD будет файловая система, которую не понимает РС - весь проект в топку...
у нас есть флоппи-эмуляторы, чтоб худо-бедно переносить на БК через USB и обратно ))
для БК никто не возбудился элементарно блочный протокол родить... ((
¤
https://forum.pk-fpga.ru/viewtopic.php?f=15&t=5606
-
? Макс Багаев@ - 11.08.2020 21:22
2BD - прочитайте что такое AZ
о контроллере https://forum.maxiol.com/index.php?showtopic=5388
о работе сети https://forum.maxiol.com/index.php?showtopic=5490
_
основная фишка AZ это как раз образа дисков в виде обычных файлов на карточке
и вторая фишка это сеть - те карточку можно вообще никогда не вынимать - а писать образа прямо через сеть
вся конфигурация - через ini-файл
_
сейчас я обдумал, что бы я хотел на БК получается такой набор
1. сам контроллер AZ с кучей дисков и сетевой картой
2. оперативная память с загрузкой с SD-карты и эмуляция всяких ПЗУ - те я думаю, можно будет реализовать концепцию с полным отключением всех ПЗУ в БК.
3. КНГМД с разъемом для подключения дисководов
4. RS232 - видимо с TTL уровнями + программное управление скоростью порта
5. AY-3-8910
6. Covox
весь звук выводится на какой-то 16bit-цап и наружу
_
видимо пахнет жирной ПЛИС
кто может прикинуть сколько на пункты 3,4,5,6 потребуется ?
_
также не увидел ответов на вопрос по использованию памяти в SMK-64 и 512
_
кто еще заинтересован в проекте ? я к тому, что в одного реализовать это будет не так быстро. печатку я нарисую достаточно быстро при наличии времени.
-
? Макс Багаев@ - 11.08.2020 21:30
забавная мысль еще родилась - подать тактовую частоту с контроллера на ВМ1
и сделать регистр для управления частотой - те чтобы можно было задавать частоту с дискретностью в 1кГц к примеру
штука простая в реализации, но будет явно удобно для демок и всяких экспериментов
_
продолжить издевательства можно добавив тоже самое для таймера в проце ;-)
_
ну и схемку простую сделать дабы БК без контроллера могла работать в штатном режиме
-
? BD - 11.08.2020 23:26
.. и это ретро )? в телеграме до сих пор обсуждают кто и как будет писать код под 2 AY ))
¤
@bk0010_11m
-
? Макс Багаев@ - 12.08.2020 06:32
2BD - странный подход, вот в MSX пихают контроллер Carnivore2 тоже на ПЛИС и все довольны
_
впрочем я лично буду его делать как минимум для себя, ибо:
1. хочу AZ - c образами и сетью так как это удобно
2. хочу звук без колхоза внутри
-
? BD - 12.08.2020 14:55
На БК RT-11 пользуются единицы, а многие даже не слышали )) AZ.SYS, гы-гы... вон SVB прикрутил к штатной сетевухе УКНЦ самый дешевый модуль ESP и горя не знает ))
https://bk0010.org/forum/?id=36152
-
? Макс Багаев@ - 12.08.2020 15:34
2BD читайте тему сначала.
-
? TheGWBV@ - 14.08.2020 07:26
> видимо пахнет жирной ПЛИС
Опять ПЛИС )) Зачем? Вон чего даже "ардуино" может https://zx-pk.ru/threads/26952-qbus-mpi-blaster-rabota-s-shinoj-bk-napryamuyu-cherez-kom-port-usb.html
Ещё обратите внимание на "Вариант контроллера PS/2 для БК"... https://zx-pk.ru/threads/26955-variant-kontrollera-ps-2-dlya-bk.html
¤
> 6. Covox
> весь звук выводится на какой-то 16bit-цап и наружу
Тогда на забываем, что есть ещё и стерео ковокс. И ещё вариант "Covox c обратной связью" (ковокс + блок нагрузок) -- используется для ускорения расчетов при микшировании нескольких каналов (муз. инструментов).
Теоретически, и на советской элементной базе можно было бы сделать микшер (сумматор).
Например, грузим в регистр SuperMAXcovox выборку для канала 0, в регистр SuperMAXcovox+2 выборку для канала 1 и т.д., в завершении -- пишем в регистр SuperMAXcovoxCSR (или при условии записи в старший канал?) и микшер-сумматор передает на ЦАП-ы готовую выборку. ЦПУ БК-ашки разгружено, а Manwe весьма доволен :) предположительно ))
¤
> 5. AY-3-8910
Тогда получается, что AZ будет зеркалить в себя то, что пишется в порт УП...
Может просто сделать MIDI-порт? А уже к нему опцию -- миди-плеер?
¤
И ещё, на БК0011М не реализована линия ТЛГ... может имеет смысл иметь возможность конфигурации TTL штырей ИРПС как линию ТЛГ (софт под неё кое-какой уже имеется и будет развиваться параллельно с ИРПС-ным).
¤
> для БК никто не возбудился элементарно блочный протокол родить... ((
BD, лето кончится -- будем стараться ))
-
? TheGWBV@ - 14.08.2020 07:48
И ещё... У какого-то количества БК0010 в ЦПУ имелся неисправный Программируемый таймер, а в процах ВМ2 он вообще отсутствует.
Тоже наверное была бы полезная опция для МПИ-приставок...
-
? Maxvel - 14.08.2020 10:59
Ухты не знал, а я то думал что неисправный таймер это отдельно стоящая микросхема а оно вон как, я тогда счастливчик так как имею такой экземпляр который ведет себя как то странно.
-
? svinka - 14.08.2020 11:08
неисправный не значит отключенный
с таким же внешним будет конфликт. вероятно с дымком
-
? Maxvel@ - 14.08.2020 11:41
Не ну это то понятно.
-
? Макс Багаев@ - 14.08.2020 12:29
1. атмега сможет управлять шиной, а вот отвечать на запросы шины не успеет. это только STM32 успевает и то в притык.
2. с клавиатурой ps/2 - не вижу никакого смысла ибо без доработок внутри БК не заработает. я против такого колхоза. или как минимум за его минимизацию.
3. covox cделаю любой - хотть стерео хоть 16bit. это легко и просто.
4. >AZ будет зеркалить в себя то, что пишется в порт УП...
да, конечно
>Может просто сделать MIDI-порт? А уже к нему опцию -- миди-плеер?
не виду проблем. вопрос только куда этот MIDI втыкать ? у меня к примеру нет ничего.
>И ещё, на БК0011М не реализована линия ТЛГ... может имеет смысл иметь возможность конфигурации TTL штырей ИРПС как линию ТЛГ (софт под неё кое-какой уже имеется и будет развиваться параллельно с ИРПС-ным).
а тут подробнее - зачем этот ТЛГ ?
>У какого-то количества БК0010 в ЦПУ имелся неисправный
это может быть в любой БК - те надо просто поменять проц. у меня есть полный тест таймера TIM791 - он его полностью во всех возможных режимах проверяет, как раз написан в 92м для проверки и замены.
_
сейчас я собираю идеи и обдумываю компоновку
-
? S_V_B - 14.08.2020 14:13
БК не хватает памяти... Вы же в МПИ втыкать будете...? Конечно запихнуть все и сразу... COVOX прожорлив до памяти.. тем более двухканальный.... озычить игрушку - бессмыслено, только демка.
-
? S_V_B - 14.08.2020 14:14
COVOX может торчать в УП.
-
? Макс Багаев@ - 14.08.2020 17:05
>БК не хватает памяти.
БК не УКНЦ - тут честные 128КБ
_
если говорить о расширении памяти - я могу поставить и 2МБ модуль
вопрос только с протоколом работы с ней
те куда ее монтировать и как с ней работать
_
по идее для ковокса и AY нужен DMA контроллер, который будет сам доставать из памяти и пулять в них данные
вопрос только в том - кто будет разрабатывать это ?
_
впрочем на этапе проектирования уже получается жирная ПЛИС и всякие подобные фишки можно будет сделать легко, равно как и переделать ибо все это конфигурация которая заливается
-
? TheGWBV@ - 14.08.2020 17:22
> если говорить о расширении памяти - я могу поставить и 2МБ модуль
> вопрос только с протоколом работы с ней
> те куда ее монтировать и как с ней работать
Для БК0010-01 удобно было бы иметь много страниц с ДопОЗУ в окне со 140'000 до 157'777. (Может и для БК0011М такое возможно).
Переключение номеров страниц осуществлять через новый регистр с подходящим к архитектуре БК-ашек адресом.
Для размера страниц по 8Кбайт достаточно одного байта (8 бит) для выбора любой страницы из 2Мбайт ДопОЗУ...
-
? S_V_B - 14.08.2020 17:26
Есть уже СМК512.. это нужно учитывать в "жирной" ПЛИС... звук как минимум...
-
? TheGWBV@ - 14.08.2020 17:28
> а тут подробнее - зачем этот ТЛГ ?
При наличии ИРПС, скорее всего, для потенциальной совместимости коммуникационных возможностей БК0010 и БК0011М (в последней линия ТЛГ не выведена никуда вроде как).
Но возможно найдется ещё какой-то софт под ТЛГ. Где-то мелькало, что БК0010 и ТЛГ использовался для передачи сведений о погоде в советское время...
-
? S_V_B - 14.08.2020 17:30
То что видео воткнули в адресное пространство... вопрос спорный
Хотя очень удобный.
-
? S_V_B - 14.08.2020 17:33
ТЛГ...??? это что-то высоковольтное??? зачем??? BD уже решил этот вопрос.... на 57к.
-
? TheGWBV@ - 14.08.2020 17:34
> Есть уже СМК512.. это нужно учитывать в "жирной" ПЛИС... звук как минимум...
Фишка СМК512 в том, что там есть HALT-режим, но софта под него практически нет.
Переключение страниц замысловатое. Урывками от работы это не понять )) А БК-ашка -- это же хобби :-)
¤
Не надо и AZ делать головоломкой :) Раньше микросхемы экономили, а сейчас время и здоровье надо бы ))
-
? S_V_B - 14.08.2020 17:46
Я не думаю, что аффтор не сделает хуже чем было.... с учетом 21го века.. я уверен должны быть фишки типа выгрузки и загрузки участка памяти.. по команде в мк...
-
? TheGWBV@ - 14.08.2020 18:13
> Я не думаю, что аффтор не сделает хуже чем было.... с учетом 21го века.. я уверен должны быть фишки типа выгрузки и загрузки участка памяти.. по команде в мк...
Лучше уж тогда выделить блок регистров под "сопроцессор" расширенной арифметики.
Но думаю, не надо углубляться в полную аппаратную эмуляцию. Надо оставить простор для творчества. По прерыванию на неизвестную команду...
Закинули данные в блок регистров-параметров, в регистр управления "сопроцессора" номер команды (умножение, деление и т.д.),
и следующей операцией стандартной прочитали-применили результат вычисления :)
Арифметические операции станут, вероятно, одной длительности, что полезно для Демок и игровой анимации...
-
? Макс Багаев@ - 14.08.2020 18:19
>Но возможно найдется ещё какой-то софт под ТЛГ. Где-то мелькало, что БК0010 и ТЛГ использовался для передачи сведений о погоде в советское время...
честно не вижу смысла делать ТЛГ
¤
>То что видео воткнули в адресное пространство... вопрос спорный
>Хотя очень удобный.
именно
очень удобно и понятно. жаль только маловато страниц под видеопамять
было бы их 4шт примеру - уже было бы интереснее, вот как в думе, там 4 страницы по 64КБ используются и конвеерно отображаются
те движения монстров это просто переключения страниц
¤
>Фишка СМК512 в том, что там есть HALT-режим, но софта под него практически нет.
есть внятная документация для повторения ?
и где взять софт ? я помню, что было что-то с возможностью переключения систем - типа как deskview но у меня этого нет.
>Переключение страниц замысловатое.
ну мне сейчас важно спроектировать железку, а все остальное запрограммировать будет легко
_
итого - закладывать 2МБ памяти или 512КБ хватит ?
-
? svinka - 14.08.2020 18:21
Опять Нью-БК-Васюки
А как же ЗаиБустер????
-
? S_V_B - 14.08.2020 18:21
Так можно Trident подключить, у него тоже много чего интересного...
Можно ешё PI или ардуино подключить.... тлько что останется от БК????
-
? svinka - 14.08.2020 18:25
КМ-ки с спичечном коробке
-
? S_V_B - 14.08.2020 18:29
90.9% ретроманов .. удовлетворяются запуском любимой игрушки... с айфона... кто писать то будет под новую технику????
-
? svinka - 14.08.2020 18:34
Писать можно и нужно под новую технику в эмуляторе. Добавив эмуляцию этой новой техники в эмулятор с открытым исходником.
В железо перенести потом.
-
? S_V_B - 14.08.2020 18:34
Найдите хотя бы троих энтузиастов (я первый) с кем можно общаться при разработке....
-
? TheGWBV@ - 14.08.2020 18:40
> 1. атмега сможет управлять шиной, а вот отвечать на запросы шины не успеет. это только STM32 успевает и то в притык.
Хм, впритык. А чем он так сильно занят? На какой частоте работает?
Наличие дешифратора адресов внешних устройств (или попадания в блок адресов устройства) на мелкой/средней ПЛИС,
с формированием отдельного логического сигнала выбора устройства, с дальнейшей инициацией им прерывания в STM32,
с переходом на код управления выбранным внешним устройством, сможет разгрузить STM32?
Или быстрее передать с подобного дешифратора адресов в STM32: индексный номер устройства + индексный номер регистра + запрос на прерывание от дешифратора адресов?
-
? S_V_B - 14.08.2020 18:48
Вы это о чем??? В тысячи раз быстрее работает проц.. В тупой ардуине можно несколько БКшек уложить
-
? S_V_B - 14.08.2020 18:56
Commodore 64 уже давно эмулировали на Ардуино УНО.. не говоря уже о более мощных моделях
-
? TheGWBV@ - 14.08.2020 19:14
> итого - закладывать 2МБ памяти или 512КБ хватит ?
Да, тогда, думаю, и за UNIX взяться для БК-ашки будет иметь смысл,
а главное для Covox-а и анимации графической дело нужное :)
И ортодоксальные ретро-компьютерщики получат профит в виде софта под удобную архитектуру страничной памяти.
¤
>> Фишка СМК512 в том, что там есть HALT-режим, но софта под него практически нет.
> есть внятная документация для повторения ?
> и где взять софт ? я помню, что было что-то с возможностью переключения систем - типа как deskview но у меня этого нет.
Я как раз к тому, что может не надо тратить силы на HALT-режимы. Отказаться от этой затеи совсем!
¤
> А как же ЗаиБустер????
Вроде как делается, но чисто на ПЛИС-е... без STM32...
¤
> Можно ешё PI или ардуино подключить.... тлько что останется от БК????
Ну, если на ардуине сделать терминал с эмуляцией ЕМТ16 Монитора БК0010 (или видеотерминала от ДВК) -- много чего останется.
Например, совместимость с Бейсиком и Фокалом по стандартным процедурам работы с графикой, но с большей скоростью...
на PI уж точно с большей ))
¤
> Писать можно и нужно под новую технику в эмуляторе. Добавив эмуляцию этой новой техники в эмулятор с открытым исходником.
> В железо перенести потом.
Это в идеале. С другой стороны, пока из нового софта остро требуется только диспетчер ДопОЗУ 2Мбайт.
Не так это страшно -- заодно освою ANDOS 3.30 и MK-DOS 3.18 в этом разрезе ;-)
Остальная аппаратура, кроме мат. сопроцессора (если он будет), "старая" и стандартная -- софт под неё уже есть...
Дорабатывать эмулятор БК на РС я пока что морально-интеллектуально не готова :)
-
? Макс Багаев@ - 14.08.2020 21:18
>Хм, впритык. А чем он так сильно занят? На какой частоте работает?
>Наличие дешифратора адресов внешних устройств (или попадания в блок адресов устройства) на мелкой/средней ПЛИС,
>с формированием отдельного логического сигнала выбора устройства, с дальнейшей инициацией им прерывания в STM32,
>с переходом на код управления выбранным внешним устройством, сможет разгрузить STM32?
ну что-то подобное сейчас в AZ и сделано
¤
>Вы это о чем??? В тысячи раз быстрее работает проц.. В тупой ардуине можно несколько БКшек уложить
нет. можете не пытаться.
>Commodore 64 уже давно эмулировали на Ардуино УНО.. не говоря уже о более мощных моделях
БКшка значительно сложнее
иначе говоря первые эмуляторы PDP11 требовали пентиум для эмуляции
и тут это оффтопик.
_
>Да, тогда, думаю, и за UNIX взяться для БК-ашки будет иметь смысл,
тогда надо MMU делать, а адресное пространство БК ну никак для MMU не подключается
_
подведу итоги того что вырисовывается
1. сам контроллер AZ с кучей дисков и сетевой картой
2. оперативная память 2МБ с загрузкой с SD-карты и эмуляция всяких ПЗУ - те я думаю, можно будет реализовать концепцию с полным отключением всех ПЗУ в БК.
3. КНГМД с разъемом для подключения дисководов
4. RS232 - видимо с TTL уровнями + программное управление скоростью порта
5. AY-3-8910
6. Covox / стерео / 16bit
7. микшер звука
8. таймер с прерыванием для обработки звука и/или DMA контроллер для звука
весь звук выводится на какой-то i2s 16bit-цап и наружу
-
? Макс Багаев@ - 14.08.2020 21:26
да, не забывайте, STM32 в AZ занят еще и обработкой сети - те там сейчас полноценный WEBDAV сервер дабы можно было работать с образами дисков
соответственно можно писать сетевой софт для БКшки
IRC к примеру или еще что
-
? svinka - 14.08.2020 21:30
Получается убрать БКшку и жить счасливо
Ну или только как клаву
-
? TheGWBV@ - 14.08.2020 23:57
> 6. Covox / стерео / 16bit
+ Loopback mode
¤
> 4. RS232 - видимо с TTL уровнями + программное управление скоростью порта
А управление скоростью порта будет с БК или с помощью файла конфигурации AZ ?!
Я к тому, что вряд-ли за один сеанс работы с БК-ашкой пользователю придётся переподключать на последовательном порту разные устройства, с разными скоростями интерфейса.
¤
> и/или DMA контроллер для звука
> весь звук выводится на какой-то i2s 16bit-цап и наружу
Тогда уж пусть пользователю будет доступен контроллер i2c через регистры (как в первой версии Booster-11, например).
Сделать так, что когда роль мастера на шине нужна Covox-у и микшеру, в регистре управления с БК-ашки шиной i2c -- выставить бит, что шина занята.
А желающие смогут подключить к этой шине -- манипуляторы, часы реального времени и т.п. штуки. Да, хоть модуль мр3-плеера, например...
¤
> Получается убрать БКшку и жить счасливо
Не, сначала прокачать её до уровня, возможного для электронной базы на 2000 год ))
Если не думать об удобстве в виде WEBDAV сервера, получается очень даже ретромантично :)
-
? Макс Багаев@ - 15.08.2020 07:46
>+ Loopback mode
что это ? регистр в котором будут данные которые записаны в порт ?
>А управление скоростью порта будет с БК или с помощью файла конфигурации AZ ?!
>Я к тому, что вряд-ли за один сеанс работы с БК-ашкой пользователю придётся переподключать на последовательном порту разные устройства, с разными скоростями интерфейса.
я думал будет интересно именно через регистр
а через AZ.INI проще, те я вообще все регистры AZ хочу задавать через AZ.INI - для полной гибкости
¤
>весь звук выводится на какой-то i2s 16bit-цап и наружу
>Тогда уж пусть пользователю будет доступен контроллер i2c
внимательнее! i2s это аудио шина для ЦАП/AЦП
и к i2c она отношения не имеет
_
интерфейс i2c тоже можно сделать, те заложу возможности
и реально это не сильно простая штука в программировании
http://easyelectronics.ru/interface-bus-iic-i2c.html
_
проект будет развиваться шагами
сначала будет железка и с минимальным функционалом, иначе говоря только дисковая эмуляция + сеть
потом по мере программирования заработает к примерук ковокс итд итп
ну и если желающие участвовать подтянутся, это будет быстрее
-
? TheGWBV@ - 15.08.2020 08:27
>> + Loopback mode
> что это ?
А это когда Covox навешивается на БК-ашный блок нагрузок, и то что пишем в порт УП по адресу 177714 становится возможно по этому адресу и прочитать -- это позволяет повысить частоту дискретизации для отдельных инструментов с 12 кГц до 25 кГц. Общее качество муз. произведения драматически повышается! :)
¤
> а через AZ.INI проще, те я вообще все регистры AZ хочу задавать через AZ.INI - для полной гибкости
Да, лучше так. Тем более, что в БК-ашке изначально не было регистра для выбора скорости порта...
¤
> внимательнее! i2s это аудио шина для ЦАП/AЦП
> и к i2c она отношения не имеет
> _
> интерфейс i2c тоже можно сделать, те заложу возможности
> и реально это не сильно простая штука в программировании
Да, ничего в нём страшного нет. Я его уже больше года по работе использую в разрабатываемых устройствах.
Тем более, что БК-ашка и AZ будут мастер-устройством. Это ведомое устройство с "сервером" на свой лад. Вот там все "сложности" для программистов :)
¤
> ну и если желающие участвовать подтянутся, это будет быстрее
Желание освоить STM32 есть. Его применение всё растёт. Есть и российские аналоги в Воронеже...
-
? TheGWBV@ - 15.08.2020 08:37
Например, есть К1921ВК01Т -- процессорное ядро ARM Cortex-M4F с поддержкой набора одноцикловых команд умножения с накоплением (MAC), команд централизованного управления потоком данных (SIMD), арифметических и логических команд и встроенным модулем обработки команд с плавающей запятой (FPU) с одинарной точностью, производительность не менее 125 MIPS (миллионов инструкций в секунду);
https://niiet.ru/product/354-arm-cortex
-
? Макс Багаев@ - 15.08.2020 10:30
>А это когда Covox навешивается на БК-ашный блок нагрузок, и то что пишем в порт УП по адресу 177714 становится возможно по этому адресу и прочитать -- это позволяет повысить частоту дискретизации для отдельных >инструментов с 12 кГц до 25 кГц. Общее качество муз. произведения драматически повышается! :)
скорее всего не получится если будет регистр 177714
причины на это две
1. на порту мышка, джойстик
2. если перехват порта на запись бесконфликтная операция, то чтение будет однозначно проблемным
соответственно порт на чтение должен быть другой
_
если говорить о внешних устройствах мне нравится SPI
-
? TheGWBV@ - 15.08.2020 12:17
> 2. если перехват порта на запись бесконфликтная операция, то чтение будет однозначно проблемным
> соответственно порт на чтение должен быть другой
Но у БК-то проблем с этим нет :) Думаю, нужно просто внутри кода STM32 держать переменную-копию выходного регистра 177714,
а при чтении регистра с этим адресом, в зависимости от параметра LoopBackCovox On/Off, совершать логическое ИЛИ на шине данных в нужное время (если это возможно, конечно.
А если невозможно практически, то да -- делать отдельные регистры под Covox-ы в разных вариантах исполнения. Для развития платформы БК001х это даже полезнее.
И с концепцией ретро-возможностей не конфликтует. И в 90-е можно было стелать Covox c другими номерами регистров, но было бы затратно)...
¤
> если говорить о внешних устройствах мне нравится SPI
Ага :) Но надо бы к шине тогда приложить несколько штырей с CS-ами для разных устройств. Вдруг, два-три одновременно подключить кто захочет...
-
? Макс Багаев@ - 15.08.2020 13:38
>Но у БК-то проблем с этим нет :)
с чем нет ? порт один - 177714
или LoopBack или мышка с джойстиком
_
вообще если говорить о ковоксе то самое интересное, что можно для него сделать это DMA контроллер
который будет сам брать данные из скрытых страниц расширенной памяти
_
2ALL: где-то читал историю подключение КЖД от ДВК к БКшке и про выяснение особенности ВМ1 который делал лишнее обращение к регистру
напомните где
-
? Terra - 15.08.2020 14:09
Gasp авторы отдадчика Paradise КЖД от ДВК подключали. Тоже приобрёл бы AZ для БК, возможно конструктором.
Mpi blaster на atmega16 вещь конечно хорошая для тестирования и загрузки через терминал, но не более того и тут обязательно наличие пдп, а это только в 11м из коробки.
-
? TheGWBV@ - 15.08.2020 14:09
> вообще если говорить о ковоксе то самое интересное, что можно для него сделать это DMA контроллер
> который будет сам брать данные из скрытых страниц расширенной памяти
Это уже получится какой-то SBK-11-AWE StereoMAX :)
Его надо делать вкупе с мат.сопроцессором и DMA графическим ускорителем (внешний проц вполне может просчитать поток данных для вывода ломанной линии в стандартное ВОЗУ БКашки.
Подходящий алгоритм такого потока данных уже разработан и проверен в PALTST15, например). Мне эта тема интересна, если что...
-
? Макс Багаев@ - 17.08.2020 08:21
да. возвращаясь к SMK64 и 512 - как там реализована расширенная память и как с ней работать ?
тк я хочу обеспечить обратную совместимость с ними.
¤
да, я правильно понял:
1. что ПЗУ с 140'000 не отключаемое
2. единственное место куда можно воткнуть окно внешнего контроллера это со 100'000 до 137'777 подав команду воткнуть туда несуществующее ПЗУ
ну и 160'000 тоже свободно для внешних железок ?
-
? TheGWBV@ - 17.08.2020 08:42
> да. возвращаясь к SMK64 и 512 - как там реализована расширенная память и как с ней работать ?
Страшно неудобно )) но извольте... https://forum.pk-fpga.ru/viewtopic.php?f=39&t=5410
Программировать его умеют порядка пяти пользователей БК-шек :)
-
? Макс Багаев@ - 17.08.2020 09:36
мда....
получается воткнуть внешнее ОЗУ со 100'000 до 137'777 на БК11М не сделали ?
а софт-то какой-то есть который это использует ?
-
? Maxvel@ - 17.08.2020 12:05
Ну в принципе на 11м при помощи СМК можно можно отключить ПЗУ 140000 но так же и переключается и 160000, но беда в том что не на всех машинах это можно сделать корректно.
Вот пример
MOV #6,@#177130 ;Подготавливаем регистр
MOV #2040,@#177130 ;подключаем ОЗУ контролера, последние два числа указываю какую страницу подключаем
MOV #0,@#177130 ;ОЧИСТКА РЕГИСТРА.
¤
так же не забываем что при использования этого режима мы переключаем 16 кб памяти (140000 177777) из них нам будет доступно от (140000 до 177000).
¤
Как то так.
¤
Извинюсь если там один сумбур, не очень то и люблю писать легче сказать.
-
? TheGWBV@ - 17.08.2020 12:14
в 90-е лишний дешифратор адреса дорого обходился и по размеру платы, и по стоимости микросхем.
Думаю, поэтому и запихнули всё управление ДопОЗУ и режимами в один регистр с HDD.
Сейчас то зачем городить огород? Ещё пока живы авторы новых демок, задействующих ресурся SMK-512.
Есть шанс, что скомпилят и под другой менеджер памяти свои демки...
-
? Макс Багаев@ - 17.08.2020 13:27
>Ну в принципе на 11м при помощи СМК можно можно отключить ПЗУ 140000
как я понимаю, только после доработки
а я говорю о штатном функционале - те я мапирую на 100'000 - 137'777 несуществующее ПЗУ
и страница в 16КБ становится доступна для внешнего подключения
¤
>в 90-е лишний дешифратор адреса дорого обходился и по размеру платы, и по стоимости микросхем.
>Думаю, поэтому и запихнули всё управление ДопОЗУ и режимами в один регистр с HDD.
совершенно согласен
тк тащить такой вариант управления страницами я не вижу смысла
-
? Макс Багаев@ - 17.08.2020 17:53
поддержка образов дисков:
1. диски для RT11 - это уже есть
2. образа дискет - планируется
3. образа hdi - те "образ винта" - планируется
_
сейчас обдумываю техническую реализацию железки
-
? svinka - 19.08.2020 17:57
Анекдот №-2021119047
Закончилась посадка на суперлайнер ИЛ-2086. В салон выходит стюардесса:
Дамы и господа, для того, чтобы помочь вам скоротать время полета,
на борту нашего лайнера имеются библиотека, кинозал, три бара,
ресторан, бассейн и два теннисных корта. А теперь я попрошу вас
пристегнуть ремни безопасности, потому что сейчас вместе со всей этой
ху..нёй мы попытаемся взлететь!
-
? Maxvel@ - 20.08.2020 00:01
гыгыгыгыгыгыг
-
? Макс Багаев@ - 22.08.2020 10:27
подведу итоги того что вырисовывается
1. сам контроллер AZ с кучей дисков и сетевой картой
2. оперативная память 2МБ с загрузкой с SD-карты и эмуляция всяких ПЗУ - те я думаю, можно будет реализовать концепцию с полным отключением всех ПЗУ в БК.
3. КНГМД с разъемом для подключения дисководов
4. RS232 - видимо с TTL уровнями + программное управление скоростью порта
5. AY-3-8910
6. Covox / стерео / 16bit
7. микшер звука
8. таймер с прерыванием для обработки звука и/или DMA контроллер для звука
9. регистры часов - тк на STM32 все равно будут часы - пусть будут доступны на чтение
весь звук выводится на какой-то i2s 16bit-цап и наружу
-
? svinka - 22.08.2020 12:18
А монетоприёмник??
-
? svinka - 30.09.2020 18:18
Как монетизации Васюков??
Много лохов в очереди??
-
? Макс Багаев@ - 30.09.2020 19:39
подведу итоги того что вырисовывается
1. сам контроллер AZ с кучей дисков и сетевой картой
2. оперативная память 2МБ с загрузкой с SD-карты и эмуляция всяких ПЗУ - те я думаю, можно будет реализовать концепцию с полным отключением всех ПЗУ в БК.
3. КНГМД с разъемом для подключения дисководов
4. RS232 - видимо с TTL уровнями + программное управление скоростью порта
5. AY-3-8910, возможно 2шт
6. Covox / стерео / 16bit
7. OPL2
8. микшер звука
9. таймер с прерыванием для обработки звука и/или DMA контроллер для звука
весь звук выводится на какой-то i2s 16bit-цап и наружу
10. Внешний VGA видеовыход - те поддержка legacy видео-режимов + новые; будет работать и на 10ке
¤
¤
поддержка образов дисков:
1. диски для RT11 - это уже есть
2. образа дискет - планируется
3. образа hdi - те "образ винта" - планируется
¤
о контроллере https://forum.maxiol.com/index.php?showtopic=5388
о работе сети https://forum.maxiol.com/index.php?showtopic=5490
-
? svinka - 30.09.2020 21:07
И нахрена такому супер М Б контроллеру процессор 1801вм1
-
? svinka - 02.05.2021 19:54
За бесконечное стирание моих сообщений на тему что AZ-гавно (инженерный выкидыш без исходников) и бан на говнофоруме zx-pk вынес приговор.
Дам в морду!!! как только появишься на любой ретро тусовке в Москве
-
? svinka - 02.05.2021 20:10
И да! кстати там на говнофоруме еще один чмошник не стандартной сексуальной ориентации с погонялой ММ (маньяк ИС) банил меня на полгода за критику его говносхем
Что не модератор - то педик или мудак.
-
? svinka - 02.05.2021 20:47
почему этим гебнявым пидорам дают права модератора???
Слава Приморским Партизаним!!! Архангельску зачет!!!!
-
? wesha - 02.05.2021 22:29
Уважаемая @svinka! Исходя из уровня Ваших высказываний, сдаётся мне, что Вы не настолько олдфаг, чтобы иметь сколько-нибудь значительный голос относительно нашей олдфажной техники.
-
? svinka - 03.05.2021 02:03
wesha@! Ты то откуда взялась???
Я про то что любое обсуждение в том числе недостатков проектирования электроники - это свобода слова.
Не надо мне рот затыкать. у меня кулаки есть. И деньги чтобы со стороны нанять
-
? Макс Багаев@ - 03.05.2021 07:53
wesha@! не стоит обращать внимания на свинку, он обычный алкоголик, никогда и ничего не сделавший руками.
¤
¤
Касаемо AZ для PDP11 и ДВК - теперь есть полноценный дравер для RSX
https://zx-pk.ru/threads/28134-kontroller-psevdodiska-na-sd-karte-dlya-dvk-uknts-pdp-11-original-ethernet/page12.html
¤
AZ БК тоже не стоит на месте
¤
¤
0. палитры, сделано расширение функционала механизма палитр
подробнее https://forum.maxiol.com/index.php?showtopic=5556
¤
1. куча автоматов контроллера памяти SDRAM заработала
обслуживаются 3 запроса
- простое чтение слова
- пакетное чтение
- запись слова/байта
- чтение STM32
- запись STM32
¤
2. запросы будут поступать от
- чтение МПИ [уже работает]
- запись МПИ [уже работает]
- пакетное чтение строки для VGA [уже работает]
- чтение STM32 [в процессе отладки]
- запись STM32 [в процессе отладки]
- чтение "DMA" для фоновых процессов - музыка итд
¤
3. арбитраж запросов - обслуживание запросов к оперативке согласно приоритета
максимальное ожидание данных ~600нс в случае конкуренции с уже выполняющимся длинным запросом
цикл записи - полностью синхронный - те RPLY идет сразу
цикл чтения - 120нс
+ есть еще поле для оптимизации
¤
4. реализовано ручное переключение видеорежима (циклическое 1-2-3-4) по сочетанию AR2+KT
те можно спокойно переключать его в зависимости от программы не напрягаясь!
¤
5. сделан маппер памяти + разделение по сегментам:
- область перехвата - те копия станиц оперативки
- область эмуляции ROM - выделил 256КБ под всякие ПЗУ которые будут подключаться как в эмуляторе из меню
- и вся остальная память
¤
6. полный вывод VGA уже из SDRAM, переключение страниц
[пока без новых режимов, но они уже заложены в архитектуру]
¤
7. проведен рефакторинг кода VGA-модуля, унификация под 65MHz и отказ от 130MHz
¤
8. перехват переключения палитр БК11М
- доступ к памяти палитр с шины, чтение+запись
¤
9. Генератор псевдослучайных чисел - технически это LFSR длиной 128бит, младшие 16 в регистре доступном программно.
сдвиг идет с частотой 50MHz (или 65Mhz-посмотрим) как следствие полностью новое слово доступно будет каждый такт
¤
Сейчас процессе:
- STM и операции с ней, загрузка ПЗУ согласно конфига
-
? svinka - 04.05.2021 20:51
мне некогда ретро-нищебродством с неудачниками заниматься!
Я НАТО расширяю!!!
-
? microxa - 14.06.2021 04:16
действительно. зачем весь этот хайтек огород, непонятного черного ящика(да еще и закрытого)? извините, но это какойто "мартышкин труд"..
>>Сейчас процессе:
>>- STM и операции с ней, загрузка ПЗУ согласно конфига
как вариант... обойтись исключительно STM-ками, не городя лишнего на какихто там ПЛИС (да еще с марсианским языком).
..
в одной из которых реализовать эмулятор.
..
в какой-то ESP его запихали:
https://zx-pk.ru/threads/29542-emulyator-bk-0010-na-esp8266.html
"Всё железо - это ESP8266 (например, ESP-01 за ~100рублей) и одна микросхема 74HC00 (за ~10 рублей). Плюс немного мелочевки - ..."
..
а тут всетоке такой мэйнстрим как АРМ.. хрен знает чем занимающийся.
-
? svinka - 07.08.2021 22:48
прошел 1 год
наебалово заплативших продолжается
-
? microxa - 15.08.2021 20:08
пусть пососут лапоть. да и зачем бк-шке AZ, ну что он там улучшит? уебище как было, так останецо. на чем это всё разве что закопать. Развития же, никакого не будет...
-
? Alexander "Sandro" Tishin@ - 22.08.2021 18:31
Ну зачем ты ругаешься?
-
? wesha - 23.08.2021 05:12
> Ну зачем ты ругаешься?
¤
Копролалия, сэр. :)
-
? Макс Багаев@ - 30.06.2022 07:47
Вышла 12ая прошивка
https://forum.maxiol.com/index.php?s=&showtopic=5553&view=findpost&p=56596
¤
функционал:
¤
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 - регистр номера страницы начала отображения
177240 - регистр номера страницы начала отображения - средняя страница под спрайты
177242 - регистр номера страницы начала отображения - нижняя страница - под фон
¤
177230, далее пойдут биты с описанием
2;0 - режим цветовой интерпретации
4;3 - длина строки в словах
7;6 - растяжение по горизонтали - те количество повторов у точки
10;9 - количество повторов строк
15;12 - длина рулона в словах
¤
теперь подробно
режим цветовой интерпретации, значение от 0 до 7
0 - 1 бит на цвет - 2 цвета
1 - 2 бита на цвет - 4 цвета
2 - 4 бита на цвет - 16 цветов
3 - 8 бит на цвет - 256 цветов
¤
4 - 1 бит на цвет - 8 цветов - сборный "слоеный" режим
5 - 2 бита на цвет - 4 цвета - включены слои
6 - 4 бита на цвет - 16 цветов - включены слои
7 - 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бит]
177240 - регистр номера страницы начала отображения - средняя страница под спрайты
177242 - регистр номера страницы начала отображения - нижняя страница - под фон
¤
маппер памяти
177300-350
¤
177550 - генератор псевдослучайных чисел
177560-177566 - UART
¤
После reset машина стартует автоматически и загружается со первого образа в ini-файле
-
? Макс Багаев@ - 15.12.2022 13:52
Очередное достижение - теперь для БК-0010 доступен и работает софт от БК-0011М
подробности в канале https://t.me/pdp11_az/12856
- << Форум