worked on the first module
This commit is contained in:
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -24,6 +24,7 @@ namespace CoborVM
|
||||
godot::String set_registers(int size, godot::PackedInt32Array preloaded_values);
|
||||
godot::PackedInt32Array get_registers();
|
||||
int get_program_counter();
|
||||
int get_program_size();
|
||||
godot::String run_step();
|
||||
godot::String run_all();
|
||||
|
||||
|
||||
@@ -8,6 +8,7 @@ void CoborVM::CoborVirtualMachine::_bind_methods()
|
||||
godot::ClassDB::bind_method(godot::D_METHOD("set_registers", "size", "preloaded_values"), &CoborVirtualMachine::set_registers);
|
||||
godot::ClassDB::bind_method(godot::D_METHOD("get_registers"), &CoborVirtualMachine::get_registers);
|
||||
godot::ClassDB::bind_method(godot::D_METHOD("get_program_counter"), &CoborVirtualMachine::get_program_counter);
|
||||
godot::ClassDB::bind_method(godot::D_METHOD("get_program_size"), &CoborVirtualMachine::get_program_size);
|
||||
godot::ClassDB::bind_method(godot::D_METHOD("run_step"), &CoborVirtualMachine::run_step);
|
||||
godot::ClassDB::bind_method(godot::D_METHOD("run_all"), &CoborVirtualMachine::run_all);
|
||||
}
|
||||
@@ -59,13 +60,10 @@ godot::String CoborVM::CoborVirtualMachine::set_registers(int size, godot::Packe
|
||||
if (size <= 0)
|
||||
return godot::String("Size must be one or higher");
|
||||
register_memory = std::vector<int32_t>(size);
|
||||
int i = 0;
|
||||
preloaded_values.resize(size);
|
||||
for (int value : preloaded_values)
|
||||
{
|
||||
if (i >= size)
|
||||
break;
|
||||
register_memory[i] = value;
|
||||
i++;
|
||||
}
|
||||
return godot::String();
|
||||
}
|
||||
@@ -85,6 +83,11 @@ int CoborVM::CoborVirtualMachine::get_program_counter()
|
||||
return register_memory[0];
|
||||
}
|
||||
|
||||
int CoborVM::CoborVirtualMachine::get_program_size()
|
||||
{
|
||||
return program.size();
|
||||
}
|
||||
|
||||
godot::String CoborVM::CoborVirtualMachine::run_step()
|
||||
{
|
||||
if (program.empty())
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user