Previous 199869 Revisions Next

r23626 Tuesday 11th June, 2013 at 08:04:08 UTC by Robbbert
(MESS) New SKELETON driver
----------------------------
EVMBUG (Texas Instruments TMS9995 Trainer) [Robbbert]
[src/mess]mess.lst mess.mak
[src/mess/drivers]evmbug.c*

trunk/src/mess/mess.lst
r23625r23626
996996ti92p    // 1999 TI-92 Plus
997997v200      // 2002 Voyage 200 PLT
998998ti89t    // 2004 TI-89 Titanium
999evmbug
9991000
10001001// NEC
10011002pc6001
trunk/src/mess/drivers/evmbug.c
r0r23626
1/***************************************************************************
2
3        Stuart's Breadboard Project. TMS9995 evaluation kit TMAM6095.
4
5        2013-06-02 Skeleton driver.
6
7        http://www.avjd51.dsl.pipex.com/tms9995_eval_module/tms9995_eval_module.htm
8
9
10****************************************************************************/
11
12#include "emu.h"
13#include "cpu/tms9900/tms9900l.h"
14#include "machine/terminal.h"
15
16class evmbug_state : public driver_device
17{
18public:
19   evmbug_state(const machine_config &mconfig, device_type type, const char *tag)
20      : driver_device(mconfig, type, tag)
21      , m_maincpu(*this, "maincpu")
22      , m_terminal(*this, TERMINAL_TAG)
23      { }
24
25   DECLARE_READ8_HANDLER(rs232_r);
26   DECLARE_WRITE8_HANDLER(rs232_w);
27   DECLARE_WRITE8_MEMBER(kbd_put);
28   virtual void machine_reset();
29   UINT8 m_term_data;
30   UINT8 m_term_out;
31   required_device<cpu_device> m_maincpu;
32   required_device<generic_terminal_device> m_terminal;
33};
34
35static ADDRESS_MAP_START( evmbug_mem, AS_PROGRAM, 8, evmbug_state )
36   AM_RANGE(0x0000, 0x17ff) AM_ROM
37   AM_RANGE(0xec00, 0xefff) AM_RAM
38ADDRESS_MAP_END
39
40static ADDRESS_MAP_START( evmbug_io, AS_IO, 8, evmbug_state )
41   ADDRESS_MAP_UNMAP_HIGH
42   AM_RANGE(0x0000, 0x0007) AM_WRITE(rs232_w)
43   AM_RANGE(0x0000, 0x0002) AM_READ(rs232_r)
44ADDRESS_MAP_END
45
46/* Input ports */
47static INPUT_PORTS_START( evmbug )
48INPUT_PORTS_END
49
50READ8_MEMBER( evmbug_state::rs232_r )
51{
52   static UINT8 temp = 0;
53   temp^=0xff;
54   if (offset == 1)
55      return temp;
56
57   if (offset == 2)
58   {
59      return 0xff;//(m_term_data) ? 0 : 0xff;
60   }
61
62   UINT8 ret = m_term_data;
63   m_term_data = 0;
64   return ret;
65}
66
67WRITE8_MEMBER( evmbug_state::rs232_w )
68{
69   if (offset == 0)
70      m_term_out = 0;
71
72   m_term_out |= (data << offset);
73
74   if (offset == 7)
75      m_terminal->write(space, 0, m_term_out & 0x7f);
76}
77
78WRITE8_MEMBER( evmbug_state::kbd_put )
79{
80   m_term_data = data;
81}
82
83static GENERIC_TERMINAL_INTERFACE( terminal_intf )
84{
85   DEVCB_DRIVER_MEMBER(evmbug_state, kbd_put)
86};
87
88
89void evmbug_state::machine_reset()
90{
91   m_term_data = 0;
92}
93
94static const struct tms9995reset_param evmbug_processor_config =
95{
96   0,  /* disable automatic wait state generation */
97   0,  /* no IDLE callback */
98   0   /* no MP9537 mask */
99};
100
101static MACHINE_CONFIG_START( evmbug, evmbug_state )
102   /* basic machine hardware */
103   /* TMS9995 CPU @ 12.0 MHz */
104   MCFG_CPU_ADD("maincpu", TMS9995L, 12000000)
105   MCFG_CPU_CONFIG(evmbug_processor_config)
106   MCFG_CPU_PROGRAM_MAP(evmbug_mem)
107   MCFG_CPU_IO_MAP(evmbug_io)
108
109   /* video hardware */
110   MCFG_GENERIC_TERMINAL_ADD(TERMINAL_TAG, terminal_intf)
111MACHINE_CONFIG_END
112
113/* ROM definition */
114ROM_START( evmbug )
115   ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASEFF )
116//   ROM_LOAD( "u8.bin", 0x0000, 0x1000, CRC(bdb8c7bd) SHA1(340829dcb7a65f2e830fd5aff82a312e3ed7918f) )
117//   ROM_LOAD( "u9.bin", 0x1000, 0x0800, CRC(4de459ea) SHA1(00a42fe556d4ffe1f85b2ce369f544b07fbd06d9) )
118   ROM_LOAD( "evmbug.bin", 0x0000, 0x8000, CRC(a239ec56) SHA1(65b500d7d0f897ce0c320cf3ec32ff4042774599) )
119ROM_END
120
121/* Driver */
122
123/*    YEAR  NAME    PARENT  COMPAT   MACHINE    INPUT    INIT    COMPANY                  FULLNAME       FLAGS */
124COMP( 19??, evmbug, 0,      0,       evmbug,    evmbug, driver_device,  0,    "Texas Instruments",   "TMAM6095", GAME_NOT_WORKING | GAME_NO_SOUND)
Property changes on: trunk/src/mess/drivers/evmbug.c
Added: svn:mime-type
   + text/plain
Added: svn:eol-style
   + native
trunk/src/mess/mess.mak
r23625r23626
21452145   $(MESS_DRIVERS)/ti99_2.o    \
21462146   $(MESS_VIDEO)/avigo.o       \
21472147   $(MESS_DRIVERS)/avigo.o     \
2148   $(MESS_DRIVERS)/evmbug.o    \
21482149
21492150$(MESSOBJ)/tiger.a:             \
21502151   $(MESS_DRIVERS)/gamecom.o   \

Previous 199869 Revisions Next


© 1997-2024 The MAME Team