NESICIDE on Linux

Discuss emulation of the Nintendo Entertainment System and Famicom.

Moderator: Moderators

User avatar
cpow
NESICIDE developer
Posts: 1097
Joined: Mon Oct 13, 2008 7:55 pm
Location: Minneapolis, MN
Contact:

NESICIDE on Linux

Post by cpow »

I finally got around to getting NESICIDE running on a Linux variant. Currently I have Ubuntu 11.10 in VirtualBox running on my Win7 lappy. I've managed to wade through the sesspool of dependencies. Soon I hope to school myself on package building so I'll have something to deliver.

For now, a large screenshot.

It feels good to be cross-platform once again.
3gengames
Formerly 65024U
Posts: 2284
Joined: Sat Mar 27, 2010 12:57 pm

Post by 3gengames »

I'll be trying out the emulator later, all nes emulators on it aren't good ports at all, hope this is good enough! :D And before I try, is there a nametable/PPU viewer on the IDE/emu?
User avatar
cpow
NESICIDE developer
Posts: 1097
Joined: Mon Oct 13, 2008 7:55 pm
Location: Minneapolis, MN
Contact:

Post by cpow »

3gengames wrote:hope this is good enough!
I do need to spend some time working on the emulator's CPU utilization...if you have troubles, try turning the debuggers off [the button that looks like a bug next to the button that looks like PLAY].
3gengames wrote: :D And before I try, is there a nametable/PPU viewer on the IDE/emu?
Oh yes, and so so much more! Check out the Debuggers menu.
3gengames
Formerly 65024U
Posts: 2284
Joined: Sat Mar 27, 2010 12:57 pm

Post by 3gengames »

Well, even without really using it, I'll say it'll probably be my #1 Linux emu, anything accurate with a nametable/PPU viewer is good to me. Are said tools only on the emu side as I usually don't run the IDE part. :D
User avatar
cpow
NESICIDE developer
Posts: 1097
Joined: Mon Oct 13, 2008 7:55 pm
Location: Minneapolis, MN
Contact:

Post by cpow »

3gengames wrote:Well, even without really using it, I'll say it'll probably be my #1 Linux emu, anything accurate with a nametable/PPU viewer is good to me. Are said tools only on the emu side as I usually don't run the IDE part. :D
The debuggers are all in the IDE--which has its own emulator built in. There's also a stand-alone version of the emulator without any debuggers.
User avatar
clueless
Posts: 496
Joined: Sun Sep 07, 2008 7:27 am
Location: Seatlle, WA, USA

Post by clueless »

cpow, you sir, are awesome.

Are you coming to the 2012 MGC?
User avatar
cpow
NESICIDE developer
Posts: 1097
Joined: Mon Oct 13, 2008 7:55 pm
Location: Minneapolis, MN
Contact:

Post by cpow »

clueless wrote:cpow, you sir, are awesome.

Are you coming to the 2012 MGC?
Hey clueless! Probably not going to MGC this year. Adelaide will only be six or seven months old...which is the perfect age to introduce videogames, for sure, but not the perfect age to travel.
User avatar
cpow
NESICIDE developer
Posts: 1097
Joined: Mon Oct 13, 2008 7:55 pm
Location: Minneapolis, MN
Contact:

Post by cpow »

UPDATE: I've put together some Debian packages. I've tested these in Linux Ubuntu 11.10. However, I'm extremely new to the whole package management and distributing applications in Linux, so your mileage may vary. I have no idea whether the packages will install on other Linux flavors. Someday soon I'll create a VM with something other than Ubuntu and try it.

There's three Debian packages on my website.

First you'll need to download/install libnesicide-emulator_1.004-1_i386.deb. This installs the NES emulator shared library that's used by NESICIDE and its companion stand-alone emulator.

Then you'll need to download/install nesicide_1.014-1_i386.deb if you want the main IDE and/or nesicide-emulator_1.004-1_i386.deb if you want the stand-alone emulator.

On a *clean* Ubuntu installation, I find I have to do:

sudo apt-get -f install

after trying to install either of the application packages. That's because they depend on some Qt libraries that aren't installed. dpkg doesn't automatically install dependencies, so you have to use apt-get to do it.

When installing nesicide_1.014-1_i386.deb, after it's done it'll give you the steps to download/compile/install CC65 snapshot toolchain. Do this if you don't already have it. NESICIDE will still be able to load, play, and debug ROMs, but it won't be able to compile-and-run changes to ROM source without CC65 .

I'm presently working on getting the example projects back online...I'll repost when they're available.

Please let me know if you try this and what your experience is. I'm very interested in providing my tool in Linux! :D
lidnariq
Posts: 11432
Joined: Sun Apr 13, 2008 11:12 am

Post by lidnariq »

I tried installing it on i686 debian sid. No issues installing, but the emulator (both w/ and w/o the IDE) seems completely unwilling to draw anything. The CHRROM viewer too. This seems to be because my crappy ancient video card can't support 3d acceleration at the same time as it supports dual-heading. But this is a different symptom from all other "you have too crappy of a video card" I've seen.
User avatar
cpow
NESICIDE developer
Posts: 1097
Joined: Mon Oct 13, 2008 7:55 pm
Location: Minneapolis, MN
Contact:

Post by cpow »

lidnariq wrote:I tried installing it on i686 debian sid. No issues installing, but the emulator (both w/ and w/o the IDE) seems completely unwilling to draw anything. The CHRROM viewer too. This seems to be because my crappy ancient video card can't support 3d acceleration at the same time as it supports dual-heading. But this is a different symptom from all other "you have too crappy of a video card" I've seen.
What ROM are you trying to run? It may be that it's a mapper that I don't support...if it's not in {0,1,2,3,4,5*,6,7,8,9,10,11} then it may not work. *Support for MMC5 is not complete but is enough for some games to at least start.

In the IDE is it obvious that the ROM is trying to execute? In the Assembly Browser, for example, can you step instructions?
User avatar
Jarhmander
Formerly ~J-@D!~
Posts: 569
Joined: Sun Mar 12, 2006 12:36 am
Location: Rive nord de Montréal

Post by Jarhmander »

Here running x86_64 Ubuntu 11.10. apt-get -f install tries to remove nesicide. Cause: dependency to libqtwebkit4:386. Note that I already have libqtwebkit4.

Here I post a hopefully revelant info:

Code: Select all

$ sudo apt-get -f install
Reading package lists...
Building dependency tree...
Reading state information...
Correcting dependencies... Done
The following packages will be REMOVED:
  nesicide:i386
0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
1 not fully installed or removed.
After this operation, 2,791 kB disk space will be freed.
Do you want to continue [Y/n]? Abort.

Code: Select all

$ sudo apt-get install libqtwebkit4
Reading package lists...
Building dependency tree...
Reading state information...
libqtwebkit4 is already the newest version.
libqtwebkit4 set to manually installed.
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
 nesicide:i386 : Depends: libqtwebkit4:i386 but it is not going to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).
Even the Package Manager 'freaks out' and I see a Image in the system bar.

EDIT: I should mention that the executable nevertheless runs; it opens normally. Something is probably broken but it doesn't prevent it to open. I did no other tests than opening it, however...
User avatar
cpow
NESICIDE developer
Posts: 1097
Joined: Mon Oct 13, 2008 7:55 pm
Location: Minneapolis, MN
Contact:

Post by cpow »

~J-@D!~ wrote:Here running x86_64 Ubuntu 11.10. apt-get -f install tries to remove nesicide. Cause: dependency to libqtwebkit4:386. Note that I already have libqtwebkit4.
Yeah something's not making Software Center happy...I think because libqtwebkit4 is 'untrusted'.

If I do:

sudo dpkg -i nesicide_1.014-1_i386.deb

that eventually concludes that I have an unmet dependency on libqtwebkit4. Then, doing:

sudo apt-get -f install

fixes it and finishes the install.

Could you do me a favor and try the sudo dpkg I did and post that [PM if you want]?
lidnariq
Posts: 11432
Joined: Sun Apr 13, 2008 11:12 am

Post by lidnariq »

cpow wrote:What ROM are you trying to run? It may be that it's a mapper that I don't support...if it's not in {0,1,2,3,4,5*,6,7,8,9,10,11} then it may not work. *Support for MMC5 is not complete but is enough for some games to at least start.
Galaxian, but that's not the problem; if I restart X with GL and without dual-heading it draws correctly.
In the IDE is it obvious that the ROM is trying to execute? In the Assembly Browser, for example, can you step instructions?
Yeah, it's definitely executing. This is distinctly a "my computer sucks too much". Although I'm a little surprised that QT didn't give you a simpler display render routine than GL...
User avatar
cpow
NESICIDE developer
Posts: 1097
Joined: Mon Oct 13, 2008 7:55 pm
Location: Minneapolis, MN
Contact:

Post by cpow »

lidnariq wrote:Galaxian, but that's not the problem; if I restart X with GL and without dual-heading it draws correctly.
Good to know! Thanks for the feedback! I do notice some graphical artifacting in the emulator window, but not in the area where I'm actually rendering...it appears to be garbage in other memory being displayed outside of the 256x240 NES image. Might be a VBox issue...because it doesn't happen on Win7.
lidnariq wrote:Yeah, it's definitely executing. This is distinctly a "my computer sucks too much". Although I'm a little surprised that QT didn't give you a simpler display render routine than GL...
Qt does provide QPainter drawing surfaces, but back when we were migrating to Qt [from Windows MFC+GDI], the decision to use OpenGL was beyond my realm of capability to formulate an argument against. Words like "much faster", "more portable", "so easy" were too hard to argue against. I wonder if I can add some GL tests to somehow "degrade" to "accomodate". This is where my maddening lack of OpenGL skillz shines through!

I'm *still* trying to figure out what method I should use of the bazillion that are available to render scaleable fonts for some of my visualizing debuggers.

Might I also ask...how is the emulator, performance-wise [since you say your computer sucks? On my Win7 lappy with Ubuntu in a VBox I get crap performance in Ubuntu, but great performance in Win7. I'm going to go native Ubuntu at some point...just not ready yet.

Really appreciate your feedback!
lidnariq
Posts: 11432
Joined: Sun Apr 13, 2008 11:12 am

Post by lidnariq »

cpow wrote:Might I also ask...how is the emulator, performance-wise [since you say your computer sucks? On my Win7 lappy with Ubuntu in a VBox I get crap performance in Ubuntu, but great performance in Win7. I'm going to go native Ubuntu at some point...just not ready yet.
Pretty atrocious. Athlon tbird/1333, Matrox G450, nesicide-emulator is somewhere around ⅓ real time. Worse when GL is enabled, maybe a factor of 2, but without an FPS meter anyway it's hard to tell how much. Without GL it's worse by an additional factor of four when inside the IDE? But really, this is all guesswork from the listening to the gaps between audio packets.
Post Reply