trunk/src/mess/machine/ieee488.c
| r24560 | r24561 | |
| 96 | 96 | |
| 97 | 97 | |
| 98 | 98 | //************************************************************************** |
| 99 | | // INLINE HELPERS |
| 99 | // LIVE DEVICE |
| 100 | 100 | //************************************************************************** |
| 101 | 101 | |
| 102 | 102 | //------------------------------------------------- |
| 103 | // ieee488_device - constructor |
| 104 | //------------------------------------------------- |
| 105 | |
| 106 | ieee488_device::ieee488_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) |
| 107 | : device_t(mconfig, IEEE488, "IEEE488 bus", tag, owner, clock, "ieee488", __FILE__), |
| 108 | m_write_eoi(*this), |
| 109 | m_write_dav(*this), |
| 110 | m_write_nrfd(*this), |
| 111 | m_write_ndac(*this), |
| 112 | m_write_ifc(*this), |
| 113 | m_write_srq(*this), |
| 114 | m_write_atn(*this), |
| 115 | m_write_ren(*this), |
| 116 | m_dio(0xff) |
| 117 | { |
| 118 | for (int i = 0; i < SIGNAL_COUNT; i++) |
| 119 | { |
| 120 | m_line[i] = 1; |
| 121 | } |
| 122 | } |
| 123 | |
| 124 | |
| 125 | //------------------------------------------------- |
| 126 | // device_start - device-specific startup |
| 127 | //------------------------------------------------- |
| 128 | |
| 129 | void ieee488_device::device_start() |
| 130 | { |
| 131 | // resolve callbacks |
| 132 | m_write_eoi.resolve_safe(); |
| 133 | m_write_dav.resolve_safe(); |
| 134 | m_write_nrfd.resolve_safe(); |
| 135 | m_write_ndac.resolve_safe(); |
| 136 | m_write_ifc.resolve_safe(); |
| 137 | m_write_srq.resolve_safe(); |
| 138 | m_write_atn.resolve_safe(); |
| 139 | m_write_ren.resolve_safe(); |
| 140 | } |
| 141 | |
| 142 | |
| 143 | //------------------------------------------------- |
| 144 | // device_stop - device-specific stop |
| 145 | //------------------------------------------------- |
| 146 | |
| 147 | void ieee488_device::device_stop() |
| 148 | { |
| 149 | m_device_list.reset(); |
| 150 | } |
| 151 | |
| 152 | |
| 153 | //------------------------------------------------- |
| 154 | // add_device - |
| 155 | //------------------------------------------------- |
| 156 | |
| 157 | void ieee488_device::add_device(device_t *target, int address) |
| 158 | { |
| 159 | daisy_entry *entry = auto_alloc(machine(), daisy_entry(target)); |
| 160 | |
| 161 | entry->m_interface->m_bus = this; |
| 162 | entry->m_interface->m_address = address; |
| 163 | |
| 164 | m_device_list.append(*entry); |
| 165 | } |
| 166 | |
| 167 | |
| 168 | //------------------------------------------------- |
| 169 | // daisy_entry - constructor |
| 170 | //------------------------------------------------- |
| 171 | |
| 172 | ieee488_device::daisy_entry::daisy_entry(device_t *device) |
| 173 | : m_next(NULL), |
| 174 | m_device(device), |
| 175 | m_interface(NULL), |
| 176 | m_dio(0xff) |
| 177 | { |
| 178 | for (int i = 0; i < SIGNAL_COUNT; i++) |
| 179 | { |
| 180 | m_line[i] = 1; |
| 181 | } |
| 182 | |
| 183 | device->interface(m_interface); |
| 184 | } |
| 185 | |
| 186 | |
| 187 | //------------------------------------------------- |
| 103 | 188 | // set_signal - |
| 104 | 189 | //------------------------------------------------- |
| 105 | 190 | |
| 106 | | inline void ieee488_device::set_signal(device_t *device, int signal, int state) |
| 191 | void ieee488_device::set_signal(device_t *device, int signal, int state) |
| 107 | 192 | { |
| 108 | 193 | bool changed = false; |
| 109 | 194 | |
| r24560 | r24561 | |
| 203 | 288 | // get_signal - |
| 204 | 289 | //------------------------------------------------- |
| 205 | 290 | |
| 206 | | inline int ieee488_device::get_signal(int signal) |
| 291 | int ieee488_device::get_signal(int signal) |
| 207 | 292 | { |
| 208 | 293 | int state = m_line[signal]; |
| 209 | 294 | |
| r24560 | r24561 | |
| 231 | 316 | // set_data - |
| 232 | 317 | //------------------------------------------------- |
| 233 | 318 | |
| 234 | | inline void ieee488_device::set_data(device_t *device, UINT8 data) |
| 319 | void ieee488_device::set_data(device_t *device, UINT8 data) |
| 235 | 320 | { |
| 236 | 321 | if (device == this) |
| 237 | 322 | { |
| r24560 | r24561 | |
| 264 | 349 | // get_data - |
| 265 | 350 | //------------------------------------------------- |
| 266 | 351 | |
| 267 | | inline UINT8 ieee488_device::get_data() |
| 352 | UINT8 ieee488_device::get_data() |
| 268 | 353 | { |
| 269 | 354 | UINT8 data = m_dio; |
| 270 | 355 | |
| r24560 | r24561 | |
| 279 | 364 | |
| 280 | 365 | return data; |
| 281 | 366 | } |
| 282 | | |
| 283 | | |
| 284 | | |
| 285 | | //************************************************************************** |
| 286 | | // LIVE DEVICE |
| 287 | | //************************************************************************** |
| 288 | | |
| 289 | | //------------------------------------------------- |
| 290 | | // ieee488_device - constructor |
| 291 | | //------------------------------------------------- |
| 292 | | |
| 293 | | ieee488_device::ieee488_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) |
| 294 | | : device_t(mconfig, IEEE488, "IEEE488 bus", tag, owner, clock, "ieee488", __FILE__), |
| 295 | | m_write_eoi(*this), |
| 296 | | m_write_dav(*this), |
| 297 | | m_write_nrfd(*this), |
| 298 | | m_write_ndac(*this), |
| 299 | | m_write_ifc(*this), |
| 300 | | m_write_srq(*this), |
| 301 | | m_write_atn(*this), |
| 302 | | m_write_ren(*this), |
| 303 | | m_dio(0xff) |
| 304 | | { |
| 305 | | for (int i = 0; i < SIGNAL_COUNT; i++) |
| 306 | | { |
| 307 | | m_line[i] = 1; |
| 308 | | } |
| 309 | | } |
| 310 | | |
| 311 | | |
| 312 | | //------------------------------------------------- |
| 313 | | // device_start - device-specific startup |
| 314 | | //------------------------------------------------- |
| 315 | | |
| 316 | | void ieee488_device::device_start() |
| 317 | | { |
| 318 | | // resolve callbacks |
| 319 | | m_write_eoi.resolve_safe(); |
| 320 | | m_write_dav.resolve_safe(); |
| 321 | | m_write_nrfd.resolve_safe(); |
| 322 | | m_write_ndac.resolve_safe(); |
| 323 | | m_write_ifc.resolve_safe(); |
| 324 | | m_write_srq.resolve_safe(); |
| 325 | | m_write_atn.resolve_safe(); |
| 326 | | m_write_ren.resolve_safe(); |
| 327 | | } |
| 328 | | |
| 329 | | |
| 330 | | //------------------------------------------------- |
| 331 | | // device_stop - device-specific stop |
| 332 | | //------------------------------------------------- |
| 333 | | |
| 334 | | void ieee488_device::device_stop() |
| 335 | | { |
| 336 | | m_device_list.reset(); |
| 337 | | } |
| 338 | | |
| 339 | | |
| 340 | | //------------------------------------------------- |
| 341 | | // add_device - |
| 342 | | //------------------------------------------------- |
| 343 | | |
| 344 | | void ieee488_device::add_device(device_t *target, int address) |
| 345 | | { |
| 346 | | daisy_entry *entry = auto_alloc(machine(), daisy_entry(target)); |
| 347 | | |
| 348 | | entry->m_interface->m_bus = this; |
| 349 | | entry->m_interface->m_address = address; |
| 350 | | |
| 351 | | m_device_list.append(*entry); |
| 352 | | } |
| 353 | | |
| 354 | | |
| 355 | | //------------------------------------------------- |
| 356 | | // daisy_entry - constructor |
| 357 | | //------------------------------------------------- |
| 358 | | |
| 359 | | ieee488_device::daisy_entry::daisy_entry(device_t *device) |
| 360 | | : m_next(NULL), |
| 361 | | m_device(device), |
| 362 | | m_interface(NULL), |
| 363 | | m_dio(0xff) |
| 364 | | { |
| 365 | | for (int i = 0; i < SIGNAL_COUNT; i++) |
| 366 | | { |
| 367 | | m_line[i] = 1; |
| 368 | | } |
| 369 | | |
| 370 | | device->interface(m_interface); |
| 371 | | } |
| 372 | | |
| 373 | | |
| 374 | | //------------------------------------------------- |
| 375 | | // dio_r - |
| 376 | | //------------------------------------------------- |
| 377 | | |
| 378 | | UINT8 ieee488_device::dio_r() |
| 379 | | { |
| 380 | | return get_data(); |
| 381 | | } |
| 382 | | |
| 383 | | |
| 384 | | //------------------------------------------------- |
| 385 | | // dio_r - |
| 386 | | //------------------------------------------------- |
| 387 | | |
| 388 | | READ8_MEMBER( ieee488_device::dio_r ) |
| 389 | | { |
| 390 | | return get_data(); |
| 391 | | } |
| 392 | | |
| 393 | | |
| 394 | | //------------------------------------------------- |
| 395 | | // eoi_r - |
| 396 | | //------------------------------------------------- |
| 397 | | |
| 398 | | READ_LINE_MEMBER( ieee488_device::eoi_r ) |
| 399 | | { |
| 400 | | return get_signal(EOI); |
| 401 | | } |
| 402 | | |
| 403 | | |
| 404 | | //------------------------------------------------- |
| 405 | | // dav_r - |
| 406 | | //------------------------------------------------- |
| 407 | | |
| 408 | | READ_LINE_MEMBER( ieee488_device::dav_r ) |
| 409 | | { |
| 410 | | return get_signal(DAV); |
| 411 | | } |
| 412 | | |
| 413 | | |
| 414 | | //------------------------------------------------- |
| 415 | | // nrfd_r - |
| 416 | | //------------------------------------------------- |
| 417 | | |
| 418 | | READ_LINE_MEMBER( ieee488_device::nrfd_r ) |
| 419 | | { |
| 420 | | return get_signal(NRFD); |
| 421 | | } |
| 422 | | |
| 423 | | |
| 424 | | //------------------------------------------------- |
| 425 | | // ndac_r - |
| 426 | | //------------------------------------------------- |
| 427 | | |
| 428 | | READ_LINE_MEMBER( ieee488_device::ndac_r ) |
| 429 | | { |
| 430 | | return get_signal(NDAC); |
| 431 | | } |
| 432 | | |
| 433 | | |
| 434 | | //------------------------------------------------- |
| 435 | | // ifc_r - |
| 436 | | //------------------------------------------------- |
| 437 | | |
| 438 | | READ_LINE_MEMBER( ieee488_device::ifc_r ) |
| 439 | | { |
| 440 | | return get_signal(IFC); |
| 441 | | } |
| 442 | | |
| 443 | | |
| 444 | | //------------------------------------------------- |
| 445 | | // srq_r - |
| 446 | | //------------------------------------------------- |
| 447 | | |
| 448 | | READ_LINE_MEMBER( ieee488_device::srq_r ) |
| 449 | | { |
| 450 | | return get_signal(SRQ); |
| 451 | | } |
| 452 | | |
| 453 | | |
| 454 | | //------------------------------------------------- |
| 455 | | // atn_r - |
| 456 | | //------------------------------------------------- |
| 457 | | |
| 458 | | READ_LINE_MEMBER( ieee488_device::atn_r ) |
| 459 | | { |
| 460 | | return get_signal(ATN); |
| 461 | | } |
| 462 | | |
| 463 | | |
| 464 | | //------------------------------------------------- |
| 465 | | // ren_r - |
| 466 | | //------------------------------------------------- |
| 467 | | |
| 468 | | READ_LINE_MEMBER( ieee488_device::ren_r ) |
| 469 | | { |
| 470 | | return get_signal(REN); |
| 471 | | } |
| 472 | | |
| 473 | | |
| 474 | | //------------------------------------------------- |
| 475 | | // dio_w - |
| 476 | | //------------------------------------------------- |
| 477 | | |
| 478 | | void ieee488_device::dio_w(UINT8 data) |
| 479 | | { |
| 480 | | return set_data(this, data); |
| 481 | | } |
| 482 | | |
| 483 | | |
| 484 | | //------------------------------------------------- |
| 485 | | // dio_w - |
| 486 | | //------------------------------------------------- |
| 487 | | |
| 488 | | WRITE8_MEMBER( ieee488_device::dio_w ) |
| 489 | | { |
| 490 | | return set_data(this, data); |
| 491 | | } |
| 492 | | |
| 493 | | |
| 494 | | //------------------------------------------------- |
| 495 | | // eoi_w - |
| 496 | | //------------------------------------------------- |
| 497 | | |
| 498 | | WRITE_LINE_MEMBER( ieee488_device::eoi_w ) |
| 499 | | { |
| 500 | | set_signal(this, EOI, state); |
| 501 | | } |
| 502 | | |
| 503 | | |
| 504 | | //------------------------------------------------- |
| 505 | | // dav_w - |
| 506 | | //------------------------------------------------- |
| 507 | | |
| 508 | | WRITE_LINE_MEMBER( ieee488_device::dav_w ) |
| 509 | | { |
| 510 | | set_signal(this, DAV, state); |
| 511 | | } |
| 512 | | |
| 513 | | |
| 514 | | //------------------------------------------------- |
| 515 | | // nrfd_w - |
| 516 | | //------------------------------------------------- |
| 517 | | |
| 518 | | WRITE_LINE_MEMBER( ieee488_device::nrfd_w ) |
| 519 | | { |
| 520 | | set_signal(this, NRFD, state); |
| 521 | | } |
| 522 | | |
| 523 | | |
| 524 | | //------------------------------------------------- |
| 525 | | // ndac_w - |
| 526 | | //------------------------------------------------- |
| 527 | | |
| 528 | | WRITE_LINE_MEMBER( ieee488_device::ndac_w ) |
| 529 | | { |
| 530 | | set_signal(this, NDAC, state); |
| 531 | | } |
| 532 | | |
| 533 | | |
| 534 | | //------------------------------------------------- |
| 535 | | // ifc_w - |
| 536 | | //------------------------------------------------- |
| 537 | | |
| 538 | | WRITE_LINE_MEMBER( ieee488_device::ifc_w ) |
| 539 | | { |
| 540 | | set_signal(this, IFC, state); |
| 541 | | } |
| 542 | | |
| 543 | | |
| 544 | | //------------------------------------------------- |
| 545 | | // srq_w - |
| 546 | | //------------------------------------------------- |
| 547 | | |
| 548 | | WRITE_LINE_MEMBER( ieee488_device::srq_w ) |
| 549 | | { |
| 550 | | set_signal(this, SRQ, state); |
| 551 | | } |
| 552 | | |
| 553 | | |
| 554 | | //------------------------------------------------- |
| 555 | | // atn_w - |
| 556 | | //------------------------------------------------- |
| 557 | | |
| 558 | | WRITE_LINE_MEMBER( ieee488_device::atn_w ) |
| 559 | | { |
| 560 | | set_signal(this, ATN, state); |
| 561 | | } |
| 562 | | |
| 563 | | |
| 564 | | //------------------------------------------------- |
| 565 | | // ren_w - |
| 566 | | //------------------------------------------------- |
| 567 | | |
| 568 | | WRITE_LINE_MEMBER( ieee488_device::ren_w ) |
| 569 | | { |
| 570 | | set_signal(this, REN, state); |
| 571 | | } |
| 572 | | |
| 573 | | |
| 574 | | //------------------------------------------------- |
| 575 | | // dio_w - |
| 576 | | //------------------------------------------------- |
| 577 | | |
| 578 | | void ieee488_device::dio_w(device_t *device, UINT8 data) |
| 579 | | { |
| 580 | | return set_data(device, data); |
| 581 | | } |
| 582 | | |
| 583 | | |
| 584 | | //------------------------------------------------- |
| 585 | | // eoi_w - |
| 586 | | //------------------------------------------------- |
| 587 | | |
| 588 | | void ieee488_device::eoi_w(device_t *device, int state) |
| 589 | | { |
| 590 | | set_signal(device, EOI, state); |
| 591 | | } |
| 592 | | |
| 593 | | |
| 594 | | //------------------------------------------------- |
| 595 | | // dav_w - |
| 596 | | //------------------------------------------------- |
| 597 | | |
| 598 | | void ieee488_device::dav_w(device_t *device, int state) |
| 599 | | { |
| 600 | | set_signal(device, DAV, state); |
| 601 | | } |
| 602 | | |
| 603 | | |
| 604 | | //------------------------------------------------- |
| 605 | | // nrfd_w - |
| 606 | | //------------------------------------------------- |
| 607 | | |
| 608 | | void ieee488_device::nrfd_w(device_t *device, int state) |
| 609 | | { |
| 610 | | set_signal(device, NRFD, state); |
| 611 | | } |
| 612 | | |
| 613 | | |
| 614 | | //------------------------------------------------- |
| 615 | | // ndac_w - |
| 616 | | //------------------------------------------------- |
| 617 | | |
| 618 | | void ieee488_device::ndac_w(device_t *device, int state) |
| 619 | | { |
| 620 | | set_signal(device, NDAC, state); |
| 621 | | } |
| 622 | | |
| 623 | | |
| 624 | | //------------------------------------------------- |
| 625 | | // ifc_w - |
| 626 | | //------------------------------------------------- |
| 627 | | |
| 628 | | void ieee488_device::ifc_w(device_t *device, int state) |
| 629 | | { |
| 630 | | set_signal(device, IFC, state); |
| 631 | | } |
| 632 | | |
| 633 | | |
| 634 | | //------------------------------------------------- |
| 635 | | // srq_w - |
| 636 | | //------------------------------------------------- |
| 637 | | |
| 638 | | void ieee488_device::srq_w(device_t *device, int state) |
| 639 | | { |
| 640 | | set_signal(device, SRQ, state); |
| 641 | | } |
| 642 | | |
| 643 | | |
| 644 | | //------------------------------------------------- |
| 645 | | // atn_w - |
| 646 | | //------------------------------------------------- |
| 647 | | |
| 648 | | void ieee488_device::atn_w(device_t *device, int state) |
| 649 | | { |
| 650 | | set_signal(device, ATN, state); |
| 651 | | } |
| 652 | | |
| 653 | | |
| 654 | | //------------------------------------------------- |
| 655 | | // ren_w - |
| 656 | | //------------------------------------------------- |
| 657 | | |
| 658 | | void ieee488_device::ren_w(device_t *device, int state) |
| 659 | | { |
| 660 | | set_signal(device, REN, state); |
| 661 | | } |
trunk/src/mess/machine/ieee488.h
| r24560 | r24561 | |
| 91 | 91 | void add_device(device_t *target, int address); |
| 92 | 92 | |
| 93 | 93 | // reads for both host and peripherals |
| 94 | | UINT8 dio_r(); |
| 95 | | DECLARE_READ8_MEMBER( dio_r ); |
| 96 | | DECLARE_READ_LINE_MEMBER( eoi_r ); |
| 97 | | DECLARE_READ_LINE_MEMBER( dav_r ); |
| 98 | | DECLARE_READ_LINE_MEMBER( nrfd_r ); |
| 99 | | DECLARE_READ_LINE_MEMBER( ndac_r ); |
| 100 | | DECLARE_READ_LINE_MEMBER( ifc_r ); |
| 101 | | DECLARE_READ_LINE_MEMBER( srq_r ); |
| 102 | | DECLARE_READ_LINE_MEMBER( atn_r ); |
| 103 | | DECLARE_READ_LINE_MEMBER( ren_r ); |
| 94 | UINT8 dio_r() { return get_data(); } |
| 95 | DECLARE_READ8_MEMBER( dio_r ) { return get_data(); } |
| 96 | DECLARE_READ_LINE_MEMBER( eoi_r ) { return get_signal(EOI); } |
| 97 | DECLARE_READ_LINE_MEMBER( dav_r ) { return get_signal(DAV); } |
| 98 | DECLARE_READ_LINE_MEMBER( nrfd_r ) { return get_signal(NRFD); } |
| 99 | DECLARE_READ_LINE_MEMBER( ndac_r ) { return get_signal(NDAC); } |
| 100 | DECLARE_READ_LINE_MEMBER( ifc_r ) { return get_signal(IFC); } |
| 101 | DECLARE_READ_LINE_MEMBER( srq_r ) { return get_signal(SRQ); } |
| 102 | DECLARE_READ_LINE_MEMBER( atn_r ) { return get_signal(ATN); } |
| 103 | DECLARE_READ_LINE_MEMBER( ren_r ) { return get_signal(REN); } |
| 104 | 104 | |
| 105 | 105 | // writes for host (driver_device) |
| 106 | | void dio_w(UINT8 data); |
| 107 | | DECLARE_WRITE8_MEMBER( dio_w ); |
| 108 | | DECLARE_WRITE_LINE_MEMBER( eoi_w ); |
| 109 | | DECLARE_WRITE_LINE_MEMBER( dav_w ); |
| 110 | | DECLARE_WRITE_LINE_MEMBER( nrfd_w ); |
| 111 | | DECLARE_WRITE_LINE_MEMBER( ndac_w ); |
| 112 | | DECLARE_WRITE_LINE_MEMBER( ifc_w ); |
| 113 | | DECLARE_WRITE_LINE_MEMBER( srq_w ); |
| 114 | | DECLARE_WRITE_LINE_MEMBER( atn_w ); |
| 115 | | DECLARE_WRITE_LINE_MEMBER( ren_w ); |
| 106 | void dio_w(UINT8 data) { return set_data(this, data); } |
| 107 | DECLARE_WRITE8_MEMBER( dio_w ) { set_data(this, data); } |
| 108 | DECLARE_WRITE_LINE_MEMBER( eoi_w ) { set_signal(this, EOI, state); } |
| 109 | DECLARE_WRITE_LINE_MEMBER( dav_w ) { set_signal(this, DAV, state); } |
| 110 | DECLARE_WRITE_LINE_MEMBER( nrfd_w ) { set_signal(this, NRFD, state); } |
| 111 | DECLARE_WRITE_LINE_MEMBER( ndac_w ) { set_signal(this, NDAC, state); } |
| 112 | DECLARE_WRITE_LINE_MEMBER( ifc_w ) { set_signal(this, IFC, state); } |
| 113 | DECLARE_WRITE_LINE_MEMBER( srq_w ) { set_signal(this, SRQ, state); } |
| 114 | DECLARE_WRITE_LINE_MEMBER( atn_w ) { set_signal(this, ATN, state); } |
| 115 | DECLARE_WRITE_LINE_MEMBER( ren_w ) { set_signal(this, REN, state); } |
| 116 | 116 | |
| 117 | 117 | // writes for peripherals (device_t) |
| 118 | | void dio_w(device_t *device, UINT8 data); |
| 119 | | void eoi_w(device_t *device, int state); |
| 120 | | void dav_w(device_t *device, int state); |
| 121 | | void nrfd_w(device_t *device, int state); |
| 122 | | void ndac_w(device_t *device, int state); |
| 123 | | void ifc_w(device_t *device, int state); |
| 124 | | void srq_w(device_t *device, int state); |
| 125 | | void atn_w(device_t *device, int state); |
| 126 | | void ren_w(device_t *device, int state); |
| 118 | void dio_w(device_t *device, UINT8 data) { set_data(device, data); } |
| 119 | void eoi_w(device_t *device, int state) { set_signal(device, EOI, state); } |
| 120 | void dav_w(device_t *device, int state) { set_signal(device, DAV, state); } |
| 121 | void nrfd_w(device_t *device, int state) { set_signal(device, NRFD, state); } |
| 122 | void ndac_w(device_t *device, int state) { set_signal(device, NDAC, state); } |
| 123 | void ifc_w(device_t *device, int state) { set_signal(device, IFC, state); } |
| 124 | void srq_w(device_t *device, int state) { set_signal(device, SRQ, state); } |
| 125 | void atn_w(device_t *device, int state) { set_signal(device, ATN, state); } |
| 126 | void ren_w(device_t *device, int state) { set_signal(device, REN, state); } |
| 127 | 127 | |
| 128 | 128 | protected: |
| 129 | 129 | enum |
| r24560 | r24561 | |
| 169 | 169 | devcb2_write_line m_write_atn; |
| 170 | 170 | devcb2_write_line m_write_ren; |
| 171 | 171 | |
| 172 | | inline void set_signal(device_t *device, int signal, int state); |
| 173 | | inline int get_signal(int signal); |
| 174 | | inline void set_data(device_t *device, UINT8 data); |
| 175 | | inline UINT8 get_data(); |
| 172 | void set_signal(device_t *device, int signal, int state); |
| 173 | int get_signal(int signal); |
| 174 | void set_data(device_t *device, UINT8 data); |
| 175 | UINT8 get_data(); |
| 176 | 176 | |
| 177 | 177 | int m_line[SIGNAL_COUNT]; |
| 178 | 178 | UINT8 m_dio; |