per-channel oscilloscope, part 4
OPM, OPN2, OPLL and SN plus hide unimplemented channels
This commit is contained in:
parent
ddcd486c61
commit
e1fd16637c
15 changed files with 143 additions and 24 deletions
8
extern/opm/opm.c
vendored
8
extern/opm/opm.c
vendored
|
|
@ -1256,6 +1256,14 @@ static inline void OPM_Mixer(opm_t *chip)
|
|||
}
|
||||
chip->mix[0] += chip->op_mix * chip->op_mixl;
|
||||
chip->mix[1] += chip->op_mix * chip->op_mixr;
|
||||
|
||||
if (slot<8) {
|
||||
chip->op_chmix[slot&7]=0;
|
||||
}
|
||||
chip->op_chmix[slot&7]+=chip->op_mix*(chip->op_mixl|chip->op_mixr);
|
||||
if (slot>=24) {
|
||||
chip->ch_out[slot&7]=chip->op_chmix[slot&7];
|
||||
}
|
||||
}
|
||||
|
||||
static inline void OPM_Noise(opm_t *chip)
|
||||
|
|
|
|||
2
extern/opm/opm.h
vendored
2
extern/opm/opm.h
vendored
|
|
@ -141,6 +141,7 @@ typedef struct {
|
|||
int16_t op_fb[2];
|
||||
uint8_t op_mixl;
|
||||
uint8_t op_mixr;
|
||||
uint16_t op_chmix[8];
|
||||
|
||||
// Mixer
|
||||
|
||||
|
|
@ -161,6 +162,7 @@ typedef struct {
|
|||
uint8_t smp_so;
|
||||
uint8_t smp_sh1;
|
||||
uint8_t smp_sh2;
|
||||
uint16_t ch_out[8];
|
||||
|
||||
// Noise
|
||||
uint32_t noise_lfsr;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue