some more cleanup (nw)
This commit is contained in:
parent
e52971111c
commit
75317b8043
@ -59,8 +59,9 @@ public:
|
|||||||
|
|
||||||
virtual void machine_reset();
|
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()
|
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
|
AM_RANGE(0x0be00000, 0x0befffff) AM_RAM
|
||||||
ADDRESS_MAP_END
|
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;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -94,8 +95,8 @@ static const es5506_interface es5506_config =
|
|||||||
"waverom3", /* Bank 0 */
|
"waverom3", /* Bank 0 */
|
||||||
"waverom4", /* Bank 1 */
|
"waverom4", /* Bank 1 */
|
||||||
1, /* channels */
|
1, /* channels */
|
||||||
DEVCB_LINE(esq5506_otto_irq), /* irq */
|
DEVCB_DRIVER_LINE_MEMBER(esqasr_state,esq5506_otto_irq), /* irq */
|
||||||
DEVCB_DEVICE_HANDLER(DEVICE_SELF, esq5506_read_adc)
|
DEVCB_DRIVER_MEMBER16(esqasr_state, esq5506_read_adc)
|
||||||
};
|
};
|
||||||
|
|
||||||
static MACHINE_CONFIG_START( asr, esqasr_state )
|
static MACHINE_CONFIG_START( asr, esqasr_state )
|
||||||
|
@ -66,6 +66,7 @@ public:
|
|||||||
DECLARE_DRIVER_INIT(kt);
|
DECLARE_DRIVER_INIT(kt);
|
||||||
DECLARE_INPUT_CHANGED_MEMBER(key_stroke);
|
DECLARE_INPUT_CHANGED_MEMBER(key_stroke);
|
||||||
DECLARE_WRITE_LINE_MEMBER(esq5506_otto_irq);
|
DECLARE_WRITE_LINE_MEMBER(esq5506_otto_irq);
|
||||||
|
DECLARE_READ16_MEMBER(esq5506_read_adc);
|
||||||
};
|
};
|
||||||
|
|
||||||
void esqkt_state::machine_reset()
|
void esqkt_state::machine_reset()
|
||||||
@ -138,11 +139,9 @@ WRITE_LINE_MEMBER(esqkt_state::esq5506_otto_irq)
|
|||||||
#endif
|
#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 ((m_duart_io & 7) ^ 7)
|
||||||
|
|
||||||
switch ((state->m_duart_io & 7) ^ 7)
|
|
||||||
{
|
{
|
||||||
case 0: // vRef to check battery
|
case 0: // vRef to check battery
|
||||||
return 0x5b00;
|
return 0x5b00;
|
||||||
@ -154,7 +153,7 @@ static READ16_DEVICE_HANDLER(esq5506_read_adc)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (state->m_duart_io & 1)
|
if (m_duart_io & 1)
|
||||||
{
|
{
|
||||||
return 0x5b00; // vRef
|
return 0x5b00; // vRef
|
||||||
}
|
}
|
||||||
@ -194,7 +193,7 @@ static const es5506_interface es5506_config =
|
|||||||
"waverom4", /* Bank 1 */
|
"waverom4", /* Bank 1 */
|
||||||
1, /* channels */
|
1, /* channels */
|
||||||
DEVCB_DRIVER_LINE_MEMBER(esqkt_state,esq5506_otto_irq), /* irq */
|
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 =
|
static const es5506_interface es5506_2_config =
|
||||||
|
@ -37,6 +37,8 @@ public:
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
DECLARE_DRIVER_INIT(mr);
|
DECLARE_DRIVER_INIT(mr);
|
||||||
|
DECLARE_WRITE_LINE_MEMBER(esq5506_otto_irq);
|
||||||
|
DECLARE_READ16_MEMBER(esq5506_read_adc);
|
||||||
};
|
};
|
||||||
|
|
||||||
void esqmr_state::machine_reset()
|
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")
|
// AM_RANGE(0xff0000, 0xffffff) AM_RAM AM_SHARE("osram")
|
||||||
ADDRESS_MAP_END
|
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;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -66,8 +68,8 @@ static const es5506_interface es5506_config =
|
|||||||
"waverom3", /* Bank 0 */
|
"waverom3", /* Bank 0 */
|
||||||
"waverom4", /* Bank 1 */
|
"waverom4", /* Bank 1 */
|
||||||
1, /* channels */
|
1, /* channels */
|
||||||
DEVCB_LINE(esq5506_otto_irq), /* irq */
|
DEVCB_DRIVER_LINE_MEMBER(esqmr_state,esq5506_otto_irq), /* irq */
|
||||||
DEVCB_DEVICE_HANDLER(DEVICE_SELF, esq5506_read_adc)
|
DEVCB_DRIVER_MEMBER16(esqmr_state, esq5506_read_adc)
|
||||||
};
|
};
|
||||||
|
|
||||||
static const es5506_interface es5506_2_config =
|
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_LINE_MEMBER(qx10_state, tc_w),
|
||||||
DEVCB_DRIVER_MEMBER(qx10_state, memory_read_byte),
|
DEVCB_DRIVER_MEMBER(qx10_state, memory_read_byte),
|
||||||
DEVCB_DRIVER_MEMBER(qx10_state, memory_write_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_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_HANDLER("upd7220", upd7220_dack_w)*/ 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 }
|
{ DEVCB_NULL, DEVCB_NULL, DEVCB_NULL, DEVCB_NULL }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -17,7 +17,8 @@ class partner_state : public radio86_state
|
|||||||
public:
|
public:
|
||||||
partner_state(const machine_config &mconfig, device_type type, const char *tag)
|
partner_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||||
: radio86_state(mconfig, type, 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_mem_page;
|
||||||
UINT8 m_win_mem_page;
|
UINT8 m_win_mem_page;
|
||||||
@ -30,11 +31,17 @@ public:
|
|||||||
DECLARE_MACHINE_RESET(partner);
|
DECLARE_MACHINE_RESET(partner);
|
||||||
DECLARE_WRITE_LINE_MEMBER(partner_wd17xx_drq_w);
|
DECLARE_WRITE_LINE_MEMBER(partner_wd17xx_drq_w);
|
||||||
DECLARE_WRITE_LINE_MEMBER(hrq_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_1(UINT8 bank_num, UINT16 offset,UINT8 *rom);
|
||||||
void partner_window_2(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_iomap_bank(UINT8 *rom);
|
||||||
void partner_bank_switch();
|
void partner_bank_switch();
|
||||||
required_device<ram_device> m_ram;
|
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)
|
MACHINE_START_MEMBER(partner_state,partner)
|
||||||
{
|
{
|
||||||
device_t *fdc = machine().device("wd1793");
|
wd17xx_set_pause_time(m_fdc, 10);
|
||||||
wd17xx_set_pause_time(fdc, 10);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void partner_state::partner_window_1(UINT8 bank_num, UINT16 offset,UINT8 *rom)
|
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){
|
READ8_MEMBER(partner_state::partner_floppy_r){
|
||||||
device_t *fdc = machine().device("wd1793");
|
|
||||||
|
|
||||||
if (offset<0x100) {
|
if (offset<0x100) {
|
||||||
switch(offset & 3) {
|
switch(offset & 3) {
|
||||||
case 0x00 : return wd17xx_status_r(fdc,space, 0);
|
case 0x00 : return wd17xx_status_r(m_fdc,space, 0);
|
||||||
case 0x01 : return wd17xx_track_r(fdc,space, 0);
|
case 0x01 : return wd17xx_track_r(m_fdc,space, 0);
|
||||||
case 0x02 : return wd17xx_sector_r(fdc,space, 0);
|
case 0x02 : return wd17xx_sector_r(m_fdc,space, 0);
|
||||||
default :
|
default :
|
||||||
return wd17xx_data_r(fdc,space, 0);
|
return wd17xx_data_r(m_fdc,space, 0);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
return 0;
|
return 0;
|
||||||
@ -95,29 +92,27 @@ READ8_MEMBER(partner_state::partner_floppy_r){
|
|||||||
}
|
}
|
||||||
|
|
||||||
WRITE8_MEMBER(partner_state::partner_floppy_w){
|
WRITE8_MEMBER(partner_state::partner_floppy_w){
|
||||||
device_t *fdc = machine().device("wd1793");
|
|
||||||
|
|
||||||
if (offset<0x100) {
|
if (offset<0x100) {
|
||||||
switch(offset & 3) {
|
switch(offset & 3) {
|
||||||
case 0x00 : wd17xx_command_w(fdc,space, 0,data); break;
|
case 0x00 : wd17xx_command_w(m_fdc,space, 0,data); break;
|
||||||
case 0x01 : wd17xx_track_w(fdc,space, 0,data);break;
|
case 0x01 : wd17xx_track_w(m_fdc,space, 0,data);break;
|
||||||
case 0x02 : wd17xx_sector_w(fdc,space, 0,data);break;
|
case 0x02 : wd17xx_sector_w(m_fdc,space, 0,data);break;
|
||||||
default : wd17xx_data_w(fdc,space, 0,data);break;
|
default : wd17xx_data_w(m_fdc,space, 0,data);break;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
floppy_mon_w(floppy_get_device(machine(), 0), 1);
|
floppy_mon_w(floppy_get_device(machine(), 0), 1);
|
||||||
floppy_mon_w(floppy_get_device(machine(), 1), 1);
|
floppy_mon_w(floppy_get_device(machine(), 1), 1);
|
||||||
if (((data >> 6) & 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_mon_w(floppy_get_device(machine(), 0), 0);
|
||||||
floppy_drive_set_ready_state(floppy_get_device(machine(), 0), 1, 1);
|
floppy_drive_set_ready_state(floppy_get_device(machine(), 0), 1, 1);
|
||||||
}
|
}
|
||||||
if (((data >> 3) & 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_mon_w(floppy_get_device(machine(), 1), 0);
|
||||||
floppy_drive_set_ready_state(floppy_get_device(machine(), 1), 1, 1);
|
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);
|
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 )
|
I8257_INTERFACE( partner_dma )
|
||||||
{
|
{
|
||||||
DEVCB_DRIVER_LINE_MEMBER(partner_state,hrq_w),
|
DEVCB_DRIVER_LINE_MEMBER(partner_state,hrq_w),
|
||||||
@ -370,8 +374,8 @@ I8257_INTERFACE( partner_dma )
|
|||||||
DEVCB_NULL,
|
DEVCB_NULL,
|
||||||
DEVCB_DRIVER_MEMBER(radio86_state, memory_read_byte),
|
DEVCB_DRIVER_MEMBER(radio86_state, memory_read_byte),
|
||||||
DEVCB_DRIVER_MEMBER(radio86_state, memory_write_byte),
|
DEVCB_DRIVER_MEMBER(radio86_state, memory_write_byte),
|
||||||
{ DEVCB_DEVICE_HANDLER("wd1793", wd17xx_data_r), DEVCB_NULL, DEVCB_NULL, DEVCB_NULL },
|
{ DEVCB_DRIVER_MEMBER(partner_state, partner_fdc_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_w), DEVCB_NULL, DEVCB_DEVICE_MEMBER("i8275", i8275_device, dack_w), DEVCB_NULL }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user