diff options
Diffstat (limited to 'src/mame/drivers/dotrikun.c')
-rw-r--r-- | src/mame/drivers/dotrikun.c | 106 |
1 files changed, 106 insertions, 0 deletions
diff --git a/src/mame/drivers/dotrikun.c b/src/mame/drivers/dotrikun.c new file mode 100644 index 00000000000..dda86e1ad02 --- /dev/null +++ b/src/mame/drivers/dotrikun.c @@ -0,0 +1,106 @@ +/*************************************************************************** + +Dottori Kun (Head On's mini game) +(c)1990 SEGA + +Driver by Takahiro Nogi (nogi@kt.rim.or.jp) 1999/12/15 - + + +CPU : Z-80 (4MHz) +SOUND : (none) + +14479.MPR ; PRG (FIRST VER) +14479A.MPR ; PRG (NEW VER) + +* This game is only for the test of cabinet +* BackRaster = WHITE on the FIRST version. +* BackRaster = BLACK on the NEW version. +* On the NEW version, push COIN-SW as TEST MODE. +* 0000-3FFF:ROM 8000-85FF:VRAM(128x96) 8600-87FF:WORK-RAM + +***************************************************************************/ + +#include "driver.h" +#include "cpu/z80/z80.h" + + +VIDEO_UPDATE( dotrikun ); +WRITE8_HANDLER( dotrikun_color_w ); + + +static ADDRESS_MAP_START( readmem, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x3fff) AM_READ(MRA8_ROM) + AM_RANGE(0x8000, 0x87ff) AM_READ(MRA8_RAM) +ADDRESS_MAP_END + +static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 8 ) + AM_RANGE(0x0000, 0x3fff) AM_WRITE(MWA8_ROM) + AM_RANGE(0x8000, 0x87ff) AM_WRITE(MWA8_RAM) AM_BASE(&videoram) AM_SIZE(&videoram_size) +ADDRESS_MAP_END + +static ADDRESS_MAP_START( readport, ADDRESS_SPACE_IO, 8 ) + ADDRESS_MAP_FLAGS( AMEF_ABITS(8) ) + AM_RANGE(0x00, 0x00) AM_READ(input_port_0_r) +ADDRESS_MAP_END + +static ADDRESS_MAP_START( writeport, ADDRESS_SPACE_IO, 8 ) + ADDRESS_MAP_FLAGS( AMEF_ABITS(8) ) + AM_RANGE(0x00, 0x00) AM_WRITE(dotrikun_color_w) +ADDRESS_MAP_END + + +static INPUT_PORTS_START( dotrikun ) + PORT_START + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON1 ) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON2 ) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_START1 ) + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN1 ) +INPUT_PORTS_END + + +static MACHINE_DRIVER_START( dotrikun ) + + /* basic machine hardware */ + MDRV_CPU_ADD(Z80, 4000000) /* 4 MHz */ + MDRV_CPU_PROGRAM_MAP(readmem,writemem) + MDRV_CPU_IO_MAP(readport,writeport) + MDRV_CPU_VBLANK_INT(irq0_line_hold,1) + + MDRV_SCREEN_REFRESH_RATE(60) + MDRV_SCREEN_VBLANK_TIME(DEFAULT_60HZ_VBLANK_DURATION) + + /* video hardware */ + MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER) + MDRV_VIDEO_UPDATE(dotrikun) + + MDRV_SCREEN_FORMAT(BITMAP_FORMAT_RGB32) + MDRV_SCREEN_SIZE(256, 256) + MDRV_SCREEN_VISIBLE_AREA(0, 256-1, 0, 192-1) + + /* sound hardware */ +MACHINE_DRIVER_END + + +/*************************************************************************** + + Game driver(s) + +***************************************************************************/ + +ROM_START( dotrikun ) + ROM_REGION( 0x10000, REGION_CPU1, 0 ) + ROM_LOAD( "14479a.mpr", 0x0000, 0x4000, CRC(b77a50db) SHA1(2a5d812d39f0f58f5c3e1b46f80aca75aa225115) ) +ROM_END + +ROM_START( dotriku2 ) + ROM_REGION( 0x10000, REGION_CPU1, 0 ) + ROM_LOAD( "14479.mpr", 0x0000, 0x4000, CRC(a6aa7fa5) SHA1(4dbea33fb3541fdacf2195355751078a33bb30d5) ) +ROM_END + + +GAME( 1990, dotrikun, 0, dotrikun, dotrikun, 0, ROT0, "Sega", "Dottori Kun (new version)", GAME_NO_SOUND ) +GAME( 1990, dotriku2, dotrikun, dotrikun, dotrikun, 0, ROT0, "Sega", "Dottori Kun (old version)", GAME_NO_SOUND ) |