Previous Thread
Next Thread
Print Thread
Page 1 of 2 1 2
#31496 07/14/07 04:58 AM
Joined: Jul 2007
Posts: 4
Member
OP Offline
Member
Joined: Jul 2007
Posts: 4
Hello,

I was unable to find contact information for the infamous R.Belmont, so I thought I'd just post my experience here.

I am using Ubuntu 7.04 and after great lengths I was able to compile NEStopia.

Two things didn't seem to work for me. frown

1) Sound didn't work.
2) Games went extremely fast -- like double or triple the normal speed.

Just reporting my experience.

See ya,
Avacado Bonanza

Joined: Mar 2001
Posts: 16,928
Likes: 62
R
Very Senior Member
Offline
Very Senior Member
R
Joined: Mar 2001
Posts: 16,928
Likes: 62
"Avocado Bonanza" sounds like a Bond girl wink

Anyway, throttling is done according to the audio, so if your audio's busted it'll run unthrottled. Did you try both OSS and ALSA modes? (restart the app after changing them). Also, you should get error messages in the console window you started NST from.

Joined: Jul 2007
Posts: 4
Member
OP Offline
Member
Joined: Jul 2007
Posts: 4
Hello smile

Interesting about the audio throttling, that must be the problem!

I don't remember how much I fooled around with the audio settings, but I'll recompile it and give it another shot. (compiling it was really tough for me, I'm a Linux newbie so it took a few hours to figure it out :P)

Will try again and let you know here.

~Avocado

P.S. Thanks so much for making a Linux version of this, it is really the best NES emulator out there. smile

Joined: Jul 2007
Posts: 4
Member
OP Offline
Member
Joined: Jul 2007
Posts: 4
Well, must be my sound. I tried both with and without the ALSA drivers and still had the problem.

Time for me to go buy one of those cheap $25 Sound Blaster cards, no more on-board ASUS sound. :P Thanks for the help and thanks again for porting NEStopia to Linux.

Any chance for a feature to remember the ROM directory, so I dont have to go wading through all my directories to find it each time? :E

~Avocado Bonanza of Goldfinger

Joined: Mar 2001
Posts: 16,928
Likes: 62
R
Very Senior Member
Offline
Very Senior Member
R
Joined: Mar 2001
Posts: 16,928
Likes: 62
I'd love to make it remember the directory. If I can figure out how, I will =)

Joined: Dec 2000
Posts: 45
G
Member
Offline
Member
G
Joined: Dec 2000
Posts: 45
Can someone explain what Ubuntu is? I found info on the web saying it is a sort of operating system. Is that correct? Thanks

Joined: Mar 2001
Posts: 16,928
Likes: 62
R
Very Senior Member
Offline
Very Senior Member
R
Joined: Mar 2001
Posts: 16,928
Likes: 62
Yes. It's a popular Linux distribution.

Joined: Jul 2007
Posts: 4
Member
OP Offline
Member
Joined: Jul 2007
Posts: 4
I temporarily gave up on Ubuntu... As much as I loved the improved speed, stability, security, and the extremely helpful community, there were too many frustrations when it came to getting my favorite games to work. Turns out Ubuntu didn't like my onboard sound card.

So, I'm back to the Windows version of NEStopia for now. smile

If it wasn't for my gaming addiction I'd be all over Ubuntu though. :P

Joined: Feb 2007
Posts: 267
Senior Member
Offline
Senior Member
Joined: Feb 2007
Posts: 267
i'd just like to post my 2 cents and second that feature request to remember the rom dir.

Joined: Feb 2004
Posts: 55
E
Member
Offline
Member
E
Joined: Feb 2004
Posts: 55
This patch below, against preview 5, makes nestopia remember the last visited path while running, but not saves it in configuration file. Maybe there is some error because I'm not familiar with the code of the Linux port.

Code:
diff -upr nst-orig/source/linux/auxio.cpp nst/source/linux/auxio.cpp
--- nst-orig/source/linux/auxio.cpp	2007-05-11 00:48:22.000000000 -0300
+++ nst/source/linux/auxio.cpp	2007-07-29 15:26:03.000000000 -0300
@@ -40,6 +40,8 @@ typedef struct _CFileInStream
 extern Nes::Api::Emulator emulator;
 extern GtkWidget *mainwindow;
 extern char rootname[512];
+static gchar *last_state_path;
+static gchar *last_movie_path;
 
 static std::ifstream *moviePlayFile, *fdsBiosFile, *nstDBFile;
 static std::ofstream *movieRecFile;
@@ -50,6 +52,8 @@ void auxio_init(void)
 	movieRecFile = NULL;
 	fdsBiosFile = NULL;
 	nstDBFile = NULL;
+	last_state_path = NULL;
+	last_movie_path = NULL;
 }
 
 void auxio_do_state_save(void)
@@ -71,9 +75,13 @@ void auxio_do_state_save(void)
 
 	gtk_file_chooser_set_current_name(GTK_FILE_CHOOSER(dialog), defname);
 
