blob: 3b883207cdb4f229e9eeb59aecf2eb780966d423 (
plain) (
tree)
|
|
/***************************************************************************
Midway 8080-based black and white hardware
****************************************************************************/
#include "driver.h"
#include "mb14241.h"
#define MAX_MB14241 1
struct MB14241
{
UINT16 shift_data; /* 15 bits only */
UINT8 shift_count; /* 3 bits */
};
static struct MB14241 chips[MAX_MB14241];
static void mb14241_shift_count_w(int num, UINT8 data)
{
chips[num].shift_count = ~data & 0x07;
}
WRITE8_HANDLER( mb14241_0_shift_count_w ) { mb14241_shift_count_w(0, data); }
static void mb14241_shift_data_w(int num, UINT8 data)
{
chips[num].shift_data = (chips[num].shift_data >> 8) | ((UINT16)data << 7);
}
WRITE8_HANDLER( mb14241_0_shift_data_w ) { mb14241_shift_data_w(0, data); }
static UINT8 mb14241_shift_result_r(int num)
{
return chips[num].shift_data >> chips[num].shift_count;
}
READ8_HANDLER( mb14241_0_shift_result_r ) { return mb14241_shift_result_r(0); }
void mb14241_init(int num)
{
state_save_register_item("mb14241", num, chips[num].shift_data);
state_save_register_item("mb14241", num, chips[num].shift_count);
}
|