trunk/src/emu/bus/gameboy/gb_slot.h
| r32324 | r32325 | |
| 41 | 41 | }; |
| 42 | 42 | |
| 43 | 43 | |
| 44 | | // ======================> gb_cart_interface |
| 45 | | |
| 46 | | struct gb_cart_interface |
| 47 | | { |
| 48 | | }; |
| 49 | | |
| 50 | | |
| 51 | 44 | // ======================> device_gb_cart_interface |
| 52 | 45 | |
| 53 | 46 | class device_gb_cart_interface : public device_slot_card_interface |
| r32324 | r32325 | |
| 78 | 71 | void set_has_battery(bool val) { has_battery = val; } |
| 79 | 72 | bool get_has_battery() { return has_battery; } |
| 80 | 73 | |
| 74 | void save_ram() { device().save_item(NAME(m_ram)); } |
| 75 | |
| 81 | 76 | // internal state |
| 82 | 77 | dynamic_buffer m_rom; |
| 83 | 78 | dynamic_buffer m_ram; |
| r32324 | r32325 | |
| 101 | 96 | // ======================> base_gb_cart_slot_device |
| 102 | 97 | |
| 103 | 98 | class base_gb_cart_slot_device : public device_t, |
| 104 | | public gb_cart_interface, |
| 105 | 99 | public device_image_interface, |
| 106 | 100 | public device_slot_interface |
| 107 | 101 | { |
| r32324 | r32325 | |
| 127 | 121 | |
| 128 | 122 | void setup_ram(UINT8 banks); |
| 129 | 123 | void internal_header_logging(UINT8 *ROM, UINT32 len); |
| 130 | | |
| 124 | void save_ram() { if (m_cart && m_cart->get_ram_size()) m_cart->save_ram(); } |
| 125 | |
| 131 | 126 | virtual iodevice_t image_type() const { return IO_CARTSLOT; } |
| 132 | 127 | virtual bool is_readable() const { return 1; } |
| 133 | 128 | virtual bool is_writeable() const { return 0; } |