115
116
static VIDEO_START( jangou )
117
jangou_state *state = machine->driver_data<jangou_state>();
118
jangou_state *state = machine.driver_data<jangou_state>();
119
state->blit_buffer = auto_alloc_array(machine, UINT8, 256 * 256);
120
state_save_register_global_pointer(machine, state->blit_buffer, 256 * 256);
120
state->save_item(NAME(state->m_blit_buffer));
123
static VIDEO_UPDATE( jangou )
123
static SCREEN_UPDATE( jangou )
125
jangou_state *state = screen->machine->driver_data<jangou_state>();
125
jangou_state *state = screen->machine().driver_data<jangou_state>();
128
128
for (y = cliprect->min_y; y <= cliprect->max_y; ++y)
130
UINT8 *src = &state->blit_buffer[y * 512 / 2 + cliprect->min_x];
130
UINT8 *src = &state->m_blit_buffer[y * 512 / 2 + cliprect->min_x];
131
131
UINT16 *dst = BITMAP_ADDR16(bitmap, y, cliprect->min_x);
133
133
for (x = cliprect->min_x; x <= cliprect->max_x; x += 2)
135
135
UINT32 srcpix = *src++;
136
*dst++ = screen->machine->pens[srcpix & 0xf];
137
*dst++ = screen->machine->pens[(srcpix >> 4) & 0xf];
136
*dst++ = screen->machine().pens[srcpix & 0xf];
137
*dst++ = screen->machine().pens[(srcpix >> 4) & 0xf];
162
162
return (blit_rom[(niboffset >> 1) & 0xffff] & 0x0f);
165
static void plot_jangou_gfx_pixel( running_machine *machine, UINT8 pix, int x, int y )
165
static void plot_jangou_gfx_pixel( running_machine &machine, UINT8 pix, int x, int y )
167
jangou_state *state = machine->driver_data<jangou_state>();
167
jangou_state *state = machine.driver_data<jangou_state>();
168
168
if (y < 0 || y >= 512)
170
170
if (x < 0 || x >= 512)
174
state->blit_buffer[(y * 256) + (x >> 1)] = (state->blit_buffer[(y * 256) + (x >> 1)] & 0x0f) | ((pix << 4) & 0xf0);
174
state->m_blit_buffer[(y * 256) + (x >> 1)] = (state->m_blit_buffer[(y * 256) + (x >> 1)] & 0x0f) | ((pix << 4) & 0xf0);
176
state->blit_buffer[(y * 256) + (x >> 1)] = (state->blit_buffer[(y * 256) + (x >> 1)] & 0xf0) | (pix & 0x0f);
176
state->m_blit_buffer[(y * 256) + (x >> 1)] = (state->m_blit_buffer[(y * 256) + (x >> 1)] & 0xf0) | (pix & 0x0f);
179
179
static WRITE8_HANDLER( blitter_process_w )
181
jangou_state *state = space->machine->driver_data<jangou_state>();
181
jangou_state *state = space->machine().driver_data<jangou_state>();
182
182
int src, x, y, h, w, flipx;
183
state->blit_data[offset] = data;
183
state->m_blit_data[offset] = data;
188
188
int xcount, ycount;
190
/* printf("%02x %02x %02x %02x %02x %02x\n", state->blit_data[0], state->blit_data[1], state->blit_data[2],
191
state->blit_data[3], state->blit_data[4], state->blit_data[5]); */
192
w = (state->blit_data[4] & 0xff) + 1;
193
h = (state->blit_data[5] & 0xff) + 1;
194
src = ((state->blit_data[1] << 8)|(state->blit_data[0] << 0));
195
x = (state->blit_data[2] & 0xff);
196
y = (state->blit_data[3] & 0xff);
190
/* printf("%02x %02x %02x %02x %02x %02x\n", state->m_blit_data[0], state->m_blit_data[1], state->m_blit_data[2],
191
state->m_blit_data[3], state->m_blit_data[4], state->m_blit_data[5]); */
192
w = (state->m_blit_data[4] & 0xff) + 1;
193
h = (state->m_blit_data[5] & 0xff) + 1;
194
src = ((state->m_blit_data[1] << 8)|(state->m_blit_data[0] << 0));
195
x = (state->m_blit_data[2] & 0xff);
196
y = (state->m_blit_data[3] & 0xff);
198
198
// lowest bit of src controls flipping / draw direction?
199
flipx = (state->blit_data[0] & 1);
199
flipx = (state->m_blit_data[0] & 1);
202
202
src += (w * h) - 1;
210
210
int drawx = (x + xcount) & 0xff;
211
211
int drawy = (y + ycount) & 0xff;
212
UINT8 dat = jangou_gfx_nibble(space->machine, src + count);
213
UINT8 cur_pen_hi = state->pen_data[(dat & 0xf0) >> 4];
214
UINT8 cur_pen_lo = state->pen_data[(dat & 0x0f) >> 0];
212
UINT8 dat = jangou_gfx_nibble(space->machine(), src + count);
213
UINT8 cur_pen_hi = state->m_pen_data[(dat & 0xf0) >> 4];
214
UINT8 cur_pen_lo = state->m_pen_data[(dat & 0x0f) >> 0];
216
216
dat = cur_pen_lo | (cur_pen_hi << 4);
218
218
if ((dat & 0xff) != 0)
219
plot_jangou_gfx_pixel(space->machine, dat, drawx, drawy);
219
plot_jangou_gfx_pixel(space->machine(), dat, drawx, drawy);
256
256
---- ---x coin counter
258
258
// printf("%02x\n", data);
259
coin_counter_w(space->machine, 0, data & 0x01);
259
coin_counter_w(space->machine(), 0, data & 0x01);
260
260
// flip_screen_set(data & 0x04);
261
// coin_lockout_w(space->machine, 0, ~data & 0x20);
261
// coin_lockout_w(space->machine(), 0, ~data & 0x20);
264
264
static READ8_DEVICE_HANDLER( input_mux_r )
266
jangou_state *state = device->machine->driver_data<jangou_state>();
267
switch(state->mux_data)
266
jangou_state *state = device->machine().driver_data<jangou_state>();
267
switch(state->m_mux_data)
269
case 0x01: return input_port_read(device->machine, "PL1_1");
270
case 0x02: return input_port_read(device->machine, "PL1_2");
271
case 0x04: return input_port_read(device->machine, "PL2_1");
272
case 0x08: return input_port_read(device->machine, "PL2_2");
273
case 0x10: return input_port_read(device->machine, "PL1_3");
274
case 0x20: return input_port_read(device->machine, "PL2_3");
269
case 0x01: return input_port_read(device->machine(), "PL1_1");
270
case 0x02: return input_port_read(device->machine(), "PL1_2");
271
case 0x04: return input_port_read(device->machine(), "PL2_1");
272
case 0x08: return input_port_read(device->machine(), "PL2_2");
273
case 0x10: return input_port_read(device->machine(), "PL1_3");
274
case 0x20: return input_port_read(device->machine(), "PL2_3");
277
return input_port_read(device->machine, "IN_NOMUX");
277
return input_port_read(device->machine(), "IN_NOMUX");
280
280
static READ8_DEVICE_HANDLER( input_system_r )
282
return input_port_read(device->machine, "SYSTEM");
282
return input_port_read(device->machine(), "SYSTEM");
292
292
static WRITE8_HANDLER( sound_latch_w )
294
jangou_state *state = space->machine->driver_data<jangou_state>();
294
jangou_state *state = space->machine().driver_data<jangou_state>();
295
295
soundlatch_w(space, 0, data & 0xff);
296
cpu_set_input_line(state->cpu_1, INPUT_LINE_NMI, ASSERT_LINE);
296
device_set_input_line(state->m_cpu_1, INPUT_LINE_NMI, ASSERT_LINE);
299
299
static READ8_HANDLER( sound_latch_r )
301
jangou_state *state = space->machine->driver_data<jangou_state>();
302
cpu_set_input_line(state->cpu_1, INPUT_LINE_NMI, CLEAR_LINE);
301
jangou_state *state = space->machine().driver_data<jangou_state>();
302
device_set_input_line(state->m_cpu_1, INPUT_LINE_NMI, CLEAR_LINE);
303
303
return soundlatch_r(space, 0);
306
306
/* Jangou HC-55516 CVSD */
307
307
static WRITE8_HANDLER( cvsd_w )
309
jangou_state *state = space->machine->driver_data<jangou_state>();
310
state->cvsd_shiftreg = data;
309
jangou_state *state = space->machine().driver_data<jangou_state>();
310
state->m_cvsd_shiftreg = data;
313
313
static TIMER_CALLBACK( cvsd_bit_timer_callback )
315
jangou_state *state = machine->driver_data<jangou_state>();
315
jangou_state *state = machine.driver_data<jangou_state>();
317
317
/* Data is shifted out at the MSB */
318
hc55516_digit_w(state->cvsd, (state->cvsd_shiftreg >> 7) & 1);
319
state->cvsd_shiftreg <<= 1;
318
hc55516_digit_w(state->m_cvsd, (state->m_cvsd_shiftreg >> 7) & 1);
319
state->m_cvsd_shiftreg <<= 1;
321
321
/* Trigger an IRQ for every 8 shifted bits */
322
if ((++state->cvsd_shift_cnt & 7) == 0)
323
cpu_set_input_line(state->cpu_1, 0, HOLD_LINE);
322
if ((++state->m_cvsd_shift_cnt & 7) == 0)
323
device_set_input_line(state->m_cpu_1, 0, HOLD_LINE);
327
327
/* Jangou Lady MSM5218 (MSM5205-compatible) ADPCM */
328
328
static WRITE8_HANDLER( adpcm_w )
330
jangou_state *state = space->machine->driver_data<jangou_state>();
331
state->adpcm_byte = data;
330
jangou_state *state = space->machine().driver_data<jangou_state>();
331
state->m_adpcm_byte = data;
334
334
static void jngolady_vclk_cb( device_t *device )
336
jangou_state *state = device->machine->driver_data<jangou_state>();
336
jangou_state *state = device->machine().driver_data<jangou_state>();
338
if (state->msm5205_vclk_toggle == 0)
339
msm5205_data_w(device, state->adpcm_byte >> 4);
338
if (state->m_msm5205_vclk_toggle == 0)
339
msm5205_data_w(device, state->m_adpcm_byte >> 4);
342
msm5205_data_w(device, state->adpcm_byte & 0xf);
343
cpu_set_input_line(state->cpu_1, 0, HOLD_LINE);
342
msm5205_data_w(device, state->m_adpcm_byte & 0xf);
343
device_set_input_line(state->m_cpu_1, 0, HOLD_LINE);
346
state->msm5205_vclk_toggle ^= 1;
346
state->m_msm5205_vclk_toggle ^= 1;
356
356
static READ8_HANDLER( master_com_r )
358
jangou_state *state = space->machine->driver_data<jangou_state>();
359
return state->z80_latch;
358
jangou_state *state = space->machine().driver_data<jangou_state>();
359
return state->m_z80_latch;
362
362
static WRITE8_HANDLER( master_com_w )
364
jangou_state *state = space->machine->driver_data<jangou_state>();
364
jangou_state *state = space->machine().driver_data<jangou_state>();
366
cpu_set_input_line(state->nsc, 0, HOLD_LINE);
367
state->nsc_latch = data;
366
device_set_input_line(state->m_nsc, 0, HOLD_LINE);
367
state->m_nsc_latch = data;
370
370
static READ8_HANDLER( slave_com_r )
372
jangou_state *state = space->machine->driver_data<jangou_state>();
373
return state->nsc_latch;
372
jangou_state *state = space->machine().driver_data<jangou_state>();
373
return state->m_nsc_latch;
376
376
static WRITE8_HANDLER( slave_com_w )
378
jangou_state *state = space->machine->driver_data<jangou_state>();
379
state->z80_latch = data;
378
jangou_state *state = space->machine().driver_data<jangou_state>();
379
state->m_z80_latch = data;
382
382
/*************************************
386
386
*************************************/
388
static ADDRESS_MAP_START( cpu0_map, ADDRESS_SPACE_PROGRAM, 8 )
388
static ADDRESS_MAP_START( cpu0_map, AS_PROGRAM, 8 )
389
389
AM_RANGE(0x0000, 0x9fff) AM_ROM
390
390
AM_RANGE(0xc000, 0xc7ff) AM_RAM
393
static ADDRESS_MAP_START( cpu0_io, ADDRESS_SPACE_IO, 8 )
393
static ADDRESS_MAP_START( cpu0_io, AS_IO, 8 )
394
394
ADDRESS_MAP_GLOBAL_MASK(0xff)
395
395
AM_RANGE(0x01,0x01) AM_DEVREAD("aysnd", ay8910_r)
396
396
AM_RANGE(0x02,0x03) AM_DEVWRITE("aysnd", ay8910_data_address_w)
407
static ADDRESS_MAP_START( cpu1_map, ADDRESS_SPACE_PROGRAM, 8 )
407
static ADDRESS_MAP_START( cpu1_map, AS_PROGRAM, 8 )
408
408
AM_RANGE(0x0000, 0x7fff) AM_ROM AM_WRITENOP
411
static ADDRESS_MAP_START( cpu1_io, ADDRESS_SPACE_IO, 8 )
411
static ADDRESS_MAP_START( cpu1_io, AS_IO, 8 )
412
412
ADDRESS_MAP_GLOBAL_MASK(0xff)
413
413
AM_RANGE(0x00,0x00) AM_READ(sound_latch_r)
414
414
AM_RANGE(0x01,0x01) AM_WRITE(cvsd_w)
423
423
*************************************/
425
static ADDRESS_MAP_START( jngolady_cpu0_map, ADDRESS_SPACE_PROGRAM, 8 )
425
static ADDRESS_MAP_START( jngolady_cpu0_map, AS_PROGRAM, 8 )
426
426
AM_RANGE(0x0000, 0x9fff) AM_ROM
427
427
AM_RANGE(0xc000, 0xc7ff) AM_RAM AM_SHARE("share1")
428
428
AM_RANGE(0xe000, 0xe000) AM_READWRITE(master_com_r,master_com_w)
432
static ADDRESS_MAP_START( jngolady_cpu1_map, ADDRESS_SPACE_PROGRAM, 8 )
432
static ADDRESS_MAP_START( jngolady_cpu1_map, AS_PROGRAM, 8 )
433
433
AM_RANGE(0x0000, 0x7fff) AM_ROM AM_WRITENOP
436
static ADDRESS_MAP_START( jngolady_cpu1_io, ADDRESS_SPACE_IO, 8 )
436
static ADDRESS_MAP_START( jngolady_cpu1_io, AS_IO, 8 )
437
437
ADDRESS_MAP_GLOBAL_MASK(0xff)
438
438
AM_RANGE(0x00,0x00) AM_READ(sound_latch_r)
439
439
AM_RANGE(0x01,0x01) AM_WRITE(adpcm_w)
444
static ADDRESS_MAP_START( nsc_map, ADDRESS_SPACE_PROGRAM, 8 )
444
static ADDRESS_MAP_START( nsc_map, AS_PROGRAM, 8 )
445
445
AM_RANGE(0x0000, 0x007f) AM_RAM //internal ram for irq etc.
446
446
AM_RANGE(0x8000, 0x8000) AM_WRITENOP //write-only,irq related?
447
447
AM_RANGE(0x9000, 0x9000) AM_READWRITE(slave_com_r,slave_com_w)
456
456
*************************************/
458
static ADDRESS_MAP_START( cntrygrl_cpu0_map, ADDRESS_SPACE_PROGRAM, 8 )
458
static ADDRESS_MAP_START( cntrygrl_cpu0_map, AS_PROGRAM, 8 )
459
459
AM_RANGE(0x0000, 0x3fff) AM_ROM
460
460
// AM_RANGE(0xc000, 0xc7ff) AM_RAM
461
461
AM_RANGE(0xe000, 0xefff) AM_RAM
464
static ADDRESS_MAP_START( cntrygrl_cpu0_io, ADDRESS_SPACE_IO, 8 )
464
static ADDRESS_MAP_START( cntrygrl_cpu0_io, AS_IO, 8 )
465
465
ADDRESS_MAP_GLOBAL_MASK(0xff)
466
466
AM_RANGE(0x01,0x01) AM_DEVREAD("aysnd", ay8910_r)
467
467
AM_RANGE(0x02,0x03) AM_DEVWRITE("aysnd", ay8910_data_address_w)
481
481
*************************************/
483
static ADDRESS_MAP_START( roylcrdn_cpu0_map, ADDRESS_SPACE_PROGRAM, 8 )
483
static ADDRESS_MAP_START( roylcrdn_cpu0_map, AS_PROGRAM, 8 )
484
484
AM_RANGE(0x0000, 0x2fff) AM_ROM
485
485
AM_RANGE(0x7000, 0x77ff) AM_RAM AM_SHARE("nvram") /* MK48Z02B-15 ZEROPOWER RAM */
488
static ADDRESS_MAP_START( roylcrdn_cpu0_io, ADDRESS_SPACE_IO, 8 )
488
static ADDRESS_MAP_START( roylcrdn_cpu0_io, AS_IO, 8 )
489
489
ADDRESS_MAP_GLOBAL_MASK(0xff)
490
490
AM_RANGE(0x01,0x01) AM_DEVREAD("aysnd", ay8910_r)
491
491
AM_RANGE(0x02,0x03) AM_DEVWRITE("aysnd", ay8910_data_address_w)
892
892
static SOUND_START( jangou )
894
jangou_state *state = machine->driver_data<jangou_state>();
894
jangou_state *state = machine.driver_data<jangou_state>();
896
896
/* Create a timer to feed the CVSD DAC with sample bits */
897
state->cvsd_bit_timer = timer_alloc(machine, cvsd_bit_timer_callback, NULL);
898
timer_adjust_periodic(state->cvsd_bit_timer, ATTOTIME_IN_HZ(MASTER_CLOCK / 1024), 0, ATTOTIME_IN_HZ(MASTER_CLOCK / 1024));
897
state->m_cvsd_bit_timer = machine.scheduler().timer_alloc(FUNC(cvsd_bit_timer_callback));
898
state->m_cvsd_bit_timer->adjust(attotime::from_hz(MASTER_CLOCK / 1024), 0, attotime::from_hz(MASTER_CLOCK / 1024));
908
908
static MACHINE_START( common )
910
jangou_state *state = machine->driver_data<jangou_state>();
912
state->cpu_0 = machine->device("cpu0");
913
state->cpu_1 = machine->device("cpu1");
914
state->cvsd = machine->device("cvsd");
915
state->nsc = machine->device("nsc");
917
state_save_register_global_array(machine, state->pen_data);
918
state_save_register_global_array(machine, state->blit_data);
919
state_save_register_global(machine, state->mux_data);
910
jangou_state *state = machine.driver_data<jangou_state>();
912
state->m_cpu_0 = machine.device("cpu0");
913
state->m_cpu_1 = machine.device("cpu1");
914
state->m_cvsd = machine.device("cvsd");
915
state->m_nsc = machine.device("nsc");
917
state->save_item(NAME(state->m_pen_data));
918
state->save_item(NAME(state->m_blit_data));
919
state->save_item(NAME(state->m_mux_data));
922
922
static MACHINE_START( jangou )
924
jangou_state *state = machine->driver_data<jangou_state>();
924
jangou_state *state = machine.driver_data<jangou_state>();
926
926
MACHINE_START_CALL(common);
928
state_save_register_global(machine, state->cvsd_shiftreg);
929
state_save_register_global(machine, state->cvsd_shift_cnt);
928
state->save_item(NAME(state->m_cvsd_shiftreg));
929
state->save_item(NAME(state->m_cvsd_shift_cnt));
932
932
static MACHINE_START( jngolady )
934
jangou_state *state = machine->driver_data<jangou_state>();
934
jangou_state *state = machine.driver_data<jangou_state>();
936
936
MACHINE_START_CALL(common);
938
state_save_register_global(machine, state->adpcm_byte);
939
state_save_register_global(machine, state->msm5205_vclk_toggle);
940
state_save_register_global(machine, state->nsc_latch);
941
state_save_register_global(machine, state->z80_latch);
938
state->save_item(NAME(state->m_adpcm_byte));
939
state->save_item(NAME(state->m_msm5205_vclk_toggle));
940
state->save_item(NAME(state->m_nsc_latch));
941
state->save_item(NAME(state->m_z80_latch));
944
944
static MACHINE_RESET( common )
946
jangou_state *state = machine->driver_data<jangou_state>();
946
jangou_state *state = machine.driver_data<jangou_state>();
949
state->m_mux_data = 0;
951
951
for (i = 0; i < 6; i++)
952
state->blit_data[i] = 0;
952
state->m_blit_data[i] = 0;
954
954
for (i = 0; i < 16; i++)
955
state->pen_data[i] = 0;
955
state->m_pen_data[i] = 0;
958
958
static MACHINE_RESET( jangou )
960
jangou_state *state = machine->driver_data<jangou_state>();
960
jangou_state *state = machine.driver_data<jangou_state>();
962
962
MACHINE_RESET_CALL(common);
964
state->cvsd_shiftreg = 0;
965
state->cvsd_shift_cnt = 0;
964
state->m_cvsd_shiftreg = 0;
965
state->m_cvsd_shift_cnt = 0;
968
968
static MACHINE_RESET( jngolady )
970
jangou_state *state = machine->driver_data<jangou_state>();
970
jangou_state *state = machine.driver_data<jangou_state>();
972
972
MACHINE_RESET_CALL(common);
974
state->adpcm_byte = 0;
975
state->msm5205_vclk_toggle = 0;
976
state->nsc_latch = 0;
977
state->z80_latch = 0;
974
state->m_adpcm_byte = 0;
975
state->m_msm5205_vclk_toggle = 0;
976
state->m_nsc_latch = 0;
977
state->m_z80_latch = 0;
980
980
/* Note: All frequencies and dividers are unverified */
1242
1242
ROM_START( cntrygrl )
1243
1243
ROM_REGION( 0x10000, "cpu0", 0 )
1244
ROM_LOAD( "rom4.bin", 0x00000, 0x02000, CRC(adba8e2f) SHA1(2aae77838e3de6e665b32a7fe4ac3f627c35b871) )
1245
ROM_LOAD( "rom5.bin", 0x02000, 0x02000, CRC(24d210ed) SHA1(6a0eae9d459975fbaad75bf21284baac3ba4f872) )
1244
ROM_LOAD( "rom4.7l", 0x00000, 0x02000, CRC(adba8e2f) SHA1(2aae77838e3de6e665b32a7fe4ac3f627c35b871) )
1245
ROM_LOAD( "rom5.7k", 0x02000, 0x02000, CRC(24d210ed) SHA1(6a0eae9d459975fbaad75bf21284baac3ba4f872) )
1247
/*wtf,these 2 roms are next to the CPU roms, one is a CPU rom from Moon Quasar, the other a GFX rom from Crazy Climber,
1248
I dunno what's going on,the game doesn't appear to need these two....*/
1247
/* wtf,these 2 roms are next to the CPU roms, one is a CPU rom from Moon Quasar, the other a GFX rom from Crazy Climber,
1248
I dunno what's going on,the game doesn't appear to need these two....*/
1249
1249
ROM_REGION( 0x1000, "user1", 0 )
1250
ROM_LOAD( "rom6.bin", 0x00000, 0x0800, CRC(33965a89) SHA1(92912cea76a472d9b709c664d9818844a07fcc32) ) // = mq3 Moon Quasar
1251
ROM_LOAD( "rom7.bin", 0x00800, 0x0800, CRC(481b64cc) SHA1(3f35c545fc784ed4f969aba2d7be6e13a5ae32b7) ) // = cc06 Crazy Climber (US)
1250
ROM_LOAD( "rom6.7h", 0x00000, 0x0800, CRC(33965a89) SHA1(92912cea76a472d9b709c664d9818844a07fcc32) ) // = mq3 Moon Quasar
1251
ROM_LOAD( "rom7.7j", 0x00800, 0x0800, CRC(481b64cc) SHA1(3f35c545fc784ed4f969aba2d7be6e13a5ae32b7) ) // = cc06 Crazy Climber (US)
1253
1253
ROM_REGION( 0x10000, "gfx", 0 )
1254
ROM_LOAD( "rom1.bin", 0x00000, 0x02000, CRC(92033f37) SHA1(aa407c2feb1cbb7cbc6c59656338453c5a670749) )
1255
ROM_LOAD( "rom2.bin", 0x02000, 0x02000, CRC(0588cc48) SHA1(f769ece2955eb9f055c499b6243a2fead9d07984) )
1256
ROM_LOAD( "rom3.bin", 0x04000, 0x02000, CRC(ce00ff56) SHA1(c5e58707a5dd0f57c34b09de542ef30e96ab95d1) )
1254
ROM_LOAD( "rom1.5m", 0x00000, 0x02000, CRC(92033f37) SHA1(aa407c2feb1cbb7cbc6c59656338453c5a670749) )
1255
ROM_LOAD( "rom2.5l", 0x02000, 0x02000, CRC(0588cc48) SHA1(f769ece2955eb9f055c499b6243a2fead9d07984) )
1256
ROM_LOAD( "rom3.5k", 0x04000, 0x02000, CRC(ce00ff56) SHA1(c5e58707a5dd0f57c34b09de542ef30e96ab95d1) )
1258
1258
ROM_REGION( 0x20, "proms", 0 )
1259
ROM_LOAD( "countrygirl_prom.bin", 0x00, 0x20, CRC(dc54dc52) SHA1(db91a7ae05eb6b6e4b42f91dfe20ac0da6680b46) )
1259
ROM_LOAD( "countrygirl_prom.4f", 0x00, 0x20, CRC(dc54dc52) SHA1(db91a7ae05eb6b6e4b42f91dfe20ac0da6680b46) )
1262
1262
ROM_START( fruitbun )
1292
1292
ROM_LOAD( "5bunny.7j", 0x00800, 0x0800, CRC(06666bbf) SHA1(3d8eb4ea2d4fc6f3f327e710e19bcb68d8466d80) )
1294
1294
ROM_REGION( 0x10000, "gfx", 0 )
1295
ROM_LOAD( "rom1.bin", 0x00000, 0x02000, CRC(92033f37) SHA1(aa407c2feb1cbb7cbc6c59656338453c5a670749) ) //5bunny.m5
1296
ROM_LOAD( "rom2.bin", 0x02000, 0x02000, CRC(0588cc48) SHA1(f769ece2955eb9f055c499b6243a2fead9d07984) ) //5bunny.l5
1297
ROM_LOAD( "rom3.bin", 0x04000, 0x02000, CRC(ce00ff56) SHA1(c5e58707a5dd0f57c34b09de542ef30e96ab95d1) ) //5bunny.k5
1295
ROM_LOAD( "rom1.5m", 0x00000, 0x02000, CRC(92033f37) SHA1(aa407c2feb1cbb7cbc6c59656338453c5a670749) ) //5bunny.m5
1296
ROM_LOAD( "rom2.5l", 0x02000, 0x02000, CRC(0588cc48) SHA1(f769ece2955eb9f055c499b6243a2fead9d07984) ) //5bunny.l5
1297
ROM_LOAD( "rom3.5k", 0x04000, 0x02000, CRC(ce00ff56) SHA1(c5e58707a5dd0f57c34b09de542ef30e96ab95d1) ) //5bunny.k5
1299
1299
ROM_REGION( 0x20, "proms", 0 )
1300
1300
ROM_LOAD( "tbp18s30n.4f", 0x00, 0x20, CRC(dc54dc52) SHA1(db91a7ae05eb6b6e4b42f91dfe20ac0da6680b46) ) //verified on real hardware
1356
1356
/*Temporary kludge for make the RNG work*/
1357
1357
static READ8_HANDLER( jngolady_rng_r )
1359
return space->machine->rand();
1359
return space->machine().rand();
1362
1362
static DRIVER_INIT( jngolady )
1364
memory_install_read8_handler(cputag_get_address_space(machine, "nsc", ADDRESS_SPACE_PROGRAM), 0x08, 0x08, 0, 0, jngolady_rng_r );
1364
machine.device("nsc")->memory().space(AS_PROGRAM)->install_legacy_read_handler(0x08, 0x08, FUNC(jngolady_rng_r) );
1367
1367
static DRIVER_INIT (luckygrl)
1369
1369
// this is WRONG
1371
UINT8 *ROM = machine->region("cpu0")->base();
1371
UINT8 *ROM = machine.region("cpu0")->base();
1373
1373
unsigned char patn1[32] = {
1374
1374
0x00, 0xA0, 0x00, 0xA0, 0x00, 0xA0, 0x00, 0xA0, 0x00, 0xA0, 0x00, 0xA0, 0x00, 0xA0, 0x00, 0xA0,