mirror of
https://github.com/FranLMSP/snes.git
synced 2026-08-03 08:30:01 -04:00
A bit of opcode ordering
This commit is contained in:
@@ -756,30 +756,6 @@ impl CPU {
|
||||
0x7C => self.jmp(bus, A::AbsoluteIndexedIndirect(I::X)),
|
||||
0x5C => self.jmp(bus, A::AbsoluteLong),
|
||||
0xDC => self.jmp(bus, A::AbsoluteIndirectLong),
|
||||
// LSR
|
||||
0x4A => self.lsr(bus, A::Accumulator),
|
||||
0x4E => self.lsr(bus, A::Absolute),
|
||||
0x46 => self.lsr(bus, A::DirectPage),
|
||||
0x5E => self.lsr(bus, A::AbsoluteIndexed(I::X)),
|
||||
0x56 => self.lsr(bus, A::DirectPageIndexed(I::X)),
|
||||
// NOP
|
||||
0xEA => self.nop(),
|
||||
// ORA
|
||||
0x09 => self.ora(bus, A::Immediate),
|
||||
0x0D => self.ora(bus, A::Absolute),
|
||||
0x0F => self.ora(bus, A::AbsoluteLong),
|
||||
0x05 => self.ora(bus, A::DirectPage),
|
||||
0x12 => self.ora(bus, A::DirectPageIndirect),
|
||||
0x07 => self.ora(bus, A::DirectPageIndirectLong),
|
||||
0x1D => self.ora(bus, A::AbsoluteIndexed(I::X)),
|
||||
0x1F => self.ora(bus, A::AbsoluteLongIndexed(I::X)),
|
||||
0x19 => self.ora(bus, A::AbsoluteIndexed(I::Y)),
|
||||
0x15 => self.ora(bus, A::DirectPageIndexed(I::X)),
|
||||
0x01 => self.ora(bus, A::DirectPageIndexedIndirect(I::X)),
|
||||
0x11 => self.ora(bus, A::DirectPageIndirectIndexed(I::Y)),
|
||||
0x17 => self.ora(bus, A::DirectPageIndirectLongIndexed(I::Y)),
|
||||
0x03 => self.ora(bus, A::StackRelative),
|
||||
0x13 => self.ora(bus, A::StackRelativeIndirectIndexed(I::Y)),
|
||||
// JSR
|
||||
0x20 => self.jsr(bus, A::Absolute),
|
||||
0xFC => self.jsr(bus, A::AbsoluteIndexedIndirect(I::X)),
|
||||
@@ -812,6 +788,34 @@ impl CPU {
|
||||
0xA4 => self.ldy(bus, A::DirectPage),
|
||||
0xB4 => self.ldy(bus, A::AbsoluteIndexed(I::Y)),
|
||||
0xBC => self.ldy(bus, A::DirectPageIndexed(I::Y)),
|
||||
// LSR
|
||||
0x4A => self.lsr(bus, A::Accumulator),
|
||||
0x4E => self.lsr(bus, A::Absolute),
|
||||
0x46 => self.lsr(bus, A::DirectPage),
|
||||
0x5E => self.lsr(bus, A::AbsoluteIndexed(I::X)),
|
||||
0x56 => self.lsr(bus, A::DirectPageIndexed(I::X)),
|
||||
// MVN
|
||||
0x54 => unimplemented!("MVN instruction not implemented yet"),
|
||||
// MVP
|
||||
0x44 => unimplemented!("MVP instruction not implemented yet"),
|
||||
// NOP
|
||||
0xEA => self.nop(),
|
||||
// ORA
|
||||
0x09 => self.ora(bus, A::Immediate),
|
||||
0x0D => self.ora(bus, A::Absolute),
|
||||
0x0F => self.ora(bus, A::AbsoluteLong),
|
||||
0x05 => self.ora(bus, A::DirectPage),
|
||||
0x12 => self.ora(bus, A::DirectPageIndirect),
|
||||
0x07 => self.ora(bus, A::DirectPageIndirectLong),
|
||||
0x1D => self.ora(bus, A::AbsoluteIndexed(I::X)),
|
||||
0x1F => self.ora(bus, A::AbsoluteLongIndexed(I::X)),
|
||||
0x19 => self.ora(bus, A::AbsoluteIndexed(I::Y)),
|
||||
0x15 => self.ora(bus, A::DirectPageIndexed(I::X)),
|
||||
0x01 => self.ora(bus, A::DirectPageIndexedIndirect(I::X)),
|
||||
0x11 => self.ora(bus, A::DirectPageIndirectIndexed(I::Y)),
|
||||
0x17 => self.ora(bus, A::DirectPageIndirectLongIndexed(I::Y)),
|
||||
0x03 => self.ora(bus, A::StackRelative),
|
||||
0x13 => self.ora(bus, A::StackRelativeIndirectIndexed(I::Y)),
|
||||
_ => println!("Invalid opcode: {:02X}", opcode),
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user