- sequencer register 0x07 must be initialized with 0 if cirrus extension is not

selected
- cirrus specific mem write methods don't need to be virtual
This commit is contained in:
Volker Ruppert 2006-10-08 15:21:26 +00:00
parent f8f01db46a
commit 0b2331c1fe
2 changed files with 5 additions and 4 deletions

View File

@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////
// $Id: svga_cirrus.cc,v 1.35 2006-09-10 17:18:44 vruppert Exp $ // $Id: svga_cirrus.cc,v 1.36 2006-10-08 15:21:26 vruppert Exp $
///////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////
// //
// Copyright (c) 2004 Makoto Suzuki (suzu) // Copyright (c) 2004 Makoto Suzuki (suzu)
@ -270,6 +270,7 @@ void bx_svga_cirrus_c::init(void)
} }
BX_CIRRUS_THIS extension_init = 1; BX_CIRRUS_THIS extension_init = 1;
} else { } else {
BX_CIRRUS_THIS sequencer.reg[0x07] = 0x00; // Cirrus extension disabled
// initialize VGA read/write handlers and timer // initialize VGA read/write handlers and timer
BX_CIRRUS_THIS bx_vga_c::init_iohandlers( BX_CIRRUS_THIS bx_vga_c::init_iohandlers(
bx_vga_c::read_handler, bx_vga_c::write_handler); bx_vga_c::read_handler, bx_vga_c::write_handler);

View File

@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////
// $Id: svga_cirrus.h,v 1.10 2006-08-18 15:43:20 vruppert Exp $ // $Id: svga_cirrus.h,v 1.11 2006-10-08 15:21:26 vruppert Exp $
///////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////
// //
// Copyright (c) 2004 Makoto Suzuki (suzu) // Copyright (c) 2004 Makoto Suzuki (suzu)
@ -73,8 +73,6 @@ public:
unsigned width, unsigned height); unsigned width, unsigned height);
virtual Bit8u mem_read(Bit32u addr); virtual Bit8u mem_read(Bit32u addr);
virtual void mem_write(Bit32u addr, Bit8u value); virtual void mem_write(Bit32u addr, Bit8u value);
virtual void mem_write_mode4and5_8bpp(Bit8u mode, Bit32u offset, Bit8u value);
virtual void mem_write_mode4and5_16bpp(Bit8u mode, Bit32u offset, Bit8u value);
virtual void get_text_snapshot(Bit8u **text_snapshot, virtual void get_text_snapshot(Bit8u **text_snapshot,
unsigned *txHeight, unsigned *txWidth); unsigned *txHeight, unsigned *txWidth);
virtual void trigger_timer(void *this_ptr); virtual void trigger_timer(void *this_ptr);
@ -96,6 +94,8 @@ private:
Bit32u svga_read(Bit32u address, unsigned io_len); Bit32u svga_read(Bit32u address, unsigned io_len);
void svga_write(Bit32u address, Bit32u value, unsigned io_len); void svga_write(Bit32u address, Bit32u value, unsigned io_len);
#endif // !BX_USE_CIRRUS_SMF #endif // !BX_USE_CIRRUS_SMF
BX_CIRRUS_SMF void mem_write_mode4and5_8bpp(Bit8u mode, Bit32u offset, Bit8u value);
BX_CIRRUS_SMF void mem_write_mode4and5_16bpp(Bit8u mode, Bit32u offset, Bit8u value);
static void svga_timer_handler(void *); static void svga_timer_handler(void *);
static Bit64s svga_param_handler(bx_param_c *param, int set, Bit64s val); static Bit64s svga_param_handler(bx_param_c *param, int set, Bit64s val);