############################################################################## # # # IAR ARM ANSI C/C++ Compiler V4.41A/W32 EVALUATION 14/Feb/2008 19:04:03 # # Copyright 1999-2005 IAR Systems. All rights reserved. # # # # Cpu mode = interwork # # Endian = little # # Stack alignment = 4 # # Source file = D:\Pasha\elf\_MY_PROJECT\AltIdleScr\main.c # # Command line = D:\Pasha\elf\_MY_PROJECT\AltIdleScr\main.c -D # # NEWSGLOD --preprocess D:\Pasha\elf\_MY_PROJECT\AltId # # leScr\Release_ELKA\List\ -lC # # D:\Pasha\elf\_MY_PROJECT\AltIdleScr\Release_ELKA\Lis # # t\ -lA D:\Pasha\elf\_MY_PROJECT\AltIdleScr\Release_E # # LKA\List\ -o D:\Pasha\elf\_MY_PROJECT\AltIdleScr\Rel # # ease_ELKA\Obj\ -s9 --no_unroll --cpu_mode arm # # --endian little --cpu ARM926EJ-S --stack_align 4 # # --interwork -e --fpu None --dlib_config # # "D:\Pasha\ARM_Embedded_Workbench\Embedded Workbench # # 4.0 Evaluation\ARM\LIB\dl5tpainl8n.h" -I # # "D:\Pasha\ARM_Embedded_Workbench\Embedded Workbench # # 4.0 Evaluation\ARM\INC\" --inline_threshold=2 # # List file = D:\Pasha\elf\_MY_PROJECT\AltIdleScr\Release_ELKA\Lis # # t\main.lst # # Object file = D:\Pasha\elf\_MY_PROJECT\AltIdleScr\Release_ELKA\Obj # # \main.r79 # # # # # ############################################################################## D:\Pasha\elf\_MY_PROJECT\AltIdleScr\main.c 1 #include "..\inc\swilib.h" 2 #include "draw.c" \ In segment DATA_Z, align 4, align-sorted \ DESC __data descmenu[16] \ descmenu: \ 00000000 DS8 10048 \ In segment DATA_Z, align 4, align-sorted \ MENUPIC __data mnu[9] \ mnu: \ 00000000 DS8 7236 \ In segment DATA_Z, align 4, align-sorted \ Panel __data name[9] \ name: \ 00000000 DS8 5220 \ In segment DATA_Z, align 4, align-sorted \ int __data NumOfItems \ NumOfItems: \ 00000000 DS8 4 \ In segment DATA_Z, align 4, align-sorted \ int __data NumOfItems2 \ NumOfItems2: \ 00000000 DS8 4 \ In segment DATA_Z, align 4, align-sorted \ int __data DrawMamory \ DrawMamory: \ 00000000 DS8 4 \ In segment DATA_Z, align 4, align-sorted \ int __data Pusk \ Pusk: \ 00000000 DS8 4 \ In segment DATA_C, align 4, align-sorted \ char const __data IMG1[126] \ IMG1: \ 00000000 303A5C736865 DC8 "0:\\shell\\icons\\app.png" \ 6C6C5C69636F \ 6E735C617070 \ 2E706E6700 \ 00000017 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000027 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000037 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000047 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000057 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000067 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000077 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000 \ char const __data IMG2[126] \ IMG2: \ 00000080 303A5C736865 DC8 "0:\\shell\\icons\\BCFG.png" \ 6C6C5C69636F \ 6E735C424346 \ 472E706E6700 \ 00000098 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 000000A8 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 000000B8 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 000000C8 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 000000D8 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 000000E8 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 000000F8 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0 \ 0000 \ char const __data IMG3[126] \ IMG3: \ 00000100 303A5C736865 DC8 "0:\\shell\\icons\\calendar.png" \ 6C6C5C69636F \ 6E735C63616C \ 656E6461722E \ 706E6700 \ 0000011C 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 0000012C 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 0000013C 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 0000014C 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 0000015C 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 0000016C 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 000000000000 \ 0000 \ char const __data IMG4[126] \ IMG4: \ 00000180 303A5C736865 DC8 "0:\\shell\\icons\\dev.png" \ 6C6C5C69636F \ 6E735C646576 \ 2E706E6700 \ 00000197 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 000001A7 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 000001B7 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 000001C7 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 000001D7 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 000001E7 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 000001F7 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000 \ In segment DATA_C, align 4, align-sorted \ char const __data IMG5[126] \ IMG5: \ 00000000 303A5C736865 DC8 "0:\\shell\\icons\\ELF.png" \ 6C6C5C69636F \ 6E735C454C46 \ 2E706E6700 \ 00000017 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000027 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000037 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000047 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000057 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000067 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000077 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000 \ In segment DATA_C, align 4, align-sorted \ char const __data IMG6[126] \ IMG6: \ 00000000 303A5C736865 DC8 "0:\\shell\\icons\\explorer.png" \ 6C6C5C69636F \ 6E735C657870 \ 6C6F7265722E \ 706E6700 \ 0000001C 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 0000002C 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 0000003C 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 0000004C 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 0000005C 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 0000006C 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 000000000000 \ 0000 \ In segment DATA_C, align 4, align-sorted \ char const __data MENU1_s[128] \ MENU1_s: \ 00000000 303A5C736865 DC8 "0:\\shell\\menu\\1_s.png" \ 6C6C5C6D656E \ 755C315F732E \ 706E6700 \ 00000016 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000026 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000036 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000046 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000056 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000066 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000076 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 00000000 \ In segment DATA_C, align 4, align-sorted \ char const __data MENU2_s[128] \ MENU2_s: \ 00000000 303A5C736865 DC8 "0:\\shell\\menu\\2_s.png" \ 6C6C5C6D656E \ 755C325F732E \ 706E6700 \ 00000016 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000026 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000036 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000046 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000056 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000066 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000076 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 00000000 \ In segment DATA_C, align 4, align-sorted \ char const __data MENU3_s[128] \ MENU3_s: \ 00000000 303A5C736865 DC8 "0:\\shell\\menu\\3_s.png" \ 6C6C5C6D656E \ 755C335F732E \ 706E6700 \ 00000016 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000026 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000036 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000046 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000056 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000066 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000076 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 00000000 \ In segment DATA_C, align 4, align-sorted \ char const __data MENU4_s[128] \ MENU4_s: \ 00000000 303A5C736865 DC8 "0:\\shell\\menu\\4_s.png" \ 6C6C5C6D656E \ 755C345F732E \ 706E6700 \ 00000016 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000026 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000036 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000046 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000056 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000066 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000076 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 00000000 \ In segment DATA_C, align 4, align-sorted \ char const __data MENU5_s[128] \ MENU5_s: \ 00000000 303A5C736865 DC8 "0:\\shell\\menu\\5_s.png" \ 6C6C5C6D656E \ 755C355F732E \ 706E6700 \ 00000016 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000026 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000036 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000046 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000056 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000066 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000076 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 00000000 \ In segment DATA_C, align 4, align-sorted \ char const __data MENU6_s[128] \ MENU6_s: \ 00000000 303A5C736865 DC8 "0:\\shell\\menu\\6_s.png" \ 6C6C5C6D656E \ 755C365F732E \ 706E6700 \ 00000016 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000026 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000036 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000046 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000056 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000066 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000076 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 00000000 \ In segment DATA_C, align 4, align-sorted \ char const __data MENU1_b[128] \ MENU1_b: \ 00000000 303A5C736865 DC8 "0:\\shell\\menu\\1_b.png" \ 6C6C5C6D656E \ 755C315F622E \ 706E6700 \ 00000016 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000026 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000036 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000046 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000056 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000066 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000076 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 00000000 \ In segment DATA_C, align 4, align-sorted \ char const __data MENU2_b[128] \ MENU2_b: \ 00000000 303A5C736865 DC8 "0:\\shell\\menu\\2_b.png" \ 6C6C5C6D656E \ 755C325F622E \ 706E6700 \ 00000016 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000026 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000036 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000046 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000056 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000066 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000076 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 00000000 \ In segment DATA_C, align 4, align-sorted \ char const __data MENU3_b[128] \ MENU3_b: \ 00000000 303A5C736865 DC8 "0:\\shell\\menu\\3_b.png" \ 6C6C5C6D656E \ 755C335F622E \ 706E6700 \ 00000016 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000026 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000036 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000046 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000056 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000066 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000076 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 00000000 \ In segment DATA_C, align 4, align-sorted \ char const __data MENU4_b[128] \ MENU4_b: \ 00000000 303A5C736865 DC8 "0:\\shell\\menu\\4_b.png" \ 6C6C5C6D656E \ 755C345F622E \ 706E6700 \ 00000016 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000026 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000036 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000046 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000056 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000066 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000076 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 00000000 \ In segment DATA_C, align 4, align-sorted \ char const __data MENU5_b[128] \ MENU5_b: \ 00000000 303A5C736865 DC8 "0:\\shell\\menu\\5_b.png" \ 6C6C5C6D656E \ 755C355F622E \ 706E6700 \ 00000016 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000026 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000036 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000046 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000056 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000066 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000076 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 00000000 \ In segment DATA_C, align 4, align-sorted \ char const __data MENU6_b[128] \ MENU6_b: \ 00000000 303A5C736865 DC8 "0:\\shell\\menu\\6_b.png" \ 6C6C5C6D656E \ 755C365F622E \ 706E6700 \ 00000016 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000026 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000036 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000046 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000056 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000066 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000076 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 00000000 \ In segment DATA_C, align 4, align-sorted \ char const __data bg3img[128] \ bg3img: \ 00000000 303A5C736865 DC8 "0:\\shell\\img\\BG.png" \ 6C6C5C696D67 \ 5C42472E706E \ 6700 \ 00000014 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000024 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000034 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000044 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000054 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000064 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000074 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ In segment DATA_Z, align 4, align-sorted \ int __data img_x \ img_x: \ 00000000 DS8 4 \ In segment CODE, align 4, keep-with-next \ __??Code32?? __code __interwork __atpcs int start(char *) \ start: \ 00000000 30402DE9 PUSH {R4,R5,LR} \ 00000004 0040A0E1 MOV R4,R0 \ 00000008 400FA0E3 MOV R0,#+256 \ 0000000C 250100EF SWI +293 \ 00000010 0050A0E1 MOV R5,R0 \ 00000014 402FA0E3 MOV R2,#+256 \ 00000018 0410A0E1 MOV R1,R4 \ 0000001C 6C0100EF SWI +364 \ 00000020 0020A0E3 MOV R2,#+0 \ 00000024 0010A0E3 MOV R1,#+0 \ 00000028 0500A0E1 MOV R0,R5 \ 0000002C 940000EF SWI +148 \ 00000030 0500A0E1 MOV R0,R5 \ 00000034 290100EF SWI +297 \ 00000038 0100A0E3 MOV R0,#+1 \ 0000003C 3080BDE8 POP {R4,R5,PC} ;; return \ In segment CODE, align 4, keep-with-next \ __??Code32?? __code __interwork __atpcs char *shortcut(char *) \ shortcut: \ 00000000 00402DE9 PUSH {LR} \ 00000004 740000EF SWI +116 \ 00000008 000050E3 CMP R0,#+0 \ 0000000C 0200000A BEQ ??shortcut_0 \ 00000010 30FF2FE1 BLX R0 \ 00000014 0000A0E3 MOV R0,#+0 \ 00000018 0080BDE8 POP {PC} \ ??shortcut_0: \ 0000001C 0C109FE5 LDR R1,??shortcut_1 ;; `?` \ 00000020 0100A0E3 MOV R0,#+1 \ 00000024 480100EF SWI +328 \ 00000028 0000A0E3 MOV R0,#+0 \ 0000002C 0080BDE8 POP {PC} ;; return \ ??shortcut_1: \ 00000030 ........ DC32 `?` \ In segment DATA_Z, align 4, align-sorted \ GBSTMR __data mytmr \ mytmr: \ 00000000 DS8 16 \ In segment CODE, align 4, keep-with-next \ __??Code32?? __code __interwork __atpcs void TimerProc(void) \ TimerProc: \ 00000000 00402DE9 PUSH {LR} \ 00000004 720100EF SWI +370 \ 00000008 0C209FE5 LDR R2,??TimerProc_0 ;; TimerProc \ 0000000C 0C009FE5 LDR R0,??TimerProc_0+0x4 ;; mytmr \ 00000010 D810A0E3 MOV R1,#+216 \ 00000014 4D0000EF SWI +77 \ 00000018 0080BDE8 POP {PC} ;; return \ ??TimerProc_0: \ 0000001C ........ DC32 TimerProc \ 00000020 ........ DC32 mytmr \ In segment CODE, align 4, keep-with-next \ __??Code32?? __code __interwork __atpcs void DrawBG() \ DrawBG: \ 00000000 F0402DE9 PUSH {R4-R7,LR} \ 00000004 ........ LDR R4,??DataTable15 ;; crd \ 00000008 240194E5 LDR R0,[R4, #+292] \ 0000000C 010050E3 CMP R0,#+1 \ 00000010 1200001A BNE ??DrawBG_0 \ 00000014 2E0100EF SWI +302 \ 00000018 0050A0E1 MOV R5,R0 \ 0000001C 0400A0E3 MOV R0,#+4 \ 00000020 2E0100EF SWI +302 \ 00000024 0060A0E1 MOV R6,R0 \ 00000028 898100EF SWI +33161 \ 0000002C 0070A0E1 MOV R7,R0 \ 00000030 888100EF SWI +33160 \ 00000034 20002DE9 PUSH {R5} \ 00000038 40002DE9 PUSH {R6} \ 0000003C 0010A0E3 MOV R1,#+0 \ 00000040 02002DE9 PUSH {R1} \ 00000044 02002DE9 PUSH {R1} \ 00000048 02002DE9 PUSH {R1} \ 0000004C 013047E2 SUB R3,R7,#+1 \ 00000050 012040E2 SUB R2,R0,#+1 \ 00000054 0000A0E3 MOV R0,#+0 \ 00000058 500100EF SWI +336 \ 0000005C 14D08DE2 ADD SP,SP,#+20 \ ??DrawBG_0: \ 00000060 F18000EF SWI +33009 \ 00000064 0050A0E1 MOV R5,R0 \ 00000068 898100EF SWI +33161 \ 0000006C 0060A0E1 MOV R6,R0 \ 00000070 888100EF SWI +33160 \ 00000074 0110A0E3 MOV R1,#+1 \ 00000078 02002DE9 PUSH {R1} \ 0000007C 013040E2 SUB R3,R0,#+1 \ 00000080 0020A0E3 MOV R2,#+0 \ 00000084 0500A0E1 MOV R0,R5 \ 00000088 011046E2 SUB R1,R6,#+1 \ 0000008C 02002DE9 PUSH {R1} \ 00000090 0010A0E3 MOV R1,#+0 \ 00000094 250000EF SWI +37 \ 00000098 240194E5 LDR R0,[R4, #+292] \ 0000009C 08D08DE2 ADD SP,SP,#+8 \ 000000A0 030050E3 CMP R0,#+3 \ 000000A4 F080BD18 POPNE {R4-R7,PC} \ 000000A8 0C209FE5 LDR R2,??DrawBG_1 ;; bg3img \ 000000AC 0010A0E3 MOV R1,#+0 \ 000000B0 0000A0E3 MOV R0,#+0 \ 000000B4 230000EF SWI +35 \ 000000B8 F080BDE8 POP {R4-R7,PC} ;; return \ ??DrawBG_1: \ 000000BC ........ DC32 bg3img \ In segment CODE, align 4, keep-with-next \ __??Code32?? __code __interwork __atpcs void DrawNetAdv(int, int) \ DrawNetAdv: \ 00000000 F0432DE9 PUSH {R4-R9,LR} \ 00000004 0060A0E1 MOV R6,R0 \ 00000008 0140A0E1 MOV R4,R1 \ 0000000C 0050A0E3 MOV R5,#+0 \ ??DrawNetAdv_0: \ 00000010 0C00A0E3 MOV R0,#+12 \ 00000014 900507E0 MUL R7,R0,R5 \ 00000018 CA8000EF SWI +32970 \ 0000001C 000087E0 ADD R0,R7,R0 \ 00000020 0600D0E5 LDRB R0,[R0, #+6] \ 00000024 000050E3 CMP R0,#+0 \ 00000028 2000000A BEQ ??DrawNetAdv_1 \ 0000002C CA8000EF SWI +32970 \ 00000030 B00097E1 LDRH R0,[R7, +R0] \ 00000034 FF0050E3 CMP R0,#+255 \ 00000038 0200A033 MOVCC R0,#+2 \ 0000003C 0400A023 MOVCS R0,#+4 \ 00000040 2E0100EF SWI +302 \ 00000044 0080A0E1 MOV R8,R0 \ 00000048 CA8000EF SWI +32970 \ 0000004C B00097E1 LDRH R0,[R7, +R0] \ 00000050 FF0050E3 CMP R0,#+255 \ 00000054 0200A033 MOVCC R0,#+2 \ 00000058 0400A023 MOVCS R0,#+4 \ 0000005C 2E0100EF SWI +302 \ 00000060 0090A0E1 MOV R9,R0 \ 00000064 CA8000EF SWI +32970 \ 00000068 000087E0 ADD R0,R7,R0 \ 0000006C 0600D0E5 LDRB R0,[R0, #+6] \ 00000070 00012DE9 PUSH {R8} \ 00000074 00022DE9 PUSH {R9} \ 00000078 0020A0E3 MOV R2,#+0 \ 0000007C 04002DE9 PUSH {R2} \ 00000080 04002DE9 PUSH {R2} \ 00000084 04002DE9 PUSH {R2} \ 00000088 730060E2 RSB R0,R0,#+115 \ 0000008C 0E1084E2 ADD R1,R4,#+14 \ 00000090 0130A0E1 MOV R3,R1 \ 00000094 032086E2 ADD R2,R6,#+3 \ 00000098 C070A0E1 ASR R7,R0,#+1 \ 0000009C 270F80E0 ADD R0,R0,R7, LSR #+30 \ 000000A0 401141E0 SUB R1,R1,R0, ASR #+2 \ 000000A4 0600A0E1 MOV R0,R6 \ 000000A8 500100EF SWI +336 \ 000000AC 14D08DE2 ADD SP,SP,#+20 \ ??DrawNetAdv_1: \ 000000B0 015085E2 ADD R5,R5,#+1 \ 000000B4 056086E2 ADD R6,R6,#+5 \ 000000B8 060055E3 CMP R5,#+6 \ 000000BC D3FFFF1A BNE ??DrawNetAdv_0 \ 000000C0 F083BDE8 POP {R4-R9,PC} ;; return \ In segment CODE, align 4, keep-with-next \ __??Code32?? __code __interwork __atpcs void DrawNetStd(int, int) \ DrawNetStd: \ 00000000 30402DE9 PUSH {R4,R5,LR} \ 00000004 0040A0E1 MOV R4,R0 \ 00000008 0150A0E1 MOV R5,R1 \ 0000000C CA8000EF SWI +32970 \ 00000010 0600D0E5 LDRB R0,[R0, #+6] \ 00000014 1C109FE5 LDR R1,??DrawNetStd_0 ;; 0x2aaaaaab \ 00000018 730060E2 RSB R0,R0,#+115 \ 0000001C 9120C3E0 SMULL R2,R3,R1,R0 \ 00000020 0510A0E1 MOV R1,R5 \ 00000024 A00F83E0 ADD R0,R3,R0, LSR #+31 \ 00000028 D72F80E2 ADD R2,R0,#+860 \ 0000002C 0400A0E1 MOV R0,R4 \ 00000030 230000EF SWI +35 \ 00000034 3080BDE8 POP {R4,R5,PC} ;; return \ ??DrawNetStd_0: \ 00000038 ABAAAA2A DC32 0x2aaaaaab \ In segment CODE, align 4, keep-with-next \ __??Code32?? __code __interwork __atpcs void DrawNetDb(int, int) \ DrawNetDb: \ 00000000 F0402DE9 PUSH {R4-R7,LR} \ 00000004 0040A0E1 MOV R4,R0 \ 00000008 0150A0E1 MOV R5,R1 \ 0000000C 400FA0E3 MOV R0,#+256 \ 00000010 250100EF SWI +293 \ 00000014 0060A0E1 MOV R6,R0 \ 00000018 CA8000EF SWI +32970 \ 0000001C 0070A0E1 MOV R7,R0 \ 00000020 CA8000EF SWI +32970 \ 00000024 B000D0E1 LDRH R0,[R0, #+0] \ 00000028 0630D7E5 LDRB R3,[R7, #+6] \ 0000002C 68109FE5 LDR R1,??DrawNetDb_0 ;; `?` \ 00000030 FF0050E3 CMP R0,#+255 \ 00000034 2D20A033 MOVCC R2,#+45 \ 00000038 3D20A023 MOVCS R2,#+61 \ 0000003C 0600A0E1 MOV R0,R6 \ 00000040 240100EF SWI +292 \ 00000044 1700A0E3 MOV R0,#+23 \ 00000048 2E0100EF SWI +302 \ 0000004C 0070A0E1 MOV R7,R0 \ 00000050 0000A0E3 MOV R0,#+0 \ 00000054 2E0100EF SWI +302 \ 00000058 80002DE9 PUSH {R7} \ 0000005C 01002DE9 PUSH {R0} \ 00000060 8030A0E3 MOV R3,#+128 \ 00000064 0520A0E1 MOV R2,R5 \ 00000068 0410A0E1 MOV R1,R4 \ 0000006C 0000A0E3 MOV R0,#+0 \ 00000070 01002DE9 PUSH {R0} \ 00000074 0700A0E3 MOV R0,#+7 \ 00000078 01002DE9 PUSH {R0} \ 0000007C AC00A0E3 MOV R0,#+172 \ 00000080 01002DE9 PUSH {R0} \ 00000084 0600A0E1 MOV R0,R6 \ 00000088 4C0100EF SWI +332 \ 0000008C 0600A0E1 MOV R0,R6 \ 00000090 290100EF SWI +297 \ 00000094 14D08DE2 ADD SP,SP,#+20 \ 00000098 F080BDE8 POP {R4-R7,PC} ;; return \ ??DrawNetDb_0: \ 0000009C ........ DC32 `?` \ In segment CODE, align 4, keep-with-next \ __??Code32?? __code __interwork __atpcs void DrawNetExt(int, int) \ DrawNetExt: \ 00000000 F0412DE9 PUSH {R4-R8,LR} \ 00000004 0060A0E1 MOV R6,R0 \ 00000008 0140A0E1 MOV R4,R1 \ 0000000C 066086E2 ADD R6,R6,#+6 \ 00000010 CA8000EF SWI +32970 \ 00000014 B000D0E1 LDRH R0,[R0, #+0] \ 00000018 FF0050E3 CMP R0,#+255 \ 0000001C 0250A033 MOVCC R5,#+2 \ 00000020 0450A023 MOVCS R5,#+4 \ 00000024 CA8000EF SWI +32970 \ 00000028 0600D0E5 LDRB R0,[R0, #+6] \ 0000002C 700050E3 CMP R0,#+112 \ 00000030 F081BD28 POPCS {R4-R8,PC} \ 00000034 CA8000EF SWI +32970 \ 00000038 0670D0E5 LDRB R7,[R0, #+6] \ 0000003C 260000EA B ??DrawNetExt_0 \ ??DrawNetExt_1: \ 00000040 0500A0E1 MOV R0,R5 \ 00000044 2E0100EF SWI +302 \ 00000048 0020A0E1 MOV R2,R0 \ 0000004C 0410A0E1 MOV R1,R4 \ 00000050 040086E2 ADD R0,R6,#+4 \ 00000054 030200EF SWI +515 \ 00000058 0500A0E1 MOV R0,R5 \ 0000005C 2E0100EF SWI +302 \ 00000060 0020A0E1 MOV R2,R0 \ 00000064 011084E2 ADD R1,R4,#+1 \ 00000068 030086E2 ADD R0,R6,#+3 \ 0000006C 030200EF SWI +515 \ 00000070 0500A0E1 MOV R0,R5 \ 00000074 2E0100EF SWI +302 \ 00000078 0020A0E1 MOV R2,R0 \ 0000007C 021084E2 ADD R1,R4,#+2 \ 00000080 020086E2 ADD R0,R6,#+2 \ 00000084 030200EF SWI +515 \ 00000088 0500A0E1 MOV R0,R5 \ 0000008C 2E0100EF SWI +302 \ 00000090 018086E2 ADD R8,R6,#+1 \ 00000094 0020A0E1 MOV R2,R0 \ 00000098 031084E2 ADD R1,R4,#+3 \ 0000009C 0800A0E1 MOV R0,R8 \ 000000A0 030200EF SWI +515 \ 000000A4 0500A0E1 MOV R0,R5 \ 000000A8 2E0100EF SWI +302 \ 000000AC 0020A0E1 MOV R2,R0 \ 000000B0 041084E2 ADD R1,R4,#+4 \ 000000B4 0600A0E1 MOV R0,R6 \ 000000B8 030200EF SWI +515 \ 000000BC 0500A0E1 MOV R0,R5 \ 000000C0 2E0100EF SWI +302 \ 000000C4 0020A0E1 MOV R2,R0 \ 000000C8 051084E2 ADD R1,R4,#+5 \ 000000CC 010046E2 SUB R0,R6,#+1 \ 000000D0 030200EF SWI +515 \ 000000D4 027087E2 ADD R7,R7,#+2 \ 000000D8 0860A0E1 MOV R6,R8 \ ??DrawNetExt_0: \ 000000DC 700057E3 CMP R7,#+112 \ 000000E0 D6FFFFBA BLT ??DrawNetExt_1 \ 000000E4 F081BDE8 POP {R4-R8,PC} ;; return \ In segment CODE, align 4, keep-with-next \ __??Code32?? __code __interwork __atpcs void DrawBattStd(int, int) \ DrawBattStd: \ 00000000 30402DE9 PUSH {R4,R5,LR} \ 00000004 0040A0E1 MOV R4,R0 \ 00000008 0150A0E1 MOV R5,R1 \ 0000000C C88000EF SWI +32968 \ 00000010 B000D0E1 LDRH R0,[R0, #+0] \ 00000014 ........ LDR R1,??DataTable2 ;; 0x38e38e39 \ 00000018 9120C3E0 SMULL R2,R3,R1,R0 \ 0000001C 5910A0E3 MOV R1,#+89 \ 00000020 C330A0E1 ASR R3,R3,#+1 \ 00000024 A00F83E0 ADD R0,R3,R0, LSR #+31 \ 00000028 801F81E3 ORR R1,R1,#0x200 \ 0000002C 002081E0 ADD R2,R1,R0 \ 00000030 0510A0E1 MOV R1,R5 \ 00000034 0400A0E1 MOV R0,R4 \ 00000038 230000EF SWI +35 \ 0000003C 3080BDE8 POP {R4,R5,PC} ;; return \ In segment CODE, align 4, keep-with-next \ __??Code32?? __code __interwork __atpcs void DrawBattExt(int, int) \ DrawBattExt: \ 00000000 30402DE9 PUSH {R4,R5,LR} \ 00000004 0040A0E1 MOV R4,R0 \ 00000008 0150A0E1 MOV R5,R1 \ 0000000C C88000EF SWI +32968 \ 00000010 B000D0E1 LDRH R0,[R0, #+0] \ 00000014 ........ LDR R1,??DataTable2 ;; 0x38e38e39 \ 00000018 9120C3E0 SMULL R2,R3,R1,R0 \ 0000001C 5910A0E3 MOV R1,#+89 \ 00000020 C330A0E1 ASR R3,R3,#+1 \ 00000024 A00F83E0 ADD R0,R3,R0, LSR #+31 \ 00000028 801F81E3 ORR R1,R1,#0x200 \ 0000002C 002081E0 ADD R2,R1,R0 \ 00000030 0510A0E1 MOV R1,R5 \ 00000034 0400A0E1 MOV R0,R4 \ 00000038 230000EF SWI +35 \ 0000003C 3080BDE8 POP {R4,R5,PC} ;; return \ In segment CODE, align 4, keep-with-next \ __??Code32?? __code __interwork __atpcs void DrawBattCap(int, int) \ DrawBattCap: \ 00000000 F0402DE9 PUSH {R4-R7,LR} \ 00000004 0040A0E1 MOV R4,R0 \ 00000008 0150A0E1 MOV R5,R1 \ 0000000C 400FA0E3 MOV R0,#+256 \ 00000010 250100EF SWI +293 \ 00000014 0060A0E1 MOV R6,R0 \ 00000018 C88000EF SWI +32968 \ 0000001C B020D0E1 LDRH R2,[R0, #+0] \ 00000020 5C109FE5 LDR R1,??DrawBattCap_0 ;; `?` \ 00000024 0600A0E1 MOV R0,R6 \ 00000028 240100EF SWI +292 \ 0000002C 1700A0E3 MOV R0,#+23 \ 00000030 2E0100EF SWI +302 \ 00000034 0070A0E1 MOV R7,R0 \ 00000038 0000A0E3 MOV R0,#+0 \ 0000003C 2E0100EF SWI +302 \ 00000040 80002DE9 PUSH {R7} \ 00000044 01002DE9 PUSH {R0} \ 00000048 8030A0E3 MOV R3,#+128 \ 0000004C 0520A0E1 MOV R2,R5 \ 00000050 0410A0E1 MOV R1,R4 \ 00000054 0000A0E3 MOV R0,#+0 \ 00000058 01002DE9 PUSH {R0} \ 0000005C 0700A0E3 MOV R0,#+7 \ 00000060 01002DE9 PUSH {R0} \ 00000064 AC00A0E3 MOV R0,#+172 \ 00000068 01002DE9 PUSH {R0} \ 0000006C 0600A0E1 MOV R0,R6 \ 00000070 4C0100EF SWI +332 \ 00000074 0600A0E1 MOV R0,R6 \ 00000078 290100EF SWI +297 \ 0000007C 14D08DE2 ADD SP,SP,#+20 \ 00000080 F080BDE8 POP {R4-R7,PC} ;; return \ ??DrawBattCap_0: \ 00000084 ........ DC32 `?` \ In segment CODE, align 4, keep-with-next \ __??Code32?? __code __interwork __atpcs void DrawBattVolt(int, int) \ DrawBattVolt: \ 00000000 F0402DE9 PUSH {R4-R7,LR} \ 00000004 0040A0E1 MOV R4,R0 \ 00000008 0150A0E1 MOV R5,R1 \ 0000000C 400FA0E3 MOV R0,#+256 \ 00000010 250100EF SWI +293 \ 00000014 0060A0E1 MOV R6,R0 \ 00000018 0910A0E3 MOV R1,#+9 \ 0000001C 0000A0E3 MOV R0,#+0 \ 00000020 060000EF SWI +6 \ 00000024 0070A0E1 MOV R7,R0 \ 00000028 0910A0E3 MOV R1,#+9 \ 0000002C 0000A0E3 MOV R0,#+0 \ 00000030 060000EF SWI +6 \ 00000034 ........ LDR R1,??DataTable5 ;; 0x10624dd3 \ 00000038 9721C3E0 SMULL R2,R3,R7,R1 \ 0000003C FA2FA0E3 MOV R2,#+1000 \ 00000040 4333A0E1 ASR R3,R3,#+6 \ 00000044 A73F83E0 ADD R3,R3,R7, LSR #+31 \ 00000048 920303E0 MUL R3,R2,R3 \ 0000004C 80209FE5 LDR R2,??DrawBattVolt_0 ;; 0x66666667 \ 00000050 031047E0 SUB R1,R7,R3 \ 00000054 9231C7E0 SMULL R3,R7,R2,R1 \ 00000058 4771A0E1 ASR R7,R7,#+2 \ 0000005C A13F87E0 ADD R3,R7,R1, LSR #+31 \ 00000060 ........ LDR R1,??DataTable5 ;; 0x10624dd3 \ 00000064 9120C7E0 SMULL R2,R7,R1,R0 \ 00000068 68109FE5 LDR R1,??DrawBattVolt_0+0x4 ;; `?` \ 0000006C 4773A0E1 ASR R7,R7,#+6 \ 00000070 A02F87E0 ADD R2,R7,R0, LSR #+31 \ 00000074 0600A0E1 MOV R0,R6 \ 00000078 240100EF SWI +292 \ 0000007C 1700A0E3 MOV R0,#+23 \ 00000080 2E0100EF SWI +302 \ 00000084 0070A0E1 MOV R7,R0 \ 00000088 0000A0E3 MOV R0,#+0 \ 0000008C 2E0100EF SWI +302 \ 00000090 80002DE9 PUSH {R7} \ 00000094 01002DE9 PUSH {R0} \ 00000098 8030A0E3 MOV R3,#+128 \ 0000009C 0520A0E1 MOV R2,R5 \ 000000A0 0410A0E1 MOV R1,R4 \ 000000A4 0000A0E3 MOV R0,#+0 \ 000000A8 01002DE9 PUSH {R0} \ 000000AC 0700A0E3 MOV R0,#+7 \ 000000B0 01002DE9 PUSH {R0} \ 000000B4 AC00A0E3 MOV R0,#+172 \ 000000B8 01002DE9 PUSH {R0} \ 000000BC 0600A0E1 MOV R0,R6 \ 000000C0 4C0100EF SWI +332 \ 000000C4 0600A0E1 MOV R0,R6 \ 000000C8 290100EF SWI +297 \ 000000CC 14D08DE2 ADD SP,SP,#+20 \ 000000D0 F080BDE8 POP {R4-R7,PC} ;; return \ ??DrawBattVolt_0: \ 000000D4 67666666 DC32 0x66666667 \ 000000D8 ........ DC32 `?` \ In segment CODE, align 4, keep-with-next \ __??Code32?? __code __interwork __atpcs void DrawClock(int, int) \ DrawClock: \ 00000000 F0402DE9 PUSH {R4-R7,LR} \ 00000004 10D04DE2 SUB SP,SP,#+16 \ 00000008 0040A0E1 MOV R4,R0 \ 0000000C 0150A0E1 MOV R5,R1 \ 00000010 400FA0E3 MOV R0,#+256 \ 00000014 250100EF SWI +293 \ 00000018 0060A0E1 MOV R6,R0 \ 0000001C 0D10A0E1 MOV R1,SP \ 00000020 08008DE2 ADD R0,SP,#+8 \ 00000024 B40000EF SWI +180 \ 00000028 CF8000EF SWI +32975 \ 0000002C 000090E5 LDR R0,[R0, #+0] \ 00000030 80109FE5 LDR R1,??DrawClock_0 ;; `?` \ 00000034 0F0050E3 CMP R0,#+15 \ 00000038 0200DDE5 LDRB R0,[SP, #+2] \ 0000003C 9620A003 MOVEQ R2,#+150 \ 00000040 E12C8203 ORREQ R2,R2,#0xE100 \ 00000044 01002DE9 PUSH {R0} \ 00000048 0500DDE5 LDRB R0,[SP, #+5] \ 0000004C 2020A013 MOVNE R2,#+32 \ 00000050 01002DE9 PUSH {R0} \ 00000054 0830DDE5 LDRB R3,[SP, #+8] \ 00000058 0600A0E1 MOV R0,R6 \ 0000005C 240100EF SWI +292 \ 00000060 1700A0E3 MOV R0,#+23 \ 00000064 2E0100EF SWI +302 \ 00000068 0070A0E1 MOV R7,R0 \ 0000006C 0000A0E3 MOV R0,#+0 \ 00000070 2E0100EF SWI +302 \ 00000074 80002DE9 PUSH {R7} \ 00000078 01002DE9 PUSH {R0} \ 0000007C 8030A0E3 MOV R3,#+128 \ 00000080 0520A0E1 MOV R2,R5 \ 00000084 0410A0E1 MOV R1,R4 \ 00000088 0000A0E3 MOV R0,#+0 \ 0000008C 01002DE9 PUSH {R0} \ 00000090 0700A0E3 MOV R0,#+7 \ 00000094 01002DE9 PUSH {R0} \ 00000098 AC00A0E3 MOV R0,#+172 \ 0000009C 01002DE9 PUSH {R0} \ 000000A0 0600A0E1 MOV R0,R6 \ 000000A4 4C0100EF SWI +332 \ 000000A8 0600A0E1 MOV R0,R6 \ 000000AC 290100EF SWI +297 \ 000000B0 2CD08DE2 ADD SP,SP,#+44 \ 000000B4 F080BDE8 POP {R4-R7,PC} ;; return \ ??DrawClock_0: \ 000000B8 ........ DC32 `?` \ In segment CODE, align 4, keep-with-next \ __??Code32?? __code __interwork __atpcs void DrawBar() \ DrawBar: \ 00000000 1EFF2FE1 BX LR ;; return \ In segment CODE, align 4, keep-with-next \ __??Code32?? __code __interwork __atpcs void DrawDialogs(int, int) \ DrawDialogs: \ 00000000 F0412DE9 PUSH {R4-R8,LR} \ 00000004 0040A0E1 MOV R4,R0 \ 00000008 0150A0E1 MOV R5,R1 \ 0000000C 0060A0E3 MOV R6,#+0 \ 00000010 0070A0E3 MOV R7,#+0 \ 00000014 8880A0E3 MOV R8,#+136 \ 00000018 4C8D88E3 ORR R8,R8,#0x1300 \ ??DrawDialogs_0: \ 0000001C 0600A0E1 MOV R0,R6 \ 00000020 080100EF SWI +264 \ 00000024 000050E3 CMP R0,#+0 \ 00000028 01708712 ADDNE R7,R7,#+1 \ 0000002C 016086E2 ADD R6,R6,#+1 \ 00000030 080056E1 CMP R6,R8 \ 00000034 F8FFFF1A BNE ??DrawDialogs_0 \ 00000038 400FA0E3 MOV R0,#+256 \ 0000003C 250100EF SWI +293 \ 00000040 60109FE5 LDR R1,??DrawDialogs_1 ;; `?` \ 00000044 0060A0E1 MOV R6,R0 \ 00000048 0720A0E1 MOV R2,R7 \ 0000004C 240100EF SWI +292 \ 00000050 7D00A0E3 MOV R0,#+125 \ 00000054 2E0100EF SWI +302 \ 00000058 0070A0E1 MOV R7,R0 \ 0000005C 7C00A0E3 MOV R0,#+124 \ 00000060 2E0100EF SWI +302 \ 00000064 80002DE9 PUSH {R7} \ 00000068 01002DE9 PUSH {R0} \ 0000006C 8430A0E3 MOV R3,#+132 \ 00000070 0520A0E1 MOV R2,R5 \ 00000074 0410A0E1 MOV R1,R4 \ 00000078 2000A0E3 MOV R0,#+32 \ 0000007C 01002DE9 PUSH {R0} \ 00000080 0700A0E3 MOV R0,#+7 \ 00000084 01002DE9 PUSH {R0} \ 00000088 B000A0E3 MOV R0,#+176 \ 0000008C 01002DE9 PUSH {R0} \ 00000090 0600A0E1 MOV R0,R6 \ 00000094 4C0100EF SWI +332 \ 00000098 0600A0E1 MOV R0,R6 \ 0000009C 290100EF SWI +297 \ 000000A0 14D08DE2 ADD SP,SP,#+20 \ 000000A4 F081BDE8 POP {R4-R8,PC} ;; return \ ??DrawDialogs_1: \ 000000A8 ........ DC32 `?` \ In segment CODE, align 4, keep-with-next \ __??Code32?? __code __interwork __atpcs void DrawFreeRam(int, int) \ DrawFreeRam: \ 00000000 F0402DE9 PUSH {R4-R7,LR} \ 00000004 0040A0E1 MOV R4,R0 \ 00000008 0150A0E1 MOV R5,R1 \ 0000000C 400FA0E3 MOV R0,#+256 \ 00000010 250100EF SWI +293 \ 00000014 0060A0E1 MOV R6,R0 \ 00000018 5F0000EF SWI +95 \ 0000001C ........ LDR R1,??DataTable5 ;; 0x10624dd3 \ 00000020 9120C3E0 SMULL R2,R3,R1,R0 \ 00000024 ........ LDR R1,??DataTable6 ;; per_d \ 00000028 4333A0E1 ASR R3,R3,#+6 \ 0000002C A02F83E0 ADD R2,R3,R0, LSR #+31 \ 00000030 0600A0E1 MOV R0,R6 \ 00000034 240100EF SWI +292 \ 00000038 7D00A0E3 MOV R0,#+125 \ 0000003C 2E0100EF SWI +302 \ 00000040 0070A0E1 MOV R7,R0 \ 00000044 7C00A0E3 MOV R0,#+124 \ 00000048 2E0100EF SWI +302 \ 0000004C 80002DE9 PUSH {R7} \ 00000050 01002DE9 PUSH {R0} \ 00000054 8030A0E3 MOV R3,#+128 \ 00000058 0520A0E1 MOV R2,R5 \ 0000005C 0410A0E1 MOV R1,R4 \ 00000060 2000A0E3 MOV R0,#+32 \ 00000064 01002DE9 PUSH {R0} \ 00000068 0700A0E3 MOV R0,#+7 \ 0000006C 01002DE9 PUSH {R0} \ 00000070 AC00A0E3 MOV R0,#+172 \ 00000074 01002DE9 PUSH {R0} \ 00000078 0600A0E1 MOV R0,R6 \ 0000007C 4C0100EF SWI +332 \ 00000080 0600A0E1 MOV R0,R6 \ 00000084 290100EF SWI +297 \ 00000088 14D08DE2 ADD SP,SP,#+20 \ 0000008C F080BDE8 POP {R4-R7,PC} ;; return \ In segment CODE, align 4, keep-with-next \ __??Code32?? __code __interwork __atpcs void DrawCross(int, int, char *) \ DrawCross: \ 00000000 70402DE9 PUSH {R4-R6,LR} \ 00000004 0040A0E1 MOV R4,R0 \ 00000008 B0009FE5 LDR R0,??DrawCross_0 ;; crd + 296 \ 0000000C 0150A0E1 MOV R5,R1 \ 00000010 000090E5 LDR R0,[R0, #+0] \ 00000014 0260A0E1 MOV R6,R2 \ 00000018 000050E3 CMP R0,#+0 \ 0000001C 0300000A BEQ ??DrawCross_1 \ 00000020 9C209FE5 LDR R2,??DrawCross_0+0x4 ;; `?` \ 00000024 0400A0E1 MOV R0,R4 \ 00000028 230000EF SWI +35 \ 0000002C 7080BDE8 POP {R4-R6,PC} \ ??DrawCross_1: \ 00000030 0600A0E1 MOV R0,R6 \ 00000034 01002DE9 PUSH {R0} \ 00000038 0530A0E1 MOV R3,R5 \ 0000003C 042044E2 SUB R2,R4,#+4 \ 00000040 0000A0E3 MOV R0,#+0 \ 00000044 01002DE9 PUSH {R0} \ 00000048 0400A0E1 MOV R0,R4 \ 0000004C B30100EF SWI +435 \ 00000050 0600A0E1 MOV R0,R6 \ 00000054 01002DE9 PUSH {R0} \ 00000058 0530A0E1 MOV R3,R5 \ 0000005C 042084E2 ADD R2,R4,#+4 \ 00000060 0510A0E1 MOV R1,R5 \ 00000064 0000A0E3 MOV R0,#+0 \ 00000068 01002DE9 PUSH {R0} \ 0000006C 0400A0E1 MOV R0,R4 \ 00000070 B30100EF SWI +435 \ 00000074 0600A0E1 MOV R0,R6 \ 00000078 01002DE9 PUSH {R0} \ 0000007C 043085E2 ADD R3,R5,#+4 \ 00000080 0420A0E1 MOV R2,R4 \ 00000084 0510A0E1 MOV R1,R5 \ 00000088 0000A0E3 MOV R0,#+0 \ 0000008C 01002DE9 PUSH {R0} \ 00000090 0400A0E1 MOV R0,R4 \ 00000094 B30100EF SWI +435 \ 00000098 40002DE9 PUSH {R6} \ 0000009C 0000A0E3 MOV R0,#+0 \ 000000A0 01002DE9 PUSH {R0} \ 000000A4 043045E2 SUB R3,R5,#+4 \ 000000A8 0420A0E1 MOV R2,R4 \ 000000AC 0510A0E1 MOV R1,R5 \ 000000B0 0400A0E1 MOV R0,R4 \ 000000B4 B30100EF SWI +435 \ 000000B8 20D08DE2 ADD SP,SP,#+32 \ 000000BC 7080BDE8 POP {R4-R6,PC} ;; return \ ??DrawCross_0: \ 000000C0 ........ DC32 crd + 296 \ 000000C4 ........ DC32 `?` \ In segment CODE, align 4, keep-with-next \ __??Code32?? __code __interwork __atpcs void DrawLineCross(int, int, char *, int) \ DrawLineCross: \ 00000000 F0412DE9 PUSH {R4-R8,LR} \ 00000004 0040A0E1 MOV R4,R0 \ 00000008 0250A0E1 MOV R5,R2 \ 0000000C 036081E2 ADD R6,R1,#+3 \ 00000010 027081E2 ADD R7,R1,#+2 \ 00000014 018081E2 ADD R8,R1,#+1 \ 00000018 013053E2 SUBS R3,R3,#+1 \ 0000001C 0400000A BEQ ??DrawLineCross_0 \ 00000020 013053E2 SUBS R3,R3,#+1 \ 00000024 1000000A BEQ ??DrawLineCross_1 \ 00000028 013043E2 SUB R3,R3,#+1 \ 0000002C 010053E3 CMP R3,#+1 \ 00000030 F081BD88 POPHI {R4-R8,PC} \ ??DrawLineCross_0: \ 00000034 050084E2 ADD R0,R4,#+5 \ 00000038 030200EF SWI +515 \ 0000003C 0520A0E1 MOV R2,R5 \ 00000040 0810A0E1 MOV R1,R8 \ 00000044 060084E2 ADD R0,R4,#+6 \ 00000048 030200EF SWI +515 \ 0000004C 0520A0E1 MOV R2,R5 \ 00000050 0710A0E1 MOV R1,R7 \ 00000054 070084E2 ADD R0,R4,#+7 \ 00000058 030200EF SWI +515 \ 0000005C 0520A0E1 MOV R2,R5 \ 00000060 0610A0E1 MOV R1,R6 \ 00000064 080084E2 ADD R0,R4,#+8 \ 00000068 0C0000EA B ??DrawLineCross_2 \ ??DrawLineCross_1: \ 0000006C 050044E2 SUB R0,R4,#+5 \ 00000070 030200EF SWI +515 \ 00000074 0520A0E1 MOV R2,R5 \ 00000078 0810A0E1 MOV R1,R8 \ 0000007C 060044E2 SUB R0,R4,#+6 \ 00000080 030200EF SWI +515 \ 00000084 0520A0E1 MOV R2,R5 \ 00000088 0710A0E1 MOV R1,R7 \ 0000008C 070044E2 SUB R0,R4,#+7 \ 00000090 030200EF SWI +515 \ 00000094 0520A0E1 MOV R2,R5 \ 00000098 0610A0E1 MOV R1,R6 \ 0000009C 080044E2 SUB R0,R4,#+8 \ ??DrawLineCross_2: \ 000000A0 030200EF SWI +515 \ 000000A4 F081BDE8 POP {R4-R8,PC} ;; return \ In segment CODE, align 4, keep-with-next \ __??Code32?? __code __interwork __atpcs void DrawName(int, int, int) \ DrawName: \ 00000000 F0402DE9 PUSH {R4-R7,LR} \ 00000004 0040A0E1 MOV R4,R0 \ 00000008 0160A0E1 MOV R6,R1 \ 0000000C 0270A0E1 MOV R7,R2 \ 00000010 ........ BL SaveNamePanel \ 00000014 4000A0E3 MOV R0,#+64 \ 00000018 250100EF SWI +293 \ 0000001C 0050A0E1 MOV R5,R0 \ 00000020 ........ LDR R0,??DataTable15 ;; crd \ 00000024 061180E0 ADD R1,R0,R6, LSL #+2 \ 00000028 F82091E5 LDR R2,[R1, #+248] \ 0000002C 671F80E2 ADD R1,R0,#+412 \ 00000030 0500A0E1 MOV R0,R5 \ 00000034 240100EF SWI +292 \ 00000038 000057E3 CMP R7,#+0 \ 0000003C 7D00A0E3 MOV R0,#+125 \ 00000040 0900000A BEQ ??DrawName_0 \ 00000044 2E0100EF SWI +302 \ 00000048 0060A0E1 MOV R6,R0 \ 0000004C 7C00A0E3 MOV R0,#+124 \ 00000050 2E0100EF SWI +302 \ 00000054 40002DE9 PUSH {R6} \ 00000058 01002DE9 PUSH {R0} \ 0000005C 8430A0E3 MOV R3,#+132 \ 00000060 0420A0E1 MOV R2,R4 \ 00000064 1E10A0E3 MOV R1,#+30 \ 00000068 080000EA B ??DrawName_1 \ ??DrawName_0: \ 0000006C 2E0100EF SWI +302 \ 00000070 0060A0E1 MOV R6,R0 \ 00000074 7C00A0E3 MOV R0,#+124 \ 00000078 2E0100EF SWI +302 \ 0000007C 40002DE9 PUSH {R6} \ 00000080 01002DE9 PUSH {R0} \ 00000084 8430A0E3 MOV R3,#+132 \ 00000088 1E20A0E3 MOV R2,#+30 \ 0000008C 0410A0E1 MOV R1,R4 \ ??DrawName_1: \ 00000090 2000A0E3 MOV R0,#+32 \ 00000094 01002DE9 PUSH {R0} \ 00000098 0700A0E3 MOV R0,#+7 \ 0000009C 01002DE9 PUSH {R0} \ 000000A0 B000A0E3 MOV R0,#+176 \ 000000A4 01002DE9 PUSH {R0} \ 000000A8 0500A0E1 MOV R0,R5 \ 000000AC 4C0100EF SWI +332 \ 000000B0 14D08DE2 ADD SP,SP,#+20 \ 000000B4 0500A0E1 MOV R0,R5 \ 000000B8 290100EF SWI +297 \ 000000BC F080BDE8 POP {R4-R7,PC} ;; return \ In segment CODE, align 4, keep-with-next \ __??Code32?? __code __interwork __atpcs void DrawContur_w(int) \ DrawContur_w: \ 00000000 ........ LDR R1,??DataTable15 ;; crd \ 00000004 00402DE9 PUSH {LR} \ 00000008 6A2F81E2 ADD R2,R1,#+424 \ 0000000C 04002DE9 PUSH {R2} \ 00000010 691F81E2 ADD R1,R1,#+420 \ 00000014 02002DE9 PUSH {R1} \ 00000018 113080E2 ADD R3,R0,#+17 \ 0000001C 1120A0E3 MOV R2,#+17 \ 00000020 0010A0E3 MOV R1,#+0 \ 00000024 02002DE9 PUSH {R1} \ 00000028 0210A0E3 MOV R1,#+2 \ 0000002C 02002DE9 PUSH {R1} \ 00000030 02002DE9 PUSH {R1} \ 00000034 011080E2 ADD R1,R0,#+1 \ 00000038 0200A0E3 MOV R0,#+2 \ 0000003C 500100EF SWI +336 \ 00000040 14D08DE2 ADD SP,SP,#+20 \ 00000044 0080BDE8 POP {PC} ;; return \ In segment CODE, align 4, keep-with-next \ __??Code32?? __code __interwork __atpcs void DrawContur_h(int) \ DrawContur_h: \ 00000000 ........ LDR R1,??DataTable15 ;; crd \ 00000004 00402DE9 PUSH {LR} \ 00000008 6A2F81E2 ADD R2,R1,#+424 \ 0000000C 04002DE9 PUSH {R2} \ 00000010 691F81E2 ADD R1,R1,#+420 \ 00000014 02002DE9 PUSH {R1} \ 00000018 1130A0E3 MOV R3,#+17 \ 0000001C 112080E2 ADD R2,R0,#+17 \ 00000020 010080E2 ADD R0,R0,#+1 \ 00000024 0010A0E3 MOV R1,#+0 \ 00000028 02002DE9 PUSH {R1} \ 0000002C 0210A0E3 MOV R1,#+2 \ 00000030 02002DE9 PUSH {R1} \ 00000034 02002DE9 PUSH {R1} \ 00000038 500100EF SWI +336 \ 0000003C 14D08DE2 ADD SP,SP,#+20 \ 00000040 0080BDE8 POP {PC} ;; return \ In segment CODE, align 4, keep-with-next \ __??Code32?? __code __interwork __atpcs void DrawPanel_w() \ DrawPanel_w: \ 00000000 70402DE9 PUSH {R4-R6,LR} \ 00000004 ........ LDR R4,??DataTable16 ;; name \ 00000008 ........ LDR R6,??DataTable15 ;; crd \ 0000000C F18000EF SWI +33009 \ 00000010 401294E5 LDR R1,[R4, #+576] \ 00000014 1420A0E3 MOV R2,#+20 \ 00000018 920105E0 MUL R5,R2,R1 \ 0000001C 0110A0E3 MOV R1,#+1 \ 00000020 02002DE9 PUSH {R1} \ 00000024 1330A0E3 MOV R3,#+19 \ 00000028 0120A0E3 MOV R2,#+1 \ 0000002C 0510A0E1 MOV R1,R5 \ 00000030 02002DE9 PUSH {R1} \ 00000034 0110A0E3 MOV R1,#+1 \ 00000038 250000EF SWI +37 \ 0000003C 6A0F86E2 ADD R0,R6,#+424 \ 00000040 01002DE9 PUSH {R0} \ 00000044 0530A0E1 MOV R3,R5 \ 00000048 1320A0E3 MOV R2,#+19 \ 0000004C 0010A0E3 MOV R1,#+0 \ 00000050 680F86E2 ADD R0,R6,#+416 \ 00000054 01002DE9 PUSH {R0} \ 00000058 0000A0E3 MOV R0,#+0 \ 0000005C 01002DE9 PUSH {R0} \ 00000060 0200A0E3 MOV R0,#+2 \ 00000064 01002DE9 PUSH {R0} \ 00000068 01002DE9 PUSH {R0} \ 0000006C 0100A0E1 MOV R0,R1 \ 00000070 500100EF SWI +336 \ 00000074 7C1196E5 LDR R1,[R6, #+380] \ 00000078 502F84E2 ADD R2,R4,#+320 \ 0000007C 0200A0E3 MOV R0,#+2 \ 00000080 230000EF SWI +35 \ 00000084 7C0196E5 LDR R0,[R6, #+380] \ 00000088 E12F84E2 ADD R2,R4,#+900 \ 0000008C 141080E2 ADD R1,R0,#+20 \ 00000090 0200A0E3 MOV R0,#+2 \ 00000094 230000EF SWI +35 \ 00000098 C800A0E3 MOV R0,#+200 \ 0000009C 500E80E3 ORR R0,R0,#0x500 \ 000000A0 042080E0 ADD R2,R0,R4 \ 000000A4 7C0196E5 LDR R0,[R6, #+380] \ 000000A8 281080E2 ADD R1,R0,#+40 \ 000000AC 0200A0E3 MOV R0,#+2 \ 000000B0 230000EF SWI +35 \ 000000B4 0C00A0E3 MOV R0,#+12 \ 000000B8 800E80E3 ORR R0,R0,#0x800 \ 000000BC 042080E0 ADD R2,R0,R4 \ 000000C0 7C0196E5 LDR R0,[R6, #+380] \ 000000C4 3C1080E2 ADD R1,R0,#+60 \ 000000C8 0200A0E3 MOV R0,#+2 \ 000000CC 230000EF SWI +35 \ 000000D0 7C0196E5 LDR R0,[R6, #+380] \ 000000D4 A52E84E2 ADD R2,R4,#+2640 \ 000000D8 501080E2 ADD R1,R0,#+80 \ 000000DC 0200A0E3 MOV R0,#+2 \ 000000E0 230000EF SWI +35 \ 000000E4 9400A0E3 MOV R0,#+148 \ 000000E8 C00E80E3 ORR R0,R0,#0xC00 \ 000000EC 042080E0 ADD R2,R0,R4 \ 000000F0 7C0196E5 LDR R0,[R6, #+380] \ 000000F4 6B4FA0E3 MOV R4,#+428 \ 000000F8 641080E2 ADD R1,R0,#+100 \ 000000FC 0200A0E3 MOV R0,#+2 \ 00000100 230000EF SWI +35 \ 00000104 381196E5 LDR R1,[R6, #+312] \ 00000108 340196E5 LDR R0,[R6, #+308] \ 0000010C 692F86E2 ADD R2,R6,#+420 \ 00000110 ........ BL DrawCross \ 00000114 20209FE5 LDR R2,??DrawPanel_w_0 ;; DrawPanel_w \ 00000118 0110A0E3 MOV R1,#+1 \ 0000011C 060084E0 ADD R0,R4,R6 \ 00000120 4D0000EF SWI +77 \ 00000124 14209FE5 LDR R2,??DrawPanel_w_0+0x4 ;; DrawContur_w \ 00000128 0110A0E3 MOV R1,#+1 \ 0000012C 060084E0 ADD R0,R4,R6 \ 00000130 4D0000EF SWI +77 \ 00000134 1CD08DE2 ADD SP,SP,#+28 \ 00000138 7080BDE8 POP {R4-R6,PC} ;; return \ ??DrawPanel_w_0: \ 0000013C ........ DC32 DrawPanel_w \ 00000140 ........ DC32 DrawContur_w \ In segment CODE, align 4, keep-with-next \ __??Code32?? __code __interwork __atpcs void DrawPanel_h() \ DrawPanel_h: \ 00000000 30402DE9 PUSH {R4,R5,LR} \ 00000004 ........ LDR R4,??DataTable15 ;; crd \ 00000008 E4509FE5 LDR R5,??DrawPanel_h_0 ;; IMG1 \ 0000000C F18000EF SWI +33009 \ 00000010 0110A0E3 MOV R1,#+1 \ 00000014 02002DE9 PUSH {R1} \ 00000018 741194E5 LDR R1,[R4, #+372] \ 0000001C 0020A0E3 MOV R2,#+0 \ 00000020 02002DE9 PUSH {R1} \ 00000024 783194E5 LDR R3,[R4, #+376] \ 00000028 2810A0E3 MOV R1,#+40 \ 0000002C 250000EF SWI +37 \ 00000030 6A0F84E2 ADD R0,R4,#+424 \ 00000034 01002DE9 PUSH {R0} \ 00000038 0010A0E3 MOV R1,#+0 \ 0000003C 680F84E2 ADD R0,R4,#+416 \ 00000040 01002DE9 PUSH {R0} \ 00000044 0000A0E3 MOV R0,#+0 \ 00000048 01002DE9 PUSH {R0} \ 0000004C 0200A0E3 MOV R0,#+2 \ 00000050 01002DE9 PUSH {R0} \ 00000054 01002DE9 PUSH {R0} \ 00000058 743194E5 LDR R3,[R4, #+372] \ 0000005C 782194E5 LDR R2,[R4, #+376] \ 00000060 2800A0E3 MOV R0,#+40 \ 00000064 500100EF SWI +336 \ 00000068 7C0194E5 LDR R0,[R4, #+380] \ 0000006C 0520A0E1 MOV R2,R5 \ 00000070 0210A0E3 MOV R1,#+2 \ 00000074 280080E2 ADD R0,R0,#+40 \ 00000078 230000EF SWI +35 \ 0000007C 7C0194E5 LDR R0,[R4, #+380] \ 00000080 802085E2 ADD R2,R5,#+128 \ 00000084 0210A0E3 MOV R1,#+2 \ 00000088 3C0080E2 ADD R0,R0,#+60 \ 0000008C 230000EF SWI +35 \ 00000090 7C0194E5 LDR R0,[R4, #+380] \ 00000094 402F85E2 ADD R2,R5,#+256 \ 00000098 0210A0E3 MOV R1,#+2 \ 0000009C 500080E2 ADD R0,R0,#+80 \ 000000A0 230000EF SWI +35 \ 000000A4 7C0194E5 LDR R0,[R4, #+380] \ 000000A8 602F85E2 ADD R2,R5,#+384 \ 000000AC 0210A0E3 MOV R1,#+2 \ 000000B0 640080E2 ADD R0,R0,#+100 \ 000000B4 230000EF SWI +35 \ 000000B8 381194E5 LDR R1,[R4, #+312] \ 000000BC 340194E5 LDR R0,[R4, #+308] \ 000000C0 692F84E2 ADD R2,R4,#+420 \ 000000C4 ........ BL DrawCross \ 000000C8 28209FE5 LDR R2,??DrawPanel_h_0+0x4 ;; DrawPanel_h \ 000000CC 6B5FA0E3 MOV R5,#+428 \ 000000D0 0110A0E3 MOV R1,#+1 \ 000000D4 040085E0 ADD R0,R5,R4 \ 000000D8 4D0000EF SWI +77 \ 000000DC 18209FE5 LDR R2,??DrawPanel_h_0+0x8 ;; DrawContur_h \ 000000E0 0110A0E3 MOV R1,#+1 \ 000000E4 040085E0 ADD R0,R5,R4 \ 000000E8 4D0000EF SWI +77 \ 000000EC 1CD08DE2 ADD SP,SP,#+28 \ 000000F0 3080BDE8 POP {R4,R5,PC} ;; return \ ??DrawPanel_h_0: \ 000000F4 ........ DC32 IMG1 \ 000000F8 ........ DC32 DrawPanel_h \ 000000FC ........ DC32 DrawContur_h \ In segment CODE, align 4, keep-with-next \ __??Code32?? __code __interwork __atpcs void DrawNameContr() \ DrawNameContr: \ 00000000 ........ LDR R0,??DataTable15 ;; crd \ 00000004 00402DE9 PUSH {LR} \ 00000008 341190E5 LDR R1,[R0, #+308] \ 0000000C 000051E3 CMP R1,#+0 \ 00000010 0080BD48 POPMI {PC} \ 00000014 120051E3 CMP R1,#+18 \ 00000018 0080BDA8 POPGE {PC} \ 0000001C ........ LDR R1,??DataTable14 ;; name + 576 \ 00000020 380190E5 LDR R0,[R0, #+312] \ 00000024 001091E5 LDR R1,[R1, #+0] \ 00000028 000050E3 CMP R0,#+0 \ 0000002C 0900004A BMI ??DrawNameContr_0 \ 00000030 150050E3 CMP R0,#+21 \ 00000034 070000AA BGE ??DrawNameContr_0 \ 00000038 010051E3 CMP R1,#+1 \ 0000003C 050000BA BLT ??DrawNameContr_0 \ 00000040 0120A0E3 MOV R2,#+1 \ 00000044 0110A0E3 MOV R1,#+1 \ 00000048 0200A0E3 MOV R0,#+2 \ 0000004C ........ BL DrawName \ 00000050 0000A0E3 MOV R0,#+0 \ 00000054 160000EA B ??DrawNameContr_1 \ ??DrawNameContr_0: \ 00000058 140050E3 CMP R0,#+20 \ 0000005C 090000BA BLT ??DrawNameContr_2 \ 00000060 290050E3 CMP R0,#+41 \ 00000064 070000AA BGE ??DrawNameContr_2 \ 00000068 020051E3 CMP R1,#+2 \ 0000006C 050000BA BLT ??DrawNameContr_2 \ 00000070 0120A0E3 MOV R2,#+1 \ 00000074 0210A0E3 MOV R1,#+2 \ 00000078 1300A0E3 MOV R0,#+19 \ 0000007C ........ BL DrawName \ 00000080 1400A0E3 MOV R0,#+20 \ 00000084 2F0000EA B ??DrawNameContr_3 \ ??DrawNameContr_2: \ 00000088 280050E3 CMP R0,#+40 \ 0000008C 0A0000BA BLT ??DrawNameContr_4 \ 00000090 3D0050E3 CMP R0,#+61 \ 00000094 080000AA BGE ??DrawNameContr_4 \ 00000098 030051E3 CMP R1,#+3 \ 0000009C 060000BA BLT ??DrawNameContr_4 \ 000000A0 0120A0E3 MOV R2,#+1 \ 000000A4 0310A0E3 MOV R1,#+3 \ 000000A8 2300A0E3 MOV R0,#+35 \ 000000AC ........ BL DrawName \ 000000B0 2800A0E3 MOV R0,#+40 \ ??DrawNameContr_1: \ 000000B4 ........ BL DrawContur_w \ 000000B8 0080BDE8 POP {PC} \ ??DrawNameContr_4: \ 000000BC 3C0050E3 CMP R0,#+60 \ 000000C0 090000BA BLT ??DrawNameContr_5 \ 000000C4 510050E3 CMP R0,#+81 \ 000000C8 070000AA BGE ??DrawNameContr_5 \ 000000CC 040051E3 CMP R1,#+4 \ 000000D0 050000BA BLT ??DrawNameContr_5 \ 000000D4 0120A0E3 MOV R2,#+1 \ 000000D8 0410A0E3 MOV R1,#+4 \ 000000DC 3400A0E3 MOV R0,#+52 \ 000000E0 ........ BL DrawName \ 000000E4 3C00A0E3 MOV R0,#+60 \ 000000E8 F1FFFFEA B ??DrawNameContr_1 \ ??DrawNameContr_5: \ 000000EC 500050E3 CMP R0,#+80 \ 000000F0 090000BA BLT ??DrawNameContr_6 \ 000000F4 650050E3 CMP R0,#+101 \ 000000F8 070000AA BGE ??DrawNameContr_6 \ 000000FC 050051E3 CMP R1,#+5 \ 00000100 050000BA BLT ??DrawNameContr_6 \ 00000104 0120A0E3 MOV R2,#+1 \ 00000108 0510A0E3 MOV R1,#+5 \ 0000010C 4500A0E3 MOV R0,#+69 \ 00000110 ........ BL DrawName \ 00000114 5000A0E3 MOV R0,#+80 \ 00000118 E5FFFFEA B ??DrawNameContr_1 \ ??DrawNameContr_6: \ 0000011C 640050E3 CMP R0,#+100 \ 00000120 0080BDB8 POPLT {PC} \ 00000124 790050E3 CMP R0,#+121 \ 00000128 0080BDA8 POPGE {PC} \ 0000012C 060051E3 CMP R1,#+6 \ 00000130 0080BDB8 POPLT {PC} \ 00000134 0120A0E3 MOV R2,#+1 \ 00000138 0610A0E3 MOV R1,#+6 \ 0000013C 5700A0E3 MOV R0,#+87 \ 00000140 ........ BL DrawName \ 00000144 6400A0E3 MOV R0,#+100 \ ??DrawNameContr_3: \ 00000148 ........ BL DrawContur_w \ 0000014C 0080BDE8 POP {PC} ;; return \ In segment CODE, align 4, keep-with-next \ __??Code32?? __code __interwork __atpcs void StartFilePanel_w() \ StartFilePanel_w: \ 00000000 70402DE9 PUSH {R4-R6,LR} \ 00000004 ........ LDR R4,??DataTable15 ;; crd \ 00000008 340194E5 LDR R0,[R4, #+308] \ 0000000C 000050E3 CMP R0,#+0 \ 00000010 7080BD48 POPMI {R4-R6,PC} \ 00000014 150050E3 CMP R0,#+21 \ 00000018 7080BDA8 POPGE {R4-R6,PC} \ 0000001C ........ LDR R5,??DataTable16 ;; name \ 00000020 381194E5 LDR R1,[R4, #+312] \ 00000024 400295E5 LDR R0,[R5, #+576] \ 00000028 000051E3 CMP R1,#+0 \ 0000002C 0E00004A BMI ??StartFilePanel_w_0 \ 00000030 150051E3 CMP R1,#+21 \ 00000034 0C0000AA BGE ??StartFilePanel_w_0 \ 00000038 010050E3 CMP R0,#+1 \ 0000003C 0A0000BA BLT ??StartFilePanel_w_0 \ 00000040 400085E2 ADD R0,R5,#+64 \ 00000044 1B0000EF SWI +27 \ 00000048 0F0050E3 CMP R0,#+15 \ 0000004C 400085E2 ADD R0,R5,#+64 \ ??StartFilePanel_w_1: \ 00000050 0100001A BNE ??StartFilePanel_w_2 \ ??StartFilePanel_w_3: \ 00000054 ........ BL shortcut \ 00000058 3B0000EA B ??StartFilePanel_w_4 \ ??StartFilePanel_w_2: \ 0000005C ........ BL start \ 00000060 6B0F84E2 ADD R0,R4,#+428 \ 00000064 8C0100EF SWI +396 \ 00000068 7080BDE8 POP {R4-R6,PC} ;; return \ ??StartFilePanel_w_0: \ 0000006C 140051E3 CMP R1,#+20 \ 00000070 090000BA BLT ??StartFilePanel_w_5 \ 00000074 290051E3 CMP R1,#+41 \ 00000078 070000AA BGE ??StartFilePanel_w_5 \ 0000007C 020050E3 CMP R0,#+2 \ 00000080 050000BA BLT ??StartFilePanel_w_5 \ 00000084 A16FA0E3 MOV R6,#+644 \ ??StartFilePanel_w_6: \ 00000088 050086E0 ADD R0,R6,R5 \ 0000008C 1B0000EF SWI +27 \ 00000090 0F0050E3 CMP R0,#+15 \ 00000094 050086E0 ADD R0,R6,R5 \ 00000098 ECFFFFEA B ??StartFilePanel_w_1 \ ??StartFilePanel_w_5: \ 0000009C 280051E3 CMP R1,#+40 \ 000000A0 060000BA BLT ??StartFilePanel_w_7 \ 000000A4 3D0051E3 CMP R1,#+61 \ 000000A8 040000AA BGE ??StartFilePanel_w_7 \ 000000AC 030050E3 CMP R0,#+3 \ 000000B0 020000BA BLT ??StartFilePanel_w_7 \ 000000B4 C860A0E3 MOV R6,#+200 \ 000000B8 406E86E3 ORR R6,R6,#0x400 \ 000000BC F1FFFFEA B ??StartFilePanel_w_6 \ ??StartFilePanel_w_7: \ 000000C0 3C0051E3 CMP R1,#+60 \ 000000C4 0A0000BA BLT ??StartFilePanel_w_8 \ 000000C8 510051E3 CMP R1,#+81 \ 000000CC 080000AA BGE ??StartFilePanel_w_8 \ 000000D0 040050E3 CMP R0,#+4 \ 000000D4 060000BA BLT ??StartFilePanel_w_8 \ 000000D8 0C60A0E3 MOV R6,#+12 \ 000000DC 706E86E3 ORR R6,R6,#0x700 \ 000000E0 050086E0 ADD R0,R6,R5 \ 000000E4 1B0000EF SWI +27 \ 000000E8 0F0050E3 CMP R0,#+15 \ 000000EC 050086E0 ADD R0,R6,R5 \ 000000F0 D6FFFFEA B ??StartFilePanel_w_1 \ ??StartFilePanel_w_8: \ 000000F4 500051E3 CMP R1,#+80 \ 000000F8 050000BA BLT ??StartFilePanel_w_9 \ 000000FC 650051E3 CMP R1,#+101 \ 00000100 030000AA BGE ??StartFilePanel_w_9 \ 00000104 050050E3 CMP R0,#+5 \ 00000108 010000BA BLT ??StartFilePanel_w_9 \ 0000010C 956EA0E3 MOV R6,#+2384 \ 00000110 DCFFFFEA B ??StartFilePanel_w_6 \ ??StartFilePanel_w_9: \ 00000114 640051E3 CMP R1,#+100 \ 00000118 7080BDB8 POPLT {R4-R6,PC} \ 0000011C 790051E3 CMP R1,#+121 \ 00000120 7080BDA8 POPGE {R4-R6,PC} \ 00000124 060050E3 CMP R0,#+6 \ 00000128 7080BDB8 POPLT {R4-R6,PC} \ 0000012C 9460A0E3 MOV R6,#+148 \ 00000130 B06E86E3 ORR R6,R6,#0xB00 \ 00000134 050086E0 ADD R0,R6,R5 \ 00000138 1B0000EF SWI +27 \ 0000013C 0F0050E3 CMP R0,#+15 \ 00000140 050086E0 ADD R0,R6,R5 \ 00000144 C2FFFF1A BNE ??StartFilePanel_w_3 \ 00000148 ........ BL start \ ??StartFilePanel_w_4: \ 0000014C 6B0F84E2 ADD R0,R4,#+428 \ 00000150 8C0100EF SWI +396 \ 00000154 7080BDE8 POP {R4-R6,PC} \ In segment CODE, align 4, keep-with-next \ __??Code32?? __code __interwork __atpcs void StartFilePanel_h() \ StartFilePanel_h: \ 00000000 ........ LDR R0,??DataTable31 ;; `?` \ 00000004 30402DE9 PUSH {R4,R5,LR} \ 00000008 ........ LDR R4,??DataTable33 ;; crd \ 0000000C 6B5FA0E3 MOV R5,#+428 \ 00000010 342194E5 LDR R2,[R4, #+308] \ 00000014 381194E5 LDR R1,[R4, #+312] \ 00000018 000052E3 CMP R2,#+0 \ 0000001C 0500004A BMI ??StartFilePanel_h_0 \ 00000020 150052E3 CMP R2,#+21 \ 00000024 030000AA BGE ??StartFilePanel_h_0 \ 00000028 000051E3 CMP R1,#+0 \ 0000002C 0100004A BMI ??StartFilePanel_h_0 \ 00000030 150051E3 CMP R1,#+21 \ 00000034 080000BA BLT ??StartFilePanel_h_1 \ ??StartFilePanel_h_0: \ 00000038 140052E3 CMP R2,#+20 \ 0000003C 080000BA BLT ??StartFilePanel_h_2 \ 00000040 290052E3 CMP R2,#+41 \ 00000044 060000AA BGE ??StartFilePanel_h_2 \ 00000048 000051E3 CMP R1,#+0 \ 0000004C 0400004A BMI ??StartFilePanel_h_2 \ 00000050 150051E3 CMP R1,#+21 \ 00000054 020000AA BGE ??StartFilePanel_h_2 \ 00000058 600080E2 ADD R0,R0,#+96 \ ??StartFilePanel_h_1: \ 0000005C ........ BL start \ 00000060 290000EA B ??StartFilePanel_h_3 \ ??StartFilePanel_h_2: \ 00000064 280052E3 CMP R2,#+40 \ 00000068 070000BA BLT ??StartFilePanel_h_4 \ 0000006C 3D0052E3 CMP R2,#+61 \ 00000070 050000AA BGE ??StartFilePanel_h_4 \ 00000074 000051E3 CMP R1,#+0 \ 00000078 0300004A BMI ??StartFilePanel_h_4 \ 0000007C 150051E3 CMP R1,#+21 \ 00000080 010000AA BGE ??StartFilePanel_h_4 \ 00000084 500080E2 ADD R0,R0,#+80 \ 00000088 080000EA B ??StartFilePanel_h_5 \ ??StartFilePanel_h_4: \ 0000008C 3C0052E3 CMP R2,#+60 \ 00000090 0A0000BA BLT ??StartFilePanel_h_6 \ 00000094 510052E3 CMP R2,#+81 \ 00000098 080000AA BGE ??StartFilePanel_h_6 \ 0000009C 000051E3 CMP R1,#+0 \ 000000A0 0600004A BMI ??StartFilePanel_h_6 \ 000000A4 150051E3 CMP R1,#+21 \ 000000A8 040000AA BGE ??StartFilePanel_h_6 \ 000000AC 400080E2 ADD R0,R0,#+64 \ ??StartFilePanel_h_5: \ 000000B0 ........ BL shortcut \ 000000B4 040085E0 ADD R0,R5,R4 \ 000000B8 8C0100EF SWI +396 \ 000000BC 3080BDE8 POP {R4,R5,PC} \ ??StartFilePanel_h_6: \ 000000C0 500052E3 CMP R2,#+80 \ 000000C4 060000BA BLT ??StartFilePanel_h_7 \ 000000C8 650052E3 CMP R2,#+101 \ 000000CC 040000AA BGE ??StartFilePanel_h_7 \ 000000D0 000051E3 CMP R1,#+0 \ 000000D4 0200004A BMI ??StartFilePanel_h_7 \ 000000D8 150051E3 CMP R1,#+21 \ 000000DC 240080B2 ADDLT R0,R0,#+36 \ 000000E0 DDFFFFBA BLT ??StartFilePanel_h_1 \ ??StartFilePanel_h_7: \ 000000E4 640052E3 CMP R2,#+100 \ 000000E8 3080BDB8 POPLT {R4,R5,PC} \ 000000EC 790052E3 CMP R2,#+121 \ 000000F0 3080BDA8 POPGE {R4,R5,PC} \ 000000F4 000051E3 CMP R1,#+0 \ 000000F8 3080BD48 POPMI {R4,R5,PC} \ 000000FC 150051E3 CMP R1,#+21 \ 00000100 3080BDA8 POPGE {R4,R5,PC} \ 00000104 140080E2 ADD R0,R0,#+20 \ 00000108 ........ BL shortcut \ ??StartFilePanel_h_3: \ 0000010C 040085E0 ADD R0,R5,R4 \ 00000110 8C0100EF SWI +396 \ 00000114 3080BDE8 POP {R4,R5,PC} ;; return \ In segment CODE, align 4, keep-with-next \ __??Code32?? __code __interwork __atpcs void DrawMenu(int) \ DrawMenu: \ 00000000 F04F2DE9 PUSH {R4-R11,LR} \ 00000004 ........ LDR R5,??DataTable33 ;; crd \ 00000008 10D04DE2 SUB SP,SP,#+16 \ 0000000C ........ LDR R11,??DataTable22 ;; mnu \ 00000010 0040A0E1 MOV R4,R0 \ 00000014 2D00A0E3 MOV R0,#+45 \ 00000018 800185E5 STR R0,[R5, #+384] \ 0000001C 4600A0E3 MOV R0,#+70 \ 00000020 840185E5 STR R0,[R5, #+388] \ 00000024 010044E2 SUB R0,R4,#+1 \ 00000028 050050E3 CMP R0,#+5 \ 0000002C 0700008A BHI ??DrawMenu_2 \ 00000030 C91FA0E3 MOV R1,#+804 \ 00000034 91B422E0 MLA R2,R1,R4,R11 \ 00000038 0300E0E3 MVN R0,#+3 \ 0000003C 400FC0E3 BIC R0,R0,#0x100 \ 00000040 022080E0 ADD R2,R0,R2 \ 00000044 4610A0E3 MOV R1,#+70 \ 00000048 2D00A0E3 MOV R0,#+45 \ 0000004C 230000EF SWI +35 \ ??DrawMenu_2: \ 00000050 800195E5 LDR R0,[R5, #+384] \ 00000054 841195E5 LDR R1,[R5, #+388] \ 00000058 280040E2 SUB R0,R0,#+40 \ 0000005C 0F1041E2 SUB R1,R1,#+15 \ 00000060 D420A0E3 MOV R2,#+212 \ 00000064 402D82E3 ORR R2,R2,#0x1000 \ 00000068 0B6082E0 ADD R6,R2,R11 \ 0000006C 487F8BE2 ADD R7,R11,#+288 \ 00000070 C92E42E2 SUB R2,R2,#+3216 \ 00000074 0B8082E0 ADD R8,R2,R11 \ 00000078 C92F82E2 ADD R2,R2,#+804 \ 0000007C 0B9082E0 ADD R9,R2,R11 \ 00000080 C92F82E2 ADD R2,R2,#+804 \ 00000084 0BA082E0 ADD R10,R2,R11 \ 00000088 DBBE8BE2 ADD R11,R11,#+3504 \ 0000008C 010054E3 CMP R4,#+1 \ 00000090 1200000A BEQ ??DrawMenu_3 \ 00000094 012044E2 SUB R2,R4,#+1 \ 00000098 012042E2 SUB R2,R2,#+1 \ 0000009C 050052E3 CMP R2,#+5 \ 000000A0 1000008A BHI ??DrawMenu_4 \ 000000A4 013F8FE2 ADR R3,??DrawMenu_0 \ 000000A8 0230D3E7 LDRB R3,[R3, R2] \ 000000AC 03F18FE0 ADD PC,PC,R3, LSL #+2 \ ??DrawMenu_0: \ 000000B0 01030507 DC8 +1,+3,+5,+7 \ 000000B4 090B0000 DC8 +9,+11,+0,+0 \ ??DrawMenu_5: \ 000000B8 0720A0E1 MOV R2,R7 \ 000000BC 080000EA B ??DrawMenu_6 \ ??DrawMenu_7: \ 000000C0 0820A0E1 MOV R2,R8 \ 000000C4 060000EA B ??DrawMenu_6 \ ??DrawMenu_8: \ 000000C8 0920A0E1 MOV R2,R9 \ 000000CC 040000EA B ??DrawMenu_6 \ ??DrawMenu_9: \ 000000D0 0A20A0E1 MOV R2,R10 \ 000000D4 020000EA B ??DrawMenu_6 \ ??DrawMenu_10: \ 000000D8 0B20A0E1 MOV R2,R11 \ 000000DC 000000EA B ??DrawMenu_6 \ ??DrawMenu_3: \ 000000E0 0620A0E1 MOV R2,R6 \ ??DrawMenu_6: \ 000000E4 230000EF SWI +35 \ ??DrawMenu_4: \ 000000E8 800195E5 LDR R0,[R5, #+384] \ 000000EC 841195E5 LDR R1,[R5, #+388] \ 000000F0 060054E3 CMP R4,#+6 \ 000000F4 0040A003 MOVEQ R4,#+0 \ 000000F8 320080E2 ADD R0,R0,#+50 \ 000000FC 0F1041E2 SUB R1,R1,#+15 \ 00000100 012084E2 ADD R2,R4,#+1 \ 00000104 012042E2 SUB R2,R2,#+1 \ 00000108 050052E3 CMP R2,#+5 \ 0000010C 1000008A BHI ??DrawMenu_11 \ 00000110 013F8FE2 ADR R3,??DrawMenu_1 \ 00000114 0230D3E7 LDRB R3,[R3, R2] \ 00000118 03F18FE0 ADD PC,PC,R3, LSL #+2 \ ??DrawMenu_1: \ 0000011C 01030507 DC8 +1,+3,+5,+7 \ 00000120 090B0000 DC8 +9,+11,+0,+0 \ ??DrawMenu_12: \ 00000124 0720A0E1 MOV R2,R7 \ 00000128 080000EA B ??DrawMenu_13 \ ??DrawMenu_14: \ 0000012C 0820A0E1 MOV R2,R8 \ 00000130 060000EA B ??DrawMenu_13 \ ??DrawMenu_15: \ 00000134 0920A0E1 MOV R2,R9 \ 00000138 040000EA B ??DrawMenu_13 \ ??DrawMenu_16: \ 0000013C 0A20A0E1 MOV R2,R10 \ 00000140 020000EA B ??DrawMenu_13 \ ??DrawMenu_17: \ 00000144 0B20A0E1 MOV R2,R11 \ 00000148 000000EA B ??DrawMenu_13 \ ??DrawMenu_18: \ 0000014C 0620A0E1 MOV R2,R6 \ ??DrawMenu_13: \ 00000150 230000EF SWI +35 \ ??DrawMenu_11: \ 00000154 0C209FE5 LDR R2,??DrawMenu_19 ;; DrawMenu \ 00000158 0110A0E3 MOV R1,#+1 \ 0000015C 6F0F85E2 ADD R0,R5,#+444 \ 00000160 4D0000EF SWI +77 \ 00000164 FF8FBDE8 POP {R0-R11,PC} ;; return \ ??DrawMenu_19: \ 00000168 ........ DC32 DrawMenu \ In segment CODE, align 4, keep-with-next \ __??Code32?? __code __interwork __atpcs void DrawNameMenu(int) \ DrawNameMenu: \ 00000000 30402DE9 PUSH {R4,R5,LR} \ 00000004 0040A0E1 MOV R4,R0 \ 00000008 ........ BL SaveNameMENU \ 0000000C 4000A0E3 MOV R0,#+64 \ 00000010 250100EF SWI +293 \ 00000014 0050A0E1 MOV R5,R0 \ 00000018 ........ LDR R0,??DataTable33 ;; crd \ 0000001C 041180E0 ADD R1,R0,R4, LSL #+2 \ 00000020 4C2191E5 LDR R2,[R1, #+332] \ 00000024 671F80E2 ADD R1,R0,#+412 \ 00000028 0500A0E1 MOV R0,R5 \ 0000002C 240100EF SWI +292 \ 00000030 7D00A0E3 MOV R0,#+125 \ 00000034 2E0100EF SWI +302 \ 00000038 0040A0E1 MOV R4,R0 \ 0000003C 7C00A0E3 MOV R0,#+124 \ 00000040 2E0100EF SWI +302 \ 00000044 10002DE9 PUSH {R4} \ 00000048 01002DE9 PUSH {R0} \ 0000004C 8430A0E3 MOV R3,#+132 \ 00000050 7820A0E3 MOV R2,#+120 \ 00000054 2D10A0E3 MOV R1,#+45 \ 00000058 2000A0E3 MOV R0,#+32 \ 0000005C 01002DE9 PUSH {R0} \ 00000060 0700A0E3 MOV R0,#+7 \ 00000064 01002DE9 PUSH {R0} \ 00000068 B000A0E3 MOV R0,#+176 \ 0000006C 01002DE9 PUSH {R0} \ 00000070 0500A0E1 MOV R0,R5 \ 00000074 4C0100EF SWI +332 \ 00000078 0500A0E1 MOV R0,R5 \ 0000007C 290100EF SWI +297 \ 00000080 14D08DE2 ADD SP,SP,#+20 \ 00000084 3080BDE8 POP {R4,R5,PC} ;; return \ In segment CODE, align 4, keep-with-next \ __??Code32?? __code __interwork __atpcs void StartFileMenu(int) \ StartFileMenu: \ 00000000 ........ LDR R1,??DataTable22 ;; mnu \ 00000004 00402DE9 PUSH {LR} \ 00000008 C92FA0E3 MOV R2,#+804 \ 0000000C 921021E0 MLA R1,R2,R0,R1 \ 00000010 002062E2 RSB R2,R2,#+0 \ 00000014 010050E2 SUBS R0,R0,#+1 \ 00000018 0300000A BEQ ??StartFileMenu_0 \ 0000001C 010040E2 SUB R0,R0,#+1 \ 00000020 040050E3 CMP R0,#+4 \ 00000024 0900009A BLS ??StartFileMenu_1 \ 00000028 0080BDE8 POP {PC} \ ??StartFileMenu_0: \ 0000002C 010082E0 ADD R0,R2,R1 \ 00000030 ........ BL shortcut \ 00000034 ........ LDR R0,??DataTable33 ;; crd \ 00000038 2C1190E5 LDR R1,[R0, #+300] \ 0000003C 000051E3 CMP R1,#+0 \ 00000040 0110A003 MOVEQ R1,#+1 \ 00000044 0010A013 MOVNE R1,#+0 \ 00000048 2C1180E5 STR R1,[R0, #+300] \ 0000004C 0080BDE8 POP {PC} \ ??StartFileMenu_1: \ 00000050 010082E0 ADD R0,R2,R1 \ 00000054 0040BDE8 POP {LR} ;; Pop \ 00000058 ........ B shortcut ;; tailcall \ In segment DATA_Z, align 4, align-sorted \ static DIR_ENTRY __data de \ de: \ 00000000 DS8 440 \ int __data dir_size \ dir_size: \ 000001B8 DS8 4 \ In segment CODE, align 4, keep-with-next \ __??Code32?? __code __interwork __atpcs int FindSizeInSubDir(char *) \ FindSizeInSubDir: \ 00000000 30402DE9 PUSH {R4,R5,LR} \ 00000004 ........ LDR R5,??DataTable26 ;; de \ 00000008 41DF4DE2 SUB SP,SP,#+260 \ 0000000C 0010A0E1 MOV R1,R0 \ 00000010 04008DE2 ADD R0,SP,#+4 \ 00000014 1A0000EF SWI +26 \ 00000018 04008DE2 ADD R0,SP,#+4 \ 0000001C 1B0000EF SWI +27 \ 00000020 04108DE2 ADD R1,SP,#+4 \ 00000024 010080E0 ADD R0,R0,R1 \ 00000028 ........ LDR R1,??DataTable27 ;; `?` \ 0000002C 014080E2 ADD R4,R0,#+1 \ 00000030 04008DE2 ADD R0,SP,#+4 \ 00000034 170000EF SWI +23 \ 00000038 0D20A0E1 MOV R2,SP \ 0000003C 04108DE2 ADD R1,SP,#+4 \ 00000040 0500A0E1 MOV R0,R5 \ 00000044 6B0000EF SWI +107 \ 00000048 000050E3 CMP R0,#+0 \ 0000004C 0B00000A BEQ ??FindSizeInSubDir_0 \ ??FindSizeInSubDir_1: \ 00000050 A91085E2 ADD R1,R5,#+169 \ 00000054 0400A0E1 MOV R0,R4 \ 00000058 1A0000EF SWI +26 \ 0000005C B80195E5 LDR R0,[R5, #+440] \ 00000060 141095E5 LDR R1,[R5, #+20] \ 00000064 000081E0 ADD R0,R1,R0 \ 00000068 B80185E5 STR R0,[R5, #+440] \ 0000006C 0D10A0E1 MOV R1,SP \ 00000070 0500A0E1 MOV R0,R5 \ 00000074 6C0000EF SWI +108 \ 00000078 000050E3 CMP R0,#+0 \ 0000007C F3FFFF1A BNE ??FindSizeInSubDir_1 \ ??FindSizeInSubDir_0: \ 00000080 0D10A0E1 MOV R1,SP \ 00000084 0500A0E1 MOV R0,R5 \ 00000088 6D0000EF SWI +109 \ 0000008C B80195E5 LDR R0,[R5, #+440] \ 00000090 41DF8DE2 ADD SP,SP,#+260 \ 00000094 3080BDE8 POP {R4,R5,PC} ;; return \ In segment CODE, align 4, keep-with-next \ __??Code32?? __code __interwork __atpcs int SizeDir(char *) \ SizeDir: \ 00000000 30402DE9 PUSH {R4,R5,LR} \ 00000004 ........ LDR R5,??DataTable26 ;; de \ 00000008 41DF4DE2 SUB SP,SP,#+260 \ 0000000C 0040A0E1 MOV R4,R0 \ 00000010 4000A0E3 MOV R0,#+64 \ 00000014 250100EF SWI +293 \ 00000018 0410A0E1 MOV R1,R4 \ 0000001C 04008DE2 ADD R0,SP,#+4 \ 00000020 1A0000EF SWI +26 \ 00000024 04008DE2 ADD R0,SP,#+4 \ 00000028 1B0000EF SWI +27 \ 0000002C 04108DE2 ADD R1,SP,#+4 \ 00000030 010080E0 ADD R0,R0,R1 \ 00000034 ........ LDR R1,??DataTable27 ;; `?` \ 00000038 014080E2 ADD R4,R0,#+1 \ 0000003C 04008DE2 ADD R0,SP,#+4 \ 00000040 170000EF SWI +23 \ 00000044 0D20A0E1 MOV R2,SP \ 00000048 04108DE2 ADD R1,SP,#+4 \ 0000004C 0500A0E1 MOV R0,R5 \ 00000050 6B0000EF SWI +107 \ 00000054 000050E3 CMP R0,#+0 \ 00000058 1300000A BEQ ??SizeDir_0 \ ??SizeDir_1: \ 0000005C A91085E2 ADD R1,R5,#+169 \ 00000060 0400A0E1 MOV R0,R4 \ 00000064 1A0000EF SWI +26 \ 00000068 FE00D5E1 LDRSH R0,[R5, #+14] \ 0000006C 000050E3 CMP R0,#+0 \ 00000070 0400000A BEQ ??SizeDir_2 \ 00000074 04008DE2 ADD R0,SP,#+4 \ 00000078 ........ BL FindSizeInSubDir \ 0000007C B81195E5 LDR R1,[R5, #+440] \ 00000080 010080E0 ADD R0,R0,R1 \ 00000084 020000EA B ??SizeDir_3 \ ??SizeDir_2: \ 00000088 B80195E5 LDR R0,[R5, #+440] \ 0000008C 141095E5 LDR R1,[R5, #+20] \ 00000090 000081E0 ADD R0,R1,R0 \ ??SizeDir_3: \ 00000094 B80185E5 STR R0,[R5, #+440] \ 00000098 0D10A0E1 MOV R1,SP \ 0000009C 0500A0E1 MOV R0,R5 \ 000000A0 6C0000EF SWI +108 \ 000000A4 000050E3 CMP R0,#+0 \ 000000A8 EBFFFF1A BNE ??SizeDir_1 \ ??SizeDir_0: \ 000000AC 0D10A0E1 MOV R1,SP \ 000000B0 0500A0E1 MOV R0,R5 \ 000000B4 6D0000EF SWI +109 \ 000000B8 B80195E5 LDR R0,[R5, #+440] \ 000000BC 41DF8DE2 ADD SP,SP,#+260 \ 000000C0 3080BDE8 POP {R4,R5,PC} ;; return \ In segment CODE, align 4, keep-with-next \ __??Code32?? __code __interwork __atpcs void DrawFreeMamory(char *, int) \ DrawFreeMamory: \ 00000000 F04F2DE9 PUSH {R4-R11,LR} \ 00000004 0090A0E1 MOV R9,R0 \ 00000008 0140A0E1 MOV R4,R1 \ 0000000C ........ LDR R6,??DataTable33 ;; crd \ 00000010 FCA19FE5 LDR R10,??DrawFreeMamory_0+0x4 ;; `?` \ 00000014 400FA0E3 MOV R0,#+256 \ 00000018 250100EF SWI +293 \ 0000001C 0050A0E1 MOV R5,R0 \ 00000020 F18000EF SWI +33009 \ 00000024 0110A0E3 MOV R1,#+1 \ 00000028 02002DE9 PUSH {R1} \ 0000002C 8430A0E3 MOV R3,#+132 \ 00000030 0020A0E3 MOV R2,#+0 \ 00000034 B010A0E3 MOV R1,#+176 \ 00000038 02002DE9 PUSH {R1} \ 0000003C 0010A0E3 MOV R1,#+0 \ 00000040 250000EF SWI +37 \ 00000044 881196E5 LDR R1,[R6, #+392] \ 00000048 0000A0E3 MOV R0,#+0 \ 0000004C 8B0000EF SWI +139 \ 00000050 C014A0E1 ASR R1,R0,#+9 \ 00000054 210B80E0 ADD R0,R0,R1, LSR #+22 \ 00000058 881196E5 LDR R1,[R6, #+392] \ 0000005C 40B5A0E1 ASR R11,R0,#+10 \ 00000060 0000A0E3 MOV R0,#+0 \ 00000064 8A0000EF SWI +138 \ 00000068 C014A0E1 ASR R1,R0,#+9 \ 0000006C 210B80E0 ADD R0,R0,R1, LSR #+22 \ 00000070 4075A0E1 ASR R7,R0,#+10 \ 00000074 6410A0E3 MOV R1,#+100 \ 00000078 910700E0 MUL R0,R1,R7 \ 0000007C 0B10A0E1 MOV R1,R11 \ 00000080 ........ _BLF ??div32_a,??rA??div32_a \ 00000084 0180A0E1 MOV R8,R1 \ 00000088 0900A0E1 MOV R0,R9 \ 0000008C ........ BL SizeDir \ 00000090 0090A0E1 MOV R9,R0 \ 00000094 0730A0E1 MOV R3,R7 \ 00000098 0B20A0E1 MOV R2,R11 \ 0000009C 14108AE2 ADD R1,R10,#+20 \ 000000A0 0500A0E1 MOV R0,R5 \ 000000A4 240100EF SWI +292 \ 000000A8 7D00A0E3 MOV R0,#+125 \ 000000AC 2E0100EF SWI +302 \ 000000B0 00B0A0E1 MOV R11,R0 \ 000000B4 7C00A0E3 MOV R0,#+124 \ 000000B8 2E0100EF SWI +302 \ 000000BC 00082DE9 PUSH {R11} \ 000000C0 01002DE9 PUSH {R0} \ 000000C4 8330A0E3 MOV R3,#+131 \ 000000C8 0220A0E3 MOV R2,#+2 \ 000000CC 0210A0E1 MOV R1,R2 \ 000000D0 2000A0E3 MOV R0,#+32 \ 000000D4 01002DE9 PUSH {R0} \ 000000D8 0700A0E3 MOV R0,#+7 \ 000000DC 01002DE9 PUSH {R0} \ 000000E0 AF00A0E3 MOV R0,#+175 \ 000000E4 01002DE9 PUSH {R0} \ 000000E8 0500A0E1 MOV R0,R5 \ 000000EC 4C0100EF SWI +332 \ 000000F0 0720A0E1 MOV R2,R7 \ 000000F4 451F8FE2 ADR R1,??DrawFreeMamory_0 ;; "%d" \ 000000F8 0500A0E1 MOV R0,R5 \ 000000FC 240100EF SWI +292 \ 00000100 6A0F86E2 ADD R0,R6,#+424 \ 00000104 01002DE9 PUSH {R0} \ 00000108 8330A0E3 MOV R3,#+131 \ 0000010C 3C20A0E3 MOV R2,#+60 \ 00000110 0A1088E2 ADD R1,R8,#+10 \ 00000114 680F86E2 ADD R0,R6,#+416 \ 00000118 01002DE9 PUSH {R0} \ 0000011C 2000A0E3 MOV R0,#+32 \ 00000120 01002DE9 PUSH {R0} \ 00000124 0600A0E3 MOV R0,#+6 \ 00000128 01002DE9 PUSH {R0} \ 0000012C AF00A0E3 MOV R0,#+175 \ 00000130 01002DE9 PUSH {R0} \ 00000134 0500A0E1 MOV R0,R5 \ 00000138 4C0100EF SWI +332 \ 0000013C 30D08DE2 ADD SP,SP,#+48 \ 00000140 6A0F86E2 ADD R0,R6,#+424 \ 00000144 01002DE9 PUSH {R0} \ 00000148 3930A0E3 MOV R3,#+57 \ 0000014C 7520A0E3 MOV R2,#+117 \ 00000150 3210A0E3 MOV R1,#+50 \ 00000154 680F86E2 ADD R0,R6,#+416 \ 00000158 01002DE9 PUSH {R0} \ 0000015C 0000A0E3 MOV R0,#+0 \ 00000160 01002DE9 PUSH {R0} \ 00000164 01002DE9 PUSH {R0} \ 00000168 01002DE9 PUSH {R0} \ 0000016C 0200A0E3 MOV R0,#+2 \ 00000170 500100EF SWI +336 \ 00000174 690F86E2 ADD R0,R6,#+420 \ 00000178 01002DE9 PUSH {R0} \ 0000017C 01002DE9 PUSH {R0} \ 00000180 3830A0E3 MOV R3,#+56 \ 00000184 122088E2 ADD R2,R8,#+18 \ 00000188 3310A0E3 MOV R1,#+51 \ 0000018C 0000A0E3 MOV R0,#+0 \ 00000190 01002DE9 PUSH {R0} \ 00000194 01002DE9 PUSH {R0} \ 00000198 01002DE9 PUSH {R0} \ 0000019C 0300A0E3 MOV R0,#+3 \ 000001A0 500100EF SWI +336 \ 000001A4 28D08DE2 ADD SP,SP,#+40 \ 000001A8 C904A0E1 ASR R0,R9,#+9 \ 000001AC 200B89E0 ADD R0,R9,R0, LSR #+22 \ 000001B0 4025A0E1 ASR R2,R0,#+10 \ 000001B4 0A10A0E1 MOV R1,R10 \ 000001B8 0500A0E1 MOV R0,R5 \ 000001BC 240100EF SWI +292 \ 000001C0 7D00A0E3 MOV R0,#+125 \ 000001C4 2E0100EF SWI +302 \ 000001C8 0060A0E1 MOV R6,R0 \ 000001CC 7C00A0E3 MOV R0,#+124 \ 000001D0 2E0100EF SWI +302 \ 000001D4 40002DE9 PUSH {R6} \ 000001D8 01002DE9 PUSH {R0} \ 000001DC 8330A0E3 MOV R3,#+131 \ 000001E0 0420A0E1 MOV R2,R4 \ 000001E4 0210A0E3 MOV R1,#+2 \ 000001E8 2000A0E3 MOV R0,#+32 \ 000001EC 01002DE9 PUSH {R0} \ 000001F0 0700A0E3 MOV R0,#+7 \ 000001F4 01002DE9 PUSH {R0} \ 000001F8 AF00A0E3 MOV R0,#+175 \ 000001FC 01002DE9 PUSH {R0} \ 00000200 0500A0E1 MOV R0,R5 \ 00000204 4C0100EF SWI +332 \ 00000208 14D08DE2 ADD SP,SP,#+20 \ 0000020C F08FBDE8 POP {R4-R11,PC} ;; return \ ??DrawFreeMamory_0: \ 00000210 25640000 DC8 "%d",+0 \ 00000214 ........ DC32 `?` \ In segment CODE, align 4, keep-with-next \ __??Code32?? __code __interwork __atpcs void DrawPusk(int, int) \ DrawPusk: \ 00000000 F04F2DE9 PUSH {R4-R11,LR} \ 00000004 ........ LDR R4,??DataTable33 ;; crd \ 00000008 449FA0E3 MOV R9,#+272 \ 0000000C 00B0A0E1 MOV R11,R0 \ 00000010 F18000EF SWI +33009 \ 00000014 0110A0E3 MOV R1,#+1 \ 00000018 02002DE9 PUSH {R1} \ 0000001C 4B30A0E3 MOV R3,#+75 \ 00000020 5020A0E3 MOV R2,#+80 \ 00000024 438FA0E3 MOV R8,#+268 \ 00000028 9E10A0E3 MOV R1,#+158 \ 0000002C 02002DE9 PUSH {R1} \ 00000030 427FA0E3 MOV R7,#+264 \ 00000034 416FA0E3 MOV R6,#+260 \ 00000038 40AFA0E3 MOV R10,#+256 \ 0000003C 0010A0E3 MOV R1,#+0 \ 00000040 250000EF SWI +37 \ 00000044 6A0F84E2 ADD R0,R4,#+424 \ 00000048 01002DE9 PUSH {R0} \ 0000004C 9E30A0E3 MOV R3,#+158 \ 00000050 4B20A0E3 MOV R2,#+75 \ 00000054 5010A0E3 MOV R1,#+80 \ 00000058 680F84E2 ADD R0,R4,#+416 \ 0000005C 01002DE9 PUSH {R0} \ 00000060 0000A0E3 MOV R0,#+0 \ 00000064 01002DE9 PUSH {R0} \ 00000068 0500A0E3 MOV R0,#+5 \ 0000006C 01002DE9 PUSH {R0} \ 00000070 0300A0E3 MOV R0,#+3 \ 00000074 01002DE9 PUSH {R0} \ 00000078 0000A0E3 MOV R0,#+0 \ 0000007C 500100EF SWI +336 \ 00000080 400FA0E3 MOV R0,#+256 \ 00000084 250100EF SWI +293 \ 00000088 0050A0E1 MOV R5,R0 \ 0000008C 040099E7 LDR R0,[R9, +R4] \ 00000090 731F84E2 ADD R1,R4,#+460 \ 00000094 01002DE9 PUSH {R0} \ 00000098 040098E7 LDR R0,[R8, +R4] \ 0000009C 01002DE9 PUSH {R0} \ 000000A0 040097E7 LDR R0,[R7, +R4] \ 000000A4 01002DE9 PUSH {R0} \ 000000A8 040096E7 LDR R0,[R6, +R4] \ 000000AC 01002DE9 PUSH {R0} \ 000000B0 04309AE7 LDR R3,[R10, +R4] \ 000000B4 FC2094E5 LDR R2,[R4, #+252] \ 000000B8 0500A0E1 MOV R0,R5 \ 000000BC 240100EF SWI +292 \ 000000C0 2CD08DE2 ADD SP,SP,#+44 \ 000000C4 6A0F84E2 ADD R0,R4,#+424 \ 000000C8 01002DE9 PUSH {R0} \ 000000CC 8430A0E3 MOV R3,#+132 \ 000000D0 0B20A0E1 MOV R2,R11 \ 000000D4 0210A0E3 MOV R1,#+2 \ 000000D8 680F84E2 ADD R0,R4,#+416 \ 000000DC 01002DE9 PUSH {R0} \ 000000E0 2000A0E3 MOV R0,#+32 \ 000000E4 01002DE9 PUSH {R0} \ 000000E8 0700A0E3 MOV R0,#+7 \ 000000EC 01002DE9 PUSH {R0} \ 000000F0 B000A0E3 MOV R0,#+176 \ 000000F4 01002DE9 PUSH {R0} \ 000000F8 0500A0E1 MOV R0,R5 \ 000000FC 4C0100EF SWI +332 \ 00000100 340194E5 LDR R0,[R4, #+308] \ 00000104 14D08DE2 ADD SP,SP,#+20 \ 00000108 000050E3 CMP R0,#+0 \ 0000010C A000004A BMI ??DrawPusk_0 \ 00000110 3D0050E3 CMP R0,#+61 \ 00000114 9E0000AA BGE ??DrawPusk_0 \ 00000118 901194E5 LDR R1,[R4, #+400] \ 0000011C 382194E5 LDR R2,[R4, #+312] \ 00000120 323081E2 ADD R3,R1,#+50 \ 00000124 670FA0E3 MOV R0,#+412 \ 00000128 23B081E2 ADD R11,R1,#+35 \ 0000012C 0B0052E1 CMP R2,R11 \ 00000130 020053A1 CMPGE R3,R2 \ 00000134 190000BA BLT ??DrawPusk_1 \ 00000138 FC2094E5 LDR R2,[R4, #+252] \ 0000013C 041080E0 ADD R1,R0,R4 \ 00000140 0500A0E1 MOV R0,R5 \ 00000144 240100EF SWI +292 \ 00000148 7D00A0E3 MOV R0,#+125 \ 0000014C 2E0100EF SWI +302 \ 00000150 0060A0E1 MOV R6,R0 \ 00000154 7C00A0E3 MOV R0,#+124 \ 00000158 2E0100EF SWI +302 \ 0000015C 40002DE9 PUSH {R6} \ 00000160 01002DE9 PUSH {R0} \ 00000164 8430A0E3 MOV R3,#+132 \ 00000168 2000A0E3 MOV R0,#+32 \ 0000016C 01002DE9 PUSH {R0} \ 00000170 0700A0E3 MOV R0,#+7 \ 00000174 01002DE9 PUSH {R0} \ 00000178 B000A0E3 MOV R0,#+176 \ 0000017C 01002DE9 PUSH {R0} \ 00000180 900194E5 LDR R0,[R4, #+400] \ 00000184 232080E2 ADD R2,R0,#+35 \ ??DrawPusk_2: \ 00000188 0210A0E3 MOV R1,#+2 \ 0000018C 0500A0E1 MOV R0,R5 \ 00000190 4C0100EF SWI +332 \ 00000194 0100A0E3 MOV R0,#+1 \ 00000198 14D08DE2 ADD SP,SP,#+20 \ 0000019C 7D0000EA B ??DrawPusk_3 \ ??DrawPusk_1: \ 000001A0 3EB081E2 ADD R11,R1,#+62 \ 000001A4 030052E1 CMP R2,R3 \ 000001A8 02005BA1 CMPGE R11,R2 \ 000001AC 140000BA BLT ??DrawPusk_4 \ 000001B0 04209AE7 LDR R2,[R10, +R4] \ 000001B4 041080E0 ADD R1,R0,R4 \ 000001B8 0500A0E1 MOV R0,R5 \ 000001BC 240100EF SWI +292 \ 000001C0 7D00A0E3 MOV R0,#+125 \ 000001C4 2E0100EF SWI +302 \ 000001C8 0060A0E1 MOV R6,R0 \ 000001CC 7C00A0E3 MOV R0,#+124 \ 000001D0 2E0100EF SWI +302 \ 000001D4 40002DE9 PUSH {R6} \ 000001D8 01002DE9 PUSH {R0} \ 000001DC 8430A0E3 MOV R3,#+132 \ 000001E0 2000A0E3 MOV R0,#+32 \ 000001E4 01002DE9 PUSH {R0} \ 000001E8 0700A0E3 MOV R0,#+7 \ 000001EC 01002DE9 PUSH {R0} \ 000001F0 B000A0E3 MOV R0,#+176 \ 000001F4 01002DE9 PUSH {R0} \ 000001F8 900194E5 LDR R0,[R4, #+400] \ 000001FC 2F2080E2 ADD R2,R0,#+47 \ 00000200 E0FFFFEA B ??DrawPusk_2 \ ??DrawPusk_4: \ 00000204 4B3081E2 ADD R3,R1,#+75 \ 00000208 0B0052E1 CMP R2,R11 \ 0000020C 020053A1 CMPGE R3,R2 \ 00000210 140000BA BLT ??DrawPusk_5 \ 00000214 042096E7 LDR R2,[R6, +R4] \ 00000218 041080E0 ADD R1,R0,R4 \ 0000021C 0500A0E1 MOV R0,R5 \ 00000220 240100EF SWI +292 \ 00000224 7D00A0E3 MOV R0,#+125 \ 00000228 2E0100EF SWI +302 \ 0000022C 0060A0E1 MOV R6,R0 \ 00000230 7C00A0E3 MOV R0,#+124 \ 00000234 2E0100EF SWI +302 \ 00000238 40002DE9 PUSH {R6} \ 0000023C 01002DE9 PUSH {R0} \ 00000240 8430A0E3 MOV R3,#+132 \ 00000244 2000A0E3 MOV R0,#+32 \ 00000248 01002DE9 PUSH {R0} \ 0000024C 0700A0E3 MOV R0,#+7 \ 00000250 01002DE9 PUSH {R0} \ 00000254 B000A0E3 MOV R0,#+176 \ 00000258 01002DE9 PUSH {R0} \ 0000025C 900194E5 LDR R0,[R4, #+400] \ 00000260 3B2080E2 ADD R2,R0,#+59 \ ??DrawPusk_6: \ 00000264 C7FFFFEA B ??DrawPusk_2 \ ??DrawPusk_5: \ 00000268 576081E2 ADD R6,R1,#+87 \ 0000026C 030052E1 CMP R2,R3 \ 00000270 020056A1 CMPGE R6,R2 \ 00000274 140000BA BLT ??DrawPusk_7 \ 00000278 042097E7 LDR R2,[R7, +R4] \ 0000027C 041080E0 ADD R1,R0,R4 \ 00000280 0500A0E1 MOV R0,R5 \ 00000284 240100EF SWI +292 \ 00000288 7D00A0E3 MOV R0,#+125 \ 0000028C 2E0100EF SWI +302 \ 00000290 0060A0E1 MOV R6,R0 \ 00000294 7C00A0E3 MOV R0,#+124 \ 00000298 2E0100EF SWI +302 \ 0000029C 40002DE9 PUSH {R6} \ 000002A0 01002DE9 PUSH {R0} \ 000002A4 8430A0E3 MOV R3,#+132 \ 000002A8 2000A0E3 MOV R0,#+32 \ 000002AC 01002DE9 PUSH {R0} \ 000002B0 0700A0E3 MOV R0,#+7 \ 000002B4 01002DE9 PUSH {R0} \ 000002B8 B000A0E3 MOV R0,#+176 \ 000002BC 01002DE9 PUSH {R0} \ 000002C0 900194E5 LDR R0,[R4, #+400] \ 000002C4 472080E2 ADD R2,R0,#+71 \ 000002C8 AEFFFFEA B ??DrawPusk_2 \ ??DrawPusk_7: \ 000002CC 633081E2 ADD R3,R1,#+99 \ 000002D0 060052E1 CMP R2,R6 \ 000002D4 020053A1 CMPGE R3,R2 \ 000002D8 140000BA BLT ??DrawPusk_8 \ 000002DC 042098E7 LDR R2,[R8, +R4] \ 000002E0 041080E0 ADD R1,R0,R4 \ 000002E4 0500A0E1 MOV R0,R5 \ 000002E8 240100EF SWI +292 \ 000002EC 7D00A0E3 MOV R0,#+125 \ 000002F0 2E0100EF SWI +302 \ 000002F4 0060A0E1 MOV R6,R0 \ 000002F8 7C00A0E3 MOV R0,#+124 \ 000002FC 2E0100EF SWI +302 \ 00000300 40002DE9 PUSH {R6} \ 00000304 01002DE9 PUSH {R0} \ 00000308 8430A0E3 MOV R3,#+132 \ 0000030C 2000A0E3 MOV R0,#+32 \ 00000310 01002DE9 PUSH {R0} \ 00000314 0700A0E3 MOV R0,#+7 \ 00000318 01002DE9 PUSH {R0} \ 0000031C B000A0E3 MOV R0,#+176 \ 00000320 01002DE9 PUSH {R0} \ 00000324 900194E5 LDR R0,[R4, #+400] \ 00000328 532080E2 ADD R2,R0,#+83 \ 0000032C 95FFFFEA B ??DrawPusk_2 \ ??DrawPusk_8: \ 00000330 030052E1 CMP R2,R3 \ 00000334 6F1081A2 ADDGE R1,R1,#+111 \ 00000338 020051A1 CMPGE R1,R2 \ 0000033C 140000BA BLT ??DrawPusk_0 \ 00000340 042099E7 LDR R2,[R9, +R4] \ 00000344 041080E0 ADD R1,R0,R4 \ 00000348 0500A0E1 MOV R0,R5 \ 0000034C 240100EF SWI +292 \ 00000350 7D00A0E3 MOV R0,#+125 \ 00000354 2E0100EF SWI +302 \ 00000358 0060A0E1 MOV R6,R0 \ 0000035C 7C00A0E3 MOV R0,#+124 \ 00000360 2E0100EF SWI +302 \ 00000364 40002DE9 PUSH {R6} \ 00000368 01002DE9 PUSH {R0} \ 0000036C 8430A0E3 MOV R3,#+132 \ 00000370 2000A0E3 MOV R0,#+32 \ 00000374 01002DE9 PUSH {R0} \ 00000378 0700A0E3 MOV R0,#+7 \ 0000037C 01002DE9 PUSH {R0} \ 00000380 B000A0E3 MOV R0,#+176 \ 00000384 01002DE9 PUSH {R0} \ 00000388 900194E5 LDR R0,[R4, #+400] \ 0000038C 5F2080E2 ADD R2,R0,#+95 \ 00000390 7CFFFFEA B ??DrawPusk_2 \ ??DrawPusk_0: \ 00000394 0000A0E3 MOV R0,#+0 \ ??DrawPusk_3: \ 00000398 8C0184E5 STR R0,[R4, #+396] \ 0000039C 0500A0E1 MOV R0,R5 \ 000003A0 290100EF SWI +297 \ 000003A4 F08FBDE8 POP {R4-R11,PC} ;; return \ In segment CODE, align 4, keep-with-next \ __??Code32?? __code __interwork __atpcs void StartFilePusk() \ StartFilePusk: \ 00000000 ........ LDR R0,??DataTable33 ;; crd \ 00000004 00402DE9 PUSH {LR} \ 00000008 341190E5 LDR R1,[R0, #+308] \ 0000000C 000051E3 CMP R1,#+0 \ 00000010 0080BD48 POPMI {PC} \ 00000014 3D0051E3 CMP R1,#+61 \ 00000018 0080BDA8 POPGE {PC} \ 0000001C 901190E5 LDR R1,[R0, #+400] \ 00000020 383190E5 LDR R3,[R0, #+312] \ 00000024 ........ LDR R0,??DataTable31 ;; `?` \ 00000028 322081E2 ADD R2,R1,#+50 \ 0000002C 23C081E2 ADD R12,R1,#+35 \ 00000030 0C0053E1 CMP R3,R12 \ 00000034 030052A1 CMPGE R2,R3 \ 00000038 040000AA BGE ??StartFilePusk_0 \ 0000003C 3EC081E2 ADD R12,R1,#+62 \ 00000040 020053E1 CMP R3,R2 \ 00000044 03005CA1 CMPGE R12,R3 \ 00000048 020000BA BLT ??StartFilePusk_1 \ 0000004C 600080E2 ADD R0,R0,#+96 \ ??StartFilePusk_0: \ 00000050 ........ BL start \ 00000054 0080BDE8 POP {PC} \ ??StartFilePusk_1: \ 00000058 4B2081E2 ADD R2,R1,#+75 \ 0000005C 0C0053E1 CMP R3,R12 \ 00000060 030052A1 CMPGE R2,R3 \ 00000064 500080A2 ADDGE R0,R0,#+80 \ 00000068 0F0000AA BGE ??StartFilePusk_2 \ 0000006C 57C081E2 ADD R12,R1,#+87 \ 00000070 020053E1 CMP R3,R2 \ 00000074 03005CA1 CMPGE R12,R3 \ 00000078 010000BA BLT ??StartFilePusk_3 \ 0000007C 400080E2 ADD R0,R0,#+64 \ ??StartFilePusk_4: \ 00000080 090000EA B ??StartFilePusk_2 \ ??StartFilePusk_3: \ 00000084 632081E2 ADD R2,R1,#+99 \ 00000088 0C0053E1 CMP R3,R12 \ 0000008C 030052A1 CMPGE R2,R3 \ 00000090 240080A2 ADDGE R0,R0,#+36 \ 00000094 EDFFFFAA BGE ??StartFilePusk_0 \ 00000098 020053E1 CMP R3,R2 \ 0000009C 6F1081A2 ADDGE R1,R1,#+111 \ 000000A0 030051A1 CMPGE R1,R3 \ 000000A4 0080BDB8 POPLT {PC} \ 000000A8 140080E2 ADD R0,R0,#+20 \ ??StartFilePusk_2: \ 000000AC ........ BL shortcut \ 000000B0 0080BDE8 POP {PC} ;; return \ In segment CODE, align 4, keep-with-next \ __??Code32?? __code __interwork __atpcs void DrawStrInt(int, int, int) \ DrawStrInt: \ 00000000 F0402DE9 PUSH {R4-R7,LR} \ 00000004 0040A0E1 MOV R4,R0 \ 00000008 0150A0E1 MOV R5,R1 \ 0000000C 0260A0E1 MOV R6,R2 \ 00000010 0500A0E3 MOV R0,#+5 \ 00000014 250100EF SWI +293 \ 00000018 ........ LDR R1,??DataTable32 ;; per_d \ 0000001C 0070A0E1 MOV R7,R0 \ 00000020 0420A0E1 MOV R2,R4 \ 00000024 240100EF SWI +292 \ 00000028 7D00A0E3 MOV R0,#+125 \ 0000002C 2E0100EF SWI +302 \ 00000030 0040A0E1 MOV R4,R0 \ 00000034 7C00A0E3 MOV R0,#+124 \ 00000038 2E0100EF SWI +302 \ 0000003C 10002DE9 PUSH {R4} \ 00000040 01002DE9 PUSH {R0} \ 00000044 8030A0E3 MOV R3,#+128 \ 00000048 0620A0E1 MOV R2,R6 \ 0000004C 0510A0E1 MOV R1,R5 \ 00000050 2000A0E3 MOV R0,#+32 \ 00000054 01002DE9 PUSH {R0} \ 00000058 0700A0E3 MOV R0,#+7 \ 0000005C 01002DE9 PUSH {R0} \ 00000060 AC00A0E3 MOV R0,#+172 \ 00000064 01002DE9 PUSH {R0} \ 00000068 0700A0E1 MOV R0,R7 \ 0000006C 4C0100EF SWI +332 \ 00000070 0700A0E1 MOV R0,R7 \ 00000074 290100EF SWI +297 \ 00000078 14D08DE2 ADD SP,SP,#+20 \ 0000007C F080BDE8 POP {R4-R7,PC} ;; return \ In segment CODE, align 4, keep-with-next \ __??Code32?? __code __interwork __atpcs void DrawStrChar(char *, int, int) \ DrawStrChar: \ 00000000 F0402DE9 PUSH {R4-R7,LR} \ 00000004 0140A0E1 MOV R4,R1 \ 00000008 0250A0E1 MOV R5,R2 \ 0000000C 0070A0E1 MOV R7,R0 \ 00000010 1B0000EF SWI +27 \ 00000014 250100EF SWI +293 \ 00000018 60109FE5 LDR R1,??DrawStrChar_0 ;; crd + 412 \ 0000001C 0060A0E1 MOV R6,R0 \ 00000020 0720A0E1 MOV R2,R7 \ 00000024 240100EF SWI +292 \ 00000028 7D00A0E3 MOV R0,#+125 \ 0000002C 2E0100EF SWI +302 \ 00000030 0070A0E1 MOV R7,R0 \ 00000034 7C00A0E3 MOV R0,#+124 \ 00000038 2E0100EF SWI +302 \ 0000003C 80002DE9 PUSH {R7} \ 00000040 01002DE9 PUSH {R0} \ 00000044 8030A0E3 MOV R3,#+128 \ 00000048 0520A0E1 MOV R2,R5 \ 0000004C 0410A0E1 MOV R1,R4 \ 00000050 2000A0E3 MOV R0,#+32 \ 00000054 01002DE9 PUSH {R0} \ 00000058 0700A0E3 MOV R0,#+7 \ 0000005C 01002DE9 PUSH {R0} \ 00000060 AC00A0E3 MOV R0,#+172 \ 00000064 01002DE9 PUSH {R0} \ 00000068 0600A0E1 MOV R0,R6 \ 0000006C 4C0100EF SWI +332 \ 00000070 0600A0E1 MOV R0,R6 \ 00000074 290100EF SWI +297 \ 00000078 14D08DE2 ADD SP,SP,#+20 \ 0000007C F080BDE8 POP {R4-R7,PC} ;; return \ ??DrawStrChar_0: \ 00000080 ........ DC32 crd + 412 \ In segment CODE, align 4, keep-with-next \ __??Code32?? __code __interwork __atpcs void DrawWorkDesc() \ DrawWorkDesc: \ 00000000 10402DE9 PUSH {R4,LR} \ 00000004 ........ LDR R4,??DataTable33 ;; crd \ 00000008 340194E5 LDR R0,[R4, #+308] \ 0000000C 790050E3 CMP R0,#+121 \ 00000010 150000BA BLT ??DrawWorkDesc_0 \ 00000014 810050E3 CMP R0,#+129 \ 00000018 130000AA BGE ??DrawWorkDesc_0 \ 0000001C 380194E5 LDR R0,[R4, #+312] \ 00000020 301194E5 LDR R1,[R4, #+304] \ 00000024 010050E1 CMP R0,R1 \ 00000028 0F0000BA BLT ??DrawWorkDesc_0 \ 0000002C AB0050E3 CMP R0,#+171 \ 00000030 0D0000AA BGE ??DrawWorkDesc_0 \ 00000034 8220A0E3 MOV R2,#+130 \ 00000038 7810A0E3 MOV R1,#+120 \ 0000003C 0100A0E3 MOV R0,#+1 \ 00000040 ........ BL DrawStrInt \ 00000044 9020A0E3 MOV R2,#+144 \ 00000048 7810A0E3 MOV R1,#+120 \ 0000004C 0200A0E3 MOV R0,#+2 \ 00000050 ........ BL DrawStrInt \ 00000054 9E20A0E3 MOV R2,#+158 \ 00000058 7810A0E3 MOV R1,#+120 \ 0000005C 0300A0E3 MOV R0,#+3 \ 00000060 ........ BL DrawStrInt \ 00000064 8200A0E3 MOV R0,#+130 \ 00000068 040000EA B ??DrawWorkDesc_1 \ ??DrawWorkDesc_0: \ 0000006C 240194E5 LDR R0,[R4, #+292] \ 00000070 9E20A0E3 MOV R2,#+158 \ 00000074 7810A0E3 MOV R1,#+120 \ 00000078 ........ BL DrawStrInt \ 0000007C 9D00A0E3 MOV R0,#+157 \ ??DrawWorkDesc_1: \ 00000080 300184E5 STR R0,[R4, #+304] \ 00000084 4C0194E5 LDR R0,[R4, #+332] \ 00000088 000050E3 CMP R0,#+0 \ 0000008C 40019405 LDREQ R0,[R4, #+320] \ 00000090 00005003 CMPEQ R0,#+0 \ 00000094 1080BD18 POPNE {R4,PC} \ 00000098 341194E5 LDR R1,[R4, #+308] \ 0000009C 240194E5 LDR R0,[R4, #+292] \ 000000A0 830051E3 CMP R1,#+131 \ 000000A4 040000BA BLT ??DrawWorkDesc_2 \ 000000A8 030050E3 CMP R0,#+3 \ 000000AC 010080B2 ADDLT R0,R0,#+1 \ 000000B0 0100A0A3 MOVGE R0,#+1 \ 000000B4 0110A0E3 MOV R1,#+1 \ 000000B8 090000EA B ??DrawWorkDesc_3 \ ??DrawWorkDesc_2: \ 000000BC 382194E5 LDR R2,[R4, #+312] \ 000000C0 B00052E3 CMP R2,#+176 \ 000000C4 AF10A0A3 MOVGE R1,#+175 \ 000000C8 381184A5 STRGE R1,[R4, #+312] \ 000000CC 020051B3 CMPLT R1,#+2 \ 000000D0 040000AA BGE ??DrawWorkDesc_4 \ 000000D4 020050E3 CMP R0,#+2 \ 000000D8 010040A2 SUBGE R0,R0,#+1 \ 000000DC 0300A0B3 MOVLT R0,#+3 \ 000000E0 8310A0E3 MOV R1,#+131 \ ??DrawWorkDesc_3: \ 000000E4 341184E5 STR R1,[R4, #+308] \ ??DrawWorkDesc_4: \ 000000E8 381194E5 LDR R1,[R4, #+312] \ 000000EC 240184E5 STR R0,[R4, #+292] \ 000000F0 340194E5 LDR R0,[R4, #+308] \ 000000F4 682F84E2 ADD R2,R4,#+416 \ 000000F8 ........ BL DrawCross \ 000000FC 1080BDE8 POP {R4,PC} ;; return \ In segment CODE, align 4, keep-with-next \ __??Code32?? __code __interwork __atpcs void DrawSysBar() \ DrawSysBar: \ 00000000 1EFF2FE1 BX LR ;; return 3 #include "ReadCFG.c" \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4E6574444220 DC8 "NetDB x" \ 7800 \ 00000008 43616E277420 DC8 "Can't open coor2.ini" \ 6F70656E2063 \ 6F6F72322E69 \ 6E6900 \ 0000001D 000000 DC8 0, 0, 0 \ 00000020 303A5C636F6F DC8 "0:\\coor2.ini" \ 72322E696E69 \ 00 \ 0000002D 000000 DC8 0, 0, 0 \ 00000030 53686F774672 DC8 "ShowFreeRam" \ 656552616D00 \ 0000003C 467265655261 DC8 "FreeRam y" \ 6D207900 \ 00000046 0000 DC8 0, 0 \ 00000048 467265655261 DC8 "FreeRam x" \ 6D207800 \ 00000052 0000 DC8 0, 0 \ 00000054 53686F774469 DC8 "ShowDialogs" \ 616C6F677300 \ 00000060 4469616C6F67 DC8 "Dialogs y" \ 73207900 \ 0000006A 0000 DC8 0, 0 \ 0000006C 4469616C6F67 DC8 "Dialogs x" \ 73207800 \ 00000076 0000 DC8 0, 0 \ 00000078 53686F774E65 DC8 "ShowNetDB" \ 74444200 \ 00000082 0000 DC8 0, 0 \ 00000084 4E6574444220 DC8 "NetDB y" \ 7900 \ 0000008C 53686F774E65 DC8 "ShowNetAdv" \ 7441647600 \ 00000097 00 DC8 0 \ 00000098 4E6574416476 DC8 "NetAdv y" \ 207900 \ 000000A1 000000 DC8 0, 0, 0 \ 000000A4 4E6574416476 DC8 "NetAdv x" \ 207800 \ 000000AD 000000 DC8 0, 0, 0 \ 000000B0 53686F77436C DC8 "ShowClock" \ 6F636B00 \ 000000BA 0000 DC8 0, 0 \ 000000BC 436C6F636B20 DC8 "Clock y" \ 7900 \ 000000C4 436C6F636B20 DC8 "Clock x" \ 7800 \ 000000CC 53686F77566F DC8 "ShowVolt" \ 6C7400 \ 000000D5 000000 DC8 0, 0, 0 \ 000000D8 566F6C742079 DC8 "Volt y" \ 00 \ 000000DF 00 DC8 0 \ 000000E0 566F6C742078 DC8 "Volt x" \ 00 \ 000000E7 00 DC8 0 \ 000000E8 53686F774361 DC8 "ShowCap" \ 7000 \ 000000F0 436170207900 DC8 "Cap y" \ 000000F6 0000 DC8 0, 0 \ 000000F8 436170207800 DC8 "Cap x" \ 000000FE 0000 DC8 0, 0 \ 00000100 43616E277420 DC8 "Can't open coord.ini" \ 6F70656E2063 \ 6F6F72642E69 \ 6E6900 \ 00000115 000000 DC8 0, 0, 0 \ char const __data coord[19] \ coord: \ 00000118 303A5C736865 DC8 "0:\\shell\\coord.ini" \ 6C6C5C636F6F \ 72642E696E69 \ 00 \ 0000012B 00 DC8 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 43616E277420 DC8 "Can't open panel.ini" \ 6F70656E2070 \ 616E656C2E69 \ 6E6900 \ 00000015 000000 DC8 0, 0, 0 \ char const __data panel[19] \ panel: \ 00000018 303A5C736865 DC8 "0:\\shell\\panel.ini" \ 6C6C5C70616E \ 656C2E696E69 \ 00 \ 0000002B 00 DC8 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 637572736F72 DC8 "cursor_img" \ 5F696D6700 \ 0000000B 00 DC8 0 \ 0000000C 637572736F72 DC8 "cursor_speed" \ 5F7370656564 \ 00 \ 00000019 000000 DC8 0, 0, 0 \ 0000001C 43616E277420 DC8 "Can't open config.ini" \ 6F70656E2063 \ 6F6E6669672E \ 696E6900 \ 00000032 0000 DC8 0, 0 \ char const __data config[20] \ config: \ 00000034 303A5C736865 DC8 "0:\\shell\\config.ini" \ 6C6C5C636F6E \ 6669672E696E \ 6900 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 43616E277420 DC8 "Can't open menu.ini" \ 6F70656E206D \ 656E752E696E \ 6900 \ char const __data menucfg[18] \ menucfg: \ 00000014 303A5C736865 DC8 "0:\\shell\\menu.ini" \ 6C6C5C6D656E \ 752E696E6900 \ 00000026 0000 DC8 0, 0 \ In segment CODE, align 4, keep-with-next \ __??Code32?? __code __interwork __atpcs int atoi(char *) \ atoi: \ 00000000 0010A0E3 MOV R1,#+0 \ 00000004 0120A0E3 MOV R2,#+1 \ 00000008 0AC0A0E3 MOV R12,#+10 \ 0000000C 040000EA B ??atoi_0 \ ??atoi_1: \ 00000010 3A0053E3 CMP R3,#+58 \ 00000014 0800002A BCS ??atoi_2 \ 00000018 9C3121E0 MLA R1,R12,R1,R3 \ 0000001C 301041E2 SUB R1,R1,#+48 \ ??atoi_3: \ 00000020 010080E2 ADD R0,R0,#+1 \ ??atoi_0: \ 00000024 0030D0E5 LDRB R3,[R0, #+0] \ 00000028 300053E3 CMP R3,#+48 \ 0000002C F7FFFF2A BCS ??atoi_1 \ 00000030 2D0053E3 CMP R3,#+45 \ 00000034 0020E003 MVNEQ R2,#+0 \ 00000038 F8FFFF0A BEQ ??atoi_3 \ ??atoi_2: \ 0000003C 920100E0 MUL R0,R2,R1 \ 00000040 1EFF2FE1 BX LR ;; return \ In segment CODE, align 4, keep-with-next \ __??Code32?? __code __interwork __atpcs void LoadParamsCrd() \ LoadParamsCrd: \ 00000000 F0432DE9 PUSH {R4-R9,LR} \ 00000004 ........ LDR R4,??DataTable40 ;; `?` \ 00000008 C5DF4DE2 SUB SP,SP,#+788 \ 0000000C 90DD4DE2 SUB SP,SP,#+9216 \ 00000010 0D30A0E1 MOV R3,SP \ 00000014 8020A0E3 MOV R2,#+128 \ 00000018 801CA0E3 MOV R1,#+32768 \ 0000001C 460F84E2 ADD R0,R4,#+280 \ 00000020 0A0000EF SWI +10 \ 00000024 0050A0E1 MOV R5,R0 \ 00000028 010075E3 CMN R5,#+1 \ 0000002C 0500001A BNE ??LoadParamsCrd_0 \ 00000030 401F84E2 ADD R1,R4,#+256 \ 00000034 0100A0E3 MOV R0,#+1 \ 00000038 480100EF SWI +328 \ 0000003C 0D10A0E1 MOV R1,SP \ 00000040 0000E0E3 MVN R0,#+0 \ 00000044 0D0000EF SWI +13 \ ??LoadParamsCrd_0: \ 00000048 0D30A0E1 MOV R3,SP \ 0000004C 0F20A0E3 MOV R2,#+15 \ 00000050 9C2D82E3 ORR R2,R2,#0x2700 \ 00000054 04108DE2 ADD R1,SP,#+4 \ 00000058 0500A0E1 MOV R0,R5 \ 0000005C 0B0000EF SWI +11 \ 00000060 ........ LDR R0,??DataTable41 ;; crd \ 00000064 0C60A0E3 MOV R6,#+12 \ 00000068 287080E2 ADD R7,R0,#+40 \ 0000006C 048080E2 ADD R8,R0,#+4 \ 00000070 0390A0E3 MOV R9,#+3 \ ??LoadParamsCrd_1: \ 00000074 F81084E2 ADD R1,R4,#+248 \ 00000078 04008DE2 ADD R0,SP,#+4 \ 0000007C 180100EF SWI +280 \ 00000080 000086E0 ADD R0,R6,R0 \ 00000084 ........ BL atoi \ 00000088 440087E5 STR R0,[R7, #+68] \ 0000008C F01084E2 ADD R1,R4,#+240 \ 00000090 04008DE2 ADD R0,SP,#+4 \ 00000094 180100EF SWI +280 \ 00000098 000086E0 ADD R0,R6,R0 \ 0000009C ........ BL atoi \ 000000A0 480087E5 STR R0,[R7, #+72] \ 000000A4 E81084E2 ADD R1,R4,#+232 \ 000000A8 04008DE2 ADD R0,SP,#+4 \ 000000AC 180100EF SWI +280 \ 000000B0 000086E0 ADD R0,R6,R0 \ 000000B4 ........ BL atoi \ 000000B8 4C0087E5 STR R0,[R7, #+76] \ 000000BC E01084E2 ADD R1,R4,#+224 \ 000000C0 04008DE2 ADD R0,SP,#+4 \ 000000C4 180100EF SWI +280 \ 000000C8 000086E0 ADD R0,R6,R0 \ 000000CC ........ BL atoi \ 000000D0 680087E5 STR R0,[R7, #+104] \ 000000D4 D81084E2 ADD R1,R4,#+216 \ 000000D8 04008DE2 ADD R0,SP,#+4 \ 000000DC 180100EF SWI +280 \ 000000E0 000086E0 ADD R0,R6,R0 \ 000000E4 ........ BL atoi \ 000000E8 6C0087E5 STR R0,[R7, #+108] \ 000000EC CC1084E2 ADD R1,R4,#+204 \ 000000F0 04008DE2 ADD R0,SP,#+4 \ 000000F4 180100EF SWI +280 \ 000000F8 000086E0 ADD R0,R6,R0 \ 000000FC ........ BL atoi \ 00000100 700087E5 STR R0,[R7, #+112] \ 00000104 C41084E2 ADD R1,R4,#+196 \ 00000108 04008DE2 ADD R0,SP,#+4 \ 0000010C 180100EF SWI +280 \ 00000110 000086E0 ADD R0,R6,R0 \ 00000114 ........ BL atoi \ 00000118 000088E5 STR R0,[R8, #+0] \ 0000011C BC1084E2 ADD R1,R4,#+188 \ 00000120 04008DE2 ADD R0,SP,#+4 \ 00000124 180100EF SWI +280 \ 00000128 000086E0 ADD R0,R6,R0 \ 0000012C ........ BL atoi \ 00000130 ........ STR R0,[R8], #+4 \ 00000134 B01084E2 ADD R1,R4,#+176 \ 00000138 04008DE2 ADD R0,SP,#+4 \ 0000013C 180100EF SWI +280 \ 00000140 000086E0 ADD R0,R6,R0 \ 00000144 ........ BL atoi \ 00000148 ........ STR R0,[R8], #+8 \ 0000014C A41084E2 ADD R1,R4,#+164 \ 00000150 04008DE2 ADD R0,SP,#+4 \ 00000154 180100EF SWI +280 \ 00000158 000086E0 ADD R0,R6,R0 \ 0000015C ........ BL atoi \ 00000160 240087E5 STR R0,[R7, #+36] \ 00000164 981084E2 ADD R1,R4,#+152 \ 00000168 04008DE2 ADD R0,SP,#+4 \ 0000016C 180100EF SWI +280 \ 00000170 000086E0 ADD R0,R6,R0 \ 00000174 ........ BL atoi \ 00000178 240087E5 STR R0,[R7, #+36] \ 0000017C 8C1084E2 ADD R1,R4,#+140 \ 00000180 04008DE2 ADD R0,SP,#+4 \ 00000184 180100EF SWI +280 \ 00000188 000086E0 ADD R0,R6,R0 \ 0000018C ........ BL atoi \ 00000190 280087E5 STR R0,[R7, #+40] \ 00000194 0410A0E1 MOV R1,R4 \ 00000198 04008DE2 ADD R0,SP,#+4 \ 0000019C 180100EF SWI +280 \ 000001A0 000086E0 ADD R0,R6,R0 \ 000001A4 ........ BL atoi \ 000001A8 000087E5 STR R0,[R7, #+0] \ 000001AC 841084E2 ADD R1,R4,#+132 \ 000001B0 04008DE2 ADD R0,SP,#+4 \ 000001B4 180100EF SWI +280 \ 000001B8 000086E0 ADD R0,R6,R0 \ 000001BC ........ BL atoi \ 000001C0 000087E5 STR R0,[R7, #+0] \ 000001C4 781084E2 ADD R1,R4,#+120 \ 000001C8 04008DE2 ADD R0,SP,#+4 \ 000001CC 180100EF SWI +280 \ 000001D0 000086E0 ADD R0,R6,R0 \ 000001D4 ........ BL atoi \ 000001D8 040087E5 STR R0,[R7, #+4] \ 000001DC 6C1084E2 ADD R1,R4,#+108 \ 000001E0 04008DE2 ADD R0,SP,#+4 \ 000001E4 180100EF SWI +280 \ 000001E8 000086E0 ADD R0,R6,R0 \ 000001EC ........ BL atoi \ 000001F0 8C0087E5 STR R0,[R7, #+140] \ 000001F4 601084E2 ADD R1,R4,#+96 \ 000001F8 04008DE2 ADD R0,SP,#+4 \ 000001FC 180100EF SWI +280 \ 00000200 000086E0 ADD R0,R6,R0 \ 00000204 ........ BL atoi \ 00000208 900087E5 STR R0,[R7, #+144] \ 0000020C 541084E2 ADD R1,R4,#+84 \ 00000210 04008DE2 ADD R0,SP,#+4 \ 00000214 180100EF SWI +280 \ 00000218 000086E0 ADD R0,R6,R0 \ 0000021C ........ BL atoi \ 00000220 940087E5 STR R0,[R7, #+148] \ 00000224 481084E2 ADD R1,R4,#+72 \ 00000228 04008DE2 ADD R0,SP,#+4 \ 0000022C 180100EF SWI +280 \ 00000230 000086E0 ADD R0,R6,R0 \ 00000234 ........ BL atoi \ 00000238 B00087E5 STR R0,[R7, #+176] \ 0000023C 3C1084E2 ADD R1,R4,#+60 \ 00000240 04008DE2 ADD R0,SP,#+4 \ 00000244 180100EF SWI +280 \ 00000248 000086E0 ADD R0,R6,R0 \ 0000024C ........ BL atoi \ 00000250 B40087E5 STR R0,[R7, #+180] \ 00000254 301084E2 ADD R1,R4,#+48 \ 00000258 04008DE2 ADD R0,SP,#+4 \ 0000025C 180100EF SWI +280 \ 00000260 000086E0 ADD R0,R6,R0 \ 00000264 ........ BL atoi \ 00000268 B80087E5 STR R0,[R7, #+184] \ 0000026C 046086E2 ADD R6,R6,#+4 \ 00000270 0C7087E2 ADD R7,R7,#+12 \ 00000274 019059E2 SUBS R9,R9,#+1 \ 00000278 7DFFFF1A BNE ??LoadParamsCrd_1 \ 0000027C 0D10A0E1 MOV R1,SP \ 00000280 0500A0E1 MOV R0,R5 \ 00000284 0D0000EF SWI +13 \ 00000288 C5DF8DE2 ADD SP,SP,#+788 \ 0000028C 90DD8DE2 ADD SP,SP,#+9216 \ 00000290 F083BDE8 POP {R4-R9,PC} ;; return \ In segment CODE, align 4, keep-with-next \ __??Code32?? __code __interwork __atpcs void process(char *, int) \ process: \ 00000000 10002DE9 PUSH {R4} \ 00000004 ........ LDR R4,??DataTable38 ;; name \ 00000008 91CFA0E3 MOV R12,#+580 \ 0000000C 9C4121E0 MLA R1,R12,R1,R4 \ 00000010 0020A0E3 MOV R2,#+0 \ 00000014 0030A0E1 MOV R3,R0 \ 00000018 01C0A0E1 MOV R12,R1 \ 0000001C 010000EA B ??process_0 \ ??process_1: \ 00000020 ........ LDRB R4,[R3], #+1 \ 00000024 ........ STRB R4,[R12], #+1 \ ??process_0: \ 00000028 0040D3E5 LDRB R4,[R3, #+0] \ 0000002C 012082E2 ADD R2,R2,#+1 \ 00000030 7C0054E3 CMP R4,#+124 \ 00000034 F9FFFF1A BNE ??process_1 \ 00000038 403081E2 ADD R3,R1,#+64 \ 0000003C 020000EA B ??process_2 \ ??process_3: \ 00000040 0420A0E1 MOV R2,R4 \ 00000044 ........ STRB R2,[R3], #+1 \ 00000048 0C20A0E1 MOV R2,R12 \ ??process_2: \ 0000004C 0040D2E7 LDRB R4,[R2, +R0] \ 00000050 01C082E2 ADD R12,R2,#+1 \ 00000054 7C0054E3 CMP R4,#+124 \ 00000058 F8FFFF1A BNE ??process_3 \ 0000005C 501F81E2 ADD R1,R1,#+320 \ 00000060 010000EA B ??process_4 \ ??process_5: \ 00000064 ........ STRB R2,[R1], #+1 \ 00000068 01C08CE2 ADD R12,R12,#+1 \ ??process_4: \ 0000006C 0020DCE7 LDRB R2,[R12, +R0] \ 00000070 7C0052E3 CMP R2,#+124 \ 00000074 FAFFFF1A BNE ??process_5 \ 00000078 1000BDE8 POP {R4} \ 0000007C 1EFF2FE1 BX LR ;; return \ In segment CODE, align 4, keep-with-next \ __??Code32?? __code __interwork __atpcs void SaveNamePanel() \ SaveNamePanel: \ 00000000 ........ LDR R1,??DataTable38 ;; name \ 00000004 0000A0E3 MOV R0,#+0 \ 00000008 402291E5 LDR R2,[R1, #+576] \ 0000000C 000052E3 CMP R2,#+0 \ 00000010 1EFF2F41 BXMI LR \ 00000014 14309FE5 LDR R3,??SaveNamePanel_0 ;; crd + 252 \ ??SaveNamePanel_1: \ 00000018 ........ STR R1,[R3], #+4 \ 0000001C 010080E2 ADD R0,R0,#+1 \ 00000020 911F81E2 ADD R1,R1,#+580 \ 00000024 000052E1 CMP R2,R0 \ 00000028 FAFFFFAA BGE ??SaveNamePanel_1 \ 0000002C 1EFF2FE1 BX LR ;; return \ ??SaveNamePanel_0: \ 00000030 ........ DC32 crd + 252 \ In segment CODE, align 4, keep-with-next \ __??Code32?? __code __interwork __atpcs void LoadParamsPanel() \ LoadParamsPanel: \ 00000000 F0472DE9 PUSH {R4-R10,LR} \ 00000004 28519FE5 LDR R5,??LoadParamsPanel_0+0x4 ;; `?` \ 00000008 04D04DE2 SUB SP,SP,#+4 \ 0000000C 0D30A0E1 MOV R3,SP \ 00000010 8020A0E3 MOV R2,#+128 \ 00000014 801CA0E3 MOV R1,#+32768 \ 00000018 180085E2 ADD R0,R5,#+24 \ 0000001C 0A0000EF SWI +10 \ 00000020 0040A0E1 MOV R4,R0 \ 00000024 010074E3 CMN R4,#+1 \ 00000028 0600001A BNE ??LoadParamsPanel_1 \ 0000002C 0510A0E1 MOV R1,R5 \ 00000030 0100A0E3 MOV R0,#+1 \ 00000034 480100EF SWI +328 \ 00000038 0D10A0E1 MOV R1,SP \ 0000003C 0000E0E3 MVN R0,#+0 \ 00000040 0D0000EF SWI +13 \ 00000044 F187BDE8 POP {R0,R4-R10,PC} \ ??LoadParamsPanel_1: \ 00000048 1000A0E3 MOV R0,#+16 \ 0000004C 9C0D80E3 ORR R0,R0,#0x2700 \ 00000050 140000EF SWI +20 \ 00000054 0050A0E1 MOV R5,R0 \ 00000058 400FA0E3 MOV R0,#+256 \ 0000005C 140000EF SWI +20 \ 00000060 0060A0E1 MOV R6,R0 \ 00000064 000055E3 CMP R5,#+0 \ 00000068 00005613 CMPNE R6,#+0 \ 0000006C 0A00000A BEQ ??LoadParamsPanel_2 \ 00000070 C0A09FE5 LDR R10,??LoadParamsPanel_0+0x8 ;; NumOfItems \ 00000074 0D30A0E1 MOV R3,SP \ 00000078 0F20A0E3 MOV R2,#+15 \ 0000007C 9C2D82E3 ORR R2,R2,#0x2700 \ 00000080 0510A0E1 MOV R1,R5 \ 00000084 0400A0E1 MOV R0,R4 \ 00000088 0B0000EF SWI +11 \ 0000008C 0070A0E1 MOV R7,R0 \ 00000090 0090A0E3 MOV R9,#+0 \ 00000094 010057E3 CMP R7,#+1 \ 00000098 1C0000AA BGE ??LoadParamsPanel_3 \ ??LoadParamsPanel_2: \ 0000009C 0500A0E1 MOV R0,R5 \ 000000A0 150000EF SWI +21 \ 000000A4 0600A0E1 MOV R0,R6 \ 000000A8 150000EF SWI +21 \ 000000AC 0D10A0E1 MOV R1,SP \ 000000B0 0400A0E1 MOV R0,R4 \ 000000B4 0D0000EF SWI +13 \ 000000B8 F187BDE8 POP {R0,R4-R10,PC} ;; return \ ??LoadParamsPanel_4: \ 000000BC ........ LDRB R2,[R1], #+1 \ 000000C0 0890A0E1 MOV R9,R8 \ 000000C4 ........ STRB R2,[R0], #+1 \ ??LoadParamsPanel_5: \ 000000C8 0020D1E5 LDRB R2,[R1, #+0] \ 000000CC 018089E2 ADD R8,R9,#+1 \ 000000D0 0D0052E3 CMP R2,#+13 \ 000000D4 0100000A BEQ ??LoadParamsPanel_6 \ 000000D8 070059E1 CMP R9,R7 \ 000000DC F6FFFFBA BLT ??LoadParamsPanel_4 \ ??LoadParamsPanel_6: \ 000000E0 00109AE5 LDR R1,[R10, #+0] \ 000000E4 0600A0E1 MOV R0,R6 \ 000000E8 ........ BL process \ 000000EC 00009AE5 LDR R0,[R10, #+0] \ 000000F0 ........ LDR R1,??DataTable38 ;; name \ 000000F4 010080E2 ADD R0,R0,#+1 \ 000000F8 00008AE5 STR R0,[R10, #+0] \ 000000FC 900FA0E3 MOV R0,#+576 \ 00000100 012090E7 LDR R2,[R0, +R1] \ 00000104 0890A0E1 MOV R9,R8 \ 00000108 012082E2 ADD R2,R2,#+1 \ 0000010C 012080E7 STR R2,[R0, +R1] \ ??LoadParamsPanel_3: \ 00000110 070059E1 CMP R9,R7 \ 00000114 E0FFFFAA BGE ??LoadParamsPanel_2 \ 00000118 041F8FE2 ADR R1,??LoadParamsPanel_0 ;; "" \ 0000011C 0600A0E1 MOV R0,R6 \ 00000120 1A0000EF SWI +26 \ 00000124 051089E0 ADD R1,R9,R5 \ 00000128 0600A0E1 MOV R0,R6 \ 0000012C E5FFFFEA B ??LoadParamsPanel_5 \ ??LoadParamsPanel_0: \ 00000130 00000000 DC8 "",+0,+0,+0 \ 00000134 ........ DC32 `?` \ 00000138 ........ DC32 NumOfItems \ In segment CODE, align 4, keep-with-next \ __??Code32?? __code __interwork __atpcs void LoadParamsConfig() \ LoadParamsConfig: \ 00000000 70402DE9 PUSH {R4-R6,LR} \ 00000004 A0409FE5 LDR R4,??LoadParamsConfig_0 ;; `?` \ 00000008 C5DF4DE2 SUB SP,SP,#+788 \ 0000000C 90DD4DE2 SUB SP,SP,#+9216 \ 00000010 0D30A0E1 MOV R3,SP \ 00000014 8020A0E3 MOV R2,#+128 \ 00000018 801CA0E3 MOV R1,#+32768 \ 0000001C 340084E2 ADD R0,R4,#+52 \ 00000020 0A0000EF SWI +10 \ 00000024 0050A0E1 MOV R5,R0 \ 00000028 010075E3 CMN R5,#+1 \ 0000002C 0500001A BNE ??LoadParamsConfig_1 \ 00000030 1C1084E2 ADD R1,R4,#+28 \ 00000034 0100A0E3 MOV R0,#+1 \ 00000038 480100EF SWI +328 \ 0000003C 0D10A0E1 MOV R1,SP \ 00000040 0000E0E3 MVN R0,#+0 \ 00000044 0D0000EF SWI +13 \ ??LoadParamsConfig_1: \ 00000048 ........ LDR R6,??DataTable51 ;; crd \ 0000004C 0D30A0E1 MOV R3,SP \ 00000050 0F20A0E3 MOV R2,#+15 \ 00000054 9C2D82E3 ORR R2,R2,#0x2700 \ 00000058 04108DE2 ADD R1,SP,#+4 \ 0000005C 0500A0E1 MOV R0,R5 \ 00000060 0B0000EF SWI +11 \ 00000064 0C1084E2 ADD R1,R4,#+12 \ 00000068 04008DE2 ADD R0,SP,#+4 \ 0000006C 180100EF SWI +280 \ 00000070 0D0080E2 ADD R0,R0,#+13 \ 00000074 ........ BL atoi \ 00000078 200186E5 STR R0,[R6, #+288] \ 0000007C 0410A0E1 MOV R1,R4 \ 00000080 04008DE2 ADD R0,SP,#+4 \ 00000084 180100EF SWI +280 \ 00000088 0B0080E2 ADD R0,R0,#+11 \ 0000008C ........ BL atoi \ 00000090 280186E5 STR R0,[R6, #+296] \ 00000094 0D10A0E1 MOV R1,SP \ 00000098 0500A0E1 MOV R0,R5 \ 0000009C 0D0000EF SWI +13 \ 000000A0 C5DF8DE2 ADD SP,SP,#+788 \ 000000A4 90DD8DE2 ADD SP,SP,#+9216 \ 000000A8 7080BDE8 POP {R4-R6,PC} ;; return \ ??LoadParamsConfig_0: \ 000000AC ........ DC32 `?` \ In segment CODE, align 4, keep-with-next \ __??Code32?? __code __interwork __atpcs void SaveParamsConfig() \ SaveParamsConfig: \ 00000000 70402DE9 PUSH {R4-R6,LR} \ 00000004 ........ LDR R4,??DataTable40 ;; `?` \ 00000008 C5DF4DE2 SUB SP,SP,#+788 \ 0000000C 90DD4DE2 SUB SP,SP,#+9216 \ 00000010 0D30A0E1 MOV R3,SP \ 00000014 8020A0E3 MOV R2,#+128 \ 00000018 8A1082E2 ADD R1,R2,#+138 \ 0000001C 200084E2 ADD R0,R4,#+32 \ 00000020 0A0000EF SWI +10 \ 00000024 0050A0E1 MOV R5,R0 \ 00000028 010075E3 CMN R5,#+1 \ 0000002C 0500001A BNE ??SaveParamsConfig_0 \ 00000030 081084E2 ADD R1,R4,#+8 \ 00000034 0100A0E3 MOV R0,#+1 \ 00000038 480100EF SWI +328 \ 0000003C 0D10A0E1 MOV R1,SP \ 00000040 0000E0E3 MVN R0,#+0 \ 00000044 0D0000EF SWI +13 \ ??SaveParamsConfig_0: \ 00000048 0500A0E3 MOV R0,#+5 \ 0000004C 140000EF SWI +20 \ 00000050 0060A0E1 MOV R6,R0 \ 00000054 C41084E2 ADD R1,R4,#+196 \ 00000058 04008DE2 ADD R0,SP,#+4 \ 0000005C 180100EF SWI +280 \ 00000060 081080E2 ADD R1,R0,#+8 \ 00000064 0D00A0E1 MOV R0,SP \ 00000068 01002DE9 PUSH {R0} \ 0000006C 04308DE2 ADD R3,SP,#+4 \ 00000070 0020A0E3 MOV R2,#+0 \ 00000074 0500A0E1 MOV R0,R5 \ 00000078 0F0000EF SWI +15 \ 0000007C ........ LDR R0,??DataTable41 ;; crd \ 00000080 002090E5 LDR R2,[R0, #+0] \ 00000084 671F80E2 ADD R1,R0,#+412 \ 00000088 0600A0E1 MOV R0,R6 \ 0000008C 160000EF SWI +22 \ 00000090 04308DE2 ADD R3,SP,#+4 \ 00000094 0220A0E3 MOV R2,#+2 \ 00000098 0610A0E1 MOV R1,R6 \ 0000009C 0500A0E1 MOV R0,R5 \ 000000A0 0C0000EF SWI +12 \ 000000A4 04108DE2 ADD R1,SP,#+4 \ 000000A8 0500A0E1 MOV R0,R5 \ 000000AC 0D0000EF SWI +13 \ 000000B0 C6DF8DE2 ADD SP,SP,#+792 \ 000000B4 90DD8DE2 ADD SP,SP,#+9216 \ 000000B8 7080BDE8 POP {R4-R6,PC} ;; return \ In segment CODE, align 4, keep-with-next \ __??Code32?? __code __interwork __atpcs void processmenu(char *, int) \ processmenu: \ 00000000 10002DE9 PUSH {R4} \ 00000004 ........ LDR R4,??DataTable44 ;; mnu \ 00000008 C9CFA0E3 MOV R12,#+804 \ 0000000C 9C4121E0 MLA R1,R12,R1,R4 \ 00000010 0020A0E3 MOV R2,#+0 \ 00000014 0030A0E1 MOV R3,R0 \ 00000018 40CF81E2 ADD R12,R1,#+256 \ 0000001C 010000EA B ??processmenu_0 \ ??processmenu_1: \ 00000020 ........ LDRB R4,[R3], #+1 \ 00000024 ........ STRB R4,[R12], #+1 \ ??processmenu_0: \ 00000028 0040D3E5 LDRB R4,[R3, #+0] \ 0000002C 012082E2 ADD R2,R2,#+1 \ 00000030 7C0054E3 CMP R4,#+124 \ 00000034 F9FFFF1A BNE ??processmenu_1 \ 00000038 0130A0E1 MOV R3,R1 \ 0000003C 020000EA B ??processmenu_2 \ ??processmenu_3: \ 00000040 0420A0E1 MOV R2,R4 \ 00000044 ........ STRB R2,[R3], #+1 \ 00000048 0C20A0E1 MOV R2,R12 \ ??processmenu_2: \ 0000004C 0040D2E7 LDRB R4,[R2, +R0] \ 00000050 01C082E2 ADD R12,R2,#+1 \ 00000054 7C0054E3 CMP R4,#+124 \ 00000058 F8FFFF1A BNE ??processmenu_3 \ 0000005C 882F81E2 ADD R2,R1,#+544 \ 00000060 010000EA B ??processmenu_4 \ ??processmenu_5: \ 00000064 ........ STRB R4,[R2], #+1 \ 00000068 03C0A0E1 MOV R12,R3 \ ??processmenu_4: \ 0000006C 0040DCE7 LDRB R4,[R12, +R0] \ 00000070 01308CE2 ADD R3,R12,#+1 \ 00000074 7C0054E3 CMP R4,#+124 \ 00000078 F9FFFF1A BNE ??processmenu_5 \ 0000007C 481F81E2 ADD R1,R1,#+288 \ 00000080 010000EA B ??processmenu_6 \ ??processmenu_7: \ 00000084 ........ STRB R2,[R1], #+1 \ 00000088 013083E2 ADD R3,R3,#+1 \ ??processmenu_6: \ 0000008C 0020D3E7 LDRB R2,[R3, +R0] \ 00000090 7C0052E3 CMP R2,#+124 \ 00000094 FAFFFF1A BNE ??processmenu_7 \ 00000098 1000BDE8 POP {R4} \ 0000009C 1EFF2FE1 BX LR ;; return \ In segment CODE, align 4, keep-with-next \ __??Code32?? __code __interwork __atpcs void SaveNameMENU() \ SaveNameMENU: \ 00000000 ........ LDR R1,??DataTable44 ;; mnu \ 00000004 0000A0E3 MOV R0,#+0 \ 00000008 202391E5 LDR R2,[R1, #+800] \ 0000000C 000052E3 CMP R2,#+0 \ 00000010 1EFF2F41 BXMI LR \ 00000014 18309FE5 LDR R3,??SaveNameMENU_0 ;; crd + 336 \ 00000018 401F81E2 ADD R1,R1,#+256 \ ??SaveNameMENU_1: \ 0000001C ........ STR R1,[R3], #+4 \ 00000020 010080E2 ADD R0,R0,#+1 \ 00000024 C91F81E2 ADD R1,R1,#+804 \ 00000028 000052E1 CMP R2,R0 \ 0000002C FAFFFFAA BGE ??SaveNameMENU_1 \ 00000030 1EFF2FE1 BX LR ;; return \ ??SaveNameMENU_0: \ 00000034 ........ DC32 crd + 336 \ In segment CODE, align 4, keep-with-next \ __??Code32?? __code __interwork __atpcs void LoadParamsMENU() \ LoadParamsMENU: \ 00000000 F0432DE9 PUSH {R4-R9,LR} \ 00000004 18519FE5 LDR R5,??LoadParamsMENU_0 ;; `?` \ 00000008 04D04DE2 SUB SP,SP,#+4 \ 0000000C 0D30A0E1 MOV R3,SP \ 00000010 8020A0E3 MOV R2,#+128 \ 00000014 801CA0E3 MOV R1,#+32768 \ 00000018 140085E2 ADD R0,R5,#+20 \ 0000001C 0A0000EF SWI +10 \ 00000020 0040A0E1 MOV R4,R0 \ 00000024 010074E3 CMN R4,#+1 \ 00000028 0600001A BNE ??LoadParamsMENU_1 \ 0000002C 0510A0E1 MOV R1,R5 \ 00000030 0100A0E3 MOV R0,#+1 \ 00000034 480100EF SWI +328 \ 00000038 0D10A0E1 MOV R1,SP \ 0000003C 0000E0E3 MVN R0,#+0 \ 00000040 0D0000EF SWI +13 \ 00000044 F183BDE8 POP {R0,R4-R9,PC} \ ??LoadParamsMENU_1: \ 00000048 1000A0E3 MOV R0,#+16 \ 0000004C 9C0D80E3 ORR R0,R0,#0x2700 \ 00000050 140000EF SWI +20 \ 00000054 0050A0E1 MOV R5,R0 \ 00000058 400FA0E3 MOV R0,#+256 \ 0000005C 140000EF SWI +20 \ 00000060 0060A0E1 MOV R6,R0 \ 00000064 000055E3 CMP R5,#+0 \ 00000068 00005613 CMPNE R6,#+0 \ 0000006C 0A00000A BEQ ??LoadParamsMENU_2 \ 00000070 B0909FE5 LDR R9,??LoadParamsMENU_0+0x4 ;; NumOfItems2 \ 00000074 0D30A0E1 MOV R3,SP \ 00000078 0F20A0E3 MOV R2,#+15 \ 0000007C 9C2D82E3 ORR R2,R2,#0x2700 \ 00000080 0510A0E1 MOV R1,R5 \ 00000084 0400A0E1 MOV R0,R4 \ 00000088 0B0000EF SWI +11 \ 0000008C 0070A0E1 MOV R7,R0 \ 00000090 0000A0E3 MOV R0,#+0 \ 00000094 010057E3 CMP R7,#+1 \ 00000098 1C0000AA BGE ??LoadParamsMENU_3 \ ??LoadParamsMENU_2: \ 0000009C 0500A0E1 MOV R0,R5 \ 000000A0 150000EF SWI +21 \ 000000A4 0600A0E1 MOV R0,R6 \ 000000A8 150000EF SWI +21 \ 000000AC 0D10A0E1 MOV R1,SP \ 000000B0 0400A0E1 MOV R0,R4 \ 000000B4 0D0000EF SWI +13 \ 000000B8 F183BDE8 POP {R0,R4-R9,PC} ;; return \ ??LoadParamsMENU_4: \ 000000BC ........ LDRB R0,[R2], #+1 \ 000000C0 ........ STRB R0,[R1], #+1 \ 000000C4 0800A0E1 MOV R0,R8 \ ??LoadParamsMENU_5: \ 000000C8 0030D2E5 LDRB R3,[R2, #+0] \ 000000CC 018080E2 ADD R8,R0,#+1 \ 000000D0 0D0053E3 CMP R3,#+13 \ 000000D4 0100000A BEQ ??LoadParamsMENU_6 \ 000000D8 070050E1 CMP R0,R7 \ 000000DC F6FFFFBA BLT ??LoadParamsMENU_4 \ ??LoadParamsMENU_6: \ 000000E0 001099E5 LDR R1,[R9, #+0] \ 000000E4 0600A0E1 MOV R0,R6 \ 000000E8 ........ BL processmenu \ 000000EC 001099E5 LDR R1,[R9, #+0] \ 000000F0 ........ LDR R2,??DataTable44 ;; mnu \ 000000F4 011081E2 ADD R1,R1,#+1 \ 000000F8 001089E5 STR R1,[R9, #+0] \ 000000FC C81FA0E3 MOV R1,#+800 \ 00000100 023091E7 LDR R3,[R1, +R2] \ 00000104 0800A0E1 MOV R0,R8 \ 00000108 013083E2 ADD R3,R3,#+1 \ 0000010C 023081E7 STR R3,[R1, +R2] \ ??LoadParamsMENU_3: \ 00000110 070050E1 CMP R0,R7 \ 00000114 E0FFFFAA BGE ??LoadParamsMENU_2 \ 00000118 052080E0 ADD R2,R0,R5 \ 0000011C 0610A0E1 MOV R1,R6 \ 00000120 E8FFFFEA B ??LoadParamsMENU_5 \ ??LoadParamsMENU_0: \ 00000124 ........ DC32 `?` \ 00000128 ........ DC32 NumOfItems2 \ In segment CODE, align 4, keep-with-next \ __??Code32?? __code __interwork __atpcs void LoadAllConfig() \ LoadAllConfig: \ 00000000 1EFF2FE1 BX LR ;; return 4 #include "main.h" 5 #include "fileman.c" \ In segment DATA_Z, align 4, align-sorted \ int __data size \ size: \ 00000000 DS8 4 \ In segment DATA_Z, align 4, align-sorted \ FLIST volatile *__data fltop \ fltop: \ 00000000 DS8 4 \ In segment CODE, align 4, keep-with-next \ __??Code32?? __code __interwork __atpcs void Free_FLIST(void) \ Free_FLIST: \ 00000000 70402DE9 PUSH {R4-R6,LR} \ 00000004 460100EF SWI +326 \ 00000008 ........ LDR R0,??DataTable49 ;; fltop \ 0000000C 0010A0E3 MOV R1,#+0 \ 00000010 004090E5 LDR R4,[R0, #+0] \ 00000014 001080E5 STR R1,[R0, #+0] \ 00000018 470100EF SWI +327 \ 0000001C 000054E3 CMP R4,#+0 \ 00000020 7080BD08 POPEQ {R4-R6,PC} \ ??Free_FLIST_0: \ 00000024 0450A0E1 MOV R5,R4 \ 00000028 004094E5 LDR R4,[R4, #+0] \ 0000002C 046085E2 ADD R6,R5,#+4 \ 00000030 000096E5 LDR R0,[R6, #+0] \ 00000034 150000EF SWI +21 \ 00000038 040096E5 LDR R0,[R6, #+4] \ 0000003C 150000EF SWI +21 \ 00000040 0500A0E1 MOV R0,R5 \ 00000044 150000EF SWI +21 \ 00000048 000054E3 CMP R4,#+0 \ 0000004C F4FFFF1A BNE ??Free_FLIST_0 \ 00000050 7080BDE8 POP {R4-R6,PC} ;; return \ In segment DATA_C, align 4, align-sorted \ char const __data back[3] \ back: \ 00000000 2E2E00 DC8 ".." \ 00000003 00 DC8 0 \ 00000004 524F4F5400 DC8 "ROOT" \ 00000009 000000 DC8 0, 0, 0 \ In segment CODE, align 4, keep-with-next \ __??Code32?? __code __interwork __atpcs int GetFListN() \ GetFListN: \ 00000000 ........ LDR R1,??DataTable49 ;; fltop \ 00000004 0000A0E3 MOV R0,#+0 \ 00000008 000000EA B ??GetFListN_0 \ ??GetFListN_1: \ 0000000C 010080E2 ADD R0,R0,#+1 \ ??GetFListN_0: \ 00000010 001091E5 LDR R1,[R1, #+0] \ 00000014 000051E3 CMP R1,#+0 \ 00000018 FBFFFF1A BNE ??GetFListN_1 \ 0000001C 1EFF2FE1 BX LR ;; return \ In segment CODE, align 4, keep-with-next \ __??Code32?? __code __interwork __atpcs int GetFoldersLevel(char *) \ GetFoldersLevel: \ 00000000 0010A0E3 MOV R1,#+0 \ 00000004 050000EA B ??GetFoldersLevel_0 \ ??GetFoldersLevel_1: \ 00000008 0020D0E5 LDRB R2,[R0, #+0] \ 0000000C 5C0052E3 CMP R2,#+92 \ 00000010 0200001A BNE ??GetFoldersLevel_0 \ 00000014 0120D0E5 LDRB R2,[R0, #+1] \ 00000018 000052E3 CMP R2,#+0 \ 0000001C 01108112 ADDNE R1,R1,#+1 \ ??GetFoldersLevel_0: \ 00000020 ........ LDRB R2,[R0], #+1 \ 00000024 000052E3 CMP R2,#+0 \ 00000028 F6FFFF1A BNE ??GetFoldersLevel_1 \ 0000002C 0100A0E1 MOV R0,R1 \ 00000030 1EFF2FE1 BX LR ;; return \ In segment CODE, align 4, keep-with-next \ __??Code32?? __code __interwork __atpcs int strcmp_nocase(char const *, char const *) \ strcmp_nocase: \ ??strcmp_nocase_0: \ 00000000 ........ LDRB R2,[R0], #+1 \ 00000004 ........ LDRB R3,[R1], #+1 \ 00000008 400012E3 TST R2,#0x40 \ 0000000C DF200212 ANDNE R2,R2,#0xDF \ 00000010 400013E3 TST R3,#0x40 \ 00000014 DF300312 ANDNE R3,R3,#0xDF \ 00000018 032052E0 SUBS R2,R2,R3 \ 0000001C 0100001A BNE ??strcmp_nocase_1 \ 00000020 000053E3 CMP R3,#+0 \ 00000024 F5FFFF1A BNE ??strcmp_nocase_0 \ ??strcmp_nocase_1: \ 00000028 0200A0E1 MOV R0,R2 \ 0000002C 1EFF2FE1 BX LR ;; return \ In segment CODE, align 4, keep-with-next \ __??Code32?? __code __interwork __atpcs struct *AddToFList(char const *, char const *, int) \ AddToFList: \ 00000000 F0402DE9 PUSH {R4-R7,LR} \ 00000004 0050A0E1 MOV R5,R0 \ 00000008 0160A0E1 MOV R6,R1 \ 0000000C 0270A0E1 MOV R7,R2 \ 00000010 1000A0E3 MOV R0,#+16 \ 00000014 140000EF SWI +20 \ 00000018 0040A0E1 MOV R4,R0 \ 0000001C 0500A0E1 MOV R0,R5 \ 00000020 1B0000EF SWI +27 \ 00000024 010080E2 ADD R0,R0,#+1 \ 00000028 140000EF SWI +20 \ 0000002C 0510A0E1 MOV R1,R5 \ 00000030 ........ LDR R5,??DataTable49 ;; fltop \ 00000034 040084E5 STR R0,[R4, #+4] \ 00000038 1A0000EF SWI +26 \ 0000003C 0600A0E1 MOV R0,R6 \ 00000040 1B0000EF SWI +27 \ 00000044 010080E2 ADD R0,R0,#+1 \ 00000048 140000EF SWI +20 \ 0000004C 080084E5 STR R0,[R4, #+8] \ 00000050 0610A0E1 MOV R1,R6 \ 00000054 1A0000EF SWI +26 \ 00000058 0C7084E5 STR R7,[R4, #+12] \ 0000005C 0000A0E3 MOV R0,#+0 \ 00000060 000084E5 STR R0,[R4, #+0] \ 00000064 006095E5 LDR R6,[R5, #+0] \ 00000068 000056E3 CMP R6,#+0 \ 0000006C 0A00000A BEQ ??AddToFList_0 \ 00000070 087094E5 LDR R7,[R4, #+8] \ ??AddToFList_1: \ 00000074 080096E5 LDR R0,[R6, #+8] \ 00000078 0710A0E1 MOV R1,R7 \ 0000007C ........ BL strcmp_nocase \ 00000080 000050E3 CMP R0,#+0 \ 00000084 0300005A BPL ??AddToFList_2 \ 00000088 0650A0E1 MOV R5,R6 \ 0000008C 006096E5 LDR R6,[R6, #+0] \ 00000090 000056E3 CMP R6,#+0 \ 00000094 F6FFFF1A BNE ??AddToFList_1 \ ??AddToFList_2: \ 00000098 006084E5 STR R6,[R4, #+0] \ ??AddToFList_0: \ 0000009C 004085E5 STR R4,[R5, #+0] \ 000000A0 0400A0E1 MOV R0,R4 \ 000000A4 F080BDE8 POP {R4-R7,PC} ;; return \ In segment CODE, align 4, keep-with-next \ __??Code32?? __code __interwork __atpcs void FindFiles(char *, int) \ FindFiles: \ 00000000 30402DE9 PUSH {R4,R5,LR} \ 00000004 CFDF4DE2 SUB SP,SP,#+828 \ 00000008 0140A0E1 MOV R4,R1 \ 0000000C 0050A0E1 MOV R5,R0 \ 00000010 ........ BL Free_FLIST \ 00000014 0510A0E1 MOV R1,R5 \ 00000018 6F0F8DE2 ADD R0,SP,#+444 \ 0000001C 1A0000EF SWI +26 \ 00000020 4A1F8FE2 ADR R1,??FindFiles_0 ;; "*" \ 00000024 6F0F8DE2 ADD R0,SP,#+444 \ 00000028 170000EF SWI +23 \ 0000002C 0500A0E1 MOV R0,R5 \ 00000030 ........ BL GetFoldersLevel \ 00000034 ........ LDR R3,??DataTable50 ;; back \ 00000038 000050E3 CMP R0,#+0 \ 0000003C 0300001A BNE ??FindFiles_1 \ 00000040 0120A0E3 MOV R2,#+1 \ 00000044 0310A0E1 MOV R1,R3 \ 00000048 040083E2 ADD R0,R3,#+4 \ 0000004C 0F0000EA B ??FindFiles_2 \ ??FindFiles_1: \ 00000050 AF1F8DE2 ADD R1,SP,#+700 \ 00000054 0020A0E3 MOV R2,#+0 \ ??FindFiles_3: \ 00000058 00C0D5E5 LDRB R12,[R5, #+0] \ 0000005C 00005CE3 CMP R12,#+0 \ 00000060 0500000A BEQ ??FindFiles_4 \ 00000064 ........ LDRB R12,[R5], #+1 \ 00000068 ........ STRB R12,[R1], #+1 \ 0000006C 5C005CE3 CMP R12,#+92 \ 00000070 01208202 ADDEQ R2,R2,#+1 \ 00000074 00005201 CMPEQ R2,R0 \ 00000078 F6FFFF1A BNE ??FindFiles_3 \ ??FindFiles_4: \ 0000007C 0000A0E3 MOV R0,#+0 \ 00000080 0000C1E5 STRB R0,[R1, #+0] \ 00000084 0120A0E3 MOV R2,#+1 \ 00000088 0310A0E1 MOV R1,R3 \ 0000008C AF0F8DE2 ADD R0,SP,#+700 \ ??FindFiles_2: \ 00000090 ........ BL AddToFList \ 00000094 0D20A0E1 MOV R2,SP \ 00000098 6F1F8DE2 ADD R1,SP,#+444 \ 0000009C 04008DE2 ADD R0,SP,#+4 \ 000000A0 6B0000EF SWI +107 \ 000000A4 000050E3 CMP R0,#+0 \ 000000A8 295F8FE2 ADR R5,??FindFiles_0+0x4 ;; "\\" \ 000000AC 2200000A BEQ ??FindFiles_5 \ ??FindFiles_6: \ 000000B0 2C108DE2 ADD R1,SP,#+44 \ 000000B4 6F0F8DE2 ADD R0,SP,#+444 \ 000000B8 1A0000EF SWI +26 \ 000000BC 0510A0E1 MOV R1,R5 \ 000000C0 6F0F8DE2 ADD R0,SP,#+444 \ 000000C4 170000EF SWI +23 \ 000000C8 AD108DE2 ADD R1,SP,#+173 \ 000000CC 6F0F8DE2 ADD R0,SP,#+444 \ 000000D0 170000EF SWI +23 \ 000000D4 F201DDE1 LDRSH R0,[SP, #+18] \ 000000D8 100010E3 TST R0,#0x10 \ 000000DC 0B00000A BEQ ??FindFiles_7 \ 000000E0 0510A0E1 MOV R1,R5 \ 000000E4 AF0F8DE2 ADD R0,SP,#+700 \ 000000E8 1A0000EF SWI +26 \ 000000EC AD108DE2 ADD R1,SP,#+173 \ 000000F0 AF0F8DE2 ADD R0,SP,#+700 \ 000000F4 170000EF SWI +23 \ 000000F8 0510A0E1 MOV R1,R5 \ 000000FC 6F0F8DE2 ADD R0,SP,#+444 \ 00000100 170000EF SWI +23 \ 00000104 0120A0E3 MOV R2,#+1 \ 00000108 AF1F8DE2 ADD R1,SP,#+700 \ 0000010C 030000EA B ??FindFiles_8 \ ??FindFiles_7: \ 00000110 000054E3 CMP R4,#+0 \ 00000114 0300000A BEQ ??FindFiles_9 \ 00000118 0020A0E3 MOV R2,#+0 \ 0000011C AD108DE2 ADD R1,SP,#+173 \ ??FindFiles_8: \ 00000120 6F0F8DE2 ADD R0,SP,#+444 \ 00000124 ........ BL AddToFList \ ??FindFiles_9: \ 00000128 0D10A0E1 MOV R1,SP \ 0000012C 04008DE2 ADD R0,SP,#+4 \ 00000130 6C0000EF SWI +108 \ 00000134 000050E3 CMP R0,#+0 \ 00000138 DCFFFF1A BNE ??FindFiles_6 \ ??FindFiles_5: \ 0000013C 0D10A0E1 MOV R1,SP \ 00000140 04008DE2 ADD R0,SP,#+4 \ 00000144 6D0000EF SWI +109 \ 00000148 CFDF8DE2 ADD SP,SP,#+828 \ 0000014C 3080BDE8 POP {R4,R5,PC} ;; return \ ??FindFiles_0: \ 00000150 2A000000 DC8 "*",+0,+0 \ 00000154 5C000000 DC8 "\\",+0,+0 \ In segment CODE, align 4, keep-with-next \ __??Code32?? __code __interwork __atpcs struct *FindFLISTtByNS(int *, int) \ FindFLISTtByNS: \ 00000000 ........ LDR R2,??DataTable49 ;; fltop \ 00000004 010000EA B ??FindFLISTtByNS_0 \ ??FindFLISTtByNS_1: \ 00000008 013043E2 SUB R3,R3,#+1 \ 0000000C 003080E5 STR R3,[R0, #+0] \ ??FindFLISTtByNS_0: \ 00000010 002092E5 LDR R2,[R2, #+0] \ 00000014 000052E3 CMP R2,#+0 \ 00000018 0700000A BEQ ??FindFLISTtByNS_2 \ 0000001C 0C3092E5 LDR R3,[R2, #+12] \ 00000020 010053E1 CMP R3,R1 \ 00000024 F9FFFF1A BNE ??FindFLISTtByNS_0 \ 00000028 003090E5 LDR R3,[R0, #+0] \ 0000002C 000053E3 CMP R3,#+0 \ 00000030 F4FFFF1A BNE ??FindFLISTtByNS_1 \ 00000034 0200A0E1 MOV R0,R2 \ 00000038 1EFF2FE1 BX LR \ ??FindFLISTtByNS_2: \ 0000003C 0000A0E3 MOV R0,#+0 \ 00000040 1EFF2FE1 BX LR ;; return \ In segment CODE, align 4, keep-with-next \ __??Code32?? __code __interwork __atpcs struct *FindFLISTtByN(int) \ FindFLISTtByN: \ 00000000 01402DE9 PUSH {R0,LR} \ 00000004 0110A0E3 MOV R1,#+1 \ 00000008 0D00A0E1 MOV R0,SP \ 0000000C ........ BL FindFLISTtByNS \ 00000010 00109DE5 LDR R1,[SP, #+0] \ 00000014 000051E3 CMP R1,#+0 \ 00000018 0100001A BNE ??FindFLISTtByN_0 \ 0000001C 000050E3 CMP R0,#+0 \ 00000020 0280BD18 POPNE {R1,PC} \ ??FindFLISTtByN_0: \ 00000024 0010A0E3 MOV R1,#+0 \ 00000028 0D00A0E1 MOV R0,SP \ 0000002C ........ BL FindFLISTtByNS \ 00000030 0280BDE8 POP {R1,PC} \ In segment CODE, align 4, keep-with-next \ __??Code32?? __code __interwork __atpcs void SavePath(void *, struct *) \ SavePath: \ 00000000 040091E5 LDR R0,[R1, #+4] \ 00000004 ........ B start ;; tailcall \ In segment CODE, align 4, keep-with-next \ __??Code32?? __code __interwork __atpcs int filelist_menu_onkey(void *, GUI_MSG *) \ filelist_menu_onkey: \ 00000000 70402DE9 PUSH {R4-R6,LR} \ 00000004 0040A0E1 MOV R4,R0 \ 00000008 0160A0E1 MOV R6,R1 \ 0000000C E00100EF SWI +480 \ 00000010 0400A0E1 MOV R0,R4 \ 00000014 8F0100EF SWI +399 \ 00000018 ........ BL FindFLISTtByN \ 0000001C ........ LDR R1,??DataTable50 ;; back \ 00000020 0050A0E1 MOV R5,R0 \ 00000024 F200D6E1 LDRSH R0,[R6, #+2] \ 00000028 3D0050E3 CMP R0,#+61 \ 0000002C 2400001A BNE ??filelist_menu_onkey_0 \ 00000030 000055E3 CMP R5,#+0 \ 00000034 2000000A BEQ ??filelist_menu_onkey_1 \ 00000038 0C0095E5 LDR R0,[R5, #+12] \ 0000003C 010050E3 CMP R0,#+1 \ 00000040 2700001A BNE ??filelist_menu_onkey_2 \ 00000044 040095E5 LDR R0,[R5, #+4] \ 00000048 041081E2 ADD R1,R1,#+4 \ 0000004C 190000EF SWI +25 \ 00000050 000050E3 CMP R0,#+0 \ 00000054 0F00000A BEQ ??filelist_menu_onkey_3 \ 00000058 9C609FE5 LDR R6,??filelist_menu_onkey_4 ;; filelist_HDR \ 0000005C 041095E5 LDR R1,[R5, #+4] \ 00000060 7F20A0E3 MOV R2,#+127 \ 00000064 140086E2 ADD R0,R6,#+20 \ 00000068 160100EF SWI +278 \ 0000006C 040095E5 LDR R0,[R5, #+4] \ 00000070 1B0000EF SWI +27 \ 00000074 800050E3 CMP R0,#+128 \ 00000078 7F00A0A3 MOVGE R0,#+127 \ 0000007C 060080E0 ADD R0,R0,R6 \ 00000080 0010A0E3 MOV R1,#+0 \ 00000084 1410C0E5 STRB R1,[R0, #+20] \ 00000088 040095E5 LDR R0,[R5, #+4] \ 0000008C 0110A0E3 MOV R1,#+1 \ 00000090 ........ BL FindFiles \ 00000094 000000EA B ??filelist_menu_onkey_5 \ ??filelist_menu_onkey_3: \ 00000098 ........ BL CreateRootMenu \ ??filelist_menu_onkey_5: \ 0000009C ........ BL GetFListN \ 000000A0 0010A0E1 MOV R1,R0 \ 000000A4 0400A0E1 MOV R0,R4 \ 000000A8 E60100EF SWI +486 \ 000000AC 0010A0E3 MOV R1,#+0 \ 000000B0 0400A0E1 MOV R0,R4 \ 000000B4 C40100EF SWI +452 \ 000000B8 960100EF SWI +406 \ ??filelist_menu_onkey_1: \ 000000BC 0000E0E3 MVN R0,#+0 \ 000000C0 7080BDE8 POP {R4-R6,PC} \ ??filelist_menu_onkey_0: \ 000000C4 180050E3 CMP R0,#+24 \ 000000C8 0900001A BNE ??filelist_menu_onkey_6 \ 000000CC 000055E3 CMP R5,#+0 \ 000000D0 F9FFFF0A BEQ ??filelist_menu_onkey_1 \ 000000D4 080095E5 LDR R0,[R5, #+8] \ 000000D8 190000EF SWI +25 \ 000000DC 000050E3 CMP R0,#+0 \ 000000E0 F5FFFF0A BEQ ??filelist_menu_onkey_1 \ ??filelist_menu_onkey_2: \ 000000E4 040095E5 LDR R0,[R5, #+4] \ 000000E8 ........ BL start \ 000000EC 0100A0E3 MOV R0,#+1 \ 000000F0 7080BDE8 POP {R4-R6,PC} \ ??filelist_menu_onkey_6: \ 000000F4 0000A0E3 MOV R0,#+0 \ 000000F8 7080BDE8 POP {R4-R6,PC} ;; return \ ??filelist_menu_onkey_4: \ 000000FC ........ DC32 filelist_HDR \ In segment CODE, align 4, keep-with-next \ __??Code32?? __code __interwork __atpcs void filelist_menu_ghook(void *, int) \ filelist_menu_ghook: \ 00000000 30402DE9 PUSH {R4,R5,LR} \ 00000004 0140A0E1 MOV R4,R1 \ 00000008 E00100EF SWI +480 \ 0000000C 0050A0E1 MOV R5,R0 \ 00000010 030054E3 CMP R4,#+3 \ 00000014 3080BD18 POPNE {R4,R5,PC} \ 00000018 ........ BL Free_FLIST \ 0000001C 0500A0E1 MOV R0,R5 \ 00000020 150000EF SWI +21 \ 00000024 3080BDE8 POP {R4,R5,PC} ;; return \ In segment CODE, align 4, keep-with-next \ __??Code32?? __code __interwork __atpcs void filelist_menu_iconhndl(void *, int, void *) \ filelist_menu_iconhndl: \ 00000000 F0432DE9 PUSH {R4-R9,LR} \ 00000004 0040A0E1 MOV R4,R0 \ 00000008 0150A0E1 MOV R5,R1 \ 0000000C 970100EF SWI +407 \ 00000010 0060A0E1 MOV R6,R0 \ 00000014 0500A0E1 MOV R0,R5 \ 00000018 ........ BL FindFLISTtByN \ 0000001C 0070B0E1 MOVS R7,R0 \ 00000020 1900000A BEQ ??filelist_menu_iconhndl_0 \ 00000024 080097E5 LDR R0,[R7, #+8] \ 00000028 1B0000EF SWI +27 \ 0000002C 0080A0E1 MOV R8,R0 \ 00000030 041088E2 ADD R1,R8,#+4 \ 00000034 0400A0E1 MOV R0,R4 \ 00000038 980100EF SWI +408 \ 0000003C 081097E5 LDR R1,[R7, #+8] \ 00000040 0090A0E1 MOV R9,R0 \ 00000044 0C0097E5 LDR R0,[R7, #+12] \ 00000048 0820A0E1 MOV R2,R8 \ 0000004C 000050E3 CMP R0,#+0 \ 00000050 0900A0E1 MOV R0,R9 \ 00000054 0A00000A BEQ ??filelist_menu_iconhndl_1 \ 00000058 6C0100EF SWI +364 \ 0000005C 0120A0E3 MOV R2,#+1 \ 00000060 0710A0E3 MOV R1,#+7 \ 00000064 0900A0E1 MOV R0,R9 \ 00000068 1D0000EF SWI +29 \ 0000006C 0120A0E3 MOV R2,#+1 \ 00000070 0810A0E3 MOV R1,#+8 \ 00000074 E01C81E3 ORR R1,R1,#0xE000 \ 00000078 0900A0E1 MOV R0,R9 \ 0000007C 1D0000EF SWI +29 \ 00000080 070000EA B ??filelist_menu_iconhndl_2 \ ??filelist_menu_iconhndl_1: \ 00000084 6C0100EF SWI +364 \ 00000088 050000EA B ??filelist_menu_iconhndl_2 \ ??filelist_menu_iconhndl_0: \ 0000008C 0A10A0E3 MOV R1,#+10 \ 00000090 0400A0E1 MOV R0,R4 \ 00000094 980100EF SWI +408 \ 00000098 1C109FE5 LDR R1,??filelist_menu_iconhndl_3 ;; `?` \ 0000009C 0090A0E1 MOV R9,R0 \ 000000A0 240100EF SWI +292 \ ??filelist_menu_iconhndl_2: \ 000000A4 0530A0E1 MOV R3,R5 \ 000000A8 0920A0E1 MOV R2,R9 \ 000000AC 0610A0E1 MOV R1,R6 \ 000000B0 0400A0E1 MOV R0,R4 \ 000000B4 9A0100EF SWI +410 \ 000000B8 F083BDE8 POP {R4-R9,PC} ;; return \ ??filelist_menu_iconhndl_3: \ 000000BC ........ DC32 `?` \ In segment CODE, align 4, keep-with-next \ __??Code32?? __code __interwork __atpcs void CreateRootMenu() \ CreateRootMenu: \ 00000000 00402DE9 PUSH {LR} \ 00000004 ........ BL Free_FLIST \ 00000008 120F8FE2 ADR R0,??CreateRootMenu_0 ;; "0:\\" \ 0000000C 0120A0E3 MOV R2,#+1 \ 00000010 0010A0E1 MOV R1,R0 \ 00000014 ........ BL AddToFList \ 00000018 0F0F8FE2 ADR R0,??CreateRootMenu_0+0x4 ;; "1:\\" \ 0000001C 0120A0E3 MOV R2,#+1 \ 00000020 0010A0E1 MOV R1,R0 \ 00000024 ........ BL AddToFList \ 00000028 0C0F8FE2 ADR R0,??CreateRootMenu_0+0x8 ;; "2:\\" \ 0000002C 0120A0E3 MOV R2,#+1 \ 00000030 0010A0E1 MOV R1,R0 \ 00000034 ........ BL AddToFList \ 00000038 090F8FE2 ADR R0,??CreateRootMenu_0+0xC ;; "4:\\" \ 0000003C 0120A0E3 MOV R2,#+1 \ 00000040 0010A0E1 MOV R1,R0 \ 00000044 ........ BL AddToFList \ 00000048 18109FE5 LDR R1,??CreateRootMenu_0+0x10 ;; `?` \ 0000004C 18009FE5 LDR R0,??CreateRootMenu_0+0x14 ;; filelist_HDR + 20 \ 00000050 1A0000EF SWI +26 \ 00000054 0080BDE8 POP {PC} ;; return \ ??CreateRootMenu_0: \ 00000058 303A5C00 DC8 "0:\\" \ 0000005C 313A5C00 DC8 "1:\\" \ 00000060 323A5C00 DC8 "2:\\" \ 00000064 343A5C00 DC8 "4:\\" \ 00000068 ........ DC32 `?` \ 0000006C ........ DC32 filelist_HDR + 20 \ In segment CODE, align 4, keep-with-next \ __??Code32?? __code __interwork __atpcs void open_fm() \ open_fm: \ 00000000 F0402DE9 PUSH {R4-R7,LR} \ 00000004 C0509FE5 LDR R5,??open_fm_0 ;; filelist_HDR \ 00000008 400FA0E3 MOV R0,#+256 \ 0000000C 0070A0E3 MOV R7,#+0 \ 00000010 250100EF SWI +293 \ 00000014 0060A0E1 MOV R6,R0 \ 00000018 0800A0E3 MOV R0,#+8 \ 0000001C 140000EF SWI +20 \ 00000020 0040A0E1 MOV R4,R0 \ 00000024 000096E5 LDR R0,[R6, #+0] \ 00000028 B000D0E1 LDRH R0,[R0, #+0] \ 0000002C 000050E3 CMP R0,#+0 \ 00000030 0100001A BNE ??open_fm_1 \ 00000034 ........ BL CreateRootMenu \ 00000038 110000EA B ??open_fm_2 \ ??open_fm_1: \ 0000003C 7F20A0E3 MOV R2,#+127 \ 00000040 141085E2 ADD R1,R5,#+20 \ 00000044 0600A0E1 MOV R0,R6 \ 00000048 A30000EF SWI +163 \ 0000004C 5C10A0E3 MOV R1,#+92 \ 00000050 140085E2 ADD R0,R5,#+20 \ 00000054 170100EF SWI +279 \ 00000058 000050E3 CMP R0,#+0 \ 0000005C 0170C015 STRBNE R7,[R0, #+1] \ 00000060 140085E2 ADD R0,R5,#+20 \ 00000064 1B0000EF SWI +27 \ 00000068 800050E3 CMP R0,#+128 \ 0000006C 7F00A0A3 MOVGE R0,#+127 \ 00000070 050080E0 ADD R0,R0,R5 \ 00000074 1470C0E5 STRB R7,[R0, #+20] \ 00000078 0110A0E3 MOV R1,#+1 \ 0000007C 140085E2 ADD R0,R5,#+20 \ 00000080 ........ BL FindFiles \ ??open_fm_2: \ 00000084 007085E5 STR R7,[R5, #+0] \ 00000088 888100EF SWI +33160 \ 0000008C 010040E2 SUB R0,R0,#+1 \ 00000090 B400C5E1 STRH R0,[R5, #+4] \ 00000094 8A8100EF SWI +33162 \ 00000098 010040E2 SUB R0,R0,#+1 \ 0000009C B600C5E1 STRH R0,[R5, #+6] \ 000000A0 ........ BL GetFListN \ 000000A4 0010A0E3 MOV R1,#+0 \ 000000A8 02002DE9 PUSH {R1} \ 000000AC 10002DE9 PUSH {R4} \ 000000B0 01002DE9 PUSH {R0} \ 000000B4 0530A0E1 MOV R3,R5 \ 000000B8 942085E2 ADD R2,R5,#+148 \ 000000BC 0100A0E1 MOV R0,R1 \ 000000C0 01002DE9 PUSH {R0} \ 000000C4 520100EF SWI +338 \ 000000C8 FF80BDE8 POP {R0-R7,PC} ;; return \ ??open_fm_0: \ 000000CC ........ DC32 filelist_HDR 6 //#include "menu_desc.c" 7 //#include "relocated.c" 8 9 #define TMR_SECOND 216 10 11 //#pragma swi_number=0x80CF: RamAlarm 12 //__swi __arm int *RamAlarm; \ In segment DATA_C, align 4, align-sorted 13 const int minus11=-11; \ minus11: \ 00000000 F5FFFFFF DC32 -11 \ In segment DATA_Z, align 4, align-sorted 14 unsigned short maincsm_name_body[140]; \ maincsm_name_body: \ 00000000 DS8 280 15 16 unsigned int MAINCSM_ID = 0; \ In segment DATA_Z, align 4, align-sorted 17 unsigned int MAINGUI_ID = 0; \ MAINGUI_ID: \ 00000000 DS8 4 18 typedef struct 19 { 20 CSM_RAM csm; 21 int gui_id; 22 }MAIN_CSM; 23 24 typedef struct 25 { 26 GUI gui; 27 WSHDR *ws1; 28 WSHDR *ws2; 29 int i1; 30 }MAIN_GUI; 31 \ In segment DATA_Z, align 4, align-sorted 32 int fl[48]/*={1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}*/; \ fl: \ 00000000 DS8 192 33 #define FLAG_NET_STD fl[0] 34 #define FLAG_NET_ADV fl[1] 35 #define FLAG_NET_DB fl[2] 36 #define FLAG_NET_EXT fl[3] 37 38 #define FLAG_BAT_STD fl[4] 39 #define FLAG_BAT_EXT fl[5] 40 #define FLAG_BAT_CAP fl[6] 41 #define FLAG_BAT_VOLT fl[7] 42 43 #define FLAG_CSM fl[8] 44 //#define FLAG_NET_STD fl[9] 45 //#define FLAG_NET_STD fl[10] 46 47 48 //============================================================================= 49 GBSTMR tmr_vibra; 50 volatile int vibra_count=1; 51 \ In segment CODE, align 4, keep-with-next 52 void start_vibra(void) 53 { \ start_vibra: \ 00000000 00402DE9 PUSH {LR} 54 void stop_vibra(void); 55 if(!IsCalling()) \ 00000004 6E0000EF SWI +110 \ 00000008 000050E3 CMP R0,#+0 \ 0000000C 0080BD18 POPNE {PC} 56 { 57 unsigned int vibraPower=10; 58 SetVibration(vibraPower); \ 00000010 0A00A0E3 MOV R0,#+10 \ 00000014 7C0000EF SWI +124 59 GBS_StartTimerProc(&tmr_vibra,TMR_SECOND>>1,stop_vibra); \ 00000018 0C209FE5 LDR R2,??start_vibra_0 ;; stop_vibra \ 0000001C 0C009FE5 LDR R0,??start_vibra_0+0x4 ;; vibra_count + 4 \ 00000020 6C10A0E3 MOV R1,#+108 \ 00000024 4D0000EF SWI +77 60 } 61 } \ 00000028 0080BDE8 POP {PC} ;; return \ ??start_vibra_0: \ 0000002C ........ DC32 stop_vibra \ 00000030 ........ DC32 vibra_count + 4 62 \ In segment CODE, align 4, keep-with-next 63 void stop_vibra(void) 64 { \ stop_vibra: \ 00000000 00402DE9 PUSH {LR} 65 66 SetVibration(0); \ 00000004 0000A0E3 MOV R0,#+0 \ 00000008 7C0000EF SWI +124 67 if (--vibra_count) \ 0000000C 20009FE5 LDR R0,??stop_vibra_0 ;; vibra_count \ 00000010 001090E5 LDR R1,[R0, #+0] \ 00000014 011051E2 SUBS R1,R1,#+1 \ 00000018 001080E5 STR R1,[R0, #+0] \ 0000001C 0080BD08 POPEQ {PC} 68 { 69 GBS_StartTimerProc(&tmr_vibra,TMR_SECOND>>1,start_vibra); \ 00000020 10209FE5 LDR R2,??stop_vibra_0+0x4 ;; start_vibra \ 00000024 6C10A0E3 MOV R1,#+108 \ 00000028 040080E2 ADD R0,R0,#+4 \ 0000002C 4D0000EF SWI +77 70 } 71 } \ 00000030 0080BDE8 POP {PC} ;; return \ ??stop_vibra_0: \ 00000034 ........ DC32 vibra_count \ 00000038 ........ DC32 start_vibra 72 //============================================================================= \ In segment CODE, align 4, keep-with-next 73 void DrawIconBar() 74 { \ DrawIconBar: \ 00000000 30402DE9 PUSH {R4,R5,LR} 75 if(IRDA)DrawImg(120,60,(int)"0:\\shell\\img\\784.png"); \ 00000004 ........ LDR R5,??DataTable51 ;; crd \ 00000008 78409FE5 LDR R4,??DrawIconBar_0 ;; `?` \ 0000000C 2C0195E5 LDR R0,[R5, #+300] \ 00000010 000050E3 CMP R0,#+0 \ 00000014 0300000A BEQ ??DrawIconBar_1 \ 00000018 0420A0E1 MOV R2,R4 \ 0000001C 3C10A0E3 MOV R1,#+60 \ 00000020 7800A0E3 MOV R0,#+120 \ 00000024 230000EF SWI +35 76 if(kdblock) \ ??DrawIconBar_1: \ 00000028 400195E5 LDR R0,[R5, #+320] \ 0000002C 000050E3 CMP R0,#+0 \ 00000030 0700000A BEQ ??DrawIconBar_2 77 { 78 DrawStrChar("KeyBoard Lock",25,40); \ 00000034 2820A0E3 MOV R2,#+40 \ 00000038 1910A0E3 MOV R1,#+25 \ 0000003C 180084E2 ADD R0,R4,#+24 \ 00000040 ........ BL DrawStrChar 79 DrawImg(115,40,(int)"0:\\shell\\img\\785.png"); \ 00000044 282084E2 ADD R2,R4,#+40 \ 00000048 2810A0E3 MOV R1,#+40 \ 0000004C 7300A0E3 MOV R0,#+115 \ 00000050 230000EF SWI +35 80 } 81 82 if(IsGPRSEnabled())DrawImg(120,50,(int)"0:\\shell\\img\\792.png"); \ ??DrawIconBar_2: \ 00000054 A70000EF SWI +167 \ 00000058 000050E3 CMP R0,#+0 \ 0000005C 0100000A BEQ ??DrawIconBar_3 \ 00000060 402084E2 ADD R2,R4,#+64 \ 00000064 030000EA B ??DrawIconBar_4 83 else if(IsGPRSConnected())DrawImg(120,50,(int)"0:\\shell\\img\\779.png"); \ ??DrawIconBar_3: \ 00000068 A80000EF SWI +168 \ 0000006C 000050E3 CMP R0,#+0 \ 00000070 3080BD08 POPEQ {R4,R5,PC} \ 00000074 582084E2 ADD R2,R4,#+88 \ ??DrawIconBar_4: \ 00000078 3210A0E3 MOV R1,#+50 \ 0000007C 7800A0E3 MOV R0,#+120 \ 00000080 230000EF SWI +35 84 } \ 00000084 3080BDE8 POP {R4,R5,PC} ;; return \ ??DrawIconBar_0: \ 00000088 ........ DC32 `?` 85 \ In segment CODE, align 4, keep-with-next 86 void BG1() 87 { \ BG1: \ 00000000 10402DE9 PUSH {R4,LR} 88 DrawBG(); 89 if(crd[clock][0].show) DrawClock (crd[clock][0].x, crd[clock][0].y); \ 00000004 ........ LDR R4,??DataTable58 ;; crd \ 00000008 ........ BL DrawBG \ 0000000C 080094E5 LDR R0,[R4, #+8] \ 00000010 000050E3 CMP R0,#+0 \ 00000014 0200000A BEQ ??BG1_0 \ 00000018 041094E5 LDR R1,[R4, #+4] \ 0000001C 000094E5 LDR R0,[R4, #+0] \ 00000020 ........ BL DrawClock 90 if(crd[BattCap][0].show) DrawBattCap (crd[BattCap][0].x, crd[BattCap][0].y); \ ??BG1_0: \ 00000024 740094E5 LDR R0,[R4, #+116] \ 00000028 000050E3 CMP R0,#+0 \ 0000002C 0200000A BEQ ??BG1_1 \ 00000030 701094E5 LDR R1,[R4, #+112] \ 00000034 6C0094E5 LDR R0,[R4, #+108] \ 00000038 ........ BL DrawBattCap 91 if(crd[BattVolt][0].show) DrawBattVolt (crd[BattVolt][0].x, crd[BattVolt][0].y); \ ??BG1_1: \ 0000003C 980094E5 LDR R0,[R4, #+152] \ 00000040 000050E3 CMP R0,#+0 \ 00000044 0200000A BEQ ??BG1_2 \ 00000048 941094E5 LDR R1,[R4, #+148] \ 0000004C 900094E5 LDR R0,[R4, #+144] \ 00000050 ........ BL DrawBattVolt 92 if(crd[Dialogs][0].show) DrawDialogs (crd[Dialogs][0].x, crd[Dialogs][0].y); \ ??BG1_2: \ 00000054 BC0094E5 LDR R0,[R4, #+188] \ 00000058 000050E3 CMP R0,#+0 \ 0000005C 0200000A BEQ ??BG1_3 \ 00000060 B81094E5 LDR R1,[R4, #+184] \ 00000064 B40094E5 LDR R0,[R4, #+180] \ 00000068 ........ BL DrawDialogs 93 if(crd[FreeRam][0].show) DrawFreeRam(crd[FreeRam][0].x,crd[FreeRam][0].y); \ ??BG1_3: \ 0000006C E00094E5 LDR R0,[R4, #+224] \ 00000070 000050E3 CMP R0,#+0 \ 00000074 0200000A BEQ ??BG1_4 \ 00000078 DC1094E5 LDR R1,[R4, #+220] \ 0000007C D80094E5 LDR R0,[R4, #+216] \ 00000080 ........ BL DrawFreeRam 94 DrawNetExt(2,20); \ ??BG1_4: \ 00000084 1410A0E3 MOV R1,#+20 \ 00000088 0200A0E3 MOV R0,#+2 \ 0000008C ........ BL DrawNetExt 95 96 /* 97 if(!startmenu && !kdblock) 98 { 99 if(Cross_x>131)Cross_x=131; 100 else if(Cross_y>175)Cross_y=175; 101 else if(Cross_x<1)Cross_x=1; 102 DrawCross(Cross_x,Cross_y,white); 103 }*/ 104 DrawWorkDesc(); \ 00000090 ........ BL DrawWorkDesc 105 106 107 if(Cross_x<=17 && Cross_y<=(name[0].NumItems*20) && !(startmenu)) \ 00000094 340194E5 LDR R0,[R4, #+308] \ 00000098 120050E3 CMP R0,#+18 \ 0000009C 0C0000AA BGE ??BG1_5 \ 000000A0 ........ LDR R0,??DataTable57 ;; name + 576 \ 000000A4 1410A0E3 MOV R1,#+20 \ 000000A8 000090E5 LDR R0,[R0, #+0] \ 000000AC 910000E0 MUL R0,R1,R0 \ 000000B0 381194E5 LDR R1,[R4, #+312] \ 000000B4 010050E1 CMP R0,R1 \ 000000B8 050000BA BLT ??BG1_5 \ 000000BC 4C0194E5 LDR R0,[R4, #+332] \ 000000C0 000050E3 CMP R0,#+0 \ 000000C4 0200001A BNE ??BG1_5 108 { 109 DrawPanel_w(); \ 000000C8 ........ BL DrawPanel_w 110 DrawNameContr(); \ 000000CC ........ BL DrawNameContr \ 000000D0 010000EA B ??BG1_6 111 } 112 // if(Cross_x>=40 && Cross_x<=132 && Cross_y<=17)DrawPanel_h(); 113 else GBS_DelTimer(&timer); \ ??BG1_5: \ 000000D4 6B0F84E2 ADD R0,R4,#+428 \ 000000D8 8C0100EF SWI +396 114 DrawStrInt(workdesctop,120,158); \ ??BG1_6: \ 000000DC 240194E5 LDR R0,[R4, #+292] \ 000000E0 9E20A0E3 MOV R2,#+158 \ 000000E4 7810A0E3 MOV R1,#+120 \ 000000E8 ........ BL DrawStrInt 115 116 //if(kdblock) DrawStrChar("KeyBoard Lock",25,40); 117 DrawIconBar(); \ 000000EC ........ BL DrawIconBar 118 if(menu<1)menu=6; \ 000000F0 480194E5 LDR R0,[R4, #+328] \ 000000F4 010050E3 CMP R0,#+1 \ 000000F8 0600A0B3 MOVLT R0,#+6 \ 000000FC 020000BA BLT ??BG1_7 119 else if(menu>6)menu=1; \ 00000100 070050E3 CMP R0,#+7 \ 00000104 010000BA BLT ??BG1_8 \ 00000108 0100A0E3 MOV R0,#+1 \ ??BG1_7: \ 0000010C 480184E5 STR R0,[R4, #+328] 120 if(startmenu) \ ??BG1_8: \ 00000110 4C0194E5 LDR R0,[R4, #+332] \ 00000114 000050E3 CMP R0,#+0 \ 00000118 0400000A BEQ ??BG1_9 121 { 122 DrawMenu(menu); \ 0000011C 480194E5 LDR R0,[R4, #+328] \ 00000120 ........ BL DrawMenu 123 DrawNameMenu(menu); \ 00000124 480194E5 LDR R0,[R4, #+328] \ 00000128 ........ BL DrawNameMenu \ 0000012C 1080BDE8 POP {R4,PC} 124 } 125 else GBS_DelTimer(&menu_tmr); \ ??BG1_9: \ 00000130 6F0F84E2 ADD R0,R4,#+444 \ 00000134 8C0100EF SWI +396 126 } \ 00000138 1080BDE8 POP {R4,PC} ;; return 127 //-------------------- \ In segment CODE, align 4, keep-with-next 128 void BG3() 129 { \ BG3: \ 00000000 10402DE9 PUSH {R4,LR} 130 DrawBG(); 131 if(crd[clock][workdesctop-1].show) DrawClock (crd[clock][workdesctop-1].x, crd[clock][workdesctop-1].y); \ 00000004 ........ LDR R4,??DataTable58 ;; crd \ 00000008 ........ BL DrawBG \ 0000000C 240194E5 LDR R0,[R4, #+292] \ 00000010 0C10A0E3 MOV R1,#+12 \ 00000014 914020E0 MLA R0,R1,R0,R4 \ 00000018 0C0040E2 SUB R0,R0,#+12 \ 0000001C 081090E5 LDR R1,[R0, #+8] \ 00000020 000051E3 CMP R1,#+0 \ 00000024 0200000A BEQ ??BG3_0 \ 00000028 041090E5 LDR R1,[R0, #+4] \ 0000002C 000090E5 LDR R0,[R0, #+0] \ 00000030 ........ BL DrawClock 132 if(crd[BattCap][workdesctop-1].show) DrawBattCap (crd[BattCap][workdesctop-1].x, crd[BattCap][workdesctop-1].y); \ ??BG3_0: \ 00000034 240194E5 LDR R0,[R4, #+292] \ 00000038 0C10A0E3 MOV R1,#+12 \ 0000003C 914020E0 MLA R0,R1,R0,R4 \ 00000040 681090E5 LDR R1,[R0, #+104] \ 00000044 000051E3 CMP R1,#+0 \ 00000048 0200000A BEQ ??BG3_1 \ 0000004C 641090E5 LDR R1,[R0, #+100] \ 00000050 600090E5 LDR R0,[R0, #+96] \ 00000054 ........ BL DrawBattCap 133 if(crd[BattVolt][workdesctop-1].show) DrawBattVolt (crd[BattVolt][workdesctop-1].x, crd[BattVolt][workdesctop-1].y); \ ??BG3_1: \ 00000058 240194E5 LDR R0,[R4, #+292] \ 0000005C 0C10A0E3 MOV R1,#+12 \ 00000060 914020E0 MLA R0,R1,R0,R4 \ 00000064 8C1090E5 LDR R1,[R0, #+140] \ 00000068 000051E3 CMP R1,#+0 \ 0000006C 0200000A BEQ ??BG3_2 \ 00000070 881090E5 LDR R1,[R0, #+136] \ 00000074 840090E5 LDR R0,[R0, #+132] \ 00000078 ........ BL DrawBattVolt 134 if(crd[Dialogs][workdesctop-1].show) DrawDialogs (crd[Dialogs][workdesctop-1].x, crd[Dialogs][workdesctop-1].y); \ ??BG3_2: \ 0000007C 240194E5 LDR R0,[R4, #+292] \ 00000080 0C10A0E3 MOV R1,#+12 \ 00000084 914020E0 MLA R0,R1,R0,R4 \ 00000088 B01090E5 LDR R1,[R0, #+176] \ 0000008C 000051E3 CMP R1,#+0 \ 00000090 0200000A BEQ ??BG3_3 \ 00000094 AC1090E5 LDR R1,[R0, #+172] \ 00000098 A80090E5 LDR R0,[R0, #+168] \ 0000009C ........ BL DrawDialogs 135 if(crd[FreeRam][workdesctop-1].show) DrawFreeRam(crd[FreeRam][workdesctop-1].x,crd[FreeRam][workdesctop-1].y); \ ??BG3_3: \ 000000A0 240194E5 LDR R0,[R4, #+292] \ 000000A4 0C10A0E3 MOV R1,#+12 \ 000000A8 914020E0 MLA R0,R1,R0,R4 \ 000000AC D41090E5 LDR R1,[R0, #+212] \ 000000B0 000051E3 CMP R1,#+0 \ 000000B4 0200000A BEQ ??BG3_4 \ 000000B8 D01090E5 LDR R1,[R0, #+208] \ 000000BC CC0090E5 LDR R0,[R0, #+204] \ 000000C0 ........ BL DrawFreeRam 136 137 /* if(!startmenu && !kdblock) 138 { 139 if(Cross_x>131)Cross_x=131; 140 else if(Cross_y>175)Cross_y=175; 141 else if(Cross_x<1)Cross_x=1; 142 DrawCross(Cross_x,Cross_y,white); 143 }*/ 144 DrawWorkDesc(); \ ??BG3_4: \ 000000C4 ........ BL DrawWorkDesc 145 146 if(Cross_x<=17 && Cross_y<=(name[0].NumItems*20) && !(startmenu)) \ 000000C8 340194E5 LDR R0,[R4, #+308] \ 000000CC 120050E3 CMP R0,#+18 \ 000000D0 0C0000AA BGE ??BG3_5 \ 000000D4 ........ LDR R0,??DataTable57 ;; name + 576 \ 000000D8 1410A0E3 MOV R1,#+20 \ 000000DC 000090E5 LDR R0,[R0, #+0] \ 000000E0 910000E0 MUL R0,R1,R0 \ 000000E4 381194E5 LDR R1,[R4, #+312] \ 000000E8 010050E1 CMP R0,R1 \ 000000EC 050000BA BLT ??BG3_5 \ 000000F0 4C0194E5 LDR R0,[R4, #+332] \ 000000F4 000050E3 CMP R0,#+0 \ 000000F8 0200001A BNE ??BG3_5 147 { 148 DrawPanel_w(); \ 000000FC ........ BL DrawPanel_w 149 DrawNameContr(); \ 00000100 ........ BL DrawNameContr \ 00000104 010000EA B ??BG3_6 150 } 151 // if(Cross_x>=40 && Cross_x<=132 && Cross_y<=17)DrawPanel_h(); 152 else GBS_DelTimer(&timer); \ ??BG3_5: \ 00000108 6B0F84E2 ADD R0,R4,#+428 \ 0000010C 8C0100EF SWI +396 153 154 155 // if(kdblock) DrawStrChar("KeyBoard Lock",25,40); 156 DrawStrInt(workdesctop,120,158); \ ??BG3_6: \ 00000110 240194E5 LDR R0,[R4, #+292] \ 00000114 9E20A0E3 MOV R2,#+158 \ 00000118 7810A0E3 MOV R1,#+120 \ 0000011C ........ BL DrawStrInt 157 DrawIconBar(); \ 00000120 ........ BL DrawIconBar 158 159 if(menu<1)menu=6; \ 00000124 480194E5 LDR R0,[R4, #+328] \ 00000128 010050E3 CMP R0,#+1 \ 0000012C 0600A0B3 MOVLT R0,#+6 \ 00000130 020000BA BLT ??BG3_7 160 else if(menu>6)menu=1; \ 00000134 070050E3 CMP R0,#+7 \ 00000138 010000BA BLT ??BG3_8 \ 0000013C 0100A0E3 MOV R0,#+1 \ ??BG3_7: \ 00000140 480184E5 STR R0,[R4, #+328] 161 if(startmenu) \ ??BG3_8: \ 00000144 4C0194E5 LDR R0,[R4, #+332] \ 00000148 000050E3 CMP R0,#+0 \ 0000014C 0400000A BEQ ??BG3_9 162 { 163 DrawMenu(menu); \ 00000150 480194E5 LDR R0,[R4, #+328] \ 00000154 ........ BL DrawMenu 164 DrawNameMenu(menu); \ 00000158 480194E5 LDR R0,[R4, #+328] \ 0000015C ........ BL DrawNameMenu \ 00000160 1080BDE8 POP {R4,PC} 165 } 166 else GBS_DelTimer(&menu_tmr); \ ??BG3_9: \ 00000164 6F0F84E2 ADD R0,R4,#+444 \ 00000168 8C0100EF SWI +396 167 } \ 0000016C 1080BDE8 POP {R4,PC} ;; return 168 169 //------------------------------------------------ 170 \ In segment CODE, align 4, keep-with-next 171 void OnRedraw(MAIN_GUI *data) 172 { \ OnRedraw: \ 00000000 10402DE9 PUSH {R4,LR} 173 LockSched(); 174 175 //if(workdesctop==2) 176 //{ 177 DrawBG(); 178 DrawNetExt(2,20); 179 DrawNetStd(2,100); 180 //DrawNetAdv (crd[NetAdv][1].x, crd[NetAdv][1].y); 181 DrawNetDb (crd[NetDB][1].x, crd[NetDB][1].y); \ 00000004 ........ LDR R4,??DataTable58 ;; crd \ 00000008 460100EF SWI +326 \ 0000000C ........ BL DrawBG \ 00000010 1410A0E3 MOV R1,#+20 \ 00000014 0200A0E3 MOV R0,#+2 \ 00000018 ........ BL DrawNetExt \ 0000001C 6410A0E3 MOV R1,#+100 \ 00000020 0200A0E3 MOV R0,#+2 \ 00000024 ........ BL DrawNetStd \ 00000028 341094E5 LDR R1,[R4, #+52] \ 0000002C 300094E5 LDR R0,[R4, #+48] \ 00000030 ........ BL DrawNetDb 182 if(crd[clock][workdesctop-1].show) DrawClock (crd[clock][workdesctop-1].x, crd[clock][workdesctop-1].y); \ 00000034 240194E5 LDR R0,[R4, #+292] \ 00000038 0C10A0E3 MOV R1,#+12 \ 0000003C 914020E0 MLA R0,R1,R0,R4 \ 00000040 0C0040E2 SUB R0,R0,#+12 \ 00000044 081090E5 LDR R1,[R0, #+8] \ 00000048 000051E3 CMP R1,#+0 \ 0000004C 0200000A BEQ ??OnRedraw_0 \ 00000050 041090E5 LDR R1,[R0, #+4] \ 00000054 000090E5 LDR R0,[R0, #+0] \ 00000058 ........ BL DrawClock 183 //DrawBattStd(BattStd_x,BattStd_y); 184 if(crd[BattCap][1].show) DrawBattCap (crd[BattCap][1].x, crd[BattCap][1].y); \ ??OnRedraw_0: \ 0000005C 800094E5 LDR R0,[R4, #+128] \ 00000060 000050E3 CMP R0,#+0 \ 00000064 0200000A BEQ ??OnRedraw_1 \ 00000068 7C1094E5 LDR R1,[R4, #+124] \ 0000006C 780094E5 LDR R0,[R4, #+120] \ 00000070 ........ BL DrawBattCap 185 if(crd[BattVolt][workdesctop-1].show) DrawBattVolt (crd[BattVolt][workdesctop-1].x, crd[BattVolt][workdesctop-1].y); \ ??OnRedraw_1: \ 00000074 240194E5 LDR R0,[R4, #+292] \ 00000078 0C10A0E3 MOV R1,#+12 \ 0000007C 914020E0 MLA R0,R1,R0,R4 \ 00000080 8C1090E5 LDR R1,[R0, #+140] \ 00000084 000051E3 CMP R1,#+0 \ 00000088 0200000A BEQ ??OnRedraw_2 \ 0000008C 881090E5 LDR R1,[R0, #+136] \ 00000090 840090E5 LDR R0,[R0, #+132] \ 00000094 ........ BL DrawBattVolt 186 if(crd[Dialogs][workdesctop-1].show) DrawDialogs (crd[Dialogs][workdesctop-1].x, crd[Dialogs][workdesctop-1].y); \ ??OnRedraw_2: \ 00000098 240194E5 LDR R0,[R4, #+292] \ 0000009C 0C10A0E3 MOV R1,#+12 \ 000000A0 914020E0 MLA R0,R1,R0,R4 \ 000000A4 B01090E5 LDR R1,[R0, #+176] \ 000000A8 000051E3 CMP R1,#+0 \ 000000AC 0200000A BEQ ??OnRedraw_3 \ 000000B0 AC1090E5 LDR R1,[R0, #+172] \ 000000B4 A80090E5 LDR R0,[R0, #+168] \ 000000B8 ........ BL DrawDialogs 187 if(crd[FreeRam][workdesctop-1].show) DrawFreeRam(crd[FreeRam][workdesctop-1].x,crd[FreeRam][workdesctop-1].y); \ ??OnRedraw_3: \ 000000BC 240194E5 LDR R0,[R4, #+292] \ 000000C0 0C10A0E3 MOV R1,#+12 \ 000000C4 914020E0 MLA R0,R1,R0,R4 \ 000000C8 D41090E5 LDR R1,[R0, #+212] \ 000000CC 000051E3 CMP R1,#+0 \ 000000D0 0200000A BEQ ??OnRedraw_4 \ 000000D4 D01090E5 LDR R1,[R0, #+208] \ 000000D8 CC0090E5 LDR R0,[R0, #+204] \ 000000DC ........ BL DrawFreeRam 188 189 190 DrawWorkDesc(); \ ??OnRedraw_4: \ 000000E0 ........ BL DrawWorkDesc 191 if(Cross_x<10) \ 000000E4 340194E5 LDR R0,[R4, #+308] \ 000000E8 0A0050E3 CMP R0,#+10 192 DrawStrInt(Cross_x,88,158); \ 000000EC 9E20A0B3 MOVLT R2,#+158 \ 000000F0 5810A0B3 MOVLT R1,#+88 \ 000000F4 030000BA BLT ??OnRedraw_5 193 else if(Cross_x<100) \ 000000F8 640050E3 CMP R0,#+100 \ 000000FC 9E20A0E3 MOV R2,#+158 194 DrawStrInt(Cross_x,82,158); \ 00000100 5210A0B3 MOVLT R1,#+82 195 else DrawStrInt(Cross_x,76,158); \ 00000104 4C10A0A3 MOVGE R1,#+76 \ ??OnRedraw_5: \ 00000108 ........ BL DrawStrInt 196 DrawStrChar(":",95,158); \ 0000010C 9E20A0E3 MOV R2,#+158 \ 00000110 5F10A0E3 MOV R1,#+95 \ 00000114 2C0F8FE2 ADR R0,??OnRedraw_6 ;; ":" \ 00000118 ........ BL DrawStrChar 197 DrawStrInt(Cross_y,100,158); \ 0000011C 380194E5 LDR R0,[R4, #+312] \ 00000120 9E20A0E3 MOV R2,#+158 \ 00000124 6410A0E3 MOV R1,#+100 \ 00000128 ........ BL DrawStrInt 198 199 200 201 if(Cross_x<=17 && Cross_y<=(name[0].NumItems*20) && !(startmenu)) \ 0000012C 340194E5 LDR R0,[R4, #+308] \ 00000130 120050E3 CMP R0,#+18 \ 00000134 0C0000AA BGE ??OnRedraw_7 \ 00000138 ........ LDR R0,??DataTable57 ;; name + 576 \ 0000013C 1410A0E3 MOV R1,#+20 \ 00000140 000090E5 LDR R0,[R0, #+0] \ 00000144 910000E0 MUL R0,R1,R0 \ 00000148 381194E5 LDR R1,[R4, #+312] \ 0000014C 010050E1 CMP R0,R1 \ 00000150 050000BA BLT ??OnRedraw_7 \ 00000154 4C0194E5 LDR R0,[R4, #+332] \ 00000158 000050E3 CMP R0,#+0 \ 0000015C 0200001A BNE ??OnRedraw_7 202 { 203 DrawPanel_w(); \ 00000160 ........ BL DrawPanel_w 204 DrawNameContr(); \ 00000164 ........ BL DrawNameContr \ 00000168 010000EA B ??OnRedraw_8 205 } 206 // if(Cross_x>=40 && Cross_x<=132 && Cross_y<=17)DrawPanel_h(); 207 else GBS_DelTimer(&timer); \ ??OnRedraw_7: \ 0000016C 6B0F84E2 ADD R0,R4,#+428 \ 00000170 8C0100EF SWI +396 208 DrawIconBar(); \ ??OnRedraw_8: \ 00000174 ........ BL DrawIconBar 209 210 211 //DrawStrChar(descmenu[1].file,20,60); 212 if(menu<1)menu=6; \ 00000178 480194E5 LDR R0,[R4, #+328] \ 0000017C 010050E3 CMP R0,#+1 \ 00000180 0600A0B3 MOVLT R0,#+6 \ 00000184 020000BA BLT ??OnRedraw_9 213 else if(menu>6)menu=1; \ 00000188 070050E3 CMP R0,#+7 \ 0000018C 010000BA BLT ??OnRedraw_10 \ 00000190 0100A0E3 MOV R0,#+1 \ ??OnRedraw_9: \ 00000194 480184E5 STR R0,[R4, #+328] 214 if(startmenu) \ ??OnRedraw_10: \ 00000198 4C0194E5 LDR R0,[R4, #+332] \ 0000019C 000050E3 CMP R0,#+0 \ 000001A0 0500000A BEQ ??OnRedraw_11 215 { 216 DrawMenu(menu); \ 000001A4 480194E5 LDR R0,[R4, #+328] \ 000001A8 ........ BL DrawMenu 217 DrawNameMenu(menu); \ 000001AC 480194E5 LDR R0,[R4, #+328] \ 000001B0 ........ BL DrawNameMenu \ 000001B4 470100EF SWI +327 \ 000001B8 1080BDE8 POP {R4,PC} 218 } 219 else GBS_DelTimer(&menu_tmr); \ ??OnRedraw_11: \ 000001BC 6F0F84E2 ADD R0,R4,#+444 \ 000001C0 8C0100EF SWI +396 220 // DrawStrInt(RamNet()->power,50,50); 221 //if(DrawMamory)DrawFreeMamory("0:\\Java\\jam\\Applications",100); 222 /*if(Cross_x>=0 && Cross_x <=25 && Cross_y>=159 && Cross_y <=162)Pusk=1; 223 if(Pusk && Cross_x>=0 && Cross_x <=80 && Cross_y>=75 && Cross_y <=162)//0,80,75,162 224 DrawPusk(85,1); 225 else Pusk=0;*/ 226 //TimerProc(); 227 //} 228 /* 229 else if(workdesctop==1) BG1(); 230 else if(workdesctop==3) BG3(); 231 */ 232 UnlockSched(); \ 000001C4 470100EF SWI +327 233 } \ 000001C8 1080BDE8 POP {R4,PC} ;; return \ ??OnRedraw_6: \ 000001CC 3A000000 DC8 ":",+0,+0 234 \ In segment CODE, align 4, keep-with-next 235 void onCreate(MAIN_GUI *data, void *(*malloc_adr)(int)) 236 { 237 data->gui.state=1; \ onCreate: \ 00000000 0110A0E3 MOV R1,#+1 \ 00000004 0C10C0E5 STRB R1,[R0, #+12] 238 } \ 00000008 1EFF2FE1 BX LR ;; return 239 \ In segment CODE, align 4, keep-with-next 240 void onClose(MAIN_GUI *data, void (*mfree_adr)(void *)) 241 { 242 data->gui.state=0; \ onClose: \ 00000000 0010A0E3 MOV R1,#+0 \ 00000004 0C10C0E5 STRB R1,[R0, #+12] 243 } \ 00000008 1EFF2FE1 BX LR ;; return 244 \ In segment CODE, align 4, keep-with-next 245 void onFocus(MAIN_GUI *data, void *(*malloc_adr)(int), void (*mfree_adr)(void *)) 246 { \ onFocus: \ 00000000 00402DE9 PUSH {LR} 247 data->gui.state=2; \ 00000004 0210A0E3 MOV R1,#+2 \ 00000008 0C10C0E5 STRB R1,[R0, #+12] 248 DisableIDLETMR(); \ 0000000C 7F0100EF SWI +383 249 } \ 00000010 0080BDE8 POP {PC} ;; return 250 \ In segment CODE, align 4, keep-with-next 251 void onUnfocus(MAIN_GUI *data, void (*mfree_adr)(void *)) 252 { 253 if (data->gui.state!=2) return; \ onUnfocus: \ 00000000 0C10D0E5 LDRB R1,[R0, #+12] \ 00000004 020051E3 CMP R1,#+2 254 data->gui.state=1; \ 00000008 0110A003 MOVEQ R1,#+1 \ 0000000C 0C10C005 STRBEQ R1,[R0, #+12] 255 } \ 00000010 1EFF2FE1 BX LR ;; return \ In segment DATA_I, align 4, align-sorted \ crds __data crd[7][3] \ crd: \ 00000000 DS8 252 \ 000000FC REQUIRE `?` \ char *__data NAME[9] \ NAME: \ 000000FC DS8 36 \ 00000120 REQUIRE `?` \ int __data speed_cur \ speed_cur: \ 00000120 DS8 4 \ 00000124 REQUIRE `?` \ int __data workdesctop \ workdesctop: \ 00000124 DS8 4 \ 00000128 REQUIRE `?` \ int __data typecur \ typecur: \ 00000128 DS8 4 \ 0000012C REQUIRE `?` \ int __data IRDA \ IRDA: \ 0000012C DS8 4 \ 00000130 REQUIRE `?` \ int __data cr_y \ cr_y: \ 00000130 DS8 4 \ 00000134 REQUIRE `?` \ int __data Cross_x \ Cross_x: \ 00000134 DS8 4 \ 00000138 REQUIRE `?` \ int __data Cross_y \ Cross_y: \ 00000138 DS8 4 \ 0000013C REQUIRE `?` \ int __data TypeLine \ TypeLine: \ 0000013C DS8 4 \ 00000140 REQUIRE `?` \ int __data kdblock \ kdblock: \ 00000140 DS8 4 \ 00000144 REQUIRE `?` \ int __data moveclock \ moveclock: \ 00000144 DS8 4 \ 00000148 REQUIRE `?` \ int __data menu \ menu: \ 00000148 DS8 4 \ 0000014C REQUIRE `?` \ int __data startmenu \ startmenu: \ 0000014C DS8 4 \ 00000150 REQUIRE `?` \ char *__data NAME2[9] \ NAME2: \ 00000150 DS8 36 \ 00000174 REQUIRE `?` \ int __data panel_x \ panel_x: \ 00000174 DS8 4 \ 00000178 REQUIRE `?` \ int __data panel_y \ panel_y: \ 00000178 DS8 4 \ 0000017C REQUIRE `?` \ int __data img_y \ img_y: \ 0000017C DS8 4 \ 00000180 REQUIRE `?` \ int __data menu_x \ menu_x: \ 00000180 DS8 4 \ 00000184 REQUIRE `?` \ int __data menu_y \ menu_y: \ 00000184 DS8 4 \ 00000188 REQUIRE `?` \ unsigned int *__data err \ err: \ 00000188 DS8 4 \ 0000018C REQUIRE `?` \ int __data DrawPuskk \ DrawPuskk: \ 0000018C DS8 4 \ 00000190 REQUIRE `?` \ int __data pusk_y \ pusk_y: \ 00000190 DS8 4 \ 00000194 REQUIRE `?` \ MAINCSM_ID: \ 00000194 DS8 4 \ 00000198 REQUIRE `?` 256 int Quit_Required=0; \ Quit_Required: \ 00000198 DS8 4 \ 0000019C REQUIRE `?` \ char __data per_s[3] \ per_s: \ 0000019C DS8 3 \ 0000019F REQUIRE `?` \ 0000019F DS8 1 \ char __data white[4] \ white: \ 000001A0 DS8 4 \ 000001A4 REQUIRE `?` \ char __data RED[4] \ RED: \ 000001A4 DS8 4 \ 000001A8 REQUIRE `?` \ char __data prozr[4] \ prozr: \ 000001A8 DS8 4 \ 000001AC REQUIRE `?` \ GBSTMR __data timer \ timer: \ 000001AC DS8 16 \ 000001BC REQUIRE `?` \ GBSTMR __data menu_tmr \ menu_tmr: \ 000001BC DS8 16 \ 000001CC REQUIRE `?` \ char __data per_6s[18] \ per_6s: \ 000001CC DS8 20 \ 000001E0 REQUIRE `?` \ In segment DATA_I, align 4, align-sorted \ char __data black[4] \ black: \ 00000000 DS8 4 \ 00000004 REQUIRE `?` \ In segment DATA_I, align 1, align-sorted \ char __data per_d[3] \ per_d: \ 00000000 DS8 3 \ 00000003 REQUIRE `?` \ In segment DATA_I, align 1, align-sorted \ char __data per_t[3] \ per_t: \ 00000000 DS8 3 \ 00000003 REQUIRE `?` \ In segment DATA_I, align 1, align-sorted \ char __data _percent_t[3] \ _percent_t: \ 00000000 DS8 3 \ 00000003 REQUIRE `?` \ In segment DATA_I, align 4, align-sorted \ int __data fmenusoftkeys[3] \ fmenusoftkeys: \ 00000000 DS8 12 \ 0000000C REQUIRE `?` \ In segment DATA_I, align 4, align-sorted \ SOFTKEY_DESC __data fmenu_sk[3] \ fmenu_sk: \ 00000000 DS8 24 \ 00000018 REQUIRE `?` \ In segment DATA_I, align 4, align-sorted \ SOFTKEYSTAB __data fmenu_skt \ fmenu_skt: \ 00000000 DS8 8 \ 00000008 REQUIRE `?` \ In segment DATA_I, align 4, align-sorted \ HEADER_DESC __data filelist_HDR \ filelist_HDR: \ 00000000 DS8 20 \ 00000014 REQUIRE `?` \ char __data header[128] \ header: \ 00000014 DS8 128 \ 00000094 REQUIRE `?` \ MENU_DESC __data filelist_STRUCT \ filelist_STRUCT: \ 00000094 DS8 44 \ 000000C0 REQUIRE `?` \ In segment DATA_I, align 4, align-sorted \ vibra_count: \ 00000000 DS8 4 \ 00000004 REQUIRE `?` \ tmr_vibra: \ 00000004 DS8 16 \ 00000014 REQUIRE `?` \ In segment CODE, align 4, keep-with-next 257 void QuitCallbackProc(int decision) 258 { 259 if(!decision)Quit_Required = 1; \ QuitCallbackProc: \ 00000000 000050E3 CMP R0,#+0 \ 00000004 08009F05 LDREQ R0,??QuitCallbackProc_0 ;; crd + 408 \ 00000008 0110A003 MOVEQ R1,#+1 \ 0000000C 00108005 STREQ R1,[R0, #+0] 260 } \ 00000010 1EFF2FE1 BX LR ;; return \ ??QuitCallbackProc_0: \ 00000014 ........ DC32 crd + 408 \ In segment CODE, align 4, keep-with-next 261 int OnKey(MAIN_GUI *data, GUI_MSG *msg) 262 { \ OnKey: \ 00000000 F24F2DE9 PUSH {R1,R4-R11,LR} 263 DirectRedrawGUI(); 264 if(Quit_Required) return 1; //Происходит вызов GeneralFunc для тек. GUI -> закрытие GUI \ 00000004 ........ LDR R5,??DataTable58 ;; crd \ 00000008 3F0100EF SWI +319 \ 0000000C 980195E5 LDR R0,[R5, #+408] \ 00000010 000050E3 CMP R0,#+0 \ 00000014 0100A013 MOVNE R0,#+1 \ 00000018 F28FBD18 POPNE {R1,R4-R11,PC} 265 266 if (msg->gbsmsg->msg==/*LONG_PRESS*/KEY_DOWN && msg->gbsmsg->submess=='#') kdblock=!kdblock; \ 0000001C 00009DE5 LDR R0,[SP, #+0] \ 00000020 9320A0E3 MOV R2,#+147 \ 00000024 040090E5 LDR R0,[R0, #+4] \ 00000028 402F82E3 ORR R2,R2,#0x100 \ 0000002C F230D0E1 LDRSH R3,[R0, #+2] \ 00000030 0140A0E3 MOV R4,#+1 \ 00000034 0010A0E3 MOV R1,#+0 \ 00000038 020053E1 CMP R3,R2 \ 0000003C 04309005 LDREQ R3,[R0, #+4] \ 00000040 23005303 CMPEQ R3,#+35 \ 00000044 0400001A BNE ??OnKey_2 \ 00000048 403195E5 LDR R3,[R5, #+320] \ 0000004C 000053E3 CMP R3,#+0 \ 00000050 0130A003 MOVEQ R3,#+1 \ 00000054 0030A013 MOVNE R3,#+0 \ 00000058 403185E5 STR R3,[R5, #+320] 267 if (msg->gbsmsg->msg==KEY_DOWN && !kdblock) \ ??OnKey_2: \ 0000005C F230D0E1 LDRSH R3,[R0, #+2] \ 00000060 0B60E0E3 MVN R6,#+11 \ 00000064 020053E1 CMP R3,R2 \ 00000068 40219505 LDREQ R2,[R5, #+320] \ 0000006C 00005203 CMPEQ R2,#+0 \ 00000070 AD00001A BNE ??OnKey_3 268 { 269 switch(msg->gbsmsg->submess) \ 00000074 24C195E5 LDR R12,[R5, #+292] \ 00000078 040090E5 LDR R0,[R0, #+4] \ 0000007C 4CA195E5 LDR R10,[R5, #+332] \ 00000080 349195E5 LDR R9,[R5, #+308] \ 00000084 E4749FE5 LDR R7,??OnKey_4 ;; `?` \ 00000088 0C20A0E3 MOV R2,#+12 \ 0000008C 925C23E0 MLA R3,R2,R12,R5 \ 00000090 442195E5 LDR R2,[R5, #+324] \ 00000094 03E086E0 ADD LR,R6,R3 \ 00000098 383195E5 LDR R3,[R5, #+312] \ 0000009C 0380A0E3 MOV R8,#+3 \ 000000A0 010040E2 SUB R0,R0,#+1 \ 000000A4 3D0050E3 CMP R0,#+61 \ 000000A8 9F00008A BHI ??OnKey_3 \ 000000AC 01BF8FE2 ADR R11,??OnKey_0 \ 000000B0 00B0DBE7 LDRB R11,[R11, R0] \ 000000B4 0BF18FE0 ADD PC,PC,R11, LSL #+2 \ ??OnKey_0: \ 000000B8 2E9C9C9C DC8 +46,+156,+156,+156 \ 000000BC 9C9C9C9C DC8 +156,+156,+156,+156 \ 000000C0 9C9C290F DC8 +156,+156,+41,+15 \ 000000C4 9C9C9C9C DC8 +156,+156,+156,+156 \ 000000C8 9C9C9C9C DC8 +156,+156,+156,+156 \ 000000CC 9C9C9C9C DC8 +156,+156,+156,+156 \ 000000D0 9C6A9C9C DC8 +156,+106,+156,+156 \ 000000D4 9C9C9C9C DC8 +156,+156,+156,+156 \ 000000D8 9C9C9C9C DC8 +156,+156,+156,+156 \ 000000DC 9C9C9C9C DC8 +156,+156,+156,+156 \ 000000E0 9C189C9C DC8 +156,+24,+156,+156 \ 000000E4 9C9C9C0F DC8 +156,+156,+156,+15 \ 000000E8 87529C32 DC8 +135,+82,+156,+50 \ 000000EC 6A42945E DC8 +106,+66,+148,+94 \ 000000F0 989C525E DC8 +152,+156,+82,+94 \ 000000F4 32420000 DC8 +50,+66,+0,+0 270 { 271 272 case RED_BUTTON:case '0': 273 if(!startmenu) MsgBoxYesNo(1,(int)"Exit?",QuitCallbackProc);//return(1); \ ??OnKey_5: \ 000000F8 00005AE3 CMP R10,#+0 \ 000000FC 0400001A BNE ??OnKey_6 \ 00000100 6C249FE5 LDR R2,??OnKey_4+0x4 ;; QuitCallbackProc \ 00000104 0710A0E1 MOV R1,R7 \ 00000108 0100A0E3 MOV R0,#+1 \ 0000010C 4F0000EF SWI +79 \ 00000110 850000EA B ??OnKey_3 274 else startmenu=!startmenu;break; \ ??OnKey_6: \ 00000114 4C1185E5 STR R1,[R5, #+332] \ 00000118 830000EA B ??OnKey_3 275 case '*': {for (int i=7; i!=MAINCSM_ID-1; i++){ if (FindCSMbyID(i)!=NULL) CloseCSM(i);} ShowMSG(1,(int)"Killed");} break; \ ??OnKey_7: \ 0000011C 0740A0E3 MOV R4,#+7 \ 00000120 060000EA B ??OnKey_8 \ ??OnKey_9: \ 00000124 0400A0E1 MOV R0,R4 \ 00000128 080100EF SWI +264 \ 0000012C 000050E3 CMP R0,#+0 \ 00000130 0100000A BEQ ??OnKey_10 \ 00000134 0400A0E1 MOV R0,R4 \ 00000138 FC0100EF SWI +508 \ ??OnKey_10: \ 0000013C 014084E2 ADD R4,R4,#+1 \ ??OnKey_8: \ 00000140 940195E5 LDR R0,[R5, #+404] \ 00000144 010040E2 SUB R0,R0,#+1 \ 00000148 000054E1 CMP R4,R0 \ 0000014C F4FFFF1A BNE ??OnKey_9 \ 00000150 081087E2 ADD R1,R7,#+8 \ 00000154 0100A0E3 MOV R0,#+1 \ 00000158 480100EF SWI +328 \ 0000015C 720000EA B ??OnKey_3 276 case GREEN_BUTTON: MakeVoiceCall("0",0x10,0x20C0); break; \ ??OnKey_11: \ 00000160 832DA0E3 MOV R2,#+8384 \ 00000164 1010A0E3 MOV R1,#+16 \ 00000168 F00F8FE2 ADR R0,??OnKey_12 ;; "0" \ 0000016C 700100EF SWI +368 \ 00000170 6D0000EA B ??OnKey_3 277 case RIGHT_SOFT: 278 break; 279 case LEFT_SOFT:startmenu=!startmenu; break; \ ??OnKey_13: \ 00000174 00005AE3 CMP R10,#+0 \ 00000178 0040A013 MOVNE R4,#+0 \ 0000017C 4C4185E5 STR R4,[R5, #+332] \ 00000180 690000EA B ??OnKey_3 280 case '4': case LEFT_BUTTON: 281 if(Cross_x>0 && (!startmenu)) Cross_x--;TypeLine=1; \ ??OnKey_14: \ 00000184 010059E3 CMP R9,#+1 \ 00000188 020000BA BLT ??OnKey_15 \ 0000018C 00005AE3 CMP R10,#+0 \ 00000190 01004902 SUBEQ R0,R9,#+1 \ 00000194 34018505 STREQ R0,[R5, #+308] 282 if(startmenu)menu--; \ ??OnKey_15: \ 00000198 00005AE3 CMP R10,#+0 \ 0000019C 48019515 LDRNE R0,[R5, #+328] \ 000001A0 3C4185E5 STR R4,[R5, #+316] \ 000001A4 01004012 SUBNE R0,R0,#+1 \ 000001A8 48018515 STRNE R0,[R5, #+328] 283 if(moveclock)crd[clock][workdesctop-1].x--; \ 000001AC 000052E3 CMP R2,#+0 \ 000001B0 5D00000A BEQ ??OnKey_3 \ 000001B4 00009EE5 LDR R0,[LR, #+0] \ 000001B8 010040E2 SUB R0,R0,#+1 \ ??OnKey_16: \ 000001BC 00008EE5 STR R0,[LR, #+0] \ 000001C0 590000EA B ??OnKey_3 284 break; 285 case '6': case RIGHT_BUTTON: 286 if(Cross_x<131&& (!startmenu))Cross_x++;TypeLine=2; \ ??OnKey_17: \ 000001C4 830059E3 CMP R9,#+131 \ 000001C8 020000AA BGE ??OnKey_18 \ 000001CC 00005AE3 CMP R10,#+0 \ 000001D0 01008902 ADDEQ R0,R9,#+1 \ 000001D4 34018505 STREQ R0,[R5, #+308] \ ??OnKey_18: \ 000001D8 0200A0E3 MOV R0,#+2 \ 000001DC 3C0185E5 STR R0,[R5, #+316] 287 if(startmenu)menu++; \ 000001E0 00005AE3 CMP R10,#+0 \ 000001E4 48019515 LDRNE R0,[R5, #+328] \ 000001E8 01008012 ADDNE R0,R0,#+1 \ 000001EC 48018515 STRNE R0,[R5, #+328] 288 if(moveclock)crd[clock][workdesctop-1].x++; \ 000001F0 000052E3 CMP R2,#+0 \ 000001F4 4C00000A BEQ ??OnKey_3 \ 000001F8 00009EE5 LDR R0,[LR, #+0] \ 000001FC 010080E2 ADD R0,R0,#+1 \ 00000200 EDFFFFEA B ??OnKey_16 289 break; 290 case '2': case UP_BUTTON: 291 if(Cross_y>0&& (!startmenu)) Cross_y--;TypeLine=3; \ ??OnKey_19: \ 00000204 010053E3 CMP R3,#+1 \ 00000208 020000BA BLT ??OnKey_20 \ 0000020C 00005AE3 CMP R10,#+0 \ 00000210 01004302 SUBEQ R0,R3,#+1 \ 00000214 38018505 STREQ R0,[R5, #+312] \ ??OnKey_20: \ 00000218 3C8185E5 STR R8,[R5, #+316] 292 if(moveclock) crd[clock][workdesctop-1].y--; \ 0000021C 000052E3 CMP R2,#+0 \ 00000220 4100000A BEQ ??OnKey_3 \ 00000224 04009EE5 LDR R0,[LR, #+4] \ 00000228 010040E2 SUB R0,R0,#+1 \ ??OnKey_21: \ 0000022C 04008EE5 STR R0,[LR, #+4] \ 00000230 3D0000EA B ??OnKey_3 293 break; 294 case '8': case DOWN_BUTTON: 295 if(Cross_y<175&& (!startmenu))Cross_y++;TypeLine=4; \ ??OnKey_22: \ 00000234 AF0053E3 CMP R3,#+175 \ 00000238 020000AA BGE ??OnKey_23 \ 0000023C 00005AE3 CMP R10,#+0 \ 00000240 01008302 ADDEQ R0,R3,#+1 \ 00000244 38018505 STREQ R0,[R5, #+312] \ ??OnKey_23: \ 00000248 0400A0E3 MOV R0,#+4 \ 0000024C 3C0185E5 STR R0,[R5, #+316] 296 if(moveclock)crd[clock][workdesctop-1].y++; \ 00000250 000052E3 CMP R2,#+0 \ 00000254 3400000A BEQ ??OnKey_3 \ 00000258 04009EE5 LDR R0,[LR, #+4] \ 0000025C 010080E2 ADD R0,R0,#+1 \ 00000260 F1FFFFEA B ??OnKey_21 297 break; 298 case '5': case ENTER_BUTTON: 299 StartFilePanel_w(); \ ??OnKey_24: \ 00000264 ........ BL StartFilePanel_w 300 if(startmenu)StartFileMenu(menu); \ 00000268 4C0195E5 LDR R0,[R5, #+332] \ 0000026C 000050E3 CMP R0,#+0 \ 00000270 0100000A BEQ ??OnKey_25 \ 00000274 480195E5 LDR R0,[R5, #+328] \ 00000278 ........ BL StartFileMenu 301 // StartFilePanel_h(); 302 // StartFilePusk(); 303 if(Cross_x>=121 && Cross_x<=128 && Cross_y>=130 && Cross_y<=143)workdesctop=1; \ ??OnKey_25: \ 0000027C 340195E5 LDR R0,[R5, #+308] \ 00000280 790050E3 CMP R0,#+121 \ 00000284 280000BA BLT ??OnKey_3 \ 00000288 810050E3 CMP R0,#+129 \ 0000028C 260000AA BGE ??OnKey_3 \ 00000290 380195E5 LDR R0,[R5, #+312] \ 00000294 820050E3 CMP R0,#+130 \ 00000298 010000BA BLT ??OnKey_26 \ 0000029C 900050E3 CMP R0,#+144 \ 000002A0 200000BA BLT ??OnKey_27 \ ??OnKey_26: \ 000002A4 900050E3 CMP R0,#+144 \ 000002A8 040000BA BLT ??OnKey_28 \ 000002AC 9E0050E3 CMP R0,#+158 \ 000002B0 020000AA BGE ??OnKey_28 304 else if(Cross_x>=121 && Cross_x<=128 && Cross_y>=144 && Cross_y<=157)workdesctop=2; \ 000002B4 0200A0E3 MOV R0,#+2 \ ??OnKey_29: \ 000002B8 240185E5 STR R0,[R5, #+292] \ 000002BC 1A0000EA B ??OnKey_3 \ ??OnKey_28: \ 000002C0 9E0050E3 CMP R0,#+158 \ 000002C4 180000BA BLT ??OnKey_3 \ 000002C8 AB0050E3 CMP R0,#+171 \ 000002CC 160000AA BGE ??OnKey_3 305 else if(Cross_x>=121 && Cross_x<=128 && Cross_y>=158 && Cross_y<=170)workdesctop=3; \ ??OnKey_30: \ 000002D0 248185E5 STR R8,[R5, #+292] \ 000002D4 140000EA B ??OnKey_3 306 break; 307 case '1'://vibra_count=1;start_vibra();//SetVibration(0); 308 if(Cross_x>=crd[clock][workdesctop-1].x && Cross_x<=crd[clock][workdesctop-1].x+20 309 && Cross_y>=crd[clock][workdesctop-1].y && Cross_y<=crd[clock][workdesctop-1].y+7) \ ??OnKey_31: \ 000002D8 00009EE5 LDR R0,[LR, #+0] \ 000002DC 000059E1 CMP R9,R0 \ 000002E0 140080A2 ADDGE R0,R0,#+20 \ 000002E4 090050A1 CMPGE R0,R9 \ 000002E8 04009EA5 LDRGE R0,[LR, #+4] \ 000002EC 000053A1 CMPGE R3,R0 \ 000002F0 070080A2 ADDGE R0,R0,#+7 \ 000002F4 030050A1 CMPGE R0,R3 \ 000002F8 0B0000BA BLT ??OnKey_3 310 moveclock=!moveclock; \ 000002FC 000052E3 CMP R2,#+0 \ 00000300 0040A013 MOVNE R4,#+0 \ 00000304 444185E5 STR R4,[R5, #+324] \ 00000308 070000EA B ??OnKey_3 311 break; 312 // case '7': if(Cross_y<172)Cross_y+=18;break; 313 // case '3':ShowBMmenu1();break; 314 case '7':if(workdesctop>1) workdesctop--; else workdesctop=3;break; \ ??OnKey_32: \ 0000030C 02005CE3 CMP R12,#+2 \ 00000310 EEFFFFBA BLT ??OnKey_30 \ 00000314 01004CE2 SUB R0,R12,#+1 \ 00000318 E6FFFFEA B ??OnKey_29 315 case '9':if(workdesctop<3) workdesctop++; else workdesctop=1;break; \ ??OnKey_33: \ 0000031C 03005CE3 CMP R12,#+3 \ 00000320 01008CB2 ADDLT R0,R12,#+1 \ 00000324 E3FFFFBA BLT ??OnKey_29 \ ??OnKey_27: \ 00000328 244185E5 STR R4,[R5, #+292] 316 } 317 } 318 if (msg->gbsmsg->msg==LONG_PRESS && !kdblock) \ ??OnKey_3: \ 0000032C 00009DE5 LDR R0,[SP, #+0] \ 00000330 9520A0E3 MOV R2,#+149 \ 00000334 040090E5 LDR R0,[R0, #+4] \ 00000338 402F82E3 ORR R2,R2,#0x100 \ 0000033C F210D0E1 LDRSH R1,[R0, #+2] \ 00000340 020051E1 CMP R1,R2 \ 00000344 40119505 LDREQ R1,[R5, #+320] \ 00000348 00005103 CMPEQ R1,#+0 \ 0000034C 8500001A BNE ??OnKey_34 319 { 320 switch(msg->gbsmsg->submess) \ 00000350 201195E5 LDR R1,[R5, #+288] \ 00000354 382195E5 LDR R2,[R5, #+312] \ 00000358 344195E5 LDR R4,[R5, #+308] \ 0000035C 040090E5 LDR R0,[R0, #+4] \ 00000360 48A195E5 LDR R10,[R5, #+328] \ 00000364 4CC195E5 LDR R12,[R5, #+332] \ 00000368 013042E0 SUB R3,R2,R1 \ 0000036C 017044E0 SUB R7,R4,R1 \ 00000370 028081E0 ADD R8,R1,R2 \ 00000374 049081E0 ADD R9,R1,R4 \ 00000378 310040E2 SUB R0,R0,#+49 \ 0000037C 0D0050E3 CMP R0,#+13 \ 00000380 7800008A BHI ??OnKey_34 \ 00000384 01BF8FE2 ADR R11,??OnKey_1 \ 00000388 00B0DBE7 LDRB R11,[R11, R0] \ 0000038C 0BF18FE0 ADD PC,PC,R11, LSL #+2 \ ??OnKey_1: \ 00000390 45285203 DC8 +69,+40,+82,+3 \ 00000394 75165D37 DC8 +117,+22,+93,+55 \ 00000398 68752837 DC8 +104,+117,+40,+55 \ 0000039C 03160000 DC8 +3,+22,+0,+0 321 { 322 323 case '4': case LEFT_BUTTON: 324 if(Cross_x>0&& (!startmenu))Cross_x-=speed_cur; \ ??OnKey_35: \ 000003A0 010054E3 CMP R4,#+1 \ 000003A4 020000BA BLT ??OnKey_36 \ 000003A8 00005CE3 CMP R12,#+0 \ 000003AC 34718505 STREQ R7,[R5, #+308] \ 000003B0 0200000A BEQ ??OnKey_37 325 if(startmenu)menu--;/*DrawCross(Cross_x+7,Cross_y,white);*/ \ ??OnKey_36: \ 000003B4 00005CE3 CMP R12,#+0 \ 000003B8 01004A12 SUBNE R0,R10,#+1 \ 000003BC 48018515 STRNE R0,[R5, #+328] 326 if(moveclock)crd[clock][workdesctop-1].x-=speed_cur; \ ??OnKey_37: \ 000003C0 440195E5 LDR R0,[R5, #+324] \ 000003C4 000050E3 CMP R0,#+0 \ 000003C8 F28FBD08 POPEQ {R1,R4-R11,PC} \ 000003CC 240195E5 LDR R0,[R5, #+292] \ 000003D0 0C20A0E3 MOV R2,#+12 \ 000003D4 925020E0 MLA R0,R2,R0,R5 \ 000003D8 000086E0 ADD R0,R6,R0 \ 000003DC 002090E5 LDR R2,[R0, #+0] \ 000003E0 011042E0 SUB R1,R2,R1 \ ??OnKey_38: \ 000003E4 001080E5 STR R1,[R0, #+0] \ 000003E8 580000EA B ??OnKey_39 327 break; 328 case '6': case RIGHT_BUTTON: 329 if(Cross_x<131&& (!startmenu)) Cross_x+=speed_cur; \ ??OnKey_40: \ 000003EC 830054E3 CMP R4,#+131 \ 000003F0 020000AA BGE ??OnKey_41 \ 000003F4 00005CE3 CMP R12,#+0 \ 000003F8 34918505 STREQ R9,[R5, #+308] \ 000003FC 0200000A BEQ ??OnKey_42 330 if(startmenu)menu++;/*DrawCross(Cross_x-7,Cross_y,white);*/ \ ??OnKey_41: \ 00000400 00005CE3 CMP R12,#+0 \ 00000404 01008A12 ADDNE R0,R10,#+1 \ 00000408 48018515 STRNE R0,[R5, #+328] 331 if(moveclock)crd[clock][workdesctop-1].x+=speed_cur; \ ??OnKey_42: \ 0000040C 440195E5 LDR R0,[R5, #+324] \ 00000410 000050E3 CMP R0,#+0 \ 00000414 F28FBD08 POPEQ {R1,R4-R11,PC} \ 00000418 240195E5 LDR R0,[R5, #+292] \ 0000041C 0C20A0E3 MOV R2,#+12 \ 00000420 925020E0 MLA R0,R2,R0,R5 \ 00000424 000086E0 ADD R0,R6,R0 \ 00000428 002090E5 LDR R2,[R0, #+0] \ 0000042C 021081E0 ADD R1,R1,R2 \ 00000430 EBFFFFEA B ??OnKey_38 332 break; 333 case '2': case UP_BUTTON: 334 if(Cross_y>0&& (!startmenu)) Cross_y-=speed_cur;/*DrawCross(Cross_x,Cross_y+7,white);*/ \ ??OnKey_43: \ 00000434 010052E3 CMP R2,#+1 \ 00000438 010000BA BLT ??OnKey_44 \ 0000043C 00005CE3 CMP R12,#+0 \ 00000440 38318505 STREQ R3,[R5, #+312] 335 if(moveclock)crd[clock][workdesctop-1].y-=speed_cur; \ ??OnKey_44: \ 00000444 440195E5 LDR R0,[R5, #+324] \ 00000448 000050E3 CMP R0,#+0 \ 0000044C F28FBD08 POPEQ {R1,R4-R11,PC} \ 00000450 240195E5 LDR R0,[R5, #+292] \ 00000454 0C20A0E3 MOV R2,#+12 \ 00000458 925020E0 MLA R0,R2,R0,R5 \ 0000045C 000086E0 ADD R0,R6,R0 \ 00000460 042090E5 LDR R2,[R0, #+4] \ 00000464 011042E0 SUB R1,R2,R1 \ ??OnKey_45: \ 00000468 041080E5 STR R1,[R0, #+4] \ 0000046C 370000EA B ??OnKey_39 336 break; 337 case '8': case DOWN_BUTTON: 338 if(Cross_y<175&& (!startmenu)) Cross_y+=speed_cur;/*DrawCross(Cross_x,Cross_y-7,white);*/ \ ??OnKey_46: \ 00000470 AF0052E3 CMP R2,#+175 \ 00000474 010000AA BGE ??OnKey_47 \ 00000478 00005CE3 CMP R12,#+0 \ 0000047C 38818505 STREQ R8,[R5, #+312] 339 if(moveclock)crd[clock][workdesctop-1].y+=speed_cur; \ ??OnKey_47: \ 00000480 440195E5 LDR R0,[R5, #+324] \ 00000484 000050E3 CMP R0,#+0 \ 00000488 F28FBD08 POPEQ {R1,R4-R11,PC} \ 0000048C 240195E5 LDR R0,[R5, #+292] \ 00000490 0C20A0E3 MOV R2,#+12 \ 00000494 925020E0 MLA R0,R2,R0,R5 \ 00000498 000086E0 ADD R0,R6,R0 \ 0000049C 042090E5 LDR R2,[R0, #+4] \ 000004A0 021081E0 ADD R1,R1,R2 \ 000004A4 EFFFFFEA B ??OnKey_45 340 break; 341 case '1': if(Cross_x>0 && Cross_y>0 && (!startmenu)){ Cross_x-=speed_cur;Cross_y-=speed_cur; } \ ??OnKey_48: \ 000004A8 010054E3 CMP R4,#+1 \ 000004AC 010052A3 CMPGE R2,#+1 \ 000004B0 030000BA BLT ??OnKey_49 \ 000004B4 00005CE3 CMP R12,#+0 \ 000004B8 34718505 STREQ R7,[R5, #+308] \ ??OnKey_50: \ 000004BC 383185E5 STR R3,[R5, #+312] \ 000004C0 220000EA B ??OnKey_39 342 else if (Cross_y>0)Cross_y-=speed_cur; \ ??OnKey_49: \ 000004C4 010052E3 CMP R2,#+1 \ 000004C8 FBFFFFAA BGE ??OnKey_50 343 else if (Cross_x>0)Cross_x-=speed_cur; break; \ ??OnKey_51: \ 000004CC 010054E3 CMP R4,#+1 \ 000004D0 240000BA BLT ??OnKey_34 \ 000004D4 347185E5 STR R7,[R5, #+308] \ 000004D8 1C0000EA B ??OnKey_39 344 case '3': if(Cross_x<131 && Cross_y>0&& (!startmenu)){ Cross_x+=speed_cur;Cross_y-=speed_cur;} \ ??OnKey_52: \ 000004DC 830054E3 CMP R4,#+131 \ 000004E0 050000AA BGE ??OnKey_53 \ 000004E4 010052E3 CMP R2,#+1 \ 000004E8 030000BA BLT ??OnKey_53 \ 000004EC 00005CE3 CMP R12,#+0 \ 000004F0 F1FFFF1A BNE ??OnKey_50 \ 000004F4 349185E5 STR R9,[R5, #+308] \ 000004F8 EFFFFFEA B ??OnKey_50 345 else if (Cross_y>0)Cross_y-=speed_cur; \ ??OnKey_53: \ 000004FC 010052E3 CMP R2,#+1 \ 00000500 EDFFFFAA BGE ??OnKey_50 346 else if (Cross_x<131)Cross_x+=speed_cur;break; \ 00000504 150000EA B ??OnKey_54 347 case '7': if(Cross_x>0 && Cross_y<175&& (!startmenu)){Cross_x-=speed_cur;Cross_y+=speed_cur;} \ ??OnKey_55: \ 00000508 010054E3 CMP R4,#+1 \ 0000050C 040000BA BLT ??OnKey_56 \ 00000510 AF0052E3 CMP R2,#+175 \ 00000514 020000AA BGE ??OnKey_56 \ 00000518 00005CE3 CMP R12,#+0 \ 0000051C 34718505 STREQ R7,[R5, #+308] \ ??OnKey_57: \ 00000520 090000EA B ??OnKey_58 348 else if (Cross_y<175)Cross_y+=speed_cur; \ ??OnKey_56: \ 00000524 AF0052E3 CMP R2,#+175 \ 00000528 E7FFFFAA BGE ??OnKey_51 \ 0000052C 060000EA B ??OnKey_58 \ ??OnKey_12: \ 00000530 30000000 DC8 "0",+0,+0 349 else if (Cross_x>0)Cross_x-=speed_cur;break; 350 case '9': if(Cross_x<131 && Cross_y<175&& (!startmenu)){Cross_x+=speed_cur;Cross_y+=speed_cur;} \ ??OnKey_59: \ 00000534 830054E3 CMP R4,#+131 \ 00000538 AF0052B3 CMPLT R2,#+175 \ 0000053C 050000AA BGE ??OnKey_60 \ 00000540 00005CE3 CMP R12,#+0 \ 00000544 0000001A BNE ??OnKey_58 \ 00000548 349185E5 STR R9,[R5, #+308] \ ??OnKey_58: \ 0000054C 388185E5 STR R8,[R5, #+312] \ ??OnKey_39: \ 00000550 0000A0E3 MOV R0,#+0 \ 00000554 F28FBDE8 POP {R1,R4-R11,PC} 351 else if (Cross_y<175)Cross_y+=speed_cur; \ ??OnKey_60: \ 00000558 AF0052E3 CMP R2,#+175 \ 0000055C FAFFFFBA BLT ??OnKey_58 352 else if (Cross_x<131)Cross_x+=speed_cur;break; \ ??OnKey_54: \ 00000560 830054E3 CMP R4,#+131 \ 00000564 349185B5 STRLT R9,[R5, #+308] 353 case ENTER_BUTTON: case '5':break; 354 355 } 356 357 } 358 return(0); \ ??OnKey_34: \ 00000568 0000A0E3 MOV R0,#+0 \ 0000056C F28FBDE8 POP {R1,R4-R11,PC} ;; return \ ??OnKey_4: \ 00000570 ........ DC32 `?` \ 00000574 ........ DC32 QuitCallbackProc 359 } 360 361 extern void kill_data(void *p, void (*func_p)(void *)); 362 \ In segment CODE, align 4, keep-with-next 363 int method8(void){return(0);} \ method8: \ 00000000 0000A0E3 MOV R0,#+0 \ 00000004 1EFF2FE1 BX LR ;; return \ In segment CODE, align 4, keep-with-next 364 int method9(void){return(0);} \ method9: \ 00000000 0000A0E3 MOV R0,#+0 \ 00000004 1EFF2FE1 BX LR ;; return 365 const void * const gui_methods[11]={ 366 (void *)OnRedraw, 367 (void *)onCreate, 368 (void *)onClose, 369 (void *)onFocus, 370 (void *)onUnfocus, 371 (void *)OnKey, 372 0, 373 (void *)kill_data, //Destroy 374 (void *)method8, 375 (void *)method9, 376 0 377 }; 378 \ In segment CODE, align 4, keep-with-next 379 void maincsm_oncreate(CSM_RAM *data) 380 { \ maincsm_oncreate: \ 00000000 70402DE9 PUSH {R4-R6,LR} \ 00000004 0040A0E1 MOV R4,R0 381 static const RECT Canvas={0,0,0,0}; 382 MAIN_GUI *main_gui=malloc(sizeof(MAIN_GUI)); \ 00000008 3C00A0E3 MOV R0,#+60 \ 0000000C 140000EF SWI +20 \ 00000010 0050A0E1 MOV R5,R0 383 MAIN_CSM*csm=(MAIN_CSM*)data; 384 zeromem(main_gui,sizeof(MAIN_GUI)); \ 00000014 3C10A0E3 MOV R1,#+60 \ 00000018 1D0100EF SWI +285 385 patch_rect((RECT*)&Canvas,0,YDISP,ScreenW()-1,ScreenH()-1); \ 0000001C 898100EF SWI +33161 \ 00000020 0060A0E1 MOV R6,R0 \ 00000024 888100EF SWI +33160 \ 00000028 48209FE5 LDR R2,??maincsm_oncreate_0 ;; ??Canvas \ 0000002C 011046E2 SUB R1,R6,#+1 \ 00000030 010040E2 SUB R0,R0,#+1 \ 00000034 0060A0E3 MOV R6,#+0 \ 00000038 006082E5 STR R6,[R2, #+0] \ 0000003C B400C2E1 STRH R0,[R2, #+4] \ 00000040 B610C2E1 STRH R1,[R2, #+6] 386 main_gui->gui.canvas=(void *)(&Canvas); \ 00000044 002085E5 STR R2,[R5, #+0] 387 main_gui->gui.flag30=2; \ 00000048 0200A0E3 MOV R0,#+2 \ 0000004C 2C0085E5 STR R0,[R5, #+44] 388 main_gui->gui.methods=(void *)gui_methods; \ 00000050 080082E2 ADD R0,R2,#+8 \ 00000054 040085E5 STR R0,[R5, #+4] 389 main_gui->gui.item_ll.data_mfree=(void (*)(void *))mfree_adr(); \ 00000058 158000EF SWI +32789 \ 0000005C 1C0085E5 STR R0,[R5, #+28] 390 csm->csm.state=0; \ 00000060 106084E5 STR R6,[R4, #+16] 391 csm->csm.unk1=0; \ 00000064 146084E5 STR R6,[R4, #+20] 392 csm->gui_id=CreateGUI(main_gui); \ 00000068 0500A0E1 MOV R0,R5 \ 0000006C 370100EF SWI +311 \ 00000070 280084E5 STR R0,[R4, #+40] 393 } \ 00000074 7080BDE8 POP {R4-R6,PC} ;; return \ ??maincsm_oncreate_0: \ 00000078 ........ DC32 ??Canvas \ In segment DATA_C, align 4, align-sorted \ ??Canvas: \ 00000000 000000000000 DC16 0, 0, 0, 0 \ 0000 \ gui_methods: \ 00000008 ............ DC32 OnRedraw, onCreate, onClose, onFocus, onUnfocus, OnKey, 0H \ ............ \ ............ \ ............ \ 00000000 \ 00000024 ............ DC32 kill_data, method8, method9, 0H \ ............ \ 00000000 394 \ In segment CODE, align 4, keep-with-next 395 void ElfKiller(void) 396 { \ ElfKiller: \ 00000000 00402DE9 PUSH {LR} 397 extern void kill_data(void *p, void (*func_p)(void *)); 398 extern void *ELF_BEGIN; 399 kill_data(&ELF_BEGIN,(void (*)(void *))mfree_adr()); \ 00000004 158000EF SWI +32789 \ 00000008 0010A0E1 MOV R1,R0 \ 0000000C 04009FE5 LDR R0,??ElfKiller_0 ;; ELF_BEGIN \ 00000010 0040BDE8 POP {LR} ;; Pop \ 00000014 ........ _BF kill_data,??kill_data??rA ;; tailcall \ ??ElfKiller_0: \ 00000018 ........ DC32 ELF_BEGIN 400 } 401 \ In segment CODE, align 4, keep-with-next 402 void maincsm_onclose(CSM_RAM *csm) 403 { \ maincsm_onclose: \ 00000000 10402DE9 PUSH {R4,LR} 404 GBS_DelTimer(&menu_tmr); \ 00000004 ........ LDR R4,??DataTable59 ;; crd \ 00000008 6F0F84E2 ADD R0,R4,#+444 \ 0000000C 8C0100EF SWI +396 405 GBS_DelTimer(&timer); \ 00000010 6B0F84E2 ADD R0,R4,#+428 \ 00000014 8C0100EF SWI +396 406 SUBPROC((void *)ElfKiller); \ 00000018 04009FE5 LDR R0,??maincsm_onclose_0 ;; ElfKiller \ 0000001C 710100EF SWI +369 407 } \ 00000020 1080BDE8 POP {R4,PC} ;; return \ ??maincsm_onclose_0: \ 00000024 ........ DC32 ElfKiller 408 \ In segment CODE, align 4, keep-with-next 409 int maincsm_onmessage(CSM_RAM *data, GBS_MSG *msg) 410 { 411 MAIN_CSM *csm=(MAIN_CSM*)data; 412 if ((msg->msg==MSG_GUI_DESTROYED)&&((int)msg->data0==csm->gui_id)) \ maincsm_onmessage: \ 00000000 F220D1E1 LDRSH R2,[R1, #+2] \ 00000004 980052E3 CMP R2,#+152 \ 00000008 0400001A BNE ??maincsm_onmessage_0 \ 0000000C 081091E5 LDR R1,[R1, #+8] \ 00000010 282090E5 LDR R2,[R0, #+40] \ 00000014 020051E1 CMP R1,R2 413 { 414 csm->csm.state=-3; \ 00000018 0210E003 MVNEQ R1,#+2 \ 0000001C 10108005 STREQ R1,[R0, #+16] 415 } 416 return(1); \ ??maincsm_onmessage_0: \ 00000020 0100A0E3 MOV R0,#+1 \ 00000024 1EFF2FE1 BX LR ;; return 417 } 418 419 const struct 420 { 421 CSM_DESC maincsm; 422 WSHDR maincsm_name; \ In segment DATA_C, align 4, align-sorted 423 }MAINCSM = \ MAINCSM: \ 00000000 ............ DC32 maincsm_onmessage, maincsm_oncreate, maincsm_onclose, 44, 1 \ ............ \ 2C0000000100 \ 0000 \ 00000014 ............ DC32 minus11, maincsm_name_body, 55AACCCCH, 3333AA55H, 0 \ ....CCCCAA55 \ 55AA33330000 \ 0000 \ 00000028 8B00 DC16 139 \ 0000002A 0000 DC8 0, 0 424 { 425 { 426 maincsm_onmessage, 427 maincsm_oncreate, 428 #ifdef NEWSGOLD 429 0, 430 0, 431 0, 432 0, 433 #endif 434 maincsm_onclose, 435 sizeof(MAIN_CSM), 436 1, 437 &minus11 438 }, 439 { 440 maincsm_name_body, 441 NAMECSM_MAGIC1, 442 NAMECSM_MAGIC2, 443 0x0, 444 139 445 } 446 }; 447 \ In segment CODE, align 4, keep-with-next 448 void UpdateCSMname(void) 449 { 450 wsprintf((WSHDR *)(&MAINCSM.maincsm_name),"exe"); \ UpdateCSMname: \ 00000000 10009FE5 LDR R0,??UpdateCSMname_0+0x4 ;; MAINCSM + 24 \ 00000004 00402DE9 PUSH {LR} \ 00000008 011F8FE2 ADR R1,??UpdateCSMname_0 ;; "exe" \ 0000000C 240100EF SWI +292 451 } \ 00000010 0080BDE8 POP {PC} ;; return \ ??UpdateCSMname_0: \ 00000014 65786500 DC8 "exe" \ 00000018 ........ DC32 MAINCSM + 24 452 453 \ In segment CODE, align 4, keep-with-next 454 int main(char *exename, char *fname) 455 { \ main: \ 00000000 00402DE9 PUSH {LR} \ 00000004 2CD04DE2 SUB SP,SP,#+44 456 LockSched(); \ 00000008 460100EF SWI +326 457 UpdateCSMname();//обновляем имя для хтаска \ 0000000C ........ BL UpdateCSMname 458 MAIN_CSM main_csm; 459 CreateCSM(&MAINCSM.maincsm,&main_csm,0);//создаем цсм \ 00000010 18009FE5 LDR R0,??main_0 ;; MAINCSM \ 00000014 0020A0E3 MOV R2,#+0 \ 00000018 0D10A0E1 MOV R1,SP \ 0000001C 070100EF SWI +263 460 UnlockSched(); \ 00000020 470100EF SWI +327 461 462 LoadAllConfig(); 463 return 0; \ 00000024 0000A0E3 MOV R0,#+0 \ 00000028 2CD08DE2 ADD SP,SP,#+44 \ 0000002C 0080BDE8 POP {PC} ;; return \ ??main_0: \ 00000030 ........ DC32 MAINCSM 464 } \ In segment CODE, align 4, keep-with-next \ ??DataTable2: \ 00000000 398EE338 DC32 0x38e38e39 \ In segment CODE, align 4, keep-with-next \ ??DataTable5: \ 00000000 D34D6210 DC32 0x10624dd3 \ In segment CODE, align 4, keep-with-next \ ??DataTable6: \ 00000000 ........ DC32 per_d \ In segment CODE, align 4, keep-with-next \ ??DataTable14: \ 00000000 ........ DC32 name + 576 \ In segment CODE, align 4, keep-with-next \ ??DataTable15: \ 00000000 ........ DC32 crd \ In segment CODE, align 4, keep-with-next \ ??DataTable16: \ 00000000 ........ DC32 name \ In segment CODE, align 4, keep-with-next \ ??DataTable22: \ 00000000 ........ DC32 mnu \ In segment CODE, align 4, keep-with-next \ ??DataTable26: \ 00000000 ........ DC32 de \ In segment CODE, align 4, keep-with-next \ ??DataTable27: \ 00000000 ........ DC32 `?` \ In segment CODE, align 4, keep-with-next \ ??DataTable31: \ 00000000 ........ DC32 `?` \ In segment CODE, align 4, keep-with-next \ ??DataTable32: \ 00000000 ........ DC32 per_d \ In segment CODE, align 4, keep-with-next \ ??DataTable33: \ 00000000 ........ DC32 crd \ In segment CODE, align 4, keep-with-next \ ??DataTable38: \ 00000000 ........ DC32 name \ In segment CODE, align 4, keep-with-next \ ??DataTable40: \ 00000000 ........ DC32 `?` \ In segment CODE, align 4, keep-with-next \ ??DataTable41: \ 00000000 ........ DC32 crd \ In segment CODE, align 4, keep-with-next \ ??DataTable44: \ 00000000 ........ DC32 mnu \ In segment CODE, align 4, keep-with-next \ ??DataTable49: \ 00000000 ........ DC32 fltop \ In segment CODE, align 4, keep-with-next \ ??DataTable50: \ 00000000 ........ DC32 back \ In segment CODE, align 4, keep-with-next \ ??DataTable51: \ 00000000 ........ DC32 crd \ In segment CODE, align 4, keep-with-next \ ??DataTable57: \ 00000000 ........ DC32 name + 576 \ In segment CODE, align 4, keep-with-next \ ??DataTable58: \ 00000000 ........ DC32 crd \ In segment CODE, align 4, keep-with-next \ ??DataTable59: \ 00000000 ........ DC32 crd \ In segment DATA_ID, align 4, align-sorted \ `?`: \ 00000000 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000010 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000020 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000030 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000040 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000050 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000060 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000070 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000080 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000090 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 000000A0 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 000000B0 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 000000C0 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 000000D0 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 000000E0 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 000000F0 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ `?`: \ 000000FC 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 0000010C 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 000000000000 \ 0000 \ `?`: \ 00000120 00000000 DC8 0, 0, 0, 0 \ `?`: \ 00000124 02000000 DC32 2 \ `?`: \ 00000128 00000000 DC32 0 \ `?`: \ 0000012C 00000000 DC32 0 \ `?`: \ 00000130 9D000000 DC32 157 \ `?`: \ 00000134 32000000 DC32 50 \ `?`: \ 00000138 32000000 DC32 50 \ `?`: \ 0000013C 00000000 DC32 0 \ `?`: \ 00000140 00000000 DC32 0 \ `?`: \ 00000144 00000000 DC32 0 \ `?`: \ 00000148 01000000 DC32 1 \ `?`: \ 0000014C 00000000 DC32 0 \ `?`: \ 00000150 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000160 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 000000000000 \ 0000 \ `?`: \ 00000174 14000000 DC32 20 \ `?`: \ 00000178 78000000 DC32 120 \ `?`: \ 0000017C 02000000 DC32 2 \ `?`: \ 00000180 28000000 DC32 40 \ `?`: \ 00000184 8C000000 DC32 140 \ `?`: \ 00000188 00000000 DC8 0, 0, 0, 0 \ `?`: \ 0000018C 00000000 DC32 0 \ `?`: \ 00000190 32000000 DC32 50 \ `?`: \ 00000194 00000000 DC32 0 \ `?`: \ 00000198 00000000 DC32 0 \ `?`: \ 0000019C 257300 DC8 "%s" \ 0000019F 00 DC8 0 \ `?`: \ 000001A0 FFFFFF60 DC8 255, 255, 255, 96 \ `?`: \ 000001A4 FF000060 DC8 255, 0, 0, 96 \ `?`: \ 000001A8 00000000 DC8 0, 0, 0, 0 \ `?`: \ 000001AC 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ `?`: \ 000001BC 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ `?`: \ 000001CC 25730A25730A DC8 "%s\012%s\012%s\012%s\012%s\012%s" \ 25730A25730A \ 25730A257300 \ 000001DE 0000 DC8 0, 0 \ In segment DATA_ID, align 4, align-sorted \ `?`: \ 00000000 00000060 DC8 0, 0, 0, 96 \ In segment DATA_ID, align 1, align-sorted \ `?`: \ 00000000 256400 DC8 "%d" \ In segment DATA_ID, align 1, align-sorted \ `?`: \ 00000000 257400 DC8 "%t" \ In segment DATA_ID, align 1, align-sorted \ `?`: \ 00000000 257400 DC8 "%t" \ In segment DATA_ID, align 4, align-sorted \ `?`: \ 00000000 000000000100 DC32 0, 1, 2 \ 000002000000 \ In segment DATA_ID, align 4, align-sorted \ `?`: \ 00000000 01000000 DC16 1, 0 \ 00000004 ........ DC32 `?` \ 00000008 18000000 DC16 24, 0 \ 0000000C ........ DC32 `?` \ 00000010 3D000000 DC16 61, 0 \ 00000014 ........ DC32 `?` \ In segment DATA_ID, align 4, align-sorted \ `?`: \ 00000000 ........0100 DC32 fmenu_sk, 1 \ 0000 \ In segment DATA_ID, align 4, align-sorted \ `?`: \ 00000000 000000000000 DC16 0, 0, 0, 0 \ 0000 \ 00000008 00000000.... DC32 0H, header, 32767 \ ....FF7F0000 \ `?`: \ 00000014 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000024 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000034 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000044 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000054 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000064 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000074 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ 00000084 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ `?`: \ 00000094 08000000.... DC32 8, filelist_menu_onkey, filelist_menu_ghook, 0H, fmenusoftkeys \ ............ \ 00000000.... \ .... \ 000000A8 ........1000 DC32 fmenu_skt, 16, filelist_menu_iconhndl, 0H, 0H, 0 \ 0000........ \ 000000000000 \ 000000000000 \ In segment DATA_ID, align 4, align-sorted \ `?`: \ 00000000 01000000 DC32 1 \ `?`: \ 00000004 000000000000 DC8 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 \ 000000000000 \ 00000000 \ In segment DATA_C, align 4, align-sorted \ 00000000 323A5C00 DC8 "2:\\" \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 63736D3A2569 DC8 "csm:%i" \ 00 \ 00000007 00 DC8 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 256325303264 DC8 "%c%02d:%02d:%02d" \ 3A253032643A \ 2530326400 \ 00000011 000000 DC8 0, 0, 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 25642C256456 DC8 "%d,%dV" \ 00 \ 00000007 00 DC8 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 2564252500 DC8 "%d%%" \ 00000005 000000 DC8 0, 0, 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 256325646462 DC8 "%c%ddb" \ 00 \ 00000007 00 DC8 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4E554C4C2070 DC8 "NULL pointer function!" \ 6F696E746572 \ 2066756E6374 \ 696F6E2100 \ 00000017 00 DC8 0 \ In segment DATA_C, align 1, align-sorted \ `?`: \ 00000000 2B00 DC8 "+" \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 436C6F736500 DC8 "Close" \ 00000006 0000 DC8 0, 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 303A5C736865 DC8 "0:\\shell\\img\\784.png" \ 6C6C5C696D67 \ 5C3738342E70 \ 6E6700 \ 00000015 000000 DC8 0, 0, 0 \ 00000018 4B6579426F61 DC8 "KeyBoard Lock" \ 7264204C6F63 \ 6B00 \ 00000026 0000 DC8 0, 0 \ 00000028 303A5C736865 DC8 "0:\\shell\\img\\785.png" \ 6C6C5C696D67 \ 5C3738352E70 \ 6E6700 \ 0000003D 000000 DC8 0, 0, 0 \ 00000040 303A5C736865 DC8 "0:\\shell\\img\\792.png" \ 6C6C5C696D67 \ 5C3739322E70 \ 6E6700 \ 00000055 000000 DC8 0, 0, 0 \ 00000058 303A5C736865 DC8 "0:\\shell\\img\\779.png" \ 6C6C5C696D67 \ 5C3737392E70 \ 6E6700 \ 0000006D 000000 DC8 0, 0, 0 \ In segment DATA_C, align 1, align-sorted \ 00000000 3A00 DC8 ":" \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 457869743F00 DC8 "Exit?" \ 00000006 0000 DC8 0, 0 \ 00000008 4B696C6C6564 DC8 "Killed" \ 00 \ 0000000F 00 DC8 0 \ In segment DATA_C, align 1, align-sorted \ 00000000 3000 DC8 "0" \ In segment DATA_C, align 1, align-sorted \ 00000000 2A00 DC8 "*" \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 526F6F7400 DC8 "Root" \ 00000005 000000 DC8 0, 0, 0 \ In segment DATA_C, align 4, align-sorted \ 00000000 343A5C00 DC8 "4:\\" \ In segment DATA_C, align 4, align-sorted \ 00000000 65786500 DC8 "exe" \ In segment DATA_C, align 4, align-sorted \ 00000000 313A5C00 DC8 "1:\\" \ In segment DATA_C, align 4, align-sorted \ 00000000 303A5C00 DC8 "0:\\" \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 CEF8E8E1EAE0 DC8 "\316\370\350\341\352\340" \ 00 \ 00000007 00 DC8 0 \ In segment DATA_C, align 1, align-sorted \ 00000000 5C00 DC8 "\\" \ In segment DATA_C, align 1, align-sorted \ 00000000 00 DC8 "" \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 53656C656374 DC8 "Select" \ 00 \ 00000007 00 DC8 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 4170706C6963 DC8 "Applications: %d kb" \ 6174696F6E73 \ 3A202564206B \ 6200 \ 00000014 D1EEF1F2EEFF DC8 "\321\356\361\362\356\377\355\350\345 \357\340\354\377\362\350:\012\304\356\361\362\363\357\355\356: %d kb\012\321\342\356\341\356\344\355\356: %d kb" \ EDE8E520EFE0 \ ECFFF2E83A0A \ C4EEF1F2F3EF \ EDEE3A202564 \ 206B620AD1E2 \ EEE1EEE4EDEE \ 3A202564206B \ 6200 \ 00000046 0000 DC8 0, 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 303A5C7A6269 DC8 "0:\\zbin\\mc\\mc.elf" \ 6E5C6D635C6D \ 632E656C6600 \ 00000012 0000 DC8 0, 0 \ 00000014 464C53485F46 DC8 "FLSH_FLEXPLORER" \ 4C4558504C4F \ 52455200 \ 00000024 303A5C7A6269 DC8 "0:\\zbin\\naticq\\naticq.elf" \ 6E5C6E617469 \ 63715C6E6174 \ 6963712E656C \ 6600 \ 0000003E 0000 DC8 0, 0 \ 00000040 454C53455F44 DC8 "ELSE_DEVELP_MNU" \ 4556454C505F \ 4D4E5500 \ 00000050 4F52475A5F43 DC8 "ORGZ_CALENDERMV" \ 414C454E4445 \ 524D5600 \ 00000060 303A5C7A6269 DC8 "0:\\zbin\\utilities\\CfgEdit.elf" \ 6E5C7574696C \ 69746965735C \ 436667456469 \ 742E656C6600 \ 0000007E 0000 DC8 0, 0 \ In segment DATA_C, align 1, align-sorted \ 00000000 256400 DC8 "%d" \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 5C2A2E2A00 DC8 "\\*.*" \ 00000005 000000 DC8 0, 0, 0 \ In segment DATA_C, align 4, align-sorted \ `?`: \ 00000000 303A5C736865 DC8 "0:\\shell\\img\\cursor.png" \ 6C6C5C696D67 \ 5C637572736F \ 722E706E6700 Maximum stack usage in bytes: Function CSTACK -------- ------ AddToFList 20 BG1 8 BG3 8 CreateRootMenu 4 DrawBG 40 DrawBar 0 DrawBattCap 40 DrawBattExt 12 DrawBattStd 12 DrawBattVolt 40 DrawClock 64 DrawContur_h 24 DrawContur_w 24 DrawCross 48 DrawDialogs 44 DrawFreeMamory 84 DrawFreeRam 40 DrawIconBar 12 DrawLineCross 24 DrawMenu 52 DrawName 40 DrawNameContr 4 DrawNameMenu 32 DrawNetAdv 48 DrawNetDb 40 DrawNetExt 24 DrawNetStd 12 DrawPanel_h 40 DrawPanel_w 44 DrawPusk 80 DrawStrChar 40 DrawStrInt 40 DrawSysBar 0 DrawWorkDesc 8 ElfKiller 4 FindFLISTtByN 8 FindFLISTtByNS 0 FindFiles 840 FindSizeInSubDir 272 Free_FLIST 16 GetFListN 0 GetFoldersLevel 0 LoadAllConfig 0 LoadParamsConfig 10020 LoadParamsCrd 10032 LoadParamsMENU 32 LoadParamsPanel 36 OnKey 40 OnRedraw 8 QuitCallbackProc 0 SaveNameMENU 0 SaveNamePanel 0 SaveParamsConfig 10024 SavePath 4 SizeDir 272 StartFileMenu 4 StartFilePanel_h 12 StartFilePanel_w 16 StartFilePusk 4 TimerProc 4 UpdateCSMname 4 atoi 0 filelist_menu_ghook 12 filelist_menu_iconhndl 28 filelist_menu_onkey 16 main 48 maincsm_onclose 8 maincsm_oncreate 16 maincsm_onmessage 0 method8 0 method9 0 onClose 0 onCreate 0 onFocus 4 onUnfocus 0 open_fm 36 process 4 processmenu 4 shortcut 4 start 12 start_vibra 4 stop_vibra 4 strcmp_nocase 0 Segment part sizes: Function/Label Bytes -------------- ----- descmenu 10048 mnu 7236 name 5220 NumOfItems 4 NumOfItems2 4 DrawMamory 4 Pusk 4 IMG1 512 IMG5 128 IMG6 128 MENU1_s 128 MENU2_s 128 MENU3_s 128 MENU4_s 128 MENU5_s 128 MENU6_s 128 MENU1_b 128 MENU2_b 128 MENU3_b 128 MENU4_b 128 MENU5_b 128 MENU6_b 128 bg3img 128 img_x 4 start 64 shortcut 52 mytmr 16 TimerProc 36 DrawBG 192 DrawNetAdv 196 DrawNetStd 60 DrawNetDb 160 DrawNetExt 232 DrawBattStd 64 DrawBattExt 64 DrawBattCap 136 DrawBattVolt 220 DrawClock 188 DrawBar 4 DrawDialogs 172 DrawFreeRam 144 DrawCross 200 DrawLineCross 168 DrawName 192 DrawContur_w 72 DrawContur_h 68 DrawPanel_w 324 DrawPanel_h 256 DrawNameContr 336 StartFilePanel_w 344 StartFilePanel_h 280 DrawMenu 364 DrawNameMenu 136 StartFileMenu 92 de 444 FindSizeInSubDir 152 SizeDir 196 DrawFreeMamory 536 DrawPusk 936 StartFilePusk 180 DrawStrInt 128 DrawStrChar 132 DrawWorkDesc 256 DrawSysBar 4 ? 300 ? 44 ? 72 ? 40 atoi 68 LoadParamsCrd 660 process 128 SaveNamePanel 52 LoadParamsPanel 316 LoadParamsConfig 176 SaveParamsConfig 188 processmenu 160 SaveNameMENU 56 LoadParamsMENU 300 LoadAllConfig 4 size 4 fltop 4 Free_FLIST 84 back 12 GetFListN 32 GetFoldersLevel 52 ??strcmp_nocase_0 48 AddToFList 168 FindFiles 344 FindFLISTtByNS 68 FindFLISTtByN 52 SavePath 8 filelist_menu_onkey 256 filelist_menu_ghook 40 filelist_menu_iconhndl 192 CreateRootMenu 112 open_fm 208 minus11 4 maincsm_name_body 280 MAINGUI_ID 4 fl 192 start_vibra 52 stop_vibra 60 DrawIconBar 140 BG1 316 BG3 368 OnRedraw 464 onCreate 12 onClose 12 onFocus 20 onUnfocus 20 crd 480 black 4 per_d 3 per_t 3 _percent_t 3 fmenusoftkeys 12 fmenu_sk 24 fmenu_skt 8 filelist_HDR 192 vibra_count 20 QuitCallbackProc 24 OnKey 1400 method8 8 method9 8 maincsm_oncreate 124 Canvas 52 ElfKiller 28 maincsm_onclose 40 maincsm_onmessage 40 MAINCSM 44 UpdateCSMname 28 main 52 ??DataTable2 4 ??DataTable5 4 ??DataTable6 4 ??DataTable14 4 ??DataTable15 4 ??DataTable16 4 ??DataTable22 4 ??DataTable26 4 ??DataTable27 4 ??DataTable31 4 ??DataTable32 4 ??DataTable33 4 ??DataTable38 4 ??DataTable40 4 ??DataTable41 4 ??DataTable44 4 ??DataTable49 4 ??DataTable50 4 ??DataTable51 4 ??DataTable57 4 ??DataTable58 4 ??DataTable59 4 ? 480 ? 4 ? 3 ? 3 ? 3 ? 12 ? 24 ? 8 ? 192 ? 20 ? 4 ? 8 ? 20 ? 8 ? 8 ? 8 ? 24 ? 2 ? 8 ? 112 ? 2 ? 16 ? 2 ? 2 ? 8 ? 4 ? 4 ? 4 ? 4 ? 8 ? 2 ? 1 ? 8 ? 72 ? 128 ? 3 ? 8 ? 24 Others 380 14 768 bytes in segment CODE 3 502 bytes in segment DATA_C 749 bytes in segment DATA_I 749 bytes in segment DATA_ID 23 468 bytes in segment DATA_Z 24 bytes in segment INITTAB 14 412 bytes of CODE memory (+ 380 bytes shared) 4 251 bytes of CONST memory 24 217 bytes of DATA memory Errors: none Warnings: none