diff options
Diffstat (limited to 'trunk/src/mame/drivers/neptunp2.c')
-rw-r--r-- | trunk/src/mame/drivers/neptunp2.c | 126 |
1 files changed, 126 insertions, 0 deletions
diff --git a/trunk/src/mame/drivers/neptunp2.c b/trunk/src/mame/drivers/neptunp2.c new file mode 100644 index 00000000000..3256657825a --- /dev/null +++ b/trunk/src/mame/drivers/neptunp2.c @@ -0,0 +1,126 @@ +/*************************************************************************** + + Neptune's Pearls (c) Unidesa? + + skeleton driver, can't do much without gfx roms anyway. + +***************************************************************************/ + +#include "emu.h" +#include "cpu/i86/i86.h" + + +class neptunp2_state : public driver_device +{ +public: + neptunp2_state(const machine_config &mconfig, device_type type, const char *tag) + : driver_device(mconfig, type, tag) { } + +}; + + +static VIDEO_START( neptunp2 ) +{ + +} + +static SCREEN_UPDATE( neptunp2 ) +{ + return 0; +} + +static READ8_HANDLER( test_r ) +{ + return space->machine().rand(); +} + +static ADDRESS_MAP_START( neptunp2_map, AS_PROGRAM, 8 ) + AM_RANGE(0x00000, 0xbffff) AM_ROM + AM_RANGE(0xe0000, 0xeffff) AM_RAM + + AM_RANGE(0xd0000, 0xd7fff) AM_RAM //videoram + AM_RANGE(0xdb004, 0xdb007) AM_RAM + AM_RANGE(0xdb00c, 0xdb00f) AM_RAM + + AM_RANGE(0xff806, 0xff806) AM_READ(test_r) + AM_RANGE(0xff810, 0xff810) AM_READ(test_r) + AM_RANGE(0xff812, 0xff812) AM_READ(test_r) + + AM_RANGE(0xff980, 0xff980) AM_WRITENOP + + AM_RANGE(0xffff0, 0xfffff) AM_ROM +ADDRESS_MAP_END + +static ADDRESS_MAP_START( neptunp2_io, AS_IO, 8 ) +ADDRESS_MAP_END + + +static INPUT_PORTS_START( neptunp2 ) + +INPUT_PORTS_END + +#if 0 +static const gfx_layout charlayout = +{ + 8,8, /* 8*8 characters */ + RGN_FRAC(1,3), /* 1024 characters */ + 3, /* 3 bits per pixel */ + { RGN_FRAC(1,3), RGN_FRAC(2,3), RGN_FRAC(0,3) }, /* the bitplanes are separated */ + { 0, 1, 2, 3, 4, 5, 6, 7 }, + { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 }, + 8*8 /* every char takes 8 consecutive bytes */ +}; +#endif + +static GFXDECODE_START( neptunp2 ) +// GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 8 ) +GFXDECODE_END + +static MACHINE_CONFIG_START( neptunp2, neptunp2_state ) + + /* basic machine hardware */ + MCFG_CPU_ADD("maincpu",I80188,20000000) // N80C188-20 AMD + MCFG_CPU_PROGRAM_MAP(neptunp2_map) + MCFG_CPU_IO_MAP(neptunp2_io) +// MCFG_CPU_VBLANK_INT("screen",irq0_line_hold) + + /* video hardware */ + MCFG_SCREEN_ADD("screen", RASTER) + MCFG_SCREEN_REFRESH_RATE(60) + MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) + MCFG_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16) + MCFG_SCREEN_SIZE(32*8, 32*8) + MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1) + MCFG_SCREEN_UPDATE(neptunp2) + MCFG_GFXDECODE(neptunp2) + MCFG_PALETTE_LENGTH(512) + + MCFG_VIDEO_START(neptunp2) + + /* sound hardware */ + MCFG_SPEAKER_STANDARD_MONO("mono") + +MACHINE_CONFIG_END + +/*************************************************************************** + + Game driver(s) + +***************************************************************************/ + +ROM_START( neptunp2 ) + ROM_REGION( 0x100000, "maincpu", 0 ) + ROM_LOAD( "u2.bin", 0x000000, 0x100000, CRC(4fbb06d1) SHA1(6490cd3b96b3b61f48fcb843772bd787605ab76f) ) + + ROM_REGION( 0x100000, "prg_data", 0 ) //dunno how this maps ... + ROM_LOAD( "u3.bin", 0x000000, 0x100000, CRC(3c1746e2) SHA1(a7fd59f5397ce1653848e15f16399b537f3a1ea7) ) + + ROM_REGION( 0x200000, "oki", 0 ) + ROM_LOAD( "u14.bin", 0x000000, 0x100000, CRC(a2de1156) SHA1(58b325b720057e8d7105fe3a87ac2c0109afad84) ) + ROM_LOAD( "u15.bin", 0x100000, 0x100000, CRC(8de6d4de) SHA1(121e7507ef57074bc7ad0bf69556f26c84c4e236) ) + + ROM_REGION( 0x10000, "gfx", 0 ) + ROM_LOAD( "flash_roms", 0x00000, 0x10000, NO_DUMP ) +ROM_END + +GAME( 199?, neptunp2, 0, neptunp2, neptunp2, 0, ROT0, "Unidesa?", "Neptune's Pearls 2", GAME_NOT_WORKING | GAME_NO_SOUND ) |