Amiga Kompatiblität

Es gibt 162 Antworten in diesem Thema, welches 20.722 mal aufgerufen wurde. Der letzte Beitrag (12. Dezember 2012 um 01:43) ist von Key of Solomon.


  • Und ich sage von nun an Tisch, wenn ich Stuhl meine, weil ich es jetzt so bestimme ?!. Oder wenn ich Blub sage, meine ich eigentlich Gundark?

    Oha, auf vollem Angriffskurs und völlig unlustig dazu.

    Nun gut, dann leg mich eine Theorie nochmal aus.

    Ich habe auf dem Amiga 1200 was weiss ich eine 3.0 ROM: Fest auf dem Chip. Nun lade ich mit WHDLOAD und dem kickemu(!) ein 1.3 ROM um eben ein 1.3er Programm abzuspielen. Ich emuliere also den nicht vorhandenen Kickstart-Hardware-Chip mit einer Software. Somit ist es eine Emulation, weil eben mit Software eine andere Hardware vorgegaukelt wird.
    Genauso wird für die Festplattenspeicherungen quasi ein Diskettenlaufwerk (oder mehrere) vorgetäuscht. Auch hier wird wieder nicht existente Hardware (10 paralelle Diskettenlaufwerke) mit Software ausgetauscht...so ähnlich wie bei CD Emulatoren wie Daemon Tools heutzutage...

    Und auch sonst findet man auf der WHDLOAD Seite einige Male das Wort Emulator:

    Zitat


    Emulation von MOVE SR,ea aus dem User Mode auf 68010+
    Emulation von Unsupported Integer Instructions auf 68060

    Zitat


    Wenn Snoop eingeschalten ist, markiert WHDLoad den Bereich der Custom- und Cia-Register als ungültig/schreibgeschützt im MMU-Übersetzungsbaum. Dadurch verursacht jeder Zugriff auf solch eine Adresse eine Access Fault Exception. Der Exception-Handler in WHDLoad bearbeitet diese Exception. Zuerst überprüft er, ob die zugegriffene Adresse erlaubt ist. Wenn nicht wird das installierte Programm beendet. Wenn der Zugriff erlaubt ist und eine Leseoperation ist, wird der Zugriff emuliert und die normale Programmausführung fortgesetzt. Bei einer Schreiboperation speichert WHDLoad zusätzlich den geschriebenen Wert intern ab.

    Zitat


    Wenn ein Speicherbereich durch resload_Protect#? geschützt wird, verändert WHDLoad die entsprechenden Kachel-Descriptoren im MMU-Übersetzungsbaum. Dadurch generiert jeder Zugriff auf eine geschützte Kachel durch den Prozessor eine "Access Fault" Exception. Der Exception-Handler im WHDLoad prüft den Grund für jede Exception. Wenn der Grund ein Zugriff auf eine geschützte Kachel war, aber die zugegriffene Adresse nicht in einem geschützten Bereich lag, wird der Zugriff emuliert und die normale Programmausführung fortgesetzt. Ansonsten wird das installierte Programm mit einem entsprechendem Fehlerrequester beendet.

    Also 0 Emulation sehe ich da beim besten Willen nicht...

    Das man die Spiele zusätzlich noch anpassen muss, zeigt weiterhin das sie nicht für das aktuelle, sondern für das alte System gedacht waren....


    Ein "Game-Patching-System".

    Daran habe ich auch schon gedacht. Würde dann aber doch eher WHDLOAD unnötig machen, wenn es die Spiele richtig patchen würde. Ohne WHDLOAD geht da aber anscheinend ja nicht soviel...im Gegensatz zu Windows 98/Windows7, wo die Programme ohne ein extra "Rahmenprogramm" laufen (übrigens eine weitere Gemeinsamkeit mit einem Emulator wie beim PC zb die DOSBOX).

  • Das anpassen hat aber nichts mit Emulation zu tun. 99% aller ECS Software ist z.B. lauffähig auf OCS Rechner. Der AGA Chipsatz ist auch voll abwärtskompatibel. Die 68000-68060 CPUs sind ein Prozessorklasse.

    Zitat

    Nun lade ich mit WHDLOAD und dem kickemu(!) ein 1.3 ROM um eben ein 1.3er Programm abzuspielen. Ich emuliere also den nicht vorhandenen Kickstart-Hardware-Chip mit einer Software. Somit ist es eine Emulation, weil eben mit Software eine andere Hardware vorgegaukelt wird.

    Du verrennst dich da komplett, Gundark. Das ausgelesene Kickstart 1.3 aus einem Amiga 500 wird in den Speicher geladen und benutzt. WHDLoad ist das Ladeprogramm, der eigentliche Patch ist die mitgeladene .slave Datei. Die gibt es für jedes Spiel.

  • Oha, auf vollem Angriffskurs und völlig unlustig dazu.

    :cry doch

    Zitat

    Nun gut, dann leg mich eine Theorie nochmal aus.

    Ich habe auf dem Amiga 1200 was weiss ich eine 3.0 ROM: Fest auf dem Chip. Nun lade ich mit WHDLOAD und dem kickemu(!) ein 1.3 ROM um eben ein 1.3er Programm abzuspielen. Ich emuliere also den nicht vorhandenen Kickstart-Hardware-Chip mit einer Software. Somit ist es eine Emulation, weil eben mit Software eine andere Hardware vorgegaukelt wird.

    Nur dass viele Spiele, die nicht laufen, nicht auf ein KS1.3 angewiesen sind, weil sie eh durch direkte Hardwareprogrammierung erstellt wurden. ;) . Außerdem habe ich bezüglich Kickstart selbst von Emulation gesprochen darauf ein doppeltes ;);) .
    So ziemlich alle alten Spiele würden auch auf einem 1200er oder 4000er laufen, wenn sie schlicht sauber programmiert worden wären. Insofern bügelt WHDLoad nur die Programmierfehler der Softwareentwickler aus bevor das Spiel gestartet wird. Eine Emulation würde es ständig zur Laufzeit tun.

    Lieber einen Commodore in der Hand als ein Atari auf dem Dach


  • Das ausgelesene Kickstart 1.3 aus einem Amiga 500 wird in den Speicher geladen und benutzt.


    So einfach ist das nicht ohne MMU. Hier muss schon eine gewisse Funktionalität der MMU nach gebaut werden.
    Ich kann die Haltung von Gundark durchaus nachvollziehen. Man müsste wohl erst mal genau definieren was eine Emulation aus macht. Das Abbilden von Hardware in Software kann es nicht sein, denn das wäre ja schon bei der MMU-Story schon geschehen. Auch werden verschiedene Befehle des 68k nach gebaut oder sonstiges angepasst, da sie in höheren CPUs nicht mehr existent sind.

    Mega Drive | Neo Geo AES 3-4 | Apple IIe | C64 ASSY 250407 | A500+ | A1000 (GB-Edition) | A3000D rev.9.01 | A4000D rev.B

  • Zitat


    Du verrennst dich da komplett, Gundark. Das ausgelesene Kickstart 1.3 aus einem Amiga 500 wird in den Speicher geladen und benutzt. WHDLoad ist das Ladeprogramm, der eigentliche Patch ist die mitgeladene .slave Datei. Die gibt es für jedes Spiel.

    Wieso erklärst du mir das, was ich selber geschrieben habe? Es wird ein Kickstart 1.3 System emuliert. Mehr habe ich nie gesagt. :)
    Ohne den "Lader" könnte man das alte KS1.3 nicht auf den Amiga 1200 laden (da normal 3.0er Chip) und somit könnte man auf dem normalen Amiga 1200 kein Spiel (mit KS1.3 als Grundlage) laden.
    Somit ist der Lader doch der Emulator, weil er eben dieses Laden ermöglicht.

    Ich renn dann mal weiter... ;):P

    edit: Und ich hab dich schon verflucht, Retro-Nerd weil du mit diesen blöden Anführungszeichen angefangen hast. :bmotz:
    Nee, nur Spass. Find die Diskussion eigentlich ganz spannend... ;)

  • Es wird halt kein Kickstart 1.3 emuliert, sondern ein echtes Kickstart Rom geladen. Genauso wie du es über eine Turbokarte per Maprom in den Speicher laden könntest um anstatt eines Kickstart 3.0 ein KS 3.1 zu nutzen.

    Zitat

    Ohne den "Lader" könnte man das alte KS1.3 nicht auf den Amiga 1200 laden (da normal 3.0er Chip) und somit könnte man auf dem normalen Amiga 1200 kein Spiel (mit KS1.3 als Grundlage) laden.

    Natürlich geht das, siehe den Softkickern per Bootdiskette, die auch keine Emulation sind.

  • Ohne den "Lader" könnte man das alte KS1.3 nicht auf den Amiga 1200 laden (da normal 3.0er Chip) und somit könnte man auf dem normalen Amiga 1200 kein Spiel (mit KS1.3 als Grundlage) laden.

    das kann jeder Softkicker und bedarf dafür keinen extra Emulator.

    hmmm retro-nerd war schneller ^^

    Lieber einen Commodore in der Hand als ein Atari auf dem Dach


  • Ja, das war Standard.


    Man kann viele PC HD Laufwerke so umbauen das man damit zumindest PC HD Disketten mit dem Amiga lesen kann.

    Am besten dafür eignen sich dafür Sony MPG 920 Laufwerke.

    Nichts anderes macht der A1K Floppy Fix

    TP


  • Ich habe auf dem Amiga 1200 was weiss ich eine 3.0 ROM: Fest auf dem Chip. Nun lade ich mit WHDLOAD und dem kickemu(!) ein 1.3 ROM um eben ein 1.3er Programm abzuspielen. Ich emuliere also den nicht vorhandenen Kickstart-Hardware-Chip mit einer Software. Somit ist es eine Emulation, weil eben mit Software eine andere Hardware vorgegaukelt wird.


    Das Kickstart ist aber trotzdem Software, auch wenn es in einem ROM gespeichert wurde. Und ein anderes Kickstart laden emuliert kein ROM, denn das ist bei Software gar nicht notwendig. Der CPU ist es nämlich reichlich egal, ob die Software in einem ROM steht oder im RAM.

    Zitat

    Genauso wird für die Festplattenspeicherungen quasi ein Diskettenlaufwerk (oder mehrere) vorgetäuscht. Auch hier wird wieder nicht existente Hardware (10 paralelle Diskettenlaufwerke) mit Software ausgetauscht...


    Nein, da wird kein Diskettenlaufwerk vorgetäuscht.

    Zitat

    Und auch sonst findet man auf der WHDLOAD Seite einige Male das Wort Emulator:


    Da wird wirklich einzelne Befehle emuliert, aber eben nur einzelne Befehle.

    Zitat

    Also 0 Emulation sehe ich da beim besten Willen nicht...


    Ein Emulator wie z.B. Vice emuliert einen C64. Das bedeutet: ALLES wird in Software emuliert. Die gesamte CPU, der Videochip, der Soundchip, die Portbausteine, das Diskettenlaufwerk usw usw usw. All das passiert bei WHDLoad nicht.

    Zitat

    Das man die Spiele zusätzlich noch anpassen muss, zeigt weiterhin das sie nicht für das aktuelle, sondern für das alte System gedacht waren....


    Bei einem A500 Emulator müsste man keine Spiele patchen. Denn der Emulator würde sich ja wie ein A500 verhalten.


    Zitat

    Daran habe ich auch schon gedacht. Würde dann aber doch eher WHDLOAD unnötig machen, wenn es die Spiele richtig patchen würde. Ohne WHDLOAD geht da aber anscheinend ja nicht soviel...


    Das wurde vor WHDLoad gemacht, hat sich aber als extrem schlecht erwiesen. Dafür müsste der Patch-Autor sämtliche Konfigurationen usw haben und für jede einzelne alles anpassen. Bei WHDLoad ist schon vieles vorgefertigt vorhanden, so dass man sich nicht mehr um jede CPU, jedes Kickstart usw usw kümmern. Ausserdem kann man WHDLoad auf neue Hardware anpassen, ohne gleich alle 1000 Spiele neu zu patchen.

  • Es wird halt kein Kickstart 1.3 emuliert, sondern ein echtes Kickstart Rom geladen. Genauso wie du es über eine Turbokarte per Maprom in den Speicher laden könntest um anstatt eines Kickstart 3.0 ein KS 3.1 zu nutzen.

    Es ist von der original Hardware aber nicht vorgesehen gewesen, dass ein KS1.3 geladen wird. Dies muss doch erst durch Software möglich gemacht werden.

    Zitat


    Natürlich geht das, siehe den Softkickern per Bootdiskette, die auch keine Emulation sind.


    Das Betriebssystem mag das alte originale sein, aber die Ladefunktion, die eben das vorhergesehene OS "überschreibt" ist für mich eben doch Emulation. So wie DOSBOX ein Emulator für eben DOS ist (auch nur ein anderes PC OS).

    Und zum Umbiegen: Nichts anderes macht ein Emulator. Er biegt eben neue Hardware und alte Software so um, dass sie miteinander laufen.
    Im Prinzip sind es 10 Diskettenlaufwerke parallel, wie diese gebogen und gepatcht werden bleibt den Technikern überlassen.
    Für die gleiche Funktionalität bräuchte man ohne Software 10 parallele Diskettenlaufwerke. Da es diese nicht gibt werden sie für mich vom eigentlichen Wort her emuliert (nachgebildet).

    Siehe auch Definition Emulation Teil 2:
    Im Unterschied zur Simulation wird nur die Funktion des Systems nachgestellt, die Funktionsweise kann sich grundlegend unterscheiden.

  • Am besten lässt du dir das mal von Bert Jahn genauer erklären, oder von einem der bekannten WHDLoad Patcher wie Stingray. Letzterer würde dir den Hals umdrehen, wenn du WHDLoad als Emulation bezeichnen würdest. :D

    WHDLoad hat kein vorgesehenes OS. Es läuft vollkommen unabhängig vom Amiga OS. Lediglich bei Schreibzugriffen wie Spielstände wird nochmal drauf zugegriffen.

  • Zitat

    Und zum Umbiegen: Nichts anderes macht ein Emulator. Er biegt eben neue Hardware und alte Software so um, dass sie miteinander laufen.
    Im Prinzip sind es 10 Diskettenlaufwerke parallel, wie diese gebogen und gepatcht werden bleibt den Technikern überlassen.

    Nein, wie kommst du darauf? Es gibt ja genügend Amiga Spiele die von Haus aus von einer Festplatte laufen. Die alten Spiele ohne HD Unterstützung werden einfach von den Laderoutinen so angepasst, dass sie von Festplatte laufen und nicht mehr nach einem Diskettenlaufwerk fragen. Hat also nichts mit Emulation zu tun.

  • Ausserdem kann man WHDLoad auf neue Hardware anpassen, ohne gleich alle 1000 Spiele neu zu patchen.

    Es ist von der original Hardware aber nicht vorgesehen gewesen, dass ein KS1.3 geladen wird. Dies muss doch erst durch Software möglich gemacht werden.


    Das Betriebssystem mag das alte originale sein, aber die Ladefunktion, die eben das vorhergesehene OS "überschreibt" ist für mich eben doch Emulation. So wie DOSBOX ein Emulator für eben DOS ist (auch nur ein anderes PC OS).


    Jetzt begibst du dich vollends aufs Glatteis. Beschäftige dich estmal näher mit dem Amiga. Sowohl am Amiga 1000 als auch bei den ersten Amiga 3000 musste das Kickstart sowieso immer von Diskette ins RAM geladen werden ( Emulation ? ). Erst der A500 A600 A1200 und A4000 haben es in einem ROM zur Verfügung gestellt bekommen, weil es soweit ausgereift und fehlerbereinigt war ( aber nicht fehlerfrei ;) .
    DOSBOX ist ein Emulator, soweit richtig, aber was wird emuliert, wenn ich ein bestimmtes echtes/originales Kickstart ins RAM lade und von dort starte... genau NICHTS.... vom Ursprung her wurde es sowieso schon immer so gemacht.

    Lieber einen Commodore in der Hand als ein Atari auf dem Dach

  • Am besten lässt du dir das mal von Bert Jahn genauer erklären, oder von einem der bekannten WHDLoad Patcher wie Stingray. Letzterer würde dir den Hals umdrehen, wenn du WHDLoad als Emulation bezeichnen würdest. :D

    Ich habe versucht "Emulation" behutsam zu nutzen, aber da wurde mir ja direkt nen Schuh draus gemacht.
    Ich weiss, sehr wohl dass WHDLOAD im Sinne kein klassischer Emulator ist. Und auch die Fehlerliste zu jedem einzelnen Spiel spricht für kein "Emulator an - alles läuft" Prinzip.
    Aber wenn man mich schon angreift, weil ich Ketzer das Wort "Emulator" für WHDLOAD benutzt habe, so lasse ich das auch nicht auf mir sitzen.
    Emulator im Wortsinn passt nämlich auch auf WHDLOAD, wenn auch nicht im festgesetzten Sinn von WINUAE oder STeem. Dennoch sehe ich starke Parallelen zu Emulatoren, auch wenn die Amigas hardwarenah/-gleich sind.
    Allein schon als Grundlage für soviele Spielepatches zu dienen, zeigt ja wie mächtig WHDLOAD anscheinend ist, was solche Verbiegungen angeht...

    BTW: Ihr seid schuld, dass der Thread 8 Seiten lang ist und eigentlich nur ein Neuling wissen wollte, was alle so empfehlen... :P

  • Das stimmt. Es wird kein Diskettenlaufwerk emuliert, es werden lediglich die Zugriffe auf Diskette rausgepatcht und auf Festplattenbetrieb umgebogen.


    Nicht ganz, die Zugriffe werden umgebogen auf WHDLoad, und was WHDLoad daraus macht ist eine andere Sache. Z.B. mit PRELOAD Tooltype wird nicht auf die Festplatte zugegriffen, sondern aus dem RAM "geladen".

  • Naja, die WHDLoad Sache könnte man hier abtrennen. Ansonsten ist es so extrem OT auch nicht. Geht immerhin im groben um Amiga Kompatiblität. Sind auch keine persönlichen Angriffe, sondern nur etwas Geplänkel. :)

  • Hoffe die Zeit vergeht, dann kann ich mich damit beschäftigen ;) .

    Also mit einem starken Magneten meinst du kann man das wieder hinkriegen, so einen aus einer HDD.

    Von HD-Disketten würd ich die Finger lassen. Die sind zwar weiter verbreitet als DD aber lassen sich nur schwer als DD formatieren und die Daten sind meist nach kurzer Zeit schon wieder futsch. Das liegt auch an der unterschiedlichen Aufzeichnungstechnik zwischen PC und Amiga. Während der PC bei HD-Disks(1,44MB) einfach die doppelte Menge Daten an die Floppy schickt und diese mit gleicher Drehzahl weiter rotiert wird beim Amiga für HD(1,76MB) die Drehzahl halbiert und der Datenstrom bleibt gleich. Grund ist das Paula (auch für Floppysteuerung zuständig) einfach die Daten nicht schneller schicken kann. Leider beherrschen viele Floppys nicht mehr von Haus aus diese Drehzahländerung und können darum nicht als Amiga HD-Floppy genutzt werden.

    Ja, manche DD-Disketten lassen sich tatsächlich wieder formatieren wenn sie mit einem starken Magneten vorher "in die richtige Form" gebracht werden. Einfach mehrfach drüber gehen dann formatieren.

    mfg :)