1

(37 odpowiedzi, napisanych Fabryka - 8bit)

Znalazłem chwilę, wytrawiłem płytki i wszystko działa bez zarzutu.
https://obrazki.elektroda.pl/5340916800_1694330525_thumb.jpghttps://obrazki.elektroda.pl/5019595900_1694330523_thumb.jpghttps://obrazki.elektroda.pl/8935134800_1694330526_thumb.jpg https://obrazki.elektroda.pl/8934472800_1694330523_thumb.jpg

Ciągle jeszcze nie dawały mi spokoju piny 6 i 7 (/LE i /OE).
W oficjalnej dokumentacji Freddyego:
https://obrazki.elektroda.pl/8164432400_1694330822.jpg

Miałem pewne przeczucie, że te piny w jakiś sposób zależą od linii adresowych, więc musiałem stworzyć ulepszoną wersje testera, która będzie w stanie wysterować i spróbkować wszystkimi 38 pinami tego scalaka (40 - vcc - gnd)
https://obrazki.elektroda.pl/6830819300_1694331020_thumb.jpg https://obrazki.elektroda.pl/8222270400_1694331031_thumb.jpg


/OE:
Jeśli na linii adresowej jest $D301 oraz RW=1, /OE idzie w górę po pierwszym zboczu narastającym CKIN
Jeśli na linii adresowej jest inny adres lub RW=0, /OE idzie w dól po pierwszym zboczu narastająym CKIN
Gdy O2=0, /OE idzie w dół po 8, a potem w górę po 18 zboczu (narastajacym lub opadajacym)

/LE:
Jeśli na linii adresowej jest $D301 oraz RW=0, /LE idzie w górę po pierwszym zboczu narastającym CKIN
Jeśli na linii adresowej jest inny adres lub RW=1, /LE idzie w dól po pierwszym zboczu narastająym CKIN
Gdy O2=0, /LE idzie w dół po 8, a potem w górę po 14 zboczu (narastajacym lub opadajacym)

CK_IN             _.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._
                               2   4   6   8  10  12  14  16  18    
                             1   3   5   7   9  11  13  15  17 |19  
                               |         | |   |     | |     | | |
PHI2             -----------.______________________________________
nOE              ______________.-----------.___________________.--
RW               ______--------------------------------------------

nLE              ______________.-----------.___________.----------
RW               -------___________________________________________

To wszystko niestety sprawia, że układ CPLD potrzebuje wszystkich 16 linii adresowych do pełnego dekodowania adresu.

fedcba9876543210
0b1101001100000001 = $D301

W powyższej wersji płytki, CPLD w ogóle nie brał pod uwagę tych linii, bo ich multipleksowaniem zajmowały się bufory.

Postanowiłem wiec zaprojektowac kolejną wersje płytki, któa doprowadzałaby wszystkie linie do CPLD, wtedy bufory już w ogóle nie będą potrzebne, bo multipleksacją zajmie się też CPLD.
Niestety jak wspominałem wcześniej, CPLD nie ma wystarczająco dużo pinów, aby temu sprostać.
Można wykorzystać cztery piny JTAGa jako piny IO (wtedy do zaprogramowania układu potrzeba napięci +12V), ale nadal zabraknie nam trzech pinów:

- linię nCAS16k (=nCAS or A14 or A15) można zamiast w CPLD, generować na diodzie i rezystorze, a nieużywana bramka 74HCU04 będzie pełnić rolę bufora i regeneracji napęcia, zyskujemy więc jeden pin:
https://obrazki.elektroda.pl/3898553100_1694333071.png

- linia /EXTSEL także może być dekodowana zamiast przez CPLD, to za pomocą iody i rezysora - zyskujemy kolejny pin (wtedy ukłąd CPLD musi generować odwrócony sygnał CAS, oznaczony na schemacie jako +CAS):
https://obrazki.elektroda.pl/3195899500_1694333116.png

Długo zastanawiałem się, skąd wytrzasnąć ostatni pin, aż w końcu wpadłem na genialny pomysł:
Wykorzystałem fakt, że CPLD może jeden pin traktować jako `in`, `out` lub `inout` i linię OSC i /RESET połączyłem w jedną:
- układ CPLD gdy wcześniej wystawiał na lini OSC sygnał 0/1, teraz wystawia sygnał 0/H, a zewnętrzny pull-up 1k podciąga tą linię w górę (bramka 7404 regeneruje sygnał, zwiększająć jego wydajność prądową)
- w sytuacji gdy nRESET ma stan wysoki, nie wplywa on na funkcję tej linii; gdy nRESET ma stan niski, za pomocą D4 ściąga on tą linię w dół
- układ CPLD próbkuje tą linię w sytuacji, gdy wystawia na niej H (wysoka impedancja). Jeśli na linii odczytał 1 to znaczy, że nRESET jest 1, a jeśli odczytał 0 to znaczy, że nRESET jest 0.

