22.09.2015 Views

of Microprocessors

Musical-Applications-of-Microprocessors-2ed-Chamberlin-H-1987

Musical-Applications-of-Microprocessors-2ed-Chamberlin-H-1987

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

318 MUSICAL ApPLICATIONS OF MICROPROCESSORS<br />

--- - - - - - -- - --- - - - - --------- ---<br />

TIMINT CMP TMRO ; CLEAR THE TIMER INTERRUPT REOUEST<br />

PHA ; SAVE A ON THE STACK<br />

LOA SERSTS ; CHECK 6850 TRANSMITTER STATUS<br />

AND #102<br />

BEQ TIMI Nl ; JUMP AHEAD IF BUSY<br />

LOA QUOP ; IF FREE, TEST IF ANYTHING TO TRANSMIT<br />

CMP QUIP<br />

BEQ TIMINI ; JUMP AHEAD I F NOT<br />

TXA ; IF SO, SAVE X<br />

PHA<br />

LOX QUOP : AND GET THE QUEUE QUTPUT POINTER<br />

LOA EVQU ,X ; GET NEXT BYTE TO TRANSMIT<br />

STA SEROTA ; ANn TRANSMIT IT<br />

INX ; MOVE QUEUE OUTPUT POINTER<br />

CPX #120 ; AND WRAPAROUND I F NECESSARY<br />

BNE TIMINO<br />

LOX #0<br />

TIMINO STX OUOP ; SAVE UPOATEn OUEUE OUTPUT POINTER<br />

PLA ; RESTORE X FROM THE STACK<br />

TAX ; AND CONTI NUE<br />

TIMINI PLA ; RESTORE A FROM STACK<br />

DEC TIMCNT ; TEST IF FIFTH TIMER INTERRUPT<br />

BEQ TIMINI ; SKIP AHEAD IF SO<br />

RTI ; I F NOT, RETURN FROM INTERRUPT<br />

TIMINI LOA #5 ; RESET 5 INTERRUPT COUNTER<br />

STA TIMCNT<br />

PLA ; CLEAN OFF STACK FROM INTERRUPT SEOUENCE<br />

PLA<br />

PLA<br />

JMP MLonp ; GO TO MAl N LOOP FOR ANOTHER TI ME PER I 00<br />

VELTAB<br />

.BYTE 127,127,127,127,I

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!