cjoshmartin / elevator-simulation

Final Project for Microprocessor Systems and Interfacing class (HC12 Assembly Programming)
0 stars 0 forks source link

sounds! #25

Closed cjoshmartin closed 6 years ago

cjoshmartin commented 6 years ago
; sound 
; no where near done

        xdef seq_1, speaker
        XREF SendsChr,PlayTone
        XREF number_in_sound_seq, repeats
        XREF flag,sound_flag
        XREF did_play, to_play
        XREF done_playing
            ; musical notes
        A3: equ 37
        B3: equ 33
        C3: equ 63
        D3: equ 56
        E3: equ 50
        F3: equ 47
        G3: equ 42
        C4: equ 31
        D4: equ 28
        E4: equ 25
        F4: equ 24
        G4: equ 21
        A4: equ 19
        A5: equ 9
        B5: equ 8
        B4: equ 17
        C5: equ 16
        D5: equ 14
        E5: equ 12
        F5: equ 11
        G5: equ 10
        A3F: equ 40
        B3F: equ 35
        D3F: equ 59
        E3F: equ 53
        G3F: equ 44
        A5F: equ 10
        B5F: equ 9
        D5F: equ 15
        E5F: equ 13
        G5F: equ 11                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              

        seq_1: dc.b D3F,255,E4,255,E4,E4,255,E4,255,E4,E4,255,E4,G4,C4,D4,E4,E4, $FA
        seq_2: dc.b A3,C4,E4,A3,C4,E4,A3,C4,E4,A3,C4,E4,A3,C4,E4,A3,C4,E4,E3,A3,C4,E4,E3,A3,C4,E4,F3,A3,C4,A3,$FA   ; alarm
        seq_3: dc.b C5,C5,G5,G5,B5,B5,G5,G5,C5,C5,G5,G5,B5,B5,G5,G5,C5,C5,G5,G5,B5,B5,G5,G5,C5,C5,G5,G5,B5,B5,G5,G5,E3,G3,C5,E3,G3,C5,G5,G5,G3,B5,G3,B5,G5,G5,D3,E3,C5,D3,E3,C5,G5,G5,E3,B5,E3,B5,G5,G5,C3,G3,C5,C3,G3,C5,G3,G5,G3,G5,E3,B5,E3,B5,B3,G5,B3,G5,E3,D3F,C5,E3,D3F,C5,C3,G5,C3,G5,B3,D3F,B5,B3,D3F,B5,E3,G5,E3,G5,E3,G3,C5,E3,G3,C5,G5,G5,G3,B5,G3,B5,G5,G5,D3,G3,C5,D3,G3,C5,G5,G5,G3,B5,G3,B5,G5,G5,C3,B3,C5,C3,B3,C5,G3,G5,G3,G5,G3,B5,G3,B5,B3,G5,B3,G5,E3,C4,C5,E3,C4,C5,C3,G5,C3,G5,B3,C4,B5,B3,C4,B5,E3,G5,E3,G5,E3,G3,C5,E3,G3,C5,G5,G5,G3,B5,G3,B5,G5,G5,D3,E3,C5,D3,E3,C5,G5,G5,E3,B5,E3,B5,$FA ;G5,G5,C3,G3,C5,C3,G3,C5,G3,G5,G3,G5,E3,B5,E3,B5,B3,G5,B3,G5,E3,D3F,C5,E3,D3F,C5,C3,G5,C3,G5,B3,D3F,B5,B3,D3F,B5,E3,G5,E3,G5,B5,B5,C5,G3,C5,G3,G5,G5,G5,G5,G5,G5,B5,G3,B5,G3,B5,B5,G5,G5,B5,B5,C5,G3,C5,G3,G5,G5,G5,G5,G5,G5,B5,G3,B5,G3,B5,B5,
        ;,G5,G5,D5,D5,C5,B3,C5,B3,G5,G5,G5,G3,G5,G3,E5F,E5F,B5,G3,B5,G3,E5,E5,G5,B3,G5,B3,C5,E3,C3,C5,E3,C3,G5,G5,B3,C3,B5,B3,C3,B5,E3,G5,E3,G5,E3,C5,E3,C5,G5,G5,B5,B5,G5,G5,D3,C5,D3,C5,G5,G5,B5,B5,G5,G5,C3,C5,C3,C5,G5,G5,B5,B5,G5,G5,E3,C5,E3,C5,C3,G5,C3,G5,B3,B5,B3,B5,E3,G5,E3,G5,E3,G3,C5,E3,G3,C5,G5,G5,G3,B5,G3,B5,G5,G5,D3,E3,C5,D3,E3,C5,G5,G5,E3,B5,E3,B5,G5,G5,C3,G3,C5,C3,G3,C5,G3,G5,G3,G5,E3,B5,E3,B5,B3,G5,B3,G5,E3,D3F,C5,E3,D3F,C5,C3,G5,C3,G5,B3,D3F,B5,B3,D3F,B5,E3,G5,E3,G5,E3,G3,C5,E3,G3,C5,G5,G5,G3,B5,G3,B5,G5,G5,D3,G3,C5,D3,G3,C5,G5,G5,G3,B5,G3,B5,G5,G5,C3,B3,C5,C3,B3,C5,G3,G5,G3,G5,G3,B5,G3,B5,B3,G5,B3,G5,E3,C4,C5,E3,C4,C5,C3,G5,C3,G5,B3,C4,B5,B3,C4,B5,E3,G5,E3,G5,E3,G3,C5,E3,G3,C5,G5,G5,G3,B5,G3,B5,G5,G5,D3,E3,C5,D3,E3,C5,G5,G5,E3,B5,E3,B5,G5,G5,C3,G3,C5,C3,G3,C5,G3,G5,G3,G5,E3,B5,E3,B5,B3,G5,B3,G5,E3,D3F,C5,E3,D3F,C5,C3,G5,C3,G5,B3,D3F,B5,B3,D3F,B5,E3,G5,E3,G5,B5,B5,C5,G3,C5,G3,G5,G5,G5,G5,G5,G5,B5,G3,B5,G3,B5,B5,G5,G5,B5,B5,C5,G3,C5,G3,G5,G5,G5,G5,G5,G5,B5,G3,B5,G3,B5,B5,G5,G5,D5,D5,C5,B3,C5,B3,G5,G5,G5,G3,G5,G3,E5F,E5F,B5,G3,B5,G3,E5,E5,G5,B3,G5,B3,C5,E3,C3,C5,E3,C3,G5,G5,B3,C3,B5,B3,C3,B5,E3,G5,E3,G5,E3,C5,E3,C5,G5,G5,B5,B5,G5,G5,D3,C5,D3,C5,G5,G5,B5,B5,G5,G5,C3,C5,C3,C5,G5,G5,B5,B5,G5,G5,E3,C5,E3,C5,C3,G5,C3,G5,B3,B5,B3,B5,E3,G5,E3
    ;   seq_4: dc.b B4,E4,D5,E5,E4,D4,B3,A4,B4,A4,D3,G3F,D4,A3,E4,C3,G3,E3,A4,B4,E5,C3,G3,C3,G3,E5,C3,G3,B4,E5,A3,B3,C3,G3,G3F,C3,G3,C3,G3,G3F,C3,G3,E4,D3,A4,C3,G3,G3F,D4,C3,G3,A3,E4,C3,G3,C3,G3,C3,G3,C3,G3,C3,G3,C3,G3,E3,A4,C3,G3,B4,E4,C3,G3,C3,G3,D5,C3,G3,E5,E4,D4,B3,C3,G3,A4,C3,G3,C3,G3,B4,C3,G3,A4,D3,C3,G3,G3F,D4,C3,G3,A3,E4,C3,G3,C3,G3,C3,G3,G3,G3,G3,B3,G3,E3,E3,A3,C3,B3,E4,C3,G3,C3,E4,C3,G3,B3,E4,A3,C3,G4,G3,C3,C3,G3F,C3,G3,E4,D3F,G3,G3,B4,C3,G3F,G3,C3,E3,D3F,D3F,E4,C3,G3,C3,C3,C3,G3,C3,G3,C3,G3,E3,C3,C3,G4,C3,A4,E4,C3,G3,C3,C3,G3,C4,E4,C4,C3,G4,C3,G3,C3,E3F,G3,B3,B3,G3F,G3,C3,E4,C4,A3,F3,F3,A4,C3,F4,A3,G3,C3,C4,C3,C3,G3,C3,G3,G3,D3F,E3,A3,B3,A3,C3,B3,E4,C3,E3F,C3,E4,C3,E3F,B3,E4,A3,C3,G4,C3,E3F,C3,G3F,C3,E3F,E4,B3,D4,G3,D3,D5,C3,B4,G4,E3F,C3,B3,E3,G3,E3,E4,C3,E3F,C3,C3,E3F,C3,C3,C3,E3F,A3,G3,D3,D3,G4,C3,A4,G3F,$FA
        seq_4: dc.b E3F,B3F,E3F,E3F,E3F,E3F,E3F,E3F,B3F,E3F,E3F,E3F,E3F,B3F,E3F,E3F,E3F,E3F,B3F,E3F,D3,D3,D3,B3,D3,E3F,E3F,E3F,B3F,E3F,E3F,E3F,E3F,B3F,E3F,E3F,E3F,E3F,B3F,E3F,E3F,E3F,E3F,B3F,E3F,E3F,E3F,E3F,B3F,E3F,E3F,E3F,E3F,B3F,E3F,E3F,E3F,E3F,B3F,E3F,E3F,E3F,E3F,B3F,E3F,B3F,B3F,B3F,B3F,B3F,B3,B3F,E3F,E3F,E3F,B3F,E3F,E3F,E3F,E3F,B3F,E3F,E3F,E3F,E3F,B3F,E3F,E3F,E3F,E3F,B3F,E3F,E3F,E3F,E3F,B3F,E3F,E3F,E3F,E3F,B3F,E3F,E3F,E3F,E3F,B3F,E3F,E3F,E3F,E3F,B3F,E3F,B3,B3,B3,B3,B3,B3,E3F,E3F,E3F,B3F,E3F,E3F,E3F,E3F,B3F,E3F,E3F,E3F,E3F,B3F,E3F,E3F,E3F,E3F,B3F,E3F,E3F,E3F,E3F,B3F,E3F,E3F,E3F,E3F,B3F,E3F,E3F,E3F,E3F,B3F,E3F,E3F,E3F,E3F,B3F,E3F,D3F,D3F,D3F,D3F,D3F,B3,D3F,E3F,E3F,E3F,B3F,E3F,E3F,E3F,E3F,B3F,E3F,B3F,B3F,B3F,B3F,E3F,E3F,E3F,B3F,E3F,E3F,E3F,E3F,B3F,E3F,B3,B3,B3,B3,E3F,E3F,E3F,B3F,E3F,E3F,E3F,E3F,B3F,E3F,B3F,B3F,B3F,B3F, $FA
        ; E3F,E3F,E3F,B3F,E3F,E3F,E3F,E3F,B3F,E3F,D3,D3,D3,B3,D2,E3F,E3F,E3F,B3F,E3F,E3F,E3F,E3F,B3F,E3F,B3F,B3F,B3F,B3F,E3F,E3F,E3F,B3F,E3F,E3F,E3F,E3F,B3F,E3F,B3,B3,B3,B3,E3F,E3F,E3F,B3F,E3F,E3F,E3F,E3F,B3F,E3F,B3F,B3F,B3F,B3F,E3F,E3F,E3F,B3F,E3F,E3F,E3F,E3F,B3F,E3F,F3,F3,F3,F3,F3,B3,D2,E3F,E3F,E3F,B3F,E3F,E3F,E3F,E3F,B3F,E3F,B3F,B3F,B3F,B3F,E3F,E3F,E3F,B3F,E3F,E3F,E3F,E3F,B3F,E3F,B3,B3,B3,B3,E3F,E3F,E3F,B3F,E3F,E3F,E3F,E3F,B3F,E3F,B3F,B3F,B3F,B3F,E3F,E3F,E3F,B3F,E3F,E3F,E3F,E3F,B3F,E3F,D3,D3,D3,B3,D2,E3F,E3F,E3F,B3F,E3F,E3F,E3F,E3F,B3F,E3F,B3F,B3F,B3F,B3F,E3F,E3F,E3F,B3F,E3F,E3F,E3F,E3F,B3F,E3F,B3,B3,B3,B3,E3F,E3F,E3F,B3F,E3F,E3F,E3F,E3F,B3F,E3F,C4,C4,C4,C3,E3F,E3F,E3F,B3F,E3F,E3F,E3F,E3F,B3F,E3F,D3F,D3F,D3F,B3,Eb4,B3F,Eb4,Eb4,B3F,E3F,E3F,E3F,E3F,E3F,E4,B3,E4,E4,B3,B3,AB3,B3,AB3,B3,B3F,E2,B3,AB3,C4,D3F,Eb4,Eb4,E3F,Eb4,B3F,B3F,B3F,B3F,E3F,B3F,B3F,Gb3,Gb3,Gb3,B3F,B3F,E3F,F3,F3,F3,B3F,Eb4,Eb4,B3F,B3F,B3F,Eb4,E3F,D4,D4,Gb3,Gb3,Gb3,D4,B3F,D3F,D3F,E3F,E3F,E3F,D3F,E3F,B3F,B3F,B3F,B3F,C4,C4,D3,D3,D3,C4,E3F,A3,A3,A3,B3F,B3,B3,C3,C3,C3,B3,E3F,Ab3,Ab3,Ab3,B3F,B3F,B3F,B3,B3,B3,B3F,E3F,Gb3,Gb3,Gb3,B3F,B3,B3,E3,E3,E3,B3,E2,B3,Gb3,Gb3,Gb3,E2,B3,E4,E4,E3,E3,E3,E4,E2,B3,Ab3,Ab3,Ab3,E2,B3,E3,E3,E3,E3,E3,E2,E3,E3,B3,B3,B3,B3,Ab3,Ab3,Ab3,E2,B3,Ab3,Ab3,Ab3,E3,E3,E3,E2,E3,E3,E3,B3,B3,B3,B3,D3F,D3F,D3F,E2,B3,Eb4,Eb4,Eb4,E3F,B3F,B3F,B3F,B3F,E3F,B3F,B3F,Gb3,Gb3,Gb3,B3F,B3F,E3F,F3,F3,F3,B3F,Eb4,Eb4,B3F,B3F,B3F,Eb4,

speaker:
     ldaa did_play
     cmpa #1
     beq skip

     movb #5,flag
     ;bra skip
     ldaa   number_in_sound_seq

     ldab to_play ; tell what seq needs to be loaded
     cmpb #1
     bne compare_2
     ldx    #seq_1
     bra cont
compare_2: cmpb #2
     bne compare_3
     ldx seq_2
     bra cont
compare_3: cmpb #3
     bne compare_4
     ldx seq_3
     bra cont
compare_4: cmpb #4
     bne skip
     ldx seq_4

cont:    
     ;movb #0, number_in_sound_seq

     loop: ldaa number_in_sound_seq
      ;cmpa #12
      ;BHI reset_this

      movb #5,flag
      ldab a,x
      movb #1, sound_flag 
       pshx
       psha
       pshb
       jsr SendsChr
       jsr PlayTone
       pulb
       pula
       pulx

       ldaa done_playing ; check if the note needs to keep going
       cmpa #0
       beq loop
       movb #0, done_playing 

       ldaa number_in_sound_seq
       cmpb #$FA
       bne  skip            ;length of song
 reset_this:       movb #0, number_in_sound_seq
       movb #1, did_play
 skip: rts
cjoshmartin commented 6 years ago

Eb3,Bb2,Eb2,Eb3,Eb3,Eb3,Eb3,Eb3,Bb2,Eb2,Eb3,Eb3,Eb3,Bb2,Eb2,Eb3,Eb3,Eb3,Bb2,Eb2,D3,D3,D3,B2,D2,Eb3,Eb3,Eb3,Bb2,Eb2,Eb3,Eb3,Eb3,Bb2,Eb2,Eb3,Eb3,Eb3,Bb2,Eb2,Eb3,Eb3,Eb3,Bb2,Eb2,Eb3,Eb3,Eb3,Bb2,Eb2,Eb3,Eb3,Eb3,Bb2,Eb2,Eb3,Eb3,Eb3,Bb2,Eb2,Eb3,Eb3,Eb3,Bb2,Eb2,Bb3,Bb3,Bb3,Bb3,Bb3,B2,Bb2,Eb3,Eb3,Eb3,Bb2,Eb2,Eb3,Eb3,Eb3,Bb2,Eb2,Eb3,Eb3,Eb3,Bb2,Eb2,Eb3,Eb3,Eb3,Bb2,Eb2,Eb3,Eb3,Eb3,Bb2,Eb2,Eb3,Eb3,Eb3,Bb2,Eb2,Eb3,Eb3,Eb3,Bb2,Eb2,Eb3,Eb3,Eb3,Bb2,Eb2,B3,B3,B3,B3,B3,B2,Eb3,Eb3,Eb3,Bb2,Eb2,Eb3,Eb3,Eb3,Bb2,Eb2,Eb3,Eb3,Eb3,Bb2,Eb2,Eb3,Eb3,Eb3,Bb2,Eb2,Eb3,Eb3,Eb3,Bb2,Eb2,Eb3,Eb3,Eb3,Bb2,Eb2,Eb3,Eb3,Eb3,Bb2,Eb2,Eb3,Eb3,Eb3,Bb2,Eb2,Db4,Db4,Db4,Db4,Db4,B2,Db3,Eb3,Eb3,Eb3,Bb2,Eb2,Eb3,Eb3,Eb3,Bb2,Eb2,Bb3,Bb3,Bb3,Bb2,Eb3,Eb3,Eb3,Bb2,Eb2,Eb3,Eb3,Eb3,Bb2,Eb2,B3,B3,B3,B2,Eb3,Eb3,Eb3,Bb2,Eb2,Eb3,Eb3,Eb3,Bb2,Eb2,Bb3,Bb3,Bb3,Bb2,Eb3,Eb3,Eb3,Bb2,Eb2,Eb3,Eb3,Eb3,Bb2,Eb2,D3,D3,D3,B2,D2,Eb3,Eb3,Eb3,Bb2,Eb2,Eb3,Eb3,Eb3,Bb2,Eb2,Bb3,Bb3,Bb3,Bb2,Eb3,Eb3,Eb3,Bb2,Eb2,Eb3,Eb3,Eb3,Bb2,Eb2,B3,B3,B3,B2,Eb3,Eb3,Eb3,Bb2,Eb2,Eb3,Eb3,Eb3,Bb2,Eb2,Bb3,Bb3,Bb3,Bb2,Eb3,Eb3,Eb3,Bb2,Eb2,Eb3,Eb3,Eb3,Bb2,Eb2,F3,F3,F3,F3,F3,B2,D2,Eb3,Eb3,Eb3,Bb2,Eb2,Eb3,Eb3,Eb3,Bb2,Eb2,Bb3,Bb3,Bb3,Bb2,Eb3,Eb3,Eb3,Bb2,Eb2,Eb3,Eb3,Eb3,Bb2,Eb2,B3,B3,B3,B2,Eb3,Eb3,Eb3,Bb2,Eb2,Eb3,Eb3,Eb3,Bb2,Eb2,Bb3,Bb3,Bb3,Bb2,Eb3,Eb3,Eb3,Bb2,Eb2,Eb3,Eb3,Eb3,Bb2,Eb2,D3,D3,D3,B2,D2,Eb3,Eb3,Eb3,Bb2,Eb2,Eb3,Eb3,Eb3,Bb2,Eb2,Bb3,Bb3,Bb3,Bb2,Eb3,Eb3,Eb3,Bb2,Eb2,Eb3,Eb3,Eb3,Bb2,Eb2,B3,B3,B3,B2,Eb3,Eb3,Eb3,Bb2,Eb2,Eb3,Eb3,Eb3,Bb2,Eb2,C4,C4,C4,C3,Eb3,Eb3,Eb3,Bb2,Eb2,Eb3,Eb3,Eb3,Bb2,Eb2,Db4,Db4,Db4,B2,Eb4,Bb3,Eb4,Eb4,Bb3,Eb3,Eb3,Eb3,Eb3,Eb2,E4,B3,E4,E4,B3,B2,Ab2,B2,Ab2,B2,Bb3,E2,B3,Ab2,C4,Db4,Eb4,Eb4,Eb2,Eb4,Bb3,Bb3,Bb3,Bb2,Eb2,Bb3,Bb3,Gb3,Gb3,Gb3,Bb3,Bb2,Eb2,F3,F3,F3,Bb2,Eb4,Eb4,Bb3,Bb3,Bb3,Eb4,Eb2,D4,D4,Gb3,Gb3,Gb3,D4,Bb2,Db4,Db4,Eb3,Eb3,Eb3,Db4,Eb2,Bb3,Bb3,Bb3,Bb2,C4,C4,D3,D3,D3,C4,Eb2,A3,A3,A3,Bb2,B3,B3,C3,C3,C3,B3,Eb2,Ab3,Ab3,Ab3,Bb2,Bb3,Bb3,B2,B2,B2,Bb3,Eb2,Gb3,Gb3,Gb3,Bb2,B3,B3,E3,E3,E3,B3,E2,B2,Gb3,Gb3,Gb3,E2,B2,E4,E4,E3,E3,E3,E4,E2,B2,Ab3,Ab3,Ab3,E2,B2,E3,E3,E3,E3,E3,E2,E3,E3,B2,B3,B3,B3,Ab3,Ab3,Ab3,E2,B2,Ab3,Ab3,Ab3,E3,E3,E3,E2,E3,E3,E3,B2,B3,B3,B3,Db4,Db4,Db4,E2,B2,Eb4,Eb4,Eb4,Eb2,Bb3,Bb3,Bb3,Bb2,Eb2,Bb3,Bb3,Gb3,Gb3,Gb3,Bb3,Bb2,Eb2,F3,F3,F3,Bb2,Eb4,Eb4,Bb3,Bb3,Bb3,Eb4,

cjoshmartin commented 6 years ago

A3,E1,B3,E4,E4,B3,E4,A3,B1,Gb4,Gb4,E4,D1,A4,Gb4,D4,A1,E4,E1,A4,B4,E4,D5,E5,E4,D4,B1,A4,B4,A4,D1,Gb4,D4,A1,E4,C1,Gb1,E1,A4,B4,E5,C1,Gb1,C1,Gb1,E5,C1,Gb1,B4,E5,A3,B1,C1,Gb1,Gb4,C1,Gb1,C1,Gb1,Gb4,C1,Gb1,E4,D1,A4,C1,Gb1,Gb4,D4,C1,Gb1,A1,E4,C1,Gb1,C1,Gb1,C1,Gb1,C1,Gb1,C1,Gb1,C1,Gb1,E1,A4,C1,Gb1,B4,E4,C1,Gb1,C1,Gb1,D5,C1,Gb1,E5,E4,D4,B1,C1,Gb1,A4,C1,Gb1,C1,Gb1,B4,C1,Gb1,A4,D1,C1,Gb1,Gb4,D4,C1,Gb1,A1,E4,C1,Gb1,C1,Gb1,C1,Gb1,Gb1,Gb1,Gb1,B2,G3,E3,E1,A3,C1,B3,E4,C1,Gb1,C1,E4,C1,Gb1,B3,E4,A3,C1,G4,Gb1,C1,C1,Gb4,C1,Gb1,E4,Db3,Bb3,Gb3,Gb1,B4,C1,Bb4,Gb4,Gb1,C1,Ab2,E3,Db3,Db1,E4,C1,Gb1,C1,C1,C1,Gb1,C1,Gb1,C1,G3,E3,C3,C1,G4,C1,A4,E4,C1,Gb1,C1,C1,Gb1,C4,E4,C4,C1,G4,C1,Gb1,C1,Eb3,Gb3,B2,B0,Gb4,Gb1,C1,E4,C4,A3,F3,F1,A4,C1,F4,A3,Gb1,C1,C4,C1,C1,Gb1,C1,Gb1,Gb1,Db3,E3,A2,A0,A3,C1,B3,E4,C1,Eb1,C1,E4,C1,Eb1,B3,E4,A3,C1,G4,C1,Eb1,C1,Gb4,C1,Eb1,E4,B3,D4,G3,G1,D5,C1,B4,G4,Eb1,C1,B2,E3,G3,E1,E4,C1,Eb1,C1,C1,Eb1,C1,C1,C1,Eb1,A3,Gb3,D3,D1,G4,C1,A4,Gb4,Eb1,C1,C1,Eb1,C1,D4,Gb4,D4,C1,G4,Eb1,C1,C1,Gb4,Eb1,C1,E4,C4,A3,F3,F1,A4,C1,F4,A3,Eb1,C1,C4,C1,Eb1,C1,C1,C1,Eb1,C1,Eb1,C1,C1