56k DSP und fehlerhafte Speicherzugriffe

OP #6962798
Guten Tag zusammen,

im Rahmen einer Emulation der Motorola DSP 56300 Familie bin ich auf ein 
Problem gestoßen, bei dem mir das Motorola Family Manual nicht so recht 
weiterhilft. Ich hoffe, hier ein paar alte Hasen zu finden, die den DSP 
noch kennen :)

Wie verhält sich ein fehlerhafter Zugriff auf Speicher, also sowas wie:
1
move x0,x:>$ddeeff
2
move y:>$ddeeff,a

Bei einem gültigen Speicherbereich von, sagen wir mal nur $000000 bis 
$020000. Gemeint sind Zugriffe auf ungültige Speicheradressen.

Der Illegal-Instruction Interrupt wird wohl nur aufgerufen, wenn der 
Opcode wirklich ungültig ist, das ist aber bei obigen Beispielen nicht 
der Fall.

Im Simulator von Motorola passiert einfach gar nichts, beim Lesen ist 
der Wert $000000.

Die Frage ist, ob ich solche Zugriffe einfach ignoriere oder sie 
irgendwie speziell behandeln muss. Vielen Dank für Hilfe.

Leif
Gast #6963921
Wenn ich mich recht entsinne, passierte beim 56002 bei solchen 
X/Y-Zugriffen gar nix, bzw. "Garbage in, Garbage out". Kann mich nicht 
entsinnen, ob's Mirror-Effekte gab.
Wie der 56300 implementiert ist, weiss ich nicht. Für einen Emulator 
wäre natürlich praktisch, wenn illegale Adresszugriffe eine Trap 
schmeissen.
Wo du vielleicht noch fündig wirst, sind die diversen Retro-Projekte zum 
Atari Falcon (Coldfire-Projekt, Suska, etc.), allerdings könnten da die 
56k-Implementierungen recht verwaist sein.
#6963999
So wie ich den 56k noch aus Atari-Zeiten kenne (ja, ich weiss der 56k3 
hat 24Bit Addressen), gibts da überhaupt nichts, was eine Art Bus Error 
ala 68k produzieren kann. Es gibt ja auch keinen externen BERR-Pin. D.h. 
wenn die Adressbereiche in der BIU nicht ausdekodiert sind, muss es 
intern ein automatisches Transfer Acknowledge geben. Was dann gelesen 
wird, fällt unter undefined, könnte in der Realität evtl. auch der 
letzte extern gelesene Wert sein.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 4 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.