Added the option to disable updating status bar icons (doing so gains performance during disk I/O);

Reduced sound gain options to one (because the per-source gain does not work right);
Added the Diamond SpeedStar PRO (CL-GD 5428), per patch from TheCollector1995.
This commit is contained in:
OBattler
2018-02-11 20:51:42 +01:00
parent 86f50bdc48
commit 678f0a71f7
16 changed files with 176 additions and 192 deletions

View File

@@ -8,7 +8,7 @@
* *
* Configuration file handler. * Configuration file handler.
* *
* Version: @(#)config.c 1.0.41 2018/02/09 * Version: @(#)config.c 1.0.42 2018/02/10
* *
* Authors: Sarah Walker, * Authors: Sarah Walker,
* Miran Grca, <mgrca8@gmail.com> * Miran Grca, <mgrca8@gmail.com>
@@ -434,6 +434,7 @@ load_general(void)
video_graytype = config_get_int(cat, "video_graytype", 0); video_graytype = config_get_int(cat, "video_graytype", 0);
rctrl_is_lalt = config_get_int(cat, "rctrl_is_lalt", 0); rctrl_is_lalt = config_get_int(cat, "rctrl_is_lalt", 0);
update_icons = config_get_int(cat, "update_icons", 1);
window_remember = config_get_int(cat, "window_remember", 0); window_remember = config_get_int(cat, "window_remember", 0);
if (window_remember) { if (window_remember) {
@@ -448,9 +449,7 @@ load_general(void)
window_w = window_h = window_x = window_y = 0; window_w = window_h = window_x = window_y = 0;
} }
sound_gain[0] = config_get_int(cat, "sound_gain_main", 0); sound_gain = config_get_int(cat, "sound_gain", 0);
sound_gain[1] = config_get_int(cat, "sound_gain_cd", 0);
sound_gain[2] = config_get_int(cat, "sound_gain_midi", 0);
#ifdef USE_LANGUAGE #ifdef USE_LANGUAGE
/* /*
@@ -1530,6 +1529,11 @@ save_general(void)
else else
config_set_int(cat, "rctrl_is_lalt", rctrl_is_lalt); config_set_int(cat, "rctrl_is_lalt", rctrl_is_lalt);
if (update_icons == 1)
config_delete_var(cat, "update_icons");
else
config_set_int(cat, "update_icons", update_icons);
if (window_remember) { if (window_remember) {
config_set_int(cat, "window_remember", window_remember); config_set_int(cat, "window_remember", window_remember);
@@ -1540,20 +1544,10 @@ save_general(void)
config_delete_var(cat, "window_coordinates"); config_delete_var(cat, "window_coordinates");
} }
if (sound_gain[0] != 0) if (sound_gain != 0)
config_set_int(cat, "sound_gain_main", sound_gain[0]); config_set_int(cat, "sound_gain", sound_gain);
else else
config_delete_var(cat, "sound_gain_main"); config_delete_var(cat, "sound_gain");
if (sound_gain[1] != 0)
config_set_int(cat, "sound_gain_cd", sound_gain[1]);
else
config_delete_var(cat, "sound_gain_cd");
if (sound_gain[2] != 0)
config_set_int(cat, "sound_gain_midi", sound_gain[2]);
else
config_delete_var(cat, "sound_gain_midi");
#ifdef USE_LANGUAGE #ifdef USE_LANGUAGE
if (plat_langid == 0x0409) if (plat_langid == 0x0409)

View File

@@ -9,7 +9,7 @@
* Implementation of the IDE emulation for hard disks and ATAPI * Implementation of the IDE emulation for hard disks and ATAPI
* CD-ROM devices. * CD-ROM devices.
* *
* Version: @(#)hdc_ide.c 1.0.24 2018/01/21 * Version: @(#)hdc_ide.c 1.0.25 2018/02/08
* *
* Authors: Sarah Walker, <http://pcem-emulator.co.uk/> * Authors: Sarah Walker, <http://pcem-emulator.co.uk/>
* Miran Grca, <mgrca8@gmail.com> * Miran Grca, <mgrca8@gmail.com>
@@ -1348,84 +1348,50 @@ void writeide(int ide_board, uint16_t addr, uint8_t val)
return; return;
case WIN_DRIVE_DIAGNOSTICS: /* Execute Drive Diagnostics */ case WIN_DRIVE_DIAGNOSTICS: /* Execute Drive Diagnostics */
if (ide_drive_is_zip(ide))
zip[atapi_zip_drives[ide->channel]].status = BUSY_STAT;
else if (ide_drive_is_cdrom(ide))
cdrom[atapi_cdrom_drives[ide->channel]].status = BUSY_STAT;
else
ide->atastat = BUSY_STAT;
if (ide_drive_is_zip(ide_other))
zip[atapi_zip_drives[ide_other->channel]].status = BUSY_STAT;
else if (ide_drive_is_cdrom(ide_other))
cdrom[atapi_cdrom_drives[ide_other->channel]].status = BUSY_STAT;
else
ide_other->atastat = BUSY_STAT;
timer_process();
if (ide_drive_is_zip(ide))
zip[atapi_zip_drives[ide->channel]].callback = 200LL * IDE_TIME;
else if (ide_drive_is_cdrom(ide))
cdrom[atapi_cdrom_drives[ide->channel]].callback = 200LL * IDE_TIME;
idecallback[ide_board] = 200LL * IDE_TIME;
timer_update_outstanding();
return;
case WIN_PIDENTIFY: /* Identify Packet Device */ case WIN_PIDENTIFY: /* Identify Packet Device */
case WIN_SET_MULTIPLE_MODE: /* Set Multiple Mode */ case WIN_SET_MULTIPLE_MODE: /* Set Multiple Mode */
case WIN_SET_FEATURES: /* Set Features */
case WIN_NOP: case WIN_NOP:
case WIN_STANDBYNOW1: case WIN_STANDBYNOW1:
case WIN_IDLENOW1: case WIN_IDLENOW1:
case WIN_SETIDLE1: /* Idle */ case WIN_SETIDLE1: /* Idle */
case WIN_CHECKPOWERMODE1: case WIN_CHECKPOWERMODE1:
case WIN_SLEEP1: case WIN_SLEEP1:
if (val == WIN_DRIVE_DIAGNOSTICS)
{
if (ide_drive_is_zip(ide)) if (ide_drive_is_zip(ide))
{
zip[atapi_zip_drives[ide->channel]].status = BUSY_STAT; zip[atapi_zip_drives[ide->channel]].status = BUSY_STAT;
}
else if (ide_drive_is_cdrom(ide)) else if (ide_drive_is_cdrom(ide))
{
cdrom[atapi_cdrom_drives[ide->channel]].status = BUSY_STAT; cdrom[atapi_cdrom_drives[ide->channel]].status = BUSY_STAT;
}
else else
{
ide->atastat = BUSY_STAT; ide->atastat = BUSY_STAT;
}
if (ide_drive_is_zip(ide_other))
{
zip[atapi_zip_drives[ide_other->channel]].status = BUSY_STAT;
}
else if (ide_drive_is_cdrom(ide_other))
{
cdrom[atapi_cdrom_drives[ide_other->channel]].status = BUSY_STAT;
}
else
{
ide_other->atastat = BUSY_STAT;
}
timer_process(); timer_process();
if (ide_drive_is_zip(ide)) callbackide(ide_board);
{
zip[atapi_zip_drives[ide->channel]].callback = 200LL * IDE_TIME;
}
else if (ide_drive_is_cdrom(ide))
{
cdrom[atapi_cdrom_drives[ide->channel]].callback = 200LL * IDE_TIME;
}
idecallback[ide_board] = 200LL * IDE_TIME;
timer_update_outstanding(); timer_update_outstanding();
}
else
{
if (ide_drive_is_zip(ide))
{
zip[atapi_zip_drives[ide->channel]].status = BUSY_STAT;
}
else if (ide_drive_is_cdrom(ide))
{
cdrom[atapi_cdrom_drives[ide->channel]].status = BUSY_STAT;
}
else
{
ide->atastat = BUSY_STAT;
}
timer_process();
if (ide_drive_is_zip(ide))
{
zip[atapi_zip_drives[ide->channel]].callback = 30LL * IDE_TIME;
}
else if (ide_drive_is_cdrom(ide))
{
cdrom[atapi_cdrom_drives[ide->channel]].callback = 30LL * IDE_TIME;
}
idecallback[ide_board] = 30LL * IDE_TIME;
timer_update_outstanding();
}
return; return;
case WIN_IDENTIFY: /* Identify Device */ case WIN_IDENTIFY: /* Identify Device */
case WIN_SET_FEATURES: /* Set Features */
case WIN_READ_NATIVE_MAX: case WIN_READ_NATIVE_MAX:
if (ide_drive_is_zip(ide)) if (ide_drive_is_zip(ide))
{ {
@@ -1472,7 +1438,7 @@ void writeide(int ide_board, uint16_t addr, uint8_t val)
{ {
ide->atastat = BUSY_STAT; ide->atastat = BUSY_STAT;
timer_process(); timer_process();
idecallback[ide_board]=1LL; idecallback[ide_board]=200LL*IDE_TIME;
timer_update_outstanding(); timer_update_outstanding();
ide->pos=0; ide->pos=0;
} }

View File

@@ -8,7 +8,7 @@
* *
* Handling of hard disk image files. * Handling of hard disk image files.
* *
* Version: @(#)hdd_image.c 1.0.11 2018/02/07 * Version: @(#)hdd_image.c 1.0.12 2018/02/08
* *
* Authors: Miran Grca, <mgrca8@gmail.com> * Authors: Miran Grca, <mgrca8@gmail.com>
* Fred N. van Kempen, <decwiz@yahoo.com> * Fred N. van Kempen, <decwiz@yahoo.com>
@@ -332,7 +332,7 @@ void hdd_image_seek(uint8_t id, uint32_t sector)
void hdd_image_read(uint8_t id, uint32_t sector, uint32_t count, uint8_t *buffer) void hdd_image_read(uint8_t id, uint32_t sector, uint32_t count, uint8_t *buffer)
{ {
hdd_image_seek(id, sector); fseeko64(hdd_images[id].file, ((uint64_t)sector * 512) + hdd_images[id].base, SEEK_SET);
fread(buffer, 1, count * 512, hdd_images[id].file); fread(buffer, 1, count * 512, hdd_images[id].file);
} }
@@ -350,7 +350,7 @@ int hdd_image_read_ex(uint8_t id, uint32_t sector, uint32_t count, uint8_t *buff
if ((sectors - sector) < transfer_sectors) if ((sectors - sector) < transfer_sectors)
transfer_sectors = sectors - sector; transfer_sectors = sectors - sector;
hdd_image_seek(id, sector); fseeko64(hdd_images[id].file, ((uint64_t)sector * 512) + hdd_images[id].base, SEEK_SET);
fread(buffer, 1, transfer_sectors * 512, hdd_images[id].file); fread(buffer, 1, transfer_sectors * 512, hdd_images[id].file);
if (count != transfer_sectors) if (count != transfer_sectors)
@@ -360,7 +360,7 @@ int hdd_image_read_ex(uint8_t id, uint32_t sector, uint32_t count, uint8_t *buff
void hdd_image_write(uint8_t id, uint32_t sector, uint32_t count, uint8_t *buffer) void hdd_image_write(uint8_t id, uint32_t sector, uint32_t count, uint8_t *buffer)
{ {
hdd_image_seek(id, sector); fseeko64(hdd_images[id].file, ((uint64_t)sector * 512) + hdd_images[id].base, SEEK_SET);
fwrite(buffer, count * 512, 1, hdd_images[id].file); fwrite(buffer, count * 512, 1, hdd_images[id].file);
} }
@@ -372,7 +372,7 @@ int hdd_image_write_ex(uint8_t id, uint32_t sector, uint32_t count, uint8_t *buf
if ((sectors - sector) < transfer_sectors) if ((sectors - sector) < transfer_sectors)
transfer_sectors = sectors - sector; transfer_sectors = sectors - sector;
hdd_image_seek(id, sector); fseeko64(hdd_images[id].file, ((uint64_t)sector * 512) + hdd_images[id].base, SEEK_SET);
fwrite(buffer, transfer_sectors * 512, 1, hdd_images[id].file); fwrite(buffer, transfer_sectors * 512, 1, hdd_images[id].file);
if (count != transfer_sectors) if (count != transfer_sectors)
@@ -384,7 +384,7 @@ void hdd_image_zero(uint8_t id, uint32_t sector, uint32_t count)
{ {
int i = 0; int i = 0;
hdd_image_seek(id, sector); fseeko64(hdd_images[id].file, ((uint64_t)sector * 512) + hdd_images[id].base, SEEK_SET);
for (i = 0; i < count; i++) for (i = 0; i < count; i++)
fwrite(empty_sector, 512, 1, hdd_images[id].file); fwrite(empty_sector, 512, 1, hdd_images[id].file);
} }
@@ -399,7 +399,7 @@ int hdd_image_zero_ex(uint8_t id, uint32_t sector, uint32_t count)
if ((sectors - sector) < transfer_sectors) if ((sectors - sector) < transfer_sectors)
transfer_sectors = sectors - sector; transfer_sectors = sectors - sector;
hdd_image_seek(id, sector); fseeko64(hdd_images[id].file, ((uint64_t)sector * 512) + hdd_images[id].base, SEEK_SET);
for (i = 0; i < transfer_sectors; i++) for (i = 0; i < transfer_sectors; i++)
fwrite(empty_sector, 1, 512, hdd_images[id].file); fwrite(empty_sector, 1, 512, hdd_images[id].file);

View File

@@ -8,7 +8,7 @@
* *
* Define the various platform support functions. * Define the various platform support functions.
* *
* Version: @(#)plat.h 1.0.24 2018/02/09 * Version: @(#)plat.h 1.0.25 2018/02/11
* *
* Authors: Miran Grca, <mgrca8@gmail.com> * Authors: Miran Grca, <mgrca8@gmail.com>
* Fred N. van Kempen, <decwiz@yahoo.com> * Fred N. van Kempen, <decwiz@yahoo.com>
@@ -60,6 +60,7 @@ GLOBAL uint64_t timer_freq;
GLOBAL int infocus; GLOBAL int infocus;
GLOBAL char emu_version[128]; /* version ID string */ GLOBAL char emu_version[128]; /* version ID string */
GLOBAL int rctrl_is_lalt; GLOBAL int rctrl_is_lalt;
GLOBAL int update_icons;
/* System-related functions. */ /* System-related functions. */

View File

@@ -8,7 +8,7 @@
* *
* Interface to the OpenAL sound processing library. * Interface to the OpenAL sound processing library.
* *
* Version: @(#)openal.c 1.0.3 2018/01/16 * Version: @(#)openal.c 1.0.4 2018/02/11
* *
* Authors: Sarah Walker, <http://pcem-emulator.co.uk/> * Authors: Sarah Walker, <http://pcem-emulator.co.uk/>
* Miran Grca, <mgrca8@gmail.com> * Miran Grca, <mgrca8@gmail.com>
@@ -231,8 +231,7 @@ givealbuffer_common(void *buf, uint8_t src, int size, int freq)
alGetSourcei(source[src], AL_BUFFERS_PROCESSED, &processed); alGetSourcei(source[src], AL_BUFFERS_PROCESSED, &processed);
if (processed >= 1) { if (processed >= 1) {
gain = pow(10.0, (double)sound_gain[src] / 20.0); gain = pow(10.0, (double)sound_gain / 20.0);
alListenerf(AL_GAIN, gain); alListenerf(AL_GAIN, gain);
alSourceUnqueueBuffers(source[src], 1, &buffer); alSourceUnqueueBuffers(source[src], 1, &buffer);

View File

@@ -8,13 +8,13 @@
* *
* Sound emulation core. * Sound emulation core.
* *
* Version: @(#)sound.c 1.0.11 2017/12/28 * Version: @(#)sound.c 1.0.12 2018/02/11
* *
* Authors: Sarah Walker, <http://pcem-emulator.co.uk/> * Authors: Sarah Walker, <http://pcem-emulator.co.uk/>
* Miran Grca, <mgrca8@gmail.com> * Miran Grca, <mgrca8@gmail.com>
* *
* Copyright 2008-2017 Sarah Walker. * Copyright 2008-2018 Sarah Walker.
* Copyright 2016,2017 Miran Grca. * Copyright 2016-2018 Miran Grca.
*/ */
#include <stdio.h> #include <stdio.h>
#include <stdint.h> #include <stdint.h>
@@ -52,7 +52,7 @@ typedef struct {
int sound_card_current = 0; int sound_card_current = 0;
int sound_pos_global = 0; int sound_pos_global = 0;
int soundon = 1; int soundon = 1;
int sound_gain[3] = { 0, 0, 0 }; int sound_gain = 0;
static int sound_card_last = 0; static int sound_card_last = 0;

View File

@@ -8,19 +8,19 @@
* *
* Sound emulation core. * Sound emulation core.
* *
* Version: @(#)sound.h 1.0.3 2017/12/09 * Version: @(#)sound.h 1.0.4 2018/02/11
* *
* Authors: Sarah Walker, <http://pcem-emulator.co.uk/> * Authors: Sarah Walker, <http://pcem-emulator.co.uk/>
* Miran Grca, <mgrca8@gmail.com> * Miran Grca, <mgrca8@gmail.com>
* *
* Copyright 2008-2017 Sarah Walker. * Copyright 2008-2018 Sarah Walker.
* Copyright 2016,2017 Miran Grca. * Copyright 2016-2018 Miran Grca.
*/ */
#ifndef EMU_SOUND_H #ifndef EMU_SOUND_H
# define EMU_SOUND_H # define EMU_SOUND_H
extern int sound_gain[3]; extern int sound_gain;
#define SOUNDBUFLEN (48000/50) #define SOUNDBUFLEN (48000/50)

View File

@@ -8,7 +8,7 @@
* *
* Generic SVGA handling. * Generic SVGA handling.
* *
* Version: @(#)vid_svga.h 1.0.6 2018/02/07 * Version: @(#)vid_svga.h 1.0.7 2018/02/11
* *
* Authors: Sarah Walker, <http://pcem-emulator.co.uk/> * Authors: Sarah Walker, <http://pcem-emulator.co.uk/>
* Miran Grca, <mgrca8@gmail.com> * Miran Grca, <mgrca8@gmail.com>
@@ -197,7 +197,7 @@ uint32_t svga_mask_changedaddr(uint32_t addr, svga_t *svga);
extern uint32_t shade[5][256]; extern uint32_t shade[5][256];
__inline__ uint32_t svga_color_transform(uint32_t color) static __inline__ uint32_t svga_color_transform(uint32_t color)
{ {
uint8_t *clr8 = (uint8_t *) &color; uint8_t *clr8 = (uint8_t *) &color;
if (!video_grayscale && !invert_display) if (!video_grayscale && !invert_display)

View File

@@ -8,7 +8,7 @@
* *
* Define all known video cards. * Define all known video cards.
* *
* Version: @(#)vid_table.c 1.0.15 2018/02/07 * Version: @(#)vid_table.c 1.0.16 2018/02/11
* *
* Authors: Miran Grca, <mgrca8@gmail.com> * Authors: Miran Grca, <mgrca8@gmail.com>
* Fred N. van Kempen, <decwiz@yahoo.com> * Fred N. van Kempen, <decwiz@yahoo.com>
@@ -35,6 +35,7 @@
#include "vid_ati28800.h" #include "vid_ati28800.h"
#include "vid_ati_mach64.h" #include "vid_ati_mach64.h"
#include "vid_cga.h" #include "vid_cga.h"
#include "vid_cl5428.h"
#ifdef DEV_BRANCH #ifdef DEV_BRANCH
# ifdef USE_CIRRUS # ifdef USE_CIRRUS
# include "vid_cl_ramdac.h" /* vid_cl_gd.c needs this */ # include "vid_cl_ramdac.h" /* vid_cl_gd.c needs this */
@@ -156,6 +157,7 @@ video_cards[] = {
#if defined(DEV_BRANCH) && defined(USE_STEALTH32) #if defined(DEV_BRANCH) && defined(USE_STEALTH32)
{"[VLB] Diamond Stealth 32 (Tseng ET4000/w32p)","stealth32_vlb", &et4000w32p_vlb_device, GFX_ET4000W32_VLB, {VIDEO_BUS, 4, 4, 4, 10, 10, 10}}, {"[VLB] Diamond Stealth 32 (Tseng ET4000/w32p)","stealth32_vlb", &et4000w32p_vlb_device, GFX_ET4000W32_VLB, {VIDEO_BUS, 4, 4, 4, 10, 10, 10}},
#endif #endif
{"[VLB] Diamond SpeedStar PRO (CL-GD5428)", "cl_gd5428_vlb", &gd5428_device, GFX_CL_GD5428, {VIDEO_BUS, 4, 8, 16, 4, 8, 16}},
{"[VLB] Diamond Stealth 3D 2000 (S3 ViRGE)", "stealth3d_2000_vlb", &s3_virge_vlb_device, GFX_VIRGE_VLB, {VIDEO_BUS, 2, 2, 3, 28, 28, 45}}, {"[VLB] Diamond Stealth 3D 2000 (S3 ViRGE)", "stealth3d_2000_vlb", &s3_virge_vlb_device, GFX_VIRGE_VLB, {VIDEO_BUS, 2, 2, 3, 28, 28, 45}},
{"[VLB] Diamond Stealth 3D 3000 (S3 ViRGE/VX)", "stealth3d_3000_vlb", &s3_virge_988_vlb_device, GFX_VIRGEVX_VLB, {VIDEO_BUS, 2, 2, 4, 26, 26, 42}}, {"[VLB] Diamond Stealth 3D 3000 (S3 ViRGE/VX)", "stealth3d_3000_vlb", &s3_virge_988_vlb_device, GFX_VIRGEVX_VLB, {VIDEO_BUS, 2, 2, 4, 26, 26, 42}},
{"[VLB] Diamond Stealth 64 DRAM (S3 Trio64)", "stealth64d_vlb", &s3_diamond_stealth64_vlb_device, GFX_STEALTH64_VLB, {VIDEO_BUS, 2, 2, 4, 26, 26, 42}}, {"[VLB] Diamond Stealth 64 DRAM (S3 Trio64)", "stealth64d_vlb", &s3_diamond_stealth64_vlb_device, GFX_STEALTH64_VLB, {VIDEO_BUS, 2, 2, 4, 26, 26, 42}},

View File

@@ -8,7 +8,7 @@
* *
* Definitions for the video controller module. * Definitions for the video controller module.
* *
* Version: @(#)video.h 1.0.13 2018/02/07 * Version: @(#)video.h 1.0.14 2018/02/11
* *
* Authors: Sarah Walker, <http://pcem-emulator.co.uk/> * Authors: Sarah Walker, <http://pcem-emulator.co.uk/>
* Miran Grca, <mgrca8@gmail.com> * Miran Grca, <mgrca8@gmail.com>
@@ -69,6 +69,9 @@ enum {
GFX_MACH64VT2, /* ATI Mach64 VT2 */ GFX_MACH64VT2, /* ATI Mach64 VT2 */
#if defined(DEV_BRANCH) && defined(USE_CIRRUS) #if defined(DEV_BRANCH) && defined(USE_CIRRUS)
GFX_CL_GD5422, /* Cirrus Logic CL-GD5422 */ GFX_CL_GD5422, /* Cirrus Logic CL-GD5422 */
#endif
GFX_CL_GD5428, /* Diamond SpeedStar PRO (Cirrus Logic CL-GD5428) */
#if defined(DEV_BRANCH) && defined(USE_CIRRUS)
GFX_CL_GD5429, /* Cirrus Logic CL-GD5429 */ GFX_CL_GD5429, /* Cirrus Logic CL-GD5429 */
GFX_CL_GD5430, /* Cirrus Logic CL-GD5430 */ GFX_CL_GD5430, /* Cirrus Logic CL-GD5430 */
GFX_CL_GD5434, /* Cirrus Logic CL-GD5434 */ GFX_CL_GD5434, /* Cirrus Logic CL-GD5434 */

View File

@@ -8,7 +8,7 @@
* *
* Application resource script for Windows. * Application resource script for Windows.
* *
* Version: @(#)86Box.rc 1.0.29 2018/02/09 * Version: @(#)86Box.rc 1.0.30 2018/02/11
* *
* Authors: Miran Grca, <mgrca8@gmail.com> * Authors: Miran Grca, <mgrca8@gmail.com>
* Fred N. van Kempen, <decwiz@yahoo.com> * Fred N. van Kempen, <decwiz@yahoo.com>
@@ -120,6 +120,8 @@ BEGIN
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "S&tatus", IDM_STATUS MENUITEM "S&tatus", IDM_STATUS
MENUITEM "Take s&creenshot\tCtrl+F11", IDM_ACTION_SCREENSHOT MENUITEM "Take s&creenshot\tCtrl+F11", IDM_ACTION_SCREENSHOT
MENUITEM SEPARATOR
MENUITEM "&Update status bar icons", IDM_UPDATE_ICONS
END END
#if defined(ENABLE_LOG_TOGGLES) || defined(ENABLE_LOG_COMMANDS) #if defined(ENABLE_LOG_TOGGLES) || defined(ENABLE_LOG_COMMANDS)
POPUP "&Logging" POPUP "&Logging"
@@ -237,22 +239,16 @@ BEGIN
LTEXT "1",IDT_STEXT,16,186,180,1000 LTEXT "1",IDT_STEXT,16,186,180,1000
END END
DLG_SND_GAIN DIALOG DISCARDABLE 0, 0, 174, 136 DLG_SND_GAIN DIALOG DISCARDABLE 0, 0, 113, 136
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Sound Gain" CAPTION "Sound Gain"
FONT 8, "MS Sans Serif" FONT 8, "MS Sans Serif"
BEGIN BEGIN
DEFPUSHBUTTON "OK",IDOK,117,7,50,14 DEFPUSHBUTTON "OK",IDOK,57,7,50,14
PUSHBUTTON "Cancel",IDCANCEL,117,24,50,14 PUSHBUTTON "Cancel",IDCANCEL,57,24,50,14
CONTROL "Main",IDC_SLIDER_MAIN,"msctls_trackbar32",TBS_VERT | CONTROL "Gain",IDC_SLIDER_GAIN,"msctls_trackbar32",TBS_VERT |
TBS_BOTH | TBS_AUTOTICKS | WS_TABSTOP,15,20,20,109 TBS_BOTH | TBS_AUTOTICKS | WS_TABSTOP,15,20,20,109
CONTROL "CD",IDC_SLIDER_CD,"msctls_trackbar32",TBS_VERT | CTEXT "Gain",IDT_1746,16,7,32,9,SS_CENTERIMAGE
TBS_BOTH | TBS_AUTOTICKS | WS_TABSTOP,45,20,20,109
CONTROL "MIDI",IDC_SLIDER_MIDI,"msctls_trackbar32",TBS_VERT |
TBS_BOTH | TBS_AUTOTICKS | WS_TABSTOP,77,20,20,109
CTEXT "Main",IDT_1746,7,7,32,9,SS_CENTERIMAGE
CTEXT "CD",IDT_1747,38,7,32,9,SS_CENTERIMAGE
CTEXT "MIDI",IDT_1748,70,7,32,9,SS_CENTERIMAGE
END END
DLG_NEW_FLOPPY DIALOG DISCARDABLE 0, 0, 226, 86 DLG_NEW_FLOPPY DIALOG DISCARDABLE 0, 0, 226, 86

View File

@@ -8,7 +8,7 @@
# #
# Makefile for Win32 (MinGW32) environment. # Makefile for Win32 (MinGW32) environment.
# #
# Version: @(#)Makefile.mingw 1.0.98 2018/02/07 # Version: @(#)Makefile.mingw 1.0.100 2018/02/11
# #
# Authors: Miran Grca, <mgrca8@gmail.com> # Authors: Miran Grca, <mgrca8@gmail.com>
# Fred N. van Kempen, <decwiz@yahoo.com> # Fred N. van Kempen, <decwiz@yahoo.com>
@@ -216,7 +216,7 @@ else
endif endif
endif endif
endif endif
AFLAGS := -fomit-frame-pointer -msse2 -mfpmath=sse -mstackrealign -fno-strict-aliasing AFLAGS := -msse2 -mfpmath=sse
RFLAGS := --input-format=rc -O coff RFLAGS := --input-format=rc -O coff
ifeq ($(RELEASE), y) ifeq ($(RELEASE), y)
OPTS += -DRELEASE_BUILD OPTS += -DRELEASE_BUILD
@@ -346,6 +346,7 @@ endif
ifeq ($(STEALTH32), y) ifeq ($(STEALTH32), y)
OPTS += -DUSE_STEALTH32 OPTS += -DUSE_STEALTH32
DEVBROBJ += vid_icd2061.o
endif endif
endif endif
@@ -359,12 +360,14 @@ endif
# Final versions of the toolchain flags. # Final versions of the toolchain flags.
CFLAGS := $(WX_FLAGS) $(OPTS) $(DFLAGS) $(COPTIM) $(AOPTIM) \ CFLAGS := $(WX_FLAGS) $(OPTS) $(DFLAGS) $(COPTIM) $(AOPTIM) \
$(AFLAGS) -fomit-frame-pointer -mstackrealign -Wall $(AFLAGS) -fomit-frame-pointer -mstackrealign -Wall \
CXXFLAGS := $(WX_FLAGS) $(OPTS) $(DFLAGS) $(COPTIM) $(AOPTIM) \ -fno-strict-aliasing -flto
$(AFLAGS) -fno-strict-aliasing -fvisibility=hidden \ CFLAGS := $(CFLAGS)
-Wall -Wundef -fvisibility-inlines-hidden \ # CXXFLAGS := $(WX_FLAGS) $(OPTS) $(DFLAGS) $(COPTIM) $(AOPTIM) \
-Wunused-parameter -Wno-ctor-dtor-privacy \ # $(AFLAGS) -fno-strict-aliasing -fvisibility=hidden \
-Woverloaded-virtual # -Wall -Wundef -fvisibility-inlines-hidden \
# -Wunused-parameter -Wno-ctor-dtor-privacy \
# -Woverloaded-virtual
######################################################################### #########################################################################
@@ -372,29 +375,37 @@ CXXFLAGS := $(WX_FLAGS) $(OPTS) $(DFLAGS) $(COPTIM) $(AOPTIM) \
######################################################################### #########################################################################
MAINOBJ := pc.o config.o random.o timer.o io.o dma.o nmi.o pic.o \ MAINOBJ := pc.o config.o random.o timer.o io.o dma.o nmi.o pic.o \
pit.o ppi.o pci.o mca.o mcr.o mem.o memregs.o rom.o \ pit.o ppi.o pci.o mca.o mcr.o mem.o memregs.o rom.o \
device.o nvr.o nvr_at.o nvr_ps2.o $(VNCOBJ) $(RDPOBJ) \ device.o nvr.o nvr_at.o nvr_ps2.o $(VNCOBJ) $(RDPOBJ)
intel.o intel_flash.o intel_piix.o intel_piix4.o intel_sio.o
INTELOBJ := intel.o \
intel_flash.o \
intel_sio.o \
intel_piix.o intel_piix4.o
CPUOBJ := cpu.o cpu_table.o \ CPUOBJ := cpu.o cpu_table.o \
808x.o 386.o x86seg.o x87.o \ 808x.o 386.o 386_dynarec.o \
386_dynarec.o $(DYNARECOBJ) x86seg.o x87.o \
$(DYNARECOBJ)
MCHOBJ := machine.o machine_table.o \ MCHOBJ := machine.o machine_table.o \
m_amstrad.o m_europc.o m_europc_hdc.o \
m_olivetti_m24.o m_tandy.o \
m_xt.o m_xt_compaq.o \ m_xt.o m_xt_compaq.o \
m_at.o m_at_ali1429.o m_at_commodore.o \ m_pcjr.o \
m_amstrad.o \
m_europc.o m_europc_hdc.o \
m_olivetti_m24.o m_tandy.o \
m_at.o \
m_at_ali1429.o m_at_commodore.o \
m_at_neat.o m_at_headland.o \ m_at_neat.o m_at_headland.o \
m_at_t3100e.o \ m_at_t3100e.o \
m_ps1.o \
m_ps2_isa.o m_ps2_mca.o \
m_at_opti495.o m_at_scat.o \ m_at_opti495.o m_at_scat.o \
m_at_compaq.o m_at_wd76c10.o \ m_at_compaq.o m_at_wd76c10.o \
m_at_sis_85c471.o m_at_sis_85c496.o \ m_at_sis_85c471.o m_at_sis_85c496.o \
m_at_430lx_nx.o m_at_430fx.o \ m_at_430lx_nx.o m_at_430fx.o \
m_at_430hx.o m_at_430vx.o \ m_at_430hx.o m_at_430vx.o
m_pcjr.o m_ps1.o m_ps2_isa.o m_ps2_mca.o
DEVOBJ := bugger.o lpt.o $(SERIAL) \ DEVOBJ := bugger.o lpt.o $(SERIAL) \
sio_detect.o \
sio_fdc37c66x.o sio_fdc37c669.o sio_fdc37c93x.o \ sio_fdc37c66x.o sio_fdc37c669.o sio_fdc37c93x.o \
sio_pc87306.o sio_w83877f.o sio_um8669f.o \ sio_pc87306.o sio_w83877f.o sio_um8669f.o \
keyboard.o \ keyboard.o \
@@ -403,8 +414,8 @@ DEVOBJ := bugger.o lpt.o $(SERIAL) \
joystick_standard.o joystick_ch_flightstick_pro.o \ joystick_standard.o joystick_ch_flightstick_pro.o \
joystick_sw_pad.o joystick_tm_fcs.o \ joystick_sw_pad.o joystick_tm_fcs.o \
mouse.o \ mouse.o \
mouse_serial.o mouse_ps2.o mouse_bus.o \ mouse_bus.o \
zip.o mouse_serial.o mouse_ps2.o
FDDOBJ := fdd.o fdc.o fdi2raw.o \ FDDOBJ := fdd.o fdc.o fdi2raw.o \
fdd_common.o fdd_86f.o \ fdd_common.o fdd_86f.o \
@@ -414,12 +425,16 @@ FDDOBJ := fdd.o fdc.o fdi2raw.o \
HDDOBJ := hdd.o \ HDDOBJ := hdd.o \
hdd_image.o hdd_table.o \ hdd_image.o hdd_table.o \
hdc.o \ hdc.o \
hdc_esdi_at.o hdc_esdi_mca.o hdc_ide.o hdc_mfm_at.o \ hdc_mfm_xt.o hdc_xtide.o \
hdc_mfm_xt.o hdc_xtide.o hdc_mfm_at.o \
hdc_esdi_at.o hdc_esdi_mca.o \
hdc_ide.o
CDROMOBJ := cdrom.o \ CDROMOBJ := cdrom.o \
cdrom_dosbox.o cdrom_image.o cdrom_null.o cdrom_dosbox.o cdrom_image.o cdrom_null.o
ZIPOBJ := zip.o
ifeq ($(USB), y) ifeq ($(USB), y)
USBOBJ := usb.o USBOBJ := usb.o
endif endif
@@ -441,6 +456,7 @@ NETOBJ := network.o \
SNDOBJ := sound.o \ SNDOBJ := sound.o \
openal.o \ openal.o \
snd_opl.o snd_dbopl.o \
dbopl.o nukedopl.o \ dbopl.o nukedopl.o \
snd_resid.o \ snd_resid.o \
convolve.o convolve-sse.o envelope.o extfilt.o \ convolve.o convolve-sse.o envelope.o extfilt.o \
@@ -454,10 +470,12 @@ SNDOBJ := sound.o \
snd_pssj.o \ snd_pssj.o \
snd_lpt_dac.o snd_lpt_dss.o \ snd_lpt_dac.o snd_lpt_dss.o \
snd_adlib.o snd_adlibgold.o snd_ad1848.o snd_audiopci.o \ snd_adlib.o snd_adlibgold.o snd_ad1848.o snd_audiopci.o \
snd_sb.o snd_sb_dsp.o snd_cms.o snd_dbopl.o \ snd_cms.o \
snd_emu8k.o snd_gus.o snd_opl.o \ snd_gus.o \
snd_mpu401.o \ snd_sb.o snd_sb_dsp.o \
snd_sn76489.o snd_ssi2001.o snd_wss.o \ snd_emu8k.o snd_mpu401.o \
snd_sn76489.o snd_ssi2001.o \
snd_wss.o \
snd_ym7128.o snd_ym7128.o
VIDOBJ := video.o \ VIDOBJ := video.o \
@@ -465,25 +483,28 @@ VIDOBJ := video.o \
vid_cga.o vid_cga_comp.o \ vid_cga.o vid_cga_comp.o \
vid_compaq_cga.o \ vid_compaq_cga.o \
vid_mda.o \ vid_mda.o \
vid_ega.o vid_ega_render.o \
vid_vga.o vid_svga.o vid_svga_render.o \
vid_hercules.o vid_herculesplus.o vid_incolor.o \ vid_hercules.o vid_herculesplus.o vid_incolor.o \
vid_colorplus.o \ vid_colorplus.o \
vid_genius.o \ vid_genius.o \
vid_t3100e.o \ vid_t3100e.o \
vid_s3.o vid_s3_virge.o \ vid_wy700.o \
vid_et4000.o vid_et4000w32.o vid_icd2061.o \ vid_ega.o vid_ega_render.o \
vid_svga.o vid_svga_render.o \
vid_vga.o \
vid_ati_eeprom.o \
vid_ati18800.o vid_ati28800.o \
vid_ati_mach64.o vid_ati68860_ramdac.o \
vid_ics2595.o \
vid_cl5428.o \
vid_et4000.o vid_sc1502x_ramdac.o \
vid_et4000w32.o vid_stg_ramdac.o \
vid_oti067.o \ vid_oti067.o \
vid_paradise.o \ vid_paradise.o \
vid_tvga.o vid_tgui9440.o vid_tkd8001_ramdac.o \
vid_ati_eeprom.o vid_ati18800.o vid_ati28800.o \
vid_ati68860_ramdac.o vid_ati_mach64.o \
vid_ics2595.o \
vid_sc1502x_ramdac.o \
vid_sdac_ramdac.o \
vid_stg_ramdac.o \
vid_ti_cf62011.o \ vid_ti_cf62011.o \
vid_wy700.o \ vid_tvga.o \
vid_tgui9440.o vid_tkd8001_ramdac.o \
vid_s3.o vid_s3_virge.o \
vid_sdac_ramdac.o \
vid_voodoo.o vid_voodoo.o
PLATOBJ := win.o \ PLATOBJ := win.o \
@@ -491,8 +512,8 @@ PLATOBJ := win.o \
win_cdrom.o win_cdrom_ioctl.o win_keyboard.o \ win_cdrom.o win_cdrom_ioctl.o win_keyboard.o \
win_mouse.o win_joystick.o win_midi.o win_mouse.o win_joystick.o win_midi.o
OBJ := $(MAINOBJ) $(CPUOBJ) $(MCHOBJ) $(DEVOBJ) \ OBJ := $(MAINOBJ) $(INTELOBJ) $(CPUOBJ) $(MCHOBJ) $(DEVOBJ) \
$(FDDOBJ) $(CDROMOBJ) $(HDDOBJ) \ $(FDDOBJ) $(CDROMOBJ) $(ZIPOBJ) $(HDDOBJ) \
$(USBOBJ) $(NETOBJ) $(SCSIOBJ) $(SNDOBJ) $(VIDOBJ) \ $(USBOBJ) $(NETOBJ) $(SCSIOBJ) $(SNDOBJ) $(VIDOBJ) \
$(PLATOBJ) $(UIOBJ) $(DEVBROBJ) $(PLATOBJ) $(UIOBJ) $(DEVBROBJ)
ifdef EXOBJ ifdef EXOBJ

View File

@@ -8,7 +8,7 @@
* *
* Windows resource defines. * Windows resource defines.
* *
* Version: @(#)resource.h 1.0.20 2018/02/09 * Version: @(#)resource.h 1.0.21 2018/02/11
* *
* Authors: Sarah Walker, <http://pcem-emulator.co.uk/> * Authors: Sarah Walker, <http://pcem-emulator.co.uk/>
* Miran Grca, <mgrca8@gmail.com> * Miran Grca, <mgrca8@gmail.com>
@@ -80,9 +80,7 @@
#define IDT_1743 1743 /* Channel: */ #define IDT_1743 1743 /* Channel: */
#define IDT_STEXT 1744 /* text in status window */ #define IDT_STEXT 1744 /* text in status window */
#define IDT_SDEVICE 1745 /* text in status window */ #define IDT_SDEVICE 1745 /* text in status window */
#define IDT_1746 1746 /* Main */ #define IDT_1746 1746 /* Gain */
#define IDT_1747 1747 /* CD */
#define IDT_1748 1748 /* MIDI */
#define IDT_1749 1749 /* File name: */ #define IDT_1749 1749 /* File name: */
#define IDT_1750 1750 /* Disk size: */ #define IDT_1750 1750 /* Disk size: */
#define IDT_1751 1751 /* RPM mode: */ #define IDT_1751 1751 /* RPM mode: */
@@ -198,9 +196,7 @@
#define IDC_COMBO_ZIP_CHANNEL_IDE 1164 #define IDC_COMBO_ZIP_CHANNEL_IDE 1164
#define IDC_CHECK250 1165 #define IDC_CHECK250 1165
#define IDC_SLIDER_MAIN 1180 /* sound gain dialog */ #define IDC_SLIDER_GAIN 1180 /* sound gain dialog */
#define IDC_SLIDER_CD 1181
#define IDC_SLIDER_MIDI 1182
#define IDC_EDIT_FILE_NAME 1190 /* new floppy image dialog */ #define IDC_EDIT_FILE_NAME 1190 /* new floppy image dialog */
#define IDC_COMBO_DISK_SIZE 1191 #define IDC_COMBO_DISK_SIZE 1191
@@ -240,6 +236,7 @@
#define IDM_CONFIG_LOAD 40021 #define IDM_CONFIG_LOAD 40021
#define IDM_CONFIG_SAVE 40022 #define IDM_CONFIG_SAVE 40022
#define IDM_STATUS 40030 #define IDM_STATUS 40030
#define IDM_UPDATE_ICONS 40040
#define IDM_VID_RESIZE 40050 #define IDM_VID_RESIZE 40050
#define IDM_VID_REMEMBER 40051 #define IDM_VID_REMEMBER 40051
#define IDM_VID_DDRAW 40060 #define IDM_VID_DDRAW 40060

View File

@@ -8,7 +8,7 @@
* *
* Handle the sound gain dialog. * Handle the sound gain dialog.
* *
* Version: @(#)win_snd_gain.c 1.0.0 2018/01/17 * Version: @(#)win_snd_gain.c 1.0.1 2018/02/10
* *
* Authors: Miran Grca, <mgrca8@gmail.com> * Authors: Miran Grca, <mgrca8@gmail.com>
* *
@@ -32,7 +32,7 @@
#include "win.h" #include "win.h"
static uint8_t old_gain[3]; static uint8_t old_gain;
#ifdef __amd64__ #ifdef __amd64__
@@ -43,43 +43,34 @@ static BOOL CALLBACK
SoundGainDialogProcedure(HWND hdlg, UINT message, WPARAM wParam, LPARAM lParam) SoundGainDialogProcedure(HWND hdlg, UINT message, WPARAM wParam, LPARAM lParam)
{ {
HWND h; HWND h;
int i;
switch (message) { switch (message) {
case WM_INITDIALOG: case WM_INITDIALOG:
plat_pause(1); old_gain = sound_gain;
for (i = 0; i < 3; i++) { h = GetDlgItem(hdlg, IDC_SLIDER_GAIN);
old_gain[i] = sound_gain[i];
h = GetDlgItem(hdlg, IDC_SLIDER_MAIN + i);
SendMessage(h, TBM_SETRANGE, (WPARAM)1, (LPARAM)MAKELONG(0, 9)); SendMessage(h, TBM_SETRANGE, (WPARAM)1, (LPARAM)MAKELONG(0, 9));
SendMessage(h, TBM_SETPOS, (WPARAM)1, 9 - (sound_gain[i] >> 1)); SendMessage(h, TBM_SETPOS, (WPARAM)1, 9 - (sound_gain >> 1));
SendMessage(h, TBM_SETTICFREQ, (WPARAM)1, 0); SendMessage(h, TBM_SETTICFREQ, (WPARAM)1, 0);
SendMessage(h, TBM_SETLINESIZE, (WPARAM)0, 1); SendMessage(h, TBM_SETLINESIZE, (WPARAM)0, 1);
SendMessage(h, TBM_SETPAGESIZE, (WPARAM)0, 2); SendMessage(h, TBM_SETPAGESIZE, (WPARAM)0, 2);
}
break; break;
case WM_VSCROLL: case WM_VSCROLL:
for (i = 0; i < 3; i++) { h = GetDlgItem(hdlg, IDC_SLIDER_GAIN);
h = GetDlgItem(hdlg, IDC_SLIDER_MAIN + i); sound_gain = (9 - SendMessage(h, TBM_GETPOS, (WPARAM)0, 0)) << 1;
sound_gain[i] = (9 - SendMessage(h, TBM_GETPOS, (WPARAM)0, 0)) << 1;
}
break; break;
case WM_COMMAND: case WM_COMMAND:
switch (LOWORD(wParam)) { switch (LOWORD(wParam)) {
case IDOK: case IDOK:
for (i = 0; i < 3; i++) { h = GetDlgItem(hdlg, IDC_SLIDER_GAIN);
h = GetDlgItem(hdlg, IDC_SLIDER_MAIN + i); sound_gain = (9 - SendMessage(h, TBM_GETPOS, (WPARAM)0, 0)) << 1;
sound_gain[i] = (9 - SendMessage(h, TBM_GETPOS, (WPARAM)0, 0)) << 1;
}
config_save(); config_save();
EndDialog(hdlg, 0); EndDialog(hdlg, 0);
return TRUE; return TRUE;
case IDCANCEL: case IDCANCEL:
for (i = 0; i < 3; i++) sound_gain = old_gain;
sound_gain[i] = old_gain[i];
config_save(); config_save();
EndDialog(hdlg, 0); EndDialog(hdlg, 0);
return TRUE; return TRUE;

View File

@@ -8,7 +8,7 @@
* *
* Implement the application's Status Bar. * Implement the application's Status Bar.
* *
* Version: @(#)win_stbar.c 1.0.13 2018/02/06 * Version: @(#)win_stbar.c 1.0.14 2018/02/11
* *
* Authors: Miran Grca, <mgrca8@gmail.com> * Authors: Miran Grca, <mgrca8@gmail.com>
* Fred N. van Kempen, <decwiz@yahoo.com> * Fred N. van Kempen, <decwiz@yahoo.com>
@@ -55,6 +55,7 @@
HWND hwndSBAR; HWND hwndSBAR;
int update_icons = 1;
static LONG_PTR OriginalProcedure; static LONG_PTR OriginalProcedure;
@@ -277,6 +278,9 @@ ui_sb_update_icon(int tag, int active)
int temp_flags = 0; int temp_flags = 0;
int found; int found;
if (!update_icons)
return;
if (((tag & 0xf0) >= SB_TEXT) || !sb_ready || (sb_parts == 0) || (sb_icon_flags == NULL) || (sb_part_icons == NULL)) { if (((tag & 0xf0) >= SB_TEXT) || !sb_ready || (sb_parts == 0) || (sb_icon_flags == NULL) || (sb_part_icons == NULL)) {
return; return;
} }

View File

@@ -8,7 +8,7 @@
* *
* user Interface module for WinAPI on Windows. * user Interface module for WinAPI on Windows.
* *
* Version: @(#)win_ui.c 1.0.17 2018/02/09 * Version: @(#)win_ui.c 1.0.18 2018/02/11
* *
* Authors: Sarah Walker, <http://pcem-emulator.co.uk/> * Authors: Sarah Walker, <http://pcem-emulator.co.uk/>
* Miran Grca, <mgrca8@gmail.com> * Miran Grca, <mgrca8@gmail.com>
@@ -135,6 +135,8 @@ ResetAllMenus(void)
CheckMenuItem(menuMain, IDM_ACTION_RCTRL_IS_LALT, MF_UNCHECKED); CheckMenuItem(menuMain, IDM_ACTION_RCTRL_IS_LALT, MF_UNCHECKED);
CheckMenuItem(menuMain, IDM_UPDATE_ICONS, MF_UNCHECKED);
#ifdef ENABLE_LOG_TOGGLES #ifdef ENABLE_LOG_TOGGLES
# ifdef ENABLE_BUSLOGIC_LOG # ifdef ENABLE_BUSLOGIC_LOG
CheckMenuItem(menuMain, IDM_LOG_BUSLOGIC, MF_UNCHECKED); CheckMenuItem(menuMain, IDM_LOG_BUSLOGIC, MF_UNCHECKED);
@@ -195,6 +197,8 @@ ResetAllMenus(void)
CheckMenuItem(menuMain, IDM_ACTION_RCTRL_IS_LALT, rctrl_is_lalt ? MF_CHECKED : MF_UNCHECKED); CheckMenuItem(menuMain, IDM_ACTION_RCTRL_IS_LALT, rctrl_is_lalt ? MF_CHECKED : MF_UNCHECKED);
CheckMenuItem(menuMain, IDM_UPDATE_ICONS, update_icons ? MF_CHECKED : MF_UNCHECKED);
#ifdef ENABLE_LOG_TOGGLES #ifdef ENABLE_LOG_TOGGLES
# ifdef ENABLE_BUSLOGIC_LOG # ifdef ENABLE_BUSLOGIC_LOG
CheckMenuItem(menuMain, IDM_LOG_BUSLOGIC, buslogic_do_log?MF_CHECKED:MF_UNCHECKED); CheckMenuItem(menuMain, IDM_LOG_BUSLOGIC, buslogic_do_log?MF_CHECKED:MF_UNCHECKED);
@@ -330,6 +334,12 @@ MainWindowProcedure(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
StatusWindowCreate(hwnd); StatusWindowCreate(hwnd);
break; break;
case IDM_UPDATE_ICONS:
update_icons ^= 1;
CheckMenuItem(hmenu, IDM_UPDATE_ICONS, update_icons ? MF_CHECKED : MF_UNCHECKED);
config_save();
break;
case IDM_VID_RESIZE: case IDM_VID_RESIZE:
vid_resize = !vid_resize; vid_resize = !vid_resize;
CheckMenuItem(hmenu, IDM_VID_RESIZE, (vid_resize)? MF_CHECKED : MF_UNCHECKED); CheckMenuItem(hmenu, IDM_VID_RESIZE, (vid_resize)? MF_CHECKED : MF_UNCHECKED);