Reasons for NOT trying RockNES?

This is an archive of a topic from NESdev BBS, taken in mid-October 2019 before a server upgrade.
View original topic
Reasons for NOT trying RockNES?
by on (#178005)
I wonder what's missing in my emulator, as if someone is spreading "it's inaccurate", or "it's not for Windows". How so? There's a huge table of compatibility at TAS site, but using a very outdated version (5.00 I believe), and it's at 5.24.

I hear Nestopia, not much of Nintendulator, a lot of puNES... and... the rainbow-happiness of FCEUx.
Mine has almost 20 years of development, so what's up? Yeah, I really need to know.
Re: Reasons for NOT trying RockNES?
by on (#178008)
I use FCEUX constantly because it has a good debugger, nice native Windows interface, and easy to use AVI and screenshot capture capabilities.

I sometimes use Nestopia to play games. It has no debugger, but it does vsync better than FCEUX (so it's better for fullscreen, no debuggin; i.e. when I just want to play).

Less frequently I use Nintendulator for very specific debugging purposes that FCEUX is inadequate for (e.g. very accurate render timing, OAM inspection).

I've tried puNES, and I mostly like its interface, but I think it still feels "unfinished".


Probably the big reason I don't switch to other emulators is that the main two (FCEUX/Nestopia) both do the job really well already. I don't even know why I'd want to try other ones, because I don't know of any need to. They're both old and well known and pretty robust.


I've given you feedback in the past about it, but I'll give it another try right now and take notes...

Okay, here's some honest suggestions based on my experience the last few minutes:
  • No drag and drop, so I have to go hunting through directories with a non-native file dialog.
  • File dialog does not hide files that are not NES ROMs.
  • Alt + Enter does not switch to fullscreen.
  • No obvious option for fullscreen in the menu. "Misc > Video resolution > Fullscreen options..." is greyed out?
  • When to "Video resolution > Set..." and it gave me a pre-emptive warning, and then after choosing a fullscreen option it crashed badly.
  • No debugger, not even something like nametable or PPU tile viewer. Just a couple of minimal memory dumpers?
  • Doesn't remember last used directory when I close. Gotta navigate to my ROMs again with terrible allegro dialogs...
  • Went to "C:\Users\rainwarrior\My Documents" and no contents appeared, not even a "..\" to back out- dialog is now stuck here. Have to cancel and start again.
  • Most of my ROMs are under "My Documents" so this is a problem.
  • NSF player has a visualizer but doesn't tell me the track number, or any information (title/artist/copyright) from the NSF.
  • Found setting "Save last accessed folder as main." This should be on by default.
  • Allegro GUI is very small and hard to read. Blue background colour scheme is uncomfortable to my eyes.
  • Small allegro GUI is also hard to click on, smaller than normal Windows fonts.
  • Accidentally pressed number keys looking for the default inputs, ended up changing a bunch of graphical settings and now it looks terrible and I don't know how to revert my settings.
  • Had to delete my INI file to get back normal looking graphics.

So... it seems to run games fine. I don't have any initial thoughts about accuracy, and really that's not part of my decision not to use it. Here's my top two reasons for not using RockNES:

1. No debugger. This is one of the most common things I want to do with an NES emulator.

2. No fullscreen. If I'm not debugging, I want to play in fullscreen. If I can't do this, the emulator is useless. (Maybe just ditch Allegro if its fullscreen doesn't work?)

Until one of those two things changes, I wouldn't have any desire to use your emulator except to just to test it. Even if it could do one of those two things, though, the other nitpicks make it an unappealing choice compared to other emulators. Sorry if this is harsh, but it seemed like an honest question, and like you wanted an honest answer.

Open source is another reason that I completely left out, here, cause it's not exactly a "usability" issue, and probably a lot of people don't care about it, but I do very much appreciate open source programs, and it's one of the reasons I use FCEUX. I actually modify FCEUX sometimes, and contribute to the project.
Re: Reasons for NOT trying RockNES?
by on (#178016)
I've got to agree with rainwarrior. I haven't tried your emulator, but if there's no debugger I won't use it for development, and if no fullscreen, I won't use it on my gaming setup.

I had just started another thread about comparing debug capabilities from different emulators. If you focus on an amazing and streamlined debug experience, you'd interest me enough to make me try it.
Re: Reasons for NOT trying RockNES?
by on (#178017)
I native user interface would make a big difference. 20 years ago it may have been common but this is not the case anymore.

Since your emulator is made in c if my memory is good there should be some framework that can be used like wxWidgets that could make multiplatform capable at the same time. I don't know if it would mix well with allegro though since I just tested it a little bit and liked it, planning to use it in future projects.
Re: Reasons for NOT trying RockNES?
by on (#178019)
My opinion would basically echo what rainwarrior said.

If I'm using an emulator I'm using it for

1. Developing/debugging. FCUEX does more than any other emulator for my debugging needs.

2. Playing people via netplay. Nestopia with kailerra p2p is still pretty much the only game in town that even
works somewhat reasonably after all these years. At least that I know of. I'm pretty sure there isn't a
better NES netplay option.

I think you to think about it the other way....


What is the REASON someone should try it. What does it offer that other emulators don't
Re: Reasons for NOT trying RockNES?
by on (#178020)
Banshaku wrote:
I native user interface would make a big difference. 20 years ago it may have been common but this is not the case anymore.

This.
Re: Reasons for NOT trying RockNES?
by on (#178021)
I'm fine with a non-native interface as long as it's good, but this isn't that. I've seen nice emulator launcher programs, or media centre programs like XBMC, etc. There's lots of ways to make nice, usable UI without it being native.

This UI, though, is just Allegro's GUI. It's a super-dated love letter to Atari ST's GEM (which was fine, in 1985). I'm surprised it still looks the exactly the same as it did the last time I used it (~1998). Everything about it is worse than native OS interfaces, so just replacing it with native ones would be a huge improvement.
Re: Reasons for NOT trying RockNES?
by on (#178022)
I agree with a lot of what has been said already. The outdated interface (which kinda reminds me of Nesticle actually, being blue and having that menu on the corner) is a big turn off. It flickers as it redraws, everything is too small and hard to interact with, you can't move the windows out of the way... it's just not pleasant to use. I also found the "screen size" dialog pretty confusing, with the different options arranged in a huge list of pre-combined settings instead of proper controls for the individual aspects for me to combine as I see fit. The lack of full screen, correct aspect ratio (your stretched modes are too stretched) and NTSC filter are deal breakers for me when I'm playing games. The lack of useful debugging features is a deal breaker when I'm developing. Having to pause the emulator to debug is also very undesirable, since I want to see how the games affect everything in real-time.

Please note that native windows and controls don't automatically make the interface good. FCEUX, for example, has a great interface, where you can freely arrange and resize the windows to your liking when debugging... Nintendulator, on the other hand, is much more stiff, so you can't customize your workspace as neatly.
Re: Reasons for NOT trying RockNES?
by on (#178028)
I use FCEUxd and Nintendulator for development/debuging. I use Nestopia and VirtuaNES for gaming. I don't need any other emulators.
Re: Reasons for NOT trying RockNES?
by on (#178030)
It's for Windows.
Re: Reasons for NOT trying RockNES?
by on (#178035)
I don't know because I have not used RockNES. But, I intend using a accurate emulator with debugging capability that uses command-line option and is compatible with Linux and free-software/open-source.
Re: Reasons for NOT trying RockNES?
by on (#178039)
1. It's closed source.
2. It's Windows-only.
Re: Reasons for NOT trying RockNES?
by on (#178045)
Some of the comments are... pretty good. Others are just... sh*t.
My apologies for my harsh words and language barrier. I respect the opinions when there's something constructive after the left-criticism.

1. Open source thing. Other than portability, give me reasons for it. If you want to compile & fix yourself, why not joining the project?

2. Windows only. Well, how many of you are using Unix/Linux? MacOS? Ouch, that incident with Mr. Bannister wasn't nice.

3. User interface. It's old, and what's wrong with it? What's the problem of being that way? "Modern" people will never enjoy the oldies, like only playing PS4 instead of good Atari 2600 games, as example? Stella has no Windows interface, and it's still a great emulator! Well, about the GUI as it is, how could it be better for you? Care to do a diagram for improvement? After all, do you wanna play the games or enjoy the interface? Just tell me what could be improved.

4. After reading a few other comments, people are very sensitive and really are "attactted" for things that everyone repeats as "the most accurate" or "the best one", an essence of advertising more and more.

5. Debugger. Wait a second. In fact, you can't add breakpoints or view a memory region, but the emulator brings a disassembler and points to the current instruction once you open it. All the flags and CPU memory are exposed. So, what's up?

6. FCEUx. The guy of various nicknames (Ben P., Xodnizel) had resumed the works in that abandoned emulator ages ago, like I did with xNES. It was very nice to share code and ideas with him (mIRC). Later, he changed to a Windows-style, and a few years later, made it open source. It was never 100% accurate, but the number of tools and junks available made it SO popular that accuracy wasn't all.

7. Accuracy. RockNES is an accurate emulator. It has flaws like any other. Even the mighty Nestopia has/had bugs that none of them (most of) were present in my emulator.
Re: Reasons for NOT trying RockNES?
by on (#178048)
Zepper wrote:
After all, do you wanna play the games or enjoy the interface?


Why not both? Serious question.
Re: Reasons for NOT trying RockNES?
by on (#178050)
You seem fairly defensive after asking why we don't use it. I don't think anyone here is attacking you, just answering your question honestly.

Zepper wrote:
1. Open source thing. Other than portability, give me reasons for it. If you want to compile & fix yourself, why not joining the project?

It's not a show-stopper, but I prefer using open source. I just like the idea of sharing. I understand if you don't want your emulator to be open, but if everything else were equal (which is rarely the case), I'd use an open source program before a closed one. If you have killer features that aren't available in an open-source alternative, I'd use your program.

Quote:
2. Windows only. Well, how many of you are using Unix/Linux?

I am -- I do all my development on linux, and it drives me crazy that I haven't found an emulator with a good debugger without resorting to WINE. This isn't just directed at you -- it kills me that fceux on linux doesn't include the debugger. If you had a native linux version with a reasonably good debugger, I'd be interested.

Quote:
5. Debugger. Wait a second. In fact, you can't add breakpoints or view a memory region, but the emulator brings a disassembler and points to the current instruction once you open it. All the flags and CPU memory are exposed. So, what's up?

I find that breakpoints and viewing memory regions are important parts of the debugger, and I use them quite frequently.


You also mention Stella's interface. I find the UI of Stella to be quite ugly, but the command-line debugger interface is amazing, letting me do many of my debugging tasks without a lot of clicking around. I'll take an ugly but efficient interface like that any day.
Re: Reasons for NOT trying RockNES?
by on (#178051)
Zepper wrote:
3. User interface. It's old, and what's wrong with it? What's the problem of being that way? "Modern" people will never enjoy the oldies, like only playing PS4 instead of good Atari 2600 games, as example?

This is not about being modern, it's about usability. The first thing most people do when getting a new emulator is change the settings to their liking... video, controllers, and so on. This step feels very clunky in your emulator, and this doesn't leave a very good first impression.

Quote:
Stella has no Windows interface, and it's still a great emulator!

That's true, but it too is a bit clunky to use. It makes up for this by offering very configurable video and a great debugger, even though it's presented in a really weird way, with everything packed in a single screen with tabs for a few extra things. People still use it despite the awkward interface because it offers things that other emulators don't.

The market for NES emulators is kinda saturated, so you really need to offer something other emulators don't if you want any attention, specially if you have flaws to make up for. We already have accuracy elsewhere, we already have great user interfaces elsewhere, we already have good debugging tools elsewhere. Why would we put up with flaws that bother us if we're not getting anything new?

Quote:
5. Debugger. Wait a second. In fact, you can't add breakpoints or view a memory region, but the emulator brings a disassembler and points to the current instruction once you open it. All the flags and CPU memory are exposed. So, what's up?

A static disassembly is hardly useful. Can you at least step through the code and watch the CPU state change as the program runs? You're also neglecting a HUGE post of NES debugging, which is the PPU. When developing or analyzing existing games, we need to know what the name tables look like, what's mapped in the pattern tables, which sprites are used where, what palettes are being used. And, ideally, we want to *modify* all of those things in real time, and see the impact of those changes in the game.

FCEUX does it really well with CPU debugging, but the PPU side could be much better if it included sprite debugging and allowed real-time modification through the interface.
Re: Reasons for NOT trying RockNES?
by on (#178054)
Zepper wrote:
3. User interface. It's old, and what's wrong with it? ... Just tell me what could be improved.

I gave you a list of things that could be improved about it in my first post. I did call Allegro's GUI old, but that's not a reason for it being bad by itself. Probably the most important thing the GUI has to do is be able to find the ROM file to open, and Allegro's file dialog is atrocious. It even broke down once I got to "My Documents" and couldn't even navigate to the folder I keep my ROMs. Did I mention that it crashes when I select fullscreen?

Zepper wrote:
4. After reading a few other comments, people are very sensitive and really are "attactted" for things that everyone repeats as "the most accurate" or "the best one", an essence of advertising more and more.

Nobody in this thread say anything at all about the accuracy of RockNES. What comments are you referring to?

Zepper wrote:
5. Debugger. Wait a second. In fact, you can't add breakpoints or view a memory region, but the emulator brings a disassembler and points to the current instruction once you open it. All the flags and CPU memory are exposed. So, what's up?

Okay, so how do I stop on the piece of code I'm interested in, and then step through it to see what the CPU is doing?
Re: Reasons for NOT trying RockNES?
by on (#178056)
Zepper wrote:
1. Open source thing. Other than portability, give me reasons for it. If you want to compile & fix yourself, why not joining the project?

2. Windows only. Well, how many of you are using Unix/Linux? MacOS? Ouch, that incident with Mr. Bannister wasn't nice.
I use Linux exclusively, since 2006.

As for not using closed source, it simply cannot be trusted. For all we know, your binary includes an altcoin miner, cryptolocker malware, a MBR corrupting virus, child porn planter, *and* a Windows 10 installer.
Re: Reasons for NOT trying RockNES?
by on (#178058)
FCEUX is too damn good.
Re: Reasons for NOT trying RockNES?
by on (#178059)
Regarding the interface, it is not the fact that it looks old or something like that. If this was the case, why would we be programming for the nes anyway? :lol: So your argument about PS4 and things like that felt short to me.

What is important to any software is the first impression, plain and simple. How to you think Microsoft gained market share in the first place? Even though the interface may work and does the job the current interface feels awkward and people will just quit using it. You should know that people have short attention span so if you don't get their attention right away, they will just use the next one that feel easier for them. Engineer/Developer may not mind about that and puts up to it but normal people don't. So basically the interface sells your emulator, simple marketing. If I remember well you are a teacher, right? Like students, you need to get people interested and the UI is the first thing they will see and gets their attention, not how accurate it is.

So either you improve the interface so your custom UI becomes so awesome that people won't give a damn about the fact it doesn't follow the native windows look or you just bite the bullet and change the UI to windows. If it does work in wine properly it doesn't matter if it's a native mac osx, linux or not (I use all 3 os in many scenario and don't care as long the app does the job).

A did a little bit of research and it seems possible to use allegro with wxWidgets so it could be a solution. Of course it will be a pain at the beginning to figure out all the quirks but I think it would make quite a difference.

As for open source, it's your call. Doesn't have to be, that is just politics and I don't want to get into that.

As for your answer, just be careful how you answer since yes, you feel defensive and that makes people feels why are we taking the time to give our opinion if this is the kind of answer we will receive. It could be a non English native thing so I take the comment meaning with a grain of salt (I sometime do some "hard" comment by accident in Japanese so I know it is sometime involuntary ;)).
Re: Reasons for NOT trying RockNES?
by on (#178064)
Zepper wrote:
1. Open source thing. Other than portability, give me reasons for it. If you want to compile & fix yourself, why not joining the project?

Portability, ability to continue the project should you retire or be forcibly removed from the project, and ability to verify that it does not contain malware. Not everybody does read the source; compare the promises of "many eyes make bugs shallow" to the reality of Heartbleed. But if at least one person can, posting source code is a signal of good faith.

Quote:
2. Windows only. Well, how many of you are using Unix/Linux?

I use X11/Linux on my laptop, as does calima. I also use Android (which uses Linux as its kernel) on my Galaxy Tab A tablet, and a lot of people use Android phones with a USB or Bluetooth gamepad and HDMI output.

Quote:
After all, do you wanna play the games or enjoy the interface?

The former. But the former requires the latter if the current interface interferes with starting the games, such as if it requires a magnifying glass to see anything or if the user fails to configure the input or video.

Quote:
Just tell me what could be improved.

As mentioned above: Drag and drop, larger fonts, and exclusion of non-ROM file types from the file chooser.

Quote:
5. Debugger. Wait a second. In fact, you can't add breakpoints or view a memory region, but the emulator brings a disassembler and points to the current instruction once you open it. All the flags and CPU memory are exposed. So, what's up?

In FCEUX for Windows and Wine, I use breakpoints, memory viewer, pattern table viewer, and nametable viewer.

Banshaku wrote:
How to you think Microsoft gained market share in the first place?

Its market share since about 1982 is a result of being in the right place at the right time with IBM. Did you mean prior to that, when it was best known for its BASIC interpreter?
Re: Reasons for NOT trying RockNES?
by on (#178074)
I use my PowerPak to play games, FCEUX for debugging, and Nintendulator to quickly test raster effects. I have, in the past, modified FCEUX to play around with custom mappers. There hasn't been a good reason for me to try any other emulators.
Re: Reasons for NOT trying RockNES?
by on (#178076)
If I'm not mistaken, the only time I tried RockNES was to get a simulation of Dendy audio with swapped duty cycles. In other words, to use a feature that was absent from existing NES emulators.

This feature is worth trying once but not something you'd want permanently, so I didn't use RockNES again since, and especially not since a FCEU hack having that same feature was released.
Re: Reasons for NOT trying RockNES?
by on (#178083)
Fine, fine.
Suggestions taken.

Thanks for the feedback. It was constructive, really. :beer: :beer:
Re: Reasons for NOT trying RockNES?
by on (#178084)
By Zepper's request, the August 2016 round of feedback has concluded. For further feature requests or bug reports, feel free to open a new topic.