Merge pull request #3374 from jriwanek-forks/sonarlint

Yet more sonarlint fixes
This commit is contained in:
Miran Grča
2023-05-29 14:46:41 +02:00
committed by GitHub
125 changed files with 2557 additions and 2279 deletions

View File

@@ -439,7 +439,7 @@ pc_init(int argc, char *argv[])
}
if (!strncmp(exe_path, "/private/var/folders/", 21)) {
ui_msgbox_header(MBX_FATAL, L"App Translocation", EMU_NAME_W L" cannot determine the emulated machine's location due to a macOS security feature. Please move the " EMU_NAME_W L" app to another folder (not /Applications), or make a copy of it and open that copy instead.");
return (0);
return 0;
}
#elif !defined(_WIN32)
/* Grab the actual path if we are an AppImage. */
@@ -874,7 +874,6 @@ pc_init_modules(void)
if (machine == -1) {
fatal("No available machines\n");
exit(-1);
return 0;
}
}
@@ -897,7 +896,6 @@ pc_init_modules(void)
if (gfxcard[0] == -1) {
fatal("No available video cards\n");
exit(-1);
return 0;
}
}

View File

@@ -36,7 +36,8 @@
* each 8x256 lookup table is 16k. */
#ifndef CRC64SPEED_DUAL
static uint64_t crc64_table[8][256] = {{0}};
static void *crc64_table_little = NULL, *crc64_table_big = NULL;
static void *crc64_table_little = NULL;
static void *crc64_table_big = NULL;
static const bool dual = false;
#else
static uint64_t crc64_table_little[8][256] = {{0}};

View File

@@ -174,12 +174,12 @@ hdc_has_config(int hdc)
const device_t *dev = hdc_get_device(hdc);
if (dev == NULL)
return (0);
return 0;
if (!device_has_config(dev))
return (0);
return 0;
return (1);
return 1;
}
int

View File

