home *** CD-ROM | disk | FTP | other *** search
/ Set of Apple II Hard Drive Images / eric.hdv / OBJSRC / DISPLINE.SRC.txt < prev    next >
Text File  |  2020-08-13  |  6KB  |  313 lines

  1. ; ********************************************
  2. ; * DISPLINE.SRC -  DISPLAY OF STATUS LINE
  3. ; * (C) 1993, ERIC RANGELL
  4. ; ********************************************
  5. ;
  6. ;------------GLOBAL EQUATES
  7. RECEIVER EQU $FA
  8. MSG      EQU $FB
  9. MYOBJ    EQU $FD
  10. MYADRS   EQU $FE             ;WILL POINT TO 'BASE' WHEN OBJECT INVOKED
  11. ;
  12. USRVECT  EQU $0A             ;APPLESOFT USR VECTOR - USED TO CALL OBJECTS
  13. ;
  14. ;------------OBJECTS REFERENCED
  15. DISPLINE EQU  12
  16. HEXASC   EQU  13             ;HEX-ASC
  17. INTRFACE EQU  16             ;MIDI INTERFACE CONTROLLER
  18. NOTEMGR  EQU  25             ;NOTE ON/OFF MANAGER
  19. CTRLMGR  EQU  27             ;CTRL CHG MANAGER
  20. PROGMGR  EQU  28             ;PGM CHG MANAGER
  21. SYSXMGR  EQU  31             ;SYSX MGR
  22. ;
  23. ;------------OBJECT HEADER
  24.         ORG $6000
  25. ;
  26.         LDA #$00  ;CALL OBJECT SETUP ROUTINE
  27.         STA $FA
  28.         JSR $000A
  29.         DFB DISPLINE        ;OBJECT NUMBER
  30.         DFB 0,0,0,0,0,0,0   ;SAVE AREA
  31. BASE    CLV
  32.         BVC CODE
  33. RETCODE DFB $00             ;RETURN CODE
  34. ;
  35. ;==========================================
  36. ; INTERNAL DATA MAINTAINED BY OBJECT:
  37. ;
  38. LINE     ASC 'T'
  39. DTIMEH   ASC '00'
  40. DTIMEL   ASC '00'
  41. DJ       ASC ' '
  42. DK       ASC ' '
  43. DL       ASC ' '
  44.          ASC ' '
  45.          ASC 'M'
  46. DM       ASC '  ' 
  47.          ASC 'R'
  48. DR       ASC '  '
  49.          ASC 'E'
  50. DE       ASC '  '
  51. DSOFT    ASC '-'
  52. DSOST    ASC '-'
  53. DDAMP    ASC '- '
  54.          ASC 'C'
  55. DC       ASC '  '
  56.          ASC 'P'
  57. DP1      ASC '00'
  58. DP2      ASC '00 '
  59.          ASC 'B'
  60. DB       ASC '  '
  61.          ASC 'V'
  62. DV       ASC '00 '
  63. DTRANS   ASC '00'
  64. ;
  65. HEXMSG   ASC 'B'
  66. HEXBYTE  DFB $00
  67. ASCH     DFB $00
  68. ASCL     DFB $00
  69. ;
  70. GETINTRF ASC 'R'
  71.          DFB $00
  72. TIMERH   DFB $00
  73. TIMERL   DFB $00
  74.          DFB $00
  75. ;
  76. GETNOTE  ASC 'R'
  77. TRANS    DFB $00
  78. KARA     DFB $00
  79.          DFB $00,$00
  80. ;
  81. GETPROG  ASC 'R'
  82. PROGCHNL DFB $00
  83. PROG1    DFB $00
  84. PROG2    DFB $00
  85. ;
  86. GETCTRL  ASC 'R'
  87. CTRLCHNL DFB $00
  88. VOL      DFB $00
  89. LOCAL    DFB $00
  90. SOFT     DFB $00
  91. SOST     DFB $00
  92. DAMP     DFB $00
  93. ;
  94. GETSYSX  ASC 'R'
  95. SYSXCHNL DFB $00
  96. BRILL    DFB $00
  97. MULTI    DFB $00
  98. REV      DFB $00
  99. EFF      DFB $00
  100. ;
  101. ;==========================================
  102. ; METHODS:
  103. ;
  104. ;        'C' <CHNL> = CONSTRUCT DISPLAY LINE FOR CHNL & POKE IT
  105. ;
  106. ;==========================================
  107. CODE     LDY #0
  108.          LDA (MSG),Y
  109.          CMP #'C'        
  110.          BEQ CODEC
  111. ;--------
  112. CODEEX   LDY #RETCODE-BASE
  113.          LDA #12
  114.          STA (MYADRS),Y
  115.          SEC   
  116.          RTS 
  117. ;
  118. CODEC    LDY #1
  119.          LDA (MSG),Y
  120.          LDY #CTRLCHNL-BASE
  121.          STA (MYADRS),Y
  122.          LDY #PROGCHNL-BASE
  123.          STA (MYADRS),Y
  124.          LDY #SYSXCHNL-BASE
  125.          STA (MYADRS),Y
  126. ;
  127.          LDA #INTRFACE
  128.          STA RECEIVER
  129.          LDA #GETINTRF-BASE
  130.          CLC
  131.          ADC MYADRS
  132.          STA MSG
  133.          LDA #00
  134.          ADC MYADRS+1
  135.          STA MSG+1
  136.          JSR USRVECT
  137. ;
  138.          LDA #NOTEMGR
  139.          STA RECEIVER
  140.          LDA #GETNOTE-BASE
  141.          CLC
  142.          ADC MYADRS
  143.          STA MSG
  144.          LDA #00
  145.          ADC MYADRS+1
  146.          STA MSG+1
  147.          JSR USRVECT
  148. ;
  149.          LDA #PROGMGR
  150.          STA RECEIVER
  151.          LDA #GETPROG-BASE
  152.          CLC
  153.          ADC MYADRS
  154.          STA MSG
  155.          LDA #00
  156.          ADC MYADRS+1
  157.          STA MSG+1
  158.          JSR USRVECT
  159. ;
  160.          LDA #CTRLMGR
  161.          STA RECEIVER
  162.          LDA #GETCTRL-BASE
  163.          CLC
  164.          ADC MYADRS
  165.          STA MSG
  166.          LDA #00
  167.          ADC MYADRS+1
  168.          STA MSG+1
  169.          JSR USRVECT
  170. ;
  171.          LDA #SYSXMGR
  172.          STA RECEIVER
  173.          LDA #GETSYSX-BASE
  174.          CLC
  175.          ADC MYADRS
  176.          STA MSG
  177.          LDA #00
  178.          ADC MYADRS+1
  179.          STA MSG+1
  180.          JSR USRVECT
  181. ;
  182. ;NOW FILL IN THE LINE
  183. ;
  184.          LDY #TIMERH-BASE
  185.          LDA (MYADRS),Y
  186.          LDY #HEXBYTE-BASE
  187.          STA (MYADRS),Y
  188. ;
  189.          LDA #HEXASC
  190.          STA RECEIVER
  191.          LDA #HEXMSG-BASE
  192.          CLC
  193.          ADC MYADRS
  194.          STA MSG
  195.          LDA #00
  196.          ADC MYADRS+1
  197.          STA MSG+1
  198.          JSR USRVECT
  199. ;
  200.          LDY #ASCH-BASE
  201.          LDA (MYADRS),Y
  202.          LDY #DTIMEH-BASE
  203.          STA (MYADRS),Y
  204.          LDY #ASCL-BASE
  205.          LDA (MYADRS),Y
  206.          LDY #DTIMEH-BASE+1
  207.          STA (MYADRS),Y
  208. ;
  209.          LDY #TIMERL-BASE
  210.          LDA (MYADRS),Y
  211.          LDY #HEXBYTE-BASE
  212.          STA (MYADRS),Y
  213. ;
  214.          LDA #HEXASC
  215.          STA RECEIVER
  216.          LDA #HEXMSG-BASE
  217.          CLC
  218.          ADC MYADRS
  219.          STA MSG
  220.          LDA #00
  221.          ADC MYADRS+1
  222.          STA MSG+1
  223.          JSR USRVECT
  224. ;
  225.          LDY #ASCH-BASE
  226.          LDA (MYADRS),Y
  227.          LDY #DTIMEL-BASE
  228.          STA (MYADRS),Y
  229.          LDY #ASCL-BASE
  230.          LDA (MYADRS),Y
  231.          LDY #DTIMEL-BASE+1
  232.          STA (MYADRS),Y
  233. ;JKL
  234.          LDY #KARA-BASE
  235.          LDA (MYADRS),Y
  236.          BEQ NOKARA
  237.          LDA #'K'
  238.          LDY #DK-BASE
  239.          STA (MYADRS),Y
  240. NOKARA   LDY #LOCAL-BASE
  241.          LDA (MYADRS),Y
  242.          BNE NOLOCAL
  243.          LDA #'L'
  244.          LDY #DL-BASE
  245.          STA (MYADRS),Y
  246. NOLOCAL  LDY #MULTI-BASE
  247.          LDA (MYADRS),Y
  248.          LDY #HEXBYTE-BASE
  249.          STA (MYADRS),Y
  250. ;
  251.          LDA #HEXASC
  252.          STA RECEIVER
  253.          LDA #HEXMSG-BASE
  254.          CLC
  255.          ADC MYADRS
  256.          STA MSG
  257.          LDA #00
  258.          ADC MYADRS+1
  259.          STA MSG+1
  260.          JSR USRVECT
  261. ;
  262.          LDY #ASCL-BASE
  263.          LDA (MYADRS),Y
  264.          LDY #DM-BASE
  265.          STA (MYADRS),Y
  266. ;REV
  267.          LDY #REV-BASE
  268.          LDA (MYADRS),Y
  269.          LDY #HEXBYTE-BASE
  270.          STA (MYADRS),Y
  271. ;
  272.          LDA #HEXASC
  273.          STA RECEIVER
  274.          LDA #HEXMSG-BASE
  275.          CLC
  276.          ADC MYADRS
  277.          STA MSG
  278.          LDA #00
  279.          ADC MYADRS+1
  280.          STA MSG+1
  281.          JSR USRVECT
  282. ;
  283.          LDY #ASCL-BASE
  284.          LDA (MYADRS),Y
  285.          LDY #DR-BASE
  286.          STA (MYADRS),Y
  287. ;EFF
  288.          LDY #EFF-BASE
  289.          LDA (MYADRS),Y
  290.          LDY #HEXBYTE-BASE
  291.          STA (MYADRS),Y
  292. ;
  293.          LDA #HEXASC
  294.          STA RECEIVER
  295.          LDA #HEXMSG-BASE
  296.          CLC
  297.          ADC MYADRS
  298.          STA MSG
  299.          LDA #00
  300.          ADC MYADRS+1
  301.          STA MSG+1
  302.          JSR USRVECT
  303. ;
  304.          LDY #ASCL-BASE
  305.          LDA (MYADRS),Y
  306.          LDY #DE-BASE
  307.          STA (MYADRS),Y
  308. ;PEDALS
  309.          LDY #SOFT-BASE
  310.          LDA (MYADRS),Y
  311.          
  312.          RTS
  313.