Page 1 of 4 1234 LastLast
Results 1 to 10 of 33

Thread: Want to know some info when authors make emulators...

                  
   
  1. #1
    DCEmu Regular
    Join Date
    May 2006
    Posts
    388
    Rep Power
    71

    Default Want to know some info when authors make emulators...

    Just first off, i would like to know what are the steps if one would want to make an emulator, but disregarding of course one would have to know language programming and etc.

    basically for now i want to know stuff like compatibility vs speed? does one make an emulator so good that it runs so slow on a machine that has to be adjusted for it to run well on millions of machines on decent specs?

    regarding that, would they make an emulator for other machines and not for there's only? thus this si where admendments come on?

    not going to say too much just yet, but this is so far wat i want to know. i hope it is okay to ask this and i hope to hear from you lot as well!

  2. #2
    DCEmu Coder
    Join Date
    Aug 2006
    Posts
    571
    Rep Power
    71

    Default

    As someone who's worked on emulators for the last 27 years, I can say this in all confidence: If you have to ask, you don't know enough programming. The things you want to disregard (disregarding of course one would have to know language programming and etc) contain all the answers you want. You cannot disregard them. Your question is akin to "I want to know all about brain surgery - disregarding medical school, anatomy, and anything else related to biology."

  3. #3
    The Long Claw of the Law BlueCrab's Avatar
    Join Date
    Apr 2004
    Age
    37
    Posts
    1,215
    Rep Power
    50

    Default

    While JLF65 is right in what he says (its impossible to separate emulator programming from knowledge of programming), I feel the need to tackle your questions with a bit more of an actual answer (being that I just noticed that PM you sent me a while back)....

    As for the compatibility vs. speed question, that is in large part up to the author. What I find is the best compromise is to focus on compatibility first (people don't want to play an emulator that doesn't play anything), then optimize from there. Choice of programming language can play a large part here in the optimization/speed department. Keep in mind though that most machines you'll be emulating (especially if you're planning on trying to write your first emulator), will be simplistic enough that in all likelihood your emulator will run fine on any machine made in the last 5 years (at least).

    As for making it for "other machines", I suppose you mean making it so it runs on any PC that happens to be running the same operating system? That's largely a part of the APIs used for programming. This is a basic part of programming, and I don't particularly feel the need to explain it. As for making it portable to other machines (i.e, a emulator that originally ran on Mac OS X and then it is ported to Dreamcast, for instance), that is just a bit of a learned ability in writing code. Separate out the platform-specific from the platform-independent, and keep it that way. This may make the code slower, but it will pay off dividends when you try to port it.

    It is indeed very hard to separate emulator programming from knowledge of programming languages, and I would not recommend trying to write an emulator if you've never programmed before. Start with something small and build your way up. Emulators are, in many ways, some of the more complex code that many programmers will ever write.
    Sylverant PSO Server
    http://crabemu.sourceforge.net/
    irc.freenode.net #dreamcastdev #dcemuuk #yabause #ljsdcdev

  4. #4
    Sir Digby Chicken Caesar Darksaviour69's Avatar
    Join Date
    Mar 2004
    Location
    Armagh, Ireland
    Age
    42
    Posts
    7,005
    Rep Power
    50

    Default

    very interesting answers guys

  5. #5
    DCEmu Regular
    Join Date
    May 2006
    Posts
    388
    Rep Power
    71

    Default

    yes, very interesting answers indeed, and i am nto trying to rule out the prgramming knowlege because i know thats where alot of the answers rely, but i say that because i knew it was going to be the most explained answer through misunderstanding, thus the reason why i said that, nothing can be done without that power

    anyways, BlueCrab, i am glad u ahve noticed my PM to you, i was wondering why i havent gotten a reply anyways, that was alot of helpful information you gave me there, however i am not actually going to be making an emulator, more of actually asking for volenteers (on who has made emulators) for help, but there are a few things i wanted to know before i would carry on.

    i see now that compatibility is number 1 on the list correct? then optimization, however when that stage comes in, is that were sacrifices are made? like having a glitchy emulator but yet can still run the game?

    regards to that, say if an author made an emulator solely for his machine, that would run perfectly, that would mean it would have big problems running on others?

    anjd say if an authro made an emulator that emulates the system exactly, would this cause overall slowdown as many experience if i am correct?

  6. #6
    DCEmu Coder
    Join Date
    Aug 2006
    Posts
    571
    Rep Power
    71

    Default

    Speed vs compatibility example: Let's say you write your emulator in pretty straightforward C++. Let's say you've got games that does something like change the color palette in the middle of a line on the screen (say to show 5 colors when normally only 4 are the max). You could write your emulator to allow for the emulated CPU to change the colors at any time... but that would make the program ten time slower. Or you could say "screw it" and ignore palette changes in the middle of a line, thus the display isn't quite right for the few games that do that.

    That's an example of the trade-offs you see in emulators. You don't emulate every last little thing the hardware COULD do simply because your computer isn't fast enough in the language you are programming in. For the above, maybe you switch to assembly language, or maybe you use some alternate method of handling colors associated with the screen that uses a lot more memory instead of requiring more cpu time. The trade-off will always be somewhere: in the time needed, in the language needed, in the memory needed, etc.

  7. #7
    DCEmu Regular
    Join Date
    May 2006
    Posts
    388
    Rep Power
    71

    Default

    ahh i see, i am somewhat starting to understand how it works, but as i said, i am not writing an emulator, i have already stated and with reason in my previous post.

    i suppose one can already emulate every little thing, but as it is clear now its because an average computer simply wont be able to handle it? speed wise?

    in that case, lets say we get a custom made computer which pretty much high-end specs, and with Linux on that system, could one potentially or is possible to make an emulator OR adjust the emulator to work on that computer alone? keeping in mind, that it is a clean computer, AND additional writing to the program to use the hardware directly to emulate a system, thus Hardware emulation. Is this a possibility?

    im just assuming it pretty much would elimate the speed issue as the specs are waay more than enough and nothing in the computer to slow it down, therefore can one then author an emulator 'perfectly' without worrying about speed issues?

  8. #8
    Dream Coder
    Join Date
    Apr 2004
    Location
    Miami, FL
    Age
    38
    Posts
    4,675
    Rep Power
    50

    Default

    Quote Originally Posted by MrTeressaBond View Post
    in that case, lets say we get a custom made computer which pretty much high-end specs, and with Linux on that system, could one potentially or is possible to make an emulator OR adjust the emulator to work on that computer alone? keeping in mind, that it is a clean computer, AND additional writing to the program to use the hardware directly to emulate a system, thus Hardware emulation. Is this a possibility?

    im just assuming it pretty much would elimate the speed issue as the specs are waay more than enough and nothing in the computer to slow it down, therefore can one then author an emulator 'perfectly' without worrying about speed issues?
    This is essentially how many console emulators may outperform *some* PC counterparts. They are written for ONE hardware configuration alone, and will often use many little tricks to achieve as much as possible.
    If anyone is looking to buy, sell, trade games and support a developer directly at the same time, consider joining Goozex. Enjoy!

  9. #9
    DCEmu Regular
    Join Date
    May 2006
    Posts
    388
    Rep Power
    71

    Default

    hey everyone, sorry for the late reply, honestly it has to do with the final stuff in my college as i am in my final year.

    but to quazar, that is actually interesting, so if i am correct, what u must be saying is, an author would programme an emulator to his specs of his computer and then would slightly adjust it to correspond to the other PC's out there? (hence why there would be a new version of the emulator every so often and etc.?)

    also, literally any of the author can make a literal translation of a console to PC emulation, but usually would go against it because either:

    1) their own and other average consumer PC's wont be able to handle it, including speed as an importance, and will cause an overall slowdown

    2) in relation to number 1, they dont hve the definitive specs to base their emulator on to run 100%, compatibility and speed, whic would require an overall powerful computer.

  10. #10
    DCEmu Regular
    Join Date
    May 2006
    Posts
    388
    Rep Power
    71

    Default

    hello?

    sorry for the bump, but anyone may i ask?

Page 1 of 4 1234 LastLast

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. Star Wars Mod for Iris Alpha 1
    By PSPdemon in forum DCEmu Homebrew, Emulation, Hacking and Development Forum
    Replies: 58
    Last Post: February 27th, 2010, 21:35
  2. TTF To PGF Font Converter Released!
    By wraggster in forum Sony Consoles News Forum
    Replies: 41
    Last Post: November 24th, 2008, 18:59
  3. Warcraft movie comes into focus
    By wraggster in forum PC News Forum
    Replies: 0
    Last Post: May 16th, 2006, 23:12
  4. Emulators with Custom Animated Icons and Wallpapers [Yay!]
    By Riotz in forum DCEmu Gaming & General Discussion Forum
    Replies: 0
    Last Post: June 30th, 2005, 16:32

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •