Previous 199869 Revisions Next

r44398 Sunday 24th January, 2016 at 01:55:58 UTC by hap
New NOT_WORKING machine added
------------
Roland TR-606 [hap, Kevin Horton]
[src/mame/drivers]hh_tms1k.cpp hh_ucom4.cpp tb303.cpp tr606.cpp*
[src/mame/layout]tr606.lay*

trunk/src/mame/drivers/hh_tms1k.cpp
r252909r252910
4040 @MP3301A  TMS1000   1979, Milton Bradley Big Trak
4141 *MP3320A  TMS1000   1979, Coleco Head to Head Basketball
4242 *M32001   TMS1000   1981, Coleco Quiz Wiz Challenger (note: MP3398, MP3399, M3200x?)
43  MP3403   TMS1100   1978, Marx Electronic Bowling -> elecbowl.c
43  MP3403   TMS1100   1978, Marx Electronic Bowling -> elecbowl.cpp
4444 @MP3404   TMS1100   1978, Parker Brothers Merlin
4545 @MP3405   TMS1100   1979, Coleco Amaze-A-Tron
4646 *MP3415   TMS1100   1978, Coleco Electronic Quarterback
r252909r252910
6969 @MP7313   TMS1400   1980, Parker Brothers Bank Shot
7070 @MP7314   TMS1400   1980, Parker Brothers Split Second
7171 *MP7324   TMS1400?  1985, Coleco Talking Teacher
72  MP7332   TMS1400   1981, Milton Bradley Dark Tower -> mbdtower.c
72  MP7332   TMS1400   1981, Milton Bradley Dark Tower -> mbdtower.cpp
7373 @MP7334   TMS1400   1981, Coleco Total Control 4
7474 @MP7351   TMS1400CR 1982, Parker Brothers Master Merlin
7575 @MP7551   TMS1670   1980, Entex Color Football 4 (6009)
trunk/src/mame/drivers/hh_ucom4.cpp
r252909r252910
4949 *060     uPD650C  1979, Mattel Computer Gin
5050 *085     uPD650C  1980, Roland TR-808
5151 *127     uPD650C  198?, Sony OA-S1100 Typecorder (subcpu, have dump)
52 *128     uPD650C  1981, Roland TR-606
53  133     uPD650C  1982, Roland TB-303 -> tb303.c
52  128     uPD650C  1981, Roland TR-606 -> tr606.cpp
53  133     uPD650C  1982, Roland TB-303 -> tb303.cpp
5454
5555  (* denotes not yet emulated by MAME, @ denotes it's in this driver)
5656
trunk/src/mame/drivers/tb303.cpp
r252909r252910
2424public:
2525   tb303_state(const machine_config &mconfig, device_type type, const char *tag)
2626      : hh_ucom4_state(mconfig, type, tag),
27      m_t3_off_timer(*this, "t3_off")
27      m_tp3_off_timer(*this, "tp3_off")
2828   { }
2929
30   required_device<timer_device> m_t3_off_timer;
30   required_device<timer_device> m_tp3_off_timer;
3131
3232   UINT8 m_ram[0xc00];
3333   UINT16 m_ram_address;
r252909r252910
4343   DECLARE_READ8_MEMBER(input_r);
4444   void update_leds();
4545
46   TIMER_DEVICE_CALLBACK_MEMBER(t3_clock);
47   TIMER_DEVICE_CALLBACK_MEMBER(t3_off);
46   TIMER_DEVICE_CALLBACK_MEMBER(tp3_clock);
47   TIMER_DEVICE_CALLBACK_MEMBER(tp3_off);
4848
4949   virtual void machine_start() override;
5050};
r252909r252910
5656
5757***************************************************************************/
5858
59// T2 to MCU CLK: LC circuit, stable sine wave, 2.2us interval
60#define TB303_T2_CLOCK_HZ   454545 /* in hz */
59// TP2 to MCU CLK: LC circuit(TI S74230), stable sine wave, 2.2us interval
60#define TP2_CLOCK_HZ    454545 /* in hz */
6161
62// T3 to MCU _INT: square wave, 1.8ms interval, short duty cycle
63#define TB303_T3_CLOCK      attotime::from_usec(1800)
64#define TB303_T3_OFF        (TB303_T3_CLOCK / 8)
62// TP3 to MCU _INT: square wave, 1.8ms interval, short duty cycle
63#define TP3_CLOCK       attotime::from_usec(1800)
64#define TP3_OFF         (TP3_CLOCK / 8)
6565
66TIMER_DEVICE_CALLBACK_MEMBER(tb303_state::t3_off)
66TIMER_DEVICE_CALLBACK_MEMBER(tb303_state::tp3_off)
6767{
6868   m_maincpu->set_input_line(0, CLEAR_LINE);
6969}
7070
71TIMER_DEVICE_CALLBACK_MEMBER(tb303_state::t3_clock)
71TIMER_DEVICE_CALLBACK_MEMBER(tb303_state::tp3_clock)
7272{
7373   m_maincpu->set_input_line(0, ASSERT_LINE);
74   m_t3_off_timer->adjust(TB303_T3_OFF);
74   m_tp3_off_timer->adjust(TP3_OFF);
7575}
7676
7777
r252909r252910
270270static MACHINE_CONFIG_START( tb303, tb303_state )
271271
272272   /* basic machine hardware */
273   MCFG_CPU_ADD("maincpu", NEC_D650, TB303_T2_CLOCK_HZ)
273   MCFG_CPU_ADD("maincpu", NEC_D650, TP2_CLOCK_HZ)
274274   MCFG_UCOM4_READ_A_CB(READ8(tb303_state, input_r))
275275   MCFG_UCOM4_READ_B_CB(READ8(tb303_state, input_r))
276276   MCFG_UCOM4_READ_C_CB(READ8(tb303_state, ram_r))
r252909r252910
282282   MCFG_UCOM4_WRITE_H_CB(WRITE8(tb303_state, switch_w))
283283   MCFG_UCOM4_WRITE_I_CB(WRITE8(tb303_state, strobe_w))
284284
285   MCFG_TIMER_DRIVER_ADD_PERIODIC("t3_clock", tb303_state, t3_clock, TB303_T3_CLOCK)
286   MCFG_TIMER_START_DELAY(TB303_T3_CLOCK)
287   MCFG_TIMER_DRIVER_ADD("t3_off", tb303_state, t3_off)
285   MCFG_TIMER_DRIVER_ADD_PERIODIC("tp3_clock", tb303_state, tp3_clock, TP3_CLOCK)
286   MCFG_TIMER_START_DELAY(TP3_CLOCK)
287   MCFG_TIMER_DRIVER_ADD("tp3_off", tb303_state, tp3_off)
288288
289289   MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_ucom4_state, display_decay_tick, attotime::from_msec(1))
290290   MCFG_DEFAULT_LAYOUT(layout_tb303)
291291
292   /* no video! */
293
294292   /* sound hardware */
295293   // discrete...
296294MACHINE_CONFIG_END
r252909r252910
309307ROM_END
310308
311309
312CONS( 1982, tb303, 0, 0, tb303, tb303, driver_device, 0, "Roland", "TB-303", MACHINE_NOT_WORKING | MACHINE_NO_SOUND | MACHINE_SUPPORTS_SAVE )
310CONS( 1982, tb303, 0, 0, tb303, tb303, driver_device, 0, "Roland", "TB-303 Bass Line", MACHINE_NOT_WORKING | MACHINE_NO_SOUND | MACHINE_SUPPORTS_SAVE )
trunk/src/mame/drivers/tr606.cpp
r0r252910
1// license:BSD-3-Clause
2// copyright-holders:hap
3/***************************************************************************
4
5  ** subclass of hh_ucom4_state (includes/hh_ucom4.h, drivers/hh_ucom4.cpp) **
6
7  Roland TR-606 Drumatix, early 1982
8  * NEC uCOM-43 MCU, labeled D650C 128
9  * 2*uPD444C 1024x4 Static CMOS SRAM
10  * board is packed with discrete components
11
12  TODO:
13  - still too much to list here
14
15***************************************************************************/
16
17#include "includes/hh_ucom4.h"
18
19#include "tr606.lh"
20
21
22class tr606_state : public hh_ucom4_state
23{
24public:
25   tr606_state(const machine_config &mconfig, device_type type, const char *tag)
26      : hh_ucom4_state(mconfig, type, tag),
27      m_tp3_off_timer(*this, "tp3_off")
28   { }
29
30   required_device<timer_device> m_tp3_off_timer;
31
32   TIMER_DEVICE_CALLBACK_MEMBER(tp3_clock);
33   TIMER_DEVICE_CALLBACK_MEMBER(tp3_off);
34
35   virtual void machine_start() override;
36};
37
38
39/***************************************************************************
40
41  Timer/Interrupt
42
43***************************************************************************/
44
45// TP2 to MCU CLK: LC circuit(TI S74230), stable sine wave, 2.2us interval
46#define TP2_CLOCK_HZ    454545 /* in hz */
47
48// TP3 to MCU _INT: square wave, 1.8ms interval, short duty cycle
49#define TP3_CLOCK       attotime::from_usec(1800)
50#define TP3_OFF         (TP3_CLOCK / 8)
51
52TIMER_DEVICE_CALLBACK_MEMBER(tr606_state::tp3_off)
53{
54   m_maincpu->set_input_line(0, CLEAR_LINE);
55}
56
57TIMER_DEVICE_CALLBACK_MEMBER(tr606_state::tp3_clock)
58{
59   m_maincpu->set_input_line(0, ASSERT_LINE);
60   m_tp3_off_timer->adjust(TP3_OFF);
61}
62
63
64
65/***************************************************************************
66
67  I/O
68
69***************************************************************************/
70
71
72
73/***************************************************************************
74
75  Inputs
76
77***************************************************************************/
78
79static INPUT_PORTS_START( tr606 )
80
81INPUT_PORTS_END
82
83
84
85/***************************************************************************
86
87  Machine Config
88
89***************************************************************************/
90
91void tr606_state::machine_start()
92{
93   hh_ucom4_state::machine_start();
94
95   // zerofill
96
97   // register for savestates
98}
99
100static MACHINE_CONFIG_START( tr606, tr606_state )
101
102   /* basic machine hardware */
103   MCFG_CPU_ADD("maincpu", NEC_D650, TP2_CLOCK_HZ)
104
105   MCFG_TIMER_DRIVER_ADD_PERIODIC("tp3_clock", tr606_state, tp3_clock, TP3_CLOCK)
106   MCFG_TIMER_START_DELAY(TP3_CLOCK)
107   MCFG_TIMER_DRIVER_ADD("tp3_off", tr606_state, tp3_off)
108
109   MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_ucom4_state, display_decay_tick, attotime::from_msec(1))
110   MCFG_DEFAULT_LAYOUT(layout_tr606)
111
112   /* sound hardware */
113   // discrete...
114MACHINE_CONFIG_END
115
116
117
118/***************************************************************************
119
120  Game driver(s)
121
122***************************************************************************/
123
124ROM_START( tr606 )
125   ROM_REGION( 0x0800, "maincpu", 0 )
126   ROM_LOAD( "d650c-128.ic4", 0x0000, 0x0800, CRC(eee88f80) SHA1(ae605ce2b95adc2e0bacde3cd7ed0f39ac88b981) )
127ROM_END
128
129
130CONS( 1982, tr606, 0, 0, tr606, tr606, driver_device, 0, "Roland", "TR-606 Drumatix", MACHINE_NOT_WORKING | MACHINE_NO_SOUND | MACHINE_SUPPORTS_SAVE )
trunk/src/mame/layout/tr606.lay
r0r252910
1<?xml version="1.0"?>
2<mamelayout version="2">
3
4<!-- define elements -->
5
6   <element name="led" defstate="0">
7      <disk state="0"><color red="0.2" green="0.04" blue="0.046" /></disk>
8      <disk state="1"><color red="1.0" green="0.2" blue="0.23" /></disk>
9   </element>
10
11
12<!-- build screen -->
13
14   <view name="Internal Layout">
15      <bounds left="0" right="100" top="0" bottom="100" />
16
17      <bezel name="0.0" element="led"><bounds x="1" y="1" width="1" height="1" /></bezel>
18
19   </view>
20</mamelayout>


Previous 199869 Revisions Next


© 1997-2024 The MAME Team