PC-01 Lviv

It is currently 28 Mar 2024, 14:28

Forum Games WEB Tape Loader Twitter RSS

All times are UTC+03:00




Post new topic  Reply to topic  [ 25 posts ]  Go to page Previous 1 2
Author Message
 Post subject:
PostPosted: 21 Dec 2011, 16:32 
Offline
User avatar

Joined: 11 Aug 2008, 17:05
Posts: 1405
Location: Украина
Quote:
Можно подробнее?
Посмотрите на Boulder Dash. И еще я где-то видел hacked by nemo. А ведь у Boulder Dash была пусть и ужасная, но заставка! Теперь она утеряна... :lol:

_________________
Carthago delenda est, Carthaginem delendam esse


Top
   
 Post subject:
PostPosted: 23 Dec 2011, 20:20 
Offline

Joined: 07 Dec 2010, 16:54
Posts: 227
Quote:
Хаер Немо, подпоявший мозги? Можно подробнее?
там спец-загрузчик во многих играх был, т.к. сливалось всё эмулятором в дампы ОЗУ, то потом модифицировалось (чтобы можно было загрузить). Что-то я восстановил до .LVT формата, что-то так и осталось в дампах. Что-то было переделано до уровня имитации загрузки с магнитофона (не мной, это было в присланном архиве). Так оно и осталось. Я не смешивал данные из разных источников, поэтому могу отследить "что откуда".


Top
   
 Post subject:
PostPosted: 23 Apr 2012, 21:38 
Offline
User avatar

Joined: 11 Aug 2008, 17:05
Posts: 1405
Location: Украина
Неожиданное продолжение темы мультиколора для "Львова". Запустил в виртуальной машине эмуль e3000, где обнаружил любопытную настройку:
Image
"Multicolor support" - что это такое?! :shock:

_________________
Carthago delenda est, Carthaginem delendam esse


Top
   
 Post subject:
PostPosted: 24 Apr 2012, 10:57 
Offline
Site Admin
User avatar

Joined: 24 Jul 2008, 12:05
Posts: 1070
Может, уважаемый Антон Игнатичев подскажет? Все-таки автор эмулятора благодарит именно его за помощь по "Львову".
Ну а с моей точки зрения, поддержка мультиколора как-то завязана на синхронизацию видеопамяти и формирования изображения (приближаясь к реалу). Как я подозреваю, фича мультиколора заключалась в изминении палитры (байтов видеопамяти?) в процессе вывода изображения на экран. Например, в эмуляторе Калашникова (напомню, что наш эмуль на его основе) этой фичи нет. Там память выгребается полностью 50 раз в секунду, т.е. кадр формируется "мгновенно".


Top
   
 Post subject:
PostPosted: 24 Apr 2012, 19:12 
Offline

Joined: 04 Sep 2008, 19:39
Posts: 131
Location: Владимир
Неее... по части "мультиколора" Евгений со мной не советовался. В моём эмуляторе (который на современных ОС приходится эмулировать))) для эмуляции OUT 0C1H устанавливались значения DAC-регистров через int 10h. При этом, конечно же, точность эмуляции скорости выполнения программы была весьма приблизительной.


Top
   
 Post subject:
PostPosted: 26 Apr 2012, 00:56 
Offline

Joined: 04 Sep 2008, 19:39
Posts: 131
Location: Владимир
Quote:
Неее... по части "мультиколора" Евгений со мной не советовался.
Хе-хе, что-то с памятью моей стало...
В общем, в марте 2002-го Евгений реализовал мультиколор, который был опробован на Graphics.lvt, ожидаемо привёл к "тормозам" и был вынесен в опцию.


Top
   
 Post subject:
PostPosted: 26 Apr 2012, 01:00 
Offline
User avatar

Joined: 11 Aug 2008, 17:05
Posts: 1405
Location: Украина
Quote:
В общем, в марте 2002-го Евгений реализовал мультиколор, который был опробован на Graphics.lvt, ожидаемо привёл к "тормозам" и был вынесен в опцию.
А в чем суть этого мультиколора? Это аппаратное или программное решение?

_________________
Carthago delenda est, Carthaginem delendam esse


Top
   
 Post subject:
PostPosted: 26 Apr 2012, 01:13 
Offline

Joined: 04 Sep 2008, 19:39
Posts: 131
Location: Владимир
Quote:
А в чем суть этого мультиколора? Это аппаратное или программное решение?
Суть в том, что нет никакого мультиколора :)
Просто можно при эмуляции отрисовывать экран целиком при палитре, установленной на момент начала отрисовки, а можно учитывать возможность изменения палитры в ходе отрисовки, если потоки эмуляции и отрисовки жёстко не синхронизированы.
Если б у "Львова" было прерывание по обратному ходу луча, можно было б менять палитру для части экрана, а так это будут горизонтальные полосы, скользящие вверх или вниз.


Top
   
 Post subject: Re:
PostPosted: 05 Sep 2012, 16:02 
Offline

Joined: 23 Aug 2012, 12:28
Posts: 123
Quote:
горизонтальные полосы, скользящие вверх или вниз
Если подобрать задержки таким образом, чтобы цикл смены цветов точно уложился в кадр, то скольжения не будет, картинка будет неподвижной.
Остается еще одна проблема - положение "расцветки" относительно картинки (или относительно границ экрана). При отсутствии прерываний вижу только один выход - дать возможность пользователю нажатием клавиши "сдвинуть расцветку" (просто по нажатию клавиши выждать некий интервал).
В E3000 (не нравится мне этот эмулятор, но альтернативы для мультиколора на львове я не знаю) получилось сделать примерно то, что я описал, но к реалу, конечно, это практически не имеет отношения.
На реале могут быть и дополнительные засады:
1. Разное торможение в активной области и "на бордюре". Это сильно затруднило бы отладку, но если сдвинуть в правильное положение, то все должно стать нормально. К слову, если время выполнения команд меняется в зависимости от того, какая часть экрана отображается, это может сильно портить биперную музыку букетом левых гармоник.
2. В любой ли момент можно изменить палитру? Понятно, что в ВВ55 можно записать в любой момент, но сразу ли это скажется на изображении? Это я предполагаю по аналогии со скроллингом на векторе, где значение из вв55 берется 1 раз за кадр.
3. Может еще что забыл.


Top
   
PostPosted: 05 Oct 2012, 20:47 
Offline

Joined: 23 Aug 2012, 12:28
Posts: 123
Слегка доделал первоначальный вариант мультиколора, добавил "интерактивности". Теперь можно считать это заготовкой и для реала.
Реагирует на 3 кнопки:
1. Пробел - сместить мультиколор "вниз" относительно экрана
2. Вверх - увеличить задержку
3. Вниз - уменьшить задержку
Текущая величина задержки отображается на экране в 16ричном виде.
Этот вариант подогнал так, чтобы при задержке 80h картинка была неподвижной в E3000 при включенной опции мультиколора.
Если диапазона регулирования задержки не хватит для остановки картинки на реале, то можно менять DELAY1 и DELAY2. Если картинка почти остановится, но при одной пограничной задержке полосы пойдут вниз, а при соседней - вверх, то можно еще изменить фрагмент "Точная подстройка" (добавить или убрать оттуда команды, делающие задержку).


Attachments:
frame.zip [1.36 KiB]
Downloaded 995 times
Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 25 posts ]  Go to page Previous 1 2

Forum Games WEB Tape Loader Twitter RSS

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
cron
Powered by phpBB® Forum Software © phpBB Limited