1

eh, nie przypuszczalem ze mnie to zagadnienie tak zgnoi... albo juz mozg nie ten (od fajek, smogu elektronowego i whatnot) albo po prostu jestem slabym koderem ;)

Mam 3 linie trybu gr.9 (tzw tryb konopa) dla uproszczenia zalozmy ze:
jedna jest linią tekstury_A, druga linią pamieci ekranu a trzecia linią tekstury_B

Jak najszybciej (ale BEZ rozpisywania na bajty) poskladac to do kupy w taki sposob ze
tam gdzie nibel w teksturze A jest zerami, zostaje podstawiony odpowiadajacy mu nibel pamieci ekranu, a tam gdzie nie jest zerami zostaje podstawiony nibel tekstury_B.

Pomozcie chlopaki bo juz mnie cos strzela ...

2

(A&B)|((neg A)&mem) ?

The UNIX Guru`s view of Sex:
unzip; strip; touch; finger; mount; fsck; more; yes; umount; sleep

3 Ostatnio edytowany przez mikey (2006-02-28 11:24:45)

BEZ rozpisywania na bajty.
Operujac na calych bajtach jako niblach i potem skladac do kupy jest trywialne i nie zawracalbym wam glowy :)
Brak pamieci na rozpisanie 3 duzych obszarow na mlodsze i starsze nible zmusza mnie do jechania po niblach.

4

        lda tex_A,y
        and #$f0
        jz z_pamieci
        lda tex_B,y
        and #$f0
        jmp nibble
z_pamieci lda ekran,y
        and #$f0
nibble sta ekran,y
        lda tex_A,y
        and #$0f
        jz z_pam
        lda tex_B,y
        and #$0f
        jmp vasco
z_pam lda ekran,y
        and #$0f
vasco ora ekran,y

tex_A, tex_B, ekran - w postaci stalych, lub w postaci wskaznika na ZP
jesli jako stale - jako index moze sluzyc X miast Y...

The UNIX Guru`s view of Sex:
unzip; strip; touch; finger; mount; fsck; more; yes; umount; sleep

5

jmp vasco

:D

Czy możecie wyjaśnić, Stirlitz, dlaczego wasz służbowy adres stirlitz@rsha.gov.de ma aliasa justas@gru.su?
Nie czytam PM. Proszę używać e-mail.

6

mikey: czyzby miala byc rybka na forevera?

7 Ostatnio edytowany przez mikey (2006-02-28 12:02:42)

laoo: nie potwierdzam nie zaprzeczam :)
moze jakas pomoc od fellow kodera z  grupy? :)

8

dely: a fragment
  vasco ora ekran
nie jest lepszy?

The UNIX Guru`s view of Sex:
unzip; strip; touch; finger; mount; fsck; more; yes; umount; sleep

9

Nie jestem pewien, czy dobrze zrozumialem, ale chodzi Ci o cos takiego:

A: 010203
E: 456789
B: ABCDEF
-> 4B6D8F ?

Jesli tak, proponowalbym kod w stylu:

ldx A
lda E
and tab1,x
sta zer
lda B
and tab2,x
ora zer

gdzie tab1 i tab2 maja maski odpowiednie (sa swoimi przeciwienstwami ofkorz).
Generacja tab1 i tab2:

ldy #0
_l tya
 and #$f0
 beq *+4
 lda #$f0
 sta hlp
 tya
 and #$0f
 beq *+4
 lda #$0f
 ora hlp
 sta tab2,y
 eor #$ff
 sta tab1,y
 iny
 bne _l

To tak na oko, z glowy, powinno dzialac

: 404. Stopka not found

10 Ostatnio edytowany przez mikey (2006-02-28 14:48:54)

dzieki Eruś, zgarniasz sześciopaczek ;*