x86128: (Default)
[personal profile] x86128 posting in [community profile] besm6
Сделал простенький VGA 320х240 контроллер с 4-мя битовыми плоскостями:



Управляется через три регистра:
77737 - регистр защелки адреса с автоинкрементом по записи в DATA-регистр.
77736 - регистр выбора битовой плоскости, 0 - белый, 1,2 и 3 соотв R G B.
77730 - DATA-регистр запись в который пишет в память контроллера по адресу защелки адреса, увеличивая её на единицу. Учитываются только младшие 8-бит аккумулятора. Т.е. прокрашивается сразу 8 пикселей битовой плоскости.

Конечно, контроллеру нужны режимы наложения битов по плоскостям, но это на потом когда будет SDRAM (её скорости надеюсь хватит чтобы работал и процессор и реальное разрешение хотябы 640х480 12бит на пиксель при 60fps)

Внутри МЭСМ-6 работает небольшой, написанный на БЕМШ, UART-приемник упрощенных пакетов похожих на Intel-HEX:
:LLAAAATTDD
где LL размер пакета (не больше 6 байт)
AAAA - адрес куда записать
TT - всегда 00
DD - данные от 1 до 6 байт.

"Система-франкенштейн" управляется с ПК скриптом на python который шлет в МЭСМ по COM-порту пакеты с адресами портов VGA контроллера.

На скорости 9600 бод, с учетом overhead пакетов, уходит 2 минуты на одну битовую плоскость.




С использованием 4-х плоскостей приходится вгружать на 115200.






This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

Profile

Сообщество любителей БЭСМ-6

December 2025

S M T W T F S
 123456
78910111213
14151617181920
21222324252627
282930 31   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 14th, 2026 10:38 pm
Powered by Dreamwidth Studios