1 // license:BSD-3-Clause
2 // copyright-holders:Pierpaolo Prazzoli
3 /*
4 
5  Title                          Copyright            PCB - ID
6  ----------------------------------------------------------------------------
7  Multi 5 / New Multi Game 5     (c) 1997 Yun Sung    YS-1300
8  Multi 5 / New Multi Game 5     (c) 1998 Yun Sung    YS-1300 / YS-1301
9  Search Eye                     (c) 1999 Yun Sung    YS-1905
10  Search Eye Plus V2.0           (c) 1999 Yun Sung    YS-1905
11  Puzzle Club (set 1)            (c) 2000 Yun Sung    YS-2113
12  Puzzle Club (set 2)            (c) 2000 Yun Sung    YS-2111
13  Garogun Seroyang               (c) 2000 Yun Sung    YS-2111
14  7 Ordi                         (c) 2002 Yun Sung    YS-2118B
15  Wonder Stick                   (c) ???? Yun Sung    YS-2320
16 
17  driver by Pierpaolo Prazzoli
18 
19 
20 Stephh's notes (based on the games M68000 code and some tests) :
21 
22 1) 'nmg5'
23 
24   - On title screen, there's a 1998 release date.
25     However, ending "Tong Boy" shows a 1997 copyright,
26     and there's even a 1996 date in the PRG ROMS :
27     look at addresses 0x0565bc to 0x0565bf to see it.
28   - There's sort of "protection" routine at address 0x000366.
29     Its effect is unknown but prevents the game to boot.
30   - Here are what the inputs which are read in "Test Mode" do :
31       * COIN1 : adds 1 coin (you can hear the sound)
32       * COIN2 : adds 1 coin (you can hear the sound)
33       * Player 2 BUTTON3 :
34           . if SW2-1 is ON, it goes to "Test Mode" routine
35           . if SW2-1 is OFF, it goes back to the game
36             WITHOUT resetting the number of coins / credits
37       * Player 2 BUTTON2 : toggles "Slideshow Mode" ON/OFF
38   - Here are what the additional inputs which are read in "Slideshow Mode" do :
39       * Player 1 BUTTON1 : (picture++)%0x1c  (next)
40       * Player 1 BUTTON2 : (picture--)%0x1c  (previous)
41   - Here are what the buttons do for each sub-game :
42       * Rocktris :
43           . BUTTON1 : Rotate counterclockwise
44           . BUTTON2 : Rotate counterclockwise (same as BUTTON1)
45           . BUTTON3 : UNUSED
46       * Bubble Gum :
47           . BUTTON1 : Fire
48           . BUTTON2 : UNUSED
49           . BUTTON3 : UNUSED
50       * Tong Boy :
51           . BUTTON1 : Jump / Fire (depending on stages)
52           . BUTTON2 : UNUSED
53           . BUTTON3 : UNUSED
54       * Cross Point :
55           . BUTTON1 : Rotate counterclockwise
56           . BUTTON2 : Help
57           . BUTTON3 : UNUSED
58       * Box Logic :
59           . BUTTON1 : Tag as good
60           . BUTTON2 : Tag as bad / Untag (switch)
61           . BUTTON3 : Help
62   - It is difficult to find a name for DSW1-6 and DSW1-7.
63     All I can tell is that it seems to affects the crocodiles
64     patterns in "Tong Boy". Watch the demo and see what you find.
65   - Unused DSW2-4 is told to be "Flip Screen" in "Test Mode",
66     but is in fact not read in-game. Leftover from another game ?
67 
68 2) 'nmg5e'
69 
70   - On title screen, there's a 1997 release date.
71     However, there's a 1996 date in the PRG ROMS :
72     look at addresses 0x0564a4 to 0x0564a7 to see it.
73   - There are 2 main differences with the other set :
74       * The code for the "protection" routine doesn't exist
75       * Player 2 BUTTON2 is tested but has no visible effect
76         (there is no "Slideshow Mode" and code which tests
77         Player 1 BUTTON1 and Player 1 BUTTON2 doesn't exist)
78 
79 3) 'searchey'
80 
81   - Here are what the buttons do :
82       * BUTTON1 : spot
83       * BUTTON2 : help
84   - It's difficult to find a good description for DSW2-1 !
85     All I can tell is that it affects the number of items to find :
86       * OFF : table at 0x024cae (4 items for level 1)
87       * ON  : table at 0x024d3c (3 items for level 1)
88 
89 4) 'searchp2'
90 
91   - Here are what the buttons do :
92       * BUTTON1 : spot
93       * BUTTON2 : help
94   - The "Test Mode" Dip Switch points only to a black screen.
95     I can't tell if it's a bug, but there is no text for it as in 'searchey'.
96   - There is no "Demo Sounds" Dip Switch : sound is ALWAYS OFF in "Demo Mode".
97   - It is difficult to find a name for DSW2-6 and DSW2-7.
98     All I can tell is that it affects the rolls in "Lucky Chance".
99     Look at code from 0x006c08 to 0x006de8 and tables from 0x01db10 to 0x01db27
100     (4 tables - each table is 3 * 3 words = 6 bytes wide).
101   - The "Language" Dip Switch only affects the "how to play" instructions
102     in "Demo Mode" as well as the text which tells how many items to find.
103   - It's difficult to find a good description for DSW2-2 !
104     All I can tell is that it affects the "Lucky" timer :
105     when ON, you have 5 "seconds" less than when OFF.
106   - It's difficult to find a good description for DSW2-1 !
107     All I can tell is that it affects the number of items to find :
108     when ON, you have 1 item less than when OFF.
109 
110 5) 'psclubys*'
111 
112   - Here are what the buttons do for each sub-game :
113       * Magic Eye :
114           . BUTTON1 : Fire
115           . BUTTON2 : Fire (same as BUTTON1)
116           . BUTTON3 : UNUSED
117       * Box Logic :
118           . BUTTON1 : Tag as good
119           . BUTTON2 : Tag as bad / Untag (switch)
120           . BUTTON3 : Help
121       * Mad Ball :
122           . BUTTON1 : Jump / Launch ball
123           . BUTTON2 : Fire
124           . BUTTON3 : UNUSED
125       * Magic Bubble :
126           . BUTTON1 : Fire
127           . BUTTON2 : UNUSED
128           . BUTTON3 : UNUSED
129       * Bogle Puyo :
130           . BUTTON1 : Rotate counterclockwise
131           . BUTTON2 : Rotate clockwise
132           . BUTTON3 : UNUSED
133       * Rocktris :
134           . BUTTON1 : Rotate counterclockwise
135           . BUTTON2 : Rotate counterclockwise (same as BUTTON1)
136           . BUTTON3 : UNUSED
137   - DSW1-6 only affects "Magic Bubble", "Bogle Puyo" and "Rocktris" sub-games.
138   - There are 72 gals pics, 36 of them are "soft" (sort girls are even not nude)
139     and the 36 others are "hard".
140     When nudity set to "Soft only", the game will only display "soft" gals pics.
141     When nudity set to "Soft and High", the game will alternate "soft" and "hard" gals pics.
142     There is no gals pics (thus no nudity) in "Magic Eye" and "Bogle Puyo" sub-games.
143     "Girl view" choice in "Test Mode" is also affected by DSW1-5.
144   - As there is no nudity in "Magic Eye" sub-game, I haven't been able
145     to determine effect of DSW1-5. Have a look at routine at 0x006dc8 ('pclubys')
146     or 0x006dc4 ('pclubysa') and see what you find.
147 
148 6) 'garogun'
149 
150   - Here are what the buttons do :
151       * BUTTON1 : spot
152       * BUTTON2 : help
153   - The game starts as soon as you have inserted enough coins.
154     However, the START button is needed when you want to continue play.
155   - There are 12 main levels and 3 bonus levels :
156       * levels  1 to 6  : 3 sub-levels each - 1 bonus level after 2 full main levels
157       * levels  7 to 9  : 5 sub-levels each - 1 bonus level after 1 full main level
158       * levels 10 to 12 : 5 sub-levels each - 1 bonus level after 1 full main level
159         (there is no bonus game when you end full main level 12)
160   - There's an ingame bug when timer for bonus game is displayed :
161       * Level is stored at address 0x2056c8 :
162           . 0x00 to 0x0b : main levels 1 to 12
163           . 0x0c : bonus level 3
164           . 0x0d : bonus level 2
165           . 0x0e : bonus level 1
166       * Routine that handles starting time begins at address 0x010a22.
167       * The problem is that when time is displayed in bonus game screen,
168         the value stored at 0x2056c8 is still the one from the main level
169         instead of being the one from the bonus game. So the time which
170         is displayed is incorrect and it sometimes causes graphics glitches.
171         However, when bonus game starts, value stored at 0x2056c8 is good.
172    - Depending on "Helps" Dip Switch, you get 1 to 4 helps at start.
173      Then, depending on your starting level, you get additional helps :
174        * level 1 : +0
175        * level 3 : +1
176        * level 5 : +2
177 
178 7) '7ordi'
179 
180   - Here are what the buttons do in "Test Mode" :
181       * START1   : back
182       * BUTTON1  : left
183       * BUTTON2  : right
184       * BUTTON3  : fire
185       * BUTTON4  : down
186       * BUTTON5  : up
187   - Here are what the buttons do outside "Test Mode" :
188       * COIN1    : adds 50 to 1000 credits depending on "Coinage" settings
189       * SERVICE1 : adds 10000 credits
190       * SERVICE2 : reset game AND number of credits
191                    (but Dip Switches aren't read again)
192   - Here are what the buttons do when the cards are just drawn :
193       * BUTTON1  : select card 1
194       * BUTTON2  : select card 2
195       * BUTTON3  : select card 3
196   - Here are what the buttons do when in-game :
197       * BUTTON1  : die
198       * BUTTON2  : check/call
199       * BUTTON3  : bet/raise
200   - Here are what the buttons do when you win a hand :
201       * BUTTON2  : bonus game
202       * BUTTON3  : take
203   - Here are what the buttons do when you play bonus game :
204       * START1   : pool
205       * BUTTON1  : low (Ace, 2, 3, 4, 5, 6)
206       * BUTTON6  : high (8, 9, 10, Jack, Queen, King)
207   - Here are what the buttons do when you collect and
208     "Winnings" Dip Switch set to "Medals and Credits"
209     ("do you want to draw a medal ?" question) :
210       * BUTTON5 : Yes
211       * BUTTON6 : No
212   - As hopper and other mechanisms aren't emulated, you can't
213     draw a medal (winnings are always converted to credits).
214     I hope that someone will be able to fix that as I can't do it.
215 
216 8) 'wondstck'
217 
218   - Here are what the buttons do :
219       * BUTTON1 : trace
220       * BUTTON2 : help
221 
222 */
223 
224 #include "emu.h"
225 #include "cpu/m68000/m68000.h"
226 #include "cpu/z80/z80.h"
227 #include "machine/gen_latch.h"
228 #include "sound/3812intf.h"
229 #include "sound/okim6295.h"
230 #include "video/decospr.h"
231 #include "emupal.h"
232 #include "screen.h"
233 #include "speaker.h"
234 #include "tilemap.h"
235 
236 
237 class nmg5_state : public driver_device
238 {
239 public:
nmg5_state(const machine_config & mconfig,device_type type,const char * tag)240 	nmg5_state(const machine_config &mconfig, device_type type, const char *tag) :
241 		driver_device(mconfig, type, tag),
242 		m_spriteram(*this, "spriteram"),
243 		m_scroll_ram(*this, "scroll_ram"),
244 		m_vram(*this, "vram.%u", 0U),
245 		m_maincpu(*this, "maincpu"),
246 		m_soundcpu(*this, "soundcpu"),
247 		m_oki(*this, "oki"),
248 		m_gfxdecode(*this, "gfxdecode"),
249 		m_sprgen(*this, "spritegen"),
250 		m_soundlatch(*this, "soundlatch")
251 	{ }
252 
253 	void nmg5(machine_config &config);
254 	void pclubys(machine_config &config);
255 	void garogun(machine_config &config);
256 	void searchp2(machine_config &config);
257 	void _7ordi(machine_config &config);
258 
259 	void init_prot_val_00();
260 	void init_prot_val_10();
261 	void init_prot_val_20();
262 	void init_prot_val_40();
263 
264 protected:
265 	virtual void machine_start() override;
266 	virtual void machine_reset() override;
267 	virtual void video_start() override;
268 
269 private:
270 	/* memory pointers */
271 	required_shared_ptr<uint16_t> m_spriteram;
272 	required_shared_ptr<uint16_t> m_scroll_ram;
273 	required_shared_ptr_array<uint16_t, 2> m_vram;
274 
275 	/* video-related */
276 	tilemap_t  *m_tilemap[2];
277 	std::unique_ptr<bitmap_ind16> m_pixmap;
278 
279 	/* misc */
280 	uint8_t m_prot_val;
281 	uint8_t m_input_data;
282 	uint8_t m_priority_reg;
283 	uint8_t m_gfx_bank;
284 
285 	/* devices */
286 	required_device<cpu_device> m_maincpu;
287 	required_device<cpu_device> m_soundcpu;
288 	required_device<okim6295_device> m_oki;
289 	required_device<gfxdecode_device> m_gfxdecode;
290 	optional_device<decospr_device> m_sprgen;
291 	required_device<generic_latch_8_device> m_soundlatch;
292 
293 	uint8_t pixmap_r(offs_t offset);
294 	void pixmap_w(offs_t offset, uint8_t data);
295 	template<int Layer> void vram_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0);
296 	void soundlatch_w(uint8_t data);
297 	uint16_t prot_r();
298 	void prot_w(uint16_t data);
299 	void gfx_bank_w(uint16_t data);
300 	void priority_reg_w(uint16_t data);
301 	void oki_banking_w(uint8_t data);
302 	template<int Layer> TILE_GET_INFO_MEMBER(get_tile_info);
303 	uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
304 	void nmg5_map(address_map &map);
305 	void nmg5_sound_map(address_map &map);
306 	void pclubys_map(address_map &map);
307 	void pclubys_sound_map(address_map &map);
308 	void sound_io_map(address_map &map);
309 };
310 
311 
312 
pixmap_r(offs_t offset)313 uint8_t nmg5_state::pixmap_r(offs_t offset)
314 {
315 	int const sy = offset >> 8;
316 	int const sx = (offset & 0xff) << 1;
317 
318 	return ((m_pixmap->pix(sy & 0xff, sx & ~1) & 0xf) << 4) | (m_pixmap->pix(sy & 0xff, sx |  1) & 0xf);
319 }
320 
pixmap_w(offs_t offset,uint8_t data)321 void nmg5_state::pixmap_w(offs_t offset, uint8_t data)
322 {
323 	int const sy = offset >> 8;
324 	int const sx = (offset & 0xff) << 1;
325 
326 	m_pixmap->pix(sy & 0xff, sx & ~1) = 0x300 + ((data & 0xf0) >> 4);
327 	m_pixmap->pix(sy & 0xff, sx |  1) = 0x300 + (data & 0x0f);
328 }
329 
330 template<int Layer>
vram_w(offs_t offset,uint16_t data,uint16_t mem_mask)331 void nmg5_state::vram_w(offs_t offset, uint16_t data, uint16_t mem_mask)
332 {
333 	COMBINE_DATA(&m_vram[Layer][offset]);
334 	m_tilemap[Layer]->mark_tile_dirty(offset);
335 }
336 
soundlatch_w(uint8_t data)337 void nmg5_state::soundlatch_w(uint8_t data)
338 {
339 	m_soundlatch->write(data);
340 	m_soundcpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero);
341 }
342 
prot_r()343 uint16_t nmg5_state::prot_r()
344 {
345 	return m_prot_val | m_input_data;
346 }
347 
prot_w(uint16_t data)348 void nmg5_state::prot_w(uint16_t data)
349 {
350 	m_input_data = data & 0x0f;
351 }
352 
gfx_bank_w(uint16_t data)353 void nmg5_state::gfx_bank_w(uint16_t data)
354 {
355 	if (m_gfx_bank != (data & 3))
356 	{
357 		m_gfx_bank = data & 3;
358 		machine().tilemap().mark_all_dirty();
359 	}
360 }
361 
priority_reg_w(uint16_t data)362 void nmg5_state::priority_reg_w(uint16_t data)
363 {
364 	m_priority_reg = data & 7;
365 
366 	if (m_priority_reg == 4 || m_priority_reg == 5 || m_priority_reg == 6)
367 		popmessage("unknown priority_reg value = %d\n", m_priority_reg);
368 }
369 
oki_banking_w(uint8_t data)370 void nmg5_state::oki_banking_w(uint8_t data)
371 {
372 	m_oki->set_rom_bank(data & 1);
373 }
374 
375 /*******************************************************************
376 
377                             Main Cpu
378 
379 ********************************************************************/
380 
nmg5_map(address_map & map)381 void nmg5_state::nmg5_map(address_map &map)
382 {
383 	map(0x000000, 0x0fffff).rom();
384 	map(0x120000, 0x12ffff).ram();
385 	map(0x140000, 0x1407ff).ram().w("palette", FUNC(palette_device::write16)).share("palette");
386 	map(0x160000, 0x1607ff).ram().share("spriteram");
387 	map(0x180001, 0x180001).w(FUNC(nmg5_state::soundlatch_w));
388 	map(0x180002, 0x180003).nopw();
389 	map(0x180004, 0x180005).rw(FUNC(nmg5_state::prot_r), FUNC(nmg5_state::prot_w));
390 	map(0x180006, 0x180007).w(FUNC(nmg5_state::gfx_bank_w));
391 	map(0x180008, 0x180009).portr("DSW");
392 	map(0x18000a, 0x18000b).portr("SYSTEM");
393 	map(0x18000c, 0x18000d).portr("INPUTS");
394 	map(0x18000e, 0x18000f).w(FUNC(nmg5_state::priority_reg_w));
395 	map(0x300002, 0x300009).writeonly().share("scroll_ram");
396 	map(0x30000a, 0x30000f).nopw();
397 	map(0x320000, 0x321fff).ram().w(FUNC(nmg5_state::vram_w<0>)).share("vram.0");
398 	map(0x322000, 0x323fff).ram().w(FUNC(nmg5_state::vram_w<1>)).share("vram.1");
399 	map(0x800000, 0x80ffff).rw(FUNC(nmg5_state::pixmap_r), FUNC(nmg5_state::pixmap_w));
400 }
401 
pclubys_map(address_map & map)402 void nmg5_state::pclubys_map(address_map &map)
403 {
404 	map(0x000000, 0x0fffff).rom();
405 	map(0x200000, 0x20ffff).ram();
406 	map(0x440000, 0x4407ff).ram().w("palette", FUNC(palette_device::write16)).share("palette");
407 	map(0x460000, 0x4607ff).ram().share("spriteram");
408 	map(0x480001, 0x480001).w(FUNC(nmg5_state::soundlatch_w));
409 	map(0x480002, 0x480003).nopw();
410 	map(0x480004, 0x480005).rw(FUNC(nmg5_state::prot_r), FUNC(nmg5_state::prot_w));
411 	map(0x480006, 0x480007).w(FUNC(nmg5_state::gfx_bank_w));
412 	map(0x480008, 0x480009).portr("DSW");
413 	map(0x48000a, 0x48000b).portr("SYSTEM");
414 	map(0x48000c, 0x48000d).portr("INPUTS");
415 	map(0x48000e, 0x48000f).w(FUNC(nmg5_state::priority_reg_w));
416 	map(0x500002, 0x500009).writeonly().share("scroll_ram");
417 	map(0x520000, 0x521fff).ram().w(FUNC(nmg5_state::vram_w<0>)).share("vram.0");
418 	map(0x522000, 0x523fff).ram().w(FUNC(nmg5_state::vram_w<1>)).share("vram.1");
419 	map(0x800000, 0x80ffff).rw(FUNC(nmg5_state::pixmap_r), FUNC(nmg5_state::pixmap_w));
420 }
421 
422 /*******************************************************************
423 
424                             Sound Cpu
425 
426 ********************************************************************/
427 
nmg5_sound_map(address_map & map)428 void nmg5_state::nmg5_sound_map(address_map &map)
429 {
430 	map(0x0000, 0xdfff).rom();
431 	map(0xe000, 0xe7ff).ram();
432 }
433 
pclubys_sound_map(address_map & map)434 void nmg5_state::pclubys_sound_map(address_map &map)
435 {
436 	map(0x0000, 0xf7ff).rom();
437 	map(0xf800, 0xffff).ram();
438 }
439 
sound_io_map(address_map & map)440 void nmg5_state::sound_io_map(address_map &map)
441 {
442 	map.global_mask(0xff);
443 	map(0x00, 0x00).w(FUNC(nmg5_state::oki_banking_w));
444 	map(0x10, 0x11).rw("ymsnd", FUNC(ym3812_device::read), FUNC(ym3812_device::write));
445 	map(0x18, 0x18).r(m_soundlatch, FUNC(generic_latch_8_device::read));
446 	map(0x1c, 0x1c).rw(m_oki, FUNC(okim6295_device::read), FUNC(okim6295_device::write));
447 }
448 
449 static INPUT_PORTS_START( nmg5 )
450 	PORT_START("DSW")
451 	PORT_DIPNAME( 0x0001, 0x0001, "Game Title" )            PORT_DIPLOCATION("SW1:8")
452 	PORT_DIPSETTING(      0x0001, "Multi 5" )
453 	PORT_DIPSETTING(      0x0000, "New Multi Game 5" )
454 	PORT_DIPNAME( 0x0006, 0x0006, "Crocodiles (Tong Boy)" ) PORT_DIPLOCATION("SW1:7,6")   // See notes
455 	PORT_DIPSETTING(      0x0006, "Pattern 1" )
456 	PORT_DIPSETTING(      0x0002, "Pattern 2" )
457 	PORT_DIPSETTING(      0x0004, "Pattern 3" )
458 	PORT_DIPSETTING(      0x0000, "Pattern 4" )
459 	PORT_DIPNAME( 0x0018, 0x0018, "License" )               PORT_DIPLOCATION("SW1:5,4")
460 	PORT_DIPSETTING(      0x0000, "New Impeuropex Corp. S.R.L." )
461 	PORT_DIPSETTING(      0x0008, "BNS Enterprises" )
462 	PORT_DIPSETTING(      0x0010, "Nova Games" )
DEF_STR(None)463 	PORT_DIPSETTING(      0x0018, DEF_STR( None ) )
464 	PORT_DIPNAME( 0x0020, 0x0020, "1P Vs 2P Rounds (Bubble Gum)" )    PORT_DIPLOCATION("SW1:3")
465 	PORT_DIPSETTING(      0x0020, "Best of 1" )             /* 1 winning round needed */
466 	PORT_DIPSETTING(      0x0000, "Best of 3" )             /* 2 winning rounds needed */
467 	PORT_DIPNAME( 0x00c0, 0x00c0, DEF_STR( Difficulty ) )   PORT_DIPLOCATION("SW1:2,1")
468 	PORT_DIPSETTING(      0x0040, DEF_STR( Easy ) )
469 	PORT_DIPSETTING(      0x00c0, DEF_STR( Normal ) )
470 	PORT_DIPSETTING(      0x0080, DEF_STR( Hard ) )
471 	PORT_DIPSETTING(      0x0000, DEF_STR( Hardest ) )
472 	PORT_DIPNAME( 0x0300, 0x0300, DEF_STR( Coin_B ) )       PORT_DIPLOCATION("SW2:8,7")
473 	PORT_DIPSETTING(      0x0200, DEF_STR( 2C_1C ) )        PORT_CONDITION("DSW",0x4000,NOTEQUALS,0x00)
474 	PORT_DIPSETTING(      0x0300, DEF_STR( 1C_1C ) )        PORT_CONDITION("DSW",0x4000,NOTEQUALS,0x00)
475 	PORT_DIPSETTING(      0x0000, DEF_STR( 2C_3C ) )        PORT_CONDITION("DSW",0x4000,NOTEQUALS,0x00)
476 	PORT_DIPSETTING(      0x0100, DEF_STR( 1C_2C ) )        PORT_CONDITION("DSW",0x4000,NOTEQUALS,0x00)
477 	PORT_DIPSETTING(      0x0300, DEF_STR( 1C_1C ) )        PORT_CONDITION("DSW",0x4000,EQUALS,0x00)
478 	PORT_DIPSETTING(      0x0100, DEF_STR( 1C_3C ) )        PORT_CONDITION("DSW",0x4000,EQUALS,0x00)
479 	PORT_DIPSETTING(      0x0200, DEF_STR( 1C_4C ) )        PORT_CONDITION("DSW",0x4000,EQUALS,0x00)
480 	PORT_DIPSETTING(      0x0000, DEF_STR( 1C_6C ) )        PORT_CONDITION("DSW",0x4000,EQUALS,0x00)
481 	PORT_DIPNAME( 0x0c00, 0x0c00, DEF_STR( Coin_A ) )       PORT_DIPLOCATION("SW2:6,5")
482 	PORT_DIPSETTING(      0x0800, DEF_STR( 2C_1C ) )        PORT_CONDITION("DSW",0x4000,NOTEQUALS,0x00)
483 	PORT_DIPSETTING(      0x0c00, DEF_STR( 1C_1C ) )        PORT_CONDITION("DSW",0x4000,NOTEQUALS,0x00)
484 	PORT_DIPSETTING(      0x0000, DEF_STR( 2C_3C ) )        PORT_CONDITION("DSW",0x4000,NOTEQUALS,0x00)
485 	PORT_DIPSETTING(      0x0400, DEF_STR( 1C_2C ) )        PORT_CONDITION("DSW",0x4000,NOTEQUALS,0x00)
486 	PORT_DIPSETTING(      0x0000, DEF_STR( 4C_1C ) )        PORT_CONDITION("DSW",0x4000,EQUALS,0x00)
487 	PORT_DIPSETTING(      0x0800, DEF_STR( 3C_1C ) )        PORT_CONDITION("DSW",0x4000,EQUALS,0x00)
488 	PORT_DIPSETTING(      0x0400, DEF_STR( 2C_1C ) )        PORT_CONDITION("DSW",0x4000,EQUALS,0x00)
489 	PORT_DIPSETTING(      0x0c00, DEF_STR( 1C_1C ) )        PORT_CONDITION("DSW",0x4000,EQUALS,0x00)
490 	PORT_DIPUNUSED_DIPLOC( 0x1000, IP_ACTIVE_LOW, "SW2:4" )                               // See notes
491 	PORT_DIPNAME( 0x2000, 0x0000, DEF_STR( Demo_Sounds ) )  PORT_DIPLOCATION("SW2:3")
492 	PORT_DIPSETTING(      0x2000, DEF_STR( Off ) )
493 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
494 	PORT_DIPNAME( 0x4000, 0x4000, "Coin Type" )             PORT_DIPLOCATION("SW2:2")
495 	PORT_DIPSETTING(      0x4000, "1" )
496 	PORT_DIPSETTING(      0x0000, "2" )
497 	PORT_SERVICE_DIPLOC( 0x8000, IP_ACTIVE_LOW, "SW2:1" )
498 
499 	PORT_START("SYSTEM")    /* Coins */
500 	PORT_BIT( 0x0001, IP_ACTIVE_LOW,  IPT_COIN1 )
501 	PORT_BIT( 0x0002, IP_ACTIVE_LOW,  IPT_COIN2 )
502 	PORT_BIT( 0x0050, IP_ACTIVE_HIGH, IPT_CUSTOM )         // otherwise it doesn't boot (unneeded for 'nmg5e' - see notes)
503 	PORT_BIT( 0xffac, IP_ACTIVE_LOW,  IPT_UNUSED )          // tested in service mode
504 
505 	PORT_START("INPUTS")
506 	PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP )    PORT_PLAYER(1) PORT_8WAY
507 	PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN )  PORT_PLAYER(1) PORT_8WAY
508 	PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT )  PORT_PLAYER(1) PORT_8WAY
509 	PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(1) PORT_8WAY
510 	PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
511 	PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
512 	PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1)
513 	PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START1 )
514 	PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP )    PORT_PLAYER(2) PORT_8WAY
515 	PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN )  PORT_PLAYER(2) PORT_8WAY
516 	PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT )  PORT_PLAYER(2) PORT_8WAY
517 	PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2) PORT_8WAY
518 	PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
519 	PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
520 	PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2)
521 	PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_START2 )
522 INPUT_PORTS_END
523 
524 static INPUT_PORTS_START( searchey )
525 	PORT_START("DSW")
526 	PORT_DIPNAME( 0x0003, 0x0003, "Timer Speed" )           PORT_DIPLOCATION("SW1:8,7")
527 	PORT_DIPSETTING(      0x0003, "Slowest" )
528 	PORT_DIPSETTING(      0x0002, "Slow" )
529 	PORT_DIPSETTING(      0x0001, "Fast" )
530 	PORT_DIPSETTING(      0x0000, "Fastest" )
531 	PORT_DIPNAME( 0x000c, 0x0000, "Helps" )                 PORT_DIPLOCATION("SW1:6,5")
532 	PORT_DIPSETTING(      0x000c, "1" )
533 	PORT_DIPSETTING(      0x0008, "2" )
534 	PORT_DIPSETTING(      0x0004, "3" )
535 	PORT_DIPSETTING(      0x0000, "4" )
536 	PORT_DIPNAME( 0x0030, 0x0030, DEF_STR( Lives ) )        PORT_DIPLOCATION("SW1:4,3")
537 	PORT_DIPSETTING(      0x0020, "3" )
538 	PORT_DIPSETTING(      0x0010, "4" )
539 	PORT_DIPSETTING(      0x0030, "5" )
540 	PORT_DIPSETTING(      0x0000, "6" )
541 	PORT_DIPNAME( 0x00c0, 0x00c0, DEF_STR( Coinage ) )      PORT_DIPLOCATION("SW1:2,1")
542 	PORT_DIPSETTING(      0x0000, DEF_STR( 3C_1C ) )
543 	PORT_DIPSETTING(      0x0040, DEF_STR( 2C_1C ) )
544 	PORT_DIPSETTING(      0x00c0, DEF_STR( 1C_1C ) )
545 	PORT_DIPSETTING(      0x0080, DEF_STR( 1C_2C ) )
546 	PORT_SERVICE_DIPLOC( 0x0100, IP_ACTIVE_LOW, "SW2:8" )
547 	PORT_DIPNAME( 0x0200, 0x0000, DEF_STR( Demo_Sounds ) )  PORT_DIPLOCATION("SW2:7")
548 	PORT_DIPSETTING(      0x0200, DEF_STR( Off ) )
549 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
550 	PORT_DIPUNUSED_DIPLOC( 0x0400, IP_ACTIVE_LOW, "SW2:6" )
551 	PORT_DIPNAME( 0x3800, 0x3000, DEF_STR( Language ) )     PORT_DIPLOCATION("SW2:5,4,3")
552 	PORT_DIPSETTING(      0x0000, "Korean Duplicate 1" )
553 	PORT_DIPSETTING(      0x0800, "Korean Duplicate 2" )
554 	PORT_DIPSETTING(      0x1000, "Korean Duplicate 3" )
555 	PORT_DIPSETTING(      0x1800, DEF_STR( Italian ) )
556 	PORT_DIPSETTING(      0x2000, DEF_STR( Korean ) )
557 	PORT_DIPSETTING(      0x2800, DEF_STR( Japanese ) )
558 	PORT_DIPSETTING(      0x3000, DEF_STR( English ) )
559 	PORT_DIPSETTING(      0x3800, "Korean Duplicate 4" )
560 	PORT_DIPUNUSED_DIPLOC( 0x4000, IP_ACTIVE_LOW, "SW2:2" )
561 	PORT_DIPNAME( 0x8000, 0x8000, "Items to find" )         PORT_DIPLOCATION("SW2:1")     // See notes
562 	PORT_DIPSETTING(      0x0000, "Less" )
563 	PORT_DIPSETTING(      0x8000, "More" )
564 
565 	PORT_START("SYSTEM")    /* Coins */
566 	PORT_BIT( 0x0001, IP_ACTIVE_LOW,  IPT_COIN1 )
567 	PORT_BIT( 0xfffe, IP_ACTIVE_LOW,  IPT_UNUSED )          // tested in service mode
568 
569 	PORT_START("INPUTS")
570 	PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP )    PORT_PLAYER(1) PORT_8WAY
571 	PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN )  PORT_PLAYER(1) PORT_8WAY
572 	PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT )  PORT_PLAYER(1) PORT_8WAY
573 	PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(1) PORT_8WAY
574 	PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) PORT_NAME( "Spot" )
575 	PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1) PORT_NAME( "Help" )
576 	PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNUSED )           // tested in service mode
577 	PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START1 )
578 	PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP )    PORT_PLAYER(2) PORT_8WAY
579 	PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN )  PORT_PLAYER(2) PORT_8WAY
580 	PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT )  PORT_PLAYER(2) PORT_8WAY
581 	PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2) PORT_8WAY
582 	PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) PORT_NAME( "Spot" )
583 	PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2) PORT_NAME( "Help" )
584 	PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNUSED )           // tested in service mode
585 	PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_START2 )
586 INPUT_PORTS_END
587 
588 static INPUT_PORTS_START( searcheya )
589 	PORT_INCLUDE(searchey)
590 
591 	PORT_MODIFY("DSW")
592 	PORT_DIPUNUSED_DIPLOC( 0x0800, IP_ACTIVE_LOW, "SW2:5" )
593 	PORT_DIPUNUSED_DIPLOC( 0x1000, IP_ACTIVE_LOW, "SW2:4" )
594 	PORT_DIPNAME( 0x2000, 0x0000, DEF_STR( Language ) )     PORT_DIPLOCATION("SW2:3")
595 	PORT_DIPSETTING(      0x0000, DEF_STR( English ) )
596 	PORT_DIPSETTING(      0x2000, DEF_STR( Korean ) )
597 INPUT_PORTS_END
598 
599 static INPUT_PORTS_START( searchp2 )
600 	PORT_INCLUDE(searchey)
601 
602 	PORT_MODIFY("DSW")
603 	PORT_DIPNAME( 0x0600, 0x0600, "Lucky Chance" )          PORT_DIPLOCATION("SW2:7,6")   // See notes
604 	PORT_DIPSETTING(      0x0600, "Table 1" )
605 	PORT_DIPSETTING(      0x0400, "Table 2" )
606 	PORT_DIPSETTING(      0x0200, "Table 3" )
607 	PORT_DIPSETTING(      0x0000, "Table 4" )
608 	PORT_DIPNAME( 0x3800, 0x3000, DEF_STR( Language ) )     PORT_DIPLOCATION("SW2:5,4,3") // See notes
609 	PORT_DIPSETTING(      0x0000, "Korean Duplicate 1" )
610 	PORT_DIPSETTING(      0x0800, "Korean Duplicate 2" )
611 	PORT_DIPSETTING(      0x1000, DEF_STR( Korean ) )
612 	PORT_DIPSETTING(      0x1800, DEF_STR( Italian ) )
613 	PORT_DIPSETTING(      0x2000, DEF_STR( Chinese ) )
614 	PORT_DIPSETTING(      0x2800, DEF_STR( Japanese ) )
615 	PORT_DIPSETTING(      0x3000, DEF_STR( English ) )
616 	PORT_DIPSETTING(      0x3800, "Korean Duplicate 3" )
617 	PORT_DIPNAME( 0x4000, 0x4000, "Lucky Timer" )           PORT_DIPLOCATION("SW2:2")     // See notes
618 	PORT_DIPSETTING(      0x0000, "Less" )
619 	PORT_DIPSETTING(      0x4000, "More" )
620 	PORT_DIPNAME( 0x8000, 0x8000, "Items to find" )         PORT_DIPLOCATION("SW2:1")     // See notes
621 	PORT_DIPSETTING(      0x0000, "Less" )
622 	PORT_DIPSETTING(      0x8000, "More" )
623 INPUT_PORTS_END
624 
625 static INPUT_PORTS_START( pclubys )
626 	PORT_START("DSW")
627 	PORT_DIPNAME( 0x0001, 0x0000, "Lives (Mad Ball)" )      PORT_DIPLOCATION("SW1:8")
628 	PORT_DIPSETTING(      0x0000, "3" )
629 	PORT_DIPSETTING(      0x0001, "4" )
630 	PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Demo_Sounds ) )  PORT_DIPLOCATION("SW1:7")
631 	PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
632 	PORT_DIPSETTING(      0x0002, DEF_STR( On ) )
633 	PORT_DIPNAME( 0x0004, 0x0004, "1P Vs 2P Rounds" )       PORT_DIPLOCATION("SW1:6")     // See notes
634 	PORT_DIPSETTING(      0x0000, "Best of 1" )             /* 1 winning round needed */
635 	PORT_DIPSETTING(      0x0004, "Best of 3" )             /* 2 winning rounds needed */
636 	PORT_DIPNAME( 0x0008, 0x0000, "Nudity" )                PORT_DIPLOCATION("SW1:5")     // See notes
637 	PORT_DIPSETTING(      0x0008, "Soft only" )
638 	PORT_DIPSETTING(      0x0000, "Soft and Hard" )
639 	PORT_DIPNAME( 0x0030, 0x0030, DEF_STR( Difficulty ) )   PORT_DIPLOCATION("SW1:4,3")
640 	PORT_DIPSETTING(      0x0030, DEF_STR( Easy ) )
641 	PORT_DIPSETTING(      0x0020, DEF_STR( Normal ) )
642 	PORT_DIPSETTING(      0x0010, DEF_STR( Hard ) )
643 	PORT_DIPSETTING(      0x0000, DEF_STR( Hardest ) )
644 	PORT_DIPNAME( 0x00c0, 0x00c0, DEF_STR( Coinage ) )      PORT_DIPLOCATION("SW1:2,1")
645 	PORT_DIPSETTING(      0x0000, DEF_STR( 3C_1C ) )
646 	PORT_DIPSETTING(      0x0040, DEF_STR( 2C_1C ) )
647 	PORT_DIPSETTING(      0x00c0, DEF_STR( 1C_1C ) )
648 	PORT_DIPSETTING(      0x0080, DEF_STR( 1C_2C ) )
649 	PORT_SERVICE_DIPLOC( 0x0100, IP_ACTIVE_LOW, "SW2:8" )
650 	PORT_DIPUNUSED_DIPLOC( 0x0200, IP_ACTIVE_LOW, "SW2:7" )
651 	PORT_DIPUNUSED_DIPLOC( 0x0400, IP_ACTIVE_LOW, "SW2:6" )
652 	PORT_DIPUNUSED_DIPLOC( 0x0800, IP_ACTIVE_LOW, "SW2:5" )
653 	PORT_DIPNAME( 0x3000, 0x3000, "Timer Speed (Magic Eye)" )    PORT_DIPLOCATION("SW2:4,3")
654 	PORT_DIPSETTING(      0x3000, "Slowest" )
655 	PORT_DIPSETTING(      0x2000, "Slow" )
656 	PORT_DIPSETTING(      0x1000, "Fast" )
657 	PORT_DIPSETTING(      0x0000, "Fastest" )
658 	PORT_DIPNAME( 0x4000, 0x0000, "Lives (Magic Eye)" )     PORT_DIPLOCATION("SW2:2")
659 	PORT_DIPSETTING(      0x0000, "3" )
660 	PORT_DIPSETTING(      0x4000, "4" )
661 	PORT_DIPNAME( 0x8000, 0x8000, "Timer Speed (Box Logic)" )    PORT_DIPLOCATION("SW2:1")
662 	PORT_DIPSETTING(      0x8000, "Slow" )
663 	PORT_DIPSETTING(      0x0000, "Fast" )
664 
665 	PORT_START("SYSTEM")
666 	PORT_BIT( 0x0001, IP_ACTIVE_LOW,  IPT_COIN1 )
667 	PORT_BIT( 0xfffe, IP_ACTIVE_LOW,  IPT_UNUSED )          // tested in service mode
668 
669 	PORT_START("INPUTS")
670 	PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP )    PORT_PLAYER(1) PORT_8WAY
671 	PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN )  PORT_PLAYER(1) PORT_8WAY
672 	PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT )  PORT_PLAYER(1) PORT_8WAY
673 	PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(1) PORT_8WAY
674 	PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
675 	PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
676 	PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1)
677 	PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START1 )
678 	PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP )    PORT_PLAYER(2) PORT_8WAY
679 	PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN )  PORT_PLAYER(2) PORT_8WAY
680 	PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT )  PORT_PLAYER(2) PORT_8WAY
681 	PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2) PORT_8WAY
682 	PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
683 	PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
684 	PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2)
685 	PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_START2 )
686 INPUT_PORTS_END
687 
688 static INPUT_PORTS_START( garogun )
689 	PORT_START("DSW")
690 	PORT_DIPNAME( 0x0003, 0x0003, "Helps" )                 PORT_DIPLOCATION("SW1:8,7")
691 	PORT_DIPSETTING(      0x0000, "1" )
692 	PORT_DIPSETTING(      0x0001, "2" )
693 	PORT_DIPSETTING(      0x0002, "3" )
694 	PORT_DIPSETTING(      0x0003, "4" )
695 	PORT_DIPNAME( 0x000c, 0x000c, "Timer Speed (Bonus Levels)" ) PORT_DIPLOCATION("SW1:6,5")
696 	PORT_DIPSETTING(      0x000c, "Slowest" )
697 	PORT_DIPSETTING(      0x0008, "Slow" )
698 	PORT_DIPSETTING(      0x0004, "Fast" )
699 	PORT_DIPSETTING(      0x0000, "Fastest" )
700 	PORT_DIPNAME( 0x0030, 0x0030, "Timer Speed (Main Levels)" )  PORT_DIPLOCATION("SW1:4,3")
701 	PORT_DIPSETTING(      0x0030, "Slowest" )
702 	PORT_DIPSETTING(      0x0020, "Slow" )
703 	PORT_DIPSETTING(      0x0010, "Fast" )
704 	PORT_DIPSETTING(      0x0000, "Fastest" )
705 	PORT_DIPNAME( 0x00c0, 0x00c0, DEF_STR( Coinage ) )      PORT_DIPLOCATION("SW1:2,1")
706 	PORT_DIPSETTING(      0x0000, DEF_STR( 3C_1C ) )
707 	PORT_DIPSETTING(      0x0040, DEF_STR( 2C_1C ) )
708 	PORT_DIPSETTING(      0x00c0, DEF_STR( 1C_1C ) )
709 	PORT_DIPSETTING(      0x0080, DEF_STR( 1C_2C ) )
710 	PORT_SERVICE_DIPLOC( 0x0100, IP_ACTIVE_LOW, "SW2:8" )
711 	PORT_DIPNAME( 0x0200, 0x0000, DEF_STR( Demo_Sounds ) )  PORT_DIPLOCATION("SW2:7")
712 	PORT_DIPSETTING(      0x0200, DEF_STR( Off ) )
713 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
714 	PORT_DIPUNUSED_DIPLOC( 0x0400, IP_ACTIVE_LOW, "SW2:6" )
715 	PORT_DIPUNUSED_DIPLOC( 0x0800, IP_ACTIVE_LOW, "SW2:5" )
716 	PORT_DIPUNUSED_DIPLOC( 0x1000, IP_ACTIVE_LOW, "SW2:4" )
717 	PORT_DIPUNUSED_DIPLOC( 0x2000, IP_ACTIVE_LOW, "SW2:3" )
718 	PORT_DIPUNUSED_DIPLOC( 0x4000, IP_ACTIVE_LOW, "SW2:2" )
719 	PORT_DIPUNUSED_DIPLOC( 0x8000, IP_ACTIVE_LOW, "SW2:1" )
720 
721 	PORT_START("SYSTEM")    /* Coins */
722 	PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 )
723 	PORT_BIT( 0xfffe, IP_ACTIVE_LOW, IPT_UNUSED )           // tested in service mode
724 
725 	PORT_START("INPUTS")
726 	PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY
727 	PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY
728 	PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY
729 	PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY
730 	PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 )
731 	PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 )
732 	PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START1 )
733 	PORT_BIT( 0xff40, IP_ACTIVE_LOW, IPT_UNUSED )           // tested in service mode
734 INPUT_PORTS_END
735 
736 
737 static INPUT_PORTS_START( 7ordi )
738 	PORT_START("DSW")
739 	PORT_DIPNAME( 0x0001, 0x0001, "High-Low Error" )        PORT_DIPLOCATION("SW1:8")
740 	PORT_DIPSETTING(      0x0001, "-500" )
741 	PORT_DIPSETTING(      0x0000, "Lose All" )
742 	PORT_DIPNAME( 0x0002, 0x0002, "Minimum Credits" )       PORT_DIPLOCATION("SW1:7")
743 	PORT_DIPSETTING(      0x0002, "300" )
744 	PORT_DIPSETTING(      0x0000, "500" )
745 	PORT_DIPNAME( 0x000c, 0x0000, "Credit Limit" )          PORT_DIPLOCATION("SW1:6,5")
746 	PORT_DIPSETTING(      0x000c, "10000" )
747 	PORT_DIPSETTING(      0x0008, "30000" )
748 	PORT_DIPSETTING(      0x0004, "50000" )
749 	PORT_DIPSETTING(      0x0000, "100000" )
750 	PORT_DIPNAME( 0x0030, 0x0030, "Bet" )                   PORT_DIPLOCATION("SW1:4,3")
751 	PORT_DIPSETTING(      0x0030, "50 Credits" )
752 	PORT_DIPSETTING(      0x0020, "100 Credits" )
753 	PORT_DIPSETTING(      0x0010, "150 Credits" )
754 	PORT_DIPSETTING(      0x0000, "200 Credits" )
755 	PORT_DIPNAME( 0x00c0, 0x00c0, DEF_STR( Coinage ) )      PORT_DIPLOCATION("SW1:2,1")
756 	PORT_DIPSETTING(      0x00c0, "1 Coin 50 Credits" )
757 	PORT_DIPSETTING(      0x0080, "1 Coin 100 Credits" )
758 	PORT_DIPSETTING(      0x0040, "1 Coin 500 Credits" )
759 	PORT_DIPSETTING(      0x0000, "1 Coin 1000 Credits" )
760 	PORT_SERVICE_DIPLOC( 0x0100, IP_ACTIVE_LOW, "SW2:8" )
761 	PORT_DIPNAME( 0x0200, 0x0200, DEF_STR( Unknown ) )      PORT_DIPLOCATION("SW2:7")     // Not even sure it is used
762 	PORT_DIPSETTING(      0x0200, DEF_STR( Off ) )
763 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
764 	PORT_DIPNAME( 0x0400, 0x0000, "Winnings" )              PORT_DIPLOCATION("SW2:6")     // See notes
765 	PORT_DIPSETTING(      0x0400, "Medals and Credits" )
766 	PORT_DIPSETTING(      0x0000, "Credits only" )
767 	PORT_DIPNAME( 0x1800, 0x1800, "Medals Table" )          PORT_DIPLOCATION("SW2:5,4")   // To be confirmed
768 	PORT_DIPSETTING(      0x1800, "x1.0" )                  /*  50  35  25  15   5 */
769 	PORT_DIPSETTING(      0x1000, "x1.4" )                  /*  70  50  35  20   7 */
770 	PORT_DIPSETTING(      0x0800, "x2.0" )                  /* 100  70  50  30  10 */
771 	PORT_DIPSETTING(      0x0000, "x3.0" )                  /* 150 100  75  45  15 */
772 	PORT_DIPNAME( 0xe000, 0xe000, "Payout %" )              PORT_DIPLOCATION("SW2:3,2,1")
773 	PORT_DIPSETTING(      0xe000, "90%" )
774 	PORT_DIPSETTING(      0xc000, "85%" )
775 	PORT_DIPSETTING(      0xa000, "80%" )
776 	PORT_DIPSETTING(      0x8000, "75%" )
777 	PORT_DIPSETTING(      0x6000, "70%" )
778 	PORT_DIPSETTING(      0x4000, "65%" )
779 	PORT_DIPSETTING(      0x2000, "60%" )
780 	PORT_DIPSETTING(      0x0000, "55%" )
781 
782 	PORT_START("SYSTEM")    /* Coins */
783 	PORT_BIT( 0x0001, IP_ACTIVE_LOW,  IPT_COIN1 )
784 	PORT_BIT( 0xfffe, IP_ACTIVE_LOW,  IPT_UNUSED )          // tested in service mode
785 
786 	PORT_START("INPUTS")
787 	PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_PLAYER(1)
788 	PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(1)
789 	PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
790 	PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
791 	PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1)
792 	PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN )
793 	PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
794 	PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START1 )
795 	PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_UNKNOWN )
796 	PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_SERVICE2 ) PORT_NAME( "Reset Credits" )
797 	PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_PLAYER(1)
798 	PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN )
799 	PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNKNOWN )
800 	PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN )
801 	PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
802 	PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_SERVICE1 )
803 INPUT_PORTS_END
804 
805 static INPUT_PORTS_START( wondstck )
806 	PORT_START("DSW")
807 	PORT_DIPUNUSED_DIPLOC( 0x0001, IP_ACTIVE_LOW, "SW1:8" )
808 	PORT_DIPUNUSED_DIPLOC( 0x0002, IP_ACTIVE_LOW, "SW1:7" )
809 	PORT_DIPUNUSED_DIPLOC( 0x0004, IP_ACTIVE_LOW, "SW1:6" )
810 	PORT_DIPUNUSED_DIPLOC( 0x0008, IP_ACTIVE_LOW, "SW1:5" )
811 	PORT_DIPNAME( 0x0010, 0x0010, "Helps" )                 PORT_DIPLOCATION("SW1:4")
812 	PORT_DIPSETTING(      0x0010, "3" )
813 	PORT_DIPSETTING(      0x0000, "5" )
814 	PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Lives ) )        PORT_DIPLOCATION("SW1:3")
815 	PORT_DIPSETTING(      0x0020, "3" )
816 	PORT_DIPSETTING(      0x0000, "5" )
817 	PORT_DIPNAME( 0x00c0, 0x00c0, DEF_STR( Coinage ) )      PORT_DIPLOCATION("SW1:2,1")
818 	PORT_DIPSETTING(      0x0000, DEF_STR( 3C_1C ) )
819 	PORT_DIPSETTING(      0x0040, DEF_STR( 2C_1C ) )
820 	PORT_DIPSETTING(      0x00c0, DEF_STR( 1C_1C ) )
821 	PORT_DIPSETTING(      0x0080, DEF_STR( 1C_2C ) )
822 	PORT_SERVICE_DIPLOC( 0x0100, IP_ACTIVE_LOW, "SW2:8" )
823 	PORT_DIPNAME( 0x0200, 0x0000, DEF_STR( Demo_Sounds ) )  PORT_DIPLOCATION("SW2:7")
824 	PORT_DIPSETTING(      0x0200, DEF_STR( Off ) )
825 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
826 	PORT_DIPUNUSED_DIPLOC( 0x0400, IP_ACTIVE_LOW, "SW2:6" )
827 	PORT_DIPUNUSED_DIPLOC( 0x0800, IP_ACTIVE_LOW, "SW2:5" )
828 	PORT_DIPUNUSED_DIPLOC( 0x1000, IP_ACTIVE_LOW, "SW2:4" )
829 	PORT_DIPUNUSED_DIPLOC( 0x2000, IP_ACTIVE_LOW, "SW2:3" )
830 	PORT_DIPNAME( 0xc000, 0xc000, DEF_STR( Difficulty ) )   PORT_DIPLOCATION("SW2:2,1")
831 	PORT_DIPSETTING(      0x8000, DEF_STR( Easy ) )
832 	PORT_DIPSETTING(      0xc000, DEF_STR( Normal ) )
833 	PORT_DIPSETTING(      0x4000, DEF_STR( Hard ) )
834 	PORT_DIPSETTING(      0x0000, DEF_STR( Hardest ) )
835 
836 	PORT_START("SYSTEM")    /* Coins */
837 	PORT_BIT( 0x0001, IP_ACTIVE_LOW,  IPT_COIN1 )
838 	PORT_BIT( 0xfffe, IP_ACTIVE_LOW,  IPT_UNUSED )          // tested in service mode
839 
840 	PORT_START("INPUTS")
841 	PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_JOYSTICK_UP )    PORT_PLAYER(1) PORT_8WAY
842 	PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN )  PORT_PLAYER(1) PORT_8WAY
843 	PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT )  PORT_PLAYER(1) PORT_8WAY
844 	PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(1) PORT_8WAY
845 	PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1)
846 	PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1)
847 	PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNUSED )
848 	PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START1 )
849 	PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_JOYSTICK_UP )    PORT_PLAYER(2) PORT_8WAY
850 	PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN )  PORT_PLAYER(2) PORT_8WAY
851 	PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT )  PORT_PLAYER(2) PORT_8WAY
852 	PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2) PORT_8WAY
853 	PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2)
854 	PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2)
855 	PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNUSED )
856 	PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_START2 )
857 INPUT_PORTS_END
858 
859 template<int Layer>
860 TILE_GET_INFO_MEMBER(nmg5_state::get_tile_info){ tileinfo.set(0, m_vram[Layer][tile_index] | (m_gfx_bank << 16), Layer ^ 1, 0);}
861 
video_start()862 void nmg5_state::video_start()
863 {
864 	m_tilemap[0] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(nmg5_state::get_tile_info<0>)), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
865 	m_tilemap[1] = &machine().tilemap().create(*m_gfxdecode, tilemap_get_info_delegate(*this, FUNC(nmg5_state::get_tile_info<1>)), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
866 	m_tilemap[1]->set_transparent_pen(0);
867 
868 	m_pixmap = std::make_unique<bitmap_ind16>(512, 256);
869 
870 	const rectangle pixmap_rect(0,511,0,255);
871 	m_pixmap->fill(0x300, pixmap_rect);
872 
873 	save_item(NAME(*m_pixmap));
874 }
875 
876 
screen_update(screen_device & screen,bitmap_ind16 & bitmap,const rectangle & cliprect)877 uint32_t nmg5_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
878 {
879 	int const xoff = -12;
880 	int const yoff = -9;
881 	m_tilemap[0]->set_scrolly(0, m_scroll_ram[3] + 9);
882 	m_tilemap[0]->set_scrollx(0, m_scroll_ram[2] + 3);
883 	m_tilemap[1]->set_scrolly(0, m_scroll_ram[1] + 9);
884 	m_tilemap[1]->set_scrollx(0, m_scroll_ram[0] - 1);
885 
886 	m_tilemap[0]->draw(screen, bitmap, cliprect, 0, 0);
887 
888 	if (m_priority_reg == 0)
889 	{
890 		m_sprgen->draw_sprites(bitmap, cliprect, m_spriteram, 0x400);
891 		m_tilemap[1]->draw(screen, bitmap, cliprect, 0, 0);
892 		copybitmap_trans(bitmap, *m_pixmap, 0, 0, xoff, yoff, cliprect, 0x300);
893 	}
894 	else if (m_priority_reg == 1)
895 	{
896 		copybitmap_trans(bitmap, *m_pixmap, 0, 0, xoff, yoff, cliprect, 0x300);
897 		m_sprgen->draw_sprites(bitmap, cliprect, m_spriteram, 0x400);
898 		m_tilemap[1]->draw(screen, bitmap, cliprect, 0, 0);
899 	}
900 	else if (m_priority_reg == 2)
901 	{
902 		m_sprgen->draw_sprites(bitmap, cliprect, m_spriteram, 0x400);
903 		copybitmap_trans(bitmap, *m_pixmap, 0, 0, xoff, yoff, cliprect, 0x300);
904 		m_tilemap[1]->draw(screen, bitmap, cliprect, 0, 0);
905 	}
906 	else if (m_priority_reg == 3)
907 	{
908 		m_tilemap[1]->draw(screen, bitmap, cliprect, 0, 0);
909 		m_sprgen->draw_sprites(bitmap, cliprect, m_spriteram, 0x400);
910 		copybitmap_trans(bitmap, *m_pixmap, 0, 0, xoff, yoff, cliprect, 0x300);
911 	}
912 	else if (m_priority_reg == 7)
913 	{
914 		m_tilemap[1]->draw(screen, bitmap, cliprect, 0, 0);
915 		copybitmap_trans(bitmap, *m_pixmap, 0, 0, xoff, yoff, cliprect, 0x300);
916 		m_sprgen->draw_sprites(bitmap, cliprect, m_spriteram, 0x400);
917 	}
918 	return 0;
919 }
920 
921 
922 static const gfx_layout nmg5_layout_8x8x8 =
923 {
924 	8,8,
925 	RGN_FRAC(1,8),
926 	8,
927 	{ RGN_FRAC(7,8),RGN_FRAC(6,8),RGN_FRAC(5,8),RGN_FRAC(4,8),RGN_FRAC(3,8),RGN_FRAC(2,8),RGN_FRAC(1,8),RGN_FRAC(0,8) },
928 	{ 0,1,2,3,4,5,6,7 },
929 	{ 0*8,1*8,2*8,3*8,4*8,5*8,6*8,7*8 },
930 	8*8
931 };
932 
933 static const gfx_layout pclubys_layout_8x8x8 =
934 {
935 	8,8,
936 	RGN_FRAC(1,4),
937 	8,
938 	{ RGN_FRAC(1,4)+8,RGN_FRAC(2,4)+0,RGN_FRAC(0,4)+8,RGN_FRAC(0,4)+0,RGN_FRAC(3,4)+8,RGN_FRAC(3,4)+0,RGN_FRAC(2,4)+8,RGN_FRAC(1,4)+0 },
939 	{ 0,1,2,3,4,5,6,7 },
940 	{ 0*16,1*16,2*16,3*16,4*16,5*16,6*16,7*16 },
941 	8*16
942 };
943 
944 static const gfx_layout layout_16x16x5 =
945 {
946 	16,16,
947 	RGN_FRAC(1,5),
948 	5,
949 	{ RGN_FRAC(2,5),RGN_FRAC(3,5),RGN_FRAC(1,5),RGN_FRAC(4,5),RGN_FRAC(0,5) },
950 	{ 128,129,130,131,132,133,134,135, 0,1,2,3,4,5,6,7, },
951 	{ 0*8,1*8,2*8,3*8,4*8,5*8,6*8,7*8,8*8,9*8,10*8,11*8,12*8,13*8,14*8,15*8 },
952 	32*8
953 };
954 
955 static GFXDECODE_START( gfx_nmg5 )
956 	GFXDECODE_ENTRY( "gfx1", 0, nmg5_layout_8x8x8, 0x000,  2 )
957 	GFXDECODE_ENTRY( "gfx2", 0, layout_16x16x5,    0x200, 16 )
958 GFXDECODE_END
959 
GFXDECODE_START(gfx_pclubys)960 static GFXDECODE_START( gfx_pclubys )
961 	GFXDECODE_ENTRY( "gfx1", 0, pclubys_layout_8x8x8, 0x000,  2 )
962 	GFXDECODE_ENTRY( "gfx2", 0, layout_16x16x5,       0x200, 16 )
963 GFXDECODE_END
964 
965 
966 void nmg5_state::machine_start()
967 {
968 	save_item(NAME(m_gfx_bank));
969 	save_item(NAME(m_priority_reg));
970 	save_item(NAME(m_input_data));
971 }
972 
machine_reset()973 void nmg5_state::machine_reset()
974 {
975 	/* some games don't set the priority register so it should be hard-coded to a normal layout */
976 	m_priority_reg = 7;
977 
978 	m_gfx_bank = 0;
979 	m_input_data = 0;
980 }
981 
nmg5(machine_config & config)982 void nmg5_state::nmg5(machine_config &config)
983 {
984 	/* basic machine hardware */
985 	M68000(config, m_maincpu, 16000000);    /* 16 MHz */
986 	m_maincpu->set_addrmap(AS_PROGRAM, &nmg5_state::nmg5_map);
987 	m_maincpu->set_vblank_int("screen", FUNC(nmg5_state::irq6_line_hold));
988 
989 	Z80(config, m_soundcpu, 4000000);       /* 4 MHz */
990 	m_soundcpu->set_addrmap(AS_PROGRAM, &nmg5_state::nmg5_sound_map);
991 	m_soundcpu->set_addrmap(AS_IO, &nmg5_state::sound_io_map);
992 
993 	/* video hardware */
994 	screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
995 	screen.set_refresh_hz(60);
996 	screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
997 	screen.set_size(320, 256);
998 	screen.set_visarea(0, 319, 0, 239);
999 	screen.set_screen_update(FUNC(nmg5_state::screen_update));
1000 	screen.set_palette("palette");
1001 
1002 	GFXDECODE(config, m_gfxdecode, "palette", gfx_nmg5);
1003 	PALETTE(config, "palette").set_format(palette_device::xBGR_555, 0x400);
1004 
1005 	DECO_SPRITE(config, m_sprgen, 0);
1006 	m_sprgen->set_gfx_region(1);
1007 	m_sprgen->set_is_bootleg(true);
1008 	m_sprgen->set_flipallx(1);
1009 	m_sprgen->set_offsets(0, 8);
1010 	m_sprgen->set_gfxdecode_tag(m_gfxdecode);
1011 
1012 	/* sound hardware */
1013 	SPEAKER(config, "mono").front_center();
1014 
1015 	GENERIC_LATCH_8(config, m_soundlatch);
1016 
1017 	ym3812_device &ymsnd(YM3812(config, "ymsnd", 4000000)); /* 4MHz */
1018 	ymsnd.irq_handler().set_inputline(m_soundcpu, 0);
1019 	ymsnd.add_route(ALL_OUTPUTS, "mono", 1.0);
1020 
1021 	OKIM6295(config, m_oki, 1000000 , okim6295_device::PIN7_HIGH);
1022 	m_oki->add_route(ALL_OUTPUTS, "mono", 1.0);
1023 }
1024 
garogun(machine_config & config)1025 void nmg5_state::garogun(machine_config &config)
1026 {
1027 	nmg5(config);
1028 	m_maincpu->set_addrmap(AS_PROGRAM, &nmg5_state::pclubys_map);
1029 	m_soundcpu->set_addrmap(AS_PROGRAM, &nmg5_state::pclubys_sound_map);
1030 }
1031 
pclubys(machine_config & config)1032 void nmg5_state::pclubys(machine_config &config)
1033 {
1034 	nmg5(config);
1035 	m_maincpu->set_addrmap(AS_PROGRAM, &nmg5_state::pclubys_map);
1036 	m_soundcpu->set_addrmap(AS_PROGRAM, &nmg5_state::pclubys_sound_map);
1037 	m_gfxdecode->set_info(gfx_pclubys);
1038 }
1039 
searchp2(machine_config & config)1040 void nmg5_state::searchp2(machine_config &config)
1041 {
1042 	nmg5(config);
1043 	subdevice<screen_device>("screen")->set_refresh_hz(55); // !
1044 	m_gfxdecode->set_info(gfx_pclubys);
1045 }
1046 
_7ordi(machine_config & config)1047 void nmg5_state::_7ordi(machine_config &config)
1048 {
1049 	nmg5(config);
1050 	m_soundcpu->set_addrmap(AS_PROGRAM, &nmg5_state::pclubys_sound_map);
1051 }
1052 
1053 
1054 /*
1055 
1056 Multi 5 / New Multi Game 5
1057 Yunsung, 1997/1998
1058 
1059 PCB Layout
1060 ----------
1061 
1062 YS-1300
1063 +------------------------------------------+
1064 | 4.000MHz 6116  xra1           ufa1       |
1065 |          xh15   M6295         uj1        |
1066 | YM3014 YM3812 Z8400AB1        uf1        |
1067 |                               uh1        |
1068 |J                              uf2        |
1069 |A DIP1        62256                       |
1070 |M             62256    Actel   srom5 srom6|
1071 |M                      A1020B  srom7 srom8|
1072 |A     ub15             Actel   srom2 srom1|
1073 |      ub16             A1020B  srom4 srom3|
1074 |DIP2 MC68HC000P16                     6264|
1075 |                                      6264|
1076 | 16.00MHz 14.31818MHz                     |
1077 +------------------------------------------+
1078 
1079 Notes:
1080   68000 16MHz
1081   Z80A 4MHz
1082   K-664/K-666 & AD-65 (YM3014/YM3812 & OKI M6295)
1083   Actel A1020B PL84C (x2)
1084   4.000MHz, 16.000MHz & 14.31818MHz OSCs
1085 
1086 */
1087 
1088 ROM_START( nmg5 )
1089 	ROM_REGION( 0x100000, "maincpu", 0 )        /* 68000 Code */
1090 	ROM_LOAD16_BYTE( "ub15.bin", 0x000000, 0x80000, CRC(36af3e2f) SHA1(735aaa901290b1d921242869e81e59649905eb30) )
1091 	ROM_LOAD16_BYTE( "ub16.bin", 0x000001, 0x80000, CRC(2d9923d4) SHA1(e27549da311244db14ae1d3ad5e814a731a0f440) )
1092 
1093 	ROM_REGION( 0x10000, "soundcpu", 0 )        /* Z80 Code */
1094 	ROM_LOAD( "xh15.bin", 0x00000, 0x10000, CRC(12d047c4) SHA1(3123b1856219380ff598a2fad97a66863e30d80f) )
1095 
1096 	ROM_REGION( 0x400000, "gfx1", 0 )   /* 8x8x8 */
1097 	ROM_LOAD( "srom1.bin", 0x000000, 0x80000, CRC(6771b694) SHA1(115e5eb45bb05f7a8021b3af3b8e709bbdcae55e) )
1098 	ROM_LOAD( "srom2.bin", 0x080000, 0x80000, CRC(362d33af) SHA1(abf66ab9eabdd40fcd47bc291d60e7e4903cde74) )
1099 	ROM_LOAD( "srom3.bin", 0x100000, 0x80000, CRC(8bad69d1) SHA1(c68d6b318e86b6deb64cc0cd5b51a2ea3ce04fb8) )
CRC(e73a7fcb)1100 	ROM_LOAD( "srom4.bin", 0x180000, 0x80000, CRC(e73a7fcb) SHA1(b6213c0da61ba1c6dbe975365bcde17c71ea3388) )
1101 	ROM_LOAD( "srom5.bin", 0x200000, 0x80000, CRC(7300494e) SHA1(031a74d7a82d23cdd5976b88379b9119322da1a0) )
1102 	ROM_LOAD( "srom6.bin", 0x280000, 0x80000, CRC(74b5fdf9) SHA1(1c0e82a0e3cc1006b902e509076bbea04618320b) )
1103 	ROM_LOAD( "srom7.bin", 0x300000, 0x80000, CRC(bd2b9036) SHA1(28c2d86c9645e6738811f3ece7c2fa02cd6ae4a1) )
1104 	ROM_LOAD( "srom8.bin", 0x380000, 0x80000, CRC(dd38360e) SHA1(be7cb62369513b972c4370adf78df6fcf8caea0a) )
1105 
1106 	ROM_REGION( 0x140000, "gfx2", 0 )   /* 16x16x5 */
1107 	ROM_LOAD( "uf1.bin", 0x000000, 0x40000, CRC(9a9fb6f4) SHA1(4541d33493b9bba11b8e5ed35431271790763db4) )
1108 	ROM_LOAD( "uf2.bin", 0x040000, 0x40000, CRC(66954d63) SHA1(62a315640beb8b063886ea6ed1433a18f75e8d0d) )
1109 	ROM_LOAD( "ufa1.bin",0x080000, 0x40000, CRC(ba73ed2d) SHA1(efd2548fb0ada11ff98b73335689d2394cbf42a4) )
1110 	ROM_LOAD( "uh1.bin", 0x0c0000, 0x40000, CRC(f7726e8e) SHA1(f28669725609ffab7c6c3bfddbe293c55ddd0155) )
1111 	ROM_LOAD( "uj1.bin", 0x100000, 0x40000, CRC(54f7486e) SHA1(88a237a1005b1fd70b6d8544ef60a0d16cb38e6f) )
1112 
1113 	ROM_REGION( 0x40000, "oki", 0 ) /* Samples */
1114 	ROM_LOAD( "xra1.bin", 0x00000, 0x20000, CRC(c74a4f3e) SHA1(2f6165c1d5bdd3e816b95ffd9303dd4bd07f7ac8) )
1115 ROM_END
1116 
1117 ROM_START( nmg5a )
1118 	ROM_REGION( 0x100000, "maincpu", 0 )        /* 68000 Code */
1119 	ROM_LOAD16_BYTE( "m5_p1.ub15", 0x000000, 0x80000, CRC(0d63a21d) SHA1(e669d0d280573a4e05ee7dbacb4e0bf70880af6e) )
1120 	ROM_LOAD16_BYTE( "m5_p2.ub16", 0x000001, 0x80000, CRC(230438db) SHA1(8ccd6a225a37b02afdcc987168f74b9fa568c71b) )
1121 
1122 	ROM_REGION( 0x10000, "soundcpu", 0 )        /* Z80 Code */
1123 	ROM_LOAD( "m5_sndcpu.xh15", 0x00000, 0x10000, CRC(12d047c4) SHA1(3123b1856219380ff598a2fad97a66863e30d80f) )
1124 
1125 	ROM_REGION( 0x400000, "gfx1", 0 )   /* 8x8x8 */
1126 	ROM_LOAD( "m5_12.srom1", 0x000000, 0x80000, CRC(3adff261) SHA1(c72d45a91cc03872fd3c5e1c7328097a48aac115) )
1127 	ROM_LOAD( "m5_8.srom2",  0x080000, 0x80000, CRC(b0736b66) SHA1(c8223aca5ef03348c132ff0625a43a7e56eccaee) )
1128 	ROM_LOAD( "m5_13.srom3", 0x100000, 0x80000, CRC(8e904919) SHA1(f6b0b92ccfaaf1b1129c433f6a54399fc0c0ad44) )
1129 	ROM_LOAD( "m5_9.srom4",  0x180000, 0x80000, CRC(779e0e30) SHA1(bb703ebe1bb48c4a1ae1c3e86e18db853d5f1816) )
1130 	ROM_LOAD( "m5_6.srom5",  0x200000, 0x80000, CRC(41061258) SHA1(85f55e9e8c67e514c890e88e5719b88399d9ce99) )
1131 	ROM_LOAD( "m5_10.srom6", 0x280000, 0x80000, CRC(8147d8ef) SHA1(d07300fc6b2bedbe8f5d09f8bb9becb14dd61a7c) )
1132 	ROM_LOAD( "m5_7.srom7",  0x300000, 0x80000, CRC(acb00d15) SHA1(b03d5f960ed527ac1132dbaa01539462cb325aa6) )
1133 	ROM_LOAD( "m5_11.srom8", 0x380000, 0x80000, CRC(0ba74fce) SHA1(62215eee4eb7100029ae3344e5a6d03da523eede))
1134 
1135 	ROM_REGION( 0x140000, "gfx2", 0 )   /* 16x16x5 */ // same as parent set
1136 	ROM_LOAD( "m5_3.uf1", 0x000000, 0x40000, CRC(9a9fb6f4) SHA1(4541d33493b9bba11b8e5ed35431271790763db4) )
1137 	ROM_LOAD( "m5_5.uf2", 0x040000, 0x40000, CRC(66954d63) SHA1(62a315640beb8b063886ea6ed1433a18f75e8d0d) )
1138 	ROM_LOAD( "m5_1.ufa1",0x080000, 0x40000, CRC(ba73ed2d) SHA1(efd2548fb0ada11ff98b73335689d2394cbf42a4) )
1139 	ROM_LOAD( "m5_4.uh1", 0x0c0000, 0x40000, CRC(f7726e8e) SHA1(f28669725609ffab7c6c3bfddbe293c55ddd0155) )
1140 	ROM_LOAD( "m5_2.uj1", 0x100000, 0x40000, CRC(54f7486e) SHA1(88a237a1005b1fd70b6d8544ef60a0d16cb38e6f) )
1141 
1142 	ROM_REGION( 0x40000, "oki", 0 ) /* Samples */
1143 	ROM_LOAD( "m5_oki.xra1", 0x00000, 0x20000, CRC(c74a4f3e) SHA1(2f6165c1d5bdd3e816b95ffd9303dd4bd07f7ac8) )
1144 ROM_END
1145 
1146 ROM_START( nmg5e )
1147 	ROM_REGION( 0x100000, "maincpu", 0 )        /* 68000 Code */
1148 	ROM_LOAD16_BYTE( "ub15.rom", 0x000000, 0x80000, CRC(578516e2) SHA1(87785e0071c62f17664e875d95cd6124984b8080) )
1149 	ROM_LOAD16_BYTE( "ub16.rom", 0x000001, 0x80000, CRC(12fab483) SHA1(3b6a410b730d8bf5a81470ec9cdc46c05da0721b) )
1150 
1151 	ROM_REGION( 0x10000, "soundcpu", 0 )        /* Z80 Code */
1152 	ROM_LOAD( "xh15.bin", 0x00000, 0x10000, CRC(12d047c4) SHA1(3123b1856219380ff598a2fad97a66863e30d80f) )
1153 
1154 	ROM_REGION( 0x400000, "gfx1", 0 )   /* 8x8x8 */
1155 	ROM_LOAD( "srom1.rom", 0x000000, 0x80000, CRC(6df3e0c2) SHA1(855e7d3a75d18c92cfb18ddbe7d110ae6879870d) )
1156 	ROM_LOAD( "srom2.rom", 0x080000, 0x80000, CRC(3caf65f9) SHA1(da0d417ab6b57fb33e7ed62d4e00b47698764e11) )
1157 	ROM_LOAD( "srom3.rom", 0x100000, 0x80000, CRC(812f3f87) SHA1(157270343674265ef7d6415a970084ba05daf061) )
1158 	ROM_LOAD( "srom4.rom", 0x180000, 0x80000, CRC(edb8299d) SHA1(ab5c1195bf2229b50992994031eb8e9a6847b652) )
1159 	ROM_LOAD( "srom5.rom", 0x200000, 0x80000, CRC(79821f18) SHA1(228de566f47339d30caf5908f78368ed45ba8da3) )
1160 	ROM_LOAD( "srom6.rom", 0x280000, 0x80000, CRC(7e37abaf) SHA1(16361d08f6da49b5ee57185febd1dc14a609f415) )
1161 	ROM_LOAD( "srom7.rom", 0x300000, 0x80000, CRC(b7a9c660) SHA1(d4f39e99813cd2635a95bd05a3776587a2f9351b) )
1162 	ROM_LOAD( "srom8.rom", 0x380000, 0x80000, CRC(d7ba6058) SHA1(31739fc233ad9b565631b72aab7f9f5a70eca15f) )
1163 
1164 	ROM_REGION( 0x140000, "gfx2", 0 )   /* 16x16x5 */
1165 	ROM_LOAD( "uf1.rom", 0x000000, 0x40000, CRC(502dbd65) SHA1(b44c7fa61180c807b55f5fd12ef9cba82b0fe18b) )
1166 	ROM_LOAD( "uf2.rom", 0x040000, 0x40000, CRC(6744cca0) SHA1(f1a45c9b5cd6f4131511910199f71e98a79a4d97) )
1167 	ROM_LOAD( "ufa1.rom",0x080000, 0x40000, CRC(7110677f) SHA1(8a644223bbf87af446796347d6b0309b439b43dc) )
1168 	ROM_LOAD( "uh1.rom", 0x0c0000, 0x40000, CRC(f6a3ef4d) SHA1(9d5c011ec5eb69822905d0872d5baf55dc76ca39) )
1169 	ROM_LOAD( "uj1.rom", 0x100000, 0x40000, CRC(0595d8ef) SHA1(b2f2fbd8cf6dce6358db9cd976aa7d117cafb5ae) )
1170 
1171 	ROM_REGION( 0x40000, "oki", 0 ) /* Samples */
1172 	ROM_LOAD( "xra1.bin", 0x00000, 0x20000, CRC(c74a4f3e) SHA1(2f6165c1d5bdd3e816b95ffd9303dd4bd07f7ac8) )
1173 ROM_END
1174 
1175 ROM_START( searchey )
1176 	ROM_REGION( 0x100000, "maincpu", 0 )        /* 68000 Code */
1177 	ROM_LOAD16_BYTE( "se.u7", 0x000000, 0x40000, CRC(332b0d83) SHA1(8b79f792a0e4bfd0c64744cdcf3be1daf29910d3) ) /* World set?? Supports 4 languages */
1178 	ROM_LOAD16_BYTE( "se.u2", 0x000001, 0x40000, CRC(bd16114e) SHA1(596fb8841168af88a02dc5f028f5731be5fa08a6) ) /* English, Korean, Japanese & Italian */
1179 
1180 	ROM_REGION( 0x10000, "soundcpu", 0 )        /* Z80 Code */
1181 	ROM_LOAD( "u128.bin", 0x00000, 0x10000, CRC(85bae10c) SHA1(a1e58d8b8c8718cc346aae400bb4eadf6873b86d) )
1182 
1183 	ROM_REGION( 0x400000, "gfx1", 0 )   /* 8x8x8 */
1184 	ROM_LOAD( "u63.bin", 0x000000, 0x80000, CRC(1b0b7b7d) SHA1(092855407fef95da69fcd6e608b8b3aa720d8bcd) )
1185 	ROM_LOAD( "u68.bin", 0x080000, 0x80000, CRC(ae18b2aa) SHA1(f1b2d3c1bafe99ec8b7e8e587ae0a0f9fa410a5a) )
1186 	ROM_LOAD( "u73.bin", 0x100000, 0x80000, CRC(ab7f8716) SHA1(c8cc3c1e9c37add31af28c43130b66f7fdd28042) )
1187 	ROM_LOAD( "u79.bin", 0x180000, 0x80000, CRC(7f2c8b83) SHA1(4f25bf5652ad3327efe63d960b987e581d20afbb) )
1188 	ROM_LOAD( "se.u64",  0x200000, 0x80000, CRC(32b7e4f3) SHA1(76a01b802bd4f13926cc0c5f8388962a89e45c6e) )
1189 	ROM_LOAD( "u69.bin", 0x280000, 0x80000, CRC(d546eaf8) SHA1(de6c80b733c31ef2c0c64d25d46f1cff9a262c42) )
1190 	ROM_LOAD( "u74.bin", 0x300000, 0x80000, CRC(e6134d84) SHA1(d639f44ef404e206b25a0b4f71ded3854836c60f) )
1191 	ROM_LOAD( "u80.bin", 0x380000, 0x80000, CRC(9a160918) SHA1(aac63dcb6005eaad7088d4e4e584825a6e232764) )
1192 
1193 	ROM_REGION( 0x0a0000, "gfx2", 0 )   /* 16x16x5 */
1194 	ROM_LOAD( "u83.bin", 0x000000, 0x20000, CRC(c5a1c647) SHA1(c8d1cc631b0286a4caa35dce6552c4206e58b620) )
1195 	ROM_LOAD( "u82.bin", 0x020000, 0x20000, CRC(25b2ae62) SHA1(02a1bd8719ca1792c2e4ff52fd5d4845e19fedb7) )
1196 	ROM_LOAD( "u105.bin",0x040000, 0x20000, CRC(b4207ef0) SHA1(e70a73b98e5399221208d81a324fab6b942470c8) )
1197 	ROM_LOAD( "u96.bin", 0x060000, 0x20000, CRC(8c40818a) SHA1(fe2c0da42154261ae1734ddb6cb9ddf33dd58510) )
1198 	ROM_LOAD( "u97.bin", 0x080000, 0x20000, CRC(5dc7f231) SHA1(5e57e436a24dfa14228bac7b8ae5f000393926b9) )
1199 
1200 	ROM_REGION( 0x40000, "oki", 0 ) /* Samples */
1201 	ROM_LOAD( "u137.bin", 0x00000, 0x40000,  CRC(49105e23) SHA1(99543fbbccf5df5b15a0470eac641b4158024c6a) )
1202 ROM_END
1203 
1204 ROM_START( searcheya )
1205 	ROM_REGION( 0x100000, "maincpu", 0 )        /* 68000 Code */
1206 	ROM_LOAD16_BYTE( "u7.bin", 0x000000, 0x40000, CRC(287ce3dd) SHA1(32305f7b09c58b7f126d41b5b1991e349884cc02) ) /* Korean set?? only supports English & Korean */
1207 	ROM_LOAD16_BYTE( "u2.bin", 0x000001, 0x40000, CRC(b574f033) SHA1(8603926cef9df2495e97a071f08bbf418b9e01a8) )
1208 
1209 	ROM_REGION( 0x10000, "soundcpu", 0 )        /* Z80 Code */
1210 	ROM_LOAD( "u128.bin", 0x00000, 0x10000, CRC(85bae10c) SHA1(a1e58d8b8c8718cc346aae400bb4eadf6873b86d) )
1211 
1212 	ROM_REGION( 0x400000, "gfx1", 0 )   /* 8x8x8 */
1213 	ROM_LOAD( "u63.bin", 0x000000, 0x80000, CRC(1b0b7b7d) SHA1(092855407fef95da69fcd6e608b8b3aa720d8bcd) )
1214 	ROM_LOAD( "u68.bin", 0x080000, 0x80000, CRC(ae18b2aa) SHA1(f1b2d3c1bafe99ec8b7e8e587ae0a0f9fa410a5a) )
1215 	ROM_LOAD( "u73.bin", 0x100000, 0x80000, CRC(ab7f8716) SHA1(c8cc3c1e9c37add31af28c43130b66f7fdd28042) )
1216 	ROM_LOAD( "u79.bin", 0x180000, 0x80000, CRC(7f2c8b83) SHA1(4f25bf5652ad3327efe63d960b987e581d20afbb) )
1217 	ROM_LOAD( "u64.bin", 0x200000, 0x80000, CRC(322a903c) SHA1(e3b00576edf58c7743854de95102d3d36ce3b775) )
1218 	ROM_LOAD( "u69.bin", 0x280000, 0x80000, CRC(d546eaf8) SHA1(de6c80b733c31ef2c0c64d25d46f1cff9a262c42) )
1219 	ROM_LOAD( "u74.bin", 0x300000, 0x80000, CRC(e6134d84) SHA1(d639f44ef404e206b25a0b4f71ded3854836c60f) )
1220 	ROM_LOAD( "u80.bin", 0x380000, 0x80000, CRC(9a160918) SHA1(aac63dcb6005eaad7088d4e4e584825a6e232764) )
1221 
1222 	ROM_REGION( 0x0a0000, "gfx2", 0 )   /* 16x16x5 */
1223 	ROM_LOAD( "u83.bin", 0x000000, 0x20000, CRC(c5a1c647) SHA1(c8d1cc631b0286a4caa35dce6552c4206e58b620) )
1224 	ROM_LOAD( "u82.bin", 0x020000, 0x20000, CRC(25b2ae62) SHA1(02a1bd8719ca1792c2e4ff52fd5d4845e19fedb7) )
1225 	ROM_LOAD( "u105.bin",0x040000, 0x20000, CRC(b4207ef0) SHA1(e70a73b98e5399221208d81a324fab6b942470c8) )
1226 	ROM_LOAD( "u96.bin", 0x060000, 0x20000, CRC(8c40818a) SHA1(fe2c0da42154261ae1734ddb6cb9ddf33dd58510) )
1227 	ROM_LOAD( "u97.bin", 0x080000, 0x20000, CRC(5dc7f231) SHA1(5e57e436a24dfa14228bac7b8ae5f000393926b9) )
1228 
1229 	ROM_REGION( 0x40000, "oki", 0 ) /* Samples */
1230 	ROM_LOAD( "u137.bin", 0x00000, 0x40000,  CRC(49105e23) SHA1(99543fbbccf5df5b15a0470eac641b4158024c6a) )
1231 ROM_END
1232 
1233 /*
1234 
1235 Search Eye Plus V2.0
1236 Yunsung, 1999
1237 
1238 PCB Layout
1239 ----------
1240 
1241 YS-1905
1242 |----------------------------------------------------|
1243 |  U128       U137      U7       62256        U97    |
1244 |  6116   Z80  M6295    U2       62256               |
1245 |  YM3812             PAL                     U96    |
1246 | YM3014       16MHz  PAL   PAL                      |
1247 | 324                  |-----|                U105   |
1248 |         62256        |68000|                       |
1249 |J        62256 6116   |     |                U83    |
1250 |A              6116   |-----|                       |
1251 |M              6116  |------|  6116          U82    |
1252 |M              6116  |QL2003|            14.31818MHz|
1253 |A              62256 |      |  6116   PAL   PAL     |
1254 |               62256 |------|         PAL           |
1255 |            |------|                  PAL           |
1256 |            |QL2003| |--------|       PAL           |
1257 |DSW1  DSW2  |      | |QL12X16B|       PAL           |
1258 |            |------| |        |                     |
1259 |                     |        |                     |
1260 |0.U1   2.U3 |------| |--------|                     |
1261 |            |QL2003|                       PAL      |
1262 |1.U2   3.U4 |      |                       PAL      |
1263 |            |------|             PAL                |
1264 |----------------------------------------------------|
1265 
1266 Notes:
1267       68000  @ 16MHz
1268       Z80    @ 4.0MHz [16/4]
1269       YM3812 @ 4.0MHz [16/4] (badged as U6612 & U6614 for YM3014)
1270       M6295  @ 1.0MHz [16/16]. Pin 7 HIGH
1271       VSync    55Hz
1272       HSync    25.0kHz (!)
1273 
1274 */
1275 
1276 ROM_START( searchp2 )
1277 	ROM_REGION( 0x100000, "maincpu", 0 )        /* 68000 Code */
1278 	ROM_LOAD16_BYTE( "u7", 0x000000, 0x80000, CRC(37fe9e18) SHA1(ddb5c8d7cc68823850af8a186a4500688115b00f) )
1279 	ROM_LOAD16_BYTE( "u2", 0x000001, 0x80000, CRC(8278513b) SHA1(a48870dc27147e0e9d9d76286028fab1088fa57a) )
1280 
1281 	ROM_REGION( 0x10000, "soundcpu", 0 )        /* Z80 Code */
1282 	ROM_LOAD( "u128", 0x00000, 0x10000, CRC(85bae10c) SHA1(a1e58d8b8c8718cc346aae400bb4eadf6873b86d) )
1283 
1284 	ROM_REGION( 0x1000000, "gfx1", 0 )  /* 8x8x8 */
1285 	ROM_LOAD( "0.u1", 0x000000, 0x400000, CRC(28a50dcf) SHA1(d00992675115e0187a9ca2193edfccdc6e03a0ed) )
1286 	ROM_LOAD( "2.u3", 0x400000, 0x400000, CRC(30d46e19) SHA1(e3b3d0c5eed29e104f2ecf89541fb74da4f2980f) )
1287 	ROM_LOAD( "1.u2", 0x800000, 0x400000, CRC(f9c4e824) SHA1(2b3216054060bc349dba87401ce9d8c5e0b60101) )
1288 	ROM_LOAD( "3.u4", 0xc00000, 0x400000, CRC(619f142f) SHA1(6568e8b2d103bf6aded1314f270c2d288700815e) )
1289 
1290 	ROM_REGION( 0x140000, "gfx2", 0 )   /* 16x16x5 */
1291 	ROM_LOAD( "u83", 0x000000, 0x40000, CRC(2bae34cb) SHA1(8d18ca44033e064dbf20381158f5bd53931a7362) )
1292 	ROM_LOAD( "u82", 0x040000, 0x40000, CRC(5cb773f0) SHA1(f3b69073998c9521661c3cffa5d6d022172f30e6) )
1293 	ROM_LOAD( "u105",0x080000, 0x40000, CRC(e8adb15e) SHA1(f80a030c394fa4e48d569bbcfe945bb22551d542) )
1294 	ROM_LOAD( "u96", 0x0c0000, 0x40000, CRC(67efb536) SHA1(fb7a829245f1418865637329cbb78acf63e5640b) )
1295 	ROM_LOAD( "u97", 0x100000, 0x40000, CRC(f7b63826) SHA1(457b836b765c31dc7a162e0d072524de4bebba31) )
1296 
1297 	ROM_REGION( 0x40000, "oki", 0 ) /* Samples */
1298 	ROM_LOAD( "u137", 0x00000, 0x40000,  CRC(cd037524) SHA1(1f4accc909d73068fe16feb27dfe0c6f19234af1) )
1299 ROM_END
1300 
1301 /*
1302 
1303 Puzzle Club
1304 Yunsung, 2000
1305 
1306 PCB Layout
1307 ----------
1308 
1309 YS-2113
1310 |----------------------------------------------|
1311 |ROM1.128 ROM2.137 ROM3.7  62256  ROM5.97      |
1312 |  6116 Z80  6295  ROM4.2  62256  ROM6.95      |
1313 |  YM3812   16MHz     PAL         ROM7.105     |
1314 |  YM3014             PAL  PAL    ROM8.83      |
1315 |          62256    68000         ROM9.82      |
1316 |          62256           6116     14.38383MHz|
1317 |                          6116   PAL     PAL  |
1318 |J           6116   QL2003        PAL          |
1319 |A           6116                 PAL          |
1320 |M           6116   QL12X16B      PAL          |
1321 |M DIP1      6116                 PAL          |
1322 |A DIP2                                        |
1323 |            62256  QL2003                     |
1324 |            62256                             |
1325 |                                              |
1326 |  ROM11.166  ROM10.167                        |
1327 |                   QL2003        PAL          |
1328 |  ROM13.164  ROM12.165           PAL          |
1329 |----------------------------------------------|
1330 
1331 Notes:
1332       68000 clock : 16.000MHz
1333       Z80 clock   : 4.000MHz (16/4)
1334       M6295 clock : 1.000MHz (16/16). Sample Rate = 1000000 / 132
1335       YM3812 clock: 4.000MHz (16/4).
1336       VSync       : 60Hz
1337 
1338 */
1339 
1340 ROM_START( pclubys )
1341 	ROM_REGION( 0x100000, "maincpu", 0 )        /* 68000 Code */
1342 	ROM_LOAD16_BYTE( "rom3.7", 0x000000, 0x80000, CRC(62e28e6d) SHA1(30307dfbb6bd02d78fb06d3c3522b41115f1c27a) )
1343 	ROM_LOAD16_BYTE( "rom4.2", 0x000001, 0x80000, CRC(b51dab41) SHA1(2ad3929c8cf2b66c36289c2c851769190916b718) )
1344 
1345 	ROM_REGION( 0x10000, "soundcpu", 0 )        /* Z80 Code */
1346 	ROM_LOAD( "rom1.128", 0x00000, 0x10000, CRC(25cd27f8) SHA1(97af1368381234361bbd97f4552209c435652372) )
1347 
1348 	ROM_REGION( 0x1000000, "gfx1", 0 )  /* 8x8x8 */
1349 	ROM_LOAD( "rom10.167", 0x000000, 0x400000, CRC(d67e8e84) SHA1(197d1bdb321cf7ac986b5dbfa061494ffd4db6e4) )
1350 	ROM_LOAD( "rom12.165", 0x400000, 0x400000, CRC(6be8b733) SHA1(bdbbec77938828ac9831537c00abd5c31dc56284) )
1351 	ROM_LOAD( "rom11.166", 0x800000, 0x400000, CRC(672501a4) SHA1(193e1965c2f21f469e5c6c514d3cdcab3ffdf629) )
1352 	ROM_LOAD( "rom13.164", 0xc00000, 0x400000, CRC(fc725ce7) SHA1(d997a31a975ae67efa071720c58235c738ebbbe3) )
1353 
1354 	ROM_REGION( 0x280000, "gfx2", 0 )   /* 16x16x5 */
1355 	ROM_LOAD( "rom8.83", 0x000000, 0x80000, CRC(651af101) SHA1(350698bd7ee65fc1ed084382db7f66ffb83c23c6) )
1356 	ROM_LOAD( "rom9.82", 0x080000, 0x80000, CRC(2535b4d6) SHA1(85af6a042e83f8a7abb78c5edfd4497a9018ed68) )
1357 	ROM_LOAD( "rom7.105",0x100000, 0x80000, CRC(f7536c52) SHA1(546976f52c6f064f5172736988ada053c1c1183f) )
1358 	ROM_LOAD( "rom6.95", 0x180000, 0x80000, CRC(3c078a52) SHA1(be8936bcafbfd77e491c81a3d215a53dad78d652) )
1359 	ROM_LOAD( "rom5.97", 0x200000, 0x80000, CRC(20eae2f8) SHA1(ad9ac6e5e0331fb19652f6578dbb2f532bb22b3d) )
1360 
1361 	ROM_REGION( 0x80000, "oki", 0 ) /* Samples */
1362 	ROM_LOAD( "rom2.137", 0x00000, 0x80000, CRC(4ff97ad1) SHA1(d472c8298e428cb9659ce90a8ce9402c119bdb0f) )
1363 ROM_END
1364 
1365 ROM_START( pclubysa )
1366 	ROM_REGION( 0x100000, "maincpu", 0 )        /* 68000 Code */
1367 	ROM_LOAD16_BYTE( "rom3a.7", 0x000000, 0x80000, CRC(885aa07a) SHA1(a0af5b0704f7fb18ed21f42979a40a8b419377b1) )
1368 	ROM_LOAD16_BYTE( "rom4a.2", 0x000001, 0x80000, CRC(9bfbdeac) SHA1(263341b05883d4a9125da69d9d8d6f4d654f3475) )
1369 
1370 	ROM_REGION( 0x10000, "soundcpu", 0 )        /* Z80 Code */
1371 	ROM_LOAD( "rom1.128", 0x00000, 0x10000, CRC(25cd27f8) SHA1(97af1368381234361bbd97f4552209c435652372) )
1372 
1373 	ROM_REGION( 0x1000000, "gfx1", 0 )  /* 8x8x8 */
1374 	ROM_LOAD( "rom10.167", 0x000000, 0x400000, CRC(d67e8e84) SHA1(197d1bdb321cf7ac986b5dbfa061494ffd4db6e4) )
1375 	ROM_LOAD( "rom12.165", 0x400000, 0x400000, CRC(6be8b733) SHA1(bdbbec77938828ac9831537c00abd5c31dc56284) )
1376 	ROM_LOAD( "rom11.166", 0x800000, 0x400000, CRC(672501a4) SHA1(193e1965c2f21f469e5c6c514d3cdcab3ffdf629) )
1377 	ROM_LOAD( "rom13.164", 0xc00000, 0x400000, CRC(fc725ce7) SHA1(d997a31a975ae67efa071720c58235c738ebbbe3) )
1378 
1379 	ROM_REGION( 0x280000, "gfx2", 0 )   /* 16x16x5 */
1380 	ROM_LOAD( "rom8.83", 0x000000, 0x80000, CRC(651af101) SHA1(350698bd7ee65fc1ed084382db7f66ffb83c23c6) )
1381 	ROM_LOAD( "rom9.82", 0x080000, 0x80000, CRC(2535b4d6) SHA1(85af6a042e83f8a7abb78c5edfd4497a9018ed68) )
1382 	ROM_LOAD( "rom7.105",0x100000, 0x80000, CRC(f7536c52) SHA1(546976f52c6f064f5172736988ada053c1c1183f) )
1383 	ROM_LOAD( "rom6.95", 0x180000, 0x80000, CRC(3c078a52) SHA1(be8936bcafbfd77e491c81a3d215a53dad78d652) )
1384 	ROM_LOAD( "rom5.97", 0x200000, 0x80000, CRC(20eae2f8) SHA1(ad9ac6e5e0331fb19652f6578dbb2f532bb22b3d) )
1385 
1386 	ROM_REGION( 0x80000, "oki", 0 ) /* Samples */
1387 	ROM_LOAD( "rom2.137", 0x00000, 0x80000, CRC(4ff97ad1) SHA1(d472c8298e428cb9659ce90a8ce9402c119bdb0f) )
1388 ROM_END
1389 
1390 ROM_START( wondstck )
1391 	ROM_REGION( 0x100000, "maincpu", 0 )        /* 68000 Code */
1392 	ROM_LOAD16_BYTE( "u2.bin", 0x000001, 0x20000, CRC(9995b743) SHA1(178afd9c54758dd4fb4fb7debe4da2af5c10410a) )
1393 	ROM_LOAD16_BYTE( "u4.bin", 0x000000, 0x20000, CRC(46a3e9f6) SHA1(f39b6457b2c5772db16a5ba29d9114671e3d9749) )
1394 
1395 	ROM_REGION( 0x10000, "soundcpu", 0 )        /* Z80 Code */
1396 	ROM_LOAD( "u128.bin", 0x00000, 0x10000, CRC(86dba085) SHA1(6dedfb4bcf890490848409b6d9bce69e72bf1bba) )
1397 
1398 	ROM_REGION( 0x400000, "gfx1", 0 )   /* 8x8x8 */
1399 	ROM_LOAD( "u63.bin", 0x000000, 0x80000, CRC(c6cf09b4) SHA1(d3341c1effa7874b0554e5c79985b32198571767) )
1400 	ROM_LOAD( "u68.bin", 0x080000, 0x80000, CRC(2e9e9a5e) SHA1(27bae2d913ad4c569f4c476d954c47665456e818) )
1401 	ROM_LOAD( "u73.bin", 0x100000, 0x80000, CRC(3a828604) SHA1(562ecfc1b485218b861512c62225e7d0e148a6df) )
1402 	ROM_LOAD( "u79.bin", 0x180000, 0x80000, CRC(0cca46af) SHA1(a22dcc9f59953cc0c75048b0fa3d7834eea76432) )
1403 	ROM_LOAD( "u64.bin", 0x200000, 0x80000, CRC(dcec9ac5) SHA1(3619d7643932264eac2fbbf95581f6ff3e2829b1) )
1404 	ROM_LOAD( "u69.bin", 0x280000, 0x80000, CRC(27b9d708) SHA1(930f6b742b45b09c5cba80c78bf64eb2b01243e0) )
1405 	ROM_LOAD( "u74.bin", 0x300000, 0x80000, CRC(7eff8e2f) SHA1(a08d188fc1a549ba684e69adb277ef684c6d875c) )
1406 	ROM_LOAD( "u80.bin", 0x380000, 0x80000, CRC(1160a0c2) SHA1(b23f6fb256b927a5606a1aacf004727b984807de) )
1407 
1408 	ROM_REGION( 0x280000, "gfx2", 0 )   /* 16x16x5 */
1409 	ROM_LOAD( "u83.bin", 0x000000, 0x80000, CRC(f51cf9c6) SHA1(6d0fc749bab918ff6a9d7fae8be7c65823349283) )
1410 	ROM_LOAD( "u82.bin", 0x080000, 0x80000, CRC(ddd3c60c) SHA1(19b68a44c877d0bf630d07b18541ef9636f5adac) )
1411 	ROM_LOAD( "u105.bin",0x100000, 0x80000, CRC(a7fc624d) SHA1(b336ab6e16555db30f9366bf5b797b5ba3ea767c) )
1412 	ROM_LOAD( "u96.bin", 0x180000, 0x80000, CRC(2369d8a3) SHA1(4224f50c9c31624dfcac6215d60a2acdd39bb477) )
1413 	ROM_LOAD( "u97.bin", 0x200000, 0x80000, CRC(aba1bd94) SHA1(28dce35ad92547a54912c5645e9979c0876d6fe8) )
1414 
1415 	ROM_REGION( 0x40000, "oki", 0 ) /* Samples */
1416 	ROM_LOAD( "u137.bin", 0x000000, 0x40000, CRC(294b6cbd) SHA1(1498a3298c53d62f56f9c85c82035d09a5bb8b4a) )
1417 ROM_END
1418 
1419 ROM_START( wondstcka )
1420 	ROM_REGION( 0x100000, "maincpu", 0 )        /* 68000 Code */
1421 	ROM_LOAD16_BYTE( "4.u2", 0x000001, 0x20000, CRC(0b28ab9d) SHA1(3f536269a101071a8ef57775fc8a990c7131307f) )
1422 	ROM_LOAD16_BYTE( "3.u7", 0x000000, 0x20000, CRC(5f1337d8) SHA1(e8636dadc4459ffbdbdbb1716a61e3d22fc2f813) )
1423 
1424 	ROM_REGION( 0x10000, "soundcpu", 0 )        /* Z80 Code */
1425 	ROM_LOAD( "1.u128", 0x00000, 0x10000, CRC(86dba085) SHA1(6dedfb4bcf890490848409b6d9bce69e72bf1bba) )
1426 
1427 	ROM_REGION( 0x400000, "gfx1", 0 )   /* 8x8x8 */
1428 	ROM_LOAD( "7.u63", 0x000000, 0x80000, CRC(25ee44ce) SHA1(bf1cad9d89af764d54eb9d35b1656208b8e0b594) )
1429 	ROM_LOAD( "2.u68", 0x080000, 0x80000, CRC(b26afb40) SHA1(f6c96d0ea72bfdf5b153fd599a67703c3c7609b1) )
1430 	ROM_LOAD( "8.u73", 0x100000, 0x80000, CRC(7cf46203) SHA1(97bd5fdc9004726846d9577ca7b4bc078d3731e8) )
1431 	ROM_LOAD( "4.u79", 0x180000, 0x80000, CRC(825213e0) SHA1(c37a892a070fe2f2884416472c35e37330911977) )
1432 	ROM_LOAD( "5.u64", 0x200000, 0x80000, CRC(9ece36d6) SHA1(71e0409f3d8058426a9d1531ab1ef953c0c65c5d) )
1433 	ROM_LOAD( "1.u69", 0x280000, 0x80000, CRC(ec091e87) SHA1(e41e9409347aa2c513515b7d7d6e95b63bc595f9) )
1434 	ROM_LOAD( "6.u74", 0x300000, 0x80000, CRC(9795ff80) SHA1(e369844382e8cb99d6d37eb40cdd62266b4031f2) )
1435 	ROM_LOAD( "3.u80", 0x380000, 0x80000, CRC(553c5781) SHA1(d5f694f6a50f51c80845a15e58d263fa629c3522) )
1436 
1437 	ROM_REGION( 0x280000, "gfx2", 0 )   /* 16x16x5 */
1438 	ROM_LOAD( "8.u83",   0x000000, 0x80000, CRC(f51cf9c6) SHA1(6d0fc749bab918ff6a9d7fae8be7c65823349283) )
1439 //  ROM_LOAD( "9.u82",   0x080000, 0x80000, CRC(8c6cff4d) SHA1(5a217ff60f10bf5c58091c189b3509d1361a16b3) ) // bad dump
1440 	ROM_LOAD( "9.u82",   0x080000, 0x80000, CRC(ddd3c60c) SHA1(19b68a44c877d0bf630d07b18541ef9636f5adac) )
1441 	ROM_LOAD( "7.u105",  0x100000, 0x80000, CRC(a7fc624d) SHA1(b336ab6e16555db30f9366bf5b797b5ba3ea767c) )
1442 	ROM_LOAD( "6.u96",   0x180000, 0x80000, CRC(2369d8a3) SHA1(4224f50c9c31624dfcac6215d60a2acdd39bb477) )
1443 	ROM_LOAD( "5.u97",   0x200000, 0x80000, CRC(aba1bd94) SHA1(28dce35ad92547a54912c5645e9979c0876d6fe8) )
1444 
1445 	ROM_REGION( 0x40000, "oki", 0 ) /* Samples */
1446 	ROM_LOAD( "2.u137", 0x000000, 0x40000, CRC(294b6cbd) SHA1(1498a3298c53d62f56f9c85c82035d09a5bb8b4a) )
1447 ROM_END
1448 
1449 
1450 ROM_START( garogun )
1451 	ROM_REGION( 0x100000, "maincpu", 0 )        /* 68000 Code */
1452 	ROM_LOAD16_BYTE( "p1.u7", 0x000000, 0x80000, CRC(9b5627f8) SHA1(d336d4f34de7fdf5ba16bc76223e701369d24a5e) )
1453 	ROM_LOAD16_BYTE( "p2.u2", 0x000001, 0x80000, CRC(1d2ff271) SHA1(6b875be42f945b5793ba41ff20e23dacf8eb6a9a) )
1454 
1455 	ROM_REGION( 0x10000, "soundcpu", 0 )        /* Z80 Code */
1456 	ROM_LOAD( "rom.u128", 0x00000, 0x10000,  CRC(117b31ce) SHA1(1681aea60111274599c86b7050d46ea497878f9e) )
1457 
1458 	ROM_REGION( 0x400000, "gfx1", 0 )   /* 8x8x8 */
1459 	ROM_LOAD( "8.u63",  0x000000, 0x80000, CRC(2d152d32) SHA1(7dd3b0bb9db8cec8ff8a75099375fbad51ee5676) )
1460 	ROM_LOAD( "11.u68", 0x080000, 0x80000, CRC(60ec7f67) SHA1(9c6c3f5a5be244fe5ac24da3642fd666def11120) )
1461 	ROM_LOAD( "9.u73",  0x100000, 0x80000, CRC(a4b16319) SHA1(8f7976f58ecbccd728cf1a01d0fcd1cef6b90d47) )
1462 	ROM_LOAD( "13.u79", 0x180000, 0x80000, CRC(2dc14fb6) SHA1(d6a01e8bb0ce2f94c1562d8302f62fbbb86e5fa0) )
1463 	ROM_LOAD( "6.u64",  0x200000, 0x80000, CRC(a0fc7547) SHA1(91249226b9491085d15216c11e00f39b03f9128a) )
1464 	ROM_LOAD( "10.u69", 0x280000, 0x80000, CRC(e5dc36c3) SHA1(370b5f93d2f425fe59a519dafce9cb859bd7b609) )
1465 	ROM_LOAD( "7.u74",  0x300000, 0x80000, CRC(a0574f8d) SHA1(3016dd5ee2c78eb2e16b396cedcdc69151312a06) )
1466 	ROM_LOAD( "12.u80", 0x380000, 0x80000, CRC(94d66169) SHA1(4a84d46caa7da98ac376965d6e1ebe1d26fda542) )
1467 
1468 	ROM_REGION( 0x280000, "gfx2", 0 )   /* 16x16x5 */
1469 	ROM_LOAD( "4.u83", 0x000000, 0x40000, CRC(3d1d46ff) SHA1(713beb8cb5b105900d59380f760d759e94f4b0b2) )
1470 	ROM_LOAD( "5.u82", 0x080000, 0x40000, CRC(2a7b2fb5) SHA1(f860047d78f625592605f425e9e066c3e595be62) )
1471 	ROM_LOAD( "3.u105",0x100000, 0x40000, CRC(cd20e39c) SHA1(beb129a44223cc542906f96e5bb17aabfe4c4c49) )
1472 	ROM_LOAD( "2.u96", 0x180000, 0x40000, CRC(4df3b502) SHA1(638138e09d69390c899f48ae59dcd116c1b338c7) )
1473 	ROM_LOAD( "1.u97", 0x200000, 0x40000, CRC(591b3efe) SHA1(ea7d2f2802effa6895e02f50cc9f7c189a720ef5) )
1474 
1475 	ROM_REGION( 0x80000, "oki", 0 ) /* Samples */
1476 	ROM_LOAD( "s.u137", 0x00000, 0x80000, CRC(3eadc21a) SHA1(b1c131c3f59adbc370696b277f8f04681212761d) )
1477 ROM_END
1478 
1479 /*
1480 
1481 7 Ordi
1482 Yunsung, 2002 (Sticker is printed 2002. 1. 05)
1483 
1484 PCB Layout
1485 ----------
1486 
1487 YS-2118B
1488 +----------------------------------------------+
1489 |  5.u128   3.u137   p1.u7  62256   1.u97      |
1490 |  6116   Z80  6295  p2.u2  62256   2.u95      |
1491 |  YM3812   16MHz     PAL           3.u105     |
1492 |  YM3014             PAL  PAL      4.u83      |
1493 |          62256    68000 BAT       5.u82      |
1494 |          62256                    14.38383MHz|
1495 |                           6116  PAL     PAL  |
1496 |J           6116           6116  PAL          |
1497 |A           6116  A40MX04-F      PAL          |
1498 |M           6116                 PAL          |
1499 |M           6116                 PAL          |
1500 |A DIP1 DIP2                                   |
1501 |            62256  QL12X16B                   |
1502 |            62256                             |
1503 |                                              |
1504 |     6.u64 10.u69  A40MX04-F                  |
1505 |     7.u74 11.u68                             |
1506 | SW1 8.u63 12.u80  A40MX04-F    PAL           |
1507 |     9.u73 13.u79               PAL           |
1508 +----------------------------------------------+
1509 
1510 Notes (originaly for YS-2113, but should apply):
1511       68000 clock : 16.000MHz
1512       Z80 clock   : 4.000MHz (16/4)
1513       M6295 clock : 1.000MHz (16/16). Sample Rate = 1000000 / 132
1514       YM3812 clock: 4.000MHz (16/4). (badged as U6612 and U6614 for the YM3014)
1515       VSync       : 60Hz
1516 
1517 */
1518 
1519 ROM_START( 7ordi )
1520 	ROM_REGION( 0x100000, "maincpu", 0 )        /* 68000 Code */
1521 	ROM_LOAD16_BYTE( "p1.u7", 0x000000, 0x20000, CRC(ebf21862) SHA1(ffbea41adb3f2ab276b2785bd6f98bb6ac622edd) )
1522 	ROM_LOAD16_BYTE( "p2.u2", 0x000001, 0x20000, CRC(f7943a6a) SHA1(1d36d92c0d349394ba71929215b704d34e5be87e) )
1523 
1524 	ROM_REGION( 0x10000, "soundcpu", 0 )        /* Z80 Code */
1525 	ROM_LOAD( "4.u128", 0x00000, 0x10000, CRC(ed73b565) SHA1(cb473b2b4ca9b9facf3bcb033f1ca9667bb5c587) )
1526 
1527 	ROM_REGION( 0x400000, "gfx1", 0 ) /* 8x8x8 */
1528 	ROM_LOAD( "8.u63",  0x000000, 0x80000, CRC(ed8dfe5d) SHA1(a4ac6bf80682b978158c44a62c8abb117f25c4db) )
1529 	ROM_LOAD( "11.u68", 0x080000, 0x80000, CRC(742764a7) SHA1(c38a7ea76034d5c34d30f6caa6dc12b1253de2a8) )
1530 	ROM_LOAD( "9.u73",  0x100000, 0x80000, CRC(2b76efd0) SHA1(3ae0b708a94ed04516f451be833ea02d9ee8d645) )
1531 	ROM_LOAD( "13.u79", 0x180000, 0x80000, CRC(3892b356) SHA1(2be4479bdce2cbff6cfa26ab1d58aef2923614cd) )
1532 	ROM_LOAD( "6.u64",  0x200000, 0x80000, CRC(5c0b0838) SHA1(f91be789ea90c64871a09ca246dcd680fe986ef1) )
1533 	ROM_LOAD( "10.u69", 0x280000, 0x80000, CRC(c15db1a4) SHA1(3377c2ffd46ac5e3b4e7852a43aa9eaad3b0b8f8) )
1534 	ROM_LOAD( "7.u74",  0x300000, 0x80000, CRC(6910f754) SHA1(b0c29a205e66f21ff1bebac79505d1d3170d923f) )
1535 	ROM_LOAD( "12.u80", 0x380000, 0x80000, CRC(4c5dd9ef) SHA1(e22b2d5652ad97c8d84168f8c4851437e3f07c97) )
1536 
1537 	ROM_REGION( 0x280000, "gfx2", 0 )   /* 16x16x5 */
1538 	ROM_LOAD( "4.u83",  0x000000, 0x80000, CRC(a2569cf4) SHA1(7f65a0ea79c38aa89d06466b0ce5e3846073c676) )
1539 	ROM_LOAD( "5.u82",  0x080000, 0x80000, CRC(045e548e) SHA1(7135ce56c3987f3d7e0514670836603fc95dfc84) )
1540 	ROM_LOAD( "3.u105", 0x100000, 0x80000, CRC(04c1dbf9) SHA1(afca98aeac6095992611eaaa958952a40a0ffd23) )
1541 	ROM_LOAD( "2.u96",  0x180000, 0x80000, CRC(11fa7de8) SHA1(a5a29589f37899720901c6f802390f91ce308d87) )
1542 	ROM_LOAD( "1.u97",  0x200000, 0x80000, CRC(cd1ffe88) SHA1(f5dfc119f2811e7cae920637a24c25f9d1f7e8df) )
1543 
1544 	ROM_REGION( 0x80000, "oki", 0 ) /* Samples */
1545 	ROM_LOAD( "3.u137", 0x00000, 0x20000, CRC(669ed310) SHA1(f93dc3c20f86bd6a0bff9947d805358c82a04c97) )
1546 	ROM_RELOAD(0x20000,0x20000)
1547 	ROM_RELOAD(0x40000,0x20000) // it attempts to bank the sample rom even tho there is only 1 bank
1548 	ROM_RELOAD(0x60000,0x20000)
1549 ROM_END
1550 
1551 void nmg5_state::init_prot_val_00()
1552 {
1553 	m_prot_val = 0x00;
1554 }
1555 
init_prot_val_10()1556 void nmg5_state::init_prot_val_10()
1557 {
1558 	m_prot_val = 0x10;
1559 }
1560 
init_prot_val_20()1561 void nmg5_state::init_prot_val_20()
1562 {
1563 	m_prot_val = 0x20;
1564 }
1565 
init_prot_val_40()1566 void nmg5_state::init_prot_val_40()
1567 {
1568 	m_prot_val = 0x40;
1569 }
1570 
1571 GAME( 1998, nmg5,      0,        nmg5,     nmg5,      nmg5_state, init_prot_val_10, ROT0, "Yun Sung", "Multi 5 / New Multi Game 5 (set 1)", MACHINE_SUPPORTS_SAVE )
1572 GAME( 1998, nmg5a,     nmg5,     nmg5,     nmg5,      nmg5_state, init_prot_val_10, ROT0, "Yun Sung", "Multi 5 / New Multi Game 5 (set 2, censored)", MACHINE_SUPPORTS_SAVE )
1573 GAME( 1997, nmg5e,     nmg5,     nmg5,     nmg5,      nmg5_state, init_prot_val_10, ROT0, "Yun Sung", "Multi 5 / New Multi Game 5 (set 3, earlier)", MACHINE_SUPPORTS_SAVE )
1574 GAME( 1999, searchey,  0,        nmg5,     searchey,  nmg5_state, init_prot_val_10, ROT0, "Yun Sung", "Search Eye (English / Korean / Japanese / Italian)", MACHINE_SUPPORTS_SAVE )
1575 GAME( 1999, searcheya, searchey, nmg5,     searcheya, nmg5_state, init_prot_val_10, ROT0, "Yun Sung", "Search Eye (English / Korean)", MACHINE_SUPPORTS_SAVE )
1576 GAME( 1999, searchp2,  0,        searchp2, searchp2,  nmg5_state, init_prot_val_10, ROT0, "Yun Sung", "Search Eye Plus V2.0", MACHINE_SUPPORTS_SAVE )
1577 GAME( 2000, pclubys,   0,        pclubys,  pclubys,   nmg5_state, init_prot_val_10, ROT0, "Yun Sung", "Puzzle Club (Yun Sung, set 1)", MACHINE_SUPPORTS_SAVE )
1578 GAME( 2000, pclubysa,  pclubys,  pclubys,  pclubys,   nmg5_state, init_prot_val_10, ROT0, "Yun Sung", "Puzzle Club (Yun Sung, set 2)", MACHINE_SUPPORTS_SAVE )
1579 GAME( 2000, garogun,   0,        garogun,  garogun,   nmg5_state, init_prot_val_40, ROT0, "Yun Sung", "Garogun Seroyang (Korea)", MACHINE_SUPPORTS_SAVE )
1580 GAME( 2002, 7ordi,     0,        _7ordi,   7ordi,     nmg5_state, init_prot_val_20, ROT0, "Yun Sung", "7 Ordi (Korea)", MACHINE_SUPPORTS_SAVE )
1581 GAME( ????, wondstck,  0,        nmg5,     wondstck,  nmg5_state, init_prot_val_00, ROT0, "Yun Sung", "Wonder Stick (set 1)", MACHINE_SUPPORTS_SAVE )
1582 GAME( ????, wondstcka, wondstck, nmg5,     wondstck,  nmg5_state, init_prot_val_00, ROT0, "Yun Sung", "Wonder Stick (set 2, censored)", MACHINE_SUPPORTS_SAVE )
1583