mirror of
https://github.com/holub/mame
synced 2025-05-03 13:06:47 +03:00
some more cleanup (nw)
This commit is contained in:
parent
e52971111c
commit
75317b8043
@ -59,8 +59,9 @@ public:
|
||||
|
||||
virtual void machine_reset();
|
||||
|
||||
public:
|
||||
DECLARE_DRIVER_INIT(asr);
|
||||
DECLARE_DRIVER_INIT(asr);
|
||||
DECLARE_WRITE_LINE_MEMBER(esq5506_otto_irq);
|
||||
DECLARE_READ16_MEMBER(esq5506_read_adc);
|
||||
};
|
||||
|
||||
void esqasr_state::machine_reset()
|
||||
@ -78,11 +79,11 @@ static ADDRESS_MAP_START( asrx_map, AS_PROGRAM, 32, esqasr_state )
|
||||
AM_RANGE(0x0be00000, 0x0befffff) AM_RAM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static void esq5506_otto_irq(device_t *device, int state)
|
||||
WRITE_LINE_MEMBER(esqasr_state::esq5506_otto_irq)
|
||||
{
|
||||
}
|
||||
|
||||
static READ16_DEVICE_HANDLER(esq5506_read_adc)
|
||||
READ16_MEMBER(esqasr_state::esq5506_read_adc)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
@ -94,8 +95,8 @@ static const es5506_interface es5506_config =
|
||||
"waverom3", /* Bank 0 */
|
||||
"waverom4", /* Bank 1 */
|
||||
1, /* channels */
|
||||
DEVCB_LINE(esq5506_otto_irq), /* irq */
|
||||
DEVCB_DEVICE_HANDLER(DEVICE_SELF, esq5506_read_adc)
|
||||
DEVCB_DRIVER_LINE_MEMBER(esqasr_state,esq5506_otto_irq), /* irq */
|
||||
DEVCB_DRIVER_MEMBER16(esqasr_state, esq5506_read_adc)
|
||||
};
|
||||
|
||||
static MACHINE_CONFIG_START( asr, esqasr_state )
|
||||
|
@ -66,6 +66,7 @@ public:
|
||||
DECLARE_DRIVER_INIT(kt);
|
||||
DECLARE_INPUT_CHANGED_MEMBER(key_stroke);
|
||||
DECLARE_WRITE_LINE_MEMBER(esq5506_otto_irq);
|
||||
DECLARE_READ16_MEMBER(esq5506_read_adc);
|
||||
};
|
||||
|
||||
void esqkt_state::machine_reset()
|
||||
@ -138,11 +139,9 @@ WRITE_LINE_MEMBER(esqkt_state::esq5506_otto_irq)
|
||||
#endif
|
||||
}
|
||||
|
||||
static READ16_DEVICE_HANDLER(esq5506_read_adc)
|
||||
READ16_MEMBER(esqkt_state::esq5506_read_adc)
|
||||
{
|
||||
esqkt_state *state = device->machine().driver_data<esqkt_state>();
|
||||
|
||||
switch ((state->m_duart_io & 7) ^ 7)
|
||||
switch ((m_duart_io & 7) ^ 7)
|
||||
{
|
||||
case 0: // vRef to check battery
|
||||
return 0x5b00;
|
||||
@ -154,7 +153,7 @@ static READ16_DEVICE_HANDLER(esq5506_read_adc)
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (state->m_duart_io & 1)
|
||||
if (m_duart_io & 1)
|
||||
{
|
||||
return 0x5b00; // vRef
|
||||
}
|
||||
@ -194,7 +193,7 @@ static const es5506_interface es5506_config =
|
||||
"waverom4", /* Bank 1 */
|
||||
1, /* channels */
|
||||
DEVCB_DRIVER_LINE_MEMBER(esqkt_state,esq5506_otto_irq), /* irq */
|
||||
DEVCB_DEVICE_HANDLER(DEVICE_SELF, esq5506_read_adc)
|
||||
DEVCB_DRIVER_MEMBER16(esqkt_state, esq5506_read_adc)
|
||||
};
|
||||
|
||||
static const es5506_interface es5506_2_config =
|
||||
|
@ -37,6 +37,8 @@ public:
|
||||
|
||||
public:
|
||||
DECLARE_DRIVER_INIT(mr);
|
||||
DECLARE_WRITE_LINE_MEMBER(esq5506_otto_irq);
|
||||
DECLARE_READ16_MEMBER(esq5506_read_adc);
|
||||
};
|
||||
|
||||
void esqmr_state::machine_reset()
|
||||
@ -50,11 +52,11 @@ static ADDRESS_MAP_START( mr_map, AS_PROGRAM, 32, esqmr_state )
|
||||
// AM_RANGE(0xff0000, 0xffffff) AM_RAM AM_SHARE("osram")
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static void esq5506_otto_irq(device_t *device, int state)
|
||||
WRITE_LINE_MEMBER(esqmr_state::esq5506_otto_irq)
|
||||
{
|
||||
}
|
||||
|
||||
static READ16_DEVICE_HANDLER(esq5506_read_adc)
|
||||
READ16_MEMBER(esqmr_state::esq5506_read_adc)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
@ -66,8 +68,8 @@ static const es5506_interface es5506_config =
|
||||
"waverom3", /* Bank 0 */
|
||||
"waverom4", /* Bank 1 */
|
||||
1, /* channels */
|
||||
DEVCB_LINE(esq5506_otto_irq), /* irq */
|
||||
DEVCB_DEVICE_HANDLER(DEVICE_SELF, esq5506_read_adc)
|
||||
DEVCB_DRIVER_LINE_MEMBER(esqmr_state,esq5506_otto_irq), /* irq */
|
||||
DEVCB_DRIVER_MEMBER16(esqmr_state, esq5506_read_adc)
|
||||
};
|
||||
|
||||
static const es5506_interface es5506_2_config =
|
||||
|
@ -408,8 +408,8 @@ static I8237_INTERFACE( qx10_dma8237_1_interface )
|
||||
DEVCB_DRIVER_LINE_MEMBER(qx10_state, tc_w),
|
||||
DEVCB_DRIVER_MEMBER(qx10_state, memory_read_byte),
|
||||
DEVCB_DRIVER_MEMBER(qx10_state, memory_write_byte),
|
||||
{ DEVCB_DRIVER_MEMBER(qx10_state, fdc_dma_r), DEVCB_DRIVER_MEMBER(qx10_state, gdc_dack_r),/*DEVCB_DEVICE_HANDLER("upd7220", upd7220_dack_r)*/ DEVCB_NULL, DEVCB_NULL },
|
||||
{ DEVCB_DRIVER_MEMBER(qx10_state, fdc_dma_w), DEVCB_DRIVER_MEMBER(qx10_state, gdc_dack_w),/*DEVCB_DEVICE_HANDLER("upd7220", upd7220_dack_w)*/ DEVCB_NULL, DEVCB_NULL },
|
||||
{ DEVCB_DRIVER_MEMBER(qx10_state, fdc_dma_r), DEVCB_DRIVER_MEMBER(qx10_state, gdc_dack_r),/*DEVCB_DEVICE_MEMBER("upd7220", upd7220_device, dack_r)*/ DEVCB_NULL, DEVCB_NULL },
|
||||
{ DEVCB_DRIVER_MEMBER(qx10_state, fdc_dma_w), DEVCB_DRIVER_MEMBER(qx10_state, gdc_dack_w),/*DEVCB_DEVICE_MEMBER("upd7220", upd7220_device, dack_w)*/ DEVCB_NULL, DEVCB_NULL },
|
||||
{ DEVCB_NULL, DEVCB_NULL, DEVCB_NULL, DEVCB_NULL }
|
||||
};
|
||||
|
||||
|
@ -17,7 +17,8 @@ class partner_state : public radio86_state
|
||||
public:
|
||||
partner_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: radio86_state(mconfig, type, tag),
|
||||
m_ram(*this, RAM_TAG) { }
|
||||
m_ram(*this, RAM_TAG),
|
||||
m_fdc(*this, "wd1793") { }
|
||||
|
||||
UINT8 m_mem_page;
|
||||
UINT8 m_win_mem_page;
|
||||
@ -30,11 +31,17 @@ public:
|
||||
DECLARE_MACHINE_RESET(partner);
|
||||
DECLARE_WRITE_LINE_MEMBER(partner_wd17xx_drq_w);
|
||||
DECLARE_WRITE_LINE_MEMBER(hrq_w);
|
||||
|
||||
//to remove trampoline once it use new wd17xx core
|
||||
DECLARE_READ8_MEMBER(partner_fdc_r);
|
||||
DECLARE_WRITE8_MEMBER(partner_fdc_w);
|
||||
|
||||
void partner_window_1(UINT8 bank_num, UINT16 offset,UINT8 *rom);
|
||||
void partner_window_2(UINT8 bank_num, UINT16 offset,UINT8 *rom);
|
||||
void partner_iomap_bank(UINT8 *rom);
|
||||
void partner_bank_switch();
|
||||
required_device<ram_device> m_ram;
|
||||
required_device<fd1793_device> m_fdc;
|
||||
};
|
||||
|
||||
|
||||
|
@ -43,8 +43,7 @@ const wd17xx_interface partner_wd17xx_interface =
|
||||
|
||||
MACHINE_START_MEMBER(partner_state,partner)
|
||||
{
|
||||
device_t *fdc = machine().device("wd1793");
|
||||
wd17xx_set_pause_time(fdc, 10);
|
||||
wd17xx_set_pause_time(m_fdc, 10);
|
||||
}
|
||||
|
||||
void partner_state::partner_window_1(UINT8 bank_num, UINT16 offset,UINT8 *rom)
|
||||
@ -78,16 +77,14 @@ void partner_state::partner_window_2(UINT8 bank_num, UINT16 offset,UINT8 *rom)
|
||||
}
|
||||
}
|
||||
|
||||
READ8_MEMBER(partner_state::partner_floppy_r){
|
||||
device_t *fdc = machine().device("wd1793");
|
||||
|
||||
READ8_MEMBER(partner_state::partner_floppy_r){
|
||||
if (offset<0x100) {
|
||||
switch(offset & 3) {
|
||||
case 0x00 : return wd17xx_status_r(fdc,space, 0);
|
||||
case 0x01 : return wd17xx_track_r(fdc,space, 0);
|
||||
case 0x02 : return wd17xx_sector_r(fdc,space, 0);
|
||||
case 0x00 : return wd17xx_status_r(m_fdc,space, 0);
|
||||
case 0x01 : return wd17xx_track_r(m_fdc,space, 0);
|
||||
case 0x02 : return wd17xx_sector_r(m_fdc,space, 0);
|
||||
default :
|
||||
return wd17xx_data_r(fdc,space, 0);
|
||||
return wd17xx_data_r(m_fdc,space, 0);
|
||||
}
|
||||
} else {
|
||||
return 0;
|
||||
@ -95,29 +92,27 @@ READ8_MEMBER(partner_state::partner_floppy_r){
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(partner_state::partner_floppy_w){
|
||||
device_t *fdc = machine().device("wd1793");
|
||||
|
||||
if (offset<0x100) {
|
||||
switch(offset & 3) {
|
||||
case 0x00 : wd17xx_command_w(fdc,space, 0,data); break;
|
||||
case 0x01 : wd17xx_track_w(fdc,space, 0,data);break;
|
||||
case 0x02 : wd17xx_sector_w(fdc,space, 0,data);break;
|
||||
default : wd17xx_data_w(fdc,space, 0,data);break;
|
||||
case 0x00 : wd17xx_command_w(m_fdc,space, 0,data); break;
|
||||
case 0x01 : wd17xx_track_w(m_fdc,space, 0,data);break;
|
||||
case 0x02 : wd17xx_sector_w(m_fdc,space, 0,data);break;
|
||||
default : wd17xx_data_w(m_fdc,space, 0,data);break;
|
||||
}
|
||||
} else {
|
||||
floppy_mon_w(floppy_get_device(machine(), 0), 1);
|
||||
floppy_mon_w(floppy_get_device(machine(), 1), 1);
|
||||
if (((data >> 6) & 1)==1) {
|
||||
wd17xx_set_drive(fdc,0);
|
||||
wd17xx_set_drive(m_fdc,0);
|
||||
floppy_mon_w(floppy_get_device(machine(), 0), 0);
|
||||
floppy_drive_set_ready_state(floppy_get_device(machine(), 0), 1, 1);
|
||||
}
|
||||
if (((data >> 3) & 1)==1) {
|
||||
wd17xx_set_drive(fdc,1);
|
||||
wd17xx_set_drive(m_fdc,1);
|
||||
floppy_mon_w(floppy_get_device(machine(), 1), 0);
|
||||
floppy_drive_set_ready_state(floppy_get_device(machine(), 1), 1, 1);
|
||||
}
|
||||
wd17xx_set_side(fdc,data >> 7);
|
||||
wd17xx_set_side(m_fdc,data >> 7);
|
||||
}
|
||||
}
|
||||
|
||||
@ -363,6 +358,15 @@ WRITE_LINE_MEMBER(partner_state::hrq_w)
|
||||
machine().device<i8257_device>("dma8257")->i8257_hlda_w(state);
|
||||
}
|
||||
|
||||
READ8_MEMBER(partner_state::partner_fdc_r)
|
||||
{
|
||||
return wd17xx_data_r(m_fdc,space,offset);
|
||||
}
|
||||
WRITE8_MEMBER(partner_state::partner_fdc_w)
|
||||
{
|
||||
wd17xx_data_w(m_fdc,space,offset,data);
|
||||
}
|
||||
|
||||
I8257_INTERFACE( partner_dma )
|
||||
{
|
||||
DEVCB_DRIVER_LINE_MEMBER(partner_state,hrq_w),
|
||||
@ -370,8 +374,8 @@ I8257_INTERFACE( partner_dma )
|
||||
DEVCB_NULL,
|
||||
DEVCB_DRIVER_MEMBER(radio86_state, memory_read_byte),
|
||||
DEVCB_DRIVER_MEMBER(radio86_state, memory_write_byte),
|
||||
{ DEVCB_DEVICE_HANDLER("wd1793", wd17xx_data_r), DEVCB_NULL, DEVCB_NULL, DEVCB_NULL },
|
||||
{ DEVCB_DEVICE_HANDLER("wd1793", wd17xx_data_w), DEVCB_NULL, DEVCB_DEVICE_MEMBER("i8275", i8275_device, dack_w), DEVCB_NULL }
|
||||
{ DEVCB_DRIVER_MEMBER(partner_state, partner_fdc_r), DEVCB_NULL, DEVCB_NULL, DEVCB_NULL },
|
||||
{ DEVCB_DRIVER_MEMBER(partner_state, partner_fdc_w), DEVCB_NULL, DEVCB_DEVICE_MEMBER("i8275", i8275_device, dack_w), DEVCB_NULL }
|
||||
};
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user