Junior Computer ][

  • Was wurde denn in der neuen Version in den RAM-Speicher ausgelagert? In der letzten Flash-Version hatte das EhBasic noch mehr als 32768 frei, jetzt noch 24575. Oder muß ich das ROM auf der I/O-Card auch neu flashen und es rührt daher?


    Korrektur: Alles zurück, ich hatte den DIP-Switch auf off-off-off stehen, jetzt ist alles ok, sorry!

    ___________________________________________________________________________________________________

    "Traue niemals einem Computer, den du nicht aus dem Fenster werfen kannst" (Steve Wozniak)

  • Die Platinen sind jetzt an (fast) alle Unterwegs und müssten bis Donnerstag wohl eintrudeln.


    Bei Norberts Missgeschick mit den DIP-Switches ist mir übrigens aufgefallen, dass ich leider in der neuen Aufbaubeschreibung der IO/Language Card vergessen habe, genau diese DIP Switches zu erwähnen. Der Post von Norbert kam dann leider eine halbe Stunde zu spät, da waren die Umschläge schon im Briefkasten.


    Also Freak , ThoralfAsmussen und felge1966 hier der Hinweis:


    Auf der Junior Platine müssen die DIP Switches EXP_RAM_SEL auf


    $80 = ON

    $A0 = OFF

    $C0 = OFF


    stehen, sonst wird auf der IO Platine entweder das Basic ROM nicht erkannt, oder ihr habt weniger RAM im System verfügbar. Wenn alles richtig eingestellt ist, meldet EhBasic 36863 Basic Bytes free. Im Orginal EhBasic wird da übrigens nur xxxxx Bytes free angezeigt. Ich hab das so geändert, weil es so schön Commodorig ist 8o .

  • 2ee

    Platine mit Anleitung ist heil und unbeschadet angekommen. Ich kann nur ausdrücklich sagen, super Arbeit, fantastisch.

    Ich freu mich schon auf den Aufbau und die Inbetriebsetzung

  • Heute sind die 74LS01 gekommen (ich hatte ja bisher einen 7401 verwendet). Leider ändert sich nichts. Ich habe alle Lötstellen geprüft und keine Brücken oder unverlötete Pins gefunden. Die Überprüfung aller Widerstände ergab auch keine falschen Werte. Zuletzt habe ich von meinen KIMs geprüfte 6502 und 6532 verwendet - die 7-Segment Anzeigen wollen einfach nicht leuchten. Ich brenne jetzt das V0.9 ROM und hoffe dass er damit funktioniert.

  • Jetzt funktioniert der Junior II ! Das 0.9er ROM hatte auch keine Änderung gebracht, aber es lag letztlich an dem RAM. Von dem HM628128 habe ich einige - die habe ich mit dem RCT geprüft (ich wusste erst gar nicht, dass der auch solche großen Rams testen kann). Nach Einsatz eines RAMs, dass zuvor am RCT alle Tests "passed" hat, funktioniert der Junior II bzw. es kommen die Anzeigen. Als nächstes werde ich mich mal mit der Terminal-Funktion befassen ....

  • Hallo ralf02 . Jetzt warst du tatsächlich schneller als ich. Ich hatte gerade eine Menge Text mit Oszilloscope Screenshots zusammengestellt und wollte gerade auf Antworten drücken, als dein Post reinkam.

    Super das der Rechner jetzt läuft. :):thumbup::thumbup: RAM hatte ich auch in Verdacht, da der Junior natürlich auf Stack und Zero Page zugreifen muss.

    Jedenfalls packe ich das Oszi jetzt wieder weg.


    Edit: Ich hab jetzt übrigens alle verfügbaren Downloads bzgl. Junior ][ bei mir aktualisiert.

    Einmal editiert, zuletzt von 2ee ()

  • Heute habe ich versucht, eine Terminalverbindung hinzubekommen (Teraterm, 9600, 8N1). Ich hatte ja die bisherigen Versuche ohne den MAX232 und 6551 gemacht. Mit dem MAX232 läuft er noch, sobald ich den 6551 einsetze, kommt keine Anzeige auf den 7-Segment Anzeigen mehr. Offenbar ist mein 6551 wohl defekt (davon habe ich auch nur einen). Ich werde mal bei Ebay Ausschau halten ....

  • Mit dem MAX232 läuft er noch, sobald ich den 6551 einsetze, kommt keine Anzeige auf den 7-Segment Anzeigen mehr.

    Ja das Problem hatte ich auch mal, als mein schöner alter 6551 ausgefallen ist. Meinolf hatte mir da freundlicherweise dann noch einen aus seinem Bestand zugesandt und mich gerettet (vielen Dank nochmals :):thumbup: )

    Das die Anzeige dann nicht geht erklärt sich jedenfalls dadurch, dass die Baud-Erkennungsroutine hängen bleibt oder eine falsche Baud-Rate erkennt, wenn die ACIA nicht richtig funktioniert. Ist keine ACIA vorhanden, besteht das Problem nicht, dann wird schlicht kein Terminal erkannt und in den Original Junior Monitor gesprungen.

    Wird denn bei dir auf dem Terminal irgendetwas angezeigt, wenn du den Rechner einschaltest. Die Baudraten Erkennung sendet nämlich beginnend mit 2400 Baud den ESC Code zur Terminal Identifizierung, erhöht die Geschwindigkeit und versucht es so lange, bis das Terminal antwortet oder alle möglichen Baudraten durchprobiert wurden. Die in der falschen Geschwindigkeit verschickten ESC-Codes kommen dann auf dem Terminal als Funny Chars an. Wenn du also auf deinem Terminal auch so etwas sehen kannst, hat der Junior eventuell nur eine falsche Baudrate erkannt, und wir müssten das Problem dann vielleicht an der Terminalverbindung suchen.

  • Auf dem Terminal (= Teraterm auf dem PC) war gar nichts zu sehen (auch kein "Zeichenmüll"). Sobald der R6551 eingesetzt ist, kommt am Junior keine Anzeige mehr - auch wenn am DB25 - Stecker gar nichts angeschlossen ist. Ich habe beim "CommodoreC65" (Ebay) jetzt einen NOS R6551 bestellt.

  • ich möchte hiermit ein positives Feedback geben - mein soeben zusammengelöteter Junior läuft.


    Es gab beim Bestücken keinerlei Probleme und es hat alles 1A gepasst. Nicht zuletzt durch das perfekt zusammengestellte
    Teile-Kit vom Meinolf.

    Ganz herzlichen Dank an die Macher dieses Projektes, insbesondere Jörg für das erstklassige Projekt und Meinolf für die hochwertigen Bauteile und die

    topp vorbereiteten Tasterkappen.


    Dann stürze ich mich mal als nächstes auf die I/O Platine :kafeee:


    Der Junior ][

  • Hat eigentlich jemand von euch mal irgendwann den Terminal ESC-Code für cursorpos(v,h) ausprobiert?

    Bei mir funktioniert der Befehl weder in TeraTerm, noch mit dem ESP32 Terminal.


    Ich hatte mir dazu mal das kleine anhängende Testprogramm geschrieben, das einfach eine fixe ESC-Code Sequenz mit V = 5 und H = 5 (ESC[5;5H) und dem Text "Hello World" sendet. Letztlich lander der Text immer auf der Position v,h = 1,1. Das dürfte ja nach meinem Verständnis nur der Fall sein, wenn die Parameter v oder h ausserhalb des zulässigen Bereichs sind. Oder muss da noch womöglich das Fenster auf 80x25 gesetzt werden, bevor ich den Befehl ausführen kann?

    Ich hatte für die v,h Werte übrigens auch schon 16 Bit im Format 00 05 und 05 00 eingesetzt, mit dem gleichen Ergebnis.

  • Bei mir passiert ein (non destructive) HOME und dann wird 'Hello World' ausgegeben und der Cursor geht in die nächste Zeile.


    Nachtrag: ich habe 99 x 25 eingestellt. Anders habe ich beim Listen eines Speicherbereichs (z.B.0200.0240L) Lücken bei der Darstellung.

    Font Consolas Standard 26. Das komische Verhalten ist bei mir abhängig von Fenstergröße und Font. Auch TeraTerm.

    ___________________________________________________________________________________________________

    "Traue niemals einem Computer, den du nicht aus dem Fenster werfen kannst" (Steve Wozniak)

    Einmal editiert, zuletzt von NorbertJ ()

  • Ein ändern der beiden Werte für H + V ergibt nur Unsinn (bei mir).

    ___________________________________________________________________________________________________

    "Traue niemals einem Computer, den du nicht aus dem Fenster werfen kannst" (Steve Wozniak)

  • Autsch, völliger Verständnisfehler meinerseits. Die Werte für V und H werden nicht in Dezimal erwartet, sondern als ASCII Zahlen, also für 5 dez. einfach 53 dez (ASCII '5') einsetzen, dann geht es. Norbert, dein Hinweis auf

    Ein ändern der beiden Werte für H + V ergibt nur Unsinn (bei mir).

    hat mich da stutzig gemacht. Jedenfalls funktioniert es jetzt! Danke.

    Einmal editiert, zuletzt von 2ee ()

  • Freut mich!

    ___________________________________________________________________________________________________

    "Traue niemals einem Computer, den du nicht aus dem Fenster werfen kannst" (Steve Wozniak)

  • ANSI Steuersequenzen sind immer "Mensch-lesbar" ;) nie binär

  • Plant jemand, I/O-Karten zu bestellen? Ich hätte Interesse an einem Exemplar der überarbeiteten letzten Version.

    ___________________________________________________________________________________________________

    "Traue niemals einem Computer, den du nicht aus dem Fenster werfen kannst" (Steve Wozniak)

  • Meines Wissens unterscheidet sie sich aber hauptsächlich nur dadurch, dass die Zusatzplatine für den Soundchip nicht mehr nötig ist.

    ___________________________________________________________________________________________________

    "Traue niemals einem Computer, den du nicht aus dem Fenster werfen kannst" (Steve Wozniak)

  • :thumbup::thumbup::thumbup:

    ___________________________________________________________________________________________________

    "Traue niemals einem Computer, den du nicht aus dem Fenster werfen kannst" (Steve Wozniak)

  • I/O Platine..... ich bitte die noch nicht gereinigte Lötseite zu entschuldigen X/


    Den SD-Kartenadapter löte ich morgen ein da mir die Schrauben ausgegangen sind - ich will ihn vorher festschrauben.



    DC/DC Wandler



    SN76489 auf Adapterplatine - um die Bauhöhe zu reduzieren habe ich den 100nF (C1) von unten eingelötet.

    BTW: zu spät gelesen dass wir rund um den LM386 NF Verstärker noch nichts bestücken sollen da der Regelbereich recht klein ist....



    Patch:

    10k Pull-up und zwei 1N4148

  • Schön Thomas, sehr sauber! ich freue mich für dich. :)

    ___________________________________________________________________________________________________

    "Traue niemals einem Computer, den du nicht aus dem Fenster werfen kannst" (Steve Wozniak)

  • Hallo Thomas,


    sieht sehr gut aus.

    Den SD-Kartenadapter löte ich morgen ein da mir die Schrauben ausgegangen sind - ich will ihn vorher festschrauben.

    Bzgl. Schrauben für den SD-Card Adapter: Ich hatte die Schraublöcher in der IO Platine mit dem gleichen Durchmesser (2,1mm) wie bei der SD-Card Platine ausgelegt. Seltsamerweise passen M2 Schrauben bei mir nicht durch die Löcher. Evtl. muss man da doch noch mit einem 2,5mm Bohrer nacharbeiten.

    BTW: zu spät gelesen dass wir rund um den LM386 NF Verstärker noch nichts bestücken sollen da der Regelbereich recht klein ist....

    Das hat sich erledigt. Der Regelbereich war deshalb so klein, weil ich den Entkopplungskondensator vergessen hatte. Der ist aber jetzt auf der kleinen Adapterplatine drauf (der, den du von der Lötseite her montiert hast). Somit ist der Regelbereich "normal".

    Kann es sein, dass du einen Jumper auf den Pin Header SND_OUT gesetzt hast? Der muss da unbedingt runter, da du sonst einen Kurzschluss des Sound Chip Ausgangs gegen Masse herstellst.


    Du hättest übrigens weder den Folienkondensator auf der Unterseite der Adapterplatine platzieren müssen, noch auf einen Sockel verzichten müssen. Der Abstand zwischen Junior und IO Platinen beträgt 2cm. Du hast also genügend Platz nach oben. Das hatte ich im Vorfeld bereits alles mit einberechnet.


    Übrigens ist es gerade noch kein Spass, am Audio Ausgang einen Lautsprecher anzuschließen. Z.Zt. ist noch keine Initialisierungsroutine für den SN76489 im System ROM. Deshalb quäkt der Lautsprecher dann beim Einschalten mit einem Zufallston eklig vor sich hin. Die Audio Routinen nehme ich mir aber ASAP vor. :)

  • danke Norbert :thumbup:


    Jörg, ich teste morgen M2 Schrauben und bohre ggf. etwas auf. Ich habe da alle Möglichkeiten in der Firma.


    Stimmt, der Jumper auf SND_OUT gehört da nicht hin - ich setze den gerne auf die noch nicht eingelöteten Stifte und
    löte dann. So verbrenne ich mir nicht die Finger :mrgreen:


    yepp, habe eben an der Backplane gesehen, dass es 2cm Abstand zwischen den Platinen sind.
    Die von mir zuerst verwendeten M4 Distanzstücke sind nur 15mm lang und das war dann natürlich zu knapp.

    Korrigiere ich morgen :thumbup:

    Muss jetzt noch auf 28C256 warten, hatte ich total verpennt die zu bestellen - die kommen frühestens Donnerstag :fp:


    Auch hier kann ich genauso wie bei dem Mainboard sagen, dass sich die I/O sehr gut bauen lässt.
    Jörg, Norbert, gute Arbeit meine Herren  :thumbup::thumbup::thumbup::thumbup:



    Was ich mir für die Zukunft wünsche wäre eine analog/digital I/O Karte um den Junior für Mess- und Steueraufgaben einzusetzen.
    Ich denke mal dass ich sowas in Angriff nehmen werde sobald ich den Junior einigermaßen beherrsche.

    Einen Schritt nach dem anderen. :kafeee:

  • Was ich mir für die Zukunft wünsche wäre eine analog/digital I/O Karte um den Junior für Mess- und Steueraufgaben einzusetzen.

    Da könntest du natürlich z.B. den 16 bit, 4 Kanal delta/sigma A/D Wandler MCP3428 (oder die 2 Kanal Versionen MCP3426/27) mit I2C Schnittstelle nehmen. Da kann man beim 3428 (und 3427) bis zu acht über einen Bus steuern.

    Beim D/A Wandler müsste ich jetzt gerade passen. Ich denke das es da aber auch den Einen oder Anderen mit I2C Interface gibt.

    Das wäre auf alle Fälle einfacher als ein vollständig neues IO Board, und dafür hatte ich I2C ja auch angedacht.

    Ich werde euch in den nächsten Tagen auch mal ein kleines Demo Programm für den PCF8574 I2C Port Extender hier einstellen, damit das I2C IO am Junior dann mal grundsätzlich beschrieben wird.

    Allerdings möchte ich ja noch ein paar Dinge wie Cursor Positionierung mit in das ROM aufnehmen, deshalb werden sich die Routinen für die I2C Programmierung nochmals verschieben.


    Übrigens ist es ratsam, den Pin-Header für die linke I2C Schnittstelle in gewinkelter Form zu nehmen, sonst wird das im Platinen Sandwich schwierig, da einen Stecker anzubringen.

  • Hallo Jörg,

    eine komplett neue I/O muss es ja auch nicht sein, ich dachte da eher an eine Steckkarte für die Backplane oder eine Blackbox die per Kabel angeschlossen wird.

    16bit Wandler sind ein Overkill, die Auflösung bekommt man wahrscheinlich eh nicht hin.

    Mal sehen….

    Danke für den Tipp mit dem 90 Grad I2C Pinheader…..macht natürlich Sinn.


  • bei mir sind 2.0mm Löcher für den SD-Karten Adapter im I/O Board und Schrauben M2 passen locker da rein.

    seltsam. Ich hab gerade meine Schrauben nochmal nachgemessen. Sind definitiv M2 und gehen kein Bischen durch die Bohrung. :grübel:

    Und vergiss bitte nicht, dich für eine Basisadresse zu entscheiden, sprich einen der Löt Jumper zu brücken. Nicht dass du dann ewig nach dem Fehler suchen musst.

    16bit Wandler sind ein Overkill, die Auflösung bekommt man wahrscheinlich eh nicht hin.

    Ja, 16 bit sind für einen 8 bit Rechner natürlich eine Herausforderung. Der MCP3428 lässt sich auf 12, 14 und 16 bit Auflösung einstellen. Allerdings bei einer Referenzspannung von 2,048V. Da wäre also nochmal eine Umrechnung notwendig um "gerade" Werte zu bekommen. Wäre schon viel Aufwand für den Junior.

    Es gibt aber sicherlich auch 8 bit I2C A/D Wandler.


    Jedenfalls sieht dein Aufbau echt super aus. :):thumbup: