601

(709 odpowiedzi, napisanych Fabryka - 8bit)

Nie tylko można, ale zawsze tak jest. Po prostu tam gdzie nie widzisz OVERLAYA znaczy to, że dane VRAM w tym miejscu mają wartość 0. Dzięki temu widzisz PLAYFIELD. Oczywiście dodatkowo ważne tu są priorytety ... Pytajcie o szczegóły a ja będę to umieszczał w dokumentacji, która będzie cały czas poprawiana / uzupełniana a za jakiś czas wypuszczę nową wersję.

602

(709 odpowiedzi, napisanych Fabryka - 8bit)

Asembler czy też C są tak samo dobre. Dla VBXE nie robi to różnicy.

Co do zamawiania PCB - Piguła nie jest tak źle jak piszesz. Ja zamawiałem 2 sztuki
i mógłbym zamówić nawet jedną. Tylko przy takiej ilości koszty są ogromne, bo uruchomienie produkcji swoje kosztuje. Za 2 szt. zapłaciłem 180 z przesyłką.

603

(709 odpowiedzi, napisanych Fabryka - 8bit)

Muszę jeszcze poprawić PCB - tzn. zintegrować interfejs programowania, tak aby dodatkowe przewody nie były potrzebne. Poza tym czeka mnie być może zmiana DAC, chociaż ... możecie zamawiać próbki intersila HI1178, może okaże się w pewnym momencie, że mamy ich dużo :)

Doumentacja jeszcze się pisze, z dużymi oporami - ale powstanie - przepraszam za opóźnienie.

Co do ewentualnej produkcji - najlepszą dla mnie opcją jest zamówienie PCB i sprzedawanie ich, nie chciałbym jednak być posądzonym o zdzierstwo :-) Całą resztę mogę udostępnić (schematy, pliki programowania). Tak to widzę na tę chwilę, co Wy na to ? Muszę też wiedzieć ilu jest naprawdę chętnych ...

604

(709 odpowiedzi, napisanych Fabryka - 8bit)

laoo - hę ? Ten tego coś się pomyliło ;-) ?

605

(709 odpowiedzi, napisanych Fabryka - 8bit)

Dzięki za linka do tego DAC. Sam DAC myślę, że dowolny wystarczy HI1178 sprawuje się bardzo dobrze ale jak będą trudności ze zdobyciem to znajdziemy inny :-)

Myślę że ten DAC będzie bardzo dobry. PCB i tak trzeba zrobić w wersji 2.0

606

(709 odpowiedzi, napisanych Fabryka - 8bit)

Trzeba jeszcze podłączyć interfejs konfiguracyjny (3 czy 4 przewody) i zegar 14MHz. (1 przewód)

607

(709 odpowiedzi, napisanych Fabryka - 8bit)

Układ nie wymaga żadnego programatora bo programowany jest przez ATARI. Na razie w dosyć infantylny sposób - to wymaga jeszcze dopracowania bo wykorzystuję 2 port joysticka.

zdjęcie:
http://www.fotosik.pl/pokaz_obrazek/5o7 … fc4fi.html

608

(709 odpowiedzi, napisanych Fabryka - 8bit)

mapa kolorów:

są 2 tryby:

jeden dzieli ekran na kwadraty o wielkości 4x4 pixele
drugi dzieli ekran na kwadraty 8x8 pixeli

mapa kolorów jest definiowana przez pamięć vram nie wyświetlaną jako zwykły overlay ale dzięki zachowaniu identycznej organizacji (każda linia co 512 bajtów) można na niej wykonywać te same operacje fill i blittera.

Szerokość mapy kolorów (w bajtach) wynosi 128 na linię, wysokość mapy kolorów w liniach wynosi 64 linie czyli jej całkowita wielkość 128x64 = 8192 bajtów.

Położenie mapy kolorów względem ekranu definiuje się poprzez rejestry skrollingu poziomego i pionowego - można przesuwać wyświetlane okno po całym tym obszarze - po wyjściu poza jego brzeg następuje "zwinięcie" do początku. Przesuwanie możliwe jest z rozdzielczością 1 pixela.

Każdy bajt mapy kolorów decyduje o następujących parametrach kwadratu 8x8 lub 4x4

5 bitów: 1 z 32 zestawów kolorów PLAYFIELD PF0, PF1, PF2 i PF3
1 bit: zmiana rozdzielczości z na hi-res lub odwrotnie
2 bity: priorytet overlaya względem playfield.

Pamięć mapy koloru jest stronicowana - 16 stron jest dostępnych.

609

(709 odpowiedzi, napisanych Fabryka - 8bit)

Odpowiadam na dwa pytania, które na szybko wyłowiłem :

buforowanie - tak, są 4 strony po 128KB z których jedna może być widoczna na ekranie a na drugiej można w tym czasie rysować. (oczywiście programista ma tu pełen wybór)

blitter: ma tylko copy, dorobienie jakichś innych operacji nie byłoby duzym problemem. Oczywiście uwzględniany jest kolor przeźroczystości, tzn. kiedy bajt w pamięci vram jest równy zero wówczas wyświetlany jest normalny playfield. Dodatkowo, gdy bajt w vram równy jest 255 wówczas wyświetlany jest playfield ale w palecie kolorów spriteów. Umożliwia to tworzenie np. cieni. Podczas kopiowania możliwa jest podmiana tylko części bitów vram dzięki czemu można uzyskać różne kolory spritea bez zmiany jego definicji w pamięci.

Do piątku będzie polska dokumentacja - będę pisał ją w pracy :)

Edit: czas transferu 1 ekranu (powiedzmy 128KB chociaż tak naprawdę około 100) z pamięci atari do rozszerzenia można sobie obliczyć. Aby przesłać cały obraz wystarczy 128x1024xSTA $d608. Reszta zależy od pętli, która to obsługuje.

610

(709 odpowiedzi, napisanych Fabryka - 8bit)

Panowie, spokojnie : można full screenowe pixy robić bo układ tak naprawde wyświetla
kawał pamięci na full screenie a funkcie blittera służą do przemieszczania obiektów po tej pamięci.

Poza tym zapędziliście się : tak wielkich sprajtów nie da rady przewalać tak szybko !
Weźcie pod uwagę, że 1 pixel to 1 bajt a układ ma taktowanie 14 MHz więc też swoje ograniczenia ma. W ciągu 2 lub 3 cykli tego zegara (zależy od kilku rzeczy) przeniesie 1 pixel. Może w przyszłości udałoby się podnieść taktowanie np. dwukrotnie ale trzeba mieć generator a atari ma właśnie 14 MHz i nie więcej. Oczywiście Atari z układem Freddie.


Pisałem o 30 obiektach o wielkości 32x32  a nie 256x256 :-) na ramkę ...

611

(709 odpowiedzi, napisanych Fabryka - 8bit)

Pin ty czytasz wszystko czy nie ? Masz dwa wyjścia video z kompa. Stare i nowe. Na starym wszystko zostaje ... po staremu a na nowym .... po nowemu. Działają oba równolegle.

612

(709 odpowiedzi, napisanych Fabryka - 8bit)

Co do strony D6 czy D0 - to naprawdę nie ma żadnego znaczenia z mojego punktu widzenia - sprzętowo się w układzie nic nie zmienia, tylko drobna zmiana w kodzie HDL...
Jest to bardzo proste.

Czy będzie działało z dopałką Pasia - nie wiem - ale w sumie jest to tylko jakby dodatkowy układ IO na szynie więc powinno, najwyżej po drobnej modyfikacji w kodzie HDL znowu.

Jeżeli chodzi o programowe wykrycie układu to jest możliwe - niektóre rejestry są do odczytu. Mogę też zrobić żeby w jakimś rejestrze była zawsze określona wartość.

Projekt faktycznie zajął mi trochę czasu, ale nie spieszyłem się - pierwsze plany snułem około 2001-2002. A tak poważniej zająłem się tym od początku  zeszłego roku.

613

(709 odpowiedzi, napisanych Fabryka - 8bit)

W tygodniu zrobię coś na kształt uproszczonej dokumentacji. Mam nadzieję, że wyjaśni ona co nieco.

PS. Nie olewam Was. Odpowiedzi na niektóre z pytań postaram się udzielić jutro ... Jak wiadomo w pracy lepiej się
czyta forum niż w domu :)

614

(709 odpowiedzi, napisanych Fabryka - 8bit)

mirusvf: to nie fotomontaż tylko zdjęcie telewizora.

heaven: heh, there is no cpu / gpu on the board. All work is done by Altera FPGA and 512 KB 10ns RAM... Additionally there is a true-color DAC installed.

Sikor: 2 monitory ? hę ? Napisz se taki program to będziesz miał. Ale. zasadniczo oba wyjścia pokazują to samo tylko dodatkowe nieco "więcej". Częstotliwość 50Hz. SYNC dalej generuje stare GTIA.

615

(709 odpowiedzi, napisanych Fabryka - 8bit)

dobrze myślisz.

Kochani, dajcie myśli zebrać - wieczorkiem może jeszcze coś napiszę na razie ... dziecko się obudziło.

