summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Vas Crabb <vas@vastheman.com>2019-12-11 00:40:11 +1100
committer Vas Crabb <vas@vastheman.com>2019-12-11 00:40:11 +1100
commit5a70dfca5642a83e26c0e40b6a62b00e57cb63f9 (patch)
tree74e89942681eca1d14863a54dd0d5a6161cdd2b5
parentad5bb166ada9cf441b0e1f92b47daf6f12847249 (diff)
snes_ppu.cpp: reduce the number of save registrations by over a thousand (nw)
-rw-r--r--src/devices/bus/pc_kbd/pc_kbdc.cpp6
-rw-r--r--src/devices/video/snes_ppu.cpp77
2 files changed, 37 insertions, 46 deletions
diff --git a/src/devices/bus/pc_kbd/pc_kbdc.cpp b/src/devices/bus/pc_kbd/pc_kbdc.cpp
index 2ab863b01dc..6bb4c61153e 100644
--- a/src/devices/bus/pc_kbd/pc_kbdc.cpp
+++ b/src/devices/bus/pc_kbd/pc_kbdc.cpp
@@ -16,11 +16,11 @@ The following basic program can be useful for identifying scancodes:
#include "emu.h"
#include "pc_kbdc.h"
-#define LOG_SIGNALS (1U<<1)
-#define VERBOSE ( LOG_GENERAL )
-
+#define LOG_SIGNALS (1U << 1)
+//#define VERBOSE (LOG_GENERAL)
#include "logmacro.h"
+
//**************************************************************************
// GLOBAL VARIABLES
//**************************************************************************
diff --git a/src/devices/video/snes_ppu.cpp b/src/devices/video/snes_ppu.cpp
index da628720c3a..9f8d06f8e6b 100644
--- a/src/devices/video/snes_ppu.cpp
+++ b/src/devices/video/snes_ppu.cpp
@@ -233,7 +233,7 @@ void snes_ppu_device::device_start()
}
}
- for (int i = 0; i < 2; i++)
+ for (int i = 0; i < ARRAY_LENGTH(m_scanlines); i++)
{
save_item(NAME(m_scanlines[i].enable), i);
save_item(NAME(m_scanlines[i].clip), i);
@@ -243,33 +243,30 @@ void snes_ppu_device::device_start()
save_item(NAME(m_scanlines[i].blend_exception), i);
}
- for (int i = 0; i < 6; i++)
- {
- save_item(NAME(m_layer[i].window1_enabled), i);
- save_item(NAME(m_layer[i].window1_invert), i);
- save_item(NAME(m_layer[i].window2_enabled), i);
- save_item(NAME(m_layer[i].window2_invert), i);
- save_item(NAME(m_layer[i].wlog_mask), i);
- save_item(NAME(m_layer[i].color_math), i);
- save_item(NAME(m_layer[i].charmap), i);
- save_item(NAME(m_layer[i].tilemap), i);
- save_item(NAME(m_layer[i].tilemap_size), i);
- save_item(NAME(m_layer[i].tile_size), i);
- save_item(NAME(m_layer[i].tile_mode), i);
- save_item(NAME(m_layer[i].mosaic_enabled), i);
- save_item(NAME(m_layer[i].main_window_enabled), i);
- save_item(NAME(m_layer[i].sub_window_enabled), i);
- save_item(NAME(m_layer[i].main_bg_enabled), i);
- save_item(NAME(m_layer[i].sub_bg_enabled), i);
- save_item(NAME(m_layer[i].hoffs), i);
- save_item(NAME(m_layer[i].voffs), i);
- save_item(NAME(m_layer[i].priority[0]), i);
- save_item(NAME(m_layer[i].priority[1]), i);
- save_item(NAME(m_layer[i].mosaic_counter), i);
- save_item(NAME(m_layer[i].mosaic_offset), i);
-
+ save_item(STRUCT_MEMBER(m_layer, window1_enabled));
+ save_item(STRUCT_MEMBER(m_layer, window1_invert));
+ save_item(STRUCT_MEMBER(m_layer, window2_enabled));
+ save_item(STRUCT_MEMBER(m_layer, window2_invert));
+ save_item(STRUCT_MEMBER(m_layer, wlog_mask));
+ save_item(STRUCT_MEMBER(m_layer, color_math));
+ save_item(STRUCT_MEMBER(m_layer, charmap));
+ save_item(STRUCT_MEMBER(m_layer, tilemap));
+ save_item(STRUCT_MEMBER(m_layer, tilemap_size));
+ save_item(STRUCT_MEMBER(m_layer, tile_size));
+ save_item(STRUCT_MEMBER(m_layer, tile_mode));
+ save_item(STRUCT_MEMBER(m_layer, mosaic_enabled));
+ save_item(STRUCT_MEMBER(m_layer, main_window_enabled));
+ save_item(STRUCT_MEMBER(m_layer, sub_window_enabled));
+ save_item(STRUCT_MEMBER(m_layer, main_bg_enabled));
+ save_item(STRUCT_MEMBER(m_layer, sub_bg_enabled));
+ save_item(STRUCT_MEMBER(m_layer, hoffs));
+ save_item(STRUCT_MEMBER(m_layer, voffs));
+ save_item(STRUCT_MEMBER(m_layer, priority));
+ save_item(STRUCT_MEMBER(m_layer, mosaic_counter));
+ save_item(STRUCT_MEMBER(m_layer, mosaic_offset));
+
+ for (int i = 0; i < ARRAY_LENGTH(m_clipmasks); i++)
save_item(NAME(m_clipmasks[i]), i);
- }
save_item(NAME(m_oam.address));
save_item(NAME(m_oam.base_address));
@@ -281,10 +278,7 @@ void snes_ppu_device::device_start()
save_item(NAME(m_oam.write_latch));
save_item(NAME(m_oam.data_latch));
save_item(NAME(m_oam.interlace));
- save_item(NAME(m_oam.priority[0]));
- save_item(NAME(m_oam.priority[1]));
- save_item(NAME(m_oam.priority[2]));
- save_item(NAME(m_oam.priority[3]));
+ save_item(NAME(m_oam.priority));
save_item(NAME(m_beam.latch_horz));
save_item(NAME(m_beam.latch_vert));
@@ -305,18 +299,15 @@ void snes_ppu_device::device_start()
save_item(NAME(m_mode7.ver_offset));
save_item(NAME(m_mode7.extbg));
- for (int i = 0; i < ARRAY_LENGTH(m_objects); i++)
- {
- save_item(NAME(m_objects[i].x), i);
- save_item(NAME(m_objects[i].y), i);
- save_item(NAME(m_objects[i].character), i);
- save_item(NAME(m_objects[i].name_select), i);
- save_item(NAME(m_objects[i].vflip), i);
- save_item(NAME(m_objects[i].hflip), i);
- save_item(NAME(m_objects[i].pri), i);
- save_item(NAME(m_objects[i].pal), i);
- save_item(NAME(m_objects[i].size), i);
- }
+ save_item(STRUCT_MEMBER(m_objects, x));
+ save_item(STRUCT_MEMBER(m_objects, y));
+ save_item(STRUCT_MEMBER(m_objects, character));
+ save_item(STRUCT_MEMBER(m_objects, name_select));
+ save_item(STRUCT_MEMBER(m_objects, vflip));
+ save_item(STRUCT_MEMBER(m_objects, hflip));
+ save_item(STRUCT_MEMBER(m_objects, pri));
+ save_item(STRUCT_MEMBER(m_objects, pal));
+ save_item(STRUCT_MEMBER(m_objects, size));
save_item(NAME(m_mosaic_size));
save_item(NAME(m_clip_to_black));