Merge branch 'master' of https://github.com/OBattler/86Box into experimental

This commit is contained in:
Melissa Goad
2017-05-13 02:07:48 -05:00
434 changed files with 13002 additions and 9845 deletions

View File

@@ -63,7 +63,7 @@ BEGIN
MENUITEM "E&mpty", IDM_CDROM_1_EMPTY
MENUITEM "&Reload previous disc", IDM_CDROM_1_RELOAD
MENUITEM SEPARATOR
MENUITEM "&ISO...", IDM_CDROM_1_ISO
MENUITEM "&Image...", IDM_CDROM_1_IMAGE
END
POPUP "CD-ROM 2"
BEGIN
@@ -72,7 +72,7 @@ BEGIN
MENUITEM "E&mpty", IDM_CDROM_2_EMPTY
MENUITEM "&Reload previous disc", IDM_CDROM_2_RELOAD
MENUITEM SEPARATOR
MENUITEM "&ISO...", IDM_CDROM_2_ISO
MENUITEM "&Image...", IDM_CDROM_2_IMAGE
END
POPUP "CD-ROM 3"
BEGIN
@@ -81,7 +81,7 @@ BEGIN
MENUITEM "E&mpty", IDM_CDROM_3_EMPTY
MENUITEM "&Reload previous disc", IDM_CDROM_3_RELOAD
MENUITEM SEPARATOR
MENUITEM "&ISO...", IDM_CDROM_3_ISO
MENUITEM "&Image...", IDM_CDROM_3_IMAGE
END
POPUP "CD-ROM 4"
BEGIN
@@ -90,7 +90,7 @@ BEGIN
MENUITEM "E&mpty", IDM_CDROM_4_EMPTY
MENUITEM "&Reload previous disc", IDM_CDROM_4_RELOAD
MENUITEM SEPARATOR
MENUITEM "&ISO...", IDM_CDROM_4_ISO
MENUITEM "&Image...", IDM_CDROM_4_IMAGE
END
END
@@ -142,6 +142,41 @@ BEGIN
MENUITEM "Take s&creenshot\tCtrl+F11", IDM_VID_SCREENSHOT
END
MENUITEM "S&tatus", IDM_STATUS
#ifdef ENABLE_LOG_TOGGLES
#if defined ENABLE_BUSLOGIC_LOG || defined ENABLE_CDROM_LOG || defined ENABLE_D86F_LOG || defined ENABLE_FDC_LOG || defined ENABLE_IDE_LOG || defined ENABLE_NE2000_LOG
MENUITEM SEPARATOR
#endif
#ifdef ENABLE_BUSLOGIC_LOG
MENUITEM "Enable BusLogic logs\tCtrl+F4", IDM_LOG_BUSLOGIC
#endif
#ifdef ENABLE_CDROM_LOG
MENUITEM "Enable CD-ROM logs\tCtrl+F5", IDM_LOG_CDROM
#endif
#ifdef ENABLE_D86F_LOG
MENUITEM "Enable floppy (86F) logs\tCtrl+F6", IDM_LOG_D86F
#endif
#ifdef ENABLE_FDC_LOG
MENUITEM "Enable floppy controller logs\tCtrl+F7", IDM_LOG_FDC
#endif
#ifdef ENABLE_IDE_LOG
MENUITEM "Enable IDE logs\tCtrl+F8", IDM_LOG_IDE
#endif
#ifdef ENABLE_NE2000_LOG
MENUITEM "Enable NE2000 logs\tCtrl+F9", IDM_LOG_NE2000
#endif
#endif
#ifdef ENABLE_LOG_BREAKPOINT
MENUITEM SEPARATOR
MENUITEM "&Log breakpoint\tCtrl+F10", IDM_LOG_BREAKPOINT
#ifdef ENABLE_VRAM_DUMP
MENUITEM "Dump &video RAM\tCtrl+F1", IDM_DUMP_VRAM
#endif
#else
#ifdef ENABLE_VRAM_DUMP
MENUITEM SEPARATOR
MENUITEM "Dump &video RAM\tCtrl+F1", IDM_DUMP_VRAM
#endif
#endif
END
POPUP "&Help"
BEGIN
@@ -157,6 +192,32 @@ END
MAINACCEL ACCELERATORS MOVEABLE PURE
BEGIN
#ifdef ENABLE_VRAM_DUMP
VK_F1, IDM_DUMP_VRAM, CONTROL, VIRTKEY
#endif
#ifdef ENABLE_LOG_TOGGLES
#ifdef ENABLE_BUSLOGIC_LOG
VK_F4, IDM_LOG_BUSLOGIC, CONTROL, VIRTKEY
#endif
#ifdef ENABLE_CDROM_LOG
VK_F5, IDM_LOG_CDROM, CONTROL, VIRTKEY
#endif
#ifdef ENABLE_D86F_LOG
VK_F6, IDM_LOG_D86F, CONTROL, VIRTKEY
#endif
#ifdef ENABLE_FDC_LOG
VK_F7, IDM_LOG_FDC, CONTROL, VIRTKEY
#endif
#ifdef ENABLE_IDE_LOG
VK_F8, IDM_LOG_IDE, CONTROL, VIRTKEY
#endif
#ifdef ENABLE_NE2000_LOG
VK_F9, IDM_LOG_NE2000, CONTROL, VIRTKEY
#endif
#endif
#ifdef ENABLE_LOG_BREAKPOINT
VK_F10, IDM_LOG_BREAKPOINT, CONTROL, VIRTKEY
#endif
VK_F11, IDM_VID_SCREENSHOT, VIRTKEY, CONTROL
VK_F12, IDM_FILE_RESET_CAD, VIRTKEY, CONTROL
END
@@ -189,8 +250,8 @@ FONT 9, "Segoe UI"
BEGIN
DEFPUSHBUTTON "OK",IDOK,55,89,50,14
PUSHBUTTON "Cancel",IDCANCEL,112,89,50,14
EDITTEXT IDC_EDIT_HD_FILE_NAME,7,16,188,12
PUSHBUTTON "...",IDC_CFILE,195,16,16,12
EDITTEXT IDC_EDIT_HD_FILE_NAME,7,16,153,12
PUSHBUTTON "&Specify...",IDC_CFILE,167,16,44,12
EDITTEXT IDC_EDIT_HD_SPT,183,34,28,12
EDITTEXT IDC_EDIT_HD_HPC,112,34,28,12
EDITTEXT IDC_EDIT_HD_CYL,42,34,28,12
@@ -453,12 +514,14 @@ END
163 ICON DISCARDABLE "ICONS/cdrom_atapi_dma_active.ico"
164 ICON DISCARDABLE "ICONS/cdrom_scsi.ico"
165 ICON DISCARDABLE "ICONS/cdrom_scsi_active.ico"
176 ICON DISCARDABLE "ICONS/hard_disk.ico"
177 ICON DISCARDABLE "ICONS/hard_disk_active.ico"
178 ICON DISCARDABLE "ICONS/hard_disk_ide.ico"
179 ICON DISCARDABLE "ICONS/hard_disk_ide_active.ico"
180 ICON DISCARDABLE "ICONS/hard_disk_scsi.ico"
181 ICON DISCARDABLE "ICONS/hard_disk_scsi_active.ico"
176 ICON DISCARDABLE "ICONS/hard_disk_mfm.ico"
177 ICON DISCARDABLE "ICONS/hard_disk_mfm_active.ico"
178 ICON DISCARDABLE "ICONS/hard_disk.ico"
179 ICON DISCARDABLE "ICONS/hard_disk_active.ico"
180 ICON DISCARDABLE "ICONS/hard_disk_ide.ico"
181 ICON DISCARDABLE "ICONS/hard_disk_ide_active.ico"
182 ICON DISCARDABLE "ICONS/hard_disk_scsi.ico"
183 ICON DISCARDABLE "ICONS/hard_disk_scsi_active.ico"
256 ICON DISCARDABLE "ICONS/machine.ico"
257 ICON DISCARDABLE "ICONS/video.ico"
258 ICON DISCARDABLE "ICONS/input_devices.ico"
@@ -599,7 +662,7 @@ BEGIN
2048 "86Box"
IDS_STRING2049 "86Box Error"
IDS_STRING2050 "86Box Fatal Error"
IDS_STRING2051 "This will reset 86Box.\nDo you want to save the settings?"
IDS_STRING2051 "This will reset 86Box.\nAre you sure you want to save the settings?"
IDS_STRING2052 "DirectDraw Screenshot Error"
IDS_STRING2053 "Invalid number of sectors (valid values are between 1 and 63)"
IDS_STRING2054 "Invalid number of heads (valid values are between 1 and 16)"
@@ -708,10 +771,10 @@ BEGIN
2137 "Mid VLB/PCI"
2138 "Fast VLB/PCI"
2139 "Microsoft 2-button mouse (serial)"
2140 "2-button mouse (PS/2)"
2141 "Microsoft Intellimouse (PS/2)"
2142 "Amstrad mouse"
2143 "Olivetti M24 mouse"
2140 "Mouse Systems mouse (serial)"
2141 "2-button mouse (PS/2)"
2142 "Microsoft Intellimouse (PS/2)"
2143 "Bus mouse"
END
STRINGTABLE DISCARDABLE
@@ -729,17 +792,17 @@ BEGIN
2154 "Internal IDE"
2155 "IRQ %i"
2156 "MFM (%01i:%01i)"
2157 "IDE (%01i:%01i)"
2157 "IDE (PIO+DMA) (%01i:%01i)"
2158 "SCSI (%02i:%02i)"
2159 "IDE (PIO-only)"
2159 "Invalid number of cylinders (valid values are between 1 and 1023)"
2160 "%" PRIu64
2161 "Microsoft Bus mouse"
2162 "Mouse Systems mouse"
2161 "Genius Bus mouse"
2162 "Amstrad mouse"
2163 "Attempting to create a spuriously large hard disk image"
2164 "Invalid number of sectors (valid values are between 1 and 99)"
2165 "Invalid number of cylinders (valid values are between 1 and 1023)"
2166 "MFM"
2167 "IDE"
2165 "MFM"
2166 "IDE (PIO-only)"
2167 "IDE (PIO and DMA)"
2168 "SCSI"
2169 "%01i:%01i"
2170 "Custom..."
@@ -747,15 +810,15 @@ BEGIN
2172 "Hard disk images (*.HDI;*.HDX;*.IMA;*.IMG)\0*.HDI;*.HDX;*.IMA;*.IMG\0All files (*.*)\0*.*\0"
2173 "All floppy images (*.0??;*.12;*.144;*.360;*.720;*.86F;*.BIN;*.CQ;*.CQM;*.DSK;*.FDI;*.FDF;*.FLP;*.HDM;*.IMA;*.IMD;*.IMG;*.TD0;*.VFD;*.XDF)\0*.0??;*.12;*.144;*.360;*.720;*.86F;*.BIN;*.CQ;*.CQM;*.DSK;*.FDI;*.FDF;*.FLP;*.HDM;*.IMA;*.IMD;*.IMG;*.TD0;*.VFD;*.XDF\0Advanced sector-based images (*.IMD;*.TD0)\0*.IMD;*.TD0\0Basic sector-based images (*.0??;*.12;*.144;*.360;*.720;*.BIN;*.CQ;*.CQM;*.DSK;*.FDI;*.FDF;*.FLP;*.HDM;*.IMA;*.IMG;*.VFD;*.XDF)\0*.0??;*.12;*.144;*.360;*.720;*.BIN;*.CQ;*.CQM;*.DSK;*.FDI;*.FDF;*.FLP;*.HDM;*.IMA;*.IMG;*.VFD;*.XDF\0Flux images (*.FDI)\0*.FDI\0Surface-based images (*.86F)\0*.86F\0All files (*.*)\0*.*\0"
2174 "Configuration files (*.CFG)\0*.CFG\0All files (*.*)\0*.*\0"
2175 "CD-ROM image (*.ISO)\0*.ISO\0All files (*.*)\0*.*\0"
2175 "CD-ROM image (*.ISO;*.CUE)\0*.ISO;*.CUE\0All files (*.*)\0*.*\0"
2176 "Use CTRL + ALT + PAGE DOWN to return to windowed mode"
2177 "Microsoft InPort mouse"
2178 "Genius Bus mouse"
2179 "Floppy %i (%s): %s"
2180 "CD-ROM %i: %s"
2181 "Removable disk %i: %s"
2182 "MFM hard disk"
2183 "IDE hard disk"
2177 "Olivetti M24 mouse"
2178 "This image exists and will be overwritten.\nAre you sure you want to use it?"
2179 "Floppy %i (%s): %ws"
2180 "CD-ROM %i: %ws"
2181 "MFM hard disk"
2182 "IDE hard disk (PIO-only)"
2183 "IDE hard disk (PIO and DMA)"
2184 "SCSI hard disk"
2185 "(empty)"
2186 "(host drive %c:)"
@@ -766,8 +829,12 @@ BEGIN
2191 "ATAPI (PIO-only) (%01i:%01i)"
2192 "ATAPI (PIO and DMA) (%01i:%01i)"
2193 "Use CTRL + ALT + PAGE DOWN to return to windowed mode"
2194 "<placeholder string>"
2195 "English (United States)"
2194 "Unable to create bitmap file: %s"
2195 "IDE (PIO-only) (%01i:%01i)"
2196 "Add New Hard Disk"
2197 "Add Existing Hard Disk"
2198 "Removable disk %i: %s"
2199 "English (United States)"
END

