Resident Curmudgeon
Posts: 79,961
Karma: 147448039
Join Date: Nov 2006
Location: Roslindale, Massachusetts
Device: Kobo Libra 2, Kobo Aura H2O, PRS-650, PRS-T1, nook STR, PW3
|
Quote:
Originally Posted by Raemchoi
Hey there!
Lately I've lost all my reading stats and I'm trying to get them up where they were (manually). I've found a patch from geek1011 which could help out:
Code:
Manipulate reading stats:
- Enabled: yes
- Description: Always add 10 hours to the reading time every time you close a book.
# in EventEngine::endReadingSession(*Volume) when recording end of reading session stats, change QDateTime::secsTo calls to a fixed value
- ReplaceBytes: {Offset: 0x4D53A0, FindBLX: 0x425270, ReplaceH: 4F F6 FF 70} # MOV r0, #65535
- ReplaceBytes: {Offset: 0x4D53C0, FindBLX: 0x425270, ReplaceH: 4F F6 FF 70} # MOV r0, #65535
If I had this patch in a 1h and 0.1h version as well, it would be possible to get the values up to where they were exactly (I'd written down the total reading times per book somewhere else before the reset and Geek kindly explained me how to get the right HEX code for these other variants) but when I try to enable this (original) patch, I get the following error:
Code:
| Patch("Manipulate reading stats") enabled=true
| ResetBaseAddress()
| applying
| looping over instructions
| kobopatch.ReplaceBytes index=3 line=14
| ReplaceBytes(kobopatch.ReplaceBytes{Base:(*kobopatch.FlexAbsOffset)(nil), Offset:5067680, Find:[]uint8(nil), Replace:[]uint8(nil), FindH:(*string)(nil), ReplaceH:(*string)(0x126df260), FindInstBLX:(*kobopatch.FlexAbsOffset)(nil), ReplaceInstBLX:(*kobopatch.FlexAbsOffset)(nil), FindInstBW:(*kobopatch.FlexAbsOffset)(nil), ReplaceInstBW:(*kobopatch.FlexAbsOffset)(nil), ReplaceInstNOP:(*bool)(nil), FindBLX:(*uint32)(0x126931f8), CheckOnly:(*bool)(nil)})
| ReplaceH.Expand("4F F6 FF 70")
| -> Replace = []byte{0x4f, 0xf6, 0xff, 0x70}
| FindBLX(0x425270)
| -> FindInstBLX = FindBLX = 0x425270
| FindInstBLX.Expand(kobopatch.FlexAbsOffset{Offset:(*int32)(0x131942d4), Sym:(*string)(nil), SymPLT:(*string)(nil), SymPLTTail:(*string)(nil), Inline:false, Rel:(*int32)(nil)})
| FindInstBLX.Resolve(kobopatch.FlexAbsOffset{Offset:(*int32)(0x131942d4), Sym:(*string)(nil), SymPLT:(*string)(nil), SymPLTTail:(*string)(nil), Inline:false, Rel:(*int32)(nil)})
| -> Target: 0x425270
| AsmBLX(0x4D53A0, 0x425270)
| -> Find = []byte{0x4f, 0xf7, 0x66, 0xef}
| ReplaceBytes(5067680, []byte{0x4f, 0xf7, 0x66, 0xef}, []byte{0x4f, 0xf6, 0xff, 0x70}) [cur:0x0 + off:5067680 -> abs:0x4D53A0]
| could not apply patch "Manipulate reading stats": line 14: inst 3: ReplaceBytes: could not find specified bytes
--> could not apply patch "Manipulate reading stats": line 14: inst 3: ReplaceBytes: could not find specified bytes
Probably 'cause newer firmware in which the offset bytes has changed? I'm on 4.33.19759. Is there someone willing to update this patch for me? Or help me out if it isn't due firmware version...
 (a lot!)
|
If you use Calibre, what you can do is keep track of where you are on the books you are reading and you can also backup the database for cases like this where you need to reset it. This is done with Calibre and the Kobo Utilities plugin.
|