Posts by Henning

    Hmm... und was soll ich in die vorhergehenden 2048 bytes für diesen Charset brennen? Das hier ist schließlich nur die untere Hälfte mit Groß- und Kleinbuchstaben. Da kann ich dann gerne Nullbytes vorschreiben, aber dann siehst du nur was, wenn du auf Groß/Kleinschreibung wechselst.


    Du wirst nicht darum herumkommen, die einen Zeichensatzeditor zu schnappen und den Zeichensatz zu komplettieren, sonst macht das halt wenig Sinn.


    Das Zeichensatz-ROM enthält immer 4096 bytes, also 4kB.


    lass mal das folgende Programm laufen:


    10 fori=0to255:poke1024+i,i:next


    Und dann drücke mal Commodore-Shift, dann sollte das klar werden.

    Wenn ich jetzt die Vermutung anstelle, dass dort jemand elektronische Schaltungen geübt hat - so wie man das heute z.B. mit Arduino oder Raspberry Pi macht - bin ich dann total auf dem Holz weg bzw. war das "früher" auf diesem Weg möglich?

    Das ist zumindest nicht unwahrscheinlich. Sowas geht tatsächlich ganz gut, da zumindest zwei Leitungen des 6510-IO-Ports direkt am Tapeport liegen und sich somit über $01 schalten lassen. Könnte natürlich auch was zum Debuggen oder Steuern sein, das müsste man sich genauer angucken.

    Kannst du mit tristate machen, musst du aber nicht. Im MixSID zieht der GAL die Eingangsleitungen über die internen pullups HIGH wenn nichts angeschlossen ist. Ein explizites HIGH macht ihm auch nichts aus.


    Ich mache das selbst auch ohne tristate:


    ONE: set port a bits 1-2 to 0
    TWO: set port a bits 1-2 to 1
    THREE: set port a bits 1-2 to 2
    FOUR: set port a bits 1-2 to 3


    Übrigens, statt "port a bits 1-2" kannst du ab version 1.6 auch "a1-2" schreiben.

    Was die Qualität angeht, kann ich für Prototypen auf jeden Fall dirtypcbs empfehlen. Die geben zwar explizit überhaupt gar keine Garantie auf nichts, aber bisher war immer alles astrein. Bei kleineren Batches (50-100 Stück) nehme ich itead.com, da ist die Qualität auch gegeben.

    - Per Swap-Funktion gemountete D64, sind unlinked

    Ich habe versucht, mit einem busy-wait darauf zu warten, dass das Image nicht mehr im Zustand "dirty" ist, bevor ich das neue Image mounte. Allerdings funktioniert das nicht verlässlich, manchmal hängt sich die Ultimate-Applikation dabei auf.

    Tja, man sollte vielleicht einfach darauf achten, nicht in einen Nullpointer zu laufen, nur weil es gerade kein UserInterface gibt... :whistling:


    Jetzt werden alle Daten zurück in die d64/g64 Datei geschrieben, bevor das neue Image gemounted wird. Funktioniert in meinen Tests bisher einwandfrei.


    Da Gideon jetzt erfreulicherweise nach github gewechselt ist, habe ich mal direkt bei ihm einen pull-request gemacht:


    https://github.com/GideonZ/1541ultimate/pull/1


    Hoffen wir mal, dass er den reinnimmt. Ansonsten siehe https://github.com/hbekel/1541…e/disk-swap-writeback-fix

    Werde wohl einen 6581R3 und einen 8580R5 einsetzen.


    Welche Einstellungen kann man da empfehlen?

    Generell immer die Einstellung, die am besten zum abgespielten Stück passt.


    Nach dem Einschalten wird z.B. bei mir erstmal der 8580 als primärer SID mit Digifix und Ausgabe in mono eingestellt. So kann ich erstmal sicher gehen, dass ich alles höre, egal für welchen SID das jeweilige Stück gemacht wurde. Denn ein 8580 mit Digifix kann alles, was ein 6581 kann, aber nicht umgekehrt. Da der 8580 primär ist, wird auch dieses Modell erkannt, wenn eine softwareseitige Erkennung durchgeführt wird. Manche Demos zeigen z.B. einen Warnhinweis, wenn sie "nur" einen 6581 finden.


    Die meisten einfachen Mono-Stücke, die für den 6581 oder für beide Modelle gemacht sind, können gut in "Stereo" abgespielt werden, also jeweils ein SID auf jedem Stereo-Kanal, wodurch sich eine durch die Klangunterschiede zwischen den Modellen verursachte Stereoverteilung ergibt. Bei Stücken, die für den 8580 gemacht sind und die z.B. gemischte Wellenformen benutzen (die auf dem 6581 u.U. nur Gekrächze erzeugen) funktioniert das halt weniger gut.


    Echte Stereo-Stücke müssen natürlich im Stereo-Adressierungsmodus mit entsprechender Mischung abgespielt werden.


    Am besten ist es also, die passende Einstellung zur Laufzeit zu wählen zu können. Das kann man mit einfachen Schaltern machen. Wenn du lieber keine Löcher in dein Gehäuse bohren willst, solltest du dir (schamlose Eigenwerbung) meinen keyman64 mal ansehen. Siehe auch


    Gerade stand hier noch "Der GAL ist leer!". Jetzt hast du schon wieder an deinen Beiträgen rumeditiert, ohne das zu kennzeichnen. So kann ich keinen support leisten, sorry.

    Mhhh wenn ich den MixSID eingesteckt habe und am GAL von VCC nach GND (pin 20 nach pin 10) Auf Durchgang messe habe ich durchgang,nicht wenn ich die Platine heras nehme.

    Das würde eher darauf hindeuten, dass der MixSID im eingesteckten Zustand Bauteile auf dem Board berührt. Da sollte generell kein Durchgang von VCC nach GND sein, egal, wo du misst. Ein kurzzeitiger Durchgang zwischen VCC und GND ist allerdings normal, wenn die Kondensatoren entladen sind. Nur dauerhaften Durchgang solltest du nicht haben.

    Direkt an den beiden SIDs Pin 8 (CS) messen, wenn dort dauerhaft low anliegt, fühlt sich der SID bei allem angesprochen, was auf dem Bus passiert. In diesem Fall nach einem Kurzschluss mit GND suchen, entweder zwischen Pin 8 des Original-SID-Sockels zum GAL Pin 5 oder von GAL Pin 17 nach SID1 Pin 8 bzw GAL Pin 16 nach SID2 Pin 8.


    Ebenfalls prüfen, ob du tatsächlich A5 und A8 erwischt hast. Auch mal ohne A5/A8 versuchen.


    Fotos von Ober- und Unterseite des MixSIDs könnten auch helfen, ansonsten lässt sich nicht viel sagen.


    Ich nehme an, dass du die Versorgungsspannungen bereits geprüft hast, wie beschrieben.

    Im Standalone-Modus funktioniert das nicht. Bei "Run" wird das PRG von der Ultimate über DMA direkt in den C64-Speicher geladen und gestartet. Und das geht eben nur, wenn die Ultimate auch am Bus hängt, also im Expansionsport steckt. Im Standalone-Modus ist die Ultimate für den C64 eben "nur" eine 1541.

    Super, jetzt funktioniert es!


    Jedoch hab ich n verify Fehler Ein Byte steckt auf FF fest.

    Was funktioniert, was funktioniert nicht? Sofern der Verify error im EEPROM liegt, ist das kein Problem, da die EESAVE Fuse gesetzt ist, ist das normal. Achte darauf, was das Minipro tatsächlich programmiert: "Code" bedeutet für Atmels Program memory, "Data" bedeutet EEPROM, "Config" bedeutet fuses.


    Über das Minipro kann das EEPROM mit diesen Fuses so nicht programmiert werden.


    Programmiert wird EEPROM durch den Atmel selbst, wenn der client-Befehl "configure" abgesetzt wird.