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