diff --git a/src/86box.c b/src/86box.c index f46d3c64a..e2541f55d 100644 --- a/src/86box.c +++ b/src/86box.c @@ -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; } } diff --git a/src/crcspeed/crc64speed.c b/src/crcspeed/crc64speed.c index e4cccdc69..b32990b12 100644 --- a/src/crcspeed/crc64speed.c +++ b/src/crcspeed/crc64speed.c @@ -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}}; diff --git a/src/disk/hdc.c b/src/disk/hdc.c index bae818b9a..f1ef1ecf6 100644 --- a/src/disk/hdc.c +++ b/src/disk/hdc.c @@ -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 diff --git a/src/disk/hdc_esdi_at.c b/src/disk/hdc_esdi_at.c index 66c7a0231..7c0d08fca 100644 --- a/src/disk/hdc_esdi_at.c +++ b/src/disk/hdc_esdi_at.c @@ -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); diff --git a/src/disk/hdc_esdi_mca.c b/src/disk/hdc_esdi_mca.c index 47fcdb1b7..f8686ba4e 100644 --- a/src/disk/hdc_esdi_mca.c +++ b/src/disk/hdc_esdi_mca.c @@ -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); diff --git a/src/disk/hdc_ide.c b/src/disk/hdc_ide.c index a99136544..2bd1b8b8a 100644 --- a/src/disk/hdc_ide.c +++ b/src/disk/hdc_ide.c @@ -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); } diff --git a/src/disk/hdc_ide_cmd640.c b/src/disk/hdc_ide_cmd640.c index 1dd92e79e..6f8580cba 100644 --- a/src/disk/hdc_ide_cmd640.c +++ b/src/disk/hdc_ide_cmd640.c @@ -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(); diff --git a/src/disk/hdc_ide_cmd646.c b/src/disk/hdc_ide_cmd646.c index df992b41b..a9f5eb883 100644 --- a/src/disk/hdc_ide_cmd646.c +++ b/src/disk/hdc_ide_cmd646.c @@ -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(); diff --git a/src/disk/hdc_ide_sff8038i.c b/src/disk/hdc_ide_sff8038i.c index b5c75a756..a2c80ac7f 100644 --- a/src/disk/hdc_ide_sff8038i.c +++ b/src/disk/hdc_ide_sff8038i.c @@ -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"; diff --git a/src/disk/hdc_st506_at.c b/src/disk/hdc_st506_at.c index 2eee8d294..88fd7192b 100644 --- a/src/disk/hdc_st506_at.c +++ b/src/disk/hdc_st506_at.c @@ -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); diff --git a/src/disk/hdc_st506_xt.c b/src/disk/hdc_st506_xt.c index e42516c3f..6f9358e0a 100644 --- a/src/disk/hdc_st506_xt.c +++ b/src/disk/hdc_st506_xt.c @@ -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); diff --git a/src/disk/hdc_xta.c b/src/disk/hdc_xta.c index 0ac095929..e698df7ff 100644 --- a/src/disk/hdc_xta.c +++ b/src/disk/hdc_xta.c @@ -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); diff --git a/src/disk/hdc_xtide.c b/src/disk/hdc_xtide.c index 72ad580ae..d1baba8be 100644 --- a/src/disk/hdc_xtide.c +++ b/src/disk/hdc_xtide.c @@ -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 diff --git a/src/disk/hdd.c b/src/disk/hdd.c index 61a355b44..c4daf0f83 100644 --- a/src/disk/hdd.c +++ b/src/disk/hdd.c @@ -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) { diff --git a/src/disk/hdd_image.c b/src/disk/hdd_image.c index 4007f13f3..2f3389403 100644 --- a/src/disk/hdd_image.c +++ b/src/disk/hdd_image.c @@ -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; diff --git a/src/disk/mo.c b/src/disk/mo.c index 2180fe544..5a76d4394 100644 --- a/src/disk/mo.c +++ b/src/disk/mo.c @@ -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; diff --git a/src/disk/zip.c b/src/disk/zip.c index a0107d1ef..62b8f0fe1 100644 --- a/src/disk/zip.c +++ b/src/disk/zip.c @@ -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; diff --git a/src/floppy/fdd_imd.c b/src/floppy/fdd_imd.c index 81a1cfe4c..c03481db3 100644 --- a/src/floppy/fdd_imd.c +++ b/src/floppy/fdd_imd.c @@ -218,8 +218,6 @@ track_is_xdf(int drive, int side, int track) return 0; } - - return 0; } static int diff --git a/src/floppy/fdi2raw.c b/src/floppy/fdi2raw.c index 17e070f24..0be984d8a 100644 --- a/src/floppy/fdi2raw.c +++ b/src/floppy/fdi2raw.c @@ -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)); } diff --git a/src/minitrace/minitrace.c b/src/minitrace/minitrace.c index 0b2208605..36a3a535b 100644 --- a/src/minitrace/minitrace.c +++ b/src/minitrace/minitrace.c @@ -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); diff --git a/src/network/net_3c501.c b/src/network/net_3c501.c index 5f542e41a..0c73ea028 100644 --- a/src/network/net_3c501.c +++ b/src/network/net_3c501.c @@ -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 diff --git a/src/network/net_3c503.c b/src/network/net_3c503.c index 9e4f9c12b..ce4650456 100644 --- a/src/network/net_3c503.c +++ b/src/network/net_3c503.c @@ -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 diff --git a/src/network/net_dp8390.c b/src/network/net_dp8390.c index 3b54fdb9d..754f0449a 100644 --- a/src/network/net_dp8390.c +++ b/src/network/net_dp8390.c @@ -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 */ diff --git a/src/network/net_ne2000.c b/src/network/net_ne2000.c index 9a598538d..263d38970 100644 --- a/src/network/net_ne2000.c +++ b/src/network/net_ne2000.c @@ -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 diff --git a/src/network/net_pcap.c b/src/network/net_pcap.c index a672347ca..b9e2f32e8 100644 --- a/src/network/net_pcap.c +++ b/src/network/net_pcap.c @@ -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; } /* diff --git a/src/network/net_pcnet.c b/src/network/net_pcnet.c index 7b48b063f..17dd506fc 100644 --- a/src/network/net_pcnet.c +++ b/src/network/net_pcnet.c @@ -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 diff --git a/src/network/net_slirp.c b/src/network/net_slirp.c index de6ca3043..9e979c380 100644 --- a/src/network/net_slirp.c +++ b/src/network/net_slirp.c @@ -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]; diff --git a/src/network/net_vde.c b/src/network/net_vde.c index 29550b8c9..5bcf1ffff 100644 --- a/src/network/net_vde.c +++ b/src/network/net_vde.c @@ -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); diff --git a/src/network/net_wd8003.c b/src/network/net_wd8003.c index c820e7444..385f4332a 100644 --- a/src/network/net_wd8003.c +++ b/src/network/net_wd8003.c @@ -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 diff --git a/src/network/network.c b/src/network/network.c index dc354a44c..eec85fcb0 100644 --- a/src/network/network.c +++ b/src/network/network.c @@ -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; -} \ No newline at end of file +} diff --git a/src/network/pcap_if.c b/src/network/pcap_if.c index 56fa3eaf1..19abb74c3 100644 --- a/src/network/pcap_if.c +++ b/src/network/pcap_if.c @@ -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; } diff --git a/src/pic.c b/src/pic.c index 53cd76876..ffb370ce2 100644 --- a/src/pic.c +++ b/src/pic.c @@ -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. */ diff --git a/src/printer/prt_escp.c b/src/printer/prt_escp.c index 3595ee97c..f1697e074 100644 --- a/src/printer/prt_escp.c +++ b/src/printer/prt_escp.c @@ -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 diff --git a/src/qt/qt_d3d9renderer.cpp b/src/qt/qt_d3d9renderer.cpp index f2c9fe9f4..868f58274 100644 --- a/src/qt/qt_d3d9renderer.cpp +++ b/src/qt/qt_d3d9renderer.cpp @@ -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)) { diff --git a/src/qt/qt_d3d9renderer.hpp b/src/qt/qt_d3d9renderer.hpp index 2ec7b0327..37c27443b 100644 --- a/src/qt/qt_d3d9renderer.hpp +++ b/src/qt/qt_d3d9renderer.hpp @@ -36,7 +36,8 @@ private: IDirect3DDevice9Ex *d3d9dev = nullptr; IDirect3DSurface9 *d3d9surface = nullptr; - std::atomic surfaceInUse { false }, finalized { false }; + std::atomic surfaceInUse { false }; + std::atomic finalized { false }; bool alreadyInitialized = false; int m_monitor_index = 0; }; diff --git a/src/qt/qt_deviceconfig.cpp b/src/qt/qt_deviceconfig.cpp index 770e28157..233a16851 100644 --- a/src/qt/qt_deviceconfig.cpp +++ b/src/qt/qt_deviceconfig.cpp @@ -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(bios->files[d])); if (p == bios->files_no) { int row = Models::AddEntry(model, bios->name, q); diff --git a/src/qt/qt_harddiskdialog.cpp b/src/qt/qt_harddiskdialog.cpp index 088ef0413..6489b9c77 100644 --- a/src/qt/qt_harddiskdialog.cpp +++ b/src/qt/qt_harddiskdialog.cpp @@ -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; } diff --git a/src/qt/qt_hardwarerenderer.cpp b/src/qt/qt_hardwarerenderer.cpp index 647827e85..ee2ec07df 100644 --- a/src/qt/qt_hardwarerenderer.cpp +++ b/src/qt/qt_hardwarerenderer.cpp @@ -141,7 +141,8 @@ HardwareRenderer::paintGL() { m_context->makeCurrent(this); glClear(GL_COLOR_BUFFER_BIT); - QVector verts, texcoords; + QVector verts; + QVector texcoords; QMatrix4x4 mat; mat.setToIdentity(); mat.ortho(QRectF(0, 0, (qreal) width(), (qreal) height())); diff --git a/src/qt/qt_machinestatus.cpp b/src/qt/qt_machinestatus.cpp index 29b394114..e667ae4eb 100644 --- a/src/qt/qt_machinestatus.cpp +++ b/src/qt/qt_machinestatus.cpp @@ -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 diff --git a/src/qt/qt_main.cpp b/src/qt/qt_main.cpp index a41a3e889..daf13f72d 100644 --- a/src/qt/qt_main.cpp +++ b/src/qt/qt_main.cpp @@ -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; diff --git a/src/qt/qt_mainwindow.cpp b/src/qt/qt_mainwindow.cpp index 8df0dba3d..e7ced9c67 100644 --- a/src/qt/qt_mainwindow.cpp +++ b/src/qt/qt_mainwindow.cpp @@ -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: diff --git a/src/qt/qt_mediahistorymanager.cpp b/src/qt/qt_mediahistorymanager.cpp index b895b46aa..f71f74fbe 100644 --- a/src/qt/qt_mediahistorymanager.cpp +++ b/src/qt/qt_mediahistorymanager.cpp @@ -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(); } diff --git a/src/qt/qt_mediahistorymanager.hpp b/src/qt/qt_mediahistorymanager.hpp index f1942b81c..4eae46f9c 100644 --- a/src/qt/qt_mediahistorymanager.hpp +++ b/src/qt/qt_mediahistorymanager.hpp @@ -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; diff --git a/src/qt/qt_newfloppydialog.cpp b/src/qt/qt_newfloppydialog.cpp index 479b6711f..10c505e3b 100644 --- a/src/qt/qt_newfloppydialog.cpp +++ b/src/qt/qt_newfloppydialog.cpp @@ -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)) { diff --git a/src/qt/qt_platform.cpp b/src/qt/qt_platform.cpp index 125365bc8..749be8b43 100644 --- a/src/qt/qt_platform.cpp +++ b/src/qt/qt_platform.cpp @@ -48,7 +48,9 @@ # include #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 diff --git a/src/qt/qt_renderercommon.cpp b/src/qt/qt_renderercommon.cpp index 47bc33d51..c2b38cd52 100644 --- a/src/qt/qt_renderercommon.cpp +++ b/src/qt/qt_renderercommon.cpp @@ -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; diff --git a/src/qt/qt_renderercommon.hpp b/src/qt/qt_renderercommon.hpp index 97370ea3f..34b28fb30 100644 --- a/src/qt/qt_renderercommon.hpp +++ b/src/qt/qt_renderercommon.hpp @@ -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 buf_usage; diff --git a/src/qt/qt_rendererstack.cpp b/src/qt/qt_rendererstack.cpp index b5ae84d71..f2a7f38ec 100644 --- a/src/qt/qt_rendererstack.cpp +++ b/src/qt/qt_rendererstack.cpp @@ -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 x_abs, y_abs; + std::atomic x_abs; + std::atomic 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, [=]() { diff --git a/src/qt/qt_rendererstack.hpp b/src/qt/qt_rendererstack.hpp index 27e07747c..df52a9542 100644 --- a/src/qt/qt_rendererstack.hpp +++ b/src/qt/qt_rendererstack.hpp @@ -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; diff --git a/src/qt/qt_sdl.c b/src/qt/qt_sdl.c index 857ccf381..6d04acd25 100644 --- a/src/qt/qt_sdl.c +++ b/src/qt/qt_sdl.c @@ -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; diff --git a/src/qt/qt_settings_bus_tracking.cpp b/src/qt/qt_settings_bus_tracking.cpp index c6069e99e..4fe112627 100644 --- a/src/qt/qt_settings_bus_tracking.cpp +++ b/src/qt/qt_settings_bus_tracking.cpp @@ -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 - * Cacodemon345 - * - * Copyright 2022 Miran Grca - * Copyright 2022 Cacodemon345 - */ -#include -#include -#include -#include - -#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 + * Cacodemon345 + * + * Copyright 2022 Miran Grca + * Copyright 2022 Cacodemon345 + */ +#include +#include +#include +#include + +#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; + } +} diff --git a/src/qt/qt_settingsharddisks.cpp b/src/qt/qt_settingsharddisks.cpp index 1b6964898..a66203406 100644 --- a/src/qt/qt_settingsharddisks.cpp +++ b/src/qt/qt_settingsharddisks.cpp @@ -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) diff --git a/src/qt/qt_settingsmachine.cpp b/src/qt/qt_settingsmachine.cpp index fbe30949c..fead5d559 100644 --- a/src/qt/qt_settingsmachine.cpp +++ b/src/qt/qt_settingsmachine.cpp @@ -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 { diff --git a/src/qt/qt_ui.cpp b/src/qt/qt_ui.cpp index 9d52e596a..22dad3fa1 100644 --- a/src/qt/qt_ui.cpp +++ b/src/qt/qt_ui.cpp @@ -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 diff --git a/src/qt/qt_vulkanrenderer.cpp b/src/qt/qt_vulkanrenderer.cpp index 41791a026..73594ea9e 100644 --- a/src/qt/qt_vulkanrenderer.cpp +++ b/src/qt/qt_vulkanrenderer.cpp @@ -1,1013 +1,1015 @@ -/**************************************************************************** -** -** Copyright (C) 2022 Cacodemon345 -** Copyright (C) 2017 The Qt Company Ltd. -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of The Qt Company Ltd nor the names of its -** contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -****************************************************************************/ - -#include -#include -#include "qt_vulkanrenderer.hpp" -#if QT_CONFIG(vulkan) -# include - -extern "C" { -# include <86box/86box.h> -} - -// Use a triangle strip to get a quad. -// -// Note that the vertex data and the projection matrix assume OpenGL. With -// Vulkan Y is negated in clip space and the near/far plane is at 0/1 instead -// of -1/1. These will be corrected for by an extra transformation when -// calculating the modelview-projection matrix. -static float vertexData[] = { // Y up, front = CW - // x, y, z, u, v - -1, -1, 0, 0, 1, - -1, 1, 0, 0, 0, - 1, -1, 0, 1, 1, - 1, 1, 0, 1, 0 -}; - -static const int UNIFORM_DATA_SIZE = 16 * sizeof(float); - -static inline VkDeviceSize -aligned(VkDeviceSize v, VkDeviceSize byteAlign) -{ - return (v + byteAlign - 1) & ~(byteAlign - 1); -} - -VulkanRenderer2::VulkanRenderer2(QVulkanWindow *w) - : m_window(w) -{ -} - -VkShaderModule -VulkanRenderer2::createShader(const QString &name) -{ - QFile file(name); - if (!file.open(QIODevice::ReadOnly)) { - qWarning("Failed to read shader %s", qPrintable(name)); - return VK_NULL_HANDLE; - } - QByteArray blob = file.readAll(); - file.close(); - - VkShaderModuleCreateInfo shaderInfo; - memset(&shaderInfo, 0, sizeof(shaderInfo)); - shaderInfo.sType = VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO; - shaderInfo.codeSize = blob.size(); - shaderInfo.pCode = reinterpret_cast(blob.constData()); - VkShaderModule shaderModule; - VkResult err = m_devFuncs->vkCreateShaderModule(m_window->device(), &shaderInfo, nullptr, &shaderModule); - if (err != VK_SUCCESS) { - qWarning("Failed to create shader module: %d", err); - return VK_NULL_HANDLE; - } - - return shaderModule; -} - -bool -VulkanRenderer2::createTexture() -{ - QImage img(2048, 2048, QImage::Format_RGBA8888_Premultiplied); - img.fill(QColor(0, 0, 0)); - - QVulkanFunctions *f = m_window->vulkanInstance()->functions(); - VkDevice dev = m_window->device(); - - m_texFormat = VK_FORMAT_B8G8R8A8_UNORM; - - // Now we can either map and copy the image data directly, or have to go - // through a staging buffer to copy and convert into the internal optimal - // tiling format. - VkFormatProperties props; - f->vkGetPhysicalDeviceFormatProperties(m_window->physicalDevice(), m_texFormat, &props); - const bool canSampleLinear = (props.linearTilingFeatures & VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT); - const bool canSampleOptimal = (props.optimalTilingFeatures & VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT); - if (!canSampleLinear && !canSampleOptimal) { - qWarning("Neither linear nor optimal image sampling is supported for RGBA8"); - return false; - } - - static bool alwaysStage = qEnvironmentVariableIntValue("QT_VK_FORCE_STAGE_TEX"); - - if (canSampleLinear && !alwaysStage) { - if (!createTextureImage(img.size(), &m_texImage, &m_texMem, - VK_IMAGE_TILING_LINEAR, VK_IMAGE_USAGE_SAMPLED_BIT, - m_window->hostVisibleMemoryIndex())) - return false; - - if (!writeLinearImage(img, m_texImage, m_texMem)) - return false; - - m_texLayoutPending = true; - } else { - if (!createTextureImage(img.size(), &m_texStaging, &m_texStagingMem, - VK_IMAGE_TILING_LINEAR, VK_IMAGE_USAGE_TRANSFER_SRC_BIT, - m_window->hostVisibleMemoryIndex())) - return false; - - if (!createTextureImage(img.size(), &m_texImage, &m_texMem, - VK_IMAGE_TILING_OPTIMAL, VK_IMAGE_USAGE_TRANSFER_DST_BIT | VK_IMAGE_USAGE_SAMPLED_BIT, - m_window->deviceLocalMemoryIndex())) - return false; - - if (!writeLinearImage(img, m_texStaging, m_texStagingMem)) - return false; - - m_texStagingPending = true; - } - - VkImageViewCreateInfo viewInfo; - memset(&viewInfo, 0, sizeof(viewInfo)); - viewInfo.sType = VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO; - viewInfo.image = m_texImage; - viewInfo.viewType = VK_IMAGE_VIEW_TYPE_2D; - viewInfo.format = m_texFormat; - viewInfo.components.r = VK_COMPONENT_SWIZZLE_R; - viewInfo.components.g = VK_COMPONENT_SWIZZLE_G; - viewInfo.components.b = VK_COMPONENT_SWIZZLE_B; - viewInfo.components.a = VK_COMPONENT_SWIZZLE_A; - viewInfo.subresourceRange.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT; - viewInfo.subresourceRange.levelCount = viewInfo.subresourceRange.layerCount = 1; - - VkResult err = m_devFuncs->vkCreateImageView(dev, &viewInfo, nullptr, &m_texView); - if (err != VK_SUCCESS) { - qWarning("Failed to create image view for texture: %d", err); - return false; - } - - m_texSize = img.size(); - - return true; -} - -bool -VulkanRenderer2::createTextureImage(const QSize &size, VkImage *image, VkDeviceMemory *mem, - VkImageTiling tiling, VkImageUsageFlags usage, uint32_t memIndex) -{ - VkDevice dev = m_window->device(); - - VkImageCreateInfo imageInfo; - memset(&imageInfo, 0, sizeof(imageInfo)); - imageInfo.sType = VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO; - imageInfo.imageType = VK_IMAGE_TYPE_2D; - imageInfo.format = m_texFormat; - imageInfo.extent.width = size.width(); - imageInfo.extent.height = size.height(); - imageInfo.extent.depth = 1; - imageInfo.mipLevels = 1; - imageInfo.arrayLayers = 1; - imageInfo.samples = VK_SAMPLE_COUNT_1_BIT; - imageInfo.tiling = tiling; - imageInfo.usage = usage; - imageInfo.initialLayout = VK_IMAGE_LAYOUT_PREINITIALIZED; - - VkResult err = m_devFuncs->vkCreateImage(dev, &imageInfo, nullptr, image); - if (err != VK_SUCCESS) { - qWarning("Failed to create linear image for texture: %d", err); - return false; - } - - VkMemoryRequirements memReq; - m_devFuncs->vkGetImageMemoryRequirements(dev, *image, &memReq); - - if (!(memReq.memoryTypeBits & (1 << memIndex))) { - VkPhysicalDeviceMemoryProperties physDevMemProps; - m_window->vulkanInstance()->functions()->vkGetPhysicalDeviceMemoryProperties(m_window->physicalDevice(), &physDevMemProps); - for (uint32_t i = 0; i < physDevMemProps.memoryTypeCount; ++i) { - if (!(memReq.memoryTypeBits & (1 << i))) - continue; - memIndex = i; - } - } - - VkMemoryAllocateInfo allocInfo = { - VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO, - nullptr, - memReq.size, - memIndex - }; - qDebug("allocating %u bytes for texture image", uint32_t(memReq.size)); - - err = m_devFuncs->vkAllocateMemory(dev, &allocInfo, nullptr, mem); - if (err != VK_SUCCESS) { - qWarning("Failed to allocate memory for linear image: %d", err); - return false; - } - - err = m_devFuncs->vkBindImageMemory(dev, *image, *mem, 0); - if (err != VK_SUCCESS) { - qWarning("Failed to bind linear image memory: %d", err); - return false; - } - - return true; -} - -bool -VulkanRenderer2::writeLinearImage(const QImage &img, VkImage image, VkDeviceMemory memory) -{ - VkDevice dev = m_window->device(); - - VkImageSubresource subres = { - VK_IMAGE_ASPECT_COLOR_BIT, - 0, // mip level - 0 - }; - VkSubresourceLayout layout; - m_devFuncs->vkGetImageSubresourceLayout(dev, image, &subres, &layout); - - uchar *p; - VkResult err = m_devFuncs->vkMapMemory(dev, memory, layout.offset, layout.size, 0, reinterpret_cast(&p)); - if (err != VK_SUCCESS) { - qWarning("Failed to map memory for linear image: %d", err); - return false; - } - - for (int y = 0; y < img.height(); ++y) { - const uchar *line = img.constScanLine(y); - memcpy(p, line, img.width() * 4); - p += layout.rowPitch; - } - - m_devFuncs->vkUnmapMemory(dev, memory); - return true; -} - -void -VulkanRenderer2::ensureTexture() -{ - if (!m_texLayoutPending && !m_texStagingPending) - return; - - Q_ASSERT(m_texLayoutPending != m_texStagingPending); - VkCommandBuffer cb = m_window->currentCommandBuffer(); - - VkImageMemoryBarrier barrier; - memset(&barrier, 0, sizeof(barrier)); - barrier.sType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER; - barrier.subresourceRange.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT; - barrier.subresourceRange.levelCount = barrier.subresourceRange.layerCount = 1; - - if (m_texLayoutPending) { - m_texLayoutPending = false; - - barrier.oldLayout = VK_IMAGE_LAYOUT_PREINITIALIZED; - barrier.newLayout = VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL; - barrier.srcAccessMask = VK_ACCESS_HOST_WRITE_BIT; - barrier.dstAccessMask = VK_ACCESS_SHADER_READ_BIT; - barrier.image = m_texImage; - - m_devFuncs->vkCmdPipelineBarrier(cb, - VK_PIPELINE_STAGE_HOST_BIT, - VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT, - 0, 0, nullptr, 0, nullptr, - 1, &barrier); - - VkDevice dev = m_window->device(); - - VkImageSubresource subres = { - VK_IMAGE_ASPECT_COLOR_BIT, - 0, // mip level - 0 - }; - VkSubresourceLayout layout; - m_devFuncs->vkGetImageSubresourceLayout(dev, m_texImage, &subres, &layout); - - VkResult err = m_devFuncs->vkMapMemory(dev, m_texMem, layout.offset, layout.size, 0, reinterpret_cast(&mappedPtr)); - if (err != VK_SUCCESS) { - qWarning("Failed to map memory for linear image: %d", err); - return emit qobject_cast(m_window)->errorInitializing(); - } - imagePitch = layout.rowPitch; - - if (qobject_cast(m_window)) { - emit qobject_cast(m_window)->rendererInitialized(); - } - } else { - m_texStagingPending = false; - - if (!m_texStagingTransferLayout) { - barrier.oldLayout = VK_IMAGE_LAYOUT_PREINITIALIZED; - barrier.newLayout = VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL; - barrier.srcAccessMask = VK_ACCESS_HOST_WRITE_BIT; - barrier.dstAccessMask = VK_ACCESS_TRANSFER_READ_BIT; - barrier.image = m_texStaging; - m_devFuncs->vkCmdPipelineBarrier(cb, - VK_PIPELINE_STAGE_HOST_BIT, - VK_PIPELINE_STAGE_TRANSFER_BIT, - 0, 0, nullptr, 0, nullptr, - 1, &barrier); - - barrier.oldLayout = VK_IMAGE_LAYOUT_PREINITIALIZED; - barrier.newLayout = VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL; - barrier.srcAccessMask = 0; - barrier.dstAccessMask = VK_ACCESS_TRANSFER_WRITE_BIT; - barrier.image = m_texImage; - m_devFuncs->vkCmdPipelineBarrier(cb, - VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT, - VK_PIPELINE_STAGE_TRANSFER_BIT, - 0, 0, nullptr, 0, nullptr, - 1, &barrier); - - VkDevice dev = m_window->device(); - - VkImageSubresource subres = { - VK_IMAGE_ASPECT_COLOR_BIT, - 0, // mip level - 0 - }; - VkSubresourceLayout layout; - m_devFuncs->vkGetImageSubresourceLayout(dev, m_texStaging, &subres, &layout); - - VkResult err = m_devFuncs->vkMapMemory(dev, m_texStagingMem, layout.offset, layout.size, 0, reinterpret_cast(&mappedPtr)); - if (err != VK_SUCCESS) { - qWarning("Failed to map memory for linear image: %d", err); - return emit qobject_cast(m_window)->errorInitializing(); - } - imagePitch = layout.rowPitch; - - if (qobject_cast(m_window)) { - emit qobject_cast(m_window)->rendererInitialized(); - } - - m_texStagingTransferLayout = true; - } - - VkImageCopy copyInfo; - memset(©Info, 0, sizeof(copyInfo)); - copyInfo.srcSubresource.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT; - copyInfo.srcSubresource.layerCount = 1; - copyInfo.dstSubresource.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT; - copyInfo.dstSubresource.layerCount = 1; - copyInfo.extent.width = m_texSize.width(); - copyInfo.extent.height = m_texSize.height(); - copyInfo.extent.depth = 1; - m_devFuncs->vkCmdCopyImage(cb, m_texStaging, VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL, - m_texImage, VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, 1, ©Info); - - barrier.oldLayout = VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL; - barrier.newLayout = VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL; - barrier.srcAccessMask = VK_ACCESS_TRANSFER_WRITE_BIT; - barrier.dstAccessMask = VK_ACCESS_SHADER_READ_BIT; - barrier.image = m_texImage; - m_devFuncs->vkCmdPipelineBarrier(cb, - VK_PIPELINE_STAGE_TRANSFER_BIT, - VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT, - 0, 0, nullptr, 0, nullptr, - 1, &barrier); - } -} - -void -VulkanRenderer2::updateSamplers() -{ - static int cur_video_filter_method = -1; - - if (cur_video_filter_method != video_filter_method) { - cur_video_filter_method = video_filter_method; - m_devFuncs->vkDeviceWaitIdle(m_window->device()); - - VkDescriptorImageInfo descImageInfo = { - cur_video_filter_method == 1 ? m_linearSampler : m_sampler, - m_texView, - VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL - }; - - for (int i = 0; i < m_window->concurrentFrameCount(); i++) { - VkWriteDescriptorSet descWrite[2]; - memset(descWrite, 0, sizeof(descWrite)); - descWrite[0].sType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET; - descWrite[0].dstSet = m_descSet[i]; - descWrite[0].dstBinding = 0; - descWrite[0].descriptorCount = 1; - descWrite[0].descriptorType = VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER; - descWrite[0].pBufferInfo = &m_uniformBufInfo[i]; - - descWrite[1].sType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET; - descWrite[1].dstSet = m_descSet[i]; - descWrite[1].dstBinding = 1; - descWrite[1].descriptorCount = 1; - descWrite[1].descriptorType = VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER; - descWrite[1].pImageInfo = &descImageInfo; - m_devFuncs->vkUpdateDescriptorSets(m_window->device(), 2, descWrite, 0, nullptr); - } - } -} - -void -VulkanRenderer2::initResources() -{ - qDebug("initResources"); - - VkDevice dev = m_window->device(); - m_devFuncs = m_window->vulkanInstance()->deviceFunctions(dev); - - // The setup is similar to hellovulkantriangle. The difference is the - // presence of a second vertex attribute (texcoord), a sampler, and that we - // need blending. - - const int concurrentFrameCount = m_window->concurrentFrameCount(); - const VkPhysicalDeviceLimits *pdevLimits = &m_window->physicalDeviceProperties()->limits; - const VkDeviceSize uniAlign = pdevLimits->minUniformBufferOffsetAlignment; - qDebug("uniform buffer offset alignment is %u", (uint) uniAlign); - VkBufferCreateInfo bufInfo; - memset(&bufInfo, 0, sizeof(bufInfo)); - bufInfo.sType = VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO; - // Our internal layout is vertex, uniform, uniform, ... with each uniform buffer start offset aligned to uniAlign. - const VkDeviceSize vertexAllocSize = aligned(sizeof(vertexData), uniAlign); - const VkDeviceSize uniformAllocSize = aligned(UNIFORM_DATA_SIZE, uniAlign); - bufInfo.size = vertexAllocSize + concurrentFrameCount * uniformAllocSize; - bufInfo.usage = VK_BUFFER_USAGE_VERTEX_BUFFER_BIT | VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT; - - VkResult err = m_devFuncs->vkCreateBuffer(dev, &bufInfo, nullptr, &m_buf); - if (err != VK_SUCCESS) { - qWarning("Failed to create buffer: %d", err); - return emit qobject_cast(m_window)->errorInitializing(); - } - - VkMemoryRequirements memReq; - m_devFuncs->vkGetBufferMemoryRequirements(dev, m_buf, &memReq); - - VkMemoryAllocateInfo memAllocInfo = { - VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO, - nullptr, - memReq.size, - m_window->hostVisibleMemoryIndex() - }; - - err = m_devFuncs->vkAllocateMemory(dev, &memAllocInfo, nullptr, &m_bufMem); - if (err != VK_SUCCESS) { - qWarning("Failed to allocate memory: %d", err); - return emit qobject_cast(m_window)->errorInitializing(); - } - - err = m_devFuncs->vkBindBufferMemory(dev, m_buf, m_bufMem, 0); - if (err != VK_SUCCESS) { - qWarning("Failed to bind buffer memory: %d", err); - return emit qobject_cast(m_window)->errorInitializing(); - } - - quint8 *p; - err = m_devFuncs->vkMapMemory(dev, m_bufMem, 0, memReq.size, 0, reinterpret_cast(&p)); - if (err != VK_SUCCESS) { - qWarning("Failed to map memory: %d", err); - return emit qobject_cast(m_window)->errorInitializing(); - } - memcpy(p, vertexData, sizeof(vertexData)); - QMatrix4x4 ident; - memset(m_uniformBufInfo, 0, sizeof(m_uniformBufInfo)); - for (int i = 0; i < concurrentFrameCount; ++i) { - const VkDeviceSize offset = vertexAllocSize + i * uniformAllocSize; - memcpy(p + offset, ident.constData(), 16 * sizeof(float)); - m_uniformBufInfo[i].buffer = m_buf; - m_uniformBufInfo[i].offset = offset; - m_uniformBufInfo[i].range = uniformAllocSize; - } - m_devFuncs->vkUnmapMemory(dev, m_bufMem); - - VkVertexInputBindingDescription vertexBindingDesc = { - 0, // binding - 5 * sizeof(float), - VK_VERTEX_INPUT_RATE_VERTEX - }; - VkVertexInputAttributeDescription vertexAttrDesc[] = { - {// position - 0, // location - 0, // binding - VK_FORMAT_R32G32B32_SFLOAT, - 0 }, - { // texcoord - 1, - 0, - VK_FORMAT_R32G32_SFLOAT, - 3 * sizeof(float)} - }; - - VkPipelineVertexInputStateCreateInfo vertexInputInfo; - vertexInputInfo.sType = VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO; - vertexInputInfo.pNext = nullptr; - vertexInputInfo.flags = 0; - vertexInputInfo.vertexBindingDescriptionCount = 1; - vertexInputInfo.pVertexBindingDescriptions = &vertexBindingDesc; - vertexInputInfo.vertexAttributeDescriptionCount = 2; - vertexInputInfo.pVertexAttributeDescriptions = vertexAttrDesc; - - // Sampler. - VkSamplerCreateInfo samplerInfo; - memset(&samplerInfo, 0, sizeof(samplerInfo)); - samplerInfo.sType = VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO; - samplerInfo.magFilter = VK_FILTER_NEAREST; - samplerInfo.minFilter = VK_FILTER_NEAREST; - samplerInfo.addressModeU = VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE; - samplerInfo.addressModeV = VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE; - samplerInfo.addressModeW = VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE; - samplerInfo.maxAnisotropy = 1.0f; - samplerInfo.maxLod = 0.25; - err = m_devFuncs->vkCreateSampler(dev, &samplerInfo, nullptr, &m_sampler); - if (err != VK_SUCCESS) { - qWarning("Failed to create sampler: %d", err); - return emit qobject_cast(m_window)->errorInitializing(); - } - - samplerInfo.magFilter = VK_FILTER_LINEAR; - samplerInfo.minFilter = VK_FILTER_LINEAR; - err = m_devFuncs->vkCreateSampler(dev, &samplerInfo, nullptr, &m_linearSampler); - if (err != VK_SUCCESS) { - qWarning("Failed to create sampler: %d", err); - return emit qobject_cast(m_window)->errorInitializing(); - } - - // Texture. - if (!createTexture()) { - qWarning("Failed to create texture"); - return emit qobject_cast(m_window)->errorInitializing(); - } - - // Set up descriptor set and its layout. - VkDescriptorPoolSize descPoolSizes[2] = { - {VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, uint32_t(concurrentFrameCount)}, - { VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, uint32_t(concurrentFrameCount)} - }; - VkDescriptorPoolCreateInfo descPoolInfo; - memset(&descPoolInfo, 0, sizeof(descPoolInfo)); - descPoolInfo.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO; - descPoolInfo.maxSets = concurrentFrameCount; - descPoolInfo.poolSizeCount = 2; - descPoolInfo.pPoolSizes = descPoolSizes; - err = m_devFuncs->vkCreateDescriptorPool(dev, &descPoolInfo, nullptr, &m_descPool); - if (err != VK_SUCCESS) { - qWarning("Failed to create descriptor pool: %d", err); - return emit qobject_cast(m_window)->errorInitializing(); - } - - VkDescriptorSetLayoutBinding layoutBinding[2] = { - {0, // binding - VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, - 1, // descriptorCount - VK_SHADER_STAGE_VERTEX_BIT, - nullptr}, - { 1, // binding - VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, - 1, // descriptorCount - VK_SHADER_STAGE_FRAGMENT_BIT, - nullptr} - }; - VkDescriptorSetLayoutCreateInfo descLayoutInfo = { - VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO, - nullptr, - 0, - 2, // bindingCount - layoutBinding - }; - err = m_devFuncs->vkCreateDescriptorSetLayout(dev, &descLayoutInfo, nullptr, &m_descSetLayout); - if (err != VK_SUCCESS) { - qWarning("Failed to create descriptor set layout: %d", err); - return emit qobject_cast(m_window)->errorInitializing(); - } - - for (int i = 0; i < concurrentFrameCount; ++i) { - VkDescriptorSetAllocateInfo descSetAllocInfo = { - VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO, - nullptr, - m_descPool, - 1, - &m_descSetLayout - }; - err = m_devFuncs->vkAllocateDescriptorSets(dev, &descSetAllocInfo, &m_descSet[i]); - if (err != VK_SUCCESS) { - qWarning("Failed to allocate descriptor set: %d", err); - return emit qobject_cast(m_window)->errorInitializing(); - } - - VkWriteDescriptorSet descWrite[2]; - memset(descWrite, 0, sizeof(descWrite)); - descWrite[0].sType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET; - descWrite[0].dstSet = m_descSet[i]; - descWrite[0].dstBinding = 0; - descWrite[0].descriptorCount = 1; - descWrite[0].descriptorType = VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER; - descWrite[0].pBufferInfo = &m_uniformBufInfo[i]; - - VkDescriptorImageInfo descImageInfo = { - video_filter_method == 1 ? m_linearSampler : m_sampler, - m_texView, - VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL - }; - - descWrite[1].sType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET; - descWrite[1].dstSet = m_descSet[i]; - descWrite[1].dstBinding = 1; - descWrite[1].descriptorCount = 1; - descWrite[1].descriptorType = VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER; - descWrite[1].pImageInfo = &descImageInfo; - - m_devFuncs->vkUpdateDescriptorSets(dev, 2, descWrite, 0, nullptr); - } - - // Pipeline cache - VkPipelineCacheCreateInfo pipelineCacheInfo; - memset(&pipelineCacheInfo, 0, sizeof(pipelineCacheInfo)); - pipelineCacheInfo.sType = VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO; - err = m_devFuncs->vkCreatePipelineCache(dev, &pipelineCacheInfo, nullptr, &m_pipelineCache); - if (err != VK_SUCCESS) { - qWarning("Failed to create pipeline cache: %d", err); - return emit qobject_cast(m_window)->errorInitializing(); - } - - // Pipeline layout - VkPipelineLayoutCreateInfo pipelineLayoutInfo; - memset(&pipelineLayoutInfo, 0, sizeof(pipelineLayoutInfo)); - pipelineLayoutInfo.sType = VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO; - pipelineLayoutInfo.setLayoutCount = 1; - pipelineLayoutInfo.pSetLayouts = &m_descSetLayout; - err = m_devFuncs->vkCreatePipelineLayout(dev, &pipelineLayoutInfo, nullptr, &m_pipelineLayout); - if (err != VK_SUCCESS) { - qWarning("Failed to create pipeline layout: %d", err); - return emit qobject_cast(m_window)->errorInitializing(); - } - - // Shaders - /* - #version 440 - - layout(location = 0) in vec4 position; - layout(location = 1) in vec2 texcoord; - - layout(location = 0) out vec2 v_texcoord; - - layout(std140, binding = 0) uniform buf { - mat4 mvp; - } ubuf; - - out gl_PerVertex { vec4 gl_Position; }; - - void main() - { - v_texcoord = texcoord; - gl_Position = ubuf.mvp * position; - } - */ - VkShaderModule vertShaderModule = createShader(QStringLiteral(":/texture_vert.spv")); - /* - #version 440 - - layout(location = 0) in vec2 v_texcoord; - - layout(location = 0) out vec4 fragColor; - - layout(binding = 1) uniform sampler2D tex; - - void main() - { - fragColor = texture(tex, v_texcoord); - } - */ - VkShaderModule fragShaderModule = createShader(QStringLiteral(":/texture_frag.spv")); - - // Graphics pipeline - VkGraphicsPipelineCreateInfo pipelineInfo; - memset(&pipelineInfo, 0, sizeof(pipelineInfo)); - pipelineInfo.sType = VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO; - - VkPipelineShaderStageCreateInfo shaderStages[2] = { - { - VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO, - nullptr, - 0, - VK_SHADER_STAGE_VERTEX_BIT, - vertShaderModule, - "main", - nullptr - }, - { - VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO, - nullptr, - 0, - VK_SHADER_STAGE_FRAGMENT_BIT, - fragShaderModule, - "main", - nullptr - } - }; - pipelineInfo.stageCount = 2; - pipelineInfo.pStages = shaderStages; - - pipelineInfo.pVertexInputState = &vertexInputInfo; - - VkPipelineInputAssemblyStateCreateInfo ia; - memset(&ia, 0, sizeof(ia)); - ia.sType = VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO; - ia.topology = VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP; - pipelineInfo.pInputAssemblyState = &ia; - - // The viewport and scissor will be set dynamically via vkCmdSetViewport/Scissor. - // This way the pipeline does not need to be touched when resizing the window. - VkPipelineViewportStateCreateInfo vp; - memset(&vp, 0, sizeof(vp)); - vp.sType = VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO; - vp.viewportCount = 1; - vp.scissorCount = 1; - pipelineInfo.pViewportState = &vp; - - VkPipelineRasterizationStateCreateInfo rs; - memset(&rs, 0, sizeof(rs)); - rs.sType = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO; - rs.polygonMode = VK_POLYGON_MODE_FILL; - rs.cullMode = VK_CULL_MODE_BACK_BIT; - rs.frontFace = VK_FRONT_FACE_CLOCKWISE; - rs.lineWidth = 1.0f; - pipelineInfo.pRasterizationState = &rs; - - VkPipelineMultisampleStateCreateInfo ms; - memset(&ms, 0, sizeof(ms)); - ms.sType = VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO; - ms.rasterizationSamples = VK_SAMPLE_COUNT_1_BIT; - pipelineInfo.pMultisampleState = &ms; - - VkPipelineDepthStencilStateCreateInfo ds; - memset(&ds, 0, sizeof(ds)); - ds.sType = VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO; - ds.depthTestEnable = VK_TRUE; - ds.depthWriteEnable = VK_TRUE; - ds.depthCompareOp = VK_COMPARE_OP_LESS_OR_EQUAL; - pipelineInfo.pDepthStencilState = &ds; - - VkPipelineColorBlendStateCreateInfo cb; - memset(&cb, 0, sizeof(cb)); - cb.sType = VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO; - // assume pre-multiplied alpha, blend, write out all of rgba - VkPipelineColorBlendAttachmentState att; - memset(&att, 0, sizeof(att)); - att.colorWriteMask = 0xF; - att.blendEnable = VK_TRUE; - att.srcColorBlendFactor = VK_BLEND_FACTOR_ONE; - att.dstColorBlendFactor = VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA; - att.colorBlendOp = VK_BLEND_OP_ADD; - att.srcAlphaBlendFactor = VK_BLEND_FACTOR_ONE; - att.dstAlphaBlendFactor = VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA; - att.alphaBlendOp = VK_BLEND_OP_ADD; - cb.attachmentCount = 1; - cb.pAttachments = &att; - pipelineInfo.pColorBlendState = &cb; - - VkDynamicState dynEnable[] = { VK_DYNAMIC_STATE_VIEWPORT, VK_DYNAMIC_STATE_SCISSOR }; - VkPipelineDynamicStateCreateInfo dyn; - memset(&dyn, 0, sizeof(dyn)); - dyn.sType = VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO; - dyn.dynamicStateCount = sizeof(dynEnable) / sizeof(VkDynamicState); - dyn.pDynamicStates = dynEnable; - pipelineInfo.pDynamicState = &dyn; - - pipelineInfo.layout = m_pipelineLayout; - pipelineInfo.renderPass = m_window->defaultRenderPass(); - - err = m_devFuncs->vkCreateGraphicsPipelines(dev, m_pipelineCache, 1, &pipelineInfo, nullptr, &m_pipeline); - if (err != VK_SUCCESS) { - qWarning("Failed to create graphics pipeline: %d", err); - return emit qobject_cast(m_window)->errorInitializing(); - } - - if (vertShaderModule) - m_devFuncs->vkDestroyShaderModule(dev, vertShaderModule, nullptr); - if (fragShaderModule) - m_devFuncs->vkDestroyShaderModule(dev, fragShaderModule, nullptr); - - pclog("Vulkan device: %s\n", m_window->physicalDeviceProperties()->deviceName); - pclog("Vulkan API version: %d.%d.%d\n", VK_VERSION_MAJOR(m_window->physicalDeviceProperties()->apiVersion), VK_VERSION_MINOR(m_window->physicalDeviceProperties()->apiVersion), VK_VERSION_PATCH(m_window->physicalDeviceProperties()->apiVersion)); - pclog("Vulkan driver version: %d.%d.%d\n", VK_VERSION_MAJOR(m_window->physicalDeviceProperties()->driverVersion), VK_VERSION_MINOR(m_window->physicalDeviceProperties()->driverVersion), VK_VERSION_PATCH(m_window->physicalDeviceProperties()->driverVersion)); -} - -void -VulkanRenderer2::initSwapChainResources() -{ - qDebug("initSwapChainResources"); - - // Projection matrix - m_proj = m_window->clipCorrectionMatrix(); // adjust for Vulkan-OpenGL clip space differences -} - -void -VulkanRenderer2::releaseSwapChainResources() -{ - qDebug("releaseSwapChainResources"); -} - -void -VulkanRenderer2::releaseResources() -{ - qDebug("releaseResources"); - - VkDevice dev = m_window->device(); - - if (m_sampler) { - m_devFuncs->vkDestroySampler(dev, m_sampler, nullptr); - m_sampler = VK_NULL_HANDLE; - } - - if (m_linearSampler) { - m_devFuncs->vkDestroySampler(dev, m_linearSampler, nullptr); - m_linearSampler = VK_NULL_HANDLE; - } - - if (m_texStaging) { - m_devFuncs->vkDestroyImage(dev, m_texStaging, nullptr); - m_texStaging = VK_NULL_HANDLE; - } - - if (m_texStagingMem) { - m_devFuncs->vkFreeMemory(dev, m_texStagingMem, nullptr); - m_texStagingMem = VK_NULL_HANDLE; - } - - if (m_texView) { - m_devFuncs->vkDestroyImageView(dev, m_texView, nullptr); - m_texView = VK_NULL_HANDLE; - } - - if (m_texImage) { - m_devFuncs->vkDestroyImage(dev, m_texImage, nullptr); - m_texImage = VK_NULL_HANDLE; - } - - if (m_texMem) { - m_devFuncs->vkFreeMemory(dev, m_texMem, nullptr); - m_texMem = VK_NULL_HANDLE; - } - - if (m_pipeline) { - m_devFuncs->vkDestroyPipeline(dev, m_pipeline, nullptr); - m_pipeline = VK_NULL_HANDLE; - } - - if (m_pipelineLayout) { - m_devFuncs->vkDestroyPipelineLayout(dev, m_pipelineLayout, nullptr); - m_pipelineLayout = VK_NULL_HANDLE; - } - - if (m_pipelineCache) { - m_devFuncs->vkDestroyPipelineCache(dev, m_pipelineCache, nullptr); - m_pipelineCache = VK_NULL_HANDLE; - } - - if (m_descSetLayout) { - m_devFuncs->vkDestroyDescriptorSetLayout(dev, m_descSetLayout, nullptr); - m_descSetLayout = VK_NULL_HANDLE; - } - - if (m_descPool) { - m_devFuncs->vkDestroyDescriptorPool(dev, m_descPool, nullptr); - m_descPool = VK_NULL_HANDLE; - } - - if (m_buf) { - m_devFuncs->vkDestroyBuffer(dev, m_buf, nullptr); - m_buf = VK_NULL_HANDLE; - } - - if (m_bufMem) { - m_devFuncs->vkFreeMemory(dev, m_bufMem, nullptr); - m_bufMem = VK_NULL_HANDLE; - } -} - -void -VulkanRenderer2::startNextFrame() -{ - VkDevice dev = m_window->device(); - VkCommandBuffer cb = m_window->currentCommandBuffer(); - const QSize sz = m_window->swapChainImageSize(); - - updateSamplers(); - // Add the necessary barriers and do the host-linear -> device-optimal copy, if not yet done. - ensureTexture(); - - VkClearColorValue clearColor = { - {0, 0, 0, 1} - }; - VkClearDepthStencilValue clearDS = { 1, 0 }; - VkClearValue clearValues[2]; - memset(clearValues, 0, sizeof(clearValues)); - clearValues[0].color = clearColor; - clearValues[1].depthStencil = clearDS; - - VkRenderPassBeginInfo rpBeginInfo; - memset(&rpBeginInfo, 0, sizeof(rpBeginInfo)); - rpBeginInfo.sType = VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO; - rpBeginInfo.renderPass = m_window->defaultRenderPass(); - rpBeginInfo.framebuffer = m_window->currentFramebuffer(); - rpBeginInfo.renderArea.extent.width = sz.width(); - rpBeginInfo.renderArea.extent.height = sz.height(); - rpBeginInfo.clearValueCount = 2; - rpBeginInfo.pClearValues = clearValues; - VkCommandBuffer cmdBuf = m_window->currentCommandBuffer(); - m_devFuncs->vkCmdBeginRenderPass(cmdBuf, &rpBeginInfo, VK_SUBPASS_CONTENTS_INLINE); - - quint8 *p; - VkResult err = m_devFuncs->vkMapMemory(dev, m_bufMem, m_uniformBufInfo[m_window->currentFrame()].offset, - UNIFORM_DATA_SIZE, 0, reinterpret_cast(&p)); - if (err != VK_SUCCESS) - qFatal("Failed to map memory: %d", err); - QMatrix4x4 m = m_proj; - // m.rotate(m_rotation, 0, 0, 1); - memcpy(p, m.constData(), 16 * sizeof(float)); - m_devFuncs->vkUnmapMemory(dev, m_bufMem); - p = nullptr; - - // Second pass for texture coordinates. - err = m_devFuncs->vkMapMemory(dev, m_bufMem, 0, - sizeof(vertexData), 0, reinterpret_cast(&p)); - if (err != VK_SUCCESS) - qFatal("Failed to map memory: %d", err); - - float *floatData = (float *) p; - auto source = qobject_cast(m_window)->source; - auto destination = qobject_cast(m_window)->destination; - floatData[3] = (float) source.x() / 2048.f; - floatData[9] = (float) (source.y()) / 2048.f; - floatData[8] = (float) source.x() / 2048.f; - floatData[4] = (float) (source.y() + source.height()) / 2048.f; - floatData[13] = (float) (source.x() + source.width()) / 2048.f; - floatData[19] = (float) (source.y()) / 2048.f; - floatData[18] = (float) (source.x() + source.width()) / 2048.f; - floatData[14] = (float) (source.y() + source.height()) / 2048.f; - - m_devFuncs->vkUnmapMemory(dev, m_bufMem); - - m_devFuncs->vkCmdBindPipeline(cb, VK_PIPELINE_BIND_POINT_GRAPHICS, m_pipeline); - m_devFuncs->vkCmdBindDescriptorSets(cb, VK_PIPELINE_BIND_POINT_GRAPHICS, m_pipelineLayout, 0, 1, - &m_descSet[m_window->currentFrame()], 0, nullptr); - VkDeviceSize vbOffset = 0; - m_devFuncs->vkCmdBindVertexBuffers(cb, 0, 1, &m_buf, &vbOffset); - - VkViewport viewport; - viewport.x = destination.x() * m_window->devicePixelRatio(); - viewport.y = destination.y() * m_window->devicePixelRatio(); - viewport.width = destination.width() * m_window->devicePixelRatio(); - viewport.height = destination.height() * m_window->devicePixelRatio(); - viewport.minDepth = 0; - viewport.maxDepth = 1; - m_devFuncs->vkCmdSetViewport(cb, 0, 1, &viewport); - - VkRect2D scissor; - scissor.offset.x = viewport.x; - scissor.offset.y = viewport.y; - scissor.extent.width = viewport.width; - scissor.extent.height = viewport.height; - m_devFuncs->vkCmdSetScissor(cb, 0, 1, &scissor); - - m_devFuncs->vkCmdDraw(cb, 4, 1, 0, 0); - - m_devFuncs->vkCmdEndRenderPass(cmdBuf); - - if (m_texStagingTransferLayout) { - VkImageMemoryBarrier barrier {}; - barrier.sType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER; - barrier.subresourceRange.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT; - barrier.subresourceRange.levelCount = barrier.subresourceRange.layerCount = 1; - barrier.newLayout = VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL; - barrier.oldLayout = VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL; - barrier.dstAccessMask = VK_ACCESS_TRANSFER_WRITE_BIT; - barrier.srcAccessMask = VK_ACCESS_SHADER_READ_BIT; - barrier.image = m_texImage; - m_devFuncs->vkCmdPipelineBarrier(cb, - VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT, - VK_PIPELINE_STAGE_TRANSFER_BIT, - 0, 0, nullptr, 0, nullptr, - 1, &barrier); - m_texStagingPending = true; - } - - m_window->frameReady(); - m_window->requestUpdate(); // render continuously, throttled by the presentation rate -} -#endif +/**************************************************************************** +** +** Copyright (C) 2022 Cacodemon345 +** Copyright (C) 2017 The Qt Company Ltd. +** +** "Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are +** met: +** * Redistributions of source code must retain the above copyright +** notice, this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright +** notice, this list of conditions and the following disclaimer in +** the documentation and/or other materials provided with the +** distribution. +** * Neither the name of The Qt Company Ltd nor the names of its +** contributors may be used to endorse or promote products derived +** from this software without specific prior written permission. +** +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** +****************************************************************************/ + +#include +#include +#include "qt_vulkanrenderer.hpp" +#if QT_CONFIG(vulkan) +# include + +extern "C" { +# include <86box/86box.h> +} + +// Use a triangle strip to get a quad. +// +// Note that the vertex data and the projection matrix assume OpenGL. With +// Vulkan Y is negated in clip space and the near/far plane is at 0/1 instead +// of -1/1. These will be corrected for by an extra transformation when +// calculating the modelview-projection matrix. +static float vertexData[] = { // Y up, front = CW + // x, y, z, u, v + -1, -1, 0, 0, 1, + -1, 1, 0, 0, 0, + 1, -1, 0, 1, 1, + 1, 1, 0, 1, 0 +}; + +static const int UNIFORM_DATA_SIZE = 16 * sizeof(float); + +static inline VkDeviceSize +aligned(VkDeviceSize v, VkDeviceSize byteAlign) +{ + return (v + byteAlign - 1) & ~(byteAlign - 1); +} + +VulkanRenderer2::VulkanRenderer2(QVulkanWindow *w) + : m_window(w) +{ +} + +VkShaderModule +VulkanRenderer2::createShader(const QString &name) +{ + QFile file(name); + if (!file.open(QIODevice::ReadOnly)) { + qWarning("Failed to read shader %s", qPrintable(name)); + return VK_NULL_HANDLE; + } + QByteArray blob = file.readAll(); + file.close(); + + VkShaderModuleCreateInfo shaderInfo; + memset(&shaderInfo, 0, sizeof(shaderInfo)); + shaderInfo.sType = VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO; + shaderInfo.codeSize = blob.size(); + shaderInfo.pCode = reinterpret_cast(blob.constData()); + VkShaderModule shaderModule; + VkResult err = m_devFuncs->vkCreateShaderModule(m_window->device(), &shaderInfo, nullptr, &shaderModule); + if (err != VK_SUCCESS) { + qWarning("Failed to create shader module: %d", err); + return VK_NULL_HANDLE; + } + + return shaderModule; +} + +bool +VulkanRenderer2::createTexture() +{ + QImage img(2048, 2048, QImage::Format_RGBA8888_Premultiplied); + img.fill(QColor(0, 0, 0)); + + QVulkanFunctions *f = m_window->vulkanInstance()->functions(); + VkDevice dev = m_window->device(); + + m_texFormat = VK_FORMAT_B8G8R8A8_UNORM; + + // Now we can either map and copy the image data directly, or have to go + // through a staging buffer to copy and convert into the internal optimal + // tiling format. + VkFormatProperties props; + f->vkGetPhysicalDeviceFormatProperties(m_window->physicalDevice(), m_texFormat, &props); + const bool canSampleLinear = (props.linearTilingFeatures & VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT); + const bool canSampleOptimal = (props.optimalTilingFeatures & VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT); + if (!canSampleLinear && !canSampleOptimal) { + qWarning("Neither linear nor optimal image sampling is supported for RGBA8"); + return false; + } + + static bool alwaysStage = qEnvironmentVariableIntValue("QT_VK_FORCE_STAGE_TEX"); + + if (canSampleLinear && !alwaysStage) { + if (!createTextureImage(img.size(), &m_texImage, &m_texMem, + VK_IMAGE_TILING_LINEAR, VK_IMAGE_USAGE_SAMPLED_BIT, + m_window->hostVisibleMemoryIndex())) + return false; + + if (!writeLinearImage(img, m_texImage, m_texMem)) + return false; + + m_texLayoutPending = true; + } else { + if (!createTextureImage(img.size(), &m_texStaging, &m_texStagingMem, + VK_IMAGE_TILING_LINEAR, VK_IMAGE_USAGE_TRANSFER_SRC_BIT, + m_window->hostVisibleMemoryIndex())) + return false; + + if (!createTextureImage(img.size(), &m_texImage, &m_texMem, + VK_IMAGE_TILING_OPTIMAL, VK_IMAGE_USAGE_TRANSFER_DST_BIT | VK_IMAGE_USAGE_SAMPLED_BIT, + m_window->deviceLocalMemoryIndex())) + return false; + + if (!writeLinearImage(img, m_texStaging, m_texStagingMem)) + return false; + + m_texStagingPending = true; + } + + VkImageViewCreateInfo viewInfo; + memset(&viewInfo, 0, sizeof(viewInfo)); + viewInfo.sType = VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO; + viewInfo.image = m_texImage; + viewInfo.viewType = VK_IMAGE_VIEW_TYPE_2D; + viewInfo.format = m_texFormat; + viewInfo.components.r = VK_COMPONENT_SWIZZLE_R; + viewInfo.components.g = VK_COMPONENT_SWIZZLE_G; + viewInfo.components.b = VK_COMPONENT_SWIZZLE_B; + viewInfo.components.a = VK_COMPONENT_SWIZZLE_A; + viewInfo.subresourceRange.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT; + viewInfo.subresourceRange.levelCount = viewInfo.subresourceRange.layerCount = 1; + + VkResult err = m_devFuncs->vkCreateImageView(dev, &viewInfo, nullptr, &m_texView); + if (err != VK_SUCCESS) { + qWarning("Failed to create image view for texture: %d", err); + return false; + } + + m_texSize = img.size(); + + return true; +} + +bool +VulkanRenderer2::createTextureImage(const QSize &size, VkImage *image, VkDeviceMemory *mem, + VkImageTiling tiling, VkImageUsageFlags usage, uint32_t memIndex) +{ + VkDevice dev = m_window->device(); + + VkImageCreateInfo imageInfo; + memset(&imageInfo, 0, sizeof(imageInfo)); + imageInfo.sType = VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO; + imageInfo.imageType = VK_IMAGE_TYPE_2D; + imageInfo.format = m_texFormat; + imageInfo.extent.width = size.width(); + imageInfo.extent.height = size.height(); + imageInfo.extent.depth = 1; + imageInfo.mipLevels = 1; + imageInfo.arrayLayers = 1; + imageInfo.samples = VK_SAMPLE_COUNT_1_BIT; + imageInfo.tiling = tiling; + imageInfo.usage = usage; + imageInfo.initialLayout = VK_IMAGE_LAYOUT_PREINITIALIZED; + + VkResult err = m_devFuncs->vkCreateImage(dev, &imageInfo, nullptr, image); + if (err != VK_SUCCESS) { + qWarning("Failed to create linear image for texture: %d", err); + return false; + } + + VkMemoryRequirements memReq; + m_devFuncs->vkGetImageMemoryRequirements(dev, *image, &memReq); + + if (!(memReq.memoryTypeBits & (1 << memIndex))) { + VkPhysicalDeviceMemoryProperties physDevMemProps; + m_window->vulkanInstance()->functions()->vkGetPhysicalDeviceMemoryProperties(m_window->physicalDevice(), &physDevMemProps); + for (uint32_t i = 0; i < physDevMemProps.memoryTypeCount; ++i) { + if (!(memReq.memoryTypeBits & (1 << i))) + continue; + memIndex = i; + } + } + + VkMemoryAllocateInfo allocInfo = { + VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO, + nullptr, + memReq.size, + memIndex + }; + qDebug("allocating %u bytes for texture image", uint32_t(memReq.size)); + + err = m_devFuncs->vkAllocateMemory(dev, &allocInfo, nullptr, mem); + if (err != VK_SUCCESS) { + qWarning("Failed to allocate memory for linear image: %d", err); + return false; + } + + err = m_devFuncs->vkBindImageMemory(dev, *image, *mem, 0); + if (err != VK_SUCCESS) { + qWarning("Failed to bind linear image memory: %d", err); + return false; + } + + return true; +} + +bool +VulkanRenderer2::writeLinearImage(const QImage &img, VkImage image, VkDeviceMemory memory) +{ + VkDevice dev = m_window->device(); + + VkImageSubresource subres = { + VK_IMAGE_ASPECT_COLOR_BIT, + 0, // mip level + 0 + }; + VkSubresourceLayout layout; + m_devFuncs->vkGetImageSubresourceLayout(dev, image, &subres, &layout); + + uchar *p; + VkResult err = m_devFuncs->vkMapMemory(dev, memory, layout.offset, layout.size, 0, reinterpret_cast(&p)); + if (err != VK_SUCCESS) { + qWarning("Failed to map memory for linear image: %d", err); + return false; + } + + for (int y = 0; y < img.height(); ++y) { + const uchar *line = img.constScanLine(y); + memcpy(p, line, img.width() * 4); + p += layout.rowPitch; + } + + m_devFuncs->vkUnmapMemory(dev, memory); + return true; +} + +void +VulkanRenderer2::ensureTexture() +{ + if (!m_texLayoutPending && !m_texStagingPending) + return; + + Q_ASSERT(m_texLayoutPending != m_texStagingPending); + VkCommandBuffer cb = m_window->currentCommandBuffer(); + + VkImageMemoryBarrier barrier; + memset(&barrier, 0, sizeof(barrier)); + barrier.sType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER; + barrier.subresourceRange.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT; + barrier.subresourceRange.levelCount = barrier.subresourceRange.layerCount = 1; + + if (m_texLayoutPending) { + m_texLayoutPending = false; + + barrier.oldLayout = VK_IMAGE_LAYOUT_PREINITIALIZED; + barrier.newLayout = VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL; + barrier.srcAccessMask = VK_ACCESS_HOST_WRITE_BIT; + barrier.dstAccessMask = VK_ACCESS_SHADER_READ_BIT; + barrier.image = m_texImage; + + m_devFuncs->vkCmdPipelineBarrier(cb, + VK_PIPELINE_STAGE_HOST_BIT, + VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT, + 0, 0, nullptr, 0, nullptr, + 1, &barrier); + + VkDevice dev = m_window->device(); + + VkImageSubresource subres = { + VK_IMAGE_ASPECT_COLOR_BIT, + 0, // mip level + 0 + }; + VkSubresourceLayout layout; + m_devFuncs->vkGetImageSubresourceLayout(dev, m_texImage, &subres, &layout); + + VkResult err = m_devFuncs->vkMapMemory(dev, m_texMem, layout.offset, layout.size, 0, reinterpret_cast(&mappedPtr)); + if (err != VK_SUCCESS) { + qWarning("Failed to map memory for linear image: %d", err); + return emit qobject_cast(m_window)->errorInitializing(); + } + imagePitch = layout.rowPitch; + + if (qobject_cast(m_window)) { + emit qobject_cast(m_window)->rendererInitialized(); + } + } else { + m_texStagingPending = false; + + if (!m_texStagingTransferLayout) { + barrier.oldLayout = VK_IMAGE_LAYOUT_PREINITIALIZED; + barrier.newLayout = VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL; + barrier.srcAccessMask = VK_ACCESS_HOST_WRITE_BIT; + barrier.dstAccessMask = VK_ACCESS_TRANSFER_READ_BIT; + barrier.image = m_texStaging; + m_devFuncs->vkCmdPipelineBarrier(cb, + VK_PIPELINE_STAGE_HOST_BIT, + VK_PIPELINE_STAGE_TRANSFER_BIT, + 0, 0, nullptr, 0, nullptr, + 1, &barrier); + + barrier.oldLayout = VK_IMAGE_LAYOUT_PREINITIALIZED; + barrier.newLayout = VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL; + barrier.srcAccessMask = 0; + barrier.dstAccessMask = VK_ACCESS_TRANSFER_WRITE_BIT; + barrier.image = m_texImage; + m_devFuncs->vkCmdPipelineBarrier(cb, + VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT, + VK_PIPELINE_STAGE_TRANSFER_BIT, + 0, 0, nullptr, 0, nullptr, + 1, &barrier); + + VkDevice dev = m_window->device(); + + VkImageSubresource subres = { + VK_IMAGE_ASPECT_COLOR_BIT, + 0, // mip level + 0 + }; + VkSubresourceLayout layout; + m_devFuncs->vkGetImageSubresourceLayout(dev, m_texStaging, &subres, &layout); + + VkResult err = m_devFuncs->vkMapMemory(dev, m_texStagingMem, layout.offset, layout.size, 0, reinterpret_cast(&mappedPtr)); + if (err != VK_SUCCESS) { + qWarning("Failed to map memory for linear image: %d", err); + return emit qobject_cast(m_window)->errorInitializing(); + } + imagePitch = layout.rowPitch; + + if (qobject_cast(m_window)) { + emit qobject_cast(m_window)->rendererInitialized(); + } + + m_texStagingTransferLayout = true; + } + + VkImageCopy copyInfo; + memset(©Info, 0, sizeof(copyInfo)); + copyInfo.srcSubresource.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT; + copyInfo.srcSubresource.layerCount = 1; + copyInfo.dstSubresource.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT; + copyInfo.dstSubresource.layerCount = 1; + copyInfo.extent.width = m_texSize.width(); + copyInfo.extent.height = m_texSize.height(); + copyInfo.extent.depth = 1; + m_devFuncs->vkCmdCopyImage(cb, m_texStaging, VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL, + m_texImage, VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, 1, ©Info); + + barrier.oldLayout = VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL; + barrier.newLayout = VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL; + barrier.srcAccessMask = VK_ACCESS_TRANSFER_WRITE_BIT; + barrier.dstAccessMask = VK_ACCESS_SHADER_READ_BIT; + barrier.image = m_texImage; + m_devFuncs->vkCmdPipelineBarrier(cb, + VK_PIPELINE_STAGE_TRANSFER_BIT, + VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT, + 0, 0, nullptr, 0, nullptr, + 1, &barrier); + } +} + +void +VulkanRenderer2::updateSamplers() +{ + static int cur_video_filter_method = -1; + + if (cur_video_filter_method != video_filter_method) { + cur_video_filter_method = video_filter_method; + m_devFuncs->vkDeviceWaitIdle(m_window->device()); + + VkDescriptorImageInfo descImageInfo = { + cur_video_filter_method == 1 ? m_linearSampler : m_sampler, + m_texView, + VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL + }; + + for (int i = 0; i < m_window->concurrentFrameCount(); i++) { + VkWriteDescriptorSet descWrite[2]; + memset(descWrite, 0, sizeof(descWrite)); + descWrite[0].sType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET; + descWrite[0].dstSet = m_descSet[i]; + descWrite[0].dstBinding = 0; + descWrite[0].descriptorCount = 1; + descWrite[0].descriptorType = VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER; + descWrite[0].pBufferInfo = &m_uniformBufInfo[i]; + + descWrite[1].sType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET; + descWrite[1].dstSet = m_descSet[i]; + descWrite[1].dstBinding = 1; + descWrite[1].descriptorCount = 1; + descWrite[1].descriptorType = VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER; + descWrite[1].pImageInfo = &descImageInfo; + m_devFuncs->vkUpdateDescriptorSets(m_window->device(), 2, descWrite, 0, nullptr); + } + } +} + +void +VulkanRenderer2::initResources() +{ + qDebug("initResources"); + + VkDevice dev = m_window->device(); + m_devFuncs = m_window->vulkanInstance()->deviceFunctions(dev); + + // The setup is similar to hellovulkantriangle. The difference is the + // presence of a second vertex attribute (texcoord), a sampler, and that we + // need blending. + + const int concurrentFrameCount = m_window->concurrentFrameCount(); + const VkPhysicalDeviceLimits *pdevLimits = &m_window->physicalDeviceProperties()->limits; + const VkDeviceSize uniAlign = pdevLimits->minUniformBufferOffsetAlignment; + qDebug("uniform buffer offset alignment is %u", (uint) uniAlign); + VkBufferCreateInfo bufInfo; + memset(&bufInfo, 0, sizeof(bufInfo)); + bufInfo.sType = VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO; + // Our internal layout is vertex, uniform, uniform, ... with each uniform buffer start offset aligned to uniAlign. + const VkDeviceSize vertexAllocSize = aligned(sizeof(vertexData), uniAlign); + const VkDeviceSize uniformAllocSize = aligned(UNIFORM_DATA_SIZE, uniAlign); + bufInfo.size = vertexAllocSize + concurrentFrameCount * uniformAllocSize; + bufInfo.usage = VK_BUFFER_USAGE_VERTEX_BUFFER_BIT | VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT; + + VkResult err = m_devFuncs->vkCreateBuffer(dev, &bufInfo, nullptr, &m_buf); + if (err != VK_SUCCESS) { + qWarning("Failed to create buffer: %d", err); + return emit qobject_cast(m_window)->errorInitializing(); + } + + VkMemoryRequirements memReq; + m_devFuncs->vkGetBufferMemoryRequirements(dev, m_buf, &memReq); + + VkMemoryAllocateInfo memAllocInfo = { + VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO, + nullptr, + memReq.size, + m_window->hostVisibleMemoryIndex() + }; + + err = m_devFuncs->vkAllocateMemory(dev, &memAllocInfo, nullptr, &m_bufMem); + if (err != VK_SUCCESS) { + qWarning("Failed to allocate memory: %d", err); + return emit qobject_cast(m_window)->errorInitializing(); + } + + err = m_devFuncs->vkBindBufferMemory(dev, m_buf, m_bufMem, 0); + if (err != VK_SUCCESS) { + qWarning("Failed to bind buffer memory: %d", err); + return emit qobject_cast(m_window)->errorInitializing(); + } + + quint8 *p; + err = m_devFuncs->vkMapMemory(dev, m_bufMem, 0, memReq.size, 0, reinterpret_cast(&p)); + if (err != VK_SUCCESS) { + qWarning("Failed to map memory: %d", err); + return emit qobject_cast(m_window)->errorInitializing(); + } + memcpy(p, vertexData, sizeof(vertexData)); + QMatrix4x4 ident; + memset(m_uniformBufInfo, 0, sizeof(m_uniformBufInfo)); + for (int i = 0; i < concurrentFrameCount; ++i) { + const VkDeviceSize offset = vertexAllocSize + i * uniformAllocSize; + memcpy(p + offset, ident.constData(), 16 * sizeof(float)); + m_uniformBufInfo[i].buffer = m_buf; + m_uniformBufInfo[i].offset = offset; + m_uniformBufInfo[i].range = uniformAllocSize; + } + m_devFuncs->vkUnmapMemory(dev, m_bufMem); + + VkVertexInputBindingDescription vertexBindingDesc = { + 0, // binding + 5 * sizeof(float), + VK_VERTEX_INPUT_RATE_VERTEX + }; + VkVertexInputAttributeDescription vertexAttrDesc[] = { + {// position + 0, // location + 0, // binding + VK_FORMAT_R32G32B32_SFLOAT, + 0 }, + { // texcoord + 1, + 0, + VK_FORMAT_R32G32_SFLOAT, + 3 * sizeof(float)} + }; + + VkPipelineVertexInputStateCreateInfo vertexInputInfo; + vertexInputInfo.sType = VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO; + vertexInputInfo.pNext = nullptr; + vertexInputInfo.flags = 0; + vertexInputInfo.vertexBindingDescriptionCount = 1; + vertexInputInfo.pVertexBindingDescriptions = &vertexBindingDesc; + vertexInputInfo.vertexAttributeDescriptionCount = 2; + vertexInputInfo.pVertexAttributeDescriptions = vertexAttrDesc; + + // Sampler. + VkSamplerCreateInfo samplerInfo; + memset(&samplerInfo, 0, sizeof(samplerInfo)); + samplerInfo.sType = VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO; + samplerInfo.magFilter = VK_FILTER_NEAREST; + samplerInfo.minFilter = VK_FILTER_NEAREST; + samplerInfo.addressModeU = VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE; + samplerInfo.addressModeV = VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE; + samplerInfo.addressModeW = VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE; + samplerInfo.maxAnisotropy = 1.0f; + samplerInfo.maxLod = 0.25; + err = m_devFuncs->vkCreateSampler(dev, &samplerInfo, nullptr, &m_sampler); + if (err != VK_SUCCESS) { + qWarning("Failed to create sampler: %d", err); + return emit qobject_cast(m_window)->errorInitializing(); + } + + samplerInfo.magFilter = VK_FILTER_LINEAR; + samplerInfo.minFilter = VK_FILTER_LINEAR; + err = m_devFuncs->vkCreateSampler(dev, &samplerInfo, nullptr, &m_linearSampler); + if (err != VK_SUCCESS) { + qWarning("Failed to create sampler: %d", err); + return emit qobject_cast(m_window)->errorInitializing(); + } + + // Texture. + if (!createTexture()) { + qWarning("Failed to create texture"); + return emit qobject_cast(m_window)->errorInitializing(); + } + + // Set up descriptor set and its layout. + VkDescriptorPoolSize descPoolSizes[2] = { + {VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, uint32_t(concurrentFrameCount)}, + { VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, uint32_t(concurrentFrameCount)} + }; + VkDescriptorPoolCreateInfo descPoolInfo; + memset(&descPoolInfo, 0, sizeof(descPoolInfo)); + descPoolInfo.sType = VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO; + descPoolInfo.maxSets = concurrentFrameCount; + descPoolInfo.poolSizeCount = 2; + descPoolInfo.pPoolSizes = descPoolSizes; + err = m_devFuncs->vkCreateDescriptorPool(dev, &descPoolInfo, nullptr, &m_descPool); + if (err != VK_SUCCESS) { + qWarning("Failed to create descriptor pool: %d", err); + return emit qobject_cast(m_window)->errorInitializing(); + } + + VkDescriptorSetLayoutBinding layoutBinding[2] = { + {0, // binding + VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, + 1, // descriptorCount + VK_SHADER_STAGE_VERTEX_BIT, + nullptr}, + { 1, // binding + VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, + 1, // descriptorCount + VK_SHADER_STAGE_FRAGMENT_BIT, + nullptr} + }; + VkDescriptorSetLayoutCreateInfo descLayoutInfo = { + VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO, + nullptr, + 0, + 2, // bindingCount + layoutBinding + }; + err = m_devFuncs->vkCreateDescriptorSetLayout(dev, &descLayoutInfo, nullptr, &m_descSetLayout); + if (err != VK_SUCCESS) { + qWarning("Failed to create descriptor set layout: %d", err); + return emit qobject_cast(m_window)->errorInitializing(); + } + + for (int i = 0; i < concurrentFrameCount; ++i) { + VkDescriptorSetAllocateInfo descSetAllocInfo = { + VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO, + nullptr, + m_descPool, + 1, + &m_descSetLayout + }; + err = m_devFuncs->vkAllocateDescriptorSets(dev, &descSetAllocInfo, &m_descSet[i]); + if (err != VK_SUCCESS) { + qWarning("Failed to allocate descriptor set: %d", err); + return emit qobject_cast(m_window)->errorInitializing(); + } + + VkWriteDescriptorSet descWrite[2]; + memset(descWrite, 0, sizeof(descWrite)); + descWrite[0].sType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET; + descWrite[0].dstSet = m_descSet[i]; + descWrite[0].dstBinding = 0; + descWrite[0].descriptorCount = 1; + descWrite[0].descriptorType = VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER; + descWrite[0].pBufferInfo = &m_uniformBufInfo[i]; + + VkDescriptorImageInfo descImageInfo = { + video_filter_method == 1 ? m_linearSampler : m_sampler, + m_texView, + VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL + }; + + descWrite[1].sType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET; + descWrite[1].dstSet = m_descSet[i]; + descWrite[1].dstBinding = 1; + descWrite[1].descriptorCount = 1; + descWrite[1].descriptorType = VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER; + descWrite[1].pImageInfo = &descImageInfo; + + m_devFuncs->vkUpdateDescriptorSets(dev, 2, descWrite, 0, nullptr); + } + + // Pipeline cache + VkPipelineCacheCreateInfo pipelineCacheInfo; + memset(&pipelineCacheInfo, 0, sizeof(pipelineCacheInfo)); + pipelineCacheInfo.sType = VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO; + err = m_devFuncs->vkCreatePipelineCache(dev, &pipelineCacheInfo, nullptr, &m_pipelineCache); + if (err != VK_SUCCESS) { + qWarning("Failed to create pipeline cache: %d", err); + return emit qobject_cast(m_window)->errorInitializing(); + } + + // Pipeline layout + VkPipelineLayoutCreateInfo pipelineLayoutInfo; + memset(&pipelineLayoutInfo, 0, sizeof(pipelineLayoutInfo)); + pipelineLayoutInfo.sType = VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO; + pipelineLayoutInfo.setLayoutCount = 1; + pipelineLayoutInfo.pSetLayouts = &m_descSetLayout; + err = m_devFuncs->vkCreatePipelineLayout(dev, &pipelineLayoutInfo, nullptr, &m_pipelineLayout); + if (err != VK_SUCCESS) { + qWarning("Failed to create pipeline layout: %d", err); + return emit qobject_cast(m_window)->errorInitializing(); + } + + // Shaders +#if 0 + #version 440 + + layout(location = 0) in vec4 position; + layout(location = 1) in vec2 texcoord; + + layout(location = 0) out vec2 v_texcoord; + + layout(std140, binding = 0) uniform buf { + mat4 mvp; + } ubuf; + + out gl_PerVertex { vec4 gl_Position; }; + + void main() + { + v_texcoord = texcoord; + gl_Position = ubuf.mvp * position; + } +#endif + VkShaderModule vertShaderModule = createShader(QStringLiteral(":/texture_vert.spv")); +#if 0 + #version 440 + + layout(location = 0) in vec2 v_texcoord; + + layout(location = 0) out vec4 fragColor; + + layout(binding = 1) uniform sampler2D tex; + + void main() + { + fragColor = texture(tex, v_texcoord); + } +#endif + VkShaderModule fragShaderModule = createShader(QStringLiteral(":/texture_frag.spv")); + + // Graphics pipeline + VkGraphicsPipelineCreateInfo pipelineInfo; + memset(&pipelineInfo, 0, sizeof(pipelineInfo)); + pipelineInfo.sType = VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO; + + VkPipelineShaderStageCreateInfo shaderStages[2] = { + { + VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO, + nullptr, + 0, + VK_SHADER_STAGE_VERTEX_BIT, + vertShaderModule, + "main", + nullptr + }, + { + VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO, + nullptr, + 0, + VK_SHADER_STAGE_FRAGMENT_BIT, + fragShaderModule, + "main", + nullptr + } + }; + pipelineInfo.stageCount = 2; + pipelineInfo.pStages = shaderStages; + + pipelineInfo.pVertexInputState = &vertexInputInfo; + + VkPipelineInputAssemblyStateCreateInfo ia; + memset(&ia, 0, sizeof(ia)); + ia.sType = VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO; + ia.topology = VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP; + pipelineInfo.pInputAssemblyState = &ia; + + // The viewport and scissor will be set dynamically via vkCmdSetViewport/Scissor. + // This way the pipeline does not need to be touched when resizing the window. + VkPipelineViewportStateCreateInfo vp; + memset(&vp, 0, sizeof(vp)); + vp.sType = VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO; + vp.viewportCount = 1; + vp.scissorCount = 1; + pipelineInfo.pViewportState = &vp; + + VkPipelineRasterizationStateCreateInfo rs; + memset(&rs, 0, sizeof(rs)); + rs.sType = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO; + rs.polygonMode = VK_POLYGON_MODE_FILL; + rs.cullMode = VK_CULL_MODE_BACK_BIT; + rs.frontFace = VK_FRONT_FACE_CLOCKWISE; + rs.lineWidth = 1.0f; + pipelineInfo.pRasterizationState = &rs; + + VkPipelineMultisampleStateCreateInfo ms; + memset(&ms, 0, sizeof(ms)); + ms.sType = VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO; + ms.rasterizationSamples = VK_SAMPLE_COUNT_1_BIT; + pipelineInfo.pMultisampleState = &ms; + + VkPipelineDepthStencilStateCreateInfo ds; + memset(&ds, 0, sizeof(ds)); + ds.sType = VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO; + ds.depthTestEnable = VK_TRUE; + ds.depthWriteEnable = VK_TRUE; + ds.depthCompareOp = VK_COMPARE_OP_LESS_OR_EQUAL; + pipelineInfo.pDepthStencilState = &ds; + + VkPipelineColorBlendStateCreateInfo cb; + memset(&cb, 0, sizeof(cb)); + cb.sType = VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO; + // assume pre-multiplied alpha, blend, write out all of rgba + VkPipelineColorBlendAttachmentState att; + memset(&att, 0, sizeof(att)); + att.colorWriteMask = 0xF; + att.blendEnable = VK_TRUE; + att.srcColorBlendFactor = VK_BLEND_FACTOR_ONE; + att.dstColorBlendFactor = VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA; + att.colorBlendOp = VK_BLEND_OP_ADD; + att.srcAlphaBlendFactor = VK_BLEND_FACTOR_ONE; + att.dstAlphaBlendFactor = VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA; + att.alphaBlendOp = VK_BLEND_OP_ADD; + cb.attachmentCount = 1; + cb.pAttachments = &att; + pipelineInfo.pColorBlendState = &cb; + + VkDynamicState dynEnable[] = { VK_DYNAMIC_STATE_VIEWPORT, VK_DYNAMIC_STATE_SCISSOR }; + VkPipelineDynamicStateCreateInfo dyn; + memset(&dyn, 0, sizeof(dyn)); + dyn.sType = VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO; + dyn.dynamicStateCount = sizeof(dynEnable) / sizeof(VkDynamicState); + dyn.pDynamicStates = dynEnable; + pipelineInfo.pDynamicState = &dyn; + + pipelineInfo.layout = m_pipelineLayout; + pipelineInfo.renderPass = m_window->defaultRenderPass(); + + err = m_devFuncs->vkCreateGraphicsPipelines(dev, m_pipelineCache, 1, &pipelineInfo, nullptr, &m_pipeline); + if (err != VK_SUCCESS) { + qWarning("Failed to create graphics pipeline: %d", err); + return emit qobject_cast(m_window)->errorInitializing(); + } + + if (vertShaderModule) + m_devFuncs->vkDestroyShaderModule(dev, vertShaderModule, nullptr); + if (fragShaderModule) + m_devFuncs->vkDestroyShaderModule(dev, fragShaderModule, nullptr); + + pclog("Vulkan device: %s\n", m_window->physicalDeviceProperties()->deviceName); + pclog("Vulkan API version: %d.%d.%d\n", VK_VERSION_MAJOR(m_window->physicalDeviceProperties()->apiVersion), VK_VERSION_MINOR(m_window->physicalDeviceProperties()->apiVersion), VK_VERSION_PATCH(m_window->physicalDeviceProperties()->apiVersion)); + pclog("Vulkan driver version: %d.%d.%d\n", VK_VERSION_MAJOR(m_window->physicalDeviceProperties()->driverVersion), VK_VERSION_MINOR(m_window->physicalDeviceProperties()->driverVersion), VK_VERSION_PATCH(m_window->physicalDeviceProperties()->driverVersion)); +} + +void +VulkanRenderer2::initSwapChainResources() +{ + qDebug("initSwapChainResources"); + + // Projection matrix + m_proj = m_window->clipCorrectionMatrix(); // adjust for Vulkan-OpenGL clip space differences +} + +void +VulkanRenderer2::releaseSwapChainResources() +{ + qDebug("releaseSwapChainResources"); +} + +void +VulkanRenderer2::releaseResources() +{ + qDebug("releaseResources"); + + VkDevice dev = m_window->device(); + + if (m_sampler) { + m_devFuncs->vkDestroySampler(dev, m_sampler, nullptr); + m_sampler = VK_NULL_HANDLE; + } + + if (m_linearSampler) { + m_devFuncs->vkDestroySampler(dev, m_linearSampler, nullptr); + m_linearSampler = VK_NULL_HANDLE; + } + + if (m_texStaging) { + m_devFuncs->vkDestroyImage(dev, m_texStaging, nullptr); + m_texStaging = VK_NULL_HANDLE; + } + + if (m_texStagingMem) { + m_devFuncs->vkFreeMemory(dev, m_texStagingMem, nullptr); + m_texStagingMem = VK_NULL_HANDLE; + } + + if (m_texView) { + m_devFuncs->vkDestroyImageView(dev, m_texView, nullptr); + m_texView = VK_NULL_HANDLE; + } + + if (m_texImage) { + m_devFuncs->vkDestroyImage(dev, m_texImage, nullptr); + m_texImage = VK_NULL_HANDLE; + } + + if (m_texMem) { + m_devFuncs->vkFreeMemory(dev, m_texMem, nullptr); + m_texMem = VK_NULL_HANDLE; + } + + if (m_pipeline) { + m_devFuncs->vkDestroyPipeline(dev, m_pipeline, nullptr); + m_pipeline = VK_NULL_HANDLE; + } + + if (m_pipelineLayout) { + m_devFuncs->vkDestroyPipelineLayout(dev, m_pipelineLayout, nullptr); + m_pipelineLayout = VK_NULL_HANDLE; + } + + if (m_pipelineCache) { + m_devFuncs->vkDestroyPipelineCache(dev, m_pipelineCache, nullptr); + m_pipelineCache = VK_NULL_HANDLE; + } + + if (m_descSetLayout) { + m_devFuncs->vkDestroyDescriptorSetLayout(dev, m_descSetLayout, nullptr); + m_descSetLayout = VK_NULL_HANDLE; + } + + if (m_descPool) { + m_devFuncs->vkDestroyDescriptorPool(dev, m_descPool, nullptr); + m_descPool = VK_NULL_HANDLE; + } + + if (m_buf) { + m_devFuncs->vkDestroyBuffer(dev, m_buf, nullptr); + m_buf = VK_NULL_HANDLE; + } + + if (m_bufMem) { + m_devFuncs->vkFreeMemory(dev, m_bufMem, nullptr); + m_bufMem = VK_NULL_HANDLE; + } +} + +void +VulkanRenderer2::startNextFrame() +{ + VkDevice dev = m_window->device(); + VkCommandBuffer cb = m_window->currentCommandBuffer(); + const QSize sz = m_window->swapChainImageSize(); + + updateSamplers(); + // Add the necessary barriers and do the host-linear -> device-optimal copy, if not yet done. + ensureTexture(); + + VkClearColorValue clearColor = { + {0, 0, 0, 1} + }; + VkClearDepthStencilValue clearDS = { 1, 0 }; + VkClearValue clearValues[2]; + memset(clearValues, 0, sizeof(clearValues)); + clearValues[0].color = clearColor; + clearValues[1].depthStencil = clearDS; + + VkRenderPassBeginInfo rpBeginInfo; + memset(&rpBeginInfo, 0, sizeof(rpBeginInfo)); + rpBeginInfo.sType = VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO; + rpBeginInfo.renderPass = m_window->defaultRenderPass(); + rpBeginInfo.framebuffer = m_window->currentFramebuffer(); + rpBeginInfo.renderArea.extent.width = sz.width(); + rpBeginInfo.renderArea.extent.height = sz.height(); + rpBeginInfo.clearValueCount = 2; + rpBeginInfo.pClearValues = clearValues; + VkCommandBuffer cmdBuf = m_window->currentCommandBuffer(); + m_devFuncs->vkCmdBeginRenderPass(cmdBuf, &rpBeginInfo, VK_SUBPASS_CONTENTS_INLINE); + + quint8 *p; + VkResult err = m_devFuncs->vkMapMemory(dev, m_bufMem, m_uniformBufInfo[m_window->currentFrame()].offset, + UNIFORM_DATA_SIZE, 0, reinterpret_cast(&p)); + if (err != VK_SUCCESS) + qFatal("Failed to map memory: %d", err); + QMatrix4x4 m = m_proj; +#if 0 + m.rotate(m_rotation, 0, 0, 1); +#endif + memcpy(p, m.constData(), 16 * sizeof(float)); + m_devFuncs->vkUnmapMemory(dev, m_bufMem); + p = nullptr; + + // Second pass for texture coordinates. + err = m_devFuncs->vkMapMemory(dev, m_bufMem, 0, + sizeof(vertexData), 0, reinterpret_cast(&p)); + if (err != VK_SUCCESS) + qFatal("Failed to map memory: %d", err); + + float *floatData = (float *) p; + auto source = qobject_cast(m_window)->source; + auto destination = qobject_cast(m_window)->destination; + floatData[3] = (float) source.x() / 2048.f; + floatData[9] = (float) (source.y()) / 2048.f; + floatData[8] = (float) source.x() / 2048.f; + floatData[4] = (float) (source.y() + source.height()) / 2048.f; + floatData[13] = (float) (source.x() + source.width()) / 2048.f; + floatData[19] = (float) (source.y()) / 2048.f; + floatData[18] = (float) (source.x() + source.width()) / 2048.f; + floatData[14] = (float) (source.y() + source.height()) / 2048.f; + + m_devFuncs->vkUnmapMemory(dev, m_bufMem); + + m_devFuncs->vkCmdBindPipeline(cb, VK_PIPELINE_BIND_POINT_GRAPHICS, m_pipeline); + m_devFuncs->vkCmdBindDescriptorSets(cb, VK_PIPELINE_BIND_POINT_GRAPHICS, m_pipelineLayout, 0, 1, + &m_descSet[m_window->currentFrame()], 0, nullptr); + VkDeviceSize vbOffset = 0; + m_devFuncs->vkCmdBindVertexBuffers(cb, 0, 1, &m_buf, &vbOffset); + + VkViewport viewport; + viewport.x = destination.x() * m_window->devicePixelRatio(); + viewport.y = destination.y() * m_window->devicePixelRatio(); + viewport.width = destination.width() * m_window->devicePixelRatio(); + viewport.height = destination.height() * m_window->devicePixelRatio(); + viewport.minDepth = 0; + viewport.maxDepth = 1; + m_devFuncs->vkCmdSetViewport(cb, 0, 1, &viewport); + + VkRect2D scissor; + scissor.offset.x = viewport.x; + scissor.offset.y = viewport.y; + scissor.extent.width = viewport.width; + scissor.extent.height = viewport.height; + m_devFuncs->vkCmdSetScissor(cb, 0, 1, &scissor); + + m_devFuncs->vkCmdDraw(cb, 4, 1, 0, 0); + + m_devFuncs->vkCmdEndRenderPass(cmdBuf); + + if (m_texStagingTransferLayout) { + VkImageMemoryBarrier barrier {}; + barrier.sType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER; + barrier.subresourceRange.aspectMask = VK_IMAGE_ASPECT_COLOR_BIT; + barrier.subresourceRange.levelCount = barrier.subresourceRange.layerCount = 1; + barrier.newLayout = VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL; + barrier.oldLayout = VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL; + barrier.dstAccessMask = VK_ACCESS_TRANSFER_WRITE_BIT; + barrier.srcAccessMask = VK_ACCESS_SHADER_READ_BIT; + barrier.image = m_texImage; + m_devFuncs->vkCmdPipelineBarrier(cb, + VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT, + VK_PIPELINE_STAGE_TRANSFER_BIT, + 0, 0, nullptr, 0, nullptr, + 1, &barrier); + m_texStagingPending = true; + } + + m_window->frameReady(); + m_window->requestUpdate(); // render continuously, throttled by the presentation rate +} +#endif diff --git a/src/qt/qt_winrawinputfilter.cpp b/src/qt/qt_winrawinputfilter.cpp index 3703f47d8..bac049391 100644 --- a/src/qt/qt_winrawinputfilter.cpp +++ b/src/qt/qt_winrawinputfilter.cpp @@ -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) diff --git a/src/qt/sdl_joystick.cpp b/src/qt/sdl_joystick.cpp index 06f0a73b8..bc540fcf6 100644 --- a/src/qt/sdl_joystick.cpp +++ b/src/qt/sdl_joystick.cpp @@ -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; diff --git a/src/qt/win_joystick_rawinput.c b/src/qt/win_joystick_rawinput.c index 2976a54b9..c4424e484 100644 --- a/src/qt/win_joystick_rawinput.c +++ b/src/qt/win_joystick_rawinput.c @@ -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]); diff --git a/src/qt/wl_mouse.cpp b/src/qt/wl_mouse.cpp index 9b23792c8..789712de5 100644 --- a/src/qt/wl_mouse.cpp +++ b/src/qt/wl_mouse.cpp @@ -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 diff --git a/src/qt/xinput2_mouse.cpp b/src/qt/xinput2_mouse.cpp index 68aacc3d5..dafa4ffda 100644 --- a/src/qt/xinput2_mouse.cpp +++ b/src/qt/xinput2_mouse.cpp @@ -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); diff --git a/src/qt/xkbcommon_wl_keyboard.cpp b/src/qt/xkbcommon_wl_keyboard.cpp index 9d2576ab1..8b7e6399a 100644 --- a/src/qt/xkbcommon_wl_keyboard.cpp +++ b/src/qt/xkbcommon_wl_keyboard.cpp @@ -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) diff --git a/src/scsi/scsi.c b/src/scsi/scsi.c index 4e82f67fa..1f1e6eafd 100644 --- a/src/scsi/scsi.c +++ b/src/scsi/scsi.c @@ -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; diff --git a/src/scsi/scsi_aha154x.c b/src/scsi/scsi_aha154x.c index aec89d588..3cfe72760 100644 --- a/src/scsi/scsi_aha154x.c +++ b/src/scsi/scsi_aha154x.c @@ -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 diff --git a/src/scsi/scsi_buslogic.c b/src/scsi/scsi_buslogic.c index 1e0f74d0f..efc2a62ae 100644 --- a/src/scsi/scsi_buslogic.c +++ b/src/scsi/scsi_buslogic.c @@ -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 diff --git a/src/scsi/scsi_cdrom.c b/src/scsi/scsi_cdrom.c index 98716692b..b20a4b4ab 100644 --- a/src/scsi/scsi_cdrom.c +++ b/src/scsi/scsi_cdrom.c @@ -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 */ } diff --git a/src/scsi/scsi_device.c b/src/scsi/scsi_device.c index 721411bd8..42725c91b 100644 --- a/src/scsi/scsi_device.c +++ b/src/scsi/scsi_device.c @@ -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)); diff --git a/src/scsi/scsi_disk.c b/src/scsi/scsi_disk.c index 5cc48b906..f504985ef 100644 --- a/src/scsi/scsi_disk.c +++ b/src/scsi/scsi_disk.c @@ -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; diff --git a/src/scsi/scsi_ncr5380.c b/src/scsi/scsi_ncr5380.c index faa91b093..2d21592c9 100644 --- a/src/scsi/scsi_ncr5380.c +++ b/src/scsi/scsi_ncr5380.c @@ -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 diff --git a/src/scsi/scsi_ncr53c8xx.c b/src/scsi/scsi_ncr53c8xx.c index dfeae7569..482e098e3 100644 --- a/src/scsi/scsi_ncr53c8xx.c +++ b/src/scsi/scsi_ncr53c8xx.c @@ -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 diff --git a/src/scsi/scsi_pcscsi.c b/src/scsi/scsi_pcscsi.c index c4f3143e8..f3dc6ebaf 100644 --- a/src/scsi/scsi_pcscsi.c +++ b/src/scsi/scsi_pcscsi.c @@ -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 diff --git a/src/scsi/scsi_spock.c b/src/scsi/scsi_spock.c index 19fba0fb7..cddf15740 100644 --- a/src/scsi/scsi_spock.c +++ b/src/scsi/scsi_spock.c @@ -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; } diff --git a/src/scsi/scsi_x54x.c b/src/scsi/scsi_x54x.c index 2fa917bf8..dd71b1a05 100644 --- a/src/scsi/scsi_x54x.c +++ b/src/scsi/scsi_x54x.c @@ -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 diff --git a/src/sio/sio_82091aa.c b/src/sio/sio_82091aa.c index 52a8809e9..4011f7ecf 100644 --- a/src/sio/sio_82091aa.c +++ b/src/sio/sio_82091aa.c @@ -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; diff --git a/src/sio/sio_ali5123.c b/src/sio/sio_ali5123.c index 54949a125..68d674b11 100644 --- a/src/sio/sio_ali5123.c +++ b/src/sio/sio_ali5123.c @@ -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) diff --git a/src/sio/sio_fdc37c67x.c b/src/sio/sio_fdc37c67x.c index af8a89bf5..35c7ccc5b 100644 --- a/src/sio/sio_fdc37c67x.c +++ b/src/sio/sio_fdc37c67x.c @@ -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 */ diff --git a/src/sio/sio_fdc37c93x.c b/src/sio/sio_fdc37c93x.c index 110289f1f..80f451e06 100644 --- a/src/sio/sio_fdc37c93x.c +++ b/src/sio/sio_fdc37c93x.c @@ -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 */ diff --git a/src/sio/sio_fdc37m60x.c b/src/sio/sio_fdc37m60x.c index e29734c51..af238c51f 100644 --- a/src/sio/sio_fdc37m60x.c +++ b/src/sio/sio_fdc37m60x.c @@ -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; diff --git a/src/sio/sio_pc87306.c b/src/sio/sio_pc87306.c index 8755775de..088467eeb 100644 --- a/src/sio/sio_pc87306.c +++ b/src/sio/sio_pc87306.c @@ -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; diff --git a/src/sio/sio_pc87307.c b/src/sio/sio_pc87307.c index 6f773a8e1..78cfdcd99 100644 --- a/src/sio/sio_pc87307.c +++ b/src/sio/sio_pc87307.c @@ -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); diff --git a/src/sio/sio_pc87309.c b/src/sio/sio_pc87309.c index 70ed57229..dfa41f601 100644 --- a/src/sio/sio_pc87309.c +++ b/src/sio/sio_pc87309.c @@ -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); diff --git a/src/sio/sio_pc87332.c b/src/sio/sio_pc87332.c index 64dd86665..7f48b899b 100644 --- a/src/sio/sio_pc87332.c +++ b/src/sio/sio_pc87332.c @@ -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 { diff --git a/src/sio/sio_vt82c686.c b/src/sio/sio_vt82c686.c index c7f9c28bc..b03207041 100644 --- a/src/sio/sio_vt82c686.c +++ b/src/sio/sio_vt82c686.c @@ -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 */ diff --git a/src/sio/sio_w83787f.c b/src/sio/sio_w83787f.c index 722f1eef8..280bab6e9 100644 --- a/src/sio/sio_w83787f.c +++ b/src/sio/sio_w83787f.c @@ -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: diff --git a/src/sio/sio_w83977f.c b/src/sio/sio_w83977f.c index 1b6105840..30a4c8b52 100644 --- a/src/sio/sio_w83977f.c +++ b/src/sio/sio_w83977f.c @@ -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) { diff --git a/src/sound/midi.c b/src/sound/midi.c index 0cc8f2b38..50ddaaeb4 100644 --- a/src/sound/midi.c +++ b/src/sound/midi.c @@ -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) diff --git a/src/sound/openal.c b/src/sound/openal.c index a1b870480..8fe101d64 100644 --- a/src/sound/openal.c +++ b/src/sound/openal.c @@ -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); diff --git a/src/sound/snd_ac97_codec.c b/src/sound/snd_ac97_codec.c index 58422a288..51bc6bd2b 100644 --- a/src/sound/snd_ac97_codec.c +++ b/src/sound/snd_ac97_codec.c @@ -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; diff --git a/src/sound/snd_ac97_via.c b/src/sound/snd_ac97_via.c index 6106ebb0b..81babc78b 100644 --- a/src/sound/snd_ac97_via.c +++ b/src/sound/snd_ac97_via.c @@ -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; diff --git a/src/sound/snd_ad1848.c b/src/sound/snd_ad1848.c index f9bc337c1..284836704 100644 --- a/src/sound/snd_ad1848.c +++ b/src/sound/snd_ad1848.c @@ -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 */ diff --git a/src/sound/snd_adlib.c b/src/sound/snd_adlib.c index 2f69bbf9d..d9498d567 100644 --- a/src/sound/snd_adlib.c +++ b/src/sound/snd_adlib.c @@ -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); diff --git a/src/sound/snd_adlibgold.c b/src/sound/snd_adlibgold.c index 5c95194a3..c1b2c3867 100644 --- a/src/sound/snd_adlibgold.c +++ b/src/sound/snd_adlibgold.c @@ -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]; diff --git a/src/sound/snd_audiopci.c b/src/sound/snd_audiopci.c index 47812d84a..6b9d8d792 100644 --- a/src/sound/snd_audiopci.c +++ b/src/sound/snd_audiopci.c @@ -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; diff --git a/src/sound/snd_azt2316a.c b/src/sound/snd_azt2316a.c index ee46ab01b..ee5c982f4 100644 --- a/src/sound/snd_azt2316a.c +++ b/src/sound/snd_azt2316a.c @@ -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); diff --git a/src/sound/snd_cmi8x38.c b/src/sound/snd_cmi8x38.c index d4a54880b..cd0021148 100644 --- a/src/sound/snd_cmi8x38.c +++ b/src/sound/snd_cmi8x38.c @@ -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]; diff --git a/src/sound/snd_cms.c b/src/sound/snd_cms.c index 1b55765fa..b451dea30 100644 --- a/src/sound/snd_cms.c +++ b/src/sound/snd_cms.c @@ -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; diff --git a/src/sound/snd_cs423x.c b/src/sound/snd_cs423x.c index 0a98d9886..58b217fbd 100644 --- a/src/sound/snd_cs423x.c +++ b/src/sound/snd_cs423x.c @@ -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; diff --git a/src/sound/snd_emu8k.c b/src/sound/snd_emu8k.c index b58def3a9..99a703d14 100644 --- a/src/sound/snd_emu8k.c +++ b/src/sound/snd_emu8k.c @@ -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 diff --git a/src/sound/snd_gus.c b/src/sound/snd_gus.c index 1557f97ba..9dfd7269b 100644 --- a/src/sound/snd_gus.c +++ b/src/sound/snd_gus.c @@ -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]; diff --git a/src/sound/snd_lpt_dac.c b/src/sound/snd_lpt_dac.c index f3e679a55..c0712d8be 100644 --- a/src/sound/snd_lpt_dac.c +++ b/src/sound/snd_lpt_dac.c @@ -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]); } diff --git a/src/sound/snd_lpt_dss.c b/src/sound/snd_lpt_dss.c index 7990a2a23..9ae2ffdbe 100644 --- a/src/sound/snd_lpt_dss.c +++ b/src/sound/snd_lpt_dss.c @@ -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; diff --git a/src/sound/snd_mpu401.c b/src/sound/snd_mpu401.c index 328c3c688..0758393cc 100644 --- a/src/sound/snd_mpu401.c +++ b/src/sound/snd_mpu401.c @@ -76,7 +76,8 @@ mpu401_log(const char *fmt, ...) static void MPU401_ReCalcClock(mpu_t *mpu) { - int32_t maxtempo = 240, mintempo = 16; + int32_t mintempo = 16; + int32_t maxtempo = 240; int32_t freq; if (mpu->clock.timebase < 72) { @@ -360,7 +361,10 @@ MPU401_ResetDone(void *priv) static void MPU401_WriteCommand(mpu_t *mpu, uint8_t val) { - uint8_t i, j, was_uart, recmsg[3]; + uint8_t i; + uint8_t j; + uint8_t was_uart; + uint8_t recmsg[3]; if (mpu->state.reset) mpu->state.cmd_pending = val + 1; @@ -685,8 +689,8 @@ MPU401_WriteCommand(mpu_t *mpu, uint8_t val) static void MPU401_WriteData(mpu_t *mpu, uint8_t val) { - static int length, cnt; - uint8_t i; + static int length; + static int cnt; #ifdef DOSBOX_CODE if (mpu->mode == M_UART) { @@ -740,7 +744,7 @@ MPU401_WriteData(mpu_t *mpu, uint8_t val) mpu->state.command_byte = 0; if (!val) val = 64; - for (i = 0; i < 4; i++) + for (uint8_t i = 0; i < 4; i++) mpu->clock.cth_rate[i] = (val >> 2) + cth_data[(val & 3) * 4 + i]; mpu->clock.cth_mode = 0; return; @@ -973,9 +977,12 @@ MPU401_WriteData(mpu_t *mpu, uint8_t val) static void MPU401_IntelligentOut(mpu_t *mpu, uint8_t track) { - uint8_t chan, chrefnum, key, msg; - int send, retrigger; - uint8_t i; + uint8_t chan; + uint8_t chrefnum; + uint8_t key; + uint8_t msg; + int send; + int retrigger; switch (mpu->playbuf[track].type) { case T_OVERFLOW: @@ -1022,7 +1029,7 @@ MPU401_IntelligentOut(mpu_t *mpu, uint8_t track) midi_raw_out_byte(0); } if (send) { - for (i = 0; i < mpu->playbuf[track].length; i++) + for (uint8_t i = 0; i < mpu->playbuf[track].length; i++) midi_raw_out_byte(mpu->playbuf[track].value[i]); } break; @@ -1265,14 +1272,13 @@ mpu401_read(uint16_t addr, void *priv) } /* mpu401_log("MPU401 Read Port %04X, ret %x\n", addr, ret); */ - return (ret); + return ret; } static void MPU401_Event(void *priv) { mpu_t *mpu = (mpu_t *) priv; - uint8_t i; int max_meascnt; mpu401_log("MPU-401 event callback\n"); @@ -1293,7 +1299,7 @@ MPU401_Event(void *priv) goto next_event; if (mpu->state.playing) { - for (i = 0; i < 8; i++) { + for (uint8_t i = 0; i < 8; i++) { /* Decrease counters. */ if (mpu->state.amask & (1 << i)) { mpu->playbuf[i].counter--; @@ -1356,17 +1362,14 @@ next_event: static void MPU401_NotesOff(mpu_t *mpu, int i) { - int j; - uint8_t key; - if (mpu->filter.allnotesoff_out && !(mpu->inputref[i].on && (mpu->inputref[i].key[0] | mpu->inputref[i].key[1] | mpu->inputref[i].key[2] | mpu->inputref[i].key[3]))) { - for (j = 0; j < 4; j++) + for (uint8_t j = 0; j < 4; j++) mpu->chanref[mpu->ch_toref[i]].key[j] = 0; midi_raw_out_byte(0xb0 | i); midi_raw_out_byte(123); midi_raw_out_byte(0); } else if (mpu->chanref[mpu->ch_toref[i]].on) { - for (key = 0; key < 128; key++) { + for (uint8_t key = 0; key < 128; key++) { if ((mpu->chanref[mpu->ch_toref[i]].M_GETKEY) && !(mpu->inputref[i].on && (mpu->inputref[i].M_GETKEY))) { midi_raw_out_byte(0x80 | i); midi_raw_out_byte(key); @@ -1437,12 +1440,17 @@ void MPU401_InputMsg(void *p, uint8_t *msg, uint32_t len) { mpu_t *mpu = (mpu_t *) p; - int i, tick; + int i; + int tick; static uint8_t old_msg = 0; uint8_t key; - uint8_t recdata[2], recmsg[4]; - int send = 1, send_thru = 0; - int retrigger_thru = 0, chan, chrefnum; + uint8_t recdata[2]; + uint8_t recmsg[4]; + int send = 1; + int send_thru = 0; + int retrigger_thru = 0; + int chan; + int chrefnum; /* Abort if sysex transfer is in progress. */ if (!mpu->state.sysex_in_finished) { @@ -1794,7 +1802,7 @@ mpu401_standalone_init(const device_t *info) mpu401_init(mpu, base, irq, M_INTELLIGENT, device_get_config_int("receive_input")); - return (mpu); + return mpu; } static void diff --git a/src/sound/snd_opl_nuked.c b/src/sound/snd_opl_nuked.c index 35049836a..20b956b1d 100644 --- a/src/sound/snd_opl_nuked.c +++ b/src/sound/snd_opl_nuked.c @@ -514,7 +514,8 @@ env_calc(slot_t *slot) uint8_t rate_lo; uint8_t reg_rate = 0; uint8_t ks; - uint8_t eg_shift, shift; + uint8_t eg_shift; + uint8_t shift; uint16_t eg_rout; int16_t eg_inc; uint8_t eg_off; @@ -646,7 +647,8 @@ phase_generate(slot_t *slot) { uint16_t f_num; uint32_t basefreq; - uint8_t rm_xor, n_bit; + uint8_t rm_xor; + uint8_t n_bit; uint32_t noise; uint16_t phase; int8_t range; @@ -891,7 +893,9 @@ channel_setup_alg(chan_t *ch) static void channel_update_rhythm(nuked_t *dev, uint8_t data) { - chan_t *ch6, *ch7, *ch8; + chan_t *ch6; + chan_t *ch7; + chan_t *ch8; uint8_t chnum; dev->rhy = data & 0x3f; @@ -1076,9 +1080,8 @@ static void channel_set_4op(nuked_t *dev, uint8_t data) { uint8_t chnum; - uint8_t bit; - for (bit = 0; bit < 6; bit++) { + for (uint8_t bit = 0; bit < 6; bit++) { chnum = bit; if (bit >= 3) @@ -1104,7 +1107,7 @@ nuked_write_addr(void *priv, uint16_t port, uint8_t val) if ((port & 0x0002) && ((addr == 0x0005) || dev->newm)) addr |= 0x0100; - return (addr); + return addr; } void @@ -1195,7 +1198,8 @@ void nuked_write_reg_buffered(void *priv, uint16_t reg, uint8_t val) { nuked_t *dev = (nuked_t *) priv; - uint64_t time1, time2; + uint64_t time1; + uint64_t time2; if (dev->wrbuf[dev->wrbuf_last].reg & 0x0200) { nuked_write_reg(dev, dev->wrbuf[dev->wrbuf_last].reg & 0x01ff, @@ -1222,8 +1226,10 @@ void nuked_generate(void *priv, int32_t *bufp) { nuked_t *dev = (nuked_t *) priv; - int16_t accm, shift = 0; - uint8_t i, j; + int16_t accm; + int16_t shift = 0; + uint8_t i; + uint8_t j; bufp[1] = dev->mixbuff[1]; @@ -1352,9 +1358,7 @@ nuked_generate_resampled(nuked_t *dev, int32_t *bufp) void nuked_generate_stream(nuked_t *dev, int32_t *sndptr, uint32_t num) { - uint32_t i; - - for (i = 0; i < num; i++) { + for (uint32_t i = 0; i < num; i++) { nuked_generate_resampled(dev, sndptr); sndptr += 2; } diff --git a/src/sound/snd_opl_ymfm.cpp b/src/sound/snd_opl_ymfm.cpp index a446ab01e..8390bc1ed 100644 --- a/src/sound/snd_opl_ymfm.cpp +++ b/src/sound/snd_opl_ymfm.cpp @@ -240,7 +240,8 @@ public: private: ChipType m_chip; uint32_t m_clock; - double m_clock_us, m_subtract[2]; + double m_clock_us; + double m_subtract[2]; typename ChipType::output_data m_output; pc_timer_t m_timers[2]; int32_t m_duration_in_clocks[2]; // Needed for clock switches. @@ -323,7 +324,7 @@ ymfm_drv_close(void *priv) YMFMChipBase *drv = (YMFMChipBase *) priv; if (drv != NULL) - delete (drv); + delete drv; } static uint8_t diff --git a/src/sound/snd_optimc.c b/src/sound/snd_optimc.c index 5f0de7673..11aea6896 100644 --- a/src/sound/snd_optimc.c +++ b/src/sound/snd_optimc.c @@ -108,14 +108,13 @@ static void optimc_get_buffer(int32_t *buffer, int len, void *p) { optimc_t *optimc = (optimc_t *) p; - int c; if (optimc->regs[3] & 0x4) return; /* wss part */ ad1848_update(&optimc->ad1848); - for (c = 0; c < len * 2; c++) + for (int c = 0; c < len * 2; c++) buffer[c] += (optimc->ad1848.buffer[c] / 2); optimc->ad1848.pos = 0; diff --git a/src/sound/snd_pas16.c b/src/sound/snd_pas16.c index 856b29e93..10e6bd1c4 100644 --- a/src/sound/snd_pas16.c +++ b/src/sound/snd_pas16.c @@ -419,7 +419,6 @@ pas16_pit_out(uint16_t port, uint8_t val, void *p) if (!(val & 0x20)) { if (val & 2) pas16->pit.rl[0] = timer_get_remaining_u64(&pas16->pit.timer[0]) / PITCONST; - ; if (val & 4) pas16->pit.rl[1] = pas16->pit.c[1]; if (val & 8) @@ -700,12 +699,11 @@ void pas16_get_buffer(int32_t *buffer, int len, void *p) { pas16_t *pas16 = (pas16_t *) p; - int c; int32_t *opl_buf = pas16->opl.update(pas16->opl.priv); sb_dsp_update(&pas16->dsp); pas16_update(pas16); - for (c = 0; c < len * 2; c++) { + for (int c = 0; c < len * 2; c++) { buffer[c] += opl_buf[c]; buffer[c] += (int16_t) (sb_iir(0, c & 1, (double) pas16->dsp.buffer[c]) / 1.3) / 2; buffer[c] += (pas16->pcm_buffer[c & 1][c >> 1] / 2); diff --git a/src/sound/snd_ps1.c b/src/sound/snd_ps1.c index 471874d4d..d440af9d0 100644 --- a/src/sound/snd_ps1.c +++ b/src/sound/snd_ps1.c @@ -75,7 +75,7 @@ ps1snd_read(uint16_t port, void *priv) ret = 0; } - return (ret); + return ret; } static void @@ -144,11 +144,10 @@ static void ps1snd_get_buffer(int32_t *buffer, int len, void *priv) { ps1snd_t *ps1snd = (ps1snd_t *) priv; - int c; ps1snd_update(ps1snd); - for (c = 0; c < len * 2; c++) + for (int c = 0; c < len * 2; c++) buffer[c] += ps1snd->buffer[c >> 1]; ps1snd->pos = 0; @@ -175,7 +174,7 @@ ps1snd_init(const device_t *info) sound_add_handler(ps1snd_get_buffer, ps1snd); - return (ps1snd); + return ps1snd; } static void diff --git a/src/sound/snd_pssj.c b/src/sound/snd_pssj.c index 8b493e030..705a83517 100644 --- a/src/sound/snd_pssj.c +++ b/src/sound/snd_pssj.c @@ -168,11 +168,10 @@ static void pssj_get_buffer(int32_t *buffer, int len, void *p) { pssj_t *pssj = (pssj_t *) p; - int c; pssj_update(pssj); - for (c = 0; c < len * 2; c++) + for (int c = 0; c < len * 2; c++) buffer[c] += pssj->buffer[c >> 1]; pssj->pos = 0; diff --git a/src/sound/snd_resid.cc b/src/sound/snd_resid.cc index da46b7634..68d9fa71c 100644 --- a/src/sound/snd_resid.cc +++ b/src/sound/snd_resid.cc @@ -21,7 +21,6 @@ void * sid_init(void) { // psid_t *psid; - int c; sampling_method method = SAMPLE_INTERPOLATE; float cycles_per_sec = 14318180.0 / 16.0; @@ -40,7 +39,7 @@ sid_init(void) psid->sid->reset(); - for (c = 0; c < 32; c++) + for (uint8_t c = 0; c < 32; c++) psid->sid->write(c, 0); if (!psid->sid->set_sampling_parameters((float) cycles_per_sec, method, @@ -70,11 +69,10 @@ void sid_reset(UNUSED(void *p)) { // psid_t *psid = (psid_t *)p; - int c; psid->sid->reset(); - for (c = 0; c < 32; c++) + for (uint8_t c = 0; c < 32; c++) psid->sid->write(c, 0); } diff --git a/src/sound/snd_sb.c b/src/sound/snd_sb.c index 086b954bb..84f31f500 100644 --- a/src/sound/snd_sb.c +++ b/src/sound/snd_sb.c @@ -181,8 +181,9 @@ sb_get_buffer_sb2(int32_t *buffer, int len, void *p) { sb_t *sb = (sb_t *) p; sb_ct1335_mixer_t *mixer = &sb->mixer_sb2; - int c; - double out_mono = 0.0, out_l = 0.0, out_r = 0.0; + double out_mono = 0.0; + double out_l = 0.0; + double out_r = 0.0; int32_t *opl_buf = NULL; if (sb->opl_enabled) @@ -193,7 +194,7 @@ sb_get_buffer_sb2(int32_t *buffer, int len, void *p) if (sb->cms_enabled) cms_update(&sb->cms); - for (c = 0; c < len * 2; c += 2) { + for (int c = 0; c < len * 2; c += 2) { out_mono = 0.0; out_l = 0.0; out_r = 0.0; @@ -264,9 +265,10 @@ sb_get_buffer_sbpro(int32_t *buffer, int len, void *p) { sb_t *sb = (sb_t *) p; sb_ct1345_mixer_t *mixer = &sb->mixer_sbpro; - int c; - double out_l = 0.0, out_r = 0.0; - int32_t *opl_buf = NULL, *opl2_buf = NULL; + double out_l = 0.0; + double out_r = 0.0; + int32_t *opl_buf = NULL; + int32_t *opl2_buf = NULL; if (sb->opl_enabled) { if (sb->dsp.sb_type == SBPRO) { @@ -278,7 +280,7 @@ sb_get_buffer_sbpro(int32_t *buffer, int len, void *p) sb_dsp_update(&sb->dsp); - for (c = 0; c < len * 2; c += 2) { + for (int c = 0; c < len * 2; c += 2) { out_l = 0.0, out_r = 0.0; if (sb->opl_enabled) { @@ -345,10 +347,13 @@ sb_get_buffer_sb16_awe32(int32_t *buffer, int len, void *p) { sb_t *sb = (sb_t *) p; sb_ct1745_mixer_t *mixer = &sb->mixer_sb16; - int c, dsp_rec_pos = sb->dsp.record_pos_write; - int c_emu8k, c_record; - int32_t in_l, in_r; - double out_l = 0.0, out_r = 0.0; + int dsp_rec_pos = sb->dsp.record_pos_write; + int c_emu8k; + int c_record; + int32_t in_l; + int32_t in_r; + double out_l = 0.0; + double out_r = 0.0; double bass_treble; int32_t *opl_buf = NULL; @@ -360,8 +365,9 @@ sb_get_buffer_sb16_awe32(int32_t *buffer, int len, void *p) sb_dsp_update(&sb->dsp); - for (c = 0; c < len * 2; c += 2) { - out_l = 0.0, out_r = 0.0; + for (int c = 0; c < len * 2; c += 2) { + out_l = 0.0; + out_r = 0.0; if (sb->dsp.sb_type > SB16) c_emu8k = ((((c / 2) * FREQ_44100) / SOUND_FREQ) * 2); @@ -402,7 +408,7 @@ sb_get_buffer_sb16_awe32(int32_t *buffer, int len, void *p) if (mixer->bass_l > 8) out_l += (low_iir(0, 0, out_l) * bass_treble); else if (mixer->bass_l < 8) - out_l = ((out_l) *bass_treble + low_cut_iir(0, 0, out_l) * (1.0 - bass_treble)); + out_l = (out_l *bass_treble + low_cut_iir(0, 0, out_l) * (1.0 - bass_treble)); } if (mixer->bass_r != 8) { @@ -411,7 +417,7 @@ sb_get_buffer_sb16_awe32(int32_t *buffer, int len, void *p) if (mixer->bass_r > 8) out_r += (low_iir(0, 1, out_r) * bass_treble); else if (mixer->bass_r < 8) - out_r = ((out_r) *bass_treble + low_cut_iir(0, 1, out_r) * (1.0 - bass_treble)); + out_r = (out_r *bass_treble + low_cut_iir(0, 1, out_r) * (1.0 - bass_treble)); } if (mixer->treble_l != 8) { @@ -420,7 +426,7 @@ sb_get_buffer_sb16_awe32(int32_t *buffer, int len, void *p) if (mixer->treble_l > 8) out_l += (high_iir(0, 0, out_l) * bass_treble); else if (mixer->treble_l < 8) - out_l = ((out_l) *bass_treble + high_cut_iir(0, 0, out_l) * (1.0 - bass_treble)); + out_l = (out_l *bass_treble + high_cut_iir(0, 0, out_l) * (1.0 - bass_treble)); } if (mixer->treble_r != 8) { @@ -429,7 +435,7 @@ sb_get_buffer_sb16_awe32(int32_t *buffer, int len, void *p) if (mixer->treble_r > 8) out_r += (high_iir(0, 1, out_r) * bass_treble); else if (mixer->treble_r < 8) - out_r = ((out_l) *bass_treble + high_cut_iir(0, 1, out_r) * (1.0 - bass_treble)); + out_r = (out_l *bass_treble + high_cut_iir(0, 1, out_r) * (1.0 - bass_treble)); } if (sb->dsp.sb_enable_i) { @@ -662,7 +668,7 @@ sb_ct1345_mixer_write(uint16_t addr, uint8_t val, void *p) if (mixer->index == 0xe) sb_dsp_set_stereo(&sb->dsp, val & 2); - switch ((mixer->regs[0xc] & 6)) { + switch (mixer->regs[0xc] & 6) { case 2: mixer->input_selector = INPUT_CD_L | INPUT_CD_R; break; @@ -895,7 +901,8 @@ sb_ct1745_mixer_read(uint16_t addr, void *p) { sb_t *sb = (sb_t *) p; sb_ct1745_mixer_t *mixer = &sb->mixer_sb16; - uint8_t temp, ret = 0xff; + uint8_t temp; + uint8_t ret = 0xff; if (!(addr & 1)) ret = mixer->index; @@ -1218,8 +1225,10 @@ sb_16_reply_mca_read(int port, void *p) static void sb_16_reply_mca_write(int port, uint8_t val, void *p) { - uint16_t addr, mpu401_addr; - int low_dma, high_dma; + uint16_t addr; + uint16_t mpu401_addr; + int low_dma; + int high_dma; sb_t *sb = (sb_t *) p; if (port < 0x102) diff --git a/src/sound/snd_sb_dsp.c b/src/sound/snd_sb_dsp.c index e340c1482..5b9637a81 100644 --- a/src/sound/snd_sb_dsp.c +++ b/src/sound/snd_sb_dsp.c @@ -144,7 +144,8 @@ recalc_sb16_filter(int c, int playback_freq) { /* Cutoff frequency = playback / 2 */ int n; - double w, h; + double w; + double h; double fC = ((double) playback_freq) / (double) FREQ_96000; double gain; @@ -299,8 +300,6 @@ sb_dsp_reset(sb_dsp_t *dsp) void sb_doreset(sb_dsp_t *dsp) { - int c; - sb_dsp_reset(dsp); if (IS_AZTECH(dsp)) { @@ -315,7 +314,7 @@ sb_doreset(sb_dsp_t *dsp) dsp->sb_asp_mode = 0; dsp->sb_asp_ram_index = 0; - for (c = 0; c < 256; c++) + for (uint16_t c = 0; c < 256; c++) dsp->sb_asp_regs[c] = 0; dsp->sb_asp_regs[5] = 0x01; @@ -455,7 +454,8 @@ sb_dsp_setdma16(sb_dsp_t *dsp, int dma) void sb_exec_command(sb_dsp_t *dsp) { - int temp, c; + int temp; + int c; sb_dsp_log("sb_exec_command : SB command %02X\n", dsp->sb_command); @@ -1080,7 +1080,6 @@ int sb_dsp_input_sysex(void *p, uint8_t *buffer, uint32_t len, int abort) { sb_dsp_t *dsp = (sb_dsp_t *) p; - uint32_t i; if (!dsp->uart_irq && !dsp->midi_in_poll && (dsp->mpu != NULL)) return MPU401_InputSysex(dsp->mpu, buffer, len, abort); @@ -1092,7 +1091,7 @@ sb_dsp_input_sysex(void *p, uint8_t *buffer, uint32_t len, int abort) dsp->midi_in_sysex = 1; - for (i = 0; i < len; i++) { + for (uint32_t i = 0; i < len; i++) { if (dsp->sb_read_rp == dsp->sb_read_wp) { sb_dsp_log("Length sysex SB = %d\n", len - i); return (len - i); @@ -1196,7 +1195,8 @@ void pollsb(void *p) { sb_dsp_t *dsp = (sb_dsp_t *) p; - int tempi, ref; + int tempi; + int ref; int data[2]; timer_advance_u64(&dsp->output_timer, dsp->sblatcho); diff --git a/src/sound/snd_sn76489.c b/src/sound/snd_sn76489.c index a28e5b848..56b3538d8 100644 --- a/src/sound/snd_sn76489.c +++ b/src/sound/snd_sn76489.c @@ -24,10 +24,9 @@ void sn76489_update(sn76489_t *sn76489) { for (; sn76489->pos < sound_pos_global; sn76489->pos++) { - int c; int16_t result = 0; - for (c = 1; c < 4; c++) { + for (uint8_t c = 1; c < 4; c++) { if (sn76489->latch[c] > 256) result += (int16_t) (volslog[sn76489->vol[c]] * sn76489->stat[c]); else @@ -64,12 +63,10 @@ sn76489_get_buffer(int32_t *buffer, int len, void *p) { sn76489_t *sn76489 = (sn76489_t *) p; - int c; - sn76489_update(sn76489); if (!sn76489_mute) { - for (c = 0; c < len * 2; c++) + for (int c = 0; c < len * 2; c++) buffer[c] += sn76489->buffer[c >> 1]; } diff --git a/src/sound/snd_speaker.c b/src/sound/snd_speaker.c index 774e4d650..babc8aee1 100644 --- a/src/sound/snd_speaker.c +++ b/src/sound/snd_speaker.c @@ -27,10 +27,14 @@ #include <86box/snd_speaker.h> #include <86box/sound.h> -int speaker_mute = 0, speaker_gated = 0; -int speaker_enable = 0, was_speaker_enable = 0; +int speaker_mute = 0; +int speaker_gated = 0; +int speaker_enable = 0; +int was_speaker_enable = 0; -int gated, speakval, speakon; +int gated; +int speakval; +int speakon; static int32_t speaker_buffer[SOUNDBUFLEN]; static int speaker_pos = 0; @@ -83,12 +87,12 @@ speaker_update(void) void speaker_get_buffer(int32_t *buffer, int len, void *p) { - int32_t c, val; + int32_t val; speaker_update(); if (!speaker_mute) { - for (c = 0; c < len * 2; c += 2) { + for (int c = 0; c < len * 2; c += 2) { val = speaker_buffer[c >> 1]; buffer[c] += val; buffer[c + 1] += val; diff --git a/src/sound/snd_ssi2001.c b/src/sound/snd_ssi2001.c index 4ce948305..7c2a18f5a 100644 --- a/src/sound/snd_ssi2001.c +++ b/src/sound/snd_ssi2001.c @@ -34,11 +34,10 @@ static void ssi2001_get_buffer(int32_t *buffer, int len, void *p) { ssi2001_t *ssi2001 = (ssi2001_t *) p; - int c; ssi2001_update(ssi2001); - for (c = 0; c < len * 2; c++) + for (int c = 0; c < len * 2; c++) buffer[c] += ssi2001->buffer[c >> 1] / 2; ssi2001->pos = 0; diff --git a/src/sound/snd_wss.c b/src/sound/snd_wss.c index 9e37dd745..a3a748374 100644 --- a/src/sound/snd_wss.c +++ b/src/sound/snd_wss.c @@ -79,11 +79,10 @@ static void wss_get_buffer(int32_t *buffer, int len, void *priv) { wss_t *wss = (wss_t *) priv; - int c; int32_t *opl_buf = wss->opl.update(wss->opl.priv); ad1848_update(&wss->ad1848); - for (c = 0; c < len * 2; c++) { + for (int c = 0; c < len * 2; c++) { buffer[c] += opl_buf[c]; buffer[c] += wss->ad1848.buffer[c] / 2; } diff --git a/src/sound/snd_ym7128.c b/src/sound/snd_ym7128.c index a6398628a..e7cf37b2a 100644 --- a/src/sound/snd_ym7128.c +++ b/src/sound/snd_ym7128.c @@ -112,13 +112,13 @@ ym7128_write(ym7128_t *ym7128, uint8_t val) void ym7128_apply(ym7128_t *ym7128, int16_t *buffer, int len) { - int c, d; - - for (c = 0; c < len * 2; c += 4) { + for (int c = 0; c < len * 2; c += 4) { /*YM7128 samples a mono stream at ~24 kHz, so downsample*/ int32_t samp = ((int32_t) buffer[c] + (int32_t) buffer[c + 1] + (int32_t) buffer[c + 2] + (int32_t) buffer[c + 3]) / 4; - int32_t filter_temp, filter_out; - int32_t samp_l = 0, samp_r = 0; + int32_t filter_temp; + int32_t filter_out; + int32_t samp_l = 0; + int32_t samp_r = 0; filter_temp = GET_DELAY_SAMPLE(ym7128, ym7128->t[0]); filter_out = ((filter_temp * ym7128->c0) >> 11) + ((ym7128->filter_dat * ym7128->c1) >> 11); @@ -129,7 +129,7 @@ ym7128_apply(ym7128_t *ym7128, int16_t *buffer, int len) ym7128->delay_buffer[ym7128->delay_pos] = samp; - for (d = 0; d < 8; d++) { + for (uint8_t d = 0; d < 8; d++) { samp_l += (GET_DELAY_SAMPLE(ym7128, ym7128->t[d + 1]) * ym7128->gl[d]) >> 16; samp_r += (GET_DELAY_SAMPLE(ym7128, ym7128->t[d + 1]) * ym7128->gr[d]) >> 16; } diff --git a/src/sound/sound.c b/src/sound/sound.c index d8791d0cf..94fbad394 100644 --- a/src/sound/sound.c +++ b/src/sound/sound.c @@ -70,7 +70,8 @@ static uint64_t sound_poll_latch; static int16_t cd_buffer[CDROM_NUM][CD_BUFLEN * 2]; static float cd_out_buffer[CD_BUFLEN * 2]; static int16_t cd_out_buffer_int16[CD_BUFLEN * 2]; -static unsigned int cd_vol_l, cd_vol_r; +static unsigned int cd_vol_l; +static unsigned int cd_vol_r; static int cd_buf_update = CD_BUFLEN / SOUNDBUFLEN; static volatile int cdaudioon = 0; static int cd_thread_enable = 0; @@ -248,8 +249,11 @@ static void sound_cd_thread(void *param) { uint32_t lba; - int c, r, i, pre, channel_select[2]; - double audio_vol_l, audio_vol_r; + int r; + int pre; + int channel_select[2]; + double audio_vol_l; + double audio_vol_r; double cd_buffer_temp[2] = { 0.0, 0.0 }; thread_set_event(sound_cd_start_event); @@ -263,7 +267,7 @@ sound_cd_thread(void *param) sound_cd_clean_buffers(); - for (i = 0; i < CDROM_NUM; i++) { + for (uint8_t i = 0; i < CDROM_NUM; i++) { if ((cdrom[i].bus_type == CDROM_BUS_DISABLED) || (cdrom[i].cd_status == CD_STATUS_EMPTY)) continue; lba = cdrom[i].seek_pos; @@ -303,7 +307,7 @@ sound_cd_thread(void *param) channel_select[1] = 2; } - for (c = 0; c < CD_BUFLEN * 2; c += 2) { + for (uint16_t c = 0; c < CD_BUFLEN * 2; c += 2) { /*Apply ATAPI channel select*/ cd_buffer_temp[0] = cd_buffer_temp[1] = 0.0; @@ -388,7 +392,6 @@ sound_realloc_buffers(void) void sound_init(void) { - int i = 0; int available_cdrom_drives = 0; outbuffer_ex = NULL; @@ -398,7 +401,7 @@ sound_init(void) outbuffer = calloc(SOUNDBUFLEN * 2, sizeof(int32_t)); memset(outbuffer, 0x00, SOUNDBUFLEN * 2 * sizeof(int32_t)); - for (i = 0; i < CDROM_NUM; i++) { + for (uint8_t i = 0; i < CDROM_NUM; i++) { if (cdrom[i].bus_type != CDROM_BUS_DISABLED) available_cdrom_drives++; } @@ -551,10 +554,9 @@ sound_cd_thread_end(void) void sound_cd_thread_reset(void) { - int i = 0; int available_cdrom_drives = 0; - for (i = 0; i < CDROM_NUM; i++) { + for (uint8_t i = 0; i < CDROM_NUM; i++) { cdrom_stop(&(cdrom[i])); if (cdrom[i].bus_type != CDROM_BUS_DISABLED) diff --git a/src/sound/xaudio2.c b/src/sound/xaudio2.c index 0045135fc..9f26fe517 100644 --- a/src/sound/xaudio2.c +++ b/src/sound/xaudio2.c @@ -221,10 +221,10 @@ givealbuffer_common(void *buf, IXAudio2SourceVoice *sourcevoice, size_t buflen) buffer.Flags = 0; if (sound_is_float) { buffer.pAudioData = calloc(buflen, sizeof(float)); - buffer.AudioBytes = (buflen) * sizeof(float); + buffer.AudioBytes = buflen * sizeof(float); } else { buffer.pAudioData = calloc(buflen, sizeof(int16_t)); - buffer.AudioBytes = (buflen) * sizeof(int16_t); + buffer.AudioBytes = buflen * sizeof(int16_t); } if (buffer.pAudioData == NULL) { fatal("xaudio2: Out Of Memory!"); diff --git a/src/unix/unix.c b/src/unix/unix.c index 23390fae9..8bddc5346 100644 --- a/src/unix/unix.c +++ b/src/unix/unix.c @@ -63,7 +63,8 @@ SDL_mutex *blitmtx; SDL_threadID eventthread; static int exit_event = 0; static int fullscreen_pending = 0; -uint32_t lang_id = 0x0409, lang_sys = 0x0409; // Multilangual UI variables, for now all set to LCID of en-US +uint32_t lang_id = 0x0409; // Multilangual UI variables, for now all set to LCID of en-US +uint32_t lang_sys = 0x0409; // Multilangual UI variables, for now all set to LCID of en-US char icon_set[256] = ""; /* name of the iconset to be used */ static const uint16_t sdl_to_xt[0x200] = { @@ -175,7 +176,10 @@ static const uint16_t sdl_to_xt[0x200] = { }; typedef struct sdl_blit_params { - int x, y, w, h; + int x; + int y; + int w; + int h; } sdl_blit_params; sdl_blit_params params = { 0, 0, 0, 0 }; @@ -307,7 +311,7 @@ path_normalize(char *path) void path_slash(char *path) { - if ((path[strlen(path) - 1] != '/')) { + if (path[strlen(path) - 1] != '/') { strcat(path, "/"); } path_normalize(path); @@ -347,7 +351,7 @@ path_get_filename(char *s) c--; } - return (s); + return s; } char * @@ -356,7 +360,7 @@ path_get_extension(char *s) int c = strlen(s) - 1; if (c <= 0) - return (s); + return s; while (c && s[c] != '.') c--; @@ -417,7 +421,8 @@ plat_timer_read(void) static uint64_t plat_get_ticks_common(void) { - uint64_t EndingTime, ElapsedMicroseconds; + uint64_t EndingTime; + uint64_t ElapsedMicroseconds; if (first_use) { Frequency = SDL_GetPerformanceFrequency(); StartingTime = SDL_GetPerformanceCounter(); @@ -519,8 +524,10 @@ strnicmp(const char *s1, const char *s2, size_t n) void main_thread(void *param) { - uint32_t old_time, new_time; - int drawits, frames; + uint32_t old_time; + uint32_t new_time; + int drawits; + int frames; SDL_SetThreadPriority(SDL_THREAD_PRIORITY_HIGH); framecountx = 0; @@ -693,7 +700,9 @@ ui_sb_bugui(char *str) extern void sdl_blit(int x, int y, int w, int h); typedef struct mouseinputdata { - int deltax, deltay, deltaz; + int deltax; + int deltay; + int deltaz; int mousebuttons; } mouseinputdata; SDL_mutex *mousemutex; @@ -710,7 +719,8 @@ mouse_poll(void) SDL_UnlockMutex(mousemutex); } -int real_sdl_w, real_sdl_h; +int real_sdl_w; +int real_sdl_h; void ui_sb_set_ready(int ready) { @@ -721,7 +731,8 @@ char *xargv[512]; char * local_strsep(char **str, const char *sep) { - char *s = *str, *end; + char *s = *str; + char *end; if (!s) return NULL; end = s + strcspn(s, sep); @@ -828,8 +839,7 @@ process_media_commands_3(uint8_t *id, char *fn, uint8_t *wp, int cmdargc) bool err = false; *id = atoi(xargv[1]); if (xargv[2][0] == '\'' || xargv[2][0] == '"') { - int curarg = 2; - for (curarg = 2; curarg < cmdargc; curarg++) { + for (int curarg = 2; curarg < cmdargc; curarg++) { if (strlen(fn) + strlen(xargv[curarg]) >= PATH_MAX) { err = true; fprintf(stderr, "Path name too long.\n"); @@ -989,7 +999,8 @@ monitor_thread(void *param) } else if (strncasecmp(xargv[0], "zipeject", 8) == 0 && cmdargc >= 2) { zip_eject(atoi(xargv[1])); } else if (strncasecmp(xargv[0], "fddload", 7) == 0 && cmdargc >= 4) { - uint8_t id, wp; + uint8_t id; + uint8_t wp; bool err = false; char fn[PATH_MAX]; memset(fn, 0, sizeof(fn)); @@ -1008,7 +1019,8 @@ monitor_thread(void *param) floppy_mount(id, fn, wp); } } else if (strncasecmp(xargv[0], "moload", 7) == 0 && cmdargc >= 4) { - uint8_t id, wp; + uint8_t id; + uint8_t wp; bool err = false; char fn[PATH_MAX]; memset(fn, 0, sizeof(fn)); @@ -1027,7 +1039,8 @@ monitor_thread(void *param) mo_mount(id, fn, wp); } } else if (strncasecmp(xargv[0], "cartload", 7) == 0 && cmdargc >= 4) { - uint8_t id, wp; + uint8_t id; + uint8_t wp; bool err = false; char fn[PATH_MAX]; memset(fn, 0, sizeof(fn)); @@ -1046,7 +1059,8 @@ monitor_thread(void *param) cartridge_mount(id, fn, wp); } } else if (strncasecmp(xargv[0], "zipload", 7) == 0 && cmdargc >= 4) { - uint8_t id, wp; + uint8_t id; + uint8_t wp; bool err = false; char fn[PATH_MAX]; memset(fn, 0, sizeof(fn)); diff --git a/src/unix/unix_cdrom.c b/src/unix/unix_cdrom.c index 79a649eb5..7ba247108 100644 --- a/src/unix/unix_cdrom.c +++ b/src/unix/unix_cdrom.c @@ -49,7 +49,9 @@ cassette_mount(char *fn, uint8_t wp) if (fn != NULL) memcpy(cassette_fname, fn, MIN(511, strlen(fn))); ui_sb_update_icon_state(SB_CASSETTE, (fn == NULL) ? 1 : 0); - // media_menu_update_cassette(); +#if 0 + media_menu_update_cassette(); +#endif ui_sb_update_tip(SB_CASSETTE); config_save(); } @@ -60,7 +62,9 @@ cassette_eject(void) pc_cas_set_fname(cassette, NULL); memset(cassette_fname, 0x00, sizeof(cassette_fname)); ui_sb_update_icon_state(SB_CASSETTE, 1); - // media_menu_update_cassette(); +#if 0 + media_menu_update_cassette(); +#endif ui_sb_update_tip(SB_CASSETTE); config_save(); } @@ -71,7 +75,9 @@ cartridge_mount(uint8_t id, char *fn, uint8_t wp) cart_close(id); cart_load(id, fn); ui_sb_update_icon_state(SB_CARTRIDGE | id, strlen(cart_fns[id]) ? 0 : 1); - // media_menu_update_cartridge(id); +#if 0 + media_menu_update_cartridge(id); +#endif ui_sb_update_tip(SB_CARTRIDGE | id); config_save(); } @@ -81,7 +87,9 @@ cartridge_eject(uint8_t id) { cart_close(id); ui_sb_update_icon_state(SB_CARTRIDGE | id, 1); - // media_menu_update_cartridge(id); +#if 0 + media_menu_update_cartridge(id); +#endif ui_sb_update_tip(SB_CARTRIDGE | id); config_save(); } @@ -93,7 +101,9 @@ floppy_mount(uint8_t id, char *fn, uint8_t wp) ui_writeprot[id] = wp; fdd_load(id, fn); ui_sb_update_icon_state(SB_FLOPPY | id, strlen(floppyfns[id]) ? 0 : 1); - // media_menu_update_floppy(id); +#if 0 + media_menu_update_floppy(id); +#endif ui_sb_update_tip(SB_FLOPPY | id); config_save(); } @@ -103,7 +113,9 @@ floppy_eject(uint8_t id) { fdd_close(id); ui_sb_update_icon_state(SB_FLOPPY | id, 1); - // media_menu_update_floppy(id); +#if 0 + media_menu_update_floppy(id); +#endif ui_sb_update_tip(SB_FLOPPY | id); config_save(); } @@ -119,7 +131,9 @@ plat_cdrom_ui_update(uint8_t id, uint8_t reload) ui_sb_update_icon_state(SB_CDROM | id, 0); } - // media_menu_update_cdrom(id); +#if 0 + media_menu_update_cdrom(id); +#endif ui_sb_update_tip(SB_CDROM | id); } @@ -142,7 +156,9 @@ cdrom_mount(uint8_t id, char *fn) } else { ui_sb_update_icon_state(SB_CDROM | id, 1); } - // media_menu_update_cdrom(id); +#if 0 + media_menu_update_cdrom(id); +#endif ui_sb_update_tip(SB_CDROM | id); config_save(); } @@ -159,7 +175,9 @@ mo_eject(uint8_t id) } ui_sb_update_icon_state(SB_MO | id, 1); - // media_menu_update_mo(id); +#if 0 + media_menu_update_mo(id); +#endif ui_sb_update_tip(SB_MO | id); config_save(); } @@ -175,7 +193,9 @@ mo_mount(uint8_t id, char *fn, uint8_t wp) mo_insert(dev); ui_sb_update_icon_state(SB_MO | id, strlen(mo_drives[id].image_path) ? 0 : 1); - // media_menu_update_mo(id); +#if 0 + media_menu_update_mo(id); +#endif ui_sb_update_tip(SB_MO | id); config_save(); @@ -193,7 +213,9 @@ mo_reload(uint8_t id) ui_sb_update_icon_state(SB_MO | id, 0); } - // media_menu_update_mo(id); +#if 0 + media_menu_update_mo(id); +#endif ui_sb_update_tip(SB_MO | id); config_save(); @@ -211,7 +233,9 @@ zip_eject(uint8_t id) } ui_sb_update_icon_state(SB_ZIP | id, 1); - // media_menu_update_zip(id); +#if 0 + media_menu_update_zip(id); +#endif ui_sb_update_tip(SB_ZIP | id); config_save(); } @@ -227,7 +251,9 @@ zip_mount(uint8_t id, char *fn, uint8_t wp) zip_insert(dev); ui_sb_update_icon_state(SB_ZIP | id, strlen(zip_drives[id].image_path) ? 0 : 1); - // media_menu_update_zip(id); +#if 0 + media_menu_update_zip(id); +#endif ui_sb_update_tip(SB_ZIP | id); config_save(); @@ -245,7 +271,9 @@ zip_reload(uint8_t id) ui_sb_update_icon_state(SB_ZIP | id, 0); } - // media_menu_update_zip(id); +#if 0 + media_menu_update_zip(id); +#endif ui_sb_update_tip(SB_ZIP | id); config_save(); diff --git a/src/unix/unix_sdl.c b/src/unix/unix_sdl.c index bc89c9290..4cf723b00 100644 --- a/src/unix/unix_sdl.c +++ b/src/unix/unix_sdl.c @@ -23,18 +23,27 @@ #define RENDERER_OPENGL 4 typedef struct sdl_blit_params { - int x, y, w, h; + int x; + int y; + int w; + int h; } sdl_blit_params; extern sdl_blit_params params; extern int blitreq; -SDL_Window *sdl_win = NULL; -SDL_Renderer *sdl_render = NULL; -static SDL_Texture *sdl_tex = NULL; -int sdl_w = SCREEN_RES_X, sdl_h = SCREEN_RES_Y; -static int sdl_fs, sdl_flags = -1; -static int cur_w, cur_h; -static int cur_wx = 0, cur_wy = 0, cur_ww = 0, cur_wh = 0; +SDL_Window *sdl_win = NULL; +SDL_Renderer *sdl_render = NULL; +static SDL_Texture *sdl_tex = NULL; +int sdl_w = SCREEN_RES_X; +int sdl_h = SCREEN_RES_Y; +static int sdl_fs; +static int sdl_flags = -1; +static int cur_w; +static int cur_h; +static int cur_wx = 0; +static int cur_wy = 0; +static int cur_ww = 0; +static int cur_wh = 0; static volatile int sdl_enabled = 1; static SDL_mutex *sdl_mutex = NULL; int mouse_capture; @@ -43,7 +52,8 @@ int resize_pending = 0; int resize_w = 0; int resize_h = 0; double mouse_sensitivity = 1.0; /* Unused. */ -double mouse_x_error = 0.0, mouse_y_error = 0.0; /* Unused. */ +double mouse_x_error = 0.0; /* Unused. */ +double mouse_y_error = 0.0; /* Unused. */ static uint8_t interpixels[17842176]; extern void RenderImGui(void); @@ -66,8 +76,18 @@ void sdl_reinit_texture(void); static void sdl_stretch(int *w, int *h, int *x, int *y) { - double hw, gw, hh, gh, dx, dy, dw, dh, gsr, hsr; - int real_sdl_w, real_sdl_h; + double hw; + double gw; + double hh; + double gh; + double dx; + double dy; + double dw; + double dh; + double gsr; + double hsr; + int real_sdl_w; + int real_sdl_h; SDL_GL_GetDrawableSize(sdl_win, &real_sdl_w, &real_sdl_h); @@ -147,7 +167,9 @@ void sdl_real_blit(SDL_Rect *r_src) { SDL_Rect r_dst; - int ret, winx, winy; + int ret; + int winx; + int winy; SDL_GL_GetDrawableSize(sdl_win, &winx, &winy); SDL_RenderClear(sdl_render); @@ -273,10 +295,9 @@ sdl_enable(int enable) 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); @@ -321,7 +342,10 @@ sdl_set_fs(int fs) void sdl_resize(int x, int y) { - int ww = 0, wh = 0, wx = 0, wy = 0; + int ww = 0; + int wh = 0; + int wx = 0; + int wy = 0; if (video_fullscreen & 2) return; @@ -436,7 +460,7 @@ sdl_initho(void) int sdl_pause(void) { - return (0); + return 0; } void diff --git a/src/unix/unix_serial_passthrough.c b/src/unix/unix_serial_passthrough.c index 13c695e83..b3a0080b7 100644 --- a/src/unix/unix_serial_passthrough.c +++ b/src/unix/unix_serial_passthrough.c @@ -87,20 +87,22 @@ plat_serpt_close(void *p) static void plat_serpt_write_vcon(serial_passthrough_t *dev, uint8_t data) { - /* fd_set wrfds; - * int res; - */ +#if 0 + fd_set wrfds; + int res; +#endif /* We cannot use select here, this would block the hypervisor! */ - /* FD_ZERO(&wrfds); - FD_SET(ctx->master_fd, &wrfds); +#if 0 + FD_ZERO(&wrfds); + FD_SET(ctx->master_fd, &wrfds); - res = select(ctx->master_fd + 1, NULL, &wrfds, NULL, NULL); + res = select(ctx->master_fd + 1, NULL, &wrfds, NULL, NULL); - if (res <= 0) { - return; - } - */ + if (res <= 0) { + return; + } +#endif /* just write it out */ if (dev->mode == SERPT_MODE_HOSTSER) { diff --git a/src/unix/unix_thread.c b/src/unix/unix_thread.c index 268545719..0c2e9bf6b 100644 --- a/src/unix/unix_thread.c +++ b/src/unix/unix_thread.c @@ -133,7 +133,7 @@ int thread_wait_mutex(mutex_t *_mutex) { if (_mutex == NULL) - return (0); + return 0; pt_mutex_t *mutex = (pt_mutex_t *) _mutex; return pthread_mutex_lock(&mutex->mutex) != 0; @@ -143,7 +143,7 @@ int thread_test_mutex(mutex_t *_mutex) { if (_mutex == NULL) - return (0); + return 0; pt_mutex_t *mutex = (pt_mutex_t *) _mutex; return pthread_mutex_trylock(&mutex->mutex) != 0; @@ -153,7 +153,7 @@ int thread_release_mutex(mutex_t *_mutex) { if (_mutex == NULL) - return (0); + return 0; pt_mutex_t *mutex = (pt_mutex_t *) _mutex; return pthread_mutex_unlock(&mutex->mutex) != 0; diff --git a/src/video/vid_8514a.c b/src/video/vid_8514a.c index b82b116c6..addba804c 100644 --- a/src/video/vid_8514a.c +++ b/src/video/vid_8514a.c @@ -193,7 +193,8 @@ ibm8514_accel_out_pixtrans(svga_t *svga, uint16_t port, uint16_t val, int len) { ibm8514_t *dev = &svga->dev8514; uint8_t nibble = 0; - uint32_t pixelxfer = 0, monoxfer = 0xffffffff; + uint32_t pixelxfer = 0; + uint32_t monoxfer = 0xffffffff; int pixcnt = 0; int pixcntl = (dev->accel.multifunc[0x0a] >> 6) & 3; int frgd_mix = (dev->accel.frgd_mix >> 5) & 3; @@ -1104,8 +1105,11 @@ void ibm8514_accel_start(int count, int cpu_input, uint32_t mix_dat, uint32_t cpu_dat, svga_t *svga, int len) { ibm8514_t *dev = &svga->dev8514; - uint8_t src_dat = 0, dest_dat, old_dest_dat; - int frgd_mix, bkgd_mix; + uint8_t src_dat = 0; + uint8_t dest_dat; + uint8_t old_dest_dat; + int frgd_mix; + int bkgd_mix; uint16_t clip_b = dev->accel.multifunc[3] & 0x7ff; uint16_t clip_r = dev->accel.multifunc[4] & 0x7ff; int pixcntl = (dev->accel.multifunc[0x0a] >> 6) & 3; @@ -1365,7 +1369,7 @@ ibm8514_accel_start(int count, int cpu_input, uint32_t mix_dat, uint32_t cpu_dat count >>= 1; dev->accel.xx_count++; while (count-- && (dev->accel.sy >= 0)) { - if ((dev->accel.cx >= dev->accel.clip_left && dev->accel.cx <= clip_r && dev->accel.cy >= dev->accel.clip_top && dev->accel.cy <= clip_b)) { + if (dev->accel.cx >= dev->accel.clip_left && dev->accel.cx <= clip_r && dev->accel.cy >= dev->accel.clip_top && dev->accel.cy <= clip_b) { if (ibm8514_cpu_dest(svga) && (pixcntl == 0)) { mix_dat = mix_mask; /* Mix data = forced to foreground register. */ } else if (ibm8514_cpu_dest(svga) && (pixcntl == 3)) { @@ -1522,7 +1526,7 @@ ibm8514_accel_start(int count, int cpu_input, uint32_t mix_dat, uint32_t cpu_dat dev->accel.temp_cnt = 8; mix_dat = old_mix_dat; } - if ((dev->accel.cx >= dev->accel.clip_left && dev->accel.cx <= clip_r && dev->accel.cy >= dev->accel.clip_top && dev->accel.cy <= clip_b)) { + if (dev->accel.cx >= dev->accel.clip_left && dev->accel.cx <= clip_r && dev->accel.cy >= dev->accel.clip_top && dev->accel.cy <= clip_b) { if (ibm8514_cpu_dest(svga)) { READ((dev->accel.cy * dev->pitch) + dev->accel.cx, src_dat); } else @@ -1627,7 +1631,7 @@ ibm8514_accel_start(int count, int cpu_input, uint32_t mix_dat, uint32_t cpu_dat } } else { while (count-- && (dev->accel.sy >= 0)) { - if (((dev->accel.cx) >= dev->accel.clip_left && (dev->accel.cx) <= clip_r && (dev->accel.cy) >= dev->accel.clip_top && (dev->accel.cy) <= clip_b)) { + if ((dev->accel.cx) >= dev->accel.clip_left && (dev->accel.cx) <= clip_r && (dev->accel.cy) >= dev->accel.clip_top && (dev->accel.cy) <= clip_b) { if (ibm8514_cpu_dest(svga) && (pixcntl == 0)) { mix_dat = mix_mask; /* Mix data = forced to foreground register. */ } else if (ibm8514_cpu_dest(svga) && (pixcntl == 3)) { @@ -1851,7 +1855,7 @@ rect_fill_pix: if ((dev->accel.cmd & 8) && ibm8514_cpu_src(svga)) { dev->accel.xx_count++; while (count-- && (dev->accel.sy >= 0)) { - if ((dev->accel.cx >= dev->accel.clip_left && dev->accel.cx <= clip_r && dev->accel.cy >= dev->accel.clip_top && dev->accel.cy <= clip_b)) { + if (dev->accel.cx >= dev->accel.clip_left && dev->accel.cx <= clip_r && dev->accel.cy >= dev->accel.clip_top && dev->accel.cy <= clip_b) { switch ((mix_dat & mix_mask) ? frgd_mix : bkgd_mix) { case 0: src_dat = bkgd_color; @@ -2006,7 +2010,7 @@ rect_fill_pix: } if (count < 8) { while (count-- && (dev->accel.sy >= 0)) { - if ((dev->accel.cx >= dev->accel.clip_left && dev->accel.cx <= clip_r && dev->accel.cy >= dev->accel.clip_top && dev->accel.cy <= clip_b)) { + if (dev->accel.cx >= dev->accel.clip_left && dev->accel.cx <= clip_r && dev->accel.cy >= dev->accel.clip_top && dev->accel.cy <= clip_b) { if (ibm8514_cpu_dest(svga) && (pixcntl == 0)) { mix_dat = mix_mask; /* Mix data = forced to foreground register. */ } else if (ibm8514_cpu_dest(svga) && (pixcntl == 3)) { @@ -2080,7 +2084,7 @@ rect_fill_pix: } } else { while (count-- && (dev->accel.sy >= 0)) { - if ((dev->accel.cx >= dev->accel.clip_left && dev->accel.cx <= clip_r && dev->accel.cy >= dev->accel.clip_top && dev->accel.cy <= clip_b)) { + if (dev->accel.cx >= dev->accel.clip_left && dev->accel.cx <= clip_r && dev->accel.cy >= dev->accel.clip_top && dev->accel.cy <= clip_b) { if (ibm8514_cpu_dest(svga) && (pixcntl == 0)) { mix_dat = 1; /* Mix data = forced to foreground register. */ } else if (ibm8514_cpu_dest(svga) && (pixcntl == 3)) { @@ -2171,7 +2175,7 @@ rect_fill_pix: } else { if (dev->accel.input && !dev->accel.output) { while (count-- && (dev->accel.sy >= 0)) { - if ((dev->accel.cx >= dev->accel.clip_left && dev->accel.cx <= clip_r && dev->accel.cy >= dev->accel.clip_top && dev->accel.cy <= clip_b)) { + if (dev->accel.cx >= dev->accel.clip_left && dev->accel.cx <= clip_r && dev->accel.cy >= dev->accel.clip_top && dev->accel.cy <= clip_b) { mix_dat = mix_mask; /* Mix data = forced to foreground register. */ if (!dev->accel.odd_in && !dev->accel.sx) { READ(dev->accel.newdest_in + dev->accel.cur_x, src_dat); @@ -2305,7 +2309,7 @@ rect_fill_pix: } } else { while (count-- && (dev->accel.sy >= 0)) { - if ((dev->accel.cx >= dev->accel.clip_left && dev->accel.cx <= clip_r && dev->accel.cy >= dev->accel.clip_top && dev->accel.cy <= clip_b)) { + if (dev->accel.cx >= dev->accel.clip_left && dev->accel.cx <= clip_r && dev->accel.cy >= dev->accel.clip_top && dev->accel.cy <= clip_b) { if (ibm8514_cpu_dest(svga) && (pixcntl == 0)) { mix_dat = mix_mask; /* Mix data = forced to foreground register. */ } else if (ibm8514_cpu_dest(svga) && (pixcntl == 3)) { @@ -2393,7 +2397,7 @@ rect_fill: mix_dat >>= 8; dev->accel.temp_cnt = 8; } - if ((dev->accel.cx >= dev->accel.clip_left && dev->accel.cx <= clip_r && dev->accel.cy >= dev->accel.clip_top && dev->accel.cy <= clip_b)) { + if (dev->accel.cx >= dev->accel.clip_left && dev->accel.cx <= clip_r && dev->accel.cy >= dev->accel.clip_top && dev->accel.cy <= clip_b) { switch ((mix_dat & mix_mask) ? frgd_mix : bkgd_mix) { case 0: src_dat = bkgd_color; @@ -2460,7 +2464,7 @@ rect_fill: dev->accel.temp_cnt = 8; mix_dat = old_mix_dat; } - if ((dev->accel.cx >= dev->accel.clip_left && dev->accel.cx <= clip_r && dev->accel.cy >= dev->accel.clip_top && dev->accel.cy <= clip_b)) { + if (dev->accel.cx >= dev->accel.clip_left && dev->accel.cx <= clip_r && dev->accel.cy >= dev->accel.clip_top && dev->accel.cy <= clip_b) { switch ((mix_dat & 1) ? frgd_mix : bkgd_mix) { case 0: src_dat = bkgd_color; @@ -2523,7 +2527,7 @@ rect_fill: } else { if (dev->accel.multifunc[0x0a] & 6) { while (count-- && dev->accel.sy >= 0) { - if ((dev->accel.cx >= dev->accel.clip_left && dev->accel.cx <= clip_r && dev->accel.cy >= dev->accel.clip_top && dev->accel.cy <= clip_b)) { + if (dev->accel.cx >= dev->accel.clip_left && dev->accel.cx <= clip_r && dev->accel.cy >= dev->accel.clip_top && dev->accel.cy <= clip_b) { switch ((mix_dat & mix_mask) ? frgd_mix : bkgd_mix) { case 0: src_dat = bkgd_color; @@ -2599,7 +2603,7 @@ rect_fill: } } else { while (count-- && dev->accel.sy >= 0) { - if ((dev->accel.cx >= dev->accel.clip_left && dev->accel.cx <= clip_r && dev->accel.cy >= dev->accel.clip_top && dev->accel.cy <= clip_b)) { + if (dev->accel.cx >= dev->accel.clip_left && dev->accel.cx <= clip_r && dev->accel.cy >= dev->accel.clip_top && dev->accel.cy <= clip_b) { switch ((mix_dat & mix_mask) ? frgd_mix : bkgd_mix) { case 0: src_dat = bkgd_color; @@ -2686,7 +2690,7 @@ rect_fill: if (dev->accel.cur_x > 1023) dev->accel.cx = 0; - if (((dev->accel.cx) >= dev->accel.clip_left && ((dev->accel.cx) <= clip_r) && (dev->accel.cy) >= dev->accel.clip_top && (dev->accel.cy) <= clip_b)) { + if ((dev->accel.cx) >= dev->accel.clip_left && ((dev->accel.cx) <= clip_r) && (dev->accel.cy) >= dev->accel.clip_top && (dev->accel.cy) <= clip_b) { switch ((mix_dat & mix_mask) ? frgd_mix : bkgd_mix) { case 0: src_dat = bkgd_color; @@ -2852,7 +2856,7 @@ rect_fill: bitblt_pix: if (count < 8) { while (count-- && (dev->accel.sy >= 0)) { - if ((dev->accel.dx >= dev->accel.clip_left && dev->accel.dx <= clip_r && dev->accel.dy >= dev->accel.clip_top && dev->accel.dy <= clip_b)) { + if (dev->accel.dx >= dev->accel.clip_left && dev->accel.dx <= clip_r && dev->accel.dy >= dev->accel.clip_top && dev->accel.dy <= clip_b) { if (pixcntl == 3) { if (!(dev->accel.cmd & 0x10) && ((frgd_mix != 3) || (bkgd_mix != 3))) { READ(dev->accel.src + dev->accel.cx, mix_dat); @@ -2928,7 +2932,7 @@ bitblt_pix: } } else { while (count-- && (dev->accel.sy >= 0)) { - if ((dev->accel.dx >= dev->accel.clip_left && dev->accel.dx <= clip_r && dev->accel.dy >= dev->accel.clip_top && dev->accel.dy <= clip_b)) { + if (dev->accel.dx >= dev->accel.clip_left && dev->accel.dx <= clip_r && dev->accel.dy >= dev->accel.clip_top && dev->accel.dy <= clip_b) { if (pixcntl == 3) { if (!(dev->accel.cmd & 0x10) && ((frgd_mix != 3) || (bkgd_mix != 3))) { READ(dev->accel.src + dev->accel.cx, mix_dat); @@ -3032,7 +3036,7 @@ bitblt_pix: goto bitblt_pix; } else { while (count-- && (dev->accel.sy >= 0)) { - if ((dev->accel.dx >= dev->accel.clip_left && dev->accel.dx <= clip_r && dev->accel.dy >= dev->accel.clip_top && dev->accel.dy <= clip_b)) { + if (dev->accel.dx >= dev->accel.clip_left && dev->accel.dx <= clip_r && dev->accel.dy >= dev->accel.clip_top && dev->accel.dy <= clip_b) { if (pixcntl == 3) { if (!(dev->accel.cmd & 0x10) && ((frgd_mix != 3) || (bkgd_mix != 3))) { READ(dev->accel.src + dev->accel.cx, mix_dat); @@ -3123,7 +3127,7 @@ bitblt: mix_dat >>= 8; dev->accel.temp_cnt = 8; } - if ((dev->accel.dx >= dev->accel.clip_left && dev->accel.dx <= clip_r && dev->accel.dy >= dev->accel.clip_top && dev->accel.dy <= clip_b)) { + if (dev->accel.dx >= dev->accel.clip_left && dev->accel.dx <= clip_r && dev->accel.dy >= dev->accel.clip_top && dev->accel.dy <= clip_b) { switch ((mix_dat & mix_mask) ? frgd_mix : bkgd_mix) { case 0: src_dat = bkgd_color; @@ -3197,7 +3201,7 @@ bitblt: dev->accel.temp_cnt = 8; mix_dat = old_mix_dat; } - if ((dev->accel.dx >= dev->accel.clip_left && dev->accel.dx <= clip_r && dev->accel.dy >= dev->accel.clip_top && dev->accel.dy <= clip_b)) { + if (dev->accel.dx >= dev->accel.clip_left && dev->accel.dx <= clip_r && dev->accel.dy >= dev->accel.clip_top && dev->accel.dy <= clip_b) { switch ((mix_dat & 1) ? frgd_mix : bkgd_mix) { case 0: src_dat = bkgd_color; @@ -3266,7 +3270,7 @@ bitblt: } } else { while (count-- && dev->accel.sy >= 0) { - if ((dev->accel.dx >= dev->accel.clip_left && dev->accel.dx <= clip_r && dev->accel.dy >= dev->accel.clip_top && dev->accel.dy <= clip_b)) { + if (dev->accel.dx >= dev->accel.clip_left && dev->accel.dx <= clip_r && dev->accel.dy >= dev->accel.clip_top && dev->accel.dy <= clip_b) { if (pixcntl == 3) { if (!(dev->accel.cmd & 0x10) && ((frgd_mix != 3) || (bkgd_mix != 3))) { READ(dev->accel.src + dev->accel.cx, mix_dat); @@ -3412,7 +3416,8 @@ ibm8514_render_overscan_left(ibm8514_t *dev, svga_t *svga) static void ibm8514_render_overscan_right(ibm8514_t *dev, svga_t *svga) { - int i, right; + int i; + int right; if ((dev->displine + svga->y_add) < 0) return; @@ -3429,7 +3434,8 @@ void ibm8514_poll(ibm8514_t *dev, svga_t *svga) { uint32_t x; - int wx, wy; + int wx; + int wy; if (!dev->linepos) { timer_advance_u64(&svga->timer, svga->dispofftime); @@ -3619,7 +3625,7 @@ ibm8514_recalctimings(svga_t *svga) dev->pitch = 1024; // pclog("1024x768 clock mode, hdisp = %d, htotal = %d, vtotal = %d, vsyncstart = %d, interlace = %02x\n", dev->h_disp, dev->h_total, dev->v_total, dev->v_syncstart, dev->interlace); - svga->clock = (cpuclock * (double) (1ull << 32)) / 44900000.0; + svga->clock = (cpuclock * (double) (1ULL << 32)) / 44900000.0; } else { if (!vga_on && dev->ibm_mode) { dev->h_disp = 640; @@ -3637,7 +3643,7 @@ ibm8514_recalctimings(svga_t *svga) dev->rowoffset = 0x80; dev->pitch = 1024; - svga->clock = (cpuclock * (double) (1ull << 32)) / 25175000.0; + svga->clock = (cpuclock * (double) (1ULL << 32)) / 25175000.0; } svga->render = ibm8514_render_8bpp; //pclog("Pitch = %d, mode = %d.\n", dev->pitch, dev->ibm_mode); diff --git a/src/video/vid_ati_mach64.c b/src/video/vid_ati_mach64.c index d67ff876b..d5c83f81f 100644 --- a/src/video/vid_ati_mach64.c +++ b/src/video/vid_ati_mach64.c @@ -474,7 +474,7 @@ mach64_recalctimings(svga_t *svga) svga->hdisp_time = svga->hdisp = ((mach64->crtc_h_total_disp >> 16) & 255) + 1; svga->vsyncstart = (mach64->crtc_v_sync_strt_wid & 2047) + 1; svga->rowoffset = (mach64->crtc_off_pitch >> 22); - svga->clock = (cpuclock * (double) (1ull << 32)) / ics2595_getclock(svga->clock_gen); + svga->clock = (cpuclock * (double) (1ULL << 32)) / ics2595_getclock(svga->clock_gen); svga->ma_latch = (mach64->crtc_off_pitch & 0x1fffff) * 2; svga->linedbl = svga->rowcount = 0; svga->split = 0xffffff; @@ -1179,7 +1179,8 @@ mach64_queue(mach64_t *mach64, uint32_t addr, uint32_t val, uint32_t type) void mach64_start_fill(mach64_t *mach64) { - int x, y; + int x; + int y; mach64->accel.dst_x = 0; mach64->accel.dst_y = 0; @@ -1309,7 +1310,8 @@ mach64_start_fill(mach64_t *mach64) void mach64_start_line(mach64_t *mach64) { - int x, y; + int x; + int y; mach64->accel.dst_x = (mach64->dst_y_x >> 16) & 0xfff; mach64->accel.dst_y = mach64->dst_y_x & 0xfff; @@ -1490,7 +1492,8 @@ mach64_blit(uint32_t cpu_dat, int count, mach64_t *mach64) switch (mach64->accel.op) { case OP_RECT: while (count) { - uint32_t src_dat = 0, dest_dat; + uint32_t src_dat = 0; + uint32_t dest_dat; uint32_t host_dat = 0; uint32_t old_dest_dat; int mix = 0; @@ -1698,7 +1701,8 @@ mach64_blit(uint32_t cpu_dat, int count, mach64_t *mach64) if (((mach64->crtc_gen_cntl >> 8) & 7) == BPP_24) { int x = 0; while (count) { - uint32_t src_dat = 0, dest_dat; + uint32_t src_dat = 0; + uint32_t dest_dat; uint32_t host_dat = 0; int mix = 0; @@ -1825,7 +1829,8 @@ mach64_blit(uint32_t cpu_dat, int count, mach64_t *mach64) } } else { while (count) { - uint32_t src_dat = 0, dest_dat; + uint32_t src_dat = 0; + uint32_t dest_dat; uint32_t host_dat = 0; int mix = 0; int draw_pixel = !(mach64->dst_cntl & DST_POLYGON_EN); @@ -3857,7 +3862,8 @@ mach64_overlay_draw(svga_t *svga, int displine) } else { for (x = 0; x < mach64->svga.overlay_latch.cur_xsize; x++) { int h = h_acc >> 12; - int gr_cmp = 0, vid_cmp = 0; + int gr_cmp = 0; + int vid_cmp = 0; int use_video = 0; switch (video_key_fn) { diff --git a/src/win/win_dynld.c b/src/win/win_dynld.c index 88fb632bc..43c1a5266 100644 --- a/src/win/win_dynld.c +++ b/src/win/win_dynld.c @@ -47,7 +47,6 @@ void * dynld_module(const char *name, dllimp_t *table) { HMODULE h; - dllimp_t *imp; void *func; /* See if we can load the desired module. */ @@ -57,7 +56,7 @@ dynld_module(const char *name, dllimp_t *table) } /* Now load the desired function pointers. */ - for (imp = table; imp->name != NULL; imp++) { + for (dllimp_t *imp = table; imp->name != NULL; imp++) { func = GetProcAddress(h, imp->name); if (func == NULL) { dynld_log("DynLd(\"%s\"): function '%s' not found! (%08X)\n",