Previous 199869 Revisions Next

r35013 Saturday 14th February, 2015 at 01:46:32 UTC by Couriersud
Merge branch 'master' of https://github.com/mamedev/mame.git
[src/mame/drivers]galpanic.c
[src/mess]mess.lst mess.mak
[src/mess/drivers]edracula.c tb303.c*
[src/mess/layout]tb303.lay*

trunk/src/mame/drivers/galpanic.c
r243524r243525
315315   AM_RANGE(0x500000, 0x51ffff) AM_RAM AM_SHARE("fgvideoram")
316316   AM_RANGE(0x520000, 0x53ffff) AM_RAM_WRITE(galpanic_bgvideoram_w) AM_SHARE("bgvideoram")
317317   AM_RANGE(0x580000, 0x583fff) AM_RAM_WRITE(galpanic_bgvideoram_mirror_w)
318   AM_RANGE(0x600000, 0x600fff) AM_RAM_WRITE(galpanic_paletteram_w) AM_SHARE("paletteram")  /* 1024 colors, but only 512 seem to be used */
318   AM_RANGE(0x600000, 0x6007ff) AM_RAM_WRITE(galpanic_paletteram_w) AM_SHARE("paletteram")  /* 1024 colors, but only 512 seem to be used */
319319   AM_RANGE(0x680000, 0x68001f) AM_RAM
320320   AM_RANGE(0x700000, 0x700fff) AM_RAM AM_SHARE("spriteram")
321321   AM_RANGE(0x701000, 0x71ffff) AM_RAM
r243524r243525
336336   AM_RANGE(0x500000, 0x51ffff) AM_RAM AM_SHARE("fgvideoram")
337337   AM_RANGE(0x520000, 0x53ffff) AM_RAM_WRITE(galpanic_bgvideoram_w) AM_SHARE("bgvideoram")
338338//  AM_RANGE(0x580000, 0x583fff) AM_RAM_WRITE(galpanic_bgvideoram_mirror_w) // can't be right, causes half the display to vanish at times!
339   AM_RANGE(0x600000, 0x600fff) AM_RAM_WRITE(galpanic_paletteram_w) AM_SHARE("paletteram")  /* 1024 colors, but only 512 seem to be used */
339   AM_RANGE(0x600000, 0x6007ff) AM_RAM_WRITE(galpanic_paletteram_w) AM_SHARE("paletteram")  /* 1024 colors, but only 512 seem to be used */
340340   AM_RANGE(0x680000, 0x68001f) AM_RAM
341341   AM_RANGE(0x700000, 0x700fff) AM_RAM AM_SHARE("spriteram")
342342   AM_RANGE(0x780000, 0x78001f) AM_RAM
r243524r243525
359359   AM_RANGE(0x500000, 0x51ffff) AM_RAM AM_SHARE("fgvideoram")
360360    AM_RANGE(0x520000, 0x53ffff) AM_RAM_WRITE(galpanic_bgvideoram_w) AM_SHARE("bgvideoram")
361361    AM_RANGE(0x580000, 0x583fff) AM_RAM //_WRITE(galpanic_bgvideoram_mirror_w) // can't be right, causes half the display to vanish at times!
362   AM_RANGE(0x600000, 0x600fff) AM_RAM_WRITE(galpanic_paletteram_w) AM_SHARE("paletteram")  /* 1024 colors, but only 512 seem to be used */
362   AM_RANGE(0x600000, 0x6007ff) AM_RAM_WRITE(galpanic_paletteram_w) AM_SHARE("paletteram")  /* 1024 colors, but only 512 seem to be used */
363363   AM_RANGE(0x680000, 0x68001f) AM_RAM
364364   AM_RANGE(0x700000, 0x700fff) AM_RAM AM_SHARE("spriteram")
365365   AM_RANGE(0x780000, 0x78001f) AM_RAM
trunk/src/mess/drivers/edracula.c
r243524r243525
55  Epoch Dracula (manufactured in Japan)
66  * NEC uCOM-43 MCU, labeled D553C 206
77  * cyan/red/green VFD display NEC FIP8BM20T
8 
9  known releases:
10  - Japan: Dracula House, yellow case
11  - USA: Dracula, red case
12  - Other: Dracula, yellow case, published by Hales
813
14  NOTE!: MESS external artwork is required to be able to play
915
1016***************************************************************************/
1117
r243524r243525
2733
2834   required_device<cpu_device> m_maincpu;
2935   required_device<speaker_sound_device> m_speaker;
36
37   UINT32 m_plate;
38   UINT16 m_grid;
39
40   DECLARE_WRITE8_MEMBER(grid_w);
41   DECLARE_WRITE8_MEMBER(plate_w);
42   DECLARE_WRITE8_MEMBER(port_i_w);
43
44   UINT32 m_vfd_state[0x10];
45   void update_vfd();
3046   
3147   virtual void machine_start();
3248};
3349
3450
3551
52/***************************************************************************
53
54  Display
55
56***************************************************************************/
57
58void edracula_state::update_vfd()
59{
60   for (int i = 0; i < 8; i++)
61      if (m_grid & (1 << i) && m_vfd_state[i] != m_plate)
62      {
63         // on difference, send to output
64         for (int j = 0; j < 18; j++)
65            output_set_lamp_value(i*100 + j, m_plate >> j & 1);
66         
67         m_vfd_state[i] = m_plate;
68      }
69}
70
71
72
73/***************************************************************************
74
75  I/O
76
77***************************************************************************/
78
79WRITE8_MEMBER(edracula_state::grid_w)
80{
81   // port C/D: vfd matrix grid
82   int shift = (offset - NEC_UCOM4_PORTC) * 4;
83   m_grid = (m_grid & ~(0xf << shift)) | (data << shift);
84   
85   update_vfd();
86}
87
88WRITE8_MEMBER(edracula_state::plate_w)
89{
90   // port E/F/G/H/I01: vfd matrix plate
91   int shift = (offset - NEC_UCOM4_PORTE) * 4;
92   m_plate = (m_plate & ~(0xf << shift)) | (data << shift);
93   
94   update_vfd();
95}
96
97WRITE8_MEMBER(edracula_state::port_i_w)
98{
99   plate_w(space, offset, data & 3);
100
101   // I2: speaker out
102   m_speaker->level_w(data >> 2 & 1);
103}
104
105
106
107/***************************************************************************
108
109  Inputs
110
111***************************************************************************/
112
36113static INPUT_PORTS_START( edracula )
114   PORT_START("IN0")
115   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START )
116   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_SELECT )
117   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON1 )
118   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED )
119
120   PORT_START("IN1")
121   PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP )
122   PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN )
123   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT )
124   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT )
37125INPUT_PORTS_END
38126
39127
r243524r243525
46134
47135void edracula_state::machine_start()
48136{
137   // zerofill
138   memset(m_vfd_state, 0, sizeof(m_vfd_state));
139   m_plate = 0;
140   m_grid = 0;
141
142   // register for savestates
143   save_item(NAME(m_vfd_state));
144   save_item(NAME(m_plate));
145   save_item(NAME(m_grid));
49146}
50147
51148
r243524r243525
53150
54151   /* basic machine hardware */
55152   MCFG_CPU_ADD("maincpu", NEC_D553, XTAL_400kHz)
153   MCFG_UCOM4_READ_A_CB(IOPORT("IN0"))
154   MCFG_UCOM4_READ_B_CB(IOPORT("IN1"))
155   MCFG_UCOM4_WRITE_C_CB(WRITE8(edracula_state, grid_w))
156   MCFG_UCOM4_WRITE_D_CB(WRITE8(edracula_state, grid_w))
157   MCFG_UCOM4_WRITE_E_CB(WRITE8(edracula_state, plate_w))
158   MCFG_UCOM4_WRITE_F_CB(WRITE8(edracula_state, plate_w))
159   MCFG_UCOM4_WRITE_G_CB(WRITE8(edracula_state, plate_w))
160   MCFG_UCOM4_WRITE_H_CB(WRITE8(edracula_state, plate_w))
161   MCFG_UCOM4_WRITE_I_CB(WRITE8(edracula_state, port_i_w))
56162
57163   MCFG_DEFAULT_LAYOUT(layout_edracula)
58164
r243524r243525
78184ROM_END
79185
80186
81CONS( 1982, edracula, 0, 0, edracula, edracula, driver_device, 0, "Epoch", "Dracula", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
187CONS( 1982, edracula, 0, 0, edracula, edracula, driver_device, 0, "Epoch", "Dracula", GAME_SUPPORTS_SAVE )
trunk/src/mess/drivers/tb303.c
r0r243525
1// license:BSD-3-Clause
2// copyright-holders:hap
3/***************************************************************************
4
5  Roland TB-303
6  * NEC uCOM-43 MCU, labeled D650C 133
7 
8  x
9
10***************************************************************************/
11
12#include "emu.h"
13#include "cpu/ucom4/ucom4.h"
14#include "sound/speaker.h"
15
16#include "tb303.lh"
17
18
19class tb303_state : public driver_device
20{
21public:
22   tb303_state(const machine_config &mconfig, device_type type, const char *tag)
23      : driver_device(mconfig, type, tag),
24      m_maincpu(*this, "maincpu")
25   { }
26
27   required_device<cpu_device> m_maincpu;
28
29   virtual void machine_start();
30};
31
32
33static INPUT_PORTS_START( tb303 )
34INPUT_PORTS_END
35
36
37
38/***************************************************************************
39
40  Machine Config
41
42***************************************************************************/
43
44void tb303_state::machine_start()
45{
46}
47
48
49static MACHINE_CONFIG_START( tb303, tb303_state )
50
51   /* basic machine hardware */
52   MCFG_CPU_ADD("maincpu", NEC_D650, 454545) // LC circuit, 2.2us pulse
53
54   MCFG_DEFAULT_LAYOUT(layout_tb303)
55
56   /* no video! */
57
58   /* sound hardware */
59   // discrete...
60MACHINE_CONFIG_END
61
62
63
64/***************************************************************************
65
66  Game driver(s)
67
68***************************************************************************/
69
70ROM_START( tb303 )
71   ROM_REGION( 0x0800, "maincpu", 0 )
72   ROM_LOAD( "d650c-133.ic8", 0x0000, 0x0800, CRC(dd2f26ae) SHA1(7f5e37f38d970219dc9e5d49a20dc5335a5c0b30) )
73ROM_END
74
75
76CONS( 1982, tb303, 0, 0, tb303, tb303, driver_device, 0, "Roland", "TB-303", GAME_NOT_WORKING | GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
trunk/src/mess/layout/tb303.lay
r0r243525
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.15" green="0.03" blue="0.03" /></disk>
8      <disk state="1"><color red="1.0" green="0.3" blue="0.3" /></disk>
9   </element>
10
11
12
13<!-- build screen -->
14
15   <view name="Internal Layout">
16      <bounds left="0" right="100" top="0" bottom="100" />
17
18
19   </view>
20</mamelayout>
trunk/src/mess/mess.lst
r243524r243525
362362fb01    // 1986 FB-01
363363
364364// Roland
365tb303
365366mt32
366367cm32l
367368d110
trunk/src/mess/mess.mak
r243524r243525
15631563   $(MESS_DRIVERS)/rmt32.o     \
15641564   $(MESS_DRIVERS)/rd110.o     \
15651565   $(MESS_DRIVERS)/rsc55.o     \
1566   $(MESS_DRIVERS)/tb303.o     \
15661567
15671568$(MESSOBJ)/rockwell.a:          \
15681569   $(MESS_DRIVERS)/aim65.o $(MESS_MACHINE)/aim65.o \
r243524r243525
22022203$(MESS_DRIVERS)/sym1.o:     $(MESS_LAYOUT)/sym1.lh
22032204$(MESS_DRIVERS)/tandy12.o:  $(MESS_LAYOUT)/tandy12.lh
22042205$(MESS_DRIVERS)/tavernie.o: $(MESS_LAYOUT)/tavernie.lh
2206$(MESS_DRIVERS)/tb303.o:    $(MESS_LAYOUT)/tb303.lh
22052207$(MESS_DRIVERS)/tec1.o:     $(MESS_LAYOUT)/tec1.lh
22062208$(MESS_DRIVERS)/tecnbras.o: $(MESS_LAYOUT)/tecnbras.lh
22072209$(MESS_DRIVERS)/ti74.o:     $(MESS_LAYOUT)/ti74.lh \


Previous 199869 Revisions Next


© 1997-2024 The MAME Team