ULA+

Все вопросы, связанные с ресурсом zxart.ee

Moderator: moroz1999

Postby moroz1999 » Thu, 26.09.2013 23:36:15

http://zxart.ee/eng/graphics/database/p ... sc/page:1/
Прошу любить и жаловать. В основном конверсии как proof of concept. А еще я его зачем-то совместил с палитрами orthodox/electroscale итд, хотя у ulaplus палитра задаётся окончательно и недвусмысленно в половинчатом RGB9.
Last edited by moroz1999 on Tue, 21.01.2014 16:58:28, edited 1 time in total.
User avatar
moroz1999
 
Posts: 1872
Joined: Wed, 01.08.2012 11:23:51

Postby diver » Fri, 27.09.2013 04:50:59

Прикольный формат. Даже конверсии впечатляют. Хотя и видно, что каша.

http://zx.maros.pri.ee/eng/authors/c/cheveron/palette/
Жму ссылку, попадаю не в картинку, а в профиль художника.
User avatar
diver
 
Posts: 735
Joined: Sat, 29.06.2013 00:10:07

Postby moroz1999 » Fri, 27.09.2013 08:44:26

diver wrote:http://zx.maros.pri.ee/eng/authors/c/cheveron/palette/

Спасибо! Название "palette" пересекается с параметром "palette". Придумаю что-нибудь скоро.
User avatar
moroz1999
 
Posts: 1872
Joined: Wed, 01.08.2012 11:23:51

Postby moroz1999 » Fri, 27.09.2013 10:30:37

diver wrote:Прикольный формат

Кстати, довольно сложный.
Вместе с картинкой идут 64 байта палитры. Палитра делится на 4 таблицы по 16 байт, в пределах одного знакоместа можно использовать за раз только одну таблицу. Каждая таблица делится пополам на 8 возможных цветов ink и 8 возможных цветов paper. Цвета берутся из половинчатой (засчет синего цвета) RGB9-палитры: RGB9 требует 9 бит на пиксель, а в байт влезает только восемь бит, поэтому на красный-зеленый идет по 3 бита, а на синий - 2 бита точности, так что формально палитру можно назвать RGB8, хоть такого стандарта и нет (?).

Как это всё учитывать при ручной отрисовке - ума не приложу, надо попробовать. С другой стороны, вроде как довольно много возможных комбинаций цвета выходит, может никакой проблемы и не встало бы.
User avatar
moroz1999
 
Posts: 1872
Joined: Wed, 01.08.2012 11:23:51

Postby moroz1999 » Fri, 27.09.2013 10:35:57

Немного подумав, сообразил, что самый простой вариант для пробы - рисуем картинку в нормальном режиме, подбираем палитру, подрихтовываем.
Или еще проще - подбираем палитру, ставим её в zxgfx (внешним файлом, он это умеет), и рисуем прямо нужными цветами, можно по частям.
User avatar
moroz1999
 
Posts: 1872
Joined: Wed, 01.08.2012 11:23:51

Postby g0blinish » Fri, 27.09.2013 10:38:44

diver wrote:Прикольный формат. Даже конверсии впечатляют. Хотя и видно, что каша.

какой конвертер - такая каша. твоя конверсия Exolon выглядела бы еще ужаснее.
[x] No Screenshot
User avatar
g0blinish
Упырь говнофорума
 
Posts: 3641
Joined: Tue, 18.06.2013 10:59:01

Postby diver » Fri, 27.09.2013 10:49:22

moroz1999 wrote:Немного подумав, сообразил, что самый простой вариант для пробы - рисуем картинку в нормальном режиме, подбираем палитру, подрихтовываем.

moroz1999, это универсальный принцип рисования в любом ограниченном режиме - рисовать в цвете на точку, затем рихтовать конвертором, затем допиливать вручную. Я сейчас именно так и рисую в стандарте и мультиколоре. После этого постепенно начинаешь рисовать вообще тупо на глаз по сетке в обычном пиксельном редакторе.

g0blinish wrote:какой конвертер - такая каша. твоя конверсия Exolon выглядела бы еще ужаснее.

g0blinish, да ты просто оракул какой-то, умеешь определять как выглядели бы мои конверсии.
User avatar
diver
 
Posts: 735
Joined: Sat, 29.06.2013 00:10:07

Postby g0blinish » Fri, 27.09.2013 11:47:09

diver wrote:g0blinish, да ты просто оракул какой-то, умеешь определять как выглядели бы мои конверсии.

даже боюсь уметь определять :smoke:
[x] No Screenshot
User avatar
g0blinish
Упырь говнофорума
 
Posts: 3641
Joined: Tue, 18.06.2013 10:59:01

Postby g0blinish » Thu, 03.10.2013 09:18:46

интересно, а как выбирать clut?
Code: Select all
 ld hl,#4000
lp0:ld (hl),l:inc hl
 ld a,h:cp #5B:jr nz,lp0