@@ -172,16 +172,19 @@ get_sector(esdi_t *esdi, off64_t *addr)
drive_t *drive = &esdi->drives[esdi->drive_sel];
int heads = drive->cfg_hpc;
int sectors = drive->cfg_spt;
int c, h, s, sector;
int c;
int h;
int s;
int sector;
if (esdi->head > heads) {
esdi_at_log("esdi_get_sector: past end of configured heads\n");
return (1);
return 1;
}
if (esdi->sector >= sectors + 1) {
esdi_at_log("esdi_get_sector: past end of configured sectors\n");
return (1);
return 1;
}
sector = esdi->sector ? esdi->sector : 1;
@@ -203,7 +206,7 @@ get_sector(esdi_t *esdi, off64_t *addr)
*addr = ((((off64_t) c * drive->real_hpc) + h) * drive->real_spt) + s;
}
return (0);
return 0;
}
/* Move to the next sector using CHS addressing. */
@@ -253,7 +256,8 @@ static void
esdi_write(uint16_t port, uint8_t val, void *priv)
{
esdi_t *esdi = (esdi_t *) priv;
double seek_time, xfer_time;
double seek_time;
double xfer_time;
off64_t addr;
esdi_at_log("WD1007 write(%04x, %02x)\n", port, val);
@@ -452,7 +456,7 @@ esdi_readw(uint16_t port, void *priv)
}
}
return (temp);
return temp;
}
static uint8_t
@@ -498,7 +502,7 @@ esdi_read(uint16_t port, void *priv)
esdi_at_log("WD1007 read(%04x) = %02x\n", port, temp);
return (temp);
return temp;
}
static void
@@ -820,13 +824,13 @@ esdi_rom_write(uint32_t addr, uint8_t val, void *p)
static void *
wd1007vse1_init(const device_t *info)
{
int c, d;
int c;
esdi_t *esdi = malloc(sizeof(esdi_t));
memset(esdi, 0x00, sizeof(esdi_t));
c = 0;
for (d = 0; d < HDD_NUM; d++) {
for (uint8_t d = 0; d < HDD_NUM; d++) {
if ((hdd[d].bus == HDD_BUS_ESDI) && (hdd[d].esdi_channel < ESDI_NUM)) {
loadhd(esdi, hdd[d].esdi_channel, d, hdd[d].fn);
@@ -858,7 +862,7 @@ wd1007vse1_init(const device_t *info)
ui_sb_update_icon(SB_HDD | HDD_BUS_ESDI, 0);
return (esdi);
return esdi;
}
static void
@@ -866,9 +870,8 @@ wd1007vse1_close(void *priv)
{
esdi_t *esdi = (esdi_t *) priv;
drive_t *drive;
int d;
for (d = 0; d < 2; d++) {
for (uint8_t d = 0; d < 2; d++) {
drive = &esdi->drives[d];
hdd_image_close(drive->hdd_num);

View File

@@ -868,7 +868,7 @@ esdi_read(uint16_t port, void *priv)
break;
}
return (ret);
return ret;
}
static void
@@ -987,7 +987,7 @@ esdi_readw(uint16_t port, void *priv)
switch (port & 7) {
case 0: /*Status Interface Register*/
if (dev->status_pos >= dev->status_len)
return (0);
return 0;
ret = dev->status_data[dev->status_pos++];
if (dev->status_pos >= dev->status_len) {
dev->status &= ~STATUS_STATUS_OUT_FULL;
@@ -999,7 +999,7 @@ esdi_readw(uint16_t port, void *priv)
fatal("esdi_readw port=%04x\n", port);
}
return (ret);
return ret;
}
static void
@@ -1117,7 +1117,8 @@ esdi_init(const device_t *info)
{
drive_t *drive;
esdi_t *dev;
int c, i;
uint8_t c;
uint8_t i;
dev = malloc(sizeof(esdi_t));
if (dev == NULL)
@@ -1178,7 +1179,7 @@ esdi_init(const device_t *info)
/* Set the reply timer. */
timer_add(&dev->timer, esdi_callback, dev, 0);
return (dev);
return dev;
}
static void
@@ -1186,11 +1187,10 @@ esdi_close(void *priv)
{
esdi_t *dev = (esdi_t *) priv;
drive_t *drive;
int d;
dev->drives[0].present = dev->drives[1].present = 0;
for (d = 0; d < 2; d++) {
for (uint8_t d = 0; d < 2; d++) {
drive = &dev->drives[d];
hdd_image_close(drive->hdd_num);

View File

@@ -176,7 +176,8 @@ static uint8_t ide_qua_pnp_rom[] = {
};
ide_t *ide_drives[IDE_NUM];
int ide_ter_enabled = 0, ide_qua_enabled = 0;
int ide_ter_enabled = 0;
int ide_qua_enabled = 0;
static void ide_atapi_callback(ide_t *ide);
static void ide_callback(void *priv);
@@ -389,9 +390,9 @@ ide_irq_update(ide_t *ide)
void
ide_padstr(char *str, const char *src, int len)
{
int i, v;
int v;
for (i = 0; i < len; i++) {
for (int i = 0; i < len; i++) {
if (*src != '\0')
v = *src++;
else
@@ -412,9 +413,7 @@ ide_padstr(char *str, const char *src, int len)
void
ide_padstr8(uint8_t *buf, int buf_size, const char *src)
{
int i;
for (i = 0; i < buf_size; i++) {
for (int i = 0; i < buf_size; i++) {
if (*src != '\0')
buf[i] = *src++;
else
@@ -488,7 +487,9 @@ ide_hd_identify(ide_t *ide)
{
char device_identify[9] = { '8', '6', 'B', '_', 'H', 'D', '0', '0', 0 };
uint32_t d_hpc, d_spt, d_tracks;
uint32_t d_hpc;
uint32_t d_spt;
uint32_t d_tracks;
uint64_t full_size = (((uint64_t) hdd[ide->hdd_num].tracks) * hdd[ide->hdd_num].hpc * hdd[ide->hdd_num].spt);
device_identify[6] = (ide->hdd_num / 10) + 0x30;
@@ -577,7 +578,12 @@ ide_hd_identify(ide_t *ide)
static void
ide_identify(ide_t *ide)
{
int d, i, max_pio, max_sdma, max_mdma, max_udma;
int d;
int i;
int max_pio;
int max_sdma;
int max_mdma;
int max_udma;
ide_t *ide_other = ide_drives[ide->channel ^ 1];
ide_log("IDE IDENTIFY or IDENTIFY PACKET DEVICE on board %i (channel %i)\n", ide->board, ide->channel);
@@ -674,7 +680,8 @@ ide_identify(ide_t *ide)
static off64_t
ide_get_sector(ide_t *ide)
{
uint32_t heads, sectors;
uint32_t heads;
uint32_t sectors;
if (ide->lba)
return (off64_t) ide->lba_addr;
@@ -749,8 +756,11 @@ ide_set_signature(ide_t *ide)
static int
ide_set_features(ide_t *ide)
{
uint8_t features, features_data;
int mode, submode, max;
uint8_t features;
uint8_t features_data;
int mode;
int submode;
int max;
features = ide->cylprecomp;
features_data = ide->secount;
@@ -836,7 +846,8 @@ ide_set_features(ide_t *ide)
void
ide_set_sector(ide_t *ide, int64_t sector_num)
{
unsigned int cyl, r;
unsigned int cyl;
unsigned int r;
if (ide->lba) {
ide->head = (sector_num >> 24);
ide->cylinder = (sector_num >> 8);
@@ -942,7 +953,8 @@ ide_atapi_command_bus(ide_t *ide)
static void
ide_atapi_callback(ide_t *ide)
{
int out, ret = 0;
int out;
int ret = 0;
switch (ide->sc->packet_status) {
case PHASE_IDLE:
@@ -1326,7 +1338,8 @@ ide_write_devctl(uint16_t addr, uint8_t val, void *priv)
{
ide_board_t *dev = (ide_board_t *) priv;
ide_t *ide, *ide_other;
ide_t *ide;
ide_t *ide_other;
int ch;
uint8_t old;
@@ -1428,7 +1441,8 @@ ide_writeb(uint16_t addr, uint8_t val, void *priv)
{
ide_board_t *dev = (ide_board_t *) priv;
ide_t *ide, *ide_other;
ide_t *ide;
ide_t *ide_other;
int ch;
ch = dev->cur_dev;
@@ -1913,7 +1927,8 @@ ide_readb(uint16_t addr, void *priv)
{
ide_board_t *dev = (ide_board_t *) priv;
int ch, absent = 0;
int ch;
int absent = 0;
ide_t *ide;
ch = dev->cur_dev;
@@ -2170,7 +2185,8 @@ atapi_error_no_ready(ide_t *ide)
static void
ide_callback(void *priv)
{
int snum, ret = 0;
int snum;
int ret = 0;
ide_t *ide = (ide_t *) priv;
@@ -2580,8 +2596,10 @@ id_not_found:
uint8_t
ide_read_ali_75(void)
{
ide_t *ide0, *ide1;
int ch0, ch1;
ide_t *ide0;
ide_t *ide1;
int ch0;
int ch1;
uint8_t ret = 0x00;
ch0 = ide_boards[0]->cur_dev;
@@ -2604,8 +2622,10 @@ ide_read_ali_75(void)
uint8_t
ide_read_ali_76(void)
{
ide_t *ide0, *ide1;
int ch0, ch1;
ide_t *ide0;
ide_t *ide1;
int ch0;
int ch1;
uint8_t ret = 0x00;
ch0 = ide_boards[0]->cur_dev;
@@ -2743,7 +2763,7 @@ static void
ide_board_close(int board)
{
ide_t *dev;
int c, d;
int c;
ide_log("ide_board_close(%i)\n", board);
@@ -2757,7 +2777,7 @@ ide_board_close(int board)
ide_clear_bus_master(board);
/* Close hard disk image files (if previously open) */
for (d = 0; d < 2; d++) {
for (uint8_t d = 0; d < 2; d++) {
c = (board << 1) + d;
ide_boards[board]->ide[d] = NULL;
@@ -2797,9 +2817,13 @@ static void
ide_board_setup(int board)
{
ide_t *dev;
int c, d;
int ch, is_ide, valid_ch;
int min_ch, max_ch;
int c;
int d;
int ch;
int is_ide;
int valid_ch;
int min_ch;
int max_ch;
min_ch = (board << 1);
max_ch = min_ch + 1;
@@ -3015,7 +3039,7 @@ ide_init(const device_t *info)
break;
}
return (ide_drives);
return ide_drives;
}
static void
@@ -3047,7 +3071,8 @@ ide_drive_reset(int d)
static void
ide_board_reset(int board)
{
int d, min, max;
int min;
int max;
ide_log("Resetting IDE board %i...\n", board);
@@ -3056,7 +3081,7 @@ ide_board_reset(int board)
min = (board << 1);
max = min + 2;
for (d = min; d < max; d++)
for (int d = min; d < max; d++)
ide_drive_reset(d);
}

View File

@@ -102,7 +102,8 @@ cmd640_set_irq(int channel, void *priv)
static void
cmd640_ide_handlers(cmd640_t *dev)
{
uint16_t main, side;
uint16_t main;
uint16_t side;
ide_pri_disable();

View File

@@ -96,7 +96,8 @@ cmd646_bus_master_dma(int channel, uint8_t *data, int transfer_length, int out,
static void
cmd646_ide_handlers(cmd646_t *dev)
{
uint16_t main, side;
uint16_t main;
uint16_t side;
int irq_mode[2] = { 0, 0 };
ide_pri_disable();

View File

@@ -302,7 +302,8 @@ sff_bus_master_dma(int channel, uint8_t *data, int transfer_length, int out, voi
char *sop;
#endif
int force_end = 0, buffer_pos = 0;
int force_end = 0;
int buffer_pos = 0;
#ifdef ENABLE_SFF_LOG
sop = out ? "Read" : "Writ";

View File

@@ -177,35 +177,35 @@ get_sector(mfm_t *mfm, off64_t *addr)
diagnostics v2.07 will error with: ERROR 152 - SYSTEM BOARD. */
if (drive->curcyl != mfm->cylinder) {
st506_at_log("WD1003(%d) sector: wrong cylinder\n");
return (1);
return 1;
}
if (mfm->head > drive->cfg_hpc) {
st506_at_log("WD1003(%d) get_sector: past end of configured heads\n",
mfm->drvsel);
return (1);
return 1;
}
if (mfm->sector >= drive->cfg_spt + 1) {
st506_at_log("WD1003(%d) get_sector: past end of configured sectors\n",
mfm->drvsel);
return (1);
return 1;
}
/* We should check this in the SET_DRIVE_PARAMETERS command! --FvK */
if (mfm->head > drive->hpc) {
st506_at_log("WD1003(%d) get_sector: past end of heads\n", mfm->drvsel);
return (1);
return 1;
}
if (mfm->sector >= drive->spt + 1) {
st506_at_log("WD1003(%d) get_sector: past end of sectors\n", mfm->drvsel);
return (1);
return 1;
}
*addr = ((((off64_t) mfm->cylinder * drive->cfg_hpc) + mfm->head) * drive->cfg_spt) + (mfm->sector - 1);
return (0);
return 0;
}
/* Move to the next sector using CHS addressing. */
@@ -468,7 +468,7 @@ mfm_readw(uint16_t port, void *priv)
}
}
return (ret);
return ret;
}
static uint8_t
@@ -517,7 +517,7 @@ mfm_read(uint16_t port, void *priv)
st506_at_log("WD1003 read(%04x) = %02x\n", port, ret);
return (ret);
return ret;
}
static void
@@ -689,14 +689,14 @@ static void *
mfm_init(const device_t *info)
{
mfm_t *mfm;
int c, d;
int c;
st506_at_log("WD1003: ISA MFM/RLL Fixed Disk Adapter initializing ...\n");
mfm = malloc(sizeof(mfm_t));
memset(mfm, 0x00, sizeof(mfm_t));
c = 0;
for (d = 0; d < HDD_NUM; d++) {
for (uint8_t d = 0; d < HDD_NUM; d++) {
if ((hdd[d].bus == HDD_BUS_MFM) && (hdd[d].mfm_channel < MFM_NUM)) {
loadhd(mfm, hdd[d].mfm_channel, d, hdd[d].fn);
@@ -722,16 +722,15 @@ mfm_init(const device_t *info)
ui_sb_update_icon(SB_HDD | HDD_BUS_MFM, 0);
return (mfm);
return mfm;
}
static void
mfm_close(void *priv)
{
mfm_t *mfm = (mfm_t *) priv;
int d;
for (d = 0; d < 2; d++) {
for (uint8_t d = 0; d < 2; d++) {
drive_t *drive = &mfm->drives[d];
hdd_image_close(drive->hdd_num);

View File

@@ -369,7 +369,7 @@ get_sector(hdc_t *dev, drive_t *drive, off64_t *addr)
if (!drive->present) {
/* No need to log this. */
dev->error = dev->nr_err;
return (0);
return 0;
}
#if 0
@@ -387,19 +387,19 @@ get_sector(hdc_t *dev, drive_t *drive, off64_t *addr)
st506_xt_log("ST506: get_sector: past end of configured heads\n");
#endif
dev->error = ERR_ILLEGAL_ADDR;
return (0);
return 0;
}
if (dev->sector >= drive->cfg_spt) {
#ifdef ENABLE_ST506_XT_LOG
st506_xt_log("ST506: get_sector: past end of configured sectors\n");
#endif
dev->error = ERR_ILLEGAL_ADDR;
return (0);
return 0;
}
*addr = ((((off64_t) dev->cylinder * drive->cfg_hpc) + dev->head) * drive->cfg_spt) + dev->sector;
return (1);
return 1;
}
static void
@@ -446,12 +446,12 @@ get_chs(hdc_t *dev, drive_t *drive)
* result in an ERR_ILLEGAL_ADDR. --FvK
*/
drive->cylinder = drive->cfg_cyl - 1;
return (0);
return 0;
}
drive->cylinder = dev->cylinder;
return (1);
return 1;
}
static void
@@ -1217,7 +1217,7 @@ st506_read(uint16_t port, void *priv)
}
st506_xt_log("ST506: read(%04x) = %02x\n", port, ret);
return (ret);
return ret;
}
/* Write to one of the registers. */
@@ -1287,7 +1287,8 @@ static void
mem_write(uint32_t addr, uint8_t val, void *priv)
{
hdc_t *dev = (hdc_t *) priv;
uint32_t ptr, mask = 0;
uint32_t ptr;
uint32_t mask = 0;
/* Ignore accesses to anything below the configured address,
needed because of the emulator's 4k mapping granularity. */
@@ -1317,7 +1318,8 @@ static uint8_t
mem_read(uint32_t addr, void *priv)
{
hdc_t *dev = (hdc_t *) priv;
uint32_t ptr, mask = 0;
uint32_t ptr;
uint32_t mask = 0;
uint8_t ret = 0xff;
/* Ignore accesses to anything below the configured address,
@@ -1373,7 +1375,7 @@ mem_read(uint32_t addr, void *priv)
else
ret = dev->bios_rom.rom[addr];
return (ret);
return ret;
}
/*
@@ -1467,12 +1469,11 @@ static void
set_switches(hdc_t *dev, hd_type_t *hdt, int num)
{
drive_t *drive;
int c, d;
int e;
dev->switches = 0x00;
for (d = 0; d < MFM_NUM; d++) {
for (uint8_t d = 0; d < MFM_NUM; d++) {
drive = &dev->drives[d];
if (!drive->present) {
@@ -1481,7 +1482,7 @@ set_switches(hdc_t *dev, hd_type_t *hdt, int num)
continue;
}
for (c = 0; c < num; c++) {
for (int c = 0; c < num; c++) {
/* Does the Xebec also support more than 4 types? */
if ((drive->spt == hdt[c].spt) && (drive->hpc == hdt[c].hpc) && (drive->tracks == hdt[c].tracks)) {
/* Olivetti M24/M240: Move the upper 2 bites up by 2 bits, as the
@@ -1511,7 +1512,8 @@ st506_init(const device_t *info)
{
char *fn = NULL;
hdc_t *dev;
int i, c;
int i;
int c;
dev = (hdc_t *) malloc(sizeof(hdc_t));
memset(dev, 0x00, sizeof(hdc_t));
@@ -1703,7 +1705,7 @@ st506_init(const device_t *info)
dev->drives[c].cfg_spt = dev->drives[c].spt;
}
return (dev);
return dev;
}
static void
@@ -1711,9 +1713,8 @@ st506_close(void *priv)
{
hdc_t *dev = (hdc_t *) priv;
drive_t *drive;
int d;
for (d = 0; d < MFM_NUM; d++) {
for (uint8_t d = 0; d < MFM_NUM; d++) {
drive = &dev->drives[d];
hdd_image_close(drive->hdd_num);

View File

@@ -308,25 +308,25 @@ get_sector(hdc_t *dev, drive_t *drive, off64_t *addr)
xta_log("%s: get_sector: wrong cylinder %d/%d\n",
dev->name, drive->cur_cyl, dev->track);
dev->sense = ERR_ILLADDR;
return (1);
return 1;
}
if (dev->head >= drive->hpc) {
xta_log("%s: get_sector: past end of heads\n", dev->name);
dev->sense = ERR_ILLADDR;
return (1);
return 1;
}
if (dev->sector >= drive->spt) {
xta_log("%s: get_sector: past end of sectors\n", dev->name);
dev->sense = ERR_ILLADDR;
return (1);
return 1;
}
/* Calculate logical address (block number) of desired sector. */
*addr = ((((off64_t) dev->track * drive->hpc) + dev->head) * drive->spt) + dev->sector;
return (0);
return 0;
}
static void
@@ -375,10 +375,11 @@ do_seek(hdc_t *dev, drive_t *drive, int cyl)
static void
do_format(hdc_t *dev, drive_t *drive, dcb_t *dcb)
{
int start_cyl, end_cyl;
int start_hd, end_hd;
int start_cyl;
int end_cyl;
int start_hd;
int end_hd;
off64_t addr;
int h, s;
/* Get the parameters from the DCB. */
if (dcb->cmd == CMD_FORMAT_DRIVE) {
@@ -413,8 +414,8 @@ do_fmt:
* data to fill the sectors with, so we will use
* that at least.
*/
for (h = start_hd; h < end_hd; h++) {
for (s = 0; s < drive->spt; s++) {
for (int h = start_hd; h < end_hd; h++) {
for (uint8_t s = 0; s < drive->spt; s++) {
/* Set the sector we need to write. */
dev->head = h;
dev->sector = s;
@@ -901,7 +902,7 @@ hdc_read(uint16_t port, void *priv)
break;
}
return (ret);
return ret;
}
/* Write to one of the controller registers. */
@@ -970,7 +971,7 @@ xta_init(const device_t *info)
char *bios_rev = NULL;
char *fn = NULL;
hdc_t *dev;
int c, i;
int c;
int max = XTA_NUM;
/* Allocate and initialize device block. */
@@ -1007,7 +1008,7 @@ xta_init(const device_t *info)
/* Load any disks for this device class. */
c = 0;
for (i = 0; i < HDD_NUM; i++) {
for (uint8_t i = 0; i < HDD_NUM; i++) {
if ((hdd[i].bus == HDD_BUS_XTA) && (hdd[i].xta_channel < max)) {
drive = &dev->drives[hdd[i].xta_channel];
@@ -1051,7 +1052,7 @@ xta_init(const device_t *info)
/* Create a timer for command delays. */
timer_add(&dev->timer, hdc_callback, dev, 0);
return (dev);
return dev;
}
static void
@@ -1059,14 +1060,13 @@ xta_close(void *priv)
{
hdc_t *dev = (hdc_t *) priv;
drive_t *drive;
int d;
/* Remove the I/O handler. */
io_removehandler(dev->base, 4,
hdc_read, NULL, NULL, hdc_write, NULL, NULL, dev);
/* Close all disks and their images. */
for (d = 0; d < XTA_NUM; d++) {
for (uint8_t d = 0; d < XTA_NUM; d++) {
drive = &dev->drives[d];
hdd_image_close(drive->hdd_num);

View File

@@ -145,7 +145,7 @@ xtide_init(const device_t *info)
xtide_read, NULL, NULL,
xtide_write, NULL, NULL, xtide);
return (xtide);
return xtide;
}
static int
@@ -177,7 +177,7 @@ xtide_at_init(const device_t *info)
device_add(&ide_isa_2ch_device);
return (xtide);
return xtide;
}
static int
@@ -208,7 +208,7 @@ xtide_acculogic_init(const device_t *info)
xtide_read, NULL, NULL,
xtide_write, NULL, NULL, xtide);
return (xtide);
return xtide;
}
static int
@@ -239,7 +239,7 @@ xtide_at_ps2_init(const device_t *info)
device_add(&ide_isa_2ch_device);
return (xtide);
return xtide;
}
static int

View File

@@ -41,23 +41,23 @@ hdd_init(void)
/* Clear all global data. */
memset(hdd, 0x00, sizeof(hdd));
return (0);
return 0;
}
int
hdd_string_to_bus(char *str, int cdrom)
{
if (!strcmp(str, "none"))
return (HDD_BUS_DISABLED);
return HDD_BUS_DISABLED;
if (!strcmp(str, "mfm") || !strcmp(str, "rll")) {
if (cdrom) {
no_cdrom:
ui_msgbox_header(MBX_ERROR, (wchar_t *) IDS_2131, (wchar_t *) IDS_4099);
return (0);
return 0;
}
return (HDD_BUS_MFM);
return HDD_BUS_MFM;
}
/* FIXME: delete 'rll' in a year or so.. --FvK */
@@ -65,40 +65,40 @@ no_cdrom:
if (cdrom)
goto no_cdrom;
return (HDD_BUS_ESDI);
return HDD_BUS_ESDI;
}
if (!strcmp(str, "ide_pio_only"))
return (HDD_BUS_IDE);
return HDD_BUS_IDE;
if (!strcmp(str, "ide"))
return (HDD_BUS_IDE);
return HDD_BUS_IDE;
if (!strcmp(str, "atapi_pio_only"))
return (HDD_BUS_ATAPI);
return HDD_BUS_ATAPI;
if (!strcmp(str, "atapi"))
return (HDD_BUS_ATAPI);
return HDD_BUS_ATAPI;
if (!strcmp(str, "eide"))
return (HDD_BUS_IDE);
return HDD_BUS_IDE;
if (!strcmp(str, "xta"))
return (HDD_BUS_XTA);
return HDD_BUS_XTA;
if (!strcmp(str, "atide"))
return (HDD_BUS_IDE);
return HDD_BUS_IDE;
if (!strcmp(str, "ide_pio_and_dma"))
return (HDD_BUS_IDE);
return HDD_BUS_IDE;
if (!strcmp(str, "atapi_pio_and_dma"))
return (HDD_BUS_ATAPI);
return HDD_BUS_ATAPI;
if (!strcmp(str, "scsi"))
return (HDD_BUS_SCSI);
return HDD_BUS_SCSI;
return (0);
return 0;
}
char *
@@ -136,22 +136,22 @@ hdd_bus_to_string(int bus, int cdrom)
break;
}
return (s);
return s;
}
int
hdd_is_valid(int c)
{
if (hdd[c].bus == HDD_BUS_DISABLED)
return (0);
return 0;
if (strlen(hdd[c].fn) == 0)
return (0);
return 0;
if ((hdd[c].tracks == 0) || (hdd[c].hpc == 0) || (hdd[c].spt == 0))
return (0);
return 0;
return (1);
return 1;
}
double
@@ -204,8 +204,9 @@ static void
hdd_readahead_update(hard_disk_t *hdd)
{
uint64_t elapsed_cycles;
double elapsed_us, seek_time;
uint32_t max_read_ahead, i;
double elapsed_us;
double seek_time;
uint32_t max_read_ahead;
uint32_t space_needed;
hdd_cache_t *cache = &hdd->cache;
@@ -219,7 +220,7 @@ hdd_readahead_update(hard_disk_t *hdd)
seek_time = 0.0;
for (i = 0; i < max_read_ahead; i++) {
for (uint32_t i = 0; i < max_read_ahead; i++) {
seek_time += hdd_seek_get_time(hdd, segment->ra_addr, HDD_OP_READ, 1, elapsed_us - seek_time);
if (seek_time > elapsed_us)
break;
@@ -252,7 +253,8 @@ static void
hdd_writecache_update(hard_disk_t *hdd)
{
uint64_t elapsed_cycles;
double elapsed_us, seek_time;
double elapsed_us;
double seek_time;
if (hdd->cache.write_pending) {
elapsed_cycles = tsc - hdd->cache.write_start_time;
@@ -383,13 +385,12 @@ static void
hdd_cache_init(hard_disk_t *hdd)
{
hdd_cache_t *cache = &hdd->cache;
uint32_t i;
cache->ra_segment = 0;
cache->ra_ongoing = 0;
cache->ra_start_time = 0;
for (i = 0; i < cache->num_segments; i++) {
for (uint32_t i = 0; i < cache->num_segments; i++) {
cache->segments[i].valid = 0;
cache->segments[i].lru = 0;
cache->segments[i].id = i;
@@ -401,12 +402,13 @@ hdd_cache_init(hard_disk_t *hdd)
static void
hdd_zones_init(hard_disk_t *hdd)
{
uint32_t lba = 0, track = 0;
uint32_t i, tracks;
uint32_t lba = 0;
uint32_t track = 0;
uint32_t tracks;
double revolution_usec = 60.0 / (double) hdd->rpm * 1000000.0;
hdd_zone_t *zone;
for (i = 0; i < hdd->num_zones; i++) {
for (uint32_t i = 0; i < hdd->num_zones; i++) {
zone = &hdd->zones[i];
zone->start_sector = lba;
zone->start_track = track;
@@ -467,10 +469,15 @@ void
hdd_preset_apply(int hdd_id)
{
hard_disk_t *hd = &hdd[hdd_id];
double revolution_usec, zone_percent;
uint32_t disk_sectors, sectors_per_surface, cylinders, cylinders_per_zone;
uint32_t total_sectors = 0, i;
uint32_t spt, zone_sectors;
double revolution_usec;
double zone_percent;
uint32_t disk_sectors;
uint32_t sectors_per_surface;
uint32_t cylinders;
uint32_t cylinders_per_zone;
uint32_t total_sectors = 0;
uint32_t spt;
uint32_t zone_sectors;
if (hd->speed_preset >= hdd_preset_get_num())
hd->speed_preset = 0;
@@ -503,7 +510,7 @@ hdd_preset_apply(int hdd_id)
hd->phy_cyl = cylinders;
cylinders_per_zone = cylinders / preset->zones;
for (i = 0; i < preset->zones; i++) {
for (uint32_t i = 0; i < preset->zones; i++) {
zone_percent = i * 100 / (double) preset->zones;
if (i < preset->zones - 1) {

View File

@@ -107,7 +107,7 @@ image_is_hdx(const char *s, int check_signature)
if (fread(&signature, 1, 8, f) != 8)
fatal("image_is_hdx(): Error reading signature\n");
fclose(f);
if (signature == 0xD778A82044445459ll)
if (signature == 0xD778A82044445459LL)
return 1;
else
return 0;
@@ -143,7 +143,11 @@ hdd_image_calc_chs(uint32_t *c, uint32_t *h, uint32_t *s, uint32_t size)
/* Calculate the geometry from size (in MB), using the algorithm provided in
"Virtual Hard Disk Image Format Specification, Appendix: CHS Calculation" */
uint64_t ts = ((uint64_t) size) << 11LL;
uint32_t spt, heads, cyl, cth;
uint32_t spt;
uint32_t heads;
uint32_t cyl;
uint32_t cth;
if (ts > 65535 * 16 * 255)
ts = 65535 * 16 * 255;
@@ -180,7 +184,7 @@ prepare_new_hard_disk(uint8_t id, uint64_t full_size)
uint64_t target_size = (full_size + hdd_images[id].base) - ftello64(hdd_images[id].file);
uint32_t size;
uint32_t t, i;
uint32_t t;
t = (uint32_t) (target_size >> 20); /* Amount of 1 MB blocks. */
size = (uint32_t) (target_size & 0xfffff); /* 1 MB mask. */
@@ -195,7 +199,7 @@ prepare_new_hard_disk(uint8_t id, uint64_t full_size)
/* First, write all the 1 MB blocks. */
if (t > 0) {
for (i = 0; i < t; i++) {
for (uint32_t i = 0; i < t; i++) {
fseek(hdd_images[id].file, 0, SEEK_END);
fwrite(empty_sector_1mb, 1, 1048576, hdd_images[id].file);
pclog("#");
@@ -224,9 +228,7 @@ prepare_new_hard_disk(uint8_t id, uint64_t full_size)
void
hdd_image_init(void)
{
int i;
for (i = 0; i < HDD_NUM; i++)
for (uint8_t i = 0; i < HDD_NUM; i++)
memset(&hdd_images[i], 0, sizeof(hdd_image_t));
}
@@ -235,10 +237,12 @@ hdd_image_load(int id)
{
uint32_t sector_size = 512;
uint32_t zero = 0;
uint64_t signature = 0xD778A82044445459ll;
uint64_t signature = 0xD778A82044445459LL;
uint64_t full_size = 0;
uint64_t spt = 0, hpc = 0, tracks = 0;
int c, ret;
uint64_t spt = 0;
uint64_t hpc = 0;
uint64_t tracks = 0;
int ret;
uint64_t s = 0;
char *fn = hdd[id].fn;
int is_hdx[2] = { 0, 0 };
@@ -306,7 +310,7 @@ hdd_image_load(int id)
fwrite(&(hdd[id].spt), 1, 4, hdd_images[id].file);
fwrite(&(hdd[id].hpc), 1, 4, hdd_images[id].file);
fwrite(&(hdd[id].tracks), 1, 4, hdd_images[id].file);
for (c = 0; c < 0x3f8; c++)
for (uint16_t c = 0; c < 0x3f8; c++)
fwrite(&zero, 1, 4, hdd_images[id].file);
hdd_images[id].type = HDD_IMAGE_HDI;
} else if (is_hdx[0]) {
@@ -560,8 +564,6 @@ hdd_image_zero(uint8_t id, uint32_t sector, uint32_t count)
int non_transferred_sectors = mvhd_format_sectors(hdd_images[id].vhd, sector, count);
hdd_images[id].pos = sector + count - non_transferred_sectors - 1;
} else {
uint32_t i = 0;
memset(empty_sector, 0, 512);
if (fseeko64(hdd_images[id].file, ((uint64_t) (sector) << 9LL) + hdd_images[id].base, SEEK_SET) == -1) {
@@ -569,7 +571,7 @@ hdd_image_zero(uint8_t id, uint32_t sector, uint32_t count)
return;
}
for (i = 0; i < count; i++) {
for (uint32_t i = 0; i < count; i++) {
if (feof(hdd_images[id].file))
break;

View File

@@ -118,7 +118,7 @@ const uint8_t mo_command_flags[0x100] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
};
static uint64_t mo_mode_sense_page_flags = (GPMODEP_ALL_PAGES);
static uint64_t mo_mode_sense_page_flags = GPMODEP_ALL_PAGES;
static const mode_sense_pages_t mo_mode_sense_pages_default =
// clang-format off
@@ -306,9 +306,7 @@ mo_log(const char *fmt, ...)
int
find_mo_for_channel(uint8_t channel)
{
uint8_t i = 0;
for (i = 0; i < MO_NUM; i++) {
for (uint8_t i = 0; i < MO_NUM; i++) {
if ((mo_drives[i].bus_type == MO_BUS_ATAPI) && (mo_drives[i].ide_channel == channel))
return i;
}
@@ -340,8 +338,8 @@ int
mo_load(mo_t *dev, char *fn)
{
int is_mdi;
uint32_t size = 0;
unsigned int i, found = 0;
uint32_t size = 0;
unsigned int found = 0;
is_mdi = image_is_mdi(fn);
@@ -366,7 +364,7 @@ mo_load(mo_t *dev, char *fn)
dev->drv->base = 0x1000;
}
for (i = 0; i < KNOWN_MO_TYPES; i++) {
for (uint8_t i = 0; i < KNOWN_MO_TYPES; i++) {
if (size == (mo_types[i].sectors * mo_types[i].bytes_per_sector)) {
found = 1;
dev->drv->medium_size = mo_types[i].sectors;
@@ -584,9 +582,6 @@ mo_mode_sense(mo_t *dev, uint8_t *buf, uint32_t pos, uint8_t page, uint8_t block
pf = mo_mode_sense_page_flags;
int i = 0;
int j = 0;
uint8_t msplen;
page &= 0x3f;
@@ -602,14 +597,14 @@ mo_mode_sense(mo_t *dev, uint8_t *buf, uint32_t pos, uint8_t page, uint8_t block
buf[pos++] = (dev->drv->sector_size & 0xff);
}
for (i = 0; i < 0x40; i++) {
for (uint8_t i = 0; i < 0x40; i++) {
if ((page == GPMODE_ALL_PAGES) || (page == i)) {
if (pf & (1LL << ((uint64_t) page))) {
buf[pos++] = mo_mode_sense_read(dev, page_control, i, 0);
msplen = mo_mode_sense_read(dev, page_control, i, 1);
buf[pos++] = msplen;
mo_log("MO %i: MODE SENSE: Page [%02X] length %i\n", dev->id, i, msplen);
for (j = 0; j < msplen; j++)
for (uint8_t j = 0; j < msplen; j++)
buf[pos++] = mo_mode_sense_read(dev, page_control, i, 2 + j);
}
}
@@ -621,7 +616,8 @@ mo_mode_sense(mo_t *dev, uint8_t *buf, uint32_t pos, uint8_t page, uint8_t block
static void
mo_update_request_length(mo_t *dev, int len, int block_len)
{
int bt, min_len = 0;
int bt;
int min_len = 0;
dev->max_transfer_len = dev->request_length;
@@ -696,7 +692,8 @@ mo_bus_speed(mo_t *dev)
static void
mo_command_common(mo_t *dev)
{
double bytes_per_second, period;
double bytes_per_second;
double period;
dev->status = BUSY_STAT;
dev->phase = 1;
@@ -944,7 +941,6 @@ static int
mo_blocks(mo_t *dev, int32_t *len, int first_batch, int out)
{
*len = 0;
int i;
if (!dev->sector_len) {
mo_command_complete(dev);
@@ -961,7 +957,7 @@ mo_blocks(mo_t *dev, int32_t *len, int first_batch, int out)
*len = dev->requested_blocks * dev->drv->sector_size;
for (i = 0; i < dev->requested_blocks; i++) {
for (int i = 0; i < dev->requested_blocks; i++) {
if (fseek(dev->drv->f, dev->drv->base + (dev->sector_pos * dev->drv->sector_size) + (i * dev->drv->sector_size), SEEK_SET) == 1)
break;
@@ -1283,11 +1279,14 @@ static void
mo_command(scsi_common_t *sc, uint8_t *cdb)
{
mo_t *dev = (mo_t *) sc;
int pos = 0, block_desc = 0;
int pos = 0;
int block_desc = 0;
int ret;
int32_t len, max_len;
int32_t len;
int32_t max_len;
int32_t alloc_length;
int size_idx, idx = 0;
int size_idx;
int idx = 0;
unsigned preamble_len;
char device_identify[9] = { '8', '6', 'B', '_', 'M', 'O', '0', '0', 0 };
int32_t blen = 0;
@@ -1769,7 +1768,7 @@ mo_command(scsi_common_t *sc, uint8_t *cdb)
case GPCMD_ERASE_10:
case GPCMD_ERASE_12:
/*Relative address*/
if ((cdb[1] & 1))
if (cdb[1] & 1)
previous_pos = dev->sector_pos;
switch (cdb[0]) {
@@ -1782,7 +1781,7 @@ mo_command(scsi_common_t *sc, uint8_t *cdb)
}
/*Erase all remaining sectors*/
if ((cdb[1] & 4)) {
if (cdb[1] & 4) {
/* Cannot have a sector number when erase all*/
if (dev->sector_len) {
mo_invalid_field(dev);
@@ -1852,15 +1851,18 @@ mo_phase_data_out(scsi_common_t *sc)
{
mo_t *dev = (mo_t *) sc;
uint16_t block_desc_len, pos;
uint16_t block_desc_len;
uint16_t pos;
uint16_t param_list_len;
uint8_t error = 0;
uint8_t page, page_len;
uint8_t page;
uint8_t page_len;
uint32_t i = 0;
uint8_t hdr_len, val, old_val, ch;
uint8_t hdr_len;
uint8_t val;
uint8_t old_val;
uint8_t ch;
int len = 0;
@@ -1918,7 +1920,7 @@ mo_phase_data_out(scsi_common_t *sc)
if (!(mo_mode_sense_page_flags & (1LL << ((uint64_t) page))))
error |= 1;
else {
for (i = 0; i < page_len; i++) {
for (uint8_t i = 0; i < page_len; i++) {
ch = mo_mode_sense_pages_changeable.pages[page][i + 2];
val = dev->buffer[pos + i];
old_val = dev->ms_pages_saved.pages[page][i + 2];
@@ -2104,10 +2106,10 @@ void
mo_hard_reset(void)
{
mo_t *dev;
int c;
uint8_t scsi_id, scsi_bus;
uint8_t scsi_id;
uint8_t scsi_bus;
for (c = 0; c < MO_NUM; c++) {
for (uint8_t c = 0; c < MO_NUM; c++) {
if ((mo_drives[c].bus_type == MO_BUS_ATAPI) || (mo_drives[c].bus_type == MO_BUS_SCSI)) {
mo_log("MO hard_reset drive=%d\n", c);
@@ -2154,10 +2156,10 @@ void
mo_close(void)
{
mo_t *dev;
int c;
uint8_t scsi_id, scsi_bus;
uint8_t scsi_id;
uint8_t scsi_bus;
for (c = 0; c < MO_NUM; c++) {
for (uint8_t c = 0; c < MO_NUM; c++) {
if (mo_drives[c].bus_type == MO_BUS_SCSI) {
scsi_bus = (mo_drives[c].scsi_device_id >> 4) & 0x0f;
scsi_id = mo_drives[c].scsi_device_id & 0x0f;

View File

@@ -460,9 +460,7 @@ zip_log(const char *fmt, ...)
int
find_zip_for_channel(uint8_t channel)
{
uint8_t i = 0;
for (i = 0; i < ZIP_NUM; i++) {
for (uint8_t i = 0; i < ZIP_NUM; i++) {
if ((zip_drives[i].bus_type == ZIP_BUS_ATAPI) && (zip_drives[i].ide_channel == channel))
return i;
}
@@ -753,9 +751,6 @@ zip_mode_sense(zip_t *dev, uint8_t *buf, uint32_t pos, uint8_t page, uint8_t blo
else
pf = zip_mode_sense_page_flags;
int i = 0;
int j = 0;
uint8_t msplen;
page &= 0x3f;
@@ -771,14 +766,14 @@ zip_mode_sense(zip_t *dev, uint8_t *buf, uint32_t pos, uint8_t page, uint8_t blo
buf[pos++] = 0;
}
for (i = 0; i < 0x40; i++) {
for (uint8_t i = 0; i < 0x40; i++) {
if ((page == GPMODE_ALL_PAGES) || (page == i)) {
if (pf & (1LL << ((uint64_t) page))) {
buf[pos++] = zip_mode_sense_read(dev, page_control, i, 0);
msplen = zip_mode_sense_read(dev, page_control, i, 1);
buf[pos++] = msplen;
zip_log("ZIP %i: MODE SENSE: Page [%02X] length %i\n", dev->id, i, msplen);
for (j = 0; j < msplen; j++)
for (uint8_t j = 0; j < msplen; j++)
buf[pos++] = zip_mode_sense_read(dev, page_control, i, 2 + j);
}
}
@@ -790,7 +785,8 @@ zip_mode_sense(zip_t *dev, uint8_t *buf, uint32_t pos, uint8_t page, uint8_t blo
static void
zip_update_request_length(zip_t *dev, int len, int block_len)
{
int bt, min_len = 0;
int bt;
int min_len = 0;
dev->max_transfer_len = dev->request_length;
@@ -865,7 +861,8 @@ zip_bus_speed(zip_t *dev)
static void
zip_command_common(zip_t *dev)
{
double bytes_per_second, period;
double bytes_per_second;
double period;
dev->status = BUSY_STAT;
dev->phase = 1;
@@ -1122,7 +1119,6 @@ static int
zip_blocks(zip_t *dev, int32_t *len, int first_batch, int out)
{
*len = 0;
int i;
if (!dev->sector_len) {
zip_command_complete(dev);
@@ -1139,7 +1135,7 @@ zip_blocks(zip_t *dev, int32_t *len, int first_batch, int out)
*len = dev->requested_blocks << 9;
for (i = 0; i < dev->requested_blocks; i++) {
for (int i = 0; i < dev->requested_blocks; i++) {
if (fseek(dev->drv->f, dev->drv->base + (dev->sector_pos << 9) + (i << 9), SEEK_SET) == 1)
break;
@@ -1355,12 +1351,15 @@ static void
zip_command(scsi_common_t *sc, uint8_t *cdb)
{
zip_t *dev = (zip_t *) sc;
int pos = 0, block_desc = 0;
int pos = 0;
int block_desc = 0;
int ret;
int32_t len, max_len;
int32_t len;
int32_t max_len;
int32_t alloc_length;
uint32_t i = 0;
int size_idx, idx = 0;
int size_idx;
int idx = 0;
unsigned preamble_len;
int32_t blen = 0;
int32_t *BufLen;
@@ -2032,18 +2031,25 @@ zip_phase_data_out(scsi_common_t *sc)
{
zip_t *dev = (zip_t *) sc;
uint16_t block_desc_len, pos;
uint16_t block_desc_len;
uint16_t pos;
uint16_t param_list_len;
uint8_t error = 0;
uint8_t page, page_len;
uint8_t page;
uint8_t page_len;
uint32_t i = 0;
uint8_t hdr_len, val, old_val, ch;
uint8_t hdr_len;
uint8_t val;
uint8_t old_val;
uint8_t ch;
uint32_t last_to_write = 0;
uint32_t c, h, s;
uint32_t c;
uint32_t h;
uint32_t s;
int len = 0;
@@ -2325,10 +2331,10 @@ void
zip_hard_reset(void)
{
zip_t *dev;
int c;
uint8_t scsi_id, scsi_bus;
uint8_t scsi_id;
uint8_t scsi_bus;
for (c = 0; c < ZIP_NUM; c++) {
for (uint8_t c = 0; c < ZIP_NUM; c++) {
if ((zip_drives[c].bus_type == ZIP_BUS_ATAPI) || (zip_drives[c].bus_type == ZIP_BUS_SCSI)) {
zip_log("ZIP hard_reset drive=%d\n", c);
@@ -2375,10 +2381,10 @@ void
zip_close(void)
{
zip_t *dev;
int c;
uint8_t scsi_bus, scsi_id;
uint8_t scsi_bus;
uint8_t scsi_id;
for (c = 0; c < ZIP_NUM; c++) {
for (uint8_t c = 0; c < ZIP_NUM; c++) {
if (zip_drives[c].bus_type == ZIP_BUS_SCSI) {
scsi_bus = (zip_drives[c].scsi_device_id >> 4) & 0x0f;
scsi_id = zip_drives[c].scsi_device_id & 0x0f;

View File

@@ -218,8 +218,6 @@ track_is_xdf(int drive, int side, int track)
return 0;
}
return 0;
}
static int

View File

@@ -464,7 +464,7 @@ bit_dedrop(FDI *fdi)
static void
byte_add(FDI *fdi, uint8_t v)
{
for (uint8_t i = 7; i >= 0; i--)
for (int8_t i = 7; i >= 0; i--)
bit_add(fdi, v & (1 << i));
}
/* add one word */
@@ -478,7 +478,7 @@ word_add(FDI *fdi, uint16_t v)
static void
byte_mfm_add(FDI *fdi, uint8_t v)
{
for (uint8_t i = 7; i >= 0; i--)
for (int8_t i = 7; i >= 0; i--)
bit_mfm_add(fdi, v & (1 << i));
}
/* add multiple bytes and mfm encode them */
@@ -492,7 +492,7 @@ bytes_mfm_add(FDI *fdi, uint8_t v, int len)
static void
word_post_mfm_add(FDI *fdi, uint16_t v)
{
for (uint8_t i = 14; i >= 0; i -= 2)
for (int8_t i = 14; i >= 0; i -= 2)
bit_mfm_add(fdi, v & (1 << i));
}

View File

@@ -252,7 +252,6 @@ void mtr_init(const char *json_file) {
}
void mtr_shutdown(void) {
int i;
#ifndef MTR_ENABLED
return;
#endif
@@ -266,7 +265,7 @@ void mtr_shutdown(void) {
f = 0;
free(event_buffer);
event_buffer = 0;
for (i = 0; i < STRING_POOL_SIZE; i++) {
for (uint8_t i = 0; i < STRING_POOL_SIZE; i++) {
if (str_pool[i]) {
free(str_pool[i]);
str_pool[i] = 0;
@@ -275,8 +274,7 @@ void mtr_shutdown(void) {
}
const char *mtr_pool_string(const char *str) {
int i;
for (i = 0; i < STRING_POOL_SIZE; i++) {
for (uint8_t i = 0; i < STRING_POOL_SIZE; i++) {
if (!str_pool[i]) {
str_pool[i] = (char*)malloc(strlen(str) + 1);
strcpy(str_pool[i], str);

View File

@@ -473,7 +473,9 @@ static int
elnkReceiveLocked(void *priv, uint8_t *src, int size)
{
threec501_t *dev = (threec501_t *) priv;
int is_padr = 0, is_bcast = 0, is_mcast = 0;
int is_padr = 0;
int is_bcast = 0;
int is_mcast = 0;
bool fLoopback = dev->RcvCmd.adr_match == EL_BCTL_LOOPBACK;
union {
@@ -644,7 +646,7 @@ elnkAsyncTransmit(threec501_t *dev)
return;
}
if (((dev->AuxCmd.buf_ctl != EL_BCTL_XMT_RCV) && (dev->AuxCmd.buf_ctl != EL_BCTL_LOOPBACK))) {
if ((dev->AuxCmd.buf_ctl != EL_BCTL_XMT_RCV) && (dev->AuxCmd.buf_ctl != EL_BCTL_LOOPBACK)) {
#ifdef ENABLE_3COM501_LOG
threec501_log("3Com501: Nope, not in xmit-then-receive or loopback state\n");
#endif
@@ -656,8 +658,8 @@ elnkAsyncTransmit(threec501_t *dev)
*/
do {
/* Don't send anything when the link is down. */
if ((!elnkIsLinkUp(dev)
&& dev->cLinkDownReported > ELNK_MAX_LINKDOWN_REPORTED))
if (!elnkIsLinkUp(dev)
&& dev->cLinkDownReported > ELNK_MAX_LINKDOWN_REPORTED)
break;
bool const fLoopback = dev->AuxCmd.buf_ctl == EL_BCTL_LOOPBACK;
@@ -925,7 +927,7 @@ threec501_read(uint16_t addr, void *priv)
#ifdef ENABLE_3COM501_LOG
threec501_log("3Com501: read addr %x, value %x\n", addr & 0x0f, retval);
#endif
return (retval);
return retval;
}
static uint8_t
@@ -1130,7 +1132,7 @@ threec501_nic_init(const device_t *info)
timer_add(&dev->timer_restore, elnkR3TimerRestore, dev, 0);
return (dev);
return dev;
}
static void

View File

@@ -239,7 +239,7 @@ threec503_nic_lo_read(uint16_t addr, void *priv)
break;
}
return (retval);
return retval;
}
static void
@@ -611,7 +611,7 @@ threec503_nic_init(const device_t *info)
/* Attach ourselves to the network module. */
dev->dp8390->card = network_attach(dev->dp8390, dev->dp8390->physaddr, dp8390_rx, NULL);
return (dev);
return dev;
}
static void

View File

@@ -63,13 +63,13 @@ mcast_index(const void *dst)
{
#define POLYNOMIAL 0x04c11db6
uint32_t crc = 0xffffffffL;
int carry, i, j;
int carry;
uint8_t b;
uint8_t *ep = (uint8_t *) dst;
for (i = 6; --i >= 0;) {
for (int8_t i = 6; --i >= 0;) {
b = *ep++;
for (j = 8; --j >= 0;) {
for (int8_t j = 8; --j >= 0;) {
carry = ((crc & 0x80000000L) ? 1 : 0) ^ (b & 0x01);
crc <<= 1;
b >>= 1;
@@ -93,7 +93,6 @@ mcast_index(const void *dst)
uint32_t
dp8390_chipmem_read(dp8390_t *dev, uint32_t addr, unsigned int len)
{
int i;
uint32_t retval = 0;
#ifdef ENABLE_DP8390_LOG
@@ -104,7 +103,7 @@ dp8390_chipmem_read(dp8390_t *dev, uint32_t addr, unsigned int len)
dp8390_log("DP8390: Chipmem Read Address=%04x\n", addr);
/* ROM'd MAC address */
for (i = 0; i < len; i++) {
for (unsigned int i = 0; i < len; i++) {
if ((addr >= dev->mem_start) && (addr < dev->mem_end))
retval |= (uint32_t) (dev->mem[addr - dev->mem_start]) << (i << 3);
else if (addr < dev->macaddr_size)
@@ -116,14 +115,12 @@ dp8390_chipmem_read(dp8390_t *dev, uint32_t addr, unsigned int len)
addr++;
}
return (retval);
return retval;
}
void
dp8390_chipmem_write(dp8390_t *dev, uint32_t addr, uint32_t val, unsigned len)
{
int i;
#ifdef ENABLE_DP8390_LOG
if ((len > 1) && (addr & (len - 1)))
dp8390_log("DP8390: unaligned chipmem word write\n");
@@ -131,7 +128,7 @@ dp8390_chipmem_write(dp8390_t *dev, uint32_t addr, uint32_t val, unsigned len)
dp8390_log("DP8390: Chipmem Write Address=%04x\n", addr);
for (i = 0; i < len; i++) {
for (unsigned int i = 0; i < len; i++) {
if ((addr < dev->mem_start) || (addr >= dev->mem_end)) {
dp8390_log("DP8390: out-of-bounds chipmem write, %04X\n", addr);
return;
@@ -152,7 +149,7 @@ dp8390_read_cr(dp8390_t *dev)
retval = (((dev->CR.pgsel & 0x03) << 6) | ((dev->CR.rdma_cmd & 0x07) << 3) | (dev->CR.tx_packet << 2) | (dev->CR.start << 1) | (dev->CR.stop));
dp8390_log("DP8390: read CR returns 0x%02x\n", retval);
return (retval);
return retval;
}
void
@@ -270,8 +267,10 @@ dp8390_rx_common(void *priv, uint8_t *buf, int io_len)
static uint8_t bcast_addr[6] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
uint8_t pkthdr[4];
uint8_t *startptr;
int pages, avail;
int idx, nextpage;
int pages;
int avail;
int idx;
int nextpage;
int endbytes;
if (io_len != 60)
@@ -427,7 +426,7 @@ dp8390_page0_read(dp8390_t *dev, uint32_t off, unsigned int len)
/* encountered with win98 hardware probe */
dp8390_log("DP8390: bad length! Page0 read from register 0x%02x, len=%u\n",
off, len);
return (retval);
return retval;
}
switch (off) {
@@ -503,7 +502,7 @@ dp8390_page0_read(dp8390_t *dev, uint32_t off, unsigned int len)
dp8390_log("DP8390: Page0 read from register 0x%02x, value=0x%02x\n", off,
retval);
return (retval);
return retval;
}
void
@@ -730,7 +729,7 @@ dp8390_page1_read(dp8390_t *dev, uint32_t off, unsigned int len)
default:
dp8390_log("DP8390: Page1 read register 0x%02x out of range\n",
off);
return (0);
return 0;
}
}
@@ -812,7 +811,7 @@ dp8390_page2_read(dp8390_t *dev, uint32_t off, unsigned int len)
case 0x0b:
dp8390_log("DP8390: reserved Page2 read - register 0x%02x\n",
off);
return (0xff);
return 0xff;
case 0x0c: /* RCR */
return ((dev->RCR.monitor << 5) | (dev->RCR.promisc << 4) | (dev->RCR.multicast << 3) | (dev->RCR.broadcast << 2) | (dev->RCR.runts_ok << 1) | (dev->RCR.errors_ok));
@@ -832,7 +831,7 @@ dp8390_page2_read(dp8390_t *dev, uint32_t off, unsigned int len)
break;
}
return (0);
return 0;
}
void
@@ -931,7 +930,8 @@ dp8390_set_id(dp8390_t *dev, uint8_t id0, uint8_t id1)
void
dp8390_reset(dp8390_t *dev)
{
int i, max, shift = 0;
int max;
int shift = 0;
if (dev->flags & DP8390_FLAG_EVEN_MAC)
shift = 1;
@@ -939,7 +939,7 @@ dp8390_reset(dp8390_t *dev)
max = 16 << shift;
/* Initialize the MAC address area by doubling the physical address */
for (i = 0; i < max; i++) {
for (int i = 0; i < max; i++) {
if (i < (6 << shift))
dev->macaddr[i] = dev->physaddr[i >> shift];
else /* Signature */

View File

@@ -251,7 +251,7 @@ asic_read(nic_t *dev, uint32_t off, unsigned int len)
break;
}
return (retval);
return retval;
}
static void
@@ -316,7 +316,7 @@ page3_read(nic_t *dev, uint32_t off, unsigned int len)
return (dev->_9346cr);
case 0x3: /* CONFIG0 */
return (0x00); /* Cable not BNC */
return 0x00; /* Cable not BNC */
case 0x5: /* CONFIG2 */
return (dev->config2 & 0xe0);
@@ -329,12 +329,12 @@ page3_read(nic_t *dev, uint32_t off, unsigned int len)
case 0xe: /* 8029ASID0 */
if (dev->board == NE2K_RTL8029AS)
return (0x29);
return 0x29;
break;
case 0xf: /* 8029ASID1 */
if (dev->board == NE2K_RTL8029AS)
return (0x80);
return 0x80;
break;
default:
@@ -342,7 +342,7 @@ page3_read(nic_t *dev, uint32_t off, unsigned int len)
}
nelog(3, "%s: Page3 read register 0x%02x attempted\n", dev->name, off);
return (0x00);
return 0x00;
}
static void
@@ -409,7 +409,7 @@ nic_read(nic_t *dev, uint32_t addr, unsigned len)
break;
}
return (retval);
return retval;
}
static uint8_t
@@ -711,7 +711,7 @@ nic_pci_read(int func, int addr, void *priv)
nelog(2, "%s: PCI_Read(%d, %04x) = %02x\n", dev->name, func, addr, ret);
return (ret);
return ret;
}
static void
@@ -1095,7 +1095,7 @@ nic_init(const device_t *info)
nelog(1, "%s: %s attached IO=0x%X IRQ=%d\n", dev->name,
dev->is_pci ? "PCI" : "ISA", dev->base_address, dev->base_irq);
return (dev);
return dev;
}
static void

View File

@@ -357,7 +357,7 @@ int
net_pcap_prepare(netdev_t *list)
{
char errbuf[PCAP_ERRBUF_SIZE];
pcap_if_t *devlist, *dev;
pcap_if_t *devlist;
int i = 0;
/* Try loading the DLL. */
@@ -379,7 +379,7 @@ net_pcap_prepare(netdev_t *list)
return (-1);
}
for (dev = devlist; dev != NULL; dev = dev->next) {
for (pcap_if_t *dev = devlist; dev != NULL; dev = dev->next) {
if (i >= (NET_HOST_INTF_MAX - 1))
break;
@@ -405,7 +405,7 @@ net_pcap_prepare(netdev_t *list)
/* Release the memory. */
f_pcap_freealldevs(devlist);
return (i);
return i;
}
/*

View File

@@ -446,7 +446,8 @@ pcnetIsLinkUp(nic_t *dev)
static __inline int
pcnetTmdLoad(nic_t *dev, TMD *tmd, uint32_t addr, int fRetIfNotOwn)
{
uint8_t ownbyte, bytes[4] = { 0, 0, 0, 0 };
uint8_t ownbyte;
uint8_t bytes[4] = { 0, 0, 0, 0 };
uint16_t xda[4];
uint32_t xda32[4];
@@ -539,7 +540,8 @@ pcnetTmdStorePassHost(nic_t *dev, TMD *tmd, uint32_t addr)
static __inline int
pcnetRmdLoad(nic_t *dev, RMD *rmd, uint32_t addr, int fRetIfNotOwn)
{
uint8_t ownbyte, bytes[4] = { 0, 0, 0, 0 };
uint8_t ownbyte;
uint8_t bytes[4] = { 0, 0, 0, 0 };
uint16_t rda[4];
uint32_t rda32[4];
@@ -654,10 +656,10 @@ lnc_mchash(const uint8_t *ether_addr)
{
#define LNC_POLYNOMIAL 0xEDB88320UL
uint32_t crc = 0xFFFFFFFF;
int idx, bit;
int bit;
uint8_t data;
for (idx = 0; idx < ETHER_ADDR_LEN; idx++) {
for (uint8_t idx = 0; idx < ETHER_ADDR_LEN; idx++) {
for (data = *ether_addr++, bit = 0; bit < MULTICAST_FILTER_LEN; bit++) {
crc = (crc >> 1) ^ (((crc ^ data) & 1) ? LNC_POLYNOMIAL : 0);
data >>= 1;
@@ -915,7 +917,6 @@ pcnetUpdateIrq(nic_t *dev)
static void
pcnetInit(nic_t *dev)
{
int i;
pcnet_log(3, "%s: pcnetInit: init_addr=%#010x\n", dev->name, PHYSADDR(dev, CSR_IADR(dev)));
/** @todo Documentation says that RCVRL and XMTRL are stored as two's complement!
@@ -956,7 +957,7 @@ pcnetInit(nic_t *dev)
#undef PCNET_INIT
size_t cbRxBuffers = 0;
for (i = CSR_RCVRL(dev); i >= 1; i--) {
for (int i = CSR_RCVRL(dev); i >= 1; i--) {
RMD rmd;
uint32_t rdaddr = PHYSADDR(dev, pcnetRdraAddr(dev, i));
@@ -1200,8 +1201,10 @@ pcnetCalcPacketLen(nic_t *dev, int cb)
static int
pcnetReceiveNoSync(void *priv, uint8_t *buf, int size)
{
nic_t *dev = (nic_t *) priv;
int is_padr = 0, is_bcast = 0, is_ladr = 0;
nic_t *dev = (nic_t *) priv;
int is_padr = 0;
int is_bcast = 0;
int is_ladr = 0;
uint32_t iRxDesc;
int cbPacket;
uint8_t buf1[60];
@@ -1266,7 +1269,8 @@ pcnetReceiveNoSync(void *priv, uint8_t *buf, int size)
uint8_t *src = &dev->abRecvBuf[8];
uint32_t crda = CSR_CRDA(dev);
uint32_t next_crda;
RMD rmd, next_rmd;
RMD rmd;
RMD next_rmd;
/*
* Ethernet framing considers these two octets to be
@@ -1473,8 +1477,8 @@ pcnetAsyncTransmit(nic_t *dev)
break;
/* Don't continue sending packets when the link is down. */
if ((!pcnetIsLinkUp(dev)
&& dev->cLinkDownReported > PCNET_MAX_LINKDOWN_REPORTED))
if (!pcnetIsLinkUp(dev)
&& dev->cLinkDownReported > PCNET_MAX_LINKDOWN_REPORTED)
break;
pcnet_log(3, "%s: TMDLOAD %#010x\n", dev->name, PHYSADDR(dev, CSR_CXDA(dev)));
@@ -1488,7 +1492,7 @@ pcnetAsyncTransmit(nic_t *dev)
const int cb = 4096 - tmd.tmd1.bcnt;
pcnet_log(3, "%s: pcnetAsyncTransmit: stp&enp: cb=%d xmtrc=%#x\n", dev->name, cb, CSR_XMTRC(dev));
if ((pcnetIsLinkUp(dev) || fLoopback)) {
if (pcnetIsLinkUp(dev) || fLoopback) {
/* From the manual: ``A zero length buffer is acceptable as
* long as it is not the last buffer in a chain (STP = 0 and
@@ -2024,7 +2028,10 @@ static uint16_t
pcnet_mii_readw(nic_t *dev, uint16_t miiaddr)
{
uint16_t val;
int autoneg, duplex, fast, isolate;
int autoneg;
int duplex;
int fast;
int isolate;
/* If the DANAS (BCR32.7) bit is set, the MAC does not do any
* auto-negotiation and the PHY must be set up explicitly. DANAS
@@ -2238,7 +2245,7 @@ pcnet_byte_read(nic_t *dev, uint32_t addr)
pcnet_log(3, "%s: pcnet_word_read: addr = %04x, val = %04x, DWIO not set = %04x\n", dev->name, addr & 0x0f, val, !BCR_DWIO(dev));
return (val);
return val;
}
static uint16_t
@@ -2276,7 +2283,7 @@ pcnet_word_read(nic_t *dev, uint32_t addr)
skip_update_irq:
pcnet_log(3, "%s: pcnet_word_read: addr = %04x, val = %04x, DWIO not set = %04x\n", dev->name, addr & 0x0f, val, !BCR_DWIO(dev));
return (val);
return val;
}
static void
@@ -2300,7 +2307,7 @@ pcnet_dword_write(nic_t *dev, uint32_t addr, uint32_t val)
/* switch device to dword i/o mode */
pcnet_bcr_writew(dev, BCR_BSBC, pcnet_bcr_readw(dev, BCR_BSBC) | 0x0080);
pcnet_log(3, "%s: device switched into dword i/o mode\n", dev->name);
};
}
}
static uint32_t
@@ -2334,7 +2341,7 @@ pcnet_dword_read(nic_t *dev, uint32_t addr)
skip_update_irq:
pcnet_log(3, "%s: Read Long mode, addr = %08x, val = %08x\n", dev->name, addr, val);
return (val);
return val;
}
static void
@@ -2424,7 +2431,7 @@ pcnet_read(nic_t *dev, uint32_t addr, int len)
}
pcnet_log(3, "%s: value in read - %08x\n", dev->name, retval);
return (retval);
return retval;
}
static uint8_t
@@ -2682,7 +2689,7 @@ pcnet_pci_read(int func, int addr, void *p)
return 0xff;
}
return (0);
return 0;
}
static void
@@ -3005,7 +3012,7 @@ pcnet_init(const device_t *info)
timer_add(&dev->timer_restore, pcnetTimerRestore, dev, 0);
return (dev);
return dev;
}
static void

View File

@@ -416,7 +416,10 @@ net_slirp_init(const netcard_t *card, const uint8_t *mac_addr, void *priv, char
}
/* Set up port forwarding. */
int udp, external, internal, i = 0;
int udp;
int i = 0;
int external;
int internal;
char category[32];
snprintf(category, sizeof(category), "SLiRP Port Forwarding #%d", card->card_num + 1);
char key[20];

View File

@@ -253,7 +253,6 @@ void net_vde_error(char *errbuf, const char *message) {
//-
void *net_vde_init(const netcard_t *card, const uint8_t *mac_addr, void *priv, char *netdrv_errbuf) {
struct vde_open_args vde_args;
int i;
char *socket_name = (char *) priv;
@@ -288,7 +287,7 @@ void *net_vde_init(const netcard_t *card, const uint8_t *mac_addr, void *priv, c
}
vde_log("VDE: Socket opened (%s).\n", socket_name);
for(i=0; i < VDE_PKT_BATCH; i++) {
for(uint8_t i = 0; i < VDE_PKT_BATCH; i++) {
vde->pktv[i].data = calloc(1, NET_MAX_FRAME);
}
vde->pkt.data = calloc(1,NET_MAX_FRAME);

View File

@@ -194,9 +194,9 @@ wd_ram_write(uint32_t addr, uint8_t val, void *priv)
static int
wd_get_irq_index(wd_t *dev)
{
uint8_t i, irq = 255;
uint8_t irq = 255;
for (i = 0; i < 4; i++) {
for (uint8_t i = 0; i < 4; i++) {
if (we_int_table[i] == dev->irq)
irq = i;
}
@@ -285,7 +285,7 @@ wd_smc_read(wd_t *dev, uint32_t off)
wdlog("%s: ASIC read addr=0x%02x, value=0x%04x\n",
dev->name, (unsigned) off, (unsigned) retval);
return (retval);
return retval;
}
static void
@@ -423,7 +423,7 @@ wd_read(uint16_t addr, void *priv, int len)
}
}
return (retval);
return retval;
}
static uint8_t
@@ -776,7 +776,7 @@ wd_init(const device_t *info)
dev->base_address, dev->irq, dev->ram_addr);
}
return (dev);
return dev;
}
static void

View File

@@ -552,15 +552,13 @@ network_close(void)
void
network_reset(void)
{
int i = -1;
ui_sb_update_icon(SB_NETWORK, 0);
#if defined ENABLE_NETWORK_LOG && !defined(_WIN32)
network_dump_mutex = thread_create_mutex();
#endif
for (i = 0; i < NET_CARD_MAX; i++) {
for (uint8_t i = 0; i < NET_CARD_MAX; i++) {
if (!network_dev_available(i)) {
continue;
}
@@ -656,15 +654,13 @@ network_is_connected(int id)
int
network_dev_to_id(char *devname)
{
int i = 0;
for (i = 0; i < network_ndev; i++) {
for (int i = 0; i < network_ndev; i++) {
if (!strcmp((char *) network_devs[i].device, devname)) {
return (i);
return i;
}
}
return (-1);
return -1;
}
/* UI */
@@ -673,7 +669,7 @@ network_dev_available(int id)
{
int available = (net_cards_conf[id].device_num > 0);
if ((net_cards_conf[id].net_type == NET_TYPE_PCAP && (network_dev_to_id(net_cards_conf[id].host_dev_name) <= 0)))
if (net_cards_conf[id].net_type == NET_TYPE_PCAP && (network_dev_to_id(net_cards_conf[id].host_dev_name) <= 0))
available = 0;
// TODO: Handle VDE device
@@ -700,7 +696,7 @@ network_card_available(int card)
if (net_cards[card])
return (device_available(net_cards[card]));
return (1);
return 1;
}
/* UI */
@@ -715,7 +711,7 @@ int
network_card_has_config(int card)
{
if (!net_cards[card])
return (0);
return 0;
return (device_has_config(net_cards[card]) ? 1 : 0);
}
@@ -735,9 +731,9 @@ network_card_get_from_internal_name(char *s)
while (net_cards[c] != NULL) {
if (!strcmp((char *) net_cards[c]->internal_name, s))
return (c);
return c;
c++;
}
return 0;
}
}

View File

@@ -87,7 +87,7 @@ static int
get_devlist(capdev_t *list)
{
char errbuf[PCAP_ERRBUF_SIZE];
pcap_if_t *devlist, *dev;
pcap_if_t *devlist;
int i = 0;
/* Retrieve the device list from the local machine */
@@ -96,7 +96,7 @@ get_devlist(capdev_t *list)
return (-1);
}
for (dev = devlist; dev != NULL; dev = dev->next) {
for (pcap_if_t *dev = devlist; dev != NULL; dev = dev->next) {
strcpy(list->device, dev->name);
if (dev->description)
strcpy(list->description, dev->description);
@@ -109,7 +109,7 @@ get_devlist(capdev_t *list)
/* Release the memory. */
f_pcap_freealldevs(devlist);
return (i);
return i;
}
/* Simple HEXDUMP routine for raw data. */
@@ -127,7 +127,7 @@ hex_dump(unsigned char *bufp, int len)
printf("%04lx %02x", addr, c);
else
printf(" %02x", c);
asci[(addr & 15)] = (uint8_t) isprint(c) ? c : '.';
asci[addr & 15] = (uint8_t) isprint(c) ? c : '.';
if ((++addr % 16) == 0) {
asci[16] = '\0';
printf(" | %s |\n", asci);
@@ -137,7 +137,7 @@ hex_dump(unsigned char *bufp, int len)
if (addr % 16) {
while (addr % 16) {
printf(" ");
asci[(addr & 15)] = ' ';
asci[addr & 15] = ' ';
addr++;
}
asci[16] = '\0';
@@ -166,7 +166,7 @@ eth_prhdr(unsigned char *ptr)
type = (ptr[12] << 8) | ptr[13];
printf(" type %04x\n", type);
return (14);
return 14;
}
/* Capture packets from the network, and print them. */
@@ -189,7 +189,7 @@ start_cap(char *dev)
temp);
if (pcap == NULL) {
fprintf(stderr, "Pcap: open_live(%s): %s\n", dev, temp);
return (2);
return 2;
}
printf("Listening on '%s'..\n", dev);
@@ -217,19 +217,17 @@ start_cap(char *dev)
/* All done, close up. */
f_pcap_close(pcap);
return (0);
return 0;
}
/* Show a list of available network interfaces. */
static void
show_devs(capdev_t *list, int num)
{
int i;
if (num > 0) {
printf("Available network interfaces:\n\n");
for (i = 0; i < num; i++) {
for (int i = 0; i < num; i++) {
printf(" %d - %s\n", i + 1, list->device);
if (list->description[0] != '\0')
printf(" (%s)\n", list->description);
@@ -247,7 +245,8 @@ int
main(int argc, char **argv)
{
capdev_t interfaces[32];
int numdev, i;
int numdev;
int i;
/* Try loading the DLL. */
#ifdef _WIN32
@@ -263,7 +262,7 @@ main(int argc, char **argv)
#else
fprintf(stderr, "Unable to load libpcap.so !\n");
#endif
return (1);
return 1;
}
/* Get the list. */
@@ -275,7 +274,7 @@ main(int argc, char **argv)
dynld_close(pcap_handle);
return (numdev);
return numdev;
}
/* Assume argument to be the interface number to listen on. */
@@ -285,7 +284,7 @@ main(int argc, char **argv)
dynld_close(pcap_handle);
return (1);
return 1;
}
/* Looks good, go and listen.. */
@@ -293,5 +292,5 @@ main(int argc, char **argv)
dynld_close(pcap_handle);
return (i);
return i;
}

View File

@@ -787,7 +787,6 @@ pic_irq_ack(void)
/* If we are on AT, IRQ 2 is pending, and we cannot find a pending IRQ on PIC 2, fatal out. */
fatal("IRQ %i pending on AT without a pending IRQ on PIC %i (normal)\n", pic.interrupt, pic.interrupt);
exit(-1);
return -1;
}
pic.interrupt |= 0x40; /* Mark slave pending. */
@@ -818,7 +817,6 @@ picinterrupt(void)
/* If we are on AT, IRQ 2 is pending, and we cannot find a pending IRQ on PIC 2, fatal out. */
fatal("IRQ %i pending on AT without a pending IRQ on PIC %i (normal)\n", pic.interrupt, pic.interrupt);
exit(-1);
return -1;
}
pic.interrupt |= 0x40; /* Mark slave pending. */

View File

@@ -787,7 +787,6 @@ process_char(escp_t *dev, uint8_t ch)
case 0x2e:
fatal("ESC/P: Print Raster Graphics (2E) command is not implemented.\nTerminating the emulator to avoid endless PNG generation.\n");
exit(-1);
return 1;
default:
escp_log("ESC/P: Unknown command ESC %c (0x%02x). Unable to skip parameters.\n",
@@ -1561,11 +1560,9 @@ process_char(escp_t *dev, uint8_t ch)
return 1;
default:
/* This is a printable character -> print it. */
return 0;
}
/* This is a printable character -> print it. */
return 0;
}
static void

View File

@@ -60,7 +60,7 @@ D3D9Renderer::finalize()
if (d3d9) {
d3d9->Release();
d3d9 = nullptr;
};
}
}
void
@@ -113,7 +113,8 @@ void
D3D9Renderer::paintEvent(QPaintEvent *event)
{
IDirect3DSurface9 *backbuffer = nullptr;
RECT srcRect, dstRect;
RECT srcRect;
RECT dstRect;
HRESULT result = d3d9dev->GetBackBuffer(0, 0, D3DBACKBUFFER_TYPE_MONO, &backbuffer);
if (FAILED(result)) {

View File

@@ -36,7 +36,8 @@ private:
IDirect3DDevice9Ex *d3d9dev = nullptr;
IDirect3DSurface9 *d3d9surface = nullptr;
std::atomic<bool> surfaceInUse { false }, finalized { false };
std::atomic<bool> surfaceInUse { false };
std::atomic<bool> finalized { false };
bool alreadyInitialized = false;
int m_monitor_index = 0;
};

View File

@@ -66,7 +66,8 @@ DeviceConfig::~DeviceConfig()
static QStringList
EnumerateSerialDevices()
{
QStringList serialDevices, ttyEntries;
QStringList serialDevices;
QStringList ttyEntries;
QByteArray devstr(1024, 0);
#ifdef Q_OS_LINUX
QDir class_dir("/sys/class/tty/");
@@ -108,7 +109,9 @@ DeviceConfig::ConfigureDevice(const _device_ *device, int instance, Settings *se
{
DeviceConfig dc(settings);
dc.setWindowTitle(QString("%1 Device Configuration").arg(device->name));
int c, d, p, q;
int c;
int p;
int q;
device_context_t device_context;
device_set_context(&device_context, device, instance);
@@ -216,7 +219,7 @@ DeviceConfig::ConfigureDevice(const _device_ *device, int instance, Settings *se
c = q = 0;
for (auto *bios = config->bios; (bios != nullptr) && (bios->name != nullptr) && (strlen(bios->name) > 0); ++bios) {
p = 0;
for (d = 0; d < bios->files_no; d++)
for (int d = 0; d < bios->files_no; d++)
p += !!rom_present(const_cast<char *>(bios->files[d]));
if (p == bios->files_no) {
int row = Models::AddEntry(model, bios->name, q);

View File

@@ -75,7 +75,7 @@ HarddiskDialog::HarddiskDialog(bool existing, QWidget *parent)
uint64_t size = ((uint64_t) hdd_table[i][0]) * hdd_table[i][1] * hdd_table[i][2];
uint32_t size_mb = size >> 11LL;
// QString text = QString("%1 MiB (CHS: %2, %3, %4)").arg(size_mb).arg(hdd_table[i][0]).arg(hdd_table[i][1]).arg(hdd_table[i][2]);
QString text = QString::asprintf(tr("%u MB (CHS: %i, %i, %i)").toUtf8().constData(), (size_mb), (hdd_table[i][0]), (hdd_table[i][1]), (hdd_table[i][2]));
QString text = QString::asprintf(tr("%u MB (CHS: %i, %i, %i)").toUtf8().constData(), size_mb, (hdd_table[i][0]), (hdd_table[i][1]), (hdd_table[i][2]));
Models::AddEntry(model, text, i);
}
Models::AddEntry(model, tr("Custom..."), 127);
@@ -312,7 +312,7 @@ HarddiskDialog::onCreateNewFile()
ui->progressBar->setEnabled(true);
setResult(QDialog::Rejected);
quint64 size = ui->lineEditSize->text().toULongLong() << 20U;
if (size > 0x1FFFFFFE00ll) {
if (size > 0x1FFFFFFE00LL) {
QMessageBox::critical(this, tr("Disk image too large"), tr("Disk images cannot be larger than 127 GB."));
return;
}
@@ -357,7 +357,7 @@ HarddiskDialog::onCreateNewFile()
if (img_format == IMG_FMT_HDI) { /* HDI file */
QDataStream stream(&file);
stream.setByteOrder(QDataStream::LittleEndian);
if (size >= 0x100000000ll) {
if (size >= 0x100000000LL) {
QMessageBox::critical(this, tr("Disk image too large"), tr("HDI disk images cannot be larger than 4 GB."));
return;
}

View File

@@ -141,7 +141,8 @@ HardwareRenderer::paintGL()
{
m_context->makeCurrent(this);
glClear(GL_COLOR_BUFFER_BIT);
QVector<QVector2D> verts, texcoords;
QVector<QVector2D> verts;
QVector<QVector2D> texcoords;
QMatrix4x4 mat;
mat.setToIdentity();
mat.ortho(QRectF(0, 0, (qreal) width(), (qreal) height()));

View File

@@ -355,15 +355,14 @@ static int
hdd_count(int bus)
{
int c = 0;
int i;
for (i = 0; i < HDD_NUM; i++) {
for (uint8_t i = 0; i < HDD_NUM; i++) {
if (hdd[i].bus == bus) {
c++;
}
}
return (c);
return c;
}
void

View File

@@ -86,8 +86,10 @@ void qt_set_sequence_auto_mnemonic(bool b);
void
main_thread_fn()
{
uint64_t old_time, new_time;
int drawits, frames;
uint64_t old_time;
uint64_t new_time;
int drawits;
int frames;
QThread::currentThread()->setPriority(QThread::HighestPriority);
framecountx = 0;

View File

@@ -48,7 +48,9 @@ extern "C" {
#include <86box/machine.h>
#include <86box/vid_ega.h>
#include <86box/version.h>
//#include <86box/acpi.h> /* Requires timer.h include, which conflicts with Qt headers */
#if 0
#include <86box/acpi.h> /* Requires timer.h include, which conflicts with Qt headers */
#endif
extern atomic_int acpi_pwrbut_pressed;
extern int acpi_enabled;
@@ -413,19 +415,19 @@ MainWindow::MainWindow(QWidget *parent)
newVidApi = RendererStack::Renderer::Software;
break;
case 1:
newVidApi = (RendererStack::Renderer::OpenGL);
newVidApi = RendererStack::Renderer::OpenGL;
break;
case 2:
newVidApi = (RendererStack::Renderer::OpenGLES);
newVidApi = RendererStack::Renderer::OpenGLES;
break;
case 3:
newVidApi = (RendererStack::Renderer::OpenGL3);
newVidApi = RendererStack::Renderer::OpenGL3;
break;
case 4:
newVidApi = (RendererStack::Renderer::Vulkan);
newVidApi = RendererStack::Renderer::Vulkan;
break;
case 5:
newVidApi = (RendererStack::Renderer::Direct3D9);
newVidApi = RendererStack::Renderer::Direct3D9;
break;
#ifdef USE_VNC
case 6:

View File

@@ -241,7 +241,7 @@ MediaHistoryManager::addImageToHistory(int index, ui::MediaType type, const QStr
}
// Pop any extras
if ((device_history.size() > MAX_PREV_IMAGES)) {
if (device_history.size() > MAX_PREV_IMAGES) {
device_history.pop_back();
}

View File

@@ -90,7 +90,8 @@ private:
[[nodiscard]] const master_list_t &getMasterList() const;
void setMasterList(const master_list_t &masterList);
device_index_list_t index_list, empty_device_index_list;
device_index_list_t index_list;
device_index_list_t empty_device_index_list;
// Return a blank, initialized image history list
master_list_t &blankImageHistory(master_list_t &initialized_master_list) const;

View File

@@ -61,10 +61,12 @@ struct disk_size_t {
static const disk_size_t disk_sizes[14] = {
// clang-format off
// { 1, 1, 2, 1, 1, 77, 26, 0, 0, 4, 2, 6, 68 }, /* 250k 8" */
// { 1, 2, 2, 1, 1, 77, 26, 0, 0, 4, 2, 6, 68 }, /* 500k 8" */
// { 1, 1, 2, 1, 1, 77, 8, 3, 0, 1, 2, 2, 192 }, /* 616k 8" */
// { 1, 2, 0, 1, 1, 77, 8, 3, 0, 1, 2, 2, 192 }, /* 1232k 8" */
#if 0
{ 1, 1, 2, 1, 1, 77, 26, 0, 0, 4, 2, 6, 68 }, /* 250k 8" */
{ 1, 2, 2, 1, 1, 77, 26, 0, 0, 4, 2, 6, 68 }, /* 500k 8" */
{ 1, 1, 2, 1, 1, 77, 8, 3, 0, 1, 2, 2, 192 }, /* 616k 8" */
{ 1, 2, 0, 1, 1, 77, 8, 3, 0, 1, 2, 2, 192 }, /* 1232k 8" */
#endif
{ 0, 1, 2, 1, 0, 40, 8, 2, 0xfe, 2, 2, 1, 64 }, /* 160k */
{ 0, 1, 2, 1, 0, 40, 9, 2, 0xfc, 2, 2, 1, 64 }, /* 180k */
{ 0, 2, 2, 1, 0, 40, 8, 2, 0xff, 2, 2, 1, 112 }, /* 320k */
@@ -79,8 +81,10 @@ static const disk_size_t disk_sizes[14] = {
{ 2, 2, 3, 1, 0, 80, 36, 2, 0xf0, 2, 2, 9, 240 }, /* 2.88M */
{ 0, 64, 0, 0, 0, 96, 32, 2, 0, 0, 0, 0, 0 }, /* ZIP 100 */
{ 0, 64, 0, 0, 0, 239, 32, 2, 0, 0, 0, 0, 0 }, /* ZIP 250 */
// { 0, 8, 0, 0, 0, 963, 32, 2, 0, 0, 0, 0, 0 }, /* LS-120 */
// { 0, 32, 0, 0, 0, 262, 56, 2, 0, 0, 0, 0, 0 } /* LS-240 */
#if 0
{ 0, 8, 0, 0, 0, 963, 32, 2, 0, 0, 0, 0, 0 }, /* LS-120 */
{ 0, 32, 0, 0, 0, 262, 56, 2, 0, 0, 0, 0, 0 } /* LS-240 */
#endif
// clang-format on
};
@@ -264,7 +268,8 @@ NewFloppyDialog::create86f(const QString &filename, const disk_size_t &disk_size
uint32_t index_hole_pos = 0;
uint32_t tarray[512];
uint32_t array_size;
uint32_t track_base, track_size;
uint32_t track_base;
uint32_t track_size;
int i;
uint32_t shift = 0;
@@ -644,11 +649,13 @@ bool
NewFloppyDialog::createMoSectorImage(const QString &filename, int8_t disk_size, FileType type, QProgressDialog &pbar)
{
const mo_type_t *dp = &mo_types[disk_size];
uint32_t total_size = 0, total_size2;
uint32_t total_size = 0;
uint32_t total_size2;
uint32_t total_sectors = 0;
uint32_t sector_bytes = 0;
uint16_t base = 0x1000;
uint32_t pbar_max = 0, blocks_num;
uint32_t pbar_max = 0;
uint32_t blocks_num;
QFile file(filename);
if (!file.open(QIODevice::WriteOnly)) {

View File

@@ -48,7 +48,9 @@
# include <sys/mman.h>
#endif
// static QByteArray buf;
#if 0
static QByteArray buf;
#endif
extern QElapsedTimer elapsed_timer;
extern MainWindow *main_window;
QElapsedTimer elapsed_timer;
@@ -145,7 +147,9 @@ void
do_stop(void)
{
cpu_thread_run = 0;
// main_window->close();
#if 0
main_window->close();
#endif
}
void
@@ -249,7 +253,7 @@ path_get_filename(char *s)
c--;
}
return (s);
return s;
#else
auto idx = QByteArray::fromRawData(s, strlen(s)).lastIndexOf(QDir::separator().toLatin1());
if (idx >= 0) {
@@ -353,7 +357,8 @@ void
plat_pause(int p)
{
static wchar_t oldtitle[512];
wchar_t title[1024], paused_msg[512];
wchar_t title[1024];
wchar_t paused_msg[512];
if (p == dopause) {
#ifdef Q_OS_WINDOWS

View File

@@ -55,7 +55,11 @@ RendererCommon::onResize(int width, int height)
destination.setRect(0, 0, width, height);
return;
}
double dx, dy, dw, dh, gsr;
double dx;
double dy;
double dw;
double dh;
double gsr;
double hw = width;
double hh = height;

View File

@@ -41,7 +41,8 @@ public:
protected:
bool eventDelegate(QEvent *event, bool &result);
QRect source { 0, 0, 0, 0 }, destination;
QRect source { 0, 0, 0, 0 };
QRect destination;
QWidget *parentWidget { nullptr };
std::vector<std::atomic_flag> buf_usage;

View File

@@ -58,10 +58,13 @@ double mouse_x_error = 0.0, mouse_y_error = 0.0;
}
struct mouseinputdata {
atomic_int deltax, deltay, deltaz;
atomic_int deltax;
atomic_int deltay;
atomic_int deltaz;
atomic_int mousebuttons;
atomic_bool mouse_tablet_in_proximity;
std::atomic<double> x_abs, y_abs;
std::atomic<double> x_abs;
std::atomic<double> y_abs;
};
static mouseinputdata mousedata;
@@ -435,7 +438,7 @@ RendererStack::createRenderer(Renderer renderer)
QTimer::singleShot(0, this, [this]() { switchRenderer(Renderer::Software); });
current.reset(nullptr);
break;
};
}
rendererWindow = hw;
connect(this, &RendererStack::blitToRenderer, hw, &VulkanWindowRenderer::onBlit, Qt::QueuedConnection);
connect(hw, &VulkanWindowRenderer::rendererInitialized, [=]() {

View File

@@ -103,7 +103,14 @@ private:
Ui::RendererStack *ui;
int x, y, w, h, sx, sy, sw, sh;
int x;
int y;
int w;
int h;
int sx;
int sy;
int sw;
int sh;
int currentBuf = 0;
int isMouseDown = 0;

View File

@@ -78,10 +78,14 @@
static SDL_Window *sdl_win = NULL;
static SDL_Renderer *sdl_render = NULL;
static SDL_Texture *sdl_tex = NULL;
static int sdl_w, sdl_h;
static int sdl_fs, sdl_flags = -1;
static int cur_w, cur_h;
static int cur_ww = 0, cur_wh = 0;
static int sdl_w;
static int sdl_h;
static int sdl_fs;
static int sdl_flags = -1;
static int cur_w;
static int cur_h;
static int cur_ww = 0;
static int cur_wh = 0;
static volatile int sdl_enabled = 0;
static SDL_mutex *sdl_mutex = NULL;
@@ -236,7 +240,16 @@ sdl_integer_scale(double *d, double *g)
static void
sdl_stretch(int *w, int *h, int *x, int *y)
{
double hw, gw, hh, gh, dx, dy, dw, dh, gsr, hsr;
double hw;
double gw;
double hh;
double gh;
double dx;
double dy;
double dw;
double dh;
double gsr;
double hsr;
hw = (double) sdl_w;
hh = (double) sdl_h;
@@ -298,7 +311,8 @@ sdl_blit(int x, int y, int w, int h)
{
SDL_Rect r_src;
void *pixeldata;
int ret, pitch;
int ret;
int pitch;
if (!sdl_enabled || (x < 0) || (y < 0) || (w <= 0) || (h <= 0) || (w > 2048) || (h > 2048) || (buffer32 == NULL) || (sdl_render == NULL) || (sdl_tex == NULL)) {
video_blit_complete();
@@ -385,10 +399,9 @@ sdl_close(void)
static void
sdl_select_best_hw_driver(void)
{
int i;
SDL_RendererInfo renderInfo;
for (i = 0; i < SDL_GetNumRenderDrivers(); ++i) {
for (int i = 0; i < SDL_GetNumRenderDrivers(); ++i) {
SDL_GetRenderDriverInfo(i, &renderInfo);
if (renderInfo.flags & SDL_RENDERER_ACCELERATED) {
SDL_SetHint(SDL_HINT_RENDER_DRIVER, renderInfo.name);
@@ -408,7 +421,7 @@ sdl_init_texture(void)
}
sdl_tex = SDL_CreateTexture(sdl_render, SDL_PIXELFORMAT_ARGB8888,
SDL_TEXTUREACCESS_STREAMING, (2048), (2048));
SDL_TEXTUREACCESS_STREAMING, 2048, 2048);
if (sdl_render == NULL) {
sdl_log("SDL: unable to SDL_CreateRenderer (%s)\n", SDL_GetError());
@@ -520,13 +533,14 @@ sdl_initho(void *win)
int
sdl_pause(void)
{
return (0);
return 0;
}
void
sdl_resize(int w, int h)
{
int ww = 0, wh = 0;
int ww = 0;
int wh = 0;
if (video_fullscreen & 2)
return;

View File

@@ -1,261 +1,256 @@
/*
* 86Box A hypervisor and IBM PC system emulator that specializes in
* running old operating systems and software designed for IBM
* PC systems and compatibles from 1981 through fairly recent
* system designs based on the PCI bus.
*
* This file is part of the 86Box distribution.
*
* Program settings UI module.
*
*
*
* Authors: Miran Grca <mgrca8@gmail.com>
* Cacodemon345
*
* Copyright 2022 Miran Grca
* Copyright 2022 Cacodemon345
*/
#include <cstdint>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include "86box/hdd.h"
#include "qt_settings_bus_tracking.hpp"
SettingsBusTracking::SettingsBusTracking()
{
int i;
mfm_tracking = 0x0000000000000000ULL;
esdi_tracking = 0x0000000000000000ULL;
xta_tracking = 0x0000000000000000ULL;
for (i = 0; i < 8; i++) {
if (i < 4)
ide_tracking[i] = 0x0000000000000000ULL;
scsi_tracking[i] = 0x0000000000000000ULL;
}
}
uint8_t
SettingsBusTracking::next_free_mfm_channel()
{
if ((mfm_tracking & 0xff00ULL) && !(mfm_tracking & 0x00ffULL))
return 1;
if (!(mfm_tracking & 0xff00ULL) && (mfm_tracking & 0x00ffULL))
return 0;
return CHANNEL_NONE;
}
uint8_t
SettingsBusTracking::next_free_esdi_channel()
{
if ((esdi_tracking & 0xff00ULL) && !(esdi_tracking & 0x00ffULL))
return 1;
if (!(esdi_tracking & 0xff00ULL) && (esdi_tracking & 0x00ffULL))
return 0;
return CHANNEL_NONE;
}
uint8_t
SettingsBusTracking::next_free_xta_channel()
{
if ((xta_tracking & 0xff00ULL) && !(xta_tracking & 0x00ffULL))
return 1;
if (!(xta_tracking & 0xff00ULL) && (xta_tracking & 0x00ffULL))
return 0;
return CHANNEL_NONE;
}
uint8_t
SettingsBusTracking::next_free_ide_channel()
{
int i, element;
uint64_t mask;
uint8_t ret = CHANNEL_NONE;
for (i = 0; i < 32; i++) {
element = ((i << 3) >> 6);
mask = 0xffULL << ((uint64_t) ((i << 3) & 0x3f));
if (!(ide_tracking[element] & mask)) {
ret = (uint8_t) i;
break;
}
}
return ret;
}
uint8_t
SettingsBusTracking::next_free_scsi_id()
{
int i, element;
uint64_t mask;
uint8_t ret = CHANNEL_NONE;
for (i = 0; i < 64; i++) {
element = ((i << 3) >> 6);
mask = 0xffULL << ((uint64_t) ((i << 3) & 0x3f));
if (!(scsi_tracking[element] & mask)) {
ret = (uint8_t) i;
break;
}
}
return ret;
}
int
SettingsBusTracking::mfm_bus_full()
{
int i;
uint64_t mask;
uint8_t count = 0;
for (i = 0; i < 2; i++) {
mask = 0xffULL << ((uint64_t) ((i << 3) & 0x3f));
if (mfm_tracking & mask)
count++;
}
return (count == 2);
}
int
SettingsBusTracking::esdi_bus_full()
{
int i;
uint64_t mask;
uint8_t count = 0;
for (i = 0; i < 2; i++) {
mask = 0xffULL << ((uint64_t) ((i << 3) & 0x3f));
if (esdi_tracking & mask)
count++;
}
return (count == 2);
}
int
SettingsBusTracking::xta_bus_full()
{
int i;
uint64_t mask;
uint8_t count = 0;
for (i = 0; i < 2; i++) {
mask = 0xffULL << ((uint64_t) ((i << 3) & 0x3f));
if (xta_tracking & mask)
count++;
}
return (count == 2);
}
int
SettingsBusTracking::ide_bus_full()
{
int i, element;
uint64_t mask;
uint8_t count = 0;
for (i = 0; i < 32; i++) {
element = ((i << 3) >> 6);
mask = 0xffULL << ((uint64_t) ((i << 3) & 0x3f));
if (ide_tracking[element] & mask)
count++;
}
return (count == 32);
}
int
SettingsBusTracking::scsi_bus_full()
{
int i, element;
uint64_t mask;
uint8_t count = 0;
for (i = 0; i < 64; i++) {
element = ((i << 3) >> 6);
mask = 0xffULL << ((uint64_t) ((i << 3) & 0x3f));
if (scsi_tracking[element] & mask)
count++;
}
return (count == 64);
}
void
SettingsBusTracking::device_track(int set, uint8_t dev_type, int bus, int channel)
{
int element;
uint64_t mask;
switch (bus) {
case HDD_BUS_MFM:
mask = ((uint64_t) dev_type) << ((uint64_t) ((channel << 3) & 0x3f));
if (set)
mfm_tracking |= mask;
else
mfm_tracking &= ~mask;
break;
case HDD_BUS_ESDI:
mask = ((uint64_t) dev_type) << ((uint64_t) ((channel << 3) & 0x3f));
if (set)
esdi_tracking |= mask;
else
esdi_tracking &= ~mask;
break;
case HDD_BUS_XTA:
mask = ((uint64_t) dev_type) << ((uint64_t) ((channel << 3) & 0x3f));
if (set)
xta_tracking |= mask;
else
xta_tracking &= ~mask;
break;
case HDD_BUS_IDE:
case HDD_BUS_ATAPI:
element = ((channel << 3) >> 6);
mask = ((uint64_t) dev_type) << ((uint64_t) ((channel << 3) & 0x3f));
if (set)
ide_tracking[element] |= mask;
else
ide_tracking[element] &= ~mask;
break;
case HDD_BUS_SCSI:
element = ((channel << 3) >> 6);
mask = ((uint64_t) dev_type) << ((uint64_t) ((channel << 3) & 0x3f));
if (set)
scsi_tracking[element] |= mask;
else
scsi_tracking[element] &= ~mask;
break;
}
}
/*
* 86Box A hypervisor and IBM PC system emulator that specializes in
* running old operating systems and software designed for IBM
* PC systems and compatibles from 1981 through fairly recent
* system designs based on the PCI bus.
*
* This file is part of the 86Box distribution.
*
* Program settings UI module.
*
*
*
* Authors: Miran Grca <mgrca8@gmail.com>
* Cacodemon345
*
* Copyright 2022 Miran Grca
* Copyright 2022 Cacodemon345
*/
#include <cstdint>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include "86box/hdd.h"
#include "qt_settings_bus_tracking.hpp"
SettingsBusTracking::SettingsBusTracking()
{
mfm_tracking = 0x0000000000000000ULL;
esdi_tracking = 0x0000000000000000ULL;
xta_tracking = 0x0000000000000000ULL;
for (uint8_t i = 0; i < 8; i++) {
if (i < 4)
ide_tracking[i] = 0x0000000000000000ULL;
scsi_tracking[i] = 0x0000000000000000ULL;
}
}
uint8_t
SettingsBusTracking::next_free_mfm_channel()
{
if ((mfm_tracking & 0xff00ULL) && !(mfm_tracking & 0x00ffULL))
return 1;
if (!(mfm_tracking & 0xff00ULL) && (mfm_tracking & 0x00ffULL))
return 0;
return CHANNEL_NONE;
}
uint8_t
SettingsBusTracking::next_free_esdi_channel()
{
if ((esdi_tracking & 0xff00ULL) && !(esdi_tracking & 0x00ffULL))
return 1;
if (!(esdi_tracking & 0xff00ULL) && (esdi_tracking & 0x00ffULL))
return 0;
return CHANNEL_NONE;
}
uint8_t
SettingsBusTracking::next_free_xta_channel()
{
if ((xta_tracking & 0xff00ULL) && !(xta_tracking & 0x00ffULL))
return 1;
if (!(xta_tracking & 0xff00ULL) && (xta_tracking & 0x00ffULL))
return 0;
return CHANNEL_NONE;
}
uint8_t
SettingsBusTracking::next_free_ide_channel()
{
int element;
uint64_t mask;
uint8_t ret = CHANNEL_NONE;
for (uint8_t i = 0; i < 32; i++) {
element = ((i << 3) >> 6);
mask = 0xffULL << ((uint64_t) ((i << 3) & 0x3f));
if (!(ide_tracking[element] & mask)) {
ret = (uint8_t) i;
break;
}
}
return ret;
}
uint8_t
SettingsBusTracking::next_free_scsi_id()
{
int element;
uint64_t mask;
uint8_t ret = CHANNEL_NONE;
for (uint8_t i = 0; i < 64; i++) {
element = ((i << 3) >> 6);
mask = 0xffULL << ((uint64_t) ((i << 3) & 0x3f));
if (!(scsi_tracking[element] & mask)) {
ret = (uint8_t) i;
break;
}
}
return ret;
}
int
SettingsBusTracking::mfm_bus_full()
{
uint64_t mask;
uint8_t count = 0;
for (uint8_t i = 0; i < 2; i++) {
mask = 0xffULL << ((uint64_t) ((i << 3) & 0x3f));
if (mfm_tracking & mask)
count++;
}
return (count == 2);
}
int
SettingsBusTracking::esdi_bus_full()
{
uint64_t mask;
uint8_t count = 0;
for (uint8_t i = 0; i < 2; i++) {
mask = 0xffULL << ((uint64_t) ((i << 3) & 0x3f));
if (esdi_tracking & mask)
count++;
}
return (count == 2);
}
int
SettingsBusTracking::xta_bus_full()
{
uint64_t mask;
uint8_t count = 0;
for (uint8_t i = 0; i < 2; i++) {
mask = 0xffULL << ((uint64_t) ((i << 3) & 0x3f));
if (xta_tracking & mask)
count++;
}
return (count == 2);
}
int
SettingsBusTracking::ide_bus_full()
{
int element;
uint64_t mask;
uint8_t count = 0;
for (uint8_t i = 0; i < 32; i++) {
element = ((i << 3) >> 6);
mask = 0xffULL << ((uint64_t) ((i << 3) & 0x3f));
if (ide_tracking[element] & mask)
count++;
}
return (count == 32);
}
int
SettingsBusTracking::scsi_bus_full()
{
int element;
uint64_t mask;
uint8_t count = 0;
for (uint8_t i = 0; i < 64; i++) {
element = ((i << 3) >> 6);
mask = 0xffULL << ((uint64_t) ((i << 3) & 0x3f));
if (scsi_tracking[element] & mask)
count++;
}
return (count == 64);
}
void
SettingsBusTracking::device_track(int set, uint8_t dev_type, int bus, int channel)
{
int element;
uint64_t mask;
switch (bus) {
case HDD_BUS_MFM:
mask = ((uint64_t) dev_type) << ((uint64_t) ((channel << 3) & 0x3f));
if (set)
mfm_tracking |= mask;
else
mfm_tracking &= ~mask;
break;
case HDD_BUS_ESDI:
mask = ((uint64_t) dev_type) << ((uint64_t) ((channel << 3) & 0x3f));
if (set)
esdi_tracking |= mask;
else
esdi_tracking &= ~mask;
break;
case HDD_BUS_XTA:
mask = ((uint64_t) dev_type) << ((uint64_t) ((channel << 3) & 0x3f));
if (set)
xta_tracking |= mask;
else
xta_tracking &= ~mask;
break;
case HDD_BUS_IDE:
case HDD_BUS_ATAPI:
element = ((channel << 3) >> 6);
mask = ((uint64_t) dev_type) << ((uint64_t) ((channel << 3) & 0x3f));
if (set)
ide_tracking[element] |= mask;
else
ide_tracking[element] &= ~mask;
break;
case HDD_BUS_SCSI:
element = ((channel << 3) >> 6);
mask = ((uint64_t) dev_type) << ((uint64_t) ((channel << 3) & 0x3f));
if (set)
scsi_tracking[element] |= mask;
else
scsi_tracking[element] &= ~mask;
break;
}
}

View File

@@ -44,17 +44,17 @@ const int DataBusChannel = Qt::UserRole + 1;
const int DataBusPrevious = Qt::UserRole + 2;
const int DataBusChannelPrevious = Qt::UserRole + 3;
/*
#if 0
static void
normalize_hd_list()
{
hard_disk_t ihdd[HDD_NUM];
int i, j;
int j;
j = 0;
memset(ihdd, 0x00, HDD_NUM * sizeof(hard_disk_t));
for (i = 0; i < HDD_NUM; i++) {
for (uint8_t i = 0; i < HDD_NUM; i++) {
if (temp_hdd[i].bus != HDD_BUS_DISABLED) {
memcpy(&(ihdd[j]), &(temp_hdd[i]), sizeof(hard_disk_t));
j++;
@@ -63,7 +63,7 @@ normalize_hd_list()
memcpy(temp_hdd, ihdd, HDD_NUM * sizeof(hard_disk_t));
}
*/
#endif
static QString
busChannelName(const QModelIndex &idx)

View File

@@ -200,7 +200,7 @@ SettingsMachine::on_comboBoxMachine_currentIndexChanged(int index)
ui->comboBoxCPU->setCurrentIndex(selectedCpuFamilyRow);
int divisor;
if ((machine_get_ram_granularity(machineId) < 1024)) {
if (machine_get_ram_granularity(machineId) < 1024) {
divisor = 1;
ui->spinBoxRAM->setSuffix(QCoreApplication::translate("", "KB").prepend(' '));
} else {

View File

@@ -29,7 +29,9 @@
MainWindow *main_window = nullptr;
static QString sb_text, sb_buguitext, sb_mt32lcdtext;
static QString sb_text;
static QString sb_buguitext;
static QString sb_mt32lcdtext;
extern "C" {
@@ -221,7 +223,6 @@ ui_sb_bugui(char *str)
{
sb_buguitext = str;
ui_sb_update_text();
;
}
void

File diff suppressed because it is too large Load Diff

View File

@@ -172,7 +172,9 @@ void
WindowsRawInputFilter::keyboard_handle(PRAWINPUT raw)
{
USHORT scancode;
static int recv_lalt = 0, recv_ralt = 0, recv_tab = 0;
static int recv_lalt = 0;
static int recv_ralt = 0;
static int recv_tab = 0;
RAWKEYBOARD rawKB = raw->data.keyboard;
scancode = rawKB.MakeCode;
@@ -334,7 +336,8 @@ void
WindowsRawInputFilter::mouse_handle(PRAWINPUT raw)
{
RAWMOUSE state = raw->data.mouse;
static int x, y;
static int x;
static int y;
/* read mouse buttons and wheel */
if (state.usButtonFlags & RI_MOUSE_LEFT_BUTTON_DOWN)

View File

@@ -106,7 +106,8 @@ joystick_get_axis(int joystick_nr, int mapping)
void
joystick_process()
{
int c, d;
int c;
int d;
if (!joystick_type)
return;

View File

@@ -443,12 +443,12 @@ joystick_get_axis(int joystick_nr, int mapping)
void
joystick_process(void)
{
int c, d;
int d;
if (joystick_type == 7)
return;
for (c = 0; c < joystick_get_max_joysticks(joystick_type); c++) {
for (int c = 0; c < joystick_get_max_joysticks(joystick_type); c++) {
if (joystick_state[c].plat_joystick_nr) {
int joystick_nr = joystick_state[c].plat_joystick_nr - 1;
@@ -458,8 +458,10 @@ joystick_process(void)
joystick_state[c].button[d] = plat_joystick_state[joystick_nr].b[joystick_state[c].button_mapping[d]];
for (d = 0; d < joystick_get_pov_count(joystick_type); d++) {
int x, y;
double angle, magnitude;
int x;
int y;
double angle;
double magnitude;
x = joystick_get_axis(joystick_nr, joystick_state[c].pov_mapping[d][0]);
y = joystick_get_axis(joystick_nr, joystick_state[c].pov_mapping[d][1]);

View File

@@ -34,7 +34,8 @@ static zwp_relative_pointer_v1 *rel_pointer = nullptr;
static zwp_pointer_constraints_v1 *conf_pointer_interface = nullptr;
static zwp_locked_pointer_v1 *conf_pointer = nullptr;
static int rel_mouse_x = 0, rel_mouse_y = 0;
static int rel_mouse_x = 0;
static int rel_mouse_y = 0;
static bool wl_init_ok = false;
void

View File

@@ -59,7 +59,8 @@ parse_valuators(const double *input_values,
const unsigned char *mask, int mask_len,
double *output_values, int output_values_len)
{
int i = 0, z = 0;
int i = 0;
int z = 0;
int top = mask_len * 8;
if (top > 16)
top = 16;
@@ -260,7 +261,10 @@ xinput2_init()
qWarning() << "Cannot open current X11 display";
return;
}
auto event = 0, err = 0, minor = 1, major = 2;
auto event = 0;
auto err = 0;
auto minor = 1;
auto major = 2;
if (XQueryExtension(disp, "XInputExtension", &xi2opcode, &event, &err)) {
if (XIQueryVersion(disp, &major, &minor) == Success) {
procThread = QThread::create(xinput2_proc);

View File

@@ -48,7 +48,8 @@ static void
xkbcommon_wl_set_keymap()
{
/* Grab keymap from the first seat with one. */
seat_t *seat, *tmp;
seat_t *seat;
seat_t *tmp;
wl_list_for_each_safe(seat, tmp, &seats, link) {
if (seat->keymap) {
xkbcommon_init(seat->keymap);
@@ -180,7 +181,8 @@ display_global_remove(void *data, struct wl_registry *wl_registry, uint32_t id)
{
xkbcommon_close();
seat_t *seat, *tmp;
seat_t *seat;
seat_t *tmp;
wl_list_for_each_safe(seat, tmp, &seats, link) {
if (seat->wl_kbd) {
if (seat->version >= WL_SEAT_RELEASE_SINCE_VERSION)

View File

@@ -125,7 +125,7 @@ scsi_card_available(int card)
if (scsi_cards[card].device)
return (device_available(scsi_cards[card].device));
return (1);
return 1;
}
const device_t *
@@ -138,7 +138,7 @@ int
scsi_card_has_config(int card)
{
if (!scsi_cards[card].device)
return (0);
return 0;
return (device_has_config(scsi_cards[card].device) ? 1 : 0);
}
@@ -156,17 +156,17 @@ scsi_card_get_from_internal_name(char *s)
while (scsi_cards[c].device != NULL) {
if (!strcmp((char *) scsi_cards[c].device->internal_name, s))
return (c);
return c;
c++;
}
return (0);
return 0;
}
void
scsi_card_init(void)
{
int i = 0, max = SCSI_BUS_MAX;
int max = SCSI_BUS_MAX;
/* On-board SCSI controllers get the first bus, so if one is present,
increase our instance number here. */
@@ -176,7 +176,7 @@ scsi_card_init(void)
/* Do not initialize any controllers if we have do not have any SCSI
bus left. */
if (max > 0) {
for (i = 0; i < max; i++) {
for (int i = 0; i < max; i++) {
if (!scsi_cards[scsi_card_current[i]].device)
continue;

View File

@@ -139,14 +139,14 @@ aha154x_shram(x54x_t *dev, uint8_t cmd)
{
/* If not supported, give up. */
if (dev->rom_shram == 0x0000)
return (0x04);
return 0x04;
/* Bit 0 = Shadow RAM write enable;
Bit 1 = Shadow RAM read enable. */
dev->shram_mode = cmd;
/* Firmware expects 04 status. */
return (0x04);
return 0x04;
}
static void
@@ -173,7 +173,7 @@ aha154x_eeprom(x54x_t *dev, uint8_t cmd, uint8_t arg, uint8_t len, uint8_t off,
/* Only if we can handle it.. */
if (dev->nvr == NULL)
return (r);
return r;
if (cmd == 0x22) {
/* Write data to the EEPROM. */
@@ -198,7 +198,7 @@ aha154x_eeprom(x54x_t *dev, uint8_t cmd, uint8_t arg, uint8_t len, uint8_t off,
r = len;
}
return (r);
return r;
}
/* Map either the main or utility (Select) ROM into the memory space. */
@@ -219,7 +219,7 @@ aha154x_mmap(x54x_t *dev, uint8_t cmd)
break;
}
return (0);
return 0;
}
static uint8_t

View File

@@ -589,7 +589,6 @@ static void
BuslogicSCSIBIOSRequestSetup(x54x_t *dev, uint8_t *CmdBuf, uint8_t *DataInBuf, uint8_t DataReply)
{
ESCMD *ESCSICmd = (ESCMD *) CmdBuf;
uint32_t i;
uint8_t temp_cdb[12];
int target_cdb_len = 12;
#ifdef ENABLE_BUSLOGIC_LOG
@@ -631,7 +630,7 @@ BuslogicSCSIBIOSRequestSetup(x54x_t *dev, uint8_t *CmdBuf, uint8_t *DataInBuf, u
buslogic_log("SCSI target command being executed on: SCSI ID %i, SCSI LUN %i, Target %i\n", ESCSICmd->TargetId, ESCSICmd->LogicalUnit, target_id);
buslogic_log("SCSI Cdb[0]=0x%02X\n", ESCSICmd->CDB[0]);
for (i = 1; i < ESCSICmd->CDBLength; i++) {
for (uint8_t i = 1; i < ESCSICmd->CDBLength; i++) {
buslogic_log("SCSI Cdb[%i]=%i\n", i, ESCSICmd->CDB[i]);
}
@@ -1152,7 +1151,9 @@ BuslogicPCIRead(int func, int addr, void *p)
case 0x13:
return buslogic_pci_bar[0].addr_regs[3];
case 0x14:
// return (buslogic_pci_bar[1].addr_regs[0] & 0xe0); /*Memory space*/
#if 0
return (buslogic_pci_bar[1].addr_regs[0] & 0xe0); /*Memory space*/
#endif
return 0x00;
case 0x15:
return buslogic_pci_bar[1].addr_regs[1] & 0xc0;
@@ -1189,7 +1190,7 @@ BuslogicPCIRead(int func, int addr, void *p)
return PCI_INTA;
}
return (0);
return 0;
}
static void
@@ -1753,7 +1754,7 @@ buslogic_init(const device_t *info)
BuslogicInitializeAutoSCSIRam(dev);
}
return (dev);
return dev;
}
// clang-format off

View File

@@ -691,13 +691,11 @@ static uint32_t
scsi_cdrom_drive_status(scsi_cdrom_t *dev, uint8_t *buf, uint32_t pos, uint8_t page)
{
uint8_t page_control = (page >> 6) & 3;
int i = 0, j = 0;
uint16_t msplen;
page &= 0x3f;
for (i = 0; i < 0x40; i++) {
for (uint8_t i = 0; i < 0x40; i++) {
if (page == i) {
if (scsi_cdrom_drive_status_page_flags & (1LL << ((uint64_t) (page & 0x3f)))) {
buf[pos++] = scsi_cdrom_drive_status_read(dev, page_control, i, 0);
@@ -706,7 +704,7 @@ scsi_cdrom_drive_status(scsi_cdrom_t *dev, uint8_t *buf, uint32_t pos, uint8_t p
buf[pos++] = (msplen >> 8) & 0xff;
buf[pos++] = msplen & 0xff;
scsi_cdrom_log("CD-ROM %i: DRIVE STATUS: Page [%02X] length %i\n", dev->id, i, msplen);
for (j = 0; j < msplen; j++) {
for (uint16_t j = 0; j < msplen; j++) {
if (i == 0x01) {
buf[pos++] = scsi_cdrom_drive_status_read(dev, page_control, i, 3 + j);
if (!(j & 1)) { /*MSB of Drive Status*/
@@ -770,8 +768,6 @@ static uint32_t
scsi_cdrom_mode_sense(scsi_cdrom_t *dev, uint8_t *buf, uint32_t pos, uint8_t page, uint8_t block_descriptor_len)
{
uint8_t page_control = (page >> 6) & 3;
int i = 0, j = 0;
uint8_t msplen;
page &= 0x3f;
@@ -787,14 +783,14 @@ scsi_cdrom_mode_sense(scsi_cdrom_t *dev, uint8_t *buf, uint32_t pos, uint8_t pag
buf[pos++] = 0;
}
for (i = 0; i < 0x40; i++) {
for (uint8_t i = 0; i < 0x40; i++) {
if ((page == GPMODE_ALL_PAGES) || (page == i)) {
if (scsi_cdrom_mode_sense_page_flags & (1LL << ((uint64_t) (page & 0x3f)))) {
buf[pos++] = scsi_cdrom_mode_sense_read(dev, page_control, i, 0);
msplen = scsi_cdrom_mode_sense_read(dev, page_control, i, 1);
buf[pos++] = msplen;
scsi_cdrom_log("CD-ROM %i: MODE SENSE: Page [%02X] length %i\n", dev->id, i, msplen);
for (j = 0; j < msplen; j++) {
for (uint8_t j = 0; j < msplen; j++) {
/* If we are returning changeable values, always return them from the page,
so they are all correctly. */
if (page_control == 1)
@@ -840,7 +836,8 @@ scsi_cdrom_mode_sense(scsi_cdrom_t *dev, uint8_t *buf, uint32_t pos, uint8_t pag
static void
scsi_cdrom_update_request_length(scsi_cdrom_t *dev, int len, int block_len)
{
int32_t bt, min_len = 0;
int32_t bt;
int32_t min_len = 0;
double dlen;
dev->max_transfer_len = dev->request_length;
@@ -928,7 +925,8 @@ scsi_cdrom_bus_speed(scsi_cdrom_t *dev)
static void
scsi_cdrom_command_common(scsi_cdrom_t *dev)
{
double bytes_per_second = 0.0, period;
double bytes_per_second = 0.0;
double period;
dev->status = BUSY_STAT;
dev->phase = 1;
@@ -1273,9 +1271,10 @@ scsi_cdrom_data_phase_error(scsi_cdrom_t *dev)
static int
scsi_cdrom_read_data(scsi_cdrom_t *dev, int msf, int type, int flags, int32_t *len, int vendor_type)
{
int ret = 0, data_pos = 0;
int i = 0, temp_len = 0;
uint32_t cdsize = 0;
int ret = 0;
int data_pos = 0;
int temp_len = 0;
uint32_t cdsize = 0;
if (dev->drv->cd_status == CD_STATUS_EMPTY) {
scsi_cdrom_not_ready(dev);
@@ -1306,7 +1305,7 @@ scsi_cdrom_read_data(scsi_cdrom_t *dev, int msf, int type, int flags, int32_t *l
dev->old_len = 0;
*len = 0;
for (i = 0; i < dev->requested_blocks; i++) {
for (int i = 0; i < dev->requested_blocks; i++) {
ret = cdrom_readsector_raw(dev->drv, dev->buffer + data_pos,
dev->sector_pos + i, msf, type, flags, &temp_len, vendor_type);
@@ -1327,8 +1326,10 @@ scsi_cdrom_read_data(scsi_cdrom_t *dev, int msf, int type, int flags, int32_t *l
static int
scsi_cdrom_read_blocks(scsi_cdrom_t *dev, int32_t *len, int first_batch, int vendor_type)
{
int ret = 0, msf = 0;
int type = 0, flags = 0;
int ret = 0;
int msf = 0;
int type = 0;
int flags = 0;
if (dev->current_cdb[0] == GPCMD_READ_CD_MSF)
msf = 1;
@@ -1695,16 +1696,26 @@ void
scsi_cdrom_command(scsi_common_t *sc, uint8_t *cdb)
{
scsi_cdrom_t *dev = (scsi_cdrom_t *) sc;
int len, max_len, used_len, alloc_length, msf;
int pos = 0, i = 0, size_idx, idx = 0;
int len;
int max_len;
int used_len;
int alloc_length;
int msf;
int pos = 0;
int size_idx;
int idx = 0;
uint32_t feature;
unsigned preamble_len;
int toc_format, block_desc = 0;
int ret, format = 0;
int real_pos, track = 0;
int toc_format;
int block_desc = 0;
int ret;
int format = 0;
int real_pos;
int track = 0;
char device_identify[9] = { '8', '6', 'B', '_', 'C', 'D', '0', '0', 0 };
char device_identify_ex[15] = { '8', '6', 'B', '_', 'C', 'D', '0', '0', ' ', 'v', '1', '.', '0', '0', 0 };
int32_t blen = 0, *BufLen;
int32_t blen = 0;
int32_t *BufLen;
uint8_t *b;
uint32_t profiles[2] = { MMC_PROFILE_CD_ROM, MMC_PROFILE_DVD_ROM };
uint8_t scsi_bus = (dev->drv->scsi_device_id >> 4) & 0x0f;
@@ -1875,7 +1886,7 @@ begin:
return;
case 0xC7:
if ((!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "MATSHITA_CD-ROM_CR-501_1.0b"))) { /*GPCMD_PLAY_AUDIO_MSF_MATSUSHITA*/
if (!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "MATSHITA_CD-ROM_CR-501_1.0b")) { /*GPCMD_PLAY_AUDIO_MSF_MATSUSHITA*/
cdb[0] = GPCMD_PLAY_AUDIO_MSF;
dev->current_cdb[0] = cdb[0];
goto begin;
@@ -2218,7 +2229,7 @@ begin:
alloc_length += 4;
b += 4;
for (i = 0; i < 2; i++) {
for (uint8_t i = 0; i < 2; i++) {
b[0] = (profiles[i] >> 8) & 0xff;
b[1] = profiles[i] & 0xff;
@@ -2407,7 +2418,7 @@ begin:
break;
} /*GPCMD_AUDIO_TRACK_SEARCH_TOSHIBA and GPCMD_EJECT_CHINON*/
case 0xD8: /*GPCMD_AUDIO_TRACK_SEARCH_NEC*/
if ((!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "CHINON_CD-ROM_CDS-431_H42"))) {
if (!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "CHINON_CD-ROM_CDS-431_H42")) {
scsi_cdrom_set_phase(dev, SCSI_PHASE_STATUS);
scsi_cdrom_stop(sc);
cdrom_eject(dev->id);
@@ -2603,13 +2614,13 @@ begin:
dev->buffer[1] = 0x11;
break;
case CD_STATUS_PAUSED:
dev->buffer[1] = ((!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "CHINON_CD-ROM_CDS-431_H42"))) ? 0x15 : 0x12;
dev->buffer[1] = (!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "CHINON_CD-ROM_CDS-431_H42")) ? 0x15 : 0x12;
break;
case CD_STATUS_DATA_ONLY:
dev->buffer[1] = ((!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "CHINON_CD-ROM_CDS-431_H42"))) ? 0x00 : 0x15;
dev->buffer[1] = (!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "CHINON_CD-ROM_CDS-431_H42")) ? 0x00 : 0x15;
break;
default:
dev->buffer[1] = ((!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "CHINON_CD-ROM_CDS-431_H42"))) ? 0x00 : 0x13;
dev->buffer[1] = (!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "CHINON_CD-ROM_CDS-431_H42")) ? 0x00 : 0x13;
break;
}
@@ -2650,7 +2661,7 @@ begin:
break;
} /*GPCMD_READ_SUBCODEQ_PLAYING_STATUS_TOSHIBA and GPCMD_STOP_CHINON*/
case 0xDD: /*GPCMD_READ_SUBCODEQ_PLAYING_STATUS_NEC*/
if ((!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "CHINON_CD-ROM_CDS-431_H42"))) {
if (!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "CHINON_CD-ROM_CDS-431_H42")) {
scsi_cdrom_set_phase(dev, SCSI_PHASE_STATUS);
scsi_cdrom_stop(sc);
scsi_cdrom_command_complete(dev);
@@ -2752,7 +2763,7 @@ begin:
break;
case 0xC4:
if ((!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "MATSHITA_CD-ROM_CR-501_1.0b"))) { /*GPCMD_READ_HEADER_MATSUSHITA*/
if (!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "MATSHITA_CD-ROM_CR-501_1.0b")) { /*GPCMD_READ_HEADER_MATSUSHITA*/
cdb[0] = GPCMD_READ_HEADER;
dev->current_cdb[0] = cdb[0];
goto begin;
@@ -2839,14 +2850,14 @@ begin:
dev->buffer[idx++] = 0x00;
dev->buffer[idx++] = 68;
if ((!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "86BOX_CD-ROM_1.00")))
if (!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "86BOX_CD-ROM_1.00"))
ide_padstr8(dev->buffer + idx, 8, EMU_NAME); /* Vendor */
else
ide_padstr8(dev->buffer + idx, 8, cdrom_drive_types[dev->drv->type].vendor); /* Vendor */
idx += 8;
if ((!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "86BOX_CD-ROM_1.00")))
if (!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "86BOX_CD-ROM_1.00"))
ide_padstr8(dev->buffer + idx, 40, device_identify_ex); /* Product */
else
ide_padstr8(dev->buffer + idx, 40, cdrom_drive_types[dev->drv->type].model); /* Product */
@@ -2872,15 +2883,15 @@ begin:
if (dev->drv->bus_type == CDROM_BUS_SCSI) {
dev->buffer[3] = 0x02;
if ((!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "86BOX_CD-ROM_1.00"))) {
if (!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "86BOX_CD-ROM_1.00")) {
dev->buffer[2] = 0x05;
} else if ((!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "TOSHIBA_CD-ROM_DRIVEXM_3433"))) {
} else if (!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "TOSHIBA_CD-ROM_DRIVEXM_3433")) {
dev->buffer[2] = 0x02;
} else if ((!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "TOSHIBA_CD-ROM_XM-3301TA_0272"))) {
} else if (!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "TOSHIBA_CD-ROM_XM-3301TA_0272")) {
dev->buffer[2] = 0x02;
} else if ((!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "TOSHIBA_CD-ROM_XM-5701TA_3136"))) {
} else if (!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "TOSHIBA_CD-ROM_XM-5701TA_3136")) {
dev->buffer[2] = 0x02;
} else if ((!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "CHINON_CD-ROM_CDS-431_H42"))) {
} else if (!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "CHINON_CD-ROM_CDS-431_H42")) {
dev->buffer[3] = 0x01;
dev->buffer[2] = 0x02;
} else if (!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "SONY_CD-ROM_CDU-541_1.0i")) {
@@ -2889,17 +2900,17 @@ begin:
} else if (!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "SONY_CD-ROM_CDU-76S_1.00")) {
dev->buffer[3] = 0x01;
dev->buffer[2] = 0x02;
} else if ((!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "MATSHITA_CD-ROM_CR-501_1.0b"))) {
} else if (!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "MATSHITA_CD-ROM_CR-501_1.0b")) {
dev->buffer[3] = 0x01;
dev->buffer[2] = 0x02;
} else if ((!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "NEC_CD-ROM_DRIVE74_1.00"))) {
} else if (!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "NEC_CD-ROM_DRIVE74_1.00")) {
dev->buffer[3] = 0x01;
dev->buffer[2] = 0x02;
} else if ((!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "DEC_RRD45_0436"))) {
} else if (!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "DEC_RRD45_0436")) {
dev->buffer[2] = 0x02;
} else if ((!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "NEC_CD-ROM_DRIVE464_1.05"))) {
} else if (!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "NEC_CD-ROM_DRIVE464_1.05")) {
dev->buffer[2] = 0x02;
} else if ((!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "PIONEER_CD-ROM_DRM-604X_2403"))) {
} else if (!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "PIONEER_CD-ROM_DRM-604X_2403")) {
dev->buffer[2] = 0x02;
}
} else {
@@ -2909,32 +2920,32 @@ begin:
dev->buffer[4] = 31;
if (dev->drv->bus_type == CDROM_BUS_SCSI) {
if ((!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "86BOX_CD-ROM_1.00"))) {
if (!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "86BOX_CD-ROM_1.00")) {
dev->buffer[6] = 0x01; /* 16-bit transfers supported */
dev->buffer[7] = 0x20; /* Wide bus supported */
} else if ((!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "PLEXTOR_CD-ROM_PX-32TS_1.03"))) {
} else if (!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "PLEXTOR_CD-ROM_PX-32TS_1.03")) {
dev->buffer[6] = 0x01; /* 16-bit transfers supported */
dev->buffer[7] = 0x20; /* Wide bus supported */
} else if ((!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "TEAC_CD-R55S_1.0R"))) {
} else if (!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "TEAC_CD-R55S_1.0R")) {
dev->buffer[6] = 0x01; /* 16-bit transfers supported */
dev->buffer[7] = 0x20; /* Wide bus supported */
} else if ((!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "DEC_RRD45_0436"))) {
} else if (!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "DEC_RRD45_0436")) {
dev->buffer[7] = 0x98; /* Linked Command and Relative Addressing supported */
} else if ((!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "TOSHIBA_CD-ROM_DRIVEXM_3433"))) {
} else if (!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "TOSHIBA_CD-ROM_DRIVEXM_3433")) {
dev->buffer[4] = 91; /* Always 91 on Toshiba SCSI-2 CD-ROM drives from 1990*/
dev->buffer[7] = 0x88; /* Linked Command and Relative Addressing supported */
} else if ((!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "TOSHIBA_CD-ROM_XM-3301TA_0272"))) {
} else if (!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "TOSHIBA_CD-ROM_XM-3301TA_0272")) {
dev->buffer[4] = 91; /* Always 91 on Toshiba SCSI-2 CD-ROM drives from 1990*/
dev->buffer[7] = 0x88; /* Linked Command and Relative Addressing supported */
} else if ((!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "TOSHIBA_CD-ROM_XM-5701TA_3136"))) {
} else if (!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "TOSHIBA_CD-ROM_XM-5701TA_3136")) {
dev->buffer[4] = 91; /* Always 91 on Toshiba SCSI-2 CD-ROM drives from 1990*/
dev->buffer[7] = 0x88; /* Linked Command and Relative Addressing supported */
} else if ((!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "PIONEER_CD-ROM_DRM-604X_2403"))) {
} else if (!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "PIONEER_CD-ROM_DRM-604X_2403")) {
dev->buffer[4] = 42;
}
}
if ((!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "86BOX_CD-ROM_1.00"))) {
if (!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "86BOX_CD-ROM_1.00")) {
ide_padstr8(dev->buffer + 8, 8, EMU_NAME); /* Vendor */
ide_padstr8(dev->buffer + 16, 16, device_identify); /* Product */
ide_padstr8(dev->buffer + 32, 4, EMU_VERSION_EX); /* Revision */
@@ -2942,7 +2953,7 @@ begin:
ide_padstr8(dev->buffer + 8, 8, cdrom_drive_types[dev->drv->type].vendor); /* Vendor */
ide_padstr8(dev->buffer + 16, 16, cdrom_drive_types[dev->drv->type].model); /* Product */
ide_padstr8(dev->buffer + 32, 4, cdrom_drive_types[dev->drv->type].revision); /* Revision */
if ((!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "PIONEER_CD-ROM_DRM-604X_2403"))) {
if (!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "PIONEER_CD-ROM_DRM-604X_2403")) {
dev->buffer[36] = 0x20;
ide_padstr8(dev->buffer + 37, 10, "1993/01/01"); /* Date */
}
@@ -2993,7 +3004,7 @@ atapi_out:
break;
case 0xC3:
if ((!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "MATSHITA_CD-ROM_CR-501_1.0b"))) { /*GPCMD_READ_TOC_MATSUSHITA*/
if (!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "MATSHITA_CD-ROM_CR-501_1.0b")) { /*GPCMD_READ_TOC_MATSUSHITA*/
cdb[0] = GPCMD_READ_TOC_PMA_ATIP;
dev->current_cdb[0] = cdb[0];
goto begin;
@@ -3028,7 +3039,7 @@ atapi_out:
break;
case 0xC2:
if ((!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "MATSHITA_CD-ROM_CR-501_1.0b"))) { /*GPCMD_READ_SUBCHANNEL_MATSUSHITA*/
if (!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "MATSHITA_CD-ROM_CR-501_1.0b")) { /*GPCMD_READ_SUBCHANNEL_MATSUSHITA*/
cdb[0] = GPCMD_READ_SUBCHANNEL;
dev->current_cdb[0] = cdb[0];
goto begin;
@@ -3133,7 +3144,7 @@ atapi_out:
break;
case 0xC5:
if ((!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "MATSHITA_CD-ROM_CR-501_1.0b"))) { /*GPCMD_PLAY_AUDIO_MATSUSHITA*/
if (!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "MATSHITA_CD-ROM_CR-501_1.0b")) { /*GPCMD_PLAY_AUDIO_MATSUSHITA*/
cdb[0] = GPCMD_PLAY_AUDIO_10;
dev->current_cdb[0] = cdb[0];
goto begin;
@@ -3147,7 +3158,7 @@ atapi_out:
break;
}
case 0xC8:
if ((!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "MATSHITA_CD-ROM_CR-501_1.0b"))) { /*GPCMD_PLAY_AUDIO_TRACK_INDEX_MATSUSHITA*/
if (!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "MATSHITA_CD-ROM_CR-501_1.0b")) { /*GPCMD_PLAY_AUDIO_TRACK_INDEX_MATSUSHITA*/
cdb[0] = GPCMD_PLAY_AUDIO_TRACK_INDEX;
dev->current_cdb[0] = cdb[0];
goto begin;
@@ -3161,7 +3172,7 @@ atapi_out:
break;
}
case 0xC9:
if ((!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "MATSHITA_CD-ROM_CR-501_1.0b"))) { /*GPCMD_PLAY_AUDIO_TRACK_RELATIVE_10_MATSUSHITA*/
if (!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "MATSHITA_CD-ROM_CR-501_1.0b")) { /*GPCMD_PLAY_AUDIO_TRACK_RELATIVE_10_MATSUSHITA*/
cdb[0] = GPCMD_PLAY_AUDIO_TRACK_RELATIVE_10;
dev->current_cdb[0] = cdb[0];
goto begin;
@@ -3179,21 +3190,21 @@ atapi_out:
break;
}
case 0xCA:
if ((!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "PIONEER_CD-ROM_DRM-604X_2403"))) { /*GPCMD_PAUSE_PIONEER*/
if (!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "PIONEER_CD-ROM_DRM-604X_2403")) { /*GPCMD_PAUSE_PIONEER*/
scsi_cdrom_set_phase(dev, SCSI_PHASE_STATUS);
cdrom_audio_pause_resume(dev->drv, !(cdb[1] & 0x10));
scsi_cdrom_command_complete(dev);
break;
}
case 0xCB:
if ((!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "MATSHITA_CD-ROM_CR-501_1.0b"))) { /*GPCMD_PAUSE_RESUME_MATSUSHITA*/
if (!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "MATSHITA_CD-ROM_CR-501_1.0b")) { /*GPCMD_PAUSE_RESUME_MATSUSHITA*/
cdb[0] = GPCMD_PAUSE_RESUME;
dev->current_cdb[0] = cdb[0];
goto begin;
break;
}
case 0xCC:
if ((!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "PIONEER_CD-ROM_DRM-604X_2403"))) {
if (!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "PIONEER_CD-ROM_DRM-604X_2403")) {
scsi_cdrom_set_phase(dev, SCSI_PHASE_DATA_IN);
max_len = cdb[7];
@@ -3221,7 +3232,7 @@ atapi_out:
break;
}
case 0xE0:
if ((!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "PIONEER_CD-ROM_DRM-604X_2403"))) { /*GPCMD_DRIVE_STATUS_PIONEER*/
if (!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "PIONEER_CD-ROM_DRM-604X_2403")) { /*GPCMD_DRIVE_STATUS_PIONEER*/
scsi_cdrom_set_phase(dev, SCSI_PHASE_DATA_IN);
len = (cdb[9] | (cdb[8] << 8));
@@ -3256,14 +3267,14 @@ atapi_out:
return;
}
case 0xE5:
if ((!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "MATSHITA_CD-ROM_CR-501_1.0b"))) { /*GPCMD_PLAY_AUDIO_12_MATSUSHITA*/
if (!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "MATSHITA_CD-ROM_CR-501_1.0b")) { /*GPCMD_PLAY_AUDIO_12_MATSUSHITA*/
cdb[0] = GPCMD_PLAY_AUDIO_12;
dev->current_cdb[0] = cdb[0];
goto begin;
break;
}
case 0xE9:
if ((!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "MATSHITA_CD-ROM_CR-501_1.0b"))) { /*GPCMD_PLAY_AUDIO_TRACK_RELATIVE_12_MATSUSHITA*/
if (!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "MATSHITA_CD-ROM_CR-501_1.0b")) { /*GPCMD_PLAY_AUDIO_TRACK_RELATIVE_12_MATSUSHITA*/
cdb[0] = GPCMD_PLAY_AUDIO_TRACK_RELATIVE_12;
dev->current_cdb[0] = cdb[0];
goto begin;
@@ -3294,12 +3305,18 @@ static uint8_t
scsi_cdrom_phase_data_out(scsi_common_t *sc)
{
scsi_cdrom_t *dev = (scsi_cdrom_t *) sc;
uint16_t block_desc_len, pos;
uint16_t block_desc_len;
uint16_t pos;
uint16_t param_list_len;
uint16_t i = 0;
uint8_t error = 0;
uint8_t page, page_len, hdr_len, val, old_val, ch;
uint8_t page;
uint8_t page_len;
uint8_t hdr_len;
uint8_t val;
uint8_t old_val;
uint8_t ch;
switch (dev->current_cdb[0]) {
case GPCMD_MODE_SELECT_6:
@@ -3496,68 +3513,68 @@ scsi_cdrom_identify(ide_t *ide, int ide_has_dma)
ide->buffer[0] = 0x8000 | (5 << 8) | 0x80 | (2 << 5); /* ATAPI device, CD-ROM drive, removable media, accelerated DRQ */
ide_padstr((char *) (ide->buffer + 10), "", 20); /* Serial Number */
if ((!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "86BOX_CD-ROM_1.00"))) {
if (!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "86BOX_CD-ROM_1.00")) {
ide_padstr((char *) (ide->buffer + 23), EMU_VERSION_EX, 8); /* Firmware */
ide_padstr((char *) (ide->buffer + 27), device_identify, 40); /* Model */
} else {
if ((!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "NEC_CD-ROM_DRIVE260_1.01"))) {
if (!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "NEC_CD-ROM_DRIVE260_1.01")) {
ide_padstr((char *) (ide->buffer + 23), ".110 ", 8); /* Firmware */
ide_padstr((char *) (ide->buffer + 27), "EN C DCR-MOD IREV2:06 ", 40); /* Model */
} else if ((!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "NEC_CD-ROM_DRIVE260_1.00"))) {
} else if (!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "NEC_CD-ROM_DRIVE260_1.00")) {
ide_padstr((char *) (ide->buffer + 23), ".100 ", 8); /* Firmware */
ide_padstr((char *) (ide->buffer + 27), "EN C DCR-MOD IREV2:06 ", 40); /* Model */
} else if ((!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "AZT_CDA46802I_1.15"))) {
} else if (!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "AZT_CDA46802I_1.15")) {
ide_padstr((char *) (ide->buffer + 23), "1.15 ", 8); /* Firmware */
ide_padstr((char *) (ide->buffer + 27), "AZT CDA46802I ", 40); /* Model */
} else if ((!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "HITACHI_CDR-8130_0020"))) {
} else if (!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "HITACHI_CDR-8130_0020")) {
ide_padstr((char *) (ide->buffer + 23), "0020 ", 8); /* Firmware */
ide_padstr((char *) (ide->buffer + 27), "HITACHI CDR-8130 ", 40); /* Model */
} else if ((!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "SONY_CD-ROM_CDU76_1.0i"))) {
} else if (!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "SONY_CD-ROM_CDU76_1.0i")) {
ide_padstr((char *) (ide->buffer + 23), "1.0i ", 8); /* Firmware */
ide_padstr((char *) (ide->buffer + 27), "SONY CD-ROM CDU76 ", 40); /* Model */
} else if ((!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "SONY_CD-ROM_CDU311_3.0h"))) {
} else if (!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "SONY_CD-ROM_CDU311_3.0h")) {
ide_padstr((char *) (ide->buffer + 23), "3.0h ", 8); /* Firmware */
ide_padstr((char *) (ide->buffer + 27), "SONY CD-ROM CDU311 ", 40); /* Model */
} else if ((!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "NEC_CD-ROM_DRIVE280_1.05"))) {
} else if (!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "NEC_CD-ROM_DRIVE280_1.05")) {
ide_padstr((char *) (ide->buffer + 23), "1.05 ", 8); /* Firmware */
ide_padstr((char *) (ide->buffer + 27), "NEC CD-ROM DRIVE:280 ", 40); /* Model */
} else if ((!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "NEC_CD-ROM_DRIVE280_3.08"))) {
} else if (!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "NEC_CD-ROM_DRIVE280_3.08")) {
ide_padstr((char *) (ide->buffer + 23), "3.08 ", 8); /* Firmware */
ide_padstr((char *) (ide->buffer + 27), "NEC CD-ROM DRIVE:280 ", 40); /* Model */
} else if ((!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "NEC_CD-ROM_DRIVE273_4.20"))) {
} else if (!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "NEC_CD-ROM_DRIVE273_4.20")) {
ide_padstr((char *) (ide->buffer + 23), "4.20 ", 8); /* Firmware */
ide_padstr((char *) (ide->buffer + 27), "NEC CD-ROM DRIVE:273 ", 40); /* Model */
} else if ((!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "TOSHIBA_CD-ROM_XM-5302TA_0305"))) {
} else if (!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "TOSHIBA_CD-ROM_XM-5302TA_0305")) {
ide_padstr((char *) (ide->buffer + 23), "0305 ", 8); /* Firmware */
ide_padstr((char *) (ide->buffer + 27), "TOSHIBA CD-ROM XM-5302TA ", 40); /* Model */
} else if ((!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "TOSHIBA_CD-ROM_XM-5702B_TA70"))) {
} else if (!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "TOSHIBA_CD-ROM_XM-5702B_TA70")) {
ide_padstr((char *) (ide->buffer + 23), "TA70 ", 8); /* Firmware */
ide_padstr((char *) (ide->buffer + 27), "TOSHIBA CD-ROM XM-5702B ", 40); /* Model */
} else if ((!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "GOLDSTAR_CRD-8160B_3.14"))) {
} else if (!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "GOLDSTAR_CRD-8160B_3.14")) {
ide_padstr((char *) (ide->buffer + 23), "3.14 ", 8); /* Firmware */
ide_padstr((char *) (ide->buffer + 27), "GOLDSTAR CRD-8160B ", 40); /* Model */
} else if ((!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "MATSHITA_CR-571_1.0e"))) {
} else if (!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "MATSHITA_CR-571_1.0e")) {
ide_padstr((char *) (ide->buffer + 23), "1.0e ", 8); /* Firmware */
ide_padstr((char *) (ide->buffer + 27), "MATSHITA CR-571 ", 40); /* Model */
} else if ((!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "MATSHITA_CR-572_1.0j"))) {
} else if (!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "MATSHITA_CR-572_1.0j")) {
ide_padstr((char *) (ide->buffer + 23), "1.0j ", 8); /* Firmware */
ide_padstr((char *) (ide->buffer + 27), "MATSHITA CR-572 ", 40); /* Model */
} else if ((!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "MATSHITA_CD-ROM_CR-587_7S13"))) {
} else if (!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "MATSHITA_CD-ROM_CR-587_7S13")) {
ide_padstr((char *) (ide->buffer + 23), "7S13 ", 8); /* Firmware */
ide_padstr((char *) (ide->buffer + 27), "MATSHITA CD-ROM CR-587 ", 40); /* Model */
} else if ((!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "MATSHITA_CD-ROM_CR-588_LS15"))) {
} else if (!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "MATSHITA_CD-ROM_CR-588_LS15")) {
ide_padstr((char *) (ide->buffer + 23), "LS15 ", 8); /* Firmware */
ide_padstr((char *) (ide->buffer + 27), "MATSHITA CD-ROM CR-588 ", 40); /* Model */
} else if ((!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "MITSUMI_CRMC-FX4820T_D02A"))) {
} else if (!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "MITSUMI_CRMC-FX4820T_D02A")) {
ide_padstr((char *) (ide->buffer + 23), "D02A ", 8); /* Firmware */
ide_padstr((char *) (ide->buffer + 27), "MITSUMI CRMC-FX4820T ", 40); /* Model */
} else if ((!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "PHILIPS_CD-ROM_PCA403CD_U31P"))) {
} else if (!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "PHILIPS_CD-ROM_PCA403CD_U31P")) {
ide_padstr((char *) (ide->buffer + 23), "U31P ", 8); /* Firmware */
ide_padstr((char *) (ide->buffer + 27), "PHILIPS CD-ROM PCA403CD ", 40); /* Model */
} else if ((!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "BTC_CD-ROM_BCD36XH_U1.0"))) {
} else if (!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "BTC_CD-ROM_BCD36XH_U1.0")) {
ide_padstr((char *) (ide->buffer + 23), "U1.0 ", 8); /* Firmware */
ide_padstr((char *) (ide->buffer + 27), "BTC CD-ROM BCD36XH ", 40); /* Model */
} else if ((!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "KENWOOD_CD-ROM_UCR-421_208E"))) {
} else if (!strcmp(cdrom_drive_types[dev->drv->type].internal_name, "KENWOOD_CD-ROM_UCR-421_208E")) {
ide_padstr((char *) (ide->buffer + 23), "208E ", 8); /* Firmware */
ide_padstr((char *) (ide->buffer + 27), "KENWOOD CD-ROM UCR-421 ", 40); /* Model */
}

View File

@@ -162,11 +162,10 @@ scsi_device_identify(scsi_device_t *dev, uint8_t lun)
void
scsi_device_close_all(void)
{
int i, j;
scsi_device_t *dev;
for (i = 0; i < SCSI_BUS_MAX; i++) {
for (j = 0; j < SCSI_ID_MAX; j++) {
for (uint8_t i = 0; i < SCSI_BUS_MAX; i++) {
for (uint8_t j = 0; j < SCSI_ID_MAX; j++) {
dev = &(scsi_devices[i][j]);
if (dev->command_stop && dev->sc)
dev->command_stop(dev->sc);
@@ -177,11 +176,10 @@ scsi_device_close_all(void)
void
scsi_device_init(void)
{
int i, j;
scsi_device_t *dev;
for (i = 0; i < SCSI_BUS_MAX; i++) {
for (j = 0; j < SCSI_ID_MAX; j++) {
for (uint8_t i = 0; i < SCSI_BUS_MAX; i++) {
for (uint8_t j = 0; j < SCSI_ID_MAX; j++) {
dev = &(scsi_devices[i][j]);
memset(dev, 0, sizeof(scsi_device_t));

View File

@@ -237,10 +237,9 @@ scsi_disk_mode_sense_read(scsi_disk_t *dev, uint8_t page_control, uint8_t page,
uint32_t
scsi_disk_mode_sense(scsi_disk_t *dev, uint8_t *buf, uint32_t pos, uint8_t page, uint8_t block_descriptor_len)
{
uint8_t msplen, page_control = (page >> 6) & 3;
int i = 0, j = 0;
int size = 0;
uint8_t msplen;
uint8_t page_control = (page >> 6) & 3;
int size = 0;
page &= 0x3f;
@@ -257,14 +256,14 @@ scsi_disk_mode_sense(scsi_disk_t *dev, uint8_t *buf, uint32_t pos, uint8_t page,
buf[pos++] = 0;
}
for (i = 0; i < 0x40; i++) {
for (uint8_t i = 0; i < 0x40; i++) {
if ((page == GPMODE_ALL_PAGES) || (page == i)) {
if (scsi_disk_mode_sense_page_flags & (1LL << (uint64_t) page)) {
buf[pos++] = scsi_disk_mode_sense_read(dev, page_control, i, 0);
msplen = scsi_disk_mode_sense_read(dev, page_control, i, 1);
buf[pos++] = msplen;
scsi_disk_log("SCSI HDD %i: MODE SENSE: Page [%02X] length %i\n", dev->id, i, msplen);
for (j = 0; j < msplen; j++)
for (uint8_t j = 0; j < msplen; j++)
buf[pos++] = scsi_disk_mode_sense_read(dev, page_control, i, 2 + j);
}
}
@@ -535,10 +534,13 @@ scsi_disk_command(scsi_common_t *sc, uint8_t *cdb)
{
scsi_disk_t *dev = (scsi_disk_t *) sc;
int32_t *BufLen;
int32_t len, max_len, alloc_length;
int32_t len;
int32_t max_len;
int32_t alloc_length;
int pos = 0;
int idx = 0;
unsigned size_idx, preamble_len;
unsigned size_idx;
unsigned preamble_len;
uint32_t last_sector = 0;
char device_identify[9] = { '8', '6', 'B', '_', 'H', 'D', '0', '0', 0 };
char device_identify_ex[15] = { '8', '6', 'B', '_', 'H', 'D', '0', '0', ' ', 'v', '1', '.', '0', '0', 0 };
@@ -1050,11 +1052,20 @@ scsi_disk_phase_data_out(scsi_common_t *sc)
int i;
int32_t *BufLen = &scsi_devices[scsi_bus][scsi_id].buffer_length;
uint32_t last_sector = hdd_image_get_last_sector(dev->id);
uint32_t c, h, s, last_to_write = 0;
uint16_t block_desc_len, pos;
uint32_t c;
uint32_t h;
uint32_t s;
uint32_t last_to_write = 0;
uint16_t block_desc_len;
uint16_t pos;
uint16_t param_list_len;
uint8_t hdr_len, val, old_val, ch, error = 0;
uint8_t page, page_len;
uint8_t hdr_len;
uint8_t val;
uint8_t old_val;
uint8_t ch;
uint8_t error = 0;
uint8_t page;
uint8_t page_len;
if (!*BufLen) {
scsi_disk_set_phase(dev, SCSI_PHASE_STATUS);
@@ -1185,12 +1196,12 @@ scsi_disk_phase_data_out(scsi_common_t *sc)
void
scsi_disk_hard_reset(void)
{
int c;
scsi_disk_t *dev;
scsi_device_t *sd;
uint8_t scsi_bus, scsi_id;
uint8_t scsi_bus;
uint8_t scsi_id;
for (c = 0; c < HDD_NUM; c++) {
for (uint8_t c = 0; c < HDD_NUM; c++) {
if (hdd[c].bus == HDD_BUS_SCSI) {
scsi_disk_log("SCSI disk hard_reset drive=%d\n", c);
@@ -1247,10 +1258,10 @@ void
scsi_disk_close(void)
{
scsi_disk_t *dev;
int c;
uint8_t scsi_bus, scsi_id;
uint8_t scsi_bus;
uint8_t scsi_id;
for (c = 0; c < HDD_NUM; c++) {
for (uint8_t c = 0; c < HDD_NUM; c++) {
if (hdd[c].bus == HDD_BUS_SCSI) {
scsi_bus = (hdd[c].scsi_id >> 4) & 0x0f;
scsi_id = hdd[c].scsi_id & 0x0f;

View File

@@ -217,14 +217,12 @@ ncr_irq(ncr5380_t *ncr_dev, ncr_t *ncr, int set_irq)
static int
get_dev_id(uint8_t data)
{
int c;
for (c = 0; c < SCSI_ID_MAX; c++) {
for (uint8_t c = 0; c < SCSI_ID_MAX; c++) {
if (data & (1 << c))
return (c);
return c;
}
return (-1);
return -1;
}
static int
@@ -718,7 +716,8 @@ ncr_read(uint16_t port, void *priv)
ncr5380_t *ncr_dev = (ncr5380_t *) priv;
ncr_t *ncr = &ncr_dev->ncr;
uint8_t ret = 0xff;
int bus, bus_state;
int bus;
int bus_state;
switch (port & 7) {
case 0: /* Current SCSI data */
@@ -909,7 +908,7 @@ memio_read(uint32_t addr, void *priv)
ncr_log("memio_read(%08x)=%02x\n", addr, ret);
#endif
return (ret);
return ret;
}
/* Memory-mapped I/O WRITE handler. */
@@ -1082,7 +1081,7 @@ t130b_out(uint16_t port, uint8_t val, void *priv)
static void
ncr_dma_send(ncr5380_t *ncr_dev, ncr_t *ncr, scsi_device_t *dev)
{
int bus, c = 0;
int bus;
uint8_t data;
if (scsi_device_get_callback(dev) > 0.0)
@@ -1090,7 +1089,7 @@ ncr_dma_send(ncr5380_t *ncr_dev, ncr_t *ncr, scsi_device_t *dev)
else
ncr_timer_on(ncr_dev, ncr, 0);
for (c = 0; c < 10; c++) {
for (uint8_t c = 0; c < 10; c++) {
ncr_bus_read(ncr_dev);
if (ncr->cur_bus & BUS_REQ)
break;
@@ -1161,7 +1160,7 @@ ncr_dma_send(ncr5380_t *ncr_dev, ncr_t *ncr, scsi_device_t *dev)
static void
ncr_dma_initiator_receive(ncr5380_t *ncr_dev, ncr_t *ncr, scsi_device_t *dev)
{
int bus, c = 0;
int bus;
uint8_t temp;
if (scsi_device_get_callback(dev) > 0.0) {
@@ -1170,7 +1169,7 @@ ncr_dma_initiator_receive(ncr5380_t *ncr_dev, ncr_t *ncr, scsi_device_t *dev)
ncr_timer_on(ncr_dev, ncr, 0);
}
for (c = 0; c < 10; c++) {
for (uint8_t c = 0; c < 10; c++) {
ncr_bus_read(ncr_dev);
if (ncr->cur_bus & BUS_REQ)
break;
@@ -1376,7 +1375,7 @@ t128_read(uint32_t addr, void *priv)
}
}
return (ret);
return ret;
}
static void
@@ -1600,7 +1599,7 @@ ncr_init(const device_t *info)
}
timer_add(&ncr_dev->timer, ncr_callback, ncr_dev, 0);
return (ncr_dev);
return ncr_dev;
}
static void

View File

@@ -451,13 +451,11 @@ ncr53c8xx_soft_reset(ncr53c8xx_t *dev)
static void
ncr53c8xx_read(ncr53c8xx_t *dev, uint32_t addr, uint8_t *buf, uint32_t len)
{
uint32_t i = 0;
ncr53c8xx_log("ncr53c8xx_read(): %08X-%08X, length %i\n", addr, (addr + len - 1), len);
if (dev->dmode & NCR_DMODE_SIOM) {
ncr53c8xx_log("NCR 810: Reading from I/O address %04X\n", (uint16_t) addr);
for (i = 0; i < len; i++)
for (uint32_t i = 0; i < len; i++)
buf[i] = inb((uint16_t) (addr + i));
} else {
ncr53c8xx_log("NCR 810: Reading from memory address %08X\n", addr);
@@ -468,13 +466,11 @@ ncr53c8xx_read(ncr53c8xx_t *dev, uint32_t addr, uint8_t *buf, uint32_t len)
static void
ncr53c8xx_write(ncr53c8xx_t *dev, uint32_t addr, uint8_t *buf, uint32_t len)
{
uint32_t i = 0;
ncr53c8xx_log("ncr53c8xx_write(): %08X-%08X, length %i\n", addr, (addr + len - 1), len);
if (dev->dmode & NCR_DMODE_DIOM) {
ncr53c8xx_log("NCR 810: Writing to I/O address %04X\n", (uint16_t) addr);
for (i = 0; i < len; i++)
for (uint32_t i = 0; i < len; i++)
outb((uint16_t) (addr + i), buf[i]);
} else {
ncr53c8xx_log("NCR 810: Writing to memory address %08X\n", addr);
@@ -637,12 +633,13 @@ ncr53c8xx_command_complete(void *priv, uint32_t status)
static void
ncr53c8xx_do_dma(ncr53c8xx_t *dev, int out, uint8_t id)
{
uint32_t addr, tdbc;
uint32_t addr;
uint32_t tdbc;
int count;
scsi_device_t *sd = &scsi_devices[dev->bus][id];
if ((!scsi_device_present(sd))) {
if (!scsi_device_present(sd)) {
ncr53c8xx_log("(ID=%02i LUN=%02i) SCSI Command 0x%02x: Device not present when attempting to do DMA\n", id, dev->current_lun, dev->last_command);
return;
}
@@ -878,7 +875,8 @@ static void
ncr53c8xx_do_msgout(ncr53c8xx_t *dev, uint8_t id)
{
uint8_t msg;
int len, arg;
int len;
int arg;
scsi_device_t *sd;
sd = &scsi_devices[dev->bus][id];
@@ -1000,10 +998,26 @@ ncr53c8xx_memcpy(ncr53c8xx_t *dev, uint32_t dest, uint32_t src, int count)
static void
ncr53c8xx_process_script(ncr53c8xx_t *dev)
{
uint32_t insn, addr, id, buf[2], dest;
int opcode, insn_processed = 0, reg, operator, cond, jmp, n, i, c;
int32_t offset;
uint8_t op0, op1, data8, mask, data[7];
uint32_t insn;
uint32_t addr;
uint32_t id;
uint32_t buf[2];
uint32_t dest;
int opcode;
int insn_processed = 0;
int reg;
int operator;
int cond;
int jmp;
int n;
int i;
int c;
int32_t offset;
uint8_t op0;
uint8_t op1;
uint8_t data8;
uint8_t mask;
uint8_t data[7];
dev->sstop = 0;
again:
@@ -2329,7 +2343,7 @@ ncr53c8xx_pci_read(int func, int addr, void *p)
return 0x40;
}
return (0);
return 0;
}
static void
@@ -2570,7 +2584,7 @@ ncr53c8xx_init(const device_t *info)
timer_add(&dev->timer, ncr53c8xx_callback, dev, 0);
return (dev);
return dev;
}
static void

View File

@@ -360,7 +360,8 @@ static uint32_t
esp_get_cmd(esp_t *dev, uint32_t maxlen)
{
uint8_t buf[ESP_CMDFIFO_SZ];
uint32_t dmalen, n;
uint32_t dmalen;
uint32_t n;
dev->id = dev->wregs[ESP_WBUSID] & BUSID_DID;
if (dev->dma) {
@@ -1313,7 +1314,8 @@ esp_io_pci_read(esp_t *dev, uint32_t addr, unsigned int size)
static void
esp_io_pci_write(esp_t *dev, uint32_t addr, uint32_t val, unsigned int size)
{
uint32_t current, mask;
uint32_t current;
uint32_t mask;
int shift;
addr &= 0x7f;
@@ -1691,7 +1693,7 @@ esp_pci_read(int func, int addr, void *p)
return esp_pci_regs[addr];
}
return (0);
return 0;
}
static void
@@ -1844,7 +1846,7 @@ dc390_init(const device_t *info)
timer_add(&dev->timer, esp_callback, dev, 0);
return (dev);
return dev;
}
static uint16_t
@@ -2011,7 +2013,7 @@ ncr53c90_mca_init(const device_t *info)
timer_add(&dev->timer, esp_callback, dev, 0);
return (dev);
return dev;
}
static void

View File

@@ -228,10 +228,9 @@ static void
spock_rethink_irqs(spock_t *scsi)
{
int irq_pending = 0;
int c;
if (!scsi->irq_status) {
for (c = 0; c < SCSI_ID_MAX; c++) {
for (uint8_t c = 0; c < SCSI_ID_MAX; c++) {
if (scsi->irq_requests[c] != IRQ_TYPE_NONE) {
/* Found IRQ */
scsi->irq_status = c | (scsi->irq_requests[c] << 4);
@@ -414,21 +413,21 @@ spock_rd_sge(spock_t *scsi, uint32_t Address, SGE *SG)
static int
spock_get_len(spock_t *scsi, scb_t *scb)
{
uint32_t DataToTransfer = 0, i = 0;
uint32_t DataToTransfer = 0;
spock_log("Data Buffer write: length %d, pointer 0x%04X\n",
scsi->data_len, scsi->data_ptr);
if (!scsi->data_len)
return (0);
return 0;
if (scb->enable & ENABLE_PT) {
for (i = 0; i < scsi->data_len; i += 8) {
for (uint32_t i = 0; i < scsi->data_len; i += 8) {
spock_rd_sge(scsi, scsi->data_ptr + i, &scb->sge);
DataToTransfer += scb->sge.sys_buf_byte_count;
}
return (DataToTransfer);
return DataToTransfer;
} else {
return (scsi->data_len);
}
@@ -437,8 +436,11 @@ spock_get_len(spock_t *scsi, scb_t *scb)
static void
spock_process_imm_cmd(spock_t *scsi)
{
int i, j = 0;
int adapter_id, phys_id, lun_id;
int i;
int j = 0;
int adapter_id;
int phys_id;
int lun_id;
scsi->assign = 0;
@@ -516,7 +518,8 @@ spock_process_imm_cmd(spock_t *scsi)
static void
spock_execute_cmd(spock_t *scsi, scb_t *scb)
{
int c, j = 0;
int c;
int j = 0;
int old_scb_state;
if (scsi->in_reset) {
@@ -847,7 +850,6 @@ spock_execute_cmd(spock_t *scsi, scb_t *scb)
static void
spock_process_scsi(spock_t *scsi, scb_t *scb)
{
int c;
double p;
scsi_device_t *sd;
@@ -910,7 +912,7 @@ spock_process_scsi(spock_t *scsi, scb_t *scb)
uint32_t Address;
if (scb->sge.sys_buf_byte_count > 0) {
for (c = 0; c < scsi->data_len; c += 8) {
for (uint32_t c = 0; c < scsi->data_len; c += 8) {
spock_rd_sge(scsi, scsi->data_ptr + c, &scb->sge);
Address = scb->sge.sys_buf_addr;
@@ -1077,7 +1079,6 @@ static void
spock_mca_reset(void *priv)
{
spock_t *scsi = (spock_t *) priv;
int i;
scsi->in_reset = 2;
scsi->cmd_timer = SPOCK_TIME * 50;
@@ -1089,7 +1090,7 @@ spock_mca_reset(void *priv)
scsi->basic_ctrl = 0;
/* Reset all devices on controller reset. */
for (i = 0; i < 8; i++) {
for (uint8_t i = 0; i < 8; i++) {
scsi_device_reset(&scsi_devices[scsi->bus][i]);
scsi->present[i] = 0;
}
@@ -1098,7 +1099,6 @@ spock_mca_reset(void *priv)
static void *
spock_init(const device_t *info)
{
int c;
spock_t *scsi = malloc(sizeof(spock_t));
memset(scsi, 0x00, sizeof(spock_t));
@@ -1128,7 +1128,7 @@ spock_init(const device_t *info)
scsi->cmd_timer = SPOCK_TIME * 50;
scsi->status = STATUS_BUSY;
for (c = 0; c < (SCSI_ID_MAX - 1); c++) {
for (uint8_t c = 0; c < (SCSI_ID_MAX - 1); c++) {
scsi->dev_id[c].phys_id = -1;
}

View File

@@ -238,9 +238,9 @@ completion_code(uint8_t *sense)
case ASC_MEDIUM_NOT_PRESENT:
ret = 0xaa;
break;
};
}
return (ret);
return ret;
}
static uint8_t
@@ -256,7 +256,7 @@ x54x_bios_scsi_command(scsi_device_t *dev, uint8_t *cdb, uint8_t *buf, int len,
if (len > 0) {
if (dev->buffer_length == -1) {
fatal("Buffer length -1 when doing SCSI DMA\n");
return (0xff);
return 0xff;
}
if (dev->phase == SCSI_PHASE_DATA_IN) {
@@ -292,7 +292,7 @@ x54x_bios_read_capacity(scsi_device_t *sd, uint8_t *buf, int transfer_size)
free(cdb);
return (ret);
return ret;
}
static uint8_t
@@ -311,7 +311,7 @@ x54x_bios_inquiry(scsi_device_t *sd, uint8_t *buf, int transfer_size)
free(cdb);
return (ret);
return ret;
}
static uint8_t
@@ -327,7 +327,7 @@ x54x_bios_command_08(scsi_device_t *sd, uint8_t *buffer, int transfer_size)
ret = x54x_bios_read_capacity(sd, rcbuf, transfer_size);
if (ret) {
free(rcbuf);
return (ret);
return ret;
}
memset(buffer, 0x00, 6);
@@ -340,15 +340,15 @@ x54x_bios_command_08(scsi_device_t *sd, uint8_t *buffer, int transfer_size)
free(rcbuf);
return (0);
return 0;
}
static int
x54x_bios_command_15(scsi_device_t *sd, uint8_t *buffer, int transfer_size)
{
uint8_t *inqbuf, *rcbuf;
uint8_t *inqbuf;
uint8_t *rcbuf;
uint8_t ret;
int i;
memset(buffer, 0x00, 6);
@@ -356,7 +356,7 @@ x54x_bios_command_15(scsi_device_t *sd, uint8_t *buffer, int transfer_size)
ret = x54x_bios_inquiry(sd, inqbuf, transfer_size);
if (ret) {
free(inqbuf);
return (ret);
return ret;
}
buffer[4] = inqbuf[0];
@@ -367,10 +367,10 @@ x54x_bios_command_15(scsi_device_t *sd, uint8_t *buffer, int transfer_size)
if (ret) {
free(rcbuf);
free(inqbuf);
return (ret);
return ret;
}
for (i = 0; i < 4; i++)
for (uint8_t i = 0; i < 4; i++)
buffer[i] = rcbuf[i];
x54x_log("BIOS Command 0x15: %02X %02X %02X %02X %02X %02X\n",
@@ -379,7 +379,7 @@ x54x_bios_command_15(scsi_device_t *sd, uint8_t *buffer, int transfer_size)
free(rcbuf);
free(inqbuf);
return (0);
return 0;
}
/* This returns the completion code. */
@@ -428,7 +428,7 @@ x54x_bios_command(x54x_t *x54x, uint8_t max_id, BIOSCMD *cmd, int8_t islba)
if ((dev->type == SCSI_REMOVABLE_CDROM) && !(x54x->flags & X54X_CDROM_BOOT)) {
x54x_log("BIOS Target ID %i is CD-ROM on unsupported BIOS\n", cmd->id);
return (0x80);
return 0x80;
} else {
dma_address = ADDR_TO_U32(cmd->dma_address);
@@ -458,7 +458,7 @@ x54x_bios_command(x54x_t *x54x, uint8_t max_id, BIOSCMD *cmd, int8_t islba)
dma_bm_write(dma_address, scsi_device_sense(dev), 14, x54x->transfer_size);
}
return (0);
return 0;
break;
case 0x02: /* Read Desired Sectors to Memory */
@@ -533,7 +533,7 @@ x54x_bios_command(x54x_t *x54x, uint8_t max_id, BIOSCMD *cmd, int8_t islba)
}
x54x_log("BIOS Request %02X complete: %02X\n", cmd->command, ret);
return (ret);
return ret;
}
static void
@@ -692,10 +692,11 @@ x54x_rd_sge(x54x_t *dev, int Is24bit, uint32_t Address, SGE32 *SG)
static int
x54x_get_length(x54x_t *dev, Req_t *req, int Is24bit)
{
uint32_t DataPointer, DataLength;
uint32_t DataPointer;
uint32_t DataLength;
uint32_t SGEntryLength = (Is24bit ? sizeof(SGE) : sizeof(SGE32));
SGE32 SGBuffer;
uint32_t DataToTransfer = 0, i = 0;
uint32_t DataToTransfer = 0;
if (Is24bit) {
DataPointer = ADDR_TO_U32(req->CmdBlock.old.DataPointer);
@@ -709,23 +710,23 @@ x54x_get_length(x54x_t *dev, Req_t *req, int Is24bit)
DataLength, DataPointer);
if (!DataLength)
return (0);
return 0;
if (req->CmdBlock.common.ControlByte != 0x03) {
if (req->CmdBlock.common.Opcode == SCATTER_GATHER_COMMAND || req->CmdBlock.common.Opcode == SCATTER_GATHER_COMMAND_RES) {
for (i = 0; i < DataLength; i += SGEntryLength) {
for (uint32_t i = 0; i < DataLength; i += SGEntryLength) {
x54x_rd_sge(dev, Is24bit, DataPointer + i, &SGBuffer);
DataToTransfer += SGBuffer.Segment;
}
return (DataToTransfer);
return DataToTransfer;
} else if (req->CmdBlock.common.Opcode == SCSI_INITIATOR_COMMAND || req->CmdBlock.common.Opcode == SCSI_INITIATOR_COMMAND_RES) {
return (DataLength);
return DataLength;
} else {
return (0);
return 0;
}
} else {
return (0);
return 0;
}
}
@@ -763,9 +764,10 @@ x54x_set_residue(x54x_t *dev, Req_t *req, int32_t TransferLength)
static void
x54x_buf_dma_transfer(x54x_t *dev, Req_t *req, int Is24bit, int TransferLength, int dir)
{
uint32_t DataPointer, DataLength;
uint32_t DataPointer;
uint32_t DataLength;
uint32_t SGEntryLength = (Is24bit ? sizeof(SGE) : sizeof(SGE32));
uint32_t Address, i;
uint32_t Address;
int32_t BufLen = scsi_devices[dev->bus][req->TargetID].buffer_length;
uint8_t read_from_host = (dir && ((req->CmdBlock.common.ControlByte == CCB_DATA_XFER_OUT) || (req->CmdBlock.common.ControlByte == 0x00)));
uint8_t write_to_host = (!dir && ((req->CmdBlock.common.ControlByte == CCB_DATA_XFER_IN) || (req->CmdBlock.common.ControlByte == 0x00)));
@@ -789,7 +791,7 @@ x54x_buf_dma_transfer(x54x_t *dev, Req_t *req, int Is24bit, int TransferLength,
/* If the control byte is 0x00, it means that the transfer direction is set up by the SCSI command without
checking its length, so do this procedure for both no read/write commands. */
if ((DataLength > 0) && (req->CmdBlock.common.ControlByte < 0x03)) {
for (i = 0; i < DataLength; i += SGEntryLength) {
for (uint32_t i = 0; i < DataLength; i += SGEntryLength) {
x54x_rd_sge(dev, Is24bit, DataPointer + i, &SGBuffer);
Address = SGBuffer.SegmentPointer;
@@ -838,7 +840,7 @@ ConvertSenseLength(uint8_t RequestSenseLength)
x54x_log("Request Sense length %i\n", RequestSenseLength);
return (RequestSenseLength);
return RequestSenseLength;
}
uint32_t
@@ -852,7 +854,7 @@ SenseBufferPointer(Req_t *req)
SenseBufferAddress = req->CmdBlock.new.SensePointer;
}
return (SenseBufferAddress);
return SenseBufferAddress;
}
static void
@@ -888,7 +890,7 @@ x54x_scsi_cmd(x54x_t *dev)
{
Req_t *req = &dev->Req;
uint8_t bit24 = !!req->Is24bit;
uint32_t i, target_cdb_len = 12;
uint32_t target_cdb_len = 12;
scsi_device_t *sd;
sd = &scsi_devices[dev->bus][req->TargetID];
@@ -904,7 +906,7 @@ x54x_scsi_cmd(x54x_t *dev)
x54x_log("SCSI command being executed on ID %i, LUN %i\n", req->TargetID, req->LUN);
x54x_log("SCSI CDB[0]=0x%02X\n", req->CmdBlock.common.Cdb[0]);
for (i = 1; i < req->CmdBlock.common.CdbLength; i++)
for (uint8_t i = 1; i < req->CmdBlock.common.CdbLength; i++)
x54x_log("SCSI CDB[%i]=%i\n", i, req->CmdBlock.common.Cdb[i]);
memset(dev->temp_cdb, 0x00, target_cdb_len);
@@ -1036,7 +1038,8 @@ static void
x54x_req_setup(x54x_t *dev, uint32_t CCBPointer, Mailbox32_t *Mailbox32)
{
Req_t *req = &dev->Req;
uint8_t id, lun;
uint8_t id;
uint8_t lun;
scsi_device_t *sd;
/* Fetch data from the Command Control Block. */
@@ -1141,7 +1144,7 @@ x54x_mbo(x54x_t *dev, Mailbox32_t *Mailbox32)
x54x_add_to_period(dev, sizeof(Mailbox32_t));
}
return (Outgoing);
return Outgoing;
}
uint8_t
@@ -1169,10 +1172,10 @@ x54x_mbo_process(x54x_t *dev)
else
dev->MailboxReq--;
return (1);
return 1;
}
return (0);
return 0;
}
static void
@@ -1218,7 +1221,8 @@ x54x_cmd_callback(void *priv)
double period;
x54x_t *dev = (x54x_t *) priv;
int mailboxes_present, bios_mailboxes_present;
int mailboxes_present;
int bios_mailboxes_present;
mailboxes_present = (!(dev->Status & STAT_INIT) && dev->MailboxInit && dev->MailboxReq);
bios_mailboxes_present = (dev->ven_callback && dev->BIOSMailboxInit && dev->BIOSMailboxReq);
@@ -1354,7 +1358,7 @@ x54x_in(uint16_t port, void *priv)
x54x_log("x54x_in(): %04X, %02X\n", port, ret);
#endif
return (ret);
return ret;
}
static uint16_t
@@ -1398,8 +1402,6 @@ x54x_reset_poll(void *priv)
static void
x54x_reset(x54x_t *dev)
{
int i;
clear_irq(dev);
if (dev->flags & X54X_INT_GEOM_WRITABLE)
dev->Geometry = 0x90;
@@ -1421,7 +1423,7 @@ x54x_reset(x54x_t *dev)
dev->MailboxOutPosCur = 0;
/* Reset all devices on controller reset. */
for (i = 0; i < 16; i++)
for (uint8_t i = 0; i < 16; i++)
scsi_device_reset(&scsi_devices[dev->bus][i]);
if (dev->ven_reset)
@@ -1878,7 +1880,7 @@ x54x_init(const device_t *info)
/* Allocate control block and set up basic stuff. */
dev = malloc(sizeof(x54x_t));
if (dev == NULL)
return (dev);
return dev;
memset(dev, 0x00, sizeof(x54x_t));
dev->type = info->local;
@@ -1895,7 +1897,7 @@ x54x_init(const device_t *info)
else
dev->transfer_size = 2;
return (dev);
return dev;
}
void

View File

@@ -134,7 +134,8 @@ static void
i82091aa_write(uint16_t port, uint8_t val, void *priv)
{
i82091aa_t *dev = (i82091aa_t *) priv;
uint8_t index, valxor;
uint8_t index;
uint8_t valxor;
uint8_t uart = (dev->cur_reg >> 4) - 0x03;
uint8_t *reg = &(dev->regs[dev->cur_reg]);
@@ -199,7 +200,8 @@ uint8_t
i82091aa_read(uint16_t port, void *priv)
{
i82091aa_t *dev = (i82091aa_t *) priv;
uint8_t ret = 0xff, index;
uint8_t ret = 0xff;
uint8_t index;
index = (port & 1) ? 0 : 1;

View File

@@ -131,15 +131,13 @@ ali5123_serial_handler(ali5123_t *dev, int uart)
static void
ali5123_reset(ali5123_t *dev)
{
int i = 0;
memset(dev->regs, 0, 48);
dev->regs[0x20] = 0x43;
dev->regs[0x21] = 0x15;
dev->regs[0x2d] = 0x20;
for (i = 0; i < 13; i++)
for (uint8_t i = 0; i < 13; i++)
memset(dev->ld_regs[i], 0, 256);
/* Logical device 0: FDD */
@@ -209,7 +207,8 @@ ali5123_write(uint16_t port, uint8_t val, void *priv)
{
ali5123_t *dev = (ali5123_t *) priv;
uint8_t index = (port & 1) ? 0 : 1;
uint8_t valxor = 0x00, cur_ld = dev->regs[7];
uint8_t valxor = 0x00;
uint8_t cur_ld = dev->regs[7];
if (index) {
if (((val == 0x51) && (!dev->tries) && (!dev->locked)) || ((val == 0x23) && (dev->tries) && (!dev->locked))) {
@@ -402,7 +401,8 @@ ali5123_read(uint16_t port, void *priv)
{
ali5123_t *dev = (ali5123_t *) priv;
uint8_t index = (port & 1) ? 0 : 1;
uint8_t ret = 0xff, cur_ld;
uint8_t ret = 0xff;
uint8_t cur_ld;
if (dev->locked) {
if (index)

View File

@@ -234,7 +234,8 @@ fdc37c67x_write(uint16_t port, uint8_t val, void *priv)
{
fdc37c67x_t *dev = (fdc37c67x_t *) priv;
uint8_t index = (port & 1) ? 0 : 1;
uint8_t valxor = 0x00, keep = 0x00;
uint8_t valxor = 0x00;
uint8_t keep = 0x00;
if (index) {
if ((val == 0x55) && !dev->locked) {
@@ -477,8 +478,6 @@ fdc37c67x_read(uint16_t port, void *priv)
static void
fdc37c67x_reset(fdc37c67x_t *dev)
{
int i = 0;
memset(dev->regs, 0, 48);
dev->regs[0x03] = 0x03;
@@ -488,7 +487,7 @@ fdc37c67x_reset(fdc37c67x_t *dev)
dev->regs[0x26] = 0xf0;
dev->regs[0x27] = 0x03;
for (i = 0; i < 11; i++)
for (uint8_t i = 0; i < 11; i++)
memset(dev->ld_regs[i], 0, 256);
/* Logical device 0: FDD */

View File

@@ -339,7 +339,8 @@ fdc37c93x_write(uint16_t port, uint8_t val, void *priv)
{
fdc37c93x_t *dev = (fdc37c93x_t *) priv;
uint8_t index = (port & 1) ? 0 : 1;
uint8_t valxor = 0x00, keep = 0x00;
uint8_t valxor = 0x00;
uint8_t keep = 0x00;
/* Compaq Presario 4500: Unlock at FB, Register at EA, Data at EB, Lock at F9. */
if ((port == 0xea) || (port == 0xf9) || (port == 0xfb))
@@ -669,8 +670,6 @@ fdc37c93x_read(uint16_t port, void *priv)
static void
fdc37c93x_reset(fdc37c93x_t *dev)
{
int i = 0;
memset(dev->regs, 0, 48);
dev->regs[0x03] = 0x03;
@@ -681,7 +680,7 @@ fdc37c93x_reset(fdc37c93x_t *dev)
dev->regs[0x26] = 0xF0;
dev->regs[0x27] = 0x03;
for (i = 0; i < 11; i++)
for (uint8_t i = 0; i < 11; i++)
memset(dev->ld_regs[i], 0, 256);
/* Logical device 0: FDD */

View File

@@ -249,10 +249,9 @@ static void
fdc37m60x_reset(void *priv)
{
fdc37m60x_t *dev = (fdc37m60x_t *) priv;
uint8_t i;
memset(dev->regs, 0, sizeof(dev->regs));
for (i = 0; i < 10; i++)
for (uint8_t i = 0; i < 10; i++)
memset(dev->device_regs[i], 0, sizeof(dev->device_regs[i]));
dev->regs[0x20] = 0x47;

View File

@@ -85,7 +85,8 @@ static void
lpt1_handler(pc87306_t *dev)
{
int temp;
uint16_t lptba, lpt_port = LPT1_ADDR;
uint16_t lptba;
uint16_t lpt_port = LPT1_ADDR;
uint8_t lpt_irq = LPT2_IRQ;
temp = dev->regs[0x01] & 3;
@@ -126,8 +127,10 @@ static void
serial_handler(pc87306_t *dev, int uart)
{
int temp;
uint8_t fer_irq, pnp1_irq;
uint8_t fer_shift, pnp_shift;
uint8_t fer_irq;
uint8_t pnp1_irq;
uint8_t fer_shift;
uint8_t pnp_shift;
uint8_t irq;
temp = (dev->regs[1] >> (2 << uart)) & 3;
@@ -187,7 +190,8 @@ static void
pc87306_write(uint16_t port, uint8_t val, void *priv)
{
pc87306_t *dev = (pc87306_t *) priv;
uint8_t index, valxor;
uint8_t index;
uint8_t valxor;
index = (port & 1) ? 0 : 1;
@@ -327,7 +331,8 @@ uint8_t
pc87306_read(uint16_t port, void *priv)
{
pc87306_t *dev = (pc87306_t *) priv;
uint8_t ret = 0xff, index;
uint8_t ret = 0xff;
uint8_t index;
index = (port & 1) ? 0 : 1;

View File

@@ -64,8 +64,10 @@ uint8_t
pc87307_gpio_read(uint16_t port, void *priv)
{
pc87307_t *dev = (pc87307_t *) priv;
uint8_t pins = 0xff, bank = ((port & 0xfffc) == dev->gpio_base2);
uint8_t mask, ret = dev->gpio[bank][port & 0x0003];
uint8_t pins = 0xff;
uint8_t bank = ((port & 0xfffc) == dev->gpio_base2);
uint8_t mask;
uint8_t ret = dev->gpio[bank][port & 0x0003];
switch (port & 0x0003) {
case 0x0000:
@@ -157,7 +159,8 @@ pc87307_pm_init(pc87307_t *dev, uint16_t addr)
static void
fdc_handler(pc87307_t *dev)
{
uint8_t irq, active;
uint8_t irq;
uint8_t active;
uint16_t addr;
fdc_remove(dev->fdc);
@@ -175,7 +178,8 @@ fdc_handler(pc87307_t *dev)
static void
lpt1_handler(pc87307_t *dev)
{
uint8_t irq, active;
uint8_t irq;
uint8_t active;
uint16_t addr;
lpt1_remove();
@@ -193,7 +197,8 @@ lpt1_handler(pc87307_t *dev)
static void
serial_handler(pc87307_t *dev, int uart)
{
uint8_t irq, active;
uint8_t irq;
uint8_t active;
uint16_t addr;
serial_remove(dev->uart[uart]);
@@ -424,7 +429,8 @@ uint8_t
pc87307_read(uint16_t port, void *priv)
{
pc87307_t *dev = (pc87307_t *) priv;
uint8_t ret = 0xff, index;
uint8_t ret = 0xff;
uint8_t index;
index = (port & 1) ? 0 : 1;
@@ -445,10 +451,8 @@ pc87307_read(uint16_t port, void *priv)
void
pc87307_reset(pc87307_t *dev)
{
int i;
memset(dev->regs, 0x00, 0x30);
for (i = 0; i < 256; i++)
for (uint16_t i = 0; i < 256; i++)
memset(dev->ld_regs[i], 0x00, 0xd0);
memset(dev->pcregs, 0x00, 0x10);
memset(dev->gpio, 0xff, 0x08);

View File

@@ -102,7 +102,8 @@ pc87309_pm_init(pc87309_t *dev, uint16_t addr)
static void
fdc_handler(pc87309_t *dev)
{
uint8_t irq, active;
uint8_t irq;
uint8_t active;
uint16_t addr;
fdc_remove(dev->fdc);
@@ -120,7 +121,8 @@ fdc_handler(pc87309_t *dev)
static void
lpt1_handler(pc87309_t *dev)
{
uint8_t irq, active;
uint8_t irq;
uint8_t active;
uint16_t addr;
lpt1_remove();
@@ -138,7 +140,8 @@ lpt1_handler(pc87309_t *dev)
static void
serial_handler(pc87309_t *dev, int uart)
{
uint8_t irq, active;
uint8_t irq;
uint8_t active;
uint16_t addr;
serial_remove(dev->uart[uart]);
@@ -326,7 +329,8 @@ uint8_t
pc87309_read(uint16_t port, void *priv)
{
pc87309_t *dev = (pc87309_t *) priv;
uint8_t ret = 0xff, index;
uint8_t ret = 0xff;
uint8_t index;
index = (port & 1) ? 0 : 1;
@@ -345,10 +349,8 @@ pc87309_read(uint16_t port, void *priv)
void
pc87309_reset(pc87309_t *dev)
{
int i;
memset(dev->regs, 0x00, 0x30);
for (i = 0; i < 256; i++)
for (uint16_t i = 0; i < 256; i++)
memset(dev->ld_regs[i], 0x00, 0xd0);
memset(dev->pm, 0x00, 0x08);

View File

@@ -149,7 +149,8 @@ static void
pc87332_write(uint16_t port, uint8_t val, void *priv)
{
pc87332_t *dev = (pc87332_t *) priv;
uint8_t index, valxor;
uint8_t index;
uint8_t valxor;
index = (port & 1) ? 0 : 1;
@@ -244,7 +245,8 @@ uint8_t
pc87332_read(uint16_t port, void *priv)
{
pc87332_t *dev = (pc87332_t *) priv;
uint8_t ret = 0xff, index;
uint8_t ret = 0xff;
uint8_t index;
index = (port & 1) ? 0 : 1;
@@ -316,7 +318,7 @@ pc87332_init(const device_t *info)
dev->fdc_on = (info->local >> 16) & 0xff;
pc87332_reset(dev);
if ((info->local & 0xff) == (0x01)) {
if ((info->local & 0xff) == 0x01) {
io_sethandler(0x398, 0x0002,
pc87332_read, NULL, NULL, pc87332_write, NULL, NULL, dev);
} else {

View File

@@ -68,7 +68,8 @@ vt82c686_fdc_handler(vt82c686_t *dev)
static void
vt82c686_lpt_handler(vt82c686_t *dev)
{
uint16_t io_mask, io_base = dev->regs[0x06] << 2;
uint16_t io_mask;
uint16_t io_base = dev->regs[0x06] << 2;
int io_len = get_lpt_length(dev);
io_base &= (0xff8 | io_len);
io_mask = 0x3fc; /* non-EPP */

View File

@@ -123,8 +123,10 @@ w83787f_serial_handler(w83787f_t *dev, int uart)
int urs0 = !!(dev->regs[1] & (1 << uart));
int urs1 = !!(dev->regs[1] & (4 << uart));
int urs2 = !!(dev->regs[3] & (8 >> uart));
int urs, irq = COM1_IRQ;
uint16_t addr = COM1_ADDR, enable = 1;
int urs;
int irq = COM1_IRQ;
uint16_t addr = COM1_ADDR;
uint16_t enable = 1;
urs = (urs1 << 1) | urs0;
@@ -165,7 +167,8 @@ w83787f_lpt_handler(w83787f_t *dev)
{
int ptras = (dev->regs[1] >> 4) & 0x03;
int irq = LPT1_IRQ;
uint16_t addr = LPT1_ADDR, enable = 1;
uint16_t addr = LPT1_ADDR;
uint16_t enable = 1;
switch (ptras) {
case 0x00:

View File

@@ -96,7 +96,8 @@ w83977f_fdc_handler(w83977f_t *dev)
static void
w83977f_lpt_handler(w83977f_t *dev)
{
uint16_t io_mask, io_base = (dev->dev_regs[1][0x30] << 8) | dev->dev_regs[1][0x31];
uint16_t io_mask;
uint16_t io_base = (dev->dev_regs[1][0x30] << 8) | dev->dev_regs[1][0x31];
int io_len = get_lpt_length(dev);
io_base &= (0xff8 | io_len);
io_mask = 0xffc;
@@ -362,10 +363,8 @@ w83977f_read(uint16_t port, void *priv)
static void
w83977f_reset(w83977f_t *dev)
{
int i;
memset(dev->regs, 0, 48);
for (i = 0; i < 256; i++)
for (uint16_t i = 0; i < 256; i++)
memset(dev->dev_regs[i], 0, 208);
if (dev->type < 2) {

View File

@@ -36,10 +36,12 @@ static int midi_output_device_last = 0;
int midi_input_device_current = 0;
static int midi_input_device_last = 0;
midi_t *midi_out = NULL, *midi_in = NULL;
midi_t *midi_out = NULL;
midi_t *midi_in = NULL;
midi_in_handler_t *mih_first = NULL, *mih_last = NULL,
*mih_cur = NULL;
midi_in_handler_t *mih_first = NULL;
midi_in_handler_t *mih_last = NULL;
midi_in_handler_t *mih_cur = NULL;
uint8_t MIDI_InSysexBuf[SYSEX_SIZE];
@@ -306,7 +308,7 @@ midi_raw_out_rt_byte(uint8_t val)
if (!midi_in->midi_realtime)
return;
if ((!midi_in->midi_clockout && (val == 0xf8)))
if (!midi_in->midi_clockout && (val == 0xf8))
return;
midi_in->midi_cmd_r = val << 24;
@@ -329,7 +331,7 @@ midi_raw_out_byte(uint8_t val)
if (!midi_out || !midi_out->m_out_device)
return;
if ((midi_out->m_out_device->write && midi_out->m_out_device->write(val)))
if (midi_out->m_out_device->write && midi_out->m_out_device->write(val))
return;
if (midi_out->midi_sysex_start) {
@@ -408,7 +410,8 @@ midi_clear_buffer(void)
void
midi_in_handler(int set, void (*msg)(void *p, uint8_t *msg, uint32_t len), int (*sysex)(void *p, uint8_t *buffer, uint32_t len, int abort), void *p)
{
midi_in_handler_t *temp = NULL, *next;
midi_in_handler_t *temp = NULL;
midi_in_handler_t *next;
if (set) {
/* Add MIDI IN handler. */
@@ -468,7 +471,8 @@ midi_in_handler(int set, void (*msg)(void *p, uint8_t *msg, uint32_t len), int (
void
midi_in_handlers_clear(void)
{
midi_in_handler_t *temp = mih_first, *next;
midi_in_handler_t *temp = mih_first;
midi_in_handler_t *next;
while (1) {
if (temp == NULL)
@@ -532,7 +536,8 @@ static int
midi_do_sysex(void)
{
midi_in_handler_t *temp = mih_first;
int ret, cnt_acc = 0;
int ret;
int cnt_acc = 0;
while (1) {
if (temp == NULL)

View File

@@ -111,9 +111,12 @@ closeal(void)
void
inital(void)
{
float *buf = NULL, *cd_buf = NULL, *midi_buf = NULL;
int16_t *buf_int16 = NULL, *cd_buf_int16 = NULL, *midi_buf_int16 = NULL;
int c;
float *buf = NULL;
float *cd_buf = NULL;
float *midi_buf = NULL;
int16_t *buf_int16 = NULL;
int16_t *cd_buf_int16 = NULL;
int16_t *midi_buf_int16 = NULL;
char *mdn;
int init_midi = 0;
@@ -182,7 +185,7 @@ inital(void)
memset(midi_buf_int16, 0, midi_buf_size * sizeof(int16_t));
}
for (c = 0; c < 4; c++) {
for (uint8_t c = 0; c < 4; c++) {
if (sound_is_float) {
alBufferData(buffers[c], AL_FORMAT_STEREO_FLOAT32, buf, BUFLEN * 2 * sizeof(float), FREQ);
alBufferData(buffers_cd[c], AL_FORMAT_STEREO_FLOAT32, cd_buf, CD_BUFLEN * 2 * sizeof(float), CD_FREQ);

View File

@@ -134,9 +134,12 @@ static const int32_t codec_attn[] = {
// clang-format on
};
ac97_codec_t **ac97_codec = NULL, **ac97_modem_codec = NULL;
int ac97_codec_count = 0, ac97_modem_codec_count = 0,
ac97_codec_id = 0, ac97_modem_codec_id = 0;
ac97_codec_t **ac97_codec = NULL;
ac97_codec_t **ac97_modem_codec = NULL;
int ac97_codec_count = 0;
int ac97_modem_codec_count = 0;
int ac97_codec_id = 0;
int ac97_modem_codec_id = 0;
uint16_t
ac97_codec_readw(ac97_codec_t *dev, uint8_t reg)
@@ -160,7 +163,8 @@ ac97_codec_writew(ac97_codec_t *dev, uint8_t reg, uint16_t val)
ac97_codec_log("AC97 Codec %d: writew(%02X, %04X)\n", dev->codec_id, reg, val);
reg &= 0x7e;
uint16_t i = 0, prev = dev->regs[reg >> 1];
uint16_t i = 0;
uint16_t prev = dev->regs[reg >> 1];
int j;
switch (reg) {
@@ -450,7 +454,7 @@ void
ac97_codec_reset(void *priv)
{
ac97_codec_t *dev = (ac97_codec_t *) priv;
uint16_t i, j;
uint16_t i;
ac97_codec_log("AC97 Codec %d: reset()\n", dev->codec_id);
@@ -498,7 +502,7 @@ ac97_codec_reset(void *priv)
/* Set vendor-specific registers. */
if (dev->vendor_regs) {
for (j = 0; dev->vendor_regs[j].index; j++) {
for (uint16_t j = 0; dev->vendor_regs[j].index; j++) {
i = (dev->vendor_regs[j].index >> 8) & 0x000f;
if (i > 0)
dev->vendor_reg_pages[(i << 3) | (dev->vendor_regs[j].index >> 1)] = dev->vendor_regs[j].value;
@@ -523,7 +527,8 @@ ac97_codec_getattn(void *priv, uint8_t reg, int *l, int *r)
*r = 0;
} else { /* per-channel mute */
/* Determine attenuation value. */
uint8_t l_val = val >> 8, r_val = val;
uint8_t l_val = val >> 8;
uint8_t r_val = val;
if (reg <= 0x06) { /* 6-bit level */
*l = codec_attn[0x3f - (l_val & 0x3f)];
*r = codec_attn[0x3f - (r_val & 0x3f)];
@@ -594,9 +599,9 @@ ac97_codec_init(const device_t *info)
/* Allocate vendor-specific register pages if required. */
if (dev->vendor_regs) {
/* Get the highest vendor-specific register page number. */
int i, j;
int i;
dev->vendor_reg_page_max = 0;
for (j = 0; dev->vendor_regs[j].index; j++) {
for (uint16_t j = 0; dev->vendor_regs[j].index; j++) {
i = (dev->vendor_regs[j].index >> 8) & 0x000f;
if (i > dev->vendor_reg_page_max)
dev->vendor_reg_page_max = i;

View File

@@ -284,7 +284,8 @@ void
ac97_via_sgd_write(uint16_t addr, uint8_t val, void *priv)
{
ac97_via_t *dev = (ac97_via_t *) priv;
uint8_t modem = (addr & 0xff00) == dev->modem_sgd_base, i;
uint8_t modem = (addr & 0xff00) == dev->modem_sgd_base;
uint8_t i;
ac97_codec_t *codec;
addr &= 0xff;
@@ -496,8 +497,8 @@ ac97_via_remap_modem_codec(void *priv, uint16_t new_io_base, uint8_t enable)
static void
ac97_via_update_stereo(ac97_via_t *dev, ac97_via_sgd_t *sgd)
{
int32_t l = (((sgd->out_l * sgd->vol_l) >> 15) * dev->master_vol_l) >> 15,
r = (((sgd->out_r * sgd->vol_r) >> 15) * dev->master_vol_r) >> 15;
int32_t l = (((sgd->out_l * sgd->vol_l) >> 15) * dev->master_vol_l) >> 15;
int32_t r = (((sgd->out_r * sgd->vol_r) >> 15) * dev->master_vol_r) >> 15;
if (l < -32768)
l = -32768;
@@ -728,7 +729,8 @@ static void
ac97_via_filter_cd_audio(int channel, double *buffer, void *priv)
{
ac97_via_t *dev = (ac97_via_t *) priv;
double c, volume = channel ? dev->cd_vol_r : dev->cd_vol_l;
double c;
double volume = channel ? dev->cd_vol_r : dev->cd_vol_l;
c = ((*buffer) * volume) / 65536.0;
*buffer = c;

View File

@@ -48,9 +48,9 @@ ad1848_setirq(ad1848_t *ad1848, int irq)
}
void
ad1848_setdma(ad1848_t *ad1848, int dma)
ad1848_setdma(ad1848_t *ad1848, int newdma)
{
ad1848->dma = dma;
ad1848->dma = newdma;
}
void
@@ -209,7 +209,8 @@ void
ad1848_write(uint16_t addr, uint8_t val, void *priv)
{
ad1848_t *ad1848 = (ad1848_t *) priv;
uint8_t temp = 0, updatefreq = 0;
uint8_t temp = 0;
uint8_t updatefreq = 0;
switch (addr & 3) {
case 0: /* Index */

View File

@@ -42,11 +42,10 @@ static void
adlib_get_buffer(int32_t *buffer, int len, void *p)
{
adlib_t *adlib = (adlib_t *) p;
int c;
int32_t *opl_buf = adlib->opl.update(adlib->opl.priv);
for (c = 0; c < len * 2; c++)
for (int c = 0; c < len * 2; c++)
buffer[c] += (int32_t) opl_buf[c];
adlib->opl.reset_buffer(adlib->opl.priv);

View File

@@ -345,7 +345,7 @@ adgold_write(uint16_t addr, uint8_t val, void *p)
adgold_update_irq_status(adgold);
dma_set_drq(adgold->dma, 0);
}
if ((val & 0x01)) /*Start playback*/
if (val & 0x01) /*Start playback*/
{
if (!(adgold->adgold_mma_regs[0][0x9] & 1))
adgold->adgold_mma.voice_count[0] = adgold->adgold_mma.voice_latch[0];
@@ -468,7 +468,7 @@ adgold_write(uint16_t addr, uint8_t val, void *p)
adgold_update_irq_status(adgold);
dma_set_drq(adgold->dma, 0);
}
if ((val & 0x01)) /*Start playback*/
if (val & 0x01) /*Start playback*/
{
if (!(adgold->adgold_mma_regs[1][0x9] & 1))
adgold->adgold_mma.voice_count[1] = adgold->adgold_mma.voice_latch[1];
@@ -782,7 +782,9 @@ adgold_get_buffer(int32_t *buffer, int len, void *p)
}
for (c = 0; c < len * 2; c += 2) {
int32_t temp, lowpass, highpass;
int32_t temp;
int32_t lowpass;
int32_t highpass;
/*Output is deliberately halved to avoid clipping*/
temp = ((int32_t) adgold_buffer[c] * adgold->vol_l) >> 17;
@@ -862,14 +864,13 @@ static int
adgold_input_sysex(void *p, uint8_t *buffer, uint32_t len, int abort)
{
adgold_t *adgold = (adgold_t *) p;
uint32_t i;
if (abort) {
adgold->sysex = 0;
return 0;
}
adgold->sysex = 1;
for (i = 0; i < len; i++) {
for (uint32_t i = 0; i < len; i++) {
if (adgold->midi_r == adgold->midi_w)
return (len - i);
adgold->midi_queue[adgold->midi_w++] = buffer[i];

View File

@@ -290,9 +290,7 @@ es1371_write_fifo(es1371_t *dev, uint8_t val)
static void
es1371_reset_fifo(es1371_t *dev)
{
int i;
for (i = 0; i < 8; i++)
for (uint8_t i = 0; i < 8; i++)
dev->uart_fifo[i] = 0x00000000;
dev->read_fifo_pos = dev->write_fifo_pos = 0;
@@ -304,7 +302,6 @@ static void
es1371_reset(void *p)
{
es1371_t *dev = (es1371_t *) p;
int i;
nmi = 0;
@@ -392,7 +389,7 @@ es1371_reset(void *p)
/* UART FIFO Register, Address 30H, 34H, 38H, 3CH, Memory Page 1110b, 1111b
Addressable as longword only */
for (i = 0; i < 8; i++)
for (uint8_t i = 0; i < 8; i++)
dev->uart_fifo[i] = 0xffff0000;
/* Reset the UART TX. */
@@ -1760,7 +1757,8 @@ low_fir_es1371(int dac_nr, int i, float NewSample)
static float x[2][2][128]; // input samples
static int x_pos[2] = { 0, 0 };
float out = 0.0;
int read_pos, n_coef;
int read_pos;
int n_coef;
int pos = x_pos[dac_nr];
x[dac_nr][i][pos] = NewSample;
@@ -1788,8 +1786,8 @@ low_fir_es1371(int dac_nr, int i, float NewSample)
static void
es1371_next_sample_filtered(es1371_t *dev, int dac_nr, int out_idx)
{
int out_l, out_r;
int c;
int out_l;
int out_r;
if ((dev->dac[dac_nr].buffer_pos - dev->dac[dac_nr].buffer_pos_end) >= 0)
es1371_fetch(dev, dac_nr);
@@ -1800,7 +1798,7 @@ es1371_next_sample_filtered(es1371_t *dev, int dac_nr, int out_idx)
dev->dac[dac_nr].filtered_l[out_idx] = (int) low_fir_es1371(dac_nr, 0, (float) out_l);
dev->dac[dac_nr].filtered_r[out_idx] = (int) low_fir_es1371(dac_nr, 1, (float) out_r);
for (c = 1; c < 16; c++) {
for (uint8_t c = 1; c < 16; c++) {
dev->dac[dac_nr].filtered_l[out_idx + c] = (int) low_fir_es1371(dac_nr, 0, 0);
dev->dac[dac_nr].filtered_r[out_idx + c] = (int) low_fir_es1371(dac_nr, 1, 0);
}
@@ -1811,7 +1809,8 @@ es1371_next_sample_filtered(es1371_t *dev, int dac_nr, int out_idx)
static void
es1371_update(es1371_t *dev)
{
int32_t l, r;
int32_t l;
int32_t r;
l = (dev->dac[0].out_l * dev->dac[0].vol_l) >> 12;
l += ((dev->dac[1].out_l * dev->dac[1].vol_l) >> 12);
@@ -1843,7 +1842,12 @@ static void
es1371_poll(void *p)
{
es1371_t *dev = (es1371_t *) p;
int frac, idx, samp1_l, samp1_r, samp2_l, samp2_r;
int frac;
int idx;
int samp1_l;
int samp1_r;
int samp2_l;
int samp2_r;
timer_advance_u64(&dev->dac[1].timer, dev->dac[1].latch);
@@ -1906,11 +1910,10 @@ static void
es1371_get_buffer(int32_t *buffer, int len, void *p)
{
es1371_t *dev = (es1371_t *) p;
int c;
es1371_update(dev);
for (c = 0; c < len * 2; c++)
for (int c = 0; c < len * 2; c++)
buffer[c] += (dev->buffer[c] / 2);
dev->pos = 0;

View File

@@ -250,14 +250,14 @@ azt1605_create_config_word(void *p)
case 0x240:
temp += 1 << 0;
break;
/*
case 0x260: // TODO: INVALID?
temp += 2 << 0;
break;
case 0x280: // TODO: INVALID?
temp += 3 << 0;
break;
*/
#if 0
case 0x260: // TODO: INVALID?
temp += 2 << 0;
break;
case 0x280: // TODO: INVALID?
temp += 3 << 0;
break;
#endif
}
switch (azt2316a->cur_irq) {
@@ -414,14 +414,14 @@ azt2316a_create_config_word(void *p)
case 0x240:
temp += 1 << 0;
break;
/*
case 0x260: // TODO: INVALID?
temp += 2 << 0;
break;
case 0x280: // TODO: INVALID?
temp += 3 << 0;
break;
*/
#if 0
case 0x260: // TODO: INVALID?
temp += 2 << 0;
break;
case 0x280: // TODO: INVALID?
temp += 3 << 0;
break;
#endif
}
switch (azt2316a->cur_irq) {
@@ -440,13 +440,13 @@ azt2316a_create_config_word(void *p)
}
switch (azt2316a->cur_dma) {
/*
// TODO: INVALID?
case 0xFF: // -1
// do nothing
//temp += 0 << 6;
break;
*/
#if 0
// TODO: INVALID?
case 0xFF: // -1
// do nothing
//temp += 0 << 6;
break;
#endif
case 0:
temp += 1 << 6;
break;
@@ -541,11 +541,11 @@ azt2316a_create_config_word(void *p)
case 0:
temp += 1 << 20;
break;
/*
case 1: // TODO: INVALID?
temp += 2 << 20;
break;
*/
#if 0
case 1: // TODO: INVALID?
temp += 2 << 20;
break;
#endif
case 3:
temp += 3 << 20;
break;
@@ -665,12 +665,12 @@ azt1605_config_write(uint16_t addr, uint8_t val, void *p)
azt2316a->cur_addr = 0x220;
else if (temp == 1)
azt2316a->cur_addr = 0x240;
/*
else if (temp == 2)
azt2316a->cur_addr = 0x260; // TODO: INVALID
else if (temp == 3)
azt2316a->cur_addr = 0x280; // TODO: INVALID
*/
#if 0
else if (temp == 2)
azt2316a->cur_addr = 0x260; // TODO: INVALID
else if (temp == 3)
azt2316a->cur_addr = 0x280; // TODO: INVALID
#endif
if (val & 0x4)
azt2316a->cur_mpu401_addr = 0x330;
else
@@ -866,11 +866,10 @@ static void
azt2316a_get_buffer(int32_t *buffer, int len, void *p)
{
azt2316a_t *azt2316a = (azt2316a_t *) p;
int c;
/* wss part */
ad1848_update(&azt2316a->ad1848);
for (c = 0; c < len * 2; c++)
for (int c = 0; c < len * 2; c++)
buffer[c] += (azt2316a->ad1848.buffer[c] / 2);
azt2316a->ad1848.pos = 0;
@@ -1189,7 +1188,6 @@ azt_close(void *p)
char *fn = NULL;
FILE *f;
uint8_t checksum = 0x7f;
int i;
if (azt2316a->type == SB_SUBTYPE_CLONE_AZT1605_0X0C) {
fn = "azt1605.nvr";
@@ -1200,7 +1198,7 @@ azt_close(void *p)
/* always save to eeprom (recover from bad values) */
f = nvr_fopen(fn, "wb");
if (f) {
for (i = 0; i < AZTECH_EEPROM_SIZE; i++)
for (uint8_t i = 0; i < AZTECH_EEPROM_SIZE; i++)
checksum += azt2316a->sb->dsp.azt_eeprom[i];
fwrite(azt2316a->sb->dsp.azt_eeprom, AZTECH_EEPROM_SIZE, 1, f);

View File

@@ -181,8 +181,8 @@ cmi8x38_sb_dma_post(cmi8x38_t *dev, uint16_t *addr, uint16_t *count, int channel
/* Check TDMA position update interrupt if enabled. */
if (dev->io_regs[0x0e] & 0x04) {
/* Nothing uses this; I assume it goes by the SB DSP sample counter (forwards instead of backwards). */
int origlength = (channel & 4) ? dev->sb->dsp.sb_16_origlength : dev->sb->dsp.sb_8_origlength,
length = (channel & 4) ? dev->sb->dsp.sb_16_length : dev->sb->dsp.sb_8_length;
int origlength = (channel & 4) ? dev->sb->dsp.sb_16_origlength : dev->sb->dsp.sb_8_origlength;
int length = (channel & 4) ? dev->sb->dsp.sb_16_length : dev->sb->dsp.sb_8_length;
if ((origlength != length) && (((origlength - length) & dev->tdma_irq_mask) == 0)) { /* skip initial sample */
/* Fire the interrupt. */
dev->io_regs[0x11] |= (channel & 4) ? 0x40 : 0x80;
@@ -225,8 +225,8 @@ cmi8x38_sb_dma_readb(void *priv)
return DMA_NODATA;
/* Get 16-bit address and count registers. */
uint16_t *addr = (uint16_t *) &dev->io_regs[0x1c],
*count = (uint16_t *) &dev->io_regs[0x1e];
uint16_t *addr = (uint16_t *) &dev->io_regs[0x1c];
uint16_t *count = (uint16_t *) &dev->io_regs[0x1e];
/* Read data. */
int ret = mem_readb_phys((dma[channel].ab & 0xffff0000) | *addr);
@@ -248,8 +248,8 @@ cmi8x38_sb_dma_readw(void *priv)
return DMA_NODATA;
/* Get 16-bit address and count registers. */
uint16_t *addr = (uint16_t *) &dev->io_regs[0x1c],
*count = (uint16_t *) &dev->io_regs[0x1e];
uint16_t *addr = (uint16_t *) &dev->io_regs[0x1c];
uint16_t *count = (uint16_t *) &dev->io_regs[0x1e];
/* Read data. */
int ret = mem_readw_phys((dma[channel].ab & 0xfffe0000) | ((*addr) << 1));
@@ -271,8 +271,8 @@ cmi8x38_sb_dma_writeb(void *priv, uint8_t val)
return 1;
/* Get 16-bit address and count registers. */
uint16_t *addr = (uint16_t *) &dev->io_regs[0x1c],
*count = (uint16_t *) &dev->io_regs[0x1e];
uint16_t *addr = (uint16_t *) &dev->io_regs[0x1c];
uint16_t *count = (uint16_t *) &dev->io_regs[0x1e];
/* Write data. */
mem_writeb_phys((dma[channel].ab & 0xffff0000) | *addr, val);
@@ -294,8 +294,8 @@ cmi8x38_sb_dma_writew(void *priv, uint16_t val)
return 1;
/* Get 16-bit address and count registers. */
uint16_t *addr = (uint16_t *) &dev->io_regs[0x1c],
*count = (uint16_t *) &dev->io_regs[0x1e];
uint16_t *addr = (uint16_t *) &dev->io_regs[0x1c];
uint16_t *count = (uint16_t *) &dev->io_regs[0x1e];
/* Write data. */
mem_writew_phys((dma[channel].ab & 0xfffe0000) | ((*addr) << 1), val);
@@ -333,8 +333,8 @@ cmi8x38_dma_write(uint16_t addr, uint8_t val, void *priv)
}
/* Write base address and count. */
uint16_t *daddr = (uint16_t *) &dev->io_regs[0x1c],
*count = (uint16_t *) &dev->io_regs[0x1e];
uint16_t *daddr = (uint16_t *) &dev->io_regs[0x1c];
uint16_t *count = (uint16_t *) &dev->io_regs[0x1e];
*daddr = dev->tdma_base_addr = dma[channel].ab >> !!(channel & 4);
*count = dev->tdma_base_count = dma[channel].cb;
cmi8x38_log("CMI8x38: Starting TDMA on DMA %d with addr %08X count %04X\n",
@@ -556,7 +556,8 @@ cmi8x38_remap_traps(cmi8x38_t *dev)
static void
cmi8x38_start_playback(cmi8x38_t *dev)
{
uint8_t i, val = dev->io_regs[0x00];
uint8_t i;
uint8_t val = dev->io_regs[0x00];
i = !(val & 0x01);
if (!dev->dma[0].playback_enabled && i)
@@ -990,8 +991,8 @@ static void
cmi8x38_update(cmi8x38_t *dev, cmi8x38_dma_t *dma)
{
sb_ct1745_mixer_t *mixer = &dev->sb->mixer_sb16;
int32_t l = (dma->out_fl * mixer->voice_l) * mixer->master_l,
r = (dma->out_fr * mixer->voice_r) * mixer->master_r;
int32_t l = (dma->out_fl * mixer->voice_l) * mixer->master_l;
int32_t r = (dma->out_fr * mixer->voice_r) * mixer->master_r;
for (; dma->pos < sound_pos_global; dma->pos++) {
dma->buffer[dma->pos * 2] = l;
@@ -1083,7 +1084,10 @@ cmi8x38_poll(void *priv)
{
cmi8x38_dma_t *dma = (cmi8x38_dma_t *) priv;
cmi8x38_t *dev = dma->dev;
int16_t *out_l, *out_r, *out_ol, *out_or; /* o = opposite */
int16_t *out_l;
int16_t *out_r;
int16_t *out_ol;
int16_t *out_or; /* o = opposite */
/* Schedule next run if playback is enabled. */
if (dma->playback_enabled)
@@ -1245,8 +1249,8 @@ cmi8x38_speed_changed(void *priv)
{
cmi8x38_t *dev = (cmi8x38_t *) priv;
double freq;
uint8_t dsr = dev->io_regs[0x09], freqreg = dev->io_regs[0x05] >> 2,
chfmt45 = dev->io_regs[0x0b], chfmt6 = dev->io_regs[0x15];
uint8_t dsr = dev->io_regs[0x09], freqreg = dev->io_regs[0x05] >> 2;
uint8_t chfmt45 = dev->io_regs[0x0b], chfmt6 = dev->io_regs[0x15];
#ifdef ENABLE_CMI8X38_LOG
char buf[256];

View File

@@ -15,8 +15,10 @@ void
cms_update(cms_t *cms)
{
for (; cms->pos < sound_pos_global; cms->pos++) {
int c, d;
int16_t out_l = 0, out_r = 0;
int c;
int d;
int16_t out_l = 0;
int16_t out_r = 0;
for (c = 0; c < 4; c++) {
switch (cms->noisetype[c >> 1][c & 1]) {
@@ -65,7 +67,7 @@ cms_update(cms_t *cms)
}
}
}
cms->buffer[(cms->pos << 1)] = out_l;
cms->buffer[cms->pos << 1] = out_l;
cms->buffer[(cms->pos << 1) + 1] = out_r;
}
}
@@ -75,11 +77,9 @@ cms_get_buffer(int32_t *buffer, int len, void *p)
{
cms_t *cms = (cms_t *) p;
int c;
cms_update(cms);
for (c = 0; c < len * 2; c++)
for (int c = 0; c < len * 2; c++)
buffer[c] += cms->buffer[c];
cms->pos = 0;

View File

@@ -469,9 +469,9 @@ cs423x_slam_enable(cs423x_t *dev, uint8_t enable)
static void
cs423x_ctxswitch_write(uint16_t addr, uint8_t val, void *priv)
{
cs423x_t *dev = (cs423x_t *) priv;
uint8_t ctx = (dev->regs[7] & 0x80),
enable_opl = (dev->ad1848.xregs[4] & 0x10) && !(dev->indirect_regs[2] & 0x85);
cs423x_t *dev = (cs423x_t *) priv;
uint8_t ctx = (dev->regs[7] & 0x80);
uint8_t enable_opl = (dev->ad1848.xregs[4] & 0x10) && !(dev->indirect_regs[2] & 0x85);
/* Check if a context switch (WSS=1 <-> SBPro=0) occurred through the address being written. */
if ((dev->regs[7] & 0x80) ? ((addr & 0xfff0) == dev->sb_base) : ((addr & 0xfffc) == dev->wss_base)) {
@@ -504,7 +504,7 @@ static void
cs423x_get_buffer(int32_t *buffer, int len, void *priv)
{
cs423x_t *dev = (cs423x_t *) priv;
int c, opl_wss = dev->opl_wss;
int opl_wss = dev->opl_wss;
int32_t *opl_buf = NULL;
/* Output audio from the WSS codec, and also the OPL if we're in charge of it. */
@@ -514,7 +514,7 @@ cs423x_get_buffer(int32_t *buffer, int len, void *priv)
/* Don't output anything if the analog section is powered down. */
if (!(dev->indirect_regs[2] & 0xa4)) {
for (c = 0; c < len * 2; c += 2) {
for (int c = 0; c < len * 2; c += 2) {
if (opl_wss) {
buffer[c] += (opl_buf[c] * dev->ad1848.fm_vol_l) >> 16;
buffer[c + 1] += (opl_buf[c + 1] * dev->ad1848.fm_vol_r) >> 16;

View File

@@ -946,8 +946,7 @@ emu8k_outw(uint16_t addr, uint16_t val, void *p)
break;
case 0x5:
{
int c;
for (c = 0; c < 8; c++) {
for (uint8_t c = 0; c < 8; c++) {
emu8k->reverb_engine.allpass[c].feedback = (val & 0xFF) / ((float) 0xFF);
}
}
@@ -1216,8 +1215,7 @@ emu8k_outw(uint16_t addr, uint16_t val, void *p)
break;
case 0x1d:
{
int c;
for (c = 0; c < 6; c++) {
for (uint8_t c = 0; c < 6; c++) {
emu8k->reverb_engine.reflections[c].damp1 = (val & 0xFF) / 255.0;
emu8k->reverb_engine.reflections[c].damp2 = (0xFF - (val & 0xFF)) / 255.0;
emu8k->reverb_engine.reflections[c].filterstore = 0;
@@ -1468,8 +1466,7 @@ emu8k_outb(uint16_t addr, uint8_t val, void *p)
void
emu8k_work_chorus(int32_t *inbuf, int32_t *outbuf, emu8k_chorus_eng_t *engine, int count)
{
int pos;
for (pos = 0; pos < count; pos++) {
for (int pos = 0; pos < count; pos++) {
double lfo_inter1 = chortable[engine->lfo_pos.int_address];
// double lfo_inter2 = chortable[(engine->lfo_pos.int_address+1)&0xFFFF];
@@ -1595,7 +1592,10 @@ emu8k_work_reverb(int32_t *inbuf, int32_t *outbuf, emu8k_reverb_eng_t *engine, i
int pos;
if (engine->link_return_type) {
for (pos = 0; pos < count; pos++) {
int32_t dat1, dat2, in, in2;
int32_t dat1;
int32_t dat2;
int32_t in;
int32_t in2;
in = emu8k_reverb_damper_work(&engine->damper, inbuf[pos]);
in2 = (in * engine->refl_in_amp) >> 8;
dat2 = emu8k_reverb_comb_work(&engine->reflections[0], in2);
@@ -1613,7 +1613,10 @@ emu8k_work_reverb(int32_t *inbuf, int32_t *outbuf, emu8k_reverb_eng_t *engine, i
}
} else {
for (pos = 0; pos < count; pos++) {
int32_t dat1, dat2, in, in2;
int32_t dat1;
int32_t dat2;
int32_t in;
int32_t in2;
in = emu8k_reverb_damper_work(&engine->damper, inbuf[pos]);
in2 = (in * engine->refl_in_amp) >> 8;
dat1 = emu8k_reverb_comb_work(&engine->reflections[0], in2);
@@ -1666,7 +1669,6 @@ emu8k_update(emu8k_t *emu8k)
int32_t *buf;
emu8k_voice_t *emu_voice;
int pos;
int c;
/* Clean the buffers since we will accumulate into them. */
buf = &emu8k->buffer[emu8k->pos * 2];
@@ -1675,7 +1677,7 @@ emu8k_update(emu8k_t *emu8k)
memset(&emu8k->reverb_in_buffer[emu8k->pos], 0, (new_pos - emu8k->pos) * sizeof(emu8k->reverb_in_buffer[0]));
/* Voices section */
for (c = 0; c < 32; c++) {
for (uint8_t c = 0; c < 32; c++) {
emu_voice = &emu8k->voice[c];
buf = &emu8k->buffer[emu8k->pos * 2];
@@ -2205,8 +2207,7 @@ emu8k_init(emu8k_t *emu8k, uint16_t emu_addr, int onboard_ram)
}
/* Filter coefficients tables. Note: Values are multiplied by *16777216 to left shift 24 bits. (i.e. 8.24 fixed point) */
int qidx;
for (qidx = 0; qidx < 16; qidx++) {
for (uint8_t qidx = 0; qidx < 16; qidx++) {
out = 125.0; /* Start at 125Hz */
for (c = 0; c < 256; c++) {
#ifdef FILTER_INITIAL

View File

@@ -202,7 +202,8 @@ void
writegus(uint16_t addr, uint8_t val, void *p)
{
gus_t *gus = (gus_t *) p;
int c, d;
int c;
int d;
int old;
uint16_t port;
#if defined(DEV_BRANCH) && defined(USE_GUSMAX)
@@ -925,7 +926,6 @@ gus_poll_wave(void *p)
{
gus_t *gus = (gus_t *) p;
uint32_t addr;
int d;
int16_t v;
int32_t vl;
int update_irqs = 0;
@@ -938,7 +938,7 @@ gus_poll_wave(void *p)
if ((gus->reset & 3) != 3)
return;
for (d = 0; d < 32; d++) {
for (uint8_t d = 0; d < 32; d++) {
if (!(gus->ctrl[d] & 3)) {
if (gus->ctrl[d] & 4) {
addr = gus->cur[d] >> 9;
@@ -1058,7 +1058,6 @@ static void
gus_get_buffer(int32_t *buffer, int len, void *p)
{
gus_t *gus = (gus_t *) p;
int c;
#if defined(DEV_BRANCH) && defined(USE_GUSMAX)
if (gus->max_ctrl)
@@ -1066,7 +1065,7 @@ gus_get_buffer(int32_t *buffer, int len, void *p)
#endif
gus_update(gus);
for (c = 0; c < len * 2; c++) {
for (int c = 0; c < len * 2; c++) {
#if defined(DEV_BRANCH) && defined(USE_GUSMAX)
if (gus->max_ctrl)
buffer[c] += (int32_t) (gus->ad1848.buffer[c] / 2);
@@ -1105,14 +1104,13 @@ static int
gus_input_sysex(void *p, uint8_t *buffer, uint32_t len, int abort)
{
gus_t *gus = (gus_t *) p;
uint32_t i;
if (abort) {
gus->sysex = 0;
return 0;
}
gus->sysex = 1;
for (i = 0; i < len; i++) {
for (uint32_t i = 0; i < len; i++) {
if (gus->midi_r == gus->midi_w)
return (len - i);
gus->midi_queue[gus->midi_w++] = buffer[i];

View File

@@ -67,11 +67,10 @@ static void
dac_get_buffer(int32_t *buffer, int len, void *p)
{
lpt_dac_t *lpt_dac = (lpt_dac_t *) p;
int c;
dac_update(lpt_dac);
for (c = 0; c < len; c++) {
for (int c = 0; c < len; c++) {
buffer[c * 2] += dac_iir(0, lpt_dac->buffer[0][c]);
buffer[c * 2 + 1] += dac_iir(1, lpt_dac->buffer[1][c]);
}

View File

@@ -77,13 +77,12 @@ static void
dss_get_buffer(int32_t *buffer, int len, void *p)
{
dss_t *dss = (dss_t *) p;
int c;
int16_t val;
float fval;
dss_update(dss);
for (c = 0; c < len * 2; c += 2) {
for (int c = 0; c < len * 2; c += 2) {
fval = dss_iir((float) dss->buffer[c >> 1]);
val = (float) fval;

Some files were not shown because too many files have changed in this diff Show More