I generally like to develop on Unix-like systems. Currently I'm on a macbook and I've found getting good tools built for OSX rare and hard to come by. Compiling open source tools has often been fussy and difficult process too. I've had this same problem in the past whenever booting in Ubuntu. DOSbox, WINE, and Parallels will work in most cases, but I'd really like to be able to do everything on OSX (or even Linux) so I can stay to one system and use EMACS. CA65 is compatible as far as assemblers go (I'm thinking of trying to compile ASM6 sometime though), but ports of NESTOPIA and FCEUX on OSX that I've tried lack the ability to view machine states. Anyone have any recommendations? (other than "ditch mac it sucks" please >_>)
I've been super pleased with Mesen's debugger, which has a functioning SDL2/Mono(GDI+) UI for cross-platform applications.
I'm currently developing on OSX. I use FCEUX 2.2.3 in Wine, and emacs and ca65, just as you're looking to do. Wine isn't perfect (sometimes fceux messes up and needs to be restarted, pausing is painful since there's no keyboard key for it) but it's worth it for me.
dustmop wrote:
pausing is painful since there's no keyboard key for it
I think the default puts pause on the Pause/Break key but it's configurable in Config > Map Hotkeys.
As an alternative the frame advance key also works as a pause (maybe 1 frame late), and it defaults to: \
Does Pause/Break just not work with Wine, or is there another problem?
Oh my god I did not know about remapping the pause key. That'll save so much mouse movement! Thanks very much!
I knew about Frame Advance (backslash), which is still great in it's own right, but not very good at unpausing.
rainwarrior wrote:
dustmop wrote:
pausing is painful since there's no keyboard key for it
I think the default puts pause on the Pause/Break key but it's configurable in Config > Map Hotkeys.
As an alternative the frame advance key also works as a pause (maybe 1 frame late), and it defaults to: \
Does Pause/Break just not work with Wine, or is there another problem?
Pause/Break works all right in Wine-d FCEUX in Linux. Must be a Mac-specific problem (do Mac keyboards even have a Pause/Break key?)
A full-size Mac keyboard has F15 where Pause/Break goes.
The other problem with the Pause/Break key is that not all laptops have it, even if they're designed to run Windows.
Oh man, the fonts in the fceux debugger kill me in linux mint. At least with my setup, it uses a variable-width font in the debugger window, so it's horribly hard to read...the tab spacing doesn't line up, so opcodes aren't all in a nice column.
You probably need to install mscorefonts (either via winetricks or deb)
Because the mirrors for that font package move around every so often, the .deb package that downloads it has to be updated whenever it moves. When I reinstalled Xubuntu about a month and a half ago, it had not yet been updated. Symptoms include downloads failing and pop-up reminder messages every few minutes to complete configuration of a package. But the .deb from Debian had been updated, and it worked:
Code:
wget http://ftp.de.debian.org/debian/pool/contrib/m/msttcorefonts/ttf-mscorefonts-installer_3.6_all.deb
sudo dpkg -i ttf-mscorefonts-installer_3.6_all.deb
Platinum wrote:
(other than "ditch mac it sucks" please >_>)
I've put a NESICIDE-osx.bz2
here.
It has four separate DMGs. nesicide.dmg, nes-emulator.dmg, famitracker.dmg, and famiplayer.dmg.
Please try it and let me know what you think.
EDIT: I have put an update out [same link as above] since I discovered that in OSX it isn't properly finding the CC65 toolchain.
You will want to "brew install cc65" before running NESICIDE. It should find the compiler if you've done this.
lidnariq wrote:
You probably need to install mscorefonts (either via winetricks or deb)
Ah, that did the trick. Thank you. I can debug again without going insane.
My 1 week experience using Linux, so far...
-I got cc65 to compile
-I got FCEUX to run with wine
-Nintendulator crashed when I tried to assign input to keyboard
-Mesen doesn't run...maybe I need to install Mono or something
dougeff wrote:
-Nintendulator crashed when I tried to assign input to keyboard
Known bug elicited in older builds of Wine & Nintendulator, but I thought that
Quietust had fixed that in the newest beta release?
NintendulatorDX hasn't been rebuilt since.
Quote:
-Mesen doesn't run...maybe I need to install Mono or something
:)
Re: lidnariq
So I should just know how to use that package (mono) that I've never heard of before on an OS that I've never used before for an emulator that I've never used before.
Got it. (not really)
dougeff wrote:
So I should just know how to use that package (mono) that I've never heard of before on an OS that I've never used before for an emulator that I've never used before.
Mono is an open source alternative to the .NET runtime. You've probably heard of .NET or C#? On windows you'd probably have to install the .NET runtime too as a dependency, if you didn't have it. It's pretty much the same deal here.
Mono should be available in whatever package manager your Linux version has.
Maybe eventually Mesen will get packaged too, and will be able to automatically find its dependencies for you?
I see on...
http://www.mono-project.com/archived/gu ... lications/that you have to open the terminal and type...
mono mesen.exe
(Or something)
Wasn't there another dependancy?
SDL 2
Not sure what that is either. Will have to look into it.
dougeff wrote:
mono mesen.exe
(Or something)
According to
the readme, that's basically what its makefile does for "make run".
rainwarrior wrote:
Maybe eventually Mesen will get packaged too, and will be able to automatically find its dependencies for you?
You mean being able to install it via apt-get (or the like)? Unless the actual distributions actually do this themselves (highly unlikely), doesn't this imply requiring a server to act as a "repository" of sorts for the packages? I recall having to add URLs to the server list to install some packages from time to time. (I barely ever use Linux, so I may be asking a silly question.)
dougeff wrote:
Wasn't there another dependancy?
SDL 2
Not sure what that is either. Will have to look into it.
Yes, you need both Mono (because Mesen's UI is coded in .NET/C#) and the SDL2 packages installed to be able to run it. SDL2 is a wrapper for the video/audio code (e.g an alternative to using DirectX on Windows).
I admit it's not the most user-friendly experience on Linux, but coding the UI in C# is a number of times faster than using C/C++. Mesen wouldn't have a debugger at all if I had to code the UI for it in C/C++
Sour wrote:
rainwarrior wrote:
Maybe eventually Mesen will get packaged too, and will be able to automatically find its dependencies for you?
You mean being able to install it via apt-get (or the like)? Unless the actual distributions actually do this themselves (highly unlikely)
FCEUX (SDL) is packaged in Debian and Ubuntu. It's not in Fedora because before the compos, Red Hat's legal department decided that there weren't enough freely distributable NES ROMs to make a substantial noninfringing use defense an open-and-shut case.
Quote:
doesn't this imply requiring a server to act as a "repository" of sorts for the packages?
Ubuntu supports a
PPA (personal package archive), a user-maintained repository hosted by Canonical.
Sour wrote:
rainwarrior wrote:
Maybe eventually Mesen will get packaged too, and will be able to automatically find its dependencies for you?
You mean being able to install it via apt-get (or the like)? Unless the actual distributions actually do this themselves (highly unlikely), doesn't this imply requiring a server to act as a "repository" of sorts for the packages? I recall having to add URLs to the server list to install some packages from time to time. (I barely ever use Linux, so I may be asking a silly question.)
Yes.
Why do you think it's unlikely that Mesen could be added to some package repositories in the future? I'd think some of them would be interested in having it once it's a little bit more finished-off.
rainwarrior wrote:
Why do you think it's unlikely that Mesen could be added to some package repositories in the future? I'd think some of them would be interested in having it once it's a little bit more finished-off.
I'd be more than happy if it was, I'm just assuming most distros would stick to more popular options (and the fact it runs on Mono may also be something that wouldn't help). I guess time will tell!
Sour wrote:
the fact it runs on Mono may also be something that wouldn't help
That's exactly what the package managers are good for. They automatically grab dependencies for you.
Mednafen is…pretty good? It's not the latest version of FCEUX, but it's got the same core and has a debugger that runs natively.
However, it is not a GUI, so it's not the easiest to get into.
Myask wrote:
Mednafen is…pretty good? It's not the latest version of FCEUX, but it's got the same core and has a debugger that runs natively.
However, it is not a GUI, so it's not the easiest to get into.
Should I build you a NESICIDE?
Har. I still use a hex editor.
It was more a judgment in the realm of the "newbie help center" where such might be a weighty consideration.
lidnariq wrote:
dougeff wrote:
-Nintendulator crashed when I tried to assign input to keyboard
Known bug elicited in older builds of Wine & Nintendulator, but I thought that
Quietust had fixed that in the newest beta release?
It might be a different bug - the one I fixed was a problem where input configuration just
didn't work (i.e. you could press a key all you wanted and it wouldn't detect it), not an actual crash.