Hallo Besucher, der Thread wurde 51k mal aufgerufen und enthält 372 Antworten

letzter Beitrag von r1me am

Vorstellung Projekt magicFlash64

  • Wird es vielleicht,wenn möglich, auch irgendwann mal eine Version für den C128 geben ?

    Also in einen normalen C128 sollte der Ersatz des C64 Kernals genau so funktionieren. Ich hab zwar einen C128, hab es aber noch nicht probiert.


    Bei einen C128-DCR wird dies aber nicht möglich sein, da hier alles in einen ROM gespeichert ist.


    Der C128 Mode selber wird erst mal so nicht unterstützt. Es wäre aber möglich auch auf einen C128-ROM-Steckplatz ein magicFlash64 zu stecken. Dann müßte allerdings eine Menü-Software für den C128 geschrieben werden, was momentan nicht auf meinem Plan steht. Und ob ein ROM zu ersetzen ausreicht, kann ich auch nicht sagen, da ich mich dann mit einen C128 zu wenig auskenne. Wenn mehre Steckplätze benötigt werden, gebe es maximal die Möglichkeit entsprechend viele magicFlash64 auf verschiede Sockel zu verteilen, was aber zu Platz-Problemen führen wird. Mehre ROM Bausteine mit einmal zu ersetzen ist mit der jetzigen Hardware ohne Anpassungen nicht möglich.

  • Also die umschaltung der Bänke sollte genauso gehen wie beim C64! Habe das schon mit Schaltern bei meinem gemacht! Sprich Original und JiffyDos. Aber wie schon gesagt die Software muss da angepasst werden!


    Aber soviele Kernals gibt es ja nicht für den 128! Also mir sind ausser JiffyDos keine bekannt!

  • Es wäre für einen normalen C128 , aber es ist absolut nicht so eilig. Außerdem stellt sich ohnehin die Frage,
    ob es so viele Anwender dieses Rechners gibt, die so ein Teil benötigen.
    Und wenn wäre ja auch der 128er Modus interessant.


    Wenn die SMD-Version mal kommen wird, dann wäre wahrscheinlich das Platzproblem gelöst. Aber natürlich ist da noch die Software.


    Will bitte Niemanden in Streß setzen. Ist auch so sicherlich ein absolut tolles Produkt.

  • @zschunky: Gibt es eigentlich einen Grund warum du den AVR Code in Assembler geschrieben hast?
    Ich denke in C wäre es einfacher zu warten und ebenso schnell? Oder sehe ich das falsch?

  • @zschunky: Gibt es eigentlich einen Grund warum du den AVR Code in Assembler geschrieben hast?
    Ich denke in C wäre es einfacher zu warten und ebenso schnell? Oder sehe ich das falsch?

    Das Problem ist dass der C64 mit ca. 1MHz läuft und der AVR hier max 10 Takte Zeit hat das entsprechende OE-Signal und die Addr-Signale auszuwerten. Und manche PLAs verkürzen die Zeit auch noch dass nicht mal 10 Takte zur Verfügung stehen. Wenn man das in C-Implementiert weiß man nie 100% wie schnell diese Auswertung wird. In Assembler hat man es selber in der Hand. Auch kann man in Assembler die 32 Register wesentlich effizienter nutzen als dies mit C der Fall ist. Interrupts sind hier komplett anders implementiert, da ein Interrupt nie an die Aufrufstelle zurück springt. Interrupt sind hier die restore-Taste oder reset-Taste. Und diese beiden Aktionen werden immer das laufende Kommando (falls eins läuft) abbrechen.

  • Hier noch ein paar Information für die Beta-Tester:



    • Schaut Euch bitte die Beschreibung unter https://github.com/zschunky/magicFlash64 einmal an
    • Baut den PCB nach Bestückungsplan auf, Startet mit den IC-Adapterleisten und danach den PLCC-Sockel, achtet bitte bei dem PLCC-Sockel auf die richtige Ausrichtung
    • Die Kapazität C4 muss je nach verwendeten Board anders bestückt werden, ich empfehle hier den beigelegt 2er Sockel zu verwenden
    • Der Atmega und der Flash-Speicher sind vorprogrammiert
    • Falls der Kernal auf dem Mainboard noch keinen Sockel hat, muss dieser gesockelt werden, der Sockel ist nicht Bestandteil des Bausatzes
    • Zur Inbetriebnahme müssen 3 Signale auf dem Mainboard angeschlossen werden (Restore, Reset, RW), diese werden mit J1 verbunden (an Pin1 Reset, an Pin2 Restore, an Pin3 RW), Pin1 ist der äusserste Pin
    • Schliesst die Gehäuse LED an J3 an, diese muss so angeschlossen werden, dass die beiden Kabel am Stecker auf Pin 2 und 3 kommen, der Pin vom Stecker ohne Kabel sollte auf Pin 1 sitzen
    • Jumpert den magicFlash entspechend dem verwendeten Sockel (Jumper-Beschreibung im Link oben)
    • Falls noch nicht geschen den magicFlash in den Kernal Sockel stecken, bei 24poligen Kernal stehen stehen 2 Reihen Pins an der Pin1 Stelle vom sockel über
    • Inbetriebnahme: Einschalten
    • Zunächst ein paar Tests durchführen (egal was auf dem Bildschirm zu sehen ist):
      a) die Power LED sollte leuchten -> falls nicht -> Rechner aus -> zuerst J3 und dann alle weiteren Anschlüsse inkl. eingesteckt ICs prüfen
      b) schaut nach ob die Power LED sich mit gedrückter Restore-Taste ändert -> bleibt die LED ständig an -> Rechner aus -> J3 und J1 prüfen
      c) das gleiche mit einer Reset-Taste, wenn reset gedrückt ist sollte sich die Power LED ändern -> bleibt die LED ständig an -> Rechner aus -> J1 prüfen
      d) wenn all diese Tests funktionieren scheint der Microcontroller zumindest schon zu arbeiten
    • Falls ein Menu halb zu sehen ist und der Border sich ständig umfärbt konnte der C64 nicht mit dem Mikrocontroller komminizieren. Ausschalten, prüfen ob C4 richtig bestückt wurde (evt. test von 11 nochmal probieren)
    • Ist ein Black screen zu sehen, dann ist zu 99% im Microcontroller der default slot falsch eingestellt (ich bin mir nicht sicher was ich hier voreingestellt habe :schande: ), hier bitte restore oder reset gedrückt halten bis die Power-LED blinkt und dann loslassen, jetzt sollte aber das Menu erscheinen
    • Als nächsten Schritt einmal die Tab PRG auswählen und das mf64-test starten, dies ist ein Programm was die Kommikation zwischen C64 und Mikrocontroller testet. Falls ein Modul eingesteckt ist und das Programm nicht automatisch startet, muss dir restore-taste einmal gedrückt werden im basic-prompt. Jetzt sollte der Test laufen. Solange der Test läft sieht man eigentlich nichts, falls der Test FAIL-geht ändert sich die Rahmenfarbe ständig, hier dann bitte den Zustand der LED notieren und mich dies wissen lassen (aus/an/blinken), bitte hier mal den Test ruhig mal eine Weile laufen lassen (~30min, wobei 5min auch zum Anfang erst mal reichen, trotzdem irgendwann mal 30min laufen lassen), Wichtig: während des Test nicht die Restore-Taste drücken. Bei Problemen noch einmal prüfen ob C4 richtig ausewählt ist.
    • Den Test beenden in dem man den Rechner aus und einschaltet (reset genügt nicht, da der Microcontroller immer noch hängen wird)
    • Bei Problemen mit dem Test, bitte nicht den Programmer bzw. das fw-update starten, die Wahrscheinlichkeit ist hier sehr hoch, dass man sich etwas zerschiesst, was dann dazuführt, dass man gar nix mehr starten kann
    • Wenn der Test gut verlaufen ist (also es gib keine Fehler), kann man nun loslegen. Den Programmer starten und eigene kernals/onefiler reinprogrammieren (slot auswählen und p drücken, anschliessend f7 um alle Änderungen abzuschliessen), falls es Probleme mit dem Black-Screen gab, einen Kernal im Programmer auswählen oder das Menu (slot63) und d drücken (dieser slot wird default), d funktioniert nicht bei one-filern
    • Bitte Rückmeldungen an mich:
      a) gab es Probleme beim Aufbau?
      b) war das Manual eindeutig?
      c) Fehler zurückmelden (bitte Angabe von Board, PLA und C4-Wert)


    Viel Erfolg


    -zschunky

  • So hier mal ein preview in SMD. Alles aber noch nicht 100& Wir sind noch am überlegen ob alles so gehen kann!


    front4.jpg



    back4.jpg


    Das EEprom bekommt natürlich einen Sockel, den hatte ich nur nicht in 3D so wie auch den Quarz der bekommt zwar keine Sockel aber auch kein 3D da!

  • Ja aber nur in der Mitte. Am Anfang und Ende sind je 2 durchgehend als Führung. Und die andern kürzt man vorher. So die Theorie.

    Das ist aber nicht geschickt gelöst, wie soll man die denn so verlöten können? Das Plastik, was den Abstand vorgibt, ist da einem im Weg, lässt man es weg, hat man einzelne Stifte!

  • Ich denke das geht! Ich werde es vorher Testen!


    Sockel2.JPG


    Man muss nur die gedrehten Stifte nehmen die hab ich aber nicht als 3D Da ist dann noch luft dazwischen!


    Stiftleiste.jpeg


    Hier sieht man es gut das auf einer Seite ein Konus ist und auf der anderen eine runde Platte wo man löten kann. Also ist da noch Luft!

  • Hallo!


    Ich habe den Bausatz heute aufgebaut, und er hat bis auf eine Kleinigkeit sofort funktioniert. Hier meine Erfahrungen dazu:


    - In der Github-Doku steht prinzipiell alles drin, aber man muss schon sehr suchen. Was mir auf jeden Fall fehlt, ist eine Übersicht aller Anschlüsse mit Erklärungen. Wofür genau sind J2 und J4 gut?
    - Man sollte meiner Erfahrung nach die Stiftleisten so wie sie sind einlöten, und anschließend die störenden Pins mit einem Elektronik-Seitenschneider fast plan abschneiden.
    - Auf dem beigelegten Bestückungsplan ist C4 mit 220p eingegeben... Nicht lange nachgedacht und eingelötet, prompt war es der falsche für mein Board, und der magicFlash64 machte nur ein schönes Border-Farbenspiel. :D


    Ansonsten scheint alles zu funktionieren. Ich habe bereits 2 Kernals und 2 PRGs geflasht. Das Zusammenspiel mit einer 1541U2 muss ich nochmal genauer ergründen.


    Alles in allem macht es einen sehr guten Eindruck, was ich mir jetzt noch wünschen würde wären BASIC und Charsets, so wie Henning das beim Reprom64 gelöst hat. ;)


    Ich teste weiter...
    c0z


  • Alles in allem macht es einen sehr guten Eindruck, was ich mir jetzt noch wünschen würde wären BASIC und Charsets, so wie Henning das beim Reprom64 gelöst hat. ;)


    Ich teste weiter...
    c0z

    das klingt doch mal super.
    Mit der Ultimate 2 würde mich auch Interessieren ob das zusammen läuft.


    Danke für Deinen Feedback :dafuer: