mirror of
https://github.com/holub/mame
synced 2025-05-18 19:49:35 +03:00
Removed generic.videoram and generic.videoram_size. These generics
have no core use, they are simply there for the convenience of drivers. Now that drivers are required to have devices, the data should move there. [Atari Ace] ---------- Forwarded message ---------- From: Atari Ace <atari_ace@frontier.com> Date: Sun, Sep 5, 2010 at 4:45 PM Subject: [patch] Eliminate generic.videoramm generic.videoram_size To: submit@mamedev.org Cc: atariace@hotmail.com Hi mamedev, This set of patches removes generic.videoram and generic.videoram_size. These generics have no core use, they are simply there for the convenience of drivers. Now that drivers are required to have devices, the data should move there. The first patch sets the stage for the rest of the patch. It includes several changes. 1. It replaces all the uses of generic.videoram_size with appropriate constants. 2. It eliminates the write handlers from pc_video.c. These are unused in MAME and MESS appears to have a private copy. 3. It splits some drivers: a. It separates mcr68 from the mcr driver, mostly by dividing machine/mcr.c. b. It separates naughtyb from the phoenix driver by introducing an audio/pleiads.h include. c. It replaces video/system1.h with includes/system1.h. 4. It fixes some videoram related bugs. a. balsente, mole didn't need videoram. b. sbowling has a dangling reference to videoram from an earlier driver_data conversion 5. It expands some namcona functions to multiple lines so that later scripted-edits look sensible. The second patch is generated by vram01_1.pl. It introduces videoram local variables in function that use videoram read-only and removes AM_SIZE_GENERIC(videoram). The third patch is generated by vram01_2.pl. It replaces all occurances of generic.videoram with state->videoram, introducing/modifying driver_device classes as needed. The fourth patch then actually removes the generics, and fixes one issue the scripts didn't handle. ~aa
This commit is contained in:
parent
f4aa843155
commit
06e995de5f
5
.gitattributes
vendored
5
.gitattributes
vendored
@ -2756,6 +2756,7 @@ src/mame/includes/markham.h svneol=native#text/plain
|
||||
src/mame/includes/matmania.h svneol=native#text/plain
|
||||
src/mame/includes/mcatadv.h svneol=native#text/plain
|
||||
src/mame/includes/mcr.h svneol=native#text/plain
|
||||
src/mame/includes/mcr68.h svneol=native#text/plain
|
||||
src/mame/includes/meadows.h svneol=native#text/plain
|
||||
src/mame/includes/megadriv.h svneol=native#text/plain
|
||||
src/mame/includes/megasys1.h svneol=native#text/plain
|
||||
@ -2806,6 +2807,7 @@ src/mame/includes/namcos22.h svneol=native#text/plain
|
||||
src/mame/includes/namcos86.h svneol=native#text/plain
|
||||
src/mame/includes/naomi.h svneol=native#text/plain
|
||||
src/mame/includes/naomibd.h svneol=native#text/plain
|
||||
src/mame/includes/naughtyb.h svneol=native#text/plain
|
||||
src/mame/includes/nb1413m3.h svneol=native#text/plain
|
||||
src/mame/includes/nbmj8688.h svneol=native#text/plain
|
||||
src/mame/includes/nbmj8891.h svneol=native#text/plain
|
||||
@ -2978,6 +2980,7 @@ src/mame/includes/suprnova.h svneol=native#text/plain
|
||||
src/mame/includes/suprridr.h svneol=native#text/plain
|
||||
src/mame/includes/suprslam.h svneol=native#text/plain
|
||||
src/mame/includes/surpratk.h svneol=native#text/plain
|
||||
src/mame/includes/system1.h svneol=native#text/plain
|
||||
src/mame/includes/system16.h svneol=native#text/plain
|
||||
src/mame/includes/tagteam.h svneol=native#text/plain
|
||||
src/mame/includes/tail2nos.h svneol=native#text/plain
|
||||
@ -3309,6 +3312,7 @@ src/mame/machine/mathbox.h svneol=native#text/plain
|
||||
src/mame/machine/mc8123.c svneol=native#text/plain
|
||||
src/mame/machine/mc8123.h svneol=native#text/plain
|
||||
src/mame/machine/mcr.c svneol=native#text/plain
|
||||
src/mame/machine/mcr68.c svneol=native#text/plain
|
||||
src/mame/machine/meters.c svneol=native#text/plain
|
||||
src/mame/machine/meters.h svneol=native#text/plain
|
||||
src/mame/machine/mexico86.c svneol=native#text/plain
|
||||
@ -4041,7 +4045,6 @@ src/mame/video/suprridr.c svneol=native#text/plain
|
||||
src/mame/video/suprslam.c svneol=native#text/plain
|
||||
src/mame/video/surpratk.c svneol=native#text/plain
|
||||
src/mame/video/system1.c svneol=native#text/plain
|
||||
src/mame/video/system1.h svneol=native#text/plain
|
||||
src/mame/video/system16.c svneol=native#text/plain
|
||||
src/mame/video/tagteam.c svneol=native#text/plain
|
||||
src/mame/video/tail2nos.c svneol=native#text/plain
|
||||
|
@ -278,8 +278,6 @@ private:
|
||||
// holds generic pointers that are commonly used
|
||||
struct generic_pointers
|
||||
{
|
||||
generic_ptr videoram; // videoram
|
||||
UINT32 videoram_size;
|
||||
generic_ptr spriteram; // spriteram
|
||||
UINT32 spriteram_size;
|
||||
generic_ptr spriteram2; // secondary spriteram
|
||||
|
@ -48,9 +48,7 @@ void pc_video_start(running_machine *machine,
|
||||
pc_current_width = -1;
|
||||
machine->generic.tmpbitmap = NULL;
|
||||
|
||||
machine->generic.videoram_size = vramsize;
|
||||
|
||||
if (machine->generic.videoram_size)
|
||||
if (vramsize)
|
||||
{
|
||||
video_start_generic_bitmapped(machine);
|
||||
}
|
||||
@ -102,23 +100,3 @@ VIDEO_UPDATE( pc_video )
|
||||
}
|
||||
return rc;
|
||||
}
|
||||
|
||||
|
||||
|
||||
WRITE8_HANDLER ( pc_video_videoram_w )
|
||||
{
|
||||
if (space->machine->generic.videoram.u8 && space->machine->generic.videoram.u8[offset] != data)
|
||||
{
|
||||
space->machine->generic.videoram.u8[offset] = data;
|
||||
pc_anythingdirty = 1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
WRITE16_HANDLER( pc_video_videoram16le_w ) { write16le_with_write8_handler(pc_video_videoram_w, space, offset, data, mem_mask); }
|
||||
|
||||
WRITE32_HANDLER( pc_video_videoram32_w )
|
||||
{
|
||||
COMBINE_DATA(space->machine->generic.videoram.u32 + offset);
|
||||
pc_anythingdirty = 1;
|
||||
}
|
||||
|
@ -17,8 +17,4 @@ void pc_video_start(running_machine *machine,
|
||||
|
||||
VIDEO_UPDATE( pc_video );
|
||||
|
||||
WRITE8_HANDLER( pc_video_videoram_w );
|
||||
WRITE16_HANDLER( pc_video_videoram16le_w );
|
||||
WRITE32_HANDLER( pc_video_videoram32_w );
|
||||
|
||||
#endif /* PC_VIDEO_H */
|
||||
|
@ -9,7 +9,7 @@
|
||||
#include "emu.h"
|
||||
#include "streams.h"
|
||||
#include "sound/tms36xx.h"
|
||||
#include "includes/phoenix.h"
|
||||
#include "audio/pleiads.h"
|
||||
|
||||
#define VMIN 0
|
||||
#define VMAX 32767
|
||||
|
@ -580,7 +580,7 @@ static WRITE8_HANDLER( ampoker2_watchdog_reset_w )
|
||||
static ADDRESS_MAP_START( ampoker2_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0xbfff) AM_ROM
|
||||
AM_RANGE(0xc000, 0xcfff) AM_RAM AM_SHARE("nvram")
|
||||
AM_RANGE(0xe000, 0xefff) AM_RAM_WRITE(ampoker2_videoram_w) AM_BASE_GENERIC(videoram)
|
||||
AM_RANGE(0xe000, 0xefff) AM_RAM_WRITE(ampoker2_videoram_w) AM_BASE_MEMBER(ampoker2_state, videoram)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( ampoker2_io_map, ADDRESS_SPACE_IO, 8 )
|
||||
@ -1050,7 +1050,7 @@ static const ay8910_interface ay8910_config =
|
||||
* Machine Driver *
|
||||
*************************/
|
||||
|
||||
static MACHINE_CONFIG_START( ampoker2, driver_device )
|
||||
static MACHINE_CONFIG_START( ampoker2, ampoker2_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", Z80, MASTER_CLOCK/2) /* 3 MHz */
|
||||
|
@ -584,7 +584,7 @@ static WRITE8_HANDLER( tenpindx_lights_w )
|
||||
static ADDRESS_MAP_START( seawolf2_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x1fff) AM_ROM
|
||||
AM_RANGE(0x0000, 0x3fff) AM_WRITE(astrocade_funcgen_w)
|
||||
AM_RANGE(0x4000, 0x7fff) AM_RAM AM_BASE_GENERIC(videoram)
|
||||
AM_RANGE(0x4000, 0x7fff) AM_RAM AM_BASE_MEMBER(astrocde_state, videoram)
|
||||
AM_RANGE(0xc000, 0xc3ff) AM_RAM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
@ -592,14 +592,14 @@ ADDRESS_MAP_END
|
||||
static ADDRESS_MAP_START( ebases_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x3fff) AM_ROM
|
||||
AM_RANGE(0x0000, 0x3fff) AM_WRITE(astrocade_funcgen_w)
|
||||
AM_RANGE(0x4000, 0x7fff) AM_RAM AM_BASE_GENERIC(videoram)
|
||||
AM_RANGE(0x4000, 0x7fff) AM_RAM AM_BASE_MEMBER(astrocde_state, videoram)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
static ADDRESS_MAP_START( spacezap_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x3fff) AM_ROM
|
||||
AM_RANGE(0x0000, 0x3fff) AM_WRITE(astrocade_funcgen_w)
|
||||
AM_RANGE(0x4000, 0x7fff) AM_RAM AM_BASE_GENERIC(videoram)
|
||||
AM_RANGE(0x4000, 0x7fff) AM_RAM AM_BASE_MEMBER(astrocde_state, videoram)
|
||||
AM_RANGE(0xd000, 0xd03f) AM_READWRITE(protected_ram_r, protected_ram_w) AM_BASE(&protected_ram)
|
||||
AM_RANGE(0xd040, 0xd7ff) AM_RAM
|
||||
ADDRESS_MAP_END
|
||||
@ -608,7 +608,7 @@ ADDRESS_MAP_END
|
||||
static ADDRESS_MAP_START( wow_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x3fff) AM_ROM
|
||||
AM_RANGE(0x0000, 0x3fff) AM_WRITE(astrocade_funcgen_w)
|
||||
AM_RANGE(0x4000, 0x7fff) AM_RAM AM_BASE_GENERIC(videoram)
|
||||
AM_RANGE(0x4000, 0x7fff) AM_RAM AM_BASE_MEMBER(astrocde_state, videoram)
|
||||
AM_RANGE(0x8000, 0xcfff) AM_ROM
|
||||
AM_RANGE(0xd000, 0xd03f) AM_READWRITE(protected_ram_r, protected_ram_w) AM_BASE(&protected_ram)
|
||||
AM_RANGE(0xd040, 0xdfff) AM_RAM
|
||||
@ -618,7 +618,7 @@ ADDRESS_MAP_END
|
||||
static ADDRESS_MAP_START( robby_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x3fff) AM_ROM
|
||||
AM_RANGE(0x0000, 0x3fff) AM_WRITE(astrocade_funcgen_w)
|
||||
AM_RANGE(0x4000, 0x7fff) AM_RAM AM_BASE_GENERIC(videoram)
|
||||
AM_RANGE(0x4000, 0x7fff) AM_RAM AM_BASE_MEMBER(astrocde_state, videoram)
|
||||
AM_RANGE(0x8000, 0xdfff) AM_ROM
|
||||
AM_RANGE(0xe000, 0xe1ff) AM_READWRITE(protected_ram_r, protected_ram_w) AM_BASE(&protected_ram)
|
||||
AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_SHARE("nvram")
|
||||
@ -1271,7 +1271,7 @@ static const z80_daisy_config tenpin_daisy_chain[] =
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static MACHINE_CONFIG_START( astrocade_base, driver_device )
|
||||
static MACHINE_CONFIG_START( astrocade_base, astrocde_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", Z80, ASTROCADE_CLOCK/4)
|
||||
|
@ -207,7 +207,7 @@ static WRITE8_HANDLER( nvram_enable_w )
|
||||
/* full address map derived from schematics */
|
||||
static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x0fff) AM_RAM
|
||||
AM_RANGE(0x1000, 0x1fff) AM_RAM_WRITE(atetris_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
|
||||
AM_RANGE(0x1000, 0x1fff) AM_RAM_WRITE(atetris_videoram_w) AM_BASE_MEMBER(atetris_state, videoram)
|
||||
AM_RANGE(0x2000, 0x20ff) AM_MIRROR(0x0300) AM_RAM_WRITE(paletteram_RRRGGGBB_w) AM_BASE_GENERIC(paletteram)
|
||||
AM_RANGE(0x2400, 0x25ff) AM_MIRROR(0x0200) AM_RAM_WRITE(nvram_w) AM_SHARE("nvram")
|
||||
AM_RANGE(0x2800, 0x280f) AM_MIRROR(0x03e0) AM_DEVREADWRITE("pokey1", pokey_r, pokey_w)
|
||||
@ -224,7 +224,7 @@ ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( atetrisb2_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x0fff) AM_RAM
|
||||
AM_RANGE(0x1000, 0x1fff) AM_RAM_WRITE(atetris_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
|
||||
AM_RANGE(0x1000, 0x1fff) AM_RAM_WRITE(atetris_videoram_w) AM_BASE_MEMBER(atetris_state, videoram)
|
||||
AM_RANGE(0x2000, 0x20ff) AM_RAM_WRITE(paletteram_RRRGGGBB_w) AM_BASE_GENERIC(paletteram)
|
||||
AM_RANGE(0x2400, 0x25ff) AM_RAM_WRITE(nvram_w) AM_SHARE("nvram")
|
||||
AM_RANGE(0x2802, 0x2802) AM_DEVWRITE("sn1", sn76496_w)
|
||||
@ -376,7 +376,7 @@ static MACHINE_CONFIG_START( atetris, atetris_state )
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
static MACHINE_CONFIG_START( atetrisb2, driver_device )
|
||||
static MACHINE_CONFIG_START( atetrisb2, atetris_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", M6502,BOOTLEG_CLOCK/8)
|
||||
|
@ -244,7 +244,7 @@ DIP locations verified for:
|
||||
|
||||
static ADDRESS_MAP_START( cpu1_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x07ff) AM_RAM AM_BASE_GENERIC(spriteram)
|
||||
AM_RANGE(0x0800, 0x7fff) AM_RAM_WRITE(balsente_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
|
||||
AM_RANGE(0x0800, 0x7fff) AM_RAM_WRITE(balsente_videoram_w)
|
||||
AM_RANGE(0x8000, 0x8fff) AM_RAM_WRITE(balsente_paletteram_w) AM_BASE_GENERIC(paletteram)
|
||||
AM_RANGE(0x9000, 0x9007) AM_WRITE(balsente_adc_select_w)
|
||||
AM_RANGE(0x9400, 0x9401) AM_READ(balsente_adc_data_r)
|
||||
|
@ -15,7 +15,7 @@
|
||||
|
||||
|
||||
static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0xbfff) AM_RAM AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
|
||||
AM_RANGE(0x0000, 0xbfff) AM_RAM AM_BASE_MEMBER(beezer_state, videoram)
|
||||
AM_RANGE(0xc000, 0xcfff) AM_ROMBANK("bank1")
|
||||
AM_RANGE(0xd000, 0xffff) AM_ROM AM_WRITE(beezer_bankswitch_w)
|
||||
ADDRESS_MAP_END
|
||||
@ -72,7 +72,7 @@ static INPUT_PORTS_START( beezer )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( Hardest ) )
|
||||
INPUT_PORTS_END
|
||||
|
||||
static MACHINE_CONFIG_START( beezer, driver_device )
|
||||
static MACHINE_CONFIG_START( beezer, beezer_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", M6809, 1000000) /* 1 MHz */
|
||||
|
@ -674,7 +674,7 @@ static READ8_DEVICE_HANDLER( caterplr_AY8910_r )
|
||||
static ADDRESS_MAP_START( centiped_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0x3fff)
|
||||
AM_RANGE(0x0000, 0x03ff) AM_RAM AM_BASE(&rambase)
|
||||
AM_RANGE(0x0400, 0x07bf) AM_RAM_WRITE(centiped_videoram_w) AM_BASE_GENERIC(videoram)
|
||||
AM_RANGE(0x0400, 0x07bf) AM_RAM_WRITE(centiped_videoram_w) AM_BASE_MEMBER(centiped_state, videoram)
|
||||
AM_RANGE(0x07c0, 0x07ff) AM_RAM AM_BASE_GENERIC(spriteram)
|
||||
AM_RANGE(0x0800, 0x0800) AM_READ_PORT("DSW1") /* DSW1 */
|
||||
AM_RANGE(0x0801, 0x0801) AM_READ_PORT("DSW2") /* DSW2 */
|
||||
@ -699,7 +699,7 @@ ADDRESS_MAP_END
|
||||
static ADDRESS_MAP_START( centipdb_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
|
||||
AM_RANGE(0x0000, 0x03ff) AM_MIRROR(0x4000) AM_RAM
|
||||
AM_RANGE(0x0400, 0x07bf) AM_MIRROR(0x4000) AM_RAM_WRITE(centiped_videoram_w) AM_BASE_GENERIC(videoram)
|
||||
AM_RANGE(0x0400, 0x07bf) AM_MIRROR(0x4000) AM_RAM_WRITE(centiped_videoram_w) AM_BASE_MEMBER(centiped_state, videoram)
|
||||
AM_RANGE(0x07c0, 0x07ff) AM_MIRROR(0x4000) AM_RAM AM_BASE_GENERIC(spriteram)
|
||||
AM_RANGE(0x0800, 0x0800) AM_MIRROR(0x4000) AM_READ_PORT("DSW1") /* DSW1 */
|
||||
AM_RANGE(0x0801, 0x0801) AM_MIRROR(0x4000) AM_READ_PORT("DSW2") /* DSW2 */
|
||||
@ -735,7 +735,7 @@ static ADDRESS_MAP_START( milliped_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x03ff) AM_RAM
|
||||
AM_RANGE(0x0400, 0x040f) AM_DEVREADWRITE("pokey", pokey_r, pokey_w)
|
||||
AM_RANGE(0x0800, 0x080f) AM_DEVREADWRITE("pokey2", pokey_r, pokey_w)
|
||||
AM_RANGE(0x1000, 0x13bf) AM_RAM_WRITE(centiped_videoram_w) AM_BASE_GENERIC(videoram)
|
||||
AM_RANGE(0x1000, 0x13bf) AM_RAM_WRITE(centiped_videoram_w) AM_BASE_MEMBER(centiped_state, videoram)
|
||||
AM_RANGE(0x13c0, 0x13ff) AM_RAM AM_BASE_GENERIC(spriteram)
|
||||
AM_RANGE(0x2000, 0x2000) AM_READ(centiped_IN0_r)
|
||||
AM_RANGE(0x2001, 0x2001) AM_READ(milliped_IN1_r)
|
||||
@ -766,7 +766,7 @@ ADDRESS_MAP_END
|
||||
static ADDRESS_MAP_START( warlords_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
|
||||
AM_RANGE(0x0000, 0x03ff) AM_RAM
|
||||
AM_RANGE(0x0400, 0x07bf) AM_RAM_WRITE(centiped_videoram_w) AM_BASE_GENERIC(videoram)
|
||||
AM_RANGE(0x0400, 0x07bf) AM_RAM_WRITE(centiped_videoram_w) AM_BASE_MEMBER(centiped_state, videoram)
|
||||
AM_RANGE(0x07c0, 0x07ff) AM_RAM AM_BASE_GENERIC(spriteram)
|
||||
AM_RANGE(0x0800, 0x0800) AM_READ_PORT("DSW1") /* DSW1 */
|
||||
AM_RANGE(0x0801, 0x0801) AM_READ_PORT("DSW2") /* DSW2 */
|
||||
@ -793,7 +793,7 @@ static ADDRESS_MAP_START( mazeinv_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x03ff) AM_RAM
|
||||
AM_RANGE(0x0400, 0x040f) AM_DEVREADWRITE("pokey", pokey_r, pokey_w)
|
||||
AM_RANGE(0x0800, 0x080f) AM_DEVREADWRITE("pokey2", pokey_r, pokey_w)
|
||||
AM_RANGE(0x1000, 0x13bf) AM_RAM_WRITE(centiped_videoram_w) AM_BASE_GENERIC(videoram)
|
||||
AM_RANGE(0x1000, 0x13bf) AM_RAM_WRITE(centiped_videoram_w) AM_BASE_MEMBER(centiped_state, videoram)
|
||||
AM_RANGE(0x13c0, 0x13ff) AM_RAM AM_BASE_GENERIC(spriteram)
|
||||
AM_RANGE(0x2000, 0x2000) AM_READ_PORT("IN0")
|
||||
AM_RANGE(0x2001, 0x2001) AM_READ_PORT("IN1")
|
||||
@ -837,7 +837,7 @@ static ADDRESS_MAP_START( bullsdrt_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x1487, 0x1487) AM_MIRROR(0x6000) AM_WRITE(centiped_flip_screen_w)
|
||||
AM_RANGE(0x1500, 0x1500) AM_MIRROR(0x6000) AM_WRITE(watchdog_reset_w)
|
||||
AM_RANGE(0x1580, 0x1580) AM_MIRROR(0x6000) AM_NOP
|
||||
AM_RANGE(0x1800, 0x1bbf) AM_MIRROR(0x6000) AM_WRITE(centiped_videoram_w) AM_BASE_GENERIC(videoram)
|
||||
AM_RANGE(0x1800, 0x1bbf) AM_MIRROR(0x6000) AM_WRITE(centiped_videoram_w) AM_BASE_MEMBER(centiped_state, videoram)
|
||||
AM_RANGE(0x1bc0, 0x1bff) AM_MIRROR(0x6000) AM_RAM AM_BASE_GENERIC(spriteram)
|
||||
AM_RANGE(0x1c00, 0x1fff) AM_MIRROR(0x6000) AM_RAM
|
||||
AM_RANGE(0x2000, 0x2fff) AM_ROM
|
||||
@ -1586,7 +1586,7 @@ static const pokey_interface warlords_pokey_interface =
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static MACHINE_CONFIG_START( centiped, driver_device )
|
||||
static MACHINE_CONFIG_START( centiped, centiped_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", M6502, 12096000/8) /* 1.512 MHz (slows down to 0.75MHz while accessing playfield RAM) */
|
||||
@ -1710,7 +1710,7 @@ static MACHINE_CONFIG_DERIVED( mazeinv, milliped )
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
static MACHINE_CONFIG_START( bullsdrt, driver_device )
|
||||
static MACHINE_CONFIG_START( bullsdrt, centiped_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", S2650, 12096000/8)
|
||||
|
@ -168,7 +168,7 @@ static WRITE8_HANDLER( cloak_nvram_enable_w )
|
||||
|
||||
static ADDRESS_MAP_START( master_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x03ff) AM_RAM
|
||||
AM_RANGE(0x0400, 0x07ff) AM_RAM_WRITE(cloak_videoram_w) AM_BASE_GENERIC(videoram)
|
||||
AM_RANGE(0x0400, 0x07ff) AM_RAM_WRITE(cloak_videoram_w) AM_BASE_MEMBER(cloak_state, videoram)
|
||||
AM_RANGE(0x0800, 0x0fff) AM_RAM AM_SHARE("share1")
|
||||
AM_RANGE(0x1000, 0x100f) AM_DEVREADWRITE("pokey1", pokey_r, pokey_w) /* DSW0 also */
|
||||
AM_RANGE(0x1800, 0x180f) AM_DEVREADWRITE("pokey2", pokey_r, pokey_w) /* DSW1 also */
|
||||
@ -331,7 +331,7 @@ static const pokey_interface pokey_interface_2 =
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static MACHINE_CONFIG_START( cloak, driver_device )
|
||||
static MACHINE_CONFIG_START( cloak, cloak_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", M6502, 1000000) /* 1 MHz ???? */
|
||||
|
@ -30,6 +30,17 @@ CYC1399
|
||||
#include "emu.h"
|
||||
#include "cpu/m6502/m6502.h"
|
||||
|
||||
|
||||
class cmmb_state : public driver_device
|
||||
{
|
||||
public:
|
||||
cmmb_state(running_machine &machine, const driver_device_config_base &config)
|
||||
: driver_device(machine, config) { }
|
||||
|
||||
UINT8 *videoram;
|
||||
};
|
||||
|
||||
|
||||
static VIDEO_START( cmmb )
|
||||
{
|
||||
|
||||
@ -37,6 +48,8 @@ static VIDEO_START( cmmb )
|
||||
|
||||
static VIDEO_UPDATE( cmmb )
|
||||
{
|
||||
cmmb_state *state = screen->machine->driver_data<cmmb_state>();
|
||||
UINT8 *videoram = state->videoram;
|
||||
const gfx_element *gfx = screen->machine->gfx[0];
|
||||
int count = 0x00000;
|
||||
|
||||
@ -47,8 +60,8 @@ static VIDEO_UPDATE( cmmb )
|
||||
{
|
||||
for (x=0;x<32;x++)
|
||||
{
|
||||
int tile = screen->machine->generic.videoram.u8[count] & 0x3f;
|
||||
int colour = (screen->machine->generic.videoram.u8[count] & 0xc0)>>6;
|
||||
int tile = videoram[count] & 0x3f;
|
||||
int colour = (videoram[count] & 0xc0)>>6;
|
||||
drawgfx_opaque(bitmap,cliprect,gfx,tile,colour,0,0,x*8,y*8);
|
||||
|
||||
count++;
|
||||
@ -142,7 +155,7 @@ static READ8_HANDLER( kludge_r )
|
||||
static ADDRESS_MAP_START( cmmb_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x01ff) AM_RAM /* zero page address */
|
||||
// AM_RANGE(0x13c0, 0x13ff) AM_RAM //spriteram
|
||||
AM_RANGE(0x1000, 0x13ff) AM_RAM AM_BASE_GENERIC(videoram)
|
||||
AM_RANGE(0x1000, 0x13ff) AM_RAM AM_BASE_MEMBER(cmmb_state, videoram)
|
||||
AM_RANGE(0x2480, 0x249f) AM_RAM_WRITE(cmmb_paletteram_w) AM_BASE_GENERIC(paletteram)
|
||||
AM_RANGE(0x4000, 0x400f) AM_READWRITE(cmmb_input_r,cmmb_output_w) //i/o
|
||||
AM_RANGE(0x4900, 0x4900) AM_READ(kludge_r)
|
||||
@ -270,7 +283,7 @@ static MACHINE_RESET( cmmb )
|
||||
{
|
||||
}
|
||||
|
||||
static MACHINE_CONFIG_START( cmmb, driver_device )
|
||||
static MACHINE_CONFIG_START( cmmb, cmmb_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu",M65C02,8000000/2) // unknown clock
|
||||
|
@ -29,6 +29,17 @@ x
|
||||
#include "sound/ay8910.h"
|
||||
|
||||
|
||||
class coinmstr_state : public driver_device
|
||||
{
|
||||
public:
|
||||
coinmstr_state(running_machine &machine, const driver_device_config_base &config)
|
||||
: driver_device(machine, config) { }
|
||||
|
||||
UINT8 *videoram;
|
||||
};
|
||||
|
||||
|
||||
|
||||
static UINT8 *attr_ram1, *attr_ram2, *attr_ram3;
|
||||
static tilemap_t *bg_tilemap;
|
||||
|
||||
@ -36,7 +47,9 @@ static UINT8 question_adr[4];
|
||||
|
||||
static WRITE8_HANDLER( quizmstr_bg_w )
|
||||
{
|
||||
space->machine->generic.videoram.u8[offset] = data;
|
||||
coinmstr_state *state = space->machine->driver_data<coinmstr_state>();
|
||||
UINT8 *videoram = state->videoram;
|
||||
videoram[offset] = data;
|
||||
|
||||
if(offset >= 0x0240)
|
||||
tilemap_mark_tile_dirty(bg_tilemap,offset - 0x0240);
|
||||
@ -184,7 +197,7 @@ static READ8_HANDLER( ff_r )
|
||||
static ADDRESS_MAP_START( coinmstr_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0xbfff) AM_ROM
|
||||
AM_RANGE(0xc000, 0xdfff) AM_RAM
|
||||
AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(quizmstr_bg_w) AM_BASE_GENERIC(videoram)
|
||||
AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(quizmstr_bg_w) AM_BASE_MEMBER(coinmstr_state, videoram)
|
||||
AM_RANGE(0xe800, 0xefff) AM_RAM_WRITE(quizmstr_attr1_w) AM_BASE(&attr_ram1)
|
||||
AM_RANGE(0xf000, 0xf7ff) AM_RAM_WRITE(quizmstr_attr2_w) AM_BASE(&attr_ram2)
|
||||
AM_RANGE(0xf800, 0xffff) AM_RAM_WRITE(quizmstr_attr3_w) AM_BASE(&attr_ram3)
|
||||
@ -878,7 +891,9 @@ GFXDECODE_END
|
||||
|
||||
static TILE_GET_INFO( get_bg_tile_info )
|
||||
{
|
||||
int tile = machine->generic.videoram.u8[tile_index + 0x0240];
|
||||
coinmstr_state *state = machine->driver_data<coinmstr_state>();
|
||||
UINT8 *videoram = state->videoram;
|
||||
int tile = videoram[tile_index + 0x0240];
|
||||
int color = tile_index;
|
||||
|
||||
tile |= (attr_ram1[tile_index + 0x0240] & 0x80) << 1;
|
||||
@ -980,7 +995,7 @@ static const mc6845_interface h46505_intf =
|
||||
};
|
||||
|
||||
|
||||
static MACHINE_CONFIG_START( coinmstr, driver_device )
|
||||
static MACHINE_CONFIG_START( coinmstr, coinmstr_state )
|
||||
MDRV_CPU_ADD("maincpu",Z80,8000000) // ?
|
||||
MDRV_CPU_PROGRAM_MAP(coinmstr_map)
|
||||
MDRV_CPU_VBLANK_INT("screen", irq0_line_hold)
|
||||
|
@ -70,7 +70,7 @@ static ADDRESS_MAP_START( memmap, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0xd681, 0xd681) AM_READ(t5182_sharedram_semaphore_snd_r)
|
||||
AM_RANGE(0xd682, 0xd682) AM_WRITE(t5182_sharedram_semaphore_main_acquire_w)
|
||||
AM_RANGE(0xd683, 0xd683) AM_WRITE(t5182_sharedram_semaphore_main_release_w)
|
||||
AM_RANGE(0xd800, 0xdfff) AM_RAM AM_BASE_GENERIC(videoram)
|
||||
AM_RANGE(0xd800, 0xdfff) AM_RAM AM_BASE_MEMBER(darkmist_state, videoram)
|
||||
AM_RANGE(0xe000, 0xefff) AM_RAM AM_BASE(&darkmist_workram)
|
||||
AM_RANGE(0xf000, 0xffff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
||||
ADDRESS_MAP_END
|
||||
@ -240,7 +240,7 @@ static INTERRUPT_GEN( darkmist_interrupt )
|
||||
|
||||
|
||||
|
||||
static MACHINE_CONFIG_START( darkmist, driver_device )
|
||||
static MACHINE_CONFIG_START( darkmist, darkmist_state )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", Z80,4000000) /* ? MHz */
|
||||
MDRV_CPU_PROGRAM_MAP(memmap)
|
||||
|
@ -64,7 +64,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x05000, 0x05fff) AM_WRITEONLY
|
||||
AM_RANGE(0x06000, 0x0600f) AM_READWRITE(seibu_main_word_r, seibu_main_word_w)
|
||||
AM_RANGE(0x06010, 0x07fff) AM_WRITEONLY
|
||||
AM_RANGE(0x08000, 0x087ff) AM_WRITE(deadang_text_w) AM_BASE_GENERIC(videoram)
|
||||
AM_RANGE(0x08000, 0x087ff) AM_WRITE(deadang_text_w) AM_BASE_MEMBER(deadang_state, videoram)
|
||||
AM_RANGE(0x08800, 0x0bfff) AM_WRITEONLY
|
||||
AM_RANGE(0x0a000, 0x0a001) AM_READ_PORT("P1_P2")
|
||||
AM_RANGE(0x0a002, 0x0a003) AM_READ_PORT("DSW")
|
||||
@ -217,7 +217,7 @@ static INTERRUPT_GEN( deadang_interrupt )
|
||||
|
||||
/* Machine Drivers */
|
||||
|
||||
static MACHINE_CONFIG_START( deadang, driver_device )
|
||||
static MACHINE_CONFIG_START( deadang, deadang_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", V30,XTAL_16MHz/2) /* Sony 8623h9 CXQ70116D-8 (V30 compatible) */
|
||||
|
@ -106,12 +106,25 @@ Sound processor - 6502
|
||||
#include "sound/ay8910.h"
|
||||
#include "machine/laserdsc.h"
|
||||
|
||||
|
||||
class deco_ld_state : public driver_device
|
||||
{
|
||||
public:
|
||||
deco_ld_state(running_machine &machine, const driver_device_config_base &config)
|
||||
: driver_device(machine, config) { }
|
||||
|
||||
UINT8 *videoram;
|
||||
};
|
||||
|
||||
|
||||
static UINT8 vram_bank;
|
||||
static running_device *laserdisc;
|
||||
static UINT8 laserdisc_data;
|
||||
|
||||
static VIDEO_UPDATE( rblaster )
|
||||
{
|
||||
deco_ld_state *state = screen->machine->driver_data<deco_ld_state>();
|
||||
UINT8 *videoram = state->videoram;
|
||||
const gfx_element *gfx = screen->machine->gfx[0];
|
||||
int count = 0x0000;
|
||||
|
||||
@ -121,7 +134,7 @@ static VIDEO_UPDATE( rblaster )
|
||||
{
|
||||
for (x=0;x<32;x++)
|
||||
{
|
||||
int tile = screen->machine->generic.videoram.u8[count];
|
||||
int tile = videoram[count];
|
||||
int colour = (vram_bank & 0x7);
|
||||
drawgfx_opaque(bitmap,cliprect,gfx,tile,colour,0,0,x*8,y*8);
|
||||
|
||||
@ -177,7 +190,7 @@ static ADDRESS_MAP_START( begas_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x1007, 0x1007) AM_READWRITE(laserdisc_r,laserdisc_w) // ld data
|
||||
AM_RANGE(0x1800, 0x1fff) AM_RAM_WRITE(paletteram_RRRGGGBB_w) AM_BASE_GENERIC(paletteram)
|
||||
AM_RANGE(0x2000, 0x27ff) AM_RAM
|
||||
AM_RANGE(0x2800, 0x2fff) AM_RAM AM_BASE_GENERIC(videoram)
|
||||
AM_RANGE(0x2800, 0x2fff) AM_RAM AM_BASE_MEMBER(deco_ld_state, videoram)
|
||||
AM_RANGE(0x3000, 0x3fff) AM_RAM
|
||||
AM_RANGE(0x4000, 0xffff) AM_ROM
|
||||
ADDRESS_MAP_END
|
||||
@ -196,7 +209,7 @@ static ADDRESS_MAP_START( cobra_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x1800, 0x1fff) AM_RAM_WRITE(paletteram_RRRGGGBB_w) AM_BASE_GENERIC(paletteram)
|
||||
AM_RANGE(0x2000, 0x2fff) AM_RAM
|
||||
AM_RANGE(0x3000, 0x37ff) AM_RAM //vram attr?
|
||||
AM_RANGE(0x3800, 0x3fff) AM_RAM AM_BASE_GENERIC(videoram)
|
||||
AM_RANGE(0x3800, 0x3fff) AM_RAM AM_BASE_MEMBER(deco_ld_state, videoram)
|
||||
AM_RANGE(0x4000, 0xffff) AM_ROM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
@ -210,7 +223,7 @@ static ADDRESS_MAP_START( rblaster_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x1006, 0x1006) AM_NOP //ld status / command
|
||||
AM_RANGE(0x1007, 0x1007) AM_READWRITE(laserdisc_r,laserdisc_w) // ld data
|
||||
AM_RANGE(0x1800, 0x1fff) AM_RAM_WRITE(paletteram_RRRGGGBB_w) AM_BASE_GENERIC(paletteram)
|
||||
AM_RANGE(0x2800, 0x2fff) AM_RAM AM_BASE_GENERIC(videoram)
|
||||
AM_RANGE(0x2800, 0x2fff) AM_RAM AM_BASE_MEMBER(deco_ld_state, videoram)
|
||||
AM_RANGE(0x3000, 0x3fff) AM_RAM
|
||||
AM_RANGE(0xc000, 0xffff) AM_ROM
|
||||
ADDRESS_MAP_END
|
||||
@ -487,7 +500,7 @@ static MACHINE_START( rblaster )
|
||||
laserdisc = machine->device("laserdisc");
|
||||
}
|
||||
|
||||
static MACHINE_CONFIG_START( rblaster, driver_device )
|
||||
static MACHINE_CONFIG_START( rblaster, deco_ld_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu",M6502,8000000/2)
|
||||
|
@ -44,6 +44,17 @@
|
||||
#include "dlair.lh"
|
||||
|
||||
|
||||
class dlair_state : public driver_device
|
||||
{
|
||||
public:
|
||||
dlair_state(running_machine &machine, const driver_device_config_base &config)
|
||||
: driver_device(machine, config) { }
|
||||
|
||||
UINT8 *videoram;
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
/*************************************
|
||||
*
|
||||
@ -161,13 +172,15 @@ static PALETTE_INIT( dleuro )
|
||||
|
||||
static VIDEO_UPDATE( dleuro )
|
||||
{
|
||||
dlair_state *state = screen->machine->driver_data<dlair_state>();
|
||||
UINT8 *videoram = state->videoram;
|
||||
int x, y;
|
||||
|
||||
/* redraw the overlay */
|
||||
for (y = 0; y < 32; y++)
|
||||
for (x = 0; x < 32; x++)
|
||||
{
|
||||
UINT8 *base = &screen->machine->generic.videoram.u8[y * 64 + x * 2 + 1];
|
||||
UINT8 *base = &videoram[y * 64 + x * 2 + 1];
|
||||
drawgfx_opaque(bitmap, cliprect, screen->machine->gfx[0], base[0], base[1], 0, 0, 10 * x, 16 * y);
|
||||
}
|
||||
|
||||
@ -378,7 +391,7 @@ ADDRESS_MAP_END
|
||||
static ADDRESS_MAP_START( dleuro_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x9fff) AM_ROM
|
||||
AM_RANGE(0xa000, 0xa7ff) AM_MIRROR(0x1800) AM_RAM
|
||||
AM_RANGE(0xc000, 0xc7ff) AM_MIRROR(0x1800) AM_RAM AM_BASE_GENERIC(videoram)
|
||||
AM_RANGE(0xc000, 0xc7ff) AM_MIRROR(0x1800) AM_RAM AM_BASE_MEMBER(dlair_state, videoram)
|
||||
AM_RANGE(0xe000, 0xe000) AM_MIRROR(0x1f47) // WT LED 1
|
||||
AM_RANGE(0xe008, 0xe008) AM_MIRROR(0x1f47) // WT LED 2
|
||||
AM_RANGE(0xe010, 0xe010) AM_MIRROR(0x1f47) AM_WRITE(led_den1_w) // WT EXT LED 1
|
||||
@ -669,7 +682,7 @@ static const ay8910_interface ay8910_config =
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static MACHINE_CONFIG_START( dlair_base, driver_device )
|
||||
static MACHINE_CONFIG_START( dlair_base, dlair_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", Z80, MASTER_CLOCK_US/4)
|
||||
@ -706,7 +719,7 @@ static MACHINE_CONFIG_DERIVED( dlair_ldv1000, dlair_base )
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
static MACHINE_CONFIG_START( dleuro, driver_device )
|
||||
static MACHINE_CONFIG_START( dleuro, dlair_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", Z80, MASTER_CLOCK_EURO/4)
|
||||
|
@ -81,7 +81,7 @@ static ADDRESS_MAP_START( master_map, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x0b002, 0x0b003) AM_READ_PORT("DSW")
|
||||
AM_RANGE(0x0b004, 0x0b005) AM_WRITENOP
|
||||
AM_RANGE(0x0b006, 0x0b007) AM_WRITE(dynduke_control_w)
|
||||
AM_RANGE(0x0c000, 0x0c7ff) AM_RAM_WRITE(dynduke_text_w) AM_BASE_GENERIC(videoram)
|
||||
AM_RANGE(0x0c000, 0x0c7ff) AM_RAM_WRITE(dynduke_text_w) AM_BASE_MEMBER(dynduke_state, videoram)
|
||||
AM_RANGE(0x0d000, 0x0d00d) AM_READWRITE(seibu_main_word_r, seibu_main_word_w)
|
||||
AM_RANGE(0xa0000, 0xfffff) AM_ROM
|
||||
ADDRESS_MAP_END
|
||||
@ -101,7 +101,7 @@ ADDRESS_MAP_END
|
||||
static ADDRESS_MAP_START( masterj_map, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x00000, 0x06fff) AM_RAM
|
||||
AM_RANGE(0x07000, 0x07fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
||||
AM_RANGE(0x08000, 0x087ff) AM_RAM_WRITE(dynduke_text_w) AM_BASE_GENERIC(videoram)
|
||||
AM_RANGE(0x08000, 0x087ff) AM_RAM_WRITE(dynduke_text_w) AM_BASE_MEMBER(dynduke_state, videoram)
|
||||
AM_RANGE(0x09000, 0x0900d) AM_READWRITE(seibu_main_word_r, seibu_main_word_w)
|
||||
AM_RANGE(0x0c000, 0x0c0ff) AM_RAM AM_BASE(&dynduke_scroll_ram)
|
||||
AM_RANGE(0x0e000, 0x0efff) AM_RAM AM_SHARE("share1")
|
||||
@ -270,7 +270,7 @@ static INTERRUPT_GEN( dynduke_interrupt )
|
||||
|
||||
/* Machine Driver */
|
||||
|
||||
static MACHINE_CONFIG_START( dynduke, driver_device )
|
||||
static MACHINE_CONFIG_START( dynduke, dynduke_state )
|
||||
// basic machine hardware
|
||||
MDRV_CPU_ADD("maincpu", V30, 16000000/2) // NEC V30-8 CPU
|
||||
MDRV_CPU_PROGRAM_MAP(master_map)
|
||||
|
@ -1363,7 +1363,7 @@ static ADDRESS_MAP_START( galaxian_map_base, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
ADDRESS_MAP_UNMAP_HIGH
|
||||
AM_RANGE(0x0000, 0x3fff) AM_ROM
|
||||
AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0x0400) AM_RAM
|
||||
AM_RANGE(0x5000, 0x53ff) AM_MIRROR(0x0400) AM_RAM_WRITE(galaxian_videoram_w) AM_BASE_GENERIC(videoram)
|
||||
AM_RANGE(0x5000, 0x53ff) AM_MIRROR(0x0400) AM_RAM_WRITE(galaxian_videoram_w) AM_BASE_MEMBER(galaxian_state, videoram)
|
||||
AM_RANGE(0x5800, 0x58ff) AM_MIRROR(0x0700) AM_RAM_WRITE(galaxian_objram_w) AM_BASE_GENERIC(spriteram)
|
||||
AM_RANGE(0x6000, 0x6000) AM_MIRROR(0x07ff) AM_READ_PORT("IN0")
|
||||
AM_RANGE(0x6000, 0x6001) AM_MIRROR(0x07f8) AM_WRITE(start_lamp_w)
|
||||
@ -1398,7 +1398,7 @@ static ADDRESS_MAP_START( mooncrst_map_base, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
ADDRESS_MAP_UNMAP_HIGH
|
||||
AM_RANGE(0x0000, 0x3fff) AM_ROM
|
||||
AM_RANGE(0x8000, 0x83ff) AM_MIRROR(0x0400) AM_RAM
|
||||
AM_RANGE(0x9000, 0x93ff) AM_MIRROR(0x0400) AM_RAM_WRITE(galaxian_videoram_w) AM_BASE_GENERIC(videoram)
|
||||
AM_RANGE(0x9000, 0x93ff) AM_MIRROR(0x0400) AM_RAM_WRITE(galaxian_videoram_w) AM_BASE_MEMBER(galaxian_state, videoram)
|
||||
AM_RANGE(0x9800, 0x98ff) AM_MIRROR(0x0700) AM_RAM_WRITE(galaxian_objram_w) AM_BASE_GENERIC(spriteram)
|
||||
AM_RANGE(0xa000, 0xa000) AM_MIRROR(0x07ff) AM_READ_PORT("IN0")
|
||||
AM_RANGE(0xa000, 0xa002) AM_MIRROR(0x07f8) AM_WRITE(galaxian_gfxbank_w)
|
||||
@ -1430,7 +1430,7 @@ static ADDRESS_MAP_START( dambustr_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
// AM_RANGE(0x8000, 0x8000) AM_WRITE(dambustr_bg_color_w)
|
||||
// AM_RANGE(0x8001, 0x8001) AM_WRITE(dambustr_bg_split_line_w)
|
||||
AM_RANGE(0xc000, 0xc3ff) AM_MIRROR(0x0400) AM_RAM
|
||||
AM_RANGE(0xd000, 0xd3ff) AM_MIRROR(0x0400) AM_RAM_WRITE(galaxian_videoram_w) AM_BASE_GENERIC(videoram)
|
||||
AM_RANGE(0xd000, 0xd3ff) AM_MIRROR(0x0400) AM_RAM_WRITE(galaxian_videoram_w) AM_BASE_MEMBER(galaxian_state, videoram)
|
||||
AM_RANGE(0xd800, 0xd8ff) AM_MIRROR(0x0700) AM_RAM_WRITE(galaxian_objram_w) AM_BASE_GENERIC(spriteram)
|
||||
AM_RANGE(0xe000, 0xe000) AM_MIRROR(0x07ff) AM_READ_PORT("IN0")
|
||||
AM_RANGE(0xe004, 0xe007) AM_MIRROR(0x07f8) AM_WRITE(galaxian_lfo_freq_w)
|
||||
@ -1452,7 +1452,7 @@ static ADDRESS_MAP_START( theend_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
ADDRESS_MAP_UNMAP_HIGH
|
||||
AM_RANGE(0x0000, 0x3fff) AM_ROM
|
||||
AM_RANGE(0x4000, 0x47ff) AM_RAM
|
||||
AM_RANGE(0x4800, 0x4bff) AM_MIRROR(0x0400) AM_RAM_WRITE(galaxian_videoram_w) AM_BASE_GENERIC(videoram)
|
||||
AM_RANGE(0x4800, 0x4bff) AM_MIRROR(0x0400) AM_RAM_WRITE(galaxian_videoram_w) AM_BASE_MEMBER(galaxian_state, videoram)
|
||||
AM_RANGE(0x5000, 0x50ff) AM_MIRROR(0x0700) AM_RAM_WRITE(galaxian_objram_w) AM_BASE_GENERIC(spriteram)
|
||||
AM_RANGE(0x6801, 0x6801) AM_MIRROR(0x07f8) AM_WRITE(irq_enable_w)
|
||||
AM_RANGE(0x6802, 0x6802) AM_MIRROR(0x07f8) AM_WRITE(coin_count_0_w)
|
||||
@ -1471,7 +1471,7 @@ static ADDRESS_MAP_START( scobra_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
ADDRESS_MAP_UNMAP_HIGH
|
||||
AM_RANGE(0x0000, 0x7fff) AM_ROM
|
||||
AM_RANGE(0x8000, 0x87ff) AM_MIRROR(0x4000) AM_RAM
|
||||
AM_RANGE(0x8800, 0x8bff) AM_MIRROR(0x4400) AM_RAM_WRITE(galaxian_videoram_w) AM_BASE_GENERIC(videoram)
|
||||
AM_RANGE(0x8800, 0x8bff) AM_MIRROR(0x4400) AM_RAM_WRITE(galaxian_videoram_w) AM_BASE_MEMBER(galaxian_state, videoram)
|
||||
AM_RANGE(0x9000, 0x90ff) AM_MIRROR(0x4700) AM_RAM_WRITE(galaxian_objram_w) AM_BASE_GENERIC(spriteram)
|
||||
AM_RANGE(0x9800, 0x9803) AM_MIRROR(0x47fc) AM_DEVREADWRITE("ppi8255_0", ppi8255_r, ppi8255_w)
|
||||
AM_RANGE(0xa000, 0xa003) AM_MIRROR(0x47fc) AM_DEVREADWRITE("ppi8255_1", ppi8255_r, ppi8255_w)
|
||||
@ -1492,7 +1492,7 @@ static ADDRESS_MAP_START( frogger_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x3fff) AM_ROM
|
||||
AM_RANGE(0x8000, 0x87ff) AM_RAM
|
||||
AM_RANGE(0x8800, 0x8800) AM_MIRROR(0x07ff) AM_READ(watchdog_reset_r)
|
||||
AM_RANGE(0xa800, 0xabff) AM_MIRROR(0x0400) AM_RAM_WRITE(galaxian_videoram_w) AM_BASE_GENERIC(videoram)
|
||||
AM_RANGE(0xa800, 0xabff) AM_MIRROR(0x0400) AM_RAM_WRITE(galaxian_videoram_w) AM_BASE_MEMBER(galaxian_state, videoram)
|
||||
AM_RANGE(0xb000, 0xb0ff) AM_MIRROR(0x0700) AM_RAM_WRITE(galaxian_objram_w) AM_BASE_GENERIC(spriteram)
|
||||
AM_RANGE(0xb808, 0xb808) AM_MIRROR(0x07e3) AM_WRITE(irq_enable_w)
|
||||
AM_RANGE(0xb80c, 0xb80c) AM_MIRROR(0x07e3) AM_WRITE(galaxian_flip_screen_y_w)
|
||||
@ -1508,7 +1508,7 @@ static ADDRESS_MAP_START( turtles_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
ADDRESS_MAP_UNMAP_HIGH
|
||||
AM_RANGE(0x0000, 0x7fff) AM_ROM
|
||||
AM_RANGE(0x8000, 0x87ff) AM_MIRROR(0x4000) AM_RAM
|
||||
AM_RANGE(0x9000, 0x93ff) AM_MIRROR(0x4400) AM_RAM_WRITE(galaxian_videoram_w) AM_BASE_GENERIC(videoram)
|
||||
AM_RANGE(0x9000, 0x93ff) AM_MIRROR(0x4400) AM_RAM_WRITE(galaxian_videoram_w) AM_BASE_MEMBER(galaxian_state, videoram)
|
||||
AM_RANGE(0x9800, 0x98ff) AM_MIRROR(0x4700) AM_RAM_WRITE(galaxian_objram_w) AM_BASE_GENERIC(spriteram)
|
||||
AM_RANGE(0xa000, 0xa000) AM_MIRROR(0x47c7) AM_WRITE(scramble_background_red_w)
|
||||
AM_RANGE(0xa008, 0xa008) AM_MIRROR(0x47c7) AM_WRITE(irq_enable_w)
|
||||
@ -1529,7 +1529,7 @@ ADDRESS_MAP_END
|
||||
static ADDRESS_MAP_START( sfx_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x3fff) AM_ROM
|
||||
AM_RANGE(0x4000, 0x47ff) AM_RAM
|
||||
AM_RANGE(0x4800, 0x4bff) AM_MIRROR(0x0400) AM_RAM_WRITE(galaxian_videoram_w) AM_BASE_GENERIC(videoram)
|
||||
AM_RANGE(0x4800, 0x4bff) AM_MIRROR(0x0400) AM_RAM_WRITE(galaxian_videoram_w) AM_BASE_MEMBER(galaxian_state, videoram)
|
||||
AM_RANGE(0x5000, 0x50ff) AM_MIRROR(0x0700) AM_RAM_WRITE(galaxian_objram_w) AM_BASE_GENERIC(spriteram)
|
||||
AM_RANGE(0x6800, 0x6800) AM_MIRROR(0x07f8) AM_WRITE(scramble_background_red_w)
|
||||
AM_RANGE(0x6801, 0x6801) AM_MIRROR(0x07f8) AM_WRITE(irq_enable_w)
|
||||
@ -1558,7 +1558,7 @@ static ADDRESS_MAP_START( jumpbug_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
ADDRESS_MAP_UNMAP_HIGH
|
||||
AM_RANGE(0x0000, 0x3fff) AM_ROM
|
||||
AM_RANGE(0x4000, 0x47ff) AM_RAM
|
||||
AM_RANGE(0x4800, 0x4bff) AM_MIRROR(0x0400) AM_RAM_WRITE(galaxian_videoram_w) AM_BASE_GENERIC(videoram)
|
||||
AM_RANGE(0x4800, 0x4bff) AM_MIRROR(0x0400) AM_RAM_WRITE(galaxian_videoram_w) AM_BASE_MEMBER(galaxian_state, videoram)
|
||||
AM_RANGE(0x5000, 0x50ff) AM_MIRROR(0x0700) AM_RAM_WRITE(galaxian_objram_w) AM_BASE_GENERIC(spriteram)
|
||||
AM_RANGE(0x5800, 0x5800) AM_MIRROR(0x00ff) AM_DEVWRITE("aysnd", ay8910_data_w)
|
||||
AM_RANGE(0x5900, 0x5900) AM_MIRROR(0x00ff) AM_DEVWRITE("aysnd", ay8910_address_w)
|
||||
@ -1580,7 +1580,7 @@ static ADDRESS_MAP_START( frogf_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
ADDRESS_MAP_UNMAP_HIGH
|
||||
AM_RANGE(0x0000, 0x3fff) AM_ROM
|
||||
AM_RANGE(0x8000, 0x87ff) AM_RAM
|
||||
AM_RANGE(0x8800, 0x8bff) AM_MIRROR(0x0400) AM_RAM_WRITE(galaxian_videoram_w) AM_BASE_GENERIC(videoram)
|
||||
AM_RANGE(0x8800, 0x8bff) AM_MIRROR(0x0400) AM_RAM_WRITE(galaxian_videoram_w) AM_BASE_MEMBER(galaxian_state, videoram)
|
||||
AM_RANGE(0x9000, 0x90ff) AM_MIRROR(0x0700) AM_RAM_WRITE(galaxian_objram_w) AM_BASE_GENERIC(spriteram)
|
||||
AM_RANGE(0xa802, 0xa802) AM_MIRROR(0x07f1) AM_WRITE(galaxian_flip_screen_x_w)
|
||||
AM_RANGE(0xa804, 0xa804) AM_MIRROR(0x07f1) AM_WRITE(irq_enable_w)
|
||||
@ -1597,7 +1597,7 @@ static ADDRESS_MAP_START( mshuttle_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
ADDRESS_MAP_UNMAP_HIGH
|
||||
AM_RANGE(0x0000, 0x7fff) AM_ROM
|
||||
AM_RANGE(0x8000, 0x83ff) AM_RAM
|
||||
AM_RANGE(0x9000, 0x93ff) AM_MIRROR(0x0400) AM_RAM_WRITE(galaxian_videoram_w) AM_BASE_GENERIC(videoram)
|
||||
AM_RANGE(0x9000, 0x93ff) AM_MIRROR(0x0400) AM_RAM_WRITE(galaxian_videoram_w) AM_BASE_MEMBER(galaxian_state, videoram)
|
||||
AM_RANGE(0x9800, 0x98ff) AM_MIRROR(0x0700) AM_RAM_WRITE(galaxian_objram_w) AM_BASE_GENERIC(spriteram)
|
||||
AM_RANGE(0xa000, 0xa000) AM_READ_PORT("IN0")
|
||||
AM_RANGE(0xa000, 0xa000) AM_WRITE(irq_enable_w)
|
||||
@ -1956,7 +1956,7 @@ DISCRETE_SOUND_END
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static MACHINE_CONFIG_START( galaxian_base, driver_device )
|
||||
static MACHINE_CONFIG_START( galaxian_base, galaxian_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", Z80, GALAXIAN_PIXEL_CLOCK/3/2)
|
||||
|
@ -339,7 +339,7 @@ static const ppi8255_interface ppi8255_intf =
|
||||
|
||||
static ADDRESS_MAP_START( gat_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x5fff) AM_ROM
|
||||
AM_RANGE(0x6000, 0x63ff) AM_RAM_WRITE(gat_videoram_w) AM_BASE_GENERIC(videoram)
|
||||
AM_RANGE(0x6000, 0x63ff) AM_RAM_WRITE(gat_videoram_w) AM_BASE_MEMBER(gatron_state, videoram)
|
||||
AM_RANGE(0x8000, 0x87ff) AM_RAM AM_SHARE("nvram") /* battery backed RAM */
|
||||
AM_RANGE(0xa000, 0xa000) AM_DEVWRITE("snsnd", sn76496_w) /* PSG */
|
||||
AM_RANGE(0xe000, 0xe000) AM_WRITE(output_port_0_w) /* lamps */
|
||||
@ -432,7 +432,7 @@ GFXDECODE_END
|
||||
* Machine Drivers *
|
||||
*************************/
|
||||
|
||||
static MACHINE_CONFIG_START( gat, driver_device )
|
||||
static MACHINE_CONFIG_START( gat, gatron_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", Z80, MASTER_CLOCK/24) /* 666.66 kHz, guess */
|
||||
|
@ -717,7 +717,7 @@ static ADDRESS_MAP_START( reactor_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0xffff)
|
||||
AM_RANGE(0x0000, 0x1fff) AM_RAM
|
||||
AM_RANGE(0x2000, 0x20ff) AM_MIRROR(0x0f00) AM_WRITEONLY AM_BASE_GENERIC(spriteram) /* FRSEL */
|
||||
AM_RANGE(0x3000, 0x33ff) AM_MIRROR(0x0c00) AM_RAM_WRITE(gottlieb_videoram_w) AM_BASE_GENERIC(videoram) /* BRSEL */
|
||||
AM_RANGE(0x3000, 0x33ff) AM_MIRROR(0x0c00) AM_RAM_WRITE(gottlieb_videoram_w) AM_BASE_MEMBER(gottlieb_state, videoram) /* BRSEL */
|
||||
AM_RANGE(0x4000, 0x4fff) AM_RAM_WRITE(gottlieb_charram_w) AM_BASE(&gottlieb_charram) /* BOJRSEL1 */
|
||||
/* AM_RANGE(0x5000, 0x5fff) AM_WRITE() */ /* BOJRSEL2 */
|
||||
AM_RANGE(0x6000, 0x601f) AM_MIRROR(0x0fe0) AM_WRITE(gottlieb_paletteram_w) AM_BASE_GENERIC(paletteram) /* COLSEL */
|
||||
@ -740,7 +740,7 @@ static ADDRESS_MAP_START( gottlieb_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x1000, 0x1fff) AM_RAM AM_REGION("maincpu", 0x1000) /* or ROM */
|
||||
AM_RANGE(0x2000, 0x2fff) AM_RAM AM_REGION("maincpu", 0x2000) /* or ROM */
|
||||
AM_RANGE(0x3000, 0x30ff) AM_MIRROR(0x0700) AM_WRITEONLY AM_BASE_GENERIC(spriteram) /* FRSEL */
|
||||
AM_RANGE(0x3800, 0x3bff) AM_MIRROR(0x0400) AM_RAM_WRITE(gottlieb_videoram_w) AM_BASE_GENERIC(videoram) /* BRSEL */
|
||||
AM_RANGE(0x3800, 0x3bff) AM_MIRROR(0x0400) AM_RAM_WRITE(gottlieb_videoram_w) AM_BASE_MEMBER(gottlieb_state, videoram) /* BRSEL */
|
||||
AM_RANGE(0x4000, 0x4fff) AM_RAM_WRITE(gottlieb_charram_w) AM_BASE(&gottlieb_charram) /* BOJRSEL1 */
|
||||
AM_RANGE(0x5000, 0x501f) AM_MIRROR(0x07e0) AM_WRITE(gottlieb_paletteram_w) AM_BASE_GENERIC(paletteram) /* COLSEL */
|
||||
AM_RANGE(0x5800, 0x5800) AM_MIRROR(0x07f8) AM_WRITE(watchdog_reset_w)
|
||||
@ -1916,7 +1916,7 @@ static const samples_interface reactor_samples_interface =
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static MACHINE_CONFIG_START( gottlieb_core, driver_device )
|
||||
static MACHINE_CONFIG_START( gottlieb_core, gottlieb_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", I8088, CPU_CLOCK/3)
|
||||
|
@ -317,7 +317,7 @@ static WRITE8_HANDLER( gridlee_coin_counter_w )
|
||||
/* CPU 1 read addresses */
|
||||
static ADDRESS_MAP_START( cpu1_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x07ff) AM_RAM AM_BASE_GENERIC(spriteram)
|
||||
AM_RANGE(0x0800, 0x7fff) AM_RAM_WRITE(gridlee_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
|
||||
AM_RANGE(0x0800, 0x7fff) AM_RAM_WRITE(gridlee_videoram_w) AM_BASE_MEMBER(gridlee_state, videoram)
|
||||
AM_RANGE(0x9000, 0x9000) AM_WRITE(led_0_w)
|
||||
AM_RANGE(0x9010, 0x9010) AM_WRITE(led_1_w)
|
||||
AM_RANGE(0x9020, 0x9020) AM_WRITE(gridlee_coin_counter_w)
|
||||
@ -434,7 +434,7 @@ static const samples_interface gridlee_samples_interface =
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static MACHINE_CONFIG_START( gridlee, driver_device )
|
||||
static MACHINE_CONFIG_START( gridlee, gridlee_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", M6809, BALSENTE_CPU_CLOCK)
|
||||
|
@ -358,7 +358,7 @@ static ADDRESS_MAP_START( cpu1_map, ADDRESS_SPACE_PROGRAM , 8 )
|
||||
AM_RANGE(0xaa80, 0xaa80) AM_WRITE(gsword_videoctrl_w) /* flip screen, char palette bank */
|
||||
AM_RANGE(0xab00, 0xab00) AM_WRITE(gsword_scroll_w)
|
||||
AM_RANGE(0xab80, 0xabff) AM_WRITEONLY AM_BASE(&gsword_spriteattrib_ram)
|
||||
AM_RANGE(0xb000, 0xb7ff) AM_RAM_WRITE(gsword_videoram_w) AM_BASE_GENERIC(videoram)
|
||||
AM_RANGE(0xb000, 0xb7ff) AM_RAM_WRITE(gsword_videoram_w) AM_BASE_MEMBER(gsword_state, videoram)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( cpu1_io_map, ADDRESS_SPACE_IO, 8 )
|
||||
@ -676,7 +676,7 @@ static const msm5205_interface msm5205_config =
|
||||
MSM5205_SEX_4B /* vclk input mode */
|
||||
};
|
||||
|
||||
static MACHINE_CONFIG_START( gsword, driver_device )
|
||||
static MACHINE_CONFIG_START( gsword, gsword_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", Z80, XTAL_18MHz/6) /* verified on pcb */
|
||||
@ -731,7 +731,7 @@ static MACHINE_CONFIG_START( gsword, driver_device )
|
||||
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.60)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
static MACHINE_CONFIG_START( josvolly, driver_device )
|
||||
static MACHINE_CONFIG_START( josvolly, gsword_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", Z80, 18000000/6) /* ? */
|
||||
|
@ -143,7 +143,7 @@ static ADDRESS_MAP_START( irobot_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x1900, 0x19ff) AM_WRITEONLY /* Watchdog reset */
|
||||
AM_RANGE(0x1a00, 0x1a00) AM_WRITE(irobot_clearfirq_w)
|
||||
AM_RANGE(0x1b00, 0x1bff) AM_WRITE(irobot_control_w)
|
||||
AM_RANGE(0x1c00, 0x1fff) AM_RAM AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
|
||||
AM_RANGE(0x1c00, 0x1fff) AM_RAM AM_BASE_MEMBER(irobot_state, videoram)
|
||||
AM_RANGE(0x2000, 0x3fff) AM_READWRITE(irobot_sharedmem_r, irobot_sharedmem_w)
|
||||
AM_RANGE(0x4000, 0x5fff) AM_ROMBANK("bank1")
|
||||
AM_RANGE(0x6000, 0xffff) AM_ROM
|
||||
|
@ -206,7 +206,7 @@ static WRITE16_HANDLER( magmax_vreg_w )
|
||||
static ADDRESS_MAP_START( magmax_map, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x000000, 0x013fff) AM_ROM
|
||||
AM_RANGE(0x018000, 0x018fff) AM_RAM
|
||||
AM_RANGE(0x020000, 0x0207ff) AM_RAM AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
|
||||
AM_RANGE(0x020000, 0x0207ff) AM_RAM AM_BASE_MEMBER(magmax_state, videoram)
|
||||
AM_RANGE(0x028000, 0x0281ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
||||
AM_RANGE(0x030000, 0x030001) AM_READ_PORT("P1")
|
||||
AM_RANGE(0x030002, 0x030003) AM_READ_PORT("P2")
|
||||
@ -348,7 +348,7 @@ static const ay8910_interface ay8910_config =
|
||||
};
|
||||
|
||||
|
||||
static MACHINE_CONFIG_START( magmax, driver_device )
|
||||
static MACHINE_CONFIG_START( magmax, magmax_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", M68000, XTAL_16MHz/2) /* verified on pcb */
|
||||
|
@ -622,7 +622,7 @@ static ADDRESS_MAP_START( cpu_90009_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0xf000, 0xf1ff) AM_MIRROR(0x0200) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
||||
AM_RANGE(0xf400, 0xf41f) AM_MIRROR(0x03e0) AM_WRITE(paletteram_xxxxRRRRBBBBGGGG_split1_w) AM_BASE_GENERIC(paletteram)
|
||||
AM_RANGE(0xf800, 0xf81f) AM_MIRROR(0x03e0) AM_WRITE(paletteram_xxxxRRRRBBBBGGGG_split2_w) AM_BASE_GENERIC(paletteram2)
|
||||
AM_RANGE(0xfc00, 0xffff) AM_RAM_WRITE(mcr_90009_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
|
||||
AM_RANGE(0xfc00, 0xffff) AM_RAM_WRITE(mcr_90009_videoram_w) AM_BASE_MEMBER(mcr_state, videoram)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
/* upper I/O map determined by PAL; only SSIO ports are verified from schematics */
|
||||
@ -649,7 +649,7 @@ static ADDRESS_MAP_START( cpu_90010_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0xbfff) AM_ROM
|
||||
AM_RANGE(0xc000, 0xc7ff) AM_MIRROR(0x1800) AM_RAM AM_SHARE("nvram")
|
||||
AM_RANGE(0xe000, 0xe1ff) AM_MIRROR(0x1600) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
||||
AM_RANGE(0xe800, 0xefff) AM_MIRROR(0x1000) AM_RAM_WRITE(mcr_90010_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
|
||||
AM_RANGE(0xe800, 0xefff) AM_MIRROR(0x1000) AM_RAM_WRITE(mcr_90010_videoram_w) AM_BASE_MEMBER(mcr_state, videoram)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
/* upper I/O map determined by PAL; only SSIO ports are verified from schematics */
|
||||
@ -676,7 +676,7 @@ static ADDRESS_MAP_START( cpu_91490_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0xdfff) AM_ROM
|
||||
AM_RANGE(0xe000, 0xe7ff) AM_RAM AM_SHARE("nvram")
|
||||
AM_RANGE(0xe800, 0xe9ff) AM_MIRROR(0x0200) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
||||
AM_RANGE(0xf000, 0xf7ff) AM_RAM_WRITE(mcr_91490_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
|
||||
AM_RANGE(0xf000, 0xf7ff) AM_RAM_WRITE(mcr_91490_videoram_w) AM_BASE_MEMBER(mcr_state, videoram)
|
||||
AM_RANGE(0xf800, 0xf87f) AM_MIRROR(0x0780) AM_WRITE(mcr_91490_paletteram_w) AM_BASE_GENERIC(paletteram)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
@ -1567,7 +1567,7 @@ static const samples_interface journey_samples_interface =
|
||||
*************************************/
|
||||
|
||||
/* 90009 CPU board plus 90908/90913/91483 sound board */
|
||||
static MACHINE_CONFIG_START( mcr_90009, driver_device )
|
||||
static MACHINE_CONFIG_START( mcr_90009, mcr_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", Z80, MAIN_OSC_MCR_I/8)
|
||||
|
@ -482,7 +482,7 @@ static ADDRESS_MAP_START( mcrmono_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0xe800, 0xe9ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
||||
AM_RANGE(0xea00, 0xebff) AM_RAM
|
||||
AM_RANGE(0xec00, 0xec7f) AM_MIRROR(0x0380) AM_WRITE(mcr3_paletteram_w) AM_BASE_GENERIC(paletteram)
|
||||
AM_RANGE(0xf000, 0xf7ff) AM_RAM_WRITE(mcr3_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
|
||||
AM_RANGE(0xf000, 0xf7ff) AM_RAM_WRITE(mcr3_videoram_w) AM_BASE_MEMBER(mcr_state, videoram)
|
||||
AM_RANGE(0xf800, 0xffff) AM_ROM /* schematics show a 2716 @ 2B here, but nobody used it */
|
||||
ADDRESS_MAP_END
|
||||
|
||||
@ -512,7 +512,7 @@ ADDRESS_MAP_END
|
||||
static ADDRESS_MAP_START( spyhunt_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
ADDRESS_MAP_UNMAP_HIGH
|
||||
AM_RANGE(0x0000, 0xdfff) AM_ROM
|
||||
AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(spyhunt_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
|
||||
AM_RANGE(0xe000, 0xe7ff) AM_RAM_WRITE(spyhunt_videoram_w) AM_BASE_MEMBER(mcr_state, videoram)
|
||||
AM_RANGE(0xe800, 0xebff) AM_MIRROR(0x0400) AM_RAM_WRITE(spyhunt_alpharam_w) AM_BASE(&spyhunt_alpharam)
|
||||
AM_RANGE(0xf000, 0xf7ff) AM_RAM AM_SHARE("nvram")
|
||||
AM_RANGE(0xf800, 0xf9ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
||||
@ -1074,7 +1074,7 @@ GFXDECODE_END
|
||||
*************************************/
|
||||
|
||||
/* Core MCR3 system with no sound */
|
||||
static MACHINE_CONFIG_START( mcr3_base, driver_device )
|
||||
static MACHINE_CONFIG_START( mcr3_base, mcr_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", Z80, MASTER_CLOCK/4)
|
||||
|
@ -58,7 +58,7 @@
|
||||
#include "audio/mcr.h"
|
||||
#include "audio/williams.h"
|
||||
#include "machine/nvram.h"
|
||||
#include "includes/mcr.h"
|
||||
#include "includes/mcr68.h"
|
||||
|
||||
|
||||
|
||||
@ -315,7 +315,7 @@ static ADDRESS_MAP_START( mcr68_map, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0x1fffff)
|
||||
AM_RANGE(0x000000, 0x03ffff) AM_ROM
|
||||
AM_RANGE(0x060000, 0x063fff) AM_RAM
|
||||
AM_RANGE(0x070000, 0x070fff) AM_RAM_WRITE(mcr68_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
|
||||
AM_RANGE(0x070000, 0x070fff) AM_RAM_WRITE(mcr68_videoram_w) AM_BASE_MEMBER(mcr68_state, videoram)
|
||||
AM_RANGE(0x071000, 0x071fff) AM_RAM
|
||||
AM_RANGE(0x080000, 0x080fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
||||
AM_RANGE(0x090000, 0x09007f) AM_WRITE(mcr68_paletteram_w) AM_BASE_GENERIC(paletteram)
|
||||
@ -343,7 +343,7 @@ static ADDRESS_MAP_START( zwackery_map, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x104000, 0x104007) AM_DEVREADWRITE8("pia0", pia6821_r, pia6821_w, 0xff00)
|
||||
AM_RANGE(0x108000, 0x108007) AM_DEVREADWRITE8("pia1", pia6821_r, pia6821_w, 0x00ff)
|
||||
AM_RANGE(0x10c000, 0x10c007) AM_DEVREADWRITE8("pia2", pia6821_r, pia6821_w, 0x00ff)
|
||||
AM_RANGE(0x800000, 0x800fff) AM_RAM_WRITE(zwackery_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
|
||||
AM_RANGE(0x800000, 0x800fff) AM_RAM_WRITE(zwackery_videoram_w) AM_BASE_MEMBER(mcr68_state, videoram)
|
||||
AM_RANGE(0x802000, 0x803fff) AM_RAM_WRITE(zwackery_paletteram_w) AM_BASE_GENERIC(paletteram)
|
||||
AM_RANGE(0xc00000, 0xc00fff) AM_RAM_WRITE(zwackery_spriteram_w) AM_BASE_SIZE_GENERIC(spriteram)
|
||||
ADDRESS_MAP_END
|
||||
@ -364,7 +364,7 @@ static ADDRESS_MAP_START( pigskin_map, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x0a0000, 0x0affff) AM_READ(pigskin_port_2_r)
|
||||
AM_RANGE(0x0c0000, 0x0c007f) AM_WRITE(mcr68_paletteram_w) AM_BASE_GENERIC(paletteram)
|
||||
AM_RANGE(0x0e0000, 0x0effff) AM_WRITE(watchdog_reset16_w)
|
||||
AM_RANGE(0x100000, 0x100fff) AM_RAM_WRITE(mcr68_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
|
||||
AM_RANGE(0x100000, 0x100fff) AM_RAM_WRITE(mcr68_videoram_w) AM_BASE_MEMBER(mcr68_state, videoram)
|
||||
AM_RANGE(0x120000, 0x120001) AM_READWRITE(pigskin_protection_r, pigskin_protection_w)
|
||||
AM_RANGE(0x140000, 0x143fff) AM_RAM
|
||||
AM_RANGE(0x160000, 0x1607ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
||||
@ -390,7 +390,7 @@ static ADDRESS_MAP_START( trisport_map, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x100000, 0x103fff) AM_RAM AM_SHARE("nvram")
|
||||
AM_RANGE(0x120000, 0x12007f) AM_WRITE(mcr68_paletteram_w) AM_BASE_GENERIC(paletteram)
|
||||
AM_RANGE(0x140000, 0x1407ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
||||
AM_RANGE(0x160000, 0x160fff) AM_RAM_WRITE(mcr68_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
|
||||
AM_RANGE(0x160000, 0x160fff) AM_RAM_WRITE(mcr68_videoram_w) AM_BASE_MEMBER(mcr68_state, videoram)
|
||||
AM_RANGE(0x180000, 0x18000f) AM_READWRITE(mcr68_6840_upper_r, mcr68_6840_upper_w)
|
||||
AM_RANGE(0x1a0000, 0x1affff) AM_WRITE(archrivl_control_w)
|
||||
AM_RANGE(0x1c0000, 0x1cffff) AM_WRITE(watchdog_reset16_w)
|
||||
@ -887,6 +887,32 @@ INPUT_PORTS_END
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static const gfx_layout mcr68_bg_layout =
|
||||
{
|
||||
8,8,
|
||||
RGN_FRAC(1,2),
|
||||
4,
|
||||
{ STEP2(RGN_FRAC(1,2),1), STEP2(RGN_FRAC(0,2),1) },
|
||||
{ STEP8(0,2) },
|
||||
{ STEP8(0,16) },
|
||||
16*8
|
||||
};
|
||||
|
||||
|
||||
static const gfx_layout mcr68_sprite_layout =
|
||||
{
|
||||
32,32,
|
||||
RGN_FRAC(1,4),
|
||||
4,
|
||||
{ STEP4(0,1) },
|
||||
{ STEP2(RGN_FRAC(0,4)+0,4), STEP2(RGN_FRAC(1,4)+0,4), STEP2(RGN_FRAC(2,4)+0,4), STEP2(RGN_FRAC(3,4)+0,4),
|
||||
STEP2(RGN_FRAC(0,4)+8,4), STEP2(RGN_FRAC(1,4)+8,4), STEP2(RGN_FRAC(2,4)+8,4), STEP2(RGN_FRAC(3,4)+8,4),
|
||||
STEP2(RGN_FRAC(0,4)+16,4), STEP2(RGN_FRAC(1,4)+16,4), STEP2(RGN_FRAC(2,4)+16,4), STEP2(RGN_FRAC(3,4)+16,4),
|
||||
STEP2(RGN_FRAC(0,4)+24,4), STEP2(RGN_FRAC(1,4)+24,4), STEP2(RGN_FRAC(2,4)+24,4), STEP2(RGN_FRAC(3,4)+24,4) },
|
||||
{ STEP32(0,32) },
|
||||
32*32
|
||||
};
|
||||
|
||||
static const gfx_layout zwackery_layout =
|
||||
{
|
||||
16,16,
|
||||
@ -900,13 +926,13 @@ static const gfx_layout zwackery_layout =
|
||||
};
|
||||
|
||||
static GFXDECODE_START( mcr68 )
|
||||
GFXDECODE_SCALE( "gfx1", 0, mcr_bg_layout, 0, 4, 2, 2 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0, mcr_sprite_layout, 0, 4 )
|
||||
GFXDECODE_SCALE( "gfx1", 0, mcr68_bg_layout, 0, 4, 2, 2 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0, mcr68_sprite_layout, 0, 4 )
|
||||
GFXDECODE_END
|
||||
|
||||
static GFXDECODE_START( zwackery )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, zwackery_layout, 0, 16 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0, mcr_sprite_layout, 0x800, 32 )
|
||||
GFXDECODE_ENTRY( "gfx2", 0, mcr68_sprite_layout, 0x800, 32 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, zwackery_layout, 0, 16 ) /* yes, an extra copy */
|
||||
GFXDECODE_END
|
||||
|
||||
@ -946,7 +972,7 @@ GFXDECODE_END
|
||||
|
||||
=================================================================*/
|
||||
|
||||
static MACHINE_CONFIG_START( zwackery, driver_device )
|
||||
static MACHINE_CONFIG_START( zwackery, mcr68_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", M68000, 7652400) /* should be XTAL_16MHz/2 */
|
||||
@ -980,7 +1006,7 @@ static MACHINE_CONFIG_START( zwackery, driver_device )
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
static MACHINE_CONFIG_START( mcr68, driver_device )
|
||||
static MACHINE_CONFIG_START( mcr68, mcr68_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", M68000, 7723800)
|
||||
|
@ -354,7 +354,7 @@ static ADDRESS_MAP_START( meadows_main_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0d00, 0x0d0f) AM_WRITE(meadows_spriteram_w) AM_BASE_GENERIC(spriteram)
|
||||
AM_RANGE(0x0e00, 0x0eff) AM_RAM
|
||||
AM_RANGE(0x1000, 0x1bff) AM_ROM
|
||||
AM_RANGE(0x1c00, 0x1fff) AM_RAM_WRITE(meadows_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
|
||||
AM_RANGE(0x1c00, 0x1fff) AM_RAM_WRITE(meadows_videoram_w) AM_BASE_MEMBER(meadows_state, videoram)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( bowl3d_main_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
@ -367,12 +367,12 @@ static ADDRESS_MAP_START( bowl3d_main_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0d00, 0x0d0f) AM_WRITE(meadows_spriteram_w) AM_BASE_GENERIC(spriteram)
|
||||
AM_RANGE(0x0e00, 0x0eff) AM_RAM
|
||||
AM_RANGE(0x1000, 0x1bff) AM_ROM
|
||||
AM_RANGE(0x1c00, 0x1fff) AM_RAM_WRITE(meadows_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
|
||||
AM_RANGE(0x1c00, 0x1fff) AM_RAM_WRITE(meadows_videoram_w) AM_BASE_MEMBER(meadows_state, videoram)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( minferno_main_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x0bff) AM_ROM
|
||||
AM_RANGE(0x1c00, 0x1eff) AM_RAM_WRITE(meadows_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
|
||||
AM_RANGE(0x1c00, 0x1eff) AM_RAM_WRITE(meadows_videoram_w) AM_BASE_MEMBER(meadows_state, videoram)
|
||||
AM_RANGE(0x1f00, 0x1f00) AM_READ_PORT("JOY1")
|
||||
AM_RANGE(0x1f01, 0x1f01) AM_READ_PORT("JOY2")
|
||||
AM_RANGE(0x1f02, 0x1f02) AM_READ_PORT("BUTTONS")
|
||||
@ -648,7 +648,7 @@ static const samples_interface bowl3d_samples_interface =
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static MACHINE_CONFIG_START( meadows, driver_device )
|
||||
static MACHINE_CONFIG_START( meadows, meadows_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", S2650, MASTER_CLOCK/8) /* 5MHz / 8 = 625 kHz */
|
||||
@ -687,7 +687,7 @@ static MACHINE_CONFIG_START( meadows, driver_device )
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
static MACHINE_CONFIG_START( minferno, driver_device )
|
||||
static MACHINE_CONFIG_START( minferno, meadows_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", S2650, MASTER_CLOCK/24) /* 5MHz / 8 / 3 = 208.33 kHz */
|
||||
@ -713,7 +713,7 @@ static MACHINE_CONFIG_START( minferno, driver_device )
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
static MACHINE_CONFIG_START( bowl3d, driver_device )
|
||||
static MACHINE_CONFIG_START( bowl3d, meadows_state )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", S2650, MASTER_CLOCK/8) /* 5MHz / 8 = 625 kHz */
|
||||
MDRV_CPU_PROGRAM_MAP(bowl3d_main_map)
|
||||
|
@ -332,6 +332,17 @@ Notes:
|
||||
#include "sound/pokey.h"
|
||||
|
||||
|
||||
class missile_state : public driver_device
|
||||
{
|
||||
public:
|
||||
missile_state(running_machine &machine, const driver_device_config_base &config)
|
||||
: driver_device(machine, config) { }
|
||||
|
||||
UINT8 *videoram;
|
||||
};
|
||||
|
||||
|
||||
|
||||
#define MASTER_CLOCK XTAL_10MHz
|
||||
|
||||
#define PIXEL_CLOCK (MASTER_CLOCK/2)
|
||||
@ -454,7 +465,8 @@ DIRECT_UPDATE_HANDLER( missile_direct_handler )
|
||||
/* RAM? */
|
||||
if (address < 0x4000)
|
||||
{
|
||||
direct.explicit_configure(0x0000 | offset, 0x3fff | offset, 0x3fff, direct.space().m_machine.generic.videoram.u8);
|
||||
missile_state *state = direct.space().m_machine.driver_data<missile_state>();
|
||||
direct.explicit_configure(0x0000 | offset, 0x3fff | offset, 0x3fff, state->videoram);
|
||||
return ~0;
|
||||
}
|
||||
|
||||
@ -551,6 +563,8 @@ INLINE offs_t get_bit3_addr(offs_t pixaddr)
|
||||
|
||||
static void write_vram(address_space *space, offs_t address, UINT8 data)
|
||||
{
|
||||
missile_state *state = space->machine->driver_data<missile_state>();
|
||||
UINT8 *videoram = state->videoram;
|
||||
static const UINT8 data_lookup[4] = { 0x00, 0x0f, 0xf0, 0xff };
|
||||
offs_t vramaddr;
|
||||
UINT8 vramdata;
|
||||
@ -562,7 +576,7 @@ static void write_vram(address_space *space, offs_t address, UINT8 data)
|
||||
vramaddr = address >> 2;
|
||||
vramdata = data_lookup[data >> 6];
|
||||
vrammask = writeprom[(address & 7) | 0x10];
|
||||
space->machine->generic.videoram.u8[vramaddr] = (space->machine->generic.videoram.u8[vramaddr] & vrammask) | (vramdata & ~vrammask);
|
||||
videoram[vramaddr] = (videoram[vramaddr] & vrammask) | (vramdata & ~vrammask);
|
||||
|
||||
/* 3-bit VRAM writes use an extra clock to write the 3rd bit elsewhere */
|
||||
/* on the schematics, this is the MUSHROOM == 1 case */
|
||||
@ -571,7 +585,7 @@ static void write_vram(address_space *space, offs_t address, UINT8 data)
|
||||
vramaddr = get_bit3_addr(address);
|
||||
vramdata = -((data >> 5) & 1);
|
||||
vrammask = writeprom[(address & 7) | 0x18];
|
||||
space->machine->generic.videoram.u8[vramaddr] = (space->machine->generic.videoram.u8[vramaddr] & vrammask) | (vramdata & ~vrammask);
|
||||
videoram[vramaddr] = (videoram[vramaddr] & vrammask) | (vramdata & ~vrammask);
|
||||
|
||||
/* account for the extra clock cycle */
|
||||
cpu_adjust_icount(space->cpu, -1);
|
||||
@ -581,6 +595,8 @@ static void write_vram(address_space *space, offs_t address, UINT8 data)
|
||||
|
||||
static UINT8 read_vram(address_space *space, offs_t address)
|
||||
{
|
||||
missile_state *state = space->machine->driver_data<missile_state>();
|
||||
UINT8 *videoram = state->videoram;
|
||||
offs_t vramaddr;
|
||||
UINT8 vramdata;
|
||||
UINT8 vrammask;
|
||||
@ -591,7 +607,7 @@ static UINT8 read_vram(address_space *space, offs_t address)
|
||||
/* this should only be called if MADSEL == 1 */
|
||||
vramaddr = address >> 2;
|
||||
vrammask = 0x11 << (address & 3);
|
||||
vramdata = space->machine->generic.videoram.u8[vramaddr] & vrammask;
|
||||
vramdata = videoram[vramaddr] & vrammask;
|
||||
if ((vramdata & 0xf0) == 0)
|
||||
result &= ~0x80;
|
||||
if ((vramdata & 0x0f) == 0)
|
||||
@ -603,7 +619,7 @@ static UINT8 read_vram(address_space *space, offs_t address)
|
||||
{
|
||||
vramaddr = get_bit3_addr(address);
|
||||
vrammask = 1 << (address & 7);
|
||||
vramdata = space->machine->generic.videoram.u8[vramaddr] & vrammask;
|
||||
vramdata = videoram[vramaddr] & vrammask;
|
||||
if (vramdata == 0)
|
||||
result &= ~0x20;
|
||||
|
||||
@ -623,6 +639,8 @@ static UINT8 read_vram(address_space *space, offs_t address)
|
||||
|
||||
static VIDEO_UPDATE( missile )
|
||||
{
|
||||
missile_state *state = screen->machine->driver_data<missile_state>();
|
||||
UINT8 *videoram = state->videoram;
|
||||
int x, y;
|
||||
|
||||
/* draw the bitmap to the screen, looping over Y */
|
||||
@ -631,12 +649,12 @@ static VIDEO_UPDATE( missile )
|
||||
UINT16 *dst = (UINT16 *)bitmap->base + y * bitmap->rowpixels;
|
||||
|
||||
int effy = flipscreen ? ((256+24 - y) & 0xff) : y;
|
||||
UINT8 *src = &screen->machine->generic.videoram.u8[effy * 64];
|
||||
UINT8 *src = &videoram[effy * 64];
|
||||
UINT8 *src3 = NULL;
|
||||
|
||||
/* compute the base of the 3rd pixel row */
|
||||
if (effy >= 224)
|
||||
src3 = &screen->machine->generic.videoram.u8[get_bit3_addr(effy << 8)];
|
||||
src3 = &videoram[get_bit3_addr(effy << 8)];
|
||||
|
||||
/* loop over X */
|
||||
for (x = cliprect->min_x; x <= cliprect->max_x; x++)
|
||||
@ -664,6 +682,8 @@ static VIDEO_UPDATE( missile )
|
||||
|
||||
static WRITE8_HANDLER( missile_w )
|
||||
{
|
||||
missile_state *state = space->machine->driver_data<missile_state>();
|
||||
UINT8 *videoram = state->videoram;
|
||||
/* if we're in MADSEL mode, write to video RAM */
|
||||
if (get_madsel(space))
|
||||
{
|
||||
@ -676,7 +696,7 @@ static WRITE8_HANDLER( missile_w )
|
||||
|
||||
/* RAM */
|
||||
if (offset < 0x4000)
|
||||
space->machine->generic.videoram.u8[offset] = data;
|
||||
videoram[offset] = data;
|
||||
|
||||
/* POKEY */
|
||||
else if (offset < 0x4800)
|
||||
@ -720,6 +740,8 @@ static WRITE8_HANDLER( missile_w )
|
||||
|
||||
static READ8_HANDLER( missile_r )
|
||||
{
|
||||
missile_state *state = space->machine->driver_data<missile_state>();
|
||||
UINT8 *videoram = state->videoram;
|
||||
UINT8 result = 0xff;
|
||||
|
||||
/* if we're in MADSEL mode, read from video RAM */
|
||||
@ -731,7 +753,7 @@ static READ8_HANDLER( missile_r )
|
||||
|
||||
/* RAM */
|
||||
if (offset < 0x4000)
|
||||
result = space->machine->generic.videoram.u8[offset];
|
||||
result = videoram[offset];
|
||||
|
||||
/* ROM */
|
||||
else if (offset >= 0x5000)
|
||||
@ -779,7 +801,7 @@ static READ8_HANDLER( missile_r )
|
||||
|
||||
/* complete memory map derived from schematics (implemented above) */
|
||||
static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0xffff) AM_READWRITE(missile_r, missile_w) AM_BASE_GENERIC(videoram)
|
||||
AM_RANGE(0x0000, 0xffff) AM_READWRITE(missile_r, missile_w) AM_BASE_MEMBER(missile_state, videoram)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
@ -975,7 +997,7 @@ static const pokey_interface pokey_config =
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static MACHINE_CONFIG_START( missile, driver_device )
|
||||
static MACHINE_CONFIG_START( missile, missile_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", M6502, MASTER_CLOCK/8)
|
||||
|
@ -198,7 +198,7 @@ static ADDRESS_MAP_START( mole_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0800, 0x0800) AM_WRITENOP // ???
|
||||
AM_RANGE(0x0820, 0x0820) AM_WRITENOP // ???
|
||||
AM_RANGE(0x5000, 0x7fff) AM_MIRROR(0x8000) AM_ROM
|
||||
AM_RANGE(0x8000, 0x83ff) AM_RAM_WRITE(mole_videoram_w) AM_BASE_GENERIC(videoram)
|
||||
AM_RANGE(0x8000, 0x83ff) AM_RAM_WRITE(mole_videoram_w)
|
||||
AM_RANGE(0x8400, 0x8400) AM_WRITE(mole_tilebank_w)
|
||||
AM_RANGE(0x8c00, 0x8c01) AM_DEVWRITE("aysnd", ay8910_data_address_w)
|
||||
AM_RANGE(0x8c40, 0x8c40) AM_WRITENOP // ???
|
||||
|
@ -56,7 +56,7 @@ static WRITE8_HANDLER(t5182shared_w)
|
||||
static ADDRESS_MAP_START( memmap, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x7fff) AM_ROM
|
||||
AM_RANGE(0x8000, 0xbfff) AM_ROM
|
||||
AM_RANGE(0xc000, 0xcfff) AM_RAM_WRITE(mustache_videoram_w) AM_BASE_GENERIC(videoram)
|
||||
AM_RANGE(0xc000, 0xcfff) AM_RAM_WRITE(mustache_videoram_w) AM_BASE_MEMBER(mustache_state, videoram)
|
||||
AM_RANGE(0xd000, 0xd000) AM_WRITE(t5182_sound_irq_w)
|
||||
AM_RANGE(0xd001, 0xd001) AM_READ(t5182_sharedram_semaphore_snd_r)
|
||||
AM_RANGE(0xd002, 0xd002) AM_WRITE(t5182_sharedram_semaphore_main_acquire_w)
|
||||
@ -188,7 +188,7 @@ static INTERRUPT_GEN( assert_irq )
|
||||
*/
|
||||
}
|
||||
|
||||
static MACHINE_CONFIG_START( mustache, driver_device )
|
||||
static MACHINE_CONFIG_START( mustache, mustache_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", Z80, CPU_CLOCK)
|
||||
|
@ -751,7 +751,7 @@ static ADDRESS_MAP_START( namcona1_main_map, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0xefff00, 0xefffff) AM_READWRITE(namcona1_vreg_r, namcona1_vreg_w) AM_BASE(&namcona1_vreg)
|
||||
AM_RANGE(0xf00000, 0xf01fff) AM_READWRITE(namcona1_paletteram_r, namcona1_paletteram_w) AM_BASE_GENERIC(paletteram)
|
||||
AM_RANGE(0xf40000, 0xf7ffff) AM_READWRITE(namcona1_gfxram_r, namcona1_gfxram_w)
|
||||
AM_RANGE(0xff0000, 0xffbfff) AM_READWRITE(namcona1_videoram_r, namcona1_videoram_w) AM_BASE_GENERIC(videoram)
|
||||
AM_RANGE(0xff0000, 0xffbfff) AM_READWRITE(namcona1_videoram_r, namcona1_videoram_w) AM_BASE_MEMBER(namcona1_state, videoram)
|
||||
AM_RANGE(0xffd000, 0xffdfff) AM_RAM /* unknown */
|
||||
AM_RANGE(0xffe000, 0xffefff) AM_RAM AM_BASE(&namcona1_scroll) /* scroll registers */
|
||||
AM_RANGE(0xfff000, 0xffffff) AM_RAM AM_BASE_GENERIC(spriteram) /* spriteram */
|
||||
@ -773,7 +773,7 @@ static ADDRESS_MAP_START( namcona2_main_map, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0xefff00, 0xefffff) AM_READWRITE(namcona1_vreg_r, namcona1_vreg_w) AM_BASE(&namcona1_vreg)
|
||||
AM_RANGE(0xf00000, 0xf01fff) AM_READWRITE(namcona1_paletteram_r, namcona1_paletteram_w) AM_BASE_GENERIC(paletteram)
|
||||
AM_RANGE(0xf40000, 0xf7ffff) AM_READWRITE(namcona1_gfxram_r, namcona1_gfxram_w)
|
||||
AM_RANGE(0xff0000, 0xffbfff) AM_READWRITE(namcona1_videoram_r, namcona1_videoram_w) AM_BASE_GENERIC(videoram)
|
||||
AM_RANGE(0xff0000, 0xffbfff) AM_READWRITE(namcona1_videoram_r, namcona1_videoram_w) AM_BASE_MEMBER(namcona1_state, videoram)
|
||||
AM_RANGE(0xffd000, 0xffdfff) AM_RAM /* unknown */
|
||||
AM_RANGE(0xffe000, 0xffefff) AM_RAM AM_BASE(&namcona1_scroll) /* scroll registers */
|
||||
AM_RANGE(0xfff000, 0xffffff) AM_RAM AM_BASE_GENERIC(spriteram) /* spriteram */
|
||||
@ -1004,7 +1004,7 @@ static const c140_interface C140_interface_typeA =
|
||||
};
|
||||
|
||||
/* cropped at sides */
|
||||
static MACHINE_CONFIG_START( namcona1, driver_device )
|
||||
static MACHINE_CONFIG_START( namcona1, namcona1_state )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", M68000, 50113000/4)
|
||||
MDRV_CPU_PROGRAM_MAP(namcona1_main_map)
|
||||
|
@ -105,7 +105,8 @@ TODO:
|
||||
#include "emu.h"
|
||||
#include "cpu/z80/z80.h"
|
||||
#include "sound/tms36xx.h"
|
||||
#include "includes/phoenix.h"
|
||||
#include "audio/pleiads.h"
|
||||
#include "includes/naughtyb.h"
|
||||
|
||||
#define CLOCK_XTAL 12000000
|
||||
|
||||
@ -249,7 +250,7 @@ static WRITE8_HANDLER( popflame_protection_w )
|
||||
static ADDRESS_MAP_START( naughtyb_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x3fff) AM_ROM
|
||||
AM_RANGE(0x4000, 0x7fff) AM_RAM
|
||||
AM_RANGE(0x8000, 0x87ff) AM_RAM AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
|
||||
AM_RANGE(0x8000, 0x87ff) AM_RAM AM_BASE_MEMBER(naughtyb_state, videoram)
|
||||
AM_RANGE(0x8800, 0x8fff) AM_RAM AM_BASE(&naughtyb_videoram2)
|
||||
AM_RANGE(0x9000, 0x97ff) AM_RAM_WRITE(naughtyb_videoreg_w)
|
||||
AM_RANGE(0x9800, 0x9fff) AM_RAM AM_BASE(&naughtyb_scrollreg)
|
||||
@ -262,7 +263,7 @@ ADDRESS_MAP_END
|
||||
static ADDRESS_MAP_START( popflame_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x3fff) AM_ROM
|
||||
AM_RANGE(0x4000, 0x7fff) AM_RAM
|
||||
AM_RANGE(0x8000, 0x87ff) AM_RAM AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
|
||||
AM_RANGE(0x8000, 0x87ff) AM_RAM AM_BASE_MEMBER(naughtyb_state, videoram)
|
||||
AM_RANGE(0x8800, 0x8fff) AM_RAM AM_BASE(&naughtyb_videoram2)
|
||||
AM_RANGE(0x9000, 0x97ff) AM_RAM_WRITE(popflame_videoreg_w)
|
||||
AM_RANGE(0x9800, 0x9fff) AM_RAM AM_BASE(&naughtyb_scrollreg)
|
||||
@ -433,7 +434,7 @@ static const tms36xx_interface tms3615_interface =
|
||||
|
||||
|
||||
|
||||
static MACHINE_CONFIG_START( naughtyb, driver_device )
|
||||
static MACHINE_CONFIG_START( naughtyb, naughtyb_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", Z80, CLOCK_XTAL / 4) /* 12 MHz clock, divided by 4. CPU is a Z80A */
|
||||
@ -469,7 +470,7 @@ MACHINE_CONFIG_END
|
||||
|
||||
|
||||
/* Exactly the same but for certain address writes */
|
||||
static MACHINE_CONFIG_START( popflame, driver_device )
|
||||
static MACHINE_CONFIG_START( popflame, naughtyb_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", Z80, CLOCK_XTAL / 4) /* 12 MHz clock, divided by 4. CPU is a Z80A */
|
||||
|
@ -65,6 +65,17 @@ D.9B [f99cac4b] /
|
||||
#include "deprecat.h"
|
||||
#include "audio/t5182.h"
|
||||
|
||||
|
||||
class panicr_state : public driver_device
|
||||
{
|
||||
public:
|
||||
panicr_state(running_machine &machine, const driver_device_config_base &config)
|
||||
: driver_device(machine, config) { }
|
||||
|
||||
UINT8 *videoram;
|
||||
};
|
||||
|
||||
|
||||
#define MASTER_CLOCK XTAL_16MHz
|
||||
#define SOUND_CLOCK XTAL_14_31818MHz
|
||||
#define TC15_CLOCK XTAL_12MHz
|
||||
@ -144,8 +155,10 @@ static TILE_GET_INFO( get_bgtile_info )
|
||||
|
||||
static TILE_GET_INFO( get_txttile_info )
|
||||
{
|
||||
int code=machine->generic.videoram.u8[tile_index*4];
|
||||
int attr=machine->generic.videoram.u8[tile_index*4+2];
|
||||
panicr_state *state = machine->driver_data<panicr_state>();
|
||||
UINT8 *videoram = state->videoram;
|
||||
int code=videoram[tile_index*4];
|
||||
int attr=videoram[tile_index*4+2];
|
||||
int color = attr & 0x07;
|
||||
|
||||
tileinfo->group = color;
|
||||
@ -177,7 +190,7 @@ static ADDRESS_MAP_START( panicr_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x02000, 0x02fff) AM_RAM AM_BASE_GENERIC(spriteram)
|
||||
AM_RANGE(0x03000, 0x03fff) AM_RAM
|
||||
AM_RANGE(0x08000, 0x0bfff) AM_RAM AM_REGION("user3", 0) //attribue map ?
|
||||
AM_RANGE(0x0c000, 0x0cfff) AM_RAM AM_BASE_GENERIC(videoram)
|
||||
AM_RANGE(0x0c000, 0x0cfff) AM_RAM AM_BASE_MEMBER(panicr_state, videoram)
|
||||
AM_RANGE(0x0d000, 0x0d000) AM_WRITE(t5182_sound_irq_w)
|
||||
AM_RANGE(0x0d002, 0x0d002) AM_READ(t5182_sharedram_semaphore_snd_r)
|
||||
AM_RANGE(0x0d004, 0x0d004) AM_WRITE(t5182_sharedram_semaphore_main_acquire_w)
|
||||
@ -361,7 +374,7 @@ static GFXDECODE_START( panicr )
|
||||
GFXDECODE_ENTRY( "gfx3", 0, spritelayout, 0x200, 16 )
|
||||
GFXDECODE_END
|
||||
|
||||
static MACHINE_CONFIG_START( panicr, driver_device )
|
||||
static MACHINE_CONFIG_START( panicr, panicr_state )
|
||||
MDRV_CPU_ADD("maincpu", V20,MASTER_CLOCK/2) /* Sony 8623h9 CXQ70116D-8 (V20 compatible) */
|
||||
MDRV_CPU_PROGRAM_MAP(panicr_map)
|
||||
MDRV_CPU_VBLANK_INT_HACK(panicr_interrupt,2)
|
||||
|
@ -72,7 +72,7 @@ static READ8_DEVICE_HANDLER( pcktgal_adpcm_reset_r )
|
||||
|
||||
static ADDRESS_MAP_START( pcktgal_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x07ff) AM_RAM
|
||||
AM_RANGE(0x0800, 0x0fff) AM_RAM_WRITE(pcktgal_videoram_w) AM_BASE_GENERIC(videoram)
|
||||
AM_RANGE(0x0800, 0x0fff) AM_RAM_WRITE(pcktgal_videoram_w) AM_BASE_MEMBER(pcktgal_state, videoram)
|
||||
AM_RANGE(0x1000, 0x11ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
||||
AM_RANGE(0x1800, 0x1800) AM_READ_PORT("P1")
|
||||
AM_RANGE(0x1801, 0x1801) AM_WRITE(pcktgal_flipscreen_w)
|
||||
@ -215,7 +215,7 @@ static const msm5205_interface msm5205_config =
|
||||
|
||||
/***************************************************************************/
|
||||
|
||||
static MACHINE_CONFIG_START( pcktgal, driver_device )
|
||||
static MACHINE_CONFIG_START( pcktgal, pcktgal_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", M6502, 2000000)
|
||||
|
@ -173,6 +173,17 @@ Stephh's log (2007.11.28) :
|
||||
#include "pe_keno.lh"
|
||||
#include "pe_slots.lh"
|
||||
|
||||
|
||||
class peplus_state : public driver_device
|
||||
{
|
||||
public:
|
||||
peplus_state(running_machine &machine, const driver_device_config_base &config)
|
||||
: driver_device(machine, config) { }
|
||||
|
||||
UINT8 *videoram;
|
||||
};
|
||||
|
||||
|
||||
#define MASTER_CLOCK XTAL_20MHz
|
||||
#define CPU_CLOCK ((MASTER_CLOCK)/2) /* divided by 2 - 7474 */
|
||||
#define MC6845_CLOCK ((MASTER_CLOCK)/8/3)
|
||||
@ -357,7 +368,9 @@ static WRITE_LINE_DEVICE_HANDLER(crtc_vsync)
|
||||
|
||||
static WRITE8_DEVICE_HANDLER( peplus_crtc_display_w )
|
||||
{
|
||||
device->machine->generic.videoram.u8[vid_address] = data;
|
||||
peplus_state *state = device->machine->driver_data<peplus_state>();
|
||||
UINT8 *videoram = state->videoram;
|
||||
videoram[vid_address] = data;
|
||||
palette_ram[vid_address] = io_port[1];
|
||||
palette_ram2[vid_address] = io_port[3];
|
||||
|
||||
@ -644,9 +657,11 @@ static READ8_DEVICE_HANDLER( peplus_input_bank_a_r )
|
||||
|
||||
static TILE_GET_INFO( get_bg_tile_info )
|
||||
{
|
||||
peplus_state *state = machine->driver_data<peplus_state>();
|
||||
UINT8 *videoram = state->videoram;
|
||||
int pr = palette_ram[tile_index];
|
||||
int pr2 = palette_ram2[tile_index];
|
||||
int vr = machine->generic.videoram.u8[tile_index];
|
||||
int vr = videoram[tile_index];
|
||||
|
||||
int code = ((pr & 0x0f)*256) | vr;
|
||||
int color = (pr>>4) & 0x0f;
|
||||
@ -755,7 +770,7 @@ static ADDRESS_MAP_START( peplus_iomap, ADDRESS_SPACE_IO, 8 )
|
||||
AM_RANGE(0x6000, 0x6000) AM_READ(peplus_bgcolor_r) AM_WRITE(peplus_bgcolor_w)
|
||||
|
||||
// Bogus Location for Video RAM
|
||||
AM_RANGE(0x06001, 0x06400) AM_RAM AM_BASE_GENERIC(videoram)
|
||||
AM_RANGE(0x06001, 0x06400) AM_RAM AM_BASE_MEMBER(peplus_state, videoram)
|
||||
|
||||
// Superboard Data
|
||||
AM_RANGE(0x7000, 0x7fff) AM_READWRITE(peplus_s7000_r, peplus_s7000_w) AM_BASE(&s7000_ram)
|
||||
@ -1021,7 +1036,7 @@ static MACHINE_RESET( peplus )
|
||||
* Machine Driver *
|
||||
*************************/
|
||||
|
||||
static MACHINE_CONFIG_START( peplus, driver_device )
|
||||
static MACHINE_CONFIG_START( peplus, peplus_state )
|
||||
// basic machine hardware
|
||||
MDRV_CPU_ADD("maincpu", I80C32, CPU_CLOCK)
|
||||
MDRV_CPU_PROGRAM_MAP(peplus_map)
|
||||
|
@ -34,6 +34,7 @@ Pleiads:
|
||||
#include "sound/tms36xx.h"
|
||||
#include "cpu/i8085/i8085.h"
|
||||
#include "sound/ay8910.h"
|
||||
#include "audio/pleiads.h"
|
||||
#include "includes/phoenix.h"
|
||||
|
||||
|
||||
|
@ -94,7 +94,7 @@ static WRITE8_HANDLER(pitnrun_vflip_w)
|
||||
static ADDRESS_MAP_START( pitnrun_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x7fff) AM_ROM
|
||||
AM_RANGE(0x8000, 0x87ff) AM_RAM
|
||||
AM_RANGE(0x8800, 0x8fff) AM_RAM_WRITE(pitnrun_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
|
||||
AM_RANGE(0x8800, 0x8fff) AM_RAM_WRITE(pitnrun_videoram_w) AM_BASE_MEMBER(pitnrun_state, videoram)
|
||||
AM_RANGE(0x9000, 0x9fff) AM_RAM_WRITE(pitnrun_videoram2_w) AM_BASE(&pitnrun_videoram2)
|
||||
AM_RANGE(0xa000, 0xa0ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
||||
AM_RANGE(0xa800, 0xa800) AM_READ_PORT("SYSTEM")
|
||||
@ -228,7 +228,7 @@ static GFXDECODE_START( pitnrun )
|
||||
GFXDECODE_ENTRY( "gfx1", 0, spritelayout, 0, 4 )
|
||||
GFXDECODE_END
|
||||
|
||||
static MACHINE_CONFIG_START( pitnrun, driver_device )
|
||||
static MACHINE_CONFIG_START( pitnrun, pitnrun_state )
|
||||
MDRV_CPU_ADD("maincpu", Z80,XTAL_18_432MHz/6) /* verified on pcb */
|
||||
MDRV_CPU_PROGRAM_MAP(pitnrun_map)
|
||||
MDRV_CPU_VBLANK_INT("screen", pitnrun_nmi_source)
|
||||
|
@ -383,7 +383,7 @@ static ADDRESS_MAP_START( bios_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x3fff) AM_ROM
|
||||
AM_RANGE(0x8000, 0x87ff) AM_RAM // 8V
|
||||
AM_RANGE(0x8800, 0x8fff) AM_READWRITE(ram_8w_r, ram_8w_w) AM_BASE(&ram_8w) // 8W
|
||||
AM_RANGE(0x9000, 0x97ff) AM_RAM_WRITE(playch10_videoram_w) AM_BASE_GENERIC(videoram)
|
||||
AM_RANGE(0x9000, 0x97ff) AM_RAM_WRITE(playch10_videoram_w) AM_BASE_MEMBER(playch10_state, videoram)
|
||||
AM_RANGE(0xc000, 0xdfff) AM_ROM
|
||||
AM_RANGE(0xe000, 0xffff) AM_READWRITE(pc10_prot_r, pc10_prot_w)
|
||||
ADDRESS_MAP_END
|
||||
@ -684,7 +684,7 @@ static const nes_interface nes_config =
|
||||
};
|
||||
|
||||
|
||||
static MACHINE_CONFIG_START( playch10, driver_device )
|
||||
static MACHINE_CONFIG_START( playch10, playch10_state )
|
||||
// basic machine hardware
|
||||
MDRV_CPU_ADD("maincpu", Z80, 8000000/2) // 4 MHz
|
||||
MDRV_CPU_PROGRAM_MAP(bios_map)
|
||||
|
@ -107,7 +107,7 @@ static WRITE8_HANDLER( pokechmp_paletteram_w )
|
||||
|
||||
static ADDRESS_MAP_START( pokechmp_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x07ff) AM_RAM
|
||||
AM_RANGE(0x0800, 0x0fff) AM_RAM_WRITE(pokechmp_videoram_w) AM_BASE_GENERIC(videoram)
|
||||
AM_RANGE(0x0800, 0x0fff) AM_RAM_WRITE(pokechmp_videoram_w) AM_BASE_MEMBER(pokechmp_state, videoram)
|
||||
AM_RANGE(0x1000, 0x11ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
||||
|
||||
AM_RANGE(0x1800, 0x1800) AM_READ_PORT("P1")
|
||||
@ -222,7 +222,7 @@ static GFXDECODE_START( pokechmp )
|
||||
GFXDECODE_END
|
||||
|
||||
|
||||
static MACHINE_CONFIG_START( pokechmp, driver_device )
|
||||
static MACHINE_CONFIG_START( pokechmp, pokechmp_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", M6502, 4000000)
|
||||
|
@ -156,7 +156,7 @@ static ADDRESS_MAP_START( polyplay_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x1000, 0x8fff) AM_ROM
|
||||
AM_RANGE(0xe800, 0xebff) AM_ROM AM_REGION("gfx1", 0)
|
||||
AM_RANGE(0xec00, 0xf7ff) AM_RAM_WRITE(polyplay_characterram_w) AM_BASE(&polyplay_characterram)
|
||||
AM_RANGE(0xf800, 0xffff) AM_RAM AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
|
||||
AM_RANGE(0xf800, 0xffff) AM_RAM AM_BASE_MEMBER(polyplay_state, videoram)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
@ -276,7 +276,7 @@ GFXDECODE_END
|
||||
|
||||
/* the machine driver */
|
||||
|
||||
static MACHINE_CONFIG_START( polyplay, driver_device )
|
||||
static MACHINE_CONFIG_START( polyplay, polyplay_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", Z80, 9830400/4)
|
||||
|
@ -55,6 +55,17 @@ Twenty four 8116 rams.
|
||||
#include "sound/ay8910.h"
|
||||
#include "video/mc6845.h"
|
||||
|
||||
|
||||
class progolf_state : public driver_device
|
||||
{
|
||||
public:
|
||||
progolf_state(running_machine &machine, const driver_device_config_base &config)
|
||||
: driver_device(machine, config) { }
|
||||
|
||||
UINT8 *videoram;
|
||||
};
|
||||
|
||||
|
||||
static UINT8 char_pen,char_pen_vreg;
|
||||
static UINT8 *progolf_fg_fb;
|
||||
static UINT8 *progolf_fbram;
|
||||
@ -66,16 +77,19 @@ static UINT8 sound_cmd;
|
||||
|
||||
static VIDEO_START( progolf )
|
||||
{
|
||||
progolf_state *state = machine->driver_data<progolf_state>();
|
||||
scrollx_hi = 0;
|
||||
scrollx_lo = 0;
|
||||
|
||||
progolf_fg_fb = auto_alloc_array(machine, UINT8, 0x2000*8);
|
||||
machine->generic.videoram.u8 = auto_alloc_array(machine, UINT8, 0x1000);
|
||||
state->videoram = auto_alloc_array(machine, UINT8, 0x1000);
|
||||
}
|
||||
|
||||
|
||||
static VIDEO_UPDATE( progolf )
|
||||
{
|
||||
progolf_state *state = screen->machine->driver_data<progolf_state>();
|
||||
UINT8 *videoram = state->videoram;
|
||||
int count,color,x,y,xi,yi;
|
||||
|
||||
{
|
||||
@ -87,7 +101,7 @@ static VIDEO_UPDATE( progolf )
|
||||
{
|
||||
for(y=0;y<32;y++)
|
||||
{
|
||||
int tile = screen->machine->generic.videoram.u8[count];
|
||||
int tile = videoram[count];
|
||||
|
||||
drawgfx_opaque(bitmap,cliprect,screen->machine->gfx[0],tile,1,0,0,(256-x*8)+scroll,y*8);
|
||||
/* wrap-around */
|
||||
@ -185,6 +199,8 @@ static READ8_HANDLER( audio_command_r )
|
||||
|
||||
static READ8_HANDLER( progolf_videoram_r )
|
||||
{
|
||||
progolf_state *state = space->machine->driver_data<progolf_state>();
|
||||
UINT8 *videoram = state->videoram;
|
||||
UINT8 *gfx_rom = memory_region(space->machine, "gfx1");
|
||||
|
||||
if (offset >= 0x0800)
|
||||
@ -196,7 +212,7 @@ static READ8_HANDLER( progolf_videoram_r )
|
||||
else if (progolf_gfx_switch == 0x70)
|
||||
return gfx_rom[offset + 0x2000];
|
||||
else
|
||||
return space->machine->generic.videoram.u8[offset];
|
||||
return videoram[offset];
|
||||
} else {
|
||||
if (progolf_gfx_switch == 0x10)
|
||||
return gfx_rom[offset];
|
||||
@ -205,14 +221,16 @@ static READ8_HANDLER( progolf_videoram_r )
|
||||
else if (progolf_gfx_switch == 0x30)
|
||||
return gfx_rom[offset + 0x2000];
|
||||
else
|
||||
return space->machine->generic.videoram.u8[offset];
|
||||
return videoram[offset];
|
||||
}
|
||||
}
|
||||
|
||||
static WRITE8_HANDLER( progolf_videoram_w )
|
||||
{
|
||||
progolf_state *state = space->machine->driver_data<progolf_state>();
|
||||
UINT8 *videoram = state->videoram;
|
||||
//if(progolf_gfx_switch & 0x40)
|
||||
space->machine->generic.videoram.u8[offset] = data;
|
||||
videoram[offset] = data;
|
||||
}
|
||||
|
||||
static ADDRESS_MAP_START( main_cpu, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
@ -425,7 +443,7 @@ static PALETTE_INIT( progolf )
|
||||
}
|
||||
}
|
||||
|
||||
static MACHINE_CONFIG_START( progolf, driver_device )
|
||||
static MACHINE_CONFIG_START( progolf, progolf_state )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", M6502, 3000000/2) /* guess, 3 Mhz makes the game to behave worse? */
|
||||
MDRV_CPU_PROGRAM_MAP(main_cpu)
|
||||
|
@ -79,6 +79,17 @@ ROMS: All ROM labels say only "PROM" and a number.
|
||||
#include "deprecat.h"
|
||||
#include "sound/ay8910.h"
|
||||
|
||||
|
||||
class pturn_state : public driver_device
|
||||
{
|
||||
public:
|
||||
pturn_state(running_machine &machine, const driver_device_config_base &config)
|
||||
: driver_device(machine, config) { }
|
||||
|
||||
UINT8 *videoram;
|
||||
};
|
||||
|
||||
|
||||
static tilemap_t *pturn_fgmap,*pturn_bgmap;
|
||||
static int bgbank=0;
|
||||
static int fgbank=0;
|
||||
@ -97,8 +108,10 @@ static const UINT8 tile_lookup[0x10]=
|
||||
|
||||
static TILE_GET_INFO( get_pturn_tile_info )
|
||||
{
|
||||
pturn_state *state = machine->driver_data<pturn_state>();
|
||||
UINT8 *videoram = state->videoram;
|
||||
int tileno;
|
||||
tileno = machine->generic.videoram.u8[tile_index];
|
||||
tileno = videoram[tile_index];
|
||||
|
||||
tileno=tile_lookup[tileno>>4]|(tileno&0xf)|(fgbank<<8);
|
||||
|
||||
@ -184,7 +197,9 @@ READ8_HANDLER (pturn_protection2_r)
|
||||
|
||||
static WRITE8_HANDLER( pturn_videoram_w )
|
||||
{
|
||||
space->machine->generic.videoram.u8[offset]=data;
|
||||
pturn_state *state = space->machine->driver_data<pturn_state>();
|
||||
UINT8 *videoram = state->videoram;
|
||||
videoram[offset]=data;
|
||||
tilemap_mark_tile_dirty(pturn_fgmap,offset);
|
||||
}
|
||||
|
||||
@ -280,7 +295,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
|
||||
AM_RANGE(0xdfe0, 0xdfe0) AM_NOP
|
||||
|
||||
AM_RANGE(0xe000, 0xe3ff) AM_RAM_WRITE(pturn_videoram_w) AM_BASE_GENERIC(videoram)
|
||||
AM_RANGE(0xe000, 0xe3ff) AM_RAM_WRITE(pturn_videoram_w) AM_BASE_MEMBER(pturn_state, videoram)
|
||||
AM_RANGE(0xe400, 0xe400) AM_WRITE(fgpalette_w)
|
||||
AM_RANGE(0xe800, 0xe800) AM_WRITE(sound_w)
|
||||
|
||||
@ -444,7 +459,7 @@ static MACHINE_RESET( pturn )
|
||||
soundlatch_clear_w(space,0,0);
|
||||
}
|
||||
|
||||
static MACHINE_CONFIG_START( pturn, driver_device )
|
||||
static MACHINE_CONFIG_START( pturn, pturn_state )
|
||||
MDRV_CPU_ADD("maincpu", Z80, 12000000/3)
|
||||
MDRV_CPU_PROGRAM_MAP(main_map)
|
||||
MDRV_CPU_VBLANK_INT("screen", pturn_main_intgen)
|
||||
|
@ -27,6 +27,17 @@ Xtals 8MHz, 21.47727MHz
|
||||
#include "cpu/z80/z80.h"
|
||||
#include "sound/ay8910.h"
|
||||
|
||||
|
||||
class quizo_state : public driver_device
|
||||
{
|
||||
public:
|
||||
quizo_state(running_machine &machine, const driver_device_config_base &config)
|
||||
: driver_device(machine, config) { }
|
||||
|
||||
UINT8 *videoram;
|
||||
};
|
||||
|
||||
|
||||
#define XTAL1 8000000
|
||||
#define XTAL2 21477270
|
||||
|
||||
@ -65,13 +76,15 @@ static PALETTE_INIT(quizo)
|
||||
|
||||
static VIDEO_UPDATE( quizo )
|
||||
{
|
||||
quizo_state *state = screen->machine->driver_data<quizo_state>();
|
||||
UINT8 *videoram = state->videoram;
|
||||
int x,y;
|
||||
for(y=0;y<200;y++)
|
||||
{
|
||||
for(x=0;x<80;x++)
|
||||
{
|
||||
int data=screen->machine->generic.videoram.u8[y*80+x];
|
||||
int data1=screen->machine->generic.videoram.u8[y*80+x+0x4000];
|
||||
int data=videoram[y*80+x];
|
||||
int data1=videoram[y*80+x+0x4000];
|
||||
int pix;
|
||||
|
||||
pix=(data&1)|(((data>>4)&1)<<1)|((data1&1)<<2)|(((data1>>4)&1)<<3);
|
||||
@ -95,8 +108,10 @@ static VIDEO_UPDATE( quizo )
|
||||
|
||||
static WRITE8_HANDLER(vram_w)
|
||||
{
|
||||
quizo_state *state = space->machine->driver_data<quizo_state>();
|
||||
UINT8 *videoram = state->videoram;
|
||||
int bank=(port70&8)?1:0;
|
||||
space->machine->generic.videoram.u8[offset+bank*0x4000]=data;
|
||||
videoram[offset+bank*0x4000]=data;
|
||||
}
|
||||
|
||||
static WRITE8_HANDLER(port70_w)
|
||||
@ -183,7 +198,7 @@ static INPUT_PORTS_START( quizo )
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( On ) )
|
||||
INPUT_PORTS_END
|
||||
|
||||
static MACHINE_CONFIG_START( quizo, driver_device )
|
||||
static MACHINE_CONFIG_START( quizo, quizo_state )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", Z80,XTAL1/2)
|
||||
MDRV_CPU_PROGRAM_MAP(memmap)
|
||||
@ -244,7 +259,9 @@ ROM_END
|
||||
|
||||
static DRIVER_INIT(quizo)
|
||||
{
|
||||
machine->generic.videoram.u8=auto_alloc_array(machine, UINT8, 0x4000*2);
|
||||
quizo_state *state = machine->driver_data<quizo_state>();
|
||||
UINT8 *videoram = state->videoram;
|
||||
videoram=auto_alloc_array(machine, UINT8, 0x4000*2);
|
||||
}
|
||||
|
||||
GAME( 1985, quizo, 0, quizo, quizo, quizo, ROT0, "Seoul Coin Corp.", "Quiz Olympic (set 1)", 0 )
|
||||
|
@ -54,7 +54,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x0b000, 0x0b001) AM_READ_PORT("P1_P2")
|
||||
AM_RANGE(0x0b002, 0x0b003) AM_READ_PORT("DSW")
|
||||
AM_RANGE(0x0b000, 0x0b007) AM_WRITE(raiden_control_w)
|
||||
AM_RANGE(0x0c000, 0x0c7ff) AM_WRITE(raiden_text_w) AM_BASE_GENERIC(videoram)
|
||||
AM_RANGE(0x0c000, 0x0c7ff) AM_WRITE(raiden_text_w) AM_BASE_MEMBER(raiden_state, videoram)
|
||||
AM_RANGE(0x0d000, 0x0d00d) AM_READWRITE(seibu_main_word_r, seibu_main_word_w)
|
||||
AM_RANGE(0x0d060, 0x0d067) AM_WRITEONLY AM_BASE(&raiden_scroll_ram)
|
||||
AM_RANGE(0xa0000, 0xfffff) AM_ROM
|
||||
@ -77,7 +77,7 @@ static ADDRESS_MAP_START( alt_main_map, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x07000, 0x07fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
||||
AM_RANGE(0x08000, 0x08fff) AM_RAM AM_SHARE("share1") AM_BASE(&raiden_shared_ram)
|
||||
AM_RANGE(0x0a000, 0x0a00d) AM_READWRITE(seibu_main_word_r, seibu_main_word_w)
|
||||
AM_RANGE(0x0c000, 0x0c7ff) AM_WRITE(raiden_text_w) AM_BASE_GENERIC(videoram)
|
||||
AM_RANGE(0x0c000, 0x0c7ff) AM_WRITE(raiden_text_w) AM_BASE_MEMBER(raiden_state, videoram)
|
||||
AM_RANGE(0x0e000, 0x0e001) AM_READ_PORT("P1_P2")
|
||||
AM_RANGE(0x0e000, 0x0e007) AM_WRITE(raidena_control_w)
|
||||
AM_RANGE(0x0e002, 0x0e003) AM_READ_PORT("DSW")
|
||||
@ -95,7 +95,7 @@ static ADDRESS_MAP_START( raidenu_main_map, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x0b000, 0x0b001) AM_READ_PORT("P1_P2")
|
||||
AM_RANGE(0x0b002, 0x0b003) AM_READ_PORT("DSW")
|
||||
AM_RANGE(0x0b000, 0x0b007) AM_WRITE(raidena_control_w)
|
||||
AM_RANGE(0x0c000, 0x0c7ff) AM_WRITE(raiden_text_w) AM_BASE_GENERIC(videoram)
|
||||
AM_RANGE(0x0c000, 0x0c7ff) AM_WRITE(raiden_text_w) AM_BASE_MEMBER(raiden_state, videoram)
|
||||
AM_RANGE(0x0d000, 0x0d00d) AM_READWRITE(seibu_main_word_r, seibu_main_word_w)
|
||||
AM_RANGE(0xa0000, 0xfffff) AM_ROM
|
||||
ADDRESS_MAP_END
|
||||
@ -249,7 +249,7 @@ static VIDEO_EOF( raiden )
|
||||
buffer_spriteram16_w(space,0,0,0xffff); /* Could be a memory location instead */
|
||||
}
|
||||
|
||||
static MACHINE_CONFIG_START( raiden, driver_device )
|
||||
static MACHINE_CONFIG_START( raiden, raiden_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", V30,XTAL_20MHz/2) /* NEC V30 CPU, 20MHz verified on pcb */
|
||||
|
@ -280,7 +280,9 @@ static WRITE16_HANDLER(raiden2_foreground_w)
|
||||
|
||||
static WRITE16_HANDLER(raiden2_text_w)
|
||||
{
|
||||
COMBINE_DATA(&space->machine->generic.videoram.u16[offset]);
|
||||
raiden2_state *state = space->machine->driver_data<raiden2_state>();
|
||||
UINT16 *videoram = state->videoram;
|
||||
COMBINE_DATA(&videoram[offset]);
|
||||
tilemap_mark_tile_dirty(text_layer, offset);
|
||||
}
|
||||
|
||||
@ -320,7 +322,9 @@ static TILE_GET_INFO( get_fore_tile_info )
|
||||
|
||||
static TILE_GET_INFO( get_text_tile_info )
|
||||
{
|
||||
int tile = machine->generic.videoram.u16[tile_index];
|
||||
raiden2_state *state = machine->driver_data<raiden2_state>();
|
||||
UINT16 *videoram = state->videoram;
|
||||
int tile = videoram[tile_index];
|
||||
int color = (tile>>12)&0xf;
|
||||
|
||||
tile &= 0xfff;
|
||||
@ -845,7 +849,7 @@ static ADDRESS_MAP_START( raiden2_mem, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x0d000, 0x0d7ff) AM_RAM_WRITE(raiden2_background_w) AM_BASE(&back_data)
|
||||
AM_RANGE(0x0d800, 0x0dfff) AM_RAM_WRITE(raiden2_foreground_w) AM_BASE(&fore_data)
|
||||
AM_RANGE(0x0e000, 0x0e7ff) AM_RAM_WRITE(raiden2_midground_w) AM_BASE(&mid_data)
|
||||
AM_RANGE(0x0e800, 0x0f7ff) AM_RAM_WRITE(raiden2_text_w) AM_BASE_GENERIC(videoram)
|
||||
AM_RANGE(0x0e800, 0x0f7ff) AM_RAM_WRITE(raiden2_text_w) AM_BASE_MEMBER(raiden2_state, videoram)
|
||||
AM_RANGE(0x0f800, 0x0ffff) AM_RAM /* Stack area */
|
||||
|
||||
AM_RANGE(0x10000, 0x1efff) AM_RAM_WRITE(w1x) AM_BASE(&w1ram)
|
||||
@ -953,7 +957,7 @@ static ADDRESS_MAP_START( nzerotea_mem, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x0d000, 0x0d7ff) AM_RAM_WRITE(raiden2_background_w) AM_BASE(&back_data)
|
||||
AM_RANGE(0x0d800, 0x0dfff) AM_RAM_WRITE(raiden2_foreground_w) AM_BASE(&fore_data)
|
||||
AM_RANGE(0x0e000, 0x0e7ff) AM_RAM_WRITE(raiden2_midground_w) AM_BASE(&mid_data)
|
||||
AM_RANGE(0x0e800, 0x0f7ff) AM_RAM_WRITE(raiden2_text_w) AM_BASE_GENERIC(videoram)
|
||||
AM_RANGE(0x0e800, 0x0f7ff) AM_RAM_WRITE(raiden2_text_w) AM_BASE_MEMBER(raiden2_state, videoram)
|
||||
AM_RANGE(0x0f800, 0x0ffff) AM_RAM /* Stack area */
|
||||
|
||||
AM_RANGE(0x10000, 0x1efff) AM_RAM_WRITE(w1x) AM_BASE(&w1ram)
|
||||
@ -1184,7 +1188,7 @@ GFXDECODE_END
|
||||
|
||||
/* MACHINE DRIVERS */
|
||||
|
||||
static MACHINE_CONFIG_START( raiden2, driver_device )
|
||||
static MACHINE_CONFIG_START( raiden2, raiden2_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", V30,XTAL_32MHz/2) /* verified on pcb */
|
||||
@ -2162,7 +2166,7 @@ static ADDRESS_MAP_START( rdx_v33_map, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x0d000, 0x0d7ff) AM_RAM_WRITE(raiden2_background_w) AM_BASE(&back_data)
|
||||
AM_RANGE(0x0d800, 0x0dfff) AM_RAM_WRITE(raiden2_foreground_w) AM_BASE(&fore_data)
|
||||
AM_RANGE(0x0e000, 0x0e7ff) AM_RAM_WRITE(raiden2_midground_w) AM_BASE(&mid_data)
|
||||
AM_RANGE(0x0e800, 0x0f7ff) AM_RAM_WRITE(raiden2_text_w) AM_BASE_GENERIC(videoram)
|
||||
AM_RANGE(0x0e800, 0x0f7ff) AM_RAM_WRITE(raiden2_text_w) AM_BASE_MEMBER(raiden2_state, videoram)
|
||||
AM_RANGE(0x0f800, 0x0ffff) AM_RAM /* Stack area */
|
||||
AM_RANGE(0x10000, 0x1efff) AM_RAM
|
||||
AM_RANGE(0x1f000, 0x1ffff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
|
||||
@ -2273,7 +2277,7 @@ static MACHINE_RESET( rdx_v33 )
|
||||
common_reset();
|
||||
}
|
||||
|
||||
static MACHINE_CONFIG_START( rdx_v33, driver_device )
|
||||
static MACHINE_CONFIG_START( rdx_v33, raiden2_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", V33, 32000000/2 ) // ?
|
||||
|
@ -668,7 +668,7 @@ static ADDRESS_MAP_START( renegade_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x17ff) AM_RAM
|
||||
AM_RANGE(0x1800, 0x1fff) AM_RAM_WRITE(renegade_videoram2_w) AM_BASE(&renegade_videoram2)
|
||||
AM_RANGE(0x2000, 0x27ff) AM_RAM AM_BASE_GENERIC(spriteram)
|
||||
AM_RANGE(0x2800, 0x2fff) AM_RAM_WRITE(renegade_videoram_w) AM_BASE_GENERIC(videoram)
|
||||
AM_RANGE(0x2800, 0x2fff) AM_RAM_WRITE(renegade_videoram_w) AM_BASE_MEMBER(renegade_state, videoram)
|
||||
AM_RANGE(0x3000, 0x30ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split1_w) AM_BASE_GENERIC(paletteram)
|
||||
AM_RANGE(0x3100, 0x31ff) AM_RAM_WRITE(paletteram_xxxxBBBBGGGGRRRR_split2_w) AM_BASE_GENERIC(paletteram2)
|
||||
AM_RANGE(0x3800, 0x3800) AM_READ_PORT("IN0") AM_WRITE(renegade_scroll0_w) /* Player#1 controls, P1,P2 start */
|
||||
@ -918,7 +918,7 @@ static MACHINE_RESET( renegade )
|
||||
}
|
||||
|
||||
|
||||
static MACHINE_CONFIG_START( renegade, driver_device )
|
||||
static MACHINE_CONFIG_START( renegade, renegade_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", M6502, 12000000/8) /* 1.5 MHz (measured) */
|
||||
|
@ -98,6 +98,17 @@ Stephh's notes (based on the games Z80 code and some tests) :
|
||||
#include "machine/nvram.h"
|
||||
|
||||
|
||||
class royalmah_state : public driver_device
|
||||
{
|
||||
public:
|
||||
royalmah_state(running_machine &machine, const driver_device_config_base &config)
|
||||
: driver_device(machine, config) { }
|
||||
|
||||
UINT8 *videoram;
|
||||
};
|
||||
|
||||
|
||||
|
||||
static UINT8 input_port_select, dsw_select, rombank;
|
||||
static int palette_base;
|
||||
static UINT8 *janptr96_nvram;
|
||||
@ -186,6 +197,8 @@ static WRITE8_HANDLER( mjderngr_palbank_w )
|
||||
|
||||
static VIDEO_UPDATE( royalmah )
|
||||
{
|
||||
royalmah_state *state = screen->machine->driver_data<royalmah_state>();
|
||||
UINT8 *videoram = state->videoram;
|
||||
|
||||
offs_t offs;
|
||||
|
||||
@ -193,8 +206,8 @@ static VIDEO_UPDATE( royalmah )
|
||||
{
|
||||
int i;
|
||||
|
||||
UINT8 data1 = screen->machine->generic.videoram.u8[offs + 0x0000];
|
||||
UINT8 data2 = screen->machine->generic.videoram.u8[offs + 0x4000];
|
||||
UINT8 data1 = videoram[offs + 0x0000];
|
||||
UINT8 data2 = videoram[offs + 0x4000];
|
||||
|
||||
UINT8 y = 255 - (offs >> 6);
|
||||
UINT8 x = 255 - (offs << 2);
|
||||
@ -424,7 +437,7 @@ static ADDRESS_MAP_START( royalmah_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE( 0x0000, 0x6fff ) AM_ROM AM_WRITE( royalmah_rom_w )
|
||||
AM_RANGE( 0x7000, 0x7fff ) AM_RAM AM_SHARE("nvram")
|
||||
AM_RANGE( 0x8000, 0xffff ) AM_ROMBANK( "bank1" ) // banked ROMs not present in royalmah
|
||||
AM_RANGE( 0x8000, 0xffff ) AM_WRITEONLY AM_BASE_GENERIC(videoram)
|
||||
AM_RANGE( 0x8000, 0xffff ) AM_WRITEONLY AM_BASE_MEMBER(royalmah_state, videoram)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
@ -434,7 +447,7 @@ static ADDRESS_MAP_START( mjapinky_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE( 0x7800, 0x7fff ) AM_RAM
|
||||
AM_RANGE( 0x8000, 0x8000 ) AM_READ( mjapinky_dsw_r )
|
||||
AM_RANGE( 0x8000, 0xffff ) AM_ROMBANK( "bank1" )
|
||||
AM_RANGE( 0x8000, 0xffff ) AM_WRITEONLY AM_BASE_GENERIC(videoram)
|
||||
AM_RANGE( 0x8000, 0xffff ) AM_WRITEONLY AM_BASE_MEMBER(royalmah_state, videoram)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
@ -566,7 +579,7 @@ ADDRESS_MAP_END
|
||||
static ADDRESS_MAP_START( janho_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE( 0x0000, 0x6fff ) AM_ROM AM_WRITE( royalmah_rom_w )
|
||||
AM_RANGE( 0x7000, 0x7fff ) AM_RAM AM_SHARE("share1") AM_SHARE("nvram")
|
||||
AM_RANGE( 0x8000, 0xffff ) AM_WRITEONLY AM_BASE_GENERIC(videoram)
|
||||
AM_RANGE( 0x8000, 0xffff ) AM_WRITEONLY AM_BASE_MEMBER(royalmah_state, videoram)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
@ -688,7 +701,7 @@ static ADDRESS_MAP_START( jansou_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE( 0x6800, 0x6800 ) AM_WRITE(jansou_sound_w)
|
||||
|
||||
AM_RANGE( 0x7000, 0x77ff ) AM_RAM AM_SHARE("nvram")
|
||||
AM_RANGE( 0x8000, 0xffff ) AM_WRITEONLY AM_BASE_GENERIC(videoram)
|
||||
AM_RANGE( 0x8000, 0xffff ) AM_WRITEONLY AM_BASE_MEMBER(royalmah_state, videoram)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( jansou_sub_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
@ -711,7 +724,7 @@ static ADDRESS_MAP_START( janptr96_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE( 0x6000, 0x6fff ) AM_RAMBANK("bank3") AM_SHARE("nvram") // nvram
|
||||
AM_RANGE( 0x7000, 0x7fff ) AM_RAMBANK("bank2") // banked nvram
|
||||
AM_RANGE( 0x8000, 0xffff ) AM_ROMBANK("bank1")
|
||||
AM_RANGE( 0x8000, 0xffff ) AM_WRITEONLY AM_BASE_GENERIC(videoram)
|
||||
AM_RANGE( 0x8000, 0xffff ) AM_WRITEONLY AM_BASE_MEMBER(royalmah_state, videoram)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static WRITE8_HANDLER( janptr96_dswsel_w )
|
||||
@ -809,9 +822,11 @@ static READ8_HANDLER( mjifb_rom_io_r )
|
||||
|
||||
static WRITE8_HANDLER( mjifb_rom_io_w )
|
||||
{
|
||||
royalmah_state *state = space->machine->driver_data<royalmah_state>();
|
||||
UINT8 *videoram = state->videoram;
|
||||
if (mjifb_rom_enable)
|
||||
{
|
||||
space->machine->generic.videoram.u8[offset] = data;
|
||||
videoram[offset] = data;
|
||||
return;
|
||||
}
|
||||
|
||||
@ -836,13 +851,15 @@ static WRITE8_HANDLER( mjifb_rom_io_w )
|
||||
|
||||
static WRITE8_HANDLER( mjifb_videoram_w )
|
||||
{
|
||||
space->machine->generic.videoram.u8[offset + 0x4000] = data;
|
||||
royalmah_state *state = space->machine->driver_data<royalmah_state>();
|
||||
UINT8 *videoram = state->videoram;
|
||||
videoram[offset + 0x4000] = data;
|
||||
}
|
||||
|
||||
static ADDRESS_MAP_START( mjifb_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE( 0x0000, 0x6fff ) AM_ROM
|
||||
AM_RANGE( 0x7000, 0x7fff ) AM_RAM AM_SHARE("nvram")
|
||||
AM_RANGE( 0x8000, 0xbfff ) AM_READWRITE(mjifb_rom_io_r, mjifb_rom_io_w) AM_BASE_GENERIC(videoram)
|
||||
AM_RANGE( 0x8000, 0xbfff ) AM_READWRITE(mjifb_rom_io_r, mjifb_rom_io_w) AM_BASE_MEMBER(royalmah_state, videoram)
|
||||
AM_RANGE( 0xc000, 0xffff ) AM_ROM AM_WRITE(mjifb_videoram_w)
|
||||
// AM_RANGE( 0xc000, 0xffff ) AM_ROM AM_WRITEONLY This should, but doesn't work
|
||||
ADDRESS_MAP_END
|
||||
@ -916,9 +933,11 @@ static READ8_HANDLER( mjdejavu_rom_io_r )
|
||||
|
||||
static WRITE8_HANDLER( mjdejavu_rom_io_w )
|
||||
{
|
||||
royalmah_state *state = space->machine->driver_data<royalmah_state>();
|
||||
UINT8 *videoram = state->videoram;
|
||||
if (mjifb_rom_enable)
|
||||
{
|
||||
space->machine->generic.videoram.u8[offset] = data;
|
||||
videoram[offset] = data;
|
||||
return;
|
||||
}
|
||||
|
||||
@ -941,7 +960,7 @@ static WRITE8_HANDLER( mjdejavu_rom_io_w )
|
||||
static ADDRESS_MAP_START( mjdejavu_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE( 0x0000, 0x6fff ) AM_ROM
|
||||
AM_RANGE( 0x7000, 0x7fff ) AM_RAM AM_SHARE("nvram")
|
||||
AM_RANGE( 0x8000, 0xbfff ) AM_READWRITE(mjdejavu_rom_io_r, mjdejavu_rom_io_w) AM_BASE_GENERIC(videoram)
|
||||
AM_RANGE( 0x8000, 0xbfff ) AM_READWRITE(mjdejavu_rom_io_r, mjdejavu_rom_io_w) AM_BASE_MEMBER(royalmah_state, videoram)
|
||||
AM_RANGE( 0xc000, 0xffff ) AM_ROM AM_WRITE(mjifb_videoram_w)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
@ -983,7 +1002,7 @@ static ADDRESS_MAP_START( mjtensin_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE( 0x6ff3, 0x6ff3 ) AM_WRITE( mjtensin_6ff3_w )
|
||||
AM_RANGE( 0x7000, 0x7fff ) AM_RAM AM_SHARE("nvram")
|
||||
AM_RANGE( 0x8000, 0xffff ) AM_ROMBANK( "bank1" )
|
||||
AM_RANGE( 0x8000, 0xffff ) AM_WRITEONLY AM_BASE_GENERIC(videoram)
|
||||
AM_RANGE( 0x8000, 0xffff ) AM_WRITEONLY AM_BASE_MEMBER(royalmah_state, videoram)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( mjtensin_iomap, ADDRESS_SPACE_IO, 8 )
|
||||
@ -1053,7 +1072,7 @@ static ADDRESS_MAP_START( cafetime_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE( 0x7fe4, 0x7fe4 ) AM_READ( cafetime_7fe4_r )
|
||||
AM_RANGE( 0x7ff0, 0x7fff ) AM_DEVREADWRITE("rtc", msm6242_r, msm6242_w)
|
||||
AM_RANGE( 0x8000, 0xffff ) AM_ROMBANK( "bank1" )
|
||||
AM_RANGE( 0x8000, 0xffff ) AM_WRITEONLY AM_BASE_GENERIC(videoram)
|
||||
AM_RANGE( 0x8000, 0xffff ) AM_WRITEONLY AM_BASE_MEMBER(royalmah_state, videoram)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
@ -1116,9 +1135,11 @@ static READ8_HANDLER( mjvegasa_rom_io_r )
|
||||
|
||||
static WRITE8_HANDLER( mjvegasa_rom_io_w )
|
||||
{
|
||||
royalmah_state *state = space->machine->driver_data<royalmah_state>();
|
||||
UINT8 *videoram = state->videoram;
|
||||
if ((rombank & 0x70) != 0x70)
|
||||
{
|
||||
space->machine->generic.videoram.u8[offset] = data;
|
||||
videoram[offset] = data;
|
||||
return;
|
||||
}
|
||||
|
||||
@ -1174,7 +1195,7 @@ static ADDRESS_MAP_START( mjvegasa_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
|
||||
AM_RANGE( 0x00000, 0x05fff ) AM_ROM
|
||||
AM_RANGE( 0x06000, 0x07fff ) AM_RAM AM_SHARE("nvram")
|
||||
AM_RANGE( 0x08000, 0x0ffff ) AM_READWRITE(mjvegasa_rom_io_r, mjvegasa_rom_io_w) AM_BASE_GENERIC(videoram)
|
||||
AM_RANGE( 0x08000, 0x0ffff ) AM_READWRITE(mjvegasa_rom_io_r, mjvegasa_rom_io_w) AM_BASE_MEMBER(royalmah_state, videoram)
|
||||
|
||||
AM_RANGE( 0x10001, 0x10001 ) AM_DEVREAD( "aysnd", ay8910_r )
|
||||
AM_RANGE( 0x10002, 0x10003 ) AM_DEVWRITE( "aysnd", ay8910_data_address_w )
|
||||
@ -3094,7 +3115,7 @@ static const ay8910_interface ay8910_config =
|
||||
DEVCB_HANDLER(royalmah_player_2_port_r)
|
||||
};
|
||||
|
||||
static MACHINE_CONFIG_START( royalmah, driver_device )
|
||||
static MACHINE_CONFIG_START( royalmah, royalmah_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", Z80, 18432000/6) /* 3.072 MHz */
|
||||
|
@ -230,7 +230,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x000000, 0x03ffff) AM_ROM
|
||||
AM_RANGE(0x040000, 0x04ffff) AM_RAM AM_BASE(&rpunch_bitmapram) AM_SIZE(&rpunch_bitmapram_size)
|
||||
AM_RANGE(0x060000, 0x060fff) AM_RAM AM_BASE_GENERIC(spriteram)
|
||||
AM_RANGE(0x080000, 0x083fff) AM_RAM_WRITE(rpunch_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
|
||||
AM_RANGE(0x080000, 0x083fff) AM_RAM_WRITE(rpunch_videoram_w) AM_BASE_MEMBER(rpunch_state, videoram)
|
||||
AM_RANGE(0x0a0000, 0x0a07ff) AM_RAM_WRITE(paletteram16_xRRRRRGGGGGBBBBB_word_w) AM_BASE_GENERIC(paletteram)
|
||||
AM_RANGE(0x0c0000, 0x0c0007) AM_WRITE(rpunch_scrollreg_w)
|
||||
AM_RANGE(0x0c0008, 0x0c0009) AM_WRITE(rpunch_crtc_data_w)
|
||||
@ -464,7 +464,7 @@ static const ym2151_interface ym2151_config =
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static MACHINE_CONFIG_START( rpunch, driver_device )
|
||||
static MACHINE_CONFIG_START( rpunch, rpunch_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", M68000, MASTER_CLOCK/2)
|
||||
|
@ -177,7 +177,7 @@ static WRITE8_HANDLER (system_w)
|
||||
{
|
||||
int offs;
|
||||
for (offs = 0;offs < 0x4000; offs++)
|
||||
sbw_videoram_w(space, offs, space->machine->generic.videoram.u8[offs]);
|
||||
sbw_videoram_w(space, offs, state->videoram[offs]);
|
||||
}
|
||||
state->sbw_system = data;
|
||||
}
|
||||
|
@ -37,6 +37,17 @@
|
||||
#include "sbrkout.lh"
|
||||
|
||||
|
||||
class sbrkout_state : public driver_device
|
||||
{
|
||||
public:
|
||||
sbrkout_state(running_machine &machine, const driver_device_config_base &config)
|
||||
: driver_device(machine, config) { }
|
||||
|
||||
UINT8 *videoram;
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
/*************************************
|
||||
*
|
||||
@ -85,7 +96,9 @@ static TIMER_CALLBACK( pot_trigger_callback );
|
||||
|
||||
static MACHINE_START( sbrkout )
|
||||
{
|
||||
memory_set_bankptr(machine, "bank1", &machine->generic.videoram.u8[0x380]);
|
||||
sbrkout_state *state = machine->driver_data<sbrkout_state>();
|
||||
UINT8 *videoram = state->videoram;
|
||||
memory_set_bankptr(machine, "bank1", &videoram[0x380]);
|
||||
scanline_timer = timer_alloc(machine, scanline_callback, NULL);
|
||||
pot_timer = timer_alloc(machine, pot_trigger_callback, NULL);
|
||||
|
||||
@ -110,6 +123,8 @@ static MACHINE_RESET( sbrkout )
|
||||
|
||||
static TIMER_CALLBACK( scanline_callback )
|
||||
{
|
||||
sbrkout_state *state = machine->driver_data<sbrkout_state>();
|
||||
UINT8 *videoram = state->videoram;
|
||||
int scanline = param;
|
||||
|
||||
/* force a partial update before anything happens */
|
||||
@ -120,7 +135,7 @@ static TIMER_CALLBACK( scanline_callback )
|
||||
cputag_set_input_line(machine, "maincpu", 0, ASSERT_LINE);
|
||||
|
||||
/* update the DAC state */
|
||||
dac_data_w(machine->device("dac"), (machine->generic.videoram.u8[0x380 + 0x11] & (scanline >> 2)) ? 255 : 0);
|
||||
dac_data_w(machine->device("dac"), (videoram[0x380 + 0x11] & (scanline >> 2)) ? 255 : 0);
|
||||
|
||||
/* on the VBLANK, read the pot and schedule an interrupt time for it */
|
||||
if (scanline == machine->primary_screen->visible_area().max_y + 1)
|
||||
@ -279,7 +294,9 @@ static READ8_HANDLER( sync2_r )
|
||||
|
||||
static TILE_GET_INFO( get_bg_tile_info )
|
||||
{
|
||||
int code = (machine->generic.videoram.u8[tile_index] & 0x80) ? machine->generic.videoram.u8[tile_index] : 0;
|
||||
sbrkout_state *state = machine->driver_data<sbrkout_state>();
|
||||
UINT8 *videoram = state->videoram;
|
||||
int code = (videoram[tile_index] & 0x80) ? videoram[tile_index] : 0;
|
||||
SET_TILE_INFO(0, code, 0, 0);
|
||||
}
|
||||
|
||||
@ -292,7 +309,9 @@ static VIDEO_START( sbrkout )
|
||||
|
||||
static WRITE8_HANDLER( sbrkout_videoram_w )
|
||||
{
|
||||
space->machine->generic.videoram.u8[offset] = data;
|
||||
sbrkout_state *state = space->machine->driver_data<sbrkout_state>();
|
||||
UINT8 *videoram = state->videoram;
|
||||
videoram[offset] = data;
|
||||
tilemap_mark_tile_dirty(bg_tilemap, offset);
|
||||
}
|
||||
|
||||
@ -306,15 +325,17 @@ static WRITE8_HANDLER( sbrkout_videoram_w )
|
||||
|
||||
static VIDEO_UPDATE( sbrkout )
|
||||
{
|
||||
sbrkout_state *state = screen->machine->driver_data<sbrkout_state>();
|
||||
UINT8 *videoram = state->videoram;
|
||||
int ball;
|
||||
|
||||
tilemap_draw(bitmap, cliprect, bg_tilemap, 0, 0);
|
||||
|
||||
for (ball = 2; ball >= 0; ball--)
|
||||
{
|
||||
int code = ((screen->machine->generic.videoram.u8[0x380 + 0x18 + ball * 2 + 1] & 0x80) >> 7);
|
||||
int sx = 31 * 8 - screen->machine->generic.videoram.u8[0x380 + 0x10 + ball * 2];
|
||||
int sy = 30 * 8 - screen->machine->generic.videoram.u8[0x380 + 0x18 + ball * 2];
|
||||
int code = ((videoram[0x380 + 0x18 + ball * 2 + 1] & 0x80) >> 7);
|
||||
int sx = 31 * 8 - videoram[0x380 + 0x10 + ball * 2];
|
||||
int sy = 30 * 8 - videoram[0x380 + 0x18 + ball * 2];
|
||||
|
||||
drawgfx_transpen(bitmap, cliprect, screen->machine->gfx[1], code, 0, 0, 0, sx, sy, 0);
|
||||
}
|
||||
@ -333,7 +354,7 @@ static VIDEO_UPDATE( sbrkout )
|
||||
static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0x3fff)
|
||||
AM_RANGE(0x0000, 0x007f) AM_MIRROR(0x380) AM_RAMBANK("bank1")
|
||||
AM_RANGE(0x0400, 0x07ff) AM_RAM_WRITE(sbrkout_videoram_w) AM_BASE_GENERIC(videoram)
|
||||
AM_RANGE(0x0400, 0x07ff) AM_RAM_WRITE(sbrkout_videoram_w) AM_BASE_MEMBER(sbrkout_state, videoram)
|
||||
AM_RANGE(0x0800, 0x083f) AM_READ(switches_r)
|
||||
AM_RANGE(0x0840, 0x0840) AM_MIRROR(0x003f) AM_READ_PORT("COIN")
|
||||
AM_RANGE(0x0880, 0x0880) AM_MIRROR(0x003f) AM_READ_PORT("START")
|
||||
@ -475,7 +496,7 @@ GFXDECODE_END
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static MACHINE_CONFIG_START( sbrkout, driver_device )
|
||||
static MACHINE_CONFIG_START( sbrkout, sbrkout_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", M6502,MAIN_CLOCK/16) /* 375 KHz? Should be 750KHz? */
|
||||
|
@ -347,7 +347,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0800, 0x7fff) AM_ROM /* PROM board ROM area */
|
||||
AM_RANGE(0x8000, 0xbfff) AM_ROM /* PROM board ROM area */
|
||||
AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE(mainram_w) AM_BASE(&mainram)
|
||||
AM_RANGE(0xe000, 0xffff) AM_RAM_WRITE(vidram_w) AM_BASE_GENERIC(videoram)
|
||||
AM_RANGE(0xe000, 0xffff) AM_RAM_WRITE(vidram_w) AM_BASE_MEMBER(segag80r_state, videoram)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
@ -829,7 +829,7 @@ GFXDECODE_END
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static MACHINE_CONFIG_START( g80r_base, driver_device )
|
||||
static MACHINE_CONFIG_START( g80r_base, segag80r_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", Z80, VIDEO_CLOCK/4)
|
||||
|
@ -247,7 +247,7 @@ static ADDRESS_MAP_START( chinhero_main_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0xb802, 0xb802) AM_READ_PORT("P2")
|
||||
AM_RANGE(0xb803, 0xb803) AM_READ_PORT("P1")
|
||||
AM_RANGE(0xc000, 0xc002) AM_WRITEONLY AM_BASE(&shangkid_videoreg)
|
||||
AM_RANGE(0xd000, 0xdfff) AM_RAM_WRITE(shangkid_videoram_w) AM_BASE_GENERIC(videoram) AM_SHARE("share1")
|
||||
AM_RANGE(0xd000, 0xdfff) AM_RAM_WRITE(shangkid_videoram_w) AM_BASE_MEMBER(shangkid_state, videoram) AM_SHARE("share1")
|
||||
AM_RANGE(0xe000, 0xfdff) AM_RAM AM_SHARE("share2")
|
||||
AM_RANGE(0xfe00, 0xffff) AM_RAM AM_BASE_GENERIC(spriteram) AM_SHARE("share3")
|
||||
ADDRESS_MAP_END
|
||||
@ -268,7 +268,7 @@ static ADDRESS_MAP_START( shangkid_main_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0xb802, 0xb802) AM_READ_PORT("P2")
|
||||
AM_RANGE(0xb803, 0xb803) AM_READ_PORT("P1")
|
||||
AM_RANGE(0xc000, 0xc002) AM_WRITEONLY AM_BASE(&shangkid_videoreg)
|
||||
AM_RANGE(0xd000, 0xdfff) AM_RAM_WRITE(shangkid_videoram_w) AM_BASE_GENERIC(videoram) AM_SHARE("share1")
|
||||
AM_RANGE(0xd000, 0xdfff) AM_RAM_WRITE(shangkid_videoram_w) AM_BASE_MEMBER(shangkid_state, videoram) AM_SHARE("share1")
|
||||
AM_RANGE(0xe000, 0xfdff) AM_RAM AM_SHARE("share2")
|
||||
AM_RANGE(0xfe00, 0xffff) AM_RAM AM_BASE_GENERIC(spriteram) AM_SHARE("share3")
|
||||
ADDRESS_MAP_END
|
||||
@ -363,7 +363,7 @@ static const ay8910_interface shangkid_ay8910_interface =
|
||||
};
|
||||
|
||||
|
||||
static MACHINE_CONFIG_START( chinhero, driver_device )
|
||||
static MACHINE_CONFIG_START( chinhero, shangkid_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", Z80, XTAL_18_432MHz/6) /* verified on pcb */
|
||||
@ -436,7 +436,7 @@ MACHINE_CONFIG_END
|
||||
|
||||
static ADDRESS_MAP_START( dynamski_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x7fff) AM_ROM
|
||||
AM_RANGE(0xc000, 0xc7ff) AM_RAM AM_BASE_GENERIC(videoram) /* tilemap */
|
||||
AM_RANGE(0xc000, 0xc7ff) AM_RAM AM_BASE_MEMBER(shangkid_state, videoram) /* tilemap */
|
||||
AM_RANGE(0xc800, 0xcbff) AM_RAM
|
||||
AM_RANGE(0xd000, 0xd3ff) AM_RAM
|
||||
AM_RANGE(0xd800, 0xdbff) AM_RAM
|
||||
@ -455,7 +455,7 @@ static ADDRESS_MAP_START( dynamski_portmap, ADDRESS_SPACE_IO, 8 )
|
||||
AM_RANGE(0x00, 0x01) AM_DEVWRITE("aysnd", ay8910_data_address_w)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static MACHINE_CONFIG_START( dynamski, driver_device )
|
||||
static MACHINE_CONFIG_START( dynamski, shangkid_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", Z80, 3000000) /* ? */
|
||||
|
@ -135,7 +135,9 @@ static MACHINE_RESET( sprint4 )
|
||||
|
||||
static READ8_HANDLER( sprint4_wram_r )
|
||||
{
|
||||
return space->machine->generic.videoram.u8[0x380 + offset];
|
||||
sprint4_state *state = space->machine->driver_data<sprint4_state>();
|
||||
UINT8 *videoram = state->videoram;
|
||||
return videoram[0x380 + offset];
|
||||
}
|
||||
|
||||
|
||||
@ -161,7 +163,9 @@ static READ8_HANDLER( sprint4_options_r )
|
||||
|
||||
static WRITE8_HANDLER( sprint4_wram_w )
|
||||
{
|
||||
space->machine->generic.videoram.u8[0x380 + offset] = data;
|
||||
sprint4_state *state = space->machine->driver_data<sprint4_state>();
|
||||
UINT8 *videoram = state->videoram;
|
||||
videoram[0x380 + offset] = data;
|
||||
}
|
||||
|
||||
|
||||
@ -234,7 +238,7 @@ static ADDRESS_MAP_START( sprint4_cpu_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
ADDRESS_MAP_GLOBAL_MASK(0x3fff)
|
||||
|
||||
AM_RANGE(0x0080, 0x00ff) AM_MIRROR(0x700) AM_READWRITE(sprint4_wram_r, sprint4_wram_w)
|
||||
AM_RANGE(0x0800, 0x0bff) AM_MIRROR(0x400) AM_RAM_WRITE(sprint4_video_ram_w) AM_BASE_GENERIC(videoram)
|
||||
AM_RANGE(0x0800, 0x0bff) AM_MIRROR(0x400) AM_RAM_WRITE(sprint4_video_ram_w) AM_BASE_MEMBER(sprint4_state, videoram)
|
||||
|
||||
AM_RANGE(0x0000, 0x0007) AM_MIRROR(0x718) AM_READ(sprint4_analog_r)
|
||||
AM_RANGE(0x0020, 0x0027) AM_MIRROR(0x718) AM_READ(sprint4_coin_r)
|
||||
@ -394,7 +398,7 @@ static GFXDECODE_START( sprint4 )
|
||||
GFXDECODE_END
|
||||
|
||||
|
||||
static MACHINE_CONFIG_START( sprint4, driver_device )
|
||||
static MACHINE_CONFIG_START( sprint4, sprint4_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", M6502, PIXEL_CLOCK / 8)
|
||||
|
@ -75,6 +75,17 @@ quaquiz2 - no inputs, needs NVRAM
|
||||
#include "video/tms9927.h"
|
||||
#include "machine/nvram.h"
|
||||
|
||||
|
||||
class statriv2_state : public driver_device
|
||||
{
|
||||
public:
|
||||
statriv2_state(running_machine &machine, const driver_device_config_base &config)
|
||||
: driver_device(machine, config) { }
|
||||
|
||||
UINT8 *videoram;
|
||||
};
|
||||
|
||||
|
||||
#define MASTER_CLOCK 12440000
|
||||
|
||||
|
||||
@ -98,16 +109,20 @@ static UINT8 last_coin;
|
||||
|
||||
static TILE_GET_INFO( horizontal_tile_info )
|
||||
{
|
||||
int code = machine->generic.videoram.u8[0x400+tile_index];
|
||||
int attr = machine->generic.videoram.u8[tile_index] & 0x3f;
|
||||
statriv2_state *state = machine->driver_data<statriv2_state>();
|
||||
UINT8 *videoram = state->videoram;
|
||||
int code = videoram[0x400+tile_index];
|
||||
int attr = videoram[tile_index] & 0x3f;
|
||||
|
||||
SET_TILE_INFO(0, code, attr, 0);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( vertical_tile_info )
|
||||
{
|
||||
int code = machine->generic.videoram.u8[0x400+tile_index];
|
||||
int attr = machine->generic.videoram.u8[tile_index] & 0x3f;
|
||||
statriv2_state *state = machine->driver_data<statriv2_state>();
|
||||
UINT8 *videoram = state->videoram;
|
||||
int code = videoram[0x400+tile_index];
|
||||
int attr = videoram[tile_index] & 0x3f;
|
||||
|
||||
SET_TILE_INFO(0, ((code & 0x7f) << 1) | ((code & 0x80) >> 7), attr, 0);
|
||||
}
|
||||
@ -151,7 +166,9 @@ static VIDEO_START( vertical )
|
||||
|
||||
static WRITE8_HANDLER( statriv2_videoram_w )
|
||||
{
|
||||
space->machine->generic.videoram.u8[offset] = data;
|
||||
statriv2_state *state = space->machine->driver_data<statriv2_state>();
|
||||
UINT8 *videoram = state->videoram;
|
||||
videoram[offset] = data;
|
||||
tilemap_mark_tile_dirty(statriv2_tilemap, offset & 0x3ff);
|
||||
}
|
||||
|
||||
@ -273,7 +290,7 @@ static ADDRESS_MAP_START( statriv2_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x3fff) AM_ROM
|
||||
AM_RANGE(0x4000, 0x43ff) AM_RAM
|
||||
AM_RANGE(0x4800, 0x48ff) AM_RAM AM_SHARE("nvram")
|
||||
AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE(statriv2_videoram_w) AM_BASE_GENERIC(videoram)
|
||||
AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE(statriv2_videoram_w) AM_BASE_MEMBER(statriv2_state, videoram)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( statriv2_io_map, ADDRESS_SPACE_IO, 8 )
|
||||
@ -568,7 +585,7 @@ static const tms9927_interface tms9927_intf =
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static MACHINE_CONFIG_START( statriv2, driver_device )
|
||||
static MACHINE_CONFIG_START( statriv2, statriv2_state )
|
||||
/* basic machine hardware */
|
||||
/* FIXME: The 8085A had a max clock of 6MHz, internally divided by 2! */
|
||||
MDRV_CPU_ADD("maincpu", I8085A, MASTER_CLOCK)
|
||||
|
@ -82,7 +82,7 @@ static ADDRESS_MAP_START( strnskil_map1, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
|
||||
AM_RANGE(0xc000, 0xc7ff) AM_RAM
|
||||
AM_RANGE(0xc800, 0xcfff) AM_RAM AM_SHARE("share1")
|
||||
AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(strnskil_videoram_w) AM_BASE_GENERIC(videoram)
|
||||
AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(strnskil_videoram_w) AM_BASE_MEMBER(strnskil_state, videoram)
|
||||
|
||||
AM_RANGE(0xd800, 0xd800) AM_READ(strnskil_d800_r)
|
||||
AM_RANGE(0xd801, 0xd801) AM_READ_PORT("DSW1")
|
||||
@ -315,7 +315,7 @@ static GFXDECODE_START( strnskil )
|
||||
GFXDECODE_END
|
||||
|
||||
|
||||
static MACHINE_CONFIG_START( strnskil, driver_device )
|
||||
static MACHINE_CONFIG_START( strnskil, strnskil_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", Z80,8000000/2) /* 4.000MHz */
|
||||
|
@ -65,7 +65,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x006e, 0x006f) AM_WRITE(subs_invert2_w)
|
||||
AM_RANGE(0x0090, 0x009f) AM_BASE_GENERIC(spriteram)
|
||||
AM_RANGE(0x0000, 0x01ff) AM_RAM
|
||||
AM_RANGE(0x0800, 0x0bff) AM_RAM AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
|
||||
AM_RANGE(0x0800, 0x0bff) AM_RAM AM_BASE_MEMBER(subs_state, videoram)
|
||||
AM_RANGE(0x2000, 0x3fff) AM_ROM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
@ -175,7 +175,7 @@ GFXDECODE_END
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static MACHINE_CONFIG_START( subs, driver_device )
|
||||
static MACHINE_CONFIG_START( subs, subs_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", M6502,12096000/16) /* clock input is the "4H" signal */
|
||||
|
@ -13,7 +13,6 @@ TODO:
|
||||
|
||||
#include "emu.h"
|
||||
#include "deprecat.h"
|
||||
#include "video/system1.h"
|
||||
#include "cpu/z80/z80.h"
|
||||
#include "machine/segacrpt.h"
|
||||
#include "sound/sn76496.h"
|
||||
|
@ -188,7 +188,6 @@ Notes:
|
||||
******************************************************************************/
|
||||
|
||||
#include "emu.h"
|
||||
#include "video/system1.h"
|
||||
#include "cpu/z80/z80.h"
|
||||
#include "cpu/mcs51/mcs51.h"
|
||||
#include "machine/z80pio.h"
|
||||
@ -197,6 +196,7 @@ Notes:
|
||||
#include "machine/segacrp2.h"
|
||||
#include "machine/mc8123.h"
|
||||
#include "sound/sn76496.h"
|
||||
#include "includes/system1.h"
|
||||
|
||||
|
||||
#define MASTER_CLOCK XTAL_20MHz
|
||||
|
@ -158,7 +158,7 @@ static ADDRESS_MAP_START( f3_map, ADDRESS_SPACE_PROGRAM, 32 )
|
||||
AM_RANGE(0x4a0000, 0x4a001f) AM_READWRITE(f3_control_r, f3_control_w)
|
||||
AM_RANGE(0x600000, 0x60ffff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
||||
AM_RANGE(0x610000, 0x61bfff) AM_RAM_WRITE(f3_pf_data_w) AM_BASE(&f3_pf_data)
|
||||
AM_RANGE(0x61c000, 0x61dfff) AM_RAM_WRITE(f3_videoram_w) AM_BASE_GENERIC(videoram)
|
||||
AM_RANGE(0x61c000, 0x61dfff) AM_RAM_WRITE(f3_videoram_w) AM_BASE_MEMBER(taito_f3_state, videoram)
|
||||
AM_RANGE(0x61e000, 0x61ffff) AM_RAM_WRITE(f3_vram_w) AM_BASE(&f3_vram)
|
||||
AM_RANGE(0x620000, 0x62ffff) AM_RAM_WRITE(f3_lineram_w) AM_BASE(&f3_line_ram)
|
||||
AM_RANGE(0x630000, 0x63ffff) AM_RAM_WRITE(f3_pivot_w) AM_BASE(&f3_pivot_ram)
|
||||
@ -389,7 +389,7 @@ static MACHINE_START(f3)
|
||||
state_save_register_global_array(machine, coin_word);
|
||||
}
|
||||
|
||||
static MACHINE_CONFIG_START( f3, driver_device )
|
||||
static MACHINE_CONFIG_START( f3, taito_f3_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", M68EC020, XTAL_16MHz)
|
||||
@ -485,7 +485,7 @@ static GFXDECODE_START( bubsympb )
|
||||
GFXDECODE_ENTRY( NULL, 0x000000, pivotlayout, 0, 64 ) /* Dynamically modified */
|
||||
GFXDECODE_END
|
||||
|
||||
static MACHINE_CONFIG_START( bubsympb, driver_device )
|
||||
static MACHINE_CONFIG_START( bubsympb, taito_f3_state )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", M68EC020, XTAL_16MHz)
|
||||
MDRV_CPU_PROGRAM_MAP(f3_map)
|
||||
|
@ -162,7 +162,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x000f) AM_RAM AM_BASE(&tankbatt_bulletsram) AM_SIZE(&tankbatt_bulletsram_size)
|
||||
AM_RANGE(0x0010, 0x01ff) AM_RAM
|
||||
AM_RANGE(0x0200, 0x07ff) AM_RAM
|
||||
AM_RANGE(0x0800, 0x0bff) AM_RAM_WRITE(tankbatt_videoram_w) AM_BASE_GENERIC(videoram)
|
||||
AM_RANGE(0x0800, 0x0bff) AM_RAM_WRITE(tankbatt_videoram_w) AM_BASE_MEMBER(tankbatt_state, videoram)
|
||||
AM_RANGE(0x0c00, 0x0c07) AM_READ(tankbatt_in0_r)
|
||||
AM_RANGE(0x0c00, 0x0c01) AM_WRITE(tankbatt_led_w)
|
||||
AM_RANGE(0x0c02, 0x0c02) AM_WRITE(tankbatt_coin_counter_w)
|
||||
@ -289,7 +289,7 @@ static const samples_interface tankbatt_samples_interface =
|
||||
|
||||
|
||||
|
||||
static MACHINE_CONFIG_START( tankbatt, driver_device )
|
||||
static MACHINE_CONFIG_START( tankbatt, tankbatt_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", M6502, 1000000) /* 1 MHz ???? */
|
||||
|
@ -197,7 +197,7 @@ static ADDRESS_MAP_START( apache3_v30_map, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x00000, 0x03fff) AM_RAM
|
||||
AM_RANGE(0x04000, 0x07fff) AM_RAM AM_SHARE("nvram")
|
||||
AM_RANGE(0x08000, 0x08fff) AM_RAM_WRITE(apache3_palette_w) AM_BASE_GENERIC(paletteram)
|
||||
AM_RANGE(0x0c000, 0x0dfff) AM_RAM_WRITE(roundup5_text_w) AM_BASE_GENERIC(videoram)
|
||||
AM_RANGE(0x0c000, 0x0dfff) AM_RAM_WRITE(roundup5_text_w) AM_BASE_MEMBER(tatsumi_state, videoram)
|
||||
AM_RANGE(0x0e800, 0x0e803) AM_WRITENOP // CRT
|
||||
AM_RANGE(0x0f000, 0x0f001) AM_READ_PORT("DSW")
|
||||
AM_RANGE(0x0f000, 0x0f001) AM_WRITENOP // todo
|
||||
@ -238,7 +238,7 @@ ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( roundup5_v30_map, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x00000, 0x07fff) AM_RAM
|
||||
AM_RANGE(0x08000, 0x0bfff) AM_RAM_WRITE(roundup5_text_w) AM_BASE_GENERIC(videoram)
|
||||
AM_RANGE(0x08000, 0x0bfff) AM_RAM_WRITE(roundup5_text_w) AM_BASE_MEMBER(tatsumi_state, videoram)
|
||||
AM_RANGE(0x0c000, 0x0c003) AM_WRITE(roundup5_crt_w)
|
||||
AM_RANGE(0x0d000, 0x0d001) AM_READ_PORT("DSW")
|
||||
AM_RANGE(0x0d400, 0x0d40f) AM_WRITEONLY AM_BASE(&roundup5_unknown0)
|
||||
@ -856,7 +856,7 @@ static MACHINE_RESET( apache3 )
|
||||
}
|
||||
|
||||
|
||||
static MACHINE_CONFIG_START( apache3, driver_device )
|
||||
static MACHINE_CONFIG_START( apache3, tatsumi_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", V30, CLOCK_1 / 2)
|
||||
@ -902,7 +902,7 @@ static MACHINE_CONFIG_START( apache3, driver_device )
|
||||
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.75)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
static MACHINE_CONFIG_START( roundup5, driver_device )
|
||||
static MACHINE_CONFIG_START( roundup5, tatsumi_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", V30, CLOCK_1 / 2)
|
||||
@ -944,7 +944,7 @@ static MACHINE_CONFIG_START( roundup5, driver_device )
|
||||
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.75)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
static MACHINE_CONFIG_START( cyclwarr, driver_device )
|
||||
static MACHINE_CONFIG_START( cyclwarr, tatsumi_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", M68000, CLOCK_2 / 4)
|
||||
@ -987,7 +987,7 @@ static MACHINE_CONFIG_START( cyclwarr, driver_device )
|
||||
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.75)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
static MACHINE_CONFIG_START( bigfight, driver_device )
|
||||
static MACHINE_CONFIG_START( bigfight, tatsumi_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", M68000, CLOCK_2 / 4)
|
||||
|
@ -211,7 +211,7 @@ static ADDRESS_MAP_START( terracre_map, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x026002, 0x026003) AM_WRITE(amazon_scrollx_w)
|
||||
AM_RANGE(0x026004, 0x026005) AM_WRITE(amazon_scrolly_w)
|
||||
AM_RANGE(0x02600c, 0x02600d) AM_WRITE(amazon_sound_w)
|
||||
AM_RANGE(0x028000, 0x0287ff) AM_WRITE(amazon_foreground_w) AM_BASE_GENERIC(videoram)
|
||||
AM_RANGE(0x028000, 0x0287ff) AM_WRITE(amazon_foreground_w) AM_BASE_MEMBER(terracre_state, videoram)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( amazon_map, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
@ -227,7 +227,7 @@ static ADDRESS_MAP_START( amazon_map, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x046002, 0x046003) AM_WRITE(amazon_scrollx_w)
|
||||
AM_RANGE(0x046004, 0x046005) AM_WRITE(amazon_scrolly_w)
|
||||
AM_RANGE(0x04600c, 0x04600d) AM_WRITE(amazon_sound_w)
|
||||
AM_RANGE(0x050000, 0x050fff) AM_WRITE(amazon_foreground_w) AM_BASE_GENERIC(videoram)
|
||||
AM_RANGE(0x050000, 0x050fff) AM_WRITE(amazon_foreground_w) AM_BASE_MEMBER(terracre_state, videoram)
|
||||
AM_RANGE(0x070000, 0x070003) AM_READWRITE(amazon_protection_r, amazon_protection_w)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
@ -529,7 +529,7 @@ static GFXDECODE_START( terracre )
|
||||
GFXDECODE_ENTRY( "gfx3", 0, sprite_layout, 1*16+16*16, 256 )
|
||||
GFXDECODE_END
|
||||
|
||||
static MACHINE_CONFIG_START( amazon, driver_device )
|
||||
static MACHINE_CONFIG_START( amazon, terracre_state )
|
||||
MDRV_CPU_ADD("maincpu", M68000, 8000000 )
|
||||
MDRV_CPU_PROGRAM_MAP(amazon_map)
|
||||
MDRV_CPU_VBLANK_INT("screen", irq1_line_hold)
|
||||
@ -568,7 +568,7 @@ static MACHINE_CONFIG_START( amazon, driver_device )
|
||||
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
static MACHINE_CONFIG_START( ym3526, driver_device )
|
||||
static MACHINE_CONFIG_START( ym3526, terracre_state )
|
||||
MDRV_CPU_ADD("maincpu", M68000, 8000000 )
|
||||
MDRV_CPU_PROGRAM_MAP(terracre_map)
|
||||
MDRV_CPU_VBLANK_INT("screen", irq1_line_hold)
|
||||
@ -605,7 +605,7 @@ static MACHINE_CONFIG_START( ym3526, driver_device )
|
||||
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
static MACHINE_CONFIG_START( ym2203, driver_device )
|
||||
static MACHINE_CONFIG_START( ym2203, terracre_state )
|
||||
MDRV_CPU_ADD("maincpu", M68000, 8000000) /* 8 MHz?? */
|
||||
MDRV_CPU_PROGRAM_MAP(terracre_map)
|
||||
MDRV_CPU_VBLANK_INT("screen", irq1_line_hold)
|
||||
|
@ -174,7 +174,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0xfe4002, 0xfe4003) AM_READ_PORT("SYSTEM")
|
||||
/* AM_RANGE(0xfe4002, 0xfe4003) AM_WRITE(tigeroad_soundcmd_w) added by init_tigeroad() */
|
||||
AM_RANGE(0xfe4004, 0xfe4005) AM_READ_PORT("DSW")
|
||||
AM_RANGE(0xfec000, 0xfec7ff) AM_RAM_WRITE(tigeroad_videoram_w) AM_BASE_GENERIC(videoram)
|
||||
AM_RANGE(0xfec000, 0xfec7ff) AM_RAM_WRITE(tigeroad_videoram_w) AM_BASE_MEMBER(tigeroad_state, videoram)
|
||||
AM_RANGE(0xfe8000, 0xfe8003) AM_WRITE(tigeroad_scroll_w)
|
||||
AM_RANGE(0xfe800e, 0xfe800f) AM_WRITEONLY /* fe800e = watchdog or IRQ acknowledge */
|
||||
AM_RANGE(0xff8200, 0xff867f) AM_RAM_WRITE(paletteram16_xxxxRRRRGGGGBBBB_word_w) AM_BASE_GENERIC(paletteram)
|
||||
@ -514,7 +514,7 @@ static const msm5205_interface msm5205_config =
|
||||
};
|
||||
|
||||
|
||||
static MACHINE_CONFIG_START( tigeroad, driver_device )
|
||||
static MACHINE_CONFIG_START( tigeroad, tigeroad_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", M68000, XTAL_10MHz) /* verified on pcb */
|
||||
|
@ -45,7 +45,7 @@ static WRITE8_HANDLER( sound_reset_w )
|
||||
static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x7fff) AM_ROM /* rom */
|
||||
AM_RANGE(0x8000, 0x87ff) AM_RAM /* ram */
|
||||
AM_RANGE(0x8800, 0x8bff) AM_RAM_WRITE(timelimt_videoram_w) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram) /* video ram */
|
||||
AM_RANGE(0x8800, 0x8bff) AM_RAM_WRITE(timelimt_videoram_w) AM_BASE_MEMBER(timelimt_state, videoram) /* video ram */
|
||||
AM_RANGE(0x9000, 0x97ff) AM_RAM_WRITE(timelimt_bg_videoram_w) AM_BASE(&timelimt_bg_videoram) AM_SIZE(&timelimt_bg_videoram_size)/* background ram */
|
||||
AM_RANGE(0x9800, 0x98ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram) /* sprite ram */
|
||||
AM_RANGE(0xa000, 0xa000) AM_READ_PORT("INPUTS")
|
||||
@ -228,7 +228,7 @@ static INTERRUPT_GEN( timelimt_irq ) {
|
||||
|
||||
/***************************************************************************/
|
||||
|
||||
static MACHINE_CONFIG_START( timelimt, driver_device )
|
||||
static MACHINE_CONFIG_START( timelimt, timelimt_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", Z80, 5000000) /* 5.000 MHz */
|
||||
|
@ -97,7 +97,7 @@ static ADDRESS_MAP_START( toki_map, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x06e000, 0x06e7ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(paletteram)
|
||||
AM_RANGE(0x06e800, 0x06efff) AM_RAM_WRITE(toki_background1_videoram16_w) AM_BASE(&toki_background1_videoram16)
|
||||
AM_RANGE(0x06f000, 0x06f7ff) AM_RAM_WRITE(toki_background2_videoram16_w) AM_BASE(&toki_background2_videoram16)
|
||||
AM_RANGE(0x06f800, 0x06ffff) AM_RAM_WRITE(toki_foreground_videoram16_w) AM_BASE_GENERIC(videoram)
|
||||
AM_RANGE(0x06f800, 0x06ffff) AM_RAM_WRITE(toki_foreground_videoram16_w) AM_BASE_MEMBER(toki_state, videoram)
|
||||
AM_RANGE(0x080000, 0x08000d) AM_READWRITE(seibu_main_word_r, seibu_main_word_w)
|
||||
AM_RANGE(0x0a0000, 0x0a005f) AM_WRITE(toki_control_w) AM_BASE(&toki_scrollram16)
|
||||
AM_RANGE(0x0c0000, 0x0c0001) AM_READ_PORT("DSW")
|
||||
@ -112,7 +112,7 @@ static ADDRESS_MAP_START( tokib_map, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x06e000, 0x06e7ff) AM_RAM_WRITE(paletteram16_xxxxBBBBGGGGRRRR_word_w) AM_BASE_GENERIC(paletteram)
|
||||
AM_RANGE(0x06e800, 0x06efff) AM_RAM_WRITE(toki_background1_videoram16_w) AM_BASE(&toki_background1_videoram16)
|
||||
AM_RANGE(0x06f000, 0x06f7ff) AM_RAM_WRITE(toki_background2_videoram16_w) AM_BASE(&toki_background2_videoram16)
|
||||
AM_RANGE(0x06f800, 0x06ffff) AM_RAM_WRITE(toki_foreground_videoram16_w) AM_BASE_GENERIC(videoram)
|
||||
AM_RANGE(0x06f800, 0x06ffff) AM_RAM_WRITE(toki_foreground_videoram16_w) AM_BASE_MEMBER(toki_state, videoram)
|
||||
AM_RANGE(0x071000, 0x071001) AM_WRITENOP /* sprite related? seems another scroll register */
|
||||
/* gets written the same value as 75000a (bg2 scrollx) */
|
||||
AM_RANGE(0x071804, 0x071807) AM_WRITENOP /* sprite related, always 01be0100 */
|
||||
@ -413,7 +413,7 @@ static const msm5205_interface msm5205_config =
|
||||
};
|
||||
|
||||
|
||||
static MACHINE_CONFIG_START( toki, driver_device ) /* KOYO 20.000MHz near the cpu */
|
||||
static MACHINE_CONFIG_START( toki, toki_state ) /* KOYO 20.000MHz near the cpu */
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", M68000,XTAL_20MHz /2) /* verified on pcb */
|
||||
@ -445,7 +445,7 @@ static MACHINE_CONFIG_START( toki, driver_device ) /* KOYO 20.000MHz near the cp
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
static MACHINE_CONFIG_START( tokib, driver_device )
|
||||
static MACHINE_CONFIG_START( tokib, toki_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", M68000, 12000000) /* 10MHz causes bad slowdowns with monkey machine rd1 */
|
||||
|
@ -28,7 +28,7 @@ static UINT8 *battery_ram;
|
||||
|
||||
static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x17ff) AM_RAM /* general purpose ram */
|
||||
AM_RANGE(0x1800, 0x7bff) AM_RAM AM_BASE_GENERIC(videoram) /* video ram */
|
||||
AM_RANGE(0x1800, 0x7bff) AM_RAM AM_BASE_MEMBER(truco_state, videoram) /* video ram */
|
||||
AM_RANGE(0x7c00, 0x7fff) AM_RAM AM_BASE(&battery_ram) /* battery backed ram */
|
||||
AM_RANGE(0x8000, 0x8000) AM_READ_PORT("P1") AM_WRITENOP /* controls (and irq ack?) */
|
||||
AM_RANGE(0x8001, 0x8001) AM_NOP /* unknown */
|
||||
@ -132,7 +132,7 @@ static INTERRUPT_GEN( truco_interrupt )
|
||||
}
|
||||
|
||||
|
||||
static MACHINE_CONFIG_START( truco, driver_device )
|
||||
static MACHINE_CONFIG_START( truco, truco_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", M6809, 750000) /* ?? guess */
|
||||
|
@ -54,7 +54,7 @@ static WRITE8_HANDLER( tryout_bankswitch_w )
|
||||
|
||||
static ADDRESS_MAP_START( main_cpu, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x07ff) AM_RAM
|
||||
AM_RANGE(0x1000, 0x17ff) AM_RAM_WRITE(tryout_videoram_w) AM_BASE_GENERIC(videoram)
|
||||
AM_RANGE(0x1000, 0x17ff) AM_RAM_WRITE(tryout_videoram_w) AM_BASE_MEMBER(tryout_state, videoram)
|
||||
AM_RANGE(0x2000, 0x3fff) AM_ROMBANK("bank1")
|
||||
AM_RANGE(0x4000, 0xbfff) AM_ROM
|
||||
AM_RANGE(0xc800, 0xc87f) AM_RAM AM_BASE_GENERIC(spriteram)
|
||||
@ -185,7 +185,7 @@ static GFXDECODE_START( tryout )
|
||||
GFXDECODE_ENTRY( NULL, 0, vramlayout, 0, 4 )
|
||||
GFXDECODE_END
|
||||
|
||||
static MACHINE_CONFIG_START( tryout, driver_device )
|
||||
static MACHINE_CONFIG_START( tryout, tryout_state )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", M6502, 2000000) /* ? */
|
||||
MDRV_CPU_PROGRAM_MAP(main_cpu)
|
||||
|
@ -84,12 +84,16 @@ int twin16_spriteram_process_enable( void )
|
||||
|
||||
static READ16_HANDLER( videoram16_r )
|
||||
{
|
||||
return space->machine->generic.videoram.u16[offset];
|
||||
twin16_state *state = space->machine->driver_data<twin16_state>();
|
||||
UINT16 *videoram = state->videoram;
|
||||
return videoram[offset];
|
||||
}
|
||||
|
||||
static WRITE16_HANDLER( videoram16_w )
|
||||
{
|
||||
COMBINE_DATA(space->machine->generic.videoram.u16 + offset);
|
||||
twin16_state *state = space->machine->driver_data<twin16_state>();
|
||||
UINT16 *videoram = state->videoram;
|
||||
COMBINE_DATA(videoram + offset);
|
||||
}
|
||||
|
||||
static READ16_HANDLER( extra_rom_r )
|
||||
@ -255,7 +259,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x0c000e, 0x0c000f) AM_READ(twin16_sprite_status_r)
|
||||
AM_RANGE(0x100000, 0x103fff) AM_RAM_WRITE(twin16_text_ram_w) AM_BASE(&twin16_text_ram)
|
||||
// AM_RANGE(0x104000, 0x105fff) AM_NOP // miaj
|
||||
AM_RANGE(0x120000, 0x123fff) AM_RAM AM_BASE_GENERIC(videoram)
|
||||
AM_RANGE(0x120000, 0x123fff) AM_RAM AM_BASE_MEMBER(twin16_state, videoram)
|
||||
AM_RANGE(0x140000, 0x143fff) AM_RAM AM_SHARE("share1") AM_BASE_SIZE_GENERIC(spriteram)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
@ -287,7 +291,7 @@ static ADDRESS_MAP_START( fround_map, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x0c000e, 0x0c000f) AM_READ(twin16_sprite_status_r)
|
||||
AM_RANGE(0x0e0000, 0x0e0001) AM_WRITE(fround_gfx_bank_w)
|
||||
AM_RANGE(0x100000, 0x103fff) AM_RAM_WRITE(twin16_text_ram_w) AM_BASE(&twin16_text_ram)
|
||||
AM_RANGE(0x120000, 0x123fff) AM_RAM AM_BASE_GENERIC(videoram)
|
||||
AM_RANGE(0x120000, 0x123fff) AM_RAM AM_BASE_MEMBER(twin16_state, videoram)
|
||||
AM_RANGE(0x140000, 0x143fff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
||||
AM_RANGE(0x500000, 0x6fffff) AM_READ(twin16_gfx_rom1_r)
|
||||
ADDRESS_MAP_END
|
||||
@ -715,7 +719,7 @@ static MACHINE_START( twin16 )
|
||||
state_save_register_global_array(machine, cuebrickj_nvram);
|
||||
}
|
||||
|
||||
static MACHINE_CONFIG_START( twin16, driver_device )
|
||||
static MACHINE_CONFIG_START( twin16, twin16_state )
|
||||
// basic machine hardware
|
||||
MDRV_CPU_ADD("maincpu", M68000, XTAL_18_432MHz/2)
|
||||
MDRV_CPU_PROGRAM_MAP(main_map)
|
||||
@ -773,7 +777,7 @@ static MACHINE_CONFIG_DERIVED( devilw, twin16 )
|
||||
MDRV_QUANTUM_TIME(HZ(60000)) // watchdog reset otherwise
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
static MACHINE_CONFIG_START( fround, driver_device )
|
||||
static MACHINE_CONFIG_START( fround, twin16_state )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", M68000, 10000000)
|
||||
MDRV_CPU_PROGRAM_MAP(fround_map)
|
||||
|
@ -70,7 +70,9 @@ static MACHINE_RESET( ultratnk )
|
||||
|
||||
static READ8_HANDLER( ultratnk_wram_r )
|
||||
{
|
||||
return space->machine->generic.videoram.u8[0x380 + offset];
|
||||
ultratnk_state *state = space->machine->driver_data<ultratnk_state>();
|
||||
UINT8 *videoram = state->videoram;
|
||||
return videoram[0x380 + offset];
|
||||
}
|
||||
|
||||
|
||||
@ -96,7 +98,9 @@ static READ8_HANDLER( ultratnk_options_r )
|
||||
|
||||
static WRITE8_HANDLER( ultratnk_wram_w )
|
||||
{
|
||||
space->machine->generic.videoram.u8[0x380 + offset] = data;
|
||||
ultratnk_state *state = space->machine->driver_data<ultratnk_state>();
|
||||
UINT8 *videoram = state->videoram;
|
||||
videoram[0x380 + offset] = data;
|
||||
}
|
||||
|
||||
|
||||
@ -152,7 +156,7 @@ static ADDRESS_MAP_START( ultratnk_cpu_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
|
||||
AM_RANGE(0x0000, 0x007f) AM_MIRROR(0x700) AM_RAM
|
||||
AM_RANGE(0x0080, 0x00ff) AM_MIRROR(0x700) AM_READWRITE(ultratnk_wram_r, ultratnk_wram_w)
|
||||
AM_RANGE(0x0800, 0x0bff) AM_MIRROR(0x400) AM_RAM_WRITE(ultratnk_video_ram_w) AM_BASE_GENERIC(videoram)
|
||||
AM_RANGE(0x0800, 0x0bff) AM_MIRROR(0x400) AM_RAM_WRITE(ultratnk_video_ram_w) AM_BASE_MEMBER(ultratnk_state, videoram)
|
||||
|
||||
AM_RANGE(0x1000, 0x17ff) AM_READ_PORT("IN0")
|
||||
AM_RANGE(0x1800, 0x1fff) AM_READ_PORT("IN1")
|
||||
@ -287,7 +291,7 @@ static GFXDECODE_START( ultratnk )
|
||||
GFXDECODE_END
|
||||
|
||||
|
||||
static MACHINE_CONFIG_START( ultratnk, driver_device )
|
||||
static MACHINE_CONFIG_START( ultratnk, ultratnk_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", M6502, PIXEL_CLOCK / 8)
|
||||
|
@ -66,7 +66,7 @@ static ADDRESS_MAP_START( vigilant_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x7fff) AM_ROM
|
||||
AM_RANGE(0xc020, 0xc0df) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
||||
AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE(vigilant_paletteram_w) AM_BASE_GENERIC(paletteram)
|
||||
AM_RANGE(0xd000, 0xdfff) AM_RAM AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
|
||||
AM_RANGE(0xd000, 0xdfff) AM_RAM AM_BASE_MEMBER(vigilant_state, videoram)
|
||||
AM_RANGE(0xe000, 0xefff) AM_RAM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
@ -87,7 +87,7 @@ static ADDRESS_MAP_START( kikcubic_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x7fff) AM_ROM
|
||||
AM_RANGE(0xc000, 0xc0ff) AM_RAM AM_BASE_SIZE_GENERIC(spriteram)
|
||||
AM_RANGE(0xc800, 0xcaff) AM_RAM_WRITE(vigilant_paletteram_w) AM_BASE_GENERIC(paletteram)
|
||||
AM_RANGE(0xd000, 0xdfff) AM_RAM AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram)
|
||||
AM_RANGE(0xd000, 0xdfff) AM_RAM AM_BASE_MEMBER(vigilant_state, videoram)
|
||||
AM_RANGE(0xe000, 0xffff) AM_RAM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
@ -513,7 +513,7 @@ static const ym2203_interface ym2203_config =
|
||||
};
|
||||
|
||||
|
||||
static MACHINE_CONFIG_START( vigilant, driver_device )
|
||||
static MACHINE_CONFIG_START( vigilant, vigilant_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", Z80, 3579645) /* 3.579645 MHz */
|
||||
@ -557,7 +557,7 @@ static MACHINE_CONFIG_START( vigilant, driver_device )
|
||||
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
static MACHINE_CONFIG_START( buccanrs, driver_device )
|
||||
static MACHINE_CONFIG_START( buccanrs, vigilant_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", Z80, 5688800) /* 5.688800 MHz */
|
||||
@ -617,7 +617,7 @@ static MACHINE_CONFIG_START( buccanrs, driver_device )
|
||||
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.35)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
static MACHINE_CONFIG_START( kikcubic, driver_device )
|
||||
static MACHINE_CONFIG_START( kikcubic, vigilant_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", Z80, 3579645) /* 3.579645 MHz */
|
||||
|
@ -82,13 +82,27 @@ mm74c920J/mmc6551j-9 x2
|
||||
#include "cpu/m6809/m6809.h"
|
||||
#include "machine/6840ptm.h"
|
||||
|
||||
|
||||
class vpoker_state : public driver_device
|
||||
{
|
||||
public:
|
||||
vpoker_state(running_machine &machine, const driver_device_config_base &config)
|
||||
: driver_device(machine, config) { }
|
||||
|
||||
UINT8 *videoram;
|
||||
};
|
||||
|
||||
|
||||
static VIDEO_START( vpoker )
|
||||
{
|
||||
machine->generic.videoram.u8 = auto_alloc_array(machine, UINT8, 0x200);
|
||||
vpoker_state *state = machine->driver_data<vpoker_state>();
|
||||
state->videoram = auto_alloc_array(machine, UINT8, 0x200);
|
||||
}
|
||||
|
||||
static VIDEO_UPDATE( vpoker )
|
||||
{
|
||||
vpoker_state *state = screen->machine->driver_data<vpoker_state>();
|
||||
UINT8 *videoram = state->videoram;
|
||||
const gfx_element *gfx = screen->machine->gfx[0];
|
||||
int count = 0x0000;
|
||||
|
||||
@ -98,7 +112,7 @@ static VIDEO_UPDATE( vpoker )
|
||||
{
|
||||
for (x=0;x<0x20;x++)
|
||||
{
|
||||
int tile = screen->machine->generic.videoram.u8[count];
|
||||
int tile = videoram[count];
|
||||
//int colour = tile>>12;
|
||||
drawgfx_opaque(bitmap,cliprect,gfx,tile,0,0,0,x*16,y*16);
|
||||
|
||||
@ -119,6 +133,8 @@ static READ8_HANDLER( blitter_r )
|
||||
|
||||
static WRITE8_HANDLER( blitter_w )
|
||||
{
|
||||
vpoker_state *state = space->machine->driver_data<vpoker_state>();
|
||||
UINT8 *videoram = state->videoram;
|
||||
static UINT8 blit_ram[8];
|
||||
|
||||
blit_ram[offset] = data;
|
||||
@ -129,7 +145,7 @@ static WRITE8_HANDLER( blitter_w )
|
||||
|
||||
blit_offs = (blit_ram[1] & 0x01)<<8|(blit_ram[2] & 0xff);
|
||||
|
||||
space->machine->generic.videoram.u8[blit_offs] = blit_ram[0];
|
||||
videoram[blit_offs] = blit_ram[0];
|
||||
// printf("%02x %02x %02x %02x %02x %02x %02x %02x\n",blit_ram[0],blit_ram[1],blit_ram[2],blit_ram[3],blit_ram[4],blit_ram[5],blit_ram[6],blit_ram[7]);
|
||||
}
|
||||
}
|
||||
@ -394,7 +410,7 @@ static const ptm6840_interface ptm_intf =
|
||||
DEVCB_LINE(ptm_irq)
|
||||
};
|
||||
|
||||
static MACHINE_CONFIG_START( vpoker, driver_device )
|
||||
static MACHINE_CONFIG_START( vpoker, vpoker_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu",M6809,XTAL_4MHz)
|
||||
|
@ -52,6 +52,17 @@ Thanks to HIGHWAYMAN for providing info on how to get to these epoxies
|
||||
#include "video/resnet.h"
|
||||
#include "sound/ay8910.h"
|
||||
|
||||
|
||||
class wallc_state : public driver_device
|
||||
{
|
||||
public:
|
||||
wallc_state(running_machine &machine, const driver_device_config_base &config)
|
||||
: driver_device(machine, config) { }
|
||||
|
||||
UINT8 *videoram;
|
||||
};
|
||||
|
||||
|
||||
static tilemap_t *bg_tilemap;
|
||||
|
||||
/***************************************************************************
|
||||
@ -117,13 +128,17 @@ static PALETTE_INIT( wallc )
|
||||
|
||||
static WRITE8_HANDLER( wallc_videoram_w )
|
||||
{
|
||||
space->machine->generic.videoram.u8[offset] = data;
|
||||
wallc_state *state = space->machine->driver_data<wallc_state>();
|
||||
UINT8 *videoram = state->videoram;
|
||||
videoram[offset] = data;
|
||||
tilemap_mark_tile_dirty(bg_tilemap, offset);
|
||||
}
|
||||
|
||||
static TILE_GET_INFO( get_bg_tile_info )
|
||||
{
|
||||
SET_TILE_INFO(0, machine->generic.videoram.u8[tile_index] + 0x100, 1, 0);
|
||||
wallc_state *state = machine->driver_data<wallc_state>();
|
||||
UINT8 *videoram = state->videoram;
|
||||
SET_TILE_INFO(0, videoram[tile_index] + 0x100, 1, 0);
|
||||
}
|
||||
|
||||
static VIDEO_START( wallc )
|
||||
@ -144,7 +159,7 @@ static WRITE8_HANDLER( wallc_coin_counter_w )
|
||||
|
||||
static ADDRESS_MAP_START( wallc_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x7fff) AM_ROM
|
||||
AM_RANGE(0x8000, 0x83ff) AM_RAM_WRITE(wallc_videoram_w) AM_MIRROR(0xc00) AM_BASE_GENERIC(videoram) /* 2114, 2114 */
|
||||
AM_RANGE(0x8000, 0x83ff) AM_RAM_WRITE(wallc_videoram_w) AM_MIRROR(0xc00) AM_BASE_MEMBER(wallc_state, videoram) /* 2114, 2114 */
|
||||
AM_RANGE(0xa000, 0xa3ff) AM_RAM /* 2114, 2114 */
|
||||
|
||||
AM_RANGE(0xb000, 0xb000) AM_READ_PORT("DSW1")
|
||||
@ -275,7 +290,7 @@ static DRIVER_INIT( wallca )
|
||||
|
||||
|
||||
|
||||
static MACHINE_CONFIG_START( wallc, driver_device )
|
||||
static MACHINE_CONFIG_START( wallc, wallc_state )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", Z80, 12288000 / 4) /* 3.072 MHz ? */
|
||||
MDRV_CPU_PROGRAM_MAP(wallc_map)
|
||||
|
@ -16,6 +16,17 @@
|
||||
#include "sound/ay8910.h"
|
||||
#include "machine/nvram.h"
|
||||
|
||||
|
||||
class wink_state : public driver_device
|
||||
{
|
||||
public:
|
||||
wink_state(running_machine &machine, const driver_device_config_base &config)
|
||||
: driver_device(machine, config) { }
|
||||
|
||||
UINT8 *videoram;
|
||||
};
|
||||
|
||||
|
||||
static tilemap_t *bg_tilemap;
|
||||
static UINT8 sound_flag;
|
||||
static UINT8 tile_bank = 0;
|
||||
@ -23,7 +34,9 @@ static UINT8 tile_bank = 0;
|
||||
|
||||
static TILE_GET_INFO( get_bg_tile_info )
|
||||
{
|
||||
int code = machine->generic.videoram.u8[tile_index];
|
||||
wink_state *state = machine->driver_data<wink_state>();
|
||||
UINT8 *videoram = state->videoram;
|
||||
int code = videoram[tile_index];
|
||||
code |= 0x200 * tile_bank;
|
||||
|
||||
// the 2 parts of the screen use different tile banking
|
||||
@ -48,7 +61,9 @@ static VIDEO_UPDATE( wink )
|
||||
|
||||
static WRITE8_HANDLER( bgram_w )
|
||||
{
|
||||
space->machine->generic.videoram.u8[offset] = data;
|
||||
wink_state *state = space->machine->driver_data<wink_state>();
|
||||
UINT8 *videoram = state->videoram;
|
||||
videoram[offset] = data;
|
||||
tilemap_mark_tile_dirty(bg_tilemap, offset);
|
||||
}
|
||||
|
||||
@ -90,7 +105,7 @@ static ADDRESS_MAP_START( wink_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x7fff) AM_ROM
|
||||
AM_RANGE(0x8000, 0x87ff) AM_RAM
|
||||
AM_RANGE(0x9000, 0x97ff) AM_RAM AM_SHARE("nvram")
|
||||
AM_RANGE(0xa000, 0xa3ff) AM_RAM_WRITE(bgram_w) AM_BASE_GENERIC(videoram)
|
||||
AM_RANGE(0xa000, 0xa3ff) AM_RAM_WRITE(bgram_w) AM_BASE_MEMBER(wink_state, videoram)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
@ -312,7 +327,7 @@ static MACHINE_RESET( wink )
|
||||
sound_flag = 0;
|
||||
}
|
||||
|
||||
static MACHINE_CONFIG_START( wink, driver_device )
|
||||
static MACHINE_CONFIG_START( wink, wink_state )
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", Z80, 12000000 / 4)
|
||||
MDRV_CPU_PROGRAM_MAP(wink_map)
|
||||
|
@ -222,7 +222,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0xd800, 0xd83f) AM_BASE(&wiz_attributesram2)
|
||||
AM_RANGE(0xd840, 0xd85f) AM_BASE_GENERIC(spriteram2) AM_SIZE_GENERIC(spriteram)
|
||||
AM_RANGE(0xd000, 0xd85f) AM_RAM
|
||||
AM_RANGE(0xe000, 0xe3ff) AM_BASE_GENERIC(videoram) AM_SIZE_GENERIC(videoram) /* Fallthrough */
|
||||
AM_RANGE(0xe000, 0xe3ff) AM_BASE_MEMBER(wiz_state, videoram) /* Fallthrough */
|
||||
AM_RANGE(0xe400, 0xe7ff) AM_RAM
|
||||
AM_RANGE(0xe800, 0xe83f) AM_BASE(&wiz_attributesram)
|
||||
AM_RANGE(0xe840, 0xe85f) AM_BASE_GENERIC(spriteram)
|
||||
@ -679,7 +679,7 @@ static MACHINE_RESET( wiz )
|
||||
dsc0 = dsc1 = 1;
|
||||
}
|
||||
|
||||
static MACHINE_CONFIG_START( wiz, driver_device )
|
||||
static MACHINE_CONFIG_START( wiz, wiz_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", Z80, 18432000/6) /* 3.072 MHz ??? */
|
||||
|
@ -77,7 +77,7 @@ static ADDRESS_MAP_START( xorworld_map, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0xa00008, 0xa00009) AM_DEVWRITE("eeprom", eeprom_chip_select_w)
|
||||
AM_RANGE(0xa0000a, 0xa0000b) AM_DEVWRITE("eeprom", eeprom_serial_clock_w)
|
||||
AM_RANGE(0xa0000c, 0xa0000d) AM_DEVWRITE("eeprom", eeprom_data_w)
|
||||
AM_RANGE(0xffc000, 0xffc7ff) AM_RAM_WRITE(xorworld_videoram16_w) AM_BASE_GENERIC(videoram)
|
||||
AM_RANGE(0xffc000, 0xffc7ff) AM_RAM_WRITE(xorworld_videoram16_w) AM_BASE_MEMBER(xorworld_state, videoram)
|
||||
AM_RANGE(0xffc800, 0xffc87f) AM_RAM AM_BASE_GENERIC(spriteram)
|
||||
AM_RANGE(0xffc880, 0xffc881) AM_WRITENOP
|
||||
AM_RANGE(0xffc882, 0xffc883) AM_WRITENOP
|
||||
@ -173,7 +173,7 @@ static INTERRUPT_GEN( xorworld_interrupt )
|
||||
}
|
||||
|
||||
|
||||
static MACHINE_CONFIG_START( xorworld, driver_device )
|
||||
static MACHINE_CONFIG_START( xorworld, xorworld_state )
|
||||
// basic machine hardware
|
||||
MDRV_CPU_ADD("maincpu", M68000, 10000000) // 10 MHz
|
||||
MDRV_CPU_PROGRAM_MAP(xorworld_map)
|
||||
|
@ -19,7 +19,7 @@ static WRITE8_HANDLER( tinvader_sound_w );
|
||||
|
||||
static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||
AM_RANGE(0x0000, 0x17ff) AM_ROM
|
||||
AM_RANGE(0x1800, 0x1bff) AM_RAM_WRITE(tinvader_videoram_w) AM_BASE_GENERIC(videoram)
|
||||
AM_RANGE(0x1800, 0x1bff) AM_RAM_WRITE(tinvader_videoram_w) AM_BASE_MEMBER(zac2650_state, videoram)
|
||||
AM_RANGE(0x1c00, 0x1cff) AM_RAM
|
||||
AM_RANGE(0x1d00, 0x1dff) AM_RAM
|
||||
AM_RANGE(0x1e80, 0x1e80) AM_READWRITE(tinvader_port_0_r, tinvader_sound_w)
|
||||
@ -231,7 +231,7 @@ static GFXDECODE_START( tinvader )
|
||||
GFXDECODE_SCALE( NULL, 0x1F00, s2636_character, 0, 2, 8, 6 ) /* dynamic */
|
||||
GFXDECODE_END
|
||||
|
||||
static MACHINE_CONFIG_START( tinvader, driver_device )
|
||||
static MACHINE_CONFIG_START( tinvader, zac2650_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MDRV_CPU_ADD("maincpu", S2650, 3800000/4)
|
||||
|
@ -1,3 +1,13 @@
|
||||
class ampoker2_state : public driver_device
|
||||
{
|
||||
public:
|
||||
ampoker2_state(running_machine &machine, const driver_device_config_base &config)
|
||||
: driver_device(machine, config) { }
|
||||
|
||||
UINT8 *videoram;
|
||||
};
|
||||
|
||||
|
||||
/*----------- defined in video/ampoker2.c -----------*/
|
||||
|
||||
WRITE8_HANDLER( ampoker2_videoram_w );
|
||||
|
@ -11,6 +11,16 @@
|
||||
#define AC_STARS (0x04)
|
||||
|
||||
|
||||
class astrocde_state : public driver_device
|
||||
{
|
||||
public:
|
||||
astrocde_state(running_machine &machine, const driver_device_config_base &config)
|
||||
: driver_device(machine, config) { }
|
||||
|
||||
UINT8 *videoram;
|
||||
};
|
||||
|
||||
|
||||
/*----------- defined in video/astrocde.c -----------*/
|
||||
|
||||
extern UINT8 astrocade_video_config;
|
||||
|
@ -12,6 +12,7 @@ public:
|
||||
m_nvram(*this, "nvram") { }
|
||||
|
||||
required_shared_ptr<UINT8> m_nvram;
|
||||
UINT8 *videoram;
|
||||
};
|
||||
|
||||
/*----------- defined in video/atetris.c -----------*/
|
||||
|
@ -1,3 +1,13 @@
|
||||
class beezer_state : public driver_device
|
||||
{
|
||||
public:
|
||||
beezer_state(running_machine &machine, const driver_device_config_base &config)
|
||||
: driver_device(machine, config) { }
|
||||
|
||||
UINT8 *videoram;
|
||||
};
|
||||
|
||||
|
||||
/*----------- defined in machine/beezer.c -----------*/
|
||||
|
||||
extern const via6522_interface b_via_0_interface;
|
||||
|
@ -4,6 +4,16 @@
|
||||
|
||||
*************************************************************************/
|
||||
|
||||
class centiped_state : public driver_device
|
||||
{
|
||||
public:
|
||||
centiped_state(running_machine &machine, const driver_device_config_base &config)
|
||||
: driver_device(machine, config) { }
|
||||
|
||||
UINT8 *videoram;
|
||||
};
|
||||
|
||||
|
||||
/*----------- defined in video/centiped.c -----------*/
|
||||
|
||||
extern UINT8 centiped_flipscreen, *bullsdrt_tiles_bankram;
|
||||
|
@ -4,6 +4,16 @@
|
||||
|
||||
*************************************************************************/
|
||||
|
||||
class cloak_state : public driver_device
|
||||
{
|
||||
public:
|
||||
cloak_state(running_machine &machine, const driver_device_config_base &config)
|
||||
: driver_device(machine, config) { }
|
||||
|
||||
UINT8 *videoram;
|
||||
};
|
||||
|
||||
|
||||
/*----------- defined in video/cloak.c -----------*/
|
||||
|
||||
WRITE8_HANDLER( cloak_videoram_w );
|
||||
|
@ -1,3 +1,13 @@
|
||||
class darkmist_state : public driver_device
|
||||
{
|
||||
public:
|
||||
darkmist_state(running_machine &machine, const driver_device_config_base &config)
|
||||
: driver_device(machine, config) { }
|
||||
|
||||
UINT8 *videoram;
|
||||
};
|
||||
|
||||
|
||||
/*----------- defined in drivers/darkmist.c -----------*/
|
||||
|
||||
extern int darkmist_hw;
|
||||
|
@ -1,3 +1,13 @@
|
||||
class deadang_state : public driver_device
|
||||
{
|
||||
public:
|
||||
deadang_state(running_machine &machine, const driver_device_config_base &config)
|
||||
: driver_device(machine, config) { }
|
||||
|
||||
UINT16 *videoram;
|
||||
};
|
||||
|
||||
|
||||
/*----------- defined in video/deadang.c -----------*/
|
||||
|
||||
extern UINT16 *deadang_video_data, *deadang_scroll_ram;
|
||||
|
@ -1,3 +1,13 @@
|
||||
class dynduke_state : public driver_device
|
||||
{
|
||||
public:
|
||||
dynduke_state(running_machine &machine, const driver_device_config_base &config)
|
||||
: driver_device(machine, config) { }
|
||||
|
||||
UINT16 *videoram;
|
||||
};
|
||||
|
||||
|
||||
/*----------- defined in video/dynduke.c -----------*/
|
||||
|
||||
extern UINT16 *dynduke_back_data, *dynduke_fore_data, *dynduke_scroll_ram;
|
||||
|
@ -28,6 +28,16 @@
|
||||
|
||||
#define GAL_AUDIO "discrete"
|
||||
|
||||
class galaxian_state : public driver_device
|
||||
{
|
||||
public:
|
||||
galaxian_state(running_machine &machine, const driver_device_config_base &config)
|
||||
: driver_device(machine, config) { }
|
||||
|
||||
UINT8 *videoram;
|
||||
};
|
||||
|
||||
|
||||
/*----------- defined in video/galaxian.c -----------*/
|
||||
|
||||
extern UINT8 galaxian_frogger_adjust;
|
||||
|
@ -1,3 +1,13 @@
|
||||
class gatron_state : public driver_device
|
||||
{
|
||||
public:
|
||||
gatron_state(running_machine &machine, const driver_device_config_base &config)
|
||||
: driver_device(machine, config) { }
|
||||
|
||||
UINT8 *videoram;
|
||||
};
|
||||
|
||||
|
||||
/*----------- defined in video/gatron.c -----------*/
|
||||
|
||||
WRITE8_HANDLER( gat_videoram_w );
|
||||
|
@ -13,6 +13,16 @@
|
||||
#define GOTTLIEB_VIDEO_VBLANK 240
|
||||
|
||||
|
||||
class gottlieb_state : public driver_device
|
||||
{
|
||||
public:
|
||||
gottlieb_state(running_machine &machine, const driver_device_config_base &config)
|
||||
: driver_device(machine, config) { }
|
||||
|
||||
UINT8 *videoram;
|
||||
};
|
||||
|
||||
|
||||
/*----------- defined in audio/gottlieb.c -----------*/
|
||||
|
||||
WRITE8_HANDLER( gottlieb_sh_w );
|
||||
|
@ -9,6 +9,16 @@
|
||||
#include "devlegcy.h"
|
||||
|
||||
|
||||
class gridlee_state : public driver_device
|
||||
{
|
||||
public:
|
||||
gridlee_state(running_machine &machine, const driver_device_config_base &config)
|
||||
: driver_device(machine, config) { }
|
||||
|
||||
UINT8 *videoram;
|
||||
};
|
||||
|
||||
|
||||
/*----------- defined in audio/gridlee.c -----------*/
|
||||
|
||||
WRITE8_HANDLER( gridlee_sound_w );
|
||||
|
@ -1,3 +1,13 @@
|
||||
class gsword_state : public driver_device
|
||||
{
|
||||
public:
|
||||
gsword_state(running_machine &machine, const driver_device_config_base &config)
|
||||
: driver_device(machine, config) { }
|
||||
|
||||
UINT8 *videoram;
|
||||
};
|
||||
|
||||
|
||||
/*----------- defined in video/gsword.c -----------*/
|
||||
|
||||
extern size_t gsword_spritexy_size;
|
||||
|
@ -12,6 +12,7 @@ public:
|
||||
m_nvram(*this, "nvram") { }
|
||||
|
||||
required_shared_ptr<UINT8> m_nvram;
|
||||
UINT8 *videoram;
|
||||
};
|
||||
|
||||
/*----------- defined in machine/irobot.c -----------*/
|
||||
|
@ -12,6 +12,16 @@
|
||||
#define TMS_CLOCK XTAL_40MHz /* TMS320C31 clocks on drivedge */
|
||||
|
||||
|
||||
class itech32_state : public driver_device
|
||||
{
|
||||
public:
|
||||
itech32_state(running_machine &machine, const driver_device_config_base &config)
|
||||
: driver_device(machine, config) { }
|
||||
|
||||
UINT16 *videoram;
|
||||
};
|
||||
|
||||
|
||||
/*----------- defined in drivers/itech32.c -----------*/
|
||||
|
||||
void itech32_update_interrupts(running_machine *machine, int vint, int xint, int qint);
|
||||
|
@ -1,3 +1,13 @@
|
||||
class magmax_state : public driver_device
|
||||
{
|
||||
public:
|
||||
magmax_state(running_machine &machine, const driver_device_config_base &config)
|
||||
: driver_device(machine, config) { }
|
||||
|
||||
UINT16 *videoram;
|
||||
};
|
||||
|
||||
|
||||
/*----------- defined in video/magmax.c -----------*/
|
||||
|
||||
extern UINT16 *magmax_vreg;
|
||||
|
@ -8,26 +8,28 @@
|
||||
#include "machine/z80ctc.h"
|
||||
#include "machine/z80pio.h"
|
||||
#include "machine/z80sio.h"
|
||||
#include "machine/6821pia.h"
|
||||
|
||||
/* constants */
|
||||
#define MAIN_OSC_MCR_I XTAL_19_968MHz
|
||||
|
||||
|
||||
class mcr_state : public driver_device
|
||||
{
|
||||
public:
|
||||
mcr_state(running_machine &machine, const driver_device_config_base &config)
|
||||
: driver_device(machine, config) { }
|
||||
|
||||
UINT8 *videoram;
|
||||
};
|
||||
|
||||
|
||||
/*----------- defined in drivers/mcr.c -----------*/
|
||||
|
||||
WRITE8_DEVICE_HANDLER( mcr_ipu_sio_transmit );
|
||||
|
||||
|
||||
/*----------- defined in drivers/mcr68.c -----------*/
|
||||
|
||||
READ8_DEVICE_HANDLER( zwackery_port_2_r );
|
||||
|
||||
|
||||
/*----------- defined in machine/mcr.c -----------*/
|
||||
|
||||
extern attotime mcr68_timing_factor;
|
||||
|
||||
extern const z80_daisy_config mcr_daisy_chain[];
|
||||
extern const z80_daisy_config mcr_ipu_daisy_chain[];
|
||||
extern const z80ctc_interface mcr_ctc_intf;
|
||||
@ -43,31 +45,17 @@ extern UINT32 mcr_cpu_board;
|
||||
extern UINT32 mcr_sprite_board;
|
||||
extern UINT32 mcr_ssio_board;
|
||||
|
||||
extern const pia6821_interface zwackery_pia0_intf;
|
||||
extern const pia6821_interface zwackery_pia1_intf;
|
||||
extern const pia6821_interface zwackery_pia2_intf;
|
||||
|
||||
MACHINE_START( mcr );
|
||||
MACHINE_RESET( mcr );
|
||||
MACHINE_START( nflfoot );
|
||||
MACHINE_START( mcr68 );
|
||||
MACHINE_RESET( mcr68 );
|
||||
MACHINE_START( zwackery );
|
||||
MACHINE_RESET( zwackery );
|
||||
|
||||
INTERRUPT_GEN( mcr_interrupt );
|
||||
INTERRUPT_GEN( mcr_ipu_interrupt );
|
||||
INTERRUPT_GEN( mcr68_interrupt );
|
||||
|
||||
WRITE8_HANDLER( mcr_control_port_w );
|
||||
WRITE8_HANDLER( mcrmono_control_port_w );
|
||||
WRITE8_HANDLER( mcr_scroll_value_w );
|
||||
|
||||
WRITE16_HANDLER( mcr68_6840_upper_w );
|
||||
WRITE16_HANDLER( mcr68_6840_lower_w );
|
||||
READ16_HANDLER( mcr68_6840_upper_r );
|
||||
READ16_HANDLER( mcr68_6840_lower_r );
|
||||
|
||||
WRITE8_HANDLER( mcr_ipu_laserdisk_w );
|
||||
READ8_HANDLER( mcr_ipu_watchdog_r );
|
||||
WRITE8_HANDLER( mcr_ipu_watchdog_w );
|
||||
@ -111,22 +99,3 @@ PALETTE_INIT( spyhunt );
|
||||
|
||||
VIDEO_UPDATE( mcr3 );
|
||||
VIDEO_UPDATE( spyhunt );
|
||||
|
||||
|
||||
/*----------- defined in video/mcr68.c -----------*/
|
||||
|
||||
extern UINT8 mcr68_sprite_clip;
|
||||
extern INT8 mcr68_sprite_xoffset;
|
||||
|
||||
WRITE16_HANDLER( mcr68_paletteram_w );
|
||||
WRITE16_HANDLER( mcr68_videoram_w );
|
||||
|
||||
VIDEO_START( mcr68 );
|
||||
VIDEO_UPDATE( mcr68 );
|
||||
|
||||
WRITE16_HANDLER( zwackery_paletteram_w );
|
||||
WRITE16_HANDLER( zwackery_videoram_w );
|
||||
WRITE16_HANDLER( zwackery_spriteram_w );
|
||||
|
||||
VIDEO_START( zwackery );
|
||||
VIDEO_UPDATE( zwackery );
|
||||
|
56
src/mame/includes/mcr68.h
Normal file
56
src/mame/includes/mcr68.h
Normal file
@ -0,0 +1,56 @@
|
||||
#include "machine/6821pia.h"
|
||||
|
||||
class mcr68_state : public driver_device
|
||||
{
|
||||
public:
|
||||
mcr68_state(running_machine &machine, const driver_device_config_base &config)
|
||||
: driver_device(machine, config) { }
|
||||
|
||||
UINT16 *videoram;
|
||||
};
|
||||
|
||||
|
||||
/*----------- defined in drivers/mcr68.c -----------*/
|
||||
|
||||
READ8_DEVICE_HANDLER( zwackery_port_2_r );
|
||||
|
||||
|
||||
/*----------- defined in machine/mcr68.c -----------*/
|
||||
|
||||
extern attotime mcr68_timing_factor;
|
||||
|
||||
extern const pia6821_interface zwackery_pia0_intf;
|
||||
extern const pia6821_interface zwackery_pia1_intf;
|
||||
extern const pia6821_interface zwackery_pia2_intf;
|
||||
|
||||
|
||||
MACHINE_START( mcr68 );
|
||||
MACHINE_RESET( mcr68 );
|
||||
MACHINE_START( zwackery );
|
||||
MACHINE_RESET( zwackery );
|
||||
|
||||
WRITE16_HANDLER( mcr68_6840_upper_w );
|
||||
WRITE16_HANDLER( mcr68_6840_lower_w );
|
||||
READ16_HANDLER( mcr68_6840_upper_r );
|
||||
READ16_HANDLER( mcr68_6840_lower_r );
|
||||
|
||||
INTERRUPT_GEN( mcr68_interrupt );
|
||||
|
||||
|
||||
/*----------- defined in video/mcr68.c -----------*/
|
||||
|
||||
extern UINT8 mcr68_sprite_clip;
|
||||
extern INT8 mcr68_sprite_xoffset;
|
||||
|
||||
WRITE16_HANDLER( mcr68_paletteram_w );
|
||||
WRITE16_HANDLER( mcr68_videoram_w );
|
||||
|
||||
VIDEO_START( mcr68 );
|
||||
VIDEO_UPDATE( mcr68 );
|
||||
|
||||
WRITE16_HANDLER( zwackery_paletteram_w );
|
||||
WRITE16_HANDLER( zwackery_videoram_w );
|
||||
WRITE16_HANDLER( zwackery_spriteram_w );
|
||||
|
||||
VIDEO_START( zwackery );
|
||||
VIDEO_UPDATE( zwackery );
|
@ -6,6 +6,16 @@
|
||||
|
||||
#include "sound/samples.h"
|
||||
|
||||
class meadows_state : public driver_device
|
||||
{
|
||||
public:
|
||||
meadows_state(running_machine &machine, const driver_device_config_base &config)
|
||||
: driver_device(machine, config) { }
|
||||
|
||||
UINT8 *videoram;
|
||||
};
|
||||
|
||||
|
||||
/*----------- defined in audio/meadows.c -----------*/
|
||||
|
||||
SAMPLES_START( meadows_sh_start );
|
||||
|
@ -1,3 +1,13 @@
|
||||
class mustache_state : public driver_device
|
||||
{
|
||||
public:
|
||||
mustache_state(running_machine &machine, const driver_device_config_base &config)
|
||||
: driver_device(machine, config) { }
|
||||
|
||||
UINT8 *videoram;
|
||||
};
|
||||
|
||||
|
||||
/*----------- defined in video/mustache.c -----------*/
|
||||
|
||||
WRITE8_HANDLER( mustache_videoram_w );
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user