1

Zainteresowany jestem logicznym opisem układów Atari w językach do opisu sprzętu takich jak VHDL lub VERILOG. Po wstępnym przeszukaniu sieci udało mi się znaleźć opis 6502, POKEY-a (niedokończony) oraz FREDDY'ego. A co z innymi układami? Czy ktoś z Was widział może coś na temat ANTIC'a albo GTIA? Fajnie byłoby odtworzyć sobie któryś z nich na układzie FPGA...

2

Hi!

hmmm... wiesz co... problem jest w tym iż brakuje czytelnej dokumentacji. A nawet jeżeli byłaby czytelna to i tak wymagało by to sporej wiedzy i umiejętności aby odtworzyć takie GTIA czy ANTICA w HDL'u. Electron jest niejako pionierem w tej dziedzinie bo udało mu sie zrealizować projket Video Board XE. Myślę że to właśnie Electron jako ekspert w tej dziedzinie powinien się wypowiedzieć :)

Seban

3

No właśnie, problem jest w dokumentacji. W internecie można znaleźć np opis POKEY-a w pdf-ie, ale tak naprawdę są tam same ogólniki, znacznie dokładniej jest to opisane np. w De Re Atari. Właśnie sobie czytam implementację POKEY-a w VHDL-u i zastanawiam się jak ludzie robią takie rzeczy - czy tylko drogą badania oryginalnego układu i metodą prób i błędów?

4

Hi!

Zaraz... zaraz... czy mam rozumieć że ktoś zrobił pokeya w HDLu??? możesz zapodać linka?

5

Zrobił, co prawda nie ma tam np. serial portu i obsługi klawiatury, ale to naprawdę nic w porównaniu z dżwiękiem, który podobno działa dobrze.

Wejdź na stronę:

http://home.freeuk.com/fpgaarcade/ast_main.htm

i ściągnij sobie plik asteroids_rel003.zip będący implenentacją gry Asteroids na jednym układzie FPGA. POKEY jest zaimplementowany w pliku asteroids_pokey.vhd i nawet łatwo to zrozumieć.

W ogóle to FPGA Arcade to super strona i wiele się można z niej nauczyć.

6 Ostatnio edytowany przez drac030 (2006-05-09 12:38:08)

Jeśli jest tylko dźwięk, to znaczy, że zaimplementowany jest nie pokey, tylko ćwierć pokeya. Ale na początek - o ile to jest początek, a nie koniec - dobre i to.

Gdyby ktoś podjął się tego ambitnego zadania, jakim jest zrealizowanie całości pokeya z obsługą portu szeregowego na czele, to proszę pamiętać o kilkubajtowym FIFO dla rejestru SERIN. :)

KMK
? HEX$(6670358)

7

Moim zdaniem i tak została zrobiona najtrudniejsza część - wystarczy sobie spojrzeć do kodu emulatora Atari800Win i sprawdzić czego implementacja najwięcej zajmuje. Z dodaniem obsługi portu szeregowego raczej nie powinno być problemu, porty takie są w wielu układach i działają na podobnej zasadzie.

8

dokładnie jest tylko dźwięk... i w dodatku trzeba by sprawdzić czy dobrze zaimplementowany :) znaczy porównać z oryginalnym pokeyem :) Ale na początek dobre i to :) Zawsze to jakiś punkt początkowy do dalszych prac.. a i wielece pomocny działający przykład... dobre pole do nauki :)

9

asal napisał/a:

Z dodaniem obsługi portu szeregowego raczej nie powinno być problemu, porty takie są w wielu układach i działają na podobnej zasadzie.

a ja sądzę że została najtrudniejsza część... to nie jest zwykły port szeregowy :) bardzo zintegrowany z resztą liczników POKEYA i całą pozostałą logiką. Zależności czasowe i logiczne jakie tam występują wcale nie są oczywiste niestety.

Seban

10

Tak, trochę do zrobienia jeszcze trochę jest. Możecie zobaczyć jeszcze tu:

http://www.leopardcats.com/bbpokey/brea … roject.htm

Ktoś zrobił (kawałek) POKEY-a na TTL-ach i GAL-ach. Najlepsze jest to, że ten "POKEY" zajmuje trzy płytki. :)

11

Też bez SIO.

KMK
? HEX$(6670358)

12

Fajnie by było, gdyby przynajmniej tyle było dla ANTIC-a albo GTIA. Na przykład na końcu dokumetacji pdf-owej do GTIA znajdują się jakieś niewyraźne schematy struktury wewnętrznej. Ciekawe, czy analiza takich połączeń to dobra droga do odtworzenia układów Atari w pełni.

13

asal napisał/a:

Ktoś zrobił (kawałek) POKEY-a na TTL-ach... i GAL-ach. Najlepsze jest to, że ten "POKEY" zajmuje trzy płytki. :)

GAL żadnych to chyba tam nie ma... ale to tym bardziej obrazuje jak potężne są dziś struktury FPGA i co można w nich zmieścić ;) Myślę iż całą atarka wszła by jednego większego FPGA bez problemu :)

14

Chodziło mi o to, że w projekcie Breadboard użyto 8 GAL. Są nawet na stronie jed-y do nich, ale niestety pliki źródłowe są nieprawidłowe, trzeba by zdekompilować.
Tak, całe Atari mogłoby wejść do jednego FPGA... Są już takie projekty, m.in dla C-64, ZX-Spectrum, VIC-20...

15

Przepraszam, pomyliłem się. Są .jed-y i pliki .pld do nich zawierające kod źródłowy.

16 Ostatnio edytowany przez seban (2006-05-09 14:26:36)

wracając do GALI... ok... są GAL-e mój błąd... zbyt szybko spojrzałem na schemat :) i zobaczyłem tylko standardowe TTLki :)

ale najgorsze jest to iż bardzo problematyczne odtworzenie błędów zawartych w układach, które powodują iż dzięki nim wykonujemy pewnie tricki i efekty na prawdziwym ATARI... to będzie bardzo trudno osiągnąć... w sumie trzeba by było się dowiedzieć dlaczsego w danym przypadku dzieje się tak a nie inaczej... i w jaki sposób wynika to z konstrukcji układu oryginalnego. Np. 3 tryby graficzne w jednej lini :) poprzez umiejętne operowanie rejestrem GTIA odpowiedzialnym za interpretację danych z ANTICA, np. The German Chaotics, czy Our Soft, osiągneli kilka trybów graficznych w jednej linii ekranowej :)

Seban

17

Najciekawsze są takie właśnie rzeczy, bo zgrubnie opisać układ nie jest aż tak strasznie trudno. Mnie najbardziej interesują informacje na temat konkretnych rozwiązań hardware'owych, które zastosowano w tych układach. Tylko że niestety, bez dostępu do bardzo szczegółowej dokumentacji jest ciężko i pozostaje chyba taka metoda jaką widać na zdjęciach tutaj:

http://home.freeuk.com/fpgaarcade/atari_amiga.htm

czyli po jednej sondzie do każdej nóżki układu i dokładna analiza wyników...
Fajnie by było, gdyby kiedyś powstał Atarowski odpowiednik projektu C-ONE (http://c64upgra.de/c-one/)...

18

asal: nie jestes pierwszym tu to pokazujajacym i nie jedynym o tym marzacym...

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

19 Ostatnio edytowany przez Pecus (2006-05-10 11:18:24)

Jak juz pisalem, zamierzam nabyc jeszcze w tym roku (chyba w wakacje) maszynke c-one, a wtedy bedzie na czym eksperymentowac.
Przegladalem dokumentacje oprogramowania do projektowania wnetrza ukladow w niej zawartych - bajka poprostu. SID, 6502, Z80, VIC, AY juz sa gotowe i wstawia sie je jako gotowe bloki, komunikacje zapewnia sie pojedynczymi polaczeniami (edytor i kompilator wie co z tym zrobic), czasem pare bramek dodac trzeba, ogolnie zabawa na dlugie zimowe wieczory.
A jak juz to bede mial to sie z Pirxem na 100% pobawimy z wprogramowaniem atari, tym bardziej ze na plycie jest procesor 65816 (implementacja 6502 VHDL sluzy emulacji stacji dyskow do C64, co nie znaczy ze nie moze chodzic jako glowny procesor, z reszta Z80 dziala jako glowny w implementacji Amstradow na tej maszynce).

A sceptykom (do ktorych w dziedzinie przerobek Atari i uzbrajania w wodotryski sam naleze :) ), napisze ze to nie emulacja, a re-implementacja standardowych ukladow scalonych w innej kosci. Kiedys juz nie beda dostepne uklady zastepcze, warto wiec pokusic sie o cos takiego.

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

20

Pecus napisał/a:

A jak juz to bede mial to sie z Pirxem na 100% pobawimy z wprogramowaniem atari, tym bardziej ze na plycie jest procesor 65816 (implementacja 6502 VHDL sluzy emulacji stacji dyskow do C64, co nie znaczy ze nie moze chodzic jako glowny procesor, z reszta Z80 dziala jako glowny w implementacji Amstradow na tej maszynce).

A czy jak będzisz miał C-ONE, czy ewentualnie można byłoby to obejrzeć korzystając z tego, że jesteś z Warszawy? Ja bym się chętnie też mógł pobawić w odtwarzanie układów, bo to super ciekawa sprawa.

21

The FPGA programs - so-called 'cores' - turn the C-One into clones of famous 80's computers like the C64, VIC-20, plus/4, TI-99/4a, Atari 2600, Atari 400/800 series, Sinclair Spectrum, ZX81, Schneider CPC and many more.

To ze strony "About".

Co ciekawe, w specyfikacji (wprawdzie zaznaczono, że na 2002 rok), oraz w download nie ma już o Atari ani słowa. Hmm...

Hitler, Stalin, totalniak, SSman, NKWDzista, kaczor dyktator, za długo byłem w ChRL, wypowiadam się afektywnie.

22 Ostatnio edytowany przez Pecus (2006-05-10 12:02:20)

Bedzie mozna zobaczyc :)

A co do tego tekstu informuja ze tzw 'cores' umozliwiaja zrobienie z tego dowolnej maszyny. c-one powstal jako kopia C-64 i dlatego to jadro jest dopracowane (z reszta tak naprawde powstal jako pomoc w stworzeniu konsoli C-64 w joysticku ;) ), jadro Amstradow zostalo stworzone przez hobbystow, i jak widac licza ze inni hobbysci beda pracowac nad innymi jadrami. Sprzet na 100% to umozliwia i o tym informuja.

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

23

Sam zamierzam zabrać się za temat, pewnie ze 3 lata to zajmie :)

pomidor

24 Ostatnio edytowany przez Pecus (2006-05-10 12:49:50)

No to juz wtedy napewno bedzie problem z czesciami zamiennymi :)

Sciagnalem sobie zrodla C-64, przyznam ze nie znam jezyka programowania ukladow VHLD, ale wyglada na bardzo podobny do tego (nazwy nie pomne) w ktorym prawie 10 lat temu programowalem pierwsze PALe. W kazdym razie z tego co widze jest dosc prosty, a programy opisujace uklady C-64 nie takie wcale wielkie jak sie spodziewalem, nawet procesor da sie chyba w pare dni przenalizowac i pojac :). A zamierzam poznac odpowiednie jezyki :) oczywiscie, jak to dobrze ze sa one assemblerowe i superniskopoziomowe :)

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

25

Zapytałem się autora strony 'FPGA Arcade' w jaki sposób powstały jego opisy w VHDL układów takich jak POKEY. Dowiedziałem się, że nie miał on dostępu do żadnych specjalistycznych dokumentów zawierających schematy struktury wewnętrznej i jedyną drogą było opracowanie własnego modelu i ciągłe porównywanie jego pracy z oryginalnym układem. Jest to ciężka i mozolna praca, ale też pewnie jedyna możliwa droga by w pełni odtworzyć układy takie jak GTIA wraz z efektami ubocznymi wykorzystywanymi w demach...