;LET reg = 48955 : LET dat = 65339
;Switch the mode on
;OUT reg, 64: OUT dat, 1
;Switch the mode off
;OUT reg, 64: OUT dat, 0
 ld bc,48955,a,64:out (c),a
 ld bc,65339,a,1:out (c),a

;DEF FN c(r,g,b)=(g*32)+(r*4)+INT (b/2)
;Set a colour OUT reg, P: OUT dat, FN c(R,G,B)
;P is the palette entry to change (0-63)
;R, G and B are the red and green levels (0-7)
 ld bc,48955,a,0:out (c),a
 ld bc,65339,a,(6*32):out (c),a
 ld bc,48955,a,1:out (c),a
 ld bc,65339,a,(5*32):out (c),a


ничо не понимаю >(
[x] No Screenshot
User avatar
g0blinish
Упырь говнофорума
 
Posts: 3641
Joined: Tue, 18.06.2013 10:59:01

Postby TS-Labs » Thu, 03.10.2013 10:33:50

g0blinish wrote:интересно, а как выбирать clut?

http://scratchpad.wikia.com/wiki/ZX_Spe ... r_RGB_Mode
64 ячеи палитры. Номер ячеи 0xBF3B = 0-63. 0xFF3B дата для ячеи.
Включить шайтан-арба: 0xBF3B = 64, 0xFF3B = 1.
The complete index can be calculated as
ink_colour = (FLASH * 2 + BRIGHT) * 16 + INK
paper_colour = (FLASH * 2 + BRIGHT) * 16 + PAPER + 8
User avatar
TS-Labs
 
Posts: 5398
Joined: Thu, 26.07.2012 01:29:56

Postby g0blinish » Thu, 03.10.2013 12:35:12

TS-Labs wrote:ink_colour = (FLASH * 2 + BRIGHT) * 16 + INK
paper_colour = (FLASH * 2 + BRIGHT) * 16 + PAPER + 8

/*тупить как Алонер mode on

что такое ink_colour и paper_colour? цвета для экрана? и к чему тогда INK и PAPER?
[x] No Screenshot
User avatar
g0blinish
Упырь говнофорума
 
Posts: 3641
Joined: Tue, 18.06.2013 10:59:01

Postby moroz1999 » Thu, 03.10.2013 12:42:52

g0blinish wrote:что такое ink_colour и paper_colour? цвета для экрана? и к чему тогда INK и PAPER?

Там система такая:
1. Вся палитра делится на четыре куска. Первую половину каждого куска можно использовать для INK, вторую для PAPER.
2. Цвет задаётся по-старому, на всё знакоместо.
3. Старшие два бита задают кусок палитры (один из четырех).
4. Три бита PAPER задают номер цвета Paper от одного до восьми (вторая половина куска палитры).
5. Три бита INK задают номер цвета Ink от одного до восьми (первая половина куска палитры).
User avatar
moroz1999
 
Posts: 1872
Joined: Wed, 01.08.2012 11:23:51

Postby g0blinish » Thu, 03.10.2013 13:35:06

moroz1999 wrote:1. Вся палитра делится на четыре куска

тогда как проще к палитре 1-4 обратиться?
ясно, что если записать в атрибуты fb00000000(flash/bright), это и будет:
moroz1999 wrote:. Старшие два бита задают кусок палитры (один из четырех).
[x] No Screenshot
User avatar
g0blinish
Упырь говнофорума
 
Posts: 3641
Joined: Tue, 18.06.2013 10:59:01

Postby moroz1999 » Thu, 03.10.2013 13:48:13

да, то есть:
00 000 000 - Кусок палитры номер 0, paper номер 0, Ink номер 0
01 000 000 - Кусок палитры номер 1, paper номер 0, Ink номер 0
11 110 010 - Кусок палитры номер 3, paper номер 6, Ink номер 3

Соответственно, мы не можем использовать в Ink цвет, заданный для Paper, и наоборот, хотя кусок палитры один и тот же.
То есть практически в пределах одного знакоместа мы работаем с 16 цветами, первая половина которых может быть заюзана только для Ink, а вторая - только для Paper.
User avatar
moroz1999
 
Posts: 1872
Joined: Wed, 01.08.2012 11:23:51

Postby TS-Labs » Thu, 03.10.2013 14:00:17

g0blinish wrote:что такое ink_colour и paper_colour?

Номера цвета в таблице (= индексы).
Т.е. палитра идет так:
8 цветов для инка, если брайт и флэш = 0
8 цветов для пейпера, если брайт и флэш = 0
....
8 цветов для пейпера, если брайт и флэш = 1
Итого 64 цвета.
Допустим у тебя есть аттрибут: 0х87. В бинаре это: 10000111. В разложенном бинаре: 10 000 111.
Терь:
10 - номер палитры (палитра 2)
000 - папер (0)
111 - инк (7).
Вычисляем ячеи: для инка - 2*16+7=39, для папера - 2*16+0=32.
Терь смари: если у тебя пиксель будет 1, то берется цвет инка (39 ячея), если 0 - папера (32 ячея).
User avatar
TS-Labs
 
Posts: 5398
Joined: Thu, 26.07.2012 01:29:56

Postby g0blinish » Thu, 03.10.2013 14:08:23

спасибо за объяснение, я пока не понимаю, куда отнести индекс палитры, попробую задать цвет.
Жаль, что приходится использовать для проверки уебищный х128...
[x] No Screenshot
User avatar
g0blinish
Упырь говнофорума
 
Posts: 3641
Joined: Tue, 18.06.2013 10:59:01

Postby TS-Labs » Thu, 03.10.2013 14:13:14

Индекс - это номер ячеи.
User avatar
TS-Labs
 
Posts: 5398
Joined: Thu, 26.07.2012 01:29:56

Postby g0blinish » Thu, 03.10.2013 16:09:00

не знаю, на что и валить, но вот что выходит.
Code: Select all
   device zxspectrum128
        ORG #6000
begin

 ld hl,#4000
lp0:ld (hl),l:inc hl
 ld a,h:cp #5B:jr nz,lp0

;LET reg = 48955 : LET dat = 65339
;Switch the mode on
;OUT reg, 64: OUT dat, 1
;Switch the mode off
;OUT reg, 64: OUT dat, 0
 ld bc,48955,a,64:out (c),a
 ld bc,65339,a,1:out (c),a

; ld a,$07,($5800),a;$87

;$87=10 000 111(PPpppiiii)
;index1:2*16+7=39 ink    ink_colour = (FLASH * 2 + BRIGHT) * 16 + INK
;index2:2*16+0=32 paper  paper_colour = (FLASH * 2 + BRIGHT) * 16 + PAPER + 8
 ld bc,48955,a,39:out (c),a;palette entry
 ld bc,65339,a,(7*4):out (c),a

 ld bc,48955,a,32:out (c),a;palette entry
 ld bc,65339,a,(1*32+7*4):out (c),a

 jr $

;DEF FN c(r,g,b)=(g*32)+(r*4)+INT (b/2)
;Set a colour OUT reg, P: OUT dat, FN c(R,G,B)
;P is the palette entry to change (0-63)
;R, G and B are the red and green levels (0-7)
; ld bc,48955,a,0:out (c),a
; ld bc,65339,a,(6*32):out (c),a
; ld bc,48955,a,1:out (c),a
; ld bc,65339,a,(5*32):out (c),a


end
   display /d,end-begin
   savesna "!void.sna",begin


Attachments
2013-10-03_165346.jpg
2013-10-03_165346.jpg (33.82 KiB) Viewed 35111 times
[x] No Screenshot
User avatar
g0blinish
Упырь говнофорума
 
Posts: 3641
Joined: Tue, 18.06.2013 10:59:01

Postby LessNick » Tue, 21.01.2014 16:34:56

moroz1999 wrote:Прошу любить и жаловать. В основном конверсии как proof of concept.


404

Requested page has not been found. It has been probably renamed or united with something else.
(∩。•o•。)っ.゚☆。・ TS-Conf для PentEvo — это классический Pentagon 128k для тех кто хочет больше!
User avatar
LessNick
грей сашу — сашу грей
 
Posts: 975
Joined: Thu, 26.07.2012 15:00:53
WEBSITE: http://fishbone.untergrund.net/

Postby moroz1999 » Tue, 21.01.2014 16:59:13

При добавлении музыки формат ссылок поменялся, поэтому некоторые старые ссылки не работают вовсе.
Обновил ссылку в первом посте.
http://zxart.ee/eng/graphics/database/p ... sc/page:1/
User avatar
moroz1999
 
Posts: 1872
Joined: Wed, 01.08.2012 11:23:51

Postby g0blinish » Tue, 21.01.2014 17:25:41

мороз, посохом промазал, не?
[x] No Screenshot
User avatar
g0blinish
Упырь говнофорума
 
Posts: 3641
Joined: Tue, 18.06.2013 10:59:01

Postby moroz1999 » Tue, 21.01.2014 18:46:37

да не, должно работать теперь.
User avatar
moroz1999
 
Posts: 1872
Joined: Wed, 01.08.2012 11:23:51

Postby g0blinish » Wed, 22.01.2014 13:55:13

moroz1999 wrote:да не, должно работать теперь.

ну лови тогда фидбек:
-при вводе неправильного пароля нет сообщения
-нет форму восстановления пороля.
[x] No Screenshot
User avatar
g0blinish
Упырь говнофорума
 
Posts: 3641
Joined: Tue, 18.06.2013 10:59:01

Postby moroz1999 » Wed, 22.01.2014 17:11:34

Спасибо, сделаю.
User avatar
moroz1999
 
Posts: 1872
Joined: Wed, 01.08.2012 11:23:51

Postby g0blinish » Fri, 24.01.2014 09:47:58

Image

Мож кто припомнит картинку справа и наверху?
[x] No Screenshot
User avatar
g0blinish
Упырь говнофорума
 
Posts: 3641
Joined: Tue, 18.06.2013 10:59:01

Next

Return to ZX-Art

Who is online

Users browsing this forum: No registered users and 1 guest

x