summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author AJR <ajrhacker@users.noreply.github.com>2018-04-20 10:58:12 -0400
committer AJR <ajrhacker@users.noreply.github.com>2018-04-20 10:58:12 -0400
commitbc150a011757c069fb621d436bb62f85bf5d2cfc (patch)
treed4240538c474c1eb555510672ae91ff20da2eef7
parent4eb6db52039bfbc7e4994c7a780f5732b1fc663f (diff)
rmnimbus: Clean up some static functions (nw)
-rw-r--r--src/mame/includes/rmnimbus.h9
-rw-r--r--src/mame/machine/rmnimbus.cpp108
2 files changed, 58 insertions, 59 deletions
diff --git a/src/mame/includes/rmnimbus.h b/src/mame/includes/rmnimbus.h
index faaef72196b..1b6dc593f59 100644
--- a/src/mame/includes/rmnimbus.h
+++ b/src/mame/includes/rmnimbus.h
@@ -240,6 +240,15 @@ public:
void decode_dos21(device_t *device, offs_t pc);
private:
+ void decode_dssi_none(uint16_t ds, uint16_t si, uint8_t raw_flag);
+ void decode_dssi_generic(uint16_t ds, uint16_t si, uint8_t raw_flag);
+ void decode_dssi_f_fill_area(uint16_t ds, uint16_t si, uint8_t raw_flag);
+ void decode_dssi_f_plot_character_string(uint16_t ds, uint16_t si, uint8_t raw_flag);
+ void decode_dssi_f_set_new_clt(uint16_t ds, uint16_t si, uint8_t raw_flag);
+ void decode_dssi_f_plonk_char(uint16_t ds, uint16_t si, uint8_t raw_flag);
+ void decode_dssi_f_rw_sectors(uint16_t ds, uint16_t si, uint8_t raw_flag);
+
+
void debug_command(int ref, const std::vector<std::string> &params);
void video_debug(int ref, const std::vector<std::string> &params);
};
diff --git a/src/mame/machine/rmnimbus.cpp b/src/mame/machine/rmnimbus.cpp
index e3a9a70899a..718efce47be 100644
--- a/src/mame/machine/rmnimbus.cpp
+++ b/src/mame/machine/rmnimbus.cpp
@@ -120,7 +120,7 @@ enum
#define LINEAR_ADDR(seg,ofs) ((seg<<4)+ofs)
-#define OUTPUT_SEGOFS(mess,seg,ofs) device->logerror("%s=%04X:%04X [%08X]\n",mess,seg,ofs,((seg<<4)+ofs))
+#define OUTPUT_SEGOFS(mess,seg,ofs) logerror("%s=%04X:%04X [%08X]\n",mess,seg,ofs,((seg<<4)+ofs))
#define LOG_SIO 0
#define LOG_DISK_HDD 0
@@ -177,12 +177,6 @@ struct t_nimbus_brush
static int instruction_hook(device_t &device, offs_t curpc);
-static void decode_dssi_generic(device_t *device,uint16_t ds, uint16_t si, uint8_t raw_flag);
-static void decode_dssi_f_fill_area(device_t *device,uint16_t ds, uint16_t si, uint8_t raw_flag);
-static void decode_dssi_f_plot_character_string(device_t *device,uint16_t ds, uint16_t si, uint8_t raw_flag);
-static void decode_dssi_f_set_new_clt(device_t *device,uint16_t ds, uint16_t si, uint8_t raw_flag);
-static void decode_dssi_f_plonk_char(device_t *device,uint16_t ds, uint16_t si, uint8_t raw_flag);
-static void decode_dssi_f_rw_sectors(device_t *device,uint16_t ds, uint16_t si, uint8_t raw_flag);
void rmnimbus_state::external_int(uint8_t vector, bool state)
{
@@ -294,7 +288,7 @@ void rmnimbus_state::decode_subbios(device_t *device,offs_t pc, uint8_t raw_flag
char drv_str[80];
char func_str[80];
- void (*dump_dssi)(device_t *,uint16_t, uint16_t ,uint8_t) = nullptr;
+ void (rmnimbus_state::*dump_dssi)(uint16_t, uint16_t, uint8_t) = &rmnimbus_state::decode_dssi_none;
uint16_t ax = m_maincpu->state_int(I8086_AX);
uint16_t bx = m_maincpu->state_int(I8086_BX);
@@ -375,14 +369,14 @@ void rmnimbus_state::decode_subbios(device_t *device,offs_t pc, uint8_t raw_flag
case 1 : set_func("f_initialise_unit"); break;
case 2 : set_func("f_pseudo_init_unit"); break;
case 3 : set_func("f_get_device_status"); break;
- case 4 : set_func("f_read_n_sectors"); dump_dssi=&decode_dssi_f_rw_sectors; break;
- case 5 : set_func("f_write_n_sectors"); dump_dssi=&decode_dssi_f_rw_sectors; break;
+ case 4 : set_func("f_read_n_sectors"); dump_dssi = &rmnimbus_state::decode_dssi_f_rw_sectors; break;
+ case 5 : set_func("f_write_n_sectors"); dump_dssi = &rmnimbus_state::decode_dssi_f_rw_sectors; break;
case 6 : set_func("f_verify_n_sectors"); break;
case 7 : set_func("f_media_check"); break;
case 8 : set_func("f_recalibrate"); break;
case 9 : set_func("f_motors_off"); break;
}
- dump_dssi=&decode_dssi_f_rw_sectors;
+ dump_dssi = &rmnimbus_state::decode_dssi_f_rw_sectors;
}; break;
@@ -466,17 +460,17 @@ void rmnimbus_state::decode_subbios(device_t *device,offs_t pc, uint8_t raw_flag
case 3 : set_func("f_graphics_output_off"); break;
case 4 : set_func("f_reinit_graphics_output"); break;
case 5 : set_func("f_polymarker"); break;
- case 6 : set_func("f_polyline"); dump_dssi=&decode_dssi_f_fill_area; break;
- case 7 : set_func("f_fill_area"); dump_dssi=&decode_dssi_f_fill_area; break;
+ case 6 : set_func("f_polyline"); dump_dssi = &rmnimbus_state::decode_dssi_f_fill_area; break;
+ case 7 : set_func("f_fill_area"); dump_dssi = &rmnimbus_state::decode_dssi_f_fill_area; break;
case 8 : set_func("f_flood_fill_area"); break;
- case 9 : set_func("f_plot_character_string"); dump_dssi=&decode_dssi_f_plot_character_string; break;
+ case 9 : set_func("f_plot_character_string"); dump_dssi = &rmnimbus_state::decode_dssi_f_plot_character_string; break;
case 10 : set_func("f_define_graphics_clipping_area"); break;
case 11 : set_func("f_enquire_clipping_area_limits"); break;
case 12 : set_func("f_select_graphics_clipping_area"); break;
case 13 : set_func("f_enq_selctd_graphics_clip_area"); break;
case 14 : set_func("f_set_clt_element"); break;
case 15 : set_func("f_enquire_clt_element"); break;
- case 16 : set_func("f_set_new_clt"); dump_dssi=&decode_dssi_f_set_new_clt; break;
+ case 16 : set_func("f_set_new_clt"); dump_dssi = &rmnimbus_state::decode_dssi_f_set_new_clt; break;
case 17 : set_func("f_enquire_clt_contents"); break;
case 18 : set_func("f_define_dithering_pattern"); break;
case 19 : set_func("f_enquire_dithering_pattern"); break;
@@ -539,11 +533,11 @@ void rmnimbus_state::decode_subbios(device_t *device,offs_t pc, uint8_t raw_flag
switch(ax)
{
case 0 : set_func("f_get_version_number"); break;
- case 1 : set_func("f_plonk_char"); dump_dssi=decode_dssi_f_plonk_char; break;
+ case 1 : set_func("f_plonk_char"); dump_dssi = &rmnimbus_state::decode_dssi_f_plonk_char; break;
case 2 : set_func("f_plonk_cursor"); break;
case 3 : set_func("f_kill_cursor"); break;
case 4 : set_func("f_scroll"); break;
- case 5 : set_func("f_width"); dump_dssi=decode_dssi_generic;break;
+ case 5 : set_func("f_width"); dump_dssi = &rmnimbus_state::decode_dssi_generic; break;
case 6 : set_func("f_get_char_set"); break;
case 7 : set_func("f_set_char_set"); break;
case 8 : set_func("f_reset_char_set"); break;
@@ -613,15 +607,13 @@ void rmnimbus_state::decode_subbios(device_t *device,offs_t pc, uint8_t raw_flag
if(raw_flag)
{
- if(dump_dssi!=nullptr)
- dump_dssi(device,ds,si,raw_flag);
+ (this->*dump_dssi)(ds, si, raw_flag);
}
else
{
logerror("Type=%s, Driver=%s, Function=%s\n",type_str,drv_str,func_str);
- if(dump_dssi!=nullptr)
- dump_dssi(device,ds,si,raw_flag);
+ (this->*dump_dssi)(ds, si, raw_flag);
logerror("=======================================================================\n");
}
}
@@ -636,10 +628,13 @@ static inline void *get_dssi_ptr(address_space &space, uint16_t ds, uint16_t s
return space.get_read_ptr(addr);
}
-static void decode_dssi_generic(device_t *device,uint16_t ds, uint16_t si, uint8_t raw_flag)
+void rmnimbus_state::decode_dssi_none(uint16_t ds, uint16_t si, uint8_t raw_flag)
{
- rmnimbus_state *state = device->machine().driver_data<rmnimbus_state>();
- address_space &space = state->m_maincpu->space(AS_PROGRAM);
+}
+
+void rmnimbus_state::decode_dssi_generic(uint16_t ds, uint16_t si, uint8_t raw_flag)
+{
+ address_space &space = m_maincpu->space(AS_PROGRAM);
uint16_t *params;
int count;
@@ -649,16 +644,15 @@ static void decode_dssi_generic(device_t *device,uint16_t ds, uint16_t si, uint
params=(uint16_t *)get_dssi_ptr(space,ds,si);
for(count=0; count<10; count++)
- device->logerror("%04X ",params[count]);
+ logerror("%04X ",params[count]);
- device->logerror("\n");
+ logerror("\n");
}
-static void decode_dssi_f_fill_area(device_t *device,uint16_t ds, uint16_t si, uint8_t raw_flag)
+void rmnimbus_state::decode_dssi_f_fill_area(uint16_t ds, uint16_t si, uint8_t raw_flag)
{
- rmnimbus_state *state = device->machine().driver_data<rmnimbus_state>();
- address_space &space = state->m_maincpu->space(AS_PROGRAM);
+ address_space &space = m_maincpu->space(AS_PROGRAM);
uint16_t *addr_ptr;
t_area_params *area_params;
@@ -674,18 +668,18 @@ static void decode_dssi_f_fill_area(device_t *device,uint16_t ds, uint16_t si,
if(raw_flag)
{
- device->logerror("\tdw\t%04X, %04X, %04X, %04X, %04X, %04X, %04X, %04X, %04X, ",
+ logerror("\tdw\t%04X, %04X, %04X, %04X, %04X, %04X, %04X, %04X, %04X, ",
brush->style,brush->style_index,brush->colour1,brush->colour2,
brush->transparency,brush->boundary_spec,brush->boundary_colour,brush->save_colour,
area_params->count);
}
else
{
- device->logerror("Brush params\n");
- device->logerror("Style=%04X, StyleIndex=%04X\n",brush->style,brush->style_index);
- device->logerror("Colour1=%04X, Colour2=%04X\n",brush->colour1,brush->colour2);
- device->logerror("transparency=%04X, boundary_spec=%04X\n",brush->transparency,brush->boundary_spec);
- device->logerror("boundary colour=%04X, save colour=%04X\n",brush->boundary_colour,brush->save_colour);
+ logerror("Brush params\n");
+ logerror("Style=%04X, StyleIndex=%04X\n",brush->style,brush->style_index);
+ logerror("Colour1=%04X, Colour2=%04X\n",brush->colour1,brush->colour2);
+ logerror("transparency=%04X, boundary_spec=%04X\n",brush->transparency,brush->boundary_spec);
+ logerror("boundary colour=%04X, save colour=%04X\n",brush->boundary_colour,brush->save_colour);
OUTPUT_SEGOFS("SegData:OfsData",area_params->seg_data,area_params->ofs_data);
@@ -697,22 +691,21 @@ static void decode_dssi_f_fill_area(device_t *device,uint16_t ds, uint16_t si,
if(raw_flag)
{
if(cocount!=(area_params->count-1))
- device->logerror("%04X, %04X, ",addr_ptr[cocount*2],addr_ptr[(cocount*2)+1]);
+ logerror("%04X, %04X, ",addr_ptr[cocount*2],addr_ptr[(cocount*2)+1]);
else
- device->logerror("%04X, %04X ",addr_ptr[cocount*2],addr_ptr[(cocount*2)+1]);
+ logerror("%04X, %04X ",addr_ptr[cocount*2],addr_ptr[(cocount*2)+1]);
}
else
- device->logerror("x=%d y=%d\n",addr_ptr[cocount*2],addr_ptr[(cocount*2)+1]);
+ logerror("x=%d y=%d\n",addr_ptr[cocount*2],addr_ptr[(cocount*2)+1]);
}
if(raw_flag)
- device->logerror("\n");
+ logerror("\n");
}
-static void decode_dssi_f_plot_character_string(device_t *device,uint16_t ds, uint16_t si, uint8_t raw_flag)
+void rmnimbus_state::decode_dssi_f_plot_character_string(uint16_t ds, uint16_t si, uint8_t raw_flag)
{
- rmnimbus_state *state = device->machine().driver_data<rmnimbus_state>();
- address_space &space = state->m_maincpu->space(AS_PROGRAM);
+ address_space &space = m_maincpu->space(AS_PROGRAM);
uint8_t *char_ptr;
t_plot_string_params *plot_string_params;
@@ -726,23 +719,22 @@ static void decode_dssi_f_plot_character_string(device_t *device,uint16_t ds, u
OUTPUT_SEGOFS("SegFont:OfsFont",plot_string_params->seg_font,plot_string_params->ofs_font);
OUTPUT_SEGOFS("SegData:OfsData",plot_string_params->seg_data,plot_string_params->ofs_data);
- device->logerror("x=%d, y=%d, length=%d\n",plot_string_params->x,plot_string_params->y,plot_string_params->length);
+ logerror("x=%d, y=%d, length=%d\n",plot_string_params->x,plot_string_params->y,plot_string_params->length);
char_ptr=(uint8_t*)space.get_read_ptr(LINEAR_ADDR(plot_string_params->seg_data,plot_string_params->ofs_data));
if (plot_string_params->length==0xFFFF)
- device->logerror("%s",char_ptr);
+ logerror("%s",char_ptr);
else
for(charno=0;charno<plot_string_params->length;charno++)
- device->logerror("%c",char_ptr[charno]);
+ logerror("%c",char_ptr[charno]);
- device->logerror("\n");
+ logerror("\n");
}
-static void decode_dssi_f_set_new_clt(device_t *device,uint16_t ds, uint16_t si, uint8_t raw_flag)
+void rmnimbus_state::decode_dssi_f_set_new_clt(uint16_t ds, uint16_t si, uint8_t raw_flag)
{
- rmnimbus_state *state = device->machine().driver_data<rmnimbus_state>();
- address_space &space = state->m_maincpu->space(AS_PROGRAM);
+ address_space &space = m_maincpu->space(AS_PROGRAM);
uint16_t *new_colours;
int colour;
new_colours=(uint16_t *)get_dssi_ptr(space,ds,si);
@@ -753,14 +745,13 @@ static void decode_dssi_f_set_new_clt(device_t *device,uint16_t ds, uint16_t si
OUTPUT_SEGOFS("SegColours:OfsColours",ds,si);
for(colour=0;colour<16;colour++)
- device->logerror("colour #%02X=%04X\n",colour,new_colours[colour]);
+ logerror("colour #%02X=%04X\n",colour,new_colours[colour]);
}
-static void decode_dssi_f_plonk_char(device_t *device,uint16_t ds, uint16_t si, uint8_t raw_flag)
+void rmnimbus_state::decode_dssi_f_plonk_char(uint16_t ds, uint16_t si, uint8_t raw_flag)
{
- rmnimbus_state *state = device->machine().driver_data<rmnimbus_state>();
- address_space &space = state->m_maincpu->space(AS_PROGRAM);
+ address_space &space = m_maincpu->space(AS_PROGRAM);
uint16_t *params;
params=(uint16_t *)get_dssi_ptr(space,ds,si);
@@ -769,13 +760,12 @@ static void decode_dssi_f_plonk_char(device_t *device,uint16_t ds, uint16_t si,
OUTPUT_SEGOFS("SegParams:OfsParams",ds,si);
- device->logerror("plonked_char=%c\n",params[0]);
+ logerror("plonked_char=%c\n",params[0]);
}
-static void decode_dssi_f_rw_sectors(device_t *device,uint16_t ds, uint16_t si, uint8_t raw_flag)
+void rmnimbus_state::decode_dssi_f_rw_sectors(uint16_t ds, uint16_t si, uint8_t raw_flag)
{
- rmnimbus_state *state = device->machine().driver_data<rmnimbus_state>();
- address_space &space = state->m_maincpu->space(AS_PROGRAM);
+ address_space &space = m_maincpu->space(AS_PROGRAM);
uint16_t *params;
int param_no;
@@ -785,9 +775,9 @@ static void decode_dssi_f_rw_sectors(device_t *device,uint16_t ds, uint16_t si,
params=(uint16_t *)get_dssi_ptr(space,ds,si);
for(param_no=0;param_no<16;param_no++)
- device->logerror("%04X ",params[param_no]);
+ logerror("%04X ",params[param_no]);
- device->logerror("\n");
+ logerror("\n");
}
void rmnimbus_state::decode_dos21(device_t *device,offs_t pc)