# --- ROCK-COPYRIGHT-NOTE-BEGIN --- # # This copyright note is auto-generated by ./scripts/Create-CopyPatch. # Please add additional copyright information _after_ the line containing # the ROCK-COPYRIGHT-NOTE-END tag. Otherwise it might get removed by # the ./scripts/Create-CopyPatch script. Do not edit this copyright text! # # ROCK Linux: rock-src/package/tibit/pilot-link/multi-line-strings.patch # ROCK Linux is Copyright (C) 1998 - 2006 Clifford Wolf # # This patch file is dual-licensed. It is available under the license the # patched project is licensed under, as long as it is an OpenSource license # as defined at https://www.opensource.org/ (e.g. BSD, X11) or under the terms # of the GNU General Public License as published by the Free Software # Foundation; either version 2 of the License, or (at your option) any later # version. # # --- ROCK-COPYRIGHT-NOTE-END --- --- pilot-link-0.11.7/src/pilot-debug.c 2002-12-02 15:32:47.000000000 +0100 +++ pilot-link-0.11.7-rock/src/pilot-debug.c 2004-02-25 00:11:06.000000000 +0100 @@ -1549,526 +1549,526 @@ return TCL_OK; } - Tcl_VarEval(interp,"\ - -### /*** Generate remote UI window ***/ - -set tkdbg 1 - -toplevel .remote -wm title .remote {Palm Remote UI} - -catch { - if {[file exists {tools/pix/case.gif}]} { - set dir {tools} - } elseif {[file exists {",LIBDIR,"/pix/case.gif}]} { - set dir {",LIBDIR,"/pix} - } else { - error {No pix} - } - image create photo Case -format gif -file \"$dir/pix/case.gif\" - image create photo B1 -format gif -file \"$dir/pix/b1.gif\" - image create photo B2 -format gif -file \"$dir/pix/b2.gif\" - image create photo B3 -format gif -file \"$dir/pix/b3.gif\" - image create photo B4 -format gif -file \"$dir/pix/b4.gif\" - image create photo B5 -format gif -file \"$dir/pix/b5.gif\" - image create photo B6 -format gif -file \"$dir/pix/b6.gif\" - image create photo B7 -format gif -file \"$dir/pix/b7.gif\" -} - -canvas .remote.c -width 221 -height 337 - -.remote.c create rectangle 27 29 196 260 -outline {red} -tag screen -fill {blue} -.remote.c create rectangle 0 280 18 306 -outline {red} -tag button1 -fill {blue} -.remote.c create oval 23 276 52 307 -outline {red} -tag button2 -fill {blue} -.remote.c create oval 63 276 92 307 -outline {red} -tag button3 -fill {blue} -.remote.c create rectangle 97 277 127 294 -outline {red} -tag button4 -fill {blue} -.remote.c create rectangle 97 300 127 317 -outline {red} -tag button5 -fill {blue} -.remote.c create oval 133 276 162 307 -outline {red} -tag button6 -fill {blue} -.remote.c create oval 171 276 200 307 -outline {red} -tag button7 -fill {blue} - -.remote.c create rectangle 33 32 187 253 -outline black -tag screen -.remote.c create rectangle 33 200 61 225 -outline black -tag screen -.remote.c create rectangle 33 225 61 253 -outline black -tag screen -.remote.c create rectangle 160 200 187 225 -outline black -tag screen -.remote.c create rectangle 160 225 187 253 -outline black -tag screen -.remote.c create rectangle 62 200 159 253 -outline black -tag screen - -set buttons(1) 0 - -proc holdbutton {button} { - global buttons - if {$button==1} { - set buttons($button) [after 1000 \"continuebutton $button\"] - } else { - pushbutton $button - set buttons($button) [after 250 \"holdbutton $button\"] - } -} - -proc continuebutton {button} { - global buttons - if {$button==1} { - pushbutton 0 - } - set buttons($button) \"\" -} - -proc releasebutton {button} { - global buttons - if {$buttons($button)!=\"\"} { - if {$button==1} { - pushbutton 1 - } - after cancel $buttons($button) - set buttons($button) \"\" - } -} - -.remote.c bind button1 {.remote.c itemconfigure button1 -fill green; update; holdbutton 1} -.remote.c bind button1 {.remote.c itemconfigure button1 -fill blue; releasebutton 1} - -.remote.c bind button2 {.remote.c itemconfigure button2 -fill green; update; holdbutton 2} -.remote.c bind button2 {.remote.c itemconfigure button2 -fill blue; releasebutton 2} - -.remote.c bind button3 {.remote.c itemconfigure button3 -fill green; update; holdbutton 3} -.remote.c bind button3 {.remote.c itemconfigure button3 -fill blue; releasebutton 3} - -.remote.c bind button4 {.remote.c itemconfigure button4 -fill green; update; holdbutton 4} -.remote.c bind button4 {.remote.c itemconfigure button4 -fill blue; releasebutton 4} - -.remote.c bind button5 {.remote.c itemconfigure button5 -fill green; update; holdbutton 5} -.remote.c bind button5 {.remote.c itemconfigure button5 -fill blue; releasebutton 5} - -.remote.c bind button6 {.remote.c itemconfigure button6 -fill green; update; holdbutton 6} -.remote.c bind button6 {.remote.c itemconfigure button6 -fill blue; releasebutton 6} - -.remote.c bind button7 {.remote.c itemconfigure button7 -fill green; update; holdbutton 7} -.remote.c bind button7 {.remote.c itemconfigure button7 -fill blue; releasebutton 7} - -catch { - .remote.c create image 0 282 -image B1 -anchor nw -tag downbutton1 - .remote.c create image 22 274 -image B2 -anchor nw -tag downbutton2 - .remote.c create image 60 275 -image B3 -anchor nw -tag downbutton3 - .remote.c create image 93 278 -image B4 -anchor nw -tag downbutton4 - .remote.c create image 95 298 -image B5 -anchor nw -tag downbutton5 - .remote.c create image 131 275 -image B6 -anchor nw -tag downbutton6 - .remote.c create image 169 274 -image B7 -anchor nw -tag downbutton7 - - .remote.c create image 0 0 -image Case -anchor nw - - .remote.c bind button1 {.remote.c raise downbutton1; update; holdbutton 1} - .remote.c bind button1 {.remote.c lower downbutton1; releasebutton 1} - - .remote.c bind button2 {.remote.c raise downbutton2; update; holdbutton 2} - .remote.c bind button2 {.remote.c lower downbutton2; releasebutton 2} - - .remote.c bind button3 {.remote.c raise downbutton3; update; holdbutton 3} - .remote.c bind button3 {.remote.c lower downbutton3; releasebutton 3} - - .remote.c bind button4 {.remote.c raise downbutton4; update; holdbutton 4} - .remote.c bind button4 {.remote.c lower downbutton4; releasebutton 4} - - .remote.c bind button5 {.remote.c raise downbutton5; update; holdbutton 5} - .remote.c bind button5 {.remote.c lower downbutton5; releasebutton 5} - - .remote.c bind button6 {.remote.c raise downbutton6; update; holdbutton 6} - .remote.c bind button6 {.remote.c lower downbutton6; releasebutton 6} - - .remote.c bind button7 {.remote.c raise downbutton7; update; holdbutton 7} - .remote.c bind button7 {.remote.c lower downbutton7; releasebutton 7} - - - .remote.c itemconfigure button1 -outline {} -fill {} - .remote.c raise button1 - .remote.c itemconfigure button2 -outline {} -fill {} - .remote.c raise button2 - .remote.c itemconfigure button3 -outline {} -fill {} - .remote.c raise button3 - .remote.c itemconfigure button4 -outline {} -fill {} - .remote.c raise button4 - .remote.c itemconfigure button5 -outline {} -fill {} - .remote.c raise button5 - .remote.c itemconfigure button6 -outline {} -fill {} - .remote.c raise button6 - .remote.c itemconfigure button7 -outline {} -fill {} - .remote.c raise button7 - .remote.c itemconfigure screen -outline {} -fill {} - .remote.c raise screen -} - -pack .remote.c -side top - -.remote.c bind screen {pen %x %y 1} -.remote.c bind screen {pen %x %y 1} -.remote.c bind screen {pen %x %y 0} - -global KeyQueue -global KeyQueueId -global KeyQueueDelay -set KeyQueue {} -set KeyQueueId {} -set KeyQueueDelay 50 - -proc readyqueue {} { - global KeyQueueId - global KeyQueueDelay - if {$KeyQueueId == {}} { - after $KeyQueueDelay { set KeyQueueId [ after idle {sendqueue} ] } - } -} - -proc queuekey {c} { - global KeyQueue - append KeyQueue $c - readyqueue -} - -proc sendqueue {} { - global KeyQueue - global KeyQueueId - if {[string length $KeyQueue] > 0} { - key [string index $KeyQueue 0] - set KeyQueue [string range $KeyQueue 1 end] - } - set KeyQueueId {} - if {[string length $KeyQueue] > 0} { readyqueue } -} - -bind .remote {queuekey %A} - -## Handle pasting -proc do_paste { } { - if [catch {selection get} sel] { - if [catch {selection get -selection CLIPBOARD} sel] { - return - } - } - queuekey $sel -} -bind .remote {do_paste} - -##### /*** Generate remote console window ***/ - -toplevel .console -wm title .console \"Palm Remote Console\" -scrollbar .console.y -orient vertical -command {.console.t yview} -text .console.t -yscrollcommand {.console.y set} -pack .console.t -fill both -expand yes -side left -pack .console.y -fill y -side right -focus .console.t - -#### /*** Generate pilot state window ***/ - -toplevel .state -wm title .state {Palm State} -label .state.l1 -text {Active mode:} -label .state.l1x -text {Battery:} -label .state.l2 -text {Exception:} -label .state.l25 -text {Reset:} -label .state.l3 -text {Function:} -label .state.l4 -text {F-start:} -label .state.l5 -text {F-end:} -label .state.l6 -text {D0:} -label .state.l7 -text {A0:} -label .state.l8 -text {D1:} -label .state.l9 -text {A1:} -label .state.l10 -text {D2:} -label .state.l11 -text {A2:} -label .state.l12 -text {D3:} -label .state.l13 -text {A3:} -label .state.l14 -text {D4:} -label .state.l15 -text {A4:} -label .state.l16 -text {D5:} -label .state.l17 -text {A5:} -label .state.l18 -text {D6:} -label .state.l19 -text {A6:} -label .state.l20 -text {D7:} - -label .state.l21 -text {PC:} -label .state.l22 -text {SR:} -label .state.l23 -text {USP:} -label .state.l24 -text {SSP:} - -label .state.halted -text {None} -label .state.battery -text {Unknown} -label .state.exception -text {0} -label .state.reset -text {No} -label .state.funcname -text {} -label .state.funcstart -text {00000000} -label .state.funcend -text {00000000} -label .state.d0 -text {00000000} -label .state.a0 -text {00000000} -label .state.d1 -text {00000000} -label .state.a1 -text {00000000} -label .state.d2 -text {00000000} -label .state.a2 -text {00000000} -label .state.d3 -text {00000000} -label .state.a3 -text {00000000} -label .state.d4 -text {00000000} -label .state.a4 -text {00000000} -label .state.d5 -text {00000000} -label .state.a5 -text {00000000} -label .state.d6 -text {00000000} -label .state.a6 -text {00000000} -label .state.d7 -text {00000000} -label .state.pc -text {00000000} -label .state.sr -text {0000} -label .state.usp -text {00000000} -label .state.ssp -text {00000000} - -grid .state.l1 -column 0 -row 0 -sticky e -columnspan 2 -grid .state.halted -column 2 -row 0 -sticky w -columnspan 2 - -grid .state.l1x -column 0 -row 1 -sticky e -columnspan 2 -grid .state.battery -column 2 -row 1 -sticky w -columnspan 2 - -grid .state.l2 -column 0 -row 2 -sticky e -columnspan 2 -grid .state.exception -column 2 -row 2 -sticky w -columnspan 2 - -grid .state.l25 -column 0 -row 3 -sticky e -columnspan 2 -grid .state.reset -column 2 -row 3 -sticky w -columnspan 2 - -grid .state.l3 -column 0 -row 4 -sticky e -columnspan 2 -grid .state.funcname -column 2 -row 4 -sticky w -columnspan 2 - -grid .state.l4 -column 0 -row 5 -sticky e -columnspan 2 -grid .state.funcstart -column 2 -row 5 -sticky w -columnspan 2 - -grid .state.l5 -column 0 -row 6 -sticky e -columnspan 2 -grid .state.funcend -column 2 -row 6 -sticky w -columnspan 2 - -frame .state.rule1 -relief raised -bd 2 -height 4 -grid .state.rule1 -column 0 -row 7 -columnspan 4 -sticky ew - -grid .state.l6 -column 0 -row 8 -sticky e -grid .state.d0 -column 1 -row 8 -sticky w -grid .state.l7 -column 2 -row 8 -sticky e -grid .state.a0 -column 3 -row 8 -sticky w - -grid .state.l8 -column 0 -row 9 -sticky e -grid .state.d1 -column 1 -row 9 -sticky w -grid .state.l9 -column 2 -row 9 -sticky e -grid .state.a1 -column 3 -row 9 -sticky w - -grid .state.l10 -column 0 -row 10 -sticky e -grid .state.d2 -column 1 -row 10 -sticky w -grid .state.l11 -column 2 -row 10 -sticky e -grid .state.a2 -column 3 -row 10 -sticky w - -grid .state.l12 -column 0 -row 11 -sticky e -grid .state.d3 -column 1 -row 11 -sticky w -grid .state.l13 -column 2 -row 11 -sticky e -grid .state.a3 -column 3 -row 11 -sticky w - -grid .state.l14 -column 0 -row 12 -sticky e -grid .state.d4 -column 1 -row 12 -sticky w -grid .state.l15 -column 2 -row 12 -sticky e -grid .state.a4 -column 3 -row 12 -sticky w - -grid .state.l16 -column 0 -row 13 -sticky e -grid .state.d5 -column 1 -row 13 -sticky w -grid .state.l17 -column 2 -row 13 -sticky e -grid .state.a5 -column 3 -row 13 -sticky w - -grid .state.l18 -column 0 -row 14 -sticky e -grid .state.d6 -column 1 -row 14 -sticky w -grid .state.l19 -column 2 -row 14 -sticky e -grid .state.a6 -column 3 -row 14 -sticky w - -grid .state.l20 -column 0 -row 15 -sticky e -grid .state.d7 -column 1 -row 15 -sticky w - -grid .state.l21 -column 0 -row 16 -sticky e -grid .state.pc -column 1 -row 16 -sticky w -grid .state.l22 -column 2 -row 16 -sticky e -grid .state.sr -column 3 -row 16 -sticky w - -grid .state.l23 -column 0 -row 17 -sticky e -grid .state.usp -column 1 -row 17 -sticky w -grid .state.l24 -column 2 -row 17 -sticky e -grid .state.ssp -column 3 -row 17 -sticky w - -label .state.bl2 -text {B1:} -label .state.bl4 -text {B2:} -label .state.bl6 -text {B3:} -label .state.bl8 -text {B4:} -label .state.bl10 -text {B5:} -label .state.bl12 -text {B6:} - -label .state.b1 -text {00000000} -label .state.b1a -text {Off} -label .state.b2 -text {00000000} -label .state.b2a -text {Off} -label .state.b3 -text {00000000} -label .state.b3a -text {Off} -label .state.b4 -text {00000000} -label .state.b4a -text {Off} -label .state.b5 -text {00000000} -label .state.b5a -text {Off} -label .state.b6 -text {00000000} -label .state.b6a -text {Off} - -frame .state.rule2 -relief raised -bd 2 -height 4 -grid .state.rule2 -column 0 -row 18 -columnspan 4 -sticky ew - -grid .state.bl2 -column 0 -row 19 -sticky e -grid .state.b1 -column 1 -row 19 -sticky w -grid .state.b1a -column 2 -row 19 -sticky w - -grid .state.bl4 -column 0 -row 20 -sticky e -grid .state.b2 -column 1 -row 20 -sticky w -grid .state.b2a -column 2 -row 20 -sticky w - -grid .state.bl6 -column 0 -row 21 -sticky e -grid .state.b3 -column 1 -row 21 -sticky w -grid .state.b3a -column 2 -row 21 -sticky w - -grid .state.bl8 -column 0 -row 22 -sticky e -grid .state.b4 -column 1 -row 22 -sticky w -grid .state.b4a -column 2 -row 22 -sticky w - -grid .state.bl10 -column 0 -row 23 -sticky e -grid .state.b5 -column 1 -row 23 -sticky w -grid .state.b5a -column 2 -row 23 -sticky w - -grid .state.bl12 -column 0 -row 24 -sticky e -grid .state.b6 -column 1 -row 24 -sticky w -grid .state.b6a -column 2 -row 24 -sticky w - -### /*** Generate debugger console window ***/ - -wm title . \"Palm Debugger Console\" -catch { - wm iconbitmap . {@pix/case.xbm} - wm iconbitmap .remote {@pix/case.xbm} - wm iconbitmap .console {@pix/case.xbm} - wm iconbitmap .state {@pix/case.xbm} - #wm iconmask . {@pix/casemask.xbm} -} - -frame .m -relief raised -frame .f -scrollbar .f.y -orient vertical -command {.f.t yview} -text .f.t -yscrollcommand {.f.y set} -wrap word -pack .f.t -fill both -expand yes -side left -pack .f.y -fill y -side right -pack [menubutton .m.file -text {File} -menu .m.file.m] -side left -#pack [menubutton .m.edit -text {Edit} -menu .m.edit.m] -side left -pack [menubutton .m.windows -text {Windows} -menu .m.windows.m] -side left -#pack [menubutton .m.help -text {display_help} -menu .m.help.m] -side right - -menu .m.file.m -menu .m.windows.m -#menu .m.edit.m -#menu .m.help.m - -#wm iconify .remote -#wm iconify .console -#wm iconify .state - - -proc ShowWindow {name1 name2 op} { - global show - if {$show($name2)} { - if {[wm state $name2] != \"normal\"} { - wm deiconify $name2 - } - } else { - if {[wm state $name2] == \"normal\"} { - wm withdraw $name2 - } - } -} - - -trace variable show w {ShowWindow} - -bind .remote { set show(.remote) 0 } -bind .console { set show(.console) 0 } -bind .state { set show(.state) 0 } - -bind .remote { set show(.remote) 1 } -bind .console { set show(.console) 1 } -bind .state { set show(.state) 1 } - -wm protocol .remote WM_DELETE_WINDOW { set show(.remote) 0 } -wm protocol .console WM_DELETE_WINDOW { set show(.console) 0 } -wm protocol .state WM_DELETE_WINDOW { set show(.state) 0 } - -set show(.remote) 0 -set show(.console) 0 -set show(.state) 0 - - -.m.file.m add command -label {Exit} -command {exit} - -.m.windows.m add checkbutton -label {Remote UI} -var show(.remote) -.m.windows.m add checkbutton -label {Remote Console} -var show(.console) -.m.windows.m add checkbutton -label {Remote State} -var show(.state) - -pack .m -side top -fill x -pack .f -side top -fill both -expand yes -focus .f.t - -### /*** Configure console bindings ***/ - -bind .console.t {tkTextInsert .console.t \"\\n\" ; break} -bind .f.t {tkTextInsert .f.t \"\\n\" ; break} - -bind .console.t {tkTextInsert .console.t \"\\n\" ; break} -bind .f.t {tkTextInsert .f.t \"\\n\" ; break} - -bind .console.t {Console [.console.t get {insert linestart} {insert lineend}] ; break} -bind .f.t { - set line [.f.t get {insert linestart} {insert lineend}] - set f [string first \">\" $line] - incr f - set line [string range $line $f end] - .f.t mark set insert {insert lineend} - .f.t insert insert \\n - Debugger $line - if {[.f.t compare insert != {insert linestart}]} { - .f.t insert insert \"\\n\" - } - .f.t insert insert \"pilot-debug> \" - .f.t see insert - break -} - -proc Console {cmd} { - .console.t mark set insert {insert lineend} - tkTextInsert .console.t \\n - transmit $cmd -} - -proc Debugger {cmd} { - #.f.t mark set insert {insert lineend} - #tkTextInsert .f.t \\n - if {[string length [string trim $cmd]]!=0} { - set code [catch {eval $cmd} message] - if {[string length $message]} { - set message [string trimright $message] - Say \"$message\\n\" - #if {[.f.t compare insert != {insert linestart}]} { - # Say \"\\\n\" - #} - } - } -} - -proc Say {text} { - global Interactive - if {$Interactive} { - .f.t insert insert \"$text\" - .f.t see insert - } else { - upvar result result - set result \"$result$text\" - } -} - -", NULL); + Tcl_VarEval(interp, +"" +"\n" +"### /*** Generate remote UI window ***/\n" +"\n" +"set tkdbg 1\n" +"\n" +"toplevel .remote\n" +"wm title .remote {Palm Remote UI}\n" +"\n" +"catch {\n" +" if {[file exists {tools/pix/case.gif}]} {\n" +" set dir {tools}\n" +" } elseif {[file exists {",LIBDIR,"/pix/case.gif}]} {\n" +" set dir {",LIBDIR,"/pix}\n" +" } else {\n" +" error {No pix}\n" +" }\n" +" image create photo Case -format gif -file \"$dir/pix/case.gif\"\n" +" image create photo B1 -format gif -file \"$dir/pix/b1.gif\"\n" +" image create photo B2 -format gif -file \"$dir/pix/b2.gif\"\n" +" image create photo B3 -format gif -file \"$dir/pix/b3.gif\"\n" +" image create photo B4 -format gif -file \"$dir/pix/b4.gif\"\n" +" image create photo B5 -format gif -file \"$dir/pix/b5.gif\"\n" +" image create photo B6 -format gif -file \"$dir/pix/b6.gif\"\n" +" image create photo B7 -format gif -file \"$dir/pix/b7.gif\"\n" +"}\n" +"\n" +"canvas .remote.c -width 221 -height 337\n" +"\n" +".remote.c create rectangle 27 29 196 260 -outline {red} -tag screen -fill {blue}\n" +".remote.c create rectangle 0 280 18 306 -outline {red} -tag button1 -fill {blue}\n" +".remote.c create oval 23 276 52 307 -outline {red} -tag button2 -fill {blue}\n" +".remote.c create oval 63 276 92 307 -outline {red} -tag button3 -fill {blue}\n" +".remote.c create rectangle 97 277 127 294 -outline {red} -tag button4 -fill {blue}\n" +".remote.c create rectangle 97 300 127 317 -outline {red} -tag button5 -fill {blue}\n" +".remote.c create oval 133 276 162 307 -outline {red} -tag button6 -fill {blue}\n" +".remote.c create oval 171 276 200 307 -outline {red} -tag button7 -fill {blue}\n" +"\n" +".remote.c create rectangle 33 32 187 253 -outline black -tag screen\n" +".remote.c create rectangle 33 200 61 225 -outline black -tag screen\n" +".remote.c create rectangle 33 225 61 253 -outline black -tag screen\n" +".remote.c create rectangle 160 200 187 225 -outline black -tag screen\n" +".remote.c create rectangle 160 225 187 253 -outline black -tag screen\n" +".remote.c create rectangle 62 200 159 253 -outline black -tag screen\n" +"\n" +"set buttons(1) 0\n" +"\n" +"proc holdbutton {button} {\n" +" global buttons\n" +" if {$button==1} {\n" +" set buttons($button) [after 1000 \"continuebutton $button\"]\n" +" } else {\n" +" pushbutton $button\n" +" set buttons($button) [after 250 \"holdbutton $button\"]\n" +" }\n" +"}\n" +"\n" +"proc continuebutton {button} {\n" +" global buttons\n" +" if {$button==1} {\n" +" pushbutton 0\n" +" }\n" +" set buttons($button) \"\"\n" +"}\n" +"\n" +"proc releasebutton {button} {\n" +" global buttons\n" +" if {$buttons($button)!=\"\"} {\n" +" if {$button==1} {\n" +" pushbutton 1\n" +" }\n" +" after cancel $buttons($button)\n" +" set buttons($button) \"\"\n" +" }\n" +"}\n" +"\n" +".remote.c bind button1 {.remote.c itemconfigure button1 -fill green; update; holdbutton 1}\n" +".remote.c bind button1 {.remote.c itemconfigure button1 -fill blue; releasebutton 1}\n" +"\n" +".remote.c bind button2 {.remote.c itemconfigure button2 -fill green; update; holdbutton 2}\n" +".remote.c bind button2 {.remote.c itemconfigure button2 -fill blue; releasebutton 2}\n" +"\n" +".remote.c bind button3 {.remote.c itemconfigure button3 -fill green; update; holdbutton 3}\n" +".remote.c bind button3 {.remote.c itemconfigure button3 -fill blue; releasebutton 3}\n" +"\n" +".remote.c bind button4 {.remote.c itemconfigure button4 -fill green; update; holdbutton 4}\n" +".remote.c bind button4 {.remote.c itemconfigure button4 -fill blue; releasebutton 4}\n" +"\n" +".remote.c bind button5 {.remote.c itemconfigure button5 -fill green; update; holdbutton 5}\n" +".remote.c bind button5 {.remote.c itemconfigure button5 -fill blue; releasebutton 5}\n" +"\n" +".remote.c bind button6 {.remote.c itemconfigure button6 -fill green; update; holdbutton 6}\n" +".remote.c bind button6 {.remote.c itemconfigure button6 -fill blue; releasebutton 6}\n" +"\n" +".remote.c bind button7 {.remote.c itemconfigure button7 -fill green; update; holdbutton 7}\n" +".remote.c bind button7 {.remote.c itemconfigure button7 -fill blue; releasebutton 7}\n" +"\n" +"catch {\n" +" .remote.c create image 0 282 -image B1 -anchor nw -tag downbutton1\n" +" .remote.c create image 22 274 -image B2 -anchor nw -tag downbutton2\n" +" .remote.c create image 60 275 -image B3 -anchor nw -tag downbutton3\n" +" .remote.c create image 93 278 -image B4 -anchor nw -tag downbutton4\n" +" .remote.c create image 95 298 -image B5 -anchor nw -tag downbutton5\n" +" .remote.c create image 131 275 -image B6 -anchor nw -tag downbutton6\n" +" .remote.c create image 169 274 -image B7 -anchor nw -tag downbutton7\n" +"\n" +" .remote.c create image 0 0 -image Case -anchor nw\n" +"\n" +" .remote.c bind button1 {.remote.c raise downbutton1; update; holdbutton 1}\n" +" .remote.c bind button1 {.remote.c lower downbutton1; releasebutton 1}\n" +"\n" +" .remote.c bind button2 {.remote.c raise downbutton2; update; holdbutton 2}\n" +" .remote.c bind button2 {.remote.c lower downbutton2; releasebutton 2}\n" +"\n" +" .remote.c bind button3 {.remote.c raise downbutton3; update; holdbutton 3}\n" +" .remote.c bind button3 {.remote.c lower downbutton3; releasebutton 3}\n" +"\n" +" .remote.c bind button4 {.remote.c raise downbutton4; update; holdbutton 4}\n" +" .remote.c bind button4 {.remote.c lower downbutton4; releasebutton 4}\n" +"\n" +" .remote.c bind button5 {.remote.c raise downbutton5; update; holdbutton 5}\n" +" .remote.c bind button5 {.remote.c lower downbutton5; releasebutton 5}\n" +"\n" +" .remote.c bind button6 {.remote.c raise downbutton6; update; holdbutton 6}\n" +" .remote.c bind button6 {.remote.c lower downbutton6; releasebutton 6}\n" +"\n" +" .remote.c bind button7 {.remote.c raise downbutton7; update; holdbutton 7}\n" +" .remote.c bind button7 {.remote.c lower downbutton7; releasebutton 7}\n" +" \n" +" \n" +" .remote.c itemconfigure button1 -outline {} -fill {}\n" +" .remote.c raise button1\n" +" .remote.c itemconfigure button2 -outline {} -fill {}\n" +" .remote.c raise button2\n" +" .remote.c itemconfigure button3 -outline {} -fill {}\n" +" .remote.c raise button3\n" +" .remote.c itemconfigure button4 -outline {} -fill {}\n" +" .remote.c raise button4\n" +" .remote.c itemconfigure button5 -outline {} -fill {}\n" +" .remote.c raise button5\n" +" .remote.c itemconfigure button6 -outline {} -fill {}\n" +" .remote.c raise button6\n" +" .remote.c itemconfigure button7 -outline {} -fill {}\n" +" .remote.c raise button7\n" +" .remote.c itemconfigure screen -outline {} -fill {}\n" +" .remote.c raise screen\n" +"}\n" +"\n" +"pack .remote.c -side top\n" +"\n" +".remote.c bind screen {pen %x %y 1}\n" +".remote.c bind screen {pen %x %y 1}\n" +".remote.c bind screen {pen %x %y 0}\n" +"\n" +"global KeyQueue\n" +"global KeyQueueId\n" +"global KeyQueueDelay\n" +"set KeyQueue {}\n" +"set KeyQueueId {}\n" +"set KeyQueueDelay 50\n" +"\n" +"proc readyqueue {} {\n" +" global KeyQueueId\n" +" global KeyQueueDelay\n" +" if {$KeyQueueId == {}} {\n" +" after $KeyQueueDelay { set KeyQueueId [ after idle {sendqueue} ] }\n" +" }\n" +"}\n" +"\n" +"proc queuekey {c} {\n" +" global KeyQueue\n" +" append KeyQueue $c\n" +" readyqueue\n" +"}\n" +"\n" +"proc sendqueue {} {\n" +" global KeyQueue\n" +" global KeyQueueId\n" +" if {[string length $KeyQueue] > 0} {\n" +" key [string index $KeyQueue 0]\n" +" set KeyQueue [string range $KeyQueue 1 end]\n" +" }\n" +" set KeyQueueId {}\n" +" if {[string length $KeyQueue] > 0} { readyqueue }\n" +"}\n" +"\n" +"bind .remote {queuekey %A}\n" +"\n" +"## Handle pasting\n" +"proc do_paste { } {\n" +" if [catch {selection get} sel] {\n" +" if [catch {selection get -selection CLIPBOARD} sel] {\n" +" return\n" +" }\n" +" }\n" +" queuekey $sel\n" +"}\n" +"bind .remote {do_paste}\n" +"\n" +"##### /*** Generate remote console window ***/\n" +"\n" +"toplevel .console\n" +"wm title .console \"Palm Remote Console\"\n" +"scrollbar .console.y -orient vertical -command {.console.t yview}\n" +"text .console.t -yscrollcommand {.console.y set}\n" +"pack .console.t -fill both -expand yes -side left\n" +"pack .console.y -fill y -side right\n" +"focus .console.t\n" +"\n" +"#### /*** Generate pilot state window ***/\n" +"\n" +"toplevel .state\n" +"wm title .state {Palm State}\n" +"label .state.l1 -text {Active mode:}\n" +"label .state.l1x -text {Battery:}\n" +"label .state.l2 -text {Exception:}\n" +"label .state.l25 -text {Reset:}\n" +"label .state.l3 -text {Function:}\n" +"label .state.l4 -text {F-start:}\n" +"label .state.l5 -text {F-end:}\n" +"label .state.l6 -text {D0:}\n" +"label .state.l7 -text {A0:}\n" +"label .state.l8 -text {D1:}\n" +"label .state.l9 -text {A1:}\n" +"label .state.l10 -text {D2:}\n" +"label .state.l11 -text {A2:}\n" +"label .state.l12 -text {D3:}\n" +"label .state.l13 -text {A3:}\n" +"label .state.l14 -text {D4:}\n" +"label .state.l15 -text {A4:}\n" +"label .state.l16 -text {D5:}\n" +"label .state.l17 -text {A5:}\n" +"label .state.l18 -text {D6:}\n" +"label .state.l19 -text {A6:}\n" +"label .state.l20 -text {D7:}\n" +"\n" +"label .state.l21 -text {PC:}\n" +"label .state.l22 -text {SR:}\n" +"label .state.l23 -text {USP:}\n" +"label .state.l24 -text {SSP:}\n" +"\n" +"label .state.halted -text {None}\n" +"label .state.battery -text {Unknown}\n" +"label .state.exception -text {0}\n" +"label .state.reset -text {No}\n" +"label .state.funcname -text {}\n" +"label .state.funcstart -text {00000000}\n" +"label .state.funcend -text {00000000}\n" +"label .state.d0 -text {00000000}\n" +"label .state.a0 -text {00000000}\n" +"label .state.d1 -text {00000000}\n" +"label .state.a1 -text {00000000}\n" +"label .state.d2 -text {00000000}\n" +"label .state.a2 -text {00000000}\n" +"label .state.d3 -text {00000000}\n" +"label .state.a3 -text {00000000}\n" +"label .state.d4 -text {00000000}\n" +"label .state.a4 -text {00000000}\n" +"label .state.d5 -text {00000000}\n" +"label .state.a5 -text {00000000}\n" +"label .state.d6 -text {00000000}\n" +"label .state.a6 -text {00000000}\n" +"label .state.d7 -text {00000000}\n" +"label .state.pc -text {00000000}\n" +"label .state.sr -text {0000}\n" +"label .state.usp -text {00000000}\n" +"label .state.ssp -text {00000000}\n" +"\n" +"grid .state.l1 -column 0 -row 0 -sticky e -columnspan 2\n" +"grid .state.halted -column 2 -row 0 -sticky w -columnspan 2\n" +"\n" +"grid .state.l1x -column 0 -row 1 -sticky e -columnspan 2\n" +"grid .state.battery -column 2 -row 1 -sticky w -columnspan 2\n" +"\n" +"grid .state.l2 -column 0 -row 2 -sticky e -columnspan 2\n" +"grid .state.exception -column 2 -row 2 -sticky w -columnspan 2\n" +"\n" +"grid .state.l25 -column 0 -row 3 -sticky e -columnspan 2\n" +"grid .state.reset -column 2 -row 3 -sticky w -columnspan 2\n" +"\n" +"grid .state.l3 -column 0 -row 4 -sticky e -columnspan 2 \n" +"grid .state.funcname -column 2 -row 4 -sticky w -columnspan 2\n" +"\n" +"grid .state.l4 -column 0 -row 5 -sticky e -columnspan 2 \n" +"grid .state.funcstart -column 2 -row 5 -sticky w -columnspan 2\n" +"\n" +"grid .state.l5 -column 0 -row 6 -sticky e -columnspan 2 \n" +"grid .state.funcend -column 2 -row 6 -sticky w -columnspan 2\n" +"\n" +"frame .state.rule1 -relief raised -bd 2 -height 4\n" +"grid .state.rule1 -column 0 -row 7 -columnspan 4 -sticky ew\n" +"\n" +"grid .state.l6 -column 0 -row 8 -sticky e \n" +"grid .state.d0 -column 1 -row 8 -sticky w\n" +"grid .state.l7 -column 2 -row 8 -sticky e \n" +"grid .state.a0 -column 3 -row 8 -sticky w\n" +"\n" +"grid .state.l8 -column 0 -row 9 -sticky e \n" +"grid .state.d1 -column 1 -row 9 -sticky w\n" +"grid .state.l9 -column 2 -row 9 -sticky e \n" +"grid .state.a1 -column 3 -row 9 -sticky w\n" +"\n" +"grid .state.l10 -column 0 -row 10 -sticky e \n" +"grid .state.d2 -column 1 -row 10 -sticky w\n" +"grid .state.l11 -column 2 -row 10 -sticky e \n" +"grid .state.a2 -column 3 -row 10 -sticky w\n" +"\n" +"grid .state.l12 -column 0 -row 11 -sticky e \n" +"grid .state.d3 -column 1 -row 11 -sticky w\n" +"grid .state.l13 -column 2 -row 11 -sticky e \n" +"grid .state.a3 -column 3 -row 11 -sticky w\n" +"\n" +"grid .state.l14 -column 0 -row 12 -sticky e \n" +"grid .state.d4 -column 1 -row 12 -sticky w\n" +"grid .state.l15 -column 2 -row 12 -sticky e \n" +"grid .state.a4 -column 3 -row 12 -sticky w\n" +"\n" +"grid .state.l16 -column 0 -row 13 -sticky e \n" +"grid .state.d5 -column 1 -row 13 -sticky w\n" +"grid .state.l17 -column 2 -row 13 -sticky e \n" +"grid .state.a5 -column 3 -row 13 -sticky w\n" +"\n" +"grid .state.l18 -column 0 -row 14 -sticky e \n" +"grid .state.d6 -column 1 -row 14 -sticky w\n" +"grid .state.l19 -column 2 -row 14 -sticky e \n" +"grid .state.a6 -column 3 -row 14 -sticky w\n" +"\n" +"grid .state.l20 -column 0 -row 15 -sticky e \n" +"grid .state.d7 -column 1 -row 15 -sticky w\n" +"\n" +"grid .state.l21 -column 0 -row 16 -sticky e \n" +"grid .state.pc -column 1 -row 16 -sticky w\n" +"grid .state.l22 -column 2 -row 16 -sticky e \n" +"grid .state.sr -column 3 -row 16 -sticky w\n" +"\n" +"grid .state.l23 -column 0 -row 17 -sticky e \n" +"grid .state.usp -column 1 -row 17 -sticky w\n" +"grid .state.l24 -column 2 -row 17 -sticky e \n" +"grid .state.ssp -column 3 -row 17 -sticky w\n" +"\n" +"label .state.bl2 -text {B1:}\n" +"label .state.bl4 -text {B2:}\n" +"label .state.bl6 -text {B3:}\n" +"label .state.bl8 -text {B4:}\n" +"label .state.bl10 -text {B5:}\n" +"label .state.bl12 -text {B6:}\n" +"\n" +"label .state.b1 -text {00000000}\n" +"label .state.b1a -text {Off}\n" +"label .state.b2 -text {00000000}\n" +"label .state.b2a -text {Off}\n" +"label .state.b3 -text {00000000}\n" +"label .state.b3a -text {Off}\n" +"label .state.b4 -text {00000000}\n" +"label .state.b4a -text {Off}\n" +"label .state.b5 -text {00000000}\n" +"label .state.b5a -text {Off}\n" +"label .state.b6 -text {00000000}\n" +"label .state.b6a -text {Off}\n" +"\n" +"frame .state.rule2 -relief raised -bd 2 -height 4\n" +"grid .state.rule2 -column 0 -row 18 -columnspan 4 -sticky ew\n" +"\n" +"grid .state.bl2 -column 0 -row 19 -sticky e\n" +"grid .state.b1 -column 1 -row 19 -sticky w\n" +"grid .state.b1a -column 2 -row 19 -sticky w \n" +"\n" +"grid .state.bl4 -column 0 -row 20 -sticky e\n" +"grid .state.b2 -column 1 -row 20 -sticky w\n" +"grid .state.b2a -column 2 -row 20 -sticky w \n" +"\n" +"grid .state.bl6 -column 0 -row 21 -sticky e\n" +"grid .state.b3 -column 1 -row 21 -sticky w\n" +"grid .state.b3a -column 2 -row 21 -sticky w \n" +"\n" +"grid .state.bl8 -column 0 -row 22 -sticky e\n" +"grid .state.b4 -column 1 -row 22 -sticky w\n" +"grid .state.b4a -column 2 -row 22 -sticky w \n" +"\n" +"grid .state.bl10 -column 0 -row 23 -sticky e\n" +"grid .state.b5 -column 1 -row 23 -sticky w\n" +"grid .state.b5a -column 2 -row 23 -sticky w \n" +"\n" +"grid .state.bl12 -column 0 -row 24 -sticky e\n" +"grid .state.b6 -column 1 -row 24 -sticky w\n" +"grid .state.b6a -column 2 -row 24 -sticky w \n" +"\n" +"### /*** Generate debugger console window ***/\n" +"\n" +"wm title . \"Palm Debugger Console\"\n" +"catch {\n" +" wm iconbitmap . {@pix/case.xbm}\n" +" wm iconbitmap .remote {@pix/case.xbm}\n" +" wm iconbitmap .console {@pix/case.xbm}\n" +" wm iconbitmap .state {@pix/case.xbm}\n" +" #wm iconmask . {@pix/casemask.xbm}\n" +"}\n" +"\n" +"frame .m -relief raised\n" +"frame .f\n" +"scrollbar .f.y -orient vertical -command {.f.t yview}\n" +"text .f.t -yscrollcommand {.f.y set} -wrap word\n" +"pack .f.t -fill both -expand yes -side left\n" +"pack .f.y -fill y -side right\n" +"pack [menubutton .m.file -text {File} -menu .m.file.m] -side left\n" +"#pack [menubutton .m.edit -text {Edit} -menu .m.edit.m] -side left\n" +"pack [menubutton .m.windows -text {Windows} -menu .m.windows.m] -side left\n" +"#pack [menubutton .m.help -text {display_help} -menu .m.help.m] -side right\n" +"\n" +"menu .m.file.m\n" +"menu .m.windows.m\n" +"#menu .m.edit.m\n" +"#menu .m.help.m\n" +"\n" +"#wm iconify .remote\n" +"#wm iconify .console\n" +"#wm iconify .state\n" +"\n" +"\n" +"proc ShowWindow {name1 name2 op} {\n" +" global show\n" +" if {$show($name2)} {\n" +" if {[wm state $name2] != \"normal\"} {\n" +" wm deiconify $name2\n" +" }\n" +" } else {\n" +" if {[wm state $name2] == \"normal\"} {\n" +" wm withdraw $name2\n" +" }\n" +" }\n" +"}\n" +"\n" +"\n" +"trace variable show w {ShowWindow}\n" +"\n" +"bind .remote { set show(.remote) 0 }\n" +"bind .console { set show(.console) 0 }\n" +"bind .state { set show(.state) 0 }\n" +"\n" +"bind .remote { set show(.remote) 1 }\n" +"bind .console { set show(.console) 1 }\n" +"bind .state { set show(.state) 1 }\n" +"\n" +"wm protocol .remote WM_DELETE_WINDOW { set show(.remote) 0 }\n" +"wm protocol .console WM_DELETE_WINDOW { set show(.console) 0 }\n" +"wm protocol .state WM_DELETE_WINDOW { set show(.state) 0 }\n" +"\n" +"set show(.remote) 0\n" +"set show(.console) 0\n" +"set show(.state) 0\n" +"\n" +"\n" +".m.file.m add command -label {Exit} -command {exit}\n" +"\n" +".m.windows.m add checkbutton -label {Remote UI} -var show(.remote)\n" +".m.windows.m add checkbutton -label {Remote Console} -var show(.console)\n" +".m.windows.m add checkbutton -label {Remote State} -var show(.state)\n" +"\n" +"pack .m -side top -fill x\n" +"pack .f -side top -fill both -expand yes\n" +"focus .f.t\n" +"\n" +"### /*** Configure console bindings ***/\n" +"\n" +"bind .console.t {tkTextInsert .console.t \"\\n\" ; break}\n" +"bind .f.t {tkTextInsert .f.t \"\\n\" ; break}\n" +"\n" +"bind .console.t {tkTextInsert .console.t \"\\n\" ; break}\n" +"bind .f.t {tkTextInsert .f.t \"\\n\" ; break}\n" +"\n" +"bind .console.t {Console [.console.t get {insert linestart} {insert lineend}] ; break}\n" +"bind .f.t {\n" +" set line [.f.t get {insert linestart} {insert lineend}]\n" +" set f [string first \">\" $line]\n" +" incr f\n" +" set line [string range $line $f end]\n" +" .f.t mark set insert {insert lineend}\n" +" .f.t insert insert \\n\n" +" Debugger $line\n" +" if {[.f.t compare insert != {insert linestart}]} {\n" +" .f.t insert insert \"\\n\"\n" +" }\n" +" .f.t insert insert \"pilot-debug> \"\n" +" .f.t see insert\n" +" break\n" +"}\n" +"\n" +"proc Console {cmd} {\n" +" .console.t mark set insert {insert lineend}\n" +" tkTextInsert .console.t \\n\n" +" transmit $cmd\n" +"}\n" +"\n" +"proc Debugger {cmd} {\n" +" #.f.t mark set insert {insert lineend}\n" +" #tkTextInsert .f.t \\n\n" +" if {[string length [string trim $cmd]]!=0} {\n" +" set code [catch {eval $cmd} message]\n" +" if {[string length $message]} {\n" +" set message [string trimright $message]\n" +" Say \"$message\\n\"\n" +" #if {[.f.t compare insert != {insert linestart}]} {\n" +" # Say \"\\\n\"\n" +" #}\n" +" }\n" +" }\n" +"}\n" +"\n" +"proc Say {text} {\n" +" global Interactive\n" +" if {$Interactive} {\n" +" .f.t insert insert \"$text\"\n" +" .f.t see insert\n" +" } else {\n" +" upvar result result\n" +" set result \"$result$text\"\n" +" }\n" +"}\n" +"\n", NULL); puts(interp->result); created = 1; @@ -2080,25 +2080,24 @@ static int proc_help(ClientData clientData, Tcl_Interp *interp, int argc, char *argv[]) { - Say("\ ---- display_help ---\n\ -g [] Go: Resume execution (if address is supplied, - will start at that point)\n\ -t [] Till: Resume execution until addr1 (if addr2 is - supplied, will start at that point)\n\ -coldboot Simulate the hard-reset (reset pin + power - button press, i.e. lose all data)\n\ -warmboot Simulate a soft-reset (reset pin press)\n\ -pushbutton