home *** CD-ROM | disk | FTP | other *** search
/ CBM Funet Archive / cbm-funet-archive-2003.iso / cbm / geos / programming / source / UTILITIES1-SRC.cvt (.txt) < prev   
Encoding:
GEOS ConVerT  |  1998-01-13  |  5.5 KB  |  237 lines

  1. utilities1-src
  2. prg FORMATTED geos FILE v1.0
  3. wRITE iMAGE v2.0
  4. GEOwRITE    v2.0
  5. t-gRAB dATA v2
  6. pLEASE sELECT oPTION:
  7. NEW DOCUMENT
  8. EXISTING DOCUMENT
  9. TO DESKtOP
  10. iNSERT NEW DISK INTO DISK 
  11. .IF (0)
  12. ***************************************************
  13. gENERIC dISK eRROR hANDLER
  14. @aUTHOR:
  15. wILLIAM c. cOLEMAN
  16. @dATE:
  17. 22 mARCH 1988
  18. @nOTICE:
  19. cOPYRIGHT (c) 1988, bLASTERsOFT, wILLIAM c. cOLEMAN
  20. PAGE 1TABLES AND TEXT STRINGS FOR dISKeRROR.
  21. PAGE 2dISKeRROR
  22. PAGE 3hIbEEP,lOWbEEP,bEEP
  23. PAGE 4cLEARsCREEN
  24. ***************************************************
  25. .ENDIF
  26. .IFpASS1
  27. .NOEQIN
  28. .NOGLBL
  29. .INCLUDEGEOSsYM
  30. .INCLUDEGEOSmAC
  31. .EQIN
  32. .GLBL
  33. .ENDIF
  34. .PSECT
  35. @deRR_bOX:
  36. .BYTEdef_db_pos{$7c}1
  37. .BYTEdbtxtstr,42,txt_ln_1_y
  38.  .WORDDERRTEXT
  39. .BYTEdbvarstr,txt_ln_x,txt_ln_3_y,R5
  40. .BYTEdb_usr_rout
  41.  .WORDhIbEEP
  42. .BYTEok,dbi_x_2,dbi_y_2
  43. .BYTEnull
  44. @ERR1:
  45. .BYTE "nOT eNOUGH bLOCKS",null
  46. @ERR2:
  47. .BYTE "iNVALID tRACK",null
  48. @ERR3:
  49. .BYTE "iNSUFFICIENT sPACE",null
  50. @ERR4:
  51. .BYTE "dIRECTORY IS fULL",null
  52. @ERR5:
  53. .BYTE "fILE nOT fOUND",null
  54. @ERR6:
  55. .BYTE "bAD bam IN dRIVE",null
  56. @ERR7:
  57. .BYTE "cAN'T oRGANIZE A reu",null  ;sHOULD BE unopen_vlir_file
  58. @ERR10:
  59. .BYTE "gEOS sTRUCTURE mISMATCH",null
  60. @ERR11:
  61. .BYTE "bUFFER oVERfLOW",null
  62. @ERR12:
  63. .BYTE "dIRECTORY IS eMPTY",null     ;sHOULD BE cancel_err
  64. @ERR13:
  65. .BYTE "dEVICE nOT pRESENT",null
  66. @ERR20:
  67. .BYTE "nO hEADER bLOCK",null
  68. @ERR21:
  69. .BYTE "uNFORMATTED OR mISSING dISK",null
  70. @ERR22:
  71. .BYTE "nO dATA bLOCK fOUND",null
  72. @ERR23:
  73. .BYTE "dATA cHECKSUM eRROR",null
  74. @ERR24:
  75. .BYTE "iNCOMPATABLE fILETYPES",null
  76. @ERR25:
  77. .BYTE "wRITE vERIFY eRROR",null
  78. @ERR26:
  79. .BYTE "wRITE pROTECT oN",null
  80. @ERR27:
  81. .BYTE "hEADER cHECKSUM eRROR",null
  82. @ERR29:
  83. .BYTE "dISK id mISMATCH",null
  84. @ERR73:
  85. .BYTE "dos mISMATCH",null
  86. @ERRXX:
  87. .BYTE "uNRECOGNIZED eRROR cODE",null
  88. @DERRTEXT:
  89. .BYTE boldon,"* dISK eRROR *",null
  90. @ERRTAB:
  91. .WORDERR1,ERR2,ERR3,ERR4,ERR5,ERR6,ERRXX
  92. .WORDERRXX,ERRXX,ERR10,ERR11,ERR12,ERR13
  93. @ERRTABHI:
  94. .WORDERR20,ERR21,ERR22,ERR23,ERR24,ERR25,ERR26,ERR27,ERRXX,ERR29
  95. ;**************************************************
  96. @dISKeRROR
  97.  - oPENS AN ok DIALOG BOX TO INFORM USER THAT THERE
  98. ;WAS A DISK ERROR.
  99. @pASS:
  100. x - ERROR CODE
  101. @rETURN:
  102. NOTHING
  103. ;**************************************************
  104. @dISKeRROR:
  105. PHA;sAVE REGISTERS
  106. TXA
  107. PHA
  108. TYA
  109. PHA
  110. pUSHwR5
  111. pUSHbCURRENTmODE
  112. CPX#$20
  113. BCS01$;bRANCH IF HIGH ERROR
  114. DEX
  115. TXA
  116. ASLA
  117. TAY
  118. BRA04$
  119. @01$:
  120. CPX#$73;tHIS ONE IS NOT CONSECUTIVE...
  121. BNE02$;...SO WE CHECK IT BY HAND
  122. lOADwR5,ERR73
  123. BNE05$;aLWAYS BRANCHES
  124. @02$:
  125. CPX#$2A;hIGHEST ERROR CODE+1
  126. BCC03$
  127. lOADwR5,ERRXX;uNRECOGNIZED ERROR
  128. BNE05$;aLWAYS BRANCHES
  129. @03$:
  130. TXA;dO HIGH ERROR GROUP
  131. SBC#$1F
  132. ASLA
  133. TAY
  134. @04$:
  135. LDAERRTABHI,Y
  136. STAR5l
  137. LDAERRTABHI+1,Y
  138. STAR5h
  139. @05$:
  140. lOADwR0,deRR_bOX
  141. JSRdOdLGbOX
  142. pOPbCURRENTmODE
  143. pOPwR5
  144. PLA
  145. TAX
  146. PLA
  147. TAY
  148. PLA
  149. RTS
  150. ;**************************************************
  151. @hIbEEP, lOWbEEP
  152.  - gENERATES A BELL-LIKE TONE.
  153. @pASS,rETURN,dESTROYED:
  154. nOTHING
  155. ;**************************************************
  156. @lOWbEEP:
  157. PHA
  158. TXA
  159. PHA
  160. TYA
  161. PHA
  162. LDX#40
  163. BNElbp_
  164. @hIbEEP:
  165. PHA
  166. TXA
  167. PHA
  168. TYA
  169. PHA
  170. LDX#20
  171. @lbp_:
  172. JSRbEEP
  173. PLA
  174. TAY
  175. PLA
  176. TAX
  177. PLA
  178. RTS
  179. ;**************************************************
  180. @bEEP
  181.  -gENERATES A BELL-LIKE TONE.
  182. @pASS:
  183.   x - FREQUENCY
  184. @rETURN:
  185.  vOLUME LEFT AT MAXIMUM
  186. @dESTROYED: 
  187. a,x,y
  188. ;**************************************************
  189. @bEEP:
  190. SEI
  191. lOADbcpu_data,io_in
  192. STXSIDBASE+1
  193. LDY#0
  194. STYSIDBASE+5;y WILL BE USED IN LOOP
  195. lOADbSIDBASE+6,%11111001
  196. lOADbSIDBASE+15,55
  197. lOADbSIDBASE+24,15
  198. LDX#%00010101
  199. STXSIDBASE+4;gATE SOUND ON
  200. @01$:
  201. DEY
  202. BNE01$
  203. DEX
  204. BNE01$
  205. lOADbSIDBASE+4,%00010100
  206. lOADbcpu_data,ram_64k
  207. CLI
  208. RTS
  209. ;**************************************************
  210. @cLEARsCREEN
  211.  - cLEARS THE SCREEN *FAST* TO BG 0
  212. ;**************************************************
  213. @cLEARsCREEN:
  214. lOADwR0,screen_base
  215. lOADwR1,back_scr_base
  216. LDX#$7D
  217. @01$:
  218. LDY#$3F
  219. LDA#0
  220. @02$:
  221. STA(R0),Y
  222. STA(R1),Y
  223. DEY
  224. BPL02$
  225. LDAR0l
  226. ADD#$40
  227. STAR0l
  228. STAR1l
  229. BCC03$
  230. INCR0h
  231. INCR1h
  232. @03$:
  233. DEX
  234. BNE01$
  235. RTS
  236. ;************************  eof: utilities
  237.