Previous 199869 Revisions Next

r30835 Wednesday 4th June, 2014 at 19:13:06 UTC by Wilbert Pol
(MESS) msx.c: Added support for protection used by Baby Dinosaur Dooly (hopefully complete). (nw)
[hash]msx1_cart.xml
[src/emu/bus]bus.mak
[src/emu/bus/msx_cart]cartridge.c dooly.c* dooly.h*

trunk/hash/msx1_cart.xml
r30834r30835
1710117101
1710217102   <!-- SORT -->
1710317103
17104   <software name="dooly">
17105      <description>Baby Dinosaur Dooly</description>
17106      <year>1991</year>
17107      <publisher>Daou</publisher>
17108      <part name="cart" interface="msx_cart">
17109         <feature name="slot" value="dooly" />
17110         <dataarea name="rom" size="32768">
17111            <rom name="dooly.rom" size="32768" crc="71a1b1ec" sha1="dbac346f03950fbef81a003b4a42b2898a4e54c1" offset="0" />
17112         </dataarea>
17113      </part>
17114   </software>
1710417115
1710517116
1710617117</softwarelist>
trunk/src/emu/bus/bus.mak
r30834r30835
410410BUSOBJS += $(BUSOBJ)/msx_cart/ascii.o
411411BUSOBJS += $(BUSOBJ)/msx_cart/cartridge.o
412412BUSOBJS += $(BUSOBJ)/msx_cart/crossblaim.o
413BUSOBJS += $(BUSOBJ)/msx_cart/dooly.o
413414BUSOBJS += $(BUSOBJ)/msx_cart/fmpac.o
414415BUSOBJS += $(BUSOBJ)/msx_cart/hfox.o
415416BUSOBJS += $(BUSOBJ)/msx_cart/holy_quran.o
trunk/src/emu/bus/msx_cart/dooly.c
r0r30835
1#include "emu.h"
2#include "dooly.h"
3
4
5const device_type MSX_CART_DOOLY = &device_creator<msx_cart_dooly>;
6
7
8msx_cart_dooly::msx_cart_dooly(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
9   : device_t(mconfig, MSX_CART_DOOLY, "MSX Cartridge - Dooly", tag, owner, clock, "msx_cart_dooly", __FILE__)
10   , msx_cart_interface(mconfig, *this)
11   , m_prot(0)
12{
13}
14
15
16void msx_cart_dooly::device_start()
17{
18   save_item(NAME(m_prot));
19}
20
21
22void msx_cart_dooly::device_reset()
23{
24   m_prot = 0;
25}
26
27
28void msx_cart_dooly::initialize_cartridge()
29{
30   if (get_rom_size() != 0x8000)
31   {
32      fatalerror("dooly: Invalid ROM size\n");
33   }
34}
35
36
37READ8_MEMBER(msx_cart_dooly::read_cart)
38{
39   if (offset >= 0x4000 && offset < 0xc000)
40   {
41      UINT8 data = get_rom_base()[offset - 0x4000];
42
43      switch (m_prot)
44      {
45         case 0x04:
46            data = BITSWAP8(data, 7, 6, 5, 4, 3, 1, 0, 2);
47            break;
48      }
49      return data;
50   }
51   return 0xff;
52}
53
54
55WRITE8_MEMBER(msx_cart_dooly::write_cart)
56{
57   if (offset >= 0x4000 && offset < 0xc000)
58   {
59      m_prot = data & 0x07;
60      if (m_prot != 0 && m_prot != 4)
61      {
62         logerror("msx_cart_dooly: unhandled write %02x to %04x\n", data, offset);
63      }
64   }
65}
66
Property changes on: trunk/src/emu/bus/msx_cart/dooly.c
Added: svn:mime-type
   + text/plain
Added: svn:eol-style
   + native
trunk/src/emu/bus/msx_cart/dooly.h
r0r30835
1#ifndef __MSX_CART_DOOLY_H
2#define __MSX_CART_DOOLY_H
3
4#include "bus/msx_cart/cartridge.h"
5
6
7extern const device_type MSX_CART_DOOLY;
8
9
10class msx_cart_dooly : public device_t
11                  , public msx_cart_interface
12{
13public:
14   msx_cart_dooly(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
25private:
26   UINT8 m_prot;
27};
28
29
30#endif
Property changes on: trunk/src/emu/bus/msx_cart/dooly.h
Added: svn:mime-type
   + text/plain
Added: svn:eol-style
   + native
trunk/src/emu/bus/msx_cart/cartridge.c
r30834r30835
33#include "cartridge.h"
44#include "ascii.h"
55#include "crossblaim.h"
6#include "dooly.h"
67#include "fmpac.h"
78#include "hfox.h"
89#include "holy_quran.h"
r30834r30835
4748   SLOT_INTERFACE_INTERNAL("hfox", MSX_CART_HFOX)
4849   SLOT_INTERFACE_INTERNAL("keyboard_master", MSX_CART_KEYBOARD_MASTER)
4950   SLOT_INTERFACE_INTERNAL("holy_quran", MSX_CART_HOLY_QURAN)
51   SLOT_INTERFACE_INTERNAL("dooly", MSX_CART_DOOLY)
5052SLOT_INTERFACE_END
5153
5254

Previous 199869 Revisions Next


© 1997-2024 The MAME Team