home *** CD-ROM | disk | FTP | other *** search
/ Set of Apple II Hard Drive Images / pdoseric.hdv / SOURCE / DISPNOTE.BAK.txt < prev    next >
Text File  |  2020-08-13  |  7KB  |  230 lines

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