@@ 1,59 1,11 @@
( Left )
-|00 @System &vector $2 &wst $1 &rst $1 &pad $4 &r $2 &g $2 &b $2 &debug $1 &halt $1
-|10 @Console &vector $2 &read $1 &pad $5 &write $1 &error $1
-|20 @Screen &vector $2 &width $2 &height $2 &auto $1 &pad $1 &x $2 &y $2 &addr $2 &pixel $1 &sprite $1
-|80 @Controller &vector $2 &button $1 &key $1
-|90 @Mouse &vector $2 &x $2 &y $2 &state $1 &pad $3 &scrollx $2 &scrolly $2
-|a0 @File &vector $2 &success $2 &stat $2 &delete $1 &append $1 &name $2 &length $2 &read $2 &write $2
-
-( generics )
-
-%+ { ADD } %- { SUB } %* { MUL } %/ { DIV }
-%< { LTH } %> { GTH } %! { NEQ }
-%-- { SUB2 } %** { MUL2 } %// { DIV2 }
-
-%2* { #10 SFT } %2/ { #01 SFT } %2** { #10 SFT2 } %2// { #01 SFT2 }
-%4* { #20 SFT } %4/ { #02 SFT } %4** { #20 SFT2 } %4// { #02 SFT2 }
-%8* { #30 SFT } %8/ { #03 SFT } %8** { #30 SFT2 } %8// { #03 SFT2 }
-%10* { #40 SFT } %10/ { #04 SFT } %10** { #40 SFT2 } %10// { #04 SFT2 }
-%20* { #50 SFT } %20/ { #05 SFT } %20** { #50 SFT2 } %20// { #05 SFT2 }
-
-%IS-VALID { DUP #1f > SWP #7f < AND }
-%IS-UC { DUP #40 > SWP #5b < AND }
-%IS-LC { DUP #60 > SWP #7b < AND }
-%IS-NUM { DUP #2f > SWP #3a < AND }
-%IS-PUNC { DUP #2b > SWP #30 < AND }
-%IS-SPACER { #21 < } ( char -- flag )
-%IS-LABEL { STHk #40 EQU STHr #26 EQU ORA } ( char -- flag )
-%NOT-LINEBREAK { STHk #0d NEQ STHr #0a NEQ AND } ( char -- flag )
-%STANDARD-LB { DUP #0d EQU #03 MUL - }
-
-%MIN2 { GTH2k JMP SWP2 POP2 }
-%MAX2 { LTH2k JMP SWP2 POP2 }
-
-%RELEASE-MOUSE { #0096 DEO }
-
-%AUTO-NONE { #00 .Screen/auto DEO }
-%AUTO-X { #01 .Screen/auto DEO }
-%AUTO-Y { #02 .Screen/auto DEO }
-%AUTO-XY { #03 .Screen/auto DEO }
-%AUTO-ADDR { #04 .Screen/auto DEO }
-%AUTO-XADDR { #05 .Screen/auto DEO }
-%AUTO-YADDR { #06 .Screen/auto DEO }
-%AUTO-XYADDR { #07 .Screen/auto DEO }
-
-%EOF { ;text .textarea/length LDZ2 ADD2 }
-%SPACE-AVAILABLE { #fff0 .textarea/length LDZ2 ;text ADD2 -- }
-%SELECTION-LENGTH { .selection/to LDZ2 .selection/from LDZ2 -- }
-%RESET-SELECTION { .selection/from LDZ2 INC2k ;set-selection JSR2 POP }
-
-( fast access for drawing )
-
-%SCROLLBAR-X0 { #0000 } %SCROLLBAR-Y0 { #0018 } %SCROLLBAR-X1 { #0008 }
-%TEXTAREA-X0 { #0010 } %TEXTAREA-Y0 { #0020 }
-
-( variables )
+|00 @System &vector $2 &wst $1 &rst $1 &pad $4 &r $2 &g $2 &b $2 &debug $1 &halt $1
+|10 @Console &vector $2 &read $1 &pad $5 &write $1 &error $1
+|20 @Screen &vector $2 &width $2 &height $2 &auto $1 &pad $1 &x $2 &y $2 &addr $2 &pixel $1 &sprite $1
+|80 @Controller &vector $2 &button $1 &key $1
+|90 @Mouse &vector $2 &x $2 &y $2 &state $1 &pad $3 &scrollx $2 &scrolly $2
+|a0 @File &vector $2 &success $2 &stat $2 &delete $1 &append $1 &name $2 &length $2 &read $2 &write $2
|0000
@@ 105,19 57,19 @@
#15 .Screen/auto DEO
( place textarea )
- TEXTAREA-X0 .textarea/x0 STZ2
- TEXTAREA-Y0 .textarea/y0 STZ2
+ ( TEXTAREA-X0 ) #0010 .textarea/x0 STZ2
+ ( TEXTAREA-Y0 ) #0020 .textarea/y0 STZ2
.Screen/width DEI2 .textarea/x1 STZ2
.Screen/height DEI2 .textarea/y1 STZ2
- .textarea/y1 LDZ2 TEXTAREA-Y0 -- 10// .textarea/lines STZ2
+ .textarea/y1 LDZ2 ( TEXTAREA-Y0 ) #0020 SUB2 #04 SFT2 .textarea/lines STZ2
( place scrollbar )
- SCROLLBAR-X0 .scrollbar/x0 STZ2
- SCROLLBAR-X1 .scrollbar/x1 STZ2
- SCROLLBAR-Y0 .scrollbar/y0 STZ2
- .Screen/height DEI2 #0008 -- .scrollbar/y1 STZ2
- .scrollbar/y1 LDZ2 SCROLLBAR-Y0 -- .scrollbar/height STZ2
+ ( SCROLLBAR-X0 ) #0000 .scrollbar/x0 STZ2
+ ( SCROLLBAR-X1 ) #0008 .scrollbar/x1 STZ2
+ ( SCROLLBAR-Y0 ) #0018 .scrollbar/y0 STZ2
+ .Screen/height DEI2 #0008 SUB2 .scrollbar/y1 STZ2
+ .scrollbar/y1 LDZ2 ( SCROLLBAR-Y0 ) #0018 SUB2 .scrollbar/height STZ2
( place widget )
- .Screen/width DEI2 #0028 -- .widget/x0 STZ2
+ .Screen/width DEI2 #0028 SUB2 .widget/x0 STZ2
#0004 .widget/y0 STZ2
( theme support )
@@ 141,7 93,7 @@ BRK
;on-frame-trap .Screen/vector DEO2
;on-button-trap .Controller/vector DEO2
;on-mouse-trap .Mouse/vector DEO2
- RELEASE-MOUSE
+ #00 .Mouse/state DEO
( clear cursor )
.cursor/x LDZ2 .Screen/x DEO2
@@ 155,7 107,7 @@ JMP2r
;on-frame .Screen/vector DEO2
;on-button .Controller/vector DEO2
;on-mouse .Mouse/vector DEO2
- RELEASE-MOUSE
+ #00 .Mouse/state DEO
#01 ;draw-filepath JSR2
@@ 171,7 123,7 @@ JMP2r
&no-start
( end )
.Console/read DEI
- DUP IS-VALID ,&no-end JCN
+ DUP #1f GTH OVR #7f LTH AND ,&no-end JCN
#00 ,&listening STR
&no-end
( capture )
@@ 183,8 135,8 @@ BRK
@on-button-trap ( -> )
#00 ;draw-filepath JSR2
- .Controller/key DEI STANDARD-LB ,capture-trap JSR
- #01 ;draw-filepath JSR2
+ .Controller/key DEI DUP #0d EQU #03 MUL SUB ,capture-trap JSR
+ #06 ;draw-filepath JSR2
BRK
@@ 214,7 166,7 @@ BRK
.state/timer LDZ
DUP #07 AND ,&no-blink JCN
- DUP 8/ #01 AND 8* INC ;draw-filepath JSR2
+ DUP #03 SFT #01 AND #30 SFT INC ;draw-filepath JSR2
&no-blink
INC .state/timer STZ
@@ 268,19 220,19 @@ BRK
DUP #02 AND ;&alt JCN2
( default )
#04 SFT
- [ #01 ] NEQk NIP ,&no-u JCN ROT ROT #0002 -- ( LB ) #0a ;find-prev-char JSR2 INC2 JMP2r &no-u
+ [ #01 ] NEQk NIP ,&no-u JCN ROT ROT #0002 SUB2 ( LB ) #0a ;find-prev-char JSR2 INC2 JMP2r &no-u
[ #02 ] NEQk NIP ,&no-d JCN ROT ROT ( LB ) #0a ;find-next-char JSR2 INC2 JMP2r &no-d
- [ #04 ] NEQk NIP ,&no-l JCN ROT ROT #0001 -- JMP2r &no-l
+ [ #04 ] NEQk NIP ,&no-l JCN ROT ROT #0001 SUB2 JMP2r &no-l
[ #08 ] NEQk NIP ,&no-r JCN ROT ROT INC2 JMP2r &no-r
&ctrl
#04 SFT
- [ #01 ] NEQk NIP ,&no-cu JCN ROT ROT #0001 -- ( @ ) #40 ;find-prev-char JSR2 JMP2r &no-cu
+ [ #01 ] NEQk NIP ,&no-cu JCN ROT ROT #0001 SUB2 ( @ ) #40 ;find-prev-char JSR2 JMP2r &no-cu
[ #02 ] NEQk NIP ,&no-cd JCN ROT ROT INC2 ( @ ) #40 ;find-next-char JSR2 JMP2r &no-cd
- [ #04 ] NEQk NIP ,&no-cl JCN ROT ROT #0001 -- ( LB ) #0a ;find-prev-char JSR2 INC2 JMP2r &no-cl
+ [ #04 ] NEQk NIP ,&no-cl JCN ROT ROT #0001 SUB2 ( LB ) #0a ;find-prev-char JSR2 INC2 JMP2r &no-cl
[ #08 ] NEQk NIP ,&no-cr JCN ROT ROT ( LB ) #0a ;find-next-char JSR2 JMP2r &no-cr
&alt
#04 SFT
- [ #04 ] NEQk NIP ,&no-al JCN ROT ROT #0001 -- ( LB ) ;find-prev-special JSR2 JMP2r &no-al
+ [ #04 ] NEQk NIP ,&no-al JCN ROT ROT #0001 SUB2 ( LB ) ;find-prev-special JSR2 JMP2r &no-al
[ #08 ] NEQk NIP ,&no-ar JCN ROT ROT INC2 ( LB ) ;find-next-special JSR2 INC2 JMP2r &no-ar
ROT ROT
@@ 327,7 279,7 @@ BRK
[ #08 ] NEQk NIP ,&no-erase JCN POP ;erase JSR2 BRK &no-erase
[ #7f ] NEQk NIP ,&no-delete JCN POP ;delete JSR2 BRK &no-delete
[ #1b ] NEQk NIP ,&no-escape JCN POP ;reset-selection JSR2 BRK &no-escape
- STANDARD-LB ;insert JSR2
+ DUP #0d EQU #03 MUL SUB ;insert JSR2
BRK
@@ 348,7 300,7 @@ BRK
( touch )
.Mouse/y DEI2 #0018 LTH2 ,&skip JCN
.Mouse/x DEI2 #0010 GTH2 ;on-mouse-textarea JCN2
- .Mouse/x DEI2 SCROLLBAR-X1 LTH2 ;on-mouse-scrollbar JCN2
+ .Mouse/x DEI2 ( SCROLLBAR-X1 ) #0008 LTH2 ;on-mouse-scrollbar JCN2
&skip
( release-record )
#00 .Mouse/state DEO
@@ 370,7 322,7 @@ BRK
&no-shift
[ #02 ] NEQk NIP ,&no-alt JCN
POP ;select-word JSR2
- RELEASE-MOUSE ,&no-down JMP
+ #00 .Mouse/state DEO ,&no-down JMP
&no-alt
POP
;select-start JSR2
@@ 378,12 330,12 @@ BRK
( mouse2 )
DUP2 #0200 NEQ2 ,&no-down2 JCN
,touch-to-addr JSR ;select-word JSR2
- RELEASE-MOUSE
+ #00 .Mouse/state DEO
&no-down2
( mouse3 )
DUP2 #0400 NEQ2 ,&no-down3 JCN
;capture-leap JSR2
- RELEASE-MOUSE
+ #00 .Mouse/state DEO
&no-down3
POP2
STHr ,&last STR
@@ 393,7 345,7 @@ BRK
@touch-to-addr ( -- addr* )
( goto y )
- ( b ) .Mouse/y DEI2 TEXTAREA-Y0 -- 10// NIP STH
+ ( b ) .Mouse/y DEI2 ( TEXTAREA-Y0 ) #0020 SUB2 #04 SFT2 NIP STH
( a ) LITr 00
.scroll/addr LDZ2
&ver
@@ 403,7 355,7 @@ BRK
&ver-end
POP2r
( goto x )
- ( b ) .Mouse/x DEI2 .scroll/x LDZ2 ADD2 TEXTAREA-X0 -- STH2
+ ( b ) .Mouse/x DEI2 .scroll/x LDZ2 ADD2 ( TEXTAREA-X0 ) #0010 SUB2 STH2
( a ) LIT2r 0000
&hor
LDAk #0a EQU ,&hor-end JCN
@@ 424,7 376,7 @@ JMP2r
OVR2 .scroll/drag STZ2
&no-down
DUP2 #0101 NEQ2 ,&no-drag JCN
- OVR2 .scroll/drag LDZ2 -- .scroll/ratio LDZ2 ** ,scroll-by JSR
+ OVR2 .scroll/drag LDZ2 SUB2 .scroll/ratio LDZ2 MUL2 ,scroll-by JSR
OVR2 .scroll/drag STZ2
&no-drag
( mouse3 )
@@ 432,7 384,7 @@ JMP2r
OVR2 .scroll/drag STZ2
&no-down2
DUP2 #0404 NEQ2 ,&no-drag2 JCN
- OVR2 .scroll/drag LDZ2 -- ,scroll-by JSR
+ OVR2 .scroll/drag LDZ2 SUB2 ,scroll-by JSR
OVR2 .scroll/drag STZ2
&no-drag2
POP2
@@ 440,7 392,7 @@ JMP2r
.scrollbar/y1 LDZ2 LTH2 ,&no-toggle JCN
.Mouse/state DEI #00 EQU ,&no-toggle JCN
;toggle-direction JSR2
- RELEASE-MOUSE
+ #00 .Mouse/state DEO
&no-toggle
STHr ,&last STR
@@ 454,7 406,7 @@ BRK
DUP2 #8000 GTH2 ,&upward JCN
.scroll/y LDZ2 ADD2 ,scroll-to JSR JMP2r
&upward
- DUP2 #0000 SWP2 -- .scroll/y LDZ2 GTH2 ,&top JCN
+ DUP2 #0000 SWP2 SUB2 .scroll/y LDZ2 GTH2 ,&top JCN
.scroll/y LDZ2 ADD2 ,scroll-to JSR JMP2r
&top
&end
@@ 491,7 443,7 @@ JMP2r
@capture-leap ( -- )
;leap/buf #0010 ;mclr JSR2
- .selection/from LDZ2 ;leap/buf [ SELECTION-LENGTH #0010 MAX2 ] ;mcpy JSR2
+ .selection/from LDZ2 ;leap/buf [ .selection/to LDZ2 .selection/from LDZ2 SUB2 #0010 LTH2k JMP SWP2 POP2 ] ;mcpy JSR2
@leap-jump ( -- )
@@ 500,7 452,7 @@ JMP2r
( direction )
.leap/direction LDZ ,&look-up JCN
.selection/from LDZ2 ;leap/buf ;find-next-str JSR2
- ( no result ) DUP2 EOF EQU2 ,&end JCN
+ ( no result ) DUP2 ( EOF ) ;text .textarea/length LDZ2 ADD2 EQU2 ,&end JCN
DUP2 DUP2 [ ;leap/buf ;slen JSR2 ] ADD2 ;select-range JSR2
,&end JMP
&look-up
@@ 529,7 481,7 @@ JMP2r
@set-scroll-y ( line* -- )
( reset ratio )
- #0001 ;get-lines JSR2 .scrollbar/height LDZ2 // NIP #40 SFT SFT2 .scroll/ratio STZ2
+ #0001 ;get-lines JSR2 .scrollbar/height LDZ2 DIV2 NIP #40 SFT SFT2 .scroll/ratio STZ2
DUP2 .scroll/y LDZ2 EQU2 ,&skip JCN
DUP2 .scroll/y STZ2
@@ 556,7 508,7 @@ JMP2r
@addr-to-x ( addr* -- x* )
LIT2r 0000
- DUP2 #0001 -- #0a ;find-prev-char JSR2 INC2
+ DUP2 #0001 SUB2 #0a ;find-prev-char JSR2 INC2
&loop
EQU2k ,&end JCN
DUP2 ;scan-font JSR2 LDA #00 SWP .textarea/font LDZ2 ADD2 LDA #00 SWP STH2 ADD2r
@@ 583,9 535,9 @@ JMP2r
;clear-textarea JSR2
( scroll-x )
- .selection/to LDZ2 #0001 -- ,addr-to-x JSR
- DUP2 .textarea/x1 LDZ2 .scroll/x LDZ2 ADD2 #0020 -- LTH2 ,&no-right JCN
- DUP2 .textarea/x1 LDZ2 #0020 -- -- ;set-scroll-x JSR2
+ .selection/to LDZ2 #0001 SUB2 ,addr-to-x JSR
+ DUP2 .textarea/x1 LDZ2 .scroll/x LDZ2 ADD2 #0020 SUB2 LTH2 ,&no-right JCN
+ DUP2 .textarea/x1 LDZ2 #0020 SUB2 SUB2 ;set-scroll-x JSR2
&no-right
DUP2 .scroll/x LDZ2 GTH2 ,&no-left JCN
DUP2 ;set-scroll-x JSR2
@@ 594,7 546,7 @@ JMP2r
( scroll-y )
.selection/to LDZ2 ,addr-to-line JSR
DUP2 .scroll/y LDZ2 .textarea/lines LDZ2 ADD2 LTH2 ,&no-below JCN
- DUP2 .scroll/y LDZ2 .textarea/lines LDZ2 ADD2 --
+ DUP2 .scroll/y LDZ2 .textarea/lines LDZ2 ADD2 SUB2
.scroll/y LDZ2 INC2 ADD2 ;set-scroll-y JSR2
&no-below
DUP2 .scroll/y LDZ2 GTH2 ,&no-above JCN
@@ 648,12 600,12 @@ JMP2r
( from )
SWP2
- ;text MIN2 EOF STH2k MAX2
+ ;text GTH2k JMP SWP2 POP2 ( EOF ) ;text .textarea/length LDZ2 ADD2 STH2k LTH2k JMP SWP2 POP2
DUP2 .selection/from LDZ2 NEQ2 ,&from STR
.selection/from STZ2
( to )
- ;text MIN2 STH2r MAX2
- .selection/from LDZ2 INC2 MIN2
+ ;text GTH2k JMP SWP2 POP2 STH2r LTH2k JMP SWP2 POP2
+ .selection/from LDZ2 INC2 GTH2k JMP SWP2 POP2
DUP2 .selection/to LDZ2 NEQ2 ,&to STR
.selection/to STZ2
( changed )
@@ 663,25 615,25 @@ JMP2r
@erase-selection ( -- )
- SELECTION-LENGTH .selection/from LDZ2 SWP2 STH2k ADD2 EOF STH2r ;shiftl JSR2
+ .selection/to LDZ2 .selection/from LDZ2 SUB2 .selection/from LDZ2 SWP2 STH2k ADD2 ( EOF ) ;text .textarea/length LDZ2 ADD2 STH2r ;shiftl JSR2
JMP2r
@insert ( char -- )
- SPACE-AVAILABLE #0000 GTH2 ,&valid JCN
+ ( space ) #fff0 .textarea/length LDZ2 ;text ADD2 SUB2 #0000 GTH2 ,&valid JCN
POP JMP2r
&valid
;clear-textarea JSR2
- SELECTION-LENGTH #0001 EQU2 ,&no-block JCN
+ .selection/to LDZ2 .selection/from LDZ2 SUB2 #0001 EQU2 ,&no-block JCN
;erase-selection JSR2
- RESET-SELECTION
+ .selection/from LDZ2 INC2k ;set-selection JSR2 POP
&no-block
.selection/from LDZ2
- DUP2 EOF #0001 ;shiftr JSR2
+ DUP2 ( EOF ) ;text .textarea/length LDZ2 ADD2 #0001 ;shiftr JSR2
STH2k STA
STH2r INC2 ;select-start JSR2
;draw-widget/memory JSR2
@@ 694,32 646,32 @@ JMP2r
;clear-textarea JSR2
- SELECTION-LENGTH #0001 EQU2 ,&no-block JCN
+ .selection/to LDZ2 .selection/from LDZ2 SUB2 #0001 EQU2 ,&no-block JCN
;erase-selection JSR2
;reset-selection JSR2
JMP2r
&no-block
.selection/from LDZ2
- DUP2 EOF #0001 ;shiftl JSR2
- #0001 -- ;select-start JSR2
+ DUP2 ( EOF ) ;text .textarea/length LDZ2 ADD2 #0001 ;shiftl JSR2
+ #0001 SUB2 ;select-start JSR2
;draw-widget/memory JSR2
JMP2r
@delete ( -- )
- EOF .selection/from LDZ2 -- #0000 NEQ2 JMP JMP2r
+ ( EOF ) ;text .textarea/length LDZ2 ADD2 .selection/from LDZ2 SUB2 #0000 NEQ2 JMP JMP2r
;clear-textarea JSR2
- SELECTION-LENGTH #0001 EQU2 ,&no-block JCN
+ .selection/to LDZ2 .selection/from LDZ2 SUB2 #0001 EQU2 ,&no-block JCN
;erase-selection JSR2
;reset-selection JSR2
JMP2r
&no-block
- .selection/from LDZ2 INC2 EOF #0001 ;shiftl JSR2
+ .selection/from LDZ2 INC2 ( EOF ) ;text .textarea/length LDZ2 ADD2 #0001 ;shiftl JSR2
;draw-textarea JSR2
;draw-widget/memory JSR2
@@ 730,11 682,11 @@ JMP2r
@find-prev-str ( from* target* -- )
STH2
- #0001 --
+ #0001 SUB2
&while
DUP2 ;text EQU2 ,&end JCN
DUP2 STH2kr SWP2 ;scmp-seg JSR2 ,&end JCN
- #0001 -- LDAk ,&while JCN
+ #0001 SUB2 LDAk ,&while JCN
INC2
&end
POP2r
@@ 759,7 711,7 @@ JMP2r
&while
DUP2 ;text EQU2 ,&end JCN
LDAk STHkr EQU ,&end JCN
- #0001 -- LDAk ,&while JCN
+ #0001 SUB2 LDAk ,&while JCN
INC2
&end
POPr
@@ 781,13 733,13 @@ JMP2r
&while
DUP2 ;text EQU2 ,&end JCN
- LDAk IS-UC ,&valid JCN
- LDAk IS-LC ,&valid JCN
- LDAk IS-NUM ,&valid JCN
- LDAk IS-PUNC ,&valid JCN
+ LDAk DUP #40 GTH SWP #5b LTH AND ,&valid JCN
+ LDAk DUP #60 GTH SWP #7b LTH AND ,&valid JCN
+ LDAk DUP #2f GTH SWP #3a LTH AND ,&valid JCN
+ LDAk DUP #2b GTH SWP #30 LTH AND ,&valid JCN
JMP2r
&valid
- #0001 -- LDAk ,&while JCN
+ #0001 SUB2 LDAk ,&while JCN
&end
JMP2r
@@ 795,10 747,10 @@ JMP2r
@find-next-special ( addr* -- addr* )
&while
- LDAk IS-UC ,&valid JCN
- LDAk IS-LC ,&valid JCN
- LDAk IS-NUM ,&valid JCN
- LDAk IS-PUNC ,&valid JCN
+ LDAk DUP #40 GTH SWP #5b LTH AND ,&valid JCN
+ LDAk DUP #60 GTH SWP #7b LTH AND ,&valid JCN
+ LDAk DUP #2f GTH SWP #3a LTH AND ,&valid JCN
+ LDAk DUP #2b GTH SWP #30 LTH AND ,&valid JCN
JMP2r
&valid
INC2 LDAk ,&while JCN
@@ 810,11 762,11 @@ JMP2r
@shiftr ( from* to* len* -- )
STH2
- SWP2 #0001 -- SWP2
+ SWP2 #0001 SUB2 SWP2
&loop
DUP2 LDAk
ROT ROT STH2kr ADD2 STA
- #0001 -- LTH2k ,&loop JCN
+ #0001 SUB2 LTH2k ,&loop JCN
POP2 POP2
.textarea/length LDZ2k STH2r ADD2 ROT STZ2
#02 ;draw-state JSR2
@@ 827,10 779,10 @@ JMP2r
INC2 SWP2
&loop
DUP2 LDAk
- ROT ROT STH2kr -- STA
+ ROT ROT STH2kr SUB2 STA
INC2 GTH2k ,&loop JCN
POP2 POP2
- .textarea/length LDZ2k STH2r -- ROT STZ2
+ .textarea/length LDZ2k STH2r SUB2 ROT STZ2
#02 ;draw-state JSR2
JMP2r
@@ 865,9 817,9 @@ JMP2r
@draw-widget ( -- )
&scroll .scroll/y LDZ2 #01 ,draw-short JSR JMP2r
- &selection .selection/from LDZ2 ;text -- #01 ,draw-short JSR JMP2r
- &size SELECTION-LENGTH #09 ,draw-short JSR JMP2r
- &memory SPACE-AVAILABLE #01 ,draw-short JSR JMP2r
+ &selection .selection/from LDZ2 ;text SUB2 #01 ,draw-short JSR JMP2r
+ &size .selection/to LDZ2 .selection/from LDZ2 SUB2 #09 ,draw-short JSR JMP2r
+ &memory ( space ) #fff0 .textarea/length LDZ2 ;text ADD2 SUB2 #01 ,draw-short JSR JMP2r
JMP2r
@@ 889,8 841,8 @@ JMP2r
@init-textarea ( -- )
- TEXTAREA-X0 .scroll/x LDZ2 -- .Screen/x DEO2
- TEXTAREA-Y0 .Screen/y DEO2
+ ( TEXTAREA-X0 ) #0010 .scroll/x LDZ2 SUB2 .Screen/x DEO2
+ ( TEXTAREA-Y0 ) #0020 .Screen/y DEO2
#15 .Screen/auto DEO
#00 .textarea/commented STZ
@@ 906,7 858,7 @@ JMP2r
LDAk #00 ;draw-ufx JSR2
( linebreak )
LDAk #0a NEQ ,&no-lb JCN
- .Screen/y DEI2 TEXTAREA-X0 ADD2 .textarea/y1 LDZ2 GTH2 ,&end JCN
+ .Screen/y DEI2 ( TEXTAREA-X0 ) #0010 ADD2 .textarea/y1 LDZ2 GTH2 ,&end JCN
&no-lb
INC2 LDAk ,&while JCN
&end
@@ 925,7 877,7 @@ JMP2r
STH2k LDAk .textarea/color LDZ #09 STH2r ,is-selected JSR JMP SWP POP ;draw-ufx JSR2
( linebreak )
LDAk #0a NEQ ,&no-lb JCN
- .Screen/y DEI2 TEXTAREA-X0 ADD2 .textarea/y1 LDZ2 GTH2 ,&end JCN
+ .Screen/y DEI2 ( TEXTAREA-X0 ) #0010 ADD2 .textarea/y1 LDZ2 GTH2 ,&end JCN
&no-lb
INC2 LDAk ,&while JCN
&end
@@ 937,7 889,7 @@ JMP2r
@is-selected ( addr* -- bool )
DUP2 .selection/from LDZ2 LTH2 ,&unselected JCN
- DUP2 .selection/to LDZ2 #0001 -- GTH2 ,&unselected JCN
+ DUP2 .selection/to LDZ2 #0001 SUB2 GTH2 ,&unselected JCN
POP2 #00 JMP2r
&unselected
POP2 #01
@@ 948,8 900,8 @@ JMP2r
.textarea/highlight LDZ ,&default JCN
.textarea/commented LDZ ,&comment JCN
- DUP2 #0001 -- LDA IS-SPACER JMP JMP2r
- LDAk IS-LABEL ,&label JCN
+ DUP2 #0001 SUB2 LDA #21 LTH JMP JMP2r
+ LDAk STHk #40 EQU STHr #26 EQU ORA ,&label JCN
LDAk LIT '~ EQU ,&include JCN
&default #01 .textarea/color STZ JMP2r
&label #02 .textarea/color STZ JMP2r
@@ 966,15 918,15 @@ JMP2r
#01 .textarea/commented STZ
,&default JMP
&no-paren-open
- DUP2 #0001 -- LDA #29 NEQ ,&no-paren-close JCN
+ DUP2 #0001 SUB2 LDA #29 NEQ ,&no-paren-close JCN
#00 .textarea/commented STZ
,&resume JMP
&no-paren-close
- DUP2 #0001 -- LDA IS-SPACER JMP JMP2r
+ DUP2 #0001 SUB2 LDA #21 LTH JMP JMP2r
.textarea/commented LDZ ,&end JCN
&resume
- LDAk #40 < ,&bold JCN
- LDAk IS-LABEL ,&bold JCN
+ LDAk #40 LTH ,&bold JCN
+ LDAk STHk #40 EQU STHr #26 EQU ORA ,&bold JCN
&default
;font-data-regular .textarea/font STZ2 JMP2r
&bold
@@ 999,12 951,12 @@ JMP2r
@draw-ufx ( char color -- )
,&color STR
- DUP #7f > ,draw-special JCN
- DUP #20 < ,draw-special JCN
+ DUP #7f GTH ,draw-special JCN
+ DUP #20 LTH ,draw-special JCN
#00 SWP STH2
.textarea/font LDZ2
( width ) DUP2 STH2kr ADD2 LDA
- ( addr* ) ROT ROT STH2r #0020 -- 20** ADD2 #0080 ADD2
+ ( addr* ) ROT ROT STH2r #0020 SUB2 #50 SFT2 ADD2 #0080 ADD2
&seg ( width addr* -- )
@@ 1024,7 976,7 @@ JMP2r
[ #0a ] NEQk NIP ,&no-linebreak JCN
POP #08 ;linebreak-icn ,draw-ufx/seg JSR
.Screen/y DEI2 #0010 ADD2 .Screen/y DEO2
- TEXTAREA-X0 .scroll/x LDZ2 -- .Screen/x DEO2
+ ( TEXTAREA-X0 ) #0010 .scroll/x LDZ2 SUB2 .Screen/x DEO2
JMP2r
&no-linebreak
POP #08 ;unknown-icn ,draw-ufx/seg JSR
@@ 1033,28 985,28 @@ JMP2r
@draw-scrollbar ( -- )
- SCROLLBAR-X0 .Screen/x DEO2
- SCROLLBAR-Y0 .Screen/y DEO2
+ ( SCROLLBAR-X0 ) #0000 .Screen/x DEO2
+ ( SCROLLBAR-Y0 ) #0018 .Screen/y DEO2
- AUTO-Y
+ #02 .Screen/auto DEO
( bg )
;scrollbar-icns/bg .Screen/addr DEO2
- .scrollbar/height LDZ2 8// NIP #00
+ .scrollbar/height LDZ2 #03 SFT2 NIP #00
&loop
#04 .Screen/sprite DEO
INC GTHk ,&loop JCN
POP2
( fg )
;scrollbar-icns/fg .Screen/addr DEO2
- SCROLLBAR-Y0 STH2k [ .scroll/y LDZ2 .scroll/ratio LDZ2 STH2k // ] ADD2 .Screen/y DEO2
- .scrollbar/y1 LDZ2 [ ;get-lines JSR2 STH2r // ] -- STH2r -- 8// NIP INC #00
+ ( SCROLLBAR-Y0 ) #0018 STH2k [ .scroll/y LDZ2 .scroll/ratio LDZ2 STH2k DIV2 ] ADD2 .Screen/y DEO2
+ .scrollbar/y1 LDZ2 [ ;get-lines JSR2 STH2r DIV2 ] SUB2 STH2r SUB2 #03 SFT2 NIP INC #00
&stretch
#05 .Screen/sprite DEO
INC GTHk ,&stretch JCN
POP2
( direction )
.scrollbar/y1 LDZ2 .Screen/y DEO2
- ;scrollbar-icns/dd #00 .leap/direction LDZ 8** ADD2 .Screen/addr DEO2
+ ;scrollbar-icns/dd #00 .leap/direction LDZ #30 SFT2 ADD2 .Screen/addr DEO2
#01 .Screen/sprite DEO
#15 .Screen/auto DEO
@@ 1096,7 1048,7 @@ JMP2r
#00 ;draw-filepath JSR2
;clear-textarea JSR2
( clear )
- ;text #fff8 OVR2 -- ;mclr JSR2
+ ;text #fff8 OVR2 SUB2 ;mclr JSR2
#0000 .textarea/length STZ2
( rename to untitled.txt )
;untitled-txt ;filepath ;scpy JSR2
@@ 1116,14 1068,14 @@ JMP2r
#00 ;draw-filepath JSR2
;filepath #0040 ;mclr JSR2
- .selection/from LDZ2 ;filepath [ SELECTION-LENGTH #0040 MAX2 ] ;mcpy JSR2
+ .selection/from LDZ2 ;filepath [ .selection/to LDZ2 .selection/from LDZ2 SUB2 #0040 LTH2k JMP SWP2 POP2 ] ;mcpy JSR2
@load-file ( -- )
;clear-textarea JSR2
- ;text #ffff OVR2 -- ;mclr JSR2
+ ;text #ffff OVR2 SUB2 ;mclr JSR2
;filepath .File/name DEO2
- #fff0 ;text -- .File/length DEO2
+ #fff0 ;text SUB2 .File/length DEO2
;text .File/read DEO2
.File/success DEI2 .textarea/length STZ2
;reset-selection JSR2
@@ 1157,7 1109,7 @@ JMP2r
@copy-snarf ( -- )
- SELECTION-LENGTH STH2k #0001 GTH2 ,&continue JCN
+ .selection/to LDZ2 .selection/from LDZ2 SUB2 STH2k #0001 GTH2 ,&continue JCN
POP2r JMP2r
&continue
@@ 1171,12 1123,12 @@ JMP2r
;clear-textarea JSR2
;erase-selection JSR2
- ( push right ) .selection/from LDZ2 EOF SPACE-AVAILABLE STH2k ;shiftr JSR2
+ ( push right ) .selection/from LDZ2 ( EOF ) ;text .textarea/length LDZ2 ADD2 ( space ) #fff0 .textarea/length LDZ2 ;text ADD2 SUB2 STH2k ;shiftr JSR2
;snarf-txt .File/name DEO2
STH2kr .File/length DEO2
.selection/from LDZ2 .File/read DEO2
- ( pull left ) .selection/from LDZ2 STH2kr ADD2 EOF STH2r .File/success DEI2 -- ;shiftl JSR2
- ( cap ) #00 EOF STA
+ ( pull left ) .selection/from LDZ2 STH2kr ADD2 ( EOF ) ;text .textarea/length LDZ2 ADD2 STH2r .File/success DEI2 SUB2 ;shiftl JSR2
+ ( cap ) #00 ( EOF ) ;text .textarea/length LDZ2 ADD2 STA
.selection/from LDZ2 .File/success DEI2 ADD2 ;select-start JSR2
JMP2r
@@ 1188,7 1140,7 @@ JMP2r
@slen ( str* -- len* )
- DUP2 ,scap JSR SWP2 --
+ DUP2 ,scap JSR SWP2 SUB2
JMP2r
@@ 1209,7 1161,7 @@ JMP2r
LDAk ,&no-null JCN
POP2 JMP2r &no-null
- #00 ROT ROT ,scap JSR #0001 -- STA
+ #00 ROT ROT ,scap JSR #0001 SUB2 STA
JMP2r
@@ 1267,7 1219,7 @@ JMP2r
@line-hor ( x0* x1* y* -- )
- AUTO-X
+ #01 .Screen/auto DEO
.Screen/y DEO2 SWP2
&loop
DUP #01 AND .Screen/pixel DEO
@@ 1299,12 1251,633 @@ JMP2r
@print ( short* -- )
- &short ( short* -- ) SWP ,&byte JSR
+ SWP ,&byte JSR
&byte ( byte -- ) DUP #04 SFT ,&char JSR
&char ( char -- ) #0f AND DUP #09 GTH #27 MUL ADD #30 ADD #18 DEO
JMP2r
-~src/assets.tal
+@cursor-icn
+ 80c0 e0f0 f8e0 1000
+@tab-icn
+ 0000 0000 0000 1008 1000 0000 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+@linebreak-icn
+ 0000 0000 0000 1028 1000 0000 0000 0000
+@unknown-icn
+ aa55 aa55 aa55 aa55 aa55 aa55 aa55 aa55
+@state-icns
+ ffff ffff ffff ffff ffef c783 c7ef ffff
+@scrollbar-icns
+ &fg ffff ffff ffff ffff
+ &bg 55aa 55aa 55aa 55aa
+ &dd
+ ffff efef 83c7 efff
+ ffff efc7 83ef efff
+
+@font-data-regular ( sans10-regular )
+ 0000 0808 0808 0808 0810 0808 0808 0808
+ 0808 0808 0808 0808 0808 0808 0808 0808
+ 0404 0509 070a 0903 0505 0707 0405 0406
+ 0808 0808 0808 0808 0808 0404 0708 0706
+ 0a09 0708 0807 0708 0804 0607 070b 0809
+ 0709 0707 0708 090b 0807 0804 0604 0707
+ 0407 0706 0707 0507 0703 0406 030b 0707
+ 0707 0506 0607 070b 0707 0605 0505 0808
+ &glyphs
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0020 2020 2020 0020 2000 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 5050 5000 0000 0000 0000 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0009 093f 1212 7f24 2400 0000 0000
+ 0000 0000 0080 0000 0000 0000 0000 0000
+ 0000 103c 5050 3814 1414 7810 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0031 494a 340b 1424 2300 0000 0000
+ 0000 0000 0000 0000 8080 0000 0000 0000
+ 0000 0018 2428 102a 444a 3100 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 4040 4000 0000 0000 0000 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 1020 2040 4040 4020 2010 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 4020 2010 1010 1020 2040 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0028 107c 1028 0000 0000 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 0010 107c 1010 0000 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 0000 0000 0020 2040 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 0000 0070 0000 0000 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 0000 0000 0020 2000 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0008 0810 1020 2040 4000 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 003c 4242 4242 4242 3c00 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0008 3808 0808 0808 0800 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 003c 4202 0408 1020 7e00 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 003c 4202 1c02 0242 3c00 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0004 0c14 2444 7e04 0400 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 007c 4040 7c02 0202 7c00 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 001c 2040 7c42 4242 3c00 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 007e 0204 0808 1010 1000 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 003c 4242 3c42 4242 3c00 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 003c 4242 423e 0204 3800 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 0020 2000 0020 2000 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 0020 2000 0020 2040 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 0004 1860 1804 0000 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 0000 7e00 7e00 0000 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 0040 300c 3040 0000 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0070 0808 1020 0020 2000 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 1e21 4c52 5649 201c 0000 0000
+ 0000 0000 0000 8080 8000 0000 0000 0000
+ 0000 0008 0814 1422 3e41 4100 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0078 4444 7844 4444 7800 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 001e 2040 4040 4020 1e00 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0078 4442 4242 4244 7800 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 007c 4040 7840 4040 7c00 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 007c 4040 7840 4040 4000 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 001e 2040 4046 4222 1e00 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0042 4242 7e42 4242 4200 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0020 2020 2020 2020 2000 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0008 0808 0808 0808 7000 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0044 4850 6060 5048 4400 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0040 4040 4040 4040 7c00 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0060 6051 514a 4a44 4400 0000 0000
+ 0000 00c0 c040 4040 4040 4000 0000 0000
+ 0000 0062 6252 524a 4a46 4600 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 001c 2241 4141 4122 1c00 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0078 4444 4478 4040 4000 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 001c 2241 4141 4122 1c04 0200 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0078 4444 4870 4844 4400 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 003c 4040 3008 0404 7800 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 007c 1010 1010 1010 1000 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0042 4242 4242 4242 3c00 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0041 4122 2214 1408 0800 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0044 4444 242a 2a11 1100 0000 0000
+ 0000 0040 4040 8080 8000 0000 0000 0000
+ 0000 0042 2424 1818 2424 4200 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0082 4444 2810 1010 1000 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 007c 0408 1010 2040 7c00 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 6040 4040 4040 4040 4060 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0040 4020 2010 1008 0800 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 6020 2020 2020 2020 2060 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0010 1028 2844 0000 0000 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 0000 0000 0000 007e 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 4020 0000 0000 0000 0000 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 0038 043c 444c 3400 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0040 4058 6444 4444 7800 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 0038 4040 4040 3800 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0004 043c 4444 444c 3400 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 0038 447c 4040 3c00 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0018 2070 2020 2020 2000 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 003c 4444 444c 3404 3800 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0040 4058 6444 4444 4400 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0040 0040 4040 4040 4000 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0020 0020 2020 2020 2020 c000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0040 4048 5060 5048 4800 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0040 4040 4040 4040 4000 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 0059 6644 4444 4400 0000 0000
+ 0000 0000 0080 4040 4040 4000 0000 0000
+ 0000 0000 0058 6444 4444 4400 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 0038 4444 4444 3800 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 0058 6444 4444 7840 4000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 003c 4444 444c 3404 0400 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 0050 6040 4040 4000 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 0038 4060 1808 7000 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 2078 2020 2020 1800 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 0044 4444 444c 3400 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 0044 4428 2810 1000 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 0044 442a 2a11 1100 0000 0000
+ 0000 0000 0040 4080 8000 0000 0000 0000
+ 0000 0000 0044 2810 1028 4400 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 0044 4428 2810 1020 4000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 0078 0810 2040 7800 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 1020 2020 4020 2020 2010 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 2020 2020 2020 2020 2020 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 4020 2020 1020 2020 2040 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 0032 4c00 0000 0000 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+
+@font-data-bold ( sans10-bold )
+ 0000 0808 0808 0808 0810 0808 0808 0808
+ 0808 0808 0808 0808 0808 0808 0808 0808
+ 0405 070a 070e 0a04 0606 0707 0505 0507
+ 0808 0808 0807 0808 0808 0505 0707 0707
+ 0c0a 0808 0907 0709 0904 0609 070c 080a
+ 080a 0807 0809 0a0d 0909 0806 0706 0707
+ 0508 0807 0808 0608 0804 0508 040c 0808
+ 0808 0606 0608 080c 0909 0706 0606 0808
+ &glyphs
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0030 3030 3030 0030 3000 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 6c6c 2400 0000 0000 0000 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 000d 0d3f 1b1b 7f36 3600 0000 0000
+ 0000 0080 80c0 0000 8000 0000 0000 0000
+ 0000 103c 6060 783c 0c0c 7810 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0038 6c6d 3b03 060c 1800 0000 0000
+ 0000 0060 c080 0070 d8d8 7000 0000 0000
+ 0000 001c 3636 1c3d 6767 3d00 0000 0000
+ 0000 0000 0000 0080 0000 8000 0000 0000
+ 0000 6060 2000 0000 0000 0000 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 1830 3060 6060 6030 3018 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 6030 3018 1818 1830 3060 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0028 107c 1028 0000 0000 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 0010 107c 1010 0000 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 0000 0000 0030 3010 2000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 0000 0070 0000 0000 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 0000 0000 0030 3000 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 000c 0c18 1830 3060 6000 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 003c 6666 6666 6666 3c00 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0018 3818 1818 1818 1800 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 003c 6606 0c18 3060 7e00 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 003c 6606 1c06 0666 3c00 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 000c 1c2c 4c7e 0c0c 0c00 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 007c 6060 780c 0c0c 7800 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 001c 3060 7c66 6666 3c00 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 007e 060c 0c18 1818 1800 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 003c 6666 3c66 6666 3c00 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 003c 6666 663e 060c 3800 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 0030 3000 0030 3000 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 0030 3000 0030 3010 2000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 000c 3860 380c 0000 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 0000 7c00 7c00 0000 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 0060 380c 3860 0000 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0078 0c0c 3830 0030 3000 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 1f30 666b 6b6d 301f 0000 0000
+ 0000 0000 80c0 6060 60c0 0000 0000 0000
+ 0000 000c 0c1e 1633 3f61 6100 0000 0000
+ 0000 0000 0000 0000 0080 8000 0000 0000
+ 0000 007c 6666 7c66 6666 7c00 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 001e 3060 6060 6030 1e00 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 007c 6663 6363 6366 7c00 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 007c 6060 7860 6060 7c00 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 007c 6060 7860 6060 6000 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 001f 3060 6067 6333 1f00 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0063 6363 7f63 6363 6300 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0060 6060 6060 6060 6000 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0018 1818 1818 1818 7000 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0063 666c 7878 6c66 6300 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0060 6060 6060 6060 7c00 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0070 7859 5d4e 4e44 4400 0000 0000
+ 0000 00e0 e060 6060 6060 6000 0000 0000
+ 0000 0042 6272 7a5e 4e46 4200 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 001e 3361 6161 6133 1e00 0000 0000
+ 0000 0000 0080 8080 8000 0000 0000 0000
+ 0000 007c 6666 667c 6060 6000 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 001e 3361 6161 6133 1e06 0300 0000
+ 0000 0000 0080 8080 8000 0000 0000 0000
+ 0000 007c 6666 6c78 6c66 6600 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 003c 6070 381c 0c0c 7800 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 007e 1818 1818 1818 1800 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0063 6363 6363 6372 3c00 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0061 6131 331a 1e0c 0c00 0000 0000
+ 0000 0080 8000 0000 0000 0000 0000 0000
+ 0000 0063 6363 3535 3d18 1800 0000 0000
+ 0000 0010 1010 a0a0 e0c0 c000 0000 0000
+ 0000 0063 6336 1c1c 3663 6300 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0071 311a 1e0c 0c0c 0c00 0000 0000
+ 0000 0080 0000 0000 0000 0000 0000 0000
+ 0000 007e 060c 1818 3060 7e00 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 7860 6060 6060 6060 6078 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0060 6030 3018 180c 0c00 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 7818 1818 1818 1818 1878 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0010 1038 286c 4400 0000 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 0000 0000 0000 007e 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 6010 0000 0000 0000 0000 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 003c 063e 666e 3600 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0060 606c 7666 6666 7c00 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 003c 6060 6060 3c00 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0006 063e 6666 6666 3a00 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 003c 667e 6060 3e00 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 001c 3078 3030 3030 3000 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 003e 6666 666e 3606 3c00 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0060 606c 7666 6666 6600 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0060 0060 6060 6060 6000 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0030 0030 3030 3030 3030 e000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0060 6066 6c78 786c 6600 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0060 6060 6060 6060 6000 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 006c 7766 6666 6600 0000 0000
+ 0000 0000 00c0 6060 6060 6000 0000 0000
+ 0000 0000 006c 7666 6666 6600 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 003c 6666 6666 3c00 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 006c 7666 6666 7c60 6000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 003e 6666 666e 3606 0600 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 0068 7860 6060 6000 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 0038 6070 3818 7000 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 3078 3030 3030 1800 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 0066 6666 666e 3600 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 0066 6634 3c18 1800 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 0066 6636 3f19 1900 0000 0000
+ 0000 0000 0060 60c0 c080 8000 0000 0000
+ 0000 0000 0073 361c 1c36 6700 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 0063 6336 341c 1818 7000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 007c 0c18 3060 7c00 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 1830 3030 3060 3030 3030 1800 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 3030 3030 3030 3030 3030 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 6030 3030 3018 3030 3030 6000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 325a 4c00 0000 0000 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+
+@font-data-fixed ( monaco12 )
+ 0000 0707 0707 0707 070e 0707 0707 0707
+ 0707 0707 0707 0707 0707 0707 0707 0707
+ 0707 0707 0707 0707 0707 0707 0707 0707
+ 0707 0707 0707 0707 0707 0707 0707 0707
+ 0707 0707 0707 0707 0707 0707 0707 0707
+ 0707 0707 0707 0707 0707 0707 0707 0707
+ 0707 0707 0707 0707 0707 0707 0707 0707
+ 0707 0707 0707 0707 0707 0707 0707 0707
+ &glyphs
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0010 1010 1010 1000 1010 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0028 2828 0000 0000 0000 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0028 7c28 287c 2800 0000 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 1038 5450 3018 1414 5438 1000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0024 5458 3810 2834 5448 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0060 9090 a040 a094 8874 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0010 1010 0000 0000 0000 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0810 1020 2020 2020 1010 0800 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 2010 1008 0808 0808 1010 2000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0010 5438 3854 1000 0000 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 0010 107c 1010 0000 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 0000 0000 0000 1010 1020 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 0000 0000 7c00 0000 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 0000 0000 0000 1010 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0004 0408 0810 1020 2040 4000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0038 4444 4444 4444 4438 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0010 3010 1010 1010 1010 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0038 4404 0408 1020 407c 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0038 4404 1804 0404 4438 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0008 1828 487c 0808 0808 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 007c 4040 7804 0404 4438 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0018 2040 7844 4444 4438 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 007c 0404 0810 1010 1010 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0038 4444 3844 4444 4438 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0038 4444 4444 3c04 0830 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 0000 1010 0000 1010 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 0000 1010 0000 1010 1020 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 0810 2040 2010 0800 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 0000 7c00 7c00 0000 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 2010 0804 0810 2000 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0038 4404 0810 1000 1010 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 0078 84b4 b4bc 8078 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0038 4444 447c 4444 4444 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0078 4444 7844 4444 4478 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0038 4444 4040 4040 4438 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0078 4444 4444 4444 4478 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 007c 4040 4078 4040 407c 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 007c 4040 4078 4040 4040 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0038 4440 404c 4444 4438 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0044 4444 447c 4444 4444 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0010 1010 1010 1010 1010 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0004 0404 0404 0444 4438 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0044 4850 6040 6050 4844 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0040 4040 4040 4040 407c 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0044 6c54 4444 4444 4444 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0044 4464 544c 4444 4444 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0038 4444 4444 4444 4438 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0078 4444 4478 4040 4040 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0038 4444 4444 4444 4438 1008 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0078 4444 4478 4444 4444 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0038 4440 4038 0404 4438 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 007c 1010 1010 1010 1010 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0044 4444 4444 4444 4438 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0044 4444 4444 4444 2810 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0044 4444 4444 4454 6c44 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0044 4444 2810 2844 4444 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0044 4444 4428 1010 1010 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 007c 0404 0810 2040 407c 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 3820 2020 2020 2020 2020 3800 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0040 4020 2010 1008 0804 0400 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 3808 0808 0808 0808 0808 3800 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0010 2844 0000 0000 0000 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 0000 0000 0000 00fe 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0010 0800 0000 0000 0000 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 0000 3c44 4444 4c34 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0040 4040 7844 4444 4478 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 0000 3844 4040 4438 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0004 0404 3c44 4444 443c 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 0000 3844 7c40 4438 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 000c 1010 3810 1010 1010 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 0000 3c44 4444 443c 0444 3800
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0040 4040 7844 4444 4444 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0010 1000 1010 1010 1010 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0010 1000 1010 1010 1010 1010 6000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0040 4040 4850 6050 4844 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0010 1010 1010 1010 1010 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 0000 7854 5454 5454 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 0000 7844 4444 4444 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 0000 3844 4444 4438 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 0000 7844 4444 4478 4040 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 0000 3c44 4444 443c 0404 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 0000 5864 4440 4040 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 0000 3844 3804 4438 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 2020 7020 2020 2018 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 0000 4444 4444 4c34 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 0000 4444 4444 2810 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 0000 5454 5454 5428 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 0000 4428 1010 2844 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 0000 4444 4444 443c 0444 3800
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0000 0000 7c08 1020 407c 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0810 1010 1020 1010 1010 0800 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 1010 1010 1010 1010 1010 1000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 2010 1010 1008 1010 1010 2000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+ 0000 0034 5800 0000 0000 0000 0000 0000
+ 0000 0000 0000 0000 0000 0000 0000 0000
+
+ $1 ( syntax highlight padding )
@text