2,876

(25 odpowiedzi, napisanych Programowanie - 8 bit)

O ile dobre zrozumiałem problem chodzi Ci MaW o coś takiego:

10 a=peek(20)
20 gosub TwojaProcedura
30 b=peek(20): if (b >= a and b < a+2 or b < a and b < a+2-256) then 30
40 a=b: goto 20

Jeśli Twoja procedura wykonując się przekroczy czas trwania 2 ramek, to po prostu polecimy dalej - jeśli nie przekroczy to zsynchronizujemy się. Pominąłem oczywiście synchronizację z początkiem ramki bo myślę, że na tak dokładnej synchronizacji Ci nie zależy?

2,877

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

Gdyby też wyjąć i rozczłonkować OS mielibyśmy L-system'ów.

2,878

(6 odpowiedzi, napisanych Programowanie - 8 bit)

Pomysł jest ciekawy. Ale co z rozdzielczością? Trzeba by uzyskać pełną rozdzielczość na tych 64px. Gdyby zdążyć z przesuwaniem sprajtów w linii i przesłanianiem kawałków pikseli trybu graficznego i zmianą kolorów sprajtów to by się mogło udać (a przynajmniej pozycje i kształt). Paradoksalnie to missiles byłyby tutaj chyba użyteczniejsze :) Ech - czemu to kolory i pozycje sprajtów w gtia nie są brane z banków...?

Hmmm. A może by otworzyć małą drukarnię starych czasopism? Sepcjalnie dla fanatyków starych komputerów? W oryginalnym rozmiarze - tylko na papier toaletowy dla IKSa nie ma co liczyć... :(

2,880

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

65xe z expansion port; rozszerzenie ram z bajtka do 192kb i sprzętowy reset (samoróba) też chyba wg bajtka - dawno to było i nie pamiętam :(. Obydwa rozszerzenia robił kolega więc nie podam szczegółów, bo nie za bardzo się znam.

2,881

(15 odpowiedzi, napisanych Programowanie - 8 bit)

epi napisał/a:

Zalecam doszkolenie: http://atariki.krap.pl/index.php/Ramka :)
Dodatkowo ANTIC nawet kiedy ma wyłączone rysowanie ekranu, to i tak po cichu zabiera 9 ze 114 cykli w każdej linii.

Tak, tak :) Nie wiem czemu ubzdurało mi się, że zegar taktujący jest dzielony na 2 - z moich obliczeń wychodziłoby wtedy 57 cykli na linię - nie sprawdziłem :/. O tych 9 cyklach wiem...

@Archiel: masz w takim razie 2x więcej czasu na logikę. Tryb tekstowy z generatorem znaków w trybie 2ANTIC rzeczywiście (jak pisze Laoo) da się zrobić. Pozostają tylko problemy zasygnalizowane prez Fox'a...

2,882

(15 odpowiedzi, napisanych Programowanie - 8 bit)

ArchieIl napisał/a:

Po pierwsze "emulator" tak naprawdę byłby binarnym rekompilatorem (offlinowym) ROM-ów dla 2600 na kod, który działałby z Atari XL/XE.

xxl już zrobił jeden "rekompilator offlineowy" - możesz go popytać jakie są problemy. Polecam wątek http://atariarea.krap.pl/forum/viewtopic.php?id=4772

ArchieIl napisał/a:

Po drugie w Atari 2600 całość grafiki w każdej ramce jest tworzona od 0 przez 6502 i wysyłana do układu graficznego.

lda abs - 4 cykle
sta abs - 4 cykle
CPU jest taktowany 1,773447 MHz w PAL - zegar dzielony jest przez 2 więc masz 886723 cykle procesora na sekundę.
W ramce (PAL - 1/50 s) masz więc 17734 cykli więc jesteś w stanie przepisać rozwiniętą pętlą 2216 bajtów (najszybszy sposób). Rozdzielczość 40x192 daje Ci 7680 bajtów na Atari XL/XE. Nie liczę zupełnie cykli, które ANTIC zabiera na odświeżanie ekranu i zakładam, że ANTIC podczas generacji ma wyłączone rysowanie ekranu.
Nawet gdyby zastosować sprajty do rysowania obrazu a grafikę do rysowania sprajtów to i tak masz dla ekranu 960 bajtów do przepisania, a dla sprajtów 576 bajtów (chyba, że będziesz to modyfikował tylko tam, gdzie trzeba) - w sumie masz więc 1536 ($600) bajtów do przepisania co daje 12288 cykli (i zajmuje $2400 ramu). Reszta czyli 5446 zostaje Ci na logikę i generowanie treści.

ArchieIl napisał/a:

* użycie trybu tekstowego 40x24, w którym wszystkie znaki są zaprojektowane jako wszystkie możliwe do użycia zestawy kreseczek poziomych ("mono").
* użycie trybu tekstowego ANTIC 4 ze znakami zdefiniowanymi j.w. (full kolor)

8 linii po 2 stany - ilość kombinacji = ilość stanów do potęgi ilość linii; wychodzi 256 kombinacji - nie wystarczy Ci generatora znaków.

ArchieIl napisał/a:

* użycie trybu ANTIC 9 tyle, że nie sprawdziłem jeszcze czy ANTIC pozwala na podmianę zawartości poszczególnych linii i uzyskanie w ten sposób wymaganej rozdzielczości 192 lini w pionie.

Jak działałyby gry gdyby nie pozwalał? Rozdzielczość OS9: 80x192.

ArchieIl napisał/a:

W obu przypadkach dynamicznie zmieniające się tło będzie wyjątkowo trudne w realizacji ale na początek chciałby uzyskać emulację dla gier ze statycznym playfield i z dowolnie konfigurowanymi duszkami.

Przecież to zazpisywanie pełnych bajtów: $00, $11, $22 i tak aż do $88. Żadnego maskowania, przesunięć, liczenia - gdzie tu trudność?

2,883

(41 odpowiedzi, napisanych Sprawy atari.area)

AutoBoxer

2,884

(6 odpowiedzi, napisanych Programowanie - 8 bit)

Czy tych duszków potrzebujesz do obiektów ruchomych czy do statycznego tła?
Zauważ, że nawet przy poczwórnej rozdzielczości w poziomie pozycję sprite'a możesz ciągle ustalać z dokładnością do jednego piksela (tryb 12OS). Jeśli ustalisz priorytet ducha tak, że będzie on rysowany pod kolorami pola gry (czyli pod obrazem wyłączywszy tło czyli parę bitów 00), to stawiając piksele na obrazie możesz zasłonić część szerokiego piksela sprajta. Dzięki temu możesz sobie przykryć cały ekran (statycznie) lub mieć dodatkowe kolory dla programowego sprajta (bo pozycję szerokiego sprajta zmieniasz z precyzją cyklu koloru czyli piksela w OS12). Wyglądałoby to np tak:

5555  - jeden bit sprajta x4
0123 - zawartość znaczka

w efekcie dostajesz coś co wygląda na ekranie

5123

a więc piksel dodatkowego koloru 5 :) Sprajt jest w poziomie ustawiony tak, że jego piksele pokrywają się dokładnie ze znakami.
Oczywiście jeśli grafika wygląda tak:

5555  - jeden bit sprajta x4
0103 - zawartość znaczka

to dostaniesz

5153

a więc nie użyjesz tu koloru tła (00), bo przesłania go ciągle sprajt. Jeśli natomiast sprajta przesuniesz o piksel

     5555         - jeden bit sprajta x4
01030120 - zawartość dwóch znaczków

to wtedy w wyniku dostaniesz

01535120

ale część sprajta przesłoni wtedy następny tło następnego znaczka (pierwsza para bitów 00 z drugiego znaku została przesłonięta przez sprajta).
Dokładając kolejnego sprajta dostaniesz

   6666         - jeden bit sprajta x4
  5555         - jeden bit sprajta x4
01030020 - zawartość dwóch znaczków

dostaniesz

01535620

i tak aż do wyczerpania ilości dostępnych sprajtów. Missiles podlegają tym samym regułom a mają tylko mniejszą szerokość, ponadto możesz włączyć 5 playera co daje dodatkowy kolor na wszystkich missiles. Kolor ten brany jest z rejestru, jaki używany jest dla pary bitów 11 w znaku w inverse. Dzięki temu możesz mieć naraz widoczne kolory 3 i 4 np.

4444 - zawartość jednego bitu missile z włączonym 5 playerem
0123 - znak BEZ inverse

a na ekranie zobaczysz

4123

Nie używając missile w tym trybie lecz samego znaku w inverse miałbyś:

0124 - znak Z inverse

Można więc tutaj czarować do woli.
Na dli możesz też zmieniać priorytety sprities pozwalając na przesłanianie dodatkowo niektórych kolorów ekranu (nie tylko koloru tła - para bitów 00).
Jest to dość skomplikowane - to fakt, ale pozwala na uzyskanie pojedynczych pikseli dodatkowych kolorów na całkiem sporych obszarach ekranu. Stosując sprite'a w rozdzielczości x1 ten obszar gwałtownie się zredukuje, a co więcej żeby uzyskać dodatkowe kolory trzeba będzie multiplikować sprajty w każdej linii ekranu co oznacza zarżnięcie procesora. Trzeba też wziąć pd uwagę, że w trybie tekstowym cała pierwsza linia skaningowa praktycznie jest zablokowana na działania ANTIC'a i tam kolorów/pozycji nie przełączysz. W trybie graficznym zaś tracisz kolor dla znaków w inverse i możesz go uzyskać już tylko 5 playerem.

Można też prócz 5 playera włączyć nakładanie kolorów, wtedy jeśli sprajty nałożą się na siebie uzyskujesz kolor będący wynikiem wykonania funkcji bitowego OR na zawartości rejestrów kolorów dla odpowiednich sprajtów - dostajesz wtedy dodatkowy kolor, którego nie ma w żadnym rejestrze :)

Na koniec słownik:
duch/sprite - player lub missile
0..3 kolory znaku bez inverse
4 - kolor dla pary 11 znaku w inverse lub tzw. 5 playera
5..8 - kolory sprajtów

Wszystko to napisałem, żeby Cię przekonać jednak do użycia szerokich sprajtów :)
Technika prostsza, o której wspomniałeś, czyli migotanie dwoma displaylistami i bankami sprajtów ze zmianą kolorów na vblk/dli (jeśli masz wyłączone przepisywanie rejestrów cienii na vlbk, to przełączanie ekranów naprzemienne można zrealizować samą dlist rozkazem jvb - wtedy na dlist przepisujesz tylko kolory i pozycje sprities), ma tę wadę, że masz dwa razy więcej grafiki do kopiowania podczas animacji.

Na koniec drobna uwaga. ANTIC ma tylko 9 rejestrów kolorów co pozwala w trybach ANTIC'a uzyskać max 9 kolorów. Uzyskanie 10 kolorów jest możliwe albo:
- multipleksowaniem sprities w linii
- przełączaniem kolorów w linii
- włączeniem trybu nakładania kolorów GTIA.
Dwie pierwsze techniki zabierają masę czasu procesora - ostatnia przerzuca całą pracę na GTIA.

edit: ponieważ chcesz zastosować BASIC proponowałbym jednak coś co nie obciąży procesora, a więc faktycznie sprities (w takiej rozdzielczości, jaka Ci wystarczy z ewentualnym włączonym trybem 5 playera) i nakładaniem kolorów i priorytetami, tudzież zmianę kolorów/priorytetów/położenia na dli/vblk.

2,885

(31 odpowiedzi, napisanych Bałagan)

Pan Korwin-Mikke twierdzi np. że klarowne prawo można by stworzyć wyrzucając do śmieci 90% ustaw wprowadzonych po 20 bodajże roku :) I wcale nie uważam go za oszołoma.

2,886

(31 odpowiedzi, napisanych Bałagan)

A mnie się wydaje, że nie powinno się "chronić pewnych grup społecznych" a po prostu stworzyć klarowne i zwięzłe prawo. bo idący tym tokiem myślenia po prostu ustanawiamy wyjątek od reguły. A potem kolejny i kolejny - w ten sposób komplikują się najprostsze sprawy.

2,887

(41 odpowiedzi, napisanych Sprawy atari.area)

To może wprowadzić ocenę za posta :D:D:D Z punktacją -10..10. Albo żeby było standardowo -20..20!
I jeszcze kategorie dla oceny np.: merytoryczna, humorystyczna, filozoficzna, pogotowietechniczne itd. Właściwa ocena zawodnika liczona byłaby jakąś Heurystyką Dely'ego i wystawiany byłby piękny stopień. Niedobry pomysł?

edit: Z ciekawości - czy można poznać aktualną listę progów i adekwatnych odznaczeń?

