helpy stuff
This commit is contained in:
parent
5be7d9ce1a
commit
eb72ec39d8
14
source/app.d
14
source/app.d
|
@ -397,7 +397,7 @@ struct Chip8Status {
|
|||
|
||||
import std.file : read;
|
||||
|
||||
auto buf = read("programs/sqrt.ch8");
|
||||
auto buf = read("programs/chip8_picture.ch8");
|
||||
emu_.load(0x200, buf); // do ze load yes, will copy all the data in
|
||||
|
||||
} // loadShortcut
|
||||
|
@ -602,6 +602,7 @@ struct Chip8 {
|
|||
|
||||
bool run_flag;
|
||||
bool draw_flag;
|
||||
bool reset_flag;
|
||||
|
||||
void load(size_t offset, in void[] data) {
|
||||
|
||||
|
@ -612,6 +613,8 @@ struct Chip8 {
|
|||
} // load
|
||||
|
||||
void reset() {
|
||||
|
||||
reset_flag = true;
|
||||
|
||||
cpu = cpu.init;
|
||||
stack = stack.init;
|
||||
|
@ -629,6 +632,12 @@ struct Chip8 {
|
|||
|
||||
void step() {
|
||||
|
||||
// reset if we go OOB
|
||||
if (cpu.pc >= 0xFFF) {
|
||||
reset();
|
||||
return;
|
||||
}
|
||||
|
||||
cpu.opcode = ram[cpu.pc] << 8 | ram[cpu.pc + 1];
|
||||
ushort pc_target = cast(ProgramCounter)(cpu.pc + 2u);
|
||||
|
||||
|
@ -1084,7 +1093,8 @@ struct Emulator {
|
|||
|
||||
int w, h;
|
||||
window.windowSize(w, h);
|
||||
if (emu.draw_flag) {
|
||||
if (emu.draw_flag || emu.reset_flag) {
|
||||
if (emu.reset_flag) emu.reset_flag = false;
|
||||
buf.update(emu.screen_buf);
|
||||
emu.draw_flag = false;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue