NESICIDE on Linux
Moderator: Moderators
- cpow
- NESICIDE developer
- Posts: 1097
- Joined: Mon Oct 13, 2008 7:55 pm
- Location: Minneapolis, MN
- Contact:
NESICIDE on Linux
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.
For now, a large screenshot.
It feels good to be cross-platform once again.
- cpow
- NESICIDE developer
- Posts: 1097
- Joined: Mon Oct 13, 2008 7:55 pm
- Location: Minneapolis, MN
- Contact:
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:hope this is good enough!
Oh yes, and so so much more! Check out the Debuggers menu.3gengames wrote: And before I try, is there a nametable/PPU viewer on the IDE/emu?
- cpow
- NESICIDE developer
- Posts: 1097
- Joined: Mon Oct 13, 2008 7:55 pm
- Location: Minneapolis, MN
- Contact:
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.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.
- cpow
- NESICIDE developer
- Posts: 1097
- Joined: Mon Oct 13, 2008 7:55 pm
- Location: Minneapolis, MN
- Contact:
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!
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!
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.
- cpow
- NESICIDE developer
- Posts: 1097
- Joined: Mon Oct 13, 2008 7:55 pm
- Location: Minneapolis, MN
- Contact:
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.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.
In the IDE is it obvious that the ROM is trying to execute? In the Assembly Browser, for example, can you step instructions?
- Jarhmander
- Formerly ~J-@D!~
- Posts: 569
- Joined: Sun Mar 12, 2006 12:36 am
- Location: Rive nord de Montréal
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:
Even the Package Manager 'freaks out' and I see a 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...
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).
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...
- cpow
- NESICIDE developer
- Posts: 1097
- Joined: Mon Oct 13, 2008 7:55 pm
- Location: Minneapolis, MN
- Contact:
Yeah something's not making Software Center happy...I think because libqtwebkit4 is 'untrusted'.~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.
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]?
Galaxian, but that's not the problem; if I restart X with GL and without dual-heading it draws correctly.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.
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...In the IDE is it obvious that the ROM is trying to execute? In the Assembly Browser, for example, can you step instructions?
- cpow
- NESICIDE developer
- Posts: 1097
- Joined: Mon Oct 13, 2008 7:55 pm
- Location: Minneapolis, MN
- Contact:
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:Galaxian, but that's not the problem; if I restart X with GL and without dual-heading it draws correctly.
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!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...
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!
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.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.