Post by Kay MartinenPost by Andreas Kohlbachsich diesen anschauen. MAME kann alles emulieren, was einen
Mikroprozessor als CPU hat. Also alles seit dem Intel 4004. Sein
"Nachteil" ist, dass er langsamer als dedicated (auf die jeweilige Hardware
So könnte MAME auch eine Playstation 6 emulieren, die vermutlich gerade
erst in der Entwicklung ist, wenn die Hardware-Spezifikationen bekannt
MAME kann auch Prototypen emulieren, die es nie über das
Entwicklungsstadium hinaus brachten. Wie beispielsweise einen
Commodore *65*.
Das größere Problem scheint mir doch eher zu sein woher MAME die
Hardware-Beschreibung zum Emulieren her nimmt. Ein Zauberspruch wird da
nicht reichen. Da dürfte erst mal jemand die Echte HW in irgend eine Art
Abbild verwandelt haben das genutzt werden kann.
Der Emu bezieht die von meiner Festplatte. :-)
Post by Kay MartinenBei anderen Emulatoren sind dann oft die System ROMs aus
Copyright-Gründen eben NICHT dabei. Ich sehe nicht das es bei MAME
anders sein könnte.
Ist keines dabei. Wie auch beim VICE Emulator nicht. Obwohl die
Windows-Version IIRC mit dem Kernal (mit A), BASIC und Character-Rom
kommt (oder kam).
Post by Kay MartinenAber das ist es wohl was du mit "viel zeit übrig" meintest oder? Man muß
erst auf die Suche gehen nach Images für die System ROMs seine
Wunschsystems. Vorher schauen ob der Emulator dieses auch kennt und in
welchem Format er die images erwartet und erst dann... könnte man sich
an die Arbeit machen "Software X" aus irgend einer Quelle zu
beschaffen/konvertieren oder ??? in den Emu hinein zu bekommen.
Echt, das sind viele "wenn's" und das ist mein "Aber". :-/
Das wird jetzt viel. Aber nicht verzagen, es ist einfacher, als es
ausschaut. Ich versuche nur gleich "alles" zu erklären, was man aber
nicht unbedingt zum Betreiben alles wissen muss.
Images findet man im Internet. Wobei zwischen Spielen und BIOSen zu
unterscheiden ist. Einen großen Satz gibt es auf archive.org (oder eine
Kopie davon auf meiner Festplatte ;-).
Denn auch Spiele sind abstrakt gesehen "Maschinen" (sie laufen auf meist
besonderer Hardware); Pac Man wird beispielsweise nicht auf Space
Invaders Hardware oder umgekehrt laufen.
Wenn man Computer (Osborne, C64 etc.) emulieren will, braucht man nur das
BIOS. Dann kann man stundenlang auf den Startbildschirm schauen. Sonst
will man sich auch Programme als Image besorgen. Man könnte ein Abbild
(s)einer vorhandenen Diskette ziehen, oder im Internet schauen.
Wurde so nicht vor ein paar Jahren der Source-Code von MS-DOS
freigegeben? Sollte damit nicht auch das Besitzen einer nicht käuflich
erworbenen Kopie heute legal sein? Sonst gibt es einen Haufen
Abandonware.
Aber es dürfte wohl auf alle Emulatoren zutreffen, egal ob VirtualBox
oder VMware, dass man ein Betriebssystem braucht. Wer auf Nummer
sichergehen will, nimmt Linux, wenn er auch Windows (3.11 :-D) oder OS/2
nehmen könnte.
Auch wenn MAME mit einer eingebauten GUI kommt, kann man die
Kommandozeile nutzen. Ist schnell gelernt:
mame defender
wenn man das Videospiel Defender spielen will (und das ROM dazu hat).
Bei Maschinen wird es nur unwesentlich komplizierter:
mame osborne1
startet die Emulation eine Osborne 1 Computers. Dann kann man stundenlang
auf die Meldung schauen, dass man doch eine Diskette einlegen soll.
mame osborne1 -flop1 CPM_System.TD0
startet wieder den Osborne, diesmal aber mit "eingelegter" CP/M-Diskette
"in" Laufwerk 1. Nun kann man bereits mit CP/M arbeiten, als säße man vor
einem Osborne 1981.
mame osborne1 -flop1 CPM_System.TD0 -flop2 Wordstar.TD0
wieder, diesmal aber zusätzlich mit der Wordstar Textverarbeitung in
Laufwerk 2. Es sollte also CP/M booten. Dort (in CP/M dann):
b:ws
eingeben, um der Welt beste Textverarbeitung zu starten. Man sollte
natürlich mit dem CP/M Befehl "dir b:" vorher schauen, wie die Programme
tatsächlich heißen. Ich habe das vor Jahren mal "gefilmt":
Per default erwartet MAME seine ROMS in seinem Unterverzeichnis mit
demselben Namen (man kann in der Config auch ein anderes Verzeichnis; gar
ein Netzlaufwerk angeben).
MAME gibt es nicht nur für Windows und Linux. Mac hat eine Version, so
auch OS/2 oder der Amiga und viele andere Betriebssysteme.
Wer es gerne pervers hat, kann auf seinem aktuellen PC ein OS/2
emulieren, darin einen Amiga Emulator starten, auf dem wiederum MAME
gestartet wird, um darin einen Commodore 64 zu emulieren. Auf der CPU des
Host-Systems kann man dann zeitgleich ein Ei braten. *g*
Ich habe MAME auch dazu benutzt, die Y2K-Festigkeit von alten Systemen zu
testen. MAME reicht die aktuelle Zeit des Hosts an die emulierte Maschine
durch, wenn diese Datum und Zeit ausgeben kann. So stelle ich u.a. fest,
dass der Apple ][ GS ein Problem damit hat:
<
Loading Image...
>.
Wer es auf die Spitze treiben will, könnte ein System in MAME emulieren,
um auf Dienste des Hosts (z.B. einen echten Drucker) oder gar des
Internets zuzugreifen. Beispiel:
mame bbcb -rs232 null_modem -bitbanger socket.127.0.0.1:2000 -cart1 Commstar.rom
würde einen BBC Computer starten, der ein Null-Modem an seiner RS-232
angeschlossen hat, um mit dem Terminal Programm Commstar auf den Service
des Hosts (socket.127.0.0.1) des Ports 2000 zuzugreifen, auf dem ich mal
eine lokale BBS laufen ließ. Pervers das - ich weiß. Aber es geht. :-)
Die Syntax der Kommandozeile ist vereinfacht:
mame zu_emulierendes_system -speichermedium software.zip
MAME kennt zudem existierende Speichermedien und Hardwareerweiterungen
von Maschinen, die es emulieren kann. Am Beispiel des Commodore 64:
mame c64 -listmedia
SYSTEM MEDIA NAME (brief) IMAGE FILE EXTENSIONS SUPPORTED
----------------
--------------------------- -------------------------------
c64 cassette (cass) .wav .tap
floppydisk (flop) .d64 .g64 .g41 .g71 .d77 .d88 .1dd .dfi .hfe .imd .ipf .mfi .mfm .td0 .cqm .cqi .dsk
cartridge (cart) .80 .a0 .e0 .crt
Die Angebe der unterstützten Devices des C64 würde den Rahmen dieses
Artikels sprengen (wenn er ihn eh nicht schon gesprengt hat ;-), daher
stellvertretend die Hardware-Liste von Pac Man:
mame pacman -listdevices
Driver pacman (Pac-Man (Midway)): <root> Pac-Man (Midway)
maincpu Zilog Z80 @ 3.07 MHz
mainlatch 74LS259 Addressable Latch
mono Speaker
namco Namco @ 96.00 kHz
screen Video Screen @ 6.14 MHz
watchdog Watchdog Timer
Diese Info braucht man zum Betreiben meist nicht. Außer wenn man
beispielsweise dem C64 eine Z80 Softcard verpassen, oder ein Modem an seine
RS-232 anhängen will.
Viele der Images für MAME sind im ZIP Format. MAME akzeptiert diese
direkt, um sie bei Gebrauch "on the fly" auszupacken.
Mit MAME kann man auch Bugs und Glitches von Maschinen genießen. So
glitched das Spiel Pac Man nach Level 255 durch den Überlauf eines 8-Bit
Zählers. Es geht weiter, aber auf dem Bildschirm ist nur Buchstabensalat
zu sehen.
Und für den, der es in Pac Man nicht zu Level 255 schafft, hält MAME eine
(ständig aktualisierte) Datenbank von Cheats bereit. So kann man u.a. in
Pac Man unendlich viele Leben einstellen. Auch Unverwundbarkeit, in Level
255 zu starten und mehr.
Wie ich eingangs erwähnte: "Wer zu viel Zeit hat"...
Wer nur Pac Man spielen will, ist schnell drin. Wer Wordstar in einem
Osborne 1 laufen lassen will, hat etwas mehr Arbeit. Wer einen BBC Micro
ins Internet bringen will, mag schon mal Stunden aufwenden.
Ist vielleicht ähnlich wie mit Linux. Wer ins Internet will, um nach
Mails und neuen Nachrichten auf seinem Gesichts-Buch Account zu schauen,
ist schnell drin. Unter der Haube kann Linux aber so viel mehr. Wenn man
denn will - und Zeit hat.
Kay, wenn Du (oder andere) interessiert bist und einen Einstieg (und
Zugriff auf meine BIOS Dateien ;-) brauchst, kannst Du mir auch gerne
mailen.
--
Andreas