Jako, że z hobbystycznego zamiłowania podłączam przeróżne czujniki, sensory, wyświetlacze itp itd do Cubietruck-a to pomyślałem sobie, że warto by było usprawnić nasze Atari o możliwość korzystania z dobrodziejstwa wszelakiej maści układów z magistralą I2C.
Przekopałem internet i muszę stwierdzić, że zawiodłem się trochę.. nie powiem.. znalazłem jakieś nieśmiałe próby podłączania pod magistralę I2C ale z wykorzystaniem innych niż 6502 procesorów. Natrafiłem w końcu na ciekawy blog:  http://aslak3.blogspot.co.uk/2013/07/i2 … ew-of.html, na którym kolega opisuje swoje wyczyny w podłączeniu magistrali I2C do magistrali procesora 6809 z wykorzystaniem interface-u Philips PCF8584, który to jest scalonym programowalnym driverem pomiędzy magistralą równoległą a I2C. Zakupiłem więc kilka sztuk owego drivera (aliexpress - więc pewnie poczekam.. trochę) i przejrzałem kod kolegi z Anglii, który  jest łudząco podobny do asemblera 6502 (nic dziwnego, w końcu 6502 i 6809 są bardzo podobne do 6800 Motoroli). Wydaje się, że przeportowanie go do Atari to tylko kosmetyka. Ruszam więc z projektem kryptonim: A2I2C  :-)

Plan jest taki:
1. czekam na układy,
2. montuje na pająka i podpinam magistralę danych do PCF-a
3. buduję dekoder pamięci - tu będę potrzebował jakiś sugestii by nie wjechać w adresowanie innych rozszerzeń.
4. portujemy soft - może być dla RTC a może byuć dla czegokolwiek - jak opanujemy transmisje i tajmingi to nie będzie problemu
5. robimy prototyp PCB, - troche robiłem w Eagle.. ale przyda się pomoc
6. produkcja.

Oczywiście wszystko w ramach wolnego czasu, czyli prawie wcale.. stąd moje pytanie, czy ktoś będzie w stanie sie dołączyć, pomóc?

Pozdrawiam,
pancio

https://systemembedded.eu/ ... https://www.youtube.com/watch?v=GwS7Es1x6mw
""Ja bardzo przepraszam, ale podejrzenia panów są całkowicie bezpodstawne. Ja niczym nie handluję. Ta pani przyszła do mnie w tym Pancake-u i w nim wychodzi.""
ABBUC Member #319. Preferowana forma kontaktu: email

2

Cześć,

Wydaje mi się, że to powinno pójść na SIO...

Różne różności dla Atari i nie tylko - przydatne, bądź nie ale i tak warto zajrzeć...
http://atari.myftp.org  Atari - Power without price and necessary elements with some sh*t onboard
https://reversing.pl SSL enabled site

3

toriman1 napisał/a:

Cześć,

Wydaje mi się, że to powinno pójść na SIO...

Myślisz to o konwersji SERIAL <-> I2C?

https://systemembedded.eu/ ... https://www.youtube.com/watch?v=GwS7Es1x6mw
""Ja bardzo przepraszam, ale podejrzenia panów są całkowicie bezpodstawne. Ja niczym nie handluję. Ta pani przyszła do mnie w tym Pancake-u i w nim wychodzi.""
ABBUC Member #319. Preferowana forma kontaktu: email

4 Ostatnio edytowany przez tOri (2018-01-14 14:14:29)

Cześć,

Nie SIO-I2C - tylko wyjście z POKEYA w formacie I2C.
A jak się tak nie da no to z portu joysticka się powinno dać. to w końcu są tylko dwie linie

pozdrawiam

P.S. Znalazłem rozwiązanie na Joyu - HIAS to zrobił jakiś czas temu:

The interface is really simple: Just use 2 pins of a joystick port for SDA/SCL, connect pull-up resistors (10k or 4k7 are fine) and you are done.

Here's a link to my software: http://www.horus.com/~hias/tmp/atari-i2c-0.11.zip

Have a look at the README.TXT, i2c.inc and i2c.src files. I also included some demo applications to show how to interface to a I2C RTC from assembler and basic.

P.S.S. - Można taki interface zrobić nawet jako urządzenie PBI - co jest wykonalne - trzeba oczywiście umiejętnie stworzyć hardware i procedury obsługi.

Różne różności dla Atari i nie tylko - przydatne, bądź nie ale i tak warto zajrzeć...
http://atari.myftp.org  Atari - Power without price and necessary elements with some sh*t onboard
https://reversing.pl SSL enabled site

5

Tylko, że wtedy zablokuję możliwość korzystania z SIO dla urządzeń we/wy. Myślałem raczej o rozwiązaniu typu dodatkowe rozszerzenie sprzętowe. Co do użycia portów joysticka - poza oczywistą blokadą portu lub jego części wydaje się, że trudno będzie utrzymać odpowiednie warunki czasowe.. nie wspominając już o tym, że wszystko trzeba będzie emulować programowo.

Oczywiście to co zaproponowałem to tylko koncepcja, jeśli istnieje jakieś lepsze rozwiązanie chętnie zmienię założenia. Jeśli masz jakieś doświadczenie w temacie to proszę - zaproponuj coś.

pozdrawiam

https://systemembedded.eu/ ... https://www.youtube.com/watch?v=GwS7Es1x6mw
""Ja bardzo przepraszam, ale podejrzenia panów są całkowicie bezpodstawne. Ja niczym nie handluję. Ta pani przyszła do mnie w tym Pancake-u i w nim wychodzi.""
ABBUC Member #319. Preferowana forma kontaktu: email

6 Ostatnio edytowany przez tOri (2018-01-14 14:29:12)

Cześć,

Z tą blokadą SIO to nie do końca bo na SIO istnieje choćby interfejs MIDI - to inny format transmisji i z pewnością nie kolidujący ze standardową komunikacją np. ze stacją dysków. Port joysticka to zwykły port równoległy, więc dołączenie dodatkowego portu I/O np. 6522 w przestrzeń Atari to nie jest wielki problem. Programowa transmisja I2C jest myślę łatwiejsza w zastosowaniu niż dorabianie sprzętowego I2C. Nie widziałem takiego hardware gotowego do zastosowania. Trzeba by więc od zera dla Atari coś zaprojektować - oczywiście da się to zrobić.

Może na początek zacznij od portu równoległego i programowej komunikacji a dalej zobaczysz czy trzeba robić coś sprzętowego.

pozdrawiam

P.S. znalazłem coś jeszcze:

http://retro.hansotten.nl/lee-davison-w … interface/

człowiek zrobił interface do systemu 6502 - wygląda nieźle i może dać się zaadaptować do Atari

Różne różności dla Atari i nie tylko - przydatne, bądź nie ale i tak warto zajrzeć...
http://atari.myftp.org  Atari - Power without price and necessary elements with some sh*t onboard
https://reversing.pl SSL enabled site

7

Hej,

Masz rację co do 6522 i skoro dołożenie go i obsługa w przestrzeni adresowej  nie jest dużym problemem to z PCF8584 powinno pójść podobnie. W końcu układ ten został zaprojektowany tak by możliwe było podpięcie go bezpośrednio do równoległej magistrali danych.
A odnośnie znalezionego przez Ciebie projektu, wydaje się prosty w realizacji (pomijając wymóg posiadania i programowania GAL-a) nie mniej jego idea nie różni się zbytnio od tej założonej przeze mnie z zastosowaniem PCF8584. W najbliższym czasie postaram się to zobrazować w postaci schematu - może będzie nam łatwiej przedyskutować co/jak.

Pozdrawiam
pancio

https://systemembedded.eu/ ... https://www.youtube.com/watch?v=GwS7Es1x6mw
""Ja bardzo przepraszam, ale podejrzenia panów są całkowicie bezpodstawne. Ja niczym nie handluję. Ta pani przyszła do mnie w tym Pancake-u i w nim wychodzi.""
ABBUC Member #319. Preferowana forma kontaktu: email

8

Próbuj z PCF :)

pozdrawiam

Różne różności dla Atari i nie tylko - przydatne, bądź nie ale i tak warto zajrzeć...
http://atari.myftp.org  Atari - Power without price and necessary elements with some sh*t onboard
https://reversing.pl SSL enabled site

9

Dziś dostałem układy PCF8584 z chińskiego marketu, zabieram się więc za podpięcie jednego z nich do mojej 800-ki. W związku z tym - znawców tematu, elektroników proszę o sprawdzenie schematu. Jeśli walnąłem jakiegoś babola lub jeśli można coś rozwiązać inaczej - proszę o propozycje.

Post's attachments

A2I2C.sch 5.28 kb, liczba pobrań: 3 (od 2018-03-22) 

A2I2Cv1.png 24.9 kb, nikt jeszcze nie pobierał tego pliku. 

Tylko zalogowani mogą pobierać załączniki.
https://systemembedded.eu/ ... https://www.youtube.com/watch?v=GwS7Es1x6mw
""Ja bardzo przepraszam, ale podejrzenia panów są całkowicie bezpodstawne. Ja niczym nie handluję. Ta pani przyszła do mnie w tym Pancake-u i w nim wychodzi.""
ABBUC Member #319. Preferowana forma kontaktu: email

10

Cześć,

Popatrzę na to w wolnej chwili. Czytałeś dokładnie dokumentację?

Pozdrawiam

Różne różności dla Atari i nie tylko - przydatne, bądź nie ale i tak warto zajrzeć...
http://atari.myftp.org  Atari - Power without price and necessary elements with some sh*t onboard
https://reversing.pl SSL enabled site

11

Czytać, czytałem, czy dokładnie - wyjdzie przy pisaniu sterownika. Najgorsze jest to, ze już tak dawno nie pisałem progsów w asemblerze, że obawiam się że to może trochę potrwać - szczególnie, że nie pamiętam już jak używało się tooli takich jak QA czy Debugger (ostatnie 'demo' pisałem w 1994). No ale słowo się rzekło - trzeba skończyć. Tym bardziej, że trzeba pokazać następnemu pokoleniu, ze stare z nowym da się pożenić :-)

Pozdr.

https://systemembedded.eu/ ... https://www.youtube.com/watch?v=GwS7Es1x6mw
""Ja bardzo przepraszam, ale podejrzenia panów są całkowicie bezpodstawne. Ja niczym nie handluję. Ta pani przyszła do mnie w tym Pancake-u i w nim wychodzi.""
ABBUC Member #319. Preferowana forma kontaktu: email

12 Ostatnio edytowany przez tOri (2018-03-24 19:39:28)

Cześć,

Właśnie sobie czytam dokumentację i trochę mnie niepokoi to dlaczego wybrałeś tryb sterowania 68000? IMC pkt.6.2
Moim zdaniem tryb 80xx jest bezpieczniejszy (no i defaultowy dla PCF) ale to kwestia uznania zwłaszcza, że jak Ci nie będzie działać w trybie 68000 zawsze możesz spróbować 80xx. Najgorszym w przypadku 6502 jest niestabilność czasów i oby z tym nie było problemu. Dlaczego synchronizujesz adresowanie rejestru PCF z zegarem PHI2?
Projektujesz to - rozumiem - na CART+ECI?

Pozdrawiam

Różne różności dla Atari i nie tylko - przydatne, bądź nie ale i tak warto zajrzeć...
http://atari.myftp.org  Atari - Power without price and necessary elements with some sh*t onboard
https://reversing.pl SSL enabled site

13

Hej,

Zasadniczo założyłem, że skoro nasz 6502 jest podobny do 6800 (nie 68k) i że przebiegi czasowe sygnałów sterujących są w gruncie rzeczy takie same to warto pójść tą drogą. Na potwierdzenie tego faktu znalazłem w sieci bloga Aslak-a:

http://aslak3.blogspot.co.uk/2013/07/i2 … ew-of.html

oraz projekt CS/A65:

http://www.6502.org/users/andre/csa/scs … html#hwlay

W obu przypadkach wykorzystanoi IMC 6800(0), przy czym w pierwszym przypadku PCF współpracuje z 6809 (zegar jest wspólny dla procesora i PCF) a w drugim PCF współpracuje z 6502 bezpośrednio (o2 jest w prawdzie opóźnione przez 2 bramki NAND + AND ale założyłem, że książkowo powinno działać). Oczywiście nie mam wiedzy na tyle szerokiej jak te przebiegi czasowe występują w rzeczywistej atarynce. Jeśli gdzieś jest dostępne kompendium wiedzy na ten temat - chętnie się zapoznam. Swoją drogą, tryb  IMC 80XX wymaga dodatkowych bramek. Stąd decyzja by najpierw zrobić to dla trybu 6800.

Co do niestabilnych czasów - masz tu na myśli o2 czy jeszcze coś? Bo jeśli chodzi o o2 to mogę zastosować pętlę PLL (układy i płytka od Simius-a w drodze).

Co do ostatniego pytania... zasadniczo chciałbym zaterminować interface w środku na stałe. Pomysł z $D5XX wynika tylko z faktu uproszczenia w celu uruchomienia. Swoją drogą na tym etapie mógłbym wywalić LS138?

