cfx9850 fixes (graph mode zoom menu and memory size) (#5674)

* hcd62121: Added xor instruction with indirect addressing (needed for zoom menu in graph mode to work).

* cfx9850.cpp: Reduce RAM size to 32 KB (0000-7FFF) and add overlapping region 8000-FFFF. The code that detects memory size assumes that FFFF aliases 7FFF.
This commit is contained in:
Ricardo Barreira 2019-09-22 13:36:16 +01:00 committed by Vas Crabb
parent 4cfb7ac9ec
commit 74b647597b
2 changed files with 18 additions and 1 deletions

View File

@ -1175,6 +1175,23 @@ void hcd62121_cpu_device::execute_run()
}
break;
case 0x50: /* xorb ir1,r2 */
case 0x51: /* xorw ir1,r2 */
case 0x52: /* xorq ir1,r2 */
case 0x53: /* xort ir1,r2 */
{
int size = datasize(op);
u8 reg1 = read_op();
u8 reg2 = read_op();
read_iregreg(size, reg1, reg2, true);
op_xor(size);
write_iregreg(size, reg1, reg2);
}
break;
case 0x54: /* cmpb ir1,r2 */
case 0x55: /* cmpw ir1,r2 */
case 0x56: /* cmpq ir1,r2 */

View File

@ -75,7 +75,7 @@ void cfx9850_state::cfx9850_mem(address_map &map)
// AM_RANGE( 0x100000, 0x10ffff ) // some memory mapped i/o???
// AM_RANGE( 0x110000, 0x11ffff ) // some memory mapped i/o???
map(0x200000, 0x27ffff).rom().region("bios", 0);
map(0x400000, 0x40ffff).ram();
map(0x400000, 0x407fff).mirror(0x008000).ram();
map(0x600000, 0x6007ff).mirror(0xf800).ram().share("display_ram");
// AM_RANGE( 0xe10000, 0xe1ffff ) // some memory mapped i/o???
}