Home » Archimedes archive » Micro User » MU 1991-03.adf » PD-Stuff » Utilities/Clocks/!IconClock/ModMaker
Utilities/Clocks/!IconClock/ModMaker
This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.
Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.
Tape/disk: | Home » Archimedes archive » Micro User » MU 1991-03.adf » PD-Stuff |
Filename: | Utilities/Clocks/!IconClock/ModMaker |
Read OK: | ✔ |
File size: | 9D82 bytes |
Load address: | 0000 |
Exec address: | 0000 |
File contents
� > ModMaker 2codelen% = 8*1024 : � 8K (� code% codelen% 2 <� flags Fv_flag = 1 << 28 P Z � misc d stack_length = 24 noptions_variable_length = 3 x work_space_length = 88 �!iconbar_menu_length = 124 � time_format_menu_length = 76 �!clockface_menu_length = 100 � �� defaults �time_format_default = 1 �clockface_default = 0 � �%� offsets within rma and rma size �'task_handle = 0 �5word = task_handle + 4 �.icon_handle = word + 4 �5info_window_handle = icon_handle + 4 <pollidle_time = info_window_handle + 4 7time_format = pollidle_time + 4 5clockface = time_format + 1 "5old_clockface = time_format + 2 ,5time_block = time_format + 3 65rma_icon_validation = time_format + 8 @=sprite_name = rma_icon_validation + 1 J>rma_icon_validation_last_letter = rma_icon_validation + 10 T>rma_icon_text = rma_icon_validation + 12 ^7poll_space = rma_icon_text + 8 h6work_space = poll_space + 256 rDrma_iconbar_menu = work_space + work_space_length |Lrma_time_format_menu = rma_iconbar_menu + iconbar_menu_length �Srma_clockface_menu = rma_time_format_menu +time_format_menu_length �Pstack_start = rma_clockface_menu + clockface_menu_length �@stack = stack_start + stack_length �+rma_size = stack � �� opt%=12 � 14 � 2 �P%=0 �O%=code% �L%=code%+codelen% �[ � opt opt% � �S; ----------------------------------------------------------------------------- ; Module header equd start & equd 0 0 equd final : equd service D equd title N equd help X equd command b? equd 0 ; no swis supported l equd 0 v equd 0 � equd 0 � � .title �" equs "IconClock"+�0 � .help � equs "Icon Clock" � equb 9 �* equs "1.00 ("+��$,5,11)+")" � equb 0 � align � �S; ----------------------------------------------------------------------------- �; Module command table .command .startcom * equs "Desktop_IconClock"+�0 * align 4- equd desktop_iconclock_command >; equd 0 ; no parameters H, equd desktop_iconclock_syntax R* equd desktop_iconclock_help \ equd 0 f.desktop_iconclock_help p@ equs "The Icon Clock utility displays a clock on" z equb 27 �5 equb 2 ; " the " � equs "iconbar." � equb 13 � equb 10 �" equs "Do not use *" � equb 27 �A equb 0 ; "Desktop_IconClock" �- equs ", use *Desktop instead." � equb 0 �.desktop_iconclock_syntax � equb 27 �I equb 1 ; "Syntax *Desktop_IconClock" � equb 0 align S; ----------------------------------------------------------------------------- $; Module service code . 8.service B? cmp r1,#&49 ; service_startwimp L% beq service_startwimp VA cmp r1,#&4a ; service_startedwimp `' beq service_startedwimp j; cmpne r1,#&27 ; service_reset t< movnes pc,r14 ; exit unclaimed ~ �S; ----------------------------------------------------------------------------- �R; The service reset has arrived so the machine has been. Reset our task handle �(; to zero so that we can start again � � stmfd r13!,{14} � mov r14,#0 �* str r14,[r12,#task_handle] � ldmfd r13!,{pc} � �S; ----------------------------------------------------------------------------- �R; The service startedwimp has arrived so the wimp has started up. If we failed �?; during startup reset task handle so that we can try again .service_startedwimp stmfd r13!,{14} * ldr r14,[r12,#task_handle] (H cmp r14,#0 ; did we fail during startup 2 movlt r14,#0 <F strlt r14,[r12,#task_handle] ; if so, reset failed flag F ldmfd r13!,{pc} P ZS; ----------------------------------------------------------------------------- dP; The wimp wants any application modules to start themselves up. This means n:; us. We tell the wimp to issue a *Desktop_IconClock x �.service_startwimp �$ stmfd r13!,{r2-r4,r14} � ldr r14,[r12] � cmp r14,#0 �P ldmnefd r13!,{r2-r4,pc} ; could not start or already started �: ; ok so ignore �= mov r0,#6 ; Claim workspace � mov r3,#rma_size � swi "XOS_Module" �S mvnvs r2,#0 ; -1 to prevent claim of call next time � str r2,[r12] �# ldmvsfd r13!,{r2-r4,pc} �D str r12,[r2,#word] ; store our private word G adr r0,startcom ; r0 -> our startup command P ; the wimp will execute this command ; mov r1,#0 ; claim service "E str r1,[r2,#task_handle] ; not started as Task yet ,# ldmfd r13!,{r2-r4,pc} 6 @S; ----------------------------------------------------------------------------- J; Module finalisation code T ^ .final h" stmfd r13!,{r0-r6,r14} r ldr r12,[r12] | cmp r12,#0 �P blgt closedown ; shut down if not already shut down �! ldmfd r13!,{r0-r6,pc} � �S; ----------------------------------------------------------------------------- �I; *Desktop_IconClock has been executed. Cause an error if not by wimp � �.desktop_iconclock_command � stmfd r13!,{r14} � ldr r14,[r12] � cmp r14,#0 � ble bad_start �* ldr r14,[r14,#task_handle] �J teq r14,#0 ; if not 0 then not a *DESKTOP @ moveq r2,r0 ; r2 -> command tail = adreq r1,title ; r1 -> our title moveq r0,#2 &? swieq "XOS_Module" ; enter us at start 0.bad_start : ldmfd r13!,{r14} D! adr r0,starterror N" orrs pc,r14,#v_flag X.starterror b equd 0 l6 equs "Use *Desktop to start Icon Clock" v equb 0 � align � �S; ----------------------------------------------------------------------------- �4; Module start code called by *Desktop_IconClock � � .start �+ bl see_if_in_desktop_world � ldr r12,[r12] � cmp r12,#0 �! adrle r0,starterror �& swile "OS_GenerateError" �" add r13,r12,#stack �) ldr r0,[r12,#task_handle] cmp r0,#0 ldrgt r1,task M swigt "XWimp_CloseDown" ; have been reentered so shutdown ldr r1,task *B mov r0,#200 ; last known wimp 2.00 4@ adr r2,switcher_name ; r2 -> "Icon Clock" >& swi "XWimp_Initialise" H mvnvs r1,#0 R) str r1,[r12,#task_handle] \! bvs startup_error f) bl read_options_variable p bl create_icon z& bl create_info_window �0 bl work_out_first_pollidle_time �) add r2,r12,#pollidle_time � b poll_first � �.see_if_in_desktop_world � mov r0,#0 �' swi "XWimp_ReadSysInfo" �& swivs "OS_GenerateError" �K teq r0,#0 ; see how many apps are running �B adreq r0,starterror ; none so report error �& swieq "OS_GenerateError" �= mov r0,#6 ; Claim workspace � mov r3,#rma_size swi "XOS_Module" & swivs "OS_GenerateError" str r2,[r12] $D str r12,[r2,#word] ; store our private word . mov pc,r14 8 BS; ----------------------------------------------------------------------------- LN; report an error using Wimp_ReportError, set could not start up flag then V; closedown `; entry j; r0 -> error block t ; exit ~; doesn't � �.startup_error �& add r1,r12,#poll_space � ldr r2,[r0],#4 � str r2,[r1],#4 �, adr r2,startup_error_message �.startup_error_loop1 � ldrb r3,[r2],#1 � cmp r3,#0 � strneb r3,[r1],#1 �' bne startup_error_loop1 �.startup_error_loop2 ldrb r3,[r0],#1 cmp r3,#0 strneb r3,[r1],#1 ' bne startup_error_loop2 (.startup_error_loop3 2 ldrb r3,[r2],#1 < strb r3,[r1],#1 F cmp r3,#0 P' bne startup_error_loop3 Z& add r0,r12,#poll_space d9 mov r1,#2 ; cancel only n bl report_error x bl closedown � mvn r0,#0 �I str r0,[r12] ; set could not start up flag � swi "OS_Exit" �.startup_error_message �7 equs "Icon Clock could not startup ("+�0 �4 equs ") and must exit immediately"+�0 � align � �S; ----------------------------------------------------------------------------- �R; read the options variable. Report and error if invalid and then use defaults �7; if undefined use defaults but do not report error � �.read_options_variable stmfd r13!,{r14} , adr r0,options_variable_name & add r1,r12,#work_space "F mvn r2,#0 ; check for existence only ,8 mov r3,#0 ; first call 6 mov r4,#3 @$ swi "XOS_ReadVarVal" JD teq r2,#0 ; see if variable exists T* beq options_variable_unset ^, adr r0,options_variable_name h/ mov r2,#options_variable_length r8 mov r3,#0 ; first call | mov r4,#3 �$ swi "XOS_ReadVarVal" �, bvs options_variable_invalid �/ teq r2,#options_variable_length �, bne options_variable_invalid �" mov r2,#�" " << 16 � ldrb r0,[r1] � add r2,r2,r0 � ldrb r0,[r1,#1] �# add r2,r2,r0,lsl #8 � ldr r0,twelve � teq r0,r2 � moveq r0,#0 �) streqb r0,[r12,#time_format] # beq check_clockface " ldr r0,twenty_four teq r0,r2 &, bne options_variable_invalid 0 mov r0,#1 :) strb r0,[r12,#time_format] D.check_clockface N ldrb r0,[r1,#2] X= bic r0,r0,#1 << 5 ; make upper case b teq r0,#�"R" l teqne r0,#�"L" v teqne r0,#�"B" �, bne options_variable_invalid � cmp r0,#�"L" � movlt r0,#2 � moveq r0,#1 � movgt r0,#0 �' strb r0,[r12,#clockface] � ldmfd r13!,{pc} �.options_variable_invalid �5 adr r0,options_variable_invalid_error �# bl report_error_ok �.options_variable_unset �+ mov r0,#time_format_default �) strb r0,[r12,#time_format] ) mov r0,#clockface_default ' strb r0,[r12,#clockface] ( bl set_options_variable ldmfd r13!,{pc} *#.options_variable_invalid_error 4 equd 0 >F equs "Options variable (IconClock$Options) is invalid." H: equs " Using the default setting of 24R"+�0 R align \.options_variable_name f* equs "IconClock$Options"+�0 pppgn z.twelve � equs "12 "+�0 �.twenty_four � equs "24 "+�0 � �S; ----------------------------------------------------------------------------- �; set the options variable � �.set_options_variable � stmfd r13!,{r14} �& add r1,r12,#work_space �) ldrb r0,[r12,#time_format] � teq r0,#0 � ldreq r0,twelve " ldrne r0,twenty_four str r0,[r1] ' ldrb r0,[r12,#clockface] $ cmp r0,#1 . movlt r0,#�"R" 8 moveq r0,#�"L" B movgt r0,#�"B" L strb r0,[r1,#2] V, adr r0,options_variable_name `/ mov r2,#options_variable_length j8 mov r3,#0 ; first call t< mov r4,#0 ; type is string ~# swi "XOS_SetVarVal" �# blvs report_error_ok � ldmfd r13!,{pc} � �S; ----------------------------------------------------------------------------- �'; information used by task start up � � .task � equs "TASK" �.switcher_name �& equs "Iconbar Clock"+�0 ���gn � S; ----------------------------------------------------------------------------- ; Put icon on iconbar .create_icon ( stmfd r13!,{r14} 2 bl read_time <& adr r0,icon_validation F* adr r1,end_icon_validation P/ add r2,r12,#rma_icon_validation Z bl copy d* bl setup_icon_sprite_name n' add r2,r12,#sprite_name x, bl check_sprite_in_wimppool �! bvs startup_error �# adr r0,iconbar_icon �' adr r1,end_iconbar_icon �& add r2,r12,#poll_space � bl copy �& add r1,r12,#poll_space �/ add r0,r12,#rma_icon_validation �? str r0,[r1,#put_icon_validation - iconbar_icon] �) add r0,r12,#rma_icon_text �9 str r0,[r1,#put_icon_text - iconbar_icon] �& swi "XWimp_CreateIcon" � bvs fatal_error �) str r0,[r12,#icon_handle] ldmfd r13!,{pc} S; ----------------------------------------------------------------------------- "!; definition for iconbar icon , 6.iconbar_icon @H equd -1 ; right hand side of iconbar J equd 0 T equd 0 ^ equd 112 h equd 68 rH equd 1+2+(1 << 3)+(1 << 4)+(1 << 8)+(3 << 12)+(&17 << 24) |@ ; text + sprite icon �Q ; centred horizontally and vertically �.put_icon_text � equd 0 �.put_icon_validation � equd 0 � equd 6 �.end_iconbar_icon �.icon_validation �$ equs "S!iconclock"+�0 �.end_icon_validation ���gn � �S; ----------------------------------------------------------------------------- M; work out number of seconds until minutes change and use this to get the 8; value of OS_MonotonicTime to give to Wimp_PollIdle &!.work_out_first_pollidle_time 0& add r0,r12,#time_block :& add r1,r12,#work_space D< mov r2,#3 ; size of buffer N# adr r3,seconds_only X, swi "XOS_ConvertDateAndTime" b bvs fatal_error lJ ; r0 -> ascii value of seconds vH ; r1 not needed as no buffer �Q mov r2,#0 ; no buffer as result will be integer �, swi "XOS_EvaluateExpression" � bvs fatal_error �D ; r2 = number of seconds �L rsb r2,r2,#60 ; r2 = number of seconds to next �> ; change of minute �+ swi "XOS_ReadMonotonicTime" � bvs fatal_error � mov r1,#100 �P mla r0,r2,r1,r0 ; r0 = time to use for first call to �; ; Wimp_PollIdle �+ str r0,[r12,#pollidle_time] � mov pc,r14 .seconds_only equs "%se"+�0 gn *S; ----------------------------------------------------------------------------- 40; set the name of the sprite for the iconbar > H.setup_icon_sprite_name R' ldrb r0,[r12,#clockface] \ add r0,r0,#�"1" f= strb r0,[r12,#rma_icon_validation_last_letter] p mov pc,r14 z �.sixty_seconds � equd 60*100 � �S; ----------------------------------------------------------------------------- �/; check a sprite is in the wimp sprite pool � ; exit �(; v set on if sprite not found �*; r0 -> error block if not found � �.check_sprite_in_wimppool � stmfd r13!,{r0-r6} �> mov r0,#40 ; read sprite info �$ swi "XWimp_SpriteOp" ldmvcfd r13!,{r0-r6} H movvc pc,r14 ; return if sprite was found & add r0,r12,#work_space $ mov r1,#0 . str r1,[r0],#4 8) adr r1,csiw_error_message B.csiw_error_loop1 L ldrb r2,[r1],#1 V teq r2,#0 ` strneb r2,[r0],#1 j$ bne csiw_error_loop1 t' add r3,r12,#sprite_name ~.csiw_error_loop2 � ldrb r2,[r3],#1 � teq r2,#0 � strneb r2,[r0],#1 �$ bne csiw_error_loop2 �.csiw_error_loop3 � ldrb r2,[r1],#1 � strb r2,[r0],#1 � teq r2,#0 �$ bne csiw_error_loop3 � ldmfd r13!,{r0-r6} �& add r0,r12,#work_space �? orrs pc,r14,#v_flag ; return with v set .csiw_error_message $ equs "The sprite "+�0 M equs " must be in the wimp sprite pool. See the !Help file"+�0 gn ( 2S; ----------------------------------------------------------------------------- <; Copy a block of memory F; entry P ; r0 -> start of block Z ; r1 -> end of block+1 d"; r2 -> where to copy to n; exits x; r0,r2,r3 corrupted � � .copy � ldrb r3,[r0],#1 � strb r3,[r2],#1 � cmp r0,r1 � blt copy � mov pc,r14 � �S; ----------------------------------------------------------------------------- �; wimp poll loop � � .poll �+ swi "XOS_ReadMonotonicTime" bvs fatal_error + ldr r2,[r12,#pollidle_time] I ldr r3,sixty_seconds ; 60 seconds in centi-seconds ".set_pollidle_time_loop , cmp r0,r2 6 addge r2,r2,r3 @* bge set_pollidle_time_loop J+ str r2,[r12,#pollidle_time] T.poll_first ^K mov r0,#%10110000 ; disallow as many reason codes h9 add r0,r0,#%11000 << 8 ; as possible r& add r1,r12,#poll_space |$ swi "XWimp_PollIdle" � bvs fatal_error � mov r3,r0 �+ swi "XOS_ReadMonotonicTime" � bvs fatal_error �+ ldr r2,[r12,#pollidle_time] � cmp r0,r2 � blge update_time � mov r0,r3 � cmp r0,#1 �! beq redraw_window � teq r0,#2 � beq open_window � teq r0,#3 beq close_window teq r0,#6 beq mouse_click & teq r0,#9 0 beq menu_select : teq r0,#17 D teqne r0,#18 N beq message X b poll b lS; ----------------------------------------------------------------------------- v; update the clock � �.update_time � stmfd r13!,{r14} � bl read_time � ldmfd r13!,{r14} �.redisplay_sprite �& add r1,r12,#work_space �: mvn r0,#0 ; r0 = iconbar � str r0,[r1] �) ldr r0,[r12,#icon_handle] � str r0,[r1,#4] �G mov r0,#0 ; don't change flags at all �4 str r0,[r1,#8] ; � word 8 str r0,[r1,#12] ; clear word ( swi "XWimp_SetIconState" bvs fatal_error mov pc,r14 * 4S; ----------------------------------------------------------------------------- >N; redraw window request has been sent. This can only be for display window H R.redraw_window \( swi "XWimp_RedrawWindow" f bvs fatal_error p b poll z �S; ----------------------------------------------------------------------------- �'; open window request has been sent � �.open_window �& swi "XWimp_OpenWindow" � bvs fatal_error � b poll � �S; ----------------------------------------------------------------------------- �(; close window request has been sent � �.close_window �' swi "XWimp_CloseWindow" bvs fatal_error b poll $S; ----------------------------------------------------------------------------- .; a mouse click has occured 8 B.mouse_click L@ ldr r0,[r1,#12] ; r0 = window handle V< cmn r0,#2 ; see if iconbar `K bne poll ; poll if not, can this happen? j> ldr r0,[r1,#16] ; r0 = icon handle t) ldr r2,[r12,#icon_handle] ~9 teq r0,r2 ; see if ours �K bne poll ; poll if not, can this happen? �? ldr r0,[r1,#8] ; r0 = button state �N tst r0,#2 ; see if 'menu' button was pressed �9 beq poll ; poll if not � �S; ----------------------------------------------------------------------------- �9; a click with 'menu' has occured on our iconbar icon � �.open_iconbar_menu �# adr r0,iconbar_menu �) adr r1,end_clockface_menu �, add r2,r12,#rma_iconbar_menu bl copy , add r1,r12,#rma_iconbar_menu 0 ldr r0,[r12,#info_window_handle] B str r0,[r1,#put_info_window_handle - iconbar_menu] (0 add r0,r12,#rma_time_format_menu 2@ str r0,[r1,#put_time_format_menu - iconbar_menu] <. add r0,r12,#rma_clockface_menu F> str r0,[r1,#put_clockface_menu - iconbar_menu] P) ldrb r3,[r12,#time_format] ZH teq r3,#0 ; see which format we are in d9 ldreq r4,[r1,#hour_12_flags - iconbar_menu] n orreq r4,r4,#1 x9 streq r4,[r1,#hour_12_flags - iconbar_menu] �9 ldrne r4,[r1,#hour_24_flags - iconbar_menu] � orrne r4,r4,#1 �9 strne r4,[r1,#hour_24_flags - iconbar_menu] � �' ldrb r3,[r12,#clockface] �H cmp r3,#1 ; see which format we are in �8 ldrlt r4,[r1,#raised_flags - iconbar_menu] � orrlt r4,r4,#1 �8 strlt r4,[r1,#raised_flags - iconbar_menu] �9 ldreq r4,[r1,#lowered_flags - iconbar_menu] � orreq r4,r4,#1 �9 streq r4,[r1,#lowered_flags - iconbar_menu] �8 ldrgt r4,[r1,#border_flags - iconbar_menu] orrgt r4,r4,#1 8 strgt r4,[r1,#border_flags - iconbar_menu] "' adr r2,clockface_raised ,, bl check_sprite_in_wimppool 6= ldrvs r4,[r1,#raised_icon_flags - iconbar_menu] @" orrvs r4,r4,#1 << 22 J= strvs r4,[r1,#raised_icon_flags - iconbar_menu] T( adr r2,clockface_lowered ^, bl check_sprite_in_wimppool h> ldrvs r4,[r1,#lowered_icon_flags - iconbar_menu] r" orrvs r4,r4,#1 << 22 |> strvs r4,[r1,#lowered_icon_flags - iconbar_menu] �' adr r2,clockface_border �, bl check_sprite_in_wimppool �= ldrvs r4,[r1,#border_icon_flags - iconbar_menu] �" orrvs r4,r4,#1 << 22 �= strvs r4,[r1,#border_icon_flags - iconbar_menu] � �N ldr r2,[r12,#poll_space] ; r2 = x coordinate of mouse click �D sub r2,r2,#64 ; as in acorn guidelines � mov r3,#96+44*4 �& swi "XWimp_CreateMenu" � bvs fatal_error �D b poll ; return to polling loop � .clockface_raised # equs "!iconcloc1"+�0 .clockface_lowered &# equs "!iconcloc2"+�0 0.clockface_border :# equs "!iconcloc3"+�0 DDDgn N XS; ----------------------------------------------------------------------------- b!; definition for iconbar menu l v.iconbar_menu � �string("IconClock") � equb 7 � equb 2 � equb 7 � equb 0 � equd 9*16+12 � equd 44 � equd 0 �; ; start entry 1 � equd 0 �.put_info_window_handle �= equd -1 ; filled in later �( equd 1+(1 << 5)+(7 << 24) �string("Info") ; ; start entry 2 equd 0 .put_time_format_menu *= equd -1 ; filled in later 4( equd 1+(1 << 5)+(7 << 24) > �string("Format") H; ; start entry 3 R equd 0 \.put_clockface_menu f= equd -1 ; filled in later p( equd 1+(1 << 5)+(7 << 24) z �string("Clockface") �; ; start entry 3 �8 equd &80 ; last entry �? equd -1 ; no submenu/window �( equd 1+(1 << 5)+(7 << 24) � �string("Quit") �.end_iconbar_menu � �S; ----------------------------------------------------------------------------- �; time format submenu � �.time_format_menu � �string("Format") � equb 7 equb 2 equb 7 equb 0 $ equd 7*16+12 . equd 44 8 equd 0 B; ; start entry 1 L.hour_12_flags V equd 0 `? equd -1 ; no submenu/window j( equd 1+(1 << 5)+(7 << 24) t �string("12 Hour") ~; ; start entry 2 �.hour_24_flags �8 equd &80 ; last entry �? equd -1 ; no submenu/window �( equd 1+(1 << 5)+(7 << 24) � �string("24 Hour") �.end_time_format_menu � �S; ----------------------------------------------------------------------------- �; clockface submenu � �.clockface_menu � �string("Clockface") equb 7 equb 2 equb 7 equb 0 ( equd 9*16 2 equd 44 < equd 0 F; ; start entry 1 P.raised_flags Z equd 0 d? equd -1 ; no submenu/window n.raised_icon_flags x( equd 1+(1 << 5)+(7 << 24) � �string("Raised") �; ; start entry 2 �.lowered_flags � equd 0 �? equd -1 ; no submenu/window �.lowered_icon_flags �( equd 1+(1 << 5)+(7 << 24) � �string("Lowered") �; ; start entry 3 �.border_flags �8 equd &80 ; last entry �? equd -1 ; no submenu/window �.border_icon_flags ( equd 1+(1 << 5)+(7 << 24) �string("Border") .end_clockface_menu " ,S; ----------------------------------------------------------------------------- 6$; a menu entry has been selected @ J.menu_select TF ldr r0,[r1] ; r0 = menu entry selected ^F teq r0,#0 ; see if info was selected h? beq see_if_reopen ; was so do nothing rC cmp r0,#2 ; see what was selected |? bgt closedown_and_exit ; quit so closedown �N blt format_selected ; format or sub-entry was selected �Q ; clockface or sub-entry was selected �J ldr r0,[r1,#4] ; r0 = second depth menu entry �G cmp r0,#0 ; see if entry was selected �< blt see_if_reopen ; wasn't so skip �' ldrb r1,[r12,#clockface] �+ strb r1,[r12,#old_clockface] �D strb r0,[r12,#clockface] ; store new clock format �* bl setup_icon_sprite_name �' add r2,r12,#sprite_name �, bl check_sprite_in_wimppool � bvc sprite_found �# bl report_error_ok + ldrb r1,[r12,#old_clockface] ' strb r1,[r12,#clockface] * bl setup_icon_sprite_name & b poll 0.sprite_found :K bl set_options_variable ; then set the options variable D$ bl redisplay_sprite N! b see_if_reopen X.format_selected bJ ldr r0,[r1,#4] ; r0 = second depth menu entry lG cmp r0,#0 ; see if entry was selected v< blt see_if_reopen ; wasn't so skip �D strb r0,[r12,#time_format] ; store new clock format �K bl set_options_variable ; then set the options variable �J bl update_time ; and finally update the clock �.see_if_reopen �& add r1,r12,#work_space �* swi "XWimp_GetPointerInfo" � bvs fatal_error �> ldr r0,[r1,#8] ; get button state �G tst r0,#1 ; see if adjust was clicked �9 beq poll ; poll if not �9 b open_iconbar_menu ; reopen menu � �S; ----------------------------------------------------------------------------- !1; the nice wimp manager has sent us a message ! !.message ! A ldr r0,[r1,#16] ; r0 = message action !*A teq r0,#0 ; see if quit message !49 bne poll ; if not poll !> !HS; ----------------------------------------------------------------------------- !R; closedown and exit !\ !f.closedown_and_exit !p bl closedown !z swi "OS_Exit" !� !�S; ----------------------------------------------------------------------------- !�M; either we could not start up, the user wants us to closedown or we have !�$; had a module finalisation call !� !�.closedown !� mov r6,r14 !�) ldr r0,[r12,#task_handle] !�G cmp r0,#0 ; are we running as a task? !� ldrgt r1,task !�> swigt "XWimp_CloseDown" ; close down if so !� mov r2,r12 !�A ldr r12,[r12,#word] ; r12 -> private word " mov r0,#0 "? str r0,[r12] ; zero private word " mov r0,#7 "$? swi "XOS_Module" ; release workspace ". mov pc,r6 "8 "BS; ----------------------------------------------------------------------------- "L; read the real time "V "`.read_time "j& add r1,r12,#time_block "tM mov r0,#3 ; read real-time in 5 byte format "~ strb r0,[r1] "�M mov r0,#14 ; read real-time in 5 byte format "� swi "XOS_Word" "� bvs fatal_error "�> mov r0,r1 ; r0 -> time block "�) add r1,r12,#rma_icon_text "�< mov r2,#6 ; size of buffer "�) ldrb r3,[r12,#time_format] "�Q teq r3,#0 ; see which clock format we are using "�% adreq r3,time_format_12 "�% adrne r3,time_format_24 "�, swi "XOS_ConvertDateAndTime" "� bvs fatal_error # mov pc,r14 # #.time_format_12 # equs "%12:%MI"+�0 #(.time_format_24 #2 equs "%24:%MI"+�0 #<<<gn #F #PS; ----------------------------------------------------------------------------- #Z@; report a fatal error using Wimp_ReportError then closedown #d; entry #n; r0 -> error block #x ; exit #�; doesn't #� #�.fatal_error #�& add r1,r12,#poll_space #� ldr r2,[r0],#4 #� str r2,[r1],#4 #�* adr r2,fatal_error_message #�.fatal_error_loop1 #� ldrb r3,[r2],#1 #� teq r3,#0 #� strneb r3,[r1],#1 #�% bne fatal_error_loop1 #�.fatal_error_loop2 $ ldrb r3,[r0],#1 $ teq r3,#0 $ strneb r3,[r1],#1 $"% bne fatal_error_loop2 $,.fatal_error_loop3 $6 ldrb r3,[r2],#1 $@ strb r3,[r1],#1 $J teq r3,#0 $T% bne fatal_error_loop3 $^& add r0,r12,#poll_space $h= mov r1,#2 ; cancel box only $r bl report_error $|& b closedown_and_exit $�.fatal_error_message $�L equs "Iconbar Clock has suffered a fatal internal error ("+�0 $�4 equs ") and must exit immediately"+�0 $���gn $� $�S; ----------------------------------------------------------------------------- $�,; report an error using Wimp_ReportError $�=; if enter at report_error_ok only an OK box is displayed $�; entry $�; r0 -> error block $�(; r1 = flags for error window $�=; bit 0 set ==> provide 'OK' box in error window $�1; bit 1 set ==> provide 'Cancel' box %N; bit 2 set ==> highlight 'Cancel' box (otherwise highlight 'OK') %R; bit 3 set ==> don't wait for confirmation if this is a 'text' error %D; bit 4 set ==> omit 'Error from ' message in title bar %&P; bit 5 set ==> return with R1=0 immediately if buttons not clicked %0?; the error window is also left open %:Q; bit 6 set ==> select OK/Cancel depending on R1, close error window %D.; bits 7..31 reserved (must be 0) %N ; exit %X; r1 = return status %b+; 1 ==> 'OK' was selected %l/; 2 ==> 'Cancel' was selected %v; flags preserved %� %�.report_error_ok %�9 mov r1,#1 ; OK box only %�.report_error %�! stmfd r13!,{r2,r14} %�) adr r2,switcher_name+&400 %�@ sub r2,r2,#&400 ; r2 -> "Icon Clock" %�; swi "XWimp_ReportError" ; ignore errors %�< ldmfd r13!,{r2,pc}^ ; preserve flags %� %�S; ----------------------------------------------------------------------------- %�; create the info window %� &.create_info_window & stmfd r13!,{r14} &" adr r0,info_window & & adr r1,end_info_window &*& add r2,r12,#poll_space &4 bl copy &>& add r1,r12,#poll_space &H# adr r0,window_title &R; str r0,[r1,#put_window_title - info_window] &\ adr r0,name &f3 str r0,[r1,#put_name - info_window] &p adr r0,purpose &z6 str r0,[r1,#put_purpose - info_window] &� adr r0,author &�5 str r0,[r1,#put_author - info_window] &� adr r0,version &�6 str r0,[r1,#put_version - info_window] &�( swi "XWimp_CreateWindow" &� bvs fatal_error &�0 str r0,[r12,#info_window_handle] &� ldmfd r13!,{pc} &� &�S; ----------------------------------------------------------------------------- &�#; information about info window &� &�.window_title '+ equs "About this program"+�0 '.end_window_title 'gn '$ .name '.# equs "Icon Clock"+�0 '8 .end_name 'BBBgn 'L.purpose 'V4 equs "Display time on the iconbar"+�0 '`.end_purpose 'jjjgn 't.author '~- equs "pmf@uk.ac.warwick.cs"+�0 '�.end_author '���gn '�.version '� equs "1.00 (" '� equs ��$,5,2) '� equs "-" '� equs ��$,8,3) '� equs "-" '� equs ��$,14,2) '� equs ")"+�0 '�.end_version '���gn ( ( .info_window ( equd 0 ( equd 0 (( equd 636 (2 equd 216 (< equd 0 (F equd 0 (P equd -1 (Z9 equd (1 << 31)+(1 << 26)+(1 << 4)+(1 << 1) (d equb 7 (n equb 2 (x equb 7 (� equb 1 (� equd 0 (� equd 0 (� equd -216 (� equd 636 (� equd 0 (�0 equd (1 << 8)+(1 << 4)+(1 << 3)+1 (� equd 0 (� equd 0 (� equd 0 (�.put_window_title (� equd window_title (� equd -1 )1 equd end_window_title-window_title ) equd 8 ) equd 58 )" equd -48 ), equd 154 )6 equd -8 )@3 equd (&17 << 24)+(1 << 4)+(1 << 3)+1 )J �string("Name") )T equd 14 )^ equd -100 )h equd 154 )r equd -60 )|3 equd (&17 << 24)+(1 << 4)+(1 << 3)+1 )� �string("Purpose") )� equd 30 )� equd -152 )� equd 154 )� equd -112 )�3 equd (&17 << 24)+(1 << 4)+(1 << 3)+1 )� �string("Author") )� equd 14 )� equd -200 )� equd 154 )� equd -160 )�3 equd (&17 << 24)+(1 << 4)+(1 << 3)+1 )� �string("Version") * equd 154 * equd -52 * equd 630 *& equd -4 *0L equd (7 << 24)+(1 << 8)+(1 << 5)+(1 << 4)+(1 << 3)+(1 << 2)+1 *: .put_name *D equd name *N equd -1 *X! equd end_name-name *b equd 154 *l equd -104 *v equd 630 *� equd -56 *�L equd (7 << 24)+(1 << 8)+(1 << 5)+(1 << 4)+(1 << 3)+(1 << 2)+1 *�.put_purpose *� equd purpose *� equd -1 *�' equd end_purpose-purpose *� equd 154 *� equd -156 *� equd 630 *� equd -108 *�L equd (7 << 24)+(1 << 8)+(1 << 5)+(1 << 4)+(1 << 3)+(1 << 2)+1 *�.put_author *� equd author + equd -1 +% equd end_author-author + equd 154 + equd -208 +* equd 630 +4 equd -160 +>L equd (7 << 24)+(1 << 8)+(1 << 5)+(1 << 4)+(1 << 3)+(1 << 2)+1 +H.put_version +R equd version +\ equd -1 +f' equd end_version-version +p.end_info_window +z] +� � opt% +�*� ~O%-code%;" = ";(O%-code%)/1024;" K" +�(� "Save IconClock "+�~code%+" "+�~O% +�*SetType IconClock Module +�*Key 1 Load ModMaker|M +�*Key 2 TWINO8|M +�*Key 3 SAVE|MRUN|M +�(*Key 4 *RMLoad IconClock|M*Desktop|M +�$*Key 5 *Show IconClock$Options|M +�!*Key 6 *Set IconClock$Options +�� +� +�� �string(text$) ,=� �(text$)>12 � � 0,text$+" is longer than 12 characters" ,[ opt opt% , equs text$ ,$] ,.� �(text$)<12 � ,8[ opt opt% ,B$ equs �12-�(text$),�0) ,L] ,V� ,`=0 �
00000000 0d 00 0a 10 f4 20 3e 20 4d 6f 64 4d 61 6b 65 72 |..... > ModMaker| 00000010 0d 00 14 04 0d 00 1e 32 63 6f 64 65 6c 65 6e 25 |.......2codelen%| 00000020 20 20 3d 20 38 2a 31 30 32 34 20 20 20 20 20 20 | = 8*1024 | 00000030 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000040 3a 20 f4 20 38 4b 0d 00 28 14 de 20 63 6f 64 65 |: . 8K..(.. code| 00000050 25 20 63 6f 64 65 6c 65 6e 25 0d 00 32 04 0d 00 |% codelen%..2...| 00000060 3c 0b f4 20 66 6c 61 67 73 0d 00 46 14 76 5f 66 |<.. flags..F.v_f| 00000070 6c 61 67 20 3d 20 31 20 3c 3c 20 32 38 0d 00 50 |lag = 1 << 28..P| 00000080 04 0d 00 5a 0a f4 20 6d 69 73 63 0d 00 64 20 73 |...Z.. misc..d s| 00000090 74 61 63 6b 5f 6c 65 6e 67 74 68 20 20 20 20 20 |tack_length | 000000a0 20 20 20 20 20 20 20 3d 20 32 34 0d 00 6e 1f 6f | = 24..n.o| 000000b0 70 74 69 6f 6e 73 5f 76 61 72 69 61 62 6c 65 5f |ptions_variable_| 000000c0 6c 65 6e 67 74 68 20 3d 20 33 0d 00 78 20 77 6f |length = 3..x wo| 000000d0 72 6b 5f 73 70 61 63 65 5f 6c 65 6e 67 74 68 20 |rk_space_length | 000000e0 20 20 20 20 20 20 3d 20 38 38 0d 00 82 21 69 63 | = 88...!ic| 000000f0 6f 6e 62 61 72 5f 6d 65 6e 75 5f 6c 65 6e 67 74 |onbar_menu_lengt| 00000100 68 20 20 20 20 20 3d 20 31 32 34 0d 00 8c 20 74 |h = 124... t| 00000110 69 6d 65 5f 66 6f 72 6d 61 74 5f 6d 65 6e 75 5f |ime_format_menu_| 00000120 6c 65 6e 67 74 68 20 3d 20 37 36 0d 00 96 21 63 |length = 76...!c| 00000130 6c 6f 63 6b 66 61 63 65 5f 6d 65 6e 75 5f 6c 65 |lockface_menu_le| 00000140 6e 67 74 68 20 20 20 3d 20 31 30 30 0d 00 a0 04 |ngth = 100....| 00000150 0d 00 aa 0e f4 20 64 65 66 61 75 6c 74 73 0d 00 |..... defaults..| 00000160 b4 1b 74 69 6d 65 5f 66 6f 72 6d 61 74 5f 64 65 |..time_format_de| 00000170 66 61 75 6c 74 20 3d 20 31 0d 00 be 1b 63 6c 6f |fault = 1....clo| 00000180 63 6b 66 61 63 65 5f 64 65 66 61 75 6c 74 20 20 |ckface_default | 00000190 20 3d 20 30 0d 00 c8 04 0d 00 d2 25 f4 20 6f 66 | = 0.......%. of| 000001a0 66 73 65 74 73 20 77 69 74 68 69 6e 20 72 6d 61 |fsets within rma| 000001b0 20 61 6e 64 20 72 6d 61 20 73 69 7a 65 0d 00 dc | and rma size...| 000001c0 27 74 61 73 6b 5f 68 61 6e 64 6c 65 20 20 20 20 |'task_handle | 000001d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000001e0 20 3d 20 30 0d 00 e6 35 77 6f 72 64 20 20 20 20 | = 0...5word | 000001f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000200 20 20 20 20 20 20 20 20 3d 20 74 61 73 6b 5f 68 | = task_h| 00000210 61 6e 64 6c 65 20 2b 20 34 0d 00 f0 2e 69 63 6f |andle + 4....ico| 00000220 6e 5f 68 61 6e 64 6c 65 20 20 20 20 20 20 20 20 |n_handle | 00000230 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 77 | = w| 00000240 6f 72 64 20 2b 20 34 0d 00 fa 35 69 6e 66 6f 5f |ord + 4...5info_| 00000250 77 69 6e 64 6f 77 5f 68 61 6e 64 6c 65 20 20 20 |window_handle | 00000260 20 20 20 20 20 20 20 20 20 20 20 3d 20 69 63 6f | = ico| 00000270 6e 5f 68 61 6e 64 6c 65 20 2b 20 34 0d 01 04 3c |n_handle + 4...<| 00000280 70 6f 6c 6c 69 64 6c 65 5f 74 69 6d 65 20 20 20 |pollidle_time | 00000290 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000002a0 3d 20 69 6e 66 6f 5f 77 69 6e 64 6f 77 5f 68 61 |= info_window_ha| 000002b0 6e 64 6c 65 20 2b 20 34 0d 01 0e 37 74 69 6d 65 |ndle + 4...7time| 000002c0 5f 66 6f 72 6d 61 74 20 20 20 20 20 20 20 20 20 |_format | 000002d0 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 70 6f | = po| 000002e0 6c 6c 69 64 6c 65 5f 74 69 6d 65 20 2b 20 34 0d |llidle_time + 4.| 000002f0 01 18 35 63 6c 6f 63 6b 66 61 63 65 20 20 20 20 |..5clockface | 00000300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000310 20 20 20 3d 20 74 69 6d 65 5f 66 6f 72 6d 61 74 | = time_format| 00000320 20 2b 20 31 0d 01 22 35 6f 6c 64 5f 63 6c 6f 63 | + 1.."5old_cloc| 00000330 6b 66 61 63 65 20 20 20 20 20 20 20 20 20 20 20 |kface | 00000340 20 20 20 20 20 20 20 20 3d 20 74 69 6d 65 5f 66 | = time_f| 00000350 6f 72 6d 61 74 20 2b 20 32 0d 01 2c 35 74 69 6d |ormat + 2..,5tim| 00000360 65 5f 62 6c 6f 63 6b 20 20 20 20 20 20 20 20 20 |e_block | 00000370 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 74 | = t| 00000380 69 6d 65 5f 66 6f 72 6d 61 74 20 2b 20 33 0d 01 |ime_format + 3..| 00000390 36 35 72 6d 61 5f 69 63 6f 6e 5f 76 61 6c 69 64 |65rma_icon_valid| 000003a0 61 74 69 6f 6e 20 20 20 20 20 20 20 20 20 20 20 |ation | 000003b0 20 20 3d 20 74 69 6d 65 5f 66 6f 72 6d 61 74 20 | = time_format | 000003c0 2b 20 38 0d 01 40 3d 73 70 72 69 74 65 5f 6e 61 |+ 8..@=sprite_na| 000003d0 6d 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |me | 000003e0 20 20 20 20 20 20 20 3d 20 72 6d 61 5f 69 63 6f | = rma_ico| 000003f0 6e 5f 76 61 6c 69 64 61 74 69 6f 6e 20 2b 20 31 |n_validation + 1| 00000400 0d 01 4a 3e 72 6d 61 5f 69 63 6f 6e 5f 76 61 6c |..J>rma_icon_val| 00000410 69 64 61 74 69 6f 6e 5f 6c 61 73 74 5f 6c 65 74 |idation_last_let| 00000420 74 65 72 20 3d 20 72 6d 61 5f 69 63 6f 6e 5f 76 |ter = rma_icon_v| 00000430 61 6c 69 64 61 74 69 6f 6e 20 2b 20 31 30 0d 01 |alidation + 10..| 00000440 54 3e 72 6d 61 5f 69 63 6f 6e 5f 74 65 78 74 20 |T>rma_icon_text | 00000450 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000460 20 20 3d 20 72 6d 61 5f 69 63 6f 6e 5f 76 61 6c | = rma_icon_val| 00000470 69 64 61 74 69 6f 6e 20 2b 20 31 32 0d 01 5e 37 |idation + 12..^7| 00000480 70 6f 6c 6c 5f 73 70 61 63 65 20 20 20 20 20 20 |poll_space | 00000490 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000004a0 3d 20 72 6d 61 5f 69 63 6f 6e 5f 74 65 78 74 20 |= rma_icon_text | 000004b0 2b 20 38 0d 01 68 36 77 6f 72 6b 5f 73 70 61 63 |+ 8..h6work_spac| 000004c0 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |e | 000004d0 20 20 20 20 20 20 20 3d 20 70 6f 6c 6c 5f 73 70 | = poll_sp| 000004e0 61 63 65 20 2b 20 32 35 36 0d 01 72 44 72 6d 61 |ace + 256..rDrma| 000004f0 5f 69 63 6f 6e 62 61 72 5f 6d 65 6e 75 20 20 20 |_iconbar_menu | 00000500 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 77 | = w| 00000510 6f 72 6b 5f 73 70 61 63 65 20 2b 20 77 6f 72 6b |ork_space + work| 00000520 5f 73 70 61 63 65 5f 6c 65 6e 67 74 68 0d 01 7c |_space_length..|| 00000530 4c 72 6d 61 5f 74 69 6d 65 5f 66 6f 72 6d 61 74 |Lrma_time_format| 00000540 5f 6d 65 6e 75 20 20 20 20 20 20 20 20 20 20 20 |_menu | 00000550 20 3d 20 72 6d 61 5f 69 63 6f 6e 62 61 72 5f 6d | = rma_iconbar_m| 00000560 65 6e 75 20 2b 20 69 63 6f 6e 62 61 72 5f 6d 65 |enu + iconbar_me| 00000570 6e 75 5f 6c 65 6e 67 74 68 0d 01 86 53 72 6d 61 |nu_length...Srma| 00000580 5f 63 6c 6f 63 6b 66 61 63 65 5f 6d 65 6e 75 20 |_clockface_menu | 00000590 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 72 | = r| 000005a0 6d 61 5f 74 69 6d 65 5f 66 6f 72 6d 61 74 5f 6d |ma_time_format_m| 000005b0 65 6e 75 20 2b 74 69 6d 65 5f 66 6f 72 6d 61 74 |enu +time_format| 000005c0 5f 6d 65 6e 75 5f 6c 65 6e 67 74 68 0d 01 90 50 |_menu_length...P| 000005d0 73 74 61 63 6b 5f 73 74 61 72 74 20 20 20 20 20 |stack_start | 000005e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000005f0 3d 20 72 6d 61 5f 63 6c 6f 63 6b 66 61 63 65 5f |= rma_clockface_| 00000600 6d 65 6e 75 20 2b 20 63 6c 6f 63 6b 66 61 63 65 |menu + clockface| 00000610 5f 6d 65 6e 75 5f 6c 65 6e 67 74 68 0d 01 9a 40 |_menu_length...@| 00000620 73 74 61 63 6b 20 20 20 20 20 20 20 20 20 20 20 |stack | 00000630 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000640 3d 20 73 74 61 63 6b 5f 73 74 61 72 74 20 2b 20 |= stack_start + | 00000650 73 74 61 63 6b 5f 6c 65 6e 67 74 68 0d 01 a4 2b |stack_length...+| 00000660 72 6d 61 5f 73 69 7a 65 20 20 20 20 20 20 20 20 |rma_size | 00000670 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000680 3d 20 73 74 61 63 6b 0d 01 ae 04 0d 01 b8 16 e3 |= stack.........| 00000690 20 6f 70 74 25 3d 31 32 20 b8 20 31 34 20 88 20 | opt%=12 . 14 . | 000006a0 32 0d 01 c2 08 50 25 3d 30 0d 01 cc 0c 4f 25 3d |2....P%=0....O%=| 000006b0 63 6f 64 65 25 0d 01 d6 15 4c 25 3d 63 6f 64 65 |code%....L%=code| 000006c0 25 2b 63 6f 64 65 6c 65 6e 25 0d 01 e0 05 5b 0d |%+codelen%....[.| 000006d0 01 ea 18 20 20 20 20 20 20 20 20 6f 70 74 20 20 |... opt | 000006e0 20 20 20 6f 70 74 25 0d 01 f4 04 0d 01 fe 53 3b | opt%.......S;| 000006f0 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | ---------------| 00000700 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00000730 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 02 |--------------..| 00000740 08 13 3b 20 4d 6f 64 75 6c 65 20 68 65 61 64 65 |..; Module heade| 00000750 72 0d 02 12 04 0d 02 1c 19 20 20 20 20 20 20 20 |r........ | 00000760 20 65 71 75 64 20 20 20 20 73 74 61 72 74 0d 02 | equd start..| 00000770 26 15 20 20 20 20 20 20 20 20 65 71 75 64 20 20 |&. equd | 00000780 20 20 30 0d 02 30 19 20 20 20 20 20 20 20 20 65 | 0..0. e| 00000790 71 75 64 20 20 20 20 66 69 6e 61 6c 0d 02 3a 1b |qud final..:.| 000007a0 20 20 20 20 20 20 20 20 65 71 75 64 20 20 20 20 | equd | 000007b0 73 65 72 76 69 63 65 0d 02 44 19 20 20 20 20 20 |service..D. | 000007c0 20 20 20 65 71 75 64 20 20 20 20 74 69 74 6c 65 | equd title| 000007d0 0d 02 4e 18 20 20 20 20 20 20 20 20 65 71 75 64 |..N. equd| 000007e0 20 20 20 20 68 65 6c 70 0d 02 58 1b 20 20 20 20 | help..X. | 000007f0 20 20 20 20 65 71 75 64 20 20 20 20 63 6f 6d 6d | equd comm| 00000800 61 6e 64 0d 02 62 3f 20 20 20 20 20 20 20 20 65 |and..b? e| 00000810 71 75 64 20 20 20 20 30 20 20 20 20 20 20 20 20 |qud 0 | 00000820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b | ;| 00000830 20 6e 6f 20 73 77 69 73 20 73 75 70 70 6f 72 74 | no swis support| 00000840 65 64 0d 02 6c 15 20 20 20 20 20 20 20 20 65 71 |ed..l. eq| 00000850 75 64 20 20 20 20 30 0d 02 76 15 20 20 20 20 20 |ud 0..v. | 00000860 20 20 20 65 71 75 64 20 20 20 20 30 0d 02 80 15 | equd 0....| 00000870 20 20 20 20 20 20 20 20 65 71 75 64 20 20 20 20 | equd | 00000880 30 0d 02 8a 04 0d 02 94 0a 2e 74 69 74 6c 65 0d |0.........title.| 00000890 02 9e 22 20 20 20 20 20 20 20 20 65 71 75 73 20 |.." equs | 000008a0 20 20 20 22 49 63 6f 6e 43 6c 6f 63 6b 22 2b bd | "IconClock"+.| 000008b0 30 0d 02 a8 09 2e 68 65 6c 70 0d 02 b2 20 20 20 |0.....help... | 000008c0 20 20 20 20 20 20 65 71 75 73 20 20 20 20 22 49 | equs "I| 000008d0 63 6f 6e 20 43 6c 6f 63 6b 22 0d 02 bc 15 20 20 |con Clock".... | 000008e0 20 20 20 20 20 20 65 71 75 62 20 20 20 20 39 0d | equb 9.| 000008f0 02 c6 2a 20 20 20 20 20 20 20 20 65 71 75 73 20 |..* equs | 00000900 20 20 20 22 31 2e 30 30 20 28 22 2b c1 91 24 2c | "1.00 ("+..$,| 00000910 35 2c 31 31 29 2b 22 29 22 0d 02 d0 15 20 20 20 |5,11)+")".... | 00000920 20 20 20 20 20 65 71 75 62 20 20 20 20 30 0d 02 | equb 0..| 00000930 da 11 20 20 20 20 20 20 20 20 61 6c 69 67 6e 0d |.. align.| 00000940 02 e4 04 0d 02 ee 53 3b 20 2d 2d 2d 2d 2d 2d 2d |......S; -------| 00000950 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00000990 2d 2d 2d 2d 2d 2d 0d 02 f8 1a 3b 20 4d 6f 64 75 |------....; Modu| 000009a0 6c 65 20 63 6f 6d 6d 61 6e 64 20 74 61 62 6c 65 |le command table| 000009b0 0d 03 02 04 0d 03 0c 0c 2e 63 6f 6d 6d 61 6e 64 |.........command| 000009c0 0d 03 16 0d 2e 73 74 61 72 74 63 6f 6d 0d 03 20 |.....startcom.. | 000009d0 2a 20 20 20 20 20 20 20 20 65 71 75 73 20 20 20 |* equs | 000009e0 20 22 44 65 73 6b 74 6f 70 5f 49 63 6f 6e 43 6c | "Desktop_IconCl| 000009f0 6f 63 6b 22 2b bd 30 0d 03 2a 11 20 20 20 20 20 |ock"+.0..*. | 00000a00 20 20 20 61 6c 69 67 6e 0d 03 34 2d 20 20 20 20 | align..4- | 00000a10 20 20 20 20 65 71 75 64 20 20 20 20 64 65 73 6b | equd desk| 00000a20 74 6f 70 5f 69 63 6f 6e 63 6c 6f 63 6b 5f 63 6f |top_iconclock_co| 00000a30 6d 6d 61 6e 64 0d 03 3e 3b 20 20 20 20 20 20 20 |mmand..>; | 00000a40 20 65 71 75 64 20 20 20 20 30 20 20 20 20 20 20 | equd 0 | 00000a50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000a60 20 3b 20 6e 6f 20 70 61 72 61 6d 65 74 65 72 73 | ; no parameters| 00000a70 0d 03 48 2c 20 20 20 20 20 20 20 20 65 71 75 64 |..H, equd| 00000a80 20 20 20 20 64 65 73 6b 74 6f 70 5f 69 63 6f 6e | desktop_icon| 00000a90 63 6c 6f 63 6b 5f 73 79 6e 74 61 78 0d 03 52 2a |clock_syntax..R*| 00000aa0 20 20 20 20 20 20 20 20 65 71 75 64 20 20 20 20 | equd | 00000ab0 64 65 73 6b 74 6f 70 5f 69 63 6f 6e 63 6c 6f 63 |desktop_iconcloc| 00000ac0 6b 5f 68 65 6c 70 0d 03 5c 15 20 20 20 20 20 20 |k_help..\. | 00000ad0 20 20 65 71 75 64 20 20 20 20 30 0d 03 66 1b 2e | equd 0..f..| 00000ae0 64 65 73 6b 74 6f 70 5f 69 63 6f 6e 63 6c 6f 63 |desktop_iconcloc| 00000af0 6b 5f 68 65 6c 70 0d 03 70 40 20 20 20 20 20 20 |k_help..p@ | 00000b00 20 20 65 71 75 73 20 20 20 20 22 54 68 65 20 49 | equs "The I| 00000b10 63 6f 6e 20 43 6c 6f 63 6b 20 75 74 69 6c 69 74 |con Clock utilit| 00000b20 79 20 64 69 73 70 6c 61 79 73 20 61 20 63 6c 6f |y displays a clo| 00000b30 63 6b 20 6f 6e 22 0d 03 7a 16 20 20 20 20 20 20 |ck on"..z. | 00000b40 20 20 65 71 75 62 20 20 20 20 32 37 0d 03 84 35 | equb 27...5| 00000b50 20 20 20 20 20 20 20 20 65 71 75 62 20 20 20 20 | equb | 00000b60 32 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |2 | 00000b70 20 20 20 20 20 20 20 20 3b 20 22 20 74 68 65 20 | ; " the | 00000b80 22 0d 03 8e 1e 20 20 20 20 20 20 20 20 65 71 75 |".... equ| 00000b90 73 20 20 20 20 22 69 63 6f 6e 62 61 72 2e 22 0d |s "iconbar.".| 00000ba0 03 98 16 20 20 20 20 20 20 20 20 65 71 75 62 20 |... equb | 00000bb0 20 20 20 31 33 0d 03 a2 16 20 20 20 20 20 20 20 | 13.... | 00000bc0 20 65 71 75 62 20 20 20 20 31 30 0d 03 ac 22 20 | equb 10..." | 00000bd0 20 20 20 20 20 20 20 65 71 75 73 20 20 20 20 22 | equs "| 00000be0 44 6f 20 6e 6f 74 20 75 73 65 20 2a 22 0d 03 b6 |Do not use *"...| 00000bf0 16 20 20 20 20 20 20 20 20 65 71 75 62 20 20 20 |. equb | 00000c00 20 32 37 0d 03 c0 41 20 20 20 20 20 20 20 20 65 | 27...A e| 00000c10 71 75 62 20 20 20 20 30 20 20 20 20 20 20 20 20 |qub 0 | 00000c20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b | ;| 00000c30 20 22 44 65 73 6b 74 6f 70 5f 49 63 6f 6e 43 6c | "Desktop_IconCl| 00000c40 6f 63 6b 22 0d 03 ca 2d 20 20 20 20 20 20 20 20 |ock"...- | 00000c50 65 71 75 73 20 20 20 20 22 2c 20 75 73 65 20 2a |equs ", use *| 00000c60 44 65 73 6b 74 6f 70 20 69 6e 73 74 65 61 64 2e |Desktop instead.| 00000c70 22 0d 03 d4 15 20 20 20 20 20 20 20 20 65 71 75 |".... equ| 00000c80 62 20 20 20 20 30 0d 03 de 1d 2e 64 65 73 6b 74 |b 0.....deskt| 00000c90 6f 70 5f 69 63 6f 6e 63 6c 6f 63 6b 5f 73 79 6e |op_iconclock_syn| 00000ca0 74 61 78 0d 03 e8 16 20 20 20 20 20 20 20 20 65 |tax.... e| 00000cb0 71 75 62 20 20 20 20 32 37 0d 03 f2 49 20 20 20 |qub 27...I | 00000cc0 20 20 20 20 20 65 71 75 62 20 20 20 20 31 20 20 | equb 1 | 00000cd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000ce0 20 20 20 20 20 3b 20 22 53 79 6e 74 61 78 20 2a | ; "Syntax *| 00000cf0 44 65 73 6b 74 6f 70 5f 49 63 6f 6e 43 6c 6f 63 |Desktop_IconCloc| 00000d00 6b 22 0d 03 fc 15 20 20 20 20 20 20 20 20 65 71 |k".... eq| 00000d10 75 62 20 20 20 20 30 0d 04 06 11 20 20 20 20 20 |ub 0.... | 00000d20 20 20 20 61 6c 69 67 6e 0d 04 10 04 0d 04 1a 53 | align.......S| 00000d30 3b 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |; --------------| 00000d40 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00000d70 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d |---------------.| 00000d80 04 24 19 3b 20 4d 6f 64 75 6c 65 20 73 65 72 76 |.$.; Module serv| 00000d90 69 63 65 20 63 6f 64 65 0d 04 2e 04 0d 04 38 0c |ice code......8.| 00000da0 2e 73 65 72 76 69 63 65 0d 04 42 3f 20 20 20 20 |.service..B? | 00000db0 20 20 20 20 63 6d 70 20 20 20 20 20 72 31 2c 23 | cmp r1,#| 00000dc0 26 34 39 20 20 20 20 20 20 20 20 20 20 20 20 20 |&49 | 00000dd0 20 20 20 20 3b 20 73 65 72 76 69 63 65 5f 73 74 | ; service_st| 00000de0 61 72 74 77 69 6d 70 0d 04 4c 25 20 20 20 20 20 |artwimp..L% | 00000df0 20 20 20 62 65 71 20 20 20 20 20 73 65 72 76 69 | beq servi| 00000e00 63 65 5f 73 74 61 72 74 77 69 6d 70 0d 04 56 41 |ce_startwimp..VA| 00000e10 20 20 20 20 20 20 20 20 63 6d 70 20 20 20 20 20 | cmp | 00000e20 72 31 2c 23 26 34 61 20 20 20 20 20 20 20 20 20 |r1,#&4a | 00000e30 20 20 20 20 20 20 20 20 3b 20 73 65 72 76 69 63 | ; servic| 00000e40 65 5f 73 74 61 72 74 65 64 77 69 6d 70 0d 04 60 |e_startedwimp..`| 00000e50 27 20 20 20 20 20 20 20 20 62 65 71 20 20 20 20 |' beq | 00000e60 20 73 65 72 76 69 63 65 5f 73 74 61 72 74 65 64 | service_started| 00000e70 77 69 6d 70 0d 04 6a 3b 20 20 20 20 20 20 20 20 |wimp..j; | 00000e80 63 6d 70 6e 65 20 20 20 72 31 2c 23 26 32 37 20 |cmpne r1,#&27 | 00000e90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00000ea0 3b 20 73 65 72 76 69 63 65 5f 72 65 73 65 74 0d |; service_reset.| 00000eb0 04 74 3c 20 20 20 20 20 20 20 20 6d 6f 76 6e 65 |.t< movne| 00000ec0 73 20 20 70 63 2c 72 31 34 20 20 20 20 20 20 20 |s pc,r14 | 00000ed0 20 20 20 20 20 20 20 20 20 20 20 3b 20 65 78 69 | ; exi| 00000ee0 74 20 75 6e 63 6c 61 69 6d 65 64 0d 04 7e 04 0d |t unclaimed..~..| 00000ef0 04 88 53 3b 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |..S; -----------| 00000f00 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00000f40 2d 2d 0d 04 92 52 3b 20 54 68 65 20 73 65 72 76 |--...R; The serv| 00000f50 69 63 65 20 72 65 73 65 74 20 68 61 73 20 61 72 |ice reset has ar| 00000f60 72 69 76 65 64 20 73 6f 20 74 68 65 20 6d 61 63 |rived so the mac| 00000f70 68 69 6e 65 20 68 61 73 20 62 65 65 6e 2e 20 52 |hine has been. R| 00000f80 65 73 65 74 20 6f 75 72 20 74 61 73 6b 20 68 61 |eset our task ha| 00000f90 6e 64 6c 65 0d 04 9c 28 3b 20 74 6f 20 7a 65 72 |ndle...(; to zer| 00000fa0 6f 20 73 6f 20 74 68 61 74 20 77 65 20 63 61 6e |o so that we can| 00000fb0 20 73 74 61 72 74 20 61 67 61 69 6e 0d 04 a6 04 | start again....| 00000fc0 0d 04 b0 1d 20 20 20 20 20 20 20 20 73 74 6d 66 |.... stmf| 00000fd0 64 20 20 20 72 31 33 21 2c 7b 31 34 7d 0d 04 ba |d r13!,{14}...| 00000fe0 1a 20 20 20 20 20 20 20 20 6d 6f 76 20 20 20 20 |. mov | 00000ff0 20 72 31 34 2c 23 30 0d 04 c4 2a 20 20 20 20 20 | r14,#0...* | 00001000 20 20 20 73 74 72 20 20 20 20 20 72 31 34 2c 5b | str r14,[| 00001010 72 31 32 2c 23 74 61 73 6b 5f 68 61 6e 64 6c 65 |r12,#task_handle| 00001020 5d 0d 04 ce 1d 20 20 20 20 20 20 20 20 6c 64 6d |].... ldm| 00001030 66 64 20 20 20 72 31 33 21 2c 7b 70 63 7d 0d 04 |fd r13!,{pc}..| 00001040 d8 04 0d 04 e2 53 3b 20 2d 2d 2d 2d 2d 2d 2d 2d |.....S; --------| 00001050 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00001090 2d 2d 2d 2d 2d 0d 04 ec 52 3b 20 54 68 65 20 73 |-----...R; The s| 000010a0 65 72 76 69 63 65 20 73 74 61 72 74 65 64 77 69 |ervice startedwi| 000010b0 6d 70 20 68 61 73 20 61 72 72 69 76 65 64 20 73 |mp has arrived s| 000010c0 6f 20 74 68 65 20 77 69 6d 70 20 68 61 73 20 73 |o the wimp has s| 000010d0 74 61 72 74 65 64 20 75 70 2e 20 49 66 20 77 65 |tarted up. If we| 000010e0 20 66 61 69 6c 65 64 0d 04 f6 3f 3b 20 64 75 72 | failed...?; dur| 000010f0 69 6e 67 20 73 74 61 72 74 75 70 20 72 65 73 65 |ing startup rese| 00001100 74 20 74 61 73 6b 20 68 61 6e 64 6c 65 20 73 6f |t task handle so| 00001110 20 74 68 61 74 20 77 65 20 63 61 6e 20 74 72 79 | that we can try| 00001120 20 61 67 61 69 6e 0d 05 00 04 0d 05 0a 18 2e 73 | again.........s| 00001130 65 72 76 69 63 65 5f 73 74 61 72 74 65 64 77 69 |ervice_startedwi| 00001140 6d 70 0d 05 14 1d 20 20 20 20 20 20 20 20 73 74 |mp.... st| 00001150 6d 66 64 20 20 20 72 31 33 21 2c 7b 31 34 7d 0d |mfd r13!,{14}.| 00001160 05 1e 2a 20 20 20 20 20 20 20 20 6c 64 72 20 20 |..* ldr | 00001170 20 20 20 72 31 34 2c 5b 72 31 32 2c 23 74 61 73 | r14,[r12,#tas| 00001180 6b 5f 68 61 6e 64 6c 65 5d 0d 05 28 48 20 20 20 |k_handle]..(H | 00001190 20 20 20 20 20 63 6d 70 20 20 20 20 20 72 31 34 | cmp r14| 000011a0 2c 23 30 20 20 20 20 20 20 20 20 20 20 20 20 20 |,#0 | 000011b0 20 20 20 20 20 3b 20 64 69 64 20 77 65 20 66 61 | ; did we fa| 000011c0 69 6c 20 64 75 72 69 6e 67 20 73 74 61 72 74 75 |il during startu| 000011d0 70 0d 05 32 1a 20 20 20 20 20 20 20 20 6d 6f 76 |p..2. mov| 000011e0 6c 74 20 20 20 72 31 34 2c 23 30 0d 05 3c 46 20 |lt r14,#0..<F | 000011f0 20 20 20 20 20 20 20 73 74 72 6c 74 20 20 20 72 | strlt r| 00001200 31 34 2c 5b 72 31 32 2c 23 74 61 73 6b 5f 68 61 |14,[r12,#task_ha| 00001210 6e 64 6c 65 5d 20 20 3b 20 69 66 20 73 6f 2c 20 |ndle] ; if so, | 00001220 72 65 73 65 74 20 66 61 69 6c 65 64 20 66 6c 61 |reset failed fla| 00001230 67 0d 05 46 1d 20 20 20 20 20 20 20 20 6c 64 6d |g..F. ldm| 00001240 66 64 20 20 20 72 31 33 21 2c 7b 70 63 7d 0d 05 |fd r13!,{pc}..| 00001250 50 04 0d 05 5a 53 3b 20 2d 2d 2d 2d 2d 2d 2d 2d |P...ZS; --------| 00001260 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 000012a0 2d 2d 2d 2d 2d 0d 05 64 50 3b 20 54 68 65 20 77 |-----..dP; The w| 000012b0 69 6d 70 20 77 61 6e 74 73 20 61 6e 79 20 61 70 |imp wants any ap| 000012c0 70 6c 69 63 61 74 69 6f 6e 20 6d 6f 64 75 6c 65 |plication module| 000012d0 73 20 74 6f 20 73 74 61 72 74 20 74 68 65 6d 73 |s to start thems| 000012e0 65 6c 76 65 73 20 75 70 2e 20 20 54 68 69 73 20 |elves up. This | 000012f0 6d 65 61 6e 73 0d 05 6e 3a 3b 20 75 73 2e 20 20 |means..n:; us. | 00001300 20 57 65 20 74 65 6c 6c 20 74 68 65 20 77 69 6d | We tell the wim| 00001310 70 20 74 6f 20 69 73 73 75 65 20 61 20 2a 44 65 |p to issue a *De| 00001320 73 6b 74 6f 70 5f 49 63 6f 6e 43 6c 6f 63 6b 0d |sktop_IconClock.| 00001330 05 78 04 0d 05 82 16 2e 73 65 72 76 69 63 65 5f |.x......service_| 00001340 73 74 61 72 74 77 69 6d 70 0d 05 8c 24 20 20 20 |startwimp...$ | 00001350 20 20 20 20 20 73 74 6d 66 64 20 20 20 72 31 33 | stmfd r13| 00001360 21 2c 7b 72 32 2d 72 34 2c 72 31 34 7d 0d 05 96 |!,{r2-r4,r14}...| 00001370 1d 20 20 20 20 20 20 20 20 6c 64 72 20 20 20 20 |. ldr | 00001380 20 72 31 34 2c 5b 72 31 32 5d 0d 05 a0 1a 20 20 | r14,[r12].... | 00001390 20 20 20 20 20 20 63 6d 70 20 20 20 20 20 72 31 | cmp r1| 000013a0 34 2c 23 30 0d 05 aa 50 20 20 20 20 20 20 20 20 |4,#0...P | 000013b0 6c 64 6d 6e 65 66 64 20 72 31 33 21 2c 7b 72 32 |ldmnefd r13!,{r2| 000013c0 2d 72 34 2c 70 63 7d 20 20 20 20 20 20 20 20 20 |-r4,pc} | 000013d0 3b 20 63 6f 75 6c 64 20 6e 6f 74 20 73 74 61 72 |; could not star| 000013e0 74 20 6f 72 20 61 6c 72 65 61 64 79 20 73 74 61 |t or already sta| 000013f0 72 74 65 64 0d 05 b4 3a 20 20 20 20 20 20 20 20 |rted...: | 00001400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | * 00001420 3b 20 6f 6b 20 73 6f 20 69 67 6e 6f 72 65 0d 05 |; ok so ignore..| 00001430 be 3d 20 20 20 20 20 20 20 20 6d 6f 76 20 20 20 |.= mov | 00001440 20 20 72 30 2c 23 36 20 20 20 20 20 20 20 20 20 | r0,#6 | 00001450 20 20 20 20 20 20 20 20 20 20 3b 20 43 6c 61 69 | ; Clai| 00001460 6d 20 77 6f 72 6b 73 70 61 63 65 0d 05 c8 20 20 |m workspace... | 00001470 20 20 20 20 20 20 20 6d 6f 76 20 20 20 20 20 72 | mov r| 00001480 33 2c 23 72 6d 61 5f 73 69 7a 65 0d 05 d2 20 20 |3,#rma_size... | 00001490 20 20 20 20 20 20 20 73 77 69 20 20 20 20 20 22 | swi "| 000014a0 58 4f 53 5f 4d 6f 64 75 6c 65 22 0d 05 dc 53 20 |XOS_Module"...S | 000014b0 20 20 20 20 20 20 20 6d 76 6e 76 73 20 20 20 72 | mvnvs r| 000014c0 32 2c 23 30 20 20 20 20 20 20 20 20 20 20 20 20 |2,#0 | 000014d0 20 20 20 20 20 20 20 3b 20 2d 31 20 74 6f 20 70 | ; -1 to p| 000014e0 72 65 76 65 6e 74 20 63 6c 61 69 6d 20 6f 66 20 |revent claim of | 000014f0 63 61 6c 6c 20 6e 65 78 74 20 74 69 6d 65 0d 05 |call next time..| 00001500 e6 1c 20 20 20 20 20 20 20 20 73 74 72 20 20 20 |.. str | 00001510 20 20 72 32 2c 5b 72 31 32 5d 0d 05 f0 23 20 20 | r2,[r12]...# | 00001520 20 20 20 20 20 20 6c 64 6d 76 73 66 64 20 72 31 | ldmvsfd r1| 00001530 33 21 2c 7b 72 32 2d 72 34 2c 70 63 7d 0d 05 fa |3!,{r2-r4,pc}...| 00001540 44 20 20 20 20 20 20 20 20 73 74 72 20 20 20 20 |D str | 00001550 20 72 31 32 2c 5b 72 32 2c 23 77 6f 72 64 5d 20 | r12,[r2,#word] | 00001560 20 20 20 20 20 20 20 20 20 3b 20 73 74 6f 72 65 | ; store| 00001570 20 6f 75 72 20 70 72 69 76 61 74 65 20 77 6f 72 | our private wor| 00001580 64 0d 06 04 47 20 20 20 20 20 20 20 20 61 64 72 |d...G adr| 00001590 20 20 20 20 20 72 30 2c 73 74 61 72 74 63 6f 6d | r0,startcom| 000015a0 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 72 | ; r| 000015b0 30 20 2d 3e 20 6f 75 72 20 73 74 61 72 74 75 70 |0 -> our startup| 000015c0 20 63 6f 6d 6d 61 6e 64 0d 06 0e 50 20 20 20 20 | command...P | 000015d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | * 000015f0 20 20 20 20 3b 20 74 68 65 20 77 69 6d 70 20 77 | ; the wimp w| 00001600 69 6c 6c 20 65 78 65 63 75 74 65 20 74 68 69 73 |ill execute this| 00001610 20 63 6f 6d 6d 61 6e 64 0d 06 18 3b 20 20 20 20 | command...; | 00001620 20 20 20 20 6d 6f 76 20 20 20 20 20 72 31 2c 23 | mov r1,#| 00001630 30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |0 | 00001640 20 20 20 20 3b 20 63 6c 61 69 6d 20 73 65 72 76 | ; claim serv| 00001650 69 63 65 0d 06 22 45 20 20 20 20 20 20 20 20 73 |ice.."E s| 00001660 74 72 20 20 20 20 20 72 31 2c 5b 72 32 2c 23 74 |tr r1,[r2,#t| 00001670 61 73 6b 5f 68 61 6e 64 6c 65 5d 20 20 20 20 3b |ask_handle] ;| 00001680 20 6e 6f 74 20 73 74 61 72 74 65 64 20 61 73 20 | not started as | 00001690 54 61 73 6b 20 79 65 74 0d 06 2c 23 20 20 20 20 |Task yet..,# | 000016a0 20 20 20 20 6c 64 6d 66 64 20 20 20 72 31 33 21 | ldmfd r13!| 000016b0 2c 7b 72 32 2d 72 34 2c 70 63 7d 0d 06 36 04 0d |,{r2-r4,pc}..6..| 000016c0 06 40 53 3b 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |.@S; -----------| 000016d0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00001710 2d 2d 0d 06 4a 1e 3b 20 4d 6f 64 75 6c 65 20 66 |--..J.; Module f| 00001720 69 6e 61 6c 69 73 61 74 69 6f 6e 20 63 6f 64 65 |inalisation code| 00001730 0d 06 54 04 0d 06 5e 0a 2e 66 69 6e 61 6c 0d 06 |..T...^..final..| 00001740 68 22 20 20 20 20 20 20 20 20 73 74 6d 66 64 20 |h" stmfd | 00001750 72 31 33 21 2c 7b 72 30 2d 72 36 2c 72 31 34 7d |r13!,{r0-r6,r14}| 00001760 0d 06 72 1b 20 20 20 20 20 20 20 20 6c 64 72 20 |..r. ldr | 00001770 20 20 72 31 32 2c 5b 72 31 32 5d 0d 06 7c 18 20 | r12,[r12]..|. | 00001780 20 20 20 20 20 20 20 63 6d 70 20 20 20 72 31 32 | cmp r12| 00001790 2c 23 30 0d 06 86 50 20 20 20 20 20 20 20 20 62 |,#0...P b| 000017a0 6c 67 74 20 20 63 6c 6f 73 65 64 6f 77 6e 20 20 |lgt closedown | 000017b0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b | ;| 000017c0 20 73 68 75 74 20 64 6f 77 6e 20 69 66 20 6e 6f | shut down if no| 000017d0 74 20 61 6c 72 65 61 64 79 20 73 68 75 74 20 64 |t already shut d| 000017e0 6f 77 6e 0d 06 90 21 20 20 20 20 20 20 20 20 6c |own...! l| 000017f0 64 6d 66 64 20 72 31 33 21 2c 7b 72 30 2d 72 36 |dmfd r13!,{r0-r6| 00001800 2c 70 63 7d 0d 06 9a 04 0d 06 a4 53 3b 20 2d 2d |,pc}.......S; --| 00001810 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00001850 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 06 ae 49 3b |-----------...I;| 00001860 20 2a 44 65 73 6b 74 6f 70 5f 49 63 6f 6e 43 6c | *Desktop_IconCl| 00001870 6f 63 6b 20 68 61 73 20 62 65 65 6e 20 65 78 65 |ock has been exe| 00001880 63 75 74 65 64 2e 20 43 61 75 73 65 20 61 6e 20 |cuted. Cause an | 00001890 65 72 72 6f 72 20 69 66 20 6e 6f 74 20 62 79 20 |error if not by | 000018a0 77 69 6d 70 0d 06 b8 04 0d 06 c2 1e 2e 64 65 73 |wimp.........des| 000018b0 6b 74 6f 70 5f 69 63 6f 6e 63 6c 6f 63 6b 5f 63 |ktop_iconclock_c| 000018c0 6f 6d 6d 61 6e 64 0d 06 cc 1e 20 20 20 20 20 20 |ommand.... | 000018d0 20 20 73 74 6d 66 64 20 20 20 72 31 33 21 2c 7b | stmfd r13!,{| 000018e0 72 31 34 7d 0d 06 d6 1d 20 20 20 20 20 20 20 20 |r14}.... | 000018f0 6c 64 72 20 20 20 20 20 72 31 34 2c 5b 72 31 32 |ldr r14,[r12| 00001900 5d 0d 06 e0 1a 20 20 20 20 20 20 20 20 63 6d 70 |].... cmp| 00001910 20 20 20 20 20 72 31 34 2c 23 30 0d 06 ea 1d 20 | r14,#0.... | 00001920 20 20 20 20 20 20 20 62 6c 65 20 20 20 20 20 62 | ble b| 00001930 61 64 5f 73 74 61 72 74 0d 06 f4 2a 20 20 20 20 |ad_start...* | 00001940 20 20 20 20 6c 64 72 20 20 20 20 20 72 31 34 2c | ldr r14,| 00001950 5b 72 31 34 2c 23 74 61 73 6b 5f 68 61 6e 64 6c |[r14,#task_handl| 00001960 65 5d 0d 06 fe 4a 20 20 20 20 20 20 20 20 74 65 |e]...J te| 00001970 71 20 20 20 20 20 72 31 34 2c 23 30 20 20 20 20 |q r14,#0 | 00001980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 | ; | 00001990 69 66 20 6e 6f 74 20 30 20 74 68 65 6e 20 6e 6f |if not 0 then no| 000019a0 74 20 61 20 2a 44 45 53 4b 54 4f 50 0d 07 08 40 |t a *DESKTOP...@| 000019b0 20 20 20 20 20 20 20 20 6d 6f 76 65 71 20 20 20 | moveq | 000019c0 72 32 2c 72 30 20 20 20 20 20 20 20 20 20 20 20 |r2,r0 | 000019d0 20 20 20 20 20 20 20 20 3b 20 72 32 20 2d 3e 20 | ; r2 -> | 000019e0 63 6f 6d 6d 61 6e 64 20 74 61 69 6c 0d 07 12 3d |command tail...=| 000019f0 20 20 20 20 20 20 20 20 61 64 72 65 71 20 20 20 | adreq | 00001a00 72 31 2c 74 69 74 6c 65 20 20 20 20 20 20 20 20 |r1,title | 00001a10 20 20 20 20 20 20 20 20 3b 20 72 31 20 2d 3e 20 | ; r1 -> | 00001a20 6f 75 72 20 74 69 74 6c 65 0d 07 1c 19 20 20 20 |our title.... | 00001a30 20 20 20 20 20 6d 6f 76 65 71 20 20 20 72 30 2c | moveq r0,| 00001a40 23 32 0d 07 26 3f 20 20 20 20 20 20 20 20 73 77 |#2..&? sw| 00001a50 69 65 71 20 20 20 22 58 4f 53 5f 4d 6f 64 75 6c |ieq "XOS_Modul| 00001a60 65 22 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 |e" ; | 00001a70 65 6e 74 65 72 20 75 73 20 61 74 20 73 74 61 72 |enter us at star| 00001a80 74 0d 07 30 0e 2e 62 61 64 5f 73 74 61 72 74 0d |t..0..bad_start.| 00001a90 07 3a 1e 20 20 20 20 20 20 20 20 6c 64 6d 66 64 |.:. ldmfd| 00001aa0 20 20 20 72 31 33 21 2c 7b 72 31 34 7d 0d 07 44 | r13!,{r14}..D| 00001ab0 21 20 20 20 20 20 20 20 20 61 64 72 20 20 20 20 |! adr | 00001ac0 20 72 30 2c 73 74 61 72 74 65 72 72 6f 72 0d 07 | r0,starterror..| 00001ad0 4e 22 20 20 20 20 20 20 20 20 6f 72 72 73 20 20 |N" orrs | 00001ae0 20 20 70 63 2c 72 31 34 2c 23 76 5f 66 6c 61 67 | pc,r14,#v_flag| 00001af0 0d 07 58 0f 2e 73 74 61 72 74 65 72 72 6f 72 0d |..X..starterror.| 00001b00 07 62 15 20 20 20 20 20 20 20 20 65 71 75 64 20 |.b. equd | 00001b10 20 20 20 30 0d 07 6c 36 20 20 20 20 20 20 20 20 | 0..l6 | 00001b20 65 71 75 73 20 20 20 20 22 55 73 65 20 2a 44 65 |equs "Use *De| 00001b30 73 6b 74 6f 70 20 74 6f 20 73 74 61 72 74 20 49 |sktop to start I| 00001b40 63 6f 6e 20 43 6c 6f 63 6b 22 0d 07 76 15 20 20 |con Clock"..v. | 00001b50 20 20 20 20 20 20 65 71 75 62 20 20 20 20 30 0d | equb 0.| 00001b60 07 80 11 20 20 20 20 20 20 20 20 61 6c 69 67 6e |... align| 00001b70 0d 07 8a 04 0d 07 94 53 3b 20 2d 2d 2d 2d 2d 2d |.......S; ------| 00001b80 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00001bc0 2d 2d 2d 2d 2d 2d 2d 0d 07 9e 34 3b 20 4d 6f 64 |-------...4; Mod| 00001bd0 75 6c 65 20 73 74 61 72 74 20 63 6f 64 65 20 63 |ule start code c| 00001be0 61 6c 6c 65 64 20 62 79 20 2a 44 65 73 6b 74 6f |alled by *Deskto| 00001bf0 70 5f 49 63 6f 6e 43 6c 6f 63 6b 0d 07 a8 04 0d |p_IconClock.....| 00001c00 07 b2 0a 2e 73 74 61 72 74 0d 07 bc 2b 20 20 20 |....start...+ | 00001c10 20 20 20 20 20 62 6c 20 20 20 20 20 20 73 65 65 | bl see| 00001c20 5f 69 66 5f 69 6e 5f 64 65 73 6b 74 6f 70 5f 77 |_if_in_desktop_w| 00001c30 6f 72 6c 64 0d 07 c6 1d 20 20 20 20 20 20 20 20 |orld.... | 00001c40 6c 64 72 20 20 20 20 20 72 31 32 2c 5b 72 31 32 |ldr r12,[r12| 00001c50 5d 0d 07 d0 1a 20 20 20 20 20 20 20 20 63 6d 70 |].... cmp| 00001c60 20 20 20 20 20 72 31 32 2c 23 30 0d 07 da 21 20 | r12,#0...! | 00001c70 20 20 20 20 20 20 20 61 64 72 6c 65 20 20 20 72 | adrle r| 00001c80 30 2c 73 74 61 72 74 65 72 72 6f 72 0d 07 e4 26 |0,starterror...&| 00001c90 20 20 20 20 20 20 20 20 73 77 69 6c 65 20 20 20 | swile | 00001ca0 22 4f 53 5f 47 65 6e 65 72 61 74 65 45 72 72 6f |"OS_GenerateErro| 00001cb0 72 22 0d 07 ee 22 20 20 20 20 20 20 20 20 61 64 |r"..." ad| 00001cc0 64 20 20 20 20 20 72 31 33 2c 72 31 32 2c 23 73 |d r13,r12,#s| 00001cd0 74 61 63 6b 0d 07 f8 29 20 20 20 20 20 20 20 20 |tack...) | 00001ce0 6c 64 72 20 20 20 20 20 72 30 2c 5b 72 31 32 2c |ldr r0,[r12,| 00001cf0 23 74 61 73 6b 5f 68 61 6e 64 6c 65 5d 0d 08 02 |#task_handle]...| 00001d00 19 20 20 20 20 20 20 20 20 63 6d 70 20 20 20 20 |. cmp | 00001d10 20 72 30 2c 23 30 0d 08 0c 1b 20 20 20 20 20 20 | r0,#0.... | 00001d20 20 20 6c 64 72 67 74 20 20 20 72 31 2c 74 61 73 | ldrgt r1,tas| 00001d30 6b 0d 08 16 4d 20 20 20 20 20 20 20 20 73 77 69 |k...M swi| 00001d40 67 74 20 20 20 22 58 57 69 6d 70 5f 43 6c 6f 73 |gt "XWimp_Clos| 00001d50 65 44 6f 77 6e 22 20 20 20 20 20 20 20 3b 20 68 |eDown" ; h| 00001d60 61 76 65 20 62 65 65 6e 20 72 65 65 6e 74 65 72 |ave been reenter| 00001d70 65 64 20 73 6f 20 73 68 75 74 64 6f 77 6e 0d 08 |ed so shutdown..| 00001d80 20 1b 20 20 20 20 20 20 20 20 6c 64 72 20 20 20 | . ldr | 00001d90 20 20 72 31 2c 74 61 73 6b 0d 08 2a 42 20 20 20 | r1,task..*B | 00001da0 20 20 20 20 20 6d 6f 76 20 20 20 20 20 72 30 2c | mov r0,| 00001db0 23 32 30 30 20 20 20 20 20 20 20 20 20 20 20 20 |#200 | 00001dc0 20 20 20 20 20 3b 20 6c 61 73 74 20 6b 6e 6f 77 | ; last know| 00001dd0 6e 20 77 69 6d 70 20 32 2e 30 30 0d 08 34 40 20 |n wimp 2.00..4@ | 00001de0 20 20 20 20 20 20 20 61 64 72 20 20 20 20 20 72 | adr r| 00001df0 32 2c 73 77 69 74 63 68 65 72 5f 6e 61 6d 65 20 |2,switcher_name | 00001e00 20 20 20 20 20 20 20 3b 20 72 32 20 2d 3e 20 22 | ; r2 -> "| 00001e10 49 63 6f 6e 20 43 6c 6f 63 6b 22 0d 08 3e 26 20 |Icon Clock"..>& | 00001e20 20 20 20 20 20 20 20 73 77 69 20 20 20 20 20 22 | swi "| 00001e30 58 57 69 6d 70 5f 49 6e 69 74 69 61 6c 69 73 65 |XWimp_Initialise| 00001e40 22 0d 08 48 19 20 20 20 20 20 20 20 20 6d 76 6e |"..H. mvn| 00001e50 76 73 20 20 20 72 31 2c 23 30 0d 08 52 29 20 20 |vs r1,#0..R) | 00001e60 20 20 20 20 20 20 73 74 72 20 20 20 20 20 72 31 | str r1| 00001e70 2c 5b 72 31 32 2c 23 74 61 73 6b 5f 68 61 6e 64 |,[r12,#task_hand| 00001e80 6c 65 5d 0d 08 5c 21 20 20 20 20 20 20 20 20 62 |le]..\! b| 00001e90 76 73 20 20 20 20 20 73 74 61 72 74 75 70 5f 65 |vs startup_e| 00001ea0 72 72 6f 72 0d 08 66 29 20 20 20 20 20 20 20 20 |rror..f) | 00001eb0 62 6c 20 20 20 20 20 20 72 65 61 64 5f 6f 70 74 |bl read_opt| 00001ec0 69 6f 6e 73 5f 76 61 72 69 61 62 6c 65 0d 08 70 |ions_variable..p| 00001ed0 1f 20 20 20 20 20 20 20 20 62 6c 20 20 20 20 20 |. bl | 00001ee0 20 63 72 65 61 74 65 5f 69 63 6f 6e 0d 08 7a 26 | create_icon..z&| 00001ef0 20 20 20 20 20 20 20 20 62 6c 20 20 20 20 20 20 | bl | 00001f00 63 72 65 61 74 65 5f 69 6e 66 6f 5f 77 69 6e 64 |create_info_wind| 00001f10 6f 77 0d 08 84 30 20 20 20 20 20 20 20 20 62 6c |ow...0 bl| 00001f20 20 20 20 20 20 20 77 6f 72 6b 5f 6f 75 74 5f 66 | work_out_f| 00001f30 69 72 73 74 5f 70 6f 6c 6c 69 64 6c 65 5f 74 69 |irst_pollidle_ti| 00001f40 6d 65 0d 08 8e 29 20 20 20 20 20 20 20 20 61 64 |me...) ad| 00001f50 64 20 20 20 20 20 72 32 2c 72 31 32 2c 23 70 6f |d r2,r12,#po| 00001f60 6c 6c 69 64 6c 65 5f 74 69 6d 65 0d 08 98 1e 20 |llidle_time.... | 00001f70 20 20 20 20 20 20 20 62 20 20 20 20 20 20 20 70 | b p| 00001f80 6f 6c 6c 5f 66 69 72 73 74 0d 08 a2 04 0d 08 ac |oll_first.......| 00001f90 1c 2e 73 65 65 5f 69 66 5f 69 6e 5f 64 65 73 6b |..see_if_in_desk| 00001fa0 74 6f 70 5f 77 6f 72 6c 64 0d 08 b6 19 20 20 20 |top_world.... | 00001fb0 20 20 20 20 20 6d 6f 76 20 20 20 20 20 72 30 2c | mov r0,| 00001fc0 23 30 0d 08 c0 27 20 20 20 20 20 20 20 20 73 77 |#0...' sw| 00001fd0 69 20 20 20 20 20 22 58 57 69 6d 70 5f 52 65 61 |i "XWimp_Rea| 00001fe0 64 53 79 73 49 6e 66 6f 22 0d 08 ca 26 20 20 20 |dSysInfo"...& | 00001ff0 20 20 20 20 20 73 77 69 76 73 20 20 20 22 4f 53 | swivs "OS| 00002000 5f 47 65 6e 65 72 61 74 65 45 72 72 6f 72 22 0d |_GenerateError".| 00002010 08 d4 4b 20 20 20 20 20 20 20 20 74 65 71 20 20 |..K teq | 00002020 20 20 20 72 30 2c 23 30 20 20 20 20 20 20 20 20 | r0,#0 | 00002030 20 20 20 20 20 20 20 20 20 20 20 3b 20 73 65 65 | ; see| 00002040 20 68 6f 77 20 6d 61 6e 79 20 61 70 70 73 20 61 | how many apps a| 00002050 72 65 20 72 75 6e 6e 69 6e 67 0d 08 de 42 20 20 |re running...B | 00002060 20 20 20 20 20 20 61 64 72 65 71 20 20 20 72 30 | adreq r0| 00002070 2c 73 74 61 72 74 65 72 72 6f 72 20 20 20 20 20 |,starterror | 00002080 20 20 20 20 20 20 3b 20 6e 6f 6e 65 20 73 6f 20 | ; none so | 00002090 72 65 70 6f 72 74 20 65 72 72 6f 72 0d 08 e8 26 |report error...&| 000020a0 20 20 20 20 20 20 20 20 73 77 69 65 71 20 20 20 | swieq | 000020b0 22 4f 53 5f 47 65 6e 65 72 61 74 65 45 72 72 6f |"OS_GenerateErro| 000020c0 72 22 0d 08 f2 3d 20 20 20 20 20 20 20 20 6d 6f |r"...= mo| 000020d0 76 20 20 20 20 20 72 30 2c 23 36 20 20 20 20 20 |v r0,#6 | 000020e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 | ; | 000020f0 43 6c 61 69 6d 20 77 6f 72 6b 73 70 61 63 65 0d |Claim workspace.| 00002100 08 fc 20 20 20 20 20 20 20 20 20 6d 6f 76 20 20 |.. mov | 00002110 20 20 20 72 33 2c 23 72 6d 61 5f 73 69 7a 65 0d | r3,#rma_size.| 00002120 09 06 20 20 20 20 20 20 20 20 20 73 77 69 20 20 |.. swi | 00002130 20 20 20 22 58 4f 53 5f 4d 6f 64 75 6c 65 22 0d | "XOS_Module".| 00002140 09 10 26 20 20 20 20 20 20 20 20 73 77 69 76 73 |..& swivs| 00002150 20 20 20 22 4f 53 5f 47 65 6e 65 72 61 74 65 45 | "OS_GenerateE| 00002160 72 72 6f 72 22 0d 09 1a 1c 20 20 20 20 20 20 20 |rror".... | 00002170 20 73 74 72 20 20 20 20 20 72 32 2c 5b 72 31 32 | str r2,[r12| 00002180 5d 0d 09 24 44 20 20 20 20 20 20 20 20 73 74 72 |]..$D str| 00002190 20 20 20 20 20 72 31 32 2c 5b 72 32 2c 23 77 6f | r12,[r2,#wo| 000021a0 72 64 5d 20 20 20 20 20 20 20 20 20 20 3b 20 73 |rd] ; s| 000021b0 74 6f 72 65 20 6f 75 72 20 70 72 69 76 61 74 65 |tore our private| 000021c0 20 77 6f 72 64 0d 09 2e 1a 20 20 20 20 20 20 20 | word.... | 000021d0 20 6d 6f 76 20 20 20 20 20 70 63 2c 72 31 34 0d | mov pc,r14.| 000021e0 09 38 04 0d 09 42 53 3b 20 2d 2d 2d 2d 2d 2d 2d |.8...BS; -------| 000021f0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00002230 2d 2d 2d 2d 2d 2d 0d 09 4c 4e 3b 20 72 65 70 6f |------..LN; repo| 00002240 72 74 20 61 6e 20 65 72 72 6f 72 20 75 73 69 6e |rt an error usin| 00002250 67 20 57 69 6d 70 5f 52 65 70 6f 72 74 45 72 72 |g Wimp_ReportErr| 00002260 6f 72 2c 20 73 65 74 20 63 6f 75 6c 64 20 6e 6f |or, set could no| 00002270 74 20 73 74 61 72 74 20 75 70 20 66 6c 61 67 20 |t start up flag | 00002280 74 68 65 6e 0d 09 56 0f 3b 20 63 6c 6f 73 65 64 |then..V.; closed| 00002290 6f 77 6e 0d 09 60 0b 3b 20 65 6e 74 72 79 0d 09 |own..`.; entry..| 000022a0 6a 1d 3b 20 20 20 20 20 20 20 72 30 20 2d 3e 20 |j.; r0 -> | 000022b0 65 72 72 6f 72 20 62 6c 6f 63 6b 0d 09 74 0a 3b |error block..t.;| 000022c0 20 65 78 69 74 0d 09 7e 13 3b 20 20 20 20 20 20 | exit..~.; | 000022d0 20 64 6f 65 73 6e 27 74 0d 09 88 04 0d 09 92 12 | doesn't........| 000022e0 2e 73 74 61 72 74 75 70 5f 65 72 72 6f 72 0d 09 |.startup_error..| 000022f0 9c 26 20 20 20 20 20 20 20 20 61 64 64 20 20 20 |.& add | 00002300 20 20 72 31 2c 72 31 32 2c 23 70 6f 6c 6c 5f 73 | r1,r12,#poll_s| 00002310 70 61 63 65 0d 09 a6 1e 20 20 20 20 20 20 20 20 |pace.... | 00002320 6c 64 72 20 20 20 20 20 72 32 2c 5b 72 30 5d 2c |ldr r2,[r0],| 00002330 23 34 0d 09 b0 1e 20 20 20 20 20 20 20 20 73 74 |#4.... st| 00002340 72 20 20 20 20 20 72 32 2c 5b 72 31 5d 2c 23 34 |r r2,[r1],#4| 00002350 0d 09 ba 2c 20 20 20 20 20 20 20 20 61 64 72 20 |..., adr | 00002360 20 20 20 20 72 32 2c 73 74 61 72 74 75 70 5f 65 | r2,startup_e| 00002370 72 72 6f 72 5f 6d 65 73 73 61 67 65 0d 09 c4 18 |rror_message....| 00002380 2e 73 74 61 72 74 75 70 5f 65 72 72 6f 72 5f 6c |.startup_error_l| 00002390 6f 6f 70 31 0d 09 ce 1e 20 20 20 20 20 20 20 20 |oop1.... | 000023a0 6c 64 72 62 20 20 20 20 72 33 2c 5b 72 32 5d 2c |ldrb r3,[r2],| 000023b0 23 31 0d 09 d8 19 20 20 20 20 20 20 20 20 63 6d |#1.... cm| 000023c0 70 20 20 20 20 20 72 33 2c 23 30 0d 09 e2 1e 20 |p r3,#0.... | 000023d0 20 20 20 20 20 20 20 73 74 72 6e 65 62 20 20 72 | strneb r| 000023e0 33 2c 5b 72 31 5d 2c 23 31 0d 09 ec 27 20 20 20 |3,[r1],#1...' | 000023f0 20 20 20 20 20 62 6e 65 20 20 20 20 20 73 74 61 | bne sta| 00002400 72 74 75 70 5f 65 72 72 6f 72 5f 6c 6f 6f 70 31 |rtup_error_loop1| 00002410 0d 09 f6 18 2e 73 74 61 72 74 75 70 5f 65 72 72 |.....startup_err| 00002420 6f 72 5f 6c 6f 6f 70 32 0d 0a 00 1e 20 20 20 20 |or_loop2.... | 00002430 20 20 20 20 6c 64 72 62 20 20 20 20 72 33 2c 5b | ldrb r3,[| 00002440 72 30 5d 2c 23 31 0d 0a 0a 19 20 20 20 20 20 20 |r0],#1.... | 00002450 20 20 63 6d 70 20 20 20 20 20 72 33 2c 23 30 0d | cmp r3,#0.| 00002460 0a 14 1e 20 20 20 20 20 20 20 20 73 74 72 6e 65 |... strne| 00002470 62 20 20 72 33 2c 5b 72 31 5d 2c 23 31 0d 0a 1e |b r3,[r1],#1...| 00002480 27 20 20 20 20 20 20 20 20 62 6e 65 20 20 20 20 |' bne | 00002490 20 73 74 61 72 74 75 70 5f 65 72 72 6f 72 5f 6c | startup_error_l| 000024a0 6f 6f 70 32 0d 0a 28 18 2e 73 74 61 72 74 75 70 |oop2..(..startup| 000024b0 5f 65 72 72 6f 72 5f 6c 6f 6f 70 33 0d 0a 32 1e |_error_loop3..2.| 000024c0 20 20 20 20 20 20 20 20 6c 64 72 62 20 20 20 20 | ldrb | 000024d0 72 33 2c 5b 72 32 5d 2c 23 31 0d 0a 3c 1e 20 20 |r3,[r2],#1..<. | 000024e0 20 20 20 20 20 20 73 74 72 62 20 20 20 20 72 33 | strb r3| 000024f0 2c 5b 72 31 5d 2c 23 31 0d 0a 46 19 20 20 20 20 |,[r1],#1..F. | 00002500 20 20 20 20 63 6d 70 20 20 20 20 20 72 33 2c 23 | cmp r3,#| 00002510 30 0d 0a 50 27 20 20 20 20 20 20 20 20 62 6e 65 |0..P' bne| 00002520 20 20 20 20 20 73 74 61 72 74 75 70 5f 65 72 72 | startup_err| 00002530 6f 72 5f 6c 6f 6f 70 33 0d 0a 5a 26 20 20 20 20 |or_loop3..Z& | 00002540 20 20 20 20 61 64 64 20 20 20 20 20 72 30 2c 72 | add r0,r| 00002550 31 32 2c 23 70 6f 6c 6c 5f 73 70 61 63 65 0d 0a |12,#poll_space..| 00002560 64 39 20 20 20 20 20 20 20 20 6d 6f 76 20 20 20 |d9 mov | 00002570 20 20 72 31 2c 23 32 20 20 20 20 20 20 20 20 20 | r1,#2 | 00002580 20 20 20 20 20 20 20 20 20 20 3b 20 63 61 6e 63 | ; canc| 00002590 65 6c 20 6f 6e 6c 79 0d 0a 6e 20 20 20 20 20 20 |el only..n | 000025a0 20 20 20 62 6c 20 20 20 20 20 20 72 65 70 6f 72 | bl repor| 000025b0 74 5f 65 72 72 6f 72 0d 0a 78 1d 20 20 20 20 20 |t_error..x. | 000025c0 20 20 20 62 6c 20 20 20 20 20 20 63 6c 6f 73 65 | bl close| 000025d0 64 6f 77 6e 0d 0a 82 19 20 20 20 20 20 20 20 20 |down.... | 000025e0 6d 76 6e 20 20 20 20 20 72 30 2c 23 30 0d 0a 8c |mvn r0,#0...| 000025f0 49 20 20 20 20 20 20 20 20 73 74 72 20 20 20 20 |I str | 00002600 20 72 30 2c 5b 72 31 32 5d 20 20 20 20 20 20 20 | r0,[r12] | 00002610 20 20 20 20 20 20 20 20 20 3b 20 73 65 74 20 63 | ; set c| 00002620 6f 75 6c 64 20 6e 6f 74 20 73 74 61 72 74 20 75 |ould not start u| 00002630 70 20 66 6c 61 67 0d 0a 96 1d 20 20 20 20 20 20 |p flag.... | 00002640 20 20 73 77 69 20 20 20 20 20 22 4f 53 5f 45 78 | swi "OS_Ex| 00002650 69 74 22 0d 0a a0 1a 2e 73 74 61 72 74 75 70 5f |it".....startup_| 00002660 65 72 72 6f 72 5f 6d 65 73 73 61 67 65 0d 0a aa |error_message...| 00002670 37 20 20 20 20 20 20 20 20 65 71 75 73 20 20 20 |7 equs | 00002680 20 22 49 63 6f 6e 20 43 6c 6f 63 6b 20 63 6f 75 | "Icon Clock cou| 00002690 6c 64 20 6e 6f 74 20 73 74 61 72 74 75 70 20 28 |ld not startup (| 000026a0 22 2b bd 30 0d 0a b4 34 20 20 20 20 20 20 20 20 |"+.0...4 | 000026b0 65 71 75 73 20 20 20 20 22 29 20 61 6e 64 20 6d |equs ") and m| 000026c0 75 73 74 20 65 78 69 74 20 69 6d 6d 65 64 69 61 |ust exit immedia| 000026d0 74 65 6c 79 22 2b bd 30 0d 0a be 11 20 20 20 20 |tely"+.0.... | 000026e0 20 20 20 20 61 6c 69 67 6e 0d 0a c8 04 0d 0a d2 | align.......| 000026f0 53 3b 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |S; -------------| 00002700 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00002740 0d 0a dc 52 3b 20 72 65 61 64 20 74 68 65 20 6f |...R; read the o| 00002750 70 74 69 6f 6e 73 20 76 61 72 69 61 62 6c 65 2e |ptions variable.| 00002760 20 52 65 70 6f 72 74 20 61 6e 64 20 65 72 72 6f | Report and erro| 00002770 72 20 69 66 20 69 6e 76 61 6c 69 64 20 61 6e 64 |r if invalid and| 00002780 20 74 68 65 6e 20 75 73 65 20 64 65 66 61 75 6c | then use defaul| 00002790 74 73 0d 0a e6 37 3b 20 69 66 20 75 6e 64 65 66 |ts...7; if undef| 000027a0 69 6e 65 64 20 75 73 65 20 64 65 66 61 75 6c 74 |ined use default| 000027b0 73 20 62 75 74 20 64 6f 20 6e 6f 74 20 72 65 70 |s but do not rep| 000027c0 6f 72 74 20 65 72 72 6f 72 0d 0a f0 04 0d 0a fa |ort error.......| 000027d0 1a 2e 72 65 61 64 5f 6f 70 74 69 6f 6e 73 5f 76 |..read_options_v| 000027e0 61 72 69 61 62 6c 65 0d 0b 04 1e 20 20 20 20 20 |ariable.... | 000027f0 20 20 20 73 74 6d 66 64 20 20 20 72 31 33 21 2c | stmfd r13!,| 00002800 7b 72 31 34 7d 0d 0b 0e 2c 20 20 20 20 20 20 20 |{r14}..., | 00002810 20 61 64 72 20 20 20 20 20 72 30 2c 6f 70 74 69 | adr r0,opti| 00002820 6f 6e 73 5f 76 61 72 69 61 62 6c 65 5f 6e 61 6d |ons_variable_nam| 00002830 65 0d 0b 18 26 20 20 20 20 20 20 20 20 61 64 64 |e...& add| 00002840 20 20 20 20 20 72 31 2c 72 31 32 2c 23 77 6f 72 | r1,r12,#wor| 00002850 6b 5f 73 70 61 63 65 0d 0b 22 46 20 20 20 20 20 |k_space.."F | 00002860 20 20 20 6d 76 6e 20 20 20 20 20 72 32 2c 23 30 | mvn r2,#0| 00002870 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00002880 20 20 20 3b 20 63 68 65 63 6b 20 66 6f 72 20 65 | ; check for e| 00002890 78 69 73 74 65 6e 63 65 20 6f 6e 6c 79 0d 0b 2c |xistence only..,| 000028a0 38 20 20 20 20 20 20 20 20 6d 6f 76 20 20 20 20 |8 mov | 000028b0 20 72 33 2c 23 30 20 20 20 20 20 20 20 20 20 20 | r3,#0 | 000028c0 20 20 20 20 20 20 20 20 20 3b 20 66 69 72 73 74 | ; first| 000028d0 20 63 61 6c 6c 0d 0b 36 19 20 20 20 20 20 20 20 | call..6. | 000028e0 20 6d 6f 76 20 20 20 20 20 72 34 2c 23 33 0d 0b | mov r4,#3..| 000028f0 40 24 20 20 20 20 20 20 20 20 73 77 69 20 20 20 |@$ swi | 00002900 20 20 22 58 4f 53 5f 52 65 61 64 56 61 72 56 61 | "XOS_ReadVarVa| 00002910 6c 22 0d 0b 4a 44 20 20 20 20 20 20 20 20 74 65 |l"..JD te| 00002920 71 20 20 20 20 20 72 32 2c 23 30 20 20 20 20 20 |q r2,#0 | 00002930 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 | ; | 00002940 73 65 65 20 69 66 20 76 61 72 69 61 62 6c 65 20 |see if variable | 00002950 65 78 69 73 74 73 0d 0b 54 2a 20 20 20 20 20 20 |exists..T* | 00002960 20 20 62 65 71 20 20 20 20 20 6f 70 74 69 6f 6e | beq option| 00002970 73 5f 76 61 72 69 61 62 6c 65 5f 75 6e 73 65 74 |s_variable_unset| 00002980 0d 0b 5e 2c 20 20 20 20 20 20 20 20 61 64 72 20 |..^, adr | 00002990 20 20 20 20 72 30 2c 6f 70 74 69 6f 6e 73 5f 76 | r0,options_v| 000029a0 61 72 69 61 62 6c 65 5f 6e 61 6d 65 0d 0b 68 2f |ariable_name..h/| 000029b0 20 20 20 20 20 20 20 20 6d 6f 76 20 20 20 20 20 | mov | 000029c0 72 32 2c 23 6f 70 74 69 6f 6e 73 5f 76 61 72 69 |r2,#options_vari| 000029d0 61 62 6c 65 5f 6c 65 6e 67 74 68 0d 0b 72 38 20 |able_length..r8 | 000029e0 20 20 20 20 20 20 20 6d 6f 76 20 20 20 20 20 72 | mov r| 000029f0 33 2c 23 30 20 20 20 20 20 20 20 20 20 20 20 20 |3,#0 | 00002a00 20 20 20 20 20 20 20 3b 20 66 69 72 73 74 20 63 | ; first c| 00002a10 61 6c 6c 0d 0b 7c 19 20 20 20 20 20 20 20 20 6d |all..|. m| 00002a20 6f 76 20 20 20 20 20 72 34 2c 23 33 0d 0b 86 24 |ov r4,#3...$| 00002a30 20 20 20 20 20 20 20 20 73 77 69 20 20 20 20 20 | swi | 00002a40 22 58 4f 53 5f 52 65 61 64 56 61 72 56 61 6c 22 |"XOS_ReadVarVal"| 00002a50 0d 0b 90 2c 20 20 20 20 20 20 20 20 62 76 73 20 |..., bvs | 00002a60 20 20 20 20 6f 70 74 69 6f 6e 73 5f 76 61 72 69 | options_vari| 00002a70 61 62 6c 65 5f 69 6e 76 61 6c 69 64 0d 0b 9a 2f |able_invalid.../| 00002a80 20 20 20 20 20 20 20 20 74 65 71 20 20 20 20 20 | teq | 00002a90 72 32 2c 23 6f 70 74 69 6f 6e 73 5f 76 61 72 69 |r2,#options_vari| 00002aa0 61 62 6c 65 5f 6c 65 6e 67 74 68 0d 0b a4 2c 20 |able_length..., | 00002ab0 20 20 20 20 20 20 20 62 6e 65 20 20 20 20 20 6f | bne o| 00002ac0 70 74 69 6f 6e 73 5f 76 61 72 69 61 62 6c 65 5f |ptions_variable_| 00002ad0 69 6e 76 61 6c 69 64 0d 0b ae 22 20 20 20 20 20 |invalid..." | 00002ae0 20 20 20 6d 6f 76 20 20 20 20 20 72 32 2c 23 97 | mov r2,#.| 00002af0 22 20 22 20 3c 3c 20 31 36 0d 0b b8 1b 20 20 20 |" " << 16.... | 00002b00 20 20 20 20 20 6c 64 72 62 20 20 20 20 72 30 2c | ldrb r0,| 00002b10 5b 72 31 5d 0d 0b c2 1c 20 20 20 20 20 20 20 20 |[r1].... | 00002b20 61 64 64 20 20 20 20 20 72 32 2c 72 32 2c 72 30 |add r2,r2,r0| 00002b30 0d 0b cc 1e 20 20 20 20 20 20 20 20 6c 64 72 62 |.... ldrb| 00002b40 20 20 20 20 72 30 2c 5b 72 31 2c 23 31 5d 0d 0b | r0,[r1,#1]..| 00002b50 d6 23 20 20 20 20 20 20 20 20 61 64 64 20 20 20 |.# add | 00002b60 20 20 72 32 2c 72 32 2c 72 30 2c 6c 73 6c 20 23 | r2,r2,r0,lsl #| 00002b70 38 0d 0b e0 1d 20 20 20 20 20 20 20 20 6c 64 72 |8.... ldr| 00002b80 20 20 20 20 20 72 30 2c 74 77 65 6c 76 65 0d 0b | r0,twelve..| 00002b90 ea 19 20 20 20 20 20 20 20 20 74 65 71 20 20 20 |.. teq | 00002ba0 20 20 72 30 2c 72 32 0d 0b f4 19 20 20 20 20 20 | r0,r2.... | 00002bb0 20 20 20 6d 6f 76 65 71 20 20 20 72 30 2c 23 30 | moveq r0,#0| 00002bc0 0d 0b fe 29 20 20 20 20 20 20 20 20 73 74 72 65 |...) stre| 00002bd0 71 62 20 20 72 30 2c 5b 72 31 32 2c 23 74 69 6d |qb r0,[r12,#tim| 00002be0 65 5f 66 6f 72 6d 61 74 5d 0d 0c 08 23 20 20 20 |e_format]...# | 00002bf0 20 20 20 20 20 62 65 71 20 20 20 20 20 63 68 65 | beq che| 00002c00 63 6b 5f 63 6c 6f 63 6b 66 61 63 65 0d 0c 12 22 |ck_clockface..."| 00002c10 20 20 20 20 20 20 20 20 6c 64 72 20 20 20 20 20 | ldr | 00002c20 72 30 2c 74 77 65 6e 74 79 5f 66 6f 75 72 0d 0c |r0,twenty_four..| 00002c30 1c 19 20 20 20 20 20 20 20 20 74 65 71 20 20 20 |.. teq | 00002c40 20 20 72 30 2c 72 32 0d 0c 26 2c 20 20 20 20 20 | r0,r2..&, | 00002c50 20 20 20 62 6e 65 20 20 20 20 20 6f 70 74 69 6f | bne optio| 00002c60 6e 73 5f 76 61 72 69 61 62 6c 65 5f 69 6e 76 61 |ns_variable_inva| 00002c70 6c 69 64 0d 0c 30 19 20 20 20 20 20 20 20 20 6d |lid..0. m| 00002c80 6f 76 20 20 20 20 20 72 30 2c 23 31 0d 0c 3a 29 |ov r0,#1..:)| 00002c90 20 20 20 20 20 20 20 20 73 74 72 62 20 20 20 20 | strb | 00002ca0 72 30 2c 5b 72 31 32 2c 23 74 69 6d 65 5f 66 6f |r0,[r12,#time_fo| 00002cb0 72 6d 61 74 5d 0d 0c 44 14 2e 63 68 65 63 6b 5f |rmat]..D..check_| 00002cc0 63 6c 6f 63 6b 66 61 63 65 0d 0c 4e 1e 20 20 20 |clockface..N. | 00002cd0 20 20 20 20 20 6c 64 72 62 20 20 20 20 72 30 2c | ldrb r0,| 00002ce0 5b 72 31 2c 23 32 5d 0d 0c 58 3d 20 20 20 20 20 |[r1,#2]..X= | 00002cf0 20 20 20 62 69 63 20 20 20 20 20 72 30 2c 72 30 | bic r0,r0| 00002d00 2c 23 31 20 3c 3c 20 35 20 20 20 20 20 20 20 20 |,#1 << 5 | 00002d10 20 20 20 3b 20 6d 61 6b 65 20 75 70 70 65 72 20 | ; make upper | 00002d20 63 61 73 65 0d 0c 62 1c 20 20 20 20 20 20 20 20 |case..b. | 00002d30 74 65 71 20 20 20 20 20 72 30 2c 23 97 22 52 22 |teq r0,#."R"| 00002d40 0d 0c 6c 1c 20 20 20 20 20 20 20 20 74 65 71 6e |..l. teqn| 00002d50 65 20 20 20 72 30 2c 23 97 22 4c 22 0d 0c 76 1c |e r0,#."L"..v.| 00002d60 20 20 20 20 20 20 20 20 74 65 71 6e 65 20 20 20 | teqne | 00002d70 72 30 2c 23 97 22 42 22 0d 0c 80 2c 20 20 20 20 |r0,#."B"..., | 00002d80 20 20 20 20 62 6e 65 20 20 20 20 20 6f 70 74 69 | bne opti| 00002d90 6f 6e 73 5f 76 61 72 69 61 62 6c 65 5f 69 6e 76 |ons_variable_inv| 00002da0 61 6c 69 64 0d 0c 8a 1c 20 20 20 20 20 20 20 20 |alid.... | 00002db0 63 6d 70 20 20 20 20 20 72 30 2c 23 97 22 4c 22 |cmp r0,#."L"| 00002dc0 0d 0c 94 19 20 20 20 20 20 20 20 20 6d 6f 76 6c |.... movl| 00002dd0 74 20 20 20 72 30 2c 23 32 0d 0c 9e 19 20 20 20 |t r0,#2.... | 00002de0 20 20 20 20 20 6d 6f 76 65 71 20 20 20 72 30 2c | moveq r0,| 00002df0 23 31 0d 0c a8 19 20 20 20 20 20 20 20 20 6d 6f |#1.... mo| 00002e00 76 67 74 20 20 20 72 30 2c 23 30 0d 0c b2 27 20 |vgt r0,#0...' | 00002e10 20 20 20 20 20 20 20 73 74 72 62 20 20 20 20 72 | strb r| 00002e20 30 2c 5b 72 31 32 2c 23 63 6c 6f 63 6b 66 61 63 |0,[r12,#clockfac| 00002e30 65 5d 0d 0c bc 1d 20 20 20 20 20 20 20 20 6c 64 |e].... ld| 00002e40 6d 66 64 20 20 20 72 31 33 21 2c 7b 70 63 7d 0d |mfd r13!,{pc}.| 00002e50 0c c6 1d 2e 6f 70 74 69 6f 6e 73 5f 76 61 72 69 |....options_vari| 00002e60 61 62 6c 65 5f 69 6e 76 61 6c 69 64 0d 0c d0 35 |able_invalid...5| 00002e70 20 20 20 20 20 20 20 20 61 64 72 20 20 20 20 20 | adr | 00002e80 72 30 2c 6f 70 74 69 6f 6e 73 5f 76 61 72 69 61 |r0,options_varia| 00002e90 62 6c 65 5f 69 6e 76 61 6c 69 64 5f 65 72 72 6f |ble_invalid_erro| 00002ea0 72 0d 0c da 23 20 20 20 20 20 20 20 20 62 6c 20 |r...# bl | 00002eb0 20 20 20 20 20 72 65 70 6f 72 74 5f 65 72 72 6f | report_erro| 00002ec0 72 5f 6f 6b 0d 0c e4 1b 2e 6f 70 74 69 6f 6e 73 |r_ok.....options| 00002ed0 5f 76 61 72 69 61 62 6c 65 5f 75 6e 73 65 74 0d |_variable_unset.| 00002ee0 0c ee 2b 20 20 20 20 20 20 20 20 6d 6f 76 20 20 |..+ mov | 00002ef0 20 20 20 72 30 2c 23 74 69 6d 65 5f 66 6f 72 6d | r0,#time_form| 00002f00 61 74 5f 64 65 66 61 75 6c 74 0d 0c f8 29 20 20 |at_default...) | 00002f10 20 20 20 20 20 20 73 74 72 62 20 20 20 20 72 30 | strb r0| 00002f20 2c 5b 72 31 32 2c 23 74 69 6d 65 5f 66 6f 72 6d |,[r12,#time_form| 00002f30 61 74 5d 0d 0d 02 29 20 20 20 20 20 20 20 20 6d |at]...) m| 00002f40 6f 76 20 20 20 20 20 72 30 2c 23 63 6c 6f 63 6b |ov r0,#clock| 00002f50 66 61 63 65 5f 64 65 66 61 75 6c 74 0d 0d 0c 27 |face_default...'| 00002f60 20 20 20 20 20 20 20 20 73 74 72 62 20 20 20 20 | strb | 00002f70 72 30 2c 5b 72 31 32 2c 23 63 6c 6f 63 6b 66 61 |r0,[r12,#clockfa| 00002f80 63 65 5d 0d 0d 16 28 20 20 20 20 20 20 20 20 62 |ce]...( b| 00002f90 6c 20 20 20 20 20 20 73 65 74 5f 6f 70 74 69 6f |l set_optio| 00002fa0 6e 73 5f 76 61 72 69 61 62 6c 65 0d 0d 20 1d 20 |ns_variable.. . | 00002fb0 20 20 20 20 20 20 20 6c 64 6d 66 64 20 20 20 72 | ldmfd r| 00002fc0 31 33 21 2c 7b 70 63 7d 0d 0d 2a 23 2e 6f 70 74 |13!,{pc}..*#.opt| 00002fd0 69 6f 6e 73 5f 76 61 72 69 61 62 6c 65 5f 69 6e |ions_variable_in| 00002fe0 76 61 6c 69 64 5f 65 72 72 6f 72 0d 0d 34 15 20 |valid_error..4. | 00002ff0 20 20 20 20 20 20 20 65 71 75 64 20 20 20 20 30 | equd 0| 00003000 0d 0d 3e 46 20 20 20 20 20 20 20 20 65 71 75 73 |..>F equs| 00003010 20 20 20 20 22 4f 70 74 69 6f 6e 73 20 76 61 72 | "Options var| 00003020 69 61 62 6c 65 20 28 49 63 6f 6e 43 6c 6f 63 6b |iable (IconClock| 00003030 24 4f 70 74 69 6f 6e 73 29 20 69 73 20 69 6e 76 |$Options) is inv| 00003040 61 6c 69 64 2e 22 0d 0d 48 3a 20 20 20 20 20 20 |alid."..H: | 00003050 20 20 65 71 75 73 20 20 20 20 22 20 55 73 69 6e | equs " Usin| 00003060 67 20 74 68 65 20 64 65 66 61 75 6c 74 20 73 65 |g the default se| 00003070 74 74 69 6e 67 20 6f 66 20 32 34 52 22 2b bd 30 |tting of 24R"+.0| 00003080 0d 0d 52 11 20 20 20 20 20 20 20 20 61 6c 69 67 |..R. alig| 00003090 6e 0d 0d 5c 1a 2e 6f 70 74 69 6f 6e 73 5f 76 61 |n..\..options_va| 000030a0 72 69 61 62 6c 65 5f 6e 61 6d 65 0d 0d 66 2a 20 |riable_name..f* | 000030b0 20 20 20 20 20 20 20 65 71 75 73 20 20 20 20 22 | equs "| 000030c0 49 63 6f 6e 43 6c 6f 63 6b 24 4f 70 74 69 6f 6e |IconClock$Option| 000030d0 73 22 2b bd 30 0d 0d 70 70 70 67 6e 0d 0d 7a 0b |s"+.0..pppgn..z.| 000030e0 2e 74 77 65 6c 76 65 0d 0d 84 1c 20 20 20 20 20 |.twelve.... | 000030f0 20 20 20 65 71 75 73 20 20 20 20 22 31 32 20 22 | equs "12 "| 00003100 2b bd 30 0d 0d 8e 10 2e 74 77 65 6e 74 79 5f 66 |+.0.....twenty_f| 00003110 6f 75 72 0d 0d 98 1c 20 20 20 20 20 20 20 20 65 |our.... e| 00003120 71 75 73 20 20 20 20 22 32 34 20 22 2b bd 30 0d |qus "24 "+.0.| 00003130 0d a2 04 0d 0d ac 53 3b 20 2d 2d 2d 2d 2d 2d 2d |......S; -------| 00003140 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00003180 2d 2d 2d 2d 2d 2d 0d 0d b6 1e 3b 20 73 65 74 20 |------....; set | 00003190 74 68 65 20 6f 70 74 69 6f 6e 73 20 76 61 72 69 |the options vari| 000031a0 61 62 6c 65 0d 0d c0 04 0d 0d ca 19 2e 73 65 74 |able.........set| 000031b0 5f 6f 70 74 69 6f 6e 73 5f 76 61 72 69 61 62 6c |_options_variabl| 000031c0 65 0d 0d d4 1e 20 20 20 20 20 20 20 20 73 74 6d |e.... stm| 000031d0 66 64 20 20 20 72 31 33 21 2c 7b 72 31 34 7d 0d |fd r13!,{r14}.| 000031e0 0d de 26 20 20 20 20 20 20 20 20 61 64 64 20 20 |..& add | 000031f0 20 20 20 72 31 2c 72 31 32 2c 23 77 6f 72 6b 5f | r1,r12,#work_| 00003200 73 70 61 63 65 0d 0d e8 29 20 20 20 20 20 20 20 |space...) | 00003210 20 6c 64 72 62 20 20 20 20 72 30 2c 5b 72 31 32 | ldrb r0,[r12| 00003220 2c 23 74 69 6d 65 5f 66 6f 72 6d 61 74 5d 0d 0d |,#time_format]..| 00003230 f2 19 20 20 20 20 20 20 20 20 74 65 71 20 20 20 |.. teq | 00003240 20 20 72 30 2c 23 30 0d 0d fc 1d 20 20 20 20 20 | r0,#0.... | 00003250 20 20 20 6c 64 72 65 71 20 20 20 72 30 2c 74 77 | ldreq r0,tw| 00003260 65 6c 76 65 0d 0e 06 22 20 20 20 20 20 20 20 20 |elve..." | 00003270 6c 64 72 6e 65 20 20 20 72 30 2c 74 77 65 6e 74 |ldrne r0,twent| 00003280 79 5f 66 6f 75 72 0d 0e 10 1b 20 20 20 20 20 20 |y_four.... | 00003290 20 20 73 74 72 20 20 20 20 20 72 30 2c 5b 72 31 | str r0,[r1| 000032a0 5d 0d 0e 1a 27 20 20 20 20 20 20 20 20 6c 64 72 |]...' ldr| 000032b0 62 20 20 20 20 72 30 2c 5b 72 31 32 2c 23 63 6c |b r0,[r12,#cl| 000032c0 6f 63 6b 66 61 63 65 5d 0d 0e 24 19 20 20 20 20 |ockface]..$. | 000032d0 20 20 20 20 63 6d 70 20 20 20 20 20 72 30 2c 23 | cmp r0,#| 000032e0 31 0d 0e 2e 1c 20 20 20 20 20 20 20 20 6d 6f 76 |1.... mov| 000032f0 6c 74 20 20 20 72 30 2c 23 97 22 52 22 0d 0e 38 |lt r0,#."R"..8| 00003300 1c 20 20 20 20 20 20 20 20 6d 6f 76 65 71 20 20 |. moveq | 00003310 20 72 30 2c 23 97 22 4c 22 0d 0e 42 1c 20 20 20 | r0,#."L"..B. | 00003320 20 20 20 20 20 6d 6f 76 67 74 20 20 20 72 30 2c | movgt r0,| 00003330 23 97 22 42 22 0d 0e 4c 1e 20 20 20 20 20 20 20 |#."B"..L. | 00003340 20 73 74 72 62 20 20 20 20 72 30 2c 5b 72 31 2c | strb r0,[r1,| 00003350 23 32 5d 0d 0e 56 2c 20 20 20 20 20 20 20 20 61 |#2]..V, a| 00003360 64 72 20 20 20 20 20 72 30 2c 6f 70 74 69 6f 6e |dr r0,option| 00003370 73 5f 76 61 72 69 61 62 6c 65 5f 6e 61 6d 65 0d |s_variable_name.| 00003380 0e 60 2f 20 20 20 20 20 20 20 20 6d 6f 76 20 20 |.`/ mov | 00003390 20 20 20 72 32 2c 23 6f 70 74 69 6f 6e 73 5f 76 | r2,#options_v| 000033a0 61 72 69 61 62 6c 65 5f 6c 65 6e 67 74 68 0d 0e |ariable_length..| 000033b0 6a 38 20 20 20 20 20 20 20 20 6d 6f 76 20 20 20 |j8 mov | 000033c0 20 20 72 33 2c 23 30 20 20 20 20 20 20 20 20 20 | r3,#0 | 000033d0 20 20 20 20 20 20 20 20 20 20 3b 20 66 69 72 73 | ; firs| 000033e0 74 20 63 61 6c 6c 0d 0e 74 3c 20 20 20 20 20 20 |t call..t< | 000033f0 20 20 6d 6f 76 20 20 20 20 20 72 34 2c 23 30 20 | mov r4,#0 | 00003400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00003410 20 20 3b 20 74 79 70 65 20 69 73 20 73 74 72 69 | ; type is stri| 00003420 6e 67 0d 0e 7e 23 20 20 20 20 20 20 20 20 73 77 |ng..~# sw| 00003430 69 20 20 20 20 20 22 58 4f 53 5f 53 65 74 56 61 |i "XOS_SetVa| 00003440 72 56 61 6c 22 0d 0e 88 23 20 20 20 20 20 20 20 |rVal"...# | 00003450 20 62 6c 76 73 20 20 20 20 72 65 70 6f 72 74 5f | blvs report_| 00003460 65 72 72 6f 72 5f 6f 6b 0d 0e 92 1d 20 20 20 20 |error_ok.... | 00003470 20 20 20 20 6c 64 6d 66 64 20 20 20 72 31 33 21 | ldmfd r13!| 00003480 2c 7b 70 63 7d 0d 0e 9c 04 0d 0e a6 53 3b 20 2d |,{pc}.......S; -| 00003490 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 000034d0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0e b0 27 |------------...'| 000034e0 3b 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 75 73 |; information us| 000034f0 65 64 20 62 79 20 74 61 73 6b 20 73 74 61 72 74 |ed by task start| 00003500 20 75 70 0d 0e ba 04 0d 0e c4 09 2e 74 61 73 6b | up.........task| 00003510 0d 0e ce 1a 20 20 20 20 20 20 20 20 65 71 75 73 |.... equs| 00003520 20 20 20 20 22 54 41 53 4b 22 0d 0e d8 12 2e 73 | "TASK".....s| 00003530 77 69 74 63 68 65 72 5f 6e 61 6d 65 0d 0e e2 26 |witcher_name...&| 00003540 20 20 20 20 20 20 20 20 65 71 75 73 20 20 20 20 | equs | 00003550 22 49 63 6f 6e 62 61 72 20 43 6c 6f 63 6b 22 2b |"Iconbar Clock"+| 00003560 bd 30 0d 0e ec ec ec 67 6e 0d 0e f6 04 0d 0f 00 |.0.....gn.......| 00003570 53 3b 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |S; -------------| 00003580 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 000035c0 0d 0f 0a 19 3b 20 50 75 74 20 69 63 6f 6e 20 6f |....; Put icon o| 000035d0 6e 20 69 63 6f 6e 62 61 72 0d 0f 14 04 0d 0f 1e |n iconbar.......| 000035e0 10 2e 63 72 65 61 74 65 5f 69 63 6f 6e 0d 0f 28 |..create_icon..(| 000035f0 1e 20 20 20 20 20 20 20 20 73 74 6d 66 64 20 20 |. stmfd | 00003600 20 72 31 33 21 2c 7b 72 31 34 7d 0d 0f 32 1d 20 | r13!,{r14}..2. | 00003610 20 20 20 20 20 20 20 62 6c 20 20 20 20 20 20 72 | bl r| 00003620 65 61 64 5f 74 69 6d 65 0d 0f 3c 26 20 20 20 20 |ead_time..<& | 00003630 20 20 20 20 61 64 72 20 20 20 20 20 72 30 2c 69 | adr r0,i| 00003640 63 6f 6e 5f 76 61 6c 69 64 61 74 69 6f 6e 0d 0f |con_validation..| 00003650 46 2a 20 20 20 20 20 20 20 20 61 64 72 20 20 20 |F* adr | 00003660 20 20 72 31 2c 65 6e 64 5f 69 63 6f 6e 5f 76 61 | r1,end_icon_va| 00003670 6c 69 64 61 74 69 6f 6e 0d 0f 50 2f 20 20 20 20 |lidation..P/ | 00003680 20 20 20 20 61 64 64 20 20 20 20 20 72 32 2c 72 | add r2,r| 00003690 31 32 2c 23 72 6d 61 5f 69 63 6f 6e 5f 76 61 6c |12,#rma_icon_val| 000036a0 69 64 61 74 69 6f 6e 0d 0f 5a 18 20 20 20 20 20 |idation..Z. | 000036b0 20 20 20 62 6c 20 20 20 20 20 20 63 6f 70 79 0d | bl copy.| 000036c0 0f 64 2a 20 20 20 20 20 20 20 20 62 6c 20 20 20 |.d* bl | 000036d0 20 20 20 73 65 74 75 70 5f 69 63 6f 6e 5f 73 70 | setup_icon_sp| 000036e0 72 69 74 65 5f 6e 61 6d 65 0d 0f 6e 27 20 20 20 |rite_name..n' | 000036f0 20 20 20 20 20 61 64 64 20 20 20 20 20 72 32 2c | add r2,| 00003700 72 31 32 2c 23 73 70 72 69 74 65 5f 6e 61 6d 65 |r12,#sprite_name| 00003710 0d 0f 78 2c 20 20 20 20 20 20 20 20 62 6c 20 20 |..x, bl | 00003720 20 20 20 20 63 68 65 63 6b 5f 73 70 72 69 74 65 | check_sprite| 00003730 5f 69 6e 5f 77 69 6d 70 70 6f 6f 6c 0d 0f 82 21 |_in_wimppool...!| 00003740 20 20 20 20 20 20 20 20 62 76 73 20 20 20 20 20 | bvs | 00003750 73 74 61 72 74 75 70 5f 65 72 72 6f 72 0d 0f 8c |startup_error...| 00003760 23 20 20 20 20 20 20 20 20 61 64 72 20 20 20 20 |# adr | 00003770 20 72 30 2c 69 63 6f 6e 62 61 72 5f 69 63 6f 6e | r0,iconbar_icon| 00003780 0d 0f 96 27 20 20 20 20 20 20 20 20 61 64 72 20 |...' adr | 00003790 20 20 20 20 72 31 2c 65 6e 64 5f 69 63 6f 6e 62 | r1,end_iconb| 000037a0 61 72 5f 69 63 6f 6e 0d 0f a0 26 20 20 20 20 20 |ar_icon...& | 000037b0 20 20 20 61 64 64 20 20 20 20 20 72 32 2c 72 31 | add r2,r1| 000037c0 32 2c 23 70 6f 6c 6c 5f 73 70 61 63 65 0d 0f aa |2,#poll_space...| 000037d0 18 20 20 20 20 20 20 20 20 62 6c 20 20 20 20 20 |. bl | 000037e0 20 63 6f 70 79 0d 0f b4 26 20 20 20 20 20 20 20 | copy...& | 000037f0 20 61 64 64 20 20 20 20 20 72 31 2c 72 31 32 2c | add r1,r12,| 00003800 23 70 6f 6c 6c 5f 73 70 61 63 65 0d 0f be 2f 20 |#poll_space.../ | 00003810 20 20 20 20 20 20 20 61 64 64 20 20 20 20 20 72 | add r| 00003820 30 2c 72 31 32 2c 23 72 6d 61 5f 69 63 6f 6e 5f |0,r12,#rma_icon_| 00003830 76 61 6c 69 64 61 74 69 6f 6e 0d 0f c8 3f 20 20 |validation...? | 00003840 20 20 20 20 20 20 73 74 72 20 20 20 20 20 72 30 | str r0| 00003850 2c 5b 72 31 2c 23 70 75 74 5f 69 63 6f 6e 5f 76 |,[r1,#put_icon_v| 00003860 61 6c 69 64 61 74 69 6f 6e 20 2d 20 69 63 6f 6e |alidation - icon| 00003870 62 61 72 5f 69 63 6f 6e 5d 0d 0f d2 29 20 20 20 |bar_icon]...) | 00003880 20 20 20 20 20 61 64 64 20 20 20 20 20 72 30 2c | add r0,| 00003890 72 31 32 2c 23 72 6d 61 5f 69 63 6f 6e 5f 74 65 |r12,#rma_icon_te| 000038a0 78 74 0d 0f dc 39 20 20 20 20 20 20 20 20 73 74 |xt...9 st| 000038b0 72 20 20 20 20 20 72 30 2c 5b 72 31 2c 23 70 75 |r r0,[r1,#pu| 000038c0 74 5f 69 63 6f 6e 5f 74 65 78 74 20 2d 20 69 63 |t_icon_text - ic| 000038d0 6f 6e 62 61 72 5f 69 63 6f 6e 5d 0d 0f e6 26 20 |onbar_icon]...& | 000038e0 20 20 20 20 20 20 20 73 77 69 20 20 20 20 20 22 | swi "| 000038f0 58 57 69 6d 70 5f 43 72 65 61 74 65 49 63 6f 6e |XWimp_CreateIcon| 00003900 22 0d 0f f0 1f 20 20 20 20 20 20 20 20 62 76 73 |".... bvs| 00003910 20 20 20 20 20 66 61 74 61 6c 5f 65 72 72 6f 72 | fatal_error| 00003920 0d 0f fa 29 20 20 20 20 20 20 20 20 73 74 72 20 |...) str | 00003930 20 20 20 20 72 30 2c 5b 72 31 32 2c 23 69 63 6f | r0,[r12,#ico| 00003940 6e 5f 68 61 6e 64 6c 65 5d 0d 10 04 1d 20 20 20 |n_handle].... | 00003950 20 20 20 20 20 6c 64 6d 66 64 20 20 20 72 31 33 | ldmfd r13| 00003960 21 2c 7b 70 63 7d 0d 10 0e 04 0d 10 18 53 3b 20 |!,{pc}.......S; | 00003970 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 000039b0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 10 22 |-------------.."| 000039c0 21 3b 20 64 65 66 69 6e 69 74 69 6f 6e 20 66 6f |!; definition fo| 000039d0 72 20 69 63 6f 6e 62 61 72 20 69 63 6f 6e 0d 10 |r iconbar icon..| 000039e0 2c 04 0d 10 36 11 2e 69 63 6f 6e 62 61 72 5f 69 |,...6..iconbar_i| 000039f0 63 6f 6e 0d 10 40 48 20 20 20 20 20 20 20 20 65 |con..@H e| 00003a00 71 75 64 20 20 20 20 2d 31 20 20 20 20 20 20 20 |qud -1 | 00003a10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b | ;| 00003a20 20 72 69 67 68 74 20 68 61 6e 64 20 73 69 64 65 | right hand side| 00003a30 20 6f 66 20 69 63 6f 6e 62 61 72 0d 10 4a 15 20 | of iconbar..J. | 00003a40 20 20 20 20 20 20 20 65 71 75 64 20 20 20 20 30 | equd 0| 00003a50 0d 10 54 15 20 20 20 20 20 20 20 20 65 71 75 64 |..T. equd| 00003a60 20 20 20 20 30 0d 10 5e 17 20 20 20 20 20 20 20 | 0..^. | 00003a70 20 65 71 75 64 20 20 20 20 31 31 32 0d 10 68 16 | equd 112..h.| 00003a80 20 20 20 20 20 20 20 20 65 71 75 64 20 20 20 20 | equd | 00003a90 36 38 0d 10 72 48 20 20 20 20 20 20 20 20 65 71 |68..rH eq| 00003aa0 75 64 20 20 20 20 31 2b 32 2b 28 31 20 3c 3c 20 |ud 1+2+(1 << | 00003ab0 33 29 2b 28 31 20 3c 3c 20 34 29 2b 28 31 20 3c |3)+(1 << 4)+(1 <| 00003ac0 3c 20 38 29 2b 28 33 20 3c 3c 20 31 32 29 2b 28 |< 8)+(3 << 12)+(| 00003ad0 26 31 37 20 3c 3c 20 32 34 29 0d 10 7c 40 20 20 |&17 << 24)..|@ | 00003ae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | * 00003b00 20 20 20 20 20 20 3b 20 74 65 78 74 20 2b 20 73 | ; text + s| 00003b10 70 72 69 74 65 20 69 63 6f 6e 0d 10 86 51 20 20 |prite icon...Q | 00003b20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | * 00003b40 20 20 20 20 20 20 3b 20 63 65 6e 74 72 65 64 20 | ; centred | 00003b50 68 6f 72 69 7a 6f 6e 74 61 6c 6c 79 20 61 6e 64 |horizontally and| 00003b60 20 76 65 72 74 69 63 61 6c 6c 79 0d 10 90 12 2e | vertically.....| 00003b70 70 75 74 5f 69 63 6f 6e 5f 74 65 78 74 0d 10 9a |put_icon_text...| 00003b80 15 20 20 20 20 20 20 20 20 65 71 75 64 20 20 20 |. equd | 00003b90 20 30 0d 10 a4 18 2e 70 75 74 5f 69 63 6f 6e 5f | 0.....put_icon_| 00003ba0 76 61 6c 69 64 61 74 69 6f 6e 0d 10 ae 15 20 20 |validation.... | 00003bb0 20 20 20 20 20 20 65 71 75 64 20 20 20 20 30 0d | equd 0.| 00003bc0 10 b8 15 20 20 20 20 20 20 20 20 65 71 75 64 20 |... equd | 00003bd0 20 20 20 36 0d 10 c2 15 2e 65 6e 64 5f 69 63 6f | 6.....end_ico| 00003be0 6e 62 61 72 5f 69 63 6f 6e 0d 10 cc 14 2e 69 63 |nbar_icon.....ic| 00003bf0 6f 6e 5f 76 61 6c 69 64 61 74 69 6f 6e 0d 10 d6 |on_validation...| 00003c00 24 20 20 20 20 20 20 20 20 65 71 75 73 20 20 20 |$ equs | 00003c10 20 22 53 21 69 63 6f 6e 63 6c 6f 63 6b 22 2b bd | "S!iconclock"+.| 00003c20 30 0d 10 e0 18 2e 65 6e 64 5f 69 63 6f 6e 5f 76 |0.....end_icon_v| 00003c30 61 6c 69 64 61 74 69 6f 6e 0d 10 ea ea ea 67 6e |alidation.....gn| 00003c40 0d 10 f4 04 0d 10 fe 53 3b 20 2d 2d 2d 2d 2d 2d |.......S; ------| 00003c50 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00003c90 2d 2d 2d 2d 2d 2d 2d 0d 11 08 4d 3b 20 77 6f 72 |-------...M; wor| 00003ca0 6b 20 6f 75 74 20 6e 75 6d 62 65 72 20 6f 66 20 |k out number of | 00003cb0 73 65 63 6f 6e 64 73 20 75 6e 74 69 6c 20 6d 69 |seconds until mi| 00003cc0 6e 75 74 65 73 20 63 68 61 6e 67 65 20 61 6e 64 |nutes change and| 00003cd0 20 75 73 65 20 74 68 69 73 20 74 6f 20 67 65 74 | use this to get| 00003ce0 20 74 68 65 0d 11 12 38 3b 20 76 61 6c 75 65 20 | the...8; value | 00003cf0 6f 66 20 4f 53 5f 4d 6f 6e 6f 74 6f 6e 69 63 54 |of OS_MonotonicT| 00003d00 69 6d 65 20 74 6f 20 67 69 76 65 20 74 6f 20 57 |ime to give to W| 00003d10 69 6d 70 5f 50 6f 6c 6c 49 64 6c 65 0d 11 1c 04 |imp_PollIdle....| 00003d20 0d 11 26 21 2e 77 6f 72 6b 5f 6f 75 74 5f 66 69 |..&!.work_out_fi| 00003d30 72 73 74 5f 70 6f 6c 6c 69 64 6c 65 5f 74 69 6d |rst_pollidle_tim| 00003d40 65 0d 11 30 26 20 20 20 20 20 20 20 20 61 64 64 |e..0& add| 00003d50 20 20 20 20 20 72 30 2c 72 31 32 2c 23 74 69 6d | r0,r12,#tim| 00003d60 65 5f 62 6c 6f 63 6b 0d 11 3a 26 20 20 20 20 20 |e_block..:& | 00003d70 20 20 20 61 64 64 20 20 20 20 20 72 31 2c 72 31 | add r1,r1| 00003d80 32 2c 23 77 6f 72 6b 5f 73 70 61 63 65 0d 11 44 |2,#work_space..D| 00003d90 3c 20 20 20 20 20 20 20 20 6d 6f 76 20 20 20 20 |< mov | 00003da0 20 72 32 2c 23 33 20 20 20 20 20 20 20 20 20 20 | r2,#3 | 00003db0 20 20 20 20 20 20 20 20 20 3b 20 73 69 7a 65 20 | ; size | 00003dc0 6f 66 20 62 75 66 66 65 72 0d 11 4e 23 20 20 20 |of buffer..N# | 00003dd0 20 20 20 20 20 61 64 72 20 20 20 20 20 72 33 2c | adr r3,| 00003de0 73 65 63 6f 6e 64 73 5f 6f 6e 6c 79 0d 11 58 2c |seconds_only..X,| 00003df0 20 20 20 20 20 20 20 20 73 77 69 20 20 20 20 20 | swi | 00003e00 22 58 4f 53 5f 43 6f 6e 76 65 72 74 44 61 74 65 |"XOS_ConvertDate| 00003e10 41 6e 64 54 69 6d 65 22 0d 11 62 1f 20 20 20 20 |AndTime"..b. | 00003e20 20 20 20 20 62 76 73 20 20 20 20 20 66 61 74 61 | bvs fata| 00003e30 6c 5f 65 72 72 6f 72 0d 11 6c 4a 20 20 20 20 20 |l_error..lJ | 00003e40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | * 00003e60 20 20 20 3b 20 72 30 20 2d 3e 20 61 73 63 69 69 | ; r0 -> ascii| 00003e70 20 76 61 6c 75 65 20 6f 66 20 73 65 63 6f 6e 64 | value of second| 00003e80 73 0d 11 76 48 20 20 20 20 20 20 20 20 20 20 20 |s..vH | 00003e90 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00003ea0 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 72 | ; r| 00003eb0 31 20 6e 6f 74 20 6e 65 65 64 65 64 20 61 73 20 |1 not needed as | 00003ec0 6e 6f 20 62 75 66 66 65 72 0d 11 80 51 20 20 20 |no buffer...Q | 00003ed0 20 20 20 20 20 6d 6f 76 20 20 20 20 20 72 32 2c | mov r2,| 00003ee0 23 30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |#0 | 00003ef0 20 20 20 20 20 3b 20 6e 6f 20 62 75 66 66 65 72 | ; no buffer| 00003f00 20 61 73 20 72 65 73 75 6c 74 20 77 69 6c 6c 20 | as result will | 00003f10 62 65 20 69 6e 74 65 67 65 72 0d 11 8a 2c 20 20 |be integer..., | 00003f20 20 20 20 20 20 20 73 77 69 20 20 20 20 20 22 58 | swi "X| 00003f30 4f 53 5f 45 76 61 6c 75 61 74 65 45 78 70 72 65 |OS_EvaluateExpre| 00003f40 73 73 69 6f 6e 22 0d 11 94 1f 20 20 20 20 20 20 |ssion".... | 00003f50 20 20 62 76 73 20 20 20 20 20 66 61 74 61 6c 5f | bvs fatal_| 00003f60 65 72 72 6f 72 0d 11 9e 44 20 20 20 20 20 20 20 |error...D | 00003f70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | * 00003f90 20 3b 20 72 32 20 3d 20 6e 75 6d 62 65 72 20 6f | ; r2 = number o| 00003fa0 66 20 73 65 63 6f 6e 64 73 0d 11 a8 4c 20 20 20 |f seconds...L | 00003fb0 20 20 20 20 20 72 73 62 20 20 20 20 20 72 32 2c | rsb r2,| 00003fc0 72 32 2c 23 36 30 20 20 20 20 20 20 20 20 20 20 |r2,#60 | 00003fd0 20 20 20 20 20 3b 20 72 32 20 3d 20 6e 75 6d 62 | ; r2 = numb| 00003fe0 65 72 20 6f 66 20 73 65 63 6f 6e 64 73 20 74 6f |er of seconds to| 00003ff0 20 6e 65 78 74 0d 11 b2 3e 20 20 20 20 20 20 20 | next...> | 00004000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | * 00004020 20 3b 20 63 68 61 6e 67 65 20 6f 66 20 6d 69 6e | ; change of min| 00004030 75 74 65 0d 11 bc 2b 20 20 20 20 20 20 20 20 73 |ute...+ s| 00004040 77 69 20 20 20 20 20 22 58 4f 53 5f 52 65 61 64 |wi "XOS_Read| 00004050 4d 6f 6e 6f 74 6f 6e 69 63 54 69 6d 65 22 0d 11 |MonotonicTime"..| 00004060 c6 1f 20 20 20 20 20 20 20 20 62 76 73 20 20 20 |.. bvs | 00004070 20 20 66 61 74 61 6c 5f 65 72 72 6f 72 0d 11 d0 | fatal_error...| 00004080 1b 20 20 20 20 20 20 20 20 6d 6f 76 20 20 20 20 |. mov | 00004090 20 72 31 2c 23 31 30 30 0d 11 da 50 20 20 20 20 | r1,#100...P | 000040a0 20 20 20 20 6d 6c 61 20 20 20 20 20 72 30 2c 72 | mla r0,r| 000040b0 32 2c 72 31 2c 72 30 20 20 20 20 20 20 20 20 20 |2,r1,r0 | 000040c0 20 20 20 20 3b 20 72 30 20 3d 20 74 69 6d 65 20 | ; r0 = time | 000040d0 74 6f 20 75 73 65 20 66 6f 72 20 66 69 72 73 74 |to use for first| 000040e0 20 63 61 6c 6c 20 74 6f 0d 11 e4 3b 20 20 20 20 | call to...; | 000040f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | * 00004110 20 20 20 20 3b 20 57 69 6d 70 5f 50 6f 6c 6c 49 | ; Wimp_PollI| 00004120 64 6c 65 0d 11 ee 2b 20 20 20 20 20 20 20 20 73 |dle...+ s| 00004130 74 72 20 20 20 20 20 72 30 2c 5b 72 31 32 2c 23 |tr r0,[r12,#| 00004140 70 6f 6c 6c 69 64 6c 65 5f 74 69 6d 65 5d 0d 11 |pollidle_time]..| 00004150 f8 1a 20 20 20 20 20 20 20 20 6d 6f 76 20 20 20 |.. mov | 00004160 20 20 70 63 2c 72 31 34 0d 12 02 11 2e 73 65 63 | pc,r14.....sec| 00004170 6f 6e 64 73 5f 6f 6e 6c 79 0d 12 0c 1c 20 20 20 |onds_only.... | 00004180 20 20 20 20 20 65 71 75 73 20 20 20 20 22 25 73 | equs "%s| 00004190 65 22 2b bd 30 0d 12 16 16 16 67 6e 0d 12 20 04 |e"+.0.....gn.. .| 000041a0 0d 12 2a 53 3b 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |..*S; ----------| 000041b0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 000041f0 2d 2d 2d 0d 12 34 30 3b 20 73 65 74 20 74 68 65 |---..40; set the| 00004200 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 73 70 72 | name of the spr| 00004210 69 74 65 20 66 6f 72 20 74 68 65 20 69 63 6f 6e |ite for the icon| 00004220 62 61 72 0d 12 3e 04 0d 12 48 1b 2e 73 65 74 75 |bar..>...H..setu| 00004230 70 5f 69 63 6f 6e 5f 73 70 72 69 74 65 5f 6e 61 |p_icon_sprite_na| 00004240 6d 65 0d 12 52 27 20 20 20 20 20 20 20 20 6c 64 |me..R' ld| 00004250 72 62 20 20 20 20 72 30 2c 5b 72 31 32 2c 23 63 |rb r0,[r12,#c| 00004260 6c 6f 63 6b 66 61 63 65 5d 0d 12 5c 1f 20 20 20 |lockface]..\. | 00004270 20 20 20 20 20 61 64 64 20 20 20 20 20 72 30 2c | add r0,| 00004280 72 30 2c 23 97 22 31 22 0d 12 66 3d 20 20 20 20 |r0,#."1"..f= | 00004290 20 20 20 20 73 74 72 62 20 20 20 20 72 30 2c 5b | strb r0,[| 000042a0 72 31 32 2c 23 72 6d 61 5f 69 63 6f 6e 5f 76 61 |r12,#rma_icon_va| 000042b0 6c 69 64 61 74 69 6f 6e 5f 6c 61 73 74 5f 6c 65 |lidation_last_le| 000042c0 74 74 65 72 5d 0d 12 70 1a 20 20 20 20 20 20 20 |tter]..p. | 000042d0 20 6d 6f 76 20 20 20 20 20 70 63 2c 72 31 34 0d | mov pc,r14.| 000042e0 12 7a 04 0d 12 84 12 2e 73 69 78 74 79 5f 73 65 |.z......sixty_se| 000042f0 63 6f 6e 64 73 0d 12 8e 1a 20 20 20 20 20 20 20 |conds.... | 00004300 20 65 71 75 64 20 20 20 20 36 30 2a 31 30 30 0d | equd 60*100.| 00004310 12 98 04 0d 12 a2 53 3b 20 2d 2d 2d 2d 2d 2d 2d |......S; -------| 00004320 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00004360 2d 2d 2d 2d 2d 2d 0d 12 ac 2f 3b 20 63 68 65 63 |------.../; chec| 00004370 6b 20 61 20 73 70 72 69 74 65 20 69 73 20 69 6e |k a sprite is in| 00004380 20 74 68 65 20 77 69 6d 70 20 73 70 72 69 74 65 | the wimp sprite| 00004390 20 70 6f 6f 6c 0d 12 b6 0a 3b 20 65 78 69 74 0d | pool....; exit.| 000043a0 12 c0 28 3b 20 20 20 20 20 20 20 76 20 73 65 74 |..(; v set| 000043b0 20 6f 6e 20 69 66 20 73 70 72 69 74 65 20 6e 6f | on if sprite no| 000043c0 74 20 66 6f 75 6e 64 0d 12 ca 2a 3b 20 20 20 20 |t found...*; | 000043d0 20 20 20 72 30 20 2d 3e 20 65 72 72 6f 72 20 62 | r0 -> error b| 000043e0 6c 6f 63 6b 20 69 66 20 6e 6f 74 20 66 6f 75 6e |lock if not foun| 000043f0 64 0d 12 d4 04 0d 12 de 1d 2e 63 68 65 63 6b 5f |d.........check_| 00004400 73 70 72 69 74 65 5f 69 6e 5f 77 69 6d 70 70 6f |sprite_in_wimppo| 00004410 6f 6c 0d 12 e8 20 20 20 20 20 20 20 20 20 73 74 |ol... st| 00004420 6d 66 64 20 20 20 72 31 33 21 2c 7b 72 30 2d 72 |mfd r13!,{r0-r| 00004430 36 7d 0d 12 f2 3e 20 20 20 20 20 20 20 20 6d 6f |6}...> mo| 00004440 76 20 20 20 20 20 72 30 2c 23 34 30 20 20 20 20 |v r0,#40 | 00004450 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 | ; | 00004460 72 65 61 64 20 73 70 72 69 74 65 20 69 6e 66 6f |read sprite info| 00004470 0d 12 fc 24 20 20 20 20 20 20 20 20 73 77 69 20 |...$ swi | 00004480 20 20 20 20 22 58 57 69 6d 70 5f 53 70 72 69 74 | "XWimp_Sprit| 00004490 65 4f 70 22 0d 13 06 20 20 20 20 20 20 20 20 20 |eOp"... | 000044a0 6c 64 6d 76 63 66 64 20 72 31 33 21 2c 7b 72 30 |ldmvcfd r13!,{r0| 000044b0 2d 72 36 7d 0d 13 10 48 20 20 20 20 20 20 20 20 |-r6}...H | 000044c0 6d 6f 76 76 63 20 20 20 70 63 2c 72 31 34 20 20 |movvc pc,r14 | 000044d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000044e0 3b 20 72 65 74 75 72 6e 20 69 66 20 73 70 72 69 |; return if spri| 000044f0 74 65 20 77 61 73 20 66 6f 75 6e 64 0d 13 1a 26 |te was found...&| 00004500 20 20 20 20 20 20 20 20 61 64 64 20 20 20 20 20 | add | 00004510 72 30 2c 72 31 32 2c 23 77 6f 72 6b 5f 73 70 61 |r0,r12,#work_spa| 00004520 63 65 0d 13 24 19 20 20 20 20 20 20 20 20 6d 6f |ce..$. mo| 00004530 76 20 20 20 20 20 72 31 2c 23 30 0d 13 2e 1e 20 |v r1,#0.... | 00004540 20 20 20 20 20 20 20 73 74 72 20 20 20 20 20 72 | str r| 00004550 31 2c 5b 72 30 5d 2c 23 34 0d 13 38 29 20 20 20 |1,[r0],#4..8) | 00004560 20 20 20 20 20 61 64 72 20 20 20 20 20 72 31 2c | adr r1,| 00004570 63 73 69 77 5f 65 72 72 6f 72 5f 6d 65 73 73 61 |csiw_error_messa| 00004580 67 65 0d 13 42 15 2e 63 73 69 77 5f 65 72 72 6f |ge..B..csiw_erro| 00004590 72 5f 6c 6f 6f 70 31 0d 13 4c 1e 20 20 20 20 20 |r_loop1..L. | 000045a0 20 20 20 6c 64 72 62 20 20 20 20 72 32 2c 5b 72 | ldrb r2,[r| 000045b0 31 5d 2c 23 31 0d 13 56 19 20 20 20 20 20 20 20 |1],#1..V. | 000045c0 20 74 65 71 20 20 20 20 20 72 32 2c 23 30 0d 13 | teq r2,#0..| 000045d0 60 1e 20 20 20 20 20 20 20 20 73 74 72 6e 65 62 |`. strneb| 000045e0 20 20 72 32 2c 5b 72 30 5d 2c 23 31 0d 13 6a 24 | r2,[r0],#1..j$| 000045f0 20 20 20 20 20 20 20 20 62 6e 65 20 20 20 20 20 | bne | 00004600 63 73 69 77 5f 65 72 72 6f 72 5f 6c 6f 6f 70 31 |csiw_error_loop1| 00004610 0d 13 74 27 20 20 20 20 20 20 20 20 61 64 64 20 |..t' add | 00004620 20 20 20 20 72 33 2c 72 31 32 2c 23 73 70 72 69 | r3,r12,#spri| 00004630 74 65 5f 6e 61 6d 65 0d 13 7e 15 2e 63 73 69 77 |te_name..~..csiw| 00004640 5f 65 72 72 6f 72 5f 6c 6f 6f 70 32 0d 13 88 1e |_error_loop2....| 00004650 20 20 20 20 20 20 20 20 6c 64 72 62 20 20 20 20 | ldrb | 00004660 72 32 2c 5b 72 33 5d 2c 23 31 0d 13 92 19 20 20 |r2,[r3],#1.... | 00004670 20 20 20 20 20 20 74 65 71 20 20 20 20 20 72 32 | teq r2| 00004680 2c 23 30 0d 13 9c 1e 20 20 20 20 20 20 20 20 73 |,#0.... s| 00004690 74 72 6e 65 62 20 20 72 32 2c 5b 72 30 5d 2c 23 |trneb r2,[r0],#| 000046a0 31 0d 13 a6 24 20 20 20 20 20 20 20 20 62 6e 65 |1...$ bne| 000046b0 20 20 20 20 20 63 73 69 77 5f 65 72 72 6f 72 5f | csiw_error_| 000046c0 6c 6f 6f 70 32 0d 13 b0 15 2e 63 73 69 77 5f 65 |loop2.....csiw_e| 000046d0 72 72 6f 72 5f 6c 6f 6f 70 33 0d 13 ba 1e 20 20 |rror_loop3.... | 000046e0 20 20 20 20 20 20 6c 64 72 62 20 20 20 20 72 32 | ldrb r2| 000046f0 2c 5b 72 31 5d 2c 23 31 0d 13 c4 1e 20 20 20 20 |,[r1],#1.... | 00004700 20 20 20 20 73 74 72 62 20 20 20 20 72 32 2c 5b | strb r2,[| 00004710 72 30 5d 2c 23 31 0d 13 ce 19 20 20 20 20 20 20 |r0],#1.... | 00004720 20 20 74 65 71 20 20 20 20 20 72 32 2c 23 30 0d | teq r2,#0.| 00004730 13 d8 24 20 20 20 20 20 20 20 20 62 6e 65 20 20 |..$ bne | 00004740 20 20 20 63 73 69 77 5f 65 72 72 6f 72 5f 6c 6f | csiw_error_lo| 00004750 6f 70 33 0d 13 e2 20 20 20 20 20 20 20 20 20 6c |op3... l| 00004760 64 6d 66 64 20 20 20 72 31 33 21 2c 7b 72 30 2d |dmfd r13!,{r0-| 00004770 72 36 7d 0d 13 ec 26 20 20 20 20 20 20 20 20 61 |r6}...& a| 00004780 64 64 20 20 20 20 20 72 30 2c 72 31 32 2c 23 77 |dd r0,r12,#w| 00004790 6f 72 6b 5f 73 70 61 63 65 0d 13 f6 3f 20 20 20 |ork_space...? | 000047a0 20 20 20 20 20 6f 72 72 73 20 20 20 20 70 63 2c | orrs pc,| 000047b0 72 31 34 2c 23 76 5f 66 6c 61 67 20 20 20 20 20 |r14,#v_flag | 000047c0 20 20 20 20 20 3b 20 72 65 74 75 72 6e 20 77 69 | ; return wi| 000047d0 74 68 20 76 20 73 65 74 0d 14 00 17 2e 63 73 69 |th v set.....csi| 000047e0 77 5f 65 72 72 6f 72 5f 6d 65 73 73 61 67 65 0d |w_error_message.| 000047f0 14 0a 24 20 20 20 20 20 20 20 20 65 71 75 73 20 |..$ equs | 00004800 20 20 20 22 54 68 65 20 73 70 72 69 74 65 20 22 | "The sprite "| 00004810 2b bd 30 0d 14 14 4d 20 20 20 20 20 20 20 20 65 |+.0...M e| 00004820 71 75 73 20 20 20 20 22 20 6d 75 73 74 20 62 65 |qus " must be| 00004830 20 69 6e 20 74 68 65 20 77 69 6d 70 20 73 70 72 | in the wimp spr| 00004840 69 74 65 20 70 6f 6f 6c 2e 20 53 65 65 20 74 68 |ite pool. See th| 00004850 65 20 21 48 65 6c 70 20 66 69 6c 65 22 2b bd 30 |e !Help file"+.0| 00004860 0d 14 1e 14 1e 14 67 6e 0d 14 28 04 0d 14 32 53 |......gn..(...2S| 00004870 3b 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |; --------------| 00004880 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 000048b0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d |---------------.| 000048c0 14 3c 1c 3b 20 43 6f 70 79 20 61 20 62 6c 6f 63 |.<.; Copy a bloc| 000048d0 6b 20 6f 66 20 6d 65 6d 6f 72 79 0d 14 46 0b 3b |k of memory..F.;| 000048e0 20 65 6e 74 72 79 0d 14 50 20 3b 20 20 20 20 20 | entry..P ; | 000048f0 20 20 72 30 20 2d 3e 20 73 74 61 72 74 20 6f 66 | r0 -> start of| 00004900 20 62 6c 6f 63 6b 0d 14 5a 20 3b 20 20 20 20 20 | block..Z ; | 00004910 20 20 72 31 20 2d 3e 20 65 6e 64 20 6f 66 20 62 | r1 -> end of b| 00004920 6c 6f 63 6b 2b 31 0d 14 64 22 3b 20 20 20 20 20 |lock+1..d"; | 00004930 20 20 72 32 20 2d 3e 20 77 68 65 72 65 20 74 6f | r2 -> where to| 00004940 20 63 6f 70 79 20 74 6f 0d 14 6e 0b 3b 20 65 78 | copy to..n.; ex| 00004950 69 74 73 0d 14 78 1e 3b 20 20 20 20 20 20 20 72 |its..x.; r| 00004960 30 2c 72 32 2c 72 33 20 63 6f 72 72 75 70 74 65 |0,r2,r3 corrupte| 00004970 64 0d 14 82 04 0d 14 8c 09 2e 63 6f 70 79 0d 14 |d.........copy..| 00004980 96 1e 20 20 20 20 20 20 20 20 6c 64 72 62 20 20 |.. ldrb | 00004990 20 20 72 33 2c 5b 72 30 5d 2c 23 31 0d 14 a0 1e | r3,[r0],#1....| 000049a0 20 20 20 20 20 20 20 20 73 74 72 62 20 20 20 20 | strb | 000049b0 72 33 2c 5b 72 32 5d 2c 23 31 0d 14 aa 19 20 20 |r3,[r2],#1.... | 000049c0 20 20 20 20 20 20 63 6d 70 20 20 20 20 20 72 30 | cmp r0| 000049d0 2c 72 31 0d 14 b4 18 20 20 20 20 20 20 20 20 62 |,r1.... b| 000049e0 6c 74 20 20 20 20 20 63 6f 70 79 0d 14 be 1a 20 |lt copy.... | 000049f0 20 20 20 20 20 20 20 6d 6f 76 20 20 20 20 20 70 | mov p| 00004a00 63 2c 72 31 34 0d 14 c8 04 0d 14 d2 53 3b 20 2d |c,r14.......S; -| 00004a10 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00004a50 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 14 dc 14 |------------....| 00004a60 3b 20 77 69 6d 70 20 70 6f 6c 6c 20 6c 6f 6f 70 |; wimp poll loop| 00004a70 0d 14 e6 04 0d 14 f0 09 2e 70 6f 6c 6c 0d 14 fa |.........poll...| 00004a80 2b 20 20 20 20 20 20 20 20 73 77 69 20 20 20 20 |+ swi | 00004a90 20 22 58 4f 53 5f 52 65 61 64 4d 6f 6e 6f 74 6f | "XOS_ReadMonoto| 00004aa0 6e 69 63 54 69 6d 65 22 0d 15 04 1f 20 20 20 20 |nicTime".... | 00004ab0 20 20 20 20 62 76 73 20 20 20 20 20 66 61 74 61 | bvs fata| 00004ac0 6c 5f 65 72 72 6f 72 0d 15 0e 2b 20 20 20 20 20 |l_error...+ | 00004ad0 20 20 20 6c 64 72 20 20 20 20 20 72 32 2c 5b 72 | ldr r2,[r| 00004ae0 31 32 2c 23 70 6f 6c 6c 69 64 6c 65 5f 74 69 6d |12,#pollidle_tim| 00004af0 65 5d 0d 15 18 49 20 20 20 20 20 20 20 20 6c 64 |e]...I ld| 00004b00 72 20 20 20 20 20 72 33 2c 73 69 78 74 79 5f 73 |r r3,sixty_s| 00004b10 65 63 6f 6e 64 73 20 20 20 20 20 20 20 20 3b 20 |econds ; | 00004b20 36 30 20 73 65 63 6f 6e 64 73 20 69 6e 20 63 65 |60 seconds in ce| 00004b30 6e 74 69 2d 73 65 63 6f 6e 64 73 0d 15 22 1b 2e |nti-seconds.."..| 00004b40 73 65 74 5f 70 6f 6c 6c 69 64 6c 65 5f 74 69 6d |set_pollidle_tim| 00004b50 65 5f 6c 6f 6f 70 0d 15 2c 19 20 20 20 20 20 20 |e_loop..,. | 00004b60 20 20 63 6d 70 20 20 20 20 20 72 30 2c 72 32 0d | cmp r0,r2.| 00004b70 15 36 1c 20 20 20 20 20 20 20 20 61 64 64 67 65 |.6. addge| 00004b80 20 20 20 72 32 2c 72 32 2c 72 33 0d 15 40 2a 20 | r2,r2,r3..@* | 00004b90 20 20 20 20 20 20 20 62 67 65 20 20 20 20 20 73 | bge s| 00004ba0 65 74 5f 70 6f 6c 6c 69 64 6c 65 5f 74 69 6d 65 |et_pollidle_time| 00004bb0 5f 6c 6f 6f 70 0d 15 4a 2b 20 20 20 20 20 20 20 |_loop..J+ | 00004bc0 20 73 74 72 20 20 20 20 20 72 32 2c 5b 72 31 32 | str r2,[r12| 00004bd0 2c 23 70 6f 6c 6c 69 64 6c 65 5f 74 69 6d 65 5d |,#pollidle_time]| 00004be0 0d 15 54 0f 2e 70 6f 6c 6c 5f 66 69 72 73 74 0d |..T..poll_first.| 00004bf0 15 5e 4b 20 20 20 20 20 20 20 20 6d 6f 76 20 20 |.^K mov | 00004c00 20 20 20 72 30 2c 23 25 31 30 31 31 30 30 30 30 | r0,#%10110000| 00004c10 20 20 20 20 20 20 20 20 20 20 20 3b 20 64 69 73 | ; dis| 00004c20 61 6c 6c 6f 77 20 61 73 20 6d 61 6e 79 20 72 65 |allow as many re| 00004c30 61 73 6f 6e 20 63 6f 64 65 73 0d 15 68 39 20 20 |ason codes..h9 | 00004c40 20 20 20 20 20 20 61 64 64 20 20 20 20 20 72 30 | add r0| 00004c50 2c 72 30 2c 23 25 31 31 30 30 30 20 3c 3c 20 38 |,r0,#%11000 << 8| 00004c60 20 20 20 20 20 20 3b 20 61 73 20 70 6f 73 73 69 | ; as possi| 00004c70 62 6c 65 0d 15 72 26 20 20 20 20 20 20 20 20 61 |ble..r& a| 00004c80 64 64 20 20 20 20 20 72 31 2c 72 31 32 2c 23 70 |dd r1,r12,#p| 00004c90 6f 6c 6c 5f 73 70 61 63 65 0d 15 7c 24 20 20 20 |oll_space..|$ | 00004ca0 20 20 20 20 20 73 77 69 20 20 20 20 20 22 58 57 | swi "XW| 00004cb0 69 6d 70 5f 50 6f 6c 6c 49 64 6c 65 22 0d 15 86 |imp_PollIdle"...| 00004cc0 1f 20 20 20 20 20 20 20 20 62 76 73 20 20 20 20 |. bvs | 00004cd0 20 66 61 74 61 6c 5f 65 72 72 6f 72 0d 15 90 19 | fatal_error....| 00004ce0 20 20 20 20 20 20 20 20 6d 6f 76 20 20 20 20 20 | mov | 00004cf0 72 33 2c 72 30 0d 15 9a 2b 20 20 20 20 20 20 20 |r3,r0...+ | 00004d00 20 73 77 69 20 20 20 20 20 22 58 4f 53 5f 52 65 | swi "XOS_Re| 00004d10 61 64 4d 6f 6e 6f 74 6f 6e 69 63 54 69 6d 65 22 |adMonotonicTime"| 00004d20 0d 15 a4 1f 20 20 20 20 20 20 20 20 62 76 73 20 |.... bvs | 00004d30 20 20 20 20 66 61 74 61 6c 5f 65 72 72 6f 72 0d | fatal_error.| 00004d40 15 ae 2b 20 20 20 20 20 20 20 20 6c 64 72 20 20 |..+ ldr | 00004d50 20 20 20 72 32 2c 5b 72 31 32 2c 23 70 6f 6c 6c | r2,[r12,#poll| 00004d60 69 64 6c 65 5f 74 69 6d 65 5d 0d 15 b8 19 20 20 |idle_time].... | 00004d70 20 20 20 20 20 20 63 6d 70 20 20 20 20 20 72 30 | cmp r0| 00004d80 2c 72 32 0d 15 c2 1f 20 20 20 20 20 20 20 20 62 |,r2.... b| 00004d90 6c 67 65 20 20 20 20 75 70 64 61 74 65 5f 74 69 |lge update_ti| 00004da0 6d 65 0d 15 cc 19 20 20 20 20 20 20 20 20 6d 6f |me.... mo| 00004db0 76 20 20 20 20 20 72 30 2c 72 33 0d 15 d6 19 20 |v r0,r3.... | 00004dc0 20 20 20 20 20 20 20 63 6d 70 20 20 20 20 20 72 | cmp r| 00004dd0 30 2c 23 31 0d 15 e0 21 20 20 20 20 20 20 20 20 |0,#1...! | 00004de0 62 65 71 20 20 20 20 20 72 65 64 72 61 77 5f 77 |beq redraw_w| 00004df0 69 6e 64 6f 77 0d 15 ea 19 20 20 20 20 20 20 20 |indow.... | 00004e00 20 74 65 71 20 20 20 20 20 72 30 2c 23 32 0d 15 | teq r0,#2..| 00004e10 f4 1f 20 20 20 20 20 20 20 20 62 65 71 20 20 20 |.. beq | 00004e20 20 20 6f 70 65 6e 5f 77 69 6e 64 6f 77 0d 15 fe | open_window...| 00004e30 19 20 20 20 20 20 20 20 20 74 65 71 20 20 20 20 |. teq | 00004e40 20 72 30 2c 23 33 0d 16 08 20 20 20 20 20 20 20 | r0,#3... | 00004e50 20 20 62 65 71 20 20 20 20 20 63 6c 6f 73 65 5f | beq close_| 00004e60 77 69 6e 64 6f 77 0d 16 12 19 20 20 20 20 20 20 |window.... | 00004e70 20 20 74 65 71 20 20 20 20 20 72 30 2c 23 36 0d | teq r0,#6.| 00004e80 16 1c 1f 20 20 20 20 20 20 20 20 62 65 71 20 20 |... beq | 00004e90 20 20 20 6d 6f 75 73 65 5f 63 6c 69 63 6b 0d 16 | mouse_click..| 00004ea0 26 19 20 20 20 20 20 20 20 20 74 65 71 20 20 20 |&. teq | 00004eb0 20 20 72 30 2c 23 39 0d 16 30 1f 20 20 20 20 20 | r0,#9..0. | 00004ec0 20 20 20 62 65 71 20 20 20 20 20 6d 65 6e 75 5f | beq menu_| 00004ed0 73 65 6c 65 63 74 0d 16 3a 1a 20 20 20 20 20 20 |select..:. | 00004ee0 20 20 74 65 71 20 20 20 20 20 72 30 2c 23 31 37 | teq r0,#17| 00004ef0 0d 16 44 1a 20 20 20 20 20 20 20 20 74 65 71 6e |..D. teqn| 00004f00 65 20 20 20 72 30 2c 23 31 38 0d 16 4e 1b 20 20 |e r0,#18..N. | 00004f10 20 20 20 20 20 20 62 65 71 20 20 20 20 20 6d 65 | beq me| 00004f20 73 73 61 67 65 0d 16 58 18 20 20 20 20 20 20 20 |ssage..X. | 00004f30 20 62 20 20 20 20 20 20 20 70 6f 6c 6c 0d 16 62 | b poll..b| 00004f40 04 0d 16 6c 53 3b 20 2d 2d 2d 2d 2d 2d 2d 2d 2d |...lS; ---------| 00004f50 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00004f90 2d 2d 2d 2d 0d 16 76 16 3b 20 75 70 64 61 74 65 |----..v.; update| 00004fa0 20 74 68 65 20 63 6c 6f 63 6b 0d 16 80 04 0d 16 | the clock......| 00004fb0 8a 10 2e 75 70 64 61 74 65 5f 74 69 6d 65 0d 16 |...update_time..| 00004fc0 94 1e 20 20 20 20 20 20 20 20 73 74 6d 66 64 20 |.. stmfd | 00004fd0 20 20 72 31 33 21 2c 7b 72 31 34 7d 0d 16 9e 1d | r13!,{r14}....| 00004fe0 20 20 20 20 20 20 20 20 62 6c 20 20 20 20 20 20 | bl | 00004ff0 72 65 61 64 5f 74 69 6d 65 0d 16 a8 1e 20 20 20 |read_time.... | 00005000 20 20 20 20 20 6c 64 6d 66 64 20 20 20 72 31 33 | ldmfd r13| 00005010 21 2c 7b 72 31 34 7d 0d 16 b2 15 2e 72 65 64 69 |!,{r14}.....redi| 00005020 73 70 6c 61 79 5f 73 70 72 69 74 65 0d 16 bc 26 |splay_sprite...&| 00005030 20 20 20 20 20 20 20 20 61 64 64 20 20 20 20 20 | add | 00005040 72 31 2c 72 31 32 2c 23 77 6f 72 6b 5f 73 70 61 |r1,r12,#work_spa| 00005050 63 65 0d 16 c6 3a 20 20 20 20 20 20 20 20 6d 76 |ce...: mv| 00005060 6e 20 20 20 20 20 72 30 2c 23 30 20 20 20 20 20 |n r0,#0 | 00005070 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 | ; | 00005080 72 30 20 3d 20 69 63 6f 6e 62 61 72 0d 16 d0 1b |r0 = iconbar....| 00005090 20 20 20 20 20 20 20 20 73 74 72 20 20 20 20 20 | str | 000050a0 72 30 2c 5b 72 31 5d 0d 16 da 29 20 20 20 20 20 |r0,[r1]...) | 000050b0 20 20 20 6c 64 72 20 20 20 20 20 72 30 2c 5b 72 | ldr r0,[r| 000050c0 31 32 2c 23 69 63 6f 6e 5f 68 61 6e 64 6c 65 5d |12,#icon_handle]| 000050d0 0d 16 e4 1e 20 20 20 20 20 20 20 20 73 74 72 20 |.... str | 000050e0 20 20 20 20 72 30 2c 5b 72 31 2c 23 34 5d 0d 16 | r0,[r1,#4]..| 000050f0 ee 47 20 20 20 20 20 20 20 20 6d 6f 76 20 20 20 |.G mov | 00005100 20 20 72 30 2c 23 30 20 20 20 20 20 20 20 20 20 | r0,#0 | 00005110 20 20 20 20 20 20 20 20 20 20 3b 20 64 6f 6e 27 | ; don'| 00005120 74 20 63 68 61 6e 67 65 20 66 6c 61 67 73 20 61 |t change flags a| 00005130 74 20 61 6c 6c 0d 16 f8 34 20 20 20 20 20 20 20 |t all...4 | 00005140 20 73 74 72 20 20 20 20 20 72 30 2c 5b 72 31 2c | str r0,[r1,| 00005150 23 38 5d 20 20 20 20 20 20 20 20 20 20 20 20 20 |#8] | 00005160 20 3b 20 82 20 77 6f 72 64 0d 17 02 38 20 20 20 | ; . word...8 | 00005170 20 20 20 20 20 73 74 72 20 20 20 20 20 72 30 2c | str r0,| 00005180 5b 72 31 2c 23 31 32 5d 20 20 20 20 20 20 20 20 |[r1,#12] | 00005190 20 20 20 20 20 3b 20 63 6c 65 61 72 20 77 6f 72 | ; clear wor| 000051a0 64 0d 17 0c 28 20 20 20 20 20 20 20 20 73 77 69 |d...( swi| 000051b0 20 20 20 20 20 22 58 57 69 6d 70 5f 53 65 74 49 | "XWimp_SetI| 000051c0 63 6f 6e 53 74 61 74 65 22 0d 17 16 1f 20 20 20 |conState".... | 000051d0 20 20 20 20 20 62 76 73 20 20 20 20 20 66 61 74 | bvs fat| 000051e0 61 6c 5f 65 72 72 6f 72 0d 17 20 1a 20 20 20 20 |al_error.. . | 000051f0 20 20 20 20 6d 6f 76 20 20 20 20 20 70 63 2c 72 | mov pc,r| 00005200 31 34 0d 17 2a 04 0d 17 34 53 3b 20 2d 2d 2d 2d |14..*...4S; ----| 00005210 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00005250 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 17 3e 4e 3b 20 72 |---------..>N; r| 00005260 65 64 72 61 77 20 77 69 6e 64 6f 77 20 72 65 71 |edraw window req| 00005270 75 65 73 74 20 68 61 73 20 62 65 65 6e 20 73 65 |uest has been se| 00005280 6e 74 2e 20 54 68 69 73 20 63 61 6e 20 6f 6e 6c |nt. This can onl| 00005290 79 20 62 65 20 66 6f 72 20 64 69 73 70 6c 61 79 |y be for display| 000052a0 20 77 69 6e 64 6f 77 0d 17 48 04 0d 17 52 12 2e | window..H...R..| 000052b0 72 65 64 72 61 77 5f 77 69 6e 64 6f 77 0d 17 5c |redraw_window..\| 000052c0 28 20 20 20 20 20 20 20 20 73 77 69 20 20 20 20 |( swi | 000052d0 20 22 58 57 69 6d 70 5f 52 65 64 72 61 77 57 69 | "XWimp_RedrawWi| 000052e0 6e 64 6f 77 22 0d 17 66 1f 20 20 20 20 20 20 20 |ndow"..f. | 000052f0 20 62 76 73 20 20 20 20 20 66 61 74 61 6c 5f 65 | bvs fatal_e| 00005300 72 72 6f 72 0d 17 70 18 20 20 20 20 20 20 20 20 |rror..p. | 00005310 62 20 20 20 20 20 20 20 70 6f 6c 6c 0d 17 7a 04 |b poll..z.| 00005320 0d 17 84 53 3b 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |...S; ----------| 00005330 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00005370 2d 2d 2d 0d 17 8e 27 3b 20 6f 70 65 6e 20 77 69 |---...'; open wi| 00005380 6e 64 6f 77 20 72 65 71 75 65 73 74 20 68 61 73 |ndow request has| 00005390 20 62 65 65 6e 20 73 65 6e 74 0d 17 98 04 0d 17 | been sent......| 000053a0 a2 10 2e 6f 70 65 6e 5f 77 69 6e 64 6f 77 0d 17 |...open_window..| 000053b0 ac 26 20 20 20 20 20 20 20 20 73 77 69 20 20 20 |.& swi | 000053c0 20 20 22 58 57 69 6d 70 5f 4f 70 65 6e 57 69 6e | "XWimp_OpenWin| 000053d0 64 6f 77 22 0d 17 b6 1f 20 20 20 20 20 20 20 20 |dow".... | 000053e0 62 76 73 20 20 20 20 20 66 61 74 61 6c 5f 65 72 |bvs fatal_er| 000053f0 72 6f 72 0d 17 c0 18 20 20 20 20 20 20 20 20 62 |ror.... b| 00005400 20 20 20 20 20 20 20 70 6f 6c 6c 0d 17 ca 04 0d | poll.....| 00005410 17 d4 53 3b 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |..S; -----------| 00005420 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00005460 2d 2d 0d 17 de 28 3b 20 63 6c 6f 73 65 20 77 69 |--...(; close wi| 00005470 6e 64 6f 77 20 72 65 71 75 65 73 74 20 68 61 73 |ndow request has| 00005480 20 62 65 65 6e 20 73 65 6e 74 0d 17 e8 04 0d 17 | been sent......| 00005490 f2 11 2e 63 6c 6f 73 65 5f 77 69 6e 64 6f 77 0d |...close_window.| 000054a0 17 fc 27 20 20 20 20 20 20 20 20 73 77 69 20 20 |..' swi | 000054b0 20 20 20 22 58 57 69 6d 70 5f 43 6c 6f 73 65 57 | "XWimp_CloseW| 000054c0 69 6e 64 6f 77 22 0d 18 06 1f 20 20 20 20 20 20 |indow".... | 000054d0 20 20 62 76 73 20 20 20 20 20 66 61 74 61 6c 5f | bvs fatal_| 000054e0 65 72 72 6f 72 0d 18 10 18 20 20 20 20 20 20 20 |error.... | 000054f0 20 62 20 20 20 20 20 20 20 70 6f 6c 6c 0d 18 1a | b poll...| 00005500 04 0d 18 24 53 3b 20 2d 2d 2d 2d 2d 2d 2d 2d 2d |...$S; ---------| 00005510 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00005550 2d 2d 2d 2d 0d 18 2e 1f 3b 20 61 20 6d 6f 75 73 |----....; a mous| 00005560 65 20 63 6c 69 63 6b 20 68 61 73 20 6f 63 63 75 |e click has occu| 00005570 72 65 64 0d 18 38 04 0d 18 42 10 2e 6d 6f 75 73 |red..8...B..mous| 00005580 65 5f 63 6c 69 63 6b 0d 18 4c 40 20 20 20 20 20 |e_click..L@ | 00005590 20 20 20 6c 64 72 20 20 20 20 20 72 30 2c 5b 72 | ldr r0,[r| 000055a0 31 2c 23 31 32 5d 20 20 20 20 20 20 20 20 20 20 |1,#12] | 000055b0 20 20 20 3b 20 72 30 20 3d 20 77 69 6e 64 6f 77 | ; r0 = window| 000055c0 20 68 61 6e 64 6c 65 0d 18 56 3c 20 20 20 20 20 | handle..V< | 000055d0 20 20 20 63 6d 6e 20 20 20 20 20 72 30 2c 23 32 | cmn r0,#2| 000055e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000055f0 20 20 20 3b 20 73 65 65 20 69 66 20 69 63 6f 6e | ; see if icon| 00005600 62 61 72 0d 18 60 4b 20 20 20 20 20 20 20 20 62 |bar..`K b| 00005610 6e 65 20 20 20 20 20 70 6f 6c 6c 20 20 20 20 20 |ne poll | 00005620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b | ;| 00005630 20 70 6f 6c 6c 20 69 66 20 6e 6f 74 2c 20 63 61 | poll if not, ca| 00005640 6e 20 74 68 69 73 20 68 61 70 70 65 6e 3f 0d 18 |n this happen?..| 00005650 6a 3e 20 20 20 20 20 20 20 20 6c 64 72 20 20 20 |j> ldr | 00005660 20 20 72 30 2c 5b 72 31 2c 23 31 36 5d 20 20 20 | r0,[r1,#16] | 00005670 20 20 20 20 20 20 20 20 20 20 3b 20 72 30 20 3d | ; r0 =| 00005680 20 69 63 6f 6e 20 68 61 6e 64 6c 65 0d 18 74 29 | icon handle..t)| 00005690 20 20 20 20 20 20 20 20 6c 64 72 20 20 20 20 20 | ldr | 000056a0 72 32 2c 5b 72 31 32 2c 23 69 63 6f 6e 5f 68 61 |r2,[r12,#icon_ha| 000056b0 6e 64 6c 65 5d 0d 18 7e 39 20 20 20 20 20 20 20 |ndle]..~9 | 000056c0 20 74 65 71 20 20 20 20 20 72 30 2c 72 32 20 20 | teq r0,r2 | 000056d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000056e0 20 3b 20 73 65 65 20 69 66 20 6f 75 72 73 0d 18 | ; see if ours..| 000056f0 88 4b 20 20 20 20 20 20 20 20 62 6e 65 20 20 20 |.K bne | 00005700 20 20 70 6f 6c 6c 20 20 20 20 20 20 20 20 20 20 | poll | 00005710 20 20 20 20 20 20 20 20 20 20 3b 20 70 6f 6c 6c | ; poll| 00005720 20 69 66 20 6e 6f 74 2c 20 63 61 6e 20 74 68 69 | if not, can thi| 00005730 73 20 68 61 70 70 65 6e 3f 0d 18 92 3f 20 20 20 |s happen?...? | 00005740 20 20 20 20 20 6c 64 72 20 20 20 20 20 72 30 2c | ldr r0,| 00005750 5b 72 31 2c 23 38 5d 20 20 20 20 20 20 20 20 20 |[r1,#8] | 00005760 20 20 20 20 20 3b 20 72 30 20 3d 20 62 75 74 74 | ; r0 = butt| 00005770 6f 6e 20 73 74 61 74 65 0d 18 9c 4e 20 20 20 20 |on state...N | 00005780 20 20 20 20 74 73 74 20 20 20 20 20 72 30 2c 23 | tst r0,#| 00005790 32 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |2 | 000057a0 20 20 20 20 3b 20 73 65 65 20 69 66 20 27 6d 65 | ; see if 'me| 000057b0 6e 75 27 20 62 75 74 74 6f 6e 20 77 61 73 20 70 |nu' button was p| 000057c0 72 65 73 73 65 64 0d 18 a6 39 20 20 20 20 20 20 |ressed...9 | 000057d0 20 20 62 65 71 20 20 20 20 20 70 6f 6c 6c 20 20 | beq poll | 000057e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000057f0 20 20 3b 20 70 6f 6c 6c 20 69 66 20 6e 6f 74 0d | ; poll if not.| 00005800 18 b0 04 0d 18 ba 53 3b 20 2d 2d 2d 2d 2d 2d 2d |......S; -------| 00005810 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00005850 2d 2d 2d 2d 2d 2d 0d 18 c4 39 3b 20 61 20 63 6c |------...9; a cl| 00005860 69 63 6b 20 77 69 74 68 20 27 6d 65 6e 75 27 20 |ick with 'menu' | 00005870 68 61 73 20 6f 63 63 75 72 65 64 20 6f 6e 20 6f |has occured on o| 00005880 75 72 20 69 63 6f 6e 62 61 72 20 69 63 6f 6e 0d |ur iconbar icon.| 00005890 18 ce 04 0d 18 d8 16 2e 6f 70 65 6e 5f 69 63 6f |........open_ico| 000058a0 6e 62 61 72 5f 6d 65 6e 75 0d 18 e2 23 20 20 20 |nbar_menu...# | 000058b0 20 20 20 20 20 61 64 72 20 20 20 20 20 72 30 2c | adr r0,| 000058c0 69 63 6f 6e 62 61 72 5f 6d 65 6e 75 0d 18 ec 29 |iconbar_menu...)| 000058d0 20 20 20 20 20 20 20 20 61 64 72 20 20 20 20 20 | adr | 000058e0 72 31 2c 65 6e 64 5f 63 6c 6f 63 6b 66 61 63 65 |r1,end_clockface| 000058f0 5f 6d 65 6e 75 0d 18 f6 2c 20 20 20 20 20 20 20 |_menu..., | 00005900 20 61 64 64 20 20 20 20 20 72 32 2c 72 31 32 2c | add r2,r12,| 00005910 23 72 6d 61 5f 69 63 6f 6e 62 61 72 5f 6d 65 6e |#rma_iconbar_men| 00005920 75 0d 19 00 18 20 20 20 20 20 20 20 20 62 6c 20 |u.... bl | 00005930 20 20 20 20 20 63 6f 70 79 0d 19 0a 2c 20 20 20 | copy..., | 00005940 20 20 20 20 20 61 64 64 20 20 20 20 20 72 31 2c | add r1,| 00005950 72 31 32 2c 23 72 6d 61 5f 69 63 6f 6e 62 61 72 |r12,#rma_iconbar| 00005960 5f 6d 65 6e 75 0d 19 14 30 20 20 20 20 20 20 20 |_menu...0 | 00005970 20 6c 64 72 20 20 20 20 20 72 30 2c 5b 72 31 32 | ldr r0,[r12| 00005980 2c 23 69 6e 66 6f 5f 77 69 6e 64 6f 77 5f 68 61 |,#info_window_ha| 00005990 6e 64 6c 65 5d 0d 19 1e 42 20 20 20 20 20 20 20 |ndle]...B | 000059a0 20 73 74 72 20 20 20 20 20 72 30 2c 5b 72 31 2c | str r0,[r1,| 000059b0 23 70 75 74 5f 69 6e 66 6f 5f 77 69 6e 64 6f 77 |#put_info_window| 000059c0 5f 68 61 6e 64 6c 65 20 2d 20 69 63 6f 6e 62 61 |_handle - iconba| 000059d0 72 5f 6d 65 6e 75 5d 0d 19 28 30 20 20 20 20 20 |r_menu]..(0 | 000059e0 20 20 20 61 64 64 20 20 20 20 20 72 30 2c 72 31 | add r0,r1| 000059f0 32 2c 23 72 6d 61 5f 74 69 6d 65 5f 66 6f 72 6d |2,#rma_time_form| 00005a00 61 74 5f 6d 65 6e 75 0d 19 32 40 20 20 20 20 20 |at_menu..2@ | 00005a10 20 20 20 73 74 72 20 20 20 20 20 72 30 2c 5b 72 | str r0,[r| 00005a20 31 2c 23 70 75 74 5f 74 69 6d 65 5f 66 6f 72 6d |1,#put_time_form| 00005a30 61 74 5f 6d 65 6e 75 20 2d 20 69 63 6f 6e 62 61 |at_menu - iconba| 00005a40 72 5f 6d 65 6e 75 5d 0d 19 3c 2e 20 20 20 20 20 |r_menu]..<. | 00005a50 20 20 20 61 64 64 20 20 20 20 20 72 30 2c 72 31 | add r0,r1| 00005a60 32 2c 23 72 6d 61 5f 63 6c 6f 63 6b 66 61 63 65 |2,#rma_clockface| 00005a70 5f 6d 65 6e 75 0d 19 46 3e 20 20 20 20 20 20 20 |_menu..F> | 00005a80 20 73 74 72 20 20 20 20 20 72 30 2c 5b 72 31 2c | str r0,[r1,| 00005a90 23 70 75 74 5f 63 6c 6f 63 6b 66 61 63 65 5f 6d |#put_clockface_m| 00005aa0 65 6e 75 20 2d 20 69 63 6f 6e 62 61 72 5f 6d 65 |enu - iconbar_me| 00005ab0 6e 75 5d 0d 19 50 29 20 20 20 20 20 20 20 20 6c |nu]..P) l| 00005ac0 64 72 62 20 20 20 20 72 33 2c 5b 72 31 32 2c 23 |drb r3,[r12,#| 00005ad0 74 69 6d 65 5f 66 6f 72 6d 61 74 5d 0d 19 5a 48 |time_format]..ZH| 00005ae0 20 20 20 20 20 20 20 20 74 65 71 20 20 20 20 20 | teq | 00005af0 72 33 2c 23 30 20 20 20 20 20 20 20 20 20 20 20 |r3,#0 | 00005b00 20 20 20 20 20 20 20 20 3b 20 73 65 65 20 77 68 | ; see wh| 00005b10 69 63 68 20 66 6f 72 6d 61 74 20 77 65 20 61 72 |ich format we ar| 00005b20 65 20 69 6e 0d 19 64 39 20 20 20 20 20 20 20 20 |e in..d9 | 00005b30 6c 64 72 65 71 20 20 20 72 34 2c 5b 72 31 2c 23 |ldreq r4,[r1,#| 00005b40 68 6f 75 72 5f 31 32 5f 66 6c 61 67 73 20 2d 20 |hour_12_flags - | 00005b50 69 63 6f 6e 62 61 72 5f 6d 65 6e 75 5d 0d 19 6e |iconbar_menu]..n| 00005b60 1c 20 20 20 20 20 20 20 20 6f 72 72 65 71 20 20 |. orreq | 00005b70 20 72 34 2c 72 34 2c 23 31 0d 19 78 39 20 20 20 | r4,r4,#1..x9 | 00005b80 20 20 20 20 20 73 74 72 65 71 20 20 20 72 34 2c | streq r4,| 00005b90 5b 72 31 2c 23 68 6f 75 72 5f 31 32 5f 66 6c 61 |[r1,#hour_12_fla| 00005ba0 67 73 20 2d 20 69 63 6f 6e 62 61 72 5f 6d 65 6e |gs - iconbar_men| 00005bb0 75 5d 0d 19 82 39 20 20 20 20 20 20 20 20 6c 64 |u]...9 ld| 00005bc0 72 6e 65 20 20 20 72 34 2c 5b 72 31 2c 23 68 6f |rne r4,[r1,#ho| 00005bd0 75 72 5f 32 34 5f 66 6c 61 67 73 20 2d 20 69 63 |ur_24_flags - ic| 00005be0 6f 6e 62 61 72 5f 6d 65 6e 75 5d 0d 19 8c 1c 20 |onbar_menu].... | 00005bf0 20 20 20 20 20 20 20 6f 72 72 6e 65 20 20 20 72 | orrne r| 00005c00 34 2c 72 34 2c 23 31 0d 19 96 39 20 20 20 20 20 |4,r4,#1...9 | 00005c10 20 20 20 73 74 72 6e 65 20 20 20 72 34 2c 5b 72 | strne r4,[r| 00005c20 31 2c 23 68 6f 75 72 5f 32 34 5f 66 6c 61 67 73 |1,#hour_24_flags| 00005c30 20 2d 20 69 63 6f 6e 62 61 72 5f 6d 65 6e 75 5d | - iconbar_menu]| 00005c40 0d 19 a0 04 0d 19 aa 27 20 20 20 20 20 20 20 20 |.......' | 00005c50 6c 64 72 62 20 20 20 20 72 33 2c 5b 72 31 32 2c |ldrb r3,[r12,| 00005c60 23 63 6c 6f 63 6b 66 61 63 65 5d 0d 19 b4 48 20 |#clockface]...H | 00005c70 20 20 20 20 20 20 20 63 6d 70 20 20 20 20 20 72 | cmp r| 00005c80 33 2c 23 31 20 20 20 20 20 20 20 20 20 20 20 20 |3,#1 | 00005c90 20 20 20 20 20 20 20 3b 20 73 65 65 20 77 68 69 | ; see whi| 00005ca0 63 68 20 66 6f 72 6d 61 74 20 77 65 20 61 72 65 |ch format we are| 00005cb0 20 69 6e 0d 19 be 38 20 20 20 20 20 20 20 20 6c | in...8 l| 00005cc0 64 72 6c 74 20 20 20 72 34 2c 5b 72 31 2c 23 72 |drlt r4,[r1,#r| 00005cd0 61 69 73 65 64 5f 66 6c 61 67 73 20 2d 20 69 63 |aised_flags - ic| 00005ce0 6f 6e 62 61 72 5f 6d 65 6e 75 5d 0d 19 c8 1c 20 |onbar_menu].... | 00005cf0 20 20 20 20 20 20 20 6f 72 72 6c 74 20 20 20 72 | orrlt r| 00005d00 34 2c 72 34 2c 23 31 0d 19 d2 38 20 20 20 20 20 |4,r4,#1...8 | 00005d10 20 20 20 73 74 72 6c 74 20 20 20 72 34 2c 5b 72 | strlt r4,[r| 00005d20 31 2c 23 72 61 69 73 65 64 5f 66 6c 61 67 73 20 |1,#raised_flags | 00005d30 2d 20 69 63 6f 6e 62 61 72 5f 6d 65 6e 75 5d 0d |- iconbar_menu].| 00005d40 19 dc 39 20 20 20 20 20 20 20 20 6c 64 72 65 71 |..9 ldreq| 00005d50 20 20 20 72 34 2c 5b 72 31 2c 23 6c 6f 77 65 72 | r4,[r1,#lower| 00005d60 65 64 5f 66 6c 61 67 73 20 2d 20 69 63 6f 6e 62 |ed_flags - iconb| 00005d70 61 72 5f 6d 65 6e 75 5d 0d 19 e6 1c 20 20 20 20 |ar_menu].... | 00005d80 20 20 20 20 6f 72 72 65 71 20 20 20 72 34 2c 72 | orreq r4,r| 00005d90 34 2c 23 31 0d 19 f0 39 20 20 20 20 20 20 20 20 |4,#1...9 | 00005da0 73 74 72 65 71 20 20 20 72 34 2c 5b 72 31 2c 23 |streq r4,[r1,#| 00005db0 6c 6f 77 65 72 65 64 5f 66 6c 61 67 73 20 2d 20 |lowered_flags - | 00005dc0 69 63 6f 6e 62 61 72 5f 6d 65 6e 75 5d 0d 19 fa |iconbar_menu]...| 00005dd0 38 20 20 20 20 20 20 20 20 6c 64 72 67 74 20 20 |8 ldrgt | 00005de0 20 72 34 2c 5b 72 31 2c 23 62 6f 72 64 65 72 5f | r4,[r1,#border_| 00005df0 66 6c 61 67 73 20 2d 20 69 63 6f 6e 62 61 72 5f |flags - iconbar_| 00005e00 6d 65 6e 75 5d 0d 1a 04 1c 20 20 20 20 20 20 20 |menu].... | 00005e10 20 6f 72 72 67 74 20 20 20 72 34 2c 72 34 2c 23 | orrgt r4,r4,#| 00005e20 31 0d 1a 0e 38 20 20 20 20 20 20 20 20 73 74 72 |1...8 str| 00005e30 67 74 20 20 20 72 34 2c 5b 72 31 2c 23 62 6f 72 |gt r4,[r1,#bor| 00005e40 64 65 72 5f 66 6c 61 67 73 20 2d 20 69 63 6f 6e |der_flags - icon| 00005e50 62 61 72 5f 6d 65 6e 75 5d 0d 1a 18 04 0d 1a 22 |bar_menu]......"| 00005e60 27 20 20 20 20 20 20 20 20 61 64 72 20 20 20 20 |' adr | 00005e70 20 72 32 2c 63 6c 6f 63 6b 66 61 63 65 5f 72 61 | r2,clockface_ra| 00005e80 69 73 65 64 0d 1a 2c 2c 20 20 20 20 20 20 20 20 |ised..,, | 00005e90 62 6c 20 20 20 20 20 20 63 68 65 63 6b 5f 73 70 |bl check_sp| 00005ea0 72 69 74 65 5f 69 6e 5f 77 69 6d 70 70 6f 6f 6c |rite_in_wimppool| 00005eb0 0d 1a 36 3d 20 20 20 20 20 20 20 20 6c 64 72 76 |..6= ldrv| 00005ec0 73 20 20 20 72 34 2c 5b 72 31 2c 23 72 61 69 73 |s r4,[r1,#rais| 00005ed0 65 64 5f 69 63 6f 6e 5f 66 6c 61 67 73 20 2d 20 |ed_icon_flags - | 00005ee0 69 63 6f 6e 62 61 72 5f 6d 65 6e 75 5d 0d 1a 40 |iconbar_menu]..@| 00005ef0 22 20 20 20 20 20 20 20 20 6f 72 72 76 73 20 20 |" orrvs | 00005f00 20 72 34 2c 72 34 2c 23 31 20 3c 3c 20 32 32 0d | r4,r4,#1 << 22.| 00005f10 1a 4a 3d 20 20 20 20 20 20 20 20 73 74 72 76 73 |.J= strvs| 00005f20 20 20 20 72 34 2c 5b 72 31 2c 23 72 61 69 73 65 | r4,[r1,#raise| 00005f30 64 5f 69 63 6f 6e 5f 66 6c 61 67 73 20 2d 20 69 |d_icon_flags - i| 00005f40 63 6f 6e 62 61 72 5f 6d 65 6e 75 5d 0d 1a 54 28 |conbar_menu]..T(| 00005f50 20 20 20 20 20 20 20 20 61 64 72 20 20 20 20 20 | adr | 00005f60 72 32 2c 63 6c 6f 63 6b 66 61 63 65 5f 6c 6f 77 |r2,clockface_low| 00005f70 65 72 65 64 0d 1a 5e 2c 20 20 20 20 20 20 20 20 |ered..^, | 00005f80 62 6c 20 20 20 20 20 20 63 68 65 63 6b 5f 73 70 |bl check_sp| 00005f90 72 69 74 65 5f 69 6e 5f 77 69 6d 70 70 6f 6f 6c |rite_in_wimppool| 00005fa0 0d 1a 68 3e 20 20 20 20 20 20 20 20 6c 64 72 76 |..h> ldrv| 00005fb0 73 20 20 20 72 34 2c 5b 72 31 2c 23 6c 6f 77 65 |s r4,[r1,#lowe| 00005fc0 72 65 64 5f 69 63 6f 6e 5f 66 6c 61 67 73 20 2d |red_icon_flags -| 00005fd0 20 69 63 6f 6e 62 61 72 5f 6d 65 6e 75 5d 0d 1a | iconbar_menu]..| 00005fe0 72 22 20 20 20 20 20 20 20 20 6f 72 72 76 73 20 |r" orrvs | 00005ff0 20 20 72 34 2c 72 34 2c 23 31 20 3c 3c 20 32 32 | r4,r4,#1 << 22| 00006000 0d 1a 7c 3e 20 20 20 20 20 20 20 20 73 74 72 76 |..|> strv| 00006010 73 20 20 20 72 34 2c 5b 72 31 2c 23 6c 6f 77 65 |s r4,[r1,#lowe| 00006020 72 65 64 5f 69 63 6f 6e 5f 66 6c 61 67 73 20 2d |red_icon_flags -| 00006030 20 69 63 6f 6e 62 61 72 5f 6d 65 6e 75 5d 0d 1a | iconbar_menu]..| 00006040 86 27 20 20 20 20 20 20 20 20 61 64 72 20 20 20 |.' adr | 00006050 20 20 72 32 2c 63 6c 6f 63 6b 66 61 63 65 5f 62 | r2,clockface_b| 00006060 6f 72 64 65 72 0d 1a 90 2c 20 20 20 20 20 20 20 |order..., | 00006070 20 62 6c 20 20 20 20 20 20 63 68 65 63 6b 5f 73 | bl check_s| 00006080 70 72 69 74 65 5f 69 6e 5f 77 69 6d 70 70 6f 6f |prite_in_wimppoo| 00006090 6c 0d 1a 9a 3d 20 20 20 20 20 20 20 20 6c 64 72 |l...= ldr| 000060a0 76 73 20 20 20 72 34 2c 5b 72 31 2c 23 62 6f 72 |vs r4,[r1,#bor| 000060b0 64 65 72 5f 69 63 6f 6e 5f 66 6c 61 67 73 20 2d |der_icon_flags -| 000060c0 20 69 63 6f 6e 62 61 72 5f 6d 65 6e 75 5d 0d 1a | iconbar_menu]..| 000060d0 a4 22 20 20 20 20 20 20 20 20 6f 72 72 76 73 20 |." orrvs | 000060e0 20 20 72 34 2c 72 34 2c 23 31 20 3c 3c 20 32 32 | r4,r4,#1 << 22| 000060f0 0d 1a ae 3d 20 20 20 20 20 20 20 20 73 74 72 76 |...= strv| 00006100 73 20 20 20 72 34 2c 5b 72 31 2c 23 62 6f 72 64 |s r4,[r1,#bord| 00006110 65 72 5f 69 63 6f 6e 5f 66 6c 61 67 73 20 2d 20 |er_icon_flags - | 00006120 69 63 6f 6e 62 61 72 5f 6d 65 6e 75 5d 0d 1a b8 |iconbar_menu]...| 00006130 04 0d 1a c2 4e 20 20 20 20 20 20 20 20 6c 64 72 |....N ldr| 00006140 20 20 20 20 20 72 32 2c 5b 72 31 32 2c 23 70 6f | r2,[r12,#po| 00006150 6c 6c 5f 73 70 61 63 65 5d 20 20 20 20 3b 20 72 |ll_space] ; r| 00006160 32 20 3d 20 78 20 63 6f 6f 72 64 69 6e 61 74 65 |2 = x coordinate| 00006170 20 6f 66 20 6d 6f 75 73 65 20 63 6c 69 63 6b 0d | of mouse click.| 00006180 1a cc 44 20 20 20 20 20 20 20 20 73 75 62 20 20 |..D sub | 00006190 20 20 20 72 32 2c 72 32 2c 23 36 34 20 20 20 20 | r2,r2,#64 | 000061a0 20 20 20 20 20 20 20 20 20 20 20 3b 20 61 73 20 | ; as | 000061b0 69 6e 20 61 63 6f 72 6e 20 67 75 69 64 65 6c 69 |in acorn guideli| 000061c0 6e 65 73 0d 1a d6 1f 20 20 20 20 20 20 20 20 6d |nes.... m| 000061d0 6f 76 20 20 20 20 20 72 33 2c 23 39 36 2b 34 34 |ov r3,#96+44| 000061e0 2a 34 0d 1a e0 26 20 20 20 20 20 20 20 20 73 77 |*4...& sw| 000061f0 69 20 20 20 20 20 22 58 57 69 6d 70 5f 43 72 65 |i "XWimp_Cre| 00006200 61 74 65 4d 65 6e 75 22 0d 1a ea 1f 20 20 20 20 |ateMenu".... | 00006210 20 20 20 20 62 76 73 20 20 20 20 20 66 61 74 61 | bvs fata| 00006220 6c 5f 65 72 72 6f 72 0d 1a f4 44 20 20 20 20 20 |l_error...D | 00006230 20 20 20 62 20 20 20 20 20 20 20 70 6f 6c 6c 20 | b poll | 00006240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00006250 20 20 20 3b 20 72 65 74 75 72 6e 20 74 6f 20 70 | ; return to p| 00006260 6f 6c 6c 69 6e 67 20 6c 6f 6f 70 0d 1a fe 04 0d |olling loop.....| 00006270 1b 08 15 2e 63 6c 6f 63 6b 66 61 63 65 5f 72 61 |....clockface_ra| 00006280 69 73 65 64 0d 1b 12 23 20 20 20 20 20 20 20 20 |ised...# | 00006290 65 71 75 73 20 20 20 20 22 21 69 63 6f 6e 63 6c |equs "!iconcl| 000062a0 6f 63 31 22 2b bd 30 0d 1b 1c 16 2e 63 6c 6f 63 |oc1"+.0.....cloc| 000062b0 6b 66 61 63 65 5f 6c 6f 77 65 72 65 64 0d 1b 26 |kface_lowered..&| 000062c0 23 20 20 20 20 20 20 20 20 65 71 75 73 20 20 20 |# equs | 000062d0 20 22 21 69 63 6f 6e 63 6c 6f 63 32 22 2b bd 30 | "!iconcloc2"+.0| 000062e0 0d 1b 30 15 2e 63 6c 6f 63 6b 66 61 63 65 5f 62 |..0..clockface_b| 000062f0 6f 72 64 65 72 0d 1b 3a 23 20 20 20 20 20 20 20 |order..:# | 00006300 20 65 71 75 73 20 20 20 20 22 21 69 63 6f 6e 63 | equs "!iconc| 00006310 6c 6f 63 33 22 2b bd 30 0d 1b 44 44 44 67 6e 0d |loc3"+.0..DDDgn.| 00006320 1b 4e 04 0d 1b 58 53 3b 20 2d 2d 2d 2d 2d 2d 2d |.N...XS; -------| 00006330 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00006370 2d 2d 2d 2d 2d 2d 0d 1b 62 21 3b 20 64 65 66 69 |------..b!; defi| 00006380 6e 69 74 69 6f 6e 20 66 6f 72 20 69 63 6f 6e 62 |nition for iconb| 00006390 61 72 20 6d 65 6e 75 0d 1b 6c 04 0d 1b 76 11 2e |ar menu..l...v..| 000063a0 69 63 6f 6e 62 61 72 5f 6d 65 6e 75 0d 1b 80 20 |iconbar_menu... | 000063b0 20 20 20 20 20 20 20 20 a4 73 74 72 69 6e 67 28 | .string(| 000063c0 22 49 63 6f 6e 43 6c 6f 63 6b 22 29 0d 1b 8a 15 |"IconClock")....| 000063d0 20 20 20 20 20 20 20 20 65 71 75 62 20 20 20 20 | equb | 000063e0 37 0d 1b 94 15 20 20 20 20 20 20 20 20 65 71 75 |7.... equ| 000063f0 62 20 20 20 20 32 0d 1b 9e 15 20 20 20 20 20 20 |b 2.... | 00006400 20 20 65 71 75 62 20 20 20 20 37 0d 1b a8 15 20 | equb 7.... | 00006410 20 20 20 20 20 20 20 65 71 75 62 20 20 20 20 30 | equb 0| 00006420 0d 1b b2 1b 20 20 20 20 20 20 20 20 65 71 75 64 |.... equd| 00006430 20 20 20 20 39 2a 31 36 2b 31 32 0d 1b bc 16 20 | 9*16+12.... | 00006440 20 20 20 20 20 20 20 65 71 75 64 20 20 20 20 34 | equd 4| 00006450 34 0d 1b c6 15 20 20 20 20 20 20 20 20 65 71 75 |4.... equ| 00006460 64 20 20 20 20 30 0d 1b d0 3b 20 20 20 20 20 20 |d 0...; | 00006470 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | * 00006490 20 20 3b 20 73 74 61 72 74 20 65 6e 74 72 79 20 | ; start entry | 000064a0 31 0d 1b da 15 20 20 20 20 20 20 20 20 65 71 75 |1.... equ| 000064b0 64 20 20 20 20 30 0d 1b e4 1b 2e 70 75 74 5f 69 |d 0.....put_i| 000064c0 6e 66 6f 5f 77 69 6e 64 6f 77 5f 68 61 6e 64 6c |nfo_window_handl| 000064d0 65 0d 1b ee 3d 20 20 20 20 20 20 20 20 65 71 75 |e...= equ| 000064e0 64 20 20 20 20 2d 31 20 20 20 20 20 20 20 20 20 |d -1 | 000064f0 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 66 | ; f| 00006500 69 6c 6c 65 64 20 69 6e 20 6c 61 74 65 72 0d 1b |illed in later..| 00006510 f8 28 20 20 20 20 20 20 20 20 65 71 75 64 20 20 |.( equd | 00006520 20 20 31 2b 28 31 20 3c 3c 20 35 29 2b 28 37 20 | 1+(1 << 5)+(7 | 00006530 3c 3c 20 32 34 29 0d 1c 02 1b 20 20 20 20 20 20 |<< 24).... | 00006540 20 20 a4 73 74 72 69 6e 67 28 22 49 6e 66 6f 22 | .string("Info"| 00006550 29 0d 1c 0c 3b 20 20 20 20 20 20 20 20 20 20 20 |)...; | 00006560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00006570 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 73 | ; s| 00006580 74 61 72 74 20 65 6e 74 72 79 20 32 0d 1c 16 15 |tart entry 2....| 00006590 20 20 20 20 20 20 20 20 65 71 75 64 20 20 20 20 | equd | 000065a0 30 0d 1c 20 19 2e 70 75 74 5f 74 69 6d 65 5f 66 |0.. ..put_time_f| 000065b0 6f 72 6d 61 74 5f 6d 65 6e 75 0d 1c 2a 3d 20 20 |ormat_menu..*= | 000065c0 20 20 20 20 20 20 65 71 75 64 20 20 20 20 2d 31 | equd -1| 000065d0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000065e0 20 20 20 20 20 20 3b 20 66 69 6c 6c 65 64 20 69 | ; filled i| 000065f0 6e 20 6c 61 74 65 72 0d 1c 34 28 20 20 20 20 20 |n later..4( | 00006600 20 20 20 65 71 75 64 20 20 20 20 31 2b 28 31 20 | equd 1+(1 | 00006610 3c 3c 20 35 29 2b 28 37 20 3c 3c 20 32 34 29 0d |<< 5)+(7 << 24).| 00006620 1c 3e 1d 20 20 20 20 20 20 20 20 a4 73 74 72 69 |.>. .stri| 00006630 6e 67 28 22 46 6f 72 6d 61 74 22 29 0d 1c 48 3b |ng("Format")..H;| 00006640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | * 00006660 20 20 20 20 20 20 20 20 3b 20 73 74 61 72 74 20 | ; start | 00006670 65 6e 74 72 79 20 33 0d 1c 52 15 20 20 20 20 20 |entry 3..R. | 00006680 20 20 20 65 71 75 64 20 20 20 20 30 0d 1c 5c 17 | equd 0..\.| 00006690 2e 70 75 74 5f 63 6c 6f 63 6b 66 61 63 65 5f 6d |.put_clockface_m| 000066a0 65 6e 75 0d 1c 66 3d 20 20 20 20 20 20 20 20 65 |enu..f= e| 000066b0 71 75 64 20 20 20 20 2d 31 20 20 20 20 20 20 20 |qud -1 | 000066c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b | ;| 000066d0 20 66 69 6c 6c 65 64 20 69 6e 20 6c 61 74 65 72 | filled in later| 000066e0 0d 1c 70 28 20 20 20 20 20 20 20 20 65 71 75 64 |..p( equd| 000066f0 20 20 20 20 31 2b 28 31 20 3c 3c 20 35 29 2b 28 | 1+(1 << 5)+(| 00006700 37 20 3c 3c 20 32 34 29 0d 1c 7a 20 20 20 20 20 |7 << 24)..z | 00006710 20 20 20 20 a4 73 74 72 69 6e 67 28 22 43 6c 6f | .string("Clo| 00006720 63 6b 66 61 63 65 22 29 0d 1c 84 3b 20 20 20 20 |ckface")...; | 00006730 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | * 00006750 20 20 20 20 3b 20 73 74 61 72 74 20 65 6e 74 72 | ; start entr| 00006760 79 20 33 0d 1c 8e 38 20 20 20 20 20 20 20 20 65 |y 3...8 e| 00006770 71 75 64 20 20 20 20 26 38 30 20 20 20 20 20 20 |qud &80 | 00006780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b | ;| 00006790 20 6c 61 73 74 20 65 6e 74 72 79 0d 1c 98 3f 20 | last entry...? | 000067a0 20 20 20 20 20 20 20 65 71 75 64 20 20 20 20 2d | equd -| 000067b0 31 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |1 | 000067c0 20 20 20 20 20 20 20 3b 20 6e 6f 20 73 75 62 6d | ; no subm| 000067d0 65 6e 75 2f 77 69 6e 64 6f 77 0d 1c a2 28 20 20 |enu/window...( | 000067e0 20 20 20 20 20 20 65 71 75 64 20 20 20 20 31 2b | equd 1+| 000067f0 28 31 20 3c 3c 20 35 29 2b 28 37 20 3c 3c 20 32 |(1 << 5)+(7 << 2| 00006800 34 29 0d 1c ac 1b 20 20 20 20 20 20 20 20 a4 73 |4).... .s| 00006810 74 72 69 6e 67 28 22 51 75 69 74 22 29 0d 1c b6 |tring("Quit")...| 00006820 15 2e 65 6e 64 5f 69 63 6f 6e 62 61 72 5f 6d 65 |..end_iconbar_me| 00006830 6e 75 0d 1c c0 04 0d 1c ca 53 3b 20 2d 2d 2d 2d |nu.......S; ----| 00006840 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00006880 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 1c d4 19 3b 20 74 |---------....; t| 00006890 69 6d 65 20 66 6f 72 6d 61 74 20 73 75 62 6d 65 |ime format subme| 000068a0 6e 75 0d 1c de 04 0d 1c e8 15 2e 74 69 6d 65 5f |nu.........time_| 000068b0 66 6f 72 6d 61 74 5f 6d 65 6e 75 0d 1c f2 1d 20 |format_menu.... | 000068c0 20 20 20 20 20 20 20 a4 73 74 72 69 6e 67 28 22 | .string("| 000068d0 46 6f 72 6d 61 74 22 29 0d 1c fc 15 20 20 20 20 |Format").... | 000068e0 20 20 20 20 65 71 75 62 20 20 20 20 37 0d 1d 06 | equb 7...| 000068f0 15 20 20 20 20 20 20 20 20 65 71 75 62 20 20 20 |. equb | 00006900 20 32 0d 1d 10 15 20 20 20 20 20 20 20 20 65 71 | 2.... eq| 00006910 75 62 20 20 20 20 37 0d 1d 1a 15 20 20 20 20 20 |ub 7.... | 00006920 20 20 20 65 71 75 62 20 20 20 20 30 0d 1d 24 1b | equb 0..$.| 00006930 20 20 20 20 20 20 20 20 65 71 75 64 20 20 20 20 | equd | 00006940 37 2a 31 36 2b 31 32 0d 1d 2e 16 20 20 20 20 20 |7*16+12.... | 00006950 20 20 20 65 71 75 64 20 20 20 20 34 34 0d 1d 38 | equd 44..8| 00006960 15 20 20 20 20 20 20 20 20 65 71 75 64 20 20 20 |. equd | 00006970 20 30 0d 1d 42 3b 20 20 20 20 20 20 20 20 20 20 | 0..B; | 00006980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00006990 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 | ; | 000069a0 73 74 61 72 74 20 65 6e 74 72 79 20 31 0d 1d 4c |start entry 1..L| 000069b0 12 2e 68 6f 75 72 5f 31 32 5f 66 6c 61 67 73 0d |..hour_12_flags.| 000069c0 1d 56 15 20 20 20 20 20 20 20 20 65 71 75 64 20 |.V. equd | 000069d0 20 20 20 30 0d 1d 60 3f 20 20 20 20 20 20 20 20 | 0..`? | 000069e0 65 71 75 64 20 20 20 20 2d 31 20 20 20 20 20 20 |equd -1 | 000069f0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00006a00 3b 20 6e 6f 20 73 75 62 6d 65 6e 75 2f 77 69 6e |; no submenu/win| 00006a10 64 6f 77 0d 1d 6a 28 20 20 20 20 20 20 20 20 65 |dow..j( e| 00006a20 71 75 64 20 20 20 20 31 2b 28 31 20 3c 3c 20 35 |qud 1+(1 << 5| 00006a30 29 2b 28 37 20 3c 3c 20 32 34 29 0d 1d 74 1e 20 |)+(7 << 24)..t. | 00006a40 20 20 20 20 20 20 20 a4 73 74 72 69 6e 67 28 22 | .string("| 00006a50 31 32 20 48 6f 75 72 22 29 0d 1d 7e 3b 20 20 20 |12 Hour")..~; | 00006a60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | * 00006a80 20 20 20 20 20 3b 20 73 74 61 72 74 20 65 6e 74 | ; start ent| 00006a90 72 79 20 32 0d 1d 88 12 2e 68 6f 75 72 5f 32 34 |ry 2.....hour_24| 00006aa0 5f 66 6c 61 67 73 0d 1d 92 38 20 20 20 20 20 20 |_flags...8 | 00006ab0 20 20 65 71 75 64 20 20 20 20 26 38 30 20 20 20 | equd &80 | 00006ac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00006ad0 20 20 3b 20 6c 61 73 74 20 65 6e 74 72 79 0d 1d | ; last entry..| 00006ae0 9c 3f 20 20 20 20 20 20 20 20 65 71 75 64 20 20 |.? equd | 00006af0 20 20 2d 31 20 20 20 20 20 20 20 20 20 20 20 20 | -1 | 00006b00 20 20 20 20 20 20 20 20 20 20 3b 20 6e 6f 20 73 | ; no s| 00006b10 75 62 6d 65 6e 75 2f 77 69 6e 64 6f 77 0d 1d a6 |ubmenu/window...| 00006b20 28 20 20 20 20 20 20 20 20 65 71 75 64 20 20 20 |( equd | 00006b30 20 31 2b 28 31 20 3c 3c 20 35 29 2b 28 37 20 3c | 1+(1 << 5)+(7 <| 00006b40 3c 20 32 34 29 0d 1d b0 1e 20 20 20 20 20 20 20 |< 24).... | 00006b50 20 a4 73 74 72 69 6e 67 28 22 32 34 20 48 6f 75 | .string("24 Hou| 00006b60 72 22 29 0d 1d ba 19 2e 65 6e 64 5f 74 69 6d 65 |r").....end_time| 00006b70 5f 66 6f 72 6d 61 74 5f 6d 65 6e 75 0d 1d c4 04 |_format_menu....| 00006b80 0d 1d ce 53 3b 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |...S; ----------| 00006b90 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00006bd0 2d 2d 2d 0d 1d d8 17 3b 20 63 6c 6f 63 6b 66 61 |---....; clockfa| 00006be0 63 65 20 73 75 62 6d 65 6e 75 0d 1d e2 04 0d 1d |ce submenu......| 00006bf0 ec 13 2e 63 6c 6f 63 6b 66 61 63 65 5f 6d 65 6e |...clockface_men| 00006c00 75 0d 1d f6 20 20 20 20 20 20 20 20 20 a4 73 74 |u... .st| 00006c10 72 69 6e 67 28 22 43 6c 6f 63 6b 66 61 63 65 22 |ring("Clockface"| 00006c20 29 0d 1e 00 15 20 20 20 20 20 20 20 20 65 71 75 |).... equ| 00006c30 62 20 20 20 20 37 0d 1e 0a 15 20 20 20 20 20 20 |b 7.... | 00006c40 20 20 65 71 75 62 20 20 20 20 32 0d 1e 14 15 20 | equb 2.... | 00006c50 20 20 20 20 20 20 20 65 71 75 62 20 20 20 20 37 | equb 7| 00006c60 0d 1e 1e 15 20 20 20 20 20 20 20 20 65 71 75 62 |.... equb| 00006c70 20 20 20 20 30 0d 1e 28 18 20 20 20 20 20 20 20 | 0..(. | 00006c80 20 65 71 75 64 20 20 20 20 39 2a 31 36 0d 1e 32 | equd 9*16..2| 00006c90 16 20 20 20 20 20 20 20 20 65 71 75 64 20 20 20 |. equd | 00006ca0 20 34 34 0d 1e 3c 15 20 20 20 20 20 20 20 20 65 | 44..<. e| 00006cb0 71 75 64 20 20 20 20 30 0d 1e 46 3b 20 20 20 20 |qud 0..F; | 00006cc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | * 00006ce0 20 20 20 20 3b 20 73 74 61 72 74 20 65 6e 74 72 | ; start entr| 00006cf0 79 20 31 0d 1e 50 11 2e 72 61 69 73 65 64 5f 66 |y 1..P..raised_f| 00006d00 6c 61 67 73 0d 1e 5a 15 20 20 20 20 20 20 20 20 |lags..Z. | 00006d10 65 71 75 64 20 20 20 20 30 0d 1e 64 3f 20 20 20 |equd 0..d? | 00006d20 20 20 20 20 20 65 71 75 64 20 20 20 20 2d 31 20 | equd -1 | 00006d30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00006d40 20 20 20 20 20 3b 20 6e 6f 20 73 75 62 6d 65 6e | ; no submen| 00006d50 75 2f 77 69 6e 64 6f 77 0d 1e 6e 16 2e 72 61 69 |u/window..n..rai| 00006d60 73 65 64 5f 69 63 6f 6e 5f 66 6c 61 67 73 0d 1e |sed_icon_flags..| 00006d70 78 28 20 20 20 20 20 20 20 20 65 71 75 64 20 20 |x( equd | 00006d80 20 20 31 2b 28 31 20 3c 3c 20 35 29 2b 28 37 20 | 1+(1 << 5)+(7 | 00006d90 3c 3c 20 32 34 29 0d 1e 82 1d 20 20 20 20 20 20 |<< 24).... | 00006da0 20 20 a4 73 74 72 69 6e 67 28 22 52 61 69 73 65 | .string("Raise| 00006db0 64 22 29 0d 1e 8c 3b 20 20 20 20 20 20 20 20 20 |d")...; | 00006dc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00006dd0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b | ;| 00006de0 20 73 74 61 72 74 20 65 6e 74 72 79 20 32 0d 1e | start entry 2..| 00006df0 96 12 2e 6c 6f 77 65 72 65 64 5f 66 6c 61 67 73 |...lowered_flags| 00006e00 0d 1e a0 15 20 20 20 20 20 20 20 20 65 71 75 64 |.... equd| 00006e10 20 20 20 20 30 0d 1e aa 3f 20 20 20 20 20 20 20 | 0...? | 00006e20 20 65 71 75 64 20 20 20 20 2d 31 20 20 20 20 20 | equd -1 | 00006e30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00006e40 20 3b 20 6e 6f 20 73 75 62 6d 65 6e 75 2f 77 69 | ; no submenu/wi| 00006e50 6e 64 6f 77 0d 1e b4 17 2e 6c 6f 77 65 72 65 64 |ndow.....lowered| 00006e60 5f 69 63 6f 6e 5f 66 6c 61 67 73 0d 1e be 28 20 |_icon_flags...( | 00006e70 20 20 20 20 20 20 20 65 71 75 64 20 20 20 20 31 | equd 1| 00006e80 2b 28 31 20 3c 3c 20 35 29 2b 28 37 20 3c 3c 20 |+(1 << 5)+(7 << | 00006e90 32 34 29 0d 1e c8 1e 20 20 20 20 20 20 20 20 a4 |24).... .| 00006ea0 73 74 72 69 6e 67 28 22 4c 6f 77 65 72 65 64 22 |string("Lowered"| 00006eb0 29 0d 1e d2 3b 20 20 20 20 20 20 20 20 20 20 20 |)...; | 00006ec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00006ed0 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 73 | ; s| 00006ee0 74 61 72 74 20 65 6e 74 72 79 20 33 0d 1e dc 11 |tart entry 3....| 00006ef0 2e 62 6f 72 64 65 72 5f 66 6c 61 67 73 0d 1e e6 |.border_flags...| 00006f00 38 20 20 20 20 20 20 20 20 65 71 75 64 20 20 20 |8 equd | 00006f10 20 26 38 30 20 20 20 20 20 20 20 20 20 20 20 20 | &80 | 00006f20 20 20 20 20 20 20 20 20 20 3b 20 6c 61 73 74 20 | ; last | 00006f30 65 6e 74 72 79 0d 1e f0 3f 20 20 20 20 20 20 20 |entry...? | 00006f40 20 65 71 75 64 20 20 20 20 2d 31 20 20 20 20 20 | equd -1 | 00006f50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00006f60 20 3b 20 6e 6f 20 73 75 62 6d 65 6e 75 2f 77 69 | ; no submenu/wi| 00006f70 6e 64 6f 77 0d 1e fa 16 2e 62 6f 72 64 65 72 5f |ndow.....border_| 00006f80 69 63 6f 6e 5f 66 6c 61 67 73 0d 1f 04 28 20 20 |icon_flags...( | 00006f90 20 20 20 20 20 20 65 71 75 64 20 20 20 20 31 2b | equd 1+| 00006fa0 28 31 20 3c 3c 20 35 29 2b 28 37 20 3c 3c 20 32 |(1 << 5)+(7 << 2| 00006fb0 34 29 0d 1f 0e 1d 20 20 20 20 20 20 20 20 a4 73 |4).... .s| 00006fc0 74 72 69 6e 67 28 22 42 6f 72 64 65 72 22 29 0d |tring("Border").| 00006fd0 1f 18 17 2e 65 6e 64 5f 63 6c 6f 63 6b 66 61 63 |....end_clockfac| 00006fe0 65 5f 6d 65 6e 75 0d 1f 22 04 0d 1f 2c 53 3b 20 |e_menu.."...,S; | 00006ff0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00007030 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 1f 36 |-------------..6| 00007040 24 3b 20 61 20 6d 65 6e 75 20 65 6e 74 72 79 20 |$; a menu entry | 00007050 68 61 73 20 62 65 65 6e 20 73 65 6c 65 63 74 65 |has been selecte| 00007060 64 0d 1f 40 04 0d 1f 4a 10 2e 6d 65 6e 75 5f 73 |d..@...J..menu_s| 00007070 65 6c 65 63 74 0d 1f 54 46 20 20 20 20 20 20 20 |elect..TF | 00007080 20 6c 64 72 20 20 20 20 20 72 30 2c 5b 72 31 5d | ldr r0,[r1]| 00007090 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000070a0 20 3b 20 72 30 20 3d 20 6d 65 6e 75 20 65 6e 74 | ; r0 = menu ent| 000070b0 72 79 20 73 65 6c 65 63 74 65 64 0d 1f 5e 46 20 |ry selected..^F | 000070c0 20 20 20 20 20 20 20 74 65 71 20 20 20 20 20 72 | teq r| 000070d0 30 2c 23 30 20 20 20 20 20 20 20 20 20 20 20 20 |0,#0 | 000070e0 20 20 20 20 20 20 20 3b 20 73 65 65 20 69 66 20 | ; see if | 000070f0 69 6e 66 6f 20 77 61 73 20 73 65 6c 65 63 74 65 |info was selecte| 00007100 64 0d 1f 68 3f 20 20 20 20 20 20 20 20 62 65 71 |d..h? beq| 00007110 20 20 20 20 20 73 65 65 5f 69 66 5f 72 65 6f 70 | see_if_reop| 00007120 65 6e 20 20 20 20 20 20 20 20 20 20 20 3b 20 77 |en ; w| 00007130 61 73 20 73 6f 20 64 6f 20 6e 6f 74 68 69 6e 67 |as so do nothing| 00007140 0d 1f 72 43 20 20 20 20 20 20 20 20 63 6d 70 20 |..rC cmp | 00007150 20 20 20 20 72 30 2c 23 32 20 20 20 20 20 20 20 | r0,#2 | 00007160 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 73 65 | ; se| 00007170 65 20 77 68 61 74 20 77 61 73 20 73 65 6c 65 63 |e what was selec| 00007180 74 65 64 0d 1f 7c 3f 20 20 20 20 20 20 20 20 62 |ted..|? b| 00007190 67 74 20 20 20 20 20 63 6c 6f 73 65 64 6f 77 6e |gt closedown| 000071a0 5f 61 6e 64 5f 65 78 69 74 20 20 20 20 20 20 3b |_and_exit ;| 000071b0 20 71 75 69 74 20 73 6f 20 63 6c 6f 73 65 64 6f | quit so closedo| 000071c0 77 6e 0d 1f 86 4e 20 20 20 20 20 20 20 20 62 6c |wn...N bl| 000071d0 74 20 20 20 20 20 66 6f 72 6d 61 74 5f 73 65 6c |t format_sel| 000071e0 65 63 74 65 64 20 20 20 20 20 20 20 20 20 3b 20 |ected ; | 000071f0 66 6f 72 6d 61 74 20 6f 72 20 73 75 62 2d 65 6e |format or sub-en| 00007200 74 72 79 20 77 61 73 20 73 65 6c 65 63 74 65 64 |try was selected| 00007210 0d 1f 90 51 20 20 20 20 20 20 20 20 20 20 20 20 |...Q | 00007220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00007230 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 63 6c | ; cl| 00007240 6f 63 6b 66 61 63 65 20 6f 72 20 73 75 62 2d 65 |ockface or sub-e| 00007250 6e 74 72 79 20 77 61 73 20 73 65 6c 65 63 74 65 |ntry was selecte| 00007260 64 0d 1f 9a 4a 20 20 20 20 20 20 20 20 6c 64 72 |d...J ldr| 00007270 20 20 20 20 20 72 30 2c 5b 72 31 2c 23 34 5d 20 | r0,[r1,#4] | 00007280 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 72 | ; r| 00007290 30 20 3d 20 73 65 63 6f 6e 64 20 64 65 70 74 68 |0 = second depth| 000072a0 20 6d 65 6e 75 20 65 6e 74 72 79 0d 1f a4 47 20 | menu entry...G | 000072b0 20 20 20 20 20 20 20 63 6d 70 20 20 20 20 20 72 | cmp r| 000072c0 30 2c 23 30 20 20 20 20 20 20 20 20 20 20 20 20 |0,#0 | 000072d0 20 20 20 20 20 20 20 3b 20 73 65 65 20 69 66 20 | ; see if | 000072e0 65 6e 74 72 79 20 77 61 73 20 73 65 6c 65 63 74 |entry was select| 000072f0 65 64 0d 1f ae 3c 20 20 20 20 20 20 20 20 62 6c |ed...< bl| 00007300 74 20 20 20 20 20 73 65 65 5f 69 66 5f 72 65 6f |t see_if_reo| 00007310 70 65 6e 20 20 20 20 20 20 20 20 20 20 20 3b 20 |pen ; | 00007320 77 61 73 6e 27 74 20 73 6f 20 73 6b 69 70 0d 1f |wasn't so skip..| 00007330 b8 27 20 20 20 20 20 20 20 20 6c 64 72 62 20 20 |.' ldrb | 00007340 20 20 72 31 2c 5b 72 31 32 2c 23 63 6c 6f 63 6b | r1,[r12,#clock| 00007350 66 61 63 65 5d 0d 1f c2 2b 20 20 20 20 20 20 20 |face]...+ | 00007360 20 73 74 72 62 20 20 20 20 72 31 2c 5b 72 31 32 | strb r1,[r12| 00007370 2c 23 6f 6c 64 5f 63 6c 6f 63 6b 66 61 63 65 5d |,#old_clockface]| 00007380 0d 1f cc 44 20 20 20 20 20 20 20 20 73 74 72 62 |...D strb| 00007390 20 20 20 20 72 30 2c 5b 72 31 32 2c 23 63 6c 6f | r0,[r12,#clo| 000073a0 63 6b 66 61 63 65 5d 20 20 20 20 20 3b 20 73 74 |ckface] ; st| 000073b0 6f 72 65 20 6e 65 77 20 63 6c 6f 63 6b 20 66 6f |ore new clock fo| 000073c0 72 6d 61 74 0d 1f d6 2a 20 20 20 20 20 20 20 20 |rmat...* | 000073d0 62 6c 20 20 20 20 20 20 73 65 74 75 70 5f 69 63 |bl setup_ic| 000073e0 6f 6e 5f 73 70 72 69 74 65 5f 6e 61 6d 65 0d 1f |on_sprite_name..| 000073f0 e0 27 20 20 20 20 20 20 20 20 61 64 64 20 20 20 |.' add | 00007400 20 20 72 32 2c 72 31 32 2c 23 73 70 72 69 74 65 | r2,r12,#sprite| 00007410 5f 6e 61 6d 65 0d 1f ea 2c 20 20 20 20 20 20 20 |_name..., | 00007420 20 62 6c 20 20 20 20 20 20 63 68 65 63 6b 5f 73 | bl check_s| 00007430 70 72 69 74 65 5f 69 6e 5f 77 69 6d 70 70 6f 6f |prite_in_wimppoo| 00007440 6c 0d 1f f4 20 20 20 20 20 20 20 20 20 62 76 63 |l... bvc| 00007450 20 20 20 20 20 73 70 72 69 74 65 5f 66 6f 75 6e | sprite_foun| 00007460 64 0d 1f fe 23 20 20 20 20 20 20 20 20 62 6c 20 |d...# bl | 00007470 20 20 20 20 20 72 65 70 6f 72 74 5f 65 72 72 6f | report_erro| 00007480 72 5f 6f 6b 0d 20 08 2b 20 20 20 20 20 20 20 20 |r_ok. .+ | 00007490 6c 64 72 62 20 20 20 20 72 31 2c 5b 72 31 32 2c |ldrb r1,[r12,| 000074a0 23 6f 6c 64 5f 63 6c 6f 63 6b 66 61 63 65 5d 0d |#old_clockface].| 000074b0 20 12 27 20 20 20 20 20 20 20 20 73 74 72 62 20 | .' strb | 000074c0 20 20 20 72 31 2c 5b 72 31 32 2c 23 63 6c 6f 63 | r1,[r12,#cloc| 000074d0 6b 66 61 63 65 5d 0d 20 1c 2a 20 20 20 20 20 20 |kface]. .* | 000074e0 20 20 62 6c 20 20 20 20 20 20 73 65 74 75 70 5f | bl setup_| 000074f0 69 63 6f 6e 5f 73 70 72 69 74 65 5f 6e 61 6d 65 |icon_sprite_name| 00007500 0d 20 26 18 20 20 20 20 20 20 20 20 62 20 20 20 |. &. b | 00007510 20 20 20 20 70 6f 6c 6c 0d 20 30 11 2e 73 70 72 | poll. 0..spr| 00007520 69 74 65 5f 66 6f 75 6e 64 0d 20 3a 4b 20 20 20 |ite_found. :K | 00007530 20 20 20 20 20 62 6c 20 20 20 20 20 20 73 65 74 | bl set| 00007540 5f 6f 70 74 69 6f 6e 73 5f 76 61 72 69 61 62 6c |_options_variabl| 00007550 65 20 20 20 20 3b 20 74 68 65 6e 20 73 65 74 20 |e ; then set | 00007560 74 68 65 20 6f 70 74 69 6f 6e 73 20 76 61 72 69 |the options vari| 00007570 61 62 6c 65 0d 20 44 24 20 20 20 20 20 20 20 20 |able. D$ | 00007580 62 6c 20 20 20 20 20 20 72 65 64 69 73 70 6c 61 |bl redispla| 00007590 79 5f 73 70 72 69 74 65 0d 20 4e 21 20 20 20 20 |y_sprite. N! | 000075a0 20 20 20 20 62 20 20 20 20 20 20 20 73 65 65 5f | b see_| 000075b0 69 66 5f 72 65 6f 70 65 6e 0d 20 58 14 2e 66 6f |if_reopen. X..fo| 000075c0 72 6d 61 74 5f 73 65 6c 65 63 74 65 64 0d 20 62 |rmat_selected. b| 000075d0 4a 20 20 20 20 20 20 20 20 6c 64 72 20 20 20 20 |J ldr | 000075e0 20 72 30 2c 5b 72 31 2c 23 34 5d 20 20 20 20 20 | r0,[r1,#4] | 000075f0 20 20 20 20 20 20 20 20 20 3b 20 72 30 20 3d 20 | ; r0 = | 00007600 73 65 63 6f 6e 64 20 64 65 70 74 68 20 6d 65 6e |second depth men| 00007610 75 20 65 6e 74 72 79 0d 20 6c 47 20 20 20 20 20 |u entry. lG | 00007620 20 20 20 63 6d 70 20 20 20 20 20 72 30 2c 23 30 | cmp r0,#0| 00007630 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00007640 20 20 20 3b 20 73 65 65 20 69 66 20 65 6e 74 72 | ; see if entr| 00007650 79 20 77 61 73 20 73 65 6c 65 63 74 65 64 0d 20 |y was selected. | 00007660 76 3c 20 20 20 20 20 20 20 20 62 6c 74 20 20 20 |v< blt | 00007670 20 20 73 65 65 5f 69 66 5f 72 65 6f 70 65 6e 20 | see_if_reopen | 00007680 20 20 20 20 20 20 20 20 20 20 3b 20 77 61 73 6e | ; wasn| 00007690 27 74 20 73 6f 20 73 6b 69 70 0d 20 80 44 20 20 |'t so skip. .D | 000076a0 20 20 20 20 20 20 73 74 72 62 20 20 20 20 72 30 | strb r0| 000076b0 2c 5b 72 31 32 2c 23 74 69 6d 65 5f 66 6f 72 6d |,[r12,#time_form| 000076c0 61 74 5d 20 20 20 3b 20 73 74 6f 72 65 20 6e 65 |at] ; store ne| 000076d0 77 20 63 6c 6f 63 6b 20 66 6f 72 6d 61 74 0d 20 |w clock format. | 000076e0 8a 4b 20 20 20 20 20 20 20 20 62 6c 20 20 20 20 |.K bl | 000076f0 20 20 73 65 74 5f 6f 70 74 69 6f 6e 73 5f 76 61 | set_options_va| 00007700 72 69 61 62 6c 65 20 20 20 20 3b 20 74 68 65 6e |riable ; then| 00007710 20 73 65 74 20 74 68 65 20 6f 70 74 69 6f 6e 73 | set the options| 00007720 20 76 61 72 69 61 62 6c 65 0d 20 94 4a 20 20 20 | variable. .J | 00007730 20 20 20 20 20 62 6c 20 20 20 20 20 20 75 70 64 | bl upd| 00007740 61 74 65 5f 74 69 6d 65 20 20 20 20 20 20 20 20 |ate_time | 00007750 20 20 20 20 20 3b 20 61 6e 64 20 66 69 6e 61 6c | ; and final| 00007760 6c 79 20 75 70 64 61 74 65 20 74 68 65 20 63 6c |ly update the cl| 00007770 6f 63 6b 0d 20 9e 12 2e 73 65 65 5f 69 66 5f 72 |ock. ...see_if_r| 00007780 65 6f 70 65 6e 0d 20 a8 26 20 20 20 20 20 20 20 |eopen. .& | 00007790 20 61 64 64 20 20 20 20 20 72 31 2c 72 31 32 2c | add r1,r12,| 000077a0 23 77 6f 72 6b 5f 73 70 61 63 65 0d 20 b2 2a 20 |#work_space. .* | 000077b0 20 20 20 20 20 20 20 73 77 69 20 20 20 20 20 22 | swi "| 000077c0 58 57 69 6d 70 5f 47 65 74 50 6f 69 6e 74 65 72 |XWimp_GetPointer| 000077d0 49 6e 66 6f 22 0d 20 bc 1f 20 20 20 20 20 20 20 |Info". .. | 000077e0 20 62 76 73 20 20 20 20 20 66 61 74 61 6c 5f 65 | bvs fatal_e| 000077f0 72 72 6f 72 0d 20 c6 3e 20 20 20 20 20 20 20 20 |rror. .> | 00007800 6c 64 72 20 20 20 20 20 72 30 2c 5b 72 31 2c 23 |ldr r0,[r1,#| 00007810 38 5d 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |8] | 00007820 3b 20 67 65 74 20 62 75 74 74 6f 6e 20 73 74 61 |; get button sta| 00007830 74 65 0d 20 d0 47 20 20 20 20 20 20 20 20 74 73 |te. .G ts| 00007840 74 20 20 20 20 20 72 30 2c 23 31 20 20 20 20 20 |t r0,#1 | 00007850 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 | ; | 00007860 73 65 65 20 69 66 20 61 64 6a 75 73 74 20 77 61 |see if adjust wa| 00007870 73 20 63 6c 69 63 6b 65 64 0d 20 da 39 20 20 20 |s clicked. .9 | 00007880 20 20 20 20 20 62 65 71 20 20 20 20 20 70 6f 6c | beq pol| 00007890 6c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |l | 000078a0 20 20 20 20 20 3b 20 70 6f 6c 6c 20 69 66 20 6e | ; poll if n| 000078b0 6f 74 0d 20 e4 39 20 20 20 20 20 20 20 20 62 20 |ot. .9 b | 000078c0 20 20 20 20 20 20 6f 70 65 6e 5f 69 63 6f 6e 62 | open_iconb| 000078d0 61 72 5f 6d 65 6e 75 20 20 20 20 20 20 20 3b 20 |ar_menu ; | 000078e0 72 65 6f 70 65 6e 20 6d 65 6e 75 0d 20 ee 04 0d |reopen menu. ...| 000078f0 20 f8 53 3b 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | .S; -----------| 00007900 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00007940 2d 2d 0d 21 02 31 3b 20 74 68 65 20 6e 69 63 65 |--.!.1; the nice| 00007950 20 77 69 6d 70 20 6d 61 6e 61 67 65 72 20 68 61 | wimp manager ha| 00007960 73 20 73 65 6e 74 20 75 73 20 61 20 6d 65 73 73 |s sent us a mess| 00007970 61 67 65 0d 21 0c 04 0d 21 16 0c 2e 6d 65 73 73 |age.!...!...mess| 00007980 61 67 65 0d 21 20 41 20 20 20 20 20 20 20 20 6c |age.! A l| 00007990 64 72 20 20 20 20 20 72 30 2c 5b 72 31 2c 23 31 |dr r0,[r1,#1| 000079a0 36 5d 20 20 20 20 20 20 20 20 20 20 20 20 20 3b |6] ;| 000079b0 20 72 30 20 3d 20 6d 65 73 73 61 67 65 20 61 63 | r0 = message ac| 000079c0 74 69 6f 6e 0d 21 2a 41 20 20 20 20 20 20 20 20 |tion.!*A | 000079d0 74 65 71 20 20 20 20 20 72 30 2c 23 30 20 20 20 |teq r0,#0 | 000079e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 000079f0 3b 20 73 65 65 20 69 66 20 71 75 69 74 20 6d 65 |; see if quit me| 00007a00 73 73 61 67 65 0d 21 34 39 20 20 20 20 20 20 20 |ssage.!49 | 00007a10 20 62 6e 65 20 20 20 20 20 70 6f 6c 6c 20 20 20 | bne poll | 00007a20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | | 00007a30 20 3b 20 69 66 20 6e 6f 74 20 70 6f 6c 6c 0d 21 | ; if not poll.!| 00007a40 3e 04 0d 21 48 53 3b 20 2d 2d 2d 2d 2d 2d 2d 2d |>..!HS; --------| 00007a50 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00007a90 2d 2d 2d 2d 2d 0d 21 52 18 3b 20 63 6c 6f 73 65 |-----.!R.; close| 00007aa0 64 6f 77 6e 20 61 6e 64 20 65 78 69 74 0d 21 5c |down and exit.!\| 00007ab0 04 0d 21 66 17 2e 63 6c 6f 73 65 64 6f 77 6e 5f |..!f..closedown_| 00007ac0 61 6e 64 5f 65 78 69 74 0d 21 70 1d 20 20 20 20 |and_exit.!p. | 00007ad0 20 20 20 20 62 6c 20 20 20 20 20 20 63 6c 6f 73 | bl clos| 00007ae0 65 64 6f 77 6e 0d 21 7a 1d 20 20 20 20 20 20 20 |edown.!z. | 00007af0 20 73 77 69 20 20 20 20 20 22 4f 53 5f 45 78 69 | swi "OS_Exi| 00007b00 74 22 0d 21 84 04 0d 21 8e 53 3b 20 2d 2d 2d 2d |t".!...!.S; ----| 00007b10 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00007b50 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 21 98 4d 3b 20 65 |---------.!.M; e| 00007b60 69 74 68 65 72 20 77 65 20 63 6f 75 6c 64 20 6e |ither we could n| 00007b70 6f 74 20 73 74 61 72 74 20 75 70 2c 20 74 68 65 |ot start up, the| 00007b80 20 75 73 65 72 20 77 61 6e 74 73 20 75 73 20 74 | user wants us t| 00007b90 6f 20 63 6c 6f 73 65 64 6f 77 6e 20 6f 72 20 77 |o closedown or w| 00007ba0 65 20 68 61 76 65 0d 21 a2 24 3b 20 68 61 64 20 |e have.!.$; had | 00007bb0 61 20 6d 6f 64 75 6c 65 20 66 69 6e 61 6c 69 73 |a module finalis| 00007bc0 61 74 69 6f 6e 20 63 61 6c 6c 0d 21 ac 04 0d 21 |ation call.!...!| 00007bd0 b6 0e 2e 63 6c 6f 73 65 64 6f 77 6e 0d 21 c0 1a |...closedown.!..| 00007be0 20 20 20 20 20 20 20 20 6d 6f 76 20 20 20 20 20 | mov | 00007bf0 72 36 2c 72 31 34 0d 21 ca 29 20 20 20 20 20 20 |r6,r14.!.) | 00007c00 20 20 6c 64 72 20 20 20 20 20 72 30 2c 5b 72 31 | ldr r0,[r1| 00007c10 32 2c 23 74 61 73 6b 5f 68 61 6e 64 6c 65 5d 0d |2,#task_handle].| 00007c20 21 d4 47 20 20 20 20 20 20 20 20 63 6d 70 20 20 |!.G cmp | 00007c30 20 20 20 72 30 2c 23 30 20 20 20 20 20 20 20 20 | r0,#0 | 00007c40 20 20 20 20 20 20 20 20 20 20 20 3b 20 61 72 65 | ; are| 00007c50 20 77 65 20 72 75 6e 6e 69 6e 67 20 61 73 20 61 | we running as a| 00007c60 20 74 61 73 6b 3f 0d 21 de 1b 20 20 20 20 20 20 | task?.!.. | 00007c70 20 20 6c 64 72 67 74 20 20 20 72 31 2c 74 61 73 | ldrgt r1,tas| 00007c80 6b 0d 21 e8 3e 20 20 20 20 20 20 20 20 73 77 69 |k.!.> swi| 00007c90 67 74 20 20 20 22 58 57 69 6d 70 5f 43 6c 6f 73 |gt "XWimp_Clos| 00007ca0 65 44 6f 77 6e 22 20 20 20 20 20 20 20 3b 20 63 |eDown" ; c| 00007cb0 6c 6f 73 65 20 64 6f 77 6e 20 69 66 20 73 6f 0d |lose down if so.| 00007cc0 21 f2 1a 20 20 20 20 20 20 20 20 6d 6f 76 20 20 |!.. mov | 00007cd0 20 20 20 72 32 2c 72 31 32 0d 21 fc 41 20 20 20 | r2,r12.!.A | 00007ce0 20 20 20 20 20 6c 64 72 20 20 20 20 20 72 31 32 | ldr r12| 00007cf0 2c 5b 72 31 32 2c 23 77 6f 72 64 5d 20 20 20 20 |,[r12,#word] | 00007d00 20 20 20 20 20 3b 20 72 31 32 20 2d 3e 20 70 72 | ; r12 -> pr| 00007d10 69 76 61 74 65 20 77 6f 72 64 0d 22 06 19 20 20 |ivate word.".. | 00007d20 20 20 20 20 20 20 6d 6f 76 20 20 20 20 20 72 30 | mov r0| 00007d30 2c 23 30 0d 22 10 3f 20 20 20 20 20 20 20 20 73 |,#0.".? s| 00007d40 74 72 20 20 20 20 20 72 30 2c 5b 72 31 32 5d 20 |tr r0,[r12] | 00007d50 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b | ;| 00007d60 20 7a 65 72 6f 20 70 72 69 76 61 74 65 20 77 6f | zero private wo| 00007d70 72 64 0d 22 1a 19 20 20 20 20 20 20 20 20 6d 6f |rd.".. mo| 00007d80 76 20 20 20 20 20 72 30 2c 23 37 0d 22 24 3f 20 |v r0,#7."$? | 00007d90 20 20 20 20 20 20 20 73 77 69 20 20 20 20 20 22 | swi "| 00007da0 58 4f 53 5f 4d 6f 64 75 6c 65 22 20 20 20 20 20 |XOS_Module" | 00007db0 20 20 20 20 20 20 20 3b 20 72 65 6c 65 61 73 65 | ; release| 00007dc0 20 77 6f 72 6b 73 70 61 63 65 0d 22 2e 19 20 20 | workspace.".. | 00007dd0 20 20 20 20 20 20 6d 6f 76 20 20 20 20 20 70 63 | mov pc| 00007de0 2c 72 36 0d 22 38 04 0d 22 42 53 3b 20 2d 2d 2d |,r6."8.."BS; ---| 00007df0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00007e30 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 22 4c 18 3b 20 |----------."L.; | 00007e40 72 65 61 64 20 74 68 65 20 72 65 61 6c 20 74 69 |read the real ti| 00007e50 6d 65 0d 22 56 04 0d 22 60 0e 2e 72 65 61 64 5f |me."V.."`..read_| 00007e60 74 69 6d 65 0d 22 6a 26 20 20 20 20 20 20 20 20 |time."j& | 00007e70 61 64 64 20 20 20 20 20 72 31 2c 72 31 32 2c 23 |add r1,r12,#| 00007e80 74 69 6d 65 5f 62 6c 6f 63 6b 0d 22 74 4d 20 20 |time_block."tM | 00007e90 20 20 20 20 20 20 6d 6f 76 20 20 20 20 20 72 30 | mov r0| 00007ea0 2c 23 33 20 20 20 20 20 20 20 20 20 20 20 20 20 |,#3 | 00007eb0 20 20 20 20 20 20 3b 20 72 65 61 64 20 72 65 61 | ; read rea| 00007ec0 6c 2d 74 69 6d 65 20 69 6e 20 35 20 62 79 74 65 |l-time in 5 byte| 00007ed0 20 66 6f 72 6d 61 74 0d 22 7e 1b 20 20 20 20 20 | format."~. | 00007ee0 20 20 20 73 74 72 62 20 20 20 20 72 30 2c 5b 72 | strb r0,[r| 00007ef0 31 5d 0d 22 88 4d 20 20 20 20 20 20 20 20 6d 6f |1].".M mo| 00007f00 76 20 20 20 20 20 72 30 2c 23 31 34 20 20 20 20 |v r0,#14 | 00007f10 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 | ; | 00007f20 72 65 61 64 20 72 65 61 6c 2d 74 69 6d 65 20 69 |read real-time i| 00007f30 6e 20 35 20 62 79 74 65 20 66 6f 72 6d 61 74 0d |n 5 byte format.| 00007f40 22 92 1e 20 20 20 20 20 20 20 20 73 77 69 20 20 |".. swi | 00007f50 20 20 20 22 58 4f 53 5f 57 6f 72 64 22 0d 22 9c | "XOS_Word".".| 00007f60 1f 20 20 20 20 20 20 20 20 62 76 73 20 20 20 20 |. bvs | 00007f70 20 66 61 74 61 6c 5f 65 72 72 6f 72 0d 22 a6 3e | fatal_error.".>| 00007f80 20 20 20 20 20 20 20 20 6d 6f 76 20 20 20 20 20 | mov | 00007f90 72 30 2c 72 31 20 20 20 20 20 20 20 20 20 20 20 |r0,r1 | 00007fa0 20 20 20 20 20 20 20 20 3b 20 72 30 20 2d 3e 20 | ; r0 -> | 00007fb0 74 69 6d 65 20 62 6c 6f 63 6b 0d 22 b0 29 20 20 |time block.".) | 00007fc0 20 20 20 20 20 20 61 64 64 20 20 20 20 20 72 31 | add r1| 00007fd0 2c 72 31 32 2c 23 72 6d 61 5f 69 63 6f 6e 5f 74 |,r12,#rma_icon_t| 00007fe0 65 78 74 0d 22 ba 3c 20 20 20 20 20 20 20 20 6d |ext.".< m| 00007ff0 6f 76 20 20 20 20 20 72 32 2c 23 36 20 20 20 20 |ov r2,#6 | 00008000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b | ;| 00008010 20 73 69 7a 65 20 6f 66 20 62 75 66 66 65 72 0d | size of buffer.| 00008020 22 c4 29 20 20 20 20 20 20 20 20 6c 64 72 62 20 |".) ldrb | 00008030 20 20 20 72 33 2c 5b 72 31 32 2c 23 74 69 6d 65 | r3,[r12,#time| 00008040 5f 66 6f 72 6d 61 74 5d 0d 22 ce 51 20 20 20 20 |_format].".Q | 00008050 20 20 20 20 74 65 71 20 20 20 20 20 72 33 2c 23 | teq r3,#| 00008060 30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 |0 | 00008070 20 20 20 20 3b 20 73 65 65 20 77 68 69 63 68 20 | ; see which | 00008080 63 6c 6f 63 6b 20 66 6f 72 6d 61 74 20 77 65 20 |clock format we | 00008090 61 72 65 20 75 73 69 6e 67 0d 22 d8 25 20 20 20 |are using.".% | 000080a0 20 20 20 20 20 61 64 72 65 71 20 20 20 72 33 2c | adreq r3,| 000080b0 74 69 6d 65 5f 66 6f 72 6d 61 74 5f 31 32 0d 22 |time_format_12."| 000080c0 e2 25 20 20 20 20 20 20 20 20 61 64 72 6e 65 20 |.% adrne | 000080d0 20 20 72 33 2c 74 69 6d 65 5f 66 6f 72 6d 61 74 | r3,time_format| 000080e0 5f 32 34 0d 22 ec 2c 20 20 20 20 20 20 20 20 73 |_24."., s| 000080f0 77 69 20 20 20 20 20 22 58 4f 53 5f 43 6f 6e 76 |wi "XOS_Conv| 00008100 65 72 74 44 61 74 65 41 6e 64 54 69 6d 65 22 0d |ertDateAndTime".| 00008110 22 f6 1f 20 20 20 20 20 20 20 20 62 76 73 20 20 |".. bvs | 00008120 20 20 20 66 61 74 61 6c 5f 65 72 72 6f 72 0d 23 | fatal_error.#| 00008130 00 1a 20 20 20 20 20 20 20 20 6d 6f 76 20 20 20 |.. mov | 00008140 20 20 70 63 2c 72 31 34 0d 23 0a 04 0d 23 14 13 | pc,r14.#...#..| 00008150 2e 74 69 6d 65 5f 66 6f 72 6d 61 74 5f 31 32 0d |.time_format_12.| 00008160 23 1e 20 20 20 20 20 20 20 20 20 65 71 75 73 20 |#. equs | 00008170 20 20 20 22 25 31 32 3a 25 4d 49 22 2b bd 30 0d | "%12:%MI"+.0.| 00008180 23 28 13 2e 74 69 6d 65 5f 66 6f 72 6d 61 74 5f |#(..time_format_| 00008190 32 34 0d 23 32 20 20 20 20 20 20 20 20 20 65 71 |24.#2 eq| 000081a0 75 73 20 20 20 20 22 25 32 34 3a 25 4d 49 22 2b |us "%24:%MI"+| 000081b0 bd 30 0d 23 3c 3c 3c 67 6e 0d 23 46 04 0d 23 50 |.0.#<<<gn.#F..#P| 000081c0 53 3b 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |S; -------------| 000081d0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00008210 0d 23 5a 40 3b 20 72 65 70 6f 72 74 20 61 20 66 |.#Z@; report a f| 00008220 61 74 61 6c 20 65 72 72 6f 72 20 75 73 69 6e 67 |atal error using| 00008230 20 57 69 6d 70 5f 52 65 70 6f 72 74 45 72 72 6f | Wimp_ReportErro| 00008240 72 20 74 68 65 6e 20 63 6c 6f 73 65 64 6f 77 6e |r then closedown| 00008250 0d 23 64 0b 3b 20 65 6e 74 72 79 0d 23 6e 1d 3b |.#d.; entry.#n.;| 00008260 20 20 20 20 20 20 20 72 30 20 2d 3e 20 65 72 72 | r0 -> err| 00008270 6f 72 20 62 6c 6f 63 6b 0d 23 78 0a 3b 20 65 78 |or block.#x.; ex| 00008280 69 74 0d 23 82 13 3b 20 20 20 20 20 20 20 64 6f |it.#..; do| 00008290 65 73 6e 27 74 0d 23 8c 04 0d 23 96 10 2e 66 61 |esn't.#...#...fa| 000082a0 74 61 6c 5f 65 72 72 6f 72 0d 23 a0 26 20 20 20 |tal_error.#.& | 000082b0 20 20 20 20 20 61 64 64 20 20 20 20 20 72 31 2c | add r1,| 000082c0 72 31 32 2c 23 70 6f 6c 6c 5f 73 70 61 63 65 0d |r12,#poll_space.| 000082d0 23 aa 1e 20 20 20 20 20 20 20 20 6c 64 72 20 20 |#.. ldr | 000082e0 20 20 20 72 32 2c 5b 72 30 5d 2c 23 34 0d 23 b4 | r2,[r0],#4.#.| 000082f0 1e 20 20 20 20 20 20 20 20 73 74 72 20 20 20 20 |. str | 00008300 20 72 32 2c 5b 72 31 5d 2c 23 34 0d 23 be 2a 20 | r2,[r1],#4.#.* | 00008310 20 20 20 20 20 20 20 61 64 72 20 20 20 20 20 72 | adr r| 00008320 32 2c 66 61 74 61 6c 5f 65 72 72 6f 72 5f 6d 65 |2,fatal_error_me| 00008330 73 73 61 67 65 0d 23 c8 16 2e 66 61 74 61 6c 5f |ssage.#...fatal_| 00008340 65 72 72 6f 72 5f 6c 6f 6f 70 31 0d 23 d2 1e 20 |error_loop1.#.. | 00008350 20 20 20 20 20 20 20 6c 64 72 62 20 20 20 20 72 | ldrb r| 00008360 33 2c 5b 72 32 5d 2c 23 31 0d 23 dc 19 20 20 20 |3,[r2],#1.#.. | 00008370 20 20 20 20 20 74 65 71 20 20 20 20 20 72 33 2c | teq r3,| 00008380 23 30 0d 23 e6 1e 20 20 20 20 20 20 20 20 73 74 |#0.#.. st| 00008390 72 6e 65 62 20 20 72 33 2c 5b 72 31 5d 2c 23 31 |rneb r3,[r1],#1| 000083a0 0d 23 f0 25 20 20 20 20 20 20 20 20 62 6e 65 20 |.#.% bne | 000083b0 20 20 20 20 66 61 74 61 6c 5f 65 72 72 6f 72 5f | fatal_error_| 000083c0 6c 6f 6f 70 31 0d 23 fa 16 2e 66 61 74 61 6c 5f |loop1.#...fatal_| 000083d0 65 72 72 6f 72 5f 6c 6f 6f 70 32 0d 24 04 1e 20 |error_loop2.$.. | 000083e0 20 20 20 20 20 20 20 6c 64 72 62 20 20 20 20 72 | ldrb r| 000083f0 33 2c 5b 72 30 5d 2c 23 31 0d 24 0e 19 20 20 20 |3,[r0],#1.$.. | 00008400 20 20 20 20 20 74 65 71 20 20 20 20 20 72 33 2c | teq r3,| 00008410 23 30 0d 24 18 1e 20 20 20 20 20 20 20 20 73 74 |#0.$.. st| 00008420 72 6e 65 62 20 20 72 33 2c 5b 72 31 5d 2c 23 31 |rneb r3,[r1],#1| 00008430 0d 24 22 25 20 20 20 20 20 20 20 20 62 6e 65 20 |.$"% bne | 00008440 20 20 20 20 66 61 74 61 6c 5f 65 72 72 6f 72 5f | fatal_error_| 00008450 6c 6f 6f 70 32 0d 24 2c 16 2e 66 61 74 61 6c 5f |loop2.$,..fatal_| 00008460 65 72 72 6f 72 5f 6c 6f 6f 70 33 0d 24 36 1e 20 |error_loop3.$6. | 00008470 20 20 20 20 20 20 20 6c 64 72 62 20 20 20 20 72 | ldrb r| 00008480 33 2c 5b 72 32 5d 2c 23 31 0d 24 40 1e 20 20 20 |3,[r2],#1.$@. | 00008490 20 20 20 20 20 73 74 72 62 20 20 20 20 72 33 2c | strb r3,| 000084a0 5b 72 31 5d 2c 23 31 0d 24 4a 19 20 20 20 20 20 |[r1],#1.$J. | 000084b0 20 20 20 74 65 71 20 20 20 20 20 72 33 2c 23 30 | teq r3,#0| 000084c0 0d 24 54 25 20 20 20 20 20 20 20 20 62 6e 65 20 |.$T% bne | 000084d0 20 20 20 20 66 61 74 61 6c 5f 65 72 72 6f 72 5f | fatal_error_| 000084e0 6c 6f 6f 70 33 0d 24 5e 26 20 20 20 20 20 20 20 |loop3.$^& | 000084f0 20 61 64 64 20 20 20 20 20 72 30 2c 72 31 32 2c | add r0,r12,| 00008500 23 70 6f 6c 6c 5f 73 70 61 63 65 0d 24 68 3d 20 |#poll_space.$h= | 00008510 20 20 20 20 20 20 20 6d 6f 76 20 20 20 20 20 72 | mov r| 00008520 31 2c 23 32 20 20 20 20 20 20 20 20 20 20 20 20 |1,#2 | 00008530 20 20 20 20 20 20 20 3b 20 63 61 6e 63 65 6c 20 | ; cancel | 00008540 62 6f 78 20 6f 6e 6c 79 0d 24 72 20 20 20 20 20 |box only.$r | 00008550 20 20 20 20 62 6c 20 20 20 20 20 20 72 65 70 6f | bl repo| 00008560 72 74 5f 65 72 72 6f 72 0d 24 7c 26 20 20 20 20 |rt_error.$|& | 00008570 20 20 20 20 62 20 20 20 20 20 20 20 63 6c 6f 73 | b clos| 00008580 65 64 6f 77 6e 5f 61 6e 64 5f 65 78 69 74 0d 24 |edown_and_exit.$| 00008590 86 18 2e 66 61 74 61 6c 5f 65 72 72 6f 72 5f 6d |...fatal_error_m| 000085a0 65 73 73 61 67 65 0d 24 90 4c 20 20 20 20 20 20 |essage.$.L | 000085b0 20 20 65 71 75 73 20 20 20 20 22 49 63 6f 6e 62 | equs "Iconb| 000085c0 61 72 20 43 6c 6f 63 6b 20 68 61 73 20 73 75 66 |ar Clock has suf| 000085d0 66 65 72 65 64 20 61 20 66 61 74 61 6c 20 69 6e |fered a fatal in| 000085e0 74 65 72 6e 61 6c 20 65 72 72 6f 72 20 28 22 2b |ternal error ("+| 000085f0 bd 30 0d 24 9a 34 20 20 20 20 20 20 20 20 65 71 |.0.$.4 eq| 00008600 75 73 20 20 20 20 22 29 20 61 6e 64 20 6d 75 73 |us ") and mus| 00008610 74 20 65 78 69 74 20 69 6d 6d 65 64 69 61 74 65 |t exit immediate| 00008620 6c 79 22 2b bd 30 0d 24 a4 a4 a4 67 6e 0d 24 ae |ly"+.0.$...gn.$.| 00008630 04 0d 24 b8 53 3b 20 2d 2d 2d 2d 2d 2d 2d 2d 2d |..$.S; ---------| 00008640 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00008680 2d 2d 2d 2d 0d 24 c2 2c 3b 20 72 65 70 6f 72 74 |----.$.,; report| 00008690 20 61 6e 20 65 72 72 6f 72 20 75 73 69 6e 67 20 | an error using | 000086a0 57 69 6d 70 5f 52 65 70 6f 72 74 45 72 72 6f 72 |Wimp_ReportError| 000086b0 0d 24 cc 3d 3b 20 69 66 20 65 6e 74 65 72 20 61 |.$.=; if enter a| 000086c0 74 20 72 65 70 6f 72 74 5f 65 72 72 6f 72 5f 6f |t report_error_o| 000086d0 6b 20 6f 6e 6c 79 20 61 6e 20 4f 4b 20 62 6f 78 |k only an OK box| 000086e0 20 69 73 20 64 69 73 70 6c 61 79 65 64 0d 24 d6 | is displayed.$.| 000086f0 0b 3b 20 65 6e 74 72 79 0d 24 e0 1d 3b 20 20 20 |.; entry.$..; | 00008700 20 20 20 20 72 30 20 2d 3e 20 65 72 72 6f 72 20 | r0 -> error | 00008710 62 6c 6f 63 6b 0d 24 ea 28 3b 20 20 20 20 20 20 |block.$.(; | 00008720 20 72 31 20 3d 20 20 66 6c 61 67 73 20 66 6f 72 | r1 = flags for| 00008730 20 65 72 72 6f 72 20 77 69 6e 64 6f 77 0d 24 f4 | error window.$.| 00008740 3d 3b 20 20 20 20 20 20 20 20 20 20 62 69 74 20 |=; bit | 00008750 30 20 73 65 74 20 3d 3d 3e 20 70 72 6f 76 69 64 |0 set ==> provid| 00008760 65 20 27 4f 4b 27 20 62 6f 78 20 69 6e 20 65 72 |e 'OK' box in er| 00008770 72 6f 72 20 77 69 6e 64 6f 77 0d 24 fe 31 3b 20 |ror window.$.1; | 00008780 20 20 20 20 20 20 20 20 20 62 69 74 20 31 20 73 | bit 1 s| 00008790 65 74 20 3d 3d 3e 20 70 72 6f 76 69 64 65 20 27 |et ==> provide '| 000087a0 43 61 6e 63 65 6c 27 20 62 6f 78 0d 25 08 4e 3b |Cancel' box.%.N;| 000087b0 20 20 20 20 20 20 20 20 20 20 62 69 74 20 32 20 | bit 2 | 000087c0 73 65 74 20 3d 3d 3e 20 68 69 67 68 6c 69 67 68 |set ==> highligh| 000087d0 74 20 27 43 61 6e 63 65 6c 27 20 62 6f 78 20 28 |t 'Cancel' box (| 000087e0 6f 74 68 65 72 77 69 73 65 20 68 69 67 68 6c 69 |otherwise highli| 000087f0 67 68 74 20 27 4f 4b 27 29 0d 25 12 52 3b 20 20 |ght 'OK').%.R; | 00008800 20 20 20 20 20 20 20 20 62 69 74 20 33 20 73 65 | bit 3 se| 00008810 74 20 3d 3d 3e 20 64 6f 6e 27 74 20 77 61 69 74 |t ==> don't wait| 00008820 20 66 6f 72 20 63 6f 6e 66 69 72 6d 61 74 69 6f | for confirmatio| 00008830 6e 20 69 66 20 74 68 69 73 20 69 73 20 61 20 27 |n if this is a '| 00008840 74 65 78 74 27 20 65 72 72 6f 72 0d 25 1c 44 3b |text' error.%.D;| 00008850 20 20 20 20 20 20 20 20 20 20 62 69 74 20 34 20 | bit 4 | 00008860 73 65 74 20 3d 3d 3e 20 6f 6d 69 74 20 27 45 72 |set ==> omit 'Er| 00008870 72 6f 72 20 66 72 6f 6d 20 27 20 6d 65 73 73 61 |ror from ' messa| 00008880 67 65 20 69 6e 20 74 69 74 6c 65 20 62 61 72 0d |ge in title bar.| 00008890 25 26 50 3b 20 20 20 20 20 20 20 20 20 20 62 69 |%&P; bi| 000088a0 74 20 35 20 73 65 74 20 3d 3d 3e 20 72 65 74 75 |t 5 set ==> retu| 000088b0 72 6e 20 77 69 74 68 20 52 31 3d 30 20 69 6d 6d |rn with R1=0 imm| 000088c0 65 64 69 61 74 65 6c 79 20 69 66 20 62 75 74 74 |ediately if butt| 000088d0 6f 6e 73 20 6e 6f 74 20 63 6c 69 63 6b 65 64 0d |ons not clicked.| 000088e0 25 30 3f 3b 20 20 20 20 20 20 20 20 20 20 20 20 |%0?; | 000088f0 20 20 20 20 20 20 20 20 20 20 20 20 74 68 65 20 | the | 00008900 65 72 72 6f 72 20 77 69 6e 64 6f 77 20 69 73 20 |error window is | 00008910 61 6c 73 6f 20 6c 65 66 74 20 6f 70 65 6e 0d 25 |also left open.%| 00008920 3a 51 3b 20 20 20 20 20 20 20 20 20 20 62 69 74 |:Q; bit| 00008930 20 36 20 73 65 74 20 3d 3d 3e 20 73 65 6c 65 63 | 6 set ==> selec| 00008940 74 20 4f 4b 2f 43 61 6e 63 65 6c 20 64 65 70 65 |t OK/Cancel depe| 00008950 6e 64 69 6e 67 20 6f 6e 20 52 31 2c 20 63 6c 6f |nding on R1, clo| 00008960 73 65 20 65 72 72 6f 72 20 77 69 6e 64 6f 77 0d |se error window.| 00008970 25 44 2e 3b 20 20 20 20 20 20 20 20 20 20 62 69 |%D.; bi| 00008980 74 73 20 37 2e 2e 33 31 20 72 65 73 65 72 76 65 |ts 7..31 reserve| 00008990 64 20 28 6d 75 73 74 20 62 65 20 30 29 0d 25 4e |d (must be 0).%N| 000089a0 0a 3b 20 65 78 69 74 0d 25 58 1e 3b 20 20 20 20 |.; exit.%X.; | 000089b0 20 20 20 72 31 20 3d 20 72 65 74 75 72 6e 20 73 | r1 = return s| 000089c0 74 61 74 75 73 0d 25 62 2b 3b 20 20 20 20 20 20 |tatus.%b+; | 000089d0 20 20 20 20 20 20 20 20 20 31 20 3d 3d 3e 20 27 | 1 ==> '| 000089e0 4f 4b 27 20 77 61 73 20 73 65 6c 65 63 74 65 64 |OK' was selected| 000089f0 0d 25 6c 2f 3b 20 20 20 20 20 20 20 20 20 20 20 |.%l/; | 00008a00 20 20 20 20 32 20 3d 3d 3e 20 27 43 61 6e 63 65 | 2 ==> 'Cance| 00008a10 6c 27 20 77 61 73 20 73 65 6c 65 63 74 65 64 0d |l' was selected.| 00008a20 25 76 1b 3b 20 20 20 20 20 20 20 66 6c 61 67 73 |%v.; flags| 00008a30 20 70 72 65 73 65 72 76 65 64 0d 25 80 04 0d 25 | preserved.%...%| 00008a40 8a 14 2e 72 65 70 6f 72 74 5f 65 72 72 6f 72 5f |...report_error_| 00008a50 6f 6b 0d 25 94 39 20 20 20 20 20 20 20 20 6d 6f |ok.%.9 mo| 00008a60 76 20 20 20 20 20 72 31 2c 23 31 20 20 20 20 20 |v r1,#1 | 00008a70 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 | ; | 00008a80 4f 4b 20 62 6f 78 20 6f 6e 6c 79 0d 25 9e 11 2e |OK box only.%...| 00008a90 72 65 70 6f 72 74 5f 65 72 72 6f 72 0d 25 a8 21 |report_error.%.!| 00008aa0 20 20 20 20 20 20 20 20 73 74 6d 66 64 20 20 20 | stmfd | 00008ab0 72 31 33 21 2c 7b 72 32 2c 72 31 34 7d 0d 25 b2 |r13!,{r2,r14}.%.| 00008ac0 29 20 20 20 20 20 20 20 20 61 64 72 20 20 20 20 |) adr | 00008ad0 20 72 32 2c 73 77 69 74 63 68 65 72 5f 6e 61 6d | r2,switcher_nam| 00008ae0 65 2b 26 34 30 30 0d 25 bc 40 20 20 20 20 20 20 |e+&400.%.@ | 00008af0 20 20 73 75 62 20 20 20 20 20 72 32 2c 72 32 2c | sub r2,r2,| 00008b00 23 26 34 30 30 20 20 20 20 20 20 20 20 20 20 20 |#&400 | 00008b10 20 20 3b 20 72 32 20 2d 3e 20 22 49 63 6f 6e 20 | ; r2 -> "Icon | 00008b20 43 6c 6f 63 6b 22 0d 25 c6 3b 20 20 20 20 20 20 |Clock".%.; | 00008b30 20 20 73 77 69 20 20 20 20 20 22 58 57 69 6d 70 | swi "XWimp| 00008b40 5f 52 65 70 6f 72 74 45 72 72 6f 72 22 20 20 20 |_ReportError" | 00008b50 20 20 3b 20 69 67 6e 6f 72 65 20 65 72 72 6f 72 | ; ignore error| 00008b60 73 0d 25 d0 3c 20 20 20 20 20 20 20 20 6c 64 6d |s.%.< ldm| 00008b70 66 64 20 20 20 72 31 33 21 2c 7b 72 32 2c 70 63 |fd r13!,{r2,pc| 00008b80 7d 5e 20 20 20 20 20 20 20 20 20 20 20 3b 20 70 |}^ ; p| 00008b90 72 65 73 65 72 76 65 20 66 6c 61 67 73 0d 25 da |reserve flags.%.| 00008ba0 04 0d 25 e4 53 3b 20 2d 2d 2d 2d 2d 2d 2d 2d 2d |..%.S; ---------| 00008bb0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00008bf0 2d 2d 2d 2d 0d 25 ee 1c 3b 20 63 72 65 61 74 65 |----.%..; create| 00008c00 20 74 68 65 20 69 6e 66 6f 20 77 69 6e 64 6f 77 | the info window| 00008c10 0d 25 f8 04 0d 26 02 17 2e 63 72 65 61 74 65 5f |.%...&...create_| 00008c20 69 6e 66 6f 5f 77 69 6e 64 6f 77 0d 26 0c 1e 20 |info_window.&.. | 00008c30 20 20 20 20 20 20 20 73 74 6d 66 64 20 20 20 72 | stmfd r| 00008c40 31 33 21 2c 7b 72 31 34 7d 0d 26 16 22 20 20 20 |13!,{r14}.&." | 00008c50 20 20 20 20 20 61 64 72 20 20 20 20 20 72 30 2c | adr r0,| 00008c60 69 6e 66 6f 5f 77 69 6e 64 6f 77 0d 26 20 26 20 |info_window.& & | 00008c70 20 20 20 20 20 20 20 61 64 72 20 20 20 20 20 72 | adr r| 00008c80 31 2c 65 6e 64 5f 69 6e 66 6f 5f 77 69 6e 64 6f |1,end_info_windo| 00008c90 77 0d 26 2a 26 20 20 20 20 20 20 20 20 61 64 64 |w.&*& add| 00008ca0 20 20 20 20 20 72 32 2c 72 31 32 2c 23 70 6f 6c | r2,r12,#pol| 00008cb0 6c 5f 73 70 61 63 65 0d 26 34 18 20 20 20 20 20 |l_space.&4. | 00008cc0 20 20 20 62 6c 20 20 20 20 20 20 63 6f 70 79 0d | bl copy.| 00008cd0 26 3e 26 20 20 20 20 20 20 20 20 61 64 64 20 20 |&>& add | 00008ce0 20 20 20 72 31 2c 72 31 32 2c 23 70 6f 6c 6c 5f | r1,r12,#poll_| 00008cf0 73 70 61 63 65 0d 26 48 23 20 20 20 20 20 20 20 |space.&H# | 00008d00 20 61 64 72 20 20 20 20 20 72 30 2c 77 69 6e 64 | adr r0,wind| 00008d10 6f 77 5f 74 69 74 6c 65 0d 26 52 3b 20 20 20 20 |ow_title.&R; | 00008d20 20 20 20 20 73 74 72 20 20 20 20 20 72 30 2c 5b | str r0,[| 00008d30 72 31 2c 23 70 75 74 5f 77 69 6e 64 6f 77 5f 74 |r1,#put_window_t| 00008d40 69 74 6c 65 20 2d 20 69 6e 66 6f 5f 77 69 6e 64 |itle - info_wind| 00008d50 6f 77 5d 0d 26 5c 1b 20 20 20 20 20 20 20 20 61 |ow].&\. a| 00008d60 64 72 20 20 20 20 20 72 30 2c 6e 61 6d 65 0d 26 |dr r0,name.&| 00008d70 66 33 20 20 20 20 20 20 20 20 73 74 72 20 20 20 |f3 str | 00008d80 20 20 72 30 2c 5b 72 31 2c 23 70 75 74 5f 6e 61 | r0,[r1,#put_na| 00008d90 6d 65 20 2d 20 69 6e 66 6f 5f 77 69 6e 64 6f 77 |me - info_window| 00008da0 5d 0d 26 70 1e 20 20 20 20 20 20 20 20 61 64 72 |].&p. adr| 00008db0 20 20 20 20 20 72 30 2c 70 75 72 70 6f 73 65 0d | r0,purpose.| 00008dc0 26 7a 36 20 20 20 20 20 20 20 20 73 74 72 20 20 |&z6 str | 00008dd0 20 20 20 72 30 2c 5b 72 31 2c 23 70 75 74 5f 70 | r0,[r1,#put_p| 00008de0 75 72 70 6f 73 65 20 2d 20 69 6e 66 6f 5f 77 69 |urpose - info_wi| 00008df0 6e 64 6f 77 5d 0d 26 84 1d 20 20 20 20 20 20 20 |ndow].&.. | 00008e00 20 61 64 72 20 20 20 20 20 72 30 2c 61 75 74 68 | adr r0,auth| 00008e10 6f 72 0d 26 8e 35 20 20 20 20 20 20 20 20 73 74 |or.&.5 st| 00008e20 72 20 20 20 20 20 72 30 2c 5b 72 31 2c 23 70 75 |r r0,[r1,#pu| 00008e30 74 5f 61 75 74 68 6f 72 20 2d 20 69 6e 66 6f 5f |t_author - info_| 00008e40 77 69 6e 64 6f 77 5d 0d 26 98 1e 20 20 20 20 20 |window].&.. | 00008e50 20 20 20 61 64 72 20 20 20 20 20 72 30 2c 76 65 | adr r0,ve| 00008e60 72 73 69 6f 6e 0d 26 a2 36 20 20 20 20 20 20 20 |rsion.&.6 | 00008e70 20 73 74 72 20 20 20 20 20 72 30 2c 5b 72 31 2c | str r0,[r1,| 00008e80 23 70 75 74 5f 76 65 72 73 69 6f 6e 20 2d 20 69 |#put_version - i| 00008e90 6e 66 6f 5f 77 69 6e 64 6f 77 5d 0d 26 ac 28 20 |nfo_window].&.( | 00008ea0 20 20 20 20 20 20 20 73 77 69 20 20 20 20 20 22 | swi "| 00008eb0 58 57 69 6d 70 5f 43 72 65 61 74 65 57 69 6e 64 |XWimp_CreateWind| 00008ec0 6f 77 22 0d 26 b6 1f 20 20 20 20 20 20 20 20 62 |ow".&.. b| 00008ed0 76 73 20 20 20 20 20 66 61 74 61 6c 5f 65 72 72 |vs fatal_err| 00008ee0 6f 72 0d 26 c0 30 20 20 20 20 20 20 20 20 73 74 |or.&.0 st| 00008ef0 72 20 20 20 20 20 72 30 2c 5b 72 31 32 2c 23 69 |r r0,[r12,#i| 00008f00 6e 66 6f 5f 77 69 6e 64 6f 77 5f 68 61 6e 64 6c |nfo_window_handl| 00008f10 65 5d 0d 26 ca 1d 20 20 20 20 20 20 20 20 6c 64 |e].&.. ld| 00008f20 6d 66 64 20 20 20 72 31 33 21 2c 7b 70 63 7d 0d |mfd r13!,{pc}.| 00008f30 26 d4 04 0d 26 de 53 3b 20 2d 2d 2d 2d 2d 2d 2d |&...&.S; -------| 00008f40 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| * 00008f80 2d 2d 2d 2d 2d 2d 0d 26 e8 23 3b 20 69 6e 66 6f |------.&.#; info| 00008f90 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 69 6e |rmation about in| 00008fa0 66 6f 20 77 69 6e 64 6f 77 0d 26 f2 04 0d 26 fc |fo window.&...&.| 00008fb0 11 2e 77 69 6e 64 6f 77 5f 74 69 74 6c 65 0d 27 |..window_title.'| 00008fc0 06 2b 20 20 20 20 20 20 20 20 65 71 75 73 20 20 |.+ equs | 00008fd0 20 20 22 41 62 6f 75 74 20 74 68 69 73 20 70 72 | "About this pr| 00008fe0 6f 67 72 61 6d 22 2b bd 30 0d 27 10 15 2e 65 6e |ogram"+.0.'...en| 00008ff0 64 5f 77 69 6e 64 6f 77 5f 74 69 74 6c 65 0d 27 |d_window_title.'| 00009000 1a 1a 1a 67 6e 0d 27 24 09 2e 6e 61 6d 65 0d 27 |...gn.'$..name.'| 00009010 2e 23 20 20 20 20 20 20 20 20 65 71 75 73 20 20 |.# equs | 00009020 20 20 22 49 63 6f 6e 20 43 6c 6f 63 6b 22 2b bd | "Icon Clock"+.| 00009030 30 0d 27 38 0d 2e 65 6e 64 5f 6e 61 6d 65 0d 27 |0.'8..end_name.'| 00009040 42 42 42 67 6e 0d 27 4c 0c 2e 70 75 72 70 6f 73 |BBBgn.'L..purpos| 00009050 65 0d 27 56 34 20 20 20 20 20 20 20 20 65 71 75 |e.'V4 equ| 00009060 73 20 20 20 20 22 44 69 73 70 6c 61 79 20 74 69 |s "Display ti| 00009070 6d 65 20 6f 6e 20 74 68 65 20 69 63 6f 6e 62 61 |me on the iconba| 00009080 72 22 2b bd 30 0d 27 60 10 2e 65 6e 64 5f 70 75 |r"+.0.'`..end_pu| 00009090 72 70 6f 73 65 0d 27 6a 6a 6a 67 6e 0d 27 74 0b |rpose.'jjjgn.'t.| 000090a0 2e 61 75 74 68 6f 72 0d 27 7e 2d 20 20 20 20 20 |.author.'~- | 000090b0 20 20 20 65 71 75 73 20 20 20 20 22 70 6d 66 40 | equs "pmf@| 000090c0 75 6b 2e 61 63 2e 77 61 72 77 69 63 6b 2e 63 73 |uk.ac.warwick.cs| 000090d0 22 2b bd 30 0d 27 88 0f 2e 65 6e 64 5f 61 75 74 |"+.0.'...end_aut| 000090e0 68 6f 72 0d 27 92 92 92 67 6e 0d 27 9c 0c 2e 76 |hor.'...gn.'...v| 000090f0 65 72 73 69 6f 6e 0d 27 a6 1c 20 20 20 20 20 20 |ersion.'.. | 00009100 20 20 65 71 75 73 20 20 20 20 22 31 2e 30 30 20 | equs "1.00 | 00009110 28 22 0d 27 b0 1c 20 20 20 20 20 20 20 20 65 71 |(".'.. eq| 00009120 75 73 20 20 20 20 c1 91 24 2c 35 2c 32 29 0d 27 |us ..$,5,2).'| 00009130 ba 17 20 20 20 20 20 20 20 20 65 71 75 73 20 20 |.. equs | 00009140 20 20 22 2d 22 0d 27 c4 1c 20 20 20 20 20 20 20 | "-".'.. | 00009150 20 65 71 75 73 20 20 20 20 c1 91 24 2c 38 2c 33 | equs ..$,8,3| 00009160 29 0d 27 ce 17 20 20 20 20 20 20 20 20 65 71 75 |).'.. equ| 00009170 73 20 20 20 20 22 2d 22 0d 27 d8 1d 20 20 20 20 |s "-".'.. | 00009180 20 20 20 20 65 71 75 73 20 20 20 20 c1 91 24 2c | equs ..$,| 00009190 31 34 2c 32 29 0d 27 e2 1a 20 20 20 20 20 20 20 |14,2).'.. | 000091a0 20 65 71 75 73 20 20 20 20 22 29 22 2b bd 30 0d | equs ")"+.0.| 000091b0 27 ec 10 2e 65 6e 64 5f 76 65 72 73 69 6f 6e 0d |'...end_version.| 000091c0 27 f6 f6 f6 67 6e 0d 28 00 04 0d 28 0a 10 2e 69 |'...gn.(...(...i| 000091d0 6e 66 6f 5f 77 69 6e 64 6f 77 0d 28 14 15 20 20 |nfo_window.(.. | 000091e0 20 20 20 20 20 20 65 71 75 64 20 20 20 20 30 0d | equd 0.| 000091f0 28 1e 15 20 20 20 20 20 20 20 20 65 71 75 64 20 |(.. equd | 00009200 20 20 20 30 0d 28 28 17 20 20 20 20 20 20 20 20 | 0.((. | 00009210 65 71 75 64 20 20 20 20 36 33 36 0d 28 32 17 20 |equd 636.(2. | 00009220 20 20 20 20 20 20 20 65 71 75 64 20 20 20 20 32 | equd 2| 00009230 31 36 0d 28 3c 15 20 20 20 20 20 20 20 20 65 71 |16.(<. eq| 00009240 75 64 20 20 20 20 30 0d 28 46 15 20 20 20 20 20 |ud 0.(F. | 00009250 20 20 20 65 71 75 64 20 20 20 20 30 0d 28 50 16 | equd 0.(P.| 00009260 20 20 20 20 20 20 20 20 65 71 75 64 20 20 20 20 | equd | 00009270 2d 31 0d 28 5a 39 20 20 20 20 20 20 20 20 65 71 |-1.(Z9 eq| 00009280 75 64 20 20 20 20 28 31 20 3c 3c 20 33 31 29 2b |ud (1 << 31)+| 00009290 28 31 20 3c 3c 20 32 36 29 2b 28 31 20 3c 3c 20 |(1 << 26)+(1 << | 000092a0 34 29 2b 28 31 20 3c 3c 20 31 29 0d 28 64 15 20 |4)+(1 << 1).(d. | 000092b0 20 20 20 20 20 20 20 65 71 75 62 20 20 20 20 37 | equb 7| 000092c0 0d 28 6e 15 20 20 20 20 20 20 20 20 65 71 75 62 |.(n. equb| 000092d0 20 20 20 20 32 0d 28 78 15 20 20 20 20 20 20 20 | 2.(x. | 000092e0 20 65 71 75 62 20 20 20 20 37 0d 28 82 15 20 20 | equb 7.(.. | 000092f0 20 20 20 20 20 20 65 71 75 62 20 20 20 20 31 0d | equb 1.| 00009300 28 8c 15 20 20 20 20 20 20 20 20 65 71 75 64 20 |(.. equd | 00009310 20 20 20 30 0d 28 96 15 20 20 20 20 20 20 20 20 | 0.(.. | 00009320 65 71 75 64 20 20 20 20 30 0d 28 a0 18 20 20 20 |equd 0.(.. | 00009330 20 20 20 20 20 65 71 75 64 20 20 20 20 2d 32 31 | equd -21| 00009340 36 0d 28 aa 17 20 20 20 20 20 20 20 20 65 71 75 |6.(.. equ| 00009350 64 20 20 20 20 36 33 36 0d 28 b4 15 20 20 20 20 |d 636.(.. | 00009360 20 20 20 20 65 71 75 64 20 20 20 20 30 0d 28 be | equd 0.(.| 00009370 30 20 20 20 20 20 20 20 20 65 71 75 64 20 20 20 |0 equd | 00009380 20 28 31 20 3c 3c 20 38 29 2b 28 31 20 3c 3c 20 | (1 << 8)+(1 << | 00009390 34 29 2b 28 31 20 3c 3c 20 33 29 2b 31 0d 28 c8 |4)+(1 << 3)+1.(.| 000093a0 15 20 20 20 20 20 20 20 20 65 71 75 64 20 20 20 |. equd | 000093b0 20 30 0d 28 d2 15 20 20 20 20 20 20 20 20 65 71 | 0.(.. eq| 000093c0 75 64 20 20 20 20 30 0d 28 dc 15 20 20 20 20 20 |ud 0.(.. | 000093d0 20 20 20 65 71 75 64 20 20 20 20 30 0d 28 e6 15 | equd 0.(..| 000093e0 2e 70 75 74 5f 77 69 6e 64 6f 77 5f 74 69 74 6c |.put_window_titl| 000093f0 65 0d 28 f0 20 20 20 20 20 20 20 20 20 65 71 75 |e.(. equ| 00009400 64 20 20 20 20 77 69 6e 64 6f 77 5f 74 69 74 6c |d window_titl| 00009410 65 0d 28 fa 16 20 20 20 20 20 20 20 20 65 71 75 |e.(.. equ| 00009420 64 20 20 20 20 2d 31 0d 29 04 31 20 20 20 20 20 |d -1.).1 | 00009430 20 20 20 65 71 75 64 20 20 20 20 65 6e 64 5f 77 | equd end_w| 00009440 69 6e 64 6f 77 5f 74 69 74 6c 65 2d 77 69 6e 64 |indow_title-wind| 00009450 6f 77 5f 74 69 74 6c 65 0d 29 0e 15 20 20 20 20 |ow_title.).. | 00009460 20 20 20 20 65 71 75 64 20 20 20 20 38 0d 29 18 | equd 8.).| 00009470 16 20 20 20 20 20 20 20 20 65 71 75 64 20 20 20 |. equd | 00009480 20 35 38 0d 29 22 17 20 20 20 20 20 20 20 20 65 | 58.)". e| 00009490 71 75 64 20 20 20 20 2d 34 38 0d 29 2c 17 20 20 |qud -48.),. | 000094a0 20 20 20 20 20 20 65 71 75 64 20 20 20 20 31 35 | equd 15| 000094b0 34 0d 29 36 16 20 20 20 20 20 20 20 20 65 71 75 |4.)6. equ| 000094c0 64 20 20 20 20 2d 38 0d 29 40 33 20 20 20 20 20 |d -8.)@3 | 000094d0 20 20 20 65 71 75 64 20 20 20 20 28 26 31 37 20 | equd (&17 | 000094e0 3c 3c 20 32 34 29 2b 28 31 20 3c 3c 20 34 29 2b |<< 24)+(1 << 4)+| 000094f0 28 31 20 3c 3c 20 33 29 2b 31 0d 29 4a 1b 20 20 |(1 << 3)+1.)J. | 00009500 20 20 20 20 20 20 a4 73 74 72 69 6e 67 28 22 4e | .string("N| 00009510 61 6d 65 22 29 0d 29 54 16 20 20 20 20 20 20 20 |ame").)T. | 00009520 20 65 71 75 64 20 20 20 20 31 34 0d 29 5e 18 20 | equd 14.)^. | 00009530 20 20 20 20 20 20 20 65 71 75 64 20 20 20 20 2d | equd -| 00009540 31 30 30 0d 29 68 17 20 20 20 20 20 20 20 20 65 |100.)h. e| 00009550 71 75 64 20 20 20 20 31 35 34 0d 29 72 17 20 20 |qud 154.)r. | 00009560 20 20 20 20 20 20 65 71 75 64 20 20 20 20 2d 36 | equd -6| 00009570 30 0d 29 7c 33 20 20 20 20 20 20 20 20 65 71 75 |0.)|3 equ| 00009580 64 20 20 20 20 28 26 31 37 20 3c 3c 20 32 34 29 |d (&17 << 24)| 00009590 2b 28 31 20 3c 3c 20 34 29 2b 28 31 20 3c 3c 20 |+(1 << 4)+(1 << | 000095a0 33 29 2b 31 0d 29 86 1e 20 20 20 20 20 20 20 20 |3)+1.).. | 000095b0 a4 73 74 72 69 6e 67 28 22 50 75 72 70 6f 73 65 |.string("Purpose| 000095c0 22 29 0d 29 90 16 20 20 20 20 20 20 20 20 65 71 |").).. eq| 000095d0 75 64 20 20 20 20 33 30 0d 29 9a 18 20 20 20 20 |ud 30.).. | 000095e0 20 20 20 20 65 71 75 64 20 20 20 20 2d 31 35 32 | equd -152| 000095f0 0d 29 a4 17 20 20 20 20 20 20 20 20 65 71 75 64 |.).. equd| 00009600 20 20 20 20 31 35 34 0d 29 ae 18 20 20 20 20 20 | 154.).. | 00009610 20 20 20 65 71 75 64 20 20 20 20 2d 31 31 32 0d | equd -112.| 00009620 29 b8 33 20 20 20 20 20 20 20 20 65 71 75 64 20 |).3 equd | 00009630 20 20 20 28 26 31 37 20 3c 3c 20 32 34 29 2b 28 | (&17 << 24)+(| 00009640 31 20 3c 3c 20 34 29 2b 28 31 20 3c 3c 20 33 29 |1 << 4)+(1 << 3)| 00009650 2b 31 0d 29 c2 1d 20 20 20 20 20 20 20 20 a4 73 |+1.).. .s| 00009660 74 72 69 6e 67 28 22 41 75 74 68 6f 72 22 29 0d |tring("Author").| 00009670 29 cc 16 20 20 20 20 20 20 20 20 65 71 75 64 20 |).. equd | 00009680 20 20 20 31 34 0d 29 d6 18 20 20 20 20 20 20 20 | 14.).. | 00009690 20 65 71 75 64 20 20 20 20 2d 32 30 30 0d 29 e0 | equd -200.).| 000096a0 17 20 20 20 20 20 20 20 20 65 71 75 64 20 20 20 |. equd | 000096b0 20 31 35 34 0d 29 ea 18 20 20 20 20 20 20 20 20 | 154.).. | 000096c0 65 71 75 64 20 20 20 20 2d 31 36 30 0d 29 f4 33 |equd -160.).3| 000096d0 20 20 20 20 20 20 20 20 65 71 75 64 20 20 20 20 | equd | 000096e0 28 26 31 37 20 3c 3c 20 32 34 29 2b 28 31 20 3c |(&17 << 24)+(1 <| 000096f0 3c 20 34 29 2b 28 31 20 3c 3c 20 33 29 2b 31 0d |< 4)+(1 << 3)+1.| 00009700 29 fe 1e 20 20 20 20 20 20 20 20 a4 73 74 72 69 |).. .stri| 00009710 6e 67 28 22 56 65 72 73 69 6f 6e 22 29 0d 2a 08 |ng("Version").*.| 00009720 17 20 20 20 20 20 20 20 20 65 71 75 64 20 20 20 |. equd | 00009730 20 31 35 34 0d 2a 12 17 20 20 20 20 20 20 20 20 | 154.*.. | 00009740 65 71 75 64 20 20 20 20 2d 35 32 0d 2a 1c 17 20 |equd -52.*.. | 00009750 20 20 20 20 20 20 20 65 71 75 64 20 20 20 20 36 | equd 6| 00009760 33 30 0d 2a 26 16 20 20 20 20 20 20 20 20 65 71 |30.*&. eq| 00009770 75 64 20 20 20 20 2d 34 0d 2a 30 4c 20 20 20 20 |ud -4.*0L | 00009780 20 20 20 20 65 71 75 64 20 20 20 20 28 37 20 3c | equd (7 <| 00009790 3c 20 32 34 29 2b 28 31 20 3c 3c 20 38 29 2b 28 |< 24)+(1 << 8)+(| 000097a0 31 20 3c 3c 20 35 29 2b 28 31 20 3c 3c 20 34 29 |1 << 5)+(1 << 4)| 000097b0 2b 28 31 20 3c 3c 20 33 29 2b 28 31 20 3c 3c 20 |+(1 << 3)+(1 << | 000097c0 32 29 2b 31 0d 2a 3a 0d 2e 70 75 74 5f 6e 61 6d |2)+1.*:..put_nam| 000097d0 65 0d 2a 44 18 20 20 20 20 20 20 20 20 65 71 75 |e.*D. equ| 000097e0 64 20 20 20 20 6e 61 6d 65 0d 2a 4e 16 20 20 20 |d name.*N. | 000097f0 20 20 20 20 20 65 71 75 64 20 20 20 20 2d 31 0d | equd -1.| 00009800 2a 58 21 20 20 20 20 20 20 20 20 65 71 75 64 20 |*X! equd | 00009810 20 20 20 65 6e 64 5f 6e 61 6d 65 2d 6e 61 6d 65 | end_name-name| 00009820 0d 2a 62 17 20 20 20 20 20 20 20 20 65 71 75 64 |.*b. equd| 00009830 20 20 20 20 31 35 34 0d 2a 6c 18 20 20 20 20 20 | 154.*l. | 00009840 20 20 20 65 71 75 64 20 20 20 20 2d 31 30 34 0d | equd -104.| 00009850 2a 76 17 20 20 20 20 20 20 20 20 65 71 75 64 20 |*v. equd | 00009860 20 20 20 36 33 30 0d 2a 80 17 20 20 20 20 20 20 | 630.*.. | 00009870 20 20 65 71 75 64 20 20 20 20 2d 35 36 0d 2a 8a | equd -56.*.| 00009880 4c 20 20 20 20 20 20 20 20 65 71 75 64 20 20 20 |L equd | 00009890 20 28 37 20 3c 3c 20 32 34 29 2b 28 31 20 3c 3c | (7 << 24)+(1 <<| 000098a0 20 38 29 2b 28 31 20 3c 3c 20 35 29 2b 28 31 20 | 8)+(1 << 5)+(1 | 000098b0 3c 3c 20 34 29 2b 28 31 20 3c 3c 20 33 29 2b 28 |<< 4)+(1 << 3)+(| 000098c0 31 20 3c 3c 20 32 29 2b 31 0d 2a 94 10 2e 70 75 |1 << 2)+1.*...pu| 000098d0 74 5f 70 75 72 70 6f 73 65 0d 2a 9e 1b 20 20 20 |t_purpose.*.. | 000098e0 20 20 20 20 20 65 71 75 64 20 20 20 20 70 75 72 | equd pur| 000098f0 70 6f 73 65 0d 2a a8 16 20 20 20 20 20 20 20 20 |pose.*.. | 00009900 65 71 75 64 20 20 20 20 2d 31 0d 2a b2 27 20 20 |equd -1.*.' | 00009910 20 20 20 20 20 20 65 71 75 64 20 20 20 20 65 6e | equd en| 00009920 64 5f 70 75 72 70 6f 73 65 2d 70 75 72 70 6f 73 |d_purpose-purpos| 00009930 65 0d 2a bc 17 20 20 20 20 20 20 20 20 65 71 75 |e.*.. equ| 00009940 64 20 20 20 20 31 35 34 0d 2a c6 18 20 20 20 20 |d 154.*.. | 00009950 20 20 20 20 65 71 75 64 20 20 20 20 2d 31 35 36 | equd -156| 00009960 0d 2a d0 17 20 20 20 20 20 20 20 20 65 71 75 64 |.*.. equd| 00009970 20 20 20 20 36 33 30 0d 2a da 18 20 20 20 20 20 | 630.*.. | 00009980 20 20 20 65 71 75 64 20 20 20 20 2d 31 30 38 0d | equd -108.| 00009990 2a e4 4c 20 20 20 20 20 20 20 20 65 71 75 64 20 |*.L equd | 000099a0 20 20 20 28 37 20 3c 3c 20 32 34 29 2b 28 31 20 | (7 << 24)+(1 | 000099b0 3c 3c 20 38 29 2b 28 31 20 3c 3c 20 35 29 2b 28 |<< 8)+(1 << 5)+(| 000099c0 31 20 3c 3c 20 34 29 2b 28 31 20 3c 3c 20 33 29 |1 << 4)+(1 << 3)| 000099d0 2b 28 31 20 3c 3c 20 32 29 2b 31 0d 2a ee 0f 2e |+(1 << 2)+1.*...| 000099e0 70 75 74 5f 61 75 74 68 6f 72 0d 2a f8 1a 20 20 |put_author.*.. | 000099f0 20 20 20 20 20 20 65 71 75 64 20 20 20 20 61 75 | equd au| 00009a00 74 68 6f 72 0d 2b 02 16 20 20 20 20 20 20 20 20 |thor.+.. | 00009a10 65 71 75 64 20 20 20 20 2d 31 0d 2b 0c 25 20 20 |equd -1.+.% | 00009a20 20 20 20 20 20 20 65 71 75 64 20 20 20 20 65 6e | equd en| 00009a30 64 5f 61 75 74 68 6f 72 2d 61 75 74 68 6f 72 0d |d_author-author.| 00009a40 2b 16 17 20 20 20 20 20 20 20 20 65 71 75 64 20 |+.. equd | 00009a50 20 20 20 31 35 34 0d 2b 20 18 20 20 20 20 20 20 | 154.+ . | 00009a60 20 20 65 71 75 64 20 20 20 20 2d 32 30 38 0d 2b | equd -208.+| 00009a70 2a 17 20 20 20 20 20 20 20 20 65 71 75 64 20 20 |*. equd | 00009a80 20 20 36 33 30 0d 2b 34 18 20 20 20 20 20 20 20 | 630.+4. | 00009a90 20 65 71 75 64 20 20 20 20 2d 31 36 30 0d 2b 3e | equd -160.+>| 00009aa0 4c 20 20 20 20 20 20 20 20 65 71 75 64 20 20 20 |L equd | 00009ab0 20 28 37 20 3c 3c 20 32 34 29 2b 28 31 20 3c 3c | (7 << 24)+(1 <<| 00009ac0 20 38 29 2b 28 31 20 3c 3c 20 35 29 2b 28 31 20 | 8)+(1 << 5)+(1 | 00009ad0 3c 3c 20 34 29 2b 28 31 20 3c 3c 20 33 29 2b 28 |<< 4)+(1 << 3)+(| 00009ae0 31 20 3c 3c 20 32 29 2b 31 0d 2b 48 10 2e 70 75 |1 << 2)+1.+H..pu| 00009af0 74 5f 76 65 72 73 69 6f 6e 0d 2b 52 1b 20 20 20 |t_version.+R. | 00009b00 20 20 20 20 20 65 71 75 64 20 20 20 20 76 65 72 | equd ver| 00009b10 73 69 6f 6e 0d 2b 5c 16 20 20 20 20 20 20 20 20 |sion.+\. | 00009b20 65 71 75 64 20 20 20 20 2d 31 0d 2b 66 27 20 20 |equd -1.+f' | 00009b30 20 20 20 20 20 20 65 71 75 64 20 20 20 20 65 6e | equd en| 00009b40 64 5f 76 65 72 73 69 6f 6e 2d 76 65 72 73 69 6f |d_version-versio| 00009b50 6e 0d 2b 70 14 2e 65 6e 64 5f 69 6e 66 6f 5f 77 |n.+p..end_info_w| 00009b60 69 6e 64 6f 77 0d 2b 7a 05 5d 0d 2b 84 0a ed 20 |indow.+z.].+... | 00009b70 6f 70 74 25 0d 2b 8e 2a f1 20 7e 4f 25 2d 63 6f |opt%.+.*. ~O%-co| 00009b80 64 65 25 3b 22 20 3d 20 22 3b 28 4f 25 2d 63 6f |de%;" = ";(O%-co| 00009b90 64 65 25 29 2f 31 30 32 34 3b 22 20 4b 22 0d 2b |de%)/1024;" K".+| 00009ba0 98 28 ff 20 22 53 61 76 65 20 49 63 6f 6e 43 6c |.(. "Save IconCl| 00009bb0 6f 63 6b 20 22 2b c3 7e 63 6f 64 65 25 2b 22 20 |ock "+.~code%+" | 00009bc0 22 2b c3 7e 4f 25 0d 2b a2 1d 2a 53 65 74 54 79 |"+.~O%.+..*SetTy| 00009bd0 70 65 20 49 63 6f 6e 43 6c 6f 63 6b 20 4d 6f 64 |pe IconClock Mod| 00009be0 75 6c 65 0d 2b ac 1a 2a 4b 65 79 20 31 20 4c 6f |ule.+..*Key 1 Lo| 00009bf0 61 64 20 4d 6f 64 4d 61 6b 65 72 7c 4d 0d 2b b6 |ad ModMaker|M.+.| 00009c00 13 2a 4b 65 79 20 32 20 54 57 49 4e 4f 38 7c 4d |.*Key 2 TWINO8|M| 00009c10 0d 2b c0 16 2a 4b 65 79 20 33 20 53 41 56 45 7c |.+..*Key 3 SAVE|| 00009c20 4d 52 55 4e 7c 4d 0d 2b ca 28 2a 4b 65 79 20 34 |MRUN|M.+.(*Key 4| 00009c30 20 2a 52 4d 4c 6f 61 64 20 49 63 6f 6e 43 6c 6f | *RMLoad IconClo| 00009c40 63 6b 7c 4d 2a 44 65 73 6b 74 6f 70 7c 4d 0d 2b |ck|M*Desktop|M.+| 00009c50 d4 24 2a 4b 65 79 20 35 20 2a 53 68 6f 77 20 49 |.$*Key 5 *Show I| 00009c60 63 6f 6e 43 6c 6f 63 6b 24 4f 70 74 69 6f 6e 73 |conClock$Options| 00009c70 7c 4d 0d 2b de 21 2a 4b 65 79 20 36 20 2a 53 65 ||M.+.!*Key 6 *Se| 00009c80 74 20 49 63 6f 6e 43 6c 6f 63 6b 24 4f 70 74 69 |t IconClock$Opti| 00009c90 6f 6e 73 0d 2b e8 05 e0 0d 2b f2 04 0d 2b fc 14 |ons.+....+...+..| 00009ca0 dd 20 a4 73 74 72 69 6e 67 28 74 65 78 74 24 29 |. .string(text$)| 00009cb0 0d 2c 06 3d e7 20 a9 28 74 65 78 74 24 29 3e 31 |.,.=. .(text$)>1| 00009cc0 32 20 8c 20 85 20 30 2c 74 65 78 74 24 2b 22 20 |2 . . 0,text$+" | 00009cd0 69 73 20 6c 6f 6e 67 65 72 20 74 68 61 6e 20 31 |is longer than 1| 00009ce0 32 20 63 68 61 72 61 63 74 65 72 73 22 0d 2c 10 |2 characters".,.| 00009cf0 17 5b 20 20 20 20 20 20 20 6f 70 74 20 20 20 20 |.[ opt | 00009d00 6f 70 74 25 0d 2c 1a 19 20 20 20 20 20 20 20 20 |opt%.,.. | 00009d10 65 71 75 73 20 20 20 20 74 65 78 74 24 0d 2c 24 |equs text$.,$| 00009d20 05 5d 0d 2c 2e 13 e7 20 a9 28 74 65 78 74 24 29 |.].,... .(text$)| 00009d30 3c 31 32 20 8c 0d 2c 38 17 5b 20 20 20 20 20 20 |<12 ..,8.[ | 00009d40 20 6f 70 74 20 20 20 20 6f 70 74 25 0d 2c 42 24 | opt opt%.,B$| 00009d50 20 20 20 20 20 20 20 20 65 71 75 73 20 20 20 20 | equs | 00009d60 c4 31 32 2d a9 28 74 65 78 74 24 29 2c bd 30 29 |.12-.(text$),.0)| 00009d70 0d 2c 4c 05 5d 0d 2c 56 05 cd 0d 2c 60 06 3d 30 |.,L.].,V...,`.=0| 00009d80 0d ff |..| 00009d82