C128 Z80 8MHz
C128 Z80 8MHz
YTM, nie pochwaliłeś się !
https://github.com/ytmytm/c128-z80-8mhz
Gratulacje ! Czekaliśmy na to 25 lat Brakowało wtedy tej prędkości w CP/M...
Review: https://www.youtube.com/watch?v=p9dZlJVGQig
https://github.com/ytmytm/c128-z80-8mhz
Gratulacje ! Czekaliśmy na to 25 lat Brakowało wtedy tej prędkości w CP/M...
Review: https://www.youtube.com/watch?v=p9dZlJVGQig
Re: C128 Z80 8MHz
To nisza CP/M w niszy C128 . Działa 2x szybciej, ale nadal jest bardzo wolno. Dla mnie to przede wszystkim była zagadka do rozwiązania.
Odnalazły się zdjęcia płytki od której cały temat się zaczął:
https://www.forum64.de/index.php?thread ... ost2151370
prawie dobrze zgadłem jak to zostało zrobione. Nadal nie wiem jak się pozbyć tego zatrzasku 74LS74 który musiałem dodać i użyć rejestru wbudowanego w GAL.
Odnalazły się zdjęcia płytki od której cały temat się zaczął:
https://www.forum64.de/index.php?thread ... ost2151370
prawie dobrze zgadłem jak to zostało zrobione. Nadal nie wiem jak się pozbyć tego zatrzasku 74LS74 który musiałem dodać i użyć rejestru wbudowanego w GAL.
-
- Posty: 194
- Rejestracja: 15 gru 2020, 10:41
Re: C128 Z80 8MHz
Dlaczego to tak udziwnine ? Masz oryginalny schemat ?
Do czego sluzy sygnal WAITLACH ?
Mysle ze ten GAL w oryginalnym ukladzie nie kozysta z przezutnika tylko robi pseudo LACHA i 7474 jest zbyteczny
To by nawet pasowalo do 16v8
BLA = !(WAITRESET# WAITLACH);
WAITLACH = !(WAITTRIGGER# bla);
Do czego sluzy sygnal WAITLACH ?
Mysle ze ten GAL w oryginalnym ukladzie nie kozysta z przezutnika tylko robi pseudo LACHA i 7474 jest zbyteczny
To by nawet pasowalo do 16v8
BLA = !(WAITRESET# WAITLACH);
WAITLACH = !(WAITTRIGGER# bla);
Re: C128 Z80 8MHz
Oryginalnego schematu nie ma, ale z płytki z forum64.de łatwo odczytać połączenia. Jedyna zmiana dla Z80 to CLK (6), które teraz jest z GALa (16). GAL jest połączony tak - nie używa w ogóle /WAIT.
1 <- gal 19 (CLK)
2 <- (EXP port 6 - DOTCLOCK)
3 <- Z80 /IORQ (20)
4 <- Z80 /MREQ (19)
5 n/c
6 <- Z80 /RFSH (28)
7 <- Z80 /WR (22)
8 <- Z80 /RD (21)
9 <- (U12 pin 11 - D1MHZ/CLK1MHZ - system clock, Z80 jest aktywny gdy tu jest stan niski)
10 <- GND
11 <- GND (/OE)
12 n/c
13 n/c
14 n/c
15 n/c
16 -> Z80 CLK (6)
17 n/c
18 n/c
19 -> gal 1 (CLK)
20 VCC
Oni tu sterowali tylko zegarem, ja użyłem też /WAIT. Ten 7474 u mnie na pewno jest zbędny.
WAITLATCH jest kopiowane na wejście /WAIT dla Z80. Ma zablokować się w stanie niskim od momentu gdy Z80 w swojej połówce cyklu (CLK1MHZ=0) zażąda dostępu do pamięci (WAITTRIGGER). Ma wstrzymać Z80 co najmniej do końca tej fazy (narastający CLK1MHZ) albo aż do początku następnego cyklu (opadające zbocze CLK1MHZ) i wrócić do stanu wysokiego.
1 <- gal 19 (CLK)
2 <- (EXP port 6 - DOTCLOCK)
3 <- Z80 /IORQ (20)
4 <- Z80 /MREQ (19)
5 n/c
6 <- Z80 /RFSH (28)
7 <- Z80 /WR (22)
8 <- Z80 /RD (21)
9 <- (U12 pin 11 - D1MHZ/CLK1MHZ - system clock, Z80 jest aktywny gdy tu jest stan niski)
10 <- GND
11 <- GND (/OE)
12 n/c
13 n/c
14 n/c
15 n/c
16 -> Z80 CLK (6)
17 n/c
18 n/c
19 -> gal 1 (CLK)
20 VCC
Oni tu sterowali tylko zegarem, ja użyłem też /WAIT. Ten 7474 u mnie na pewno jest zbędny.
WAITLATCH jest kopiowane na wejście /WAIT dla Z80. Ma zablokować się w stanie niskim od momentu gdy Z80 w swojej połówce cyklu (CLK1MHZ=0) zażąda dostępu do pamięci (WAITTRIGGER). Ma wstrzymać Z80 co najmniej do końca tej fazy (narastający CLK1MHZ) albo aż do początku następnego cyklu (opadające zbocze CLK1MHZ) i wrócić do stanu wysokiego.
-
- Posty: 194
- Rejestracja: 15 gru 2020, 10:41
Re: C128 Z80 8MHz
Zrob RSLATCH wedlug tego wzoru i sprawdz:
Oczywiscie mozesz go polaczyc wewnatrz ukladu.
Nie widze schematu dla GAL16V8 Ale w nim aby miec wyprowadzony przezutnik D musisz miec podlaczony do masy pin 11.No i on nie ma RS jest tylko D. RS zrob wedlug tego co ci zapodalem. Zreszta w/g tego co jest na tym schemacie :
https://github.com/ytmytm/c128-z80-8mhz ... ot-gal.pdf
masz podlaczone tylko wejscie R LATCHA wiec ustawi sie po wlaczeniu a ty mozesz go slownie raz skasowac i tyle;)
Jesli chcesz na 16v8 RS to tylko w taki sposob jest to mozliwe.
Jesli w gal16v8 na pin 11 masz reset czyli normalnie H to i tak wszystkie przezutniki beda w stanie wysokiej impedancji.
Wiec tylko to co ci zapodalem bedzie mialo przwo dzialac .
Kod: Zaznacz cały
PIN 2 = R;
PIN 2 = S;
PIN 4 = R;
PIN 15 = Q;
PIN 16 = QN;
Q = !(R # QN);
QN = !(S # Q);
Nie widze schematu dla GAL16V8 Ale w nim aby miec wyprowadzony przezutnik D musisz miec podlaczony do masy pin 11.No i on nie ma RS jest tylko D. RS zrob wedlug tego co ci zapodalem. Zreszta w/g tego co jest na tym schemacie :
https://github.com/ytmytm/c128-z80-8mhz ... ot-gal.pdf
masz podlaczone tylko wejscie R LATCHA wiec ustawi sie po wlaczeniu a ty mozesz go slownie raz skasowac i tyle;)
Jesli chcesz na 16v8 RS to tylko w taki sposob jest to mozliwe.
Jesli w gal16v8 na pin 11 masz reset czyli normalnie H to i tak wszystkie przezutniki beda w stanie wysokiej impedancji.
Wiec tylko to co ci zapodalem bedzie mialo przwo dzialac .
-
- Posty: 194
- Rejestracja: 15 gru 2020, 10:41
Re: C128 Z80 8MHz
Czekaj przez te kolory nie zauwazylem jak jest podlaczony 7474.
Musisz to zmienic bo w przezutniku 16v8 nie ma wejscia R/S jest tylko synchroniczne D wiec kasowanie i zerowanie mozesz jedynie zrobic przy narastajacym zboczu CLK.
Musze przypomniec sobie jak dziala z80 w c128 moze w wekeen sprobuje to rozwiazac.
Musisz to zmienic bo w przezutniku 16v8 nie ma wejscia R/S jest tylko synchroniczne D wiec kasowanie i zerowanie mozesz jedynie zrobic przy narastajacym zboczu CLK.
Musze przypomniec sobie jak dziala z80 w c128 moze w wekeen sprobuje to rozwiazac.
Re: C128 Z80 8MHz
Trochę związane z tematem - koledzy atarowcy już korzystają z Si5351A, więc można popatrzeć jak to zrobione jest (choć tu dotyczy to 6502) i spróbować "pomnożyć" CLK dla Z80 jeszcze bardziej niż x2.
https://systemembedded.eu/viewtopic.php?t=59
(Zasłyszane/przeczytane na atarionline.pl)
https://systemembedded.eu/viewtopic.php?t=59
(Zasłyszane/przeczytane na atarionline.pl)