diff --git a/src/mos6502.addr.c b/src/mos6502.addr.c index ded3acb..85c181a 100644 --- a/src/mos6502.addr.c +++ b/src/mos6502.addr.c @@ -44,8 +44,8 @@ static int addr_modes[] = { #define ADDR_HILO(cpu) \ vm_16bit addr; \ vm_8bit hi, lo; \ - hi = mos6502_next_byte(cpu); \ lo = mos6502_next_byte(cpu); \ + hi = mos6502_next_byte(cpu); \ addr = (hi << 8) | lo /* @@ -155,8 +155,8 @@ DEFINE_ADDR(ind) ADDR_HILO(cpu); - ind_hi = vm_segment_get(cpu->memory, addr); - ind_lo = vm_segment_get(cpu->memory, addr + 1); + ind_lo = vm_segment_get(cpu->memory, addr); + ind_hi = vm_segment_get(cpu->memory, addr + 1); EFF_ADDR((ind_hi << 8) | ind_lo); return vm_segment_get(cpu->memory, eff_addr); diff --git a/src/vm_segment.c b/src/vm_segment.c index b79ec20..8f1a7ac 100644 --- a/src/vm_segment.c +++ b/src/vm_segment.c @@ -157,8 +157,8 @@ vm_segment_get16(vm_segment *segment, size_t addr) { vm_16bit msb, lsb; - msb = (vm_16bit)vm_segment_get(segment, addr); - lsb = (vm_16bit)vm_segment_get(segment, addr+1); + lsb = (vm_16bit)vm_segment_get(segment, addr); + msb = (vm_16bit)vm_segment_get(segment, addr+1); return (msb << 8) | lsb; } diff --git a/tests/apple2.c b/tests/apple2.c index 29961b0..8e61197 100644 --- a/tests/apple2.c +++ b/tests/apple2.c @@ -128,8 +128,8 @@ Test(apple2, set_memory) Test(apple2, reset) { apple2_set_memory(mach, MEMORY_BANK_ROM); - vm_segment_set(mach->rom, 0x2FFC, 0x12); - vm_segment_set(mach->rom, 0x2FFD, 0x34); + vm_segment_set(mach->rom, 0x2FFC, 0x34); + vm_segment_set(mach->rom, 0x2FFD, 0x12); apple2_reset(mach); cr_assert_eq(mach->cpu->PC, 0x1234); diff --git a/tests/mos6502.addr.c b/tests/mos6502.addr.c index 880c656..0fb28ef 100644 --- a/tests/mos6502.addr.c +++ b/tests/mos6502.addr.c @@ -22,16 +22,16 @@ Test(mos6502_addr, addr_mode_acc) Test(mos6502_addr, addr_mode_abs) { vm_segment_set(cpu->memory, 0x1234, 111); - SET_PC_BYTE(cpu, 0, 0x12); - SET_PC_BYTE(cpu, 1, 0x34); + SET_PC_BYTE(cpu, 0, 0x34); + SET_PC_BYTE(cpu, 1, 0x12); cr_assert_eq(mos6502_resolve_abs(cpu), 111); } Test(mos6502_addr, addr_mode_abx_carry0) { vm_segment_set(cpu->memory, 0x1234, 111); - SET_PC_BYTE(cpu, 0, 0x12); - SET_PC_BYTE(cpu, 1, 0x30); + SET_PC_BYTE(cpu, 0, 0x30); + SET_PC_BYTE(cpu, 1, 0x12); cpu->X = 4; cr_assert_eq(mos6502_resolve_abx(cpu), 111); } @@ -39,8 +39,8 @@ Test(mos6502_addr, addr_mode_abx_carry0) Test(mos6502_addr, addr_mode_abx_carry1) { vm_segment_set(cpu->memory, 0x1234, 111); - SET_PC_BYTE(cpu, 0, 0x12); - SET_PC_BYTE(cpu, 1, 0x30); + SET_PC_BYTE(cpu, 0, 0x30); + SET_PC_BYTE(cpu, 1, 0x12); cpu->X = 3; cpu->P = cpu->P | MOS_CARRY; cr_assert_eq(mos6502_resolve_abx(cpu), 111); @@ -49,8 +49,8 @@ Test(mos6502_addr, addr_mode_abx_carry1) Test(mos6502_addr, addr_mode_aby_carry0) { vm_segment_set(cpu->memory, 0x1234, 111); - SET_PC_BYTE(cpu, 0, 0x12); - SET_PC_BYTE(cpu, 1, 0x30); + SET_PC_BYTE(cpu, 0, 0x30); + SET_PC_BYTE(cpu, 1, 0x12); cpu->Y = 4; cr_assert_eq(mos6502_resolve_aby(cpu), 111); } @@ -58,8 +58,8 @@ Test(mos6502_addr, addr_mode_aby_carry0) Test(mos6502_addr, addr_mode_aby_carry1) { vm_segment_set(cpu->memory, 0x1234, 111); - SET_PC_BYTE(cpu, 0, 0x12); - SET_PC_BYTE(cpu, 1, 0x30); + SET_PC_BYTE(cpu, 0, 0x30); + SET_PC_BYTE(cpu, 1, 0x12); cpu->Y = 3; cpu->P = cpu->P | MOS_CARRY; cr_assert_eq(mos6502_resolve_aby(cpu), 111); @@ -93,12 +93,12 @@ Test(mos6502_addr, addr_mode_idy) Test(mos6502_addr, addr_mode_ind) { - vm_segment_set(cpu->memory, 0x1234, 0x23); - vm_segment_set(cpu->memory, 0x1235, 0x45); + vm_segment_set(cpu->memory, 0x1234, 0x45); + vm_segment_set(cpu->memory, 0x1235, 0x23); vm_segment_set(cpu->memory, 0x2345, 123); - SET_PC_BYTE(cpu, 0, 0x12); - SET_PC_BYTE(cpu, 1, 0x34); + SET_PC_BYTE(cpu, 0, 0x34); + SET_PC_BYTE(cpu, 1, 0x12); cr_assert_eq(mos6502_resolve_ind(cpu), 123); } diff --git a/tests/vm_segment.c b/tests/vm_segment.c index 3f10a58..773eed2 100644 --- a/tests/vm_segment.c +++ b/tests/vm_segment.c @@ -169,8 +169,8 @@ Test(vm_segment, set_map_machine) Test(vm_segment, get16) { - vm_segment_set(segment, 0, 0x12); - vm_segment_set(segment, 1, 0x34); + vm_segment_set(segment, 0, 0x34); + vm_segment_set(segment, 1, 0x12); cr_assert_eq(vm_segment_get16(segment, 0), 0x1234); }