@@ -548,11 +548,11 @@ _convert_note: |
| 548 |
ret |
548 |
ret |
| 549 |
|
549 |
|
| 550 |
_update_channel: |
550 |
_update_channel: |
| 551 |
;; Call with: |
551 |
;; Call with: |
| 552 |
;; Channel in B |
552 |
;; Channel in B |
| 553 |
;; Note tone in DE |
553 |
;; Note tone in DE |
| 554 |
|
554 |
|
| 555 |
;; TODO: Turn this into a jump table? Or find some other way to optimize |
555 |
;; TODO: Turn this into a jump table? Or find some other way to optimize |
| 556 |
ld a, b |
556 |
ld a, b |
| 557 |
|
557 |
|
| 558 |
cp 3 |
558 |
cp 3 |
@@ -561,31 +561,41 @@ _update_channel: |
| 561 |
jp z, _update_channel3 |
561 |
jp z, _update_channel3 |
| 562 |
cp 1 |
562 |
cp 1 |
| 563 |
jp z, _update_channel2 |
563 |
jp z, _update_channel2 |
| 564 |
; cp 0 |
|
|
| 565 |
; jp z, _update_channel1 |
|
|
| 566 |
|
564 |
|
| 567 |
_update_channel1: |
565 |
_update_channel1: |
|
|
566 |
ld hl, highmask1 |
| 568 |
ld a, e |
567 |
ld a, e |
| 569 |
ld [rAUD1LOW], a |
568 |
ld [rAUD1LOW], a |
| 570 |
ld a, d |
569 |
ld a, d |
|
|
570 |
; or [hl] |
|
|
571 |
; and %01111111 |
| 571 |
ld [rAUD1HIGH], a |
572 |
ld [rAUD1HIGH], a |
| 572 |
ret |
573 |
ret |
| 573 |
_update_channel2: |
574 |
_update_channel2: |
|
|
575 |
ld hl, highmask2 |
| 574 |
ld a, e |
576 |
ld a, e |
| 575 |
ld [rAUD2LOW], a |
577 |
ld [rAUD2LOW], a |
| 576 |
ld a, d |
578 |
ld a, d |
|
|
579 |
; or [hl] |
|
|
580 |
; and %01111111 |
| 577 |
ld [rAUD2HIGH], a |
581 |
ld [rAUD2HIGH], a |
| 578 |
ret |
582 |
ret |
| 579 |
_update_channel3: |
583 |
_update_channel3: |
|
|
584 |
ld hl, highmask3 |
| 580 |
ld a, e |
585 |
ld a, e |
| 581 |
ld [rAUD3LOW], a |
586 |
ld [rAUD3LOW], a |
| 582 |
ld a, d |
587 |
ld a, d |
|
|
588 |
; or [hl] |
|
|
589 |
; and %01111111 |
| 583 |
ld [rAUD3HIGH], a |
590 |
ld [rAUD3HIGH], a |
| 584 |
ret |
591 |
ret |
| 585 |
_update_channel4: |
592 |
_update_channel4: |
|
|
593 |
ld hl, highmask4 |
| 586 |
call _quantize_channel4_note |
594 |
call _quantize_channel4_note |
| 587 |
ld [rAUD4POLY], a |
595 |
ld [rAUD4POLY], a |
| 588 |
ld a, %00000000 |
596 |
; ld a, [hl] |
|
|
597 |
; and %01111111 |
|
|
598 |
ld a, 0 |
| 589 |
ld [rAUD4GO], a |
599 |
ld [rAUD4GO], a |
| 590 |
ret |
600 |
ret |
| 591 |
|
601 |
|
@@ -773,11 +783,14 @@ fx_call_routine: |
| 773 |
;; jump to that location. |
783 |
;; jump to that location. |
| 774 |
|
784 |
|
| 775 |
ld hl, routines |
785 |
ld hl, routines |
| 776 |
sla c |
|
|
| 777 |
sla c |
|
|
| 778 |
sla c |
|
|
| 779 |
sla c |
|
|
| 780 |
ld a, c |
786 |
ld a, c |
|
|
787 |
swap a |
|
|
788 |
; and %11110000 is this necessary? |
|
|
789 |
; sla c |
|
|
790 |
; sla c |
|
|
791 |
; sla c |
|
|
792 |
; sla c |
|
|
793 |
; ld a, c |
| 781 |
add_a_to_hl |
794 |
add_a_to_hl |
| 782 |
jp hl |
795 |
jp hl |
| 783 |
|
796 |
|
@@ -1419,7 +1432,6 @@ _dosound: |
| 1419 |
; ld a, [de] |
1432 |
; ld a, [de] |
| 1420 |
; ld [rAUD3ENV], a |
1433 |
; ld [rAUD3ENV], a |
| 1421 |
inc de |
1434 |
inc de |
| 1422 |
inc de |
|
|
| 1423 |
ld a, [de] |
1435 |
ld a, [de] |
| 1424 |
|
1436 |
|
| 1425 |
.write_mask3: |
1437 |
.write_mask3: |