Why are different emulators needed to run platforms that use 6502 assembly code?

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP











up vote
1
down vote

favorite












To my knowlage, an emulator turns machine code for a console into something that your computer can understand. For example, assembly code from a Gamecube game is not the same as from a .exe file. That said, why are multiple emulators needed to run games that are on platforms that run 6502 code. Shouldn't there just be a 6502 emulator that runs all 6502 platforms?










share|improve this question







New contributor




Jonathan O'Brady is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.























    up vote
    1
    down vote

    favorite












    To my knowlage, an emulator turns machine code for a console into something that your computer can understand. For example, assembly code from a Gamecube game is not the same as from a .exe file. That said, why are multiple emulators needed to run games that are on platforms that run 6502 code. Shouldn't there just be a 6502 emulator that runs all 6502 platforms?










    share|improve this question







    New contributor




    Jonathan O'Brady is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
    Check out our Code of Conduct.





















      up vote
      1
      down vote

      favorite









      up vote
      1
      down vote

      favorite











      To my knowlage, an emulator turns machine code for a console into something that your computer can understand. For example, assembly code from a Gamecube game is not the same as from a .exe file. That said, why are multiple emulators needed to run games that are on platforms that run 6502 code. Shouldn't there just be a 6502 emulator that runs all 6502 platforms?










      share|improve this question







      New contributor




      Jonathan O'Brady is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.











      To my knowlage, an emulator turns machine code for a console into something that your computer can understand. For example, assembly code from a Gamecube game is not the same as from a .exe file. That said, why are multiple emulators needed to run games that are on platforms that run 6502 code. Shouldn't there just be a 6502 emulator that runs all 6502 platforms?







      emulation 6502 microprocessor






      share|improve this question







      New contributor




      Jonathan O'Brady is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.











      share|improve this question







      New contributor




      Jonathan O'Brady is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      share|improve this question




      share|improve this question






      New contributor




      Jonathan O'Brady is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      asked 3 hours ago









      Jonathan O'Brady

      406




      406




      New contributor




      Jonathan O'Brady is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.





      New contributor





      Jonathan O'Brady is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






      Jonathan O'Brady is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.




















          2 Answers
          2






          active

          oldest

          votes

















          up vote
          0
          down vote



          accepted










          While 6502 was common, it wasn't the exact same thing between two different machines. That's where the term "modified 6502" comes from. Also, there are emulators that run multiple platforms, like Bizhawk.






          share|improve this answer



























            up vote
            4
            down vote













            There are many answers to this and none might satisfy you.



            • First of all, an Emulator doesn't just do a CPU, but a machine. The same way you can't run an NES game on an Apple II. So while one may do multiple ones, different can do the hob as well.


            • Furthermore, there are different target platforms. Linux isn't Windows which again isn't MacOS and so on. Like any other application an emulator needs to interact with the platform it's runing on - especially for tasks like timing and graphics on frame level a rather tight integration is needed - unsing functions that are greaty different on each OS


            • Similar, not only OSes do provide an enironment to adapt to, generic Emulators (like Mame), or Browsers do as well, requireing similat adaptions.


            • Last but not least, since when has the existance of an implementation (here a 6502 Emulator) ever stoped a developer from writing his own implementation?






            share|improve this answer






















            • But why is (for example) an NES emulator for windows not compatible with running Apple II roms on windows. Both are 6502 machines.
              – Jonathan O'Brady
              3 hours ago






            • 2




              @JonathanO'Brady: The NES and the Apple II have different hardware, and memory layout. For example, Apple II has low-res and hi-res graphics, and NES doesn't have that distinction.
              – Greg Hewgill
              3 hours ago






            • 1




              Because they are different machines and different architectures? They got their I/O on different addresses, have different screen layouts and capabilities. It's the same way why you can't run an Apple II program on a NES and vice versa.
              – Raffzahn
              3 hours ago











            Your Answer








            StackExchange.ready(function()
            var channelOptions =
            tags: "".split(" "),
            id: "648"
            ;
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function()
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled)
            StackExchange.using("snippets", function()
            createEditor();
            );

            else
            createEditor();

            );

            function createEditor()
            StackExchange.prepareEditor(
            heartbeatType: 'answer',
            convertImagesToLinks: false,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: null,
            bindNavPrevention: true,
            postfix: "",
            imageUploader:
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            ,
            noCode: true, onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            );



            );






            Jonathan O'Brady is a new contributor. Be nice, and check out our Code of Conduct.









             

            draft saved


            draft discarded


















            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fretrocomputing.stackexchange.com%2fquestions%2f8105%2fwhy-are-different-emulators-needed-to-run-platforms-that-use-6502-assembly-code%23new-answer', 'question_page');

            );

            Post as a guest






























            2 Answers
            2






            active

            oldest

            votes








            2 Answers
            2






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes








            up vote
            0
            down vote



            accepted










            While 6502 was common, it wasn't the exact same thing between two different machines. That's where the term "modified 6502" comes from. Also, there are emulators that run multiple platforms, like Bizhawk.






            share|improve this answer
























              up vote
              0
              down vote



              accepted










              While 6502 was common, it wasn't the exact same thing between two different machines. That's where the term "modified 6502" comes from. Also, there are emulators that run multiple platforms, like Bizhawk.






              share|improve this answer






















                up vote
                0
                down vote



                accepted







                up vote
                0
                down vote



                accepted






                While 6502 was common, it wasn't the exact same thing between two different machines. That's where the term "modified 6502" comes from. Also, there are emulators that run multiple platforms, like Bizhawk.






                share|improve this answer












                While 6502 was common, it wasn't the exact same thing between two different machines. That's where the term "modified 6502" comes from. Also, there are emulators that run multiple platforms, like Bizhawk.







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered 3 hours ago









                Jack Kasbrack

                15212




                15212




















                    up vote
                    4
                    down vote













                    There are many answers to this and none might satisfy you.



                    • First of all, an Emulator doesn't just do a CPU, but a machine. The same way you can't run an NES game on an Apple II. So while one may do multiple ones, different can do the hob as well.


                    • Furthermore, there are different target platforms. Linux isn't Windows which again isn't MacOS and so on. Like any other application an emulator needs to interact with the platform it's runing on - especially for tasks like timing and graphics on frame level a rather tight integration is needed - unsing functions that are greaty different on each OS


                    • Similar, not only OSes do provide an enironment to adapt to, generic Emulators (like Mame), or Browsers do as well, requireing similat adaptions.


                    • Last but not least, since when has the existance of an implementation (here a 6502 Emulator) ever stoped a developer from writing his own implementation?






                    share|improve this answer






















                    • But why is (for example) an NES emulator for windows not compatible with running Apple II roms on windows. Both are 6502 machines.
                      – Jonathan O'Brady
                      3 hours ago






                    • 2




                      @JonathanO'Brady: The NES and the Apple II have different hardware, and memory layout. For example, Apple II has low-res and hi-res graphics, and NES doesn't have that distinction.
                      – Greg Hewgill
                      3 hours ago






                    • 1




                      Because they are different machines and different architectures? They got their I/O on different addresses, have different screen layouts and capabilities. It's the same way why you can't run an Apple II program on a NES and vice versa.
                      – Raffzahn
                      3 hours ago















                    up vote
                    4
                    down vote













                    There are many answers to this and none might satisfy you.



                    • First of all, an Emulator doesn't just do a CPU, but a machine. The same way you can't run an NES game on an Apple II. So while one may do multiple ones, different can do the hob as well.


                    • Furthermore, there are different target platforms. Linux isn't Windows which again isn't MacOS and so on. Like any other application an emulator needs to interact with the platform it's runing on - especially for tasks like timing and graphics on frame level a rather tight integration is needed - unsing functions that are greaty different on each OS


                    • Similar, not only OSes do provide an enironment to adapt to, generic Emulators (like Mame), or Browsers do as well, requireing similat adaptions.


                    • Last but not least, since when has the existance of an implementation (here a 6502 Emulator) ever stoped a developer from writing his own implementation?






                    share|improve this answer






















                    • But why is (for example) an NES emulator for windows not compatible with running Apple II roms on windows. Both are 6502 machines.
                      – Jonathan O'Brady
                      3 hours ago






                    • 2




                      @JonathanO'Brady: The NES and the Apple II have different hardware, and memory layout. For example, Apple II has low-res and hi-res graphics, and NES doesn't have that distinction.
                      – Greg Hewgill
                      3 hours ago






                    • 1




                      Because they are different machines and different architectures? They got their I/O on different addresses, have different screen layouts and capabilities. It's the same way why you can't run an Apple II program on a NES and vice versa.
                      – Raffzahn
                      3 hours ago













                    up vote
                    4
                    down vote










                    up vote
                    4
                    down vote









                    There are many answers to this and none might satisfy you.



                    • First of all, an Emulator doesn't just do a CPU, but a machine. The same way you can't run an NES game on an Apple II. So while one may do multiple ones, different can do the hob as well.


                    • Furthermore, there are different target platforms. Linux isn't Windows which again isn't MacOS and so on. Like any other application an emulator needs to interact with the platform it's runing on - especially for tasks like timing and graphics on frame level a rather tight integration is needed - unsing functions that are greaty different on each OS


                    • Similar, not only OSes do provide an enironment to adapt to, generic Emulators (like Mame), or Browsers do as well, requireing similat adaptions.


                    • Last but not least, since when has the existance of an implementation (here a 6502 Emulator) ever stoped a developer from writing his own implementation?






                    share|improve this answer














                    There are many answers to this and none might satisfy you.



                    • First of all, an Emulator doesn't just do a CPU, but a machine. The same way you can't run an NES game on an Apple II. So while one may do multiple ones, different can do the hob as well.


                    • Furthermore, there are different target platforms. Linux isn't Windows which again isn't MacOS and so on. Like any other application an emulator needs to interact with the platform it's runing on - especially for tasks like timing and graphics on frame level a rather tight integration is needed - unsing functions that are greaty different on each OS


                    • Similar, not only OSes do provide an enironment to adapt to, generic Emulators (like Mame), or Browsers do as well, requireing similat adaptions.


                    • Last but not least, since when has the existance of an implementation (here a 6502 Emulator) ever stoped a developer from writing his own implementation?







                    share|improve this answer














                    share|improve this answer



                    share|improve this answer








                    edited 3 hours ago









                    Jonathan O'Brady

                    406




                    406










                    answered 3 hours ago









                    Raffzahn

                    40k489164




                    40k489164











                    • But why is (for example) an NES emulator for windows not compatible with running Apple II roms on windows. Both are 6502 machines.
                      – Jonathan O'Brady
                      3 hours ago






                    • 2




                      @JonathanO'Brady: The NES and the Apple II have different hardware, and memory layout. For example, Apple II has low-res and hi-res graphics, and NES doesn't have that distinction.
                      – Greg Hewgill
                      3 hours ago






                    • 1




                      Because they are different machines and different architectures? They got their I/O on different addresses, have different screen layouts and capabilities. It's the same way why you can't run an Apple II program on a NES and vice versa.
                      – Raffzahn
                      3 hours ago

















                    • But why is (for example) an NES emulator for windows not compatible with running Apple II roms on windows. Both are 6502 machines.
                      – Jonathan O'Brady
                      3 hours ago






                    • 2




                      @JonathanO'Brady: The NES and the Apple II have different hardware, and memory layout. For example, Apple II has low-res and hi-res graphics, and NES doesn't have that distinction.
                      – Greg Hewgill
                      3 hours ago






                    • 1




                      Because they are different machines and different architectures? They got their I/O on different addresses, have different screen layouts and capabilities. It's the same way why you can't run an Apple II program on a NES and vice versa.
                      – Raffzahn
                      3 hours ago
















                    But why is (for example) an NES emulator for windows not compatible with running Apple II roms on windows. Both are 6502 machines.
                    – Jonathan O'Brady
                    3 hours ago




                    But why is (for example) an NES emulator for windows not compatible with running Apple II roms on windows. Both are 6502 machines.
                    – Jonathan O'Brady
                    3 hours ago




                    2




                    2




                    @JonathanO'Brady: The NES and the Apple II have different hardware, and memory layout. For example, Apple II has low-res and hi-res graphics, and NES doesn't have that distinction.
                    – Greg Hewgill
                    3 hours ago




                    @JonathanO'Brady: The NES and the Apple II have different hardware, and memory layout. For example, Apple II has low-res and hi-res graphics, and NES doesn't have that distinction.
                    – Greg Hewgill
                    3 hours ago




                    1




                    1




                    Because they are different machines and different architectures? They got their I/O on different addresses, have different screen layouts and capabilities. It's the same way why you can't run an Apple II program on a NES and vice versa.
                    – Raffzahn
                    3 hours ago





                    Because they are different machines and different architectures? They got their I/O on different addresses, have different screen layouts and capabilities. It's the same way why you can't run an Apple II program on a NES and vice versa.
                    – Raffzahn
                    3 hours ago











                    Jonathan O'Brady is a new contributor. Be nice, and check out our Code of Conduct.









                     

                    draft saved


                    draft discarded


















                    Jonathan O'Brady is a new contributor. Be nice, and check out our Code of Conduct.












                    Jonathan O'Brady is a new contributor. Be nice, and check out our Code of Conduct.











                    Jonathan O'Brady is a new contributor. Be nice, and check out our Code of Conduct.













                     


                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function ()
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fretrocomputing.stackexchange.com%2fquestions%2f8105%2fwhy-are-different-emulators-needed-to-run-platforms-that-use-6502-assembly-code%23new-answer', 'question_page');

                    );

                    Post as a guest













































































                    Comments

                    Popular posts from this blog

                    What does second last employer means? [closed]

                    Installing NextGIS Connect into QGIS 3?

                    One-line joke