Suche 68000 Emulation auf ARM

Gast #5630551
Lesenswert?

Moin,

ich möchte binärcode für einen Motorola 68000 auf einem ARM-Prozessor 
laufen lassen. Gefunden habe ich dazu Cyclone 68000 
https://notaz.gp2x.de/cyclone.php

Wer hat mit dieser Thematik Erfahrung? Andere Bekannte Projekte neben 
dem genannten Cyclone?

Zielsystem ist derzeit ein ARM-Cortex-A9, das Code für den 68000 und 
68020 laufen lassen soll.
Gast #5632092
Lesenswert?

Rufus Τ. F. schrieb:
> Es gibt einen 68k-Emulator, der dafür gedacht ist, alte Macs zu
> emulieren. Das ist ein Open-Source-Projekt, das auf verschiedene
> Plattformen portiert wurde:

> Der Kern der 68k-Emulation ist wohl UAE entlehnt:

Danke für die Hinweise, den Basilisken kannte ich noch nicht.

Insgesamt bin ich mehr an einer schlanken Prozessoremulationen 
interessiert, als an eine Computer-System-Nachstellung. Da muss wohl bei 
beiden viel "freigeschnitten" werden und gerade der UAE emuliert doch 
ein sehr spezielles 68k System mit viel "Extra's" drumherum, wie Cycle 
stealing und externen DMA, controller/Adressgenerator.

Beim Basilisken hab ich noch keine ARM-Portierung gesehen, der UAE läuft 
dagegen auf dem RasPi also ARM und beim RasPi-3 sogar wie angedacht auf 
einem aus der ARM-Cortex Familie.
Gast #5632228
Lesenswert?

Musashi (https://github.com/kstenerud/Musashi - wird auch auf der 
Cyclone-Seite erwähnt) ist zwar etwas "abgehangen", aber sehr portabel 
und in C (statt ARM-Assembler) geschrieben. Die Emulation aus UAE hatte 
ich vor langer Zeit auch mal selber eingesetzt - nicht auf ARM als Ziel 
- das war IIRC recht problemlos.
Der Code im Hampa Hugs PCE (http://www.hampa.ch/pce/) könnte auch von 
Interesse sein, unterstützt aber evtl. nur 68000-Code. Da 020-Support 
reinzubauen dürfte eher aufwendig sein.

Damit stellt sich die Frage, wie schnell die Emulation sein soll. Wenn 
es schneller werden soll, ist eine JIT-Binärübersetzung (just in time) 
evtl. sinnvoll. UAE unterstützt auch JIT, damit habe ich aber noch nicht 
experimentiert.

Zum Ausführen von Binärcode gehört aber noch mehr - von 
Peripherieemulation bis Betriebssystemunterstützung. In welche Richtung 
soll es denn gehen?

-- Michael
Persönliche Seite #5632233
Lesenswert?

Berufsrevolutionär schrieb:
> Beim Basilisken hab ich noch keine ARM-Portierung gesehen, der UAE läuft
> dagegen auf dem RasPi

Der Basilisk basiert im Kern auf UAE, insofern sollte der sich auch 
portieren lassen. Scheint aber für Deinen Anwendungsfall nicht unbedingt 
zielführend zu sein, auch wenn das für manche Retrofreunde sicherlich 
drollig wäre, ein "echter" Mac auf dem RPi ...

Immerhin hat UAE & Co. den Vorzug, nicht in Assembler geschrieben zu 
sein, und damit halt eben doch portierbar zu sein; und mir zumindest 
geht es so, daß ich fremden C-Code deutlich besser nachvollziehen kann 
als fremden Assemblercode.
Gast #5632246
Lesenswert?

Berufsrevolutionär schrieb:
> Insgesamt bin ich mehr an einer schlanken Prozessoremulationen
> interessiert, als an eine Computer-System-Nachstellung. Da muss wohl bei
> beiden viel "freigeschnitten" werden und gerade der UAE emuliert doch
> ein sehr spezielles 68k System mit viel "Extra's" drumherum, wie Cycle
> stealing und externen DMA, controller/Adressgenerator.

Der CPU-Emulationskern des UAE ist aber recht sauber gekapselt - siehe
https://github.com/cebix/macemu.git in macemu/BasiliskII/src/uae_cpu/

Im Prinzip muss man emulierten Speicher und je eine 
Init680x0/Exit680x0-Funktion bereitstellen und kann dann Start680x0 
aufrufen. Im File basilisk_glue.cpp ist eigentlich alles drin, um 
erstmal loszulegen. Dadurch, dass die Hardware des Mac (im Vergleich zum 
Amiga) recht einfach ist, passiert hier auch nicht viel "Magie".

-- Michael

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