diff --git a/src/cpu/codegen.h b/src/cpu/codegen.h index e613ecb..5b56578 100644 --- a/src/cpu/codegen.h +++ b/src/cpu/codegen.h @@ -8,7 +8,7 @@ * * Definitions for the code generator. * - * Version: @(#)codegen.h 1.0.2 2018/03/14 + * Version: @(#)codegen.h 1.0.3 2018/05/04 * * Authors: Sarah Walker, * Miran Grca, @@ -112,10 +112,10 @@ typedef struct codeblock_t /*Code block is always entered with the same FPU top-of-stack*/ #define CODEBLOCK_STATIC_TOP 2 -static inline codeblock_t *codeblock_tree_find(uint32_t phys, uint32_t _cs) +static inline codeblock_t *codeblock_tree_find(uint32_t phys, uint32_t __cs) { codeblock_t *block = pages[phys >> 12].head; - uint64_t a = _cs | ((uint64_t)phys << 32); + uint64_t a = __cs | ((uint64_t)phys << 32); while (block) { diff --git a/src/cpu/cpu.c b/src/cpu/cpu.c index 12fa249..e0024d8 100644 --- a/src/cpu/cpu.c +++ b/src/cpu/cpu.c @@ -8,7 +8,7 @@ * * CPU type handler. * - * Version: @(#)cpu.c 1.0.4 2018/03/15 + * Version: @(#)cpu.c 1.0.5 2018/05/0 * * Authors: Sarah Walker, * leilei, @@ -209,16 +209,14 @@ void cpu_dynamic_switch(int new_cpu) cpu = c; } -void cpu_set_edx() +void cpu_set_edx(void) { EDX = machines[machine].cpu[cpu_manufacturer].cpus[cpu_effective].edx_reset; } -void cpu_set() +void cpu_set(void) { - CPU *cpu_s; - if (!machines[machine].cpu[cpu_manufacturer].cpus) { /*CPU is invalid, set to default*/ diff --git a/src/disk/zip.c b/src/disk/zip.c index cd24632..dbb2f58 100644 --- a/src/disk/zip.c +++ b/src/disk/zip.c @@ -9,7 +9,7 @@ * Implementation of the Iomega ZIP drive with SCSI(-like) * commands, for both ATAPI and SCSI usage. * - * Version: @(#)zip.c 1.0.12 2018/04/28 + * Version: @(#)zip.c 1.0.13 2018/05/04 * * Authors: Fred N. van Kempen, * Miran Grca, @@ -882,13 +882,13 @@ uint8_t zip_mode_sense_read(uint8_t id, uint8_t page_control, uint8_t page, uint uint32_t zip_mode_sense(uint8_t id, uint8_t *buf, uint32_t pos, uint8_t type, uint8_t block_descriptor_len) { - uint64_t page_flags; - uint8_t page_control = (type >> 6) & 3; + uint64_t pg_flags; + uint8_t pg_control = (type >> 6) & 3; if (zip_drives[id].is_250) - page_flags = zip_250_mode_sense_page_flags; + pg_flags = zip_250_mode_sense_page_flags; else - page_flags = zip_mode_sense_page_flags; + pg_flags = zip_mode_sense_page_flags; int i = 0; int j = 0; @@ -917,15 +917,15 @@ uint32_t zip_mode_sense(uint8_t id, uint8_t *buf, uint32_t pos, uint8_t type, ui for (i = 0; i < 0x40; i++) { if ((type == GPMODE_ALL_PAGES) || (type == i)) { - if (page_flags & (1LL << zip[id].current_page_code)) { - buf[pos++] = zip_mode_sense_read(id, page_control, i, 0); - msplen = zip_mode_sense_read(id, page_control, i, 1); + if (pg_flags & (1LL << zip[id].current_page_code)) { + buf[pos++] = zip_mode_sense_read(id, pg_control, i, 0); + msplen = zip_mode_sense_read(id, pg_control, i, 1); buf[pos++] = msplen; #ifdef ENABLE_ZIP_LOG zip_log("ZIP %i: MODE SENSE: Page [%02X] length %i\n", id, i, msplen); #endif for (j = 0; j < msplen; j++) - buf[pos++] = zip_mode_sense_read(id, page_control, i, 2 + j); + buf[pos++] = zip_mode_sense_read(id, pg_control, i, 2 + j); } } } diff --git a/src/floppy/fdc.c b/src/floppy/fdc.c index 8b2ee42..073faa9 100644 --- a/src/floppy/fdc.c +++ b/src/floppy/fdc.c @@ -9,7 +9,7 @@ * Implementation of the NEC uPD-765 and compatible floppy disk * controller. * - * Version: @(#)fdc.c 1.0.9 2018/04/28 + * Version: @(#)fdc.c 1.0.10 2018/05/04 * * Authors: Miran Grca, * Sarah Walker, @@ -1999,9 +1999,9 @@ fdc_get_swwp(fdc_t *fdc) void -fdc_set_swwp(fdc_t *fdc, uint8_t swwp) +fdc_set_swwp(fdc_t *fdc, uint8_t __swwp) { - fdc->swwp = swwp; + fdc->swwp = __swwp; } diff --git a/src/floppy/fdd_86f.c b/src/floppy/fdd_86f.c index e016151..b179784 100644 --- a/src/floppy/fdd_86f.c +++ b/src/floppy/fdd_86f.c @@ -10,7 +10,7 @@ * data in the form of FM/MFM-encoded transitions) which also * forms the core of the emulator's floppy disk emulation. * - * Version: @(#)fdd_86f.c 1.0.8 2018/04/27 + * Version: @(#)fdd_86f.c 1.0.9 2018/05/04 * * Authors: Fred N. van Kempen, * Miran Grca, @@ -293,7 +293,7 @@ d86f_log(const char *format, ...) static void -setup_crc(uint16_t poly) +setup_crc(uint16_t __poly) { int c = 256, bc; uint16_t temp; @@ -304,7 +304,7 @@ setup_crc(uint16_t poly) while (bc--) { if (temp & 0x8000) - temp = (temp << 1) ^ poly; + temp = (temp << 1) ^ __poly; else temp <<= 1; diff --git a/src/floppy/fdd_img.c b/src/floppy/fdd_img.c index 5ec0cee..9d43097 100644 --- a/src/floppy/fdd_img.c +++ b/src/floppy/fdd_img.c @@ -13,7 +13,7 @@ * re-merged with the other files. Much of it is generic to * all formats. * - * Version: @(#)fdd_img.c 1.0.6 2018/04/10 + * Version: @(#)fdd_img.c 1.0.7 2018/05/04 * * Authors: Fred N. van Kempen, * Miran Grca, @@ -344,9 +344,9 @@ bps_is_valid(uint16_t bps) static int -first_byte_is_valid(uint8_t first_byte) +first_byte_is_valid(uint8_t first) { - switch(first_byte) { + switch(first) { case 0x60: case 0xE9: case 0xEB: diff --git a/src/floppy/fdi2raw.c b/src/floppy/fdi2raw.c index dd11af5..bb0ad9a 100644 --- a/src/floppy/fdi2raw.c +++ b/src/floppy/fdi2raw.c @@ -12,7 +12,7 @@ * addition of get_last_head and C++ callability by Thomas * Harte. * - * Version: @(#)fdi2raw.c 1.0.2 2018/03/12 + * Version: @(#)fdi2raw.c 1.0.3 2018/05/04 * * Authors: Toni Wilen, * and Vincent Joguin, @@ -1795,16 +1795,16 @@ static void fdi2_decode (FDI *fdi, uint32_t totalavg, uae_u32 *avgp, uae_u32 *mi #endif -static void fdi2_celltiming (FDI *fdi, uint32_t totalavg, int bitoffset, uae_u16 *out) +static void fdi2_celltiming (FDI *fdi, uint32_t totalavg, int bit_offset, uae_u16 *out) { uae_u16 *pt2, *pt; double avg_bit_len; int i; - avg_bit_len = (double)totalavg / (double)bitoffset; + avg_bit_len = (double)totalavg / (double)bit_offset; pt2 = fdi->track_dst_buffer_timing; pt = out; - for (i = 0; i < bitoffset / 8; i++) { + for (i = 0; i < bit_offset / 8; i++) { double v = (pt2[0] + pt2[1] + pt2[2] + pt2[3] + pt2[4] + pt2[5] + pt2[6] + pt2[7]) / 8.0; v = 1000.0 * v / avg_bit_len; *pt++ = (uae_u16)v; diff --git a/src/intel.c b/src/intel.c index b6c3600..d7da2ea 100644 --- a/src/intel.c +++ b/src/intel.c @@ -8,7 +8,7 @@ * * Implementation of Intel mainboards. * - * Version: @(#)intel.c 1.0.3 2018/04/26 + * Version: @(#)intel.c 1.0.4 2018/05/04 * * Authors: Fred N. van Kempen, * Miran Grca, @@ -50,8 +50,8 @@ #include "plat.h" -static uint16_t batman_timer_latch; -static int64_t batman_timer = 0; +static uint16_t bm_timer_latch; +static int64_t bm_timer = 0; uint8_t batman_brdconfig(uint16_t port, UNUSED(void *p)) @@ -69,36 +69,36 @@ uint8_t batman_brdconfig(uint16_t port, UNUSED(void *p)) static void batman_timer_over(UNUSED(void *p)) { - batman_timer = 0; + bm_timer = 0; } static void batman_timer_write(uint16_t addr, uint8_t val, UNUSED(void *p)) { if (addr & 1) - batman_timer_latch = (batman_timer_latch & 0xff) | (val << 8); + bm_timer_latch = (bm_timer_latch & 0xff) | (val << 8); else - batman_timer_latch = (batman_timer_latch & 0xff00) | val; - batman_timer = batman_timer_latch * TIMER_USEC; + bm_timer_latch = (bm_timer_latch & 0xff00) | val; + bm_timer = bm_timer_latch * TIMER_USEC; } static uint8_t batman_timer_read(uint16_t addr, UNUSED(void *p)) { - uint16_t batman_timer_latch; + uint16_t latch; //FIXME: or should we use the global ..latch var? cycles -= (int)PITCONST; timer_clock(); - if (batman_timer < 0) + if (bm_timer < 0) return 0; - batman_timer_latch = (uint16_t)(batman_timer / TIMER_USEC); + latch = (uint16_t)(bm_timer / TIMER_USEC); if (addr & 1) - return batman_timer_latch >> 8; - return batman_timer_latch & 0xff; + return latch >> 8; + return latch & 0xff; } @@ -108,5 +108,5 @@ void intel_batman_init(void) io_sethandler(0x0075, 0x0001, batman_brdconfig, NULL, NULL, NULL, NULL, NULL, NULL); io_sethandler(0x0078, 0x0002, batman_timer_read, NULL, NULL, batman_timer_write, NULL, NULL, NULL); - timer_add(batman_timer_over, &batman_timer, &batman_timer, NULL); + timer_add(batman_timer_over, &bm_timer, &bm_timer, NULL); } diff --git a/src/io.c b/src/io.c index 78ac472..a213b4e 100644 --- a/src/io.c +++ b/src/io.c @@ -8,7 +8,7 @@ * * Implement I/O ports and their operations. * - * Version: @(#)io.c 1.0.1 2018/02/14 + * Version: @(#)io.c 1.0.2 2018/05/04 * * Authors: Fred N. van Kempen, * Miran Grca, @@ -127,12 +127,12 @@ io_init(void) void io_sethandler(uint16_t base, int size, - uint8_t (*inb)(uint16_t addr, void *priv), - uint16_t (*inw)(uint16_t addr, void *priv), - uint32_t (*inl)(uint16_t addr, void *priv), - void (*outb)(uint16_t addr, uint8_t val, void *priv), - void (*outw)(uint16_t addr, uint16_t val, void *priv), - void (*outl)(uint16_t addr, uint32_t val, void *priv), + uint8_t (*f_inb)(uint16_t addr, void *priv), + uint16_t (*f_inw)(uint16_t addr, void *priv), + uint32_t (*f_inl)(uint16_t addr, void *priv), + void (*f_outb)(uint16_t addr, uint8_t val, void *priv), + void (*f_outw)(uint16_t addr, uint16_t val, void *priv), + void (*f_outl)(uint16_t addr, uint32_t val, void *priv), void *priv) { io_t *p, *q = NULL; @@ -150,9 +150,9 @@ io_sethandler(uint16_t base, int size, q->prev = NULL; } - q->inb = inb; q->inw = inw; q->inl = inl; + q->inb = f_inb; q->inw = f_inw; q->inl = f_inl; - q->outb = outb; q->outw = outw; q->outl = outl; + q->outb = f_outb; q->outw = f_outw; q->outl = f_outl; q->priv = priv; q->next = NULL; @@ -164,12 +164,12 @@ io_sethandler(uint16_t base, int size, void io_removehandler(uint16_t base, int size, - uint8_t (*inb)(uint16_t addr, void *priv), - uint16_t (*inw)(uint16_t addr, void *priv), - uint32_t (*inl)(uint16_t addr, void *priv), - void (*outb)(uint16_t addr, uint8_t val, void *priv), - void (*outw)(uint16_t addr, uint16_t val, void *priv), - void (*outl)(uint16_t addr, uint32_t val, void *priv), + uint8_t (*f_inb)(uint16_t addr, void *priv), + uint16_t (*f_inw)(uint16_t addr, void *priv), + uint32_t (*f_inl)(uint16_t addr, void *priv), + void (*f_outb)(uint16_t addr, uint8_t val, void *priv), + void (*f_outw)(uint16_t addr, uint16_t val, void *priv), + void (*f_outl)(uint16_t addr, uint32_t val, void *priv), void *priv) { io_t *p; @@ -180,9 +180,9 @@ io_removehandler(uint16_t base, int size, if (p == NULL) continue; while (p != NULL) { - if ((p->inb == inb) && (p->inw == inw) && - (p->inl == inl) && (p->outb == outb) && - (p->outw == outw) && (p->outl == outl) && + if ((p->inb == f_inb) && (p->inw == f_inw) && + (p->inl == f_inl) && (p->outb == f_outb) && + (p->outw == f_outw) && (p->outl == f_outl) && (p->priv == priv)) { if (p->prev != NULL) p->prev->next = p->next; @@ -205,12 +205,12 @@ io_removehandler(uint16_t base, int size, #ifdef PC98 void io_sethandler_interleaved(uint16_t base, int size, - uint8_t (*inb)(uint16_t addr, void *priv), - uint16_t (*inw)(uint16_t addr, void *priv), - uint32_t (*inl)(uint16_t addr, void *priv), - void (*outb)(uint16_t addr, uint8_t val, void *priv), - void (*outw)(uint16_t addr, uint16_t val, void *priv), - void (*outl)(uint16_t addr, uint32_t val, void *priv), + uint8_t (*f_inb)(uint16_t addr, void *priv), + uint16_t (*f_inw)(uint16_t addr, void *priv), + uint32_t (*f_inl)(uint16_t addr, void *priv), + void (*f_outb)(uint16_t addr, uint8_t val, void *priv), + void (*f_outw)(uint16_t addr, uint16_t val, void *priv), + void (*f_outl)(uint16_t addr, uint32_t val, void *priv), void *priv) { io_t *p, *q; @@ -229,9 +229,9 @@ io_sethandler_interleaved(uint16_t base, int size, q->prev = NULL; } - q->inb = inb; q->inw = inw; q->inl = inl; + q->inb = f_inb; q->inw = f_inw; q->inl = f_inl; - q->outb = outb; q->outw = outw; q->outl = outl; + q->outb = f_outb; q->outw = f_outw; q->outl = f_outl; q->priv = priv; } @@ -240,12 +240,12 @@ io_sethandler_interleaved(uint16_t base, int size, void io_removehandler_interleaved(uint16_t base, int size, - uint8_t (*inb)(uint16_t addr, void *priv), - uint16_t (*inw)(uint16_t addr, void *priv), - uint32_t (*inl)(uint16_t addr, void *priv), - void (*outb)(uint16_t addr, uint8_t val, void *priv), - void (*outw)(uint16_t addr, uint16_t val, void *priv), - void (*outl)(uint16_t addr, uint32_t val, void *priv), + uint8_t (*f_inb)(uint16_t addr, void *priv), + uint16_t (*f_inw)(uint16_t addr, void *priv), + uint32_t (*f_inl)(uint16_t addr, void *priv), + void (*f_outb)(uint16_t addr, uint8_t val, void *priv), + void (*f_outw)(uint16_t addr, uint16_t val, void *priv), + void (*f_outl)(uint16_t addr, uint32_t val, void *priv), void *priv) { io_t *p; @@ -257,9 +257,9 @@ io_removehandler_interleaved(uint16_t base, int size, if (p == NULL) return; while (p != NULL) { - if ((p->inb == inb) && (p->inw == inw) && - (p->inl == inl) && (p->outb == outb) && - (p->outw == outw) && (p->outl == outl) && + if ((p->inb == f_inb) && (p->inw == f_inw) && + (p->inl == f_inl) && (p->outb == f_outb) && + (p->outw == f_outw) && (p->outl == f_outl) && (p->priv == priv)) { if (p->prev != NULL) p->prev->next = p->next; diff --git a/src/machine/m_ps1.c b/src/machine/m_ps1.c index 3c57e18..0b72fcb 100644 --- a/src/machine/m_ps1.c +++ b/src/machine/m_ps1.c @@ -22,7 +22,7 @@ * The reserved 384K is remapped to the top of extended memory. * If this is not done then you get an error on startup. * - * Version: @(#)m_ps1.c 1.0.17 2018/04/26 + * Version: @(#)m_ps1.c 1.0.18 2018/05/04 * * Authors: Fred N. van Kempen, * Miran Grca, @@ -234,7 +234,7 @@ snd_callback(void *priv) static void -snd_get_buffer(int32_t *buffer, int len, void *priv) +snd_get_buffer(int32_t *bufp, int len, void *priv) { ps1snd_t *snd = (ps1snd_t *)priv; int c; @@ -242,7 +242,7 @@ snd_get_buffer(int32_t *buffer, int len, void *priv) snd_update(snd); for (c = 0; c < len * 2; c++) - buffer[c] += snd->buffer[c >> 1]; + bufp[c] += snd->buffer[c >> 1]; snd->pos = 0; } diff --git a/src/machine/m_ps2_mca.c b/src/machine/m_ps2_mca.c index 87e0456..4874997 100644 --- a/src/machine/m_ps2_mca.c +++ b/src/machine/m_ps2_mca.c @@ -8,7 +8,7 @@ * * Implementation of MCA-based PS/2 machines. * - * Version: @(#)m_ps2_mca.c 1.0.13 2018/04/26 + * Version: @(#)m_ps2_mca.c 1.0.14 2018/05/04 * * Authors: Fred N. van Kempen, * Miran Grca, @@ -1147,7 +1147,7 @@ static void ps2_mca_board_model_70_type34_init(int is_type4) device_add(&ps1vga_device); } -static void ps2_mca_board_model_80_type2_init(int is486) +static void ps2_mca_board_model_80_type2_init(int is_486) { ps2_mca_board_common_init(); @@ -1207,7 +1207,7 @@ static void ps2_mca_board_model_80_type2_init(int is486) NULL); mem_mapping_disable(&ps2.split_mapping); - if ((mem_size > 4096) && !is486) + if ((mem_size > 4096) && !is_486) { /* Only 4 MB supported on planar, create a memory expansion card for the rest */ ps2_mca_mem_fffc_init(4); diff --git a/src/machine/m_tandy.c b/src/machine/m_tandy.c index a502c02..cc5f42b 100644 --- a/src/machine/m_tandy.c +++ b/src/machine/m_tandy.c @@ -8,7 +8,7 @@ * * Emulation of Tandy models 1000, 1000HX and 1000SL2. * - * Version: @(#)m_tandy.c 1.0.10 2018/04/26 + * Version: @(#)m_tandy.c 1.0.11 2018/05/04 * * Authors: Fred N. van Kempen, * Miran Grca, @@ -1555,7 +1555,7 @@ snd_callback(void *priv) static void -snd_get_buffer(int32_t *buffer, int len, void *priv) +snd_get_buffer(int32_t *bufp, int len, void *priv) { t1ksnd_t *dev = (t1ksnd_t *)priv; int c; @@ -1563,7 +1563,7 @@ snd_get_buffer(int32_t *buffer, int len, void *priv) snd_update(dev); for (c = 0; c < len * 2; c++) - buffer[c] += dev->buffer[c >> 1]; + bufp[c] += dev->buffer[c >> 1]; dev->pos = 0; } diff --git a/src/machine/machine_table.c b/src/machine/machine_table.c index bb6afea..52b2d20 100644 --- a/src/machine/machine_table.c +++ b/src/machine/machine_table.c @@ -11,7 +11,7 @@ * NOTES: OpenAT wip for 286-class machine with open BIOS. * PS2_M80-486 wip, pending receipt of TRM's for machine. * - * Version: @(#)machine_table.c 1.0.21 2018/04/25 + * Version: @(#)machine_table.c 1.0.22 2018/05/04 * * Authors: Fred N. van Kempen, * Miran Grca, @@ -213,7 +213,7 @@ machine_getromset_ex(int m) int -machine_getmachine(int romset) +machine_getmachine(int rs) { int c = 0; @@ -236,9 +236,9 @@ machine_getname(void) const device_t * -machine_getdevice(int machine) +machine_getdevice(int m) { - return(machines[machine].device); + return(machines[m].device); } diff --git a/src/mem.c b/src/mem.c index 0c34571..76e9252 100644 --- a/src/mem.c +++ b/src/mem.c @@ -12,7 +12,7 @@ * the DYNAMIC_TABLES=1 enables this. Will eventually go * away, either way... * - * Version: @(#)mem.c 1.0.13 2018/04/10 + * Version: @(#)mem.c 1.0.14 2018/05/04 * * Authors: Fred N. van Kempen, * Miran Grca, @@ -1219,17 +1219,17 @@ mem_invalidate_range(uint32_t start_addr, uint32_t end_addr) static __inline int -mem_mapping_read_allowed(uint32_t flags, int state) +mem_mapping_read_allowed(uint32_t fl, int state) { switch (state & MEM_READ_MASK) { case MEM_READ_ANY: return 1; case MEM_READ_EXTERNAL: - return !(flags & MEM_MAPPING_INTERNAL); + return !(fl & MEM_MAPPING_INTERNAL); case MEM_READ_INTERNAL: - return !(flags & MEM_MAPPING_EXTERNAL); + return !(fl & MEM_MAPPING_EXTERNAL); default: fatal("mem_mapping_read_allowed : bad state %x\n", state); @@ -1240,7 +1240,7 @@ mem_mapping_read_allowed(uint32_t flags, int state) static __inline int -mem_mapping_write_allowed(uint32_t flags, int state) +mem_mapping_write_allowed(uint32_t fl, int state) { switch (state & MEM_WRITE_MASK) { case MEM_WRITE_DISABLED: @@ -1248,9 +1248,9 @@ mem_mapping_write_allowed(uint32_t flags, int state) case MEM_WRITE_ANY: return 1; case MEM_WRITE_EXTERNAL: - return !(flags & MEM_MAPPING_INTERNAL); + return !(fl & MEM_MAPPING_INTERNAL); case MEM_WRITE_INTERNAL: - return !(flags & MEM_MAPPING_EXTERNAL); + return !(fl & MEM_MAPPING_EXTERNAL); default: fatal("mem_mapping_write_allowed : bad state %x\n", state); } @@ -1331,7 +1331,7 @@ mem_mapping_add(mem_mapping_t *mapping, void (*write_w)(uint32_t addr, uint16_t val, void *p), void (*write_l)(uint32_t addr, uint32_t val, void *p), uint8_t *exec, - uint32_t flags, + uint32_t fl, void *p) { mem_mapping_t *dest = &base_mapping; @@ -1355,7 +1355,7 @@ mem_mapping_add(mem_mapping_t *mapping, mapping->write_w = write_w; mapping->write_l = write_l; mapping->exec = exec; - mapping->flags = flags; + mapping->flags = fl; mapping->p = p; mapping->next = NULL; diff --git a/src/network/net_ne2000.c b/src/network/net_ne2000.c index e2d78c3..c454148 100644 --- a/src/network/net_ne2000.c +++ b/src/network/net_ne2000.c @@ -12,7 +12,7 @@ * - Realtek RTL8019AS (ISA 16-bit, PnP); * - Realtek RTL8029AS (PCI). * - * Version: @(#)net_ne2000.c 1.0.8 2018/05/03 + * Version: @(#)net_ne2000.c 1.0.9 2018/05/04 * * Based on @(#)ne2k.cc v1.56.2.1 2004/02/02 22:37:22 cbothamy * @@ -2190,7 +2190,7 @@ nic_rx(void *priv, uint8_t *buf, int io_len) nic_t *dev = (nic_t *)priv; uint8_t pkthdr[4]; uint8_t *startptr; - int pages, avail; + int npg, avail; int idx, nextpage; int endbytes; @@ -2206,7 +2206,7 @@ nic_rx(void *priv, uint8_t *buf, int io_len) * Add the pkt header + CRC to the length, and work * out how many 256-byte pages the frame would occupy. */ - pages = (io_len + sizeof(pkthdr) + sizeof(uint32_t) + 255)/256; + npg = (io_len + sizeof(pkthdr) + sizeof(uint32_t) + 255)/256; if (dev->curr_page < dev->bound_ptr) { avail = dev->bound_ptr - dev->curr_page; } else { @@ -2219,9 +2219,9 @@ nic_rx(void *priv, uint8_t *buf, int io_len) * not attempting to do partial receives. The emulation * to handle this condition seems particularly painful. */ - if ((avail < pages) + if ((avail < npg) #if NE2K_NEVER_FULL_RING - || (avail == pages) + || (avail == npg) #endif ) { nelog(1, "%s: no space\n", dev->name); @@ -2293,7 +2293,7 @@ nic_rx(void *priv, uint8_t *buf, int io_len) nelog(2, "%s: RX promiscuous receive\n", dev->name); } - nextpage = dev->curr_page + pages; + nextpage = dev->curr_page + npg; if (nextpage >= dev->page_stop) nextpage -= (dev->page_stop - dev->page_start); @@ -2314,7 +2314,7 @@ nic_rx(void *priv, uint8_t *buf, int io_len) startptr = &dev->mem[(dev->curr_page * 256) - NE1K_MEMSTART]; memcpy(startptr, pkthdr, sizeof(pkthdr)); if ((nextpage > dev->curr_page) || - ((dev->curr_page + pages) == dev->page_stop)) { + ((dev->curr_page + npg) == dev->page_stop)) { memcpy(startptr+sizeof(pkthdr), buf, io_len); } else { endbytes = (dev->page_stop - dev->curr_page) * 256; @@ -2381,7 +2381,7 @@ static void * nic_init(const device_t *info) { uint32_t mac; - wchar_t *rom; + wchar_t *fn; nic_t *dev; #ifdef ENABLE_NETWORK_DEV_LOG int i; @@ -2400,7 +2400,7 @@ nic_init(const device_t *info) memset(dev, 0x00, sizeof(nic_t)); dev->name = info->name; dev->board = info->local; - rom = NULL; + fn = NULL; switch(dev->board) { case NE2K_NE1000: dev->is_8bit = 1; @@ -2410,7 +2410,7 @@ nic_init(const device_t *info) dev->maclocal[0] = 0x00; /* 00:00:D8 (Novell OID) */ dev->maclocal[1] = 0x00; dev->maclocal[2] = 0xD8; - rom = (dev->board == NE2K_NE1000) ? NULL : ROM_PATH_NE2000; + fn = (dev->board == NE2K_NE1000) ? NULL : ROM_PATH_NE2000; break; case NE2K_RTL8019AS: @@ -2419,7 +2419,7 @@ nic_init(const device_t *info) dev->maclocal[0] = 0x00; /* 00:E0:4C (Realtek OID) */ dev->maclocal[1] = 0xE0; dev->maclocal[2] = 0x4C; - rom = (dev->board == NE2K_RTL8019AS) ? ROM_PATH_RTL8019 : ROM_PATH_RTL8029; + fn = (dev->board == NE2K_RTL8019AS) ? ROM_PATH_RTL8019 : ROM_PATH_RTL8029; break; } @@ -2456,7 +2456,7 @@ nic_init(const device_t *info) nic_ioset(dev, dev->base_address); /* Set up our BIOS ROM space, if any. */ - nic_rom_init(dev, rom); + nic_rom_init(dev, fn); /* Set up our BIA. */ if (mac & 0xff000000) { diff --git a/src/network/slirp/bootp.c b/src/network/slirp/bootp.c index 9cbca75..2397b0e 100644 --- a/src/network/slirp/bootp.c +++ b/src/network/slirp/bootp.c @@ -120,7 +120,7 @@ static void bootp_reply(struct bootp_t *bp) struct SLIRPmbuf *m; struct bootp_t *rbp; struct sockaddr_in saddr, daddr; - struct in_addr dns_addr; + struct in_addr dns; int dhcp_msg_type, val; uint8_t *q; @@ -207,8 +207,8 @@ static void bootp_reply(struct bootp_t *bp) *q++ = RFC1533_DNS; *q++ = 4; - dns_addr.s_addr = htonl(ntohl(special_addr.s_addr) | CTL_DNS); - memcpy(q, &dns_addr, 4); + dns.s_addr = htonl(ntohl(special_addr.s_addr) | CTL_DNS); + memcpy(q, &dns, 4); q += 4; *q++ = RFC2132_LEASE_TIME; diff --git a/src/pc.c b/src/pc.c index 548247f..ad9c550 100644 --- a/src/pc.c +++ b/src/pc.c @@ -8,7 +8,7 @@ * * Main emulator module where most things are controlled. * - * Version: @(#)pc.c 1.0.33 2018/05/03 + * Version: @(#)pc.c 1.0.34 2018/05/04 * * Authors: Fred N. van Kempen, * Miran Grca, @@ -986,7 +986,7 @@ pc_thread(void *param) uint64_t start_time, end_time; uint32_t old_time, new_time; int status_update_needed; - int done, drawits, frames; + int done, drawits, frm; int *quitp = (int *)param; int framecountx; @@ -996,7 +996,7 @@ pc_thread(void *param) framecountx = 0; status_update_needed = title_update = 1; old_time = plat_get_ticks(); - done = drawits = frames = 0; + done = drawits = frm = 0; while (! *quitp) { /* Update the Stat(u)s window with the current info. */ if (status_update_needed) { @@ -1082,8 +1082,8 @@ pc_thread(void *param) egareads = egawrites = 0; cycles_lost = 0; mmuflush = 0; - emu_fps = frames; - frames = 0; + emu_fps = frm; + frm = 0; /* We need a Status window update now. */ status_update_needed = 1; @@ -1116,10 +1116,10 @@ pc_thread(void *param) done++; /* Every 200 frames we save the machine status. */ - if (++frames >= 200 && nvr_dosave) { + if (++frm >= 200 && nvr_dosave) { nvr_save(); nvr_dosave = 0; - frames = 0; + frm = 0; } end_time = plat_timer_read(); diff --git a/src/pit.c b/src/pit.c index aeb5db9..ebe5ec7 100644 --- a/src/pit.c +++ b/src/pit.c @@ -8,7 +8,7 @@ * * Implement the PIT (Programmable Interval Timer.) * - * Version: @(#)pit.c 1.0.4 2018/03/27 + * Version: @(#)pit.c 1.0.5 2018/05/04 * * Authors: Fred N. van Kempen, * Miran Grca, @@ -73,217 +73,217 @@ float RTCCONST; static void -pit_set_out(PIT *pit, int t, int out) +pit_set_out(PIT *dev, int t, int out) { - pit->set_out_funcs[t](out, pit->out[t]); - pit->out[t] = out; + dev->set_out_funcs[t](out, dev->out[t]); + dev->out[t] = out; } static void -pit_load(PIT *pit, int t) +pit_load(PIT *dev, int t) { - int l = pit->l[t] ? pit->l[t] : 0x10000; + int l = dev->l[t] ? dev->l[t] : 0x10000; timer_clock(); - pit->newcount[t] = 0; - pit->disabled[t] = 0; + dev->newcount[t] = 0; + dev->disabled[t] = 0; - switch (pit->m[t]) { + switch (dev->m[t]) { case 0: /*Interrupt on terminal count*/ - pit->count[t] = l; - pit->c[t] = (int64_t)((((int64_t) l) << TIMER_SHIFT) * PITCONST); - pit_set_out(pit, t, 0); - pit->thit[t] = 0; - pit->enabled[t] = pit->gate[t]; + dev->count[t] = l; + dev->c[t] = (int64_t)((((int64_t) l) << TIMER_SHIFT) * PITCONST); + pit_set_out(dev, t, 0); + dev->thit[t] = 0; + dev->enabled[t] = dev->gate[t]; break; case 1: /*Hardware retriggerable one-shot*/ - pit->enabled[t] = 1; + dev->enabled[t] = 1; break; case 2: /*Rate generator*/ - if (pit->initial[t]) { - pit->count[t] = l - 1; - pit->c[t] = (int64_t)(((((int64_t) l) - 1LL) << TIMER_SHIFT) * PITCONST); - pit_set_out(pit, t, 1); - pit->thit[t] = 0; + if (dev->initial[t]) { + dev->count[t] = l - 1; + dev->c[t] = (int64_t)(((((int64_t) l) - 1LL) << TIMER_SHIFT) * PITCONST); + pit_set_out(dev, t, 1); + dev->thit[t] = 0; } - pit->enabled[t] = pit->gate[t]; + dev->enabled[t] = dev->gate[t]; break; case 3: /*Square wave mode*/ - if (pit->initial[t]) { - pit->count[t] = l; - pit->c[t] = (int64_t)((((((int64_t) l) + 1LL) >> 1) << TIMER_SHIFT) * PITCONST); - pit_set_out(pit, t, 1); - pit->thit[t] = 0; + if (dev->initial[t]) { + dev->count[t] = l; + dev->c[t] = (int64_t)((((((int64_t) l) + 1LL) >> 1) << TIMER_SHIFT) * PITCONST); + pit_set_out(dev, t, 1); + dev->thit[t] = 0; } - pit->enabled[t] = pit->gate[t]; + dev->enabled[t] = dev->gate[t]; break; case 4: /*Software triggered stobe*/ - if (!pit->thit[t] && !pit->initial[t]) { - pit->newcount[t] = 1; + if (!dev->thit[t] && !dev->initial[t]) { + dev->newcount[t] = 1; } else { - pit->count[t] = l; - pit->c[t] = (int64_t)((l << TIMER_SHIFT) * PITCONST); - pit_set_out(pit, t, 0); - pit->thit[t] = 0; + dev->count[t] = l; + dev->c[t] = (int64_t)((l << TIMER_SHIFT) * PITCONST); + pit_set_out(dev, t, 0); + dev->thit[t] = 0; } - pit->enabled[t] = pit->gate[t]; + dev->enabled[t] = dev->gate[t]; break; case 5: /*Hardware triggered stobe*/ - pit->enabled[t] = 1; + dev->enabled[t] = 1; break; } - pit->initial[t] = 0; - pit->running[t] = pit->enabled[t] && - pit->using_timer[t] && !pit->disabled[t]; + dev->initial[t] = 0; + dev->running[t] = dev->enabled[t] && + dev->using_timer[t] && !dev->disabled[t]; timer_update_outstanding(); } static void -pit_over(PIT *pit, int t) +pit_over(PIT *dev, int t) { - int64_t l = pit->l[t] ? pit->l[t] : 0x10000LL; + int64_t l = dev->l[t] ? dev->l[t] : 0x10000LL; - if (pit->disabled[t]) { - pit->count[t] += 0xffff; - pit->c[t] += (int64_t)(((int64_t)0xffff << TIMER_SHIFT) * PITCONST); + if (dev->disabled[t]) { + dev->count[t] += 0xffff; + dev->c[t] += (int64_t)(((int64_t)0xffff << TIMER_SHIFT) * PITCONST); return; } - switch (pit->m[t]) { + switch (dev->m[t]) { case 0: /*Interrupt on terminal count*/ case 1: /*Hardware retriggerable one-shot*/ - if (! pit->thit[t]) - pit_set_out(pit, t, 1); - pit->thit[t] = 1; - pit->count[t] += 0xffff; - pit->c[t] += (int64_t)(((int64_t)0xffff << TIMER_SHIFT) * PITCONST); + if (! dev->thit[t]) + pit_set_out(dev, t, 1); + dev->thit[t] = 1; + dev->count[t] += 0xffff; + dev->c[t] += (int64_t)(((int64_t)0xffff << TIMER_SHIFT) * PITCONST); break; case 2: /*Rate generator*/ - pit->count[t] += (int)l; - pit->c[t] += (int64_t)((l << TIMER_SHIFT) * PITCONST); - pit_set_out(pit, t, 0); - pit_set_out(pit, t, 1); + dev->count[t] += (int)l; + dev->c[t] += (int64_t)((l << TIMER_SHIFT) * PITCONST); + pit_set_out(dev, t, 0); + pit_set_out(dev, t, 1); break; case 3: /*Square wave mode*/ - if (pit->out[t]) { - pit_set_out(pit, t, 0); - pit->count[t] += (int)(l >> 1); - pit->c[t] += (int64_t)(((l >> 1) << TIMER_SHIFT) * PITCONST); + if (dev->out[t]) { + pit_set_out(dev, t, 0); + dev->count[t] += (int)(l >> 1); + dev->c[t] += (int64_t)(((l >> 1) << TIMER_SHIFT) * PITCONST); } else { - pit_set_out(pit, t, 1); - pit->count[t] += (int)((l + 1) >> 1); - pit->c[t] = (int64_t)((((l + 1) >> 1) << TIMER_SHIFT) * PITCONST); + pit_set_out(dev, t, 1); + dev->count[t] += (int)((l + 1) >> 1); + dev->c[t] = (int64_t)((((l + 1) >> 1) << TIMER_SHIFT) * PITCONST); } break; - case 4: /*Software triggered strove*/ - if (! pit->thit[t]) { - pit_set_out(pit, t, 0); - pit_set_out(pit, t, 1); + case 4: /*Software triggered strobe*/ + if (! dev->thit[t]) { + pit_set_out(dev, t, 0); + pit_set_out(dev, t, 1); } - if (pit->newcount[t]) { - pit->newcount[t] = 0; - pit->count[t] += (int)l; - pit->c[t] += (int64_t)((l << TIMER_SHIFT) * PITCONST); + if (dev->newcount[t]) { + dev->newcount[t] = 0; + dev->count[t] += (int)l; + dev->c[t] += (int64_t)((l << TIMER_SHIFT) * PITCONST); } else { - pit->thit[t] = 1; - pit->count[t] += 0xffff; - pit->c[t] += (int64_t)(((int64_t)0xffff << TIMER_SHIFT) * PITCONST); + dev->thit[t] = 1; + dev->count[t] += 0xffff; + dev->c[t] += (int64_t)(((int64_t)0xffff << TIMER_SHIFT) * PITCONST); } break; - case 5: /*Hardware triggered strove*/ - if (! pit->thit[t]) { - pit_set_out(pit, t, 0); - pit_set_out(pit, t, 1); + case 5: /*Hardware triggered strobe*/ + if (! dev->thit[t]) { + pit_set_out(dev, t, 0); + pit_set_out(dev, t, 1); } - pit->thit[t] = 1; - pit->count[t] += 0xffff; - pit->c[t] += (int64_t)(((int64_t)0xffff << TIMER_SHIFT) * PITCONST); + dev->thit[t] = 1; + dev->count[t] += 0xffff; + dev->c[t] += (int64_t)(((int64_t)0xffff << TIMER_SHIFT) * PITCONST); break; } - pit->running[t] = pit->enabled[t] && - pit->using_timer[t] && !pit->disabled[t]; + dev->running[t] = dev->enabled[t] && + dev->using_timer[t] && !dev->disabled[t]; } static void -pit_set_gate_no_timer(PIT *pit, int t, int gate) +pit_set_gate_no_timer(PIT *dev, int t, int gate) { - int64_t l = pit->l[t] ? pit->l[t] : 0x10000LL; + int64_t l = dev->l[t] ? dev->l[t] : 0x10000LL; - if (pit->disabled[t]) { - pit->gate[t] = gate; + if (dev->disabled[t]) { + dev->gate[t] = gate; return; } - switch (pit->m[t]) { + switch (dev->m[t]) { case 0: /*Interrupt on terminal count*/ case 4: /*Software triggered stobe*/ - pit->enabled[t] = gate; + dev->enabled[t] = gate; break; case 1: /*Hardware retriggerable one-shot*/ case 5: /*Hardware triggered stobe*/ - if (gate && !pit->gate[t]) { - pit->count[t] = (int)l; - pit->c[t] = (int64_t)((l << TIMER_SHIFT) * PITCONST); - pit_set_out(pit, t, 0); - pit->thit[t] = 0; - pit->enabled[t] = 1; + if (gate && !dev->gate[t]) { + dev->count[t] = (int)l; + dev->c[t] = (int64_t)((l << TIMER_SHIFT) * PITCONST); + pit_set_out(dev, t, 0); + dev->thit[t] = 0; + dev->enabled[t] = 1; } break; case 2: /*Rate generator*/ - if (gate && !pit->gate[t]) { - pit->count[t] = (int)(l - 1); - pit->c[t] = (int64_t)((l << TIMER_SHIFT) * PITCONST); - pit_set_out(pit, t, 1); - pit->thit[t] = 0; + if (gate && !dev->gate[t]) { + dev->count[t] = (int)(l - 1); + dev->c[t] = (int64_t)((l << TIMER_SHIFT) * PITCONST); + pit_set_out(dev, t, 1); + dev->thit[t] = 0; } - pit->enabled[t] = gate; + dev->enabled[t] = gate; break; case 3: /*Square wave mode*/ - if (gate && !pit->gate[t]) { - pit->count[t] = (int)l; - pit->c[t] = (int64_t)((((l+1)>>1)<thit[t] = 0; + if (gate && !dev->gate[t]) { + dev->count[t] = (int)l; + dev->c[t] = (int64_t)((((l+1)>>1)<thit[t] = 0; } - pit->enabled[t] = gate; + dev->enabled[t] = gate; break; } - pit->gate[t] = gate; - pit->running[t] = pit->enabled[t] && - pit->using_timer[t] && !pit->disabled[t]; + dev->gate[t] = gate; + dev->running[t] = dev->enabled[t] && + dev->using_timer[t] && !dev->disabled[t]; } static void -pit_clock(PIT *pit, int t) +pit_clock(PIT *dev, int t) { - if (pit->thit[t] || !pit->enabled[t]) return; + if (dev->thit[t] || !dev->enabled[t]) return; - if (pit->using_timer[t]) return; + if (dev->using_timer[t]) return; - pit->count[t] -= (pit->m[t] == 3) ? 2 : 1; - if (! pit->count[t]) - pit_over(pit, t); + dev->count[t] -= (dev->m[t] == 3) ? 2 : 1; + if (! dev->count[t]) + pit_over(dev, t); } @@ -291,46 +291,46 @@ static void pit_timer_over(void *priv) { PIT_nr *pit_nr = (PIT_nr *)priv; - PIT *pit = pit_nr->pit; + PIT *dev = pit_nr->pit; int timer = pit_nr->nr; - pit_over(pit, timer); + pit_over(dev, timer); } static int -pit_read_timer(PIT *pit, int t) +pit_read_timer(PIT *dev, int t) { int r; timer_clock(); - if (pit->using_timer[t] && !(pit->m[t] == 3 && !pit->gate[t])) { - r = (int)((int64_t)((pit->c[t] + ((1LL << TIMER_SHIFT) - 1)) / PITCONST) >> TIMER_SHIFT); + if (dev->using_timer[t] && !(dev->m[t] == 3 && !dev->gate[t])) { + r = (int)((int64_t)((dev->c[t] + ((1LL << TIMER_SHIFT) - 1)) / PITCONST) >> TIMER_SHIFT); - if (pit->m[t] == 2) + if (dev->m[t] == 2) r++; if (r < 0) r = 0; if (r > 0x10000) r = 0x10000; - if (pit->m[t] == 3) + if (dev->m[t] == 3) r <<= 1; return r; } - if (pit->m[t] == 2) - return (pit->count[t] + 1); + if (dev->m[t] == 2) + return (dev->count[t] + 1); - return pit->count[t]; + return dev->count[t]; } static void pit_write(uint16_t addr, uint8_t val, void *priv) { - PIT *pit = (PIT *)priv; + PIT *dev = (PIT *)priv; int t; cycles -= (int)PITCONST; @@ -340,91 +340,91 @@ pit_write(uint16_t addr, uint8_t val, void *priv) if ((val & 0xc0) == 0xc0) { if (! (val & 0x20)) { if (val & 2) - pit->rl[0] = (uint32_t)pit_read_timer(pit, 0); + dev->rl[0] = (uint32_t)pit_read_timer(dev, 0); if (val & 4) - pit->rl[1] = (uint32_t)pit_read_timer(pit, 1); + dev->rl[1] = (uint32_t)pit_read_timer(dev, 1); if (val & 8) - pit->rl[2] = (uint32_t)pit_read_timer(pit, 2); + dev->rl[2] = (uint32_t)pit_read_timer(dev, 2); } if (! (val & 0x10)) { if (val & 2) { - pit->read_status[0] = (pit->ctrls[0] & 0x3f) | (pit->out[0] ? 0x80 : 0); - pit->do_read_status[0] = 1; + dev->read_status[0] = (dev->ctrls[0] & 0x3f) | (dev->out[0] ? 0x80 : 0); + dev->do_read_status[0] = 1; } if (val & 4) { - pit->read_status[1] = (pit->ctrls[1] & 0x3f) | (pit->out[1] ? 0x80 : 0); - pit->do_read_status[1] = 1; + dev->read_status[1] = (dev->ctrls[1] & 0x3f) | (dev->out[1] ? 0x80 : 0); + dev->do_read_status[1] = 1; } if (val & 8) { - pit->read_status[2] = (pit->ctrls[2] & 0x3f) | (pit->out[2] ? 0x80 : 0); - pit->do_read_status[2] = 1; + dev->read_status[2] = (dev->ctrls[2] & 0x3f) | (dev->out[2] ? 0x80 : 0); + dev->do_read_status[2] = 1; } } return; } t = val >> 6; - pit->ctrl = val; + dev->ctrl = val; if ((val >> 7) == 3) return; - if (! (pit->ctrl & 0x30)) { - pit->rl[t] = (uint32_t)pit_read_timer(pit, t); - pit->ctrl |= 0x30; - pit->rereadlatch[t] = 0; - pit->rm[t] = 3; - pit->latched[t] = 1; + if (! (dev->ctrl & 0x30)) { + dev->rl[t] = (uint32_t)pit_read_timer(dev, t); + dev->ctrl |= 0x30; + dev->rereadlatch[t] = 0; + dev->rm[t] = 3; + dev->latched[t] = 1; } else { - pit->ctrls[t] = val; - pit->rm[t] = pit->wm[t] = (pit->ctrl >> 4) & 3; - pit->m[t] = (val >> 1) & 7; - if (pit->m[t]>5) - pit->m[t] &= 3; - if (! (pit->rm[t])) { - pit->rm[t] = 3; - pit->rl[t] = (uint32_t)pit_read_timer(pit, t); + dev->ctrls[t] = val; + dev->rm[t] = dev->wm[t] = (dev->ctrl >> 4) & 3; + dev->m[t] = (val >> 1) & 7; + if (dev->m[t]>5) + dev->m[t] &= 3; + if (! (dev->rm[t])) { + dev->rm[t] = 3; + dev->rl[t] = (uint32_t)pit_read_timer(dev, t); } - pit->rereadlatch[t] = 1; - pit->initial[t] = 1; - if (! pit->m[t]) - pit_set_out(pit, t, 0); + dev->rereadlatch[t] = 1; + dev->initial[t] = 1; + if (! dev->m[t]) + pit_set_out(dev, t, 0); else - pit_set_out(pit, t, 1); - pit->disabled[t] = 1; + pit_set_out(dev, t, 1); + dev->disabled[t] = 1; } - pit->wp = 0; - pit->thit[t] = 0; + dev->wp = 0; + dev->thit[t] = 0; break; case 0: /*Timers*/ case 1: case 2: t = addr & 3; - switch (pit->wm[t]) { + switch (dev->wm[t]) { case 1: - pit->l[t] = val; - pit_load(pit, t); + dev->l[t] = val; + pit_load(dev, t); break; case 2: - pit->l[t] = (val << 8); - pit_load(pit, t); + dev->l[t] = (val << 8); + pit_load(dev, t); break; case 0: - pit->l[t] &= 0xff; - pit->l[t] |= (val << 8); - pit_load(pit, t); - pit->wm[t] = 3; + dev->l[t] &= 0xff; + dev->l[t] |= (val << 8); + pit_load(dev, t); + dev->wm[t] = 3; break; case 3: - pit->l[t] &= 0xff00; - pit->l[t] |= val; - pit->wm[t] = 0; + dev->l[t] &= 0xff00; + dev->l[t] |= val; + dev->wm[t] = 0; break; } - speakval = (int)(((float)pit->l[2]/(float)pit->l[0])*0x4000)-0x2000; + speakval = (int)(((float)dev->l[2]/(float)dev->l[0])*0x4000)-0x2000; if (speakval > 0x2000) speakval = 0x2000; break; @@ -435,7 +435,7 @@ pit_write(uint16_t addr, uint8_t val, void *priv) static uint8_t pit_read(uint16_t addr, void *priv) { - PIT *pit = (PIT *)priv; + PIT *dev = (PIT *)priv; uint8_t temp = 0xff; int t; @@ -446,47 +446,47 @@ pit_read(uint16_t addr, void *priv) case 1: case 2: t = addr & 3; - if (pit->do_read_status[t]) { - pit->do_read_status[t] = 0; - temp = pit->read_status[t]; + if (dev->do_read_status[t]) { + dev->do_read_status[t] = 0; + temp = dev->read_status[t]; break; } - if (pit->rereadlatch[addr & 3] && !pit->latched[addr & 3]) { - pit->rereadlatch[addr & 3] = 0; - pit->rl[t] = pit_read_timer(pit, t); + if (dev->rereadlatch[addr & 3] && !dev->latched[addr & 3]) { + dev->rereadlatch[addr & 3] = 0; + dev->rl[t] = pit_read_timer(dev, t); } - switch (pit->rm[addr & 3]) { + switch (dev->rm[addr & 3]) { case 0: - temp = pit->rl[addr & 3] >> 8; - pit->rm[addr & 3] = 3; - pit->latched[addr & 3] = 0; - pit->rereadlatch[addr & 3] = 1; + temp = dev->rl[addr & 3] >> 8; + dev->rm[addr & 3] = 3; + dev->latched[addr & 3] = 0; + dev->rereadlatch[addr & 3] = 1; break; case 1: - temp = (pit->rl[addr & 3]) & 0xff; - pit->latched[addr & 3] = 0; - pit->rereadlatch[addr & 3] = 1; + temp = (dev->rl[addr & 3]) & 0xff; + dev->latched[addr & 3] = 0; + dev->rereadlatch[addr & 3] = 1; break; case 2: - temp = (pit->rl[addr & 3]) >> 8; - pit->latched[addr & 3] = 0; - pit->rereadlatch[addr & 3] = 1; + temp = (dev->rl[addr & 3]) >> 8; + dev->latched[addr & 3] = 0; + dev->rereadlatch[addr & 3] = 1; break; case 3: - temp = (pit->rl[addr & 3]) & 0xFF; - if (pit->m[addr & 3] & 0x80) - pit->m[addr & 3] &= 7; + temp = (dev->rl[addr & 3]) & 0xFF; + if (dev->m[addr & 3] & 0x80) + dev->m[addr & 3] &= 7; else - pit->rm[addr & 3] = 0; + dev->rm[addr & 3] = 0; break; } break; case 3: /*Control*/ - temp = pit->ctrl; + temp = dev->ctrl; break; } @@ -610,26 +610,26 @@ pit_ps2_init(void) void -pit_reset(PIT *pit) +pit_reset(PIT *dev) { void (*old_set_out_funcs[3])(int new_out, int old_out); PIT_nr old_pit_nr[3]; - memcpy(old_set_out_funcs, pit->set_out_funcs, 3 * sizeof(void *)); - memcpy(old_pit_nr, pit->pit_nr, 3 * sizeof(PIT_nr)); - memset(pit, 0, sizeof(PIT)); - memcpy(pit->set_out_funcs, old_set_out_funcs, 3 * sizeof(void *)); - memcpy(pit->pit_nr, old_pit_nr, 3 * sizeof(PIT_nr)); + memcpy(old_set_out_funcs, dev->set_out_funcs, 3 * sizeof(void *)); + memcpy(old_pit_nr, dev->pit_nr, 3 * sizeof(PIT_nr)); + memset(dev, 0, sizeof(PIT)); + memcpy(dev->set_out_funcs, old_set_out_funcs, 3 * sizeof(void *)); + memcpy(dev->pit_nr, old_pit_nr, 3 * sizeof(PIT_nr)); - pit->l[0] = 0xffff; pit->c[0] = (int64_t)(0xffffLL*PITCONST); - pit->l[1] = 0xffff; pit->c[1] = (int64_t)(0xffffLL*PITCONST); - pit->l[2] = 0xffff; pit->c[2] = (int64_t)(0xffffLL*PITCONST); - pit->m[0] = pit->m[1] = pit->m[2] = 0; - pit->ctrls[0] = pit->ctrls[1] = pit->ctrls[2] = 0; - pit->thit[0] = 1; - pit->gate[0] = pit->gate[1] = 1; - pit->gate[2] = 0; - pit->using_timer[0] = pit->using_timer[1] = pit->using_timer[2] = 1; + dev->l[0] = 0xffff; dev->c[0] = (int64_t)(0xffffLL*PITCONST); + dev->l[1] = 0xffff; dev->c[1] = (int64_t)(0xffffLL*PITCONST); + dev->l[2] = 0xffff; dev->c[2] = (int64_t)(0xffffLL*PITCONST); + dev->m[0] = dev->m[1] = dev->m[2] = 0; + dev->ctrls[0] = dev->ctrls[1] = dev->ctrls[2] = 0; + dev->thit[0] = 1; + dev->gate[0] = dev->gate[1] = 1; + dev->gate[2] = 0; + dev->using_timer[0] = dev->using_timer[1] = dev->using_timer[2] = 1; } @@ -694,43 +694,43 @@ pit_timer0_freq(void) void -pit_set_gate(PIT *pit, int t, int gate) +pit_set_gate(PIT *dev, int t, int gate) { - if (pit->disabled[t]) { - pit->gate[t] = gate; + if (dev->disabled[t]) { + dev->gate[t] = gate; return; } timer_process(); - pit_set_gate_no_timer(pit, t, gate); + pit_set_gate_no_timer(dev, t, gate); timer_update_outstanding(); } void -pit_set_using_timer(PIT *pit, int t, int using_timer) +pit_set_using_timer(PIT *dev, int t, int using_timer) { timer_process(); - if (pit->using_timer[t] && !using_timer) - pit->count[t] = pit_read_timer(pit, t); - if (!pit->using_timer[t] && using_timer) - pit->c[t] = (int64_t)((((int64_t) pit->count[t]) << TIMER_SHIFT) * PITCONST); + if (dev->using_timer[t] && !using_timer) + dev->count[t] = pit_read_timer(dev, t); + if (!dev->using_timer[t] && using_timer) + dev->c[t] = (int64_t)((((int64_t) dev->count[t]) << TIMER_SHIFT) * PITCONST); - pit->using_timer[t] = using_timer; - pit->running[t] = pit->enabled[t] && - pit->using_timer[t] && !pit->disabled[t]; + dev->using_timer[t] = using_timer; + dev->running[t] = dev->enabled[t] && + dev->using_timer[t] && !dev->disabled[t]; timer_update_outstanding(); } void -pit_set_out_func(PIT *pit, int t, void (*func)(int new_out, int old_out)) +pit_set_out_func(PIT *dev, int t, void (*func)(int new_out, int old_out)) { - pit->set_out_funcs[t] = func; + dev->set_out_funcs[t] = func; } diff --git a/src/ports/game.c b/src/ports/game.c index ee83159..4c43c69 100644 --- a/src/ports/game.c +++ b/src/ports/game.c @@ -8,7 +8,7 @@ * * Implementation of a generic Game Port. * - * Version: @(#)game.c 1.0.12 2018/05/03 + * Version: @(#)game.c 1.0.13 2018/05/04 * * Authors: Fred N. van Kempen, * Sarah Walker, @@ -117,12 +117,14 @@ game_write(uint16_t addr, uint8_t val, void *priv) dev->state |= 0x0f; - for (i = 0; i < 4; i++) { - dev->axis[i].count = - game_time(dev->joystick->read_axis(dev->joystick_priv, i)); - } + if (dev->joystick != NULL) { + for (i = 0; i < 4; i++) { + dev->axis[i].count = + game_time(dev->joystick->read_axis(dev->joystick_priv, i)); + } - dev->joystick->write(dev->joystick_priv); + dev->joystick->write(dev->joystick_priv); + } cycles -= ISA_CYCLES(8); } @@ -136,7 +138,10 @@ game_read(uint16_t addr, void *priv) timer_clock(); - ret = dev->state | dev->joystick->read(dev->joystick_priv); + ret = dev->state; + + if (dev->joystick != NULL) + ret |= dev->joystick->read(dev->joystick_priv); cycles -= ISA_CYCLES(8); @@ -158,7 +163,7 @@ game_over(void *priv) dev->state &= ~(1 << axis->axis_nr); axis->count = 0; - if (axis == &dev->axis[0]) + if ((dev->joystick != NULL) && (axis == &dev->axis[0])) dev->joystick->a0_over(dev->joystick_priv); } @@ -183,8 +188,10 @@ game_init(const device_t *info) &dev->axis[i].count, &dev->axis[i].count, &dev->axis[i]); } - dev->joystick = gamedev_get_device(joystick_type); - dev->joystick_priv = dev->joystick->init(); + if (joystick_type != 0) { + dev->joystick = gamedev_get_device(joystick_type); + dev->joystick_priv = dev->joystick->init(); + } switch(info->local) { case 0: /* regular game port */ @@ -210,7 +217,8 @@ game_close(void *priv) if (dev == NULL) return; - dev->joystick->close(dev->joystick_priv); + if (dev->joystick != NULL) + dev->joystick->close(dev->joystick_priv); game_global = NULL; diff --git a/src/rom.c b/src/rom.c index 1102c3f..8aafe9b 100644 --- a/src/rom.c +++ b/src/rom.c @@ -8,7 +8,7 @@ * * Handling of ROM image files. * - * Version: @(#)rom.c 1.0.13 2018/04/12 + * Version: @(#)rom.c 1.0.14 2018/05/04 * * Authors: Fred N. van Kempen, * Miran Grca, @@ -90,14 +90,14 @@ rom_present(const wchar_t *fn) uint8_t rom_read(uint32_t addr, void *priv) { - rom_t *rom = (rom_t *)priv; + rom_t *ptr = (rom_t *)priv; #ifdef ROM_TRACE - if (rom->mapping.base==ROM_TRACE) + if (ptr->mapping.base==ROM_TRACE) pclog("ROM: read byte from BIOS at %06lX\n", addr); #endif - return(rom->rom[addr & rom->mask]); + return(ptr->rom[addr & ptr->mask]); } @@ -105,14 +105,14 @@ rom_read(uint32_t addr, void *priv) uint16_t rom_readw(uint32_t addr, void *priv) { - rom_t *rom = (rom_t *)priv; + rom_t *ptr = (rom_t *)priv; #ifdef ROM_TRACE - if (rom->mapping.base==ROM_TRACE) + if (ptr->mapping.base==ROM_TRACE) pclog("ROM: read word from BIOS at %06lX\n", addr); #endif - return(*(uint16_t *)&rom->rom[addr & rom->mask]); + return(*(uint16_t *)&ptr->rom[addr & ptr->mask]); } @@ -120,14 +120,14 @@ rom_readw(uint32_t addr, void *priv) uint32_t rom_readl(uint32_t addr, void *priv) { - rom_t *rom = (rom_t *)priv; + rom_t *ptr = (rom_t *)priv; #ifdef ROM_TRACE - if (rom->mapping.base==ROM_TRACE) + if (ptr->mapping.base==ROM_TRACE) pclog("ROM: read long from BIOS at %06lX\n", addr); #endif - return(*(uint32_t *)&rom->rom[addr & rom->mask]); + return(*(uint32_t *)&ptr->rom[addr & ptr->mask]); } @@ -195,54 +195,52 @@ rom_load_interleaved(const wchar_t *fnl, const wchar_t *fnh, uint32_t addr, int /* Read and initialize an option ROM. */ int -rom_init(rom_t *rom, const wchar_t *fn, uint32_t addr, int sz, int mask, int off, uint32_t flags) +rom_init(rom_t *ptr, const wchar_t *fn, uint32_t addr, int sz, int mask, int off, uint32_t fl) { /* Allocate a buffer for the image. */ - rom->rom = malloc(sz); - memset(rom->rom, 0xff, sz); + ptr->rom = malloc(sz); + memset(ptr->rom, 0xff, sz); /* Load the image file into the buffer. */ - if (! rom_load_linear(fn, addr, sz, off, rom->rom)) { + if (! rom_load_linear(fn, addr, sz, off, ptr->rom)) { /* Nope.. clean up. */ - free(rom->rom); - rom->rom = NULL; + free(ptr->rom); + ptr->rom = NULL; return(0); } - rom->mask = mask; + ptr->mask = mask; - mem_mapping_add(&rom->mapping, - addr, sz, + mem_mapping_add(&ptr->mapping, addr, sz, rom_read, rom_readw, rom_readl, mem_write_null, mem_write_nullw, mem_write_nulll, - rom->rom, flags | MEM_MAPPING_ROM, rom); + ptr->rom, fl | MEM_MAPPING_ROM, ptr); return(1); } int -rom_init_interleaved(rom_t *rom, const wchar_t *fnl, const wchar_t *fnh, uint32_t addr, int sz, int mask, int off, uint32_t flags) +rom_init_interleaved(rom_t *ptr, const wchar_t *fnl, const wchar_t *fnh, uint32_t addr, int sz, int mask, int off, uint32_t fl) { /* Allocate a buffer for the image. */ - rom->rom = malloc(sz); - memset(rom->rom, 0xff, sz); + ptr->rom = malloc(sz); + memset(ptr->rom, 0xff, sz); /* Load the image file into the buffer. */ - if (! rom_load_interleaved(fnl, fnh, addr, sz, off, rom->rom)) { + if (! rom_load_interleaved(fnl, fnh, addr, sz, off, ptr->rom)) { /* Nope.. clean up. */ - free(rom->rom); - rom->rom = NULL; + free(ptr->rom); + ptr->rom = NULL; return(0); } - rom->mask = mask; + ptr->mask = mask; - mem_mapping_add(&rom->mapping, - addr, sz, + mem_mapping_add(&ptr->mapping, addr, sz, rom_read, rom_readw, rom_readl, mem_write_null, mem_write_nullw, mem_write_nulll, - rom->rom, flags | MEM_MAPPING_ROM, rom); + ptr->rom, fl | MEM_MAPPING_ROM, ptr); return(1); } diff --git a/src/scsi/scsi_aha154x.c b/src/scsi/scsi_aha154x.c index 16a0a68..3080f7a 100644 --- a/src/scsi/scsi_aha154x.c +++ b/src/scsi/scsi_aha154x.c @@ -10,7 +10,7 @@ * made by Adaptec, Inc. These controllers were designed for * the ISA bus. * - * Version: @(#)scsi_aha154x.c 1.0.7 2018/04/02 + * Version: @(#)scsi_aha154x.c 1.0.8 2018/05/04 * * Based on original code from TheCollector1995 and Miran Grca. * @@ -135,14 +135,14 @@ static uint8_t mem_read(uint32_t addr, void *priv) { x54x_t *dev = (x54x_t *)priv; - rom_t *rom = &dev->bios; + rom_t *ptr = &dev->bios; addr &= 0x3fff; if ((addr >= dev->rom_shram) && (dev->shram_mode & 2)) return dev->shadow_ram[addr & (dev->rom_shramsz - 1)]; - return(rom->rom[addr]); + return(ptr->rom[addr]); } diff --git a/src/sound/snd_ad1848.c b/src/sound/snd_ad1848.c index b14c1ce..00e0d65 100644 --- a/src/sound/snd_ad1848.c +++ b/src/sound/snd_ad1848.c @@ -8,7 +8,7 @@ * * Emulation of the AD1848 (Windows Sound System) CODEC. * - * Version: @(#)snd_ad1848.c 1.0.2 2018/03/28 + * Version: @(#)snd_ad1848.c 1.0.3 2018/05/04 * * Authors: Fred N. van Kempen, * Miran Grca, @@ -52,14 +52,14 @@ static int ad1848_vols[64]; -void ad1848_setirq(ad1848_t *ad1848, int irq) +void ad1848_setirq(ad1848_t *ad1848, int irq_ch) { - ad1848->irq = irq; + ad1848->irq = irq_ch; } -void ad1848_setdma(ad1848_t *ad1848, int dma) +void ad1848_setdma(ad1848_t *ad1848, int dma_ch) { - ad1848->dma = dma; + ad1848->dma = dma_ch; } uint8_t ad1848_read(uint16_t addr, void *p) diff --git a/src/sound/snd_emu8k.c b/src/sound/snd_emu8k.c index e42c5ba..4ee677b 100644 --- a/src/sound/snd_emu8k.c +++ b/src/sound/snd_emu8k.c @@ -8,7 +8,7 @@ * * Implementation of Emu8000 emulator. * - * Version: @(#)snd_emu8k.c 1.0.9 2018/04/27 + * Version: @(#)snd_emu8k.c 1.0.10 2018/05/04 * * Authors: Fred N. van Kempen, * Miran Grca, @@ -2176,17 +2176,17 @@ I've recopilated these sentences to get an idea of how to loop void emu8k_init(emu8k_t *emu8k, uint16_t emu_addr, int onboard_ram) { uint32_t const BLOCK_SIZE_WORDS = 0x10000; - FILE *f; + FILE *fp; int c; double out; - f = plat_fopen(rom_path(EMU8K_ROM_PATH), L"rb"); - if (f == NULL) + fp = plat_fopen(rom_path(EMU8K_ROM_PATH), L"rb"); + if (fp == NULL) fatal("AWE32.RAW not found\n"); emu8k->rom = malloc(1024 * 1024); - fread(emu8k->rom, 1024 * 1024, 1, f); - fclose(f); + fread(emu8k->rom, 1024 * 1024, 1, fp); + fclose(fp); /*AWE-DUMP creates ROM images offset by 2 bytes, so if we detect this then correct it*/ if (emu8k->rom[3] == 0x314d && emu8k->rom[4] == 0x474d) diff --git a/src/sound/snd_sb_dsp.c b/src/sound/snd_sb_dsp.c index 3bddd91..62a842f 100644 --- a/src/sound/snd_sb_dsp.c +++ b/src/sound/snd_sb_dsp.c @@ -14,7 +14,7 @@ * 486-50 - 32kHz * Pentium - 45kHz * - * Version: @(#)snd_sb_dsp.c 1.0.4 2018/03/28 + * Version: @(#)snd_sb_dsp.c 1.0.5 2018/05/04 * * Authors: Fred N. van Kempen, * Miran Grca, @@ -397,19 +397,19 @@ int sb_16_write_dma(sb_dsp_t *dsp, uint16_t val) return (ret == DMA_NODATA); } -void sb_dsp_setirq(sb_dsp_t *dsp, int irq) +void sb_dsp_setirq(sb_dsp_t *dsp, int irq_ch) { - dsp->sb_irqnum = irq; + dsp->sb_irqnum = irq_ch; } -void sb_dsp_setdma8(sb_dsp_t *dsp, int dma) +void sb_dsp_setdma8(sb_dsp_t *dsp, int dma_ch) { - dsp->sb_8_dmanum = dma; + dsp->sb_8_dmanum = dma_ch; } -void sb_dsp_setdma16(sb_dsp_t *dsp, int dma) +void sb_dsp_setdma16(sb_dsp_t *dsp, int dma_ch) { - dsp->sb_16_dmanum = dma; + dsp->sb_16_dmanum = dma_ch; } void sb_exec_command(sb_dsp_t *dsp) { diff --git a/src/timer.h b/src/timer.h index 61ebbe9..6da8068 100644 --- a/src/timer.h +++ b/src/timer.h @@ -8,7 +8,7 @@ * * Definitions for the system timer module. * - * Version: @(#)timer.h 1.0.1 2018/02/14 + * Version: @(#)timer.h 1.0.2 2018/05/04 * * Authors: Fred N. van Kempen, * Miran Grca, @@ -48,8 +48,8 @@ extern int64_t timer_start; #define timer_end_period(cycles) \ do \ { \ - int64_t diff = timer_start - (cycles); \ - timer_count -= diff; \ + int64_t __diff = timer_start - (cycles); \ + timer_count -= __diff; \ timer_start = cycles; \ if (timer_count <= 0) \ { \ @@ -61,18 +61,18 @@ extern int64_t timer_start; #define timer_clock() \ do \ { \ - int64_t diff; \ + int64_t __diff; \ if (AT) \ { \ - diff = timer_start - (cycles << TIMER_SHIFT); \ + __diff = timer_start - (cycles << TIMER_SHIFT); \ timer_start = cycles << TIMER_SHIFT; \ } \ else \ { \ - diff = timer_start - (cycles * xt_cpu_multi); \ + __diff = timer_start - (cycles * xt_cpu_multi); \ timer_start = cycles * xt_cpu_multi; \ } \ - timer_count -= diff; \ + timer_count -= __diff; \ timer_process(); \ timer_update_outstanding(); \ } while (0) diff --git a/src/video/vid_ati_mach64.c b/src/video/vid_ati_mach64.c index 40f85d0..e4643b8 100644 --- a/src/video/vid_ati_mach64.c +++ b/src/video/vid_ati_mach64.c @@ -8,7 +8,7 @@ * * ATi Mach64 graphics card emulation. * - * Version: @(#)vid_ati_mach64.c 1.0.10 2018/04/09 + * Version: @(#)vid_ati_mach64.c 1.0.11 2018/05/04 * * Authors: Fred N. van Kempen, * Miran Grca, @@ -2876,7 +2876,7 @@ uint32_t mach64_readl(uint32_t addr, void *p) return svga_readl_linear(addr, svga); } -void mach64_hwcursor_draw(svga_t *svga, int displine) +void mach64_hwcursor_draw(svga_t *svga, int disp_line) { mach64_t *mach64 = (mach64_t *)svga->p; int x, offset; @@ -2890,17 +2890,17 @@ void mach64_hwcursor_draw(svga_t *svga, int displine) for (x = 0; x < 64 - svga->hwcursor_latch.xoff; x += 4) { dat = svga->vram[svga->hwcursor_latch.addr + (offset >> 2)]; - if (!(dat & 2)) ((uint32_t *)buffer32->line[displine + y_add])[svga->hwcursor_latch.x + x + 32 + x_add] = (dat & 1) ? col1 : col0; - else if ((dat & 3) == 3) ((uint32_t *)buffer32->line[displine + y_add])[svga->hwcursor_latch.x + x + 32 + x_add] ^= 0xFFFFFF; + if (!(dat & 2)) ((uint32_t *)buffer32->line[disp_line + y_add])[svga->hwcursor_latch.x + x + 32 + x_add] = (dat & 1) ? col1 : col0; + else if ((dat & 3) == 3) ((uint32_t *)buffer32->line[disp_line + y_add])[svga->hwcursor_latch.x + x + 32 + x_add] ^= 0xFFFFFF; dat >>= 2; - if (!(dat & 2)) ((uint32_t *)buffer32->line[displine + y_add])[svga->hwcursor_latch.x + x + 33 + x_add] = (dat & 1) ? col1 : col0; - else if ((dat & 3) == 3) ((uint32_t *)buffer32->line[displine + y_add])[svga->hwcursor_latch.x + x + 33 + x_add] ^= 0xFFFFFF; + if (!(dat & 2)) ((uint32_t *)buffer32->line[disp_line + y_add])[svga->hwcursor_latch.x + x + 33 + x_add] = (dat & 1) ? col1 : col0; + else if ((dat & 3) == 3) ((uint32_t *)buffer32->line[disp_line + y_add])[svga->hwcursor_latch.x + x + 33 + x_add] ^= 0xFFFFFF; dat >>= 2; - if (!(dat & 2)) ((uint32_t *)buffer32->line[displine + y_add])[svga->hwcursor_latch.x + x + 34 + x_add] = (dat & 1) ? col1 : col0; - else if ((dat & 3) == 3) ((uint32_t *)buffer32->line[displine + y_add])[svga->hwcursor_latch.x + x + 34 + x_add] ^= 0xFFFFFF; + if (!(dat & 2)) ((uint32_t *)buffer32->line[disp_line + y_add])[svga->hwcursor_latch.x + x + 34 + x_add] = (dat & 1) ? col1 : col0; + else if ((dat & 3) == 3) ((uint32_t *)buffer32->line[disp_line + y_add])[svga->hwcursor_latch.x + x + 34 + x_add] ^= 0xFFFFFF; dat >>= 2; - if (!(dat & 2)) ((uint32_t *)buffer32->line[displine + y_add])[svga->hwcursor_latch.x + x + 35 + x_add] = (dat & 1) ? col1 : col0; - else if ((dat & 3) == 3) ((uint32_t *)buffer32->line[displine + y_add])[svga->hwcursor_latch.x + x + 35 + x_add] ^= 0xFFFFFF; + if (!(dat & 2)) ((uint32_t *)buffer32->line[disp_line + y_add])[svga->hwcursor_latch.x + x + 35 + x_add] = (dat & 1) ? col1 : col0; + else if ((dat & 3) == 3) ((uint32_t *)buffer32->line[disp_line + y_add])[svga->hwcursor_latch.x + x + 35 + x_add] ^= 0xFFFFFF; dat >>= 2; offset += 4; } @@ -3042,7 +3042,7 @@ void mach64_hwcursor_draw(svga_t *svga, int displine) } \ } while (0) -void mach64_overlay_draw(svga_t *svga, int displine) +void mach64_overlay_draw(svga_t *svga, int disp_line) { mach64_t *mach64 = (mach64_t *)svga->p; int x; @@ -3059,7 +3059,7 @@ void mach64_overlay_draw(svga_t *svga, int displine) int graphics_key_fn = (mach64->overlay_key_cntl >> 4) & 5; int overlay_cmp_mix = (mach64->overlay_key_cntl >> 8) & 0xf; - p = &((uint32_t *)buffer32->line[displine])[32 + mach64->svga.overlay_latch.x]; + p = &((uint32_t *)buffer32->line[disp_line])[32 + mach64->svga.overlay_latch.x]; if (mach64->scaler_update) { @@ -3357,9 +3357,9 @@ void mach64_pci_write(int func, int addr, uint8_t val, void *p) mach64->pci_regs[addr] = val; if (mach64->pci_regs[0x30] & 0x01) { - uint32_t addr = (mach64->pci_regs[0x32] << 16) | (mach64->pci_regs[0x33] << 24); - /* pclog("Mach64 bios_rom enabled at %08x\n", addr); */ - mem_mapping_set_addr(&mach64->bios_rom.mapping, addr, 0x8000); + uint32_t a = (mach64->pci_regs[0x32] << 16) | (mach64->pci_regs[0x33] << 24); + /* pclog("Mach64 bios_rom enabled at %08x\n", a); */ + mem_mapping_set_addr(&mach64->bios_rom.mapping, a, 0x8000); } else { @@ -3531,7 +3531,6 @@ void mach64_add_status_info(char *s, int max_len, void *p) if (((mach64->crtc_gen_cntl >> 24) & 3) == 3) { svga_t *svga = &mach64->svga; - char temps[128]; int bpp = 4; strncat(s, "Mach64 in native mode\n", max_len); diff --git a/src/video/vid_cga_comp.c b/src/video/vid_cga_comp.c index be57519..51a9f6b 100644 --- a/src/video/vid_cga_comp.c +++ b/src/video/vid_cga_comp.c @@ -9,7 +9,7 @@ * IBM CGA composite filter, borrowed from reenigne's DOSBox * patch and ported to C. * - * Version: @(#)vid_cga_comp.c 1.0.2 2018/03/08 + * Version: @(#)vid_cga_comp.c 1.0.3 2018/05/04 * * Authors: Fred N. van Kempen, * Miran Grca, @@ -148,10 +148,10 @@ void update_cga16_color(uint8_t cgamode) { if (!new_cga) v = c + i; else { - double r = intensity[((left >> 2) & 1) | ((right >> 1) & 2)]; - double g = intensity[((left >> 1) & 1) | (right & 2)]; - double b = intensity[(left & 1) | ((right << 1) & 2)]; - v = NEW_CGA(c, i, r, g, b); + double d_r = intensity[((left >> 2) & 1) | ((right >> 1) & 2)]; + double d_g = intensity[((left >> 1) & 1) | (right & 2)]; + double d_b = intensity[(left & 1) | ((right << 1) & 2)]; + v = NEW_CGA(c, i, d_r, d_g, d_b); } CGA_Composite_Table[x] = (int) (v*mode_contrast + mode_brightness); } @@ -197,7 +197,7 @@ Bit8u * Composite_Process(uint8_t cgamode, Bit8u border, Bit32u blocks/*, bool d int *o; Bit8u *rgbi; - int *b; + int *b2; int *i; Bit32u* srgb; int *ap, *bp; @@ -224,9 +224,9 @@ Bit8u * Composite_Process(uint8_t cgamode, Bit8u border, Bit32u blocks/*, bool d /* Simulate CGA composite output */ o = temp; rgbi = TempLine; - b = &CGA_Composite_Table[border*68]; + b2 = &CGA_Composite_Table[border*68]; for (x = 0; x < 4; ++x) - OUT(b[(x+3)&3]); + OUT(b2[(x+3)&3]); OUT(CGA_Composite_Table[(border<<6) | ((*rgbi)<<2) | 3]); for (x = 0; x < w-1; ++x) { OUT(CGA_Composite_Table[(rgbi[0]<<6) | (rgbi[1]<<2) | (x&3)]); @@ -234,7 +234,7 @@ Bit8u * Composite_Process(uint8_t cgamode, Bit8u border, Bit32u blocks/*, bool d } OUT(CGA_Composite_Table[((*rgbi)<<6) | (border<<2) | 3]); for (x = 0; x < 5; ++x) - OUT(b[x&3]); + OUT(b2[x&3]); if ((cgamode & 4) != 0) { /* Decode */ diff --git a/src/video/vid_cl54xx.c b/src/video/vid_cl54xx.c index 386e11d..0bfbd04 100644 --- a/src/video/vid_cl54xx.c +++ b/src/video/vid_cl54xx.c @@ -9,7 +9,7 @@ * Emulation of select Cirrus Logic cards (CL-GD 5428, * CL-GD 5429, 5430, 5434 and 5436 are supported). * - * Version: @(#)vid_cl54xx.c 1.0.15 2018/04/09 + * Version: @(#)vid_cl54xx.c 1.0.16 2018/05/04 * * Authors: Fred N. van Kempen, * Miran Grca, @@ -871,7 +871,7 @@ gd54xx_recalctimings(svga_t *svga) static -void gd54xx_hwcursor_draw(svga_t *svga, int displine) +void gd54xx_hwcursor_draw(svga_t *svga, int disp_line) { gd54xx_t *gd54xx = (gd54xx_t *)svga->p; int x, xx, comb, b0, b1; @@ -903,16 +903,16 @@ void gd54xx_hwcursor_draw(svga_t *svga, int displine) break; case 1: /* The pixel is shown in the cursor background color */ - ((uint32_t *)buffer32->line[displine + y_add])[offset + 32 + x_add] = bgcol; + ((uint32_t *)buffer32->line[disp_line + y_add])[offset + 32 + x_add] = bgcol; break; case 2: /* The pixel is shown as the inverse of the original screen pixel (XOR cursor) */ - ((uint32_t *)buffer32->line[displine + y_add])[offset + 32 + x_add] ^= 0xffffff; + ((uint32_t *)buffer32->line[disp_line + y_add])[offset + 32 + x_add] ^= 0xffffff; break; case 3: /* The pixel is shown in the cursor foreground color */ - ((uint32_t *)buffer32->line[displine + y_add])[offset + 32 + x_add] = fgcol; + ((uint32_t *)buffer32->line[disp_line + y_add])[offset + 32 + x_add] = fgcol; break; } } @@ -2347,8 +2347,8 @@ cl_pci_write(int func, int addr, uint8_t val, void *p) case 0x30: case 0x32: case 0x33: gd54xx->pci_regs[addr] = val; if (gd54xx->pci_regs[0x30] & 0x01) { - uint32_t addr = (gd54xx->pci_regs[0x32] << 16) | (gd54xx->pci_regs[0x33] << 24); - mem_mapping_set_addr(&gd54xx->bios_rom.mapping, addr, 0x8000); + uint32_t a = (gd54xx->pci_regs[0x32] << 16) | (gd54xx->pci_regs[0x33] << 24); + mem_mapping_set_addr(&gd54xx->bios_rom.mapping, a, 0x8000); } else mem_mapping_disable(&gd54xx->bios_rom.mapping); return; diff --git a/src/video/vid_ega_render.c b/src/video/vid_ega_render.c index 4a5543a..0349de3 100644 --- a/src/video/vid_ega_render.c +++ b/src/video/vid_ega_render.c @@ -7,8 +7,9 @@ * This file is part of the VARCem Project. * * EGA renderers. + * NOTE: FIXME: make sure this works (line 99 shadow parameter) * - * Version: @(#)vid_ega_render.c 1.0.1 2018/02/14 + * Version: @(#)vid_ega_render.c 1.0.2 2018/05/04 * * Authors: Fred N. van Kempen, * Miran Grca, @@ -88,7 +89,7 @@ void ega_render_blank(ega_t *ega) } } -void ega_render_text_standard(ega_t *ega, int drawcursor) +void ega_render_text_standard(ega_t *ega, int draw) { int x, xx; int x_add = (enable_overscan) ? 8 : 0; @@ -96,7 +97,7 @@ void ega_render_text_standard(ega_t *ega, int drawcursor) for (x = 0; x < ega->hdisp; x++) { - int drawcursor = ((ega->ma == ega->ca) && ega->con && ega->cursoron); + int do_draw = ((ega->ma == ega->ca) && ega->con && ega->cursoron); uint8_t chr = ega->vram[(ega->ma << 1) & ega->vrammask]; uint8_t attr = ega->vram[((ega->ma << 1) + 1) & ega->vrammask]; uint8_t dat; @@ -108,7 +109,7 @@ void ega_render_text_standard(ega_t *ega, int drawcursor) else charaddr = ega->charseta + (chr * 128); - if (drawcursor) + if (do_draw) { bg = ega->pallook[ega->egapal[attr & 15]]; fg = ega->pallook[ega->egapal[attr >> 4]]; @@ -201,7 +202,7 @@ void ega_jega_render_blit_text(ega_t *ega, int x, int dl, int start, int width, } } -void ega_render_text_jega(ega_t *ega, int drawcursor) +void ega_render_text_jega(ega_t *ega, int draw) { int dl = ega_display_line(ega); uint8_t chr, attr; @@ -225,7 +226,7 @@ void ega_render_text_jega(ega_t *ega, int drawcursor) { for (x = 0; x < ega->hdisp; x++) { - drawcursor = ((ega->ma == ega->ca) && ega->con && ega->cursoron); + draw = ((ega->ma == ega->ca) && ega->con && ega->cursoron); chr = ega->vram[(ega->ma << 1) & ega->vrammask]; attr = ega->vram[((ega->ma << 1) + 1) & ega->vrammask]; @@ -260,7 +261,7 @@ void ega_render_text_jega(ega_t *ega, int drawcursor) } } - if (drawcursor) + if (draw) { bg = fg_ex; fg = bg_ex; diff --git a/src/video/vid_et4000w32.c b/src/video/vid_et4000w32.c index 768623f..e107da9 100644 --- a/src/video/vid_et4000w32.c +++ b/src/video/vid_et4000w32.c @@ -10,7 +10,7 @@ * * Known bugs: Accelerator doesn't work in planar modes * - * Version: @(#)vid_et4000w32.c 1.0.8 2018/04/09 + * Version: @(#)vid_et4000w32.c 1.0.9 2018/05/04 * * Authors: Fred N. van Kempen, * Miran Grca, @@ -1202,13 +1202,13 @@ void et4000w32p_pci_write(int func, int addr, uint8_t val, void *p) et4000->pci_regs[0x33] &= 0xf0; if (et4000->pci_regs[0x30] & 0x01) { - uint32_t addr = (et4000->pci_regs[0x33] << 24); - if (!addr) + uint32_t a = (et4000->pci_regs[0x33] << 24); + if (!a) { - addr = 0xC0000; + a = 0xC0000; } - /* pclog("ET4000 bios_rom enabled at %08x\n", addr); */ - mem_mapping_set_addr(&et4000->bios_rom.mapping, addr, 0x8000); + /* pclog("ET4000 bios_rom enabled at %08x\n", a); */ + mem_mapping_set_addr(&et4000->bios_rom.mapping, a, 0x8000); } else { diff --git a/src/video/vid_s3.c b/src/video/vid_s3.c index 432c798..0319f17 100644 --- a/src/video/vid_s3.c +++ b/src/video/vid_s3.c @@ -10,7 +10,7 @@ * * NOTE: ROM images need more/better organization per chipset. * - * Version: @(#)vid_s3.c 1.0.8 2018/04/09 + * Version: @(#)vid_s3.c 1.0.9 2018/05/04 * * Authors: Fred N. van Kempen, * Miran Grca, @@ -2030,7 +2030,7 @@ void s3_accel_start(int count, int cpu_input, uint32_t mix_dat, uint32_t cpu_dat } } -void s3_hwcursor_draw(svga_t *svga, int displine) +void s3_hwcursor_draw(svga_t *svga, int disp_line) { s3_t *s3 = (s3_t *)svga->p; int x; @@ -2085,9 +2085,9 @@ void s3_hwcursor_draw(svga_t *svga, int displine) if (offset >= svga->hwcursor_latch.x) { if (!(dat[0] & 0x8000)) - ((uint32_t *)buffer32->line[displine + y_add])[offset + 32 + x_add] = (dat[1] & 0x8000) ? fg : bg; + ((uint32_t *)buffer32->line[disp_line + y_add])[offset + 32 + x_add] = (dat[1] & 0x8000) ? fg : bg; else if (dat[1] & 0x8000) - ((uint32_t *)buffer32->line[displine + y_add])[offset + 32 + x_add] ^= 0xffffff; + ((uint32_t *)buffer32->line[disp_line + y_add])[offset + 32 + x_add] ^= 0xffffff; } offset++; @@ -2225,8 +2225,8 @@ void s3_pci_write(int func, int addr, uint8_t val, void *p) s3->pci_regs[addr] = val; if (s3->pci_regs[0x30] & 0x01) { - uint32_t addr = (s3->pci_regs[0x32] << 16) | (s3->pci_regs[0x33] << 24); - mem_mapping_set_addr(&s3->bios_rom.mapping, addr, 0x8000); + uint32_t a = (s3->pci_regs[0x32] << 16) | (s3->pci_regs[0x33] << 24); + mem_mapping_set_addr(&s3->bios_rom.mapping, a, 0x8000); } else { diff --git a/src/video/vid_s3_virge.c b/src/video/vid_s3_virge.c index 359e096..8b01148 100644 --- a/src/video/vid_s3_virge.c +++ b/src/video/vid_s3_virge.c @@ -8,7 +8,7 @@ * * S3 ViRGE emulation. * - * Version: @(#)vid_s3_virge.c 1.0.9 2018/04/15 + * Version: @(#)vid_s3_virge.c 1.0.10 2018/05/04 * * Authors: Fred N. van Kempen, * Miran Grca, @@ -2158,20 +2158,22 @@ static void s3_virge_bitblt(virge_t *virge, int count, uint32_t cpu_dat) while (count && virge->s3d.h) { - uint32_t dest_addr = virge->s3d.dest_base + (virge->s3d.dest_x * x_mul) + (virge->s3d.dest_y * virge->s3d.dest_str); - uint32_t source = 0, dest = 0, pattern = virge->s3d.pat_fg_clr; - uint32_t out = 0; - int update = 1; + uint32_t daddr = virge->s3d.dest_base + (virge->s3d.dest_x * x_mul) + (virge->s3d.dest_y * virge->s3d.dest_str); + source = 0; + dest = 0; + pattern = virge->s3d.pat_fg_clr; + out = 0; + update = 1; CLIP(virge->s3d.dest_x, virge->s3d.dest_y); if (update) { - READ(dest_addr, dest); + READ(daddr, dest); MIX(); - WRITE(dest_addr, out); + WRITE(daddr, out); } virge->s3d.src_x += x_inc; @@ -2231,10 +2233,11 @@ static void s3_virge_bitblt(virge_t *virge, int count, uint32_t cpu_dat) do { - uint32_t dest_addr = virge->s3d.dest_base + (x * x_mul) + (virge->s3d.dest_y * virge->s3d.dest_str); - uint32_t source = 0, dest = 0, pattern; - uint32_t out = 0; - int update = 1; + uint32_t daddr = virge->s3d.dest_base + (x * x_mul) + (virge->s3d.dest_y * virge->s3d.dest_str); + source = 0; + dest = 0; + out = 0; + update = 1; if ((virge->s3d.h == virge->s3d.lycnt || !first_pixel) && ((virge->s3d.line_dir && x < virge->s3d.lxend0) || @@ -2250,12 +2253,12 @@ static void s3_virge_bitblt(virge_t *virge, int count, uint32_t cpu_dat) if (update) { - READ(dest_addr, dest); + READ(daddr, dest); pattern = virge->s3d.pat_fg_clr; MIX(); - WRITE(dest_addr, out); + WRITE(daddr, out); } if (x < new_x) @@ -2288,20 +2291,21 @@ skip_line: int xdir = (x < xend) ? 1 : -1; do { - uint32_t dest_addr = virge->s3d.dest_base + (x * x_mul) + (y * virge->s3d.dest_str); - uint32_t source = 0, dest = 0, pattern; - uint32_t out = 0; - int update = 1; + uint32_t daddr = virge->s3d.dest_base + (x * x_mul) + (y * virge->s3d.dest_str); + source = 0; + dest = 0; + out = 0; + update = 1; CLIP(x, y); if (update) { - READ(dest_addr, dest); + READ(daddr, dest); pattern = pattern_data[(y & 7)*8 + (x & 7)]; MIX(); - WRITE(dest_addr, out); + WRITE(daddr, out); } x = (x + xdir) & 0x7ff; @@ -3369,7 +3373,7 @@ static void queue_triangle(virge_t *virge) thread_set_event(virge->wake_render_thread); /*Wake up render thread if moving from idle*/ } -static void s3_virge_hwcursor_draw(svga_t *svga, int displine) +static void s3_virge_hwcursor_draw(svga_t *svga, int disp_line) { virge_t *virge = (virge_t *)svga->p; int x; @@ -3418,7 +3422,7 @@ static void s3_virge_hwcursor_draw(svga_t *svga, int displine) if (offset >= svga->hwcursor_latch.x) { if (dat[0] & 0x8000) - ((uint32_t *)buffer32->line[displine + y_add])[offset + 32 + x_add] = (dat[1] & 0x8000) ? fg : bg; + ((uint32_t *)buffer32->line[disp_line + y_add])[offset + 32 + x_add] = (dat[1] & 0x8000) ? fg : bg; } offset++; @@ -3434,9 +3438,9 @@ static void s3_virge_hwcursor_draw(svga_t *svga, int displine) if (offset >= svga->hwcursor_latch.x) { if (!(dat[0] & 0x8000)) - ((uint32_t *)buffer32->line[displine + y_add])[offset + 32 + x_add] = (dat[1] & 0x8000) ? fg : bg; + ((uint32_t *)buffer32->line[disp_line + y_add])[offset + 32 + x_add] = (dat[1] & 0x8000) ? fg : bg; else if (dat[1] & 0x8000) - ((uint32_t *)buffer32->line[displine + y_add])[offset + 32 + x_add] ^= 0xffffff; + ((uint32_t *)buffer32->line[disp_line + y_add])[offset + 32 + x_add] ^= 0xffffff; } offset++; @@ -3677,7 +3681,7 @@ static void s3_virge_hwcursor_draw(svga_t *svga, int displine) } \ } while (0) -static void s3_virge_overlay_draw(svga_t *svga, int displine) +static void s3_virge_overlay_draw(svga_t *svga, int disp_line) { virge_t *virge = (virge_t *)svga->p; int offset = (virge->streams.sec_x - virge->streams.pri_x) + 1; @@ -3690,7 +3694,7 @@ static void s3_virge_overlay_draw(svga_t *svga, int displine) int y_add = enable_overscan ? 16 : 0; int x_add = enable_overscan ? 8 : 0; - p = &((uint32_t *)buffer32->line[displine + y_add])[offset + 32 + x_add]; + p = &((uint32_t *)buffer32->line[disp_line + y_add])[offset + 32 + x_add]; if ((offset + virge->streams.sec_w) > virge->streams.pri_w) x_size = (virge->streams.pri_w - virge->streams.sec_x) + 1; @@ -3805,8 +3809,8 @@ static void s3_virge_pci_write(int func, int addr, uint8_t val, void *p) virge->pci_regs[addr] = val; if (virge->pci_regs[0x30] & 0x01) { - uint32_t addr = (virge->pci_regs[0x32] << 16) | (virge->pci_regs[0x33] << 24); - mem_mapping_set_addr(&virge->bios_rom.mapping, addr, 0x8000); + uint32_t a = (virge->pci_regs[0x32] << 16) | (virge->pci_regs[0x33] << 24); + mem_mapping_set_addr(&virge->bios_rom.mapping, a, 0x8000); mem_mapping_enable(&virge->bios_rom.mapping); } else diff --git a/src/video/vid_tgui9440.c b/src/video/vid_tgui9440.c index a1b4a06..3f7c02c 100644 --- a/src/video/vid_tgui9440.c +++ b/src/video/vid_tgui9440.c @@ -47,7 +47,7 @@ * access size or host data has any affect, but the Windows 3.1 * driver always reads bytes and write words of 0xffff. * - * Version: @(#)vid_tgui9440.c 1.0.6 2018/04/09 + * Version: @(#)vid_tgui9440.c 1.0.7 2018/05/04 * * Authors: Fred N. van Kempen, * Miran Grca, @@ -701,7 +701,7 @@ void tgui_recalcmapping(tgui_t *tgui) } } -void tgui_hwcursor_draw(svga_t *svga, int displine) +void tgui_hwcursor_draw(svga_t *svga, int disp_line) { uint32_t dat[2]; int xx; @@ -717,9 +717,9 @@ void tgui_hwcursor_draw(svga_t *svga, int displine) if (offset >= svga->hwcursor_latch.x) { if (!(dat[0] & 0x80000000)) - ((uint32_t *)buffer32->line[displine])[offset + 32] = (dat[1] & 0x80000000) ? 0xffffff : 0; + ((uint32_t *)buffer32->line[disp_line])[offset + 32] = (dat[1] & 0x80000000) ? 0xffffff : 0; else if (dat[1] & 0x80000000) - ((uint32_t *)buffer32->line[displine])[offset + 32] ^= 0xffffff; + ((uint32_t *)buffer32->line[disp_line])[offset + 32] ^= 0xffffff; } offset++; diff --git a/src/video/vid_voodoo.c b/src/video/vid_voodoo.c index 1f6105a..e5376ec 100644 --- a/src/video/vid_voodoo.c +++ b/src/video/vid_voodoo.c @@ -8,7 +8,7 @@ * * Emulation of the 3DFX Voodoo Graphics controller. * - * Version: @(#)vid_voodoo.c 1.0.8 2018/04/09 + * Version: @(#)vid_voodoo.c 1.0.9 2018/05/04 * * Authors: Fred N. van Kempen, * Miran Grca, @@ -2010,7 +2010,7 @@ static inline void voodoo_get_texture(voodoo_t *voodoo, voodoo_params_t *params, if (voodoo->bilinear_enabled && params->textureMode[tmu] & 6) { - int _ds, dt; + int __ds, dt; state->tex_s -= 1 << (3+tex_lod); state->tex_t -= 1 << (3+tex_lod); @@ -2018,18 +2018,18 @@ static inline void voodoo_get_texture(voodoo_t *voodoo, voodoo_params_t *params, s = state->tex_s >> tex_lod; t = state->tex_t >> tex_lod; - _ds = s & 0xf; + __ds = s & 0xf; dt = t & 0xf; s >>= 4; t >>= 4; //if (x == 80) //if (voodoo_output) -// voodoo_log("s=%08x t=%08x _ds=%02x _dt=%02x\n", s, t, _ds, dt); - d[0] = (16 - _ds) * (16 - dt); - d[1] = _ds * (16 - dt); - d[2] = (16 - _ds) * dt; - d[3] = _ds * dt; +// voodoo_log("s=%08x t=%08x _ds=%02x _dt=%02x\n", s, t, __ds, dt); + d[0] = (16 - __ds) * (16 - dt); + d[1] = __ds * (16 - dt); + d[2] = (16 - __ds) * dt; + d[3] = __ds * dt; // texture_state.s = s; // texture_state.t = t; @@ -2924,20 +2924,20 @@ static void voodoo_half_triangle(voodoo_t *voodoo, voodoo_params_t *params, vood { if (x < params->clipLeft) { - int dx = params->clipLeft - x; + int __dx = params->clipLeft - x; - state->ir += params->dRdX*dx; - state->ig += params->dGdX*dx; - state->ib += params->dBdX*dx; - state->ia += params->dAdX*dx; - state->z += params->dZdX*dx; - state->tmu0_s += params->tmu[0].dSdX*dx; - state->tmu0_t += params->tmu[0].dTdX*dx; - state->tmu0_w += params->tmu[0].dWdX*dx; - state->tmu1_s += params->tmu[1].dSdX*dx; - state->tmu1_t += params->tmu[1].dTdX*dx; - state->tmu1_w += params->tmu[1].dWdX*dx; - state->w += params->dWdX*dx; + state->ir += params->dRdX*__dx; + state->ig += params->dGdX*__dx; + state->ib += params->dBdX*__dx; + state->ia += params->dAdX*__dx; + state->z += params->dZdX*__dx; + state->tmu0_s += params->tmu[0].dSdX*__dx; + state->tmu0_t += params->tmu[0].dTdX*__dx; + state->tmu0_w += params->tmu[0].dWdX*__dx; + state->tmu1_s += params->tmu[1].dSdX*__dx; + state->tmu1_t += params->tmu[1].dTdX*__dx; + state->tmu1_w += params->tmu[1].dWdX*__dx; + state->w += params->dWdX*__dx; x = params->clipLeft; } @@ -2948,20 +2948,20 @@ static void voodoo_half_triangle(voodoo_t *voodoo, voodoo_params_t *params, vood { if (x >= params->clipRight) { - int dx = (params->clipRight-1) - x; + int __dx = (params->clipRight-1) - x; - state->ir += params->dRdX*dx; - state->ig += params->dGdX*dx; - state->ib += params->dBdX*dx; - state->ia += params->dAdX*dx; - state->z += params->dZdX*dx; - state->tmu0_s += params->tmu[0].dSdX*dx; - state->tmu0_t += params->tmu[0].dTdX*dx; - state->tmu0_w += params->tmu[0].dWdX*dx; - state->tmu1_s += params->tmu[1].dSdX*dx; - state->tmu1_t += params->tmu[1].dTdX*dx; - state->tmu1_w += params->tmu[1].dWdX*dx; - state->w += params->dWdX*dx; + state->ir += params->dRdX*__dx; + state->ig += params->dGdX*__dx; + state->ib += params->dBdX*__dx; + state->ia += params->dAdX*__dx; + state->z += params->dZdX*__dx; + state->tmu0_s += params->tmu[0].dSdX*__dx; + state->tmu0_t += params->tmu[0].dTdX*__dx; + state->tmu0_w += params->tmu[0].dWdX*__dx; + state->tmu1_s += params->tmu[1].dSdX*__dx; + state->tmu1_t += params->tmu[1].dTdX*__dx; + state->tmu1_w += params->tmu[1].dWdX*__dx; + state->w += params->dWdX*__dx; x = params->clipRight-1; } @@ -4051,7 +4051,6 @@ static void blit_start(voodoo_t *voodoo) int size_x = ABS(voodoo->bltSizeX), size_y = ABS(voodoo->bltSizeY); int x_dir = (voodoo->bltSizeX > 0) ? 1 : -1; int y_dir = (voodoo->bltSizeY > 0) ? 1 : -1; - int dst_x; int src_y = voodoo->bltSrcY & 0x7ff, dst_y = voodoo->bltDstY & 0x7ff; int src_stride = (voodoo->bltCommand & BLTCMD_SRC_TILED) ? ((voodoo->bltSrcXYStride & 0x3f) * 32*2) : (voodoo->bltSrcXYStride & 0xff8); int dst_stride = (voodoo->bltCommand & BLTCMD_DST_TILED) ? ((voodoo->bltDstXYStride & 0x3f) * 32*2) : (voodoo->bltDstXYStride & 0xff8); @@ -4179,6 +4178,7 @@ skip_line_fill: for (y = 0; y <= size_y; y++) { uint64_t *dst; + int dst_x; /*This may be wrong*/ if (!y) @@ -4383,9 +4383,9 @@ static void wait_for_swap_complete(voodoo_t *voodoo) } } -static void voodoo_reg_writel(uint32_t addr, uint32_t val, void *p) +static void voodoo_reg_writel(uint32_t addr, uint32_t val, void *priv) { - voodoo_t *voodoo = (voodoo_t *)p; + voodoo_t *voodoo = (voodoo_t *)priv; union { uint32_t i; @@ -7383,9 +7383,9 @@ static void voodoo_filterline_v2(voodoo_t *voodoo, uint8_t *fil, int column, uin fil3[(column-1)*3+2] = voodoo->thefilter [fil[(column-1)*3+2]][(((src[column] >> 11) & 31) << 3)]; } -void voodoo_callback(void *p) +void voodoo_callback(void *priv) { - voodoo_t *voodoo = (voodoo_t *)p; + voodoo_t *voodoo = (voodoo_t *)priv; int y_add = (enable_overscan && !suppress_overscan) ? (overscan_y >> 1) : 0; int x_add = (enable_overscan && !suppress_overscan) ? 8 : 0; diff --git a/src/video/vid_voodoo_codegen_x86.h b/src/video/vid_voodoo_codegen_x86.h index 07bfbfc..1350e1f 100644 --- a/src/video/vid_voodoo_codegen_x86.h +++ b/src/video/vid_voodoo_codegen_x86.h @@ -8,7 +8,7 @@ * * Implementation of the Voodoo Recompiler (32bit.) * - * Version: @(#)vid_voodoo_codegen_x86.h 1.0.2 2018/02/21 + * Version: @(#)vid_voodoo_codegen_x86.h 1.0.3 2018/05/04 * * Authors: Fred N. van Kempen, * Miran Grca, @@ -3351,16 +3351,16 @@ static void voodoo_codegen_init(voodoo_t *voodoo) for (c = 0; c < 256; c++) { int d[4]; - int _ds = c & 0xf; + int __ds = c & 0xf; int dt = c >> 4; alookup[c] = _mm_set_epi32(0, 0, c | (c << 16), c | (c << 16)); aminuslookup[c] = _mm_set_epi32(0, 0, (255-c) | ((255-c) << 16), (255-c) | ((255-c) << 16)); - d[0] = (16 - _ds) * (16 - dt); - d[1] = _ds * (16 - dt); - d[2] = (16 - _ds) * dt; - d[3] = _ds * dt; + d[0] = (16 - __ds) * (16 - dt); + d[1] = __ds * (16 - dt); + d[2] = (16 - __ds) * dt; + d[3] = __ds * dt; bilinear_lookup[c*2] = _mm_set_epi32(d[1] | (d[1] << 16), d[1] | (d[1] << 16), d[0] | (d[0] << 16), d[0] | (d[0] << 16)); bilinear_lookup[c*2 + 1] = _mm_set_epi32(d[3] | (d[3] << 16), d[3] | (d[3] << 16), d[2] | (d[2] << 16), d[2] | (d[2] << 16)); diff --git a/src/video/video.c b/src/video/video.c index e06f918..eaa6c36 100644 --- a/src/video/video.c +++ b/src/video/video.c @@ -40,7 +40,7 @@ * W = 3 bus clocks * L = 4 bus clocks * - * Version: @(#)video.c 1.0.14 2018/04/14 + * Version: @(#)video.c 1.0.15 2018/05/04 * * Authors: Fred N. van Kempen, * Miran Grca, @@ -504,17 +504,17 @@ int calc_15to32(int c) { int b, g, r; - double db, dg, dr; + double d_b, d_g, d_r; b = (c & 31); g = ((c >> 5) & 31); r = ((c >> 10) & 31); - db = (((double) b) / 31.0) * 255.0; - dg = (((double) g) / 31.0) * 255.0; - dr = (((double) r) / 31.0) * 255.0; - b = (int) db; - g = ((int) dg) << 8; - r = ((int) dr) << 16; + d_b = (((double) b) / 31.0) * 255.0; + d_g = (((double) g) / 31.0) * 255.0; + d_r = (((double) r) / 31.0) * 255.0; + b = (int) d_b; + g = ((int) d_g) << 8; + r = ((int) d_r) << 16; return(b | g | r); } @@ -524,17 +524,17 @@ int calc_16to32(int c) { int b, g, r; - double db, dg, dr; + double d_b, d_g, d_r; b = (c & 31); g = ((c >> 5) & 63); r = ((c >> 11) & 31); - db = (((double) b) / 31.0) * 255.0; - dg = (((double) g) / 63.0) * 255.0; - dr = (((double) r) / 31.0) * 255.0; - b = (int) db; - g = ((int) dg) << 8; - r = ((int) dr) << 16; + d_b = (((double) b) / 31.0) * 255.0; + d_g = (((double) g) / 63.0) * 255.0; + d_r = (((double) r) / 31.0) * 255.0; + b = (int) d_b; + g = ((int) d_g) << 8; + r = ((int) d_r) << 16; return(b | g | r); } diff --git a/src/win/win_devconf.c b/src/win/win_devconf.c index 72d83b6..9b4004c 100644 --- a/src/win/win_devconf.c +++ b/src/win/win_devconf.c @@ -12,7 +12,7 @@ * and builds a complete Win32 DIALOG resource block in a * buffer in memory, and then passes that to the API handler. * - * Version: @(#)win_devconf.c 1.0.15 2018/05/02 + * Version: @(#)win_devconf.c 1.0.16 2018/05/04 * * Authors: Fred N. van Kempen, * Miran Grca, @@ -178,7 +178,7 @@ dlg_proc(HWND hdlg, UINT message, WPARAM wParam, LPARAM lParam) const device_config_selection_t *sel; const device_t *dev = devconf_device; const device_config_t *cfg = dev->config; - int c, cid, changed, id, val; + int c, cid, changed, d, id, val; HWND h; switch (message) { @@ -386,8 +386,7 @@ dlg_proc(HWND hdlg, UINT message, WPARAM wParam, LPARAM lParam) case CONFIG_FNAME: if (cid == id+1) { - int c, d; - HWND h = GetDlgItem(hdlg, id); + h = GetDlgItem(hdlg, id); SendMessage(h, WM_GETTEXT, 511, (LPARAM)s); char file_filter[512]; file_filter[0] = 0; @@ -482,15 +481,19 @@ dlg_devconf(HWND hwnd, device_t *device) /* Font style and size to use. */ *data++ = 9; /* point size */ data += MultiByteToWideChar(CP_ACP, 0, "Segoe UI", -1, data, 120); + if (((uintptr_t)data) & 2) data++; /* Now add the items from the configuration. */ id = IDC_CONFIG_BASE; while (cfg->type != -1) { + /* Align 'data' to DWORD */ +if (((uint32_t)data) & 3) pclog("DEVCONF: unaligned data %08lx !\n", data); + itm = (DLGITEMTEMPLATE *)data; + switch (cfg->type) { case CONFIG_BINARY: - itm = (DLGITEMTEMPLATE *)data; itm->style = WS_CHILD | WS_VISIBLE | BS_AUTOCHECKBOX; itm->x = 10; itm->y = y; @@ -514,7 +517,6 @@ dlg_devconf(HWND hwnd, device_t *device) case CONFIG_HEX16: case CONFIG_HEX20: /* combo box */ - itm = (DLGITEMTEMPLATE *)data; itm->style = WS_CHILD | WS_VISIBLE | \ CBS_DROPDOWNLIST | WS_VSCROLL; itm->x = 70; @@ -556,7 +558,6 @@ dlg_devconf(HWND hwnd, device_t *device) case CONFIG_SPINNER: /* spinner */ - itm = (DLGITEMTEMPLATE *)data; itm->style = WS_CHILD | WS_VISIBLE | \ ES_AUTOHSCROLL | ES_NUMBER; itm->dwExtendedStyle = WS_EX_CLIENTEDGE; @@ -600,7 +601,6 @@ dlg_devconf(HWND hwnd, device_t *device) case CONFIG_FNAME: /* file */ - itm = (DLGITEMTEMPLATE *)data; itm->style = WS_CHILD | WS_VISIBLE | ES_READONLY; itm->dwExtendedStyle = WS_EX_CLIENTEDGE; itm->x = 70; diff --git a/src/win/win_joystick.cpp b/src/win/win_joystick.cpp index 89d776e..2f6acc7 100644 --- a/src/win/win_joystick.cpp +++ b/src/win/win_joystick.cpp @@ -13,7 +13,7 @@ * NOTE: Hacks currently needed to compile with MSVC; DX needs to * be updated to 11 or 12 or so. --FvK * - * Version: @(#)win_joystick.cpp 1.0.12 2018/05/03 + * Version: @(#)win_joystick.cpp 1.0.13 2018/05/05 * * Authors: Fred N. van Kempen, * Miran Grca, @@ -41,6 +41,7 @@ * Boston, MA 02111-1307 * USA. */ +#define WIN32_LEAN_AND_MEAN #include #define DIRECTINPUT_VERSION 0x0800 #include @@ -328,7 +329,6 @@ joystick_process(void) for (b = 0; b < 4; b++) plat_joystick_state[c].p[b] = joystate.rgdwPOV[b]; -// pclog("joystick %i - x=%i y=%i b[0]=%i b[1]=%i %i\n", c, joystick_state[c].x, joystick_state[c].y, joystick_state[c].b[0], joystick_state[c].b[1], joysticks_present); } for (c = 0; c < gamedev_get_max_joysticks(joystick_type); c++) { @@ -377,7 +377,7 @@ static uint8_t joystickconfig_changed = 0; static void -rebuild_axis_button_selections(HWND hdlg) +rebuild_selections(HWND hdlg) { int id = IDC_CONFIG_BASE + 2; int c, d, joystick; @@ -496,6 +496,76 @@ get_pov(HWND hdlg, int id) } +static void +dlg_init(HWND hdlg) +{ + HWND h; + int joystick; + int c, id; + int mapping; + int nr_axes; + int nr_povs; + + h = GetDlgItem(hdlg, IDC_CONFIG_BASE); + id = IDC_CONFIG_BASE + 2; + joystick = joystick_state[joystick_nr].plat_joystick_nr; + + SendMessage(h, CB_ADDSTRING, 0, (LPARAM)(LPCSTR)"None"); + + for (c = 0; c < joysticks_present; c++) + SendMessage(h, CB_ADDSTRING, 0, (LPARAM)(LPCSTR)plat_joystick_state[c].name); + + SendMessage(h, CB_SETCURSEL, joystick, 0); + + rebuild_selections(hdlg); + + if (joystick_state[joystick_nr].plat_joystick_nr) { + nr_axes = plat_joystick_state[joystick-1].nr_axes; + nr_povs = plat_joystick_state[joystick-1].nr_povs; + for (c = 0; c < gamedev_get_axis_count(joystick_config_type); c++) { + mapping = joystick_state[joystick_nr].axis_mapping[c]; + + h = GetDlgItem(hdlg, id); + if (mapping & POV_X) + SendMessage(h, CB_SETCURSEL, nr_axes + (mapping & 3)*2, 0); + else if (mapping & POV_Y) + SendMessage(h, CB_SETCURSEL, nr_axes + (mapping & 3)*2 + 1, 0); + else + SendMessage(h, CB_SETCURSEL, mapping, 0); + id += 2; + } + + for (c = 0; c < gamedev_get_button_count(joystick_config_type); c++) { + h = GetDlgItem(hdlg, id); + SendMessage(h, CB_SETCURSEL, joystick_state[joystick_nr].button_mapping[c], 0); + id += 2; + } + + for (c = 0; c < gamedev_get_pov_count(joystick_config_type); c++) { + h = GetDlgItem(hdlg, id); + mapping = joystick_state[joystick_nr].pov_mapping[c][0]; + if (mapping & POV_X) + SendMessage(h, CB_SETCURSEL, (mapping & 3)*2, 0); + else if (mapping & POV_Y) + SendMessage(h, CB_SETCURSEL, (mapping & 3)*2 + 1, 0); + else + SendMessage(h, CB_SETCURSEL, mapping + nr_povs*2, 0); + id += 2; + + h = GetDlgItem(hdlg, id); + mapping = joystick_state[joystick_nr].pov_mapping[c][1]; + if (mapping & POV_X) + SendMessage(h, CB_SETCURSEL, (mapping & 3)*2, 0); + else if (mapping & POV_Y) + SendMessage(h, CB_SETCURSEL, (mapping & 3)*2 + 1, 0); + else + SendMessage(h, CB_SETCURSEL, mapping + nr_povs*2, 0); + id += 2; + } + } +} + + #ifdef __amd64__ static LRESULT CALLBACK #else @@ -504,76 +574,19 @@ static BOOL CALLBACK dlg_proc(HWND hdlg, UINT message, WPARAM wParam, UNUSED(LPARAM lParam)) { HWND h; - int c; - int id; - int joystick; - int nr_axes; - int nr_povs; - int mapping; + int c, id; switch (message) { case WM_INITDIALOG: - h = GetDlgItem(hdlg, IDC_CONFIG_BASE); - id = IDC_CONFIG_BASE + 2; - joystick = joystick_state[joystick_nr].plat_joystick_nr; - - SendMessage(h, CB_ADDSTRING, 0, (LPARAM)(LPCSTR)"None"); - - for (c = 0; c < joysticks_present; c++) - SendMessage(h, CB_ADDSTRING, 0, (LPARAM)(LPCSTR)plat_joystick_state[c].name); - - SendMessage(h, CB_SETCURSEL, joystick, 0); - - rebuild_axis_button_selections(hdlg); - - if (joystick_state[joystick_nr].plat_joystick_nr) { - nr_axes = plat_joystick_state[joystick-1].nr_axes; - nr_povs = plat_joystick_state[joystick-1].nr_povs; - for (c = 0; c < gamedev_get_axis_count(joystick_config_type); c++) { - int mapping = joystick_state[joystick_nr].axis_mapping[c]; - - h = GetDlgItem(hdlg, id); - if (mapping & POV_X) - SendMessage(h, CB_SETCURSEL, nr_axes + (mapping & 3)*2, 0); - else if (mapping & POV_Y) - SendMessage(h, CB_SETCURSEL, nr_axes + (mapping & 3)*2 + 1, 0); - else - SendMessage(h, CB_SETCURSEL, mapping, 0); - id += 2; - } - for (c = 0; c < gamedev_get_button_count(joystick_config_type); c++) { - h = GetDlgItem(hdlg, id); - SendMessage(h, CB_SETCURSEL, joystick_state[joystick_nr].button_mapping[c], 0); - id += 2; - } - for (c = 0; c < gamedev_get_pov_count(joystick_config_type); c++) { - h = GetDlgItem(hdlg, id); - mapping = joystick_state[joystick_nr].pov_mapping[c][0]; - if (mapping & POV_X) - SendMessage(h, CB_SETCURSEL, (mapping & 3)*2, 0); - else if (mapping & POV_Y) - SendMessage(h, CB_SETCURSEL, (mapping & 3)*2 + 1, 0); - else - SendMessage(h, CB_SETCURSEL, mapping + nr_povs*2, 0); - id += 2; - h = GetDlgItem(hdlg, id); - mapping = joystick_state[joystick_nr].pov_mapping[c][1]; - if (mapping & POV_X) - SendMessage(h, CB_SETCURSEL, (mapping & 3)*2, 0); - else if (mapping & POV_Y) - SendMessage(h, CB_SETCURSEL, (mapping & 3)*2 + 1, 0); - else - SendMessage(h, CB_SETCURSEL, mapping + nr_povs*2, 0); - id += 2; - } - } + dialog_center(hdlg); + dlg_init(hdlg); return TRUE; case WM_COMMAND: switch (LOWORD(wParam)) { case IDC_CONFIG_BASE: if (HIWORD(wParam) == CBN_SELCHANGE) - rebuild_axis_button_selections(hdlg); + rebuild_selections(hdlg); break; case IDOK: @@ -617,6 +630,7 @@ dlg_proc(HWND hdlg, UINT message, WPARAM wParam, UNUSED(LPARAM lParam)) } +/* Create an in-memory dialog template for the Joystick Configuration. */ uint8_t dlg_jsconf(HWND hwnd, int joy_nr, int type) { @@ -714,7 +728,7 @@ dlg_jsconf(HWND hwnd, int joy_nr, int type) *data++ = 0xFFFF; *data++ = 0x0082; /* static class */ data += MultiByteToWideChar(CP_ACP, 0, - gamedev_get_axis_name(type, c), -1, (wchar_t *)data, 256); + gamedev_get_axis_name(type, c), -1, (wchar_t *)data, 256); *data++ = 0; /* no creation data */ if (((uintptr_t)data) & 2) data++; @@ -735,7 +749,7 @@ dlg_jsconf(HWND hwnd, int joy_nr, int type) *data++ = 0xFFFF; *data++ = 0x0085; /* combo box class */ data += MultiByteToWideChar(CP_ACP, 0, - gamedev_get_button_name(type, c), -1, (wchar_t *)data, 256); + gamedev_get_button_name(type, c), -1, (wchar_t *)data, 256); *data++ = 0; /* no creation data */ if (((uintptr_t)data) & 2) data++; @@ -752,7 +766,7 @@ dlg_jsconf(HWND hwnd, int joy_nr, int type) *data++ = 0xFFFF; *data++ = 0x0082; /* static class */ data += MultiByteToWideChar(CP_ACP, 0, - gamedev_get_button_name(type, c), -1, (wchar_t *)data, 256); + gamedev_get_button_name(type, c), -1, (wchar_t *)data, 256); *data++ = 0; /* no creation data */ if (((uintptr_t)data) & 2) data++; diff --git a/src/win/win_keyboard.c b/src/win/win_keyboard.c index ffd0e28..d260885 100644 --- a/src/win/win_keyboard.c +++ b/src/win/win_keyboard.c @@ -8,7 +8,7 @@ * * Windows raw keyboard input handler. * - * Version: @(#)win_keyboard.c 1.0.4 2018/04/26 + * Version: @(#)win_keyboard.c 1.0.5 2018/05/04 * * Authors: Fred N. van Kempen, * Miran Grca, @@ -55,21 +55,21 @@ static uint16_t scancode_map[768]; /* This is so we can disambiguate scan codes that would otherwise conflict and get passed on incorrectly. */ static UINT16 -convert_scan_code(UINT16 scan_code) +convert_scan_code(UINT16 code) { - if ((scan_code & 0xFF00) == 0xE000) { - scan_code &= 0x00FF; - scan_code |= 0x0100; - } else if (scan_code == 0xE11D) - scan_code = 0xE000; + if ((code & 0xFF00) == 0xE000) { + code &= 0x00FF; + code |= 0x0100; + } else if (code == 0xE11D) + code = 0xE000; /* E0 00 is sent by some USB keyboards for their special keys, as it is an invalid scan code (it has no untranslated set 2 equivalent), we mark it appropriately so it does not get passed through. */ - else if ((scan_code > 0x00FF) || (scan_code == 0xE000)) { - scan_code = 0xFFFF; + else if ((code > 0x00FF) || (code == 0xE000)) { + code = 0xFFFF; } - return scan_code; + return code; } @@ -128,15 +128,15 @@ keyboard_getkeymap(void) void -keyboard_handle(LPARAM lParam, int infocus) +keyboard_handle(LPARAM lParam, int focus) { + static int recv_lalt = 0, recv_ralt = 0, recv_tab = 0; uint32_t ri_size = 0; UINT size; RAWINPUT *raw; - USHORT scancode; - static int recv_lalt = 0, recv_ralt = 0, recv_tab = 0; + USHORT code; - if (! infocus) return; + if (! focus) return; GetRawInputData((HRAWINPUT)lParam, RID_INPUT, NULL, &size, sizeof(RAWINPUTHEADER)); @@ -152,26 +152,26 @@ keyboard_handle(LPARAM lParam, int infocus) /* If the input is keyboard, we process it */ if (raw->header.dwType == RIM_TYPEKEYBOARD) { RAWKEYBOARD rawKB = raw->data.keyboard; - scancode = rawKB.MakeCode; + code = rawKB.MakeCode; /* If it's not a scan code that starts with 0xE1 */ if (!(rawKB.Flags & RI_KEY_E1)) { if (rawKB.Flags & RI_KEY_E0) - scancode |= (0xE0 << 8); + code |= (0xE0 << 8); /* Translate the scan code to 9-bit */ - scancode = convert_scan_code(scancode); + code = convert_scan_code(code); /* Remap it according to the list from the Registry */ - /* pclog("Scan code: %04X (map: %04X)\n", scancode, scancode_map[scancode]); */ - scancode = scancode_map[scancode]; + /* pclog("Scan code: %04X (map: %04X)\n", code, scancode_map[code]); */ + code = scancode_map[code]; /* If it's not 0xFFFF, send it to the emulated keyboard. We use scan code 0xFFFF to mean a mapping that has a prefix other than E0 and that is not E1 1D, which is, for our purposes, invalid. */ - if ((scancode == 0x00F) && + if ((code == 0x00F) && !(rawKB.Flags & RI_KEY_BREAK) && (recv_lalt || recv_ralt) && !mouse_capture) { @@ -193,7 +193,7 @@ keyboard_handle(LPARAM lParam, int infocus) keyboard_input(0, 0x138); recv_ralt = 0; } - } else if (((scancode == 0x038) || (scancode == 0x138)) && + } else if (((code == 0x038) || (code == 0x138)) && !(rawKB.Flags & RI_KEY_BREAK) && recv_tab && !mouse_capture) { @@ -202,7 +202,7 @@ keyboard_handle(LPARAM lParam, int infocus) keyboard_input(0, 0x00F); recv_tab = 0; } else { - switch(scancode) { + switch(code) { case 0x00F: recv_tab = !(rawKB.Flags & RI_KEY_BREAK); break; @@ -216,25 +216,27 @@ keyboard_handle(LPARAM lParam, int infocus) /* Translate right CTRL to left ALT if the user has so chosen. */ - if ((scancode == 0x11D) && rctrl_is_lalt) - scancode = 0x038; + if ((code == 0x11D) && rctrl_is_lalt) + code = 0x038; /* Normal scan code pass through, pass it through as is if it's not an invalid scan code. */ - if (scancode != 0xFFFF) - keyboard_input(!(rawKB.Flags & RI_KEY_BREAK), scancode); + if (code != 0xFFFF) + keyboard_input(!(rawKB.Flags & RI_KEY_BREAK), code); } } else { if (rawKB.MakeCode == 0x1D) { - scancode = scancode_map[0x100]; /* Translate E1 1D to 0x100 (which would - otherwise be E0 00 but that is invalid - anyway). - Also, take a potential mapping into - account. */ + /* Translate E1 1D to 0x100 (which would + otherwise be E0 00 but that is invalid + anyway). + Also, take a potential mapping into + account. */ + code = scancode_map[0x100]; } else - scancode = 0xFFFF; - if (scancode != 0xFFFF) - keyboard_input(!(rawKB.Flags & RI_KEY_BREAK), scancode); + code = 0xFFFF; + + if (code != 0xFFFF) + keyboard_input(!(rawKB.Flags & RI_KEY_BREAK), code); } } diff --git a/src/win/win_settings_periph.h b/src/win/win_settings_periph.h index c3837d4..ce42171 100644 --- a/src/win/win_settings_periph.h +++ b/src/win/win_settings_periph.h @@ -8,7 +8,7 @@ * * Implementation of the Settings dialog. * - * Version: @(#)win_settings_periph.h 1.0.6 2018/05/02 + * Version: @(#)win_settings_periph.h 1.0.7 2018/05/04 * * Authors: Fred N. van Kempen, * Miran Grca, @@ -63,7 +63,7 @@ find_irq_in_array(int irq, int def) static void -recalc_hdc_list(HWND hdlg, int machine, int use_selected_hdc) +recalc_hdc_list(HWND hdlg, int m, int use_selected_hdc) { WCHAR temp[128]; char old_name[32]; @@ -93,12 +93,12 @@ recalc_hdc_list(HWND hdlg, int machine, int use_selected_hdc) if (stransi == NULL) break; - if (c==1 && !(machines[temp_machine].flags&MACHINE_HDC)) { + if (c==1 && !(machines[m].flags&MACHINE_HDC)) { /* Skip "Internal" if machine doesn't have one. */ c++; continue; } - if (!hdc_available(c) || !device_is_valid(hdc_get_device(c), machines[temp_machine].flags)) { + if (!hdc_available(c) || !device_is_valid(hdc_get_device(c), machines[m].flags)) { c++; continue; }