コード例 #1
0
ファイル: opcodes.cpp プロジェクト: CarterLi/bsnes-plus
//$40-4b(alt0): ldw (rN)
//$40-4b(alt1): ldb (rN)
void SuperFX::op_ldw_ldb(unsigned n) {
  regs.ramaddr = regs.r[n];
  unsigned data = rambuffer_read(regs.ramaddr);
  if(!regs.sfr.alt1)
    data |= rambuffer_read(regs.ramaddr ^ 1) << 8;
  regs.dr() = data;
  regs.reset();
}
コード例 #2
0
auto GSU::op_ldw_ir() {
  regs.ramaddr = regs.r[n];
  uint16_t data;
  data  = rambuffer_read(regs.ramaddr ^ 0) << 0;
  data |= rambuffer_read(regs.ramaddr ^ 1) << 8;
  regs.dr() = data;
  regs.reset();
}
コード例 #3
0
ファイル: opcodes.cpp プロジェクト: Oggom/mednafen-git
//$40-4b(alt0): ldw (rN)
template<int n> alwaysinline void SuperFX::op_ldw_ir() {
  regs.ramaddr = regs.r[n];
  uint16_t data;
  data  = rambuffer_read(regs.ramaddr ^ 0) << 0;
  data |= rambuffer_read(regs.ramaddr ^ 1) << 8;
  regs.dr() = data;
  regs.reset();
}
コード例 #4
0
auto GSU::op_ldb_ir() {
  regs.ramaddr = regs.r[n];
  regs.dr() = rambuffer_read(regs.ramaddr);
  regs.reset();
}
コード例 #5
0
ファイル: opcodes.cpp プロジェクト: Oggom/mednafen-git
//$40-4b(alt1): ldb (rN)
template<int n> alwaysinline void SuperFX::op_ldb_ir() {
  regs.ramaddr = regs.r[n];
  regs.dr() = rambuffer_read(regs.ramaddr);
  regs.reset();
}