[ 53280,0:53281,0:646,(162):"":" USE LYNX TO DISSOLVE THIS FILE":10 1 *LYNX XV BY WILL CORLEY 2 GEOBEAVERDOC.CVT 85 S 238 GEOBEAVER.CVT 166 S 8 geoBEAVERDocsTPRG formatted GEOS file V1.0AWrite Image V2.0geoWrite V2.1  ...݅ ( >1 59 ..  9 < <` " . r " `(@1ʎsAڢ9 V&   dx(000000000 HgeoBEAVER v1.0  (c) 1998 by Bo Zimmerman  @ 000000000 This program is shareware. If you find the program useful, please register it. It will encourage me to continue developing this software. Registration instructions can be seen by executing the program. Please send any and all reports of praise or problems to bo@zimmers.net, or to the address shown on the registration screen. Only registered users will receive bug fixes and new feature enhancements. geoBEAVER is an application to assist GEOS programmers who use any of the geoWrite-based assembly packages (like geoProgrammer or Concept) in the development of screens, menus, and dialog boxes. It does this by providing a development environment in which screens and menus can be freely laid out and tweaked. When the design is completed, the design can be exported into geoWrite source code and compiled into your applications. Those using geoBEAVER should already know how to program GEOS assembly in order to make proper use of geoBEAVER's Export function. Without the Export function, geoBEAVER is little more than a very limited drawing program, so keep this in mind when using this application. Designs are saved in geoBEAVER work files, which are opened and updated from the application. Each work file can hold exactly one menu and/or one screen and/or one dialog box (assuming all available memory is not used up). This includes all picture and text data that might accompany each design. When the application is started, a familiar open/create work file dialog box is displayed. From here, the program will default into Screen Design mode. The menus at the top are used to navigate the application. Under the "geos" menu is all the usual stuff. The "file" menu allows the work file to be updated, renamed, etc. The "file" menu also contains the "export" function (discussed below). Lastly, the "mode" menu allows switching between Screen Design, Menu Design, Dialog Box Design modes. Dial0000000000 @Screen Design  In this mode, the entire "backdrop" to an application can be designed. All of the work is done with the point and click of the mouse, using the toolbar to the left. The toolbar looks like this: h@ The tool with the dark backdrop is the SELECTED tool, and can be changed by simply clicking on a new tool. When clicking on a new tool, sometimes the SELECTED tool will change to the one clicked on, and will sometimes not, depending upon the tool that is newly clicked on. From the top, moving left to right, the tools are as follows: The Line tool is the first tool, and just as the name implies, it lets vertical, horizontal, and other lines be drawn on the screen. The Pattern tool (the fourth from the top, on the right hand side) has no function when used with the Line tool. The next tool is the Selection tool. With it, any other drawn object (like a line, a box, or an image, etc) may be selected and manipulated. Once a drawn object has been highlighted, one of the following things may be done: The small box in the upper-left hand corner of the highlighted area may be clicked on and dragged in order to move a drawn object around. The small box in the lower-right hand corner may be clicked on and dragged to resize a drawn object. Not all drawn objects may be resized. Hitting the DEL key when a drawn object is highlighted will present the option of deleting that object from the design. Double clicking in a highlighted area will activate the Pattern tool for that object. The Pattern tool (once again, its the fourth tool from the top on the right-hand side) may also be clicked on while an object is highlighted to change its pattern details. The next tool on the toolbar is the Outline Box tool. The Pattern tool may be used in conjunction with the Outline Box tool to change the kind of outline that is drawn. Next is the Filled Box tool. The pattern tool may also be used with the Filled Box tool to select one of the GEOS patterns for use when creating a filled box. Next is the Text tool. This will cause a blinking cursor to appear on the screen, allowing any text to be entered. Text entry is terminated by hitting the RETURN key. The pattern tool may be used with the Text tool, before the text is entered, to change the Style of the text. Next is the Image tool. When used, a dialog to confirm the insertion of a photo scrap will be presented. Photo Scraps on the active drive may be generated using geoPaint, or may come from a Photo Album. 000000000 Next is the Click Box tool. This tool behaves exactly the same as the Image tool. It will pull a Click Box picture from a Photo Scrap on the active drive. The only difference between this tool and the Image tool is how the drawn object is Exported (see Exporting Designs below). Next is the Pattern tool. This tool is never used alone, but is always clicked on when another tool is already selected or when a drawn object is highlighted using the Selection tool. It000000000 always clicked on when another tool is already selected or when a drawn object is highlighted using the Selection tool. It is used to specify how the already selected tool or drawn object will behave or appear. If the Pattern tool has no meaning for the already selected tool or drawn object, a notification to this effect will appear. Next is the UNDO tool. This has a very specific purpose, so read carefully: The UNDO tool will DELETE the most recent drawn object that was created using the Screen Designer. It will *NOT* UNDO any deletions that may have been done, or any pattern changes that may have made, or any drawn objects which may have been moved or resized. Last is the Full Screen tool. When clicked, the toolbar and menu will disappear, allowing the already selected tool to be used on the entire screen. Normally, certain areas of the screen are off-limits to the Screen Design tools. Clicking this tool will fix the problem. As soon as the already selected tool has been used, geoBEAVER will revert to the normal screen mode. Clicking the Full Screen tool is required before any use of a design tool on restricted areas of the screen. . se of a design tool on restricted areas of the screen. ricted areas of the0000000000 @Menu Design  The Menu designer is a little tricky, and may require some getting used to. As the name implies, this mode is used to create drop-down menus that appear in the upper-left hand corner of a typical application's screen. The work screen for this mode (after the user has created some menus) may look like this: @A When this mode is entered for the first time, nothing more than a single Plus Box floating next to the two click boxes (Delete and Edit) will be seen. These click boxes will not be useful until some menus and menu items are created, so keep reading. The Plus Box is used to add menu items at all levels. Its visible location will lend a clue as to where a menu option will be added, and how the Plus Box will behave when it is clicked on. When the Plus Box is by itself (as it is when the Menu Design mode is first entered or when the Plus Box is located to the right of the any top level menu options created), the Plus Box can only be used to add new top level menu options. To do this, click and hold down the mouse button inside the Plus Box and drag the pointer to the right. The button should not be released until a box of sufficient size for the desired menu text has been created. A blinking cursor will next appear inside the box, allowing some menu text for the top level menu to be entered. Hitting RETURN will cause the new top level menu option to automatically resize itself as appropriate. To create a submenu under one of the top level menu options, click once inside a top level menu option and highlight it. Now the Plus Box will appear immediately below the top level menu option. The Plus Box is now in First Menu Option mode. To create the submenu option, click and hold down the mouse button inside the Plus Box and drag the pointer to the right. Release the button only when a box sufficient to hold the LARGEST submenu option has been created. A blinking cursor will now appear, allowing text for the first submenu option to be entered. For each subsequent submenu option, click again inside the same top level menu option, and highlight it. The Plus Box will appear immediately below the last submenu option. The Plus Box is now in Subsequent Menu Option mode. To create a new submenu option, click once inside the Plus Box and release. A new submenu option will be created immediately below the last one, and a blinking cursor will appear allowing text to be entered for that option. Tepeat this process for any other submenu options that are required. Any submenu option can also be turned into a submenu itself. Clicking inside a submenu option and highlighting it will cause the Plus Box to appear immediately to the right of that submenu option. The Plus Box is now in First Menu Option mode again, so clicking and holding down the mouse button will create another submenu. Clicking inside ANY menu option box will highlight that box and present the user with the Plus Box at a location appropriate to creating submenus under that menu option. To create new top level menu options, click away from all of the menu options, in a blank area of the screen for instance. This will place the Plus Box in a position to create new top level menu options. 000000000 K000000000 Keep in mind that whenever a submenu is created under a menu option, that menu option becomes a submenu in itself. Whenever a menu option does not have any submenus under it, that menu option is merely a click box to which the programmer may assign an application function later on. There are other reasons to click and highlight a menu option box other than the positioning of the Plus Box. A highlighted menu option can also be used in conjunction with the Edit and Delete buttons to the left. When the Edit button is clicked while a menu option is highlighted, the text inside that menu option may be changed. When the Delete button is clicked while a menu option is highlighted, the option to delete that menu option will be presented. Hitting the DEL key while a menu option is highlighted will have the same effect as hitting the Delete button. Double clicking inside a menu option will have the same effect as hitting the Edit button while that menu option is highlighted. Keep in mind that deleting a menu option which is also a submenu will delete all submenu options under that menu option. The Menu Designer may seem a little strange at first, but after awhile it will be a quick and easy way to make application menus. As confusing as these instructions sound, you will have to take my word for it that the above statement is true. It is much easier to use the Menu Designer than it is to describe it. ght it. Now the user should see the Plus Box immediately below the 0000000000 @Dialog Box Design  Easily the most powerful of the editors in geoBEAVER is the Dialog Box Designer. When entering Dialog Design mode, a blank dialog box will appear in the center of the screen along with a toolbar on the left. This toolbar looks like this: BMany of these tools are the same as the ones in the Screen Design mode. Each tool will now be covered from the first button in the upper left, moving downward from left to right. The first tool is the Line tool, and is classified as a Graphics tool. It works exactly the same as it does in Screen Design mode. No Patterns are defined for this tool. The next tool is the Selection tool, and operates exactly as it does in Screen Design mode except that the user will have many more drawn objects to operate on. Included among the drawn objects which may be selected and manipulated is the Dialog Box itself. The next tool is the Outline Box Tool. It operates exactly as it does in Screen Design mode, and is classified as a Graphics tool. Next is the Filled Box Tool, which also operates exactly as it does in Screen Design mode, and is also classified as a Graphics tool. Next is the Text Tool. This tool also operates as in Screen Design mode. The Bitmap Tool works as in Screen Design mode, and is classified as a Graphics tool. Now we come to Clickbox Tool. During normal use, this tool will appear to operate as in Screen Design mode. However, there IS a Pattern button function assigned to this tool, which operates ONLY when the Selection tool has been used to highlight a created Clickbox. When this is done, the user will be informed as to what Hex value will be contained in the sysDBData ($851d) memory location when a Dialog Box is closed using that particular Clickbox. This value is chosen by geoBEAVER, and can be changed only from Exported assembly source. The System Button Tool is similar to the Clickbox tool, except that the image for the clickbox created is chosen from a buffet of GEOS system buttons, which are presented when a location for the System Button is selected. The Pattern button operates as it does for the Clickbox Tool in that it will display the sysDBData return code. The Input Text Tool can only be used once inside any Dialog Box. It creates a blinking cursor on the screen where the user of the  application may type text input. When a location for the Input text is chosen, a dialog box will be presented (a dialog which is also available via the Pattern Tool after the d000000000 available via the Pattern Tool after the drawn object is created) containing important details about the text input. The first option on the dialog box is a place to enter the geoProgrammer variable name which will be used by the application to refer to the section of memory where text input will be saved. The next option is the maximum size of that text input. The File Box Tool can also only be used once. It creates a very large box where filenames from the active drive will be presented when the dialog box is shown to the application user. Those filenames will depend on the details entered into the Pattern dialog box which appears after this object is drawn. The Dialog box presented allows entry of the File Class of the filenames to show inside the File Box. See the GEOS programming reference for details on what a File Class is. The other option is the File Type, and is manipulated using the up and down arrow button to the right of this option. The Filenames will not appear, of course, until the Dialog Box is actually exported from geoBEAVER, compiled, and run from inside an end application. The details dialog box for this tool can, as in the case of the Input Text tool, be referenced with the Pattern tool after the drawn object is created. The Variable Text Tool is used to position some text which will depend upon a variable in memory at the time the application containing this Dialog box is run. When a location for Variable Text is chosen, the opportunity to enter a geoProgrammer variable name for the string to display at run-time will be presented. Just as in the case of the Input Text tool, the variable name dialog box can be changed later on using the Pattern tool. The Pattern Tool operates exactly as it does in Screen Design mode, effecting every other tool according to that tools purpose. As in Screen Design mode, double clicking on a drawn object is a shortcut to that drawn objects Pattern tool details. The Dialog Properties Tool can also be accessed by using the Pattern Tool against the highlighted Dialog Box itself. This tool presents a dialog box with numerous details about the Dialog box being designed. These details include the After-Draw routine, which is the label name of a GEOS assembly code routine (which must contain an "rts" command) that will execute after the dialog box being designed has been drawn by its host application. Next is the label name of a GEOS assembly code routine to call during an OtherPressVec event. This routine will be called whenever the mouse button is clicked inside the dialog box for instance. See the GEOS programmers reference for more information on this event. Next is the AutoClose checkbox. When darkened, this option will DISABLE any OtherPressVec routine entered and override it. Selecting this option will cause the dialog box being designed to close during run-time whenever the user of the end application clicks anywhere inside the dialog box. Next is the Edit Shadow Pattern button, which allows the user to edit the pattern used when drawing the shadow of the dialog box. The last tool is the Undo Tool, and operates exactly as it does in Screen Design mode, with exactly the same restrictions. The user should keep in mind the following quirk when designing dialog boxes using geoBEAVER: Unlike Screen Design mode, the drawn objects will not necessarily be drawn at run-time in the same order in which they were created using geoBEAVER. This is because all drawn objects created using tools classified as Graphics tools will be drawn LAST at run-time. This makes putting a System Button, for instance, on top of a Filled Box very difficult. This quirk will be removed from future versions, but should be kept in mind by the user. user. 0000000000 @Exporting Designs  One of the options under the File menu in geoBEAVER is the "export" function. This function is used to export one or all of the designs inside a geoBEAVER work file. When this menu option is selected, another dialog box will appear from which the Menu Design, Screen Design, Dialog Box Design, or all three may be selected for exporting. A place to enter the name of a geoWrite file to create during the Export process is also presented. All Exported source code and pictures will be created inside the geoWrite file. geoBEAVER will not overwrite existing geoWrite files, so be aware of this when entering a geoWrite file name. After exporting, the user should inspect the file created and fill in any options which geoBEAVER left open to implementation. This includes the skeleton of the application, any Clickbox handling routines, etc. etc. . File Type, and is manipulated using the up and down arrow button to the right of this option. The Filenames0000000000 @Conclusion  Well, that's it for these quick and dirty docs. As mentioned previously, please report any problems, and please register the program so that you can receive updates, bug fixes, and encourage even MORE features to be added to this already powerful development tool. Enjoy, Bo Zimmerman bo@zimmers.net 0000000 e used by the application to refer to the section of memory where text input will be saved. The next option is the maxihbFoooA!obF  Y Y Yuuuu    ||f͙f͙f͙f|664uuuu@y0{s96͙k*BQJB6͙ +QK{*QJg)N936͙x                 pj!                 bFoooA!obF  Y Y Yuuuu ͢͢ u``gl۶l۶lۼg    ||f͙f͙f͙f|DgeoBeaver#PRG formatted GEOS file V1.0    ????9Aԑ7i>>H=H 2#oLf u h=#h>#h=h>>#H=#H =oLf #q q p s sN rM u u t vP wP vHvwh 6 ` L % ;©8iH o h 88ij ` / P VLO H hL  eii%HH O # ©#օ ~hh5HІ ¦5hІ#օ ~ {Dž  ? -LO ` g &g =g Pg  O u % % % % % % & & prog infoHvh` vH uEtP t u ) Vh`[ p        . I g } ! " # $ % & ' ) ?s. 7 (t@Disk error:Unknown disk error.Not enough blocks.Illegal track or sector.Disk full.Directory full.File not found.Block deallocation error.Illegal VLIR chain number.VLIR: Illegal track or sector.Too many VLIR chains.File is not a VLIR file.End of file. File too long.Device not present.Write protect is on.No header block.Drive not ready.No data block.Bad block on disk.Write protext is on.Bad header block.Cannot open disk.File exists.DOS mismatch on disk.x `pzȘ` F L qwpvrxqp sr u tLF kL p `zȘ ª` L p `zȘzȱz ª `tt tt`x&{1zxezz{P`8G7F?L6?ULV pGG JL wLV pGG lL LV p@ L LV p@ L ¢r  rs'p''_]'qp ;`'_ t_'^'&م ~ w©['` L qp['`]'  r)p['8 &&' rq r`͉ L UL ptJJJJp Utp`)ii'hhL'r  rs'`q^#p]#_'^' &م`'qp ^#q]#p`pGG JL wLV pGG lL LV p@ L LV p@ L ¢r  rs'p'bL'LLL*L(L(L'L)L`*(qp(sr)ut"wv A,٭ ( '` b(`Iȱ`(*L6(WL6des - geoBeaver 1.0 - d""  L("G))))")) 8©)"  L'`"  ))L )Lh©"1!d  e©1!d ) V­d1`1d" YL 1d"!  e` ) # CPlease enter new filename:"9???9Aԑ7+ GR+ R`+ ]r+ m+ w+ +~+geoBEAVER v1.0This program is SHAREWARE. Distribute itas you like. If you enjoy it, send yourregistration fee of $20.00 USD to thefollowing address:Bo Zimmerman1907 Cameo DriveRound Rock, TX 78664Registering this program will entitle youto notification of updates, and encouragefuture development. +Z`    ????9Aԑ70 FS0/o0``<3fc33>c3?fc0fc3fc3?9 0g0ٻٙٙٙٙۙ L©L`Please select an option:new work fileexisting fileto deskTopOn Disk:Please enter new filename:Enter new file name:Insert new disk into disk drive.ERROR: File exists!ERROR: Disk full!ERROR: Cannot create!,r,Lw, w0/ V w0 kL'L*L%-L.-L=L'$,/ ##### ( ( '"" QP 0"/`/ |<` #p  */`p$qsrut"wv"x Fr rtPrtpipqiq"" twvq8q"x Fpipqiqwv x F`"pqrstuvw"x F"" `8(7(/ ? ) L) ]*`H <*"8 0L)L)"## 'L)"# 9 $L) <*"# *L)L) <*  e BL)"e"e.L) ]*"e"eL)` <*  e B"e"eL)#. 8 e H.`` 8* 8* 8* 8* 8* 8*``""ȱ""` # #/ .- 1 #`p dpp # 8 7 4 #*L> #;#:#<####/`p #p #LnE/p"  *Lt+ A/p" #p  *" # #p  */`"!  A ( (0#  A $,` A # 2 V` #6x V­ #` #1݅ V­"#`,qp   *L'No patterns for that tool. ! ,- V­L'reseP߭8rs )"L' qppȱqqsprpeqe` -GGUndo last operation? - AL' #`;":"<" #&#"#"#"# #, 0L'# 8 7 Dž N #/ #L/ #L/ #L/ #L- # #L4 #LXB`"! 8 !!!  # X6`##` # ) # e""""8""""" J"""8""####i#.ʍ/#.LLX6 # 0.L1""#"ȭ# "ȭ#8)ȭ"ȭ"ȥiȩ"""P"i """m"m e8 7 -/"" H.L1 /*# ##" " "# 98 0L0 / g0# 'L0 / # 9 g0 $L0#i#"#"#"S## ### ## #  # ## # -8``#" "## #" "  " "# # `"#"#"#`"! 8 !!!  X6`" # n1 =1" 21L%1 # =1``` # 21 ## 21 21 21# 21`"#"#"#"#"#$""""#"#""#"#`"0#`#L' (#L'  2 @"2 @/$2 @>02 @M:2-ED22Select all that apply:BoldUnderlineOutlineItalics"": ni    e  'i""`W": ni    e  i""` *""Y2"`@6 3*33Please select from the following:/""@"""""ɐ`"@""i"L>3"" " i  e  'e 8  " 'm""""i"""L>3/""@"""""ɐ`"@""i"L3"" " i  e  &m""""i"""L3 *"#L© #5q(p l " L1# ©5=n ڠ ȱ  e  "P"ɩܭ" LX6" LI5Paste photo scrap?Photo Scrap8qpp" 6qBp `pp"##m""#m""""Ȱppqpe#pN#n#N#N##pm##87@ #(#P #/ B #pȥpȥp"L1Bitmap is too large.6qdp `Not enough memory.86"7#~ @ `#"""@"" """ " "e  i  %" " "  ɼ"~` *"L©7=#`LBꪪ UUVffo؀ꪪffoUUY ؀ꪪUUVffo؀ꪪffoUUP؀ꪪ UUVffoס؀ꪪffoUUY ww`""]""=ww`""]興wwww`""]""=ww`""]興wwww`""]""=ww`""]興wwUUD"UUH!UUP xUU` @@_߆UU@` ?UU@UUA(UUB$UUD"UUH!UUP xUU` @@_߃""B 4""B 8 ""B 0 *""(""B"ppxPPX""B"""B" ? ""(""B 4""B 8 ""B 0 *""($!!(@1P* 00>8h(($ \\X @$@$ ȂA*  B$!!(@1P* 00>8h(($ \\X 8 U`@@P؂BAAN&&(A1QQR"".>>8*"".>>8 U""-ؠ h(""*bbhP0 8 U`@@P؂BAAN&&(A1QQR"".>>8„UU`„訨PP` "&t S)D D` htPP`(D訨(DUU`'w„訨„PP` @A  A!   Y Y Yuuuu    ||f͙f͙f͙f|660" `#  #!"ȱ""e"e A>qtp lL1"ɩ  !P8"" )"L'Delete this item?"p#wv A  A # #`"wv A  A # #`"+"wv A  qtp lL1"ɩ  !P8"" )L6(J ' Q օ '`"8 ri    e  '"J 9P 9  $i ""` LF)I xI! +< V­I`-qp ( + lEI7 .2 4- :(KKK-qp ( , E( bGI LF); that's all folks! / x ҅ U} 9 $ n ȅ Px 9 $ 'gqps H` n ҅ P} -/`"8 ri    e  "J "JL'i""` )`ppqppqL)p E`p9ip`0ppipPJ*qŅpJ **qąpLE * E,` Q* E,`J*qŅpJ **qŅpLE*qŅp g**qąpLEs *pqpqr *ppqppq`JJJJJ*pJ)*pȩp`0123456789abcdef$K`JͦK`"ȱ""e"eKL*`"ȱ""e"e`E'  s+z z a+ @"- @/- @>- @M- h f)Select Export options:Filename:KKK`KKKȭKKKKKKKKKKKKȱKKmKKKmKKΡKK΢KK ȱ ͜K ͛K`KKKe Ke  K KK͞KK͝K   KKP͚K͙KL,`KKȱKK +K -K͚K͙K`yJJJmyA oG`y E^3K 5* E-qpeppqrȱserress 6F` .byte .word : : .byte 27,"",0 :Screen designMenuDialog boxAllCreating file...Graphic tables...Picture data...Making menus...Dialog boxes...J`K 9 }.P-qЅp (K .н @/иK E]4LoG`"ȱ""e"e` K EH3 K /`KJ }.PΨ+/KK ͬK /$KK /K /`K n1` 1K y/ oG` E3K En-쭥K !* !* !* * E4` * n1 E54 *PKy9 oG E2`` E<2`K  EU2``JL0 KLx0 Ep2`K 1 E|2J!KͭKK E3խK * E3Ʃ0s`rJ 1жK 1Ь0slrJ 1М`22222223 /` E)3 En- !*` !* !* !* !*۠ !*ҭK *ʩK Ev-`0s`rJ 1` !* !* 8 !*` <1 E"qp eppq EܩK0slrJL1KKK-K Kd1 !* KK`K EP3`KK + 5*7 Ev-0 En-) !*  !* !* * Ee3`K !*`KK !*KKL*` rpȱrqLE K * K *P ` jsr $c1a8 ; i_GraphicsString jsr $c1ab ; i_BitmapUp .byte $00 ; end of table .byte $01, ; MOVEPENTO Xl,Xh,Y .byte $02, ; LINETO Xl,Xh,Y .byte $07, ; FRAME_RECTO Xl,Xh,Y .byte $03, ; RETANGLETO Xl,Xh,Y .byte $06,",27,0 .byte $05, ; NEWPATTERN jsr $c1a2 ; i_FrameRectangle DrwScn: .word BitmapBitmap ; col, row, width, height lda #[(ClkBoxes) sta $02 ; R0L lda #](ClkBoxes) sta $03 ; R0H jsr $c15a ; DoIcons - start click boxes rts ; exit from screen routine ClkBoxes: ; # clkboxes, mouse Xl,Xh,Y .word _ ; routine to execute on click rts ; exit from screen routine J`KKJ >5٩-qp ( E9 E9 Ev-лJKKKKKP3KKKȱKKJLoGKKK 5 6KKKKKP J'1ȱ JJ +PˎJ`KKKK`KJJ ,8/JKKKKiKPɭJA"8"y"K"LoG`""2"m"""KKKK E9`K 5* E- En- ,8ڠ8" !*͠ 8" * E9й Ex-вrȱsr8"rs"s +*`L6rȱsr8"rs"s Q* E*9K E[8P E8`K *K Eg8 E8L7KKKKKJJ ,8 JL7 E8`K 5*K E8 E8 E8 7 5* E8P E?9 EY9лL07J J``KKKJJ ,8 J  Ev-` E8K 5*K E-qp eppq E E-L7` +1` .byte $00| ; HORIZONTAL menu | # items .byte $80| ; VERTICAL menu | # items .byte $80 ; SUB_MENU .word MnuTxt ; menu text pointer MnuTxt .word Menu ; sub menu pointer Menu ; menu top, bottom ; menu left, right .byte $00 ; MENU_ACTION .word MenuAct ; **** action routine here! MenuAct: jmp $c1bd ; GotoFirstMenu DrawMenu: lda #[(Menu00) ; point to first menu sta $02 lda #](Menu00) sta $03 lda #$00 jmp $c151 ; DoMenu J`.qp (KKKK 3 * |: $;˭K J>K ?зK >ЭLoG EO@` 8 *& EX@ * Ev- E_@ E@K 6 *V EFCTqp eppq E EOC7 E[C0 ERC)qp eppq E EOC EzC E@` 3 * EwAi ;d 0K . 5 *` > *` EC`K 5*K ECK <1 E"ݥqp8 eppq E E-` eppq E ED`K ; *` ? K *` EC`K 5* ECKK + 5* ED٠ !*Р * E?DK 5*- Ev-& E^DK 5* EcDKi * EkD` K EDK / ED`K2"ȱ""e"eP82:@JӨ+/ˍKK ͬK /$KK /K /`KК n1`DlgBox: lda # sta $10 ; set file type for FileBox lda #[(DlgT00) sta $16 ; set lsb for class name lda #](DlgT00) sta $17 ; set msb for class name lda #[(DlgDat) sta $02 ; set lsb for dialog data lda #](DlgDat) sta $03 ; set msb for dialog data jmp $c256 ; call DoDlgBox and leave! DlgDat: ; size flag, and shadow pattern ; dialog box dimensions .byte $00 ; end of table .byte $13 ; all external dialog gfx .word DlgGfx .byte $14 ; set auto-close on click .byte $11 ; set otherPressVec .word .byte $13 ; set external routine .word ; OK button ; CANCEL button ; YES button ; NO button ; OPEN button ; DISK button .byte $0b, ; static text .word DlgT .byte $0d, ; input text .byte $70, ; buffer vec, max bytes lda #[() lda #]( sta $70 ; A2L, input buf lsb sta $71 ; A2H input buf msb .byte $10, ; FileBox ; variable text .byte $12, ; user clickbox .word DlgUDlgT: .byte DlgU: .word Bitmap ; pointer to graphics data .word $ffff .byte ; pic width and height .word DlgR: lda # ; sysDBData code sta $851d jmp $c2bf ; RstrFrmDialogue DlgGfx: rts ",27,0 `qpn ?`q'Ip&II& ȹȹ]#ȹ^#ȩ  `K@LG DL  G`` p wEpL p` wEpq A oG` EL p wEpqrrssr` EL p wEpqqspr` FL  wEp wEp wE wE` wE x 9H`^#]# ȭȭ  qH` ` 6FL wE .GK J.qpn  ȭ `  ` FL wE .G G` 9H`^#]# xȭI!` 9H`^#]# ڭ^#]# xPKȅ#] K`p Hp H H`quptettuustr`t HtuP߅V 9H`^#]# ڭ^#]# x`ArWWrite Image V2.0Bo ZimmermangeoWrite V2.0  !8P0 ȹ]#ȹ^#ȩ  `KL'L)*L3L3L'4L'8 # ##$####" #/ ? 9==M  8  9.  8 "" QP 0" (`""""8"""""`(qp `Not enough memory./ :6  a6P/ Q4`8 (P::8"7"/( 9 2 $ 2 ' 2 e 8 78 e H"8"7::` 7 "# )`"#"#P"#"# )`""4"# a6"# wv 7 a6P֭"#`""P"" :6` ` 6"` "L;,`<,#;.#:-# 3+ ##!  *LK7  *L+/ ## ])i:7 07wv 2 ##L+/2 - Q4` ## }. . Q4`#+# 64+#i+# +#P 6P 2 -` ` X(8:7::8::4::8 : : :ƥ: ##8 ## a6"wv 2 ;,` +`/ 9  $#"#"#"#"#@.#"-#""wv 2P.#"-#""wv 2/ # '`"wv 2 " ""8"" """/ Q4" #`/ 9 $$###G$### ,$###n:#i f-$###8 ( -/ Q4" #`L90l:m:?l:em:e8 ~l:mm:m"`" - -m:l:n:l: ml:l:m:l: -m: -"wvyxexxy `3 n: -#" )`` }./ ### !# # )!# #(L}. ### ])i: 07vwv8 (P߭# ##8 ( ## 2 *`::/ ## 9  $`# ## 2 * . ###::`/ 9-Dž B8 7 $` B/ 9,8 7 L$ X( ## L* ##L*0 #:#: }. 4:: - 28:7::8:: : ::8 :: :::2 :2: /:: ## 2:e :e 3 ## =9 8 (  *L90 ##` ## ȱd: 8 ( 8 ȱe8"7"7ȱ87878:nc0ÍL ##` "8"7 ##"ȱ"n:l:m: ml:l:m:l:ȭm:m:"l:"0+"e"el:8"l:m:"m:l: ,P 1 ## eȹn: ##8 ( 2" ## -LQ4"e"el:em:ePݠ )` ##`e"" . 2 / ## 2"":  : 8  : :P:8  ::" " 3 =9 ## (` 8 (`yxvx`yxxv`wvevvwyxL)3wvyxexxyL`3x`v:: %3: %3: %3: %3: %3: %3`v` \3: \3: \3: \3: \3: \3::x` -`"`<,#;.#:-#8:7::8::,#"Э,#"ƭ.#"-#".#:-#:"wv 2 -.#"-#""wv 2/ '` ## `  * K7`%#)#F(#'#,*# 4 !# #ɀ-&# %#)# (# *#,iP''#*#)# (#  e  L5@# ## #"#" ## :6"#P "#"# a6%"# a6Pߥ""#P$###"" ### #@#`#wv 2 / ' 58 e  8 0 58i  8 0`### ## #    PP`  1``"ȱ""e"e͐1`:: a K"ȱ"m""m""":": ""P𑐏1`i:`i:v7:w7:i:i:`i:`i:i:i:7:v7:w` ## L* ##8qp lՠ: p9:::(":":PD:;1m:l:"ȱ""" 1""P: 8L8Delete this menu set?!# #3#,* a6 #!# # }. .: / (!# #!# # - Q4 L*"`: 2:A:!8: : 8: : P8:8: 3 a6L8:!:e:e :e :e P:e:eP" a6`"` 2 8 " "`    p 0{6͙6͙36͙x """8"""""`(qp `NoL'L5L7L8L GL'/ ####  ' ) ) ("" QP 0"/` 30 (( " m&#%## #####!## ##ut (#u t (m###m # #!#`3 @ tJttjJJitȱtit`/ 1 #p  */``"ȱ""e"e`p$qsrut"wv"x Fr rtPrtpipqiq"" twv"x Fpipqiqwvx F`"pqrstuvw"x F""`8)7)/ ? '&#%# 9 \* ' \*  e  ii $ \* e  e i $ {* L{+# ### # #` ,`A j,"<8 0L6+="## 'L6+>"# 9 $L6+5 j, L+"# +L6+?( j,  e BL6+6(#'# L6+8 >L6+: .,L6+"e"e.L{*#e#e#e#e #e #e ` ,;4"e"eL{+` j, #e#e ";" X,ȹX,e B"e"eL{+#. 8 e H.` j, L+ 8,S H`?3)444+55` f, f, f, f, f, f,``""ȱ""`ꪪ UUVffo؀ꪪffoUUY ؀ꪪUUVffo؀ꪪffoUUP؀ꪪ UUVffoס؀ꪪffoUUY ww`""]""=ww`""]興wwww`""]""=ww`""]興wwww`""]""=ww`""]興wwUUD"UUH!UUP xUU` @@_߆UU@` ?UU@UUA(UUB$UUD"UUH!UUP xUU` @@_߃""B 4""B 8 ""B 0 *""(""B"ppxPPX""B"""B" ? ""(""B 4""B 8 ""B 0 *""($!!(@1P* 00>8h(($ \\X @$@$ ȂA*  B$!!(@1P* 00>8h(($ \\X 8 U`@@P؂BAAN&&(A1QQR"".>>8*"".>>8 U""-ؠ h(""*bbhP0 8 U`@@P؂BAAN&&(A1QQR"".>>8„UU`„訨PP` "&t S)D D` htPP`(D訨(DUU`'w„訨„PP` @A  A!   Y Y Yuuuu ͢͢ u``gl۶l۶lۼg    ||f͙f͙f͙f|@ `ccc|ycfcf͘cfcfcf͘>|y``  0͛`̓` 0 ' # #/"wv K - 8 #`p Jpp \* ۭ # *LG #;#:#<####/`p #p  #LTR/p"  *L6 K/p" #p  *" # #p  */`" 4 % 3 (`LY K 6`L[S ! x77Ӆ V­L'reseP߭8rs )"L' qppȱq4Fqsprpeqe` 7GGUndo last operation? - KL( #`;":"<" #&#"#"#"# # @L' \* #38 7 4  `Lq8 #/ #L;L;L<L8LAL< L? L= L9 # q= LA #LcL`"! 8 !!!  # F`#i""#`#8""# # ) # e""""8""""" ^"""8""####i#:ҍ/8"7"#8#7#.LLF ##i#`#8#"! 8 !!! LF @E V­` >`)#" ")"8#"#: n: .,` &A"i " &A" &A" &A oA"m##"m##"m## oA)# &A"m"m`"8"7 # @L;""#"8#ȭ# "#ȭ#8)8#ȭ"8#ȭ"#ȥi8#ȩ""L;"P"i """m"m e8 7 -/"" H.LF <*# ##" " "# 98 0L< < <# 'L< < # 9 < $L<#i#"#"#"S## ### ## #  # ## # -8``#" "## #" "  " "# # `"#"#"#` # q=`"! 8 !!! LFEօ V­ǭ X,\ȹX,\ȩȩeLB; F4 Fe=qp ``Max. is 8 buttons. #8 F>qTpL>qppL# 8 # X#!# 8# !#!! |"! 8 !!! LF)# ? @Cׅ V­` >`L>Only one filebox allowed.Filebox is too large."" `\  )`U\"P`"|"X"8 n: >` j, L+ 9 $ j, L+ ' j, L+8L'?}*|)#|}||}`Non-GEOSBASICAssemblyDataSystemDesk Acc.ApplicationApp. DataFontPrinter Drv.Input Drv.Disk Dev.Sys. BootTempAuto Exec.Input 128 #6 F @q|p `# 8 # "! 8 !!! LF )#Eqp)# %X @D V­` >`L=@)"""###8#)#(#'#6 n: `Only one input allowed.~ ~U\ȩU\-\`~`"! 8 !!!  F`" # A 1A" &ALA 1A``` #A &A ## &A &A &A #LoA# &A`#8# &A## &A"#8# &A`"#"#"#"#"#$""""#"#""#"#`<=>5?;468: #Bqp l " `# ©Bn ܠ ȱ  e  "P"ɩܭ" LF" ©LBPaste photo scrap?Photo Scrap8qpp"" Cqp `pȑp"##m""#m""#"""""pȑp#p#ut (#pm#### #ĩ #/qpe # \\ B F #Apȭpȥpȥp"LFBitmap is too large.FF  C #D 7D.+D _~ E7|FileBox details:File class:File type:D3D;:А )#)#P )#)# ? 9  ZJ $}|WLHFF  D #D 7D.D _7E _~Dialog input details:Buffer name:Buffer size:DNE88||||88 ;:А)#)#Eqp)# %X 9  ZJ $EWLH$  E '~GGEnter variable name:O#9  # 9  Ev)F @FSelect a system icon:this operation.1FFٻٙٙٙٙۙ L©Fqp `Not enough memory. ) L( #`p8#pȱp8#p`" "`" (Pݭ" ` ## KGqDp l` XGL'Delete this item? !"ȱ""e"e"ɩ  !P8"" )"`"p#wv K  K # #`"wv K  K # #`"+"wv K  #" DJ ## #`? ;4`\"ȱ"""ȱ"ȱ"\? #m"""."".""."".""."".""m"""m"""m""\?#m""#m"" DJ ##\ #`6 5:8]" #m""#m""#m""#m""#m""#m"" DJ ## #` {K""""  *" "" " """" " " `LJ/#"#""wv K"wv K ' 9 {Ki44   e  8 7 8 7 "wv K $ {K84 8  87  #wv K $/`""" "" " `yxxv`yxvx`"` K" ## #`#wv K"" "" " ""wv K"""" "" " " " " " " /L-"wv K -"wv K #LM #.""}""""mk"" " PY"8e""""""8"" ""e "e OM"wv KP " " """ut ( " ""ut ("wv K '` #3/i 4  e87`# # #` ## #3 <?LWP j,"yx"{zx"z" ## #` #< qQL*N" ZN" ZN" ZN" ZN" ZN" ZN" ## #" ## #3 ^NL'`8""""8""""""""""8""""""8""""" `" N" O" O" P (P<?`8"ȱ"ȱ8"ȱ8"ȱ"ȱ8" j, " "  """""""""" XG``?`8"i"ȱ8""ȱm"i # ȱm"" XG``5`" "m"""m"""m"""""""" XG``4;`"qqi""qq" XG`` #5 8:6LP #" ## #`"" #? #"#""ut ("""8" ZN"8" ZNL*N #= f, f, f,#e"2#e#e """ ## #`"8# ZN"# ZN"8# ZN"8# ZN"# ZN"8# ZNL*N #c j,""( ""  " "" " (" "" " "wv K`ee e""ȭ"`"ȭ"`" ##`" # ## # R@ R; S64;LW6:8LWX3 ##LYSqمpL`=#UA V­#" '`>)Vх V­ `#" '`5=T. V­`"# j, +ȥ#" '` K # UA V`Vх V­ #`T. V­"#` Tq p P Sqمp   *L(No patterns for that tool.Not yet implemented.Create object first, then select.  UT @"nT @/uT @>T @MT-ETTSelect all that apply:BoldUnderlineOutlineItalics"": ni    e  'i""`W": ni    e  i""` *""Y=U"`@6 WU{U1VPlease select from the following:/""@"""""ɐ`"@""i"LU"" " i  e  'e 8  " 'm""""i"""LU/""@"""""ɐ`"@""i"LEV"" " i  e  &m""""i"""LEV *"#L8V{W#~ @ `#"""@"" """ " "e  i  %" " "  ɼ"~` *"L©,#`LBXq!p #4P/\ ##;\ (Pᭌ\ %XW VL( W ,XAThe return code for this iconis: $\JJJJGXp\)GXpȩp`0123456789abcdef #\\ j, L+ ### #8# )#8\ XG X #8: (#'# @P 2>P +: X\\L`8\ ` )\}| e||}|\|}ȱ|`\|\ Y~~ \~ȹU\~Ƚ\~Ȍ`\a\`\~ȭa\~`\ma\ma\`\ XGa\ #`\#a\`\Vх V­ PL'LY\q`p\srYLV @  7Z LZ p 3bZ w3xZ >\JZd