Skip to content
4 changes: 4 additions & 0 deletions src/devices/video/upd7220.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -758,6 +758,10 @@ void upd7220_device::device_start()
save_item(NAME(m_disp));
save_item(NAME(m_gchr));
save_item(NAME(m_pattern));
save_item(NAME(m_dma_type));
save_item(NAME(m_dma_mod));
save_item(NAME(m_dma_data));
save_item(NAME(m_dma_transfer_length));
save_item(NAME(m_mask));
save_item(NAME(m_pitch));
save_item(NAME(m_ra_addr));
Expand Down
47 changes: 40 additions & 7 deletions src/mame/nec/pc9801.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1658,6 +1658,34 @@ MACHINE_START_MEMBER(pc9801_state,pc9801_common)
{
m_rtc->cs_w(1);
m_rtc->oe_w(1);

save_item(NAME(m_uart_irq_mask));
save_item(NAME(m_uart_irq_pending));

save_item(NAME(m_nmi_ff));

save_item(NAME(m_fdc_2hd_ctrl));

save_item(NAME(m_dma_offset));
save_item(NAME(m_dma_autoinc));
save_item(NAME(m_dack));

save_item(NAME(m_grcg.mode));
save_item(NAME(m_grcg.tile));
save_item(NAME(m_grcg.tile_index));

save_item(NAME(m_vram_bank));
save_item(NAME(m_vram_disp));

save_item(NAME(m_mouse.control));
save_item(NAME(m_mouse.lx));
save_item(NAME(m_mouse.ly));
save_item(NAME(m_mouse.dx));
save_item(NAME(m_mouse.dy));
save_item(NAME(m_mouse.prev_dx));
save_item(NAME(m_mouse.prev_dy));
save_item(NAME(m_mouse.freq_reg));
save_item(NAME(m_mouse.freq_index));
}

MACHINE_START_MEMBER(pc9801_state,pc9801f)
Expand All @@ -1677,9 +1705,18 @@ MACHINE_START_MEMBER(pc9801vm_state,pc9801rs)

m_fdc_timer = timer_alloc(FUNC(pc9801vm_state::fdc_trigger), this);

save_item(NAME(m_gate_a20));
save_item(NAME(m_dma_access_ctrl));
save_item(NAME(m_ide_sel));
save_item(NAME(m_dac1bit_disable));

save_item(NAME(m_dma_access_ctrl));
save_item(NAME(m_fdc_3mode.dev_sel));
save_item(NAME(m_fdc_3mode.access_144mb));

save_item(NAME(m_analog16.pal_entry));
save_item(NAME(m_analog16.r));
save_item(NAME(m_analog16.g));
save_item(NAME(m_analog16.b));

save_item(NAME(m_egc.regs));
save_item(NAME(m_egc.pat));
Expand All @@ -1688,13 +1725,8 @@ MACHINE_START_MEMBER(pc9801vm_state,pc9801rs)
save_item(NAME(m_egc.leftover));
save_item(NAME(m_egc.first));
save_item(NAME(m_egc.start));
save_item(NAME(m_egc.loaded));
save_item(NAME(m_egc.mask));

save_item(STRUCT_MEMBER(m_grcg, mode));
// save_pointer(STRUCT_MEMBER(m_grcg, tile), 4);
save_item(STRUCT_MEMBER(m_grcg, tile_index));

save_item(NAME(m_vram_bank));
}

MACHINE_START_MEMBER(pc9801us_state,pc9801us)
Expand All @@ -1706,6 +1738,7 @@ MACHINE_START_MEMBER(pc9801bx_state,pc9801bx2)
{
MACHINE_START_CALL_MEMBER(pc9801us);

save_item(NAME(m_hole_15m));
// ...
}

Expand Down
11 changes: 9 additions & 2 deletions src/mame/nec/pc9801_v.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,17 @@ void pc9801_state::video_start()
m_char_rom = memregion("chargen")->base();
m_kanji_rom = memregion("kanji")->base();

save_item(NAME(m_font_addr));
save_item(NAME(m_font_lr));
std::fill(std::begin(m_ex_video_ff), std::end(m_ex_video_ff), 0);
std::fill(std::begin(m_video_ff), std::end(m_video_ff), 0);
save_pointer(NAME(m_video_ff), 8);
save_pointer(NAME(m_ex_video_ff), 128);
save_item(NAME(m_video_ff));
save_item(NAME(m_ex_video_ff));
save_item(NAME(m_font_line));
save_pointer(NAME(m_tvram), sizeof(uint16_t)*0x2000);
save_item(NAME(m_gfx_ff));
save_item(NAME(m_txt_scroll_reg));
save_item(NAME(m_pal_clut));
}

uint32_t pc9801_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
Expand Down
11 changes: 11 additions & 0 deletions src/mame/nec/pc9821.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -850,13 +850,24 @@ MACHINE_START_MEMBER(pc9821_state,pc9821)
m_pit_delay = timer_alloc(FUNC(pc9821_state::pit_delay), this);
MACHINE_START_CALL_MEMBER(pc9801bx2);

save_item(NAME(m_pit_latch_cmd));
save_item(NAME(m_pc9821_window_bank));
save_item(NAME(m_ext2_ff));
save_item(NAME(m_pegc.pal_entry));
save_item(NAME(m_pegc.r));
save_item(NAME(m_pegc.g));
save_item(NAME(m_pegc.b));
save_item(NAME(m_pegc.bank));
save_item(NAME(m_pegc.packed_mode));
// ...
}

MACHINE_START_MEMBER(pc9821_mate_a_state,pc9821ap2)
{
MACHINE_START_CALL_MEMBER(pc9821);

save_item(NAME(m_ext_sdip));
save_item(NAME(m_ext_sdip_addr));
// ...
}

Expand Down
Loading