ATARI MMUs im Vergleich


ATARI MMUs im Vergleich

von mega-hz » Mi 2. Dez 2009, 15:03
Hallo,

ich habe kürzlich die GAL-Listings der verschiedenen MMU Chips im GDS-Win Format umgeschrieben und dokumentiert,
für einige hardware-Interessierte vielleicht ganz nützlich...
Man beachte, der 1200XL hat zwar kein Basic eingebaut (dafür aber 2x 8KB OS-ROMs), die MMU ist jedoch schon dafür vorbereitet!
Die MMU des 1400XL ist von der Logik her wie eine 800XL, die Pinbelegung ist jedoch anders.

800XL etc.:
Dies ist das MMU-GAL im ATARI 600XL, 800XL, 65XE, 800XE und 130XE.
( ATARI Chipnummer: CO61618 )

GDS Win Format Umsetzung 02.12.2009 mega-hz
----------------------------------------------------------------------------------------------------------------------------------------------------------------*/

CHIP XL80_MMU GAL16V8 SIMPLE_MODE

/*--PINs:---------------------------------------------------------------------------------------------------------------------------------------------------*/

A11 /* 1 Adresse 11 */
A12 /* 2 Adresse 12 */
A13 /* 3 Adresse 13 */
A14 /* 4 Adresse 14 */
A15 /* 5 Adresse 15 */
MAP /* 6 MAP, Selbsttest Rom eiblenden */
RD4 /* 7 RD4 vom Modulport */
RD5 /* 8 RD5 vom Modulport */
REN /* 9 REN, ROM Enable von PIA PB0 */
GND /* 10 Masse */
REF /* 11 Refresh von ANTIC */
S5 /* 12 CS-Signal für $A000-$BFFF am Modulport */
BASIC /* 13 CS-Signal für das BASIC ROM bei $A000-$BFFF */
MPD /* 14 blendet das Matherom (im OS-ROM) von $D800-$DFFF aus */
OS /* 15 CS-Signal für das OS-ROM bei $C000-$FFFF */
CI /* 16 deaktiviert die CAS Leitung z.B. bei Signal PBI-EXTENDB */
IO /* 17 DXXX zum 74138 */
BE /* 18 BASIC ENABLE, von PIA PB1 */
S4 /* 19 CS-Signal für $8000-$9FFF am Modulport */
VCC /* 20 +5V Betriebsspannung */

/*--LOGIC:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/

/S4 = /A13 * /A14 * A15 * RD4 * REF; /* $8000-$9FFF wenn RD4 HI ist (Modul) */
/S5 = A13 * /A14 * A15 * RD5 * REF; /* $A000-$BFFF wenn RD5 HI ist (Modul) */

/IO = A12 * /A11 * /A13 * A14 * A15 * REF; /* $D000-$D7FF zu Pin 4 vom 74138 */

/CI = /A13 * /A14 * A15 * RD4 * REF /* RAM aus bei $8000-$9FFF und RD4 (Modul) */
+ A13 * /A14 * A15 * RD5 * REF /* RAM aus bei $A000-$BFFF und RD5 (Modul) */
+ A13 * /BE * /A14 * A15 * /RD5 * REF /* RAM aus bei $A000-$BFFF und PB1 (Basic) */
+ OS /* RAM aus bei $C000-$FFFF (OS ROM) */
+ A12 * /A11 * /A13 * A14 * A15 * REF /* RAM aus bei $D000-$D7FF (Hardware Chips) */
+ /REF; /* DRAM Refresh */

/OS = A13 * A14 * A15 * REN * REF /*OS ROM CS, $E000-$FFFF (OS-HI) */
+ /A12 * /A13 * A14 * A15 * REN * REF /*OS ROM CS, $C000-$DFFF (OS-LO) */
+ A12 * A11 * /A13 * A14 * A15 * MPD * REN * REF /*OS ROM CS, $D800-$DFFF (MATHEROM) */
+ A12 * /A11 * /A13 * A14 * /A15 * /MAP * REN * REF; /*OS ROM CS, $5000-$57FF (SELFTEST) */

/BASIC = A13 * /BE * /A14 * A15 * /RD5 * REF; /*BASIC CS, $A000-$BFFF, ohne Modul,mit PB1 */

