class

GBA::Channel1

Inherits GBA::VolumeEnvelopeChannel < GBA::SoundChannel < Reference < Object

Constants

RANGE = 96..103
WAVE_DUTY = Slice[[-8, -8, -8, -8, -8, -8, -8, +8], [+8, -8, -8, -8, -8, -8, -8, +8], [+8, -8, -8, -8, -8, +8, +8, +8], [-8, +8, +8, +8, +8, +8, +8, -8]]

Instance methods

===(other) : Bool

Used so that channels can be matched with case..when statements

Source
[](address : UInt32) : UInt8
Source
[]=(address : UInt32, value : UInt8) : Nil
Source
frequency_calculation

Calculate the new shadow frequency, disable channel if overflow 11 bits https://gist.github.com/drhelius/3652407#file-game-boy-sound-operation-L243-L250

Source
frequency_timer

Calculate the frequency timer

Source
get_amplitude

Outputs a value -0x80..0x80

Source
schedule_reload(frequency_timer : UInt32) : Nil
Source
step_wave_generation

Called when @period reaches 0

Source
sweep_step
Source