mirror of
https://github.com/holub/mame
synced 2025-05-28 08:33:05 +03:00
cpu/xa: Implemented add with indexed addressing mode for source. (#12795)
Used by the tripfevb microcontroller program. The game no longer causes a fatal error, but hangs instead.
This commit is contained in:
parent
fa683e7ac9
commit
79f85a600a
@ -1123,7 +1123,7 @@ void xa_cpu::aluop_byte_rd_rsoff8(int alu_op, u8 rd, u8 rs, u8 offset8)
|
||||
}
|
||||
}
|
||||
|
||||
void xa_cpu::add_word_rd_rsoff8(u8 rd, u8 rs, u8 offset8) { fatalerror("ADD.w %s, [%s+#$%02x]", m_regnames16[rd], m_regnames16[rs], offset8);}
|
||||
void xa_cpu::add_word_rd_rsoff8(u8 rd, u8 rs, u8 offset8) { u16 rdval = gr16(rd); u16 fulloffset = util::sext(offset8, 8); u16 address = get_addr(rs) + fulloffset; u16 val = rdat16(address); u16 result = do_add_16(rdval, val); sr16(rd, result); cy(6); }
|
||||
void xa_cpu::addc_word_rd_rsoff8(u8 rd, u8 rs, u8 offset8){ fatalerror("ADDC.w %s, [%s+#$%02x]", m_regnames16[rd], m_regnames16[rs], offset8);}
|
||||
void xa_cpu::sub_word_rd_rsoff8(u8 rd, u8 rs, u8 offset8) { fatalerror("SUB.w %s, [%s+#$%02x]", m_regnames16[rd], m_regnames16[rs], offset8);}
|
||||
void xa_cpu::subb_word_rd_rsoff8(u8 rd, u8 rs, u8 offset8){ fatalerror("SUBB.w %s, [%s+#$%02x]", m_regnames16[rd], m_regnames16[rs], offset8);}
|
||||
|
@ -6,8 +6,8 @@
|
||||
IGS ARM7 (IGS027A) based Mahjong / Gambling platform(s) with XA sub-cpu
|
||||
These games use the IGS027A processor.
|
||||
|
||||
Triple Fever (V105US) (tripfevb) causes MAME to exit with
|
||||
"Fatal error: ADD.w R0, [R7+#$02]" after paying out tickets.
|
||||
Triple Fever (V105US) (tripfevb) hangs after paying out tickets, with the MCU
|
||||
apparently attempting serial communication with something.
|
||||
|
||||
*/
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user