Brought CGA code in line with mainline as the patch was accepted.
Uncommented auto-setting FDC data rate to 250 kbps on non-AT machines; fixes floppies on IBM PC and XT and clones; Removed flto flag from the makefiles, should speed up compile times and make the XT and earlier machines work again; Removed CGA brown and color burst settings in line with mainline PCem.
This commit is contained in:
@@ -2,9 +2,7 @@ VPATH = . dosbox resid-fp slirp
|
|||||||
CPP = g++.exe
|
CPP = g++.exe
|
||||||
CC = gcc.exe
|
CC = gcc.exe
|
||||||
WINDRES = windres.exe
|
WINDRES = windres.exe
|
||||||
KFLAGS = -O2 -flto -ffast-math -msse -msse2 -mfpmath=387 -mstackrealign
|
CFLAGS = -O3 -march=native -mtune=native -fbranch-probabilities -fvpt -funroll-loops -fpeel-loops -ftracer -fomit-frame-pointer -ffast-math -msse -msse2 -msse3 -mssse3 -mfpmath=sse -mstackrealign
|
||||||
CFLAGS = -O3 -march=native -mtune=native -flto -fbranch-probabilities -fvpt -funroll-loops -fpeel-loops -ftracer -fomit-frame-pointer -ffast-math -msse -msse2 -msse3 -mssse3 -mfpmath=sse -mstackrealign
|
|
||||||
BFLAGS = -DRELEASE_BUILD
|
|
||||||
OBJ = 386.o 386_dynarec.o 386_dynarec_ops.o 808x.o acer386sx.o acerm3a.o ali1429.o amstrad.o cdrom-ioctl.o cdrom-iso.o \
|
OBJ = 386.o 386_dynarec.o 386_dynarec_ops.o 808x.o acer386sx.o acerm3a.o ali1429.o amstrad.o cdrom-ioctl.o cdrom-iso.o \
|
||||||
cdrom-null.o codegen.o codegen_ops.o codegen_timing_486.o codegen_timing_686.o codegen_timing_pentium.o codegen_timing_winchip.o codegen_x86.o compaq.o config.o cpu.o dac.o \
|
cdrom-null.o codegen.o codegen_ops.o codegen_timing_486.o codegen_timing_686.o codegen_timing_pentium.o codegen_timing_winchip.o codegen_x86.o compaq.o config.o cpu.o dac.o \
|
||||||
device.o disc.o disc_fdi.o disc_img.o disc_sector.o dma.o fdc.o fdc37c665.o fdc37c932fr.o fdd.o fdi2raw.o gameport.o headland.o i430hx.o i430lx.o i430fx.o \
|
device.o disc.o disc_fdi.o disc_img.o disc_sector.o dma.o fdc.o fdc37c665.o fdc37c932fr.o fdd.o fdi2raw.o gameport.o headland.o i430hx.o i430lx.o i430fx.o \
|
||||||
@@ -15,7 +13,7 @@ OBJ = 386.o 386_dynarec.o 386_dynarec_ops.o 808x.o acer386sx.o acerm3a.o ali1429
|
|||||||
sound_dbopl.o sound_emu8k.o sound_gus.o sound_mpu401_uart.o sound_opl.o sound_pas16.o sound_ps1.o sound_pssj.o sound_resid.o \
|
sound_dbopl.o sound_emu8k.o sound_gus.o sound_mpu401_uart.o sound_opl.o sound_pas16.o sound_ps1.o sound_pssj.o sound_resid.o \
|
||||||
sound_sb.o sound_sb_dsp.o sound_sn76489.o sound_speaker.o sound_ssi2001.o sound_wss.o sound_ym7128.o \
|
sound_sb.o sound_sb_dsp.o sound_sn76489.o sound_speaker.o sound_ssi2001.o sound_wss.o sound_ym7128.o \
|
||||||
soundopenal.o tandy_eeprom.o tandy_rom.o timer.o um8669f.o vid_ati_eeprom.o vid_ati_mach64.o vid_ati18800.o \
|
soundopenal.o tandy_eeprom.o tandy_rom.o timer.o um8669f.o vid_ati_eeprom.o vid_ati_mach64.o vid_ati18800.o \
|
||||||
vid_ati28800.o vid_ati68860_ramdac.o vid_cga.o vid_cga_comp.o vid_cl5429.o vid_ega.o vid_et4000.o \
|
vid_ati28800.o vid_ati68860_ramdac.o vid_cga.o vid_cl5429.o vid_ega.o vid_et4000.o \
|
||||||
vid_et4000w32.o vid_hercules.o vid_icd2061.o vid_ics2595.o vid_incolor.o vid_mda.o \
|
vid_et4000w32.o vid_hercules.o vid_icd2061.o vid_ics2595.o vid_incolor.o vid_mda.o \
|
||||||
vid_olivetti_m24.o vid_oti067.o vid_paradise.o vid_pc1512.o vid_pc1640.o vid_pc200.o \
|
vid_olivetti_m24.o vid_oti067.o vid_paradise.o vid_pc1512.o vid_pc1640.o vid_pc200.o \
|
||||||
vid_pcjr.o vid_ps1_svga.o vid_s3.o vid_s3_virge.o vid_sdac_ramdac.o vid_stg_ramdac.o vid_svga.o \
|
vid_pcjr.o vid_ps1_svga.o vid_s3.o vid_s3_virge.o vid_sdac_ramdac.o vid_stg_ramdac.o vid_svga.o \
|
||||||
@@ -23,15 +21,15 @@ OBJ = 386.o 386_dynarec.o 386_dynarec_ops.o 808x.o acer386sx.o acerm3a.o ali1429
|
|||||||
vid_vga.o vid_voodoo.o video.o w83877f.o wd76c10.o win.o win-config.o win-d3d.o win-d3d-fs.o win-ddraw.o \
|
vid_vga.o vid_voodoo.o video.o w83877f.o wd76c10.o win.o win-config.o win-d3d.o win-d3d-fs.o win-ddraw.o \
|
||||||
win-ddraw-fs.o win-ddraw-screenshot.o win-deviceconfig.o win-hdconf.o win-joystick.o win-joystickconfig.o win-keyboard.o win-midi.o win-mouse.o \
|
win-ddraw-fs.o win-ddraw-screenshot.o win-deviceconfig.o win-hdconf.o win-joystick.o win-joystickconfig.o win-keyboard.o win-midi.o win-mouse.o \
|
||||||
win-status.o win-time.o win-video.o x86seg.o x87.o xtide.o pc.res
|
win-status.o win-time.o win-video.o x86seg.o x87.o xtide.o pc.res
|
||||||
FMOBJ = dbopl.o
|
DBOBJ = dbopl.o vid_cga_comp.o
|
||||||
SIDOBJ = convolve.o convolve-sse.o envelope.o extfilt.o filter.o pot.o sid.o voice.o wave6581__ST.o wave6581_P_T.o wave6581_PS_.o wave6581_PST.o wave8580__ST.o wave8580_P_T.o wave8580_PS_.o wave8580_PST.o wave.o
|
SIDOBJ = convolve.o convolve-sse.o envelope.o extfilt.o filter.o pot.o sid.o voice.o wave6581__ST.o wave6581_P_T.o wave6581_PS_.o wave6581_PST.o wave8580__ST.o wave8580_P_T.o wave8580_PS_.o wave8580_PST.o wave.o
|
||||||
SLIRPOBJ = bootp.o ip_icmp.o misc.o socket.o tcp_timer.o cksum.o ip_input.o queue.o tcp_input.o tftp.o debug.o ip_output.o sbuf.o tcp_output.o udp.o if.o mbuf.o slirp.o tcp_subr.o
|
SLIRPOBJ = bootp.o ip_icmp.o misc.o socket.o tcp_timer.o cksum.o ip_input.o queue.o tcp_input.o tftp.o debug.o ip_output.o sbuf.o tcp_output.o udp.o if.o mbuf.o slirp.o tcp_subr.o
|
||||||
|
|
||||||
|
|
||||||
LIBS = -mwindows -lwinmm -lopenal.dll -lopenal -lddraw -ldinput8 -ldxguid -ld3d9 -ld3dx9 -lwsock32 -liphlpapi -lstdc++ -static-libstdc++ -static-libgcc -static
|
LIBS = -mwindows -lwinmm -lopenal.dll -lopenal -lddraw -ldinput8 -ldxguid -ld3d9 -ld3dx9 -lwsock32 -liphlpapi -lstdc++ -static-libstdc++ -static-libgcc -static
|
||||||
|
|
||||||
PCem.exe: $(OBJ) $(FMOBJ) $(SIDOBJ) $(SLIRPOBJ)
|
PCem.exe: $(OBJ) $(DBOBJ) $(SIDOBJ) $(SLIRPOBJ)
|
||||||
$(CC) $(OBJ) $(FMOBJ) $(SIDOBJ) $(SLIRPOBJ) -o "PCem.exe" $(LIBS)
|
$(CC) $(OBJ) $(DBOBJ) $(SIDOBJ) $(SLIRPOBJ) -o "PCem.exe" $(LIBS)
|
||||||
strip "PCem.exe"
|
strip "PCem.exe"
|
||||||
|
|
||||||
all : PCem.exe
|
all : PCem.exe
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ OBJ = 386.o 386_dynarec.o 386_dynarec_ops.o 808x.o acer386sx.o acerm3a.o ali1429
|
|||||||
sound_dbopl.o sound_emu8k.o sound_gus.o sound_mpu401_uart.o sound_opl.o sound_pas16.o sound_ps1.o sound_pssj.o sound_resid.o \
|
sound_dbopl.o sound_emu8k.o sound_gus.o sound_mpu401_uart.o sound_opl.o sound_pas16.o sound_ps1.o sound_pssj.o sound_resid.o \
|
||||||
sound_sb.o sound_sb_dsp.o sound_sn76489.o sound_speaker.o sound_ssi2001.o sound_wss.o sound_ym7128.o \
|
sound_sb.o sound_sb_dsp.o sound_sn76489.o sound_speaker.o sound_ssi2001.o sound_wss.o sound_ym7128.o \
|
||||||
soundopenal.o tandy_eeprom.o tandy_rom.o timer.o um8669f.o vid_ati_eeprom.o vid_ati_mach64.o vid_ati18800.o \
|
soundopenal.o tandy_eeprom.o tandy_rom.o timer.o um8669f.o vid_ati_eeprom.o vid_ati_mach64.o vid_ati18800.o \
|
||||||
vid_ati28800.o vid_ati68860_ramdac.o vid_cga.o vid_cga_comp.o vid_cl5429.o vid_ega.o vid_et4000.o \
|
vid_ati28800.o vid_ati68860_ramdac.o vid_cga.o vid_cl5429.o vid_ega.o vid_et4000.o \
|
||||||
vid_et4000w32.o vid_hercules.o vid_icd2061.o vid_ics2595.o vid_incolor.o vid_mda.o \
|
vid_et4000w32.o vid_hercules.o vid_icd2061.o vid_ics2595.o vid_incolor.o vid_mda.o \
|
||||||
vid_olivetti_m24.o vid_oti067.o vid_paradise.o vid_pc1512.o vid_pc1640.o vid_pc200.o \
|
vid_olivetti_m24.o vid_oti067.o vid_paradise.o vid_pc1512.o vid_pc1640.o vid_pc200.o \
|
||||||
vid_pcjr.o vid_ps1_svga.o vid_s3.o vid_s3_virge.o vid_sdac_ramdac.o vid_stg_ramdac.o vid_svga.o \
|
vid_pcjr.o vid_ps1_svga.o vid_s3.o vid_s3_virge.o vid_sdac_ramdac.o vid_stg_ramdac.o vid_svga.o \
|
||||||
@@ -21,15 +21,15 @@ OBJ = 386.o 386_dynarec.o 386_dynarec_ops.o 808x.o acer386sx.o acerm3a.o ali1429
|
|||||||
vid_vga.o vid_voodoo.o video.o w83877f.o wd76c10.o win.o win-config.o win-d3d.o win-d3d-fs.o win-ddraw.o \
|
vid_vga.o vid_voodoo.o video.o w83877f.o wd76c10.o win.o win-config.o win-d3d.o win-d3d-fs.o win-ddraw.o \
|
||||||
win-ddraw-fs.o win-ddraw-screenshot.o win-deviceconfig.o win-hdconf.o win-joystick.o win-joystickconfig.o win-keyboard.o win-midi.o win-mouse.o \
|
win-ddraw-fs.o win-ddraw-screenshot.o win-deviceconfig.o win-hdconf.o win-joystick.o win-joystickconfig.o win-keyboard.o win-midi.o win-mouse.o \
|
||||||
win-status.o win-time.o win-video.o x86seg.o x87.o xtide.o pc.res
|
win-status.o win-time.o win-video.o x86seg.o x87.o xtide.o pc.res
|
||||||
FMOBJ = dbopl.o
|
DBOBJ = dbopl.o vid_cga_comp.o
|
||||||
SIDOBJ = convolve.o convolve-sse.o envelope.o extfilt.o filter.o pot.o sid.o voice.o wave6581__ST.o wave6581_P_T.o wave6581_PS_.o wave6581_PST.o wave8580__ST.o wave8580_P_T.o wave8580_PS_.o wave8580_PST.o wave.o
|
SIDOBJ = convolve.o convolve-sse.o envelope.o extfilt.o filter.o pot.o sid.o voice.o wave6581__ST.o wave6581_P_T.o wave6581_PS_.o wave6581_PST.o wave8580__ST.o wave8580_P_T.o wave8580_PS_.o wave8580_PST.o wave.o
|
||||||
SLIRPOBJ = bootp.o ip_icmp.o misc.o socket.o tcp_timer.o cksum.o ip_input.o queue.o tcp_input.o tftp.o debug.o ip_output.o sbuf.o tcp_output.o udp.o if.o mbuf.o slirp.o tcp_subr.o
|
SLIRPOBJ = bootp.o ip_icmp.o misc.o socket.o tcp_timer.o cksum.o ip_input.o queue.o tcp_input.o tftp.o debug.o ip_output.o sbuf.o tcp_output.o udp.o if.o mbuf.o slirp.o tcp_subr.o
|
||||||
|
|
||||||
|
|
||||||
LIBS = -mwindows -lwinmm -lopenal -lddraw -ldinput8 -ldxguid -ld3d9 -ld3dx9 -lwsock32 -liphlpapi -lstdc++ -static-libstdc++ -static-libgcc -static -lopenal.dll -flto -lgcov -lPacket -lwpcap
|
LIBS = -mwindows -lwinmm -lopenal -lddraw -ldinput8 -ldxguid -ld3d9 -ld3dx9 -lwsock32 -liphlpapi -lstdc++ -static-libstdc++ -static-libgcc -static -lopenal.dll -lgcov -lPacket -lwpcap
|
||||||
|
|
||||||
PCem64.exe: $(OBJ) $(FMOBJ) $(SIDOBJ) $(SLIRPOBJ)
|
PCem64.exe: $(OBJ) $(DBOBJ) $(SIDOBJ) $(SLIRPOBJ)
|
||||||
$(CC) $(OBJ) $(FMOBJ) $(SIDOBJ) $(SLIRPOBJ) -o "PCem64.exe" $(LIBS)
|
$(CC) $(OBJ) $(DBOBJ) $(SIDOBJ) $(SLIRPOBJ) -o "PCem64.exe" $(LIBS)
|
||||||
strip "PCem64.exe"
|
strip "PCem64.exe"
|
||||||
|
|
||||||
all : PCem64.exe
|
all : PCem64.exe
|
||||||
|
|||||||
@@ -2,8 +2,7 @@ VPATH = . dosbox resid-fp slirp
|
|||||||
CPP = g++.exe
|
CPP = g++.exe
|
||||||
CC = gcc.exe
|
CC = gcc.exe
|
||||||
WINDRES = windres.exe
|
WINDRES = windres.exe
|
||||||
CFLAGS = -O3 -march=amdfam10 -mtune=amdfam10 -flto -fbranch-probabilities -fvpt -funroll-loops -fpeel-loops -ftracer -fomit-frame-pointer -ffast-math -msse -msse2 -msse3 -mfpmath=sse -mstackrealign
|
CFLAGS = -O3 -march=amdfam10 -mtune=amdfam10 -fbranch-probabilities -fvpt -funroll-loops -fpeel-loops -ftracer -fomit-frame-pointer -ffast-math -msse -msse2 -msse3 -mfpmath=sse -mstackrealign
|
||||||
BFLAGS = -DRELEASE_BUILD
|
|
||||||
OBJ = 386.o 386_dynarec.o 386_dynarec_ops.o 808x.o acer386sx.o acerm3a.o ali1429.o amstrad.o cdrom-ioctl.o cdrom-iso.o \
|
OBJ = 386.o 386_dynarec.o 386_dynarec_ops.o 808x.o acer386sx.o acerm3a.o ali1429.o amstrad.o cdrom-ioctl.o cdrom-iso.o \
|
||||||
cdrom-null.o codegen.o codegen_ops.o codegen_timing_486.o codegen_timing_686.o codegen_timing_pentium.o codegen_timing_winchip.o codegen_x86.o compaq.o config.o cpu.o dac.o \
|
cdrom-null.o codegen.o codegen_ops.o codegen_timing_486.o codegen_timing_686.o codegen_timing_pentium.o codegen_timing_winchip.o codegen_x86.o compaq.o config.o cpu.o dac.o \
|
||||||
device.o disc.o disc_fdi.o disc_img.o disc_sector.o dma.o fdc.o fdc37c665.o fdc37c932fr.o fdd.o fdi2raw.o gameport.o headland.o i430hx.o i430lx.o i430fx.o \
|
device.o disc.o disc_fdi.o disc_img.o disc_sector.o dma.o fdc.o fdc37c665.o fdc37c932fr.o fdd.o fdi2raw.o gameport.o headland.o i430hx.o i430lx.o i430fx.o \
|
||||||
|
|||||||
@@ -5,13 +5,10 @@
|
|||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
|
||||||
#include "ibm.h"
|
#include "../ibm.h"
|
||||||
#include "device.h"
|
#include "../device.h"
|
||||||
#include "io.h"
|
#include "../mem.h"
|
||||||
#include "mem.h"
|
#include "../vid_cga.h"
|
||||||
#include "timer.h"
|
|
||||||
#include "video.h"
|
|
||||||
#include "vid_cga.h"
|
|
||||||
#include "vid_cga_comp.h"
|
#include "vid_cga_comp.h"
|
||||||
|
|
||||||
int CGA_Composite_Table[1024];
|
int CGA_Composite_Table[1024];
|
||||||
@@ -145,24 +142,8 @@ void update_cga16_color(cga_t *cga) {
|
|||||||
video_bi = (int) (bi*iq_adjust_i + bq*iq_adjust_q);
|
video_bi = (int) (bi*iq_adjust_i + bq*iq_adjust_q);
|
||||||
video_bq = (int) (-bi*iq_adjust_q + bq*iq_adjust_i);
|
video_bq = (int) (-bi*iq_adjust_q + bq*iq_adjust_i);
|
||||||
video_sharpness = (int) (sharpness*256/100);
|
video_sharpness = (int) (sharpness*256/100);
|
||||||
|
|
||||||
#if 0
|
|
||||||
df = fopen("CGA_Composite_Table.dmp", "wb");
|
|
||||||
fwrite(CGA_Composite_Table, 1024, sizeof(int), df);
|
|
||||||
fclose(df);
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#if 0
|
|
||||||
void configure_comp(double h, uint8_t n, uint8_t bw, uint8_t b1)
|
|
||||||
{
|
|
||||||
hue_offset = h;
|
|
||||||
new_cga = n;
|
|
||||||
is_bw = bw;
|
|
||||||
is_bpp1 = b1;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
static Bit8u byte_clamp(int v) {
|
static Bit8u byte_clamp(int v) {
|
||||||
v >>= 13;
|
v >>= 13;
|
||||||
return v < 0 ? 0 : (v > 255 ? 255 : v);
|
return v < 0 ? 0 : (v > 255 ? 255 : v);
|
||||||
@@ -216,7 +197,7 @@ Bit8u * Composite_Process(cga_t *cga, Bit8u border, Bit32u blocks/*, bool double
|
|||||||
for (x = 0; x < 5; ++x)
|
for (x = 0; x < 5; ++x)
|
||||||
OUT(b[x&3]);
|
OUT(b[x&3]);
|
||||||
|
|
||||||
if ((cga->cgamode & 4) != 0 || !cga_color_burst) {
|
if ((cga->cgamode & 4) != 0) {
|
||||||
// Decode
|
// Decode
|
||||||
int* i = temp + 5;
|
int* i = temp + 5;
|
||||||
Bit32u* srgb = (Bit32u *)TempLine;
|
Bit32u* srgb = (Bit32u *)TempLine;
|
||||||
@@ -256,18 +237,6 @@ Bit8u * Composite_Process(cga_t *cga, Bit8u border, Bit32u blocks/*, bool double
|
|||||||
#undef COMPOSITE_CONVERT
|
#undef COMPOSITE_CONVERT
|
||||||
#undef OUT
|
#undef OUT
|
||||||
|
|
||||||
#if 0
|
|
||||||
df = fopen("temp.dmp", "ab");
|
|
||||||
fwrite(temp, SCALER_MAXWIDTH + 10, sizeof(int), df);
|
|
||||||
fclose(df);
|
|
||||||
df = fopen("atemp.dmp", "ab");
|
|
||||||
fwrite(atemp, SCALER_MAXWIDTH + 2, sizeof(int), df);
|
|
||||||
fclose(df);
|
|
||||||
df = fopen("btemp.dmp", "ab");
|
|
||||||
fwrite(btemp, SCALER_MAXWIDTH + 2, sizeof(int), df);
|
|
||||||
fclose(df);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
return TempLine;
|
return TempLine;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -343,7 +312,7 @@ void DecreaseSharpness(cga_t *cga)
|
|||||||
|
|
||||||
void cga_comp_init(cga_t *cga)
|
void cga_comp_init(cga_t *cga)
|
||||||
{
|
{
|
||||||
new_cga = (gfxcard == GFX_NEW_CGA);
|
new_cga = cga->revision;
|
||||||
|
|
||||||
/* Making sure this gets reset after reset. */
|
/* Making sure this gets reset after reset. */
|
||||||
brightness = 0;
|
brightness = 0;
|
||||||
@@ -99,13 +99,11 @@ void fdc_reset()
|
|||||||
fdc_set_skip_pulses(1, 0);
|
fdc_set_skip_pulses(1, 0);
|
||||||
fdd_stepping_motor_on[0] = fdd_stepping_motor_on[1] = 0;
|
fdd_stepping_motor_on[0] = fdd_stepping_motor_on[1] = 0;
|
||||||
fdd_track_diff[0] = fdd_track_diff[1] = 0;
|
fdd_track_diff[0] = fdd_track_diff[1] = 0;
|
||||||
#if 0
|
|
||||||
if (!AT)
|
if (!AT)
|
||||||
{
|
{
|
||||||
fdc.rate = 2;
|
fdc.rate = 2;
|
||||||
// fdc_update_rate();
|
// fdc_update_rate();
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
fdc_state = FDC_STATE_NORMAL;
|
fdc_state = FDC_STATE_NORMAL;
|
||||||
// pclog("Reset FDC\n");
|
// pclog("Reset FDC\n");
|
||||||
}
|
}
|
||||||
|
|||||||
4
src/pc.c
4
src/pc.c
@@ -673,8 +673,6 @@ void loadconfig(char *fn)
|
|||||||
|
|
||||||
force_43 = config_get_int(NULL, "force_43", 0);
|
force_43 = config_get_int(NULL, "force_43", 0);
|
||||||
enable_overscan = config_get_int(NULL, "enable_overscan", 0);
|
enable_overscan = config_get_int(NULL, "enable_overscan", 0);
|
||||||
cga_color_burst = config_get_int(NULL, "cga_color_burst", 1);
|
|
||||||
cga_brown = config_get_int(NULL, "cga_brown", 1);
|
|
||||||
enable_flash = config_get_int(NULL, "enable_flash", 1);
|
enable_flash = config_get_int(NULL, "enable_flash", 1);
|
||||||
|
|
||||||
enable_sync = config_get_int(NULL, "enable_sync", 0);
|
enable_sync = config_get_int(NULL, "enable_sync", 0);
|
||||||
@@ -768,8 +766,6 @@ void saveconfig()
|
|||||||
|
|
||||||
config_set_int(NULL, "force_43", force_43);
|
config_set_int(NULL, "force_43", force_43);
|
||||||
config_set_int(NULL, "enable_overscan", enable_overscan);
|
config_set_int(NULL, "enable_overscan", enable_overscan);
|
||||||
config_set_int(NULL, "cga_color_burst", cga_color_burst);
|
|
||||||
config_set_int(NULL, "cga_brown", cga_brown);
|
|
||||||
config_set_int(NULL, "enable_flash", enable_flash);
|
config_set_int(NULL, "enable_flash", enable_flash);
|
||||||
|
|
||||||
config_set_int(NULL, "enable_sync", enable_sync);
|
config_set_int(NULL, "enable_sync", enable_sync);
|
||||||
|
|||||||
31
src/pc.rc
31
src/pc.rc
@@ -57,13 +57,13 @@ BEGIN
|
|||||||
END
|
END
|
||||||
END
|
END
|
||||||
|
|
||||||
ConfigureDlg DIALOGEX 0, 0, 248+40, 248+76
|
ConfigureDlg DIALOGEX 0, 0, 248+40, 248+60
|
||||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||||
CAPTION "Configure PCem"
|
CAPTION "Configure PCem"
|
||||||
FONT 9, "Segoe UI"
|
FONT 9, "Segoe UI"
|
||||||
BEGIN
|
BEGIN
|
||||||
DEFPUSHBUTTON "OK",IDOK,64,300,50,14, WS_TABSTOP
|
DEFPUSHBUTTON "OK",IDOK,64,284,50,14, WS_TABSTOP
|
||||||
PUSHBUTTON "Cancel",IDCANCEL,128,300,50,14, WS_TABSTOP
|
PUSHBUTTON "Cancel",IDCANCEL,128,284,50,14, WS_TABSTOP
|
||||||
COMBOBOX IDC_COMBO1,62,16,157,120,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP
|
COMBOBOX IDC_COMBO1,62,16,157,120,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP
|
||||||
COMBOBOX IDC_COMBOVID,62,36,157,120,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP
|
COMBOBOX IDC_COMBOVID,62,36,157,120,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP
|
||||||
PUSHBUTTON "Configure", IDC_CONFIGUREVID, 224, 36, 40, 14, WS_TABSTOP
|
PUSHBUTTON "Configure", IDC_CONFIGUREVID, 224, 36, 40, 14, WS_TABSTOP
|
||||||
@@ -84,22 +84,19 @@ BEGIN
|
|||||||
CONTROL "Enable time sync",IDC_CHECKSYNC,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,236,102,10
|
CONTROL "Enable time sync",IDC_CHECKSYNC,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,236,102,10
|
||||||
|
|
||||||
CONTROL "Force 4:3 display ratio",IDC_CHECKFORCE43,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,118,172,102,10
|
CONTROL "Force 4:3 display ratio",IDC_CHECKFORCE43,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,118,172,102,10
|
||||||
CONTROL "Composite CGA color burst",IDC_CHECKCBURST,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,118,188,102,10
|
CONTROL "EGA/(S)VGA overscan",IDC_CHECKOVERSCAN,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,118,188,102,10
|
||||||
CONTROL "RGB CGA brown circuit",IDC_CHECKBROWN,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,118,204,102,10
|
CONTROL "Disk activity flash",IDC_CHECKFLASH,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,118,204,102,10
|
||||||
CONTROL "EGA/(S)VGA overscan",IDC_CHECKOVERSCAN,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,118,220,102,10
|
CONTROL "Ser.mouse inst.of PS/2",IDC_CHECKSERIAL,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,118,220,102,10
|
||||||
CONTROL "Disk activity flash",IDC_CHECKFLASH,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,118,236,102,10
|
|
||||||
|
|
||||||
CONTROL "Ser. mouse instead of PS/2",IDC_CHECKSERIAL,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,252,102,10
|
CONTROL "Voodoo Graphics",IDC_CHECKVOODOO,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,118,236,102,10
|
||||||
|
PUSHBUTTON "Configure", IDC_CONFIGUREVOODOO, 224, 236, 40, 14, WS_TABSTOP
|
||||||
|
|
||||||
CONTROL "Voodoo Graphics",IDC_CHECKVOODOO,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,118,252,102,10
|
LTEXT "Joystick :",IDC_STATIC,15,252,40,10
|
||||||
PUSHBUTTON "Configure", IDC_CONFIGUREVOODOO, 224, 252, 40, 14, WS_TABSTOP
|
COMBOBOX IDC_COMBOJOY,62,252,157,120,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP
|
||||||
|
DEFPUSHBUTTON "Joystick 1...",IDC_JOY1,16,268,50,14, WS_TABSTOP
|
||||||
LTEXT "Joystick :",IDC_STATIC,15,268,40,10
|
PUSHBUTTON "Joystick 2...",IDC_JOY2,80,268,50,14, WS_TABSTOP
|
||||||
COMBOBOX IDC_COMBOJOY,62,268,157,120,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP
|
DEFPUSHBUTTON "Joystick 3...",IDC_JOY3,144,268,50,14, WS_TABSTOP
|
||||||
DEFPUSHBUTTON "Joystick 1...",IDC_JOY1,16,284,50,14, WS_TABSTOP
|
PUSHBUTTON "Joystick 4...",IDC_JOY4,208,268,50,14, WS_TABSTOP
|
||||||
PUSHBUTTON "Joystick 2...",IDC_JOY2,80,284,50,14, WS_TABSTOP
|
|
||||||
DEFPUSHBUTTON "Joystick 3...",IDC_JOY3,144,284,50,14, WS_TABSTOP
|
|
||||||
PUSHBUTTON "Joystick 4...",IDC_JOY4,208,284,50,14, WS_TABSTOP
|
|
||||||
|
|
||||||
LTEXT "Machine :",IDC_STATIC,15,16,40,10
|
LTEXT "Machine :",IDC_STATIC,15,16,40,10
|
||||||
LTEXT "Video :",IDC_STATIC,15,36,34,10
|
LTEXT "Video :",IDC_STATIC,15,36,34,10
|
||||||
|
|||||||
@@ -51,11 +51,9 @@
|
|||||||
#define IDC_STATIC 1020
|
#define IDC_STATIC 1020
|
||||||
#define IDC_CHECKFORCE43 1021
|
#define IDC_CHECKFORCE43 1021
|
||||||
#define IDC_CHECKOVERSCAN 1022
|
#define IDC_CHECKOVERSCAN 1022
|
||||||
#define IDC_CHECKCBURST 1023
|
#define IDC_CHECKFLASH 1023
|
||||||
#define IDC_CHECKBROWN 1024
|
#define IDC_CHECKSYNC 1024
|
||||||
#define IDC_CHECKFLASH 1025
|
#define IDC_CHECKSERIAL 1025
|
||||||
#define IDC_CHECKSYNC 1026
|
|
||||||
#define IDC_CHECKSERIAL 1027
|
|
||||||
#define IDC_EDIT1 1030
|
#define IDC_EDIT1 1030
|
||||||
#define IDC_EDIT2 1031
|
#define IDC_EDIT2 1031
|
||||||
#define IDC_EDIT3 1032
|
#define IDC_EDIT3 1032
|
||||||
|
|||||||
129
src/vid_cga.c
129
src/vid_cga.c
@@ -8,14 +8,13 @@
|
|||||||
#include "timer.h"
|
#include "timer.h"
|
||||||
#include "video.h"
|
#include "video.h"
|
||||||
#include "vid_cga.h"
|
#include "vid_cga.h"
|
||||||
#include "vid_cga_comp.h"
|
#include "dosbox/vid_cga_comp.h"
|
||||||
|
|
||||||
static int i_filt[8],q_filt[8];
|
#define CGA_RGB 0
|
||||||
|
#define CGA_COMPOSITE 1
|
||||||
|
|
||||||
static uint8_t tarray[65536];
|
#define COMPOSITE_OLD 0
|
||||||
|
#define COMPOSITE_NEW 1
|
||||||
int cga_brown;
|
|
||||||
int cga_color_burst;
|
|
||||||
|
|
||||||
static uint8_t crtcmask[32] =
|
static uint8_t crtcmask[32] =
|
||||||
{
|
{
|
||||||
@@ -48,7 +47,8 @@ void cga_out(uint16_t addr, uint8_t val, void *p)
|
|||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
case 0x3D8:
|
case 0x3D8:
|
||||||
if (((cga->cgamode ^ val) & 5) != 0) {
|
if (((cga->cgamode ^ val) & 5) != 0)
|
||||||
|
{
|
||||||
cga->cgamode = val;
|
cga->cgamode = val;
|
||||||
update_cga16_color(cga);
|
update_cga16_color(cga);
|
||||||
}
|
}
|
||||||
@@ -80,9 +80,6 @@ void cga_write(uint32_t addr, uint8_t val, void *p)
|
|||||||
{
|
{
|
||||||
cga_t *cga = (cga_t *)p;
|
cga_t *cga = (cga_t *)p;
|
||||||
// pclog("CGA_WRITE %04X %02X\n", addr, val);
|
// pclog("CGA_WRITE %04X %02X\n", addr, val);
|
||||||
/* Horrible hack, I know, but it's the only way to fix the 440FX BIOS filling the VRAM with garbage until Tom fixes the memory emulation. */
|
|
||||||
if ((cs == 0xE0000) && (cpu_state.pc == 0xBF2F) && (romset == ROM_440FX)) { egawrites++; return; }
|
|
||||||
if ((cs == 0xE0000) && (cpu_state.pc == 0xBF77) && (romset == ROM_440FX)) { egawrites++; return; }
|
|
||||||
cga->vram[addr & 0x3fff] = val;
|
cga->vram[addr & 0x3fff] = val;
|
||||||
cga->charbuffer[ ((int)(((cga->dispontime - cga->vidtime) * 2) / CGACONST)) & 0xfc] = val;
|
cga->charbuffer[ ((int)(((cga->dispontime - cga->vidtime) * 2) / CGACONST)) & 0xfc] = val;
|
||||||
cga->charbuffer[(((int)(((cga->dispontime - cga->vidtime) * 2) / CGACONST)) & 0xfc) | 1] = val;
|
cga->charbuffer[(((int)(((cga->dispontime - cga->vidtime) * 2) / CGACONST)) & 0xfc) | 1] = val;
|
||||||
@@ -125,18 +122,6 @@ void cga_recalctimings(cga_t *cga)
|
|||||||
cga->dispofftime = (int)(_dispofftime * (1 << TIMER_SHIFT));
|
cga->dispofftime = (int)(_dispofftime * (1 << TIMER_SHIFT));
|
||||||
}
|
}
|
||||||
|
|
||||||
static int ntsc_col[8][8]=
|
|
||||||
{
|
|
||||||
{0,0,0,0,0,0,0,0}, /*Black*/
|
|
||||||
{0,0,1,1,1,1,0,0}, /*Blue*/
|
|
||||||
{1,0,0,0,0,1,1,1}, /*Green*/
|
|
||||||
{0,0,0,0,1,1,1,1}, /*Cyan*/
|
|
||||||
{1,1,1,1,0,0,0,0}, /*Red*/
|
|
||||||
{0,1,1,1,1,0,0,0}, /*Magenta*/
|
|
||||||
{1,1,0,0,0,0,1,1}, /*Yellow*/
|
|
||||||
{1,1,1,1,1,1,1,1} /*White*/
|
|
||||||
};
|
|
||||||
|
|
||||||
void cga_poll(void *p)
|
void cga_poll(void *p)
|
||||||
{
|
{
|
||||||
cga_t *cga = (cga_t *)p;
|
cga_t *cga = (cga_t *)p;
|
||||||
@@ -149,11 +134,7 @@ void cga_poll(void *p)
|
|||||||
int cols[4];
|
int cols[4];
|
||||||
int col;
|
int col;
|
||||||
int oldsc;
|
int oldsc;
|
||||||
int y_buf[8] = {0, 0, 0, 0, 0, 0, 0, 0}, y_val, y_tot;
|
|
||||||
int i_buf[8] = {0, 0, 0, 0, 0, 0, 0, 0}, i_val, i_tot;
|
|
||||||
int q_buf[8] = {0, 0, 0, 0, 0, 0, 0, 0}, q_val, q_tot;
|
|
||||||
int r, g, b;
|
|
||||||
uint8_t *tline;
|
|
||||||
if (!cga->linepos)
|
if (!cga->linepos)
|
||||||
{
|
{
|
||||||
cga->vidtime += cga->dispofftime;
|
cga->vidtime += cga->dispofftime;
|
||||||
@@ -307,21 +288,12 @@ void cga_poll(void *p)
|
|||||||
if (cga->cgamode & 1) x = (cga->crtc[1] << 3) + 16;
|
if (cga->cgamode & 1) x = (cga->crtc[1] << 3) + 16;
|
||||||
else x = (cga->crtc[1] << 4) + 16;
|
else x = (cga->crtc[1] << 4) + 16;
|
||||||
|
|
||||||
if (cga_comp)
|
if (cga->composite)
|
||||||
{
|
{
|
||||||
tline = (uint8_t *) buffer32->line[cga->displine];
|
|
||||||
|
|
||||||
for (c = 0; c < x; c++)
|
for (c = 0; c < x; c++)
|
||||||
{
|
buffer32->line[cga->displine][c] = buffer->line[cga->displine][c] & 0xf;
|
||||||
tarray[c] = buffer->line[cga->displine][c] & 0xf;
|
|
||||||
}
|
|
||||||
|
|
||||||
Composite_Process(cga, 0, x >> 2, tarray);
|
Composite_Process(cga, 0, x >> 2, buffer32->line[cga->displine]);
|
||||||
|
|
||||||
for (c = 0; c < x; c++)
|
|
||||||
{
|
|
||||||
((uint32_t *) tline)[c] = ((uint32_t *) tarray)[c];
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
cga->sc = oldsc;
|
cga->sc = oldsc;
|
||||||
@@ -386,7 +358,6 @@ void cga_poll(void *p)
|
|||||||
{
|
{
|
||||||
cga->cgadispon = 0;
|
cga->cgadispon = 0;
|
||||||
cga->displine = 0;
|
cga->displine = 0;
|
||||||
// cga->vsynctime = (cga->crtc[3] >> 4) + 1;
|
|
||||||
cga->vsynctime = 16;
|
cga->vsynctime = 16;
|
||||||
if (cga->crtc[7])
|
if (cga->crtc[7])
|
||||||
{
|
{
|
||||||
@@ -403,7 +374,7 @@ void cga_poll(void *p)
|
|||||||
}
|
}
|
||||||
|
|
||||||
startblit();
|
startblit();
|
||||||
if (cga_comp)
|
if (cga->composite)
|
||||||
video_blit_memtoscreen(0, cga->firstline - 4, 0, (cga->lastline - cga->firstline) + 8, xsize, (cga->lastline - cga->firstline) + 8);
|
video_blit_memtoscreen(0, cga->firstline - 4, 0, (cga->lastline - cga->firstline) + 8, xsize, (cga->lastline - cga->firstline) + 8);
|
||||||
else
|
else
|
||||||
video_blit_memtoscreen_8(0, cga->firstline - 4, xsize, (cga->lastline - cga->firstline) + 8);
|
video_blit_memtoscreen_8(0, cga->firstline - 4, xsize, (cga->lastline - cga->firstline) + 8);
|
||||||
@@ -445,7 +416,8 @@ endblit();
|
|||||||
cga->sc &= 31;
|
cga->sc &= 31;
|
||||||
cga->ma = cga->maback;
|
cga->ma = cga->maback;
|
||||||
}
|
}
|
||||||
if (cga->cgadispon) cga->cgastat &= ~1;
|
if (cga->cgadispon)
|
||||||
|
cga->cgastat &= ~1;
|
||||||
if ((cga->sc == (cga->crtc[10] & 31) || ((cga->crtc[8] & 3) == 3 && cga->sc == ((cga->crtc[10] & 31) >> 1))))
|
if ((cga->sc == (cga->crtc[10] & 31) || ((cga->crtc[8] & 3) == 3 && cga->sc == ((cga->crtc[10] & 31) >> 1))))
|
||||||
cga->con = 1;
|
cga->con = 1;
|
||||||
if (cga->cgadispon && (cga->cgamode & 1))
|
if (cga->cgadispon && (cga->cgamode & 1))
|
||||||
@@ -458,15 +430,19 @@ endblit();
|
|||||||
|
|
||||||
void cga_init(cga_t *cga)
|
void cga_init(cga_t *cga)
|
||||||
{
|
{
|
||||||
|
cga->composite = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void *cga_standalone_init()
|
void *cga_standalone_init()
|
||||||
{
|
{
|
||||||
int c;
|
int display_type;
|
||||||
int cga_tint = -2;
|
|
||||||
cga_t *cga = malloc(sizeof(cga_t));
|
cga_t *cga = malloc(sizeof(cga_t));
|
||||||
memset(cga, 0, sizeof(cga_t));
|
memset(cga, 0, sizeof(cga_t));
|
||||||
|
|
||||||
|
display_type = device_get_config_int("display_type");
|
||||||
|
cga->composite = (display_type != CGA_RGB);
|
||||||
|
cga->revision = device_get_config_int("composite_type");
|
||||||
|
|
||||||
cga->vram = malloc(0x4000);
|
cga->vram = malloc(0x4000);
|
||||||
|
|
||||||
cga_comp_init(cga);
|
cga_comp_init(cga);
|
||||||
@@ -474,11 +450,6 @@ void *cga_standalone_init()
|
|||||||
mem_mapping_add(&cga->mapping, 0xb8000, 0x08000, cga_read, NULL, NULL, cga_write, NULL, NULL, NULL, 0, cga);
|
mem_mapping_add(&cga->mapping, 0xb8000, 0x08000, cga_read, NULL, NULL, cga_write, NULL, NULL, NULL, 0, cga);
|
||||||
io_sethandler(0x03d0, 0x0010, cga_in, NULL, NULL, cga_out, NULL, NULL, cga);
|
io_sethandler(0x03d0, 0x0010, cga_in, NULL, NULL, cga_out, NULL, NULL, cga);
|
||||||
|
|
||||||
for (c = 0; c < 8192; c++)
|
|
||||||
{
|
|
||||||
((uint64_t *) tarray)[c] = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
overscan_x = overscan_y = 16;
|
overscan_x = overscan_y = 16;
|
||||||
|
|
||||||
return cga;
|
return cga;
|
||||||
@@ -499,26 +470,62 @@ void cga_speed_changed(void *p)
|
|||||||
cga_recalctimings(cga);
|
cga_recalctimings(cga);
|
||||||
}
|
}
|
||||||
|
|
||||||
device_t cga_device =
|
static device_config_t cga_config[] =
|
||||||
{
|
{
|
||||||
"CGA (Old)",
|
{
|
||||||
0,
|
.name = "display_type",
|
||||||
cga_standalone_init,
|
.description = "Display type",
|
||||||
cga_close,
|
.type = CONFIG_SELECTION,
|
||||||
NULL,
|
.selection =
|
||||||
cga_speed_changed,
|
{
|
||||||
NULL,
|
{
|
||||||
NULL
|
.description = "RGB",
|
||||||
|
.value = CGA_RGB
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.description = "Composite",
|
||||||
|
.value = CGA_COMPOSITE
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.description = ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
.default_int = CGA_RGB
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.name = "composite_type",
|
||||||
|
.description = "Composite type",
|
||||||
|
.type = CONFIG_SELECTION,
|
||||||
|
.selection =
|
||||||
|
{
|
||||||
|
{
|
||||||
|
.description = "Old",
|
||||||
|
.value = COMPOSITE_OLD
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.description = "New",
|
||||||
|
.value = COMPOSITE_NEW
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.description = ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
.default_int = COMPOSITE_OLD
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.type = -1
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
device_t cga_new_device =
|
device_t cga_device =
|
||||||
{
|
{
|
||||||
"CGA (New)",
|
"CGA",
|
||||||
0,
|
0,
|
||||||
cga_standalone_init,
|
cga_standalone_init,
|
||||||
cga_close,
|
cga_close,
|
||||||
NULL,
|
NULL,
|
||||||
cga_speed_changed,
|
cga_speed_changed,
|
||||||
NULL,
|
NULL,
|
||||||
NULL
|
NULL,
|
||||||
|
cga_config
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -27,6 +27,9 @@ typedef struct cga_t
|
|||||||
uint8_t *vram;
|
uint8_t *vram;
|
||||||
|
|
||||||
uint8_t charbuffer[256];
|
uint8_t charbuffer[256];
|
||||||
|
|
||||||
|
int revision;
|
||||||
|
int composite;
|
||||||
} cga_t;
|
} cga_t;
|
||||||
|
|
||||||
void cga_init(cga_t *cga);
|
void cga_init(cga_t *cga);
|
||||||
@@ -37,5 +40,4 @@ uint8_t cga_read(uint32_t addr, void *p);
|
|||||||
void cga_recalctimings(cga_t *cga);
|
void cga_recalctimings(cga_t *cga);
|
||||||
void cga_poll(void *p);
|
void cga_poll(void *p);
|
||||||
|
|
||||||
extern device_t cga_new_device;
|
|
||||||
extern device_t cga_device;
|
extern device_t cga_device;
|
||||||
|
|||||||
@@ -75,10 +75,6 @@ extern int enable_overscan;
|
|||||||
extern int overscan_x, overscan_y;
|
extern int overscan_x, overscan_y;
|
||||||
/* Forcibly stretch emulated video output to 4:3 or not. */
|
/* Forcibly stretch emulated video output to 4:3 or not. */
|
||||||
extern int force_43;
|
extern int force_43;
|
||||||
/* Enable CGA brown circuitry. */
|
|
||||||
extern int cga_brown;
|
|
||||||
/* Enable CGA color burst. */
|
|
||||||
extern int cga_color_burst;
|
|
||||||
/* Enable disk activity flash. */
|
/* Enable disk activity flash. */
|
||||||
extern int enable_flash;
|
extern int enable_flash;
|
||||||
|
|
||||||
|
|||||||
@@ -172,12 +172,6 @@ static BOOL CALLBACK config_dlgproc(HWND hdlg, UINT message, WPARAM wParam, LPAR
|
|||||||
h=GetDlgItem(hdlg, IDC_CHECK4);
|
h=GetDlgItem(hdlg, IDC_CHECK4);
|
||||||
SendMessage(h, BM_SETCHECK, cga_comp, 0);
|
SendMessage(h, BM_SETCHECK, cga_comp, 0);
|
||||||
|
|
||||||
h=GetDlgItem(hdlg, IDC_CHECKCBURST);
|
|
||||||
SendMessage(h, BM_SETCHECK, cga_color_burst, 0);
|
|
||||||
|
|
||||||
h=GetDlgItem(hdlg, IDC_CHECKBROWN);
|
|
||||||
SendMessage(h, BM_SETCHECK, cga_brown, 0);
|
|
||||||
|
|
||||||
h=GetDlgItem(hdlg, IDC_CHECKFORCE43);
|
h=GetDlgItem(hdlg, IDC_CHECKFORCE43);
|
||||||
SendMessage(h, BM_SETCHECK, force_43, 0);
|
SendMessage(h, BM_SETCHECK, force_43, 0);
|
||||||
|
|
||||||
@@ -340,12 +334,6 @@ static BOOL CALLBACK config_dlgproc(HWND hdlg, UINT message, WPARAM wParam, LPAR
|
|||||||
h = GetDlgItem(hdlg, IDC_CHECKOVERSCAN);
|
h = GetDlgItem(hdlg, IDC_CHECKOVERSCAN);
|
||||||
enable_overscan = SendMessage(h, BM_GETCHECK, 0, 0);
|
enable_overscan = SendMessage(h, BM_GETCHECK, 0, 0);
|
||||||
|
|
||||||
h = GetDlgItem(hdlg, IDC_CHECKCBURST);
|
|
||||||
cga_color_burst=SendMessage(h, BM_GETCHECK, 0, 0);
|
|
||||||
|
|
||||||
h = GetDlgItem(hdlg, IDC_CHECKBROWN);
|
|
||||||
cga_brown=SendMessage(h, BM_GETCHECK, 0, 0);
|
|
||||||
|
|
||||||
h = GetDlgItem(hdlg, IDC_CHECKFLASH);
|
h = GetDlgItem(hdlg, IDC_CHECKFLASH);
|
||||||
enable_flash=SendMessage(h, BM_GETCHECK, 0, 0);
|
enable_flash=SendMessage(h, BM_GETCHECK, 0, 0);
|
||||||
|
|
||||||
|
|||||||
@@ -286,8 +286,6 @@ static void ddraw_fs_blit_memtoscreen_8(int x, int y, int w, int h)
|
|||||||
for (xx = 0; xx < w; xx++)
|
for (xx = 0; xx < w; xx++)
|
||||||
{
|
{
|
||||||
p[xx] = pal_lookup[buffer->line[y + yy][x + xx]];
|
p[xx] = pal_lookup[buffer->line[y + yy][x + xx]];
|
||||||
/* If brown circuity is disabled, double the green component. */
|
|
||||||
if ((buffer->line[y + yy][x + xx] == 0x16) && !cga_brown) p[xx] += (p[xx] & 0xff00);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -252,8 +252,6 @@ static void ddraw_blit_memtoscreen_8(int x, int y, int w, int h)
|
|||||||
for (xx = 0; xx < w; xx++)
|
for (xx = 0; xx < w; xx++)
|
||||||
{
|
{
|
||||||
p[xx] = pal_lookup[buffer->line[y + yy][x + xx]];
|
p[xx] = pal_lookup[buffer->line[y + yy][x + xx]];
|
||||||
/* If brown circuity is disabled, double the green component. */
|
|
||||||
if ((buffer->line[y + yy][x + xx] == 0x16) && !cga_brown) p[xx] += (p[xx] & 0xff00);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user