2,826

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

Tomasz Wachowiak napisał/a:

Dziwne. Trochę zmieniłem includy, więc jeśli wrzuciłeś tylko fillera do katalogu z poprzedniej wersji, to może rzeczywiście coś nie zadziałać. Wrzucę PRG, sprawdź, czy będziesz widział trójkąt.

Twój PRG działa ok. Devpac kompiluje również ok. PRG z VASMa coś nie działa. Jeszcze to sprawdzę i jakby co to zgłoszę problem do Franka Wille

2,827

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

Osobiście dla mnie to jest ok.
Problem z forum AA jest taki że osoba niezalogowana nie pobierze pliku. Czyli ograniczamy się tutaj do garstki osób z PL.


--edycja--

widzę tylko szary ekran

2,828

(110 odpowiedzi, napisanych Software, Gry - 16/32bit)

DML dodał dynamiczne cieniowanie tekstur.
Dla tych co nie mają konta na Atari-Forum:
http://s15.postimg.org/fpz6sldy3/grab0095.pnghttp://s15.postimg.org/4rnxaepcr/grab0097.pnghttp://s15.postimg.org/wgakhxcd7/grab0098.pnghttp://s15.postimg.org/v2ixmmd3v/grab0102.pnghttp://s15.postimg.org/5894wud3v/grab0103.pnghttp://s15.postimg.org/j37ffb7iz/grab0104.pnghttp://s15.postimg.org/8hnk3b17f/grab0105.pnghttp://s15.postimg.org/4zg5knpp7/grab0106.pnghttp://s15.postimg.org/vlsm9mtwb/grab0107.pnghttp://s15.postimg.org/sg80jfba3/grab0108.pnghttp://s15.postimg.org/65k5jgdzv/grab0109.pnghttp://s15.postimg.org/m52t30a1n/grab0110.pnghttp://s15.postimg.org/3qs9z0xqz/grab0112.pnghttp://s15.postimg.org/3zug2ozx7/grab0113.pnghttp://s15.postimg.org/rmveqt597/grab0114.pnghttp://s15.postimg.org/ktv1ujefv/grab0115.pnghttp://s15.postimg.org/ksl414cm3/grab0117.pnghttp://s15.postimg.org/vxeo04zq3/grab0118.pnghttp://s15.postimg.org/dj44w5nff/grab0119.pnghttp://s15.postimg.org/d8wmct8t7/grab0121.pnghttp://s15.postimg.org/w2if9t717/grab0122.pnghttp://s15.postimg.org/ont3hfl5n/grab0123.pnghttp://s15.postimg.org/3s6t66oyj/grab0124.pnghttp://s15.postimg.org/egak50yxn/grab0127.pnghttp://s15.postimg.org/8gmt1de57/grab0128.pnghttp://s15.postimg.org/fl4maelej/grab0129.pnghttp://s15.postimg.org/xcku2lq6z/grab0130.pnghttp://s15.postimg.org/h2unzpfiz/grab0131.pnghttp://s15.postimg.org/m2s47nl5n/grab0132.pnghttp://s15.postimg.org/fdlkrmztn/grab0134.png

2,829

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

Fajny kod, może da się jeszcze jakoś zoptymalizować.

Miałbym jedną prośbę aby dodać "endif" w pliku ste_blit.s w MACRO "sblit        macro".
Teraz za każdym razem gdy kompiluję Twoje testy muszę robić to ręcznie :)

2,830

(110 odpowiedzi, napisanych Bałagan)

stryker napisał/a:

pamiętacie ? ;>

pamiętamy,
% wysłany

2,831

(37 odpowiedzi, napisanych Bałagan)

projektor rzutnika...

2,832

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

no cacy.
maskownica będzie wyzwaniem

2,833

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

ok.
W necie krąży sporo mitów dot. hardware i kodowania, może to być jeden z nich.

tak na szybko widzę że ustawiasz i Video Base oraz Video Counter. Ja tylko modyfikuję Video Counter.

2,834

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

hmm, no może.
Z tym że o tym HBLu czytałem w jakiejś dokumentacji.

a oto dalszy ciąg kodu:

scrn_poi:
    REPT    2
        nop
    ENDR

    lea        Licznik_Ekranu1+1,A0            ; ustaw nowy adres ekranu
    move.b    (A0)+,$FFFF8205.w
    move.b    (A0)+,$FFFF8207.w
    move.b    (A0)+,$FFFF8209.w

2,835

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

Maciek, gdy z kodu usunę "    STOP    #$2300 ; wait for 1st HBL" przesuwanie ekranu traci stabilność - co jakiś czas ekran skacze. Czyli w moim przypadku zmiana $FFFF8265 od razu w VBLu nie działa prawidłowo.
W wolnej chwili mogę sprawdzić czy ze zmianą $FFFF8265 trzeba czekać do HBLa (512 cykli) czy można wcześniej jej dokonać

2,836

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

obaj macie rację :)

w moim teście zmieniam $FFFF8265 po pierwszym HBLu a $FFFF820F modyfikuję o 8 bajtów ( -8 bajtów dla hscroll==0) i działa to ok

Petla_VBL
    STOP    #$2300 ; wait for 1st HBL
    move.w    #$2500,SR
    addq    #1,D2
    cmp.w    #576,D2
    blt.b    .skip
        moveq    #0,D2
