More sonarlint work

This commit is contained in:
Jasmine Iwanek
2023-06-09 23:46:54 -04:00
parent 0d1d069af4
commit ee695e71f9
218 changed files with 6282 additions and 3845 deletions

View File

@@ -74,6 +74,7 @@
#include <86box/vid_mda.h>
#include <86box/machine.h>
#include <86box/m_amstrad.h>
#include <86box/plat_unused.h>
#define STAT_PARITY 0x80
#define STAT_RTIMEOUT 0x40
@@ -84,60 +85,64 @@
#define STAT_IFULL 0x02
#define STAT_OFULL 0x01
typedef struct {
rom_t bios_rom; /* 1640 */
cga_t cga; /* 1640/200 */
mda_t mda; /* 1512/200/PPC512/640*/
ega_t ega; /* 1640 */
uint8_t emulation; /* Which display are we emulating? */
uint8_t dipswitches; /* DIP switches 1-3 */
uint8_t crtc_index; /* CRTC index readback
* Bit 7: CGA control port written
* Bit 6: Operation control port written
* Bit 5: CRTC register written
* Bits 0-4: Last CRTC register selected */
uint8_t operation_ctrl;
uint8_t reg_3df, type;
uint8_t crtc[32];
int crtcreg;
int cga_enabled; /* 1640 */
uint8_t cgacol,
cgamode,
stat;
uint8_t plane_write, /* 1512/200 */
plane_read, /* 1512/200 */
border, /* 1512/200 */
invert; /* 512/640 */
int fontbase; /* 1512/200 */
int linepos,
displine;
int sc, vc;
int cgadispon;
int con, coff,
cursoron,
cgablink;
int vsynctime;
int fullchange;
int vadj;
uint16_t ma, maback;
int dispon;
int blink;
uint64_t dispontime, /* 1512/1640 */
dispofftime; /* 1512/1640 */
pc_timer_t timer; /* 1512/1640 */
int firstline,
lastline;
uint8_t *vram;
void *ams;
typedef struct amsvid_t {
rom_t bios_rom; /* 1640 */
cga_t cga; /* 1640/200 */
mda_t mda; /* 1512/200/PPC512/640*/
ega_t ega; /* 1640 */
uint8_t emulation; /* Which display are we emulating? */
uint8_t dipswitches; /* DIP switches 1-3 */
uint8_t crtc_index; /* CRTC index readback
* Bit 7: CGA control port written
* Bit 6: Operation control port written
* Bit 5: CRTC register written
* Bits 0-4: Last CRTC register selected */
uint8_t operation_ctrl;
uint8_t reg_3df;
uint8_t type;
uint8_t crtc[32];
int crtcreg;
int cga_enabled; /* 1640 */
uint8_t cgacol;
uint8_t cgamode;
uint8_t stat;
uint8_t plane_write; /* 1512/200 */
uint8_t plane_read; /* 1512/200 */
uint8_t border; /* 1512/200 */
uint8_t invert; /* 512/640 */
int fontbase; /* 1512/200 */
int linepos;
int displine;
int sc;
int vc;
int cgadispon;
int con;
int coff;
int cursoron;
int cgablink;
int vsynctime;
int fullchange;
int vadj;
uint16_t ma;
uint16_t maback;
int dispon;
int blink;
uint64_t dispontime; /* 1512/1640 */
uint64_t dispofftime; /* 1512/1640 */
pc_timer_t timer; /* 1512/1640 */
int firstline;
int lastline;
uint8_t *vram;
void *ams;
} amsvid_t;
typedef struct {
typedef struct amstrad_t {
/* Machine stuff. */
uint8_t dead;
uint8_t stat1,
stat2;
uint8_t type,
language;
uint8_t stat1;
uint8_t stat2;
uint8_t type;
uint8_t language;
/* Keyboard stuff. */
int8_t wantirq;
@@ -147,8 +152,8 @@ typedef struct {
pc_timer_t send_delay_timer;
/* Mouse stuff. */
uint8_t mousex,
mousey;
uint8_t mousex;
uint8_t mousey;
int oldb;
/* Video stuff. */
@@ -160,7 +165,7 @@ uint32_t amstrad_latch;
static uint8_t key_queue[16];
static int key_queue_start = 0;
static int key_queue_end = 0;
static int key_queue_end = 0;
static uint8_t crtc_mask[32] = {
0xff, 0xff, 0xff, 0xff, 0x7f, 0x1f, 0x7f, 0x7f,
0xf3, 0x1f, 0x7f, 0x1f, 0x3f, 0xff, 0x3f, 0xff,
@@ -263,6 +268,9 @@ vid_out_1512(uint16_t addr, uint8_t val, void *priv)
case 0x03df:
vid->border = val;
return;
default:
return;
}
}
@@ -287,6 +295,9 @@ vid_in_1512(uint16_t addr, void *priv)
case 0x03da:
ret = vid->stat;
break;
default:
break;
}
return ret;
@@ -780,9 +791,15 @@ vid_out_1640(uint16_t addr, uint8_t val, void *priv)
mem_mapping_set_addr(&vid->ega.mapping,
0xb8000, 0x08000);
break;
default:
break;
}
}
return;
default:
break;
}
if (vid->cga_enabled)
@@ -924,6 +941,9 @@ ams_inform(amsvid_t *vid)
case PC200_LCDM:
video_inform(VIDEO_FLAG_TYPE_MDA, &timing_pc200);
break;
default:
break;
}
}
@@ -1013,6 +1033,9 @@ set_lcd_cols(uint8_t mode_reg)
lcdcols[c][0][0] = lcdcols[c][1][0] = blue;
lcdcols[c][0][1] = lcdcols[c][1][1] = blue;
break;
default:
break;
}
}
}
@@ -1043,6 +1066,9 @@ vid_in_200(uint16_t addr, void *priv)
case 0x03df:
return (vid->reg_3df);
default:
break;
}
if (addr >= 0x3D0 && addr <= 0x3DF)
@@ -1176,6 +1202,9 @@ vid_out_200(uint16_t addr, uint8_t val, void *priv)
mem_mapping_enable(&vid->cga.mapping);
}
return;
default:
break;
}
if (addr >= 0x3D0 && addr <= 0x3DF)
@@ -1272,7 +1301,7 @@ lcdm_poll(amsvid_t *vid)
drawcursor = ((mda->ma == ca) && mda->con && mda->cursoron);
blink = ((mda->blink & 16) && (mda->ctrl & 0x20) && (attr & 0x80) && !drawcursor);
lcd_draw_char_80(vid, &((uint32_t *) (buffer32->line[mda->displine]))[x * 8], chr, attr, drawcursor, blink, mda->sc, 0, mda->ctrl);
lcd_draw_char_80(vid, &((buffer32->line[mda->displine]))[x * 8], chr, attr, drawcursor, blink, mda->sc, 0, mda->ctrl);
mda->ma++;
}
}
@@ -1422,7 +1451,7 @@ lcdc_poll(amsvid_t *vid)
dat = (cga->vram[((cga->ma << 1) & 0x1fff) + ((cga->sc & 1) * 0x2000)] << 8) | cga->vram[((cga->ma << 1) & 0x1fff) + ((cga->sc & 1) * 0x2000) + 1];
cga->ma++;
for (uint8_t c = 0; c < 16; c++) {
buffer32->line[(cga->displine << 1)][(x << 4) + c] = buffer32->line[(cga->displine << 1) + 1][(x << 4) + c] = (dat & 0x8000) ? blue : green;
buffer32->line[cga->displine << 1][(x << 4) + c] = buffer32->line[(cga->displine << 1) + 1][(x << 4) + c] = (dat & 0x8000) ? blue : green;
dat <<= 1;
}
}
@@ -1568,9 +1597,9 @@ lcdc_poll(amsvid_t *vid)
}
static void
vid_poll_200(void *p)
vid_poll_200(void *priv)
{
amsvid_t *vid = (amsvid_t *) p;
amsvid_t *vid = (amsvid_t *) priv;
switch (vid->emulation) {
case PC200_LCDM:
@@ -1579,6 +1608,9 @@ vid_poll_200(void *p)
case PC200_LCDC:
lcdc_poll(vid);
return;
default:
break;
}
}
@@ -1614,6 +1646,9 @@ vid_init_200(amstrad_t *ams)
break;
/* The other combination is 'IDA disabled' (0x20) - see
* m_amstrad.c */
default:
break;
}
else
switch (vid->emulation) {
@@ -1635,6 +1670,9 @@ vid_init_200(amstrad_t *ams)
case PC200_LCDM:
vid->dipswitches = 0x10;
break;
default:
break;
}
cga = &vid->cga;
@@ -1969,7 +2007,7 @@ const device_t vid_pc3086_device = {
};
static void
ms_write(uint16_t addr, uint8_t val, void *priv)
ms_write(uint16_t addr, UNUSED(uint8_t val), void *priv)
{
amstrad_t *ams = (amstrad_t *) priv;
@@ -1997,7 +2035,7 @@ ms_read(uint16_t addr, void *priv)
}
static int
ms_poll(int x, int y, int z, int b, void *priv)
ms_poll(int x, int y, UNUSED(int z), int b, void *priv)
{
amstrad_t *ams = (amstrad_t *) priv;
@@ -2222,6 +2260,9 @@ ams_write(uint16_t port, uint8_t val, void *priv)
case 0xdead:
ams->dead = val;
break;
default:
break;
}
}
@@ -2285,6 +2326,9 @@ ams_read(uint16_t port, void *priv)
case AMSTRAD_SW10:
ret |= 0x20;
break;
default:
break;
}
break;
@@ -2300,6 +2344,9 @@ ams_read(uint16_t port, void *priv)
case 0xdead:
ret = ams->dead;
break;
default:
break;
}
return ret;
@@ -2482,6 +2529,9 @@ machine_amstrad_init(const machine_t *model, int type)
case AMS_PC3086:
ams->fdc = device_add(&fdc_at_actlow_device);
break;
default:
break;
}
ams->language = 7;
@@ -2539,6 +2589,9 @@ machine_amstrad_init(const machine_t *model, int type)
device_context_restore();
device_add(&paradise_pvga1a_pc3086_device);
break;
default:
break;
}
else if ((type == AMS_PC200) || (type == AMS_PPC512))
io_sethandler(0x03de, 1,