Emuforums.com

Go Back   Emuforums.com > Handheld Emulation > DeSmuME Discussion
About Us Register FAQ Members List Calendar Mark Forums Read

Login to remove all ads!
Reply
 
LinkBack Thread Tools Display Modes
Old February 11th, 2008   #41 (permalink)
Emu author
 
shashClp's Avatar
 
Join Date: Sep 2006
Location: VisualC
Posts: 686
Quote:
Originally Posted by NHervé View Post
PS2 : shash : When I commented the code of the 2d core, the music of the menu of New Super Mario Bros was running faster, and the FPS was around 20-30.
Well, I don't consider that a good profiling system. On my debugging sessions the 2D core wasn't the most relevant bottleneck, the opcode prefetching, decoding and interrupt handling was. Of course, that was long ago with the 2D core, after I committed the "new" blitter system. On my own version, I've never seen the 2D core to get more than the 10% of the execution time, wether the memory and cpu emulation are most of the time up to 40%, thus I spent more time fixing that. For example, on Castlevania I get 2x the official version framerate. With other games I always get comparable or better speed than other emulators whenever 3D is shown. I'll do a more thorough post about the optimizable targets and a comparison with current released emulators whenever I've time, I'll keep you informed. The important point is that I never needed to touch the 2D core, but any optimization is welcome, even if it isn't the main target to optimize, imho.

Anyway, whenever you release it I'll profile it properly and compare with the official 2D core to see the perfomance differences, and commit it to the official CVS. You'll understand that I need to review changes to the official CVS even if they come from a reputed coder, I don't want to offend you
__________________
Emulator development blog

Last edited by shashClp; February 11th, 2008 at 20:54.
shashClp is offline   Reply With Quote
Old February 12th, 2008   #42 (permalink)
PCSX2 Coder
 
refraction's Avatar
 
Join Date: Jan 2004
Location: Plymouth, UK
Posts: 9,744
I have to agree with the profiling comments. What youve described about commenting ou tthe 2d core and the music ran faster, this is bound to happen. Everything thats being used takes processing power, so cutting that processing power out will free it up for other parts to use, but it doesnt mean that code is slow, it just means its working

its like in a game on the pc, saying AA is slow cos you put it on AAx4 and your frame rate reduces, but you turn it off and it goes loads faster, its nothing to do with AA performance, its more than likely that performance is at a peak with the AA, its the fact its not being used when you turn it off.

IF it does make a difference over the official 2d core it would be good to see it run. im all for the "every little helps" frame of mind, much like saving up pennies for a rainy day :P
__________________

http://www.generalemu.net/
Intel Core 2 Quad Q6600 @ 3.4Ghz (425x8), eVGA 8800GTX 768mb, 996Gb HDs, 2Gb Corsair DDR2-800 @ DDR2-1020 5-5-5-18 Dual Channel, 14605 3dMark 06 Points
CPU-Z Link
3dMark06 Score Link
Dont PM me for help, use the forums, thats what its for!



refraction is offline   Reply With Quote
Old February 12th, 2008   #43 (permalink)
Eric Cartmenez
 
dreampeppers99's Avatar
 
Join Date: Jul 2006
Location: Brazil
Posts: 359
Quote:
I'll do a more thorough post about the optimizable targets and a comparison with current released emulators whenever I've time, I'll keep you informed.
Great
Quote:
and commit it to the official CVS.
Good, movement on DeSmume project.
dreampeppers99 is online now   Reply With Quote
Old February 12th, 2008   #44 (permalink)
Plugin author
 
NHervé's Avatar
 
Join Date: Jul 2007
Location: Nulle part
Posts: 413
Okay.
I've now implemented horizontal&vertical scrolling.
__________________
Pcsx2 is great emulator and Megapad is great pad plugin !!!
NHervé is offline   Reply With Quote
Old February 12th, 2008   #45 (permalink)
Eric Cartmenez
 
dreampeppers99's Avatar
 
Join Date: Jul 2006
Location: Brazil
Posts: 359
NHervé good news!!!
Keep the great work.
dreampeppers99 is online now   Reply With Quote
Old February 14th, 2008   #46 (permalink)
Plugin author
 
