qs1000, 315_5124 and 315_5313 devices: test Vas' latest work (nw)

This commit is contained in:
Ivan Vangelista 2017-05-22 19:58:27 +02:00
parent 90af5054cf
commit 2609dd1c8f
6 changed files with 32 additions and 58 deletions

View File

@ -151,15 +151,6 @@ static ADDRESS_MAP_START( qs1000_io_map, AS_IO, 8, qs1000_device )
ADDRESS_MAP_END ADDRESS_MAP_END
// Machine fragment
static MACHINE_CONFIG_START( qs1000 )
MCFG_CPU_ADD("cpu", I8052, DERIVED_CLOCK(1, 1))
MCFG_CPU_PROGRAM_MAP(qs1000_prg_map)
MCFG_CPU_IO_MAP(qs1000_io_map)
MCFG_MCS51_SERIAL_RX_CB(READ8(qs1000_device, data_to_i8052))
MACHINE_CONFIG_END
// ROM definition for the QS1000 internal program ROM // ROM definition for the QS1000 internal program ROM
ROM_START( qs1000 ) ROM_START( qs1000 )
ROM_REGION( 0x10000, "cpu", 0 ) ROM_REGION( 0x10000, "cpu", 0 )
@ -203,13 +194,14 @@ const tiny_rom_entry *qs1000_device::device_rom_region() const
//------------------------------------------------- //-------------------------------------------------
// machine_config_additions - return a pointer to // device_add_mconfig - add machine configuration
// the device's machine fragment
//------------------------------------------------- //-------------------------------------------------
machine_config_constructor qs1000_device::device_mconfig_additions() const MACHINE_CONFIG_MEMBER( qs1000_device::device_add_mconfig )
{ MCFG_CPU_ADD("cpu", I8052, DERIVED_CLOCK(1, 1))
return MACHINE_CONFIG_NAME( qs1000 ); MCFG_CPU_PROGRAM_MAP(qs1000_prg_map)
} MCFG_CPU_IO_MAP(qs1000_io_map)
MCFG_MCS51_SERIAL_RX_CB(READ8(qs1000_device, data_to_i8052))
MACHINE_CONFIG_END
//------------------------------------------------- //-------------------------------------------------

View File

@ -85,12 +85,10 @@ public:
DECLARE_READ8_MEMBER( p3_r ); DECLARE_READ8_MEMBER( p3_r );
DECLARE_WRITE8_MEMBER( p3_w ); DECLARE_WRITE8_MEMBER( p3_w );
DECLARE_READ8_MEMBER( data_to_i8052 );
protected: protected:
// device-level overrides // device-level overrides
virtual const tiny_rom_entry *device_rom_region() const override; virtual const tiny_rom_entry *device_rom_region() const override;
virtual machine_config_constructor device_mconfig_additions() const override; virtual void device_add_mconfig(machine_config &config) override;
virtual void device_start() override; virtual void device_start() override;
virtual void device_reset() override; virtual void device_reset() override;
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override; virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
@ -153,6 +151,8 @@ private:
}; };
qs1000_channel m_channels[QS1000_CHANNELS]; qs1000_channel m_channels[QS1000_CHANNELS];
DECLARE_READ8_MEMBER( data_to_i8052 );
}; };

View File

