nueGxDMA

by no2chem 2. June 2009 01:41

I know I’ve been taking a bit of a break from PPC development – I have exams and other end-of-the-academic-year related stuff to take care of for the next two weeks, so expect a slowdown until I have all that taken care of. I did manage to start on a new project that encompasses rewriting several drivers, I started simple, rewriting the GxDMA.dll driver which is essentially a wrapper to some functions in DDI.dll. The dll has 3 exports, DmaDRAMtoVRAM, DmaVRAMtoDRAM and IsDMAReady. These are all found in the GxDMA class, located in the PrimGPE class – you can get an instance of the object by calling GetPrimaryGPE() in DDI. The class looks something like this:

class GxDMA
{
public:
		GxDMA();
		virtual DWORD DmaDRAMtoVRAM(DWORD dwLeft, DWORD dwTop, DWORD dwWidth, DWORD dwHeight);
		virtual DWORD DmaVRAMtoDRAM(DWORD dwLeft, DWORD dwTop, DWORD dwWidth, DWORD dwHeight);
		virtual BOOL IsDMAReady(DWORD dwSrcAddr);
};




I made some small optimizations, taking out a useless sanity check and returning true immediately for IsDMAReady (it seems that GxDMA::IsDMAReady() also just returns true). Source code to be available when I understand more of this stuff.

Download: nueDriverProject

Tags:

Comments


May 25. 2009 17:46 | Reply
Cobaltikus
Awesome! Does this mean you will eventually be rewriting HTCAPI.dll? And that I'll be able to download your project files and see how everything works?

May 25. 2009 18:14 | Reply
no2chem
I guess we could do that after MMMap, which was next on the list... HTCAPI.dll, afaik is just a simple wrapper to microp.dll though.

May 25. 2009 18:24 | Reply
Cobaltikus
Hmm.. so does that mean you will be rewriting microp.dll?




People's Republic of China Siman 
May 27. 2009 04:06 | Reply
Siman
Thanks for your amazing work!I have a question:can I put GXDMA.DLL in the oem folder instead of puting it in XIP?if the answer is yes,is it affect GXDMA's implement?


May 27. 2009 12:09 | Reply
Amart
Hey, go take that break and ace those exams!
We will be right here waiting for you...  Thanks for everything!


France spocky 
May 28. 2009 02:13 | Reply
spocky
Great idea !
Do you know whether it's possible to make it work on msm7xxx (not A) (ie:7200 in lg Ks20 or Kaiser) ? For info, in one official lg rom, one year ago, they put a gxdma driver, but then, every gapi access caused black flickering above some parts of the screen. So this was not usable (I guess it's why they removed it in next releases) but still, spb benchmark gave much better results on gapi test & arkaball (3 times better)


United States thacounty 
May 28. 2009 18:41 | Reply
thacounty
Good luck with finals. Does this mean that we can expect some drivers written for the TP FM radio soon? Thanks bro!


Taiwan straydog 
June 9. 2009 13:42 | Reply
straydog
hihi

i am interested in your driver
can i use it in my x1??



October 27. 2009 09:43 | Reply
tiffany jewelry
good


August 24. 2010 17:48 | Reply
north face denali
Wonderful site, where did you come up with the information in this article? I'm happy I found it though, ill be checking back soon to see what other articles you have.

Add comment


(Will show your Gravatar icon)
Type If you can out:

  Country flag

biuquote
  • Comment
  • Preview
Loading



Disclaimer
Windows Mobile is a registered trademark of Microsoft Corporation in the United States and other countries.

Wei Enterprises is not affiliated in any way with Microsoft, HTC, Sprint, or any other wireless carrier/phone manufacturer otherwise mentioned on this site.

Copyright 2010 2009 Wei Enterprises