С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Не знаю, "чукча - читатель, чукча - не писатель" (демок с AY и скроллами не пишу).
Ну вот я потому и спросил. Мне интересно - мигание возникает вследствие недостатка быстродействия ПК-8000 для полноэкранного мультиколора или просто еще не задействовано прерывание для синхронизации смены цвета с ходом луча. Уж больно интересный эффект - интересна его перспектива.
Последний раз редактировалось Tim0xA; 12.02.2009 в 11:41.
Скажем по исходнику, синхронизация смены цветных плоскостей происходит по прерываниям. Процедура Int. Но вот пересылка плоскостей происходит через процедуру ПЗУ.
В приципе, если задаться целью, то можно думаю уменьшить мерцание - надо немного изменить по крайней мере метод пересылки данных.
В 3col реализован эффект, который, насколько я знаю, на спектруме назывался(ется) 3-color. Картинка раскладывается на 3 составляющие - R,G,B и эти составляющие показываются на экране поочередно через 1/50 сек.
Фишка - можно показать 8цветную картинку без ограничений на раскраску атрибутами (т.е. каждая точка может быть своим цветом).
Недостаток - т.к. фактическая частота вывода "полных картинок" получается примерно 16,67 Гц, то мигание очень сильно заметно.
Особенности реализации - в отличие от спектрума, у которого max 2 экранные области (у 128го), у ПК8000 - до 4х, поэтому просто выводим в 3 экранные области нужный рисунок нужным цветом и по прерыванию переключаем (в отличие от спека быстродействие процессора не критично).
Перспективы
![]()
1. Уменьшение заметности мигания можно получить, если чередовать 2 экранные области (частота вывода "полных картнинок" 25 Гц), но если подход к разложению на цвета будет таким же (т.е. просто взять 2 из 3 bitplanов - или R и B, или G и B и т.д.) - цветов будет меньше и картинку надо подбирать соответствующую.
2. Можно чередовать не только базовые цвета, но и любые, видел такое и в спековских демках и в msxных. Проблема - если отображать не только абстрактные узоры, то нужно знать соответствие чередующихся цветов и "видимого глазом" цвета. Знаю, что на msx это определили, видел одну или две демки, где показывались многоцветные картники на msx1. Насколько знаю, под этот вариант в свободном доступе конвертеров нет.
"яркая" фотка выглядит почти хорошо, хотя понятно, что когда смотришь на ТВ, мигание напрягает.
Пример проигрывания конверснутого WAV файла через бипер. Через AY было бы качественнее, но памяти потребовалось бы в 4 раза больше.
Запуск как обычно bload"ZOLTEL",r
В эмуляторе звучит высоковато, но я посчитал такты - на реале должно быть в самый раз.
http://retrocomp.narod.ru/pk8000/ZolTel.zip
Последний раз редактировалось ivagor; 22.12.2009 в 14:47.
Сделал вариант прошивки ПК8000, совместимый и с z80 и с КР580. Исходные варианты (1.1 и 1.2) не работают нормально на z80, как и другие клоны BASIC "Микрон". В отличие от векторовского BASIC 2.5, в варианте ПК8000 есть сравнительно много свободного места, поэтому патч ничего не урезает, только быстродействие будет чуть меньше. Вобщем, можно побаловаться в эмуляторе.
http://retrocomp.narod.ru/pk8000/basicPK8000z.zip
Последний раз редактировалось ivagor; 22.12.2009 в 14:47.
Не прошло и года и баг нашелся. Это не баг bsave и даже не баг именно бейсика ПК8000, это баг подпрограммы перевода FLOAT->DE оригинального бейсика РК86, он есть и в орионовском бейсике (даже в 4.10). В "микроне" он был исправлен, (поэтому и в векторовском basic 2.5 с этой подпрограммой нормально). Попробовал по аналогии с "микроном" исправить (в выкладывании не вижу смысла - менять ПЗУ никто не будет, поэтому и пост с бейсиком под z80 пытался удалить) - стало ОК. Так глядишь, к концу 21 века вобще все ошибки будут отловлены.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)