Strona 1 z 1

C128 Z80 8MHz

: 25 wrz 2024, 07:14
autor: zyga
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

Re: C128 Z80 8MHz

: 28 wrz 2024, 18:56
autor: ytm
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.

Re: C128 Z80 8MHz

: 02 paź 2024, 01:06
autor: hobocti77x_
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 :lol:
To by nawet pasowalo do 16v8

BLA = !(WAITRESET# WAITLACH);
WAITLACH = !(WAITTRIGGER# bla);

Re: C128 Z80 8MHz

: 02 paź 2024, 22:42
autor: ytm
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.

Re: C128 Z80 8MHz

: 02 paź 2024, 23:42
autor: hobocti77x_
Zrob RSLATCH wedlug tego wzoru i sprawdz:

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);
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 .

Re: C128 Z80 8MHz

: 03 paź 2024, 10:35
autor: hobocti77x_
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.

Re: C128 Z80 8MHz

: 09 paź 2024, 07:56
autor: zyga
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)