summaryrefslogblamecommitdiffstatshomepage
path: root/src/devices/cpu/ks0164/ks0164.h
blob: 5041b8270e5468c2a303ee363ccca50107bbb073 (plain) (tree)



































                                                                                                           
// license:BSD-3-Clause
// copyright-holders:Olivier Galibert, David Carne

// KS0164 core

#ifndef MAME_CPU_KS0164_KS0164_H
#define MAME_CPU_KS0164_KS0164_H

#pragma once

class ks0164_device : public cpu_device
{
public:
	ks0164_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);

protected:
	int m_icount;
	u32 m_pc;

	virtual void device_start() override;
	virtual void device_reset() override;
	virtual uint32_t execute_min_cycles() const noexcept override;
	virtual uint32_t execute_max_cycles() const noexcept override;
	virtual uint32_t execute_input_lines() const noexcept override;
	virtual void execute_run() override;
	virtual void execute_set_input(int inputnum, int state) override;
	virtual space_config_vector memory_space_config() const override;
	virtual std::unique_ptr<util::disasm_interface> create_disassembler() override;
	virtual void state_string_export(const device_state_entry &entry, std::string &str) const override;

	const address_space_config m_program_config;
};

DECLARE_DEVICE_TYPE(KS0164, ks0164_device)

#endif