2,851

(22 odpowiedzi, napisanych Programowanie - 16/32bit)

w międzyczasie wyedytowałem posta:
przemyślałem to jeszcze raz,  w wariancie xCount = 1 może być problem z zastosowaniem EndMask

2,852

(22 odpowiedzi, napisanych Programowanie - 16/32bit)

no tak, ale możesz dać albo:

  xCount = 40 / yCount = 1

albo:

  xCount = 1 / yCount = 40

z tego co pamiętam efekt jest ten sam operacja dokonywana jest na tych samych 40stu słowach.
Oczywiście w zależności od wariantu trzeba odpowiednio ustawić Destination X/Y increment.

---edycja---

przemyślałem to jeszcze raz,  w wariancie xCount = 1 może być problem z zastosowaniem EndMask

2,853

(22 odpowiedzi, napisanych Programowanie - 16/32bit)

faktycznie masz rację z yCount. 
Ale możesz zamienić xCount z yCount (czyli również Destination X increment oraz Destination y increment) dzięki temu xCount będzie tylko raz inicjowany a yCount przed każdym blitem.
Takie rozwiązanie zastosowałem w mojej procedurze dla sprajtów:

;BLiTTER Init
    move.l    #$00020002,(A0)+        ; source X increment / source Y increment
    move.l    A2,(A0)+            ; source address
    move.l    #-1,(A0)+            ; mask 1 /2
    move.w    #-1,(A0)+            ; mask 3
    move.l    #$00080080,(A0)+        ; destination X increment / destination Y increment
    lea        2(A0),A4            ; remember source destination
    move.l    A3,(A0)+            ; destination address
    move.w    #$0005,(A0)+        ; count X surface
    movea.l    A0,A1                ; remember count Y surface
    move.w    D0,(A0)+            ; count Y surface
    move.w    #$0204,(A0)+        ; HOP / LOP
    move.w    D4,(A0)                ; BUSY / HOG / SMUDGE / LINE NUMBER // FXSR / NFSR / SKEW


; Copy MaskSprite to Screen
    move.b    D2,(A0)                ; start blitter

    REPT    3
        lea        2(A3),A3
        move.w    A3,(A4)            ; destination address
        move.w    D0,(A1)            ; count Y surface
        move.b    D2,(A0)            ; start blitter
    ENDR

;
;BLITTER RE-INIT Sprite to Screen
    lea        $FFFF8A3C.w,A0
    move.l    A5,A3
    move.w    #$0207,$FFFF8A3A.w        ; HOP / LOP

; Copy Sprite to Screen
    move.w    A3,(A4)                ; destination address
    move.w    D0,(A1)                ; count Y surface
    move.b    D2,(A0)                ; start blitter

    REPT    3
        lea        2(A3),A3
        move.w    A3,(A4)            ; destination address
        move.w    D0,(A1)            ; count Y surface
        move.b    D2,(A0)            ; start blitter
    ENDR

2,854

(22 odpowiedzi, napisanych Programowanie - 16/32bit)

z tego co widzę to masz parę rejestrów adresowych wolnych.
tak więc, tutaj mógłbyś przypisać każdej masce osobny An i zejść z 24 do 16 cykli:

                    move.w    d0,endmsk1(a6)        ;first line mask
                    move.w    d1,endmsk3(a6)        ;last line mask

tutaj również dedykowany An, dodatkowo nie ma potrzeby zmiany yCount, więc zamiast Longa możesz zapisać Word:

                    move.l    d3,xCount(a6)        ;xcount = d3, ycount = 1 at once

czyli zamiast 16 mamy 8 cykli

tu również dedykowany An:

                    move.b    #$a0,lineNum(a6); HOG   16

zamiast 16 mamy 12 cykle


Czyli z 82 cykli inicjalizacji mógłbyś zejść do 62.

2,855

(57 odpowiedzi, napisanych Scena - 16/32bit)

dyskietki od nastu lat leżą gdzieś na strychu. muszę odszukać pudło, potem przeczesać każdą dyskietkę. robota na cały weekend...

2,856

(51 odpowiedzi, napisanych Scena - 16/32bit)

Tomasz Wachowiak napisał/a:

Może gouraud pod mono? Chyba jeszcze nikt tego nie zrobił? :P Kiedyś napisałem sobie na PieCa całkiem fajną procedurę do ditheringu. Można by ją przenieść na mono STeka. :)

w Mono? Brzmi ciekawie.
Ditherowany gouraud widziałem tylko w ST-LOW w demie: http://www.pouet.net/prod.php?which=19628 i w grze Interphase: https://www.youtube.com/watch?v=DtUfQEp ... lpage#t=16

To pierwsze zrobił Martin Griffiths, źródła są dostępne w sieci. Jakby co to je mam.

2,857

(3 odpowiedzi, napisanych Programowanie - 16/32bit)

tak, tak na szybko pod emu. Wieczorem będę miał więcej czasu i sprawdzę na realnym sprzęcie.
Co do blittera to słuszny kierunek.

---edycja---

działa.
ok, wiem gdzie leżał problem, popierdzielił mi się pecetowy "caps lock" z STkowym "ctrl", są one w tym samym miejscu klawiatury...

