Commit 222bdd9

Nick committed on
Added 8xx - set pan
commit 222bdd9d684154326a191d89d5cdaa4fbb6684f1 parent fa71bd2
1 changed files +38−6
Modifieddriver.z80 +38−6
@@ -122,7 +122,7 @@ DB "NF"
122 SECTION "Song Data", ROM0 122 SECTION "Song Data", ROM0
123 ;; order_cnt is the number of orders times 2 123 ;; order_cnt is the number of orders times 2
124 order_cnt: db 2 124 order_cnt: db 2
125 order1: dw setduty, tfau_bass, unreal, unreal 125 order1: dw setpan, tfau_bass, unreal, unreal
126 order2: dw empty, tfau_arps, unreal_arps, unreal_arps 126 order2: dw empty, tfau_arps, unreal_arps, unreal_arps
127 order3: dw empty 127 order3: dw empty
128 order4: dw empty 128 order4: dw empty
@@ -188,7 +188,7 @@ rept 32
188 endr 188 endr
189 volslide: 189 volslide:
190 dn C5, 00, 00 190 dn C5, 00, 00
191 rept 64 191 rept 63
192 dn 90, 00, $A01 192 dn 90, 00, $A01
193 endr 193 endr
194 setduty: 194 setduty:
@@ -199,6 +199,23 @@ rept 21
199 dn 90, 00, $980 199 dn 90, 00, $980
200 dn 90, 00, $9C0 200 dn 90, 00, $9C0
201 endr 201 endr
202 setpan:
203 dn C5, 00, $811
204 rept 15
205 dn 90, 00, 00
206 endr
207 dn C5, 00, $801
208 rept 15
209 dn 90, 00, 00
210 endr
211 dn C5, 00, $810
212 rept 15
213 dn 90, 00, 00
214 endr
215 dn C5, 00, $800
216 rept 15
217 dn 90, 00, 00
218 endr
202 219
203 SECTION "Playback variables", WRAM0 220 SECTION "Playback variables", WRAM0
204 pattern1: dw 221 pattern1: dw
@@ -329,13 +346,13 @@ _addr = _addr + 1
329 346
330 ; Enable sound globally 347 ; Enable sound globally
331 ld a, $80 348 ld a, $80
332 ldh [rAUDENA], a 349 ld [rAUDENA], a
333 ; Enable channel 1 in stereo 350 ; Enable channel 1 in stereo
334 ld a, $FF 351 ld a, $FF
335 ldh [rAUDTERM], a 352 ld [rAUDTERM], a
336 ; Set volume 353 ; Set volume
337 ld a, $77 354 ld a, $77
338 ldh [rAUDVOL], a 355 ld [rAUDVOL], a
339 356
340 ld c, 0 ;; Current order index 357 ld c, 0 ;; Current order index
341 call _refresh_patterns 358 call _refresh_patterns
@@ -591,7 +608,7 @@ _doeffect:
591 jp fx_no_op ;fx_toneporta_volslide ;5xy 608 jp fx_no_op ;fx_toneporta_volslide ;5xy
592 jp fx_no_op ;fx_vibrato_volslide ;6xy 609 jp fx_no_op ;fx_vibrato_volslide ;6xy
593 jp fx_note_delay ;7xy 610 jp fx_note_delay ;7xy
594 jp fx_no_op ;fx_set_pan ;8xy 611 jp fx_set_pan ;8xy
595 jp fx_set_duty ;9xy 612 jp fx_set_duty ;9xy
596 jp fx_vol_slide ;Axy 613 jp fx_vol_slide ;Axy
597 jp fx_pos_jump ;Bxy 614 jp fx_pos_jump ;Bxy
@@ -618,6 +635,21 @@ setup_channel_pointer:
618 fx_no_op: 635 fx_no_op:
619 ret 636 ret
620 637
638 fx_set_pan:
639 ret nz
640
641 ;; B: channel
642 ;; C: effect parameters
643
644 ;; free registers: A, D, E, H, L
645
646 ;; Pretty simple. The editor can create the correct value here without a bunch
647 ;; of bit shifting manually.
648
649 ld a, c
650 ld [rAUDTERM], a
651 ret
652
621 fx_set_duty: 653 fx_set_duty:
622 ret nz 654 ret nz
623 655