View Single Post
Old 11-01-2010, 04:19 PM   #1432
Mark Nord
2B || !2B
Mark Nord ought to be getting tired of karma fortunes by now.Mark Nord ought to be getting tired of karma fortunes by now.Mark Nord ought to be getting tired of karma fortunes by now.Mark Nord ought to be getting tired of karma fortunes by now.Mark Nord ought to be getting tired of karma fortunes by now.Mark Nord ought to be getting tired of karma fortunes by now.Mark Nord ought to be getting tired of karma fortunes by now.Mark Nord ought to be getting tired of karma fortunes by now.Mark Nord ought to be getting tired of karma fortunes by now.Mark Nord ought to be getting tired of karma fortunes by now.Mark Nord ought to be getting tired of karma fortunes by now.
 
Posts: 854
Karma: 327896
Join Date: Feb 2010
Location: Austria
Device: Sony PRS505/650/T1/tolino vision 5
Standby Picture for 505/300/600 anybody?

I just implemented a very basic Standby Picture for my PRS505

Suspend via the power-switch is handled in ebook.so which needs to be patched here:
Code:
patched ebook.so PRS505 1.4.00.23260
.text:0000B988 ; =============== S U B R O U T I N E ==========================
.text:0000B988                 EXPORT PowerStandby
.text:0000B988 PowerStandby                            ; CODE XREF: SubcpuThreadProcessCommand+228
.text:0000B988

.text:0000BA58 loc_BA58                                ; CODE XREF: PowerStandby+98
.text:0000BA58                 BL      _sync
.text:0000BA5C                 LDR     R3, =0x41C
.text:0000BA60                 LDR     R0, [R10,R3]    ; char *
.text:0000BA64                 BL      _system
.text:0000BA68                 BL      ebookEinkThreadSuspend
.text:0000BA6C             BL      ebookEinkErase  ; NOP this new code: 00 00 A0 E1
.text:0000BA70                 LDR     R0, [R4]
.text:0000BA74                 MOV     R1, #1
.text:0000BA78                 BL      sub_B39C
.text:0000BA7C                 LDRB    R3, [R4,#0xAD]
.text:0000BA80                 CMP     R3, #0
.text:0000BA84                 BNE     loc_BCD0
So the screen isn't any longer erased during suspend.

Then I added this to main.xml to show up the StandbyPicture;
Code:
		<texture href="/Data/kBookStandbyPic.png">
			<cutout id="defaultStandbyPic-a" x="0" y="0" width="600" height="800"/>
		</texture>	
		<skin id="defaultStandbyPic" 
				cutouts="defaultStandbyPic-a"/>	

		<function id="doResume">
			this.STANDBY_IMAGE.show(false);
			this.STANDBY_IMAGE.enable(false);
			this.STATUS_GROUP.show(true);
			this.getDevice().doneResume();
			this.getModel().resume();
			if (this.modal) {
				...
			}
		</function>
		<function id="doSuspend">
			this.STATUS_GROUP.show(false);
			this.STANDBY_IMAGE.show(true);
			this.STANDBY_IMAGE.enable(true);
			this.getModel().suspend();
			this.getDevice().doneSuspend();
		</function>

	<group id="STANDBY_IMAGE" left="0" right="0" top="0" bottom="0" active="false" visible="false">
		<background skin="defaultStandbyPic" left="0" right="0" top="0" bottom="0"/>
		<!--standbyImage left="0" right="0" top="0" bottom="0"/-->
	</group>
I'm sure the picture selection and integration could be done much more elegant, but take this as proof of concept.

I finished on this just one hour ago, so I can't tell about possible side-effects, or a fading of the picture.

Obviously I can't show a screenshoot, too

Last edited by Mark Nord; 11-02-2010 at 02:59 AM.
Mark Nord is offline   Reply With Quote