/*-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/


1200XL:
Dies ist das MMU-GAL im ATARI 1200XL.
( ATARI Chipnummer: CO60609 )

GDS Win Format Umsetzung 02.12.2009 mega-hz
----------------------------------------------------------------------------------------------------------------------------------------------------------------*/

CHIP XL12_MMU GAL16V8 SIMPLE_MODE

/*--PINs:---------------------------------------------------------------------------------------------------------------------------------------------------*/

A11 /* 1 Adresse 11 */
A12 /* 2 Adresse 12 */
A13 /* 3 Adresse 13 */
A14 /* 4 Adresse 14 */
A15 /* 5 Adresse 15 */
MAP /* 6 MAP, Selbsttest Rom eiblenden */
RD4 /* 7 RD4 vom Modulport */
RD5 /* 8 RD5 vom Modulport */
REN /* 9 REN, ROM Enable von PIA PB0 */
GND /* 10 Masse */
REF /* 11 Refresh von ANTIC */
S5 /* 12 CS-Signal für $A000-$BFFF am Modulport */
OS_LO /* 13 CS-Signal für das untere OS-ROM bei $C000-$DFFF */
MPD /* 14 blendet das Matherom (im OS-ROM) von $D800-$DFFF aus */
OS_HI /* 15 CS-Signal für das obere OS-ROM bei $E000-$FFFF */
CI /* 16 deaktiviert die CAS Leitung z.B. bei Signal PBI-EXTENDB */
IO /* 17 DXXX zum 74138 */
BE /* 18 Basic Enable (nicht angeschlossen) */
S4 /* 19 CS-Signal für $8000-$9FFF am Modulport */
VCC /* 20 +5V Betriebsspannung */

/*--LOGIC:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/

/S4 = /A13 * /A14 * A15 * RD4 * REF; /* $8000-$9FFF wenn RD4 HI ist (Modul) */
/S5 = A13 * /A14 * A15 * RD5 * REF; /* $A000-$BFFF wenn RD5 HI ist (Modul) */

/IO = A12 * /A11 * /A13 * A14 * A15 * REF; /* $D000-$D7FF zu Pin 4 vom 74138 */

/CI = /A13 * /A14 * A15 * RD4 * REF /* RAM aus bei $8000-$9FFF und RD4 (Modul) */
+ A13 * /A14 * A15 * RD5 * REF /* RAM aus bei $A000-$BFFF und RD5 (Modul) */
+ A13 * /A14 * A15 * /BE * /RD5 * REF /* RAM aus bei $A000-$BFFF und PB1 (Basic) */
+ OS_LO /* RAM aus bei $C000-$DFFF (OS ROM LO) */
+ OS_HI /* RAM aus bei $E000-$FFFF (OS ROM HI) */
+ A12 * /A11 * /A13 * A14 * A15 * REF /* RAM aus bei $D000-$D7FF (Hardware Chips) */
+ /REF; /* DRAM Refresh */

/OS_HI = A13 * A14 * A15 * REN * REF; /*OS ROM CS, $E000-$FFFF (OS-HI) */

/OS_LO = /A12 * /A13 * A14 * A15 * REN * REF /*OS ROM CS, $C000-$DFFF (OS-LO) */
+ A12 * A11 * /A13 * A14 * A15 * MPD * REN * REF /*OS ROM CS, $D800-$DFFF (MATHEROM) */
+ A12 * /A11 * /A13 * A14 * /A15 * /MAP * REN * REF; /*OS ROM CS, $5000-$57FF (SELFTEST) */

/*-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/


1400XL:
----------------------------------------------------------------------------------------------------------------------------------------------------------------*/
Dies ist das MMU-GAL im ATARI 1400XL.
( ATARI Chipnummer: CO????? )

GDS Win Format Umsetzung 02.12.2009 mega-hz
----------------------------------------------------------------------------------------------------------------------------------------------------------------*/

CHIP XL14_MMU GAL16V8 SIMPLE_MODE

/*--PINs:---------------------------------------------------------------------------------------------------------------------------------------------------*/

A15 /* 1 Adresse 15 */
A14 /* 2 Adresse 14 */
A13 /* 3 Adresse 13 */
A12 /* 4 Adresse 12 */
A11 /* 5 Adresse 11 */
RD5 /* 6 RD5 vom Modulport */
RD4 /* 7 RD4 vom Modulport */
REF /* 8 Refresh von ANTIC */
REN /* 9 REN, ROM Enable von PIA PB0 */
GND /* 10 Masse */
BE /* 11 Basic Enable (nicht angeschlossen) */
CI /* 12 deaktiviert die CAS Leitung z.B. bei Signal PBI-EXTENDB */
MAP /* 13 MAP, Selbsttest Rom eiblenden */
MPD /* 14 blendet das Matherom (im OS-ROM) von $D800-$DFFF aus */
BASIC /* 15 CS-Signal für das BASIC-ROM bei $A000-$BFFF */
OS /* 16 CS-Signal für das OS-ROM bei $C000-$FFFF */
IO /* 17 DXXX zum 74138 */
S5 /* 18 CS-Signal für $A000-$BFFF am Modulport */
S4 /* 19 CS-Signal für $8000-$9FFF am Modulport */
VCC /* 20 +5V Betriebsspannung */

/*--LOGIC:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/

/S4 = /A13 * /A14 * A15 * RD4 * REF; /* $8000-$9FFF wenn RD4 HI ist (Modul) */
/S5 = A13 * /A14 * A15 * RD5 * REF; /* $A000-$BFFF wenn RD5 HI ist (Modul) */

/IO = A12 * /A11 * /A13 * A14 * A15 * REF; /* $D000-$D7FF zu Pin 4 vom 74138 */

/CI = /A13 * /A14 * A15 * RD4 * REF /* RAM aus bei $8000-$9FFF und RD4 (Modul) */
+ A13 * /A14 * A15 * RD5 * REF /* RAM aus bei $A000-$BFFF und RD5 (Modul) */
+ A13 * /A14 * A15 * /BE * /RD5 * REF /* RAM aus bei $A000-$BFFF und PB1 (Basic) */
+ OS /* RAM aus bei $C000-$FFFF (OS ROM) */
+ A12 * /A11 * /A13 * A14 * A15 * REF /* RAM aus bei $D000-$D7FF (Hardware Chips) */
+ /REF; /* DRAM Refresh */

/OS = A13 * A14 * A15 * REN * REF /*OS ROM CS, $E000-$FFFF (OS-HI) */
+ /A12 * /A13 * A14 * A15 * REN * REF /*OS ROM CS, $C000-$DFFF (OS-LO) */
+ A12 * A11 * /A13 * A14 * A15 * MPD * REN * REF /*OS ROM CS, $D800-$DFFF (MATHEROM) */
+ A12 * /A11 * /A13 * A14 * /A15 * /MAP * REN * REF; /*OS ROM CS, $5000-$57FF (SELFTEST) */

/BASIC = A13 * /BE * /A14 * A15 * /RD5 * REF; /*BASIC CS, $A000-$BFFF, ohne Modul,mit PB1 */

/*-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/


XEGS:

Dies ist das MMU-GAL im ATARI XEGS.
( ATARI Chipnummer: C101686 )
Die Bankumschaltung erfolgt mit PB6
Die Tastaturerkennung erfolgt über GTIA T2

GDS Win Format Umsetzung 02.12.2009 mega-hz
----------------------------------------------------------------------------------------------------------------------------------------------------------------*/

CHIP XLGS_MMU GAL16V8 SIMPLE_MODE

/*--PINs:---------------------------------------------------------------------------------------------------------------------------------------------------*/

A11 /* 1 Adresse 11 */
A12 /* 2 Adresse 12 */
A13 /* 3 Adresse 13 */
A14 /* 4 Adresse 14 */
A15 /* 5 Adresse 15 */
MAP /* 6 MAP, Selbsttest Rom eiblenden */
RD4 /* 7 RD4 vom Modulport */
RD5 /* 8 RD5 vom Modulport */
REN /* 9 REN, ROM Enable von PIA PB0 */
GND /* 10 Masse */
REF /* 11 Refresh von ANTIC */
S5 /* 12 CS-Signal für $A000-$BFFF am Modulport */
PB6 /* 13 an PIA PB6 */
ROMSEL /* 14 BANK Auswahl am ROM A13 */
OS /* 15 CS-Signal für das ROM (OS,BASIC,MissileCommand)$8000-$FFFF */
CI /* 16 deaktiviert die CAS Leitung */
IO /* 17 DXXX zum 74138 */
BE /* 18 BASIC ENABLE, von PIA PB1 */
S4 /* 19 CS-Signal für $8000-$9FFF am Modulport */
VCC /* 20 +5V Betriebsspannung */

/*--LOGIC:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/

/S4 = /A13 * /A14 * A15 * RD4 * REF; /* $8000-$9FFF wenn RD4 HI ist (Modul) */
/S5 = A13 * /A14 * A15 * RD5 * REF; /* $A000-$BFFF wenn RD5 HI ist (Modul) */

/IO = A12 * /A11 * /A13 * A14 * A15 * REF; /* $D000-$D7FF zu Pin 4 vom 74138 */

/CI = /A13 * /A14 * A15 * RD4 * REF /* RAM aus bei $8000-$9FFF und RD4 (Modul) */
+ A13 * /A14 * A15 * RD5 * REF /* RAM aus bei $A000-$BFFF und RD5 (Modul) */
+ OS /* RAM aus bei $C000-$FFFF (OS ROM) */
+ A12 * /A11 * /A13 * A14 * A15 * REF /* RAM aus bei $D000-$D7FF (Hardware Chips) */
+ /REF; /* DRAM Refresh */

/OS = A13 * A14 * A15 * REN * REF /*32K ROM CS, $E000-$FFFF (OS-HI) */
+ /A12 * /A13 * A14 * A15 * REN * REF /*32K ROM CS, $C000-$DFFF (OS-LO) */
+ A12 * A11 * /A13 * A14 * A15 * REN * REF /*32K ROM CS, $A000-$BFFF (MISSILE COMMAND) */
+ A12 * /A11 * /A13 * A14 * /A15 * /MAP * REN * REF /*32K ROM CS, $5000-$57FF (SELFTEST) */
+ A13 * BE * /A14 * A15 * /RD5 * /PB6 * REF /*32K ROM CS, $A000-BFFF (MISSILE COMMAND) */
+ A13 * /BE * /A14 * A15 * /RD5 * REF; /*32K ROM CS, $A000-$BFFF (BASIC) */

/ROMSEL = A13 * /BE * /A14 /*A13 vom 32K ROM, Bankauswahl */
+ A13 * A14;

/*-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/



Die GAL Dateien im GDS-Win Format sowie die JEDEC Dateien zum brennen gibts hier: ATARI MMUs

Re: ATARI MMUs im Vergleich

von tfhh » Di 7. Dez 2010, 22:54
Moin,

da ich mal wieder eine defekte MMU hatte und bisher mein fertiges JEDEC-File (noch erstellt auf dem Atari ST mit dem Maxon GAL Prommer und "JEDI") stets verwendete, wollte ich nun mal Dein GDS-Win-File testen. Funzt nicht :(

Fehler war relativ schnell gefunden: Einmal muß natürlich der rückgeführte OS-Ausgang negiert werden, damit CAS-Inhibit ausgelöst wird, sowie das OS-ROM angesprochen wird, zum anderen muß das GAL im COMPLEX_MODE assembliert werden, sonst funktioniert die Rückführung des OS-Ausgangs in die Gleichung zu CI nicht.

Korrigierte und erfolgreich getestete Version:

Code: Alles auswählen
CHIP   MMU800XL   GAL16V8   COMPLEX_MODE

A11  A12  A13    A14  A15  MAP  RD4  RD5  REN  GND
REF  S5   BASIC  MPD  OS   CI   IO   BE   S4   VCC

/S4 = /A13 & /A14 & A15 & RD4 & REF;
/S5 = A13 & /A14 & A15 & RD5 & REF;

/IO = A12 & /A11 & /A13 & A14 & A15 & REF;

/OS = A13 & A14 & A15 & REN & REF
    + /A12 & /A13 & A14 & A15 & REN & REF
    + A12 & A11 & /A13 & A14 & A15 & MPD & REN & REF
    + A12 & /A11 & /A13 & A14 & /A15 & /MAP & REN & REF;

/CI = /A13 & /A14 & A15 & RD4 & REF
    + A13 & /A14 & A15 & RD5 & REF
    + A13 & /BE & /A14 & A15 & /RD5 & REF
    + /OS
    + A12 & /A11 & /A13 & A14 & A15 & REF
    + /REF;

/BASIC = A13 & /BE & /A14 & A15 & /RD5 & REF;


Gruß, Jürgen

Re: ATARI MMUs im Vergleich

von mega-hz » Mi 8. Dez 2010, 04:59
oh, danke!