Author |
Message |
MC68k
Retired
Joined: 25 Jul 2011 00:14 Posts: 1329 Location: WWW
|
подобные фокусы очень хорошо получались на цветной электронике.
|
25 May 2013 02:21 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 23298 Location: Silicon Valley
|
Ну что такое dithering я и так знал
Мы с помощью него подправляем полноцветные изображения для вывода в RGB565
А вот что такое "дeдитеринг"?
|
25 May 2013 04:16 |
|
|
HardWareMan
Banned
Joined: 20 Mar 2005 13:41 Posts: 2141 Location: От туда
|
Обратная дитерингу функция. Применялась на сеге, поэтому, некоторые игры через RGB выглядели несколько иначе.
|
25 May 2013 05:34 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 23298 Location: Silicon Valley
|
Ааа - dedithering - понятно :) P.S. Поприкидывал на логике - палитра EGA2VGA тяжеловатой получается, т.е. видимо придётся аналоговые смесители на резисторах и транзисторах городить... P.P.S. Единственное, что при аналоговом смешении коричневый будет не совсем коричневый, а скорее грязно-жёлтый: http://avga.prometheus4.com/index.php?p=2-3P.P.P.S. Наверное можно подмухлевать с аналоговым ключом, чтобы коричневый был исключением - у него надо зелёную составляющую в 2 раза уменьшать при аналоговом смешении:
http://en.wikipedia.org/wiki/Color_Graphics_Adapter
Last edited by Shaos on 25 May 2013 08:16, edited 3 times in total.
|
25 May 2013 07:12 |
|
|
vinxru
Retired
Joined: 27 Mar 2013 04:55 Posts: 587 Location: 62.192.229.16
|
А чем вам dedithering (в обсуждаемом случае) отличается от изменения размера изображения (с интерполяцией)?
|
25 May 2013 07:45 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 23298 Location: Silicon Valley
|
Видимо только тем, что берёт в качестве источника картинку с дизерингом
|
25 May 2013 08:03 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 23298 Location: Silicon Valley
|
Кстати я только что подсчитал - в этой палитре EGA2VGA только 85 уникальных цветов и похоже удастся построить генератор такой палитры на резисторах и диодах, правда схема коррекции коричневого цвета добавляет хлопот...
|
26 May 2013 13:24 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 23298 Location: Silicon Valley
|
Эмулируем:
Shift-F8 включает/выключает "de-dithering":
Вот так будет выглядеть FlexNavigator в беcпалитровом 16-цветном режиме:
У меня есть его сырцы - цвета можно будет подкорректировать...
P.S. Да и под "правильное" разрешение можно будет подогнать
|
26 May 2013 17:26 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 23298 Location: Silicon Valley
|
Мой эмулятор стал "спектрум-совместимым"
Это на нём запущен BasicSE IV в HiRes моде...
|
26 May 2013 23:19 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 23298 Location: Silicon Valley
|
Порты видимо придётся перевернуть, т.к. случайные программы могут обращаться к портам старой однобайтовой командой и при этом на старшый байт адреса пойдёт содержимое регистра A, что может привести к случайному выбору порта вида #AAxx если в A попадётся #AA, т.е. формат стандартных портов надо сделать #xxAA. чтобы они случайно не выбрались (если потом не хватит - добавим #xxAB и т.д.)...
|
27 May 2013 18:29 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 23298 Location: Silicon Valley
|
Есть туманное осознание того, как подружить DSS, BasicSE и CP/M - попробую описать словами. Вобщем у меня не предвидится НИКАКОГО кода из старых спринтеровских биоса и эстекса - соответственно место в первом окне освобождается - туда можно затолкать BasicSE (т.е. функциональный аналог ZX-спектрума). Среди спектрумовских RST-точек есть точка 30h, которая как я думаю используется только самим ZX-ромом - туда можно поставить обработчик вызовов BIOS/ESTEX/MOUSE для спринтеровских программ (т.е. спринтеровские RST 10h и RST 18h будут превращаться в RST30h) подкорректировав ром, чтобы он туда не шёл. В точку 66h вместо бесполезной спектрумовской NMI-затычки ставим нашу - которая будет перехватывать обращения к неизвестным портам и командам акселератора. Наш код планирую расположить сверху - в самом последнем окне, причём в ОЗУ (да наверное на самом деле всё в ОЗУ будет). При необходимости код может самопереноситься в другие окна, самомодифицируясь под новые адреса. Кроме программ EXE появится возможность запускать TAP-файлы, SNA-файлы и возможно даже TRD (которые используют правильные точки входа). В случае запуска COM-файлов, система переходит в CP/M-80 режим, когда нулевое окно переключается в ОЗУ, заполняя при этом RST-точки нужными переходами в наш код - т.е. COM-файлы также могут иметь спринтеровский функционал (вызовы RST 10h и RST 18h корректировать тут уже не придётся)...
|
28 May 2013 23:37 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 23298 Location: Silicon Valley
|
На ATM2+ тоже были 320x200 и даже 640x200
Там правда намутнено со спектрумовыми экранами и порезано фиг знает каким образом - однако оно там есть
Теоретически можно сэмулировать программно...
|
29 May 2013 02:38 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 23298 Location: Silicon Valley
|
Точнее программно-аппаратно - например делаем в этажерку ещё одну опциональную платку с пиком, которая ловит все обращения в 5 и 7 окна и, забирая шину у Z180, выводит правильные пикселы в нужные места нашей видеопамяти...
|
29 May 2013 08:50 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 23298 Location: Silicon Valley
|
Подкорректировал начальную заставку эмулятора - теперь оно будет так
P.S. Первую картинку специально оставил в разрешении 640x350, чтобы посмотреть как оно могло бы выглядеть на широкоформатном мониторе
|
29 May 2013 13:53 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 23298 Location: Silicon Valley
|
Википедия говорит вот такие цифры для палитры ZX-спектрума:
Точно таких цветов нету ни в стандартной EGA, ни в микшированной палитре EGA2VGA - значит придётся создавать пользовательскую палитру только под спектрум...
P.S. Можно ещё туда добавить цвета из палитры "аппаратный GigaScreen" - это 102 цвета, получающиеся путём мерцания двух спектрумовских экранов.
P.P.S. Multicolor 8x1 тоже планирую поддержать программно - и в формате Timex/SpectrumSE, и в формате ATM2+...
|
29 May 2013 17:36 |
|