home *** CD-ROM | disk | FTP | other *** search
/ Set of Apple II Hard Drive Images / eric.hdv / ANNMIDI / SENDDUMP.BAD.txt < prev    next >
Text File  |  2020-08-13  |  5KB  |  132 lines

  1. ;-------------------------------------------------------------------------
  2. ; SEND DUMP THROUGH APPLE MIDI DRIVER THROUGH ANNUNCIATOR 0
  3. ; POPULATE 6,7 WITH STARTING ADDRESS OF DATA.
  4. ; POPULATE 8,9 WITH ENDING ADDRESS OF DATA.
  5. ;-------------------------------------------------------------------------
  6.          ORG $0300
  7. ;
  8. AN0OFF   EQU $C058           ;APPLE ADDRESSES THAT CONTROL ANNUNCIATOR OUTPUTS
  9. AN0ON    EQU $C059
  10. ;
  11. STRTADRS EQU $06
  12. ENDADRS  EQU $08             
  13. DATAPTR  EQU $19
  14. ;---------------------------------------------------------------------------
  15. INIT     BIT AN0ON
  16.          LDA STRTADRS
  17.          STA DATAPTR
  18.          LDA STRTADRS+1
  19.          STA DATAPTR+1
  20.          LDY #$00            ;Y WILL BE AN INDEX INTO THE DATA AREA
  21. XMITLOOP LDA (DATAPTR),Y     ;GET A DATA BYTE
  22.          JSR XMITONE
  23.          INC DATAPTR
  24.          BNE CHKADRS
  25.          INC DATAPTR+1
  26. CHKADRS  LDA DATAPTR+1
  27.          CMP ENDADRS+1
  28.          BNE XMITLOOP
  29.          LDA DATAPTR
  30.          CMP ENDADRS
  31.          BNE XMITLOOP
  32.          RTS
  33. TEMPA    DFB $00
  34. TEMPX    DFB $00
  35. ;---------------------------------------------------------------------------
  36. XMITONE  STA TEMPA           ;SAVE A AND X REGISTERS
  37.          STX TEMPX
  38. ;
  39.          ASL A               ;SHIFT BIT INTO CARRY
  40.          TAX                 ;SAVE CURRENT IMAGE OF DATA BYTE
  41.          LDA #$00            ;ZERO OUT ACCUMULATOR FOR ADD
  42.          ADC #>AN0OFF        ;ADD CARRY TO ANNUNCIATOR ADDRESS
  43.          STA BIT7+1          ;MODIFY THE XMITBITS SUBROUTINE
  44.          TXA                 ;RESTORE ACCUMULATOR
  45. ;
  46.          ASL A               ;SHIFT BIT INTO CARRY
  47.          TAX                 ;SAVE CURRENT IMAGE OF DATA BYTE
  48.          LDA #$00            ;ZERO OUT ACCUMULATOR FOR ADD
  49.          ADC #>AN0OFF        ;ADD CARRY TO ANNUNCIATOR ADDRESS
  50.          STA BIT6+1          ;MODIFY THE XMITBITS SUBROUTINE
  51.          TXA                 ;RESTORE ACCUMULATOR
  52. ;
  53.          ASL A               ;SHIFT BIT INTO CARRY
  54.          TAX                 ;SAVE CURRENT IMAGE OF DATA BYTE
  55.          LDA #$00            ;ZERO OUT ACCUMULATOR FOR ADD
  56.          ADC #>AN0OFF        ;ADD CARRY TO ANNUNCIATOR ADDRESS
  57.          STA BIT5+1          ;MODIFY THE XMITBITS SUBROUTINE
  58.          TXA                 ;RESTORE ACCUMULATOR
  59. ;
  60.          ASL A               ;SHIFT BIT INTO CARRY
  61.          TAX                 ;SAVE CURRENT IMAGE OF DATA BYTE
  62.          LDA #$00            ;ZERO OUT ACCUMULATOR FOR ADD
  63.          ADC #>AN0OFF        ;ADD CARRY TO ANNUNCIATOR ADDRESS
  64.          STA BIT4+1          ;MODIFY THE XMITBITS SUBROUTINE
  65.          TXA                 ;RESTORE ACCUMULATOR
  66. ;
  67.          ASL A               ;SHIFT BIT INTO CARRY
  68.          TAX                 ;SAVE CURRENT IMAGE OF DATA BYTE
  69.          LDA #$00            ;ZERO OUT ACCUMULATOR FOR ADD
  70.          ADC #>AN0OFF        ;ADD CARRY TO ANNUNCIATOR ADDRESS
  71.          STA BIT3+1          ;MODIFY THE XMITBITS SUBROUTINE
  72.          TXA                 ;RESTORE ACCUMULATOR
  73. ;
  74.          ASL A               ;SHIFT BIT INTO CARRY
  75.          TAX                 ;SAVE CURRENT IMAGE OF DATA BYTE
  76.          LDA #$00            ;ZERO OUT ACCUMULATOR FOR ADD
  77.          ADC #>AN0OFF        ;ADD CARRY TO ANNUNCIATOR ADDRESS
  78.          STA BIT2+1          ;MODIFY THE XMITBITS SUBROUTINE
  79.          TXA                 ;RESTORE ACCUMULATOR
  80. ;
  81.          ASL A               ;SHIFT BIT INTO CARRY
  82.          TAX                 ;SAVE CURRENT IMAGE OF DATA BYTE
  83.          LDA #$00            ;ZERO OUT ACCUMULATOR FOR ADD
  84.          ADC #>AN0OFF        ;ADD CARRY TO ANNUNCIATOR ADDRESS
  85.          STA BIT1+1          ;MODIFY THE XMITBITS SUBROUTINE
  86.          TXA                 ;RESTORE ACCUMULATOR
  87. ;
  88.          ASL A               ;SHIFT BIT INTO CARRY
  89.          TAX                 ;SAVE CURRENT IMAGE OF DATA BYTE
  90.          LDA #$00            ;ZERO OUT ACCUMULATOR FOR ADD
  91.          ADC #>AN0OFF        ;ADD CARRY TO ANNUNCIATOR ADDRESS
  92.          STA BIT0+1          ;MODIFY THE XMITBITS SUBROUTINE
  93.          TXA                 ;RESTORE ACCUMULATOR
  94. ;
  95.          JSR XMITBITS        ;SEND THE BYTE OUT 
  96.          LDX TEMPX
  97.          LDA TEMPA           ;RESTORE X AND A
  98.          RTS
  99. ;-----------------------------------------------------------------------
  100. XMITBITS BIT AN0OFF          ;4 CYCLES - TRANSMIT START BIT - ALWAYS LOW
  101.          JSR DELAY22         ;6+22
  102. BIT0     BIT AN0OFF          ;4
  103.          JSR DELAY22         ;6+22
  104. BIT1     BIT AN0OFF          ;4
  105.          JSR DELAY22         ;6+22
  106. BIT2     BIT AN0OFF          ;4
  107.          JSR DELAY22         ;6+22
  108. BIT3     BIT AN0OFF          ;4
  109.          JSR DELAY22         ;6+22
  110. BIT4     BIT AN0OFF          ;4
  111.          JSR DELAY22         ;6+22
  112. BIT5     BIT AN0OFF          ;4
  113.          JSR DELAY22         ;6+22
  114. BIT6     BIT AN0OFF          ;4
  115.          JSR DELAY22         ;6+22
  116. BIT7     BIT AN0OFF          ;4
  117.          JSR DELAY22         ;6+22
  118.          BIT AN0ON           ;4        ;TRANSMIT STOP BIT - ALWAYS HIGH
  119.          JSR DELAY22         ;6+22
  120.          RTS
  121. ;-----------------------------------------------------------------------
  122. DELAY22  NOP       ;WAIT 22 CYCLES
  123.          NOP
  124.          NOP
  125.          NOP
  126.          NOP
  127.          NOP
  128.          NOP
  129.          NOP
  130.          RTS
  131. ;-----------------------------------------------------------------------
  132.