Commit 7b9873a

Nick committed on
Fixing bug with ch3 highmask, comment changes
commit 7b9873a1d0a1a2064f67dc9e3768b5aaa7f05543 parent ef8590b
3 changed files +90−77
Modifieddriver-format.txt +2−1
@@ -2,8 +2,9 @@
2 0000.0000-0000-0000.0000.0000 2 0000.0000-0000-0000.0000.0000
3 3
4 Stuff to do: 4 Stuff to do:
5 - Implement instruments
6 - Implement routines 5 - Implement routines
6 - Reloading the wave buffer when Channel 3's instrument changes
7 - Some form of RLE compression
7 8
8 If note value is greater than 71 then it's considered to be an empty note cell. 9 If note value is greater than 71 then it's considered to be an empty note cell.
9 Will probably add some sort of RLE encoding later with special notes greater than 71. 10 Will probably add some sort of RLE encoding later with special notes greater than 71.
Modifieddriver.z80 +24−12
@@ -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:
Modifiedtfau_bass.inc +64−64
@@ -1,64 +1,64 @@
1 dn E_3, 3, $F03 1 dn E_3, 2, $F03
2 dn ___, 3, 0 2 dn ___, 0, 0
3 dn ___, 3, 0 3 dn ___, 0, 0
4 dn ___, 3, 0 4 dn ___, 0, 0
5 dn ___, 3, 0 5 dn ___, 0, 0
6 dn E_3, 3, $C20 6 dn E_3, 2, $C20
7 dn E_4, 3, 0 7 dn E_4, 2, 0
8 dn E_4, 3, $C20 8 dn E_4, 2, $C20
9 dn ___, 3, 0 9 dn ___, 0, 0
10 dn ___, 3, 0 10 dn ___, 0, 0
11 dn ___, 3, 0 11 dn ___, 0, 0
12 dn ___, 3, 0 12 dn ___, 0, 0
13 dn A_3, 3, 0 13 dn A_3, 2, 0
14 dn A_3, 3, $C20 14 dn A_3, 2, $C20
15 dn ___, 3, 0 15 dn ___, 0, 0
16 dn ___, 3, 0 16 dn ___, 0, 0
17 dn A#3, 3, 0 17 dn A#3, 2, 0
18 dn B_3, 3, $30A 18 dn B_3, 2, $30A
19 dn ___, 3, $30A 19 dn ___, 0, $30A
20 dn ___, 3, 0 20 dn ___, 0, 0
21 dn ___, 3, 0 21 dn ___, 0, 0
22 dn B_3, 3, $C20 22 dn B_3, 2, $C20
23 dn D_4, 3, 0 23 dn D_4, 2, 0
24 dn D_4, 3, $C20 24 dn D_4, 2, $C20
25 dn ___, 3, 0 25 dn ___, 0, 0
26 dn ___, 3, 0 26 dn ___, 0, 0
27 dn D_4, 3, 0 27 dn D_4, 2, 0
28 dn D_4, 3, $C20 28 dn D_4, 2, $C20
29 dn F#3, 3, $C80 29 dn F#3, 2, $C80
30 dn ___, 3, 0 30 dn ___, 0, 0
31 dn ___, 3, 0 31 dn ___, 0, 0
32 dn ___, 3, 0 32 dn ___, 0, 0
33 dn G_3, 3, 0 33 dn G_3, 2, 0
34 dn ___, 3, 0 34 dn ___, 0, 0
35 dn ___, 3, 0 35 dn ___, 0, 0
36 dn ___, 3, 0 36 dn ___, 0, 0
37 dn ___, 3, 0 37 dn ___, 0, 0
38 dn F#3, 3, $C20 38 dn F#3, 2, $C20
39 dn G_4, 3, 0 39 dn G_4, 2, 0
40 dn G_4, 3, $C20 40 dn G_4, 2, $C20
41 dn ___, 3, 0 41 dn ___, 0, 0
42 dn ___, 3, 0 42 dn ___, 0, 0
43 dn ___, 3, 0 43 dn ___, 0, 0
44 dn ___, 3, 0 44 dn ___, 0, 0
45 dn A_3, 3, 0 45 dn A_3, 2, 0
46 dn A_3, 3, $C20 46 dn A_3, 2, $C20
47 dn A#3, 3, $C80 47 dn A#3, 2, $C80
48 dn A#3, 3, $C20 48 dn A#3, 2, $C20
49 dn A#3, 3, $101 49 dn A#3, 2, $101
50 dn B_3, 3, $30A 50 dn B_3, 2, $30A
51 dn ___, 3, $30A 51 dn ___, 0, $30A
52 dn ___, 3, 0 52 dn ___, 0, 0
53 dn D_4, 3, 0 53 dn D_4, 2, 0
54 dn D_4, 3, $C20 54 dn D_4, 2, $C20
55 dn ___, 3, 0 55 dn ___, 0, 0
56 dn ___, 3, 0 56 dn ___, 0, 0
57 dn ___, 3, 0 57 dn ___, 0, 0
58 dn ___, 3, 0 58 dn ___, 0, 0
59 dn A_3, 3, 0 59 dn A_3, 2, 0
60 dn A_3, 3, $C20 60 dn A_3, 2, $C20
61 dn B_3, 3, 0 61 dn B_3, 2, 0
62 dn ___, 3, 0 62 dn ___, 0, 0
63 dn ___, 3, 0 63 dn ___, 0, 0
64 dn ___, 3, $D01 64 dn ___, 0, $D01