progolf: Soundlatch modernization (nw)

This commit is contained in:
AJR 2017-08-17 20:36:45 -04:00
parent c86970de6c
commit 5b38c7e994

View File

@ -58,6 +58,7 @@ Twenty four 8116 rams.
#include "video/mc6845.h"
#include "machine/deco222.h"
#include "machine/decocpu6.h"
#include "machine/gen_latch.h"
#include "screen.h"
#include "speaker.h"
@ -88,15 +89,12 @@ public:
uint8_t m_scrollx_hi;
uint8_t m_scrollx_lo;
uint8_t m_gfx_switch;
uint8_t m_sound_cmd;
DECLARE_WRITE8_MEMBER(charram_w);
DECLARE_WRITE8_MEMBER(char_vregs_w);
DECLARE_WRITE8_MEMBER(scrollx_lo_w);
DECLARE_WRITE8_MEMBER(scrollx_hi_w);
DECLARE_WRITE8_MEMBER(flip_screen_w);
DECLARE_WRITE8_MEMBER(audio_command_w);
DECLARE_READ8_MEMBER(audio_command_r);
DECLARE_READ8_MEMBER(videoram_r);
DECLARE_WRITE8_MEMBER(videoram_w);
@ -112,7 +110,6 @@ public:
void progolf_state::machine_start()
{
save_item(NAME(m_sound_cmd));
}
void progolf_state::video_start()
@ -228,18 +225,6 @@ WRITE8_MEMBER(progolf_state::flip_screen_w)
printf("$9600 with data = %02x used\n",data);
}
WRITE8_MEMBER(progolf_state::audio_command_w)
{
m_sound_cmd = data;
m_audiocpu->set_input_line(0, ASSERT_LINE);
}
READ8_MEMBER(progolf_state::audio_command_r)
{
m_audiocpu->set_input_line(0, CLEAR_LINE);
return m_sound_cmd;
}
READ8_MEMBER(progolf_state::videoram_r)
{
uint8_t *gfx_rom = memregion("gfx1")->base();
@ -283,7 +268,7 @@ static ADDRESS_MAP_START( main_cpu, AS_PROGRAM, 8, progolf_state )
AM_RANGE(0x9800, 0x9800) AM_READ_PORT("DSW1")
AM_RANGE(0x9800, 0x9800) AM_DEVWRITE("crtc", mc6845_device, address_w)
AM_RANGE(0x9801, 0x9801) AM_DEVWRITE("crtc", mc6845_device, register_w)
AM_RANGE(0x9a00, 0x9a00) AM_READ_PORT("DSW2") AM_WRITE(audio_command_w)
AM_RANGE(0x9a00, 0x9a00) AM_READ_PORT("DSW2") AM_DEVWRITE("soundlatch", generic_latch_8_device, write)
// AM_RANGE(0x9e00, 0x9e00) AM_WRITENOP
AM_RANGE(0xb000, 0xffff) AM_ROM
ADDRESS_MAP_END
@ -294,7 +279,7 @@ static ADDRESS_MAP_START( sound_cpu, AS_PROGRAM, 8, progolf_state )
AM_RANGE(0x5000, 0x5fff) AM_DEVWRITE("ay1", ay8910_device, address_w)
AM_RANGE(0x6000, 0x6fff) AM_DEVREADWRITE("ay2", ay8910_device, data_r, data_w)
AM_RANGE(0x7000, 0x7fff) AM_DEVWRITE("ay2", ay8910_device, address_w)
AM_RANGE(0x8000, 0x8fff) AM_READ(audio_command_r) AM_WRITENOP //volume control?
AM_RANGE(0x8000, 0x8fff) AM_DEVREADWRITE("soundlatch", generic_latch_8_device, read, acknowledge_w)
AM_RANGE(0xf000, 0xffff) AM_ROM
ADDRESS_MAP_END
@ -434,6 +419,10 @@ static MACHINE_CONFIG_START( progolf )
MCFG_QUANTUM_PERFECT_CPU("maincpu")
MCFG_GENERIC_LATCH_8_ADD("soundlatch")
MCFG_GENERIC_LATCH_DATA_PENDING_CB(INPUTLINE("audiocpu", 0))
MCFG_GENERIC_LATCH_SEPARATE_ACKNOWLEDGE(true)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(57)