atari/irobot_m.cpp: Initialise mathbox stack after loading decoding opcode PROMs (#10970)

This commit is contained in:
jflatt 2023-03-11 05:47:46 -08:00 committed by GitHub
parent d255a8e4d4
commit fa4ea8e951
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -315,12 +315,11 @@ void irobot_state::irmb_dout(const irmb_ops *curop, uint32_t d)
void irobot_state::load_oproms()
{
uint8_t *MB = memregion("proms")->base() + 0x20;
int i;
/* allocate RAM */
m_mbops = std::make_unique<irmb_ops[]>(1024);
for (i = 0; i < 1024; i++)
for (int i = 0; i < 1024; i++)
{
int nxtadd, func, ramsel, diradd, latchmask, dirmask, time;
@ -386,13 +385,14 @@ void irobot_state::load_oproms()
/* Init mathbox (only called once) */
void irobot_state::init_irobot()
{
load_oproms();
for (int i = 0; i < 16; i++)
{
m_irmb_stack[i] = &m_mbops[0];
m_irmb_regs[i] = 0;
}
m_irmb_latch = 0;
load_oproms();
}
TIMER_DEVICE_CALLBACK_MEMBER(irobot_state::irobot_irmb_done_callback)