Converted VGA to be multiple devices, this will require some cleanup in future (no whatsnew)

This commit is contained in:
Miodrag Milanovic 2012-10-01 11:44:29 +00:00
parent 2130d6d36a
commit 3872f24828
31 changed files with 1016 additions and 769 deletions

File diff suppressed because it is too large Load Diff

View File

@ -10,132 +10,319 @@
#define PC_VGA_H #define PC_VGA_H
MACHINE_CONFIG_EXTERN( pcvideo_vga ); MACHINE_CONFIG_EXTERN( pcvideo_vga );
MACHINE_CONFIG_EXTERN( pcvideo_vga_isa ); MACHINE_CONFIG_EXTERN( pcvideo_trident_vga );
MACHINE_CONFIG_EXTERN( pcvideo_s3_isa ); MACHINE_CONFIG_EXTERN( pcvideo_gamtor_vga );
MACHINE_CONFIG_EXTERN( pcvideo_ati_isa ); MACHINE_CONFIG_EXTERN( pcvideo_cirrus_vga );
VIDEO_START( vga ); // ======================> vga_device
void pc_vga_init(running_machine &machine, read8_delegate read_dipswitch);
void pc_vga_cirrus_init(running_machine &machine, read8_delegate read_dipswitch);
void pc_vga_reset(running_machine &machine);
void pc_video_start(running_machine &machine);
void s3_video_start(running_machine &machine);
DECLARE_READ8_HANDLER(vga_port_03b0_r); class vga_device : public device_t
DECLARE_READ8_HANDLER(vga_port_03c0_r); {
DECLARE_READ8_HANDLER(vga_port_03d0_r); public:
DECLARE_READ8_HANDLER(vga_mem_r); // construction/destruction
DECLARE_READ8_HANDLER(vga_mem_linear_r); vga_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
DECLARE_WRITE8_HANDLER(vga_port_03b0_w); vga_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock);
DECLARE_WRITE8_HANDLER(vga_port_03c0_w);
DECLARE_WRITE8_HANDLER(vga_port_03d0_w);
DECLARE_WRITE8_HANDLER(vga_mem_w);
DECLARE_WRITE8_HANDLER(vga_mem_linear_w);
/* per-device implementations */
DECLARE_READ8_HANDLER(tseng_et4k_03b0_r);
DECLARE_WRITE8_HANDLER(tseng_et4k_03b0_w);
DECLARE_READ8_HANDLER(tseng_et4k_03c0_r);
DECLARE_WRITE8_HANDLER(tseng_et4k_03c0_w);
DECLARE_READ8_HANDLER(tseng_et4k_03d0_r);
DECLARE_WRITE8_HANDLER(tseng_et4k_03d0_w);
DECLARE_READ8_HANDLER(tseng_mem_r);
DECLARE_WRITE8_HANDLER(tseng_mem_w);
DECLARE_READ8_HANDLER(trident_03c0_r); virtual UINT32 screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
DECLARE_WRITE8_HANDLER(trident_03c0_w);
DECLARE_READ8_HANDLER(trident_03d0_r); virtual READ8_MEMBER(port_03b0_r);
DECLARE_WRITE8_HANDLER(trident_03d0_w); virtual WRITE8_MEMBER(port_03b0_w);
DECLARE_READ8_HANDLER(trident_mem_r); virtual READ8_MEMBER(port_03c0_r);
DECLARE_WRITE8_HANDLER(trident_mem_w); virtual WRITE8_MEMBER(port_03c0_w);
virtual READ8_MEMBER(port_03d0_r);
virtual WRITE8_MEMBER(port_03d0_w);
virtual READ8_MEMBER(mem_r);
virtual WRITE8_MEMBER(mem_w);
virtual READ8_MEMBER(mem_linear_r);
virtual WRITE8_MEMBER(mem_linear_w);
protected:
// device-level overrides
virtual void device_start();
virtual void device_reset();
DECLARE_READ8_HANDLER(s3_port_03b0_r); void vga_vh_text(bitmap_rgb32 &bitmap, const rectangle &cliprect);
DECLARE_WRITE8_HANDLER(s3_port_03b0_w); void vga_vh_ega(bitmap_rgb32 &bitmap, const rectangle &cliprect);
DECLARE_READ8_HANDLER(s3_port_03c0_r); void vga_vh_vga(bitmap_rgb32 &bitmap, const rectangle &cliprect);
DECLARE_WRITE8_HANDLER(s3_port_03c0_w); void vga_vh_cga(bitmap_rgb32 &bitmap, const rectangle &cliprect);
DECLARE_READ8_HANDLER(s3_port_03d0_r); void vga_vh_mono(bitmap_rgb32 &bitmap, const rectangle &cliprect);
DECLARE_WRITE8_HANDLER(s3_port_03d0_w); virtual UINT8 pc_vga_choosevideomode();
DECLARE_READ16_HANDLER(s3_gpstatus_r); void recompute_params_clock(int divisor, int xtal);
DECLARE_WRITE16_HANDLER(s3_cmd_w); UINT8 crtc_reg_read(UINT8 index);
DECLARE_READ16_HANDLER(ibm8514_ssv_r); void recompute_params();
DECLARE_WRITE16_HANDLER(ibm8514_ssv_w); void crtc_reg_write(UINT8 index, UINT8 data);
DECLARE_READ16_HANDLER(ibm8514_desty_r); void seq_reg_write(UINT8 index, UINT8 data);
DECLARE_WRITE16_HANDLER(ibm8514_desty_w); UINT8 vga_vblank();
DECLARE_READ16_HANDLER(ibm8514_destx_r); READ8_MEMBER(vga_crtc_r);
DECLARE_WRITE16_HANDLER(ibm8514_destx_w); WRITE8_MEMBER(vga_crtc_w);
DECLARE_READ16_HANDLER(ibm8514_currentx_r); UINT8 gc_reg_read(UINT8 index);
DECLARE_WRITE16_HANDLER(ibm8514_currentx_w); void attribute_reg_write(UINT8 index, UINT8 data);
DECLARE_READ16_HANDLER(ibm8514_currenty_r); void gc_reg_write(UINT8 index,UINT8 data);
DECLARE_WRITE16_HANDLER(ibm8514_currenty_w); private:
DECLARE_READ16_HANDLER(s3_line_error_r); inline UINT8 rotate_right(UINT8 val);
DECLARE_WRITE16_HANDLER(s3_line_error_w); inline UINT8 vga_logical_op(UINT8 data, UINT8 plane, UINT8 mask);
DECLARE_READ16_HANDLER(s3_width_r); inline UINT8 vga_latch_write(int offs, UINT8 data);
DECLARE_WRITE16_HANDLER(s3_width_w); };
DECLARE_READ16_HANDLER(s3_multifunc_r);
DECLARE_WRITE16_HANDLER(s3_multifunc_w);
DECLARE_READ16_HANDLER(s3_fgcolour_r);
DECLARE_WRITE16_HANDLER(s3_fgcolour_w);
DECLARE_READ16_HANDLER(s3_bgcolour_r);
DECLARE_WRITE16_HANDLER(s3_bgcolour_w);
DECLARE_READ16_HANDLER(s3_backmix_r);
DECLARE_WRITE16_HANDLER(s3_backmix_w);
DECLARE_READ16_HANDLER(s3_foremix_r);
DECLARE_WRITE16_HANDLER(s3_foremix_w);
DECLARE_READ16_HANDLER(s3_pixel_xfer_r);
DECLARE_WRITE16_HANDLER(s3_pixel_xfer_w);
DECLARE_READ8_HANDLER(s3_mem_r);
DECLARE_WRITE8_HANDLER(s3_mem_w);
DECLARE_READ8_HANDLER( ati_port_03c0_r );
DECLARE_READ8_DEVICE_HANDLER(ati_port_ext_r);
DECLARE_WRITE8_DEVICE_HANDLER(ati_port_ext_w);
DECLARE_READ16_HANDLER(ibm8514_gpstatus_r);
DECLARE_WRITE16_HANDLER(ibm8514_cmd_w);
DECLARE_READ16_HANDLER(mach8_ext_fifo_r);
DECLARE_WRITE16_HANDLER(mach8_linedraw_index_w);
DECLARE_READ16_HANDLER(mach8_bresenham_count_r);
DECLARE_WRITE16_HANDLER(mach8_bresenham_count_w);
DECLARE_READ16_HANDLER(mach8_scratch0_r);
DECLARE_WRITE16_HANDLER(mach8_scratch0_w);
DECLARE_READ16_HANDLER(mach8_scratch1_r);
DECLARE_WRITE16_HANDLER(mach8_scratch1_w);
DECLARE_READ16_HANDLER(mach8_config1_r);
DECLARE_READ16_HANDLER(mach8_config2_r);
DECLARE_READ16_HANDLER(ibm8514_status_r);
DECLARE_READ16_HANDLER(ibm8514_substatus_r);
DECLARE_WRITE16_HANDLER(ibm8514_subcontrol_w);
DECLARE_READ16_HANDLER(ibm8514_subcontrol_r);
DECLARE_READ16_HANDLER(ibm8514_htotal_r);
DECLARE_WRITE16_HANDLER(ibm8514_htotal_w);
DECLARE_READ16_HANDLER(ibm8514_vtotal_r);
DECLARE_WRITE16_HANDLER(ibm8514_vtotal_w);
DECLARE_READ16_HANDLER(ibm8514_vdisp_r);
DECLARE_WRITE16_HANDLER(ibm8514_vdisp_w);
DECLARE_READ16_HANDLER(ibm8514_vsync_r);
DECLARE_WRITE16_HANDLER(ibm8514_vsync_w);
DECLARE_WRITE16_HANDLER(mach8_linedraw_w);
DECLARE_READ16_HANDLER(mach8_ec0_r);
DECLARE_WRITE16_HANDLER(mach8_ec0_w);
DECLARE_READ16_HANDLER(mach8_ec1_r);
DECLARE_WRITE16_HANDLER(mach8_ec1_w);
DECLARE_READ16_HANDLER(mach8_ec2_r);
DECLARE_WRITE16_HANDLER(mach8_ec2_w);
DECLARE_READ16_HANDLER(mach8_ec3_r);
DECLARE_WRITE16_HANDLER(mach8_ec3_w);
DECLARE_READ8_HANDLER(ati_mem_r);
DECLARE_WRITE8_HANDLER(ati_mem_w);
DECLARE_READ8_HANDLER(cirrus_03c0_r); // device type definition
DECLARE_WRITE8_HANDLER(cirrus_03c0_w); extern const device_type VGA;
DECLARE_READ8_HANDLER(vga_gamtor_mem_r); // ======================> svga_device
DECLARE_WRITE8_HANDLER(vga_gamtor_mem_w);
DECLARE_READ8_HANDLER(vga_port_gamtor_03b0_r); class svga_device : public vga_device
DECLARE_WRITE8_HANDLER(vga_port_gamtor_03b0_w); {
DECLARE_READ8_HANDLER(vga_port_gamtor_03c0_r); public:
DECLARE_WRITE8_HANDLER(vga_port_gamtor_03c0_w); // construction/destruction
DECLARE_READ8_HANDLER(vga_port_gamtor_03d0_r); svga_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock);
DECLARE_WRITE8_HANDLER(vga_port_gamtor_03d0_w);
virtual UINT32 screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
protected:
void svga_vh_rgb8(bitmap_rgb32 &bitmap, const rectangle &cliprect);
void svga_vh_rgb15(bitmap_rgb32 &bitmap, const rectangle &cliprect);
void svga_vh_rgb16(bitmap_rgb32 &bitmap, const rectangle &cliprect);
void svga_vh_rgb24(bitmap_rgb32 &bitmap, const rectangle &cliprect);
void svga_vh_rgb32(bitmap_rgb32 &bitmap, const rectangle &cliprect);
virtual UINT8 pc_vga_choosevideomode();
private:
};
// ======================> tseng_vga_device
class tseng_vga_device : public svga_device
{
public:
// construction/destruction
tseng_vga_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
virtual READ8_MEMBER(port_03b0_r);
virtual WRITE8_MEMBER(port_03b0_w);
virtual READ8_MEMBER(port_03c0_r);
virtual WRITE8_MEMBER(port_03c0_w);
virtual READ8_MEMBER(port_03d0_r);
virtual WRITE8_MEMBER(port_03d0_w);
virtual READ8_MEMBER(mem_r);
virtual WRITE8_MEMBER(mem_w);
protected:
private:
void tseng_define_video_mode();
UINT8 tseng_crtc_reg_read(UINT8 index);
void tseng_crtc_reg_write(UINT8 index, UINT8 data);
UINT8 tseng_seq_reg_read(UINT8 index);
void tseng_seq_reg_write(UINT8 index, UINT8 data);
};
// device type definition
extern const device_type TSENG_VGA;
// ======================> trident_vga_device
class trident_vga_device : public svga_device
{
public:
// construction/destruction
trident_vga_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
virtual READ8_MEMBER(port_03c0_r);
virtual WRITE8_MEMBER(port_03c0_w);
virtual READ8_MEMBER(port_03d0_r);
virtual WRITE8_MEMBER(port_03d0_w);
virtual READ8_MEMBER(mem_r);
virtual WRITE8_MEMBER(mem_w);
protected:
private:
UINT8 trident_seq_reg_read(UINT8 index);
void trident_seq_reg_write(UINT8 index, UINT8 data);
};
// device type definition
extern const device_type TRIDENT_VGA;
// ======================> s3_vga_device
class s3_vga_device : public svga_device
{
public:
// construction/destruction
s3_vga_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
s3_vga_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock);
virtual READ8_MEMBER(port_03b0_r);
virtual WRITE8_MEMBER(port_03b0_w);
virtual READ8_MEMBER(port_03c0_r);
virtual WRITE8_MEMBER(port_03c0_w);
virtual READ8_MEMBER(port_03d0_r);
virtual WRITE8_MEMBER(port_03d0_w);
virtual READ8_MEMBER(mem_r);
virtual WRITE8_MEMBER(mem_w);
virtual UINT32 screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
READ16_MEMBER(s3_line_error_r);
WRITE16_MEMBER(s3_line_error_w);
READ16_MEMBER(ibm8514_gpstatus_r);
READ16_MEMBER(s3_gpstatus_r);
WRITE16_MEMBER(ibm8514_cmd_w);
WRITE16_MEMBER(s3_cmd_w);
READ16_MEMBER(ibm8514_desty_r);
WRITE16_MEMBER(ibm8514_desty_w);
READ16_MEMBER(ibm8514_destx_r);
WRITE16_MEMBER(ibm8514_destx_w);
READ16_MEMBER(ibm8514_ssv_r);
WRITE16_MEMBER(ibm8514_ssv_w);
READ16_MEMBER(s3_width_r);
WRITE16_MEMBER(s3_width_w);
READ16_MEMBER(ibm8514_currentx_r);
WRITE16_MEMBER(ibm8514_currentx_w);
READ16_MEMBER(ibm8514_currenty_r);
WRITE16_MEMBER(ibm8514_currenty_w);
READ16_MEMBER(s3_fgcolour_r);
WRITE16_MEMBER(s3_fgcolour_w);
READ16_MEMBER(s3_bgcolour_r);
WRITE16_MEMBER(s3_bgcolour_w);
READ16_MEMBER(s3_multifunc_r);
WRITE16_MEMBER(s3_multifunc_w);
READ16_MEMBER(s3_backmix_r);
WRITE16_MEMBER(s3_backmix_w);
READ16_MEMBER(s3_foremix_r);
WRITE16_MEMBER(s3_foremix_w);
READ16_MEMBER(s3_pixel_xfer_r);
WRITE16_MEMBER(s3_pixel_xfer_w);
protected:
// device-level overrides
virtual void device_start();
private:
UINT8 s3_crtc_reg_read(UINT8 index);
void s3_define_video_mode(void);
void s3_crtc_reg_write(UINT8 index, UINT8 data);
void s3_write_fg(UINT32 offset);
void s3_write_bg(UINT32 offset);
void s3_write(UINT32 offset, UINT32 src);
void ibm8514_draw_vector(UINT8 len, UINT8 dir, bool draw);
void ibm8514_wait_draw_ssv();
void ibm8514_draw_ssv(UINT8 data);
void ibm8514_wait_draw_vector();
void s3_wait_draw();
};
// device type definition
extern const device_type S3_VGA;
// ======================> gamtor_vga_device
class gamtor_vga_device : public svga_device
{
public:
// construction/destruction
gamtor_vga_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
virtual READ8_MEMBER(port_03b0_r);
virtual WRITE8_MEMBER(port_03b0_w);
virtual READ8_MEMBER(port_03c0_r);
virtual WRITE8_MEMBER(port_03c0_w);
virtual READ8_MEMBER(port_03d0_r);
virtual WRITE8_MEMBER(port_03d0_w);
virtual READ8_MEMBER(mem_r);
virtual WRITE8_MEMBER(mem_w);
protected:
private:
};
// device type definition
extern const device_type GAMTOR_VGA;
// ======================> ati_vga_device
class ati_vga_device : public s3_vga_device
{
public:
// construction/destruction
ati_vga_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
virtual READ8_MEMBER(mem_r);
virtual WRITE8_MEMBER(mem_w);
virtual READ8_MEMBER(port_03c0_r);
READ8_MEMBER(ati_port_ext_r);
WRITE8_MEMBER(ati_port_ext_w);
READ16_MEMBER(ibm8514_status_r);
WRITE16_MEMBER(ibm8514_htotal_w);
READ16_MEMBER(ibm8514_substatus_r);
WRITE16_MEMBER(ibm8514_subcontrol_w);
READ16_MEMBER(ibm8514_subcontrol_r);
READ16_MEMBER(ibm8514_htotal_r);
READ16_MEMBER(ibm8514_vtotal_r);
WRITE16_MEMBER(ibm8514_vtotal_w);
READ16_MEMBER(ibm8514_vdisp_r);
WRITE16_MEMBER(ibm8514_vdisp_w);
READ16_MEMBER(ibm8514_vsync_r);
WRITE16_MEMBER(ibm8514_vsync_w);
READ16_MEMBER(mach8_ec0_r);
WRITE16_MEMBER(mach8_ec0_w);
READ16_MEMBER(mach8_ec1_r);
WRITE16_MEMBER(mach8_ec1_w);
READ16_MEMBER(mach8_ec2_r);
WRITE16_MEMBER(mach8_ec2_w);
READ16_MEMBER(mach8_ec3_r);
WRITE16_MEMBER(mach8_ec3_w);
READ16_MEMBER(mach8_ext_fifo_r);
WRITE16_MEMBER(mach8_linedraw_index_w);
READ16_MEMBER(mach8_bresenham_count_r);
WRITE16_MEMBER(mach8_bresenham_count_w);
WRITE16_MEMBER(mach8_linedraw_w);
READ16_MEMBER(mach8_scratch0_r);
WRITE16_MEMBER(mach8_scratch0_w);
READ16_MEMBER(mach8_scratch1_r);
WRITE16_MEMBER(mach8_scratch1_w);
READ16_MEMBER(mach8_config1_r);
READ16_MEMBER(mach8_config2_r);
protected:
virtual machine_config_constructor device_mconfig_additions() const;
private:
void ati_define_video_mode();
};
// device type definition
extern const device_type ATI_VGA;
// ======================> cirrus_vga_device
class cirrus_vga_device : public svga_device
{
public:
// construction/destruction
cirrus_vga_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
virtual READ8_MEMBER(port_03c0_r);
virtual WRITE8_MEMBER(port_03c0_w);
protected:
// device-level overrides
virtual void device_start();
private:
void cirrus_define_video_mode();
UINT8 cirrus_seq_reg_read(UINT8 index);
void cirrus_seq_reg_write(UINT8 index, UINT8 data);
};
// device type definition
extern const device_type CIRRUS_VGA;
/* /*
pega notes (paradise) pega notes (paradise)
build in amstrad pc1640 build in amstrad pc1640

View File

@ -175,7 +175,6 @@ public:
DECLARE_DRIVER_INIT(calchase); DECLARE_DRIVER_INIT(calchase);
virtual void machine_start(); virtual void machine_start();
virtual void machine_reset(); virtual void machine_reset();
DECLARE_READ8_MEMBER(vga_setting);
}; };
@ -543,7 +542,7 @@ WRITE16_MEMBER(calchase_state::calchase_dac_r_w)
static ADDRESS_MAP_START( calchase_map, AS_PROGRAM, 32, calchase_state ) static ADDRESS_MAP_START( calchase_map, AS_PROGRAM, 32, calchase_state )
AM_RANGE(0x00000000, 0x0009ffff) AM_RAM AM_RANGE(0x00000000, 0x0009ffff) AM_RAM
AM_RANGE(0x000a0000, 0x000bffff) AM_READWRITE8_LEGACY(trident_mem_r, trident_mem_w, 0xffffffff) // VGA VRAM AM_RANGE(0x000a0000, 0x000bffff) AM_DEVREADWRITE8("vga", trident_vga_device, mem_r, mem_w, 0xffffffff) // VGA VRAM
AM_RANGE(0x000c0000, 0x000c7fff) AM_RAM AM_REGION("video_bios", 0) AM_RANGE(0x000c0000, 0x000c7fff) AM_RAM AM_REGION("video_bios", 0)
AM_RANGE(0x000c8000, 0x000cffff) AM_NOP AM_RANGE(0x000c8000, 0x000cffff) AM_NOP
//AM_RANGE(0x000d0000, 0x000d0003) AM_RAM // XYLINX - Sincronus serial communication //AM_RANGE(0x000d0000, 0x000d0003) AM_RAM // XYLINX - Sincronus serial communication
@ -600,9 +599,9 @@ static ADDRESS_MAP_START( calchase_io, AS_IO, 32, calchase_state )
AM_RANGE(0x02f8, 0x02ff) AM_NOP //To debug AM_RANGE(0x02f8, 0x02ff) AM_NOP //To debug
AM_RANGE(0x0320, 0x038f) AM_NOP //To debug AM_RANGE(0x0320, 0x038f) AM_NOP //To debug
AM_RANGE(0x03a0, 0x03a7) AM_NOP //To debug AM_RANGE(0x03a0, 0x03a7) AM_NOP //To debug
AM_RANGE(0x03b0, 0x03bf) AM_READWRITE8_LEGACY(vga_port_03b0_r, vga_port_03b0_w, 0xffffffff) AM_RANGE(0x03b0, 0x03bf) AM_DEVREADWRITE8("vga", trident_vga_device, port_03b0_r, port_03b0_w, 0xffffffff)
AM_RANGE(0x03c0, 0x03cf) AM_READWRITE8_LEGACY(trident_03c0_r, trident_03c0_w, 0xffffffff) AM_RANGE(0x03c0, 0x03cf) AM_DEVREADWRITE8("vga", trident_vga_device, port_03c0_r, port_03c0_w, 0xffffffff)
AM_RANGE(0x03d0, 0x03df) AM_READWRITE8_LEGACY(trident_03d0_r, trident_03d0_w, 0xffffffff) AM_RANGE(0x03d0, 0x03df) AM_DEVREADWRITE8("vga", trident_vga_device, port_03d0_r, port_03d0_w, 0xffffffff)
AM_RANGE(0x03e0, 0x03ef) AM_NOP //To debug AM_RANGE(0x03e0, 0x03ef) AM_NOP //To debug
AM_RANGE(0x0378, 0x037f) AM_NOP //To debug AM_RANGE(0x0378, 0x037f) AM_NOP //To debug
// AM_RANGE(0x0300, 0x03af) AM_NOP // AM_RANGE(0x0300, 0x03af) AM_NOP
@ -808,8 +807,6 @@ static IRQ_CALLBACK(irq_callback)
return pic8259_acknowledge( state->m_pic8259_1); return pic8259_acknowledge( state->m_pic8259_1);
} }
READ8_MEMBER( calchase_state::vga_setting ) { return 0xff; } // hard-code to color
void calchase_state::machine_start() void calchase_state::machine_start()
{ {
machine().device("maincpu")->execute().set_irq_acknowledge_callback(irq_callback); machine().device("maincpu")->execute().set_irq_acknowledge_callback(irq_callback);
@ -948,7 +945,7 @@ static MACHINE_CONFIG_START( calchase, calchase_state )
MCFG_PCI_BUS_LEGACY_DEVICE(7, NULL, intel82371ab_pci_r, intel82371ab_pci_w) MCFG_PCI_BUS_LEGACY_DEVICE(7, NULL, intel82371ab_pci_r, intel82371ab_pci_w)
/* video hardware */ /* video hardware */
MCFG_FRAGMENT_ADD( pcvideo_vga ) MCFG_FRAGMENT_ADD( pcvideo_trident_vga )
/* sound hardware */ /* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker","rspeaker") MCFG_SPEAKER_STANDARD_STEREO("lspeaker","rspeaker")
@ -980,7 +977,6 @@ DRIVER_INIT_MEMBER(calchase_state,calchase)
{ {
m_bios_ram = auto_alloc_array(machine(), UINT32, 0x20000/4); m_bios_ram = auto_alloc_array(machine(), UINT32, 0x20000/4);
pc_vga_init(machine(), read8_delegate(FUNC(calchase_state::vga_setting),this));
init_pc_common(machine(), PCCOMMON_KEYBOARD_AT, calchase_set_keyb_int); init_pc_common(machine(), PCCOMMON_KEYBOARD_AT, calchase_set_keyb_int);
intel82439tx_init(machine()); intel82439tx_init(machine());

View File

@ -103,7 +103,6 @@ public:
UINT8 m_atapi_data[ATAPI_DATA_SIZE]; UINT8 m_atapi_data[ATAPI_DATA_SIZE];
DECLARE_DRIVER_INIT(gammagic); DECLARE_DRIVER_INIT(gammagic);
DECLARE_READ8_MEMBER(vga_setting);
}; };
//static void atapi_irq(running_machine &machine, int state); //static void atapi_irq(running_machine &machine, int state);
@ -545,7 +544,7 @@ static WRITE32_HANDLER( atapi_w )
// Memory is mostly handled by the chipset // Memory is mostly handled by the chipset
static ADDRESS_MAP_START( gammagic_map, AS_PROGRAM, 32, gammagic_state ) static ADDRESS_MAP_START( gammagic_map, AS_PROGRAM, 32, gammagic_state )
AM_RANGE(0x00000000, 0x0009ffff) AM_RAM AM_RANGE(0x00000000, 0x0009ffff) AM_RAM
AM_RANGE(0x000a0000, 0x000bffff) AM_READWRITE8_LEGACY(vga_mem_r,vga_mem_w, 0xffffffff) AM_RANGE(0x000a0000, 0x000bffff) AM_DEVREADWRITE8("vga", vga_device, mem_r, mem_w, 0xffffffff)
AM_RANGE(0x00100000, 0x07ffffff) AM_RAM AM_RANGE(0x00100000, 0x07ffffff) AM_RAM
AM_RANGE(0x08000000, 0xfffdffff) AM_NOP AM_RANGE(0x08000000, 0xfffdffff) AM_NOP
AM_RANGE(0xfffe0000, 0xffffffff) AM_ROM AM_REGION("user", 0x20000)/* System BIOS */ AM_RANGE(0xfffe0000, 0xffffffff) AM_ROM AM_REGION("user", 0x20000)/* System BIOS */
@ -564,9 +563,9 @@ static ADDRESS_MAP_START( gammagic_io, AS_IO, 32, gammagic_state)
AM_RANGE(0x00f0, 0x01ef) AM_NOP AM_RANGE(0x00f0, 0x01ef) AM_NOP
//AM_RANGE(0x01f0, 0x01f7) AM_READWRITE_LEGACY(atapi_r, atapi_w) //AM_RANGE(0x01f0, 0x01f7) AM_READWRITE_LEGACY(atapi_r, atapi_w)
AM_RANGE(0x01f8, 0x03ef) AM_NOP AM_RANGE(0x01f8, 0x03ef) AM_NOP
AM_RANGE(0x03b0, 0x03bf) AM_READWRITE8_LEGACY(vga_port_03b0_r, vga_port_03b0_w, 0xffffffff) AM_RANGE(0x03b0, 0x03bf) AM_DEVREADWRITE8("vga", vga_device, port_03b0_r, port_03b0_w, 0xffffffff)
AM_RANGE(0x03c0, 0x03cf) AM_READWRITE8_LEGACY(vga_port_03c0_r, vga_port_03c0_w, 0xffffffff) AM_RANGE(0x03c0, 0x03cf) AM_DEVREADWRITE8("vga", vga_device, port_03c0_r, port_03c0_w, 0xffffffff)
AM_RANGE(0x03d0, 0x03df) AM_READWRITE8_LEGACY(vga_port_03d0_r, vga_port_03d0_w, 0xffffffff) AM_RANGE(0x03d0, 0x03df) AM_DEVREADWRITE8("vga", vga_device, port_03d0_r, port_03d0_w, 0xffffffff)
AM_RANGE(0x03f0, 0x0cf7) AM_NOP AM_RANGE(0x03f0, 0x0cf7) AM_NOP
AM_RANGE(0x0cf8, 0x0cff) AM_DEVREADWRITE("pcibus", pci_bus_device, read, write) AM_RANGE(0x0cf8, 0x0cff) AM_DEVREADWRITE("pcibus", pci_bus_device, read, write)
AM_RANGE(0x0400, 0xffff) AM_NOP AM_RANGE(0x0400, 0xffff) AM_NOP
@ -629,8 +628,6 @@ static IRQ_CALLBACK(irq_callback)
return pic8259_acknowledge( state->m_pic8259_1); return pic8259_acknowledge( state->m_pic8259_1);
} }
READ8_MEMBER( gammagic_state::vga_setting ) { return 0xff; } // hard-code to color
static MACHINE_START(gammagic) static MACHINE_START(gammagic)
{ {
gammagic_state *state = machine.driver_data<gammagic_state>(); gammagic_state *state = machine.driver_data<gammagic_state>();
@ -798,7 +795,6 @@ MACHINE_CONFIG_END
DRIVER_INIT_MEMBER(gammagic_state,gammagic) DRIVER_INIT_MEMBER(gammagic_state,gammagic)
{ {
pc_vga_init(machine(), read8_delegate(FUNC(gammagic_state::vga_setting),this));
init_pc_common(machine(), PCCOMMON_KEYBOARD_AT, gammagic_set_keyb_int); init_pc_common(machine(), PCCOMMON_KEYBOARD_AT, gammagic_set_keyb_int);
kbdc8042_init(machine(), &at8042); kbdc8042_init(machine(), &at8042);
atapi_init(machine()); atapi_init(machine());

View File

@ -35,7 +35,6 @@ public:
: driver_device(mconfig, type, tag){ } : driver_device(mconfig, type, tag){ }
DECLARE_WRITE32_MEMBER(gamtor_unk_w); DECLARE_WRITE32_MEMBER(gamtor_unk_w);
DECLARE_DRIVER_INIT(gaminator); DECLARE_DRIVER_INIT(gaminator);
DECLARE_READ8_MEMBER(vga_setting);
}; };
WRITE32_MEMBER(gaminator_state::gamtor_unk_w) WRITE32_MEMBER(gaminator_state::gamtor_unk_w)
@ -54,11 +53,11 @@ static ADDRESS_MAP_START( gaminator_map, AS_PROGRAM, 32, gaminator_state )
/* standard VGA */ /* standard VGA */
//AM_RANGE(0x40000000, 0x40000fff) AM_RAM // regs //AM_RANGE(0x40000000, 0x40000fff) AM_RAM // regs
AM_RANGE(0x400003b0, 0x400003bf) AM_READWRITE8_LEGACY(vga_port_gamtor_03b0_r, vga_port_gamtor_03b0_w, 0xffffffff) AM_RANGE(0x400003b0, 0x400003bf) AM_DEVREADWRITE8("vga", vga_device, port_03b0_r, port_03b0_w, 0xffffffff)
AM_RANGE(0x400003c0, 0x400003cf) AM_READWRITE8_LEGACY(vga_port_gamtor_03c0_r, vga_port_gamtor_03c0_w, 0xffffffff) AM_RANGE(0x400003c0, 0x400003cf) AM_DEVREADWRITE8("vga", vga_device, port_03c0_r, port_03c0_w, 0xffffffff)
AM_RANGE(0x400003d0, 0x400003df) AM_READWRITE8_LEGACY(vga_port_gamtor_03d0_r, vga_port_gamtor_03d0_w, 0xffffffff) AM_RANGE(0x400003d0, 0x400003df) AM_DEVREADWRITE8("vga", vga_device, port_03d0_r, port_03d0_w, 0xffffffff)
AM_RANGE(0x44000000, 0x4401ffff) AM_READWRITE8_LEGACY(vga_gamtor_mem_r,vga_gamtor_mem_w, 0xffffffff) // VRAM AM_RANGE(0x44000000, 0x4401ffff) AM_DEVREADWRITE8("vga", vga_device, mem_r, mem_w, 0xffffffff) // VRAM
// AM_RANGE(0x44000000, 0x44007fff) AM_RAM AM_SHARE("tmapram1") // puts strings here, looks almost like a tilemap, but where are the tiles? // AM_RANGE(0x44000000, 0x44007fff) AM_RAM AM_SHARE("tmapram1") // puts strings here, looks almost like a tilemap, but where are the tiles?
// AM_RANGE(0x440a0000, 0x440a1fff) AM_RAM AM_SHARE("tmapram2") // beetlem (like above, mirror?) // AM_RANGE(0x440a0000, 0x440a1fff) AM_RAM AM_SHARE("tmapram2") // beetlem (like above, mirror?)
@ -77,7 +76,7 @@ static MACHINE_CONFIG_START( gaminator, gaminator_state )
MCFG_CPU_PROGRAM_MAP(gaminator_map) MCFG_CPU_PROGRAM_MAP(gaminator_map)
MCFG_CPU_VBLANK_INT_DRIVER("screen", gaminator_state, irq6_line_hold) // irq6 seems to be needed to get past the ROM checking MCFG_CPU_VBLANK_INT_DRIVER("screen", gaminator_state, irq6_line_hold) // irq6 seems to be needed to get past the ROM checking
MCFG_FRAGMENT_ADD( pcvideo_vga ) MCFG_FRAGMENT_ADD( pcvideo_gamtor_vga )
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker") MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
/* unknown sound */ /* unknown sound */
@ -1253,12 +1252,8 @@ ROM_START( llcharma )
ROM_LOAD( "llc_92_5.6-0", 0x0000, 0x2000000, CRC(c8c2a5d3) SHA1(ec23eff63871cc515ec58a894446d4d639d864e4) ) ROM_LOAD( "llc_92_5.6-0", 0x0000, 0x2000000, CRC(c8c2a5d3) SHA1(ec23eff63871cc515ec58a894446d4d639d864e4) )
ROM_END ROM_END
READ8_MEMBER(gaminator_state::vga_setting ) { return 0xff; } // hard-code to color
DRIVER_INIT_MEMBER(gaminator_state,gaminator) DRIVER_INIT_MEMBER(gaminator_state,gaminator)
{ {
pc_vga_init(machine(), read8_delegate(FUNC(gaminator_state::vga_setting),this));
} }

View File

@ -100,7 +100,6 @@ public:
DECLARE_WRITE_LINE_MEMBER(at_com_interrupt_1); DECLARE_WRITE_LINE_MEMBER(at_com_interrupt_1);
DECLARE_DRIVER_INIT(magtouch); DECLARE_DRIVER_INIT(magtouch);
virtual void machine_start(); virtual void machine_start();
DECLARE_READ8_MEMBER(vga_setting);
}; };
@ -169,7 +168,7 @@ WRITE8_MEMBER(magtouch_state::magtouch_io_w)
static ADDRESS_MAP_START( magtouch_map, AS_PROGRAM, 32, magtouch_state ) static ADDRESS_MAP_START( magtouch_map, AS_PROGRAM, 32, magtouch_state )
AM_RANGE(0x00000000, 0x0009ffff) AM_RAM AM_RANGE(0x00000000, 0x0009ffff) AM_RAM
AM_RANGE(0x000a0000, 0x000bffff) AM_READWRITE8_LEGACY(vga_mem_r,vga_mem_w, 0xffffffff) AM_RANGE(0x000a0000, 0x000bffff) AM_DEVREADWRITE8("vga", vga_device, mem_r, mem_w, 0xffffffff)
AM_RANGE(0x000c0000, 0x000c7fff) AM_ROM AM_REGION("video_bios", 0) AM_RANGE(0x000c0000, 0x000c7fff) AM_ROM AM_REGION("video_bios", 0)
AM_RANGE(0x000d8000, 0x000dffff) AM_ROMBANK("rombank") AM_RANGE(0x000d8000, 0x000dffff) AM_ROMBANK("rombank")
AM_RANGE(0x000f0000, 0x000fffff) AM_RAM AM_REGION("bios", 0 ) AM_RANGE(0x000f0000, 0x000fffff) AM_RAM AM_REGION("bios", 0 )
@ -180,9 +179,9 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( magtouch_io, AS_IO, 32, magtouch_state ) static ADDRESS_MAP_START( magtouch_io, AS_IO, 32, magtouch_state )
AM_IMPORT_FROM(pcat32_io_common) AM_IMPORT_FROM(pcat32_io_common)
AM_RANGE(0x02e0, 0x02e7) AM_READWRITE8(magtouch_io_r, magtouch_io_w, 0xffffffff) AM_RANGE(0x02e0, 0x02e7) AM_READWRITE8(magtouch_io_r, magtouch_io_w, 0xffffffff)
AM_RANGE(0x03b0, 0x03bf) AM_READWRITE8_LEGACY(vga_port_03b0_r, vga_port_03b0_w, 0xffffffff) AM_RANGE(0x03b0, 0x03bf) AM_DEVREADWRITE8("vga", vga_device, port_03b0_r, port_03b0_w, 0xffffffff)
AM_RANGE(0x03c0, 0x03cf) AM_READWRITE8_LEGACY(vga_port_03c0_r, vga_port_03c0_w, 0xffffffff) AM_RANGE(0x03c0, 0x03cf) AM_DEVREADWRITE8("vga", vga_device, port_03c0_r, port_03c0_w, 0xffffffff)
AM_RANGE(0x03d0, 0x03df) AM_READWRITE8_LEGACY(vga_port_03d0_r, vga_port_03d0_w, 0xffffffff) AM_RANGE(0x03d0, 0x03df) AM_DEVREADWRITE8("vga", vga_device, port_03d0_r, port_03d0_w, 0xffffffff)
AM_RANGE(0x03f8, 0x03ff) AM_DEVREADWRITE8("ns16450_0", ns16450_device, ins8250_r, ins8250_w, 0xffffffff) AM_RANGE(0x03f8, 0x03ff) AM_DEVREADWRITE8("ns16450_0", ns16450_device, ins8250_r, ins8250_w, 0xffffffff)
ADDRESS_MAP_END ADDRESS_MAP_END
@ -200,8 +199,6 @@ static void magtouch_set_keyb_int(running_machine &machine, int state)
pic8259_ir1_w(machine.device("pic8259_1"), state); pic8259_ir1_w(machine.device("pic8259_1"), state);
} }
READ8_MEMBER( magtouch_state::vga_setting ) { return 0xff; } // hard-code to color
void magtouch_state::machine_start() void magtouch_state::machine_start()
{ {
machine().device("maincpu")->execute().set_irq_acknowledge_callback(pcat_irq_callback); machine().device("maincpu")->execute().set_irq_acknowledge_callback(pcat_irq_callback);
@ -252,7 +249,7 @@ ROM_END
DRIVER_INIT_MEMBER(magtouch_state,magtouch) DRIVER_INIT_MEMBER(magtouch_state,magtouch)
{ {
pc_vga_init(machine(), read8_delegate(FUNC(magtouch_state::vga_setting),this));
} }
GAME( 1995, magtouch, 0, magtouch, magtouch, magtouch_state, magtouch, ROT0, "Micro Manufacturing", "Magical Touch", GAME_NOT_WORKING | GAME_NO_SOUND ) GAME( 1995, magtouch, 0, magtouch, magtouch, magtouch_state, magtouch, ROT0, "Micro Manufacturing", "Magical Touch", GAME_NOT_WORKING | GAME_NO_SOUND )

View File

@ -98,7 +98,6 @@ public:
DECLARE_WRITE_LINE_MEMBER(midqslvr_pic8259_1_set_int_line); DECLARE_WRITE_LINE_MEMBER(midqslvr_pic8259_1_set_int_line);
virtual void machine_start(); virtual void machine_start();
virtual void machine_reset(); virtual void machine_reset();
DECLARE_READ8_MEMBER(vga_setting);
}; };
@ -535,7 +534,7 @@ static I8237_INTERFACE( dma8237_2_config )
static ADDRESS_MAP_START(midqslvr_map, AS_PROGRAM, 32, midqslvr_state) static ADDRESS_MAP_START(midqslvr_map, AS_PROGRAM, 32, midqslvr_state)
AM_RANGE(0x00000000, 0x0009ffff) AM_RAM AM_RANGE(0x00000000, 0x0009ffff) AM_RAM
AM_RANGE(0x000a0000, 0x000bffff) AM_READWRITE8_LEGACY(vga_mem_r,vga_mem_w, 0xffffffff) AM_RANGE(0x000a0000, 0x000bffff) AM_DEVREADWRITE8("vga", vga_device, mem_r, mem_w, 0xffffffff)
AM_RANGE(0x000c0000, 0x000c3fff) AM_ROMBANK("video_bank1") AM_WRITE(isa_ram1_w) AM_RANGE(0x000c0000, 0x000c3fff) AM_ROMBANK("video_bank1") AM_WRITE(isa_ram1_w)
AM_RANGE(0x000c4000, 0x000c7fff) AM_ROMBANK("video_bank2") AM_WRITE(isa_ram2_w) AM_RANGE(0x000c4000, 0x000c7fff) AM_ROMBANK("video_bank2") AM_WRITE(isa_ram2_w)
AM_RANGE(0x000e0000, 0x000e3fff) AM_ROMBANK("bios_ext1") AM_WRITE(bios_ext1_ram_w) AM_RANGE(0x000e0000, 0x000e3fff) AM_ROMBANK("bios_ext1") AM_WRITE(bios_ext1_ram_w)
@ -559,9 +558,9 @@ static ADDRESS_MAP_START(midqslvr_io, AS_IO, 32, midqslvr_state)
AM_RANGE(0x00e8, 0x00ef) AM_NOP AM_RANGE(0x00e8, 0x00ef) AM_NOP
AM_RANGE(0x01f0, 0x01f7) AM_READWRITE(ide_r, ide_w) AM_RANGE(0x01f0, 0x01f7) AM_READWRITE(ide_r, ide_w)
AM_RANGE(0x03b0, 0x03bf) AM_READWRITE8_LEGACY(vga_port_03b0_r, vga_port_03b0_w, 0xffffffff) AM_RANGE(0x03b0, 0x03bf) AM_DEVREADWRITE8("vga", vga_device, port_03b0_r, port_03b0_w, 0xffffffff)
AM_RANGE(0x03c0, 0x03cf) AM_READWRITE8_LEGACY(vga_port_03c0_r, vga_port_03c0_w, 0xffffffff) AM_RANGE(0x03c0, 0x03cf) AM_DEVREADWRITE8("vga", vga_device, port_03c0_r, port_03c0_w, 0xffffffff)
AM_RANGE(0x03d0, 0x03df) AM_READWRITE8_LEGACY(vga_port_03d0_r, vga_port_03d0_w, 0xffffffff) AM_RANGE(0x03d0, 0x03df) AM_DEVREADWRITE8("vga", vga_device, port_03d0_r, port_03d0_w, 0xffffffff)
AM_RANGE(0x03f0, 0x03f7) AM_READWRITE(fdc_r, fdc_w) AM_RANGE(0x03f0, 0x03f7) AM_READWRITE(fdc_r, fdc_w)
AM_RANGE(0x0cf8, 0x0cff) AM_DEVREADWRITE("pcibus", pci_bus_legacy_device, read, write) AM_RANGE(0x0cf8, 0x0cff) AM_DEVREADWRITE("pcibus", pci_bus_legacy_device, read, write)
@ -656,8 +655,6 @@ static void ide_interrupt(device_t *device, int state)
pic8259_ir6_w(drvstate->m_pic8259_2, state); pic8259_ir6_w(drvstate->m_pic8259_2, state);
} }
READ8_MEMBER( midqslvr_state::vga_setting ) { return 0xff; } // hard-code to color
void midqslvr_state::machine_start() void midqslvr_state::machine_start()
{ {
@ -675,7 +672,6 @@ void midqslvr_state::machine_start()
intel82439tx_init(machine()); intel82439tx_init(machine());
kbdc8042_init(machine(), &at8042); kbdc8042_init(machine(), &at8042);
pc_vga_init(machine(), read8_delegate(FUNC(midqslvr_state::vga_setting),this));
} }
void midqslvr_state::machine_reset() void midqslvr_state::machine_reset()

View File

@ -107,13 +107,12 @@ public:
DECLARE_DRIVER_INIT(pangofun); DECLARE_DRIVER_INIT(pangofun);
virtual void machine_start(); virtual void machine_start();
DECLARE_READ8_MEMBER(vga_setting);
}; };
static ADDRESS_MAP_START( pcat_map, AS_PROGRAM, 32, pangofun_state ) static ADDRESS_MAP_START( pcat_map, AS_PROGRAM, 32, pangofun_state )
AM_RANGE(0x00000000, 0x0009ffff) AM_RAM AM_RANGE(0x00000000, 0x0009ffff) AM_RAM
AM_RANGE(0x000a0000, 0x000bffff) AM_READWRITE8_LEGACY(vga_mem_r,vga_mem_w, 0xffffffff) AM_RANGE(0x000a0000, 0x000bffff) AM_DEVREADWRITE8("vga", vga_device, mem_r, mem_w, 0xffffffff)
AM_RANGE(0x000c0000, 0x000c7fff) AM_ROM AM_REGION("video_bios", 0) AM_RANGE(0x000c0000, 0x000c7fff) AM_ROM AM_REGION("video_bios", 0)
AM_RANGE(0x000f0000, 0x000fffff) AM_ROM AM_REGION("bios", 0 ) AM_RANGE(0x000f0000, 0x000fffff) AM_ROM AM_REGION("bios", 0 )
AM_RANGE(0x00100000, 0x00ffffff) AM_NOP AM_RANGE(0x00100000, 0x00ffffff) AM_NOP
@ -124,9 +123,9 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( pcat_io, AS_IO, 32, pangofun_state ) static ADDRESS_MAP_START( pcat_io, AS_IO, 32, pangofun_state )
AM_IMPORT_FROM(pcat32_io_common) AM_IMPORT_FROM(pcat32_io_common)
AM_RANGE(0x0070, 0x007f) AM_DEVREADWRITE8("rtc", mc146818_device, read, write, 0xffffffff) AM_RANGE(0x0070, 0x007f) AM_DEVREADWRITE8("rtc", mc146818_device, read, write, 0xffffffff)
AM_RANGE(0x03b0, 0x03bf) AM_READWRITE8_LEGACY(vga_port_03b0_r, vga_port_03b0_w, 0xffffffff) AM_RANGE(0x03b0, 0x03bf) AM_DEVREADWRITE8("vga", vga_device, port_03b0_r, port_03b0_w, 0xffffffff)
AM_RANGE(0x03c0, 0x03cf) AM_READWRITE8_LEGACY(vga_port_03c0_r, vga_port_03c0_w, 0xffffffff) AM_RANGE(0x03c0, 0x03cf) AM_DEVREADWRITE8("vga", vga_device, port_03c0_r, port_03c0_w, 0xffffffff)
AM_RANGE(0x03d0, 0x03df) AM_READWRITE8_LEGACY(vga_port_03d0_r, vga_port_03d0_w, 0xffffffff) AM_RANGE(0x03d0, 0x03df) AM_DEVREADWRITE8("vga", vga_device, port_03d0_r, port_03d0_w, 0xffffffff)
ADDRESS_MAP_END ADDRESS_MAP_END
#define AT_KEYB_HELPER(bit, text, key1) \ #define AT_KEYB_HELPER(bit, text, key1) \
@ -168,8 +167,6 @@ static void pangofun_set_keyb_int(running_machine &machine, int state)
pic8259_ir1_w(machine.device("pic8259_1"), state); pic8259_ir1_w(machine.device("pic8259_1"), state);
} }
READ8_MEMBER(pangofun_state::vga_setting ) { return 0xff; } // hard-code to color
static void set_gate_a20(running_machine &machine, int a20) static void set_gate_a20(running_machine &machine, int a20)
{ {
machine.device("maincpu")->execute().set_input_line(INPUT_LINE_A20, a20); machine.device("maincpu")->execute().set_input_line(INPUT_LINE_A20, a20);
@ -247,7 +244,6 @@ ROM_END
DRIVER_INIT_MEMBER(pangofun_state,pangofun) DRIVER_INIT_MEMBER(pangofun_state,pangofun)
{ {
pc_vga_init(machine(), read8_delegate(FUNC(pangofun_state::vga_setting),this));
} }
GAME( 1995, pangofun, 0, pangofun, pangofun, pangofun_state, pangofun, ROT0, "InfoCube", "Pango Fun (Italy)", GAME_NOT_WORKING|GAME_NO_SOUND ) GAME( 1995, pangofun, 0, pangofun, pangofun, pangofun_state, pangofun, ROT0, "InfoCube", "Pango Fun (Italy)", GAME_NOT_WORKING|GAME_NO_SOUND )

View File

@ -45,7 +45,6 @@ public:
DECLARE_DRIVER_INIT(pcat_dyn); DECLARE_DRIVER_INIT(pcat_dyn);
virtual void machine_start(); virtual void machine_start();
DECLARE_READ8_MEMBER(vga_setting);
}; };
@ -53,7 +52,7 @@ public:
/* TODO: understand the proper ROM loading.*/ /* TODO: understand the proper ROM loading.*/
static ADDRESS_MAP_START( pcat_map, AS_PROGRAM, 32, pcat_dyn_state ) static ADDRESS_MAP_START( pcat_map, AS_PROGRAM, 32, pcat_dyn_state )
AM_RANGE(0x00000000, 0x0009ffff) AM_RAM AM_RANGE(0x00000000, 0x0009ffff) AM_RAM
AM_RANGE(0x000a0000, 0x000bffff) AM_READWRITE8_LEGACY(vga_mem_r,vga_mem_w, 0xffffffff) AM_RANGE(0x000a0000, 0x000bffff) AM_DEVREADWRITE8("vga", vga_device, mem_r, mem_w, 0xffffffff)
AM_RANGE(0x000c0000, 0x000c7fff) AM_ROM AM_REGION("video_bios", 0) AM_RANGE(0x000c0000, 0x000c7fff) AM_ROM AM_REGION("video_bios", 0)
AM_RANGE(0x000c8000, 0x000cffff) AM_RAM AM_RANGE(0x000c8000, 0x000cffff) AM_RAM
// AM_RANGE(0x000d0000, 0x000d7fff) AM_RAM AM_REGION("disk_bios", 0) // AM_RANGE(0x000d0000, 0x000d7fff) AM_RAM AM_REGION("disk_bios", 0)
@ -69,9 +68,9 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( pcat_io, AS_IO, 32, pcat_dyn_state ) static ADDRESS_MAP_START( pcat_io, AS_IO, 32, pcat_dyn_state )
AM_IMPORT_FROM(pcat32_io_common) AM_IMPORT_FROM(pcat32_io_common)
AM_RANGE(0x0070, 0x007f) AM_DEVREADWRITE8("rtc", mc146818_device, read, write, 0xffffffff) AM_RANGE(0x0070, 0x007f) AM_DEVREADWRITE8("rtc", mc146818_device, read, write, 0xffffffff)
AM_RANGE(0x03b0, 0x03bf) AM_READWRITE8_LEGACY(vga_port_03b0_r, vga_port_03b0_w, 0xffffffff) AM_RANGE(0x03b0, 0x03bf) AM_DEVREADWRITE8("vga", vga_device, port_03b0_r, port_03b0_w, 0xffffffff)
AM_RANGE(0x03c0, 0x03cf) AM_READWRITE8_LEGACY(vga_port_03c0_r, vga_port_03c0_w, 0xffffffff) AM_RANGE(0x03c0, 0x03cf) AM_DEVREADWRITE8("vga", vga_device, port_03c0_r, port_03c0_w, 0xffffffff)
AM_RANGE(0x03d0, 0x03df) AM_READWRITE8_LEGACY(vga_port_03d0_r, vga_port_03d0_w, 0xffffffff) AM_RANGE(0x03d0, 0x03df) AM_DEVREADWRITE8("vga", vga_device, port_03d0_r, port_03d0_w, 0xffffffff)
ADDRESS_MAP_END ADDRESS_MAP_END
#define AT_KEYB_HELPER(bit, text, key1) \ #define AT_KEYB_HELPER(bit, text, key1) \
@ -113,8 +112,6 @@ static void pcat_dyn_set_keyb_int(running_machine &machine, int state)
pic8259_ir1_w(machine.device("pic8259_1"), state); pic8259_ir1_w(machine.device("pic8259_1"), state);
} }
READ8_MEMBER(pcat_dyn_state::vga_setting ) { return 0xff; } // hard-code to color
static void set_gate_a20(running_machine &machine, int a20) static void set_gate_a20(running_machine &machine, int a20)
{ {
machine.device("maincpu")->execute().set_input_line(INPUT_LINE_A20, a20); machine.device("maincpu")->execute().set_input_line(INPUT_LINE_A20, a20);
@ -200,7 +197,6 @@ ROM_END
DRIVER_INIT_MEMBER(pcat_dyn_state,pcat_dyn) DRIVER_INIT_MEMBER(pcat_dyn_state,pcat_dyn)
{ {
pc_vga_init(machine(), read8_delegate(FUNC(pcat_dyn_state::vga_setting),this));
} }
GAME( 1995, toursol, 0, pcat_dyn, pcat_dyn, pcat_dyn_state, pcat_dyn, ROT0, "Dynamo", "Tournament Solitaire (V1.06, 08/03/95)", GAME_NOT_WORKING|GAME_NO_SOUND ) GAME( 1995, toursol, 0, pcat_dyn, pcat_dyn, pcat_dyn_state, pcat_dyn, ROT0, "Dynamo", "Tournament Solitaire (V1.06, 08/03/95)", GAME_NOT_WORKING|GAME_NO_SOUND )

View File

@ -112,7 +112,6 @@ public:
DECLARE_WRITE_LINE_MEMBER(at_com_interrupt_1); DECLARE_WRITE_LINE_MEMBER(at_com_interrupt_1);
DECLARE_DRIVER_INIT(pcat_nit); DECLARE_DRIVER_INIT(pcat_nit);
virtual void machine_start(); virtual void machine_start();
DECLARE_READ8_MEMBER(vga_setting);
}; };
WRITE_LINE_MEMBER(pcat_nit_state::microtouch_out) WRITE_LINE_MEMBER(pcat_nit_state::microtouch_out)
@ -183,7 +182,7 @@ WRITE8_MEMBER(pcat_nit_state::pcat_nit_rombank_w)
static ADDRESS_MAP_START( pcat_map, AS_PROGRAM, 32, pcat_nit_state ) static ADDRESS_MAP_START( pcat_map, AS_PROGRAM, 32, pcat_nit_state )
AM_RANGE(0x00000000, 0x0009ffff) AM_RAM AM_RANGE(0x00000000, 0x0009ffff) AM_RAM
AM_RANGE(0x000a0000, 0x000bffff) AM_READWRITE8_LEGACY(vga_mem_r,vga_mem_w, 0xffffffff) AM_RANGE(0x000a0000, 0x000bffff) AM_DEVREADWRITE8("vga", vga_device, mem_r, mem_w, 0xffffffff)
AM_RANGE(0x000c0000, 0x000c7fff) AM_ROM AM_REGION("video_bios", 0) AM_WRITENOP AM_RANGE(0x000c0000, 0x000c7fff) AM_ROM AM_REGION("video_bios", 0) AM_WRITENOP
AM_RANGE(0x000d0000, 0x000d3fff) AM_RAM AM_REGION("disk_bios", 0) AM_RANGE(0x000d0000, 0x000d3fff) AM_RAM AM_REGION("disk_bios", 0)
AM_RANGE(0x000d7000, 0x000d7003) AM_WRITE8(pcat_nit_rombank_w, 0xff) AM_RANGE(0x000d7000, 0x000d7003) AM_WRITE8(pcat_nit_rombank_w, 0xff)
@ -211,9 +210,9 @@ static ADDRESS_MAP_START( pcat_nit_io, AS_IO, 32, pcat_nit_state )
AM_IMPORT_FROM(pcat32_io_common) AM_IMPORT_FROM(pcat32_io_common)
AM_RANGE(0x0278, 0x027f) AM_READ8(pcat_nit_io_r, 0xffffffff) AM_WRITENOP AM_RANGE(0x0278, 0x027f) AM_READ8(pcat_nit_io_r, 0xffffffff) AM_WRITENOP
AM_RANGE(0x0280, 0x0283) AM_READNOP AM_RANGE(0x0280, 0x0283) AM_READNOP
AM_RANGE(0x03b0, 0x03bf) AM_READWRITE8_LEGACY(vga_port_03b0_r, vga_port_03b0_w, 0xffffffff) AM_RANGE(0x03b0, 0x03bf) AM_DEVREADWRITE8("vga", vga_device, port_03b0_r, port_03b0_w, 0xffffffff)
AM_RANGE(0x03c0, 0x03cf) AM_READWRITE8_LEGACY(vga_port_03c0_r, vga_port_03c0_w, 0xffffffff) AM_RANGE(0x03c0, 0x03cf) AM_DEVREADWRITE8("vga", vga_device, port_03c0_r, port_03c0_w, 0xffffffff)
AM_RANGE(0x03d0, 0x03df) AM_READWRITE8_LEGACY(vga_port_03d0_r, vga_port_03d0_w, 0xffffffff) AM_RANGE(0x03d0, 0x03df) AM_DEVREADWRITE8("vga", vga_device, port_03d0_r, port_03d0_w, 0xffffffff)
AM_RANGE(0x03f8, 0x03ff) AM_DEVREADWRITE8("ns16450_0", ns16450_device, ins8250_r, ins8250_w, 0xffffffff) AM_RANGE(0x03f8, 0x03ff) AM_DEVREADWRITE8("ns16450_0", ns16450_device, ins8250_r, ins8250_w, 0xffffffff)
ADDRESS_MAP_END ADDRESS_MAP_END
@ -231,8 +230,6 @@ static void streetg2_set_keyb_int(running_machine &machine, int state)
pic8259_ir1_w(machine.device("pic8259_1"), state); pic8259_ir1_w(machine.device("pic8259_1"), state);
} }
READ8_MEMBER(pcat_nit_state::vga_setting ) { return 0xff; } // hard-code to color
void pcat_nit_state::machine_start() void pcat_nit_state::machine_start()
{ {
machine().device("maincpu")->execute().set_irq_acknowledge_callback(pcat_irq_callback); machine().device("maincpu")->execute().set_irq_acknowledge_callback(pcat_irq_callback);
@ -429,8 +426,6 @@ DRIVER_INIT_MEMBER(pcat_nit_state,pcat_nit)
{ {
m_banked_nvram = auto_alloc_array(machine(), UINT8, 0x2000); m_banked_nvram = auto_alloc_array(machine(), UINT8, 0x2000);
machine().device<nvram_device>("nvram")->set_base(m_banked_nvram, 0x2000); machine().device<nvram_device>("nvram")->set_base(m_banked_nvram, 0x2000);
pc_vga_init(machine(), read8_delegate(FUNC(pcat_nit_state::vga_setting),this));
} }
GAME( 1993, bonanza, 0, pcat_nit, pcat_nit, pcat_nit_state, pcat_nit, ROT0, "New Image Technologies", "Bonanza (Revision 3)", GAME_NOT_WORKING|GAME_NO_SOUND ) GAME( 1993, bonanza, 0, pcat_nit, pcat_nit, pcat_nit_state, pcat_nit, ROT0, "New Image Technologies", "Bonanza (Revision 3)", GAME_NOT_WORKING|GAME_NO_SOUND )

View File

@ -53,7 +53,6 @@ public:
DECLARE_WRITE_LINE_MEMBER(at_pit8254_out2_changed); DECLARE_WRITE_LINE_MEMBER(at_pit8254_out2_changed);
DECLARE_DRIVER_INIT(photoply); DECLARE_DRIVER_INIT(photoply);
virtual void machine_start(); virtual void machine_start();
DECLARE_READ8_MEMBER(vga_setting);
}; };
@ -240,7 +239,7 @@ static const struct pit8253_config at_pit8254_config =
static ADDRESS_MAP_START( photoply_map, AS_PROGRAM, 32, photoply_state ) static ADDRESS_MAP_START( photoply_map, AS_PROGRAM, 32, photoply_state )
AM_RANGE(0x00000000, 0x0009ffff) AM_RAM AM_RANGE(0x00000000, 0x0009ffff) AM_RAM
AM_RANGE(0x000a0000, 0x000bffff) AM_READWRITE8_LEGACY(vga_mem_r,vga_mem_w, 0xffffffff) // VGA RAM AM_RANGE(0x000a0000, 0x000bffff) AM_DEVREADWRITE8("vga", vga_device, mem_r, mem_w, 0xffffffff) // VGA RAM
AM_RANGE(0x000c0000, 0x000c7fff) AM_RAM AM_REGION("video_bios", 0) //??? AM_RANGE(0x000c0000, 0x000c7fff) AM_RAM AM_REGION("video_bios", 0) //???
AM_RANGE(0x000c8000, 0x000cffff) AM_RAM AM_REGION("video_bios", 0) AM_RANGE(0x000c8000, 0x000cffff) AM_RAM AM_REGION("video_bios", 0)
AM_RANGE(0x000d0000, 0x000dffff) AM_RAM AM_REGION("ex_bios", 0) AM_RANGE(0x000d0000, 0x000dffff) AM_RAM AM_REGION("ex_bios", 0)
@ -263,9 +262,9 @@ static ADDRESS_MAP_START( photoply_io, AS_IO, 32, photoply_state )
AM_RANGE(0x0278, 0x027f) AM_RAM //parallel port 2 AM_RANGE(0x0278, 0x027f) AM_RAM //parallel port 2
AM_RANGE(0x0378, 0x037f) AM_RAM //parallel port AM_RANGE(0x0378, 0x037f) AM_RAM //parallel port
//AM_RANGE(0x03bc, 0x03bf) AM_RAM //parallel port 3 //AM_RANGE(0x03bc, 0x03bf) AM_RAM //parallel port 3
AM_RANGE(0x03b0, 0x03bf) AM_READWRITE8_LEGACY(vga_port_03b0_r, vga_port_03b0_w, 0xffffffff) AM_RANGE(0x03b0, 0x03bf) AM_DEVREADWRITE8("vga", vga_device, port_03b0_r, port_03b0_w, 0xffffffff)
AM_RANGE(0x03c0, 0x03cf) AM_READWRITE8_LEGACY(vga_port_03c0_r, vga_port_03c0_w, 0xffffffff) AM_RANGE(0x03c0, 0x03cf) AM_DEVREADWRITE8("vga", vga_device, port_03c0_r, port_03c0_w, 0xffffffff)
AM_RANGE(0x03d0, 0x03df) AM_READWRITE8_LEGACY(vga_port_03d0_r, vga_port_03d0_w, 0xffffffff) AM_RANGE(0x03d0, 0x03df) AM_DEVREADWRITE8("vga", vga_device, port_03d0_r, port_03d0_w, 0xffffffff)
// AM_RANGE(0x03f4, 0x03f7) AM_READ_LEGACY(kludge_r) // fdc // AM_RANGE(0x03f4, 0x03f7) AM_READ_LEGACY(kludge_r) // fdc
ADDRESS_MAP_END ADDRESS_MAP_END
@ -339,8 +338,6 @@ static GFXDECODE_START( photoply )
//there's also a 8x16 entry (just after the 8x8) //there's also a 8x16 entry (just after the 8x8)
GFXDECODE_END GFXDECODE_END
READ8_MEMBER(photoply_state::vga_setting ) { return 0xff; } // hard-code to color
static MACHINE_CONFIG_START( photoply, photoply_state ) static MACHINE_CONFIG_START( photoply, photoply_state )
/* basic machine hardware */ /* basic machine hardware */
MCFG_CPU_ADD("maincpu", I486, 75000000) /* I486DX4, 75 or 100 Mhz */ MCFG_CPU_ADD("maincpu", I486, 75000000) /* I486DX4, 75 or 100 Mhz */
@ -381,7 +378,6 @@ ROM_END
DRIVER_INIT_MEMBER(photoply_state,photoply) DRIVER_INIT_MEMBER(photoply_state,photoply)
{ {
pc_vga_init(machine(), read8_delegate(FUNC(photoply_state::vga_setting),this));
} }
GAME( 199?, photoply, 0, photoply, photoply, photoply_state, photoply, ROT0, "Funworld", "Photo Play 2000 (v2.01)", GAME_NOT_WORKING|GAME_NO_SOUND ) GAME( 199?, photoply, 0, photoply, photoply, photoply_state, photoply, ROT0, "Funworld", "Photo Play 2000 (v2.01)", GAME_NOT_WORKING|GAME_NO_SOUND )

