Hardware > Hardware (Classic 16-/32-Bit)
Mega STE ohne Steuer PAL/GAL laufen lassen ...
Lukas Frank:
Hier das C301898. Das läuft aber hat den Fehler das wenn man auf 16Mhz umschaltet immer auf 8Mhz zurück gesprungen wird.
-------
PART NUMBER: C301898©001
DEVICE: GAL 22V10©15
LOCATION: U011
CHECKSUM: $ADD4
TITLE: SYSTEM CONTROL (SYSCTL)
PIN NAME PIN NAME
1 CLK 13 XLDS
2 XIO 14 D0
3 X8E2X 15 D1
4 BGACK 16 CLOE
5 BGO 17 CTRST
6 XAS 18 RDT
7 RXW 19 RBG
8 NC 20 BFROE
9 NC 21 XDTACK
10 NC 22 CLK8SEL_L
11 RST 23 CACHE_EN_L
12 GND 24 VCC
À
JNÀSTRING C8S 'CLK8SEL_L'
STRING CE 'CACHE_EN_L'
CE = C8S * /CE * XLDS * RST
+ /XIO * /X8E2X * /XAS * RXW * C8S * /CE * RST
+ /(/XIO * /X8E2X * /XAS) * C8S * /CE * RST
+ /XIO * /X8E2X * /XAS * /RXW * /XLDS * D0 * RST
C8S = RXW * C8S * RST
+ /(/XIO * /X8E2X * /XAS) * C8S * RST
+ XLDS * C8S * RST
+ D1 * /XIO * /X8E2X * /XAS * /RXW * XLDS * RST
D0 = /CE
D1 = C8S
RBG = BGO + /RST
D0.TRST = RXW * /XIO * /X8E2X * /XAS
D1.TRST = RXW * /XIO * /X8E2X * /XAS
XDTACK = /(/XIO * /X8E2X * /XAS)
XDTACK.TRST = /XIO * /X8E2X * /XAS
/BFROE = /C8S * BGACK
CLOE = C8S * BGACK
CTRST = BGACK * RST
RDT = XDTACK
Lukas Frank:
Hier das C301899 ...
Die Frage ist wie ich das Testen kann weil die Modem Zeiten sind ja lange vorbei. Mit der MSTE Test Cartridge vielleicht.
PART NUMBER: C301899©001
DEVICE: PAL 16R4©25
LOCATION: UA03
CHECKSUM: $5613
TITLE: SCC CONTROLLER (SCCCTL)
PIN NAME PIN NAME
1 CLK8 11 EN
2 XSCC 12 NC
3 XIO 13 XDTACK
4 RXW 14 QA
5 XAS 15 QB
6 XRESET 16 QC
7 XIACK5 17 XDIACK
8 NC 18 XWR
9 XWAIT 19 XRD
10 GND 20 VCC
/XDIACK = /XIACK5
QA = /QC * /QB * /QA * /XSCC * /XIO * /XAS * XRESET
+ /QC * /QB * /QA * /XDIACK * /XAS * XRESET
+ /QC * QA * XRESET;
QB = /QC * QA * XRESET
+ /XWAIT * QC * QB * QA * XRESET;
QC = QB * XRESET
+ QC * QA * XRESET;
/XRD = QB * RXW + QC * RXW + /XRESET;
/XWR = QB * /RXW + QC * QA * /RXW + /XRESET;
/XDTACK = /XAS;
XDTACK.TRST = QC * /QB;
Lukas Frank:
Habe mal die Pinbelegungen von zwei unbekannten Bausteine aufgeschrieben. Weiss nicht ob es so im Blindflug möglich ist ?
Hätte auch einen Logik Analyser wenn das Hilft ...
C301898-001 = GAL22V10 (SYSTEM CONTROL (SYSCTL)(U11) /Quelltext vorhanden
C301899-001 = PAL16R4 (SCC-Chip) (UA3) /Quelltext vorhanden
C301900-002 = PAL16L8 (VME BUS) (U903)
C301901-001 = PAL20L8 (Bussteuerung) (UA2) /JED ist vorhanden /läuft
C301903-001 = PAL16L8 (FPU Chipselect) (UB1) /läuft
C301904-001 = GAL22V10 (Bussteuerung) (U6)
C301905-001 = PAL16L8 (Cache) (15ns) (U12) /läuft
C301906-001 = GAL22V10 (Bussteuerung) (U3)
C301907-001 = PAL16R4B (Cache) (15ns) (U2) /läuft
C301908-001 = PAL16L8A (VME BUS) (U904) /läuft
C301909-001 = PAL20L8 (CLOCK CONTROL (CLKCTL16)) (U407) /läuft GAL22V10
--- Code: ---ATARI MEGA STE C301900-002
LOCATION U903
CHECKSUM
TITLE VME BUS CONTROL (VME)
|ŸŸŸ\/ŸŸŸ|
XSYSI |1 20| VCC
CLKDIR |2 19| LCLK
SYNCLKI |3 18| XIACK
XVDS1 |4 17| XIAOUT
XVDS0 |5 16| XVDT
XVAS |6 15| XBERR_OUT (VME J901 Pin33)
FC0 |7 14| XBERR
FC1 |8 13| CLEAR_LS74 (U902)
FC2 |9 12| XDTACK
GND |10 11| XDAS
|________|
%ID
C301900
%TYP
GAL16V8A
%PINS
%LOGIC
%END
--- Ende Code ---
--- Code: ---ATARI MSTE: CHIP C301904�001 U6 GAL22V10
Bus Steuerung
___ ___
| \/ |
(U12 Pin12) CLK16B |1 24| VCC
(U2 Pin7)LXAS |2 23| BERR (CPU)
(U11 Pin18) RDT |3 22| NC
XBERR |4 21| NC
XVMA |5 20| A22
E |6 19| OE (SRAM /OE U004/005 Pin22)
RESET |7 18| NC
(U2 Pin4) LRXW |8 17| NC
XDTACK |9 16| DTACK (CPU)
XFPUDT |10 15| MATCH (CTRAM U009/008)
(U11 Pin22) CLK8SEL_L |11 14| NC
GND |12 13| CAV (U2 Pin17)
|________|
%ID
C301904-001
%TYP
GAL22V10
%PINS
CLK16B LXAS RDT XBERR XVMA E RESET LRXW XDTACK XFPUDT CLK8SEL_L
CAV NC MATCH DTACK NC NC OE A22 NC NC BERR
%LOGIC
%END
--- Ende Code ---
Gast120501:
--- Zitat von: Lukas Frank am Fr 18.10.2019, 09:35:30 ---Hier das C301898. Das läuft aber hat den Fehler das wenn man auf 16Mhz umschaltet immer auf 8Mhz zurück gesprungen wird.
--- Ende Zitat ---
Ich denke, da müsste man mal durch die Gleichungen
C8S = RXW * C8S * RST
+ /(/XIO * /X8E2X * /XAS) * C8S * RST
+ XLDS * C8S * RST
+ D1 * /XIO * /X8E2X * /XAS * /RXW * XLDS * RST
CE = C8S * /CE * XLDS * RST
+ /XIO * /X8E2X * /XAS * RXW * C8S * /CE * RST
+ /(/XIO * /X8E2X * /XAS) * C8S * /CE * RST
+ /XIO * /X8E2X * /XAS * /RXW * /XLDS * D0 * RST
mal durchklabüstern. Ich denke, da steckt im Ergebnis der vorige Wert von sich selbst drin, also eine Art Mealy- oder Moore-Automat (Stichwort "Automatentheorie"), bei dem das Ausgangssignal auch von sich selbst (also vom eigene Zustand) abhängig ist.
Solche Automaten sind schwer zu durchschauen, vielleicht ist da ein Fehler drin. Dass ich mich mal damit beschäftigen musste, ist schon sehr lange her, daher erinnere ich mich nicht mehr, wie man das auseinander klabüstert, aber es gibt Fachliteratur dazu (Einstieg z.B. über Wikipedia), danach mal versuchen, eine Wahrheitstabelle zu erstellen, dann sieht man den Fehler vielleicht.
Was auch helfen dürfte, ist die Ausgänge eines funktionierenden Chips mit dem Oszi während der 16 Mhz Umschaltung zu beobachten, und mit den Fehlerhaften zu vergleichen. Dann sieht man vielleicht, bei welcher der beiden Gleichungen ein Term falsch ist.
Was ich auch nicht verstehe:
D0 = /CE
D1 = C8S
D0 und D1 sind doch Datenleitungen auf dem Datenbus der CPU, werden die von dem Chip gesteuert, das müssten doch eher Eingänge sein (um z.B. die 8/16 Mhz Umschaltung auszulösen)?
pakman:
--- Zitat von: Lukas Frank am Fr 18.10.2019, 12:57:24 ---Hier das C301899 ...
--- Ende Zitat ---
Und hier das JED-File..
Zusätzlich noch ein leicht verändertes C301905.
Sollte genauso funktionieren wie das, was Du schon hast.
Bitte testen.
Das C301898 wollte ja 1ST1 übernehmen.. super, jede Mithilfe ist willkommen!
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln