Some code smell fixes from sonarlint

This commit is contained in:
Jasmine Iwanek
2023-05-11 03:02:36 -04:00
parent d314255362
commit 6c1e4a8e2c
137 changed files with 3354 additions and 2900 deletions

View File

@@ -97,52 +97,54 @@ extern uint64_t instru_run_ms;
#define window_y monitor_settings[0].mon_window_y
#define window_w monitor_settings[0].mon_window_w
#define window_h monitor_settings[0].mon_window_h
extern int window_remember,
vid_resize, /* (C) allow resizing */
invert_display, /* (C) invert the display */
suppress_overscan; /* (C) suppress overscans */
extern int window_remember;
extern int vid_resize; /* (C) allow resizing */
extern int invert_display; /* (C) invert the display */
extern int suppress_overscan; /* (C) suppress overscans */
extern uint32_t lang_id; /* (C) language code identifier */
extern char icon_set[256]; /* (C) iconset identifier */
extern int scale; /* (C) screen scale factor */
extern int dpi_scale; /* (C) DPI scaling of the emulated screen */
extern int vid_api; /* (C) video renderer */
extern int vid_cga_contrast, /* (C) video */
video_fullscreen, /* (C) video */
video_fullscreen_first, /* (C) video */
video_fullscreen_scale, /* (C) video */
enable_overscan, /* (C) video */
force_43, /* (C) video */
video_filter_method, /* (C) video */
video_vsync, /* (C) video */
video_framerate, /* (C) video */
gfxcard[2]; /* (C) graphics/video card */
extern int vid_cga_contrast; /* (C) video */
extern int video_fullscreen; /* (C) video */
extern int video_fullscreen_first; /* (C) video */
extern int video_fullscreen_scale; /* (C) video */
extern int enable_overscan; /* (C) video */
extern int force_43; /* (C) video */
extern int video_filter_method; /* (C) video */
extern int video_vsync; /* (C) video */
extern int video_framerate; /* (C) video */
extern int gfxcard[2]; /* (C) graphics/video card */
extern char video_shader[512]; /* (C) video */
extern int bugger_enabled, /* (C) enable ISAbugger */
postcard_enabled, /* (C) enable POST card */
isamem_type[], /* (C) enable ISA mem cards */
isartc_type; /* (C) enable ISA RTC card */
extern int sound_is_float, /* (C) sound uses FP values */
voodoo_enabled, /* (C) video option */
ibm8514_enabled, /* (C) video option */
xga_enabled; /* (C) video option */
extern int bugger_enabled; /* (C) enable ISAbugger */
extern int postcard_enabled; /* (C) enable POST card */
extern int isamem_type[]; /* (C) enable ISA mem cards */
extern int isartc_type; /* (C) enable ISA RTC card */
extern int sound_is_float; /* (C) sound uses FP values */
extern int voodoo_enabled; /* (C) video option */
extern int ibm8514_enabled; /* (C) video option */
extern int xga_enabled; /* (C) video option */
extern uint32_t mem_size; /* (C) memory size (Installed on system board) */
extern uint32_t isa_mem_size; /* (C) memory size (ISA Memory Cards) */
extern int cpu, /* (C) cpu type */
cpu_use_dynarec, /* (C) cpu uses/needs Dyna */
fpu_type, /* (C) fpu type */
fpu_softfloat; /* (C) fpu uses softfloat */
extern int cpu; /* (C) cpu type */
extern int cpu_use_dynarec; /* (C) cpu uses/needs Dyna */
extern int fpu_type; /* (C) fpu type */
extern int fpu_softfloat; /* (C) fpu uses softfloat */
extern int time_sync; /* (C) enable time sync */
extern int hdd_format_type; /* (C) hard disk file format */
extern int confirm_reset, /* (C) enable reset confirmation */
confirm_exit, /* (C) enable exit confirmation */
confirm_save; /* (C) enable save confirmation */
extern int confirm_reset; /* (C) enable reset confirmation */
extern int confirm_exit; /* (C) enable exit confirmation */
extern int confirm_save; /* (C) enable save confirmation */
extern int enable_discord; /* (C) enable Discord integration */
extern int is_pentium; /* TODO: Move back to cpu/cpu.h when it's figured out,
how to remove that hack from the ET4000/W32p. */
extern int fixed_size_x, fixed_size_y;
extern int fixed_size_x;
extern int fixed_size_y;
extern double mouse_sensitivity; /* (C) Mouse sensitivity scale */
extern double mouse_x_error, mouse_y_error; /* Mouse error accumulators */
extern double mouse_x_error; /* Mouse error accumulator - Y */
extern double mouse_y_error; /* Mouse error accumulator - Y */
extern int pit_mode; /* (C) force setting PIT mode */
extern int fm_driver; /* (C) select FM sound driver */
@@ -196,7 +198,8 @@ extern void sub_cycles(int c);
extern void resub_cycles(int old_cycles);
extern double isa_timing;
extern int io_delay, framecountx;
extern int io_delay;
extern int framecountx;
extern volatile int cpu_thread_run;

