|
|
|
| SPRZĘT | |
|
Wstęp.
Opisana poniżej karta pamięci jest projektem z przeznaczeniem dla średniozaawansowanych elektroników amatorów. Zamieszczone na tej stronie pliki możesz dowolnie modyfikować i wykorzystywać w swoich projektach (credits), o ile jesteś użytkownikiem C64!!! Ewentualne inne przykłady zastosowań, programy itp. są mile widziane :).
Użyte układy montowane w technologii SMD wymagają znajomości wykonania płytki metodą foto (wpisz "POSITIV20" w Google lub sięgnij do artykułu "Obwody drukowane metodą fotochemiczną"). Nie polecam metody na żelazko. No to lecim :).
1. Opis karty.
Przedstawiona karta jest układem, który w zamiarze miał programować pamięci Flash (BIOS) jednak rozrósł się do klona znanego kartridża typu ACTION REPLAY (4). Na pokładzie prototypu mamy 64kB RAM i 128kB Flash ROM oraz strukturę CPLD, która odpowiedzialna jest za logikę urządzenia. Ze względu na dostępność, jak i na cenę użyto układ ATF1502, który umożliwia emulacje większości kart rozszerzeń takich jak FINAL, BLACK BOX, gry OCEAN itd. Cena części użytych w projekcie jest poniżej ceny "oryginalnego" Actiona (DATEL) możliwego do kupienia na Allegro.
Płytka drukowana wykonana metodą foto.
2. Logika programowalna.
Sercem karty jest układ ATF1502 ASV dostępny w sklepie internetowym www.seguro.home.pl. Składa się z 32 (+23???) logicznych bloków programowalnych, które mogą być wykorzystane jako rejestry, bramki logiczne itd. Programowanie scalaka odbywa się na drodze: projekt w różnej postaci, od programu w języku ABEL do schematu w programie ORCAD, przenosimy do programu Fit1502 (pliki .tt2), który dopasowuje (fitting) nasz projekt do możliwości układu (pliki .jed), a kolejny program PLD-ISP fizycznie programuje pamięć Flash sterującą pracą układu CPLD.
Do programowania wykorzystywany jest standard ISP-JTAG oraz programator oparty na układzie 74LV244 (ISP-programer). Największą wygodą jest to, że układ ISP można zaprogramować, gdy C64 jest uruchomiony i można na bieżąco sprawdzać efekty działania układu. Możliwe jest zaprogramowanie układu poprzez User Port C64, jednak opis wybiega poza ramy tego projektu (zobacz strony Xilinx) i jest dość ryzykowny ze względu na możliwe "zwisy" (pacjent się sam zoperuje?).
W przykładowym rozwiązaniu układ logiczny zaprojektowany został w programie ProChip Designer (www.atmel.com), jednak do poważniejszych projektów wypadałoby użyć PeakFPGA (www.accolade.com) lub WINCUPL ze strony Atmela (action.pld). Możliwości tego małego układziku są dużo większe, w zależności od Twojej wyobraźni. W Internecie znajdują się przykładowe programy:
- miernik częstotliwości (CUPL, ABEL)
- frame grabber (VHDL)
- 8255 z DDR (ABEL)
- generator obrazu RGB (VHDL)
lub programy, które można zaadaptować. Dla nie wtajemniczonych VHDL i ABEL są to języki opisu sprzętu, wymyślone przez Resort Obrony Narodowej USA ;) Ogólnie języki te umożliwiają bardzo precyzyjne zaprogramowanie funkcji logicznych, jak i czasowych układów PLD, FPGA itp.
Dla naszego przykładu wystarczy zaznajomienie się pobieżnie z darmowym (30 dni) programem Design Explorer 99SE i poznanie plików wynikowych. Obsługę programu proponuje poznać na podstawie Pdf'ów z sieci (dostępnych z ProChip Designerem PCD) lub metodą na małpę ... wciskaj wszystko :). Ogólnie do zaprojektowania układu wystarczy przejść tzw. design flow opisany w PCD).
UWAGA: Wersja DE99SE użyta w ProChip D. nie umożliwia wykonanie i pokazanie obrazu obwodu drukowanego (czyli inaczej masz schemat, a nie masz ścieżek). Wersja, która umożliwia projektowanie płytek jest do ściągnięcia ze strony Protela (Trial). I tu zaczną się schody ;). Powodzenia.
Jeżeli chcesz mieć tylko Actiona z poszerzoną pamięcią wystarczy, że wypalisz plik *.jed i ...
3. Programowanie FLASH ROM AT29XXX.
Sercem rozszerzenia jest układ CPLD, lecz bez oprogramowania jest on kupką złomu, więc ... Zaprogramowanie Flash ROM podłączonego do naszego komcia jest ogólnie dość proste, umożliwiając nam odzysk starych płyt z PC-shita po wirusie Czernobyl (taki też był nie??). Oprogramowanie umożliwia zaprogramowanie ROMU dowolnego typu z serii AT29XXX (32kB-512kB). Możliwości i sposób programowania układów jest dostępny na stronie producenta (www.atmel.com) w formie plików pdf.
Użyty w naszym przykładzie układ jest pojemności 128kB podzielonej na 128-io bajtowe sektory, umożliwiając założenie małego archiwum w wolnej pamięci nie zajętej przez Actiona. Możliwość modyfikacji ograniczona jest do 10000 cykli zapisu/sektor, co uważam jest wystarczające dla nas ... hobbystów :).
Procedura programowania nie wykorzystuje zaawansowanych metod programowania układu (lenistwo) i programuje cały plik (ok. 644 bloki) na przejście (opis w kodzie źródłowym). Scalaczek AT29C010 nie jest super drogi i dostępny jest na stronie Seguro.
Układ po zmontowaniu.
Program flash'ujący programuje całą rodzinę układów Atmela od najmniejszych do największych. Nie jest idiotoodporny z braku miejsca i czasu na dopracowanie procedur, ale spełnia powierzone mu zadanie.
UWAGA: Po wypaleniu ROMU, sprawdź ile pozostało ci wolnych sektorów. Jeżeli podałeś złe dane wejściowe (adres, skopany plik lub nazwa) Commodorek może ci się zwiesić na amen. Wtedy użyj zestawu leczniczego ;) do skasowania ROMU (erase), źródłówka i program flash'ujący pobierz tutaj (flashprogramer).
4. Opis budowy, czyli atak klona.
Ponieważ klon powinien być genetycznie zgodny, więc nasz ma funkcje zgodne z komórką $DE00 oryginalnego Actiona (opis C&A by Grabba/FTM) plus komórkę $DE01 umożliwiającą pełen dostęp do pamięci na karcie, opis w źródle programatora. Oryginalny Action Replay miał układ 74S287 lub podobny (4 typy), który określał sposób działania ROMU i RAMU na karcie. Do sklonowania zawartości musiałem użyć kodu w języku VHDL, uprościć i eksportować go do pliku PLD. Dla zainteresowanych mogę wysłać źródło na maila. W tym miejscu należą się specjalne podziękowania dla Jerzy Sobola za udostępnienie tablicy logicznej PROMU. Gdyby nie on, ślęczałbym z miesiąc z voltomierzem :). Całe szczęście, że zawartość pasuje do wszystkich wersji Actiona. Ponieważ oryginalny Action używa "tylko" 8kB RAMU, reszta jest do Twojego użytku !!!
5. Możliwości rozbudowy.
Ponieważ użycie struktury programowalnej umożliwia pewne rozszerzenie końcowej wersji, przewiduje użyć 512kB ROM i 512kB SRAM, co przy cenach scalaków na Allegro jest w granicach 50-60 zł za wszystkie części na płytce. Ponieważ nie zmieniamy tutaj żadnych funkcji od strony programowej, Flash ROM programujemy tym samym programem.
Kolejna rozbudowa to miernik częstotliwości, jest to temat na oddzielny artykuł, ale w skrócie podstawa czasu VIC lub CIA, licznik 16 bitowy, wejście na złączu szpilkowym (JTAG) f<40MHz. Minusem jest brak logiki od Actiona i to, że nie jestem koderem.
6. Podsumowanie.
Nowe możliwości wynikające z użycia struktur CPLD czy FPGA są ogromne, obecnie na rynku dostępne są układy o ilościach bramek logicznych rzędu kilku milionów, umożliwiając budowę bardzo złożonych projektów, łącznie z budową naszego komcia w jednym scalaczku (bez ROM i RAM), co przy C-one jest już pewną nowością. Najważniejszą zaletą stosowania układów programowalnych jest możliwość upgrade sprzętu bez wymiany sprzętu (sic!), czy też inaczej pełna zmiana zachowania sprzętu.
Świat frunie do przodu, a my nadal nie znamy możliwości naszego komcia :).
Na koniec zagadka: Ile impulsów (L) w jednym pełnym cyklu zegara, fi2 6510, wystawia komcio podczas odczytu lub zapisu I/O1 (I/O2)? Można się pomylić o ... odpowiedź poznasz po zbudowaniu karty :) Prześlij ją jak najszybciej do redakcji Filetów. Dwie pierwsze osoby, które poprawnie odpowiedzą na to postawione pytanie staną się posiadaczami układu ispLSI 2096 !!!
UWAGA: PROJEKT NIE POWSTAŁ W CELACH KOMERCYJNYCH I NIECH TAK ZOSTANIE !!!
PROTOTYP BĘDZIE W DALSZYM CIĄGU ROZWIJANY. INFORMUJEMY, ŻE JAKIEKOLWIEK ZMIANY MOGĄ BYĆ WPROWADZANE BEZ UPRZEDZENIA. ZWRACAJ, WIĘC UWAGĘ NA DATĘ MODYFIKACJI ARTYKUŁU.
Autor:
Data realizacji:
Data publikacji:
Data modyfikacji:
Pierwsza publikacja:
|
|
Kisiel (Icon)
1-7.2004
3.8.2004
7.8.2004
Filety on-line
|
|
#1 | Dzień 3-8-2004 | godz.07:38:19 | Autor: Kisiel/Icon | Status: Brak błędów | AdrIP: Ukryty | Programator flashów programuje cały plik
a nie tylko 8K...czyli wychodzi około
644Bloki jedno przejście!!! Reiter
popraw co:))) |
|
#2 | Dzień 3-8-2004 | godz.07:43:09 | Autor: Kisiel/Icon | Status: Brak błędów | AdrIP: Ukryty | Zagadka była sprawdzana na C64C więc
.... sprawdze na innych wersjach też :) |
|
#3 | Dzień 6-8-2004 | godz.14:06:37 | Autor: Reiter | Status: Brak błędów | AdrIP: Ukryty | Jusz ... :) |
|
#4 | Dzień 14-10-2004 | godz.09:16:48 | Autor: Bs0 | Status: Brak błędów | AdrIP: Ukryty | Ile bierzesz za montaż i flash tego cuda
;] ? |
|
#5 | Dzień 18-10-2004 | godz.07:39:58 | Autor: Kisiel/Icon | Status: Brak błędów | AdrIP: Ukryty | Tak jak napisane jest "nie jest to
projekt komercyjny" więc nie wykonuje
płytek nie flash'uje itd. za kase...
wystarczająco długo w pracy siedze żeby
mieć na bułe z masłem. Pozatym projekt
jest dla ludzi którzy coś z hardware
kumają i potrafią przeprojektowac sobie
płytke pod scalaki które posiadają. |
|
#6 | Dzień 18-10-2004 | godz.08:08:38 | Autor: Kisiel/Icon | Status: Brak błędów | AdrIP: Ukryty | Jeżeli ktoś mi załatwi Xilinx Alliance
2.1 (działającą wersje) moge mu zrobić
clona za free.. ;) |
|
#7 | Dzień 22-7-2005 | godz.17:47:24 | Autor: Anonim | Status: Brak błędów | AdrIP: Ukryty | Ile by kosztował ten moduł gdyby Autor
wyknał go. Chciał bym go kupić nieznam
się na elektronice wię go nie zrobie.
mój adres Piotr
.132@interia.pl Bardzo dziękuję za
odpowiedz. |
|
#8 | Dzień 30-7-2005 | godz.09:00:10 | Autor: Kisiel/Icon | Status: Brak błędów | AdrIP: Ukryty | Zastanów sie lepiej po co ci to jak nie
znasz sie na elektronice. Nie lepiej
kupić Actiona na allegro??? Chodzą
poniżej 100 PLN |
|
#9 | Dzień 30-8-2005 | godz.23:50:45 | Autor: Moneo | Status: Brak błędów | AdrIP: Ukryty | Ja mam pytanie takie jedno. Gdzie ja ten
schemat znajdę? Bo szukałem szukałem, i
nie znalazłem. |
|
#10 | Dzień 16-9-2005 | godz.13:24:11 | Autor: Kisielooooo | Status: Brak błędów | AdrIP: Ukryty | Oryginał znajdziesz na ftp.funet.fi |
|
#11 | Dzień 20-9-2005 | godz.11:38:11 | Autor: Moneox | Status: Brak błędów | AdrIP: Ukryty | Wielkie dzięki :-)Znalazłem. Teraz
zobaczymy, czy mi się uda zrobic klona.
Pozdrawiam. |
|
#12 | Dzień 24-9-2005 | godz.08:53:34 | Autor: Kisiel/Icon | Status: Brak błędów | AdrIP: Ukryty | Przed wykonaniem płytki przepuść przez
fitter z opcją bez pin kipera. popraw
oznaczenia na schemacie połaczeń i puść
od początku pcb. Będziesz miał więcej
logiki do zabawy. |
|
#13 | Dzień 28-9-2005 | godz.09:32:11 | Autor: Monex | Status: Brak błędów | AdrIP: Ukryty | Nie wiem, czy dam radę, ostatni raz
bawiłem się elektronika w technikum. A
że sobie przypomniałem o commodorku
(piwnica rulez) i padł mi stary, polski
piracki Action, więc postanowiłem sobie
cos takiego zmodzić. Dzięki za rady. Jak
mi cos wyjdzie, to się na pewno
pochwalę. |
|
#14 | Dzień 29-9-2005 | godz.07:25:18 | Autor: K. | Status: Brak błędów | AdrIP: Ukryty | Dokładnie to nie pin kipera tylko
preasign w fiterze (czyli nie opcja
-keep). Dawno się tym nie bawiłem to nie
pamiętam... tragedia :( Skleroza czy co? |
|
#15 | Dzień 29-3-2006 | godz.07:59:11 | Autor: Kisiel/Icon | Status: Brak błędów | AdrIP: Ukryty | Jak znajde troszke czasu to zrobie nowa
wersje actiona na Xilinxie, poniewaz
dostepnosc ATF1502 jest juz zerowa.
Troszke to potrwa ale wpisuje sie przez
przypadek w moj wiekszy projekt. |
|
#16 | Dzień 23-8-2006 | godz.21:15:26 | Autor: BoBeR | Status: Brak błędów | AdrIP: Ukryty | A skąd wytrzasnę tablicę PROM'a? to
tylko 256 nibbli, wiec teoretycznie
można sobie dziadostwo rozkminić w dwie
godziny za pomoca przelacznika DIP, 12
rezystorów i 4 LED. Tyle że nie mam
actiona żeby go rozlutować i sklonować |
|
Instrukcja używania systemu komentarzy
- W polu "Podpisz się" umieszczasz swoje Imię, Nazwisko albo Pseudonim używając znaków alfanumerycznych: A-Z, 0-9 oraz znaków specjalnych, np.: !^<>" ' itp.
Tagi HTML są nieaktywne.
- W polu "Wpisz treść" umieszczasz komentarz używając znaków alfanumerycznych: A-Z, 0-9 oraz znaków specjalnych, np.: !^<>" ' itp. Klawisz ENTER tworzy nowy akapit.
Tagi HTML są aktywne. Możesz:
Możliwość:
|
Komenda:
|
Przykład:
|
a. Pogrubić tekst: |
<B></B> |
Pogrubiony |
b. Pochylić tekst: |
<I></I> |
Pochylony |
c. Podkreślić tekst: |
<U></U> |
Podkreślony |
d. Stworzyć indeks górny: |
<SUP></SUP> |
Indeks górny |
e. Stworzyć indeks dolny: |
<SUB></SUB> |
Indeks dolny |
f. Użyć czcionki maszynowej: |
<TT></TT> |
Czcionka maszynowa |
Adresy URL wpisujemy w postaci http://nazwastrony.pl, ftp://nazwastrony.pl.
Adresy email wpisujemy w postaci nazwa@nazwa.pl.
Adresy Gadu-Gadu wpisujemy w postaci gg:1234567 (bez spacji).
Proszę pamiętać o domykaniu otwartych tagów.
Przed naciśnięciem przycisku Komentuj, zaznacz checkboks przy jego prawym boku.
|
|
|