View File

@@ -2,3 +2,4 @@
see COPYING for more details
*/
#define emulator_version "1.20"
#define emulator_version_w L"1.20"

View File

@@ -1,53 +0,0 @@
# Locate directdraw
# This module defines
# D3D9_LIBRARIES
# D3D9_FOUND, if false, do not try to link to directinput
# D3D9_INCLUDE_DIR, where to find the headers
#
# $D3D9_DIR is an environment variable that would
# point to the this path in the plateform devkit (Samples\Multimedia\DirectShow)
#
# Created by Cedric Pinson.
#
SET( D3D9_FOUND FALSE )
IF( WIN32 )
FIND_PATH( D3D9_ROOT_DIR Include/D3D9.h
PATHS
$ENV{PATH}
$ENV{PROGRAMFILES}
)
FIND_PATH( D3D9_INCLUDE_DIR d3d9.h
PATHS
${D3D9_ROOT_DIR}/Include
)
FIND_LIBRARY( D3D9_LIBRARY d3d9.lib d3dx9
PATHS
${D3D9_ROOT_DIR}/lib/x86
)
FIND_LIBRARY( D3D9_GUID_LIBRARY dxguid.lib
PATHS
${D3D9_ROOT_DIR}/lib/x86
)
FIND_LIBRARY( D3D9_ERR_LIBRARY dxerr.lib
PATHS
${D3D9_ROOT_DIR}/lib/x86
)
SET( D3D9_LIBRARIES
${D3D9_LIBRARY}
${D3D9_GUID_LIBRARY}
${D3D9_ERR_LIBRARY}
)
IF ( D3D9_INCLUDE_DIR AND D3D9_LIBRARIES )
SET( D3D9_FOUND TRUE )
ENDIF ( D3D9_INCLUDE_DIR AND D3D9_LIBRARIES )
ENDIF( WIN32 )
MARK_AS_ADVANCED( D3D9_FOUND )

View File

@@ -1,53 +0,0 @@
# Locate directdraw
# This module defines
# DDRAW_LIBRARIES
# DDRAW_FOUND, if false, do not try to link to directinput
# DDRAW_INCLUDE_DIR, where to find the headers
#
# $DDRAW_DIR is an environment variable that would
# point to the this path in the plateform devkit (Samples\Multimedia\DirectShow)
#
# Created by Cedric Pinson.
#
SET( DDRAW_FOUND FALSE )
IF( WIN32 )
FIND_PATH( DDRAW_ROOT_DIR Include/D3D10.h
PATHS
$ENV{PATH}
$ENV{PROGRAMFILES}
)
FIND_PATH( DDRAW_INCLUDE_DIR ddraw.h
PATHS
${DDRAW_ROOT_DIR}/Include
)
FIND_LIBRARY( DDRAW_LIBRARY ddraw.lib
PATHS
${DDRAW_ROOT_DIR}/lib/x86
)
FIND_LIBRARY( DDRAW_GUID_LIBRARY dxguid.lib
PATHS
${DDRAW_ROOT_DIR}/lib/x86
)
FIND_LIBRARY( DDRAW_ERR_LIBRARY dxerr.lib
PATHS
${DDRAW_ROOT_DIR}/lib/x86
)
SET( DDRAW_LIBRARIES
${DDRAW_LIBRARY}
${DDRAW_GUID_LIBRARY}
${DDRAW_ERR_LIBRARY}
)
IF ( DDRAW_INCLUDE_DIR AND DDRAW_LIBRARIES )
SET( DDRAW_FOUND TRUE )
ENDIF ( DDRAW_INCLUDE_DIR AND DDRAW_LIBRARIES )
ENDIF( WIN32 )
MARK_AS_ADVANCED( DDRAW_FOUND )

View File

@@ -1,53 +0,0 @@
# Locate directinput
# This module defines
# DIRECTINPUT_LIBRARIES
# DIRECTINPUT_FOUND, if false, do not try to link to directinput
# DIRECTINPUT_INCLUDE_DIR, where to find the headers
#
# $DIRECTINPUT_DIR is an environment variable that would
# point to the this path in the plateform devkit (Samples\Multimedia\DirectShow)
#
# Created by Cedric Pinson.
#
SET( DIRECTINPUT_FOUND FALSE )
IF( WIN32 )
FIND_PATH( DIRECTINPUT_ROOT_DIR Include/D3D10.h
PATHS
$ENV{PATH}
$ENV{PROGRAMFILES}
)
FIND_PATH( DIRECTINPUT_INCLUDE_DIR dinput.h
PATHS
${DIRECTINPUT_ROOT_DIR}/Include
)
FIND_LIBRARY( DIRECTINPUT_LIBRARY dinput7.lib dinput8.lib
PATHS
${DIRECTINPUT_ROOT_DIR}/lib/x86
)
FIND_LIBRARY( DIRECTINPUT_GUID_LIBRARY dxguid.lib
PATHS
${DIRECTINPUT_ROOT_DIR}/lib/x86
)
FIND_LIBRARY( DIRECTINPUT_ERR_LIBRARY dxerr.lib
PATHS
${DIRECTINPUT_ROOT_DIR}/lib/x86
)
SET( DIRECTINPUT_LIBRARIES
${DIRECTINPUT_LIBRARY}
${DIRECTINPUT_GUID_LIBRARY}
${DIRECTINPUT_ERR_LIBRARY}
)
IF ( DIRECTINPUT_INCLUDE_DIR AND DIRECTINPUT_LIBRARIES )
SET( DIRECTINPUT_FOUND TRUE )
ENDIF ( DIRECTINPUT_INCLUDE_DIR AND DIRECTINPUT_LIBRARIES )
ENDIF( WIN32 )
MARK_AS_ADVANCED( DIRECTINPUT_FOUND )

View File

@@ -5,15 +5,15 @@
#include <stdio.h>
#include <stdint.h>
#include <stdlib.h>
#include "ibm.h"
#include "../ibm.h"
#include "cpu.h"
#include "x86.h"
#include "x87.h"
#include "mem.h"
#include "cpu.h"
#include "disc.h"
#include "fdc.h"
#include "pic.h"
#include "timer.h"
#include "../mem.h"
#include "../disc.h"
#include "../fdc.h"
#include "../pic.h"
#include "../timer.h"
#include "386_common.h"

View File

@@ -5,17 +5,17 @@
#include <stdio.h>
#include <stdint.h>
#include <stdlib.h>
#include "ibm.h"
#include "../ibm.h"
#include "cpu.h"
#include "x86.h"
#include "x86_ops.h"
#include "x87.h"
#include "mem.h"
#include "../mem.h"
#include "codegen.h"
#include "cpu.h"
#include "disc.h"
#include "fdc.h"
#include "pic.h"
#include "timer.h"
#include "../disc.h"
#include "../fdc.h"
#include "../pic.h"
#include "../timer.h"
#include "386_common.h"

View File

@@ -2,15 +2,15 @@
#ifndef INFINITY
# define INFINITY (__builtin_inff())
#endif
#include "ibm.h"
#include "../ibm.h"
#include "cpu.h"
#include "x86.h"
#include "x86_ops.h"
#include "x87.h"
#include "x86_flags.h"
#include "mem.h"
#include "../mem.h"
#include "codegen.h"
#include "pic.h"
#include "../pic.h"
#define CPU_BLOCK_END() cpu_block_end = 1

View File

@@ -12,16 +12,14 @@
2 clocks - fetch opcode 2 etc*/
#include <stdio.h>
#include <unistd.h>
#include "ibm.h"
#include "../ibm.h"
#include "cpu.h"
#include "keyboard.h"
#include "mem.h"
#include "nmi.h"
#include "pic.h"
#include "timer.h"
#include "x86.h"
#include "../keyboard.h"
#include "../mem.h"
#include "../nmi.h"
#include "../pic.h"
#include "../timer.h"
int xt_cpu_multi;
int nmi = 0;
@@ -481,7 +479,7 @@ void dumpregs(int force)
#ifndef RELEASE_BUILD
indump = 1;
output=0;
chdir(pcempath);
_wchdir(pcempath);
nopageerrors=1;
f=fopen("ram.dmp","wb");
fwrite(ram,mem_size*1024,1,f);
@@ -579,7 +577,6 @@ void resetx86()
codegen_reset();
x86_was_reset = 1;
port_92_clear_reset();
BuslogicSoftReset();
}
void softresetx86()
@@ -598,7 +595,6 @@ void softresetx86()
x86seg_reset();
x86_was_reset = 1;
port_92_clear_reset();
BuslogicSoftReset();
}
static void setznp8(uint8_t val)
@@ -2000,7 +1996,7 @@ void execx86(int cycs)
case 0xA1: /*MOV AX,(w)*/
addr=getword();
AX=readmemw(ds,addr);
cycles-=!4;
cycles-=14;
break;
case 0xA2: /*MOV (w),AL*/
addr=getword();

View File

@@ -1,6 +1,6 @@
#include "ibm.h"
#include "../ibm.h"
#include "x86_ops.h"
#include "mem.h"
#include "../mem.h"
#include "codegen.h"
void (*codegen_timing_start)();

View File

@@ -1,4 +1,5 @@
#include "ibm.h"
#include "../ibm.h"
#include "../mem.h"
#include "x86.h"
#include "x86_ops.h"
#include "x86_flags.h"

View File

@@ -1,9 +1,9 @@
#include "ibm.h"
#include "../ibm.h"
#include "../mem.h"
#include "cpu.h"
#include "x86.h"
#include "x86_ops.h"
#include "x87.h"
#include "mem.h"
#include "codegen.h"
#define CYCLES(c) (int *)c

View File

@@ -7,13 +7,12 @@
- FPU queue
- Out of order execution (beyond most simplistic approximation)
*/
#include "ibm.h"
#include "../ibm.h"
#include "../mem.h"
#include "cpu.h"
#include "x86.h"
#include "x86_ops.h"
#include "x87.h"
#include "mem.h"
#include "codegen.h"
/*Instruction has different execution time for 16 and 32 bit data. Does not pair */

View File

@@ -8,13 +8,12 @@
- FPU latencies
- MMX latencies
*/
#include "ibm.h"
#include "../ibm.h"
#include "../mem.h"
#include "cpu.h"
#include "x86.h"
#include "x86_ops.h"
#include "x87.h"
#include "mem.h"
#include "codegen.h"
/*Instruction has different execution time for 16 and 32 bit data. Does not pair */

View File

@@ -1,9 +1,9 @@
#include "ibm.h"
#include "../ibm.h"
#include "../mem.h"
#include "cpu.h"
#include "x86.h"
#include "x86_ops.h"
#include "x87.h"
#include "mem.h"
#include "codegen.h"
#define CYCLES(c) (int *)c

View File

@@ -1,13 +1,12 @@
#if defined i386 || defined __i386 || defined __i386__ || defined _X86_ || defined WIN32 || defined _WIN32 || defined _WIN32
#include <stdlib.h>
#include "ibm.h"
#include "../ibm.h"
#include "../mem.h"
#include "cpu.h"
#include "x86.h"
#include "x86_flags.h"
#include "x86_ops.h"
#include "x87.h"
#include "mem.h"
#include "386_common.h"

View File

@@ -1,13 +1,13 @@
/* Copyright holders: Sarah Walker, Tenshi, leilei
see COPYING for more details
*/
#include "ibm.h"
#include "../ibm.h"
#include "cpu.h"
#include "model.h"
#include "io.h"
#include "../model.h"
#include "../io.h"
#include "x86_ops.h"
#include "mem.h"
#include "pci.h"
#include "../mem.h"
#include "../pci.h"
#include "codegen.h"
int isa_cycles;

View File

@@ -4,9 +4,9 @@
#include <stdio.h>
#include <stdarg.h>
#include <stdlib.h>
#include "ibm.h"
#include "mem.h"
#include "nvr.h"
#include "../ibm.h"
#include "../mem.h"
#include "../nvr.h"
#include "x86.h"
#include "386.h"
#include "386_common.h"
@@ -49,7 +49,7 @@ void x86abort(const char *format, ...)
va_end(ap);
fflush(stdout);
savenvr();
dumpregs();
dumpregs(1);
fflush(stdout);
exit(-1);
}

View File

