Hardeware emulation

  • Moin moin,
    da hier im Forum ja viele Informatiker/Studenten unterwegs sind wollte ich mal fragen ob sich schonmal jemand mit "Hardware Emulation" beschäftigt hat. Genauer gesagt besteht mein neues Projekt darin das ich mir einen eigenen Game Boy Emulator schreiben möchte. Nun man könnte auch einfach einen fertigen nehmen aber der Reitz am Programmieren liegt für mich eher im Wissen wie etwas funktioniert und lernen kann man es halt am besten wenn man so was selbst schreibt. Dabei sei mal die gewählte Sprache egal (wobei ein AutoIT Script das selbst durch ein Interpreter gejagt wird nochmal Interpreter spielen zu lassen sicherlich lustig währe :D ).

    Durch meinen Freund Google konnte ich auch schon viel Theorie in Erfahrung allerdings fehlt mir der Sprung in die Praxis:

    Ich bin nun soweit das ich weiß dass der Gameboy eine Z80-Prozessor ähnliche funktionsweise hat, desweiteren habe ich eine "Dokumentation" zum Gameboy gefunden in der alles wirklich gut beschrieben ist(von den Opcodes die hinzugefügt,verändert oder entfernt wurden bis zur X,Y Angabe für die Texturen).

    So nun mein eigentliches Problem, ich muss ja einen Prozessor(ALU,CU,BIU,Register) inklusive RAM emulieren. Mir fehlt der Einstiegspunkt wo ich anfangen sollte bzw. mehr lese Material. Ich bin mir durchaus bewusst das das nichts ist das man von Heute auf Morgen lernen kann aber ich hab Zeit während wir in der Schule noch Excel machen(-.-) wenn also jemand vielleicht sogar ein Tutorial für Hardware Emulation kennt immer her damit^^

    MfG Sortoc

  • Thread bitte schließen, das erstellen eines Emulators ermöglicht es gegen das Gesetz zu verstoßen und ist damit strafbar.

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.

  • Ein Game Boy Emulator ermöglich es sogenannte ROMs zu nutzen. ROMs sind nichts anderes alls illegal erstellte Raubkopien. Das gleiche gilt für Wii, PS2, PS3, Gamecube usw.

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.

  • Thread bitte schließen, das erstellen eines Emulators ermöglicht es gegen das Gesetz zu verstoßen und ist damit strafbar.


    Wenn man es so sieht müsste jegliche Art der Zwischenmenschlichen Kommunikation unterbunden werden denn man hat immer die Möglichkeit gegen das Gesetz zu verstoßen. Und hierbei geht es mir gewiss nicht um die Beschaffung oder Publizierung von Urheberrechtlich geschütztem Material (die Spiele) sonder um die Emulation von Hardware in diesem Fall eines Gameboys. Wenn das Thema mit dieser Fragestellung zu "Gesetzesuntreu" sein sollte formuliere ich die Frage auch gerne um: Wie emuliere ich einen Radiowecker?

    Achja und ein Emulator an sich sollte eigentlich nicht strafbar sein er ist lediglich ein "Übersetzer" wie z.B. der VLC Player für die Illegalen Kino Rips von Onkel Fritz.

  • Kein Problem AspirinJunkie, Emulatoren fallen hier unter das Plagiats/Fälschungsgesetz, da sie ein Nachbau der orginalen Geräte sind und sie es zudem ermöglichen die von den Orginalgeräten gegeben Schutzfunktionen zu verhindern:

    http://dejure.org/gesetze/UrhG/106.html
    http://dejure.org/gesetze/UrhG/107.html
    http://dejure.org/gesetze/UrhG/108.html

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.

  • Die Quellen geben Aufschluss darüber wie die rechtliche Lage aussieht wenn man Roms kopiert und vervielfältigt.
    Wenn man ein Spiel besitzt und nur für sich zu Hause verwendet oder freie Spiele spielt greift dies augenscheinlich nicht.
    Für Emulatoren (darum geht es ja hier) finde ich dort sowieso erstmal keinen Anhaltspunkt.
    Meine Frage kam auf da ich bisher nur folgende Rechtsauffasung zu diesem Thema kannte:

    Zitat

    Das Besitzen eines Emulators ist grundsätzlich nicht illegal. Ein ROM ist so lange legal, wie man das jeweilige Spiel selbst als Original besitzt und selbst eine Sicherheitskopie angelegt hat. Internet-Downloads sind grundsätzlich illegal – unabhängig davon, wie lange man das ROM nutzt und ob man das Original besitzt (siehe auch Schranken des Urheberrechts).
    Neben kommerziellen ROMs gibt es auch die Homebrew-Szene, welche sich mit meist unautorisierter Programmierung von Fremdsystemen auseinandersetzt. So gibt es zum Beispiel Programmierer, die unlizenziert auf Konsolen und Handhelds entwickeln und deren Produkte als Freeware im Internet verfügbar sind. Rechtlich gesehen ist dies (in Deutschland) nicht illegal, jedoch in einer Grauzone. Die Endprodukte werden oft als ROM verbreitet und können mit entsprechender Hardware oder Emulatoren gespielt werden.


    Quelle: >>Wikipedia<<

    Wie gesagt: Das Thema hier sind ja nicht die Roms sondern der Emulator und ich sehe keinen Anhaltspunkt hier einzuschreiten da offensichtlich Emulatoren per se nicht illegal sind.

  • Ich verweiße nochmal auf die obrigen Gesetzespunkte. Es geht hier um den Nachbau der Funktion eines z.b. Gameboys welches ein Plagiat/Fälschung nach deutschem Recht darstellt.

    Btw. Die Wiki kann man nicht als rechtswirskame Quelle herranziehen, da die Informationen darin in keinsterweiße auf Richtigkeit geprüft sind. Vor allem ist dies Aussage durchaus für den asiatischen Raum gültig, aber wir sind nicht in Asien.

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.

  • Ich weis ja ausm BWL unterricht das das deutsche Gesetz etwas daneben ist aber hö? Heißt das also wenn ich zu Weihnachten ein Radio Baukasten bekomme und damit ein Radio baue das ich etwas illegales tue, weil mein Radio ja ein Plagiat ist (und wie siehts aus wenn der Baukasten aus dem Ausland kommt)?

  • Nein weil die Funktion eines Radios nicht von einer speziellen Firma geschützt ist. Die Funktionsweiße eines Gameboys, einer Wii, einer PS3 ect. hingegen schon

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.

  • chip
    dann dürftest du nirgendwo mehr ein Küchenmesser zulassen, und Autos wären auch gegen das Gesetz, da man damit sehr einfach Leute umbringen kann....

    @Sortoc
    Ein Emulator ist eigendlich nichts weiter als ein "Übersetzungsprogramm". Es liest eine Codesequenz des zu emulierenden Programms ein und übersetzt diese in entsprechenden Code auf der ausführenden Maschine.
    Um den Emulator zu realisieren, muss man BEIDE Architekturen gut kennen :rolleyes:
    Die "Übersetzungstabelle" ist dabei das einfachste, schwierig wird ein universeller Parser, der den Code zeilenweise liest und auseinanderklabustert.
    Weiterhin muss die gesamte Peripherie des zu emulierenden Geräts/Architektur/Plattform bekannt sein. Incl. des Inhalts von ROM´s, der Funktion von I/O-Chips und deren Ports, Interrupts uswusf....

    Sagen wir mal so, wenn du ein GAMEBOY-Freak bist, der die Funktionsweise sämtlicher Innereien dieses Geräts im Schlaf vorwärts und rückwärts beten kann und für den ROM-Listings zur täglichen Lektüre gehören, dann wäre die Emulation dieses Geräts sicherlich eine Herausforderung....Vorausgesetzt, du hast genausoviel Ahnung von PC´s.
    Mal eben ein Buch lesen (oder zwei) reicht da nicht, da sind einige lange Nächte mit dem Lötkolben in der Hand sicher auch nicht falsch investiert.

    Ich habe vor einigen Jahrzehnten mal an einem i4004-Emulator (4-Bit-Prozessor für Taschenrechner) herumgewurstelt, der emulierte den 4004 auf einem 8088 bzw 80(2)86. Das war eine Heidenarbeit, nach ca. einem halben Jahr war das Ding sogar lauffähig, er konnte kleinere Programme ablaufen lassen. Der Vorteil war, dass fast alle (der ca. 40) Assemblerbefehle des 4004 recht einfach im 8086 nachzubilden waren^^. Der Takt des 4004 war ca. 500 KILOHertz :rofl: Ohne den Vater eines Freundes, der mir sowohl mit Hardware, als auch mit Infos weiterhelfen konnte wäre das alles nix geworden.
    Die ausgedruckten Listings des Emulators habe ich (wie so viele andere auch) jahrelang aufgehoben, bevor sie irgendwann im NUL-Device verschwunden sind....

  • Die Wiki kann man nicht als rechtswirskame Quelle herranziehen, da die Informationen darin in keinsterweiße auf Richtigkeit geprüft sind.

    Genausowenig ist allerdings deine Aussage auf Richtigkeit geprüft.
    In den zitierten Gesetzesquellen gibt es keine offensichtliche Aussage zu Emulatoren oder auch nur ansatzweise einen Hinweis darauf.
    Du versteifst dich auf Roms - aber das ist hier ja nicht das Thema.
    Die Privatkopie eines Roms ist meiner Meinung nach durch §53 UrhG zum größten Teil legalisiert und selbst wenn nicht sind wir keinen Schritt weiter was die Legalität von Emulatoren betrifft.

    Ich bin kein Jurist und weiß nicht ob du einer bist.
    Einige Semester Privatrecht und Öffentliches Recht reichen sicher nicht aus rechtlich relevante Aussagen zu treffen.
    Daher sage ich alles in größter Vorsicht.

    Versteh mich nicht falsch aber ich kann diese extreme Gewissheit mit der du Emulatoren per se als Illegal erklärst anhand deiner bisher dargestellten Quellen nicht nachvollziehen.
    Woher nimmst du die Sicherheit das du mit einer derart großen Souveränität diese These vertrittst?

    • Offizieller Beitrag

    chip
    Mir ist bisher keine Rechtslage bekannt, die Emulatoren untersagt. Deine geposteten Links unterstützen deine Aussage nicht.
    Probleme entstehen m.M. rechtlich dann, wenn zur Nachbildung (Emulation) der Hardwarefunktionen in irgendeiner Form z.B. die ROM-Inhalte einer Spielkonsole ausgelesen und verwertet werden.
    Insofern wäre im hier anstehenden Fall zu klären, wie die "Dokumentationen" entstanden sind. Sofern jedoch keine klaren Rechtsverstöße erkennbar sind, gilt auf jeden Fall die Unschuldsvermutung.
    Ergo: Thread bleibt erst mal offen.

  • Sofern jedoch keine klaren Rechtsverstöße erkennbar sind, gilt auf jeden Fall die Unschuldsvermutung.

    Musst da nicht selber lachen? Soll ich ein einen gewissen Thread von kurzem erinnern der wegen noch weniger und einer noch geringeren Annahme sofort von DIR geschlossen wurde.

    Aber gut werde das mal in einigen Juraforen posten um entsprechend weiter fundierte Informationen dazu einzuholen.

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.

    • Offizieller Beitrag

    Musst da nicht selber lachen?


    Nein, muß ich nicht. Auch ich bin kein Jurist. Dinge, die (auch wenn 'geringfügigerer' Natur) klar liegen, werden dann auch ebenso klar behandelt.
    Wenn ich aber Zweifel habe gilt: Im Zweifel für...
    Ich habe keine Probleme damit, meinen Standpunkt zu revidieren. Doch hätte ich dazu gern fundierte Argumente. Und die von dir eingebrachten sind mir da noch nicht ausreichend.
    Bring mir irgendein Urteil, in dessen Text klar formuliert ist: Das Erstellen von Emulatoren ist gesetzwidrig. Dann bin ich der erste, der hier ein Schloß vorhängt. ;)

  • chip, dir sollte das lachen schnellstens vergehen !
    Es gibt sogenannte "Homebrew", Spiele die für Emulator LEGAL entwickelt wurden und per Emulator / Flashkarte (https://autoit.de/www.google.de) spielbar sind.
    http://www.pdroms.de/
    Und desweiteren bezeichnet der Begriff "ROM" lediglich ReadOnlyMemory, wollte ich nur mal sagen.
    Wie gesagt - Homebrew ist NICHT illegal, ein Emulator auch nicht !

    Es gibt sehr viele Leute, die glauben. Aber aus Aberglauben.
    - Blaise Pascal

    • Offizieller Beitrag

    chip, lass deinen Rachefeldzug bitte einfach sein, ich sehe keinen Verstoß gegen die Forenregeln oder Gesetze und verantworte den Thread daher. Diskussion back-to-topic!

    Ich glaube, dass AutoIt nicht genug Performance bieten wird, um den gesamten (wenn auch langsamen) Prozessor zu emulieren. Ich würde da eher in C(++) loslegen (wenn ich es gescheit könnte :D).

    Johannes

  • Auch wenn es hier um Spiele geht: Die DOS-Box ist letztendlich auch ein Emulator. Also können Emulatoren nicht grundsätzlich verboten sein.


    Ein richtiger Gameboy ist ja nicht gerade leistungfähig. Allerdings halte ich es, wie einige Vorposter, doch für unmöglich, dass AutoIt die verbleibenden hunderte Befehle pro Sekunde einlesen und entsprechend ausführen kann. Allein für das Display hat man ohne BitBlt Schwierigkeiten in entsprechender Zeit.

    Eine Möglichkeit wäre es, mit AutoIt den Binärcode der Spiele einzulesen und in Intelopcodes umzuwandeln.