mirror of
https://github.com/holub/mame
synced 2025-07-07 02:50:50 +03:00
More proper solution for not connected IDE devices (no whatsnew)
This commit is contained in:
parent
38abc5dac9
commit
f59f48e859
@ -1286,8 +1286,13 @@ static UINT32 ide_controller_read(device_t *device, int bank, offs_t offset, int
|
||||
// if (BANK(bank, offset) != IDE_BANK0_DATA && BANK(bank, offset) != IDE_BANK0_STATUS_COMMAND && BANK(bank, offset) != IDE_BANK1_STATUS_CONTROL)
|
||||
LOG(("%s:IDE read at %d:%X, size=%d\n", device->machine().describe_context(), bank, offset, size));
|
||||
|
||||
if (ide->drive[ide->cur_drive].slot->is_ready()) {
|
||||
ide->status |= IDE_STATUS_DRIVE_READY;
|
||||
if (ide->drive[ide->cur_drive].slot->is_connected())
|
||||
{
|
||||
if (ide->drive[ide->cur_drive].slot->is_ready()) {
|
||||
ide->status |= IDE_STATUS_DRIVE_READY;
|
||||
} else {
|
||||
ide->status &= ~IDE_STATUS_DRIVE_READY;
|
||||
}
|
||||
}
|
||||
|
||||
switch (BANK(bank, offset))
|
||||
|
@ -67,6 +67,7 @@ public:
|
||||
UINT16 get_heads() { return (m_dev) ? m_dev->get_heads() : 0; }
|
||||
void set_geometry(UINT8 sectors, UINT8 heads) { if (m_dev) m_dev->set_geometry(sectors,heads); }
|
||||
bool is_ready() { return (m_dev) ? m_dev->is_ready() : false; }
|
||||
bool is_connected() { return (m_dev) ? true : false; }
|
||||
void read_key(UINT8 key[]) { if (m_dev) m_dev->read_key(key); }
|
||||
protected:
|
||||
// device-level overrides
|
||||
|
@ -1774,6 +1774,10 @@ static MACHINE_CONFIG_START( cojagr3k, cojag_state )
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
static MACHINE_CONFIG_DERIVED( cojagr3k_rom, cojagr3k )
|
||||
MCFG_DEVICE_REMOVE("drive_0")
|
||||
MCFG_IDE_SLOT_ADD("drive_0", ide_devices, NULL, NULL, true)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
static MACHINE_CONFIG_DERIVED( cojag68k, cojagr3k )
|
||||
|
||||
@ -2529,14 +2533,14 @@ CONS( 1995, jaguarcd, jaguar, 0, jaguar, jaguar, cojag_state, jaguar
|
||||
GAME( 1996, area51, 0, cojagr3k, area51, cojag_state, area51, ROT0, "Atari Games", "Area 51 (R3000)", 0 )
|
||||
GAME( 1995, area51t, area51, cojag68k, area51, cojag_state, area51a, ROT0, "Atari Games (Time Warner license)", "Area 51 (Time Warner license)", 0 )
|
||||
GAME( 1995, area51a, area51, cojag68k, area51, cojag_state, area51a, ROT0, "Atari Games", "Area 51 (Atari Games license)", 0 )
|
||||
GAME( 1995, fishfren, 0, cojagr3k, fishfren, cojag_state, fishfren, ROT0, "Time Warner Interactive", "Fishin' Frenzy (prototype)", 0 )
|
||||
GAME( 1996, freezeat, 0, cojagr3k, freezeat, cojag_state, freezeat, ROT0, "Atari Games", "Freeze (Atari) (prototype, English voice, 96/10/25)", 0 )
|
||||
GAME( 1996, freezeatjp,freezeat, cojagr3k, freezeat, cojag_state, freezeat, ROT0, "Atari Games", "Freeze (Atari) (prototype, Japanese voice, 96/10/25)", 0 )
|
||||
GAME( 1996, freezeat2, freezeat, cojagr3k, freezeat, cojag_state, freezeat2,ROT0, "Atari Games", "Freeze (Atari) (prototype, 96/10/18)", 0 )
|
||||
GAME( 1996, freezeat3, freezeat, cojagr3k, freezeat, cojag_state, freezeat3,ROT0, "Atari Games", "Freeze (Atari) (prototype, 96/10/07)", 0 )
|
||||
GAME( 1996, freezeat4, freezeat, cojagr3k, freezeat, cojag_state, freezeat4,ROT0, "Atari Games", "Freeze (Atari) (prototype, 96/10/03)", 0 )
|
||||
GAME( 1996, freezeat5, freezeat, cojagr3k, freezeat, cojag_state, freezeat5,ROT0, "Atari Games", "Freeze (Atari) (prototype, 96/09/20, AMOA-96)", 0 )
|
||||
GAME( 1996, freezeat6, freezeat, cojagr3k, freezeat, cojag_state, freezeat6,ROT0, "Atari Games", "Freeze (Atari) (prototype, 96/09/07, Jamma-96)", 0 )
|
||||
GAME( 1995, fishfren, 0, cojagr3k_rom, fishfren, cojag_state, fishfren, ROT0, "Time Warner Interactive", "Fishin' Frenzy (prototype)", 0 )
|
||||
GAME( 1996, freezeat, 0, cojagr3k_rom, freezeat, cojag_state, freezeat, ROT0, "Atari Games", "Freeze (Atari) (prototype, English voice, 96/10/25)", 0 )
|
||||
GAME( 1996, freezeatjp,freezeat, cojagr3k_rom, freezeat, cojag_state, freezeat, ROT0, "Atari Games", "Freeze (Atari) (prototype, Japanese voice, 96/10/25)", 0 )
|
||||
GAME( 1996, freezeat2, freezeat, cojagr3k_rom, freezeat, cojag_state, freezeat2,ROT0, "Atari Games", "Freeze (Atari) (prototype, 96/10/18)", 0 )
|
||||
GAME( 1996, freezeat3, freezeat, cojagr3k_rom, freezeat, cojag_state, freezeat3,ROT0, "Atari Games", "Freeze (Atari) (prototype, 96/10/07)", 0 )
|
||||
GAME( 1996, freezeat4, freezeat, cojagr3k_rom, freezeat, cojag_state, freezeat4,ROT0, "Atari Games", "Freeze (Atari) (prototype, 96/10/03)", 0 )
|
||||
GAME( 1996, freezeat5, freezeat, cojagr3k_rom, freezeat, cojag_state, freezeat5,ROT0, "Atari Games", "Freeze (Atari) (prototype, 96/09/20, AMOA-96)", 0 )
|
||||
GAME( 1996, freezeat6, freezeat, cojagr3k_rom, freezeat, cojag_state, freezeat6,ROT0, "Atari Games", "Freeze (Atari) (prototype, 96/09/07, Jamma-96)", 0 )
|
||||
GAME( 1996, maxforce, 0, cojagr3k, area51, cojag_state, maxforce, ROT0, "Atari Games", "Maximum Force v1.05", 0 )
|
||||
GAME( 1996, maxf_102, maxforce, cojagr3k, area51, cojag_state, maxforce, ROT0, "Atari Games", "Maximum Force v1.02", 0 )
|
||||
GAME( 1996, maxf_ng, maxforce, cojagr3k, area51, cojag_state, maxforce, ROT0, "Atari Games", "Maximum Force (No Gore version)", 0 )
|
||||
|
Loading…
Reference in New Issue
Block a user