65C02 CPU im Atari, Erklärung der Schaltung. Zuerst den einfachen Teil, die extra PIA: Die PIA hat insgesamt 3 Chip select Leitungen, von denen der Atari nur eine nutzt, die CS0 an Pin 23 mit Active Low. Die anderen 2 sind Actice High und an Vcc angeschlossen. Die PIA benutzt nur vier Adressen aber die MMU (Memory Management Unit) reser-viert 256 Bytes in $D300 bis $D3FF. Um eine extra PIA zu selectieren wird die A7-Leitung vom IC9 (74LS04 Pin9 - Pin8) invertiert. Diese A7-Leitung selectiert die originale PIA Pin22 (CS0) die invertierte A7-Leitung selectiert die extra PIA (CS0). Die originale PIA ist jetzt an Adresse $D300 bis $D37F, die extra PIA an Adresse $D380 bis $D3FF. Wichtig: Um den extra PIA U8 zu benutzen trenne die Leiter- bahn vom Sockel U7 Pin22 zur (originalen) PIA U7 Pin22. Zusatz: Dies könnte weiter benutzt werden mit der A6-Leitung und dem Inverter Pin5 - Pin6. Der Speicherplatz würde dann in 4 Bereiche aufgeteilt: $D300 - $D33F, $D340 - $D37F, $D380 - $D3BF, $D3C0 - $D3FF. Der PIA Pin24 (CS1) müsste dafür benutzt werden. Diese Leitung müsste getrennt werden und dann PIA Pin24 an die invertierte A6-Leitung angeschlos- sen werden. Alle Programme würden korr-rekt arbeiten und auf die neuen extra PIA könnte über $D340 bis $D37F und $D3C0 bis $D3FF zugegriffen werden. Der RTC ist ein OKI MSM5832. Er ist angeschlossen an Port B der extra PIA. Der Source Code der Treiber macht klar wie er benutzt wird und erklärt wie zu programieren ist. Zur Batterie: 3 NiCad oder NiMh Cellen mit insgesamt 3,6 Volt sind ausreichend. R7 bestimmt den Ladestrom der Batterie. D1 ist wegen wenig Spannungsverlust eine AA119. D2 darf auch ein Silicium Diode sein (Ladestrom nicht zu gross!). Der andere PIA Port kann für einen Centronics Port (Printer) benutzt werden. Die Datenleitungen sind mit einem 74LS244 gebuffert. Strobe und Busy sind mit 74LS04 (U9) gebuffert. Wie die PIA zu programmieren ist kann aus dem Datenblatt 6520 oder 6821 (gleicher Chip) entnommen werden. Der nächste Teil ist schwieriger, der 65C02 Prozessor. Beide CPU, die original 6502C und die 65C02 haben eine begrenztes Treiber-Kapazität (Fan-out). Das ist einer der Gründe für die Buffer 74F244 und 74F245. Diese können auch 74LS oder 74ALS oder 74HCT sein (74S ist ungetestet, sollte aber auch funktionieren). Die Buffer koönnen auch in Tri-State zustand kommen (Isolation zwischen Input und Output). Dies ist erforderlich wenn die HALT-Leitung vom ANTIC aktiviert wird um der CPU zu signalisieren dass der ANTIC Zugriff auf den BUS benötigt. HALT ist active Low und das Signal ist gelatcht vom U2 (halber 74LS74). Wenn Q1 clock auf high geht ist das Signal gelatcht. Der invertierte Ausgang des Latches geht auf "High" und schaltet die Buffer, die R/W Leitung und Clock-in zur CPU ab. Ist nun das Clock-Signal gestoppt, friert die CPU ein und ist dabei statisch so dass kein Clock benötigt wird um die Register zu refreshen. Dies hatte auch schon der 6502C Prozessor. Der letzte Teil ist die Generierung des Q1 und Q2 der zweiten hälfte von U2 (74LS74). Der LS02 invertiert das Q0-Signal das original für die CPU war. Das Q0 und das invertierte Q0 schalten die SET und RESET leitungen des LS74 und der generiert die nicht überlappenden Clock-Signale Q1 und Q2. Diese signale werden nicht gestoppt wenn Halt aktiv ist. Nur der Takt der CPU stoppt dann. Das Bus-timing ist hier kritisch, andere 74-Typen könnten nicht funktionieren.