|
|
|
ˇ
Read me first
NookTouchTools for NSTG is now superseded by Nook Touch Mod Manager, which achieves all the functionality of NTT excluding customising the side bezel button actions. If you prefer NTT's interface and can live without the features listed in the TO DO section below, please read on...
About
This thread documents the attempt to bring XorZone's NookTouchTools mod to the Nook Simple Touch with Glowlight (hereafter 'Glowworm'). Great strides have recently been made by LastSilmaril (big props!) and we've now reached the point where an 'official' release is justified.
The aim of NookTouchTools is to allow customisation of the purpose of all the buttons of the Nook, both hardware and on-screen, excluding the power button on the reverse of the device.
In our Glowworm version there remain some elements not yet working as compared to NookTouchTools installed on a standard Nook Simple Touch:
- QuickNav bar icons are not yet customisable
- the QuickNav bar GlowLight icon is not yet remappable
- a long press of the 'n' button will both toggle the glowlight and activate whatever action NookTouchTools has assigned to long press
Please note that our version numbering does not match that of the original NookTouchTools thread, since our jars are being developed in isolation from that work. he upshot is that the version number shown within the Nook Touch Tools app once installed will not match the version of the jar files we release here. This is entirely normal and correct.
Disclaimer
As with all community-based mods, we do not take responsibility for any Bad Stuff™ arising out of the use of these files. You use them entirely at your own risk and a prior complete backup is heartily encouraged.
What's New
Jars 1.1.5 beta0 - no changes from alpha10, however the code's quality now justifies a move to beta release. File attached at the bottom of this post.
How to Install
Follow the instructions in this post, which includes links to all the files you'll need.
To Do
- Assigning icons to remapped B&N QuickNav buttons
- Implementing remap of the B&N QuickNav Glowlight button
- Separating the Glowworm's long click to switch on the light from NookTouchTool's default long press which shows the Recent Apps menu.
Version History
beta0 - identical to alpha10 but we decided the quality now justifies a beta release.
alpha10 - fixed the flaw in the Shop quicknav button launch code that prevented launch until the Shop was assigned using Launch Application in NTT.
alpha5 - first release supporting remapping of the Quicknav bar buttons (excluding 'GlowLight').
alpha3 - first 'official' release, supporting remapping of side buttons and Reading Now button only.
Thanks
XorZone for his original work
LastSilmaril for breathing life into this stalled project and putting in most of the coding effort towards piecing together jars worth releasing
roustabout, GabrialDestruir and RenateNST for input, guidance and advice
Original Post
Hi all,
So despite Gabrial's warnings I went ahead and installed NookTouchTools on my Glowworm that I'd rooted with GlowNooter.
As I half expected, I ended up with a device that wouldn't boot (the now-familiar backlight-coming-on part way through the boot sequence followed by reboot).
On this basis, I'm now going to decompile the two framework jars that are supplied with NookTouchTools and compare the contents against those from the Glowworm (OS 1.1.5) to see if I can work out what tweaks to make to them to get it all to work. If anyone has any advice I'm all ears! For example, are the Android SDK tools enough for what I want to do or do I need (some version of) the Avabox tools?
yan
P.S. I'd post this in the developer forum but, as an XDA newbie, I'm not allowed
Use apktool.
Ah-hah! The very thing...
Thanks Renate!
Bad news folks - I don't think I'm going to be able to achieve this goal. Here's why.
apktool allowed me to open up the framework jars that are modified for NookTouchTools (hereafter NTT) and their Glowworm equivalents. I've identified the following classes that contain NTT-specific changes:
services.jar
com/android/server/status/BNGossamerQuickNavbar
android.policy.jar
com/android/internal/policy/impl/PhoneWindowManager
com/android/internal/policy/impl/RecentApplicationsDialog$1
Unfortunately in all three cases, quite aside from the NTT mods, the classes have changed quite radically between the two releases. This makes it extremely difficult to identify where the NTT additions would need to go in the 1.1.5 jars; only someone who is already familiar with this code is likely to be successful. I guess we all need to talk to XorZone very nicely...
Sorry I don't have better news,
yan
Well, It might be my changes are big that you are comparing it with.
Get the original 1.1 jar and compare once again please.
I don't have source with me atm in business trip. But will be back by weekend.
AFAIR, BNGossamerQuickNavbar I reimplemented a lot of stuff to get configurable buttons working.
RecentApplicationsDialog sure will be different due to the additional things in it.
PhoneWindowManager have number differences as well between NTT version and original 1.1
P.S.: Anyone in the bay area to give me new nook for a weekend so that I can fix NTT for it?
Thanks for the input Xor!
XorZone said:
Well, It might be my changes are big that you are comparing it with.
Get the original 1.1 jar and compare once again please.
Click to expand...
Click to collapse
Not quite understanding you here - I could compare the 1.1 NTT jars against the 1.1 jars to isolate exactly what your mods are, but the 1.1.5 (rooted) jars have significant additions/changes too. I guess what I need to do is compare the stock 1.1.5 jars against the rooted ones to isolate what changes GlowNooter makes.
Anyone have a library of stock framework jars to save me having to factory restore?
XorZone said:
AFAIR, BNGossamerQuickNavbar I reimplemented a lot of stuff to get configurable buttons working.
Ah I see - so the changes consist of more than just the calls to XorUtils?
RecentApplicationsDialog sure will be different due to the additional things in it.
PhoneWindowManager have number differences as well between NTT version and original 1.1
Click to expand...
Click to collapse
Ah I see - so it's not just your XorUtils inserts that are the changes?
XorZone said:
P.S.: Anyone in the bay area to give me new nook for a weekend so that I can fix NTT for it?
Click to expand...
Click to collapse
Wish I did - I'd happily drop mine off with you. Sadly I'm in Canada..
XorZone said:
Well, It might be my changes are big that you are comparing it with.
Get the original 1.1 jar and compare once again please.
I don't have source with me atm in business trip. But will be back by weekend.
AFAIR, BNGossamerQuickNavbar I reimplemented a lot of stuff to get configurable buttons working.
RecentApplicationsDialog sure will be different due to the additional things in it.
PhoneWindowManager have number differences as well between NTT version and original 1.1
P.S.: Anyone in the bay area to give me new nook for a weekend so that I can fix NTT for it?
Click to expand...
Click to collapse
If you can throw together some patch files showing the changes you made for nook touch tools I could try running them on the proper files for NTG and give it a try.
A data point that I think Gabrial's aware of but XorZone may not be: a rooted glowworm that's still using the native framework (and thus, no support for Google Play) is able to run the nook touch tools, at least as far as being able to remap the side buttons.
That's actually the key functionality for me (along with booting up...) so I'm glad to have it. Let me go see if I can try breaking some of the other functionality. Ah, already broken - the B&N buttons control is greyed out and has an exclamation mark next to it. Side buttons, reboot, fix permissions and clear dalvik cache all look operable, though.
I'm very interested in getting a look at the framework-res.apk which supports multiple languages, and I may spend some time digging into that today - I did a quick "well, what happens if I install it?" yesterday, and it bootlooped the glowworm - but enabling more of the commands in languages other than English is something I've been disappointed that BN does so poorly for some time.
Of course, getting the Android support is only half the battle since all the commands for the BN apps will remain stuck in english until BN realizes they need to spend the time to translate their UI.
roustabout said:
A data point that I think Gabrial's aware of but XorZone may not be: a rooted glowworm that's still using the native framework (and thus, no support for Google Play) is able to run the nook touch tools, at least as far as being able to remap the side buttons.
Click to expand...
Click to collapse
Interesting, so that'd have been rooted using TinyNooter then?
The main focus now in getting NTT to work on the Glowworm is obtaining the vanilla V1.1 jars (android.policy and services) from an NST. With those in hand I can diff against the ones that are supplied as part of NTT to isolate just the mods that XorZone made, then try applying these to the versions of these jars on my GlowNooter-rooted Glowworm.
So, does anyone have a vanilla NST (or a complete backup thereof) from which they could extract these two files?
Ian
The factory.zip file from a device shipped with 1.1.0 should have the file you need in it.
http://forum.xda-developers.com/showthread.php?t=1475613 is eded's recovery thread, and his file
http://nooter.googlecode.com/files/Alpha-FormatTouch-2.zip appears to be a 1.1.0 installer - the build prop includes
ro.build.version.incremental=1.1.0
and the /system folder has the jars. The process is reported to be a reset-to-stock, not a reset-to-root, so those should be what you're looking for.
Ah, and if you want it from the horse's mouth,
http://nookdevs.com/Nook_Simple_Touch/Rooting
includes a link to
http://su.barnesandnoble.com/nook/n...bLXxZQDufceC19klFV2yGcjw7/nook_1_1_update.zip
which is still live as of now, it looks like (I did not download the whole file.)
Comprehensive! Thanks roustabout
Okay will get diffing and will post back here with results in due course...
Okay, first pass leaves me a little confused (always the way when hacking tho' - I'm sure it'll begin to become clear in time!). Part of the problem is that I've never tried to comprehend smali-format decompiled Java.
The V1.1 vanilla jars have some additions when compared with the NTT "V1.1-based' jars. I didn't expect that, so it also casts into doubt whether all the additions in the NTT versions are XorZone's or whether some are deliberate deletions in the 1.1 update as compared with whatever version Xorzone based his work on. Then of course there's the question of what changes Glownooter made to these two files.
So then, two questions:
Is there anyone looking at this thread who can 'read' smali well who might be prepared to take a look? In case there are, I've attached the two jars from my Glowworm, which was rooted with Glownooter. The V1.1 vanilla jars were attached by Renate earlier on this thread.
Does anyone have the vanilla 1.1.5 versions of these files from a factory Glowworm to hand and could attach them? I could compare these against mine to learn what changes Glownooter makes to them.
One other alternative - does anyone know whether it's possible to mount a backup image (made with dd)? If I could do that I could extract the jars from my vanilla backup made before Glownooting.
Cheers,
Ian
Please look at one of the first of the Glowlight rooting threads.
DeanG posted his factory.zip from a glowworm - which has the files you need in it from the glow OS.
http://forum.xda-developers.com/showthread.php?t=1623616
Thanks again roustabout
Okay so diffing the vanilla 1.1.5 services.jar and android.policy.jar against the Glownooted equivalents shows no differences at all! This is good news in terms of simplicity, but doesn't help me deal with the greater-than-expected differences between the vanilla v1.1 and NTT v1.1 files.
All I can do from here is complete guesswork in terms of modding my 1.1.5 versions in hopes of replicating XorZone's work. If there's anyone who can read smali and give me some pointers I'm all ears
As I mentioned in another thread, I looked at XorZone's changes to the classes, and the tricky part will be the implementation of the remapped quicknav bar.
What XorZone did was implement a way to remap the icons on the quicknav bar and also remap them.
Something that has not been mentioned yet is that the StatusBarService class in services.jar DID NOT change from 1.1.0 to 1.1.5. This is the class that XorZone modified to implement the "reading now" soft-button remap.
(I haven't had the chance this week to dive in further - I've been buried.)
IBNobody said:
As I mentioned in another thread, I looked at XorZone's changes to the classes, and the tricky part will be the implementation of the remapped quicknav bar.
Click to expand...
Click to collapse
Yeah - BNGossamerQuickNavbar is the biggie in all this!
IBNobody said:
What XorZone did was implement a way to remap the icons on the quicknav bar and also remap them to the
Click to expand...
Click to collapse
to the..?
IBNobody said:
Something that has not been mentioned yet is that the StatusBarService class in services.jar DID NOT change from 1.1.0 to 1.1.5. This is the class that XorZone modified to implement the "reading now" soft-button remap.
Click to expand...
Click to collapse
There are changes from 1.1 to 1.1.5 as it goes, but not too many.
IBNobody said:
(I haven't had the chance this week to dive in further - I've been buried.)
Click to expand...
Click to collapse
If you get any time all input is welcome!
Sorry, I fixed "to the".
The quicknav code may need more modification than just integrating XorZone's changes. B&N added an extra button (GlowLight) to the quicknav bar. Nook Tools may need to be modified to handle the extra button.
And looking back at my notes, what I meant about the StatusBarService was that the function call between 1.1.0 and 1.1.5 that XorZone modified didn't change.
IBNobody said:
Sorry, I fixed "to the".
Click to expand...
Click to collapse
Thanks - I was hanging on your every word and if there was more I was keen to hear it
IBNobody said:
The quicknav code may need more modification than just integrating XorZone's changes. B&N added an extra button (GlowLight) to the quicknav bar. Nook Tools may need to be modified to handle the extra button.
Click to expand...
Click to collapse
Yes that's for sure - see below for my first discoveries on that front.
IBNobody said:
And looking back at my notes, what I meant about the StatusBarService was that the function call between 1.1.0 and 1.1.5 that XorZone modified didn't change.
Click to expand...
Click to collapse
Ah! Thanks for the clarification - it fits my findings from last night.
I'm making some progress. I've started with services.jar, in which only two classes are modified, StatusBarService and BNGossamerQuickNavbar. StatusBarService is simple and is now a done deal. BNGosssamerQuickNavbar is much more involved. Of the various methods in the class, I think I've worked out what to do for all but two of them:
OnClick is mostly unchanged from 1.1 to 1.1.5, but for the addition of references to the new GlowLight button. NTT replaces this method entirely, so the button mapping must be done elsewhere (I'm assuming within Xorzone's utility class XorUtils). On this basis I think I can drop in XorZone's onClick, but I still need to correct the button mapping wherever it is done.
Init is where the majority of the changes are. This is the one I will be looking at next. Unfortunately it has changed quite substantially from 1.1 to 1.1.5 vanilla, so stitching in the NTT changes will be non-trivial.
Beyond this, I've yet to start analysing android.policy.jar for the changes there. I'm a long way from even testing an alpha release yet!
Sorry for the delay folks, and also sorry but it's not good news from my end - I don't think I have what it takes to blend NTT into the v1.1.5 jars
I'd been analysing the one remaining class in services.jar - BNGossamerQuickNavbar - and here's my take on what needs doing to the methods therein in the v1.1.5 class:
All methods prior to comment #virtual methods
Unchanged by NTT hence leave as-is.
toggleLights
New for 1.1.5 - leave as-is (although it raises the question of how to handle the fact that the Glowworm captures a long press, where NTT would like to make that configurable).
updateInStoreIcon
Unchanged by NTT hence leave as-is.
onClick
Only one difference between 1.1 and 1.1.5 - that the new version references the additional button - but NTT reimplements this class entirely so I think it'd be okay to drop in NTT's version.
init
And here's where the problems begin. This class differs significantly both between 1.1 and NTT and between 1.1 and 1.1.5. In order to work it out, I'd need to reverse engineer the algorithms of the three versions in order to make clear what is going on, then weave the NTT changes into 1.1.5 appropriately.
For completeness, the only other changes in services.jar are in StatusBarService, and are simple to identify by diffing v1.1 against NTT; v1.1.5 is not far different from v1.1 hence the changes can be added easily.
A brief survey of android.policy.jar shows that the changes here are significant too. I just don't think I'd be able to create a version of NTT that works particularly well, if at all. And that would be before making changes to make it compatible with the additional navbar button and glowlight management.
Sorry folks, but this is the end of the line for me - can anyone else take up the challenge (or lend their Glowworm to Xorzone or Gabrial Destruir )
Ian
Hey,
I just ordered a nook glow online and I'm gona have it mail forwarded to Japan in about 1 week. When it arrives I'll take a look, but no promises. My only question is if I break something is it always possible to factory reset the device? Or is there a chance I might brick it? I'de also love to get multi-touch working, is that part of NTT as well? I took a look at the thread for multi-touch (http://forum.xda-developers.com/showthread.php?t=1563645) and recompiling the kernel and I don't have any environment so I guess I need to figure out how to set that up. I don't suppose you know any additional threads that explain how to build a modified kernel or how to replace these java files. As I said before I don't have the device yet so I'm just trying to do some reading before it arrives. Also can you direct me to any threads that explain how to recompile the kernel with the modified zforce.c?
Peter
Related
Hi
Does anybody know where the skins are for the signal strength button the connection state button and the volume button are.
As you can see in the image below im trying to set a green theme with the txt on my exec and these icons don't go as they are white.
Many thanks
Scott
There built into some of the ROM dlls I think. Most people skin the bar with WisBar or similar.
V
I Suspected as much that these were related to dll's
Does anybody know which dll's they are.
I did use to use wisbar but i found that there was just to much lag with it.
I would like to know this to as i also think that wisbar lags up the device to mutch
Anybody got any ideas.
I think if we can crack this 1 it may also helps us understand how to remove the dam battery icon in the new imate rom and let us put the clock back.
shellres.96.dll
V
Microsoft design guidelines demand that these symbols remain white... Not that this will stop you but I thought you should know.
lbendlin
Is there anything on this board that is within the Microsoft guidelines!?
V
vijay555 said:
lbendlin
Is there anything on this board that is within the Microsoft guidelines!?
V
Click to expand...
Click to collapse
This looks kick ass! When did you cook this one now???
San, that's a screenshot from VJSmallIcons II, which will turn your "programs" launcher fullscreen and permit changing the view style (look up VJSmallIcons to see what the original did). The new version, although looking simple, requires a lot of voodoo in the background, but it's a test platform for stuff I'm developing for VJToggleToday II.
VJSmallIcons II should be out quite soon, just one or two more tweaks to retain settings in the registry and it'll be out for test releases.
scotjen1: to come back On topic, I've never tried overriding that dll, but I presume you could try the same technique used by Azhad here:
http://forum.xda-developers.com/viewtopic.php?t=34995&highlight=
to create a new resource dll to override the original icons etc. It'd be a nice hack to try.
V
V
Great work with VJsmallicons II looking good.
Now back to the skinning. I have managed to copy the shellres.96.dll (great work for that V would have never known that) to my desktop and have used resource hacker to extract the ico files from it.
I then found a program called easy icon maker (good program works well) and have managed to change the colour of these icons.
When i then replace the resource with resource hacker it show as if it has been replaced i then load the DLL back in to the windows dir and get an error saying this file is in use and can't be overwritten but i use resco and it gave me an option to continue which i presume forces it to be over written. I then soft reset and bang the icons are exactly the same. Any idea's ?
Also just 1 other thing when changing the icons they were set to 16 x 16 and 2 colours so i had to change this to 16 x 16 and 16 colours would this have made a difference also.
scotjen1: it's likely to be more involved then that (as if that wasn't enough!).
You will have to have a read through Azhad's thread above, and the VGA files thread. What you need to do on WM5 is, I believe, although I have no direct experience in this area, is to create a resource only dll containing the icons you want to replace. 16 colours should make no difference. But I believe the resource ids need to match the original.
That needs to be signed (check the first few VGA files posts for info of how this was done originally, and find the signer, called SignIt, posted by BeyondTheTech I believe), and then save the file as an .mui file so that it gets loaded over the top of the original shell file. That shell file is unlikely to be replaceable whatever Resco thinks.
Have a read through Azhad's thread, decompile his .mui files and that should point you in the right direction.
V
V
Wow that does sound quite a challenge still though im not going to let it beat me lol.
I have got Azhad's files at home (i presume you are talking about the power backlight and wifi files) i will have a go at trying to decompile them tonight see if it can shed some light on the situaion.
As for the signing wasn't there a cab flying around somewhere that disabled this or am i completly going off track here.
You still need to sign the dlls for WM5.
SignCode:
http://forum.xda-developers.com/viewtopic.php?p=191136#191136
I really can't say if any of this is correct, as I said, it's something I've thought about but never bothered with. I'm working on my own skinner for the bar, but this method should be effective + no overhead.
You don't need to decompile Azhad's stuff, just resource hack it to see what he's put in the dlls. In fact, use his dlls, empty it out, stuff it with your stuff and re-sign.
V
Nice that sounds a little bit easier lol.
Will give it a try when the work day ends will keep you posted on the progress.
For those who know what it is, I have created a complete install for the HP 48GX Emulator optimized for WVGA devices. The emulator itself is based on Sébastien Carlier's Emu48 (now maintained by Christoph Gießelink).
My goals were to have a realistic but finger-useable HP 48GX. I have included the complete package in a single CAB (the ROM is an HP 48GX-R model). As HP released the ROMs for all the 48 models about 9 years ago, I can't imagine them complaining that I'm packaging them together as a useful package these days
See the attached Todo.txt before posting any bug reports please. FYI, I do not really plan to address any of the Todo items anytime in the near future.
Enjoy!
HP 48GX-R 1.18.1
Change Log
2009.09.24
v1.18.1
Converted 709 KB bmp file into 94 KB gif with no data loss. The screen should now load much faster.
Updated CAB file installation to allow for Storage Card installation.
P.S. The thumbnail doesn't even begin to do it justice. I spent *DAYS* on the visual appeal of the interface and for anyone who owns/owned an HP 48GX I hope you'll agree the level of detail and realism is nearly perfect.
P.P.S. If you don't know what an HP calculator is, or more importantly what RPN means, then its probably not worth your time even trying this.
48GX State Files
I have now attached some state files which includes two .e48 files and a SHARED.BIN file. The SHARED.BIN file is a 512K Port 2-5 attached card which both .e48 files share. The files are as follows:
SHARED.BIN
Port3
EDFlags 2.0G
HPTabs (Part of the Jazz package, see below)
Hack 9.4.1 (Based on Hack 9.4 with my own customizations)
StringWriter 4.4
MiniWriter 1.2
SmartKeys 1.59
Port2
Unitman 7.2001
QPI 4.3
ALG48 4.2
ALG48_SpecialFunction 4.2 (Part of the ALG48 package, see above)
ALG48_LongPrecision 4.2 (Part of the ALG48 package, see above)
ALG48_SymbolicIntegration 4.2 (Part of the ALG48 package, see above)
ChemLab 2.7
Neopolys 6.5
Bode-Routh 7.1
HP 48GX-R Math.e48
Port1
Erable 3.201 Beta
Marable
Erable_MODULO 3.2 (Part of the Erable package, see above)
Erable_GEO 3.2 (Part of the Erable package, see above)
Erable_PREP 3.2 (Part of the Erable package, see above)
Erable_LIN 3.2 (Part of the Erable package, see above)
Matrix 1.2
MathTools 7.0
Universal Font Library 1.0.2
Port0
Java 3.6a
HP 48GX-R Dev.e48
Port1
Jazz 6.8
Universal Font Library 1.0.2
MathTools 7.0
Matrix 1.2
Port0
Java 3.6a
Included in the zip is a file called InstallConfigure.txt which is simply the steps I took to create the .e48 files. Please note that I did not include the application .lib files themselves, though I did link most of them above. Remember, you can always recall them to the stack and save to your device if you plan to use any of them to make your own state file(s) from scratch.
48GX WVGA Photoshop Source
If your goal is to modify the visual appearance of the calculator without modifying the position or operation of any of the keys (onscreen or keyboard) then you may be interested in downloading the Photoshop source (attached).
Using it you must create a BMP file that is dimensionally identical to the one included in my installation (else you must change the KML appropriately). This means that there must be the entire image with no buttons pushed followed by the annunciators, followed by an image with the buttons pushed (without the annunciators again though). See the BMP that comes with the installation to know what I am talking about here.
The photoshop source is currently set to output an image with no buttons pressed and the annunciators. You will save as a BMP image to get the initial image with annunciators. You must then hide all the appropriate layers (and there are MANY) for unpressed button mode, and finally show all the appropriate layers (again there are MANY) for pressed button mode. Now change the image canvas size (cutting 14 pixels--the annunciators) from the bottom of the image, and save this as a BMP image. You will then take the first BMP image, expand the canvas size by 748 pixels at the bottom, adding the second BMP image (with the pressed buttons) in that area. Then simply merge layers and convert that image to Indexed color mode (selective) and save as the final BMP image.
If you are planning on changing colors note that where possible all you have to do is select every appropriate text layer and then change the colors for all of them at once. However, you will notice there are two layers (one for text graphics, and one for button graphics) that you cannot do this. You may deal with these in one of two ways:
Use the wand tool selection with shift to select all items of a given color, and then use some form of Image|Adjustment|... to match the colors.
Recreate the items manually. This is where the HP48.csh file comes into play. These are vector items I created for some of the button graphics (and annunciators). Access them through the custom shape tool (load custom shapes from file).
The button pressed version of the button graphics is precisely the same as the non-pressed version, simply shifted down one pixel. So my recommendation there is to simply make changes to the non-pressed version, duplicate it, shift down one pixel, and make that the new (Pressed) layer.
If you spend the time to properly create a graphics file that you think others would enjoy, please upload it and the source for others!
Cheers!
I still have my 48gx from more than 10 years ago, now I am just a HP12c type of guy
Excellent Work! Much appreciated! I also have a Emu48 version used by a company called EaglePoint (used to be SMI). It is called Pocket SMI v8. I have a licensed version but it is no longer supported. It is basically a custom tweaked Emu48 with a different skin and kml script specifically for surveyors/engineers. I would like to modify the skin but I am not sure how to get started...
Very Nice! Thanks much!
You think you can skin it for my 48SX as well?
The GX colors annoy the heck out of me...
wow, I haven't tried it yet but will, awesome idea. I still have my 48GX from college but I doubt my professors would like me to use cell phone during tests.
Thanks, will try it.
Thanks!
Quentin- said:
For those who know what it is, I have created a complete install for the HP 48GX Emulator optimized for WVGA devices. The emulator itself is based on Sébastien Carlier's Emu48 (now maintained by Christoph Gießelink).
[...]
Click to expand...
Click to collapse
AWESOME!!!!
glhs509 said:
Very Nice! Thanks much!
You think you can skin it for my 48SX as well?
The GX colors annoy the heck out of me...
Click to expand...
Click to collapse
If you have Photoshop and some time/know-how to make minor changes (difference in keys) to the KML file I can provide you with the graphics source that you can work with to make an SX skin.
Thank you!
This is fantastic, I will be looking for any updates and improvements. Will test and report back.
Wow... that's amazing...
...Here's my HP 48SX from my college years (circa 1992) for comparison...
glhs509 said:
Very Nice! Thanks much!
You think you can skin it for my 48SX as well?
The GX colors annoy the heck out of me...
Click to expand...
Click to collapse
See the original post now for the Photoshop source files!
Version 1.18.1
For those that subscribe to the thread, this is notification of a new version in the First Post.
Change Log
2009.09.24
v1.18.1
Converted 709 KB bmp file into 94 KB gif with no data loss. The screen should now load much faster.
Updated CAB file installation to allow for Storage Card installation.
Thanks a lot for this.
If anyone doesn't know there is a HP Calculator Conference in Fort Collins, CO next weekend.
http://holyjoe.net/hhc2009/
help on resizing the skin hp48gx
I have tried to resize it with photoshop, but I don't know how to remap the keys.
Could be a way to include scroll bar option?
Thanks
Here's where I'll try and keep everyone updated on the rootfs img; Pmos has mostly put this together with help from enatefox and a little from me (very little lol)
The current bundle is available on google code. HERE
Currently;
Contains two zimage files, one for the old keymap and one for the new, just rename whichever you like to zimage
Supports both kaiser and vogue builds;
It supports all old and new builds, so whether it's based on squashfs (system.sqsh) or cramfs (system.img) it will boot properly.
09-07 package changelog;
Now supports both vogue and kaiser 100%. This means you don't need a special build for your kaiser to enable wifi, automatically detects the vogue or kaiser on boot and enables or disables wifi by default. Great work PMOS!!
Same as before, includes both keymaps, download, copy to device and rename zimageoldbuttons or zimagenewbuttons to zimage, boot and enjoy!
09-08- Sorry guys, fixed files uploading now.
09-06 package changelog;
Changes over the current repository version are:
- Kaiser detection at init
- separate *.init.rc files for kaiser and vogue
- userinit.sh/user.conf system (adapted from the dream userinit.sh system).
- separate user.conf files for each build type (hero, rogers, ion)
- misc tweaks configurable in the *.conf files
- compcache and swap configurable in the *.conf files
- /bin/ramzswap removed (included in userinit.sh)
- dos2unix conversion of *.conf files
- renice script included in userinit.sh and selectable in *.conf
mssmison said:
Here's where I'll try and keep everyone updated on the rootfs img; Pmos has mostly put this together with help from enatefox and a little from me (very little lol)
The current bundle is available on google code. HERE
Currently;
Contains two zimage files, one for the old keymap and one for the new, just rename whichever you like to zimage
Supports both kaiser and vogue builds; (work in progress) the idea is go get any system build to work on either phone, it's a work in progress thus far,
It supports all old and new builds, so whether it's based on squashfs (system.sqsh) or cramfs (system.img) it will boot properly.
Click to expand...
Click to collapse
This will probably be "reset" to the current codebase and changes applied to that. Much cleaner that way.
Current state is a bit messy. Too many different versions around.
Anyway, the changes aren't substantial, yet.
Thanks for keeping my userinit in there.
zenulator said:
Thanks for keeping my userinit in there.
Click to expand...
Click to collapse
Haven't done anything yet zen.
Was making modifications "on top" of your modifications anyway...
As we discussed before, calling a script in the sdcard at init time makes it easy to experiment new things at development time.
On the other hand, It's a security hole, and makes it easy for users to mess up things when they open the script in windows notepad and save it with windows formating.
Don't really have a strong opinion on this.
What's your take?
pmos69 said:
Haven't done anything yet zen.
Was making modifications "on top" of your modifications anyway...
As we discussed before, calling a script in the sdcard at init time makes it easy to experiment new things at development time.
On the other hand, It's a security hole, and makes it easy for users to mess up things when they open the script in windows notepad and save it with windows formating.
Don't really have a strong opinion on this.
What's your take?
Click to expand...
Click to collapse
Well before I put out this version of userinit. I had another version based off the g1 userinit.conf. Basically rootfs calls userinit.sh and userinit.sh checks userinit.conf to get it's settings. That way you keep userinit.conf as a plain text file and have something like the following inside it.
compcache=1
compache_disk_size=XXXX
linuxswap=0
linuxswap_size=XXXXX
renice.txt=0
ascii_art=0
ascii_art_file=zen
and just change the values in userinit.conf from 0=off to 1=on and userinit.sh interprets those values and executes them. And also I'm not sold on the compcache disk size being that large. I ran the latest hero with out compcache or swap and it still seemed just as fast. The only problem I had was reload time for rosie because it gets pushed out of memory. And there is no need for compcache disksize to be set that high for cupcake/donut builds because it doesn't need it. So maybe after rootfs auto detects builds it will load the correct userinit to set up compcache/swap with settings specific to the build.
zenulator said:
Well before I put out this version of userinit. I had another version based off the g1 userinit.conf. Basically rootfs calls userinit.sh and userinit.sh checks userinit.conf to get it's settings. That way you keep userinit.conf as a plain text file and have something like the following inside it.
compcache=1
compache_disk_size=XXXX
linuxswap=0
linuxswap_size=XXXXX
renice.txt=0
ascii_art=0
ascii_art_file=zen
and just change the values in userinit.conf from 0=off to 1=on and userinit.sh interprets those values and executes them. And also I'm not sold on the compcache disk size being that large. I ran the latest hero with out compcache or swap and it still seemed just as fast. The only problem I had was reload time for rosie because it gets pushed out of memory. And there is no need for compcache disksize to be set that high for cupcake/donut builds because it doesn't need it. So maybe after rootfs auto detects builds it will load the correct userinit to set up compcache/swap with settings specific to the build.
Click to expand...
Click to collapse
Yup, that makes a lot of sense and it's easy to implement.
Will work on that latter tonight (over here) if family allows and get back to you on that...
new package uploading, changlog in first post.
Using the basefile package uploaded 9/6/09 along with zen's xrom, I have been re-experiencing an intermittent wakeup problem.
Waking up from sleep occasionally takes a few presses of the power button - I think this is due to the new bundle files. When vilrod initially made the new button configuration, we had this problem, then he was able to fix it - i think it was something in the rootfs.
Anyways, thanks for all the work guys.
tatnai said:
Using the basefile package uploaded 9/6/09 along with zen's xrom, I have been re-experiencing an intermittent wakeup problem.
Waking up from sleep occasionally takes a few presses of the power button - I think this is due to the new bundle files. When vilrod initially made the new button configuration, we had this problem, then he was able to fix it - i think it was something in the rootfs.
Anyways, thanks for all the work guys.
Click to expand...
Click to collapse
I guess it depends on which button layout you are using.
The zImage with the old button layout was just a quick hack made for mssmison by request. It wasn't tested a lot.
pmos69 said:
I guess it depends on which button layout you are using.
The zImage with the old button layout was just a quick hack made for mssmison by request. It wasn't tested a lot.
Click to expand...
Click to collapse
using the new button layout.
tatnai said:
using the new button layout.
Click to expand...
Click to collapse
:-/ Then I don't exactly know what could be wrong.
Recent updates can hardly account for that, since they focused on other things, but I can't guarantee that, of course.
There's a new update under testing now. We'll see how that goes...
pmos69 said:
I guess it depends on which button layout you are using.
The zImage with the old button layout was just a quick hack made for mssmison by request. It wasn't tested a lot.
Click to expand...
Click to collapse
I don't think it's from the old button layout, I've been experiencing it on most of the newer builds we've been putting together, even before the new rootfs setup.
tatnai said:
using the new button layout.
Click to expand...
Click to collapse
Me also - new button layout and wakeup intermittently takes a few presses of the power button; seems to be since new basefiles.
that's +1 from me on the wake up issue... not that it's a big deal considering everything else that works so well on these builds ^^
does re-nicer load with the current setup or do I have to do something to get it running after booting?
i used the base files w/ the xrom143r.sqsh on kaiser. Booted fine, but when i enable wifi, it can't find any networks during the scan..though i have a xrom143.img from entefox that had wifi and it works good..
ajclai08 said:
i used the base files w/ the xrom143r.sqsh on kaiser. Booted fine, but when i enable wifi, it can't find any networks during the scan..though i have a xrom143.img from entefox that had wifi and it works good..
Click to expand...
Click to collapse
Then stick with the other one. I didn't put WiFi in the last xrom. And there isn't much difference between them.
I'm using the stuff from the latest basefiles and zens latest hero build and the home screen restarts on EVERY return..
I notice that there's no swap or anything created on boot and i have multiple fsck files forming with each boot, dunno if that plays a part..is there anything i need to do to get it running @ full capacity?
KERKEDAGAIN said:
I'm using the stuff from the latest basefiles and zens latest hero build and the home screen restarts on EVERY return..
I notice that there's no swap or anything created on boot and i have multiple fsck files forming with each boot, dunno if that plays a part..is there anything i need to do to get it running @ full capacity?
Click to expand...
Click to collapse
Just checked, and there's a problem with the posted zip.
Some files missing and others not needed.
Going to ask mssmison to fix it...
pmos69 said:
Just checked, and there's a problem with the posted zip.
Some files missing and others not needed.
Going to ask mssmison to fix it...
Click to expand...
Click to collapse
WHEEEWW...i was scared i was gonna get flamed for Frankensteining (figured itd be ok but wasnt sure). Cool biz..lookin forward to the update!
Hiya Everyone,
I've just rooted my Nook Simple Touch and have it all working from a USB keyboard which is great!
I really need the Nook as my unit has no mains electricity and I use solar panels instead which can be difficult at times as they are mounted in the window and are facing the wrong way really but it is what it is. I know everyone is alarmed at the amount of power it uses when in USB mode but it's nothing compared to the 5 watts my DAB radio pulls! To be honest it's even at lot less than the 1.5watts of the LED light!
Anyway it's basically great but I want to get it working as well as I can for my application.
I'm using a new text editor from F-Droid called Text Warrior:
https://f-droid.org/repository/brow...com.myopicmobile.textwarrior.android&fdpage=4
It's the best text editor I've found for the Nook so far and it's also a GNU application with source code!
If you havn't already checked out the F-Droid stuff I really recommend it as a lot of the apps there work on the Nook and it can be hard to find stuff for the earlier versions of Android.
Anyway that's my setup. What I'm wondering is if it's possible to assign keys on my USB keyboard to do different things and how I would go about doing that? For instance it might be cool if I could use the Esc key as a back button or the extended win keys menu key as an android menu button and things like page up and page down etc. How could I go about setting the keys up for different functions? Anyone have any idea?
Freya
FreyaBlack said:
Hiya Everyone,
I've just rooted my Nook Simple Touch and have it all working from a USB keyboard which is great!
I really need the Nook as my unit has no mains electricity and I use solar panels instead which can be difficult at times as they are mounted in the window and are facing the wrong way really but it is what it is. I know everyone is alarmed at the amount of power it uses when in USB mode but it's nothing compared to the 5 watts my DAB radio pulls! To be honest it's even at lot less than the 1.5watts of the LED light!
Anyway it's basically great but I want to get it working as well as I can for my application.
I'm using a new text editor from F-Droid called Text Warrior:
https://f-droid.org/repository/brow...com.myopicmobile.textwarrior.android&fdpage=4
It's the best text editor I've found for the Nook so far and it's also a GNU application with source code!
If you havn't already checked out the F-Droid stuff I really recommend it as a lot of the apps there work on the Nook and it can be hard to find stuff for the earlier versions of Android.
Anyway that's my setup. What I'm wondering is if it's possible to assign keys on my USB keyboard to do different things and how I would go about doing that? For instance it might be cool if I could use the Esc key as a back button or the extended win keys menu key as an android menu button and things like page up and page down etc. How could I go about setting the keys up for different functions? Anyone have any idea?
Freya
Click to expand...
Click to collapse
You can easily change what your keyboard keys do in the file /system/usr/keylayout/qwerty.kl. I personally use a very good modified one by Renate with a few of my own modifications.
Thanks so much Nookie! That looks great! I will try and install it today.
I'm also running the Nookie terminal emulator BTW which I think must be something to do with you?
Right off to give it a go!
Freya
FreyaBlack said:
Thanks so much Nookie! That looks great! I will try and install it today.
I'm also running the Nookie terminal emulator BTW which I think must be something to do with you?
Right off to give it a go!
Freya
Click to expand...
Click to collapse
It might. I did make a few modifications to the original Terminal Emulator and probably put it up for download somewhere here on the forums. What's the package name (/data/app)?
How'd the .kl installation go for you?
I discovered Noogie and after a lot of messing about I managed to get the qwerty.kl installed and working quite well.
Sadly it seems it's not going to be easy to reprogram for a UK keyboard though as you can only reprogram entire keys and not their shifted states.
In the UK the @ and " symbols are swapped with one another but on the upside the # key now does a # so that's nice.
I'm going to get used to the USA keyboard layout and be driven nuts when I switch back to a UK keyboard again!
I'm sure the terminal emulator must be your version as it has nookie in the filename.
Freya
FreyaBlack said:
I discovered Noogie and after a lot of messing about I managed to get the qwerty.kl installed and working quite well.
Sadly it seems it's not going to be easy to reprogram for a UK keyboard though as you can only reprogram entire keys and not their shifted states.
In the UK the @ and " symbols are swapped with one another but on the upside the # key now does a # so that's nice.
I'm going to get used to the USA keyboard layout and be driven nuts when I switch back to a UK keyboard again!
Freya
Click to expand...
Click to collapse
Hmmm. I see your point, and it's a good one, indeed. Tell you what - I'll work on it this week and tell you if I come up with anything by Sunday night. Sound good?
FreyaBlack said:
In the UK the @ and " symbols are swapped with one another...
Click to expand...
Click to collapse
See http://forum.xda-developers.com/showpost.php?p=59922517&postcount=406
Thanks Renate,
I ended up sitting in a hotel room with a hex editor but I got it to work and have since spent quite some time on Solar with the Nook.
Thanks again for your help with that!
Now I'm back to civilisation for a while and I'm wondering if it is possible to get the cursor keys to work properly too.
They don't seem to move up and down and side to side in the text in the way I would expect!
Is it possible to fix that as well or is that just an android feature!
Freya
FreyaBlack said:
Thanks Renate,
I ended up sitting in a hotel room with a hex editor but I got it to work and have since spent quite some time on Solar with the Nook.
Thanks again for your help with that!
Now I'm back to civilisation for a while and I'm wondering if it is possible to get the cursor keys to work properly too.
They don't seem to move up and down and side to side in the text in the way I would expect!
Is it possible to fix that as well or is that just an android feature!
Freya
Click to expand...
Click to collapse
Does this happen when your Nook is in portrait mode, landscape mode, or both?
If they work correctly in portrait but don't work right in landscape, there is a fix that I applied several months ago that resolves the issue.
ИΘΘK¡€ said:
Does this happen when your Nook is in portrait mode, landscape mode, or both?
If they work correctly in portrait but don't work right in landscape, there is a fix that I applied several months ago that resolves the issue.
Click to expand...
Click to collapse
OUCH! Yes you are totally right.
I'm using an ipad stand from a pound shop to hold the Nook in place and it fits quite nicely in Landscape.
Also I just find it's a bit more like a normal laptop setup when in Landscape mode too.
I didn't click what was happening. Doh!
So how do I go about fixing that?
I guess I have to swap the cusor keys around?
Freya
@FreyaBlack,
Kind of, yeah. Follow the instructions at this post by Renate to apply a patch to /system/framework/services.jar that will prevent your arrow keys from rotating when in landscape mode.
Good to go!
I'm back to civilisation for a while but sadly I havn't been able to get this to work. I don't quite understand what you are supposed to do and I usually use ssh or similar rather than adb.
What does this mean?
Then you edit in the replacement in smali/com/android/server/KeyInputQueue.smali
Click to expand...
Click to collapse
I assume I need to change services.jar in some way.
Do I use the attached file?
Freya
@FreyaBlack,
After you acquire services.jar on your PC, the next step is to decompile it using this command:
Code:
apktool d services.jar
Then, go into the root folder of where you decompiled that file, and navigate to the .\smali\com\android\server\ directory. In that folder, locate the file KeyInputQueue.smali. Open that file with a good text editor (like Notepad++ on Windows), delete the entire contents and copy/paste in the entire contents of the partf.txt file attached to Renate's post I linked two posts above. Save that file.
Now, all you have to do is recompile the edited services.jar file using this command:
Code:
apktool b [the directory where you extracted the file originally] services.jar
Only thing left after that is to replace the existing services.jar on your Nook (located in /system/framework) with the one you just created, reboot your Nook, and you're good to go.
You can also use my mergesmali utility to merge correctly formatted patches.
nook121patch.zip has patches for various things that can be selectively supplied.
They are both found in the signature under "mergesmali".
Hiya Renate,
So you mean I can find a patch for the file or something and use mergesmali to apply it?
I assume Nookie is saying I need the Android SDK or the java sdk to make the changes but by doing this patch thing I can sort this without having to do that?
I have my hex editor to hand but a whole SDK is more than my 3G connection can handle right now!
Freya
Hi All,
I'm a software developer, reasonably comfortable with compiling apps in Linux, though still got more to learn on inner workings of the full system.
I've been thinking about following the Linux from Scratch book for a while - and also about converting my Nook e-reader into a useful device for developing on when out im the sun.
I guess there are some significant challenges here - device trees and commercial secrets, perhaps some crypto keys used for signing update images to boot (I'm familiar with these problems, but not solutions or good workarounds).
What I'd really like is a good understanding of:
- what tool chain I need to setup
- What has been tried already and what the problems were
- any further help/datasheets that can get me going
I'd have posted this in the 'android development' area as the closest forum for what l'm trying to do, but apparently I'm not allowed until I've got my post count up - so I'm being forced to post in 'general'. If someone agrees and can move it, that would be great.
P.s. I have searched the xda site, but I'm not finding what I'm looking for. I'm sure it must be here somewhere, so any pointers/links on where it is would be appreciated.
SimonSimpson said:
Hi All,
I'm a software developer, reasonably comfortable with compiling apps in Linux, though still got more to learn on inner workings of the full system.
I've been thinking about following the Linux from Scratch book for a while - and also about converting my Nook e-reader into a useful device for developing on when out im the sun.
I guess there are some significant challenges here - device trees and commercial secrets, perhaps some crypto keys used for signing update images to boot (I'm familiar with these problems, but not solutions or good workarounds).
What I'd really like is a good understanding of:
- what tool chain I need to setup
- What has been tried already and what the problems were
- any further help/datasheets that can get me going
I'd have posted this in the 'android development' area as the closest forum for what l'm trying to do, but apparently I'm not allowed until I've got my post count up - so I'm being forced to post in 'general'. If someone agrees and can move it, that would be great.
P.s. I have searched the xda site, but I'm not finding what I'm looking for. I'm sure it must be here somewhere, so any pointers/links on where it is would be appreciated.
Click to expand...
Click to collapse
I have tried to get info on such things three times over 2 years for different devices, no one every seems to point me in the right direction, the most i have been able to find out is how to make compile cm and a little bit of how to customize roms, not to be a downer but i think the process is often so different for ever device and difficulties usually happen that the only people that build roms are people that have either have experience I n some form from their job, just edit existing source for cm(updating to a new version, customizing roms ect...) or have screwed with the stuff for years till the point that they just figured out alot of problems themselves. Wish a could find a good guide myself to atleast get the basic dependencies required for a device to boot together, if i could get something to boot the rest of the issues could be worked out with trial and error, boot noone on xda, Android authority, Reddit or cm's own forums goes into enough depth to make that possible.
Hi jaykoerner,
Thanks for your reply - good to know I'm not alone with my echo!
I've discovered some useful links if anyone wants to begin getting to grips with all this...
1. XDA Devs has a wiki (not sure how to find from the forum links...?)
http://forum.xda-developers.com/wiki/BN_Nook_Simple_Touch
2. There's a (atleast one) customized kernel (and probably a dev-tool chain) available on GitHub:
https://github.com/javifo/NST/tree/master/kernel -- including kernel compilation instructions
https://github.com/javifo/NST -- root of the repository.
3. Parallel to Raspberry Pi kernel compilation (so you may want to learn from that as it probably has more articles)
https://www.raspberrypi.org/documentation/linux/kernel/building.md
I'll post more when I next do something with the information (Still want to understand more on the android HAL)
Hope that helps someone!
SS.
SimonSimpson said:
Hi jaykoerner,
Thanks for your reply - good to know I'm not alone with my echo!
I've discovered some useful links if anyone wants to begin getting to grips with all this...
1. XDA Devs has a wiki (not sure how to find from the forum links...?)
http://forum.xda-developers.com/wiki/BN_Nook_Simple_Touch
2. There's a (atleast one) customized kernel (and probably a dev-tool chain) available on GitHub:
https://github.com/javifo/NST/tree/master/kernel -- including kernel compilation instructions
https://github.com/javifo/NST -- root of the repository.
3. Parallel to Raspberry Pi kernel compilation (so you may want to learn from that as it probably has more articles)
https://www.raspberrypi.org/documentation/linux/kernel/building.md
I'll post more when I next do something with the information (Still want to understand more on the android HAL)
Hope that helps someone!
SS.
Click to expand...
Click to collapse
My initial thought was that toolchain should match the underlay Linux kernel of Eclair (2.6.x.y) for us to be sure it could be run on NST. This info that I still have to search through is certainly helpful. Thanks!
SimonSimpson said:
I guess there are some significant challenges here - device trees and commercial secrets, perhaps some crypto keys used for signing update images to boot...
Click to expand...
Click to collapse
Neither the NST or the newer glows use device trees.
In the Glows this is all handled by the custom ntxconfig which allows simple configuration.
For building Android apps, you use the straight Android SDK, possibly also the Android NDK (for native code).
You'd also use the NDK for building command line utilities.
I've never built a kernel from scratch, but I have binary modified/patched them.
There is the simpler bit of patching system image ramdisks which can be conviently handled by my imgutil.exe in the signature.
If you want to do audio, you really are better off with the Glow4 (7.8") which actually supports it.