;S65v43 - Динамическая замена имени оператора v3
;S65v43 - Dynamic replacing of Provider name v3
;(c) avkiev 24.02.2005
;(r) Bennie, arsh0r
/*
Имя оператора заменяется на строку, меняющуюся с течением времени.
Частота обновления является частотой опроса сети телефоном.
16 байтов в области 800100-80010F являются двумя циклическими буферами,
содержимое которых определяет то, что будет выводиться на экран.
Первый буфер (800100-800107) определяет замены в режиме главного экрана.
Второй буфер (800108-80010F) - в режиме Заставка.
Строка замены состоит из двух частей, разделенных пробелом.
Пример №1: по адресу 800100 находится 34h.
Это значит, что имя оператора будет заменено на результат работы
функции №3 и функции №4, разделенных пробелом.
В нашем примере это будет "Время + Дата".
Так как следующий байт равен 06h, то при следующем обновлении экрана
будет выведено "Дата".
И так в цикле, 8 раз, после чего мы опять вернемся к байту (800100)=34h
Пример №2: для того, чтобы всегда было "Время+Температура" нужно эту область забить байтом 3Bh.
Если суммарная длина строки превышает 16 (?) символов, то окончание обрезается.
Примеры скриншотов: http://avkiev.kiev.ua/Siemens/Patch...ov/dyn_prov.htm
Список доступных функций:
+---+------------------+-----------------+------+----------------------------------+
| N | Название | Формат | Длина| Комментарии |
+---+------------------+-----------------+------+----------------------------------+
| 0 | Пусто | | 0 | |
| 1 | Строка 1 | | | |
| 2 | Строка 2 | | | |
| 3 | Время | 15:56 | 5 | |
| 4 | Дата | 11.02.2005 | 10 | |
| 5 | Дата | 02/11/2005 | 10 | |
| 6 | Дата | Пт, 11 Фев 2005 | 15 | |
| 7 | Дата | Февраль, 11 | | |
| 8 | День недели | Понедел. | | Не больше 8 символов |
| 9 | День недели | Понедельник | | |
| A | Аккумулятор | 3,685 = 70% | 11,12| Напряжение и заряд аккумулятора |
| B | Температура | 31,9'C | 6 | |
| C | Оператор | UMC | | |
| D | Уровень сигнала | -65 dB | 6,7 |"-" - 900, "=" - 1800 |
| E | Сетевая инфа | 05513:804 | 9 |CI:CH - Текущие сота и канал |
| F | Слово в памяти | 65535 | 5 |Мониторинг значения слова в памяти|
+---+------------------+-----------------+------+----------------------------------+
*/
/*
The name of the Provider replaced with dynamic changed string.
The Frequency of the renovation is a frequency of the questioning to network by telephone.
16 bytes in area 800100-80010F are two cyclic buffers, which define content of the screen.
First buffer (800100-800107) defines strings in mainscreen mode.
Second (800108-80010F) - in screensaver mode.
Replacing string consist of two parts, separated with Space.
Example N1: (800100) = 34h.
It means, that ProviderName will changed with results of
function N3 and function N4, separated by Space.
In our example it will be "Time + Date".
Because of next byte is 06h, then next string will be "Date"
It's cycle, 8 times, after this cycle we again return to byte (800100)=34h
Example N2: if you want always "Time+Temperature" fill this area with 3Bh.
If total length of string more than 16 (?) chars - string will be truncated
Screenshots: http://avkiev.kiev.ua/Siemens/Patch...ov/dyn_prov.htm
Avaliable functions:
+---+------------------+-----------------+------+----------------------------------+
| N | Название | Формат | Длина| Комментарии |
+---+------------------+-----------------+------+----------------------------------+
| 0 | Empty | | 0 | |
| 1 | String 1 | | | |
| 2 | String 2 | | | |
| 3 | Time | 15:56 | 5 | |
| 4 | Date | 11.02.2005 | 10 | |
| 5 | Date | 02/11/2005 | 10 | |
| 6 | Date | Fr, 11 Feb 2005 | 15 | |
| 7 | Date | February, 11 | | |
| 8 | Day of the week | Wednes. | | No more than 8 chars |
| 9 | Day of the week | Wednesday | | |
| A | Accumulator | 3,685 = 70% | 11,12| Voltage and capacity of accu |
| B | Temperature | 31,9'C | 6 | |
| C | Provider | UMC | | |
| D | Net level | -65 dB | 6,7 |"-" - 900, "=" - 1800 |
| E | Net info | 05513:804 | 9 |CI:CH - Current cell and channel |
| F | HWord in memory | 65535 | 5 |Monitor of word in memory |
+---+------------------+-----------------+------+----------------------------------+
*/
16BB5EC: 893EB9A0 710180A0 ; call from mainscreen
16A2628: F7B52E4E0C1CB079 004B9F467D0180A0 ; call from screenasaver
#pragma enable old_equal_ff
;Два циклических 8-байтных буфера, настройте их по себя
;Two cyclic 8-bytes buffers, adjust their at your own
0800100: 34,06,78,09,BA,CD,CE,0F ; Главный экран | Mainscreen
0800108: 34,06,78,09,BA,CD,CE,0F ; Заставка | Screensaver
0800110: 'Unicode-строка1\0' ; String #1. MaxLen = 16 (including 0)
0800130: 'Unicode-string2\0' ; String #2. MaxLen = 16 (including 0)
0800150: 44796E2E2070726F7669646572207633
0800160: A961766B6965762032342E30322E3035
0800170: 00B50068002300F007F800BD00B50868
0800180: 082300F001F800BDF0B5A94E041CAC4F
0800190: 0025386801300721084038600437A749
08001A0: C9180B5C08B41B0900F00BF820230235
08001B0: 635308BC0F20034000F003F86D082580
08001C0: F0BD00B5307B5B009F4400BDFDE70DE0
08001D0: 10E01AE024E02DE036E050E060E062E0
08001E0: 64E084E09AE0A6E0C0E0CDE0C0469348
08001F0: 103002E0C04691483030038802300235
0800200: 6353002BF9D1023D00BDB188B08A8008
0800210: 091800F0DEF83A23023563537188D9E0
0800220: 00F0D6F82E2302356353317A00F0D1F8
0800230: 2E2320E0317A00F0CCF82F2302356353
0800240: 00F0C6F82F2316E0002800D107207D49
0800250: 0C3100F09CF82C230235635320230235
0800260: 635300F0B5F8202302356353307A7549
0800270: 00F08DF82023023563537189B6E0307A
0800280: 112109028B3100F082F82C2363532023
0800290: 02356353B1799DE0D5D6E2D7D8D9DA00
08002A0: 79460C39085C0421090271E000205F4A
08002B0: 09219047023500F097F8063D00F0AAF8
08002C0: 0635202363533D230235635320230235
08002D0: 635358490968642903D3312302356353
08002E0: 002100F076F825230235635300BD0120
08002F0: 03214E4A90470A210902AA31401A1E00
0800300: 00F072F8043D00F085F800F083F82723
0800310: 0235635343230235635300BD381C6119
0800320: 01600A8804B493F3AFFD04BC615B6253
0800330: 49006D1800BD40482D230188FF2900D3
0800340: 3D23023563538179642903D331230235
0800350: 6353643900F03DF82023023563536423
0800360: 0235635342230235635300BDC0463248
0800370: 023000F044F83048018800F036F8063D
0800380: 3A236353063500BDC0462F4838E000B5
0800390: 4018244B391D9847381D00210A010378
08003A0: 0130002B13D0A42B11D0952BF5D00821
08003B0: 962BF3D01021972BF0D038219A2BEDD0
08003C0: 40219B2BEAD09B1802356353E7E700BD
08003D0: B17900B50A20144A9047303002356053
08003E0: 30310235615300BD011C00B564200E4A
08003F0: 904702B4011CFFF7ECFF02BCEAE700B5
0800400: 0188094A272000021030904730300235
0800410: 6053EBE700B5605B2C216153023D6053
0800420: 043500BD01D640A1F08A83A0781224A1
0800430: 480164A8680567A86CCE67A8000180A0
0800440: 000077A897120000
0800448: 0xA867CE6C ; Address of HWord in function F
#pragma disable old_equal_ff
;Подстройка температуры в десятых долях градуса: 000 - TBA, 030 - TEN, 015 - (TBA+TEN)/2
;Adjust temperature in function B by 0.1'C: 000 - TBA, 030 - TEN, 015 - (TBA+TEN)/2
08002FF: 00 0i030


Odgovori uz citat
Bookmarks