A80G9 mainboard hacking and chipset information - Gen9, Gen10 General

Hi,
it's me again... this time the victim of my surgery is my Archos 80 G9 tablet with 8GByte.
The device is working pretty nice, but it's always fun to start investigation on the hardware .
Some general words about the design:
It seems obvious that Archos engineers started developing with TI Blaze development platform.
There'd been some hints in the source code and the design looks pretty similar.
Unfortunately there's no schematics of this platform... but fortunately there's the PandaBoard .
This board is fully documented (schematics as well) and there are a lot of open development projects all over the web.
Basically the Archos Gen9 tablets share the same base chipset with the Pandaboard and that's why there are many similarities.
One thing notable is the fact, that Archos implemented a eMMC/SD card chipset on the mainboard, instead of using a fully integrated eMMC device as to be found on the Gen8 mainboards.
In other words they coupled an eMMC controller (Phison PS7000) together with raw NAND flash (64GBit MLC).
This subsystem then got connected to mmc2 interface and is used as boot media (eMMC raw boot).
The other thing we may observe, is that the A80G9 and the A101G9 mainboards look pretty much the same in form and shape.
I guess, there are only little differences in the design, if there are any at least .
EDIT2: Have a look over here...
http://forum.xda-developers.com/showthread.php?t=1449438
Harfainx did a great job and put down some high-res pics from his A101G9.
Anyway there might be a lot to report, but i think it'll be better to come back from time to time and add some details and information.
You may prepare for some pics as well
A80G9 chipset information:
Processor
• Ti OMAP4430/60 (547-pin CBS BGA package) ARM Cortex A9 dual-core at 1/1.5 GHz with DSP
• POWERVR SGX540 Graphic accelerator: 3D OpenGL ES 2.0
Memory
• 512MB/1024MB LPDDR SDRAM (216-pin PoP BGA package) soldered on top of OMAP4430/60
• 8/16GB NAND (52-pin VLGA package) with eMMC bridge chip (PS7000) connected on mmc2 interface
Interfaces
• USB 2.0 OTG (OMAP4430/60 internal interface, MicroUSB connector)
• USB 2.0 EHCI host interface (USB3322 ULPI phy, TYP A connector)
• Micro SD slot (OMAP4430/60 internal mmc1 interface, SDHC compatible)
Display subsystem
• ChiMei 8" TFT-Display EJ080NA-04B (24Bit-LVDS interface)
• Ti SN75LVDS83B LVDS transmitter (56-pin BGA package)
Touchscreen subsystem
• Capacitiv touchscreen unit (Cypress controller TMA340, I2C interface)
HDMI subsystem
• OMAP4430/60 internal 24-Bit HDMI transmitter
• HDMI output (19-pin Mini HDMI connector)
Communication
• Ti WL1271 WiFi (802.11 b/g/n)
• Ti WL1271 Bluetooth 2.1 EDR
GPS chipset
• Ti NL5550 AGPS connected to uart0
Audio chipset
• Ti TWL6040 multichannel audio codec
Miscellaneous
• Built-in speaker
• Built-in Microphone
• Aptina MT9M114 1/6" 720p HD camera (1.26M)
Sensors
• Freescale MMA8453Q G-sensor
• AsahiKasei AK8975 compass-sensor
Power source
• Ti TWL6030 power management chip
• Ti TPS62361 core voltage regulator
• Internal: Lithium Polymer battery
• External: 5V/1.5A Power adapter/charger
Again i did some web research and made a smart datasheet collection.
Grab this zip-file.
EDIT5:
Updated datasheet collection...
Read on for some more information.
So what's next:
I don't know yet...
will start some hacking because i got a damaged mainboard
EDIT1:
Added some low res pics of the mainboard...
EDIT3:
To consider the OMAP4460 variants i added some lines in the chipset spec.
Though i did not open one of these devices, it is likely that Archos did use the same mainboard and upgraded the CPU and PoP-Memory.
Search the Ti website for further information on that SoC.
There's also a document which clarifies the differences between OMAP4430 and OMAP4460.
I may put it here as well if you like
EDIT4:
Some error corrections...
EDIT6:
Archos 3.0.8 kernel seems to be heavily based on this branch of Ti OMAP kernels:
http://git.omapzoom.org/?p=kernel/o...roid-omap-3.0-4470;hb=p-android-omap-3.0-4470
If you run a diff between these two you'll get a pretty good overview about the Archos specific changes.
Might be interesting for those who like to create a newer kernel for the Gen9
Stay tuned!
scholbert

Maybe you would do some work with OMAP 4460 versions? Most new ones are 4460 now
Sent from my ice cream powered Nexus S

DarkhShadow said:
Maybe you would do some work with OMAP 4460 versions? Most new ones are 4460 now
Click to expand...
Click to collapse
Yupp i know, but i use to focus on the devices i personally own.
There's no need for me to buy one of these newer ones as i won't spent all my money on the latest stuff
Cheers scholbert

tweaking bootmode... success!!!!!
Hey
just a short update for the geeks out there...
Started to find the bootmode signals... not yet finished, but as you see it's obvious where to search
EDIT:
Hoho... got it!!!
See the new attachment.
I successfully tweaked bootmode to send ASIC ID over usb first.
This way it is posssible to get low level access to the platform.
With some additional work we might also recover bricks
Here's my first log:
Code:
» OMAPFlash v4.15 (Aug 12 2011)
» -v
» Entering parameter file:Targets\Projects\archos\usb_sdram.txt at line: 1
» -omap 4
» -t 600
» -p SEVM_MDDR_ELPIDA_4G
» -2
» chip_download SDRAM C:\Projects\OMAPflasher\OMAPFlash\test_data\pattern_1k.bin
» Leaving parameter file:Targets\Projects\archos\usb_sdram.txt
» @Targets\Projects\archos\usb_sdram.txt
» Looking for device (omap usb)
» Please turn on device
» Waiting for device (omap usb)
» Found device (omap usb)
» Requesting ASIC id
» AsicId items 05
» AsicId id 01 05 01 44 30 07 04
» AsicId secure_mode 13 02 01 00
» AsicId public_id 12 15 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
» AsicId root_key_hash 14 21 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
» AsicId checksum 15 09 01 9C 66 9A D9 00 00 00 00
» Searching 2nd for: SEVM_MDDR_ELPIDA_4G 443007 04 GP
» Loading second file Targets\2nd-Downloaders\dnld_startup_omap4_gp_4g.2nd
» Entering parameter file:omapflash2nd.txt at line: 28
» -pheriphalboot_reopen
» Reading board configuration file Targets\Configurations\configuration_evm4430es2.0_elpida_4g.txt
» Reading definition file .\targets\definitions\definitions_omap4.txt
» -board_config Targets\Configurations\configuration_evm4430es2.0_elpida_4g.txt
» Leaving parameter file:omapflash2nd.txt
» Sending size of second file (0x00007804 bytes)
» Transferring second file to target (0x7804 bytes)
» Closing boot connection
» Found device (omap usb)
» Waiting for 2nd
Unfortunately the 2nd loader does not respond the way it should...
I found out that there's some trouble caused by the USB cable serving power to the board.
I guess this might be the reason for the interrupt of the transfer (the platform gets a soft reset at this point and does not return properly).
So i'll have to modify the cable for the next step.
Stay tuned!!!
Another thing is serial console... unfortunately no success yet, though i can tell there's something behind these marked testpoints.
I attached some logic and got some data, but nothing readable yet.
I tried with baudrates of 115200 and 1000000 (very common on Archos boards).
Nothing useful
I don't even know if it is connected to ttyO2 (uart3).
EDIT:
There's some news!!
Please see this post http://forum.xda-developers.com/showpost.php?p=27741653&postcount=22
EDIT2:
Just for your information:
JTAG debug pins had been identified in the meantime.
If you need low level debug features send me PM!
Anyway, i thought it would not harm to put it down here.
Cheers,
scholbert

Mr scholbert
I love your detailed descriptions and photos! good work!

Great
Buzz in France
http://www.jbmm.fr/2012/05/que-de-chose-dans-un-archos-gen9-8

OMAP4430 resource table
Hey,
first of all thanks for the positiv feedback.
I started stepping through some kernel code and hardware docs to collect information for low level programming
Just to give an overview of the internal resources here's how it looks like:
Code:
BASIC OFFSETs (stock loader)
=========================================================
loader offset 0x40300000 (SRAM)
avboot offset 0x87e80000 (SDRAM)
framebuffer base 0x9c000000 (SDRAM)
ACCELEROMETER
=========================================================
accel-interface i2c_3 (addr 0x1c)
accel_int1 gpio_45 (pin B20, mode3)
accel_int2 gpio_174 (pin H25, mode3)
AUDIO
=========================================================
audio-interface abe_pdm
abe_clks (pin AH26, mode0)
abe_pdm_ul_data (Pin AG25, mode0)
abe_pdm_dl_data (pin AF25, mode0)
abe_pdm_frame (pin AE25, mode0)
abe_pdm_lb_clk (pin AF25, mode0)
audio_power_on gpio_127 (pin AA27, mode3)
audio_irq sys_nirq2 (pin AF6, mode0)
CAMERA
=========================================================
camera interface csi21
csi21_dx0 (pin R26, mode0)
csi21_dy0 (pin R25, mode0)
csi21_dx1 (pin T26, mode0)
csi21_dy1 (pin T25, mode0)
camera_reset gpio_62 (pin B23, mode3)
COMPASS
=========================================================
compass-interface i2c_3 (addr 0x0C)
compass_data_ready gpio_51 (pin C21, mode3)
eMMC
=========================================================
emmc-interface mmc2 (8bit I/O)
sdmmc2_clk (pin B11, mode1)
sdmmc2_cmd (pin B12, mode1)
sdmmc2_dat0 (pin C12, mode1)
sdmmc2_dat1 (pin D12, mode1)
sdmmc2_dat2 (pin C13, mode1)
sdmmc2_dat3 (pin D13, mode1)
sdmmc2_dat4 (pin C15, mode1)
sdmmc2_dat5 (pin D15, mode1)
sdmmc2_dat6 (pin A16, mode1)
sdmmc2_dat7 (pin B16, mode1)
GPS
=========================================================
gps-interface uart0
gps_enable gpio_41 (pin A18, mode3)
HDMI
=========================================================
hdmi_pwr gpio_37 (pin D18, mode3)
hdmi_hpd hdmi_hpd (pin B9, mode0)
POWER MANAGEMENT
=========================================================
twl6030-interface i2c_0
tps62361_vsel0 gpio_wk7 (pin AC2)
1v8_pwron gpio_34 (pin C17, mode3)
vcc_pwron gpio_35 (pin D17, mode3)
5v_pwron gpio_36 (pin C18, mode3)
TFT
=========================================================
lcd_pwon gpio_38 (pin C19, mode3)
lvds_en gpio_39 (pin D19, mode3)
lcd_rst gpio_53 (pin C22, mode3)
lcd_stdby gpio_101 (pin A24, mode3)
lcd_avdd_en gpio_12 (pin N2, mode3)
bkl_en gpio_122 (pin AH24, mode3)
bkl_pwm dmtimer8_pwm_evt(pin G27, mode1)
TOUCHSCREEN
=========================================================
tsp-interface i2c_1
tsp_irq_gpio gpio_112 (pin AD25, mode3)
tsp_pwr_gpio gpio_110 (pin AD27, mode3)
tsp_shtdwn_gpio gpio_0 (pin J27, mode3)
USB OTG
=========================================================
vbus_musb_pwron gpio_111 (pin AD26, mode3)
vbus_flag gpio_113 (pin AC28, mode3)
vbus_detect gpio_48 (pin C20, mode3)
id gpio_49 (pin D20, mode3)
USB EHCI
=========================================================
ehci_enable gpio_42 (pin B18, mode3)
3g_enable gpio_40 (pin B17, mode3)
WIFI/BT
=========================================================
wifi/bt control uart1
wifi-interface mmc4 (SDIO)
sdmmc4_clk (pin AE21, mode1)
sdmmc4_cmd (pin AF20, mode1)
sdmmc4_dat0 (pin AF21, mode1)
sdmmc4_dat1 (pin AH19, mode1)
sdmmc4_dat2 (pin AG20, mode1)
sdmmc4_dat3 (pin AE20, mode1)
wifi_irq gpio_102 (pin B24, mode3)
wifi_power gpio_103 (pin C24, mode3)
bt_power gpio_104 (pin D24, mode3)
This table will get updated form time to time.
EDIT:
- added eMMC resources (mmc2 pins)
In the end this will result in a header file for x-load, u-boot or similar stuff
Have a nice day!
scholbert

The GPS chipset information shows it has a FM interface as well. Does it mean that Archos can be used as a FM radio receiver ? Sorry I am not such an expert in hardware. Is there an app that we can install if it is possible to make this work as a radio runer ?

mprasa said:
The GPS chipset information shows it has a FM interface as well. Does it mean that Archos can be used as a FM radio receiver ? Sorry I am not such an expert in hardware. Is there an app that we can install if it is possible to make this work as a radio runer ?
Click to expand...
Click to collapse
I think someone already looked into it and found while it does have one its not connected to anything
Sent from my ice cream powered Nexus S

mprasa said:
The GPS chipset information shows it has a FM interface as well. Does it mean that Archos can be used as a FM radio receiver ? Sorry I am not such an expert in hardware. Is there an app that we can install if it is possible to make this work as a radio runer ?
Click to expand...
Click to collapse
To be more precisely... the datasheet is about the NL5500, while on the Archos Gen9 a NL5550 is used.
The only difference is, that NL5550 is GPS only.
No FM in this chipset.
DarkhShadow said:
I think someone already looked into it and found while it does have one its not connected to anything
Click to expand...
Click to collapse
The truth is that WL1271 has FM capabilites, but unfortunately Archos decided to leave that out.
Cajl had contact to one of the developers, telling him that essential parts are not connected (e.g. FM antenna).
So no FM on Gen9
Regards,
scholbert

Sorry to interrupt you...
There's some news:
http://forum.xda-developers.com/showpost.php?p=25919128&postcount=4
Hihi
Cheers scholbert

add the missing mechanic...
Hey folks,
it's so silent here... yeah the summer hits europe
Anyway, here's another pic from my temporarily disassembled A80G9.
You know this already from openaos.org:
Code:
Vibra is not built into all units, but if yours has a vibra motor you can turn it on by issuing:
echo ro.board.has_vibrator=yes >> /data/local.prop
As they said...
The vibrator is not assembled in my device at least... will search in my toy box for a mating part
Regards,
scholbert

scholbert said:
Hey folks,
it's so silent here... yeah the summer hits europe
Anyway, here's another pic from my temporarily disassembled A80G9.
You know this already from openaos.org:
Code:
Vibra is not built into all units, but if yours has a vibra motor you can turn it on by issuing:
echo ro.board.has_vibrator=yes >> /data/local.prop
As they said...
The vibrator is not assembled in my device at least... will search in my toy box for a mating part
Regards,
scholbert
Click to expand...
Click to collapse
Not in ICS- ro.board.has_vibrator=no is present in model specific .rc files (which are parsed before .prop files). Unfortunately changing to 'yes' doesn't work. It seems that I've mised something in system permissions or Archos removed haptic feedback from system entirely
Tapatalked from my Archos 101 G9

gen_scheisskopf said:
Not in ICS- ro.board.has_vibrator=no is present in model specific .rc files (which are parsed before .prop files).
Click to expand...
Click to collapse
Good to know, i'll also try it...
gen_scheisskopf said:
Unfortunately changing to 'yes' doesn't work. It seems that I've mised something in system permissions or Archos removed haptic feedback from system entirely
Click to expand...
Click to collapse
Maybe your device got no vibrator motor as well... or do you mean that the setting for haptic feedback is missing even after changing the .rc file
I use hacker's keyboard on my other tablet and there's a setup for haptic feedback (though there's also no vibro hardware inside...).
Maybe i'll find something...
Thanks for the comment!
Regards,
scholbert

My device has vibrator installed (haptic feedback works like a charm on Homeycomb). Changes in .rc files only enabled haptic options in keyboard settings (Thumb Keyboard) but I didn't check files in /system/etc/permissions
Tapatalked from Xperia Arc S

gen_scheisskopf said:
My device has vibrator installed (haptic feedback works like a charm on Homeycomb). Changes in .rc files only enabled haptic options in keyboard settings (Thumb Keyboard) but I didn't check files in /system/etc/permissions
Tapatalked from Xperia Arc S
Click to expand...
Click to collapse
I checked the Honeycomb and yes haptic is working like a charm.
I don't know who cares, but I miss haptic feedback in ICS. Finding a solution could be a very good thing.

Some insights concerning hardware...
While fiddling around with my experimental device and stepping deeper into the tags file (see this http://forum.xda-developers.com/showthread.php?t=1711864) there's some conclusion to be drawn for the hardware.
First there's a bunch of devices floating around which are equipped with the high performance OMAP4430 and don't make use of it.
I disassembled at least two A80S standard tablets with the high performance OMAP4430 soldered on the mainboard.
Additionally both got a silicon pad at the bottom of the mainboard PCB to dissipate the heat from the CPU.
Both make use of the TPS62361B core voltage regulator, beeing capable to power even the OMAP4460 at 1.5GHz.
So looking at the hardware design there's no reason why these were sold as standard and clocked at 1GHz.
The revisions of A80S could easily run at 1.2GHz.
While stepping through some the tags from other user's devices i also realized that some of the A101S seem to be powered by the TWL6030 only and don't make use of the additional core regulator.
At least the FTAG for the TPS62361B is missing on these devices, which leds me to the conclusion the chip is not soldered on the mainboard.
Could be an older release though...
I guess this is the main reason for instability on the A101S while overclocking.
The CPU might do it, but the core voltage could drop at some point and freeze your tablet.
I thought this would be of interest.
Anyway, stay clean
scholbert

Locures one
Can we get any additional information regarding the touchscreen controller?
On my G9 80 Turbo (4460 1.5 GHz 1GB) the touch screen can only recognize around 227*227 touch points (more info: http://forum.xda-developers.com/showpost.php?p=27650004&postcount=4 ).
Is this a hardware limitation (low-resolution capacitive matrix), configuration issue or just bad drivers?

neur0mans3r said:
Can we get any additional information regarding the touchscreen controller?
Click to expand...
Click to collapse
If i find something i'll post it here.
It's all closed behind thick walls
neur0mans3r said:
On my G9 80 Turbo (4460 1.5 GHz 1GB) the touch screen can only recognize around 227*227 touch points (more info: http://forum.xda-developers.com/showpost.php?p=27650004&postcount=4 ).
Click to expand...
Click to collapse
Yeah, nice information. Not sure about the touchpoints value though.
neur0mans3r said:
Is this a hardware limitation (low-resolution capacitive matrix), configuration issue or just bad drivers?
Click to expand...
Click to collapse
Not sure about that.
These Cypress chips are not that bad usually, maybe it's the touchscreen glass itself which leds to this restriction.
If you look carefully, you might see this grid on the A80's screen.
I'll try to do some more investigation on this, though i'm not sure if there's anything to find in the open web
Regards,
scholbert

I got the approximate touch resolution by noting how much the XY values change when moving a single finger slowly on the screen in Input Benchmark multi-touch test.
Since the program returns a pixel coordinate you can work out an approximate resolution like this (landscape orientation):
- vertical: 768/3.37335 = 227.667
- horizontal: 1024/4.4978 = 227.6668
This probably means that the touchscreen resolves 256 points horizontally and vertically, but maybe those extra points are not evenly distributed, or are located under the black frame surrounding the screen.
However, sometimes you can get a touch point XY value in between the values you usually get (exactly between the values you usually get), but then the next value is still off by 3.3 or 4.5 pixels. I think this means that the hardware supports at least twice the current resolution, but the driver has aggressive input filtering that reduces touch resolution.
I'll write a test application that shows the raw touch data, and calculates the approximate resolution of the touchscreen.
[UPDATE]
I wrote a simple test and found that the touchscreen resolution is 2048*2048 (G9 80 Turbo 4460).
However when moving the finger along the screen horizontally or vertically you only get touch events for every 9 touch points (the numbers I provided above still stand) for that direction. In the other direction you get the full resolution (if you move the finger almost horizontally, you get poor horizontal resolution and full vertical resolution, but since in this case horizontal resolution is more important this isn't ideal).

Related

ScreenLock utility, hacked for Blue Angel devices

I didn't like the Calendar/Email combination for the program, as it required two hands to unlock it.
So, I found the two locations for each of the scan codes (Calendar = 193 / C1 00, E-mail = 196 / C4 00) and changed them to the Record (200 / C8 00) and Camera (199 / C7 00).
I found the Record/Camera combination much easier to use and still difficult to accidently unlock.
Hope this helps people.
Great idea, but can you change it so that it also locks the two phone buttons? They're still active, but you can't even tell what its doing cause the screen stays off!
I don't have the source code to this program, I only searched for the keys it scans for and changed them appropriately. You might want to check out PDAPhoneHome.com and two developers SuperDave and Mort making lockdown software for the Phone Edition PocketPCs.
Thanks, will have a look!

[UTIL]HTC Debug Tools

I found some tools in a part of french rom download in this forum.
You can test diamond nav pad, gsensor, position sensor, light sensor etc
I search in the forum but nobody talk about it.
do you know this tools.
exemple:with testHTCSensorDemoAP.exe
you can view position of the diamond, ambient value , brightness level.
Thanx ... was fun playing around with
Try the 'NavDbgTool.exe' ..... I didn't know that the entire bottom plate was touch!
And that there was Up, Down, Left, Right hardware buttons!
Cool!
Thanx for sharing!
NisseDILLIGAF said:
Try the 'NavDbgTool.exe' ..... I didn't know that the entire bottom plate was touch!
Click to expand...
Click to collapse
and it is not only touch sensitiv. it is capacitive (so it senses only your fingers, not the stylus, and you don't need to press, only touch like iphone), and it senses multitouch (you can use 2 fingers... like iphone)
FmsApp is the FM Radio tool, it shows also RDS. I have only one question. if there is a RDS capable FM tuner, why isn't TMC?
I'm enjoying the Nav Debug Tool as well
Thanks for finding this, great tools
WiZARD7 said:
and it is not only touch sensitiv. it is capacitive (so it senses only your fingers, not the stylus, and you don't need to press, only touch like iphone), and it senses multitouch (you can use 2 fingers... like iphone)
FmsApp is the FM Radio tool, it shows also RDS. I have only one question. if there is a RDS capable FM tuner, why isn't TMC?
Click to expand...
Click to collapse
If it does all that, maybe there is a possibility of assigning other functions to the touch-pad. Like what many are doing with the accelerometer....
timn2087 said:
If it does all that, maybe there is a possibility of assigning other functions to the touch-pad. Like what many are doing with the accelerometer....
Click to expand...
Click to collapse
Like a two finger zoom..
Thanks matou25 for this interesting tools.
I propose to build a list and a description of their actions/uses for each one :
A911Switch.exe ---> ???
Battery.exe ---> Battery infos
BTRouter.exe ---> Turn your device into BT Dongle ( need to be confirmed )
BTTest.exe ---> Test your BT module
ByteCounter ---> Data counter ( but for which interface ??? )
DCompassApp.exe ---> ???
DebugTool.exe ---> General debugging tool
DevHealth.exe ---> ??? ( It does not start on my device )
FmsApp.exe ---> Radio Tool
GPSRouter.exe ---> Turn your device into GPS USB Receiver ( need to be confirmed )
HTCGPSTool.exe ---> Test your internal GPS/ Satelites informations
ipsecvpnpm.exe ---> ??? ( about VPN )
memoRX.exe ---> ???
NavDbgTool.exe ---> Touchpad tool
NetworkTestPPC.exe ---> Network tool with very usefull Ping option
RegisterEditor.exe ---> (Very) Basic Registy Editor
testHTCSensorDemoAP.exe ---> Complete G-Sensor Tool
Unit_AT.exe ---> Something about "AT"
WLAN_eMapi.exe ---> Turn your device into Wifi Dongle ( need to be confirmed )
WLAN_LOG.exe ---> Enable/Disable Wifi Log files
WLAN_MAN.exe ---> WLAN Tool ( does it work? it does not for me )
You can help me to complete ths list if your know more than me
Regards.
I have put this Tool and the list on the wiki!
Pleas edit/add your findings there...
http://wiki.xda-developers.com/index.php?pagename=Diamond_Testing_Tool
Thank you man, good idea! it's perfect!
updated the wiki entry a bit..
The sensor tool is quite impressive, so much possibilities are open with that ! The fact that the bottom pannel is a multitouch sensor is just wonderful.
For the compass, I'd say those are generic debug tools for all HTC devices... So there might be a compass on the diamond, but I really think it's for another hardware... The Dream perhaps ?
Hmm could these tools maybe be used to calibrate the gsensor somehow ?
Has anyone else tested 'testHTCSensorAp' ??
My 'Ambient Value' is almost always 0, I have to but it up towards a lamp for it to react...
Anyone else got the same?
I hope my diamond isn't broken
A911Switch.exe ---> switch usb port to serial (i think)
DevHealth.exe
Hi,
I've done some investigation into DevHealth.exe. However it seems that the application isn't running (after the startup I get only "device-thinking" (rolling 4-colour circle) animation), I went to the Task Manager and even after pushing "x" mark during the startup the app uses about 86-87% of the CPU. After some time (3-5min?) it just went off by itself and dissapeared from the Task Manager list?? It left no additional files - maybe it just does some benchmark of the system??
for me ambient value is between 0 for dark to 768 for full sun light
pol280 said:
Hi,
I've done some investigation into DevHealth.exe. However it seems that the application isn't running (after the startup I get only "device-thinking" (rolling 4-colour circle) animation), I went to the Task Manager and even after pushing "x" mark during the startup the app uses about 86-87% of the CPU. After some time (3-5min?) it just went off by itself and dissapeared from the Task Manager list?? It left no additional files - maybe it just does some benchmark of the system??
Click to expand...
Click to collapse
DevHealth.exe give me a log in internal storage about memory usage during startup, dll load ......
origine of this tools
I found it in oemdrivers folder of os.nb french provide by
imobile.tw (Junior Member)
http://forum.xda-developers.com/showthread.php?t=412130
I think he could help us to know more about this tools.
matou25 said:
DevHealth.exe give me a log in internal storage about memory usage during startup, dll load ......
Click to expand...
Click to collapse
OK, I've found it. Got report named "mem_1.txt" in Internal Storage.
WLAN_MAN.exe
This one is WLAN Manager. It works on my device. I post the screen shot.

Artemis for outdoor use - Transflective display

Hi,
i want to use the P3300 for outdoor navigation, but the display is not readable even if it is cloudy! There are display types which are called transflective displays, that are still readable if the sun is shining and the background light is switched off (e.g. http://www.sharpsma.com/Page.aspx/americas/en/42fbcfb5-685b-4c5f-a40f-8b800b6a1124/).
Does anyone know such a display that is compatible with P3300? It has to use the same display controller. Does someone know which display controller is used in P3300?
I found a good disassembly instructions in the following forum:
http://www.modaco.com/content/artemis-love-artemis-modaco-com/260167/disassemble-xda-orbit/
because it seams slightly different for P3300 and XDA Orbit.
Kind regards,
hqqh
hi,
after some internet search I found a page (http://handyersatzteile-versand.de/index1.html) where the following displays are listed as compatible for the p3300:
- Toppoly TD028TTEB1
- Hitachi TX07D05VM0APA
- Sony ACX357AKN8
But in order to check which display controller and which logical/physical interface is used I need a datasheet. But I didn't found one!!!
From Hitachi there is a datasheet for TX07D09XXXX, but I'm not sure what the differences to TX07D05 are.
Any idea?
Regards,
hqqh

[REQ] Desktop app to create custom Resco Photo/Contact/Keyboard skins

Most of you will probably be familiar with various apps from Resco, for example the excellent Photo Manager, Contact Manager or the beta of the new Keyboard (v6). Although their interface looks quite good, I'm sure many people, including me, would still like to be able to skin them according to their own tastes.
So, I need someone who can develop a small app for Windows which does the following:
A skin consists of two files, Name.rpk and Name.VGA.rpk, where Name can be whatever the name of your skin should be. From what I see, these files are actually just collections of PNGs in one file, so the structure is like this:
Code:
52 50 23 (...) 89 50 4E 47 (...) 49 45 4E 44 AE 42 60 82 (...) 89 50 4E 47 (...) 49 45 4E 44 AE 42 60 82
The first chunk marks the beginning of the RPK, then there are all the PNGs which means. Each PNG is precceded with a slash and filename, e.g. \arrow_left.png, and begins with the sequence 89 50 4E 47 and ends with 49 45 4E 44 AE 42 60 82. So, the app should be able to "extract" (which means here just slicing the file) all PNGs and save them as 1.png, 2.png and so on, and be able to build the RPK with the modified PNGs.
I hope my explanation was understandable, at least I can assure you it should be a pretty easy job to do. Any dev who wants to do this? Remember, if you're using one of the mentioned apps you could benefit from it as well .
Shameless push - anybody? If you don't get what I mean feel free to ask .
Livven said:
Shameless push - anybody? If you don't get what I mean feel free to ask .
Click to expand...
Click to collapse
I thought the same. It's a shame, that the resco team encrypt/compress/ciwhyw their graphic files
Couldn't understand why they did that
Actually, it isn't encrypted or compressed in any way - I guess my description wasn't very good. Anyway, if you just copy and paste the mentioned segment between 89 50 4E 47 and 49 45 4E 44 AE 42 60 82 into a new file (using a hex editor), it's a PNG. I tried it for some and it works, but I can't do this with every PNG, so I hope someone can make a small app which just does this.
Livven said:
Actually, it isn't encrypted or compressed in any way - I guess my description wasn't very good. Anyway, if you just copy and paste the mentioned segment between 89 50 4E 47 and 49 45 4E 44 AE 42 60 82 into a new file (using a hex editor), it's a PNG. I tried it for some and it works, but I can't do this with every PNG, so I hope someone can make a small app which just does this.
Click to expand...
Click to collapse
I still understood your description. They put all pngs in just one file
Ah okay, I was just afraid my description wasn't understandable...
Anybody want to help me? It's really an easy job !
id love to make the app....ill try to give it a shot and post back in this thread.
Awesome, thanks a lot! If there's anything unclear just ask, I can't be 100% sure that there's nothing else inbetween the PNGs but we have to try before doing anything else...
when you say " and begins with the sequence 89 50 4E 47 and ends with 49 45 4E 44 AE 42 60 82. ", what do you mean? Should i open the png in a text editor? hex?
rkrishnan2012 said:
when you say " and begins with the sequence 89 50 4E 47 and ends with 49 45 4E 44 AE 42 60 82. ", what do you mean? Should i open the png in a text editor? hex?
Click to expand...
Click to collapse
This looks like HEX Code
Yes, they're hex. Looking forward to it .
Livven said:
....Any dev who wants to do this?...
Click to expand...
Click to collapse
OK, Russians did that job long ago. Sorrowfully the utility does not work with new Keyboard 6.0 rpk skins. I suppose - Resco changed some features of their secret packer.
You can anyway try the tool - at least it works for Contact Manager. Maybe you can fix it to work with Keyboard skins
The translation of HOWTO inside:
Put the skin file to the folder with program.
Unpack:
RescoCMSkinMaker -u skinname.rpk
skinname.rpk - skin file name.
After Unpack you get the folder 'skin' with png files and configuration file (don't touch config file). You free to edit png files
Pack:
RescoCMSkinMaker -p skinname.rpk
skinname.rpk - skin file name.
After Pack complete - you get your new skin in the folder with program.
For your convenience author created two bat-files. Just edit them to change skin files names.
-------------------------------------------------------------------------------
Author: Ветошкин В.В. aka en-trance.
URL: http://4pda.ru/forum/index.php?showtopic=96000
I wrote PM to the author of the program asking him to modify his tool for new Resco Keyboard skin files. I will inform when (or if) he replies........
Wow, thanks a lot, going to try it!
Livven said:
Wow, thanks a lot, going to try it!
Click to expand...
Click to collapse
Utility author already answered me - asked to upload new keyboard skins (from 6.0 ver). I sent him Default, Gray and Options.rpk and now I'm waiting for the reply....
New Resco Skin Maker - works for all Resco products.
HowTo is the same as for the old ver
Two versions inside the archive - for win32 and for wince
Author: Ветошкин В.В. aka en-trance (4pda.ru).
Be sure to give the author a huge thanks from me! That's awesome!
Just one suggestion (if you could relay it to the author): When packing/unpacking a skin, use the original name of the RPK for the folder and vice versa and put the images into the same folder as the XAML file. Minor things which would make this perfect .
Files are unpacking as in the program. And it would be wrong to put them into one folder.
Hi,
does anybody know how to edit the (unpacked) Default.xaml file?
Thanks CS
AndrewSh, tell me, please, is vibra notification for keypress working for you?
i am using PulseVibra_Sorg_Mod and keypress is not vibrating for me at all.
Great tool, I can unpack just fine, edit the pngs (only), but I can't pack back the rpk file. I mean it packs a rpk file named newskin.rpk, but it only has 7 bytes, while the original skin has around 50kb. And, of course, that file is not working on my ppc. What am I doing wrong?
Any help, please?... thanks alot!

OpenGL ES mess up my device

Hello
I code some games with opengl es for my winmo device. BUT: My apps won't startup after running several times (about 7 or 8 times) and I don't why.
And sometimes they just mess up my device - so I need to do a softreset by removing the accu of the phone...
Does anyone else have the same issue and already solved it?????
Thanks
Chabun
Hey guys
I really need help...
It's very strange, glGetError reports everything's running OK..
EGL does report any error, too.
And it must be OpenGLES or EGL cause on the device emulator (with vincent3D) everything's running...
Does anyone have a tip where I have to search for the fault?
Thanks
People having this problem 'solved' it by removing the call to eglTerminate.
What device/rom are you using?
Yeah, that's an bug of the egl on SnapDragon platforms (I'm using a HTC HD2 with the original Rom).
Now my app starts every time, but it crashes (and freezes the whole device) suddenly without reasons...
I'm not sure if this is a bug in the drivers as my apps work fine on HD2. Do you have this bug with my OpenGLES test apps (1.x, 2.0)?
No, you're apps run perfectly... (1.x and 2.0)
Is there sany source code avaible?
So I could compare my engine with yours to find out what's my problem.
But that my app runs perfectly (but slow ;-)) on the emulator is still a mystery...
The 1.x thread has a VS2005 project with an early version of the test. These sources are build for 1.x devices.
Try the following (maybe first in your project):
For OpengGL ES 1.x on 2.0 devices:
in egl.cs replace "libgles_cm.dll" by "libEGL.dll"
(if that's not enough try also to replace "libgles_cm.dll" by "libGLESv1.dll" in gl.cs)
In case your project is using OpenGL ES 2.0:
link/load libEGL.dll for egl and libGLESv2.dll for gl
After these changes you can't run it on the emulator anymore. But you can connect to your device. Just be sure to save everything before starting the debugger!
Hey
If I change the dll in the wrapper classes, I get a black screen with some render artefacts or other strange things....
I've downloaded your source but I can't see any difference between my engine and yours.
I'll send you a PM with my source code... (I don't want to publish my game now)
Please test it on your device, thank
Hey
sorry, I can't attach files zo a PM?!
Could you give me a mail-address where I'm able to send it to you?
I really don't want to publish it 'cause it's still not stable and finished...
chabun
Thanks..
Now everything is working...
And I will post my game as soon as I finish it, Thanks to heliosdev!!!
Chabun
A never ending fight
I thought all my issues were solved by changing the dlls...
But I was wrong, my app still freezes my device...
My game is based on a square field of tiles and it dynamically draws the field in different sizes - meaning that exactly the same code is executing. Depending on the size of the field, the draw method of the tiles is executed more times...
If it freezes my phone or not is depending on the field size, but it does not mean that more tiles (bigger field size) cause the freezing - the biggest field size works and the smallest not...
So I think I do not draw the tiles properly, cause that's the only thing that changes beetwen the field sizes.
Here is my code for drawing an image:
Code:
// Enable Alphablending
OpenGLES.Enable(OpenGLES.GL_BLEND);
OpenGLES.BlendFunc(OpenGLES.GL_SRC_ALPHA, OpenGLES.GL_ONE_MINUS_SRC_ALPHA);
// Reset the world (MODELVIEW);
OpenGLES.MatrixMode(OpenGLES.GL_MODELVIEW);
OpenGLES.LoadIdentity();
OpenGLES.Rotatef(90f, 0f, 0f, 1f);
OpenGLES.Translatef(0f, -480f, 0f);
// Set the Position
OpenGLES.Translatef(bounds.X, bounds.Y, ZIndex);
//Enable texturing and set current texture as the active one
OpenGLES.Enable(OpenGLES.GL_TEXTURE_2D);
OpenGLES.BindTexture(OpenGLES.GL_TEXTURE_2D, texture.Name);
//Aply the Color value to colorizing the active texture
OpenGLES.Color4f(Color.Rf, Color.Gf, Color.Bf, Color.Af);
//Enable the vertices array
OpenGLES.EnableClientState(OpenGLES.GL_VERTEX_ARRAY);
OpenGLES.VertexPointer(3, OpenGLES.GL_SHORT, 0, vertices);
//Enable the texCoords
OpenGLES.EnableClientState(OpenGLES.GL_TEXTURE_COORD_ARRAY);
OpenGLES.TexCoordPointer(2, OpenGLES.GL_FLOAT, 0, texCords);
// Draw the sprite.
OpenGLES.DrawArrays(OpenGLES.GL_TRIANGLES, 0, 6);
// Disable the vertices and the texCoords
OpenGLES.DisableClientState(OpenGLES.GL_VERTEX_ARRAY);
OpenGLES.DisableClientState(OpenGLES.GL_TEXTURE_COORD_ARRAY);
// Diesable texturing
OpenGLES.Disable(OpenGLES.GL_TEXTURE_2D);
OpenGLES.Disable(OpenGLES.GL_BLEND);
The vertex data and texcoords are the following ones:
Code:
static short[] vertices = { 0, 0, 0, 0, 1, 0, 1, 0, 0 ,
1, 1, 0, 0, 1, 0, 1, 0, 0 };
float[] texCoords = { 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0}
This code is executed once per frame and per image I draw... Do I simply miss calling an OpenGl-Method or is there any other fault?
Thanks for your help
Hope the never ending fight against opengl is goning to en...
Does changing short to float of the vertices and VertexPointer crash too?

Categories

Resources