trunk/src/mame/drivers/cps1.c
| r19423 | r19424 | |
| 3217 | 3217 | |
| 3218 | 3218 | */ |
| 3219 | 3219 | |
| 3220 | // The following is temporary - new code is on the way |
| 3221 | |
| 3222 | static ADDRESS_MAP_START( sf2mdt_z80map, AS_PROGRAM, 8, cps_state ) |
| 3223 | AM_RANGE(0x0000, 0x7fff) AM_ROM |
| 3224 | AM_RANGE(0x8000, 0xd7ff) AM_RAM |
| 3225 | AM_RANGE(0xd800, 0xd801) AM_DEVREADWRITE("2151", ym2151_device, read, write) |
| 3226 | AM_RANGE(0xdc00, 0xdc00) AM_READ(soundlatch_byte_r) |
| 3227 | ADDRESS_MAP_END |
| 3228 | |
| 3229 | static void m5205_int1( device_t *device ) |
| 3230 | { |
| 3231 | cps_state *state = device->machine().driver_data<cps_state>(); |
| 3232 | |
| 3233 | msm5205_data_w(device, state->m_sample_buffer1 & 0x0f); |
| 3234 | state->m_sample_buffer1 >>= 4; |
| 3235 | state->m_sample_select1 ^= 1; |
| 3236 | if (state->m_sample_select1 == 0) |
| 3237 | state->m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE); |
| 3238 | } |
| 3239 | |
| 3240 | static void m5205_int2( device_t *device ) |
| 3241 | { |
| 3242 | cps_state *state = device->machine().driver_data<cps_state>(); |
| 3243 | |
| 3244 | msm5205_data_w(device, state->m_sample_buffer2 & 0x0f); |
| 3245 | state->m_sample_buffer2 >>= 4; |
| 3246 | state->m_sample_select2 ^= 1; |
| 3247 | } |
| 3248 | |
| 3249 | static const msm5205_interface msm5205_interface1 = |
| 3250 | { |
| 3251 | m5205_int1, /* interrupt function */ |
| 3252 | MSM5205_S96_4B /* 4KHz 4-bit */ |
| 3253 | }; |
| 3254 | |
| 3255 | static const msm5205_interface msm5205_interface2 = |
| 3256 | { |
| 3257 | m5205_int2, /* interrupt function */ |
| 3258 | MSM5205_S96_4B /* 4KHz 4-bit */ |
| 3259 | }; |
| 3260 | |
| 3261 | |
| 3220 | 3262 | static MACHINE_CONFIG_START( knightsb, cps_state ) |
| 3221 | 3263 | |
| 3222 | 3264 | /* basic machine hardware */ |
| r19423 | r19424 | |
| 3225 | 3267 | MCFG_CPU_VBLANK_INT_DRIVER("screen", cps_state, cps1_interrupt) |
| 3226 | 3268 | |
| 3227 | 3269 | MCFG_CPU_ADD("audiocpu", Z80, 29821000 / 8) |
| 3228 | | // MCFG_CPU_PROGRAM_MAP(sf2mdt_z80map) |
| 3270 | MCFG_CPU_PROGRAM_MAP(sf2mdt_z80map) |
| 3229 | 3271 | |
| 3230 | 3272 | MCFG_MACHINE_START_OVERRIDE(cps_state,common) |
| 3231 | 3273 | |
| r19423 | r19424 | |
| 3253 | 3295 | |
| 3254 | 3296 | /* has 2x MSM5205 instead of OKI6295 */ |
| 3255 | 3297 | MCFG_SOUND_ADD("msm1", MSM5205, 24000000/64) /* ? */ |
| 3256 | | // MCFG_SOUND_CONFIG(msm5205_interface1) |
| 3298 | MCFG_SOUND_CONFIG(msm5205_interface1) |
| 3257 | 3299 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) |
| 3258 | 3300 | |
| 3259 | 3301 | MCFG_SOUND_ADD("msm2", MSM5205, 24000000/64) /* ? */ |
| 3260 | | // MCFG_SOUND_CONFIG(msm5205_interface2) |
| 3302 | MCFG_SOUND_CONFIG(msm5205_interface2) |
| 3261 | 3303 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) |
| 3262 | 3304 | MACHINE_CONFIG_END |
| 3263 | 3305 | |