Hardware > Hardware (High-End)
Fastram mit PAK68/2 ...
Lukas Frank:
Hier das original JEDI Files von U6 ...
--- Code: ---U6_22 PAK 68/2: Adressdekoder U6 fr Atari ST
jp1: CPU Cache on: disable *off: enable
jp2: ROMs *on: auf der PAK off: auf Mainboard 5 Clk
jp3: Addressraum *on: 24 Bit off: 32 Bit (mit a29, a30)
jp4: FPU auf der PAK on: disable *off: enable
jp5: FPU Clock on: eigener Oszillator *off: -
jp6: FPU Clock *on: CPU Clock off: -
BKPT: as_20 * fc1 * fc0 * !a19 * !a18 * !a17 * !a16
MMU : as_20 * fc1 * fc0 * !a19 * !a18 * !a17 * a16
FPU : as_20 * fc1 * fc0 * !a19 * !a18 * a17 * !a16
IACK: as_20 * fc1 * fc0 * a19 * a18 * a17 * a16
12-06-93 U6_22 aus P20_22.JED recompiliert, GAL-ID hinzu
___ ___
| \/ |
a16 |1 24| VCC
a17 |2 23| !as_20
a18 |3 22| !berr_00
a19 |4 21| !berr_20
a20 |5 20| !romsel
a21 |6 19| !cycle_00
a22 |7 18| !cpuspace
a23 |8 17| !csfpu
a29 |9 16| !jp4
a30 |10 15| !jp3
!jp2 |11 14| fc1
GND |12 13| fc0
|________|
%ID
U6_22
%TYP
GAL20V8A
%PINS
a16 a17 a18 a19 a20 a21 a22 a23 a29 a30 !jp2
fc0 fc1 !jp3 !jp4 !csfpu !cpuspace !cycle_00 !romsel
!berr_20 !berr_00 !as_20
%LOGIC
berr_20 = as_20 * fc1 * fc0 * !a19 * !a18 * !a17 'PMMU, BKPT
+ as_20 * fc1 * fc0 * !a19 * !a18 * !a16 * jp4 'keine FPU
+ as_20 * berr_00;
romsel = a23 * a22 * a21 * a20 * a19 * a18 * !a17 * !jp2 'TOS 1.04
+ a23 * a22 * a21 * a20 * a19 * a18 * !a16 * !jp2; 'TOS 1.04
!cycle_00 = a23 * a22 * a21 * !a20 '$E00000 bis $EFFFFF
+ fc1 * fc0 * !a19 * !a18 * a17 * !a16 'FPU
+ a23 * a22 * a21 * a19 * a18 * !a17 * jp2 'TOS 1.04
+ a23 * a22 * a21 * a19 * a18 * !a16 * jp2 'TOS 1.04
+ a30 * !a29 * !jp3;
cpuspace = fc1 * fc0;
csfpu = fc1 * fc0 * !a19 * !a18 * a17 * !a16 * !jp4; 'FPU
%END
--- Ende Code ---
Das TOS 1.04 mit A17 ist wohl für TOS 2.06 auf der PAK und mit A16 TOs 1.04 (KAOS) auf dem Mainboard !?!
Ja funktioniert Wunderbar. Ich würde gerne alle Jumper weglassen. Kommt eh nur ausschliesslich das 32-birt breite TOS 2.06/3.06 auf der PAK68/2 in frage. Also ist der Jumper sinnlos. JP3 ist doch ebenfalls sinnlos da ein 32bit Adressraum wegen des Fastrams wünschenswert ist. Und JP4 braucht auch nicht sein da auch der Atari TT nicht läuft und bombt wenn die FPU fehlt ...
So hätte man drei Eingänge am GAL frei für A24 und zwei weitere Adressen um eventuell mehr als 16MB Fastram nutzen zu können ...
joejoe:
Okay, habe da zwar so ein paar Zweifel ob der Kommentare (Tos 2.06 neben einer Zeile, die nicht den gesammten E0-EF-Bereich dekodiert, Beschreibungen für Jumper, welche überhaupt nicht an dem GAL anliegen, bei romsel dieselbe Zeile mit TOS 2.06 wie im Original für TOS1.04, etc.) aber wenn es denn so geht :)
Hier aufbauend auf Deiner Version mein Vorschlag, wie a24 dort hinein gehören sollte.
Die Ungereimtheiten habe ich drin gelassen.
--- Code: --- jp2: ROMs *on: auf der PAK off: auf Mainboard 5 Clk
jp3: Addressraum *on: 24 Bit off: 32 Bit (mit a29, a30)
jp4: FPU auf der PAK on: disable *off: enable
jp5: FPU Clock on: eigener Oszillator *off: -
jp6: FPU Clock *on: CPU Clock off: -
BKPT: as_20 * fc1 * fc0 * !a19 * !a18 * !a17 * !a16
MMU : as_20 * fc1 * fc0 * !a19 * !a18 * !a17 * a16
FPU : as_20 * fc1 * fc0 * !a19 * !a18 * a17 * !a16
IACK: as_20 * fc1 * fc0 * a19 * a18 * a17 * a16
12-06-93 U6_22 aus P20_22.JED recompiliert, GAL-ID hinzu
___ ___
| \/ |
a16 |1 24| VCC
a17 |2 23| !as_20
a18 |3 22| !berr_00
a19 |4 21| !berr_20
a20 |5 20| !romsel
a21 |6 19| !cycle_00
a22 |7 18| !cpuspace
a23 |8 17| !csfpu
a29 |9 16| !jp4
a30 |10 15| !jp3
a24 |11 14| fc1
GND |12 13| fc0
|________|
%ID
U6_22
%TYP
GAL20V8A
%PINS
a16 a17 a18 a19 a20 a21 a22 a23 a29 a30 a24
fc0 fc1 !jp3 !jp4 !csfpu !cpuspace !cycle_00 !romsel
!berr_20 !berr_00 !as_20
%LOGIC
berr_20 = as_20 * fc1 * fc0 * !a19 * !a18 * !a17 'PMMU, BKPT
+ as_20 * berr_00;
romsel = !a24 * a23 * a22 * a21 * a20 * a19 * a18 * !a17; 'TOS 2.06
!cycle_00 = !a24 * a23 * a22 * a21 * !a20 '$E00000 bis $EFFFFF
+ fc1 * fc0 * !a19 * !a18 * a17 * !a16 'FPU
+ !a24 * a23 * a22 * a21 * a19 * a18 * !a17 'TOS 2.06
+ a24; ' FASTRAM
cpuspace = fc1 * fc0;
csfpu = fc1 * fc0 * !a19 * !a18 * a17 * !a16; 'FPU
%END
--- Ende Code ---
Da ich nie mit Jedi gearbeitet habe wundert mich die Redundanz der PIN Definitionen einmal als Pictogramm und dann über die %PINS Directive.
Aber das ist dann eben mein Problem ;)
romsel selektiert nach meiner Erinnerung mitnichten den ROM-Bereich auf der Hauptplatine, sondern steuert den Zugriff dergestalt, dass bei aktivem ROM-Zugriff (signalisiert per romsel) in einem weiteren GAL ein verkürzter 68000-BUS-Zyklus getriggert wird.
Da Du das TOS auf dem Mainboard aber nur für die ersten paar Zugriffe nutzt ist der Nutzen minimal.
Lukas Frank:
Bevor ich weiter mache möchte ich erstmal die drei Jumper Eingänge am GAL U6 frei haben, sprich keinerlei Jumper mehr an U6.
JP2 = TOS auf dem Mainboard oder auf der PAK brauche ich nicht, soll fest auf TOS auf der PAK sein.
JP3 = Adressraum 24bit oder 32bit braucht es ebenfalls nicht, soll fest auf 32bit stehen
JP4 = FPU ja/nein, braucht nicht. FPU muss/soll immer vorhanden sein genau wie beim Atari TT der bombt ohne FPU.
Die Funktion von JP2 soll jetzt fest gesetzt sein.
JP3 soll offen sein (32bit) und JP4 soll offen sein (FPU vorhanden).
Problem ist das ich mit PALASM nicht arbeiten kann. Bin zu blöd dazu, für die Bedienung. JEDI geht da schon eher. Ich habe jetzt PALASM lauffähig unter OSX und der DOSBOX. Brauche jemanden der mir die Bedienung in groben Zügen erklären kann ...?
--- original U6 PDS -----
--- Code: ---****************************************************************
P20_22.PDS 1779
****************************************************************
;PALASM Design Description
;
; ATARI ST
;
; Address Decoder fr FPU , schnellen ROM Zugriff
; Buserror, CPUSPACE, ...
;
; Jumper 2 : System ROM auf PAK
; 3 : deaktivert PAK Mem , erlaubt die verwendung von
; A24 - A31 als TAG Bits in mancher Software
; ( z.B. Tempus 2.0 )
; 4 : deaktiviert FPU d.h. erzeugt buserror
;
;---------------------------------- Declaration Segment ------------
TITLE PAK 68020-16
PATTERN p20_22
REVISION 1
AUTHOR M.Vlkel
COMPANY GK Computer
DATE 08/10/91
CHIP _p20_22 PALCE20V8
;---------------------------------- PIN Declarations ---------------
PIN 17 /csfpu COMBINATORIAL ; OUTPUT
PIN 18 /cpuspace COMBINATORIAL ; OUTPUT
PIN 19 /cycle_00 COMBINATORIAL ; OUTPUT
PIN 20 /romsel COMBINATORIAL ; OUTPUT
PIN 21 /berr_20 COMBINATORIAL ; OUTPUT
PIN 22 /berr_00 ; INPUT
PIN 23 /as_20 ; INPUT
PIN 11 /jp2 ; INPUT
PIN 15 /jp3 ; INPUT
PIN 16 /jp4 ; INPUT
PIN 1..8 a[16..23] ; INPUT
PIN 9 a29 ; INPUT
PIN 10 a30 ; INPUT
PIN 13 fc0 ; INPUT
PIN 14 fc1 ; INPUT
; ROM Adressen :
; sysrom = Systemrom ATARI FC0000 - FCFFFF
; addmem = " E00000 - EFFFFF
STRING adrFC 'a[23] * a[22] * a[21] * a[20] * a[19] * a[18] '
STRING sysrom '(adrFC * (/a[17]*/a[16] + /a[17]*a[16] + a[17]*/a[16] ))'
STRING addmem '( a[23] * a[22] * a[21] * /a[20] )'
;----------------------------------- Boolean Equation Segment ------
EQUATIONS
MINIMIZE_ON
cycle_00 =/( a30 * /a29 * /JP3
+ sysrom * jp2
+ addmem
+ fc0 * fc1 * /a[16] * a[17] * /a[18] * /a[19] ; fpu
)
romsel = /JP2 * sysrom
csfpu = fc0 * fc1 * /a[19] * /a[18] * a[17] * /a[16] * /JP4 ;
cpuspace = fc0 * fc1 ;
;---------------------------------------------------------------------
; Buserror wird erzeugt bei |
; |
; Buserror vom 68000 System |
; FPU Select wenn JP4 gesteckt d.h. keine FPU im System |
; (erlaubt Software Emulation der Line F Befehle) |
; Breakpoint ACK cycle ( braucht 68851 PMMU ) |
; Access Level fetch " " " |
;---------------------------------------------------------------------
berr_20 = as_20 * ( berr_00
+ fc0 * fc1 * /a[19] * /a[18] * a[17] * /a[16] * JP4
+ fc0 * fc1 * /a[19] * /a[18] * /a[17] * /a[16]
+ fc0 * fc1 * /a[19] * /a[18] * /a[17] * a[16]
);
;----------------------------------- Simulation Segment ------------
SIMULATION
;-------------------------------------------------------------------
--- Ende Code ---
--- Jumper loses U6 1.Versuch -----
--- Code: ---****************************************************************
P20_22.PDS 1779
****************************************************************
;PALASM Design Description
;
; ATARI ST
;
; Address Decoder fr FPU , schnellen ROM Zugriff
; Buserror, CPUSPACE, ...
;
; Jumper 2 : System ROM auf PAK
; 3 : deaktivert PAK Mem , erlaubt die verwendung von
; A24 - A31 als TAG Bits in mancher Software
; ( z.B. Tempus 2.0 )
; 4 : deaktiviert FPU d.h. erzeugt buserror
;
;---------------------------------- Declaration Segment ------------
TITLE PAK 68020-16
PATTERN p20_22
REVISION 1
AUTHOR M.Vlkel
COMPANY GK Computer
DATE 08/10/91
CHIP _p20_22 PALCE20V8
;---------------------------------- PIN Declarations ---------------
PIN 17 /csfpu COMBINATORIAL ; OUTPUT
PIN 18 /cpuspace COMBINATORIAL ; OUTPUT
PIN 19 /cycle_00 COMBINATORIAL ; OUTPUT
PIN 20 /romsel COMBINATORIAL ; OUTPUT
PIN 21 /berr_20 COMBINATORIAL ; OUTPUT
PIN 22 /berr_00 ; INPUT
PIN 23 /as_20 ; INPUT
PIN 11 /jp2 ; INPUT
PIN 15 /jp3 ; INPUT
PIN 16 /jp4 ; INPUT
PIN 1..8 a[16..23] ; INPUT
PIN 9 a29 ; INPUT
PIN 10 a30 ; INPUT
PIN 13 fc0 ; INPUT
PIN 14 fc1 ; INPUT
; ROM Adressen :
; sysrom = Systemrom ATARI FC0000 - FCFFFF
; addmem = " E00000 - EFFFFF
STRING adrFC 'a[23] * a[22] * a[21] * a[20] * a[19] * a[18] '
STRING sysrom '(adrFC * (/a[17]*/a[16] + /a[17]*a[16] + a[17]*/a[16] ))'
STRING addmem '( a[23] * a[22] * a[21] * /a[20] )'
;----------------------------------- Boolean Equation Segment ------
EQUATIONS
MINIMIZE_ON
cycle_00 =/( a30 * /a29
+ sysrom
+ addmem
+ fc0 * fc1 * /a[16] * a[17] * /a[18] * /a[19] ; fpu
)
romsel = sysrom
csfpu = fc0 * fc1 * /a[19] * /a[18] * a[17] * /a[16] ;
cpuspace = fc0 * fc1 ;
;---------------------------------------------------------------------
; Buserror wird erzeugt bei |
; |
; Buserror vom 68000 System |
; FPU Select wenn JP4 gesteckt d.h. keine FPU im System |
; (erlaubt Software Emulation der Line F Befehle) |
; Breakpoint ACK cycle ( braucht 68851 PMMU ) |
; Access Level fetch " " " |
;---------------------------------------------------------------------
berr_20 = as_20 * ( berr_00
+ fc0 * fc1 * /a[19] * /a[18] * a[17] * /a[16]
+ fc0 * fc1 * /a[19] * /a[18] * /a[17] * /a[16]
+ fc0 * fc1 * /a[19] * /a[18] * /a[17] * a[16]
);
;----------------------------------- Simulation Segment ------------
SIMULATION
;-------------------------------------------------------------------
--- Ende Code ---
@joejoe ... bitte ein JED aus der Version ohne Jumper erzeugen zum Testen.
An alle die Ahnung haben, sind die Gleichungen so richtig oder habe ich Fehler gemacht ?
joejoe:
Leichtes Kopfschütteln ;)
Wenn es denn irgendwann einmal läuft, dann kannst Du Dir ja über eine weitergehende Verwendung
der derzeit von den Jumpern belegten GaL Eingängen Gedanken machen.
Ich würde das alles aussen vor lassen, und NUR mit A24 anfangen.
Um Dir weiter zu helfen habe ich ja schon (mehrmals) versucht JEDI-Quellcode zu texten.
Deine Version ohne alle JP in den GAL-Gleichungen, welche ja nach Deiner Aussage den ST korrekt mit PAK/2 laufen läßt, war die Grundlage für meine Version mit zusätzlich A24.
Meine kleinen Meckereien kannst Du ja gern beiseite lassen.
Wenn nun nur A24 hinzu kommt, muß zunächst auch nur die Gleichung ergänzt werden, welche
in U6 für die Umschaltung auf ST-Adressbereich oder PAK/2-32bit Adressbereich zuständig ist, also cycle_00.
Hast Du denn meinen Vorschlag für U6 (basierend auf Deinem Original) mal mit JEDI übersetzt und ausprobiert ?
Auch mit gesetzem JP2 , was ja gleichbedeutend mit A24 dauerhaft "0" wäre?
Das sollte dann genauso funktionieren wie Dein U6, da a24 für den Zugriff auf den ST-Bereich immer "0" sein muss.
Mit entferntem J2 (a24 = "1", per Pullup am GAL) dürfte der ST dann nicht booten.
Wenn das alles klappt, dann würde ich a24 an den GAL-Eingang 11, ehemals JP2, anschließen.
Deine Bitte mit dem PALASM Durchlauf werde ich dann in Kürze erfüllen.
EDIT:
Da wir damit genau genommen keinen einzigen Schritt weiter wären, lasse ich den PALASM-Lauf mit dieser Quelle erstmal aus. Das bringt nichts, s. nächsten Post.
/edit
Gruß Jörg
czietz:
Du kannst nicht einfach alle Vorkommen von JPx und /JPx entfernen, Du musst die Gleichungen schon anpassen, je nachdem ob der Jumper als gesetzt oder als nicht gesetzt angenommen werden soll:
Für einen Jumper "JPx" der gesetzt sein soll, lass alle Produkte stehen die "JPx" enthalten und entferne alle, die "/JPx" enthalten. Für einen Jumper der nicht gesetzt sein soll, genau umgekehrt: Produkte mit "JPx" entfernen, mit "/JPx" stehen lassen.
Beispiel: Aus ...
--- Code: ---berr_20 = as_20 * ( berr_00
+ fc0 * fc1 * /a[19] * /a[18] * a[17] * /a[16] * JP4
+ fc0 * fc1 * /a[19] * /a[18] * /a[17] * /a[16]
+ fc0 * fc1 * /a[19] * /a[18] * /a[17] * a[16]
);
--- Ende Code ---
... wird -- Zitat "JP4 soll offen sein":
--- Code: ---berr_20 = as_20 * ( berr_00
+ fc0 * fc1 * /a[19] * /a[18] * /a[17] * /a[16]
+ fc0 * fc1 * /a[19] * /a[18] * /a[17] * a[16]
);
--- Ende Code ---
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln