Hello, Guest the thread was viewed294k times and contains 2921 replies

last post from C64Brotkasten1000 at the

Nachbau eines Apple 1

  • Super, dass er läuft!

    Kann mich auch noch an die Zeiten erinnern diese Adressbereiche umher zu schubsen um diverse selbstgebastelte 8255 Karten zum laufen zu kriegen.


    Aber auf den 2764 im Sockel als Spaßbremse muss man erst mal kommen…


    Hab heute auch tatsächlich noch ein kleines Problemchen mit meinem zweiten Apple-1 festgestellt.

    Basic will einfach nicht laufen.

    Alles andere, was ich bislang getestet hab läuft auf anhieb und scheinbar problemlos.

    Zuerst dachte ich es läge am ACI, aber das war‘s wohl nicht. Hab es mit einem anderen ACI (und dem ersten A1 Nachbau) gegengecheckt.

    Auf dem „ersten“ Apple-1 läuft auch alles perfekt.


    Der (Willegal) RAM Test lässt sich problemlos laden und zählt schön die Duchläufe, sowohl im unteren Bereich 0400-0FFF, wie auch im E000-EFFF.


    Auch kann ich die 30th Anniversary Demo laden, und die läuft. Völlig sauber. Stundenlang.


    Wenn ich Basic vom iPhone oder PC über ACI lade, scheint erst mal alles soweit zu funktionieren. Am Ende kommt „/„

    Wenn ich mir den Speicher E000-EFFF ansehe scheint auch alles richtig zu sein. Auch die letzten beiden Bytes an EFFE.EFFF = 0C E0, stimmen, was ja laut Mike Willegal ein gutes Zeichen ist, dass die Übertragung fehlerfrei erfolgte.


    Starte ich Basic mit E000R kommt zwar „E000: 4C“ und der Prompt „>“ , ich kann aber keine Eingabe machen, bzw. wenn das mal geht gibt es keine Reaktion.

    Habe es häufig wiederholt, auch mit unterschiedlichen Lautstärken. Immer das gleiche.


    Weitere Tests hab ich jetzt noch nicht gemacht, leider ist arbeitsmäßig im Moment die Hölle los.


    Werde mal die Tage etwas weiter „graben“….

  • Hab heute auch tatsächlich noch ein kleines Problemchen mit meinem zweiten Apple-1 festgestellt.

    Basic will einfach nicht laufen.

    Alles andere, was ich bislang getestet hab läuft auf anhieb und scheinbar problemlos.

    Zuerst dachte ich es läge am ACI, aber das war‘s wohl nicht. Hab es mit einem anderen ACI (und dem ersten A1 Nachbau) gegengecheckt.

    Auf dem „ersten“ Apple-1 läuft auch alles perfekt.

    Hmm merkwürdig, warum es auf dem ersten A1 läuft und auf dem anderen nicht. Ich erinnere mich, dass es mit meinem ersten A1 auch diverse Probleme gab, bis ich gelesen hatte, dass man eine 6502B CPU verwenden sollte. Diese verwende ich nun in meinen beiden A1.


    Mit dem ALL02 bin ich wieder ein Stück vorwärts gekommen. Ich habe heute ein 2764 gebrannt. Man muss die bin-Datei tatsächlich in die Endung ".obj" ändern, dann funktioniert es.


    Als nächstes werde ich damit ein bPROM brennen - genauer gesagt das Betriebssystem des A1. Mals sehen ob / wie teuer die sich unprogrammiert beschaffen lassen ....

  • Ich habe bei den Applefrittern eine Liste der MMI 6301-1 Equivalence Prom's gefunden:

    AMD: 27S11, 27S21

    HARRIS: 7611-5

    INTERSIL: 5623, 5623A

    FAIRCHILD: 93427, 93467

    INTEL: 3611

    NATIONAL: 74S287

    T.I.: 74S287, 24S10

    FUJITSU: 7114, 7052

    RAYTH: 29661

    SIGNETICS: 82S129

    RUSSIAN: KR556RT11


    Viele davon kann der ALL02 brennen, aber man bekommt sie bei Ebay nicht unter 10 € pro Stück.


    Ich habe in meinem Bestand einen MMI 63S141 gefunden. Mal sehen, ob der sich auslesen und beschreiben lässt, falls noch leer.

  • Bei ebay gibt es vier Stück TI 24S10 für insgesamt ca. 33€. Bestellt! Möchte es auch einfach mal auszuprobieren.


    Ich habe ja noch das "Armin" Board, was echt gut aussieht und danach schreit verlötet zu werden. Ach und dann wäre da ja auch noch ein Newton-Byte... 8)


    Übrigens ... hab' das BASIC zum Laufen gebracht!

    Gestern und heute nochmal "sukzessive" (...das ist das, was man macht, wenn man absolut keinen Plan mehr hat) ausprobiert;

    Nochmal die Sockel gecheckt. Nochmal Temperaturen gecheckt. Nochmal zehnmal+ BASIC geladen. Nochmal Speicher Test. Kopf gekratzt. Überlegt, ob es doch irgendwie am RAM liegen kann. Nein, wie denn auch?...

    Vielleicht Timing? "One shot" war doch gut, lieber nochmal messen. Nee, ist gut. 465ns.


    Also, dann eben jetzt doch Chip-Swappen.

    Zuerst die 257er. Nix.

    Kann der 154er spinnen und dann sowas verursachen? ...Nein, der war's auch nicht.

    PIA und CPU nochmal rausgenommen, Sockel und Beinchen mit IPA gereinigt (sahen etwas grau aus). Nix.


    Beim Rausnehmen der CPU hatte ich aber irgendwie den Eindruck, dass der Chip doch vielleicht minimal wärmer ist als erwartet. Verdacht!

    Also mal in der KIM Kiste gekramt und einen anderen 6502 gesucht, und den eingesteckt.

    Und sieh da, BASIC läuft...


    Vielleicht bastel' ich mir mal was zusammen um den fragwürdigen 6502 etwas genauer zu checken. Oder ich stopf ihn mal in meinen "Sockel-KIM" und probiere da etwas dran rum.

    Mich würde eben einfach mal interessieren, was genau denn mit dem Ding nicht stimmt. Bzw wo die Ursache liegt, dass fast alles auf dem A1 lief, nur BASIC nicht.


    Habe übrigens nun auch fast alle Teile für den Retro Chip Tester da. Mal sehen, ob jetzt an den Ostertagen etwas Zeit "übrig" bleibt, zum Aufbau... 8)

  • Beim Rausnehmen der CPU hatte ich aber irgendwie den Eindruck, dass der Chip doch vielleicht minimal wärmer ist als erwartet. Verdacht!

    Also mal in der KIM Kiste gekramt und einen anderen 6502 gesucht, und den eingesteckt.

    Und sieh da, BASIC läuft...

    Interessant, dass es am 6502 lag. Wie gesagt, ich hatte das irgendwo gelesen, dass man möglichst eine 6502B oder 6502C verwenden sollte. Der 6502B kann bis 3 MHz Takt und der 6502C bis 4 MHz (letzterer ist schwer zu beschaffen). Der "normale" 6502 kann nur 1 MHz.


    Ich vermute mal, da - wie Natas immer so schön sagt - der Apple 1 konstruktionsbedingt so instabil ist, dass es ein Wunder ist, dass er überhaupt läuft, funktioniert das ganze mit einem höher taktbaren 6502B oder C einfach stabiler. Oder eben wie bei Dir mit einem "ausgesuchten" 6502.

  • ... ich hatte das irgendwo gelesen, dass man möglichst eine 6502B oder 6502C verwenden sollte. Der 6502B kann bis 3 MHz Takt und der 6502C bis 4 MHz (letzterer ist schwer zu beschaffen). Der "normale" 6502 kann nur 1 MHz.


    Ich vermute mal, da - wie Natas immer so schön sagt - der Apple 1 konstruktionsbedingt so instabil ist, dass es ein Wunder ist, dass er überhaupt läuft, funktioniert das ganze mit einem höher taktbaren 6502B oder C einfach stabiler. Oder eben wie bei Dir mit einem "ausgesuchten" 6502.

    Das ist ja das Merkwürdige. Diese CPU ist eine aus der "China-Lieferungen", für ein paar Cent pro Stück, mit offensichtlicher (schlechter) "Nacharbeit" und gelaserter Beschriftung.

    Ich hatte diese zwar schon in meinem NOP Tester als "...ist irgendwas in diese Richtung und wird das Board nicht gleich aufrauchen lassen..." überprüft, aber trotzdem in die "lieber nicht!" Sammelkiste gepackt.


    Die ganzen (vermeintlich) guten 6502, also original MOS mit Datecode 82/83 und so, sind alle in die KIMs gewandert.


    Aber, solange der Apple-1 läuft bin ich zufrieden. Werde mich trotzdem mal nach ein paar authentischeren 6502 umsehen. (...nein, Keramische kann ich mir nicht leisten... :-)


    Stellt sich jetzt nur die Frage, wie man dem Aufbau ein adäquates zu Hause bereitet. Obwohl ich ja mein Acryl-Gehäuse eigentlich ganz gut finde, ist es doch für die Epoche nicht wirklich passend. Für den "Ersten" ist es ok, der soll ja auch mehr ein "Funktionsmodell" sein. Aber dem Zweiten möchte ich eigentlich mehr einen 70er Jahre Bastler/Nerd Style verpassen. Also in Richtung Holzbrett(er), wahrscheinlich auch eher einzeln, wie es auf vielen Bildern von damals zu sehen ist. Werde mal versuchen bei unserem lokalen Tischler ein paar passende Rest-Bretter zu ergattern, aus denen man sich dann was Nostalgisches, aber auch Schönes bauen kann.


    Und die richtigen Trafos müssen auch noch her. Diesmal keine Ringkerne, sondern klassische Blocktrafos.


    Am Ende bekommen die einzelnen Baugruppen dann vielleicht doch noch eine Plexi-Haube, aber nur zum Verstauen.

    Eventuell wage ich mich auch mal ans thermische Verformen ran.



     

  • ... Ich gehe mal davon aus, dass die Programmierung eines leeren Proms funktionieren wird ...

    Ja, das ist auch genau was mich brennend interessiert.

    das Lesen funktionierte bei meinem ALL07 auch gut, hab ja alle Apple PROMs ausgelesen und (grob) gecheckt.

    Aber ob das Schreiben auch klappt werden wir dann sehen. Dafür werden ja ganz andere Strompulse benötigt, bei den "alten" CrNi Fuselinks...



    Nachtrag: wenn Du Deinen MMI 63S141 nicht mehr "brauchst", kannst Du doch auch versuchen etwas "dazu" zu brennen, und das dann überprüfen. Also sofern noch ein paar Bytes "frei" sind. So könntest Du zumindest die Brenner Hardware checken. Kein Ahnung, wie das bei den alten Brennprogrammen ist, aber normalerweise kann man den "blank check" vor der Programmierung abschalten....

  • Irgendwie cool das rechte Foto, wo der obere Text viel fetter wirkt. (Deutet darauf hin, das das Bild horizontal sehr leicht zittert)


    Ich meine im Applefritter über dieses Problem etwas gelesen zu haben, es ist nicht wirklich die Geschwindigkeit, aber die leichten Fertigungsunterschiede der verschiedenen Hersteller und die damit einher kommenden Timing und Unterschiede in der Steilheit der Flanken.

    Aber Krummodore war da teilweise nicht besser und es liefen nur bestimmte Kombinationen von TTLs zwei Hersteller oder zwei Serien die eingesetzt wurden um solche Probleme zu umgehen.

    Selbst Digitaltechnik war und ist es auch heute nicht rein digital. (HF, Interferenzen ...)

  • Das Monitorbild wackelt in der Tat etwas, links etwas mehr wie rechts. Aber das liegt wohl mehr an den alten Elkos im Monitor, die ich immer noch nicht getauscht habe (*schäm*). Ist bei jedem Rechner, den ich anklemme gleich.

    Der Helligkeitsunterschied kommt hauptsächlich durch den Shutter des iPhone, 60Hz und 60Hz. Der "Balken" läuft halt langsam von oben durchs Bild, und je nachdem wann man abdrückt, ist's mal oben oder mal woandes etwas heller.


    Edit: hier mal ein 5 15-Sekunden-Video davon.... Video

  • Das Monitorbild wackelt in der Tat etwas, links etwas mehr wie rechts. Aber das liegt wohl mehr an den alten Elkos im Monitor, die ich immer noch nicht getauscht habe (*schäm*). Ist bei jedem Rechner, den ich anklemme gleich.

    Der Helligkeitsunterschied kommt hauptsächlich durch den Shutter des iPhone, 60Hz und 60Hz. Der "Balken" läuft halt langsam von oben durchs Bild, und je nachdem wann man abdrückt, ist's mal oben oder mal woandes etwas heller.


    Edit: hier mal ein 5 15-Sekunden-Video davon.... Video

    Dann war es wohl eher Zufall das der Bereich gerade so lag.

  • Heute konnte ich bei meinem ALL02 die PROM-Funktionen (teilweise) testen. Mein MMI 63S141 war leider nicht leer. So konnte ich nur die Funktionen Blank Check und Read prüfen. Ich gehe mal davon aus, dass die Programmierung eines leeren Proms funktionieren wird ...

    Wenn das Prom übrig ist, kannst Du ja probehalber mal den Inhalt lesen und ein paar Bits von HI nach LO kippen und dann programmieren. Zumindest bei Eproms funktioniert das und man kann aus Einsen Nullen machen. Könnte mir vorstellen, dass das bei Proms auch in eine Richtung klappt.

  • Wenn das Prom übrig ist, kannst Du ja probehalber mal den Inhalt lesen und ein paar Bits von HI nach LO kippen und dann programmieren. Zumindest bei Eproms funktioniert das und man kann aus Einsen Nullen machen. Könnte mir vorstellen, dass das bei Proms auch in eine Richtung klappt.

    Ja, wäre einen Versuch wert. Also im unprogrammierten Zustand sind die Bits auf 1. Wenn ich dann überall Nullen drüberschreibe, müsste ich beim Auslesen nur Nullen erhalten ?

  • Ich habe das MMI 63S141 jetzt mal ausgelesen und als "MMI.obj" gespeichert. Da es sich um ein 256 x 4 Bit Prom handelt, habe ich den Puffer von 0 - 128 Bytes gespeichert (wird automatisch als .obj gespeichert). Die Objekt-Datei ist 384 Bytes groß. Ich habe sie in .bin gewandelt (siehe Anhang). Im nächsten Schritt versuche ich, das Prom mit einem "Null-File" zu beschreiben.

  • Ah, schade. Ich kenne mich mit den Proms leider nicht aus, vielleicht gibt es bei den Dingern ja eine Security-Fuse, die man am Ende des Programmiervorgangs setzt.

    Bei Eproms funktioniert das jedenfalls.


    Gibt es eventuell einen Leertest, den Du vor dem Programmieren abschalten kannst?


    Eventuell mal die ersten Bytes lassen wie sie sind und dann erst auf Null setzen. Dann müsste der Fehler ja eigentlich wandern.


    u Shift/i u hast Du im Programmiermenü mal probiert?

  • Hab es mal mit einem programmierten EPROM versucht.


    Ein leeres 27C256 mit irgend einem Inhalt im Minipro programmiert. Ich glaube es war das IEC ROM vom KIM. Egal, auf jeden Fall ist da "was" drin.

    Dann das EPROM im ALL07 ausgelesen und im (ziemlich rudimentärem) Hex-Editor die ersten 256 byte dann manuell mit 00 gefüllt.

    Anschließend den Buffer "drüber" gebrannt. Ging ohne Fehlermeldung. Buffer gecheckt, bis $FF ist alles 00.


    Zuletzt den Inhalt im Minipro gecheckt; bis $FF ist alles 00.


    Wie zu erwarten ist es beim EPROM kein Problem. Habe leider (noch) kein BPROM um es damit auszuprobieren.

  • Bei meiner ALL07 Software ist beim normalen Schreiben, also "P: Program" kein Blank Check vorgesehen. (Edit: "Verify" macht er aber auch ...)

    Es gibt aber hier im Menü auch schon eine "A: Auto" Funktion, wo zuerst Blank Check, dann Program und danach ein Verify gemacht wird.

    In etwas so, wie bei den "modernen" Programmierern per default...



    Edit2: u shift/i u hab ich auch in den Unterprogrammen probiert, in allen Formen und Farben. Tut sich leider nix...