summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/machine/pc9801_cd.cpp
blob: 46368ddfcc93e15f5224201b0ad9936dc9707268 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
// license:BSD-3-Clause
// copyright-holders:smf
#include "emu.h"
#include "pc9801_cd.h"

// device type definition
DEFINE_DEVICE_TYPE(PC9801_CD, pc9801_cd_device, "pc9801_cd", "PC9801 CD-ROM Drive")

pc9801_cd_device::pc9801_cd_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
	atapi_cdrom_device(mconfig, PC9801_CD, tag, owner, clock)
{
}

void pc9801_cd_device::fill_buffer()
{
	atapi_cdrom_device::fill_buffer();
	m_status |= IDE_STATUS_DRDY | IDE_STATUS_SERV;
}

void pc9801_cd_device::process_buffer()
{
	atapi_cdrom_device::process_buffer();
	m_status |= IDE_STATUS_DRDY | IDE_STATUS_SERV;
}

void pc9801_cd_device::process_command()
{
	atapi_cdrom_device::process_command();
	switch(m_command)
	{
		case IDE_COMMAND_CHECK_POWER_MODE:
			m_status = IDE_STATUS_DRDY | IDE_STATUS_SERV;
			break;
	}
}