@ -2,7 +2,7 @@
// copyright-holders:Wilbert Pol, Enik Land // copyright-holders:Wilbert Pol, Enik Land
/********************************************************************* /*********************************************************************
sega315_5124.c sega315_5124.cpp
Implementation of video hardware chips used by Sega System E, Implementation of video hardware chips used by Sega System E,
Master System, and Game Gear. Master System, and Game Gear.
@ -1686,39 +1686,26 @@ void sega315_5124_device::device_reset()
memset(m_CRAM, 0, sizeof(m_CRAM)); memset(m_CRAM, 0, sizeof(m_CRAM));
} }
static MACHINE_CONFIG_START( sega315_5124 ) //-------------------------------------------------
// device_add_mconfig - add machine configuration
//-------------------------------------------------
MACHINE_CONFIG_MEMBER( sega315_5124_device::device_add_mconfig )
MCFG_PALETTE_ADD("palette", SEGA315_5124_PALETTE_SIZE) MCFG_PALETTE_ADD("palette", SEGA315_5124_PALETTE_SIZE)
MCFG_PALETTE_INIT_OWNER(sega315_5124_device, sega315_5124) MCFG_PALETTE_INIT_OWNER(sega315_5124_device, sega315_5124)
MACHINE_CONFIG_END MACHINE_CONFIG_END
//-------------------------------------------------
// machine_config_additions - return a pointer to
// the device's machine fragment
//-------------------------------------------------
machine_config_constructor sega315_5124_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( sega315_5124 );
}
void sega315_5378_device::device_reset() void sega315_5378_device::device_reset()
{ {
sega315_5124_device::device_reset(); sega315_5124_device::device_reset();
m_draw_time = DRAW_TIME_GG; m_draw_time = DRAW_TIME_GG;
} }
static MACHINE_CONFIG_START( sega315_5378 ) //-------------------------------------------------
// device_add_mconfig - add machine configuration
//-------------------------------------------------
MACHINE_CONFIG_MEMBER( sega315_5378_device::device_add_mconfig )
MCFG_PALETTE_ADD("palette", SEGA315_5378_PALETTE_SIZE) MCFG_PALETTE_ADD("palette", SEGA315_5378_PALETTE_SIZE)
MCFG_PALETTE_INIT_OWNER(sega315_5378_device, sega315_5378) MCFG_PALETTE_INIT_OWNER(sega315_5378_device, sega315_5378)
MACHINE_CONFIG_END MACHINE_CONFIG_END
//-------------------------------------------------
// machine_config_additions - return a pointer to
// the device's machine fragment
//-------------------------------------------------
machine_config_constructor sega315_5378_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( sega315_5378 );
}

View File

@ -90,7 +90,7 @@ protected:
virtual void device_start() override; virtual void device_start() override;
virtual void device_reset() override; virtual void device_reset() override;
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override; virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
virtual machine_config_constructor device_mconfig_additions() const override; virtual void device_add_mconfig(machine_config &config) override;
virtual const address_space_config *memory_space_config(address_spacenum spacenum) const override { return (spacenum == AS_0) ? &m_space_config : nullptr; } virtual const address_space_config *memory_space_config(address_spacenum spacenum) const override { return (spacenum == AS_0) ? &m_space_config : nullptr; }
@ -192,18 +192,19 @@ class sega315_5378_device : public sega315_5124_device
public: public:
sega315_5378_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); sega315_5378_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
DECLARE_PALETTE_INIT( sega315_5378 );
virtual void set_sega315_5124_compatibility_mode(bool sega315_5124_compatibility_mode) override; virtual void set_sega315_5124_compatibility_mode(bool sega315_5124_compatibility_mode) override;
protected: protected:
virtual void device_reset() override; virtual void device_reset() override;
virtual machine_config_constructor device_mconfig_additions() const override; virtual void device_add_mconfig(machine_config &config) override;
virtual void update_palette() override; virtual void update_palette() override;
virtual void cram_write(uint8_t data) override; virtual void cram_write(uint8_t data) override;
virtual void blit_scanline( int *line_buffer, int *priority_selected, int pixel_offset_x, int pixel_plot_y, int line ) override; virtual void blit_scanline( int *line_buffer, int *priority_selected, int pixel_offset_x, int pixel_plot_y, int line ) override;
virtual uint16_t get_name_table_row(int row) override; virtual uint16_t get_name_table_row(int row) override;
private:
DECLARE_PALETTE_INIT( sega315_5378 );
}; };

View File

@ -178,22 +178,16 @@ void sega315_5313_device::static_set_palette_tag(device_t &device, const char *t
downcast<sega315_5313_device &>(device).m_palette.set_tag(tag); downcast<sega315_5313_device &>(device).m_palette.set_tag(tag);
} }
//-------------------------------------------------
// device_add_mconfig
// add machine configuration
//-------------------------------------------------
static MACHINE_CONFIG_START( sega_genesis_vdp ) MACHINE_CONFIG_MEMBER(sega315_5313_device::device_add_mconfig)
MCFG_PALETTE_ADD("palette", 0x200) MCFG_PALETTE_ADD("palette", 0x200)
MCFG_PALETTE_INIT_OWNER(sega315_5124_device, sega315_5124) MCFG_PALETTE_INIT_OWNER(sega315_5124_device, sega315_5124)
MACHINE_CONFIG_END MACHINE_CONFIG_END
//-------------------------------------------------
// machine_config_additions - return a pointer to
// the device's machine fragment
//-------------------------------------------------
machine_config_constructor sega315_5313_device::device_mconfig_additions() const
{
return MACHINE_CONFIG_NAME( sega_genesis_vdp );
}
TIMER_CALLBACK_MEMBER(sega315_5313_device::irq6_on_timer_callback) TIMER_CALLBACK_MEMBER(sega315_5313_device::irq6_on_timer_callback)
{ {
// m_irq6_pending = 1; // m_irq6_pending = 1;

View File

@ -117,7 +117,7 @@ public:
protected: protected:
virtual void device_start() override; virtual void device_start() override;
virtual void device_reset() override; virtual void device_reset() override;
virtual machine_config_constructor device_mconfig_additions() const override; virtual void device_add_mconfig(machine_config &config) override;
// called when we hit 240 and 241 (used to control the z80 irq line on genesis, or the main irq on c2) // called when we hit 240 and 241 (used to control the z80 irq line on genesis, or the main irq on c2)
devcb_write_line m_sndirqline_callback; devcb_write_line m_sndirqline_callback;