void arcompact_device::device_start() { m_pc = 0; m_debugger_temp = 0; m_program = &space(AS_PROGRAM); m_io = &space(AS_IO); state_add( ARCOMPACT_PC, "PC", m_debugger_temp).callimport().callexport().formatstr("%08X"); state_add( ARCOMPACT_STATUS32, "STATUS32", m_debugger_temp).callimport().callexport().formatstr("%08X"); state_add( ARCOMPACT_LP_START, "LP_START", m_debugger_temp).callimport().callexport().formatstr("%08X"); state_add( ARCOMPACT_LP_END, "LP_END", m_debugger_temp).callimport().callexport().formatstr("%08X"); state_add(STATE_GENPCBASE, "CURPC", m_debugger_temp).callimport().callexport().noshow(); for (int i = 0x100; i < 0x140; i++) { state_add(i, arcompact_disassembler::regnames[i-0x100], m_debugger_temp).callimport().callexport().formatstr("%08X"); } set_icountptr(m_icount); }
void lr35902_cpu_device::device_start() { m_device = this; m_program = &space(AS_PROGRAM); // resolve callbacks m_timer_func.resolve_safe(); m_incdec16_func.resolve_safe(); // register for save states save_item(NAME(m_A)); save_item(NAME(m_F)); save_item(NAME(m_B)); save_item(NAME(m_C)); save_item(NAME(m_D)); save_item(NAME(m_E)); save_item(NAME(m_H)); save_item(NAME(m_L)); save_item(NAME(m_PC)); save_item(NAME(m_SP)); save_item(NAME(m_IE)); save_item(NAME(m_IF)); save_item(NAME(m_irq_state)); save_item(NAME(m_handle_ei_delay)); save_item(NAME(m_execution_state)); save_item(NAME(m_op)); save_item(NAME(m_gb_speed)); save_item(NAME(m_gb_speed_change_pending)); save_item(NAME(m_enable)); save_item(NAME(m_entering_halt)); // Register state for debugger state_add( LR35902_PC, "PC", m_PC ).callimport().callexport().formatstr("%04X"); state_add( LR35902_SP, "SP", m_SP ).callimport().callexport().formatstr("%04X"); state_add( LR35902_A, "A", m_A ).callimport().callexport().formatstr("%02X"); state_add( LR35902_F, "F", m_F ).callimport().callexport().formatstr("%02X"); state_add( LR35902_B, "B", m_B ).callimport().callexport().formatstr("%02X"); state_add( LR35902_C, "C", m_C ).callimport().callexport().formatstr("%02X"); state_add( LR35902_D, "D", m_D ).callimport().callexport().formatstr("%02X"); state_add( LR35902_E, "E", m_E ).callimport().callexport().formatstr("%02X"); state_add( LR35902_H, "H", m_H ).callimport().callexport().formatstr("%02X"); state_add( LR35902_L, "L", m_L ).callimport().callexport().formatstr("%02X"); state_add( LR35902_IRQ_STATE, "IRQ", m_enable ).callimport().callexport().formatstr("%02X"); state_add( LR35902_IE, "IE", m_IE ).callimport().callexport().formatstr("%02X"); state_add( LR35902_IF, "IF", m_IF ).callimport().callexport().formatstr("%02X"); state_add(STATE_GENPC, "GENPC", m_PC).formatstr("%8s").noshow(); state_add(STATE_GENPCBASE, "CURPC", m_PC).formatstr("%8s").noshow(); state_add(STATE_GENFLAGS, "GENFLAGS", m_F).mask(0xf0).formatstr("%8s").noshow(); set_icountptr(m_icount); }
/**************************************************************************** * Initialize emulation ****************************************************************************/ void alpha8201_cpu_device::device_start() { m_program = &space(AS_PROGRAM); m_direct = m_program->direct<0>(); state_add( ALPHA8201_PC, "PC", m_pc.w.l ).callimport().mask(0x3ff).formatstr("%03X"); state_add( ALPHA8201_SP, "SP", m_sp ).callimport().callexport().formatstr("%02X"); state_add( ALPHA8201_RB, "RB", m_regPtr ).mask(0x7); state_add( ALPHA8201_MB, "MB", m_mb ).mask(0x3); state_add( ALPHA8201_IX0, "IX0", m_ix0.b.l ); state_add( ALPHA8201_IX1, "IX1", m_ix1.b.l ); state_add( ALPHA8201_IX2, "IX2", m_ix2.b.l ); state_add( ALPHA8201_LP0, "LP0", m_lp0 ); state_add( ALPHA8201_LP1, "LP1", m_lp1 ); state_add( ALPHA8201_LP2, "LP2", m_lp2 ); state_add( ALPHA8201_A, "A", m_A ); state_add( ALPHA8201_B, "B", m_B ); state_add( ALPHA8201_R0, "R0", m_R[0] ).callimport().callexport().formatstr("%02X"); state_add( ALPHA8201_R1, "R1", m_R[1] ).callimport().callexport().formatstr("%02X"); state_add( ALPHA8201_R2, "R2", m_R[2] ).callimport().callexport().formatstr("%02X"); state_add( ALPHA8201_R3, "R3", m_R[3] ).callimport().callexport().formatstr("%02X"); state_add( ALPHA8201_R4, "R4", m_R[4] ).callimport().callexport().formatstr("%02X"); state_add( ALPHA8201_R5, "R5", m_R[5] ).callimport().callexport().formatstr("%02X"); state_add( ALPHA8201_R6, "R6", m_R[6] ).callimport().callexport().formatstr("%02X"); state_add( ALPHA8201_R7, "R7", m_R[7] ).callimport().callexport().formatstr("%02X"); state_add( STATE_GENPCBASE, "CURPC", m_PREVPC ).callimport().noshow(); state_add( STATE_GENFLAGS, "CURFLAGS", m_flags ).callimport().callexport().formatstr("%2s").noshow(); state_add( STATE_GENSP, "CURSP", m_sp ).callimport().callexport(); save_item(NAME(m_RAM)); save_item(NAME(m_PREVPC)); save_item(NAME(m_pc.w.l)); save_item(NAME(m_regPtr)); save_item(NAME(m_zf)); save_item(NAME(m_cf)); save_item(NAME(m_mb)); save_item(NAME(m_halt)); save_item(NAME(m_ix0.b.l)); save_item(NAME(m_ix1.b.l)); save_item(NAME(m_ix2.b.l)); save_item(NAME(m_lp0)); save_item(NAME(m_lp1)); save_item(NAME(m_lp2)); save_item(NAME(m_A)); save_item(NAME(m_B)); save_item(NAME(m_retptr)); save_item(NAME(m_savec)); save_item(NAME(m_savez)); set_icountptr(m_icount); }
void alpha_device::device_start() { set_icountptr(m_icount); save_item(NAME(m_pc)); save_item(NAME(m_r)); save_item(NAME(m_f)); state_add(STATE_GENPC, "GENPC", m_pc).noshow(); state_add(STATE_GENPCBASE, "CURPC", m_pc).noshow(); state_add(64, "PC", m_pc); // integer registers for (unsigned i = 0; i < 32; i++) state_add(i, util::string_format("R%d", i).c_str(), m_r[i]); // floating point registers for (unsigned i = 0; i < 32; i++) state_add(i + 32, util::string_format("F%d", i).c_str(), m_f[i]); }
void am29000_cpu_device::device_start() { m_program = &space(AS_PROGRAM); m_direct = m_program->direct<0>(); m_data = &space(AS_DATA); m_datadirect = m_data->direct<0>(); m_io = &space(AS_IO); m_cfg = (PRL_AM29000 | PRL_REV_D) << CFG_PRL_SHIFT; /* Register state for saving */ save_item(NAME(m_pc)); save_item(NAME(m_r)); save_item(NAME(m_tlb)); save_item(NAME(m_vab)); save_item(NAME(m_ops)); save_item(NAME(m_cps)); save_item(NAME(m_cfg)); save_item(NAME(m_cha)); save_item(NAME(m_chd)); save_item(NAME(m_chc)); save_item(NAME(m_rbp)); save_item(NAME(m_tmc)); save_item(NAME(m_tmr)); save_item(NAME(m_pc0)); save_item(NAME(m_pc1)); save_item(NAME(m_pc2)); save_item(NAME(m_mmu)); save_item(NAME(m_lru)); save_item(NAME(m_ipc)); save_item(NAME(m_ipa)); save_item(NAME(m_ipb)); save_item(NAME(m_q)); save_item(NAME(m_alu)); save_item(NAME(m_fpe)); save_item(NAME(m_inte)); save_item(NAME(m_fps)); save_item(NAME(m_exceptions)); save_item(NAME(m_exception_queue)); save_item(NAME(m_irq_active)); save_item(NAME(m_irq_lines)); save_item(NAME(m_exec_ir)); save_item(NAME(m_next_ir)); save_item(NAME(m_pl_flags)); save_item(NAME(m_next_pl_flags)); save_item(NAME(m_iret_pc)); save_item(NAME(m_exec_pc)); save_item(NAME(m_next_pc)); // Register state for debugger state_add( AM29000_PC, "PC", m_pc ).callimport().formatstr("%08X"); state_add( AM29000_VAB, "VAB", m_vab ).formatstr("%08X"); state_add( AM29000_OPS, "OPS", m_ops ).formatstr("%08X"); state_add( AM29000_CPS, "CPS", m_cps ).formatstr("%08X"); state_add( AM29000_CFG, "CFG", m_cfg ).formatstr("%08X"); state_add( AM29000_CHA, "CHA", m_cha ).formatstr("%08X"); state_add( AM29000_CHD, "CHD", m_chd ).formatstr("%08X"); state_add( AM29000_CHC, "CHC", m_chc ).formatstr("%08X"); state_add( AM29000_RBP, "RBP", m_rbp ).formatstr("%08X"); state_add( AM29000_TMC, "TMC", m_tmc ).formatstr("%08X"); state_add( AM29000_TMR, "TMR", m_tmr ).formatstr("%08X"); state_add( AM29000_PC0, "PC0", m_pc0 ).formatstr("%08X"); state_add( AM29000_PC1, "PC1", m_pc1 ).formatstr("%08X"); state_add( AM29000_PC2, "PC2", m_pc2 ).formatstr("%08X"); state_add( AM29000_MMU, "MMU", m_mmu ).formatstr("%08X"); state_add( AM29000_LRU, "LRU", m_lru ).formatstr("%08X"); state_add( AM29000_IPC, "IPC", m_ipc ).formatstr("%08X"); state_add( AM29000_IPA, "IPA", m_ipa ).formatstr("%08X"); state_add( AM29000_IPB, "IPB", m_ipb ).formatstr("%08X"); state_add( AM29000_Q, "Q", m_q ).formatstr("%08X"); state_add( AM29000_ALU, "ALU", m_alu ).formatstr("%08X"); // state_add( AM29000_BP, "BP", GET_ALU_BP).formatstr("%08X"); // state_add( AM29000_FC, "FC", GET_ALU_FC).formatstr("%08X"); // state_add( AM29000_CR, "CR", GET_CHC_CR).formatstr("%08X"); state_add( AM29000_FPE, "FPE", m_fpe ).formatstr("%08X"); state_add( AM29000_INTE, "INTE", m_inte ).formatstr("%08X"); state_add( AM29000_FPS, "FPS", m_fps ).formatstr("%08X"); state_add( AM29000_R1, "R1", m_r[1] ).formatstr("%08X"); state_add( AM29000_R64, "R64", m_r[64] ).formatstr("%08X"); state_add( AM29000_R65, "R65", m_r[65] ).formatstr("%08X"); state_add( AM29000_R66, "R66", m_r[66] ).formatstr("%08X"); state_add( AM29000_R67, "R67", m_r[67] ).formatstr("%08X"); state_add( AM29000_R68, "R68", m_r[68] ).formatstr("%08X"); state_add( AM29000_R69, "R69", m_r[69] ).formatstr("%08X"); state_add( AM29000_R70, "R70", m_r[70] ).formatstr("%08X"); state_add( AM29000_R71, "R71", m_r[71] ).formatstr("%08X"); state_add( AM29000_R72, "R72", m_r[72] ).formatstr("%08X"); state_add( AM29000_R73, "R73", m_r[73] ).formatstr("%08X"); state_add( AM29000_R74, "R74", m_r[74] ).formatstr("%08X"); state_add( AM29000_R75, "R75", m_r[75] ).formatstr("%08X"); state_add( AM29000_R76, "R76", m_r[76] ).formatstr("%08X"); state_add( AM29000_R77, "R77", m_r[77] ).formatstr("%08X"); state_add( AM29000_R78, "R78", m_r[78] ).formatstr("%08X"); state_add( AM29000_R79, "R79", m_r[79] ).formatstr("%08X"); state_add( AM29000_R80, "R80", m_r[80] ).formatstr("%08X"); state_add( AM29000_R81, "R81", m_r[81] ).formatstr("%08X"); state_add( AM29000_R82, "R82", m_r[82] ).formatstr("%08X"); state_add( AM29000_R83, "R83", m_r[83] ).formatstr("%08X"); state_add( AM29000_R84, "R84", m_r[84] ).formatstr("%08X"); state_add( AM29000_R85, "R85", m_r[85] ).formatstr("%08X"); state_add( AM29000_R86, "R86", m_r[86] ).formatstr("%08X"); state_add( AM29000_R87, "R87", m_r[87] ).formatstr("%08X"); state_add( AM29000_R88, "R88", m_r[88] ).formatstr("%08X"); state_add( AM29000_R89, "R89", m_r[89] ).formatstr("%08X"); state_add( AM29000_R90, "R90", m_r[90] ).formatstr("%08X"); state_add( AM29000_R91, "R91", m_r[91] ).formatstr("%08X"); state_add( AM29000_R92, "R92", m_r[92] ).formatstr("%08X"); state_add( AM29000_R93, "R93", m_r[93] ).formatstr("%08X"); state_add( AM29000_R94, "R94", m_r[94] ).formatstr("%08X"); state_add( AM29000_R95, "R95", m_r[95] ).formatstr("%08X"); state_add( AM29000_R96, "R96", m_r[96] ).formatstr("%08X"); state_add( AM29000_R97, "R97", m_r[97] ).formatstr("%08X"); state_add( AM29000_R98, "R98", m_r[98] ).formatstr("%08X"); state_add( AM29000_R99, "R99", m_r[99] ).formatstr("%08X"); state_add( AM29000_R100, "R100", m_r[100] ).formatstr("%08X"); state_add( AM29000_R101, "R101", m_r[101] ).formatstr("%08X"); state_add( AM29000_R102, "R102", m_r[102] ).formatstr("%08X"); state_add( AM29000_R103, "R103", m_r[103] ).formatstr("%08X"); state_add( AM29000_R104, "R104", m_r[104] ).formatstr("%08X"); state_add( AM29000_R105, "R105", m_r[105] ).formatstr("%08X"); state_add( AM29000_R106, "R106", m_r[106] ).formatstr("%08X"); state_add( AM29000_R107, "R107", m_r[107] ).formatstr("%08X"); state_add( AM29000_R108, "R108", m_r[108] ).formatstr("%08X"); state_add( AM29000_R109, "R109", m_r[109] ).formatstr("%08X"); state_add( AM29000_R110, "R110", m_r[110] ).formatstr("%08X"); state_add( AM29000_R111, "R111", m_r[111] ).formatstr("%08X"); state_add( AM29000_R112, "R112", m_r[112] ).formatstr("%08X"); state_add( AM29000_R113, "R113", m_r[113] ).formatstr("%08X"); state_add( AM29000_R114, "R114", m_r[114] ).formatstr("%08X"); state_add( AM29000_R115, "R115", m_r[115] ).formatstr("%08X"); state_add( AM29000_R116, "R116", m_r[116] ).formatstr("%08X"); state_add( AM29000_R117, "R117", m_r[117] ).formatstr("%08X"); state_add( AM29000_R118, "R118", m_r[118] ).formatstr("%08X"); state_add( AM29000_R119, "R119", m_r[119] ).formatstr("%08X"); state_add( AM29000_R120, "R120", m_r[120] ).formatstr("%08X"); state_add( AM29000_R121, "R121", m_r[121] ).formatstr("%08X"); state_add( AM29000_R122, "R122", m_r[122] ).formatstr("%08X"); state_add( AM29000_R123, "R123", m_r[123] ).formatstr("%08X"); state_add( AM29000_R124, "R124", m_r[124] ).formatstr("%08X"); state_add( AM29000_R125, "R125", m_r[125] ).formatstr("%08X"); state_add( AM29000_R126, "R126", m_r[126] ).formatstr("%08X"); state_add( AM29000_R127, "R127", m_r[127] ).formatstr("%08X"); state_add( AM29000_R128, "R128", m_r[128] ).formatstr("%08X"); state_add( AM29000_R129, "R129", m_r[129] ).formatstr("%08X"); state_add( AM29000_R130, "R130", m_r[130] ).formatstr("%08X"); state_add( AM29000_R131, "R131", m_r[131] ).formatstr("%08X"); state_add( AM29000_R132, "R132", m_r[132] ).formatstr("%08X"); state_add( AM29000_R133, "R133", m_r[133] ).formatstr("%08X"); state_add( AM29000_R134, "R134", m_r[134] ).formatstr("%08X"); state_add( AM29000_R135, "R135", m_r[135] ).formatstr("%08X"); state_add( AM29000_R136, "R136", m_r[136] ).formatstr("%08X"); state_add( AM29000_R137, "R137", m_r[137] ).formatstr("%08X"); state_add( AM29000_R138, "R138", m_r[138] ).formatstr("%08X"); state_add( AM29000_R139, "R139", m_r[139] ).formatstr("%08X"); state_add( AM29000_R140, "R140", m_r[140] ).formatstr("%08X"); state_add( AM29000_R141, "R141", m_r[141] ).formatstr("%08X"); state_add( AM29000_R142, "R142", m_r[142] ).formatstr("%08X"); state_add( AM29000_R143, "R143", m_r[143] ).formatstr("%08X"); state_add( AM29000_R144, "R144", m_r[144] ).formatstr("%08X"); state_add( AM29000_R145, "R145", m_r[145] ).formatstr("%08X"); state_add( AM29000_R146, "R146", m_r[146] ).formatstr("%08X"); state_add( AM29000_R147, "R147", m_r[147] ).formatstr("%08X"); state_add( AM29000_R148, "R148", m_r[148] ).formatstr("%08X"); state_add( AM29000_R149, "R149", m_r[149] ).formatstr("%08X"); state_add( AM29000_R150, "R150", m_r[150] ).formatstr("%08X"); state_add( AM29000_R151, "R151", m_r[151] ).formatstr("%08X"); state_add( AM29000_R152, "R152", m_r[152] ).formatstr("%08X"); state_add( AM29000_R153, "R153", m_r[153] ).formatstr("%08X"); state_add( AM29000_R154, "R154", m_r[154] ).formatstr("%08X"); state_add( AM29000_R155, "R155", m_r[155] ).formatstr("%08X"); state_add( AM29000_R156, "R156", m_r[156] ).formatstr("%08X"); state_add( AM29000_R157, "R157", m_r[157] ).formatstr("%08X"); state_add( AM29000_R158, "R158", m_r[158] ).formatstr("%08X"); state_add( AM29000_R159, "R159", m_r[159] ).formatstr("%08X"); state_add( AM29000_R160, "R160", m_r[160] ).formatstr("%08X"); state_add( AM29000_R161, "R161", m_r[161] ).formatstr("%08X"); state_add( AM29000_R162, "R162", m_r[162] ).formatstr("%08X"); state_add( AM29000_R163, "R163", m_r[163] ).formatstr("%08X"); state_add( AM29000_R164, "R164", m_r[164] ).formatstr("%08X"); state_add( AM29000_R165, "R165", m_r[165] ).formatstr("%08X"); state_add( AM29000_R166, "R166", m_r[166] ).formatstr("%08X"); state_add( AM29000_R167, "R167", m_r[167] ).formatstr("%08X"); state_add( AM29000_R168, "R168", m_r[168] ).formatstr("%08X"); state_add( AM29000_R169, "R169", m_r[169] ).formatstr("%08X"); state_add( AM29000_R170, "R170", m_r[170] ).formatstr("%08X"); state_add( AM29000_R171, "R171", m_r[171] ).formatstr("%08X"); state_add( AM29000_R172, "R172", m_r[172] ).formatstr("%08X"); state_add( AM29000_R173, "R173", m_r[173] ).formatstr("%08X"); state_add( AM29000_R174, "R174", m_r[174] ).formatstr("%08X"); state_add( AM29000_R175, "R175", m_r[175] ).formatstr("%08X"); state_add( AM29000_R176, "R176", m_r[176] ).formatstr("%08X"); state_add( AM29000_R177, "R177", m_r[177] ).formatstr("%08X"); state_add( AM29000_R178, "R178", m_r[178] ).formatstr("%08X"); state_add( AM29000_R179, "R179", m_r[179] ).formatstr("%08X"); state_add( AM29000_R180, "R180", m_r[180] ).formatstr("%08X"); state_add( AM29000_R181, "R181", m_r[181] ).formatstr("%08X"); state_add( AM29000_R182, "R182", m_r[182] ).formatstr("%08X"); state_add( AM29000_R183, "R183", m_r[183] ).formatstr("%08X"); state_add( AM29000_R184, "R184", m_r[184] ).formatstr("%08X"); state_add( AM29000_R185, "R185", m_r[185] ).formatstr("%08X"); state_add( AM29000_R186, "R186", m_r[186] ).formatstr("%08X"); state_add( AM29000_R187, "R187", m_r[187] ).formatstr("%08X"); state_add( AM29000_R188, "R188", m_r[188] ).formatstr("%08X"); state_add( AM29000_R189, "R189", m_r[189] ).formatstr("%08X"); state_add( AM29000_R190, "R190", m_r[190] ).formatstr("%08X"); state_add( AM29000_R191, "R191", m_r[191] ).formatstr("%08X"); state_add( AM29000_R192, "R192", m_r[192] ).formatstr("%08X"); state_add( AM29000_R193, "R193", m_r[193] ).formatstr("%08X"); state_add( AM29000_R194, "R194", m_r[194] ).formatstr("%08X"); state_add( AM29000_R195, "R195", m_r[195] ).formatstr("%08X"); state_add( AM29000_R196, "R196", m_r[196] ).formatstr("%08X"); state_add( AM29000_R197, "R197", m_r[197] ).formatstr("%08X"); state_add( AM29000_R198, "R198", m_r[198] ).formatstr("%08X"); state_add( AM29000_R199, "R199", m_r[199] ).formatstr("%08X"); state_add( AM29000_R200, "R200", m_r[200] ).formatstr("%08X"); state_add( AM29000_R201, "R201", m_r[201] ).formatstr("%08X"); state_add( AM29000_R202, "R202", m_r[202] ).formatstr("%08X"); state_add( AM29000_R203, "R203", m_r[203] ).formatstr("%08X"); state_add( AM29000_R204, "R204", m_r[204] ).formatstr("%08X"); state_add( AM29000_R205, "R205", m_r[205] ).formatstr("%08X"); state_add( AM29000_R206, "R206", m_r[206] ).formatstr("%08X"); state_add( AM29000_R207, "R207", m_r[207] ).formatstr("%08X"); state_add( AM29000_R208, "R208", m_r[208] ).formatstr("%08X"); state_add( AM29000_R209, "R209", m_r[209] ).formatstr("%08X"); state_add( AM29000_R210, "R210", m_r[210] ).formatstr("%08X"); state_add( AM29000_R211, "R211", m_r[211] ).formatstr("%08X"); state_add( AM29000_R212, "R212", m_r[212] ).formatstr("%08X"); state_add( AM29000_R213, "R213", m_r[213] ).formatstr("%08X"); state_add( AM29000_R214, "R214", m_r[214] ).formatstr("%08X"); state_add( AM29000_R215, "R215", m_r[215] ).formatstr("%08X"); state_add( AM29000_R216, "R216", m_r[216] ).formatstr("%08X"); state_add( AM29000_R217, "R217", m_r[217] ).formatstr("%08X"); state_add( AM29000_R218, "R218", m_r[218] ).formatstr("%08X"); state_add( AM29000_R219, "R219", m_r[219] ).formatstr("%08X"); state_add( AM29000_R220, "R220", m_r[220] ).formatstr("%08X"); state_add( AM29000_R221, "R221", m_r[221] ).formatstr("%08X"); state_add( AM29000_R222, "R222", m_r[222] ).formatstr("%08X"); state_add( AM29000_R223, "R223", m_r[223] ).formatstr("%08X"); state_add( AM29000_R224, "R224", m_r[224] ).formatstr("%08X"); state_add( AM29000_R225, "R225", m_r[225] ).formatstr("%08X"); state_add( AM29000_R226, "R226", m_r[226] ).formatstr("%08X"); state_add( AM29000_R227, "R227", m_r[227] ).formatstr("%08X"); state_add( AM29000_R228, "R228", m_r[228] ).formatstr("%08X"); state_add( AM29000_R229, "R229", m_r[229] ).formatstr("%08X"); state_add( AM29000_R230, "R230", m_r[230] ).formatstr("%08X"); state_add( AM29000_R231, "R231", m_r[231] ).formatstr("%08X"); state_add( AM29000_R232, "R232", m_r[232] ).formatstr("%08X"); state_add( AM29000_R233, "R233", m_r[233] ).formatstr("%08X"); state_add( AM29000_R234, "R234", m_r[234] ).formatstr("%08X"); state_add( AM29000_R235, "R235", m_r[235] ).formatstr("%08X"); state_add( AM29000_R236, "R236", m_r[236] ).formatstr("%08X"); state_add( AM29000_R237, "R237", m_r[237] ).formatstr("%08X"); state_add( AM29000_R238, "R238", m_r[238] ).formatstr("%08X"); state_add( AM29000_R239, "R239", m_r[239] ).formatstr("%08X"); state_add( AM29000_R240, "R240", m_r[240] ).formatstr("%08X"); state_add( AM29000_R241, "R241", m_r[241] ).formatstr("%08X"); state_add( AM29000_R242, "R242", m_r[242] ).formatstr("%08X"); state_add( AM29000_R243, "R243", m_r[243] ).formatstr("%08X"); state_add( AM29000_R244, "R244", m_r[244] ).formatstr("%08X"); state_add( AM29000_R245, "R245", m_r[245] ).formatstr("%08X"); state_add( AM29000_R246, "R246", m_r[246] ).formatstr("%08X"); state_add( AM29000_R247, "R247", m_r[247] ).formatstr("%08X"); state_add( AM29000_R248, "R248", m_r[248] ).formatstr("%08X"); state_add( AM29000_R249, "R249", m_r[249] ).formatstr("%08X"); state_add( AM29000_R250, "R250", m_r[250] ).formatstr("%08X"); state_add( AM29000_R251, "R251", m_r[251] ).formatstr("%08X"); state_add( AM29000_R252, "R252", m_r[252] ).formatstr("%08X"); state_add( AM29000_R253, "R253", m_r[253] ).formatstr("%08X"); state_add( AM29000_R254, "R254", m_r[254] ).formatstr("%08X"); state_add( AM29000_R255, "R255", m_r[255] ).formatstr("%08X"); state_add(STATE_GENPCBASE, "CURPC", m_pc).callimport().noshow(); state_add(STATE_GENFLAGS, "CURFLAGS", m_alu).formatstr("%13s").noshow(); set_icountptr(m_icount); }
void hmcs40_cpu_device::device_start() { m_program = &space(AS_PROGRAM); m_data = &space(AS_DATA); m_prgmask = (1 << m_prgwidth) - 1; m_datamask = (1 << m_datawidth) - 1; m_pcmask = (1 << m_pcwidth) - 1; m_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(hmcs40_cpu_device::simple_timer_cb), this)); reset_prescaler(); // resolve callbacks for (int i = 0; i < 8; i++) { m_read_r[i].resolve_safe(m_polarity & 0xf); m_write_r[i].resolve_safe(); } m_read_d.resolve_safe(m_polarity); m_write_d.resolve_safe(); // zerofill memset(m_stack, 0, sizeof(m_stack)); m_op = 0; m_prev_op = 0; m_i = 0; m_eint_line = 0; m_halt = 0; m_pc = 0; m_prev_pc = 0; m_page = 0; m_a = 0; m_b = 0; m_x = 0; m_spx = 0; m_y = 0; m_spy = 0; m_s = 1; m_c = 0; m_tc = 0; m_cf = 0; m_ie = 0; m_iri = m_irt = 0; memset(m_if, 0, sizeof(m_if)); m_tf = 0; memset(m_int, 0, sizeof(m_int)); memset(m_r, 0, sizeof(m_r)); m_d = 0; // register for savestates save_item(NAME(m_stack)); save_item(NAME(m_op)); save_item(NAME(m_prev_op)); save_item(NAME(m_i)); save_item(NAME(m_eint_line)); save_item(NAME(m_halt)); save_item(NAME(m_timer_halted_remain)); save_item(NAME(m_pc)); save_item(NAME(m_prev_pc)); save_item(NAME(m_page)); save_item(NAME(m_a)); save_item(NAME(m_b)); save_item(NAME(m_x)); save_item(NAME(m_spx)); save_item(NAME(m_y)); save_item(NAME(m_spy)); save_item(NAME(m_s)); save_item(NAME(m_c)); save_item(NAME(m_tc)); save_item(NAME(m_cf)); save_item(NAME(m_ie)); save_item(NAME(m_iri)); save_item(NAME(m_irt)); save_item(NAME(m_if)); save_item(NAME(m_tf)); save_item(NAME(m_int)); save_item(NAME(m_r)); save_item(NAME(m_d)); // register state for debugger state_add(HMCS40_PC, "PC", m_pc).formatstr("%04X"); state_add(HMCS40_A, "A", m_a).formatstr("%01X"); state_add(HMCS40_B, "B", m_b).formatstr("%01X"); state_add(HMCS40_X, "X", m_x).formatstr("%01X"); state_add(HMCS40_SPX, "SPX", m_spx).formatstr("%01X"); state_add(HMCS40_Y, "Y", m_y).formatstr("%01X"); state_add(HMCS40_SPY, "SPY", m_spy).formatstr("%01X"); state_add(STATE_GENPC, "GENPC", m_pc).formatstr("%04X").noshow(); state_add(STATE_GENPCBASE, "CURPC", m_pc).formatstr("%04X").noshow(); state_add(STATE_GENFLAGS, "GENFLAGS", m_s).formatstr("%2s").noshow(); set_icountptr(m_icount); }
void lh5801_cpu_device::device_start() { m_program = &space(AS_PROGRAM); m_io = &space(AS_IO); m_cache = m_program->cache<0, 0, ENDIANNESS_LITTLE>(); m_in_func.resolve_safe(0); m_s.w.l = 0; m_p.w.l = 0; m_u.w.l = 0; m_x.w.l = 0; m_y.w.l = 0; m_tm = 0; m_t = 0; m_a = 0; m_bf = 0; m_dp = 0; m_pu = 0; m_pv = 0; m_oldpc = 0; m_irq_state = 0; memset(m_ir_flipflop, 0, sizeof(m_ir_flipflop)); memset(m_lines_status, 0, sizeof(m_lines_status)); m_idle = 0; save_item(NAME(m_s.w.l)); save_item(NAME(m_p.w.l)); save_item(NAME(m_u.w.l)); save_item(NAME(m_x.w.l)); save_item(NAME(m_y.w.l)); save_item(NAME(m_tm)); save_item(NAME(m_t)); save_item(NAME(m_a)); save_item(NAME(m_bf)); save_item(NAME(m_dp)); save_item(NAME(m_pu)); save_item(NAME(m_pv)); save_item(NAME(m_oldpc)); save_item(NAME(m_irq_state)); save_item(NAME(m_ir_flipflop)); save_item(NAME(m_lines_status)); save_item(NAME(m_idle)); state_add( LH5801_P, "P", m_p.w.l ).formatstr("%04X"); state_add( LH5801_S, "S", m_s.w.l ).formatstr("%04X"); state_add( LH5801_U, "U", m_u.w.l ).formatstr("%04X"); state_add( LH5801_X, "X", m_x.w.l ).formatstr("%04X"); state_add( LH5801_Y, "Y", m_y.w.l ).formatstr("%04X"); state_add( LH5801_T, "T", m_t ).formatstr("%02X"); state_add( LH5801_A, "A", m_a ).formatstr("%02X"); state_add( LH5801_TM, "TM", m_tm ).formatstr("%03X"); state_add( LH5801_PV, "PV", m_pv ).formatstr("%04X"); state_add( LH5801_PU, "PU", m_pu ).formatstr("%04X"); state_add( LH5801_BF, "BF", m_bf ).formatstr("%04X"); state_add( LH5801_DP, "DP", m_dp ).formatstr("%04X"); state_add(STATE_GENPC, "GENPC", m_p.w.l).noshow(); state_add(STATE_GENPCBASE, "CURPC", m_p.w.l).noshow(); state_add(STATE_GENFLAGS, "GENFLAGS", m_t).noshow().formatstr("%8s"); set_icountptr(m_icount); }
void pic16c62x_device::device_start() { m_program = &space(AS_PROGRAM); m_cache = m_program->cache<1, -1, ENDIANNESS_LITTLE>(); m_data = &space(AS_DATA); m_io = &space(AS_IO); m_CONFIG = 0x3fff; /* ensure the internal ram pointers are set before get_info is called */ update_internalram_ptr(); build_opcode_table(); save_item(NAME(m_W)); save_item(NAME(m_ALU)); save_item(NAME(m_OPTION)); save_item(NAME(m_PCLATH)); save_item(NAME(m_TRISA)); save_item(NAME(m_TRISB)); save_item(NAME(m_old_T0)); save_item(NAME(m_old_data)); save_item(NAME(m_picRAMmask)); save_item(NAME(m_WDT)); save_item(NAME(m_prescaler)); save_item(NAME(m_STACK)); save_item(NAME(m_PC)); save_item(NAME(m_PREVPC)); save_item(NAME(m_CONFIG)); save_item(NAME(m_opcode.d)); save_item(NAME(m_delay_timer)); save_item(NAME(m_picmodel)); save_item(NAME(m_reset_vector)); save_item(NAME(m_temp_config)); save_item(NAME(m_inst_cycles)); state_add( PIC16C62x_PC, "PC", m_PC).mask(0xfff).formatstr("%03X"); state_add( PIC16C62x_W, "W", m_W).formatstr("%02X"); state_add( PIC16C62x_ALU, "ALU", m_ALU).formatstr("%02X"); state_add( PIC16C62x_STR, "STR", m_debugger_temp).mask(0xff).callimport().callexport().formatstr("%02X"); state_add( PIC16C62x_TMR0, "TMR", m_debugger_temp).mask(0xff).callimport().callexport().formatstr("%02X"); state_add( PIC16C62x_WDT, "WDT", m_WDT).formatstr("%04X"); state_add( PIC16C62x_OPT, "OPT", m_OPTION).formatstr("%02X"); state_add( PIC16C62x_STK0, "STK0", m_STACK[0]).mask(0xfff).formatstr("%03X"); state_add( PIC16C62x_STK1, "STK1", m_STACK[1]).mask(0xfff).formatstr("%03X"); state_add( PIC16C62x_STK2, "STK2", m_STACK[2]).mask(0xfff).formatstr("%03X"); state_add( PIC16C62x_STK3, "STK3", m_STACK[3]).mask(0xfff).formatstr("%03X"); state_add( PIC16C62x_STK4, "STK4", m_STACK[4]).mask(0xfff).formatstr("%03X"); state_add( PIC16C62x_STK5, "STK5", m_STACK[5]).mask(0xfff).formatstr("%03X"); state_add( PIC16C62x_STK6, "STK6", m_STACK[6]).mask(0xfff).formatstr("%03X"); state_add( PIC16C62x_STK7, "STK7", m_STACK[7]).mask(0xfff).formatstr("%03X"); state_add( PIC16C62x_PRTA, "PRTA", m_debugger_temp).mask(0x1f).callimport().callexport().formatstr("%02X"); state_add( PIC16C62x_PRTB, "PRTB", m_debugger_temp).mask(0xff).callimport().callexport().formatstr("%02X"); state_add( PIC16C62x_TRSA, "TRSA", m_TRISA).mask(0x1f).formatstr("%02X"); state_add( PIC16C62x_TRSB, "TRSB", m_TRISB).formatstr("%02X"); state_add( PIC16C62x_FSR, "FSR", m_debugger_temp).mask(0xff).callimport().callexport().formatstr("%02X"); state_add( PIC16C62x_PSCL, "PSCL", m_debugger_temp).callimport().formatstr("%3s"); state_add( STATE_GENPC, "GENPC", m_PC).noshow(); state_add( STATE_GENPCBASE, "CURPC", m_PREVPC).noshow(); state_add( STATE_GENFLAGS, "GENFLAGS", m_OPTION).formatstr("%13s").noshow(); set_icountptr(m_icount); }