1 // license:LGPL-2.1+
2 // copyright-holders:Angelo Salese
3 /***********************************************************************************************************
4 
5     'High Rate DVD' HW (c) 1998 Nichibutsu
6 
7     preliminary driver by Angelo Salese
8 
9     TODO:
10     - Implement DVD routing and YUV decoding;
11     - game timings seem busted, could be due of missing DVD hook-up
12     - csplayh1: inputs doesn't work at all, slower than the others too.
13       Probably not a DVD but CD rom game?
14 
15     DVD Notes:
16     - TMP68301 communicates with h8 via their respective internal serial comms
17     - First command is a "?P<CR>", which, according to the Pioneer V5000 protocol manual
18       is an Active Mode request. Manual is at:
19       http://www.pioneerelectronics.com/ephox/StaticFiles/Manuals/Business/Pio%20V5000-RS232%20-%20CPM.pdf
20       After returning a correct status code, tmp68301 sends "FSDVD04.MPG00001<CR>" to serial, probably tries
21       to playback the file ...
22     - h8 board components:
23       H8/3002
24       MN7100 8-bit channel data acquisition system
25       Fujitsu MD0208
26       Heatsinked chip (TBD)
27       IDE and RS232c ports
28       xtal 27 MHz
29 
30 ***********************************************************************************************************/
31 
32 #include "emu.h"
33 #include "bus/ata/atadev.h"
34 #include "cpu/h8/h83002.h"
35 #include "cpu/m68000/m68000.h"
36 #include "machine/nvram.h"
37 #include "machine/tmp68301.h"
38 #include "machine/idectrl.h"
39 #include "machine/timer.h"
40 #include "video/v9938.h"
41 #include "audio/nichisnd.h"
42 
43 #define USE_H8 0
44 #define DVD_CLOCK XTAL(27'000'000)
45 
46 class csplayh5_state : public driver_device
47 {
48 public:
csplayh5_state(const machine_config & mconfig,device_type type,const char * tag)49 	csplayh5_state(const machine_config &mconfig, device_type type, const char *tag) :
50 		driver_device(mconfig, type, tag),
51 		m_maincpu(*this, "maincpu"),
52 		m_nichisnd(*this, "nichisnd"),
53 		m_key(*this, "KEY.%u", 0),
54 		m_region_maincpu(*this, "maincpu")
55 	{ }
56 
57 	required_device<tmp68301_device> m_maincpu;
58 	required_device<nichisnd_device> m_nichisnd;
59 	required_ioport_array<5> m_key;
60 	required_memory_region m_region_maincpu;
61 
62 	uint16_t m_mux_data;
63 
64 	uint16_t csplayh5_mux_r();
65 	void csplayh5_mux_w(uint16_t data);
66 	void tmp68301_parallel_port_w(uint16_t data);
67 
68 	#if USE_H8
69 	uint16_t test_r();
70 	DECLARE_WRITE_LINE_MEMBER(ide_irq);
71 	#endif
72 
73 	void init_csplayh1();
74 
75 	void init_aimode();
76 	void init_bikiniko();
77 	void init_csplayh5();
78 	void init_csplayh6();
79 	void init_csplayh7();
80 	void init_fuudol();
81 	void init_junai();
82 	void init_junai2();
83 	void init_konhaji();
84 	void init_mjgalpri();
85 	void init_mjmania();
86 	void init_mogitate();
87 	void init_nichisel();
88 	void init_nuretemi();
89 	void init_pokoachu();
90 	void init_renaimj();
91 	void init_sengomjk();
92 	void init_thenanpa();
93 	void init_torarech();
94 	void init_tsuwaku();
95 
96 	virtual void machine_reset() override;
97 	TIMER_DEVICE_CALLBACK_MEMBER(csplayh5_irq);
98 	DECLARE_WRITE_LINE_MEMBER(csplayh5_vdp0_interrupt);
99 
100 	void general_init(int patchaddress, int patchvalue);
101 	void csplayh5(machine_config &config);
102 	void csplayh5_map(address_map &map);
103 	void csplayh5_sub_io_map(address_map &map);
104 	void csplayh5_sub_map(address_map &map);
105 };
106 
107 
108 
109 
110 
csplayh5_mux_r()111 uint16_t csplayh5_state::csplayh5_mux_r()
112 {
113 	for(int i=0;i<5;i++)
114 	{
115 		if(m_mux_data & 1 << i)
116 			return m_key[i]->read();
117 	}
118 
119 	popmessage("Multiple bytes used for mux %02x",m_mux_data);
120 
121 	return 0xffff;
122 }
123 
csplayh5_mux_w(uint16_t data)124 void csplayh5_state::csplayh5_mux_w(uint16_t data)
125 {
126 	m_mux_data = (~data & 0x1f);
127 }
128 
csplayh5_map(address_map & map)129 void csplayh5_state::csplayh5_map(address_map &map)
130 {
131 	map(0x000000, 0x03ffff).rom();
132 
133 	map(0x200000, 0x200001).portr("DSW");
134 	map(0x200000, 0x200000).w(m_nichisnd, FUNC(nichisnd_device::sound_host_command_w));
135 	map(0x200200, 0x200201).rw(FUNC(csplayh5_state::csplayh5_mux_r), FUNC(csplayh5_state::csplayh5_mux_w));
136 	map(0x200400, 0x200401).portr("SYSTEM");
137 
138 	map(0x200600, 0x200607).rw("v9958", FUNC(v9958_device::read), FUNC(v9958_device::write)).umask16(0x00ff);
139 
140 	map(0x800000, 0xbfffff).rom().region("blit_gfx", 0); // GFX ROM routes here
141 
142 	map(0xc00000, 0xc7ffff).ram().share("nvram").mirror(0x380000); // work RAM
143 }
144 
145 #if USE_H8
test_r()146 uint16_t csplayh5_state::test_r()
147 {
148 	return machine().rand();
149 }
150 
csplayh5_sub_map(address_map & map)151 void csplayh5_state::csplayh5_sub_map(address_map &map)
152 {
153 	map(0x000000, 0x01ffff).rom();
154 
155 	map(0x02000a, 0x02000b).r(FUNC(csplayh5_state::test_r));
156 //  map(0x020008, 0x02000f).rw("ide", FUNC(ide_controller_device::cs0_r), FUNC(ide_controller_device::cs0_w));
157 
158 	map(0x040018, 0x040019).r(FUNC(csplayh5_state::test_r));
159 	map(0x040028, 0x04002f).rw("ide", FUNC(ide_controller_device::cs0_r), FUNC(ide_controller_device::cs0_w)); // correct?
160 	map(0x040036, 0x040037).r(FUNC(csplayh5_state::test_r));
161 
162 	map(0x078000, 0x07ffff).mirror(0xf80000).ram(); //.share("nvram");
163 }
164 
165 
csplayh5_sub_io_map(address_map & map)166 void csplayh5_state::csplayh5_sub_io_map(address_map &map)
167 {
168 	map(0x0a, 0x0b).r(FUNC(csplayh5_state::test_r));
169 }
170 #endif
171 
172 
173 static INPUT_PORTS_START( csplayh5 )
174 	PORT_START("KEY.0")
175 	PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_START1 )
176 	PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_MAHJONG_KAN ) PORT_PLAYER(1)
177 	PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_MAHJONG_M ) PORT_PLAYER(1)
178 	PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_MAHJONG_I ) PORT_PLAYER(1)
179 	PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_MAHJONG_E ) PORT_PLAYER(1)
180 	PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_MAHJONG_A ) PORT_PLAYER(1)
181 	PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
182 	PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
183 	PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_START2 )
184 	PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_MAHJONG_KAN ) PORT_PLAYER(2)
185 	PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_MAHJONG_M ) PORT_PLAYER(2)
186 	PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_MAHJONG_I ) PORT_PLAYER(2)
187 	PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_MAHJONG_E ) PORT_PLAYER(2)
188 	PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_MAHJONG_A ) PORT_PLAYER(2)
189 	PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
190 	PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
191 
192 	PORT_START("KEY.1")
193 	PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_MAHJONG_BET ) PORT_PLAYER(1)
194 	PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_MAHJONG_REACH ) PORT_PLAYER(1)
195 	PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_MAHJONG_N ) PORT_PLAYER(1)
196 	PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_MAHJONG_J ) PORT_PLAYER(1)
197 	PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_MAHJONG_F ) PORT_PLAYER(1)
198 	PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_MAHJONG_B ) PORT_PLAYER(1)
199 	PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
200 	PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
201 	PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_MAHJONG_BET ) PORT_PLAYER(2)
202 	PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_MAHJONG_REACH ) PORT_PLAYER(2)
203 	PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_MAHJONG_N ) PORT_PLAYER(2)
204 	PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_MAHJONG_J ) PORT_PLAYER(2)
205 	PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_MAHJONG_F ) PORT_PLAYER(2)
206 	PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_MAHJONG_B ) PORT_PLAYER(2)
207 	PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
208 	PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
209 
210 	PORT_START("KEY.2")
211 	PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_UNKNOWN )
212 	PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_MAHJONG_RON ) PORT_PLAYER(1)
213 	PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_MAHJONG_CHI ) PORT_PLAYER(1)
214 	PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_MAHJONG_K ) PORT_PLAYER(1)
215 	PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_MAHJONG_G ) PORT_PLAYER(1)
216 	PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_MAHJONG_C ) PORT_PLAYER(1)
217 	PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
218 	PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
219 	PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_UNKNOWN )
220 	PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_MAHJONG_RON ) PORT_PLAYER(2)
221 	PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_MAHJONG_CHI ) PORT_PLAYER(2)
222 	PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_MAHJONG_K ) PORT_PLAYER(2)
223 	PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_MAHJONG_G ) PORT_PLAYER(2)
224 	PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_MAHJONG_C ) PORT_PLAYER(2)
225 	PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
226 	PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
227 
228 	PORT_START("KEY.3")
229 	PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_UNKNOWN )
230 	PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_UNKNOWN )
231 	PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_MAHJONG_PON ) PORT_PLAYER(1)
232 	PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_MAHJONG_L ) PORT_PLAYER(1)
233 	PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_MAHJONG_H ) PORT_PLAYER(1)
234 	PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_MAHJONG_D ) PORT_PLAYER(1)
235 	PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
236 	PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
237 	PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_UNKNOWN )
238 	PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_UNKNOWN )
239 	PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_MAHJONG_PON ) PORT_PLAYER(2)
240 	PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_MAHJONG_L ) PORT_PLAYER(2)
241 	PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_MAHJONG_H ) PORT_PLAYER(2)
242 	PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_MAHJONG_D ) PORT_PLAYER(2)
243 	PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
244 	PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
245 
246 	PORT_START("KEY.4")
247 	PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_MAHJONG_SMALL ) PORT_PLAYER(1)
248 	PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_MAHJONG_BIG ) PORT_PLAYER(1)
249 	PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_MAHJONG_FLIP_FLOP ) PORT_PLAYER(1)
250 	PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_MAHJONG_DOUBLE_UP ) PORT_PLAYER(1)
251 	PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_MAHJONG_SCORE ) PORT_PLAYER(1)
252 	PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_MAHJONG_LAST_CHANCE ) PORT_PLAYER(1)
253 	PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
254 	PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
255 	PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_MAHJONG_SMALL ) PORT_PLAYER(2)
256 	PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_MAHJONG_BIG ) PORT_PLAYER(2)
257 	PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_MAHJONG_FLIP_FLOP ) PORT_PLAYER(2)
258 	PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_MAHJONG_DOUBLE_UP ) PORT_PLAYER(2)
259 	PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_MAHJONG_SCORE ) PORT_PLAYER(2)
260 	PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_MAHJONG_LAST_CHANCE ) PORT_PLAYER(2)
261 	PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
262 	PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
263 
264 	PORT_START("DSW")
265 	// comes from csplayh5 manual, other games might change slightly
DEF_STR(Difficulty)266 	PORT_DIPNAME( 0x0007, 0x0004, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SWA:1,2,3")
267 	PORT_DIPSETTING(      0x0007, "1" )
268 	PORT_DIPSETTING(      0x0006, "2" )
269 	PORT_DIPSETTING(      0x0005, "3" )
270 	PORT_DIPSETTING(      0x0004, "4" )
271 	PORT_DIPSETTING(      0x0003, "5" )
272 	PORT_DIPSETTING(      0x0002, "6" )
273 	PORT_DIPSETTING(      0x0001, "7" )
274 	PORT_DIPSETTING(      0x0000, "8" )
275 	PORT_DIPNAME( 0x0008, 0x0008, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SWA:4")
276 	PORT_DIPSETTING(      0x0008, DEF_STR( 1C_1C ) )
277 	PORT_DIPSETTING(      0x0000, DEF_STR( 1C_2C ) )
278 	PORT_DIPNAME( 0x0010, 0x0000, "Show girls in attract mode" ) PORT_DIPLOCATION("SWA:5")
279 	PORT_DIPSETTING(      0x0010, DEF_STR( No ) )
280 	PORT_DIPSETTING(      0x0000, DEF_STR( Yes ) )
281 	PORT_DIPNAME( 0x0020, 0x0000, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SWA:6")
282 	PORT_DIPSETTING(      0x0020, DEF_STR( Off ) )
283 	PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
284 	PORT_DIPNAME( 0x0040, 0x0040, "Color Test" ) PORT_DIPLOCATION("SWA:7") // shows color bars during POST
285 	PORT_DIPSETTING(      0x0040, DEF_STR( No ) )
286 	PORT_DIPSETTING(      0x0000, DEF_STR( Yes ) )
287 	PORT_DIPUNUSED_DIPLOC( 0x0080, IP_ACTIVE_LOW, "SWA:8" )
288 
289 	// A note indicates inoshikachou, shichigosan, hanami de ippai, tsukimi de ippai to be used, which are Koi Koi rulesets
290 	PORT_DIPNAME( 0x0100, 0x0100, "Use Koi Koi local ruleset" ) PORT_DIPLOCATION("SWB:1")
291 	PORT_DIPSETTING(      0x0000, DEF_STR( No ) )
292 	PORT_DIPSETTING(      0x0100, DEF_STR( Yes ) )
293 	PORT_DIPNAME( 0x0200, 0x0000, "Koi Koi input layout" ) PORT_DIPLOCATION("SWB:2")
294 	PORT_DIPSETTING(      0x0000, "A Type" ) // Yes: Riichi No: Ron
295 	PORT_DIPSETTING(      0x0200, "B Type" ) // Yes: M No: N
296 	PORT_DIPUNUSED_DIPLOC( 0x0400, IP_ACTIVE_LOW, "SWB:3" )
297 	// TODO: duplicate of SWA:5? Maybe applies to nudity, will see once the DVD part works.
298 	PORT_DIPNAME( 0x1800, 0x1800, "Background type" ) PORT_DIPLOCATION("SWB:4,5")
299 //  PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
300 	PORT_DIPSETTING(      0x0800, "Color in-game and attract" )
301 	PORT_DIPSETTING(      0x1000, "Girls in-game, color in attract" )
302 	PORT_DIPSETTING(      0x1800, "Girls in-game and attract" )
303 	PORT_DIPNAME( 0x2000, 0x2000, "Analyzer" ) PORT_DIPLOCATION("SWB:6") //in some games
304 	PORT_DIPSETTING(      0x0000, DEF_STR( Yes ) )
305 	PORT_DIPSETTING(      0x2000, DEF_STR( No ) )
306 	PORT_DIPUNUSED_DIPLOC( 0x4000, IP_ACTIVE_LOW, "SWB:7" )
307 	PORT_DIPUNUSED_DIPLOC( 0x8000, IP_ACTIVE_LOW, "SWB:8" )
308 
309 	PORT_START("SYSTEM")
310 	PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_COIN1 )            // COIN1
311 	PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_COIN2 )            // COIN2
312 	PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_SERVICE1 ) PORT_NAME("Credit Clear")
313 	PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_MEMORY_RESET )
314 	PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_SERVICE ) // labeled analyzer in self-test
315 	PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_GAMBLE_PAYOUT ) PORT_CODE(KEYCODE_4) PORT_NAME("Out Coin")
316 	PORT_BIT( 0xffc0, IP_ACTIVE_LOW, IPT_UNUSED )
317 INPUT_PORTS_END
318 
319 
320 void csplayh5_state::machine_reset()
321 {
322 }
323 
TIMER_DEVICE_CALLBACK_MEMBER(csplayh5_state::csplayh5_irq)324 TIMER_DEVICE_CALLBACK_MEMBER(csplayh5_state::csplayh5_irq)
325 {
326 	int scanline = param;
327 
328 	if(scanline == 212*2)
329 		m_maincpu->external_interrupt_0();
330 }
331 
WRITE_LINE_MEMBER(csplayh5_state::csplayh5_vdp0_interrupt)332 WRITE_LINE_MEMBER(csplayh5_state::csplayh5_vdp0_interrupt)
333 {
334 	/* this is not used as the v9938 interrupt callbacks are broken
335 	   interrupts seem to be fired quite randomly */
336 }
337 
338 #if USE_H8
WRITE_LINE_MEMBER(csplayh5_state::ide_irq)339 WRITE_LINE_MEMBER(csplayh5_state::ide_irq)
340 {
341 	printf("h8 ide alive %d\n",state);
342 }
343 #endif
344 
tmp68301_parallel_port_w(uint16_t data)345 void csplayh5_state::tmp68301_parallel_port_w(uint16_t data)
346 {
347 	/*
348 	    -x-- ---- used during ROM check, h8 reset assert?
349 	    ---- x--- enable DVD sound? Used by aimode at very least
350 	*/
351 
352 	if(data & ~0x48)
353 		printf("%04x\n",data);
354 }
355 
356 
csplayh5(machine_config & config)357 void csplayh5_state::csplayh5(machine_config &config)
358 {
359 	/* basic machine hardware */
360 	TMP68301(config, m_maincpu, 16000000); /* TMP68301-16 */
361 	m_maincpu->set_addrmap(AS_PROGRAM, &csplayh5_state::csplayh5_map);
362 	m_maincpu->out_parallel_callback().set(FUNC(csplayh5_state::tmp68301_parallel_port_w));
363 
364 	TIMER(config, "scantimer", 0).configure_scanline(FUNC(csplayh5_state::csplayh5_irq), "screen", 0, 1);
365 
366 #if USE_H8
367 	h830002_device &subcpu(H83002(config, "subcpu", DVD_CLOCK/2));    /* unknown divider */
368 	subcpu.set_addrmap(AS_PROGRAM, &csplayh5_state::csplayh5_sub_map);
369 	subcpu.set_addrmap(AS_IO, &csplayh5_state::csplayh5_sub_io_map);
370 
371 	ide_controller_device &ide(IDE_CONTROLLER(config, "ide").options(ata_devices, "hdd", nullptr, true)); // dvd
372 	ide.irq_handler().set(FUNC(csplayh5_state::ide_irq));
373 #endif
374 
375 	NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
376 
377 	/* video hardware */
378 	v9958_device &v9958(V9958(config, "v9958", XTAL(21'477'272))); // typical 9958 clock, not verified
379 	v9958.set_screen_ntsc("screen");
380 	v9958.set_vram_size(0x20000);
381 	v9958.int_cb().set(FUNC(csplayh5_state::csplayh5_vdp0_interrupt));
382 	SCREEN(config, "screen", SCREEN_TYPE_RASTER);
383 
384 	/* sound hardware */
385 	NICHISND(config, m_nichisnd, 0);
386 }
387 
388 /***************************************************************************
389 
390   Game driver(s)
391 
392 ***************************************************************************/
393 
general_init(int patchaddress,int patchvalue)394 void csplayh5_state::general_init(int patchaddress, int patchvalue)
395 {
396 	#if !USE_H8
397 	uint16_t *MAINROM = (uint16_t *)m_region_maincpu->base();
398 	/* patch DVD comms check */
399 	MAINROM[patchaddress] = patchvalue;
400 	#endif
401 
402 	//uint8_t *SNDROM = m_region_:nichisnd:audiorom->base();
403 
404 	/* initialize sound rom bank */
405 	//soundbank_w(0);
406 
407 	/* patch sound program */
408 	//SNDROM[0x0213] = 0x00;          // DI -> NOP
409 
410 }
411 
init_csplayh1()412 void csplayh5_state::init_csplayh1()  { general_init(0x6880/2, 0x6020); }
413 
init_aimode()414 void csplayh5_state::init_aimode()    { general_init(0x9cda/2, 0x6018); }
init_bikiniko()415 void csplayh5_state::init_bikiniko()  { general_init(0x585c/2, 0x6018); }
init_csplayh5()416 void csplayh5_state::init_csplayh5()  { general_init(0x4cb4/2, 0x6018); }
init_csplayh6()417 void csplayh5_state::init_csplayh6()  { general_init(0x5976/2, 0x6018); }
init_csplayh7()418 void csplayh5_state::init_csplayh7()  { general_init(0x7a20/2, 0x6018); }
init_fuudol()419 void csplayh5_state::init_fuudol()    { general_init(0x9166/2, 0x6018); }
init_junai()420 void csplayh5_state::init_junai()     { general_init(0x679c/2, 0x6018); }
init_junai2()421 void csplayh5_state::init_junai2()    { general_init(0x6588/2, 0x6018); }
init_konhaji()422 void csplayh5_state::init_konhaji()   { general_init(0x9200/2, 0x6018); }
init_mjgalpri()423 void csplayh5_state::init_mjgalpri()  { general_init(0x5396/2, 0x6018); }
init_mjmania()424 void csplayh5_state::init_mjmania()   { general_init(0x6b96/2, 0x6018); }
init_mogitate()425 void csplayh5_state::init_mogitate()  { general_init(0x6ab4/2, 0x6018); }
init_nichisel()426 void csplayh5_state::init_nichisel()  { general_init(0x9cd6/2, 0x6018); }
init_nuretemi()427 void csplayh5_state::init_nuretemi()  { general_init(0x8de2/2, 0x6018); }
init_pokoachu()428 void csplayh5_state::init_pokoachu()  { general_init(0x7b1e/2, 0x6018); }
init_renaimj()429 void csplayh5_state::init_renaimj()   { general_init(0x568c/2, 0x6018); }
init_sengomjk()430 void csplayh5_state::init_sengomjk()  { general_init(0x5226/2, 0x6018); }
init_thenanpa()431 void csplayh5_state::init_thenanpa()  { general_init(0x69ec/2, 0x6018); }
init_torarech()432 void csplayh5_state::init_torarech()  { general_init(0x9384/2, 0x6018); }
init_tsuwaku()433 void csplayh5_state::init_tsuwaku()   { general_init(0x856e/2, 0x6018); }
434 
435 
436 /*
437  * Base BIOS root (DVD board is common for all DVD games)
438  */
439 
440 #define ROM_LOAD16_WORD_SWAP_BIOS(bios,name,offset,length,hash) \
441 		ROMX_LOAD(name, offset, length, hash, ROM_GROUPWORD | ROM_REVERSE | ROM_BIOS(bios))
442 
443 #define DVD_BIOS \
444 	ROM_REGION( 0x20000, "subcpu", 0 ) \
445 	ROM_SYSTEM_BIOS( 0,  "vb102",    "va1b102" ) \
446 	ROM_LOAD16_WORD_SWAP_BIOS( 0, "va1b102.u2",   0x00000, 0x20000, CRC(67374715) SHA1(8767cbd81614c2686a1adb70159f909e8ffd634d) ) \
447 	ROM_SYSTEM_BIOS( 1,  "vb101",    "va1b101" ) \
448 	ROM_LOAD16_WORD_SWAP_BIOS( 1, "va1b101.u2",   0x00000, 0x20000, CRC(b92a83c8) SHA1(bd6d9adaa74cf7512478838d1bd5a79dbd0c4aa1) ) \
449 	ROM_SYSTEM_BIOS( 2,  "va101",    "va1a101" ) \
450 	ROM_LOAD16_WORD_SWAP_BIOS( 2, "va1a101.u2",   0x00000, 0x20000, CRC(36135792) SHA1(1b9c50bd02df8227b228b35cc485efd5a13ec639) )
451 
452 
453 // dummy ROM definition
454 ROM_START( nichidvd )
455 	ROM_REGION( 0x40000, "maincpu", ROMREGION_ERASE00 ) // tmp68301 prg
456 
457 	DVD_BIOS
458 
459 	ROM_REGION( 0x20000, ":nichisnd:audiorom", ROMREGION_ERASE00 ) // z80
460 
461 	ROM_REGION16_BE( 0x400000, "blit_gfx", ROMREGION_ERASEFF ) // blitter based gfxs
462 
463 	DISK_REGION( "ide:0:hdd:image" )
464 ROM_END
465 
466 // TODO: this surely uses a different subboard
467 ROM_START( csplayh1 )
468 	ROM_REGION( 0x40000, "maincpu", 0 ) // tmp68301 prg
469 	ROM_LOAD16_BYTE( "3.bin", 0x000000, 0x020000, CRC(86ac0289) SHA1(7ae3047fc7ea22705cc5b04d0ec6c792c429e8ee) )
470 	ROM_LOAD16_BYTE( "2.bin", 0x000001, 0x020000, CRC(1f056e64) SHA1(7c5fb318abcd87313ef739dec191af9bcf284f24) )
471 
472 	ROM_REGION( 0x20000, "subcpu", 0 ) // h8, cd-rom player
473 	ROM_LOAD16_WORD_SWAP( "u2",   0x00000, 0x20000, NO_DUMP )
474 
475 	ROM_REGION( 0x20000, ":nichisnd:audiorom", 0 ) // z80
476 	ROM_LOAD( "1.bin", 0x000000, 0x020000, CRC(8296d67f) SHA1(20eb944a2bd27980e1aaf60ca544059e84129760) )
477 
478 	ROM_REGION16_BE( 0x400000, "blit_gfx", ROMREGION_ERASEFF ) // blitter based gfxs
479 	ROM_LOAD16_BYTE( "4.bin", 0x000001, 0x080000, CRC(2e63ee15) SHA1(78fefbc277234458212cded997d393bd8b82cf76) )
480 	ROM_LOAD16_BYTE( "8.bin", 0x000000, 0x080000, CRC(a8567f1b) SHA1(2a854ef8b1988ad097bbcbeddc4b275ad738e1e1) )
481 
482 	DISK_REGION( "ide:0:hdd:image" )
483 	DISK_IMAGE_READONLY( "csplayh1", 0, SHA1(d6514882c2626e62c5079df9ac68ecb70fc33209) )
484 
485 	ROM_REGION( 0x1000, "gal", ROMREGION_ERASE00 )
486 	ROM_LOAD( "gal16v8b.ic8", 0x000000, 0x0008c1, NO_DUMP )
487 ROM_END
488 
489 ROM_START( mjgalpri )
490 	ROM_REGION( 0x40000, "maincpu", 0 ) // tmp68301 prg
491 	ROM_LOAD16_BYTE( "2.ic3",            0x000000, 0x020000, CRC(e8427076) SHA1(9b449599ffac2b67a29fac11d1e85218668d805d) )
492 	ROM_LOAD16_BYTE( "1.ic2",            0x000001, 0x020000, CRC(653fcc14) SHA1(6231ec5f45a9f5e587dcd00ff85f9bbfae7364ab) )
493 
494 	ROM_REGION( 0x20000, ":nichisnd:audiorom", 0 ) // z80
495 	ROM_LOAD( "11.ic51",           0x000000, 0x020000, CRC(7b9b1887) SHA1(1393a1d79f3cc7ab68275791af4ec16e825056df) )
496 
497 	DVD_BIOS
498 
499 	ROM_REGION16_BE( 0x400000, "blit_gfx", ROMREGION_ERASEFF ) // blitter based gfxs
500 	ROM_LOAD16_BYTE( "3.ic40",            0x000001, 0x080000, CRC(6497bc8f) SHA1(ce0ecfab8df87f7356aa42648e47ffda53840188) )
501 	ROM_LOAD16_BYTE( "4.ic41",            0x000000, 0x080000, CRC(3ac982e8) SHA1(d889d45888cf7bcb5af808f63e9ad41204bd5992) )
502 
503 	ROM_REGION( 0x040000, "gal", ROMREGION_ERASE00 )
504 	ROM_LOAD( "gal16v8b.020", 0x000000, 0x040000, CRC(4c92a523) SHA1(51da73fdfdfccdc070fa8a13163e031438b50876) )
505 
506 	DISK_REGION( "ide:0:hdd:image" )
507 	DISK_IMAGE_READONLY( "nb8001", 0, SHA1(30f356af4e08567273a88758bb0ddd3544eea228) )
508 ROM_END
509 
510 ROM_START( sengomjk )
511 	ROM_REGION( 0x40000, "maincpu", 0 ) // tmp68301 prg
512 	ROM_LOAD16_BYTE( "2.ic3",            0x000000, 0x020000, CRC(a202bf13) SHA1(01e15e7577f6ac6a90b7ab30f402def211360d4d) )
513 	ROM_LOAD16_BYTE( "1.ic2",            0x000001, 0x020000, CRC(98d4979a) SHA1(477361ec183674220e282fed8bfce098b0f75873) )
514 
515 	ROM_REGION( 0x20000, ":nichisnd:audiorom", 0 ) // z80
516 	ROM_LOAD( "11.ic51",           0x000000, 0x020000, CRC(c0bf69c6) SHA1(dd06ec9b3232f025de2c87765b88cb101eab47f5) )
517 
518 	DVD_BIOS
519 
520 	ROM_REGION16_BE( 0x400000, "blit_gfx", ROMREGION_ERASEFF ) // blitter based gfxs
521 	ROM_LOAD16_BYTE( "3.ic40",            0x000001, 0x080000, CRC(20791a5a) SHA1(03c38e9b8e60b0dded7504b2725210df5405110c) )
522 	ROM_LOAD16_BYTE( "4.ic41",            0x000000, 0x080000, CRC(1ed72387) SHA1(7e2b8ce49561d6fd79dcf0d427569e5f6ef8dc67) )
523 
524 	DISK_REGION( "ide:0:hdd:image" )
525 	DISK_IMAGE_READONLY( "nb8002", 0, SHA1(d3502496526e62a877f12dccc27b32ae33d3704d) )
526 
527 	ROM_REGION( 0x040000, "gal", ROMREGION_ERASE00 )
528 	ROM_LOAD( "gal16v8b.bin", 0x000000, 0x000117, CRC(9f0dec43) SHA1(d836e564da496c3049e16f025daf362cced413d4) )
529 ROM_END
530 
531 ROM_START( junai )
532 	ROM_REGION( 0x40000, "maincpu", 0 ) // tmp68301 prg
533 	ROM_LOAD16_BYTE( "2.ic3",   0x00000, 0x20000, CRC(5923bf2e) SHA1(8fc7b95a44eb792ce03c1bffb9ad56f82d34b470) )
534 	ROM_LOAD16_BYTE( "1.ic2",   0x00001, 0x20000, CRC(4ac649ee) SHA1(f5b5bccecb6eba5addcf6a57e54deff7f29f6381) )
535 
536 	DVD_BIOS
537 
538 	ROM_REGION( 0x20000, ":nichisnd:audiorom", 0 ) // z80
539 	ROM_LOAD( "11.ic51",   0x00000, 0x20000, CRC(a0472ea5) SHA1(0fd04941ff595cffe64357f3a1a9dc1170db8703) )
540 
541 	ROM_REGION16_BE( 0x400000, "blit_gfx", ROMREGION_ERASEFF ) // blitter based gfxs
542 	ROM_LOAD16_BYTE( "3.ic40",   0x00001, 0x80000, CRC(f17fa4c4) SHA1(fd8b69b18f9ac00f468d751bf1ea0715498ea742) )
543 	ROM_LOAD16_BYTE( "4.ic41",   0x00000, 0x80000, CRC(4182dc30) SHA1(89601c62b74aff3d65b075d4b5cd1eb2ccf4e386) )
544 	// 0x100000 - 0x3fffff empty sockets
545 
546 	DISK_REGION( "ide:0:hdd:image" )
547 	DISK_IMAGE_READONLY( "junai", 0, SHA1(0491533e0ce3e4d2af608ea0b9d9646316b512bd) )
548 ROM_END
549 
550 ROM_START( csplayh5 )
551 	ROM_REGION( 0x40000, "maincpu", 0 ) // tmp68301 prg
552 	ROM_LOAD16_BYTE( "2.ic3",   0x00000, 0x20000, CRC(980bf3b0) SHA1(89da7354552f30aaa9d46442972c060b4b0f8979) )
553 	ROM_LOAD16_BYTE( "1.ic2",   0x00001, 0x20000, CRC(81ca49a4) SHA1(601b6802ab85be61f45a64f5b4c7e1f1ae5ee887) )
554 
555 	DVD_BIOS
556 
557 	ROM_REGION( 0x20000, ":nichisnd:audiorom", 0 ) // z80
558 	ROM_LOAD( "11.ic51",   0x00000, 0x20000, CRC(0b920806) SHA1(95f50ebfb296ba29aaa8079a41f5362cb9e879cc) )
559 
560 	ROM_REGION16_BE( 0x400000, "blit_gfx", ROMREGION_ERASEFF ) // blitter based gfxs
561 	ROM_LOAD16_BYTE( "3.ic40",   0x00001, 0x80000, CRC(895b5e1f) SHA1(9398ee95d391f74d62fe641cb75311f31d4d1c8d) )
562 	ROM_LOAD16_BYTE( "4.ic41",   0x00000, 0x80000, CRC(113d7e96) SHA1(f3fb9c719544417a6a018b82f07c65bf73de21ff) )
563 	// 0x100000 - 0x3fffff empty sockets
564 
565 	DISK_REGION( "ide:0:hdd:image" )
566 	DISK_IMAGE_READONLY( "csplayh5", 0, SHA1(ce4883ce1351ce5299e41bfbd9a5ae8078b82b8c) )
567 ROM_END
568 
569 ROM_START( junai2 )
570 	ROM_REGION( 0x40000, "maincpu", 0 ) // tmp68301 prg
571 	ROM_LOAD16_BYTE( "2.ic3",   0x00000, 0x20000, CRC(b0ce71d6) SHA1(35cff8f8b18312808e2f6b96f02d952b0d1f04a1) )
572 	ROM_LOAD16_BYTE( "1.ic2",   0x00001, 0x20000, CRC(5a428e91) SHA1(dffce6f0a48cc4110970f124684dcaa267fe1b7f) )
573 
574 	DVD_BIOS
575 
576 	ROM_REGION( 0x20000, ":nichisnd:audiorom", 0 ) // z80
577 	ROM_LOAD( "11.ic51",   0x00000, 0x20000, CRC(a4b07757) SHA1(5010f28d7a80af0cc3f4fd135f777950fb2cf679) )
578 
579 	ROM_REGION16_BE( 0x400000, "blit_gfx", ROMREGION_ERASEFF ) // blitter based gfxs
580 	ROM_LOAD16_BYTE( "3.ic40",   0x00001, 0x80000, CRC(95ecb29d) SHA1(e07bb0ff15aaee9fb26d8ef7f4644b47045c81a8) )
581 	ROM_LOAD16_BYTE( "4.ic41",   0x00000, 0x80000, CRC(5b37c8dd) SHA1(8de5e2f92721c6679c6506850a442cafff89653f) )
582 	// 0x100000 - 0x3fffff empty sockets
583 
584 	DISK_REGION( "ide:0:hdd:image" )
585 	DISK_IMAGE_READONLY( "junai2", 0, SHA1(dc9633a101f20f03fd9b4414c10274d2539fb7c2) )
586 
587 	ROM_REGION( 0x1000, "gal", ROMREGION_ERASE00 )
588 	ROM_LOAD( "gal16v8b.ic8", 0x000000, 0x0008c1, BAD_DUMP CRC(01c2895a) SHA1(782166a60fa14d5faa5a92629f7ca65a878ad7fe) )
589 ROM_END
590 
591 
592 ROM_START( mogitate )
593 	ROM_REGION( 0x40000, "maincpu", 0 ) // tmp68301 prg
594 	ROM_LOAD16_BYTE( "2.ic3",            0x000000, 0x020000, CRC(f71546c6) SHA1(546b0d12e7b1627c96d5a17c015bdbbca1e93232) )
595 	ROM_LOAD16_BYTE( "1.ic2",            0x000001, 0x020000, CRC(42ec6c2e) SHA1(a0279502e1f7e62f072ec6612caf198aa0ae3af7) )
596 
597 	DVD_BIOS
598 
599 	ROM_REGION( 0x20000, ":nichisnd:audiorom", 0 ) // z80
600 	ROM_LOAD( "11.ic51",           0x000000, 0x020000, CRC(7927c1d6) SHA1(15f0c0051124e7b7667eb721dd12938333b31899) )
601 
602 	ROM_REGION16_BE( 0x400000, "blit_gfx", ROMREGION_ERASEFF ) // blitter based gfxs
603 	ROM_LOAD16_BYTE( "3.ic40",            0x000001, 0x080000, CRC(ea655990) SHA1(7f59cfab21e8858625e82a9501acc943b07f799c) )
604 	ROM_LOAD16_BYTE( "4.ic41",            0x000000, 0x080000, CRC(4c910b86) SHA1(48007f03f4e445b9de15531afe821c1b18fccae1) )
605 
606 	DISK_REGION( "ide:0:hdd:image" )
607 	DISK_IMAGE_READONLY( "nb8006", 0, SHA1(aa911e46e791d89ce4fed4a32b4b0637ba3a9920) )
608 
609 	ROM_REGION( 0x040000, "gal", ROMREGION_ERASE00 )
610 	ROM_LOAD( "gal16v8b.020", 0x000000, 0x040000, CRC(ac5c9495) SHA1(1c54ecf6dedbf8c3a29207c1c91b52e2ff394d9d) )
611 ROM_END
612 
613 ROM_START( mjmania )
614 	ROM_REGION( 0x40000, "maincpu", 0 ) // tmp68301 prg
615 	ROM_LOAD16_BYTE( "2.ic3", 0x000000, 0x020000, CRC(7b0f79c5) SHA1(73f23f68db4426b32583a7922abf773d67c76862) )
616 	ROM_LOAD16_BYTE( "1.ic2", 0x000001, 0x020000, CRC(19192ae7) SHA1(4e9fca04b567c8ef9136a3ab87b21207a44a24c4) )
617 
618 	DVD_BIOS
619 
620 	ROM_REGION( 0x20000, ":nichisnd:audiorom", 0 ) // z80
621 	ROM_LOAD( "11.ic51", 0x000000, 0x020000, CRC(f0c3bb11) SHA1(691a0ff53a9417e69051e9e2bdee7500bc6a746b) )
622 
623 	ROM_REGION16_BE( 0x400000, "blit_gfx", ROMREGION_ERASEFF ) // blitter based gfxs
624 	ROM_LOAD16_BYTE( "3.ic40", 0x000001, 0x080000, CRC(37dde764) SHA1(0530b63d8e682cdf01128057fdc3a8c23262afc9) )
625 	ROM_LOAD16_BYTE( "4.ic41", 0x000000, 0x080000, CRC(dea4a2d2) SHA1(0118eb1330c9da8fead99f64fc015fd343fed79b) )
626 
627 	DISK_REGION( "ide:0:hdd:image" )
628 	DISK_IMAGE_READONLY( "mjmania", 0, SHA1(7117f2045fd04a3d8f8e06a6a98e8f585c4da301) )
629 
630 	ROM_REGION( 0x1000, "gal", ROMREGION_ERASE00 )
631 	ROM_LOAD( "gal16v8b.ic8", 0x000000, 0x0008c1, BAD_DUMP CRC(6a92b563) SHA1(a6c4305cf021f37845f99713427daa9394b6ec7d) )
632 ROM_END
633 
634 ROM_START( renaimj )
635 	ROM_REGION( 0x40000, "maincpu", 0 ) // tmp68301 prg
636 	ROM_LOAD16_BYTE( "2.ic3",   0x00000, 0x20000, CRC(5455e94c) SHA1(97257ed020848611bf9f9637f1eb9ee3433a6e20) )
637 	ROM_LOAD16_BYTE( "1.ic2",   0x00001, 0x20000, CRC(285a5651) SHA1(c572a7c82759600e29e31518c69b17ae173c2263) )
638 
639 	DVD_BIOS
640 
641 	ROM_REGION( 0x20000, ":nichisnd:audiorom", 0 ) // z80
642 	ROM_LOAD( "11.ic51",   0x00000, 0x20000, CRC(614d17b9) SHA1(d6fb4441f55902c2b89b4bec53aae5311d81f07b) )
643 
644 	ROM_REGION16_BE( 0x400000, "blit_gfx", ROMREGION_ERASEFF ) // blitter based gfxs
645 	ROM_LOAD16_BYTE( "3.ic40",   0x00001, 0x80000, CRC(790aa63d) SHA1(d94b88084311f317d584a33ad5b483403f2bf226) )
646 	ROM_LOAD16_BYTE( "4.ic41",   0x00000, 0x80000, CRC(6d1c9efd) SHA1(c9ea9d6e6d34db5635fc55d41e7bb54a41948d27) )
647 	// 0x100000 - 0x3fffff empty sockets
648 
649 	DISK_REGION( "ide:0:hdd:image" )
650 	DISK_IMAGE_READONLY( "nb8008", 0, SHA1(49c92cb9b08ee7773f3d93fce0bbecc3c0ae654d) )
651 
652 	ROM_REGION( 0x40000, "gal", ROMREGION_ERASE00 )
653 	ROM_LOAD( "gal18v8b.020", 0x000000, 0x040000, CRC(0a32a144) SHA1(f3b4a1174adbb2f7b7500adeafa20142f6a16d08) )
654 ROM_END
655 
656 ROM_START( bikiniko )
657 	ROM_REGION( 0x40000, "maincpu", 0 ) // tmp68301 prg
658 	ROM_LOAD16_BYTE( "2.ic3",   0x00000, 0x20000, CRC(b80b5484) SHA1(35769d9502cbe587dad6380c35e535cea1578227) )
659 	ROM_LOAD16_BYTE( "1.ic2",   0x00001, 0x20000, CRC(13a885af) SHA1(ba8221fab1a37f1937e4399eabe3eaa9093884d3) )
660 
661 	DVD_BIOS
662 
663 	ROM_REGION( 0x20000, ":nichisnd:audiorom", 0 ) // z80
664 	ROM_LOAD( "11.ic51",   0x00000, 0x20000, CRC(4a2142d6) SHA1(3a762f7b7cccdb6715b5f59524b04b12694fc130) )
665 
666 	ROM_REGION16_BE( 0x400000, "blit_gfx", ROMREGION_ERASEFF ) // blitter based gfxs
667 	ROM_LOAD16_BYTE( "3.ic40",   0x00001, 0x80000, CRC(12914d3b) SHA1(de0cdb47ee5cbf8bd19ab19b1b8d8afe103dcedf) )
668 	ROM_LOAD16_BYTE( "4.ic41",   0x00000, 0x80000, CRC(1e2e1cf3) SHA1(f71b5dedf4f897644d519e412651152d0d81edb8) )
669 	// 0x100000 - 0x3fffff empty sockets
670 
671 	DISK_REGION( "ide:0:hdd:image" )
672 	DISK_IMAGE_READONLY( "bikiniko", 0, SHA1(2189b676746dd848b9b5eb69f9663d6dccd63787) )
673 ROM_END
674 
675 ROM_START( csplayh6 )
676 	ROM_REGION( 0x40000, "maincpu", 0 ) // tmp68301 prg
677 	ROM_LOAD16_BYTE( "2.ic3",   0x00000, 0x20000, CRC(12d896cc) SHA1(7d602b44cb781dbc52b112c9f1a5d88a332dfbe0) )
678 	ROM_LOAD16_BYTE( "1.ic2",   0x00001, 0x20000, CRC(1e4679ca) SHA1(f5df03c07f749906bbcef26a4a5d433564d4aeb8) )
679 
680 	DVD_BIOS
681 
682 	ROM_REGION( 0x20000, ":nichisnd:audiorom", 0 ) // z80
683 	ROM_LOAD( "11.ic51",   0x00000, 0x20000, CRC(3ce03f2d) SHA1(5ccdcac8bad25b4f680ed7a2074575711c25af41) )
684 
685 	ROM_REGION16_BE( 0x400000, "blit_gfx", ROMREGION_ERASEFF ) // blitter based gfxs
686 	ROM_LOAD16_BYTE( "3.ic40",   0x00001, 0x80000, CRC(a09e7575) SHA1(76f4d7562a3fd479c1c6de22f704a0953a39bb0c) )
687 	ROM_LOAD16_BYTE( "4.ic41",   0x00000, 0x80000, CRC(858e0604) SHA1(64c23bc06898188798937770129697b3c4b547d6) )
688 	// 0x100000 - 0x3fffff empty sockets
689 
690 	DISK_REGION( "ide:0:hdd:image" )
691 	DISK_IMAGE_READONLY( "nb8010", 0, SHA1(01e247fe1b86bbfe743e09a625432874f881a9a0) )
692 
693 	ROM_REGION( 0x40000, "gal", ROMREGION_ERASE00 )
694 	ROM_LOAD( "palce16v8h.020_bad", 0x000000, 0x040000, BAD_DUMP CRC(2aec4e37) SHA1(79d64394c0f6f2c5e17ae9fc62eaa279da466ccd) )
695 ROM_END
696 
697 ROM_START( thenanpa )
698 	ROM_REGION( 0x40000, "maincpu", 0 ) // tmp68301 prg
699 	ROM_LOAD16_BYTE( "2.ic3", 0x000000, 0x020000, CRC(ab0b686f) SHA1(a5681dbacbc60f3eb40e079779967cf69d9cb292) )
700 	ROM_LOAD16_BYTE( "1.ic2", 0x000001, 0x020000, CRC(48b65f9a) SHA1(ce35475d3b0e9e8dc69892428f3957d8d3d5f22c) )
701 
702 	DVD_BIOS
703 
704 	ROM_REGION( 0x20000, ":nichisnd:audiorom", 0 ) // z80
705 	ROM_LOAD( "11.ic51", 0x000000, 0x020000, CRC(f44c4095) SHA1(d43e464bd6d614c34791445f8fd4af2f62a4dfc2) )
706 
707 	ROM_REGION16_BE( 0x400000, "blit_gfx", ROMREGION_ERASEFF ) // blitter based gfxs
708 	ROM_LOAD16_BYTE( "3.ic40", 0x000001, 0x080000, CRC(ee6b88c4) SHA1(64ae66a24f1639801c7bdda7faa0d604bb97ceb1) )
709 	ROM_LOAD16_BYTE( "4.ic41", 0x000000, 0x080000, CRC(ce987845) SHA1(2f7dca32a79ad6afbc55ca1d492b582f952688ff) )
710 
711 	DISK_REGION( "ide:0:hdd:image" )
712 	DISK_IMAGE_READONLY( "thenanpa", 0,  SHA1(72bf8c75189e877508c5a64d5591738d23ed7e96) )
713 
714 	ROM_REGION( 0x1000, "gal", ROMREGION_ERASE00 )
715 	ROM_LOAD( "gal16v8b.ic8", 0x000000, 0x0008c1, BAD_DUMP CRC(daffd0ac)SHA1(cbeff914163d425a9cb30fe8d62f91fca281b11f) )
716 ROM_END
717 
718 ROM_START( pokoachu )
719 	ROM_REGION( 0x40000, "maincpu", 0 ) // tmp68301 prg
720 	ROM_LOAD16_BYTE( "2.ic3", 0x000000, 0x020000, CRC(db63c2c3) SHA1(528b0eead52e54af0c5accb5f96a382b1f9b7123) )
721 	ROM_LOAD16_BYTE( "1.ic2", 0x000001, 0x020000, CRC(789ffbc8) SHA1(44f3846414682e19465b485ffb89c7b78920cb0a)  )
722 
723 	DVD_BIOS
724 
725 	ROM_REGION( 0x20000, ":nichisnd:audiorom", 0 ) // z80
726 	ROM_LOAD( "11.ic51", 0x000000, 0x020000, CRC(9d344bad) SHA1(276c8066a2b5090edf6ba00843b7a9496c90f99f) )
727 
728 	ROM_REGION16_BE( 0x400000, "blit_gfx", ROMREGION_ERASEFF ) // blitter based gfxs
729 	ROM_LOAD16_BYTE( "3.ic40", 0x000001, 0x080000, CRC(843c288e) SHA1(2741b9da83fd35c7472b8c67bc02313a1c5e4e25) )
730 	ROM_LOAD16_BYTE( "4.ic41", 0x000000, 0x080000, CRC(6920a9b8) SHA1(0a4cb9e2a0d871aed60c1293b7cac4bf79a9446c) )
731 
732 	DISK_REGION( "ide:0:hdd:image" )
733 	DISK_IMAGE_READONLY( "nb8012", 0, SHA1(06c611f110377f5d02bbde1ab1d43d3623772b7b) )
734 
735 	ROM_REGION( 0x40000, "gal", ROMREGION_ERASE00 )
736 	ROM_LOAD( "gal16v8b.020", 0x000000, 0x040000, CRC(ac5c9495) SHA1(1c54ecf6dedbf8c3a29207c1c91b52e2ff394d9d) )
737 ROM_END
738 
739 ROM_START( csplayh7 )
740 	ROM_REGION( 0x40000, "maincpu", 0 ) // tmp68301 prg
741 	ROM_LOAD16_BYTE( "2.ic3", 0x000000, 0x020000, CRC(c5ce76a6) SHA1(f8878285d2318c1ec50ba98607eb3f15a7f69913) )
742 	ROM_LOAD16_BYTE( "1.ic2", 0x000001, 0x020000, CRC(162f8cff) SHA1(8aa185fd1daa943d0b21fdf6e692f7782bc6dac4) )
743 
744 	DVD_BIOS
745 
746 	ROM_REGION( 0x20000, ":nichisnd:audiorom", 0 ) // z80
747 	ROM_LOAD( "11.ic51", 0x000000, 0x020000, CRC(5905b199) SHA1(9155455bc21d23d439c4732549ff1143ee17b9d3) )
748 
749 	ROM_REGION16_BE( 0x400000, "blit_gfx", ROMREGION_ERASEFF ) // blitter based gfxs
750 	ROM_LOAD16_BYTE( "3.ic40", 0x000001, 0x080000, CRC(1d67ca95) SHA1(9b45045b6fa67308bade324f91c21010aa8d121e) )
751 	ROM_LOAD16_BYTE( "4.ic41", 0x000000, 0x080000, CRC(b4f5f990) SHA1(88cccae04f89fef43d88f4e82b65de3de946e9af) )
752 
753 	DISK_REGION( "ide:0:hdd:image" )
754 	DISK_IMAGE_READONLY( "csplayh7", 0, SHA1(f81e772745b0c62b17d91bd294993e49fe8da4d9) )
755 
756 	ROM_REGION( 0x1000, "gal", ROMREGION_ERASE00 )
757 	ROM_LOAD( "mjdvd12.gal16v8b.ic8.bin", 0x000000, 0x0008c1, BAD_DUMP CRC(6a92b563)SHA1(a6c4305cf021f37845f99713427daa9394b6ec7d) )
758 ROM_END
759 
760 ROM_START( aimode )
761 	ROM_REGION( 0x40000, "maincpu", 0 ) // tmp68301 prg
762 	ROM_LOAD16_BYTE( "2.ic3", 0x000000, 0x020000, CRC(fd7fda98) SHA1(d938391cc99d9ffdb427ec491403f81d14e09f5a) )
763 	ROM_LOAD16_BYTE( "1.ic2", 0x000001, 0x020000, CRC(c86765a8) SHA1(924831c07191e046beec79dd1da30c1944cfe57c) )
764 
765 	DVD_BIOS
766 
767 	ROM_REGION( 0x20000, ":nichisnd:audiorom", 0 ) // z80
768 	ROM_LOAD( "11.ic51", 0x000000, 0x020000, CRC(e6404950) SHA1(bb179c27ce65f7dc58d2aeed4710347e7953e11c) )
769 
770 	ROM_REGION16_BE( 0x400000, "blit_gfx", ROMREGION_ERASEFF ) // blitter based gfxs
771 	ROM_LOAD16_BYTE( "3.ic40", 0x000001, 0x080000, CRC(4a9863cf) SHA1(ccf08befe773fb94fa78423ed19b6b8d255ca3a7) )
772 	ROM_LOAD16_BYTE( "4.ic41", 0x000000, 0x080000, CRC(893aac1a) SHA1(14dd3f07363858c2be3a9400793f720b1f5baf1a) )
773 
774 	DISK_REGION( "ide:0:hdd:image" )
775 	DISK_IMAGE_READONLY( "nb8014", 0, SHA1(c5ad9bd66f0930e1c477126301286e38f077c164) )
776 
777 	ROM_REGION( 0x40000, "gal", ROMREGION_ERASE00 )
778 	ROM_LOAD( "gal16v8b.020", 0x000000, 0x040000, CRC(0a32a144) SHA1(f3b4a1174adbb2f7b7500adeafa20142f6a16d08) )
779 ROM_END
780 
781 ROM_START( fuudol )
782 	ROM_REGION( 0x40000, "maincpu", 0 ) // tmp68301 prg
783 	ROM_LOAD16_BYTE( "2.ic3", 0x000000, 0x020000, CRC(b1fa335e) SHA1(8a881c9c511fb63b00a3a7e433bae12aa9c2c262) )
784 	ROM_LOAD16_BYTE( "1.ic2", 0x000001, 0x020000, CRC(0cab2a72) SHA1(32d098bdd693a11f3cea6bbed3515c4217f40e23) )
785 
786 	DVD_BIOS
787 
788 	ROM_REGION( 0x20000, ":nichisnd:audiorom", 0 ) // z80
789 	ROM_LOAD( "11.ic51", 0x000000, 0x020000, CRC(f6442026) SHA1(f49ddeeeaf6fffdccea9ba73bce3ca60c07a7647) )
790 
791 	ROM_REGION16_BE( 0x400000, "blit_gfx", ROMREGION_ERASEFF ) // blitter based gfxs
792 	ROM_LOAD16_BYTE( "3.ic40", 0x000001, 0x080000, CRC(5c9e8665) SHA1(2a1b040e5c72d4400d4b5c467c75ae99e9bb01e2) )
793 	ROM_LOAD16_BYTE( "4.ic41", 0x000000, 0x080000, CRC(fdd79d8f) SHA1(f8bb82afaa28affb04b83270eb407129f1c7e611) )
794 
795 	DISK_REGION( "ide:0:hdd:image" )
796 	DISK_IMAGE_READONLY( "fuudol", 0, SHA1(fabab43543ed14da4fe7c63a2a2cc4e68936938a) )
797 
798 	ROM_REGION( 0x1000, "gal", ROMREGION_ERASE00 )
799 	ROM_LOAD( "gal16v8b.ic8", 0x000000, 0x0008c1, CRC(30719630) SHA1(a8c7b6d0304c38691775c5af6c32fbeeefd9f9fa) )
800 ROM_END
801 
802 ROM_START( nuretemi )
803 	ROM_REGION( 0x40000, "maincpu", 0 ) // tmp68301 prg
804 	ROM_LOAD16_BYTE( "2.ic3", 0x000000, 0x020000, CRC(da303352) SHA1(91c8752c93ca4022e978744bf42261d1a0e899a1) )
805 	ROM_LOAD16_BYTE( "1.ic2", 0x000001, 0x020000, CRC(53ef6360) SHA1(ec90f01e4e78821511a6dba885c0d38f594a3a86) )
806 
807 	DVD_BIOS
808 
809 	ROM_REGION( 0x20000, ":nichisnd:audiorom", 0 ) // z80
810 	ROM_LOAD( "11.ic51", 0x000000, 0x020000, CRC(655ec499) SHA1(5cea38e998edc7833b9a644930daecd99933c277) )
811 
812 	ROM_REGION16_BE( 0x400000, "blit_gfx", ROMREGION_ERASEFF ) // blitter based gfxs
813 	ROM_LOAD16_BYTE( "3.ic40", 0x000001, 0x080000, CRC(5c7af7f6) SHA1(78e58e3a81a6585c2c61f0026b7dc73a72c0d862) )
814 	ROM_LOAD16_BYTE( "4.ic41", 0x000000, 0x080000, CRC(335b6388) SHA1(c5427b42af011b5a5026d905b1740684b9f6f953) )
815 
816 	DISK_REGION( "ide:0:hdd:image" )
817 	DISK_IMAGE_READONLY( "nb8016", 0, SHA1(607d9f390265da3f0c50753d0ea32257b12e8c08) )
818 
819 	ROM_REGION( 0x1000, "gal", ROMREGION_ERASE00 )
820 	ROM_LOAD( "gal16v8b.bin", 0x000000, 0x000117, CRC(865de327) SHA1(a97374ee765443d9da6919d0e226108c062f7942) )
821 ROM_END
822 
823 ROM_START( tsuwaku )
824 	ROM_REGION( 0x40000, "maincpu", 0 ) // tmp68301 prg
825 	ROM_LOAD16_BYTE( "2.ic3",            0x000000, 0x020000, CRC(4577bf7b) SHA1(fed88157ded8ac72cc28cdd3b2ee36c293a6ee93) )
826 	ROM_LOAD16_BYTE( "1.ic2",            0x000001, 0x020000, CRC(a9890007) SHA1(3cd36c653d387842289f74c3cf35435f9d2a3aca) )
827 
828 	DVD_BIOS
829 
830 	ROM_REGION( 0x20000, ":nichisnd:audiorom", 0 ) // z80
831 	ROM_LOAD( "11.ic51",           0x000000, 0x020000, CRC(8451b9a9) SHA1(4e61c4b5ea7e91b53c97bd060b41466ba5005fd0) )
832 
833 	ROM_REGION16_BE( 0x400000, "blit_gfx", ROMREGION_ERASEFF ) // blitter based gfxs
834 	ROM_LOAD16_BYTE( "3.ic40",            0x000001, 0x080000, CRC(00657ca3) SHA1(a02bb8a177f3915ddf0bf97fd69426a3a28061a5) )
835 	ROM_LOAD16_BYTE( "4.ic41",            0x000000, 0x080000, CRC(edf56c94) SHA1(76d95a45aced3ad8bfe8a561f355731f4f99603e) )
836 
837 	DISK_REGION( "ide:0:hdd:image" )
838 	DISK_IMAGE_READONLY( "nb8017", 0, SHA1(6c86985574d53f990c4eec573d7fa84782cb9c4c) )
839 
840 	ROM_REGION( 0x040000, "gal", ROMREGION_ERASE00 )
841 	ROM_LOAD( "gal16v8h.020", 0x000000, 0x040000, CRC(ac5c9495) SHA1(1c54ecf6dedbf8c3a29207c1c91b52e2ff394d9d) )
842 ROM_END
843 
844 ROM_START( torarech )
845 	ROM_REGION( 0x40000, "maincpu", 0 ) // tmp68301 prg
846 	ROM_LOAD16_BYTE( "2.ic3",            0x000000, 0x020000, CRC(a7fda49b) SHA1(a7891e574b4d2ae3bcdc40f76b6e67e67d6e72bd) )
847 	ROM_LOAD16_BYTE( "1.ic2",            0x000001, 0x020000, CRC(887c1a0d) SHA1(a594e3ef6514ed48f097e742633c19e51c10b730) )
848 
849 	DVD_BIOS
850 
851 	ROM_REGION( 0x20000, ":nichisnd:audiorom", 0 ) // z80
852 	ROM_LOAD( "11.ic51",           0x000000, 0x020000, CRC(bd785d10) SHA1(ceb91c0f13eafabb8d48384857af6fc555d48951) )
853 
854 	ROM_REGION16_BE( 0x400000, "blit_gfx", ROMREGION_ERASEFF ) // blitter based gfxs
855 	ROM_LOAD16_BYTE( "3.ic40",            0x000001, 0x080000, CRC(cbbbab5c) SHA1(ab8ae64b1f2acfab55ba7cbb173f3036a46001e6) )
856 	ROM_LOAD16_BYTE( "4.ic41",            0x000000, 0x080000, CRC(18412fd8) SHA1(6907ce2739549519e1f3dcee2186f6add219a3c2) )
857 
858 	DISK_REGION( "ide:0:hdd:image" )
859 	DISK_IMAGE_READONLY( "nb8018", 0, SHA1(cf8758bb2caaba6377b354694123ddec71a4f8e1) )
860 
861 	ROM_REGION( 0x040000, "gal", ROMREGION_ERASE00 )
862 	ROM_LOAD( "palce16v8h.020", 0x000000, 0xbb2, BAD_DUMP CRC(c8e8605a) SHA1(02e43d9de73256e5c73d6f99834a23cef321d56b) )
863 ROM_END
864 
865 ROM_START( nichisel )
866 	ROM_REGION( 0x40000, "maincpu", 0 ) // tmp68301 prg
867 	ROM_LOAD16_BYTE( "2.ic3",            0x000000, 0x020000, CRC(fb84fc3e) SHA1(6b87c3516ceec59ec96012ea6a3d2fa9670a1cb3) )
868 	ROM_LOAD16_BYTE( "1.ic2",            0x000001, 0x020000, CRC(95fb8e74) SHA1(79aa45ed1c3bd3e1a83b02afb64268efb386100e) )
869 
870 	DVD_BIOS
871 
872 	ROM_REGION( 0x20000, ":nichisnd:audiorom", 0 ) // z80
873 	ROM_LOAD( "11.ic51",           0x000000, 0x020000, CRC(f94981fd) SHA1(84dae027f10717a084016310cd245bb4c2ee6a56) )
874 
875 	ROM_REGION16_BE( 0x400000, "blit_gfx", ROMREGION_ERASEFF ) // blitter based gfxs
876 	ROM_LOAD16_BYTE( "3.ic40",            0x000001, 0x080000, CRC(5ab63481) SHA1(fc81fbdd1df496813fc0d80bcab6d0434b75d311) )
877 	ROM_LOAD16_BYTE( "4.ic41",            0x000000, 0x080000, CRC(50085861) SHA1(b8f99a66a743c9bf66ef307fe4b581586e293fe5) )
878 
879 	DISK_REGION( "ide:0:hdd:image" )
880 	DISK_IMAGE_READONLY( "nb80sp", 0, SHA1(48eb9f8adba0ea5f59cfcbdee61c29b4af84ac97) )
881 
882 	ROM_REGION( 0x040000, "gal", ROMREGION_ERASE00 )
883 	ROM_LOAD( "palce16v8h.020", 0x000000, 0x040000, CRC(228b98fb) SHA1(53b57a09610425a5bb9d0ffe0f68dce2d9ab3bf6) )
884 ROM_END
885 
886 ROM_START( konhaji )
887 	ROM_REGION( 0x40000, "maincpu", 0 ) // tmp68301 prg
888 	ROM_LOAD16_BYTE( "2.ic3",            0x000000, 0x020000, CRC(f16c88db) SHA1(bd8b4619817bd95fffe3e7e6ca57cc2223f372fa) )
889 	ROM_LOAD16_BYTE( "1.ic2",            0x000001, 0x020000, CRC(9360eabe) SHA1(ecae0c8090f5cadd87fb544190112b53193f54ee) )
890 
891 	DVD_BIOS
892 
893 	ROM_REGION( 0x20000, ":nichisnd:audiorom", 0 ) // z80
894 	ROM_LOAD( "11.ic51",           0x000000, 0x020000, CRC(d1ba05d6) SHA1(8d29cdbf00946e06e92225eb260a694d17d7b8d4) )
895 
896 	ROM_REGION16_BE( 0x400000, "blit_gfx", ROMREGION_ERASEFF ) // blitter based gfxs
897 	ROM_LOAD16_BYTE( "3.ic40",            0x000001, 0x080000, CRC(88f31da7) SHA1(dc76532fa3261b3b238a42e2ca8f270f2b2ea1fa) )
898 	ROM_LOAD16_BYTE( "4.ic41",            0x000000, 0x080000, CRC(35893109) SHA1(6a55bd147a75913af59bc355abf010e1b75063bf) )
899 
900 	DISK_REGION( "ide:0:hdd:image" )
901 	DISK_IMAGE_READONLY( "nb8019", 0, SHA1(f59ac1587009d7d15618549dc60cbd24c263a95f) )
902 
903 	ROM_REGION( 0x040000, "gal", ROMREGION_ERASE00 )
904 	ROM_LOAD( "gal16v8b.bin", 0x000000, 0x000117, CRC(9f0dec43) SHA1(d836e564da496c3049e16f025daf362cced413d4) )
905 ROM_END
906 
907 
908 
909 /***************************************************************************
910 
911     Game metadatas
912 
913 ***************************************************************************/
914 
915 // 1995
916 GAME( 1995, csplayh1, 0,        csplayh5, csplayh5, csplayh5_state, init_csplayh1, ROT0, "Sphinx/AV Japan/Astro System Japan", "Super CD Dai8dan Mahjong Hanafuda Cosplay Tengoku (Japan)", MACHINE_NOT_WORKING )
917 
918 GAME( 1998, nichidvd, 0,        csplayh5, csplayh5, csplayh5_state, empty_init,    ROT0, "Nichibutsu",                         "Nichibutsu High Rate DVD BIOS", MACHINE_IS_BIOS_ROOT )
919 
920 // 1998
921 /* 01 */ GAME( 1998, mjgalpri, nichidvd, csplayh5, csplayh5, csplayh5_state, init_mjgalpri, ROT0, "Nichibutsu/Just&Just",                           "Mahjong Gal-pri - World Gal-con Grandprix (Japan)", MACHINE_NOT_WORKING )
922 /* 02 */ GAME( 1998, sengomjk, nichidvd, csplayh5, csplayh5, csplayh5_state, init_sengomjk, ROT0, "Nichibutsu/Just&Just",                           "Sengoku Mahjong Kurenai Otome-tai (Japan)", MACHINE_NOT_WORKING )
923 /* 03 */ GAME( 1998, junai,    nichidvd, csplayh5, csplayh5, csplayh5_state, init_junai,    ROT0, "Nichibutsu/eic",                                 "Junai - Manatsu no First Kiss (Japan)", MACHINE_NOT_WORKING )
924 /* 04 */ GAME( 1998, csplayh5, nichidvd, csplayh5, csplayh5, csplayh5_state, init_csplayh5, ROT0, "Nichibutsu",                                     "Mahjong Hanafuda Cosplay Tengoku 5 (Japan)", MACHINE_NOT_WORKING )
925 /* 05 */ GAME( 1998, junai2,   nichidvd, csplayh5, csplayh5, csplayh5_state, init_junai2,   ROT0, "Nichibutsu/eic",                                 "Junai 2 - White Love Story (Japan)", MACHINE_NOT_WORKING )
926 /* 06 */ GAME( 1998, mogitate, nichidvd, csplayh5, csplayh5, csplayh5_state, init_mogitate, ROT0, "Nichibutsu/Just&Just/NVS/Astro System/AV Japan", "Mahjong Mogitate (Japan)", MACHINE_NOT_WORKING )
927 
928 // 1999
929 /* 07 */ GAME( 1999, mjmania,  nichidvd, csplayh5, csplayh5, csplayh5_state, init_mjmania,  ROT0, "Sphinx/Just&Just",            "Mahjong Mania - Kairakukan e Youkoso (Japan)", MACHINE_NOT_WORKING )
930 /* 08 */ GAME( 1999, renaimj,  nichidvd, csplayh5, csplayh5, csplayh5_state, init_renaimj,  ROT0, "Nichibutsu/eic",              "Renai Mahjong Idol Gakuen (Japan)", MACHINE_NOT_WORKING )
931 /* 09 */ GAME( 1999, bikiniko, nichidvd, csplayh5, csplayh5, csplayh5_state, init_bikiniko, ROT0, "Nichibutsu/eic",              "BiKiNikko - Okinawa de Ippai Shichaimashita (Japan)", MACHINE_NOT_WORKING )
932 /* 10 */ GAME( 1999, csplayh6, nichidvd, csplayh5, csplayh5, csplayh5_state, init_csplayh6, ROT0, "Nichibutsu/eic",              "Mahjong Hanafuda Cosplay Tengoku 6 - Junai-hen (Japan)", MACHINE_NOT_WORKING )
933 /* 11 */ GAME( 1999, thenanpa, nichidvd, csplayh5, csplayh5, csplayh5_state, init_thenanpa, ROT0, "Nichibutsu/Love Factory/eic", "The Nanpa (Japan)", MACHINE_NOT_WORKING )
934 /* 12 */ GAME( 1999, pokoachu, nichidvd, csplayh5, csplayh5, csplayh5_state, init_pokoachu, ROT0, "Nichibutsu/eic",              "PokoaPoka Onsen de CHU - Bijin 3 Shimai ni Kiotsukete! (Japan)", MACHINE_NOT_WORKING )
935 /* 13 */ GAME( 1999, csplayh7, nichidvd, csplayh5, csplayh5, csplayh5_state, init_csplayh7, ROT0, "Nichibutsu/eic",              "Cosplay Tengoku 7 - Super Kogal Ranking (Japan)", MACHINE_NOT_WORKING )
936 /* 14 */ GAME( 1999, aimode,   nichidvd, csplayh5, csplayh5, csplayh5_state, init_aimode,   ROT0, "Nichibutsu/eic",              "Ai-mode - Pet Shiiku (Japan)", MACHINE_NOT_WORKING )
937 
938 // 2000
939 /* 15 */ GAME( 2000, fuudol,   nichidvd, csplayh5, csplayh5, csplayh5_state, init_fuudol,   ROT0, "Nichibutsu/eic",                    "Fuudol (Japan)", MACHINE_NOT_WORKING )
940 /* 16 */ GAME( 2000, nuretemi, nichidvd, csplayh5, csplayh5, csplayh5_state, init_nuretemi, ROT0, "Nichibutsu/Love Factory",           "Nurete Mitaino... - Net Idol Hen (Japan)", MACHINE_NOT_WORKING )
941 /* 17 */ GAME( 2000, tsuwaku,  nichidvd, csplayh5, csplayh5, csplayh5_state, init_tsuwaku,  ROT0, "Nichibutsu/Love Factory/Just&Just", "Tsuugakuro no Yuuwaku (Japan)", MACHINE_NOT_WORKING )
942 /* 18 */ GAME( 2000, torarech, nichidvd, csplayh5, csplayh5, csplayh5_state, init_torarech, ROT0, "Nichibutsu/Love Factory/M Friend",  "Torarechattano - AV Kantoku Hen (Japan)", MACHINE_NOT_WORKING )
943 /* sp */ GAME( 2000, nichisel, nichidvd, csplayh5, csplayh5, csplayh5_state, init_nichisel, ROT0, "Nichibutsu",                        "DVD Select (Japan)", MACHINE_NOT_WORKING )
944 
945 // 2001
946 /* 19 */ GAME( 2001, konhaji,  nichidvd, csplayh5, csplayh5, csplayh5_state, init_konhaji,  ROT0, "Nichibutsu/Love Factory", "Konnano Hajimete! (Japan)", MACHINE_NOT_WORKING )
947 /* 20 */ // Uwasa no Deaikei Site : Nichibutsu/Love Factory/eic
948