51

xor bedzie niefajnie wygladal w miejscu, gdzie obekty (asteroidy) beda na siebie nachodzic

52 Ostatnio edytowany przez xxl (2010-04-10 16:07:32)

tebe, moglbys przedstawic przykladowa procke? jak to sie ma do ruchu pocisku gdzie wysokosc i szerokosc wynosi 1.

---
no i jeszcze przyrost wsp. w ruch w jednej ramce moze byc wiekszy niz 1.

http://atari.pl/hsc/ad.php?i=1.

53 Ostatnio edytowany przez tebe (2010-04-10 18:06:24)

do mads-a są załączone przykłady także XOR dla trybu kolorowego

każdy duch ma flagę sygnalizującą pierwsze wywołanie ducha

1. jeśli to nie pierwsze wywołanie to XOR starej pozycji X:Y starą klatką ducha, ustaw flagę wywołania ducha
2. XOR na nowej pozycji X:Y nowej klatki ducha (parametry X:Y i numer klatki zapamiętaj)
3. jmp pkt.1

p.s.
przykład wykorzystania będzie można zobaczyć w intrze do Panga, tam w sumie w pierwszej ramce wywoływane są 4 duchy, w drugiej ramce kolejne 4 duchy (razem 8), tylko dzięki zaletom XOR-a udało się to zmieścić w pamięci

przyrosty każdego ducha (kuli) są różne, tak dla X-a jak i dla Y-a, dodatkowo pojawiają się napisy na tych ruchomych obiektach i wszystko jest OK

*- TeBe/Madteam
3x Atari 130XE, SDX, CPU 65816, 2x VBXE, 2x IDE Plus rev. C

54 Ostatnio edytowany przez Pecus (2010-04-10 18:08:52)

1. metoda XOR wyglądać będzie brzydko w gr.8 (zresztą w innych też niezbyt ładnie wygląda).
2. przy tej metodzie też trzeba czyścić obiekty (ale robi się to powtarzając wywołanie procedury rysowania).

Czyli ... wystarczy zrobić drugi komplet procedur rysowania, które zamiast XORować będą robiły STA (zakładając że w A jest 0) i wywoływać je zamiast czyszczenia. Będzie ładniej i szybciej.
Taki XOR ale bez XORa :)

Aaaa pisząc "procedury" zakładam że możnaby mieć różne procedury dla poszczególnych kształtów (a właściwie rozmiarów) co pewnie jeszcze by wszystko przyspieszyło. No i oczywiście nasz stateczek trza by wtedy oddzielną procką traktować.

Bla bla bla bla, bla bla bla. Bla bla bla - bla - bla. Blabla bleee.

55 Ostatnio edytowany przez Pecus (2010-04-10 18:10:37)

Post specjalny..... sprawdzam czy się postarzałem :) :) :)

eeee..... z "młodszego" stałem się tylko zwyczajny.....

Bla bla bla bla, bla bla bla. Bla bla bla - bla - bla. Blabla bleee.

56

przecież asteroidy nie są wypełniane tylko druciane, jak to może brzydko wyglądać, krawędzie będą wyraźniej zaznaczone gdy dwie asteroidy najdą na siebie, dla Hires XOR będzie wyraźniej eksponował wszystkie elementy gry

*- TeBe/Madteam
3x Atari 130XE, SDX, CPU 65816, 2x VBXE, 2x IDE Plus rev. C

57

Będzie eksponował elementy poza tymi które się na siebie nałożą P) ... zakładając zbliżone kształty, często trafią się dwa nałożone na siebie odcinki i wtedy to dopiero będą wyeksponowane kolorem tła :)

A przy większej gromadce nałożonych na siebie małych asteroidów (częste przy ostrym rozbijaniu dużych przed "nosem" pojazdu) pojawiać się tam będzie nierozpoznawalna z kształtu "sieczka"

Bla bla bla bla, bla bla bla. Bla bla bla - bla - bla. Blabla bleee.

58

dodaj do tego ruch i jeśli starczy Ci wyobraźni zrozumiesz

*- TeBe/Madteam
3x Atari 130XE, SDX, CPU 65816, 2x VBXE, 2x IDE Plus rev. C

59

Tebe... nie musi mi starczać wyobraźni.... Widziałem kiedyś asteroidy (i nawet w nie zagrałem) zrobione XORem i była to masakra (głównie właśnie przy ostrym strzelaniu i wielu małych skałach przed nosem).. Nie pamiętam już na co to było, ale nie podobało mi się.

Dyskusja o metodzie XOR jest jednak tutaj bezprzedmiotowa, bo czyszczenie w przypadku asteroidów jest szybsze.

I piszę to jako fan asteroidów klasycznych, który przegrał w nie tyle .... że lepiej nie pisać...
Zresztą na automatach wciągnęły mnie tylko 3 gry:
1. Asteroids
2. Time Pilot
3. Phoenix
...... no i czasem w tej budzie w Zambrowie robiłem pokazówki QIXa .... bo ludzie nie bardzo rozumieli o co w nim chodzi :)

Bla bla bla bla, bla bla bla. Bla bla bla - bla - bla. Blabla bleee.

60

w oryginale jest ORA dla wyswietlania, poza tym kasowanie jest szybsze or rysowania drugi raz...

w dostepnej dokumentacji o vector generatorze sa niescislosci zeby nie powiedziec bledy (mam wrazenie ze specjalnie), trzeba niestety kazdy rozkaz osobno sprawdzac. gra ma jakis ciekawy system przerwan odpalanych ok. 4 x na ramke (?ale nie zawsze?) od nich scisle zalezy szybkosc dzialania gry (tu potrzebne sa zmiany) pamiec VG jest dwuportowa czyli 6502 zapisuje do pamieci w czasie dzialania VG - dlatego pewnie tez sa dwie DL (czyli nie trzeba bedzie kopiowac DL zeby kasowac obraz). podstawa konwersji bedzie Asteroids rewizja2 (@Pecus chyba ze rev.1 lub bootleg ktorys jest lepszy?)

http://atari.pl/hsc/ad.php?i=1.

61

Wydaje mi się, że rev.2 to tylko w jakiś sposób uzupełniona o jakieś drobne poprawki rev.1.
Obie wyglądają i działają identycznie, więc chyba opierać się należy na rev.2 jako tej odpluskwionej :)

Bla bla bla bla, bla bla bla. Bla bla bla - bla - bla. Blabla bleee.

62 Ostatnio edytowany przez xxl (2010-04-19 12:33:43)

napisalem emulator vector generatora (wymaga jeszcze sprawdzenia no i raczej jest za wolny - mysle to bedzie baza do zmiany calego silnika wyswietlania) w dokumentacji bylo duzo bardzo powaznych bledow, opieralem sie na tym co MAME wyswietla. atari vector generator jest dosc szybki, potrafi narysowac caly obraz w ok.1/3 ramki no i niestety ma rozdzielczosc 1024x1024 myslalem zeby ja skalowac do interlance na atari ale chyba pozostane przy trybie przeskalowanym do 256x239 (tylko jeszcze nie wiem jak :-D)

http://atari.pl/hsc/ad.php?i=1.

63 Ostatnio edytowany przez mono (2010-04-19 12:40:00)

A może być 256x256? Współrzędne chyba łatwo skalować (2 x lsr @)? Czy problem jest bardziej złożony? Możesz uściślić?

hex, code and ror'n'rol
niewiedza buduje, wiedza rujnuje

64 Ostatnio edytowany przez xxl (2010-04-19 12:46:05)

no tak wlasnie chce zrobic i co 16 linia bedzie miala ta sama wspolrzedna y, nie mowiac o tym ze poczatek ukladu jest w lewym dolnym rogu ale to akurat mozna zalatwic zmieniona DL.


---
albo nie, wspolrzedna y bedzie pobierana z tablicy ktora juz bedzie odwrocona, troszke sie zyska miejsca na LMS w DL no i chyba antic tez troszke kradnie wiecej przy LMS ?

http://atari.pl/hsc/ad.php?i=1.

65

Zeby odwrocic wspolrzedne wystarczy zrobić eor #$ff :)
Ale odwrócony dlist będzie na pewno szybszy.

hex, code and ror'n'rol
niewiedza buduje, wiedza rujnuje

66

etam - jesli zmienisz pozycje wyswietlania licznikow - to sam ekran moze byc obrocony, odbity ile chcesz razy - i tak przeciez to niczego nie zmienia ;)
co najwyzej obsluge joya bedzie trzeba zmienic na odwrotna w ktorejs osi ;)

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

67 Ostatnio edytowany przez xxl (2010-04-21 19:23:35)

tak to wyglada na MAME

http://atari.pl/vector0.gif

a tak wyglada na atari

http://atari.pl/vector.gif

spostrzezenia:
- dwa glazy z prawej nie w 100% sa takie same poniewaz jeden z nich 'wypadl' w linii ktora jest podwojona (rozdzialka y - 256)
- napis na dole jest krzywy - albo mam blad w emulatorze vector generatora albo... chyba mam blad.
- z gory i z dolu ekranu jest sporo wolnego miejsca $80 pixeli przed konwersja - podejrzewam ze MAME przycina obraz z gory i z dolu, jesli tak niepotrzebnie robilem podowojne linie - spokojnie wystarczy tych 239 atarowych na gre (do sprawdzenia)

najgorsze jest to ze emulator jest potwornie wolny :/ ale to dopiero poczatek...

http://atari.pl/hsc/ad.php?i=1.

68

http://atari.pl/avg2.gif

http://atari.pl/avg1.gif

wlasciwie juz wszystkie rozkazy vector generatora przetestowane, ten pochyly napis jest tylko w jednej skali (po zmianie skali wyraz jest ok). do rysowanie odcinkow zostala uzyta procka eru a i tak rysowanie jest za wolne :/
bylo by idealnie gdyby pojawil sie kardrydz do atari z wlasnym prockiem... moze Zenon opublikuje w koncu 'Weronike' - uprosilo by to mysle sprawe.

po optymalizacji postaram sie udostenic filmik jesli oczywiscie predkosc nie bedzie zenujaca
---
prosze przeniesc watek do fabryki, bo wlasciwie juz zaczyna cos dzialac.

http://atari.pl/hsc/ad.php?i=1.

69

filmik z dzialajacej gry:

http://atari.pl/asteroids2.zip

gra zachowuje sie w 100% jak oryginal, zmienilem tylko przerwania i kilka latek na kod (zeby gra mogla dzialac)

gra ma sprzetowe przelaczanie 2 i 3 strony pamieci wiec latek bedzie wiecej albo wylacze mozliwosc gry na 2 liczniki.

szybkosc nie jest zadowalajaca :/

http://atari.pl/hsc/ad.php?i=1.

70

No i jest super, teraz proponuje powolna rezygnacje z wektorow (czyli kolejne latki :) ).

Mi sie juz teraz podoba !!! :)

Bla bla bla bla, bla bla bla. Bla bla bla - bla - bla. Blabla bleee.

71

popykac juz mozna

http://atari.pl/asteroids-game.zip

problemem jest szybkosc :/ ale i tak wydaje mi sie jest niezle. niestety przerwania cos niedomagaja, do poprawy, za to sterowanie jest gotowe, guzik do wrzucania monet ;-) jest wciskany razem ze startem (ostatecznie bedzie freeplay),
obslugiwane sa 4 jezyki, mozliwe ze to zostawie...

http://atari.pl/hsc/ad.php?i=1.

72

magnifique

http://www.5oft.pl/

73

Konwersja wygląda naprawdę dobrze, choć zdecydowanie przydałby się double buffering.
Z ciekawości spytam, pomijając inicjalizację ile zabiera rysowanie jednego piksela czy tam ich kilku na jednej pozycji y w użytej procedurze linii?

74

wywalilem napis na dole, odrobine przyspieszylem kasowanie


http://www.youtube.com/watch?v=00bG01m1woo

procka rysowania lini jest zapozyczona jak narazie od Eru alternatywa jesli procka Konopa ale nie wiem ktora wypadnie lepiej bo jeszcze tam "nie doszedlem", poza tym nie wiem czy w finanej wersji bedzie uzywane rysowanie linii wszystko narazie jest w powijakach, sa rozne koncepcje...

http://atari.pl/hsc/ad.php?i=1.

75

pls jak bedziesz mogl przywroc ten napisik na dole. moze byc jakos wbity na stale czy cos, ale musi byc... dziekuje za uwage...

http://www.5oft.pl/