Hallo, habe ein kleines Problem mit einem 6809 System,nach dem Einschalten oder Reset startet der Computer nicht sondern taktet nur auf den Adressleitungen, der Prozessor zählt immer den Adressbereich durch. Woran kann das liegen habe fast schon alle Teile durchgetestet.. Jeder Tip währe hilfreich.. Gruß Joachim
Hallo, klar nicht drangedacht, ist ein Superpet von Commodore, Pläne unter http://www.zimmers.net/anonftp/pub/cbm/schematics/computers/pet/SuperPET/index.html Es ist ein zwei CPU System der 6502 Teil startet, beim Umschalten auf den 6809 passiert das oben beschriebene. Eproms schon komplett getauscht, genau wie die Dekodierung der CE Auswahl der Eproms.... Gruß Joachim
"der Prozessor zählt immer den Adressbereich durch." Na das ist doch ein gutes Zeichen, dann läuft doch schon was, nur noch nicht wie gewünscht? Gruß Dietmar
"Schematic of the 6809 system board" kann ich vom angegebenen Link aus nicht laden. Sind die Daten dort vorhanden? Gruß Dietmar
Ohne jetzt diese ganzen Schaltpläne durchgelesen zu haben... Im Prinzip hast Du schon genau da geschaut, wo ich es auch tun würde: EProms / Dekodierung. Wenn der Prozessor die Adressleitungen durchtickert, läuft er eigentlich schon. Du wirst wohl nicht drumherum kommen, alle Adress- und Datenleitungen auf Verbindung und Kurzschluss zu prüfen. Könnte bei so einer alten Kiste auch ein fauler Kondensator irgendwo auf dem Board sein. Ich würde mir mit dem Oszi mal genau die Form der Signale anschauen, manchmal hat man Glück und findet einen faulen Kandidaten durch verschliffene Signale oder eine "versaute" Betriebsspannung. Wenn das alles nichts hilft, dann auf die harte Tour: Den 6809 raus und ein Simulatorboard bauen, mit dem man gezielt Adressbereiche anwählen kann, um die richtige Anwahl der EProms zu checken. Ist denn der Inhalt der EProms schon gecheckt worden? Je nach Lagerung können die schonmal etwas "vergessen".
Hallo Dietmar und thkais, Danke mal für eure Antworten. Dietmar der Links funzt und die Daten sind vorhanden da muss was bei dir nicht funktionieren. Nur zu thkais, der Inhalt der Eproms ist einerseits in Ordnung verglichen mit Inhalt aus dem Internett und zur Zeit sitzen neugebrannte Eproms drinn. Das mit den Adress und Datenleitungen muss ich heute dann mal genau untersuchen, da ja das Grundsystem mit dem 6502 läuft und der 6809 sobald er läuft auch diese Komponenten benutzt, auser die Eproms des 6502 Systems, bin ich mal von davon ausgegangen das zumindest dieser Teil in Ordnung ist. Auch die Betriebsspsannubg hab ich mit Multimeter und Ozi untersucht und für gut befunden. Nun noch eine Andere Frage an jemand der sich mit der Programierung des 6809 auskennt, wie müssen Daten aussehen damit die CPU in einer Schleife läuft, kann ich bei den Vektoren am ende von F000 einfach die Zeiger auf F000 setzen und dort dann einen Sprungbefehl auf sich selbst setzten JMP $F000 so das er sich dort totläuft....? Gruß Joachim
Zunächst mal: Das geschilderte Verhalten des Hochzählens auf den Adressleitungen ist die Folge eines undokumentierten Befehls (oft "hold and catch fire" genannt). Damit lassen sich mit einem Oszilloskop hervorragend alle Adressdecoder etc. testen, da linear aufsteigend alle möglichen Adressmuster an diese angelegt werden. Die zweite Frage nach der Programmierung: Wenn ich mich recht erinnere, liegt der Resetvektor bei $FFFE. Damit Dein "Programm" bei $F000 angesprungen wird, muss also der Resetvektor auf eben diese Adresse zeigen, damit ist [$FFFE] = $F0 und [$FFFF] = $FF Und das "Programm" selbst muss in der Tat aus nichts weiterem als einem Sprungbefehl auf sich selbst bestehen: org $F000 jmp $F000 $7E $F0 $00 (hier muss "extended" Adressing mit vollem 16-Bit-Operand eingesetzt werden, da das DirectPage-Register nach einem Reset auf $00 gesetzt ist) Wenn dieses sinnvolle "Programm" auch mittels der anderen Vektoren aufgerufen werden soll, müssen auch die auf $F000 verweisen - also NMI auf $FFFC, SWI auf $FFFA, IRQ auf $FFF8, FIRQ auf $FFF6, SWI2 auf $FFF4 und SWI3 auf $FFF2 entsprechend dem Resetvektor setzen. Abschließend: Du hast Dir da so ziemlich den schönsten aller 8-Bit-Prozessoren ausgesucht - was möchtest Du damit genau machen?
Was für eine 6502 ist es denn genau? Die weitaus meisten 6502-Versionen sind nicht in der Lage, ihren Adressbus freizugeben, wodurch ein Konflikt mit der 6809-CPU entsteht. Zumindest existiert kein dokumentiertes Signal dazu. Die Schaltung benutzt dafür Pin 5, der dort und anderswo als NC (not connected) bezeichnet wird. Interessant. Die einzige mir bekannte Version, die das konnte, war die WDC W65C02S, aber da liegt BE auf Pin 36.
Oha, ich seh's grad - der schaltet die 6502 komplett ab, Strom weg. Ich bin einigermassen erstaunt, dass dies funktionieren soll.
Hallo alle, Zuerst noch mal zu dem Computer, es ist ein Commodore Superpet, der als Grundplatine einen CBM 8032 hat auf diesen sind im Hukepackverfahren zwei zusätzlich Platinen aufgestockt. Auf der Mittleren befindet sich der 6809, 6502 Eproms für den 6809 und die Adressdekodierung.. Die oberste ist eine 64k Ramplatine... Vor mir haben diesen Computer schon zwei Stück für Reparaturversuche gehabt, das mag ich eigendlich überhaupt nicht wo schon rumgefuschelt wurde. Ein Fehler eines meiner Vorgänger war zum Beispiel das er einen SN74S08 mit einem SN74LS08 vertauscht hat, und das mag der Computer nicht an einer Bestimmten Stelle will der einen SN74S08, mit dem SN74LS08 funkt es nicht. Nun da ich diesen Chip getauscht hab und diese Superrom gebrannt hab mit F000 als Vektoren und JMP $F000 an $F000 läuft sich der 6809 an dieser Stelle fest und dieses Durchtakten ist weg. Ja Rufus du meintest "damit ist [$FFFE] = $F0 und [$FFFF] = $FF" richtig ist so wie ich es getestet und verstanden hab das beim 6809 erst das Hi und dann erst das Lo Byte kommt $FFFE = §F0 und $FFFF = $00... war ein kleiner Typfehler.. Und zu A.K. da hab ich auch nicht schlecht geschaut als ich das durchschaute dieses einfache Abschalten der +5Volt... Auch eine Firma wie Commodore hat damals getrickst.... Jetzt weis ich zumindest mal das der 6809 läuft und auch macht was er soll, jetzt gehts weiter mit den anderen Eproms am einfachsten Programiere ich alle Eproms im Kreis und sehe ob alle angesprochen werden. Das Eprom Bei A000 mit JMP B000 von dort JMP C000 ----und bei F000 JMP A000.. Gruß Joachim Gruß Jogi
Sind die ICs gesockelt? Sind es Präzisions- oder Billigsockel. Letztere oxidieren leicht und sind für unerklärliche Phänomene prädestiniert.
Hallo, hab den fehler gefunden, Danke für alle Ratschläge wurden teilweise verwendet oder darüber nachgedacht..War gut um etwas Abstand zu bekommen da man sich sonnst in eine fixe Idee verrennt. Der Fehler war folgender, der Computer besteht ja aus zwei Systemen einmal den 6502 und zweitens der 6809e... Da beide CPU auf den gleichen Adressbuss zugreifen, werden die Eproms des 6502 und des 6809 beim jeweiligen Proz. zugeschaltet und die des anderen Abgeschaltet, der 6502 (CBM8032) benutzt dazu die CS2 Leitung der 2332 Eproms, nun hat mein Vorgänger(repraturversuch)ein 60Hz Kernal gegen ein 50Hz Kernal getauscht, nur benutzte er dazu ein 2516 Eprom. Dieses 2516 Eprom hat aber diese CS2 Leitung nicht, somit lief dieses Eprom immer parallel zum Adressgleichen des 6809 Systems. Dem Grundsystem macht dieses Eprom nichts aus da die CS2 Leitung im normalfall nicht benutzt wird, und für Erweiterungen gedacht, um die Eproms abzuschalten. Schalte ich aber in das 6809 System, bekomme ich das Problem das immer wenn ich auf E000 zugreife gleichzeitig das E000 Eprom des 6502 Systems auch angesprochen wird, und das gibt Datensalat auf dem Datenbus.... Hatte er mir vergesen zu Sagen, naja hat mich nur fast an den Rand des Verzweifelns gebracht, da ich mich auf Ozi und Logicstifft begnügen musste...Und selbstgebrannte Testroms.... Er meinte das währe nicht wichtig gewesen da ja der 6502 teil läuft.... Meine Lösung letztendlich ist da ich keine 2332 Eproms hab, bilde ich mir aus OE und CS ein neues OE Signal und es funktioniert... Einsatz ein 74LS00.... Gruß Joachim..
Freut mich sehr für Dich! Ab und zu bastle ich auch noch mit solchen Schaltungen (Williams- & Gottlieb-Flipper-Platinen). Daher kenne ich die Problematik mit den CS etc. Aber wer denkt denn an sowas?? Tolle Leistung auf jeden Fall, Gratulation! CBM8032 kommt mir auch recht bekannt vor. Ist schon Jahrzehnte her.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.