Machbarkeitsfrage: Drop-In-Ersatz für 6510 auf FPGA-Basis?

Es gibt 95 Antworten in diesem Thema, welches 17.006 mal aufgerufen wurde. Der letzte Beitrag (20. September 2015 um 14:29) ist von Jotta.

  • Klar ist das machbar. Passende Hardware gibt es fertig als Bitte melde dich an, um diesen Link zu sehen..

    6502-Cores gibt es mehrere im Netz. Falls man keinen findet, der die illegalen Opcodes unterstützt, muss man die nachrüsten. Das ist ein bischen Aufwand, aber sicher kein Hexenwerk. Dokumentiert sind sie ja.

    Nur vom Preis her ist das momentan nicht interessant.

  • Bevor hier aber der total-pillepalle-Eindruck entsteht: Die Herrausforderung dabei ist nicht das 99%-Implementieren der CPU, sondern das verlässliche und reproduzierbare Testen der 100%-Kompatibilität. "Opcode X macht Y" ist trivial, aber Randfälle wie (z. B.!) zyklengenauen Interrupts, besonders bei verschachtelten NMI und IRQ etc. verlangt schon ein gut durchdachtes Testen. Ansonsten wird es nicht lange dauern, bis Meldungen wie "Edge of Disgrace stürzt manchmal ab" kommen. Und dann such mal einer, wenn er nicht von Anfang an entsprechende Vorkehrungen getroffen hat... Und gerade die vorhandenen quelloffenen HDL-Cores haben da ihre Grenzen, weils an den Stellen nämlich keinen Spaß mehr macht.

    Irgendjemand hier im Forum müsste eigentlich ein Lied davon singen können.

    Trotzdem, 10 Jahre sind's nicht :)

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen.

    Bitte melde dich an, um diesen Link zu sehen.

  • Ansonsten wird es nicht lange dauern, bis Meldungen wie "Edge of Disgrace stürzt manchmal ab" kommen.

    Die Demo ist sowieso ein sehr guter Test. Wenn ich eines meiner 250407 mit einer SuperPLA bestücke bleibt 'Edge of Disgrace' an einer bestimmten Stelle reproduzierbar hängen. Mit einer echten PLA oder dem MOS-Äquivalent gibt es hingegen keine Probleme. Verwende ich dieselbe SuperPLA auf einem 250425 oder 250466 dann läuft EoD sauber durch.

    Es kann also sein, daß es, ja nach Board, nicht nur wichtig ist, daß alles auf den Zyklus genau passiert, sondern auch wann innerhalb eines Zyklus Adressen und Daten auf dem Bus erscheinen und Steuerleitungen gesetzt werden.

  • Die Demo ist sowieso ein sehr guter Test. Wenn ich eines meiner 250407 mit einer SuperPLA bestücke bleibt 'Edge of Disgrace' an einer bestimmten Stelle reproduzierbar hängen. Mit einer echten PLA oder dem MOS-Äquivalent gibt es hingegen keine Probleme. Verwende ich dieselbe SuperPLA auf einem 250425 oder 250466 dann läuft EoD sauber durch.

    Es kann also sein, daß es, ja nach Board, nicht nur wichtig ist, daß alles auf den Zyklus genau passiert, sondern auch wann innerhalb eines Zyklus Adressen und Daten auf dem Bus erscheinen und Steuerleitungen gesetzt werden.

    Funktioniert die realPLA?

  • Es kann also sein, daß es, ja nach Board, nicht nur wichtig ist, daß alles auf den Zyklus genau passiert, sondern auch wann innerhalb eines Zyklus Adressen und Daten auf dem Bus erscheinen und Steuerleitungen gesetzt werden.


    Definitiv. Das hat bei EF3 und realPLA auch eine Weile gedauert, bis alles gestimmt hat. Die Kisten sind manchmal ganz schön zickig, wenn etwas 100 ns früher später als bei den Original-Teilen kommt.

    Funktioniert die realPLA?


    Klar ;)

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen.

    Bitte melde dich an, um diesen Link zu sehen.

  • In meiner 250407? Hatte ich dir die geliehen?


    (skoe schweigt und geistert weiter finster dreinschauend um Gerrits Haus, mit einer realPLA in der Hand)

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen.

    Bitte melde dich an, um diesen Link zu sehen.


  • (skoe schweigt und geistert weiter finster dreinschauend um Gerrits Haus, mit einer realPLA in der Hand)

    Und meine Leerplatinen vergammeln hier... :platsch:

  • Und dann spielt auch noch eine Rolle, ob in den CIA-Sockeln jeweils ein 6526 oder ein 6526A steckt. Es kann sein, dass EOD mit der neuen PLA nur läuft, weil der CIA auf dem andreren Board ein anderer ist und damit der Grenzfall nicht auftritt.

  • Wobei die Unterscheidung zwischen 6526 und 6526A falsch ist. Ich habe 6526A-1 die sich, laut Testprogramm, wie ein 6526 verhalten. Ist auch kein Wunder, sie haben einen Datecode von '85.

    Besser wäre es zu schreiben ein 6526 vor Mitte 1986 oder ein 6526/8521 ab Mitte/Ende 1986. Letztere waren meist als 'A' oder sogar 'B' gestempelt. Der Unterschied kam mit der Umstellung auf HMOS rein.

  • Nur vom Preis her ist das momentan nicht interessant.

    Das ist genau der Punkt. Nur sind die Preise für FPGAs (leider) ziemlich konstant, sie werden zum gleichen Preis eben immer leistungsfähiger und die Anzahl der Pins steigt. "Kleine" FPGAs gibt es im Prinzip nicht.
    Anders bei Microcontrollern, da wird das komplette Preis- und Leistungsspektrum bedient.

    Für's Hobby bleiben da noch die Auslaufmodelle, die es zu erschwinglichen Preisen gibt. Also noch paar Jahre warten, bis die heutigen High-End-FPGAs zum alten Eisen gehören, dann lässt sich so manches Projekt umsetzen, das heute noch unwahrscheinlich zu sein scheint. Aber man kann ja schonmal anfangen, der HDL-Code wird auch in ein paar Jahren auf leistungsfähigeren Chips funktionieren.

  • Und meine Leerplatinen vergammeln hier...


    Ich hab auch nur noch ein einziges Exemplar, und das gebe ich nicht aus der Hand. Die alle paar Wochen auftauchenden Anfragen kann ich auch nur an Donald weiterleiten.

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen.

    Bitte melde dich an, um diesen Link zu sehen.

  • Zitat


    Ich hab auch nur noch ein einziges Exemplar, und das gebe ich nicht aus der Hand. Die alle paar Wochen auftauchenden Anfragen kann ich auch nur an Donald weiterleiten.

    Bei mir dito, bei meinen platinen. ein Jammer, auch für ihn.

    Code: Floppy Fehlerkanal abfragen - Ausserdem kann ich bei "drive not ready" den I: und N: Befehl verwenden und notfalls den Kopf manuell zurückschieben. Und Finger weg vom Stepper!
    10 open1,8,15                   : rem 8 ist die Geräteadresse und das kann man bei Bedarf natürlich anpassen
    20 get#1,a$:?a$;:ifst<>64goto20 : rem Das CLOSE 1 am Ende kann man sich sparen, weil beim RUN automatisch ein CLOSE ALL ausgeführt wird.
    RUN
  • ich habe 200 Leerplatinen... davon habe ich die hälfte Donald versprochen inkl. Maske für Bestücker. Die andere hälfte wollte ich bestücken lassen. Aber ich brauche keine 100 realPLA und verkaufen möchte ich nicht. d. h. ich will mir den Kommerz -Schuh nicht anziehen. daher liegt das Projekt auf Eis. Eine SB zu organisieren ist das maximale der Gefühle.. aber gewerblichen Handel möchte ich nicht betreiben

  • Hallo,

    Alles ist machbar. Über den C64 und seine Komponenten ist so gut wie alles bekannt.
    Wenn eine Einzelperson einen Bitte melde dich an, um diesen Link zu sehen. realisieren kann, über den so gut wie nichts bekannt ist, dann werden in ein paar Jahren immer mal wieder Ersatz Komponenten für den C64 auf den Markt kommen. Ob es aktuell Sinn macht, da es ja offensichtlich immer noch NOS Teile gibt, die hoffentlich wirklich aus einem Stock sind und nicht aus einem funktionierenden C64 geplündert wurden, sei mal dahingestellt.

    Entschuldigung für mein schlechtes Deutsch - ich bin ein Australier.
    Ich bin der Autor von das C65 als FPGA Projekt.

    Wie für das 6510 auf FPGA-Basis, dass ist ganz möglich. Die unerlaubt Anweisungen sind seit viele Jahren komplett verstehen. Weil sie sind komplett erstehen, kann man erfüllen sie auf FPGA. Das ist kein Problem, außer Zeit und Geld ;)

    Für meinem C65GS Project, werde ich erfüllen sie durch die Emulation auf dem 45GS10 CPU. Das 45GS10 ist ein 4502-kompatibel CPU. Es rennt bei 48MHz. Ich werde einbeziehen Eigenschaften diese einfachen zu machen.

    MfG
    Paul.

  • Wäre es nicht viele flexiebeler so ein MOS durch ein Raspberry zu mit GIPO-Expander zu ersetzen.
    Immerhin könnte man dann z.B. über den HDMI zur Laufzeit in die CPU "reinschaun" und viele weitere Spielerreien anstellen.

    Und preisslich dürfte es sich auch nicht so viel geben.

  • Das ist dann aber kein Drop-In-Ersatz mehr ;)

    Zitat von Vernunftmensch

    ist nunmal so, wer scheiße redet der kriegt ein bißchen frischluft

  • Wäre es nicht viele flexiebeler so ein MOS durch ein Raspberry zu mit GIPO-Expander zu ersetzen.


    Meinst du eines dieser Dinger, welches einen MCP230xx-Chip verwenden, um weitere über I2C gesteuerte I/O-Pins zu bekommen?

    Dann erzähl doch mal, wie du mit einem Chip, der über einen seriellen 400kHz-Bus angesteuert wird einen CPU-Bus mit parallelen Signalen bedienen willst, der mit 1MHz Takt läuft.

    10 x=rnd(-1963):fori=1to81:y=rnd(1):next
    20 forj=1to5:printchr$(rnd(1)*16+70);:next
    30 printint(rnd(1)*328)-217

    Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen.

  • Dann erzähl doch mal, wie du mit einem Chip, der über einen seriellen 400kHz-Bus angesteuert wird einen CPU-Bus mit parallelen Signalen bedienen willst, der mit 1MHz Takt läuft.

    Hm, zu langsam? Wie wäre es dann mit so einem Ardunio. Der hätte von haus aus 54 IOs und kann da mit 16 Mhz drauf. Vielleich past das ja eher. Das direkte reinschauen wird dann aber komplizierter.