Hardware > Hardware (Classic 16-/32-Bit)
MAXON MACH16 III ...
Lukas Frank:
Ja habe ich auch aber sind andere GAL Bausteine und ist völlig unterschiedlich. Man kann vielleicht einen Teil herleiten aber nicht alles ...
Die Öffnentliche Version funktionierte nicht richtig zuverlässlich und deshalb die nachfolge Verkaufsversion MACH III welche nicht öffnentlich war.
Schaltplan der Version 1
Lukas Frank:
GAL 20V8
Zusätzlich an allen drei GALs gibt es das Signal "REG", vermute mal es wird mit dem GAL 20V8 erzeugt, an den beiden anderen ist es das REGI für Input vermute ich mal?
Das entsprechende GAL Quelltext der MACH16 Version 1
Cache-Controller fur ATARI ST
GAL 1: Adressdekodierung
*IDENTIFICATION
CCDT1V1C;
*TYPE
GAL20V8;
*PINS
A23 = 1,
A22 = 2,
A21 = 3,
A20 = 4,
A19 = 5,
A18 = 6,
A17 = 7,
A15 = 8,
A13 = 9,
A11 = 10,
A9 = 11,
A7 = 13,
A8 = 14,
A12.T = 16,
A14.T = 17,
A16.T = 18,
A6.T = 19,
MEM.T = 20, % RAM/ROM-Zugriff %
A10.T = 21,
/FCS.T = 22, % Fpu Chip Select %
A5 = 23;
*BOOLEAN-EQUATIONS
A6.E = GND ;
A10.E = GND ;
A12.E = GND ;
A14.E = GND ;
A16.E = GND ;
MEM = /A23 & /A22
+ A23 & A22 & A21 & A20 & A19 & A18 & /A16
+ A23 & A22 & A21 & A20 & A19 & A18 & /A17;
FCS = A23 & A22 & A21 & A20 & A19 & A18 & A16
& A15 & A14 & A13 & A12 & A11 & /A10 & A9 & /A8 & /A7 & A6 & /A5;
*END
Lukas Frank:
GAL16V8
Das entsprechende GAL Quelltext der MACH16 Version 1
Cache controller fur ATARI ST
GAL 2: Cache und Bussteuerung
*identification
CCDT2V6;
*type
GAL16V8;
*pins
/PAS = 1, % verzogertes AS-Signal %
/UDS = 2, % Upper Data Strobe (prozessor) %
/LDS = 3, % Lower Data Strobe (prozessor) %
/WR = 4, % Read/Write %
/AS = 5, % Address strobe (prozessor) %
CEN = 6, % Cache ein-aus %
MEM = 7, % RAM/ROM-Zugriff %
/BGACK = 8, % Bus Grant ACKnowledge %
HIT = 9, % Cache-Treffer %
EN_I = 11, % Cache Enable (Ruckkopplung) %
ENAB.T = 12; % Cache Enable (Ausgang) %
/CWE.T = 13; % Write Enable Cache-RAMs %
/LDWE.T = 14; % Write Enable unteres Daten RAM%
/UDWE.T = 15; % Write Enable oberes Daten RAM %
/BLDS.T = 16, % Lower Data Strobe (bus) %
/BUDS.T = 17, % Upper Data Strobe (bus) %
/BAS.T = 18, % Address Strobe (bus) %
/DOE.T = 19, % Output Enable Daten-RAMs %
*boolean-equations
BAS.E = /BGACK;
BAS = AS & PAS & /EN_I
+ AS & PAS & /MEM
+ AS & PAS & WR
+ AS & PAS & /HIT
+ AS & BAS;
BLDS.E = /BGACK;
BLDS = PAS & LDS & /EN_I
+ PAS & LDS & /MEM
+ PAS & LDS & WR
+ PAS & LDS & MEM & /WR & /HIT
+ PAS & UDS & MEM & /WR & /HIT
+ LDS & BLDS
+ UDS & BLDS;
BUDS.E = /BGACK;
BUDS = PAS & UDS & /EN_I
+ PAS & UDS & /MEM
+ PAS & UDS & WR
+ PAS & UDS & MEM & /WR & /HIT
+ PAS & LDS & MEM & /WR & /HIT
+ UDS & BUDS
+ LDS & BUDS;
CWE = EN_I & BAS & ( UDS + LDS ) & MEM & /WR & /HIT
+ ( UDS + LDS ) & CWE;
DOE = ( UDS + LDS ) & MEM & /WR & HIT & /CWE & EN_I;
UDWE = EN_I & PAS & ( UDS + LDS ) & MEM & ( /WR & /HIT + WR & UDS & HIT )
+ ( UDS + LDS ) & UDWE ;
LDWE = EN_I & PAS & ( UDS + LDS ) & MEM & ( /WR & /HIT + WR & LDS & HIT )
+ ( UDS + LDS ) & LDWE ;
ENAB = /AS & CEN + AS & EN_I + CEN & EN_I ;
*end
Lukas Frank:
GAL/PAL 22V10
Das PAL 22V10 ist ja original da.
Das entsprechende GAL Quelltext der MACH16 Version 1
Cache controller fur ATARI ST
GAL 3: DTACK Steuerung und Cache Loschlogik
(nur zum Entwurf)
*identification
CCDT3V8;
*type
GAL16V8;
*pins
CL8 = 2, % 8 Mhz Takt %
/SDT = 3, % System DTack %
/FCS = 4, % Fpu Chip Select %
/RESET = 5, % Reset %
/BGACK = 6, % Bus Grant ACKnowledge %
MEM = 7, % RAM/ROM-Zugriff %
/WR = 8, % Read/Write %
HIT = 9, % Cache-Treffer %
ST0.R = 12, % Bit 0 der Zustandskodierung %
/PDT.T = 13, % Prozessor Dtack %
ST1.R = 14, % Bit 1 der Zustandskodierung %
ST2.R = 15, % Bit 2 der Zustandskodierung %
/PAS.R = 16, % verzogertes AS-Signal %
/CLR.T = 17, % Cache-Loschsignal %
/AS.T = 18, % Address strobe (Eingang) %
ENAB.T = 19; % Cache Enable (Eingang) %
*boolean-equations
ENAB.E = GND ;
AS.E = GND ;
CLR = BGACK + RESET + /ENAB ;
PDT = ST2 & /ST1 & /ST0 & PAS % Zustand S5 %
+ ST2 & /ST1 & ST0 & PAS % Zustand S6 %
+ ST2 & ST1 & ST0 & PAS % Zustand S8 %
+ FCS & AS & SDT; % FPU-Zugriff %
ST0 = AS & /RESET & /FCS & /PAS
+ AS & /RESET & ST1 & /ST0
+ AS & /SDT & /RESET & /ST2 & ST1
+ AS & /CL8 & /RESET & /ST2 & ST1
+ /RESET & ST2 & /ST0
+ AS & /WR & /RESET & ST2 & ST1;
ST1 = AS & MEM & HIT & /WR & ENAB & /RESET & /FCS & /PAS
+ AS & /RESET & /FCS & /ST2 & /ST1 & ST0
+ AS & /RESET & ST1 & /ST0
+ AS & /SDT & /RESET & /ST2 & ST1
+ AS & /CL8 & /RESET & /ST2 & ST1
+ AS & /WR & /RESET & ST2 & ST1;
ST2 = AS & MEM & HIT & /WR & ENAB & /RESET & /FCS & /PAS
+ AS & SDT & CL8 & /RESET & /ST2 & ST1 & ST0
+ /RESET & ST2 & /ST0
+ AS & /WR & /RESET & ST2 & ST1;
/PAS = RESET
+ ST2 & /ST1 & ST0
+ WR & ST2 & ST1
+ /AS & ST0
+ /FCS & /ST2 & /ST1 & /ST0 & PAS
+ /AS & /ST2;
*end
Navigation
[0] Themen-Index
[*] Vorherige Sete
Zur normalen Ansicht wechseln