summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/snes/snes_carts.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/snes/snes_carts.cpp')
-rw-r--r--src/devices/bus/snes/snes_carts.cpp83
1 files changed, 42 insertions, 41 deletions
diff --git a/src/devices/bus/snes/snes_carts.cpp b/src/devices/bus/snes/snes_carts.cpp
index a450b7fe4c0..274b1e0af9b 100644
--- a/src/devices/bus/snes/snes_carts.cpp
+++ b/src/devices/bus/snes/snes_carts.cpp
@@ -22,46 +22,47 @@
#include "event.h"
-SLOT_INTERFACE_START(snes_cart)
- SLOT_INTERFACE_INTERNAL("lorom", SNS_LOROM)
- SLOT_INTERFACE_INTERNAL("lorom_bsx", SNS_LOROM_BSX) // LoROM + BS-X slot - unsupported
- SLOT_INTERFACE_INTERNAL("lorom_cx4", SNS_LOROM) // Cart + CX4 - unsupported
- SLOT_INTERFACE_INTERNAL("lorom_dsp", SNS_LOROM_NECDSP)
- SLOT_INTERFACE_INTERNAL("lorom_dsp4", SNS_LOROM_NECDSP)
- SLOT_INTERFACE_INTERNAL("lorom_obc1", SNS_LOROM_OBC1)
- SLOT_INTERFACE_INTERNAL("lorom_sa1", SNS_LOROM_SA1) // Cart + SA1 - unsupported
- SLOT_INTERFACE_INTERNAL("lorom_sdd1", SNS_LOROM_SDD1)
- SLOT_INTERFACE_INTERNAL("lorom_sfx", SNS_LOROM_SUPERFX)
- SLOT_INTERFACE_INTERNAL("lorom_sgb", SNS_LOROM_SUPERGB) // SuperGB base cart - unsupported
- SLOT_INTERFACE_INTERNAL("lorom_sgb2", SNS_LOROM_SUPERGB2) // SuperGB2 base cart - unsupported
- SLOT_INTERFACE_INTERNAL("lorom_st010", SNS_LOROM_SETA10)
- SLOT_INTERFACE_INTERNAL("lorom_st011", SNS_LOROM_SETA11)
- SLOT_INTERFACE_INTERNAL("lorom_st018", SNS_LOROM) // Cart + ST018 - unsupported
- SLOT_INTERFACE_INTERNAL("lorom_sufami", SNS_LOROM_SUFAMI) // Sufami Turbo base cart
- SLOT_INTERFACE_INTERNAL("hirom", SNS_HIROM)
- SLOT_INTERFACE_INTERNAL("hirom_bsx", SNS_HIROM_BSX) // HiROM + BS-X slot - unsupported
- SLOT_INTERFACE_INTERNAL("hirom_dsp", SNS_HIROM_NECDSP)
- SLOT_INTERFACE_INTERNAL("hirom_spc7110", SNS_HIROM_SPC7110)
- SLOT_INTERFACE_INTERNAL("hirom_spcrtc", SNS_HIROM_SPC7110_RTC)
- SLOT_INTERFACE_INTERNAL("hirom_srtc", SNS_HIROM_SRTC)
- SLOT_INTERFACE_INTERNAL("bsxrom", SNS_ROM_BSX) // BS-X base cart - partial support only
- SLOT_INTERFACE_INTERNAL("pfest94", SNS_PFEST94)
+void snes_cart(device_slot_interface &device)
+{
+ device.option_add_internal("lorom", SNS_LOROM);
+ device.option_add_internal("lorom_bsx", SNS_LOROM_BSX); // LoROM + BS-X slot - unsupported
+ device.option_add_internal("lorom_cx4", SNS_LOROM); // Cart + CX4 - unsupported
+ device.option_add_internal("lorom_dsp", SNS_LOROM_NECDSP);
+ device.option_add_internal("lorom_dsp4", SNS_LOROM_NECDSP);
+ device.option_add_internal("lorom_obc1", SNS_LOROM_OBC1);
+ device.option_add_internal("lorom_sa1", SNS_LOROM_SA1); // Cart + SA1 - unsupported
+ device.option_add_internal("lorom_sdd1", SNS_LOROM_SDD1);
+ device.option_add_internal("lorom_sfx", SNS_LOROM_SUPERFX);
+ device.option_add_internal("lorom_sgb", SNS_LOROM_SUPERGB); // SuperGB base cart - unsupported
+ device.option_add_internal("lorom_sgb2", SNS_LOROM_SUPERGB2); // SuperGB2 base cart - unsupported
+ device.option_add_internal("lorom_st010", SNS_LOROM_SETA10);
+ device.option_add_internal("lorom_st011", SNS_LOROM_SETA11);
+ device.option_add_internal("lorom_st018", SNS_LOROM); // Cart + ST018 - unsupported
+ device.option_add_internal("lorom_sufami", SNS_LOROM_SUFAMI); // Sufami Turbo base cart
+ device.option_add_internal("hirom", SNS_HIROM);
+ device.option_add_internal("hirom_bsx", SNS_HIROM_BSX); // HiROM + BS-X slot - unsupported
+ device.option_add_internal("hirom_dsp", SNS_HIROM_NECDSP);
+ device.option_add_internal("hirom_spc7110", SNS_HIROM_SPC7110);
+ device.option_add_internal("hirom_spcrtc", SNS_HIROM_SPC7110_RTC);
+ device.option_add_internal("hirom_srtc", SNS_HIROM_SRTC);
+ device.option_add_internal("bsxrom", SNS_ROM_BSX); // BS-X base cart - partial support only
+ device.option_add_internal("pfest94", SNS_PFEST94);
// pirate carts
- SLOT_INTERFACE_INTERNAL("lorom_poke", SNS_LOROM_POKEMON)
- SLOT_INTERFACE_INTERNAL("lorom_tekken2", SNS_LOROM_TEKKEN2)
- SLOT_INTERFACE_INTERNAL("lorom_sbld", SNS_LOROM_SOULBLAD)
- SLOT_INTERFACE_INTERNAL("lorom_mcpir1", SNS_LOROM_MCPIR1)
- SLOT_INTERFACE_INTERNAL("lorom_mcpir2", SNS_LOROM_MCPIR2)
- SLOT_INTERFACE_INTERNAL("lorom_20col", SNS_LOROM_20COL)
- SLOT_INTERFACE_INTERNAL("lorom_pija", SNS_LOROM_BANANA) // not working yet
- SLOT_INTERFACE_INTERNAL("lorom_bugs", SNS_LOROM_BUGSLIFE) // not working yet
+ device.option_add_internal("lorom_poke", SNS_LOROM_POKEMON);
+ device.option_add_internal("lorom_tekken2", SNS_LOROM_TEKKEN2);
+ device.option_add_internal("lorom_sbld", SNS_LOROM_SOULBLAD);
+ device.option_add_internal("lorom_mcpir1", SNS_LOROM_MCPIR1);
+ device.option_add_internal("lorom_mcpir2", SNS_LOROM_MCPIR2);
+ device.option_add_internal("lorom_20col", SNS_LOROM_20COL);
+ device.option_add_internal("lorom_pija", SNS_LOROM_BANANA); // not working yet
+ device.option_add_internal("lorom_bugs", SNS_LOROM_BUGSLIFE); // not working yet
// legacy slots to support DSPx games from fullpath
- SLOT_INTERFACE_INTERNAL("lorom_dsp1leg", SNS_LOROM_NECDSP1_LEG)
- SLOT_INTERFACE_INTERNAL("lorom_dsp1bleg",SNS_LOROM_NECDSP1B_LEG)
- SLOT_INTERFACE_INTERNAL("lorom_dsp2leg", SNS_LOROM_NECDSP2_LEG)
- SLOT_INTERFACE_INTERNAL("lorom_dsp3leg", SNS_LOROM_NECDSP3_LEG)
- SLOT_INTERFACE_INTERNAL("lorom_dsp4leg", SNS_LOROM_NECDSP4_LEG)
- SLOT_INTERFACE_INTERNAL("hirom_dsp1leg", SNS_HIROM_NECDSP1_LEG)
- SLOT_INTERFACE_INTERNAL("lorom_st10leg", SNS_LOROM_SETA10_LEG)
- SLOT_INTERFACE_INTERNAL("lorom_st11leg", SNS_LOROM_SETA11_LEG)
-SLOT_INTERFACE_END
+ device.option_add_internal("lorom_dsp1leg", SNS_LOROM_NECDSP1_LEG);
+ device.option_add_internal("lorom_dsp1bleg",SNS_LOROM_NECDSP1B_LEG);
+ device.option_add_internal("lorom_dsp2leg", SNS_LOROM_NECDSP2_LEG);
+ device.option_add_internal("lorom_dsp3leg", SNS_LOROM_NECDSP3_LEG);
+ device.option_add_internal("lorom_dsp4leg", SNS_LOROM_NECDSP4_LEG);
+ device.option_add_internal("hirom_dsp1leg", SNS_HIROM_NECDSP1_LEG);
+ device.option_add_internal("lorom_st10leg", SNS_LOROM_SETA10_LEG);
+ device.option_add_internal("lorom_st11leg", SNS_LOROM_SETA11_LEG);
+}