Page 2 of 6

Re: RockNES - A NES emulator for Windows [5.25]

Posted: Sat Aug 27, 2016 2:17 pm
by Zepper
First post updated, a must read thing. :beer:

Re: RockNES - A NES emulator for Windows [5.25]

Posted: Fri Sep 02, 2016 12:05 pm
by Eugene.S
The source code is portable and 100% written by myself
If you keep portability in mind, why RockNES is closed source and limited to windows-only platform?
Great Allegro library is supported on Linux, Mac OSX, iPhone/Android too.

You can take some interesting ideas from abandoned FakeNES, this is open source NES emulator
that depends on allegro library also.
It also has nice old-look GUI, including many useful features, but emulation is less accuracy than RockNES has.
DOS and Linux versions available too.

Re: RockNES - A NES emulator for Windows [5.25]

Posted: Fri Sep 02, 2016 12:20 pm
by tepples
I can think of at least four factors:
  • You can't legally test Mac software on anything but a Mac, and with Brazil's abnormally high import tariffs, a Mac is probably prohibitively expensive.
  • Android devices tend to lack physical buttons. On-screen gamepads tend to be unwieldy, and most Android users don't carry around a DualShock 3 or 4 to use through USB or Bluetooth. Please see the topic Adapting and publishing a handheld game.
  • iOS has both the disadvantage I mentioned for Mac and the disadvantage I mentioned for Android. In addition, because Apple requires apps to be self-contained, emulator developers can't release an emulator by itself. Only the publisher of an NES game can actually release the emulator with an included ROM.
  • Wine is available for Mac computers made in the past decade, as well as for x86 PCs running an X11/POSIX (e.g. *BSD, GNU/Linux) operating system (either 32-bit or 64-bit with 32-bit multiarch). If Zepper treats bugs filed by Wine users as valid, as the FCEUX team has, only Windows binaries need be published.

Re: RockNES - A NES emulator for Windows [5.25]

