home *** CD-ROM | disk | FTP | other *** search
/ Set of Apple II Hard Drive Images / hard.hdv / HARD / PROJECT / SOURCE / EDIT.SRC4 < prev    next >
Encoding:
Text File  |  1992-07-08  |  7.3 KB  |  224 lines  |  [04] ASCII Text (0x0000)

  1. ;
  2. ; EDIT.SRC4
  3. ;
  4. WHAMBAM             LDA   #$8D         
  5.                     JSR   $FDED        ;ONE FINAL CLEANUP AND CR
  6.                     JSR   CLEANUP
  7.                     RTS                ;AND WE'RE HISTORY.
  8. ;
  9. ;==================================================
  10. ; FROM DISPNOTE.SRC
  11. ;
  12. ; MODE 0 = NOTE OFF, 1 = NOTE ON
  13. CURRMODE            DFB   $00
  14. PREVMODE            DFB   $00
  15. ;
  16. DASH                ASC   "-" 
  17. SPACE               ASC   " "
  18. VBAR                ASC   "|"
  19. ;
  20. SHIFT               DFB   $17
  21. ;
  22. PDURL               DFB   $00
  23. PDURH               DFB   $00   
  24. ;==================================================
  25. ; REENTRANT ROUTINE
  26. ; DUR/NOTE/VEL ARE POPULATED UPON ENTRY
  27. ;
  28. DISPLAY             JSR   SETMODE
  29.                     JSR   CMPMODES
  30.                     BCS   PRINTIT      ;ONLY PRINT IF CURRMODE<>PREVMODE
  31. ;
  32. TESTDUR             LDA   DURL         ;OR DUR<>0
  33.                     BNE   PRINTIT
  34.                     LDA   DURH         ;==>(DURL<>0 OR (DURL=0 AND DURH<>0))
  35.                     BEQ   DONTPRNT
  36. PRINTIT             JSR   NEWLINE
  37. DONTPRNT            LDA   CURRMODE
  38.                     STA   PREVMODE     ;SET UP NEXT PREVMODE
  39.                     LDA   DASH         ;STORE DASH FOR NOTE OFFS
  40.                     LDX   VEL
  41.                     CPX   #$00
  42.                     BEQ   STORLINE
  43.                     LDX   NOTE         ;STORE ASCII CHAR FOR NOT ONS
  44.                     LDA   DISPMODE
  45.                     BNE   DISPLCF      ;DEPENDING ON WHETHER UCS OR LCF
  46.                     LDA   UCS,X
  47.                     CLV
  48.                     BVC   STORLINE
  49. DISPLCF             LDA   LCF,X
  50. STORLINE            LDX   NOTE
  51.                     STA   LINE,X
  52.                     RTS
  53. ;==================================================
  54. SETMODE             LDA   #$00         ;SET MODE TO 0 FOR NOTE OFF 
  55.                     STA   CURRMODE     ;OR 1 FOR NOTE ON
  56.                     LDA   VEL
  57.                     BEQ   SETMODE1
  58.                     LDA   #$01
  59.                     STA   CURRMODE
  60. SETMODE1            RTS
  61. ;==================================================
  62. CMPMODES            LDA   CURRMODE     ;IF CURRMODE = PREVMODE, CLC
  63.                     CMP   PREVMODE     ;ELSE SEC
  64.                     BEQ   SAME
  65.                     SEC
  66.                     RTS
  67. SAME                CLC
  68.                     RTS
  69. ;
  70. ;==================================================
  71. NEWLINE             LDA   DURL
  72.                     STA   PDURL
  73.                     LDA   DURH
  74.                     STA   PDURH
  75.                     LDX   SHIFT
  76.                     LDY   #$48
  77. PRNTLOOP            LDA   LINE,X
  78.                     JSR   $FDED
  79.                     INX   
  80.                     DEY   
  81.                     BNE   PRNTLOOP
  82.                     JSR   PRNTADRS
  83. ;
  84.                     LDX   #$7F
  85. LOOPLINE            LDA   LINE,X
  86.                     CMP   DASH
  87.                     BEQ   DASHFND
  88.                     CMP   SPACE
  89.                     BEQ   NEXTX
  90.                     LDA   VBAR         ;IF NOT A DASH, STORE A VBAR
  91.                     STA   LINE,X
  92.                     CLV
  93.                     BVC   NEXTX
  94. ;
  95. DASHFND             LDA   SPACE        ;IF DASH, SPACE IT OUT
  96.                     STA   LINE,X
  97. ;
  98. NEXTX               DEX   
  99.                     BPL   LOOPLINE
  100.                     LDA   #$00
  101.                     STA   PDURL
  102.                     STA   PDURH
  103.                     RTS   
  104. ;==================================================
  105. CLEANUP             LDX   #$7F
  106.                     LDA   #$A0
  107. SPACEALL            STA   LINE,X
  108.                     DEX   
  109.                     BNE   SPACEALL
  110.                     BEQ   CR
  111. ;
  112. PRNTADRS            LDA   $07
  113.                     JSR   $FDDA
  114.                     LDA   $06
  115.                     JSR   $FDDA
  116.                     LDA   PDURL
  117.                     BNE   PDUR
  118.                     LDA   PDURH
  119.                     BNE   PDUR
  120. ;
  121. CR                  LDA   #$8D
  122.                     JMP   $FDED
  123. ;==================================================
  124. PDUR                LDA   PDURL
  125.                     STA   $50
  126.                     LDA   PDURH
  127.                     STA   $51
  128.                     JSR   HEXDEC
  129.                     JSR   PRNTDEC
  130.                     RTS   
  131. ;==================================================
  132. HEXDEC              LDA   #$0A
  133.                     STA   $53
  134.                     LDY   #$04
  135. ;
  136. HEXDEC0             LDX   #$10
  137.                     LDA   #$00
  138.                     STA   $52
  139.                     CLC   
  140. ;
  141. HEXDEC1             ROL   $50
  142.                     ROL   $51
  143.                     ROL   $52
  144.                     DEX   
  145.                     BMI   HEXDEC2
  146.                     LDA   $52
  147.                     SEC   
  148.                     SBC   $53
  149.                     BCC   HEXDEC1
  150.                     STA   $52
  151.                     BCS   HEXDEC1
  152. ;
  153. HEXDEC2             CLC   
  154.                     ROR   $52
  155.                     LDA   $52
  156.                     ORA   #$B0
  157.                     STA   DEC1,Y
  158.                     DEY   
  159.                     BPL   HEXDEC0
  160.                     RTS   
  161. ;==================================================
  162. PRNTDEC             LDA   DEC2
  163.                     CMP   #$B0
  164.                     BNE   OVER1000
  165.                     LDA   #$A0
  166. ;
  167. OVER1000            JSR   $FDED
  168.                     LDA   DEC3
  169.                     JSR   $FDED
  170.                     LDA   DEC4
  171.                     JSR   $FDED
  172.                     LDA   DEC5
  173.                     JSR   $FDED
  174.                     RTS   
  175. ;==================================================
  176. DEC1                DFB $B0
  177. DEC2                DFB $B0
  178. DEC3                DFB $B0
  179. DEC4                DFB $B0
  180. DEC5                DFB $B0
  181. ;
  182. LINE                DFB $A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0
  183.                     DFB $A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0
  184.                     DFB $A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0
  185.                     DFB $A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0
  186.                     DFB $A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0
  187.                     DFB $A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0
  188.                     DFB $A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0
  189.                     DFB $A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0
  190.                     DFB $A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0
  191.                     DFB $A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0
  192.                     DFB $A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0
  193.                     DFB $A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0
  194.                     DFB $A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0
  195.                     DFB $A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0
  196.                     DFB $A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0
  197.                     DFB $A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0
  198. ;
  199. UCS                 ASC "cCdDefFgGaAb"
  200.                     ASC "cCdDefFgGaAb"
  201.                     ASC "cCdDefFgGaAb"
  202.                     ASC "cCdDefFgGaAb"
  203.                     ASC "cCdDefFgGaAb"
  204.                     ASC "cCdDefFgGaAb"
  205.                     ASC "cCdDefFgGaAb"
  206.                     ASC "cCdDefFgGaAb"
  207.                     ASC "cCdDefFgGaAb"
  208.                     ASC "cCdDefFgGaAb"
  209.                     ASC "cCdDefFg"
  210. ;
  211. LCF                 ASC "CdDeEFgGaAbB"
  212.                     ASC "CdDeEFgGaAbB"
  213.                     ASC "CdDeEFgGaAbB"
  214.                     ASC "CdDeEFgGaAbB"
  215.                     ASC "CdDeEFgGaAbB"
  216.                     ASC "CdDeEFgGaAbB"
  217.                     ASC "CdDeEFgGaAbB"
  218.                     ASC "CdDeEFgGaAbB"
  219.                     ASC "CdDeEFgGaAbB"
  220.                     ASC "CdDeEFgGaAbB"
  221.                     ASC "CdDeEFgG"
  222. ;==================================================
  223. EOF                 BRK
  224.