2,858

(12 odpowiedzi, napisanych Scena - 16/32bit)

cacy zestaw

2,859

(0 odpowiedzi, napisanych Programowanie - 16/32bit)

Jest to jeden  z dwóch najpopularniejszych BASICów na ST.
Omikron generuje szybszy kod i mniejsze binarki niż GFA
http://www.jchr.be/atari/omikron.html

2,860

(3 odpowiedzi, napisanych Programowanie - 16/32bit)

tak na szybko, to mi nie działa:

cmp.b    #$1d,$fffffc02.w

jak zamienię to na klawisz "1" to działa ok:

cmp.b    #$02,$fffffc02.w

poza tym niezły kod, właśnie w go wgryzam

2,861

(51 odpowiedzi, napisanych Scena - 16/32bit)

świetnie

2,862

(51 odpowiedzi, napisanych Scena - 16/32bit)

Tomasz Wachowiak napisał/a:

Z tego co widzę, to mam jeden diament, prawdopodobnie NAJSZYBSZĄ procedurę obrotów w 3D. Po wstępnych przeliczeniach procedura NIE WYMAGA żadnych mnożeń i dzieleń - pełny obrót punktu w trzech wymiarach + perspektywa na motoroli 68000 zamyka się w około 350 cyklach zegara...

no niezły wynik, normalnie tylko jedno dzielenie zajęło by ze 150 cykli

2,863

(51 odpowiedzi, napisanych Scena - 16/32bit)

Cześć Tomek, fajne demo zrobiliście:
http://demonstracja.krap.pl/dema/polski ... somnia.htm
http://www.pouet.net/prod.php?which=31427
tutaj jest więcej Waszych produkcji
http://demozoo.org/groups/2207/

Masz może jeszcze kody źródłowe?

Co do koderów, to tutaj na AA paru znajdziesz, np MKM czy Sqward.  Osobiście również assemblerem 68k nie gardzę, z tym że jestem raczej typem dziesięciowierszowca.

2,864

(137 odpowiedzi, napisanych Scena - 16/32bit)

technicznie fajne.
jednak podkład "muzyczny" i te pląsające postacie to masakra. kiedyś widziałem na amidze podobnie zjebane demo

2,865

(13 odpowiedzi, napisanych Miejsca w sieci)

tak Yerzu od 1:22 :)

2,866

(2 odpowiedzi, napisanych Bałagan)

dobre,
swoją drogą to w pewnym sensie wszyscy tutaj jesteśmy ofiarami Atari :)

2,867

(10 odpowiedzi, napisanych Sprawy atari.area)

Pin napisał/a:

Co dziwne, jeśli napiszę za szybko innego posta w innym wątku to otrzymuję informację iż nie minęło 60 sekund od czasu dodania wcześniejszego.

dokładnie, wygląda to na jakiś bug.
zabezpieczenie jest ale działa kiedy nie trzeba

1:22  - jest i Atari

http://www.kronikarp.pl/szukaj,3854,tag-689457,strona-6

ktoś się rozpoznaje?

2,869

(27 odpowiedzi, napisanych Programowanie - 8 bit)

pajero napisał/a:

eetam.... faktycznie chodziło o zgodność w dół z CTIA.

patrz DeRe Atari str 183

dzięki, świetna dokumentacja


Fox napisał/a:

A dlaczego rejestry koloru są 7-bitowe zamiast 8-bitowe?

no właśnie, czemu Luminancja raz jest 4bitowa a innym razem 3 bitowa

2,870

(27 odpowiedzi, napisanych Programowanie - 8 bit)

Być może temat już tu był ale mogłem go namierzyć.
Jeśli się nie mylę, to w trybie Gr.10 każdy piksel opisany jest czterema bitami. Ciekawi mnie, więc czemu GTIA zamiast 16stu rejestrów kolorów ma tylko 9.
Było by super móc wykorzystać wszystkie kombinacje bitów na piksel.

2,871

(102 odpowiedzi, napisanych Sprzęt - 8bit)

laborant, fajny koncept, taki w stylu 1010.
Co do wykonania to pewnie sam bym lepiej nie zrobił :)

2,872

(6,412 odpowiedzi, napisanych Kolekcjonowanie)

laborant napisał/a:

pociąłem jedną 800xl by zrobić z niej obudowę sio2sd w stylu serii XL

i jak wyszło? masz jakieś foto?

2,873

(6,412 odpowiedzi, napisanych Kolekcjonowanie)

wieczor napisał/a:

Jeżeli to jest sprawne to za wybebeszenie łapy bym uciął

:)
wstyd przyznać ale prawie wszystkie moje Atarki są wybebeszone...

2,874

(4 odpowiedzi, napisanych Bałagan)

Męskie diny są trochę trudniej dostępne. Planowałem nawet zrobić samoróbkę z gumolitu :)
Finalnie dałem 7PLN za sztukę, raz na parę lat można się szarpnąć

2,875

(6,412 odpowiedzi, napisanych Kolekcjonowanie)

obudowa wypas, w sam raz na USatana albo CosmosEX