trunk/src/emu/memory.c
| r17984 | r17985 | |
| 349 | 349 | read16_space_func space16; |
| 350 | 350 | read32_space_func space32; |
| 351 | 351 | read64_space_func space64; |
| 352 | | read8_device_func device8; |
| 353 | | read16_device_func device16; |
| 354 | | read32_device_func device32; |
| 355 | | read64_device_func device64; |
| 356 | 352 | } handler; |
| 357 | 353 | }; |
| 358 | 354 | |
| r17984 | r17985 | |
| 390 | 386 | void set_legacy_func(address_space &space, read32_space_func func, const char *name, UINT64 mask = 0); |
| 391 | 387 | void set_legacy_func(address_space &space, read64_space_func func, const char *name, UINT64 mask = 0); |
| 392 | 388 | |
| 393 | | // configure legacy device functions |
| 394 | | void set_legacy_func(device_t &device, read8_device_func func, const char *name, UINT64 mask = 0); |
| 395 | | void set_legacy_func(device_t &device, read16_device_func func, const char *name, UINT64 mask = 0); |
| 396 | | void set_legacy_func(device_t &device, read32_device_func func, const char *name, UINT64 mask = 0); |
| 397 | | void set_legacy_func(device_t &device, read64_device_func func, const char *name, UINT64 mask = 0); |
| 398 | | |
| 399 | 389 | // configure I/O port access |
| 400 | 390 | void set_ioport(ioport_port &ioport); |
| 401 | 391 | |
| r17984 | r17985 | |
| 456 | 446 | write16_space_func space16; |
| 457 | 447 | write32_space_func space32; |
| 458 | 448 | write64_space_func space64; |
| 459 | | write8_device_func device8; |
| 460 | | write16_device_func device16; |
| 461 | | write32_device_func device32; |
| 462 | | write64_device_func device64; |
| 463 | 449 | } handler; |
| 464 | 450 | }; |
| 465 | 451 | |
| r17984 | r17985 | |
| 497 | 483 | void set_legacy_func(address_space &space, write32_space_func func, const char *name, UINT64 mask = 0); |
| 498 | 484 | void set_legacy_func(address_space &space, write64_space_func func, const char *name, UINT64 mask = 0); |
| 499 | 485 | |
| 500 | | // configure legacy device functions |
| 501 | | void set_legacy_func(device_t &device, write8_device_func func, const char *name, UINT64 mask = 0); |
| 502 | | void set_legacy_func(device_t &device, write16_device_func func, const char *name, UINT64 mask = 0); |
| 503 | | void set_legacy_func(device_t &device, write32_device_func func, const char *name, UINT64 mask = 0); |
| 504 | | void set_legacy_func(device_t &device, write64_device_func func, const char *name, UINT64 mask = 0); |
| 505 | | |
| 506 | 486 | // configure I/O port access |
| 507 | 487 | void set_ioport(ioport_port &ioport); |
| 508 | 488 | |
| r17984 | r17985 | |
| 564 | 544 | (*i)->set_legacy_func(space, func, name, mask); |
| 565 | 545 | } |
| 566 | 546 | |
| 567 | | // forward legacy device functions configuration |
| 568 | | template<typename _func> void set_legacy_func(device_t &device, _func func, const char *name) const { |
| 569 | | for (typename std::list<_HandlerEntry *>::const_iterator i = handlers.begin(); i != handlers.end(); i++) |
| 570 | | (*i)->set_legacy_func(device, func, name, mask); |
| 571 | | } |
| 572 | | |
| 573 | 547 | // forward I/O port access configuration |
| 574 | 548 | void set_ioport(ioport_port &ioport) const { |
| 575 | 549 | for (typename std::list<_HandlerEntry *>::const_iterator i = handlers.begin(); i != handlers.end(); i++) |
| r17984 | r17985 | |
| 2527 | 2501 | |
| 2528 | 2502 | |
| 2529 | 2503 | //------------------------------------------------- |
| 2530 | | // install_legacy_handler - install 8-bit read/ |
| 2531 | | // write legacy device handlers for the space |
| 2532 | | //------------------------------------------------- |
| 2533 | | |
| 2534 | | UINT8 *address_space::install_legacy_read_handler(device_t &device, offs_t addrstart, offs_t addrend, offs_t addrmask, offs_t addrmirror, read8_device_func rhandler, const char *rname, UINT64 unitmask) |
| 2535 | | { |
| 2536 | | VPRINTF(("address_space::install_legacy_read_handler(%s-%s mask=%s mirror=%s, %s, %s, \"%s\") [read8]\n", |
| 2537 | | core_i64_hex_format(addrstart, m_addrchars), core_i64_hex_format(addrend, m_addrchars), |
| 2538 | | core_i64_hex_format(addrmask, m_addrchars), core_i64_hex_format(addrmirror, m_addrchars), |
| 2539 | | rname, core_i64_hex_format(unitmask, data_width() / 4), device.tag())); |
| 2540 | | |
| 2541 | | read().handler_map_range(addrstart, addrend, addrmask, addrmirror, unitmask).set_legacy_func(device, rhandler, rname); |
| 2542 | | generate_memdump(machine()); |
| 2543 | | return reinterpret_cast<UINT8 *>(find_backing_memory(addrstart, addrend)); |
| 2544 | | } |
| 2545 | | |
| 2546 | | UINT8 *address_space::install_legacy_write_handler(device_t &device, offs_t addrstart, offs_t addrend, offs_t addrmask, offs_t addrmirror, write8_device_func whandler, const char *wname, UINT64 unitmask) |
| 2547 | | { |
| 2548 | | VPRINTF(("address_space::install_legacy_write_handler(%s-%s mask=%s mirror=%s, %s, %s, \"%s\") [write8]\n", |
| 2549 | | core_i64_hex_format(addrstart, m_addrchars), core_i64_hex_format(addrend, m_addrchars), |
| 2550 | | core_i64_hex_format(addrmask, m_addrchars), core_i64_hex_format(addrmirror, m_addrchars), |
| 2551 | | wname, core_i64_hex_format(unitmask, data_width() / 4), device.tag())); |
| 2552 | | |
| 2553 | | write().handler_map_range(addrstart, addrend, addrmask, addrmirror, unitmask).set_legacy_func(device, whandler, wname); |
| 2554 | | generate_memdump(machine()); |
| 2555 | | return reinterpret_cast<UINT8 *>(find_backing_memory(addrstart, addrend)); |
| 2556 | | } |
| 2557 | | |
| 2558 | | UINT8 *address_space::install_legacy_readwrite_handler(device_t &device, offs_t addrstart, offs_t addrend, offs_t addrmask, offs_t addrmirror, read8_device_func rhandler, const char *rname, write8_device_func whandler, const char *wname, UINT64 unitmask) |
| 2559 | | { |
| 2560 | | install_legacy_read_handler(device, addrstart, addrend, addrmask, addrmirror, rhandler, rname, unitmask); |
| 2561 | | return install_legacy_write_handler(device, addrstart, addrend, addrmask, addrmirror, whandler, wname, unitmask); |
| 2562 | | } |
| 2563 | | |
| 2564 | | |
| 2565 | | //------------------------------------------------- |
| 2566 | 2504 | // install_handler - install 16-bit read/write |
| 2567 | 2505 | // delegate handlers for the space |
| 2568 | 2506 | //------------------------------------------------- |
| r17984 | r17985 | |
| 2616 | 2554 | |
| 2617 | 2555 | |
| 2618 | 2556 | //------------------------------------------------- |
| 2619 | | // install_legacy_handler - install 16-bit read/ |
| 2620 | | // write legacy device handlers for the space |
| 2621 | | //------------------------------------------------- |
| 2622 | | |
| 2623 | | UINT16 *address_space::install_legacy_read_handler(device_t &device, offs_t addrstart, offs_t addrend, offs_t addrmask, offs_t addrmirror, read16_device_func rhandler, const char *rname, UINT64 unitmask) |
| 2624 | | { |
| 2625 | | read().handler_map_range(addrstart, addrend, addrmask, addrmirror, unitmask).set_legacy_func(device, rhandler, rname); |
| 2626 | | generate_memdump(machine()); |
| 2627 | | return reinterpret_cast<UINT16 *>(find_backing_memory(addrstart, addrend)); |
| 2628 | | } |
| 2629 | | |
| 2630 | | UINT16 *address_space::install_legacy_write_handler(device_t &device, offs_t addrstart, offs_t addrend, offs_t addrmask, offs_t addrmirror, write16_device_func whandler, const char *wname, UINT64 unitmask) |
| 2631 | | { |
| 2632 | | write().handler_map_range(addrstart, addrend, addrmask, addrmirror, unitmask).set_legacy_func(device, whandler, wname); |
| 2633 | | generate_memdump(machine()); |
| 2634 | | return reinterpret_cast<UINT16 *>(find_backing_memory(addrstart, addrend)); |
| 2635 | | } |
| 2636 | | |
| 2637 | | UINT16 *address_space::install_legacy_readwrite_handler(device_t &device, offs_t addrstart, offs_t addrend, offs_t addrmask, offs_t addrmirror, read16_device_func rhandler, const char *rname, write16_device_func whandler, const char *wname, UINT64 unitmask) |
| 2638 | | { |
| 2639 | | install_legacy_read_handler(device, addrstart, addrend, addrmask, addrmirror, rhandler, rname, unitmask); |
| 2640 | | return install_legacy_write_handler(device, addrstart, addrend, addrmask, addrmirror, whandler, wname, unitmask); |
| 2641 | | } |
| 2642 | | |
| 2643 | | |
| 2644 | | //------------------------------------------------- |
| 2645 | 2557 | // install_handler - install 32-bit read/write |
| 2646 | 2558 | // delegate handlers for the space |
| 2647 | 2559 | //------------------------------------------------- |
| r17984 | r17985 | |
| 2695 | 2607 | |
| 2696 | 2608 | |
| 2697 | 2609 | //------------------------------------------------- |
| 2698 | | // install_legacy_handler - install 32-bit read/ |
| 2699 | | // write legacy device handlers for the space |
| 2700 | | //------------------------------------------------- |
| 2701 | | |
| 2702 | | UINT32 *address_space::install_legacy_read_handler(device_t &device, offs_t addrstart, offs_t addrend, offs_t addrmask, offs_t addrmirror, read32_device_func rhandler, const char *rname, UINT64 unitmask) |
| 2703 | | { |
| 2704 | | read().handler_map_range(addrstart, addrend, addrmask, addrmirror, unitmask).set_legacy_func(device, rhandler, rname); |
| 2705 | | generate_memdump(machine()); |
| 2706 | | return reinterpret_cast<UINT32 *>(find_backing_memory(addrstart, addrend)); |
| 2707 | | } |
| 2708 | | |
| 2709 | | UINT32 *address_space::install_legacy_write_handler(device_t &device, offs_t addrstart, offs_t addrend, offs_t addrmask, offs_t addrmirror, write32_device_func whandler, const char *wname, UINT64 unitmask) |
| 2710 | | { |
| 2711 | | write().handler_map_range(addrstart, addrend, addrmask, addrmirror, unitmask).set_legacy_func(device, whandler, wname); |
| 2712 | | generate_memdump(machine()); |
| 2713 | | return reinterpret_cast<UINT32 *>(find_backing_memory(addrstart, addrend)); |
| 2714 | | } |
| 2715 | | |
| 2716 | | UINT32 *address_space::install_legacy_readwrite_handler(device_t &device, offs_t addrstart, offs_t addrend, offs_t addrmask, offs_t addrmirror, read32_device_func rhandler, const char *rname, write32_device_func whandler, const char *wname, UINT64 unitmask) |
| 2717 | | { |
| 2718 | | install_legacy_read_handler(device, addrstart, addrend, addrmask, addrmirror, rhandler, rname, unitmask); |
| 2719 | | return install_legacy_write_handler(device, addrstart, addrend, addrmask, addrmirror, whandler, wname, unitmask); |
| 2720 | | } |
| 2721 | | |
| 2722 | | |
| 2723 | | //------------------------------------------------- |
| 2724 | 2610 | // install_handler64 - install 64-bit read/write |
| 2725 | 2611 | // delegate handlers for the space |
| 2726 | 2612 | //------------------------------------------------- |
| r17984 | r17985 | |
| 2773 | 2659 | } |
| 2774 | 2660 | |
| 2775 | 2661 | |
| 2776 | | //------------------------------------------------- |
| 2777 | | // install_legacy_handler - install 64-bit read/ |
| 2778 | | // write legacy device handlers for the space |
| 2779 | | //------------------------------------------------- |
| 2780 | 2662 | |
| 2781 | | UINT64 *address_space::install_legacy_read_handler(device_t &device, offs_t addrstart, offs_t addrend, offs_t addrmask, offs_t addrmirror, read64_device_func rhandler, const char *rname, UINT64 unitmask) |
| 2782 | | { |
| 2783 | | read().handler_map_range(addrstart, addrend, addrmask, addrmirror, unitmask).set_legacy_func(device, rhandler, rname); |
| 2784 | | generate_memdump(machine()); |
| 2785 | | return reinterpret_cast<UINT64 *>(find_backing_memory(addrstart, addrend)); |
| 2786 | | } |
| 2787 | | |
| 2788 | | UINT64 *address_space::install_legacy_write_handler(device_t &device, offs_t addrstart, offs_t addrend, offs_t addrmask, offs_t addrmirror, write64_device_func whandler, const char *wname, UINT64 unitmask) |
| 2789 | | { |
| 2790 | | write().handler_map_range(addrstart, addrend, addrmask, addrmirror, unitmask).set_legacy_func(device, whandler, wname); |
| 2791 | | generate_memdump(machine()); |
| 2792 | | return reinterpret_cast<UINT64 *>(find_backing_memory(addrstart, addrend)); |
| 2793 | | } |
| 2794 | | |
| 2795 | | UINT64 *address_space::install_legacy_readwrite_handler(device_t &device, offs_t addrstart, offs_t addrend, offs_t addrmask, offs_t addrmirror, read64_device_func rhandler, const char *rname, write64_device_func whandler, const char *wname, UINT64 unitmask) |
| 2796 | | { |
| 2797 | | install_legacy_read_handler(device, addrstart, addrend, addrmask, addrmirror, rhandler, rname, unitmask); |
| 2798 | | return install_legacy_write_handler(device, addrstart, addrend, addrmask, addrmirror, whandler, wname, unitmask); |
| 2799 | | } |
| 2800 | | |
| 2801 | | |
| 2802 | | |
| 2803 | 2663 | //************************************************************************** |
| 2804 | 2664 | // MEMORY MAPPING HELPERS |
| 2805 | 2665 | //************************************************************************** |
| r17984 | r17985 | |
| 4911 | 4771 | |
| 4912 | 4772 | |
| 4913 | 4773 | //------------------------------------------------- |
| 4914 | | // set_legacy_func - configure a legacy device |
| 4915 | | // stub of the appropriate size |
| 4916 | | //------------------------------------------------- |
| 4917 | | |
| 4918 | | void handler_entry_read::set_legacy_func(device_t &device, read8_device_func func, const char *name, UINT64 mask) |
| 4919 | | { |
| 4920 | | legacy_info info; |
| 4921 | | info.handler.device8 = func; |
| 4922 | | info.object.device = &device; |
| 4923 | | set_delegate(read8_delegate(&handler_entry_read::read_stub_legacy, name, this), mask, &info); |
| 4924 | | } |
| 4925 | | |
| 4926 | | void handler_entry_read::set_legacy_func(device_t &device, read16_device_func func, const char *name, UINT64 mask) |
| 4927 | | { |
| 4928 | | legacy_info info; |
| 4929 | | info.handler.device16 = func; |
| 4930 | | info.object.device = &device; |
| 4931 | | set_delegate(read16_delegate(&handler_entry_read::read_stub_legacy, name, this), mask, &info); |
| 4932 | | } |
| 4933 | | |
| 4934 | | void handler_entry_read::set_legacy_func(device_t &device, read32_device_func func, const char *name, UINT64 mask) |
| 4935 | | { |
| 4936 | | legacy_info info; |
| 4937 | | info.handler.device32 = func; |
| 4938 | | info.object.device = &device; |
| 4939 | | set_delegate(read32_delegate(&handler_entry_read::read_stub_legacy, name, this), mask, &info); |
| 4940 | | } |
| 4941 | | |
| 4942 | | void handler_entry_read::set_legacy_func(device_t &device, read64_device_func func, const char *name, UINT64 mask) |
| 4943 | | { |
| 4944 | | legacy_info info; |
| 4945 | | info.handler.device64 = func; |
| 4946 | | info.object.device = &device; |
| 4947 | | set_delegate(read64_delegate(&handler_entry_read::read_stub_legacy, name, this), mask, &info); |
| 4948 | | } |
| 4949 | | |
| 4950 | | |
| 4951 | | //------------------------------------------------- |
| 4952 | 4774 | // set_ioport - configure an I/O port read stub |
| 4953 | 4775 | // of the appropriate size |
| 4954 | 4776 | //------------------------------------------------- |
| r17984 | r17985 | |
| 5366 | 5188 | |
| 5367 | 5189 | |
| 5368 | 5190 | //------------------------------------------------- |
| 5369 | | // set_legacy_func - configure a legacy device |
| 5370 | | // stub of the appropriate size |
| 5371 | | //------------------------------------------------- |
| 5372 | | |
| 5373 | | void handler_entry_write::set_legacy_func(device_t &device, write8_device_func func, const char *name, UINT64 mask) |
| 5374 | | { |
| 5375 | | legacy_info info; |
| 5376 | | info.handler.device8 = func; |
| 5377 | | info.object.device = &device; |
| 5378 | | set_delegate(write8_delegate(&handler_entry_write::write_stub_legacy, name, this), mask, &info); |
| 5379 | | } |
| 5380 | | |
| 5381 | | void handler_entry_write::set_legacy_func(device_t &device, write16_device_func func, const char *name, UINT64 mask) |
| 5382 | | { |
| 5383 | | legacy_info info; |
| 5384 | | info.handler.device16 = func; |
| 5385 | | info.object.device = &device; |
| 5386 | | set_delegate(write16_delegate(&handler_entry_write::write_stub_legacy, name, this), mask, &info); |
| 5387 | | } |
| 5388 | | |
| 5389 | | void handler_entry_write::set_legacy_func(device_t &device, write32_device_func func, const char *name, UINT64 mask) |
| 5390 | | { |
| 5391 | | legacy_info info; |
| 5392 | | info.handler.device32 = func; |
| 5393 | | info.object.device = &device; |
| 5394 | | set_delegate(write32_delegate(&handler_entry_write::write_stub_legacy, name, this), mask, &info); |
| 5395 | | } |
| 5396 | | |
| 5397 | | void handler_entry_write::set_legacy_func(device_t &device, write64_device_func func, const char *name, UINT64 mask) |
| 5398 | | { |
| 5399 | | legacy_info info; |
| 5400 | | info.handler.device64 = func; |
| 5401 | | info.object.device = &device; |
| 5402 | | set_delegate(write64_delegate(&handler_entry_write::write_stub_legacy, name, this), mask, &info); |
| 5403 | | } |
| 5404 | | |
| 5405 | | |
| 5406 | | //------------------------------------------------- |
| 5407 | 5191 | // set_ioport - configure an I/O port read stub |
| 5408 | 5192 | // of the appropriate size |
| 5409 | 5193 | //------------------------------------------------- |
trunk/src/emu/memory.h
| r17984 | r17985 | |
| 515 | 515 | UINT64 *install_legacy_readwrite_handler(device_t &device, offs_t addrstart, offs_t addrend, read64_device_func rhandler, const char *rname, write64_device_func whandler, const char *wname, UINT64 unitmask = 0) { return install_legacy_readwrite_handler(device, addrstart, addrend, 0, 0, rhandler, rname, whandler, wname, unitmask); } |
| 516 | 516 | |
| 517 | 517 | // install legacy device handlers (with mirror/mask) |
| 518 | | UINT8 *install_legacy_read_handler(device_t &device, offs_t addrstart, offs_t addrend, offs_t addrmask, offs_t addrmirror, read8_device_func rhandler, const char *rname, UINT64 unitmask = 0); |
| 519 | | UINT8 *install_legacy_write_handler(device_t &device, offs_t addrstart, offs_t addrend, offs_t addrmask, offs_t addrmirror, write8_device_func whandler, const char *wname, UINT64 unitmask = 0); |
| 520 | | UINT8 *install_legacy_readwrite_handler(device_t &device, offs_t addrstart, offs_t addrend, offs_t addrmask, offs_t addrmirror, read8_device_func rhandler, const char *rname, write8_device_func whandler, const char *wname, UINT64 unitmask = 0); |
| 521 | | UINT16 *install_legacy_read_handler(device_t &device, offs_t addrstart, offs_t addrend, offs_t addrmask, offs_t addrmirror, read16_device_func rhandler, const char *rname, UINT64 unitmask = 0); |
| 522 | | UINT16 *install_legacy_write_handler(device_t &device, offs_t addrstart, offs_t addrend, offs_t addrmask, offs_t addrmirror, write16_device_func whandler, const char *wname, UINT64 unitmask = 0); |
| 523 | | UINT16 *install_legacy_readwrite_handler(device_t &device, offs_t addrstart, offs_t addrend, offs_t addrmask, offs_t addrmirror, read16_device_func rhandler, const char *rname, write16_device_func whandler, const char *wname, UINT64 unitmask = 0); |
| 524 | | UINT32 *install_legacy_read_handler(device_t &device, offs_t addrstart, offs_t addrend, offs_t addrmask, offs_t addrmirror, read32_device_func rhandler, const char *rname, UINT64 unitmask = 0); |
| 525 | | UINT32 *install_legacy_write_handler(device_t &device, offs_t addrstart, offs_t addrend, offs_t addrmask, offs_t addrmirror, write32_device_func whandler, const char *wname, UINT64 unitmask = 0); |
| 526 | | UINT32 *install_legacy_readwrite_handler(device_t &device, offs_t addrstart, offs_t addrend, offs_t addrmask, offs_t addrmirror, read32_device_func rhandler, const char *rname, write32_device_func whandler, const char *wname, UINT64 unitmask = 0); |
| 527 | | UINT64 *install_legacy_read_handler(device_t &device, offs_t addrstart, offs_t addrend, offs_t addrmask, offs_t addrmirror, read64_device_func rhandler, const char *rname, UINT64 unitmask = 0); |
| 528 | | UINT64 *install_legacy_write_handler(device_t &device, offs_t addrstart, offs_t addrend, offs_t addrmask, offs_t addrmirror, write64_device_func whandler, const char *wname, UINT64 unitmask = 0); |
| 529 | | UINT64 *install_legacy_readwrite_handler(device_t &device, offs_t addrstart, offs_t addrend, offs_t addrmask, offs_t addrmirror, read64_device_func rhandler, const char *rname, write64_device_func whandler, const char *wname, UINT64 unitmask = 0); |
| 518 | UINT8 *install_legacy_read_handler(device_t &device, offs_t addrstart, offs_t addrend, offs_t addrmask, offs_t addrmirror, read8_device_func rhandler, const char *rname, UINT64 unitmask = 0) { return install_read_handler(addrstart, addrend, addrmask, addrmirror, read8_delegate(rhandler, rname, &device), unitmask); } |
| 519 | UINT8 *install_legacy_write_handler(device_t &device, offs_t addrstart, offs_t addrend, offs_t addrmask, offs_t addrmirror, write8_device_func whandler, const char *wname, UINT64 unitmask = 0) { return install_write_handler(addrstart, addrend, addrmask, addrmirror, write8_delegate(whandler, wname, &device), unitmask); } |
| 520 | UINT8 *install_legacy_readwrite_handler(device_t &device, offs_t addrstart, offs_t addrend, offs_t addrmask, offs_t addrmirror, read8_device_func rhandler, const char *rname, write8_device_func whandler, const char *wname, UINT64 unitmask = 0) { return install_readwrite_handler(addrstart, addrend, addrmask, addrmirror, read8_delegate(rhandler, rname, &device), write8_delegate(whandler, wname, &device), unitmask); } |
| 521 | UINT16 *install_legacy_read_handler(device_t &device, offs_t addrstart, offs_t addrend, offs_t addrmask, offs_t addrmirror, read16_device_func rhandler, const char *rname, UINT64 unitmask = 0) { return install_read_handler(addrstart, addrend, addrmask, addrmirror, read16_delegate(rhandler, rname, &device), unitmask); } |
| 522 | UINT16 *install_legacy_write_handler(device_t &device, offs_t addrstart, offs_t addrend, offs_t addrmask, offs_t addrmirror, write16_device_func whandler, const char *wname, UINT64 unitmask = 0) { return install_write_handler(addrstart, addrend, addrmask, addrmirror, write16_delegate(whandler, wname, &device), unitmask); } |
| 523 | UINT16 *install_legacy_readwrite_handler(device_t &device, offs_t addrstart, offs_t addrend, offs_t addrmask, offs_t addrmirror, read16_device_func rhandler, const char *rname, write16_device_func whandler, const char *wname, UINT64 unitmask = 0) { return install_readwrite_handler(addrstart, addrend, addrmask, addrmirror, read16_delegate(rhandler, rname, &device), write16_delegate(whandler, wname, &device), unitmask); } |
| 524 | UINT32 *install_legacy_read_handler(device_t &device, offs_t addrstart, offs_t addrend, offs_t addrmask, offs_t addrmirror, read32_device_func rhandler, const char *rname, UINT64 unitmask = 0) { return install_read_handler(addrstart, addrend, addrmask, addrmirror, read32_delegate(rhandler, rname, &device), unitmask); } |
| 525 | UINT32 *install_legacy_write_handler(device_t &device, offs_t addrstart, offs_t addrend, offs_t addrmask, offs_t addrmirror, write32_device_func whandler, const char *wname, UINT64 unitmask = 0) { return install_write_handler(addrstart, addrend, addrmask, addrmirror, write32_delegate(whandler, wname, &device), unitmask); } |
| 526 | UINT32 *install_legacy_readwrite_handler(device_t &device, offs_t addrstart, offs_t addrend, offs_t addrmask, offs_t addrmirror, read32_device_func rhandler, const char *rname, write32_device_func whandler, const char *wname, UINT64 unitmask = 0) { return install_readwrite_handler(addrstart, addrend, addrmask, addrmirror, read32_delegate(rhandler, rname, &device), write32_delegate(whandler, wname, &device), unitmask); } |
| 527 | UINT64 *install_legacy_read_handler(device_t &device, offs_t addrstart, offs_t addrend, offs_t addrmask, offs_t addrmirror, read64_device_func rhandler, const char *rname, UINT64 unitmask = 0) { return install_read_handler(addrstart, addrend, addrmask, addrmirror, read64_delegate(rhandler, rname, &device), unitmask); } |
| 528 | UINT64 *install_legacy_write_handler(device_t &device, offs_t addrstart, offs_t addrend, offs_t addrmask, offs_t addrmirror, write64_device_func whandler, const char *wname, UINT64 unitmask = 0) { return install_write_handler(addrstart, addrend, addrmask, addrmirror, write64_delegate(whandler, wname, &device), unitmask); } |
| 529 | UINT64 *install_legacy_readwrite_handler(device_t &device, offs_t addrstart, offs_t addrend, offs_t addrmask, offs_t addrmirror, read64_device_func rhandler, const char *rname, write64_device_func whandler, const char *wname, UINT64 unitmask = 0) { return install_readwrite_handler(addrstart, addrend, addrmask, addrmirror, read64_delegate(rhandler, rname, &device), write64_delegate(whandler, wname, &device), unitmask); } |
| 530 | 530 | |
| 531 | 531 | // setup |
| 532 | 532 | void prepare_map(); |