@@ -1,14 +1,14 @@
#define fplog 0
#include <math.h>
#include "ibm.h"
#include "pic.h"
#include "../ibm.h"
#include "../pic.h"
#include "x86.h"
#include "x86_flags.h"
#include "x86_ops.h"
#include "x87.h"
#include "386_common.h"
uint16_t x87_gettag()
{
uint16_t ret = 0;

BIN
src/ICONS/hard_disk_mfm.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@@ -8,7 +8,7 @@
#
# Modified Makefile for Win32 MinGW 32-bit environment.
#
# Version: @(#)Makefile.mingw 1.0.5 2017/05/05
# Version: @(#)Makefile.mingw 1.0.12 2017/05/12
#
# Authors: Kotori, <oubattler@gmail.com>
# Fred N. van Kempen, <decwiz@yahoo.com>
@@ -30,30 +30,65 @@ EXTRAS =
# Do we want a debugging build?
DEBUG = n
OPTIM = n
X64 = n
#########################################################################
# Nothing should need changing from here on.. #
#########################################################################
VPATH = . dosbox lzf resid-fp slirp
VPATH = . cpu sound sound/resid-fp video lzf slirp
CPP = g++.exe
CC = gcc.exe
WINDRES = windres.exe
OPTS = -DWIN32 $(EXTRAS) $(STUFF)
ifeq ($(DEBUG), y)
DFLAGS = -march=i686 -Og -ggdb -DDEBUG
ifeq ($(VRAMDUMP), y)
DFLAGS = -march=i686 -ggdb -DDEBUG -DENABLE_VRAM_DUMP
else
ifeq ($(OPTIMIZED), y)
DFLAGS = -march=native -mtune=native -O6
DFLAGS = -march=i686 -ggdb -DDEBUG
endif
COPTIM = -Og
else
DFLAGS = -march=i686 -O3
ifeq ($(OPTIM), y)
DFLAGS = -march=native
COPTIM = -O6
else
ifeq ($(X64), y)
DFLAGS =
else
DFLAGS = -march=i686
endif
COPTIM = -O3
endif
endif
AFLAGS = -msse -msse2 -mfpmath=sse
CFLAGS = $(OPTS) $(DFLAGS) $(AFLAGS) \
ifeq ($(OPTIM), y)
AOPTIM = -mtune=native
else
AOPTIM =
endif
AFLAGS = -msse -msse2 \
-mfpmath=sse
ifeq ($(RELEASE), y)
CFLAGS = $(OPTS) $(DFLAGS) $(COPTIM) $(AOPTIM) $(AFLAGS) \
-fomit-frame-pointer -mstackrealign -DRELEASE_BUILD
RFLAGS = --input-format=rc -O coff -DRELEASE_BUILD
else
CFLAGS = $(OPTS) $(DFLAGS) $(COPTIM) $(AOPTIM) $(AFLAGS) \
-fomit-frame-pointer -mstackrealign
ifeq ($(VRAMDUMP), y)
RFLAGS = --input-format=rc -O coff -DENABLE_VRAM_DUMP
else
RFLAGS = --input-format=rc -O coff
endif
endif
ifeq ($(X64), y)
PLATCG = codegen_x86-64.o
else
PLATCG = codegen_x86.o
endif
MAINOBJ = pc.o config.o device.o timer.o dma.o io.o nmi.o pic.o \
@@ -63,7 +98,7 @@ CPUOBJ = cpu.o 386.o 386_dynarec.o 386_dynarec_ops.o 808x.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 \
codegen_timing_winchip.o $(PLATCG) \
x86seg.o x87.o
SYSOBJ = model.o \
headland.o \
@@ -88,22 +123,34 @@ DEVOBJ = bugger.o lpt.o serial.o \
mouse.o mouse_serial.o mouse_ps2.o mouse_bus.o \
fdd.o fdc.o \
fdc37c665.o fdc37c669.o fdc37c932fr.o fdi2raw.o \
hdd.o hdd_esdi.o mfm_at.o mfm_xebec.o ide.o xtide.o piix.o scsi_hd.o \
hdd.o \
mfm_at.o mfm_xebec.o hdd_esdi.o ide.o xtide.o piix.o \
disc.o \
disc_86f.o disc_fdi.o disc_imd.o disc_img.o \
disc_random.o disc_td0.o \
cdrom.o cdrom-ioctl.o cdrom-iso.o cdrom-null.o
cdrom.o \
cdrom-dosbox.o cdrom-image.o cdrom-ioctl.o cdrom-null.o
USBOBJ = usb.o
NETOBJ = ne2000.o nethandler.o
SCSIOBJ = scsi.o scsi_buslogic.o scsi_aha154x.o
SNDOBJ = sound.o sound_speaker.o dac.o sound_ps1.o sound_pssj.o \
sound_adlib.o sound_adlibgold.o sound_ad1848.o sound_sb.o \
sound_sb_dsp.o sound_cms.o sound_dbopl.o sound_emu8k.o \
sound_gus.o sound_opl.o sound_mpu401_uart.o sound_pas16.o \
sound_resid.o sound_sn76489.o sound_ssi2001.o sound_wss.o \
sound_ym7128.o soundopenal.o
NETOBJ = network.o \
net_pcap.o net_slirp.o \
net_ne2000.o
SCSIOBJ = scsi.o scsi_disk.o scsi_buslogic.o scsi_aha154x.o
SNDOBJ = sound.o \
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 \
dbopl.o nukedopl.o openal.o \
snd_speaker.o snd_ps1.o snd_pssj.o \
snd_adlib.o snd_adlibgold.o snd_ad1848.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_pas16.o snd_resid.o \
snd_sn76489.o snd_ssi2001.o snd_wss.o \
snd_ym7128.o
VIDOBJ = video.o \
vid_mda.o vid_cga.o vid_ega.o \
vid_cga.o vid_cga_comp.o vid_mda.o vid_ega.o \
vid_vga.o vid_svga.o vid_svga_render.o \
vid_hercules.o vid_herculesplus.o vid_incolor.o \
vid_colorplus.o \
@@ -129,33 +176,28 @@ VIDOBJ = video.o \
WINOBJ = win.o \
win-d3d.o win-d3d-fs.o \
win-ddraw.o win-ddraw-fs.o win-ddraw-screenshot.o \
win-language.o win-status.o win-video.o \
win-keyboard.o win-mouse.o win-joystick.o win-midi.o \
win-language.o win-status.o win-opendir.o \
win-video.o win-serial.o win-mouse.o \
win-joystick.o win-midi.o \
win-settings.o win-deviceconfig.o win-joystickconfig.o \
86Box.res
OBJ = $(MAINOBJ) $(CPUOBJ) $(SYSOBJ) $(DEVOBJ) $(USBOBJ) \
$(NETOBJ) $(SCSIOBJ) $(SNDOBJ) $(VIDOBJ) $(WINOBJ)
DBOBJ = dbopl.o nukedopl.o vid_cga_comp.o
LZFOBJ = lzf_c.o lzf_d.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 debug.o ip_output.o \
sbuf.o tcp_output.o udp.o if.o mbuf.o slirp.o tcp_subr.o
LIBS = -mwindows -lcomctl32 -lwinmm -lopenal.dll -lopenal -lddraw \
-ldinput8 -ldxguid -ld3d9 -ld3dx9 -lwsock32 -liphlpapi \
-lstdc++ -lpsapi -static-libstdc++ -static-libgcc \
-static -L. -lwpcapdelay
-lstdc++ -lpsapi -static-libstdc++ -static-libgcc
# Build rules.
%.o: %.c
@echo $<
$(CC) $(CFLAGS) -c $<
@$(CC) $(CFLAGS) -c $<
%.o: %.cc
@echo $<
@@ -165,17 +207,27 @@ LIBS = -mwindows -lcomctl32 -lwinmm -lopenal.dll -lopenal -lddraw \
@echo $<
@$(CPP) $(CFLAGS) -c $<
$(PROG).exe: $(OBJ) $(DBOBJ) $(LZFOBJ) $(SIDOBJ) $(SLIRPOBJ)
all: $(PROG).exe pcap_if.exe
$(PROG).exe: $(OBJ) $(LZFOBJ) $(SLIRPOBJ)
@echo Linking $(PROG).exe ..
@$(CC) -o $(PROG).exe \
$(OBJ) \
$(DBOBJ) $(LZFOBJ) $(SIDOBJ) $(SLIRPOBJ) \
$(LIBS)
$(OBJ) $(LZFOBJ) $(SLIRPOBJ) \
$(LIBS) -static -Lpcap -lwpcapdelay
ifneq ($(DEBUG), y)
strip $(PROG).exe
@strip $(PROG).exe
endif
all: $(PROG).exe
pcap_if.exe: pcap_if.o pcap_if.res
@echo Linking pcap_if.exe ..
@$(CC) -o pcap_if.exe \
pcap_if.o pcap_if.res -static -Lpcap -lwpcapdelay
ifneq ($(DEBUG), y)
@strip pcap_if.exe
endif
clean:
rm *.o
@@ -186,5 +238,9 @@ clean:
@echo Processing $<
@$(WINDRES) $(RFLAGS) -i 86Box.rc -o 86Box.res
pcap_if.res: pcap_if.rc
@echo Processing $<
@$(WINDRES) $(RFLAGS) -i pcap_if.rc -o pcap_if.res
# End of Makefile.mingw.

View File

@@ -6,9 +6,9 @@
#
# This file is part of the 86Box distribution.
#
# Modified Makefile for Win32 MinGW 32-bit environment.
# Modified Makefile for Win64 MinGW 64-bit environment.
#
# Version: @(#)Makefile.mingw64 1.0.0 2017/05/05
# Version: @(#)Makefile.mingw64 1.0.2 2017/05/06
#
# Authors: Kotori, <oubattler@gmail.com>
# Fred N. van Kempen, <decwiz@yahoo.com>
@@ -16,174 +16,18 @@
# Richard G.,
#
# Include the default Makefile.
include Makefile.mingw
# Name of the executable.
PROG = 86Box64
# Various compile-time options.
# -DROM_TRACE=0xcd800 traces ROM access from segment C800
# -DIO_TACE=0x66 traces I/O on port 0x66
STUFF =
# Add feature selections here.
# -DBUGGER adds the ISA BusBugger emulation.
EXTRAS =
# Do we want a debugging build?
DEBUG = n
OPTIM = n
X64 = y
#########################################################################
# Nothing should need changing from here on.. #
#########################################################################
VPATH = . dosbox lzf resid-fp slirp
CPP = g++.exe
CC = gcc.exe
WINDRES = windres.exe
OPTS = -DWIN32 $(EXTRAS) $(STUFF)
ifeq ($(DEBUG), y)
DFLAGS = -march=i686 -Og -ggdb -DDEBUG
else
ifeq ($(OPTIMIZED), y)
DFLAGS = -march=native -mtune=native -O6
else
DFLAGS = -O3
endif
endif
AFLAGS = -msse -msse2 -mfpmath=sse
CFLAGS = $(OPTS) $(DFLAGS) $(AFLAGS) \
-fomit-frame-pointer -mstackrealign
RFLAGS = --input-format=rc -O coff
MAINOBJ = pc.o config.o device.o timer.o dma.o io.o nmi.o pic.o \
mca.o mcr.o pit.o ppi.o pci.o sio.o intel.o rom.o mem.o \
memregs.o intel_flash.o rtc.o nvr.o ps2_nvr.o
CPUOBJ = cpu.o 386.o 386_dynarec.o 386_dynarec_ops.o 808x.o \
codegen.o \
codegen_ops.o codegen_timing_486.o \
codegen_timing_686.o codegen_timing_pentium.o \
codegen_timing_winchip.o codegen_x86-64.o \
x86seg.o x87.o
SYSOBJ = model.o \
headland.o \
i430hx.o i430lx.o i430fx.o i430nx.o i430vx.o i440fx.o \
neat.o \
ali1429.o \
opti495.o \
scat.o \
sis496.o \
wd76c10.o \
acer386sx.o acerm3a.o amstrad.o \
compaq.o olivetti_m24.o jim.o ps1.o ps2.o ps2_mca.o \
tandy_eeprom.o tandy_rom.o
DEVOBJ = bugger.o lpt.o serial.o \
um8669f.o pc87306.o sis85c471.o w83877f.o \
keyboard.o \
keyboard_xt.o keyboard_at.o keyboard_pcjr.o \
keyboard_amstrad.o keyboard_olim24.o \
gameport.o \
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 \
fdd.o fdc.o \
fdc37c665.o fdc37c669.o fdc37c932fr.o fdi2raw.o \
hdd.o hdd_esdi.o mfm_at.o mfm_xebec.o ide.o xtide.o piix.o scsi_hd.o \
disc.o \
disc_86f.o disc_fdi.o disc_imd.o disc_img.o \
disc_random.o disc_td0.o \
cdrom.o cdrom-ioctl.o cdrom-iso.o cdrom-null.o
USBOBJ = usb.o
NETOBJ = ne2000.o nethandler.o
SCSIOBJ = scsi.o scsi_buslogic.o scsi_aha154x.o
SNDOBJ = sound.o sound_speaker.o dac.o sound_ps1.o sound_pssj.o \
sound_adlib.o sound_adlibgold.o sound_ad1848.o sound_sb.o \
sound_sb_dsp.o sound_cms.o sound_dbopl.o sound_emu8k.o \
sound_gus.o sound_opl.o sound_mpu401_uart.o sound_pas16.o \
sound_resid.o sound_sn76489.o sound_ssi2001.o sound_wss.o \
sound_ym7128.o soundopenal.o
VIDOBJ = video.o \
vid_mda.o vid_cga.o vid_ega.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_s3.o vid_s3_virge.o \
vid_et4000.o vid_et4000w32.o vid_icd2061.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_sdac_ramdac.o \
vid_stg_ramdac.o \
vid_unk_ramdac.o \
vid_wy700.o \
vid_voodoo.o \
vid_pcjr.o vid_ps1_svga.o \
vid_olivetti_m24.o \
vid_pc1512.o vid_pc1640.o vid_pc200.o \
vid_tandy.o vid_tandysl.o
WINOBJ = win.o \
win-d3d.o win-d3d-fs.o \
win-ddraw.o win-ddraw-fs.o win-ddraw-screenshot.o \
win-language.o win-status.o win-video.o \
win-keyboard.o win-mouse.o win-joystick.o win-midi.o \
win-settings.o win-deviceconfig.o win-joystickconfig.o \
86Box.res
OBJ = $(MAINOBJ) $(CPUOBJ) $(SYSOBJ) $(DEVOBJ) $(USBOBJ) \
$(NETOBJ) $(SCSIOBJ) $(SNDOBJ) $(VIDOBJ) $(WINOBJ)
DBOBJ = dbopl.o nukedopl.o vid_cga_comp.o
LZFOBJ = lzf_c.o lzf_d.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
LIBS = -mwindows -lcomctl32 -lwinmm -lopenal.dll -lopenal -lddraw \
-ldinput8 -ldxguid -ld3d9 -ld3dx9 -lwsock32 -liphlpapi \
-lstdc++ -lpsapi -static-libstdc++ -static-libgcc \
-static -L. -lwpcapdelay
# Build rules.
%.o: %.c
@echo $<
$(CC) $(CFLAGS) -c $<
%.o: %.cc
@echo $<
@$(CPP) $(CFLAGS) -c $<
%.o: %.cpp
@echo $<
@$(CPP) $(CFLAGS) -c $<
$(PROG).exe: $(OBJ) $(DBOBJ) $(LZFOBJ) $(SIDOBJ) $(SLIRPOBJ)
@echo Linking $(PROG).exe ..
@$(CC) -o $(PROG).exe \
$(OBJ) \
$(DBOBJ) $(LZFOBJ) $(SIDOBJ) $(SLIRPOBJ) \
$(LIBS)
ifneq ($(DEBUG), y)
strip $(PROG).exe
endif
all: $(PROG).exe
clean:
rm *.o
rm *.exe
rm *.res
86Box.res: 86Box.rc
@echo Processing $<
@$(WINDRES) $(RFLAGS) -i 86Box.rc -o 86Box.res
# End of Makefile.mingw.
# End of Makefile.mingw64.

View File

@@ -3,13 +3,14 @@
#include <string.h>
#include <stdlib.h>
#ifdef USE_OPENAL
#include <AL/al.h>
#include <AL/alc.h>
#include <AL/alext.h>
# include <AL/al.h>
# include <AL/alc.h>
# include <AL/alext.h>
#endif
#include "ibm.h"
#include "../ibm.h"
#include "sound.h"
FILE *allog;
#ifdef USE_OPENAL
ALuint buffers[4]; /* front and back buffers */
@@ -19,7 +20,8 @@ static ALuint source[2]; /* audio source */
#define FREQ 48000
#define BUFLEN SOUNDBUFLEN
void closeal();
void closeal(ALvoid);
ALvoid alutInit(ALint *argc,ALbyte **argv)
{
ALCcontext *Context;
@@ -60,14 +62,14 @@ void initalmain(int argc, char *argv[])
#endif
}
void closeal()
void closeal(ALvoid)
{
#ifdef USE_OPENAL
alutExit();
#endif
}
void inital()
void inital(ALvoid)
{
#ifdef USE_OPENAL
int c;

Some files were not shown because too many files have changed in this diff Show More