Vastly overhauled the UI, there's now a completely new Settings dialog as well as a status bar with disk activity icons and removable drive menus;

Thoroughly clean up the code to vastly reduce the number of compiler warnings and found and fixed several bugs in the process;
Applied all mainline PCem commits;
Added SCSI hard disk emulation;
Commented out all unfinished machines and graphics cards;
Added the AOpen AP53 and ASUS P/I-P55T2 machines as well as another Tyan 440FX machine, all three with AMI WinBIOS (patch from TheCollector1995);
Added the Diamond Stealth 3D 3000 (S3 ViRGE/VX) graphics card (patch from TheCollector1995);
Added the PS/2 XT IDE (AccuLogic) HDD Controller (patch from TheCollector1995);
Added Microsoft/Logitech Bus Mouse emulation (patch from waltje);
Overhauled the makefiles (patch from waltje);
Added the Adaptec AHA-1542CF SCSI controller (patch from waltje);
Added preliminary (but still unfinished) Adaptec AHA-154x SCSI controller BIOS support (patch from waltje);
Added an ISABugger debugging device (patch from waltje);
Added sanity checks to the Direct3D code.
This commit is contained in:
OBattler
2017-05-05 01:49:42 +02:00
parent d07d53962c
commit f6ef1f833c
346 changed files with 24292 additions and 18058 deletions

View File

@@ -24,6 +24,8 @@
#define glue(a,b) glue_hidden(a,b)
#define glue_hidden(a,b) a ## b
static uint8_t rop_to_index[256];
int cl_gd_ABS(int sval)
{
if (sval < 0)
@@ -65,11 +67,11 @@ bool blit_is_unsafe(clgd_t *clgd, svga_t *svga)
return false;
}
void cirrus_bitblt_rop_nop(clgd_t *clgd, uint8_t *dst, const uint8_t *src, int dstpitch, int srcpitch, int bltwidth, int bltheight)
void cirrus_bitblt_rop_nop(clgd_t *clgd, svga_t *svga, uint8_t *dst, const uint8_t *src, int dstpitch, int srcpitch, int bltwidth, int bltheight)
{
}
void cirrus_bitblt_fill_nop(clgd_t *clgd, uint8_t *dst, int dstpitch, int bltwidth, int bltheight)
void cirrus_bitblt_fill_nop(clgd_t *clgd, svga_t *svga, uint8_t *dst, int dstpitch, int bltwidth, int bltheight)
{
}
@@ -346,7 +348,7 @@ const cirrus_fill_t cirrus_fill[16][4] = {
ROP2(cirrus_fill_notsrc_and_notdst),
};
static inline void cirrus_bitblt_fgcol(clgd_t *clgd, svga_t *svga)
inline void cirrus_bitblt_fgcol(clgd_t *clgd, svga_t *svga)
{
unsigned int color;
switch (clgd->blt.pixel_width)
@@ -369,7 +371,7 @@ static inline void cirrus_bitblt_fgcol(clgd_t *clgd, svga_t *svga)
}
}
static inline void cirrus_bitblt_bgcol(clgd_t *clgd, svga_t *svga)
inline void cirrus_bitblt_bgcol(clgd_t *clgd, svga_t *svga)
{
unsigned int color;
switch (clgd->blt.pixel_width)
@@ -394,7 +396,7 @@ static inline void cirrus_bitblt_bgcol(clgd_t *clgd, svga_t *svga)
void cirrus_invalidate_region(clgd_t *clgd, svga_t *svga, int off_begin, int off_pitch, int bytesperline, int lines)
{
int y;
int x, y;
int off_cur;
int off_cur_end;
@@ -404,6 +406,10 @@ void cirrus_invalidate_region(clgd_t *clgd, svga_t *svga, int off_begin, int off
off_cur_end = ((off_cur + bytesperline) & svga->vrammask);
// Memory region set dirty
off_begin += off_pitch;
for (x = (off_cur >> 12); x <= (off_cur_end >> 12); x++)
{
svga->changedvram[x]++;
}
}
}
@@ -818,4 +824,4 @@ void init_rops()
rop_to_index[CIRRUS_ROP_NOTSRC] = 13;
rop_to_index[CIRRUS_ROP_NOTSRC_OR_DST] = 14;
rop_to_index[CIRRUS_ROP_NOTSRC_AND_NOTDST] = 15;
}
}