2,976

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

Adam Klobukowski napisał/a:

Oczywiście że się da, ale całkowite blokowanie szyny na 64 cykle jest problematyczne, szczególnie jak masz efekty które wymagają dokładnego cyklowania  każdej linii.

Atari na szczęście zaopatrzyło SDMA w 8 bajtowe FIFO, więc blitter bez zauważalnego efektu może zablokować procesor na max 640 cykli dla 50kHz stereo lub 10240 cykli dla 6kHz mono.
Więc, może to być problematyczne ale jedynie dla nowicjusza :)

Adam Klobukowski napisał/a:

Konkretny przyklad to każde demo/aplikacja używająca blittera i dźwięku DMA. Blitter ma najwyższy priorytet, i jeśli DMA będzie potrzebowało próbki w momencie gdy Blitter pracuje, to będzie trzask. Nie są to jakieś wielkie zakłócenia, ale wystarczy się wsłuchać by je usłyszeć. Jak na razie nikomu nie udało się tego wyeliminować, i chyba nie jest to możliwe, bo z tego co się ornientuje to nie da się przewidzieć kiedy dźwięk DMA będzie chciał uzyskać dostęp do pamięci.

Adam, nie ma technicznej możliwości kolizji dostępu do pamięci pomiędzy blitterem i SDMA ponieważ pracują one na odrębnych szynach danych. SDMA na szynie Shiftera a blitter na szynie CPU. Obie szyny dzięki układowi GLUE korzystają z pamięci naprzemiennie.

2,977

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

Adam Klobukowski napisał/a:

Blokowanie szyny podczas pracy (nawet w trybie HOG),

a który blitter tak nie robi? Pamięć RAM ma to do siebie że na raz korzystać z niej może tylko jedno urządzenie. Więc 68000 w zależności od sytuacji blokowany jest przez MMU/Shiftera, ACSI, FDC no i blittera.
Ale chyba wiem co chciałeś powiedzieć - w trybie HOG blitter przejmuje szynę danych na cały proces blittowania. W trybie Blit-mode dzieli się szyną z procesorem w czasie pracy.
Zgaduję że problemem w/g ciebie jest współdzielenie szyny 64/64 (64 cykle dla blittera i 64 dla procesora) w Blit-mode.
No nie wiem, dla mnie to jest ok. Oczywiście pewnie Atari mogło lepiej rozwiązać współdzielenie szyny w Blit-mode ale dla "chcącego nic trudnego". Jakieś 7 lat temu na Atari-Forum dodałem skromy wpis, w jaki sposób używać CPU i blitter równocześnie.

Tutaj np. masz screen z 3D Full Leonarda/Oxygene. Jest to overscan połączony z obiektem 3d wypełnianym blitterem:
http://www.pouet.net/content/screenshots/29062.gif

Adam Klobukowski napisał/a:

nie do wyeliminowania trzaski a dźwięku DMA itp.

szczerze mówiąc nigdy nie słyszałem o tym problemie. masz może jakiś konkretny przykład? jakieś demo, aplikację?


jury napisał/a:

Znaczy się, że np jeśli chciałbym skopiować zwykłą bitmapę 32x64 pikseli procesorem i blitterem, to blitter zrobiłby nieporównywalnie ( bo "wielokrotnie" tak rozumiem ) szybciej?

ok, chcemy tylko przekopiować sprite 32x64.
Mój kod, licząc samą pętlę zrobi to w 3072 cylki:

    lea        Dane(PC),A0
    lea        Dane+1000(PC),A7
    moveq    #63,D0
Petla3
    move.l    (A0)+,(A7)+        ;20 cycles
    lea        156(A0),A0        ;8 cycles
    lea        156(A7),A7        ;8 cycles
    dbra.w    D0,Petla3        ;12 cycles

Blitter w 1024 cykle

Jeśli jednak chcemy przesuwać sprite po ekranie to trzeba go rolować. Poniższy kod roluje o 3 pikseli w prawo i zajmuje mu to w 4224 cykli

    lea        Dane(PC),A0
    lea        Dane+1000(PC),A7
    moveq    #63,D0
Petla4
    move.l    (A0)+,D1        ;12 cycles
    ror.l    #7,D1            ;24 cycles
    move.l    D1,(A7)+        ;12 cycles
    lea        156(A0),A0        ;8 cycles
    lea        156(A7),A7        ;8 cycles
    dbra.w    D0,Petla4        ;12 cycles

Blitter potrzebuje 1024 cykle



maciekm napisał/a:

1)  czyścisz ekran na wszystkich 4 bitplanach. jestem w stanie napisać do tego szybki kod CPU:  movem na wzystkich rejestrach z ujemnym indeksowaniem oraz z unrollowanym loop'em. To jest już dość szybkie. Blitter będzie szybszy, ale różnica biorąc pod wzgląd, że kodujesz cały efekt a to tylko jakiś element nie będzie znacząca.

blitter czyści lub wypełnia paternem pamięć w tempie jedno słowo na 4 cykle.
Tutaj właśnie widać zaletę blittera vs unrolowany kod. Blitter zrobi to szybciej no i procedura zajmie zaledwie parę bajtów.


maciekm napisał/a:

moja osobista opinia ogólna jest taka, że blitter od strony technicznej używa się łatwo i przyjemnie (oprócz paru problemów które napisał Adam), ale cieżko jest znaleźć dla niego zastosowanie praktyczne w efektach. tzn napisać efekt tak by byl z założenia oparty na blitterze i był jako całość 2 razy szybszy niż na CPU. nie mówię, że się nie da (patrz cieniowanie o którym pisał Cyprian), ale jest to trudne. dlatego częściej jest używany imho tylko pomocniczo... (gdzie w Amidze koder dostawał od razu szybkie rysowanie linii, wypełnianie polygonów itp)

czyli nie mowię tutaj o matematycznej różnicy szybkości operacji... a raczej o praktycznych obserwacjach, które ja mam.

Nie znam się na scenowym programowaniu (chyba się zapiszę na lekcje do Ciebie :) ), nie będę się więc wypowiadał na temat konkretnych efektów.
Wiem tylko że blitter nie jest odpowiednikiem np. CPU czy GPU - nie jest uniwersalny. Został zaprojektowany do ściśle określonych prostych zadań. Najważniejsze żeby mieć pomysł jak go wykorzystać.

Co do czyszczenia pamięci, to nie myślałeś wykorzystać do tego blitter i Makra?
Jedno makro inicjujące blitter na początku programu, drugie uruchamiające operację blittera ?

2,978

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

Adam, jaką interakcję i jakie problemy  :)

2,979

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

maciekm napisał/a:

Co więcej moim zdaniem struktura bitplanów w pamięci ST (tzn ich przeplatanie się) też to czasami komplikuję w porównaniu z Amigą. (edit: dobra dramatyzuję to ostatnie przeszkadza w wielu innych rzeczach, ale z blitter'em tragedii przez to nie ma)

hmm, Amiga również używa bitplanów tylko inaczej rozłożonych. Myślę że dyskusyjną sprawą jest to który wariant jest lepszy, pewnie w niektórych rozwiązaniach Amigowy sprawdza się lepiej a w innych Atari przoduje.
Z tego co wiem to na Atari konwersja C2P jest szybsza dzięki właśnie przeplotowi bitplanów. Poniżej mój przykład - kod który tworzy 16 pixelową linię (zapala 16bitów w czterech bitplanach)
Atari:

    lea        addr_ekranu,A0
    moveq    #-1,D0
    move.l    D0,(A0)+
    move.l    D0,(A0)+

Amiga:

    lea        addr_ekranu,A0
    lea        8000(A0),A1
    lea        8000(A1),A2
    lea        8000(A2),A3
    moveq    #-1,D0
    move.w    D0,(A0)
    move.w    D0,(A1)
    move.w    D0,(A2)
    move.w    D0,(A3)

myślę że ilość potrzebnego kodu mówi samo za siebie.

Adam Klobukowski napisał/a:

Wykorzystanie blittera jest w wielu wypadkach na tyle klopotliwe, że niestety w większości wypadków nie ma tak różowo.

no nie wiem, blitter w Atari ma niewiele rejestrów i jest banalny w obsłudze.

taka ciekawostka, Ray//.tscc zaprzągł blitter do cieniowania wielokątów Gouraudem:
http://s390174849.online.de/ray.tscc.de/images/gouraud.gif

erOS napisał/a:

i dlatego nasza kochana firma chciała nam i producentom softu ułatwić życie i postanowiła nie montować tego układu? a jak już się zdecydowała to ci sami producenci postanowili nie psuć tej różowości? :) Czy też może nasz niedostatek produkcji wynikał z dużej popularności modelu bez tegoż układu czy też może programowanie blittera na ST a na Ami różni się tak dramatycznie? :>

dobre pytanie, ja sam chciał bym zapytać czemu STE weszło tak późno do produkcji, czemu linia STfm była produkowana do 1994 roku. itp. Nieznane są drogi Atari :)
Na grupie net.micro.atari16 (pierwowzór comp.sys.atari) można wyczytać że już w 1986 roku można było dokupić blitter do 520ST za skromne $120 :)

maciekm napisał/a:

Na amidze możesz scrollować je niezależnie - to jest używane w grach czy demach. Na ST/STE trzeba się ratować wtedy już programowym scrollowaniem i jest słabo:/

no tak, osobne sterowanie bitplanami w Amidze jest fajnym ficzerem.
Czemu tego nie było w Atari? Myślę że warto pamiętać że ST nie było projektowane jako konkurent Amigi tylko Mackintosha. Tak więc nacisk położono na komfort pracy w aplikacjach (stąd wysoka rozdzielczość STHIGH i twardy dysk) a nie na gry.


maciekm napisał/a:

Kolejny argument jest taki, że dodanie do ST 5'tego bitplanu aby mieć 32 kolory przy takiej konstrukcji shifter'a byłoby cieżkie... i niewygodne potem do obsługi przez koderów.

może dla tego w Atari skoczyło z 16stu od razu do 256 i 65536 kolorów

2,980

(5 odpowiedzi, napisanych Bałagan)

na Atari - 525, na Win/Linux - Audacity

2,981

(100 odpowiedzi, napisanych Zloty)

Pinex, wygląda to cacy. Nie chcesz przeprowadzić się do Wawy? ;)

2,982

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

Adam Klobukowski napisał/a:

Takich gier raczej nie ma

Adam, na tej stronie http://atari.8bitchip.info/steandg.html są wymienione takie gry które używają tylko blitter:
- Elvira the Arcade Game - BLIT
- Ghost Battle - BLIT
- GodPey  - BLIT

i jeszcze jest B Squad (Demo) która używa blitter i paletę 4096 kolorów (co nie powinno być to problemem na STfm)

2,983

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

erOS napisał/a:

Zdaje się, że ST wstrzymano w 1989 (który miesiąc(?)) a STE też miało premierę w tym samym roku.
Możliwe, że przez chwilę były równolegle (choć nie mam co do tego pewności),

Ponoć ST było robione równolegle z STE do samego końca istnienia Atari Co. - na AtariForum jest ciekawy wątek na ten temat.
W sumie to ciekawe czym było to spowodowane.

bartek030 napisał/a:

Na początku blitter w MST miał przyspieszać działanie aplikacji gem-u, ale wraz z wydaniem NVDI okazało się że jest wolniejszy niż NVDI+ST. Zresztą jak dobrze pamiętam NVDI wyłącza blitter. Dokładne różnice w wydajności można sprawdzić w GemBench-u.

w tym wypadku Gembench porównuje wydajność TOSa (a nie samego Blittera) vs NVDI. TOS musiał zmieścić w 192kB więć został zoptymalizowany pod kątem objętości a nie prędkości.

Jeśli chodzi o sam Blitter to w ST w każdej operacji jest on wielokrotnie szybszy od 68000. W Falconie i Amidze1200 jest inaczej, 68030/20 jest szybsze od blittera.

artik-wroc napisał/a:

Czy są jakieś gry, dema. użytki na ST (nie STE) które wymagają blitter'a ? Wymagają tzn. nie takie którym blitter nie przeszkadza, a jest wręcz konieczny :)

Tutaj znajdziesz listę gier na STE z info czego wymaga do działania. Szukaj takich które mają tylko adnotację BLIT
http://atari.8bitchip.info/steandg.html

co do programów użytków - jeśli aplikacja używa TOSowej funkcji np. LineA Bitblit lub VDI, to chcąc nie chcąc używa blitter jeśli jest on zamontowany w STfm.

2,984

(329 odpowiedzi, napisanych Fabryka - 16/32bit)

willy napisał/a:

Jako że przez niemal pół roku nie otrzymałem ŻADNEJ wiążacej odpowiedzi od Rodolphe Czuba, Z dniem dzisiejszym oficjalnie rozpoczynam projekt klonowania CT63 :D

Super news, jak to wypali to następny poproszę SuperVidel

Adam Klobukowski napisał/a:

Ale 060 obsluzy 4GB. Ograniczenie CT60 wynika zapewne z tego jakie dostepne byly moduly podczas konstrukcji. Jak juz mamy przerabiac, to najlepiej isc na maksa.

ale 32bitowy system 4GB raczej nie obsłuży. chodzi mi tutaj oto że wartości liczby powyżej 2GB traktowane są jako ujemne czyli kod błędu.
w sumie to myślę że nie ma co się licytować, ważne żeby projekt wypalił

jury napisał/a:

A co do projektu kopii CT6x to popieram i sam być może bym sztukę kupił.

żona zniesie trzydziestego CTka? ;)

2,985

(10 odpowiedzi, napisanych Sprzęt - 16/32bit)

piękny zestaw,

2,986

(1 odpowiedzi, napisanych Miejsca w sieci)

git sprawa. ciekawe jak poradził by sobie z demosami

http://www.atari-forum.com/viewtopic.ph … mp;t=26450

2,987

(8 odpowiedzi, napisanych Sprzęt - 16/32bit)

no nieźle to wygląda

2,988

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

a tutaj wideo http://vimeo.com/81008620
fajnie że 20 lat po śmierci firmy ktoś jeszcze tworzy nowe gry

2,989

(1,653 odpowiedzi, napisanych Bałagan)

YERZMYEY/HOOY-PROGRAM napisał/a:

Video z naszego ZX81 Party w Niemczech, w kwietniu:
http://youtu.be/lDSFbtI_gwg

średnia wieku 50+ :) w sumie to nas to też czeka...
gościu od "+2" ma niezłe tatuaże

2,990

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

tak Jacques, na razie jest YM ale na AF jest dyskusja na temat grania muzyki MOD na przetwornikach PCM

2,991

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

całkiem spoko

2,992

(28 odpowiedzi, napisanych Sprzęt - 16/32bit)

tu jest jeszcze inny schemat połączenia ST do SCART
http://s27.postimg.org/hznaf2d7n/Atari_ST_SCART.jpg

2,993

(7 odpowiedzi, napisanych Bałagan)

niezły patent.
w sumie to można by puścić playlistę z Atarowymi demosami.

2,994

(10 odpowiedzi, napisanych Sprzęt - 16/32bit)

tutaj jest sam wtyk za 9.70
http://multisort.pl/product/Wtyk-meski- … ,3045.html

2,995

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

dobre :)

2,996

(69 odpowiedzi, napisanych Fabryka - 16/32bit)

YERZMYEY/HOOY-PROGRAM napisał/a:

A Ty to Cyprian na PMki nie odpowiadasz? Tam coś o tym fire-coś-tam leży.

ano przeoczyłem PMa. nowe wiadomości są jakoś tak mało widoczne

2,997

(69 odpowiedzi, napisanych Fabryka - 16/32bit)

YERZMYEY/HOOY-PROGRAM napisał/a:

Natomiast ciekawi mnie stopień kompatybilności z serią 16bit. Na YouTube w sumie nic nie ma - parę gier i tyle.
A wiadomo, że najlepszym testem byłyby dema.

z tego co czytałem to kompatybilności jest mniejsza niż Hatari, no ale ciekawe jak to wygląda od praktycznej strony.
Na AF był wątek na ten temat:
http://www.atari-forum.com/viewtopic.ph … mp;t=25690

AtariZoll napisał/a:

OK: advantages: smaller size than PC, less power consumption ...
Disadvantage: less compatible. Need extra spending for mass storage ..

2,998

(400 odpowiedzi, napisanych Zloty)

Grey, Piter, fajna akcja no i fajne foty.
Ta szczególnie mi przypadła do gustu:
http://s30.postimg.org/zc1buu92p/Los_Atari.jpg

2,999

(7 odpowiedzi, napisanych Sprzęt - 16/32bit)

tak, wewnętrzne zasilacze w ST/STE powinny być takie same

3,000

(2 odpowiedzi, napisanych Emulacja - 16/32bit)

fajna ciekawostka,
nie wiem jak przerzucić do niego dane więc sprawdziłem tylko że  desktop działa :)