Niestety moja wiedza w temacie jest już jakby... troszkę zapomniana - brak codziennej wprawy, co widać choćby po schemacie. Więc może być trudniej niż się spodziewam. Mam nadzieje, że w miarę możliwości - pomożesz :-) 

Nic mnie nie goni...

https://systemembedded.eu/ ... https://www.youtube.com/watch?v=GwS7Es1x6mw
""Ja bardzo przepraszam, ale podejrzenia panów są całkowicie bezpodstawne. Ja niczym nie handluję. Ta pani przyszła do mnie w tym Pancake-u i w nim wychodzi.""
ABBUC Member #319. Preferowana forma kontaktu: email

14

Cześć,

pancio.net napisał/a:

Hej,

Zasadniczo założyłem, że skoro nasz 6502 jest podobny do 6800 (nie 68k) i że przebiegi czasowe sygnałów sterujących są w gruncie rzeczy takie same to warto pójść tą drogą. Na potwierdzenie tego faktu znalazłem w sieci bloga Aslak-a:

http://aslak3.blogspot.co.uk/2013/07/i2 … ew-of.html

oraz projekt CS/A65:

http://www.6502.org/users/andre/csa/scs … html#hwlay

CS/A65 widziałem i to jest dobry powód, dla którego można było wybrać IMC68000 - co do 6809 z dokumentacji widać, że powinno działać a skoro na ASLAK3 blogu takie rozwiązanie zastosowano to OK. Warte wypróbowania.
Choć gdy czytałem doc PCF8584 i ten fragment odnośnie detekcji trybu pracy:

"If a HIGH-to-LOW transition of WR (R/W) is detected while CS is HIGH, the 68000-type interface mode is selected and the DTACK output is enabled. Care must be taken that WR and CS are stable after reset.

Czyli - w trakcie inicjalizacji PCF8584 trzeba wykonać zapis do układu i mieć nadzieję, że R/W zmieni stan wcześniej niż /CS - a skoro robi to procesor to wielkiego wpływu na to nie ma :/

CS tworzymy z A0-A15, a R/W wystawia procesor - z dokumentacji 6502 wynika, że adres setup time i r/w setup time mogą wynosić max 140ns dla 2MHz i nie jest napisane nic o minimum czasów ustalania sygnałów co może oznaczać, że jest możliwa sytuacja gdy zmiana R/W nastąpi dopiero gdy CS będzie już w stanie LOW. Mi wydaje się, że tryb 80xx jest trochę pewniejszy bo mamy kompletną kontrolę nad /RD i WR, których czasy są równe czasowi trwania poziomu wysokiego Phi2.

I jeszcze jedno co raczej nie jest zagrożeniem:

"A minimum of 6 clock cycles must elapse between consecutive parallel-bus accesses when the I2C-bus controller
operates at 8 or 12 MHz. This may be reduced to 3 clock cycles for lower operating frequencies."

...i nie powinna się taka sytuacja zdarzyć.

pancio.net napisał/a:

W obu przypadkach wykorzystanoi IMC 6800(0), przy czym w pierwszym przypadku PCF współpracuje z 6809 (zegar jest wspólny dla procesora i PCF) a w drugim PCF współpracuje z 6502 bezpośrednio (o2 jest w prawdzie opóźnione przez 2 bramki NAND + AND ale założyłem, że książkowo powinno działać). Oczywiście nie mam wiedzy na tyle szerokiej jak te przebiegi czasowe występują w rzeczywistej atarynce. Jeśli gdzieś jest dostępne kompendium wiedzy na ten temat - chętnie się zapoznam. Swoją drogą, tryb  IMC 80XX wymaga dodatkowych bramek. Stąd decyzja by najpierw zrobić to dla trybu 6800.

W rzeczywistej Atarynce to wynika wprost z czasów 6502 i tam jest w zasadzie jeden problem - aby reszta otoczenia gwarantowała ważne dane na szynach na tylnym zboczu Phi2. 6502 jakoś się do tego zastosuje. Jeśli będą jakieś kłopoty to tylko wtedy gdy czasy trzymania adresów i danych na szynach się rozjadą. Dlatego napisałem, że niepokoi mnie synchronizacja sterowania rejestrem PCF z Phi2 bo adres może "uciec" z chwilą gdy Phi2 zmieni się na 0. No i wykrywanie trybu też ma swoje wymagania: Zmiana R/W przed CS.

pancio.net napisał/a:

Co do niestabilnych czasów - masz tu na myśli o2 czy jeszcze coś? Bo jeśli chodzi o o2 to mogę zastosować pętlę PLL (układy i płytka od Simius-a w drodze).

Wyżej napisałem, że w dokumentacji są opisane minimalne wymagania co do czasów sygnałów i te czasy mogą się chwiać w pewnych granicach co może spowodować jakieś kłopoty we współpracy z PCF choć nie musi. Przyglądałem się dokumentacji i wywnioskowałem jedynie to, że trzeba spróbować praktycznie czy zadziała

pancio.net napisał/a:

Co do ostatniego pytania... zasadniczo chciałbym zaterminować interface w środku na stałe. Pomysł z $D5XX wynika tylko z faktu uproszczenia w celu uruchomienia. Swoją drogą na tym etapie mógłbym wywalić LS138?

Wywal dekoder adresów i zajmij sobie do testów całą stronę D5xx. Potem dorobisz dekoder.

pancio.net napisał/a:

Niestety moja wiedza w temacie jest już jakby... troszkę zapomniana - brak codziennej wprawy, co widać choćby po schemacie. Więc może być trudniej niż się spodziewam. Mam nadzieje, że w miarę możliwości - pomożesz :-) 

Nic mnie nie goni...

E tam. Nie będzie trudno. Sprzętowo praktycznie masz załatwione - tylko sprawdzić czy jest komunikacja w dwie strony. Oprogramowanie to trochę poważniejsza sprawa :)

Pozdrawiam

Różne różności dla Atari i nie tylko - przydatne, bądź nie ale i tak warto zajrzeć...
http://atari.myftp.org  Atari - Power without price and necessary elements with some sh*t onboard
https://reversing.pl SSL enabled site

15

Hej,

Mały sukces!

Z racji, że moja 800-ka jest mocno nafaszerowana Lotharkowymi fjuczerami zdecydowałem się podpiąć PCF-a do gołej 130-ki. Zrezygnowałem też z dekodera adresów by uprościć sobie pracę. sygnałem \CS jest RD5. Układ wydaje się pracować i jest (chyba) prawidłowo sterowany. Pozostaje oprogramować to w asemblerze... :-)

Post's attachments

pierwsze_testy.jpg 1.45 mb, nikt jeszcze nie pobierał tego pliku. 

uklad_testowy.jpg 1.35 mb, nikt jeszcze nie pobierał tego pliku. 

Tylko zalogowani mogą pobierać załączniki.
https://systemembedded.eu/ ... https://www.youtube.com/watch?v=GwS7Es1x6mw
""Ja bardzo przepraszam, ale podejrzenia panów są całkowicie bezpodstawne. Ja niczym nie handluję. Ta pani przyszła do mnie w tym Pancake-u i w nim wychodzi.""
ABBUC Member #319. Preferowana forma kontaktu: email

16

pancio.net napisał/a:

Hej,

Mały sukces!

Z racji, że moja 800-ka jest mocno nafaszerowana Lotharkowymi fjuczerami zdecydowałem się podpiąć PCF-a do gołej 130-ki. Zrezygnowałem też z dekodera adresów by uprościć sobie pracę. sygnałem \CS jest RD5. Układ wydaje się pracować i jest (chyba) prawidłowo sterowany. Pozostaje oprogramować to w asemblerze... :-)

Cześć,

O - to super, ale ale...sygnałem /CS nie może być RD5 :) chyba, że używasz /S5 ale wtedy RD5 musisz ustawić w stan wysoki aby odłączyć RAM. To tak na marginesie cartów.

Ciekawe - co Ty tam na tym RD5 pikpokujesz :D

Powiedz, że podpiąłeś /CCTL ($D5XX) bo tak to wygląda...Słusznie też, że używasz na razie gołej 130XE bo w razie czego łatwiej będzie lokalizować ew. problemy.

Powodzenia w weryfikacji i pisaniu drivera.

Opublikujesz to rozszerzenie?

Dzięki za czas i projekt.

Pozdrawiam
tOri

Różne różności dla Atari i nie tylko - przydatne, bądź nie ale i tak warto zajrzeć...
http://atari.myftp.org  Atari - Power without price and necessary elements with some sh*t onboard
https://reversing.pl SSL enabled site

17 Ostatnio edytowany przez pancio.net (2018-03-27 20:32:36)

Hej,

Był sukces i jest rozczarowanie.... moja walka z PCF-ką zmusiła mnie do wyciągnięcia analizatora i sprawdzenia przebiegów, z których jednoznacznie wynika, że opadające zbocze sygnału R/W jest sporo opóźnione w stosunku do opadającego zbocza sygnału /CCTL (/CS) i tryb IMC68XX nie zostaje ustawiony. Zastanawiam się jak to obejść. Jest jeszcze jedna rzecz, która mnie niepokoi, otóż zauważyłem jakieś bardzo krótkie piki na linii /CCTL występujące w losowych momentach i mających długość ok 80ns. Chyba są za krótkie na zamierzone działanie OS-a  (przemiata on samodzielnie $D5XX? - nie wydaje mi się. Stawiam na zakłócenia układu pomiarowego i chińskie Saleae :-)

Nie mniej jednak jeśli macie pomysł jak to rozwiązać (może jakieś opóźnienie na linii /CCTL?) to prosze o wsparcie.

Pozdr.

Post's attachments

PCF-timing.png 20 kb, nikt jeszcze nie pobierał tego pliku. 

zaklocenia.png 22.81 kb, nikt jeszcze nie pobierał tego pliku. 

Tylko zalogowani mogą pobierać załączniki.
https://systemembedded.eu/ ... https://www.youtube.com/watch?v=GwS7Es1x6mw
""Ja bardzo przepraszam, ale podejrzenia panów są całkowicie bezpodstawne. Ja niczym nie handluję. Ta pani przyszła do mnie w tym Pancake-u i w nim wychodzi.""
ABBUC Member #319. Preferowana forma kontaktu: email

18 Ostatnio edytowany przez pancio.net (2020-08-06 10:45:52)

Mały update...

Po nieudanych próbach opóźnienia sygnału /CS postanowiłem zbudować dekoder /WE i /OE i pójść tropem wskazanym przez tOri. Przyniosło to oczekiwane rezultaty. Rejestry PCF-a można teraz zapisywać i odczytywać z nich prawidłowe wartości. Dzięki toriman1 za cenne uwagi i wskazówki. Pozostaje teraz sklecenie kodu, który prawidłowo zainicjuje PCF-a i pozwoli na dogadanie się z dowolnym układem z I2C.

Mam takie pytanie, czy zna ktoś może dobry monitor danych w pamięci w trybie real?

Pozdrawiam

https://systemembedded.eu/ ... https://www.youtube.com/watch?v=GwS7Es1x6mw
""Ja bardzo przepraszam, ale podejrzenia panów są całkowicie bezpodstawne. Ja niczym nie handluję. Ta pani przyszła do mnie w tym Pancake-u i w nim wychodzi.""
ABBUC Member #319. Preferowana forma kontaktu: email

19

pancio.net napisał/a:

Mały update...

Po nieudanych próbach opóźnienia sygnału /CS postanowiłem zbudować dekoder /WE i /OE i pójść tropem wskazanym przez toriman1-a. Przyniosło to oczekiwane rezultaty. Rejestry PCF-a można teraz zapisywać i odczytywać z nich prawidłowe wartości. Dzięki toriman1 za cenne uwagi i wskazówki. Pozostaje teraz sklecenie kodu, który prawidłowo zainicjuje PCF-a i pozwoli na dogadanie się z dowolnym układem z I2C.

Mam takie pytanie, czy zna ktoś może dobry monitor danych w pamięci w trybie real?

Pozdrawiam

Cześć,

Napiszę odnośnie poprzedniego postu: Właśnie się tego obawiałem, że mogą być problemy z niektórymi czasami żeby użyć autowykrywania choć to trochę dziwne, ponieważ z dokumentacji wynika, że /CS jako, że przelatuje przez kilka układów - powinien być opóźniony względem R/W. Ale Dobrze, że spróbowałeś drugiego trybu i jest sukces - OK!

Co do pików na /D5XX - to właśnie też może być objaw "rozjechanych" czasów - przecież dzielenie dostępu odbywa się zarówno na MMU jak i LS138 - stosunkowo długa droga dla tworzenia strobów.

Ważne, że tryb 80XX działa i da się z niego korzystać.

P.S. Na początku może zrób kierunek od Atari na zewnątrz. Rozumiem, że do odbioru chcesz korzystać z przerwań - a to będzie - moim zdaniem - rodzaj wyzwania do ogarnięcia :)

Zrób do końca ten interfejs - ja też chciałbym z niego kiedyś skorzystać. Przecież można sporo ciekawego sprzętu na I2C wrzucić.

Pozdrawiam

tOri

Różne różności dla Atari i nie tylko - przydatne, bądź nie ale i tak warto zajrzeć...
http://atari.myftp.org  Atari - Power without price and necessary elements with some sh*t onboard
https://reversing.pl SSL enabled site

20

Kolejne kilka dni i mały feedback: Coś działa, atari inicjuje PCF-a, na magistrali I2C pojawia się adres slave (choć nie do końca jestem pewien czy właściwy, bo wywoływane urządzenie miało adres $3f a na magistrali pojawiło się $3e (skasowany bit zapisu?). Nie wiem czy tu nie popełniam jakiegoś babola. Jako testowego układu z I2C użyłem 8-bitowego ekspandera PCF8574A o adresie $3f (A0=A1=a2=H). Nie mniej jednak po zapisie do rejestru nie otrzymuje ACK i podprogram wychodzi z błędem. Program prawie żywcem opiera się na tym z projektu: CS/A65 SCSI interface:  http://http://www.6502.org/users/andre/csa/scsi/index.html
zmieniłem assembler (MADS) i przerobiłem parę funkcji... jakieś sugestie?

Post's attachments

0x3f_error.png 70.46 kb, nikt jeszcze nie pobierał tego pliku. 

A2I2Cv1.zip 45.38 kb, liczba pobrań: 3 (od 2018-04-04) 

Tylko zalogowani mogą pobierać załączniki.
https://systemembedded.eu/ ... https://www.youtube.com/watch?v=GwS7Es1x6mw
""Ja bardzo przepraszam, ale podejrzenia panów są całkowicie bezpodstawne. Ja niczym nie handluję. Ta pani przyszła do mnie w tym Pancake-u i w nim wychodzi.""
ABBUC Member #319. Preferowana forma kontaktu: email

21 Ostatnio edytowany przez pancio.net (2018-04-08 21:20:45)

Jest sukces! W bólu znoju i w pijackim widzie udało mi się odpalić transmisję pomiędzy Atari a PCF8574 z wykorzystaniem sprzęgu magistrali PCF8584. Co prawda do pełnego sukcesu jeszcze daleko, gdyż potrzeba by teraz napisać kod obsługujący wszelkiej maści drivery I2C. Nie mniej jednak można już przyjąć, że projekt da się z powodzeniem ukończyć i wykorzystać. Pozostaje również pytanie z początku wątku: jaki zakres pamięci przydzielić do A2I2C by nie wprowadzać zgrzytów z już istniejącymi rozszerzeniami.



Update: załączam schemat układu z wykorzystaniem sygnałów /OE i /WE. Wprowadziłem też dekodowanie (niepełne) adresów dla urządzenia. O ile dobrze to zrobiłem to PCF8584 powinien być dostępny pod adresami $D580-$D581 (reszta od $D582-$D58F to cienie podstawowych adresów). Prosiłbym sprzętowców by rzucili na to okiem i czy można przystąpić do budowania prototypu.

Post's attachments

A2I2C-KiCAD.zip 5.09 kb, nikt jeszcze nie pobierał tego pliku. 

a2i2cv2.png 29.52 kb, nikt jeszcze nie pobierał tego pliku. 

ATARI-PCF8584-LIBRARY.zip 8.26 kb, liczba pobrań: 3 (od 2018-04-08) 

PCF8574_write_01+ACK.png 85.27 kb, nikt jeszcze nie pobierał tego pliku. 

prototyp.jpg 1.05 mb, nikt jeszcze nie pobierał tego pliku. 

Tylko zalogowani mogą pobierać załączniki.
https://systemembedded.eu/ ... https://www.youtube.com/watch?v=GwS7Es1x6mw
""Ja bardzo przepraszam, ale podejrzenia panów są całkowicie bezpodstawne. Ja niczym nie handluję. Ta pani przyszła do mnie w tym Pancake-u i w nim wychodzi.""
ABBUC Member #319. Preferowana forma kontaktu: email

22 Ostatnio edytowany przez tOri (2018-04-09 20:47:01)

Cześć, Gratulacje!

Buduj.

Wygląda dobrze. Skoro dajesz radę czytać i pisać kontroler oraz dołączane układy to super.

Dla wszystkiego daj na wyjścia 138 pinheader żeby zworką mnożna było wybierać obszary adresowe i to będzie wszystko odnośnie sprzętu....

Pozdrawiam

tOri

Różne różności dla Atari i nie tylko - przydatne, bądź nie ale i tak warto zajrzeć...
http://atari.myftp.org  Atari - Power without price and necessary elements with some sh*t onboard
https://reversing.pl SSL enabled site

23

Płytka gotowa. Mam nadzieję, że bez baboli bo ostatni raz używałem Eagle na studiach. Jak ktoś miałby ochotę sprawdzić czy taki stan będzie wystarczający do wykonania prototypu - byłbym wdzięczny. Schemat i projekty płytki (z poly i bez) zamieszczam jako załącznik. No i jeśli ktoś się pisze na płytkę prototypową to proszę o kontakt. Na ewentualnych chętnych poczekam do przyszłego piątku.

Pozdrawiam,
pancio

Post's attachments

A2I2C-eagle.zip 385.66 kb, nikt jeszcze nie pobierał tego pliku. 

a2i2c-sch.png 29.57 kb, nikt jeszcze nie pobierał tego pliku. 

a2i2c-w-poly.png 53.69 kb, nikt jeszcze nie pobierał tego pliku. 

a2i2c-without-poly.png 36.87 kb, nikt jeszcze nie pobierał tego pliku. 

Tylko zalogowani mogą pobierać załączniki.
https://systemembedded.eu/ ... https://www.youtube.com/watch?v=GwS7Es1x6mw
""Ja bardzo przepraszam, ale podejrzenia panów są całkowicie bezpodstawne. Ja niczym nie handluję. Ta pani przyszła do mnie w tym Pancake-u i w nim wychodzi.""
ABBUC Member #319. Preferowana forma kontaktu: email

24

pancio.net napisał/a:

Płytka gotowa. Mam nadzieję, że bez baboli bo ostatni raz używałem Eagle na studiach. Jak ktoś miałby ochotę sprawdzić czy taki stan będzie wystarczający do wykonania prototypu - byłbym wdzięczny. Schemat i projekty płytki (z poly i bez) zamieszczam jako załącznik. No i jeśli ktoś się pisze na płytkę prototypową to proszę o kontakt. Na ewentualnych chętnych poczekam do przyszłego piątku.

Pozdrawiam,
pancio

Cześć,

Dla prototypu oczywiście może być. Jeśli pozwolisz - w przyszłości zrobię sobie wersję na złącze CART+ECI XE. Twoja wersja jest ewidentnie do montażu wewnątrz komputera, ale - jak pamiętam - taki był Twój zamysł. Nie przeglądałem ścieżka po ścieżce, lecz jeśli pilnowałeś no to powinno być OK. Czekam więc na info o sofcie - to naprawdę fajny projekt.

-> propozycja: Może spróbuj stworzyć nowe urządzenie, np.   I:   Nie wiem czy to byłby najlepszy pomysł na standardową obsługę nowego interfejsu ale może... Warto by zapytać programistów na forum.

Pozdrawiam
tOri

Różne różności dla Atari i nie tylko - przydatne, bądź nie ale i tak warto zajrzeć...
http://atari.myftp.org  Atari - Power without price and necessary elements with some sh*t onboard
https://reversing.pl SSL enabled site

25 Ostatnio edytowany przez x_angel (2018-04-12 22:53:03)

Wiem, że płytka już zaprojektowana, ale może warto by to zrobić to jako adapter pod któryś z dużych scalaków? Odpadnie lutowanie kabelków. Na razie pewnie nie wydaje Ci się to straszne, ale jak będziesz miał do zrobienia kilka sztuk, to skumasz o co chodzi z tym lutowaniem kabelków :)

Z uwag: daj kondensatory 100n przy scalakach. Masz w bibliotece RCL na przykład w obudowach 0805 jeśli lubisz SMD.
Widzę, że dałeś otworki do montażu - masz jakiś plan, gdzie to zamontujesz w Atari? Bo znów jeśli zrobisz to jako przejściówkę pod jakiś duży scalak, to odpadnie kwestia montażu mechanicznego.

Nie otwierałem tego w Eaglu - jakie wymiary ma Twoja płytka?

Aha, chyba polygonów masy nie podłączyłeś do GND - prawym na polygon -> Name i dajesz GND

Ścieżki Vcc możesz dać trochę grubsze.

Widzę tam minimalizm z opisami elementów, ale proponuję, abyś jakoś podpisał sobie te scalaki i wartości rezystorów - jak za rok wrócisz do projektu, to od razu inaczej się to lutuje :)