From ac245e3ff741bdb91bfc8c826c723f19a182d88b Mon Sep 17 00:00:00 2001 From: Vas Crabb Date: Thu, 10 Dec 2015 16:23:34 +1100 Subject: Re-write S2636 from scratch as needed for subhuntr: * Needs raw screen parameters and calls from scanline timer to work properly * Collision and completion bits generated correctly including duplicates * Supports background and score display * Generates audio tone from line frequency * Probably hurts performance when rendering per frame --- src/mame/drivers/galaxia.cpp | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) (limited to 'src/mame/drivers/galaxia.cpp') diff --git a/src/mame/drivers/galaxia.cpp b/src/mame/drivers/galaxia.cpp index 1e52fa6f881..23723f1ffce 100644 --- a/src/mame/drivers/galaxia.cpp +++ b/src/mame/drivers/galaxia.cpp @@ -130,9 +130,9 @@ READ8_MEMBER(galaxia_state::galaxia_collision_clear) static ADDRESS_MAP_START( galaxia_mem_map, AS_PROGRAM, 8, galaxia_state ) AM_RANGE(0x0000, 0x13ff) AM_ROM AM_RANGE(0x1400, 0x14ff) AM_MIRROR(0x6000) AM_RAM AM_SHARE("bullet_ram") - AM_RANGE(0x1500, 0x15ff) AM_MIRROR(0x6000) AM_DEVREADWRITE("s2636_0", s2636_device, work_ram_r, work_ram_w) - AM_RANGE(0x1600, 0x16ff) AM_MIRROR(0x6000) AM_DEVREADWRITE("s2636_1", s2636_device, work_ram_r, work_ram_w) - AM_RANGE(0x1700, 0x17ff) AM_MIRROR(0x6000) AM_DEVREADWRITE("s2636_2", s2636_device, work_ram_r, work_ram_w) + AM_RANGE(0x1500, 0x15ff) AM_MIRROR(0x6000) AM_DEVREADWRITE("s2636_0", s2636_device, read, write) + AM_RANGE(0x1600, 0x16ff) AM_MIRROR(0x6000) AM_DEVREADWRITE("s2636_1", s2636_device, read, write) + AM_RANGE(0x1700, 0x17ff) AM_MIRROR(0x6000) AM_DEVREADWRITE("s2636_2", s2636_device, read, write) AM_RANGE(0x1800, 0x1bff) AM_MIRROR(0x6000) AM_READ(cvs_video_or_color_ram_r) AM_WRITE(galaxia_video_w) AM_SHARE("video_ram") AM_RANGE(0x1c00, 0x1fff) AM_MIRROR(0x6000) AM_RAM AM_RANGE(0x2000, 0x33ff) AM_ROM @@ -142,7 +142,7 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( astrowar_mem_map, AS_PROGRAM, 8, galaxia_state ) AM_RANGE(0x0000, 0x13ff) AM_ROM AM_RANGE(0x1400, 0x14ff) AM_MIRROR(0x6000) AM_RAM - AM_RANGE(0x1500, 0x15ff) AM_MIRROR(0x6000) AM_DEVREADWRITE("s2636_0", s2636_device, work_ram_r, work_ram_w) + AM_RANGE(0x1500, 0x15ff) AM_MIRROR(0x6000) AM_DEVREADWRITE("s2636_0", s2636_device, read, write) AM_RANGE(0x1800, 0x1bff) AM_MIRROR(0x6000) AM_READ(cvs_video_or_color_ram_r) AM_WRITE(galaxia_video_w) AM_SHARE("video_ram") AM_RANGE(0x1c00, 0x1cff) AM_MIRROR(0x6000) AM_RAM AM_SHARE("bullet_ram") AM_RANGE(0x2000, 0x33ff) AM_ROM @@ -307,17 +307,14 @@ static MACHINE_CONFIG_START( galaxia, galaxia_state ) MCFG_VIDEO_START_OVERRIDE(galaxia_state,galaxia) MCFG_DEVICE_ADD("s2636_0", S2636, 0) - MCFG_S2636_WORKRAM_SIZE(0x100) MCFG_S2636_OFFSETS(3, -26) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) MCFG_DEVICE_ADD("s2636_1", S2636, 0) - MCFG_S2636_WORKRAM_SIZE(0x100) MCFG_S2636_OFFSETS(3, -26) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) MCFG_DEVICE_ADD("s2636_2", S2636, 0) - MCFG_S2636_WORKRAM_SIZE(0x100) MCFG_S2636_OFFSETS(3, -26) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) @@ -352,7 +349,6 @@ static MACHINE_CONFIG_START( astrowar, galaxia_state ) MCFG_VIDEO_START_OVERRIDE(galaxia_state,astrowar) MCFG_DEVICE_ADD("s2636_0", S2636, 0) - MCFG_S2636_WORKRAM_SIZE(0x100) MCFG_S2636_OFFSETS(3, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) -- cgit v1.2.3