home *** CD-ROM | disk | FTP | other *** search
/ CBM Funet Archive / cbm-funet-archive-2003.iso / cbm / geos / programming / CopeAssembler.lnx / SampleMain (.txt) < prev    next >
Encoding:
GEOS ConVerT  |  1999-06-16  |  4.7 KB  |  232 lines

  1. sAMPLEmAIN
  2. prg FORMATTED geos FILE v1.0
  3. cope sOURCE v1.1
  4. GEOcope v1.00
  5. cope eDITOR v1.1
  6. uNTITLED
  7. sAMPLEmAIN
  8. @)@:@?@e@r@_@N@Z@
  9. /; ===
  10. ; menu structure OF GEOcope eDITOR
  11. ;  by bill sharp
  12. start
  13.  jsr nEWdISK
  14.  jsr mOUSEuP
  15.  jsr CLRsCREEN
  16. ldx #<icons
  17. stx r0
  18. ldx #>icons
  19. stx r0+1
  20. jsr dOiCONS ; setup icons
  21. ldx #<menus
  22. stx r0
  23. ldx #>menus
  24. stx r0+1
  25. lda #1 ; menu pos/mouse
  26. jsr dOmENU
  27. ; icon execution routine
  28. icons
  29. .byte 1        ; ONE iCON
  30. .word 160      ; x POSITION TO PLACE MOUSE
  31. .byte 0        ; y POSITION TO PLACE MOUS
  32. .word iCONdATA ; POINTER TO ICON bITmAP
  33. .byte 38        ; x POSITION IN BYTES TO PLACE iCON
  34. .byte 0         ; y POSITION IN SCANLINES TO PLACE iCON
  35. .byte 2,15      ; wIDTH IN BYTES, hEIGHT IN PIXELS
  36. .word quit2     ; cODE TO CALL
  37. ; THE ICON DATA IS STORED IN bITmAPuP FORMAT
  38. iCONdATA
  39. .byte 158
  40. .byte 255,255,0,0,255,255,128,01,128,1,128,1
  41. .byte 135,225,135,225,135,225
  42. .byte 128,01,128,01,128,01
  43. .byte 255,255
  44. .byte 0,0
  45. .byte 255,255
  46. menus
  47. .byte mENUtOPpOS
  48. .byte mENUbOTpOS
  49. .word mENUlEFT
  50. .word mENUrIGHT
  51. .byte horiz {$7c} 5 ; hORIZONTAL or'ED WITH 5 (FOR 5 ITEMS)
  52. .word memtx1 ; pOINTER TO tEXT FOR FIRST MENU POSITION
  53. .byte $80 ; sub-menu STRUCTURE
  54. .word memsb1  ; pOINTER TO sUB-mENU
  55. ;  tHE PATTERN FOR MENUS ARE THE SAME BELOW
  56. .word memtx2
  57. .byte $80
  58. .word memsb2
  59. .word memtx3
  60. .byte $80 ; sub-menu
  61. .word memsb3 ; sub-mem
  62. .word memtx4
  63. .byte $80 ; sub-menu
  64. .word memsb4
  65. .word memtx5
  66. .byte $80
  67. .word memsb5
  68. memtx1 .byte plain,128,0
  69. memtx2 .byte 'fILE',0
  70. memtx3 .byte 'eDIT',0
  71. memtx4 .byte 'sEARCH',0
  72. memtx5 .byte 'tOOLBOX',0
  73. ;== end of main menu structure
  74. ;== start of  sub-menus
  75. memsb1
  76. ;-----
  77.  memsb1x
  78. .byte mENUbOTpOS
  79. .byte mENUbOTpOS+15
  80. .word mENUlEFT
  81. .word mENUlEFT+81
  82. .byte vert+1 
  83. .word subm1 
  84. .byte 0 
  85. .word nocode ; pERFORM THIS ROUTINE WHEN MENU IS SELECTED
  86. ;-----
  87. subm1 .byte 'cope INFO',0
  88. ;end submenu1
  89. ;start submenu2
  90. memsb2
  91. .byte mENUbOTpOS
  92. .byte mENUbOTpOS+5*14+1
  93. .word mENUlEFT+20
  94. .word mENUlEFT+86
  95. .byte vert {$7c} 5
  96. .word subm21
  97. .byte 0
  98. .word load 
  99. .word subm22
  100. .byte 0
  101. .word save 
  102. .word subm23
  103. .byte 0
  104. .word print
  105. .word subm24
  106. .byte 0 
  107. .word quit
  108. .word subm25
  109. .byte 0
  110. .word sAVEaS
  111. subm21 .byte 'lOAD',20,64,0,128,'l',0
  112. subm22 .byte 'sAVE',20,64,0,128,'s',0
  113. subm23 .byte 'pRINT',0
  114. subm24 .byte 'qUIT',20,64,0,128,'q',0
  115. subm25 .byte 'sAVE aS...',0
  116. ; end submenu 2
  117. ; start submenu 3
  118. memsb3
  119. .byte mENUbOTpOS
  120. .byte mENUbOTpOS+4*14+1
  121. .word mENUlEFT+41
  122. .word mENUlEFT+105
  123. .byte vert+4
  124. .word subm31
  125. .byte 0
  126. .word cut
  127. .word subm32
  128. .byte 0
  129. .word copy
  130. .word subm33
  131. .byte 0
  132. .word paste 
  133. .word subm34
  134. .byte 0
  135. .word clear
  136. subm31 .byte 'cUT',20,83,0,128,'x',0
  137. subm32 .byte 'cOPY',20,83,0,128,'c',0
  138. subm33 .byte 'pASTE',20,83,0,128,'t',0
  139. subm34 .byte 'cLEAR',0
  140. memsb4
  141. .byte mENUbOTpOS
  142. .byte mENUbOTpOS+43
  143. .word mENUlEFT+63
  144. .word mENUlEFT+132
  145. .byte vert+3
  146. .word subm41
  147. .byte 0
  148. .word find
  149. .word subm42
  150. .byte 0
  151. .word rptstr
  152. .word subm44
  153. .byte $80
  154. .word gOmENU 
  155. subm41 .byte 'fIND...',20,110,0,128,'f',0
  156. subm42 .byte 'rEPLACE...',20,110,0,128,'r',0
  157. subm44 .byte 'gO tO...',0
  158. memsb5
  159. .byte mENUbOTpOS
  160. .byte mENUbOTpOS+15
  161. .word mENUlEFT+99
  162. .word mENUlEFT+142
  163. .byte vert+1
  164. .word subm51
  165. .byte 0 
  166. .word import
  167. subm51 .byte 'iMPORT',0
  168. gOmENU
  169. .bYTE mENUbOTpOS
  170. .byTE mENUbOTpOS+4*14+1
  171. .wORD mENUlEFT+133
  172. .wORD mENUlEFT+214
  173. .bYTE vert {$7c} 4
  174. .wORD gom11
  175.  .bYTE 0
  176. .wORD dopgup
  177. .wORD gom12
  178. .bYTE 0
  179. .wORD dopgdown
  180. .wORD gom13
  181. .bYTE 0
  182. .wORD dotop
  183. .wORD gom14
  184. .bYTE 0
  185. .wORD dobottom
  186. gom11 .bYTE 'pAGE-uP',20,198,0,bold,'f5',plain,0
  187. gom12 .bYTE 'pAGE-dOWN',20,198,0,bold,'f7',plain,0
  188. gom13 .bYTE 'tOP',20,198,0,bold,'f6',plain,0
  189. gom14 .bYTE 'bOTTOM',20,198,0,bold,'f8',plain,0
  190. ;==  end of menu tables
  191. jsr gOTOfIRSTmENU
  192. quit2
  193. jmp eNTERdESKtOP
  194. ;====
  195. ; dialog boxes
  196. db1 .byte 128+2
  197. .byte 11
  198. .byte 10
  199. .byte 30
  200. .word ncstr
  201. .byte 11,10,50
  202. .word ncstr2
  203. .bYTE 11,10,70
  204. .wORD ncstr3
  205. .byte 14
  206. .byte 0
  207. ncstr .byte 'tHIS IS A SAMPLE PROGRAM TO',0
  208. ncstr2 .byte 'DEMONSTRATE THE CODING METHODS TO USE',0
  209. ncstr3 .bYTE 'IN WRITING PROGRAMS WITH GEOcope',0
  210. ;application code/menus and icons.
  211. ;     cURRENTLY, ALL OF THE ROUTINES IN THE mENUsYSTEM POINTS
  212. ;TO THE nocode ROUTINE BELOW.
  213. ; sEE HOW ALL THE lABLES ARE CURRENTLY USING THE SAME ROUTINE.
  214. load save print sAVEaS cut copy paste clear find replace
  215. import rptstr dopgup dopgdown dotop dobottom
  216. nocode
  217. jsr $c1bd ;goto first menu
  218. ldx #<db1
  219. stx r0
  220. ldx #>db1
  221. stx r0+1
  222. jsr $c256; do dialog box
  223. ;------
  224. CLRsCREEN
  225.  lda #0
  226.  jsr sETpATTERN
  227.  JSR I_rECTANGLE
  228.  .bYTE 0
  229.  .bYTE 199
  230.  .wORD 0
  231.  .wORD 319
  232.