nedoPC.org

Community of electronics hobbyists established in 2002

...
Atom Feed | View unanswered posts | View active topics It is currently 15 Oct 2018 12:47



Reply to topic  [ 98 posts ]  Go to page Previous  1 ... 3, 4, 5, 6, 7  Next
[Zpring] Великий долгострой nedoSprinter на Z180 и Xilinx(?) 

Как назвать железяку, чтобы юзеры потянулись?
Zprint 10%  10%  [ 1 ]
Zpring 20%  20%  [ 2 ]
Zprinx 0%  0%  [ 0 ]
Неважно т.к. ничего не получится 10%  10%  [ 1 ]
А мне пофиг 40%  40%  [ 4 ]
Названия в опросе - полная лажа 20%  20%  [ 2 ]
Total votes : 10

[Zpring] Великий долгострой nedoSprinter на Z180 и Xilinx(?) 
Author Message
Retired
User avatar

Joined: 25 Jul 2011 01:14
Posts: 1337
Location: WWW
Reply with quote
Post 
HardWareMan wrote:
Поздравляю! Вы открыли для себя дитеринг и дедитеринг!
подобные фокусы очень хорошо получались на цветной электронике.


25 May 2013 03:21
Profile
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 16995
Location: Colorado
Reply with quote
Post 
HardWareMan wrote:
Поздравляю! Вы открыли для себя дитеринг и дедитеринг!


Ну что такое dithering я и так знал ;)

Мы с помощью него подправляем полноцветные изображения для вывода в RGB565

А вот что такое "дeдитеринг"? ;)

_________________
:eugeek: https://twitter.com/Shaos1973


25 May 2013 05:16
Profile WWW
Banned
User avatar

Joined: 20 Mar 2005 14:41
Posts: 2150
Location: От туда
Reply with quote
Post 
Shaos wrote:
А вот что такое "дeдитеринг"? ;)

Обратная дитерингу функция. Применялась на сеге, поэтому, некоторые игры через RGB выглядели несколько иначе.


25 May 2013 06:34
Profile
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 16995
Location: Colorado
Reply with quote
Post 
HardWareMan wrote:
Shaos wrote:
А вот что такое "дeдитеринг"? ;)

Обратная дитерингу функция. Применялась на сеге, поэтому, некоторые игры через RGB выглядели несколько иначе.


Ааа - dedithering - понятно :)

P.S. Поприкидывал на логике - палитра EGA2VGA тяжеловатой получается, т.е. видимо придётся аналоговые смесители на резисторах и транзисторах городить...

P.P.S. Единственное, что при аналоговом смешении коричневый будет не совсем коричневый, а скорее грязно-жёлтый: http://avga.prometheus4.com/index.php?p=2-3

P.P.P.S. Наверное можно подмухлевать с аналоговым ключом, чтобы коричневый был исключением - у него надо зелёную составляющую в 2 раза уменьшать при аналоговом смешении:
Quote:
red := 2/3×(colorNumber & 4)/4 + 1/3×(colorNumber & 8)/8
green := 2/3×(colorNumber & 2)/2 + 1/3×(colorNumber & 8)/8
blue := 2/3×(colorNumber & 1)/1 + 1/3×(colorNumber & 8)/8

Color 6 is treated differently; when using the formula above, color 6 would become dark yellow, as seen to the left, but in order to achieve a more pleasing brown tone, special circuitry in most RGBI monitors, including the IBM 5153 color display, makes an exception for color 6 and changes its hue from dark yellow to brown by halving the analogue green signal's amplitude.

http://en.wikipedia.org/wiki/Color_Graphics_Adapter

_________________
:eugeek: https://twitter.com/Shaos1973


Last edited by Shaos on 25 May 2013 09:16, edited 3 times in total.



25 May 2013 08:12
Profile WWW
Retired

Joined: 27 Mar 2013 05:55
Posts: 588
Location: 62.192.229.16
Reply with quote
Post 
А чем вам dedithering (в обсуждаемом случае) отличается от изменения размера изображения (с интерполяцией)?


25 May 2013 08:45
Profile
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 16995
Location: Colorado
Reply with quote
Post 
vinxru wrote:
А чем вам dedithering (в обсуждаемом случае) отличается от изменения размера изображения (с интерполяцией)?

Видимо только тем, что берёт в качестве источника картинку с дизерингом :)

_________________
:eugeek: https://twitter.com/Shaos1973


25 May 2013 09:03
Profile WWW
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 16995
Location: Colorado
Reply with quote
Post 
Shaos wrote:
vinxru wrote:
А чем вам dedithering (в обсуждаемом случае) отличается от изменения размера изображения (с интерполяцией)?

Видимо только тем, что берёт в качестве источника картинку с дизерингом :)


Кстати я только что подсчитал - в этой палитре EGA2VGA только 85 уникальных цветов и похоже удастся построить генератор такой палитры на резисторах и диодах, правда схема коррекции коричневого цвета добавляет хлопот...

_________________
:eugeek: https://twitter.com/Shaos1973


26 May 2013 14:24
Profile WWW
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 16995
Location: Colorado
Reply with quote
Post 
Эмулируем:

Image

