aboutsummaryrefslogtreecommitdiff
path: root/fmdsp/fmdsp.c
diff options
context:
space:
mode:
Diffstat (limited to 'fmdsp/fmdsp.c')
-rw-r--r--fmdsp/fmdsp.c19
1 files changed, 11 insertions, 8 deletions
diff --git a/fmdsp/fmdsp.c b/fmdsp/fmdsp.c
index 6c880b7..abf60a0 100644
--- a/fmdsp/fmdsp.c
+++ b/fmdsp/fmdsp.c
@@ -452,7 +452,7 @@ static void fmdsp_track_without_key(
) {
const char *track_info1 = " ";
char track_info2[5] = " ";
- if (track->playing) {
+ if (track->playing || track->info == FMDRIVER_TRACK_INFO_SSGEFF) {
switch (track->info) {
case FMDRIVER_TRACK_INFO_PPZ8:
snprintf(track_info2, sizeof(track_info2), "PPZ8");
@@ -460,11 +460,14 @@ static void fmdsp_track_without_key(
case FMDRIVER_TRACK_INFO_PDZF:
snprintf(track_info2, sizeof(track_info2), "PDZF");
break;
- case FMDRIVER_TRACK_INFO_SSG_NOISE_ONLY:
- snprintf(track_info2, sizeof(track_info2), "N%02X ", work->ssg_noise_freq);
- break;
- case FMDRIVER_TRACK_INFO_SSG_NOISE_MIX:
- snprintf(track_info2, sizeof(track_info2), "M%02X ", work->ssg_noise_freq);
+ case FMDRIVER_TRACK_INFO_SSGEFF:
+ track_info1 = "EFF ";
+ case FMDRIVER_TRACK_INFO_SSG:
+ if (track->ssg_noise) {
+ snprintf(track_info2, sizeof(track_info2), "%c%02X ",
+ track->ssg_tone ? 'M' : 'N',
+ work->ssg_noise_freq);
+ }
break;
case FMDRIVER_TRACK_INFO_FM3EX:
track_info1 = "EX ";
@@ -564,7 +567,7 @@ static void fmdsp_update_10(struct fmdsp *fmdsp,
for (int i = 0; i < KEY_OCTAVES; i++) {
vramblit(vram, KEY_X+KEY_W*i, TRACK_H*it+KEY_Y,
s_key_bg, KEY_W, KEY_H);
- if (track->playing) {
+ if (track->playing || track->info == FMDRIVER_TRACK_INFO_SSGEFF) {
if (track->actual_key >> 4 == i) {
vramblit_key(vram, KEY_X+KEY_W*i, TRACK_H*it+KEY_Y,
s_key_mask, KEY_W, KEY_H,
@@ -618,7 +621,7 @@ static void fmdsp_update_13(struct fmdsp *fmdsp,
for (int i = 0; i < KEY_OCTAVES; i++) {
vramblit(vram, KEY_X+KEY_W*i, TRACK_H_S*it+KEY_Y,
s_key_bg + KEY_S_OFFSET, KEY_W, KEY_H_S);
- if (track->playing) {
+ if (track->playing || track->info == FMDRIVER_TRACK_INFO_SSGEFF) {
if (track->actual_key >> 4 == i) {
vramblit_key(vram, KEY_X+KEY_W*i, TRACK_H_S*it+KEY_Y,
s_key_mask + KEY_S_OFFSET, KEY_W, KEY_H_S,