PDA

View Full Version : Bugs in new ported rice plugin



ciruZ
August 27th, 2005, 09:15
Hi Hacktarux,

first, thanks for porting this nice plugin. But it has some issues:
- You can't play on anything else than 640x480, the window is always only that big. And in fullscreen, it's always switched to 640x480, either. This way, you only see a part of the game when you change the resolution.
- There seems to be some strange flickering in Bomberman Hero, that wasn't there with Rice 5.x. Maybe in other games, too, but I haven't tested it.

That's what I found so far, and since you haven't released the source for this plugin, I couldn't do anything :(.

// Edit:
Even more: Just enabling "Load hi-res textures if available" and "Dump textures to files" and opening a game crashes the whole emulator with signal 11.

// Edit 2:
It flickers in other games, too. For example, in some levels in Kirby 64 after playing a while. Some textures just get black in one moment and the other moment they are normal again.

Hacktarux
August 27th, 2005, 10:41
I know some games are flickering with this version, i never found why. I've decided to release it anyway because some games don't have any problem and you can use all unique features of this plugin like hi resolution texture packs...

I remember this resolution problem but i though i fixed it... gotta check it again

ciruZ
August 27th, 2005, 23:02
Well, I could use hires textures if it wouldn't segfault :)
Is there no way you can release the source? Can't you get rice's permission to do so?

// Edit:
Setting OpenGL -> Depth Buffer to 32-bit also makes the plugin crash with signal 11.

Hacktarux
August 27th, 2005, 23:18
Well, source release is up to rice, as soon as he wants to, i can release it. For hires textures, be sure the folder name is the same as the name in the rom header (usually it's upper case) Windows doesn't care about the filename cases but on linux we have to check that.

Depth buffer proababy crashes because your video card doesn't support it, i don't know how to check that.

ciruZ
August 28th, 2005, 11:31
Well, it also crashes on games where I have no hires textures at all when I enable it. The only game where I have hires textures is Zelda OoT, and the directory for that is uppercase.
For depth buffer: Hm, I have a GF4 Ti with the NVidia 7676 driver. Should be enough, shouldn't it?
// Edit: Maybe you can build the plugin with -g? I can give you further information than. Or is rice also against that, because I could see some parts of the source?

Hacktarux
August 28th, 2005, 12:22
Well, it also crashes on games where I have no hires textures at all when I enable it. The only game where I have hires textures is Zelda OoT, and the directory for that is uppercase.
For depth buffer: Hm, I have a GF4 Ti with the NVidia 7676 driver. Should be enough, shouldn't it?
// Edit: Maybe you can build the plugin with -g? I can give you further information than. Or is rice also against that, because I could see some parts of the source?

I'm not sure but afaik your video vard only support 24bit depth buffer. Not a big problem though, i don't think you can see any difference.

Concerning the debug build, send me your mail address in pm, we'll try the -g build and see if we can figure out what's wrong. BTW, what kind of install are you using ? multi-user or not ?

ciruZ
August 28th, 2005, 16:09
Just extracted the binary tgz into my emulation directory and started it. And created a dir plugin/texture_dump and put the "THE LEGEND OF ZELDA" dir into there.
Btw, you got PM.

Hacktarux
August 28th, 2005, 16:35
on linux, the plugin folder isn't plugin/ but plugins/
and to use hires texture, you don't have to create "texture_dump" folder but "hires_texture" folder...

Try this and report the result, if it still doesn't work i'll send you a debug binary.

beshwa
August 29th, 2005, 02:50
I've got Federelli textures loading, but it's very very slow. I've got a Athlon64 3000+ and a Nvidia GT6600. Resolution doesn't seem to matter. Any suggestions?

aminalshmu
August 29th, 2005, 05:34
i am at a complete loss as to how to get federelli's texture pack for ocarina of time working. i've moved the "hires_texture" folder to just about every conceivable place relating to mupen64... i can't seem to get the textures to load. tell me beshwa, how did you manage this feat? or are you running windows :( hehe

everything else is working great though. hacktarux rules.

ciruZ
August 29th, 2005, 16:31
on linux, the plugin folder isn't plugin/ but plugins/
and to use hires texture, you don't have to create "texture_dump" folder but "hires_texture" folder...

Try this and report the result, if it still doesn't work i'll send you a debug binary.
Well, maybe the readme should be changed then? ;)
Anyway, after doing those changes, it loads for hours and crashes then.

Hacktarux
August 29th, 2005, 16:51
The plugin folder is wrong in the readme but it also mentions both texture_dump and hires_texture folders. Both exists but they are used for different things :)

Crashing after hours ? interesting... i guess you saved before reaching that point, is it still crashing after restarting the emulator ? It's harder to know but it'd be interesting to know if it happens with other plugins too.

ciruZ
August 29th, 2005, 20:03
No, you understood me wrong. It loads from the harddisk for hours, then a black window with a size of 640x480 shows up for a second and then it crashes. So you don't play a single second. It's a plugin related problem, since the plugin exits with signal 11. Restarting the emulator doesn't help since it always happens.

beshwa
August 31st, 2005, 02:49
aminalshmu,

I'm running Debian (with some packages from Ubuntu), no Windows.
here's how things look for me:

in my mupen directory, I have a plugins directory.
then in there I have hires_texture with zelda OOT textures:

$ ls plugins/hires_texture/
THE LEGEND OF ZELDA/

This matches the name of the ROM when it's loading. You should see something like this in the terminal when mupen loads the ROM:

name: THE LEGEND OF ZELDA

If I use Rice's plugin and select load hi-res textures, I also see

InitExternalTextures

in the stuff mupen prints to the terminal. You might try running it within a terminal if you aren't so that you can have a better idea of what's going on.
The textures are loading and look great but performance is terrible.

aminalshmu
August 31st, 2005, 06:26
a-ha. should have realized it on my own... but case sensitivity was the issue. my "The Legend of Zelda" folder was not all-cap'd, as it should be to match the rom name.

they do load, and do look great. and do run SLOW. at least the intro screen and opening sequence are choppy, keeping at a constant ~20 VI/s.

this is with a pentium 4 2.8ghz, 800FSB, 512mb DDR in dual-channel, geforce FX5200.

thanks beshwa.

ciruZ
September 2nd, 2005, 17:07
Hey, Hacktarux, what's now with the debug version? :)

Hacktarux
September 2nd, 2005, 18:30
debug version is useless, all problems reported so far are only bad folders names, i'll repeat it here.

In order to get hi resolution textures working with rice's plugin you should:

- create a hires_texture/ folder inside your plugins/ folder.
- put your textures in a subfolder of hires_texture/ that has the name of the ROM exactly written like in the ROM header : it's usually UPPER CASE.


animalshmu: is it running faster when using normal textures ? I have a computer similar to yours except the video card that's faster and it's running fullspeed (AMD64 3000+, 512 Mb of RAM, GeForce6600 GT).

ciruZ
September 3rd, 2005, 12:22
Hacktarux: I already said it:
Anyway, after doing those changes, it loads for hours and crashes then. The directory names are correct, I double-checked that. The files are in plugins/hires_texture/THE LEGEND OF ZELDA, so it's correct. The one with the missing uppercase was aminalshmu. I have uppercase and it still crashes with signal 11. So a debug version is definitely _NOT_ useless! ;)

