mirror of
https://github.com/holub/mame
synced 2025-05-22 13:48:55 +03:00
Other improvements, enters into attract mode
This commit is contained in:
parent
b0525516b0
commit
3ec6511b1b
@ -1,12 +1,26 @@
|
||||
/*
|
||||
Neo Print
|
||||
doesn't seem to have anything in common with a standard NeoGeo apart from how the carts look.
|
||||
/*******************************************************************************************
|
||||
|
||||
Neo Print (c) 1996 SNK
|
||||
|
||||
*/
|
||||
preliminary driver by David Haywood & Angelo Salese
|
||||
|
||||
npcartv1 bp 1260 pc += 2
|
||||
98best44 bp 1312 pc += 2
|
||||
|
||||
TODO:
|
||||
- EEPROM hook-up;
|
||||
- sound interface;
|
||||
- implement remaining video features, namely scrolling feature;
|
||||
- inputs are bare bones and needs extra work, they doesn't work on attract mode?
|
||||
- printer device;
|
||||
- camera device;
|
||||
- lamps;
|
||||
|
||||
*******************************************************************************************/
|
||||
|
||||
#include "emu.h"
|
||||
#include "cpu/m68000/m68000.h"
|
||||
#include "machine/eeprom.h"
|
||||
|
||||
static UINT16* npvidram;
|
||||
static UINT16* npvidregs;
|
||||
@ -20,11 +34,18 @@ VIDEO_UPDATE(neoprint)
|
||||
{
|
||||
bitmap_fill(bitmap, cliprect, 0);
|
||||
|
||||
/* layer 1 */
|
||||
{
|
||||
int i, y, x;
|
||||
const gfx_element *gfx = screen->machine->gfx[0];
|
||||
INT16 scrollx, scrolly;
|
||||
|
||||
i = (npvidregs[0x6/2] & 1) * 0x400;
|
||||
i = (npvidregs[0x0e/2] & 3) * 0x400; //0x16 is identical?
|
||||
scrollx = 0;//((npvidregs[0x08/2] - 0xd8) & 0xffff);
|
||||
scrolly = 0;//((npvidregs[0x0a/2] - 0xffeb) & 0xffff);
|
||||
|
||||
scrollx/=2;
|
||||
scrolly/=2;
|
||||
|
||||
for (y=0;y<32;y++)
|
||||
{
|
||||
@ -35,19 +56,90 @@ VIDEO_UPDATE(neoprint)
|
||||
UINT8 fx = (npvidram[i*2+1] & 0x0040);
|
||||
UINT8 fy = (npvidram[i*2+1] & 0x0080);
|
||||
|
||||
drawgfx_transpen(bitmap,cliprect,gfx,dat,color,fx,fy,x*16,y*16,0);
|
||||
drawgfx_transpen(bitmap,cliprect,gfx,dat,color,fx,fy,x*16+scrollx,y*16-scrolly,0);
|
||||
drawgfx_transpen(bitmap,cliprect,gfx,dat,color,fx,fy,x*16+scrollx-512,y*16-scrolly,0);
|
||||
drawgfx_transpen(bitmap,cliprect,gfx,dat,color,fx,fy,x*16+scrollx,y*16-scrolly-512,0);
|
||||
drawgfx_transpen(bitmap,cliprect,gfx,dat,color,fx,fy,x*16+scrollx-512,y*16-scrolly-512,0);
|
||||
|
||||
i++;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/* layer 0 */
|
||||
{
|
||||
int i, y, x;
|
||||
const gfx_element *gfx = screen->machine->gfx[0];
|
||||
INT16 scrollx, scrolly;
|
||||
|
||||
i = (npvidregs[0x06/2] & 3) * 0x400;
|
||||
scrollx = 0;//((npvidregs[0x00/2] - 0xd8) & 0xffff);
|
||||
scrolly = 0;//((npvidregs[0x02/2] - 0xffeb) & 0xffff);
|
||||
|
||||
scrollx/=2;
|
||||
scrolly/=2;
|
||||
|
||||
for (y=0;y<32;y++)
|
||||
{
|
||||
for (x=0;x<32;x++)
|
||||
{
|
||||
UINT16 dat = npvidram[i*2]>>2;
|
||||
UINT16 color = ((npvidram[i*2+1] & 0xff00) >> 8)*4;
|
||||
UINT8 fx = (npvidram[i*2+1] & 0x0040);
|
||||
UINT8 fy = (npvidram[i*2+1] & 0x0080);
|
||||
|
||||
drawgfx_transpen(bitmap,cliprect,gfx,dat,color,fx,fy,x*16+scrollx,y*16-scrolly,0);
|
||||
drawgfx_transpen(bitmap,cliprect,gfx,dat,color,fx,fy,x*16+scrollx-512,y*16-scrolly,0);
|
||||
drawgfx_transpen(bitmap,cliprect,gfx,dat,color,fx,fy,x*16+scrollx,y*16-scrolly-512,0);
|
||||
drawgfx_transpen(bitmap,cliprect,gfx,dat,color,fx,fy,x*16+scrollx-512,y*16-scrolly-512,0);
|
||||
|
||||
i++;
|
||||
//i&=0x3ff;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
static READ8_HANDLER( neoprint_eeprom_r )
|
||||
{
|
||||
return (eeprom_read_bit(space->machine->device("eeprom")) & 1) << 7;
|
||||
}
|
||||
|
||||
static WRITE8_HANDLER( neoprint_eeprom_w )
|
||||
{
|
||||
eeprom_set_clock_line(space->machine->device("eeprom"), (data & 2) ? ASSERT_LINE : CLEAR_LINE );
|
||||
eeprom_set_cs_line(space->machine->device("eeprom"), (data & 4) ? CLEAR_LINE : ASSERT_LINE );
|
||||
eeprom_write_bit(space->machine->device("eeprom"), data & 1);
|
||||
|
||||
//printf("%08x\n",cpu_get_pc(space->cpu));
|
||||
|
||||
}
|
||||
|
||||
static READ8_HANDLER( neoprint_unk_r )
|
||||
{
|
||||
static UINT8 vblank;
|
||||
|
||||
/* ---x ---- tested in irq routine, odd/even field number? */
|
||||
/* ---- xx-- one of these two must be high */
|
||||
/* ---- --xx checked right before entering into attract mode, presumably printer/camera related */
|
||||
|
||||
vblank = (space->machine->primary_screen->frame_number() & 0x1) ? 0x10 : 0x00;
|
||||
|
||||
//if(cpu_get_pc(space->cpu) != 0x1504 && cpu_get_pc(space->cpu) != 0x5f86 && cpu_get_pc(space->cpu) != 0x5f90)
|
||||
// printf("%08x\n",cpu_get_pc(space->cpu));
|
||||
|
||||
return vblank| 4 | 3;
|
||||
}
|
||||
|
||||
static READ8_HANDLER( neoprint_unk2_r )
|
||||
{
|
||||
/* ---- ---x checked by 98best44 at start-up */
|
||||
return 0x01;
|
||||
}
|
||||
|
||||
static ADDRESS_MAP_START( neoprint_map, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x000000, 0x07ffff) AM_ROM
|
||||
/* AM_RANGE(0x100000, 0x17ffff) multi-cart or banking, some writes points here if anything lies there too */
|
||||
@ -55,56 +147,26 @@ static ADDRESS_MAP_START( neoprint_map, ADDRESS_SPACE_PROGRAM, 16 )
|
||||
AM_RANGE(0x300000, 0x30ffff) AM_RAM
|
||||
AM_RANGE(0x400000, 0x43ffff) AM_RAM AM_BASE(&npvidram)
|
||||
AM_RANGE(0x500000, 0x51ffff) AM_RAM_WRITE(paletteram16_xBBBBBGGGGGRRRRR_word_w) AM_BASE_GENERIC(paletteram)
|
||||
AM_RANGE(0x600000, 0x600001) AM_READ_PORT("SYSTEM")
|
||||
AM_RANGE(0x600002, 0x600003) AM_READ_PORT("SYSA") AM_WRITENOP
|
||||
AM_RANGE(0x600000, 0x600001) AM_READ8(neoprint_unk2_r,0xff00)
|
||||
AM_RANGE(0x600002, 0x600003) AM_READWRITE8(neoprint_eeprom_r,neoprint_eeprom_w,0xff00)
|
||||
AM_RANGE(0x600004, 0x600005) AM_READ_PORT("SYSTEM") AM_WRITENOP
|
||||
AM_RANGE(0x600006, 0x600007) AM_READ_PORT("IN")
|
||||
AM_RANGE(0x600008, 0x600009) AM_READ_PORT("DSW1")
|
||||
AM_RANGE(0x60000a, 0x60000b) AM_READ_PORT("SYSB")
|
||||
AM_RANGE(0x60000a, 0x60000b) AM_READ8(neoprint_unk_r,0xff00)
|
||||
AM_RANGE(0x60000c, 0x60000d) AM_READ_PORT("DSW2")
|
||||
|
||||
AM_RANGE(0x700000, 0x700017) AM_RAM AM_BASE(&npvidregs)
|
||||
AM_RANGE(0x700000, 0x70001b) AM_RAM AM_BASE(&npvidregs)
|
||||
|
||||
AM_RANGE(0x70001e, 0x70001f) AM_WRITENOP //watchdog
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static INPUT_PORTS_START( neoprint )
|
||||
PORT_START("SYSA")
|
||||
PORT_DIPNAME( 0x01, 0x01, "SYSA" )
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0100, 0x0100, "SYS" )
|
||||
PORT_DIPSETTING( 0x0100, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0200, 0x0200, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0200, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0400, 0x0400, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0400, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0800, 0x0800, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0800, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_START("SYSTEM")
|
||||
PORT_BIT( 0x00ff, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_COIN2 )
|
||||
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_SERVICE1 )
|
||||
PORT_SERVICE_NO_TOGGLE( 0x0800, IP_ACTIVE_LOW )
|
||||
PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x1000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
@ -118,106 +180,8 @@ static INPUT_PORTS_START( neoprint )
|
||||
PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
|
||||
PORT_START("SYSB")
|
||||
PORT_DIPNAME( 0x01, 0x01, "SYSB" )
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0100, 0x0100, "SYS" )
|
||||
PORT_DIPSETTING( 0x0100, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0200, 0x0200, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0200, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0400, 0x0400, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0400, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0800, 0x0800, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0800, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x1000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x2000, 0x2000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x2000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x4000, 0x4000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x4000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x8000, 0x8000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_START("SYSTEM")
|
||||
PORT_DIPNAME( 0x01, 0x01, "SYSTEM" )
|
||||
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x04, 0x04, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x04, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x08, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x10, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x20, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0100, 0x0100, "SYS" )
|
||||
PORT_DIPSETTING( 0x0100, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0200, 0x0200, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0200, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0400, 0x0400, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0400, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x0800, 0x0800, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x0800, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x1000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x2000, 0x2000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x2000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x4000, 0x4000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x4000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_DIPNAME( 0x8000, 0x8000, DEF_STR( Unknown ) )
|
||||
PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_START("IN")
|
||||
PORT_BIT( 0x00ff, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
PORT_BIT( 0x00ff, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_DIPNAME( 0x0100, 0x0100, "IN0" )
|
||||
PORT_DIPSETTING( 0x0100, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
@ -235,7 +199,7 @@ static INPUT_PORTS_START( neoprint )
|
||||
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON1) PORT_NAME("Green Button") PORT_CODE(KEYCODE_X)
|
||||
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_BUTTON2) PORT_NAME("Red Button") PORT_CODE(KEYCODE_Z)
|
||||
PORT_START("DSW1")
|
||||
PORT_BIT( 0x00ff, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
PORT_BIT( 0x00ff, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_DIPNAME( 0x0100, 0x0100, "DSW1" )
|
||||
PORT_DIPSETTING( 0x0100, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
@ -261,7 +225,7 @@ static INPUT_PORTS_START( neoprint )
|
||||
PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
PORT_START("DSW2")
|
||||
PORT_BIT( 0x00ff, IP_ACTIVE_HIGH, IPT_UNUSED )
|
||||
PORT_BIT( 0x00ff, IP_ACTIVE_LOW, IPT_UNUSED )
|
||||
PORT_DIPNAME( 0x0100, 0x0100, "DSW2" )
|
||||
PORT_DIPSETTING( 0x0100, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
|
||||
@ -313,11 +277,13 @@ public:
|
||||
|
||||
|
||||
static MACHINE_CONFIG_START( neoprint, neoprint_state )
|
||||
|
||||
MDRV_CPU_ADD("maincpu", M68000, 12000000)
|
||||
MDRV_CPU_PROGRAM_MAP(neoprint_map)
|
||||
MDRV_CPU_VBLANK_INT("screen", irq2_line_hold) // lv1,2,3 valid?
|
||||
|
||||
MDRV_EEPROM_93C46_ADD("eeprom")
|
||||
|
||||
|
||||
MDRV_GFXDECODE(neoprint)
|
||||
|
||||
MDRV_SCREEN_ADD("screen", RASTER)
|
||||
@ -372,5 +338,23 @@ ROM_START( 98best44 )
|
||||
ROM_END
|
||||
|
||||
|
||||
GAME( 199?, npcartv1, 0, neoprint, neoprint, 0, ROT0, "SNK", "Neo Print V1", GAME_NO_SOUND | GAME_NOT_WORKING )
|
||||
GAME( 1998, 98best44, 0, neoprint, neoprint, 0, ROT0, "SNK", "'98 NeoPri Best 44 (Japan)", GAME_NO_SOUND | GAME_NOT_WORKING )
|
||||
/* FIXME: get rid of these two, probably something to do with the unemulated irq and camera / printer devices */
|
||||
static DRIVER_INIT( npcartv1 )
|
||||
{
|
||||
UINT16 *ROM = (UINT16 *)memory_region( machine, "maincpu" );
|
||||
|
||||
ROM[0x1260/2] = 0x4e71;
|
||||
|
||||
ROM[0x43c8/2] = 0x4e71; //ROM checksum
|
||||
}
|
||||
|
||||
|
||||
static DRIVER_INIT( 98best44 )
|
||||
{
|
||||
UINT16 *ROM = (UINT16 *)memory_region( machine, "maincpu" );
|
||||
|
||||
ROM[0x1312/2] = 0x4e71;
|
||||
}
|
||||
|
||||
GAME( 1996, npcartv1, 0, neoprint, neoprint, npcartv1, ROT0, "SNK", "Neo Print V1", GAME_NO_SOUND | GAME_NOT_WORKING )
|
||||
GAME( 1998, 98best44, 0, neoprint, neoprint, 98best44, ROT0, "SNK", "'98 NeoPri Best 44 (Japan)", GAME_NO_SOUND | GAME_NOT_WORKING )
|
||||
|
Loading…
Reference in New Issue
Block a user