minor fixes

parent 9a6371f6
/*
* UAE - The Un*x Amiga Emulator
*
* Custom chip emulation
*
* (c) 1995 Bernd Schmidt, Alessandro Bissacco
* (c) 2002 - 2005 Toni Wilen
*/
* UAE - The Un*x Amiga Emulator
*
* Custom chip emulation
*
* (c) 1995 Bernd Schmidt, Alessandro Bissacco
* (c) 2002 - 2005 Toni Wilen
*/
//#define BLITTER_DEBUG_NOWAIT
//#define BLITTER_DEBUG
......
/*
* UAE - The Un*x Amiga Emulator
*
* Custom chip emulation
*
* Copyright 1995-2002 Bernd Schmidt
* Copyright 1995 Alessandro Bissacco
* Copyright 2000-2010 Toni Wilen
*/
* UAE - The Un*x Amiga Emulator
*
* Custom chip emulation
*
* Copyright 1995-2002 Bernd Schmidt
* Copyright 1995 Alessandro Bissacco
* Copyright 2000-2010 Toni Wilen
*/
#include "sysconfig.h"
#include "sysdeps.h"
......
......@@ -2613,7 +2613,7 @@ static void fetchnextrevolution (drive *drv)
#ifdef CAPS
caps_loadrevolution (drv->bigmfmbuf, drv - floppy, drv->cyl * 2 + side, &drv->tracklen);
#endif
break;
break;
case ADF_FDI:
#ifdef FDI2RAW
fdi2raw_loadrevolution (drv->fdi, drv->bigmfmbuf, drv->tracktiming, drv->cyl * 2 + side, &drv->tracklen, 1);
......
......@@ -174,7 +174,7 @@ static void generate_func(void)
if (a_is_on) printf("uae_u32 preva = 0;\n");
if (b_is_on) printf("uae_u32 prevb = 0, srcb = b->bltbhold;\n");
if (c_is_on) printf("uae_u32 srcc = b->bltcdat;\n");
printf("uae_u32 dstd=0;\n");
printf("uae_u32 dstd = 0;\n");
printf("uaecptr dstp = 0;\n");
printf("for (j = b->vblitsize; j--; ) {\n");
if (a_is_on) {
......
......@@ -2128,8 +2128,8 @@ static void gen_opcode (unsigned long int opcode)
printf ("\t\tint offset = 8;\n");
#if 0
genamode (Aipi, "7", sz_word, "sr", 1, 0, 0);
genamode (Aipi, "7", sz_long, "pc", 1, 0, 0);
genamode (Aipi, "7", sz_word, "format", 1, 0, 0);
genamode (Aipi, "7", sz_long, "pc", 1, 0, 0);
genamode (Aipi, "7", sz_word, "format", 1, 0, 0);
#endif
printf ("\t\tnewsr = sr; newpc = pc;\n");
printf ("\t\tif ((format & 0xF000) == 0x0000) { m68k_areg (regs, 7) += offset; break; }\n");
......
......@@ -22,22 +22,22 @@ typedef int DEPTH_T;
static const char *get_depth_str (DEPTH_T bpp)
{
if (bpp == DEPTH_8BPP)
return "8";
else if (bpp == DEPTH_16BPP)
return "16";
else
return "32";
if (bpp == DEPTH_8BPP)
return "8";
else if (bpp == DEPTH_16BPP)
return "16";
else
return "32";
}
static const char *get_depth_type_str (DEPTH_T bpp)
{
if (bpp == DEPTH_8BPP)
return "uae_u8";
else if (bpp == DEPTH_16BPP)
return "uae_u16";
else
return "uae_u32";
if (bpp == DEPTH_8BPP)
return "uae_u8";
else if (bpp == DEPTH_16BPP)
return "uae_u16";
else
return "uae_u32";
}
typedef int HMODE_T;
......@@ -53,29 +53,29 @@ typedef int HMODE_T;
static const char *get_hmode_str (HMODE_T hmode)
{
if (hmode == HMODE_DOUBLE)
return "_stretch1";
else if (hmode == HMODE_DOUBLE2X)
return "_stretch2";
else if (hmode == HMODE_HALVE1)
return "_shrink1";
else if (hmode == HMODE_HALVE1F)
return "_shrink1f";
else if (hmode == HMODE_HALVE2)
return "_shrink2";
else if (hmode == HMODE_HALVE2F)
return "_shrink2f";
else
return "";
if (hmode == HMODE_DOUBLE)
return "_stretch1";
else if (hmode == HMODE_DOUBLE2X)
return "_stretch2";
else if (hmode == HMODE_HALVE1)
return "_shrink1";
else if (hmode == HMODE_HALVE1F)
return "_shrink1f";
else if (hmode == HMODE_HALVE2)
return "_shrink2";
else if (hmode == HMODE_HALVE2F)
return "_shrink2f";
else
return "";
}
typedef enum
{
CMODE_NORMAL,
CMODE_DUALPF,
CMODE_EXTRAHB,
CMODE_HAM
CMODE_NORMAL,
CMODE_DUALPF,
CMODE_EXTRAHB,
CMODE_HAM
} CMODE_T;
#define CMODE_MAX CMODE_HAM
......@@ -85,93 +85,93 @@ static unsigned int outfile_indent = 0;
void set_outfile (FILE *f)
{
outfile = f;
outfile = f;
}
int set_indent (int indent)
{
int old_indent = outfile_indent;
outfile_indent = indent;
return old_indent;
int old_indent = outfile_indent;
outfile_indent = indent;
return old_indent;
}
void outln (const char *s)
{
unsigned int i;
for (i = 0; i < outfile_indent; i++)
fputc (' ', outfile);
fprintf (outfile, "%s\n", s);
unsigned int i;
for (i = 0; i < outfile_indent; i++)
fputc (' ', outfile);
fprintf (outfile, "%s\n", s);
}
void outlnf (const char *s, ...)
{
va_list ap;
unsigned int i;
for (i = 0; i < outfile_indent; i++)
fputc (' ', outfile);
va_start (ap, s);
vfprintf (outfile, s, ap);
fputc ('\n', outfile);
va_list ap;
unsigned int i;
for (i = 0; i < outfile_indent; i++)
fputc (' ', outfile);
va_start (ap, s);
vfprintf (outfile, s, ap);
fputc ('\n', outfile);
}
static void out_linetoscr_decl (DEPTH_T bpp, HMODE_T hmode, int aga, int spr)
{
outlnf ("static int NOINLINE linetoscr_%s%s%s%s (int spix, int dpix, int stoppos)",
get_depth_str (bpp),
get_hmode_str (hmode), aga ? "_aga" : "", spr ? "_spr" : "");
outlnf ("static int NOINLINE linetoscr_%s%s%s%s (int spix, int dpix, int stoppos)",
get_depth_str (bpp),
get_hmode_str (hmode), aga ? "_aga" : "", spr ? "_spr" : "");
}
static void out_linetoscr_do_srcpix (DEPTH_T bpp, HMODE_T hmode, int aga, CMODE_T cmode, int spr)
{
if (aga && cmode != CMODE_DUALPF) {
if (spr)
outln ( " sprpix_val = pixdata.apixels[spix];");
outln ( " spix_val = pixdata.apixels[spix] ^ xor_val;");
} else if (cmode != CMODE_HAM) {
outln ( " spix_val = pixdata.apixels[spix];");
if (spr)
outln ( " sprpix_val = spix_val;");
}
if (aga && cmode != CMODE_DUALPF) {
if (spr)
outln ( " sprpix_val = pixdata.apixels[spix];");
outln ( " spix_val = pixdata.apixels[spix] ^ xor_val;");
} else if (cmode != CMODE_HAM) {
outln ( " spix_val = pixdata.apixels[spix];");
if (spr)
outln ( " sprpix_val = spix_val;");
}
}
static void out_linetoscr_do_dstpix (DEPTH_T bpp, HMODE_T hmode, int aga, CMODE_T cmode, int spr)
{
if (aga && cmode == CMODE_HAM) {
outln ( " dpix_val = CONVERT_RGB (ham_linebuf[spix]);");
if (aga && cmode == CMODE_HAM) {
outln ( " dpix_val = CONVERT_RGB (ham_linebuf[spix]);");
if (spr)
outln ( " sprpix_val = dpix_val;");
} else if (cmode == CMODE_HAM) {
outln ( " sprpix_val = dpix_val;");
} else if (cmode == CMODE_HAM) {
outln ( " dpix_val = xcolors[ham_linebuf[spix]];");
if (spr)
outln ( " sprpix_val = dpix_val;");
} else if (aga && cmode == CMODE_DUALPF) {
outln ( " sprpix_val = dpix_val;");
} else if (aga && cmode == CMODE_DUALPF) {
outln ( " {");
outln ( " uae_u8 val = lookup[spix_val];");
outln ( " if (lookup_no[spix_val])");
outln ( " val += dblpfofs[bpldualpf2of];");
outln ( " val ^= xor_val;");
outln ( " val ^= xor_val;");
outln ( " dpix_val = colors_for_drawing.acolors[val];");
outln ( " }");
} else if (cmode == CMODE_DUALPF) {
} else if (cmode == CMODE_DUALPF) {
outln ( " dpix_val = colors_for_drawing.acolors[lookup[spix_val]];");
} else if (aga && cmode == CMODE_EXTRAHB) {
} else if (aga && cmode == CMODE_EXTRAHB) {
outln ( " if (spix_val >= 32 && spix_val < 64) {");
outln ( " unsigned int c = (colors_for_drawing.color_regs_aga[spix_val - 32] >> 1) & 0x7F7F7F;");
outln ( " dpix_val = CONVERT_RGB (c);");
outln ( " } else");
outln ( " dpix_val = colors_for_drawing.acolors[spix_val];");
} else if (cmode == CMODE_EXTRAHB) {
} else if (cmode == CMODE_EXTRAHB) {
outln ( " if (spix_val <= 31)");
outln ( " dpix_val = colors_for_drawing.acolors[spix_val];");
outln ( " else");
outln ( " dpix_val = xcolors[(colors_for_drawing.color_regs_ecs[spix_val - 32] >> 1) & 0x777];");
} else
} else
outln ( " dpix_val = colors_for_drawing.acolors[spix_val];");
}
static void out_linetoscr_do_incspix (DEPTH_T bpp, HMODE_T hmode, int aga, CMODE_T cmode, int spr)
{
if (hmode == HMODE_HALVE1F) {
if (hmode == HMODE_HALVE1F) {
outln ( " {");
outln ( " uae_u32 tmp_val;");
outln ( " spix++;");
......@@ -181,7 +181,7 @@ static void out_linetoscr_do_incspix (DEPTH_T bpp, HMODE_T hmode, int aga, CMODE
outlnf ( " dpix_val = merge_2pixel%d (dpix_val, tmp_val);", bpp == 0 ? 8 : bpp == 1 ? 16 : 32);
outln ( " spix++;");
outln ( " }");
} else if (hmode == HMODE_HALVE2F) {
} else if (hmode == HMODE_HALVE2F) {
outln ( " {");
outln ( " uae_u32 tmp_val, tmp_val2, tmp_val3;");
outln ( " spix++;");
......@@ -201,101 +201,101 @@ static void out_linetoscr_do_incspix (DEPTH_T bpp, HMODE_T hmode, int aga, CMODE
outlnf ( " dpix_val = merge_2pixel%d (tmp_val, tmp_val2);", bpp == 0 ? 8 : bpp == 1 ? 16 : 32);
outln ( " spix++;");
outln ( " }");
} else if (hmode == HMODE_HALVE1) {
} else if (hmode == HMODE_HALVE1) {
outln ( " spix += 2;");
} else if (hmode == HMODE_HALVE2) {
} else if (hmode == HMODE_HALVE2) {
outln ( " spix += 4;");
} else {
} else {
outln ( " spix++;");
}
}
}
static void out_sprite (DEPTH_T bpp, HMODE_T hmode, CMODE_T cmode, int aga, int cnt)
{
if (aga) {
if (aga) {
if (cnt == 1) {
outlnf ( " if (spritepixels[dpix].data) {");
outlnf ( " sprcol = render_sprites (dpix + 0, %d, sprpix_val, %d);", cmode == CMODE_DUALPF ? 1 : 0, aga);
outlnf ( " if (sprcol)");
outlnf ( " out_val = colors_for_drawing.acolors[sprcol];");
outlnf ( " }");
outlnf ( " buf[dpix++] = out_val;");
outlnf ( " if (spritepixels[dpix].data) {");
outlnf ( " sprcol = render_sprites (dpix + 0, %d, sprpix_val, %d);", cmode == CMODE_DUALPF ? 1 : 0, aga);
outlnf ( " if (sprcol)");
outlnf ( " out_val = colors_for_drawing.acolors[sprcol];");
outlnf ( " }");
outlnf ( " buf[dpix++] = out_val;");
} else if (cnt == 2) {
outlnf ( " {");
outlnf ( " uae_u32 out_val1 = out_val;");
outlnf ( " uae_u32 out_val2 = out_val;");
outlnf ( " if (spritepixels[dpix + 0].data) {");
outlnf ( " sprcol = render_sprites (dpix + 0, %d, sprpix_val, %d);", cmode == CMODE_DUALPF ? 1 : 0, aga);
outlnf ( " if (sprcol)");
outlnf ( " out_val1 = colors_for_drawing.acolors[sprcol];");
outlnf ( " }");
outlnf ( " if (spritepixels[dpix + 1].data) {");
outlnf ( " sprcol = render_sprites (dpix + 1, %d, sprpix_val, %d);", cmode == CMODE_DUALPF ? 1 : 0, aga);
outlnf ( " if (sprcol)");
outlnf ( " out_val2 = colors_for_drawing.acolors[sprcol];");
outlnf ( " }");
outlnf ( " buf[dpix++] = out_val1;");
outlnf ( " buf[dpix++] = out_val2;");
outlnf ( " }");
outlnf ( " {");
outlnf ( " uae_u32 out_val1 = out_val;");
outlnf ( " uae_u32 out_val2 = out_val;");
outlnf ( " if (spritepixels[dpix + 0].data) {");
outlnf ( " sprcol = render_sprites (dpix + 0, %d, sprpix_val, %d);", cmode == CMODE_DUALPF ? 1 : 0, aga);
outlnf ( " if (sprcol)");
outlnf ( " out_val1 = colors_for_drawing.acolors[sprcol];");
outlnf ( " }");
outlnf ( " if (spritepixels[dpix + 1].data) {");
outlnf ( " sprcol = render_sprites (dpix + 1, %d, sprpix_val, %d);", cmode == CMODE_DUALPF ? 1 : 0, aga);
outlnf ( " if (sprcol)");
outlnf ( " out_val2 = colors_for_drawing.acolors[sprcol];");
outlnf ( " }");
outlnf ( " buf[dpix++] = out_val1;");
outlnf ( " buf[dpix++] = out_val2;");
outlnf ( " }");
} else if (cnt == 4) {
outlnf ( " {");
outlnf ( " uae_u32 out_val1 = out_val;");
outlnf ( " uae_u32 out_val2 = out_val;");
outlnf ( " uae_u32 out_val3 = out_val;");
outlnf ( " uae_u32 out_val4 = out_val;");
outlnf ( " if (spritepixels[dpix + 0].data) {");
outlnf ( " sprcol = render_sprites (dpix + 0, %d, sprpix_val, %d);", cmode == CMODE_DUALPF ? 1 : 0, aga);
outlnf ( " if (sprcol)");
outlnf ( " out_val1 = colors_for_drawing.acolors[sprcol];");
outlnf ( " }");
outlnf ( " if (spritepixels[dpix + 1].data) {");
outlnf ( " sprcol = render_sprites (dpix + 1, %d, sprpix_val, %d);", cmode == CMODE_DUALPF ? 1 : 0, aga);
outlnf ( " if (sprcol)");
outlnf ( " out_val2 = colors_for_drawing.acolors[sprcol];");
outlnf ( " }");
outlnf ( " if (spritepixels[dpix + 2].data) {");
outlnf ( " sprcol = render_sprites (dpix + 2, %d, sprpix_val, %d);", cmode == CMODE_DUALPF ? 1 : 0, aga);
outlnf ( " if (sprcol)");
outlnf ( " out_val3 = colors_for_drawing.acolors[sprcol];");
outlnf ( " }");
outlnf ( " if (spritepixels[dpix + 3].data) {");
outlnf ( " sprcol = render_sprites (dpix + 3, %d, sprpix_val, %d);", cmode == CMODE_DUALPF ? 1 : 0, aga);
outlnf ( " if (sprcol)");
outlnf ( " out_val4 = colors_for_drawing.acolors[sprcol];");
outlnf ( " }");
outlnf ( " buf[dpix++] = out_val1;");
outlnf ( " buf[dpix++] = out_val2;");
outlnf ( " buf[dpix++] = out_val3;");
outlnf ( " buf[dpix++] = out_val4;");
outlnf ( " }");
outlnf ( " {");
outlnf ( " uae_u32 out_val1 = out_val;");
outlnf ( " uae_u32 out_val2 = out_val;");
outlnf ( " uae_u32 out_val3 = out_val;");
outlnf ( " uae_u32 out_val4 = out_val;");
outlnf ( " if (spritepixels[dpix + 0].data) {");
outlnf ( " sprcol = render_sprites (dpix + 0, %d, sprpix_val, %d);", cmode == CMODE_DUALPF ? 1 : 0, aga);
outlnf ( " if (sprcol)");
outlnf ( " out_val1 = colors_for_drawing.acolors[sprcol];");
outlnf ( " }");
outlnf ( " if (spritepixels[dpix + 1].data) {");
outlnf ( " sprcol = render_sprites (dpix + 1, %d, sprpix_val, %d);", cmode == CMODE_DUALPF ? 1 : 0, aga);
outlnf ( " if (sprcol)");
outlnf ( " out_val2 = colors_for_drawing.acolors[sprcol];");
outlnf ( " }");
outlnf ( " if (spritepixels[dpix + 2].data) {");
outlnf ( " sprcol = render_sprites (dpix + 2, %d, sprpix_val, %d);", cmode == CMODE_DUALPF ? 1 : 0, aga);
outlnf ( " if (sprcol)");
outlnf ( " out_val3 = colors_for_drawing.acolors[sprcol];");
outlnf ( " }");
outlnf ( " if (spritepixels[dpix + 3].data) {");
outlnf ( " sprcol = render_sprites (dpix + 3, %d, sprpix_val, %d);", cmode == CMODE_DUALPF ? 1 : 0, aga);
outlnf ( " if (sprcol)");
outlnf ( " out_val4 = colors_for_drawing.acolors[sprcol];");
outlnf ( " }");
outlnf ( " buf[dpix++] = out_val1;");
outlnf ( " buf[dpix++] = out_val2;");
outlnf ( " buf[dpix++] = out_val3;");
outlnf ( " buf[dpix++] = out_val4;");
outlnf ( " }");
}
} else {
} else {
outlnf ( " if (spritepixels[dpix].data) {");
outlnf ( " sprcol = render_sprites (dpix, %d, sprpix_val, %d);", cmode == CMODE_DUALPF ? 1 : 0, aga);
outlnf ( " if (sprcol) {");
outlnf ( " uae_u32 spcol = colors_for_drawing.acolors[sprcol];");
outlnf ( " out_val = spcol;");
outlnf ( " out_val = spcol;");
outlnf ( " }");
outlnf ( " }");
while (cnt-- > 0)
outlnf ( " buf[dpix++] = out_val;");
}
outlnf ( " buf[dpix++] = out_val;");
}
}
static void out_linetoscr_mode (DEPTH_T bpp, HMODE_T hmode, int aga, int spr, CMODE_T cmode)
{
int old_indent = set_indent (8);
int old_indent = set_indent (8);
if (aga && cmode == CMODE_DUALPF) {
if (aga && cmode == CMODE_DUALPF) {
outln ( "int *lookup = bpldualpfpri ? dblpf_ind2_aga : dblpf_ind1_aga;");
outln ( "int *lookup_no = bpldualpfpri ? dblpf_2nd2 : dblpf_2nd1;");
} else if (cmode == CMODE_DUALPF)
} else if (cmode == CMODE_DUALPF)
outln ( "int *lookup = bpldualpfpri ? dblpf_ind2 : dblpf_ind1;");
/* TODO: add support for combining pixel writes in 8-bpp modes. */
/* TODO: add support for combining pixel writes in 8-bpp modes. */
if (bpp == DEPTH_16BPP && hmode != HMODE_DOUBLE && hmode != HMODE_DOUBLE2X && spr == 0) {
if (bpp == DEPTH_16BPP && hmode != HMODE_DOUBLE && hmode != HMODE_DOUBLE2X && spr == 0) {
outln ( "int rem;");
outln ( "if (((long)&buf[dpix]) & 2) {");
outln ( " uae_u32 spix_val;");
......@@ -312,97 +312,97 @@ static void out_linetoscr_mode (DEPTH_T bpp, HMODE_T hmode, int aga, int spr, CM
outln ( "rem = (((long)&buf[stoppos]) & 2);");
outln ( "if (rem)");
outln ( " stoppos--;");
}
}
outln ( "while (dpix < stoppos) {");
if (spr)
outln ( "while (dpix < stoppos) {");
if (spr)
outln ( " uae_u32 sprpix_val;");
outln ( " uae_u32 spix_val;");
outln ( " uae_u32 dpix_val;");
outln ( " uae_u32 out_val;");
outln ( "");
outln ( " uae_u32 spix_val;");
outln ( " uae_u32 dpix_val;");
outln ( " uae_u32 out_val;");
outln ( "");
out_linetoscr_do_srcpix (bpp, hmode, aga, cmode, spr);
out_linetoscr_do_dstpix (bpp, hmode, aga, cmode, spr);
out_linetoscr_do_incspix (bpp, hmode, aga, cmode, spr);
out_linetoscr_do_srcpix (bpp, hmode, aga, cmode, spr);
out_linetoscr_do_dstpix (bpp, hmode, aga, cmode, spr);
out_linetoscr_do_incspix (bpp, hmode, aga, cmode, spr);
outln ( " out_val = dpix_val;");
outln ( " out_val = dpix_val;");
if (hmode != HMODE_DOUBLE && hmode != HMODE_DOUBLE2X && bpp == DEPTH_16BPP && spr == 0) {
if (hmode != HMODE_DOUBLE && hmode != HMODE_DOUBLE2X && bpp == DEPTH_16BPP && spr == 0) {
out_linetoscr_do_srcpix (bpp, hmode, aga, cmode, spr);
out_linetoscr_do_dstpix (bpp, hmode, aga, cmode, spr);
out_linetoscr_do_incspix (bpp, hmode, aga, cmode, spr);
if (do_bigendian)
outln ( " out_val = (out_val << 16) | (dpix_val & 0xFFFF);");
outln ( " out_val = (out_val << 16) | (dpix_val & 0xFFFF);");
else
outln ( " out_val = (out_val & 0xFFFF) | (dpix_val << 16);");
}
outln ( " out_val = (out_val & 0xFFFF) | (dpix_val << 16);");
}
if (hmode == HMODE_DOUBLE) {
if (hmode == HMODE_DOUBLE) {
if (bpp == DEPTH_8BPP) {
outln ( " *((uae_u16 *)&buf[dpix]) = (uae_u16) out_val;");
outln ( " dpix += 2;");
outln ( " *((uae_u16 *)&buf[dpix]) = (uae_u16) out_val;");
outln ( " dpix += 2;");
} else if (bpp == DEPTH_16BPP) {
if (spr) {
if (spr) {
out_sprite (bpp, hmode, cmode, aga, 2);
} else {
} else {
outln ( " *((uae_u32 *)&buf[dpix]) = out_val;");
outln ( " dpix += 2;");
}
}
} else {
if (spr) {
if (spr) {
out_sprite (bpp, hmode, cmode, aga, 2);
} else {
} else {
outln ( " buf[dpix++] = out_val;");
outln ( " buf[dpix++] = out_val;");
}
}
}
} else if (hmode == HMODE_DOUBLE2X) {
} else if (hmode == HMODE_DOUBLE2X) {
if (bpp == DEPTH_8BPP) {
outln ( " *((uae_u32 *)&buf[dpix]) = (uae_u32) out_val;");
outln ( " dpix += 4;");
outln ( " *((uae_u32 *)&buf[dpix]) = (uae_u32) out_val;");
outln ( " dpix += 4;");
} else if (bpp == DEPTH_16BPP) {
if (spr) {
if (spr) {
out_sprite (bpp, hmode, cmode, aga, 4);
} else {
} else {
outln ( " *((uae_u32 *)&buf[dpix]) = out_val;");
outln ( " dpix += 2;");
outln ( " *((uae_u32 *)&buf[dpix]) = out_val;");
outln ( " dpix += 2;");
}
}
} else {
if (spr) {
if (spr) {
out_sprite (bpp, hmode, cmode, aga, 4);
} else {
} else {
outln ( " buf[dpix++] = out_val;");
outln ( " buf[dpix++] = out_val;");
outln ( " buf[dpix++] = out_val;");
outln ( " buf[dpix++] = out_val;");
}
}
}
} else {
} else {
if (bpp == DEPTH_16BPP) {
if (spr) {
if (spr) {
out_sprite (bpp, hmode, cmode, aga, 1);
} else {
} else {
outln ( " *((uae_u32 *)&buf[dpix]) = out_val;");
outln ( " dpix += 2;");
}
}
} else {
if (spr) {
if (spr) {
out_sprite (bpp, hmode, cmode, aga, 1);
} else {
} else {
outln ( " buf[dpix++] = out_val;");
}
}
}
}
}
outln ( "}");
outln ( "}");
if (bpp == DEPTH_16BPP && hmode != HMODE_DOUBLE && hmode != HMODE_DOUBLE2X && spr == 0) {
if (bpp == DEPTH_16BPP && hmode != HMODE_DOUBLE && hmode != HMODE_DOUBLE2X && spr == 0) {
outln ( "if (rem) {");
outln ( " uae_u32 spix_val;");
outln ( " uae_u32 dpix_val;");
......@@ -413,80 +413,80 @@ static void out_linetoscr_mode (DEPTH_T bpp, HMODE_T hmode, int aga, int spr, CM
outln ( " buf[dpix++] = dpix_val;");
outln ( "}");
}
}
set_indent (old_indent);
set_indent (old_indent);
return;
return;
}
static void out_linetoscr (DEPTH_T bpp, HMODE_T hmode, int aga, int spr)
{
if (aga)
if (aga)
outln ("#ifdef AGA");
out_linetoscr_decl (bpp, hmode, aga, spr);
outln ( "{");
out_linetoscr_decl (bpp, hmode, aga, spr);
outln ( "{");
outlnf ( " %s *buf = (%s *) xlinebuffer;", get_depth_type_str (bpp), get_depth_type_str (bpp));
if (spr)
outlnf ( " %s *buf = (%s *) xlinebuffer;", get_depth_type_str (bpp), get_depth_type_str (bpp));
if (spr)
outln ( " uae_u8 sprcol;");
if (aga)
if (aga)
outln ( " uae_u8 xor_val = bplxor;");
outln ( "");
outln ( " if (dp_for_drawing->ham_seen) {");
out_linetoscr_mode (bpp, hmode, aga, spr, CMODE_HAM);
outln ( " } else if (bpldualpf) {");
out_linetoscr_mode (bpp, hmode, aga, spr, CMODE_DUALPF);
outln ( " } else if (bplehb) {");
out_linetoscr_mode (bpp, hmode, aga, spr, CMODE_EXTRAHB);
outln ( " } else {");
out_linetoscr_mode (bpp, hmode, aga, spr, CMODE_NORMAL);
outln ( " }\n");
outln ( " return spix;");
outln ( "}");
if (aga)
outln ( "#endif");
outln ( "");
outln ( "");
outln ( " if (dp_for_drawing->ham_seen) {");
out_linetoscr_mode (bpp, hmode, aga, spr, CMODE_HAM);
outln ( " } else if (bpldualpf) {");
out_linetoscr_mode (bpp, hmode, aga, spr, CMODE_DUALPF);
outln ( " } else if (bplehb) {");
out_linetoscr_mode (bpp, hmode, aga, spr, CMODE_EXTRAHB);
outln ( " } else {");
out_linetoscr_mode (bpp, hmode, aga, spr, CMODE_NORMAL);
outln ( " }\n");
outln ( " return spix;");
outln ( "}");
if (aga)
outln ( "#endif");
outln ( "");
}
int main (int argc, char *argv[])
{
DEPTH_T bpp;
int aga, spr;
HMODE_T hmode;
unsigned int i;
DEPTH_T bpp;
int aga, spr;
HMODE_T hmode;
unsigned int i;
do_bigendian = 0;
do_bigendian = 0;
for (i = 1; i < argc; i++) {
for (i = 1; i < argc; i++) {
if (argv[i][0] != '-')
continue;
continue;
if (argv[i][1] == 'b' && argv[i][2] == '\0')
do_bigendian = 1;
}
do_bigendian = 1;
}
set_outfile (stdout);
set_outfile (stdout);
outln ("/*");
outln (" * E-UAE - The portable Amiga emulator.");
outln (" *");
outln (" * This file was generated by genlinetoscr. Don't edit.");
outln (" */");
outln ("");
outln ("/*");
outln (" * E-UAE - The portable Amiga emulator.");
outln (" *");
outln (" * This file was generated by genlinetoscr. Don't edit.");
outln (" */");
outln ("");
for (bpp = DEPTH_16BPP; bpp <= DEPTH_MAX; bpp++) {
for (aga = 0; aga <= 1 ; aga++) {
if (aga && bpp == DEPTH_8BPP)
if (aga && bpp == DEPTH_8BPP)
continue;
for (spr = 0; spr <= 1; spr++) {
for (spr = 0; spr <= 1; spr++) {
for (hmode = HMODE_NORMAL; hmode <= HMODE_MAX; hmode++)
out_linetoscr (bpp, hmode, aga, spr);
}
out_linetoscr (bpp, hmode, aga, spr);
}
}
}
return 0;
}
return 0;
}
......@@ -211,6 +211,8 @@ struct uae_prefs {
int gfx_filter;
TCHAR gfx_filtershader[MAX_DPATH];
TCHAR gfx_filtermask[MAX_DPATH];
TCHAR gfx_filteroverlay[MAX_DPATH];
struct wh gfx_filteroverlay_pos;
int gfx_filter_scanlines;
int gfx_filter_scanlineratio;
int gfx_filter_scanlinelevel;
......
......@@ -299,7 +299,7 @@ DEFEVENT(KEY_7F,"Keycode 0x7F",AM_K,0,0,0x7f)
/* special */
DEFEVENT(SPC_ENTERGUI,"Enter GUI",AM_K,0,0,AKS_ENTERGUI)
DEFEVENT(SPC_SCREENSHOT,"Screenshot",AM_K,0,0,AKS_SCREENSHOT_FILE)
DEFEVENT(SPC_SCREENSHOT,"Screenshot (file)",AM_K,0,0,AKS_SCREENSHOT_FILE)
DEFEVENT(SPC_SCREENSHOT_CLIPBOARD,"Screenshot (clipboard)",AM_K,0,0,AKS_SCREENSHOT_CLIPBOARD)
DEFEVENT(SPC_FREEZEBUTTON,"Activate Cartridge",AM_K,0,0,AKS_FREEZEBUTTON)
DEFEVENT(SPC_FLOPPY0,"Change disk in DF0:",AM_K,0,0,AKS_FLOPPY0)
......@@ -362,9 +362,9 @@ DEFEVENT(SPC_DISK_NEXT3,"Next disk image in DF3:",AM_K,0,0,AKS_DISK_NEXT3)
DEFEVENT(SPC_INPUT_CONFIG1,"Select Input Configuration #1",AM_K,0,0,AKS_INPUT_CONFIG_1)
DEFEVENT(SPC_INPUT_CONFIG2,"Select Input Configuration #2",AM_K,0,0,AKS_INPUT_CONFIG_2)
DEFEVENT(SPC_INPUT_CONFIG3,"Select Input Configuration #3",AM_K,0,0,AKS_INPUT_CONFIG_3)
DEFEVENT(SPC_INPUT_CONFIG4,"Select Input Configuration #4",AM_K,0,0,AKS_INPUT_CONFIG_4)
DEFEVENT(SPC_INPUT_CONFIG4,"Select GamePorts Input Configuration",AM_K,0,0,AKS_INPUT_CONFIG_4)
DEFEVENT(SPC_ARCADIA_DIAGNOSTICS,"Arcadia diagnostics dip switch",AM_K,0,0,AKS_ARCADIADIAGNOSTICS)
DEFEVENT(SPC_ARCADIA_DIAGNOSTICS,"Arcadia diagnostics DIP switch",AM_K,0,0,AKS_ARCADIADIAGNOSTICS)
DEFEVENT(SPC_ARCADIA_PLAYER1,"Arcadia player 1",AM_K,0,0,AKS_ARCADIAPLY1)
DEFEVENT(SPC_ARCADIA_PLAYER2,"Arcadia player 2",AM_K,0,0,AKS_ARCADIAPLY2)
DEFEVENT(SPC_ARCADIA_COIN1,"Arcadia coin player 1",AM_K,0,0,AKS_ARCADIACOIN1)
......
......@@ -445,7 +445,7 @@ configure:4344: $? = 0
configure:4344: result: yes
configure:4350: checking for _doprnt
configure:4350: gcc -o conftest -g -O2 -Wall -W -Wno-unused conftest.c >&5
/tmp/cc4HIdmv.o: In function `main':
/tmp/cc65mTgk.o: In function `main':
/home/gnostic/puaex/src/tools/conftest.c:67: undefined reference to `_doprnt'
collect2: ld returned 1 exit status
configure:4350: $? = 1
......@@ -533,7 +533,7 @@ configure:4364: $? = 0
configure:4364: result: yes
configure:4364: checking for strcmpi
configure:4364: gcc -o conftest -g -O2 -Wall -W -Wno-unused conftest.c >&5
/tmp/cc8gAlpK.o: In function `main':
/tmp/cc7AqVhB.o: In function `main':
/home/gnostic/puaex/src/tools/conftest.c:69: undefined reference to `strcmpi'
collect2: ld returned 1 exit status
configure:4364: $? = 1
......@@ -613,7 +613,7 @@ configure: failed program was:
configure:4364: result: no
configure:4364: checking for stricmp
configure:4364: gcc -o conftest -g -O2 -Wall -W -Wno-unused conftest.c >&5
/tmp/ccuLVxdI.o: In function `main':
/tmp/ccqJO3OI.o: In function `main':
/home/gnostic/puaex/src/tools/conftest.c:69: undefined reference to `stricmp'
collect2: ld returned 1 exit status
configure:4364: $? = 1
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment