mirror of
https://github.com/holub/mame
synced 2025-04-22 00:11:58 +03:00
(MESS) Mac: get the 6805s away from knowing mac_state internals, fixes Pippin error [R. Belmont]
This commit is contained in:
parent
f4a80a8972
commit
1eb265397a
@ -896,7 +896,14 @@ static const floppy_interface mac_floppy_interface =
|
||||
|
||||
static const cuda_interface mac_cuda_interface =
|
||||
{
|
||||
DEVCB_DRIVER_LINE_MEMBER(mac_state, cuda_reset_w)
|
||||
DEVCB_DRIVER_LINE_MEMBER(mac_state, cuda_reset_w),
|
||||
DEVCB_DRIVER_LINE_MEMBER(mac_state, adb_linechange_w)
|
||||
};
|
||||
|
||||
static const cuda_interface mac_egret_interface =
|
||||
{
|
||||
DEVCB_DRIVER_LINE_MEMBER(mac_state, cuda_reset_w),
|
||||
DEVCB_DRIVER_LINE_MEMBER(mac_state, adb_linechange_w)
|
||||
};
|
||||
|
||||
static MACHINE_CONFIG_START( mac512ke, mac_state )
|
||||
@ -1162,7 +1169,7 @@ static MACHINE_CONFIG_DERIVED( maclc, macii )
|
||||
MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
|
||||
MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
|
||||
|
||||
MCFG_EGRET_ADD(EGRET_341S0850)
|
||||
MCFG_EGRET_ADD(EGRET_341S0850, mac_egret_interface)
|
||||
MCFG_QUANTUM_PERFECT_CPU("maincpu")
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
@ -1203,7 +1210,7 @@ static MACHINE_CONFIG_DERIVED( maclc3, maclc )
|
||||
MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
|
||||
MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
|
||||
|
||||
MCFG_EGRET_REPLACE(EGRET_341S0851)
|
||||
MCFG_EGRET_REPLACE(EGRET_341S0851, mac_egret_interface)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
static MACHINE_CONFIG_DERIVED( maclc520, maclc3 )
|
||||
@ -1233,7 +1240,7 @@ static MACHINE_CONFIG_DERIVED( maciivx, maclc )
|
||||
MCFG_RAM_DEFAULT_SIZE("4M")
|
||||
MCFG_RAM_EXTRA_OPTIONS("8M,12M,16M,20M,24M,28M,32M,36M,40M,44M,48M,52M,56M,60M,64M")
|
||||
|
||||
MCFG_EGRET_REPLACE(EGRET_341S0851)
|
||||
MCFG_EGRET_REPLACE(EGRET_341S0851, mac_egret_interface)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
static MACHINE_CONFIG_DERIVED( maciivi, maclc )
|
||||
@ -1257,7 +1264,7 @@ static MACHINE_CONFIG_DERIVED( maciivi, maclc )
|
||||
MCFG_RAM_DEFAULT_SIZE("4M")
|
||||
MCFG_RAM_EXTRA_OPTIONS("8M,12M,16M,20M,24M,28M,32M,36M,40M,44M,48M,52M,56M,60M,64M")
|
||||
|
||||
MCFG_EGRET_REPLACE(EGRET_341S0851)
|
||||
MCFG_EGRET_REPLACE(EGRET_341S0851, mac_egret_interface)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
static MACHINE_CONFIG_DERIVED( maciix, macii )
|
||||
@ -1497,7 +1504,7 @@ static MACHINE_CONFIG_DERIVED( macclas2, maclc )
|
||||
MCFG_RAM_DEFAULT_SIZE("10M")
|
||||
MCFG_RAM_EXTRA_OPTIONS("2M,4M,6M,8M,10M")
|
||||
|
||||
MCFG_EGRET_REPLACE(EGRET_341S0851)
|
||||
MCFG_EGRET_REPLACE(EGRET_341S0851, mac_egret_interface)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
static MACHINE_CONFIG_DERIVED( maciici, macii )
|
||||
@ -1560,7 +1567,7 @@ static MACHINE_CONFIG_DERIVED( maciisi, macii )
|
||||
MCFG_RAM_DEFAULT_SIZE("2M")
|
||||
MCFG_RAM_EXTRA_OPTIONS("4M,8M,16M,32M,48M,64M,128M")
|
||||
|
||||
MCFG_EGRET_ADD(EGRET_344S0100)
|
||||
MCFG_EGRET_ADD(EGRET_344S0100, mac_egret_interface)
|
||||
MCFG_QUANTUM_PERFECT_CPU("maincpu")
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
@ -100,7 +100,8 @@ struct cdrom_interface pippin_cdrom =
|
||||
|
||||
static const cuda_interface mac_cuda_interface =
|
||||
{
|
||||
DEVCB_DRIVER_LINE_MEMBER(macpci_state, cuda_reset_w)
|
||||
DEVCB_DRIVER_LINE_MEMBER(macpci_state, cuda_reset_w),
|
||||
DEVCB_DRIVER_LINE_MEMBER(macpci_state, cuda_adb_linechange_w)
|
||||
};
|
||||
|
||||
static MACHINE_CONFIG_START( pippin, macpci_state )
|
||||
@ -136,7 +137,7 @@ static MACHINE_CONFIG_START( pippin, macpci_state )
|
||||
MCFG_RAM_DEFAULT_SIZE("32M")
|
||||
|
||||
MCFG_VIA6522_ADD("via6522_0", C7M/10, pcimac_via6522_intf)
|
||||
// MCFG_SCC8530_ADD("scc", C7M, line_cb_t(FUNC(mac_state::set_scc_interrupt), static_cast<mac_state *>(owner)))
|
||||
// MCFG_SCC8530_ADD("scc", C7M, line_cb_t(FUNC(macpci_state::set_scc_interrupt), static_cast<macpci_state *>(owner)))
|
||||
MCFG_CUDA_ADD(CUDA_341S0060, mac_cuda_interface)
|
||||
MCFG_QUANTUM_PERFECT_CPU("maincpu")
|
||||
MACHINE_CONFIG_END
|
||||
|
@ -230,8 +230,6 @@ public:
|
||||
UINT32 m_se30_vbl_enable;
|
||||
UINT8 m_nubus_irq_state;
|
||||
|
||||
void adb_linechange(int state, int dtime);
|
||||
|
||||
/* used to store the reply to most keyboard commands */
|
||||
int m_keyboard_reply;
|
||||
|
||||
@ -385,6 +383,7 @@ public:
|
||||
DECLARE_WRITE_LINE_MEMBER(drq_539x_1_w);
|
||||
|
||||
DECLARE_WRITE_LINE_MEMBER(cuda_reset_w);
|
||||
DECLARE_WRITE_LINE_MEMBER(adb_linechange_w);
|
||||
|
||||
DECLARE_DIRECT_UPDATE_MEMBER(overlay_opbaseoverride);
|
||||
private:
|
||||
@ -482,6 +481,7 @@ public:
|
||||
TIMER_CALLBACK_MEMBER(mac_scanline_tick);
|
||||
TIMER_CALLBACK_MEMBER(dafb_vbl_tick);
|
||||
TIMER_CALLBACK_MEMBER(dafb_cursor_tick);
|
||||
DECLARE_READ8_MEMBER(mac_via_in_cb2);
|
||||
DECLARE_WRITE8_MEMBER(mac_via_out_cb2);
|
||||
DECLARE_READ8_MEMBER(mac_adb_via_in_cb2);
|
||||
DECLARE_WRITE8_MEMBER(mac_adb_via_out_cb2);
|
||||
@ -493,6 +493,7 @@ public:
|
||||
DECLARE_READ8_MEMBER(mac_via2_in_b);
|
||||
DECLARE_WRITE8_MEMBER(mac_via2_out_a);
|
||||
DECLARE_WRITE8_MEMBER(mac_via2_out_b);
|
||||
DECLARE_WRITE_LINE_MEMBER(mac_kbd_clk_in);
|
||||
};
|
||||
|
||||
#endif /* MAC_H_ */
|
||||
|
@ -142,6 +142,7 @@ public:
|
||||
DECLARE_WRITE_LINE_MEMBER(drq_539x_1_w);
|
||||
|
||||
DECLARE_WRITE_LINE_MEMBER(cuda_reset_w);
|
||||
DECLARE_WRITE_LINE_MEMBER(cuda_adb_linechange_w);
|
||||
|
||||
// hack functions
|
||||
DECLARE_READ64_MEMBER ( unk1_r );
|
||||
|
@ -1183,8 +1183,9 @@ void mac_state::adb_reset()
|
||||
}
|
||||
}
|
||||
|
||||
void mac_state::adb_linechange(int state, int dtime)
|
||||
WRITE_LINE_MEMBER(mac_state::adb_linechange_w)
|
||||
{
|
||||
int dtime = 0;
|
||||
/* static const char *states[] =
|
||||
{
|
||||
"idle",
|
||||
@ -1203,6 +1204,15 @@ void mac_state::adb_linechange(int state, int dtime)
|
||||
"srqnodata"
|
||||
};*/
|
||||
|
||||
if (ADB_IS_EGRET)
|
||||
{
|
||||
dtime = m_egret->get_adb_dtime();
|
||||
}
|
||||
else if (ADB_IS_CUDA)
|
||||
{
|
||||
dtime = m_cuda->get_adb_dtime();
|
||||
}
|
||||
|
||||
/* if (m_adb_linestate <= 12)
|
||||
{
|
||||
printf("linechange: %d -> %d, time %d (state %d = %s)\n", state^1, state, dtime, m_adb_linestate, states[m_adb_linestate]);
|
||||
|
@ -144,6 +144,10 @@ WRITE_LINE_MEMBER(macpci_state::cuda_reset_w)
|
||||
machine().device("maincpu")->execute().set_input_line(INPUT_LINE_RESET, state);
|
||||
}
|
||||
|
||||
WRITE_LINE_MEMBER(macpci_state::cuda_adb_linechange_w)
|
||||
{
|
||||
}
|
||||
|
||||
static void mac_driver_init(running_machine &machine, model_t model)
|
||||
{
|
||||
macpci_state *mac = machine.driver_data<macpci_state>();
|
||||
|
Loading…
Reference in New Issue
Block a user