mirror of
https://github.com/holub/mame
synced 2025-06-28 23:24:23 +03:00
Forte Card: Switched the ver 110 (spanish) to parent set since
it's a posterior and newer version. Also cleaned up the driver. [Roberto Fresca]
This commit is contained in:
parent
922e97740b
commit
da4686f966
@ -358,29 +358,33 @@ public:
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************
|
||||||
|
* Video Hardware *
|
||||||
|
***********************************/
|
||||||
|
|
||||||
void fortecar_state::video_start()
|
void fortecar_state::video_start()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
UINT32 fortecar_state::screen_update_fortecar(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
UINT32 fortecar_state::screen_update_fortecar(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||||
{
|
{
|
||||||
int x,y,count;
|
int x, y, count;
|
||||||
count = 0;
|
count = 0;
|
||||||
|
|
||||||
for (y=0;y<0x1e;y++)
|
for (y = 0; y < 0x1e; y++)
|
||||||
{
|
{
|
||||||
for(x=0;x<0x4b;x++)
|
for(x = 0; x < 0x4b; x++)
|
||||||
{
|
{
|
||||||
int tile,color,bpp;
|
int tile, color, bpp;
|
||||||
|
|
||||||
tile = (m_vram[(count*4)+1] | (m_vram[(count*4)+2]<<8)) & 0xfff;
|
tile = (m_vram[(count*4)+1] | (m_vram[(count*4)+2]<<8)) & 0xfff;
|
||||||
color = m_vram[(count*4)+3] & 0x1f;
|
color = m_vram[(count*4)+3] & 0x1f;
|
||||||
bpp = (m_vram[(count*4)+3] & 0x20) >> 5;
|
bpp = (m_vram[(count*4)+3] & 0x20) >> 5;
|
||||||
|
|
||||||
if(bpp)
|
if(bpp)
|
||||||
color&=0x3;
|
color &= 0x3;
|
||||||
|
|
||||||
m_gfxdecode->gfx(bpp)->opaque(bitmap,cliprect,tile,color,0,0,x*8,y*8);
|
m_gfxdecode->gfx(bpp)->opaque(bitmap, cliprect, tile, color, 0, 0, x*8, y*8);
|
||||||
count++;
|
count++;
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -410,7 +414,7 @@ R = 82 Ohms Pull Down.
|
|||||||
static const int resistances_b [2] = { 510, 220 };
|
static const int resistances_b [2] = { 510, 220 };
|
||||||
double weights_r[3], weights_g[3], weights_b[2];
|
double weights_r[3], weights_g[3], weights_b[2];
|
||||||
|
|
||||||
compute_resistor_weights(0, 255, -1.0,
|
compute_resistor_weights(0, 255, -1.0,
|
||||||
3, resistances_rg, weights_r, 82, 0,
|
3, resistances_rg, weights_r, 82, 0,
|
||||||
3, resistances_rg, weights_g, 82, 0,
|
3, resistances_rg, weights_g, 82, 0,
|
||||||
2, resistances_b, weights_b, 82, 0);
|
2, resistances_b, weights_b, 82, 0);
|
||||||
@ -441,6 +445,10 @@ R = 82 Ohms Pull Down.
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************
|
||||||
|
* Misc R/W Handlers *
|
||||||
|
***********************************/
|
||||||
|
|
||||||
WRITE8_MEMBER(fortecar_state::ppi0_portc_w)
|
WRITE8_MEMBER(fortecar_state::ppi0_portc_w)
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
@ -459,7 +467,7 @@ DOUT PPI_PC4
|
|||||||
READ8_MEMBER(fortecar_state::ppi0_portc_r)
|
READ8_MEMBER(fortecar_state::ppi0_portc_r)
|
||||||
{
|
{
|
||||||
// popmessage("%s",machine().describe_context());
|
// popmessage("%s",machine().describe_context());
|
||||||
return ((m_eeprom->do_read()<<4) & 0x10);
|
return ((m_eeprom->do_read() << 4) & 0x10);
|
||||||
}
|
}
|
||||||
|
|
||||||
WRITE8_MEMBER(fortecar_state::ayporta_w)
|
WRITE8_MEMBER(fortecar_state::ayporta_w)
|
||||||
@ -517,6 +525,11 @@ Seems to work properly, but must be checked closely...
|
|||||||
// logerror("AY port B write %02x\n",data);
|
// logerror("AY port B write %02x\n",data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************
|
||||||
|
* Memory Map Information *
|
||||||
|
***********************************/
|
||||||
|
|
||||||
static ADDRESS_MAP_START( fortecar_map, AS_PROGRAM, 8, fortecar_state )
|
static ADDRESS_MAP_START( fortecar_map, AS_PROGRAM, 8, fortecar_state )
|
||||||
AM_RANGE(0x0000, 0xbfff) AM_ROM
|
AM_RANGE(0x0000, 0xbfff) AM_ROM
|
||||||
AM_RANGE(0xc000, 0xc7ff) AM_ROM
|
AM_RANGE(0xc000, 0xc7ff) AM_ROM
|
||||||
@ -548,6 +561,11 @@ Error messages:
|
|||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************
|
||||||
|
* Input Ports *
|
||||||
|
***********************************/
|
||||||
|
|
||||||
static INPUT_PORTS_START( fortecar )
|
static INPUT_PORTS_START( fortecar )
|
||||||
PORT_START("DSW") /* 8bit */
|
PORT_START("DSW") /* 8bit */
|
||||||
PORT_DIPNAME( 0x01, 0x01, "DSW-1" ) PORT_DIPLOCATION("DSW:1")
|
PORT_DIPNAME( 0x01, 0x01, "DSW-1" ) PORT_DIPLOCATION("DSW:1")
|
||||||
@ -597,6 +615,10 @@ static INPUT_PORTS_START( fortecar )
|
|||||||
INPUT_PORTS_END
|
INPUT_PORTS_END
|
||||||
|
|
||||||
|
|
||||||
|
/***************************************
|
||||||
|
* Graphics Layouts *
|
||||||
|
***************************************/
|
||||||
|
|
||||||
static const gfx_layout tiles8x8_layout_3bpp =
|
static const gfx_layout tiles8x8_layout_3bpp =
|
||||||
{
|
{
|
||||||
8, 8,
|
8, 8,
|
||||||
@ -620,12 +642,19 @@ static const gfx_layout tiles8x8_layout_6bpp =
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/****************************************
|
||||||
|
* Graphics Decode Information *
|
||||||
|
****************************************/
|
||||||
|
|
||||||
static GFXDECODE_START( fortecar )
|
static GFXDECODE_START( fortecar )
|
||||||
GFXDECODE_ENTRY( "gfx1", 0, tiles8x8_layout_3bpp, 0x000, 0x20 )
|
GFXDECODE_ENTRY( "gfx1", 0, tiles8x8_layout_3bpp, 0x000, 0x20 )
|
||||||
GFXDECODE_ENTRY( "gfx1", 0, tiles8x8_layout_6bpp, 0x100, 0x04 )
|
GFXDECODE_ENTRY( "gfx1", 0, tiles8x8_layout_6bpp, 0x100, 0x04 )
|
||||||
GFXDECODE_END
|
GFXDECODE_END
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************
|
||||||
|
* Machine Start & Reset *
|
||||||
|
***********************************/
|
||||||
|
|
||||||
void fortecar_state::machine_reset()
|
void fortecar_state::machine_reset()
|
||||||
{
|
{
|
||||||
@ -637,12 +666,16 @@ void fortecar_state::machine_reset()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************
|
||||||
|
* Machine Drivers *
|
||||||
|
***********************************/
|
||||||
|
|
||||||
static MACHINE_CONFIG_START( fortecar, fortecar_state )
|
static MACHINE_CONFIG_START( fortecar, fortecar_state )
|
||||||
/* basic machine hardware */
|
/* basic machine hardware */
|
||||||
MCFG_CPU_ADD("maincpu", Z80, CPU_CLOCK) /* 3 MHz, measured */
|
MCFG_CPU_ADD("maincpu", Z80, CPU_CLOCK) /* 3 MHz, measured */
|
||||||
MCFG_CPU_PROGRAM_MAP(fortecar_map)
|
MCFG_CPU_PROGRAM_MAP(fortecar_map)
|
||||||
MCFG_CPU_IO_MAP(fortecar_ports)
|
MCFG_CPU_IO_MAP(fortecar_ports)
|
||||||
MCFG_CPU_VBLANK_INT_DRIVER("screen", fortecar_state, nmi_line_pulse)
|
MCFG_CPU_VBLANK_INT_DRIVER("screen", fortecar_state, nmi_line_pulse)
|
||||||
|
|
||||||
MCFG_WATCHDOG_ADD("watchdog")
|
MCFG_WATCHDOG_ADD("watchdog")
|
||||||
MCFG_WATCHDOG_TIME_INIT(attotime::from_msec(200)) /* guess */
|
MCFG_WATCHDOG_TIME_INIT(attotime::from_msec(200)) /* guess */
|
||||||
@ -658,7 +691,6 @@ static MACHINE_CONFIG_START( fortecar, fortecar_state )
|
|||||||
MCFG_SCREEN_UPDATE_DRIVER(fortecar_state, screen_update_fortecar)
|
MCFG_SCREEN_UPDATE_DRIVER(fortecar_state, screen_update_fortecar)
|
||||||
MCFG_SCREEN_PALETTE("palette")
|
MCFG_SCREEN_PALETTE("palette")
|
||||||
|
|
||||||
|
|
||||||
MCFG_EEPROM_SERIAL_93C56_ADD("eeprom")
|
MCFG_EEPROM_SERIAL_93C56_ADD("eeprom")
|
||||||
MCFG_EEPROM_SERIAL_DEFAULT_VALUE(0)
|
MCFG_EEPROM_SERIAL_DEFAULT_VALUE(0)
|
||||||
|
|
||||||
@ -689,25 +721,9 @@ static MACHINE_CONFIG_START( fortecar, fortecar_state )
|
|||||||
MACHINE_CONFIG_END
|
MACHINE_CONFIG_END
|
||||||
|
|
||||||
|
|
||||||
ROM_START( fortecar )
|
/*******************************
|
||||||
ROM_REGION( 0x10000, "maincpu", 0 )
|
* ROMs Load *
|
||||||
ROM_LOAD( "fortecar.u7", 0x00000, 0x010000, CRC(2a4b3429) SHA1(8fa630dac949e758678a1a36b05b3412abe8ae16) )
|
*******************************/
|
||||||
|
|
||||||
ROM_REGION( 0x30000, "gfx1", 0 )
|
|
||||||
ROM_LOAD( "fortecar.u38", 0x00000, 0x10000, CRC(c2090690) SHA1(f0aa8935b90a2ab6043555ece69f926372246648) )
|
|
||||||
ROM_LOAD( "fortecar.u39", 0x10000, 0x10000, CRC(fc3ddf4f) SHA1(4a95b24c4edb67f6d59f795f86dfbd12899e01b0) )
|
|
||||||
ROM_LOAD( "fortecar.u40", 0x20000, 0x10000, CRC(9693bb83) SHA1(e3e3bc750c89a1edd1072ce3890b2ce498dec633) )
|
|
||||||
|
|
||||||
/* took from the Spanish version, these are likely to be identical anyway */
|
|
||||||
ROM_REGION( 0x0800, "nvram", 0 ) /* default NVRAM */
|
|
||||||
ROM_LOAD( "fortecrd_nvram.u6", 0x0000, 0x0800, BAD_DUMP CRC(7d3e7eb5) SHA1(788fe7adc381bcc6eaefed33f5aa1081340608a0) )
|
|
||||||
|
|
||||||
ROM_REGION16_BE( 0x0100, "eeprom", 0 ) /* default serial EEPROM */
|
|
||||||
ROM_LOAD16_WORD_SWAP( "forte_card_93cs56_serial_12345678.u13", 0x0000, 0x0100, BAD_DUMP CRC(2fc5961d) SHA1(f958c8b2b4e48cc6e5a607a6751acde5592bd27f) )
|
|
||||||
|
|
||||||
ROM_REGION( 0x200, "proms", 0 )
|
|
||||||
ROM_LOAD( "forte_card_82s147.u47", 0x0000, 0x0200, BAD_DUMP CRC(7e631818) SHA1(ac08b0de30260278af3a1c5dee5810d4304cb9ca) )
|
|
||||||
ROM_END
|
|
||||||
|
|
||||||
ROM_START( fortecrd )
|
ROM_START( fortecrd )
|
||||||
ROM_REGION( 0x10000, "maincpu", 0 )
|
ROM_REGION( 0x10000, "maincpu", 0 )
|
||||||
@ -728,13 +744,41 @@ ROM_START( fortecrd )
|
|||||||
ROM_LOAD( "forte_card_82s147.u47", 0x0000, 0x0200, CRC(7e631818) SHA1(ac08b0de30260278af3a1c5dee5810d4304cb9ca) )
|
ROM_LOAD( "forte_card_82s147.u47", 0x0000, 0x0200, CRC(7e631818) SHA1(ac08b0de30260278af3a1c5dee5810d4304cb9ca) )
|
||||||
ROM_END
|
ROM_END
|
||||||
|
|
||||||
|
ROM_START( fortecar )
|
||||||
|
ROM_REGION( 0x10000, "maincpu", 0 )
|
||||||
|
ROM_LOAD( "fortecar.u7", 0x00000, 0x010000, CRC(2a4b3429) SHA1(8fa630dac949e758678a1a36b05b3412abe8ae16) )
|
||||||
|
|
||||||
DRIVER_INIT_MEMBER(fortecar_state,fortecar)
|
ROM_REGION( 0x30000, "gfx1", 0 )
|
||||||
|
ROM_LOAD( "fortecar.u38", 0x00000, 0x10000, CRC(c2090690) SHA1(f0aa8935b90a2ab6043555ece69f926372246648) )
|
||||||
|
ROM_LOAD( "fortecar.u39", 0x10000, 0x10000, CRC(fc3ddf4f) SHA1(4a95b24c4edb67f6d59f795f86dfbd12899e01b0) )
|
||||||
|
ROM_LOAD( "fortecar.u40", 0x20000, 0x10000, CRC(9693bb83) SHA1(e3e3bc750c89a1edd1072ce3890b2ce498dec633) )
|
||||||
|
|
||||||
|
/* took from the Spanish version, these are likely to be identical anyway */
|
||||||
|
ROM_REGION( 0x0800, "nvram", 0 ) /* default NVRAM */
|
||||||
|
ROM_LOAD( "fortecrd_nvram.u6", 0x0000, 0x0800, BAD_DUMP CRC(7d3e7eb5) SHA1(788fe7adc381bcc6eaefed33f5aa1081340608a0) )
|
||||||
|
|
||||||
|
ROM_REGION16_BE( 0x0100, "eeprom", 0 ) /* default serial EEPROM */
|
||||||
|
ROM_LOAD16_WORD_SWAP( "forte_card_93cs56_serial_12345678.u13", 0x0000, 0x0100, BAD_DUMP CRC(2fc5961d) SHA1(f958c8b2b4e48cc6e5a607a6751acde5592bd27f) )
|
||||||
|
|
||||||
|
ROM_REGION( 0x200, "proms", 0 )
|
||||||
|
ROM_LOAD( "forte_card_82s147.u47", 0x0000, 0x0200, BAD_DUMP CRC(7e631818) SHA1(ac08b0de30260278af3a1c5dee5810d4304cb9ca) )
|
||||||
|
ROM_END
|
||||||
|
|
||||||
|
|
||||||
|
/***********************************
|
||||||
|
* Driver Init *
|
||||||
|
***********************************/
|
||||||
|
|
||||||
|
DRIVER_INIT_MEMBER(fortecar_state, fortecar)
|
||||||
{
|
{
|
||||||
// ...
|
// ...
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* YEAR NAME PARENT MACHINE INPUT STATE INIT ROT COMPANY FULLNAME FLAGS LAYOUT */
|
/***********************************
|
||||||
GAMEL( 1994, fortecar, 0, fortecar, fortecar, fortecar_state, fortecar, ROT0, "Fortex Ltd", "Forte Card (Ver 103, English)", MACHINE_NOT_WORKING, layout_fortecrd )
|
* Game Drivers *
|
||||||
GAMEL( 1994, fortecrd, fortecar, fortecar, fortecar, fortecar_state, fortecar, ROT0, "Fortex Ltd", "Forte Card (Ver 110, Spanish)", 0, layout_fortecrd )
|
***********************************/
|
||||||
|
|
||||||
|
/* YEAR NAME PARENT MACHINE INPUT STATE INIT ROT COMPANY FULLNAME FLAGS LAYOUT */
|
||||||
|
GAMEL( 1994, fortecrd, 0, fortecar, fortecar, fortecar_state, fortecar, ROT0, "Fortex Ltd", "Forte Card (Ver 110, Spanish)", 0, layout_fortecrd )
|
||||||
|
GAMEL( 1994, fortecar, fortecrd, fortecar, fortecar, fortecar_state, fortecar, ROT0, "Fortex Ltd", "Forte Card (Ver 103, English)", MACHINE_NOT_WORKING, layout_fortecrd )
|
||||||
|
@ -12269,8 +12269,8 @@ fccpu1 //
|
|||||||
pesadelo // (c) 1989 Forte II Games
|
pesadelo // (c) 1989 Forte II Games
|
||||||
|
|
||||||
@source:fortecar.cpp
|
@source:fortecar.cpp
|
||||||
fortecar //
|
fortecrd // (c) 1994, Fortex Ltd.
|
||||||
fortecrd //
|
fortecar // (c) 1994, Fortex Ltd.
|
||||||
|
|
||||||
@source:fp1100.cpp
|
@source:fp1100.cpp
|
||||||
fp1100 //
|
fp1100 //
|
||||||
|
Loading…
Reference in New Issue
Block a user