~ubuntu-branches/ubuntu/raring/mame/raring-proposed

« back to all changes in this revision

Viewing changes to mess/src/mame/drivers/unico.c

  • Committer: Package Import Robot
  • Author(s): Jordi Mallach, Jordi Mallach, Emmanuel Kasper
  • Date: 2011-12-19 22:56:27 UTC
  • mfrom: (0.1.2)
  • Revision ID: package-import@ubuntu.com-20111219225627-ub5oga1oys4ogqzm
Tags: 0.144-1
[ Jordi Mallach ]
* Fix syntax errors in DEP5 copyright file (lintian).
* Use a versioned copyright Format specification field.
* Update Vcs-* URLs.
* Move transitional packages to the new metapackages section, and make
  them priority extra.
* Remove references to GNU/Linux and MESS sources from copyright.
* Add build variables for s390x.
* Use .xz tarballs as it cuts 4MB for the upstream sources.
* Add nplayers.ini as a patch. Update copyright file to add CC-BY-SA-3.0.

[ Emmanuel Kasper ]
* New upstream release. Closes: #651538.
* Add Free Desktop compliant png icons of various sizes taken from
  the hydroxygen iconset
* Mess is now built from a new source package, to avoid possible source
  incompatibilities between mame and the mess overlay.
* Mame-tools are not built from the mame source package anymore, but
  from the mess source package

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/***************************************************************************
2
 
 
3
 
                              -= Unico Games =-
4
 
 
5
 
                    driver by   Luca Elia (l.elia@tin.it)
6
 
 
7
 
 
8
 
CPU         :   M68000 or M68EC020
9
 
Sound Chips :   OKI M6295 (AD-65) + YM3812 (K-666) or YM2151
10
 
Video Chips :   3 x Actel A1020B (Square 84 Pin Socketed) [Or A40MX04-F]
11
 
                MACH211 (Square 44 Pin Socketed) [Or MACH210-15JC]
12
 
 
13
 
 
14
 
---------------------------------------------------------------------------
15
 
Year + Game         PCB             Notes
16
 
---------------------------------------------------------------------------
17
 
97  Burglar X       ?
18
 
98  Zero Point      ZPM1001A/B      Has Light Guns.
19
 
99  Zero Point 2    UZP21001A/B     Has Light Guns.
20
 
---------------------------------------------------------------------------
21
 
 
22
 
 
23
 
***************************************************************************/
24
 
 
25
 
#include "emu.h"
26
 
#include "cpu/m68000/m68000.h"
27
 
#include "machine/eeprom.h"
28
 
#include "includes/unico.h"
29
 
#include "sound/2151intf.h"
30
 
#include "sound/3812intf.h"
31
 
#include "sound/okim6295.h"
32
 
 
33
 
/***************************************************************************
34
 
 
35
 
 
36
 
                                Memory Maps
37
 
 
38
 
 
39
 
***************************************************************************/
40
 
 
41
 
/*
42
 
 Lines starting with an empty comment in the following MemoryReadAddress
43
 
 arrays are there for debug (e.g. the game does not read from those ranges
44
 
 AFAIK)
45
 
*/
46
 
 
47
 
/***************************************************************************
48
 
                                Burglar X
49
 
***************************************************************************/
50
 
 
51
 
static WRITE16_DEVICE_HANDLER( burglarx_sound_bank_w )
52
 
{
53
 
        if (ACCESSING_BITS_8_15)
54
 
        {
55
 
                int bank = (data >> 8 ) & 1;
56
 
                downcast<okim6295_device *>(device)->set_bank_base(0x40000 * bank );
57
 
        }
58
 
}
59
 
 
60
 
static ADDRESS_MAP_START( burglarx_map, AS_PROGRAM, 16 )
61
 
        AM_RANGE(0x000000, 0x0fffff) AM_ROM                                                                                                             // ROM
62
 
        AM_RANGE(0xff0000, 0xffffff) AM_RAM                                                                                                             // RAM
63
 
        AM_RANGE(0x800000, 0x800001) AM_READ_PORT("INPUTS")
64
 
        AM_RANGE(0x800018, 0x800019) AM_READ_PORT("SYSTEM")
65
 
        AM_RANGE(0x80001a, 0x80001b) AM_READ_PORT("DSW1")
66
 
        AM_RANGE(0x80001c, 0x80001d) AM_READ_PORT("DSW2")
67
 
        AM_RANGE(0x800030, 0x800031) AM_WRITENOP                                                                                                // ? 0
68
 
        AM_RANGE(0x80010c, 0x800121) AM_WRITEONLY AM_BASE_MEMBER(unico_state, m_scroll)                         // Scroll
69
 
        AM_RANGE(0x800188, 0x800189) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff)       // Sound
70
 
        AM_RANGE(0x80018a, 0x80018b) AM_DEVWRITE8("ymsnd", ym3812_write_port_w, 0xff00                  )       //
71
 
        AM_RANGE(0x80018c, 0x80018d) AM_DEVREADWRITE8("ymsnd", ym3812_status_port_r, ym3812_control_port_w, 0xff00              )       //
72
 
        AM_RANGE(0x80018e, 0x80018f) AM_DEVWRITE("oki", burglarx_sound_bank_w)                                  //
73
 
        AM_RANGE(0x8001e0, 0x8001e1) AM_WRITENOP                                                                                                // IRQ Ack
74
 
        AM_RANGE(0x904000, 0x90ffff) AM_RAM_WRITE(unico_vram_w) AM_BASE_MEMBER(unico_state, m_vram)             // Layers 1, 2, 0
75
 
        AM_RANGE(0x920000, 0x923fff) AM_RAM                                                                                                             // ? 0
76
 
        AM_RANGE(0x930000, 0x9307ff) AM_RAM AM_BASE_SIZE_MEMBER(unico_state, m_spriteram, m_spriteram_size)     // Sprites
77
 
        AM_RANGE(0x940000, 0x947fff) AM_RAM_WRITE(unico_palette_w) AM_BASE_GENERIC(paletteram)  // Palette
78
 
ADDRESS_MAP_END
79
 
 
80
 
 
81
 
 
82
 
/***************************************************************************
83
 
                                Zero Point
84
 
***************************************************************************/
85
 
 
86
 
static WRITE16_HANDLER( zeropnt_sound_bank_w )
87
 
{
88
 
        if (ACCESSING_BITS_8_15)
89
 
        {
90
 
                /* Banked sound samples. The 3rd quarter of the ROM
91
 
           contains garbage. Indeed, only banks 0&1 are used */
92
 
 
93
 
                int bank = (data >> 8 ) & 1;
94
 
                UINT8 *dst      = space->machine().region("oki")->base();
95
 
                UINT8 *src      = dst + 0x80000 + 0x20000 + 0x20000 * bank;
96
 
                memcpy(dst + 0x20000, src, 0x20000);
97
 
 
98
 
                coin_counter_w(space->machine(), 0,data & 0x1000);
99
 
                set_led_status(space->machine(), 0,data & 0x0800);      // Start 1
100
 
                set_led_status(space->machine(), 1,data & 0x0400);      // Start 2
101
 
        }
102
 
}
103
 
 
104
 
/* Light Gun - need to wiggle the input slightly otherwise fire doesn't work */
105
 
static READ16_HANDLER( unico_gunx_0_msb_r )
106
 
{
107
 
        int x=input_port_read(space->machine(), "X0");
108
 
 
109
 
        x=x*384/256; /* On screen pixel X */
110
 
        if (x<0x160) x=0x30 + (x*0xd0/0x15f);
111
 
        else x=((x-0x160) * 0x20)/0x1f;
112
 
 
113
 
        return ((x&0xff) ^ (space->machine().primary_screen->frame_number()&1))<<8;
114
 
}
115
 
 
116
 
static READ16_HANDLER( unico_guny_0_msb_r )
117
 
{
118
 
        int y=input_port_read(space->machine(), "Y0");
119
 
 
120
 
        y=0x18+((y*0xe0)/0xff);
121
 
 
122
 
        return ((y&0xff) ^ (space->machine().primary_screen->frame_number()&1))<<8;
123
 
}
124
 
 
125
 
static READ16_HANDLER( unico_gunx_1_msb_r )
126
 
{
127
 
        int x=input_port_read(space->machine(), "X1");
128
 
 
129
 
        x=x*384/256; /* On screen pixel X */
130
 
        if (x<0x160) x=0x30 + (x*0xd0/0x15f);
131
 
        else x=((x-0x160) * 0x20)/0x1f;
132
 
 
133
 
        return ((x&0xff) ^ (space->machine().primary_screen->frame_number()&1))<<8;
134
 
}
135
 
 
136
 
static READ16_HANDLER( unico_guny_1_msb_r )
137
 
{
138
 
        int y=input_port_read(space->machine(), "Y1");
139
 
 
140
 
        y=0x18+((y*0xe0)/0xff);
141
 
 
142
 
        return ((y&0xff) ^ (space->machine().primary_screen->frame_number()&1))<<8;
143
 
}
144
 
 
145
 
static ADDRESS_MAP_START( zeropnt_map, AS_PROGRAM, 16 )
146
 
        AM_RANGE(0x000000, 0x0fffff) AM_ROM     // ROM
147
 
        AM_RANGE(0xef0000, 0xefffff) AM_RAM     // RAM
148
 
        AM_RANGE(0x800030, 0x800031) AM_WRITENOP        // ? 0
149
 
        AM_RANGE(0x800018, 0x800019) AM_READ_PORT("INPUTS")
150
 
        AM_RANGE(0x80001a, 0x80001b) AM_READ_PORT("DSW1")
151
 
        AM_RANGE(0x80001c, 0x80001d) AM_READ_PORT("DSW2")
152
 
        AM_RANGE(0x80010c, 0x800121) AM_WRITEONLY AM_BASE_MEMBER(unico_state, m_scroll) // Scroll
153
 
        AM_RANGE(0x800170, 0x800171) AM_READ(unico_guny_0_msb_r                 )       // Light Guns
154
 
        AM_RANGE(0x800174, 0x800175) AM_READ(unico_gunx_0_msb_r                 )       //
155
 
        AM_RANGE(0x800178, 0x800179) AM_READ(unico_guny_1_msb_r                 )       //
156
 
        AM_RANGE(0x80017c, 0x80017d) AM_READ(unico_gunx_1_msb_r                 )       //
157
 
        AM_RANGE(0x800188, 0x800189) AM_DEVREADWRITE8_MODERN("oki", okim6295_device, read, write, 0x00ff                                )       // Sound
158
 
        AM_RANGE(0x80018a, 0x80018b) AM_DEVWRITE8("ymsnd", ym3812_write_port_w, 0xff00                  )       //
159
 
        AM_RANGE(0x80018c, 0x80018d) AM_DEVREADWRITE8("ymsnd", ym3812_status_port_r, ym3812_control_port_w, 0xff00              )       //
160
 
        AM_RANGE(0x80018e, 0x80018f) AM_WRITE(zeropnt_sound_bank_w                              )       //
161
 
        AM_RANGE(0x8001e0, 0x8001e1) AM_WRITEONLY       // ? IRQ Ack
162
 
        AM_RANGE(0x904000, 0x90ffff) AM_RAM_WRITE(unico_vram_w) AM_BASE_MEMBER(unico_state, m_vram)     // Layers 1, 2, 0
163
 
        AM_RANGE(0x920000, 0x923fff) AM_RAM     // ? 0
164
 
        AM_RANGE(0x930000, 0x9307ff) AM_RAM AM_BASE_SIZE_MEMBER(unico_state, m_spriteram, m_spriteram_size)     // Sprites
165
 
        AM_RANGE(0x940000, 0x947fff) AM_RAM_WRITE(unico_palette_w) AM_BASE_GENERIC(paletteram)  // Palette
166
 
ADDRESS_MAP_END
167
 
 
168
 
 
169
 
/***************************************************************************
170
 
                                Zero Point 2
171
 
***************************************************************************/
172
 
 
173
 
static READ32_HANDLER( zeropnt2_gunx_0_msb_r )          { return (unico_gunx_0_msb_r(space,0,0xffff)-0x0800) << 16; }
174
 
static READ32_HANDLER( zeropnt2_guny_0_msb_r )          { return (unico_guny_0_msb_r(space,0,0xffff)+0x0800) << 16; }
175
 
static READ32_HANDLER( zeropnt2_gunx_1_msb_r )          { return (unico_gunx_1_msb_r(space,0,0xffff)-0x0800) << 16; }
176
 
static READ32_HANDLER( zeropnt2_guny_1_msb_r )          { return (unico_guny_1_msb_r(space,0,0xffff)+0x0800) << 16; }
177
 
 
178
 
static WRITE32_HANDLER( zeropnt2_sound_bank_w )
179
 
{
180
 
        if (ACCESSING_BITS_24_31)
181
 
        {
182
 
                int bank = ((data >> 24) & 3) % 4;
183
 
                UINT8 *dst      = space->machine().region("oki1")->base();
184
 
                UINT8 *src      = dst + 0x80000 + 0x20000 + 0x20000 * bank;
185
 
                memcpy(dst + 0x20000, src, 0x20000);
186
 
        }
187
 
}
188
 
 
189
 
static WRITE32_HANDLER( zeropnt2_leds_w )
190
 
{
191
 
        if (ACCESSING_BITS_16_23)
192
 
        {
193
 
                coin_counter_w(space->machine(), 0,data & 0x00010000);
194
 
                set_led_status(space->machine(), 0,data & 0x00800000);  // Start 1
195
 
                set_led_status(space->machine(), 1,data & 0x00400000);  // Start 2
196
 
        }
197
 
}
198
 
 
199
 
static WRITE32_DEVICE_HANDLER( zeropnt2_eeprom_w )
200
 
{
201
 
        if (data & ~0xfe00000)
202
 
                logerror("%s - Unknown EEPROM bit written %04X\n",device->machine().describe_context(),data);
203
 
 
204
 
        if ( ACCESSING_BITS_24_31 )
205
 
        {
206
 
                // latch the bit
207
 
                eeprom_device *eeprom = downcast<eeprom_device *>(device);
208
 
                eeprom->write_bit(data & 0x04000000);
209
 
 
210
 
                // reset line asserted: reset.
211
 
                eeprom->set_cs_line((data & 0x01000000) ? CLEAR_LINE : ASSERT_LINE);
212
 
 
213
 
                // clock line asserted: write latch or select next bit to read
214
 
                eeprom->set_clock_line((data & 0x02000000) ? ASSERT_LINE : CLEAR_LINE );
215
 
        }
216
 
}
217
 
 
218
 
static ADDRESS_MAP_START( zeropnt2_map, AS_PROGRAM, 32 )
219
 
        AM_RANGE(0x000000, 0x1fffff) AM_ROM                                                                                             // ROM
220
 
        AM_RANGE(0x800018, 0x80001b) AM_READ_PORT("SYSTEM")
221
 
        AM_RANGE(0x800024, 0x800027) AM_DEVREADWRITE8_MODERN("oki1", okim6295_device, read, write, 0x00ff0000   )       // Sound
222
 
        AM_RANGE(0x800028, 0x80002f) AM_DEVREADWRITE8("ymsnd", ym2151_r, ym2151_w, 0x00ff0000)  //
223
 
        AM_RANGE(0x800030, 0x800033) AM_DEVREADWRITE8_MODERN("oki2", okim6295_device, read, write, 0x00ff0000   )       //
224
 
        AM_RANGE(0x800034, 0x800037) AM_WRITE(zeropnt2_sound_bank_w                             )       //
225
 
        AM_RANGE(0x800038, 0x80003b) AM_WRITE(zeropnt2_leds_w                                   )       // ?
226
 
        AM_RANGE(0x80010c, 0x800123) AM_WRITEONLY AM_BASE_MEMBER(unico_state, m_scroll32                )       // Scroll
227
 
        AM_RANGE(0x800140, 0x800143) AM_READ(zeropnt2_guny_0_msb_r                      )       // Light Guns
228
 
        AM_RANGE(0x800144, 0x800147) AM_READ(zeropnt2_gunx_0_msb_r                      )       //
229
 
        AM_RANGE(0x800148, 0x80014b) AM_READ(zeropnt2_guny_1_msb_r                      )       //
230
 
        AM_RANGE(0x80014c, 0x80014f) AM_READ(zeropnt2_gunx_1_msb_r                      )       //
231
 
        AM_RANGE(0x800150, 0x800153) AM_READ_PORT("DSW1")
232
 
        AM_RANGE(0x800154, 0x800157) AM_READ_PORT("DSW2")
233
 
        AM_RANGE(0x80015c, 0x80015f) AM_READ_PORT("BUTTONS")
234
 
        AM_RANGE(0x8001e0, 0x8001e3) AM_WRITENOP                                                                        // ? IRQ Ack
235
 
        AM_RANGE(0x8001f0, 0x8001f3) AM_DEVWRITE("eeprom", zeropnt2_eeprom_w)                                   // EEPROM
236
 
        AM_RANGE(0x904000, 0x90ffff) AM_RAM_WRITE(unico_vram32_w) AM_BASE_MEMBER(unico_state, m_vram32) // Layers 1, 2, 0
237
 
        AM_RANGE(0x920000, 0x923fff) AM_RAM                                                                                     // ? 0
238
 
        AM_RANGE(0x930000, 0x9307ff) AM_RAM AM_BASE_SIZE_MEMBER(unico_state, m_spriteram, m_spriteram_size)     // Sprites
239
 
        AM_RANGE(0x940000, 0x947fff) AM_RAM_WRITE(unico_palette32_w) AM_BASE_GENERIC(paletteram )       // Palette
240
 
        AM_RANGE(0xfe0000, 0xffffff) AM_RAM                                                                                     // RAM
241
 
ADDRESS_MAP_END
242
 
 
243
 
 
244
 
/***************************************************************************
245
 
 
246
 
 
247
 
                                Input Ports
248
 
 
249
 
 
250
 
***************************************************************************/
251
 
 
252
 
/***************************************************************************
253
 
                                Burglar X
254
 
***************************************************************************/
255
 
 
256
 
static INPUT_PORTS_START( burglarx )
257
 
        PORT_START("INPUTS")    /* $800000.w */
258
 
        PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(1)
259
 
        PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1)
260
 
        PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(1)
261
 
        PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(1)
262
 
        PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
263
 
        PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
264
 
        PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1)
265
 
        PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
266
 
 
267
 
        PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2)
268
 
        PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2)
269
 
        PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_PLAYER(2)
270
 
        PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_PLAYER(2)
271
 
        PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
272
 
        PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
273
 
        PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2)
274
 
        PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
275
 
 
276
 
        PORT_START("SYSTEM")    /* $800019.b */
277
 
        PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
278
 
        PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 )
279
 
        PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_SERVICE1 )
280
 
        PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_SERVICE2 )
281
 
        PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_START1 )
282
 
        PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_START2 )
283
 
        PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
284
 
        PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
285
 
        PORT_BIT( 0xff00, IP_ACTIVE_LOW, IPT_UNKNOWN )
286
 
 
287
 
        PORT_START("DSW1")      /* $80001a.b */
288
 
        PORT_BIT( 0x00ff, IP_ACTIVE_LOW, IPT_UNKNOWN )
289
 
        PORT_SERVICE( 0x0100, IP_ACTIVE_LOW )
290
 
        PORT_DIPNAME( 0x0200, 0x0200, DEF_STR( Free_Play ) )
291
 
        PORT_DIPSETTING(      0x0200, DEF_STR( Off ) )
292
 
        PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
293
 
        PORT_DIPNAME( 0x0400, 0x0400, "Unknown 1-2" )
294
 
        PORT_DIPSETTING(      0x0400, DEF_STR( Off ) )
295
 
        PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
296
 
        PORT_DIPNAME( 0x0800, 0x0000, DEF_STR( Demo_Sounds ) )
297
 
        PORT_DIPSETTING(      0x0800, DEF_STR( Off ) )
298
 
        PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
299
 
        PORT_DIPNAME( 0x1000, 0x1000, "Unknown 1-4" )
300
 
        PORT_DIPSETTING(      0x1000, DEF_STR( Off ) )
301
 
        PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
302
 
        PORT_DIPNAME( 0xe000, 0xe000, DEF_STR( Coinage ) )
303
 
        PORT_DIPSETTING(      0x0000, DEF_STR( 5C_1C ) )
304
 
        PORT_DIPSETTING(      0x2000, DEF_STR( 4C_1C ) )
305
 
        PORT_DIPSETTING(      0x4000, DEF_STR( 3C_1C ) )
306
 
        PORT_DIPSETTING(      0x6000, DEF_STR( 2C_1C ) )
307
 
        PORT_DIPSETTING(      0xe000, DEF_STR( 1C_1C ) )
308
 
        PORT_DIPSETTING(      0xc000, DEF_STR( 1C_2C ) )
309
 
        PORT_DIPSETTING(      0xa000, DEF_STR( 1C_3C ) )
310
 
        PORT_DIPSETTING(      0x8000, DEF_STR( 1C_4C ) )
311
 
 
312
 
        PORT_START("DSW2")      /* $80001c.b */
313
 
        PORT_BIT( 0x00ff, IP_ACTIVE_LOW, IPT_UNKNOWN )
314
 
        PORT_DIPNAME( 0x0300, 0x0300, DEF_STR( Bonus_Life ) )
315
 
        PORT_DIPSETTING(      0x0200, DEF_STR( None ) )
316
 
        PORT_DIPSETTING(      0x0300, "A" )
317
 
        PORT_DIPSETTING(      0x0100, "B" )
318
 
        PORT_DIPSETTING(      0x0000, "C" )
319
 
        PORT_DIPNAME( 0x0400, 0x0400, "Unknown 2-2" )
320
 
        PORT_DIPSETTING(      0x0400, DEF_STR( Off ) )
321
 
        PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
322
 
        PORT_DIPNAME( 0x0800, 0x0800, "Energy" )
323
 
        PORT_DIPSETTING(      0x0000, "2" )
324
 
        PORT_DIPSETTING(      0x0800, "3" )
325
 
        PORT_DIPNAME( 0x3000, 0x3000, DEF_STR( Difficulty ) )
326
 
        PORT_DIPSETTING(      0x2000, DEF_STR( Easy ) )
327
 
        PORT_DIPSETTING(      0x3000, DEF_STR( Normal ) )
328
 
        PORT_DIPSETTING(      0x1000, DEF_STR( Hard ) )
329
 
        PORT_DIPSETTING(      0x0000, DEF_STR( Hardest ) )
330
 
        PORT_DIPNAME( 0xc000, 0xc000, DEF_STR( Lives ) )
331
 
        PORT_DIPSETTING(      0x8000, "2" )
332
 
        PORT_DIPSETTING(      0xc000, "3" )
333
 
        PORT_DIPSETTING(      0x4000, "4" )
334
 
        PORT_DIPSETTING(      0x0000, "5" )
335
 
INPUT_PORTS_END
336
 
 
337
 
 
338
 
 
339
 
/***************************************************************************
340
 
                                Zero Point
341
 
***************************************************************************/
342
 
 
343
 
static INPUT_PORTS_START( zeropnt )
344
 
        PORT_START("INPUTS")    /* $800018.w */
345
 
        PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_COIN1 )
346
 
        PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_COIN2 )
347
 
        PORT_SERVICE_NO_TOGGLE( 0x0004, IP_ACTIVE_HIGH )
348
 
        PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_UNKNOWN )
349
 
        PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_START1 )
350
 
        PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_START2 )
351
 
        PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_UNKNOWN )
352
 
        PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_SERVICE1 )
353
 
 
354
 
        PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
355
 
        PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
356
 
        PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNKNOWN )
357
 
        PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN )
358
 
        PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN )
359
 
        PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN )
360
 
        PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
361
 
        PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
362
 
 
363
 
 
364
 
        PORT_START("DSW1")      /* $80001a.b */
365
 
        PORT_BIT( 0x00ff, IP_ACTIVE_HIGH, IPT_UNKNOWN )
366
 
        PORT_DIPNAME( 0x0100, 0x0000, DEF_STR( Unused ) )
367
 
        PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
368
 
        PORT_DIPSETTING(      0x0100, DEF_STR( On ) )
369
 
        PORT_DIPNAME( 0x0200, 0x0000, DEF_STR( Free_Play ) )
370
 
        PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
371
 
        PORT_DIPSETTING(      0x0200, DEF_STR( On ) )
372
 
        PORT_DIPNAME( 0x0400, 0x0000, DEF_STR( Unused ) )
373
 
        PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
374
 
        PORT_DIPSETTING(      0x0400, DEF_STR( On ) )
375
 
        PORT_DIPNAME( 0x0800, 0x0800, DEF_STR( Demo_Sounds ) )
376
 
        PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
377
 
        PORT_DIPSETTING(      0x0800, DEF_STR( On ) )
378
 
        PORT_DIPNAME( 0x1000, 0x0000, DEF_STR( Unused ) )
379
 
        PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
380
 
        PORT_DIPSETTING(      0x1000, DEF_STR( On ) )
381
 
        PORT_DIPNAME( 0xe000, 0x0000, DEF_STR( Coinage ) )
382
 
        PORT_DIPSETTING(      0xe000, DEF_STR( 5C_1C ) )
383
 
        PORT_DIPSETTING(      0xc000, DEF_STR( 4C_1C ) )
384
 
        PORT_DIPSETTING(      0xa000, DEF_STR( 3C_1C ) )
385
 
        PORT_DIPSETTING(      0x8000, DEF_STR( 2C_1C ) )
386
 
        PORT_DIPSETTING(      0x0000, DEF_STR( 1C_1C ) )
387
 
        PORT_DIPSETTING(      0x2000, DEF_STR( 1C_2C ) )
388
 
        PORT_DIPSETTING(      0x4000, DEF_STR( 1C_3C ) )
389
 
        PORT_DIPSETTING(      0x6000, DEF_STR( 1C_4C ) )
390
 
 
391
 
        PORT_START("DSW2")      /* $80001c.b */
392
 
        PORT_BIT( 0x00ff, IP_ACTIVE_HIGH, IPT_UNKNOWN )
393
 
        PORT_DIPNAME( 0x0100, 0x0000, DEF_STR( Unused ) )
394
 
        PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
395
 
        PORT_DIPSETTING(      0x0100, DEF_STR( On ) )
396
 
        PORT_DIPNAME( 0x0200, 0x0000, DEF_STR( Unused ) )
397
 
        PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
398
 
        PORT_DIPSETTING(      0x0200, DEF_STR( On ) )
399
 
        PORT_DIPNAME( 0x0400, 0x0000, DEF_STR( Unused ) )
400
 
        PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
401
 
        PORT_DIPSETTING(      0x0400, DEF_STR( On ) )
402
 
        PORT_DIPNAME( 0x0800, 0x0000, DEF_STR( Unused ) )
403
 
        PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
404
 
        PORT_DIPSETTING(      0x0800, DEF_STR( On ) )
405
 
        PORT_DIPNAME( 0x3000, 0x0000, DEF_STR( Difficulty ) )
406
 
        PORT_DIPSETTING(      0x1000, DEF_STR( Easy ) )
407
 
        PORT_DIPSETTING(      0x0000, DEF_STR( Normal ) )
408
 
        PORT_DIPSETTING(      0x2000, DEF_STR( Hard ) )
409
 
        PORT_DIPNAME( 0xc000, 0x0000, DEF_STR( Lives ) )
410
 
        PORT_DIPSETTING(      0x4000, "2" )
411
 
        PORT_DIPSETTING(      0x0000, "3" )
412
 
        PORT_DIPSETTING(      0x8000, "4" )
413
 
        PORT_DIPSETTING(      0xc000, "5" )
414
 
 
415
 
        PORT_START("Y0")        /* $800170.b */
416
 
        PORT_BIT( 0xff, 0x80, IPT_LIGHTGUN_Y ) PORT_CROSSHAIR(Y, 1.0, 0.0, 0) PORT_SENSITIVITY(35) PORT_KEYDELTA(15) PORT_PLAYER(2)
417
 
 
418
 
        PORT_START("X0")        /* $800174.b */
419
 
        PORT_BIT( 0xff, 0x80, IPT_LIGHTGUN_X ) PORT_CROSSHAIR(X, 1.0, 0.0, 0) PORT_SENSITIVITY(35) PORT_KEYDELTA(15) PORT_PLAYER(2)
420
 
 
421
 
        PORT_START("Y1")        /* $800178.b */
422
 
        PORT_BIT( 0xff, 0x80, IPT_LIGHTGUN_Y ) PORT_CROSSHAIR(Y, 1.0, 0.0, 0) PORT_SENSITIVITY(35) PORT_KEYDELTA(15) PORT_PLAYER(1)
423
 
 
424
 
        PORT_START("X1")        /* $80017c.b */
425
 
        PORT_BIT( 0xff, 0x80, IPT_LIGHTGUN_X ) PORT_CROSSHAIR(X, 1.0, 0.0, 0) PORT_SENSITIVITY(35) PORT_KEYDELTA(15) PORT_PLAYER(1)
426
 
INPUT_PORTS_END
427
 
 
428
 
 
429
 
 
430
 
/***************************************************************************
431
 
                                Zero Point 2
432
 
***************************************************************************/
433
 
 
434
 
static INPUT_PORTS_START( zeropnt2 )
435
 
        PORT_START("SYSTEM")    /* $800019.b */
436
 
        PORT_BIT( 0x0000ffff, IP_ACTIVE_LOW, IPT_UNUSED )
437
 
        PORT_BIT( 0x00010000, IP_ACTIVE_HIGH, IPT_COIN1 )
438
 
        PORT_BIT( 0x00020000, IP_ACTIVE_HIGH, IPT_COIN2 )
439
 
        PORT_SERVICE_NO_TOGGLE( 0x00040000, IP_ACTIVE_HIGH )
440
 
        PORT_BIT( 0x00080000, IP_ACTIVE_HIGH, IPT_UNKNOWN )
441
 
        PORT_BIT( 0x00100000, IP_ACTIVE_HIGH, IPT_START1 )
442
 
        PORT_BIT( 0x00200000, IP_ACTIVE_HIGH, IPT_START2 )
443
 
        PORT_BIT( 0x00400000, IP_ACTIVE_HIGH, IPT_UNKNOWN )
444
 
        PORT_BIT( 0x00800000, IP_ACTIVE_HIGH, IPT_SERVICE1 )
445
 
        PORT_BIT( 0xff000000, IP_ACTIVE_HIGH, IPT_UNKNOWN )
446
 
 
447
 
        PORT_START("DSW1")      /* $80001a.b */
448
 
        PORT_BIT( 0x0000ffff, IP_ACTIVE_LOW, IPT_UNUSED )
449
 
        PORT_BIT( 0x00ff0000, IP_ACTIVE_LOW, IPT_UNKNOWN )
450
 
        PORT_DIPNAME( 0x01000000, 0x01000000, DEF_STR( Free_Play ) )
451
 
        PORT_DIPSETTING(          0x01000000, DEF_STR( Off ) )
452
 
        PORT_DIPSETTING(          0x00000000, DEF_STR( On ) )
453
 
        PORT_DIPNAME( 0x02000000, 0x02000000, "? Coins To Continue ?" )
454
 
        PORT_DIPSETTING(          0x00000000, "1" )
455
 
        PORT_DIPSETTING(          0x02000000, "2" )
456
 
        PORT_DIPNAME( 0x0c000000, 0x0c000000, "Gun Reloading" )
457
 
        PORT_DIPSETTING(          0x08000000, DEF_STR(No) )
458
 
        PORT_DIPSETTING(          0x04000000, DEF_STR(Yes) )
459
 
        PORT_DIPSETTING(          0x0c000000, "Factory Setting" )
460
 
//  PORT_DIPSETTING(          0x00000000, "unused?" )
461
 
        PORT_DIPNAME( 0x10000000, 0x10000000, DEF_STR( Language ) )
462
 
        PORT_DIPSETTING(          0x10000000, DEF_STR( English ) )
463
 
        PORT_DIPSETTING(          0x00000000, DEF_STR( Japanese ) )
464
 
        PORT_DIPNAME( 0xe0000000, 0xe0000000, DEF_STR( Coinage ) )
465
 
        PORT_DIPSETTING(          0x00000000, DEF_STR( 5C_1C ) )
466
 
        PORT_DIPSETTING(          0x20000000, DEF_STR( 4C_1C ) )
467
 
        PORT_DIPSETTING(          0x40000000, DEF_STR( 3C_1C ) )
468
 
        PORT_DIPSETTING(          0x60000000, DEF_STR( 2C_1C ) )
469
 
        PORT_DIPSETTING(          0xe0000000, DEF_STR( 1C_1C ) )
470
 
        PORT_DIPSETTING(          0xc0000000, DEF_STR( 1C_2C ) )
471
 
        PORT_DIPSETTING(          0xa0000000, DEF_STR( 1C_3C ) )
472
 
        PORT_DIPSETTING(          0x80000000, DEF_STR( 1C_4C ) )
473
 
 
474
 
        PORT_START("DSW2")      /* $80001c.b */
475
 
        PORT_BIT( 0x0000ffff, IP_ACTIVE_LOW, IPT_UNUSED )
476
 
        PORT_BIT( 0x00ff0000, IP_ACTIVE_LOW, IPT_UNKNOWN )
477
 
        PORT_DIPNAME( 0x01000000, 0x01000000, "Korean Language" )
478
 
        PORT_DIPSETTING(          0x01000000, DEF_STR( Off ) )
479
 
        PORT_DIPSETTING(          0x00000000, DEF_STR( On ) )
480
 
        PORT_DIPNAME( 0x02000000, 0x00000000, DEF_STR( Demo_Sounds ) )
481
 
        PORT_DIPSETTING(          0x02000000, DEF_STR( Off ) )
482
 
        PORT_DIPSETTING(          0x00000000, DEF_STR( On ) )
483
 
        PORT_DIPNAME( 0x1c000000, 0x1c000000, DEF_STR( Lives ) )
484
 
        PORT_DIPSETTING(          0x10000000, "2" )
485
 
        PORT_DIPSETTING(          0x0c000000, "3" )
486
 
        PORT_DIPSETTING(          0x1c000000, "4" )
487
 
        PORT_DIPSETTING(          0x18000000, "5" )
488
 
        PORT_DIPSETTING(          0x14000000, "6" )
489
 
//  PORT_DIPSETTING(          0x08000000, "4" )
490
 
//  PORT_DIPSETTING(          0x04000000, "4" )
491
 
//  PORT_DIPSETTING(          0x00000000, "4" )
492
 
        PORT_DIPNAME( 0x20000000, 0x20000000, DEF_STR( Unknown ) )
493
 
        PORT_DIPSETTING(          0x20000000, DEF_STR( Off ) )
494
 
        PORT_DIPSETTING(          0x00000000, DEF_STR( On ) )
495
 
        PORT_DIPNAME( 0xc0000000, 0xc0000000, DEF_STR( Difficulty ) )
496
 
        PORT_DIPSETTING(          0x80000000, DEF_STR( Easy ) )
497
 
        PORT_DIPSETTING(          0xc0000000, DEF_STR( Normal ) )
498
 
        PORT_DIPSETTING(          0x40000000, DEF_STR( Harder ) )
499
 
        PORT_DIPSETTING(          0x00000000, DEF_STR( Hardest ) )
500
 
 
501
 
        PORT_START("BUTTONS")   /* $80015c.b */
502
 
        PORT_BIT( 0x0000ffff, IP_ACTIVE_LOW, IPT_UNUSED )
503
 
        PORT_BIT( 0x00ff0000, IP_ACTIVE_LOW, IPT_UNKNOWN )
504
 
        PORT_BIT( 0x01000000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
505
 
        PORT_BIT( 0x02000000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
506
 
        PORT_BIT( 0x04000000, IP_ACTIVE_LOW, IPT_UNKNOWN )
507
 
        PORT_BIT( 0x08000000, IP_ACTIVE_LOW, IPT_UNKNOWN )
508
 
        PORT_BIT( 0x10000000, IP_ACTIVE_LOW, IPT_UNKNOWN )
509
 
        PORT_BIT( 0x20000000, IP_ACTIVE_LOW, IPT_UNKNOWN )
510
 
        PORT_BIT( 0x40000000, IP_ACTIVE_LOW, IPT_UNKNOWN )
511
 
        PORT_BIT( 0x80000000, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE_MEMBER("eeprom", eeprom_device, read_bit)     // EEPROM
512
 
 
513
 
        PORT_START("Y0")        /* $800140.b */
514
 
        PORT_BIT( 0xff, 0x80, IPT_LIGHTGUN_Y ) PORT_CROSSHAIR(Y, 1.0, 0.0, 0) PORT_SENSITIVITY(35) PORT_KEYDELTA(15) PORT_PLAYER(2)
515
 
 
516
 
        PORT_START("X0")        /* $800144.b */
517
 
        PORT_BIT( 0xff, 0x80, IPT_LIGHTGUN_X ) PORT_CROSSHAIR(X, 1.0, 0.0, 0) PORT_SENSITIVITY(35) PORT_KEYDELTA(15) PORT_PLAYER(2)
518
 
 
519
 
        PORT_START("Y1")        /* $800148.b */
520
 
        PORT_BIT( 0xff, 0x80, IPT_LIGHTGUN_Y ) PORT_CROSSHAIR(Y, 1.0, 0.0, 0) PORT_SENSITIVITY(35) PORT_KEYDELTA(15) PORT_PLAYER(1)
521
 
 
522
 
        PORT_START("X1")        /* $80014c.b */
523
 
        PORT_BIT( 0xff, 0x80, IPT_LIGHTGUN_X ) PORT_CROSSHAIR(X, 1.0, 0.0, 0) PORT_SENSITIVITY(35) PORT_KEYDELTA(15) PORT_PLAYER(1)
524
 
INPUT_PORTS_END
525
 
 
526
 
 
527
 
 
528
 
/***************************************************************************
529
 
 
530
 
 
531
 
                            Graphics Layouts
532
 
 
533
 
 
534
 
***************************************************************************/
535
 
 
536
 
/* 16x16x8 */
537
 
static const gfx_layout layout_16x16x8 =
538
 
{
539
 
        16,16,
540
 
        RGN_FRAC(1,4),
541
 
        8,
542
 
        {       RGN_FRAC(3,4)+8,        RGN_FRAC(3,4)+0,
543
 
                RGN_FRAC(2,4)+8,        RGN_FRAC(2,4)+0,
544
 
                RGN_FRAC(1,4)+8,        RGN_FRAC(1,4)+0,
545
 
                RGN_FRAC(0,4)+8,        RGN_FRAC(0,4)+0 },
546
 
        {       STEP8(0,1),             STEP8(16,1)             },
547
 
        {       STEP16(0,16*2)                                          },
548
 
        16*16*2
549
 
};
550
 
 
551
 
static GFXDECODE_START( unico )
552
 
        GFXDECODE_ENTRY( "gfx1", 0, layout_16x16x8, 0x0, 0x20 ) // [0] Sprites
553
 
        GFXDECODE_ENTRY( "gfx2", 0, layout_16x16x8, 0x0, 0x20 ) // [1] Layers
554
 
GFXDECODE_END
555
 
 
556
 
 
557
 
 
558
 
/***************************************************************************
559
 
 
560
 
 
561
 
                                Machine Drivers
562
 
 
563
 
 
564
 
***************************************************************************/
565
 
 
566
 
static MACHINE_RESET( unico )
567
 
{
568
 
}
569
 
 
570
 
 
571
 
static const eeprom_interface zeropnt2_eeprom_interface =
572
 
{
573
 
        7,                              // address bits 7
574
 
        8,                              // data bits    8
575
 
        "*110",                 // read         1 10 aaaaaaa
576
 
        "*101",                 // write        1 01 aaaaaaa dddddddd
577
 
        "*111",                 // erase        1 11 aaaaaaa
578
 
        "*10000xxxx",   // lock         1 00 00xxxx
579
 
        "*10011xxxx",   // unlock       1 00 11xxxx
580
 
//  "*10001xxxx"    // write all    1 00 01xxxx dddddddd
581
 
//  "*10010xxxx"    // erase all    1 00 10xxxx
582
 
};
583
 
 
584
 
 
585
 
/***************************************************************************
586
 
                                Burglar X
587
 
***************************************************************************/
588
 
 
589
 
static MACHINE_CONFIG_START( burglarx, unico_state )
590
 
 
591
 
        /* basic machine hardware */
592
 
        MCFG_CPU_ADD("maincpu", M68000, 16000000)
593
 
        MCFG_CPU_PROGRAM_MAP(burglarx_map)
594
 
        MCFG_CPU_VBLANK_INT("screen", irq2_line_hold)
595
 
 
596
 
        MCFG_MACHINE_RESET(unico)
597
 
 
598
 
        /* video hardware */
599
 
        MCFG_SCREEN_ADD("screen", RASTER)
600
 
        MCFG_SCREEN_REFRESH_RATE(60)
601
 
        MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
602
 
        MCFG_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
603
 
        MCFG_SCREEN_SIZE(0x180, 0xe0)
604
 
        MCFG_SCREEN_VISIBLE_AREA(0, 0x180-1, 0, 0xe0-1)
605
 
        MCFG_SCREEN_UPDATE(unico)
606
 
 
607
 
        MCFG_GFXDECODE(unico)
608
 
        MCFG_PALETTE_LENGTH(8192)
609
 
 
610
 
        MCFG_VIDEO_START(unico)
611
 
 
612
 
        /* sound hardware */
613
 
        MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
614
 
 
615
 
        MCFG_SOUND_ADD("ymsnd", YM3812, 3579545) /* 14.31818MHz OSC divided by 4 */
616
 
        MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.40)
617
 
        MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.40)
618
 
 
619
 
        MCFG_OKIM6295_ADD("oki", 1056000, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
620
 
        MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.80)
621
 
        MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.80)
622
 
MACHINE_CONFIG_END
623
 
 
624
 
 
625
 
 
626
 
/***************************************************************************
627
 
                                Zero Point
628
 
***************************************************************************/
629
 
 
630
 
static MACHINE_RESET( zeropt )
631
 
{
632
 
        MACHINE_RESET_CALL(unico);
633
 
}
634
 
 
635
 
static MACHINE_CONFIG_START( zeropnt, unico_state )
636
 
 
637
 
        /* basic machine hardware */
638
 
        MCFG_CPU_ADD("maincpu", M68000, 16000000)
639
 
        MCFG_CPU_PROGRAM_MAP(zeropnt_map)
640
 
        MCFG_CPU_VBLANK_INT("screen", irq2_line_hold)
641
 
 
642
 
        MCFG_MACHINE_RESET(zeropt)
643
 
 
644
 
        /* video hardware */
645
 
        MCFG_SCREEN_ADD("screen", RASTER)
646
 
        MCFG_SCREEN_REFRESH_RATE(60)
647
 
        MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
648
 
        MCFG_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
649
 
        MCFG_SCREEN_SIZE(0x180, 0xe0)
650
 
        MCFG_SCREEN_VISIBLE_AREA(0, 0x180-1, 0, 0xe0-1)
651
 
        MCFG_SCREEN_UPDATE(unico)
652
 
 
653
 
        MCFG_GFXDECODE(unico)
654
 
        MCFG_PALETTE_LENGTH(8192)
655
 
 
656
 
        MCFG_VIDEO_START(unico)
657
 
 
658
 
        /* sound hardware */
659
 
        MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
660
 
 
661
 
        MCFG_SOUND_ADD("ymsnd", YM3812, 3579545) /* 14.31818MHz OSC divided by 4 */
662
 
        MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.40)
663
 
        MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.40)
664
 
 
665
 
        MCFG_OKIM6295_ADD("oki", 1056000, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
666
 
        MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.80)
667
 
        MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.80)
668
 
MACHINE_CONFIG_END
669
 
 
670
 
 
671
 
 
672
 
/***************************************************************************
673
 
                                Zero Point 2
674
 
***************************************************************************/
675
 
 
676
 
static MACHINE_CONFIG_START( zeropnt2, unico_state )
677
 
 
678
 
        /* basic machine hardware */
679
 
        MCFG_CPU_ADD("maincpu", M68EC020, 16000000)
680
 
        MCFG_CPU_PROGRAM_MAP(zeropnt2_map)
681
 
        MCFG_CPU_VBLANK_INT("screen", irq2_line_hold)
682
 
 
683
 
        MCFG_MACHINE_RESET(zeropt)
684
 
 
685
 
        MCFG_EEPROM_ADD("eeprom", zeropnt2_eeprom_interface)
686
 
 
687
 
        /* video hardware */
688
 
        MCFG_SCREEN_ADD("screen", RASTER)
689
 
        MCFG_SCREEN_REFRESH_RATE(60)
690
 
        MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
691
 
        MCFG_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
692
 
        MCFG_SCREEN_SIZE(0x180, 0xe0)
693
 
        MCFG_SCREEN_VISIBLE_AREA(0, 0x180-1, 0, 0xe0-1)
694
 
        MCFG_SCREEN_UPDATE(zeropnt2)
695
 
 
696
 
        MCFG_GFXDECODE(unico)
697
 
        MCFG_PALETTE_LENGTH(8192)
698
 
 
699
 
        MCFG_VIDEO_START(zeropnt2)
700
 
 
701
 
        /* sound hardware */
702
 
        MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
703
 
 
704
 
        MCFG_SOUND_ADD("ymsnd", YM2151, 3579545)
705
 
        MCFG_SOUND_ROUTE(0, "lspeaker", 0.70)
706
 
        MCFG_SOUND_ROUTE(1, "rspeaker", 0.70)
707
 
 
708
 
        MCFG_OKIM6295_ADD("oki1", 1056000, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
709
 
        MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.40)
710
 
 
711
 
        MCFG_OKIM6295_ADD("oki2", 3960000, OKIM6295_PIN7_HIGH) // clock frequency & pin 7 not verified
712
 
        MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.20)
713
 
MACHINE_CONFIG_END
714
 
 
715
 
 
716
 
/***************************************************************************
717
 
 
718
 
 
719
 
                                ROMs Loading
720
 
 
721
 
 
722
 
***************************************************************************/
723
 
 
724
 
 
725
 
 
726
 
/***************************************************************************
727
 
 
728
 
                                Burglar X
729
 
 
730
 
by Unico
731
 
 
732
 
68000-16MHz , MACH210-15JC, 3 x A1020B
733
 
14.31818 MHz, 32.000 MHz
734
 
 
735
 
***************************************************************************/
736
 
 
737
 
ROM_START( burglarx )
738
 
 
739
 
        ROM_REGION( 0x100000, "maincpu", 0 )            /* 68000 Code */
740
 
        ROM_LOAD16_BYTE( "bx-rom2.pgm", 0x000000, 0x080000, CRC(f81120c8) SHA1(f0240cf9aceb755e3c920bc3bcae0a9de29fd8c1) )
741
 
        ROM_LOAD16_BYTE( "bx-rom3.pgm", 0x000001, 0x080000, CRC(080b4e82) SHA1(7eb08a7ea7684297e879123ae7ddc88d7fc1b87b) )
742
 
 
743
 
        /* Notice the weird ROMs order? Pretty much bit scrambling */
744
 
        ROM_REGION( 0x400000, "gfx1", ROMREGION_INVERT )        /* 16x16x8 Sprites */
745
 
        ROM_LOAD16_BYTE( "bx-rom4",  0x000000, 0x080000, CRC(f74ce31f) SHA1(bafe247a2fdc918318ccf7b11f0406c78909dcaa) )
746
 
        ROM_LOAD16_BYTE( "bx-rom10", 0x000001, 0x080000, CRC(6f56ca23) SHA1(5cfedda8d9fe4b575932a6a136d7b525d96e5454) )
747
 
        ROM_LOAD16_BYTE( "bx-rom9",  0x100000, 0x080000, CRC(33f29d79) SHA1(287d8412842887af5a5c7a0f5e5736a741c3c7db) )
748
 
        ROM_LOAD16_BYTE( "bx-rom8",  0x100001, 0x080000, CRC(24367092) SHA1(dc21d043a793cbc9fe94085c7884d684f1f80d74) )
749
 
        ROM_LOAD16_BYTE( "bx-rom7",  0x200000, 0x080000, CRC(aff6bdea) SHA1(3c050ec5e1bbc93b15435c7a6e66bade9a07445e) )
750
 
        ROM_LOAD16_BYTE( "bx-rom6",  0x200001, 0x080000, CRC(246afed2) SHA1(fcf08e968f11549546c47c1a67013c2427e0aad3) )
751
 
        ROM_LOAD16_BYTE( "bx-rom11", 0x300000, 0x080000, CRC(898d176a) SHA1(4c85948b7e639743d0f1676fdc463267f550f97c) )
752
 
        ROM_LOAD16_BYTE( "bx-rom5",  0x300001, 0x080000, CRC(fdee1423) SHA1(319610435b3dea61276d412e2bf6a3f32809ae19) )
753
 
 
754
 
        ROM_REGION( 0x400000, "gfx2", ROMREGION_INVERT )        /* 16x16x8 Layers */
755
 
        ROM_LOAD16_BYTE( "bx-rom14", 0x000000, 0x080000, CRC(30413373) SHA1(37bbc4d2943a32ee9f6bb268c823ffe162fe92a2) )
756
 
        ROM_LOAD16_BYTE( "bx-rom18", 0x000001, 0x080000, CRC(8e7fc99f) SHA1(81141e3c9111944aae97d27e5631b11eaf6f8734) )
757
 
        ROM_LOAD16_BYTE( "bx-rom19", 0x100000, 0x080000, CRC(d40eabcd) SHA1(e41d5e921a1648d6d4907f18e0256dbe3a01e9d3) )
758
 
        ROM_LOAD16_BYTE( "bx-rom15", 0x100001, 0x080000, CRC(78833c75) SHA1(93bd2e9ba98d99e36b99765ff576df4ca347daf3) )
759
 
        ROM_LOAD16_BYTE( "bx-rom17", 0x200000, 0x080000, CRC(f169633f) SHA1(3bb707110286890a740ef607fb2addeeaadedb08) )
760
 
        ROM_LOAD16_BYTE( "bx-rom12", 0x200001, 0x080000, CRC(71eb160f) SHA1(4fc8caabc5ee6c7771c76e704ffba675cf997dae) )
761
 
        ROM_LOAD16_BYTE( "bx-rom13", 0x300000, 0x080000, CRC(da34bbb5) SHA1(455c2412135b89670c2ecda9fd02f4da9b891ee4) )
762
 
        ROM_LOAD16_BYTE( "bx-rom16", 0x300001, 0x080000, CRC(55b28ef9) SHA1(48615d53ac955ba6aca86ad4f8b61f4d2675d840) )
763
 
 
764
 
        ROM_REGION( 0x80000, "oki", 0 ) /* Samples */
765
 
        ROM_LOAD( "bx-rom1.snd", 0x000000, 0x080000, CRC(8ae67138) SHA1(3ea44f805a1f978e0a1c1bb7f45507379b147bc0) )     // 2 x 40000
766
 
 
767
 
ROM_END
768
 
 
769
 
 
770
 
/***************************************************************************
771
 
 
772
 
                                Zero Point
773
 
 
774
 
(C) 1998 Unico
775
 
 
776
 
PCB Number: ZPM1001A
777
 
CPU: 68HC000P16
778
 
SND: K-664/K-666 & AD-65 (YM3014/YM3812 & M6295)
779
 
OSC: 14.31818MHz, 32.000MHz
780
 
RAM: 62256 x 5, 6116 x 8, 84256 x 2
781
 
DIPS: 2 x 8 position
782
 
 
783
 
Other Chips: 3 x Actel A1020B (square 84 pin socketed, Same video chip as Power Instinct and Blomby Car)
784
 
             MACH211 (square 44 pin socketed)
785
 
 
786
 
There is a small gun interface board (Number ZPT1001B) located near the 68000 which contains
787
 
another Actel A1020B chip, a 74HC14 TTL chip and a 4.9152MHz OSC.
788
 
 
789
 
ROMS:
790
 
zero2.BIN  \
791
 
zero3.BIN  / Main Program 4M Mask ROMs
792
 
zero1.BIN  -- Sound MX27C4000
793
 
zpobjz01.BIN -\
794
 
zpobjz02.BIN   \
795
 
zpobjz03.BIN    \
796
 
zpobjz04.BIN     \
797
 
zpscrz05.BIN      - GFX,16M Mask ROMs
798
 
zpscrz06.BIN     /
799
 
zpscrz07.BIN    /
800
 
zpscrz08.BIN  -/
801
 
 
802
 
***************************************************************************/
803
 
 
804
 
ROM_START( zeropnt )
805
 
        ROM_REGION( 0x100000, "maincpu", 0 )            /* 68000 Code */
806
 
        ROM_LOAD16_BYTE( "zero_2.bin", 0x000000, 0x080000, CRC(1e599509) SHA1(5a562a3c85700126b95fbdf21ef8c0ddd35d9037) )
807
 
        ROM_LOAD16_BYTE( "zero_3.bin", 0x000001, 0x080000, CRC(588aeef7) SHA1(0dfa22c9e7b1fe493c16160b1ac76fa4d3bb2e68) )
808
 
 
809
 
        ROM_REGION( 0x800000, "gfx1", ROMREGION_INVERT )        /* 16x16x8 Sprites */
810
 
        ROM_LOAD( "zpobjz01.bin", 0x000000, 0x200000, CRC(1f2768a3) SHA1(75c83458afc527dda47bfbd86a8e9c5ded7a5444) )
811
 
        ROM_LOAD( "zpobjz02.bin", 0x200000, 0x200000, CRC(de34f33a) SHA1(b77c7d508942176585afaeeaea2f34f60326eeb1) )
812
 
        ROM_LOAD( "zpobjz03.bin", 0x400000, 0x200000, CRC(d7a657f7) SHA1(f1f9e6a01eef4d0c8c4b2e161136cc4438d770e2) )
813
 
        ROM_LOAD( "zpobjz04.bin", 0x600000, 0x200000, CRC(3aec2f8d) SHA1(6fb1cfabfb0bddf688d3bfb60f7538209efbd8f1) )
814
 
 
815
 
        ROM_REGION( 0x800000, "gfx2", ROMREGION_INVERT )        /* 16x16x8 Layers */
816
 
        ROM_LOAD( "zpscrz06.bin", 0x000000, 0x200000, CRC(e1e53cf0) SHA1(b440e09f6229d486d1a8be476ac8a17adde1ff7e) )
817
 
        ROM_LOAD( "zpscrz05.bin", 0x200000, 0x200000, CRC(0d7d4850) SHA1(43f87d0461fe022b68b4e57e6c9542bcd78e301b) )
818
 
        ROM_LOAD( "zpscrz07.bin", 0x400000, 0x200000, CRC(bb178f32) SHA1(1354f4d90a8cec58d1f2b6809985776b309b96a8) )
819
 
        ROM_LOAD( "zpscrz08.bin", 0x600000, 0x200000, CRC(672f02e5) SHA1(8e8b28a8b2293950764d453a3c385d7083eb5a57) )
820
 
 
821
 
        ROM_REGION( 0x80000 * 2, "oki", 0 )     /* Samples */
822
 
        ROM_LOAD( "zero_1.bin", 0x000000, 0x080000, CRC(fd2384fa) SHA1(8ae83665fe952c5d03bd62d2abb507c351cf0fb5) )
823
 
        ROM_RELOAD(            0x080000, 0x080000             )
824
 
ROM_END
825
 
 
826
 
 
827
 
ROM_START( zeropnta )
828
 
        ROM_REGION( 0x100000, "maincpu", 0 )            /* 68000 Code */
829
 
        ROM_LOAD16_BYTE( "zpa2.bin", 0x000000, 0x080000, CRC(285fbca3) SHA1(61f8d48388a666ed9300c0688fbf844e316b8892) )
830
 
        ROM_LOAD16_BYTE( "zpa3.bin", 0x000001, 0x080000, CRC(ad7b3129) SHA1(d814b5d9336d011386aa0b316b11225e5ea799fc) )
831
 
 
832
 
        ROM_REGION( 0x800000, "gfx1", ROMREGION_INVERT )        /* 16x16x8 Sprites */
833
 
        ROM_LOAD( "zpobjz01.bin", 0x000000, 0x200000, CRC(1f2768a3) SHA1(75c83458afc527dda47bfbd86a8e9c5ded7a5444) )
834
 
        ROM_LOAD( "zpobjz02.bin", 0x200000, 0x200000, CRC(de34f33a) SHA1(b77c7d508942176585afaeeaea2f34f60326eeb1) )
835
 
        ROM_LOAD( "zpobjz03.bin", 0x400000, 0x200000, CRC(d7a657f7) SHA1(f1f9e6a01eef4d0c8c4b2e161136cc4438d770e2) )
836
 
        ROM_LOAD( "zpobjz04.bin", 0x600000, 0x200000, CRC(3aec2f8d) SHA1(6fb1cfabfb0bddf688d3bfb60f7538209efbd8f1) )
837
 
 
838
 
        ROM_REGION( 0x800000, "gfx2", ROMREGION_INVERT )        /* 16x16x8 Layers */
839
 
        ROM_LOAD( "zpscrz06.bin", 0x000000, 0x200000, CRC(e1e53cf0) SHA1(b440e09f6229d486d1a8be476ac8a17adde1ff7e) )
840
 
        ROM_LOAD( "zpscrz05.bin", 0x200000, 0x200000, CRC(0d7d4850) SHA1(43f87d0461fe022b68b4e57e6c9542bcd78e301b) )
841
 
        ROM_LOAD( "zpscrz07.bin", 0x400000, 0x200000, CRC(bb178f32) SHA1(1354f4d90a8cec58d1f2b6809985776b309b96a8) )
842
 
        ROM_LOAD( "zpscrz08.bin", 0x600000, 0x200000, CRC(672f02e5) SHA1(8e8b28a8b2293950764d453a3c385d7083eb5a57) )
843
 
 
844
 
        ROM_REGION( 0x80000 * 2, "oki", 0 )     /* Samples */
845
 
        ROM_LOAD( "zero_1.bin", 0x000000, 0x080000, CRC(fd2384fa) SHA1(8ae83665fe952c5d03bd62d2abb507c351cf0fb5) )
846
 
        ROM_RELOAD(            0x080000, 0x080000             )
847
 
ROM_END
848
 
 
849
 
/***************************************************************************
850
 
 
851
 
                                    Zero Point 2
852
 
 
853
 
(c) 1999 Unico
854
 
 
855
 
PCB Number: UZP21001A
856
 
CPU: MC68EC020FG16
857
 
SND: YM3012/YM2151 & AD-65 x 2 (OKI M6295)
858
 
OSC: 3.579545MHz (near AD-65), 32.000MHz, 40.000MHz (near 68020)
859
 
RAM: 62256B x 9
860
 
 
861
 
Other Chips: 3 x Actel A40MX04-F (square 84 pin socketed)
862
 
             MACH211 (square 44 pin socketed)
863
 
 
864
 
There is a small gun interface board (Number UZP21001B) located above the 68020 which contains:
865
 
 
866
 
   OSC: 4.9152MHz
867
 
  DIPS: 2 x 8 position
868
 
EEPROM: ST 93C46
869
 
 OTHER: Actel A40MX04-F chip
870
 
        74HC14 TTL chip
871
 
        4-pin gun header x 2
872
 
 
873
 
ROMS:
874
 
D0-D15.3  \ Main Program 8M Mask ROMs
875
 
D16-D31.4 /
876
 
uzp2-1.bin - Sound 27C040
877
 
uzp2-2.bin - Sound 27C020
878
 
 
879
 
A0-A1ZP.205  -\
880
 
A2-A3ZP.206    \
881
 
A6-A7ZP.207     \
882
 
A4-A5ZP.208      \
883
 
DB0DB1ZP.209      - GFX,32M Mask ROMs
884
 
DB2DB3ZP.210     /
885
 
DB4DB5ZP.211    /
886
 
DB6DB7ZP.212  -/
887
 
 
888
 
                     Zero Point 2 board JAMMA Pinout
889
 
 
890
 
                          Main Jamma Connector
891
 
            Solder Side          |             Parts Side
892
 
------------------------------------------------------------------
893
 
             GND             | A | 1 |             GND
894
 
             GND             | B | 2 |             GND
895
 
             +5              | C | 3 |             +5
896
 
             +5              | D | 4 |             +5
897
 
                             | E | 5 |
898
 
             +12             | F | 6 |             +12
899
 
------------ KEY ------------| H | 7 |------------ KEY -----------
900
 
                             | J | 8 |      Coin Counter # 1
901
 
       Player 2 Lamp         | K | 9 |       Player 1 Lamp
902
 
        Speaker (L)          | L | 10|        Speaker (R)
903
 
                             | M | 11|
904
 
        Video Green          | N | 12|        Video Red
905
 
        Video Sync           | P | 13|        Video Blue
906
 
       Service Switch        | R | 14|        Video GND
907
 
                             | S | 15|        Test Switch
908
 
        Coin Switch 2        | T | 16|         Coin Switch 1
909
 
       Player 2 Start        | U | 17|        Player 1 Start
910
 
                             | V | 18|
911
 
                             | W | 19|
912
 
                             | X | 20|
913
 
                             | Y | 21|
914
 
                             | Z | 22|
915
 
                             | a | 23|
916
 
                             | b | 24|
917
 
                             | c | 25|
918
 
                             | d | 26|
919
 
             GND             | e | 27|             GND
920
 
             GND             | f | 28|             GND
921
 
 
922
 
 
923
 
 
924
 
SPECIAL NOTICE - Sound wiring change:
925
 
 
926
 
For cabinets with one speaker:
927
 
    JAMMA pin 10 goes to speaker (+)
928
 
    Run a ground to the negative side of speaker.
929
 
For cabinets with two speakers:
930
 
    JAMMA pin 10 goes to right speaker (+)
931
 
    JAMMA pin L goes to left speaker (+)
932
 
    Run a ground to the negative side of each speaker.
933
 
 
934
 
Using Original Unico Light Guns & connectors:
935
 
 
936
 
 1PLAY: Left (Red) Gun Connector Pinout*
937
 
 
938
 
   1| Gun OPTO - White Wire
939
 
   2| +5 Volts - Red Wire
940
 
   3| Trigger  - Green Wire
941
 
   4| Ground   - Black Wire
942
 
 
943
 
 2PLAY: Right (Blue) Gun Connector Pinout*
944
 
 
945
 
   1| Gun OPTO - White Wire
946
 
   2| +5 Volts - Red Wire
947
 
   3| Trigger  - Green Wire
948
 
   4| Ground   - Black Wire
949
 
 
950
 
* This is not the same as the HAPP Controls' 4-pin standard
951
 
 
952
 
 
953
 
DIPSW-A
954
 
------------------------------------------------------------------
955
 
    DipSwitch Title   | Function | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
956
 
------------------------------------------------------------------
957
 
    Free Play         |   Off    |off|                           |*
958
 
                      |   On     |on |                           |
959
 
------------------------------------------------------------------
960
 
  1 Coin to Continue  |   Off    |   |off|                       |*
961
 
                      |   On     |   |on |                       |
962
 
------------------------------------------------------------------
963
 
                      | Factory  |       |off|off|               |*
964
 
   Gun Loading Mode   |Not Reload|       |on |off|               |
965
 
                      | Reload   |       |off|on |               |
966
 
------------------------------------------------------------------
967
 
      Language        | English  |               |off|           |*
968
 
                      | Japanese |               |on |           |
969
 
------------------------------------------------------------------
970
 
                      | 1cn/1pl  |                   |off|off|off|*
971
 
                      | 1cn/2pl  |                   |on |off|off|
972
 
                      | 1cn/3pl  |                   |off|on |off|
973
 
        Coinage       | 1cn/4pl  |                   |on |on |off|
974
 
                      | 2cn/1pl  |                   |off|off|on |
975
 
                      | 3cn/1pl  |                   |on |off|on |
976
 
                      | 4cn/1pl  |                   |off|on |on |
977
 
                      | 5cn/1pl  |                   |on |on |on |
978
 
------------------------------------------------------------------
979
 
 
980
 
DIPSW-B
981
 
------------------------------------------------------------------
982
 
    DipSwitch Title   | Function | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
983
 
------------------------------------------------------------------
984
 
   Korean Language    |   Off    |off|                           |*
985
 
                      |   On     |on |                           |
986
 
------------------------------------------------------------------
987
 
     Demo Sounds      |   Off    |   |off|                       |
988
 
                      |   On     |   |on |                       |*
989
 
------------------------------------------------------------------
990
 
                      |    4     |       |off|off|off|           |*
991
 
   Player's Heart     |    5     |       |on |off|off|           |
992
 
       (Lives)        |    6     |       |off|on |off|           |
993
 
                      |    2     |       |on |on |off|           |
994
 
                      |    3     |       |off|off|on |           |
995
 
------------------------------------------------------------------
996
 
  Not Used / Always Off                              |off|       |*
997
 
------------------------------------------------------------------
998
 
                      |  Normal  |                       |off|off|*
999
 
      Difficulty      |   Easy   |                       |on |off|
1000
 
        Level         |   Hard   |                       |off|on |
1001
 
                      |  V.Hard  |                       |on |on |
1002
 
------------------------------------------------------------------
1003
 
 
1004
 
* Denotes Factory Defaults
1005
 
 
1006
 
 
1007
 
BrianT
1008
 
 
1009
 
***************************************************************************/
1010
 
 
1011
 
ROM_START( zeropnt2 )
1012
 
        ROM_REGION( 0x200000, "maincpu", 0 )            /* 68020 Code */
1013
 
        ROM_LOAD32_WORD_SWAP( "d16-d31.4", 0x000000, 0x100000, CRC(48314fdb) SHA1(a5bdb6a3f520587ff5e73438dc414cfdff34167b) )
1014
 
        ROM_LOAD32_WORD_SWAP( "d0-d15.3",  0x000002, 0x100000, CRC(5ec4151e) SHA1(f7c857bdb6a92f76f09a089b37def7e6cf24b65a) )
1015
 
 
1016
 
        ROM_REGION( 0x1000000, "gfx1", ROMREGION_INVERT )       /* 16x16x8 Sprites */
1017
 
        ROM_LOAD( "db0db1zp.209", 0x000000, 0x400000, CRC(474b460c) SHA1(72104b7a00cb6d62b3cee2cfadc928669ca948c4) )
1018
 
        ROM_LOAD( "db2db3zp.210", 0x400000, 0x400000, CRC(0a1d0a88) SHA1(b0a6ba9eba539fff417557c9af60d408c2912491) )
1019
 
        ROM_LOAD( "db4db5zp.211", 0x800000, 0x400000, CRC(227169dc) SHA1(b03d8d46714e5aa3631fde7d65466334dafdc341) )
1020
 
        ROM_LOAD( "db6db7zp.212", 0xc00000, 0x400000, CRC(a6306cdb) SHA1(da48c5981b72b87df40602e03e56a40a24728262) )
1021
 
 
1022
 
        ROM_REGION( 0x1000000, "gfx2", ROMREGION_INVERT )       /* 16x16x8 Layers */
1023
 
        ROM_LOAD( "a0-a1zp.205", 0x000000, 0x400000, CRC(f7ca9c0e) SHA1(541139b617ff34c378a506cf88fe97234c93ee20) )
1024
 
        ROM_LOAD( "a2-a3zp.206", 0x400000, 0x400000, CRC(0581c8fe) SHA1(9bbffc9c758bbaba2b43a63811b725e51996268a) )
1025
 
        ROM_LOAD( "a4-a5zp.208", 0x800000, 0x400000, CRC(ddd091ef) SHA1(c1751aef2546a35f2fdbfeca9647a88fd3e65cdd) )
1026
 
        ROM_LOAD( "a6-a7zp.207", 0xc00000, 0x400000, CRC(3fd46113) SHA1(326684b92c258bde318693cd9b3a7660aed3cd6f) )
1027
 
 
1028
 
        ROM_REGION( 0x80000 * 2, "oki1", 0 )    /* Samples */
1029
 
        ROM_LOAD( "uzp2-1.bin", 0x000000, 0x080000, CRC(ed0966ed) SHA1(a43b9c493f94d1fb11e1b189caaf37d3d792c730) )
1030
 
        ROM_RELOAD(             0x080000, 0x080000             )
1031
 
 
1032
 
        ROM_REGION( 0x40000, "oki2", 0 )        /* Samples */
1033
 
        ROM_LOAD( "uzp2-2.bin", 0x000000, 0x040000, CRC(db8cb455) SHA1(6723b4018208d554bd1bf1e0640b72d2f4f47302) )
1034
 
ROM_END
1035
 
 
1036
 
 
1037
 
/***************************************************************************
1038
 
 
1039
 
 
1040
 
                                Game Drivers
1041
 
 
1042
 
 
1043
 
***************************************************************************/
1044
 
 
1045
 
GAME( 1997, burglarx, 0,       burglarx, burglarx, 0, ROT0, "Unico", "Burglar X" , 0 )
1046
 
GAME( 1998, zeropnt,  0,       zeropnt,  zeropnt,  0, ROT0, "Unico", "Zero Point (set 1)", 0 )
1047
 
GAME( 1998, zeropnta, zeropnt, zeropnt,  zeropnt,  0, ROT0, "Unico", "Zero Point (set 2)", 0 )
1048
 
GAME( 1999, zeropnt2, 0,       zeropnt2, zeropnt2, 0, ROT0, "Unico", "Zero Point 2", 0 )