Previous 199869 Revisions Next

r30765 Sunday 1st June, 2014 at 20:57:05 UTC by Wilbert Pol
(MESS) msx.c: Added support for mapper used by Super Swangi (nw)
[hash]msx1_cart.xml
[src/emu/bus]bus.mak
[src/emu/bus/msx_cart]cartridge.c super_swangi.c* super_swangi.h*

trunk/src/emu/bus/bus.mak
r30764r30765
420420BUSOBJS += $(BUSOBJ)/msx_cart/nomapper.o
421421BUSOBJS += $(BUSOBJ)/msx_cart/rtype.o
422422BUSOBJS += $(BUSOBJ)/msx_cart/superloderunner.o
423BUSOBJS += $(BUSOBJ)/msx_cart/super_swangi.o
423424BUSOBJS += $(BUSOBJ)/msx_cart/yamaha.o
424425endif
425426
trunk/src/emu/bus/msx_cart/cartridge.c
r30764r30765
1212#include "nomapper.h"
1313#include "rtype.h"
1414#include "superloderunner.h"
15#include "super_swangi.h"
1516#include "yamaha.h"
1617
1718
r30764r30765
4041   SLOT_INTERFACE_INTERNAL("msxaud_hxmu900", MSX_CART_MSX_AUDIO_HXMU900)
4142   SLOT_INTERFACE_INTERNAL("msxaud_fsca1", MSX_CART_MSX_AUDIO_FSCA1)
4243   SLOT_INTERFACE_INTERNAL("msxaud_nms1205", MSX_CART_MSX_AUDIO_NMS1205)
44   SLOT_INTERFACE_INTERNAL("super_swangi", MSX_CART_SUPER_SWANGI)
4345SLOT_INTERFACE_END
4446
4547
trunk/src/emu/bus/msx_cart/super_swangi.c
r0r30765
1#include "emu.h"
2#include "super_swangi.h"
3
4
5const device_type MSX_CART_SUPER_SWANGI = &device_creator<msx_cart_super_swangi>;
6
7
8msx_cart_super_swangi::msx_cart_super_swangi(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
9   : device_t(mconfig, MSX_CART_SUPER_SWANGI, "MSX Cartridge - Super Swangi", tag, owner, clock, "msx_cart_super_swangi", __FILE__)
10   , msx_cart_interface(mconfig, *this)
11   , m_selected_bank(0)
12{
13   m_bank_base[0] = m_bank_base[1] = NULL;
14}
15
16
17void msx_cart_super_swangi::device_start()
18{
19   save_item(NAME(m_selected_bank));
20
21   machine().save().register_postload(save_prepost_delegate(FUNC(msx_cart_super_swangi::restore_banks), this));
22}
23
24
25void msx_cart_super_swangi::restore_banks()
26{
27   m_bank_base[0] = get_rom_base();
28   m_bank_base[1] = get_rom_base() + (((m_selected_bank >> 1) * 0x4000) & 0xffff);
29}
30
31
32void msx_cart_super_swangi::device_reset()
33{
34   m_selected_bank = 0;
35}
36
37
38void msx_cart_super_swangi::initialize_cartridge()
39{
40   if (get_rom_size() < 0x10000)
41   {
42      fatalerror("rtype: Invalid ROM size\n");
43   }
44
45   restore_banks();
46}
47
48
49READ8_MEMBER(msx_cart_super_swangi::read_cart)
50{
51   if (offset >= 0x4000 && offset < 0xc000)
52   {
53      return m_bank_base[offset >> 15][offset & 0x3fff];
54   }
55   return 0xff;
56}
57
58
59WRITE8_MEMBER(msx_cart_super_swangi::write_cart)
60{
61   if (offset == 0x8000)
62   {
63      m_selected_bank = data;
64      restore_banks();
65   }
66   else
67   {
68      logerror("msx_cart_super_swangi: unhandled write %02x to %04x\n", data, offset);
69   }
70}
71
Property changes on: trunk/src/emu/bus/msx_cart/super_swangi.c
Added: svn:mime-type
   + text/plain
Added: svn:eol-style
   + native
trunk/src/emu/bus/msx_cart/super_swangi.h
r0r30765
1#ifndef __MSX_CART_SUPER_SWANGI_H
2#define __MSX_CART_SUPER_SWANGI_H
3
4#include "bus/msx_cart/cartridge.h"
5
6
7extern const device_type MSX_CART_SUPER_SWANGI;
8
9
10class msx_cart_super_swangi : public device_t
11                  , public msx_cart_interface
12{
13public:
14   msx_cart_super_swangi(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
15
16   // device-level overrides
17   virtual void device_start();
18   virtual void device_reset();
19
20   virtual void initialize_cartridge();
21
22   virtual DECLARE_READ8_MEMBER(read_cart);
23   virtual DECLARE_WRITE8_MEMBER(write_cart);
24
25   void restore_banks();
26
27private:
28   UINT8 m_selected_bank;
29   UINT8 *m_bank_base[2];
30};
31
32
33#endif
Property changes on: trunk/src/emu/bus/msx_cart/super_swangi.h
Added: svn:mime-type
   + text/plain
Added: svn:eol-style
   + native
trunk/hash/msx1_cart.xml
r30764r30765
192192Super Bioman III - Hello Soft
193193Super Bros. World 1 ~ 슈퍼 브로스 월드 1 - Clover
194194Super Penguin ~ 슈퍼 펭귄 - Sieco
195Super Suwanggi - Clover
196195Tetris - Saeron
197196Tom &amp; Jerry ~ 톰과 제리 - Static Soft/Aproman
198197
r30764r30765
1672216721   </software>
1672316722
1672416723
16724<!-- CLOVER -->
16725
16726   <software name="superswa">
16727      <description>Super Swangi - Super Altered Beast</description>
16728      <year>1990</year>
16729      <publisher>Clover</publisher>
16730      <part name="cart" interface="msx_cart">
16731         <feature name="slot" value="super_swangi" />
16732         <dataarea name="rom" size="65536">
16733            <rom name="super_swangi.rom" size="65536" crc="c59b86a1" sha1="3d330e3c97ee3e2e362c8a0fc2cfac69af5ace81" offset="0x0" />
16734         </dataarea>
16735      </part>
16736   </software>
16737
16738
1672516739<!-- METHALI -->
1672616740
1672716741   <software name="back">

Previous 199869 Revisions Next


© 1997-2024 The MAME Team