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

This commit is contained in:
ts-korhonen
2021-12-24 00:28:25 +02:00
5 changed files with 170 additions and 127 deletions

View File

@@ -862,13 +862,8 @@ static void ps2_mca_mem_fffc_init(int start_mb)
{
uint32_t planar_size, expansion_start;
if (start_mb == 2) {
planar_size = 0x160000;
expansion_start = 0x260000;
} else {
planar_size = (start_mb - 1) << 20;
expansion_start = start_mb << 20;
}
planar_size = (start_mb - 1) << 20;
expansion_start = start_mb << 20;
mem_mapping_set_addr(&ram_high_mapping, 0x100000, planar_size);
@@ -919,6 +914,36 @@ static void ps2_mca_mem_fffc_init(int start_mb)
mem_mapping_disable(&ps2.expansion_mapping);
}
static void ps2_mca_mem_d071_init(int start_mb)
{
uint32_t planar_size, expansion_start;
planar_size = (start_mb - 1) << 20;
expansion_start = start_mb << 20;
mem_mapping_set_addr(&ram_high_mapping, 0x100000, planar_size);
ps2.mem_pos_regs[0] = 0xd0;
ps2.mem_pos_regs[1] = 0x71;
ps2.mem_pos_regs[4] = (mem_size / 1024) - start_mb;
mca_add(ps2_mem_expansion_read, ps2_mem_expansion_write, ps2_mem_expansion_feedb, NULL, NULL);
mem_mapping_add(&ps2.expansion_mapping,
expansion_start,
(mem_size - (start_mb << 10)) << 10,
mem_read_ram,
mem_read_ramw,
mem_read_raml,
mem_write_ram,
mem_write_ramw,
mem_write_raml,
&ram[expansion_start],
MEM_MAPPING_INTERNAL,
NULL);
mem_mapping_disable(&ps2.expansion_mapping);
}
static void ps2_mca_board_model_50_init()
{
ps2_mca_board_common_init();
@@ -995,7 +1020,7 @@ static void ps2_mca_board_model_55sx_init()
model_55sx_mem_recalc();
}
static void mem_encoding_update()
static void mem_encoding_update(void)
{
mem_mapping_disable(&ps2.split_mapping);
@@ -1005,6 +1030,8 @@ static void mem_encoding_update()
mem_set_mem_state(1 << 20, (mem_size << 10) - (1 << 20), MEM_READ_INTERNAL | MEM_WRITE_INTERNAL);
ps2.split_addr = ((uint32_t) (ps2.mem_regs[0] & 0xf)) << 20;
if (!ps2.split_addr)
ps2.split_addr = 1 << 20;
if (ps2.mem_regs[1] & 2) {
mem_set_mem_state(0xe0000, 0x20000, MEM_READ_EXTANY | MEM_WRITE_INTERNAL);
@@ -1210,14 +1237,22 @@ static void ps2_mca_board_model_70_type34_init(int is_type4, int slots)
if (ps2.planar_id == 0xfff9) {
if (mem_size > 4096)
{
/* Only 4 MB supported on planar, create a memory expansion card for the rest */
ps2_mca_mem_fffc_init(4);
/* Only 4 MB supported on planar, create a memory expansion card for the rest */
if (mem_size > 12288) {
ps2_mca_mem_d071_init(4);
} else {
ps2_mca_mem_fffc_init(4);
}
}
} else {
if (mem_size > 8192)
{
/* Only 8 MB supported on planar, create a memory expansion card for the rest */
ps2_mca_mem_fffc_init(8);
/* Only 8 MB supported on planar, create a memory expansion card for the rest */
if (mem_size > 16384)
ps2_mca_mem_d071_init(8);
else {
ps2_mca_mem_fffc_init(8);
}
}
}
@@ -1288,8 +1323,12 @@ static void ps2_mca_board_model_80_type2_init(int is486)
if ((mem_size > 4096) && !is486)
{
/* Only 4 MB supported on planar, create a memory expansion card for the rest */
ps2_mca_mem_fffc_init(4);
/* Only 4 MB supported on planar, create a memory expansion card for the rest */
if (mem_size > 12288)
ps2_mca_mem_d071_init(4);
else {
ps2_mca_mem_fffc_init(4);
}
}
if (gfxcard == VID_INTERNAL)

View File

@@ -309,11 +309,11 @@ const machine_t machines[] = {
/* 386DX machines which utilize the MCA bus */
/* Has IBM PS/2 Type 1 KBC firmware. */
{ "[MCA] IBM PS/2 model 70 (type 3)", "ibmps2_m70_type3", MACHINE_TYPE_386DX, CPU_PKG_386DX | CPU_PKG_486BL, 0, 0, 0, 0, 0, 0, 0, MACHINE_MCA | MACHINE_BUS_PS2 | MACHINE_VIDEO, 2048, 16384, 2048, 63, machine_ps2_model_70_type3_init, NULL },
{ "[MCA] IBM PS/2 model 70 (type 3)", "ibmps2_m70_type3", MACHINE_TYPE_386DX, CPU_PKG_386DX | CPU_PKG_486BL, 0, 0, 0, 0, 0, 0, 0, MACHINE_MCA | MACHINE_BUS_PS2 | MACHINE_VIDEO, 2048, 65536, 2048, 63, machine_ps2_model_70_type3_init, NULL },
/* Has IBM PS/2 Type 1 KBC firmware. */
{ "[MCA] IBM PS/2 model 80", "ibmps2_m80", MACHINE_TYPE_386DX, CPU_PKG_386DX | CPU_PKG_486BL, 0, 0, 0, 0, 0, 0, 0, MACHINE_MCA | MACHINE_BUS_PS2 | MACHINE_VIDEO, 1024, 12288, 1024, 63, machine_ps2_model_80_init, NULL },
{ "[MCA] IBM PS/2 model 80 (type 2)", "ibmps2_m80", MACHINE_TYPE_386DX, CPU_PKG_386DX | CPU_PKG_486BL | CPU_PKG_SOCKET1, 0, 0, 0, 0, 0, 0, 0, MACHINE_MCA | MACHINE_BUS_PS2 | MACHINE_VIDEO, 1024, 65536, 1024, 63, machine_ps2_model_80_init, NULL },
/* Has IBM PS/2 Type 1 KBC firmware. */
{ "[MCA] IBM PS/2 model 80 (type 3)", "ibmps2_m80_type3", MACHINE_TYPE_386DX, CPU_PKG_386DX | CPU_PKG_486BL, 0, 0, 0, 0, 0, 0, 0, MACHINE_MCA | MACHINE_BUS_PS2 | MACHINE_VIDEO, 2048, 12288, 2048, 63, machine_ps2_model_80_axx_init, NULL },
{ "[MCA] IBM PS/2 model 80 (type 3)", "ibmps2_m80_type3", MACHINE_TYPE_386DX, CPU_PKG_386DX | CPU_PKG_486BL | CPU_PKG_SOCKET1, 0, 0, 0, 0, 0, 0, 0, MACHINE_MCA | MACHINE_BUS_PS2 | MACHINE_VIDEO, 2048, 65536, 2048, 63, machine_ps2_model_80_axx_init, NULL },
/* 386DX/486 machines */
/* The BIOS sends commands C9 without a parameter and D5, both of which are

View File

@@ -315,8 +315,8 @@ compaq_cga_poll(void *p)
compaq_cga_log("Lastline %i Firstline %i %i\n", self->cga.lastline,
self->cga.firstline ,self->cga.lastline - self->cga.firstline);
if (self->cga.cgamode & 1) x = (self->cga.crtc[1] << 3);
else x = (self->cga.crtc[1] << 4);
if (self->cga.cgamode & 1) x = (self->cga.crtc[1] << 3) + 16;
else x = (self->cga.crtc[1] << 4) + 16;
self->cga.lastline++;

View File

@@ -27,13 +27,17 @@ if(NOT CPPTHREADS)
target_sources(plat PRIVATE win_thread.c)
endif()
if(NOT MINGW)
# CMake 3.22 messed this up for clang/clang++
# See https://gitlab.kitware.com/cmake/cmake/-/issues/22611
if(MSVC OR (NOT MINGW AND CMAKE_VERSION VERSION_GREATER_EQUAL 3.22))
# MSVC linker adds its own manifest to the executable, which fails if
# we include ours in 86Box.rc. We therefore need to pass the manifest
# directly as as a source file, so the linker can use that instead.
set_property(SOURCE 86Box.rc PROPERTY COMPILE_DEFINITIONS NO_INCLUDE_MANIFEST)
target_sources(86Box PRIVATE 86Box.manifest)
endif()
if(NOT MINGW)
# Append null to resource strings (fixes file dialogs)
set_property(SOURCE 86Box.rc PROPERTY COMPILE_FLAGS -n)

View File

@@ -21,34 +21,34 @@ BEGIN
MENUITEM "将右 CTRL 键映射为左 ALT 键(&R)", IDM_ACTION_RCTRL_IS_LALT
MENUITEM SEPARATOR
MENUITEM "硬重置(&H)...", IDM_ACTION_HRESET
MENUITEM "&Ctrl+Alt+Del\tCtrl+F12", IDM_ACTION_RESET_CAD
MENUITEM "Ctrl+Alt+Del(&C)\tCtrl+F12", IDM_ACTION_RESET_CAD
MENUITEM SEPARATOR
MENUITEM "Ctrl+Alt+&Esc", IDM_ACTION_CTRL_ALT_ESC
MENUITEM "Ctrl+Alt+Esc(&E)", IDM_ACTION_CTRL_ALT_ESC
MENUITEM SEPARATOR
MENUITEM "暂停(&P)", IDM_ACTION_PAUSE
MENUITEM SEPARATOR
MENUITEM "退出(&x)...", IDM_ACTION_EXIT
MENUITEM "退出(&X)...", IDM_ACTION_EXIT
END
POPUP "显示(&V)"
BEGIN
MENUITEM "隐藏状态栏(&H)", IDM_VID_HIDE_STATUS_BAR
MENUITEM SEPARATOR
MENUITEM "窗口尺寸可调(&R)", IDM_VID_RESIZE
MENUITEM "记忆窗口尺寸和位置(&e)", IDM_VID_REMEMBER
MENUITEM "记忆窗口尺寸和位置(&E)", IDM_VID_REMEMBER
MENUITEM SEPARATOR
POPUP "渲染器(&n)"
POPUP "渲染器(&N)"
BEGIN
MENUITEM "&SDL (软件)", IDM_VID_SDL_SW
MENUITEM "SDL (硬件 &H)", IDM_VID_SDL_HW
MENUITEM "SDL (&OpenGL)", IDM_VID_SDL_OPENGL
MENUITEM "Open&GL (3.0 Core)", IDM_VID_OPENGL_CORE
MENUITEM "SDL (软件)(&S)", IDM_VID_SDL_SW
MENUITEM "SDL (硬件)(&H)", IDM_VID_SDL_HW
MENUITEM "SDL (OpenGL)(&O)", IDM_VID_SDL_OPENGL
MENUITEM "OpenGL (3.0 Core)(&G)", IDM_VID_OPENGL_CORE
#ifdef USE_VNC
MENUITEM "&VNC", IDM_VID_VNC
MENUITEM "VNC(&V)", IDM_VID_VNC
#endif
END
MENUITEM SEPARATOR
MENUITEM "指定窗口大小...", IDM_VID_SPECIFY_DIM
MENUITEM "强制以 4:3 显示画面(&o)", IDM_VID_FORCE43
MENUITEM "强制以 4:3 显示画面(&O)", IDM_VID_FORCE43
POPUP "窗口缩放比例(&W)"
BEGIN
MENUITEM "&0.5x", IDM_VID_SCALE_1X
@@ -61,20 +61,20 @@ BEGIN
MENUITEM "邻近(&N)", IDM_VID_FILTER_NEAREST
MENUITEM "线性(&L)", IDM_VID_FILTER_LINEAR
END
MENUITEM "Hi&DPI 缩放", IDM_VID_HIDPI
MENUITEM "HiDPI 缩放(&D)", IDM_VID_HIDPI
MENUITEM SEPARATOR
MENUITEM "全屏(&F)\tCtrl+Alt+PageUP", IDM_VID_FULLSCREEN
POPUP "全屏拉伸模式(&s)"
POPUP "全屏拉伸模式(&S)"
BEGIN
MENUITEM "全屏拉伸(&F)", IDM_VID_FS_FULL
MENUITEM "&4:3", IDM_VID_FS_43
MENUITEM "4:3(&4)", IDM_VID_FS_43
MENUITEM "保持比例(&S)", IDM_VID_FS_KEEPRATIO
MENUITEM "整数倍放大(&I)", IDM_VID_FS_INT
END
POPUP "E&GA/(S)VGA 设置"
POPUP "EGA/(S)VGA 设置(&G)"
BEGIN
MENUITEM "反色 VGA 显示器(&I)", IDM_VID_INVERT
POPUP "VGA 屏幕类型(&t)"
MENUITEM "VGA 显示器反色显示(&I)", IDM_VID_INVERT
POPUP "VGA 屏幕类型(&T)"
BEGIN
MENUITEM "RGB 彩色(&C)", IDM_VID_GRAY_RGB
MENUITEM "RGB 灰度(&R)", IDM_VID_GRAY_MONO
@@ -82,16 +82,16 @@ BEGIN
MENUITEM "绿色单色显示器(&G)", IDM_VID_GRAY_GREEN
MENUITEM "白色单色显示器(&W)", IDM_VID_GRAY_WHITE
END
POPUP "灰度转换类型(&c)"
POPUP "灰度转换类型(&C)"
BEGIN
MENUITEM "BT&601 (NTSC/PAL)", IDM_VID_GRAYCT_601
MENUITEM "BT&709 (HDTV)", IDM_VID_GRAYCT_709
MENUITEM "BT601 (NTSC/PAL)(&6)", IDM_VID_GRAYCT_601
MENUITEM "BT709 (HDTV)(&7)", IDM_VID_GRAYCT_709
MENUITEM "平均(&A)", IDM_VID_GRAYCT_AVE
END
END
MENUITEM SEPARATOR
MENUITEM "CGA/PCjr/Tandy/EGA/(S)VGA 过扫描(&G)", IDM_VID_OVERSCAN
MENUITEM "更改灰度显示器对比度(&m)", IDM_VID_CGACON
MENUITEM "更改灰度显示器对比度(&M)", IDM_VID_CGACON
END
MENUITEM "介质(&M)", IDM_MEDIA
POPUP "工具(&T)"
@@ -99,12 +99,12 @@ BEGIN
MENUITEM "设置(&S)...", IDM_CONFIG
MENUITEM "更新状态栏图标(&U)", IDM_UPDATE_ICONS
MENUITEM SEPARATOR
MENUITEM "截图(&c)\tCtrl+F11", IDM_ACTION_SCREENSHOT
MENUITEM "截图(&C)\tCtrl+F11", IDM_ACTION_SCREENSHOT
MENUITEM SEPARATOR
MENUITEM "首选项(&P)...", IDM_PREFERENCES
MENUITEM "启用 Discord 集成(&D)", IDM_DISCORD
MENUITEM SEPARATOR
MENUITEM "音量增益(&g)...", IDM_SND_GAIN
MENUITEM "音量增益(&G)...", IDM_SND_GAIN
#ifdef MTR_ENABLED
MENUITEM SEPARATOR
MENUITEM "开始追踪\tCtrl+T", IDM_ACTION_BEGIN_TRACE
@@ -121,10 +121,10 @@ BEGIN
MENUITEM "启用 CD-ROM 日志\tCtrl+F5", IDM_LOG_CDROM
# endif
# ifdef ENABLE_D86F_LOG
MENUITEM "启用 软盘(86F) 日志\tCtrl+F6", IDM_LOG_D86F
MENUITEM "启用软盘 (86F) 日志\tCtrl+F6", IDM_LOG_D86F
# endif
# ifdef ENABLE_FDC_LOG
MENUITEM "启用软控制器日志\tCtrl+F7", IDM_LOG_FDC
MENUITEM "启用软控制器日志\tCtrl+F7", IDM_LOG_FDC
# endif
# ifdef ENABLE_IDE_LOG
MENUITEM "启用 IDE 日志\tCtrl+F8", IDM_LOG_IDE
@@ -143,7 +143,7 @@ BEGIN
MENUITEM "日志断点(&L)\tCtrl+F10", IDM_LOG_BREAKPOINT
# endif
# ifdef ENABLE_VRAM_DUMP
MENUITEM "创建显内存转储(&v)\tCtrl+F1", IDM_DUMP_VRAM
MENUITEM "创建显内存转储(&V)\tCtrl+F1", IDM_DUMP_VRAM
# endif
# endif
END
@@ -151,7 +151,7 @@ BEGIN
POPUP "帮助(&H)"
BEGIN
MENUITEM "文档(&D)...", IDM_DOCS
MENUITEM "关于(&A)...", IDM_ABOUT
MENUITEM "关于 86Box(&A)...", IDM_ABOUT
END
END
@@ -167,14 +167,14 @@ BEGIN
MENUITEM "新建镜像(&N)...", IDM_CASSETTE_IMAGE_NEW
MENUITEM SEPARATOR
MENUITEM "打开已存在的镜像(&E)...", IDM_CASSETTE_IMAGE_EXISTING
MENUITEM "写保护打开已存在的镜像(&W)...", IDM_CASSETTE_IMAGE_EXISTING_WP
MENUITEM "打开已存在的镜像并写保护(&W)...", IDM_CASSETTE_IMAGE_EXISTING_WP
MENUITEM SEPARATOR
MENUITEM "录制(&R)", IDM_CASSETTE_RECORD
MENUITEM "播放(&P)", IDM_CASSETTE_PLAY
MENUITEM "倒带至起点(&R)", IDM_CASSETTE_REWIND
MENUITEM "快进至终点(&F)", IDM_CASSETTE_FAST_FORWARD
MENUITEM SEPARATOR
MENUITEM "弹出(&j)", IDM_CASSETTE_EJECT
MENUITEM "弹出(&J)", IDM_CASSETTE_EJECT
END
END
@@ -184,7 +184,7 @@ BEGIN
BEGIN
MENUITEM "镜像(&I)...", IDM_CARTRIDGE_IMAGE
MENUITEM SEPARATOR
MENUITEM "弹出(&j)", IDM_CARTRIDGE_EJECT
MENUITEM "弹出(&J)", IDM_CARTRIDGE_EJECT
END
END
@@ -195,11 +195,11 @@ BEGIN
MENUITEM "新建镜像(&N)...", IDM_FLOPPY_IMAGE_NEW
MENUITEM SEPARATOR
MENUITEM "打开已存在的镜像(&E)...", IDM_FLOPPY_IMAGE_EXISTING
MENUITEM "写保护打开已存在的镜像(&W)...", IDM_FLOPPY_IMAGE_EXISTING_WP
MENUITEM "打开已存在的镜像并写保护(&W)...", IDM_FLOPPY_IMAGE_EXISTING_WP
MENUITEM SEPARATOR
MENUITEM "导出为86F格式(&x)...", IDM_FLOPPY_EXPORT_TO_86F
MENUITEM "导出为 86F 格式(&x)...", IDM_FLOPPY_EXPORT_TO_86F
MENUITEM SEPARATOR
MENUITEM "弹出(&j)", IDM_FLOPPY_EJECT
MENUITEM "弹出(&J)", IDM_FLOPPY_EJECT
END
END
@@ -209,7 +209,7 @@ BEGIN
BEGIN
MENUITEM "静音(&M)", IDM_CDROM_MUTE
MENUITEM SEPARATOR
MENUITEM "空置驱动器(&m)", IDM_CDROM_EMPTY
MENUITEM "空置驱动器(&M)", IDM_CDROM_EMPTY
MENUITEM "载入上一个镜像(&R)", IDM_CDROM_RELOAD
MENUITEM SEPARATOR
MENUITEM "镜像(&I)", IDM_CDROM_IMAGE
@@ -223,9 +223,9 @@ BEGIN
MENUITEM "新建镜像(&N)...", IDM_ZIP_IMAGE_NEW
MENUITEM SEPARATOR
MENUITEM "打开已存在的镜像(&E)...", IDM_ZIP_IMAGE_EXISTING
MENUITEM "写保护打开已存在的镜像(&W)...", IDM_ZIP_IMAGE_EXISTING_WP
MENUITEM "打开已存在的镜像并写保护(&W)...", IDM_ZIP_IMAGE_EXISTING_WP
MENUITEM SEPARATOR
MENUITEM "弹出(&j)", IDM_ZIP_EJECT
MENUITEM "弹出(&J)", IDM_ZIP_EJECT
MENUITEM "载入上一个镜像(&R)", IDM_ZIP_RELOAD
END
END
@@ -237,25 +237,25 @@ BEGIN
MENUITEM "新建镜像(&N)...", IDM_MO_IMAGE_NEW
MENUITEM SEPARATOR
MENUITEM "打开已存在的镜像(&E)...", IDM_MO_IMAGE_EXISTING
MENUITEM "写保护打开已存在的镜像(&W)...", IDM_MO_IMAGE_EXISTING_WP
MENUITEM "打开已存在的镜像并写保护(&W)...", IDM_MO_IMAGE_EXISTING_WP
MENUITEM SEPARATOR
MENUITEM "弹出(&j)", IDM_MO_EJECT
MENUITEM "弹出(&J)", IDM_MO_EJECT
MENUITEM "载入上一个镜像(&R)", IDM_MO_RELOAD
END
END
VidGLSubMenu MENU DISCARDABLE
BEGIN
POPUP "目标帧率(&f)"
POPUP "目标帧率(&F)"
BEGIN
MENUITEM "与视频同步(&S)", IDM_VID_GL_FPS_BLITTER
MENUITEM "&25 fps", IDM_VID_GL_FPS_25
MENUITEM "&30 fps", IDM_VID_GL_FPS_30
MENUITEM "&50 fps", IDM_VID_GL_FPS_50
MENUITEM "&60 fps", IDM_VID_GL_FPS_60
MENUITEM "&75 fps", IDM_VID_GL_FPS_75
MENUITEM "25 fps(&2)", IDM_VID_GL_FPS_25
MENUITEM "30 fps(&3)", IDM_VID_GL_FPS_30
MENUITEM "50 fps(&5)", IDM_VID_GL_FPS_50
MENUITEM "60 fps(&6)", IDM_VID_GL_FPS_60
MENUITEM "75 fps(&7)", IDM_VID_GL_FPS_75
END
MENUITEM "VSync 垂直同步(&V)", IDM_VID_GL_VSYNC
MENUITEM "垂直同步(&V)", IDM_VID_GL_VSYNC
MENUITEM "选择着色器(&S)...", IDM_VID_GL_SHADER
MENUITEM "移除着色器(&R)", IDM_VID_GL_NOSHADER
END
@@ -274,7 +274,7 @@ END
#define STR_OK "确定"
#define STR_CANCEL "取消"
#define STR_GLOBAL "将以上设存储为全局默认值(&g)"
#define STR_GLOBAL "将以上设存储为全局默认值(&G)"
#define STR_DEFAULT "默认(&D)"
#define STR_LANGUAGE "语言:"
#define STR_ICONSET "图标集:"
@@ -283,26 +283,26 @@ END
#define STR_FILE_NAME "文件名:"
#define STR_DISK_SIZE "磁盘大小:"
#define STR_RPM_MODE "转速(RPM)模式:"
#define STR_RPM_MODE "转速 (RPM) 模式:"
#define STR_PROGRESS "进度:"
#define STR_WIDTH "宽度:"
#define STR_HEIGHT "高度:"
#define STR_LOCK_TO_SIZE "锁定此大小"
#define STR_MACHINE_TYPE "机器类:"
#define STR_MACHINE_TYPE "机器类:"
#define STR_MACHINE "机型:"
#define STR_CONFIGURE "配置"
#define STR_CPU_TYPE "CPU 类型:"
#define STR_SPEED "速度:"
#define STR_FPU "浮点处理器(FPU):"
#define STR_WAIT_STATES "等待状态(WS):"
#define STR_FPU "浮点处理器 (FPU):"
#define STR_WAIT_STATES "等待状态 (WS):"
#define STR_MB "MB"
#define STR_MEMORY "内存:"
#define STR_TIME_SYNC "时间同步"
#define STR_DISABLED "禁用"
#define STR_ENABLED_LOCAL "启用(本地时间)"
#define STR_ENABLED_UTC "启用(UTC)"
#define STR_ENABLED_LOCAL "启用 (本地时间)"
#define STR_ENABLED_UTC "启用 (UTC)"
#define STR_DYNAREC "动态重编译器"
#define STR_VIDEO "显卡:"
@@ -322,11 +322,11 @@ END
#define STR_SSI "Innovation SSI-2001"
#define STR_CMS "CMS / Game Blaster"
#define STR_GUS "Gravis Ultrasound"
#define STR_FLOAT "使用 FLOAT32 音频"
#define STR_FLOAT "使用单精度浮点 (FLOAT32) 音频"
#define STR_NET_TYPE "网络类型:"
#define STR_PCAP "PCap 设备:"
#define STR_NET "网卡类型:"
#define STR_NET "网络适配器:"
#define STR_LPT1 "LPT1 设备:"
#define STR_LPT2 "LPT2 设备:"
@@ -340,7 +340,7 @@ END
#define STR_PARALLEL3 "并口 3"
#define STR_HDC "硬盘控制器:"
#define STR_FDC "软控制器:"
#define STR_FDC "软控制器:"
#define STR_IDE_TER "第三 IDE 控制器"
#define STR_IDE_QUA "第四 IDE 控制器"
#define STR_SCSI "SCSI"
@@ -348,7 +348,7 @@ END
#define STR_SCSI_2 "控制器 2:"
#define STR_SCSI_3 "控制器 3:"
#define STR_SCSI_4 "控制器 4:"
#define STR_CASSETTE "带"
#define STR_CASSETTE "带"
#define STR_HDD "硬盘:"
#define STR_NEW "新建(&N)..."
@@ -362,12 +362,12 @@ END
#define STR_SECTORS "扇区(S):"
#define STR_HEADS "磁头(H):"
#define STR_CYLS "柱面(C):"
#define STR_SIZE_MB "大小(MB):"
#define STR_SIZE_MB "大小 (MB):"
#define STR_TYPE "类型:"
#define STR_IMG_FORMAT "镜像格式:"
#define STR_BLOCK_SIZE "块大小:"
#define STR_FLOPPY_DRIVES "软驱设备:"
#define STR_FLOPPY_DRIVES "软盘驱动器:"
#define STR_TURBO "加速时序"
#define STR_CHECKBPB "检查 BPB"
#define STR_CDROM_DRIVES "CD-ROM 设备:"
@@ -376,14 +376,14 @@ END
#define STR_ZIP_DRIVES "ZIP 设备:"
#define STR_250 "ZIP 250"
#define STR_ISARTC "ISA RTC:"
#define STR_ISARTC "ISA 实时时钟 (RTC):"
#define STR_ISAMEM "ISA 内存扩充"
#define STR_ISAMEM_1 "扩展卡 1:"
#define STR_ISAMEM_2 "扩展卡 2:"
#define STR_ISAMEM_3 "扩展卡 3:"
#define STR_ISAMEM_4 "扩展卡 4:"
#define STR_BUGGER "ISABugger 设备"
#define STR_POSTCARD "自检(POST)"
#define STR_POSTCARD "自检 (POST)"
#define FONT_SIZE 9
#define FONT_NAME "Microsoft YaHei"
@@ -400,39 +400,39 @@ BEGIN
2048 "86Box"
IDS_2049 "错误"
IDS_2050 "致命错误"
IDS_2051 "<保留>"
IDS_2052 "按 CTRL+ALT+PAGE DOWN 组合键返回窗口模式."
IDS_2051 "<reserved>"
IDS_2052 "按 CTRL+ALT+PAGE DOWN 组合键返回窗口模式"
IDS_2053 "速度"
IDS_2054 "ZIP %03i %i (%s): %ls"
IDS_2055 "ZIP 镜像 (*.IM?;*.ZDI)\0*.IM?;*.ZDI\0"
IDS_2056 "86Box 找不到支持的 ROM 镜像.\n\n请<a href=""https://github.com/86Box/roms/releases/latest"">下载</a>ROM包并解压到 ""roms"" 文件夹."
IDS_2056 "86Box 找不到任何可用的 ROM 镜像\n\n请<a href=""https://github.com/86Box/roms/releases/latest"">下载</a>ROM 包并将其解压到 ""roms"" 文件夹"
IDS_2057 "(空)"
IDS_2058 "ZIP 镜像 (*.IM?;*.ZDI)\0*.IM?;*.ZDI\0所有文件 (*.*)\0*.*\0"
IDS_2059 "加速"
IDS_2060 "开"
IDS_2061 "关"
IDS_2062 "所有镜像 (*.86F;*.DSK;*.FLP;*.IM?;*.*FD?)\0*.86F;*.DSK;*.FLP;*.IM?;*.*FD?\0基本扇区镜像 (*.DSK;*.FLP;*.IM?;*.*FD?)\0*.DSK;*.FLP;*.IM?;*.IMG;*.*FD?\0表面镜像 (*.86F)\0*.86F\0"
IDS_2063 "由于 roms/machines 文件夹中缺少合适的ROM, ""%hs"" 机型不可用. 将切换到其他可用机型."
IDS_2063 "由于 roms/machines 文件夹中缺少合适的 ROM,机型 ""%hs"" 不可用将切换到其他可用机型"
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_2064 "由于 roms/video 文件夹中缺少合适的ROM, ""%hs"" 机型不可用. 将切换到其他可用显卡."
IDS_2064 "由于 roms/video 文件夹中缺少合适的 ROM,显卡 ""%hs"" 不可用将切换到其他可用显卡"
IDS_2065 "机型"
IDS_2066 "显示"
IDS_2067 "输入设备"
IDS_2068 "声音"
IDS_2069 "网络"
IDS_2070 "端口 (COM LPT)"
IDS_2070 "端口 (COM / LPT)"
IDS_2071 "存储控制器"
IDS_2072 "硬盘"
IDS_2073 "软驱和光驱"
IDS_2074 "其他可移动存储设备"
IDS_2075 "其他附件"
IDS_2075 "其他外围设备"
IDS_2076 "表面镜像 (*.86F)\0*.86F\0"
IDS_2077 "单击窗口捕捉鼠标"
IDS_2078 "按 F8+F12 释放鼠标"
IDS_2079 "按 F8+F12 或中键释放鼠标"
IDS_2079 "按 F8+F12 或鼠标中键释放鼠标"
END
STRINGTABLE DISCARDABLE
@@ -446,9 +446,9 @@ BEGIN
IDS_2086 "MB"
IDS_2087 "检查 BPB"
IDS_2088 "KB"
IDS_2089 "无法初始化视频渲染器."
IDS_2089 "无法初始化视频渲染器"
IDS_2090 "默认"
IDS_2091 "%i 等待状态(WS)"
IDS_2091 "%i 等待状态 (WS)"
IDS_2092 "类型"
IDS_2093 "设置 PCap 失败"
IDS_2094 "未找到 PCap 设备"
@@ -461,30 +461,30 @@ BEGIN
IDS_2101 "Microsoft SideWinder Pad"
IDS_2102 "Thrustmaster Flight Control System"
IDS_2103 "无"
IDS_2104 "无法加载键盘加速器."
IDS_2105 "无法注册原始(raw)输入."
IDS_2104 "无法加载键盘加速器"
IDS_2105 "无法注册原始输入"
IDS_2106 "%u"
IDS_2107 "%u MB (CHS: %i, %i, %i)"
IDS_2108 "软盘 %i (%s): %ls"
IDS_2109 "所有镜像 (*.0??;*.1??;*.??0;*.86F;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.JSON;*.TD0;*.*FD?;*.MFM;*.XDF)\0*.0??;*.1??;*.??0;*.86F;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.JSON;*.TD0;*.*FD?;*.MFM;*.XDF\0高级扇区镜像 (*.IMD;*.JSON;*.TD0)\0*.IMD;*.JSON;*.TD0\0基本扇区镜像 (*.0??;*.1??;*.??0;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.XDF;*.*FD?)\0*.0??;*.1??;*.??0;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.XDF;*.*FD?\0Flux images (*.FDI)\0*.FDI\0表面镜像 (*.86F;*.MFM)\0*.86F;*.MFM\0所有文件 (*.*)\0*.*\0"
IDS_2110 "无法初始化 FreeType"
IDS_2111 "无法初始化 SDL, 需要 SDL2.dll"
IDS_2112 "确定要硬重置模拟器吗?"
IDS_2113 "确定要退出 86Box 吗?"
IDS_2111 "无法初始化 SDL需要 SDL2.dll"
IDS_2112 "确定要硬重置模拟器吗"
IDS_2113 "确定要退出 86Box 吗"
IDS_2114 "无法初始化 Ghostscript"
IDS_2115 "MO %i (%ls): %ls"
IDS_2116 "MO 镜像 (*.IM?;*.MDI)\0*.IM?;*.MDI\0所有文件 (*.*)\0*.*\0"
IDS_2117 "欢迎使用 86Box!"
IDS_2118 "内部控制器"
IDS_2119 "退出"
IDS_2120 "未找到ROM"
IDS_2121 "要保存设置吗?"
IDS_2120 "未找到 ROM"
IDS_2121 "要保存设置吗"
IDS_2122 "此操作将硬重置模拟器."
IDS_2123 "保存"
IDS_2124 "关于 86Box"
IDS_2125 "86Box v" EMU_VERSION
IDS_2126 "一个旧计算机模拟器\n\n作者: Sarah Walker, Miran Grca, Fred N. van Kempen (waltje), SA1988, Tiseno100, reenigne, leilei, JohnElliott, greatpsycho, and others.\n\n本软件依据 GNU 通用公共许可证第二版或更新版本发布. 详情见 LICENSE 文件."
IDS_2126 "一个旧计算机模拟器\n\n作者: Sarah WalkerMiran GrcaFred N. van Kempen (waltje)SA1988Tiseno100reenigneleileiJohnElliottgreatpsycho 等人。\n\n本软件依据 GNU 通用公共许可证第二版或更新版本发布详情见 LICENSE 文件"
IDS_2127 "确定"
IDS_2128 "硬件不可用"
#ifdef _WIN32
@@ -492,28 +492,28 @@ BEGIN
#else
#define LIB_NAME_PCAP "libpcap"
#endif
IDS_2129 "请确认 " LIB_NAME_PCAP " 已安装且使用兼容 " LIB_NAME_PCAP " 的网络连接."
IDS_2129 "请确认 " LIB_NAME_PCAP " 已安装且使用兼容 " LIB_NAME_PCAP " 的网络连接"
IDS_2130 "无效配置"
#ifdef _WIN32
#define LIB_NAME_FREETYPE "freetype.dll"
#else
#define LIB_NAME_FREETYPE "libfreetype"
#endif
IDS_2131 "ESC/P 打印机模拟需要." LIB_NAME_FREETYPE
IDS_2131 "ESC/P 打印机模拟需要" LIB_NAME_FREETYPE
#ifdef _WIN32
#define LIB_NAME_GS "gsdll32.dll"
#else
#define LIB_NAME_GS "libgs"
#endif
IDS_2132 LIB_NAME_GS "是将 PostScript 文件转换为 PDF所需要的库.\n\n所有通用PostScript打印机打印的文件将被保存为 PostScript (.ps) 文件."
IDS_2132 LIB_NAME_GS " 是将 PostScript 文件转换为 PDF 所需要的库\n\n所有通用 PostScript 打印机打印的文件将被保存为 PostScript (.ps) 文件"
#ifdef _WIN32
#define LIB_NAME_FLUIDSYNTH "libfluidsynth.dll"
#else
#define LIB_NAME_FLUIDSYNTH "libfluidsynth"
#endif
IDS_2133 "FluidSynth MIDI 输出需要" LIB_NAME_FLUIDSYNTH
IDS_2134 "即将进入全屏模式"
IDS_2135 "请勿再显示此提示"
IDS_2134 "正在进入全屏模式"
IDS_2135 "不要再显示此消息"
IDS_2136 "不退出"
IDS_2137 "重置"
IDS_2138 "不重置"
@@ -523,15 +523,15 @@ BEGIN
IDS_2142 "显示器处在睡眠状态"
IDS_2143 "OpenGL 着色器 (*.GLSL)\0*.GLSL\0所有文件 (*.*)\0*.*\0"
IDS_2144 "OpenGL 选项"
IDS_2145 "正在载入一个不受支持的配置"
IDS_2146 "此模拟计算机禁用了基于选定计算机的 CPU 类型过滤. \n\n这使得选择与选定计算机不兼容的 CPU 成为可能. 但是, 您可能会遇到与机器 BIOS 或其他软件不兼容的问题. \n\n官方不支持启用此设置, 并且提交的任何错误报告可能会无效而关闭."
IDS_2145 "正在载入一个不受支持的配置"
IDS_2146 "此模拟计算机禁用了基于选定计算机的 CPU 类型过滤\n\n能够选中与所选机器本不兼容的 CPU但是可能会遇到与机器 BIOS 或其他软件不兼容的问题\n\n启用此设置不受官方支持,并且提交的任何错误报告可能会视为无效而关闭"
IDS_2147 "继续"
IDS_2148 "磁带: %s"
IDS_2149 "磁带镜像 (*.PCM;*.RAW;*.WAV;*.CAS)\0*.PCM;*.RAW;*.WAV;*.CAS\0所有文件 (*.*)\0*.*\0"
IDS_2150 "卡带 %i: %ls"
IDS_2151 "卡带镜像 (*.A;*.B;*.JRC)\0*.A;*.B;*.JRC\0所有文件 (*.*)\0*.*\0"
IDS_2152 "Error initializing renderer"
IDS_2153 "OpenGL (3.0 Core) renderer could not be initialized. Use another renderer."
IDS_2152 "初始化渲染器时出错"
IDS_2153 "无法初始化 OpenGL (3.0 Core) 渲染器。请使用其他渲染器。"
END
STRINGTABLE DISCARDABLE
@@ -539,26 +539,26 @@ BEGIN
IDS_4096 "硬盘 (%s)"
IDS_4097 "%01i:%01i"
IDS_4098 "%01i"
IDS_4099 "历史上没有出现过 MFM/RLL 或 ESDI CD-ROM 驱动器"
IDS_4099 "不存在 MFM/RLL 或 ESDI CD-ROM 驱动器"
IDS_4100 "自定义..."
IDS_4101 "自定义 (large)..."
IDS_4101 "自定义 (大容量)..."
IDS_4102 "添加新硬盘"
IDS_4103 "添加已存在的硬盘"
IDS_4104 "HDI 磁盘镜像不能超过 4 GB."
IDS_4105 "磁盘镜像不能超过 127 GB."
IDS_4104 "HDI 磁盘镜像不能超过 4 GB"
IDS_4105 "磁盘镜像不能超过 127 GB"
IDS_4106 "硬盘镜像 (*.HD?;*.IM?;*.VHD)\0*.HD?;*.IM?;*.VHD\0所有文件 (*.*)\0*.*\0"
IDS_4107 "无法读取文件"
IDS_4108 "无法写入文件"
IDS_4109 "不支持非 512 字节扇区的 HDI 或 HDX 镜像."
IDS_4110 "尚支持 USB"
IDS_4109 "不支持非 512 字节扇区的 HDI 或 HDX 镜像"
IDS_4110 "尚支持 USB"
IDS_4111 "磁盘镜像文件已存在"
IDS_4112 "请指定有效的文件名."
IDS_4113 "磁盘镜像创建完成"
IDS_4112 "请指定有效的文件名"
IDS_4113 "已创建磁盘镜像"
IDS_4114 "请确定此文件已存在并可读取"
IDS_4115 "请确定此文件保存在可写的文件夹中."
IDS_4115 "请确定此文件保存在可写的文件夹中"
IDS_4116 "磁盘镜像太大"
IDS_4117 "请记得为新创建的镜像分区并格式化."
IDS_4118 "选定的文件将被覆盖. 您确定继续使用此文件吗?"
IDS_4117 "请记得为新创建的镜像分区并格式化"
IDS_4118 "选定的文件将被覆盖您确定继续使用此文件吗"
IDS_4119 "不支持的磁盘镜像"
IDS_4120 "覆盖"
IDS_4121 "不覆盖"
@@ -572,9 +572,9 @@ BEGIN
IDS_4129 "小块 (512 KB)"
IDS_4130 "VHD 文件 (*.VHD)\0*.VHD\0所有文件 (*.*)\0*.*\0"
IDS_4131 "选择父 VHD 文件"
IDS_4132 "这可能因为在创建差异镜像后修改了父映像. \n\n如果镜像文件被移动或复制, 或由于创建此磁盘的程序中的错误, 也可能发生这种情况. \n\n是否需要修复时间戳?"
IDS_4133 "父盘与子盘的时间戳不匹配."
IDS_4134 "无法修复 VHD 时间戳."
IDS_4132 "父映像可能在创建差异镜像后修改\n\n如果镜像文件被移动或复制或由于创建此磁盘的程序中存在错误,也可能发生这种情况\n\n是否需要修复时间戳"
IDS_4133 "父盘与子盘的时间戳不匹配"
IDS_4134 "无法修复 VHD 时间戳"
IDS_4135 "%01i:%02i"
IDS_4352 "MFM/RLL"
@@ -593,11 +593,11 @@ BEGIN
IDS_5120 "CD-ROM %i (%s): %s"
IDS_5376 "禁用"
IDS_5376 "禁用"
IDS_5381 "ATAPI"
IDS_5382 "SCSI"
IDS_5632 "禁用"
IDS_5632 "禁用"
IDS_5637 "ATAPI (%01i:%01i)"
IDS_5638 "SCSI (%01i:%02i)"
@@ -626,10 +626,10 @@ BEGIN
IDS_5910 "5.25"" 1Gb M.O."
IDS_5911 "5.25"" 1.3Gb M.O."
IDS_6144 "标准转速(RPM)"
IDS_6145 "低于标准转速 1%%"
IDS_6146 "低于标准转速 1.5%%"
IDS_6147 "低于标准转速 2%%"
IDS_6144 "标准转速 (RPM)"
IDS_6145 "低于标准转速 1%%"
IDS_6146 "低于标准转速 1.5%%"
IDS_6147 "低于标准转速 2%%"
IDS_7168 "(系统默认)"
END