+        if (last_state_path)
+		gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(dialog), last_state_path);
+
 	if (gtk_dialog_run (GTK_DIALOG (dialog)) == GTK_RESPONSE_ACCEPT)
 	{
 		char *filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dialog));
+		last_state_path = gtk_file_chooser_get_current_folder (GTK_FILE_CHOOSER (dialog));
 
 		std::ofstream stateFile( filename, std::ifstream::out|std::ifstream::binary );
 
@@ -106,9 +114,13 @@ void auxio_do_state_load(void)
 	gtk_file_filter_add_pattern(filter, "*.nst");
 	gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(dialog), filter);
 
+        if (last_state_path)
+		gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(dialog), last_state_path);
+
 	if (gtk_dialog_run (GTK_DIALOG (dialog)) == GTK_RESPONSE_ACCEPT)
 	{
 		char *filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dialog));
+		last_state_path = gtk_file_chooser_get_current_folder (GTK_FILE_CHOOSER (dialog));
 
 		std::ifstream stateFile( filename, std::ifstream::in|std::ifstream::binary );
 
@@ -149,9 +161,13 @@ void auxio_do_movie_save(void)
 
 	gtk_file_chooser_set_current_name(GTK_FILE_CHOOSER(dialog), defname);
 
+        if (last_movie_path)
+		gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(dialog), last_movie_path);
+
 	if (gtk_dialog_run (GTK_DIALOG (dialog)) == GTK_RESPONSE_ACCEPT)
 	{
 		char *filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dialog));
+		last_movie_path = gtk_file_chooser_get_current_folder (GTK_FILE_CHOOSER (dialog));
 
 		movieRecFile = new std::ofstream(filename, std::ifstream::out|std::ifstream::binary); 
 
@@ -196,9 +212,13 @@ void auxio_do_movie_load(void)
 	gtk_file_filter_add_pattern(filter, "*.nsv");
 	gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(dialog), filter);
 
+        if (last_movie_path)
+		gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(dialog), last_movie_path);
+
 	if (gtk_dialog_run (GTK_DIALOG (dialog)) == GTK_RESPONSE_ACCEPT)
 	{
 		char *filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dialog));
+		last_movie_path = gtk_file_chooser_get_current_folder (GTK_FILE_CHOOSER (dialog));
 
 		moviePlayFile = new std::ifstream( filename, std::ifstream::in|std::ifstream::binary ); 
 
@@ -281,6 +301,11 @@ void auxio_shutdown(void)
  		delete fdsBiosFile;
 		fdsBiosFile = NULL;
 	}
+
+	if (last_state_path)
+		g_free (last_state_path);
+	if (last_movie_path)
+		g_free (last_movie_path);
 }
 
 static int checkExtension(char *filename)
diff -upr nst-orig/source/linux/main.cpp nst/source/linux/main.cpp
--- nst-orig/source/linux/main.cpp	2007-05-20 17:44:05.000000000 -0300
+++ nst/source/linux/main.cpp	2007-07-29 15:32:24.000000000 -0300
@@ -65,6 +65,7 @@ extern int lnxdrv_is_alsa;
 static char savename[512], capname[512], volumestr[5];
 static char caption[128];
 char rootname[512];
+static gchar *last_game_path = NULL;
 
 static InputDefT *ctl_defs;
 
@@ -609,6 +610,8 @@ void on_videocombo_changed(GtkComboBox  
 
 void on_mainwindow_destroy(GtkObject *object, gpointer user_data)
 {
+	if (last_game_path)
+		g_free (last_game_path);
 	gtk_widget_destroy(mainwindow);
 	nst_quit = 1;
 }
@@ -641,12 +644,16 @@ void on_open_clicked(GtkButton *button, 
 	gtk_file_filter_add_pattern(filter, "*.7z");
 	gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(dialog), filter);
 
+	if (last_game_path)
+		gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (dialog), last_game_path);
+
 	if (gtk_dialog_run (GTK_DIALOG (dialog)) == GTK_RESPONSE_ACCEPT)
 	{
 		char *filename;
 		int i;
 
 		filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dialog));
+		last_game_path = gtk_file_chooser_get_current_folder (GTK_FILE_CHOOSER (dialog));
 
 		// load the cartridge
 		strcpy(savename, filename);

Page 1 of 2 1 2

Moderated by  Marty, R. Belmont 

Link Copied to Clipboard
Who's Online Now
1 members (robcfg), 20 guests, and 3 robots.
Key: Admin, Global Mod, Mod
ShoutChat
Comment Guidelines: Do post respectful and insightful comments. Don't flame, hate, spam.
Forum Statistics
Forums9
Topics9,112
Posts119,407
Members5,024
Most Online890
Jan 17th, 2020
Our Sponsor
These forums are sponsored by Superior Solitaire, an ad-free card game collection for macOS and iOS. Download it today!

Superior Solitaire
Forum hosted by www.retrogamesformac.com