072
20.12.2010, 15:09 Uhr
Z80-Nostalgiker
|
@ RT-Gemeinde und besonders alle AC1-Fans:
Das Jahr neigt sich dem Ende zu und Norbert macht wohlverdienten Urlaub. Leider darf das neue Baby nicht mit ;-( aber ich werde natürlich soweit es geht mitlesen, kann aber erst in 2011 wieder so richtig starten.
<Gruß an> Allen denen ich nicht schon persönlich alles Gute gewünscht habe hiermit:
Besinnliche Feiertage mit der Familie und Freunden, einen guten Rutsch ins neue Jahr und besonders Gesundheit, damit wir alle unserem schönen Hobby auch weiterhin frönen können !! <Gruß aus>
So, jetzt noch meine bisherigen Erfahrungen verbunden mit Hinweisen, Fragen und Einlassungen auf weiter oben genannte Probleme:
Scheinbar ist mein Baby bisher dasjenige mit dem bisher größten Geburtsgewicht und Größe (*freu*): #1: 19" Gehäuse mit (mod. ATX-) Netzteil und Rückplatine sowie jeweils bestückter #2: BWS Platine #3: CPU Platine #4: I/O Platine #5: 64K-RAM Platine
Hier gleich eine Bitte/Hinweis an Andreas und Michael, wenn die Floppyplatine bestellt wird: Andreas hat mal eine Busverlängerung (1:1 entspr. 64pol. Stecker) vorgestellt, diese wäre extrem hilfreich, um an einer im Gehäuse gesteckten Platine zu messen. Evtl. sollten hier auf den Datenleitungen Reflex-R´s (22..33 Ohm), die bei Bedarf bestückt oder halt gebrückt werden sowie Abblock-C (100..220µF und 100..470 nF) noch vorgesehen werden. Bestellung dann sinnvoll mit FDC zusammen.
zu #1: Das Gehäuse wird ja jeder selbst nach Verfügbarkeit nehmen, sinnvoll ist von Anfang an eine gewisse Stabilität beim Versuchsaufbau und Messen. Als Netzteil reicht zu Beginn 5P mit 4..5A, für Erweiterungen darfs auch mehr sein und dann natürlich auch 12P/ 12N (z.B. V.24) sowie 5N (alte ROM) und 3,3P (SD) für Experimente.
Die INT-Priorisierung wird zu Anfang noch nicht benötigt und kann auch später gebaut werden. Wichtig sind jedoch die entsprechenden Unterbrechungen der Leiterzüge nach Plan und das Durchklingeln aller Leitungen auf Verbindungen/ Schlüsse mit Durchgangsprüfer/ DMM.
zu #2: Der BWS ist essentiell für alle weiteren Aufbauten. Er stellt die Taktversorgung bereit und ermöglicht überhaupt eine Kontrolle am Bildschirm. Ich habe alle Frequenzen an V1..V5 (mit DMM) gemessen und kann die Einhaltung laut Ur-AC1 bestätigen.
Für die schnelle Kontrolle : Pin2/V1 - 4 MHz (Basis für CPU und I/O; 2 MHz nach Teiler IC3A) Pin2/V3 - ca. 15,8 kHz (vert.) Pin7/V5 - ca. 50 Hz (horiz.)
Ich habe auch die Taktherabsetzung nach FA 10/84 S.508 für die CPU ausprobiert: bei mir negativ bei Anschluß an X13 (= Pin 7/V4). Hier stehen knapp 1 kHz, offensichtlich eine fehlerhafte Angabe im seinerzeitigen Tip (1,9 kHz nach Teilung).
Allerdings funktioniert es an Pin 3/V4 (ca. 7,9 kHz). Natürlich muß bei diesem Test die originale Taktverbindung von Pin5/IC3 zum Stecker A25 unterbrochen und A25 an den testweisen Takt geschalten werden.
Bei gesteckter CPU und Mon-ROM ist schön das Löschen des BWS (des Zufallsmusters) und anschließend die Ausgabe der Monitormeldung zu verfolgen. Übrigens wird im (ursprünglichen) Mon.V.3.1 der BWS von der niedrigsten BWS-Adresse (1000h - rechts unten) zu höchsten (17FFh - links oben) gelöscht, im Mon.V.10/88 umgekehrt. Monitormeldung erfolgt beide Male in normaler europäischer Schreibrichtung.
In diesem Zusammenhang zu Post (041) von Bübchen i.V.m. der nachfolgenden Diskussion: Es ist unerheblich ob als 4-zu-2-MUXER der LS158 oder LS157 (257 = tristate) genommen wird, funktioniert alles (selbst getestet mit LS158 und DL257)! Die MUXER beschreiben den BWS einmal mit Daten von der CPU (adressiert über negierten AB) und die Bildschirmsteuerung liest diese entsprechend (fest verdrahtetem) Zeitzyklus aus. Ob die MUXER das Ganze negieren, ist nur für die tatsächliche physische Speicherstelle innerhalb des RAM interessant, geschrieben und gelesen wird immer Die jeweils richtige Adresse innerhalb des BWS.
zu #3: Bei der Inbetriebnahme der CPU ist neben der oben beschriebenen Taktherabsetzung die zyklische Pegelkontrolle mit Oszi beim Abarbeiten des RST38h-Befehls (vgl. auch FA 09/84 S.456 ff.) sinnvoll. Dazu muß allerdings der Z80 auch den Befehlscode FFh (RST38h) lesen können. Das geschieht, wenn bei fehlendem Mon.-ROM auf dem DB FFh statisch anliegt. Hierfür benutzt man die in Post (064) von Ralph genannten Pullup-R´s (ca. 4,7k).
Diese werden busseitig am IC11 (LS245) jeweils von DB0..7 (Pin 11..18) gegen 5P geschaltet. Damit sind dann die Oszillogramme laut FA nachweisbar und der ganze Speicher (und damit auch der Bildschirm) wird zyklisch mit dem Code „39 00 h“ beschrieben. Wie das konkret aussieht ist etwas vom verwendeten Zeichengenerator abhängig, bei mir steckt in der Aufbau/Testphase der (aktuelle) ZG 2K von Johanns Seite und damit sehe ich gleichmäßige Spalten abwechseld aus „Leerzeichen“ (00h wird in der Ausgaberoutine nicht dargestellt) und „9“.
zu #4: Die I/O Platine funktioniert noch nicht wie gewünscht (siehe mein Frust-Post weiter oben vom 17.12.): Die PS/2-Tastatur resettet zyklisch selbst. Außerdem ist nur sporadisch der auf dem Bildschirm angezeigte Mon.-Befehl auch mit <ENTER> auszuführen. Feinschlüsse im AB sowie DB kann ich ausschließen, gleichfalls in der Verbindung vom PIO zum PIC. Scrollen der Speicheranzeige (mit Mon.: D) geht bis zur vorletzten Zeile, dann erfolgt ja die Verschiebung des Bildschirminhalts um 64 Byte mittels Blockladebefehl und das bringt bei mir Datenmüll zu Anzeige (= Lesefehler im BWS), außer natürlich der aktuellen untersten Zeile.
Wahrscheinlich ist dieser Effekt eine Kombination aus zwei Fehlerquellen: Zeitprobleme beim Lesen aus dem BWS, der ja als Befehlszwischenspeicher dient und Taktung des PIC. Tatsächlich ist der von Bübchen (Post 063) angesprochene Fehler auch bei mir nachweisbar. Der Takt liegt trotz 20 MHz Quarz bei gemessenen 1,8 MHz direkt an Pin 8 vom IC8(LS04) sowie unerklärlicherweise 4,75 MHz direkt an Pin 13 vom PIC (direkter Leiterzug).
Wolfgang, danke für Dein nettes Angebot, aber da ich die nächste Zeit unterwegs bin und auch noch weitere Fehlbestände entdeckt habe, bestelle ich den Quarz gleich als fertigen Oszillator in diesem Zuge mit.
zu #5: RAM scheint soweit zu laufen, leider kann ich wegen der in #4 beschriebenen Probleme nicht richtig testen (Portausgabe auf 1Eh ist z.B. momentan nicht als Befehl eingebbar), Abschalten von LOWRAM und HIRAM mit entspr. Anzeige geht, beschreiben/ anzeigen einzelner Zellen ebenfalls.
@Michael: Das Problem mit den Fassungen löse ich dadurch, daß ich für originale DDR-IS solche mit Federkontakten nehme (Toleranz in der Breite). Für öfter mal zu wechselnde IS (ROM etc.) Präzisionskontakte, alles immer i.V.m. einem PIN-Ausrichter.
@Madu55: Gottfried, ich könnte Dir die ROM brennen, bin jedoch erst in der zweiten Januardekade wieder am Platz. Vielleicht ist ein anderer Kollege so nett ....
@alle: Schreibfehler könnt ihr gern behalten, Hinweise und Tips sind willkommen!
@Wusel_1 und Johann: Gern kann mein Erguß auf der AC1-Seite im Rahmen des Projektes verwendet werden
In diesem Sinne bis die Tage ....
PS: jetzt hab ich den Text extern erstellt, um das leidige Editieren zu vermeiden, leider sind doch wieder einige Zeilen aus der Reihe getanzt, wurscht, das bleibt jetzt so, ich hoffe ihr könnts lesen ;-) (Edit2: doch korrigiert ...) -- MfG Norbert
***************************************************************** Und also sprach Bill Gates: Lasst uns einen grafischen Virus programmieren .... ***************************************************************** Dieser Beitrag wurde am 20.12.2010 um 15:40 Uhr von Z80-Nostalgiker editiert. |