Page 1 of 1

Blit sample

PostPosted: Feb 16, 2004 @ 4:54am
by eraser
Hi there,
I'm developing PocketPC2003 Platform. I find recently that some games don't work in my machine.
For example, Blit sample in PocketFrog 0.6.0 have problem in my machine. The sample starts very well. Items in the screen tremble very quickly same as other machine, but the program exits when I drag some item. So, I look up the source.

The error point is memcpy in Blit16Fast function.
---
memcpy( pGAPIBuffer->GetPixels(), pBackBuffer->GetPixels(),
pBackBuffer->GetHeight() * pBackBuffer->GetPitch() );
---
I don't know why? My machine use a fixed framebuffer. It means that it don't use multiple buffers.

when I replace some code in BlitSample::SytleMove, the crash dosn't come up.

== Replaced codes

// Rect limit( 0, 0, GetDisplay()->GetWidth() - image->GetWidth(), GetDisplay()->GetHeight() - image->GetHeight() );
Rect limit( 0, 0, 320 - image->GetWidth(), 240 - image->GetHeight() );

==
I checks returned values.
GetDisplay()->GetWidth() value : 320
GetDisplay()->GetHeight() value : 240

-------------------
If you have ideas, let me know..

PostPosted: Feb 16, 2004 @ 2:56pm
by Conan
:?: what 'machine' are you describing ? You don't say & I guess a reply will really need to know the device

PostPosted: Feb 17, 2004 @ 2:28am
by eraser
Thank you for reply.
My machine is not produced at the market yet. That use a PXA255 CPU(X-Scale) on PocketPC 2003.

PostPosted: Feb 17, 2004 @ 7:51am
by Kzinti
A simple usage of the mrc instruction crashes Eraser's device. For more details, see: http://www.droneship.com/forums/viewtopic.php?t=29.

Anyone has an idea why this would happen? "mrc p15, 0, r0, c0, c0, 0" is used by PocketHAL to detect what processor is being used. In this case it is an XScale PXA255. It works on existing devices, but not Eraser's, for some unknown reason.