Previous 199869 Revisions Next

r35012 Saturday 14th February, 2015 at 01:43:27 UTC by Couriersud
Fix compile. [Vas Crabb]
[src/mame/drivers]galpanic.c
[src/mess]mess.lst mess.mak
[src/mess/drivers]edracula.c tb303.c
[src/mess/layout]tb303.lay
[src/osd/sdl]video.c

trunk/src/mame/drivers/galpanic.c
r243523r243524
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, 0x6007ff) AM_RAM_WRITE(galpanic_paletteram_w) AM_SHARE("paletteram")  /* 1024 colors, but only 512 seem to be used */
318   AM_RANGE(0x600000, 0x600fff) 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
r243523r243524
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, 0x6007ff) AM_RAM_WRITE(galpanic_paletteram_w) AM_SHARE("paletteram")  /* 1024 colors, but only 512 seem to be used */
339   AM_RANGE(0x600000, 0x600fff) 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
r243523r243524
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, 0x6007ff) AM_RAM_WRITE(galpanic_paletteram_w) AM_SHARE("paletteram")  /* 1024 colors, but only 512 seem to be used */
362   AM_RANGE(0x600000, 0x600fff) 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
r243523r243524
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
138
14  NOTE!: MESS external artwork is required to be able to play
159
1610***************************************************************************/
1711
r243523r243524
3327
3428   required_device<cpu_device> m_maincpu;
3529   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();
4630   
4731   virtual void machine_start();
4832};
4933
5034
5135
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
11336static 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 )
12537INPUT_PORTS_END
12638
12739
r243523r243524
13446
13547void edracula_state::machine_start()
13648{
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));
14649}
14750
14851
r243523r243524
15053
15154   /* basic machine hardware */
15255   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))
16256
16357   MCFG_DEFAULT_LAYOUT(layout_edracula)
16458
r243523r243524
18478ROM_END
18579
18680
187CONS( 1982, edracula, 0, 0, edracula, edracula, driver_device, 0, "Epoch", "Dracula", GAME_SUPPORTS_SAVE )
81CONS( 1982, edracula, 0, 0, edracula, edracula, driver_device, 0, "Epoch", "Dracula", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE )
trunk/src/mess/drivers/tb303.c
r243523r243524
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
r243523r243524
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
r243523r243524
362362fb01    // 1986 FB-01
363363
364364// Roland
365tb303
366365mt32
367366cm32l
368367d110
trunk/src/mess/mess.mak
r243523r243524
15631563   $(MESS_DRIVERS)/rmt32.o     \
15641564   $(MESS_DRIVERS)/rd110.o     \
15651565   $(MESS_DRIVERS)/rsc55.o     \
1566   $(MESS_DRIVERS)/tb303.o     \
15671566
15681567$(MESSOBJ)/rockwell.a:          \
15691568   $(MESS_DRIVERS)/aim65.o $(MESS_MACHINE)/aim65.o \
r243523r243524
22032202$(MESS_DRIVERS)/sym1.o:     $(MESS_LAYOUT)/sym1.lh
22042203$(MESS_DRIVERS)/tandy12.o:  $(MESS_LAYOUT)/tandy12.lh
22052204$(MESS_DRIVERS)/tavernie.o: $(MESS_LAYOUT)/tavernie.lh
2206$(MESS_DRIVERS)/tb303.o:    $(MESS_LAYOUT)/tb303.lh
22072205$(MESS_DRIVERS)/tec1.o:     $(MESS_LAYOUT)/tec1.lh
22082206$(MESS_DRIVERS)/tecnbras.o: $(MESS_LAYOUT)/tecnbras.lh
22092207$(MESS_DRIVERS)/ti74.o:     $(MESS_LAYOUT)/ti74.lh \
trunk/src/osd/sdl/video.c
r243523r243524
160160   info.cbSize = sizeof(info);
161161   GetMonitorInfo((HMONITOR)m_handle, (LPMONITORINFO)&info);
162162   m_dimensions.x = m_dimensions.y = 0;
163   m_center_width = m_dimensions.w = info.rcMonitor.right - info.rcMonitor.left;
164   m_center_height = m_dimensions.h = info.rcMonitor.bottom - info.rcMonitor.top;
163   m_dimensions.w = info.rcMonitor.right - info.rcMonitor.left;
164   m_dimensions.h = info.rcMonitor.bottom - info.rcMonitor.top;
165165   char *temp = utf8_from_wstring(info.szDevice);
166166   strcpy(m_monitor_device, temp);
167167   osd_free(temp);
r243523r243524
174174   dbounds = CGDisplayBounds(primary);
175175
176176   m_dimensions.x = m_dimensions.y = 0;
177   m_center_width = m_dimensions.w = dbounds.size.width - dbounds.origin.x;
178   m_center_height = m_dimensions.h = dbounds.size.height - dbounds.origin.y;
177   m_dimensions.w = dbounds.size.width - dbounds.origin.x;
178   m_dimensions.h = dbounds.size.height - dbounds.origin.y;
179179   strcpy(m_monitor_device, "Mac OS X display");
180180   #elif defined(SDLMAME_X11) || defined(SDLMAME_NO_X11)       // X11 version
181181   {


Previous 199869 Revisions Next


© 1997-2024 The MAME Team