Sirius 1 / Victor 9000 - keine Funktion, was tun?

  • Na das könnte doch wieder so eine Loop sein, in der 'n Fehhlercode ausgegeben wird - allerings müsste es dann wohl ein OUT DX,AX sein (also 16bittig - wg. Doppelzugriff) - ihr könnt ja mal in den Sourcen schauen, ob derartige Fehler-Loops mit einem OUT.DX,AX vorkommen.
    Als nächstes dann die weiteren Bits feststellen! ==> xxxx xxx1 xxxx xxx1

  • Die vielen Interessierten hier im Forum haben mich motiviert endlich einen schon lange geplanten Blog über den Sirius zu starten.


    http://sirius1victor9000.blogspot.de/



    Dort habe ich unter anderem ein paar Schematics hinterlegt. Ich bin mir nicht sicher, ob die schon alle bekannt bzw. vorhanden sind. Aber in jedem Fall sollten sie hilfreich sein. Seite 16 enthält auch den 8088.


    Im Falle eines Universal ROM Fatal Error Loop, wird übrigens immer mit DX=FFFF auf den I/O Port geschrieben. AL enthält dann den Fehlercode.

  • Bei einem OUT DX,AL auf eine gerade Adresse bleibt das Signal /BHE (Bus High Enable) inaktiv, legt also den obern Teil des Busses eigentlich "lahm" - infolge dessen müsste ein 8088 diesen deaktivierten Teil des 8086-Zugriffs auch nicht "emulieren".
    Ein erster Eindruck sagt mir aber, dass es sich die Intel-Leute da sehr einfach gemacht haben und die Möglichkeit, das Bustiming, geschwindigkeitsfördernd ordentlich optimieren zu können, total ungenutzt gelassen haben.

  • Andererseits hat der 8088 gar kein /BHE-Signal - die Intel-Leute konnten es sich also gar nicht "leicht gemacht" haben - es wäre von außen nicht möglich, aktive und inaktive Buszyklen zu unterscheiden. Die Oszi-Aufnahme zeigt also eine 16-bit Zugriff oder zwei aufeinanderfolgende 8-bit-Zugriffe!

  • Das BHE macht doch beim 8088 auch gar keinen Sinn, da es ja nur D0 bis D7 gibt. Im Prinzip stellt also jeder 16-Bit Zugriff zwei aufeinanderfolgende 8-Bit Zugriffe dar. Hilft aber bei der Interpretation der Aufnahme auch nicht weiter :)

  • sirius1victor9000: Danke für die Pläne in Deinem Blog. Hab ich schon ausgedruckt und will mir die jetzt vornehmen. :)


    Aber erst mal was anderes, praktisches: Wie macht ihr das beim Messen? Ist einfach lästig das die Diskunit eingesteckt sein muss. Ich hab da ne Lösung mit Panzerband realisiert, aber das ist einfach nicht das Gelbe vom Ei. Werde mal probieren ob ein längeres Flachbandkabel dazwischen Abhilfe schafft so das man das Ding neben den Sirius kriegt...



    Viele Grüße
    Andreas

  • Es zuckt was! Beim Umbauen auf ein längeres Flachbandkabel ist mir aufgefallen das mir wohl der Monitorstecker rausgerutscht war. Hab den wieder drauf. Seltsames Geräusch. Ich sehe den Monitor nicht ständig. Hab ein Video gemacht:


    IMG_1055.MOV


    Die Sequenz wiederholt sich zyklisch, dauert ca. 10s.


    Wahrscheinlich hat sich die Änderung durch den Einbau des neuen Roms ergeben, ich glaub die Eproms die drin waren sind hin. Ideen?


    Viele Grüße
    Andreas

  • 6845? Ist da überhaupt einer eingebaut?


    Aber ich hab gerade was wilderes gefunden.... argghhh. Aus den Plänen zu CPU & BUS CONTROL (die mir bisher fehlten) geht hervor das man zwischen 64k ROM in 7H und 2x 2732A in 7H und 5H umjumpern muss! (also Leiterbahnen trennen und neu zusammenlöten wo Jumper rein könnten). Der andere Sirius hat natürlich 8 kB ROM, da hab ich mein Adapterrom ja auch erfolgreich probiert. Meine Maschine hatte die 2x 2732A. Und ja, die Leiterbahnen waren genau andersrum verbunden. Hab das jetzt geändert. Leider immer noch kein Erfolg, aber das Gezappel auf dem Bildschirm aus dem Film ist weg. Jetzt ist wieder ganz tot. Aber ich werde morgen nochmal neue Oszishots aufnehmen ob die nun anderes aussehen...


    Viele Grüße
    Andreas

  • Den 6845 hab ich mittlerweile auch gefunden. Das stand in der zweiten Zeile auf dem Chip. :) Von Hitachi.
    Die Monitore tausche ich nochmal gegen und suche heute abend weiter.


    Viele Grüße
    Andreas

  • Habe mir das mit dem Jumper gerade nochmal angeschaut. Bist du dir sicher, dass das so richtig ist? Wenn ich das richtig interpretiere, hast du anstatt der zwei 2732 a 4KB jetzt einen 8KB. Die alternativen Jumper auf dem Schaltplan sprechen aber von 64K. Könnte es sein, dass das ROM dann bei Adresse F0000 platziert wird? Dann kann es eigentlich nicht funktionieren. Oder bin ich gerade komplett auf dem falschen Dampfer?

  • Nach genauerem Hinsehen, macht das nicht so richtig Sinn was ich eben geschrieben habe. Die Jumper regeln nur den Chipselect und die Übersetzung der A11 bis A13 Adressen in A11/A12 bei den 4K Varianten. 64K im Plan bezieht sich natürlich auf 2764K ... Hat mich irgendwie verwirrt.

  • Ja, ich bin auch erst über das 64k gestolpert, aber ich denke da war 64 kbit gemeint. Man denkt halt mittlerweile in anderen Dimensionen.


    Für die weitere Vorgehensweise - offenbar rennt der Sirius ja in ein Problem bevor Video und Diskdrives initialisiert sind. Wie kann man da die Möglichkeiten abklappern? Romlisting? Verzweigt die Maschine in eine Fehlerbehandlung oder wo läuft der Prozessor hin?


    Viele Grüße
    Andreas

  • Hallo,
    man müsste prüfen an welcher Adresse das ROM in einen Loop geht, bzw. falls es ein Universal ROM ist, welcher Wert auf den I/O Bus gesendet wird (mit OUT DX=0FFFFh,AL). Wenn der Rechner in einer solchen Schleife hängt, müssten regelmäßige Muster auf A0-A19 bzw. D0-D7 zu erkennen sein, die man dann auswerten kann. Da du selber ROMs brennst, wäre natürlich auch eine Möglichkeit sich schnell ein eigenes Diagnose ROM zusammenzubasteln, das z.B. über die LEDs an den Diskdrives (als eine Art Morsecode o.ä :) ) eine Statusmeldung gibt, falls kein Signal auf dem Monitor erzeugt werden kann. Allzu aufwendig sollte das im ersten Schritt nicht sein.
    Leuchten die LEDs mit dem neuen ROM eigentlich immer noch nach dem Einschalten? Welche ROM Version verwendest du im Moment?


    Gruß,
    Axel

  • Hallo,


    ich hab das Universal F3F7 drin. Die LEDs der Drives leuchten immer noch beide dauerhaft nach dem Einschalten. EIgenes Diagnoserom zu bauen - das ist zumindest momentan noch zu kompliziert für mich, da ich in der 8088 Assemblerwelt nicht so drinstecke (komme halt von 65xx / 68xxx Geräten). ich hab an verschiedenen Stellen gemessen und versuche Teile der Schaltung zu verstehen. Mir ist aufgefallen das am Prozessor INTR (Pin 18) dauerhaft HIGH ist - da soll sicher nicht so sein. Aber ich muss mal an eure vorgeschlagene Messung WR/Datenleitungen für Fehlercode gehen - aber dafür bin ich heute abend schon zu müde.


    Viele Grüße
    Andreas

  • So, ich hab jetzt mal ein paar Messung gemacht.
    - Boot ROM F3F7
    - gelb: Trigger auf Kanal 1, WR Pin 29, 4,6µ Pulse Width
    - blau: Adress/Datenbus


    Man sieht einen Loop bei WR, das wiederholt sich kurz.
    Von http://www.actsirius1.co.uk/ Boot ROM:



    Das Problem muss doch bei 3 - 5 liegen? Apropos 5, wo kommt das character set eigentlich her?
    Könnt ihr mit den Oszi-Shots mir weiterhelfen? Ich versuch mich jetzt auch mal am bitzählen...


    Viele Grüße
    Andreas

  • Ich hab nochmal versucht bessere Bilder zu machen - und die Machine ging heute in eine einfachere Sequenz (warum auch immer):








    Viele Grüße
    Andreas

  • Das ist ziemlich sicher ein Zugriff auf 0x0FFFF mit dem Wert 02!
    Die Adresse ist zum Zeitpunkt der gelben Linie zu nehmen, die Daten zum Zeitpunkt der blauen Linie.
    Das zweite Bild (AD2) zeigt dann auch den Fall, bei dem das Ablesen der Adresse etwas zum Ratespiel wird, wenn die zeitliche Auflösumng etwas gering ist und eine parallele Darstellung von ALE fehlt (wozu man nat. ein 4-kanal Oszi benötgt) - deshalb besser mit einer höheren zeitlichen Auflösung arbeiten.
    Achja - und den Triggerzeitpunkt bei dieser Messung besser in die Bildmitte.

  • Hallo,


    die Werte der zweiten Messung hören sich auf jeden Fall logischer an.
    Wenn es wirklich FFFF,02 ist, würde das einen Fehler der ROM Checksum bedeuten. Melde mich später nochmal dazu.


    Gruß,
    Axel

  • OH YEAH!


    Der Sirius lebt!



    Danke Euch allen die ihr mich hier technisch und moralisch unterstützt habt, ohne Euch wäre das nicht möglich gewesen. :)


    Die letzten Erkenntnisse dieses Threads brachten mich zur Überlegung: Ich muss wissen ob die RAM Chips in Ordnung sind, ansonsten kann ich in der Logik eh keine Fehler finden. Also hab ich mich dran gemacht sämtliches RAM aus dem Sirius zu entfernen und Sockel einzulöten.


    Erstmal die beiden 6116 SRAM. Zum Test musste ne 1541 herhalten, wie praktisch das die auch eins drin hat. Die beiden erwiesen sich aber als in Ordnung. War ja klar. Dann zum Hauptspeicher. Hier passt praktischerweise das Sirius RAMtestgerät, auch Commodore 64 genannt. Im Hintergrund noch mit geplünderter Bestückung zu sehen. Dabei stellte sich herraus das 2 der 16 Chips defekt sind! Also neue rein, immer noch nix. Der Hinweis auf den ROM-Fehler brachte mich dazu mein gebranntes Eprom noch mal anzusehen. Im anderen Sirius lief das. Aber hier hatte ich den Eindruck das ich wohl eine Leiterbahn im Jumperfeld nicht tief genug gecuttet hatte. Das würde den ROM-Fehler erklären. Hab das dann gemacht, Jumper eingelötet - immer noch nichts. Dann habe ich die Jumper umgesteckt und die beiden originalen P1 2732 eingesetzt. BILD IST DA UND BOOTET! Yeah. Jetzt kann ich die Kiste Stück für Stück wieder zusammensetzen.


    Allerdings würde ich schon gerne auf das neuere ROM umsteigen, woran das hängt das es nicht geht muss ich noch herrausfinden...


    Viele Grüße
    Andreas


    P.S.: DIL-16 Sockel sind in diesem Haus definitiv ausgegangen. Und Entlötlitze auch...

  • Super! Einen Sirius haut so einfach eben nichts um :)


    Also technisch müsste der Rechner auch mit F3F7 laufen. Wenn der Chip im anderen Rechner bootet, kann es eigentlich nur an den Jumpern liegen. Evtl. muss man sich den Schaltplan auch nochmal genau anschauen, ob die Einstellungen mit dem 64kBit ROM wirklich passen. Kann man auf dem anderen Board dazu etwas erkennen?


    Gruß,
    Axel

  • Hi Andreas,


    herzliche Glückwünsche! :thumbup: Tolles Ergebnis, und jetzt zum Schluss ging es ja auch erstaunlich flott voran. Sorry, dass ich nicht mehr viel beitragen konnte; mir fehlte die Zeit und auch ein bisschen die Ideen.


    Die Sache mit dem ROM würde ich auch über zwei 2732er angehen - da bin ich schon auf Seite 2 drüber gestolpert, dass Du da den Aufwand mit dem Adapter überhaupt getrieben hast.


    Und das Sockeln aller RAMs - Respekt! :anbet: Echte Fleißarbeit. Aber auch ein Investition in die Zukunft, denn so ein RAM kann ja immer mal wieder ausfallen.



    Dann viel Spaß noch mit der Maschine.


    Gruß
    Georg


    PS. Ich bin neidisch. Das Logo auf dem Bootscreen des Sirius 1 sieht viel schöner aus als das auf der Vicki ;)

  • Hallo,


    ich hab noch ein bisschen dran weiter gesucht. Wahrscheinlich war das mit dem nicht laufenden ROM nur ein Kontaktproblem. Jetzt gehts meistens. Da steckt ein Präzisionssockel mit runden Beinchen in einer alten Low-Cost Fassung. Ich denke ich werde ich beiden ROM-Sockel und den Prozessorsockel noch gegen Präzisionsbauteile austauschen. Für die Stabilität von Maschinen habe ich da auch bei anderen Rechnern nur gute Erfahrungen mit gemacht. Auch werde ich für das ROM ein Adapterplatinchen einsetzen, der Sockel-mit-Kabel Umlöt-Hack ist einfach nicht so schön.


    was spricht dagegen das F3F7 ROM zu splitten und auf zwei 32kbit Chips zu brennen?


    Hauptsächlich die Tatsache das ich keine 2732 Bausteine da hatte - und mein simpler Eprommer diese auch gar nicht brennen könnte. Aber es stimmt schon - es ist die schönere Lösung, dann entfällt das Adapter-Gedöns.


    Und das Sockeln aller RAMs


    Ich glaub da gibts noch mehr Arbeit - ich mache einen neuen Thread für das Erweiterungsboard was in der Maschine steckte... :)


    Bringst du den Sirius mit zur CC?


    Ja, denke schon. Die sieht man viel zu selten auf CCs, der muss mit :)


    Ich werde sicher noch viele Fragen hier haben - mein Background ist eben das ich den Sirius nicht von früher kenne, sondern die Maschine für mich neu ist. Hat mich aber schon lange interessiert, daher freue ich mich jetzt mal damit beschäftigen zu können.


    Viele Grüße
    Andreas