Ответить на тему  [ Сообщений: 8 ] 
 
Автор Сообщение
Аватар пользователя

Зарегистрирован: 10 июл 2013, 17:16
Сообщений: 28
Сообщение Программа тестирования палитр для БК0011М
Спустя 20 лет, она таки написана :D

Встречайте, PALTST13.bin -- выводит на экран одновременно 16 блоков (полос) с разными палитрами, от 0-ой до 15-ой...

Запускать лучше из под ANDOS или MKDOS (важно, чтобы ВидеоОЗУ проецировалось на адреса 40000..77777)
Адрес запуска = 1000 (8).

Комментарий к файлу: Результат работы в эмуляторе GID prod. v3.7
Комментарий к файлу: Версия для запуска в эмуляторе GID prod. v3.7
PALTST13.bin.zip [439 байт]
Скачиваний: 1386
Комментарий к файлу: Версия для запуска на реальной БК0011М с частотой процессора 4МГц
PALTST13.zip [434 байт]
Скачиваний: 1352


Исходный код:
;PALTST13 - Демонстрация всех 16 палитр ТВ-контроллера БК0011М
; внутри одного ТВ-кадра, используя таймеры CPU и 48.50Гц
; (C) 2013, TheGWBV
; КСИ == кадровый синхро-импульс
;
.LA 1000 ; Адрес загрузки и начального запуска
;
;------------------------ БЛОК КОНСТАНТ
SSTART = 40000 ; Адрес начала экранного ОЗУ
SCRLEN = 20000 ; Длина экранного ОЗУ в словах
SCRLNB = 40000 ; Длина экранного ОЗУ в байтах
SCREND = 100000 ; Адрес конца экранного ОЗУ+1
;
;------ ПОДГОТОВКА ЭКРАНА И "ТАЙМЕРА" 48.50Гц
START: MOV #1330,@#177664 ; Выровняли РУЛОН экрана
MOV @#100,VTIME0+2 ; Сохранили вектор прерывания
MOV @#102,VTPSW0+2 ; Сохранили слово состояния CPU
MOV #TIME1,@#100 ; Куда идем на 1-ом КСИ
CLR R5 ;
MOV #177662,R4 ; Установили 0-вую ПАЛИТРУ и
MOV R5,(R4) ; Включили ТАЙМЕР 48.50Гц
WAIT ; Ждем 1-ый КСИ
WAIT ; Ждем 2-ой КСИ
MOV #100,R3
2: MOV #SHIFT0,R1 ; НАЧАЛО ПОТОКА в R1
CALL SSOPUT ; ОТОБРАЗИТЬ ПОТОК начиная с (R0)
SOB R3,2 ; #100 раз (по горизонтали)
ADD #300,R0
MOV #100,R3
3: MOV #SHIFT0,R1
CALL SSOPUT
SOB R3,3 ; Еще 64. раза
MOV #20,R2
ADD #710,R0
8: CALL GBLINE
ADD #320,R0
CALL GBLINE
ADD #320,R0
CALL GBLINE
ADD #520,R0
SOB R2,8
;------ ПЕРЕКЛЮЧЕНИЕ ПАЛИТР 17 раз КАЖДЫЕ 14-ть ТВ СТРОК
MOV #177706,R5
MOV #177777,(R5)+ ; Подготовка ТАЙМЕРА ПРОЦ-А
MOV #TIME0,@#100 ; Подготовка ТАЙМЕРА 48.50Гц
CLR R3
MOV #177662,R4
MOV R3,(R4) ; ЗАПУСК ТАЙМЕРА 48.50Гц
WAIT ; по КСИ перезапускаем ТАЙМЕР ПРОЦ-А
9: WAIT
10: CMP (R5),R0
BHI 10
12: MOV R3,(R4)
ADD #400,R3
BIC #170377,R3
SUB #34,R0 ; ЧИСЛО ТИКОВ ТАЙМЕРА ДО СМЕНЫ ПАЛИТРЫ
SOB R2,10
CLR R3
MOV R3,(R4) ; ПЕРЕКЛЮЧИТЬ на 0-ую ПАЛИТРУ
BR 9
HALT
;
;------ ВЫВОД ЗЕЛЕНЫХ И СИНИХ ПОЛОСОК
GBLINE: MOV #14,R3
4: MOV #GREEN0,R1
CALL SSOPUT
SUB #277,R0
SOB R3,4
MOV #14,R3
5: MOV #GREEN0,R1
CALL SSOPUT
SUB #277,R0
SOB R3,5
MOV #14,R3
6: MOV #BLUE0,R1
CALL SSOPUT
SUB #277,R0
SOB R3,6
MOV #14,R3
7: MOV #BLUE0,R1
CALL SSOPUT
SUB #277,R0
SOB R3,7
RET
TIME0: ; РЕСТАРТ ВНУТРЕННЕГО ТАЙМЕРА ПРОЦЕССОРА по КСИ
MOV #21,R2 ; КОЛИЧЕСТВО ПЕРЕКЛЮЧЕНИЙ ПАЛИТР
MOV #177712,R0 ; СДВИГ 1-го ПЕРЕКЛЮЧЕНИЯ от КСИ
MOV #22,@#177712 ; ЗАПУСК ТАЙМЕРА ПРОЦЕССОРА НА СЧЕТ
RTI
;------ ЗАЛИВКА ЭКРАНА ЧАСТЯМИ, ПО ТАЙМЕРУ 48.50Гц
TIME2: MOV #TIME3,@#100 ; Куда пойдем на 3-ем КСИ
MOV #177777,R1
1: MOV R1,-(R0)
SOB R3,1
RTI
;------ КОНЕЦ ЗАЛИВКИ ЭКРАНА
TIME3: MOV #177777,R1 ; #146314,R1
MOV #TIME4,@#100 ; Куда пойдем на 4-ом КСИ
RTI
TIME4: MOV #177777,R1 ; #31463,R1
MOV #TIME5,@#100
RTI
TIME5: MOV #177777,R1
MOV #TIME6,@#100
RTI
TIME6: MOV #177777,R1
MOV #TIME7,@#100
RTI
;--------------------------------
TIME1: MOV #TIME2,@#100 ; Куда пойдем на 2-ом КСИ
MOV #SCRLEN,R3 ; Кол-во СЛОВ для вывода в R3
MOV #SCREND,R0 ;
RTI ;
;--------------------------------
TIME7: MOV #40000,R5 ; ЗАПРЕТ ПРЕРЫВАНИЙ
MOV #177662,R4 ; от ТАЙМЕРА 48.50Гц
MOV R5,(R4) ; УСТАНОВКА 0-ой ПАЛИТРЫ
MOV #177777,R1 ; Снова заливать КРАСНЫМ цветом
MOV R3,VRAMR3
VTIME0: MOV #TIME7,@#100 ; Модифицирующийся код
VTPSW0: MOV #340,@#102 ; восстановления векторов
RTI ; прерывания ТАЙМЕРА 48.50Гц
VRAMR3: HALT ; Осталось вывести СЛОВ напоследок
COPYR0: HALT
COPYR1: HALT
COPYR2: HALT
COPYR3: HALT
COPYR4: HALT
COPYR5: HALT
COPYR6: HALT
;------ БИБЛИОТЕКА SPRITE STREAM OBJECTS *.SSO ------
SSOPUT: TSTB (R1)+
BEQ SSOEND ; Если ТРИАДА началась 0-ем НЕТ ПОТОКА
BLO SSOW ; Если меньше 0 => ПОТОК СЛОВ, НЕ БАЙТ
SSOB: ; ОБРАБОТКА ПОТОКА БАЙТ
BICB (R1)+,(R0) ; НАНЕСЛИ МАСКУ НА "ФОН"
BISB (R1)+,(R0) ; ВЫВЕЛИ ПИКСЕЛИ "ПО МАСКЕ"
MOVB (R1)+,R4 ; Очередной "SHIFT" в R4
BIC #177400,R4 ; Обнулить СТАРШИЙ БАЙТ R4
TSTB R4
BEQ SSOEND
MOV #200,R5
CMP R4,R5 ; R4-R5
BLE SSOB1 ; Если R4 МЕНЬШЕ ИЛИ РАВЕН #200
ADD R5,R0
SUB R4,R0
BR SSOB
SSOB1: ADD R4,R0
BR SSOB
SSOW: ; ОБРАБОТКА ПОТОКА СЛОВ
SSOEND: RET
¤
; СТРУКТУРА ПОТОКА БАЙТов
SHIFT0: .BYTE 1 ; 1 = БАЙТовый ПОТОК БЕЗ СМЕЩЕНИЯ по X
MASK00: .BYTE 17 ; ....
BPIC00: .BYTE 12 ; .G.G....
SHIFT1: .BYTE 100 ; Y=Y+1 Вывести РОВНО НА ТВ СТРОКУ НИЖЕ
MASK01: .BYTE 17 ; ....
BPIC01: .BYTE 12 ; .G.G....
SHIFT2: .BYTE 100 ;
.BYTE 360 ; ....
.BYTE 120 ; ....B.B.
SHIFT3: .BYTE 100 ;
.BYTE 360 ; ....
.BYTE 120 ; ....B.B.
SHIFT4: .BYTE 300 ; Смещаем КУРСОР НА ОДНУ ТВ СТРОКУ ВЫШЕ
; 200<SHIFT<301 => R0=R0+200-300
; Y=Y-1, X=X+100+(200)-300=X+0
.BYTE 0 ; НИЧЕГО НЕ ВЫВОДИМ, R0=R0+200-300
.BYTE 0 ; МАСКУ НА "ФОН" НЕ НАКЛАДЫВАЕМ
SHIFT5: .BYTE 377 ; Y=Y-2, X=X+100+(300)-377=X+1
.BYTE 0 ; SHIFT>300 => R0=R0+200-377
.BYTE 0
SHIFT7: .BYTE 0 ; 0 в ПОЛЕ типа ШИФТ = КОНЕЦ ПОТОКА
.EVEN ; Выравнивание по словам после ТРИАД
GREEN0: .ASCII <1><377><12>
.ASCII <100><377><12>
.ASCII <100><377><240>
.ASCIZ <100><377><240>
.EVEN
BLUE0: .ASCII <1><377><5>
.ASCII <100><377><5>
.ASCII <100><377><120>
.ASCIZ <100><377><120>
.EVEN
GREEN1: .ASCII <1><377><12>
.ASCII <100><377><240>
.ASCII <100><377><12>
.ASCIZ <100><377><240>
BLUE1: .ASCII <1><377><5><100><377><120>
.ASCIZ <100><377><5><100><377><120>
.END


10 июл 2013, 17:37
Профиль
Аватар пользователя

Зарегистрирован: 10 июл 2013, 17:16
Сообщений: 28
Сообщение Re: Программа тестирования палитр для БК0011М
В процессе написания и тестирования PALTST13 выяснила, что контроллер ТВ в эмуляторе GID-a формирует КСИ (кадровый синхроимпульс) со значительным опозданием, в реальной БК0011М прерывание от "таймера" 50Гц наступает гораздо раньше! (см. фото экрана ТВ ниже)

Комментарий к файлу: Результат работы версии для эмулятора на реальной БК0011М @ 4MHz.
Комментарий к файлу: Результат работы версии для реальной БК0011М в эмулятре GID prod. v3.7.
Комментарий к файлу: Результат работы версии для реальной БК0011М на реальной БК0011М @ 4MHz.


20 июл 2013, 13:12
Профиль
Аватар пользователя

Зарегистрирован: 10 июл 2013, 17:16
Сообщений: 28
Сообщение PALTST15. Программа тестирования палитр для БК0011М
Новая версия программы:
- Используется динамическое формирование цветов методом интерлейсинга
- Для каждой палитры теперь доступно более 7-ми цветов!
- Может служить и для теста переключения видео-страниц

В архиве находятся образы дискет с исполняемыми модулями и исходниками как для эмулятора (.MSA) так и для реальной БК (.DOS)...
Комментарий к файлу: PALTST15. Архив с образами дискет в форматах ANDOS и MKDOS.
PALTST15.zip [705.22 KiB]
Скачиваний: 1308

