Previous 199869 Revisions Next

r36394 Thursday 12th March, 2015 at 16:50:46 UTC by David Haywood
hmm roadedge startup is much better behaved like this.. could be on to something (nw)
[src/mame/audio]hng64.c

trunk/src/mame/audio/hng64.c
r244905r244906
130130void hng64_state::reset_sound()
131131{
132132   UINT8 *RAM = (UINT8*)m_soundram;
133   membank("bank1")->set_base(&RAM[0x1f0000]); // allows us to boot
134   membank("bank2")->set_base(&RAM[0x1f0000]); // seems to be the right default for most games (initial area jumps to a DI here)
133   membank("bank0")->set_base(&RAM[0x1f0000]);
134   membank("bank1")->set_base(&RAM[0x1f0000]);
135   membank("bank2")->set_base(&RAM[0x1f0000]);
136   membank("bank3")->set_base(&RAM[0x1f0000]);
137   membank("bank4")->set_base(&RAM[0x1f0000]);
138   membank("bank5")->set_base(&RAM[0x1f0000]);
139   membank("bank6")->set_base(&RAM[0x1f0000]);
140   membank("bank7")->set_base(&RAM[0x1f0000]);
141   membank("bank8")->set_base(&RAM[0x1f0000]);
142   membank("bank9")->set_base(&RAM[0x1f0000]);
143   membank("banka")->set_base(&RAM[0x1f0000]);
144   membank("bankb")->set_base(&RAM[0x1f0000]);
145   membank("bankc")->set_base(&RAM[0x1f0000]);
146   membank("bankd")->set_base(&RAM[0x1f0000]);
147   membank("banke")->set_base(&RAM[0x1f0000]);
148   membank("bankf")->set_base(&RAM[0x1f0000]);
149
135150   m_audiocpu->set_input_line(INPUT_LINE_HALT, ASSERT_LINE);
136151   m_audiocpu->set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
137152}
r244905r244906
142157
143158
144159static ADDRESS_MAP_START( hng_sound_map, AS_PROGRAM, 16, hng64_state )
145   AM_RANGE(0x00000, 0x0ffff) AM_RAMBANK("bank2")
146   AM_RANGE(0x10000, 0x1ffff) AM_RAM // tmp, roadedge
147   AM_RANGE(0xf0000, 0xfffff) AM_RAMBANK("bank1")
160   AM_RANGE(0x00000, 0x0ffff) AM_RAMBANK("bank0")
161   AM_RANGE(0x10000, 0x1ffff) AM_RAMBANK("bank1")
162   AM_RANGE(0x20000, 0x2ffff) AM_RAMBANK("bank2")
163   AM_RANGE(0x30000, 0x3ffff) AM_RAMBANK("bank3")
164   AM_RANGE(0x40000, 0x4ffff) AM_RAMBANK("bank4")
165   AM_RANGE(0x50000, 0x5ffff) AM_RAMBANK("bank5")
166   AM_RANGE(0x60000, 0x6ffff) AM_RAMBANK("bank6")
167   AM_RANGE(0x70000, 0x7ffff) AM_RAMBANK("bank7")
168   AM_RANGE(0x80000, 0x8ffff) AM_RAMBANK("bank8")
169   AM_RANGE(0x90000, 0x9ffff) AM_RAMBANK("bank9")
170   AM_RANGE(0xa0000, 0xaffff) AM_RAMBANK("banka")
171   AM_RANGE(0xb0000, 0xbffff) AM_RAMBANK("bankb")
172   AM_RANGE(0xc0000, 0xcffff) AM_RAMBANK("bankc")
173   AM_RANGE(0xd0000, 0xdffff) AM_RAMBANK("bankd")
174   AM_RANGE(0xe0000, 0xeffff) AM_RAMBANK("banke")
175   AM_RANGE(0xf0000, 0xfffff) AM_RAMBANK("bankf")
148176ADDRESS_MAP_END
149177
150178WRITE16_MEMBER(hng64_state::hng64_sound_port_0008_w)
r244905r244906
193221
194222   // the 2 early games don't do this.. maybe all banks actuallly default to that region tho?
195223   // the sound code on those games seems buggier anyway.
224   UINT8 *RAM = (UINT8*)m_soundram;
225
226   int bank = data & 0x1f;
227
228   if (offset == 0x0) membank("bank0")->set_base(&RAM[bank*0x10000]);
229   if (offset == 0x1) membank("bank1")->set_base(&RAM[bank*0x10000]);
230   if (offset == 0x2) membank("bank2")->set_base(&RAM[bank*0x10000]);
231   if (offset == 0x3) membank("bank3")->set_base(&RAM[bank*0x10000]);
232   if (offset == 0x4) membank("bank4")->set_base(&RAM[bank*0x10000]);
233   if (offset == 0x5) membank("bank5")->set_base(&RAM[bank*0x10000]);
234   if (offset == 0x6) membank("bank6")->set_base(&RAM[bank*0x10000]);
235   if (offset == 0x7) membank("bank7")->set_base(&RAM[bank*0x10000]);
236   if (offset == 0x8) membank("bank8")->set_base(&RAM[bank*0x10000]);
237   if (offset == 0x9) membank("bank9")->set_base(&RAM[bank*0x10000]);
238   if (offset == 0xa) membank("banka")->set_base(&RAM[bank*0x10000]);
239   if (offset == 0xb) membank("bankb")->set_base(&RAM[bank*0x10000]);
240   if (offset == 0xc) membank("bankc")->set_base(&RAM[bank*0x10000]);
241   if (offset == 0xd) membank("bankd")->set_base(&RAM[bank*0x10000]);
242   if (offset == 0xe) membank("banke")->set_base(&RAM[bank*0x10000]);
243   if (offset == 0xf) membank("bankf")->set_base(&RAM[bank*0x10000]);
244
196245}
197246
198247WRITE16_MEMBER(hng64_state::hng64_sound_port_0102_w)


Previous 199869 Revisions Next


© 1997-2024 The MAME Team