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

  1. sYSTEM
  2. prg FORMATTED geos FILE v1.0
  3. cope sOURCE v1.1
  4. cope eDITOR v1.1
  5. eQUATES, CONSTANTS, AND ROUTINES.
  6. @4@r@D@T@
  7. ; *****************
  8. ; *     equates for geos editor
  9. ; *             by bill sharp
  10. ; ***************
  11. CURdEVICE = $ba
  12. stpat = $c139
  13. ilrect = $c19f
  14. horlin = $c118
  15. disbuf = $002f
  16. r0 = $02
  17. r1 = $04
  18. r1l = $04
  19. r1h = $05
  20. r2 = $06
  21. r3 = $08
  22. r4 = $0a
  23. r5 = $0c
  24. r6 = $0e
  25. r7 = $10
  26. r8 = $12
  27. r9 = $14
  28. r10 = $16
  29. r11 = $18
  30. r12 = $1a
  31. r13 = $1c
  32. keyvec = $84a3
  33. stfvec = $84ab
  34. keydta = $8504
  35. putchr = $c145
  36. entdsk = $c22c
  37. bold = 24
  38. plain = 27
  39. horiz = 0
  40. vert = 128
  41. mact = 0
  42. mantop = 0
  43. manbot = 14
  44. manlft = 0
  45. a0 = $fb
  46. a1 = $fd
  47. manrt = 142
  48. a2 = $70
  49. a3 = $72
  50. a4 = $74
  51. a5 = $76
  52. a6 = $78
  53. a7 = $7a
  54. a8 = $7c
  55. a9 = $7e
  56. start1 = a2
  57. end = a3
  58. dist = a4
  59. cbp = a5
  60. sob = a6
  61. eob = a7
  62. linel1 = a8
  63. misc = a9
  64. strinx = $84be
  65. striny = $84c0
  66. crmode = $2e
  67. memtop = $57
  68. membot = $59
  69. curpos = $5b
  70. pc = a0
  71. pcram = a1
  72. x_cAN = 72
  73. y_cAN = 72
  74. lINEcOUNT = 15 ;NUMBER OF LINES ON THE SCREEN
  75. MOUSExpOS = $3a
  76. MOUSEypOS = $3c
  77. ; constants
  78. CURdRIVE = $8489
  79. CURrECORD = $8496
  80. DIReNTRYbUF = $8400
  81. fILEhEADER = $8100
  82. curdhd = $8200
  83. NUMdRIVES = $848d
  84. SYSdbdATA = $851d
  85. ;----
  86. ; note:
  87. ;  tHE MORE LABELS YOU HAVE THE SLOWER THE aSSEMBLER
  88. ;  WILL RUN.  pLACE A SEMI-COLON IN FRONT OF THE ROUTINES
  89. ;  YOU WILL NOT BE USING.
  90. ;misc
  91. ;bOOTgeos     =  $c000
  92. ;rESEThANDLE   =  $c003
  93. ;iNTERRUPTmAIN  =  $c100
  94. ; processes
  95. ;iNITpROCESSES   =  $c103
  96. ;rESTARTpROCESS =  $c106
  97. ;eNABLEpROCESS  =  $c109
  98. ;bLOCKpROCESS   =  $c10c
  99. ;uNBLOCKpROCESS =  $c10f
  100. ;fREEZEpROCESS  =  $c112
  101. ;uNFREEZEpROCESS = $c115
  102. ; graphics
  103.  hORIZONTALlINE   =  $c118
  104.  iNVERTlINE       =  $c11b
  105.  rECOVERlINE    = $c11e
  106.  vERTICALlINE     = $c121
  107.  rECTANGLE      = $c124
  108.  fRAMErECTANGLE = $c127
  109.  iNVERTrECTANGLE = $c12a
  110.  rECOVERrECTANGLE = $c12d
  111.  dRAWlINE  = $c130
  112.  dRAWpOINT = $c133
  113.  gRAPHICSsTRING = $c136
  114.  sETpATTERN =$c139
  115.  gETsCANlINE = $c13c
  116.  tESTpOINT = $c13f
  117. ; background generation
  118.  bITMAPuP = $c142
  119. ;  character manipulation
  120.  pUTcHAR = $c145
  121.  pUTsTRING = $c148
  122.  uSEsYSTEMfONT = $c14b
  123. ; mouse & menus
  124.  sTARTmOUSEmODE = $c14e
  125.  rECOVERmENU = $c154
  126.  rECOVERaLLmENUS = $c157
  127.  dOiCONS = $c15a
  128. ; utilities
  129. ;dsHIFTlEFT = $c15d
  130. ;bbmULT = $c160
  131. ;bmULT = $c163
  132. ;dmULT = $c166
  133. ;dDIV = $c169
  134. ;dsDIV = $c16c
  135. ;dABS = $c16f
  136. ;dNEGATE = $c172
  137. ;dDEC = $c175
  138. ;cLEARrAM = $c178
  139. ;fILLrAM = $c17b
  140. ;mOVEdATA = $c17e
  141. ;iNITrAM = $c181
  142. ;pUTdECIMAL = $c184
  143. ;gETrANDOM = $c187
  144. ; misc mouse, menu, graphics, sleep
  145.  mOUSEuP = $c18a
  146.  mOUSEoFF = $c18d
  147.  dOpREVIOUSmENU = $c190
  148.  rEdOmENU = $c193
  149.  gETsERIALnUMBER = $c196
  150.  sLEEP = $c199
  151.  cLEARmOUSEmODE = $c19c
  152.  I_rECTANGLE = $c19f
  153.  I_fRAMErECTANGLE = $c1a2
  154.  I_rECOVERrECTANGLE = $c1a5
  155.  I_gRAPHICSsTRING = $c1a8
  156. ;  background generation
  157.  I_bITMAPuP = $c1ab
  158. ; character manipulatiion
  159.  I_pUTsTRING = $c1ae
  160.  gETrEALsIZE = $c1b1
  161. ;      mouse & menus
  162. ;      utilities
  163. ;I_fILLrAM = $c1b4
  164. ;I_mOVEdATA = $c1b7
  165. ; routines added later
  166. ;gETsTRING = $c1ba
  167.  gOTOfIRSTmENU = $c1bd
  168. ;iNITtEXTpROMPT = $c1c0
  169. ;mAINlOOP = $c1c3
  170. ;dRAWsPRITE = $c1c6
  171. ;gETcHARwIDTH = $c1c9
  172. ;lOADcHARsET = $c1cc
  173. ;pOSsPRITE = $c1cf
  174. ;eNABLsPRITE = $c1d2
  175. ;dISABLsPRITE = $c1d5
  176. ;cALLrOUTINE = $c1d8
  177. ;cALCbLKSfREE = $c1db
  178. ;cHKdKgeos = $c1de
  179.  nEWdISK = $c1e1
  180.  gETbLOCK = $c1e4
  181.  pUTbLOCK = $c1e7
  182. ;sETgeosdISK = $c1ea
  183.  sAVEfILE = $c1ed
  184. ;sETgdIReNTRY = $c1f0
  185. ;bLDgdIReNTRY = $c1f3
  186. ;gETfREEdIRbLK = $c1f6
  187.  wRITEfILE = $c1f9
  188. ;bLKaLLOC = $c1fc
  189.  rEADfILE = $c1ff
  190. ;sMALLpUTcHAR = $c202
  191. ;fOLLOWcHAIN = $c205
  192.  gETfILE = $c208
  193.  fINDfILE = $c20b
  194. ;crc = $c20e
  195.  lDfILE = $c211
  196. ;eNTERtURBO = $c214
  197. ;lDdESKaCC = $c217
  198.  rEADbLOCK = $c21a
  199. ;lDaPPLIC = $c21d
  200. ;wRITEbLOCK = $c220
  201. ;vERwRITEbLOCK = $c223
  202. ;fREEfILE = $c226
  203.  gETfhDRiNFO = $c229
  204.  eNTERdESKtOP = $c22c
  205. ;sTARTaPPL = $c22f
  206. ;eXITtURBO = $c232
  207. ;pURGEtURBO = $c235
  208.  dELETEfILE = $c238
  209.  fINDftYPES = $c23b
  210. ;rSTRaPPL = $c23e
  211. ;tObASIC = $c241
  212. ;fASTdELfILE = c244
  213. ;gETdIRhEAD = $c247
  214. ;pUTdIRHEAD = $c24a
  215. ;nXTbLKaLLOC = $c24d
  216. ;iMPRINTrECTANGLE = $c250
  217. ;I_iMPRINTrECTANGLE = $c253
  218.  dOdLGbOX = $c256
  219. ;rENAMEfILE = $c259
  220. ;iNITfORio = $c25c
  221. ;dONEwITHio = $c25f
  222. ;dsHIFTrIGHT = $c262
  223. ;cOPYsTRING = $c265
  224. ;cOPYfsTRING = $c268
  225. ;cMPsTRING = $c26b
  226. ;cMPfsTRING = $c26e
  227. ;fIRSTiNIT = $c271
  228.  oPENrECORDfILE = $c274
  229.  cLOSErECORDfILE = $c277
  230.  nEXTrECORD = $c27a
  231.  pREVIOUSrECORD = $c27d
  232.  pOINTrECORD = $c280
  233.  dELETErECORD = $c283
  234.  iNSERTrECORD = $c286
  235.  aPPENDrECORD = $c289
  236.  rEADrECORD = $c28c
  237.  wRITErECORD = $c28f
  238. ;sETnEXTfREE = $c292
  239. ;uPDATErECORDfILE = $c295
  240.  gETpTRcURdKnM = $c298
  241. ;pROMPToN = $c29b
  242. ;pROMPToFF = $c29e
  243.  oPENdISK = $c2a1
  244. ;dOiNLINErETURN = $c2a4
  245. ;gETnEXTcHAR = $c2a7
  246. ;bITMAPcLIP = $c2aa
  247. ;fINDbambIT = $c2ad
  248.  sETdEVICE = $c2b0
  249.  iSmSEiNrEGION = $c2b3
  250. ;rEADbYTE = $c2b6
  251. ;fREEbLOCK = $c2b9
  252. ;cHANGEdISKdEVICE = $c2bc
  253. ;rSTRfRMdIALOG = $c2bf
  254. ;pANIC = $c2c2
  255. ;bIToTHERcLIP = $c2c5
  256. ;sTASHram = $c2c8
  257. ;fETCHram = $c2cb
  258. ;sWAPram = $c2ce
  259. ;vERIFYram = $c2d1
  260. ;dOramoP = $c2d4
  261. ;maCROS FOR aSSEMBLER
  262. ;------
  263. ; macros
  264. .mac LOADW; EXAMP.LE LOAD r0:MEMUS
  265. LDX #<?2
  266. STX ?1
  267. LDX #>?2
  268. STX ?1+1
  269. ;----
  270. ; THIS MACRO SETS UP THE MENU STRUCTURE
  271. .mac MENU
  272. .wORD ?1
  273. .bYTE ?2
  274. .wORD ?3
  275. ;-----
  276. .mac MOVEW
  277.  LDX ?1
  278.  STX ?2
  279.  LDX ?1+1
  280.  STX ?2+1
  281. ;----
  282. .mac ADDW
  283. LDA ?1
  284. ADC ?2
  285. STA ?2
  286. LDA ?1+1
  287. ADC ?2+1
  288. STA ?2+1
  289. ;----
  290. .mac ADDY
  291. ADC ?1
  292. STA ?1
  293. LDA ?1+1
  294. ADC #0
  295. STA ?1+1
  296. ;----
  297. ;-----
  298.