Скачать "оригинал" видео исполнения на реальной БК0011М можно здесь. Рекомендуется смотреть в офф-лайне! :)
Комментарий к файлу: Два поля объединены в одно (статически).


Последний раз редактировалось TheGWBV 15 апр 2015, 00:56, всего редактировалось 2 раз(а).



14 апр 2015, 11:20
Профиль

Зарегистрирован: 11 сен 2014, 17:14
Сообщений: 9
Сообщение Re: Программа тестирования палитр для БК0011М
Красота! Жаль никак не найду времени на анализ кода. Интересно, выложил ли кто демо "Инсульт" в виде видео? Только там вроде бы есть что-то похожее на возможности Программы тестирования палитр.


14 апр 2015, 19:57
Профиль
Аватар пользователя

Зарегистрирован: 10 июл 2013, 17:16
Сообщений: 28
Сообщение Re: Программа тестирования палитр для БК0011М
litwr2 писал(а):
Интересно, выложил ли кто демо "Инсульт" в виде видео? Только там вроде бы есть что-то похожее на возможности Программы тестирования палитр.
Пока только 4-ре части из 19-ти оцифрованны с помощью ТВ-тюнера и выложены...

INSULT part 1 => https://www.youtube.com/watch?v=53BXp7t7VCQ
Скачать оригинал (Размер: 116,5 МБ) https://yadi.sk/i/8VdhT4IgfRYJB

INSULT part 2 => https://www.youtube.com/watch?v=f0KulehtcW0
Скачать оригинал (Размер: 64,1 МБ) https://yadi.sk/i/cQq7jqeVfSeVD

INSULT part 3 => https://youtu.be/6i73x1BNubA
Скачать оригинал (Размер: 63,1 МБ) https://yadi.sk/i/9qwhqPD0fSize

INSULT part 4 => https://youtu.be/AZBcfMsspkk
Скачать оригинал (Размер: 52,4 МБ) https://yadi.sk/i/8HVKkNgxfzCpW


15 апр 2015, 00:17
Профиль
Аватар пользователя

Зарегистрирован: 10 июл 2013, 17:16
Сообщений: 28
Сообщение Re: Программа тестирования палитр для БК0011М
В помощь эмуляторщикам :95:

Комментарий к файлу: Все палитры БК0011М, полученные нарезкой захваченных ТВ-тюнером кадров при исполнении теста МСТД11 Т7...
Комментарий к файлу: Все палитры БК0011М, полученные нарезкой захваченных платой Datapath VisionRGB-PRO1 DGC103C кадров при исполнении теста МСТД11 Т7...


20 сен 2015, 16:19
Профиль
Администратор
Аватар пользователя

Зарегистрирован: 27 ноя 2011, 01:03
Сообщений: 226
Откуда: Москва
Сообщение Re: Программа тестирования палитр для БК0011М
Итого, наглядно обобщая:


Палитры БК-0011М в 16-ричных кодах цветов HTMLИспользуя цветовые константы

red     = #FF0000
yellow = #FFFF00
fuchsia = #FF00FF
white = #FFFFFF
lime = #00FF00
blue = #0000FF
aqua = #00FFFF
получим ====>
В стандартных цветовых константах HTML
Палитра №
0
1
2
3
Палитра №
0
1
2
3
00#000000#0000FF#00FF00#FF000000...black...bluelimered
01#000000#FFFF00#FF00FF#FF000001...black...yellowfuchsiared
02#000000#00FFFF#0000FF#FF00FF02...black...aquabluefuchsia
03#000000#00FF00#00FFFF#FFFF0003...black...limeaquayellow
04#000000#FF00FF#00FFFF#FFFFFF04...black...fuchsiaaquawhite
05#000000#FFFFFF#FFFFFF#FFFFFF05...black...whitewhitewhite
06#000000#C00000#900000#FF000006...black...#C00000#900000red
07#000000#C0FF00#90FF00#FFFF0007...black...#C0FF00#90FF00yellow
08#000000#C000FF#9000FF#FF00FF08...black...#C000FF#9000FFfuchsia
09#000000#90FF00#9000FF#90000009...black...#90FF00#9000FF#900000
10#000000#C0FF00#C000FF#C0000010...black...#C0FF00#C000FF#C00000
11#000000#00FFFF#FFFF00#FF000011...black...aquayellowred
12#000000#FF0000#00FF00#00FFFF12...black...redlimeaqua
13#000000#00FFFF#FFFF00#FFFFFF13...black...aquayellowwhite
14#000000#FFFF00#00FF00#FFFFFF14...black...yellowlimewhite
15#000000#00FFFF#00FF00#FFFFFF15...black...aqualimewhite


22 сен 2015, 15:14
Профиль
Аватар пользователя

Зарегистрирован: 10 июл 2013, 17:16
Сообщений: 28
Сообщение Re: Программа тестирования палитр для БК0011М
litwr2 писал(а):
Красота! Жаль никак не найду времени на анализ кода.

В одной ТВ-линии, в любом кадре, используется только одна палитра и в PALTST15, и в PALTST13, а в PALTST15 для эффекта интерлейсинга (наложения цветов друг на друга в правой части экрана) используется поочередное переключение отображения видео-страниц, и таким образом кажется, что в одной ТВ-линии несколько палитр. При этом в правой части экрана цветные полоски мерцают, т.к. там цвет соседних точек меняется местами от кадра к кадру :)


11 ноя 2015, 19:02
Профиль
Показать сообщения за:  Сортировать по:  
Ответить на тему   [ Сообщений: 8 ] 

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0


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

Найти:
Перейти:  
Powered by phpBB © 2000 - 2011 phpBB Group.
Design creat de Florea Cosmin Ionut | Translation by WebSok.Ru

закрыть

Советскому бытовому " БК-0011М" посвящается...


Вопреки всем скептикам и недоброжелателям, дело БК живет и развивается. Не за горами день, когда будет выпущен в свет "БК-0012 Pulsar" - расширенный FPGA-клон БК-0011М. Пока же на данном форуме Вы можете ознакомиться с репликами БК-0011М(-01), приставкой Booster-11, репликой контроллера SMK64 (а также его FPGA-клоном - SMK512), аппаратным эмулятором ПЗУ КР1801РЕ2Б, блоками расширения с процессорами ВМ2/ВМ3, и другими интересными материалами и работами.
Ведутся работы по отрисовке в 3D корпусов БК, МСТД, оригинальных клавиатуры, джойстика и мыши, но пока не удается найти их производство по приемлемой цене при малом тираже. Выполнено производство новодельных пленок для клавиатур БК-0011М.
Важным для возрождения БК и его сообщества является новый софт (игры и демо в особености), и они периодически появляются!
Удалось решить многие hard-задачи, но нет системных программистов, востребованных в проекте БК-0012, как минимум для тестирования. Требуется разработка полноценного Win32-компилятора Си в bin-файлы БК.
Релизован полноценный каталогизатор всего софта БК, с удобным интерфейсом. Осталось выполнить собственно большую задачу каталогизации.

Ждем ваших откликов, идей. Сообщайте о данном ресурсе всем, кто увлекался в прошлом БКшкой, присылайте их и свои e-mail для рассылки новостей из мира БК.

nimamov@mail.ru