What's new

Issues with mupen64/mario kart

Jocke2

New member
Hi,

I have some issues with Mupen64amd64-RiceVideoLinux-1-0-bin-32 that I hope you can help me solve. I'll start with the issues, then I'll write the terminal output and the system specs.

Note that I can run most of the demos perfectly (the ones from http://mupen64.emulation64.com/down.htm), and that all plugins seem to be loaded correctly.

The game I'm trying to run is Mario Kart 64. The game starts up, but:

1. Mostly I can't enter full screen. Using the RiceVideo plugin, nothing happens when clicking the full screen menu item. Using the glN64 v0.4.1 I immediately get a black screen and the only thing I can see is the mouse cursor, and I need to reboot the computer. (However, using the glN64 I can run the demos full screen.)

Sometimes however, using the the glN64 v0.4.1 the full screen almost works. The only issue is that black areas flicker every second in the game. It seems like those areas are the areas where Ubuntu system tray icons and borders of other windows are placed. An example: The border of the Mupen64 window "flickers through" into the game, and so does the Gnome "Log off" button.

2. While playing, I can speed, drive right and then jump at the same time. However, I can't speed, drive LEFT and jump at the same time. Hence the following combination doesn't work: w + "left arrow" + s. This issue is with the "Mupen64 basic input plugin". I can't test this issue for the "blight's SL input plugin 0.0.10" since I can't configure the keys.

3. I can't configure the keys. Using the "Mupen64 basic input plugin" nothing happens when clicking "Input Settings...", and while using "blight's SL input plugin 0.0.10", when I press "Input Settings..." I see a new blank (black) window for a second, and then the application exits. In the terminal it sais "Segmentation fault (core dumped)".

4. Various graphical glithes using the RiceVideo plugin, but it looks good using the glN64. Maybe glN64 is generally better than RiceVideo, so I shouldn't bother to get RiceVideo working?


Another minor issue is that when I stop the emulation, Mupen64 quits. And when I stop the emulation when in full screen (using Esc), the screen resolution doesn't change back. These minor issues don't bother me, but maybe they have the same causes as the other issues.

The terminal output:
rom size: 12582912 bytes (or 12 Mb or 96 Megabits)
rom size: 12582912 bytes (or 12 Mb or 96 Megabits)
rom loaded succesfully
80 37 12 40
ClockRate=f
Version:1446
CRC: 3e5055b6 2e92da52
name: MARIOKART64
Manufacturer: Nintendo
Cartridge_ID: 544b
Country : United States
size: 4096
PC= 80000400
md5 code:3A67D9986F54EB282924FCA4CD5F6DFF
0
MARIOKART64 (unknown rom)
init timer!
memory initialized
[glN64]: (II) Initializing SDL video subsystem...
[glN64]: (II) Getting video info...
[glN64]: (II) Setting video mode 640x480...
demarrage r4300
R4300 Core mode: Dynamic Recompiler
Signal number 11 caught:
errno = 0 (Success)

The last two lines are written when I stop emulation, and then the mupen64 application closes too.


System specs:
Laptop:
Acer Travelmate 291LMi
pentium M 1.4GHz
intel 855GM chipset
Ubuntu 7.10 (Gutsy Gibbon)
 

Surkow

Member
I would suggest you to upgrade to the latest SVN version (the controller issues should be solved). If you need help to compile it from source we are glad to help you.
 

Richard42

Emulator Developer
1. Mostly I can't enter full screen. Using the RiceVideo plugin, nothing happens when clicking the full screen menu item. Using the glN64 v0.4.1 I immediately get a black screen and the only thing I can see is the mouse cursor, and I need to reboot the computer. (However, using the glN64 I can run the demos full screen.)

Sometimes however, using the the glN64 v0.4.1 the full screen almost works. The only issue is that black areas flicker every second in the game. It seems like those areas are the areas where Ubuntu system tray icons and borders of other windows are placed. An example: The border of the Mupen64 window "flickers through" into the game, and so does the Gnome "Log off" button.

2. While playing, I can speed, drive right and then jump at the same time. However, I can't speed, drive LEFT and jump at the same time. Hence the following combination doesn't work: w + "left arrow" + s. This issue is with the "Mupen64 basic input plugin". I can't test this issue for the "blight's SL input plugin 0.0.10" since I can't configure the keys.

3. I can't configure the keys. Using the "Mupen64 basic input plugin" nothing happens when clicking "Input Settings...", and while using "blight's SL input plugin 0.0.10", when I press "Input Settings..." I see a new blank (black) window for a second, and then the application exits. In the terminal it sais "Segmentation fault (core dumped)".

4. Various graphical glithes using the RiceVideo plugin, but it looks good using the glN64. Maybe glN64 is generally better than RiceVideo, so I shouldn't bother to get RiceVideo working?

Another minor issue is that when I stop the emulation, Mupen64 quits. And when I stop the emulation when in full screen (using Esc), the screen resolution doesn't change back. These minor issues don't bother me, but maybe they have the same causes as the other issues.

Regarding #1 - I haven't tested this. I didn't know it was possible to switch into fullscreen while a game was playing. I'll test it and add to the list if broken. I would recommend setting the fullscreen option in the config dialog.

#2 - the config dialog for the blight input plugin is fixed, so this should work in the next release. The Mupen basic input doesn't work at all for me so I've never tested it. However, this may be a hardware limitation of your keyboard. The way that many keyboards are physically built prevents them from detecting certain combinations of key presses. This one works on my old IBM Model M keyboard, but you can test it for yours. If you open a text editor, press and hold down 'w'+right+'s'. This should work and you will see the 's' printed. Try it again with 'w'+left+'s'. If you don't see the 's', then your keyboard is to blame. If you do see the 's', it's a software problem. Report what you find and I'll add it to the list.

#3 - I think the basic input plugin is really broken. It's probably not worth the time to fix it, instead I would rather fix/improve the Blight plugin.

#4 - Mario Kart looks perfect under Rice on my desktop machine with Nvidia hardware. However on my set top box (with the new Intel X3100 graphics/gm965 chipset) every rectangular polygon gets rendered with just a color - no texture (glN64 looks fine). I'm trying to debug and fix this now; once it's fixed I'll make the next release. A similar issue may be affecting your playback, since it looks like you also have an integrated Intel adapter. If you can send screenshots of the problem it would be helpful. I added a PNG screenshot function to the mupen64_nogui build - just hit F12 to take a picture. I can't remember if this is also enabled in the GUI build or not.

#5 - I have fixed the crash-on-emulation-stop problem, so this will also be resolved with the upcoming release.
 

kdubya

New member
F1 switches to fullscreen while the game is playing.

I havnt run mupen in a while but i thought that was the only way I could get into fullscreen with the new amd64 branch.
 

nmn

Mupen64Plus Dev.
There is a fullscreen button, but it probably doesn't do anything for most plugins. The F1 key could be checked for by the video plugin itself too though, considering these plugins manage their own windows.
 

Richard42

Emulator Developer
F1 switches to fullscreen while the game is playing.

I havnt run mupen in a while but i thought that was the only way I could get into fullscreen with the new amd64 branch.

I believe there is a fullscreen checkbox in the RiceVideo config page; this should also work. If the key/button doesn't work then we'll put in on the TODO list.
 
OP
J

Jocke2

New member
Thanks for some very good replies.

#1. I can't enter full screen using Rice. I can't find the "full screen" setting in the config, and when clicking the "full screen" menu item while playing, the game window just flickers black for a tenth of a second.

#2 and #3. The key conflict seems to be a keyboard issue, because it doesn't work in a text editor either. And regarding to the input config dialog, I'll just wait for the next version :)

#4. I've attached some screen shots. Note that within a single game session, some things that don't work seem to work a little later, and vice versa. All the attached screen shots are from the same gaming session. I can't see a pattern about when it works and when it doesn't.

The file names tell what's wrong. The "several.png" shows missing item box (in the top of the screen), bugs in the map (in the lower right of the screen) and blinking item boxes (on the raceway). The item box in the top is visible for a second while jumping or bumping into the wall. The "blinking item boxes" blink all the time, so only a few are visible at the time, as the screen shot shows.


Regarding building the new version, I could try to do it myself. I'm used to Windows development with c# but since I'm about to migrate to Linux it would be fun to try this out. Can I connect to the mupen64 svn server using an svn client? Or is the server private? And what svn client would you recommend?
 
Last edited:

Surkow

Member
svn://fascination.homelinux.net:7684/mupen64-amd64/trunk/

The svn login is 'mupen64', and the password is 'Dyson5632-kart'.

Install a program called "Subversion". If you are using a Debian based package management system you can just use "sudo apt-get install subversion". Browse in the terminal to the directory where you want to store the files. Use "svn co svn://fascination.homelinux.net:7684/mupen64-amd64/trunk/" to download all the files. After that you can find two directories. One for the video plugin and the other is from mupen64 and the rest of the plugins. Compile them both and add the video plugin into the plugin section of mupen64.
 

nmn

Mupen64Plus Dev.
You can use official Subversion, And if you can't really use it(and your on Linux), Try using KDESvn atop. (KDESvn is alright. You can find a source package at KDE-Apps.org if your package manager does not offer it.)
 

Richard42

Emulator Developer
I made a major discovery tonight relating to your problems and my texture issues on the 965gm as well. The RiceVideo plugin has several different 'combiners' which are used to set up the OpenGL system for multitexturing. The reason why it has several of these things is that it supports different levels of OpenGL and different hardware capabilities. For both of my test systems, the OpenGL fragment program is used. It looks perfect on the NVidia 6600 hardware but hosed on the Intel X3100. The OpenGL v1.4 combiner looks okay on the Intel X3100 but it shows the flickering Mario Kart powerup boxes that you spoke of. So the issues that you found are in the v1.4 combiner, while the fragment program combiner must also have some kind of compatibility problem with the X3100 as well. I hope it can be fixed.

I have added a log message to print the combiner type used when starting a game, so we can duplicate problems that are reported.
 

Richard42

Emulator Developer
Richard, that sounds good. Very nice that you work on this issue!

I found the problem with the OpenGL fragment program combiner on my intel 965 today. The shader program can define per-pixel 'attributes' which can be used as input parameters to the assembly instructions later in the program. It appears there is some kind of bug in Mesa or the intel driver whereby if an attribute is defined but never used later in the program, the texture coordinates won't be properly updated.. I rewrote the fragment program to just not use any of these 'attributes' and it looks perfect on the MiniPC now. A release will be forthcoming. Unfortunately this won't solve your problem with the OGL 1.4 combiner, but I'll put it on the TODO list, and I know where to look to fix it.
 
OP
J

Jocke2

New member
I tried the new version (Mupen64amd64-RiceVideoLinux-1-1-bin-32) , and since the input configuration dialog now works, I can play mario kart with the glN64 plugin quite well :) The only issue is that some parts of the screen flickers black every second.

So there are only two issues left of the original four:
The graphical glitches when using RiceVideo and that I cannot enter full screen (The gaming window just flickers black for a tenth of a second when clicking the full screen button).

Nice work with the new version!

I'll paste my terminal output in case you want to see it:

(mupen64:6658): Gtk-CRITICAL **: gtk_box_pack_start: assertion `child->parent == NULL' failed
rom size: 12582912 bytes (or 12 Mb or 96 Megabits)
rom size: 12582912 bytes (or 12 Mb or 96 Megabits)
rom loaded succesfully
80 37 12 40
ClockRate=f
Version:1446
CRC: 3e5055b6 2e92da52
name: MARIOKART64
Manufacturer: Nintendo
Cartridge_ID: 544b
Country : United States
size: 4096
PC= 80000400
md5 code:3A67D9986F54EB282924FCA4CD5F6DFF
eeprom type:0
init timer!
memory initialized
[RiceVideo] SSE processing enabled.
[blight's SDL input plugin]: version 0.0.10 initialized.
[RiceVideo] SSE processing enabled.
[RiceVideo] Found ROM 'Mario Kart 64', CRC b655503e52da922e-45
[RiceVideo] Enabled hacks for game: 'MARIOKART64'
InitExternalTextures
Initializing OpenGL Device Context
(II) Initializing SDL video subsystem...
(II) Getting video info...
(II) Setting video mode 640x480...
Tungsten Graphics, Inc - Mesa DRI Intel(R) 852GM/855GM 20061017 x86/MMX/SSE2 : 1.3 Mesa 7.0.1
[RiceVideo] OpenGL Combiner: OGL 1.4 version 2
(II) JttL's sound plugin version 1.3
(II) Initializing SDL audio subsystem...
(II) Allocating memory for audio buffer: 65536 bytes.
demarrage r4300
R4300 Core mode: Dynamic Recompiler
PC=800d1a58:3c1a800f
reg[ 0]: 0 0 reg[16]: 0 0
reg[ 1]: 0 0 reg[17]: 0 0
reg[ 2]: 0 0 reg[18]: 0 0
reg[ 3]: 0 0 reg[19]: 0 0
reg[ 4]: 0 1 reg[20]: 0 0
reg[ 5]:ffffffff80194050 reg[21]: 0 0
reg[ 6]:ffffffff800cc638 reg[22]: 0 0
reg[ 7]: 0 0 reg[23]: 0 0
reg[ 8]: 0 ff01 reg[24]:ffffffff801524c0
reg[ 9]:ffffffff80194050 reg[25]:ffffffff801524c0
reg[10]: 0 fe reg[26]:ffffffff801524c0
reg[11]:ffffffff80194050 reg[27]: 0 0
reg[12]:ffffffffa4400000 reg[28]: 0 0
reg[13]:ffffffffa4400000 reg[29]:ffffffff80154640
reg[14]:ffffffffffffffff reg[30]: 0 0
reg[15]: 0 fe reg[31]:ffffffff800005b8
hi: 0 0 lo: 0 0
apr�s -1959244142 instructions soit 8b384e92
(II) Cleaning up SDL sound plugin...
[RiceVideo] Found ROM 'Mario Kart 64', CRC b655503e52da922e-45
[blight's SDL input plugin]: Closing...
 

Richard42

Emulator Developer
I tried the new version (Mupen64amd64-RiceVideoLinux-1-1-bin-32) , and since the input configuration dialog now works, I can play mario kart with the glN64 plugin quite well :) The only issue is that some parts of the screen flickers black every second.

So there are only two issues left of the original four:
The graphical glitches when using RiceVideo and that I cannot enter full screen (The gaming window just flickers black for a tenth of a second when clicking the full screen button).

Thanks for the report. Your RiceVideo output problems are in the TODO file now. I tried switching to fullscreen from the GUI and found that (with Rice Video), F11 doesn't do anything but clicking on the button does put it into fullscreen. Which video plugin were you using when you were unable to switch to fullscreen?
 
OP
J

Jocke2

New member
Thanks for the report. Your RiceVideo output problems are in the TODO file now. I tried switching to fullscreen from the GUI and found that (with Rice Video), F11 doesn't do anything but clicking on the button does put it into fullscreen. Which video plugin were you using when you were unable to switch to fullscreen?

I used RiceVideo 1.1 (and I've tried clicking the full screen button as well)

I've also noticed another issue when starting the emulator. I didn't get this assertion error earlier today (using the same version of the emulator and probably the same plugins ). I don't know why it now shows up. When starting the emulator, this is the only output to the terminal:
(mupen64:5974): Gtk-CRITICAL **: gtk_box_pack_start: assertion `child->parent == NULL' failed
 

Top