Squidge's Mmu Hack: Discovery Of The Month :)

grahf

MK1 first edition #299, still going strong.
Joined
Oct 19, 2005
Messages
863
Age
38
Location
From US, currently in Tokyo, Japan
Website
Visit site
Thanks squidge. I donated you a few bucks, sorry it wasnt more.
And also thanks to the rest of you guys who make the 2x such a great system.

I know a lot of people hesitate to donate money. We all have priorities, and need the cash for some reason or another. But if your broke, just send a few dollars if its all you have. Every little bit helps.
 

Crazy Goat

Member
Joined
Feb 10, 2006
Messages
199
I need to wait a few more weeks until anything magically appears in my paypal... I thank you for your work on the 2X, this was quite a good discovery...


<3
 

FFNoir

I
Joined
Nov 25, 2005
Messages
341
Website
Visit site
Break out the booze everyone! This MMU hack has made Chrono Trigger playable. Kudos to Squidge for his hack and everyone who implemented it into the respecitve emulators.
 

moz

load *,8,1
Joined
Jun 10, 2003
Messages
2,804
Website
Visit site
it just occured to me that this this really is big news as not just emulators will benefit from this right?
 

Dzz

stmia r0!, {r2-r9}
Joined
Jan 30, 2006
Messages
1,098
Website
Visit site
it just occured to me that this this really is big news as not just emulators will benefit from this right?
Any application that uses the frame buffers or other "high" memory as "working space" could benefit from this idea. Not all applications do that, but a fair number of apps using the hardware accelerated SDL probably do.

The extra complication is that if you write to the high memory that write will not immediately be available to the MMSP2 (frame buffer, blitter, etc) until the data gets flushed out of the cache. I am not sure how the users of this technique are currently dealing with the issue but it needs to be taken into account for correct operation. The likely symptoms would be missing, flashing, or incomplete graphics showing up on the screen. In some apps the normal memory access patterns are such that the cache will naturally get flushed quickly enough so that it isn't an issue.
 
Last edited by a moderator:

Franxis

MAME 4 ALL
Joined
Aug 22, 2004
Messages
788
Age
44
Location
Spain
Website
franxis.zxq.net
it just occured to me that this this really is big news as not just emulators will benefit from this right?
Any application that uses the frame buffers or other "high" memory as "working space" could benefit from this idea. Not all applications do that, but a fair number of apps using the hardware accelerated SDL probably do.

The extra complication is that if you write to the high memory that write will not immediately be available to the MMSP2 (frame buffer, blitter, etc) until the data gets flushed out of the cache. I am not sure how the users of this technique are currently dealing with the issue but it needs to be taken into account for correct operation. The likely symptoms would be missing, flashing, or incomplete graphics showing up on the screen. In some apps the normal memory access patterns are such that the cache will naturally get flushed quickly enough so that it isn't an issue.
I have such symptoms in the MAME game selection menu (game names, option names, etc). The text does not appear completely, it takes 1-2 seconds to appear completelly. I don't know how to 'flush' the cache manually. Anybody knows?

Regards.
 
Last edited by a moderator:

ingrin

Member
Joined
Dec 8, 2005
Messages
316
it just occured to me that this this really is big news as not just emulators will benefit from this right?
Any application that uses the frame buffers or other "high" memory as "working space" could benefit from this idea. Not all applications do that, but a fair number of apps using the hardware accelerated SDL probably do.

The extra complication is that if you write to the high memory that write will not immediately be available to the MMSP2 (frame buffer, blitter, etc) until the data gets flushed out of the cache. I am not sure how the users of this technique are currently dealing with the issue but it needs to be taken into account for correct operation. The likely symptoms would be missing, flashing, or incomplete graphics showing up on the screen. In some apps the normal memory access patterns are such that the cache will naturally get flushed quickly enough so that it isn't an issue.
Reading through the DRMD thread, I don't think they are (Reports of flashing and character animation issues).
Still, this is really a huge discovery, and once all the bugs are worked out I will joyfully add to my SD card. No big rush for me, I am completely happy with the performace of my old versions, anything else is icing on the cake ;)
 