W ten sposób układ może odzyskać z tej linii sygnał RESEET.

Jedyna niedogodność (i niezgodność) z oryginalnym Freddym jest więc taka, że w sytuacji gdy nRESET=0, linia OSC nie będzie generować sygnału zegarowego, ale to chyba nie bedzie mieć znaczenia (w Atari 65XE linia nRESET ma stan niski jedynie w chwili gdy komputer włącza się po podaniu zasilania; wciskanie klawisza RESET na klawiaturze nie powoduje aktywacji tej linii)
https://obrazki.elektroda.pl/6074743200_1694333281.png

Jak zamówię płytki w fabryce, będę mógl wam podesłać układy do testów. Czy cena w okolicach 60zł jest akceptowalna?

Czy znacie jakiś komputer który wykorzystuje linie /LE i /OE z Freddyego, aby dało się przetestować poprawność tej realizacji?

2

(37 odpowiedzi, napisanych Fabryka - 8bit)

Zaprojektowałem nową minimalistyczną płytkę, praktycznie nie wychodzącą poza obryz oryginalnego uklady.
Na płytce zostawiłem jednak multipleksery, bo w poprzednich obliczeniach zapomniałem calkowicie o pinach 6, 7, 36,
które w Atari65XE co prawda sa niewykorzystywane, ale może w innych komputerach które tez z tego ukłądu korzystają, byłyby potrzebne.
Wytrawię dziś i polutuję kilka sztuk, mogę podesłać do testów.
https://obrazki.elektroda.pl/3148858300_1693057852_thumb.jpg

Myślałem, że na tym forum są poważni ludzie, ale jak widże taki stan nikomu oprócz mnie nie przeszkadza, nie moja sprawa. No cóż, przyszedłem na to forum jedynie w sprawie porady, której zresztą nie otrzymałem, dyskusja też się rozwinęła w dziwnym kierunku, widać nie moje klimaty tu panuja.

PS. Mała podpowiedź - skoro sam serwer wyświetla komunikat, że strona została wygenerowana w tyle i tyle sekund, to nie maszyna, na której stoi serwer www ma problem z wyjściem z uśpienia, ale raczej baza danyc,h którą ten serwer odpytuje ma problemy ze zwracaniem wyniku na czas  i tu szukałbym problemu.

4

(37 odpowiedzi, napisanych Fabryka - 8bit)

Gienek napisał/a:

Chodzi mi o wyłapanie niuansów, co robi takie krzywe zbocza i lekko pływające w fazie (przynajmniej

Strzelam, że procesor to układ NMOS który wyjścia:
* na zero realizuje poprzez ściągnięcie tranzystorem do masy (stąd dpionowe zbocza)
* na jeden ma zrealizowane wewnątrz przez rezystor podciągająćy, stąd narastanie jest takie powolne, a do tego obciążenie tego wyjścia PHI2 pojemnościami wejściowymi nnych układów (które też z tego sygnału korzystają) robi swoje.

Przetnij ścieżkę PHI2 zaraz na wyjściu z tego układu, który ten sygnał generuje, daj jakąś bramkę schmitta i puśc dalej jej wyjście.

PS. Naprawdę nie rozumiem tej całej dyskusji o wpływie PHI2 na OSC.
ZRobiłem w CPLD OSC jako zwykłe dzielenie przez 4 CLK_IN i wszystko dziala jak marzenie.
Mam wrażenie, że mój układ w CPLD działa nawet lepiej od oryginału (brak jakiegokolwiek jitteru na RAS/CAS)

5

(37 odpowiedzi, napisanych Fabryka - 8bit)

Poniżej mój opis:

Freddie - jak DOKŁADNIE działa:

Składa się z trzech komponentów:

I) negator CLK_IN - CLK_OUT, używany do wprowadzenia kwarcu 14.XXX MHZ w drgania.
Nie wiem, czy ma jakieś specjalne właściwości, do podobnych zastosowań służy np. układ
74HCU04 (U-Unbuffered), który jest zalecany, zamiast zwykłęgo 74HC04

II) generator OSC generator: zmienia stan co każde 4 narastające zbocze na CLK_IN. NIE wpływają na niego żadne inne sygnały jak RST czy PHI2.

III) Logika generowania RAS/CAS/MUX/WR
* Ta część ukłądu jest taktowana zarówno narastającym jak i opadającym zboczem na CLK_IN (nie spotkałem sie nigdy wcześniej z czymś takim, ale sygnały RAS/CAS zmieniają się zawsze dokładnie w tym samym czasie po odpowiednim z kolei zboczu narastającym/opadajacym na CLK_IN, nie ma żadego jitteru. Gdyby wewnątz freddiego był jakiś zegar o większej częstotliwości niż CLK_IN, Freddie mogłby próbkowac CLK_IN w wykrywaniu jego zboczy, ale wtedy sygnały RAS/CAS pływałyby troszkę.

Do rzeczy:

* Zaczynamy w stanie S1
* W stanie S1: jeśli /RST='1' i podczas dwóch kolejnych zboczy CLK_IN, sygnał PHI2='1', zmiana stanu do S2
* W stanie S2: jeśli podczas dwóch kolejnych zboczy CLK_IN sygnał PHI2='0', zmiana stanu do S3
* W stanie S3:

state                S1  |  S2  |   S3                           | S1
CK_IN             _.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._
                               2   4   6   8  10  12  14  16  18    
                             1   3   5   7   9  11  13  15  17 |19  
                                         |     |     |       | | |
PHI2             -----------.______________________________________
nRAS             ------------------------.___________________.-----
nCAS dla odczytu ------------------------------(_______________)---
nCAS dla zapisu  -----------------------------------(____________)- 


#nr zbocz| Co wtedy sie dzieje
CLK_IN   |
---------+---------------------------------------------------------------------------------
7        | - nRAS opada w dol
         | - RnW jest probkowany i zapamięany wewnątrz jako latch_RnW
---------+---------------------------------------------------------------------------------
8        | - wewnętrzny multiplekser przestawia się do:
         |   BA0<=A9, BA1<=A10, BA2<=A11, BA3<=A12, BA4<=A13, BA5<=A14, BA6<=A8, BA7<=A15
---------+---------------------------------------------------------------------------------
9        | - nCASINH jest próbkowany i zapamięatany wewnątrz jako latch_nCASINH
---------+---------------------------------------------------------------------------------
10   (R) | - if latch_RnW='1' and latch_nCASINH='1', wewnętrzny sygnał sig_nCAS idzie w dół
---------+---------------------------------------------------------------------------------
13   (W) | - if latch_RnW='0' and latch_nCASINH='1', wewnętrzny sygnał signal sig_nCAS idzie w dół
---------+---------------------------------------------------------------------------------
17       | - nRAS idzie w górę
---------+---------------------------------------------------------------------------------
18   (R) | - if latch_RnW='1' and latch_nCASINH='1', wewnętrzny sygnał sig_nCAS idzie w górę
         | - wewnętrzny multiplekser przestawia się do:
         |   BA0<=A0, BA1<=A1, BA2<=A2, BA3<=A3, BA4<=A4, BA5<=A5, BA6<=A6, BA7<=A7
---------+---------------------------------------------------------------------------------
19   (W) | - if latch_RnW='0' and latch_nCASINH='1', wewnętrzny sygnał sig_nCAS idzie w górę
         | - zmiana stanu do S1
---------+---------------------------------------------------------------------------------

- pin: nCAS <= sig_nCAS OR (not nEXTSEL)
- pin: WR  <= latch_RnW when nRAS = '0' or sig_nCAS = '0' else RnW;

Pierwszy problem jest taki, że nie da się w FPGA reagować zarówno na jedno jak i drugie zbocze zegarowe. No chyba, że mamy szybszy zegar i próbkujemy. Czyżby? Wczoraj wpadłem na genialny pomysł, który opisałem tu:
https://www.elektroda.pl/rtvforum/viewt … highlight=

Drugi problem jest taki, że powyższy opis w 100% zgadzałał się z krokową symulacją, jaką przeprowadziłem na żywym układzie.
Problem jest jednak taki, że sam stan S3 skłąda się z 19 zboczy, podczas gdy zegar PHI2 ma przecież okres 16 zboczy.
Gdyby więc zastosować powyzsze rozumowanie, to zanim skończy się S3, zacząłby się nowy cykl PHI2 w którym nic by się nie działo (bo nie zostałby wykryty) więc wszystkie sygnały wyjściowe byłyby generowane co dwa cykle PHI2.
Wsadzając Freddiego do Atari i patrząc na przebiegi faktycznie chyba między dwoma CASami musi być minimum jeden cykl PHI2 pusty:
https://obrazki.elektroda.pl/8409426600_1692978536_thumb.jpg

No ale już sygnał RAS generowany jest co kazdy cykl:
https://obrazki.elektroda.pl/2423937400_1692978629_thumb.jpg

Trochę się zastanawiałem jak tego dokonać. Zrobiłem mały eksperyment - chwilę po 7 cyklu, gdy RAS poszedłw w dół (pionowe żółte linie oznaczają proces który trwa w układzie) sprawdziłem co by sie stało, gdyby zasymulować rozpoczęcie nowego cyklu PHI2, czyli PHI2 idzie w górę na dwa cykle CKL_IN, potem w dól na dwa cykle.
Ku mojemu zdziwieniu, po 17 cyklu RAS nie poszedł w górę tylko został w stanie niskim, który trwał łącznie 20 cykli (normalnie RAS jest niski przez 10 cylki).

To dało mi do zrozumienia, że wewnątrz Freddiego działają tak naprawde dwa identyczne procesy, opisane jak wyżej, z których drugi startuje w następnym cylku PHI2 po pierwszym.
Pierwszy proces wygenerował swój RAS który trwał 10 cykli i drugi wygenerował swój ras , który tez trwł 10 cykli.
Wynikowy RAS to więc logiczny AND pierwszego i drugiego RASa.
https://obrazki.elektroda.pl/6364107900_1692979379_thumb.jpg


Po zaimplementowaniu tego wszystkiego w VHDL, układ zadziałał od pierwszego razu, witając mnie radosnym niebieskim ekranem READY.
Odpalilem kilka gier i wszystkie działały bez problemu na mojej protezie Freddyego.

W opisywanej protezie moim początkowy marzeniem było zastosowanie jedynie scalaka EPM3064. Niestety ma on o jeden pin IO a mało. Postanowiłem więc początkowo zastosowac jeden bufor 74LVC245, ale poprowazenie wsystkich ścieżek na tak małej płytce wiązałoby się z koniecznośćią użycia przelotek pod scalakiem, których w domu zrobić się nie da.
Potem jednak dodalem wspomniany 74HCU04 jako bufor zegara, bo EPM nie radził sobie w roli negatora, dzięki temu EPM nie musi generować CLK_OUT i zwalania mu sie jeden pin.
Finalnie więc całe rozwiązanie będize można zmieścić w EPM3064+74HCU04.

6

(37 odpowiedzi, napisanych Fabryka - 8bit)

Podłączyłęm dziś freddy-ego do testera, którym mogę sterować każdym z pinów z osobna i badać stany. Spędziłem kilka godzin, aby rozgryźć działanie tego scalaka i doszedłem do wielu ciekawych wniosków.

Jak wszystko ogarnę to opiszę, na razie kilka ciekawostek z grubsza:

- OSC to po prostu CLK_IN podzielony przez cztery (zmiana na rosnącym zboczu CLK_IN). Nie ma żadnego sprzężenia z PHI2, nie jest zależny od resetu

- Wewnątrz freddyego nie ma żadnych linii opóźniających, jest to układ sekwencyjny. Każde rosnące (oraz opadające też, co ciekawe) zbocze CLK_IN taktuje ten układ i to własnie ten zegar jest podstawą do opisu jego zachowania (RAS/CAS,MUX, WR).

- Reset jest synchroniczny (badany na zboczu CLK_IN)

- Wszystkie strony podają piny jako:
24=A15, 23=A14, 22=A13, 21=A12, 19=A11, 18=A10, 17=A9, A16=A8

a tak naprawdę, działanie układu pokazuje, żę powinno się je nazwać tak:
24=A15, 23=A8, 22=A14, 21=A13, 19=A12, 18=A11, 17=A10, A16=A9

Dla pamięci RAM nie ma to znaczenia, bo linie adresowe można dowolnie miesząć, ale aby być w zgodzie z tym, że że BA0=A0/A8, BA1=A1/A9, ... itd, należy przyjąć moje oznaczenia jak wyżej.

7

(37 odpowiedzi, napisanych Fabryka - 8bit)

_tzok_ napisał/a:

Z tego co mi wiadomo FREDDIE nie potrzebuje "dla siebie" ani 14,1875 MHz ani 3,55 MHz, potrzebny mu jest jedynie PHI2 (1,77 MHz) z SALLY.

Tego sie właśnie już domyśliłem. Jednak opisy pojawiające sie w sieci są sprzeczne

wg: http://krzysiobal.com/arts/atari65xe/info.htm
(musiałem skopiowac tą stronę na swoj serwer bo oryginalna jak na złość dziś przestała działać)
"wnętrze Freddie'ego to czysty synchroniczny układ, w którym nie ma celowego opóźniania (poprzez zestaw bramek) sygnałów RAS i CAS"

Z kolei: http://krzysiobal.com/arts/atari65xe/freddiei.gif
wyraźnie pokazuje, że na drodze sygnału /RAS  jest zestaw opóźniający.

Ponieważ opóźnień w CPLD nie da się wygenerować, jedynym sposobem jest zliczanie zboczy wejściowego zegara 14.1875MHz,  a cały "cykl" rozpoczyna sie od opadającego zbocza phi2 (bo rosnące jest zbyt pochylone).


Niestety nigdzie dokłądnie nie znalazłem jak te przebiegi maja wyglądać. Jest co prawda ich zrzut w nocie katalogowej freddiego, ale jest on dla mnie niezbyt zrozumiały:
https://obrazki.elektroda.pl/8454728500_1692789290_thumb.jpg

No i odtworzyłem schemat freddyego w wersji na scalakach 74xx:
https://obrazki.elektroda.pl/3562301800_1692789362_thumb.jpg

Nie chcę wyjść na kogoś roszczeniowego, ale jeśli przez 6 lat osoba zarządzająca serwerem nie jest w stanie poradzić sobie z takim problemem, może warto tą osobę wymienić?
Rozumiem jeśli problem zdarzałby się sporadycznie, ale nie od kilku dni non stop.
https://obrazki.elektroda.pl/9421095800_1692779648_thumb.jpg

Może czas zmienić serwer? Nie wiem, kupcie sobie jakiegoś raspberrymi czy coś takiego, postawcie na tym serwer. Wydajność będzie lepsza niż tego czegoś, co to obecnie obsługuje.
Koszt domeny (~75zł za PL na OVH.PL) i opłaty za prąd (4W * 365dn * 24h *1zł/kWh = 35zł) chyba nie przebije najtańszego hostingu.

Mam w naprawie Atari 65XE. Po przeanalizowaiu każdego scalaka doszedłem do wniosku, że:
* Dekoder PAL jest uszkodzony  - wymieniłem na GALa zaprogramowanego odpowiednim wsadem (swoją drogą ciekawe, bo już raz trafiłem na taką usterkę)
* Układ FREDDIe jest uszkodzony - tutaj też ciekawe, że tylko ten jeden układ jest w podstawce (przewidzieli na etapie produkcji, że często padają?)

Reszta sprawna, zamieniając na sprawnego FREDDYego z innej konsoli - atari ożyło. Jednak tego scalaka widzę nie da się dostać, więc postanowiłem go czymś zastąpić.
Widzę są rożne projekty wymiany go albo na wersję opartą o CPLD:
https://obrazki.elektroda.pl/1024781500_1692716466_thumb.jpg https://obrazki.elektroda.pl/8718322500_1692716472_thumb.jpg

Albo na rekonstrukcję na układach 74XX:
https://obrazki.elektroda.pl/5530355000_1692716499_thumb.jpg

Jako że mam trochę doświaczenia z CPLD to postanowiłęm wykorzystać układ EPM3064 których mam na pęczki. Trafiłem na strone opisującą zachowanie tego scalaka:
https://hardware.atari8.info/freddie.php

Więc zaprojektowałem sobie dedykowaną plytkę drukowaną, wytrafiłem, polutowałem i wbudowałem go do konsoli (ponieważ EPM3064 nie ma wystarczająco dużo pinów, aby wszystko obsłużyć, do multipleksacji A0..A7 i A8..A15 użyłem dwóch buforów 74LVC245
https://obrazki.elektroda.pl/8056203400_1692716684_thumb.jpg https://obrazki.elektroda.pl/6884275200_1692716686_thumb.jpg
https://obrazki.elektroda.pl/7372519900_1692716793_thumb.jpg

Oprogramowałem wsadem z powyższej strony. Jakież było moje zdziwienie, gdy konsola nie dała żadnych oznak życia, nie pojawil się nawet sygnał OSC ani PHI2.

Szczerze mowiąc, troche nie rozumiem czemu ten licznik liczy w kolejności:
0,1,3,2,6,7,5,4
oraz dlaczego korzysta z sygnału PHI2 w funkcji przejścia. Widać winowajcą okazała się część z PHI2 w tym kodzie:

fcount(0) <=
    (not fcount(2) and not fcount(1) and not phi2)
    or     (fcount(2) and     fcount(1) and     phi2);

fcount(1) <=
    (not fcount(2) and  fcount(0) and not phi2)
    or (not fcount(2) and  fcount(1) and not fcount(0) and not phi2)
    or     (fcount(2) and  fcount(1) and not fcount(0) and     phi2);

fcount(2) <=
    (not fcount(2) and  fcount(1) and not fcount(0) and not phi2)
    or     (fcount(2) and  fcount(1) and not fcount(0) and     phi2)
    or     (fcount(2) and  fcount(0) and phi2);

Po wywaleniu "phi2" z funkcji logicznej, wreszcie pojawiło się i OSC i PHI2:
https://obrazki.elektroda.pl/6120029800_1692717045_thumb.jpg

Niestety konsola nadal nie działa prawidłowo - albo na ekranie pojawiają sie jakieś śmieci, albo ekran jest czarny, raz na kilkanaście uruchomień pojawia sie niebieski ekran z READY jak w działającej konsoli, jednak kolory wyraźnie nie były stabilne.

Z tego co widzę wg schematu tego atari, CLK_IN oraz CLK_OUT we freddy-m to po prostu negator, który służy do wprowadzenia kwarcu 14 MHZ w drgania. Ponieważ sygnał zegarowy byl mocno koślawy, pomyślałem że negator w CPLD słabo sobie radzi w tej roli. Podłączyłem więc zamiast tego układ 74HCU04 (dedykowany negator do zatosowań zegarowych) i teraz faktycznie, raz na te kilkanaście uruchomień jak pojawi sie ekran z READY to kolory są stabilne, zegar ma ładne zbocza (nie licząc tych overshootów), jednak dlaczego konsola w wiekszości razy po uruchomieniu nie działa?

Czemu w ogóle według tej strony przebiegi powinny być takie (np PHI2 rośnie i opada na rosnącym zboczu OSC)
https://obrazki.elektroda.pl/3968291400_1692717262.gif

a na działającym freddym są takie (rośnie i opada na opadającym zboczu OSC)
https://obrazki.elektroda.pl/5109288500_1692717303.png

czyli takie same jak na mojej CPLDowej protezie.

Ma ktoś DZIAŁAJĄCY model VHDL tego układu bo już mnie krew zalewa. Przeszukałem pól sieci i nic nie znalazłem, jakby to był jakiś top-secret układ.

Wylutowałem ROM i zgrałem jego zawartość za pomocą programatora (samodzielnie stworzonego opartego na atmedze).
Wcześniej, przeanalizowałem wszystkie połączenia na PCB.
http://obrazki.elektroda.pl/8809750500_1479899023_thumb.jpg
Samo połączenie ROMu nie różni się niczym od połączeń na kardridżach, gdzie jedyną kością jest ROM (4 kB) z wyjątkiem linii ROM_CE, która na nich jet podłączona do A12, a tutaj do ROM_EN, wychodzącego z układu SARA C020231 (Super Chip).
Z tego co wyczytałem, to SARA to nic innego jak pamięć ROM 256 bajtów z wbudowanym dekoderem adreosowym (mapuje się pod pierwsze 128 bajtów romu jako port odczytu, a pod kolejne 128 bajtów jako port zapisu).

Nadal to jednak nie wyjaśnia sprawy, gdzie znajudje się pozostałe 12 kB ROMU.

Trafił dziś w moje ręce dziwny kardridż do Atari 2600 - z gra Dark Chambers. Dziwny, bo wg. specyfikacji ROM z grą ma 16 kB (i taki też krąży w sieci) - mapper F6 i dodatkowy układ C020231 (SARA) - pamięć RAM?

Na PCB są dwa scalaki DIP 24 - jeden z romem z gry (4kB - po zdumpowaniu jest on identyczny z trzecim bankiem romu 16 kB krążącego w sieci)
Drugi to właśnie owy C020231. Trochę nie rozumiem, jak ta gra może mieć 16 kB?
http://obrazki.elektroda.pl/7459112700_1479852374_thumb.jpg http://obrazki.elektroda.pl/4197046800_1479852375_thumb.jpg

12

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

Panowie - możecie zdradzić, to to za sklep?
Potrzebuję parę sztuk takich złącz, a jeśli cena <5zł, to jest to dość korzystne.