na deser taka mała próbka:

http://www.fotosik.pl/pokaz_obrazek/v4v … 2oae1.html

616

(709 odpowiedzi, napisanych Fabryka - 8bit)

Co do starego GTIA to siedzi on dalej i wszystko będzie działać po staremu ... przez stare wyjście wideo.
Nie potrzeba switchów.

Co do pompowania - przecież jakoś trzeba dane w tej pamięci umieścić ? Przecież ładowanie z dysku do zwykłej pamięci też jest pompowaniem ? ;-) Jeszcze raz : możesz wrzucić wiele wiele kilobajtów gotowych danych a potem już nic nie wrzucasz tylko wykonujesz programowalne transfery !

halt i odczyt z normalnego RAM z prędkością 14 MHz zostawmy PASIOWI. To urządzenie działa zupełnie inaczej, praktycznie inie ingerując w strukturę kompa.

617

(709 odpowiedzi, napisanych Fabryka - 8bit)

To pompowanie danych potrzebne jest tylko do przygotowania spriteów ... później blity są wykonywane wewnętrznie na VRAMIE ! przeznaczasz np. 2 strony po 128KB na przełączane banki video a pozostałe 256 KB na dane różnych śmiesznych obiektów do wyświetlenia i tylko programujesz co, ska ma się pojawić w wyświetlanym buforze

oto procedura wyświetlenia przykładowego spritea: (wielkość 64x97 pixeli) :
Zakładam, że jest on już wrzucony do ramu urządzenia pod adres $40000h (256KB)
w pozycji x=55, Y= 40

blt_data:
        ;użyj blittera
        lda     #$02
        sta     MODE
        ;pozycja X i Y lewego górnego rogu spritea
        lda     #55
        sta     ADRXL
        lda     #0
        sta     ADRXH
        lda     #40
        sta     ADRY
        ;wielkość spritea
        lda     #63
        sta     XCOUNT
        lda     #96
        sta     VCOUNT
        ;skąd w pamięci VBXE
        lda     #0
        sta     SRCA0
        sta     SRCA1
        lda     #4
        sta     SRCA2
        ;wystartuj operację
        sta     BLTSTART
        ;czekaj na koniec (opcjonalnie !)
        lda     BUSY
        bne     *-3
        ;zrobione !

618

(709 odpowiedzi, napisanych Fabryka - 8bit)

Zmiana konfiga w dowolnym momencie podczas pracy kompa. Wystarczy wgrać nowy 59KB plik konfiguracyjny do układu.

6502 accesses video RAM through IO at $d600 page. But whole display and bit-block transfer operations are independent of CPU and 6502 only have to configure start addresses, x and y position, x and y size of block... then 6502 starts operation and simply wait for completion. .... When blt is in progress you can configure device for next blt or do something else you want to ... You can do bit-block transfers or simply fill memory this automated way. You can alter video memory directly via IO too, and the engine helps you altering destination address in way you selected after each written byte. This IO transfer is needed for sprite data - transfer from main memory to video board and for color-map changing.

619

(709 odpowiedzi, napisanych Fabryka - 8bit)

Hmmm. nie spodziewałem się pozytywnego odzewu - myślałem, że koszt jest zaporowy. Troszkę źle podałem cenę elementów. Powiem tak: główny układ FPGA kosztuje coś około 80-100 zł, pamięć około 30-40 zł, PCB zależy od ilości - ja za 2 szt. płaciłem 140 + przesyłka. Przetwornik DAC jest z próbek i mam jeszcze 4 szt. Niby więc nic nie kosztuje ale może być problem ze zdobyciem. Nie wiem jak byłoby z montażem tego - ja kompletnie nie mam czasu, ledwo udało mi się powolutku ukończyć 1 egzemplarz... Jeśli faktycznie byłoby zainteresowanie to wówczas jakoś pewnie dałoby się dogadać / ustalić wszystko.

Na razie robię coś na kształt dokumentacji. Będzie gotowa w ciągu kilku dni. Dam cynk.

PS. Układ ma jedną ciekawą cechę - po zmontowaniu sam z siebie nic nie umie - należy wgrać do niego odpowiedni plik konfiguracyjny (robi to program na atari) i wówczas wszystko zaczyna działać. Tak więc wszelkie zmiany / poprawki działania nie wymagają nawet otwierania kompa. Czyli możne być tak, że jeden plik konfiguracyjny jest np. dopalaczem Video a drugi np. czymś na kształt kooprocesora - jak kto woli.

620

(709 odpowiedzi, napisanych Fabryka - 8bit)

