1,601

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

a tak zeby udowodnic ze gole GTIA nie powiedziało ostatniego słowa

1,602

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

Psychol mowi:
schemacik bedzie, jak hard bedzie skonczony, tera trza sie dogadac  w sprawie komunikacji programowej.
kompromis miedzy ilościa rejestrów a subiektywna wydajnościa, osobom niewtajemniczonym w schemat dziekuje za sugestie, nie obchodzi mnie co by można było gdyby... itd.
jest pewien schemat i kilka osób wie co ten hard potrafi, nie da sie tego przebudowac pod czyjes widzimisie...
jest to całkowicie oparte o układy logiczne, żadnych procków i innych dopalaczy na tym nie ma!
wyciska to 100% z gtia, gdzie podczas pracy procesora 6502 hamowanego przez halt z antica nie jest to możliwe.
działa to z taka predkościa jakby niechamowany 6502 wykonywał w jednym cyklu maszynowym:

        lda #$xx
        sta $d0xx

robiłem to w 4 dni po 2-3 godzinki z cześci wylutowanych z płyt od centrali e10a :)

pozdro psychol...

1,603

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

ok, rozszerzenia plików zostały poprawiony, wszystkie są na *.JPG

ogólnie bombarduje tylko swoją strone $D0XX czyli strone z rejestrami GTIA, nie ma aktualnie możliwości bombardowania innych obszarów, bo po co

pamięć tak naprawde jest 16-bitowa, dokonując jej zapisu podajemy wartość oraz młodszy bajt adresu rejestru GTIA (kolejność dowolna, bo i tak przechodzi to przez dodatkowe rejestry w których zapisujemy te wartości), ogólnie jeśli CPU wykonuje 2-a cykle zegarowe, GTIA w tym trybie w tym samym czasie jest zdolne wykonać jakby 6 cykli CPU

obraz wyświetlany jest cały od linii 0, pozycji plamki 0, do końca, zawsze wyświetlany jest fullscreen, bez obciążania głównego CPU

główny CPU obciążany jest jedynie przesyłem danych do pamięci GTIA i to jest wąskie gardło, bo wypełnienie całej pamięci z użyciem standardowego CPU6502 trwa ok. 130 ramek (3 sek), w sumie jest to 256x256x2 bajtów (128KB)

na szczęście nie trzeba zawsze wypełniać całej pamięci, można tylko jej fragment, można w sumie nie czekać aż plamka skończy rysować cały obraz ale wtedy trzeba się synchronizować z linią obrazu, ale nie ma licznika linii obrazu jak ma to miejsce w ANTIC-u ($d40b jest tutaj nie używane)

szerokość zmian kolorów uzależniona jest od GTIA, w trybach 9,10,11 OS interpretacja rejestrów GTIA najwyraźniej odbywa się "wolniej" przez co zmiana koloru jest szersza, w pozostałych jest "szybsza" przez co zmiany są węższe


inny sposób wytłumaczenia tego trybu działania GTIA:

wyobraźmy sobie mamy tryb 15OS (160x192 pixle w 4 kolorach), do dyspozycji dostajemy 4 pisaki o dowolnych kolorach z palety atari, możemy nimi rysować obraz linia po linii (od lewej do prawej) i co 2 pixle bitmapy możemy jednemu z tych czterech pisaków przypisać nowy kolor

mozna policzyć ile WSYNC-ów wypadnie, ok. 23 wpisów "sta $d40a" będzie niepotrzebnych

do tego dojdzie inicjalizacja adres-u przerwania ($200), dodatkowo napiszesz swoją szybszą obsługe przerwania NMI, DLI

w niektórych przypadkach pewnie uda się całkowicie zrezygnować z "STA $D40A", usuniesz taki wpis i sprawdzisz czy z obrazem jest wszystko OK

ogólnie zysk lekko licząc 40%, wspomne jeszcze że bitmapa jest szybsza niż tryb znakowy

a bedzie trzecia wersja pod wciśnięty klawisz F7 :D

zapoznaj się z postem #4 - p.s. #4  to da Ci szanse na sukces

1,606

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

http://madteam.atari8.info/index.php?prod=gtia2

