Next Generation Emulation banner
1 - 6 of 38 Posts

· You're already dead...
10,293 Posts
Awesome job!!!! just the kind of software i always wanted to see!!! "Standard Emu- GUI" SHOULD DIE AND BURN IN HELL!
Some people prefer a lightweight gui over an over-the-top fancy gui or 3d one.

In the end though the emulation is what really matters, a prettier GUI is just a nice feature.


i tried the emu, and here are my suggestions:

You shouldn't delete the roms people have without a warning. i got pretty pissed when i saw that retrocopy decided to delete my roms in favor of its own madeup system.
And why makeup your own file system anyways? it just makes things incompatible with other emus.

Also, why can't you play roms that aren't found in the data base?
the database seems to only be needed to give the # of players information, title, and the year the game was made.
none of this stuff is required to emulate a game.

finally, IMO the controls to switch from attached tv to 3d mode, and to switch from menu to ingame and etc... were all horrible.
it made me dizzy.

anyways sorry to diss the emu, but i was expecting it to be cooler from the fancy videos implying its better than all the other emus listed.
(also i should mention it crashed for me 3 out of the 4 times i played around with it)

of course since the emu is relatively new, most of this stuff might be fixed in time...

· You're already dead...
10,293 Posts
The GAME file tells more than just the simple visual things, it has checksums, information about other data (covers, cheats, etc) and is compressed. Rather than have to worry about 3-5 major compression libraries I only have to worry about one. It also helps with hierarchies of games, I don't want to see 30 versions of the same game that have only a few minor differences for instance, better to group them under one heading and then be able to select the version.
well that does sound interesting, but still, not being able to play games not listed in the database is a huge disapointment.
IMO there should be some generic loader with maybe a warning that the game wasn't found in the database, and it may not play correctly.

Also without some form of database some games simply cannot play, they need to tell the emulator certain things like what is in the cartridge. Some people prefer some custom database to do it, I prefer changing ROMs because it means going forward people can write or release their own games without having to update everyones database.
are you talking about bad dumps or dumps with incorrect headers?

i'm aware theres alot of nes games that have currupt headers. but games that do follow the ines format correctly for example, shouldn't need a database afaik.
(if not then please give some examples)

also most games with corrupt headers are still playable if you follow the 'generally followed rules'.
for example: if byte 15 is NOT zero, then assume bytes 7 to 15 should be zero, and treat the game as if it has save ram.

As for the sega console, i don't have experience with it, but probably a similar situation...

What are your system specs like? Since I don't have any old graphics cards anymore it makes it harder to test on the <2006 circa cards that a lot of people still have.

The only crashes I get are sometimes loading bad NES roms, I haven't handled all the "bad cases" yet on INES loading, apart from that I haven't had a single crash. So I believe it is to do with the more lower range systems. There is still a lot of work to be done to get things tuned up a bit for lower end systems, I have been a bit uncaring about allocating 60+MB of RAM for a rewind buffer on SEGA-E for instance.
PC configuration
AMD X2 4400+ @ 2.921 Ghz
G92 8800 GTS 512mb

its not the highest end pc, but it should be sufficient for this :p

most of the crashes were from switching between different nes roms after i had one loaded and wanted to change it.
but i also had a crash when i tried to view the credits page.

all the crashes seem to occur while selecting gui stuff, and i think after i have already entered the virtual game room and loaded something.

RetroCopy is really aimed at the future and not at the "single core, 2d accelerated 1GHz PC" market. There are plenty of other emulators which do that stuff fine! So I do want to fix crashes, yes, because I believe even those on poor PCs should be able to get a taste of the future even if it is a bit slow. But I'm not going to go out of my way to make single core CPUs very playable, it's out of my hands to some extent because you can't really have a threaded application on Windows/Linux that also uses 3D stuff without weird "lag" issues coming up (it's a thread priority issue).
well regardless of the hardware speed, stability should be important.
unless your code is using unsupported instruction sets/features, it should still run just as stable on older cpus.

Yeah I agree, we both have a passion about GUIs :) . The thing is most people who do emulators don't really want to "waste time" doing a custom interface, I'm not sure why. Back in the day every DOS emulator worth its salt had one, Meka, Nesticle, Callus, ZSnes, Genecyst. These are some of the most remembered emulators. Most games and entertainment applications come with their own distinct interface, emulators are supposed to be entertainment not business apps which sit on the taskbar looking like everything else! :)
well when you're emulating high-end systems, its not like you have alot of time to focus on the GUI, nor do you want to waste much resources on them.

furthermore the simplistic approach sometimes is alot more effective, since you don't have to 'learn' the application, but instead it has a ui similar to what you are used to.
this is an important strategy in many profession apps designs.

i'm not saying its bad to do otherwise; but instead saying that theres benefits to a simpler gui, just like there may be benefits to a fancier gui.