http://www.fotosik.pl/pokaz_obrazek/jrh … zb22a.html

ad 1. Nie nie ma listy rozkazów, to jest zastępnik GTIA, wyświetla to co daje ANTIC  + to co ma w swojej pamięci
programuje się poprzez rejestry $d600 - $d61f

ad.2 eee ? układ taktowany jest 14.18 MHz i z taką szybkością przepisuje pamięć ... zdąży narysować całkiem sporo w 1 ramkę, nie zajmuje czasu CPU bo pracuje na własnej pamięci, CPU jedynie mówi mu skąd - dokąd.

ad.3 patrz ad.1. Tryby znakowe pochodzą z ANTICA. (a więc są) :)

621

(709 odpowiedzi, napisanych Fabryka - 8bit)

Hmmm...   nikt nie widział tego, Tebe, ale to nie 1 kwietnia. :) Naprawdę to istnieje - mogę podrzucić gdzieś zdjęcie płyty mojego ataraka tylko gdzie ??? Jestem lameram i nie umiem nawet dołączać zdjęć na forum.

622

(709 odpowiedzi, napisanych Fabryka - 8bit)

Cena, którą podałem, to szacowane koszty elementów tak pi*oko. Wiem, że to dużo ale nie jest to SIO2PC anie nawet SIO2IDE ... :-) Elementy są drogie. Poza tym obwód drukowany też jest drogi - musi być dwustronny, metalizowany - o żadnej amatorce nie może być tu mowy.

Draco - nie podaję tego jako ofertę handlową , nie sprzedaję tego - to tylko cena dla informacji.

Dokumentacja programowania powstanie wkrótce. Na razie powiem, że programujemy układ za pomocą rejestrów $d600-$d61f.

623

(709 odpowiedzi, napisanych Fabryka - 8bit)

Koszt całości to około 200 złotych polskich. Niestety. Montaż - to płytka którą wstawia się tam gdzie siedzi ANTIC a ANTIC ląduje na płytce. Montaż płytki wymaga raczej dobrych umiejętności elektronicznych ... SMD (układy TQFP, LQFP, SOJ)

1. GTIA ZOSTAJE w kompie. Działa stare wyjście równolegle. On też zapewnia cały czas SYNC.

2. Tak, każdy pixel niezależnie, full 256 kolorów

624

(709 odpowiedzi, napisanych Fabryka - 8bit)

Z pewną nieśmiałością ....
... chciałbym ogłosić, że prace nad moim projektem Video Board XE zostały praktycznie ukończone.

Projekt polega na zastąpieniu GTIA nowym układem. W efekcie otrzymujemy:

- kompatybilność z GTIA - nie działa tylko stare PMG i tzw. tryby GTIA.
- blitter spriteów z własną 512 KB pamięcią RAM. Generuje spritey o rozmiarach od 1x1 do 256x256 punktów w rozdzielczości odpowiadającej 320x192, każdy sprite w 256 kolorach. Ilość spriteów organiczona tylko wydajnością blittera, co najmniej 30 sztuk o rozmiarach 32x32x256 kolorów na ramkę.
- programowalne priorytety spriteów i tła. Prosta detekcja kolizji spriteów.
- programowalne pozycje x i y spriteów z dokładnością 1 pixela hi-res.
- dwie programowalne palety 256-kolorowe - jedna dla Playfield druga dla spriteów. Wybór spośród 65536 kolorów (Hi-Color RGB).
- mapa kolorów playfield o rozdzielczości 8x8 i 4x4 pixele, dla każdego takiego kwadratu można wybrać 1 z 32 zestawów kolorów (wszystkie kolory playfield ulegają zamianie), możliwe jest skrolowanie mapy kolorów w pionie i w poziomie
z rozdzielczością 1 pixela.
- możliwość mieszania w jednej linii trybów hi-res i kolorowych za pomocą odpowiednich definicji w mapie koloru.
- wyjście RGB do monitora / telewizora.

Tyle w dużym uproszczeniu. Układ działa. obecnie piszę jakiś soft demonstaracyjny. Tu zaczynają się schody, bo nie jestem grafikiem, ale mam nadzieję, że do Ornety lub innego zlotu coś powstanie.

625

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

Mac, nie przechwalaj się, ja mam 5 atarek a tej płyty nie mam :) Niestety widzę, że z pamięciami dynamicznymi 1 (a zwłaszcza 4-bit) jest już bardzo krucho w sklepach ... sam zmuszony jestem kupić SIMMY teraz, chociaż prowadzenie takiej plątaniny przewodów bardzo mi się nie podoba.