static int command2(running_machine &machine) { victory_state *state = machine.driver_data<victory_state>(); struct micro_t µ = state->m_micro; /* Actual microcode: 02 00 0 0 ZERORAM, INCI, SWVRAM Basic gist of things: WRITE I++ goto state00 */ int addr = micro.i++ & 0x3fff; if (micro.cmd & 0x10) state->m_gram[addr] = micro.g; if (micro.cmd & 0x20) state->m_bram[addr] = micro.b; if (micro.cmd & 0x40) state->m_rram[addr] = micro.r; count_states(micro, 3); return 0; }
static int command2(void) { /* Actual microcode: 02 00 0 0 ZERORAM, INCI, SWVRAM Basic gist of things: WRITE I++ goto state00 */ int addr = micro.i++ & 0x3fff; if (micro.cmd & 0x10) gram[addr] = micro.g; if (micro.cmd & 0x20) bram[addr] = micro.b; if (micro.cmd & 0x40) rram[addr] = micro.r; count_states(3); return 0; }
int victory_state::command2() { struct micro_t µ = m_micro; /* Actual microcode: 02 00 0 0 ZERORAM, INCI, SWVRAM Basic gist of things: WRITE I++ goto state00 */ int addr = micro.i++ & 0x3fff; if (micro.cmd & 0x10) m_gram[addr] = micro.g; if (micro.cmd & 0x20) m_bram[addr] = micro.b; if (micro.cmd & 0x40) m_rram[addr] = micro.r; count_states(micro, 3); return 0; }