26

Zrobiłem prosty kod co pozwala przetestować jak wstaje przerzutnik D w GALu. Jakby ktoś był chętny do przetestowania to wsady poniżej. Trzeba zaprogramować pamięć i GALa wsadem z pliku. Jeżeli po uruchomieniu pojawi się "kciuk" to znaczy, że ten egzemplarz GALa wstaje zgodnie z dokumentacją. Kod ma 8kB i jest zwielokrotniony do 512kB. Więc przełączanie banków jest pomijane. Ważne, co jest po włączeniu.

Ja sprawdziłem na: ATF16V8B, GAL16V8A i GAL16V8. Na wszystkich identycznie przerzutnik D wstaje. Jeżeli na innych też tak jest to jesteśmy w domu.

Post's attachments

Test.7z 1.81 kb, liczba pobrań: 10 (od 2022-06-21) 

Tylko zalogowani mogą pobierać załączniki.

27

Hardware na razie bez zmian? To przetestuję na kilku i dam znać.

28

Tak hardware bez zmian. No ja mam tylko płytki od "SikorSoft" i na nich wkładałem te trzy GALe.
Dokładnie to testujemy zapis:

RD.D = ( ( trig & !D7 ) # ( !trig & RD ) );

czyli czy D wstanie na stan wysoki (bo niby tak podaje dokumentacja) i czy zatrzaskując sam siebie nie gubi stanu (zwłaszcza po włączeniu zasilania).

29 Ostatnio edytowany przez Gienek (2022-06-22 13:19:46)

Trochę nie kumam tych przebiegów złapanych na złączu carta.
żółty - PHI2
zielony - RW
niebieski - nCCTL
czerwony - D0

Wygląda na to, że większość sygnałów to możnaby zatrzaskiwać zarówno na zboczu narastający jak i opadającym. Ale dane do zapisu są przygotowywane na zboczu narastającym po czym zaraz po opadnięciu uciekają. Więc chyba nie ma wyjścia i zatrzaskiwanie może być tylko na PHI2 opadającym.
To też oznacza, że poświęcimy 2 piny w GALu na NOT.

Post's attachments

setup_2.png 32.84 kb, nikt jeszcze nie pobierał tego pliku. 

Tylko zalogowani mogą pobierać załączniki.

30

Ale Ci to ładnie oscyloskop uchwycił.
Zwróć uwagę na dwie różne rzeczy. Powołam się na literaturę.
Procesor "łapie" dane na opadającym zboczu PHI2. Tak jest skonstruowany.
Coś co zbudujesz i jest Twoim zewnętrznym urządzeniem, np przerzutnik "łapać" może na dowolnym zboczu PHI2, Ważne by stany szyny były w tym czasie stabilne.
Taki moduł SPARTA DOS X, jego rejestr "łapie" dane z szyny adresowej, nie danych. I robi to na zboczu narastającym PHI2.
Rejestr to układ 74175. Jak przeanalizujesz jego działanie (sterowanie) dużo się nauczysz.
Tak na marginesie. Niektóre przystawki do  Atari nie chcą dobrze działać bo.... z różnych powodów opadające zbocze PHI2 jest za bardzo opóźnione i całość sterowana tym sygnałem łapie nie to co trzeba. Słowem układ niby dobrze zaprojektowany, mimo że powinien, nie chce się słuchać. Zazwyczaj wina leży po nieprawidłowo pojawiającym się zboczu opadającym PHI2.

31

No jak działa 74175 to wiem, nawet go zaimplementowałem do GALa. Ale GAL jest za szybki i niestety na zboczu narastającym łapie dane nie gotowe. Gdyby było gotowe to na obecnej płytce byłaby sprawa do zrobienia. A tak trzeba CLK dla GALa zanegować bo on umie tylko D na narastającym zboczu robić.
Martwi mnie ten PHI2. Bo zaraz po nim dość szybko dane się zmieniają i "mało czasu". I jest tak jak piszesz, że za bardzo opóźnione PHI2 może namieszać. Całość wygląda jakby ATARI było pędzone 2 razy szybszym zegarem a na złączu carta jest już zegarek podzielony przez 2. Stąd też coś się dzieje zarówno na narastającym jak i opadającym zboczu.

32 Ostatnio edytowany przez tOri (2022-06-22 19:49:23)

Cześć,

Trzeba rzucić okiem na timingi 6502. Popularna książka str. 44 - http://atari.myftp.org/tekst_h/Mikropro … odzina.pdf

Wszystko będzie jasne. Adresy będą ważne na obu zboczach phi2. Dane wyłącznie na zboczu opadającym. Nie ma od tego odstępstw. Czas trwania danych po opadającym zboczu to ok. 30ns i to trzeba mieć na uwadze.

Pozdrawiam

edit: literówki

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

33

@tOri
trafny materiał. Str. 57 daje info jak zrobić sobie nOE i nWE czyli "Cykl odczytu" i "Cykl zapisu". Faktycznie jest chwilka na tym zboczu opadającym i potem już "nowe rozdanie".

34

->Gienek - no tak właśnie jest - krótko dane "wiszą" na zboczu. Dobrze je łapiesz - zboczem narastającym z inwertowanego phi2 na D-flopie. Można próbować ze zwykłym zatrzaskiem, ale takiej możliwości w GALu nie masz - tylko zbocze.

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

35 Ostatnio edytowany przez Gienek (2022-07-13 08:42:35)

Propozycja zmian:

[SST39SF040]
PIN_22 - CE# - do GAL_PIN_16
PIN_24 - OE# - GND
PIN_31 - WE# - VCC


[74AS574N]
PIN_1 - OC - do GAL_PIN_18
PIN_11 - CLK - do GAL_PIN_17

[GAL16]
PIN_1 - do GAL_PIN_19
---
PIN_2 - RW
PIN_3 - nCCTL
PIN_4 - D7
PIN_5 - A7
PIN_6 - A6
PIN_7 - A5
PIN_8 - A4
---
PIN_9 - PHI2
PIN_10 - GND
PIN_11 - do GND (na wszelki wypadek nOE GALa na L)
PIN_12 - do nS5
PIN_13 - do nS4
PIN_14 - do RD5
PIN_15 - do RD4
PIN_16 - do SST39SF040_PIN_22
PIN_17 - do 74AS574N_PIN_11
PIN_18 - do 74AS574N_PIN_1
PIN_19 - do GAL_PIN_1
PIN_20 - VCC

Co zmieniamy:
- pamięć OE i WE na stałe; to już sprawdziłem, że tak też działa
- przerzutnikom puszczamy OC przez GALa; wtedy ogarniemy przy okazji maxflasha
- zegarek wchodzi na GAL, jest tam negowany, wychodzi i wchodzi znowu do GALa na CLK
- GAL niezależnie ogarnia S4 i S5
- PINy GALa 2-8 można ustawić w dowolnej kolejności, żeby ścieżki na PCB były łatwiejsze do prowadzenia


EDIT:
Zupełnie nie zauważyłem, że MaxFlash leci na adresach a nie danych :/ Skorygowałem post, żeby nie powielać błędu.

Post's attachments

SXEGSv2.zip 1.45 kb, liczba pobrań: 16 (od 2022-06-27) 

Tylko zalogowani mogą pobierać załączniki.