MMR1/2 verification
Some checks failed
CodeQL / Analyze (push) Has been cancelled

This commit is contained in:
Folkert van Heusden 2025-04-12 12:26:07 +02:00
parent 2163d5ad58
commit 62c86dfccb
Signed by untrusted user who does not match committer: folkert
GPG key ID: 6B6455EDFEED3BD1
2 changed files with 11 additions and 0 deletions

View file

@ -131,6 +131,9 @@ int run_cpu_validation(console *const cnsl, const std::string & filename)
for(int i=0; i<4; i++)
c->set_stackpointer(i, get_register_value(before, format("stack-%d", i)));
b->getMMU()->setMMR1(get_register_value(before, "mmr1"));
b->getMMU()->setMMR2(get_register_value(before, "mmr2"));
// registers
for(int set=0; set<2; set++) {
for(int i=0; i<6; i++)
@ -170,6 +173,9 @@ int run_cpu_validation(console *const cnsl, const std::string & filename)
for(int i=0; i<4; i++)
cur_n_errors += !compare_values(cnsl, c->get_stackpointer(i), get_register_value(after, format("stack-%d", i)), format("Stack pointer %d", i));
cur_n_errors += !compare_values(cnsl, b->getMMU()->getMMR1(), get_register_value(after, "mmr1"), "MMR1");
cur_n_errors += !compare_values(cnsl, b->getMMU()->getMMR2(), get_register_value(after, "mmr2"), "MMR2");
for(int set=0; set<2; set++) {
for(int i=0; i<6; i++)
cur_n_errors += !compare_values(cnsl, c->lowlevel_register_get(set, i), get_register_value(after, format("reg-%d.%d", i, set)), format("Register %d", i));

View file

@ -126,6 +126,11 @@ void mmu::clearMMR0Bit(const int bit)
MMR0 &= ~(1 << bit);
}
void mmu::setMMR1(const uint16_t value)
{
MMR1 = value;
}
void mmu::setMMR2(const uint16_t value)
{
MMR2 = value;