diff options
author | Aaron Giles <aaron@aarongiles.com> | 2008-02-05 08:20:32 +0000 |
---|---|---|
committer | Aaron Giles <aaron@aarongiles.com> | 2008-02-05 08:20:32 +0000 |
commit | eff321318a186c422d1daf8abfd8c7527d1733dd (patch) | |
tree | 58dfd7cf174ace1616ca52531a79ca7798cff4b5 | |
parent | 662dea1a211f74a73f3e9e5f749fa819ec9cdb5d (diff) |
Small collection of fixes from post-0.122u8:
r573 | andrewga | 2008-02-03 01:14:51 -0800 (Sun, 03 Feb 2008) | 5 lines
Fixes error:
pool_object_add (via src/emu/debug/debugcmt.c:107): Attempted to add a NULL object of size 0
This was happening when mame_debug_init was being called with 0 CPUs (eg. when starting MAME from the command line without a ROMset specified).
--
r579 | rbelmont | 2008-02-03 13:20:45 -0800 (Sun, 03 Feb 2008) | 2 lines
[ARM7] Fixed PSR transfers.
--
r580 | aarongil | 2008-02-03 13:27:10 -0800 (Sun, 03 Feb 2008) | 2 lines
Minor typo wreaks major havoc. Story at 11.
--
r581 | aarongil | 2008-02-03 13:38:52 -0800 (Sun, 03 Feb 2008) | 2 lines
Fixed ADPCM in m62 games. Some additional cleanup.
--
r583 | pierpaol | 2008-02-03 15:04:55 -0800 (Sun, 03 Feb 2008) | 1 line
Fixed palette gradient for promutrv
--
r584 | nathanwo | 2008-02-03 16:02:55 -0800 (Sun, 03 Feb 2008) | 3 lines
Fixing #include order in sid.c
--
r592 | aarongil | 2008-02-04 23:45:17 -0800 (Mon, 04 Feb 2008) | 2 lines
Fixed watchdogs when not explicitly specified.
--
r593 | aarongil | 2008-02-04 23:50:37 -0800 (Mon, 04 Feb 2008) | 2 lines
Fix sprite placement again in chinagat drivers.
--
r594 | aarongil | 2008-02-04 23:57:36 -0800 (Mon, 04 Feb 2008) | 2 lines
Fixed incorrect default screen size computations.
-rw-r--r-- | src/emu/cpu/arm7/arm7core.c | 4 | ||||
-rw-r--r-- | src/emu/cpuexec.c | 3 | ||||
-rw-r--r-- | src/emu/debug/debugcmt.c | 15 | ||||
-rw-r--r-- | src/emu/sound/sid.c | 2 | ||||
-rw-r--r-- | src/mame/audio/irem.c | 153 | ||||
-rw-r--r-- | src/mame/drivers/chinagat.c | 4 | ||||
-rw-r--r-- | src/mame/drivers/ettrivia.c | 20 | ||||
-rw-r--r-- | src/mame/drivers/midyunit.c | 4 | ||||
-rw-r--r-- | src/mame/drivers/ms32.c | 48 | ||||
-rw-r--r-- | src/mame/mamedriv.c | 2 | ||||
-rw-r--r-- | src/mame/video/ddragon.c | 2 | ||||
-rw-r--r-- | src/mame/video/ms32.c | 1 |
12 files changed, 199 insertions, 59 deletions
diff --git a/src/emu/cpu/arm7/arm7core.c b/src/emu/cpu/arm7/arm7core.c index 71c881fd4b8..7ca7873ae14 100644 --- a/src/emu/cpu/arm7/arm7core.c +++ b/src/emu/cpu/arm7/arm7core.c @@ -1202,10 +1202,10 @@ static void HandlePSRTransfer( UINT32 insn ) newval |= 0x10; //Update the Register - SET_REGISTER(reg, val); + SET_REGISTER(reg, newval); //Switch to new mode if changed - if( (val & MODE_FLAG) != oldmode) + if( (newval & MODE_FLAG) != oldmode) SwitchMode(GET_MODE); } diff --git a/src/emu/cpuexec.c b/src/emu/cpuexec.c index f0f311a5c7e..11d0eb766ee 100644 --- a/src/emu/cpuexec.c +++ b/src/emu/cpuexec.c @@ -261,6 +261,7 @@ static void cpuexec_reset(running_machine *machine) /* set up the watchdog timer; only start off enabled if explicitly configured */ watchdog_enabled = (machine->drv->watchdog_vblank_count != 0 || attotime_compare(machine->drv->watchdog_time, attotime_zero) != 0); watchdog_reset(machine); + watchdog_enabled = TRUE; /* first pass over CPUs */ for (cpunum = 0; cpunum < cpu_gettotalcpu(); cpunum++) @@ -653,7 +654,7 @@ static void cpunum_suspend_until_trigger(int cpunum, int trigger, int eatcycles) cpunum_suspend(cpunum, SUSPEND_REASON_TRIGGER, eatcycles); /* set the trigger */ - cpu[cpunum].trigger = TRIGGER_TIMESLICE; + cpu[cpunum].trigger = trigger; } diff --git a/src/emu/debug/debugcmt.c b/src/emu/debug/debugcmt.c index 0a61da1d022..e8ce725d924 100644 --- a/src/emu/debug/debugcmt.c +++ b/src/emu/debug/debugcmt.c @@ -103,14 +103,17 @@ static void debug_comment_free(void); int debug_comment_init(running_machine *machine) { - /* allocate enough comment groups for the total # of cpu's */ - debug_comments = (comment_group*) auto_malloc(cpu_gettotalcpu() * sizeof(comment_group)); - memset(debug_comments, 0, cpu_gettotalcpu() * sizeof(comment_group)); + if (cpu_gettotalcpu() > 0) + { + /* allocate enough comment groups for the total # of cpu's */ + debug_comments = (comment_group*) auto_malloc(cpu_gettotalcpu() * sizeof(comment_group)); + memset(debug_comments, 0, cpu_gettotalcpu() * sizeof(comment_group)); - /* automatically load em up */ - debug_comment_load(); + /* automatically load em up */ + debug_comment_load(); - add_exit_callback(machine, debug_comment_exit); + add_exit_callback(machine, debug_comment_exit); + } return 1; } diff --git a/src/emu/sound/sid.c b/src/emu/sound/sid.c index ac61b278666..f56be4e3c40 100644 --- a/src/emu/sound/sid.c +++ b/src/emu/sound/sid.c @@ -12,11 +12,11 @@ MOS-8580 R5 combined waveforms recorded by Dennis "Deadman" Lindroos. */ -#include "deprecat.h" #include "sndintrf.h" #include "sidvoice.h" #include "sidenvel.h" #include "sid.h" +#include "deprecat.h" static float *filterTable; static float *bandPassParam; diff --git a/src/mame/audio/irem.c b/src/mame/audio/irem.c index 5851f813923..e537038cdea 100644 --- a/src/mame/audio/irem.c +++ b/src/mame/audio/irem.c @@ -1,3 +1,9 @@ +/*************************************************************************** + + Irem M52/M62 sound hardware + +***************************************************************************/ + #include "driver.h" #include "deprecat.h" #include "irem.h" @@ -5,9 +11,15 @@ #include "sound/ay8910.h" #include "sound/msm5205.h" -static UINT8 port1,port2; +static UINT8 port1, port2; +/************************************* + * + * Sound board initialization + * + *************************************/ + static SOUND_START( irem_audio ) { state_save_register_global(port1); @@ -15,6 +27,14 @@ static SOUND_START( irem_audio ) } + +/************************************* + * + * External writes to the sound + * command register + * + *************************************/ + WRITE8_HANDLER( irem_sound_cmd_w ) { if ((data & 0x80) == 0) @@ -24,18 +44,20 @@ WRITE8_HANDLER( irem_sound_cmd_w ) } -static WRITE8_HANDLER( irem_sound_irq_ack_w ) -{ - cpunum_set_input_line(Machine, 1, 0, CLEAR_LINE); -} +/************************************* + * + * 6803 output ports + * + *************************************/ -static WRITE8_HANDLER( irem_port1_w ) +static WRITE8_HANDLER( m6803_port1_w ) { port1 = data; } -static WRITE8_HANDLER( irem_port2_w ) + +static WRITE8_HANDLER( m6803_port2_w ) { /* write latch */ if ((port2 & 0x01) && !(data & 0x01)) @@ -62,7 +84,14 @@ static WRITE8_HANDLER( irem_port2_w ) } -static READ8_HANDLER( irem_port1_r ) + +/************************************* + * + * 6803 input ports ports + * + *************************************/ + +static READ8_HANDLER( m6803_port1_r ) { /* PSG 0 or 1? */ if (port2 & 0x08) @@ -72,25 +101,54 @@ static READ8_HANDLER( irem_port1_r ) return 0xff; } -static READ8_HANDLER( irem_port2_r ) + +static READ8_HANDLER( m6803_port2_r ) { return 0; } -static WRITE8_HANDLER( irem_msm5205_w ) +/************************************* + * + * AY-8910 output ports + * + *************************************/ + +static WRITE8_HANDLER( ay8910_0_portb_w ) { /* bits 2-4 select MSM5205 clock & 3b/4b playback mode */ - MSM5205_playmode_w(0,(data >> 2) & 7); - MSM5205_playmode_w(1,((data >> 2) & 4) | 3); /* always in slave mode */ + MSM5205_playmode_w(0, (data >> 2) & 7); + MSM5205_playmode_w(1, ((data >> 2) & 4) | 3); /* always in slave mode */ /* bits 0 and 1 reset the two chips */ - MSM5205_reset_w(0,data & 1); - MSM5205_reset_w(1,data & 2); + MSM5205_reset_w(0, data & 1); + MSM5205_reset_w(1, data & 2); } -static WRITE8_HANDLER( irem_adpcm_w ) + +static WRITE8_HANDLER( ay8910_1_porta_w ) +{ +#ifdef MAME_DEBUG + if (data & 0x0f) popmessage("analog sound %x",data&0x0f); +#endif +} + + + +/************************************* + * + * Memory-mapped accesses + * + *************************************/ + +static WRITE8_HANDLER( sound_irq_ack_w ) +{ + cpunum_set_input_line(Machine, 1, 0, CLEAR_LINE); +} + + +static WRITE8_HANDLER( m52_adpcm_w ) { if (offset & 1) MSM5205_data_w(0, data); @@ -98,7 +156,21 @@ static WRITE8_HANDLER( irem_adpcm_w ) MSM5205_data_w(1, data); } -static void irem_adpcm_int(int data) + +static WRITE8_HANDLER( m62_adpcm_w ) +{ + MSM5205_data_w(offset, data); +} + + + +/************************************* + * + * MSM5205 data ready signals + * + *************************************/ + +static void adpcm_int(int data) { cpunum_set_input_line(Machine, 1, INPUT_LINE_NMI, PULSE_LINE); @@ -107,33 +179,33 @@ static void irem_adpcm_int(int data) MSM5205_vclk_w(1,0); } -static WRITE8_HANDLER( irem_analog_w ) -{ -#ifdef MAME_DEBUG -if (data&0x0f) popmessage("analog sound %x",data&0x0f); -#endif -} +/************************************* + * + * Sound interfaces + * + *************************************/ + static const struct AY8910interface irem_ay8910_interface_1 = { soundlatch_r, 0, 0, - irem_msm5205_w + ay8910_0_portb_w }; static const struct AY8910interface irem_ay8910_interface_2 = { 0, 0, - irem_analog_w, + ay8910_1_porta_w, 0 }; static const struct MSM5205interface irem_msm5205_interface_1 = { - irem_adpcm_int, /* interrupt function */ + adpcm_int, /* interrupt function */ MSM5205_S96_4B /* default to 4KHz, but can be changed at run time */ }; @@ -145,36 +217,49 @@ static const struct MSM5205interface irem_msm5205_interface_2 = +/************************************* + * + * Address maps + * + *************************************/ + /* complete address map verified from Moon Patrol/10 Yard Fight schematics */ /* large map uses 8k ROMs, small map uses 4k ROMs; this is selected via a jumper */ static ADDRESS_MAP_START( m52_small_sound_map, ADDRESS_SPACE_PROGRAM, 8 ) ADDRESS_MAP_FLAGS( AMEF_ABITS(15) ) - AM_RANGE(0x0000, 0x0fff) AM_WRITE(irem_adpcm_w) - AM_RANGE(0x1000, 0x1fff) AM_WRITE(irem_sound_irq_ack_w) + AM_RANGE(0x0000, 0x0fff) AM_WRITE(m52_adpcm_w) + AM_RANGE(0x1000, 0x1fff) AM_WRITE(sound_irq_ack_w) AM_RANGE(0x2000, 0x7fff) AM_ROM ADDRESS_MAP_END static ADDRESS_MAP_START( m52_large_sound_map, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0000, 0x1fff) AM_WRITE(irem_adpcm_w) - AM_RANGE(0x2000, 0x3fff) AM_WRITE(irem_sound_irq_ack_w) + AM_RANGE(0x0000, 0x1fff) AM_WRITE(m52_adpcm_w) + AM_RANGE(0x2000, 0x3fff) AM_WRITE(sound_irq_ack_w) AM_RANGE(0x4000, 0xffff) AM_ROM ADDRESS_MAP_END /* complete address map verified from Kid Niki schematics */ static ADDRESS_MAP_START( m62_sound_map, ADDRESS_SPACE_PROGRAM, 8 ) - AM_RANGE(0x0800, 0x0800) AM_MIRROR(0xf7fc) AM_WRITE(irem_sound_irq_ack_w) - AM_RANGE(0x0801, 0x0802) AM_MIRROR(0xf7fc) AM_WRITE(irem_adpcm_w) + AM_RANGE(0x0800, 0x0800) AM_MIRROR(0xf7fc) AM_WRITE(sound_irq_ack_w) + AM_RANGE(0x0801, 0x0802) AM_MIRROR(0xf7fc) AM_WRITE(m62_adpcm_w) AM_RANGE(0x4000, 0xffff) AM_ROM ADDRESS_MAP_END static ADDRESS_MAP_START( irem_sound_portmap, ADDRESS_SPACE_IO, 8 ) - AM_RANGE(M6803_PORT1, M6803_PORT1) AM_READWRITE(irem_port1_r, irem_port1_w) - AM_RANGE(M6803_PORT2, M6803_PORT2) AM_READWRITE(irem_port2_r, irem_port2_w) + AM_RANGE(M6803_PORT1, M6803_PORT1) AM_READWRITE(m6803_port1_r, m6803_port1_w) + AM_RANGE(M6803_PORT2, M6803_PORT2) AM_READWRITE(m6803_port2_r, m6803_port2_w) ADDRESS_MAP_END + +/************************************* + * + * Machine drivers + * + *************************************/ + MACHINE_DRIVER_START( irem_audio_base ) MDRV_SOUND_START(irem_audio) @@ -229,5 +314,3 @@ MACHINE_DRIVER_START( m62_audio ) MDRV_CPU_MODIFY("iremsound") MDRV_CPU_PROGRAM_MAP(m62_sound_map,0) MACHINE_DRIVER_END - - diff --git a/src/mame/drivers/chinagat.c b/src/mame/drivers/chinagat.c index 59901cf98e1..694db04c890 100644 --- a/src/mame/drivers/chinagat.c +++ b/src/mame/drivers/chinagat.c @@ -560,7 +560,7 @@ static MACHINE_DRIVER_START( saiyugb1 ) MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER) MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16) MDRV_SCREEN_SIZE(32*8, 32*8) - MDRV_SCREEN_VISIBLE_AREA(1*8, 31*8-1, 2*8, 30*8-1) + MDRV_SCREEN_VISIBLE_AREA(1*8, 31*8-1, 1*8, 29*8-1) MDRV_GFXDECODE(chinagat) MDRV_PALETTE_LENGTH(384) @@ -603,7 +603,7 @@ static MACHINE_DRIVER_START( saiyugb2 ) MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER) MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16) MDRV_SCREEN_SIZE(32*8, 32*8) - MDRV_SCREEN_VISIBLE_AREA(1*8, 31*8-1, 2*8, 30*8-1) + MDRV_SCREEN_VISIBLE_AREA(1*8, 31*8-1, 1*8, 29*8-1) MDRV_GFXDECODE(chinagat) MDRV_PALETTE_LENGTH(384) diff --git a/src/mame/drivers/ettrivia.c b/src/mame/drivers/ettrivia.c index cf4c248a74e..4aac48bdaea 100644 --- a/src/mame/drivers/ettrivia.c +++ b/src/mame/drivers/ettrivia.c @@ -278,8 +278,8 @@ ROM_START( promutrv ) ROM_LOAD( "mt50ic.50", 0x1000, 0x1000, CRC(ee89d24e) SHA1(e3536df549278040255657201433ab23e0386533) ) ROM_REGION( 0x0200, REGION_PROMS, 0 ) - ROM_LOAD( "ic63.prm", 0x0000, 0x0100, CRC(749da5a8) SHA1(8e30f5b014bc8ff2dc4986ef35a979e525681cb9) ) /* palette low bits */ - ROM_LOAD( "ic64.prm", 0x0100, 0x0100, CRC(1cf9c914) SHA1(4c39b10c1be889d6ef4313b2112f4216d34f7327) ) /* palette high bits */ + ROM_LOAD( "ic64.prm", 0x0000, 0x0100, CRC(1cf9c914) SHA1(4c39b10c1be889d6ef4313b2112f4216d34f7327) ) /* palette low bits */ + ROM_LOAD( "ic63.prm", 0x0100, 0x0100, CRC(749da5a8) SHA1(8e30f5b014bc8ff2dc4986ef35a979e525681cb9) ) /* palette high bits */ ROM_REGION( 0x40000, REGION_USER1, 0 ) /* Question roms */ ROM_LOAD( "movie-tv.lo0", 0x00000, 0x8000, CRC(dbf03e62) SHA1(0210442ff80cce8fe39ba5e373bca0f47bb389c4) ) @@ -305,8 +305,8 @@ ROM_START( promutra ) ROM_LOAD( "mt50ic.50", 0x1000, 0x1000, CRC(ee89d24e) SHA1(e3536df549278040255657201433ab23e0386533) ) ROM_REGION( 0x0200, REGION_PROMS, 0 ) - ROM_LOAD( "ic63.prm", 0x0000, 0x0100, CRC(749da5a8) SHA1(8e30f5b014bc8ff2dc4986ef35a979e525681cb9) ) /* palette low bits */ - ROM_LOAD( "ic64.prm", 0x0100, 0x0100, CRC(1cf9c914) SHA1(4c39b10c1be889d6ef4313b2112f4216d34f7327) ) /* palette high bits */ + ROM_LOAD( "ic64.prm", 0x0000, 0x0100, CRC(1cf9c914) SHA1(4c39b10c1be889d6ef4313b2112f4216d34f7327) ) /* palette low bits */ + ROM_LOAD( "ic63.prm", 0x0100, 0x0100, CRC(749da5a8) SHA1(8e30f5b014bc8ff2dc4986ef35a979e525681cb9) ) /* palette high bits */ ROM_REGION( 0x40000, REGION_USER1, 0 ) /* Question roms */ ROM_LOAD( "movie-tv.lo0", 0x00000, 0x8000, CRC(dbf03e62) SHA1(0210442ff80cce8fe39ba5e373bca0f47bb389c4) ) @@ -332,8 +332,8 @@ ROM_START( promutrb ) ROM_LOAD( "mt50.ic50", 0x1000, 0x1000, CRC(ee89d24e) SHA1(e3536df549278040255657201433ab23e0386533) ) ROM_REGION( 0x0200, REGION_PROMS, 0 ) - ROM_LOAD( "dm74s287n.ic63", 0x0000, 0x0100, CRC(749da5a8) SHA1(8e30f5b014bc8ff2dc4986ef35a979e525681cb9) ) /* palette low bits */ - ROM_LOAD( "dm74s287n.ic64", 0x0100, 0x0100, CRC(1cf9c914) SHA1(4c39b10c1be889d6ef4313b2112f4216d34f7327) ) /* palette high bits */ + ROM_LOAD( "dm74s287n.ic64", 0x0000, 0x0100, CRC(1cf9c914) SHA1(4c39b10c1be889d6ef4313b2112f4216d34f7327) ) /* palette low bits */ + ROM_LOAD( "dm74s287n.ic63", 0x0100, 0x0100, CRC(749da5a8) SHA1(8e30f5b014bc8ff2dc4986ef35a979e525681cb9) ) /* palette high bits */ ROM_REGION( 0x40000, REGION_USER1, 0 ) /* Question roms */ ROM_LOAD( "movie-tv.lo0.u8", 0x00000, 0x8000, CRC(dbf03e62) SHA1(0210442ff80cce8fe39ba5e373bca0f47bb389c4) ) @@ -363,8 +363,8 @@ ROM_START( promutrc ) ROM_LOAD( "mt50.ic50", 0x1000, 0x1000, CRC(ee89d24e) SHA1(e3536df549278040255657201433ab23e0386533) ) ROM_REGION( 0x0200, REGION_PROMS, 0 ) - ROM_LOAD( "dm74s287n.ic63", 0x0000, 0x0100, CRC(749da5a8) SHA1(8e30f5b014bc8ff2dc4986ef35a979e525681cb9) ) /* palette low bits */ - ROM_LOAD( "dm74s287n.ic64", 0x0100, 0x0100, CRC(1cf9c914) SHA1(4c39b10c1be889d6ef4313b2112f4216d34f7327) ) /* palette high bits */ + ROM_LOAD( "dm74s287n.ic64", 0x0000, 0x0100, CRC(1cf9c914) SHA1(4c39b10c1be889d6ef4313b2112f4216d34f7327) ) /* palette low bits */ + ROM_LOAD( "dm74s287n.ic63", 0x0100, 0x0100, CRC(749da5a8) SHA1(8e30f5b014bc8ff2dc4986ef35a979e525681cb9) ) /* palette high bits */ ROM_REGION( 0x40000, REGION_USER1, 0 ) /* Question roms */ ROM_LOAD( "sports.lo0.u8", 0x00000, 0x8000, CRC(bb28fa92) SHA1(a3c4c67be0e31793d68b0b048f3a73e9ce1d5859) ) @@ -394,8 +394,8 @@ ROM_START( strvmstr ) ROM_LOAD( "stm50.rom", 0x1000, 0x1000, CRC(cfc1a1d1) SHA1(9ef38f12360dd946651e67770742ca72fa6846f1) ) ROM_REGION( 0x0200, REGION_PROMS, 0 ) - ROM_LOAD( "stm63.prm", 0x0000, 0x0100, BAD_DUMP CRC(305271cf) SHA1(6fd5fe085d79ca7aa57010cffbdb2a85b9c24701) ) /* palette low bits */ - ROM_LOAD( "stm64.prm", 0x0100, 0x0100, BAD_DUMP CRC(69ebc0b8) SHA1(de2b936e3246e3bfc7e2ff9546c1854ec3504cc2) ) /* palette high bits */ + ROM_LOAD( "stm64.prm", 0x0000, 0x0100, BAD_DUMP CRC(69ebc0b8) SHA1(de2b936e3246e3bfc7e2ff9546c1854ec3504cc2) ) /* palette low bits */ + ROM_LOAD( "stm63.prm", 0x0100, 0x0100, BAD_DUMP CRC(305271cf) SHA1(6fd5fe085d79ca7aa57010cffbdb2a85b9c24701) ) /* palette high bits */ ROM_REGION( 0x40000, REGION_USER1, 0 ) /* Question roms */ ROM_LOAD( "sex2.lo0", 0x00000, 0x8000, CRC(9c68b277) SHA1(34bc9d7b973fe482abd5e34a058b72eb5ec8db64) ) diff --git a/src/mame/drivers/midyunit.c b/src/mame/drivers/midyunit.c index d292db82733..520ce0fbf1d 100644 --- a/src/mame/drivers/midyunit.c +++ b/src/mame/drivers/midyunit.c @@ -1022,7 +1022,7 @@ static MACHINE_DRIVER_START( zunit ) MDRV_SCREEN_ADD("main", 0) MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16) - MDRV_SCREEN_RAW_PARAMS(MEDRES_PIXEL_CLOCK, 673, 0, 511, 433, 0, 399) + MDRV_SCREEN_RAW_PARAMS(MEDRES_PIXEL_CLOCK*2, 673, 0, 511, 433, 0, 399) MDRV_VIDEO_START(midzunit) MDRV_VIDEO_UPDATE(tms340x0) @@ -1055,7 +1055,7 @@ static MACHINE_DRIVER_START( yunit_core ) MDRV_SCREEN_ADD("main", 0) MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16) - MDRV_SCREEN_RAW_PARAMS(STDRES_PIXEL_CLOCK, 505, 0, 399, 289, 0, 253) + MDRV_SCREEN_RAW_PARAMS(STDRES_PIXEL_CLOCK*2, 505, 0, 399, 289, 0, 253) MDRV_VIDEO_UPDATE(tms340x0) MACHINE_DRIVER_END diff --git a/src/mame/drivers/ms32.c b/src/mame/drivers/ms32.c index 04141ba6eee..aeb574a4a9f 100644 --- a/src/mame/drivers/ms32.c +++ b/src/mame/drivers/ms32.c @@ -1,5 +1,8 @@ /* Jaleco MegaSystem 32 (Preliminary Driver) +--- this driver is about to undergo a major update + based on actual hardware tests --- + Used by Jaleco in the Mid-90's this system, based on the V70 processor consisted of a two board set up, the first a standard mainboard and the second a 'cartridge' @@ -1999,6 +2002,42 @@ ROM_START( tp2m32 ) ROM_LOAD( "tp2m3205.22", 0x000000, 0x200000, CRC(74aa5c31) SHA1(7e3f86198fb678244fab76bee9c72bbdfc818118) ) ROM_END + + +ROM_START( bnstars ) /* ver 1.1 */ + ROM_REGION( 0x200000, REGION_CPU1, 0 ) /* V70 code */ + ROM_LOAD32_BYTE( "vsjanshi26.37", 0x000003, 0x80000, CRC(75eeec8f) SHA1(26315381baa0abb470203dc565ad98c52fe17b20) ) + ROM_LOAD32_BYTE( "vsjanshi27.38", 0x000002, 0x80000, CRC(69f24ab9) SHA1(e019a444111e4ed7f9a378d6e2d13ddb9324bc49) ) + ROM_LOAD32_BYTE( "vsjanshi28.39", 0x000001, 0x80000, CRC(d075cfb6) SHA1(f70741e9f536d5c7604126d36c7aa8ed8f25c329) ) + ROM_LOAD32_BYTE( "vsjanshi29.40", 0x000000, 0x80000, CRC(bc395b50) SHA1(84d7cc492a11a5a9402e929f0bd138ad63e3d079) ) + + ROM_REGION( 0x1000000, REGION_GFX1, 0 ) /* sprites, don't dispose since we use GFX_RAW */ + ROM_LOAD32_WORD( "mr96004-01.13", 0x000000, 0x200000, CRC(3366d104) SHA1(2de0cabe2ead777b5b02cade7f2003ef7f90b75b) ) + ROM_LOAD32_WORD( "mr96004-02.1", 0x000002, 0x200000, CRC(ad556664) SHA1(4b36f8d8d9efa37cf515af41d14433e7eafa27a2) ) + ROM_LOAD32_WORD( "mr96004-03.14", 0x400000, 0x200000, CRC(b399e2b1) SHA1(9b6a00a219db8d66dcf592160b7b5f7a86b8f0c9) ) + ROM_LOAD32_WORD( "mr96004-04.2", 0x400002, 0x200000, CRC(f4f4cf4a) SHA1(fe497989cf96c68602f68f14920aed44fd934573) ) + ROM_LOAD32_WORD( "mr96004-05.15", 0x800000, 0x200000, CRC(cd6c357e) SHA1(44cd2d0607c7ccd80f701cf1675fd283acb07252) ) + ROM_LOAD32_WORD( "mr96004-06.3", 0x800002, 0x200000, CRC(fc6daad7) SHA1(99f14ac6b06ad9a8a3d2e9f69b693c7ce420a47d) ) + ROM_LOAD32_WORD( "mr96004-07.16", 0xc00000, 0x200000, CRC(177e32fa) SHA1(3ca1f397dc28f1fa3a4136705b92c63e4e438f05) ) + ROM_LOAD32_WORD( "mr96004-08.4", 0xc00002, 0x200000, CRC(f6df27b2) SHA1(60590976020d86bdccd4eaf57b349ea31bec6830) ) + + ROM_REGION( 0x400000, REGION_GFX2, 0 ) /* roz tiles, don't dispose since we use GFX_RAW */ + ROM_LOAD( "mr96004-09.11", 0x000000, 0x400000, CRC(7f8ea9f0) SHA1(f1fe682dcb884f1aa4a5536e17ab94157a99f519) ) + + ROM_REGION( 0x200000, REGION_GFX3, 0 ) /* bg tiles, don't dispose since we use GFX_RAW */ + ROM_LOAD( "mr96004-11.10", 0x000000, 0x200000, CRC(e6da552c) SHA1(69a5af3015883793c7d1343243ccae23db9ef77c) ) + + ROM_REGION( 0x080000, REGION_GFX4, 0 ) /* tx tiles, don't dispose since we use GFX_RAW */ + ROM_LOAD( "vsjanshi30.41", 0x000000, 0x080000, CRC(fdbbac21) SHA1(c77d852e53126cc8ebfe1e79d1134e42b54d1aab) ) + + ROM_REGION( 0x50000, REGION_CPU2, 0 ) /* z80 program */ + ROM_LOAD( "vsjanshi21.30", 0x000000, 0x040000, CRC(d622bce1) SHA1(059fcc3c7216d3ea4f3a4226a06219375ce8c2bf) ) + ROM_RELOAD( 0x010000, 0x40000 ) + + ROM_REGION( 0x400000, REGION_SOUND1, 0 ) /* samples - 8-bit signed PCM */ + ROM_LOAD( "mr96004-10.22", 0x000000, 0x400000, CRC(83f4303a) SHA1(90ee010591afe1d35744925ef0e8d9a7e2ef3378) ) +ROM_END + /********** DECRYPT **********/ /* 4 known types */ @@ -2216,6 +2255,14 @@ static DRIVER_INIT (f1superb) DRIVER_INIT_CALL(ss92046_01); } +static DRIVER_INIT (bnstars) +{ +// { 0xfcc00004, 0xfcc00007, ms32_mahjong_read_inputs1 } + memory_install_read32_handler(0, ADDRESS_SPACE_PROGRAM, 0xfcc00004, 0xfcc00007, 0, 0, ms32_mahjong_read_inputs1 ); + + DRIVER_INIT_CALL(ss92046_01); +} + /********** GAME DRIVERS **********/ @@ -2234,6 +2281,7 @@ GAME( 1996, gratia, 0, ms32, gratia, ss92047_01, ROT0, "Jaleco", "G GAME( 1996, gratiaa, gratia, ms32, gratia, ss91022_10, ROT0, "Jaleco", "Gratia - Second Earth (91022-10 version)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) GAME( 1996, kirarast, 0, ms32, kirarast, kirarast, ROT0, "Jaleco", "Ryuusei Janshi Kirara Star", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) GAME( 1997, tp2m32, tetrisp2, ms32, tp2m32, ss91022_10, ROT0, "Jaleco", "Tetris Plus 2 (MegaSystem 32 Version)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) +GAME( 1997, bnstars, bnstars1, ms32, 47pie2, bnstars, ROT0, "Jaleco", "Vs. Janshi Brandnew Stars (MegaSystem32 Version)", GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) /* these boot and show something */ GAME( 1994, f1superb, 0, ms32, f1superb, f1superb, ROT0, "Jaleco", "F1 Super Battle", GAME_NOT_WORKING | GAME_NO_SOUND | GAME_SUPPORTS_SAVE ) diff --git a/src/mame/mamedriv.c b/src/mame/mamedriv.c index b725c96ac96..92397c1d204 100644 --- a/src/mame/mamedriv.c +++ b/src/mame/mamedriv.c @@ -6367,6 +6367,8 @@ BOMULEUL CHAJARA SEGA ST-V 1997/04/11 DRIVER( gratiaa ) /* (c) 1996 */ DRIVER( kirarast ) /* (c) 1996 */ DRIVER( tp2m32 ) /* (c) 1997 */ + DRIVER( bnstars ) /* (c) 1997 */ + DRIVER( f1superb ) /* (c) 1994 */ DRIVER( bnstars1 ) /* (c) 1994 */ diff --git a/src/mame/video/ddragon.c b/src/mame/video/ddragon.c index 956990e09c5..c156cc59d48 100644 --- a/src/mame/video/ddragon.c +++ b/src/mame/video/ddragon.c @@ -124,6 +124,8 @@ VIDEO_START( chinagat ) fg_tilemap = tilemap_create(get_fg_16color_tile_info,tilemap_scan_rows,TILEMAP_TYPE_PEN, 8, 8,32,32); tilemap_set_transparent_pen(fg_tilemap,0); + tilemap_set_scrolldy(fg_tilemap, -8, -8); + tilemap_set_scrolldy(bg_tilemap, -8, -8); state_save_register_global(ddragon_scrollx_hi); state_save_register_global(ddragon_scrolly_hi); diff --git a/src/mame/video/ms32.c b/src/mame/video/ms32.c index a20d0c5a0f5..18474974033 100644 --- a/src/mame/video/ms32.c +++ b/src/mame/video/ms32.c @@ -88,6 +88,7 @@ VIDEO_START( ms32 ) if (!strcmp(machine->gamedrv->name,"47pie2")) ms32_reverse_sprite_order = 0; if (!strcmp(machine->gamedrv->name,"47pie2o")) ms32_reverse_sprite_order = 0; if (!strcmp(machine->gamedrv->name,"hayaosi3")) ms32_reverse_sprite_order = 0; + if (!strcmp(machine->gamedrv->name,"bnstars")) ms32_reverse_sprite_order = 0; // tp2m32 doesn't set the brightness registers so we need sensible defaults brt[0] = brt[1] = 0xffff; |