mirror of
https://github.com/wheremyfoodat/Panda3DS.git
synced 2025-06-07 19:41:38 +12:00
Emulator cleanup, add AR conditionals
This commit is contained in:
parent
08596c1a24
commit
d007b2d780
5 changed files with 79 additions and 62 deletions
|
@ -1,5 +1,6 @@
|
|||
#pragma once
|
||||
#include <array>
|
||||
#include <bitset>
|
||||
#include <vector>
|
||||
|
||||
#include "helpers.hpp"
|
||||
|
@ -7,6 +8,7 @@
|
|||
|
||||
class ActionReplay {
|
||||
using Cheat = std::vector<u32>; // A cheat is really just a bunch of 64-bit opcodes neatly encoded into 32-bit chunks
|
||||
static constexpr size_t ifStackSize = 32; // TODO: How big is this, really?
|
||||
|
||||
u32 offset1, offset2; // Memory offset registers. Non-persistent.
|
||||
u32 data1, data2; // Data offset registers. Non-persistent.
|
||||
|
@ -15,7 +17,10 @@ class ActionReplay {
|
|||
// When an instruction does not specify which offset or data register to use, we use the "active" one
|
||||
// Which is by default #1 and may be changed by certain AR operations
|
||||
u32 *activeOffset, *activeData, *activeStorage;
|
||||
|
||||
u32 ifStackIndex; // Our index in the if stack. Shows how many entries we have at the moment.
|
||||
u32 loopStackIndex; // Same but for loops
|
||||
std::bitset<32> ifStack;
|
||||
|
||||
// Program counter
|
||||
u32 pc = 0;
|
||||
Memory& mem;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue