876

(6 odpowiedzi, napisanych Programowanie - 8 bit)

Dzięki za rozbudowaną odpowiedź - no to wypisz-wymaluj pozostaje mi ostatnie rozwiązanie, jak "pikawka" z GTIA. Potrzebuję 10 kolorów statycznych (5 głównych i ich półcienie), a dzięki machaniu z DLI jak widzę będę mógł użyć swobodnie sprite'ów do obiektów ruchomych (potrzebuję aże dwa, czyli 4 sprite'y będą w sam raz)

nie nie - nie liczę tego dla celów aplikacji, tylko dla celów testu - i efekt przesunięcia basicowym POKE, i z tej procedurki powinien być tak samo widoczny, a efektów jak nie było widocznych, tak nie ma :/

Próbuję coś robić w kwestii przypomnienia sobie, jak się pisało w basic-u... No i padło na GR.12.

Z tym, że problem jest taki, że potrzebuję nie 5, a 10 kolorów - jak to w najprostszy sposób zrobić ?

Po tym co, przeczytałem w atariki i biorąc pod uwagę próby logicznego wyobrażenia sobie tego, wpadłem na to, że najlepiej by użyć duszków, ponieważ w tej rozdzielczości szerokość 1 px jest równa 1 cyklowi koloru, a więc wypisz-wymaluj 1:1 dla wykorzystania duszków!

Z tym, że jest problem... szerokość planszy, jaką potrzebuję to 128px, a duszki dają max 40px, w podwójnej szerokości 80... "milimetrów" braknie... (poczwórna odpada)

Czytałem o tym, jak idzie wykorzystywać DLI do skoku pod własną procedurę, czytełem też o tym, jak podkolorowywany jest obraz w G2F... czyli dało by się to zrobić - z tym, że o ile zmienianie rozdzielczości linii to dla mnie nie problem, to wywołanie procedury, która będzie wykonywać przerzucanie pozycji (i obszaru pamięci) duszków jest już makabrą :(

Ale naprowadźcie mnie, czy idę w dobrym kierunku: gdyby utworzyć kopię obrazu w postaci słupków (jak ta procedurka będzie już działać, to nie będzie z przerzucaniem tego najmniejszego problemu) zgodnie z przesunięciem początku każdej kolumny co 1 stronę pamięci, wówczas dodatkowy pięciokilowy blok pamięci powinien wystarczyć, by za pomocą duszków uzyskać dodatkowe 5 kolorów ?

Czy też jest jakiś "prostszy" sposób ? Nie wiem - w postaci dwóch kopii displaylist, czy zmianie wartości rejestru koloru w danym pikselu podczas tworzenia ekranu - coś w tym rodzaju ?

879

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

Dzięki za info. Ech, szkoda, że Cię nie mieliśmy, jak Pajero zaczynał męczyć się z AKI :( - myślę, że w najbliższym czasie skontaktuje się się z Tobą to dogadacie sprawę "między wami konstruktorami".

880

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

Taka uwaga dla rozszerzających XEGSa o AKI:

XAKI 1.03 napisał/a:

I jeszcze uwaga dla posidaczy XE GAME SYSTEm. Otóż aki może nie działać gdy odłączy się klawiaturę
od atari. Aby wszystko było w porządku należy podłączyć rezystory podciągające napięcie  za diodami
dla sygnałów MTXR1 i MTXR2. Po tej modyfikacji można schować klawiturę Atarowską do szafy:)

                     5V
                   |
 PIC              _|_
                  |  | 4-10 kOhm
                  |__|
  10 RB4 ____|/|___|_____ MTXR2
  lub        |\|          lub
  11 RB5                  MTXR1

więcej info w plikach od DarkDK

881

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

Ruszamy z AKI dalej! Pajero, letterek poszedł :)

//EDIT:

Taka uwaga dla rozszerzających XEGSa o AKI:

XAKI 1.03 napisał/a:

I jeszcze uwaga dla posidaczy XE GAME SYSTEm. Otóż aki może nie działać gdy odłączy się klawiaturę
od atari. Aby wszystko było w porządku należy podłączyć rezystory podciągające napięcie  za diodami
dla sygnałów MTXR1 i MTXR2. Po tej modyfikacji można schować klawiturę Atarowską do szafy:)

                     5V
                   |
 PIC              _|_
                  |  | 4-10 kOhm
                  |__|
  10 RB4 ____|/|___|_____ MTXR2
  lub        |\|          lub
  11 RB5                  MTXR1

więcej info w plikach od DarkDK

^no i dubel jak nie wiem, ale info ważne, a wątki... hmm... pod kątem wyszukiwania przez "klawiatura XEGS AKI" może się i tam obok także przydać

882

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

Pliki od DarkDK: 1.03 full, 1.04 bin*
* =

DarkDK napisał/a:

..trochę nowszą 1.04 w której nie pamiętam co już robiłem.

Dzięki Dark! Jesteśmy conajmniej 26kroć wdzięczni!!! :)

//EDIT: róbcie kopie i przenieście we wlaściwsze miejsce

883

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

myślę, że na pewno są na liście osoby, które na 99,99% wezmą AKI niezależnie od ceny - no i z chęcią wpłacą Ci zaliczkę jak będzie taka potrzeba...

hmm... coś jest nie tak, ale nie wiem, co - wywołuje USRa, ale na ekranie zmian nie widać - od linii 32000 zaczyna się ta sama wersja, ale "skompresowana" blitter2.bas

Pr0be, skok liczony jest od zera ? Tzn.  S0 i S1 równe zero == bajt przy bajcie ? Długość minimalna 1 bajt ?

//EDIT: łoo jaki wolny ten basic... mam nadzieję, że po przekompilowaniu do XEXa będzie o wiele szybciej...
//EDIT: @Pr0be: popraw u siebie w poście POKE 1535+I, A (dzięki FOX)
//EDIT: adres 40000 (156,64) to adres pierwszej komórki pamięci wyświetlania przy standardowym odpaleniu komputera w basic-u

Rozbicie jest w sumie dla mnie korzystniejsze, ponieważ zakładam, że dana kolumna maksymalnie będzie dzielona na obszary po 32 bajty, co daje 8 bloków na stronę i ułatwia panowanie nad zmianami - dzięki temu mogę przyjąć, że na stronie XX trzymam dane gracza, którego ruch określa animacja w blokach 0 - 7 (0, 32 .. 192, 224). Także część elementów mogę sobie narysować wcześniej (np. wtedy, kiedy użytkownik ogląda stronę tytułową, albo podczas oczekiwania na załadowanie "levelu") i z pamięci ekranu przenieść w bezpieczny blok pamięci (lub nawet przesunięciem display list rysować w odpowiednim obszarze pamięci).

//EDIT: we flashu coś w tym rodzaju robi się za pomocą BitmapData :)

Super! Dziękuję wszystkim, którym chciało się zastanowić, o co mi biega, a zwłaszcza Pr0bowi i XXLowi :)

Możecie się spodziewać do końca roku konwersji (przepisania) na atarynkę conajmniej jednej mojej gierki flashowej :)

Dokładnie o coś takiego - pierw kopiuję obszar z ekranu do schowka, potem nakładam na to mój obszar pamięci, po ponownym wywołaniu wklejam w stare miejsce obszar ze schowka, kopiuję z nowego miejsca i tak w kółko. Gdy potrzebuję nakładania się na siebie - wywołuję XORa, ORa albo cokolwiek innego mi potrzebnego.

A ta mnogość parametrów stąd się wzięła, że jeżeli przeskok będzie o 1 bajt (S0 = 0, S1 = 0), to wtedy da się ją też do mieszania duszkami/fontami użyć.

//EDIT: @XXL ale nie jako prostokąt (bo wtedy wchodzi w grę offsetX i offsetY), ale jako pojedyńcza kolumna

888

(36 odpowiedzi, napisanych Programowanie - 8 bit)

tak, w największej szerokości czyli ((8px + 2px) x 4) x 4 = 160px, ale wtedy masz prostokąty szerokości 4px, co znów nie jest takie fajne przy kolorowaniu obrazków...

//EDIT walnąłem się - ma być nie 320, a 160 - P/M G na atariki:

Bit          7  6  5  4  3  2  1  0
Szerokość:   ...nieużywane...  0  0  pojedyncza (8 cykli koloru)
                               0  1  podwójna   (16 cykli koloru)
                               1  0  pojedyncza
                               1  1  poczwórna (32 cykle koloru)

(dzięki Jell)

889

(36 odpowiedzi, napisanych Programowanie - 8 bit)

o ile dobrze pamiętam, to w ilości wolnych cykli na jedną linię...

może być nierokowalna, byle bym wiedział, gdzie ona będzie i nie przeszkadzała mi w magazynowaniu takich różnych buforów...

yyy... nie wiem, co napisać... dzięki wielkie XXL, ale czym to się je ? albo bardziej: jak przekształcić w postać strawną do basica ? :D

już nie fajna :P

prawie :) na moje umiejętności machania w basicu to to jest chyba najszybszy sposób przenoszenia komórek pamięci - nie wyobrażam sobie tego robić tak:

FOR I=0 TO L: POKE a1MSB*256+a1LSB + I*S1, PEEK(a0MSB*256+a0LSB + I*S0):NEXT I

nie mówiąc już o & , || i pozostałych :)

894

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

W razie czego napisałem do Lotharka (o ile lotharek "gość" to Lotharek "Masa Ziomal" :) ) - ewentualnie, czy ktoś z odpowiadających w tym wątku ma kontakt z Darkdtem ?

@Pecuś: fakt, nie zauważyłem, że o tym piszesz

//EDIT: i do Darkdta też napisałem w razie czego

http://allegro.pl/show_user.php?uid=10001292 ...

896

(36 odpowiedzi, napisanych Programowanie - 8 bit)

tak, dokładnie, o to mi chodziło i jeżeli nie jest w większości gier to przepraszam wszystkich, których wprowadziłem w błąd - jak widać, 15 lat wyrwane z życia atarowskiego to dużo :)

Witam,

Ponieważ jestem nie dość, że kaseciarzem (fuuuj - i co z tego:p) i to do tego basicowcem (FUUUUUJ - no trudno :/), a do tego noga kompletna nie tylko z ASM, ale i używania ASM, to chciałem spytać (i prosić), czy ktoś mógłby mi pomóc i napisać procedurkę relokowalną, która by pozwalała na szybkie kopiowanie wybranych komórek z podanego adresu do adresu docelowego z określonym skokiem ?

Chodzi mi o coś takiego: I = USR(ADR, a0MSB, A0LSB, S0, a1MSB, a1LSB, S1, L, B);

ADR - adres wywołania procedury

a0MSB - bajt starszy adresu źródła
a0LSB - bajt młodszy adresu źródła
S0 - offset pobrania (przeskok w bajtach między kolejnymi komórkami pobrania)

a1MSB - bajt starszy adresu celu
a1LSB - bajt młodszy adresu celu
S1 - offset wstawiania (przeskok w bajtach między kolejnymi komórkami wstawiania)

L - długość bloku/ilość komórek do przeniesienia (max. 255 bajtów)

B - operacja boolowska na celu (000 - nadpisanie, 001 - AND, 010 - OR, 011 - XOR, 100 - NOT)

Byłby ktoś chętny pomóc ? Myślę, że zaprocentowało by to kolejnymi produkcjami w 2008 ;)

898

(36 odpowiedzi, napisanych Programowanie - 8 bit)

pirx napisał/a:

Zaryzykowałbym stwierdzenie, że jednak mniejszość.

a to z czego korzysta wyświetlająć > 4 sprite'y naraz na ekranie ? albo 4 dwukolorowe ? chyba nie powiecie mi, że jest jakiś specjalny tryb duszków, który pozwala z nich robić dwukolorowe (nie mówię o interakcji z kolorem tła!) - a jeśli nawet, to dwa kolory == 2bity/1px czyli z duszka 8px zrobił by się duszek 4px, łącząc do uzyskania poprzedniej wielkości z 4ch jednokolorowych, czyli 32 bitów dostępnych, robiło by się 2 dwu(/trzy)kolorowe szerokości 16bitów - mylę się ? No to wtedy skąd wziąć ruchome przeszkadzajki ?

Ok, to doprecyzuję swoje zdanie: "chyba większość gier korzystających z PMG korzysta z  z multiplexingu duszków i to pełnego, nie połowicznego..."

//EDIT: mogą być trzykolorowe, jak nałożymy dwa na siebie, czyli na to samo wychodzi... przy okazji pytanie: czy jest jakiś wzór pozwalający wyliczyć wartość otrzymanego trzeciego koloru ?

899

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

Witam, odświeżę temat w związku z akcją "AKI dla wszystkich" - da się gdzieś dostać jeszcze do plików Dark-a ?

900

(36 odpowiedzi, napisanych Programowanie - 8 bit)

chyba większość gier korzysta z multiplexingu duszków i to pełnego, nie połowicznego...