summaryrefslogblamecommitdiffstatshomepage
path: root/src/devices/machine/ds128x.h
blob: 07209361041ccfdbbec4e840dcdfa8c1faae5f2a (plain) (tree)
1
2
3
4
5
6
7
8
9
                       
                        

                             


                     
 
                                         




                                             
                                                                                                                 

          

                                                                                                                          

                                                              


                         
                                            
 












                                                                                                                    
                                                              




                                                  
                               
// license:BSD-3-Clause
// copyright-holders:smf
#ifndef MAME_MACHINE_DS128X_H
#define MAME_MACHINE_DS128X_H

#include "mc146818.h"


// ======================> ds12885_device

class ds12885_device : public mc146818_device
{
public:
	// construction/destruction
	ds12885_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 32'768);

protected:
	ds12885_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);

	virtual int data_size() const override { return 128; }
	virtual int get_timer_bypass() const override;
};

// device type definition
DECLARE_DEVICE_TYPE(DS12885, ds12885_device)

// ======================> ds12885ext_device

class ds12885ext_device : public ds12885_device
{
public:
	// construction/destruction
	ds12885ext_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 32'768);

	// read/write access to extended ram
	uint8_t read_extended(offs_t offset);
	void write_extended(offs_t offset, uint8_t data);

protected:
	virtual int data_size() const override { return 256; }
};

// device type definition
DECLARE_DEVICE_TYPE(DS12885EXT, ds12885ext_device)

#endif // MAME_MACHINE_DS128X_H