in cpu.c eingefügt werden muss.
Leider der Emulator nicht ganz funktioniert: Der Arduino Nano meldete
sich mit "Coldstart (C) Warmstart(W)" oder so ähnlich. Nach dem drücken
gab er allerdings nie mehr ein Lebenszeichen von sich ... seltsam.
Meine Anforderungen an den Emulator sind:
- muss auf einem Arduino Nano laufen können
- soll aber auch leicht auf einen PiPico oder ESP32 portierbar sein
> Meine Anforderungen
da muss ich Goethe zitieren:
Ein Hündchen wird gesucht
Das weder murrt noch beißt,
Zerbrochene Gläser frißt
Und Diamanten – –
https://www.aphorismen.de/zitat/156086
Aber das sieht ja interessant aus. Schon 2013 begonnen.
Christoph M. schrieb:> Meine Anforderungen an den Emulator sind:>> muss auf einem Arduino Nano laufen können> soll aber auch leicht auf einen PiPico oder ESP32 portierbar sein
Schreib ihn dir. Dann merkst du vielleicht wie realitätsfremd dein
Wunsch ist
Als erstes brauche ich einen Assembler.
Praktischerweise gibt es die Online:
https://www.masswerk.at/6502/assembler.html
Passt dessen Format in die Applezeit? Der Syntax ist ja bisweilen
unterschiedlich.
Christoph M. schrieb:> Meine Anforderungen an den Emulator sind:> - muss auf einem Arduino Nano laufen können
Muss das unbedingt sein? Es gibt so viele billige leistungsfähige
Controller, wozu sich den Aufwand mit dem Nano machen?
Christoph M. schrieb:> Leider der Emulator nicht ganz funktioniert: Der Arduino Nano meldete> sich mit "Coldstart (C) Warmstart(W)" oder so ähnlich.
Etwas ungenauer geht es nicht?
Oder meldet er sich mit
>Muss das unbedingt sein? Es gibt so viele billige leistungsfähige>Controller, wozu sich den Aufwand mit dem Nano machen?
Sonst wäre es zu einfach. Für die größeren Controller gibt es
Haufenweise CPU-Emulatoren in C oder C++, das wäre eher keine
Herausforderung.
Ich habe Spaßeshalber mal den obigen 6502-Arduino-Nano-Emulator umgebaut
um ihn auf Ubuntu laufen zu lassen.
Es meldet sich ein "EHBASIC, allerdings weiß ich leider nicht genau, wie
man es bedient. Hier der Log meines ersten Versuchs:
Andreas H. (ahz)
18.04.2025 17:18
>Etwas ungenauer geht es nicht?
Oh, jetzt haben wir quasi gleichzeitig gepostet.
Läuft es bei dir auf dem Nano?
Aus irgendwelchen Gründen hat es die obige Ausgabe auf dem Nano nur
einmal angezeigt. Vielleicht hat meiner ein Flash Problem.
Christoph M. schrieb:> Sonst wäre es zu einfach. Für die größeren Controller gibt es> Haufenweise CPU-Emulatoren in C oder C++, das wäre eher keine> Herausforderung.
Wenn du eine Herausforderung möchtest, warum programmierst du dann
keinen eigenen Emulator und versuchst einen fertigen zu finden?
Niklas G. (erlkoenig) Benutzerseite
>Wenn du eine Herausforderung möchtest, warum programmierst du dann>keinen eigenen Emulator und versuchst einen fertigen zu finden?
Weil es ja den Verlinkten schon gibt. Der ist aber unschön programmiert,
weil sich in cpu.c die ROM-Listings befinden. Das Ganze ist nicht gut
gekapselt und nicht gut separierbar.
Christoph M. schrieb:> Das Ganze ist nicht gut> gekapselt und nicht gut separierbar.
Dann reparier es halt, dann hast du deine Herausforderung! Oder willst
du Herausforderungen nur für andere?
So, jetzt habe ich den 6502 auf dem Arduino Nano zum laufen gebracht (
es waren einige Fehler drinnen ) und ich konnte die Fibonacci-Folge aus
dem Wettbewerb mittels eines Assemblerprogramms (hat auch länger
gedauert als gedacht) berechnen.
Gesamtrechenzeit für die 80 stellige Zahl:
5.13 Sekunden
Die Terminalausgabe über die serielle Schnittstelle ist vermutlich der
Hauptbremser.
Ich muss die mal abstellen und nur das Endergebnis drucken.
Das ganze bezieht sich auf den Wettbewerb hier:
Beitrag "Wettkampf Opa(MOS6502) gegen Frischling(ATmega)"
edit:
Die Rechenzeit, wenn man nur das Endergebnis ausgibt: 0.79 Sekunden