NHervé's Avatar
 
Join Date: Jul 2007
Location: Nulle part
Posts: 413
shash : I would like to know how did you implement the gxfifo irq, and where I can download the latest source code.

thanks in advance.
__________________
Pcsx2 is great emulator and Megapad is great pad plugin !!!
NHervé is offline   Reply With Quote
Old February 14th, 2008   #47 (permalink)
Registered User
 
Join Date: Dec 2007
Location: Germany
Posts: 17
Could someone help to start the mod...
It says "SDL.dll nor found"...
I'm using WIN XP PRo (32-Bit)

How can I start that thing^^
THX in advance


Edit/ OK fixed
SKJmin is offline   Reply With Quote
Old February 15th, 2008   #48 (permalink)
Emu author
 
shashClp's Avatar
 
Join Date: Sep 2006
Location: VisualC
Posts: 686
Quote:
Originally Posted by NHervé View Post
shash : I would like to know how did you implement the gxfifo irq, and where I can download the latest source code.

thanks in advance.
Latest source code is in the official CVS. The gfxfifo is documented here. The 3D core works with a normal FIFO which can trigger interrupts depending on the mode (bits 30-31 of the GXSTAT). There's no secret on it.
__________________
Emulator development blog
shashClp is offline   Reply With Quote
Old February 16th, 2008   #49 (permalink)
Plugin author
 
NHervé's Avatar
 
Join Date: Jul 2007
Location: Nulle part
Posts: 413
It seems DesMuMe has a wrong bios. In effect, in New Super Mario Bros, the mini-games don't work. When you select them, the game calls funcs in bios. I've constated that the values shown by the disassembler are diferent from the values shown by NeonDS. And the mini-games work with NeonDS. So I think DesMuMe has a wrong bios.
__________________
Pcsx2 is great emulator and Megapad is great pad plugin !!!
NHervé is offline   Reply With Quote
Old February 16th, 2008   #50 (permalink)
Emu author
 
shashClp's Avatar
 
Join Date: Sep 2006
Location: VisualC
Posts: 686
Quote:
Originally Posted by NHervé View Post
It seems DesMuMe has a wrong bios. In effect, in New Super Mario Bros, the mini-games don't work. When you select them, the game calls funcs in bios. I've constated that the values shown by the disassembler are diferent from the values shown by NeonDS. And the mini-games work with NeonDS. So I think DesMuMe has a wrong bios.
Yep, I've been wanting to make a proper BIOS dump loader so I could see the differences between the real bios and the HLEd one, but I never got to make it (lately I've only worked on speed related fixes, not many "new" things done). I'll check whenever I can and tell you the results, if you want to
__________________
Emulator development blog
shashClp is offline   Reply With Quote
Old February 17th, 2008   #51 (permalink)
Plugin author
 
NHervé's Avatar
 
Join Date: Jul 2007
Location: Nulle part
Posts: 413
yes. Are the mini-games working with your DesMuMe ? I've seen you can play New Super Mario Bros with it. If you can play the mini-games, how did you get them to work ?
If not, this HLEd bios could be the problem.

PS : I'm currently working on implementing RTC.
__________________
Pcsx2 is great emulator and Megapad is great pad plugin !!!
NHervé is offline   Reply With Quote
Old February 17th, 2008   #52 (permalink)
Emu author
 
shashClp's Avatar
 
Join Date: Sep 2006
Location: VisualC
Posts: 686
Quote:
Originally Posted by NHervé View Post
yes. Are the mini-games working with your DesMuMe ?
I've seen you can play New Super Mario Bros with it. If you can play the mini-games, how did you get them to work ?
If not, this HLEd bios could be the problem.
Just checked, they don't work. I'll debug later, and see what's the problem.
__________________
Emulator development blog
shashClp is offline   Reply With Quote
Old February 17th, 2008   #53 (permalink)
Plugin author
 
NHervé's Avatar
 
Join Date: Jul 2007
Location: Nulle part
Posts: 413
Okay. I'm sure the problem is this **** of HLEd bios. NeonDS has a proper bios and it is able to run the mini-games. I'm trying to rewrite bios irq handler according Nocash specs.
__________________
Pcsx2 is great emulator and Megapad is great pad plugin !!!
NHervé is offline   Reply With Quote
Old February 17th, 2008   #54 (permalink)
Emu author
 
shashClp's Avatar
 
Join Date: Sep 2006
Location: VisualC
Posts: 686
Just looked a bit at the issue, it seems it's related to a DMA failing or not copying data. Afaik, it has nothing to do with the bios, as it's jumping where it should :P

EDIT: It CAN'T be a DMA, because the uninitialized area it the ARM9 ITCM. For some unknown reason, whatever should be copied there, isn't, so it's failing
__________________
Emulator development blog

Last edited by shashClp; February 17th, 2008 at 20:25.
shashClp is offline   Reply With Quote
Old February 17th, 2008   #55 (permalink)
Plugin author
 
NHervé's Avatar
 
Join Date: Jul 2007
Location: Nulle part
Posts: 413
ah okay. So DMAs are buggy.
__________________
Pcsx2 is great emulator and Megapad is great pad plugin !!!
NHervé is offline   Reply With Quote
Old February 17th, 2008   #56 (permalink)
Emu author
 
shashClp's Avatar
 
Join Date: Sep 2006
Location: VisualC
Posts: 686
Quote:
Originally Posted by NHervé View Post
ah okay. So DMAs are buggy.
No, read my edit, due to the uninitialized area being the ITCM, it CAN'T be a DMA, as the DMA can't access ITCM (atleast that's what I read in the gbadev forums). Here's a reference, I'll test it ASAP. Else, just search gbadev forums for the ITCM for more info :P

EDIT: I would bet that's it's something with the ITCM not being initialized correctly, atleast that's what's differing with Ideas and NeonDS. Well have to figure it out (preferred one), or ask to the NeonDS author to add an Step/Breakpoint functionality (lazy option) :P
__________________
Emulator development blog

Last edited by shashClp; February 18th, 2008 at 07:21.
shashClp is offline   Reply With Quote
Old February 18th, 2008   #57 (permalink)
Plugin author
 
NHervé's Avatar
 
Join Date: Jul 2007
Location: Nulle part
Posts: 413
Ah okay, I'll see why ARM9 ITCM is not properly copied. I've provided a snapshot, you are right, I've loaded the game and updated the disassemblers, the ARM7 one shows opcodes, whereas the ARM9 one shows lines of "0x00000000 andeq r0, r0, r0" and nothing other, so ITCM is not initialized.
Attached Images
File Type: jpg desumme_wrong_itcm.JPG (154.5 KB, 16 views)
__________________
Pcsx2 is great emulator and Megapad is great pad plugin !!!
NHervé is offline   Reply With Quote
Old February 18th, 2008   #58 (permalink)
Plugin author
 
NHervé's Avatar
 
Join Date: Jul 2007
Location: Nulle part
Posts: 413
I've noticed it's the game which writes ITCM, and the problem is DesMuMe thinks the game is writing in DTCM. Thanks to NeonDS.
__________________
Pcsx2 is great emulator and Megapad is great pad plugin !!!
NHervé is offline   Reply With Quote
Old February 18th, 2008   #59 (permalink)
Emu author
 
shashClp's Avatar
 
Join Date: Sep 2006
Location: VisualC
Posts: 686
Oh, hell, I'll test my version today adding a proper patch for that, I'll tell you the results. By the way, I'll update the CVS this night with some interesting fixes on the CPU, which I guess you'll already have.

Thanks for the information
__________________
Emulator development blog
shashClp is offline   Reply With Quote
Old February 18th, 2008   #60 (permalink)
Eric Cartmenez
 
dreampeppers99's Avatar
 
Join Date: Jul 2006
Location: Brazil
Posts: 359
Talking

Some move on DesMuMe project....
Quote:
Originally Posted by shashClp View Post
I'll update the CVS this night with some interesting fixes on the CPU
Seeing the CVS browser:
10 days shashclp - Fix for homebrews that never setup the screens. It's how it's meant to be on D...

dreampeppers99 is online now   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On