home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / genie-commodore-file-library / Information / 256KB.UTILS.SFX / routines.a < prev    next >
Encoding:
Text File  |  1993-06-23  |  2.4 KB  |  242 lines

  1. ;
  2. ;GET HEX DIGITS
  3. ;
  4. GETHEX JSR CON
  5.  ASL A
  6.  ASL A
  7.  ASL A
  8.  ASL A
  9.  STA BAD
  10.  JSR CHRGET ;GET CHAR FROM BUFFER
  11.  JSR CON
  12.  ORA BAD
  13.  SEC
  14.  RTS
  15. ;
  16. CON CMP #':'
  17.  PHP
  18.  AND #%00001111
  19.  PLP
  20.  BCC CON00
  21.  ADC #8
  22. CON00 RTS
  23. ;
  24. ;ACCEPT HEX BYTE
  25. ;IGNORE SPACES
  26. ;RESULT IS IN (TO)
  27. ;
  28. CL0 DEC CHRPTR
  29. ACCEPT LDA #0
  30.  STA TO
  31.  STA TO+1
  32.  STA SYREG
  33. ACCE00 JSR CHRGET ;GET CHAR FROM BUFFER
  34.  BEQ ACCE05
  35.  CMP #' '
  36.  BEQ ACCE00
  37. ACCE01 CMP #' '
  38.  BEQ ACCE04
  39.  CMP #','
  40.  BEQ ACCE04
  41.  JSR HCOMP
  42.  BCS ACCE06
  43.  CMP #':'
  44.  BCC ACCE02
  45.  SBC #8
  46. ACCE02 SBC #'/'
  47.  ASL A
  48.  ASL A
  49.  ASL A
  50.  ASL A
  51.  LDX #4
  52. ACCE03 ASL A
  53.  ROL TO
  54.  ROL TO+1
  55.  DEX
  56.  BNE ACCE03
  57.  INC SYREG
  58.  JSR CHRGET ;GET CHAR FROM BUFFER
  59.  BNE ACCE01
  60. ACCE04 LDA TO
  61.  CLC
  62. ACCE05 RTS
  63. ACCE06 SEC
  64.  LDA #0
  65.  RTS
  66. ;
  67. ;
  68. ;
  69. ADDR LDA T2
  70.  LDX T2+1
  71. ;
  72. ;
  73. ;
  74. AXHEX PHA
  75.  TXA
  76.  JSR OUTHEX
  77.  PLA
  78. ;
  79. ;
  80. ;
  81. HEXSPC JSR OUTHEX ;OUTPUT ACC. IN HEX
  82. SPACE LDA #' '
  83.  .BYT $2C
  84. QUEST LDA #'?'
  85.  .BYT $2C
  86. CRUP LDA #145
  87.  .BYT $2C
  88. CR LDA #13
  89.  JMP CHROUT ;OUTPUT CHARACTER
  90. ;
  91. ;
  92. ;
  93. OUTHEX STX SXREG
  94.  JSR SNGHEX ;OUTPUT ACC. IN ASCII
  95.  JSR CHROUT ;OUTPUT CHARACTER
  96.  TXA
  97.  LDX SXREG
  98.  JMP CHROUT ;OUTPUT CHARACTER
  99. ;
  100. ;
  101. ;
  102. SNGHEX PHA
  103.  JSR CH
  104.  TAX
  105.  PLA
  106.  LSR A
  107.  LSR A
  108.  LSR A
  109.  LSR A
  110. ;
  111. CH AND #%00001111
  112.  CMP #10
  113.  BCC SK259
  114.  ADC #6
  115. SK259 ADC #'0'
  116.  RTS
  117.  
  118. CHRGET STX SXREG
  119.  LDX CHRPTR
  120.  CPX BUFEND
  121.  BCS SK260
  122.  LDA BUF,X
  123.  CMP #':'
  124.  BEQ SK260
  125.  INC CHRPTR
  126. LP069 PHP
  127.  LDX SXREG
  128.  PLP
  129.  RTS
  130. SK260 LDA #0
  131.  BEQ LP069
  132. BUFSTO STA KEYD
  133.  LDA T2+1
  134.  JSR SNGHEX ;OUTPUT ACC. IN ASCII
  135.  STA KEYD+1
  136.  STX KEYD+2
  137.  LDA T2
  138.  JSR SNGHEX ;OUTPUT ACC. IN ASCII
  139.  STA KEYD+3
  140.  STX KEYD+4
  141.  LDA #' '
  142.  STA KEYD+5
  143.  LDA #6
  144.  STA NDX
  145.  RTS
  146. ;
  147. ;
  148. ;
  149. MOVE LDA TO
  150.  STA T2
  151.  LDA TO+1
  152.  STA T2+1
  153.  RTS
  154. ;
  155. ;
  156. ;
  157. SUBS SEC
  158.  LDA TO
  159.  SBC T2
  160.  STA TO
  161.  LDA TO+1
  162.  SBC T2+1
  163.  STA TO+1
  164.  RTS
  165. ;
  166. ;
  167. ;
  168. SM LDA #1
  169. SUBST STA SXREG
  170.  SEC
  171.  LDA TO
  172.  SBC SXREG
  173.  STA TO
  174.  LDA TO+1
  175.  SBC #0
  176.  STA TO+1
  177.  RTS
  178. ;
  179. ;
  180. ;
  181. SUB1 SEC
  182.  LDA T1
  183.  SBC #1
  184.  STA T1
  185.  LDA T1+1
  186.  SBC #0
  187.  STA T1+1
  188.  RTS
  189.  
  190. ADD1 LDA #1
  191.  
  192. ADDACC CLC
  193.  ADC T2
  194.  STA T2
  195.  BCC SK261
  196.  INC T2+1
  197. SK261 RTS
  198. ;
  199. ;
  200. ;
  201. GETPRM BCS ACCE07
  202.  JSR MOVE ;COPY (TO) TO (T2)
  203.  JSR ACCEPT ;INPUT HEX NUMBER (TO)
  204.  BCS ACCE07
  205.  JSR SUBS
  206.  LDA TO
  207.  STA T1
  208.  LDA TO+1
  209.  STA T1+1
  210.  CLC
  211. ACCE07 RTS
  212. ;
  213. ;
  214. ;
  215. PROW JSR CR ;PRINT CR
  216. PROW0 LDA #'>'
  217.  JSR CHROUT ;OUTPUT CHARACTER
  218.  JSR ADDR ;PRINT (T2) IN ASCII
  219.  LDY #0
  220. PROW02 JSR BFET88 ;FETCH BYTE
  221.  STA XCNT,Y
  222.  JSR HEXSPC ;ACC. IN HEX & SPACE
  223.  INY
  224.  CPY #8
  225.  BCC PROW02
  226.  LDA #':'
  227.  JSR CHROUT ;OUTPUT CHARACTER
  228.  LDY #0
  229. PROW03 LDA XCNT,Y
  230.  AND #%01111111
  231.  CMP #127
  232.  BEQ PROW01
  233.  CMP #' '
  234.  BCS PROW04
  235. PROW01 LDA #'.'
  236. PROW04 JSR CHROUT ;OUTPUT CHARACTER
  237.  INY
  238.  CPY #8
  239.  BCC PROW03
  240.  RTS
  241. .END
  242.