add experimental single-cycle step control to spc700

This commit is contained in:
scawful
2024-05-11 13:56:19 -04:00
parent d42421a5a6
commit a6907044bd
3 changed files with 57 additions and 25 deletions

View File

@@ -20,18 +20,24 @@ void Spc700::MOVY(uint16_t adr) {
}
void Spc700::MOVS(uint16_t adr) {
read(adr);
write(adr, A);
switch (bstep) {
case 0: read(adr); break;
case 1: write(adr, A); bstep = 0; break;
}
}
void Spc700::MOVSX(uint16_t adr) {
read(adr);
write(adr, X);
switch (bstep) {
case 0: read(adr); break;
case 1: write(adr, X); bstep = 0; break;
}
}
void Spc700::MOVSY(uint16_t adr) {
read(adr);
write(adr, Y);
switch (bstep) {
case 0: read(adr); break;
case 1: write(adr, Y); bstep = 0; break;
}
}
void Spc700::MOV(uint16_t adr) {