Elektroda.pl
Elektroda.pl
X
Elektroda.pl
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Modyfikowany soft do telefonu Motorola E398 by elektro255

wntl 24 Wrz 2006 23:03 2373 0
  • #1
    wntl
    Poziom 17  
    DOWNLOAD: http://rapidshare.de/files/34145064/elektro255_mod_v0.1b_49R.rar.html

    Jeśli znalazłeś błąd w sofcie lub programie to napisz w tym temacie lub wyślij emaila na elektro255(malpa)yahoo.com.
    Aby było mi łatwiej posortować błedy w nawiasach kwadratowych na[isz czego dotyczy błąd np.:
    „[Program] Nie restartuje telefonu po zakończonej operacji flashowania”
    , lub
    „[Soft] wiesza się po włączeniu kamery wideo.”

    Jest to „czysty” soft, czyli nie posiada „śmieci” typu skórki, dzwonki, grafiki, Java, ponieważ każdy umie w swoim zakresie wgrać to wszystko.
    Na soft można wgrywać dowolny FLEX przeznaczony do softów 49R.
    Soft oparty na R373’49R.

    JEST TO WERSJA BETA I MOŻE ZAWIERAĆ BŁĘDY, WGRYWASZ NA WŁASNĄ ODPOWIEDZIALNOŚĆ.

    PONIEWAŻ NIEDŁUGO LECĘ DO TALLINA (ESTONIA) NA KONKURS, OD DZISIAJ DO DNIA 10 PAŹDZIERNIKA, NIE ODPOWIADAM NA MAILE I PW, NASTEPĘPNA WERSJA SOFTU UKAŻE SIĘ PO 10 PAŹDZIERNIKA.


    Dodatkowe funkcje softu

    Automatyczna blokada klawiatury
    Blokuje klawiaturę wraz z wygaszeniem ekranu.
    Aby wyłączyć tą opcję należy edytować SEEM 004A_0001 adres 0x91 bit 1, lub wyłączyć tą opcję przez aplikację Java [featurestorestate(1555,0);]

    Wyłączenie dźwięku rozładowanej baterii

    Ta opcja pozwala na włączenie lub wyłączenie dźwięku rozładowanej baterii.
    Aby wyłączyć tą opcję należy edytować SEEM 004A_0001 adres 0x91 bit 0, , lub wyłączyć tą opcję przez aplikację Java [featurestorestate(1555,0);]

    Latarka

    Wciśnij w dowolnej chwili ## aby włączyć/wyłączyć latarkę.
    (nie działa po zablokowaniu klawiatury, działa bez karty SIM)

    Zwiększona szybkość i zwiększony czas działania na baterii przez wyłączenie nie potrzebnych zadań systemu operacyjnego (np. logger, net monitor itp.)

    Dostęp do systemu operacyjnego z poziomu Javy

    Ponieważ w Polsce jest bardzo mało osób programujących w Java opis funkcji jest dostępny tylko w języku angielskim.

    Rozszerzenie Javy należy używać pośrednio przez moją bibliotekę Lib_synerj.class która zawiera następujące metody:

    -- static String readhex(int address)
    This method reads one byte from phone memory as String (HEX value)

    -- static void writebyte(int address,int value)
    This method writing one byte to memory (you can write only to RAM or peripherals, you can't edit flash memory [write byte to flash can reset phone])
    Value must be from range 0-255.

    -- static String inttohex(int a)
    Converts integer to hex string

    -- static void reset()
    This feature not working now. To reset phone write any byte to flash area.

    -- static void powerdown()
    Power down phone.

    -- static void sendtoos(int eventid,int param2,int param3)
    This method sends event request to Motorola operating system.
    param2 and param3 is not used yet.

    -- static int getfeatureavailability(int address)
    Reads one bit from motrola database (this bits is from SEEM32)
    Returns 0 or 1.

    -- static int featuregetcurrentstate(int address)
    Reads one byte from moto DB (bytes is from seem 4A, 4C)
    Returns value 0-255.

    -- static String getfeatureavailabilityhex(int address)
    Returns one byte from SEEM32 as HEX string.

    -- static int featuregetdefaultstate(int address)
    Reads one byte from moto DB (bytes is from seem 4B, 4D)
    Returns value 0-255.

    -- static int featuregetvalue(int param1,int param2)
    Reads one value from moto DB. (SEEM 4E).
    Returns value 0-4294967295.

    -- static int featurestorestate(int address,int value)
    Writes one byte DB. (seem 4A, 4C)
    Returns 0 if byte written successfuly, if not returns error code.

    -- static int featurestorevalue(int address,int value)
    Writes value to DB. (seem 4E)
    Returns 0 if value written successfuly, if not returns error code.


    ********** Examples of Event codes for method sendtoos **********

    1160 new chat message
    1164 chat from
    3321 new chat window
    2010 turn on funlight for current alert
    12307 browser
    1021 video recorder
    1617 voice notes
    1708 keypad lock
    1076 my tel. numbers
    961,3282 programmers menu
    3581 UIS Version
    2006 HW SW version
    2007,2008 Op Codes
    2021 Op Codes
    8377 open mainmenu
    8378,924 calendar
    3500 calendar - info about note
    3609 calendar choose date
    923 phone book
    927 new sms
    1329 received sms
    1330 write sms
    3233 set skin to default (Moto)
    3234 choose skin
    1023 java activations [corelet and midlets signs] (j2me0)
    1031,1033,1035,1036,1037 EMAIL
    1032 EMAIL settings
    532987 picture added to favorites
    532987 picture added is not in favorities
    3537 FILE_BROWSER_START
    1899 alarm nuber call
    1899 store FM radio frequency
    3535 choose funlight
    935 calculator
    1018 Video folder
    3238 Video recorder
    3295 install theme
    3480 join to ClubMotorola
    989 audioplayer start
    974 PictureViwer Start
    8596 camera
    923 phone book
    3514 volume changer
    943 initial setup
    1934 prefered card
    1082 language
    3283 TTY
    3385 clock set
    1569 MMS settings
    1365 New MMS
    1590 MMS templates
    1341 VoiceCapture
    3576 new clock alarm
    1941 auto answer settings
    1933 show credit

    ********** Memory map **********

    RAM0 AREA: 0x3FC0000-0x3FFFFFF
    RAM1 AREA: 0x12000000-0x127E0000
    RAM2 AREA: 0x127E0000-0x12800000
    FLASH : 0x10000000-0x11FFFFFF (THIS IS READ ONLY AREA)
    PERIPHERALS: 0x20000000-0x2FFFFFFF (NOT ALL ADDRESS IS USED)

    READ from not exists address, or write to read only area can reebot phone.

    ********** Peripherals map **********

    mdpi = 0x23800000
    aipi_psr0 = 0x24840000
    aipi_psr1 = 0x24840004
    hapi_gpio_reg = 0x24841000
    MCUPBDIRREG = 0x24841020
    MCUPBALTINREG = 0x2484102C
    MCUPCDIRREG = 0x24841038
    MCUPCALTINREG = 0x24841044
    MCUPBDATAREG = 0x24841084
    MCUPCDATAREG = 0x24841088
    MCUPDDATAREG = 0x2484108C
    hapi_rtc_reg = 0x24843000
    tcm_reserved = 0x24844000
    tcm_mtcr_reg = 0x24844008
    hapi_clock_reg = 0x24845000
    a2digl_reserved = 0x24846000
    HAPI_GPADC_reg = 0x24846010
    HAPI_AMARB_reg = 0x24847000
    egpt = 0x24848000
    epit = 0x2484801C
    hapi_watchdog_reg = 0x24849000
    rtr = 0x2484A000
    hapi_dsm_reg = 0x2484B000
    hapi_ext_interrupt = 0x2484C000
    hwi_uart1_prim_rx_reg = 0x2484D000
    hwi_uart1_regs = 0x2484D000
    uart1_base_address = 0x2484D000
    hwi_uart1_prim_tx_reg = 0x2484D040
    hwi_uart1_prim_ucr1 = 0x2484D080
    hwi_uart1_prim_ucr2 = 0x2484D082
    hwi_uart1_prim_ucr3 = 0x2484D084
    hwi_uart1_prim_ucr4 = 0x2484D086
    hwi_uart1_prim_usr1 = 0x2484D08A
    hwi_uart1_prim_usr2 = 0x2484D08C
    hwi_uart1_prim_ubir = 0x2484D092
    hwi_uart1_prim_ubmr = 0x2484D094
    hwi_uart1_prim_ubrc = 0x2484D096
    kpp = 0x2484E000
    sim_reserved = 0x2484F000
    hapi_ic_id_reg = 0x24850000
    neptune_uid_memory_map = 0x24850000
    qspi_reg = 0x24851000
    usb_regs = 0x24852000
    l1timer_reserved = 0x24853000
    hapi_display_reg = 0x24854000
    hapi_one_wire_reg = 0x24856000
    uart2_base_address = 0x24857000
    hacc = 0x24858000
    gem_reserved = 0x24859000
    io_mdi_reg_address = 0x2485BFF2
    io_mdi_shared_ram = 0x2485C800
    ahb_reserved = 0x28000000
    hapi_ext_interface_reg = 0x28880000
    main_external_interface = 0x28880000
    CS0_PRIM_CFG = 0x28880010
    CS0_SEC_CFG = 0x28880014
    CS0_WS_CTRL = 0x28880018
    CS0_BCLK_CTRL = 0x2888001C
    CS1_PRIM_CFG = 0x28880020
    CS1_SEC_CFG = 0x28880024
    CS1_WS_CTRL = 0x28880028
    CS1_BCLK_CTRL = 0x2888002C
    itc = 0x29890000
    awpt_regs = 0x2A8A00B4
    awptsr = 0x2A8A0208
    mtcl_reserved = 0x2B8B0000
    msu = 0x2C8C0000
    monitor = 0x2D8D0000
    sec_ram = 0x2E8E0000

    ********** DB MAP **********
    Mapa SEEMów w motorolowej baize danych jest jeszcze nie gotowa. Adresy w DB nie są adresami w bazie danych.
    Przez aplikację Java nie można edytować dowolnego SEEMa oraz nie można zapisać dowolnej wartości do rekordu.



    Podpowiedzi w jaki sposób można użyć edytora pamięci:
    Możesz zrobić backupa softu lub zrzut RAMu na kartę pamięci z poziomu Javy.
    Możesz z pamięci telefonu odczytać wszytkie parametry jego pracy np.: napięcie baterii, rodzaj ładowarki, prąd ładowania itp. Parametry te możesz użyć no narysowania wykresów w celu diagnozowania ładowarki i baterii.
    Możesz też odczytać informacje o połączeniu GSM, sile sygnału, poziomie zakłóceń, wzmocnieniu odbiornika, LAI, IMSI, CELLID itp.

    Przykłądowy adres do napięcia baterii: 0x127D0F41 (jeden bajt)
    Aby obliczyć napięcie baterii z odczytanej wartości z tego adresu musisz pomnożyć tą wartość przez 0,0176V i dodać 1,12V.


    zachecam do czytania innych wątków o tym sofcie:
    http://motomodders.net/Default.aspx?tabid=55&view=topics&forumid=13 [ANGIELSKI]
    http://gsmhosting.com/vbb/showthread.php?p=2000037 [ANGIELSKI]
    http://motofan.ru/board/index.php?showtopic=77295 [ROSYJSKI]
    http://forum.pasjagsm.pl/tematy20/11365.htm [POLSKI :D]