View File

@@ -157,9 +157,11 @@ extern pc_cassette_t *cassette;
extern char cassette_fname[512];
extern char cassette_mode[512];
extern unsigned long cassette_pos, cassette_srate;
extern unsigned long cassette_pos;
extern unsigned long cassette_srate;
extern int cassette_enable;
extern int cassette_append, cassette_pcm;
extern int cassette_append;
extern int cassette_pcm;
extern int cassette_ui_writeprot;
extern const device_t cassette_device;

View File

@@ -120,7 +120,8 @@ extern int disable_write;
extern int defaultwriteprot;
extern int writeprot[FDD_NUM], fwriteprot[FDD_NUM];
extern int writeprot[FDD_NUM];
extern int fwriteprot[FDD_NUM];
extern int fdd_changed[FDD_NUM];
extern int drive_empty[FDD_NUM];

View File

@@ -113,7 +113,8 @@ enum {
TIMINGS_PIO_FC
};
extern int ide_ter_enabled, ide_qua_enabled;
extern int ide_ter_enabled;
extern int ide_qua_enabled;
#ifdef SCSI_DEVICE_H
extern ide_t *ide_get_drive(int ch);

View File

@@ -21,31 +21,38 @@ typedef struct i8080 {
union {
uint16_t af; /* Intended in case we also go for μPD9002 emulation, which also has a Z80 emulation mode. */
struct {
uint8_t a, flags;
uint8_t a;
uint8_t flags;
};
};
union {
uint16_t bc;
struct {
uint8_t b, c;
uint8_t b;
uint8_t c;
};
};
union {
uint16_t de;
struct {
uint8_t d, e;
uint8_t d;
uint8_t e;
};
};
union {
uint16_t hl;
struct {
uint8_t h, l;
uint8_t h;
uint8_t l;
};
};
uint16_t pc, sp;
uint16_t oldpc, ei;
uint32_t pmembase, dmembase; /* Base from where i8080 starts. */
uint8_t emulated; /* 0 = not emulated, use separate registers, 1 = emulated, use x86 registers. */
uint16_t pc;
uint16_t sp;
uint16_t oldpc;
uint16_t ei;
uint32_t pmembase;
uint32_t dmembase; /* Base from where i8080 starts. */
uint8_t emulated; /* 0 = not emulated, use separate registers, 1 = emulated, use x86 registers. */
uint16_t *cpu_flags;
void (*writemembyte)(uint32_t, uint8_t);
uint8_t (*readmembyte)(uint32_t);

View File

@@ -192,8 +192,10 @@ extern const scancode scancode_xt[512];
extern uint8_t keyboard_set3_flags[512];
extern uint8_t keyboard_set3_all_repeat;
extern uint8_t keyboard_set3_all_break;
extern int mouse_queue_start, mouse_queue_end;
extern int mouse_cmd_queue_start, mouse_cmd_queue_end;
extern int mouse_queue_start;
extern int mouse_queue_end;
extern int mouse_cmd_queue_start;
extern int mouse_cmd_queue_end;
extern int mouse_scan;
extern kbc_at_port_t *kbc_at_ports[2];

View File

@@ -317,8 +317,8 @@ typedef struct _machine_ {
} machine_t;
/* Global variables. */
extern const machine_filter_t machine_types[],
machine_chipsets[];
extern const machine_filter_t machine_types[];
extern const machine_filter_t machine_chipsets[];
extern const machine_t machines[];
extern int bios_only;
extern int machine;

View File

@@ -270,27 +270,27 @@ extern int writelnext;
extern uint32_t ram_mapped_addr[64];
extern uint8_t page_ff[4096];
extern mem_mapping_t ram_low_mapping,
extern mem_mapping_t ram_low_mapping;
#if 1
ram_mid_mapping,
extern mem_mapping_t ram_mid_mapping;
#endif
ram_remapped_mapping,
ram_high_mapping,
ram_2gb_mapping,
bios_mapping,
bios_high_mapping;
extern mem_mapping_t ram_remapped_mapping;
extern mem_mapping_t ram_high_mapping;
extern mem_mapping_t ram_2gb_mapping;
extern mem_mapping_t bios_mapping;
extern mem_mapping_t bios_high_mapping;
extern uint32_t mem_logical_addr;
extern page_t *pages,
**page_lookup;
extern page_t *pages;
extern page_t **page_lookup;
extern uint32_t get_phys_virt, get_phys_phys;
extern int shadowbios,
shadowbios_write;
extern int readlnum,
writelnum;
extern int shadowbios;
extern int shadowbios_write;
extern int readlnum;
extern int writelnum;
extern int memspeed[11];
@@ -299,9 +299,9 @@ extern uint8_t high_page; /* if a high (> 4 gb) page was detected */
extern uint32_t pages_sz; /* #pages in table */
extern int mem_a20_state,
mem_a20_alt,
mem_a20_key;
extern int mem_a20_state;
extern int mem_a20_alt;
extern int mem_a20_key;
extern uint8_t read_mem_b(uint32_t addr);
extern uint16_t read_mem_w(uint32_t addr);

View File

@@ -56,7 +56,8 @@ typedef struct midi_t {
midi_device_t *m_out_device, *m_in_device;
} midi_t;
extern midi_t *midi_out, *midi_in;
extern midi_t *midi_out;
extern midi_t *midi_in;
extern void midi_out_init(midi_device_t *device);
extern void midi_in_init(midi_device_t *device, midi_t **mididev);

View File

@@ -44,10 +44,13 @@ extern "C" {
#endif
extern int mouse_type;
extern int mouse_x, mouse_y, mouse_z;
extern int mouse_x;
extern int mouse_y;
extern int mouse_z;
extern int mouse_mode; /* 1 = Absolute, 0 = Relative */
extern int mouse_tablet_in_proximity;
extern double mouse_x_abs, mouse_y_abs;
extern double mouse_x_abs;
extern double mouse_y_abs;
extern int mouse_buttons;
extern int tablet_tool_type;

View File

@@ -94,8 +94,10 @@ typedef union {
uint8_t addr_regs[4];
} bar_t;
extern int pci_burst_time, agp_burst_time,
pci_nonburst_time, agp_nonburst_time;
extern int pci_burst_time;
extern int agp_burst_time;
extern int pci_nonburst_time;
extern int agp_nonburst_time;
extern void pci_set_irq_routing(int pci_int, int irq);
extern void pci_set_irq_level(int pci_int, int level);

View File

@@ -29,7 +29,8 @@ typedef struct pic {
struct pic *slaves[8];
} pic_t;
extern pic_t pic, pic2;
extern pic_t pic;
extern pic_t pic2;
extern void pic_reset_smi_irq_mask(void);
extern void pic_set_smi_irq_mask(int irq, int set);

View File

@@ -84,15 +84,18 @@ typedef struct {
extern pit_intf_t pit_devs[2];
extern const pit_intf_t pit_classic_intf;
extern double SYSCLK, PCICLK, AGPCLK;
extern double SYSCLK;
extern double PCICLK;
extern double AGPCLK;
extern uint64_t PITCONST, ISACONST,
CGACONST,
MDACONST,
HERCCONST,
VGACONST1,
VGACONST2,
RTCCONST;
extern uint64_t PITCONST;
extern uint64_t ISACONST;
extern uint64_t CGACONST;
extern uint64_t MDACONST;
extern uint64_t HERCCONST;
extern uint64_t VGACONST1;
extern uint64_t VGACONST2;
extern uint64_t RTCCONST;
extern int refresh_at_enable;

View File

@@ -104,14 +104,22 @@ enum {
};
typedef struct {
const uint16_t index, value, write_mask;
const uint16_t index;
const uint16_t value;
const uint16_t write_mask;
} ac97_vendor_reg_t;
typedef struct {
uint32_t vendor_id, min_rate, max_rate, misc_flags;
uint16_t reset_flags, extid_flags,
powerdown_mask, regs[64];
uint8_t codec_id, vendor_reg_page_max;
uint32_t vendor_id;
uint32_t min_rate;
uint32_t max_rate;
uint32_t misc_flags;
uint16_t reset_flags;
uint16_t extid_flags;
uint16_t powerdown_mask;
uint16_t regs[64];
uint8_t codec_id;
uint8_t vendor_reg_page_max;
const ac97_vendor_reg_t *vendor_regs;
uint16_t *vendor_reg_pages;
} ac97_codec_t;
@@ -131,9 +139,12 @@ extern void ac97_via_remap_modem_sgd(void *priv, uint16_t new_io_base, uint8_
extern void ac97_via_remap_audio_codec(void *priv, uint16_t new_io_base, uint8_t enable);
extern void ac97_via_remap_modem_codec(void *priv, uint16_t new_io_base, uint8_t enable);
extern ac97_codec_t **ac97_codec, **ac97_modem_codec;
extern int ac97_codec_count, ac97_modem_codec_count,
ac97_codec_id, ac97_modem_codec_id;
extern ac97_codec_t **ac97_codec;
extern ac97_codec_t **ac97_modem_codec;
extern int ac97_codec_count;
extern int ac97_modem_codec_count;
extern int ac97_codec_id;
extern int ac97_modem_codec_id;
#ifdef EMU_DEVICE_H
extern const device_t ad1881_device;

View File

@@ -144,7 +144,8 @@ typedef struct mpu_t {
void *priv;
} mpu_t;
extern int mpu401_standalone_enable, mpu401_already_loaded;
extern int mpu401_standalone_enable;
extern int mpu401_already_loaded;
extern const device_t mpu401_device;
extern const device_t mpu401_mca_device;

View File

@@ -23,7 +23,8 @@
extern int speaker_mute;
extern int speaker_gated;
extern int speaker_enable, was_speaker_enable;
extern int speaker_enable;
extern int was_speaker_enable;
extern void speaker_init(void);

View File

@@ -42,9 +42,9 @@ enum {
};
extern int ppispeakon;
extern int gated,
speakval,
speakon;
extern int gated;
extern int speakval;
extern int speakon;
extern int sound_pos_global;
extern int sound_card_current[SOUND_CARD_MAX];

View File

@@ -180,7 +180,8 @@ typedef struct svga_t {
monitor_t* monitor;
} svga_t;
extern int vga_on, ibm8514_on;
extern int vga_on;
extern int ibm8514_on;
extern void ibm8514_poll(ibm8514_t *dev, svga_t *svga);
extern void ibm8514_recalctimings(svga_t *svga);

View File

@@ -70,7 +70,8 @@ static __m128i xmm_01_w; // = 0x0001000100010001ull;
static __m128i xmm_ff_w; // = 0x00ff00ff00ff00ffull;
static __m128i xmm_ff_b; // = 0x00000000ffffffffull;
static __m128i alookup[257], aminuslookup[256];
static __m128i alookup[257];
static __m128i aminuslookup[256];
static __m128i minus_254; // = 0xff02ff02ff02ff02ull;
static __m128i bilinear_lookup[256 * 2];
static __m128i xmm_00_ff_w[2];

View File

@@ -69,9 +69,10 @@ static __m128i xmm_ff_w; // = 0x00ff00ff00ff00ffull;
static __m128i xmm_ff_b; // = 0x00000000ffffffffull;
static uint32_t zero = 0;
static double const_1_48 = (double) (1ull << 4);
static double const_1_48 = (double) (1ULL << 4);
static __m128i alookup[257], aminuslookup[256];
static __m128i alookup[257];
static __m128i aminuslookup[256];
static __m128i minus_254; // = 0xff02ff02ff02ff02ull;
static __m128i bilinear_lookup[256 * 2];
static __m128i xmm_00_ff_w[2];

View File

@@ -53,17 +53,25 @@ typedef union int_float {
} int_float;
typedef struct rgbvoodoo_t {
uint8_t b, g, r;
uint8_t b;
uint8_t g;
uint8_t r;
uint8_t pad;
} rgbvoodoo_t;
typedef struct rgba8_t {
uint8_t b, g, r, a;
uint8_t b;
uint8_t g;
uint8_t r;
uint8_t a;
} rgba8_t;
typedef union rgba_u {
struct
{
uint8_t b, g, r, a;
uint8_t b;
uint8_t g;
uint8_t r;
uint8_t a;
} rgba;
uint32_t u;
} rgba_u;
@@ -105,24 +113,53 @@ typedef struct
typedef struct voodoo_params_t {
int command;
int32_t vertexAx, vertexAy, vertexBx, vertexBy, vertexCx, vertexCy;
int32_t vertexAx;
int32_t vertexAy;
int32_t vertexBx;
int32_t vertexBy;
int32_t vertexCx;
int32_t vertexCy;
uint32_t startR, startG, startB, startZ, startA;
uint32_t startR;
uint32_t startG;
uint32_t startB;
uint32_t startZ;
uint32_t startA;
int32_t dBdX, dGdX, dRdX, dAdX, dZdX;
int32_t dBdX;
int32_t dGdX;
int32_t dRdX;
int32_t dAdX;
int32_t dZdX;
int32_t dBdY, dGdY, dRdY, dAdY, dZdY;
int32_t dBdY;
int32_t dGdY;
int32_t dRdY;
int32_t dAdY;
int32_t dZdY;
int64_t startW, dWdX, dWdY;
int64_t startW;
int64_t dWdX;
int64_t dWdY;
struct
{
int64_t startS, startT, startW, p1;
int64_t dSdX, dTdX, dWdX, p2;
int64_t dSdY, dTdY, dWdY, p3;
int64_t startS;
int64_t startT;
int64_t startW;
int64_t p1;
int64_t dSdX;
int64_t dTdX;
int64_t dWdX;
int64_t p2;
int64_t dSdY;
int64_t dTdY;
int64_t dWdY;
int64_t p3;
} tmu[2];
uint32_t color0, color1;
uint32_t color0;
uint32_t color1;
uint32_t fbzMode;
uint32_t fbzColorPath;
@@ -131,20 +168,26 @@ typedef struct voodoo_params_t {
rgbvoodoo_t fogColor;
struct
{
uint8_t fog, dfog;
uint8_t fog;
uint8_t dfog;
} fogTable[64];
uint32_t alphaMode;
uint32_t zaColor;
int chromaKey_r, chromaKey_g, chromaKey_b;
int chromaKey_r;
int chromaKey_g;
int chromaKey_b;
uint32_t chromaKey;
uint32_t textureMode[2];
uint32_t tLOD[2];
uint32_t texBaseAddr[2], texBaseAddr1[2], texBaseAddr2[2], texBaseAddr38[2];
uint32_t texBaseAddr[2];
uint32_t texBaseAddr1[2];
uint32_t texBaseAddr2[2];
uint32_t texBaseAddr38[2];
uint32_t tex_base[2][LOD_MAX + 2];
uint32_t tex_end[2][LOD_MAX + 2];
@@ -155,14 +198,23 @@ typedef struct voodoo_params_t {
int tex_shift[2][LOD_MAX + 2];
int tex_lod[2][LOD_MAX + 2];
int tex_entry[2];
int detail_max[2], detail_bias[2], detail_scale[2];
int detail_max[2];
int detail_bias[2];
int detail_scale[2];
uint32_t draw_offset, aux_offset;
uint32_t draw_offset;
uint32_t aux_offset;
int tformat[2];
int clipLeft, clipRight, clipLowY, clipHighY;
int clipLeft1, clipRight1, clipLowY1, clipHighY1;
int clipLeft;
int clipRight;
int clipLowY;
int clipHighY;
int clipLeft1;
int clipRight1;
int clipLowY1;
int clipHighY1;
int sign;
@@ -172,31 +224,46 @@ typedef struct voodoo_params_t {
uint32_t stipple;
int col_tiled, aux_tiled;
int row_width, aux_row_width;
int col_tiled;
int aux_tiled;
int row_width;
int aux_row_width;
} voodoo_params_t;
typedef struct texture_t {
uint32_t base;
uint32_t tLOD;
atomic_int refcount, refcount_r[4];
atomic_int refcount;
atomic_int refcount_r[4];
int is16;
uint32_t palette_checksum;
uint32_t addr_start[4], addr_end[4];
uint32_t addr_start[4];
uint32_t addr_end[4];
uint32_t *data;
} texture_t;
typedef struct vert_t {
float sVx, sVy;
float sRed, sGreen, sBlue, sAlpha;
float sVz, sWb;
float sW0, sS0, sT0;
float sW1, sS1, sT1;
float sVx;
float sVy;
float sRed;
float sGreen;
float sBlue;
float sAlpha;
float sVz;
float sWb;
float sW0;
float sS0;
float sT0;
float sW1;
float sS1;
float sT1;
} vert_t;
typedef struct clip_t {
int x_min, x_max;
int y_min, y_max;
int x_min;
int x_max;
int y_min;
int y_max;
} clip_t;
typedef struct voodoo_t {
@@ -205,7 +272,8 @@ typedef struct voodoo_t {
int pci_enable;
uint8_t dac_data[8];
int dac_reg, dac_reg_ff;
int dac_reg;
int dac_reg_ff;
uint8_t dac_readdata;
uint16_t dac_pll_regs[16];
@@ -214,8 +282,14 @@ typedef struct voodoo_t {
voodoo_params_t params;
uint32_t fbiInit0, fbiInit1, fbiInit2, fbiInit3, fbiInit4;
uint32_t fbiInit5, fbiInit6, fbiInit7; /*Voodoo 2*/
uint32_t fbiInit0;
uint32_t fbiInit1;
uint32_t fbiInit2;
uint32_t fbiInit3;
uint32_t fbiInit4;
uint32_t fbiInit5;
uint32_t fbiInit6;
uint32_t fbiInit7; /*Voodoo 2*/
uint32_t initEnable;
@@ -223,18 +297,28 @@ typedef struct voodoo_t {
uint32_t memBaseAddr;
int_float fvertexAx, fvertexAy, fvertexBx, fvertexBy, fvertexCx, fvertexCy;
int_float fvertexAx;
int_float fvertexAy;
int_float fvertexBx;
int_float fvertexBy;
int_float fvertexCx;
int_float fvertexCy;
uint32_t front_offset, back_offset;
uint32_t front_offset;
uint32_t back_offset;
uint32_t fb_read_offset, fb_write_offset;
uint32_t fb_read_offset;
uint32_t fb_write_offset;
int row_width, aux_row_width;
int row_width;
int aux_row_width;
int block_width;
int col_tiled, aux_tiled;
int col_tiled;
int aux_tiled;
uint8_t *fb_mem, *tex_mem[2];
uint8_t *fb_mem;
uint8_t *tex_mem[2];
uint16_t *tex_mem_w[2];
int rgb_sel;
@@ -246,7 +330,8 @@ typedef struct voodoo_t {
mutex_t *swap_mutex;
int swap_count;
int disp_buffer, draw_buffer;
int disp_buffer;
int draw_buffer;
pc_timer_t timer;
int line;
@@ -254,15 +339,20 @@ typedef struct voodoo_t {
uint32_t backPorch;
uint32_t videoDimensions;
uint32_t hSync, vSync;
uint32_t hSync;
uint32_t vSync;
int h_total, v_total, v_disp;
int h_total;
int v_total;
int v_disp;
int h_disp;
int v_retrace;
struct
{
uint32_t y[4], i[4], q[4];
uint32_t y[4];
uint32_t i[4];
uint32_t q[4];
} nccTable[2][2];
rgba_u palette[2][256];
@@ -284,9 +374,15 @@ typedef struct voodoo_t {
int render_threads;
int odd_even_mask;
int pixel_count[4], texel_count[4], tri_count, frame_count;
int pixel_count_old[4], texel_count_old[4];
int wr_count, rd_count, tex_count;
int pixel_count[4];
int texel_count[4];
int tri_count;
int frame_count;
int pixel_count_old[4];
int texel_count_old[4];
int wr_count;
int rd_count;
int tex_count;
int retrace_count;
int swap_interval;
@@ -306,18 +402,27 @@ typedef struct voodoo_t {
int type;
fifo_entry_t fifo[FIFO_SIZE];
atomic_int fifo_read_idx, fifo_write_idx;
atomic_int cmd_read, cmd_written, cmd_written_fifo;
atomic_int fifo_read_idx;
atomic_int fifo_write_idx;
atomic_int cmd_read;
atomic_int cmd_written;
atomic_int cmd_written_fifo;
voodoo_params_t params_buffer[PARAM_SIZE];
atomic_int params_read_idx[4], params_write_idx;
atomic_int params_read_idx[4];
atomic_int params_write_idx;
uint32_t cmdfifo_base, cmdfifo_end, cmdfifo_size;
int cmdfifo_rp, cmdfifo_ret_addr;
uint32_t cmdfifo_base;
uint32_t cmdfifo_end;
uint32_t cmdfifo_size;
int cmdfifo_rp;
int cmdfifo_ret_addr;
int cmdfifo_in_sub;
atomic_int cmdfifo_depth_rd, cmdfifo_depth_wr;
atomic_int cmdfifo_depth_rd;
atomic_int cmdfifo_depth_wr;
atomic_int cmdfifo_enabled;
uint32_t cmdfifo_amin, cmdfifo_amax;
uint32_t cmdfifo_amin;
uint32_t cmdfifo_amax;
int cmdfifo_holecount;
atomic_uint cmd_status;
@@ -346,21 +451,37 @@ typedef struct voodoo_t {
uint32_t bltSrcBaseAddr;
uint32_t bltDstBaseAddr;
int bltSrcXYStride, bltDstXYStride;
uint32_t bltSrcChromaRange, bltDstChromaRange;
int bltSrcChromaMinR, bltSrcChromaMinG, bltSrcChromaMinB;
int bltSrcChromaMaxR, bltSrcChromaMaxG, bltSrcChromaMaxB;
int bltDstChromaMinR, bltDstChromaMinG, bltDstChromaMinB;
int bltDstChromaMaxR, bltDstChromaMaxG, bltDstChromaMaxB;
int bltSrcXYStride;
int bltDstXYStride;
uint32_t bltSrcChromaRange;
uint32_t bltDstChromaRange;
int bltSrcChromaMinR;
int bltSrcChromaMinG;
int bltSrcChromaMinB;
int bltSrcChromaMaxR;
int bltSrcChromaMaxG;
int bltSrcChromaMaxB;
int bltDstChromaMinR;
int bltDstChromaMinG;
int bltDstChromaMinB;
int bltDstChromaMaxR;
int bltDstChromaMaxG;
int bltDstChromaMaxB;
int bltClipRight, bltClipLeft;
int bltClipHighY, bltClipLowY;
int bltClipRight;
int bltClipLeft;
int bltClipHighY;
int bltClipLowY;
int bltSrcX, bltSrcY;
int bltDstX, bltDstY;
int bltSizeX, bltSizeY;
int bltSrcX;
int bltSrcY;
int bltDstX;
int bltDstY;
int bltSizeX;
int bltSizeY;
int bltRop[4];
uint16_t bltColorFg, bltColorBg;
uint16_t bltColorFg;
uint16_t bltColorBg;
uint32_t bltCommand;
@@ -368,20 +489,28 @@ typedef struct voodoo_t {
struct
{
int dst_x, dst_y;
int dst_x;
int dst_y;
int cur_x;
int size_x, size_y;
int x_dir, y_dir;
int size_x;
int size_y;
int x_dir;
int y_dir;
int dst_stride;
} blt;
struct
{
uint32_t bresError0, bresError1;
uint32_t clip0Min, clip0Max;
uint32_t clip1Min, clip1Max;
uint32_t colorBack, colorFore;
uint32_t command, commandExtra;
uint32_t bresError0;
uint32_t bresError1;
uint32_t clip0Min;
uint32_t clip0Max;
uint32_t clip1Min;
uint32_t clip1Max;
uint32_t colorBack;
uint32_t colorFore;
uint32_t command;
uint32_t commandExtra;
uint32_t dstBaseAddr;
uint32_t dstFormat;
uint32_t dstSize;
@@ -396,20 +525,31 @@ typedef struct voodoo_t {
uint32_t colorPattern[64];
int bres_error_0, bres_error_1;
uint32_t colorPattern8[64], colorPattern16[64], colorPattern24[64];
int cur_x, cur_y;
int bres_error_0;
int bres_error_1;
uint32_t colorPattern8[64];
uint32_t colorPattern16[64];
uint32_t colorPattern24[64];
int cur_x;
int cur_y;
uint32_t dstBaseAddr_tiled;
uint32_t dstColorkeyMin, dstColorkeyMax;
int dstSizeX, dstSizeY;
int dstX, dstY;
uint32_t dstColorkeyMin;
uint32_t dstColorkeyMax;
int dstSizeX;
int dstSizeY;
int dstX;
int dstY;
int dst_stride;
int patoff_x, patoff_y;
int patoff_x;
int patoff_y;
uint8_t rops[4];
uint32_t srcBaseAddr_tiled;
uint32_t srcColorkeyMin, srcColorkeyMax;
int srcSizeX, srcSizeY;
int srcX, srcY;
uint32_t srcColorkeyMin;
uint32_t srcColorkeyMax;
int srcSizeX;
int srcSizeY;
int srcX;
int srcY;
int src_stride;
int old_srcX;
@@ -418,39 +558,52 @@ typedef struct voodoo_t {
uint32_t old_host_data;
/*Polyfill coordinates*/
int lx[2], rx[2];
int ly[2], ry[2];
int lx[2];
int rx[2];
int ly[2];
int ry[2];
/*Polyfill state*/
int error[2];
int dx[2], dy[2];
int dx[2];
int dy[2];
int x_inc[2]; /*y_inc is always 1 for polyfill*/
int lx_cur, rx_cur;
int lx_cur;
int rx_cur;
clip_t clip[2];
uint8_t host_data[16384];
int host_data_count;
int host_data_size_src, host_data_size_dest;
int src_stride_src, src_stride_dest;
int host_data_size_src;
int host_data_size_dest;
int src_stride_src;
int src_stride_dest;
int src_bpp;
int line_pix_pos, line_bit_pos;
int line_rep_cnt, line_bit_mask_size;
int line_pix_pos;
int line_bit_pos;
int line_rep_cnt;
int line_bit_mask_size;
} banshee_blt;
struct
{
uint32_t vidOverlayStartCoords;
uint32_t vidOverlayEndScreenCoords;
uint32_t vidOverlayDudx, vidOverlayDudxOffsetSrcWidth;
uint32_t vidOverlayDvdy, vidOverlayDvdyOffset;
uint32_t vidOverlayDudx;
uint32_t vidOverlayDudxOffsetSrcWidth;
uint32_t vidOverlayDvdy;
uint32_t vidOverlayDvdyOffset;
// uint32_t vidDesktopOverlayStride;
int start_x, start_y;
int end_x, end_y;
int size_x, size_y;
int start_x;
int start_y;
int end_x;
int end_y;
int size_x;
int size_y;
int overlay_bytes;
unsigned int src_y;
@@ -462,17 +615,24 @@ typedef struct voodoo_t {
uint32_t video_16to32[0x10000];
uint8_t dirty_line[2048];
int dirty_line_low, dirty_line_high;
int dirty_line_low;
int dirty_line_high;
int fb_write_buffer, fb_draw_buffer;
int fb_write_buffer;
int fb_draw_buffer;
int buffer_cutoff;
uint32_t tile_base, tile_stride;
int tile_stride_shift, tile_x, tile_x_real;
uint32_t tile_base;
uint32_t tile_stride;
int tile_stride_shift;
int tile_x;
int tile_x_real;
int y_origin_swap;
int read_time, write_time, burst_time;
int read_time;
int write_time;
int burst_time;
pc_timer_t wake_timer;
@@ -501,9 +661,11 @@ typedef struct voodoo_t {
struct voodoo_set_t *set;
uint8_t fifo_thread_run, render_thread_run[4];
uint8_t fifo_thread_run;
uint8_t render_thread_run[4];
uint8_t *vram, *changedvram;
uint8_t *vram;
uint8_t *changedvram;
void *p;
uint8_t monitor_index;
@@ -517,7 +679,12 @@ typedef struct voodoo_set_t {
int nr_cards;
} voodoo_set_t;
extern rgba8_t rgb332[0x100], ai44[0x100], rgb565[0x10000], argb1555[0x10000], argb4444[0x10000], ai88[0x10000];
extern rgba8_t rgb332[0x100];
extern rgba8_t ai44[0x100];
extern rgba8_t rgb565[0x10000];
extern rgba8_t argb1555[0x10000];
extern rgba8_t argb4444[0x10000];
extern rgba8_t ai88[0x10000];
void voodoo_generate_vb_filters(voodoo_t *voodoo, int fcr, int fcg);

View File

@@ -22,7 +22,12 @@
typedef struct {
int ena;
int x, y, xoff, yoff, cur_xsize, cur_ysize;
int x;
int y;
int xoff;
int yoff;
int cur_xsize;
int cur_ysize;
uint32_t addr;
} xga_hwcursor_t;

View File

@@ -163,12 +163,12 @@ extern volatile int screenshots;
#define efscrnsz_y (monitors[monitor_index_global].mon_efscrnsz_y)
#define unscaled_size_x (monitors[monitor_index_global].mon_unscaled_size_x)
#define unscaled_size_y (monitors[monitor_index_global].mon_unscaled_size_y)
extern PALETTE cgapal,
cgapal_mono[6];
extern PALETTE cgapal;
extern PALETTE cgapal_mono[6];
// extern uint32_t pal_lookup[256];
extern int video_fullscreen,
video_fullscreen_scale,
video_fullscreen_first;
extern int video_fullscreen;
extern int video_fullscreen_scale;
extern int video_fullscreen_first;
extern uint8_t fontdat[2048][8];
extern uint8_t fontdatm[2048][16];
extern uint8_t fontdatw[512][32];
@@ -190,9 +190,9 @@ extern int video_grayscale;
extern int video_graytype;
extern double cpuclock;
extern int emu_fps,
frames;
extern int readflash;
extern int emu_fps;
extern int frames;
extern int readflash;
/* Function handler pointers. */
extern void (*video_recalctimings)(void);