Junior Computer ][

  • Hallo Thomas... kannst du bitte mal die EhBasic.BIN hier rein packen.. (ggf. mit .txt Endung, oder ZIP wenn das Forum es

    sonst nicht schluckt :) ) ich habe das Gefühl ich habe hier zwei verschiedene EhBasics ??!

    Meine Sammlung: CBM4032,CBM610,VIC20, C16, Cplus, C64, SX64,C128D, LT286-C, Amiga 1000, C= PC1+10+20+40

  • also ich fürchte mein BASIC wird zwar erkannt, aber es läuft nicht korrekt.


    Die Magic Number $65 $02 $CA $FE ist an Ort und Stelle, aber wenn ich im Auswahlfenster das "B" drücke, kommen
    dies weiter oben gezeigten Zeichen, aber das war es auch schon.
    Ich hänge irgendwo im Monitor, zumindest vom Gefühl her.

    Was ich nicht bestückt habe sind die VIAs weil kaputt und die RTC ist daher auch nicht erreichbar. Ist das eventuell die Ursache?

    BASIS Adresse ist korrekt gewählt.

  • So, jetzt bin ich auch wieder zurück.

    Also, ich hänge euch mal die letzte von mir genutzte Version von EhBasic und dem System ROM an. Eventuell habe ich da irgendwas verwurschtelt, als ich das zusammengepackt habe.


    Thomas: Das was du siehts, ist ja der Prozessorstatus, der durch drücken der ST (NMI) Taste oder einem unbehandelten Interrupt (auch durch den BRK Befehl) ausgelöst wird. Daher nehme ich an, das dein Basic nicht zum System ROM passt und EhBasic in irgendeine Ecke springt, wo es nichts zu suchen hat.


    Micha: Es werden ja etwas krumme 12K ROM eingeblendet um mehr RAM zu haben, daher ist die Umschaltung etwas komplexer. Für die Umschalt Logik müssen auf der IO Karte natürlich das 32KByte ROM (U8), die Adress- und Datenbustreiber 74LS244, bzw 74LS245 (U1, U2, U3), sowie der 74LS137 (U6), der 74LS139 (U7) und der 74LS02 (U9) eingebaut und funktionsfähig sein. Bei den Prototypenplatinen müssen auch zwingend die zwei 1N4148 Dioden D9 und D10, sowie der 10K Pullup Widerstand R16 nach Beschreibung verlötet sein, bei den späteren IO Platinen sind die natürlich drauf. Wenn das alles funktioniert, muss im Monitor von DFFC bis DFFF die Magic Number angezeigt werden. Wenn das nicht der Fall ist, prüfe bitte die TTLs auf Funktion. Schau bitte auch mal, ob die zwei oben genannten Dioden richtig rum eingebaut sind. Wenn du wieder irgend etwas anderes als die Magic Number angezeigt bekommst, versuche bitte mal am Monitor Prompt mit DFFC: 01 02 03 04 etwas zu schreiben und dann mit DFFC.DFFF zurück zu lesen. Wenn du wieder 01 02 03 04 angezeigt bekommst, liegt an der Stelle nicht das Basic ROM, sondern RAM, was aber schon durch die DIP Switch Stellung nicht passieren dürfte.

    Das eigentlich EhBasic liegt ab Adresse B000 und sollte A0 04 B9 24... beinhalten.

  • Danke Jörg für die ROMs


    Jetzt habe ich vor der Auswahl "M" oder "B" die Abfrage Uhrzeit/Datum - das ist neu.

    Drücke ich das "B" kommen wieder nur diese Zahlen vom Bild weiter oben.


    BASIC wird also nach wie vor gefunden und gestartet, will dann aber nicht mehr.
    Ich denke (nein, ich hoffe) das liegt an der fehlenden Verbindung zur RTC

  • Hallo Thomas,


    der Absturz kommt sicherlich nicht durch den fehlenden RTC, das habe ich auch schon probiert. Bei dir wird ja offensichtlich EhBasic bereits bei B002 abgebrochen, jedenfalls zeigt das deine Statusanzeige ja so an. Du hast ja auch den 74LS244 U1 ausgetauscht. Schau bitte mal, ob da Pin 7 noch irgendeinen Kontakt zur Platine hat. Ich musste bei mir den Pinum 1mm kürzen, weil er sonst do irgendwie mit dem Lötpad kontaktet.


    Bei den modulo 4K Grenzen des ROMs müssen die Werte bei B000 = A0, C000 = AF und D000 = 02 angezeigt werden, sonst ist auch hier die Umschaltlogik korrupt.

    Zur Sicherheit werde ich nachher meine beiden ROMs auslesen und euch diese als "Vorlage" senden...better save than sorry.


    Lang_Sel muss offen sein, um die obere Hälfte des ROMs zu selektieren. Ist der Jumper gesetzt, muss die Karte dennoch erkannt werde, da auch hier die Magic Number steht. Es ist dort aber kein Language String und natürlich kein Code vorhanden.


    Die Basisadresse der IO Karte muss gesetzt sein, egal ob K2, K3 oder K4. Beim Start wird dann "IO/Language Card at $xxxx" angezeigt, mit xxxx gleich Basisadresse. K2 = 0800, K3 = 0C00, K4 = 1000.

    Ab der jeweiligen Basisadresse liegen dann die Umschaltadressen für einen Switch zwischen RAM (Basis+$20) und ROM (Basis+$30).


    Bei gesetzten K2 Jumper ist die Basisadresse 0800 und es kann durch eine einfache Adressabfrage am Prompt mit 0820 auf das RAM umgeschaltet werden und mit 0830 wieder zurück auf auf das ROM. Vor allem du Michael solltest das ausprobieren. Also auf RAM schalten. Werte ab B000 eingeben (1 2 3 4...) auslesen, auf ROM umschalten, auslesen (dann natürlich andere Werte als 01 02..., am Besten A0 04 B9 24, weil dann dort EhBasic Code), wieder zurück auf RAM schalten, auslesen -> 01 02 03 04 wieder da.


    Ihr könnt bis auf die oben genannten Bausteinchen U1, U2, U3, U6, U7, U8, U9, für ein funktionierendes Basic alle anderen weglassen um da mal Fehler einzukreisen. Der SD-Karten Adapter ist natürlich ebenso für diese Funktion unnötig.

  • Hallo Jörg,

    zunächst mal danke danke danke für Deine Unterstützung bei der Fehlersuche!

    Du hast ja auch den 74LS244 U1 ausgetauscht. Schau bitte mal, ob da Pin 7 noch irgendeinen Kontakt zur Platine hat

    habe ich drauf geachtet und messtechnisch überprüft. Ist nicht verbunden.

    Bei den modulo 4K Grenzen des ROMs müssen die Werte bei B000 = A0, C000 = AF und D000 = 02 angezeigt werden, sonst ist auch hier die Umschaltlogik korrupt.

    kann ich bestätigen - Databytes werden an den Adressen korrekt angezeigt

    Lang_Sel muss offen sein

    ist offen.

    Beim Start wird dann "IO/Language Card at $xxxx"

    macht es: $0800

    die von meinem Junior gezogenen ROM Images.

    gleiches Fehlerbild bei mir - Basic wird erkannt und es kommt die gleiche Ausgabe wie bisher @B002


    als letztes probiere ich nochmal die Minimalbestückung die I/O Karte

    Stay Tuned :kafeee:

  • Guten Nabend...

    ich war bis 22:00 Uhr noch ausser Haus.. und mache jetzt noch 1-2 Stündchen :D

    (morgen geht aber nix,.. sind den ganzen Tag bei der Verwandtschaft... nur schon mal so angekündigt...)


    also... Das JUNIOR II Kernel ist genau das gleiche... (Version 0.9) (Achtung! ich habe ein 8kB Eprom, und teste daher auch nur 2764!).

    (JP3 (EEPROM) ist dabei bei mir geschlossen/gelötet)


    Bei AT28C256 hatte ich zwischendurch mal aus einem Verzeichnis anscheinend eine "andere Version" (??)

    aber nun erneut mit der letzten und vorletzten Jörg Version verglichen,.. die sind auch komplett gleich... (verify ebenfalls)


    Daher ändert sich leider auch bei mir nix.. (leider noch nicht einmal eine Basic Meldung)...


    Dioden sind auch alle Richtig, der Prototypen Hack ist auch o.k.

    +


    PS: mein Mainboard ist das REV 3.b (!)


    in DFFC stehen nicht die "richtigen Bytes"... und ich kann Sie auch selbst nicht "ändern"/speichern...

    ebenfalls steht ab $B000 kein BASIC ( alles nur die gleichen Bytes).

    +


    nur warum habe ich noch nicht einmal die "Thomas-Meldungen?"

    er hat wohl ein etwas anderes Mainboard (neuer) und auch einen größeren Kernel-ROM...

    PS: Joerg 2ee du nutzt wirklich auch die 8kB Variante.. oder auch nur die ganze Zeit die 32k ?


    ich kann jetzt nur mal mit dem Oszi nach "Leben suchen"... vielleicht sind ja (warum auch immer) Datenleitungen oder

    Adressleitungen "auf Masse" oder so ?!

    Meine Sammlung: CBM4032,CBM610,VIC20, C16, Cplus, C64, SX64,C128D, LT286-C, Amiga 1000, C= PC1+10+20+40

  • Ich finde ja z.B. komisch, daß immer der erste Teil (high) der Adresse als Inhalt angezeigt wird. Also B0 bei $B000 und DF bei $DFFC. Vielleicht kann man da ja mal weitersuchen. Etwa, ob das bei anderen Adressen auch so ist - und wenn ja, warum.

    -- 1982 gab es keinen Raspberry Pi , aber Pi und Raspberries

  • Hallo Micha,

    also ich habe ein 3.1b Mainboard.....quasi das letzte aktuelle soweit ich weiß.


    Die I/O Karte ist eine Rev. 1 mit dem Patch drauf den ich nochmals kontrollierte.


    Ich habe auch bereits 8k und 32k EEPROM und ein 8k EPROM ausprobiert.
    Es ist immer das gleiche Bild.

    Auch habe ich auf der I/O einen Satz frische ICs eingesetzt und alles nachgelötet was verdächtig aussah.
    Nichts ändert sich.


    Einen Bestückungsfehler kann ich eigentlich ausschließen.

  • Wie sieht denn dein Speicherabbild generell aus.. ?

    (ich denke wir habe unterschiedliche Fehler.., bzw, hat meins mehr Fehler als deins ;) )


    was mir da so auffällt, dass in den beschrieben Speicherbereich nicht immer "FF" steht, und auch nicht irgend ein wilder Quatsch,

    sondern dass immer genau die ersten Bytes der Adresse , auch als Bytes in den Daten steht...

    +

    das ist bei "$B000" so, also auch ab $DF00... (ist das "normal".. ich kenne das sonst eher mit "FF"..

    deutet für mich auf eine "Kollision" hin ?! oder was meint ihr ?

    Meine Sammlung: CBM4032,CBM610,VIC20, C16, Cplus, C64, SX64,C128D, LT286-C, Amiga 1000, C= PC1+10+20+40

  • Kann halt auch durchaus sein, daß der EPROM Brenner das quasi automatisch so schreibt. Aber seltsam ist es irgendwie schon. Würde da auch eher ff oder 00 erwarten. Daß anscheinend was drin steht, und gefunden wird, sieht man ja bei e000.

    -- 1982 gab es keinen Raspberry Pi , aber Pi und Raspberries

  • sieht bei mir gänzlich anders aus.... Ließ das EPROM doch nochmal aus und schaue Dir das dann im EPROM Brenner an ob sich das deckt.

    Oder hast Du versehentlich einen Offset eingestellt oder so?


    Bei mir sehen die Bereiche so aus:

    Was sich ja ab #E000 mit Deinem deckt. Der magische String ab #DFF0 fehlt Dir


    Nichtsdestotrotz stimmt bei meiner I/O auch was nicht :wacko:



  • Hallo Thomas,

    für dich mal EhBasic zum Laden in den Speicher.

    - Backplane abziehen.

    - DIP Switches alle auf ON

    - Rechner starten - landet automatisch im Monitor.

    - Eingabe LM

    - Im Terminal XModem Send aufrufen (bei TeraTerm in der Ini Datei CRC für XModem einschalten) und die angefügte Datei EhBasic.bin laden.

    - Im Monitor B000G

    - Basic sollte starten. Wenn nicht seeeeeeeeeeeeehr schpocky.


    Michael kann (sollte) das natürlich auch probieren.


    Hallo Michael:


    wie Sebastian ja schon gesagt hat: Seltsames Verhalten im ROM Bereich. Das da immer das High Byte der Adresse als Daten Byte steht ist nicht normal.

    Ich muss mir das erst mal durch den Kopf gehen lassen. Bin aber jetzt echt fertig und muss ins Bett. Sagt mir morgen Bescheid, was sich mit der RAM Version von EhBasic getan hat.

  • ich habe neue Erkenntnisse... wer noch 5 Minuten warten will :)

    ist echt verrückt.. Moment ich tippe :D

    Meine Sammlung: CBM4032,CBM610,VIC20, C16, Cplus, C64, SX64,C128D, LT286-C, Amiga 1000, C= PC1+10+20+40

  • warte auch...

    Thomas, dein Rechner stürzt in einer Schleife ab, die von Adresse D124 bis D128 den Ctrl-C Vektor in das RAM ab 0768 lädt. vielleicht ist da das Problem bei dir begrben. Vielleicht RAM defekt?

  • ch finde ja z.B. komisch, daß immer der erste Teil (high) der Adresse als Inhalt angezeigt wird.

    Hallo Thoralf... wir hatten da gerade auch den gleichen Eindruck... hatte deinen ersten Hinweis selbst vorher nicht gesehen..

    da ich am probieren war und nicht dabei gelesen hatte...


    ABER!!! Verrückter Effekt bei mir...


    nur kurz: ich habe das Board zum Oszi Messen auf den Rücken gelegt... konnte eigentlich nichts "anomales" erkennen..


    ABER DANN!!!


    wenn ich mit der Oszi Strippe an die Diode gehe! die neben dem Widerstand hängt, dann kommt bei mir auch

    das Basic Startmenü und auch die richtigen Werte in den Adressen..


    Das Verrückte!! ich habe dann nur die Signalleitung dran gehängt! keine Masse .. immer noch gleicher Effekt!!

    Der Rechner läuft so wie bei Thomas!

    und NOCH verrückter !! wenn ich NUR die Oszi Strippe (quasi als Antenne) dran hängt,.. und dabei liegt das Ende lose auf dem

    Tisch, dann funktioniert der Rechner... -> es ist kein mechanischer Effekt, ich habe auch schon mit einem Schraubendreher

    den Draht "angehoben", (ob vielleicht die Diode einen Riss hat ??)

    Ich werde natürlich die Diode mal tauschen (vielleicht wurde Sie kaputt gedrückt, beim IC ein drücken)..

    ich habe aber das Gefühl, da ist irgendwas "mega-Empfindlich" oder falsch abgestimmt und mit Leitung, hat man das "Quetschen" "Elektronen" ??!


    (nun stimmen die Dateninhalte)!!


    Meine Sammlung: CBM4032,CBM610,VIC20, C16, Cplus, C64, SX64,C128D, LT286-C, Amiga 1000, C= PC1+10+20+40

  • Steht bei dir nach dem Start von Basic in den Adressen von 786 bis 76C das Datum 00 00 00 B1 CE ?


    Edit: Jedenfalls ist das ja in den unteren 2K. Die RAM Select Leitungen werden da über den 74LS145 (U8) gesteuert. Wäre auch evtl. eine Fehlerquelle

    Einmal editiert, zuletzt von 2ee ()

  • Wenn das kein Vodoo ist. ::vodoo::


    Edit: Tausch auf alle Fälle die Diode aus.


    Übrigens erinnere ich mich tatsächlich gerade, dass bei mir ein ähnliches Problem auftrat, bevor ich den Patch eingebaut habe.

    Einmal editiert, zuletzt von 2ee ()

  • ich denke du hast dich etwas vertippt :) daher der ungefähre Bereich:


    Bieg das Ganze vielleicht einfach mal bißchen hoch, wenn und bevor Du eh vorhast es auseinanderzubauen.

    habe ich schon gemacht... das bringt keinen Effekt.. auch ein Schraubendreher mit meiner Hand dran klappt nicht..

    nur die Oszi Strippe lose auf dem Tisch ?!

    Meine Sammlung: CBM4032,CBM610,VIC20, C16, Cplus, C64, SX64,C128D, LT286-C, Amiga 1000, C= PC1+10+20+40

  • bei mir ist das Uhr-IC drinnen aber noch keine Batterie..

    er merkt sich auch nicht die Uhrzeit.. zumindest wenn ich mit $E000 GO wieder in die Startsequenz springe,

    will er erneut eine Uhreneingabe:



    Zu meinem "Draht-Effekt".. ich tippe, da muss noch etwas mit einem Pull-Up, Pull-Down "nachgearbeitet" werden...

    hat Thomas an der Stelle auch 10k ??

    Meine Sammlung: CBM4032,CBM610,VIC20, C16, Cplus, C64, SX64,C128D, LT286-C, Amiga 1000, C= PC1+10+20+40