summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/bus/neogeo/mslugx_prot.h
diff options
context:
space:
mode:
author David Haywood <mamehaze@users.noreply.github.com>2014-06-29 17:57:09 +0000
committer David Haywood <mamehaze@users.noreply.github.com>2014-06-29 17:57:09 +0000
commitc52aeab8398c2548078294902ebdab7baf7bdc7a (patch)
treedb0a7e06b7b6c4f974cd2c52e46da0a574d389d9 /src/emu/bus/neogeo/mslugx_prot.h
parentb4bc7ee1c685aaa318426b98b13a048c60f442ea (diff)
NeoGeo slot work [S. Smith]
Message that was posted to me "Hi David It was to my great disappointment that your work on the NeoGeo Multislot (Dec 2013) was not included in MAME. To aid the process I've taken your work and spent some hours addressing the concerns put forward by the developers. The code I'm sending to you converts Neo Geo to fully use slot devices for the cartridges and implements the multi-slot using techniques that have greater likelihood of being met with approval. In some places the slot trampolines caused performance to drop below 100% so I've used methods to avoid them gathered by the study of other slot devices in MESS. Performance is the same as it was prior to this update. I first sent this with the forms on the official site but received no reply so I'm turning to you directly. (filehost link removed) Credit to yourself and 'S. Smith' "
Diffstat (limited to 'src/emu/bus/neogeo/mslugx_prot.h')
-rw-r--r--src/emu/bus/neogeo/mslugx_prot.h42
1 files changed, 42 insertions, 0 deletions
diff --git a/src/emu/bus/neogeo/mslugx_prot.h b/src/emu/bus/neogeo/mslugx_prot.h
new file mode 100644
index 00000000000..4a6bb284f9b
--- /dev/null
+++ b/src/emu/bus/neogeo/mslugx_prot.h
@@ -0,0 +1,42 @@
+
+
+#pragma once
+
+#ifndef __MSLUGX_PROT__
+#define __MSLUGX_PROT__
+
+extern const device_type MSLUGX_PROT;
+
+#define MCFG_MSLUGX_PROT_ADD(_tag) \
+ MCFG_DEVICE_ADD(_tag, MSLUGX_PROT, 0)
+
+
+class mslugx_prot_device : public device_t
+{
+public:
+ // construction/destruction
+ mslugx_prot_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
+
+
+ DECLARE_WRITE16_MEMBER( mslugx_protection_16_w );
+ DECLARE_READ16_MEMBER( mslugx_protection_16_r );
+ void mslugx_install_protection(cpu_device* maincpu);
+
+ UINT16 m_mslugx_counter;
+ UINT16 m_mslugx_command;
+
+protected:
+ virtual void device_start();
+ virtual void device_reset();
+
+
+
+private:
+
+
+};
+
+#endif
+
+
+