home *** CD-ROM | disk | FTP | other *** search
/ CBM Funet Archive / cbm-funet-archive-2003.iso / cbm / geos / programming / source / unlock.lnx / unLock (.txt) next >
Encoding:
GEOS ConVerT  |  1999-06-16  |  4.3 KB  |  168 lines

  1. UNlOCK
  2. prg FORMATTED geos FILE v1.0
  3. wRITE iMAGE v2.0
  4. rED sTORM
  5. GEOwRITE    v1.1
  6.   tHIS FILE WAS CREATED WITH
  7. wRONG IS wRITE.
  8.   wRITTEN BY jOE bUCKLEY.
  9. @;UNlOCK
  10. .IFpASS1
  11. .INCLUDEGEOSsYM
  12. .INCLUDEGEOSmAC
  13. .INCLUDEUNlOCKeQUA
  14. .ENDIF
  15. ;__________________________________
  16. .PSECT
  17. BEGINPROG:lOADbDISPbUFFERoN, #(st_wr_fore {$7c} st_wr_back)
  18. LDA#0;SETS WHITE PATTERN
  19. JSRsETpATTERN
  20. JSRI_rECTANGLE;CLEARS BOTH SCREENS
  21. .BYTE0,199
  22. .WORD0,319
  23. lOADbDISPbUFFERoN, #st_wr_fore 
  24. LDA#0
  25. JSRsETpATTERN
  26. JSRI_rECTANGLE;DRAWS TITLE BOX W/FRAME
  27. .BYTE150,195
  28. .WORD70,250
  29. JSRI_fRAMErECTANGLE
  30. .BYTE150,195
  31. .WORD70,250
  32. .BYTE255
  33. JSRI_pUTsTRING
  34. .WORD128
  35. .BYTE165,boldon,"- UNlOCK -",plaintext,0
  36. JSRI_pUTsTRING
  37. .WORD94
  38. .BYTE180,boldon,"aUTHOR:  ",plaintext,"nANCY wERTZBERGER",0
  39. CONTPROG:lOADbOPfLAG, #0
  40. lOADbSECTpTR, #2
  41. lOADbHDRpTR, #21
  42. lOADbTRACK, #18
  43. lOADbSECTOR, #1
  44. mOVEbCURdIRhEAD+off_op_tr_sc,OPtRACK
  45. mOVEbCURdIRhEAD+off_op_tr_sc+1,OPsECT
  46. JSRDISKNAME
  47. LDANUMdRIVES
  48. CMP#2
  49. BEQTWODRIVES
  50. lOADwR0, #FIRSTBOX
  51. JMPDOBOX
  52. TWODRIVES:LDACURdRIVE
  53. SBC#8
  54. LDADRIVEtYPE,X
  55. AND#128
  56. BNERAM
  57. lOADwR0, #SECBOX
  58. JMPDOBOX
  59. RAM:lOADwR0, #RAMBOX
  60. DOBOX:JSRdOdLGbOX
  61. LDAR0l
  62. CMP#cancel
  63. BNECONT1
  64. JMPeNTERdESKtOP
  65. CONT1:LDAR0l
  66. CMP#yes
  67. BEQREADSECT
  68. LDAR0l
  69. CMP#11;drive CHOSEN
  70. BNECONT2
  71. JSRCHANGEDRIVE
  72. JMPCONTPROG
  73. CONT2:lOADwR0, #CHGDISKBOX
  74. JSRdOdLGbOX
  75. JSRoPENdISK
  76. JMPCONTPROG
  77. READSECT:mOVEbTRACK, R1l
  78. mOVEbSECTOR, R1h
  79. lOADwR4, #DISKbLKbUFF
  80. JSRgETbLOCK
  81. mOVEbDISKbLKbUFF, NXTtRACK
  82. mOVEbDISKbLKbUFF+1, NXTsECT
  83. lOADbENDsECTfLAG, #0
  84. READENT:LDXSECTpTR
  85. NEXTFILE:LDADISKbLKbUFF,X
  86. CMP#0
  87. BEQADD32
  88. CMP#$c0
  89. BCSUNLOCK
  90. JMPADD32
  91. UNLOCK:SUB#$40
  92. STADISKbLKbUFF,X
  93. STATEMP1
  94. LDXHDRpTR
  95. mOVEb"DISKbLKbUFF,X", R1l
  96. mOVEb"DISKbLKbUFF,X", R1h
  97. lOADwR4, #FILEhEADER
  98. JSRgETbLOCK
  99. LDX#68
  100. mOVEbTEMP1,"FILEhEADER,X"
  101. mOVEb"DISKbLKbUFF,X", R1l
  102. mOVEb"DISKbLKbUFF,X", R1h
  103. lOADwR4, #FILEhEADER
  104. JSRpUTbLOCK
  105. ADD32:aDDvbENToFF, SECTpTR
  106. BCCNEXTFILE
  107. mOVEbTRACK, R1l
  108. mOVEbSECTOR, R1h
  109. lOADwR4, #DISKbLKbUFF
  110. JSRpUTbLOCK
  111. LDANXTtRACK
  112. CMP#0
  113. BNEJMPSECT
  114. lOADbENDsECTfLAG, #1
  115. JMPNEXTSECT
  116. JMPSECT:mOVEbNXTtRACK, TRACK
  117. mOVEbNXTsECT,SECTOR
  118. JMPREADSECT
  119. NEXTSECT:LDAOPfLAG
  120. CMP#0
  121. BNEDONEP1
  122. mOVEbOPtRACK,TRACK
  123. mOVEbOPsECT,SECTOR
  124. lOADbOPfLAG, #1
  125. JMPREADSECT
  126. DONEP1:JMPDONECANCEL
  127. SECTENDCK:LDAENDsECTfLAG
  128. CMP#0
  129. BEQADDLOOPP1
  130. JMPNEXTSECT
  131. ADDLOOPP1:JMPADD32
  132. DONECANC:lOADwR0, #ENDBOX
  133. JSRdOdLGbOX 
  134. LDAR0l
  135. CMP#yes
  136. BNEOUT
  137. JMPCONT2
  138. OUT:JMPeNTERdESKtOP
  139. ;__________________________________
  140. DISKNAME:LDXCURdRIVE
  141. LDY#0
  142. DRIVENO:CPX#9
  143. BEQDRIVEB
  144. LDAdRacURdKnM,Y
  145. JMPENDNAME
  146. DRIVEB:LDAdRbcURdKnM,Y
  147. ENDNAME:CMP#$A0
  148. BEQNEXT
  149. STADISKnAME,Y
  150. CPY#17
  151. BEQNEXT
  152. JMPDRIVENO
  153. NEXT:lOADb"DISKnAME,Y", #0
  154. RTS
  155. ;__________________________________
  156. CHANGEDRIVE:LDACURdRIVE
  157. CMP#8
  158. BEQNINE
  159. LDA#8
  160. JMPSETDVC
  161. NINE:LDA#9
  162. SETDVC:JSRsETdEVICE
  163. JSRoPENdISK
  164. @__________________________________
  165. DRIVEROUTINE:lOADbSYSdbdATA, #11
  166. JMPrSTRfRMdIALOGUE
  167. @unlock  date  pAGE--page     .
  168.