Shift-F8 включает/выключает "de-dithering":

Image

Вот так будет выглядеть FlexNavigator в беcпалитровом 16-цветном режиме:

Image

У меня есть его сырцы - цвета можно будет подкорректировать...

P.S. Да и под "правильное" разрешение можно будет подогнать ;)

_________________
:eugeek: https://twitter.com/Shaos1973


26 May 2013 18:26
Profile WWW
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 16995
Location: Colorado
Reply with quote
Post 
Мой эмулятор стал "спектрум-совместимым" :)

Image

Это на нём запущен BasicSE IV в HiRes моде... :roll:

_________________
:eugeek: https://twitter.com/Shaos1973


27 May 2013 00:19
Profile WWW
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 16995
Location: Colorado
Reply with quote
Post 
Shaos wrote:
Настоящими портами будут только порты вида #AAxx, которые будут выделяться динамически "интеллектуальным" платам, а все остальные порты будут одним физическим портом, при чтении или записи в который будет вызывать прерывание NMI (такое же как и при использовании команд акселератора) - обработчик прерывания будет определять что произошло, акселератор ли это или в порт обращаются (обработчик по адресу из стека может почитать какая команда была в момент прерывания), брать значение и что-то делать - так можно эмулировать переключение страниц памяти как в Спринтере (4 порта) или как в 128/Пентагоне/Скорпионе, да даже и порт #FE можно так поддержать - главно всё программно. :)

Порты видимо придётся перевернуть, т.к. случайные программы могут обращаться к портам старой однобайтовой командой и при этом на старшый байт адреса пойдёт содержимое регистра A, что может привести к случайному выбору порта вида #AAxx если в A попадётся #AA, т.е. формат стандартных портов надо сделать #xxAA. чтобы они случайно не выбрались (если потом не хватит - добавим #xxAB и т.д.)...

_________________
:eugeek: https://twitter.com/Shaos1973


27 May 2013 19:29
Profile WWW
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 16995
Location: Colorado
Reply with quote
Post 
Есть туманное осознание того, как подружить 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 корректировать тут уже не придётся)...

_________________
:eugeek: https://twitter.com/Shaos1973


29 May 2013 00:37
Profile WWW
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 16995
Location: Colorado
Reply with quote
Post 
На ATM2+ тоже были 320x200 и даже 640x200 :)
Там правда намутнено со спектрумовыми экранами и порезано фиг знает каким образом - однако оно там есть ;)
Теоретически можно сэмулировать программно...

_________________
:eugeek: https://twitter.com/Shaos1973


29 May 2013 03:38
Profile WWW
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 16995
Location: Colorado
Reply with quote
Post 
Shaos wrote:
На ATM2+ тоже были 320x200 и даже 640x200 :)
Там правда намутнено со спектрумовыми экранами и порезано фиг знает каким образом - однако оно там есть ;)
Теоретически можно сэмулировать программно...

Точнее программно-аппаратно - например делаем в этажерку ещё одну опциональную платку с пиком, которая ловит все обращения в 5 и 7 окна и, забирая шину у Z180, выводит правильные пикселы в нужные места нашей видеопамяти...

_________________
:eugeek: https://twitter.com/Shaos1973


29 May 2013 09:50
Profile WWW
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 16995
Location: Colorado
Reply with quote
Post 
Shaos wrote:
Эмулируем:

Image

Shift-F8 включает/выключает "de-dithering":

Image

Подкорректировал начальную заставку эмулятора - теперь оно будет так :roll:

P.S. Первую картинку специально оставил в разрешении 640x350, чтобы посмотреть как оно могло бы выглядеть на широкоформатном мониторе ;)

_________________
:eugeek: https://twitter.com/Shaos1973


29 May 2013 14:53
Profile WWW
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 16995
Location: Colorado
Reply with quote
Post 
Википедия говорит вот такие цифры для палитры ZX-спектрума:
Code:
Color number    Binary value    BRIGHT 0 (RGB)   BRIGHT 1 (RGB)  Color name
---------------------------------------------------------------------------
      0             000         #000000          #000000         black
      1             001         #0000CD          #0000FF         blue
      2             010         #CD0000          #FF0000         red
      3             011         #CD00CD          #FF00FF         magenta
      4             100         #00CD00          #00FF00         green
      5             101         #00CDCD          #00FFFF         cyan
      6             110         #CDCD00          #FFFF00         yellow
      7             111         #CDCDCD          #FFFFFF         white

Точно таких цветов нету ни в стандартной EGA, ни в микшированной палитре EGA2VGA - значит придётся создавать пользовательскую палитру только под спектрум...

P.S. Можно ещё туда добавить цвета из палитры "аппаратный GigaScreen" - это 102 цвета, получающиеся путём мерцания двух спектрумовских экранов.

P.P.S. Multicolor 8x1 тоже планирую поддержать программно - и в формате Timex/SpectrumSE, и в формате ATM2+...

_________________
:eugeek: https://twitter.com/Shaos1973


29 May 2013 18:36
Profile WWW
Display posts from previous:  Sort by  
Reply to topic   [ 98 posts ]  Go to page Previous  1 ... 3, 4, 5, 6, 7  Next

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:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.