This site is no longer active and is available for archival purposes only. Registration and login is disabled.

flipHack of Pocket PC


flipHack of Pocket PC

Postby cwpun » Aug 30, 2002 @ 1:42pm

cwpun
pm Member
 
Posts: 4
Joined: Aug 30, 2002 @ 1:18pm


Postby refractor » Aug 30, 2002 @ 2:37pm

I would guess that you're going to be in pretty much the same boat as I am. This will be StrongARM specific here... The way I'd invert the screen would be like this:

make a new physical RAM buffer
copy the current screen into it, but inverted
point the LCD DMA base register DBAR1 at the address of your physical buffer

it'll slow things down with an extra buffer copy in there, but it'd work.

(AFAICR there'd be no way of modifying the direction that the DMA buffer is thrown at the LCD from the original buffer, but I might be wrong).


Note that there are lots of technical pit-falls in there. It sounds easy, but it isn't. (My frame-buffer setup doesn't actually work yet, but I'm working on it and I'm getting ever-closer). As Compaq have been not-at-all-helpful I've been doing "hacky" things to try and figure out what their interrupt handler is doing (or the virtual identifier for the LCD interrupt).

Cheers,

Ref.
User avatar
refractor
pm Insider
 
Posts: 2304
Joined: Feb 5, 2002 @ 1:12pm
Location: Luxembourg


Postby Dan East » Aug 30, 2002 @ 4:46pm

It certainly can be done, as has been proven by JS Landscape. Unfortunately Jimmy Software usually isn't too forthright in revealing their techniques or source code. :(

Dan East
User avatar
Dan East
Site Admin
 
Posts: 5264
Joined: Jan 25, 2001 @ 5:19pm
Location: Virginia, USA


Postby Guest » Aug 30, 2002 @ 6:44pm

Guest
 


Postby refractor » Sep 1, 2002 @ 11:53am

As far as I know (I may be wrong), the JS Landscape, etc, work by tweaking the StrongARM's hardware registers... as the 3950 is an XScale device (I think?), I wouldn't expect it to work at all.

I'm still working on the interrupt thing myself, but at the moment I'm still forced to do hacky things like dumping memory and disassembling it to track down what I want to know. Kinda fun :twisted: ... but slow-going. :?
User avatar
refractor
pm Insider
 
Posts: 2304
Joined: Feb 5, 2002 @ 1:12pm
Location: Luxembourg


Postby refractor » Sep 2, 2002 @ 8:35am

It wasn't as hard as I anticipated. For a one-off flip-and-hold it's reasonably simple. If you want something that allows the user standing opposite you to input, then that's going to need a little more work.. you'd have to somehow trap the input before the OS, and munge the coordinates (we're probably back to interrupt handling).

I hacked together a "flip-hack" using the method I mentioned in my previous post (actually I did everything but the screen-flip, 'cos I was feeling lazy), and it works fine (I didn't touch a single driver, either 8) ...but it'll also only work on a StrongARM and has no input).

It could also be done really easily with GAPI. Just invert and copy the screen as your application starts, then blit it at the screen until they let go of the button or whatever.

Cheers,

Ref.
User avatar
refractor
pm Insider
 
Posts: 2304
Joined: Feb 5, 2002 @ 1:12pm
Location: Luxembourg


Postby Dan East » Sep 2, 2002 @ 4:03pm

Refractor, it sounded like he already had the input issue taken care of.

Dan East
User avatar
Dan East
Site Admin
 
Posts: 5264
Joined: Jan 25, 2001 @ 5:19pm
Location: Virginia, USA


Postby refractor » Sep 2, 2002 @ 5:30pm

Oh yeah. :oops: I really shouldn't scan-read things so much. :? Sorry.
User avatar
refractor
pm Insider
 
Posts: 2304
Joined: Feb 5, 2002 @ 1:12pm
Location: Luxembourg


Return to Windows Mobile


Sort


Forum Description

A discussion forum for mobile device developers on the Windows Mobile platform. Any platform specific topics are welcome.

Moderators:

Dan East, sponge, Digby, David Horn, Kevin Gelso, RICoder

Forum permissions

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum