56k DSP und fehlerhafte Speicherzugriffe

#6962798
Lesenswert?

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
Lesenswert?

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
Lesenswert?

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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren