Page 1 of 1

Немного мультиколора

PostPosted: 29 May 2013, 14:19
by g0blinish
Сабж с сырцаме говнокода.

предлагается хороший квест: откуда спижжен сам эффекд.
Ну, не совсем спижжен, конечно же..

Re: Немного мультиколора

PostPosted: 29 May 2013, 17:15
by nyuk
g0blinish wrote:предлагается хороший квест: откуда спижжен сам эффекд.

из энторнетов, к бабке не ходи

Re: Немного мультиколора

PostPosted: 29 May 2013, 19:14
by g0blinish
nyuk wrote:из энторнетов, к бабке не ходи

я шо, Раскольников?
бордерный эффекд попался у Дмитрия Лаптева в загрузчике-трейнере. на говнофоруме это выяснить удалось.
сама идея кода попалась в MQM5, кажется нечто похожее есть в OverScan/Busy.
эЛВэДэ свежим взглядом выцепил недостаток шкода, так что резервы ещо есть. Мне хотелось бы попробовать скрестить мультиколор с бордером.

и вот такая идея: если заполнить на экране через строчку #FF, т.е. #4000-#400FF- пусто, #4100-#41FF=#FF и т.д.,то получится отрисовка ink+paper, и в запасе 224*2 тактов на все манипуляции.

Re: Немного мультиколора

PostPosted: 30 May 2013, 06:35
by нолька
это если на 2 экранах. на 1 экране такого запаса не будет

Re: Немного мультиколора

PostPosted: 30 May 2013, 08:30
by g0blinish
нолька wrote:это если на 2 экранах. на 1 экране такого запаса не будет


если рисовать на одном, то луч поноса не впишется?

Re: Немного мультиколора

PostPosted: 30 May 2013, 09:07
by нолька
ну а как?

Re: Немного мультиколора

PostPosted: 30 May 2013, 09:24
by g0blinish
нолька wrote:ну а как?


не знаю. выходит тут стек переназначается трижды, вот как выглядело в mqm5:

Code: Select all
      ld   ix, 580Ah
      ld   iy, 5816h
      ld   hl, 5820h
      ld   c, 18h
      exx
      ld   c, 32h ; '2'

loc_E386:            ; CODE XREF: RAM:E393j
      ld   a, (hl)
      inc   hl
      out   (0FEh),   a
      ld   b, 0Ch

loc_E38C:            ; CODE XREF: RAM:loc_E38Cj
      djnz   $
      inc   bc
      dec   bc

loc_E390:            ; DATA XREF: RAM:E2F6w
      ld   a, (hl)
      ld   a, (hl)
      dec   c
      jr   nz, loc_E386
      out   (0FEh),   a
      inc   hl
      exx

loc_E399:            ; CODE XREF: RAM:E3D3j
      ld   b, 4

loc_E39B:            ; CODE XREF: RAM:E3FCj
      exx
      ld   c, (hl)
      inc   hl
      ld   a, c
      rlca
      rlca
      rlca
      or   (hl)
      exx
      ld   e, a
      ld   d, a
      exx
      ld   a, c
      inc   bc
      dec   bc
      exx
      ld   sp, ix
      push   de
      push   de
      push   de
      push   de
      push   de
      ld   sp, iy
      push   de
      push   de
      push   de
      out   (0FEh),   a
      push   de
      push   de
      push   de
      ld   sp, hl
      push   de
      push   de
      push   de
      push   de
      push   de
      ld   de, 20h   ; ' '
      exx
      ld   a, (hl)
      inc   hl
      exx
      djnz   loc_E3F6
      add   ix, de
      add   iy, de
      add   hl, de
      out   (0FEh),   a

и по подсчету с тактами трюк не выходит, дема написана под 2/+3, там интересный алгоритм определения железки, надо разбираться.

либо рисовать в другом экране и по достижении лучом строки щелкать 7FFD?

Re: Немного мультиколора

PostPosted: 30 May 2013, 12:37
by нолька
g0blinish wrote:либо рисовать в другом экране и по достижении лучом строки щелкать 7FFD?

да, тока через 2 строки. также делаются фулскрин мультиколор пиксели 4x2

Re: Немного мультиколора

PostPosted: 30 May 2013, 12:53
by g0blinish
нолька wrote:да, тока через 2 строки. также делаются фулскрин мультиколор пиксели 4x2

чота я похожее делал. исходник нерабочий немного.