mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Nintendo Emulator


Autor: martö (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habe auf dem PC einen Nintendo.
Möchte gerne eine Hand held Konsole bauen mit einem Mikrocontroller +
Grafikdisplay und zubehör(Tasten)

Nun stellt sich die Frage wie man einen solchen emulator programmiert
oder ob man diesen irgendwie von windows portieren kann?

Hat jemand Erfahrung oder hat ähnliche Ideen?

mfg Martö

Autor: mr.chip (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Wenn du den Quellcode von deinem Emulator hast, dann könnte eine
Portierung möglich (aber wohl aufwändig) sein. Du musst dann halt
sämtliche Funktionen, auf die der Emulator zugreift, auf dem
Mikrocontroller zur Verfügung stellen. Auf jeden Fall hättest du mit
dem Quellcode schonmal ne gute 'Dokumentation', wie so ein Emulator
läuft.

Ohne Quellcode wirds schwierig. Dann musst du dir von irgendwoher
sämtliche Infos, wie so ein Game funktioniert, besorgen.

Ich denke aber, sowas sollte sich grundsätzlich auch auf einem
kleineren uC wie z.B. den AVRs hinkriegen lassen - jedenfalls die
älteren Geräte Gameboy, NES und SNES basieren ja auf eher schwächeren
Prozessoren.

Gruss

Michael

Autor: akw (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich denke nicht, dass ein AVR dafür genug Power hat. Ein Emulator
braucht ein vielfaches mehr an Rechenleistung als das Original. Soll
heißen, das Spiel von der Original-Kasette zu spielen war rein von der
Leistung auf nem AVR möglich aber den Emu zum laufen zu bekommen eher
net würd ich sagen.

Autor: Dirk Schlage (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi nur mal ein paar Daten zur SNES (In die gleiche Preisklasse gehören
da auch Gameboy Advanc oder Micro):

"16-Bit-Prozessor "5A22" kompatibel zum 65816, max. 3,579545 MHz
(NTSC) und Soundchip "2a03". Beinhaltet einen programmierbaren DMA
Controller für bis zu 8 DMA Kanäle und wählbarem HDMA Spezialmodus für
besondere Grafikeffekte (ähnlich dem Amiga Copper).

Grafikprozessoren: 2 PPU-Chips (PPU = Picture Processing Unit), 15 Bit
Farbtiefe, 16 Bit Datenbus.

Speicher: 128 kiB RAM, 64 kiB Video RAM pro PPU (128kiB), 2 bis 32 MBit
Cartridge ROM"

(aus http://de.wikipedia.org/wiki/Super_Nintendo)

Das auf einem AVR zu emulieren, würde ich mich auch nicht trauen, wenn
ich ein besserer Softwareentwickler wäre.

Bei einem Emulator auf einem PC kann man zudem so mit Ressourcen
klotzen, daß es nichts macht, wenn der Bildspeicher nicht direkt von
Hardware ausgelesen wird.
Auf einem Microcontroller sieht das vieleicht anders aus.

Der Gameboy Advance hat einen ARM7. Den würde man vieleicht nicht mit
einem AVR emulieren wollen.

ciao
   Dirk

Autor: jon (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hab ich schon gemacht, infos kann ich auf wunsch zur verfügung stellen,
tetris und mario world laufen dann hab ich das Interesse verloren.war
nen mega16 mit 16mhz...

greets
jon

Autor: mr.chip (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

> Ein Emulator braucht ein vielfaches mehr an Rechenleistung als das
> Original.

Grundsätzlich ist diese Aussage sicher korrekt. Allerdings sind die
AVRs in der Tat den ersten Nintendo-Prozessoren tatsächlich deutlich
überlegen. Evtl. könnte man anstatt einen vollständigen Emulator zu
schreiben, den Code der Spiele 'umcompilieren', so dass er direkt auf
dem AVR läuft. Oder die Arbeit könnte von mehreren AVRs gemeinsam
verrichtet werden.

Gruss

Michael

Autor: martö (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@jon

bin interessiert!
könntest du mir eventuell informationen schicken?
und kurz mal posten kurzbeschreibung deines systems?

mfg martö

Autor: Felix Jankowski (feejai)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
An so etwas wär ich auch ausgesprochen interessiert. Gameboy zum
selbstbauen. Insbesondere wie die Daten aus den Spielkassetten
gespeichert werden und am Verfahren. In welcher Sprache ist dei Emu
programmiert=

Autor: Sebastian Heyn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
sowas hat schon jmd angefangen...

http://instruct1.cit.cornell.edu/courses/ee476/Fin...

die übersetzen nes code auf avr irgendwie mit ner riesigen lookup
table. ist aber noch incomplete, deshalb haben sie nur die grafikkarte
vorgestellt.

Autor: Sebastian Heyn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
.. kleiner auszug ...

Considering that an ATMega32 opcode is 2 bytes to the NES' 1-byte,
this means that the translator generated on average 1.5 instructions
for every instruction input. Since the NES was run at about 1.7 MHz and
the ATMega32 runs at 16 MHz, this is an acceptable translation result as
far as speed is concerned.

Autor: martö (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hab mir das jetzt mal angeschaut! aber is auch nicht wirklich das was
ich suche! Viel zu umständlich!
Da muss es bessere Lösungen geben!
JON seine würd mich interessieren wenn die wirklich so funktioniert wie
er geschrieben hat.

Autor: Hans (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sorry, aber die Behauptung von jon will ich erst sehen, bevor ich das
glauben kann. Alleine, dass ein GB schon mal 16 KiB Ram hat, macht ihn
unglaubwürdig. Dazu noch so schöne Sachen wie Hardware-Sprites. Solange
hier keine Beweise auftauchen: Attention whore!

BTT: Ich glaube nicht, dass man einen Gamboy-Emulator mit weniger als
einem ARM7 spielbar hinbekommt. Zum Vergleich: Auf einem 68040 @40 MHz
war ein GB-Emu mit einem frameskip von 1 spielbar. SNES auf einem AVR
ist echt mal ein Brüller. Dafür braucht man schon einige 100 MHz, damit
es gut läuft.

Autor: martö (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielleicht kein sogenannter emulator sondern gleich ein direktumsetzter
der befehle der alten cpu und den neuen atmel controller

Autor: Hans (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und wie bitte stellst Du Dir das vor? Mal abgesehen davon, dass der
Mega16 noch nicht einmal die 16 KiB eines GB hat, würde ein
JIT-Compiler noch viel mehr Speicher verbrauchen, wenn er denn schnell
sein soll. Und HLE auf einem AVR ist auch illusorisch, da er selbst ja
nur Low-Level ist.

Autor: Sebastian Heyn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
auf einem AVR halte ich für ziemlich unwarscheinlich, dass man das
emulieren kann, dafür ist zuviel hardware in so nem gb oder nes...sowas
mit nem cpld oder fpga wäre sicher machbar

Autor: geri (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich glaube mit einem ARM 7 müsste das zu schaffen sein. wenn man das
protokoll kennt.
gibts da irgendwo seiten wo mann sich erkundigen kannn?
hab schon gegoogelt aber nichts brauch bares gefunden

Autor: Sebastian Heyn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja mit ordentlich RAM dran... Was für ein protokoll? man könnte ja mal
beim supplier nach nem data sheet fragen...

Autor: Sepp (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, genau. Warum nicht gleich bei Nintendo nach dem VHDL Source fragen?
Mit nem ARM und ordentlich Ram sollte es aber gehen. Sourcen von
Emulatoren sollten sich ja auftreiben lassen. Stellt sich nur noch eine
Frage: Warum sollte man sich soetwas antun?

Autor: Sebastian Heyn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
frag ich mich auch, warscheinlich einfach nur weil er geizig ist, und
sich keinen GB bei ebay kaufen will frech grins

Ich fände ne GB lösung mit tv-out schon cool irgendwie aber die zeit
dazu ist echt zu schade

Autor: Lisa (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Leute, ihr seit sooo geil!

Vielleicht solltet ihr euch mal informieren, was ein Emulator und was
ein Simulator ist. EIN EMULATOR BENUTZT IMMER EINEN TEIL DER
ORIGIANLHARDWARE.
Da das schon mit den einfachen Dingen wie Lesen und recherchieren nicht
klappt, sehe ich für das Projekt schwarz.
Ich habe schon mehrere Simulatoren geschrieben, und die
Simulationshardware war 6 mal schneller als die Originalhardware, damit
das klappt. Wenn man die Spezifikationen und Datenblätter der
Originalhardware hat, dann ist das nur Fleißarbeit!

Autor: Frank Erdrich (erdi-soft)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielleicht sollte man sich mal den GamePark 32 angucken. Darauf lief so
ziemlich jede erdenkliche Konsole als Emulation. Selbst der
SNES-Emulator wurde soweit optimiert, dass er letztendlich bei nem
Prozessortakt von 133MHz lief.
Dabei sollte man aber nicht vergessen, dass im GP32 ein ARM9 mit 8MB
SDRAM werkelt. Der ließ sich bis etwa 166MHz übertakten und hatte auch
schon nen Displaycontroller eingebaut.

Für das NES sollte ein ARM7 tatsächlich reichen. Evtl. kann man die
Sourcen vom GP32 für den ARM7 anpassen. Projekte für den GP32 gibts
genug.

Autor: Sebastian Heyn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@lisa:
What is VICE?
VICE is a program that runs on a Unix, MS-DOS, Win32, OS/2, Acorn RISC
OS, QNX 6.x or BeOS machine and executes programs intended for the old
8-bit computers. The current version EMULATES the C64, the C128, the
VIC20, all the PET models (except the SuperPET 9000, which is out of
line anyway), the PLUS4 and the CBM-II (aka C610).

mmhh wenn doch vice auf nem unix oder windoof läuft, dann wäre es doch
eher ein simulator, als ein emulator? dann kannst du doch nicht nur bei
uns beschweren, dass wir nicht richtig lesen, sondern auch bei den
ganzen leuten die sogenannte emulatoren veröffentlichen

achso und bei wikipedia:

Als Emulation (von lat. aemulari nachahmen) wird in der Computertechnik
das funktionelle Nachbilden eines Systems durch ein anderes bezeichnet.
Das nachbildende System erhält die gleichen Daten, führt die gleichen
Programme aus und erzielt die gleichen Ergebnisse wie das originale
System. Ein Emulator ist ein System, das ein anderes nachahmt. Zu
unterscheiden sind Hardware- und Software-Emulatoren.

da steht nix von originalhardware.

Autor: Lisa (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja klar, wikipedia hat immer recht!
Deswegen üben die Piloten immer im Flugemulator...Wenn es keine
Unterschiede zwischen Emulator und Simulator gibt, dann kann mal die
wohl synonym verwenden.

Mal im Ernst, nur weil die Bedeutung eines Worts in der Umgangssprache
sich mit der Zeit ändert, hat man gerade als Ing. die Plicht, präzise
Begriffe zu verwenden. Ich verweise hier auf IBM (die mit dem
System/360 den ersten Emulator bauten): IBM's Early Computers [Bashe
et al], A History of Modern Computing [Paul Ceruzzi].
Zusätzlich gibt es Anhaltspunkte unter
"http://www.answers.com/emulator&r=67", wobei die Qualität dieser
Seite wohl ähnlich von Wikipedia ist.

Heutzutage hören die Leute irgendwas, verstehen es halb und benutzen es
dann unpräzise. Dass schreiben die einen Artikel in Wikipedia, und geben
ihr Halbwissen an andere weiter.
Nein Danke!

(Ich will hier keinen beleidigen, aber ich hab heut nen schlechten Tag,
also nehmt bitte meine Beiträge als sachlich hin).

Autor: Michael König (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Erstmal zum Projekt, eine Emulation des NES halte ich auf einem
Prozessor, der weniger leistungsfähig als ein ARM7 ist, für reichlich
unrealistisch. Zumal praktisch alle Systeme mit einem 6502-Derivat so
exaktes Timing benötigen, daß für halbwegs gute Kompatibilität eine
Single-Cycle-Emulation benötigt wird.

Abgesehen davon dürfte es ein ziemlich aufwendiges und teures Projekt
werden, wenn neben der reinen Emulation auch noch ein Farb-Display,
Sound und ein Steuerkreuz anfallen. Wenn man wirklich einen portablen
Emulator haben möchte, ist GP2X wahrscheinlich sogar die billigere
Lösung.

Im übrigen gibt es deswegen so viele NES-Emulatoren, aber sehr wenige
wirklich gute, weil das Grundsystem zwar recht primitiv ist, recht
viele Module dieses aber mit integrierter Zusatzhardware erweitern, die
von den besseren Emulatoren als sog. Mapper behandelt werden.

Zum Thema Emulator versus Simulator:
So extrem einfach lassen sich die Begriffe nicht trennen, da sie sehr
viele Überscheidungen haben und die Grenzen oft nicht ganz klar gezogen
werden können.
Ich persönlich sehe den Unterschied folgendermaßen:
Ein Simulator ist meist genauer als ein Emulator, behandelt aber nur
einen Teil des Gesamtsystems. Beispielsweise behandeln Simulationen
moderner CPUs deren Caches und sogar die Pipeline, ein Emulator
hingegen braucht diese Details zur reinen Ausführung der Applikationen
nicht, wird aber normalerweise die CPU in ein emuliertes Gesamtsystem
einbetten, damit der Originalcode überhaupt sinnvoll laufen kann.

Eine andere Interpretation ist die von Marat Fayzullin, der mal
schrieb, daß ein PacMan-Simuator sich nur wie der PacMan-Automat
verhalten muß, während ein PacMan-Emulator mit einem Abbild des
Original-ROMs läuft.
Allein diese quasi gegensätzliche Ansicht sollte zeigen, wie
problematisch die Definition der Begriffe ist.

Zum Einwand, daß ein Emulator immer einen Teil der Original-Hardware
verwendet:
Ich glaube dabei sind wohl die virtuelle Maschine und die Emulation auf
dem System 360 durcheinandergeraten.
Bei der virtuellen Maschine wird wirklich die gleiche Hardwarebasis
benötigt (wobei dieser Begriff über Bezeichnungen wie Java Virtual
Machine leider auch schon aufgeweicht ist), während bei der ersten
Emulation auf der IBM 360, bei der dieser Begriff auch geprägt wurde,
der Microcode der CPU ausgetauscht wurde und damit also nicht wirklich
die Originalhardware zum Einsatz kam.

Inzwischen bin ich der Meinung, daß Simulation und Emulation je nach
Einsatzgebiet unterschiedliche Bedeutungen haben können (siehe
Unterschied zwischen CPU-Simulator und Flugsimulator), denn meine
Definition hat mal jemand mit dem Begiff "Terminal-Emulation" sehr
schnell ins wanken gebracht.

Autor: Lisa (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
OK, diese Diskussion habe ich schon einmal miterlebt (und daraus
gelernt). Ich zitiere aus der Originaldiskussion:

An emulator is HARDWARE (usually but not always plus software/
firmware) which "emulates" (dictionary def.) some system or
processor.

Simulators are good, well written ones are great, and a bug free one is
a piece of software "art", imho.

But... they are NOT emulators...

I only wrote this post because a few people I have seen on the 'net
who wrote simulators are so (perhaps justifiably) proud of them that
they call them emulators, insisting that their "emulator" is so good
it's different. Well it isn't... it's software.

(Calling a Goose a duck does not make it a duck; it's still a goose.
Once a lot of people start calling geese ducks then they're well on
the way to some real confusion...)

This is only offered as my opinion: Calling a simulator an emulator
brands one as an amateur... (which is okay of course).


Es gibt Kataloge mit Emulatorbausteinen, jeder kostet über 1000€, für
Sachen, die sich nicht mit Software simulieren lassen.

Wenn ein Gerät das OriginalRom verwendet, dann ist das kein Zeichen für
Emulation. Solange die Originalinstruktionen umgewandelt werden, um auf
dem Simulator zu laufen, ist es ein Simulator.
VMWare ist ein Simulator, Java VM ist ein Simulator, beide mit Zugriff
auf die darunterliegende Hardware.

Ein Beispiel:
Ich möchte PC-Programme auf meinem Microcontroller laufen lassen. Für
jeden PC-Opcode schreibe ich eine Routine, die dasselbe auf meinem
Microcontroller tut. Alle Register und Speicher simuliere ich mit Hilfe
des Microcontrollers. Am Ende habe ich einen Simulator.
Dann stelle ich fest, dass ich die Floating-Point operationen vergessen
habe, und diese auch nicht mehr in meinen Programmspeicher passen.
Deshalb hänge ich einen Pentium-Processor an meinen Microcontroller.
Immer, wenn dann eine FLOP auftritt, sende ich diese an den
Pentium-Chip, und hole das Ergebnis später ab. Da ich einen Teil der
Originalhardware benutze, ist es nun ein Emulator. Beide Ansätze
benutzen dasselbe ROM, nur ist einer ein Simulator und der anderer ein
Emulator.

Autor: Xaver (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lisa, Du bist hast vollkommen Recht. Alle doof außer Dich. ;-)
Deshalb heißt "emulator" (engl.) auch "der Nachbilder". Und wenn
man etwas nachbildet, braucht man das Original immer noch in Teilen. Is
klar.

Wenn Du Dich schon so viel besser mit Si- oder Emulatoren auskennst als
wir, könntest Du ja auch was zum Thema beitragen. Nein? Das verbietet
Dir Dein Ego? Danke fürs Gespräch.

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Ja klar, wikipedia hat immer recht!
> Deswegen üben die Piloten immer im Flugemulator...

Nach deiner Definition tun sie das. Denn in solchen Flugsimulatoren
sitzt man im Allgemeinen im Original-Cockpit mit den Original-Displays
und Schaltern und Knöpfen. Man benutzt also einen Teil des
Originalsystems.

> Mal im Ernst, nur weil die Bedeutung eines Worts in der
> Umgangssprache sich mit der Zeit ändert, hat man gerade als Ing.
> die Plicht, präzise Begriffe zu verwenden.

Allerdings. Mir geht es immer auf den Senkel, wenn Leute von Bytes
reden, obwohl sie Oktetts meinen, von binär, wenn dual gemeint ist oder
von Bitmaps, wenn Pixmaps gemeint sind.

Autor: Sebastian Heyn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wo wir gleich beim thema sind. ein Megabyte ist ja auch eigentlich nicht
megabyte sonder mibibyte.

1 GB = 1024 MB
1 MB = 1024 KB
1 KB = 1024 Byte

man kann schon anregen, dass vielleicht ein begriff falsch ist, aber im
prinzip trägt das nicht zur lösung der frage bei, sondern es wird nur
doofer laber draus, der immer länger wird und den author verärgert...

Ich denke mit 3 avr und ein bisschen speicher ist das machbar. cpu,
grafik und sound...

Autor: Bartholomäus Steinmayr (sam_vdp)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wo wir schonmal beim Klugschiss sind:

> 1 GB = 1024 MB
> 1 MB = 1024 KB
> 1 KB = 1024 Byte
Nö:
1 GiB = 1024 MiB
1 MiB = 1024 KiB
1 KiB = 1024 Byte

Autor: Lisa (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ignorance is bliss!

Autor: Xaver (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da spricht jemand aus Erfahrung...

Autor: Kritiker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Noch mehr Klugschiss:

> ein Megabyte ist ja auch eigentlich nicht
> megabyte sonder mibibyte.

Nein. Mebibyte.

Autor: Michael König (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Lisa:

"Ich zitiere aus der Originaldiskussion"

Zitate ohne Quellenangabe sind nichts, aber auch rein gar nichts wert,
zumal Du nicht einmal angegeben hat, wer da meint, so einfach zwischen
Amateuren und Profis unterscheiden zu können.

Ich habe hier mal ein Zitat mit Quellenangabe:
"Steward Tucker of IBM was saddled with the responsibility of porting
software from the IBM 7090 to the new IBM 360. Thinking about the
possibilities of microcode, he suggested expanding the control store to
include simulators, or interpreters, for older machines. Tucker coined
the term emulation for this, meaning full simulation at the
microprogrammed level. Occasionally, emulation on the 360 was actually
faster than on the original hardware."
Patterson, Hennessy: "Computer Organizaton & Design", 2nd ed., 1998,
p. 424.

Daraus kann man herauslesen:
1. Emulation ist "komplette" (full) simulation.
2. Die erste Emulation war auf Microcode-Ebene realisiert.

Da man heutzutage aber kaum noch die Möglichkeit hat, den Microcode
eines Prozessors zu ändern, muß dies zwangsläufig auf die höhere Ebene
der Instruktionen verlegt werden.

Und falls Du die beiden Autoren des oben genannten Buches auch als
Amateure abstempeln willst, die von nichts eine Ahnung haben, der eine
ist der Vater von SPARC (Patterson) und hat nebenbei die Akronyme RISC
und RAID erfunden und der andere ist der Vater der MIPS-Architektur
(Hennessy). Aber klar, die können auch keine Ahnung haben...

"VMWare ist ein Simulator"

Um mal bei Deiner Ausdrucksweise zu bleiben: Du bist so geil!
Vielleicht solltest Du Dich mal informieren!
VMware ist eine Virtualisierung, weil 100% der Instruktionen von
Applikationen und über 90% der Instruktionen des Betriebssystems direkt
auf dem Prozessor ausgeführt werden. Daß es im letzten Fall nicht 100%
sind, liegt daran, daß Intel bei der Architektur einen Fehler gemacht
hat. Dieser wird aber bei Vanderpool (Intel) bzw. Pacifica (AMD)
ausgemerzt, weswegen bis auf I/O alle Instruktionen direkt von der CPU
abgearbeitet werden können.

Das ist jetzt alles komplett am Thema vorbei, aber ich will hiermit nur
aufzeigen, daß Deine Kategorisierung extrem zu wünschen übrig läßt.
Mich würde echt mal interessieren, seit wann Du Dich eigentlich mit dem
Thema Emulation/Simulation befaßt...

Autor: Lisa (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
OK, dann mal was sinnvolles von meiner Seite:

Holt euch alle Informationen über Prozessoren usw., die man bekommen
kann. die dann zuerst durchlesen. Danach beginnt man mit einer
Implementierung auf dem PC, da dort die DEBUG-Möglichkeiten besser
sind.
Zuerst sollte man den Speicher un die Register simulieren. Dann
kommen die Operationen dran: Da gibt es zwei Möglichkeiten: Zum einen
kann man ein Array mit Funktionspointern erstellen, und über dieses
Array wird dann die konkrete Funktion aufgerufen. Das mach bei einer
späteren Portierung auf microcontroller meist keinen Sinn. Deshalb
schreibt man meist eine decode-funktion, die als parameter den opcode
hat. Diese kann Teile des Opcodes maskieren, und dann über eine große
SWITCH-Anweisung die Funktionen aufrufen.

Die Funktionen implementiert man der Reihe nach, zuerst erstellt man
nur Prototypen, damit es mit der Kompilierung klappt. Dann schrittweise
und genau nach Datenblättern implementieren.

Die Mainloop kann anfangs ganz einfach aussehen:

//Initialisierung...u.A. ProgramCounter setzen
P=0;

while(true)
{
  opcode = getRom(P);
  P++; //PC erhöhen
  decode(opcode);
}

Zu dem increment des programcounters ist zu sagen, dass man den
entweder vor dem Ausführen der Operation oder hinterher inkrementieren
kann. Das ist immer durch die Originalhardware vorgegeben, wenn auch
oftmals nicht in den Datenblättern erwähnt. Dann muß man sich die
Codierung der Opcodes anschauen, und sieht das dann.
Zu den Datentypen: Auf der einen Seite kann es wünschenswert sein, die
originalregister in der originalwortbreite zu simulieren (z.B. beim
Programcounter, da man sich dann nicht um den Überlauf kümmern muß).
Bei arithmetischen Registern ist es manchmal nicht vorteilhaft, z.B.
wenn negative Zahlen anders dargestellt werden. Das muss man dann von
Fall zu Fall entscheiden, und vor allem gut dokumentieren.

Speicherzugriffe: Der Speicher wird oft als Array simuliert. Im
Hinblick auf Speichererweiterungen (die teilweise den Adreßraum
verändern) ist es anfangs vorteilhaft, nicht direkt auf das Array,
sondern über "getMem(adresse)" und "setMem(adresse,wert)"
zuzugreifen.

Ich wünsche dann noch viel Erfolg beim SIMULATOR!

Autor: Lisa (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hier noch die Antwort auf Kritik an mir:

1. Da ja Zitate ohne Quellenangabe nichts sind, habe ich zufällig 2
Bücher von IBM als Beleg angegeben. Da diese schon recht alt sind, habe
ich zusätzlich Zitate und Links beigefügt.

2. Leute, es ist mir wirklich egal, ob ihr jetzt das Teil Simulator
oder Emulator nennt. Es mag ja sogar sein, dass in manchen Bereichen
die Begriffe gleich verwendet werden. In den Bereichen, in denen ich
mich damit beschäftigt habe, war da aber ein Riesenunterschied.

3. Wenn VMWARE ein Emulator ist, dann sollten sich alle Programme unter
VMWARE ja genauso verhalten, wie ohne VMWARE. Das tuen sie aber nicht.
Ich sage da nur mal "IV" (was vielleicht mit den 90% von dir gemeint
ist). Ohne Quellenangabe, aber wer sucht, der findet. Und wenn alle
Instruktionen meines Prozesses direkt auf der CPU ausgeführt werden, so
ist mein Programm immer noch kein EMULATOR, und Windows/Linux
genausowenig. Software ist Software, und damit kann man immer nur
simulieren (wenn man bei der Definition des Simulators, wie ich die
kenne, bleibt).

4. Wenn ich eine Definition eines Begriffes gelernt habe, und man mir
eine Definition gibt, die meine Definition weiter einschränkt, dann
mache ich mir doch zumindest mal Gedanken. Ich habe früher auch
geglaubt Simulator = Emulator, aber die 2 von mir genannten Bücher und
etliche Gespräche haben mich schnell belehrt.

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> 1 GiB = 1024 MiB
> 1 MiB = 1024 KiB
> 1 KiB = 1024 Byte

Prinzipiell finde ich die Unterscheidung gut. Ich weigere mich
allerdings, diese so anzunehmen, weil es wie Babysprache klingt.
"Und, wieviele Kibibit pro Sekunde hat deine DSL-Verbindung?"

Autor: Michael König (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Lisa:

"1. Da ja Zitate ohne Quellenangabe nichts sind, habe ich zufällig 2
Bücher von IBM als Beleg angegeben. Da diese schon recht alt sind, habe
ich zusätzlich Zitate und Links beigefügt."

WO? Also hier jedenfalls nicht oder ich brauche wirklich mal wieder
eine neue Brille...


"2. Leute, es ist mir wirklich egal, ob ihr jetzt das Teil Simulator
oder Emulator nennt."

Sicher, deswegen hast Du das Wort "simulieren" ja auch immer
unterstrichen. Wen willst Du hier eigentlich veräppeln?

"3. Wenn VMWARE ein Emulator ist"

VMware is KEIN Emulator und auch KEIN Simulator! Es ist eine
Virtualisierung, sicherlich keine vollständige im ürsprünglichen Sinn,
aber das ist ein Problem der Architektur, die nicht für Virtualisierung
ausgelegt war.
Falls Dir der Begriff nichts sagt, dann schau mal in Deiner schlauen
IBM-Literatur nach, denn da solltest Du auch fündig werden.

"Ich habe früher auch geglaubt Simulator = Emulator"

Ich glaube definitiv nicht, daß Simulator und Emulator das gleiche sind
(rein linguistisch gesehen gibt es ohnehin keine echten Synonyme), aber
die Grenze ist definitiv nicht so einfach zu ziehen, wie Du es Dir
machst.
Du behauptest, daß Emulation nichts mit Software zu tun hat. Aber was
ist denn Microcode anderes als ein Programm und damit Software? Und
genau so wird die erste Emulation von Hennessy und Patterson
beschrieben, aber die Entwickler von zwei der bekanntesten
RISC-Architekturen sind natürlich unwissende Blödmänner im Vergleich zu
Dir!

"aber die 2 von mir genannten Bücher"

Welche Bücher? Entweder ich bin wirklich blind oder Du hast bei Deinen
Ausführungen echt was vergessen...

"und etliche Gespräche haben mich schnell belehrt."

Hmm, dann scheinen Deine damaligen Gesprächpartner mehr
Überzeugungskarft gehabt zu haben als Du. Wahrscheinlich waren sie auch
etwas höflicher und haben Dich nicht gleich als Dummkopf hingestellt.

Zumindest habe ich bisher keinen Grund, warum ich Deiner
"Argumentation" irgendeinen Glauben schenken sollte.

Autor: Lisa (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also, hier nochmal die von mir genannten Quellen (siehe oben):"Ich
verweise hier auf IBM (die mit dem
System/360 den ersten Emulator bauten): IBM's Early Computers [Bashe
et al], A History of Modern Computing [Paul Ceruzzi]". Für die
zitierte Diskussion gebe ich keine Quellen an, das natürlich jeder dann
die Kompetenz dieser Personen anzweifeln kann.

Ich will hier keinen veräppeln, denn diese Diskussion kostet Zeit, und
rein zum Spaß mache ich das hier nicht.

Zum Thema Höflichkeit: OK, ich hatte gestern einen schlechten Tag, und
mein Ton war vielleicht etwas scharf. Aber ich finde es erstaunlich,
mit welcher Arroganz hier die Leute reingehen: "Ich möchte einen
Emulator bauen, habe aber keine Ahnung. Wer sagt mir, wie das geht?".


Und Michael, ich will dir ja nicht zu nahe treten, oder deine
Qualifikation anzweifeln, aber aus deinen Reaktionen sehe ich, dass du
noch nicht allzulange im Berufsleben stehst. Frauen sind da etwas
empfindsamer, bzw. Männer in Deutschland haben da kein Gefühl,
wohingegen in anderen Ländern viel Wert darauf gelegt wird.

Und noch ein abschließendes Wort zum Thema Flugsimulator: Wenn man ein
Flugzeug mit einem Rechner vergleicht, dann ist das Cockpit wohl so
etwas wie die Eingabe/Ausgabe, wohingegen der Prozessor wohl am Besten
durch die Triebwerke und Seitenruder dargestellt wird.
Wenn ich meinen Monitor und meine Tastatur an einen neuen PC hänge,
dann habe ich weder eine Simulation noch eine Emulation des alten
Rechners.

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Wenn ich meinen Monitor und meine Tastatur an einen neuen PC
> hänge, dann habe ich weder eine Simulation noch eine Emulation des
> alten Rechners.

Schlechte Analogie. Immerhin hänge ich das Cockpit nicht an ein anderes
Flugzeug, sondern an eine Anlage, die versucht, ein Flugzeug möglichst
gut nachzuahmen und dazu auch die Eigenheiten des Cockpits nutzt. Ein
Fluzgeugcockpit ist auch nicht gerade ein ganz alltägliches
Computer-Ein-/Ausgabegerät, wie eine Tatatur und ein Monitor, sondern
schon etwas recht spezielles, das normalerweise nur für das zu
Simu-/Emulierende System genutzt wird.

Autor: Michael König (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Lisa:

"Also, hier nochmal die von mir genannten Quellen"

Entschuldigung, aber die habe ich in dem Fließtext wirklich übersehen.
Solche Dinge kann man auch entsprechend formatiert besser herausheben
(eine brauchbare Darstellung sollten Ingenieure übrigens auch
beherrschen, aber auch das läßt seit einigen Jahren immer mehr zu
wünschen übrig):

* Bashe, et al: "IBM's Early Computers", 1985.
* Paul Ceruzzi: "A History of Modern Computing", 2000.

So sieht eine brauchbare Quellenangabe aus. Im übrigen bin ich
überrascht, wie "neu" die Bücher sind. Als Du geschrieben hast, daß
Du Dich auf IBM beziehst, hatte ich hier Texte von 1965 bis 1970
erwartet.
Als ich mal die Unterscheidung zwischen Architektur und Implementierung
wissen wollte, habe ich mir eine Kopie des Originalartikels über das IBM
System 360 aus dem Jahre 1964 besorgt, soviel dazu, daß es mit dem
"recherchieren nicht
klappt". Da könntest Du Dich übrigens auch gleich aufregen, daß Intel
ständig neue Architekturen vorstellt, obwohl es eigentlich nur neue
Implementierung der gleichen veralteten Architektur sind.

"Für die zitierte Diskussion gebe ich keine Quellen an, das natürlich
jeder dann die Kompetenz dieser Personen anzweifeln kann."

Na, entweder wirst Du es in einer anderen Diskussion selber geschrieben
haben oder jemand anderes, den niemand kennt. Aber wie gesagt, ohne
Quellenangabe sind Zitate immer etwas zweischneidig.

"Herr Richter, mir hat jemand erzählt..."
"Einspruch! Hörensagen!"
"Stattgegeben."

Mal abgesehen davon, bist Du auf mein Zitat, das immerhin von zwei
namhaften Personen stammt, die eigentlich jeder, der sich mit
Rechnerarchitektur beschäftigt, kennen sollte, überhaupt nicht
eingegangen.
Lügen die jetzt in ihrem Buch oder kam bei dem ersten Emulator etwa
doch keine Originalhardware zum Einsatz? (Denn letzteres ist in dem
Zitat definitv nicht erwähnt und aus meiner Sicht sogar ausgeschlossen,
es sei denn Du siehst den Microcode als Hardware an.)

So lange Du hier auf den Versuch einer sachlichen Diskussion nicht
eingehst und keine gegenteiligen Zitate aus Deiner allwissenden
Literatur zum besten bringst, sondern nur mit hohlen Behauptungen
("Emulation beinhaltet immer die Originalhardware Punkt") und
idiotischen Vergleichen ("Eine Ganz ist keine Ente!" - Ach!) glänzt,
erfüllst Du so ziemlich genau die Definition eines Forum-Trolls.

"Aber ich finde es erstaunlich, mit welcher Arroganz hier die Leute
reingehen: "Ich möchte einen Emulator bauen, habe aber keine Ahnung.
Wer sagt mir, wie das geht?"."

Anscheinend hast Du mit diesem Thema im Internet nicht ganz so viel
Erfahrung gesammelt, ansonsten wüßtest Du, daß ständig irgendjemand
fragt "Hey, warum kann ich eine PS2 nicht richtig emulieren, beim
Gameboy klappts ja auch". Wenn ich mich wirklich über jeden aufregen
würde, der die Komplexität dieser Thematik komplett unterschätzt, dann
hätte ich schon vor einer halben Ewigkeit einen Herzinfarkt gehabt...
Früher gab es mal die Faustregel, daß das emulierende System etwa
10-fach schneller sein sollte als das emulierte. Durch einige
Beschleunigung bei der CPU-Emulation (beispielsweise durch "threaded
interpretation" oder "binary translation") ist das zwar prinzipiell
besser geworden, aber dafür sind die Ansprüche bei der Emulation von
Grafik und Sound in den letzten Jahren deutlich gestiegen. Im Endeffekt
bin ich der Meinung, daß die Faustregel immer noch recht gut paßt.

"Und Michael, ich will dir ja nicht zu nahe treten, oder deine
Qualifikation anzweifeln, aber aus deinen Reaktionen sehe ich, dass du
noch nicht allzulange im Berufsleben stehst."

Ich arbeite seit über 20 Jahren mit Computern und beschäftige mich fast
genauso lange mit Emulatoren (sowohl denen, die Du als Simulatoren
bezeichnen würdest, als auch solchen, die mit einem Originalprozessor
arbeiten). Im Berufsleben bin ich seit ca. 9 Jahren unterwegs. Ich bin
hier sicherlich nicht der Älteste, aber ganz bestimmt nicht der
Jüngste.

Was meine Qualifikation betrifft, nein ich habe noch keinen eigenen
Emulator/Simulator entwickelt, aber ich könnte, wenn ich wollte. Viel
interessanter finde ich seit einiger Zeit aber das Thema der
"dynamischen Recompilierung" (wobei ich in dem Fall "dynamische
Binärcodeübersetzung" treffender finde).
Leider voller Rechtschreibfehler (weil ich es ziemlich schnell nebenher
heruntergetippt habe) und auch etwas veraltet, weil es inzwischen 4
Jahre her ist:
http://forums.ngemu.com/web-development-programmin...

"Frauen sind da etwas empfindsamer, bzw. Männer in Deutschland haben
da kein Gefühl, wohingegen in anderen Ländern viel Wert darauf gelegt
wird."

1. Ein Frauenname im Internet deutet nicht zwangsläufig auf eine Frau
hin, weswegen ich alle Poster gleich behandle. Merke:
GIRL = Guy In Real Life
2. Wie heißt es so schön:
- "Wie man in den Wald hineinruft, so schallt es hinaus."
- "Behandle andere so, wie Du selbst behandelt werden willst."
Deine Auffassung, "Hey, heute habe ich mal einen schlechten Tag, also
darf ich alle mal wie Idioten behandeln" geht da schnell nach hinten
los.

"Und noch ein abschließendes Wort zum Thema Flugsimulator"

Nicht alles was hinkt ist ein Vergleich...
Wie gesagt, ich bin inzwischen der Meinung, daß man bestimmte Wörter,
die in unterschiedlichen Fachbereichen verwendet werden, nicht alle
gleich interpretieren sollte.
Der Ausdruck "Morphologie" beispielsweise findet sowohl in der
Biologie als auch in der Linguistik Verwendung, hat zwar eine ähnliche
Grundidee, aber definitiv nicht die gleiche Bedeutung.

Am Ende habe ich noch einen Literaturtip:
James E. Smith, Ravi Nair: "Virtual Machines", 2005.
Das zweite Kapitel heißt "Emulation: Interpretation and Binary
Translation", handelt also eigentlich von dem, was Du als Simulatoren
bezeichnen würdest.
Für Dich wäre dabei aber die Funktionsweise von sog. "System Virtual
Machines" (Kapitel 8) interessant, damit Du mal verstehst, warum
VMware kein Emulator oder Simulator ist, obwohl Du das Konzept der
Virtualisierung eigentlich von der IBM 360 kennen solltest.

Autor: RAM (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sagt mal, kann es sein, daß diese Diskussion sich überhaupt nicht mehr
um das eigentliche Thema dreht?

Hier will jemand ein Ding bauen, das sich -auf welche Art auch immer-
verhält wie ein Gameboy, und ihr brecht eine Diskussion vom Zaun, ob
das jetzt Emulation oder Simulation wäre.

Das ist doch scheissegal, jeder, der nicht völlig vergeistigt ist,
sollte doch kapiert haben, worum es Martö geht, oder etwa nicht?!

Die Diskussion jedenfalls ist reine geistige Onanie.

Autor: Fabian Scheler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Das ist doch scheissegal, jeder, der nicht völlig vergeistigt ist,
> sollte doch kapiert haben, worum es Martö geht, oder etwa nicht?!

> Die Diskussion jedenfalls ist reine geistige Onanie.

das dürfte zweifellos stimmen - aber, um ehrlich zu sein - ich habe den
kompletten Thread mit gelesen und fand diese Diskussion durchaus
unterhaltsam ;-)

Ciao, Fabian

Autor: Michael König (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jetzt mal eine themenbezogene Frage:
Was für ein Nintendo-Gerät soll denn nun eigentlich emuliert werden?
Denn irgendwie wurde das nicht wirklich präzisiert...

Gameboy:
Hat ein Z80-Derivat (erinnert mich ohne den Schattenregistersatz aber
immer eher an einen 8080) und ist nicht wirklich der Hardware-Hammer.
Auf einem 30MHz ARM610 lief ein Gameboy-Emulator ganz brauchbar, aber
ob ein 8-Bit Mikrocontroller dafür ausreicht, bin ich mir nicht ganz
sicher. Ist ja auch immer eine Frage des vorhandenen Speichers, etc.

NES:
Hat zwar nur ein 6502-Derivat, das man aber aus Gründen der
Kompatibiliät besser zyklusgenau emulieren sollte. Dazu kommen dann
noch Grafik und Sound, die eigentlich leistungsfähiger als beim Gameboy
sein sollten. Wenn es wirklich auf Kompatibilität ankommt, sollte man
die ganzen Mapper nicht vergessen, und dann wird es richtig aufwendig.
Im übrigen habe ich immer noch keinen einzigen NES-Emulator gefunden,
der Elite korrekt hinbekommt. Kann jeder mal selber ausprobieren, da
das Spiel inzwischen Freeware ist:
http://www.iancgbell.clara.net/elite/

SNES:
Der 65816 mag nur 3,5MHz haben, aber man sollte das Komplettsystem
nicht unterschätzen. Der Soundchip wurde entwickelt von Ken Kutaragi
(dem Vater der Playstation, als er noch brauchbare Hardware machte) und
scheint doch recht leistungsfähig zu sein. Der Grafikchip kann rotieren
und skalieren, worüber auch Pseudo-3D-Effekte erzeugt werden.
Um das Gerät mal in Relation zu setzen:
Der direkte Konkurrent damals ware das Sega Megadrive mit einem 8MHz
68000er, einem Z80 als Soundcontroller, einem PSG und zwei Grafikchips,
dennoch hatte das SNES in einigen Fällen die bessere Grafik.
Viele SNES-Spiele wurden mehr oder weniger autentisch auf den GBA
portiert, wobei dieser einen 16MHz ARM7TDMI hat.
Zur Emulation vom SNES benötigt man definitiv einen ARM mit mindestens
100MHz. Ich bin mir jetzt nicht mehr ganz sicher, ob ich auf meinem
Acorn RiscPC mit 200MHz StrongARM einen brauchbar laufenden
SNES-Emulator hatte oder nicht.

Neben der reinen Emulation wäre bei so einem Projekt dann ja auch noch
die Hardware-Seite. Ich bin mir nicht ganz sicher, was es momentan an
Soundchips gibt und ob man eventuell Grafikchips bekommt, die einem
etwas Arbeit abnehmen könnten. VGA-Displays sollten aber immer noch
nicht besonders billig sein.

Alternativ könnte man natürlich auch versuchen, "einfach" die
Hardware als Handheld nachzubauen. Ich glaube für den Atari 2600 hat
das schonmal jemand gemacht.

Autor: Lupin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Als einzigst sinnvoll und mit einfachen Mitteln technisch machbar
erachte ich den Gameboy.

Vorteile hier sind:
* Kein Farbdisplay nötig und niedrige Auflösung bei den anderen wirst
du ein TFT in der größe nur schwer beschaffen können und wenn dann nur
mit analoger ansteuerung und sehr teuer.
* Relativ einfache Emulation - Sollte ein ARM7 packen
* Kleine Modulgrößen, maximal 2MB

Nun frag ich mich, wo du das Spiel unterbringen willst - da wirst du
einen großen ARM7 mit externem speicher brauchen. Am besten wäre es die
original Gameboy module benutzen zu können - da musst du erstmal einen
passenden schleifkontakt finden (hab ich bei einem großen
Steckverbinder-Hersteller schon mal gesehen).

Ansonsten, wenn du es noch einfacher haben willst kannst du ja
versuchen den Pokemon Mini zu emulieren, der ist auch von Nintendo, hat
nur 512kB große Module und nur 4kB RAM - das würde alles in einen ARM7
mit 1MB flash speicher passen (von TI zB) :-)


Mit AVR kannst es ganz vergessen, damit kannst du vielleicht einen
Chip8 "emulieren" ;)

Autor: Manfred (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jetzt gebe ich auch noch meinen Senf zum Vergleich Emulator/Simulator
dazu.

Forderung an den Emulator: Er muß das zu emulierende System nahezu
100%-ig nachbilden. Originalhardware ist hierzu nicht zwingend
erforderlich. Siehe Prozessorentwicklung.

Forderung an den Simulator: Das Ergebnis muß gleich dem Ergebnis des
Originalsystems sein, muß nicht den gleichen Zeitlichen ablauf haben.
Es muß aber Möglichkeiten geben, den normalen Abfauf zu beeinflussen.
Siehe Software-Simulator für Mikrocontroller am PC.

Gruß

Manfred

Autor: Johnny (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein interessanter Controller für solche Aufgaben ist der Propeller von
Parallax. Er besitzt 8 Cores in denen dann sehr gut die einzelnen
Spezialchips eines solchen Gerätes wie des NES, C64 etc. simuliert
werden können.

Hier die Homepage des Propellers:
http://www.parallax.com/propeller/index.asp

Und einer hat sich bereits daran gesetzt, einen kompletten C64 Emulator
darauf zu programmieren:
http://forums.parallax.com/forums/default.aspx?f=2...

Gruss
Johnny

Autor: Bob (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Marius S. (lupin) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Öhh... man könnte ja versuchen den Pokemon Mini zu emulieren: 
http://pokeme.shizzle.it/

Aber selbst das ist für nen AVR unmöglich (hatte ich schonmal überlegt). 
Man braucht sowas um die 30 MIPS, und entsprechend viel speicher (denke 
mal so 16kB RAM und 1 MB ROM). Da kommt eigentlich nur ein ARM in frage. 
Würde mich freuen falls das jemand machen möchte :-P

Autor: Läubi .. (laeubi) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Boris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sorry, bitte outet mich nicht gleich als kontraproduktiv... aber was 
soll das alles?
Ich mach auch gerne viel selber, auch wenn's sowas schon gibt! Ich würde 
z.B. nie in die Verlegenheit kommen, eine LCD Lib zu verwenden, die ich 
hier oder sonstwo gedownt hab!

Aber warum muss man denn eigentlich nen GB emulieren?
Mal von der Tatsache abgesehen, dass es sich Spiele-technisch absolut 
nicht lohnt!?

Wenn man was emulieren will, dann macht man es doch so, dass man nachher 
auf dem PC GB und NES und SNES zocken kann oder nicht!?

Wenn es tragbar sein muss, dann nehm ich nen Z80 und nen Display (woher 
auch immer) und lass den original Code laufen!
Oder ich kauf mir nen GB für 5€ bei ebay!

Ich persönlich halt sowas für vertane Zeit!
Auch XBOX oder so, bei heutigen CPU Preisen lohnt sich sowas nichtmal 
fürs Hobby und man wird schnell Opfer hässlichen umcodierens.

Um zum Eigentlichen zurückzukommen: ein Mega16 kostet nicht viel 
weniger, als ein Mega128 und der kann (evtl. mit ext. RAM) LOCKER nen GB 
nachbilden!

Viel Spaß beim Xlaten

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.