NES: wire up NSFplay

no muting supported for now
see #27
This commit is contained in:
tildearrow 2022-05-01 23:20:20 -05:00
parent 7b31f6a3e5
commit cb7aa4aa05
11 changed files with 193 additions and 99 deletions

View file

@ -68,16 +68,16 @@ namespace xgm
void FrameSequence(int s);
virtual void Reset ();
virtual void Tick (unsigned int clocks);
virtual unsigned int Render (int b[2]);
virtual bool Read (unsigned int adr, unsigned int & val, unsigned int id=0);
virtual bool Write (unsigned int adr, unsigned int val, unsigned int id=0);
virtual void SetRate (double rate);
virtual void SetClock (double clock);
virtual void SetOption (int id, int b);
virtual void SetMask(int m){ mask = m; }
virtual void SetStereoMix (int trk, short mixl, short mixr);
void Reset ();
void Tick (unsigned int clocks);
unsigned int Render (int b[2]);
bool Read (unsigned int adr, unsigned int & val, unsigned int id=0);
bool Write (unsigned int adr, unsigned int val, unsigned int id=0);
void SetRate (double rate);
void SetClock (double clock);
void SetOption (int id, int b);
void SetMask(int m){ mask = m; }
void SetStereoMix (int trk, short mixl, short mixr);
};
} // namespace

View file

@ -102,16 +102,16 @@ namespace xgm
int GetDamp(){ return (damp<<1)|dac_lsb ; }
void TickFrameSequence (unsigned int clocks);
virtual void Reset ();
virtual void Tick (unsigned int clocks);
virtual unsigned int Render (int b[2]);
virtual bool Write (unsigned int adr, unsigned int val, unsigned int id=0);
virtual bool Read (unsigned int adr, unsigned int & val, unsigned int id=0);
virtual void SetRate (double rate);
virtual void SetClock (double rate);
virtual void SetOption (int, int);
virtual void SetMask(int m){ mask = m; }
virtual void SetStereoMix (int trk, short mixl, short mixr);
void Reset ();
void Tick (unsigned int clocks);
unsigned int Render (int b[2]);
bool Write (unsigned int adr, unsigned int val, unsigned int id=0);
bool Read (unsigned int adr, unsigned int & val, unsigned int id=0);
void SetRate (double rate);
void SetClock (double rate);
void SetOption (int, int);
void SetMask(int m){ mask = m; }
void SetStereoMix (int trk, short mixl, short mixr);
};
}

View file

@ -56,16 +56,16 @@ public:
NES_FDS ();
~NES_FDS ();
virtual void Reset ();
virtual void Tick (unsigned int clocks);
virtual unsigned int Render (int b[2]);
virtual bool Write (unsigned int adr, unsigned int val, unsigned int id=0);
virtual bool Read (unsigned int adr, unsigned int & val, unsigned int id=0);
virtual void SetRate (double);
virtual void SetClock (double);
virtual void SetOption (int, int);
virtual void SetMask(int m){ mask = m&1; }
virtual void SetStereoMix (int trk, short mixl, short mixr);
void Reset ();
void Tick (unsigned int clocks);
unsigned int Render (int b[2]);
bool Write (unsigned int adr, unsigned int val, unsigned int id=0);
bool Read (unsigned int adr, unsigned int & val, unsigned int id=0);
void SetRate (double);
void SetClock (double);
void SetOption (int, int);
void SetMask(int m){ mask = m&1; }
void SetStereoMix (int trk, short mixl, short mixr);
};
} // namespace xgm

View file

@ -50,16 +50,16 @@ namespace xgm
void FrameSequence ();
void TickFrameSequence (unsigned int clocks);
virtual void Reset ();
virtual void Tick (unsigned int clocks);
virtual unsigned int Render (int b[2]);
virtual bool Write (unsigned int adr, unsigned int val, unsigned int id=0);
virtual bool Read (unsigned int adr, unsigned int & val, unsigned int id=0);
virtual void SetOption (int id, int b);
virtual void SetClock (double);
virtual void SetRate (double);
virtual void SetMask (int m){ mask = m; }
virtual void SetStereoMix (int trk, short mixl, short mixr);
void Reset ();
void Tick (unsigned int clocks);
unsigned int Render (int b[2]);
bool Write (unsigned int adr, unsigned int val, unsigned int id=0);
bool Read (unsigned int adr, unsigned int & val, unsigned int id=0);
void SetOption (int id, int b);
void SetClock (double);
void SetRate (double);
void SetMask (int m){ mask = m; }
void SetStereoMix (int trk, short mixl, short mixr);
};
}

View file

@ -47,16 +47,16 @@ public:
NES_N106 ();
~NES_N106 ();
virtual void Reset ();
virtual void Tick (unsigned int clocks);
virtual unsigned int Render (int b[2]);
virtual bool Write (unsigned int adr, unsigned int val, unsigned int id=0);
virtual bool Read (unsigned int adr, unsigned int & val, unsigned int id=0);
virtual void SetRate (double);
virtual void SetClock (double);
virtual void SetOption (int, int);
virtual void SetMask (int m);
virtual void SetStereoMix (int trk, short mixl, short mixr);
void Reset ();
void Tick (unsigned int clocks);
unsigned int Render (int b[2]);
bool Write (unsigned int adr, unsigned int val, unsigned int id=0);
bool Read (unsigned int adr, unsigned int & val, unsigned int id=0);
void SetRate (double);
void SetClock (double);
void SetOption (int, int);
void SetMask (int m);
void SetStereoMix (int trk, short mixl, short mixr);
};
} // namespace xgm

View file

@ -36,16 +36,16 @@ namespace xgm
NES_VRC6 ();
~NES_VRC6 ();
virtual void Reset ();
virtual void Tick (unsigned int clocks);
virtual unsigned int Render (int b[2]);
virtual bool Read (unsigned int adr, unsigned int & val, unsigned int id=0);
virtual bool Write (unsigned int adr, unsigned int val, unsigned int id=0);
virtual void SetClock (double);
virtual void SetRate (double);
virtual void SetOption (int, int);
virtual void SetMask (int m){ mask = m; }
virtual void SetStereoMix (int trk, short mixl, short mixr);
void Reset ();
void Tick (unsigned int clocks);
unsigned int Render (int b[2]);
bool Read (unsigned int adr, unsigned int & val, unsigned int id=0);
bool Write (unsigned int adr, unsigned int val, unsigned int id=0);
void SetClock (double);
void SetRate (double);
void SetOption (int, int);
void SetMask (int m){ mask = m; }
void SetStereoMix (int trk, short mixl, short mixr);
};
} // namespace