776

(142 odpowiedzi, napisanych Programowanie - 8 bit)

zbiór przydatnych algorytmów, przykłady m.in. w Pascalu i jakimś Basicu

http://edu.i-lo.tarnow.pl/inf/alg/001_search/

777

(142 odpowiedzi, napisanych Programowanie - 8 bit)

spora ilość źródeł efektów graficznych w QBasic-u

http://www.ocf.berkeley.edu/~horie/project2.html

był ogłoszony nowy rdzeń 1.26 na głównej? dowiaduję się o jego istnieniu dopiero z tego wątku, co to za marketing dupny

779

(142 odpowiedzi, napisanych Programowanie - 8 bit)

twister, w kilku wersjach

http://social.msdn.microsoft.com/Forums … mall-basic

780

(142 odpowiedzi, napisanych Programowanie - 8 bit)

szybki BLUR, poniżej link do opisu kilku szybkich metod blurowania

http://www.gamasutra.com/view/feature/3 … ng_in_.php

na Atari można szybciej jeśli rozdzielimy nasz efekt na dwa bufory których wartości będziemy uśredniać

w pierwszym przebiegu wypełniamy bufor1, następnie blur bufor1 = (bufor1 + bufor2) / 2, wyświetlamy bufor2
w drugim przebiegu wypełniamy bufor2, następnie blur bufor2 = (bufor1 + bufor2) / 2, wyświetlamy bufor1

dwie operacje dodawania 'bufor1 + bufor2' to najszybciej jak się da, zamiast '/2' najlepiej stworzyć tablicę z przeliczonymi wartościami 0..255 * jakiś ułamek typu 0.457

sposób w dwoma buforami jest zdecydowanie szybszy niż uśrednianie wartości wokół piksla

781

(54 odpowiedzi, napisanych Software, Gry - 8bit)

z tego co zauważyłem było kilka wersji playera, właśnie różniących się sposobem odczytu, użyte inne komendy aby co poniektóre karty CF nie siały błędami

może ten player będzie robił za benchmark kart CF ;)

782

(142 odpowiedzi, napisanych Programowanie - 8 bit)

uaktualniony CHESS ZOOMROTATOR, zamiast testu kolejnych zakresów wystarczy operacja 'and $10' lub 'and 8' itp.

http://madteam.atari8.info/index.php?prod=fx#chzoom

783

(142 odpowiedzi, napisanych Programowanie - 8 bit)

przykład realizacji KEFRENSBAR

http://madteam.atari8.info/index.php?prod=fx#kefrensbar

784

(142 odpowiedzi, napisanych Programowanie - 8 bit)

nowa strona ze źródłami wielu starych efektów

http://insolitdust.sourceforge.net/code.html

785

(142 odpowiedzi, napisanych Programowanie - 8 bit)

http://www.pouet.net/prod.php?which=17682

źródła dla C64 (ca65) chessboard zoomer, w 256 bajtach

786

(142 odpowiedzi, napisanych Programowanie - 8 bit)

dorzuciłem cytat z Barymag-a #2 na temat ZOOM SCROLLA, jest to opis metody realizacji tego efektu

787

(142 odpowiedzi, napisanych Programowanie - 8 bit)

o zmaganiach w odkrywaniu rotowanej szachownicy :)

http://csdb.dk/forums/index.php?roomid= … irstpost=2

788

(142 odpowiedzi, napisanych Programowanie - 8 bit)

kopiowanie w pionie zrealizuje program Antic-a, w poziomie jedna tablica w stylu

 ldx bajt_obrazu,y
 lda tablica_wspak,x
 sta bajt_obrazu+height/2,y

789

(142 odpowiedzi, napisanych Programowanie - 8 bit)

całkiem sensowne, zobaczę jak "rysuje" się takimi eor-owanymi patternami

dodam też że istnieje kolejna możliwość optymalilzacji ze względu na symetryczność górnej i dolnej części szachownicy, dolną cześć trzeba przekopiować "wspak" względem górnej, czyli wyrysowanie szachownicy sprowadza się tylko do połowy obrazu

  for j = 0 to height div 2 - 1
     for i = 0 to width - 1
       Pixels[width-i-1,height-j-1] := Pixels[i,j]
     next i
  next j

790

(142 odpowiedzi, napisanych Programowanie - 8 bit)

sprawdziłem możliwość optymalizacji tego chess zoomrotatora, tzn. dla bloków piksli 4x8 (odpowiednik znaku Atari) powstaje za dużo kombinacji poza pojemnością zestawu znakowego, podobnie dla bloków 4x4, natomiast dla 2x4 (ćwiartka znaku) jest lepiej ale i tak za dużo bo liczba niepowtarzalnych bloków dochodzi do 164

dla bloku 2x2 piksle powstaje stała liczba kombinacji 16, niezależnie czy mamy 64 fazy obrotu dla danej skali powiększenia czy 128 liczba niepowtarzalnych bloków jest stała =16

00,00,00,00
00,00,00,FF
00,00,FF,00
00,00,FF,FF
00,FF,00,00
00,FF,00,FF
00,FF,FF,00
00,FF,FF,FF
FF,00,00,00
FF,00,00,FF
FF,00,FF,00
FF,00,FF,FF
FF,FF,00,00
FF,FF,00,FF
FF,FF,FF,00
FF,FF,FF,FF

innymi słowy dla 64 faz obrotu o zadanej skali powiększenia dla każdego bloku obrazu o rozmiarze 2x2 piksle istnieje 64 bajtowa tablica z informacją o 16 różnych kombinacjach bloków

791

(142 odpowiedzi, napisanych Programowanie - 8 bit)

udało się rozgryźć tą pętlę, dodałem opis CHESS ZOOMROTATOR-a

http://madteam.atari8.info/index.php?prod=fx#chzoom

792

(142 odpowiedzi, napisanych Programowanie - 8 bit)

modyfikując pętle renderująca piksle uzyskać możemy roto-zoomowane pionowe pasy, kwadraty, szachownice jeśli zaczniemy przelączać test dla XP <-> YP

test dla kwadracików (dla pionowych pasów zamiast <8 będzie np. =8)

for j=0 to height -1 

for i=0 to width-1
 if (xp >> 8) mod 16 < 8 then plot(i,j) = white

 xp ...
 yp...
next i

 xp..
 yp...

next j

793

(142 odpowiedzi, napisanych Programowanie - 8 bit)

sprawdzałem ile zajmą dane dla rotozooma 128x128 piksli o 64 klatkach obrotu w wersji bez optymalizacji, zapisanie wszystkich wyliczonych ofsetów X:Y dla tekstury zajmie ~1MB, po spakowanie 7Zip-em zejdzie do 128KB, spakowanie ZIP-em ~290KB

teraz wersja z załącznika dla metody z postu #41 która sprowadza się do wyliczenia jednego "kafelka" obrazu a potem to już "stemplowanie" tym kafelkiem tak aby pokryć cały obraz, dane zajmują bez kompresji 49KB

gdyby zamiast ofsetów do tekstury trzymać już gotową wyliczoną teksturę którą tylko wypełniamy obraz, zajętość pamięci zmniejszy się, szybkość "stemplowania" też wzrośnie jeśli będziemy robić to znakami a nie bajtami

794

(142 odpowiedzi, napisanych Programowanie - 8 bit)

ta procka z posta #41 pozwala obliczyć tylko jeden "kwadrat" zoom-rotatora, resztę piksli przepisuje się na tej podstawie dla x-Xofset, y-Yofset

to jest tylko wewnętrzna pętla, reszta jest podobna jak w klasycznej metodzie http://madteam.atari8.info/index.php?prod=fx#rzoom

wg moich domysłów to właśnie ta procka której używają komodorowcy, pozwala to zmniejszyć rozmiar danej klatki animacji, liczymy tylko jej niewielki fragment, resztę na tej podstawie przekopiowujemy

zresztą postaram się zamieścić gotowy przykład

795

(142 odpowiedzi, napisanych Programowanie - 8 bit)

w końcu natrafiłem na opis optymalizacji pętli roto-zoomera z której korzystają najpewniej commodorowcy

http://www.gamedev.pl/forum/super-szybk … -by-madmax

Cytat:

Najbardziej pomysłowa organizacja wewnętrznej pętli, jaka mi przychodzi do głowy w tej chwili wyglądała by mniej więcej tak:

    Kod: do {
        if(((xp|yp)&~0xFFF)==0)
            *dst = src[(xp>>8)|((yp>>8)<<4)]
        dst++;
        xp += dx;
        yp += dy;
    } while(dst<line_end);


Co prawda hardcodowane do bitmap 16x16, ale powinno zasuwać aż miło. :)

796

(142 odpowiedzi, napisanych Programowanie - 8 bit)

istotne informacje dla programujących

http://bob.allegronetwork.com/prog/tricks.html

797

(142 odpowiedzi, napisanych Programowanie - 8 bit)

kolejna strona, tym razem z mnóstwem artykułów

http://www.flipcode.com/archives/

i rozdziałem poświęconemu efektom z dem

http://www.flipcode.com/archives/The_Ar … ogue.shtml

na dole tej podstrony są odnośniki do kolejnych opisów efektów (m.in. Bitmap Distortion, Bump Mapping, Fractal Zooming, Static Texture Mapping, Roto-Zooming)

798

(142 odpowiedzi, napisanych Programowanie - 8 bit)

nowy/stary efekt z przykładem w Delphi

X-ROTATOR

http://madteam.atari8.info/index.php?prod=fx#xrot

799

(142 odpowiedzi, napisanych Programowanie - 8 bit)

na stronie http://codebase64.org

pojawił się ciekawy i obszerny opis efektów w wykonaniu zestawu znakowego C64, m.in. Twister

http://codebase64.org/doku.php?id=base: … ng_carpets

800

(1,754 odpowiedzi, napisanych Fabryka - 8bit)

gość tworzy rozwiązanie dla konkretnych założeń, które sobie narzucił, bo chce, bo go to kręci, no i ... ? widać ominął go ten rozdział historii kiedy w modzie było pisanie swojego IRQ-Loadera, chciał dorzucić kamyczek do tego ogródka i tyle

najwyżej nie będziecie z tego korzystać, przejdziecie obok tego, skoro nie jesteście jego grupą docelową, potrzebne jest tutaj dodatkowo wylewanie Waszych frustracji, obrażanie, poniżanie, chcecie pobić onet "poziomem" wypowiedzi, czy bierzecie udział w konkursie chama forum

może to było zabawne na początku ale trzeba znać umiar

Mark Twain: "Lepiej jest nie odzywać się wcale i wydać się głupim, niż odezwać się i rozwiać wszelkie wątpliwości."

p.s.
Synthpopalooza rozwija interlace znakowy, sugeruję żeby tutejsza grupa krzyżowców nawróciła go na właściwą ścieżkę, w końcu kto korzysta w dzisiejszych czasach z interlacu