Previous 199869 Revisions Next

r33367 Thursday 13th November, 2014 at 04:52:28 UTC by Robbbert
(MESS) WIP gamecom: converted from crosshairs to mouse pointer.

Still a few bugs, will be worked on over the weekend.
[src/mess]mess.mak
[src/mess/drivers]gamecom.c
[src/mess/includes]gamecom.h
[src/mess/layout]gamecom.lay*
[src/mess/machine]gamecom.c

trunk/src/mess/drivers/gamecom.c
r241878r241879
1818***************************************************************************/
1919
2020#include "includes/gamecom.h"
21#include "gamecom.lh"
2122
2223static ADDRESS_MAP_START(gamecom_mem_map, AS_PROGRAM, 8, gamecom_state)
2324   AM_RANGE( 0x0000, 0x0013 )  AM_RAM
r241878r241879
3132   AM_RANGE( 0x4000, 0x5FFF )  AM_ROMBANK("bank2")                                   /* External ROM/Flash. Controlled by MMU2 */
3233   AM_RANGE( 0x6000, 0x7FFF )  AM_ROMBANK("bank3")                                   /* External ROM/Flash. Controlled by MMU3 */
3334   AM_RANGE( 0x8000, 0x9FFF )  AM_ROMBANK("bank4")                                   /* External ROM/Flash. Controlled by MMU4 */
34   AM_RANGE( 0xA000, 0xDFFF )  AM_RAM AM_SHARE("p_videoram")             /* VRAM */
35   AM_RANGE( 0xE000, 0xFFFF )  AM_RAM AM_SHARE("p_nvram")// AM_SHARE("nvram")           /* Extended I/O, Extended RAM */
35   AM_RANGE( 0xA000, 0xDFFF )  AM_RAM AM_SHARE("videoram")             /* VRAM */
36   AM_RANGE( 0xE000, 0xFFFF )  AM_RAM AM_SHARE("nvram")           /* Extended I/O, Extended RAM */
3637ADDRESS_MAP_END
3738
3839static INPUT_PORTS_START( gamecom )
r241878r241879
4344   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_NAME( "Right" )
4445   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME( "Menu" ) PORT_CODE( KEYCODE_M )
4546   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME( DEF_STR(Pause) ) PORT_CODE( KEYCODE_V )
46   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME( "Sound" ) PORT_CODE( KEYCODE_B )
47   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME( "Button A" )
47   PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME( "Sound" ) PORT_CODE( KEYCODE_S )
48   PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_NAME( "Button A" ) PORT_CODE( KEYCODE_A ) PORT_CODE( KEYCODE_LCONTROL )
4849
4950   PORT_START("IN1")
50   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME( "Button B" )
51   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME( "Button C" )
51   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME( "Button B" ) PORT_CODE( KEYCODE_B ) PORT_CODE( KEYCODE_LALT )
52   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_NAME( "Button C" ) PORT_CODE( KEYCODE_C ) PORT_CODE( KEYCODE_SPACE )
5253
5354   PORT_START("IN2")
5455   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME( "Reset" ) PORT_CODE( KEYCODE_N )
55   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME( "Button D" )
56   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_NAME( "Button D" ) PORT_CODE( KEYCODE_D ) PORT_CODE( KEYCODE_LSHIFT )
5657   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME( "Stylus press" ) PORT_CODE( KEYCODE_Z ) PORT_CODE( MOUSECODE_BUTTON1 )
5758
58   PORT_START("STYX")
59   PORT_BIT( 0xff, 100, IPT_LIGHTGUN_X ) PORT_CROSSHAIR(X, 1, 0, 0) PORT_MINMAX(0,199) PORT_SENSITIVITY(50) PORT_KEYDELTA(8)
59   PORT_START("GRID.0")
60   PORT_BIT( 0x001, IP_ACTIVE_HIGH, IPT_OTHER)
61   PORT_BIT( 0x002, IP_ACTIVE_HIGH, IPT_OTHER)
62   PORT_BIT( 0x004, IP_ACTIVE_HIGH, IPT_OTHER)
63   PORT_BIT( 0x008, IP_ACTIVE_HIGH, IPT_OTHER)
64   PORT_BIT( 0x010, IP_ACTIVE_HIGH, IPT_OTHER)
65   PORT_BIT( 0x020, IP_ACTIVE_HIGH, IPT_OTHER)
66   PORT_BIT( 0x040, IP_ACTIVE_HIGH, IPT_OTHER)
67   PORT_BIT( 0x080, IP_ACTIVE_HIGH, IPT_OTHER)
68   PORT_BIT( 0x100, IP_ACTIVE_HIGH, IPT_OTHER)
69   PORT_BIT( 0x200, IP_ACTIVE_HIGH, IPT_OTHER)
6070
61   PORT_START("STYY")
62   PORT_BIT( 0xff, 80, IPT_LIGHTGUN_Y ) PORT_CROSSHAIR(Y, 1, 0, 0) PORT_MINMAX(0,159) PORT_SENSITIVITY(50) PORT_KEYDELTA(8)
63INPUT_PORTS_END
71   PORT_START("GRID.1")
72   PORT_BIT( 0x001, IP_ACTIVE_HIGH, IPT_OTHER)
73   PORT_BIT( 0x002, IP_ACTIVE_HIGH, IPT_OTHER)
74   PORT_BIT( 0x004, IP_ACTIVE_HIGH, IPT_OTHER)
75   PORT_BIT( 0x008, IP_ACTIVE_HIGH, IPT_OTHER)
76   PORT_BIT( 0x010, IP_ACTIVE_HIGH, IPT_OTHER)
77   PORT_BIT( 0x020, IP_ACTIVE_HIGH, IPT_OTHER)
78   PORT_BIT( 0x040, IP_ACTIVE_HIGH, IPT_OTHER)
79   PORT_BIT( 0x080, IP_ACTIVE_HIGH, IPT_OTHER)
80   PORT_BIT( 0x100, IP_ACTIVE_HIGH, IPT_OTHER)
81   PORT_BIT( 0x200, IP_ACTIVE_HIGH, IPT_OTHER)
6482
83   PORT_START("GRID.2")
84   PORT_BIT( 0x001, IP_ACTIVE_HIGH, IPT_OTHER)
85   PORT_BIT( 0x002, IP_ACTIVE_HIGH, IPT_OTHER)
86   PORT_BIT( 0x004, IP_ACTIVE_HIGH, IPT_OTHER)
87   PORT_BIT( 0x008, IP_ACTIVE_HIGH, IPT_OTHER)
88   PORT_BIT( 0x010, IP_ACTIVE_HIGH, IPT_OTHER)
89   PORT_BIT( 0x020, IP_ACTIVE_HIGH, IPT_OTHER)
90   PORT_BIT( 0x040, IP_ACTIVE_HIGH, IPT_OTHER)
91   PORT_BIT( 0x080, IP_ACTIVE_HIGH, IPT_OTHER)
92   PORT_BIT( 0x100, IP_ACTIVE_HIGH, IPT_OTHER)
93   PORT_BIT( 0x200, IP_ACTIVE_HIGH, IPT_OTHER)
94
95   PORT_START("GRID.3")
96   PORT_BIT( 0x001, IP_ACTIVE_HIGH, IPT_OTHER)
97   PORT_BIT( 0x002, IP_ACTIVE_HIGH, IPT_OTHER)
98   PORT_BIT( 0x004, IP_ACTIVE_HIGH, IPT_OTHER)
99   PORT_BIT( 0x008, IP_ACTIVE_HIGH, IPT_OTHER)
100   PORT_BIT( 0x010, IP_ACTIVE_HIGH, IPT_OTHER)
101   PORT_BIT( 0x020, IP_ACTIVE_HIGH, IPT_OTHER)
102   PORT_BIT( 0x040, IP_ACTIVE_HIGH, IPT_OTHER)
103   PORT_BIT( 0x080, IP_ACTIVE_HIGH, IPT_OTHER)
104   PORT_BIT( 0x100, IP_ACTIVE_HIGH, IPT_OTHER)
105   PORT_BIT( 0x200, IP_ACTIVE_HIGH, IPT_OTHER)
106
107   PORT_START("GRID.4")
108   PORT_BIT( 0x001, IP_ACTIVE_HIGH, IPT_OTHER)
109   PORT_BIT( 0x002, IP_ACTIVE_HIGH, IPT_OTHER)
110   PORT_BIT( 0x004, IP_ACTIVE_HIGH, IPT_OTHER)
111   PORT_BIT( 0x008, IP_ACTIVE_HIGH, IPT_OTHER)
112   PORT_BIT( 0x010, IP_ACTIVE_HIGH, IPT_OTHER)
113   PORT_BIT( 0x020, IP_ACTIVE_HIGH, IPT_OTHER)
114   PORT_BIT( 0x040, IP_ACTIVE_HIGH, IPT_OTHER)
115   PORT_BIT( 0x080, IP_ACTIVE_HIGH, IPT_OTHER)
116   PORT_BIT( 0x100, IP_ACTIVE_HIGH, IPT_OTHER)
117   PORT_BIT( 0x200, IP_ACTIVE_HIGH, IPT_OTHER)
118
119   PORT_START("GRID.5")
120   PORT_BIT( 0x001, IP_ACTIVE_HIGH, IPT_OTHER)
121   PORT_BIT( 0x002, IP_ACTIVE_HIGH, IPT_OTHER)
122   PORT_BIT( 0x004, IP_ACTIVE_HIGH, IPT_OTHER)
123   PORT_BIT( 0x008, IP_ACTIVE_HIGH, IPT_OTHER)
124   PORT_BIT( 0x010, IP_ACTIVE_HIGH, IPT_OTHER)
125   PORT_BIT( 0x020, IP_ACTIVE_HIGH, IPT_OTHER)
126   PORT_BIT( 0x040, IP_ACTIVE_HIGH, IPT_OTHER)
127   PORT_BIT( 0x080, IP_ACTIVE_HIGH, IPT_OTHER)
128   PORT_BIT( 0x100, IP_ACTIVE_HIGH, IPT_OTHER)
129   PORT_BIT( 0x200, IP_ACTIVE_HIGH, IPT_OTHER)
130
131   PORT_START("GRID.6")
132   PORT_BIT( 0x001, IP_ACTIVE_HIGH, IPT_OTHER)
133   PORT_BIT( 0x002, IP_ACTIVE_HIGH, IPT_OTHER)
134   PORT_BIT( 0x004, IP_ACTIVE_HIGH, IPT_OTHER)
135   PORT_BIT( 0x008, IP_ACTIVE_HIGH, IPT_OTHER)
136   PORT_BIT( 0x010, IP_ACTIVE_HIGH, IPT_OTHER)
137   PORT_BIT( 0x020, IP_ACTIVE_HIGH, IPT_OTHER)
138   PORT_BIT( 0x040, IP_ACTIVE_HIGH, IPT_OTHER)
139   PORT_BIT( 0x080, IP_ACTIVE_HIGH, IPT_OTHER)
140   PORT_BIT( 0x100, IP_ACTIVE_HIGH, IPT_OTHER)
141   PORT_BIT( 0x200, IP_ACTIVE_HIGH, IPT_OTHER)
142
143   PORT_START("GRID.7")
144   PORT_BIT( 0x001, IP_ACTIVE_HIGH, IPT_OTHER)
145   PORT_BIT( 0x002, IP_ACTIVE_HIGH, IPT_OTHER)
146   PORT_BIT( 0x004, IP_ACTIVE_HIGH, IPT_OTHER)
147   PORT_BIT( 0x008, IP_ACTIVE_HIGH, IPT_OTHER)
148   PORT_BIT( 0x010, IP_ACTIVE_HIGH, IPT_OTHER)
149   PORT_BIT( 0x020, IP_ACTIVE_HIGH, IPT_OTHER)
150   PORT_BIT( 0x040, IP_ACTIVE_HIGH, IPT_OTHER)
151   PORT_BIT( 0x080, IP_ACTIVE_HIGH, IPT_OTHER)
152   PORT_BIT( 0x100, IP_ACTIVE_HIGH, IPT_OTHER)
153   PORT_BIT( 0x200, IP_ACTIVE_HIGH, IPT_OTHER)
154
155   PORT_START("GRID.8")
156   PORT_BIT( 0x001, IP_ACTIVE_HIGH, IPT_OTHER)
157   PORT_BIT( 0x002, IP_ACTIVE_HIGH, IPT_OTHER)
158   PORT_BIT( 0x004, IP_ACTIVE_HIGH, IPT_OTHER)
159   PORT_BIT( 0x008, IP_ACTIVE_HIGH, IPT_OTHER)
160   PORT_BIT( 0x010, IP_ACTIVE_HIGH, IPT_OTHER)
161   PORT_BIT( 0x020, IP_ACTIVE_HIGH, IPT_OTHER)
162   PORT_BIT( 0x040, IP_ACTIVE_HIGH, IPT_OTHER)
163   PORT_BIT( 0x080, IP_ACTIVE_HIGH, IPT_OTHER)
164   PORT_BIT( 0x100, IP_ACTIVE_HIGH, IPT_OTHER)
165   PORT_BIT( 0x200, IP_ACTIVE_HIGH, IPT_OTHER)
166
167   PORT_START("GRID.9")
168   PORT_BIT( 0x001, IP_ACTIVE_HIGH, IPT_OTHER)
169   PORT_BIT( 0x002, IP_ACTIVE_HIGH, IPT_OTHER)
170   PORT_BIT( 0x004, IP_ACTIVE_HIGH, IPT_OTHER)
171   PORT_BIT( 0x008, IP_ACTIVE_HIGH, IPT_OTHER)
172   PORT_BIT( 0x010, IP_ACTIVE_HIGH, IPT_OTHER)
173   PORT_BIT( 0x020, IP_ACTIVE_HIGH, IPT_OTHER)
174   PORT_BIT( 0x040, IP_ACTIVE_HIGH, IPT_OTHER)
175   PORT_BIT( 0x080, IP_ACTIVE_HIGH, IPT_OTHER)
176   PORT_BIT( 0x100, IP_ACTIVE_HIGH, IPT_OTHER)
177   PORT_BIT( 0x200, IP_ACTIVE_HIGH, IPT_OTHER)
178
179   PORT_START("GRID.10")
180   PORT_BIT( 0x001, IP_ACTIVE_HIGH, IPT_OTHER)
181   PORT_BIT( 0x002, IP_ACTIVE_HIGH, IPT_OTHER)
182   PORT_BIT( 0x004, IP_ACTIVE_HIGH, IPT_OTHER)
183   PORT_BIT( 0x008, IP_ACTIVE_HIGH, IPT_OTHER)
184   PORT_BIT( 0x010, IP_ACTIVE_HIGH, IPT_OTHER)
185   PORT_BIT( 0x020, IP_ACTIVE_HIGH, IPT_OTHER)
186   PORT_BIT( 0x040, IP_ACTIVE_HIGH, IPT_OTHER)
187   PORT_BIT( 0x080, IP_ACTIVE_HIGH, IPT_OTHER)
188   PORT_BIT( 0x100, IP_ACTIVE_HIGH, IPT_OTHER)
189   PORT_BIT( 0x200, IP_ACTIVE_HIGH, IPT_OTHER)
190
191   PORT_START("GRID.11")
192   PORT_BIT( 0x001, IP_ACTIVE_HIGH, IPT_OTHER)
193   PORT_BIT( 0x002, IP_ACTIVE_HIGH, IPT_OTHER)
194   PORT_BIT( 0x004, IP_ACTIVE_HIGH, IPT_OTHER)
195   PORT_BIT( 0x008, IP_ACTIVE_HIGH, IPT_OTHER)
196   PORT_BIT( 0x010, IP_ACTIVE_HIGH, IPT_OTHER)
197   PORT_BIT( 0x020, IP_ACTIVE_HIGH, IPT_OTHER)
198   PORT_BIT( 0x040, IP_ACTIVE_HIGH, IPT_OTHER)
199   PORT_BIT( 0x080, IP_ACTIVE_HIGH, IPT_OTHER)
200   PORT_BIT( 0x100, IP_ACTIVE_HIGH, IPT_OTHER)
201   PORT_BIT( 0x200, IP_ACTIVE_HIGH, IPT_OTHER)
202
203   PORT_START("GRID.12")
204   PORT_BIT( 0x001, IP_ACTIVE_HIGH, IPT_OTHER)
205   PORT_BIT( 0x002, IP_ACTIVE_HIGH, IPT_OTHER)
206   PORT_BIT( 0x004, IP_ACTIVE_HIGH, IPT_OTHER)
207   PORT_BIT( 0x008, IP_ACTIVE_HIGH, IPT_OTHER)
208   PORT_BIT( 0x010, IP_ACTIVE_HIGH, IPT_OTHER)
209   PORT_BIT( 0x020, IP_ACTIVE_HIGH, IPT_OTHER)
210   PORT_BIT( 0x040, IP_ACTIVE_HIGH, IPT_OTHER)
211   PORT_BIT( 0x080, IP_ACTIVE_HIGH, IPT_OTHER)
212   PORT_BIT( 0x100, IP_ACTIVE_HIGH, IPT_OTHER)
213   PORT_BIT( 0x200, IP_ACTIVE_HIGH, IPT_OTHER)
214   INPUT_PORTS_END
215
65216static const unsigned char palette_gamecom[] =
66217{
67218   0xDF, 0xFF, 0x8F,   /* White */
r241878r241879
108259   MCFG_SCREEN_REFRESH_RATE( 59.732155 )
109260   MCFG_SCREEN_VBLANK_TIME(500)
110261   MCFG_SCREEN_UPDATE_DRIVER(gamecom_state, screen_update)
111   MCFG_SCREEN_SIZE( 200, 200 )
112   MCFG_SCREEN_VISIBLE_AREA( 0, 199, 0, 159 )
262   MCFG_SCREEN_SIZE( 208, 160 )
263   MCFG_SCREEN_VISIBLE_AREA( 0, 207, 0, 159 )
113264   MCFG_SCREEN_PALETTE("palette")
114265
115   MCFG_DEFAULT_LAYOUT(layout_lcd)
266   MCFG_DEFAULT_LAYOUT(layout_gamecom)
116267   MCFG_PALETTE_ADD("palette", 5)
117268   MCFG_PALETTE_INIT_OWNER(gamecom_state, gamecom)
118269
r241878r241879
143294   ROM_LOAD( "external.bin", 0x00000, 0x40000, CRC(e235a589) SHA1(97f782e72d738f4d7b861363266bf46b438d9b50) )
144295ROM_END
145296
146/*    YEAR  NAME     PARENT COMPAT MACHINE  INPUT    INIT    COMPANY  FULLNAME */
147CONS( 1997, gamecom, 0,     0,     gamecom, gamecom, gamecom_state, gamecom,"Tiger", "Game.com", GAME_NOT_WORKING | GAME_NO_SOUND)
297/*    YEAR  NAME     PARENT COMPAT MACHINE  INPUT    CLASS            INIT    COMPANY  FULLNAME */
298CONS( 1997, gamecom, 0,     0,     gamecom, gamecom, gamecom_state, gamecom, "Tiger", "Game.com", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND)
trunk/src/mess/includes/gamecom.h
r241878r241879
1616#include "sound/dac.h"
1717#include "bus/generic/slot.h"
1818#include "bus/generic/carts.h"
19#include "machine/nvram.h"
1920
20#include "rendlay.h"
21
2221/* SM8521 register addresses */
2322enum
2423{
r241878r241879
217216      m_dac(*this, "dac"),
218217      m_cart1(*this, "cartslot1"),
219218      m_cart2(*this, "cartslot2"),
220      m_p_nvram(*this,"p_nvram"),
221      m_p_videoram(*this,"p_videoram"),
219      m_p_nvram(*this,"nvram"),
220      m_p_videoram(*this,"videoram"),
222221      m_bank1(*this, "bank1"),
223222      m_bank2(*this, "bank2"),
224223      m_bank3(*this, "bank3"),
r241878r241879
228227      m_io_in0(*this, "IN0"),
229228      m_io_in1(*this, "IN1"),
230229      m_io_in2(*this, "IN2"),
231      m_io_styx(*this, "STYX"),
232      m_io_styy(*this, "STYY")
230      m_io_grid(*this, "GRID")
233231      { }
234232
235233   required_device<cpu_device> m_maincpu;
r241878r241879
251249   GAMECOM_DMA m_dma;
252250   GAMECOM_TIMER m_timer[2];
253251   gamecom_sound_t m_sound;
254   int m_stylus_x;
255   int m_stylus_y;
256252   int m_scanline;
257253   unsigned int m_base_address;
258254   bitmap_ind16 m_bitmap;
r241878r241879
288284   required_ioport m_io_in0;
289285   required_ioport m_io_in1;
290286   required_ioport m_io_in2;
291   required_ioport m_io_styx;
292   required_ioport m_io_styy;
287   required_ioport_array<13> m_io_grid;
293288};
294289
295290#endif /* GAMECOM_H_ */
trunk/src/mess/layout/gamecom.lay
r0r241879
1<!-- gamecom.lay -->
2
3<mamelayout version="2">
4
5   <element name="grid"><rect><color red="0.0" green="0.0" blue="0.0" alpha="0.0"/></rect></element>
6
7   <view name="Default Grid">
8
9      <backdrop element="grid" inputtag="GRID.0" inputmask="0x01" >
10         <bounds x="0" y="0" width="16" height="16" />
11      </backdrop>
12      <backdrop element="grid" inputtag="GRID.1" inputmask="0x01" >
13         <bounds x="16" y="16" width="16" height="16" />
14      </backdrop>
15      <backdrop element="grid" inputtag="GRID.2" inputmask="0x01" >
16         <bounds x="32" y="16" width="16" height="16" />
17      </backdrop>
18      <backdrop element="grid" inputtag="GRID.3" inputmask="0x01" >
19         <bounds x="48" y="16" width="16" height="16" />
20      </backdrop>
21      <backdrop element="grid" inputtag="GRID.4" inputmask="0x01" >
22         <bounds x="64" y="16" width="16" height="16" />
23      </backdrop>
24      <backdrop element="grid" inputtag="GRID.5" inputmask="0x01" >
25         <bounds x="80" y="16" width="16" height="16" />
26      </backdrop>
27      <backdrop element="grid" inputtag="GRID.6" inputmask="0x01" >
28         <bounds x="96" y="16" width="16" height="16" />
29      </backdrop>
30      <backdrop element="grid" inputtag="GRID.7" inputmask="0x01" >
31         <bounds x="112" y="16" width="16" height="16" />
32      </backdrop>
33      <backdrop element="grid" inputtag="GRID.8" inputmask="0x01" >
34         <bounds x="128" y="16" width="16" height="16" />
35      </backdrop>
36      <backdrop element="grid" inputtag="GRID.9" inputmask="0x01" >
37         <bounds x="144" y="16" width="16" height="16" />
38      </backdrop>
39      <backdrop element="grid" inputtag="GRID.10" inputmask="0x01" >
40         <bounds x="160" y="16" width="16" height="16" />
41      </backdrop>
42      <backdrop element="grid" inputtag="GRID.11" inputmask="0x01" >
43         <bounds x="176" y="16" width="16" height="16" />
44      </backdrop>
45      <backdrop element="grid" inputtag="GRID.12" inputmask="0x01" >
46         <bounds x="192" y="16" width="16" height="16" />
47      </backdrop>
48
49      <backdrop element="grid" inputtag="GRID.0" inputmask="0x02" >
50         <bounds x="0" y="16" width="16" height="16" />
51      </backdrop>
52      <backdrop element="grid" inputtag="GRID.1" inputmask="0x02" >
53         <bounds x="16" y="16" width="16" height="16" />
54      </backdrop>
55      <backdrop element="grid" inputtag="GRID.2" inputmask="0x02" >
56         <bounds x="32" y="16" width="16" height="16" />
57      </backdrop>
58      <backdrop element="grid" inputtag="GRID.3" inputmask="0x02" >
59         <bounds x="48" y="16" width="16" height="16" />
60      </backdrop>
61      <backdrop element="grid" inputtag="GRID.4" inputmask="0x02" >
62         <bounds x="64" y="16" width="16" height="16" />
63      </backdrop>
64      <backdrop element="grid" inputtag="GRID.5" inputmask="0x02" >
65         <bounds x="80" y="16" width="16" height="16" />
66      </backdrop>
67      <backdrop element="grid" inputtag="GRID.6" inputmask="0x02" >
68         <bounds x="96" y="16" width="16" height="16" />
69      </backdrop>
70      <backdrop element="grid" inputtag="GRID.7" inputmask="0x02" >
71         <bounds x="112" y="16" width="16" height="16" />
72      </backdrop>
73      <backdrop element="grid" inputtag="GRID.8" inputmask="0x02" >
74         <bounds x="128" y="16" width="16" height="16" />
75      </backdrop>
76      <backdrop element="grid" inputtag="GRID.9" inputmask="0x02" >
77         <bounds x="144" y="16" width="16" height="16" />
78      </backdrop>
79      <backdrop element="grid" inputtag="GRID.10" inputmask="0x02" >
80         <bounds x="160" y="16" width="16" height="16" />
81      </backdrop>
82      <backdrop element="grid" inputtag="GRID.11" inputmask="0x02" >
83         <bounds x="176" y="16" width="16" height="16" />
84      </backdrop>
85      <backdrop element="grid" inputtag="GRID.12" inputmask="0x02" >
86         <bounds x="192" y="16" width="16" height="16" />
87      </backdrop>
88
89      <backdrop element="grid" inputtag="GRID.0" inputmask="0x04" >
90         <bounds x="0" y="32" width="16" height="16" />
91      </backdrop>
92      <backdrop element="grid" inputtag="GRID.1" inputmask="0x04" >
93         <bounds x="16" y="32" width="16" height="16" />
94      </backdrop>
95      <backdrop element="grid" inputtag="GRID.2" inputmask="0x04" >
96         <bounds x="32" y="32" width="16" height="16" />
97      </backdrop>
98      <backdrop element="grid" inputtag="GRID.3" inputmask="0x04" >
99         <bounds x="48" y="32" width="16" height="16" />
100      </backdrop>
101      <backdrop element="grid" inputtag="GRID.4" inputmask="0x04" >
102         <bounds x="64" y="32" width="16" height="16" />
103      </backdrop>
104      <backdrop element="grid" inputtag="GRID.5" inputmask="0x04" >
105         <bounds x="80" y="32" width="16" height="16" />
106      </backdrop>
107      <backdrop element="grid" inputtag="GRID.6" inputmask="0x04" >
108         <bounds x="96" y="32" width="16" height="16" />
109      </backdrop>
110      <backdrop element="grid" inputtag="GRID.7" inputmask="0x04" >
111         <bounds x="112" y="32" width="16" height="16" />
112      </backdrop>
113      <backdrop element="grid" inputtag="GRID.8" inputmask="0x04" >
114         <bounds x="128" y="32" width="16" height="16" />
115      </backdrop>
116      <backdrop element="grid" inputtag="GRID.9" inputmask="0x04" >
117         <bounds x="144" y="32" width="16" height="16" />
118      </backdrop>
119      <backdrop element="grid" inputtag="GRID.10" inputmask="0x04" >
120         <bounds x="160" y="32" width="16" height="16" />
121      </backdrop>
122      <backdrop element="grid" inputtag="GRID.11" inputmask="0x04" >
123         <bounds x="176" y="32" width="16" height="16" />
124      </backdrop>
125      <backdrop element="grid" inputtag="GRID.12" inputmask="0x04" >
126         <bounds x="192" y="32" width="16" height="16" />
127      </backdrop>
128
129      <backdrop element="grid" inputtag="GRID.0" inputmask="0x08" >
130         <bounds x="0" y="48" width="16" height="16" />
131      </backdrop>
132      <backdrop element="grid" inputtag="GRID.1" inputmask="0x08" >
133         <bounds x="16" y="48" width="16" height="16" />
134      </backdrop>
135      <backdrop element="grid" inputtag="GRID.2" inputmask="0x08" >
136         <bounds x="32" y="48" width="16" height="16" />
137      </backdrop>
138      <backdrop element="grid" inputtag="GRID.3" inputmask="0x08" >
139         <bounds x="48" y="48" width="16" height="16" />
140      </backdrop>
141      <backdrop element="grid" inputtag="GRID.4" inputmask="0x08" >
142         <bounds x="64" y="48" width="16" height="16" />
143      </backdrop>
144      <backdrop element="grid" inputtag="GRID.5" inputmask="0x08" >
145         <bounds x="80" y="48" width="16" height="16" />
146      </backdrop>
147      <backdrop element="grid" inputtag="GRID.6" inputmask="0x08" >
148         <bounds x="96" y="48" width="16" height="16" />
149      </backdrop>
150      <backdrop element="grid" inputtag="GRID.7" inputmask="0x08" >
151         <bounds x="112" y="48" width="16" height="16" />
152      </backdrop>
153      <backdrop element="grid" inputtag="GRID.8" inputmask="0x08" >
154         <bounds x="128" y="48" width="16" height="16" />
155      </backdrop>
156      <backdrop element="grid" inputtag="GRID.9" inputmask="0x08" >
157         <bounds x="144" y="48" width="16" height="16" />
158      </backdrop>
159      <backdrop element="grid" inputtag="GRID.10" inputmask="0x08" >
160         <bounds x="160" y="48" width="16" height="16" />
161      </backdrop>
162      <backdrop element="grid" inputtag="GRID.11" inputmask="0x08" >
163         <bounds x="176" y="48" width="16" height="16" />
164      </backdrop>
165      <backdrop element="grid" inputtag="GRID.12" inputmask="0x08" >
166         <bounds x="192" y="48" width="16" height="16" />
167      </backdrop>
168
169      <backdrop element="grid" inputtag="GRID.0" inputmask="0x10" >
170         <bounds x="0" y="64" width="16" height="16" />
171      </backdrop>
172      <backdrop element="grid" inputtag="GRID.1" inputmask="0x10" >
173         <bounds x="16" y="64" width="16" height="16" />
174      </backdrop>
175      <backdrop element="grid" inputtag="GRID.2" inputmask="0x10" >
176         <bounds x="32" y="64" width="16" height="16" />
177      </backdrop>
178      <backdrop element="grid" inputtag="GRID.3" inputmask="0x10" >
179         <bounds x="48" y="64" width="16" height="16" />
180      </backdrop>
181      <backdrop element="grid" inputtag="GRID.4" inputmask="0x10" >
182         <bounds x="64" y="64" width="16" height="16" />
183      </backdrop>
184      <backdrop element="grid" inputtag="GRID.5" inputmask="0x10" >
185         <bounds x="80" y="64" width="16" height="16" />
186      </backdrop>
187      <backdrop element="grid" inputtag="GRID.6" inputmask="0x10" >
188         <bounds x="96" y="64" width="16" height="16" />
189      </backdrop>
190      <backdrop element="grid" inputtag="GRID.7" inputmask="0x10" >
191         <bounds x="112" y="64" width="16" height="16" />
192      </backdrop>
193      <backdrop element="grid" inputtag="GRID.8" inputmask="0x10" >
194         <bounds x="128" y="64" width="16" height="16" />
195      </backdrop>
196      <backdrop element="grid" inputtag="GRID.9" inputmask="0x10" >
197         <bounds x="144" y="64" width="16" height="16" />
198      </backdrop>
199      <backdrop element="grid" inputtag="GRID.10" inputmask="0x10" >
200         <bounds x="160" y="64" width="16" height="16" />
201      </backdrop>
202      <backdrop element="grid" inputtag="GRID.11" inputmask="0x10" >
203         <bounds x="176" y="64" width="16" height="16" />
204      </backdrop>
205      <backdrop element="grid" inputtag="GRID.12" inputmask="0x10" >
206         <bounds x="192" y="64" width="16" height="16" />
207      </backdrop>
208
209      <backdrop element="grid" inputtag="GRID.0" inputmask="0x20" >
210         <bounds x="0" y="80" width="16" height="16" />
211      </backdrop>
212      <backdrop element="grid" inputtag="GRID.1" inputmask="0x20" >
213         <bounds x="16" y="80" width="16" height="16" />
214      </backdrop>
215      <backdrop element="grid" inputtag="GRID.2" inputmask="0x20" >
216         <bounds x="32" y="80" width="16" height="16" />
217      </backdrop>
218      <backdrop element="grid" inputtag="GRID.3" inputmask="0x20" >
219         <bounds x="48" y="80" width="16" height="16" />
220      </backdrop>
221      <backdrop element="grid" inputtag="GRID.4" inputmask="0x20" >
222         <bounds x="64" y="80" width="16" height="16" />
223      </backdrop>
224      <backdrop element="grid" inputtag="GRID.5" inputmask="0x20" >
225         <bounds x="80" y="80" width="16" height="16" />
226      </backdrop>
227      <backdrop element="grid" inputtag="GRID.6" inputmask="0x20" >
228         <bounds x="96" y="80" width="16" height="16" />
229      </backdrop>
230      <backdrop element="grid" inputtag="GRID.7" inputmask="0x20" >
231         <bounds x="112" y="80" width="16" height="16" />
232      </backdrop>
233      <backdrop element="grid" inputtag="GRID.8" inputmask="0x20" >
234         <bounds x="128" y="80" width="16" height="16" />
235      </backdrop>
236      <backdrop element="grid" inputtag="GRID.9" inputmask="0x20" >
237         <bounds x="144" y="80" width="16" height="16" />
238      </backdrop>
239      <backdrop element="grid" inputtag="GRID.10" inputmask="0x20" >
240         <bounds x="160" y="80" width="16" height="16" />
241      </backdrop>
242      <backdrop element="grid" inputtag="GRID.11" inputmask="0x20" >
243         <bounds x="176" y="80" width="16" height="16" />
244      </backdrop>
245      <backdrop element="grid" inputtag="GRID.12" inputmask="0x20" >
246         <bounds x="192" y="80" width="16" height="16" />
247      </backdrop>
248
249      <backdrop element="grid" inputtag="GRID.0" inputmask="0x40" >
250         <bounds x="0" y="96" width="16" height="16" />
251      </backdrop>
252      <backdrop element="grid" inputtag="GRID.1" inputmask="0x40" >
253         <bounds x="16" y="96" width="16" height="16" />
254      </backdrop>
255      <backdrop element="grid" inputtag="GRID.2" inputmask="0x40" >
256         <bounds x="32" y="96" width="16" height="16" />
257      </backdrop>
258      <backdrop element="grid" inputtag="GRID.3" inputmask="0x40" >
259         <bounds x="48" y="96" width="16" height="16" />
260      </backdrop>
261      <backdrop element="grid" inputtag="GRID.4" inputmask="0x40" >
262         <bounds x="64" y="96" width="16" height="16" />
263      </backdrop>
264      <backdrop element="grid" inputtag="GRID.5" inputmask="0x40" >
265         <bounds x="80" y="96" width="16" height="16" />
266      </backdrop>
267      <backdrop element="grid" inputtag="GRID.6" inputmask="0x40" >
268         <bounds x="96" y="96" width="16" height="16" />
269      </backdrop>
270      <backdrop element="grid" inputtag="GRID.7" inputmask="0x40" >
271         <bounds x="112" y="96" width="16" height="16" />
272      </backdrop>
273      <backdrop element="grid" inputtag="GRID.8" inputmask="0x40" >
274         <bounds x="128" y="96" width="16" height="16" />
275      </backdrop>
276      <backdrop element="grid" inputtag="GRID.9" inputmask="0x40" >
277         <bounds x="144" y="96" width="16" height="16" />
278      </backdrop>
279      <backdrop element="grid" inputtag="GRID.10" inputmask="0x40" >
280         <bounds x="160" y="96" width="16" height="16" />
281      </backdrop>
282      <backdrop element="grid" inputtag="GRID.11" inputmask="0x40" >
283         <bounds x="176" y="96" width="16" height="16" />
284      </backdrop>
285      <backdrop element="grid" inputtag="GRID.12" inputmask="0x40" >
286         <bounds x="192" y="96" width="16" height="16" />
287      </backdrop>
288
289      <backdrop element="grid" inputtag="GRID.0" inputmask="0x80" >
290         <bounds x="0" y="112" width="16" height="16" />
291      </backdrop>
292      <backdrop element="grid" inputtag="GRID.1" inputmask="0x80" >
293         <bounds x="16" y="112" width="16" height="16" />
294      </backdrop>
295      <backdrop element="grid" inputtag="GRID.2" inputmask="0x80" >
296         <bounds x="32" y="112" width="16" height="16" />
297      </backdrop>
298      <backdrop element="grid" inputtag="GRID.3" inputmask="0x80" >
299         <bounds x="48" y="112" width="16" height="16" />
300      </backdrop>
301      <backdrop element="grid" inputtag="GRID.4" inputmask="0x80" >
302         <bounds x="64" y="112" width="16" height="16" />
303      </backdrop>
304      <backdrop element="grid" inputtag="GRID.5" inputmask="0x80" >
305         <bounds x="80" y="112" width="16" height="16" />
306      </backdrop>
307      <backdrop element="grid" inputtag="GRID.6" inputmask="0x80" >
308         <bounds x="96" y="112" width="16" height="16" />
309      </backdrop>
310      <backdrop element="grid" inputtag="GRID.7" inputmask="0x80" >
311         <bounds x="112" y="112" width="16" height="16" />
312      </backdrop>
313      <backdrop element="grid" inputtag="GRID.8" inputmask="0x80" >
314         <bounds x="128" y="112" width="16" height="16" />
315      </backdrop>
316      <backdrop element="grid" inputtag="GRID.9" inputmask="0x80" >
317         <bounds x="144" y="112" width="16" height="16" />
318      </backdrop>
319      <backdrop element="grid" inputtag="GRID.10" inputmask="0x80" >
320         <bounds x="160" y="112" width="16" height="16" />
321      </backdrop>
322      <backdrop element="grid" inputtag="GRID.11" inputmask="0x80" >
323         <bounds x="176" y="112" width="16" height="16" />
324      </backdrop>
325      <backdrop element="grid" inputtag="GRID.12" inputmask="0x80" >
326         <bounds x="192" y="112" width="16" height="16" />
327      </backdrop>
328
329      <backdrop element="grid" inputtag="GRID.0" inputmask="0x100" >
330         <bounds x="0" y="128" width="16" height="16" />
331      </backdrop>
332      <backdrop element="grid" inputtag="GRID.1" inputmask="0x100" >
333         <bounds x="16" y="128" width="16" height="16" />
334      </backdrop>
335      <backdrop element="grid" inputtag="GRID.2" inputmask="0x100" >
336         <bounds x="32" y="128" width="16" height="16" />
337      </backdrop>
338      <backdrop element="grid" inputtag="GRID.3" inputmask="0x100" >
339         <bounds x="48" y="128" width="16" height="16" />
340      </backdrop>
341      <backdrop element="grid" inputtag="GRID.4" inputmask="0x100" >
342         <bounds x="64" y="128" width="16" height="16" />
343      </backdrop>
344      <backdrop element="grid" inputtag="GRID.5" inputmask="0x100" >
345         <bounds x="80" y="128" width="16" height="16" />
346      </backdrop>
347      <backdrop element="grid" inputtag="GRID.6" inputmask="0x100" >
348         <bounds x="96" y="128" width="16" height="16" />
349      </backdrop>
350      <backdrop element="grid" inputtag="GRID.7" inputmask="0x100" >
351         <bounds x="112" y="128" width="16" height="16" />
352      </backdrop>
353      <backdrop element="grid" inputtag="GRID.8" inputmask="0x100" >
354         <bounds x="128" y="128" width="16" height="16" />
355      </backdrop>
356      <backdrop element="grid" inputtag="GRID.9" inputmask="0x100" >
357         <bounds x="144" y="128" width="16" height="16" />
358      </backdrop>
359      <backdrop element="grid" inputtag="GRID.10" inputmask="0x100" >
360         <bounds x="160" y="128" width="16" height="16" />
361      </backdrop>
362      <backdrop element="grid" inputtag="GRID.11" inputmask="0x100" >
363         <bounds x="176" y="128" width="16" height="16" />
364      </backdrop>
365      <backdrop element="grid" inputtag="GRID.12" inputmask="0x100" >
366         <bounds x="192" y="128" width="16" height="16" />
367      </backdrop>
368
369      <backdrop element="grid" inputtag="GRID.0" inputmask="0x200" >
370         <bounds x="0" y="144" width="16" height="16" />
371      </backdrop>
372      <backdrop element="grid" inputtag="GRID.1" inputmask="0x200" >
373         <bounds x="16" y="144" width="16" height="16" />
374      </backdrop>
375      <backdrop element="grid" inputtag="GRID.2" inputmask="0x200" >
376         <bounds x="32" y="144" width="16" height="16" />
377      </backdrop>
378      <backdrop element="grid" inputtag="GRID.3" inputmask="0x200" >
379         <bounds x="48" y="144" width="16" height="16" />
380      </backdrop>
381      <backdrop element="grid" inputtag="GRID.4" inputmask="0x200" >
382         <bounds x="64" y="144" width="16" height="16" />
383      </backdrop>
384      <backdrop element="grid" inputtag="GRID.5" inputmask="0x200" >
385         <bounds x="80" y="144" width="16" height="16" />
386      </backdrop>
387      <backdrop element="grid" inputtag="GRID.6" inputmask="0x200" >
388         <bounds x="96" y="144" width="16" height="16" />
389      </backdrop>
390      <backdrop element="grid" inputtag="GRID.7" inputmask="0x200" >
391         <bounds x="112" y="144" width="16" height="16" />
392      </backdrop>
393      <backdrop element="grid" inputtag="GRID.8" inputmask="0x200" >
394         <bounds x="128" y="144" width="16" height="16" />
395      </backdrop>
396      <backdrop element="grid" inputtag="GRID.9" inputmask="0x200" >
397         <bounds x="144" y="144" width="16" height="16" />
398      </backdrop>
399      <backdrop element="grid" inputtag="GRID.10" inputmask="0x200" >
400         <bounds x="160" y="144" width="16" height="16" />
401      </backdrop>
402      <backdrop element="grid" inputtag="GRID.11" inputmask="0x200" >
403         <bounds x="176" y="144" width="16" height="16" />
404      </backdrop>
405      <backdrop element="grid" inputtag="GRID.12" inputmask="0x200" >
406         <bounds x="192" y="144" width="16" height="16" />
407      </backdrop>
408      <screen index="0">
409         <bounds left="0" top="0" right="208" bottom="160" />
410      </screen>
411
412   </view>
413</mamelayout>
No newline at end of file
trunk/src/mess/machine/gamecom.c
r241878r241879
6262
6363void gamecom_state::handle_stylus_press( int column )
6464{
65   static const UINT16 row_data[17] = { 0x3FE, 0x3FD, 0x3FB, 0x3F7, 0x3EF, 0x3DF, 0x3BF, 0x37F, 0x2FF, 0x1FF };
66
67   if ( column == 0 )
65   UINT16 data = m_io_grid[column]->read();
66   if (data)
6867   {
69      if ( !BIT( m_io_in2->read(), 2) )
70      {
71         m_stylus_x = m_io_styx->read() >> 4;
72         m_stylus_y = m_io_styy->read() >> 4;
73      }
74      else
75      {
76         m_stylus_x = 16;
77         m_stylus_y = 16;
78      }
68      UINT16 stylus_y = data ^ 0x3ff;
69      m_p_ram[SM8521_P0] = stylus_y;
70      m_p_ram[SM8521_P1] = ( m_p_ram[SM8521_P1] & 0xFC ) | ( stylus_y >> 8 );
7971   }
80
81   if ( m_stylus_x == column )
82   {
83      m_p_ram[SM8521_P0] = row_data[m_stylus_y];
84      m_p_ram[SM8521_P1] = ( m_p_ram[SM8521_P1] & 0xFC ) | ( ( row_data[m_stylus_y] >> 8 ) & 3 );
85   }
8672   else
8773   {
8874      m_p_ram[SM8521_P0] = 0xFF;
89      m_p_ram[SM8521_P1] = ( m_p_ram[SM8521_P1] & 0xFC ) | 3;
75      m_p_ram[SM8521_P1] |= 3;
9076   }
9177}
9278
trunk/src/mess/mess.mak
r241878r241879
20862086$(MESS_DRIVERS)/fidelz80.o: $(MESS_LAYOUT)/fidelz80.lh \
20872087                     $(MESS_LAYOUT)/bridgec3.lh \
20882088                     $(MESS_LAYOUT)/vsc.lh
2089$(MESS_DRIVERS)/gamecom.o:  $(MESS_LAYOUT)/gamecom.lh
20892090$(MESS_DRIVERS)/glasgow.o:  $(MESS_LAYOUT)/glasgow.lh
20902091$(MESS_DRIVERS)/h8.o:       $(MESS_LAYOUT)/h8.lh
20912092$(MESS_DRIVERS)/ie15.o:     $(MESS_LAYOUT)/ie15.lh


Previous 199869 Revisions Next


© 1997-2024 The MAME Team