1
0
Fork 0

small additions: vga override, lazy fullscreen switching, pci read override

Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@3768
This commit is contained in:
Sebastian Strohhäcker 2011-12-11 17:30:50 +00:00
parent 41d307292b
commit 77970d28cd
5 changed files with 100 additions and 9 deletions

View file

@ -61,16 +61,17 @@ public:
PCI_Device* GetSubdevice(Bits subfct);
Bit16u NumSubdevices(void) {
if (num_subdevices>PCI_MAX_PCIFUNCTIONS-1) return PCI_MAX_PCIFUNCTIONS-1;
return num_subdevices;
if (num_subdevices>PCI_MAX_PCIFUNCTIONS-1) return (Bit16u)(PCI_MAX_PCIFUNCTIONS-1);
return (Bit16u)num_subdevices;
}
Bits GetNextSubdeviceNumber(void) {
if (num_subdevices>=PCI_MAX_PCIFUNCTIONS-1) return -1;
return num_subdevices+1;
return (Bits)num_subdevices+1;
}
virtual Bits ParseReadRegister(Bit8u regnum)=0;
virtual bool OverrideReadRegister(Bit8u regnum, Bit8u* rval, Bit8u* rval_mask)=0;
virtual Bits ParseWriteRegister(Bit8u regnum,Bit8u value)=0;
virtual bool InitializeRegisters(Bit8u registers[256])=0;

View file

@ -166,6 +166,7 @@ typedef struct {
} cursor;
Drawmode mode;
bool vret_triggered;
bool vga_override;
} VGA_Draw;
typedef struct {
@ -448,6 +449,8 @@ void VGA_SetCGA4Table(Bit8u val0,Bit8u val1,Bit8u val2,Bit8u val3);
void VGA_ActivateHardwareCursor(void);
void VGA_KillDrawing(void);
void VGA_SetOverride(bool vga_override);
extern VGA_Type vga;
/* Support for modular SVGA implementation */