summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/psx/memcard.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/psx/memcard.h')
-rw-r--r--src/devices/bus/psx/memcard.h16
1 files changed, 6 insertions, 10 deletions
diff --git a/src/devices/bus/psx/memcard.h b/src/devices/bus/psx/memcard.h
index 05bba518d60..557800cb4d8 100644
--- a/src/devices/bus/psx/memcard.h
+++ b/src/devices/bus/psx/memcard.h
@@ -5,27 +5,23 @@
#pragma once
+#include "imagedev/memcard.h"
+
class psx_controller_port_device;
class psxcard_device : public device_t,
- public device_image_interface
+ public device_memcard_image_interface
{
public:
psxcard_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual iodevice_t image_type() const noexcept override { return IO_MEMCARD; }
-
- virtual bool is_readable() const noexcept override { return true; }
- virtual bool is_writeable() const noexcept override { return true; }
- virtual bool is_creatable() const noexcept override { return true; }
- virtual bool must_be_loaded() const noexcept override { return false; }
virtual bool is_reset_on_load() const noexcept override { return false; }
virtual const char *file_extensions() const noexcept override { return "mc"; }
- virtual image_init_result call_load() override;
- virtual image_init_result call_create(int format_type, util::option_resolution *format_options) override;
+ virtual std::pair<std::error_condition, std::string> call_load() override;
+ virtual std::pair<std::error_condition, std::string> call_create(int format_type, util::option_resolution *format_options) override;
void disable(bool state) { m_disabled = state; if(state) unload(); }
@@ -44,7 +40,7 @@ private:
unsigned char checksum_data(const unsigned char *buf, const unsigned int sz);
void do_card();
bool transfer(uint8_t to, uint8_t *from);
- void ack_timer(void *ptr, int param);
+ void ack_timer(int32_t param);
unsigned char pkt[0x8b], pkt_ptr, pkt_sz, cmd;
unsigned short addr;