mirror of
https://github.com/holub/mame
synced 2025-05-29 00:53:09 +03:00
vga_ati: added ATI mach64 ISA card.
This commit is contained in:
parent
0293e70fa5
commit
e6c0e41d89
@ -91,4 +91,5 @@ SLOT_INTERFACE_START( pc_isa16_cards )
|
||||
SLOT_INTERFACE("dms3d2kp", ISA16_DMS3D2KPRO)
|
||||
SLOT_INTERFACE("gfxultra", ISA16_VGA_GFXULTRA)
|
||||
SLOT_INTERFACE("gfxultrap", ISA16_SVGA_GFXULTRAPRO)
|
||||
SLOT_INTERFACE("mach64", ISA16_SVGA_MACH64)
|
||||
SLOT_INTERFACE_END
|
||||
|
@ -1,7 +1,7 @@
|
||||
/*
|
||||
* mach32.c
|
||||
*
|
||||
* Implementation of the ATi Mach32 video chip
|
||||
* Implementation of the ATi mach32 and mach64 video chips
|
||||
* Based on ati_vga and mach8
|
||||
*
|
||||
* Created on: 16/05/2014
|
||||
@ -11,6 +11,13 @@
|
||||
|
||||
const device_type ATIMACH32 = &device_creator<mach32_device>;
|
||||
const device_type ATIMACH32_8514A = &device_creator<mach32_8514a_device>;
|
||||
const device_type ATIMACH64 = &device_creator<mach64_device>;
|
||||
const device_type ATIMACH64_8514A = &device_creator<mach64_8514a_device>;
|
||||
|
||||
|
||||
/*
|
||||
* mach32
|
||||
*/
|
||||
|
||||
// 8514/A device
|
||||
mach32_8514a_device::mach32_8514a_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
|
||||
@ -71,3 +78,67 @@ void mach32_device::device_reset()
|
||||
{
|
||||
ati_vga_device::device_reset();
|
||||
}
|
||||
|
||||
/*
|
||||
* mach64
|
||||
*/
|
||||
|
||||
// 8514/A device
|
||||
mach64_8514a_device::mach64_8514a_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
|
||||
: mach32_8514a_device(mconfig, ATIMACH64_8514A, "ATi mach64 (2D acceleration module)", tag, owner, clock, "mach64_8514a", __FILE__)
|
||||
{
|
||||
}
|
||||
|
||||
mach64_8514a_device::mach64_8514a_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source)
|
||||
: mach32_8514a_device(mconfig, type, name, tag, owner, clock, shortname, source)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
// SVGA device
|
||||
mach64_device::mach64_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
|
||||
: mach32_device(mconfig, ATIMACH64, "ATi mach64", tag, owner, clock, "mach64", __FILE__),
|
||||
m_8514a(*this,"8514a")
|
||||
{
|
||||
}
|
||||
|
||||
mach64_device::mach64_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source)
|
||||
: mach32_device(mconfig, type, name, tag, owner, clock, shortname, source),
|
||||
m_8514a(*this,"8514a")
|
||||
{
|
||||
}
|
||||
|
||||
static MACHINE_CONFIG_FRAGMENT( mach64_8514a )
|
||||
MCFG_DEVICE_ADD("8514a", ATIMACH64_8514A, 0)
|
||||
MCFG_EEPROM_SERIAL_93C56_ADD("ati_eeprom")
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
machine_config_constructor mach64_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( mach64_8514a );
|
||||
}
|
||||
|
||||
void mach64_8514a_device::device_start()
|
||||
{
|
||||
mach32_8514a_device::device_start();
|
||||
// 017h 68800-AX
|
||||
// 177h 68800-LX
|
||||
// 2F7h 68800-6
|
||||
// The 68800-3 appears to return 0 for this field (undocumented)
|
||||
m_chip_ID = 0x0000; // value is unknown for mach64
|
||||
m_membounds = 0;
|
||||
}
|
||||
|
||||
void mach64_8514a_device::device_reset()
|
||||
{
|
||||
}
|
||||
|
||||
void mach64_device::device_start()
|
||||
{
|
||||
mach32_device::device_start();
|
||||
}
|
||||
|
||||
void mach64_device::device_reset()
|
||||
{
|
||||
mach32_device::device_reset();
|
||||
}
|
||||
|
@ -112,7 +112,6 @@ public:
|
||||
DECLARE_READ16_MEMBER(ibm8514_pixel_xfer_r) { return m_8514a->ibm8514_pixel_xfer_r(space,offset,mem_mask); }
|
||||
DECLARE_WRITE16_MEMBER(ibm8514_pixel_xfer_w) { m_8514a->ibm8514_pixel_xfer_w(space,offset,data,mem_mask); }
|
||||
|
||||
// Mach32 specific handlers
|
||||
DECLARE_READ16_MEMBER(mach32_chipid_r) { return m_8514a->mach32_chipid_r(space,offset,mem_mask); }
|
||||
DECLARE_READ16_MEMBER(mach8_clksel_r) { return m_8514a->mach8_clksel_r(space,offset,mem_mask); }
|
||||
DECLARE_WRITE16_MEMBER(mach32_clksel_w) { m_8514a->mach32_clksel_w(space,offset,data,mem_mask); } // read only on the mach8
|
||||
@ -128,8 +127,46 @@ protected:
|
||||
private:
|
||||
};
|
||||
|
||||
/*
|
||||
* ATi mach64
|
||||
*/
|
||||
|
||||
// 8514/A module of the Mach64
|
||||
class mach64_8514a_device : public mach32_8514a_device
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
mach64_8514a_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
mach64_8514a_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source);
|
||||
|
||||
protected:
|
||||
virtual void device_start();
|
||||
virtual void device_reset();
|
||||
};
|
||||
|
||||
// main SVGA device
|
||||
class mach64_device : public mach32_device
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
mach64_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
mach64_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source);
|
||||
|
||||
required_device<mach64_8514a_device> m_8514a; // provides accelerated 2D drawing, derived from the Mach8 device
|
||||
|
||||
DECLARE_WRITE16_MEMBER(mach64_config1_w) { } // why does the mach64 BIOS write to these, they are read only on the mach32 and earlier
|
||||
DECLARE_WRITE16_MEMBER(mach64_config2_w) { }
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
virtual void device_start();
|
||||
virtual void device_reset();
|
||||
virtual machine_config_constructor device_mconfig_additions() const;
|
||||
};
|
||||
// device type definition
|
||||
extern const device_type ATIMACH32;
|
||||
extern const device_type ATIMACH32_8514A;
|
||||
extern const device_type ATIMACH64;
|
||||
extern const device_type ATIMACH64_8514A;
|
||||
|
||||
#endif /* MACH32_H_ */
|
||||
|
@ -7,6 +7,9 @@
|
||||
* ATi Graphics Ultra Pro ISA Video card
|
||||
* - ATi 68800-3 (Mach32, combined VGA and 8514/A)
|
||||
*
|
||||
* ATi mach64 ISA Video card
|
||||
* - ATi 88800 (Mach64, combined VGA and 8514/A)
|
||||
*
|
||||
* Created on: 9/09/2012
|
||||
*/
|
||||
|
||||
@ -26,12 +29,18 @@ ROM_START( gfxultrp )
|
||||
ROM_LOAD("gfxultrapro.bin", 0x00000, 0x8000, CRC(4e5effd7) SHA1(84ad3abf7653e4734bf39f5d5c8b88e74527e8ce) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( mach64 )
|
||||
ROM_REGION(0x8000,"mach64", 0)
|
||||
ROM_LOAD("mach64.bin", 0x00000, 0x8000, CRC(1300aa8f) SHA1(dfc7f817900f125b89b0bda16fcb205f066a47fc) )
|
||||
ROM_END
|
||||
|
||||
//**************************************************************************
|
||||
// GLOBAL VARIABLES
|
||||
//**************************************************************************
|
||||
|
||||
const device_type ISA16_VGA_GFXULTRA = &device_creator<isa16_vga_gfxultra_device>;
|
||||
const device_type ISA16_SVGA_GFXULTRAPRO = &device_creator<isa16_vga_gfxultrapro_device>;
|
||||
const device_type ISA16_SVGA_MACH64 = &device_creator<isa16_vga_mach64_device>;
|
||||
|
||||
static MACHINE_CONFIG_FRAGMENT( vga_ati )
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
@ -53,6 +62,16 @@ static MACHINE_CONFIG_FRAGMENT( vga_mach32 )
|
||||
MCFG_DEVICE_ADD("vga", ATIMACH32, 0)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
static MACHINE_CONFIG_FRAGMENT( vga_mach64 )
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
MCFG_SCREEN_RAW_PARAMS(XTAL_25_1748MHz,900,0,640,526,0,480)
|
||||
MCFG_SCREEN_UPDATE_DEVICE("vga", mach64_device, screen_update)
|
||||
|
||||
MCFG_PALETTE_ADD("palette", 0x100)
|
||||
|
||||
MCFG_DEVICE_ADD("vga", ATIMACH64, 0)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
//-------------------------------------------------
|
||||
// machine_config_additions - device-specific
|
||||
// machine configurations
|
||||
@ -68,6 +87,11 @@ machine_config_constructor isa16_vga_gfxultrapro_device::device_mconfig_addition
|
||||
return MACHINE_CONFIG_NAME( vga_mach32 );
|
||||
}
|
||||
|
||||
machine_config_constructor isa16_vga_mach64_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( vga_mach64 );
|
||||
}
|
||||
|
||||
//-------------------------------------------------
|
||||
// rom_region - device-specific ROM region
|
||||
//-------------------------------------------------
|
||||
@ -82,6 +106,11 @@ const rom_entry *isa16_vga_gfxultrapro_device::device_rom_region() const
|
||||
return ROM_NAME( gfxultrp );
|
||||
}
|
||||
|
||||
const rom_entry *isa16_vga_mach64_device::device_rom_region() const
|
||||
{
|
||||
return ROM_NAME( mach64 );
|
||||
}
|
||||
|
||||
//**************************************************************************
|
||||
// LIVE DEVICE
|
||||
//**************************************************************************
|
||||
@ -102,11 +131,18 @@ isa16_vga_gfxultrapro_device::isa16_vga_gfxultrapro_device(const machine_config
|
||||
{
|
||||
}
|
||||
|
||||
isa16_vga_mach64_device::isa16_vga_mach64_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) :
|
||||
device_t(mconfig, ISA16_SVGA_MACH64, "ATi mach64 Card", tag, owner, clock, "mach64", __FILE__),
|
||||
device_isa16_card_interface(mconfig, *this)
|
||||
{
|
||||
}
|
||||
|
||||
//-------------------------------------------------
|
||||
// device_start - device-specific startup
|
||||
//-------------------------------------------------
|
||||
READ8_MEMBER(isa16_vga_gfxultra_device::input_port_0_r ) { return 0xff; } //return space.machine().root_device().ioport("IN0")->read(); }
|
||||
READ8_MEMBER(isa16_vga_gfxultrapro_device::input_port_0_r ) { return 0xff; } //return space.machine().root_device().ioport("IN0")->read(); }
|
||||
READ8_MEMBER(isa16_vga_mach64_device::input_port_0_r ) { return 0xff; } //return space.machine().root_device().ioport("IN0")->read(); }
|
||||
|
||||
void isa16_vga_gfxultra_device::device_start()
|
||||
{
|
||||
@ -216,6 +252,61 @@ void isa16_vga_gfxultrapro_device::device_start()
|
||||
m_isa->install_memory(0xa0000, 0xbffff, 0, 0, read8_delegate(FUNC(mach32_device::mem_r),m_vga), write8_delegate(FUNC(mach32_device::mem_w),m_vga));
|
||||
}
|
||||
|
||||
void isa16_vga_mach64_device::device_start()
|
||||
{
|
||||
set_isa_device();
|
||||
|
||||
m_vga = subdevice<mach64_device>("vga");
|
||||
|
||||
m_isa->install_rom(this, 0xc0000, 0xc7fff, 0, 0, "vga", "mach64");
|
||||
|
||||
m_isa->install_device(0x1ce, 0x1cf, 0, 0, read8_delegate(FUNC(mach64_device::ati_port_ext_r),m_vga), write8_delegate(FUNC(mach64_device::ati_port_ext_w),m_vga));
|
||||
m_isa->install16_device(0x2e8, 0x2eb, 0, 0, read16_delegate(FUNC(mach64_device::mach32_status_r),m_vga), write16_delegate(FUNC(mach64_device::ibm8514_htotal_w),m_vga));
|
||||
m_isa->install_device(0x3b0, 0x3bf, 0, 0, read8_delegate(FUNC(mach64_device::port_03b0_r),m_vga), write8_delegate(FUNC(mach64_device::port_03b0_w),m_vga));
|
||||
m_isa->install_device(0x3c0, 0x3cf, 0, 0, read8_delegate(FUNC(mach64_device::port_03c0_r),m_vga), write8_delegate(FUNC(mach64_device::port_03c0_w),m_vga));
|
||||
m_isa->install_device(0x3d0, 0x3df, 0, 0, read8_delegate(FUNC(mach64_device::port_03d0_r),m_vga), write8_delegate(FUNC(mach64_device::port_03d0_w),m_vga));
|
||||
m_isa->install16_device(0x12e8, 0x12eb, 0, 0, read16_delegate(FUNC(mach64_device::ibm8514_vtotal_r),m_vga), write16_delegate(FUNC(mach64_device::ibm8514_vtotal_w),m_vga));
|
||||
m_isa->install16_device(0x12ec, 0x12ef, 0, 0, read16_delegate(FUNC(mach64_device::mach8_config1_r),m_vga), write16_delegate(FUNC(mach64_device::mach64_config1_w),m_vga));
|
||||
m_isa->install16_device(0x16e8, 0x16eb, 0, 0, read16_delegate(FUNC(mach64_device::ibm8514_vdisp_r),m_vga), write16_delegate(FUNC(mach64_device::ibm8514_vdisp_w),m_vga));
|
||||
m_isa->install16_device(0x16ec, 0x16ef, 0, 0, read16_delegate(FUNC(mach64_device::mach8_config2_r),m_vga), write16_delegate(FUNC(mach64_device::mach64_config2_w),m_vga));
|
||||
m_isa->install16_device(0x1ae8, 0x1aeb, 0, 0, read16_delegate(FUNC(mach64_device::ibm8514_vsync_r),m_vga), write16_delegate(FUNC(mach64_device::ibm8514_vsync_w),m_vga));
|
||||
m_isa->install16_device(0x26e8, 0x26eb, 0, 0, read16_delegate(FUNC(mach64_device::ibm8514_htotal_r),m_vga),write16_delegate());
|
||||
m_isa->install16_device(0x2ee8, 0x2eeb, 0, 0, read16_delegate(FUNC(mach64_device::ibm8514_subcontrol_r),m_vga),write16_delegate());
|
||||
m_isa->install16_device(0x42e8, 0x42eb, 0, 0, read16_delegate(FUNC(mach64_device::ibm8514_substatus_r),m_vga), write16_delegate(FUNC(mach64_device::ibm8514_subcontrol_w),m_vga));
|
||||
m_isa->install16_device(0x42ec, 0x42ef, 0, 0, read16_delegate(FUNC(mach64_device::mach32_mem_boundary_r),m_vga), write16_delegate(FUNC(mach64_device::mach32_mem_boundary_w),m_vga));
|
||||
m_isa->install16_device(0x4aec, 0x4aef, 0, 0, read16_delegate(FUNC(mach64_device::mach8_clksel_r),m_vga), write16_delegate(FUNC(mach64_device::mach32_clksel_w),m_vga));
|
||||
m_isa->install16_device(0x52e8, 0x52eb, 0, 0, read16_delegate(FUNC(mach64_device::mach8_ec0_r),m_vga), write16_delegate(FUNC(mach64_device::mach8_ec0_w),m_vga));
|
||||
m_isa->install16_device(0x52ec, 0x52ef, 0, 0, read16_delegate(FUNC(mach64_device::mach8_scratch0_r),m_vga), write16_delegate(FUNC(mach64_device::mach8_scratch0_w),m_vga));
|
||||
m_isa->install16_device(0x56e8, 0x56eb, 0, 0, read16_delegate(FUNC(mach64_device::mach8_ec1_r),m_vga), write16_delegate(FUNC(mach64_device::mach8_ec1_w),m_vga));
|
||||
m_isa->install16_device(0x56ec, 0x56ef, 0, 0, read16_delegate(FUNC(mach64_device::mach8_scratch0_r),m_vga), write16_delegate(FUNC(mach64_device::mach8_scratch0_w),m_vga));
|
||||
m_isa->install16_device(0x5ae8, 0x5aeb, 0, 0, read16_delegate(FUNC(mach64_device::mach8_ec2_r),m_vga), write16_delegate(FUNC(mach64_device::mach8_ec2_w),m_vga));
|
||||
m_isa->install16_device(0x5ee8, 0x5eeb, 0, 0, read16_delegate(FUNC(mach64_device::mach8_ec3_r),m_vga), write16_delegate(FUNC(mach64_device::mach8_ec3_w),m_vga));
|
||||
m_isa->install16_device(0x82e8, 0x82eb, 0, 0, read16_delegate(FUNC(mach64_device::ibm8514_currenty_r),m_vga), write16_delegate(FUNC(mach64_device::ibm8514_currenty_w),m_vga));
|
||||
m_isa->install16_device(0x86e8, 0x86eb, 0, 0, read16_delegate(FUNC(mach64_device::ibm8514_currentx_r),m_vga), write16_delegate(FUNC(mach64_device::ibm8514_currentx_w),m_vga));
|
||||
m_isa->install16_device(0x8ae8, 0x8aeb, 0, 0, read16_delegate(FUNC(mach64_device::ibm8514_desty_r),m_vga), write16_delegate(FUNC(mach64_device::ibm8514_desty_w),m_vga));
|
||||
m_isa->install16_device(0x8ee8, 0x8eeb, 0, 0, read16_delegate(FUNC(mach64_device::ibm8514_destx_r),m_vga), write16_delegate(FUNC(mach64_device::ibm8514_destx_w),m_vga));
|
||||
m_isa->install16_device(0x92e8, 0x92eb, 0, 0, read16_delegate(FUNC(mach64_device::ibm8514_line_error_r),m_vga), write16_delegate(FUNC(mach64_device::ibm8514_line_error_w),m_vga));
|
||||
m_isa->install16_device(0x96e8, 0x96eb, 0, 0, read16_delegate(FUNC(mach64_device::ibm8514_width_r),m_vga), write16_delegate(FUNC(mach64_device::ibm8514_width_w),m_vga));
|
||||
m_isa->install16_device(0x96ec, 0x96ef, 0, 0, read16_delegate(FUNC(mach64_device::mach8_bresenham_count_r),m_vga), write16_delegate(FUNC(mach64_device::mach8_bresenham_count_w),m_vga));
|
||||
m_isa->install16_device(0x9ae8, 0x9aeb, 0, 0, read16_delegate(FUNC(mach64_device::ibm8514_gpstatus_r),m_vga), write16_delegate(FUNC(mach64_device::ibm8514_cmd_w),m_vga));
|
||||
m_isa->install16_device(0x9aec, 0x9aef, 0, 0, read16_delegate(FUNC(mach64_device::mach8_ext_fifo_r),m_vga), write16_delegate(FUNC(mach64_device::mach8_linedraw_index_w),m_vga));
|
||||
m_isa->install16_device(0x9ee8, 0x9eeb, 0, 0, read16_delegate(FUNC(mach64_device::ibm8514_ssv_r),m_vga), write16_delegate(FUNC(mach64_device::ibm8514_ssv_w),m_vga));
|
||||
m_isa->install16_device(0xa2e8, 0xa2eb, 0, 0, read16_delegate(FUNC(mach64_device::ibm8514_bgcolour_r),m_vga), write16_delegate(FUNC(mach64_device::ibm8514_bgcolour_w),m_vga));
|
||||
m_isa->install16_device(0xa6e8, 0xa6eb, 0, 0, read16_delegate(FUNC(mach64_device::ibm8514_fgcolour_r),m_vga), write16_delegate(FUNC(mach64_device::ibm8514_fgcolour_w),m_vga));
|
||||
m_isa->install16_device(0xaae8, 0xaaeb, 0, 0, read16_delegate(FUNC(mach64_device::ibm8514_write_mask_r),m_vga), write16_delegate(FUNC(mach64_device::ibm8514_write_mask_w),m_vga));
|
||||
m_isa->install16_device(0xaee8, 0xaeeb, 0, 0, read16_delegate(FUNC(mach64_device::ibm8514_read_mask_r),m_vga), write16_delegate(FUNC(mach64_device::ibm8514_read_mask_w),m_vga));
|
||||
m_isa->install16_device(0xb6e8, 0xb6eb, 0, 0, read16_delegate(FUNC(mach64_device::ibm8514_backmix_r),m_vga), write16_delegate(FUNC(mach64_device::ibm8514_backmix_w),m_vga));
|
||||
m_isa->install16_device(0xbae8, 0xbaeb, 0, 0, read16_delegate(FUNC(mach64_device::ibm8514_foremix_r),m_vga), write16_delegate(FUNC(mach64_device::ibm8514_foremix_w),m_vga));
|
||||
m_isa->install16_device(0xbee8, 0xbeeb, 0, 0, read16_delegate(FUNC(mach64_device::ibm8514_multifunc_r),m_vga), write16_delegate(FUNC(mach64_device::ibm8514_multifunc_w),m_vga));
|
||||
m_isa->install16_device(0xe2e8, 0xe2eb, 0, 0, read16_delegate(FUNC(mach64_device::ibm8514_pixel_xfer_r),m_vga), write16_delegate(FUNC(mach64_device::ibm8514_pixel_xfer_w),m_vga));
|
||||
m_isa->install16_device(0xdaec, 0xdaef, 0, 0, read16_delegate(FUNC(mach64_device::mach8_sourcex_r),m_vga), write16_delegate(FUNC(mach64_device::mach8_ext_leftscissor_w),m_vga));
|
||||
m_isa->install16_device(0xdeec, 0xdeef, 0, 0, read16_delegate(FUNC(mach64_device::mach8_sourcey_r),m_vga), write16_delegate(FUNC(mach64_device::mach8_ext_topscissor_w),m_vga));
|
||||
m_isa->install16_device(0xfaec, 0xfaef, 0, 0, read16_delegate(FUNC(mach64_device::mach32_chipid_r),m_vga), write16_delegate());
|
||||
m_isa->install16_device(0xfeec, 0xfeef, 0, 0, read16_delegate(FUNC(mach64_device::mach8_linedraw_r),m_vga), write16_delegate(FUNC(mach64_device::mach8_linedraw_w),m_vga));
|
||||
|
||||
m_isa->install_memory(0xa0000, 0xbffff, 0, 0, read8_delegate(FUNC(mach64_device::mem_r),m_vga), write8_delegate(FUNC(mach64_device::mem_w),m_vga));
|
||||
}
|
||||
|
||||
//-------------------------------------------------
|
||||
// device_reset - device-specific reset
|
||||
//-------------------------------------------------
|
||||
@ -227,3 +318,7 @@ void isa16_vga_gfxultra_device::device_reset()
|
||||
void isa16_vga_gfxultrapro_device::device_reset()
|
||||
{
|
||||
}
|
||||
|
||||
void isa16_vga_mach64_device::device_reset()
|
||||
{
|
||||
}
|
||||
|
@ -64,10 +64,32 @@ private:
|
||||
mach32_device *m_vga;
|
||||
};
|
||||
|
||||
class isa16_vga_mach64_device :
|
||||
public device_t,
|
||||
public device_isa16_card_interface
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
isa16_vga_mach64_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
|
||||
// optional information overrides
|
||||
virtual machine_config_constructor device_mconfig_additions() const;
|
||||
virtual const rom_entry *device_rom_region() const;
|
||||
|
||||
DECLARE_READ8_MEMBER(input_port_0_r);
|
||||
protected:
|
||||
// device-level overrides
|
||||
virtual void device_start();
|
||||
virtual void device_reset();
|
||||
private:
|
||||
mach64_device *m_vga;
|
||||
};
|
||||
|
||||
|
||||
// device type definition
|
||||
extern const device_type ISA16_VGA_GFXULTRA;
|
||||
extern const device_type ISA16_SVGA_GFXULTRAPRO;
|
||||
extern const device_type ISA16_SVGA_MACH64;
|
||||
|
||||
|
||||
#endif /* ISA_VGA_ATI_H_ */
|
||||
|
Loading…
Reference in New Issue
Block a user