Previous 199869 Revisions Next

r29530 Friday 11th April, 2014 at 07:18:48 UTC by Fabio Priuli
nes_apu: converted to use inline config. nw.
[src/emu/sound]nes_apu.c nes_apu.h
[src/mame/audio]dkong.c
[src/mame/drivers]cham24.c famibox.c multigam.c playch10.c punchout.c vsnes.c
[src/mess/drivers]nes.c

trunk/src/emu/sound/nes_apu.c
r29529r29530
108108      m_samps_per_sync(0),
109109      m_buffer_size(0),
110110      m_real_rate(0),
111      m_stream(NULL)
111      m_stream(NULL),
112      m_cpu_tag("")
112113{
113114   for (int i = 0; i < NOISE_LONG; i++)
114115   {
r29529r29530
132133}
133134
134135//-------------------------------------------------
135//  device_config_complete - perform any
136//  operations now that the configuration is
137//  complete
138//-------------------------------------------------
139
140void nesapu_device::device_config_complete()
141{
142   // inherit a copy of the static data
143   const nesapu_interface *intf = reinterpret_cast<const nesapu_interface *>(static_config());
144   if (intf != NULL)
145   *static_cast<nesapu_interface *>(this) = *intf;
146
147   // or initialize to defaults if none provided
148   else
149   {
150      m_cpu_tag = "";
151   }
152}
153
154//-------------------------------------------------
155136//  device_start - device-specific startup
156137//-------------------------------------------------
157138
158139void nesapu_device::device_start()
159140{
160141   int rate = clock() / 4;
161   int i;
162142
163143   /* Initialize global variables */
164144   m_samps_per_sync = rate / ATTOSECONDS_TO_HZ(machine().first_screen()->frame_period().attoseconds);
r29529r29530
180160   m_stream = machine().sound().stream_alloc(*this, 0, 1, rate, this);
181161
182162   /* register for save */
183   for (i = 0; i < 2; i++)
163   for (int i = 0; i < 2; i++)
184164   {
185165      save_item(NAME(m_APU.squ[i].regs), i);
186166      save_item(NAME(m_APU.squ[i].vbl_length), i);
trunk/src/emu/sound/nes_apu.h
r29529r29530
4141#define  SYNCS_MAX1     0x20
4242#define  SYNCS_MAX2     0x80
4343
44struct nesapu_interface
45{
46   const char *m_cpu_tag;  /* CPU tag */
47};
48
4944class nesapu_device : public device_t,
50                           public device_sound_interface,
51                           public nesapu_interface
45                  public device_sound_interface
5246{
5347public:
5448   nesapu_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
5549   ~nesapu_device() {}
50   
51   static void set_cpu_tag(device_t &device, const char *tag) { downcast<nesapu_device &>(device).m_cpu_tag = tag; }
5652
5753   DECLARE_READ8_MEMBER( read );
5854   DECLARE_WRITE8_MEMBER( write );
5955
6056protected:
6157   // device-level overrides
62   virtual void device_config_complete();
6358   virtual void device_start();
6459
6560   // sound stream update overrides
r29529r29530
7873   uint32  m_sync_times2[SYNCS_MAX2]; /* Samples per sync table */
7974   sound_stream *m_stream;
8075
76   const char *m_cpu_tag;
77
8178   void create_syncs(unsigned long sps);
8279   int8 apu_square(square_t *chan);
8380   int8 apu_triangle(triangle_t *chan);
r29529r29530
9087
9188extern const device_type NES_APU;
9289
90#define MCFG_NES_APU_CPU(_tag) \
91   nesapu_device::set_cpu_tag(*device, _tag);
9392
93
9494#endif /* __NES_APU_H__ */
trunk/src/mess/drivers/nes.c
r29529r29530
640640INPUT_PORTS_END
641641
642642
643static const nesapu_interface nes_apu_interface =
644{
645   "maincpu"
646};
647
648
649643void nes_state::ppu_nmi(int *ppu_regs)
650644{
651645   m_maincpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE);
r29529r29530
693687   MCFG_SCREEN_UPDATE_DRIVER(nes_state, screen_update_nes)
694688   MCFG_SCREEN_PALETTE("palette")
695689
696
697690   MCFG_PALETTE_ADD("palette", 4*16*8)
698691   MCFG_PALETTE_INIT_OWNER(nes_state, nes)
699692
r29529r29530
704697   /* sound hardware */
705698   MCFG_SPEAKER_STANDARD_MONO("mono")
706699   MCFG_SOUND_ADD("nessound", NES_APU, NTSC_CLOCK)
707   MCFG_SOUND_CONFIG(nes_apu_interface)
700   MCFG_NES_APU_CPU("maincpu")
708701   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.90)
709702
710703   MCFG_NES_CARTRIDGE_ADD("nes_slot", nes_cart, NULL)
r29529r29530
735728
736729   /* sound hardware */
737730   MCFG_SOUND_REPLACE("nessound", NES_APU, PAL_CLOCK)
738   MCFG_SOUND_CONFIG(nes_apu_interface)
731   MCFG_NES_APU_CPU("maincpu")
739732   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.90)
740733MACHINE_CONFIG_END
741734
r29529r29530
757750
758751   /* sound hardware */
759752   MCFG_SOUND_REPLACE("nessound", NES_APU, 26601712/15) /* 26.601712MHz / 15 == 1.77344746666... MHz */
760   MCFG_SOUND_CONFIG(nes_apu_interface)
753   MCFG_NES_APU_CPU("maincpu")
761754   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.90)
762755MACHINE_CONFIG_END
763756
trunk/src/mame/drivers/cham24.c
r29529r29530
272272   PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2)
273273INPUT_PORTS_END
274274
275static const nesapu_interface cham24_interface_1 =
276{
277   "maincpu"
278};
279
280275void cham24_state::machine_reset()
281276{
282277}
r29529r29530
361356   MCFG_SPEAKER_STANDARD_MONO("mono")
362357
363358   MCFG_SOUND_ADD("nesapu", NES_APU, N2A03_DEFAULTCLOCK)
364   MCFG_SOUND_CONFIG(cham24_interface_1)
359   MCFG_NES_APU_CPU("maincpu")
365360   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
366361
367362   MCFG_DAC_ADD("dac")
trunk/src/mame/drivers/famibox.c
r29529r29530
511511
512512*******************************************************/
513513
514static const nesapu_interface famibox_interface_1 =
515{
516   "maincpu"
517};
518
519514PALETTE_INIT_MEMBER(famibox_state, famibox)
520515{
521516   m_ppu->init_palette(palette, 0);
r29529r29530
574569   MCFG_CPU_ADD("maincpu", N2A03, N2A03_DEFAULTCLOCK)
575570   MCFG_CPU_PROGRAM_MAP(famibox_map)
576571
577
578572   /* video hardware */
579573   MCFG_SCREEN_ADD("screen", RASTER)
580574   MCFG_SCREEN_REFRESH_RATE(60)
r29529r29530
595589   MCFG_SPEAKER_STANDARD_MONO("mono")
596590
597591   MCFG_SOUND_ADD("nesapu", NES_APU, N2A03_DEFAULTCLOCK)
598   MCFG_SOUND_CONFIG(famibox_interface_1)
592   MCFG_NES_APU_CPU("maincpu")
599593   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
600594
601595   MCFG_DAC_ADD("dac")
trunk/src/mame/drivers/playch10.c
r29529r29530
660660      device.execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
661661}
662662
663static const nesapu_interface nes_config =
664{
665   "cart"
666};
667
668663static MACHINE_CONFIG_START( playch10, playch10_state )
669664   // basic machine hardware
670665   MCFG_CPU_ADD("maincpu", Z80, 8000000/2) // 4 MHz
r29529r29530
705700   // sound hardware
706701   MCFG_SPEAKER_STANDARD_MONO("mono")
707702   MCFG_SOUND_ADD("nesapu", NES_APU, N2A03_DEFAULTCLOCK)
708   MCFG_SOUND_CONFIG(nes_config)
703   MCFG_NES_APU_CPU("cart")
709704   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
710705
711706   MCFG_DAC_ADD("dac")
trunk/src/mame/drivers/vsnes.c
r29529r29530
16961696   PORT_DIPSETTING(    0xc0, "RP2C04-0004" )
16971697INPUT_PORTS_END
16981698
1699static const nesapu_interface nes_interface_1 =
1700{
1701   "maincpu"
1702};
1703
1704static const nesapu_interface nes_interface_2 =
1705{
1706   "sub"
1707};
1708
17091699static MACHINE_CONFIG_START( vsnes, vsnes_state )
17101700
17111701   /* basic machine hardware */
r29529r29530
17371727   MCFG_SPEAKER_STANDARD_MONO("mono")
17381728
17391729   MCFG_SOUND_ADD("nesapu1", NES_APU, N2A03_DEFAULTCLOCK)
1740   MCFG_SOUND_CONFIG(nes_interface_1)
1730   MCFG_NES_APU_CPU("maincpu")
17411731   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
17421732
17431733   MCFG_DAC_ADD("dac1")
r29529r29530
18291819   MCFG_SPEAKER_STANDARD_MONO("mono")
18301820
18311821   MCFG_SOUND_ADD("nesapu1", NES_APU, N2A03_DEFAULTCLOCK)
1832   MCFG_SOUND_CONFIG(nes_interface_1)
1822   MCFG_NES_APU_CPU("maincpu")
18331823   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
18341824
18351825   MCFG_SOUND_ADD("nesapu2", NES_APU, N2A03_DEFAULTCLOCK)
1836   MCFG_SOUND_CONFIG(nes_interface_2)
1826   MCFG_NES_APU_CPU("sub")
18371827   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
18381828
18391829   MCFG_DAC_ADD("dac1")
r29529r29530
18791869   MCFG_SPEAKER_STANDARD_MONO("mono")
18801870
18811871   MCFG_SOUND_ADD("nesapu1", NES_APU, N2A03_DEFAULTCLOCK)
1882   MCFG_SOUND_CONFIG(nes_interface_1)
1872   MCFG_NES_APU_CPU("maincpu")
18831873   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
18841874
18851875   MCFG_DAC_ADD("dac1")
trunk/src/mame/drivers/punchout.c
r29529r29530
911911GFXDECODE_END
912912
913913
914
915static const nesapu_interface nes_config =
916{
917   "audiocpu"
918};
919
920914void punchout_state::machine_reset()
921915{
922916   m_rp5c01_mode_sel = 0;
r29529r29530
971965   MCFG_SPEAKER_STANDARD_MONO("mono")
972966
973967   MCFG_SOUND_ADD("nesapu", NES_APU, N2A03_DEFAULTCLOCK)
974   MCFG_SOUND_CONFIG(nes_config)
968   MCFG_NES_APU_CPU("audiocpu")
975969   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
976970
977971   MCFG_SOUND_ADD("vlm", VLM5030, 3580000)
trunk/src/mame/drivers/multigam.c
r29529r29530
11401140
11411141*******************************************************/
11421142
1143static const nesapu_interface multigam_interface_1 =
1144{
1145   "maincpu"
1146};
1147
11481143PALETTE_INIT_MEMBER(multigam_state, multigam)
11491144{
11501145   m_ppu->init_palette(palette, 0);
r29529r29530
12621257   MCFG_SPEAKER_STANDARD_MONO("mono")
12631258
12641259   MCFG_SOUND_ADD("nesapu", NES_APU, N2A03_DEFAULTCLOCK)
1265   MCFG_SOUND_CONFIG(multigam_interface_1)
1260   MCFG_NES_APU_CPU("maincpu")
12661261   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
12671262
12681263   MCFG_DAC_ADD("dac")
trunk/src/mame/audio/dkong.c
r29529r29530
13341334 *
13351335 *************************************/
13361336
1337static const nesapu_interface nes_interface_1 = { "n2a03a" };
1338static const nesapu_interface nes_interface_2 = { "n2a03b" };
1339
13401337const tms5110_interface tms_interface = {
13411338   NULL,
13421339   NULL,
r29529r29530
14691466
14701467   MCFG_SPEAKER_STANDARD_MONO("mono")
14711468   MCFG_SOUND_ADD("nesapu1", NES_APU, N2A03_DEFAULTCLOCK)
1472   MCFG_SOUND_CONFIG(nes_interface_1)
1469   MCFG_NES_APU_CPU("n2a03a")
14731470   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
14741471
14751472   MCFG_SOUND_ADD("nesapu2", NES_APU, N2A03_DEFAULTCLOCK)
1476   MCFG_SOUND_CONFIG(nes_interface_2)
1473   MCFG_NES_APU_CPU("n2a03b")
14771474   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
14781475
14791476MACHINE_CONFIG_END

Previous 199869 Revisions Next


© 1997-2024 The MAME Team