2,888

(36 odpowiedzi, napisanych Programowanie - 8 bit)

dely napisał/a:

Przy odpowiednim zaplanowaniu obrazka (użycie szerokiego PMG do kolorowania dużych płaszczyzn, jako "underlay" z priorytetem poniżej tekstu/grafiki) oddaje ten sposób nieocenione przysługi i jest to jedyny plus atarowskiego PMG - nawet C64, które przoduje w sprite w gronie 8bit, tak "nie umi" :)

Dely - pamiętaj, że ce64 ma mapę kolorów i nie potrzbuje jej emulować za pomocą sprajtów.

2,889

(31 odpowiedzi, napisanych Bałagan)

@TDC: mógłbyś ten paragraf gdzieś wyszukać? Wiem, że istnieją licencje akademickie oprogramowania, ale za nie często również trzeba zapłacić. Słyszałem również o haczyku pozwalającym uniknąć odpowiedzialności np. za opis jak włamać się do sieci wifi: wystarczy podobno napisać, że artykuł opisuje podane sztuczki w celach EDUKACYJNYCH. Nie są to jednakowoż zastosowania naukowe, a więc nie ograniczone do kręgu ludzi Nauki.

A odnośnie problemów z własnością intelektualną polecam ciekawą pracę dostępną na http://www.futrega.org/wk/ . Ciekawych rzeczy można się tam dowiedzieć - może dla wielu z Was takie to nie będzie, ale dla mnie było to dość odkrywcze.

2,890

(1 odpowiedzi, napisanych Kupię / Sprzedam / Zamienię Atari)

Chętnie zakupię. Mail poszedł na priva.

2,891

(18 odpowiedzi, napisanych Fabryka - 8bit)

@Kaz: Są dwie techniki. Albo NIE włączamy tzw. 5 playera i wtedy mamy 4 missiles po 2 cykle koloru każdy (4cykle w rozdzielczości x2 i 8 cykli w rozdzielczości x4)  każdy missile ma wtedy kolor odpowiadającego sobie playera (colpm0-3). Druga technika polega na WŁĄCZENIU 5 playera w gtictl i wtedy wszystkie missiles mają osobny kolor (z colpf3), ale dalej pozycja każdego jest osobno sterowana rejestrami hposm0-3.

edit: Dla ścisłości - jest jeszcze sposób na uzyskanie kilku dodatkowych kolorów - trzeba włączyć "nakładanie" kolorów w gtictl i w miejscach gdzie zapalone punkty sprajtów będą się nakładać powstanie kolor będący wynikiem funkcji OR na wartościach rejestrów kolorów. Nie wiem, czy g2f tej techniki używa. Wymaga to od rysującego dużej wprawy w operowaniu kolorem, ale teoretycznie coś takiego uzyskać się da.

2,892

(18 odpowiedzi, napisanych Bałagan)

Spróbuj ArchieIl poszperać nieco na http://worldofspectrum.org - możliwe, że przez tamte fora trafisz na więcej informacji o Meritum, albo na ircu #z80 bodajże.

2,893

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

Wiele niemieckich gier miało taki bajer. Nie jest to informacja sprawdzona, ale podobno na magnetofonie stereo należało nagrać na jednym kanale program, na drugim dźwięk i ustawić cichą transmisję w boot loaderze, żeby "piski" nie zakłócały muzyki (może jakiś sprzętowiec mógłby się na ten temat wypowiedzieć). Jeśli dobrze pamiętam gry firmy AXIS miały takie loadery. Chyba "Slot Machine" i "Schreckenstein".

2,894

(23 odpowiedzi, napisanych Bałagan)

Również życzę powodzenia.

2,895

(2 odpowiedzi, napisanych Bałagan)

CPL - Common Public License. Jest dość obszerna (niestety) notka prawna :D Niestety po angielsku, bo nie jestem w stanie podjąć się tłumaczenia, a wersji polskiej nie znalazłem. O ile zrozumiałem tekst licencji pozwala ona na wykorzystywanie oprogramowania we własnych projektach (darmowych lub komercyjnych), lecz jeśli ktoś chciałby rozwijać sam projekt, to musi udostępnić go również za darmo - tak jak pierwowzór. GPL zdaje się umożliwia sprzedaż oprogramowania, do którego dołożyliśmy parę linii kodu a tego chcieliśmy uniknąć - niech wszystko idzie w świat za darmo. Takie były intencje, ale jak napisałem - nie znam na tyle dobrze angielskiego, żeby podjąć się tłumaczenia tekstu licencji i mogłem również czegoś ne zrozumieć. Jeśli się mylę w jakiejś kwestii proszę o sprostowanie osoby kompetentne :)

Edit: ech... nie złapałem żartu :) pora już nie ta...

2,896

(2 odpowiedzi, napisanych Bałagan)

Jestem współautorem takowego narzędzia http://picp.i-demo.pl i chciałbym się nim podzielić.
Jest to programator do mikroprocesorów Microchip serii PIC 10F2xx np. 10F200, 10F202, itp. Postanowiliśmy z kolegą coś takiego zrobić, ponieważ brakowało nam gotowego narzędzia dla linuxa. Programator wykorzystuje port równoległy do programowania za pomocą techniki ICSP. Oprogramowanie jest napisane w javie, a ponieważ goła jvm nie supportuje operacji na porcie równoległym kod połączony został z kawałkiem w c (za pomocą JNI), który realizuje podstawowe operacje. Aktualnie program został wyposażony w bibliotekę dla linuxa, ale myślę, że nic nie stoi na przeszkodzie, żeby ktoś dołożył do niego biblioteki dla windowsa i dla macosxa.
Być może nasze urządzenie okaże się komuś z Was przydatnym z czego cieszyłbym się przeogromnie.
Oczywiście mile widziane są wszelkie uwagi, krytyka, pomoc i w zasadzie dowolne przejawy inwencji twórczej związane z naszym projektem.
Uwagi i pytania (także zw. z problemami, bo na pewno takie wystąpią) prosiłbym kierować na adres podany na stronie lub na mjego priva na forum atariarea.

Edit: Zaktualizowałem linka, bo zmieniła się domena.

2,897

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

gRzEnIu napisał/a:

mono: Z szacunkiem dla Twojej wiedzy ale przestań z tym ttySx. Chapnałeś GNU/Linuxa i pozostaw to sobie. Nikt nie oznacza w ten sposób portu szeregowego w komputerze :O. Niepotrzebnie wprowadzasz zamęt. Wiesz ile kosztuje stacja dokująca ? Trzeba być niezłym głupcem aby kupić ją tylko dlatego że widzi się komuś taki sposób podłączania a można przecież bez niej i w dodatku taniej ! Stacja dokujące to kawał kloca który osobiście mnie dobija. Wiem bo mam w pracy :/ Kupiona w "zestawie" z wyposażeniem. Gdyby była moją własnością już bym się jej pozbył. Wprowadza zamęt na moim tfffurczym biurku.

Luzik. Nie kwestionuję przecież Twojego pomysłu - każde usprawnienie jest ok. O stacji napisałem tylko dlatego, że jest to jakaś opcja (o której nie wszyscy wiedzą) w stosunku do kabla rsusb (a w przypadku kiedy korzystasz z jakichś urządzeń usadowionych na lpt chyba niestety jedyna, bo znane mi konwertery obsługują tylko ieee1284 i nie pozwalają na dowolne sterowanie liniami portu - to tylko dygresja, bo nie o tym jest ten wątek, aczkolwiek jeśli znasz lepsze rozwiązanie proszę o mail na priva). Linuxa nieco chapnąłem - staram się pisać o tym, co znam.

2,898

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

Wiele notebooków oferuje stacje dokujące, w których złącze rs232 (com/ttySx) jest wyprowadzone. To samo z lpt. Płyty notebooków ciągle mają zintegrowane te urządzenia w sobie - rozpoznać chyba najłatwiej wchodząc do biosu i pooglądać opcje.

2,899

(53 odpowiedzi, napisanych Programowanie - 8 bit)

Krzysztof (Kaz) Ziembik napisał/a:

Tak to juz jest na monitorze mono. Trzeba sobie kupic kolorowy :P

Na moim faktycznie nie widać czerwonego - same zielenie...

2,900

(37 odpowiedzi, napisanych Kupię / Sprzedam / Zamienię Atari)

Łuuuuu. No i gdzie ja biedniuteńki kupię teraz pokeya tak, żeby nikt mnie nie zlinczował za to, że rozjechałem sprawną atarkę :( Na alllegrooo nie ma...