trunk/src/mess/machine/msx_slot.c
| r21176 | r21177 | |
| 354 | 354 | { |
| 355 | 355 | if ((offset & 0xff) >= 0xe0) |
| 356 | 356 | { |
| 357 | | return drvstate->m_k051649->test_r(space, offset & 0xff); |
| 357 | return drvstate->m_k051649->k051649_test_r(space, offset & 0xff); |
| 358 | 358 | } |
| 359 | 359 | return 0xff; |
| 360 | 360 | } |
| 361 | 361 | else |
| 362 | 362 | { |
| 363 | | return drvstate->m_k051649->waveform_r(space, offset & 0x7f); |
| 363 | return drvstate->m_k051649->k051649_waveform_r(space, offset & 0x7f); |
| 364 | 364 | } |
| 365 | 365 | } |
| 366 | 366 | |
| r21176 | r21177 | |
| 431 | 431 | |
| 432 | 432 | if (offset < 0x80) |
| 433 | 433 | { |
| 434 | | drvstate->m_k051649->waveform_w (space, offset, val); |
| 434 | drvstate->m_k051649->k051649_waveform_w (space, offset, val); |
| 435 | 435 | } |
| 436 | 436 | else if (offset < 0xa0) |
| 437 | 437 | { |
| 438 | 438 | offset &= 0xf; |
| 439 | 439 | if (offset < 0xa) |
| 440 | 440 | { |
| 441 | | drvstate->m_k051649->frequency_w (space, offset, val); |
| 441 | drvstate->m_k051649->k051649_frequency_w (space, offset, val); |
| 442 | 442 | } |
| 443 | 443 | else if (offset < 0xf) |
| 444 | 444 | { |
| 445 | | drvstate->m_k051649->volume_w (space, offset - 0xa, val); |
| 445 | drvstate->m_k051649->k051649_volume_w (space, offset - 0xa, val); |
| 446 | 446 | } |
| 447 | 447 | else |
| 448 | 448 | { |
| 449 | | drvstate->m_k051649->keyonoff_w (space, 0, val); |
| 449 | drvstate->m_k051649->k051649_keyonoff_w (space, 0, val); |
| 450 | 450 | } |
| 451 | 451 | } |
| 452 | 452 | else if (offset >= 0xe0) |
| 453 | 453 | { |
| 454 | | drvstate->m_k051649->test_w (space, offset, val); |
| 454 | drvstate->m_k051649->k051649_test_w (space, offset, val); |
| 455 | 455 | } |
| 456 | 456 | } |
| 457 | 457 | else if (addr >= 0xb000 && addr < 0xb800) |
| r21176 | r21177 | |
| 2197 | 2197 | |
| 2198 | 2198 | if (reg < 0x80) |
| 2199 | 2199 | { |
| 2200 | | return state->m_k051649->waveform_r (space, reg); |
| 2200 | return state->m_k051649->k051649_waveform_r (space, reg); |
| 2201 | 2201 | } |
| 2202 | 2202 | else if (reg < 0xa0) |
| 2203 | 2203 | { |
| r21176 | r21177 | |
| 2206 | 2206 | else if (reg < 0xc0) |
| 2207 | 2207 | { |
| 2208 | 2208 | /* read wave 5 */ |
| 2209 | | return state->m_k051649->waveform_r (space, 0x80 + (reg & 0x1f)); |
| 2209 | return state->m_k051649->k051649_waveform_r (space, 0x80 + (reg & 0x1f)); |
| 2210 | 2210 | } |
| 2211 | 2211 | else if (reg < 0xe0) |
| 2212 | 2212 | { |
| 2213 | | return state->m_k051649->test_r (space, reg); |
| 2213 | return state->m_k051649->k051649_test_r (space, reg); |
| 2214 | 2214 | } |
| 2215 | 2215 | |
| 2216 | 2216 | return 0xff; |
| r21176 | r21177 | |
| 2231 | 2231 | |
| 2232 | 2232 | if (reg < 0xa0) |
| 2233 | 2233 | { |
| 2234 | | return state->m_k051649->waveform_r (space, reg); |
| 2234 | return state->m_k051649->k051649_waveform_r (space, reg); |
| 2235 | 2235 | } |
| 2236 | 2236 | else if (reg >= 0xc0 && reg < 0xe0) |
| 2237 | 2237 | { |
| 2238 | | return state->m_k051649->test_r (space, reg); |
| 2238 | return state->m_k051649->k051649_test_r (space, reg); |
| 2239 | 2239 | } |
| 2240 | 2240 | |
| 2241 | 2241 | return 0xff; |
| r21176 | r21177 | |
| 2345 | 2345 | |
| 2346 | 2346 | if (offset < 0x80) |
| 2347 | 2347 | { |
| 2348 | | drvstate->m_k051649->waveform_w (space, offset, val); |
| 2348 | drvstate->m_k051649->k051649_waveform_w (space, offset, val); |
| 2349 | 2349 | } |
| 2350 | 2350 | else if (offset < 0xa0) |
| 2351 | 2351 | { |
| r21176 | r21177 | |
| 2353 | 2353 | |
| 2354 | 2354 | if (offset < 0xa) |
| 2355 | 2355 | { |
| 2356 | | drvstate->m_k051649->frequency_w (space, offset, val); |
| 2356 | drvstate->m_k051649->k051649_frequency_w (space, offset, val); |
| 2357 | 2357 | } |
| 2358 | 2358 | else if (offset < 0x0f) |
| 2359 | 2359 | { |
| 2360 | | drvstate->m_k051649->volume_w (space, offset - 0xa, val); |
| 2360 | drvstate->m_k051649->k051649_volume_w (space, offset - 0xa, val); |
| 2361 | 2361 | } |
| 2362 | 2362 | else if (offset == 0x0f) |
| 2363 | 2363 | { |
| 2364 | | drvstate->m_k051649->keyonoff_w (space, 0, val); |
| 2364 | drvstate->m_k051649->k051649_keyonoff_w (space, 0, val); |
| 2365 | 2365 | } |
| 2366 | 2366 | } |
| 2367 | 2367 | else if (offset < 0xe0) |
| 2368 | 2368 | { |
| 2369 | | drvstate->m_k051649->test_w (space, offset, val); |
| 2369 | drvstate->m_k051649->k051649_test_w (space, offset, val); |
| 2370 | 2370 | } |
| 2371 | 2371 | } |
| 2372 | 2372 | } |
| r21176 | r21177 | |
| 2394 | 2394 | |
| 2395 | 2395 | if (offset < 0xa0) |
| 2396 | 2396 | { |
| 2397 | | drvstate->m_k051649->waveform_w (space, offset, val); |
| 2397 | drvstate->m_k051649->k051649_waveform_w (space, offset, val); |
| 2398 | 2398 | } |
| 2399 | 2399 | else if (offset < 0xc0) |
| 2400 | 2400 | { |
| r21176 | r21177 | |
| 2402 | 2402 | |
| 2403 | 2403 | if (offset < 0x0a) |
| 2404 | 2404 | { |
| 2405 | | drvstate->m_k051649->frequency_w (space, offset, val); |
| 2405 | drvstate->m_k051649->k051649_frequency_w (space, offset, val); |
| 2406 | 2406 | } |
| 2407 | 2407 | else if (offset < 0x0f) |
| 2408 | 2408 | { |
| 2409 | | drvstate->m_k051649->volume_w (space, offset - 0x0a, val); |
| 2409 | drvstate->m_k051649->k051649_volume_w (space, offset - 0x0a, val); |
| 2410 | 2410 | } |
| 2411 | 2411 | else if (offset == 0x0f) |
| 2412 | 2412 | { |
| 2413 | | drvstate->m_k051649->keyonoff_w (space, 0, val); |
| 2413 | drvstate->m_k051649->k051649_keyonoff_w (space, 0, val); |
| 2414 | 2414 | } |
| 2415 | 2415 | } |
| 2416 | 2416 | else if (offset < 0xe0) |
| 2417 | 2417 | { |
| 2418 | | drvstate->m_k051649->test_w (space, offset, val); |
| 2418 | drvstate->m_k051649->k051649_test_w (space, offset, val); |
| 2419 | 2419 | } |
| 2420 | 2420 | } |
| 2421 | 2421 | } |