lk3000: invert rom addressing

This commit is contained in:
hap 2021-06-24 12:28:28 +02:00
parent 0e6677c070
commit 301f7d47a2
4 changed files with 10 additions and 10 deletions

View File

@ -287,5 +287,5 @@ ROM_END
******************************************************************************/
// YEAR NAME PARENT CMP MACHINE INPUT STATE INIT COMPANY, FULLNAME, FLAGS
CONS( 1986, feleg , 0, 0, feleg, feleg, as12_state, empty_init, "Fidelity Electronics", "Elegance Chess Challenger (model 6085)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_TIMING )
CONS( 1986, feleg, 0, 0, feleg, feleg, as12_state, empty_init, "Fidelity Electronics", "Elegance Chess Challenger (model 6085)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_TIMING )
CONS( 1985, felega, feleg, 0, felega, felega, as12_state, empty_init, "Fidelity Electronics", "Elegance Chess Challenger (model AS12)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_TIMING )

View File

@ -154,10 +154,10 @@ u8 lk3000_state::p1_r()
data |= m_inputs[~m_p4 & 7]->read();
// read rom data
if (m_p5 & 0x20)
if (~m_p5 & 0x20)
{
// P00-P06: A0-A6, P50-P54: A7-A11, P07 selects chip
u16 offset = (m_p0 & 0x7f) | (m_p5 << 7 & 0xf80) | (m_p0 << 5 & 0x1000);
u16 offset = (~m_p0 & 0x7f) | (~m_p5 << 7 & 0xf80) | (~m_p0 << 5 & 0x1000);
data |= m_cart->read_rom(offset + 0x800);
}
@ -317,10 +317,10 @@ void lk3000_state::lk3000(machine_config &config)
psu.write_b().set(FUNC(lk3000_state::p5_w));
// video hardware
DL1414T(config, m_dl1414[0], u32(0)).update().set(FUNC(lk3000_state::update_display<0>));
DL1414T(config, m_dl1414[1], u32(0)).update().set(FUNC(lk3000_state::update_display<1>));
DL1414T(config, m_dl1414[2], u32(0)).update().set(FUNC(lk3000_state::update_display<2>));
DL1414T(config, m_dl1414[3], u32(0)).update().set(FUNC(lk3000_state::update_display<3>));
DL1414T(config, m_dl1414[0], 0U).update().set(FUNC(lk3000_state::update_display<0>));
DL1414T(config, m_dl1414[1], 0U).update().set(FUNC(lk3000_state::update_display<1>));
DL1414T(config, m_dl1414[2], 0U).update().set(FUNC(lk3000_state::update_display<2>));
DL1414T(config, m_dl1414[3], 0U).update().set(FUNC(lk3000_state::update_display<3>));
config.set_default_layout(layout_lk3000);
// cartridge

View File

@ -30,8 +30,8 @@ Octo (listed differences):
as 15MHz on the box, but measured ~12MHz (older Octo version is probably ~6MHz?)
- speaker circuit is a bit different, not sure why
Note that even though the MCUs are different, internal ROM contents is
identical for Micro II/III, Presto, Octo.
Note that even though the MCUs are different, internal ROM contents was confirmed
to be identical for Micro II/III, Presto, Octo.
TODO:
- controls are too sensitive, is there a bug in the CPU core timer emulation?

View File

@ -31,7 +31,7 @@ Older versions had a bug in the opening moves, always playing B5 after D4.
===============================================================================
Novag Supremo (model 881)
----------------------------
-------------------------
Hardware notes:
- Hitachi HD63A03YP MCU @ 8MHz (2MHz internal)