PDA

Просмотр полной версии : Львов ПК-01 programming reference



NEO SPECTRUMAN
23.03.2021, 04:28
Собственно тут я буду неспешно складывать результаты всякого тестирования и другие давно известные вещи (чтоб не терялись)


Карта памяти львова переключается битом d1 порта $С2


C2 d1 = 0 C2 d1 = 1

0000...3FFF RAM 2 mirror RAM 0
4000...7FFF VRAM RAM 1
8000...BFFF RAM 2 RAM 2
C000...FFFF ROM ROM






$C1 - Порт палитры

Битами d6,d5,d4 выбирается основной цвет (зеленый при этом инверсный)
http://pc01.lviv.ua/forum/download/file.php?id=19

осталные цвета задаются инвертированием компонент основного цвета
2-й цвет - битами d3,d2
3-й цвет - битом d1
4-й цвет - битом d0
http://pc01.lviv.ua/forum/download/file.php?id=18

d7 порта палитры ВНЕЗАПНО отвечает за включение набортного динамика
C1 d7 = 0 - набортный динамим выключен (на него всегда идет 1)
C1 d7 = 1 - набортный динамим включен (на него идет содержимео C2 d0)


Соответствие байта экрана логическим цветам палитры



0xxx0xxx - цвет 2 - d3,d2 (черный в стандартной палитре)
0xxx1xxx - цвет 4 - d0 (синий в стандартной палитре)
1xxx0xxx - цвет 1 - d6,d5,d4 (зеленый в стандартной палитре)
1xxx1xxx - цвет 3 - d1 (красный в стандартной палитре)


Таблица соответствия номеров палитры её цветам (нужно прибавлять $80 для работы звука)
https://i.postimg.cc/L5gczwr4/lvov-palettes.png
в последовательности сверху вниз
0xxx0xxx - цвет 2
0xxx1xxx - цвет 4
1xxx0xxx - цвет 1
1xxx1xxx - цвет 3

При включении в порт палитры записывается $8F



Видео память занимает 16К и цепляется по адресам $4000...7FFF сбросом бита d1 порта C2

экран линейный слева направо сверху вниз 256х256 пикселей (64х256 байта)
01yy yyyy yyxx xxxx

1 байт видео памяти описывает 4 пикселя

Строение байта


----T---T---T---T---T---T---T---¬
¦ 7 ¦ 6 ¦ 5 ¦ 4 ¦ 3 ¦ 2 ¦ 1 ¦ 0 ¦ Байт экранного ОЗУ
L-T-+-T-+-T-+-T-+-T-+-T-+-T-+-T--
¦ ¦ ¦ L---+---+---+---*
¦ ¦ L-------+---+---* ¦
¦ L-----------+---* ¦ ¦
L---------------* ¦ ¦ ¦
¦ ¦ ¦ ¦
--+-T-+-T-+-T-+-¬
¦ 1 ¦ 2 ¦ 3 ¦ 4 ¦ Пикселы на экране


Соответствие битов каждого цвета логическим цветам палитры
0xxx0xxx - цвет 2
0xxx1xxx - цвет 4
1xxx0xxx - цвет 1
1xxx1xxx - цвет 3


Бипер и магнитофонный выход



С1 d7 C2 d0
0 0 BEEP TAPE B=1 T=1
0 1 BEEP .... B=1 T=0
1 0 .... TAPE B=0 T=1
1 1 BEEP .... B=1 T=0

можно пищать как чисто магнитофоном
сбросив d7 порта C1 в 0


С1 d7 C2 d0
0 0 BEEP TAPE B=1 T=1
0 1 BEEP .... B=1 T=0


так и чисто бипером по отдельности
сбросив d0 порта C2 в 0 и дрыгая d7 порта C1


С1 d7 C2 d0
0 0 BEEP TAPE B=1 T=1
1 0 .... TAPE B=0 T=1


а можно пищать и тем и тем одновременно
установив d7 порта С1 в 1 и дрыгая d0 порта С2


С1 d7 C2 d0
1 0 .... TAPE B=0 T=1
1 1 BEEP .... B=1 T=0