View File

@ -153,7 +153,6 @@ public:
DECLARE_READ16_MEMBER(pntnpuzl_eeprom_r); DECLARE_READ16_MEMBER(pntnpuzl_eeprom_r);
DECLARE_WRITE16_MEMBER(pntnpuzl_eeprom_w); DECLARE_WRITE16_MEMBER(pntnpuzl_eeprom_w);
DECLARE_DRIVER_INIT(pip); DECLARE_DRIVER_INIT(pip);
DECLARE_READ8_MEMBER(vga_setting);
}; };
@ -312,10 +311,10 @@ static ADDRESS_MAP_START( pntnpuzl_map, AS_PROGRAM, 16, pntnpuzl_state )
AM_RANGE(0x28001a, 0x28001b) AM_WRITENOP AM_RANGE(0x28001a, 0x28001b) AM_WRITENOP
/* standard VGA */ /* standard VGA */
AM_RANGE(0x3a0000, 0x3bffff) AM_READWRITE8_LEGACY(vga_mem_r,vga_mem_w, 0xffff) AM_RANGE(0x3a0000, 0x3bffff) AM_DEVREADWRITE8("vga", vga_device, mem_r, mem_w, 0xffff)
AM_RANGE(0x3c03b0, 0x3c03bf) AM_READWRITE8_LEGACY(vga_port_03b0_r, vga_port_03b0_w, 0xffff) AM_RANGE(0x3c03b0, 0x3c03bf) AM_DEVREADWRITE8("vga", vga_device, port_03b0_r, port_03b0_w, 0xffff)
AM_RANGE(0x3c03c0, 0x3c03cf) AM_READWRITE8_LEGACY(vga_port_03c0_r, vga_port_03c0_w, 0xffff) AM_RANGE(0x3c03c0, 0x3c03cf) AM_DEVREADWRITE8("vga", vga_device, port_03c0_r, port_03c0_w, 0xffff)
AM_RANGE(0x3c03d0, 0x3c03df) AM_READWRITE8_LEGACY(vga_port_03d0_r, vga_port_03d0_w, 0xffff) AM_RANGE(0x3c03d0, 0x3c03df) AM_DEVREADWRITE8("vga", vga_device, port_03d0_r, port_03d0_w, 0xffff)
AM_RANGE(0x400000, 0x407fff) AM_RAM AM_RANGE(0x400000, 0x407fff) AM_RAM
ADDRESS_MAP_END ADDRESS_MAP_END
@ -359,8 +358,6 @@ static INPUT_PORTS_START( pntnpuzl )
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_D) PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_D)
INPUT_PORTS_END INPUT_PORTS_END
READ8_MEMBER(pntnpuzl_state::vga_setting ) { return 0xff; } // hard-code to color
static MACHINE_CONFIG_START( pntnpuzl, pntnpuzl_state ) static MACHINE_CONFIG_START( pntnpuzl, pntnpuzl_state )
MCFG_CPU_ADD("maincpu", M68000, 12000000)//?? MCFG_CPU_ADD("maincpu", M68000, 12000000)//??
MCFG_CPU_PROGRAM_MAP(pntnpuzl_map) MCFG_CPU_PROGRAM_MAP(pntnpuzl_map)
@ -387,7 +384,6 @@ DRIVER_INIT_MEMBER(pntnpuzl_state,pip)
// UINT16 *rom = (UINT16 *)machine().root_device().memregion("maincpu")->base(); // UINT16 *rom = (UINT16 *)machine().root_device().memregion("maincpu")->base();
// rom[0x2696/2] = 0x4e71; // rom[0x2696/2] = 0x4e71;
// rom[0x26a0/2] = 0x4e71; // rom[0x26a0/2] = 0x4e71;
pc_vga_init(machine(), read8_delegate(FUNC(pntnpuzl_state::vga_setting),this));
} }

View File

@ -95,7 +95,6 @@ public:
DECLARE_WRITE8_MEMBER(at_page8_w); DECLARE_WRITE8_MEMBER(at_page8_w);
DECLARE_READ8_MEMBER(pc_dma_read_byte); DECLARE_READ8_MEMBER(pc_dma_read_byte);
DECLARE_WRITE8_MEMBER(pc_dma_write_byte); DECLARE_WRITE8_MEMBER(pc_dma_write_byte);
DECLARE_READ8_MEMBER(vga_setting);
DECLARE_READ32_MEMBER(ide_r); DECLARE_READ32_MEMBER(ide_r);
DECLARE_WRITE32_MEMBER(ide_w); DECLARE_WRITE32_MEMBER(ide_w);
DECLARE_READ32_MEMBER(fdc_r); DECLARE_READ32_MEMBER(fdc_r);
@ -518,7 +517,7 @@ static I8237_INTERFACE( dma8237_2_config )
static ADDRESS_MAP_START( queen_map, AS_PROGRAM, 32, queen_state ) static ADDRESS_MAP_START( queen_map, AS_PROGRAM, 32, queen_state )
AM_RANGE(0x00000000, 0x0009ffff) AM_RAM AM_RANGE(0x00000000, 0x0009ffff) AM_RAM
AM_RANGE(0x000a0000, 0x000bffff) AM_READWRITE8_LEGACY(vga_mem_r,vga_mem_w, 0xffffffff) AM_RANGE(0x000a0000, 0x000bffff) AM_DEVREADWRITE8("vga", vga_device, mem_r, mem_w, 0xffffffff)
AM_RANGE(0x000c0000, 0x000c3fff) AM_ROMBANK("video_bank1") AM_WRITE(isa_ram1_w) AM_RANGE(0x000c0000, 0x000c3fff) AM_ROMBANK("video_bank1") AM_WRITE(isa_ram1_w)
AM_RANGE(0x000c4000, 0x000c7fff) AM_ROMBANK("video_bank2") AM_WRITE(isa_ram2_w) AM_RANGE(0x000c4000, 0x000c7fff) AM_ROMBANK("video_bank2") AM_WRITE(isa_ram2_w)
AM_RANGE(0x000e0000, 0x000e3fff) AM_ROMBANK("bios_ext1") AM_WRITE(bios_ext1_ram_w) AM_RANGE(0x000e0000, 0x000e3fff) AM_ROMBANK("bios_ext1") AM_WRITE(bios_ext1_ram_w)
@ -542,9 +541,9 @@ static ADDRESS_MAP_START( queen_io, AS_IO, 32, queen_state )
AM_RANGE(0x00e8, 0x00ef) AM_NOP AM_RANGE(0x00e8, 0x00ef) AM_NOP
AM_RANGE(0x01f0, 0x01f7) AM_READWRITE(ide_r, ide_w) AM_RANGE(0x01f0, 0x01f7) AM_READWRITE(ide_r, ide_w)
AM_RANGE(0x03b0, 0x03bf) AM_READWRITE8_LEGACY(vga_port_03b0_r, vga_port_03b0_w, 0xffffffff) AM_RANGE(0x03b0, 0x03bf) AM_DEVREADWRITE8("vga", vga_device, port_03b0_r, port_03b0_w, 0xffffffff)
AM_RANGE(0x03c0, 0x03cf) AM_READWRITE8_LEGACY(vga_port_03c0_r, vga_port_03c0_w, 0xffffffff) AM_RANGE(0x03c0, 0x03cf) AM_DEVREADWRITE8("vga", vga_device, port_03c0_r, port_03c0_w, 0xffffffff)
AM_RANGE(0x03d0, 0x03df) AM_READWRITE8_LEGACY(vga_port_03d0_r, vga_port_03d0_w, 0xffffffff) AM_RANGE(0x03d0, 0x03df) AM_DEVREADWRITE8("vga", vga_device, port_03d0_r, port_03d0_w, 0xffffffff)
AM_RANGE(0x03f0, 0x03f7) AM_READWRITE(fdc_r, fdc_w) AM_RANGE(0x03f0, 0x03f7) AM_READWRITE(fdc_r, fdc_w)
AM_RANGE(0x0cf8, 0x0cff) AM_DEVREADWRITE("pcibus", pci_bus_legacy_device, read, write) AM_RANGE(0x0cf8, 0x0cff) AM_DEVREADWRITE("pcibus", pci_bus_legacy_device, read, write)
@ -639,8 +638,6 @@ static void ide_interrupt(device_t *device, int state)
pic8259_ir6_w(drvstate->m_pic8259_2, state); pic8259_ir6_w(drvstate->m_pic8259_2, state);
} }
READ8_MEMBER(queen_state::vga_setting ) { return 0xff; } // hard-code to color
void queen_state::machine_start() void queen_state::machine_start()
{ {
@ -658,7 +655,6 @@ void queen_state::machine_start()
intel82439tx_init(machine()); intel82439tx_init(machine());
kbdc8042_init(machine(), &at8042); kbdc8042_init(machine(), &at8042);
pc_vga_init(machine(), read8_delegate(FUNC(queen_state::vga_setting),this));
} }
void queen_state::machine_reset() void queen_state::machine_reset()

View File

@ -94,7 +94,6 @@ public:
DECLARE_WRITE_LINE_MEMBER(savquest_pic8259_1_set_int_line); DECLARE_WRITE_LINE_MEMBER(savquest_pic8259_1_set_int_line);
virtual void machine_start(); virtual void machine_start();
virtual void machine_reset(); virtual void machine_reset();
DECLARE_READ8_MEMBER(vga_setting);
}; };
// Intel 82439TX System Controller (MXTC) // Intel 82439TX System Controller (MXTC)
@ -397,7 +396,7 @@ static I8237_INTERFACE( dma8237_2_config )
static ADDRESS_MAP_START(savquest_map, AS_PROGRAM, 32, savquest_state) static ADDRESS_MAP_START(savquest_map, AS_PROGRAM, 32, savquest_state)
AM_RANGE(0x00000000, 0x0009ffff) AM_RAM AM_RANGE(0x00000000, 0x0009ffff) AM_RAM
AM_RANGE(0x000a0000, 0x000bffff) AM_READWRITE8_LEGACY(vga_mem_r,vga_mem_w, 0xffffffff) AM_RANGE(0x000a0000, 0x000bffff) AM_DEVREADWRITE8("vga", vga_device, mem_r, mem_w, 0xffffffff)
AM_RANGE(0x000c0000, 0x000c7fff) AM_ROM AM_REGION("video_bios", 0) AM_RANGE(0x000c0000, 0x000c7fff) AM_ROM AM_REGION("video_bios", 0)
AM_RANGE(0x000e0000, 0x000fffff) AM_ROMBANK("bank1") AM_RANGE(0x000e0000, 0x000fffff) AM_ROMBANK("bank1")
AM_RANGE(0x000e0000, 0x000fffff) AM_WRITE(bios_ram_w) AM_RANGE(0x000e0000, 0x000fffff) AM_WRITE(bios_ram_w)
@ -418,9 +417,9 @@ static ADDRESS_MAP_START(savquest_io, AS_IO, 32, savquest_state)
AM_RANGE(0x00e8, 0x00ef) AM_NOP AM_RANGE(0x00e8, 0x00ef) AM_NOP
AM_RANGE(0x01f0, 0x01f7) AM_READWRITE(ide_r, ide_w) AM_RANGE(0x01f0, 0x01f7) AM_READWRITE(ide_r, ide_w)
AM_RANGE(0x03b0, 0x03bf) AM_READWRITE8_LEGACY(vga_port_03b0_r, vga_port_03b0_w, 0xffffffff) AM_RANGE(0x03b0, 0x03bf) AM_DEVREADWRITE8("vga", vga_device, port_03b0_r, port_03b0_w, 0xffffffff)
AM_RANGE(0x03c0, 0x03cf) AM_READWRITE8_LEGACY(vga_port_03c0_r, vga_port_03c0_w, 0xffffffff) AM_RANGE(0x03c0, 0x03cf) AM_DEVREADWRITE8("vga", vga_device, port_03c0_r, port_03c0_w, 0xffffffff)
AM_RANGE(0x03d0, 0x03df) AM_READWRITE8_LEGACY(vga_port_03d0_r, vga_port_03d0_w, 0xffffffff) AM_RANGE(0x03d0, 0x03df) AM_DEVREADWRITE8("vga", vga_device, port_03d0_r, port_03d0_w, 0xffffffff)
AM_RANGE(0x03f0, 0x03f7) AM_READWRITE(fdc_r, fdc_w) AM_RANGE(0x03f0, 0x03f7) AM_READWRITE(fdc_r, fdc_w)
AM_RANGE(0x0cf8, 0x0cff) AM_DEVREADWRITE("pcibus", pci_bus_legacy_device, read, write) AM_RANGE(0x0cf8, 0x0cff) AM_DEVREADWRITE("pcibus", pci_bus_legacy_device, read, write)
@ -520,8 +519,6 @@ static void ide_interrupt(device_t *device, int state)
pic8259_ir6_w(drvstate->m_pic8259_2, state); pic8259_ir6_w(drvstate->m_pic8259_2, state);
} }
READ8_MEMBER(savquest_state::vga_setting ) { return 0xff; } // hard-code to color
void savquest_state::machine_start() void savquest_state::machine_start()
{ {
m_bios_ram = auto_alloc_array(machine(), UINT32, 0x20000/4); m_bios_ram = auto_alloc_array(machine(), UINT32, 0x20000/4);
@ -532,7 +529,6 @@ void savquest_state::machine_start()
intel82439tx_init(machine()); intel82439tx_init(machine());
kbdc8042_init(machine(), &at8042); kbdc8042_init(machine(), &at8042);
pc_vga_init(machine(), read8_delegate(FUNC(savquest_state::vga_setting),this));
} }
void savquest_state::machine_reset() void savquest_state::machine_reset()

View File

@ -81,7 +81,6 @@ public:
DECLARE_READ8_MEMBER(get_slave_ack); DECLARE_READ8_MEMBER(get_slave_ack);
virtual void machine_start(); virtual void machine_start();
virtual void machine_reset(); virtual void machine_reset();
DECLARE_READ8_MEMBER(vga_setting);
}; };
@ -93,7 +92,7 @@ public:
static ADDRESS_MAP_START( pcat_map, AS_PROGRAM, 32, su2000_state ) static ADDRESS_MAP_START( pcat_map, AS_PROGRAM, 32, su2000_state )
AM_RANGE(0x00000000, 0x0009ffff) AM_RAMBANK("mem_bank") AM_RANGE(0x00000000, 0x0009ffff) AM_RAMBANK("mem_bank")
AM_RANGE(0x000a0000, 0x000bffff) AM_READWRITE8_LEGACY(vga_mem_r,vga_mem_w, 0xffffffff) AM_RANGE(0x000a0000, 0x000bffff) AM_DEVREADWRITE8("vga", vga_device, mem_r, mem_w, 0xffffffff)
AM_RANGE(0x000c0000, 0x000c7fff) AM_ROM AM_RANGE(0x000c0000, 0x000c7fff) AM_ROM
AM_RANGE(0x000f0000, 0x000fffff) AM_ROM AM_RANGE(0x000f0000, 0x000fffff) AM_ROM
AM_RANGE(0xffff0000, 0xffffffff) AM_ROM AM_REGION("maincpu", 0x0f0000) AM_RANGE(0xffff0000, 0xffffffff) AM_ROM AM_REGION("maincpu", 0x0f0000)
@ -101,9 +100,9 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( pcat_io, AS_IO, 32, su2000_state ) static ADDRESS_MAP_START( pcat_io, AS_IO, 32, su2000_state )
AM_IMPORT_FROM(pcat32_io_common) AM_IMPORT_FROM(pcat32_io_common)
AM_RANGE(0x03b0, 0x03bf) AM_READWRITE8_LEGACY(vga_port_03b0_r, vga_port_03b0_w, 0xffffffff) AM_RANGE(0x03b0, 0x03bf) AM_DEVREADWRITE8("vga", vga_device, port_03b0_r, port_03b0_w, 0xffffffff)
AM_RANGE(0x03c0, 0x03cf) AM_READWRITE8_LEGACY(vga_port_03c0_r, vga_port_03c0_w, 0xffffffff) AM_RANGE(0x03c0, 0x03cf) AM_DEVREADWRITE8("vga", vga_device, port_03c0_r, port_03c0_w, 0xffffffff)
AM_RANGE(0x03d0, 0x03df) AM_READWRITE8_LEGACY(vga_port_03d0_r, vga_port_03d0_w, 0xffffffff) AM_RANGE(0x03d0, 0x03df) AM_DEVREADWRITE8("vga", vga_device, port_03d0_r, port_03d0_w, 0xffffffff)
ADDRESS_MAP_END ADDRESS_MAP_END
@ -168,18 +167,6 @@ static void ide_interrupt(device_t *device, int state)
#endif #endif
/*************************************************************
*
* VGA
*
*************************************************************/
READ8_MEMBER(su2000_state::vga_setting )
{
/* TODO */
return 0xff;
}
/************************************************************* /*************************************************************
* *
* PIC8259 Configuration * PIC8259 Configuration
@ -290,8 +277,6 @@ void su2000_state::machine_start()
init_pc_common(machine(), PCCOMMON_KEYBOARD_AT, su2000_set_keyb_int); init_pc_common(machine(), PCCOMMON_KEYBOARD_AT, su2000_set_keyb_int);
kbdc8042_init(machine(), &at8042); kbdc8042_init(machine(), &at8042);
pc_vga_init(machine(), read8_delegate(FUNC(su2000_state::vga_setting),this));
} }
void su2000_state::machine_reset() void su2000_state::machine_reset()

View File

@ -83,7 +83,6 @@ public:
virtual void machine_reset(); virtual void machine_reset();
virtual void palette_init(); virtual void palette_init();
UINT32 screen_update_taitowlf(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); UINT32 screen_update_taitowlf(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
DECLARE_READ8_MEMBER(vga_setting);
}; };
#if !ENABLE_VGA #if !ENABLE_VGA
@ -457,7 +456,7 @@ static I8237_INTERFACE( dma8237_2_config )
static ADDRESS_MAP_START( taitowlf_map, AS_PROGRAM, 32, taitowlf_state ) static ADDRESS_MAP_START( taitowlf_map, AS_PROGRAM, 32, taitowlf_state )
AM_RANGE(0x00000000, 0x0009ffff) AM_RAM AM_RANGE(0x00000000, 0x0009ffff) AM_RAM
#if ENABLE_VGA #if ENABLE_VGA
AM_RANGE(0x000a0000, 0x000bffff) AM_READWRITE8_LEGACY(vga_mem_r,vga_mem_w, 0xffffffff) AM_RANGE(0x000a0000, 0x000bffff) AM_DEVREADWRITE8("vga", vga_device, mem_r, mem_w, 0xffffffff)
#else #else
AM_RANGE(0x000a0000, 0x000bffff) AM_RAM AM_RANGE(0x000a0000, 0x000bffff) AM_RAM
#endif #endif
@ -488,9 +487,9 @@ static ADDRESS_MAP_START(taitowlf_io, AS_IO, 32, taitowlf_state )
AM_RANGE(0x03b0, 0x03df) AM_NOP AM_RANGE(0x03b0, 0x03df) AM_NOP
AM_RANGE(0x0278, 0x027b) AM_WRITE(pnp_config_w) AM_RANGE(0x0278, 0x027b) AM_WRITE(pnp_config_w)
#if ENABLE_VGA #if ENABLE_VGA
AM_RANGE(0x03b0, 0x03bf) AM_READWRITE8_LEGACY(vga_port_03b0_r, vga_port_03b0_w, 0xffffffff) AM_RANGE(0x03b0, 0x03bf) AM_DEVREADWRITE8("vga", vga_device, port_03b0_r, port_03b0_w, 0xffffffff)
AM_RANGE(0x03c0, 0x03cf) AM_READWRITE8_LEGACY(vga_port_03c0_r, vga_port_03c0_w, 0xffffffff) AM_RANGE(0x03c0, 0x03cf) AM_DEVREADWRITE8("vga", vga_device, port_03c0_r, port_03c0_w, 0xffffffff)
AM_RANGE(0x03d0, 0x03df) AM_READWRITE8_LEGACY(vga_port_03d0_r, vga_port_03d0_w, 0xffffffff) AM_RANGE(0x03d0, 0x03df) AM_DEVREADWRITE8("vga", vga_device, port_03d0_r, port_03d0_w, 0xffffffff)
#endif #endif
AM_RANGE(0x03f0, 0x03ff) AM_READWRITE(fdc_r, fdc_w) AM_RANGE(0x03f0, 0x03ff) AM_READWRITE(fdc_r, fdc_w)
AM_RANGE(0x0a78, 0x0a7b) AM_WRITE(pnp_data_w) AM_RANGE(0x0a78, 0x0a7b) AM_WRITE(pnp_data_w)
@ -705,10 +704,6 @@ static void taitowlf_set_keyb_int(running_machine &machine, int state)
pic8259_ir1_w(drvstate->m_pic8259_1, state); pic8259_ir1_w(drvstate->m_pic8259_1, state);
} }
#if ENABLE_VGA
READ8_MEMBER(taitowlf_state::vga_setting ) { return 0xff; } // hard-code to color
#endif
DRIVER_INIT_MEMBER(taitowlf_state,taitowlf) DRIVER_INIT_MEMBER(taitowlf_state,taitowlf)
{ {
m_bios_ram = auto_alloc_array(machine(), UINT32, 0x10000/4); m_bios_ram = auto_alloc_array(machine(), UINT32, 0x10000/4);
@ -718,9 +713,6 @@ DRIVER_INIT_MEMBER(taitowlf_state,taitowlf)
intel82439tx_init(machine()); intel82439tx_init(machine());
kbdc8042_init(machine(), &at8042); kbdc8042_init(machine(), &at8042);
#if ENABLE_VGA
pc_vga_init(machine(), read8_delegate(FUNC(taitowlf_state::vga_setting),this));
#endif
} }
/*****************************************************************************/ /*****************************************************************************/

View File

@ -69,7 +69,6 @@ public:
DECLARE_DRIVER_INIT(voyager); DECLARE_DRIVER_INIT(voyager);
virtual void machine_start(); virtual void machine_start();
virtual void machine_reset(); virtual void machine_reset();
DECLARE_READ8_MEMBER(vga_setting);
}; };
@ -396,7 +395,7 @@ WRITE32_MEMBER(voyager_state::bios_ram_w)
static ADDRESS_MAP_START( voyager_map, AS_PROGRAM, 32, voyager_state ) static ADDRESS_MAP_START( voyager_map, AS_PROGRAM, 32, voyager_state )
AM_RANGE(0x00000000, 0x0009ffff) AM_RAM AM_RANGE(0x00000000, 0x0009ffff) AM_RAM
AM_RANGE(0x000a0000, 0x000bffff) AM_READWRITE8_LEGACY(trident_mem_r, trident_mem_w, 0xffffffff) // VGA VRAM AM_RANGE(0x000a0000, 0x000bffff) AM_DEVREADWRITE8("vga", trident_vga_device, mem_r, mem_w, 0xffffffff) // VGA VRAM
AM_RANGE(0x000c0000, 0x000c7fff) AM_RAM AM_REGION("video_bios", 0) AM_RANGE(0x000c0000, 0x000c7fff) AM_RAM AM_REGION("video_bios", 0)
AM_RANGE(0x000c8000, 0x000cffff) AM_NOP AM_RANGE(0x000c8000, 0x000cffff) AM_NOP
//AM_RANGE(0x000d0000, 0x000d0003) AM_RAM // XYLINX - Sincronus serial communication //AM_RANGE(0x000d0000, 0x000d0003) AM_RAM // XYLINX - Sincronus serial communication
@ -446,9 +445,9 @@ static ADDRESS_MAP_START( voyager_io, AS_IO, 32, voyager_state )
AM_RANGE(0x02f8, 0x02ff) AM_NOP //To debug AM_RANGE(0x02f8, 0x02ff) AM_NOP //To debug
AM_RANGE(0x0320, 0x038f) AM_NOP //To debug AM_RANGE(0x0320, 0x038f) AM_NOP //To debug
AM_RANGE(0x03a0, 0x03a7) AM_NOP //To debug AM_RANGE(0x03a0, 0x03a7) AM_NOP //To debug
AM_RANGE(0x03b0, 0x03bf) AM_READWRITE8_LEGACY(vga_port_03b0_r, vga_port_03b0_w, 0xffffffff) AM_RANGE(0x03b0, 0x03bf) AM_DEVREADWRITE8("vga", trident_vga_device, port_03b0_r, port_03b0_w, 0xffffffff)
AM_RANGE(0x03c0, 0x03cf) AM_READWRITE8_LEGACY(trident_03c0_r, trident_03c0_w, 0xffffffff) AM_RANGE(0x03c0, 0x03cf) AM_DEVREADWRITE8("vga", trident_vga_device, port_03c0_r, port_03c0_w, 0xffffffff)
AM_RANGE(0x03d0, 0x03df) AM_READWRITE8_LEGACY(trident_03d0_r, trident_03d0_w, 0xffffffff) AM_RANGE(0x03d0, 0x03df) AM_DEVREADWRITE8("vga", trident_vga_device, port_03d0_r, port_03d0_w, 0xffffffff)
AM_RANGE(0x03e0, 0x03ef) AM_NOP //To debug AM_RANGE(0x03e0, 0x03ef) AM_NOP //To debug
AM_RANGE(0x0378, 0x037f) AM_NOP //To debug AM_RANGE(0x0378, 0x037f) AM_NOP //To debug
// AM_RANGE(0x0300, 0x03af) AM_NOP // AM_RANGE(0x0300, 0x03af) AM_NOP
@ -654,8 +653,6 @@ static IRQ_CALLBACK(irq_callback)
return pic8259_acknowledge( state->m_pic8259_1); return pic8259_acknowledge( state->m_pic8259_1);
} }
READ8_MEMBER(voyager_state::vga_setting ) { return 0xff; } // hard-code to color
void voyager_state::machine_start() void voyager_state::machine_start()
{ {
machine().device("maincpu")->execute().set_irq_acknowledge_callback(irq_callback); machine().device("maincpu")->execute().set_irq_acknowledge_callback(irq_callback);
@ -794,7 +791,7 @@ static MACHINE_CONFIG_START( voyager, voyager_state )
MCFG_PCI_BUS_LEGACY_DEVICE(7, NULL, intel82371ab_pci_r, intel82371ab_pci_w) MCFG_PCI_BUS_LEGACY_DEVICE(7, NULL, intel82371ab_pci_r, intel82371ab_pci_w)
/* video hardware */ /* video hardware */
MCFG_FRAGMENT_ADD( pcvideo_vga ) MCFG_FRAGMENT_ADD( pcvideo_trident_vga )
/* sound hardware */ /* sound hardware */
MCFG_SPEAKER_STANDARD_STEREO("lspeaker","rspeaker") MCFG_SPEAKER_STANDARD_STEREO("lspeaker","rspeaker")
@ -804,7 +801,6 @@ DRIVER_INIT_MEMBER(voyager_state,voyager)
{ {
m_bios_ram = auto_alloc_array(machine(), UINT32, 0x20000/4); m_bios_ram = auto_alloc_array(machine(), UINT32, 0x20000/4);
pc_vga_init(machine(), read8_delegate(FUNC(voyager_state::vga_setting),this));
init_pc_common(machine(), PCCOMMON_KEYBOARD_AT, voyager_set_keyb_int); init_pc_common(machine(), PCCOMMON_KEYBOARD_AT, voyager_set_keyb_int);
intel82439tx_init(machine()); intel82439tx_init(machine());

View File

@ -115,7 +115,6 @@ public:
DECLARE_WRITE_LINE_MEMBER(xtom3d_pic8259_1_set_int_line); DECLARE_WRITE_LINE_MEMBER(xtom3d_pic8259_1_set_int_line);
virtual void machine_start(); virtual void machine_start();
virtual void machine_reset(); virtual void machine_reset();
DECLARE_READ8_MEMBER(vga_setting);
}; };
// Intel 82439TX System Controller (MXTC) // Intel 82439TX System Controller (MXTC)
@ -526,7 +525,7 @@ static I8237_INTERFACE( dma8237_2_config )
static ADDRESS_MAP_START(xtom3d_map, AS_PROGRAM, 32, xtom3d_state) static ADDRESS_MAP_START(xtom3d_map, AS_PROGRAM, 32, xtom3d_state)
AM_RANGE(0x00000000, 0x0009ffff) AM_RAM AM_RANGE(0x00000000, 0x0009ffff) AM_RAM
AM_RANGE(0x000a0000, 0x000bffff) AM_READWRITE8_LEGACY(vga_mem_r,vga_mem_w, 0xffffffff) AM_RANGE(0x000a0000, 0x000bffff) AM_DEVREADWRITE8("vga", vga_device, mem_r, mem_w, 0xffffffff)
AM_RANGE(0x000c0000, 0x000c3fff) AM_ROMBANK("video_bank1") AM_WRITE(isa_ram1_w) AM_RANGE(0x000c0000, 0x000c3fff) AM_ROMBANK("video_bank1") AM_WRITE(isa_ram1_w)
AM_RANGE(0x000c4000, 0x000c7fff) AM_ROMBANK("video_bank2") AM_WRITE(isa_ram2_w) AM_RANGE(0x000c4000, 0x000c7fff) AM_ROMBANK("video_bank2") AM_WRITE(isa_ram2_w)
AM_RANGE(0x000e0000, 0x000e3fff) AM_ROMBANK("bios_ext1") AM_WRITE(bios_ext1_ram_w) AM_RANGE(0x000e0000, 0x000e3fff) AM_ROMBANK("bios_ext1") AM_WRITE(bios_ext1_ram_w)
@ -550,9 +549,9 @@ static ADDRESS_MAP_START(xtom3d_io, AS_IO, 32, xtom3d_state)
AM_RANGE(0x00e8, 0x00ef) AM_NOP AM_RANGE(0x00e8, 0x00ef) AM_NOP
AM_RANGE(0x01f0, 0x01f7) AM_READWRITE(ide_r, ide_w) AM_RANGE(0x01f0, 0x01f7) AM_READWRITE(ide_r, ide_w)
AM_RANGE(0x03b0, 0x03bf) AM_READWRITE8_LEGACY(vga_port_03b0_r, vga_port_03b0_w, 0xffffffff) AM_RANGE(0x03b0, 0x03bf) AM_DEVREADWRITE8("vga", vga_device, port_03b0_r, port_03b0_w, 0xffffffff)
AM_RANGE(0x03c0, 0x03cf) AM_READWRITE8_LEGACY(vga_port_03c0_r, vga_port_03c0_w, 0xffffffff) AM_RANGE(0x03c0, 0x03cf) AM_DEVREADWRITE8("vga", vga_device, port_03c0_r, port_03c0_w, 0xffffffff)
AM_RANGE(0x03d0, 0x03df) AM_READWRITE8_LEGACY(vga_port_03d0_r, vga_port_03d0_w, 0xffffffff) AM_RANGE(0x03d0, 0x03df) AM_DEVREADWRITE8("vga", vga_device, port_03d0_r, port_03d0_w, 0xffffffff)
AM_RANGE(0x03f0, 0x03f7) AM_READWRITE(fdc_r, fdc_w) AM_RANGE(0x03f0, 0x03f7) AM_READWRITE(fdc_r, fdc_w)
AM_RANGE(0x0cf8, 0x0cff) AM_DEVREADWRITE("pcibus", pci_bus_legacy_device, read, write) AM_RANGE(0x0cf8, 0x0cff) AM_DEVREADWRITE("pcibus", pci_bus_legacy_device, read, write)
@ -648,8 +647,6 @@ static void ide_interrupt(device_t *device, int state)
pic8259_ir6_w(drvstate->m_pic8259_2, state); pic8259_ir6_w(drvstate->m_pic8259_2, state);
} }
READ8_MEMBER(xtom3d_state::vga_setting ) { return 0xff; } // hard-code to color
void xtom3d_state::machine_start() void xtom3d_state::machine_start()
{ {
@ -667,7 +664,6 @@ void xtom3d_state::machine_start()
intel82439tx_init(machine()); intel82439tx_init(machine());
kbdc8042_init(machine(), &at8042); kbdc8042_init(machine(), &at8042);
pc_vga_init(machine(), read8_delegate(FUNC(xtom3d_state::vga_setting),this));
} }
void xtom3d_state::machine_reset() void xtom3d_state::machine_reset()

View File

@ -59,9 +59,9 @@ static ADDRESS_MAP_START( bebox_mem, AS_PROGRAM, 64, bebox_state )
AM_RANGE(0x800002F8, 0x800002FF) AM_DEVREADWRITE8( "ns16550_1", ns16550_device, ins8250_r, ins8250_w, U64(0xffffffffffffffff) ) AM_RANGE(0x800002F8, 0x800002FF) AM_DEVREADWRITE8( "ns16550_1", ns16550_device, ins8250_r, ins8250_w, U64(0xffffffffffffffff) )
AM_RANGE(0x80000380, 0x80000387) AM_DEVREADWRITE8( "ns16550_2", ns16550_device, ins8250_r, ins8250_w, U64(0xffffffffffffffff) ) AM_RANGE(0x80000380, 0x80000387) AM_DEVREADWRITE8( "ns16550_2", ns16550_device, ins8250_r, ins8250_w, U64(0xffffffffffffffff) )
AM_RANGE(0x80000388, 0x8000038F) AM_DEVREADWRITE8( "ns16550_3", ns16550_device, ins8250_r, ins8250_w, U64(0xffffffffffffffff) ) AM_RANGE(0x80000388, 0x8000038F) AM_DEVREADWRITE8( "ns16550_3", ns16550_device, ins8250_r, ins8250_w, U64(0xffffffffffffffff) )
AM_RANGE(0x800003b0, 0x800003bf) AM_READWRITE8_LEGACY(vga_port_03b0_r, vga_port_03b0_w, U64(0xffffffffffffffff)) AM_RANGE(0x800003b0, 0x800003bf) AM_DEVREADWRITE8("vga", cirrus_vga_device, port_03b0_r, port_03b0_w, U64(0xffffffffffffffff))
AM_RANGE(0x800003c0, 0x800003cf) AM_READWRITE8_LEGACY(cirrus_03c0_r, cirrus_03c0_w, U64(0xffffffffffffffff)) AM_RANGE(0x800003c0, 0x800003cf) AM_DEVREADWRITE8("vga", cirrus_vga_device, port_03c0_r, port_03c0_w, U64(0xffffffffffffffff))
AM_RANGE(0x800003d0, 0x800003df) AM_READWRITE8_LEGACY(vga_port_03d0_r, vga_port_03d0_w, U64(0xffffffffffffffff)) AM_RANGE(0x800003d0, 0x800003df) AM_DEVREADWRITE8("vga", cirrus_vga_device, port_03d0_r, port_03d0_w, U64(0xffffffffffffffff))
AM_RANGE(0x800003F0, 0x800003F7) AM_READWRITE_LEGACY(bebox_800003F0_r, bebox_800003F0_w ) AM_RANGE(0x800003F0, 0x800003F7) AM_READWRITE_LEGACY(bebox_800003F0_r, bebox_800003F0_w )
AM_RANGE(0x800003F8, 0x800003FF) AM_DEVREADWRITE8( "ns16550_0",ns16550_device, ins8250_r, ins8250_w, U64(0xffffffffffffffff) ) AM_RANGE(0x800003F8, 0x800003FF) AM_DEVREADWRITE8( "ns16550_0",ns16550_device, ins8250_r, ins8250_w, U64(0xffffffffffffffff) )
AM_RANGE(0x80000480, 0x8000048F) AM_READWRITE8_LEGACY(bebox_80000480_r, bebox_80000480_w, U64(0xffffffffffffffff) ) AM_RANGE(0x80000480, 0x8000048F) AM_READWRITE8_LEGACY(bebox_80000480_r, bebox_80000480_w, U64(0xffffffffffffffff) )
@ -69,8 +69,8 @@ static ADDRESS_MAP_START( bebox_mem, AS_PROGRAM, 64, bebox_state )
//AM_RANGE(0x800042E8, 0x800042EF) AM_DEVWRITE8_LEGACY("cirrus", cirrus_42E8_w, U64(0xffffffffffffffff) ) //AM_RANGE(0x800042E8, 0x800042EF) AM_DEVWRITE8_LEGACY("cirrus", cirrus_42E8_w, U64(0xffffffffffffffff) )
AM_RANGE(0xBFFFFFF0, 0xBFFFFFFF) AM_READ_LEGACY(bebox_interrupt_ack_r ) AM_RANGE(0xBFFFFFF0, 0xBFFFFFFF) AM_READ_LEGACY(bebox_interrupt_ack_r )
AM_RANGE(0xC00A0000, 0XC00BFFFF) AM_READWRITE8_LEGACY(vga_mem_r, vga_mem_w, U64(0xffffffffffffffff) ) AM_RANGE(0xC00A0000, 0XC00BFFFF) AM_DEVREADWRITE8("vga", cirrus_vga_device, mem_r, mem_w, U64(0xffffffffffffffff) )
AM_RANGE(0xC1000000, 0XC11FFFFF) AM_READWRITE8_LEGACY(vga_mem_linear_r, vga_mem_linear_w, U64(0xffffffffffffffff) ) AM_RANGE(0xC1000000, 0XC11FFFFF) AM_DEVREADWRITE8("vga", cirrus_vga_device, mem_linear_r, mem_linear_w, U64(0xffffffffffffffff) )
AM_RANGE(0xFFF00000, 0xFFF03FFF) AM_ROMBANK("bank2") AM_RANGE(0xFFF00000, 0xFFF03FFF) AM_ROMBANK("bank2")
AM_RANGE(0xFFF04000, 0xFFFFFFFF) AM_READWRITE8_LEGACY(bebox_flash_r, bebox_flash_w, U64(0xffffffffffffffff) ) AM_RANGE(0xFFF04000, 0xFFFFFFFF) AM_READWRITE8_LEGACY(bebox_flash_r, bebox_flash_w, U64(0xffffffffffffffff) )
ADDRESS_MAP_END ADDRESS_MAP_END
@ -186,7 +186,7 @@ static MACHINE_CONFIG_START( bebox, bebox_state )
MCFG_NS16550_ADD( "ns16550_3", bebox_uart_inteface_3, 0 ) /* TODO: Verify model */ MCFG_NS16550_ADD( "ns16550_3", bebox_uart_inteface_3, 0 ) /* TODO: Verify model */
/* video hardware */ /* video hardware */
MCFG_FRAGMENT_ADD( pcvideo_vga ) MCFG_FRAGMENT_ADD( pcvideo_cirrus_vga )
MCFG_SPEAKER_STANDARD_MONO("mono") MCFG_SPEAKER_STANDARD_MONO("mono")

View File

@ -22,7 +22,6 @@ public:
: driver_device(mconfig, type, tag) { } : driver_device(mconfig, type, tag) { }
DECLARE_DRIVER_INIT(indiana); DECLARE_DRIVER_INIT(indiana);
virtual void machine_reset(); virtual void machine_reset();
DECLARE_READ8_MEMBER(indiana_vga_setting);
}; };
@ -35,10 +34,10 @@ static ADDRESS_MAP_START(indiana_mem, AS_PROGRAM, 32, indiana_state)
AM_RANGE(0x00500000, 0x005fffff) AM_MIRROR(0x7f800000) AM_RAM // 16 bit PC MEM AM_RANGE(0x00500000, 0x005fffff) AM_MIRROR(0x7f800000) AM_RAM // 16 bit PC MEM
AM_RANGE(0x00600000, 0x006fffff) AM_MIRROR(0x7f800000) AM_RAM // 8 bit PC IO AM_RANGE(0x00600000, 0x006fffff) AM_MIRROR(0x7f800000) AM_RAM // 8 bit PC IO
AM_RANGE(0x00700000, 0x007fffff) AM_MIRROR(0x7f800000) AM_RAM // 8 bit PC MEM AM_RANGE(0x00700000, 0x007fffff) AM_MIRROR(0x7f800000) AM_RAM // 8 bit PC MEM
AM_RANGE(0x7f6003b0, 0x7f6003bf) AM_READWRITE8_LEGACY(vga_port_03b0_r, vga_port_03b0_w, 0xffffffff) AM_RANGE(0x7f6003b0, 0x7f6003bf) AM_DEVREADWRITE8("vga", vga_device, port_03b0_r, port_03b0_w, 0xffffffff)
AM_RANGE(0x7f6003c0, 0x7f6003cf) AM_READWRITE8_LEGACY(vga_port_03c0_r, vga_port_03c0_w, 0xffffffff) AM_RANGE(0x7f6003c0, 0x7f6003cf) AM_DEVREADWRITE8("vga", vga_device, port_03c0_r, port_03c0_w, 0xffffffff)
AM_RANGE(0x7f6003d0, 0x7f6003df) AM_READWRITE8_LEGACY(vga_port_03d0_r, vga_port_03d0_w, 0xffffffff) AM_RANGE(0x7f6003d0, 0x7f6003df) AM_DEVREADWRITE8("vga", vga_device, port_03d0_r, port_03d0_w, 0xffffffff)
AM_RANGE(0x7f7a0000, 0x7f7bffff) AM_READWRITE8_LEGACY(vga_mem_r,vga_mem_w, 0xffffffff) AM_RANGE(0x7f7a0000, 0x7f7bffff) AM_DEVREADWRITE8("vga", vga_device, mem_r, mem_w, 0xffffffff)
AM_RANGE(0x80000000, 0x803fffff) AM_MIRROR(0x7fc00000) AM_RAM // 4 MB RAM AM_RANGE(0x80000000, 0x803fffff) AM_MIRROR(0x7fc00000) AM_RAM // 4 MB RAM
ADDRESS_MAP_END ADDRESS_MAP_END
@ -81,14 +80,8 @@ static MACHINE_CONFIG_START( indiana, indiana_state )
MCFG_FRAGMENT_ADD( pcvideo_vga ) MCFG_FRAGMENT_ADD( pcvideo_vga )
MACHINE_CONFIG_END MACHINE_CONFIG_END
READ8_MEMBER(indiana_state::indiana_vga_setting)
{
return 0xff; // TODO
}
DRIVER_INIT_MEMBER(indiana_state,indiana) DRIVER_INIT_MEMBER(indiana_state,indiana)
{ {
pc_vga_init(machine(), read8_delegate(FUNC(indiana_state::indiana_vga_setting),this));
} }
/* ROM definition */ /* ROM definition */

View File

@ -93,7 +93,6 @@ cirrus_device::cirrus_device(const machine_config &mconfig, const char *tag, dev
void cirrus_device::device_start() void cirrus_device::device_start()
{ {
pc_vga_cirrus_init(machine(), read8_delegate());
} }
//------------------------------------------------- //-------------------------------------------------
@ -159,5 +158,5 @@ void cirrus_device::pci_write(pci_bus_device *pcibus, int function, int offset,
WRITE8_DEVICE_HANDLER( cirrus_42E8_w ) WRITE8_DEVICE_HANDLER( cirrus_42E8_w )
{ {
if (data & 0x80) if (data & 0x80)
pc_vga_reset(space.machine()); device->machine().device("vga")->reset();
} }

View File

@ -20,6 +20,15 @@ ROM_END
const device_type ISA8_SVGA_CIRRUS = &device_creator<isa8_svga_cirrus_device>; const device_type ISA8_SVGA_CIRRUS = &device_creator<isa8_svga_cirrus_device>;
static MACHINE_CONFIG_FRAGMENT( vga_cirrus )
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(XTAL_25_1748MHz,900,0,640,526,0,480)
MCFG_SCREEN_UPDATE_DEVICE("vga", cirrus_vga_device, screen_update)
MCFG_PALETTE_LENGTH(0x100)
MCFG_DEVICE_ADD("vga", CIRRUS_VGA, 0)
MACHINE_CONFIG_END
//------------------------------------------------- //-------------------------------------------------
// machine_config_additions - device-specific // machine_config_additions - device-specific
@ -28,7 +37,7 @@ const device_type ISA8_SVGA_CIRRUS = &device_creator<isa8_svga_cirrus_device>;
machine_config_constructor isa8_svga_cirrus_device::device_mconfig_additions() const machine_config_constructor isa8_svga_cirrus_device::device_mconfig_additions() const
{ {
return MACHINE_CONFIG_NAME( pcvideo_vga_isa ); return MACHINE_CONFIG_NAME( vga_cirrus );
} }
//------------------------------------------------- //-------------------------------------------------
@ -64,23 +73,16 @@ void isa8_svga_cirrus_device::device_start()
{ {
set_isa_device(); set_isa_device();
video_start_vga( machine() ); m_vga = subdevice<cirrus_vga_device>("vga");
pc_vga_init(machine(), read8_delegate(FUNC(isa8_svga_cirrus_device::input_port_0_r),this));
int i;
for (i = 0; i < 0x100; i++)
palette_set_color_rgb(machine(), i, 0, 0, 0);
pc_video_start(machine());
m_isa->install_rom(this, 0xc0000, 0xc7fff, 0, 0, "svga", "dm_clgd5430"); m_isa->install_rom(this, 0xc0000, 0xc7fff, 0, 0, "svga", "dm_clgd5430");
m_isa->install_device(0x03b0, 0x03bf, 0, 0, FUNC(vga_port_03b0_r), FUNC(vga_port_03b0_w)); m_isa->install_device(0x03b0, 0x03bf, 0, 0, read8_delegate(FUNC(cirrus_vga_device::port_03b0_r),m_vga), write8_delegate(FUNC(cirrus_vga_device::port_03b0_w),m_vga));
m_isa->install_device(0x03c0, 0x03cf, 0, 0, FUNC(vga_port_03c0_r), FUNC(vga_port_03c0_w)); m_isa->install_device(0x03c0, 0x03cf, 0, 0, read8_delegate(FUNC(cirrus_vga_device::port_03c0_r),m_vga), write8_delegate(FUNC(cirrus_vga_device::port_03c0_w),m_vga));
m_isa->install_device(0x03d0, 0x03df, 0, 0, FUNC(vga_port_03d0_r), FUNC(vga_port_03d0_w)); m_isa->install_device(0x03d0, 0x03df, 0, 0, read8_delegate(FUNC(cirrus_vga_device::port_03d0_r),m_vga), write8_delegate(FUNC(cirrus_vga_device::port_03d0_w),m_vga));
// m_isa->install_device(0x9ae8, 0x9aeb, 0, 0, FUNC(s3_port_9ae8_r), FUNC(s3_port_9ae8_w)); // m_isa->install_device(0x9ae8, 0x9aeb, 0, 0, read8_delegate(FUNC(cirrus_vga_device::s3_port_9ae8_r),m_vga), write8_delegate(FUNC(cirrus_vga_device::s3_port_9ae8_w),m_vga));
m_isa->install_memory(0xa0000, 0xbffff, 0, 0, FUNC(vga_mem_r), FUNC(vga_mem_w)); m_isa->install_memory(0xa0000, 0xbffff, 0, 0, read8_delegate(FUNC(cirrus_vga_device::mem_r),m_vga), write8_delegate(FUNC(cirrus_vga_device::mem_w),m_vga));
} }
//------------------------------------------------- //-------------------------------------------------
@ -89,5 +91,4 @@ void isa8_svga_cirrus_device::device_start()
void isa8_svga_cirrus_device::device_reset() void isa8_svga_cirrus_device::device_reset()
{ {
pc_vga_reset(machine());
} }

View File

@ -5,6 +5,7 @@
#include "emu.h" #include "emu.h"
#include "machine/isa.h" #include "machine/isa.h"
#include "video/pc_vga.h"
//************************************************************************** //**************************************************************************
// TYPE DEFINITIONS // TYPE DEFINITIONS
@ -29,6 +30,8 @@ protected:
// device-level overrides // device-level overrides
virtual void device_start(); virtual void device_start();
virtual void device_reset(); virtual void device_reset();
private:
cirrus_vga_device *m_vga;
}; };

View File

@ -21,6 +21,16 @@ ROM_END
const device_type ISA16_SVGA_S3 = &device_creator<isa16_svga_s3_device>; const device_type ISA16_SVGA_S3 = &device_creator<isa16_svga_s3_device>;
static MACHINE_CONFIG_FRAGMENT( vga_s3 )
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(XTAL_25_1748MHz,900,0,640,526,0,480)
MCFG_SCREEN_UPDATE_DEVICE("vga", s3_vga_device, screen_update)
MCFG_PALETTE_LENGTH(0x100)
MCFG_DEVICE_ADD("vga", S3_VGA, 0)
MACHINE_CONFIG_END
//------------------------------------------------- //-------------------------------------------------
// machine_config_additions - device-specific // machine_config_additions - device-specific
// machine configurations // machine configurations
@ -28,7 +38,7 @@ const device_type ISA16_SVGA_S3 = &device_creator<isa16_svga_s3_device>;
machine_config_constructor isa16_svga_s3_device::device_mconfig_additions() const machine_config_constructor isa16_svga_s3_device::device_mconfig_additions() const
{ {
return MACHINE_CONFIG_NAME( pcvideo_s3_isa ); return MACHINE_CONFIG_NAME( vga_s3 );
} }
//------------------------------------------------- //-------------------------------------------------
@ -64,36 +74,29 @@ void isa16_svga_s3_device::device_start()
{ {
set_isa_device(); set_isa_device();
video_start_vga( machine() ); m_vga = subdevice<s3_vga_device>("vga");
pc_vga_init(machine(), read8_delegate(FUNC(isa16_svga_s3_device::input_port_0_r),this));
int i;
for (i = 0; i < 0x100; i++)
palette_set_color_rgb(machine(), i, 0, 0, 0);
s3_video_start(machine());
m_isa->install_rom(this, 0xc0000, 0xc7fff, 0, 0, "svga", "s3_764"); m_isa->install_rom(this, 0xc0000, 0xc7fff, 0, 0, "svga", "s3_764");
m_isa->install_device(0x03b0, 0x03bf, 0, 0, FUNC(s3_port_03b0_r), FUNC(s3_port_03b0_w)); m_isa->install_device(0x03b0, 0x03bf, 0, 0, read8_delegate(FUNC(s3_vga_device::port_03b0_r),m_vga), write8_delegate(FUNC(s3_vga_device::port_03b0_w),m_vga));
m_isa->install_device(0x03c0, 0x03cf, 0, 0, FUNC(s3_port_03c0_r), FUNC(s3_port_03c0_w)); m_isa->install_device(0x03c0, 0x03cf, 0, 0, read8_delegate(FUNC(s3_vga_device::port_03c0_r),m_vga), write8_delegate(FUNC(s3_vga_device::port_03c0_w),m_vga));
m_isa->install_device(0x03d0, 0x03df, 0, 0, FUNC(s3_port_03d0_r), FUNC(s3_port_03d0_w)); m_isa->install_device(0x03d0, 0x03df, 0, 0, read8_delegate(FUNC(s3_vga_device::port_03d0_r),m_vga), write8_delegate(FUNC(s3_vga_device::port_03d0_w),m_vga));
m_isa->install16_device(0x82e8, 0x82eb, 0, 0, FUNC(ibm8514_currenty_r), FUNC(ibm8514_currenty_w)); m_isa->install16_device(0x82e8, 0x82eb, 0, 0, read16_delegate(FUNC(s3_vga_device::ibm8514_currenty_r),m_vga), write16_delegate(FUNC(s3_vga_device::ibm8514_currenty_w),m_vga));
m_isa->install16_device(0x86e8, 0x86eb, 0, 0, FUNC(ibm8514_currentx_r), FUNC(ibm8514_currentx_w)); m_isa->install16_device(0x86e8, 0x86eb, 0, 0, read16_delegate(FUNC(s3_vga_device::ibm8514_currentx_r),m_vga), write16_delegate(FUNC(s3_vga_device::ibm8514_currentx_w),m_vga));
m_isa->install16_device(0x8ae8, 0x8aeb, 0, 0, FUNC(ibm8514_desty_r), FUNC(ibm8514_desty_w)); m_isa->install16_device(0x8ae8, 0x8aeb, 0, 0, read16_delegate(FUNC(s3_vga_device::ibm8514_desty_r),m_vga), write16_delegate(FUNC(s3_vga_device::ibm8514_desty_w),m_vga));
m_isa->install16_device(0x8ee8, 0x8eeb, 0, 0, FUNC(ibm8514_destx_r), FUNC(ibm8514_destx_w)); m_isa->install16_device(0x8ee8, 0x8eeb, 0, 0, read16_delegate(FUNC(s3_vga_device::ibm8514_destx_r),m_vga), write16_delegate(FUNC(s3_vga_device::ibm8514_destx_w),m_vga));
m_isa->install16_device(0x92e8, 0x92eb, 0, 0, FUNC(s3_line_error_r), FUNC(s3_line_error_w)); m_isa->install16_device(0x92e8, 0x92eb, 0, 0, read16_delegate(FUNC(s3_vga_device::s3_line_error_r),m_vga), write16_delegate(FUNC(s3_vga_device::s3_line_error_w),m_vga));
m_isa->install16_device(0x96e8, 0x96eb, 0, 0, FUNC(s3_width_r), FUNC(s3_width_w)); m_isa->install16_device(0x96e8, 0x96eb, 0, 0, read16_delegate(FUNC(s3_vga_device::s3_width_r),m_vga), write16_delegate(FUNC(s3_vga_device::s3_width_w),m_vga));
m_isa->install16_device(0x9ae8, 0x9aeb, 0, 0, FUNC(s3_gpstatus_r), FUNC(s3_cmd_w)); m_isa->install16_device(0x9ae8, 0x9aeb, 0, 0, read16_delegate(FUNC(s3_vga_device::s3_gpstatus_r),m_vga), write16_delegate(FUNC(s3_vga_device::s3_cmd_w),m_vga));
m_isa->install16_device(0x9ee8, 0x9eeb, 0, 0, FUNC(ibm8514_ssv_r), FUNC(ibm8514_ssv_w)); m_isa->install16_device(0x9ee8, 0x9eeb, 0, 0, read16_delegate(FUNC(s3_vga_device::ibm8514_ssv_r),m_vga), write16_delegate(FUNC(s3_vga_device::ibm8514_ssv_w),m_vga));
m_isa->install16_device(0xa2e8, 0xa2eb, 0, 0, FUNC(s3_bgcolour_r), FUNC(s3_bgcolour_w)); m_isa->install16_device(0xa2e8, 0xa2eb, 0, 0, read16_delegate(FUNC(s3_vga_device::s3_bgcolour_r),m_vga), write16_delegate(FUNC(s3_vga_device::s3_bgcolour_w),m_vga));
m_isa->install16_device(0xa6e8, 0xa6eb, 0, 0, FUNC(s3_fgcolour_r), FUNC(s3_fgcolour_w)); m_isa->install16_device(0xa6e8, 0xa6eb, 0, 0, read16_delegate(FUNC(s3_vga_device::s3_fgcolour_r),m_vga), write16_delegate(FUNC(s3_vga_device::s3_fgcolour_w),m_vga));
m_isa->install16_device(0xb6e8, 0xb6eb, 0, 0, FUNC(s3_backmix_r), FUNC(s3_backmix_w)); m_isa->install16_device(0xb6e8, 0xb6eb, 0, 0, read16_delegate(FUNC(s3_vga_device::s3_backmix_r),m_vga), write16_delegate(FUNC(s3_vga_device::s3_backmix_w),m_vga));
m_isa->install16_device(0xbae8, 0xbaeb, 0, 0, FUNC(s3_foremix_r), FUNC(s3_foremix_w)); m_isa->install16_device(0xbae8, 0xbaeb, 0, 0, read16_delegate(FUNC(s3_vga_device::s3_foremix_r),m_vga), write16_delegate(FUNC(s3_vga_device::s3_foremix_w),m_vga));
m_isa->install16_device(0xbee8, 0xbeeb, 0, 0, FUNC(s3_multifunc_r), FUNC(s3_multifunc_w)); m_isa->install16_device(0xbee8, 0xbeeb, 0, 0, read16_delegate(FUNC(s3_vga_device::s3_multifunc_r),m_vga), write16_delegate(FUNC(s3_vga_device::s3_multifunc_w),m_vga));
m_isa->install16_device(0xe2e8, 0xe2eb, 0, 0, FUNC(s3_pixel_xfer_r), FUNC(s3_pixel_xfer_w)); m_isa->install16_device(0xe2e8, 0xe2eb, 0, 0, read16_delegate(FUNC(s3_vga_device::s3_pixel_xfer_r),m_vga), write16_delegate(FUNC(s3_vga_device::s3_pixel_xfer_w),m_vga));
m_isa->install_memory(0xa0000, 0xbffff, 0, 0, FUNC(s3_mem_r), FUNC(s3_mem_w)); m_isa->install_memory(0xa0000, 0xbffff, 0, 0, read8_delegate(FUNC(s3_vga_device::mem_r),m_vga), write8_delegate(FUNC(s3_vga_device::mem_w),m_vga));
} }
//------------------------------------------------- //-------------------------------------------------
@ -102,5 +105,4 @@ void isa16_svga_s3_device::device_start()
void isa16_svga_s3_device::device_reset() void isa16_svga_s3_device::device_reset()
{ {
pc_vga_reset(machine());
} }

View File

@ -5,6 +5,7 @@
#include "emu.h" #include "emu.h"
#include "machine/isa.h" #include "machine/isa.h"
#include "video/pc_vga.h"
//************************************************************************** //**************************************************************************
// TYPE DEFINITIONS // TYPE DEFINITIONS
@ -29,6 +30,8 @@ protected:
// device-level overrides // device-level overrides
virtual void device_start(); virtual void device_start();
virtual void device_reset(); virtual void device_reset();
private:
s3_vga_device *m_vga;
}; };

View File

@ -20,6 +20,16 @@ ROM_END
const device_type ISA8_SVGA_ET4K = &device_creator<isa8_svga_et4k_device>; const device_type ISA8_SVGA_ET4K = &device_creator<isa8_svga_et4k_device>;
static MACHINE_CONFIG_FRAGMENT( vga_tseng )
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(XTAL_25_1748MHz,900,0,640,526,0,480)
MCFG_SCREEN_UPDATE_DEVICE("vga", tseng_vga_device, screen_update)
MCFG_PALETTE_LENGTH(0x100)
MCFG_DEVICE_ADD("vga", TSENG_VGA, 0)
MACHINE_CONFIG_END
//------------------------------------------------- //-------------------------------------------------
// machine_config_additions - device-specific // machine_config_additions - device-specific
// machine configurations // machine configurations
@ -27,7 +37,7 @@ const device_type ISA8_SVGA_ET4K = &device_creator<isa8_svga_et4k_device>;
machine_config_constructor isa8_svga_et4k_device::device_mconfig_additions() const machine_config_constructor isa8_svga_et4k_device::device_mconfig_additions() const
{ {
return MACHINE_CONFIG_NAME( pcvideo_vga_isa ); return MACHINE_CONFIG_NAME( vga_tseng );
} }
//------------------------------------------------- //-------------------------------------------------
@ -63,22 +73,15 @@ void isa8_svga_et4k_device::device_start()
{ {
set_isa_device(); set_isa_device();
video_start_vga( machine() ); m_vga = subdevice<tseng_vga_device>("vga");
pc_vga_init(machine(), read8_delegate(FUNC(isa8_svga_et4k_device::input_port_0_r),this));
int i;
for (i = 0; i < 0x100; i++)
palette_set_color_rgb(machine(), i, 0, 0, 0);
pc_video_start(machine());
m_isa->install_rom(this, 0xc0000, 0xc7fff, 0, 0, "et4000", "et4000"); m_isa->install_rom(this, 0xc0000, 0xc7fff, 0, 0, "et4000", "et4000");
m_isa->install_device(0x3b0, 0x3bf, 0, 0, FUNC(tseng_et4k_03b0_r), FUNC(tseng_et4k_03b0_w)); m_isa->install_device(0x3b0, 0x3bf, 0, 0, read8_delegate(FUNC(tseng_vga_device::port_03b0_r),m_vga), write8_delegate(FUNC(tseng_vga_device::port_03b0_w),m_vga));
m_isa->install_device(0x3c0, 0x3cf, 0, 0, FUNC(tseng_et4k_03c0_r), FUNC(tseng_et4k_03c0_w)); m_isa->install_device(0x3c0, 0x3cf, 0, 0, read8_delegate(FUNC(tseng_vga_device::port_03c0_r),m_vga), write8_delegate(FUNC(tseng_vga_device::port_03c0_w),m_vga));
m_isa->install_device(0x3d0, 0x3df, 0, 0, FUNC(tseng_et4k_03d0_r), FUNC(tseng_et4k_03d0_w)); m_isa->install_device(0x3d0, 0x3df, 0, 0, read8_delegate(FUNC(tseng_vga_device::port_03d0_r),m_vga), write8_delegate(FUNC(tseng_vga_device::port_03d0_w),m_vga));
m_isa->install_memory(0xa0000, 0xbffff, 0, 0, FUNC(tseng_mem_r), FUNC(tseng_mem_w)); m_isa->install_memory(0xa0000, 0xbffff, 0, 0, read8_delegate(FUNC(tseng_vga_device::mem_r),m_vga), write8_delegate(FUNC(tseng_vga_device::mem_w),m_vga));
} }
//------------------------------------------------- //-------------------------------------------------
@ -87,5 +90,4 @@ void isa8_svga_et4k_device::device_start()
void isa8_svga_et4k_device::device_reset() void isa8_svga_et4k_device::device_reset()
{ {
pc_vga_reset(machine());
} }

View File

@ -5,6 +5,7 @@
#include "emu.h" #include "emu.h"
#include "machine/isa.h" #include "machine/isa.h"
#include "video/pc_vga.h"
//************************************************************************** //**************************************************************************
// TYPE DEFINITIONS // TYPE DEFINITIONS
@ -29,6 +30,8 @@ protected:
// device-level overrides // device-level overrides
virtual void device_start(); virtual void device_start();
virtual void device_reset(); virtual void device_reset();
private:
tseng_vga_device *m_vga;
}; };

View File

@ -27,7 +27,7 @@ const device_type ISA8_VGA = &device_creator<isa8_vga_device>;
machine_config_constructor isa8_vga_device::device_mconfig_additions() const machine_config_constructor isa8_vga_device::device_mconfig_additions() const
{ {
return MACHINE_CONFIG_NAME( pcvideo_vga_isa ); return MACHINE_CONFIG_NAME( pcvideo_vga );
} }
//------------------------------------------------- //-------------------------------------------------
@ -62,23 +62,16 @@ READ8_MEMBER( isa8_vga_device::input_port_0_r ) { return 0xff; } //return space.
void isa8_vga_device::device_start() void isa8_vga_device::device_start()
{ {
set_isa_device(); set_isa_device();
video_start_vga( machine() ); m_vga = subdevice<vga_device>("vga");
pc_vga_init(machine(), read8_delegate(FUNC(isa8_vga_device::input_port_0_r),this));
int i;
for (i = 0; i < 0x100; i++)
palette_set_color_rgb(machine(), i, 0, 0, 0);
pc_video_start(machine());
m_isa->install_rom(this, 0xc0000, 0xc7fff, 0, 0, "ibm_vga", "ibm_vga"); m_isa->install_rom(this, 0xc0000, 0xc7fff, 0, 0, "ibm_vga", "ibm_vga");
m_isa->install_device(0x3b0, 0x3bf, 0, 0, FUNC(vga_port_03b0_r), FUNC(vga_port_03b0_w)); m_isa->install_device(0x3b0, 0x3bf, 0, 0, read8_delegate(FUNC(vga_device::port_03b0_r),m_vga), write8_delegate(FUNC(vga_device::port_03b0_w),m_vga));
m_isa->install_device(0x3c0, 0x3cf, 0, 0, FUNC(vga_port_03c0_r), FUNC(vga_port_03c0_w)); m_isa->install_device(0x3c0, 0x3cf, 0, 0, read8_delegate(FUNC(vga_device::port_03c0_r),m_vga), write8_delegate(FUNC(vga_device::port_03c0_w),m_vga));
m_isa->install_device(0x3d0, 0x3df, 0, 0, FUNC(vga_port_03d0_r), FUNC(vga_port_03d0_w)); m_isa->install_device(0x3d0, 0x3df, 0, 0, read8_delegate(FUNC(vga_device::port_03d0_r),m_vga), write8_delegate(FUNC(vga_device::port_03d0_w),m_vga));
m_isa->install_memory(0xa0000, 0xbffff, 0, 0, FUNC(vga_mem_r), FUNC(vga_mem_w)); m_isa->install_memory(0xa0000, 0xbffff, 0, 0, read8_delegate(FUNC(vga_device::mem_r),m_vga), write8_delegate(FUNC(vga_device::mem_w),m_vga));
} }
//------------------------------------------------- //-------------------------------------------------
@ -87,5 +80,4 @@ void isa8_vga_device::device_start()
void isa8_vga_device::device_reset() void isa8_vga_device::device_reset()
{ {
pc_vga_reset(machine());
} }

