1 // license:LGPL-2.1+
2 // copyright-holders:Michael Zapf
3 /****************************************************************************
4 
5     TI-99 32K memory expansion
6     See ti32kmem.c for documentation
7 
8     Michael Zapf
9 
10     February 2012: Rewritten as class
11 
12 *****************************************************************************/
13 
14 #ifndef MAME_BUS_TI99_PEB_TI_32KMEM_H
15 #define MAME_BUS_TI99_PEB_TI_32KMEM_H
16 
17 #pragma once
18 
19 #include "peribox.h"
20 #include "machine/ram.h"
21 
22 namespace bus { namespace ti99 { namespace peb {
23 
24 class ti_32k_expcard_device : public device_t, public device_ti99_peribox_card_interface
25 {
26 public:
27 	ti_32k_expcard_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
28 	void readz(offs_t offset, uint8_t *value) override;
29 	void write(offs_t offset, uint8_t data) override;
30 
crureadz(offs_t offset,uint8_t * value)31 	void crureadz(offs_t offset, uint8_t *value) override { }
cruwrite(offs_t offset,uint8_t data)32 	void cruwrite(offs_t offset, uint8_t data) override { }
33 
34 protected:
35 	void device_start() override;
36 	virtual void device_add_mconfig(machine_config &config) override;
37 
38 private:
39 	required_device<ram_device> m_ram;
40 };
41 
42 } } } // end namespace bus::ti99::peb
43 
44 DECLARE_DEVICE_TYPE_NS(TI99_32KMEM, bus::ti99::peb, ti_32k_expcard_device)
45 
46 #endif // MAME_BUS_TI99_PEB_TI_32KMEM_H
47