Сообщения без ответов | Активные темы
Текущее время: 22 дек 2024, 07:58
|
Страница 1 из 1
|
[ Сообщений: 8 ] |
|
Автор |
Сообщение |
TheGWBV
Зарегистрирован: 10 июл 2013, 17:16 Сообщений: 28
|
Программа тестирования палитр для БК0011М
Спустя 20 лет, она таки написана Встречайте, PALTST13.bin -- выводит на экран одновременно 16 блоков (полос) с разными палитрами, от 0-ой до 15-ой... Запускать лучше из под ANDOS или MKDOS (важно, чтобы ВидеоОЗУ проецировалось на адреса 40000..77777) Адрес запуска = 1000 (8). | | | |
Комментарий к файлу: Версия для запуска в эмуляторе GID prod. v3.7
PALTST13.bin.zip [439 байт]
Скачиваний: 1215
| | | | |
| | | |
Комментарий к файлу: Версия для запуска на реальной БК0011М с частотой процессора 4МГц
PALTST13.zip [434 байт]
Скачиваний: 1183
| | | | |
Исходный код:
;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 |
|
|
TheGWBV
Зарегистрирован: 10 июл 2013, 17:16 Сообщений: 28
|
Re: Программа тестирования палитр для БК0011М
В процессе написания и тестирования PALTST13 выяснила, что контроллер ТВ в эмуляторе GID-a формирует КСИ (кадровый синхроимпульс) со значительным опозданием, в реальной БК0011М прерывание от "таймера" 50Гц наступает гораздо раньше! (см. фото экрана ТВ ниже)
|
20 июл 2013, 13:12 |
|
|
TheGWBV
Зарегистрирован: 10 июл 2013, 17:16 Сообщений: 28
|
PALTST15. Программа тестирования палитр для БК0011М
Новая версия программы: - Используется динамическое формирование цветов методом интерлейсинга - Для каждой палитры теперь доступно более 7-ми цветов! - Может служить и для теста переключения видео-страниц В архиве находятся образы дискет с исполняемыми модулями и исходниками как для эмулятора (.MSA) так и для реальной БК (.DOS)... | | | |
Комментарий к файлу: PALTST15. Архив с образами дискет в форматах ANDOS и MKDOS.
PALTST15.zip [705.22 KiB]
Скачиваний: 1131
| | | | |
Скачать "оригинал" видео исполнения на реальной БК0011М можно здесь. Рекомендуется смотреть в офф-лайне!
Последний раз редактировалось TheGWBV 15 апр 2015, 00:56, всего редактировалось 2 раз(а).
|
14 апр 2015, 11:20 |
|
|
litwr2
Зарегистрирован: 11 сен 2014, 17:14 Сообщений: 9
|
Re: Программа тестирования палитр для БК0011М
Красота! Жаль никак не найду времени на анализ кода. Интересно, выложил ли кто демо "Инсульт" в виде видео? Только там вроде бы есть что-то похожее на возможности Программы тестирования палитр.
|
14 апр 2015, 19:57 |
|
|
TheGWBV
Зарегистрирован: 10 июл 2013, 17:16 Сообщений: 28
|
Re: Программа тестирования палитр для БК0011М
Пока только 4-ре части из 19-ти оцифрованны с помощью ТВ-тюнера и выложены... INSULT part 1 => https://www.youtube.com/watch?v=53BXp7t7VCQСкачать оригинал (Размер: 116,5 МБ) https://yadi.sk/i/8VdhT4IgfRYJBINSULT part 2 => https://www.youtube.com/watch?v=f0KulehtcW0Скачать оригинал (Размер: 64,1 МБ) https://yadi.sk/i/cQq7jqeVfSeVDINSULT part 3 => https://youtu.be/6i73x1BNubAСкачать оригинал (Размер: 63,1 МБ) https://yadi.sk/i/9qwhqPD0fSizeINSULT part 4 => https://youtu.be/AZBcfMsspkkСкачать оригинал (Размер: 52,4 МБ) https://yadi.sk/i/8HVKkNgxfzCpW
|
15 апр 2015, 00:17 |
|
|
TheGWBV
Зарегистрирован: 10 июл 2013, 17:16 Сообщений: 28
|
Re: Программа тестирования палитр для БК0011М
В помощь эмуляторщикам
|
20 сен 2015, 16:19 |
|
|
Voland
Администратор
Зарегистрирован: 27 ноя 2011, 01:03 Сообщений: 223 Откуда: Москва
|
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 | #FF0000 |
00 | ...black... | blue | lime | red | 01 | #000000 | #FFFF00 | #FF00FF | #FF0000 | 01 | ...black... | yellow | fuchsia | red | 02 | #000000 | #00FFFF | #0000FF | #FF00FF | 02 | ...black... | aqua | blue | fuchsia | 03 | #000000 | #00FF00 | #00FFFF | #FFFF00 | 03 | ...black... | lime | aqua | yellow | 04 | #000000 | #FF00FF | #00FFFF | #FFFFFF | 04 | ...black... | fuchsia | aqua | white | 05 | #000000 | #FFFFFF | #FFFFFF | #FFFFFF | 05 | ...black... | white | white | white | 06 | #000000 | #C00000 | #900000 | #FF0000 | 06 | ...black... | #C00000 | #900000 | red | 07 | #000000 | #C0FF00 | #90FF00 | #FFFF00 | 07 | ...black... | #C0FF00 | #90FF00 | yellow | 08 | #000000 | #C000FF | #9000FF | #FF00FF | 08 | ...black... | #C000FF | #9000FF | fuchsia | 09 | #000000 | #90FF00 | #9000FF | #900000 | 09 | ...black... | #90FF00 | #9000FF | #900000 | 10 | #000000 | #C0FF00 | #C000FF | #C00000 | 10 | ...black... | #C0FF00 | #C000FF | #C00000 | 11 | #000000 | #00FFFF | #FFFF00 | #FF0000 | 11 | ...black... | aqua | yellow | red | 12 | #000000 | #FF0000 | #00FF00 | #00FFFF | 12 | ...black... | red | lime | aqua | 13 | #000000 | #00FFFF | #FFFF00 | #FFFFFF | 13 | ...black... | aqua | yellow | white | 14 | #000000 | #FFFF00 | #00FF00 | #FFFFFF | 14 | ...black... | yellow | lime | white | 15 | #000000 | #00FFFF | #00FF00 | #FFFFFF | 15 | ...black... | aqua | lime | white |
|
22 сен 2015, 15:14 |
|
|
TheGWBV
Зарегистрирован: 10 июл 2013, 17:16 Сообщений: 28
|
Re: Программа тестирования палитр для БК0011М
В одной ТВ-линии, в любом кадре, используется только одна палитра и в PALTST15, и в PALTST13, а в PALTST15 для эффекта интерлейсинга (наложения цветов друг на друга в правой части экрана) используется поочередное переключение отображения видео-страниц, и таким образом кажется, что в одной ТВ-линии несколько палитр. При этом в правой части экрана цветные полоски мерцают, т.к. там цвет соседних точек меняется местами от кадра к кадру
|
11 ноя 2015, 19:02 |
|
|
|
Страница 1 из 1
|
[ Сообщений: 8 ] |
|
Кто сейчас на форуме |
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0 |
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения
|
закрыть
Советскому бытовому " БК-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
|