diff options
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 |
commit | 5a70dfca5642a83e26c0e40b6a62b00e57cb63f9 (patch) | |
tree | 74e89942681eca1d14863a54dd0d5a6161cdd2b5 | |
parent | ad5bb166ada9cf441b0e1f92b47daf6f12847249 (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.cpp | 6 | ||||
-rw-r--r-- | src/devices/video/snes_ppu.cpp | 77 |
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)); |