diff --git a/src/mame/drivers/mmodular.cpp b/src/mame/drivers/mmodular.cpp index 620d206734d..15450bad8a8 100644 --- a/src/mame/drivers/mmodular.cpp +++ b/src/mame/drivers/mmodular.cpp @@ -107,8 +107,6 @@ uint8_t latch2400 = 0; uint8_t diablo68_3c0000 = 0; -uint8_t sfortea_latch = 0; - INPUT_PORTS_EXTERN( chessboard ); @@ -134,10 +132,6 @@ public: uint8_t latch_data; DECLARE_WRITE8_MEMBER(write_polgar_IO); DECLARE_WRITE8_MEMBER(write_LCD_polgar); - DECLARE_READ8_MEMBER(read_1ff1_sfortea); - DECLARE_READ8_MEMBER(read_1ff0_sfortea); - DECLARE_WRITE8_MEMBER(write_latch_sfortea); - DECLARE_WRITE8_MEMBER(write_lcd_IO_sfortea); DECLARE_WRITE8_MEMBER(write_LCD_academy); // DECLARE_WRITE16_MEMBER(diablo68_aciawrite); // DECLARE_READ16_MEMBER(diablo68_aciaread); @@ -181,8 +175,6 @@ public: DECLARE_DRIVER_INIT(polgar); DECLARE_MACHINE_START(polgar); DECLARE_MACHINE_RESET(polgar); - DECLARE_MACHINE_START(sfortea); - DECLARE_MACHINE_RESET(sfortea); DECLARE_MACHINE_START(van32); DECLARE_MACHINE_RESET(van16); DECLARE_MACHINE_RESET(monteciv); @@ -268,69 +260,6 @@ WRITE8_MEMBER(polgar_state::write_LCD_polgar) } -READ8_MEMBER(polgar_state::read_1ff1_sfortea) -{ - uint8_t data; - data = ioport("BUTTONS_SFOR1")->read(); - logerror("1ff0 data %02x\n",data); - return 0; -// return data; -} - -READ8_MEMBER(polgar_state::read_1ff0_sfortea) -{ - uint8_t data; - data = ioport("BUTTONS_SFOR2")->read(); - logerror("1ff0 data %02x\n",data); - return 0; -// return data; - -// static uint8_t temp = 0; -// temp++; -// logerror("read 1ff0 %02x\n",temp); -// printf("read 1ff0 %02x\n",temp); - -// return (0x00); -} - - - -WRITE8_MEMBER(polgar_state::write_latch_sfortea) -{ - sfortea_latch = data; - logerror("latch data %02x\n",data); -// printf("latch data %02x\n",data); - -} - -WRITE8_MEMBER(polgar_state::write_lcd_IO_sfortea) -{ -/* bits -7 -6 paired with 5 -5 -4 -3 irq on off? -2 select HD44780 -1 -0 LCD command/data select -*/ - - - if (BIT(sfortea_latch,2)) - { - if(BIT(sfortea_latch,0)) { - m_lcdc->data_write(space, 0, data); - logerror("LCD DTA = %02x\n",data); - } else { - if (BIT(data,7)) { - if ((data & 0x7f) >= 0x40) data -= 56; // adjust for 16x1 display as 2 sets of 8 - } - m_lcdc->control_write(space, 0, data); - logerror("LCD CMD = %02x\n",data); - } - } -} WRITE8_MEMBER(polgar_state::write_LCD_academy) { @@ -994,11 +923,6 @@ MACHINE_START_MEMBER(polgar_state,polgar) common_chess_start(); } -MACHINE_START_MEMBER(polgar_state,sfortea) -{ - common_chess_start(); -} - MACHINE_START_MEMBER(polgar_state,diablo68) { common_chess_start(); @@ -1018,11 +942,6 @@ MACHINE_RESET_MEMBER(polgar_state,polgar) common_chess_start(); } -MACHINE_RESET_MEMBER(polgar_state,sfortea) -{ - common_chess_start(); -} - MACHINE_RESET_MEMBER(polgar_state,monteciv) { montecivtop = 0; @@ -1074,16 +993,6 @@ static ADDRESS_MAP_START(polgar_mem , AS_PROGRAM, 8, polgar_state ) AM_RANGE( 0x4000, 0xffff ) AM_ROM ADDRESS_MAP_END -static ADDRESS_MAP_START(sfortea_mem , AS_PROGRAM, 8, polgar_state ) - AM_RANGE( 0x0000, 0x1fef ) AM_RAM - AM_RANGE( 0x1ff6, 0x1ff6 ) AM_WRITE(write_latch_sfortea) // IO control - AM_RANGE( 0x1ff7, 0x1ff7 ) AM_WRITE(write_lcd_IO_sfortea) // LCD Char Reg. -// AM_RANGE( 0x1ffc, 0x1fff ) AM_DEVREADWRITE_LEGACY("acia65c51", acia_6551_r,acia_6551_w) - AM_RANGE( 0x1ff1, 0x1ff1 ) AM_READ(read_1ff1_sfortea ) - AM_RANGE( 0x1ff0, 0x1ff0 ) AM_READ(read_1ff0_sfortea ) - AM_RANGE( 0x2000, 0xffff ) AM_ROM -ADDRESS_MAP_END - static ADDRESS_MAP_START(gen32_mem, AS_PROGRAM, 32, polgar_state ) @@ -1499,22 +1408,6 @@ static MACHINE_CONFIG_START( polgar, polgar_state ) MACHINE_CONFIG_END -static MACHINE_CONFIG_START( sfortea, polgar_state ) - MCFG_CPU_ADD("maincpu",M65C02,5000000) - MCFG_CPU_PROGRAM_MAP(sfortea_mem) - MCFG_QUANTUM_TIME(attotime::from_hz(60)) - MCFG_MACHINE_START_OVERRIDE(polgar_state, sfortea ) - MCFG_MACHINE_RESET_OVERRIDE(polgar_state, sfortea ) - MCFG_FRAGMENT_ADD( chess_common ) - - /* acia */ -// MCFG_MOS6551_ADD("acia65c51", XTAL_1_8432MHz, nullptr) - - MCFG_TIMER_DRIVER_ADD_PERIODIC("irq_timer", polgar_state, cause_M6502_irq, attotime::from_hz(600)) - MCFG_TIMER_START_DELAY(attotime::from_hz(60)) - //MCFG_TIMER_DRIVER_ADD_PERIODIC("artwork_timer", polgar_state, mboard_update_artwork, attotime::from_hz(100)) -MACHINE_CONFIG_END - static MACHINE_CONFIG_START( alm32, polgar_state ) MCFG_CPU_ADD("maincpu", M68020, XTAL_12MHz) MCFG_CPU_PROGRAM_MAP(alm32_mem) @@ -1649,13 +1542,6 @@ ROM_START(polgar) ROM_LOAD("polgar.bin", 0x0000, 0x10000, CRC(88d55c0f) SHA1(e86d088ec3ac68deaf90f6b3b97e3e31b1515913)) ROM_END -ROM_START(sfortea) - ROM_REGION(0x18000,"maincpu",0) - ROM_LOAD("sfalo.bin", 0x0000, 0x8000, CRC(86e0230a) SHA1(0d6e18a17e636b8c7292c8f331349d361892d1a8)) - ROM_LOAD("sfahi.bin", 0x8000, 0x8000, CRC(81c02746) SHA1(0bf68b68ade5a3263bead88da0a8965fc71483c1)) - ROM_LOAD("sfabook.bin", 0x10000, 0x8000, CRC(3e42cf7c) SHA1(b2faa36a127e08e5755167a25ed4a07f12d62957)) -ROM_END - ROM_START( alm16 ) ROM_REGION16_BE( 0x20000, "maincpu", 0 ) ROM_LOAD16_BYTE("alm16eve.bin", 0x00000, 0x10000,CRC(EE5B6EC4) SHA1(30920C1B9E16FFAE576DA5AFA0B56DA59ADA3DBB)) @@ -1667,20 +1553,6 @@ ROM_START( alm32 ) ROM_LOAD("alm32.bin", 0x00000, 0x20000,CRC(38F4B305) SHA1(43459A057FF29248C74D656A036AC325202B9C15)) ROM_END -ROM_START(sforteb) - ROM_REGION(0x18000,"maincpu",0) - ROM_LOAD("forte_b.lo", 0x0000, 0x8000, CRC(48bfe5d6) SHA1(323642686b6d2fb8db2b7d50c6cd431058078ce1)) - ROM_LOAD("forte_b.hi1", 0x8000, 0x8000, CRC(9778ca2c) SHA1(d8b88b9768a1a9171c68cbb0892b817d68d78351)) - ROM_LOAD("forte_b.hi0", 0x10000, 0x8000, CRC(bb07ad52) SHA1(30cf9005021ab2d7b03facdf2d3588bc94dc68a6)) -ROM_END - -ROM_START(sforteba) - ROM_REGION(0x18000,"maincpu",0) - ROM_LOAD("forte b_l.bin", 0x0000, 0x8000, CRC(e3d194a1) SHA1(80457580d7c57e07895fd14bfdaf14b30952afca)) - ROM_LOAD("forte b_h.bin", 0x8000, 0x8000, CRC(dd824be8) SHA1(cd8666b6b525887f9fc48a730b71ceabcf07f3b9)) - ROM_LOAD("forte_b.hi0", 0x10000, 0x8000, BAD_DUMP CRC(bb07ad52) SHA1(30cf9005021ab2d7b03facdf2d3588bc94dc68a6)) -ROM_END - ROM_START(academy) ROM_REGION(0x10000,"maincpu",0) ROM_LOAD("acad8000.bin", 0x8000, 0x8000, CRC(a967922b) SHA1(1327903ff89bf96d72c930c400f367ae19e3ec68)) @@ -1699,14 +1571,6 @@ ROM_START(milano) ROM_END -ROM_START(sfortec) - ROM_REGION(0x18000,"maincpu",0) - ROM_LOAD("sfclow.bin", 0x0000, 0x8000, CRC(f040cf30) SHA1(1fc1220b8ed67cdffa3866d230ce001721cf684f)) - ROM_LOAD("sfchi.bin", 0x8000, 0x8000, CRC(0f926b32) SHA1(9c7270ecb3f41dd9172a9a7928e6e04e64b2a340)) - ROM_LOAD("sfcbook.bin", 0x10000, 0x8000, CRC(c6a1419a) SHA1(017a0ffa9aa59438c879624a7ddea2071d1524b8)) -ROM_END - - ROM_START( lyon16 ) ROM_REGION16_BE( 0x20000, "maincpu", 0 ) ROM_LOAD16_BYTE("lyon16ev.bin", 0x00000, 0x10000,CRC(497BD41A) SHA1(3FFEFEEAC694F49997C10D248EC6A7AA932898A4)) @@ -1782,16 +1646,12 @@ DRIVER_INIT_MEMBER(polgar_state,polgar) /* YEAR NAME PARENT COMPAT MACHINE INPUT INIT COMPANY FULLNAME FLAGS */ CONS( 1986, polgar, 0, 0, polgar, polgar, polgar_state, polgar, "Hegener & Glaser", "Mephisto Polgar Schachcomputer", MACHINE_NOT_WORKING | MACHINE_REQUIRES_ARTWORK | MACHINE_CLICKABLE_ARTWORK) - CONS( 1987, sfortea, 0, 0, sfortea, sfortea, driver_device, 0, "Novag", "Novag Super Forte Chess Computer (version A)", MACHINE_NO_SOUND|MACHINE_NOT_WORKING | MACHINE_CLICKABLE_ARTWORK ) CONS( 1988, alm16, van16, 0, alm16, van16, driver_device, 0, "Hegener & Glaser Muenchen", "Mephisto Almeria 68000", MACHINE_NOT_WORKING|MACHINE_REQUIRES_ARTWORK | MACHINE_CLICKABLE_ARTWORK ) CONS( 1988, alm32, van16, 0, alm32, van32, driver_device, 0, "Hegener & Glaser Muenchen", "Mephisto Alimera 68020", MACHINE_NOT_WORKING|MACHINE_REQUIRES_ARTWORK | MACHINE_CLICKABLE_ARTWORK ) - CONS( 1988, sforteb, sfortea, 0, sfortea, sfortea, driver_device, 0, "Novag", "Novag Super Forte Chess Computer (version B)", MACHINE_NO_SOUND|MACHINE_NOT_WORKING | MACHINE_CLICKABLE_ARTWORK ) - CONS( 1988, sforteba, sfortea, 0, sfortea, sfortea, driver_device, 0, "Novag", "Novag Super Forte Chess Computer (version B, alt)", MACHINE_NO_SOUND|MACHINE_NOT_WORKING | MACHINE_CLICKABLE_ARTWORK ) CONS( 1989, academy, 0, 0, academy, academy, driver_device, 0, "Hegener & Glaser", "Mephisto Academy Schachcomputer", MACHINE_REQUIRES_ARTWORK|MACHINE_NOT_WORKING | MACHINE_CLICKABLE_ARTWORK ) CONS( 1989, megaiv, 0, 0, megaiv, megaiv, driver_device, 0, "Hegener & Glaser", "Mephisto Mega IV Schachcomputer", MACHINE_NOT_WORKING|MACHINE_REQUIRES_ARTWORK | MACHINE_CLICKABLE_ARTWORK ) CONS( 1989, milano, polgar, 0, milano, polgar, polgar_state, polgar, "Hegener & Glaser", "Mephisto Milano Schachcomputer", MACHINE_REQUIRES_ARTWORK | MACHINE_CLICKABLE_ARTWORK ) //CONS( 1989, montec4, 0, 0, monteciv, monteciv, driver_device, 0, "Hegener & Glaser", "Mephisto Monte Carlo IV", MACHINE_NOT_WORKING|MACHINE_REQUIRES_ARTWORK | MACHINE_CLICKABLE_ARTWORK ) - CONS( 1989, sfortec, sfortea, 0, sfortea, sfortea, driver_device, 0, "Novag", "Novag Super Forte Chess Computer (version C)", MACHINE_NO_SOUND|MACHINE_NOT_WORKING | MACHINE_CLICKABLE_ARTWORK ) CONS( 1990, lyon16, van16, 0, alm16, van16, driver_device, 0, "Hegener & Glaser Muenchen", "Mephisto Lyon 68000", MACHINE_NOT_WORKING|MACHINE_REQUIRES_ARTWORK | MACHINE_CLICKABLE_ARTWORK ) CONS( 1990, lyon32, van16, 0, alm32, van32, driver_device, 0, "Hegener & Glaser Muenchen", "Mephisto Lyon 68020", MACHINE_NOT_WORKING|MACHINE_REQUIRES_ARTWORK | MACHINE_CLICKABLE_ARTWORK ) CONS( 1990, monteciv, 0, 0, monteciv, monteciv, driver_device, 0, "Hegener & Glaser", "Mephisto Monte Carlo IV LE Schachcomputer", MACHINE_NOT_WORKING|MACHINE_REQUIRES_ARTWORK | MACHINE_CLICKABLE_ARTWORK ) diff --git a/src/mame/drivers/novag6502.cpp b/src/mame/drivers/novag6502.cpp index 498e99af1ff..831f7303325 100644 --- a/src/mame/drivers/novag6502.cpp +++ b/src/mame/drivers/novag6502.cpp @@ -1,5 +1,6 @@ // license:BSD-3-Clause // copyright-holders:hap +// thanks-to:Berger /****************************************************************************** Novag generic 6502 based chess computer driver @@ -751,6 +752,35 @@ ROM_START( supercon ) ROM_END +ROM_START( sfortea ) + ROM_REGION( 0x18000, "maincpu", 0 ) + ROM_LOAD("sfalo.bin", 0x0000, 0x8000, CRC(86e0230a) SHA1(0d6e18a17e636b8c7292c8f331349d361892d1a8) ) + ROM_LOAD("sfahi.bin", 0x8000, 0x8000, CRC(81c02746) SHA1(0bf68b68ade5a3263bead88da0a8965fc71483c1) ) + ROM_LOAD("sfabook.bin", 0x10000, 0x8000, CRC(3e42cf7c) SHA1(b2faa36a127e08e5755167a25ed4a07f12d62957) ) +ROM_END + +ROM_START( sforteb ) + ROM_REGION( 0x18000, "maincpu", 0 ) + ROM_LOAD("forte_b.lo", 0x0000, 0x8000, CRC(48bfe5d6) SHA1(323642686b6d2fb8db2b7d50c6cd431058078ce1) ) + ROM_LOAD("forte_b.hi1", 0x8000, 0x8000, CRC(9778ca2c) SHA1(d8b88b9768a1a9171c68cbb0892b817d68d78351) ) + ROM_LOAD("forte_b.hi0", 0x10000, 0x8000, CRC(bb07ad52) SHA1(30cf9005021ab2d7b03facdf2d3588bc94dc68a6) ) +ROM_END + +ROM_START( sforteba ) + ROM_REGION( 0x18000, "maincpu", 0 ) + ROM_LOAD("forte b_l.bin", 0x0000, 0x8000, CRC(e3d194a1) SHA1(80457580d7c57e07895fd14bfdaf14b30952afca) ) + ROM_LOAD("forte b_h.bin", 0x8000, 0x8000, CRC(dd824be8) SHA1(cd8666b6b525887f9fc48a730b71ceabcf07f3b9) ) + ROM_LOAD("forte_b.hi0", 0x10000, 0x8000, BAD_DUMP CRC(bb07ad52) SHA1(30cf9005021ab2d7b03facdf2d3588bc94dc68a6) ) +ROM_END + +ROM_START( sfortec ) + ROM_REGION( 0x18000, "maincpu", 0 ) + ROM_LOAD("sfclow.bin", 0x0000, 0x8000, CRC(f040cf30) SHA1(1fc1220b8ed67cdffa3866d230ce001721cf684f) ) + ROM_LOAD("sfchi.bin", 0x8000, 0x8000, CRC(0f926b32) SHA1(9c7270ecb3f41dd9172a9a7928e6e04e64b2a340) ) + ROM_LOAD("sfcbook.bin", 0x10000, 0x8000, CRC(c6a1419a) SHA1(017a0ffa9aa59438c879624a7ddea2071d1524b8) ) +ROM_END + + ROM_START( sexpertc ) ROM_REGION( 0x18000, "maincpu", 0 ) // Version 3.6 of firmware ROM_LOAD("seclow.bin", 0x0000, 0x8000, CRC(5a29105e) SHA1(be37bb29b530dbba847a5e8d27d81b36525e47f7) ) @@ -774,5 +804,10 @@ ROM_END /* YEAR NAME PARENT COMPAT MACHINE INPUT INIT COMPANY, FULLNAME, FLAGS */ CONS( 1984, supercon, 0, 0, supercon, supercon, driver_device, 0, "Novag", "Super Constellation", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) -CONS( 1989, sexpertc, 0, 0, sexpert, sexpert, novag6502_state, sexpert, "Novag", "Novag Super Expert C Chess Computer", MACHINE_SUPPORTS_SAVE ) -CONS( 1988, sexpertb, sexpertc, 0, sexpert, sexpert, novag6502_state, sexpert, "Novag", "Novag Super Expert B Chess Computer", MACHINE_SUPPORTS_SAVE ) +CONS( 1987, sfortea, 0, 0, sexpert, sexpert, novag6502_state, sexpert, "Novag", "Novag Super Forte Chess Computer (version A)", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING ) +CONS( 1988, sforteb, sfortea, 0, sexpert, sexpert, novag6502_state, sexpert, "Novag", "Novag Super Forte Chess Computer (version B)", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING ) +CONS( 1988, sforteba, sfortea, 0, sexpert, sexpert, novag6502_state, sexpert, "Novag", "Novag Super Forte Chess Computer (version B, alt)", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING ) +CONS( 1989, sfortec, sfortea, 0, sexpert, sexpert, novag6502_state, sexpert, "Novag", "Novag Super Forte Chess Computer (version C)", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING ) + +CONS( 1989, sexpertc, 0, 0, sexpert, sexpert, novag6502_state, sexpert, "Novag", "Novag Super Expert C Chess Computer", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING ) +CONS( 1988, sexpertb, sexpertc, 0, sexpert, sexpert, novag6502_state, sexpert, "Novag", "Novag Super Expert B Chess Computer", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING ) diff --git a/src/mame/mame.lst b/src/mame/mame.lst index 70e8696f7c5..871512a52af 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -20497,10 +20497,6 @@ megaiv // 1989 Mephisto Mega IV Schachcomputer milano // 1989 Mephisto Milano Schachcomputer monteciv // 1990 Mephisto Monte Carlo IV LE Schachcomputer polgar // 1986 Mephisto Polgar Schachcomputer -sfortea // 1987 Novag Super Forte A Chess Computer -sforteb // 1988 Novag Super Forte B Chess Computer -sforteba // 1988 Novag Super Forte B Chess Computer (ALT) -sfortec // 1989 Novag Super Forte C Chess Computer van16 // 1991 Mephisto Vancouver 68000 van32 // 1991 Mephisto Vancouver 68020 @@ -29204,6 +29200,10 @@ raiders5t // UPL-85004 (c) 1985 Taito license @source:novag6502.cpp sexpertb // sexpertc // +sfortea // +sforteb // +sforteba // +sfortec // supercon // @source:nsm.cpp