trunk/src/mame/audio/hng64.c
| r244905 | r244906 | |
| 130 | 130 | void hng64_state::reset_sound() |
| 131 | 131 | { |
| 132 | 132 | 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 | |
| 135 | 150 | m_audiocpu->set_input_line(INPUT_LINE_HALT, ASSERT_LINE); |
| 136 | 151 | m_audiocpu->set_input_line(INPUT_LINE_RESET, ASSERT_LINE); |
| 137 | 152 | } |
| r244905 | r244906 | |
| 142 | 157 | |
| 143 | 158 | |
| 144 | 159 | static 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") |
| 148 | 176 | ADDRESS_MAP_END |
| 149 | 177 | |
| 150 | 178 | WRITE16_MEMBER(hng64_state::hng64_sound_port_0008_w) |
| r244905 | r244906 | |
| 193 | 221 | |
| 194 | 222 | // the 2 early games don't do this.. maybe all banks actuallly default to that region tho? |
| 195 | 223 | // 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 | |
| 196 | 245 | } |
| 197 | 246 | |
| 198 | 247 | WRITE16_MEMBER(hng64_state::hng64_sound_port_0102_w) |