mirror of
https://github.com/Noratrieb/chip-8.git
synced 2026-01-14 08:25:02 +01:00
small changes
This commit is contained in:
parent
040b5d4477
commit
b58b8716e5
2 changed files with 9 additions and 11 deletions
|
|
@ -69,7 +69,7 @@ impl Chip8Vm {
|
|||
|
||||
|
||||
pub fn run(program: &[u16]) {
|
||||
let mut vm = Chip8Vm::default();
|
||||
let mut vm = Chip8Vm::new();
|
||||
vm.pc = 200;
|
||||
|
||||
while vm.pc < program.len() as u16 {
|
||||
|
|
@ -281,9 +281,7 @@ fn extract_0xyz(value: u16) -> (usize, usize, u16) {
|
|||
}
|
||||
|
||||
fn extract_0xii(value: u16) -> (usize, u8) {
|
||||
let x = (value & 0x0F00) >> 8;
|
||||
let ii = (value & 0x00FF) as u8;
|
||||
(x as usize, ii)
|
||||
extract_0xkk(value)
|
||||
}
|
||||
|
||||
fn extract_0nnn(value: u16) -> u16 {
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ use crate::interpreter::{Chip8Vm, execute};
|
|||
|
||||
#[test]
|
||||
fn instructions_0_1_2() {
|
||||
let mut vm = Chip8Vm::default();
|
||||
let mut vm = Chip8Vm::new();
|
||||
//frame clearing is not implemented yet.
|
||||
vm.pc = 10;
|
||||
execute(0x20FF, &mut vm); // call 0FF
|
||||
|
|
@ -18,7 +18,7 @@ fn instructions_0_1_2() {
|
|||
|
||||
#[test]
|
||||
fn instructions_3_4_5() {
|
||||
let mut vm = Chip8Vm::default();
|
||||
let mut vm = Chip8Vm::new();
|
||||
vm.reg[0] = 0xF2;
|
||||
execute(0x30F2, &mut vm);
|
||||
assert_eq!(vm.pc, 1);
|
||||
|
|
@ -33,7 +33,7 @@ fn instructions_3_4_5() {
|
|||
|
||||
#[test]
|
||||
fn instructions_6_7() {
|
||||
let mut vm = Chip8Vm::default();
|
||||
let mut vm = Chip8Vm::new();
|
||||
execute(0x60AB, &mut vm);
|
||||
assert_eq!(vm.reg[0], 0xAB);
|
||||
execute(0x69FF, &mut vm);
|
||||
|
|
@ -64,7 +64,7 @@ macro_rules! test_reg_ops_flag {
|
|||
|
||||
#[test]
|
||||
fn instructions_8xyz() {
|
||||
let mut vm = Chip8Vm::default();
|
||||
let mut vm = Chip8Vm::new();
|
||||
vm.reg[1] = 2;
|
||||
// 0 store V1 in V0
|
||||
execute(0x8010, &mut vm);
|
||||
|
|
@ -102,7 +102,7 @@ fn instructions_8xyz() {
|
|||
|
||||
#[test]
|
||||
fn instruction_9() {
|
||||
let mut vm = Chip8Vm::default();
|
||||
let mut vm = Chip8Vm::new();
|
||||
vm.reg[0] = 10;
|
||||
vm.reg[1] = 11;
|
||||
execute(0x9010, &mut vm);
|
||||
|
|
@ -113,7 +113,7 @@ fn instruction_9() {
|
|||
|
||||
#[test]
|
||||
fn instruction_a_b_c() {
|
||||
let mut vm = Chip8Vm::default();
|
||||
let mut vm = Chip8Vm::new();
|
||||
execute(0xA123, &mut vm);
|
||||
assert_eq!(vm.i, 0x123);
|
||||
vm.reg[0] = 100;
|
||||
|
|
@ -128,7 +128,7 @@ fn instruction_a_b_c() {
|
|||
|
||||
#[test]
|
||||
fn instruction_f() {
|
||||
let mut vm = Chip8Vm::default();
|
||||
let mut vm = Chip8Vm::new();
|
||||
|
||||
vm.delay_t = 245;
|
||||
execute(0xF007, &mut vm);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue