home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / genie-commodore-file-library / C64Toolkit / ADDISKED075.ARC / DISK.4 < prev    next >
Text File  |  2019-04-13  |  6KB  |  245 lines

  1.  
  2. ;DISK.4
  3. ;
  4. ;--------------------------------
  5. ;        SUBROUTINES #1
  6. ;--------------------------------
  7. ;
  8. PRINTIT STX TEMP1:STY TEMP1+1
  9. LDY #0:PRT1 LDA (TEMP1),Y
  10. BEQ PRT2:PRT3 JSR PRINT:INY
  11. BNE PRT1:INC TEMP1+1:JMP PRT1
  12. PRT2 RTS
  13. ;
  14. FLASH LDA CRSR+2:STA TEMP1
  15. LDA #4:STA TEMP1+1
  16. FLS3 LDY #0:FLASHD LDA #0:STA 162
  17. STY TEMP3:LDA (TEMP1),Y:STA TEMP2
  18. FLS4 LDA 162:BMI FLS5
  19. LDY TEMP3:LDA (TEMP1),Y:EOR #128
  20. STA (TEMP1),Y:LDX #15:FLS7 LDY #0
  21. FLS6 DEY:BNE FLS6:DEX:BNE FLS7
  22. LDA #235:STA 162
  23. FLS5 JSR GETIN:BEQ FLS4
  24. STA TEMP2+1:TAX:LDA TEMP2
  25. LDY TEMP3:STA (TEMP1),Y:TXA:RTS
  26. ;
  27. INPUT LDY #0
  28. INP1 JSR FLASHD
  29. INP2 CMP #13:BEQ RET
  30. INP3 CMP #20:BEQ BCKUP
  31. INP4 CMP #157:BEQ BCKUP
  32. INP5 CMP #29:BEQ RGHT
  33. INP6 CMP #$30:BCC INP1
  34. CMP #$3A:BCC RGHT:LDX HEX:BEQ INP1
  35. CMP #65:BCC INP1:CMP #71:BCS INP1
  36. RGHT JSR PRINT
  37. LDY TEMP3:CPY LEN
  38. BEQ INP9:INY:JMP INP1
  39. BCKUP LDY TEMP3:BEQ INP1:DEY
  40. INP9 LDA #157:JSR PRINT:JMP INP1
  41. RET LDY #255:INP7 INY:LDA (TEMP1),Y
  42. STA XSTR,Y:CPY LEN:BNE INP7
  43. LDY #0:STY XNUM:STY XNUM+1
  44. STY TEMP1:STY TEMP1+1:DEY
  45. LDA HEX:BNE INP10
  46. INP8 INY:LDA XSTR,Y:CMP #32
  47. BEQ INP11:ASL XNUM:ROL XNUM+1
  48. ASL XNUM:ROL XNUM+1:CLC
  49. LDA TEMP1:ADC XNUM:STA XNUM
  50. LDA TEMP1+1:ADC XNUM+1:STA XNUM+1
  51. ASL XNUM:ROL XNUM+1:LDA XSTR,Y
  52. AND #$0F:CLC:ADC XNUM:STA XNUM
  53. LDA #0:ADC XNUM+1:STA XNUM+1
  54. LDA XNUM:STA TEMP1:LDA XNUM+1
  55. STA TEMP1+1:INP11 CPY LEN
  56. BNE INP8:RTS
  57. INP10 INY:ASL XNUM:ROL XNUM+1
  58. ASL XNUM:ROL XNUM+1:ASL XNUM
  59. ROL XNUM+1:ASL XNUM:ROL XNUM+1
  60. LDA XSTR,Y:CMP #$30:BCS INP12
  61. CLC:ADC #9:INP12 AND #$0F:ORA XNUM
  62. STA XNUM:CPY LEN:BNE INP10
  63. LDA #0:STA HEX:RTS
  64. ;
  65. OPN15 LDA #15:LDX DV:LDY #15
  66. JSR SETLFS:LDA #0:JSR SETNAM
  67. JSR OPEN:BCC OP1:TAX:PLA:PLA
  68. TXA:JMP HNDERR:OP1 LDA #2
  69. LDX DV:TAY:JSR SETLFS:LDA #1
  70. LDX #<FLNM:LDY #>FLNM
  71. JSR SETNAM:JSR OPEN:RTS
  72. ;
  73. SNDCMD STX TEMP1:STY TEMP1+1
  74. LDX #15:JSR CHKOUT:LDX TEMP1
  75. STY TEMP1+1:JSR PRINTIT
  76. LDA DR:JSR PRINT:LDA #$2C
  77. JSR PRINT:LDA #0:LDX TRCK
  78. JSR OUTNUM:LDA #$2C:JSR PRINT
  79. LDA #0:LDX SCTR:JSR OUTNUM
  80. LDA #13:JSR PRINT:JSR CLRCHN:RTS
  81. ;
  82. RDERR LDX #15:JSR CHKIN:LDY #0
  83. RD1 JSR GETIN:STA ERROR,Y
  84. INY:CMP #13:BNE RD1:LDA #0
  85. STA ERROR,Y:STA TEMP2:JSR CLRCHN
  86. RTS
  87. ;
  88. CLS15 LDA #2:JSR CLOSE
  89. LDA #15:JSR CLOSE:JSR CLRCHN:RTS
  90. ;
  91. HNDERR STA TEMP2:LDX #<DSKERR
  92. LDY #>DSKERR:JSR PRINTIT
  93. LDA TEMP2:CMP #5:BNE HND1
  94. LDX #<DVNT:LDY #>DVNT:BNE HND2
  95. HND1 LDX #<ERROR:LDY #>ERROR
  96. HND2 JSR PRINTIT:LDA TEMP2
  97. CMP #$2F:BCS HND3:LDX #<HAKC
  98. LDY #>HAKC:BNE HND4
  99. HND3 LDX #<QUST:LDY #>QUST
  100. HND4 JSR PRINTIT
  101. HND5 JSR GETIN:BEQ HND5
  102. LDX TEMP2:CPX #$2F:BCS HND6
  103. JSR CLS15:JMP START:HND6 CMP #89
  104. BEQ HND7:JSR CLS15:JMP NWBLK
  105. HND7 JMP NBK1
  106. ;
  107. PRTHX2 CLC:JSR PLOT
  108. LDA XNUM+1:LSR:LSR:LSR:LSR
  109. CMP #$0A:BCC PHX1:CLC:ADC #7
  110. PHX1 CLC:ADC #$30:JSR PRINT
  111. LDA XNUM+1:AND #$0F:CMP #$0A
  112. BCC PHX2:CLC:ADC #7
  113. PHX2 CLC:ADC #$30:JSR PRINT
  114. PHX5 LDA XNUM:LSR:LSR:LSR:LSR
  115. CMP #$0A:BCC PHX3:CLC:ADC #7
  116. PHX3 CLC:ADC #$30:JSR PRINT
  117. LDA XNUM:AND #$0F:CMP #$0A
  118. BCC PHX4:CLC:ADC #7
  119. PHX4 CLC:ADC #$30:JSR PRINT:RTS
  120. PRTHX1 CLC:JSR PLOT:JMP PHX5
  121. ;
  122. PRTNUM2 CLC:JSR PLOT
  123. LDY #0:LDA XNUM+1
  124. CMP #$28:BCS PNM1:CMP #$27
  125. BCC PNM2:LDA XNUM:CMP #$10
  126. BCS PNM1:INY:BNE PNM1
  127. PNM2 INY:CMP #$04:BCS PNM1
  128. CMP #$03:BCC PNM3:LDA XNUM
  129. CMP #$E8:BCS PNM1:INY:BNE PNM1
  130. PNM3 INY:CMP #0:BNE PNM1
  131. LDA XNUM:CMP #$64:BCS PNM1
  132. INY:CMP #$0A:BCS PNM1
  133. INY:PNM1 JSR PNM5:LDA XNUM+1
  134. LDX XNUM:JSR OUTNUM:RTS
  135. PRTNUM1 CLC:JSR PLOT
  136. LDY #0:LDA XNUM
  137. CMP #$64:BCS PNM4:INY:CMP #$0A
  138. BCS PNM4:INY:PNM4 JSR PNM5
  139. LDA #0:LDX XNUM:JSR OUTNUM:RTS
  140. PNM5 CPY #0:BNE PNM6:RTS
  141. PNM6 LDA #$30:JSR PRINT
  142. DEY:BNE PNM6:RTS
  143. ;
  144. HEXSCR LDA #$E8:STA TEMP1
  145. STA TEMP2:LDA #5:STA TEMP1+1
  146. LDA #$D9:STA TEMP2+1:LDY #0:LDX #0
  147. LDA #6:STA TEMP3
  148. HX1 LDA BLOCK,X:LSR:LSR:LSR:LSR
  149. CMP #$0A:BCC HX2:SEC:SBC #$39
  150. HX2 CLC:ADC #$30:STA (TEMP1),Y
  151. LDA TEMP3:STA (TEMP2),Y
  152. INY:LDA BLOCK,X:AND #$0F
  153. CMP #$0A:BCC HX3:SEC:SBC #$39
  154. HX3 CLC:ADC #$30:STA (TEMP1),Y
  155. LDA TEMP3:STA (TEMP2),Y:INY
  156. HX5 INC TEMP1:INC TEMP2:BNE HX4
  157. INC TEMP1+1:INC TEMP2+1:HX4 DEY
  158. BNE HX5:LDA TEMP3:EOR #8
  159. STA TEMP3:INX:BNE HX1:RTS
  160. ;
  161. UPDTE LDA #3:STA 646
  162. LDA CRSR+2:STA XNUM
  163. LDX #8:LDY #16:JSR PRTNUM1
  164. LDX #8:LDY #21:JSR PRTHX1
  165. LDY CRSR+2:LDA BLOCK,Y
  166. STA XNUM:STA $0566:LDA #3
  167. STA $D966:LDA BLOCK+1,Y
  168. STA XNUM+1:LDX #8:LDY #24
  169. JSR PRTNUM1:LDX #8:LDY #29
  170. JSR PRTHX1:LDX #9:LDY #35
  171. JSR PRTNUM2:LDX #10:LDY #36
  172. JSR PRTHX2:LDX #10:LDY #22
  173. JSR PRTBIN:LDA XNUM:CMP #13
  174. BEQ UD1:CMP #141:BNE UD2
  175. ORA #64:STA $0562:BNE UD3
  176. UD1 ORA #128:STA $0562:BNE UD3
  177. UD2 LDX #2:STX 212:STX 216
  178. LDX #8:LDY #34:CLC:JSR PLOT
  179. LDA XNUM:JSR PRINT
  180. LDA #0:STA 212:UD3 LDA CRSR+2
  181. CLC:ADC ADDR:STA XNUM
  182. LDA #0:ADC ADDR+1:STA XNUM+1
  183. LDX #10:LDY #9:JSR PRTNUM2
  184. LDX #10:LDY #16:JSR PRTHX2
  185. LDA BLOCK:STA XNUM:LDX #10
  186. LDY #1:JSR PRTNUM1:LDA BLOCK+1
  187. STA XNUM:LDX #10:LDY #5
  188. JSR PRTNUM1
  189. LDA #$D9:STA TEMP1+1
  190. LDA #$E8:STA TEMP1:LDA CRSR+2
  191. STA TEMP2:LDA #0:STA TEMP2+1
  192. ASL TEMP2:ROL TEMP2+1:LDA TEMP2
  193. CLC:ADC TEMP1:STA TEMP1
  194. LDA TEMP2+1:ADC TEMP1+1
  195. STA TEMP1+1:LDY #0:LDA #1
  196. STA (TEMP1),Y:INY:STA (TEMP1),Y
  197. RTS
  198. ;
  199. PRTBIN CLC:JSR PLOT
  200. LDA XNUM:STA TEMP1:LDY #7
  201. PBN1 LDX #$30:LDA TEMP1:ASL
  202. STA TEMP1:BCC PBN2:INX
  203. PBN2 TXA:JSR PRINT:DEY:BPL PBN1
  204. RTS
  205. ;
  206. BLINK LDA #0:STA 162
  207. STA ONOFF:LDA CRSR+2:LDX CRSR+3
  208. CMP CRSR+3:BCC BLN10:STA TO
  209. STX FROM:JMP BLN3:BLN10 STX TO
  210. STA FROM:BLN3 LDA 162:BMI BLN5
  211. LDY FROM:DEY:BLN4 INY
  212. LDA $0400,Y:EOR #128
  213. STA $0400,Y:CPY TO:BNE BLN4
  214. LDX #15:BLN6 LDY #0:BLN7 DEY
  215. BNE BLN7:DEX:BNE BLN6:LDA #235
  216. STA 162:LDA ONOFF:EOR #1
  217. STA ONOFF:BLN5 JSR GETIN:BEQ BLN3
  218. PHA:LDA ONOFF:BEQ BLN9:LDY FROM
  219. DEY:BLN8 INY:LDA $0400,Y
  220. EOR #128:STA $0400,Y:CPY TO
  221. BNE BLN8:BLN9 PLA:RTS
  222. ;
  223. CLRHEX LDX #$5:STX TEMP1+1:INX
  224. STX TEMP2+1:LDA #$E8:STA TEMP1
  225. STA TEMP2:LDA #32:LDY #0
  226. CHX1 STA (TEMP1),Y:STA (TEMP2),Y
  227. INY:BNE CHX1:RTS
  228. ;
  229. UPDT2 LDA #3:STA 646:LDX #8
  230. LDY #24:LDA ENCDB:STA XNUM
  231. JSR PRTNUM1:LDX #8:LDY #29
  232. JSR PRTHX1:LDX #10:LDY #22
  233. JSR PRTBIN:RTS
  234. ;
  235. PRNTTP LDY #0:LDA #15:STA 646
  236. LDX #0:LDY #0:CLC:JSR PLOT
  237. PTP1 LDA BLOCK,Y:LDX SCRASC
  238. BNE PTP2:JSR PRINTASC:BEQ PTP3
  239. PTP2 STA $0400,Y:LDA #15
  240. STA $D800,Y:PTP3 INY:BNE PTP1:RTS
  241. ;
  242.  
  243.  
  244.  
  245.