"Цифровые часы при заблокированной клавиатуре" для A50v109101. Практически аналог того, что есть для C45v500315 и C55v24. ;*** Цифровые часы при заблокированной клавиатуре *** ;Прошивка : A50v109101 ;Автор : RizaPN, vova_v_g, Sinclair, MVV ; ; MVV: Это адаптация патча для C45v500315 от RizaPN и vova_v_g. ; Я убрал мигание двоеточия (жене это нафиг не надо, а свободную ячейку ; памяти искать очень лениво), и внес пробел при показе часов <10 ; (время выводится как 3:25, 9:45, а не 03:25, 09:45 и т.п., эта фича ; отключаема по желанию, см. кусок патча после "кода патча"). ; Отдельное огромное спасибо Sinclair за указание переменных с часами и ; минутами. :) ;Подключение кода патча 31CB08: E6FCA301 DA87C017 ;Код патча: 0717C0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF E00CD7500E00F2F1183DF2F2163D8820 0717D0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF BB09E0AEBB1826FC09009810BB03E6FC 0717E0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF A301DB00E0A2F6F10EFE5B22F2F10CFE 0717F0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 8810F2FE0EFEF02E702C3D01E0BEBB03 071800: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 98E0BB01CB0088C006FEAA02E09DDAC6 071810: FFFFFFFFFFFFFFFFFFFF 6AF698C006FC1600CB00 ; Вывод часов меньше 10 в двузначном формате ;0717FA: 3D 0D ; Ассемблер. :) ; ; 017C0: E0 0C MOV R12,#00H ; x = 0 ; 017C2: D7 50 0E 00 EXTP #000EH,#2 ; получаем ; 017C6: F2 F1 18 3D MOV R1,03D18H ; часы ; 017CA: F2 F2 16 3D MOV R2,03D16H ; минуты ; 017CE: 88 20 MOV [-R0],R2 ; часы (R1) ; 017D0: BB 09 CALLR 17E4H ; выдаем на экран ; 017D2: E0 AE MOV R14,#0AH ; двоеточие ; 017D4: BB 18 CALLR 1806H ; выдаем на экран ; 017D6: 26 FC 09 00 SUB R12,#0009H ; корректируем x на 22-13 ; 017DA: 98 10 MOV R1,[R0+] ; минуты (R1) ; 017DC: BB 03 CALLR 17E4H ; выдаем на экран ; 017DE: E6 FC A3 01 MOV R12,#01A3H ; затертая инструкция ; 017E2: DB 00 RETS ; все ; ; 017E4: E0 A2 MOV R2,#0AH ; делитель 10 ; 017E6: F6 F1 0E FE MOV MDL,R1 ; двузначку - в MDL ; 017EA: 5B 22 DIVU R2 ; MDL-частное, MDH-остаток ; 017EC: F2 F1 0C FE MOV R1,MDH ; (десятки) (единицы) ; 017F0: 88 10 MOV [-R0],R1 ; единицы - в стек ; 017F2: F2 FE 0E FE MOV R14,MDL ; ; 017F6: F0 2E MOV R2,R14 ; если десятки ; 017F8: 70 2C OR R2,R12 ; или координата x ; 017FA: 3D 01 JMPR CC_NZ,17FEH; не 0 - то цифру ; 017FC: E0 BE MOV R14,#0BH ; иначе - пробел ; 017FE: BB 03 CALLR 1806H ; выдаем на экран ; 01800: 98 E0 MOV R14,[R0+] ; единицы ; 01802: BB 01 CALLR 1806H ; выдаем на экран ; 01804: CB 00 RET ; ; 01806: 88 C0 MOV [-R0],R12 ; x - в стек ; 01808: 06 FE AA 02 ADD R14,#02AAH ; + номер картинки '0' ; 0180C: E0 9D MOV R13,#09H ; y = 9 для всех ; 0180E: DA C6 6A F6 CALLS 00C6:F66A ; R12=x,R13=y,R14=PicNo DrawPredefPics ; 01812: 98 C0 MOV R12,[R0+] ; x - из стека ; 01814: 06 FC 16 00 ADD R12,#0016H ; x += 22 ; 01818: CB 00 RET ;MaxPIT 682 -> 694 (максимум 736 :) 22FE34: AA02 B602 ;Таблица картинок: 2B9550: FFFFFFFFFFFFFFFF 16290100C00EAC03 2B9558: FFFFFFFFFFFFFFFF 162901003B0FAC03 2B9560: FFFFFFFFFFFFFFFF 16290100B60FAC03 2B9568: FFFFFFFFFFFFFFFF 16290100C010AC03 2B9570: FFFFFFFFFFFFFFFF 162901003B11AC03 2B9578: FFFFFFFFFFFFFFFF 16290100B611AC03 2B9580: FFFFFFFFFFFFFFFF 16290100C012AC03 2B9588: FFFFFFFFFFFFFFFF 162901003B13AC03 2B9590: FFFFFFFFFFFFFFFF 16290100B613AC03 2B9598: FFFFFFFFFFFFFFFF 16290100C014AC03 2B95A0: FFFFFFFFFFFFFFFF 0D2901003B15AC03 2B95A8: FFFFFFFFFFFFFFFF 162901008D15AC03 ; Картинки блоками по три где-то в толще массива других картинок прошивки ;-) ; '0' *** 2B0EC0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 00000300000300000307FF830FFFC317 2B0ED0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFA33BFF733DFEF33E01F33E01F33E01 2B0EE0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF F33E01F33E01F33E01F33E01F33E01F3 2B0EF0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3E01F33E01F31C00E308004300000308 2B0F00: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 00431C00E33E01F33E01F33E01F33E01 2B0F10: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF F33E01F33E01F33E01F33E01F33E01F3 2B0F20: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3E01F33DFEF33BFF7317FFA30FFFC307 2B0F30: FFFFFFFFFFFFFFFFFFFFFF FF83000003000003000003 ; '1' 2B0F3B: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 00000300000300000300000300000300 2B0F4B: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 00230000730000F30001F30001F30001 2B0F5B: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF F30001F30001F30001F30001F30001F3 2B0F6B: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 0001F30001F30000E300004300000300 2B0F7B: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 00430000E30001F30001F30001F30001 2B0F8B: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF F30001F30001F30001F30001F30001F3 2B0F9B: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 0001F30000F300007300002300000300 2B0FAB: FFFFFFFFFFFFFFFFFFFFFF 0003000003000003000003 ; '2' 2B0FB6: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 00000300000300000307FF830FFFC307 2B0FC6: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFA303FF7301FEF30001F30001F30001 2B0FD6: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF F30001F30001F30001F30001F30001F3 2B0FE6: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 0001F30001F301FEE303FF4307FF830B 2B0FF6: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FF031DFE033E00033E00033E00033E00 2B1006: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 033E00033E00033E00033E00033E0003 2B1016: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3E00033DFE033BFF0317FF830FFFC307 2B1026: FFFFFFFFFFFFFFFFFFFFFF FF83000003000003000003 ; '3' *** 2B10C0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 00000300000300000307FF830FFFC307 2B10D0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFA303FF7301FEF30001F30001F30001 2B10E0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF F30001F30001F30001F30001F30001F3 2B10F0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 0001F30001F301FEE303FF4307FF8303 2B1100: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FF4301FEE30001F30001F30001F30001 2B1110: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF F30001F30001F30001F30001F30001F3 2B1120: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 0001F301FEF303FF7307FFA30FFFC307 2B1130: FFFFFFFFFFFFFFFFFFFFFF FF83000003000003000003 ; '4' 2B113B: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 00000300000300000300000300000310 2B114B: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 00233800733C00F33E01F33E01F33E01 2B115B: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF F33E01F33E01F33E01F33E01F33E01F3 2B116B: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3E01F33E01F31DFEE30BFF4307FF8303 2B117B: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FF4301FEE30001F30001F30001F30001 2B118B: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF F30001F30001F30001F30001F30001F3 2B119B: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 0001F30000F300007300002300000300 2B11AB: FFFFFFFFFFFFFFFFFFFFFF 0003000003000003000003 ; '5' 2B11B6: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 00000300000300000307FF830FFFC317 2B11C6: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FF833BFF033DFE033E00033E00033E00 2B11D6: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 033E00033E00033E00033E00033E0003 2B11E6: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3E00033E00031DFE030BFF0307FF8303 2B11F6: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FF4301FEE30001F30001F30001F30001 2B1206: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF F30001F30001F30001F30001F30001F3 2B1216: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 0001F301FEF303FF7307FFA30FFFC307 2B1226: FFFFFFFFFFFFFFFFFFFFFF FF83000003000003000003 ; '6' *** 2B12C0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 00000300000300000307FF830FFFC317 2B12D0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FF833BFF033DFE033E00033E00033E00 2B12E0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 033E00033E00033E00033E00033E0003 2B12F0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3E00033E00031DFE030BFF0307FF830B 2B1300: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FF431DFEE33E01F33E01F33E01F33E01 2B1310: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF F33E01F33E01F33E01F33E01F33E01F3 2B1320: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3E01F33DFEF33BFF7317FFA30FFFC307 2B1330: FFFFFFFFFFFFFFFFFFFFFF FF83000003000003000003 ; '7' 2B133B: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 00000300000300000307FF830FFFC307 2B134B: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFA303FF7301FEF30001F30001F30001 2B135B: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF F30001F30001F30001F30001F30001F3 2B136B: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 0001F30001F30000E300004300000300 2B137B: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 00430000E30001F30001F30001F30001 2B138B: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF F30001F30001F30001F30001F30001F3 2B139B: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 0001F30000F300007300002300000300 2B13AB: FFFFFFFFFFFFFFFFFFFFFF 0003000003000003000003 ; '8' 2B13B6: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 00000300000300000307FF830FFFC317 2B13C6: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFA33BFF733DFEF33E01F33E01F33E01 2B13D6: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF F33E01F33E01F33E01F33E01F33E01F3 2B13E6: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3E01F33E01F31DFEE30BFF4307FF830B 2B13F6: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FF431DFEE33E01F33E01F33E01F33E01 2B1406: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF F33E01F33E01F33E01F33E01F33E01F3 2B1416: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3E01F33DFEF33BFF7317FFA30FFFC307 2B1426: FFFFFFFFFFFFFFFFFFFFFF FF83000003000003000003 ; '9' *** 2B14C0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 00000300000300000307FF830FFFC317 2B14D0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFA33BFF733DFEF33E01F33E01F33E01 2B14E0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF F33E01F33E01F33E01F33E01F33E01F3 2B14F0: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3E01F33E01F31DFEE30BFF4307FF8303 2B1500: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FF4301FEE30001F30001F30001F30001 2B1510: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF F30001F30001F30001F30001F30001F3 2B1520: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 0001F301FEF303FF7307FFA30FFFC307 2B1530: FFFFFFFFFFFFFFFFFFFFFF FF83000003000003000003 ; ':' 0Ah 2B153B: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 00070007000700070007000700070007 2B154B: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 000700070007000707070F870F870F87 2B155B: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 07070007000700070007000700070007 2B156B: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 07070F870F870F870707000700070007 2B157B: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 00070007000700070007000700070007 2B158B: FFFF 0007 ; ' ' 0Bh 2B158D: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 00000300000300000300000300000300 2B159D: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 00030000030000030000030000030000 2B15AD: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 03000003000003000003000003000003 2B15BD: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 00000300000300000300000300000300 2B15CD: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 00030000030000030000030000030000 2B15DD: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 03000003000003000003000003000003 2B15ED: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 00000300000300000300000300000300 2B15FD: FFFFFFFFFFFFFFFFFFFFFF 0003000003000003000003 ;locale=Russian_Russia.1251