summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Nathan Woods <npwoods@mess.org>2017-04-09 13:06:11 -0400
committer Vas Crabb <cuavas@users.noreply.github.com>2017-04-10 14:13:42 +1000
commit2724e695263500e92aeb98edb88b17201b4000bd (patch)
treec046c01134bfd95f99e63336c4c9646e69adc89e
parentabedbd9c68a5031fa1636eb5147c086d3a888d45 (diff)
Made a number of methods be const correct and static where appropriate
Also changed a few methods to return 'bool' when appropriate
-rw-r--r--src/devices/bus/megadrive/md_slot.cpp2
-rw-r--r--src/devices/bus/megadrive/md_slot.h2
-rw-r--r--src/devices/bus/msx_slot/cartridge.cpp2
-rw-r--r--src/devices/bus/msx_slot/cartridge.h2
-rw-r--r--src/devices/bus/nes/nes_slot.h4
-rw-r--r--src/devices/bus/nes/nes_unif.hxx2
-rw-r--r--src/devices/bus/pce/pce_slot.cpp2
-rw-r--r--src/devices/bus/pce/pce_slot.h2
-rw-r--r--src/devices/bus/scv/slot.cpp2
-rw-r--r--src/devices/bus/scv/slot.h2
-rw-r--r--src/devices/bus/sega8/sega8_slot.cpp2
-rw-r--r--src/devices/bus/sega8/sega8_slot.h2
-rw-r--r--src/devices/bus/snes/snes_slot.cpp12
-rw-r--r--src/devices/bus/snes/snes_slot.h4
-rw-r--r--src/devices/bus/vcs/vcs_slot.cpp32
-rwxr-xr-xsrc/devices/bus/vcs/vcs_slot.h32
-rw-r--r--src/devices/bus/wswan/slot.cpp2
-rw-r--r--src/devices/bus/wswan/slot.h2
18 files changed, 55 insertions, 55 deletions
diff --git a/src/devices/bus/megadrive/md_slot.cpp b/src/devices/bus/megadrive/md_slot.cpp
index 417ae3cfd07..d51f3647fa5 100644
--- a/src/devices/bus/megadrive/md_slot.cpp
+++ b/src/devices/bus/megadrive/md_slot.cpp
@@ -671,7 +671,7 @@ void base_md_cart_slot_device::setup_nvram()
-int base_md_cart_slot_device::get_cart_type(uint8_t *ROM, uint32_t len)
+int base_md_cart_slot_device::get_cart_type(const uint8_t *ROM, uint32_t len)
{
int type = SEGA_STD;
diff --git a/src/devices/bus/megadrive/md_slot.h b/src/devices/bus/megadrive/md_slot.h
index 10793af3b28..a59ff394af3 100644
--- a/src/devices/bus/megadrive/md_slot.h
+++ b/src/devices/bus/megadrive/md_slot.h
@@ -170,7 +170,7 @@ public:
image_init_result load_list();
image_init_result load_nonlist();
- int get_cart_type(uint8_t *ROM, uint32_t len);
+ static int get_cart_type(const uint8_t *ROM, uint32_t len);
void setup_custom_mappers();
void setup_nvram();
diff --git a/src/devices/bus/msx_slot/cartridge.cpp b/src/devices/bus/msx_slot/cartridge.cpp
index 9e929f44046..fb490eabc5c 100644
--- a/src/devices/bus/msx_slot/cartridge.cpp
+++ b/src/devices/bus/msx_slot/cartridge.cpp
@@ -204,7 +204,7 @@ WRITE_LINE_MEMBER(msx_slot_cartridge_device::irq_out)
}
-int msx_slot_cartridge_device::get_cart_type(uint8_t *rom, uint32_t length)
+int msx_slot_cartridge_device::get_cart_type(const uint8_t *rom, uint32_t length)
{
if (length < 0x2000)
{
diff --git a/src/devices/bus/msx_slot/cartridge.h b/src/devices/bus/msx_slot/cartridge.h
index 7b17a53f64c..e5b93d3e353 100644
--- a/src/devices/bus/msx_slot/cartridge.h
+++ b/src/devices/bus/msx_slot/cartridge.h
@@ -68,7 +68,7 @@ protected:
devcb_write_line m_irq_handler;
msx_cart_interface *m_cartridge;
- int get_cart_type(uint8_t *rom, uint32_t length);
+ static int get_cart_type(const uint8_t *rom, uint32_t length);
};
diff --git a/src/devices/bus/nes/nes_slot.h b/src/devices/bus/nes/nes_slot.h
index 04c79c3c831..dfc74b95e48 100644
--- a/src/devices/bus/nes/nes_slot.h
+++ b/src/devices/bus/nes/nes_slot.h
@@ -367,8 +367,8 @@ public:
// slot interface overrides
virtual std::string get_default_card_software() override;
const char * get_default_card_ines(uint8_t *ROM, uint32_t len);
- const char * get_default_card_unif(uint8_t *ROM, uint32_t len);
- const char * nes_get_slot(int pcb_id);
+ static const char * get_default_card_unif(const uint8_t *ROM, uint32_t len);
+ static const char * nes_get_slot(int pcb_id);
int nes_get_pcb_id(const char *slot);
// reading and writing
diff --git a/src/devices/bus/nes/nes_unif.hxx b/src/devices/bus/nes/nes_unif.hxx
index cdcab594725..51843f60c2e 100644
--- a/src/devices/bus/nes/nes_unif.hxx
+++ b/src/devices/bus/nes/nes_unif.hxx
@@ -555,7 +555,7 @@ void nes_cart_slot_device::call_load_unif()
logerror("UNIF support is only very preliminary.\n");
}
-const char * nes_cart_slot_device::get_default_card_unif(uint8_t *ROM, uint32_t len)
+const char * nes_cart_slot_device::get_default_card_unif(const uint8_t *ROM, uint32_t len)
{
uint32_t chunk_length = 0, read_length = 0x20;
int pcb_id = 0, battery = 0, prgram = 0, vram_chunks = 0;
diff --git a/src/devices/bus/pce/pce_slot.cpp b/src/devices/bus/pce/pce_slot.cpp
index e6cd64cb4fd..3d8987efbea 100644
--- a/src/devices/bus/pce/pce_slot.cpp
+++ b/src/devices/bus/pce/pce_slot.cpp
@@ -287,7 +287,7 @@ void pce_cart_slot_device::call_unload()
fullpath
-------------------------------------------------*/
-int pce_cart_slot_device::get_cart_type(uint8_t *ROM, uint32_t len)
+int pce_cart_slot_device::get_cart_type(const uint8_t *ROM, uint32_t len)
{
int type = PCE_STD;
diff --git a/src/devices/bus/pce/pce_slot.h b/src/devices/bus/pce/pce_slot.h
index 353661c06c5..5b24c6d27ae 100644
--- a/src/devices/bus/pce/pce_slot.h
+++ b/src/devices/bus/pce/pce_slot.h
@@ -73,7 +73,7 @@ public:
virtual const software_list_loader &get_software_list_loader() const override { return rom_software_list_loader::instance(); }
int get_type() { return m_type; }
- int get_cart_type(uint8_t *ROM, uint32_t len);
+ static int get_cart_type(const uint8_t *ROM, uint32_t len);
void internal_header_logging(uint8_t *ROM, uint32_t len);
diff --git a/src/devices/bus/scv/slot.cpp b/src/devices/bus/scv/slot.cpp
index 40e866ceec3..bc71ee9a271 100644
--- a/src/devices/bus/scv/slot.cpp
+++ b/src/devices/bus/scv/slot.cpp
@@ -203,7 +203,7 @@ image_init_result scv_cart_slot_device::call_load()
fullpath
-------------------------------------------------*/
-int scv_cart_slot_device::get_cart_type(uint8_t *ROM, uint32_t len)
+int scv_cart_slot_device::get_cart_type(const uint8_t *ROM, uint32_t len)
{
int type = SCV_8K;
diff --git a/src/devices/bus/scv/slot.h b/src/devices/bus/scv/slot.h
index efdeeb45baa..48c543d74ad 100644
--- a/src/devices/bus/scv/slot.h
+++ b/src/devices/bus/scv/slot.h
@@ -75,7 +75,7 @@ public:
virtual const software_list_loader &get_software_list_loader() const override { return rom_software_list_loader::instance(); }
int get_type() { return m_type; }
- int get_cart_type(uint8_t *ROM, uint32_t len);
+ static int get_cart_type(const uint8_t *ROM, uint32_t len);
void save_ram() { if (m_cart && m_cart->get_ram_size()) m_cart->save_ram(); }
diff --git a/src/devices/bus/sega8/sega8_slot.cpp b/src/devices/bus/sega8/sega8_slot.cpp
index df5f882b3ed..039c6aeb3b3 100644
--- a/src/devices/bus/sega8/sega8_slot.cpp
+++ b/src/devices/bus/sega8/sega8_slot.cpp
@@ -473,7 +473,7 @@ int sms_state::detect_korean_mapper( uint8_t *rom )
}
#endif
-int sega8_cart_slot_device::get_cart_type(uint8_t *ROM, uint32_t len)
+int sega8_cart_slot_device::get_cart_type(const uint8_t *ROM, uint32_t len) const
{
int type = SEGA8_BASE_ROM;
diff --git a/src/devices/bus/sega8/sega8_slot.h b/src/devices/bus/sega8/sega8_slot.h
index 04cda6a65cc..bc47e4b0cd0 100644
--- a/src/devices/bus/sega8/sega8_slot.h
+++ b/src/devices/bus/sega8/sega8_slot.h
@@ -118,7 +118,7 @@ public:
virtual const char *custom_brief_instance_name() const override { return "cart"; }
int get_type() { return m_type; }
- int get_cart_type(uint8_t *ROM, uint32_t len);
+ int get_cart_type(const uint8_t *ROM, uint32_t len) const;
void setup_ram();
void internal_header_logging(uint8_t *ROM, uint32_t len, uint32_t nvram_len);
diff --git a/src/devices/bus/snes/snes_slot.cpp b/src/devices/bus/snes/snes_slot.cpp
index 3fc6ee6459a..a6caac6ba01 100644
--- a/src/devices/bus/snes/snes_slot.cpp
+++ b/src/devices/bus/snes/snes_slot.cpp
@@ -308,7 +308,7 @@ static const char *sns_get_slot(int type)
/* Here we add a couple of cart utilities, to avoid duplicating the code in each DEVICE_IMAGE_LOAD */
-uint32_t base_sns_cart_slot_device::snes_skip_header( uint8_t *ROM, uint32_t rom_size )
+uint32_t base_sns_cart_slot_device::snes_skip_header(const uint8_t *ROM, uint32_t rom_size) const
{
uint8_t header[512];
uint32_t offset = 512;
@@ -345,7 +345,7 @@ uint32_t base_sns_cart_slot_device::snes_skip_header( uint8_t *ROM, uint32_t rom
/* This function assign a 'score' to data immediately after 'offset' to measure how valid they are
as information block (to decide if the image is HiRom, LoRom, ExLoRom or ExHiRom) */
/* Code from bsnes, courtesy of byuu - http://byuu.org/ , based on previous code by Cowering */
-static int snes_validate_infoblock( uint8_t *infoblock, uint32_t offset )
+static int snes_validate_infoblock(const uint8_t *infoblock, uint32_t offset)
{
int score = 0;
uint16_t reset_vector = infoblock[offset + 0x3c] | (infoblock[offset + 0x3d] << 8);
@@ -454,7 +454,7 @@ static int snes_validate_infoblock( uint8_t *infoblock, uint32_t offset )
/* This determines if a cart is in Mode 20, 21, 22 or 25; sets state->m_cart[0].mode and
state->m_cart[0].sram accordingly; and returns the offset of the internal header (needed to
detect BSX and ST carts) */
-static uint32_t snes_find_hilo_mode(device_t *device, uint8_t *buffer, uint32_t buf_len )
+static uint32_t snes_find_hilo_mode(const device_t *device, const uint8_t *buffer, uint32_t buf_len)
{
uint8_t valid_mode20 = 0;
uint8_t valid_mode21 = 0;
@@ -490,7 +490,7 @@ static uint32_t snes_find_hilo_mode(device_t *device, uint8_t *buffer, uint32_t
}
-static int snes_find_addon_chip( uint8_t *buffer, uint32_t start_offs )
+static int snes_find_addon_chip( const uint8_t *buffer, uint32_t start_offs )
{
/* Info mostly taken from http://snesemu.black-ship.net/misc/hardware/-from%20nsrt.edgeemu.com-chipinfo.htm */
switch (buffer[start_offs + 0x16])
@@ -868,10 +868,10 @@ void base_sns_cart_slot_device::setup_nvram()
-void base_sns_cart_slot_device::get_cart_type_addon(uint8_t *ROM, uint32_t len, int &type, int &addon)
+void base_sns_cart_slot_device::get_cart_type_addon(const uint8_t *ROM, uint32_t len, int &type, int &addon) const
{
// First, look if the cart is HiROM or LoROM (and set snes_cart accordingly)
- int hilo_mode = snes_find_hilo_mode(this,ROM, len);
+ int hilo_mode = snes_find_hilo_mode(this, ROM, len);
switch (hilo_mode)
{
diff --git a/src/devices/bus/snes/snes_slot.h b/src/devices/bus/snes/snes_slot.h
index 641619a0262..941702eb97d 100644
--- a/src/devices/bus/snes/snes_slot.h
+++ b/src/devices/bus/snes/snes_slot.h
@@ -163,8 +163,8 @@ public:
virtual void call_unload() override;
virtual const software_list_loader &get_software_list_loader() const override { return rom_software_list_loader::instance(); }
- void get_cart_type_addon(uint8_t *ROM, uint32_t len, int &type, int &addon);
- uint32_t snes_skip_header(uint8_t *ROM, uint32_t snes_rom_size);
+ void get_cart_type_addon(const uint8_t *ROM, uint32_t len, int &type, int &addon) const;
+ uint32_t snes_skip_header(const uint8_t *ROM, uint32_t snes_rom_size) const;
int get_type() { return m_type; }
void setup_nvram();
diff --git a/src/devices/bus/vcs/vcs_slot.cpp b/src/devices/bus/vcs/vcs_slot.cpp
index 86680e9da08..6017818ca23 100644
--- a/src/devices/bus/vcs/vcs_slot.cpp
+++ b/src/devices/bus/vcs/vcs_slot.cpp
@@ -319,7 +319,7 @@ void vcs_cart_slot_device::call_unload()
detection helper routines
-------------------------------------------------*/
-int vcs_cart_slot_device::detect_modeDC(uint8_t *cart, uint32_t len)
+bool vcs_cart_slot_device::detect_modeDC(const uint8_t *cart, uint32_t len)
{
int numfound = 0;
// signature is also in 'video reflex'.. maybe figure out that controller port someday...
@@ -340,7 +340,7 @@ int vcs_cart_slot_device::detect_modeDC(uint8_t *cart, uint32_t len)
return 0;
}
-int vcs_cart_slot_device::detect_modeF6(uint8_t *cart, uint32_t len)
+bool vcs_cart_slot_device::detect_modeF6(const uint8_t *cart, uint32_t len)
{
int numfound = 0;
static const unsigned char signature[3] = { 0x8d, 0xf6, 0xff };
@@ -360,7 +360,7 @@ int vcs_cart_slot_device::detect_modeF6(uint8_t *cart, uint32_t len)
return 0;
}
-int vcs_cart_slot_device::detect_snowhite(uint8_t *cart, uint32_t len)
+bool vcs_cart_slot_device::detect_snowhite(const uint8_t *cart, uint32_t len)
{
static const unsigned char snowwhite[] = { 0x10, 0xd0, 0xff, 0xff }; // Snow White Proto
@@ -369,7 +369,7 @@ int vcs_cart_slot_device::detect_snowhite(uint8_t *cart, uint32_t len)
return 0;
}
-int vcs_cart_slot_device::detect_mode3E(uint8_t *cart, uint32_t len)
+bool vcs_cart_slot_device::detect_mode3E(const uint8_t *cart, uint32_t len)
{
// this one is a little hacky... looks for STY $3e, which is unique to
// 'not boulderdash', but is the only example I have (cow)
@@ -392,7 +392,7 @@ int vcs_cart_slot_device::detect_mode3E(uint8_t *cart, uint32_t len)
return 0;
}
-int vcs_cart_slot_device::detect_modeSS(uint8_t *cart, uint32_t len)
+bool vcs_cart_slot_device::detect_modeSS(const uint8_t *cart, uint32_t len)
{
int numfound = 0;
static const unsigned char signature[5] = { 0xbd, 0xe5, 0xff, 0x95, 0x81 };
@@ -412,7 +412,7 @@ int vcs_cart_slot_device::detect_modeSS(uint8_t *cart, uint32_t len)
return 0;
}
-int vcs_cart_slot_device::detect_modeFE(uint8_t *cart, uint32_t len)
+bool vcs_cart_slot_device::detect_modeFE(const uint8_t *cart, uint32_t len)
{
int numfound = 0;
static const unsigned char signatures[][5] = {
@@ -440,7 +440,7 @@ int vcs_cart_slot_device::detect_modeFE(uint8_t *cart, uint32_t len)
return 0;
}
-int vcs_cart_slot_device::detect_modeE0(uint8_t *cart, uint32_t len)
+bool vcs_cart_slot_device::detect_modeE0(const uint8_t *cart, uint32_t len)
{
int numfound = 0;
static const unsigned char signatures[][3] = {
@@ -470,7 +470,7 @@ int vcs_cart_slot_device::detect_modeE0(uint8_t *cart, uint32_t len)
return 0;
}
-int vcs_cart_slot_device::detect_modeCV(uint8_t *cart, uint32_t len)
+bool vcs_cart_slot_device::detect_modeCV(const uint8_t *cart, uint32_t len)
{
int numfound = 0;
static const unsigned char signatures[][3] = {
@@ -496,7 +496,7 @@ int vcs_cart_slot_device::detect_modeCV(uint8_t *cart, uint32_t len)
return 0;
}
-int vcs_cart_slot_device::detect_modeFV(uint8_t *cart, uint32_t len)
+bool vcs_cart_slot_device::detect_modeFV(const uint8_t *cart, uint32_t len)
{
int numfound = 0;
static const unsigned char signatures[][3] = { { 0x2c, 0xd0, 0xff } };
@@ -519,7 +519,7 @@ int vcs_cart_slot_device::detect_modeFV(uint8_t *cart, uint32_t len)
return 0;
}
-int vcs_cart_slot_device::detect_modeJVP(uint8_t *cart, uint32_t len)
+bool vcs_cart_slot_device::detect_modeJVP(const uint8_t *cart, uint32_t len)
{
int numfound = 0;
static const unsigned char signatures[][4] = {
@@ -545,7 +545,7 @@ int vcs_cart_slot_device::detect_modeJVP(uint8_t *cart, uint32_t len)
return 0;
}
-int vcs_cart_slot_device::detect_modeE7(uint8_t *cart, uint32_t len)
+bool vcs_cart_slot_device::detect_modeE7(const uint8_t *cart, uint32_t len)
{
int numfound = 0;
static const unsigned char signatures[][3] = {
@@ -571,7 +571,7 @@ int vcs_cart_slot_device::detect_modeE7(uint8_t *cart, uint32_t len)
return 0;
}
-int vcs_cart_slot_device::detect_modeUA(uint8_t *cart, uint32_t len)
+bool vcs_cart_slot_device::detect_modeUA(const uint8_t *cart, uint32_t len)
{
int numfound = 0;
static const unsigned char signature[3] = { 0x8d, 0x40, 0x02 };
@@ -591,7 +591,7 @@ int vcs_cart_slot_device::detect_modeUA(uint8_t *cart, uint32_t len)
return 0;
}
-int vcs_cart_slot_device::detect_8K_mode3F(uint8_t *cart, uint32_t len)
+bool vcs_cart_slot_device::detect_8K_mode3F(const uint8_t *cart, uint32_t len)
{
int numfound = 0;
static const unsigned char signature1[4] = { 0xa9, 0x01, 0x85, 0x3f };
@@ -617,7 +617,7 @@ int vcs_cart_slot_device::detect_8K_mode3F(uint8_t *cart, uint32_t len)
return 0;
}
-int vcs_cart_slot_device::detect_32K_mode3F(uint8_t *cart, uint32_t len)
+bool vcs_cart_slot_device::detect_32K_mode3F(const uint8_t *cart, uint32_t len)
{
int numfound = 0;
static const unsigned char signature[4] = { 0xa9, 0x0e, 0x85, 0x3f };
@@ -637,7 +637,7 @@ int vcs_cart_slot_device::detect_32K_mode3F(uint8_t *cart, uint32_t len)
return 0;
}
-int vcs_cart_slot_device::detect_super_chip(uint8_t *cart, uint32_t len)
+bool vcs_cart_slot_device::detect_super_chip(const uint8_t *cart, uint32_t len)
{
static const unsigned char signatures[][5] = {
{ 0xa2, 0x7f, 0x9d, 0x00, 0xf0 }, // dig dug
@@ -679,7 +679,7 @@ int vcs_cart_slot_device::detect_super_chip(uint8_t *cart, uint32_t len)
-------------------------------------------------*/
// 4in1 & 8in1 are not currently detected from fullpath...
-int vcs_cart_slot_device::identify_cart_type(uint8_t *ROM, uint32_t len)
+int vcs_cart_slot_device::identify_cart_type(const uint8_t *ROM, uint32_t len)
{
int type = 0xff;
diff --git a/src/devices/bus/vcs/vcs_slot.h b/src/devices/bus/vcs/vcs_slot.h
index aebdeaca163..21e846cc5d8 100755
--- a/src/devices/bus/vcs/vcs_slot.h
+++ b/src/devices/bus/vcs/vcs_slot.h
@@ -97,7 +97,7 @@ public:
virtual const software_list_loader &get_software_list_loader() const override { return rom_software_list_loader::instance(); }
int get_cart_type() { return m_type; };
- int identify_cart_type(uint8_t *ROM, uint32_t len);
+ static int identify_cart_type(const uint8_t *ROM, uint32_t len);
virtual iodevice_t image_type() const override { return IO_CARTSLOT; }
virtual bool is_readable() const override { return 1; }
@@ -121,21 +121,21 @@ private:
device_vcs_cart_interface* m_cart;
int m_type;
- int detect_snowhite(uint8_t *cart, uint32_t len);
- int detect_modeDC(uint8_t *cart, uint32_t len);
- int detect_modeF6(uint8_t *cart, uint32_t len);
- int detect_mode3E(uint8_t *cart, uint32_t len);
- int detect_modeSS(uint8_t *cart, uint32_t len);
- int detect_modeFE(uint8_t *cart, uint32_t len);
- int detect_modeE0(uint8_t *cart, uint32_t len);
- int detect_modeCV(uint8_t *cart, uint32_t len);
- int detect_modeFV(uint8_t *cart, uint32_t len);
- int detect_modeJVP(uint8_t *cart, uint32_t len);
- int detect_modeE7(uint8_t *cart, uint32_t len);
- int detect_modeUA(uint8_t *cart, uint32_t len);
- int detect_8K_mode3F(uint8_t *cart, uint32_t len);
- int detect_32K_mode3F(uint8_t *cart, uint32_t len);
- int detect_super_chip(uint8_t *cart, uint32_t len);
+ static bool detect_snowhite(const uint8_t *cart, uint32_t len);
+ static bool detect_modeDC(const uint8_t *cart, uint32_t len);
+ static bool detect_modeF6(const uint8_t *cart, uint32_t len);
+ static bool detect_mode3E(const uint8_t *cart, uint32_t len);
+ static bool detect_modeSS(const uint8_t *cart, uint32_t len);
+ static bool detect_modeFE(const uint8_t *cart, uint32_t len);
+ static bool detect_modeE0(const uint8_t *cart, uint32_t len);
+ static bool detect_modeCV(const uint8_t *cart, uint32_t len);
+ static bool detect_modeFV(const uint8_t *cart, uint32_t len);
+ static bool detect_modeJVP(const uint8_t *cart, uint32_t len);
+ static bool detect_modeE7(const uint8_t *cart, uint32_t len);
+ static bool detect_modeUA(const uint8_t *cart, uint32_t len);
+ static bool detect_8K_mode3F(const uint8_t *cart, uint32_t len);
+ static bool detect_32K_mode3F(const uint8_t *cart, uint32_t len);
+ static bool detect_super_chip(const uint8_t *cart, uint32_t len);
};
diff --git a/src/devices/bus/wswan/slot.cpp b/src/devices/bus/wswan/slot.cpp
index 760dabe9971..aa6eaaef163 100644
--- a/src/devices/bus/wswan/slot.cpp
+++ b/src/devices/bus/wswan/slot.cpp
@@ -229,7 +229,7 @@ void ws_cart_slot_device::call_unload()
get cart type from cart file
-------------------------------------------------*/
-int ws_cart_slot_device::get_cart_type(uint8_t *ROM, uint32_t len, uint32_t &nvram_len)
+int ws_cart_slot_device::get_cart_type(const uint8_t *ROM, uint32_t len, uint32_t &nvram_len) const
{
int chunks = len / 0x10000;
int type = WS_STD;
diff --git a/src/devices/bus/wswan/slot.h b/src/devices/bus/wswan/slot.h
index b88a4d9a22a..869f3bd0932 100644
--- a/src/devices/bus/wswan/slot.h
+++ b/src/devices/bus/wswan/slot.h
@@ -82,7 +82,7 @@ public:
int get_type() { return m_type; }
int get_is_rotated() { return m_cart->get_is_rotated(); }
- int get_cart_type(uint8_t *ROM, uint32_t len, uint32_t &nvram_len);
+ int get_cart_type(const uint8_t *ROM, uint32_t len, uint32_t &nvram_len) const;
void internal_header_logging(uint8_t *ROM, uint32_t offs, uint32_t len);
void save_nvram() { if (m_cart && m_cart->get_nvram_size()) m_cart->save_nvram(); }