Fix undefined behavior (sequence point modification). GCC 4.6.4 compiles the code incorrectly without this fix.
This commit is contained in:
parent
efc11783c7
commit
eb7492c6c6
@ -283,7 +283,7 @@ static void jr_r8(GB_gameboy_t *gb, uint8_t opcode)
|
|||||||
{
|
{
|
||||||
/* Todo: Verify cycles are not 8 and 4 instead */
|
/* Todo: Verify cycles are not 8 and 4 instead */
|
||||||
GB_advance_cycles(gb, 4);
|
GB_advance_cycles(gb, 4);
|
||||||
gb->pc += (int8_t) GB_read_memory(gb, gb->pc++);
|
gb->pc += (int8_t)GB_read_memory(gb, gb->pc) + 1;
|
||||||
GB_advance_cycles(gb, 8);
|
GB_advance_cycles(gb, 8);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -307,7 +307,7 @@ static void jr_cc_r8(GB_gameboy_t *gb, uint8_t opcode)
|
|||||||
{
|
{
|
||||||
if (condition_code(gb, opcode)) {
|
if (condition_code(gb, opcode)) {
|
||||||
GB_advance_cycles(gb, 4);
|
GB_advance_cycles(gb, 4);
|
||||||
gb->pc += (int8_t)GB_read_memory(gb, gb->pc++);
|
gb->pc += (int8_t)GB_read_memory(gb, gb->pc) + 1;
|
||||||
GB_advance_cycles(gb, 8);
|
GB_advance_cycles(gb, 8);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
Loading…
Reference in New Issue
Block a user