2011-02-02 10:37:31 +00:00
|
|
|
struct Noise {
|
2015-11-21 07:36:48 +00:00
|
|
|
auto dac_enable() const -> bool;
|
2016-01-11 10:31:30 +00:00
|
|
|
auto get_period() const -> uint;
|
2015-11-21 07:36:48 +00:00
|
|
|
|
|
|
|
auto run() -> void;
|
|
|
|
auto clock_length() -> void;
|
|
|
|
auto clock_envelope() -> void;
|
2016-01-11 10:31:30 +00:00
|
|
|
auto read(uint16 addr) -> uint8;
|
|
|
|
auto write(uint16 addr, uint8 data) -> void;
|
2015-11-21 07:36:48 +00:00
|
|
|
auto power() -> void;
|
|
|
|
|
|
|
|
auto serialize(serializer&) -> void;
|
|
|
|
|
2011-09-05 03:48:23 +00:00
|
|
|
bool enable;
|
|
|
|
|
2011-09-05 03:56:22 +00:00
|
|
|
uint4 envelope_volume;
|
2011-02-02 10:37:31 +00:00
|
|
|
bool envelope_direction;
|
2011-09-05 03:56:22 +00:00
|
|
|
uint3 envelope_frequency;
|
|
|
|
uint4 frequency;
|
Update to v075r05 release.
byuu says:
Added Game Boy sound emulation, all four channels.
It's really, really, really bad. Plenty of bugs, I don't even know what
the fuck a high-pass filter is so that isn't there. Hermite resampling
from 4MHz down to 44KHz. But it's tolerable.
I don't understand what sweep is for at all, and I'm sure I have that
insane recursive reload behavior wrong.
This is pretty much my own design. I referenced blargg's gb snd emu,
blargg's older gb apu ref, Cydrak's APU core, that lousy gbdev wiki
article, the completely and utterly worthless pandocs, and received
nothing but bad and wrong information that just wasted my time from
But I managed to pull it off. It's also painfully slow, like 250fps on
my machine slow. Countless optimizations are possible.
2011-02-02 10:38:28 +00:00
|
|
|
bool narrow_lfsr;
|
2016-01-11 10:31:30 +00:00
|
|
|
uint3 divisor;
|
2011-02-02 10:37:31 +00:00
|
|
|
bool counter;
|
|
|
|
|
Update to v075r05 release.
byuu says:
Added Game Boy sound emulation, all four channels.
It's really, really, really bad. Plenty of bugs, I don't even know what
the fuck a high-pass filter is so that isn't there. Hermite resampling
from 4MHz down to 44KHz. But it's tolerable.
I don't understand what sweep is for at all, and I'm sure I have that
insane recursive reload behavior wrong.
This is pretty much my own design. I referenced blargg's gb snd emu,
blargg's older gb apu ref, Cydrak's APU core, that lousy gbdev wiki
article, the completely and utterly worthless pandocs, and received
nothing but bad and wrong information that just wasted my time from
But I managed to pull it off. It's also painfully slow, like 250fps on
my machine slow. Countless optimizations are possible.
2011-02-02 10:38:28 +00:00
|
|
|
int16 output;
|
2012-04-06 04:29:50 +00:00
|
|
|
uint6 length;
|
2011-09-05 03:56:22 +00:00
|
|
|
uint3 envelope_period;
|
|
|
|
uint4 volume;
|
2015-11-21 07:36:48 +00:00
|
|
|
uint period;
|
Update to v075r05 release.
byuu says:
Added Game Boy sound emulation, all four channels.
It's really, really, really bad. Plenty of bugs, I don't even know what
the fuck a high-pass filter is so that isn't there. Hermite resampling
from 4MHz down to 44KHz. But it's tolerable.
I don't understand what sweep is for at all, and I'm sure I have that
insane recursive reload behavior wrong.
This is pretty much my own design. I referenced blargg's gb snd emu,
blargg's older gb apu ref, Cydrak's APU core, that lousy gbdev wiki
article, the completely and utterly worthless pandocs, and received
nothing but bad and wrong information that just wasted my time from
But I managed to pull it off. It's also painfully slow, like 250fps on
my machine slow. Countless optimizations are possible.
2011-02-02 10:38:28 +00:00
|
|
|
uint15 lfsr;
|
2011-02-02 10:37:31 +00:00
|
|
|
};
|