diff options
-rw-r--r-- | src/mame/drivers/fortecar.cpp | 108 | ||||
-rw-r--r-- | src/mame/mame.lst | 4 |
2 files changed, 78 insertions, 34 deletions
diff --git a/src/mame/drivers/fortecar.cpp b/src/mame/drivers/fortecar.cpp index 3597caa1ad9..65a90424f52 100644 --- a/src/mame/drivers/fortecar.cpp +++ b/src/mame/drivers/fortecar.cpp @@ -358,29 +358,33 @@ public: }; +/*********************************** +* Video Hardware * +***********************************/ + void fortecar_state::video_start() { } 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; - 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; color = m_vram[(count*4)+3] & 0x1f; bpp = (m_vram[(count*4)+3] & 0x20) >> 5; 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++; } @@ -410,7 +414,7 @@ R = 82 Ohms Pull Down. static const int resistances_b [2] = { 510, 220 }; 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_g, 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) { /* @@ -459,7 +467,7 @@ DOUT PPI_PC4 READ8_MEMBER(fortecar_state::ppi0_portc_r) { // 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) @@ -517,6 +525,11 @@ Seems to work properly, but must be checked closely... // logerror("AY port B write %02x\n",data); } + +/*********************************** +* Memory Map Information * +***********************************/ + static ADDRESS_MAP_START( fortecar_map, AS_PROGRAM, 8, fortecar_state ) AM_RANGE(0x0000, 0xbfff) AM_ROM AM_RANGE(0xc000, 0xc7ff) AM_ROM @@ -548,6 +561,11 @@ Error messages: */ + +/*********************************** +* Input Ports * +***********************************/ + static INPUT_PORTS_START( fortecar ) PORT_START("DSW") /* 8bit */ PORT_DIPNAME( 0x01, 0x01, "DSW-1" ) PORT_DIPLOCATION("DSW:1") @@ -597,6 +615,10 @@ static INPUT_PORTS_START( fortecar ) INPUT_PORTS_END +/*************************************** +* Graphics Layouts * +***************************************/ + static const gfx_layout tiles8x8_layout_3bpp = { 8, 8, @@ -620,12 +642,19 @@ static const gfx_layout tiles8x8_layout_6bpp = }; +/**************************************** +* Graphics Decode Information * +****************************************/ + static GFXDECODE_START( fortecar ) GFXDECODE_ENTRY( "gfx1", 0, tiles8x8_layout_3bpp, 0x000, 0x20 ) GFXDECODE_ENTRY( "gfx1", 0, tiles8x8_layout_6bpp, 0x100, 0x04 ) GFXDECODE_END +/*********************************** +* Machine Start & Reset * +***********************************/ void fortecar_state::machine_reset() { @@ -637,12 +666,16 @@ void fortecar_state::machine_reset() } +/*********************************** +* Machine Drivers * +***********************************/ + static MACHINE_CONFIG_START( fortecar, fortecar_state ) /* basic machine hardware */ MCFG_CPU_ADD("maincpu", Z80, CPU_CLOCK) /* 3 MHz, measured */ MCFG_CPU_PROGRAM_MAP(fortecar_map) 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_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_PALETTE("palette") - MCFG_EEPROM_SERIAL_93C56_ADD("eeprom") MCFG_EEPROM_SERIAL_DEFAULT_VALUE(0) @@ -689,6 +721,29 @@ static MACHINE_CONFIG_START( fortecar, fortecar_state ) MACHINE_CONFIG_END +/******************************* +* ROMs Load * +*******************************/ + +ROM_START( fortecrd ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "forte_card.u7", 0x00000, 0x010000, CRC(79fc6dd3) SHA1(5454f2ee12b62d573b61c54e48398f43332b000e) ) + + ROM_REGION( 0x30000, "gfx1", 0 ) + ROM_LOAD( "forte_card.u38", 0x00000, 0x10000, CRC(258fb7bf) SHA1(cd75001fe40836b2dc229caddfc38f6076df7a79) ) + ROM_LOAD( "forte_card.u39", 0x10000, 0x10000, CRC(3d9c478e) SHA1(eb86115d1c36038f2c80cd116f5aeddd94036424) ) + ROM_LOAD( "forte_card.u40", 0x20000, 0x10000, CRC(9693bb83) SHA1(e3e3bc750c89a1edd1072ce3890b2ce498dec633) ) + + ROM_REGION( 0x0800, "nvram", 0 ) /* default NVRAM */ + ROM_LOAD( "fortecrd_nvram.u6", 0x0000, 0x0800, 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, CRC(2fc5961d) SHA1(f958c8b2b4e48cc6e5a607a6751acde5592bd27f) ) + + ROM_REGION( 0x0200, "proms", 0 ) + ROM_LOAD( "forte_card_82s147.u47", 0x0000, 0x0200, CRC(7e631818) SHA1(ac08b0de30260278af3a1c5dee5810d4304cb9ca) ) +ROM_END + ROM_START( fortecar ) ROM_REGION( 0x10000, "maincpu", 0 ) ROM_LOAD( "fortecar.u7", 0x00000, 0x010000, CRC(2a4b3429) SHA1(8fa630dac949e758678a1a36b05b3412abe8ae16) ) @@ -709,32 +764,21 @@ ROM_START( fortecar ) ROM_LOAD( "forte_card_82s147.u47", 0x0000, 0x0200, BAD_DUMP CRC(7e631818) SHA1(ac08b0de30260278af3a1c5dee5810d4304cb9ca) ) ROM_END -ROM_START( fortecrd ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "forte_card.u7", 0x00000, 0x010000, CRC(79fc6dd3) SHA1(5454f2ee12b62d573b61c54e48398f43332b000e) ) - - ROM_REGION( 0x30000, "gfx1", 0 ) - ROM_LOAD( "forte_card.u38", 0x00000, 0x10000, CRC(258fb7bf) SHA1(cd75001fe40836b2dc229caddfc38f6076df7a79) ) - ROM_LOAD( "forte_card.u39", 0x10000, 0x10000, CRC(3d9c478e) SHA1(eb86115d1c36038f2c80cd116f5aeddd94036424) ) - ROM_LOAD( "forte_card.u40", 0x20000, 0x10000, CRC(9693bb83) SHA1(e3e3bc750c89a1edd1072ce3890b2ce498dec633) ) - - ROM_REGION( 0x0800, "nvram", 0 ) /* default NVRAM */ - ROM_LOAD( "fortecrd_nvram.u6", 0x0000, 0x0800, 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, CRC(2fc5961d) SHA1(f958c8b2b4e48cc6e5a607a6751acde5592bd27f) ) - - ROM_REGION( 0x0200, "proms", 0 ) - ROM_LOAD( "forte_card_82s147.u47", 0x0000, 0x0200, CRC(7e631818) SHA1(ac08b0de30260278af3a1c5dee5810d4304cb9ca) ) -ROM_END +/*********************************** +* Driver Init * +***********************************/ -DRIVER_INIT_MEMBER(fortecar_state,fortecar) +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 ) -GAMEL( 1994, fortecrd, fortecar, fortecar, fortecar, fortecar_state, fortecar, ROT0, "Fortex Ltd", "Forte Card (Ver 110, Spanish)", 0, layout_fortecrd ) +/*********************************** +* Game Drivers * +***********************************/ + +/* 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 ) diff --git a/src/mame/mame.lst b/src/mame/mame.lst index e09960bdfe6..15700e88d6d 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -12269,8 +12269,8 @@ fccpu1 // pesadelo // (c) 1989 Forte II Games @source:fortecar.cpp -fortecar // -fortecrd // +fortecrd // (c) 1994, Fortex Ltd. +fortecar // (c) 1994, Fortex Ltd. @source:fp1100.cpp fp1100 // |