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 @@
*
* 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>
* Fred N. van Kempen, <decwiz@yahoo.com>
@@ -120,6 +120,8 @@ BEGIN
MENUITEM SEPARATOR
MENUITEM "S&tatus", IDM_STATUS
MENUITEM "Take s&creenshot\tCtrl+F11", IDM_ACTION_SCREENSHOT
MENUITEM SEPARATOR
MENUITEM "&Update status bar icons", IDM_UPDATE_ICONS
END
#if defined(ENABLE_LOG_TOGGLES) || defined(ENABLE_LOG_COMMANDS)
POPUP "&Logging"
@@ -237,22 +239,16 @@ BEGIN
LTEXT "1",IDT_STEXT,16,186,180,1000
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
CAPTION "Sound Gain"
FONT 8, "MS Sans Serif"
BEGIN
DEFPUSHBUTTON "OK",IDOK,117,7,50,14
PUSHBUTTON "Cancel",IDCANCEL,117,24,50,14
CONTROL "Main",IDC_SLIDER_MAIN,"msctls_trackbar32",TBS_VERT |
DEFPUSHBUTTON "OK",IDOK,57,7,50,14
PUSHBUTTON "Cancel",IDCANCEL,57,24,50,14
CONTROL "Gain",IDC_SLIDER_GAIN,"msctls_trackbar32",TBS_VERT |
TBS_BOTH | TBS_AUTOTICKS | WS_TABSTOP,15,20,20,109
CONTROL "CD",IDC_SLIDER_CD,"msctls_trackbar32",TBS_VERT |
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
CTEXT "Gain",IDT_1746,16,7,32,9,SS_CENTERIMAGE
END
DLG_NEW_FLOPPY DIALOG DISCARDABLE 0, 0, 226, 86

View File

@@ -8,7 +8,7 @@
#
# 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>
# Fred N. van Kempen, <decwiz@yahoo.com>
@@ -216,7 +216,7 @@ else
endif
endif
endif
AFLAGS := -fomit-frame-pointer -msse2 -mfpmath=sse -mstackrealign -fno-strict-aliasing
AFLAGS := -msse2 -mfpmath=sse
RFLAGS := --input-format=rc -O coff
ifeq ($(RELEASE), y)
OPTS += -DRELEASE_BUILD
@@ -346,6 +346,7 @@ endif
ifeq ($(STEALTH32), y)
OPTS += -DUSE_STEALTH32
DEVBROBJ += vid_icd2061.o
endif
endif
@@ -359,12 +360,14 @@ endif
# Final versions of the toolchain flags.
CFLAGS := $(WX_FLAGS) $(OPTS) $(DFLAGS) $(COPTIM) $(AOPTIM) \
$(AFLAGS) -fomit-frame-pointer -mstackrealign -Wall
CXXFLAGS := $(WX_FLAGS) $(OPTS) $(DFLAGS) $(COPTIM) $(AOPTIM) \
$(AFLAGS) -fno-strict-aliasing -fvisibility=hidden \
-Wall -Wundef -fvisibility-inlines-hidden \
-Wunused-parameter -Wno-ctor-dtor-privacy \
-Woverloaded-virtual
$(AFLAGS) -fomit-frame-pointer -mstackrealign -Wall \
-fno-strict-aliasing -flto
CFLAGS := $(CFLAGS)
# CXXFLAGS := $(WX_FLAGS) $(OPTS) $(DFLAGS) $(COPTIM) $(AOPTIM) \
# $(AFLAGS) -fno-strict-aliasing -fvisibility=hidden \
# -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 \
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) \
intel.o intel_flash.o intel_piix.o intel_piix4.o intel_sio.o
device.o nvr.o nvr_at.o nvr_ps2.o $(VNCOBJ) $(RDPOBJ)
INTELOBJ := intel.o \
intel_flash.o \
intel_sio.o \
intel_piix.o intel_piix4.o
CPUOBJ := cpu.o cpu_table.o \
808x.o 386.o x86seg.o x87.o \
386_dynarec.o $(DYNARECOBJ)
808x.o 386.o 386_dynarec.o \
x86seg.o x87.o \
$(DYNARECOBJ)
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_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_t3100e.o \
m_ps1.o \
m_ps2_isa.o m_ps2_mca.o \
m_at_opti495.o m_at_scat.o \
m_at_compaq.o m_at_wd76c10.o \
m_at_sis_85c471.o m_at_sis_85c496.o \
m_at_430lx_nx.o m_at_430fx.o \
m_at_430hx.o m_at_430vx.o \
m_pcjr.o m_ps1.o m_ps2_isa.o m_ps2_mca.o
m_at_430hx.o m_at_430vx.o
DEVOBJ := bugger.o lpt.o $(SERIAL) \
sio_detect.o \
sio_fdc37c66x.o sio_fdc37c669.o sio_fdc37c93x.o \
sio_pc87306.o sio_w83877f.o sio_um8669f.o \
keyboard.o \
@@ -403,8 +414,8 @@ DEVOBJ := bugger.o lpt.o $(SERIAL) \
joystick_standard.o joystick_ch_flightstick_pro.o \
joystick_sw_pad.o joystick_tm_fcs.o \
mouse.o \
mouse_serial.o mouse_ps2.o mouse_bus.o \
zip.o
mouse_bus.o \
mouse_serial.o mouse_ps2.o
FDDOBJ := fdd.o fdc.o fdi2raw.o \
fdd_common.o fdd_86f.o \
@@ -414,12 +425,16 @@ FDDOBJ := fdd.o fdc.o fdi2raw.o \
HDDOBJ := hdd.o \
hdd_image.o hdd_table.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 \
cdrom_dosbox.o cdrom_image.o cdrom_null.o
ZIPOBJ := zip.o
ifeq ($(USB), y)
USBOBJ := usb.o
endif
@@ -441,6 +456,7 @@ NETOBJ := network.o \
SNDOBJ := sound.o \
openal.o \
snd_opl.o snd_dbopl.o \
dbopl.o nukedopl.o \
snd_resid.o \
convolve.o convolve-sse.o envelope.o extfilt.o \
@@ -454,10 +470,12 @@ SNDOBJ := sound.o \
snd_pssj.o \
snd_lpt_dac.o snd_lpt_dss.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_emu8k.o snd_gus.o snd_opl.o \
snd_mpu401.o \
snd_sn76489.o snd_ssi2001.o snd_wss.o \
snd_cms.o \
snd_gus.o \
snd_sb.o snd_sb_dsp.o \
snd_emu8k.o snd_mpu401.o \
snd_sn76489.o snd_ssi2001.o \
snd_wss.o \
snd_ym7128.o
VIDOBJ := video.o \
@@ -465,25 +483,28 @@ VIDOBJ := video.o \
vid_cga.o vid_cga_comp.o \
vid_compaq_cga.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_colorplus.o \
vid_genius.o \
vid_t3100e.o \
vid_s3.o vid_s3_virge.o \
vid_et4000.o vid_et4000w32.o vid_icd2061.o \
vid_wy700.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_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_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
PLATOBJ := win.o \
@@ -491,8 +512,8 @@ PLATOBJ := win.o \
win_cdrom.o win_cdrom_ioctl.o win_keyboard.o \
win_mouse.o win_joystick.o win_midi.o
OBJ := $(MAINOBJ) $(CPUOBJ) $(MCHOBJ) $(DEVOBJ) \
$(FDDOBJ) $(CDROMOBJ) $(HDDOBJ) \
OBJ := $(MAINOBJ) $(INTELOBJ) $(CPUOBJ) $(MCHOBJ) $(DEVOBJ) \
$(FDDOBJ) $(CDROMOBJ) $(ZIPOBJ) $(HDDOBJ) \
$(USBOBJ) $(NETOBJ) $(SCSIOBJ) $(SNDOBJ) $(VIDOBJ) \
$(PLATOBJ) $(UIOBJ) $(DEVBROBJ)
ifdef EXOBJ

View File

@@ -8,7 +8,7 @@
*
* 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/>
* Miran Grca, <mgrca8@gmail.com>
@@ -80,9 +80,7 @@
#define IDT_1743 1743 /* Channel: */
#define IDT_STEXT 1744 /* text in status window */
#define IDT_SDEVICE 1745 /* text in status window */
#define IDT_1746 1746 /* Main */
#define IDT_1747 1747 /* CD */
#define IDT_1748 1748 /* MIDI */
#define IDT_1746 1746 /* Gain */
#define IDT_1749 1749 /* File name: */
#define IDT_1750 1750 /* Disk size: */
#define IDT_1751 1751 /* RPM mode: */
@@ -198,9 +196,7 @@
#define IDC_COMBO_ZIP_CHANNEL_IDE 1164
#define IDC_CHECK250 1165
#define IDC_SLIDER_MAIN 1180 /* sound gain dialog */
#define IDC_SLIDER_CD 1181
#define IDC_SLIDER_MIDI 1182
#define IDC_SLIDER_GAIN 1180 /* sound gain dialog */
#define IDC_EDIT_FILE_NAME 1190 /* new floppy image dialog */
#define IDC_COMBO_DISK_SIZE 1191
@@ -240,6 +236,7 @@
#define IDM_CONFIG_LOAD 40021
#define IDM_CONFIG_SAVE 40022
#define IDM_STATUS 40030
#define IDM_UPDATE_ICONS 40040
#define IDM_VID_RESIZE 40050
#define IDM_VID_REMEMBER 40051
#define IDM_VID_DDRAW 40060

View File

@@ -8,7 +8,7 @@
*
* 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>
*
@@ -32,7 +32,7 @@
#include "win.h"
static uint8_t old_gain[3];
static uint8_t old_gain;
#ifdef __amd64__
@@ -43,43 +43,34 @@ static BOOL CALLBACK
SoundGainDialogProcedure(HWND hdlg, UINT message, WPARAM wParam, LPARAM lParam)
{
HWND h;
int i;
switch (message) {
case WM_INITDIALOG:
plat_pause(1);
for (i = 0; i < 3; i++) {
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_SETPOS, (WPARAM)1, 9 - (sound_gain[i] >> 1));
SendMessage(h, TBM_SETTICFREQ, (WPARAM)1, 0);
SendMessage(h, TBM_SETLINESIZE, (WPARAM)0, 1);
SendMessage(h, TBM_SETPAGESIZE, (WPARAM)0, 2);
}
old_gain = sound_gain;
h = GetDlgItem(hdlg, IDC_SLIDER_GAIN);
SendMessage(h, TBM_SETRANGE, (WPARAM)1, (LPARAM)MAKELONG(0, 9));
SendMessage(h, TBM_SETPOS, (WPARAM)1, 9 - (sound_gain >> 1));
SendMessage(h, TBM_SETTICFREQ, (WPARAM)1, 0);
SendMessage(h, TBM_SETLINESIZE, (WPARAM)0, 1);
SendMessage(h, TBM_SETPAGESIZE, (WPARAM)0, 2);
break;
case WM_VSCROLL:
for (i = 0; i < 3; i++) {
h = GetDlgItem(hdlg, IDC_SLIDER_MAIN + i);
sound_gain[i] = (9 - SendMessage(h, TBM_GETPOS, (WPARAM)0, 0)) << 1;
}
h = GetDlgItem(hdlg, IDC_SLIDER_GAIN);
sound_gain = (9 - SendMessage(h, TBM_GETPOS, (WPARAM)0, 0)) << 1;
break;
case WM_COMMAND:
switch (LOWORD(wParam)) {
case IDOK:
for (i = 0; i < 3; i++) {
h = GetDlgItem(hdlg, IDC_SLIDER_MAIN + i);
sound_gain[i] = (9 - SendMessage(h, TBM_GETPOS, (WPARAM)0, 0)) << 1;
}
h = GetDlgItem(hdlg, IDC_SLIDER_GAIN);
sound_gain = (9 - SendMessage(h, TBM_GETPOS, (WPARAM)0, 0)) << 1;
config_save();
EndDialog(hdlg, 0);
return TRUE;
case IDCANCEL:
for (i = 0; i < 3; i++)
sound_gain[i] = old_gain[i];
sound_gain = old_gain;
config_save();
EndDialog(hdlg, 0);
return TRUE;

View File

@@ -8,7 +8,7 @@
*
* 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>
* Fred N. van Kempen, <decwiz@yahoo.com>
@@ -55,6 +55,7 @@
HWND hwndSBAR;
int update_icons = 1;
static LONG_PTR OriginalProcedure;
@@ -277,6 +278,9 @@ ui_sb_update_icon(int tag, int active)
int temp_flags = 0;
int found;
if (!update_icons)
return;
if (((tag & 0xf0) >= SB_TEXT) || !sb_ready || (sb_parts == 0) || (sb_icon_flags == NULL) || (sb_part_icons == NULL)) {
return;
}

View File

@@ -8,7 +8,7 @@
*
* 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/>
* Miran Grca, <mgrca8@gmail.com>
@@ -135,6 +135,8 @@ ResetAllMenus(void)
CheckMenuItem(menuMain, IDM_ACTION_RCTRL_IS_LALT, MF_UNCHECKED);
CheckMenuItem(menuMain, IDM_UPDATE_ICONS, MF_UNCHECKED);
#ifdef ENABLE_LOG_TOGGLES
# ifdef ENABLE_BUSLOGIC_LOG
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_UPDATE_ICONS, update_icons ? MF_CHECKED : MF_UNCHECKED);
#ifdef ENABLE_LOG_TOGGLES
# ifdef ENABLE_BUSLOGIC_LOG
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);
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:
vid_resize = !vid_resize;
CheckMenuItem(hmenu, IDM_VID_RESIZE, (vid_resize)? MF_CHECKED : MF_UNCHECKED);