Last edited by a moderator:

nubie

Recovering Jerk-A-Holic
Joined
Oct 19, 2005
Messages
2,749
Location
USA California
Website
Visit site
Any application that uses the frame buffers or other "high" memory as "working space" could benefit from this idea. Not all applications do that, but a fair number of apps using the hardware accelerated SDL probably do.

The extra complication is that if you write to the high memory that write will not immediately be available to the MMSP2 (frame buffer, blitter, etc) until the data gets flushed out of the cache. I am not sure how the users of this technique are currently dealing with the issue but it needs to be taken into account for correct operation. The likely symptoms would be missing, flashing, or incomplete graphics showing up on the screen. In some apps the normal memory access patterns are such that the cache will naturally get flushed quickly enough so that it isn't an issue.
Hmm, that is why DrMD beta5 is doing the bars and the flickering sprites, I suppose once Reesy gets the video code fully converted over to the GP2X we should be good. Amazing it is so good without being optimized huh?

Oh, yeah, will Vektar and Payback be benefitting from this?
 
Last edited by a moderator:

Squidge

Certified Guru
Joined
Nov 16, 2003
Messages
8,495
Location
UK
Website
Visit site
:) :ph34r:

Now I know this makes some really nice improvements, I'll be updating it with more functionality, which will include things like cache flush & drain functionality and other stuff.
 

DaveC

Internal Development
Joined
Mar 4, 2004
Messages
9,208
it just occured to me that this this really is big news as not just emulators will benefit from this right?
Any application that uses the frame buffers or other "high" memory as "working space" could benefit from this idea. Not all applications do that, but a fair number of apps using the hardware accelerated SDL probably do.

The extra complication is that if you write to the high memory that write will not immediately be available to the MMSP2 (frame buffer, blitter, etc) until the data gets flushed out of the cache. I am not sure how the users of this technique are currently dealing with the issue but it needs to be taken into account for correct operation. The likely symptoms would be missing, flashing, or incomplete graphics showing up on the screen. In some apps the normal memory access patterns are such that the cache will naturally get flushed quickly enough so that it isn't an issue.

I don't notice any of these problems in GnGeo. The only thing I notice is the blazing speed. His app must be one of the ones with the naturally flushing cache or something.
 
Last edited by a moderator:

Radek

Certified Guru
Joined
Oct 13, 2005
Messages
871
:) :ph34r:

Now I know this makes some really nice improvements, I'll be updating it with more functionality, which will include things like cache flush & drain functionality and other stuff.
Could it be used for memory filling?

And what about cache locking?
(being able to force constant caching of a memory area)
 
Last edited by a moderator:

pepone

Pouet! Pouet! Do want!
Joined
Oct 14, 2005
Messages
504
Website
m.peponas.free.fr
it just occured to me that this this really is big news as not just emulators will benefit from this right?
The extra complication is that if you write to the high memory that write will not immediately be available to the MMSP2 (frame buffer, blitter, etc) until the data gets flushed out of the cache. I am not sure how the users of this technique are currently dealing with the issue but it needs to be taken into account for correct operation. The likely symptoms would be missing, flashing, or incomplete graphics showing up on the screen. In some apps the normal memory access patterns are such that the cache will naturally get flushed quickly enough so that it isn't an issue.

I don't notice any of these problems in GnGeo. The only thing I notice is the blazing speed. His app must be one of the ones with the naturally flushing cache or something.
Maybe because of the HW accelerated SDL? DrMd use the minimal lib, no?
I guess Paeryn has make a good work to prevent this problem.
 
Last edited by a moderator:

Gadget

Member
Joined
May 16, 2006
Messages
247
I reckon this is THE single biggest breakthrough we will see in the life of the GP2X ;)
 
Top