File tree 1 file changed +9
-2
lines changed
1 file changed +9
-2
lines changed Original file line number Diff line number Diff line change @@ -514,14 +514,17 @@ void chip8_execute(CHIP8 *chip8)
514
514
Legacy: Set Vx = Vy SHR 1.
515
515
S-CHIP: Set Vx = Vx SHR 1. */
516
516
case 0x06 :
517
+ {
517
518
if (!chip8 -> quirks [1 ])
518
519
{
519
520
chip8 -> V [x ] = chip8 -> V [y ];
520
521
}
521
522
522
- chip8 -> V [ 0x0F ] = chip8 -> V [x ] & 0x01 ;
523
+ int carry = chip8 -> V [x ] & 0x01 ;
523
524
chip8 -> V [x ] >>= 1 ;
525
+ chip8 -> V [0x0F ] = carry ;
524
526
break ;
527
+ }
525
528
526
529
/* SUBN Vx, Vy (8xy7)
527
530
Set Vx = Vy - Vx, set VF = NOT borrow. */
@@ -537,15 +540,19 @@ void chip8_execute(CHIP8 *chip8)
537
540
Legacy: Set Vx = Vy SHL 1.
538
541
S-CHIP: Set Vx = Vx SHL 1. */
539
542
case 0x0E :
543
+ {
540
544
if (!chip8 -> quirks [1 ])
541
545
{
542
546
chip8 -> V [x ] = chip8 -> V [y ];
543
547
}
544
548
545
- chip8 -> V [0x0F ] = (chip8 -> V [x ] & 0x80 ) >> 7 ;
549
+ //chip8->V[0x0F] = (chip8->V[x] & 0x80) >> 7;
550
+ int carry = (chip8 -> V [x ] & 0x80 ) >> 7 ;
546
551
chip8 -> V [x ] <<= 1 ;
552
+ chip8 -> V [0x0F ] = carry ;
547
553
break ;
548
554
}
555
+ }
549
556
550
557
break ;
551
558
You can’t perform that action at this time.
0 commit comments