Previous 199869 Revisions Next

r31859 Monday 1st September, 2014 at 14:35:57 UTC by Osso
kaneko_calc3_device: minor cleanup (nw)
[src/mame/drivers]kaneko16.c
[src/mame/machine]kaneko_calc3.c kaneko_calc3.h

trunk/src/mame/drivers/kaneko16.c
r31858r31859
717717static ADDRESS_MAP_START( shogwarr, AS_PROGRAM, 16, kaneko16_shogwarr_state )
718718   AM_RANGE(0x000000, 0x03ffff) AM_ROM     // ROM
719719   AM_RANGE(0x100000, 0x10ffff) AM_RAM AM_SHARE("mainram")     // Work RAM
720   AM_RANGE(0x200000, 0x20ffff) AM_DEVREADWRITE("calc3_prot", kaneko_calc3_device, mcu_ram_r,mcu_ram_w) // Shared With MCU
720   AM_RANGE(0x200000, 0x20ffff) AM_RAM AM_SHARE("mcuram")
721721   AM_RANGE(0x280000, 0x280001) AM_DEVWRITE("calc3_prot", kaneko_calc3_device, mcu_com0_w)
722722   AM_RANGE(0x290000, 0x290001) AM_DEVWRITE("calc3_prot", kaneko_calc3_device, mcu_com1_w)
723723   AM_RANGE(0x2b0000, 0x2b0001) AM_DEVWRITE("calc3_prot", kaneko_calc3_device, mcu_com2_w)
trunk/src/mame/machine/kaneko_calc3.c
r31858r31859
2929
3030kaneko_calc3_device::kaneko_calc3_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
3131   : device_t(mconfig, KANEKO_CALC3, "Kaneko CALC3 MCU", tag, owner, clock, "kaneko_calc3", __FILE__),
32      m_mcuram(*this, ":mcuram"),
3233      m_mcu_status(0),
3334      m_mcu_command_offset(0),
3435      m_mcu_crc(0),
r31858r31859
4546      m_dsw_addr(0),
4647      m_eeprom_addr(0),
4748      m_poll_addr(0),
48      m_checksumaddress(0),
49      m_mcuram(NULL)
49      m_checksumaddress(0)
5050{
5151   m_data_header[0] = m_data_header[1] = 0;
5252}
r31858r31859
5454
5555void kaneko_calc3_device::device_start()
5656{
57   m_mcuram = (UINT16*)auto_alloc_array_clear(machine(), UINT16, 0x10000/2);
5857   initial_scan_tables();
5958   m_runtimer = timer_alloc(MCU_RUN_TIMER);
6059
61
6260   save_item(NAME(m_mcu_status));
6361   save_item(NAME(m_mcu_command_offset));
6462   save_item(NAME(m_mcu_crc));
r31858r31859
7775   save_item(NAME(m_eeprom_addr));
7876   save_item(NAME(m_poll_addr));
7977   save_item(NAME(m_checksumaddress));
80   save_pointer(NAME(m_mcuram), 0x10000/2);
8178}
8279
8380void kaneko_calc3_device::device_reset()
r31858r31859
130127   m_mcu_command_offset = 0;
131128}
132129
133READ16_MEMBER(kaneko_calc3_device::mcu_ram_r)
134{
135   return m_mcuram[offset];
136}
137
138WRITE16_MEMBER(kaneko_calc3_device::mcu_ram_w)
139{
140   COMBINE_DATA(&m_mcuram[offset]);
141}
142
143130void kaneko_calc3_device::mcu_com_w(offs_t offset, UINT16 data, UINT16 mem_mask, int _n_)
144131{
145132   logerror("calc3w %d %04x %04x\n", _n_, data, mem_mask);
trunk/src/mame/machine/kaneko_calc3.h
r31858r31859
99public:
1010   kaneko_calc3_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
1111
12   DECLARE_READ16_MEMBER(mcu_ram_r);
13   DECLARE_WRITE16_MEMBER(mcu_ram_w);
14
1512   DECLARE_WRITE16_MEMBER(mcu_com0_w);
1613   DECLARE_WRITE16_MEMBER(mcu_com1_w);
1714   DECLARE_WRITE16_MEMBER(mcu_com2_w);
1815   DECLARE_WRITE16_MEMBER(mcu_com3_w);
1916
2017   void reset_run_timer();
21
2218   void mcu_run();
2319   
2420protected:
r31858r31859
2723   virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr);
2824
2925private:
26   required_shared_ptr<UINT16> m_mcuram;
3027   int m_mcu_status;
3128   int m_mcu_command_offset;
3229   UINT16 m_mcu_crc;
r31858r31859
4542   UINT16 m_eeprom_addr;
4643   UINT16 m_poll_addr;
4744   UINT16 m_checksumaddress;
48   UINT16* m_mcuram;
4945   emu_timer* m_runtimer;
5046   
5147   enum

Previous 199869 Revisions Next


© 1997-2024 The MAME Team