Software > Alternative Betriebssysteme

Mint/XaAES mit 020 CPU ...

<< < (7/20) > >>

HelmutK:
Die suchen noch ,.,

czietz:
Mal meine laienhaften Gedanken dazu:

In MiNT [1] entscheidet die Reaktion des Prozessors auf den Befehl pmove   tt0,(sp), den es nur bei 68030 gibt, darüber, ob er als 68030 oder 68020 erkannt wird. Für den 68020 ist dieser Befehl eine Coprozessor-Instruktion für die Coprozessor-ID (CpID) 0 mit dem Type 0. Dummerweise ist nach meiner Lektüre nicht wirklich definiert, wie ein 68020 auf solch eine Instruktion reagiert. Im Handbuch steht nur: Instructions with a CpID of zero and a nonzero type field are unimplemented instructions that cause the to begin exception processing. (Hervorhebung von mir.)

Was ein 68020 mit CpID = 0 und Type = 0 macht, steht da nicht (und mangels 68020 kann ich es auch nicht testen).

EmuTOS [2] testet zusätzlich noch, ob sich der Datencache einschalten lässt. Da der 68020 den nicht hat, ist das ein gutes Unterscheidungsmerkmal.

[1] <http://sparemint.org/cgi-bin/cvsweb/freemint/sys/arch/detect.S?rev=1.18&content-type=text/x-cvsweb-markup>
[2] <https://sourceforge.net/p/emutos/code/ci/master/tree/bios/processor.S>

Lukas Frank:
Seltsamerweise klappt das setzen der 020 CPU unter Hatari aber eben nicht bei richtiger Hardware ...

Aktueller Helmut Build mit TOS 2.06 (EmuTOS genau gleich) ...

HelmutK:
Ha, hab ich auch gerade getestet:


--- Code: ---cat /hatari/C/COOKIES.TXT
# Slots available:   64
# Slots used:        10
0x5F435055 (_CPU): 0x00000014
0x5F465055 (_FPU): 0x00000000
0x5F56444F (_VDO): 0x00000000
0x5F4D4348 (_MCH): 0x00000000
0x5F534E44 (_SND): 0x00000001
0x5F49534F (_ISO): 0x00000000
0x4D694E54 (MiNT): 0x00000113
0x5F464C4B (_FLK): 0x00000100
0x5F414B50 (_AKP): 0x00000100
0x52535646 (RSVF): 0x000B7600

--- Ende Code ---

Aber der hat ja auch keine FPU. Das würde für die Theorie von czietz sprechen.

czietz:
Im Zweifelsfall ist die CPU-Emulation von Hatari an dieser Stelle aber schlichtweg falsch. Sowas muss man immer mit echter Hardware testen. Zumal Hatari 1.7.0 auch eine uralte Version ist.

Ich habe jetzt herausgefunden, was mit dem Befehl pmove tt0,(sp) passiert auf dem 68020. Der Befehl testet ja das Vorhandensein der MMU als Unterscheidung zwischen 68020 und 68030. Es gibt aber für den 68020 eine externe MMU namens 68851 als Coprozessor. Für den 68020 ist diese Instruktion also ein Befehl an den "Coprozessor" 68851. Den hast Du zwar nicht, aber vermutlich meldet der 68020 trotzdem keinen Fehler in diesem Fall.

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln