User Tools

Site Tools


sd:appendix_5_sound_system

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
sd:appendix_5_sound_system [2026/03/06 17:54] appledogsd:appendix_5_sound_system [2026/03/28 09:05] (current) appledog
Line 3: Line 3:
  
 == Introduction == Introduction
-The SD-8516 is paired with the SD-450 sound subsystem; named for featuring 4 independent voices with 5 waveforms available, each with a programmable ADSR envelope. Let's dive in with an overview of the architecture and a quick look at INT 11h, the sound services library. If you are just interested in how to play sounds and music in your own games, you can skip ahead to [[#sounds_and_music|Sounds and Music.]]+The SD-8516 is paired with the SD-450 sound subsystem; named for featuring 4 independent voices with 5 waveforms available, each with a programmable ADSR envelope. Let's dive in with an overview of the architecture and a quick look at INT 11h, the sound services library. If you are just interested in how to play sounds and music in your own games, you can skip ahead to [[#sound_and_music|Sound and Music.]]
  
 === Voice Architecture === Voice Architecture
Line 49: Line 49:
     LDA $112B           ; C4 frequency (262 Hz / 0.0596)     LDA $112B           ; C4 frequency (262 Hz / 0.0596)
     STA [$1ED00]        ; $01ED00 = FREQ_LO/MID     STA [$1ED00]        ; $01ED00 = FREQ_LO/MID
-    LDA #0 +    LDAL #0 
-    STA [$1ED02]        ; $01ED02 = FREQ_HI+    STAL [$1ED02]       ; $01ED02 = FREQ_HI
  
     LDAL $4D            ; Initialize volume to ~30%     LDAL $4D            ; Initialize volume to ~30%
Line 124: Line 124:
  
 == INT 11h Sound Services == INT 11h Sound Services
-<codify armasm> 
     ; ============================================================================     ; ============================================================================
     ; INT 11h - SOUND & MUSIC SERVICES     ; INT 11h - SOUND & MUSIC SERVICES
Line 186: Line 185:
     ;     ;
     ; ============================================================================     ; ============================================================================
 +
 +== Sound and Music
 +It is possible to play sound sound and music in the background (or while-you-wait) on the SD-8516. The boot chime "GECF" is proof of this.
 +
 +There are two main ways you can play sound and music. One is by directly controlling the music registers. As listed above, you can write data to these registers and the "SD-450 Sound Chip" will play the sounds. This can be a good way to make sound effects. Alternately you can use the Music Player system in INT 11h. 
 +
 +Although INT 11h is used to make music, you can create short scripts to play sound effects. Each channel operates independently so you can have up to four simultaneous sounds playing at the same time. Making a sound effect relies entirely on your own creativity. Here's an example of the sound we use for the system beep; it's a good example of a directly programmed sound:
 +
 +<codify armasm>
 +.equ SOUND_CH0_BASE    $01EF80
 +.equ SOUND_CH0_GATE    $01EF83
 +.equ SOUND_CH0_VOLUME  $01EF84
 +.equ SOUND_CH0_DATA1   $01EF89
 +
 +play_beep:
 +    ; Play a beep (~880hz A4)
 +    
 +    ; Set channel 0 frequency to A4
 +    LDELM $001CD7               ; A4 freq (3 bytes: $D7, $1C, $00)
 +    STELM [@SOUND_CH0_BASE]     ; write freq_lo/mid/hi
 +
 +    ; Set pulse width 50%
 +    LDAL $40
 +    STAL [@SOUND_CH0_DATA1]
 +
 +    ; Set volume
 +    LDAL $4D
 +    STAL [@SOUND_CH0_VOLUME]
 +
 +    ; Gate on with pulse waveform
 +    LDAL @WAVE_PWM
 +    STAL [@SOUND_CH0_GATE]
 +
 +    ; Wait 100ms
 +    LDC #100
 +    LDAH $48     ; wait_ms -- wait for C ms (blocking)
 +    INT 0x11
 +
 +    ; Gate off
 +    LDAL $00
 +    STAL [@SOUND_CH0_GATE]
 +
 +    ; Release delay
 +    LDC #20
 +    LDAH $48     ; wait_ms -- wait for C ms (blocking)
 +    INT 0x11
 </codify> </codify>
  
-== Sounds and Music +As you can see -- nothing to it! 
-under construcon+ 
 +=== Music Player System 
 +First you will define a series of commands such as: 
 + 
 +<codify armasm> 
 +BOOT_CHIME_DATA: 
 +    ; Tick 1: setup + G/C 
 +    .byte $01, $00                      ; tick index 1 
 +    .byte $F1, $83, $00                 ; set tempo = 131ms 
 +    .byte $F2, $03                      ; min_note = 3 (eighth) 
 +    .byte $01, $28, $20                 ; v1 duty 12.5% 
 +    .byte $01, $17, $2F, $05            ; v1 PWM + G4 
 +    .byte $02, $17, $1C, $02            ; v2 tri + C3 
 +    .byte $00 
 + 
 +    ; Tick 2: E/A 
 +    .byte $02, $00 
 +    .byte $01, $28, $80                 ; v1 duty 50% 
 +    .byte $01, $17, $2C, $05            ; v1 PWM + E4 
 +    .byte $02, $17, $14, $02            ; v2 tri + E2 
 +    .byte $00 
 + 
 +    ; Tick 3: C/F 
 +    .byte $03, $00 
 +    .byte $01, $28, $40                 ; v1 duty 25% 
 +    .byte $01, $17, $28, $05            ; v1 PWM + C4 
 +    .byte $02, $17, $10, $02            ; v2 tri + C2 
 +    .byte $00 
 + 
 +    ; Tick 4: F/G 
 +    .byte $04, $00 
 +    .byte $01, $28, $20                 ; v1 duty 12.5% 
 +    .byte $01, $17, $2D, $05            ; v1 PWM + F4 
 +    .byte $02, $17, $14, $02            ; v2 tri + E2 
 +    .byte $00 
 + 
 +    ; Tick 5: silence 
 +    .byte $05, $00 
 +    .byte $01, $10                      ; v1 off 
 +    .byte $02, $10                      ; v2 off 
 +    .byte $00 
 +    ; End 
 +    .byte $00, $00 
 +</codify> 
 + 
 +With this data, you can play it like this: 
 + 
 +<codify armasm> 
 +    ; Initialize sound system 
 +    LDAH $40 
 +    INT 0x11 
 + 
 +    ; Point ELM at our song data and load it (AH=07h) 
 +    LDELM @MUSIC_DATA 
 +    LDAH $07 
 +    INT 0x11 
 + 
 +    ; Start playback: set state and prime the clock 
 +    LDAH $05 
 +    INT 0x11 
 + 
 +    ; Blocking playback loop: poll until song finishes 
 +player_loop: 
 +    YIELD 
 +    LDAH $00    ; Poll Music Player 
 +    INT 0x11    ; This checks if there is a note, and plays it. 
 +    LDAH $0F    ; Check player state 
 +    INT 0x11 
 +    CMP AL, 1   ; 1 = still playing (0 = song is finished) 
 +    JZ @player_loop 
 + 
 +    ; Done 
 +    LDAH $43    ; Stop player (turn off all channels) 
 +    INT 0x11    ; This causes the music player to stop. 
 + 
 +</codify> 
 + 
 +Now, if you have a game loop, you can just put this code in your main loop: 
 + 
 +    LDAH $00    ; Poll Music Player 
 +    INT 0x11    ; This checks if there is a note, and plays it. 
 + 
 +It will quickly check if there is a note and play it. In this way you can have "background music"
 + 
 +=== DATA2 mode 
 +If DATA2 is set to 1 on a voice channel (default is 0) then it will experience a momentary shutoff before the next note is played. If you cannot achieve the correct ADSR envelope to separate notes, you can enable this mode. It is especially useful for guitar strum-like sounds -- "chugging". Then again, I think the kids say 'djenting' these days. I read that somewhere. 
 + 
 + 
 +== Example Song 
 +Here is an example song using the INT 11h SOUND SERVICES LIBRARY. Feel free to cut and paste into your own programs, or make your own music! 
 + 
 +INSTRUCTIONS: 
 +* save this as "danube.sda"
 +* type LOAD on your SD-8516 / VC-3 computer system 
 +* select the danube.sda file 
 +* optionally save it on your SuperDATA-sette 1532N Tape Drive Backup system using the DSAVE DANUBE.SDA command! 
 + 
 +<codify ARMASM> 
 +; ============================================================================ 
 +; The Blue Danube Waltz - Johann Strauss II (Op. 314, 1867) 
 +; Arranged for SD-450 Sound Chip (64 bars) 
 +; "C64-style": PWM melody, Triangle bass, Sawtooth chords 
 +; 3/4 waltz time, ~180 BPM (tick_ms = 144ms, eighth note resolution) 
 +
 +; Voice 1 (ch 0): Melody - PWM waveform, 25% duty cycle 
 +; Voice 2 (ch 1): Bass - Triangle waveform (oom) 
 +; Voice 3 (ch 2): Chords - Sawtooth waveform (pah-pah) 
 +
 +; Structure: Theme A (16 bars) - Theme A repeat (16 bars) 
 +;            Theme B (16 bars) - Theme A reprise (16 bars) + coda 
 +
 +; ============================================================================ 
 + 
 +    LDELM @the_blue_danube 
 +    LDAH $07 
 +    INT $11                          ; load song 
 + 
 +    LDAH $05 
 +    INT $11                          ; start player 
 +    RET 
 + 
 +the_blue_danube: 
 +; --- Tempo setup --- 
 +.byte $01, $00                      ; tick 1: setup 
 +.byte $F1, $90, $00                 ; tick_ms = 144ms 
 +.byte $01, $28, $40                 ; v1 duty 25% 
 +.byte $00 
 + 
 +; ===== THEME A - First statement ===== 
 +; --- Bars 1-2: Intro (D major, pickup to D4) --- 
 +.byte $02, $00  ; beat 1 
 +.byte $02, $17, $12, $02            ; v2 D2 
 +.byte $00 
 +.byte $03, $00 
 +.byte $02, $10                      ; v2 off 
 +.byte $00 
 +.byte $04, $00  ; beat 2 
 +.byte $03, $17, $22, $03            ; v3 F#3 
 +.byte $00 
 +.byte $05, $00 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $06, $00  ; beat 3 
 +.byte $03, $17, $25, $03            ; v3 A3 
 +.byte $00 
 +.byte $07, $00 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $08, $00  ; beat 1 
 +.byte $02, $17, $12, $02            ; v2 D2 
 +.byte $00 
 +.byte $09, $00 
 +.byte $02, $10                      ; v2 off 
 +.byte $00 
 +.byte $0A, $00  ; beat 2 
 +.byte $03, $17, $22, $03            ; v3 F#3 
 +.byte $00 
 +.byte $0B, $00 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $0C, $00  ; beat 3 
 +.byte $03, $17, $25, $03            ; v3 A3 
 +.byte $01, $17, $2A, $05            ; v1 D4 
 +.byte $00 
 +.byte $0D, $00 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +; --- Bars 3-4: D4-F#4, A4 held (D major) --- 
 +.byte $0E, $00  ; beat 1 
 +.byte $02, $17, $12, $02            ; v2 D2 
 +.byte $01, $17, $2A, $05            ; v1 D4 
 +.byte $00 
 +.byte $0F, $00 
 +.byte $02, $10                      ; v2 off 
 +.byte $00 
 +.byte $10, $00  ; beat 2 
 +.byte $03, $17, $22, $03            ; v3 F#3 
 +.byte $01, $17, $2E, $05            ; v1 F#4 
 +.byte $00 
 +.byte $11, $00 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $12, $00  ; beat 3 
 +.byte $03, $17, $25, $03            ; v3 A3 
 +.byte $00 
 +.byte $13, $00 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $14, $00  ; beat 1 
 +.byte $02, $17, $12, $02            ; v2 D2 
 +.byte $01, $17, $31, $05            ; v1 A4 
 +.byte $00 
 +.byte $15, $00 
 +.byte $02, $10                      ; v2 off 
 +.byte $00 
 +.byte $16, $00  ; beat 2 
 +.byte $03, $17, $22, $03            ; v3 F#3 
 +.byte $00 
 +.byte $17, $00 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $18, $00  ; beat 3 
 +.byte $03, $17, $25, $03            ; v3 A3 
 +.byte $00 
 +.byte $19, $00 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +; --- Bars 5-6: A4 sustained (A major) --- 
 +.byte $1A, $00  ; beat 1 
 +.byte $02, $17, $19, $02            ; v2 A2 
 +.byte $00 
 +.byte $1B, $00 
 +.byte $02, $10                      ; v2 off 
 +.byte $00 
 +.byte $1C, $00  ; beat 2 
 +.byte $03, $17, $1D, $03            ; v3 C#3 
 +.byte $00 
 +.byte $1D, $00 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $1E, $00  ; beat 3 
 +.byte $03, $17, $20, $03            ; v3 E3 
 +.byte $00 
 +.byte $1F, $00 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $20, $00  ; beat 1 
 +.byte $02, $17, $19, $02            ; v2 A2 
 +.byte $00 
 +.byte $21, $00 
 +.byte $02, $10                      ; v2 off 
 +.byte $00 
 +.byte $22, $00  ; beat 2 
 +.byte $03, $17, $1D, $03            ; v3 C#3 
 +.byte $00 
 +.byte $23, $00 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $24, $00  ; beat 3 
 +.byte $03, $17, $20, $03            ; v3 E3 
 +.byte $00 
 +.byte $25, $00 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +; --- Bars 7-8: Pickup C#4, C#4-E4 (A major) --- 
 +.byte $26, $00  ; beat 1 
 +.byte $02, $17, $19, $02            ; v2 A2 
 +.byte $00 
 +.byte $27, $00 
 +.byte $02, $10                      ; v2 off 
 +.byte $00 
 +.byte $28, $00  ; beat 2 
 +.byte $03, $17, $1D, $03            ; v3 C#3 
 +.byte $00 
 +.byte $29, $00 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $2A, $00  ; beat 3 
 +.byte $03, $17, $20, $03            ; v3 E3 
 +.byte $01, $17, $29, $05            ; v1 C#4 
 +.byte $00 
 +.byte $2B, $00 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $2C, $00  ; beat 1 
 +.byte $02, $17, $19, $02            ; v2 A2 
 +.byte $01, $17, $29, $05            ; v1 C#4 
 +.byte $00 
 +.byte $2D, $00 
 +.byte $02, $10                      ; v2 off 
 +.byte $00 
 +.byte $2E, $00  ; beat 2 
 +.byte $03, $17, $1D, $03            ; v3 C#3 
 +.byte $01, $17, $2C, $05            ; v1 E4 
 +.byte $00 
 +.byte $2F, $00 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $30, $00  ; beat 3 
 +.byte $03, $17, $20, $03            ; v3 E3 
 +.byte $00 
 +.byte $31, $00 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +; --- Bars 9-10: A4 held (D major) --- 
 +.byte $32, $00  ; beat 1 
 +.byte $02, $17, $12, $02            ; v2 D2 
 +.byte $01, $17, $31, $05            ; v1 A4 
 +.byte $00 
 +.byte $33, $00 
 +.byte $02, $10                      ; v2 off 
 +.byte $00 
 +.byte $34, $00  ; beat 2 
 +.byte $03, $17, $22, $03            ; v3 F#3 
 +.byte $00 
 +.byte $35, $00 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $36, $00  ; beat 3 
 +.byte $03, $17, $25, $03            ; v3 A3 
 +.byte $00 
 +.byte $37, $00 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $38, $00  ; beat 1 
 +.byte $02, $17, $12, $02            ; v2 D2 
 +.byte $00 
 +.byte $39, $00 
 +.byte $02, $10                      ; v2 off 
 +.byte $00 
 +.byte $3A, $00  ; beat 2 
 +.byte $03, $17, $22, $03            ; v3 F#3 
 +.byte $00 
 +.byte $3B, $00 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $3C, $00  ; beat 3 
 +.byte $03, $17, $25, $03            ; v3 A3 
 +.byte $00 
 +.byte $3D, $00 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +; --- Bars 11-12: Pickup D4, D4-F#4 (D major) --- 
 +.byte $3E, $00  ; beat 1 
 +.byte $02, $17, $12, $02            ; v2 D2 
 +.byte $00 
 +.byte $3F, $00 
 +.byte $02, $10                      ; v2 off 
 +.byte $00 
 +.byte $40, $00  ; beat 2 
 +.byte $03, $17, $22, $03            ; v3 F#3 
 +.byte $00 
 +.byte $41, $00 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $42, $00  ; beat 3 
 +.byte $03, $17, $25, $03            ; v3 A3 
 +.byte $01, $17, $2A, $05            ; v1 D4 
 +.byte $00 
 +.byte $43, $00 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $44, $00  ; beat 1 
 +.byte $02, $17, $12, $02            ; v2 D2 
 +.byte $01, $17, $2A, $05            ; v1 D4 
 +.byte $00 
 +.byte $45, $00 
 +.byte $02, $10                      ; v2 off 
 +.byte $00 
 +.byte $46, $00  ; beat 2 
 +.byte $03, $17, $22, $03            ; v3 F#3 
 +.byte $01, $17, $2E, $05            ; v1 F#4 
 +.byte $00 
 +.byte $47, $00 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $48, $00  ; beat 3 
 +.byte $03, $17, $25, $03            ; v3 A3 
 +.byte $00 
 +.byte $49, $00 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +; --- Bars 13-14: A4-D5, D5-C#5 (D major) --- 
 +.byte $4A, $00  ; beat 1 
 +.byte $02, $17, $12, $02            ; v2 D2 
 +.byte $01, $17, $31, $05            ; v1 A4 
 +.byte $00 
 +.byte $4B, $00 
 +.byte $02, $10                      ; v2 off 
 +.byte $00 
 +.byte $4C, $00  ; beat 2 
 +.byte $03, $17, $22, $03            ; v3 F#3 
 +.byte $01, $17, $36, $05            ; v1 D5 
 +.byte $00 
 +.byte $4D, $00 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $4E, $00  ; beat 3 
 +.byte $03, $17, $25, $03            ; v3 A3 
 +.byte $00 
 +.byte $4F, $00 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $50, $00  ; beat 1 
 +.byte $02, $17, $12, $02            ; v2 D2 
 +.byte $01, $17, $36, $05            ; v1 D5 
 +.byte $00 
 +.byte $51, $00 
 +.byte $02, $10                      ; v2 off 
 +.byte $00 
 +.byte $52, $00  ; beat 2 
 +.byte $03, $17, $22, $03            ; v3 F#3 
 +.byte $01, $17, $35, $05            ; v1 C#5 
 +.byte $00 
 +.byte $53, $00 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $54, $00  ; beat 3 
 +.byte $03, $17, $25, $03            ; v3 A3 
 +.byte $00 
 +.byte $55, $00 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +; --- Bars 15-16: B4 (G major), A4 resolving (A major) --- 
 +.byte $56, $00  ; beat 1 
 +.byte $02, $17, $17, $02            ; v2 G2 
 +.byte $01, $17, $33, $05            ; v1 B4 
 +.byte $00 
 +.byte $57, $00 
 +.byte $02, $10                      ; v2 off 
 +.byte $00 
 +.byte $58, $00  ; beat 2 
 +.byte $03, $17, $27, $03            ; v3 B3 
 +.byte $00 
 +.byte $59, $00 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $5A, $00  ; beat 3 
 +.byte $03, $17, $1E, $03            ; v3 D3 
 +.byte $00 
 +.byte $5B, $00 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $5C, $00  ; beat 1 
 +.byte $02, $17, $19, $02            ; v2 A2 
 +.byte $01, $17, $31, $05            ; v1 A4 
 +.byte $00 
 +.byte $5D, $00 
 +.byte $02, $10                      ; v2 off 
 +.byte $00 
 +.byte $5E, $00  ; beat 2 
 +.byte $03, $17, $1D, $03            ; v3 C#3 
 +.byte $00 
 +.byte $5F, $00 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $60, $00  ; beat 3 
 +.byte $03, $17, $20, $03            ; v3 E3 
 +.byte $00 
 +.byte $61, $00 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 + 
 +; ===== THEME A - Second statement ===== 
 +; --- Bars 17-18: Intro repeat (D major, pickup D4) --- 
 +.byte $62, $00  ; beat 1 
 +.byte $02, $17, $12, $02            ; v2 D2 
 +.byte $00 
 +.byte $63, $00 
 +.byte $02, $10                      ; v2 off 
 +.byte $00 
 +.byte $64, $00  ; beat 2 
 +.byte $03, $17, $22, $03            ; v3 F#3 
 +.byte $00 
 +.byte $65, $00 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $66, $00  ; beat 3 
 +.byte $03, $17, $25, $03            ; v3 A3 
 +.byte $00 
 +.byte $67, $00 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $68, $00  ; beat 1 
 +.byte $02, $17, $12, $02            ; v2 D2 
 +.byte $00 
 +.byte $69, $00 
 +.byte $02, $10                      ; v2 off 
 +.byte $00 
 +.byte $6A, $00  ; beat 2 
 +.byte $03, $17, $22, $03            ; v3 F#3 
 +.byte $00 
 +.byte $6B, $00 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $6C, $00  ; beat 3 
 +.byte $03, $17, $25, $03            ; v3 A3 
 +.byte $01, $17, $2A, $05            ; v1 D4 
 +.byte $00 
 +.byte $6D, $00 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +; --- Bars 19-20: D4-F#4, A4 (D major) --- 
 +.byte $6E, $00  ; beat 1 
 +.byte $02, $17, $12, $02            ; v2 D2 
 +.byte $01, $17, $2A, $05            ; v1 D4 
 +.byte $00 
 +.byte $6F, $00 
 +.byte $02, $10                      ; v2 off 
 +.byte $00 
 +.byte $70, $00  ; beat 2 
 +.byte $03, $17, $22, $03            ; v3 F#3 
 +.byte $01, $17, $2E, $05            ; v1 F#4 
 +.byte $00 
 +.byte $71, $00 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $72, $00  ; beat 3 
 +.byte $03, $17, $25, $03            ; v3 A3 
 +.byte $00 
 +.byte $73, $00 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $74, $00  ; beat 1 
 +.byte $02, $17, $12, $02            ; v2 D2 
 +.byte $01, $17, $31, $05            ; v1 A4 
 +.byte $00 
 +.byte $75, $00 
 +.byte $02, $10                      ; v2 off 
 +.byte $00 
 +.byte $76, $00  ; beat 2 
 +.byte $03, $17, $22, $03            ; v3 F#3 
 +.byte $00 
 +.byte $77, $00 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $78, $00  ; beat 3 
 +.byte $03, $17, $25, $03            ; v3 A3 
 +.byte $00 
 +.byte $79, $00 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +; --- Bars 21-22: A4 sustained (A major) --- 
 +.byte $7A, $00  ; beat 1 
 +.byte $02, $17, $19, $02            ; v2 A2 
 +.byte $00 
 +.byte $7B, $00 
 +.byte $02, $10                      ; v2 off 
 +.byte $00 
 +.byte $7C, $00  ; beat 2 
 +.byte $03, $17, $1D, $03            ; v3 C#3 
 +.byte $00 
 +.byte $7D, $00 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $7E, $00  ; beat 3 
 +.byte $03, $17, $20, $03            ; v3 E3 
 +.byte $00 
 +.byte $7F, $00 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $80, $00  ; beat 1 
 +.byte $02, $17, $19, $02            ; v2 A2 
 +.byte $00 
 +.byte $81, $00 
 +.byte $02, $10                      ; v2 off 
 +.byte $00 
 +.byte $82, $00  ; beat 2 
 +.byte $03, $17, $1D, $03            ; v3 C#3 
 +.byte $00 
 +.byte $83, $00 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $84, $00  ; beat 3 
 +.byte $03, $17, $20, $03            ; v3 E3 
 +.byte $00 
 +.byte $85, $00 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +; --- Bars 23-24: Pickup C#4, C#4-E4 (A major) --- 
 +.byte $86, $00  ; beat 1 
 +.byte $02, $17, $19, $02            ; v2 A2 
 +.byte $00 
 +.byte $87, $00 
 +.byte $02, $10                      ; v2 off 
 +.byte $00 
 +.byte $88, $00  ; beat 2 
 +.byte $03, $17, $1D, $03            ; v3 C#3 
 +.byte $00 
 +.byte $89, $00 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $8A, $00  ; beat 3 
 +.byte $03, $17, $20, $03            ; v3 E3 
 +.byte $01, $17, $29, $05            ; v1 C#4 
 +.byte $00 
 +.byte $8B, $00 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $8C, $00  ; beat 1 
 +.byte $02, $17, $19, $02            ; v2 A2 
 +.byte $01, $17, $29, $05            ; v1 C#4 
 +.byte $00 
 +.byte $8D, $00 
 +.byte $02, $10                      ; v2 off 
 +.byte $00 
 +.byte $8E, $00  ; beat 2 
 +.byte $03, $17, $1D, $03            ; v3 C#3 
 +.byte $01, $17, $2C, $05            ; v1 E4 
 +.byte $00 
 +.byte $8F, $00 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $90, $00  ; beat 3 
 +.byte $03, $17, $20, $03            ; v3 E3 
 +.byte $00 
 +.byte $91, $00 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +; --- Bars 25-26: A4 held (D major) --- 
 +.byte $92, $00  ; beat 1 
 +.byte $02, $17, $12, $02            ; v2 D2 
 +.byte $01, $17, $31, $05            ; v1 A4 
 +.byte $00 
 +.byte $93, $00 
 +.byte $02, $10                      ; v2 off 
 +.byte $00 
 +.byte $94, $00  ; beat 2 
 +.byte $03, $17, $22, $03            ; v3 F#3 
 +.byte $00 
 +.byte $95, $00 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $96, $00  ; beat 3 
 +.byte $03, $17, $25, $03            ; v3 A3 
 +.byte $00 
 +.byte $97, $00 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $98, $00  ; beat 1 
 +.byte $02, $17, $12, $02            ; v2 D2 
 +.byte $00 
 +.byte $99, $00 
 +.byte $02, $10                      ; v2 off 
 +.byte $00 
 +.byte $9A, $00  ; beat 2 
 +.byte $03, $17, $22, $03            ; v3 F#3 
 +.byte $00 
 +.byte $9B, $00 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $9C, $00  ; beat 3 
 +.byte $03, $17, $25, $03            ; v3 A3 
 +.byte $00 
 +.byte $9D, $00 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +; --- Bars 27-28: Pickup D4, D4-F#4 (D major) --- 
 +.byte $9E, $00  ; beat 1 
 +.byte $02, $17, $12, $02            ; v2 D2 
 +.byte $00 
 +.byte $9F, $00 
 +.byte $02, $10                      ; v2 off 
 +.byte $00 
 +.byte $A0, $00  ; beat 2 
 +.byte $03, $17, $22, $03            ; v3 F#3 
 +.byte $00 
 +.byte $A1, $00 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $A2, $00  ; beat 3 
 +.byte $03, $17, $25, $03            ; v3 A3 
 +.byte $01, $17, $2A, $05            ; v1 D4 
 +.byte $00 
 +.byte $A3, $00 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $A4, $00  ; beat 1 
 +.byte $02, $17, $12, $02            ; v2 D2 
 +.byte $01, $17, $2A, $05            ; v1 D4 
 +.byte $00 
 +.byte $A5, $00 
 +.byte $02, $10                      ; v2 off 
 +.byte $00 
 +.byte $A6, $00  ; beat 2 
 +.byte $03, $17, $22, $03            ; v3 F#3 
 +.byte $01, $17, $2E, $05            ; v1 F#4 
 +.byte $00 
 +.byte $A7, $00 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $A8, $00  ; beat 3 
 +.byte $03, $17, $25, $03            ; v3 A3 
 +.byte $00 
 +.byte $A9, $00 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +; --- Bars 29-30: A4-D5, D5 held (D major) --- 
 +.byte $AA, $00  ; beat 1 
 +.byte $02, $17, $12, $02            ; v2 D2 
 +.byte $01, $17, $31, $05            ; v1 A4 
 +.byte $00 
 +.byte $AB, $00 
 +.byte $02, $10                      ; v2 off 
 +.byte $00 
 +.byte $AC, $00  ; beat 2 
 +.byte $03, $17, $22, $03            ; v3 F#3 
 +.byte $01, $17, $36, $05            ; v1 D5 
 +.byte $00 
 +.byte $AD, $00 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $AE, $00  ; beat 3 
 +.byte $03, $17, $25, $03            ; v3 A3 
 +.byte $00 
 +.byte $AF, $00 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $B0, $00  ; beat 1 
 +.byte $02, $17, $12, $02            ; v2 D2 
 +.byte $01, $17, $36, $05            ; v1 D5 
 +.byte $00 
 +.byte $B1, $00 
 +.byte $02, $10                      ; v2 off 
 +.byte $00 
 +.byte $B2, $00  ; beat 2 
 +.byte $03, $17, $22, $03            ; v3 F#3 
 +.byte $00 
 +.byte $B3, $00 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $B4, $00  ; beat 3 
 +.byte $03, $17, $25, $03            ; v3 A3 
 +.byte $00 
 +.byte $B5, $00 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +; --- Bars 31-32: C#5-B4, A4 resolving to D (D major) --- 
 +.byte $B6, $00  ; beat 1 
 +.byte $02, $17, $17, $02            ; v2 G2 
 +.byte $01, $17, $35, $05            ; v1 C#5 
 +.byte $00 
 +.byte $B7, $00 
 +.byte $02, $10                      ; v2 off 
 +.byte $00 
 +.byte $B8, $00  ; beat 2 
 +.byte $03, $17, $27, $03            ; v3 B3 
 +.byte $01, $17, $33, $05            ; v1 B4 
 +.byte $00 
 +.byte $B9, $00 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $BA, $00  ; beat 3 
 +.byte $03, $17, $1E, $03            ; v3 D3 
 +.byte $00 
 +.byte $BB, $00 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $BC, $00  ; beat 1 
 +.byte $02, $17, $12, $02            ; v2 D2 
 +.byte $01, $17, $31, $05            ; v1 A4 
 +.byte $00 
 +.byte $BD, $00 
 +.byte $02, $10                      ; v2 off 
 +.byte $00 
 +.byte $BE, $00  ; beat 2 
 +.byte $03, $17, $22, $03            ; v3 F#3 
 +.byte $00 
 +.byte $BF, $00 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $C0, $00  ; beat 3 
 +.byte $03, $17, $25, $03            ; v3 A3 
 +.byte $01, $17, $2A, $05            ; v1 D4 
 +.byte $00 
 +.byte $C1, $00 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 + 
 +; ===== THEME B - Contrasting theme ===== 
 +; --- Bars 33-34: G major, melody G4-B4 --- 
 +.byte $C2, $00  ; beat 1 
 +.byte $02, $17, $17, $02            ; v2 G2 
 +.byte $01, $17, $2F, $05            ; v1 G4 
 +.byte $00 
 +.byte $C3, $00 
 +.byte $02, $10                      ; v2 off 
 +.byte $00 
 +.byte $C4, $00  ; beat 2 
 +.byte $03, $17, $27, $03            ; v3 B3 
 +.byte $00 
 +.byte $C5, $00 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $C6, $00  ; beat 3 
 +.byte $03, $17, $1E, $03            ; v3 D3 
 +.byte $00 
 +.byte $C7, $00 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $C8, $00  ; beat 1 
 +.byte $02, $17, $17, $02            ; v2 G2 
 +.byte $01, $17, $33, $05            ; v1 B4 
 +.byte $00 
 +.byte $C9, $00 
 +.byte $02, $10                      ; v2 off 
 +.byte $00 
 +.byte $CA, $00  ; beat 2 
 +.byte $03, $17, $27, $03            ; v3 B3 
 +.byte $00 
 +.byte $CB, $00 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $CC, $00  ; beat 3 
 +.byte $03, $17, $1E, $03            ; v3 D3 
 +.byte $00 
 +.byte $CD, $00 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +; --- Bars 35-36: B4 sustained, then A4 (D major) --- 
 +.byte $CE, $00  ; beat 1 
 +.byte $02, $17, $12, $02            ; v2 D2 
 +.byte $01, $17, $33, $05            ; v1 B4 
 +.byte $00 
 +.byte $CF, $00 
 +.byte $02, $10                      ; v2 off 
 +.byte $00 
 +.byte $D0, $00  ; beat 2 
 +.byte $03, $17, $22, $03            ; v3 F#3 
 +.byte $00 
 +.byte $D1, $00 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $D2, $00  ; beat 3 
 +.byte $03, $17, $25, $03            ; v3 A3 
 +.byte $00 
 +.byte $D3, $00 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $D4, $00  ; beat 1 
 +.byte $02, $17, $12, $02            ; v2 D2 
 +.byte $01, $17, $31, $05            ; v1 A4 
 +.byte $00 
 +.byte $D5, $00 
 +.byte $02, $10                      ; v2 off 
 +.byte $00 
 +.byte $D6, $00  ; beat 2 
 +.byte $03, $17, $22, $03            ; v3 F#3 
 +.byte $00 
 +.byte $D7, $00 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $D8, $00  ; beat 3 
 +.byte $03, $17, $25, $03            ; v3 A3 
 +.byte $00 
 +.byte $D9, $00 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +; --- Bars 37-38: G4-F#4 (G major) --- 
 +.byte $DA, $00  ; beat 1 
 +.byte $02, $17, $17, $02            ; v2 G2 
 +.byte $01, $17, $2F, $05            ; v1 G4 
 +.byte $00 
 +.byte $DB, $00 
 +.byte $02, $10                      ; v2 off 
 +.byte $00 
 +.byte $DC, $00  ; beat 2 
 +.byte $03, $17, $27, $03            ; v3 B3 
 +.byte $01, $17, $2E, $05            ; v1 F#4 
 +.byte $00 
 +.byte $DD, $00 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $DE, $00  ; beat 3 
 +.byte $03, $17, $1E, $03            ; v3 D3 
 +.byte $00 
 +.byte $DF, $00 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $E0, $00  ; beat 1 
 +.byte $02, $17, $17, $02            ; v2 G2 
 +.byte $01, $17, $2F, $05            ; v1 G4 
 +.byte $00 
 +.byte $E1, $00 
 +.byte $02, $10                      ; v2 off 
 +.byte $00 
 +.byte $E2, $00  ; beat 2 
 +.byte $03, $17, $27, $03            ; v3 B3 
 +.byte $00 
 +.byte $E3, $00 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $E4, $00  ; beat 3 
 +.byte $03, $17, $1E, $03            ; v3 D3 
 +.byte $00 
 +.byte $E5, $00 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +; --- Bars 39-40: A4-G4 (D major) --- 
 +.byte $E6, $00  ; beat 1 
 +.byte $02, $17, $12, $02            ; v2 D2 
 +.byte $01, $17, $31, $05            ; v1 A4 
 +.byte $00 
 +.byte $E7, $00 
 +.byte $02, $10                      ; v2 off 
 +.byte $00 
 +.byte $E8, $00  ; beat 2 
 +.byte $03, $17, $22, $03            ; v3 F#3 
 +.byte $01, $17, $2F, $05            ; v1 G4 
 +.byte $00 
 +.byte $E9, $00 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $EA, $00  ; beat 3 
 +.byte $03, $17, $25, $03            ; v3 A3 
 +.byte $00 
 +.byte $EB, $00 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $EC, $00  ; beat 1 
 +.byte $02, $17, $12, $02            ; v2 D2 
 +.byte $01, $17, $2E, $05            ; v1 F#4 
 +.byte $00 
 +.byte $ED, $00 
 +.byte $02, $10                      ; v2 off 
 +.byte $00 
 +.byte $EE, $00  ; beat 2 
 +.byte $03, $17, $22, $03            ; v3 F#3 
 +.byte $00 
 +.byte $EF, $00 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $F0, $00  ; beat 3 
 +.byte $03, $17, $25, $03            ; v3 A3 
 +.byte $00 
 +.byte $F1, $00 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +; --- Bars 41-42: E4-F#4-G4 rising (C major) --- 
 +.byte $F2, $00  ; beat 1 
 +.byte $02, $17, $10, $02            ; v2 C2 
 +.byte $01, $17, $2C, $05            ; v1 E4 
 +.byte $00 
 +.byte $F3, $00 
 +.byte $02, $10                      ; v2 off 
 +.byte $00 
 +.byte $F4, $00  ; beat 2 
 +.byte $03, $17, $20, $03            ; v3 E3 
 +.byte $01, $17, $2E, $05            ; v1 F#4 
 +.byte $00 
 +.byte $F5, $00 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $F6, $00  ; beat 3 
 +.byte $03, $17, $23, $03            ; v3 G3 
 +.byte $00 
 +.byte $F7, $00 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $F8, $00  ; beat 1 
 +.byte $02, $17, $10, $02            ; v2 C2 
 +.byte $01, $17, $2F, $05            ; v1 G4 
 +.byte $00 
 +.byte $F9, $00 
 +.byte $02, $10                      ; v2 off 
 +.byte $00 
 +.byte $FA, $00  ; beat 2 
 +.byte $03, $17, $20, $03            ; v3 E3 
 +.byte $00 
 +.byte $FB, $00 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $FC, $00  ; beat 3 
 +.byte $03, $17, $23, $03            ; v3 G3 
 +.byte $00 
 +.byte $FD, $00 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +; --- Bars 43-44: A4-B4 (Em) --- 
 +.byte $FE, $00  ; beat 1 
 +.byte $02, $17, $14, $02            ; v2 E2 
 +.byte $01, $17, $31, $05            ; v1 A4 
 +.byte $00 
 +.byte $FF, $00 
 +.byte $02, $10                      ; v2 off 
 +.byte $00 
 +.byte $00, $01  ; beat 2 
 +.byte $03, $17, $23, $03            ; v3 G3 
 +.byte $01, $17, $33, $05            ; v1 B4 
 +.byte $00 
 +.byte $01, $01 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $02, $01  ; beat 3 
 +.byte $03, $17, $27, $03            ; v3 B3 
 +.byte $00 
 +.byte $03, $01 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $04, $01  ; beat 1 
 +.byte $02, $17, $14, $02            ; v2 E2 
 +.byte $01, $17, $33, $05            ; v1 B4 
 +.byte $00 
 +.byte $05, $01 
 +.byte $02, $10                      ; v2 off 
 +.byte $00 
 +.byte $06, $01  ; beat 2 
 +.byte $03, $17, $23, $03            ; v3 G3 
 +.byte $00 
 +.byte $07, $01 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $08, $01  ; beat 3 
 +.byte $03, $17, $27, $03            ; v3 B3 
 +.byte $00 
 +.byte $09, $01 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +; --- Bars 45-46: D5-C5 (G major) --- 
 +.byte $0A, $01  ; beat 1 
 +.byte $02, $17, $17, $02            ; v2 G2 
 +.byte $01, $17, $36, $05            ; v1 D5 
 +.byte $00 
 +.byte $0B, $01 
 +.byte $02, $10                      ; v2 off 
 +.byte $00 
 +.byte $0C, $01  ; beat 2 
 +.byte $03, $17, $27, $03            ; v3 B3 
 +.byte $01, $17, $34, $05            ; v1 C5 
 +.byte $00 
 +.byte $0D, $01 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $0E, $01  ; beat 3 
 +.byte $03, $17, $1E, $03            ; v3 D3 
 +.byte $00 
 +.byte $0F, $01 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $10, $01  ; beat 1 
 +.byte $02, $17, $17, $02            ; v2 G2 
 +.byte $01, $17, $33, $05            ; v1 B4 
 +.byte $00 
 +.byte $11, $01 
 +.byte $02, $10                      ; v2 off 
 +.byte $00 
 +.byte $12, $01  ; beat 2 
 +.byte $03, $17, $27, $03            ; v3 B3 
 +.byte $00 
 +.byte $13, $01 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $14, $01  ; beat 3 
 +.byte $03, $17, $1E, $03            ; v3 D3 
 +.byte $00 
 +.byte $15, $01 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +; --- Bars 47-48: A4 resolving (D major) --- 
 +.byte $16, $01  ; beat 1 
 +.byte $02, $17, $12, $02            ; v2 D2 
 +.byte $01, $17, $31, $05            ; v1 A4 
 +.byte $00 
 +.byte $17, $01 
 +.byte $02, $10                      ; v2 off 
 +.byte $00 
 +.byte $18, $01  ; beat 2 
 +.byte $03, $17, $22, $03            ; v3 F#3 
 +.byte $00 
 +.byte $19, $01 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $1A, $01  ; beat 3 
 +.byte $03, $17, $25, $03            ; v3 A3 
 +.byte $00 
 +.byte $1B, $01 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $1C, $01  ; beat 1 
 +.byte $02, $17, $12, $02            ; v2 D2 
 +.byte $01, $17, $2A, $05            ; v1 D4 
 +.byte $00 
 +.byte $1D, $01 
 +.byte $02, $10                      ; v2 off 
 +.byte $00 
 +.byte $1E, $01  ; beat 2 
 +.byte $03, $17, $22, $03            ; v3 F#3 
 +.byte $00 
 +.byte $1F, $01 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $20, $01  ; beat 3 
 +.byte $03, $17, $25, $03            ; v3 A3 
 +.byte $00 
 +.byte $21, $01 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 + 
 +; ===== THEME A - Final reprise ===== 
 +; --- Bars 49-50: D major, pickup D4 --- 
 +.byte $22, $01  ; beat 1 
 +.byte $02, $17, $12, $02            ; v2 D2 
 +.byte $00 
 +.byte $23, $01 
 +.byte $02, $10                      ; v2 off 
 +.byte $00 
 +.byte $24, $01  ; beat 2 
 +.byte $03, $17, $22, $03            ; v3 F#3 
 +.byte $00 
 +.byte $25, $01 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $26, $01  ; beat 3 
 +.byte $03, $17, $25, $03            ; v3 A3 
 +.byte $00 
 +.byte $27, $01 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $28, $01  ; beat 1 
 +.byte $02, $17, $12, $02            ; v2 D2 
 +.byte $00 
 +.byte $29, $01 
 +.byte $02, $10                      ; v2 off 
 +.byte $00 
 +.byte $2A, $01  ; beat 2 
 +.byte $03, $17, $22, $03            ; v3 F#3 
 +.byte $00 
 +.byte $2B, $01 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $2C, $01  ; beat 3 
 +.byte $03, $17, $25, $03            ; v3 A3 
 +.byte $01, $17, $2A, $05            ; v1 D4 
 +.byte $00 
 +.byte $2D, $01 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +; --- Bars 51-52: D4-F#4, A4 (D major) --- 
 +.byte $2E, $01  ; beat 1 
 +.byte $02, $17, $12, $02            ; v2 D2 
 +.byte $01, $17, $2A, $05            ; v1 D4 
 +.byte $00 
 +.byte $2F, $01 
 +.byte $02, $10                      ; v2 off 
 +.byte $00 
 +.byte $30, $01  ; beat 2 
 +.byte $03, $17, $22, $03            ; v3 F#3 
 +.byte $01, $17, $2E, $05            ; v1 F#4 
 +.byte $00 
 +.byte $31, $01 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $32, $01  ; beat 3 
 +.byte $03, $17, $25, $03            ; v3 A3 
 +.byte $00 
 +.byte $33, $01 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $34, $01  ; beat 1 
 +.byte $02, $17, $12, $02            ; v2 D2 
 +.byte $01, $17, $31, $05            ; v1 A4 
 +.byte $00 
 +.byte $35, $01 
 +.byte $02, $10                      ; v2 off 
 +.byte $00 
 +.byte $36, $01  ; beat 2 
 +.byte $03, $17, $22, $03            ; v3 F#3 
 +.byte $00 
 +.byte $37, $01 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $38, $01  ; beat 3 
 +.byte $03, $17, $25, $03            ; v3 A3 
 +.byte $00 
 +.byte $39, $01 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +; --- Bars 53-54: A4 sustained (A major) --- 
 +.byte $3A, $01  ; beat 1 
 +.byte $02, $17, $19, $02            ; v2 A2 
 +.byte $00 
 +.byte $3B, $01 
 +.byte $02, $10                      ; v2 off 
 +.byte $00 
 +.byte $3C, $01  ; beat 2 
 +.byte $03, $17, $1D, $03            ; v3 C#3 
 +.byte $00 
 +.byte $3D, $01 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $3E, $01  ; beat 3 
 +.byte $03, $17, $20, $03            ; v3 E3 
 +.byte $00 
 +.byte $3F, $01 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $40, $01  ; beat 1 
 +.byte $02, $17, $19, $02            ; v2 A2 
 +.byte $00 
 +.byte $41, $01 
 +.byte $02, $10                      ; v2 off 
 +.byte $00 
 +.byte $42, $01  ; beat 2 
 +.byte $03, $17, $1D, $03            ; v3 C#3 
 +.byte $00 
 +.byte $43, $01 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $44, $01  ; beat 3 
 +.byte $03, $17, $20, $03            ; v3 E3 
 +.byte $00 
 +.byte $45, $01 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +; --- Bars 55-56: Pickup C#4, C#4-E4 (A major) --- 
 +.byte $46, $01  ; beat 1 
 +.byte $02, $17, $19, $02            ; v2 A2 
 +.byte $00 
 +.byte $47, $01 
 +.byte $02, $10                      ; v2 off 
 +.byte $00 
 +.byte $48, $01  ; beat 2 
 +.byte $03, $17, $1D, $03            ; v3 C#3 
 +.byte $00 
 +.byte $49, $01 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $4A, $01  ; beat 3 
 +.byte $03, $17, $20, $03            ; v3 E3 
 +.byte $01, $17, $29, $05            ; v1 C#4 
 +.byte $00 
 +.byte $4B, $01 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $4C, $01  ; beat 1 
 +.byte $02, $17, $19, $02            ; v2 A2 
 +.byte $01, $17, $29, $05            ; v1 C#4 
 +.byte $00 
 +.byte $4D, $01 
 +.byte $02, $10                      ; v2 off 
 +.byte $00 
 +.byte $4E, $01  ; beat 2 
 +.byte $03, $17, $1D, $03            ; v3 C#3 
 +.byte $01, $17, $2C, $05            ; v1 E4 
 +.byte $00 
 +.byte $4F, $01 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $50, $01  ; beat 3 
 +.byte $03, $17, $20, $03            ; v3 E3 
 +.byte $00 
 +.byte $51, $01 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +; --- Bars 57-58: A4 (D major) --- 
 +.byte $52, $01  ; beat 1 
 +.byte $02, $17, $12, $02            ; v2 D2 
 +.byte $01, $17, $31, $05            ; v1 A4 
 +.byte $00 
 +.byte $53, $01 
 +.byte $02, $10                      ; v2 off 
 +.byte $00 
 +.byte $54, $01  ; beat 2 
 +.byte $03, $17, $22, $03            ; v3 F#3 
 +.byte $00 
 +.byte $55, $01 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $56, $01  ; beat 3 
 +.byte $03, $17, $25, $03            ; v3 A3 
 +.byte $00 
 +.byte $57, $01 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $58, $01  ; beat 1 
 +.byte $02, $17, $12, $02            ; v2 D2 
 +.byte $00 
 +.byte $59, $01 
 +.byte $02, $10                      ; v2 off 
 +.byte $00 
 +.byte $5A, $01  ; beat 2 
 +.byte $03, $17, $22, $03            ; v3 F#3 
 +.byte $00 
 +.byte $5B, $01 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $5C, $01  ; beat 3 
 +.byte $03, $17, $25, $03            ; v3 A3 
 +.byte $00 
 +.byte $5D, $01 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +; --- Bars 59-60: Pickup D5, D5-F#5 (D major) --- 
 +.byte $5E, $01  ; beat 1 
 +.byte $02, $17, $12, $02            ; v2 D2 
 +.byte $00 
 +.byte $5F, $01 
 +.byte $02, $10                      ; v2 off 
 +.byte $00 
 +.byte $60, $01  ; beat 2 
 +.byte $03, $17, $22, $03            ; v3 F#3 
 +.byte $00 
 +.byte $61, $01 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $62, $01  ; beat 3 
 +.byte $03, $17, $25, $03            ; v3 A3 
 +.byte $01, $17, $36, $05            ; v1 D5 
 +.byte $00 
 +.byte $63, $01 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $64, $01  ; beat 1 
 +.byte $02, $17, $12, $02            ; v2 D2 
 +.byte $01, $17, $36, $05            ; v1 D5 
 +.byte $00 
 +.byte $65, $01 
 +.byte $02, $10                      ; v2 off 
 +.byte $00 
 +.byte $66, $01  ; beat 2 
 +.byte $03, $17, $22, $03            ; v3 F#3 
 +.byte $01, $17, $3A, $05            ; v1 F#5 
 +.byte $00 
 +.byte $67, $01 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $68, $01  ; beat 3 
 +.byte $03, $17, $25, $03            ; v3 A3 
 +.byte $00 
 +.byte $69, $01 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +; --- Bars 61-62: A5 climax! (D major) --- 
 +.byte $6A, $01  ; beat 1 
 +.byte $02, $17, $12, $02            ; v2 D2 
 +.byte $01, $17, $3D, $05            ; v1 A5 
 +.byte $00 
 +.byte $6B, $01 
 +.byte $02, $10                      ; v2 off 
 +.byte $00 
 +.byte $6C, $01  ; beat 2 
 +.byte $03, $17, $22, $03            ; v3 F#3 
 +.byte $00 
 +.byte $6D, $01 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $6E, $01  ; beat 3 
 +.byte $03, $17, $25, $03            ; v3 A3 
 +.byte $00 
 +.byte $6F, $01 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $70, $01  ; beat 1 
 +.byte $02, $17, $12, $02            ; v2 D2 
 +.byte $01, $17, $3A, $05            ; v1 F#5 
 +.byte $00 
 +.byte $71, $01 
 +.byte $02, $10                      ; v2 off 
 +.byte $00 
 +.byte $72, $01  ; beat 2 
 +.byte $03, $17, $22, $03            ; v3 F#3 
 +.byte $01, $17, $36, $05            ; v1 D5 
 +.byte $00 
 +.byte $73, $01 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $74, $01  ; beat 3 
 +.byte $03, $17, $25, $03            ; v3 A3 
 +.byte $00 
 +.byte $75, $01 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +; --- Bars 63-64: Final cadence B4-A4, D4 (D major) --- 
 +.byte $76, $01  ; beat 1 
 +.byte $02, $17, $17, $02            ; v2 G2 
 +.byte $01, $17, $33, $05            ; v1 B4 
 +.byte $00 
 +.byte $77, $01 
 +.byte $02, $10                      ; v2 off 
 +.byte $00 
 +.byte $78, $01  ; beat 2 
 +.byte $03, $17, $27, $03            ; v3 B3 
 +.byte $01, $17, $31, $05            ; v1 A4 
 +.byte $00 
 +.byte $79, $01 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $7A, $01  ; beat 3 
 +.byte $03, $17, $1E, $03            ; v3 D3 
 +.byte $00 
 +.byte $7B, $01 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $7C, $01  ; beat 1 
 +.byte $02, $17, $12, $02            ; v2 D2 
 +.byte $01, $17, $2A, $05            ; v1 D4 
 +.byte $00 
 +.byte $7D, $01 
 +.byte $02, $10                      ; v2 off 
 +.byte $00 
 +.byte $7E, $01  ; beat 2 
 +.byte $03, $17, $22, $03            ; v3 F#3 
 +.byte $00 
 +.byte $7F, $01 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 +.byte $80, $01  ; beat 3 
 +.byte $03, $17, $25, $03            ; v3 A3 
 +.byte $00 
 +.byte $81, $01 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 + 
 +; --- Final D major chord --- 
 +.byte $82, $01  ; D major final 
 +.byte $01, $17, $2A, $05            ; v1 D4 
 +.byte $02, $17, $12, $02            ; v2 D2 
 +.byte $03, $17, $22, $03            ; v3 F#3 
 +.byte $00 
 +.byte $83, $01  ; hold 
 +.byte $00 
 +.byte $84, $01  ; hold 
 +.byte $00 
 +.byte $85, $01  ; hold 
 +.byte $00 
 +.byte $86, $01  ; hold 
 +.byte $00 
 +.byte $87, $01  ; hold 
 +.byte $00 
 +.byte $88, $01  ; hold 
 +.byte $00 
 +.byte $89, $01  ; hold 
 +.byte $00 
 +.byte $8A, $01  ; hold 
 +.byte $00 
 +.byte $8B, $01  ; hold 
 +.byte $00 
 +.byte $8C, $01  ; hold 
 +.byte $00 
 +.byte $8D, $01  ; hold 
 +.byte $00 
 + 
 +; --- Silence --- 
 +.byte $8E, $01  ; all off 
 +.byte $01, $10                      ; v1 off 
 +.byte $02, $10                      ; v2 off 
 +.byte $03, $10                      ; v3 off 
 +.byte $00 
 + 
 +; --- End of song --- 
 +.byte $00, $00                      ; song terminator 
 +</codify>
sd/appendix_5_sound_system.1772819685.txt.gz · Last modified: by appledog

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki