;*** Динамическая замена имени оператора v6 *** ;*** Dynamic replacing of Provider name v6 *** ;S55v20 ;(c) avkiev 19.05.2004 ;Имя оператора заменяется на строку, меняющуюся с течением времени. ;Частота обновления является частотой опроса сети телефоном. ;32 байта в области 21A900-21A91F являются двумя циклическими буферами, ;содержимое которых определяет то, что будет выводиться на экран. ;Первый буфер (21A900-21A90F) определяет замены при незаблокированной клавиатуре. ;Второй буфер (21A910-21A91F) - при заблокированной. ;Строка замены состоит из двух частей, разделенных пробелом. ;Пример №1: по адресу 21A900 находится 12h. ;Это значит, что имя оператора будет заменено на результат работы ;функции №1 и функции №2, разделенных пробелом. ;В нашем примере это будет "Время + Дата". ;Так как следующий байт равен 32h, то при следующем обновлении экрана ;будет выведено "День недели + Дата". ;И так в цикле, 16 раз, после чего мы опять вернемся к байту (21A900)=12h ;Пример №2: для того, чтобы всегда было "Время+Температура" нужно эту область забить байтом 14h. ;Если суммарная длина строки превышает 16 (?) символов, то окончание обрезается. ;Примеры скриншотов: http://avkiev.siemens-club.ru/Siemens/Patches/Provider/provider.htm ;Список доступных функций: ;+---+------------------+-----------+------+----------------------------------+ ;| N | Название | Формат | Длина| Комментарии | ;+---+------------------+-----------+------+----------------------------------+ ;| 1 | Время | 18:39 | 5 | | ;| 2 | Дата, день недели| 17 Май Пн | 6-10 | | ;| 3 | День недели | Понедел. | 5-8 | | ;| 4 | Температура | 25,7'C | 6 | | ;| 5 | Аккумулятор | 3,812 10% | 9 | | ;| 6 | Потребляемый ток | 58mA | 4,5 | | ;| 7 | Оператор | UA UMC | ? |Текущий оператор | ;| 8 | Уровень сигнала | -65dB | 5,6 |"-" - 1800, "_" - 900 | ;| 9 | Сетевая инфа | 6502:111 | 8,9 |CI:CH - Текущие сота и канал | ;| A | Статус | AGkSV9 | 6 |Alarm,GPRS,Keylock,Sound,Vibra,900| ;| B | Слово в памяти | 65535 | 4,5 |Мониторинг значения слова в памяти| ;+---+------------------+-----------+------+----------------------------------+ ;Все остальные - пусто ;The name of the Provider is change to dynamic changed string. ;The Frequency of the renovation is a frequency of the questioning to network by telephone. ;32 bytes in area 21A900-21A91F are two cyclic buffers, ;which define content of the screen. ;First buffer (21A900-21A90F) defines strings when keyboard isn't locked. ;Second (21A910-21A91F) - if keyboard is locked. ;Replacing string consist of two parts, separated with Space. ;Example N1: (21A900) = 12h. ;It means, that ProviderName will changed with results of ;function N1 and function N2, separated with Space. ;In our example it will be "Time + Date". ;Because of next byte is 32h, then next string will be "DayOfWeek + Date" ;It's cycle, 16 times, after this cycle we again return to byte (21A900)=12h ;Example N2: if you want always "Time+Temperature" fill this area with 14h. ;If total length of string more than 16 (?) chars - string will be truncated ;Screenshots: http://avkiev.kiev.ua/Siemens/Patches/Provider/provider.htm ;Avaliable functions: ;+---+------------------+-----------+------+----------------------------------+ ;| N | Description | Format | Len |Comments | ;+---+------------------+-----------+------+----------------------------------+ ;| 1 | Time | 18:39 | 5 | | ;| 2 | Date, DayOfWeek | 17 May Mo | 6-10 | | ;| 3 | Day of week | Monday | 5-8 | | ;| 4 | Temperature | 25,7'C | 6 | | ;| 5 | Akkumulator | 3,812 10% | 9 | | ;| 6 | Current cuircut | 58mA | 4,5 | | ;| 7 | Provider | UA UMC | ? |Current provider | ;| 8 | Level of Signal | -65dB | 5,6 |"-" - 1800, "_" - 900 | ;| 9 | Net Info | 6502:531 | 8,9 |CI:CH - Current cell and channel | ;| A | Status | AGkSV9 | 6 |Alarm,GPRS,Keylock,Sound,Vibra,900| ;| B | Word in memory | 65535 | 4,5 |Monitor of word in memory | ;+---+------------------+-----------+------+----------------------------------+ ;All other - empty 31AAF0: F2FF02FE DA6120A9 ;Два циклических 16-байтных буфера, настройте их под себя ;Two cyclic 16-bytes buffers, adjust their #pragma disable warn_no_old_on_apply 21A900: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 1232456578899AAB1232456578899AAB ; Клава не блокирована 21A910: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 212354568798A9BA212354568798A9BA ; Клава блокирована #pragma enable warn_no_old_on_apply 21A920: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 88508860887088C088D0E6F520C1A9D5 21A930: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 09D1B9D509A1BB10E7FF2000B9F509A1 21A940: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF BB0BE10DB9D598D098C0987098609850 21A950: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF E6FE2101E03FDB00D7401000F2F7B839 21A960: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF D7400300F2F6200166F60F0048702D02 21A970: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 06F6100006F60029D7408601A9C647FA 21A980: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 21003D017C4667FC0F0049C12D2149C2 21A990: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 2D5E49C32D7D49C4EA20E4AA49C5EA20 21A9A0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 1EAB49C6EA2070AB49C7EA209EAB47FC 21A9B0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 0800EA20A6AB47FC0900EA20F4AB47FC 21A9C0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 0A00EA2036AC47FC0B00EA20A0ACCB00 21A9D0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF D7500D00F2FCBC04F2FDBE04BB6DB9D5 21A9E0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 09A1B9C509A1E7FF3A00B9F509A1BB63 21A9F0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF B9D509A1B9C509A1CB00D7600D00F2F6 21AA00: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF C404F3FEC204F3FFC004E6FC1EC1B87C 21AA10: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 28C2B86CE03D8850DABF1CAF9850CB00 21AA20: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 8850004CD7408601A9C4F0C6DA677CFA 21AA30: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF F0E4F0F59850E10FB9F5F0C5E03DDABF 21AA40: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AE81F05CE7FF9100B9F509A1CB00D750 21AA50: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 0D00F2F4C204F2FDC004BB2EB9D509A1 21AA60: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF B9C509A1E7FF2000B9F509A1E11D47F8 21AA70: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 0A008D01E12DE6FC9B2ABBD2E7FF2000 21AA80: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF B9F509A1BBBAE12DE6FCA82ABBC9CB00 21AA90: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF BBB4E15DE6FCAF2ABBC3CB00ECEFF2F5 21AAA0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF F7F9FBFDFF000204090F14191D2228AC 21AAB0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF B8ADAEAFB0ABF0DCF6FD0EFEE0A65B66 21AAC0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF F3FD0EFEF3FC0CFE06F63030CB00F6FC 21AAD0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 0EFEE6FD64004BDDF2FD0CFEBBEFF076 21AAE0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF BBEBCB00D7406900F2FCB239E6FDAA0A 21AAF0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 20CDBBEDB9E509A1B9D509A1E7FF2C00 21AB00: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF B9F509A1B9C509A1E7FF2700B9F509A1 21AB10: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF E7FF4300B9F509A1CB000DD90D8CD740 21AB20: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 1000F2FC9638BBD3B9F509A1E7FF2C00 21AB30: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF B9F509A1B9E509A1B9D509A1B9C509A1 21AB40: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF E7FF2000B9F509A1D7400F00F2FD2828 21AB50: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF BBB3E7FE250047FD3A003D03E7FD3100 21AB60: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF F1ECB9D509A1B9C509A1B9E509A1CB00 21AB70: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF D7401000F2FCB038BB3C47FE30002D02 21AB80: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF B9E509A1B9D509A1B9C509A1E7FF6D00 21AB90: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF B9F509A1E7FF4100B9F509A1CB00F2FF 21ABA0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 02FEBBBCCB00D7500800F2FDE23EF2F6 21ABB0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF E83EE7FF110046FD7D008D02E7FF2D00 21ABC0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF B9F509A1E10DF0C6BB1447FE30002D02 21ABD0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF B9E509A1B9D509A1B9C509A1E7FF6400 21ABE0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF B9F509A1E7FF4200B9F509A1CB00EA00 21ABF0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF BCAA0D93D7400800F2FCE43EBB57E7FF 21AC00: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3A00B9F509A1D7400800F2FCE23E46FC 21AC10: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 7D008D0206FC5101BBECB9E509A1B9D5 21AC20: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 09A1B9C509A1CB0048402D0227FC2000 21AC30: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF B9C509A1CB00D7400A00F2F4C03F6841 21AC40: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF E7FC6100BBF1DA71C6B8E7FC6700BBEC 21AC50: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF D7401000F2F4B839E7FC6B00BBE5DAA4 21AC60: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 48B0E7FC530048402D06E7FC73004841 21AC70: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 2D02E7FC4200B9C509A1DA922E5FE7FC 21AC80: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 7600BBD2D7400800F2FDE23EE7FC3900 21AC90: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 46FD7D008D02E7FC3100B9C509A1CB00 21ACA0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF D7400900F2FC6C39BB01CB00F6FC0EFE 21ACB0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF E6F610275B66F2F70CFEBB9947FC3000 21ACC0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 2D02B9C509A1F0C7BB94B9F509A1B9E5 21ACD0: FFFFFFFFFFFFFFFFFFFFFFFF 09A1B9D509A1B9C509A1CB00 ;21AA7C: E7FF CB00 ; Не выводить день недели в функции 2 (Дата) ; Don't display DayOfWeek in function 2 (Date) ;21AB1E: D740 0D14 ; Не выводить напряжение в функции 5, только Проценты ; Don't display voltage in function 5, just percentages of Akku ;21AB40: E7FF CB00 ; Не выводить проценты в функции 5, только Напряжение ; Don't display percentages in function 5, just Voltage of Akku ;Настройка функции B (Монитор слова в памяти телефона) ;В данном примере мониторится слово по адресу 0009:39C6 = 02796C (MainscreenCounter) ;Adjusting of function B (Monitoring of word in memory) ;In this example word 0009:39C6 = 02796C (MainscreenCounter) will monitor ;21ACA2: 0900 0900 ; Страница адреса = adr/4000h ; Page = adr/4000h ;21ACA6: 6C39 6C39 ; Смещение адреса = adr%4000h ; Offset = adr%4000h ;locale=Russian_Russia.1251