PDA

Просмотр полной версии : мерцание бордюра (254)



ALKO
11.04.2012, 16:59
Вот бипола компилирует в ассемблер музон на движке фазер.
Нужно, что б мерцал бордюр при проигрывании музона.
Я так полагаю , нужно в процедуре PLAYER что-то изменить, только как именно.
Подскажите.
(и не сильно ли изменится скорость проигрывания, если убрать константы битов, отвечающих за цвет бордюра?)

NovaStorm
12.04.2012, 09:42
Каким образом мерцал-то?
Если целиком чтоб разными цветами заливался, достаточно раз в прерывание
ld a,00000000b
out (#FE),a
=18 тактов, +ret-10. На звуке сильно сказаться наверное не должно.
А изменяя процедуру плеера, мало того, что получишь изменение звука, так и бордюр будет в виде полос.

VNN_KCS
12.04.2012, 10:44
Нужно считать уровень громкости в регистр А, сделать AND #07, а потом OUT (#FE),A.
Примерно так : LD A,#08 (канал А)
LD BC,#FFFD
OUT (C),A
IN A,(C)
AND #07
OUT (#FE),A

jerri
12.04.2012, 12:05
наркоманы штоле?
это биперный движок


LD A,BORDER_COL

LD H,$00
LD L,A


...
EX AF,AF'
ADD HL,BC
OUT ($FE),A
JR C,L8171
JR L8173
L8171: XOR $10
L8173: ADD IX,DE
JR C,L8179
JR L817B
L8179: XOR $10
L817B: EX AF,AF'
OUT ($FE),A
EXX
ADD HL,BC
JR C,L8184
JR L8186
L8184: XOR $10
L8186: NOP
JP L818A

L818A: EXX
EX AF,AF'
ADD HL,BC
OUT ($FE),A
JR C,L8193
JR L8195
L8193: XOR $10
L8195: ADD IX,DE
JR C,L819B
JR L819D
L819B: XOR $10
L819D: EX AF,AF'
OUT ($FE),A
EXX
ADD HL,BC
JR C,L81A6
JR L81A8
L81A6: XOR $10
L81A8: NOP
JP L81AC

L81AC: EXX
EX AF,AF'
ADD HL,BC
OUT ($FE),A
JR C,L81B5
JR L81B7

смотри где OUT ($fe)
и там думай как часто тебе цвет бордюра менять
если каждую ноту
то смотри где они меняются
если иногда то смотри сам где удобнее :)
но я считаю что дёргать бордюром - дурной тон

VNN_KCS
12.04.2012, 13:29
наркоманы штоле?
Да вроде нет) Сорец надо было глянуть, а я просто подумал, что AY. Лоханулся :-(
А тут, если каждую ноту мндицировать на бордюре, однотонного цвета не получится.

ALKO
12.04.2012, 17:13
Да вроде нет) Сорец надо было глянуть, а я просто подумал, что AY. Лоханулся :-(
А тут, если каждую ноту мндицировать на бордюре, однотонного цвета не получится.
Нужно мерцать не сплошняком, а как при загрузке.
То есть не по нотам, а по состоянию динамика в момент времени.

---------- Post added at 16:07 ---------- Previous post was at 16:00 ----------

там как раз при генерации звука изменяется содержимое порта 254, вот нужно, что б и биты бордюра менялись (а они там нарочно выполнены в виде констант)

---------- Post added at 16:13 ---------- Previous post was at 16:07 ----------


но я считаю что дёргать бордюром - дурной тон
нужно для дэмки

goodboy
12.04.2012, 17:43
ALKO,выложи скомпиленный музон в TAP/TRD

ALKO
12.04.2012, 17:47
Нужно, что б мерцал бордюр

нужно в процедуре

Нужно мерцать не сплошняком,

нужно для дэмки

Нужно с этим завязывать.............................. ............

---------- Post added at 16:44 ---------- Previous post was at 16:44 ----------


ALKO,выложи скомпиленный музон в TAP/TRD
а чем асм не вариант?

---------- Post added at 16:47 ---------- Previous post was at 16:44 ----------

да и к тому же музон ещё не дописан.

goodboy
12.04.2012, 17:48
а чем асм не вариант?
глядя на текст плейера мне трудно представить как будут мельтешить полоски на бордюре. а специально искать ассемблер я не собираюсь

ALKO
12.04.2012, 18:10
глядя на текст плейера мне трудно представить как будут мельтешить полоски на бордюре
В таком случае, глядя на работу скомпилированного музона тоже трудно будет представить, как будут мельтешить полоски на бордюре.

ALKO
12.04.2012, 18:13
for example

goodboy
12.04.2012, 19:06
вот смотри ключевой момент команда XOR %00010000 перед out`ом.
изменяя три младших бита ты устанавливаешь цвет бордюра перед выводом в порт.изменяй xor`ы перед разными out`ами и получишь радугу.
#10 -> #17,18,19,20,21,22,23

AER
12.04.2012, 19:32
но я считаю что дёргать бордюром - дурной тон
а я считаю, нет!

пример

jerri
12.04.2012, 22:47
AER, у меня был ленинград сильно к этому делу чувствительный
т.е размер и положение (визуально) экрана сильно варьировалось от цвета бордюра
и даже при загрузке с кассеты если загрузчик бордюром (черный/белый) дергал то надпись на экране прочитать можно было не с первого раза

Black_Cat
12.04.2012, 22:55
у меня был ленинград сильно к этому делу чувствительный
т.е размер и положение (визуально) экрана сильно варьировалось от цвета бордюра
и даже при загрузке с кассеты если загрузчик бордюром (черный/белый) дергал то надпись на экране прочитать можно было не с первого разаэто у всех Ленинов нет привязки чёрного, оттого такая хрень, сделай привязку и всё пройдёт :)

jerri
12.04.2012, 23:20
Black_Cat, был он :) нет его уже лет 15