Post subject: How do you find all the informations to do an emulator ?
Stovent
He/Him
Publisher
Joined: 8/23/2016
Posts: 165
Location: France
Hello, I'm interested in creating my own emulator to learn about the emu development itself, but the fact is I don't know how can I find the required informations about the console. So how did you manage to get all these informations ? I know there is everything about the CPU, the GUI shouldn't be the hardest part to do (In my opinion) but my main trouble is in the ROM stuff : how do you do to read the rom ? Thanks for your answers ! Btw, the platform will be atari2600 to start with a small one.
[17:37:00]<TheCoreyBurton> It's N64 - it's ALWAYS bad news.
creaothceann
He/Him
Editor
Joined: 4/7/2005
Posts: 1874
Location: Germany
There's lots of videos: https://www.youtube.com/watch?v=NLEMsw1SjDY https://www.youtube.com/watch?v=Ulcq0pVlQ1c https://www.youtube.com/watch?v=qvpwf50a48E https://www.youtube.com/watch?v=fr-t9plOkHY You can check Wikipedia, it pretty much always has a list of components that you can then google. Also check out [MOD EDIT: Removed link to site with commercial ROMs -Mothrayas], 6502 and RHDN's docs.
Alyosha
He/Him
Editor, Expert player (3522)
Joined: 11/30/2014
Posts: 2728
Location: US
The CPU reads the ROM according to the memory mapping of the cart. Here is a list of most mappers and there logic: http://blog.kevtris.org/blogfiles/Atari%202600%20Mappers.txt The simplest ones just read the ROM directly, you just need to locate it correctly in the CPU address space. If you are trying to do the A2600, one of the most important documents you will need is this one: http://www.atarihq.com/danb/files/TIA_HW_Notes.txt If you are just getting started in emulation, A2600 is actually pretty complicated. You need to get every low level hardware timing pretty much perfect for it to look right. If you are open to suggestions, I might recommend doing A7800 instead as a first project. It uses the same 6502 CPU, but in my opinion is much simpler to get working (A7800 DMA is much easier then A2600 HMove.)
Stovent
He/Him
Publisher
Joined: 8/23/2016
Posts: 165
Location: France
I'm open to suggestions, and I'd prefer start with the easiest console to emulate, and I thought A2600 was a really easy one. I'll take a look at these links. About legal stuff, what is legal and what is not in creating an emulator ?
[17:37:00]<TheCoreyBurton> It's N64 - it's ALWAYS bad news.
creaothceann
He/Him
Editor
Joined: 4/7/2005
Posts: 1874
Location: Germany
Editor, Skilled player (1404)
Joined: 3/31/2010
Posts: 2086
About finding information, there's lots of resources on many systems online, such as Nesdev for NES, etc. Try to find as many resources as you can on the system you're trying to emulate, hoover them up. You can also study the source code of existing emulators to get some pointers. Be warned though that not all documentation is correct or complete, and emulators may take shortcuts or emulate things flat out wrong as well, so be sure to use your head.
Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11268
Location: RU
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Player (42)
Joined: 12/27/2008
Posts: 873
Location: Germany
Stovent wrote:
About legal stuff, what is legal and what is not in creating an emulator ?
First of all, IANAL (I am not a lawyer). If you are in the United States, there are precedents that declare emulation of someone's hardware to be legal. However, in most cases it's necessary to provide some firmware to be able to run any program in the emulator, and distributing it together with your program would constitute copyright infringement. So, you either had to reimplement this firmware yourself, or just ship the program without it, telling the user to obtain it. One possible issue is that some technology in the hardware you are emulating could be patented, and then the manufacturer could, in principle, ask you to stop distributing the software, or demand that you pay royalties to him in order to keep distributing the program. If that happens and the patent was registered in the U.S., you might be able to get away without spending too much by hiring a lawyer to ask a judge to dismiss the case to immediately dismiss the case under Alice, but there is no guarantee that the judge will comply with this request, as it is subject to interpretation. In practice, though, copyright laws and patent related affairs everywhere require that the owner of the rights pursue in legal litigation against anyone who infringes them. That means if you receive a letter from someone claiming infringement, it's never the government telling you to do something, it's always a private entity, and that makes a huge difference. So, in principle, if you receive a letter claiming infringement, you can always reply with another one saying that you're sorry they think their rights are being violated, but that you are not doing anything wrong for whatever reason, and state that you will "troll them back" in court if they move forward. Even simple cases take years to be decided in court, and are very expensive for the people stating the claim, so I really don't see any copyright holder pushing forward unless you are hurting their sales by a significant margin. Since you want to write an emulator for a very old system, I would say you are safe.
creaothceann
He/Him
Editor
Joined: 4/7/2005
Posts: 1874
Location: Germany
p4wn3r wrote:
So, in principle, if you receive a letter claiming infringement, you can always reply with another one saying that you're sorry they think their rights are being violated, but that you are not doing anything wrong for whatever reason, and state that you will "troll them back" in court if they move forward. Even simple cases take years to be decided in court, and are very expensive for the people stating the claim, so I really don't see any copyright holder pushing forward unless you are hurting their sales by a significant margin.
relevant link