· You're already dead...
10,293 Posts
Many gamers use multiple emulators and I don't see them sticking with this one as the only NES emulator until it's more advanced.

from what i've seen, i don't think any closed-source nes emu is going to be as compatible as nestopia unless it:
a) steals the source (which is illegal if you plan to keep the emu closed source).
b) gets a big, motivated, and interested team to work on it.
c) has some crazy developer that wants to spend years developing a nes emu which is on par with nestopia.

even then, you'll probably just make something on-par compatibility wise; not beat it (i assume since its open source and popular, any 'secrets' known by the community is already in the emulator)

compatibility aside though, there's features that nestopia doesn't have that may make other emus more favorable (but even feature-wise nestopia does almost everything worthwhile)

from a user point of view, its awesome theres emulators like nestopia out.
from a developer point of view, its not so awesome, as you have to compete with a beast if you want your emu to see the light of day ^^

· You're already dead...
10,293 Posts
Well that's an interesting opinion you have there. Have you developed an emulator? I just want to know what credentials you have when considering your opinion.
I've worked on pcsx2 for over a year mostly doing recompilation work, and coded my own recompiler for 2 of its processors.

I started my own nes emu project which currently emulates mapper 0 and mapper 2 games.
It is cycle accurate at the cpu clock-cycle granularity (or at least attempts to be) since that's the easy way to guarantee there's no odd bugs.

But either way in my opinion it doesn't take years to make a very accurate NES emulator if you're an experienced developer, you don't need to "steal source" either. There is plenty of information on how to make a cycle accurate emulator for the NES, unlike some other systems. How many lines does it take to make a NES emulator? About 8000. How long does it take to write that if you know what you're doing and have all the information?
no it doesn't take years to make an accurate nes emu.
the system itself isn't the problem, but the 200+ mappers (in which some even have their own processors that have to be emulated) is what takes more time, and its hard to find good documentation on some of the less-used ones.
and depending on how accurate you want to be, you have to know exactly what everything does... if some address gives you seemingly stable garbage when you read it, you have to find out why this is occurring, and attempt to emulate it (like the stuff described here)

furthermore all the extra peripherals and addon's to the system that need to be emulated if you want to support everything leading emus like nestopia do; and of course you also have to worry about the console differences...
and this is just the emulation side; furthermore you'll want to focus on extra features which take up time.

none of the current leading emus are perfect, and afaik all of them have taken years of work.

jnes for example was made by jabo an experienced dev (known for his work on pj64), and its has at least 4+ years of work on it (evident from his updates): - Technology, Media Center and Emulation

of course that doesn't mean every day the emu was worked on; but most developers don't have the time to work every-day on a hobby project like an emulator...

· You're already dead...
10,293 Posts
Still you said it would take years to make a Nestopia clone without stealing their code, I disagree with that. Maybe if you're a casual developer. Just because some emulators have been worked on for years doesn't mean that's how long it takes to replicate their feature set. :)
most emu devs have other things to do than work full time on an un-paying hobby; and even if they do have the time, a lot like to work on multiple projects at once.

obviously its possible to make a nestopia clone in under a year; but i'm talking about in a practical sense when you factor in
1) this is a hobby
2) you're not getting paid for this
3) the nes system has been emulated by hundreds of different people already and theres not that much interest from the users (so less motivation)
4) there may be other projects you want to work on
5) real life factors take away your time

anyways, we'll see how long it takes your emu to be on par with nestopia compatibility wise.

for my nes emu personally, i decided probably don't want to spend the time making it as compatible as nestopia.
instead i want to just focus on making an overall good emulator while keeping the project fun.

· You're already dead...
10,293 Posts
Yeah there is a lot of fun to be had in emulation, no doubt. The way I see it though is if you're not going to do anything different there is little point in releasing things. Over the last 12 years I've been in emulation I haven't released very much because there is little point. The scene is full of these emulators that just never made it past the growing stage. That said I still had lots of fun developing them and helping others out. I think your approach with your NES emulator is a good one to take too, cycle granularity if done right is the way of the emulated future.
well personally i don't plan to release my emu until i feel its better than a lot of whats out there, or if i think of some cool feature i want others to play around with.
also, if i decide to quit the project, i might release the emu and source-code so others can learn.

"The way I see it though is if you're not going to do anything different there is little point in releasing things."

i've been told a similar thing before, but i think i disagree with that.
its fun seeing new emu devs release their emus, even if they're nothing special compared to more developed emulators.
it shows there's still interest in the emulation community, and it also shows the challenges in creating an emulator.

we have a lot of chip8 emu coders here that have released their emus for fun.
is anyone going to seriously use these emus? probably not.
but its not going to harm anything if they release the emulators; and it does make some fun discussion, so there's no real harm...
1 - 6 of 38 Posts
This is an older thread, you may not receive a response, and could be reviving an old thread. Please consider creating a new thread.