Beiträge von Unseen im Thema „Hilfe für Problem mit Floating Points in Emulator“

    Ja, ich habe das Break flag falsch gesetzt bzw hatte es auch falsch verstanden.
    Mein Verständnis jetzt: Break ist immer gesetzt, wird aber bei BRK gesetzt auf den Stack gelegt und bei einem Hardwareinterrupt gelöscht auf den Stack gelegt... ok.

    Das Break-Flag gibt es in der CPU überhaupt nicht =) Das wird nur spontan erzeugt, wenn die Flags auf den Stack abgelegt werden: Normalerweise wird eine 1 reingeschrieben, einzig bei einer BRK-Anweisung wird dort eine 0 erzwungen.

    Zitat

    Jetzt bleibe ich wegen dem Carry-Flag hängen (siehe Screenshot) :smile:
    sobald ich bei 0x80 "ankomme".

    Das Carry-Bit wird nur von Addition/Subtraktion, Shiftbefehlen und beim expliziten überschreiben (CLC/SEC/PLP) beeinflusst, warum beeinflusst dein LDA das überhaupt?

    ---> Woran erkenne ich hier genau, ob es nun richtig ist oder falsch :smile:

    Wenn es erscheint ist was falsch. Bei einem fehlerfreien Durchlauf erscheinen lediglich die Namen der geladenen Tests.

    Zitat

    2) Aktuell muss ich nach jeder "Testiteration" eine Taste drücken, damit es weiterläuft. Kann man das irgendwie quasi "komplett durchlaufen" lassen?

    Ja, Fehler beseitigen.

    Die Testsuite von Wolfgang Lorenz bekomme ich leider nicht ans Rennen - mir ist da unklar, wie ich die in ein ROM-File assembliere

    Mindestens eine Version davon sollte als Sammlung von PRG-Dateien (evtl. aufgeteilt auf mehrere D64-Files) daherkommen - die laufen einfach aus dem RAM und verwenden die normalen C64-ROM-Kernal-Aufrufe für I/O. Deinem Screenshot nach starten Kernal und BASIC ja schon. Das Nachladen kann man auch einfach nachbauen, indem man die Emulation bei PC=$ffd5 kurz unterbricht und den Ladevorgang extern simuliert (Adresse des Filenamens steht in $bb/$bc, Länge in $b7, Ladeadresse aus den ersten beiden Byte der Datei holen, Daten dahin laden, PC auf $f5ae setzen)

    Mein aktuelles Problem: Die Fließkommarechnungen bzw Ausgabe von Fließkommazahlen ist nicht ganz das, was es sein sollte.

    Teste deinen Emulator doch mal mit einer der Bitte melde dich an, um diesen Link zu sehen.. Die von Wolfgang Lorenz ist praktischerweise auch gleich für den C64 geschrieben und wenn die keinen Fehler in den Opcodes mehr meldet, funktioniert wahrscheinlich auch die Fliesskommaberechnung korrekt.