Modyfikacja opracowana przez Psychola wprowadza nowy tryb pracy GTIA, który można włączyć/wyłączyć programowo. GTIA w tym trybie dokonuje ze stałą częstotliwością zapisu wartości pod wskazanym rejestrem $D0XX (w stylu lda #x\ sta $D0xx). Strona $D0XX z rejestrami GTIA w tym trybie pracy jest tylko do zapisu, nie można z niej nic odczytywać (odczyt możliwy jest po przełączeniu na tryb standardowy na przerwaniu VBL). W zależności od użytego trybu graficznego zmiany kolorów widoczne są na szerokości połowy znaku (np. tryb 8,15OS) lub całej szerokości znaku (np. tryb 9OS). Zapisywana wartość jak i młodszy bajt adresu rejestru $D0XX przechowywana jest w dodatkowej pamięci (128KB) do której dostęp z poziomu CPU możliwy jest na końcu tworzonego obrazu, obraz zawsze tworzony jest na całej szerokości (256 wpisów) i wysokości (256 linii) obrazu (GTIA w tym trybie nie obciąża głównego CPU). Możliwy jest scroll poziomy każdej z linii, jak i scroll pionowy ale już całego obrazu. Na załączonych zrzutach ekranów widać jak zmieniana jest zawartość rejestru $D01A na całej wysokości obrazu (jakość obrazu nie jest najlepsza, winna jest karta graficzna i kabelki połączeniowe). Oczywiście nie musimy dokonywać za pomocą tego trybu wpisów tylko do rejestrów kolorów, możemy dokonywać wpisów do pozostałych rejestrów np. pamięci duchów GRAFP0..3 co spowoduje ich rozmnożenie w linii. Do czego może przydać się taki tryb pracy GTIA? Do stworzenia mapy zmian kolorów dzięki której można wyświetlić obrazek bez interlacu w pełnej palecie kolorów XE/XL, do rozmnożenia duchów w linii, do zmiany trybu graficznego w linii.

p.s.
no i najważniejsze, jest to nadal Atari :)

jeśli masz tych przerwań DLI więcej niż jedno, to podczas transmisji mogą (i najczęściej tak się dzieje) zmienić kolejność wywołań, któreś z nich zostanie pominięte w zależności od obciążenia

rozwiązaniem może być IRQ-SIO loadera z Energy zina grupy Taquart, wtedy możesz i sample odtwarzać podczas transmisji

ogólnie korzystając z DLI kod musi być najkrótszy-rozpętlony, najlepiej pozbyć się też "STA WSYNC"

nie bez powodu grafiki podczas transmisji są mało kolorowe

obsługa przerwania NMI, DLI powinno być Twoje, bo niewątpliwie będzie szybsze od wersji Atari OS, podczas transmisji tylko IRQ jest potrzebne

p.s.
Muppet Movie Show korzysta podczas transmisji z przerwan DLI, jednak nie jest to tak ambitne jak w załączonym przez Probe loaderze

p.s. #2
"STA $D40A" winne jest wszystkiemu, w tych miejscach CPU jest blokowane, to jest HALT

p.s. #3
obrazek podczas transmisji = 1 zestaw znaków, 0 zmian na przerwaniu DLI, zmiany globalne tylko na VBL-u
albo SIO-IRQ loader, ale wtedy transmisja tylko normal

p.s. #4
więcej czasu zyskasz jeśli obrazek będzie bitmapą, wtedy z przerwaniem DLI wstrzelisz się w zadaną linie i użyjesz tylko 1x "STA WSYNC" na początku zmiany, zawsze to zysk i większa szansa na powodzenie

ogólnie pewnie będziesz musiał ręcznie wyedytować w ten sposób jak najkrótsze przerwanie DLI, a Powrooz będzie musiał zrezygnować z 5-ego koloru i przerobić logosa na bitmapę

1,608

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

no dobra ale BASCOM AVR nie jest darmowy

1,609

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

a te kompilatory IAR A90 (GCC AVR) to darmowe czy kradzione ?

1,610

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

Pasiu pracuje we Wrocławiu, a dopałką pewnie zajmuje się w domu, a do domu trafi w najbliższe święta :)

1,611

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

Lewis a tak przy okazji to czym zajmujesz sie w Londonie oprócz picia piwa :) ?

1,612

(30 odpowiedzi, napisanych Fabryka - 8bit)

znany jest już koszt Videoboarda ?

1,613

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

a jak rozwiązana jest sprawa kompatybilności ze starymi aplikacjami wykorzystującymi banki pamięci, jest osobna pamięc bankowana i osobna liniowa ?

1,614

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

Tak się zastanawiam czy ta dopałka nie zmierza w złym kierunku. Ostatnio dostał ja Drac030, z zegarem 10MHz, poprzednio Laoo z zegarem 7MHz. Co dalej? Zegar do wyboru? Może będzie regulacja szybkości ;)

Dodatkowo nie ma kompatybilności między WARP a F7, trzeba tworzyć osobny kod programu z myślą o WARP albo F7 (pomijam małą popularność WARP-a). W skrajnych przypadkach użycie strony zerowej która dotąd zawsze przyspieszała wykonanie kodu okazuje się bezcelowe bo odwołania do niej nie będą już tak szybkie. Czyli dostajemy więcej MHz ale możemy je zmarnować kiedy nie będziemy ostrożni, nowe możliwości, nowe ograniczenia.

Osobiście uważam że przyspieszanie starych aplikacji to niepotrzebny bajer i jeśli rezygnacja z tego miałaby uprościć układ czy też zlikwidować problemy ze stabilnością to jestem za rezygnacją z tego bajeru. Chyba w jednym przypadku gry Eidolon będzie takie przyspieszenie korzystne, jednak żaden program nie był tworzony z myślą o jakichkolwiek przyspieszeniach. Będziecie instalować dopałke aby obejrzeć jeszcze raz gierki i śmiać sie jak one "popierdalają" a może demka jakież one zrobiły się płynne bo autor napisał kod z myślą o szybszej atarce. Teraz Pin-ek się odezwie i wspomni o Desktopie, bez obaw napisze się wersje pod dopałke, a na normalnej Atarce będzie normalnie.

Sugeruje aby nie komplikować sobie życia i przyjąć że F7 umożliwia tryb kompatybilności (1.79MHz) i tryb dopalony, bez jakichkolwiek dodatkowych wymuszonych bajerów. Sugeruje też aby przyjąć jakiś stały standard co do szybkości taktowania, jeden model atarki jedna stała szybkość a nie kilka czy kilkadziesiąt.

Pewnie te wspomniane różne szybkości taktowania podytkowane są jakimiś problemami ze stabilnością, w końcu Antic się wcina i odświeżanie pamięci się wcina w czas pracy CPU. Aktualnie 512kb SRAM-u 15ns kosztuje niecałe 15 zł, może to jest sposób na rezygnacje z odświeżania pamięci i wyższe taktowanie.

1,615

(709 odpowiedzi, napisanych Fabryka - 8bit)

z powodu naruszenia licznych patentów Electron został aresztowany, przetrzymywany jest aktualnie w Strefie 51, gdzie w wolnych chwilach buduje replike latającego spodka :D

1,616

(30 odpowiedzi, napisanych Fabryka - 8bit)

mamy rok 2007, i jak udało sie :) ?

1,617

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

to kiedy ten opis ujrzy światło ALEX ?

1,618

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

możemy być juz pewni że w XE/XL i 7800 CPU6502 startuje przez wektor RESET-u :)

1,619

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

a tak pozatym skoro już zakupiłem przejściówke możecie polecić jakąś  CF-kę, jeszcze przypadkiem kupie jakaś której nie lubi Atari

1,620

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

macie racje panowie, 6502 rusza bezapelacyjnie spod adresu $FFFC..$FFFD, byłem już zdesperowany i szukałem dziury w całym

ogólnie odpalam kod dla a7800 poprzez zapisanie biosu w obszar $c000..$fffff, kod ktory działał na emulu wieszał MARIE, przyjrzałem się oryginalnemu biosowi z gra Asteroids i wyszło na to że Maria była źle inicjowana

było

    lda    #$07
    sta    INPTCTRL    ; Lock into 7800 mode

a powinno być i taką wartość wpisuje bios z gra Asteroids:

    lda    #$02
    sta    INPTCTRL    ; Lock into 7800 mode

1,621

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

Ok :)

1,622

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

gdzie skacze 6502 po uruchomieniu, nie mam na myśli wektora RESET-u, tylko adres bodaj $C....  ?

ktoś z elektroników orientuje się ?

1,623

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

tak, dostaniesz do ręki moduł internetowy z atmelem, spluniesz, połączysz i juz działa

Psychol wymienił dwie podstawowe rzeczy które są potrzebne, do tego jeszcze płytka (pewnie jakaś o najmniejszych wymiarach, a te które oglądałem do takich nie należą) na której trzeba umieścić moduł i atmel, nie wspominając pozostałej elektroniki, maksymalny pesymistyczny koszt całości może wynieść 300 zł

dlatego zadałem pytanie, na ile Was stać aby mieć kartę do XE/XL

1,624

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

ile kasy jesteście skłonni wydać na karte sieciową do XE/XL ?

tutaj macie na "dzień dobry" koszt zakupu takiego układu IIM7000A http://www.kamami.pl/?id_prod=6528

1,625

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

to miło :)