aminalshmu
September 3rd, 2005, 19:13
rom size: 33554432 bytes (or 32 Mb or 256 Megabits)
file found
rom size: 33554432 bytes (or 32 Mb or 256 Megabits)
rom loaded succesfully
80 37 12 40
ClockRate=f
Version:1449
CRC: 693ba2ae b7f14e9f
name: THE LEGEND OF ZELDA
Manufacturer: 43000000
Cartridge_ID: 4c5a
Country Code : 245
size: 4096
PC= 80000400
md5 code:57A9719AD547C516342E1A15D5C28C3D
eeprom type:0
init timer!
memory initialized
[blight's SDL input plugin]: version 0.0.10 initialized.
InitExternalTextures
Initializing OpenGL Device Context
(II) Initializing SDL video subsystem...
(II) Getting video info...
(II) Setting video mode 1024x768...
NVIDIA Corporation - GeForce FX 5200/AGP/SSE2 : 2.0.0 NVIDIA 76.76
demarrage r4300
dynamic recompiler
PC=80005364:8d480000
reg[ 0]: 0 0 reg[16]: 0 0
reg[ 1]:fffffffffffffffe reg[17]:ffffffff80127dd0
reg[ 2]:ffffffffffffffff reg[18]:ffffffff80125f00
reg[ 3]:ffffffff80125f00 reg[19]: 0 4
reg[ 4]:ffffffff801225d0 reg[20]:ffffffff801215bc
reg[ 5]:ffffffff80120958 reg[21]:ffffffff80121548
reg[ 6]: 0 0 reg[22]: 0 0
reg[ 7]:ffffffff80125f00 reg[23]: 0 0
reg[ 8]: 02000ff01 reg[24]: 0 0
reg[ 9]: 02000ff00 reg[25]:ffffffff80127b98
reg[10]:ffffffff800068e0 reg[26]:ffffffffa430000c
reg[11]: 0 ff00 reg[27]: 0 aaa
reg[12]: 0 4d reg[28]: 0 0
reg[13]:ffffffff801b0e10 reg[29]:ffffffff80120910
reg[14]:ffffffff80127bf0 reg[30]: 0 0
reg[15]: 0 0 reg[31]:ffffffff80002210
hi: 0 0 lo: 0 1
apr� 68674694 instructions soit 417e486
[blight's SDL input plugin]: Closing...

happens in my compiled mupen64 and the distributed binary. nvidia drivers v. 7676
and yes, it runs at flawless speed without hires textures loading. it never drops below 60vi/s, but it goes to about one third the speed once i enable hires tex. i wonder what the problem could be? too bad rice doesn't want to give out the source to his plugin :)

ciruZ
September 5th, 2005, 16:37
too bad rice doesn't want to give out the source to his plugin
Yeah, if the source would be open, I would fix the resolution bug and the segfault bug (again: The directory structure is ok, so it's definitely a bug). That way, the plugin could grow better and better, because many people can write patches for it then. Maybe we should just ask rice if there are any good reasons for not releasing the source?

Hacktarux
September 5th, 2005, 18:02
When he gave me the source he said that was because some part of the source code wasn't from him.

ciruz: i'll compile a debug build as soon as i have some time to reboot to linux. I'm not sure it'll help... Usually gdb only works with the nogui version if you use the dummy sound plugin. Check that you have the same problem when using that.

ciruZ
September 5th, 2005, 19:17
When he gave me the source he said that was because some part of the source code wasn't from him.
Hm. Ok. That'd mean that he'd have to ask other people, too.
Thanks for compiling a debug plugin. I'll try it with the nogui version ASAP. ;)

// Edit:
Using mupen64_nogui without gdb:
Runtime error 216 at $B3E95B3E
$B3E95B3E
Using mupen64_nogui with gdb:
Program received signal SIGSEGV, Segmentation fault.
0xb3f1fb50 in ?? ()
What confuses me is the Runtime error with the hexadecimal adress beginning with $. That looks like Pascal. Well, and yes, I have a pascal plugin in my plugins directory. I removed it and it changed to:
Fatal signal: Segmentation Fault (SDL Parachute Deployed)
The output with GDB is still the same. Ok, so it's not the fault of the plugin, that plugin only catches the error then. I guess there are good chances to debug it with a debug version of the plugin.

Hacktarux
September 6th, 2005, 22:34
ok i've not forgotten about the debug version, i just don't have time to reboot to linux because i have to write a paper and the deadline is close :P

Just something i was thinking about... do you have disabled the option to dump texture ? Try to disable it, and enable the hires texture option of course.

ciruZ
September 7th, 2005, 10:31
Hm, thats _REALLY_ strange. I had disabled it before and it didn't work. Now I disabled it again and it works, but I haven't changed anything else? That's strange. Maybe my recompilation to have mupen64_nogui fixed the problem? When I disabled it before, it was the precompiled version.
// Edit: Hm, but it's slow like hell now in the start screen of Zelda 64 (5 fps or so), but in the game it's better. Is that normal?
// Edit 2: And it seems to only work with Zelda at all. I renamed every file for mario into "SUPER MARIO 64#foo.png" and the folder has the correct name ("SUPER MARIO 64"), too, but I still get no hires textures. Only in Zelda.

ciruZ
September 18th, 2005, 20:21
Ok, the bug with Depth Buffer = 32 is _NOT_ due to my gfx card. I got a 6800 GT now and it still crashes if I enable that. Also, hires textures still seem to work only in Zelda, nowhere else. Even after renaming every file and directory in the hires dir to uppercase letters with lowercase extension. Dump textures to files also crashes... The debug version doesn't give any useable information at all :(.
And the most annoying still existing bug: Only 640x480. If you could at least fix the resolution bug and the bug that only Zelda works with hires, it would be really great :)