Posted: Fri Sep 02, 2016 7:43 pm
by Zepper
Eugene.S wrote:
The source code is portable and 100% written by myself
If you keep portability in mind, why RockNES is closed source and limited to windows-only platform?
Great Allegro library is supported on Linux, Mac OSX, iPhone/Android too.
Open source (OS) isn't a must be instance. I own the choice of keeping it closed sourced for a couple of factors, such as...
  • The old FCE Ultra (by Xodnizel) has become OS... and abandoned by him. Now we have no emulator, but a hacking tool with debugging features.
    It's something supported since 1998, fully rewritten around 2000, and at every step I took the care of producing a 100% code written by me; a few years ago, Matt Conte's 6502 emulator and NSF player skelleton-code was used, for example. No more in present days.
    Licensing.
    Fear of becoming another OS + abandoned project, much like many others.
    Partners. In the past, I had a few ones... but ALL of them vanished, like kritz, katharsis (Geoshock's head) and others.
    Lack of objectives. While I know that an OS project is interesting (and I wish to do that), I don't know how to handle it.
    Lack of interest in the current project. Well, I don't get any feedback of users, except for a few ones in this forum. So, I don't know how popular RockNES is around the globe.
You can take some interesting ideas from abandoned FakeNES, this is open source NES emulator
that depends on allegro library also.
It also has nice old-look GUI, including many useful features, but emulation is less accuracy than RockNES has.
DOS and Linux versions available too.
No. I prefer to take my own path and my own errors. ^_^;;

Re: RockNES - A NES emulator for Windows [5.25]

Posted: Sat Sep 03, 2016 4:10 am
by Eugene.S
If you want to make RockNES more popular, you're need to add some features that are
already *de-facto* standard in all modern emulators (of course it's only my opinion).

Most of these features related to image processing, like linear interpolation (all recent emuls),
prescale nX filter (bizhawk,fceux,mesen,punes), ntsc-filter (if you don't want use blargg or bizqwit code, you can write own), additional modern filters like xBRZ, different TV-aspect ratios, etc.

Other features improve general usability, like netplay, cheats, turbo buttons, stereo/echo/reverb, GUI themes, etc.
Third sort of features override NES hardware limits -> overclock, no_spritelimit (punes/fceux).
PAL and Hybrid (aka Dendy) mode support also in-trend.

ZSNES also has dos-look GUI, but still popular due to these features. FakeNES has most of interesting features too.

P.S.
"Color Style" feature is good thing, i wish good luck to your emulator! And thank you for 18-years active development :)

Re: RockNES - A NES emulator for Windows [5.25]

Posted: Sat Sep 03, 2016 5:15 am
by Zepper
Most of these filters require an open source project. So, I wouldn't be able to use any of them in my emulator. :( :( In that case, I would need to write my own code. :beer:

The lack of features have a reason - accuracy VS interface/features. I'll see what can be done.

Re: RockNES - A NES emulator for Windows [5.25]

Posted: Sat Sep 03, 2016 8:58 am
by tepples
You'd still need NTSC filter for proper accuracy. There's a test ROM called "tvpassfail" that'll make an indistinct mess of colored diagonal stripes on an RGB-modded NES (2C03/2C05, NESRGB, or Hi-Def NES) or a clear-as-day "PASS" on an NTSC NES. And the next version of the 240p test suite for NES will include it.

What you say about open source applies to GPL libraries. But if a library is under the MIT, BSD, or zlib license, you can use it in the same way as Allegro: just credit the author. And for an LGPL licensed library, you need to distribute the library's source code and allow relinking your application with an updated copy of the library. This can be done in one of two ways: either A. make the library as a DLL or B. distribute object files (.o or .obj) to the owner of a lawfully made copy of the application.

Re: RockNES - A NES emulator for Windows [5.25]

Posted: Sat Sep 03, 2016 9:29 am
by thefox
Blargg's NTSC filter is LGPL, you don't need to open source your project to use it. It will be difficult to reach the same level of quality and performance with a new implementation (the code is highly optimized).

Re: RockNES - A NES emulator for Windows [5.25]

Posted: Sat Sep 03, 2016 12:21 pm
by tokumaru
Proper video emulation (correct aspect ratio + accurate NTSC artifacts) is a must-have for me when I'm just playing.

Re: RockNES - A NES emulator for Windows [5.25]

Posted: Sat Sep 03, 2016 3:13 pm
by Zepper
I'm not being inaccurate if I have the preference for no image filtering. 8-) Even that DirectX automatic interpolation sucks.

Re: RockNES - A NES emulator for Windows [5.25]

Posted: Sat Sep 03, 2016 9:48 pm
by tokumaru
Zepper wrote:I'm not being inaccurate if I have the preference for no image filtering.
It depends... when I plug my NES on my TV, what I see is not an image made of crispy clear pixels, but actually a garbled mess of NTSC artifacts, that actually happen to make a lot of games look nicer than they would otherwise. If you're not emulating the kind of picture the NES outputs, that could be considered an inaccuracy. People who prefer crispy clear images might consider it an enhancement, though...

Regardless of whether this is an accuracy issue or not, the beauty of emulators is that we have the option to configure them the way we want. Different people like different palettes, different resolutions, regardless of how accurate these options are compared to the real hardware. You, for example, offer a lot of settings that have nothing to do with how an NES really is, such as a bunch of color filters, the dotted rendering or the exaggerated stretching, but you refuse to include something the NES really does, which is NTSC video, and I happen to think that's kind of a big deal.

I'm not demanding anything though, it's your emulator and you're free to do whatever you want with it. I'm satisfied enough with the emulators I currently use that I don't have to beg anyone for features.
Even that DirectX automatic interpolation sucks.
We definitely agree on that!

Re: RockNES - A NES emulator for Windows [5.25]

Posted: Sat Sep 03, 2016 11:42 pm
by Eugene.S
Fear of becoming another OpenSource + abandoned project, much like many others.
Why do you mean, if the project is opensource, it will be abandoned soon?
--
In 2016, your "decent" dos-like interface is original and unique feature, which give "personal face" to RockNES.
I think more features will make your emulator more popular, if you want this, of course.

Re: RockNES - A NES emulator for Windows [5.25]

Posted: Sun Sep 04, 2016 6:21 am
by Zepper
tokumaru wrote:It depends... when I plug my NES on my TV, what I see is not an image made of crispy clear pixels, but actually a garbled mess of NTSC artifacts, that actually happen to make a lot of games look nicer than they would otherwise. If you're not emulating the kind of picture the NES outputs, that could be considered an inaccuracy. People who prefer crispy clear images might consider it an enhancement, though...
If the lack of NTSC artifacts is inaccurate, then the lack of screen curvature is another item to the list of inaccuracies. ;) Even the video output type (antenna, composite cable) just makes the list even bigger. Am I wrong?

Re: RockNES - A NES emulator for Windows [5.25]

Posted: Sun Sep 04, 2016 8:12 am
by tepples
You have somewhat of a point about emulation of RF noise and curvature. But many later CRT TVs have negligible curvature. And if you view an emulated NES game in full screen on a CRT computer monitor, the monitor itself may introduce curvature.

But there's often a valid interpretation of several features being included or ignored.
  • Correct 8:7 sample aspect ratio, NTSC filter, no RF, no scanlines, no curvature:
    It's an AV Famicom or front-loading NES connected to an LCD through a composite 240p to 480p/720p upscaler such as the Framemeister.
  • Correct 8:7 sample aspect ratio, no NTSC filter or RF, no scanlines, no curvature:
    It's a PlayChoice connected to an LCD through an RGB 240p to 480p/720p upscaler.

Re: RockNES - A NES emulator for Windows [5.25]

Posted: Sun Sep 04, 2016 8:18 am
by tokumaru
Zepper wrote:If the lack of NTSC artifacts is inaccurate, then the lack of screen curvature is another item to the list of inaccuracies. ;) Even the video output type (antenna, composite cable) just makes the list even bigger. Am I wrong?
All of this is debatable, there's no definitive answer I guess. The composite signal comes straight out of the PPU, so it's an inherent characteristic of the NES. Curvature is something the TV does, not the NES. I for example have a flat screen CRT TV that doesn't curve the picture at all.

Anyway, like I said, accuracy issue or not, emulation should be about options, because each person wants a different experience. NTSC video might not be essential for playing games, but it is a characteristic that many people remember the NES for, which makes it an important feature to offer players. Way more important than things that were never associated with the NES to begin with, such as sepia colors.