View File

@ -5,6 +5,7 @@
#include "emu.h" #include "emu.h"
#include "machine/isa.h" #include "machine/isa.h"
#include "video/pc_vga.h"
//************************************************************************** //**************************************************************************
// TYPE DEFINITIONS // TYPE DEFINITIONS
@ -29,6 +30,8 @@ protected:
// device-level overrides // device-level overrides
virtual void device_start(); virtual void device_start();
virtual void device_reset(); virtual void device_reset();
private:
vga_device *m_vga;
}; };

View File

@ -23,6 +23,15 @@ ROM_END
const device_type ISA16_VGA_GFXULTRA = &device_creator<isa16_vga_gfxultra_device>; const device_type ISA16_VGA_GFXULTRA = &device_creator<isa16_vga_gfxultra_device>;
static MACHINE_CONFIG_FRAGMENT( vga_ati )
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(XTAL_25_1748MHz,900,0,640,526,0,480)
MCFG_SCREEN_UPDATE_DEVICE("vga", ati_vga_device, screen_update)
MCFG_PALETTE_LENGTH(0x100)
MCFG_DEVICE_ADD("vga", ATI_VGA, 0)
MACHINE_CONFIG_END
//------------------------------------------------- //-------------------------------------------------
// machine_config_additions - device-specific // machine_config_additions - device-specific
@ -31,7 +40,7 @@ const device_type ISA16_VGA_GFXULTRA = &device_creator<isa16_vga_gfxultra_device
machine_config_constructor isa16_vga_gfxultra_device::device_mconfig_additions() const machine_config_constructor isa16_vga_gfxultra_device::device_mconfig_additions() const
{ {
return MACHINE_CONFIG_NAME( pcvideo_ati_isa ); return MACHINE_CONFIG_NAME( vga_ati );
} }
//------------------------------------------------- //-------------------------------------------------
@ -67,55 +76,48 @@ void isa16_vga_gfxultra_device::device_start()
{ {
set_isa_device(); set_isa_device();
video_start_vga( machine() ); m_vga = subdevice<ati_vga_device>("vga");
pc_vga_init(machine(), read8_delegate(FUNC(isa16_vga_gfxultra_device::input_port_0_r),this));
int i;
for (i = 0; i < 0x100; i++)
palette_set_color_rgb(machine(), i, 0, 0, 0);
pc_video_start(machine());
m_isa->install_rom(this, 0xc0000, 0xc7fff, 0, 0, "vga", "gfxultra"); m_isa->install_rom(this, 0xc0000, 0xc7fff, 0, 0, "vga", "gfxultra");
m_isa->install_device(this, 0x1ce, 0x1cf, 0, 0, FUNC(ati_port_ext_r), FUNC(ati_port_ext_w)); m_isa->install_device(0x1ce, 0x1cf, 0, 0, read8_delegate(FUNC(ati_vga_device::ati_port_ext_r),m_vga), write8_delegate(FUNC(ati_vga_device::ati_port_ext_w),m_vga));
m_isa->install16_device(0x2e8, 0x2eb, 0, 0, FUNC(ibm8514_status_r), FUNC(ibm8514_htotal_w)); m_isa->install16_device(0x2e8, 0x2eb, 0, 0, read16_delegate(FUNC(ati_vga_device::ibm8514_status_r),m_vga), write16_delegate(FUNC(ati_vga_device::ibm8514_htotal_w),m_vga));
m_isa->install_device(0x3b0, 0x3bf, 0, 0, FUNC(vga_port_03b0_r), FUNC(vga_port_03b0_w)); m_isa->install_device(0x3b0, 0x3bf, 0, 0, read8_delegate(FUNC(ati_vga_device::port_03b0_r),m_vga), write8_delegate(FUNC(vga_device::port_03b0_w),m_vga));
m_isa->install_device(0x3c0, 0x3cf, 0, 0, FUNC(ati_port_03c0_r), FUNC(vga_port_03c0_w)); m_isa->install_device(0x3c0, 0x3cf, 0, 0, read8_delegate(FUNC(ati_vga_device::port_03c0_r),m_vga), write8_delegate(FUNC(vga_device::port_03c0_w),m_vga));
m_isa->install_device(0x3d0, 0x3df, 0, 0, FUNC(vga_port_03d0_r), FUNC(vga_port_03d0_w)); m_isa->install_device(0x3d0, 0x3df, 0, 0, read8_delegate(FUNC(ati_vga_device::port_03d0_r),m_vga), write8_delegate(FUNC(vga_device::port_03d0_w),m_vga));
m_isa->install16_device(0x12e8, 0x12eb, 0, 0, FUNC(ibm8514_vtotal_r),FUNC(ibm8514_vtotal_w)); m_isa->install16_device(0x12e8, 0x12eb, 0, 0, read16_delegate(FUNC(ati_vga_device::ibm8514_vtotal_r),m_vga), write16_delegate(FUNC(ati_vga_device::ibm8514_vtotal_w),m_vga));
m_isa->install16_device(0x12ec, 0x12ef, 0, 0, FUNC(mach8_config1_r),NULL,NULL); m_isa->install16_device(0x12ec, 0x12ef, 0, 0, read16_delegate(FUNC(ati_vga_device::mach8_config1_r),m_vga), write16_delegate());
m_isa->install16_device(0x16e8, 0x16eb, 0, 0, FUNC(ibm8514_vdisp_r),FUNC(ibm8514_vdisp_w)); m_isa->install16_device(0x16e8, 0x16eb, 0, 0, read16_delegate(FUNC(ati_vga_device::ibm8514_vdisp_r),m_vga), write16_delegate(FUNC(ati_vga_device::ibm8514_vdisp_w),m_vga));
m_isa->install16_device(0x16ec, 0x16ef, 0, 0, FUNC(mach8_config2_r),NULL,NULL); m_isa->install16_device(0x16ec, 0x16ef, 0, 0, read16_delegate(FUNC(ati_vga_device::mach8_config2_r),m_vga), write16_delegate());
m_isa->install16_device(0x1ae8, 0x1aeb, 0, 0, FUNC(ibm8514_vsync_r),FUNC(ibm8514_vsync_w)); m_isa->install16_device(0x1ae8, 0x1aeb, 0, 0, read16_delegate(FUNC(ati_vga_device::ibm8514_vsync_r),m_vga), write16_delegate(FUNC(ati_vga_device::ibm8514_vsync_w),m_vga));
m_isa->install16_device(0x26e8, 0x26eb, 0, 0, FUNC(ibm8514_htotal_r),NULL,NULL); m_isa->install16_device(0x26e8, 0x26eb, 0, 0, read16_delegate(FUNC(ati_vga_device::ibm8514_htotal_r),m_vga),write16_delegate());
m_isa->install16_device(0x2ee8, 0x2eeb, 0, 0, FUNC(ibm8514_subcontrol_r),NULL,NULL); m_isa->install16_device(0x2ee8, 0x2eeb, 0, 0, read16_delegate(FUNC(ati_vga_device::ibm8514_subcontrol_r),m_vga),write16_delegate());
m_isa->install16_device(0x42e8, 0x42eb, 0, 0, FUNC(ibm8514_substatus_r), FUNC(ibm8514_subcontrol_w)); m_isa->install16_device(0x42e8, 0x42eb, 0, 0, read16_delegate(FUNC(ati_vga_device::ibm8514_substatus_r),m_vga), write16_delegate(FUNC(ati_vga_device::ibm8514_subcontrol_w),m_vga));
m_isa->install16_device(0x52e8, 0x52eb, 0, 0, FUNC(mach8_ec0_r), FUNC(mach8_ec0_w)); m_isa->install16_device(0x52e8, 0x52eb, 0, 0, read16_delegate(FUNC(ati_vga_device::mach8_ec0_r),m_vga), write16_delegate(FUNC(ati_vga_device::mach8_ec0_w),m_vga));
m_isa->install16_device(0x52ec, 0x52ef, 0, 0, FUNC(mach8_scratch0_r), FUNC(mach8_scratch0_w)); m_isa->install16_device(0x52ec, 0x52ef, 0, 0, read16_delegate(FUNC(ati_vga_device::mach8_scratch0_r),m_vga), write16_delegate(FUNC(ati_vga_device::mach8_scratch0_w),m_vga));
m_isa->install16_device(0x56e8, 0x56eb, 0, 0, FUNC(mach8_ec1_r), FUNC(mach8_ec1_w)); m_isa->install16_device(0x56e8, 0x56eb, 0, 0, read16_delegate(FUNC(ati_vga_device::mach8_ec1_r),m_vga), write16_delegate(FUNC(ati_vga_device::mach8_ec1_w),m_vga));
m_isa->install16_device(0x56ec, 0x56ef, 0, 0, FUNC(mach8_scratch0_r), FUNC(mach8_scratch0_w)); m_isa->install16_device(0x56ec, 0x56ef, 0, 0, read16_delegate(FUNC(ati_vga_device::mach8_scratch0_r),m_vga), write16_delegate(FUNC(ati_vga_device::mach8_scratch0_w),m_vga));
m_isa->install16_device(0x5ae8, 0x5aeb, 0, 0, FUNC(mach8_ec2_r), FUNC(mach8_ec2_w)); m_isa->install16_device(0x5ae8, 0x5aeb, 0, 0, read16_delegate(FUNC(ati_vga_device::mach8_ec2_r),m_vga), write16_delegate(FUNC(ati_vga_device::mach8_ec2_w),m_vga));
m_isa->install16_device(0x5ee8, 0x5eeb, 0, 0, FUNC(mach8_ec3_r), FUNC(mach8_ec3_w)); m_isa->install16_device(0x5ee8, 0x5eeb, 0, 0, read16_delegate(FUNC(ati_vga_device::mach8_ec3_r),m_vga), write16_delegate(FUNC(ati_vga_device::mach8_ec3_w),m_vga));
m_isa->install16_device(0x82e8, 0x82eb, 0, 0, FUNC(ibm8514_currenty_r), FUNC(ibm8514_currenty_w)); m_isa->install16_device(0x82e8, 0x82eb, 0, 0, read16_delegate(FUNC(ati_vga_device::ibm8514_currenty_r),m_vga), write16_delegate(FUNC(ati_vga_device::ibm8514_currenty_w),m_vga));
m_isa->install16_device(0x86e8, 0x86eb, 0, 0, FUNC(ibm8514_currentx_r), FUNC(ibm8514_currentx_w)); m_isa->install16_device(0x86e8, 0x86eb, 0, 0, read16_delegate(FUNC(ati_vga_device::ibm8514_currentx_r),m_vga), write16_delegate(FUNC(ati_vga_device::ibm8514_currentx_w),m_vga));
m_isa->install16_device(0x8ae8, 0x8aeb, 0, 0, FUNC(ibm8514_desty_r), FUNC(ibm8514_desty_w)); m_isa->install16_device(0x8ae8, 0x8aeb, 0, 0, read16_delegate(FUNC(ati_vga_device::ibm8514_desty_r),m_vga), write16_delegate(FUNC(ati_vga_device::ibm8514_desty_w),m_vga));
m_isa->install16_device(0x8ee8, 0x8eeb, 0, 0, FUNC(ibm8514_destx_r), FUNC(ibm8514_destx_w)); m_isa->install16_device(0x8ee8, 0x8eeb, 0, 0, read16_delegate(FUNC(ati_vga_device::ibm8514_destx_r),m_vga), write16_delegate(FUNC(ati_vga_device::ibm8514_destx_w),m_vga));
m_isa->install16_device(0x92e8, 0x92eb, 0, 0, FUNC(s3_line_error_r), FUNC(s3_line_error_w)); m_isa->install16_device(0x92e8, 0x92eb, 0, 0, read16_delegate(FUNC(ati_vga_device::s3_line_error_r),m_vga), write16_delegate(FUNC(ati_vga_device::s3_line_error_w),m_vga));
m_isa->install16_device(0x96e8, 0x96eb, 0, 0, FUNC(s3_width_r), FUNC(s3_width_w)); m_isa->install16_device(0x96e8, 0x96eb, 0, 0, read16_delegate(FUNC(ati_vga_device::s3_width_r),m_vga), write16_delegate(FUNC(ati_vga_device::s3_width_w),m_vga));
m_isa->install16_device(0x96ec, 0x96ef, 0, 0, FUNC(mach8_bresenham_count_r), FUNC(mach8_bresenham_count_w)); m_isa->install16_device(0x96ec, 0x96ef, 0, 0, read16_delegate(FUNC(ati_vga_device::mach8_bresenham_count_r),m_vga), write16_delegate(FUNC(ati_vga_device::mach8_bresenham_count_w),m_vga));
m_isa->install16_device(0x9ae8, 0x9aeb, 0, 0, FUNC(ibm8514_gpstatus_r), FUNC(ibm8514_cmd_w)); m_isa->install16_device(0x9ae8, 0x9aeb, 0, 0, read16_delegate(FUNC(ati_vga_device::ibm8514_gpstatus_r),m_vga), write16_delegate(FUNC(ati_vga_device::ibm8514_cmd_w),m_vga));
m_isa->install16_device(0x9aec, 0x9aef, 0, 0, FUNC(mach8_ext_fifo_r), FUNC(mach8_linedraw_index_w)); m_isa->install16_device(0x9aec, 0x9aef, 0, 0, read16_delegate(FUNC(ati_vga_device::mach8_ext_fifo_r),m_vga), write16_delegate(FUNC(ati_vga_device::mach8_linedraw_index_w),m_vga));
m_isa->install16_device(0x9ee8, 0x9eeb, 0, 0, FUNC(ibm8514_ssv_r), FUNC(ibm8514_ssv_w)); m_isa->install16_device(0x9ee8, 0x9eeb, 0, 0, read16_delegate(FUNC(ati_vga_device::ibm8514_ssv_r),m_vga), write16_delegate(FUNC(ati_vga_device::ibm8514_ssv_w),m_vga));
m_isa->install16_device(0xa2e8, 0xa2eb, 0, 0, FUNC(s3_bgcolour_r), FUNC(s3_bgcolour_w)); m_isa->install16_device(0xa2e8, 0xa2eb, 0, 0, read16_delegate(FUNC(ati_vga_device::s3_bgcolour_r),m_vga), write16_delegate(FUNC(ati_vga_device::s3_bgcolour_w),m_vga));
m_isa->install16_device(0xa6e8, 0xa6eb, 0, 0, FUNC(s3_fgcolour_r), FUNC(s3_fgcolour_w)); m_isa->install16_device(0xa6e8, 0xa6eb, 0, 0, read16_delegate(FUNC(ati_vga_device::s3_fgcolour_r),m_vga), write16_delegate(FUNC(ati_vga_device::s3_fgcolour_w),m_vga));
m_isa->install16_device(0xb6e8, 0xb6eb, 0, 0, FUNC(s3_backmix_r), FUNC(s3_backmix_w)); m_isa->install16_device(0xb6e8, 0xb6eb, 0, 0, read16_delegate(FUNC(ati_vga_device::s3_backmix_r),m_vga), write16_delegate(FUNC(ati_vga_device::s3_backmix_w),m_vga));
m_isa->install16_device(0xbae8, 0xbaeb, 0, 0, FUNC(s3_foremix_r), FUNC(s3_foremix_w)); m_isa->install16_device(0xbae8, 0xbaeb, 0, 0, read16_delegate(FUNC(ati_vga_device::s3_foremix_r),m_vga), write16_delegate(FUNC(ati_vga_device::s3_foremix_w),m_vga));
m_isa->install16_device(0xbee8, 0xbeeb, 0, 0, FUNC(s3_multifunc_r), FUNC(s3_multifunc_w)); m_isa->install16_device(0xbee8, 0xbeeb, 0, 0, read16_delegate(FUNC(ati_vga_device::s3_multifunc_r),m_vga), write16_delegate(FUNC(ati_vga_device::s3_multifunc_w),m_vga));
m_isa->install16_device(0xe2e8, 0xe2eb, 0, 0, FUNC(s3_pixel_xfer_r), FUNC(s3_pixel_xfer_w)); m_isa->install16_device(0xe2e8, 0xe2eb, 0, 0, read16_delegate(FUNC(ati_vga_device::s3_pixel_xfer_r),m_vga), write16_delegate(FUNC(ati_vga_device::s3_pixel_xfer_w),m_vga));
m_isa->install16_device(0xfeec, 0xfeef, 0, 0, NULL, NULL, FUNC(mach8_linedraw_w)); m_isa->install16_device(0xfeec, 0xfeef, 0, 0, read16_delegate(), write16_delegate(FUNC(ati_vga_device::mach8_linedraw_w),m_vga));
m_isa->install_memory(0xa0000, 0xbffff, 0, 0, FUNC(ati_mem_r), FUNC(ati_mem_w)); m_isa->install_memory(0xa0000, 0xbffff, 0, 0, read8_delegate(FUNC(ati_vga_device::mem_r),m_vga), write8_delegate(FUNC(ati_vga_device::mem_w),m_vga));
} }
//------------------------------------------------- //-------------------------------------------------
@ -124,5 +126,4 @@ void isa16_vga_gfxultra_device::device_start()
void isa16_vga_gfxultra_device::device_reset() void isa16_vga_gfxultra_device::device_reset()
{ {
pc_vga_reset(machine());
} }

View File

@ -12,6 +12,7 @@
#include "emu.h" #include "emu.h"
#include "machine/isa.h" #include "machine/isa.h"
#include "video/pc_vga.h"
//************************************************************************** //**************************************************************************
// TYPE DEFINITIONS // TYPE DEFINITIONS
@ -36,6 +37,8 @@ protected:
// device-level overrides // device-level overrides
virtual void device_start(); virtual void device_start();
virtual void device_reset(); virtual void device_reset();
private:
ati_vga_device *m_vga;
}; };