.skip
    moveq    #0,D5
    move.l    D2,D3
    and.b    #$0F,D3
    move.b    D3,$FFFF8265.w
    bne.s     fix_line
        move.l    Adres_Ekranu,Licznik_Ekranu1
        move.b    #224-80,$FFFF820F.w     ; x-words
        move.l    D2,D3
        and.w    #$FFF0,D3
        lsr.l    #1,D3
        add.l    D3,Licznik_Ekranu1
        bra.s     scrn_poi
fix_line:
    move.b    #224-80-4,$FFFF820F.w
scrn_poi:

2,837

(1,653 odpowiedzi, napisanych Bałagan)

skrzyp napisał/a:
Cyprian napisał/a:

obeszłe

Kolega Cyprian zgłosi się na najbliższym party... :)

wiesz, poszłem i obeszłem :)

2,838

(1,653 odpowiedzi, napisanych Bałagan)

obeszłe

2,839

(22 odpowiedzi, napisanych Bałagan)

słuszna numeracja
Atari 666XL i Atari 666ST

2,840

(22 odpowiedzi, napisanych Bałagan)

ta jest :)

2,841

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

800XL i 1029 - zestaw marzeń :)

2,842

(22 odpowiedzi, napisanych Bałagan)

były tam głównie 800XL i 1050. potem na jakiś czas pojawiły się dwa Amstrady 464 i 646. a coś koło 90' 286
Chodziłem tam na kurs Atari Basic. Pamiętam że było tam dwóch magików piszących w assemblerze, dzięki jednemu z nich sam zacząłem "kodować".
Do tej pory mam oryginalną dyskietkę QuickAssemblera.

2,843

(22 odpowiedzi, napisanych Bałagan)

w tym samym klubie, parę lat wcześniej zaczęła się moja przygoda z Atari
https://www.youtube.com/watch?v=NaVs3Iurfq8

2,844

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

EOR to XOR?
"source XOR destination" zabiera trzy cykle szyny (odczyt źródła, odczyt celu, zapis celu) - 12 cykli procesora

2,845

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

Tomasz Wachowiak napisał/a:

Jeśli chodzi o wstawianie instrukcji w czasie działania blittera, to chyba zadziała to tylko w przypadku trybu BLIT, czyli trybu dzielonego

Działa w każdym wariancie - BLIT i HOG. Kwestia jest tylko w tym, by wystartować BLiTTERa instrukcją typu "Class 0", np BSET, ASL, ADD itp: http://pasti.fxatari.com/68kdocs/68kPrefetch.html
A tutaj mój mały przykład:
http://www.atari-forum.com/viewtopic.php?p=96197#p96197

Tomasz Wachowiak napisał/a:

No ciekawe, jak wypadłby blitter w 4 planowym fillerze, ale zaczynam odnosić wrażenie, że mógłby być wolniejszy od motorli (jak sobie spojrzycie na 4 bitplanowego fillera z kilku tematów wstecz, to do wypełniania używam tam movemów i przy długich liniach robię bodajże 64 piksele na jednym movie - to może być już dla blittera za dużo).

myślę że warto by to sprawdzić w praktyce. Z tego co widzę w w przypadku wariantu CPU i MOVEMów dla każdej linii dokonujesz jeszcze fline_m i lline_m które są dość kosztowne.

2,846

(0 odpowiedzi, napisanych Bałagan)

http://kotaku.com/atari-engineer-steve- ... 1687628442

2,847

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

mkm napisał/a:

Mógłbyś teoretycznie zrobić wersje mieszaną wywołującą kod cpu lub blitter'a w zależności od długości linii. Oczywiście taki warunek to dodatkowy koszt

Wachu zrobił już detekcję w kodzie, są to procedury "line0_XXX" :)  Wystarczy dla odpowiednio długich podmienić kod z CPU na BLiTTERa.

Myślę że dla cztero-bitplanowego fillera proporcje mogą ulec zmianie.
Jest jeszcze jedna niewykorzystana tutaj zaleta BLiTTERa. W czasie blittingu, CPU może wykonać jedną "długą" instrukcję, np rotacje, mnożenie/dzielenie itp. Z tego co widzę w kodzie, na każdy trójkąt przypadają trzy DIVSy. Być może dało by się je sprytnie przesunąć pod blitting.

2,848

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

Tomasz Wachowiak napisał/a:

P.S. Piękny kod swoją drogą, wszystko z minimalną ilością cykli. :)

a dzięki :)

Bober napisał/a:

Ostatnio odbył się kompot z produkcjami na 1bitplan (na ST). Może będzie kolejny. Wtedy z 1bitplanowym fillerem będziecie do przodu :).

ten filler można zastosować również do wielu bitplanów

2,849

(110 odpowiedzi, napisanych Software, Gry - 16/32bit)

jury napisał/a:

Jest tylko uwaga, jak dobrze pamiętam, nie jesteś fanem grania w małych okienkach, a to jest rozdzielczość 160x80, czyli przy najmniejszej rozdzielczości Falcona to jest okienko wielkości 1/4 ekranu. Więc DML zastosował tu chwyt marketingowy ;)

to patrz (i słuchaj) teraz https://www.youtube.com/watch?v=hDXSMgW-r5M
:)

2,850

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

i jeszcze coś mi wpadło do głowy. Czy faktycznie poniższa instrukcja jest potrzebna?

   move.w    d5,d3  ;4

"addq.w    #1,d3  ;4" robisz w obrębie Word a nie Long