From 60172c6387a92c59f7879679956406be405053a7 Mon Sep 17 00:00:00 2001 From: hap Date: Tue, 23 Feb 2016 19:26:30 +0100 Subject: [PATCH] goldstar: ladylinr aysnd address/data was wrong way around - the game doesn't do anything then enabling the ay though wildpkr: found where aysnd is mapped, but doesn't do much with it either --- src/mame/drivers/goldstar.cpp | 20 ++++++++------------ src/mame/drivers/wildpkr.cpp | 21 ++++++++++++++------- 2 files changed, 22 insertions(+), 19 deletions(-) diff --git a/src/mame/drivers/goldstar.cpp b/src/mame/drivers/goldstar.cpp index 6d087abcf86..4d5b3218085 100644 --- a/src/mame/drivers/goldstar.cpp +++ b/src/mame/drivers/goldstar.cpp @@ -952,8 +952,8 @@ static ADDRESS_MAP_START( ladylinr_map, AS_PROGRAM, 8, goldstar_state ) AM_RANGE(0xb800, 0xb803) AM_DEVREADWRITE("ppi8255_0", i8255_device, read, write) /* Input Ports */ AM_RANGE(0xb810, 0xb813) AM_DEVREADWRITE("ppi8255_1", i8255_device, read, write) /* DSW bank */ - AM_RANGE(0xb830, 0xb830) AM_DEVREADWRITE("aysnd", ay8910_device, data_r, data_w) - AM_RANGE(0xb840, 0xb840) AM_DEVWRITE("aysnd", ay8910_device, address_w) /* no sound... only use ports */ + AM_RANGE(0xb830, 0xb830) AM_DEVWRITE("aysnd", ay8910_device, address_w) /* no sound... unused? */ + AM_RANGE(0xb840, 0xb840) AM_DEVREADWRITE("aysnd", ay8910_device, data_r, data_w) AM_RANGE(0xb850, 0xb850) AM_WRITENOP /* just turn off the lamps, if exist */ AM_RANGE(0xb870, 0xb870) AM_DEVWRITE("snsnd", sn76489_device, write) /* sound */ AM_RANGE(0xf800, 0xffff) AM_RAM @@ -7592,16 +7592,12 @@ MACHINE_CONFIG_END PALETTE_INIT_MEMBER(wingco_state, magodds) { - int i; - for (i = 0; i < 0x100; i++) + for (int i = 0; i < 0x100; i++) { - int r,g,b; - - UINT8*proms = memregion("proms")->base(); - - b = proms[0x000 + i] << 4; - g = proms[0x100 + i] << 4; - r = proms[0x200 + i] << 4; + UINT8 *proms = memregion("proms")->base(); + UINT8 b = proms[0x000 + i] << 4; + UINT8 g = proms[0x100 + i] << 4; + UINT8 r = proms[0x200 + i] << 4; palette.set_pen_color(i, rgb_t(r, g, b)); } @@ -7744,7 +7740,7 @@ static MACHINE_CONFIG_START( ladylinr, goldstar_state ) MCFG_SOUND_ADD("snsnd", SN76489, PSG_CLOCK) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80) - MCFG_SOUND_ADD("aysnd", AY8930, AY_CLOCK) + MCFG_SOUND_ADD("aysnd", AY8910, AY_CLOCK) // unused? MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) MACHINE_CONFIG_END diff --git a/src/mame/drivers/wildpkr.cpp b/src/mame/drivers/wildpkr.cpp index cb478832e0d..126b331d52a 100644 --- a/src/mame/drivers/wildpkr.cpp +++ b/src/mame/drivers/wildpkr.cpp @@ -158,6 +158,7 @@ #define MAIN_CLOCK XTAL_12MHz +#define AY_CLOCK MAIN_CLOCK / 8 #define SEC_CLOCK XTAL_3.6864MHz #define AUX1_CLOCK XTAL_26MHz #define AUX2_CLOCK XTAL_24MHz @@ -166,6 +167,7 @@ #include "cpu/m68000/m68000.h" //#include "video/hd63484.h" #include "video/ramdac.h" +#include "sound/ay8910.h" class wildpkr_state : public driver_device @@ -173,14 +175,16 @@ class wildpkr_state : public driver_device public: wildpkr_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag), - m_maincpu(*this, "maincpu") { } + m_maincpu(*this, "maincpu") + { } + + required_device m_maincpu; DECLARE_DRIVER_INIT(wildpkr); virtual void machine_start() override; virtual void video_start() override; DECLARE_PALETTE_INIT(wildpkr); UINT32 screen_update_wildpkr(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); - required_device m_maincpu; }; @@ -220,7 +224,8 @@ static ADDRESS_MAP_START( wildpkr_map, AS_PROGRAM, 16, wildpkr_state ) AM_RANGE(0x000000, 0x0fffff) AM_ROM AM_RANGE(0x100000, 0x103fff) AM_RAM // AM_RANGE(0x800000, 0x800003) ACRTC? - AM_RANGE(0x800180, 0x800181) AM_READNOP // protection, puts m68k code snippets to RAM + AM_RANGE(0x800180, 0x800181) AM_DEVWRITE8("aysnd", ay8930_device, address_w, 0xff00) + AM_RANGE(0x800180, 0x800181) AM_DEVREADWRITE8("aysnd", ay8930_device, data_r, data_w, 0x00ff) AM_RANGE(0x800200, 0x800201) AM_DEVWRITE8("ramdac", ramdac_device, index_w, 0xff00) AM_RANGE(0x800202, 0x800203) AM_DEVWRITE8("ramdac", ramdac_device, pal_w, 0xff00) AM_RANGE(0x800204, 0x800205) AM_DEVWRITE8("ramdac", ramdac_device, mask_w, 0xff00) @@ -283,8 +288,7 @@ static MACHINE_CONFIG_START( wildpkr, wildpkr_state ) /* basic machine hardware */ MCFG_CPU_ADD("maincpu", M68000, MAIN_CLOCK) MCFG_CPU_PROGRAM_MAP(wildpkr_map) - MCFG_CPU_VBLANK_INT_DRIVER("screen", wildpkr_state, irq1_line_hold) //guess - + MCFG_CPU_VBLANK_INT_DRIVER("screen", wildpkr_state, irq2_line_hold) // guess MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_REFRESH_RATE(60) @@ -300,6 +304,10 @@ static MACHINE_CONFIG_START( wildpkr, wildpkr_state ) MCFG_PALETTE_ADD("palette", 256) MCFG_PALETTE_INIT_OWNER(wildpkr_state, wildpkr) + /* sound hardware */ + MCFG_SPEAKER_STANDARD_MONO("mono") + MCFG_SOUND_ADD("aysnd", AY8930, AY_CLOCK) + MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) MACHINE_CONFIG_END @@ -308,8 +316,7 @@ static MACHINE_CONFIG_START( tabpkr, wildpkr_state ) /* basic machine hardware */ MCFG_CPU_ADD("maincpu", M68000, XTAL_24MHz / 2) MCFG_CPU_PROGRAM_MAP(tabpkr_map) - MCFG_CPU_VBLANK_INT_DRIVER("screen", wildpkr_state, irq2_line_hold) // 2 / 5 are valid - + MCFG_CPU_VBLANK_INT_DRIVER("screen", wildpkr_state, irq2_line_hold) // 2 / 5 are valid MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_REFRESH_RATE(60)