home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / genie-commodore-file-library / GEOSApps / COPEASSEMBLR.ARC / SAMPLEMAIN (.txt) < prev    next >
GEOS ConVerT  |  2019-04-13  |  5KB  |  237 lines

  1. SampleMain
  2. PRG formatted GEOS file V1.0
  3. Okimate 10
  4. LADS2COPE
  5. BLASTER'S CONVERTER V2.5
  6. QV_MAIN
  7. QV_LOAD
  8. COPE Source V1.1
  9. geoCOPE V1.00
  10. COPE Editor V1.1
  11. Untitled
  12. SampleMain
  13. @)@:@?@E@R@_@n@z@
  14. /; ===
  15. ; MENU STRUCTURE of geoCOPE Editor
  16. ;  BY BILL SHARP
  17. START
  18.  JSR NewDisk
  19.  JSR MouseUp
  20.  JSR clrScreen
  21. LDX #<ICONS
  22. STX R0
  23. LDX #>ICONS
  24. STX R0+1
  25. JSR DoIcons ; SETUP ICONS
  26. LDX #<MENUS
  27. STX R0
  28. LDX #>MENUS
  29. STX R0+1
  30. LDA #1 ; MENU POS/MOUSE
  31. JSR DoMenu
  32. ; ICON EXECUTION ROUTINE
  33. ICONS
  34. .BYTE 1        ; one Icon
  35. .WORD 160      ; X position to place mouse
  36. .BYTE 0        ; Y position to place mous
  37. .WORD IconData ; pointer to icon BitMap
  38. .BYTE 38        ; X position in bytes to place Icon
  39. .BYTE 0         ; Y position in scanlines to place Icon
  40. .BYTE 2,15      ; Width in bytes, Height in pixels
  41. .WORD QUIT2     ; Code to call
  42. ; the icon data is stored in BitMapUp format
  43. IconData
  44. .BYTE 158
  45. .BYTE 255,255,0,0,255,255,128,01,128,1,128,1
  46. .BYTE 135,225,135,225,135,225
  47. .BYTE 128,01,128,01,128,01
  48. .BYTE 255,255
  49. .BYTE 0,0
  50. .BYTE 255,255
  51. MENUS
  52. .BYTE MenuTopPos
  53. .BYTE MenuBotPos
  54. .WORD MenuLeft
  55. .WORD MenuRight
  56. .BYTE HORIZ | 5 ; Horizontal OR'ed with 5 (for 5 items)
  57. .WORD MEMTX1 ; Pointer to Text for first menu position
  58. .BYTE $80 ; SUB-MENU structure
  59. .WORD MEMSB1  ; Pointer to Sub-Menu
  60. ;  The pattern for menus are the same below
  61. .WORD MEMTX2
  62. .BYTE $80
  63. .WORD MEMSB2
  64. .WORD MEMTX3
  65. .BYTE $80 ; SUB-MENU
  66. .WORD MEMSB3 ; SUB-MEM
  67. .WORD MEMTX4
  68. .BYTE $80 ; SUB-MENU
  69. .WORD MEMSB4
  70. .WORD MEMTX5
  71. .BYTE $80
  72. .WORD MEMSB5
  73. MEMTX1 .BYTE PLAIN,128,0
  74. MEMTX2 .BYTE 'File',0
  75. MEMTX3 .BYTE 'Edit',0
  76. MEMTX4 .BYTE 'Search',0
  77. MEMTX5 .BYTE 'Toolbox',0
  78. ;== END OF MAIN MENU STRUCTURE
  79. ;== START OF  SUB-MENUS
  80. MEMSB1
  81. ;-----
  82.  MEMSB1X
  83. .BYTE MenuBotPos
  84. .BYTE MenuBotPos+15
  85. .WORD MenuLeft
  86. .WORD MenuLeft+81
  87. .BYTE VERT+1 
  88. .WORD SUBM1 
  89. .BYTE 0 
  90. .WORD NOCODE ; Perform this routine when menu is selected
  91. ;-----
  92. SUBM1 .BYTE 'COPE info',0
  93. ;END SUBMENU1
  94. ;START SUBMENU2
  95. MEMSB2
  96. .BYTE MenuBotPos
  97. .BYTE MenuBotPos+5*14+1
  98. .WORD MenuLeft+20
  99. .WORD MenuLeft+86
  100. .BYTE VERT | 5
  101. .WORD SUBM21
  102. .BYTE 0
  103. .WORD LOAD 
  104. .WORD SUBM22
  105. .BYTE 0
  106. .WORD SAVE 
  107. .WORD SUBM23
  108. .BYTE 0
  109. .WORD PRINT
  110. .WORD SUBM24
  111. .BYTE 0 
  112. .WORD QUIT
  113. .WORD SUBM25
  114. .BYTE 0
  115. .WORD SaveAs
  116. SUBM21 .BYTE 'Load',20,64,0,128,'L',0
  117. SUBM22 .BYTE 'Save',20,64,0,128,'S',0
  118. SUBM23 .BYTE 'Print',0
  119. SUBM24 .BYTE 'Quit',20,64,0,128,'Q',0
  120. SUBM25 .BYTE 'Save As...',0
  121. ; END SUBMENU 2
  122. ; START SUBMENU 3
  123. MEMSB3
  124. .BYTE MenuBotPos
  125. .BYTE MenuBotPos+4*14+1
  126. .WORD MenuLeft+41
  127. .WORD MenuLeft+105
  128. .BYTE VERT+4
  129. .WORD SUBM31
  130. .BYTE 0
  131. .WORD CUT
  132. .WORD SUBM32
  133. .BYTE 0
  134. .WORD COPY
  135. .WORD SUBM33
  136. .BYTE 0
  137. .WORD PASTE 
  138. .WORD SUBM34
  139. .BYTE 0
  140. .WORD CLEAR
  141. SUBM31 .BYTE 'Cut',20,83,0,128,'X',0
  142. SUBM32 .BYTE 'Copy',20,83,0,128,'C',0
  143. SUBM33 .BYTE 'Paste',20,83,0,128,'T',0
  144. SUBM34 .BYTE 'Clear',0
  145. MEMSB4
  146. .BYTE MenuBotPos
  147. .BYTE MenuBotPos+43
  148. .WORD MenuLeft+63
  149. .WORD MenuLeft+132
  150. .BYTE VERT+3
  151. .WORD SUBM41
  152. .BYTE 0
  153. .WORD FIND
  154. .WORD SUBM42
  155. .BYTE 0
  156. .WORD RPTSTR
  157. .WORD SUBM44
  158. .BYTE $80
  159. .WORD GoMenu 
  160. SUBM41 .BYTE 'Find...',20,110,0,128,'F',0
  161. SUBM42 .BYTE 'Replace...',20,110,0,128,'R',0
  162. SUBM44 .BYTE 'Go To...',0
  163. MEMSB5
  164. .BYTE MenuBotPos
  165. .BYTE MenuBotPos+15
  166. .WORD MenuLeft+99
  167. .WORD MenuLeft+142
  168. .BYTE VERT+1
  169. .WORD SUBM51
  170. .BYTE 0 
  171. .WORD IMPORT
  172. SUBM51 .BYTE 'Import',0
  173. GoMenu
  174. .Byte MenuBotPos
  175. .BYte MenuBotPos+4*14+1
  176. .Word MenuLeft+133
  177. .Word MenuLeft+214
  178. .Byte VERT | 4
  179. .Word GOM11
  180.  .Byte 0
  181. .Word DOPGUP
  182. .Word GOM12
  183. .Byte 0
  184. .Word DOPGDOWN
  185. .Word GOM13
  186. .Byte 0
  187. .Word DOTOP
  188. .Word GOM14
  189. .Byte 0
  190. .Word DOBOTTOM
  191. GOM11 .Byte 'Page-Up',20,198,0,BOLD,'F5',PLAIN,0
  192. GOM12 .Byte 'Page-Down',20,198,0,BOLD,'F7',PLAIN,0
  193. GOM13 .Byte 'Top',20,198,0,BOLD,'F6',PLAIN,0
  194. GOM14 .Byte 'Bottom',20,198,0,BOLD,'F8',PLAIN,0
  195. ;==  END OF MENU TABLES
  196. JSR GotoFirstMenu
  197. QUIT2
  198. JMP EnterDeskTop
  199. ;====
  200. ; DIALOG BOXES
  201. DB1 .BYTE 128+2
  202. .BYTE 11
  203. .BYTE 10
  204. .BYTE 30
  205. .WORD NCSTR
  206. .BYTE 11,10,50
  207. .WORD NCSTR2
  208. .Byte 11,10,70
  209. .Word NCSTR3
  210. .BYTE 14
  211. .BYTE 0
  212. NCSTR .BYTE 'This is a sample program to',0
  213. NCSTR2 .BYTE 'demonstrate the coding methods to use',0
  214. NCSTR3 .Byte 'in writing programs with geoCOPE',0
  215. ;APPLICATION CODE/MENUS AND ICONS.
  216. ;     Currently, all of the routines in the MenuSystem points
  217. ;to the NOCODE routine below.
  218. ; See how all the Lables are currently using the same routine.
  219. LOAD SAVE PRINT SaveAs CUT COPY PASTE CLEAR FIND REPLACE
  220. IMPORT RPTSTR DOPGUP DOPGDOWN DOTOP DOBOTTOM
  221. NOCODE
  222. JSR $C1BD ;GOTO FIRST MENU
  223. LDX #<DB1
  224. STX R0
  225. LDX #>DB1
  226. STX R0+1
  227. JSR $C256; DO DIALOG BOX
  228. ;------
  229. clrScreen
  230.  LDA #0
  231.  JSR SetPattern
  232.  jsr i_Rectangle
  233.  .Byte 0
  234.  .Byte 199
  235.  .Word 0
  236.  .Word 319
  237.