Merge branch 'master' of ssh://github.com/86Box/86Box into cleanup30

This commit is contained in:
RichardG867
2021-11-18 20:28:59 -03:00
53 changed files with 6917 additions and 1719 deletions

1
.gitignore vendored
View File

@@ -37,3 +37,4 @@ Makefile
# Visual Studio Code
/.vs
/.vscode
src/win/RCa04980

View File

@@ -27,6 +27,9 @@
#include <string.h>
#include <time.h>
#include <wchar.h>
#ifndef _WIN32
#include <pwd.h>
#endif
#ifdef __APPLE__
#include <string.h>
#include <dispatch/dispatch.h>
@@ -583,9 +586,13 @@ usage:
}
if (vmrp && (path2[0] == '\0')) {
#ifdef __APPLE__
sprintf("%s/Library/Application Support/86Box/roms", getenv("HOME") ? getenv("HOME") : getpwuid(getuid())->pw_dir);
#else
strcpy(path2, usr_path);
plat_path_slash(path2);
strcat(path2, "roms");
#endif
plat_path_slash(path2);
}
@@ -709,12 +716,7 @@ usage:
/* Load the desired language */
if (lang_init)
lang_id = lang_init;
lang_init = lang_id;
lang_id = 0;
if (lang_init)
set_language(lang_init);
/* All good! */
return(1);
}

View File

@@ -89,7 +89,7 @@ if(APPLE)
set(CMAKE_MACOSX_BUNDLE 1)
# setting our compilation target to macOS Mojave (macOS version 10.14), can be eventually changed to macOS 10.13 High Sierra
set(CMAKE_OSX_DEPLOYMENT_TARGET "10.14")
set(CMAKE_OSX_DEPLOYMENT_TARGET "10.13")
# set the Info.plist properly
set_target_properties(86Box PROPERTIES MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/mac/Info.plist.in)

View File

@@ -573,6 +573,12 @@ load_general(void)
lang_id = plat_language_code(p);
}
p = config_get_string(cat, "iconset", NULL);
if (p != NULL)
strcpy(icon_set, p);
else
strcpy(icon_set, "");
#if USE_DISCORD
enable_discord = !!config_get_int(cat, "enable_discord", 0);
#endif
@@ -2230,6 +2236,11 @@ save_general(void)
plat_language_code_r(lang_id, buffer, 511);
config_set_string(cat, "language", buffer);
}
if (!strcmp(icon_set, ""))
config_delete_var(cat, "iconset");
else
config_set_string(cat, "iconset", icon_set);
#if USE_DISCORD
if (enable_discord)

View File

@@ -607,8 +607,6 @@ static int opF7_l_a32(uint32_t fetchdat)
static int opHLT(uint32_t fetchdat)
{
pclog("HLT: CS = %04X, DS = %04X, ES = %04X, SS = %04X, IP = %04X\n", CS, DS, ES, SS, cpu_state.pc);
if ((CPL || (cpu_state.eflags&VM_FLAG)) && (cr0&1))
{
x86gpf(NULL,0);

View File

@@ -97,6 +97,7 @@ extern int window_w, window_h, /* (C) window size and */
invert_display, /* (C) invert the display */
suppress_overscan; /* (C) suppress overscans */
extern uint32_t lang_id; /* (C) language code identifier */
extern char icon_set[256]; /* (C) iconset identifier */
extern int scale; /* (C) screen scale factor */
extern int dpi_scale; /* (C) DPI scaling of the emulated screen */
extern int vid_api; /* (C) video renderer */

View File

@@ -265,8 +265,10 @@
#define IDC_COMBO_RPM_MODE 1202
#define IDC_COMBO_LANG 1009 /* change language dialog */
#define IDC_COMBO_ICON 1010
#define IDC_CHECKBOX_GLOBAL 1300
#define IDC_BUTTON_DEFAULT 1302
#define IDC_BUTTON_DEFICON 1304
/* For the DeviceConfig code, re-do later. */
#define IDC_CONFIG_BASE 1300

View File

@@ -226,6 +226,8 @@ extern void ati68860_hwcursor_draw(svga_t *svga, int displine);
extern void att49x_ramdac_out(uint16_t addr, int rs2, uint8_t val, void *p, svga_t *svga);
extern uint8_t att49x_ramdac_in(uint16_t addr, int rs2, void *p, svga_t *svga);
extern void att498_ramdac_out(uint16_t addr, int rs2, uint8_t val, void *p, svga_t *svga);
extern uint8_t att498_ramdac_in(uint16_t addr, int rs2, void *p, svga_t *svga);
extern float av9194_getclock(int clock, void *p);
extern void bt48x_ramdac_out(uint16_t addr, int rs2, int rs3, uint8_t val, void *p, svga_t *svga);
@@ -278,6 +280,7 @@ extern const device_t ati68860_ramdac_device;
extern const device_t att490_ramdac_device;
extern const device_t att491_ramdac_device;
extern const device_t att492_ramdac_device;
extern const device_t att498_ramdac_device;
extern const device_t av9194_device;
extern const device_t bt484_ramdac_device;
extern const device_t att20c504_ramdac_device;

View File

@@ -226,24 +226,28 @@ extern const device_t compaq_ati28800_device;
extern const device_t ati28800_wonderxl24_device;
#endif
/* Cirrus Logic CL-GD 54xx */
/* Cirrus Logic GD54xx */
extern const device_t gd5401_isa_device;
extern const device_t gd5402_isa_device;
extern const device_t gd5402_onboard_device;
extern const device_t gd5420_isa_device;
extern const device_t gd5422_isa_device;
extern const device_t gd5424_vlb_device;
extern const device_t gd5426_isa_device;
extern const device_t gd5426_diamond_speedstar_pro_a1_isa_device;
extern const device_t gd5426_vlb_device;
extern const device_t gd5426_onboard_device;
extern const device_t gd5428_isa_device;
extern const device_t gd5428_vlb_device;
extern const device_t gd5428_diamond_speedstar_pro_b1_vlb_device;
extern const device_t gd5428_mca_device;
extern const device_t gd5428_onboard_device;
extern const device_t gd5429_isa_device;
extern const device_t gd5429_vlb_device;
extern const device_t gd5430_vlb_device;
extern const device_t gd5430_diamond_speedstar_pro_se_a8_vlb_device;
extern const device_t gd5430_pci_device;
extern const device_t gd5434_isa_device;
extern const device_t gd5434_diamond_speedstar_64_a3_isa_device;
extern const device_t gd5434_onboard_pci_device;
extern const device_t gd5434_vlb_device;
extern const device_t gd5434_pci_device;
@@ -369,6 +373,7 @@ extern const device_t s3_mirocrystal_20sv_964_pci_device;
extern const device_t s3_mirocrystal_20sd_864_vlb_device;
extern const device_t s3_phoenix_vision864_pci_device;
extern const device_t s3_phoenix_vision864_vlb_device;
extern const device_t s3_9fx_531_pci_device;
extern const device_t s3_phoenix_vision868_pci_device;
extern const device_t s3_phoenix_vision868_vlb_device;
extern const device_t s3_diamond_stealth64_pci_device;
@@ -376,6 +381,7 @@ extern const device_t s3_diamond_stealth64_vlb_device;
extern const device_t s3_diamond_stealth64_964_pci_device;
extern const device_t s3_diamond_stealth64_964_vlb_device;
extern const device_t s3_mirovideo_40sv_ergo_968_pci_device;
extern const device_t s3_9fx_771_pci_device;
extern const device_t s3_phoenix_vision968_pci_device;
extern const device_t s3_phoenix_vision968_vlb_device;
extern const device_t s3_spea_mercury_p64v_pci_device;

View File

@@ -107,6 +107,7 @@ extern HWND hwndMain,
hwndRender;
extern HANDLE ghMutex;
extern HICON hIcon[256];
extern int dpi;
extern RECT oldclip;
extern int sbar_height, user_resize;
extern int acp_utf8;
@@ -122,8 +123,6 @@ extern uint8_t filterindex;
extern void ResizeWindowByClientArea(HWND hwnd, int width, int height);
extern void InitCrashDump(void);
extern HICON LoadIconEx(PCTSTR pszIconName);
/* Emulator start/stop support functions. */
extern void do_start(void);
extern void do_stop(void);
@@ -150,6 +149,11 @@ extern int win_get_system_metrics(int i, int dpi);
extern LPARAM win_get_string(int id);
extern void win_clear_icon_set();
extern void win_system_icon_set();
extern void win_load_icon_set();
extern void win_get_icons_path(char* path_root);
extern intptr_t fdd_type_to_icon(int type);
#ifdef EMU_DEVICE_H
@@ -239,6 +243,9 @@ extern void media_menu_update_cdrom(int id);
extern void media_menu_update_zip(int id);
extern void media_menu_update_mo(int id);
/* Functions in win_ui.c */
extern HMENU menuMain;
extern void ResetAllMenus();
#ifdef __cplusplus
}

23
src/mac/macOSXGlue.h Normal file
View File

@@ -0,0 +1,23 @@
//
// macOSXGlue.h
// TestSDL
//
// Created by Jerome Vernet on 18/11/2021.
// Copyright © 2021 Jerome Vernet. All rights reserved.
//
#ifndef macOSXGlue_h
#define macOSXGlue_h
#include <CoreFoundation/CFBase.h>
CF_IMPLICIT_BRIDGING_ENABLED
CF_EXTERN_C_BEGIN
void getDefaultROMPath(char*);
int toto();
CF_EXTERN_C_END
CF_IMPLICIT_BRIDGING_DISABLED
#endif /* macOSXGlue_h */

45
src/mac/macOSXGlue.m Normal file
View File

@@ -0,0 +1,45 @@
//
// macOSXGlue.m
// 86BOx MacoSx Glue....
// Todo: so much
// Created by Jerome Vernet on 18/11/2021.
// Copyright © 2021 Jerome Vernet. All rights reserved.
//
#import <Foundation/Foundation.h>
void getDefaultROMPath(char* Path)
{
NSFileManager* sharedFM = [NSFileManager defaultManager];
NSArray* possibleURLs = [sharedFM URLsForDirectory:NSApplicationSupportDirectory
inDomains:NSUserDomainMask];
NSURL* appSupportDir = nil;
NSURL* appDirectory = nil;
if ([possibleURLs count] >= 1) {
// Use the first directory (if multiple are returned)
appSupportDir = [possibleURLs objectAtIndex:0];
}
// If a valid app support directory exists, add the
// app's bundle ID to it to specify the final directory.
if (appSupportDir) {
NSString* appBundleID = [[NSBundle mainBundle] bundleIdentifier];
appDirectory = [appSupportDir URLByAppendingPathComponent:appBundleID];
appDirectory=[appDirectory URLByAppendingPathComponent:@"roms"];
}
// create ~/Library/Application Support/... stuff
NSError* theError = nil;
if (![sharedFM createDirectoryAtURL:appDirectory withIntermediateDirectories:YES
attributes:nil error:&theError])
{
// Handle the error.
NSLog(@"Error creating user library rom path");
} else NSLog(@"Create user rom path sucessfull");
strcpy(Path,[appDirectory fileSystemRepresentation]);
// return appDirectory;
}

View File

@@ -24,10 +24,6 @@ add_library(mch OBJECT machine.c machine_table.c m_xt.c m_xt_compaq.c
m_at_sockets7.c m_at_socket8.c m_at_slot1.c m_at_slot2.c m_at_socket370.c
m_at_misc.c)
if(HEDAKA)
target_compile_definitions(mch PRIVATE USE_HEDAKA)
endif()
if(LASERXT)
target_sources(mch PRIVATE m_xt_laserxt.c)
target_compile_definitions(mch PRIVATE USE_LASERXT)

View File

@@ -988,7 +988,7 @@ machine_at_4dps_init(const machine_t *model)
pci_register_slot(0x07, PCI_CARD_NORMAL, 4, 1, 2, 3);
device_add(&w83787f_device);
device_add(&keyboard_at_ami_device);
device_add(&keyboard_ps2_ami_device);
device_add(&intel_flash_bxt_device);

View File

@@ -1,781 +0,0 @@
/*
* 86Box A hypervisor and IBM PC system emulator that specializes in
* running old operating systems and software designed for IBM
* PC systems and compatibles from 1981 through fairly recent
* system designs based on the PCI bus.
*
* This file is part of the 86Box distribution.
*
* Implementation of Socket 4 and 5 machines.
*
*
*
* Authors: Sarah Walker, <http://pcem-emulator.co.uk/>
* Miran Grca, <mgrca8@gmail.com>
*
* Copyright 2010-2019 Sarah Walker.
* Copyright 2016-2019 Miran Grca.
*/
#include <stdio.h>
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include <wchar.h>
#include <86box/86box.h>
#include <86box/mem.h>
#include <86box/io.h>
#include <86box/rom.h>
#include <86box/pci.h>
#include <86box/device.h>
#include <86box/chipset.h>
#include <86box/fdc_ext.h>
#include <86box/hdc.h>
#include <86box/hdc_ide.h>
#include <86box/timer.h>
#include <86box/fdd.h>
#include <86box/fdc.h>
#include <86box/keyboard.h>
#include <86box/flash.h>
#include <86box/nvr.h>
#include <86box/scsi_ncr53c8xx.h>
#include <86box/sio.h>
#include <86box/video.h>
#include <86box/machine.h>
int
machine_at_excalibur_init(const machine_t *model)
{
int ret;
ret = bios_load_linear_inverted("roms/machines/excalibur/S75P.ROM",
0x000e0000, 131072, 0);
if (bios_only || !ret)
return ret;
machine_at_common_init(model);
device_add(&opti5x7_device);
device_add(&ide_opti611_vlb_device);
device_add(&fdc37c661_device);
device_add(&keyboard_at_ami_device);
return ret;
}
int
machine_at_pat54pv_init(const machine_t *model)
{
int ret;
ret = bios_load_linear("roms/machines/pat54pv/pat54pv.bin",
0x000f0000, 65536, 0);
if (bios_only || !ret)
return ret;
machine_at_common_init(model);
device_add(&opti5x7_device);
device_add(&keyboard_at_ami_device);
if (fdc_type == FDC_INTERNAL)
device_add(&fdc_at_device);
return ret;
}
int
machine_at_hot543_init(const machine_t *model)
{
int ret;
ret = bios_load_linear("roms/machines/hot543/543_R21.BIN",
0x000e0000, 131072, 0);
if (bios_only || !ret)
return ret;
machine_at_common_init(model);
pci_init(PCI_CONFIG_TYPE_1);
pci_register_slot(0x10, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
pci_register_slot(0x11, PCI_CARD_NORMAL, 1, 2, 3, 4);
pci_register_slot(0x12, PCI_CARD_NORMAL, 2, 3, 4, 1);
pci_register_slot(0x13, PCI_CARD_NORMAL, 3, 4, 1, 2);
device_add(&opti5x7_device);
device_add(&opti822_device);
device_add(&sst_flash_29ee010_device);
device_add(&keyboard_at_device);
if (fdc_type == FDC_INTERNAL)
device_add(&fdc_at_device);
return ret;
}
int
machine_at_p54vl_init(const machine_t *model)
{
int ret;
ret = bios_load_linear("roms/machines/p54vl/SM507.ROM",
0x000e0000, 131072, 0);
if (bios_only || !ret)
return ret;
machine_at_common_init(model);
pci_init(PCI_CONFIG_TYPE_1);
pci_register_slot(0x10, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
pci_register_slot(0x11, PCI_CARD_NORMAL, 1, 2, 3, 4);
pci_register_slot(0x12, PCI_CARD_NORMAL, 2, 3, 4, 1);
pci_register_slot(0x13, PCI_CARD_NORMAL, 3, 4, 1, 2);
device_add(&opti5x7_device);
device_add(&opti822_device);
device_add(&sst_flash_29ee010_device);
device_add(&keyboard_at_ami_device);
if (fdc_type == FDC_INTERNAL)
device_add(&fdc_at_device);
return ret;
}
static void
machine_at_premiere_common_init(const machine_t *model, int pci_switch)
{
machine_at_common_init(model);
device_add(&ide_pci_2ch_device);
pci_init(PCI_CONFIG_TYPE_2 | pci_switch);
pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
pci_register_slot(0x01, PCI_CARD_IDE, 0, 0, 0, 0);
pci_register_slot(0x06, PCI_CARD_NORMAL, 3, 2, 1, 4);
pci_register_slot(0x0E, PCI_CARD_NORMAL, 2, 1, 3, 4);
pci_register_slot(0x0C, PCI_CARD_NORMAL, 1, 3, 2, 4);
pci_register_slot(0x02, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
device_add(&keyboard_ps2_intel_ami_pci_device);
device_add(&sio_zb_device);
device_add(&fdc37c665_device);
device_add(&intel_flash_bxt_ami_device);
}
static void
machine_at_award_common_init(const machine_t *model)
{
machine_at_common_init(model);
device_add(&ide_pci_2ch_device);
pci_init(PCI_CONFIG_TYPE_2 | PCI_NO_IRQ_STEERING);
pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
pci_register_slot(0x01, PCI_CARD_IDE, 0, 0, 0, 0);
pci_register_slot(0x03, PCI_CARD_NORMAL, 1, 2, 3, 4); /* 03 = Slot 1 */
pci_register_slot(0x04, PCI_CARD_NORMAL, 2, 3, 4, 1); /* 04 = Slot 2 */
pci_register_slot(0x05, PCI_CARD_NORMAL, 3, 4, 1, 2); /* 05 = Slot 3 */
pci_register_slot(0x06, PCI_CARD_NORMAL, 4, 1, 2, 3); /* 06 = Slot 4 */
pci_register_slot(0x07, PCI_CARD_SCSI, 1, 2, 3, 4); /* 07 = SCSI */
pci_register_slot(0x02, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
if (fdc_type == FDC_INTERNAL)
device_add(&fdc_at_device);
device_add(&keyboard_ps2_pci_device);
}
int
machine_at_batman_init(const machine_t *model)
{
int ret;
ret = bios_load_linear_combined("roms/machines/revenge/1009af2_.bio",
"roms/machines/revenge/1009af2_.bi1", 0x1c000, 128);
if (bios_only || !ret)
return ret;
machine_at_premiere_common_init(model, 0);
device_add(&i430lx_device);
return ret;
}
int
machine_at_dellxp60_init(const machine_t *model)
{
int ret;
ret = bios_load_linear_inverted("roms/machines/dellxp60/XP60-A08.ROM",
0x000e0000, 131072, 0);
if (bios_only || !ret)
return ret;
machine_at_common_init(model);
device_add(&ide_pci_2ch_device);
pci_init(PCI_CONFIG_TYPE_2);
pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
/* Not: 00, 02, 03, 04, 05, 06, 07, 08, 09, 0A, 0B, 0C, 0D, 0E, 0F. */
/* Yes: 01, 10, 11, 12, 13, 14. */
pci_register_slot(0x01, PCI_CARD_NORMAL, 1, 3, 2, 4);
pci_register_slot(0x04, PCI_CARD_NORMAL, 4, 4, 3, 3);
pci_register_slot(0x05, PCI_CARD_NORMAL, 1, 4, 3, 2);
pci_register_slot(0x06, PCI_CARD_NORMAL, 2, 1, 3, 4);
pci_register_slot(0x02, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
device_add(&i430lx_device);
device_add(&keyboard_ps2_intel_ami_pci_device);
device_add(&sio_zb_device);
device_add(&fdc37c665_device);
device_add(&intel_flash_bxt_ami_device);
return ret;
}
int
machine_at_opti560l_init(const machine_t *model)
{
int ret;
ret = bios_load_linear_inverted("roms/machines/opti560l/560L_A06.ROM",
0x000e0000, 131072, 0);
if (bios_only || !ret)
return ret;
machine_at_common_init(model);
device_add(&ide_pci_2ch_device);
pci_init(PCI_CONFIG_TYPE_2);
pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
pci_register_slot(0x03, PCI_CARD_NORMAL, 4, 4, 3, 3);
pci_register_slot(0x07, PCI_CARD_NORMAL, 1, 4, 3, 2);
pci_register_slot(0x08, PCI_CARD_NORMAL, 2, 1, 3, 4);
pci_register_slot(0x02, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
device_add(&i430lx_device);
device_add(&keyboard_ps2_intel_ami_pci_device);
device_add(&sio_zb_device);
device_add(&i82091aa_device);
device_add(&intel_flash_bxt_ami_device);
return ret;
}
int
machine_at_ambradp60_init(const machine_t *model)
{
int ret;
ret = bios_load_linear_combined("roms/machines/ambradp60/1004AF1P.BIO",
"roms/machines/ambradp60/1004AF1P.BI1", 0x1c000, 128);
if (bios_only || !ret)
return ret;
machine_at_premiere_common_init(model, 0);
device_add(&i430lx_device);
return ret;
}
int
machine_at_valuepointp60_init(const machine_t *model)
{
int ret;
ret = bios_load_linear_combined("roms/machines/valuepointp60/1006AV0M.BIO",
"roms/machines/valuepointp60/1006AV0M.BI1", 0x1d000, 128);
if (bios_only || !ret)
return ret;
machine_at_common_init(model);
device_add(&ide_pci_2ch_device);
pci_init(PCI_CONFIG_TYPE_2 | PCI_NO_IRQ_STEERING);
pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
pci_register_slot(0x01, PCI_CARD_IDE, 0, 0, 0, 0);
pci_register_slot(0x06, PCI_CARD_NORMAL, 3, 2, 1, 4);
pci_register_slot(0x0E, PCI_CARD_NORMAL, 2, 1, 3, 4);
pci_register_slot(0x0C, PCI_CARD_NORMAL, 1, 3, 2, 4);
pci_register_slot(0x02, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
device_add(&keyboard_ps2_ps1_pci_device);
device_add(&sio_device);
device_add(&fdc37c665_device);
device_add(&intel_flash_bxt_ami_device);
device_add(&i430lx_device);
return ret;
}
int
machine_at_pb520r_init(const machine_t *model)
{
int ret;
ret = bios_load_linear_combined("roms/machines/pb520r/1009bc0r.bio",
"roms/machines/pb520r/1009bc0r.bi1", 0x1c000, 128);
if (bios_only || !ret)
return ret;
machine_at_common_init(model);
pci_init(PCI_CONFIG_TYPE_2);
pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
pci_register_slot(0x01, PCI_CARD_IDE, 0, 0, 0, 0);
pci_register_slot(0x03, PCI_CARD_VIDEO, 3, 3, 3, 3);
pci_register_slot(0x06, PCI_CARD_NORMAL, 3, 2, 1, 4);
pci_register_slot(0x0E, PCI_CARD_NORMAL, 2, 1, 3, 4);
pci_register_slot(0x0C, PCI_CARD_NORMAL, 1, 3, 2, 4);
pci_register_slot(0x02, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
device_add(&i430lx_device);
device_add(&ide_cmd640_pci_single_channel_device);
if (gfxcard == VID_INTERNAL)
device_add(&gd5434_onboard_pci_device);
device_add(&keyboard_ps2_pci_device);
device_add(&sio_zb_device);
device_add(&i82091aa_ide_device);
device_add(&intel_flash_bxt_ami_device);
return ret;
}
const device_t *
at_pb520r_get_device(void)
{
return &gd5434_onboard_pci_device;
}
int
machine_at_p5mp3_init(const machine_t *model)
{
int ret;
ret = bios_load_linear("roms/machines/p5mp3/0205.bin",
0x000e0000, 131072, 0);
if (bios_only || !ret)
return ret;
machine_at_common_init(model);
device_add(&ide_pci_device);
pci_init(PCI_CONFIG_TYPE_2 | PCI_NO_IRQ_STEERING);
pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
pci_register_slot(0x05, PCI_CARD_NORMAL, 1, 2, 3, 4); /* 05 = Slot 1 */
pci_register_slot(0x04, PCI_CARD_NORMAL, 2, 3, 4, 1); /* 04 = Slot 2 */
pci_register_slot(0x03, PCI_CARD_NORMAL, 3, 4, 1, 2); /* 03 = Slot 3 */
pci_register_slot(0x02, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
device_add(&fdc_at_device);
device_add(&keyboard_ps2_pci_device);
device_add(&sio_zb_device);
device_add(&catalyst_flash_device);
device_add(&i430lx_device);
return ret;
}
int
machine_at_586mc1_init(const machine_t *model)
{
int ret;
ret = bios_load_linear("roms/machines/586mc1/IS.34",
0x000e0000, 131072, 0);
if (bios_only || !ret)
return ret;
machine_at_award_common_init(model);
device_add(&sio_device);
device_add(&intel_flash_bxt_device);
device_add(&i430lx_device);
return ret;
}
int
machine_at_plato_init(const machine_t *model)
{
int ret;
ret = bios_load_linear_combined("roms/machines/plato/1016ax1_.bio",
"roms/machines/plato/1016ax1_.bi1", 0x1d000, 128);
if (bios_only || !ret)
return ret;
machine_at_premiere_common_init(model, PCI_CAN_SWITCH_TYPE);
device_add(&i430nx_device);
return ret;
}
int
machine_at_ambradp90_init(const machine_t *model)
{
int ret;
ret = bios_load_linear_combined("roms/machines/ambradp90/1002AX1P.BIO",
"roms/machines/ambradp90/1002AX1P.BI1", 0x1d000, 128);
if (bios_only || !ret)
return ret;
machine_at_premiere_common_init(model, PCI_CAN_SWITCH_TYPE);
device_add(&i430nx_device);
return ret;
}
int
machine_at_430nx_init(const machine_t *model)
{
int ret;
ret = bios_load_linear("roms/machines/430nx/IP.20",
0x000e0000, 131072, 0);
if (bios_only || !ret)
return ret;
machine_at_award_common_init(model);
device_add(&sio_device);
device_add(&intel_flash_bxt_device);
device_add(&i430nx_device);
return ret;
}
int
machine_at_endeavor_init(const machine_t *model)
{
int ret;
ret = bios_load_linear_combined("roms/machines/endeavor/1006cb0_.bio",
"roms/machines/endeavor/1006cb0_.bi1", 0x1d000, 128);
if (bios_only || !ret)
return ret;
machine_at_common_init(model);
pci_init(PCI_CONFIG_TYPE_1);
pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
pci_register_slot(0x08, PCI_CARD_VIDEO, 4, 0, 0, 0);
pci_register_slot(0x0D, PCI_CARD_NORMAL, 1, 2, 3, 4);
pci_register_slot(0x0E, PCI_CARD_NORMAL, 2, 3, 4, 1);
pci_register_slot(0x0F, PCI_CARD_NORMAL, 3, 4, 1, 2);
pci_register_slot(0x10, PCI_CARD_NORMAL, 4, 1, 2, 3);
pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
if (gfxcard == VID_INTERNAL)
device_add(&s3_phoenix_trio64_onboard_pci_device);
device_add(&keyboard_ps2_intel_ami_pci_device);
device_add(&i430fx_device);
device_add(&piix_device);
device_add(&pc87306_device);
device_add(&intel_flash_bxt_ami_device);
return ret;
}
const device_t *
at_endeavor_get_device(void)
{
return &s3_phoenix_trio64_onboard_pci_device;
}
int
machine_at_zappa_init(const machine_t *model)
{
int ret;
ret = bios_load_linear_combined("roms/machines/zappa/1006bs0_.bio",
"roms/machines/zappa/1006bs0_.bi1", 0x20000, 128);
if (bios_only || !ret)
return ret;
machine_at_common_init(model);
pci_init(PCI_CONFIG_TYPE_1);
pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
pci_register_slot(0x0D, PCI_CARD_NORMAL, 1, 2, 3, 4);
pci_register_slot(0x0E, PCI_CARD_NORMAL, 3, 4, 1, 2);
pci_register_slot(0x0F, PCI_CARD_NORMAL, 2, 3, 4, 1);
pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
device_add(&keyboard_ps2_intel_ami_pci_device);
device_add(&i430fx_device);
device_add(&piix_device);
device_add(&pc87306_device);
device_add(&intel_flash_bxt_ami_device);
return ret;
}
int
machine_at_mb500n_init(const machine_t *model)
{
int ret;
ret = bios_load_linear("roms/machines/mb500n/031396s.bin",
0x000e0000, 131072, 0);
if (bios_only || !ret)
return ret;
machine_at_common_init(model);
pci_init(PCI_CONFIG_TYPE_1);
pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
pci_register_slot(0x14, PCI_CARD_NORMAL, 1, 2, 3, 4);
pci_register_slot(0x13, PCI_CARD_NORMAL, 2, 3, 4, 1);
pci_register_slot(0x12, PCI_CARD_NORMAL, 3, 4, 1, 2);
pci_register_slot(0x11, PCI_CARD_NORMAL, 4, 1, 2, 3);
pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
device_add(&keyboard_ps2_pci_device);
device_add(&i430fx_device);
device_add(&piix_device);
device_add(&fdc37c665_device);
device_add(&intel_flash_bxt_device);
return ret;
}
int
machine_at_apollo_init(const machine_t *model)
{
int ret;
ret = bios_load_linear("roms/machines/apollo/S728P.ROM",
0x000e0000, 131072, 0);
if (bios_only || !ret)
return ret;
machine_at_common_init_ex(model, 2);
device_add(&ami_apollo_nvr_device);
pci_init(PCI_CONFIG_TYPE_1);
pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
pci_register_slot(0x08, PCI_CARD_NORMAL, 1, 2, 3, 4);
pci_register_slot(0x09, PCI_CARD_NORMAL, 2, 3, 4, 1);
pci_register_slot(0x0A, PCI_CARD_NORMAL, 3, 4, 1, 2);
pci_register_slot(0x0B, PCI_CARD_NORMAL, 4, 1, 2, 3);
pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
device_add(&keyboard_ps2_ami_pci_device);
device_add(&i430fx_device);
device_add(&piix_device);
device_add(&pc87332_398_device);
device_add(&intel_flash_bxt_device);
return ret;
}
int
machine_at_powermatev_init(const machine_t *model)
{
int ret;
ret = bios_load_linear("roms/machines/powermatev/BIOS.ROM",
0x000e0000, 131072, 0);
if (bios_only || !ret)
return ret;
machine_at_common_init(model);
pci_init(PCI_CONFIG_TYPE_1);
pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
pci_register_slot(0x08, PCI_CARD_NORMAL, 0, 0, 0, 0);
pci_register_slot(0x11, PCI_CARD_NORMAL, 1, 2, 3, 4);
pci_register_slot(0x13, PCI_CARD_NORMAL, 2, 3, 4, 1);
device_add(&keyboard_ps2_ami_pci_device);
device_add(&i430fx_device);
device_add(&piix_device);
device_add(&fdc37c665_device);
device_add(&intel_flash_bxt_device);
return ret;
}
int
machine_at_acerv30_init(const machine_t *model)
{
int ret;
ret = bios_load_linear("roms/machines/acerv30/V30R01N9.BIN",
0x000e0000, 131072, 0);
if (bios_only || !ret)
return ret;
machine_at_common_init(model);
pci_init(PCI_CONFIG_TYPE_1);
pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
pci_register_slot(0x12, PCI_CARD_NORMAL, 1, 2, 3, 4);
pci_register_slot(0x11, PCI_CARD_NORMAL, 2, 3, 4, 1);
pci_register_slot(0x14, PCI_CARD_NORMAL, 3, 4, 1, 2);
pci_register_slot(0x13, PCI_CARD_NORMAL, 4, 1, 2, 3);
device_add(&i430fx_device);
device_add(&piix_device);
device_add(&keyboard_ps2_acer_pci_device);
device_add(&fdc37c665_device);
device_add(&sst_flash_29ee010_device);
return ret;
}
static void
machine_at_sp4_common_init(const machine_t *model)
{
machine_at_common_init(model);
pci_init(PCI_CONFIG_TYPE_1);
pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
pci_register_slot(0x01, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
/* Excluded: 02, 03, 04, 05, 06, 07, 08, 09, 0A, 0B, 0C, 0D, 0E, 0F, 10, 11, 12, 13, 14 */
pci_register_slot(0x0D, PCI_CARD_IDE, 1, 2, 3, 4);
/* Excluded: 02, 03*, 04*, 05*, 06*, 07*, 08* */
/* Slots: 09 (04), 0A (03), 0B (02), 0C (07) */
pci_register_slot(0x0C, PCI_CARD_NORMAL, 1, 2, 3, 4);
pci_register_slot(0x0B, PCI_CARD_NORMAL, 2, 3, 4, 1);
pci_register_slot(0x0A, PCI_CARD_NORMAL, 3, 4, 1, 2);
pci_register_slot(0x09, PCI_CARD_NORMAL, 4, 1, 2, 3);
device_add(&sis_85c50x_device);
device_add(&ide_cmd640_pci_device);
device_add(&keyboard_ps2_ami_pci_device);
device_add(&fdc37c665_device);
device_add(&intel_flash_bxt_device);
}
int
machine_at_p5sp4_init(const machine_t *model)
{
int ret;
ret = bios_load_linear("roms/machines/p5sp4/0106.001",
0x000e0000, 131072, 0);
if (bios_only || !ret)
return ret;
machine_at_sp4_common_init(model);
return ret;
}
int
machine_at_p54sp4_init(const machine_t *model)
{
int ret;
ret = bios_load_linear("roms/machines/p54sp4/SI5I0204.AWD",
0x000e0000, 131072, 0);
if (bios_only || !ret)
return ret;
machine_at_sp4_common_init(model);
return ret;
}
int
machine_at_sq588_init(const machine_t *model)
{
int ret;
ret = bios_load_linear("roms/machines/sq588/sq588b03.rom",
0x000e0000, 131072, 0);
if (bios_only || !ret)
return ret;
machine_at_common_init(model);
pci_init(PCI_CONFIG_TYPE_1);
pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
pci_register_slot(0x01, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
/* Correct: 0D (01), 0F (02), 11 (03), 13 (04) */
pci_register_slot(0x02, PCI_CARD_IDE, 1, 2, 3, 4);
pci_register_slot(0x0D, PCI_CARD_NORMAL, 1, 2, 3, 4);
pci_register_slot(0x0F, PCI_CARD_NORMAL, 2, 3, 4, 1);
pci_register_slot(0x11, PCI_CARD_NORMAL, 3, 4, 1, 2);
pci_register_slot(0x13, PCI_CARD_NORMAL, 4, 1, 2, 3);
device_add(&sis_85c50x_device);
device_add(&ide_cmd640_pci_single_channel_device);
device_add(&keyboard_ps2_ami_pci_device);
device_add(&fdc37c665_ide_device);
device_add(&sst_flash_29ee010_device);
return ret;
}
int
machine_at_hot539_init(const machine_t *model)
{
int ret;
ret = bios_load_linear("roms/machines/hot539/539_R17.ROM",
0x000e0000, 131072, 0);
if (bios_only || !ret)
return ret;
machine_at_common_init(model);
pci_init(PCI_CONFIG_TYPE_1);
pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
pci_register_slot(0x12, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
pci_register_slot(0x0C, PCI_CARD_NORMAL, 1, 2, 3, 4);
pci_register_slot(0x15, PCI_CARD_NORMAL, 1, 2, 3, 4);
pci_register_slot(0x0D, PCI_CARD_NORMAL, 2, 3, 4, 1);
pci_register_slot(0x16, PCI_CARD_NORMAL, 2, 3, 4, 1);
pci_register_slot(0x0E, PCI_CARD_NORMAL, 3, 4, 1, 2);
pci_register_slot(0x0F, PCI_CARD_NORMAL, 4, 1, 2, 3);
device_add(&umc_8890_device);
device_add(&umc_8886af_device);
device_add(&intel_flash_bxt_device);
device_add(&keyboard_ps2_ami_pci_device);
device_add(&um8669f_device);
return ret;
}

View File

@@ -1361,30 +1361,6 @@ machine_ps2_model_70_type3_init(const machine_t *model)
}
#if defined(DEV_BRANCH) && defined(USE_PS2M70T4)
int
machine_ps2_model_70_type4_init(const machine_t *model)
{
int ret;
ret = bios_load_interleaved("roms/machines/ibmps2_m70_type4/70-b_even.bin",
"roms/machines/ibmps2_m70_type4/70-b_odd.bin",
0x000e0000, 131072, 0);
if (bios_only || !ret)
return ret;
machine_ps2_common_init(model);
ps2.planar_id = 0xfcff;
ps2_mca_board_model_70_type34_init(1, 4);
return ret;
}
#endif
int
machine_ps2_model_80_init(const machine_t *model)
{

View File

@@ -201,7 +201,7 @@ const machine_t machines[] = {
/* Most likely has AMI 'F' KBC firmware. */
{ "[GC103] Trigem 286M", "tg286m", MACHINE_TYPE_286, CPU_PKG_286, 0, 0, 0, 0, 0, 0, 0, MACHINE_AT | MACHINE_IDE, 512, 8192, 128, 127, machine_at_tg286m_init, NULL },
/* This has "AMI KEYBOARD BIOS", most likely 'F'. */
{ "[NEAT] Dataexpert 286", "ami286", MACHINE_TYPE_286, CPU_PKG_286, 0, 0, 0, 0, 0, 0, 0, MACHINE_AT, 512, 8192, 128, 127, machine_at_neat_ami_init, NULL },
{ "[NEAT] DataExpert 286", "ami286", MACHINE_TYPE_286, CPU_PKG_286, 0, 0, 0, 0, 0, 0, 0, MACHINE_AT, 512, 8192, 128, 127, machine_at_neat_ami_init, NULL },
/* Has IBM AT KBC firmware. */
{ "[NEAT] NCR 3302", "3302", MACHINE_TYPE_286, CPU_PKG_286, 0, 0, 0, 0, 0, 0, 0, MACHINE_AT | MACHINE_VIDEO, 512, 16384, 128, 127, machine_at_3302_init, NULL },
/* Has IBM AT KBC firmware. */
@@ -257,7 +257,7 @@ const machine_t machines[] = {
/* Has an unknown KBC firmware with commands B8 and BB in the style of
Phoenix MultiKey and AMIKey-3(!), but also commands E1 and EA with
unknown functions. */
{ "[Intel 82335 ADI 386SX", "adi386sx", MACHINE_TYPE_386SX, CPU_PKG_386SX, 0, 0, 0, 0, 0, 0, 0, MACHINE_AT, 512, 8192, 128, 127, machine_at_adi386sx_init, NULL },
{ "[Intel 82335] ADI 386SX", "adi386sx", MACHINE_TYPE_386SX, CPU_PKG_386SX, 0, 0, 0, 0, 0, 0, 0, MACHINE_AT, 512, 8192, 128, 127, machine_at_adi386sx_init, NULL },
/* Has an AMI Keyboard BIOS PLUS KBC firmware ('8'). */
{ "[Intel 82335] Shuttle 386SX", "shuttle386sx", MACHINE_TYPE_386SX, CPU_PKG_386SX, 0, 0, 0, 0, 0, 0, 0, MACHINE_AT, 512, 8192, 128, 127, machine_at_shuttle386sx_init, NULL },
/* Uses Commodore (CBM) KBC firmware, to be implemented as identical to
@@ -304,7 +304,7 @@ const machine_t machines[] = {
/* Has IBM AT KBC firmware. */
{ "[ISA] Micronics 09-00021", "micronics386", MACHINE_TYPE_386DX, CPU_PKG_386DX, 0, 0, 0, 0, 0, 0, 0, MACHINE_AT, 512, 8192, 128, 127, machine_at_micronics386_init, NULL },
/* Has AMIKey F KBC firmware. */
{ "[SiS 310] ASUS ISA-386C", "asus386", MACHINE_TYPE_386DX, CPU_PKG_386DX, 0, 0, 0, 0, 0, 0, 0, MACHINE_AT, 1024, 32768, 1024, 127, machine_at_asus386_init, NULL },
{ "[SiS 310] ASUS ISA-386C", "asus386", MACHINE_TYPE_386DX, CPU_PKG_386DX, 0, 0, 0, 0, 0, 0, 0, MACHINE_AT, 1024, 65536, 1024, 127, machine_at_asus386_init, NULL },
/* 386DX machines which utilize the MCA bus */
/* Has IBM PS/2 Type 1 KBC firmware. */
@@ -319,9 +319,9 @@ const machine_t machines[] = {
Phoenix MultiKey commands. */
{ "[OPTi 495] Award 486 clone", "award495", MACHINE_TYPE_386DX_486, CPU_PKG_386DX | CPU_PKG_SOCKET1, 0, 0, 0, 0, 0, 0, 0, MACHINE_VLB | MACHINE_IDE, 1024, 32768, 1024, 127, machine_at_opti495_init, NULL },
/* Has AMIKey F KBC firmware. */
{ "[OPTi 495] Dataexpert SX495", "ami495", MACHINE_TYPE_386DX_486, CPU_PKG_386DX | CPU_PKG_SOCKET1, 0, 0, 0, 0, 0, 0, 0, MACHINE_VLB | MACHINE_IDE, 1024, 32768, 1024, 127, machine_at_opti495_ami_init, NULL },
{ "[OPTi 495] DataExpert SX495", "ami495", MACHINE_TYPE_386DX_486, CPU_PKG_386DX | CPU_PKG_SOCKET1, 0, 0, 0, 0, 0, 0, 0, MACHINE_VLB | MACHINE_IDE, 1024, 32768, 1024, 127, machine_at_opti495_ami_init, NULL },
/* Has AMIKey F KBC firmware (it's just the MR BIOS for the above machine). */
{ "[OPTi 495] Dataexpert SX495 (MR BIOS)", "mr495", MACHINE_TYPE_386DX_486, CPU_PKG_386DX | CPU_PKG_SOCKET3, 0, 0, 0, 0, 0, 0, 0, MACHINE_VLB | MACHINE_IDE, 1024, 32768, 1024, 127, machine_at_opti495_mr_init, NULL },
{ "[OPTi 495] DataExpert SX495 (MR BIOS)", "mr495", MACHINE_TYPE_386DX_486, CPU_PKG_386DX | CPU_PKG_SOCKET3, 0, 0, 0, 0, 0, 0, 0, MACHINE_VLB | MACHINE_IDE, 1024, 32768, 1024, 127, machine_at_opti495_mr_init, NULL },
/* 486 machines - Socket 1 */
/* Has JetKey 5 KBC Firmware which looks like it is a clone of AMIKey type F.
@@ -524,7 +524,7 @@ const machine_t machines[] = {
{ "[OPTi 597] Supermicro P5VL-PCI", "p5vl", MACHINE_TYPE_SOCKET4, CPU_PKG_SOCKET4, 0, 60000000, 66666667, 5000, 5000, MACHINE_MULTIPLIER_FIXED, MACHINE_PCI | MACHINE_VLB, 8192, 131072, 8192, 127, machine_at_p5vl_init, NULL },
/* SiS 50x */
/* This has an unknown AMI KBC firmware, most likely AMIKey / type 'F'. */
/* This has some form of AMI MegaKey as it uses keyboard controller command 0xCC. */
{ "[SiS 501] AMI Excalibur PCI-II Pentium ISA","excaliburpci2", MACHINE_TYPE_SOCKET4, CPU_PKG_SOCKET4, 0, 60000000, 66666667, 5000, 5000, MACHINE_MULTIPLIER_FIXED, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8192, 131072, 8192, 127, machine_at_excaliburpci2_init, NULL },
/* This has an AMIKey-2, which is an updated version of type 'H'. */
{ "[SiS 501] ASUS PCI/I-P5SP4", "p5sp4", MACHINE_TYPE_SOCKET4, CPU_PKG_SOCKET4, 0, 60000000, 66666667, 5000, 5000, MACHINE_MULTIPLIER_FIXED, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8192, 131072, 8192, 127, machine_at_p5sp4_init, NULL },
@@ -545,7 +545,7 @@ const machine_t machines[] = {
/* Has AMIKey F KBC firmware. */
{ "[i430FX] AMI Apollo", "apollo", MACHINE_TYPE_SOCKET5, CPU_PKG_SOCKET5_7, 0, 50000000, 66666667, 3380, 3520, 1.5, 2.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8192, 131072, 8192, 127, machine_at_apollo_init, NULL },
/* Has AMIKey H KBC firmware. */
{ "[i430FX] Dataexpert EXP8551", "exp8551", MACHINE_TYPE_SOCKET5, CPU_PKG_SOCKET5_7, 0, 50000000, 66666667, 3380, 3520, 1.5, 2.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8192, 131072, 8192, 127, machine_at_exp8551_init, NULL },
{ "[i430FX] DataExpert EXP8551", "exp8551", MACHINE_TYPE_SOCKET5, CPU_PKG_SOCKET5_7, 0, 50000000, 66666667, 3380, 3520, 1.5, 2.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8192, 131072, 8192, 127, machine_at_exp8551_init, NULL },
/* According to tests from real hardware: This has AMI MegaKey KBC firmware on the
PC87306 Super I/O chip, command 0xA1 returns '5'.
Command 0xA0 copyright string: (C)1994 AMI . */

View File

@@ -1224,8 +1224,8 @@ ncr_callback(void *priv)
ncr_log("Timer on! Host POS = %i, status = %02x, DMA mode = %i, Period = %lf\n", ncr_dev->t128.host_pos, ncr_dev->t128.status, ncr->dma_mode, scsi_device_get_callback(dev));
if (ncr_dev->t128.host_pos == MIN(512, dev->buffer_length) && ncr_dev->t128.block_count) {
ncr_dev->t128.status |= 0x04;
ncr_timer_on(ncr_dev, ncr, 0);
}
ncr_timer_on(ncr_dev, ncr, 0);
}
} else {
ncr_log("DMA mode=%d, status ctrl = %02x\n", ncr->dma_mode, ncr_dev->status_ctrl);
@@ -1364,7 +1364,8 @@ t128_read(uint32_t addr, void *priv)
ncr_log("Transfer busy read, status = %02x, period = %lf\n", ncr_dev->t128.status, ncr_dev->period);
if (ncr_dev->period == 0.2 || ncr_dev->period == 0.02)
timer_on_auto(&ncr_dev->timer, 40.2);
}
} else if (ncr_dev->t128.host_pos < MIN(512, dev->buffer_length) && scsi_device_get_callback(dev) > 100.0)
cycles += 100; /*Needed to avoid timer de-syncing with transfers.*/
}
}

View File

@@ -226,12 +226,12 @@ void* mt32emu_init(char *control_rom, char *pcm_rom)
void *mt32_init(const device_t *info)
{
return mt32emu_init("roms/sound/mt32/mt32_control.rom", "roms/sound/mt32/mt32_pcm.rom");
return mt32emu_init("roms/sound/mt32/MT32_CONTROL.ROM", "roms/sound/mt32/MT32_PCM.ROM");
}
void *cm32l_init(const device_t *info)
{
return mt32emu_init("roms/sound/cm32l/cm32l_control.rom", "roms/sound/cm32l/cm32l_pcm.rom");
return mt32emu_init("roms/sound/cm32l/CM32L_CONTROL.ROM", "roms/sound/cm32l/CM32L_PCM.ROM");
}
void mt32_close(void* p)

View File

@@ -964,7 +964,7 @@ es1371_outl(uint16_t port, uint32_t val, void *p)
/* Sample Rate Converter Interface Register, Address 10H
Addressable as longword only */
case 0x10:
dev->sr_cir = val;
dev->sr_cir = val & 0xfff8ffff; /*Bits 16 to 18 are undefined*/
if (dev->sr_cir & SRC_RAM_WE) {
dev->sr_ram[dev->sr_cir >> 25] = val & 0xffff;
switch (dev->sr_cir >> 25) {

View File

@@ -51,6 +51,7 @@ SDL_threadID eventthread;
static int exit_event = 0;
static int fullscreen_pending = 0;
uint32_t lang_id = 0x0409, lang_sys = 0x0409; // Multilangual UI variables, for now all set to LCID of en-US
char icon_set[256] = ""; /* name of the iconset to be used */
static const uint16_t sdl_to_xt[0x200] =
{
@@ -833,7 +834,7 @@ void monitor_thread(void* param)
}
else if (strncasecmp(xargv[0], "fullscreen", 10) == 0)
{
video_fullscreen = 1;
video_fullscreen = video_fullscreen ? 0 : 1;
fullscreen_pending = 1;
}
else if (strncasecmp(xargv[0], "pause", 5) == 0)
@@ -1244,7 +1245,6 @@ plat_language_code_r(uint32_t lcid, char* outbuf, int len)
return;
}
void joystick_init(void) {}
void joystick_close(void) {}
void joystick_process(void) {}

View File

@@ -24,7 +24,7 @@ add_library(vid OBJECT agpgart.c video.c vid_table.c vid_cga.c vid_cga_comp.c
vid_stg_ramdac.c vid_ht216.c vid_oak_oti.c vid_paradise.c vid_rtg310x.c
vid_f82c425.c vid_ti_cf62011.c vid_tvga.c vid_tgui9440.c vid_tkd8001_ramdac.c
vid_att20c49x_ramdac.c vid_s3.c vid_s3_virge.c vid_ibm_rgb528_ramdac.c
vid_sdac_ramdac.c vid_ogc.c vid_nga.c vid_tvp3026_ramdac.c)
vid_sdac_ramdac.c vid_ogc.c vid_nga.c vid_tvp3026_ramdac.c vid_att2xc498_ramdac.c)
if(MGA)
target_compile_definitions(vid PRIVATE USE_MGA)

View File

@@ -165,7 +165,7 @@ ati28800_out(uint16_t addr, uint8_t val, void *p)
ati_eeprom_write(&ati28800->eeprom, val & 8, val & 2, val & 1);
break;
case 0xb6:
if ((old ^ val) & 0x11)
if ((old ^ val) & 0x10)
svga_recalctimings(svga);
break;
case 0xb8:
@@ -488,8 +488,6 @@ ati28800_recalctimings(svga_t *svga)
}
}
}
svga->vram_display_mask = (ati28800->regs[0xb6] & 1) ? ((ati28800->memory << 10) - 1) : 0x3ffff;
}

View File

@@ -0,0 +1,186 @@
/*
* 86Box A hypervisor and IBM PC system emulator that specializes in
* running old operating systems and software designed for IBM
* PC systems and compatibles from 1981 through fairly recent
* system designs based on the PCI bus.
*
* This file is part of the 86Box distribution.
*
* Emulation of a AT&T 2xc498 RAMDAC.
*
*
*
* Authors: Sarah Walker, <http://pcem-emulator.co.uk/>
* Miran Grca, <mgrca8@gmail.com>
*
* Copyright 2008-2018 Sarah Walker.
* Copyright 2016-2018 Miran Grca.
*/
#include <stdio.h>
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include <wchar.h>
#include <86box/86box.h>
#include <86box/device.h>
#include <86box/mem.h>
#include <86box/timer.h>
#include <86box/video.h>
#include <86box/vid_svga.h>
typedef struct
{
int type;
int state;
int loop;
uint8_t ctrl;
} att498_ramdac_t;
static void
att498_ramdac_control(uint8_t val, void *p, svga_t *svga)
{
att498_ramdac_t *ramdac = (att498_ramdac_t *) p;
ramdac->ctrl = val;
if (val == 0xff)
return;
switch ((ramdac->ctrl >> 4) & 0x0f) {
default:
svga->bpp = 8;
break;
case 1:
if (ramdac->ctrl & 4)
svga->bpp = 15;
else
svga->bpp = 8;
break;
case 3:
case 6:
svga->bpp = 16;
break;
case 5:
case 7:
svga->bpp = 32;
break;
case 0x0e:
svga->bpp = 24;
break;
}
svga_set_ramdac_type(svga, (ramdac->ctrl & 2) ? RAMDAC_8BIT : RAMDAC_6BIT);
svga_recalctimings(svga);
}
void
att498_ramdac_out(uint16_t addr, int rs2, uint8_t val, void *p, svga_t *svga)
{
att498_ramdac_t *ramdac = (att498_ramdac_t *) p;
uint8_t rs = (addr & 0x03);
rs |= ((!!rs2) << 2);
switch (rs) {
case 0x00:
case 0x01:
case 0x03:
case 0x04:
case 0x05:
case 0x07:
svga_out(addr, val, svga);
ramdac->state = 0;
break;
case 0x02:
switch (ramdac->state) {
case 4:
att498_ramdac_control(val, ramdac, svga);
break;
default:
svga_out(addr, val, svga);
break;
}
break;
case 0x06:
att498_ramdac_control(val, ramdac, svga);
break;
}
}
uint8_t
att498_ramdac_in(uint16_t addr, int rs2, void *p, svga_t *svga)
{
att498_ramdac_t *ramdac = (att498_ramdac_t *) p;
uint8_t temp = 0xff;
uint8_t rs = (addr & 0x03);
rs |= ((!!rs2) << 2);
switch (rs) {
case 0x00:
case 0x01:
case 0x03:
case 0x04:
case 0x05:
case 0x07:
temp = svga_in(addr, svga);
ramdac->state = 0;
break;
case 0x02:
switch (ramdac->state) {
case 4:
temp = ramdac->ctrl;
ramdac->state++;
break;
case 5:
temp = 0x84;
ramdac->state++;
break;
case 6:
temp = ramdac->ctrl;
ramdac->state = 0;
break;
default:
temp = svga_in(addr, svga);
ramdac->state++;
break;
}
break;
case 0x06:
temp = ramdac->ctrl;
ramdac->state = 0;
break;
}
return temp;
}
static void *
att498_ramdac_init(const device_t *info)
{
att498_ramdac_t *ramdac = (att498_ramdac_t *) malloc(sizeof(att498_ramdac_t));
memset(ramdac, 0, sizeof(att498_ramdac_t));
ramdac->type = info->local;
return ramdac;
}
static void
att498_ramdac_close(void *priv)
{
att498_ramdac_t *ramdac = (att498_ramdac_t *) priv;
if (ramdac)
free(ramdac);
}
const device_t att498_ramdac_device =
{
"AT&T 22c498 RAMDAC",
0, 0,
att498_ramdac_init, att498_ramdac_close,
NULL, { NULL }, NULL, NULL
};

View File

@@ -45,13 +45,15 @@
#define BIOS_GD5402_ONBOARD_PATH "roms/machines/cbm_sl386sx25/c000.rom"
#define BIOS_GD5420_PATH "roms/video/cirruslogic/5420.vbi"
#define BIOS_GD5422_PATH "roms/video/cirruslogic/cl5422.bin"
#define BIOS_GD5426_PATH "roms/video/cirruslogic/Diamond SpeedStar PRO VLB v3.04.bin"
#define BIOS_GD5426_DIAMOND_A1_ISA_PATH "roms/video/cirruslogic/diamond5426.bin"
#define BIOS_GD5428_DIAMOND_B1_VLB_PATH "roms/video/cirruslogic/Diamond SpeedStar PRO VLB v3.04.bin"
#define BIOS_GD5428_ISA_PATH "roms/video/cirruslogic/5428.bin"
#define BIOS_GD5428_MCA_PATH "roms/video/cirruslogic/SVGA141.ROM"
#define BIOS_GD5428_PATH "roms/video/cirruslogic/vlbusjapan.BIN"
#define BIOS_GD5429_PATH "roms/video/cirruslogic/5429.vbi"
#define BIOS_GD5430_VLB_PATH "roms/video/cirruslogic/diamondvlbus.bin"
#define BIOS_GD5430_PCI_PATH "roms/video/cirruslogic/pci.bin"
#define BIOS_GD5430_DIAMOND_A8_VLB_PATH "roms/video/cirruslogic/diamondvlbus.bin"
#define BIOS_GD5430_PATH "roms/video/cirruslogic/pci.bin"
#define BIOS_GD5434_DIAMOND_A3_ISA_PATH "roms/video/cirruslogic/Diamond Multimedia SpeedStar 64 v2.02 EPROM Backup from ST M27C256B-12F1.BIN"
#define BIOS_GD5434_PATH "roms/video/cirruslogic/gd5434.bin"
#define BIOS_GD5436_PATH "roms/video/cirruslogic/5436.vbi"
#define BIOS_GD5440_PATH "roms/video/cirruslogic/BIOS.BIN"
@@ -1209,11 +1211,62 @@ gd54xx_in(uint16_t addr, void *p)
ret |= 0x80;
}
break;
case 0x0a: /*Scratch Pad 1 (Memory size for 5402/542x)*/
ret = svga->seqregs[0x0a] & ~0x1a;
if (svga->crtc[0x27] == CIRRUS_ID_CLGD5402) {
ret |= 0x01; /*512K of memory*/
} else if (svga->crtc[0x27] > CIRRUS_ID_CLGD5402) {
switch (gd54xx->vram_size >> 10) {
case 512:
ret |= 0x08;
break;
case 1024:
ret |= 0x10;
break;
case 2048:
ret |= 0x18;
break;
}
}
break;
case 0x0b: case 0x0c: case 0x0d: case 0x0e:
ret = gd54xx->vclk_n[svga->seqaddr-0x0b];
break;
case 0x0f: /*DRAM control*/
ret = svga->seqregs[0x0f] & ~0x98;
switch (gd54xx->vram_size >> 10) {
case 512:
ret |= 0x08; /*16-bit DRAM data bus width*/
break;
case 1024:
ret |= 0x10; /*32-bit DRAM data bus width for 1M of memory*/
break;
case 2048:
ret |= (gd54xx_is_5434(svga)) ? 0x98 : 0x18; /*32-bit (Pre-5434)/64-bit (5434 and up) DRAM data bus width for 2M of memory*/
break;
case 4096:
ret |= 0x98; /*64-bit (5434 and up) DRAM data bus width for 4M of memory*/
break;
}
break;
case 0x15: /*Scratch Pad 3 (Memory size for 543x)*/
ret = svga->seqregs[0x15] & ~0x0f;
if (svga->crtc[0x27] >= CIRRUS_ID_CLGD5430) {
switch (gd54xx->vram_size >> 20) {
case 1:
ret |= 0x02;
break;
case 2:
ret |= 0x03;
break;
case 4:
ret |= 0x04;
break;
}
}
break;
case 0x17:
ret = svga->gdcreg[0x17] & ~(7 << 3);
ret = svga->seqregs[0x17] & ~(7 << 3);
if (svga->crtc[0x27] <= CIRRUS_ID_CLGD5429) {
if ((svga->crtc[0x27] == CIRRUS_ID_CLGD5428) || (svga->crtc[0x27] == CIRRUS_ID_CLGD5426)) {
if (gd54xx->vlb)
@@ -3844,17 +3897,29 @@ static void
case CIRRUS_ID_CLGD5426:
if (info->local & 0x200)
romfn = NULL;
else
romfn = BIOS_GD5426_PATH;
else {
if (info->local & 0x100)
romfn = BIOS_GD5426_DIAMOND_A1_ISA_PATH;
else {
if (gd54xx->vlb)
romfn = BIOS_GD5428_PATH;
else
romfn = BIOS_GD5428_ISA_PATH;
}
}
break;
case CIRRUS_ID_CLGD5428:
if (gd54xx->vlb)
romfn = BIOS_GD5428_PATH;
else if (gd54xx->mca)
romfn = BIOS_GD5428_MCA_PATH;
else
romfn = BIOS_GD5428_ISA_PATH;
if (info->local & 0x100)
romfn = BIOS_GD5428_DIAMOND_B1_VLB_PATH;
else {
if (gd54xx->vlb)
romfn = BIOS_GD5428_PATH;
else if (gd54xx->mca)
romfn = BIOS_GD5428_MCA_PATH;
else
romfn = BIOS_GD5428_ISA_PATH;
}
break;
case CIRRUS_ID_CLGD5429:
@@ -3873,8 +3938,12 @@ static void
if (info->local & 0x200) {
romfn = NULL;
gd54xx->has_bios = 0;
} else
romfn = BIOS_GD5434_PATH;
} else {
if (info->local & 0x100)
romfn = BIOS_GD5434_DIAMOND_A3_ISA_PATH;
else
romfn = BIOS_GD5434_PATH;
}
break;
case CIRRUS_ID_CLGD5436:
@@ -3896,9 +3965,9 @@ static void
romfn = NULL;
gd54xx->has_bios = 0;
} else if (gd54xx->pci)
romfn = BIOS_GD5430_PCI_PATH;
romfn = BIOS_GD5430_PATH;
else
romfn = BIOS_GD5430_VLB_PATH;
romfn = BIOS_GD5430_DIAMOND_A8_VLB_PATH;
}
break;
@@ -3915,23 +3984,24 @@ static void
}
if (info->flags & DEVICE_MCA) {
vram = 1;
gd54xx->vram_size = 1 << 20;
vram = 1024;
gd54xx->vram_size = vram << 10;
} else {
if (id >= CIRRUS_ID_CLGD5420) {
if (id <= CIRRUS_ID_CLGD5428) {
if ((id == CIRRUS_ID_CLGD5426) && (info->local & 0x200))
vram = 1;
vram = 1024;
else if (id == CIRRUS_ID_CLGD5401)
vram = 256;
else if (id == CIRRUS_ID_CLGD5402)
vram = 512;
else
vram = device_get_config_int("memory");
} else
vram = 0;
if (vram)
gd54xx->vram_size = vram << 20;
else
gd54xx->vram_size = 1 << 19;
gd54xx->vram_size = vram << 10;
} else {
vram = device_get_config_int("memory");
gd54xx->vram_size = vram << 20;
}
}
gd54xx->vram_mask = gd54xx->vram_size - 1;
if (romfn)
@@ -3955,8 +4025,8 @@ static void
}
svga->vblank_start = gd54xx_vblank_start;
svga->ven_write = gd54xx_write_modes45;
if (vram <= 1)
svga->decode_mask = gd54xx->vram_mask;
if ((vram == 1) || (vram >= 256 && vram <= 1024))
svga->decode_mask = gd54xx->vram_mask;
if (gd54xx->bit32) {
mem_mapping_set_handler(&svga->mapping, gd54xx_read, gd54xx_readw, gd54xx_readl, gd54xx_write, gd54xx_writew, gd54xx_writel);
@@ -4039,6 +4109,7 @@ static void
svga->crtc[0x27] = id;
svga->seqregs[6] = 0x0f;
if (svga->crtc[0x27] >= CIRRUS_ID_CLGD5429)
gd54xx->unlocked = 1;
@@ -4089,9 +4160,9 @@ gd5422_available(void)
}
static int
gd5426_available(void)
gd5426_diamond_a1_available(void)
{
return rom_present(BIOS_GD5426_PATH);
return rom_present(BIOS_GD5426_DIAMOND_A1_ISA_PATH);
}
static int
@@ -4100,6 +4171,12 @@ gd5428_available(void)
return rom_present(BIOS_GD5428_PATH);
}
static int
gd5428_diamond_b1_available(void)
{
return rom_present(BIOS_GD5428_DIAMOND_B1_VLB_PATH);
}
static int
gd5428_isa_available(void)
{
@@ -4119,15 +4196,15 @@ gd5429_available(void)
}
static int
gd5430_vlb_available(void)
gd5430_diamond_a8_available(void)
{
return rom_present(BIOS_GD5430_VLB_PATH);
return rom_present(BIOS_GD5430_DIAMOND_A8_VLB_PATH);
}
static int
gd5430_pci_available(void)
gd5430_available(void)
{
return rom_present(BIOS_GD5430_PCI_PATH);
return rom_present(BIOS_GD5430_PATH);
}
static int
@@ -4136,6 +4213,12 @@ gd5434_available(void)
return rom_present(BIOS_GD5434_PATH);
}
static int
gd5434_diamond_a3_available(void)
{
return rom_present(BIOS_GD5434_DIAMOND_A3_ISA_PATH);
}
static int
gd5436_available(void)
{
@@ -4199,28 +4282,96 @@ gd54xx_force_redraw(void *p)
gd54xx->svga.fullchange = changeframecount;
}
static const device_config_t gd5422_config[] =
static const device_config_t gd542x_config[] =
{
{
"memory","Memory size",CONFIG_SELECTION,"", 1, "", { 0 },
.name = "memory",
.description = "Memory size",
.type = CONFIG_SELECTION,
.selection =
{
{
"512 KB", 0
.description = "512 KB",
.value = 512
},
{
"1 MB", 1
.description = "1 MB",
.value = 1024
},
{
""
.description = ""
}
},
.default_int = 512
},
{
"", "", -1
.type = -1
}
};
static const device_config_t gd5428_config[] =
static const device_config_t gd5426_config[] =
{
{
.name = "memory",
.description = "Memory size",
.type = CONFIG_SELECTION,
.selection =
{
{
.description = "512 KB",
.value = 512
},
{
.description = "1 MB",
.value = 1024
},
{
.description = "2 MB",
.value = 2048
},
{
.description = ""
}
},
.default_int = 2048
},
{
.type = -1
}
};
static const device_config_t gd5428_onboard_config[] =
{
{
.name = "memory",
.description = "Onboard memory size",
.type = CONFIG_SELECTION,
.selection =
{
{
.description = "512 KB",
.value = 512
},
{
.description = "1 MB",
.value = 1024
},
{
.description = "2 MB",
.value = 2048
},
{
.description = ""
}
},
.default_int = 2048
},
{
.type = -1
}
};
static const device_config_t gd5429_config[] =
{
{
.name = "memory",
@@ -4247,38 +4398,11 @@ static const device_config_t gd5428_config[] =
}
};
static const device_config_t gd5428_onboard_config[] =
{
{
.name = "memory",
.description = "Onboard Video RAM size",
.type = CONFIG_SELECTION,
.selection =
{
{
.description = "1 MB",
.value = 1
},
{
.description = "2 MB",
.value = 2
},
{
.description = ""
}
},
.default_int = 2
},
{
.type = -1
}
};
static const device_config_t gd5440_onboard_config[] =
{
{
.name = "memory",
.description = "Video memory size",
.description = "Onboard memory size",
.type = CONFIG_SELECTION,
.selection =
{
@@ -4302,6 +4426,68 @@ static const device_config_t gd5440_onboard_config[] =
};
static const device_config_t gd5434_config[] =
{
{
.name = "memory",
.description = "Memory size",
.type = CONFIG_SELECTION,
.selection =
{
{
.description = "1 MB",
.value = 1
},
{
.description = "2 MB",
.value = 2
},
{
.description = "4 MB",
.value = 4
},
{
.description = ""
}
},
.default_int = 4
},
{
.type = -1
}
};
static const device_config_t gd5434_onboard_config[] =
{
{
.name = "memory",
.description = "Onboard memory size",
.type = CONFIG_SELECTION,
.selection =
{
{
.description = "1 MB",
.value = 1
},
{
.description = "2 MB",
.value = 2
},
{
.description = "4 MB",
.value = 4
},
{
.description = ""
}
},
.default_int = 4
},
{
.type = -1
}
};
static const device_config_t gd5480_config[] =
{
{
.name = "memory",
@@ -4330,7 +4516,7 @@ static const device_config_t gd5434_config[] =
const device_t gd5401_isa_device =
{
"Cirrus Logic GD-5401 (ACUMOS AVGA1)",
"Cirrus Logic GD5401 (ISA) (ACUMOS AVGA1)",
DEVICE_ISA,
CIRRUS_ID_CLGD5401,
gd54xx_init, gd54xx_close,
@@ -4343,7 +4529,7 @@ const device_t gd5401_isa_device =
const device_t gd5402_isa_device =
{
"Cirrus Logic GD-5402 (ACUMOS AVGA2)",
"Cirrus Logic GD5402 (ISA) (ACUMOS AVGA2)",
DEVICE_ISA,
CIRRUS_ID_CLGD5402,
gd54xx_init, gd54xx_close,
@@ -4356,7 +4542,7 @@ const device_t gd5402_isa_device =
const device_t gd5402_onboard_device =
{
"Cirrus Logic GD-5402 (ACUMOS AVGA2) (On-Board)",
"Cirrus Logic GD5402 (ISA) (ACUMOS AVGA2) (On-Board)",
DEVICE_AT | DEVICE_ISA,
CIRRUS_ID_CLGD5402 | 0x200,
gd54xx_init, gd54xx_close,
@@ -4369,7 +4555,7 @@ const device_t gd5402_onboard_device =
const device_t gd5420_isa_device =
{
"Cirrus Logic GD-5420",
"Cirrus Logic GD5420 (ISA)",
DEVICE_AT | DEVICE_ISA,
CIRRUS_ID_CLGD5420,
gd54xx_init, gd54xx_close,
@@ -4377,11 +4563,11 @@ const device_t gd5420_isa_device =
{ gd5420_available },
gd54xx_speed_changed,
gd54xx_force_redraw,
gd5422_config,
gd542x_config,
};
const device_t gd5422_isa_device = {
"Cirrus Logic GD-5422",
"Cirrus Logic GD5422 (ISA)",
DEVICE_AT | DEVICE_ISA,
CIRRUS_ID_CLGD5422,
gd54xx_init, gd54xx_close,
@@ -4389,11 +4575,11 @@ const device_t gd5422_isa_device = {
{ gd5422_available }, /* Common BIOS between 5422 and 5424 */
gd54xx_speed_changed,
gd54xx_force_redraw,
gd5422_config,
gd542x_config,
};
const device_t gd5424_vlb_device = {
"Cirrus Logic GD-5424",
"Cirrus Logic GD5424 (VLB)",
DEVICE_VLB,
CIRRUS_ID_CLGD5424,
gd54xx_init, gd54xx_close,
@@ -4401,26 +4587,57 @@ const device_t gd5424_vlb_device = {
{ gd5422_available }, /* Common BIOS between 5422 and 5424 */
gd54xx_speed_changed,
gd54xx_force_redraw,
gd5422_config,
gd542x_config,
};
const device_t gd5426_isa_device =
{
"Cirrus Logic GD5426 (ISA)",
DEVICE_AT | DEVICE_ISA,
CIRRUS_ID_CLGD5426,
gd54xx_init,
gd54xx_close,
gd54xx_reset,
{ gd5428_isa_available },
gd54xx_speed_changed,
gd54xx_force_redraw,
gd5426_config
};
/*According to a Diamond bios file listing and vgamuseum*/
const device_t gd5426_diamond_speedstar_pro_a1_isa_device =
{
"Cirrus Logic GD5426 (ISA) (Diamond SpeedStar Pro Rev. A1)",
DEVICE_AT | DEVICE_ISA,
CIRRUS_ID_CLGD5426 | 0x100,
gd54xx_init,
gd54xx_close,
gd54xx_reset,
{ gd5426_diamond_a1_available },
gd54xx_speed_changed,
gd54xx_force_redraw,
gd5426_config
};
const device_t gd5426_vlb_device =
{
"Cirrus Logic CL-GD 5426 (VLB)",
"Cirrus Logic GD5426 (VLB)",
DEVICE_VLB,
CIRRUS_ID_CLGD5426,
gd54xx_init,
gd54xx_close,
gd54xx_reset,
{ gd5426_available },
{ gd5428_available },
gd54xx_speed_changed,
gd54xx_force_redraw,
gd5428_config
gd5426_config
};
const device_t gd5426_onboard_device =
{
"Cirrus Logic CL-GD 5426 (On-board)",
"Cirrus Logic GD5426 (VLB) (On-Board)",
DEVICE_VLB,
CIRRUS_ID_CLGD5426 | 0x200,
gd54xx_init,
@@ -4434,7 +4651,7 @@ const device_t gd5426_onboard_device =
const device_t gd5428_isa_device =
{
"Cirrus Logic CL-GD 5428 (ISA)",
"Cirrus Logic GD5428 (ISA)",
DEVICE_AT | DEVICE_ISA,
CIRRUS_ID_CLGD5428,
gd54xx_init,
@@ -4443,12 +4660,12 @@ const device_t gd5428_isa_device =
{ gd5428_isa_available },
gd54xx_speed_changed,
gd54xx_force_redraw,
gd5428_config
gd5426_config
};
const device_t gd5428_vlb_device =
{
"Cirrus Logic CL-GD 5428 (VLB)",
"Cirrus Logic GD5428 (VLB)",
DEVICE_VLB,
CIRRUS_ID_CLGD5428,
gd54xx_init,
@@ -4457,12 +4674,27 @@ const device_t gd5428_vlb_device =
{ gd5428_available },
gd54xx_speed_changed,
gd54xx_force_redraw,
gd5428_config
gd5426_config
};
/*According to a Diamond bios file listing and vgamuseum*/
const device_t gd5428_diamond_speedstar_pro_b1_vlb_device =
{
"Cirrus Logic GD5428 (VLB) (Diamond SpeedStar Pro Rev. B1)",
DEVICE_VLB,
CIRRUS_ID_CLGD5428 | 0x100,
gd54xx_init,
gd54xx_close,
gd54xx_reset,
{ gd5428_diamond_b1_available },
gd54xx_speed_changed,
gd54xx_force_redraw,
gd5426_config
};
const device_t gd5428_mca_device =
{
"Cirrus Logic CL-GD 5428 (IBM SVGA Adapter/A)",
"Cirrus Logic GD5428 (MCA) (IBM SVGA Adapter/A)",
DEVICE_MCA,
CIRRUS_ID_CLGD5428,
gd54xx_init,
@@ -4476,7 +4708,7 @@ const device_t gd5428_mca_device =
const device_t gd5428_onboard_device =
{
"Cirrus Logic CL-GD 5428 (On-Board)",
"Cirrus Logic GD5428 (ISA) (On-Board)",
DEVICE_AT | DEVICE_ISA,
CIRRUS_ID_CLGD5428,
gd54xx_init,
@@ -4490,7 +4722,7 @@ const device_t gd5428_onboard_device =
const device_t gd5429_isa_device =
{
"Cirrus Logic CL-GD 5429 (ISA)",
"Cirrus Logic GD5429 (ISA)",
DEVICE_AT | DEVICE_ISA,
CIRRUS_ID_CLGD5429,
gd54xx_init,
@@ -4499,12 +4731,12 @@ const device_t gd5429_isa_device =
{ gd5429_available },
gd54xx_speed_changed,
gd54xx_force_redraw,
gd5428_config
gd5429_config
};
const device_t gd5429_vlb_device =
{
"Cirrus Logic CL-GD 5429 (VLB)",
"Cirrus Logic GD5429 (VLB)",
DEVICE_VLB,
CIRRUS_ID_CLGD5429,
gd54xx_init,
@@ -4513,40 +4745,41 @@ const device_t gd5429_vlb_device =
{ gd5429_available },
gd54xx_speed_changed,
gd54xx_force_redraw,
gd5428_config
gd5429_config
};
const device_t gd5430_vlb_device =
/*According to a Diamond bios file listing and vgamuseum*/
const device_t gd5430_diamond_speedstar_pro_se_a8_vlb_device =
{
"Cirrus Logic CL-GD 5430 (VLB)",
"Cirrus Logic GD5430 (VLB) (Diamond SpeedStar Pro SE Rev. A8)",
DEVICE_VLB,
CIRRUS_ID_CLGD5430,
gd54xx_init,
gd54xx_close,
gd54xx_reset,
{ gd5430_vlb_available },
{ gd5430_diamond_a8_available },
gd54xx_speed_changed,
gd54xx_force_redraw,
gd5428_config
gd5429_config
};
const device_t gd5430_pci_device =
{
"Cirrus Logic CL-GD 5430 (PCI)",
"Cirrus Logic GD5430 (PCI)",
DEVICE_PCI,
CIRRUS_ID_CLGD5430,
gd54xx_init,
gd54xx_close,
gd54xx_reset,
{ gd5430_pci_available },
{ gd5430_available },
gd54xx_speed_changed,
gd54xx_force_redraw,
gd5428_config
gd5429_config
};
const device_t gd5434_isa_device =
{
"Cirrus Logic CL-GD 5434 (ISA)",
"Cirrus Logic GD5434 (ISA)",
DEVICE_AT | DEVICE_ISA,
CIRRUS_ID_CLGD5434,
gd54xx_init,
@@ -4558,9 +4791,24 @@ const device_t gd5434_isa_device =
gd5434_config
};
/*According to a Diamond bios file listing and vgamuseum*/
const device_t gd5434_diamond_speedstar_64_a3_isa_device =
{
"Cirrus Logic GD5434 (ISA) (Diamond SpeedStar 64 Rev. A3)",
DEVICE_AT | DEVICE_ISA,
CIRRUS_ID_CLGD5434 | 0x100,
gd54xx_init,
gd54xx_close,
gd54xx_reset,
{ gd5434_diamond_a3_available },
gd54xx_speed_changed,
gd54xx_force_redraw,
gd5429_config
};
const device_t gd5434_onboard_pci_device =
{
"Cirrus Logic CL-GD 5434-4 (On-Board PCI)",
"Cirrus Logic GD5434-4 (PCI) (On-Board)",
DEVICE_PCI,
CIRRUS_ID_CLGD5434 | 0x200,
gd54xx_init,
@@ -4569,12 +4817,12 @@ const device_t gd5434_onboard_pci_device =
{ NULL },
gd54xx_speed_changed,
gd54xx_force_redraw,
gd5434_config
gd5434_onboard_config
};
const device_t gd5434_vlb_device =
{
"Cirrus Logic CL-GD 5434 (VLB)",
"Cirrus Logic GD5434 (VLB)",
DEVICE_VLB,
CIRRUS_ID_CLGD5434,
gd54xx_init,
@@ -4588,7 +4836,7 @@ const device_t gd5434_vlb_device =
const device_t gd5434_pci_device =
{
"Cirrus Logic CL-GD 5434 (PCI)",
"Cirrus Logic GD5434 (PCI)",
DEVICE_PCI,
CIRRUS_ID_CLGD5434,
gd54xx_init,
@@ -4602,7 +4850,7 @@ const device_t gd5434_pci_device =
const device_t gd5436_pci_device =
{
"Cirrus Logic CL-GD 5436 (PCI)",
"Cirrus Logic GD5436 (PCI)",
DEVICE_PCI,
CIRRUS_ID_CLGD5436,
gd54xx_init,
@@ -4616,7 +4864,7 @@ const device_t gd5436_pci_device =
const device_t gd5440_onboard_pci_device =
{
"Cirrus Logic CL-GD 5440 (On-Board PCI)",
"Cirrus Logic GD5440 (PCI) (On-Board)",
DEVICE_PCI,
CIRRUS_ID_CLGD5440 | 0x600,
gd54xx_init,
@@ -4630,7 +4878,7 @@ const device_t gd5440_onboard_pci_device =
const device_t gd5440_pci_device =
{
"Cirrus Logic CL-GD 5440 (PCI)",
"Cirrus Logic GD5440 (PCI)",
DEVICE_PCI,
CIRRUS_ID_CLGD5440 | 0x400,
gd54xx_init,
@@ -4639,12 +4887,12 @@ const device_t gd5440_pci_device =
{ gd5440_available },
gd54xx_speed_changed,
gd54xx_force_redraw,
gd5428_config
gd5429_config
};
const device_t gd5446_pci_device =
{
"Cirrus Logic CL-GD 5446 (PCI)",
"Cirrus Logic GD5446 (PCI)",
DEVICE_PCI,
CIRRUS_ID_CLGD5446,
gd54xx_init,
@@ -4658,7 +4906,7 @@ const device_t gd5446_pci_device =
const device_t gd5446_stb_pci_device =
{
"STB Nitro 64V (PCI)",
"Cirrus Logic GD5446 (PCI) (STB Nitro 64V)",
DEVICE_PCI,
CIRRUS_ID_CLGD5446 | 0x100,
gd54xx_init,
@@ -4672,7 +4920,7 @@ const device_t gd5446_stb_pci_device =
const device_t gd5480_pci_device =
{
"Cirrus Logic CL-GD 5480 (PCI)",
"Cirrus Logic GD5480 (PCI)",
DEVICE_PCI,
CIRRUS_ID_CLGD5480,
gd54xx_init,
@@ -4681,5 +4929,5 @@ const device_t gd5480_pci_device =
{ gd5480_available },
gd54xx_speed_changed,
gd54xx_force_redraw,
gd5434_config
gd5480_config
};

File diff suppressed because it is too large Load Diff

View File

@@ -40,7 +40,7 @@ typedef struct paradise_t
rom_t bios_rom;
uint8_t pr0a, pr0b, pr1, pr5, bank_mask;
uint8_t bank_mask;
enum
{
@@ -54,7 +54,7 @@ typedef struct paradise_t
uint32_t read_bank[4], write_bank[4];
int interlace;
int check;
int check, check2;
struct {
uint8_t reg_block_ptr;
@@ -81,7 +81,7 @@ void paradise_out(uint16_t addr, uint8_t val, void *p)
{
paradise_t *paradise = (paradise_t *)p;
svga_t *svga = &paradise->svga;
uint8_t old, o;
uint8_t old;
if (paradise->vram_mask <= ((512 << 10) - 1))
paradise->bank_mask = 0x7f;
@@ -94,15 +94,14 @@ void paradise_out(uint16_t addr, uint8_t val, void *p)
switch (addr)
{
case 0x3c5:
if (svga->seqaddr > 7)
{
if (paradise->type < WD90C11 || svga->seqregs[6] != 0x48)
return;
svga->seqregs[svga->seqaddr & 0x1f] = val;
if (svga->seqaddr == 0x11) {
paradise_remap(paradise);
}
return;
if (svga->seqaddr > 7) {
if (paradise->type < WD90C11 || svga->seqregs[6] != 0x48)
return;
svga->seqregs[svga->seqaddr & 0x1f] = val;
if (svga->seqaddr == 0x11) {
paradise_remap(paradise);
}
return;
}
break;
@@ -115,53 +114,45 @@ void paradise_out(uint16_t addr, uint8_t val, void *p)
case 0x3cf:
if (svga->gdcaddr >= 9 && svga->gdcaddr <= 0x0e) {
if ((paradise->pr5 & 7) != 5)
if ((svga->gdcreg[0x0f] & 7) != 5)
return;
}
switch (svga->gdcaddr) {
case 6:
if (val & 8)
svga->banked_mask = 0x7fff;
else
svga->banked_mask = 0xffff;
if (svga->gdcreg[6] != val)
svga->gdcreg[6] = val;
if ((svga->gdcreg[6] & 0x0c) != (val & 0x0c)) {
switch (val & 0x0c) {
case 0x00: /*128k at A0000*/
mem_mapping_set_addr(&svga->mapping, 0xa0000, 0x20000);
svga->banked_mask = 0xffff;
break;
case 0x04: /*64k at A0000*/
mem_mapping_set_addr(&svga->mapping, 0xa0000, 0x10000);
svga->banked_mask = 0xffff;
break;
case 0x08: /*32k at B0000*/
mem_mapping_set_addr(&svga->mapping, 0xb0000, 0x08000);
svga->banked_mask = 0x7fff;
break;
case 0x0c: /*32k at B8000*/
mem_mapping_set_addr(&svga->mapping, 0xb8000, 0x08000);
svga->banked_mask = 0x7fff;
break;
}
}
svga->gdcreg[6] = val;
paradise_remap(paradise);
break;
return;
case 9:
paradise->pr0a = val & paradise->bank_mask;
paradise_remap(paradise);
break;
case 0x0a:
paradise->pr0b = val & paradise->bank_mask;
svga->gdcreg[svga->gdcaddr] = val & paradise->bank_mask;
paradise_remap(paradise);
break;
return;
case 0x0b:
paradise->pr1 = val;
svga->gdcreg[0x0b] = val;
paradise_remap(paradise);
break;
case 0x0d:
o = svga->gdcreg[0x0d];
svga->gdcreg[0x0d] = val;
if ((o ^ val) & 0x18)
svga_recalctimings(svga);
break;
case 0x0e:
o = svga->gdcreg[0x0e];
svga->gdcreg[0x0e] = val;
if ((o ^ val) & 0x01)
svga_recalctimings(svga);
break;
case 0x0c:
svga->gdcreg[0x0c] = val;
break;
case 0x0f:
paradise->pr5 = val;
break;
default:
svga->gdcreg[svga->gdcaddr] = val;
break;
return;
}
break;
@@ -216,10 +207,8 @@ uint8_t paradise_in(uint16_t addr, void *p)
{
if (paradise->type < WD90C11 || svga->seqregs[6] != 0x48)
return 0xff;
if (paradise->type < WD90C30) {
if (svga->seqaddr > 0x12)
if (svga->seqaddr > 0x12)
return 0xff;
}
return svga->seqregs[svga->seqaddr & 0x1f];
}
break;
@@ -231,36 +220,21 @@ uint8_t paradise_in(uint16_t addr, void *p)
case 0x3cf:
if (svga->gdcaddr >= 9 && svga->gdcaddr <= 0x0e) {
if (paradise->pr5 & 0x10)
if (svga->gdcreg[0x0f] & 0x10)
return 0xff;
}
switch (svga->gdcaddr) {
case 9:
return paradise->pr0a;
case 0x0a:
return paradise->pr0b;
case 0x0b:
if (paradise->vram_mask == (512 << 10) - 1) {
paradise->pr1 |= 0xc0;
paradise->pr1 &= ~0x40;
} else if (paradise->vram_mask == (1024 << 10) - 1) {
paradise->pr1 |= 0xc0;
/*The following is a horrible tweak, but needed to get around black corruption in 1M mode*/
if (svga->bpp >= 8 && (svga->gdcreg[0x0e] & 0x01) && paradise->check)
paradise->pr1 &= ~0x40;
else if (!(svga->gdcreg[0x0e] & 0x01) && !(svga->crtc[0x14] & 0x40) && paradise->check)
paradise->check = 0;
if (paradise->type == WD90C30) {
if (paradise->vram_mask == ((512 << 10) - 1)) {
svga->gdcreg[0x0b] |= 0xc0;
svga->gdcreg[0x0b] &= ~0x40;
}
}
return paradise->pr1;
case 6:
case 0x0c:
case 0x0d:
case 0x0e:
return svga->gdcreg[svga->gdcaddr];
return svga->gdcreg[0x0b];
case 0x0f:
return (paradise->pr5 & 0x17) | 0x80;
default:
return svga->gdcreg[svga->gdcaddr];
return (svga->gdcreg[0x0f] & 0x17) | 0x80;
}
break;
@@ -278,61 +252,46 @@ uint8_t paradise_in(uint16_t addr, void *p)
void paradise_remap(paradise_t *paradise)
{
svga_t *svga = &paradise->svga;
svga_t *svga = &paradise->svga;
paradise->check = 0;
if (svga->seqregs[0x11] & 0x80) {
paradise->read_bank[0] = (paradise->pr0a) << 12;
paradise->read_bank[1] = paradise->read_bank[0] + ((svga->gdcreg[6] & 8) ? 0 : 0x8000);
paradise->read_bank[2] = paradise->read_bank[0];
paradise->read_bank[3] = paradise->read_bank[1];
paradise->write_bank[0] = (paradise->pr0b) << 12;
paradise->write_bank[1] = paradise->write_bank[0] + ((svga->gdcreg[6] & 8) ? 0 : 0x8000);
paradise->write_bank[2] = paradise->write_bank[0];
paradise->write_bank[3] = paradise->write_bank[1];
} else if (paradise->pr1 & 8) {
if (svga->gdcreg[6] & 0x0c) {
paradise->read_bank[0] = (paradise->pr0b) << 12;
paradise->read_bank[1] = ((paradise->pr0a) << 12) + ((svga->gdcreg[6] & 8) ? 0 : 0x8000);
paradise->read_bank[2] = paradise->read_bank[0];
paradise->read_bank[3] = paradise->read_bank[1];
paradise->write_bank[0] = (paradise->pr0b) << 12;
paradise->write_bank[1] = ((paradise->pr0a) << 12) + ((svga->gdcreg[6] & 8) ? 0 : 0x8000);
paradise->write_bank[2] = paradise->write_bank[0];
paradise->write_bank[3] = paradise->write_bank[1];
} else {
paradise->read_bank[0] = (paradise->pr0b) << 12;
paradise->read_bank[1] = paradise->read_bank[0] + ((svga->gdcreg[6] & 8) ? 0 : 0x8000);
paradise->read_bank[2] = (paradise->pr0a) << 12;
paradise->read_bank[3] = paradise->read_bank[2] + ((svga->gdcreg[6] & 8) ? 0 : 0x8000);
paradise->write_bank[0] = (paradise->pr0b) << 12;
paradise->write_bank[1] = paradise->write_bank[0] + ((svga->gdcreg[6] & 8) ? 0 : 0x8000);
paradise->write_bank[2] = (paradise->pr0a) << 12;
paradise->write_bank[3] = paradise->write_bank[2] + ((svga->gdcreg[6] & 8) ? 0 : 0x8000);
}
} else {
paradise->read_bank[0] = (paradise->pr0a) << 12;
paradise->write_bank[0] = (paradise->pr0a) << 12;
paradise->read_bank[1] = paradise->read_bank[0] + ((svga->gdcreg[6] & 8) ? 0 : 0x8000);
paradise->write_bank[1] = paradise->write_bank[0] + ((svga->gdcreg[6] & 8) ? 0 : 0x8000);
paradise->read_bank[2] = paradise->read_bank[0];
paradise->write_bank[2] = paradise->write_bank[0];
paradise->read_bank[3] = paradise->read_bank[0] + ((svga->gdcreg[6] & 8) ? 0 : 0x8000);
paradise->write_bank[3] = paradise->write_bank[0] + ((svga->gdcreg[6] & 8) ? 0 : 0x8000);
}
if (paradise->bank_mask == 0x7f) {
paradise->read_bank[1] &= 0x7ffff;
paradise->write_bank[1] &= 0x7ffff;
if (svga->seqregs[0x11] & 0x80) {
paradise->read_bank[0] = paradise->read_bank[2] = svga->gdcreg[9] << 12;
paradise->read_bank[1] = paradise->read_bank[3] = (svga->gdcreg[9] << 12) + ((svga->gdcreg[6] & 0x08) ? 0 : 0x8000);
paradise->write_bank[0] = paradise->write_bank[2] = svga->gdcreg[0x0a] << 12;
paradise->write_bank[1] = paradise->write_bank[3] = (svga->gdcreg[0x0a] << 12) + ((svga->gdcreg[6] & 0x08) ? 0 : 0x8000);
} else if (svga->gdcreg[0x0b] & 0x08) {
if (svga->gdcreg[6] & 0x0c) {
paradise->read_bank[0] = paradise->read_bank[2] = svga->gdcreg[0x0a] << 12;
paradise->write_bank[0] = paradise->write_bank[2] = svga->gdcreg[0x0a] << 12;
paradise->read_bank[1] = paradise->read_bank[3] = (svga->gdcreg[9] << 12) + ((svga->gdcreg[6] & 0x08) ? 0 : 0x8000);
paradise->write_bank[1] = paradise->write_bank[3] = (svga->gdcreg[9] << 12) + ((svga->gdcreg[6] & 0x08) ? 0 : 0x8000);
} else {
paradise->read_bank[0] = paradise->write_bank[0] = svga->gdcreg[0x0a] << 12;
paradise->read_bank[1] = paradise->write_bank[1] = (svga->gdcreg[0xa] << 12) + ((svga->gdcreg[6] & 0x08) ? 0 : 0x8000);
paradise->read_bank[2] = paradise->write_bank[2] = svga->gdcreg[9] << 12;
paradise->read_bank[3] = paradise->write_bank[3] = (svga->gdcreg[9] << 12) + ((svga->gdcreg[6] & 0x08) ? 0 : 0x8000);
}
} else {
paradise->read_bank[0] = paradise->read_bank[2] = svga->gdcreg[9] << 12;
paradise->read_bank[1] = paradise->read_bank[3] = (svga->gdcreg[9] << 12) + ((svga->gdcreg[6] & 0x08) ? 0 : 0x8000);
paradise->write_bank[0] = paradise->write_bank[2] = svga->gdcreg[9] << 12;
paradise->write_bank[1] = paradise->write_bank[3] = (svga->gdcreg[9] << 12) + ((svga->gdcreg[6] & 0x08) ? 0 : 0x8000);
}
if ((((svga->gdcreg[0x0b] & 0xc0) == 0xc0) && !svga->chain4 && (svga->crtc[0x14] & 0x40) && ((svga->gdcreg[6] >> 2) & 3) == 1))
paradise->check = 1;
if (paradise->bank_mask == 0x7f) {
paradise->read_bank[1] &= 0x7ffff;
paradise->write_bank[1] &= 0x7ffff;
}
}
void paradise_recalctimings(svga_t *svga)
{
paradise_t *paradise = (paradise_t *) svga->p;
if (svga->gdcreg[0x0d] & 0x08) svga->ma_latch |= 0x10000;
if (svga->gdcreg[0x0d] & 0x10) svga->ma_latch |= 0x20000;
svga->lowres = !(svga->gdcreg[0x0e] & 0x01);
if (paradise->type == WD90C30) {
@@ -355,8 +314,6 @@ void paradise_recalctimings(svga_t *svga)
if (paradise->type < WD90C30) {
if (svga->bpp >= 8 && !svga->lowres) {
if ((svga->crtc[0x17] == 0xc2) && (svga->crtc[0x14] & 0x40))
paradise->check = 1;
svga->render = svga_render_8bpp_highres;
}
} else {
@@ -368,8 +325,6 @@ void paradise_recalctimings(svga_t *svga)
svga->render = svga_render_15bpp_highres;
svga->hdisp >>= 1;
} else {
if ((svga->crtc[0x17] == 0xc2) && (svga->crtc[0x14] & 0x40))
paradise->check = 1;
svga->render = svga_render_8bpp_highres;
}
}
@@ -380,20 +335,94 @@ static void paradise_write(uint32_t addr, uint8_t val, void *p)
{
paradise_t *paradise = (paradise_t *)p;
svga_t *svga = &paradise->svga;
uint32_t prev_addr, prev_addr2;
addr &= svga->banked_mask;
addr = (addr & 0x7fff) + paradise->write_bank[(addr >> 15) & 3];
addr = (addr & 0x7fff) + paradise->write_bank[(addr >> 15) & 3];
/*Could be done in a better way but it works.*/
if (!svga->lowres) {
if (paradise->check) {
prev_addr = addr & 3;
prev_addr2 = addr & 0xfffc;
if ((addr & 3) == 3) {
if ((addr & 0x30000) == 0x20000)
addr = (addr >> 16) | (prev_addr << 16) | prev_addr2;
else if ((addr & 0x30000) == 0x10000)
addr = (addr >> 16) | (prev_addr << 16) | prev_addr2;
else if ((addr & 0x30000) == 0x00000)
addr = (addr >> 16) | (prev_addr << 16) | prev_addr2;
} else if ((addr & 3) == 2) {
if ((addr & 0x30000) == 0x30000)
addr = (addr >> 16) | (prev_addr << 16) | prev_addr2;
else if ((addr & 0x30000) == 0x10000)
addr = (addr >> 16) | (prev_addr << 16) | prev_addr2;
else if ((addr & 0x30000) == 0x00000)
addr = (addr >> 16) | (prev_addr << 16) | prev_addr2;
} else if ((addr & 3) == 1) {
if ((addr & 0x30000) == 0x30000)
addr = (addr >> 16) | (prev_addr << 16) | prev_addr2;
else if ((addr & 0x30000) == 0x20000)
addr = (addr >> 16) | (prev_addr << 16) | prev_addr2;
else if ((addr & 0x30000) == 0x00000)
addr = (addr >> 16) | (prev_addr << 16) | prev_addr2;
} else if ((addr & 3) == 0) {
if ((addr & 0x30000) == 0x30000)
addr = (addr >> 16) | (prev_addr << 16) | prev_addr2;
else if ((addr & 0x30000) == 0x20000)
addr = (addr >> 16) | (prev_addr << 16) | prev_addr2;
else if ((addr & 0x30000) == 0x10000)
addr = (addr >> 16) | (prev_addr << 16) | prev_addr2;
}
}
}
svga_write_linear(addr, val, svga);
}
static void paradise_writew(uint32_t addr, uint16_t val, void *p)
{
paradise_t *paradise = (paradise_t *)p;
svga_t *svga = &paradise->svga;
uint32_t prev_addr, prev_addr2;
addr &= svga->banked_mask;
addr = (addr & 0x7fff) + paradise->write_bank[(addr >> 15) & 3];
/*Could be done in a better way but it works.*/
if (!svga->lowres) {
if (paradise->check) {
prev_addr = addr & 3;
prev_addr2 = addr & 0xfffc;
if ((addr & 3) == 3) {
if ((addr & 0x30000) == 0x20000)
addr = (addr >> 16) | (prev_addr << 16) | prev_addr2;
else if ((addr & 0x30000) == 0x10000)
addr = (addr >> 16) | (prev_addr << 16) | prev_addr2;
else if ((addr & 0x30000) == 0x00000)
addr = (addr >> 16) | (prev_addr << 16) | prev_addr2;
} else if ((addr & 3) == 2) {
if ((addr & 0x30000) == 0x30000)
addr = (addr >> 16) | (prev_addr << 16) | prev_addr2;
else if ((addr & 0x30000) == 0x10000)
addr = (addr >> 16) | (prev_addr << 16) | prev_addr2;
else if ((addr & 0x30000) == 0x00000)
addr = (addr >> 16) | (prev_addr << 16) | prev_addr2;
} else if ((addr & 3) == 1) {
if ((addr & 0x30000) == 0x30000)
addr = (addr >> 16) | (prev_addr << 16) | prev_addr2;
else if ((addr & 0x30000) == 0x20000)
addr = (addr >> 16) | (prev_addr << 16) | prev_addr2;
else if ((addr & 0x30000) == 0x00000)
addr = (addr >> 16) | (prev_addr << 16) | prev_addr2;
} else if ((addr & 3) == 0) {
if ((addr & 0x30000) == 0x30000)
addr = (addr >> 16) | (prev_addr << 16) | prev_addr2;
else if ((addr & 0x30000) == 0x20000)
addr = (addr >> 16) | (prev_addr << 16) | prev_addr2;
else if ((addr & 0x30000) == 0x10000)
addr = (addr >> 16) | (prev_addr << 16) | prev_addr2;
}
}
}
svga_writew_linear(addr, val, svga);
}
@@ -401,9 +430,46 @@ static uint8_t paradise_read(uint32_t addr, void *p)
{
paradise_t *paradise = (paradise_t *)p;
svga_t *svga = &paradise->svga;
addr &= svga->banked_mask;
uint32_t prev_addr, prev_addr2;
addr = (addr & 0x7fff) + paradise->read_bank[(addr >> 15) & 3];
/*Could be done in a better way but it works.*/
if (!svga->lowres) {
if (paradise->check) {
prev_addr = addr & 3;
prev_addr2 = addr & 0xfffc;
if ((addr & 3) == 3) {
if ((addr & 0x30000) == 0x20000)
addr = (addr >> 16) | (prev_addr << 16) | prev_addr2;
else if ((addr & 0x30000) == 0x10000)
addr = (addr >> 16) | (prev_addr << 16) | prev_addr2;
else if ((addr & 0x30000) == 0x00000)
addr = (addr >> 16) | (prev_addr << 16) | prev_addr2;
} else if ((addr & 3) == 2) {
if ((addr & 0x30000) == 0x30000)
addr = (addr >> 16) | (prev_addr << 16) | prev_addr2;
else if ((addr & 0x30000) == 0x10000)
addr = (addr >> 16) | (prev_addr << 16) | prev_addr2;
else if ((addr & 0x30000) == 0x00000)
addr = (addr >> 16) | (prev_addr << 16) | prev_addr2;
} else if ((addr & 3) == 1) {
if ((addr & 0x30000) == 0x30000)
addr = (addr >> 16) | (prev_addr << 16) | prev_addr2;
else if ((addr & 0x30000) == 0x20000)
addr = (addr >> 16) | (prev_addr << 16) | prev_addr2;
else if ((addr & 0x30000) == 0x00000)
addr = (addr >> 16) | (prev_addr << 16) | prev_addr2;
} else if ((addr & 3) == 0) {
if ((addr & 0x30000) == 0x30000)
addr = (addr >> 16) | (prev_addr << 16) | prev_addr2;
else if ((addr & 0x30000) == 0x20000)
addr = (addr >> 16) | (prev_addr << 16) | prev_addr2;
else if ((addr & 0x30000) == 0x10000)
addr = (addr >> 16) | (prev_addr << 16) | prev_addr2;
}
}
}
return svga_read_linear(addr, svga);
}
@@ -411,11 +477,48 @@ static uint16_t paradise_readw(uint32_t addr, void *p)
{
paradise_t *paradise = (paradise_t *)p;
svga_t *svga = &paradise->svga;
addr &= svga->banked_mask;
uint32_t prev_addr, prev_addr2;
addr = (addr & 0x7fff) + paradise->read_bank[(addr >> 15) & 3];
/*Could be done in a better way but it works.*/
if (!svga->lowres) {
if (paradise->check) {
prev_addr = addr & 3;
prev_addr2 = addr & 0xfffc;
if ((addr & 3) == 3) {
if ((addr & 0x30000) == 0x20000)
addr = (addr >> 16) | (prev_addr << 16) | prev_addr2;
else if ((addr & 0x30000) == 0x10000)
addr = (addr >> 16) | (prev_addr << 16) | prev_addr2;
else if ((addr & 0x30000) == 0x00000)
addr = (addr >> 16) | (prev_addr << 16) | prev_addr2;
} else if ((addr & 3) == 2) {
if ((addr & 0x30000) == 0x30000)
addr = (addr >> 16) | (prev_addr << 16) | prev_addr2;
else if ((addr & 0x30000) == 0x10000)
addr = (addr >> 16) | (prev_addr << 16) | prev_addr2;
else if ((addr & 0x30000) == 0x00000)
addr = (addr >> 16) | (prev_addr << 16) | prev_addr2;
} else if ((addr & 3) == 1) {
if ((addr & 0x30000) == 0x30000)
addr = (addr >> 16) | (prev_addr << 16) | prev_addr2;
else if ((addr & 0x30000) == 0x20000)
addr = (addr >> 16) | (prev_addr << 16) | prev_addr2;
else if ((addr & 0x30000) == 0x00000)
addr = (addr >> 16) | (prev_addr << 16) | prev_addr2;
} else if ((addr & 3) == 0) {
if ((addr & 0x30000) == 0x30000)
addr = (addr >> 16) | (prev_addr << 16) | prev_addr2;
else if ((addr & 0x30000) == 0x20000)
addr = (addr >> 16) | (prev_addr << 16) | prev_addr2;
else if ((addr & 0x30000) == 0x10000)
addr = (addr >> 16) | (prev_addr << 16) | prev_addr2;
}
}
}
return svga_readw_linear(addr, svga);
return svga_readw_linear(addr, svga);
}
void *paradise_init(const device_t *info, uint32_t memsize)
@@ -653,9 +756,6 @@ static const device_config_t paradise_pvga1a_config[] =
{
"512 kB", 512
},
{
"1 MB", 1024
},
{
""
}

View File

@@ -62,9 +62,11 @@
#define ROM_DIAMOND_STEALTH_SE "roms/video/s3/DiamondStealthSE.VBI"
#define ROM_ELSAWIN2KPROX_964 "roms/video/s3/elsaw20004m.BIN"
#define ROM_ELSAWIN2KPROX "roms/video/s3/elsaw20008m.BIN"
#define ROM_NUMBER9_9FX_531 "roms/video/s3/numbernine.BIN"
#define ROM_PHOENIX_VISION868 "roms/video/s3/1-DSV3868.BIN"
#define ROM_MIROVIDEO40SV_ERGO_968_PCI "roms/video/s3/S3_968PCI_TVP3026_miroVideo40SV_PCI_1.04.BIN"
#define ROM_SPEA_MERCURY_P64V "roms/video/s3/S3_968PCI_TVP3026_SPEAMecuryP64V_ver1.01.BIN"
#define ROM_NUMBER9_9FX_771 "roms/video/s3/no9motionfx771.BIN"
#define ROM_PHOENIX_VISION968 "roms/video/s3/1-DSV3968P.BIN"
enum
@@ -100,7 +102,9 @@ enum
S3_MIROCRYSTAL20SV_964,
S3_MIROCRYSTAL20SD_864,
S3_PHOENIX_VISION968,
S3_MIROCRYSTAL8S_805
S3_MIROCRYSTAL8S_805,
S3_NUMBER9_9FX_531,
S3_NUMBER9_9FX_771
};
@@ -1140,18 +1144,30 @@ s3_accel_out_fifo(s3_t *s3, uint16_t port, uint8_t val)
break;
s3->accel.pix_trans[0] = val;
if (s3->accel.cmd & 0x100) {
if (!(s3->accel.cmd & 0x600)) {
if (((s3->accel.multifunc[0xa] & 0xc0) == 0x80) || (s3->accel.cmd & 2)) {
if (((s3->accel.frgd_mix & 0x60) != 0x40) || ((s3->accel.bkgd_mix & 0x60) != 0x40))
s3_accel_start(8, 1, s3->accel.pix_trans[0], 0, s3);
else
s3_accel_start(1, 1, 0xffffffff, s3->accel.pix_trans[0], s3);
} else {
if (s3->color_16bit)
s3_accel_start(2, 1, 0xffffffff, s3->accel.pix_trans[0], s3);
else
s3_accel_start(1, 1, 0xffffffff, s3->accel.pix_trans[0], s3);
}
switch (s3->accel.cmd & 0x600) {
case 0x000:
if (((s3->accel.multifunc[0xa] & 0xc0) == 0x80) || (s3->accel.cmd & 2)) {
if (((s3->accel.frgd_mix & 0x60) != 0x40) || ((s3->accel.bkgd_mix & 0x60) != 0x40))
s3_accel_start(8, 1, s3->accel.pix_trans[0], 0, s3);
else
s3_accel_start(1, 1, 0xffffffff, s3->accel.pix_trans[0], s3);
} else {
if (s3->color_16bit)
s3_accel_start(2, 1, 0xffffffff, s3->accel.pix_trans[0], s3);
else
s3_accel_start(1, 1, 0xffffffff, s3->accel.pix_trans[0], s3);
}
break;
case 0x200:
if (((s3->accel.multifunc[0xa] & 0xc0) == 0x80) || (s3->accel.cmd & 2)) {
if (((s3->accel.frgd_mix & 0x60) != 0x40) || ((s3->accel.bkgd_mix & 0x60) != 0x40))
s3_accel_start(16, 1, s3->accel.pix_trans[0] | (s3->accel.pix_trans[0] << 8), 0, s3);
else
s3_accel_start(2, 1, 0xffffffff, s3->accel.pix_trans[0] | (s3->accel.pix_trans[0] << 8), s3);
} else {
s3_accel_start(2, 1, 0xffffffff, s3->accel.pix_trans[0] | (s3->accel.pix_trans[0] << 8), s3);
}
break;
}
}
break;
@@ -2442,7 +2458,7 @@ s3_out(uint16_t addr, uint8_t val, void *p)
rs3 = 0;
bt48x_ramdac_out(addr, rs2, rs3, val, svga->ramdac, svga);
} else if ((s3->chip == S3_VISION964 && s3->card_type == S3_ELSAWIN2KPROX_964) || (s3->chip == S3_VISION968 && (s3->card_type == S3_ELSAWIN2KPROX ||
s3->card_type == S3_PHOENIX_VISION968)))
s3->card_type == S3_PHOENIX_VISION968 || s3->card_type == S3_NUMBER9_9FX_771)))
ibm_rgb528_ramdac_out(addr, rs2, val, svga->ramdac, svga);
else if ((s3->chip == S3_VISION968 && (s3->card_type == S3_SPEA_MERCURY_P64V || s3->card_type == S3_MIROVIDEO40SV_ERGO_968))) {
rs3 = !!(svga->crtc[0x55] & 0x02);
@@ -2451,7 +2467,9 @@ s3_out(uint16_t addr, uint8_t val, void *p)
att49x_ramdac_out(addr, rs2, val, svga->ramdac, svga);
else if (s3->chip <= S3_86C924) {
sc1148x_ramdac_out(addr, rs2, val, svga->ramdac, svga);
} else
} else if (s3->card_type == S3_NUMBER9_9FX_531)
att498_ramdac_out(addr, rs2, val, svga->ramdac, svga);
else
sdac_ramdac_out(addr, rs2, val, svga->ramdac, svga);
return;
@@ -2728,7 +2746,7 @@ s3_in(uint16_t addr, void *p)
rs3 = !!(svga->crtc[0x55] & 0x02);
return bt48x_ramdac_in(addr, rs2, rs3, svga->ramdac, svga);
} else if ((s3->chip == S3_VISION964 && s3->card_type == S3_ELSAWIN2KPROX_964) || (s3->chip == S3_VISION968 && (s3->card_type == S3_ELSAWIN2KPROX ||
s3->card_type == S3_PHOENIX_VISION968)))
s3->card_type == S3_PHOENIX_VISION968 || s3->card_type == S3_NUMBER9_9FX_771)))
return ibm_rgb528_ramdac_in(addr, rs2, svga->ramdac, svga);
else if ((s3->chip == S3_VISION968 && (s3->card_type == S3_SPEA_MERCURY_P64V || s3->card_type == S3_MIROVIDEO40SV_ERGO_968))) {
rs3 = !!(svga->crtc[0x55] & 0x02);
@@ -2737,6 +2755,8 @@ s3_in(uint16_t addr, void *p)
return att49x_ramdac_in(addr, rs2, svga->ramdac, svga);
else if (s3->chip <= S3_86C924)
return sc1148x_ramdac_in(addr, rs2, svga->ramdac, svga);
else if (s3->card_type == S3_NUMBER9_9FX_531)
return att498_ramdac_in(addr, rs2, svga->ramdac, svga);
else
return sdac_ramdac_in(addr, rs2, svga->ramdac, svga);
break;
@@ -2839,7 +2859,7 @@ static void s3_recalctimings(svga_t *svga)
else
ibm_rgb528_recalctimings(svga->ramdac, svga);
} else
svga->interlace = svga->crtc[0x42] & 0x20;
svga->interlace = !!(svga->crtc[0x42] & 0x20);
if ((((svga->miscout >> 2) & 3) == 3) && s3->chip < S3_TRIO32)
clk_sel = svga->crtc[0x42] & 0x0f;
@@ -2856,10 +2876,25 @@ static void s3_recalctimings(svga_t *svga)
if (s3->card_type == S3_MIROCRYSTAL10SD_805 || s3->card_type == S3_MIROCRYSTAL20SD_864 ||
s3->card_type == S3_MIROCRYSTAL20SV_964 || s3->card_type == S3_SPEA_MIRAGE_86C801 ||
s3->card_type == S3_SPEA_MIRAGE_86C805 || s3->card_type == S3_MIROCRYSTAL8S_805) {
s3->card_type == S3_SPEA_MIRAGE_86C805 || s3->card_type == S3_MIROCRYSTAL8S_805 ||
s3->card_type == S3_NUMBER9_9FX_531) {
if (!(svga->crtc[0x5e] & 0x04))
svga->vblankstart = svga->dispend;
if (svga->bpp != 32) {
if (svga->crtc[0x31] & 2) /*This is needed if the pixel width gets set with delays*/
s3->width = 2048;
else {
if (s3->card_type == S3_MIROCRYSTAL10SD_805) {
if (svga->hdisp == 1280 && s3->width == 1024) {
s3->width = 1280;
}
}
}
} else {
if (s3->card_type == S3_NUMBER9_9FX_531) {
if (svga->hdisp == 1600 && s3->width == 1600)
s3->width = 800;
}
}
} else if (s3->chip == S3_86C928) {
if (svga->bpp == 15) {
@@ -2889,15 +2924,16 @@ static void s3_recalctimings(svga_t *svga)
if (s3->chip != S3_VISION868) {
if (s3->chip == S3_86C928) {
if (s3->width == 2048 || s3->width == 1280 || s3->width == 1600)
svga->hdisp *= 2;
svga->hdisp <<= 1;
} else if ((s3->chip != S3_86C801) && (s3->chip != S3_86C805) && (s3->chip != S3_TRIO32) &&
(s3->chip != S3_TRIO64) && (s3->chip != S3_VISION964) && (s3->chip != S3_VISION968)) {
if (s3->width == 1280 || s3->width == 1600)
svga->hdisp *= 2;
svga->hdisp <<= 1;
} else if (s3->card_type == S3_SPEA_MERCURY_P64V) {
if (s3->width == 1280 || s3->width == 1600)
svga->hdisp *= 2;
}
svga->hdisp <<= 1;
} else if (s3->card_type == S3_NUMBER9_9FX_771)
svga->hdisp <<= 1;
if (s3->card_type == S3_MIROVIDEO40SV_ERGO_968 || s3->card_type == S3_MIROCRYSTAL20SD_864 ||
s3->card_type == S3_PHOENIX_VISION968 || s3->card_type == S3_SPEA_MERCURY_P64V) {
@@ -2948,19 +2984,21 @@ static void s3_recalctimings(svga_t *svga)
if ((s3->chip != S3_VISION964) && (s3->card_type != S3_SPEA_MIRAGE_86C801) &&
(s3->card_type != S3_SPEA_MIRAGE_86C805)) {
if (s3->chip == S3_86C928)
svga->hdisp *= 2;
svga->hdisp <<= 1;
else if (s3->chip != S3_VISION968)
svga->hdisp /= 2;
svga->hdisp >>= 1;
}
if ((s3->chip != S3_VISION868) && (s3->chip != S3_TRIO32) &&
(s3->chip != S3_TRIO64) && (s3->chip != S3_VISION964)) {
if (s3->width == 1280 || s3->width == 1600)
svga->hdisp *= 2;
svga->hdisp <<= 1;
else if (s3->card_type == S3_NUMBER9_9FX_771)
svga->hdisp <<= 1;
}
if (s3->card_type == S3_MIROVIDEO40SV_ERGO_968 || s3->card_type == S3_PHOENIX_VISION968 ||
s3->card_type == S3_SPEA_MERCURY_P64V) {
if (svga->hdisp == (1408*2))
svga->hdisp /= 2;
svga->hdisp >>= 1;
else
svga->hdisp = s3->width;
}
@@ -2973,21 +3011,22 @@ static void s3_recalctimings(svga_t *svga)
if ((s3->chip != S3_VISION964) && (s3->card_type != S3_SPEA_MIRAGE_86C801) &&
(s3->card_type != S3_SPEA_MIRAGE_86C805)) {
if (s3->chip == S3_86C928)
svga->hdisp *= 2;
svga->hdisp <<= 1;
else if (s3->chip != S3_VISION968)
svga->hdisp /= 2;
} else if ((s3->card_type == S3_SPEA_MIRAGE_86C801) || (s3->card_type == S3_SPEA_MIRAGE_86C805)) {
svga->hdisp /= 2;
}
svga->hdisp >>= 1;
} else if ((s3->card_type == S3_SPEA_MIRAGE_86C801) || (s3->card_type == S3_SPEA_MIRAGE_86C805))
svga->hdisp >>= 1;
if ((s3->chip != S3_VISION868) && (s3->chip != S3_TRIO32) &&
(s3->chip != S3_TRIO64) && (s3->chip != S3_VISION964)) {
if (s3->width == 1280 || s3->width == 1600)
svga->hdisp *= 2;
svga->hdisp <<= 1;
else if (s3->card_type == S3_NUMBER9_9FX_771)
svga->hdisp <<= 1;
}
if (s3->card_type == S3_MIROVIDEO40SV_ERGO_968 || s3->card_type == S3_PHOENIX_VISION968 ||
s3->card_type == S3_SPEA_MERCURY_P64V) {
if (svga->hdisp == (1408*2))
svga->hdisp /= 2;
svga->hdisp >>= 1;
else
svga->hdisp = s3->width;
}
@@ -3013,12 +3052,13 @@ static void s3_recalctimings(svga_t *svga)
if ((s3->chip < S3_TRIO32) && (s3->chip != S3_VISION964) &&
(s3->chip != S3_VISION968) && (s3->chip != S3_86C928)) {
if (s3->chip == S3_VISION868)
svga->hdisp /= 2;
svga->hdisp >>= 1;
else
svga->hdisp /= 4;
svga->hdisp >>= 2;
}
if (s3->width == 1280 || s3->width == 1600 || (s3->card_type == S3_SPEA_MERCURY_P64V))
svga->hdisp *= 2;
if (s3->width == 1280 || s3->width == 1600 || (s3->card_type == S3_SPEA_MERCURY_P64V ||
s3->card_type == S3_NUMBER9_9FX_771))
svga->hdisp <<= 1;
if (s3->card_type == S3_MIROVIDEO40SV_ERGO_968 || s3->card_type == S3_MIROCRYSTAL20SV_964 ||
s3->card_type == S3_MIROCRYSTAL20SD_864 || s3->card_type == S3_PHOENIX_VISION968 ||
s3->card_type == S3_SPEA_MERCURY_P64V) {
@@ -3110,11 +3150,11 @@ static void s3_trio64v_recalctimings(svga_t *svga)
break;
case 15:
svga->render = svga_render_15bpp_highres;
svga->hdisp /= 2;
svga->hdisp >>= 1;
break;
case 16:
svga->render = svga_render_16bpp_highres;
svga->hdisp /= 2;
svga->hdisp >>= 1;
break;
case 24:
svga->render = svga_render_24bpp_highres;
@@ -6530,6 +6570,7 @@ static void s3_reset(void *priv)
case S3_ELSAWIN2KPROX:
case S3_SPEA_MERCURY_P64V:
case S3_MIROVIDEO40SV_ERGO_968:
case S3_NUMBER9_9FX_771:
case S3_PHOENIX_VISION968:
if (s3->pci) {
svga->crtc[0x53] = 0x18;
@@ -6544,6 +6585,7 @@ static void s3_reset(void *priv)
}
break;
case S3_NUMBER9_9FX_531:
case S3_PHOENIX_VISION868:
if (s3->pci) {
svga->crtc[0x53] = 0x18;
@@ -6679,6 +6721,11 @@ static void *s3_init(const device_t *info)
else
video_inform(VIDEO_FLAG_TYPE_SPECIAL, &timing_s3_vision864_vlb);
break;
case S3_NUMBER9_9FX_531:
bios_fn = ROM_NUMBER9_9FX_531;
chip = S3_VISION868;
video_inform(VIDEO_FLAG_TYPE_SPECIAL, &timing_s3_vision868_pci);
break;
case S3_PHOENIX_VISION868:
bios_fn = ROM_PHOENIX_VISION868;
chip = S3_VISION868;
@@ -6710,6 +6757,11 @@ static void *s3_init(const device_t *info)
chip = S3_VISION968;
video_inform(VIDEO_FLAG_TYPE_SPECIAL, &timing_s3_vision968_pci);
break;
case S3_NUMBER9_9FX_771:
bios_fn = ROM_NUMBER9_9FX_771;
chip = S3_VISION968;
video_inform(VIDEO_FLAG_TYPE_SPECIAL, &timing_s3_vision968_pci);
break;
case S3_PHOENIX_VISION968:
bios_fn = ROM_PHOENIX_VISION968;
chip = S3_VISION968;
@@ -6887,7 +6939,7 @@ static void *s3_init(const device_t *info)
if (chip == S3_VISION964 && info->local != S3_ELSAWIN2KPROX_964)
svga->dac_hwcursor_draw = bt48x_hwcursor_draw;
else if ((chip == S3_VISION964 && info->local == S3_ELSAWIN2KPROX_964) || (chip == S3_VISION968 && (info->local == S3_ELSAWIN2KPROX ||
info->local == S3_PHOENIX_VISION968)))
info->local == S3_PHOENIX_VISION968 || info->local == S3_NUMBER9_9FX_771)))
svga->dac_hwcursor_draw = ibm_rgb528_hwcursor_draw;
else if (chip == S3_VISION968 && (info->local == S3_SPEA_MERCURY_P64V || info->local == S3_MIROVIDEO40SV_ERGO_968))
svga->dac_hwcursor_draw = tvp3026_hwcursor_draw;
@@ -7048,7 +7100,7 @@ static void *s3_init(const device_t *info)
case S3_PARADISE_BAHAMAS64:
case S3_PHOENIX_VISION864:
case S3_MIROCRYSTAL20SD_864:
case S3_MIROCRYSTAL20SD_864: /*BIOS 3.xx has a SDAC ramdac.*/
svga->decode_mask = (8 << 20) - 1;
if (info->local == S3_PARADISE_BAHAMAS64 || info->local == S3_MIROCRYSTAL20SD_864)
stepping = 0xc0; /*Vision864*/
@@ -7085,6 +7137,7 @@ static void *s3_init(const device_t *info)
case S3_ELSAWIN2KPROX:
case S3_SPEA_MERCURY_P64V:
case S3_MIROVIDEO40SV_ERGO_968:
case S3_NUMBER9_9FX_771:
case S3_PHOENIX_VISION968:
svga->decode_mask = (8 << 20) - 1;
s3->id = 0xe1; /*Vision968*/
@@ -7102,7 +7155,8 @@ static void *s3_init(const device_t *info)
svga->crtc[0x5a] = 0x0a;
}
if (info->local == S3_ELSAWIN2KPROX || info->local == S3_PHOENIX_VISION968)
if (info->local == S3_ELSAWIN2KPROX || info->local == S3_PHOENIX_VISION968 ||
info->local == S3_NUMBER9_9FX_771)
svga->ramdac = device_add(&ibm_rgb528_ramdac_device);
else
svga->ramdac = device_add(&tvp3026_ramdac_device);
@@ -7111,6 +7165,7 @@ static void *s3_init(const device_t *info)
svga->getclock = icd2061_getclock;
break;
case S3_NUMBER9_9FX_531:
case S3_PHOENIX_VISION868:
svga->decode_mask = (8 << 20) - 1;
s3->id = 0xe1; /*Vision868*/
@@ -7128,10 +7183,16 @@ static void *s3_init(const device_t *info)
svga->crtc[0x59] = 0x00;
svga->crtc[0x5a] = 0x0a;
}
svga->ramdac = device_add(&sdac_ramdac_device);
svga->clock_gen = svga->ramdac;
svga->getclock = sdac_getclock;
if (info->local == S3_NUMBER9_9FX_531) {
svga->ramdac = device_add(&att498_ramdac_device);
svga->clock_gen = device_add(&icd2061_device);
svga->getclock = icd2061_getclock;
} else {
svga->ramdac = device_add(&sdac_ramdac_device);
svga->clock_gen = svga->ramdac;
svga->getclock = sdac_getclock;
}
break;
case S3_PHOENIX_TRIO32:
@@ -7261,6 +7322,11 @@ static int s3_phoenix_vision864_available(void)
return rom_present(ROM_PHOENIX_VISION864);
}
static int s3_9fx_531_available(void)
{
return rom_present(ROM_NUMBER9_9FX_531);
}
static int s3_phoenix_vision868_available(void)
{
return rom_present(ROM_PHOENIX_VISION868);
@@ -7286,6 +7352,11 @@ static int s3_mirovideo_40sv_ergo_968_pci_available(void)
return rom_present(ROM_MIROVIDEO40SV_ERGO_968_PCI);
}
static int s3_9fx_771_available(void)
{
return rom_present(ROM_NUMBER9_9FX_771);
}
static int s3_phoenix_vision968_available(void)
{
return rom_present(ROM_PHOENIX_VISION968);
@@ -7448,7 +7519,7 @@ static const device_config_t s3_phoenix_trio32_config[] =
static const device_config_t s3_standard_config[] =
{
{
"memory", "Video memory size", CONFIG_SELECTION, "", 4, "", { 0 },
"memory", "Memory size", CONFIG_SELECTION, "", 4, "", { 0 },
{
{
"1 MB", 1
@@ -7750,6 +7821,20 @@ const device_t s3_diamond_stealth64_964_pci_device =
s3_standard_config
};
const device_t s3_9fx_771_pci_device =
{
"S3 Vision968 PCI (Number 9 9FX 771)",
DEVICE_PCI,
S3_NUMBER9_9FX_771,
s3_init,
s3_close,
s3_reset,
{ s3_9fx_771_available },
s3_speed_changed,
s3_force_redraw,
s3_standard_config
};
const device_t s3_phoenix_vision968_pci_device =
{
"S3 Vision968 PCI (Phoenix)",
@@ -7989,6 +8074,20 @@ const device_t s3_phoenix_vision864_pci_device =
s3_standard_config
};
const device_t s3_9fx_531_pci_device =
{
"S3 Vision868 PCI (Number 9 9FX 531)",
DEVICE_PCI,
S3_NUMBER9_9FX_531,
s3_init,
s3_close,
s3_reset,
{ s3_9fx_531_available },
s3_speed_changed,
s3_force_redraw,
s3_9fx_config
};
const device_t s3_phoenix_vision868_vlb_device =
{
"S3 Vision868 VLB (Phoenix)",

View File

@@ -788,6 +788,7 @@ static void s3_virge_recalctimings(svga_t *svga)
svga->clock = (cpuclock * (float)(1ull << 32)) / freq;
}
if ((svga->crtc[0x67] & 0xc) != 0xc) /*VGA mode*/
{
svga->ma_latch |= (virge->ma_ext << 16);
@@ -982,7 +983,7 @@ s3_virge_mmio_read(uint32_t addr, void *p)
virge_t *virge = (virge_t *)p;
uint8_t ret = 0xff;
s3_virge_log("MMIO ReadB addr = %04x\n", addr & 0xffff);
s3_virge_log("[%04X:%08X]: MMIO ReadB addr = %04x\n", CS, cpu_state.pc, addr & 0xffff);
switch (addr & 0xffff)
{
@@ -1028,10 +1029,21 @@ static uint16_t
s3_virge_mmio_read_w(uint32_t addr, void *p)
{
virge_t *virge = (virge_t *)p;
uint32_t ret = 0xffff;
s3_virge_log("MMIO ReadW addr = %04x\n", addr & 0xfffc);
s3_virge_log("[%04X:%08X]: MMIO ReadW addr = %04x\n", CS, cpu_state.pc, addr & 0xfffe);
switch (addr & 0xfffe) {
case 0x8504:
if (!virge->fifo_slot)
virge->subsys_stat |= INT_FIFO_EMP;
ret |= virge->subsys_stat;
if (virge->fifo_slot)
virge->fifo_slot--;
ret |= 0x30; /*A bit of a workaround at the moment.*/
s3_virge_update_irqs(virge);
return ret;
case 0x859c:
return virge->cmd_dma;
@@ -1050,6 +1062,8 @@ s3_virge_mmio_read_l(uint32_t addr, void *p)
VIRGEDMAHeader *dmahdr = &virge->dmahdr;
uint32_t ret = 0xffffffff;
s3_virge_log("[%04X:%08X]: MMIO ReadL addr = %04x\n", CS, cpu_state.pc, addr & 0xfffc);
switch (addr & 0xfffc) {
case 0x8180:
ret = virge->streams.pri_ctrl;
@@ -1267,8 +1281,9 @@ static void s3_virge_mmio_write(uint32_t addr, uint8_t val, void *p)
static void
s3_virge_mmio_write_w(uint32_t addr, uint16_t val, void *p)
{
virge_t *virge = (virge_t *)p;
s3_virge_log("MMIO WriteW addr = %04x, val = %04x\n", addr & 0xfffe, val);
virge_t *virge = (virge_t *)p;
s3_virge_log("[%04X:%08X]: MMIO WriteW addr = %04x, val = %04x\n", CS, cpu_state.pc, addr & 0xfffe, val);
if ((addr & 0xfffe) < 0x8000) {
if (virge->s3d.cmd_set & CMD_SET_MS)
s3_virge_bitblt(virge, 16, ((val >> 8) | (val << 8)) << 16);
@@ -4070,7 +4085,7 @@ static void *s3_virge_init(const device_t *info)
virge->render_thread = thread_create(render_thread, virge);
timer_add(&virge->tri_timer, s3_virge_tri_timer, virge, 0);
virge->local = info->local;
return virge;

View File

@@ -72,9 +72,12 @@ video_cards[] = {
{ "cl_gd5402_isa", &gd5402_isa_device },
{ "cl_gd5420_isa", &gd5420_isa_device },
{ "cl_gd5422_isa", &gd5422_isa_device },
{ "cl_gd5426_isa", &gd5426_isa_device },
{ "cl_gd5426_diamond_a1_isa", &gd5426_diamond_speedstar_pro_a1_isa_device },
{ "cl_gd5428_isa", &gd5428_isa_device },
{ "cl_gd5429_isa", &gd5429_isa_device },
{ "cl_gd5434_isa", &gd5434_isa_device },
{ "cl_gd5434_diamond_a3_isa", &gd5434_diamond_speedstar_64_a3_isa_device },
{ "compaq_cga", &compaq_cga_device },
{ "compaq_cga_2", &compaq_cga_2_device },
{ "compaq_ega", &cpqega_device },
@@ -123,14 +126,15 @@ video_cards[] = {
{ "radius_mc", &radius_svga_multiview_mca_device },
{ "mach64gx_pci", &mach64gx_pci_device },
{ "mach64vt2", &mach64vt2_device },
{ "et4000w32p_revc_pci", &et4000w32p_revc_pci_device },
{ "et4000w32p_pci", &et4000w32p_cardex_pci_device },
{ "et4000w32p_nc_pci", &et4000w32p_noncardex_pci_device },
{ "et4000w32p_revc_pci", &et4000w32p_revc_pci_device },
{ "cl_gd5430_pci", &gd5430_pci_device, },
{ "cl_gd5434_pci", &gd5434_pci_device },
{ "cl_gd5436_pci", &gd5436_pci_device },
{ "cl_gd5440_pci", &gd5440_pci_device },
{ "cl_gd5446_pci", &gd5446_pci_device },
{ "cl_gd5446_stb_pci", &gd5446_stb_pci_device },
{ "cl_gd5480_pci", &gd5480_pci_device },
{ "ctl3d_banshee_pci", &creative_voodoo_banshee_device },
{ "stealth32_pci", &et4000w32p_pci_device },
@@ -146,8 +150,10 @@ video_cards[] = {
{ "px_trio64_pci", &s3_phoenix_trio64_pci_device },
{ "elsawin2kprox_pci", &s3_elsa_winner2000_pro_x_pci_device },
{ "mirovideo40sv_pci", &s3_mirovideo_40sv_ergo_968_pci_device },
{ "n9_9fx_771_pci", &s3_9fx_771_pci_device },
{ "px_vision968_pci", &s3_phoenix_vision968_pci_device },
{ "spea_mercury64p_pci", &s3_spea_mercury_p64v_pci_device },
{ "n9_9fx_531_pci", &s3_9fx_531_pci_device },
{ "px_vision868_pci", &s3_phoenix_vision868_pci_device },
{ "px_trio64vplus_pci", &s3_phoenix_trio64vplus_pci_device },
{ "trio64v2dx_pci", &s3_trio64v2_dx_pci_device },
@@ -164,7 +170,6 @@ video_cards[] = {
{ "mystique", &mystique_device },
{ "mystique_220", &mystique_220_device },
#endif
{ "cl_gd5446_stb_pci", &gd5446_stb_pci_device },
{ "tgui9440_pci", &tgui9440_pci_device },
{ "tgui9660_pci", &tgui9660_pci_device },
{ "tgui9680_pci", &tgui9680_pci_device },
@@ -173,16 +178,17 @@ video_cards[] = {
{ "voodoo3_3k_pci", &voodoo_3_3000_device },
{ "mach64gx_vlb", &mach64gx_vlb_device },
{ "et4000w32i_vlb", &et4000w32i_vlb_device },
{ "et4000w32p_vlb", &et4000w32p_cardex_vlb_device },
{ "et4000w32p_nc_vlb", &et4000w32p_noncardex_vlb_device },
{ "et4000w32p_revc_vlb", &et4000w32p_revc_vlb_device },
{ "cl_gd5424_vlb", &gd5424_vlb_device },
{ "cl_gd5428_vlb", &gd5428_vlb_device },
{ "cl_gd5429_vlb", &gd5429_vlb_device },
{ "cl_gd5434_vlb", &gd5434_vlb_device },
{ "et4000w32p_vlb", &et4000w32p_cardex_vlb_device },
{ "stealth32_vlb", &et4000w32p_vlb_device },
{ "et4000w32p_nc_vlb", &et4000w32p_noncardex_vlb_device },
{ "cl_gd5424_vlb", &gd5424_vlb_device },
{ "cl_gd5426_vlb", &gd5426_vlb_device },
{ "cl_gd5430_vlb", &gd5430_vlb_device },
{ "cl_gd5428_vlb", &gd5428_vlb_device },
{ "cl_gd5428_diamond_b1_vlb", &gd5428_diamond_speedstar_pro_b1_vlb_device },
{ "cl_gd5429_vlb", &gd5429_vlb_device },
{ "cl_gd5430_vlb", &gd5430_diamond_speedstar_pro_se_a8_vlb_device },
{ "cl_gd5434_vlb", &gd5434_vlb_device },
{ "metheus928_vlb", &s3_metheus_86c928_vlb_device },
{ "mirocrystal8s_vlb", &s3_mirocrystal_8s_805_vlb_device },
{ "mirocrystal10sd_vlb", &s3_mirocrystal_10sd_805_vlb_device },

View File

@@ -360,9 +360,16 @@ END
#endif // not APSTUDIO_INVOKED
#include "languages/zh-CN.rc"
#include "languages/cs-CZ.rc"
#include "languages/de-DE.rc"
#include "languages/en-US.rc"
#include "languages/fr-FR.rc"
#include "languages/hr-HR.rc"
#include "languages/fi-FI.rc"
#include "languages/hu-HU.rc"
#include "languages/it-IT.rc"
#include "languages/ja-JP.rc"
#include "languages/pt-BR.rc"
#include "languages/pt-PT.rc"
#include "languages/sl-SI.rc"

View File

@@ -18,9 +18,9 @@ enable_language(RC)
add_library(plat OBJECT win.c win_dynld.c win_cdrom.c win_thread.c
win_keyboard.c win_crashdump.c win_midi.c win_mouse.c)
add_library(ui OBJECT win_ui.c win_stbar.c win_sdl.c win_dialog.c win_about.c
add_library(ui OBJECT win_ui.c win_icon.c win_stbar.c win_sdl.c win_dialog.c win_about.c
win_settings.c win_devconf.c win_snd_gain.c win_specify_dim.c win_new_floppy.c
win_jsconf.c win_media_menu.c win_lang.c 86Box.rc)
win_jsconf.c win_media_menu.c win_progsett.c 86Box.rc)
if(MSVC)
# MSVC complains when we include the manifest from 86Box.rc...

View File

@@ -42,9 +42,6 @@ ifeq ($(DEV_BUILD), y)
ifndef GUSMAX
GUSMAX := y
endif
ifndef HEDAKA
HEDAKA := y
endif
ifndef LASERXT
LASERXT := y
endif
@@ -63,9 +60,6 @@ ifeq ($(DEV_BUILD), y)
ifndef PAS16
PAS16 := n
endif
ifndef PS2M70T4
PS2M70T4 := y
endif
ifndef SIO_DETECT
SIO_DETECT := y
endif
@@ -78,9 +72,6 @@ ifeq ($(DEV_BUILD), y)
ifndef XL24
XL24 := y
endif
ifndef VECT486VL
VECT486VL := y
endif
ifndef OLIVETTI
OLIVETTI := y
endif
@@ -103,9 +94,6 @@ else
ifndef GUSMAX
GUSMAX := n
endif
ifndef HEDAKA
HEDAKA := n
endif
ifndef LASERXT
LASERXT := n
endif
@@ -124,9 +112,6 @@ else
ifndef PAS16
PAS16 := n
endif
ifndef PS2M70T4
PS2M70T4 := n
endif
ifndef SIO_DETECT
SIO_DETECT := n
endif
@@ -139,9 +124,6 @@ else
ifndef XL24
XL24 := n
endif
ifndef VECT486VL
VECT486VL := n
endif
ifndef OLIVETTI
OLIVETTI := n
endif
@@ -423,10 +405,10 @@ ifeq ($(WX), y)
LIBS += $(WX_LIBS)
UIOBJ := wx_main.o wx_ui.o wx_stbar.o wx_render.o
else
UIOBJ := win_ui.o win_stbar.o \
UIOBJ := win_ui.o win_icon.o win_stbar.o \
win_sdl.o \
win_dialog.o win_about.o \
win_settings.o win_devconf.o win_snd_gain.o win_specify_dim.o win_lang.o \
win_settings.o win_devconf.o win_snd_gain.o win_specify_dim.o win_progsett.o \
win_new_floppy.o win_jsconf.o win_media_menu.o
endif
@@ -491,10 +473,6 @@ ifeq ($(GUSMAX), y)
OPTS += -DUSE_GUSMAX
endif
ifeq ($(HEDAKA), y)
OPTS += -DUSE_HEDAKA
endif
ifeq ($(LASERXT), y)
OPTS += -DUSE_LASERXT
DEVBROBJ += m_xt_laserxt.o
@@ -524,10 +502,6 @@ OPTS += -DUSE_PAS16
DEVBROBJ += snd_pas16.o
endif
ifeq ($(PS2M70T4), y)
OPTS += -DUSE_PS2M70T4
endif
ifeq ($(SIO_DETECT), y)
OPTS += -DUSE_SIO_DETECT
DEVBROBJ += sio_detect.o
@@ -756,6 +730,7 @@ VIDOBJ := agpgart.o video.o \
vid_tvga.o \
vid_tgui9440.o vid_tkd8001_ramdac.o \
vid_att20c49x_ramdac.o \
vid_att2xc498_ramdac.o \
vid_s3.o vid_s3_virge.o \
vid_ibm_rgb528_ramdac.o vid_sdac_ramdac.o \
vid_ogc.o \

View File

@@ -101,7 +101,7 @@ BEGIN
MENUITEM "&Nastavení...", IDM_CONFIG
MENUITEM "&Aktualizovat ikony stavového řádku", IDM_UPDATE_ICONS
MENUITEM SEPARATOR
MENUITEM "&Změnit jazyk zobrazení...", IDM_VID_PROG_SETT
MENUITEM "Change program &settings...", IDM_VID_PROG_SETT
# ifdef USE_DISCORD
MENUITEM SEPARATOR
MENUITEM "Povolit integraci s &Discordem", IDM_DISCORD
@@ -273,7 +273,7 @@ END
// Dialog
//
#define STR_PROG_SETT "Změnit jazyk zobrazení"
#define STR_PROG_SETT "Program Settings"
#define STR_SND_GAIN "Zesílení zvuku"
#define STR_NEW_FLOPPY "Nový obraz"
#define STR_CONFIG "Nastavení emulátoru 86Box"
@@ -284,6 +284,7 @@ END
#define STR_GLOBAL "Uložit toto nastavení jako &globální výchozí stav"
#define STR_DEFAULT "&Výchozí"
#define STR_LANGUAGE "Jazyk:"
#define STR_ICONSET "Sada ikon:"
#define STR_GAIN "Zesílení"
@@ -391,6 +392,9 @@ END
#define STR_BUGGER "Zařízení ISABugger"
#define STR_POSTCARD "Karta pro kódy POST"
#define FONT_SIZE 9
#define FONT_NAME "Segoe UI"
#include "dialogs.rc"
/////////////////////////////////////////////////////////////////////////////
@@ -487,7 +491,7 @@ BEGIN
IDS_2124 "O programu 86Box"
IDS_2125 "86Box v" EMU_VERSION
IDS_2126 "Emulátor starých počítačů\n\nAutoři: Sarah Walker, Miran Grca, Fred N. van Kempen (waltje), SA1988, MoochMcGee, reenigne, leilei, JohnElliott, greatpsycho, and others.\n\nZveřejněno pod licencí GNU General Public License verze 2 nebo novější. Viz soubor LICENSE pro více informací."
IDS_2126 "Emulátor starých počítačů\n\nAutoři: Sarah Walker, Miran Grca, Fred N. van Kempen (waltje), SA1988, Tiseno100, reenigne, leilei, JohnElliott, greatpsycho, and others.\n\nZveřejněno pod licencí GNU General Public License verze 2 nebo novější. Viz soubor LICENSE pro více informací."
IDS_2127 "OK"
IDS_2128 "Hardware není dostupný"
#ifdef _WIN32

View File

@@ -69,7 +69,7 @@ BEGIN
POPUP "&Stretching-Modus im Vollbildmodus"
BEGIN
MENUITEM "&Vollbild-Stretching", IDM_VID_FS_FULL
MENUITEM "&4:3", IDM_VID_FS_43
MENUITEM "&4:3-Seitenverhältnis erzwingen", IDM_VID_FS_43
MENUITEM "&Quadratische Pixel (Seitenverhältnis beibehalten)", IDM_VID_FS_KEEPRATIO
MENUITEM "&Integer-Skalierung", IDM_VID_FS_INT
END
@@ -101,7 +101,7 @@ BEGIN
MENUITEM "&Einstellungen...", IDM_CONFIG
MENUITEM "&Statusleistenicons aktualisieren", IDM_UPDATE_ICONS
MENUITEM SEPARATOR
MENUITEM "&Anzeigesprache ändern...", IDM_VID_PROG_SETT
MENUITEM "Change program &settings...", IDM_VID_PROG_SETT
# ifdef USE_DISCORD
MENUITEM SEPARATOR
MENUITEM "&Discord-Integration aktivieren", IDM_DISCORD
@@ -273,7 +273,7 @@ END
// Dialog
//
#define STR_PROG_SETT "Anzeigesprache ändern"
#define STR_PROG_SETT "Program Settings"
#define STR_SND_GAIN "Klangverstärkung"
#define STR_NEW_FLOPPY "Neues Image"
#define STR_CONFIG "86Box-Einstellungen"
@@ -284,6 +284,7 @@ END
#define STR_GLOBAL "Einstellungen als &globalen Standard speichern"
#define STR_DEFAULT "&Standard"
#define STR_LANGUAGE "Sprache:"
#define STR_ICONSET "Icon-Satz:"
#define STR_GAIN "Verstärkung"
@@ -328,7 +329,7 @@ END
#define STR_SSI "Innovation SSI-2001"
#define STR_CMS "CMS / Game Blaster"
#define STR_GUS "Gravis Ultrasound"
#define STR_FLOAT "Use FLOAT32 sound"
#define STR_FLOAT "FLOAT32-Wiedergabe benutzen"
#define STR_NET_TYPE "Netzwerktyp:"
#define STR_PCAP "PCap-Gerät:"
@@ -391,6 +392,9 @@ END
#define STR_BUGGER "ISABugger-Gerät"
#define STR_POSTCARD "POST-Code-Karte"
#define FONT_SIZE 9
#define FONT_NAME "Segoe UI"
#include "dialogs.rc"
/////////////////////////////////////////////////////////////////////////////
@@ -402,7 +406,7 @@ STRINGTABLE DISCARDABLE
BEGIN
2048 "86Box"
IDS_2049 "Fehler"
IDS_2050 "Kritischer Fehler"
IDS_2050 "Fataler Fehler"
IDS_2051 "<reserved>"
IDS_2052 "Bitte Strg+Alt+Bild ab zur Rückkehr in den Fenstermodus drücken."
IDS_2053 "Geschwindigkeit"
@@ -487,7 +491,7 @@ BEGIN
IDS_2124 "Über 86Box"
IDS_2125 "86Box Version " EMU_VERSION
IDS_2126 "Ein Emulator für alte Computer\n\nAutoren: Sarah Walker, Miran Grča, Fred N. van Kempen (waltje), SA1988, MoochMcGee, reenigne, leilei, JohnElliott, greatpsycho sowie andere.\n\nÜbersetzt von: dob205\n\nVeröffentlicht unter der GNU General Public License in der Version 2 oder neuer. Siehe LICENSE für mehr Informationen."
IDS_2126 "Ein Emulator für alte Computer\n\nAutoren: Sarah Walker, Miran Grča, Fred N. van Kempen (waltje), SA1988, Tiseno100, reenigne, leilei, JohnElliott, greatpsycho sowie andere.\n\nÜbersetzt von: dob205\n\nVeröffentlicht unter der GNU General Public License in der Version 2 oder neuer. Siehe LICENSE für mehr Informationen."
IDS_2127 "OK"
IDS_2128 "Hardware nicht verfügbar"
#ifdef _WIN32
@@ -520,8 +524,8 @@ BEGIN
IDS_2136 "Nicht beenden"
IDS_2137 "Resetten"
IDS_2138 "Nicht Resetten"
IDS_2139 "MO-Images (*.IM?;*.MDI)\0*.IM?;*.MDI\0Alle Dateien (*.*)\0*.*\0"
IDS_2140 "CD-ROM-Images (*.ISO;*.CUE)\0*.ISO;*.CUE\0Alle Dateien (*.*)\0*.*\0"
IDS_2139 "MO-Imagedateien (*.IM?;*.MDI)\0*.IM?;*.MDI\0Alle Dateien (*.*)\0*.*\0"
IDS_2140 "CD-ROM-Imagedateien (*.ISO;*.CUE)\0*.ISO;*.CUE\0Alle Dateien (*.*)\0*.*\0"
IDS_2141 "%hs-Gerätekonfiguration"
IDS_2142 "Monitor im Standby"
IDS_2143 "OpenGL-Shader (*.GLSL)\0*.GLSL\0Alle Dateien (*.*)\0*.*\0"
@@ -563,9 +567,9 @@ BEGIN
IDS_4119 "Nicht unterstütztes Disk-Image"
IDS_4120 "Überschreiben"
IDS_4121 "Nicht überschreiben"
IDS_4122 "Rohdatenimage (.img)"
IDS_4123 "HDI-Image (.hdi)"
IDS_4124 "HDX-Image (.hdx)"
IDS_4122 "Rohdatenimagedateien (.img)"
IDS_4123 "HDI-Imagedateien (.hdi)"
IDS_4124 "HDX-Imagedateien (.hdx)"
IDS_4125 "VHD mit fester Größe (.vhd)"
IDS_4126 "VHD mit dynamischer Größe (.vhd)"
IDS_4127 "Differenzierende VHD (.vhd)"

View File

@@ -1,20 +1,23 @@
DLG_PROG_SETT DIALOG DISCARDABLE 0, 0, 240, 86
DLG_PROG_SETT DIALOG DISCARDABLE 0, 0, 240, 118
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION STR_PROG_SETT
FONT 9, "Segoe UI"
FONT FONT_SIZE, FONT_NAME
BEGIN
DEFPUSHBUTTON STR_OK, IDOK, 123, 65, 50, 14
PUSHBUTTON STR_CANCEL, IDCANCEL, 179, 65, 50, 14
DEFPUSHBUTTON STR_OK, IDOK, 123, 97, 50, 14
PUSHBUTTON STR_CANCEL, IDCANCEL, 179, 97, 50, 14
COMBOBOX IDC_COMBO_LANG, 13, 18, 213, 22, CBS_DROPDOWNLIST | CBS_HASSTRINGS
AUTOCHECKBOX STR_GLOBAL, IDC_CHECKBOX_GLOBAL, 13, 50, 217, 8 , WS_DISABLED
PUSHBUTTON STR_DEFAULT, IDC_BUTTON_DEFAULT, 162, 32, 60, 14
LTEXT STR_LANGUAGE, 0, 13, 8, 34, 8
COMBOBOX IDC_COMBO_ICON, 13, 50, 213, 22, CBS_DROPDOWNLIST | CBS_HASSTRINGS
PUSHBUTTON STR_DEFAULT, IDC_BUTTON_DEFICON, 162, 64, 60, 14
AUTOCHECKBOX STR_GLOBAL, IDC_CHECKBOX_GLOBAL, 13, 82, 217, 8 , WS_DISABLED
LTEXT STR_LANGUAGE, 2000, 13, 8, 100, 8
LTEXT STR_ICONSET, 2001, 13, 40, 100, 8
END
DLG_SND_GAIN DIALOG DISCARDABLE 0, 0, 113, 136
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION STR_SND_GAIN
FONT 9, "Segoe UI"
FONT FONT_SIZE, FONT_NAME
BEGIN
DEFPUSHBUTTON STR_OK,IDOK,57,7,50,14
PUSHBUTTON STR_CANCEL,IDCANCEL,57,24,50,14
@@ -26,7 +29,7 @@ END
DLG_NEW_FLOPPY DIALOG DISCARDABLE 0, 0, 226, 86
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION STR_NEW_FLOPPY
FONT 9, "Segoe UI"
FONT FONT_SIZE, FONT_NAME
BEGIN
DEFPUSHBUTTON STR_OK,IDOK,104,65,50,14
PUSHBUTTON STR_CANCEL,IDCANCEL,162,65,50,14
@@ -47,7 +50,7 @@ END
DLG_CONFIG DIALOG DISCARDABLE 0, 0, 376, 256
STYLE DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION STR_CONFIG
FONT 9, "Segoe UI"
FONT FONT_SIZE, FONT_NAME
BEGIN
DEFPUSHBUTTON STR_OK,IDOK,246,235,50,14
PUSHBUTTON STR_CANCEL,IDCANCEL,307,235,50,14
@@ -59,7 +62,7 @@ END
DLG_SPECIFY_DIM DIALOG DISCARDABLE 0, 0, 175, 66
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION STR_SPECIFY_DIM
FONT 9, "Segoe UI"
FONT FONT_SIZE, FONT_NAME
BEGIN
LTEXT STR_WIDTH,IDT_1709,7,9,24,12
EDITTEXT IDC_EDIT_WIDTH,33,7,45,12,ES_AUTOHSCROLL | ES_NUMBER
@@ -79,7 +82,7 @@ END
DLG_CFG_MACHINE DIALOG DISCARDABLE 107, 0, 305, 200
STYLE DS_CONTROL | WS_CHILD
FONT 9, "Segoe UI"
FONT FONT_SIZE, FONT_NAME
BEGIN
COMBOBOX IDC_COMBO_MACHINE_TYPE,71,7,189,120,CBS_DROPDOWNLIST |
WS_VSCROLL | WS_TABSTOP
@@ -115,13 +118,13 @@ BEGIN
BS_AUTORADIOBUTTON | WS_TABSTOP,14,175,84,10
#ifdef USE_DYNAREC
CONTROL STR_DYNAREC,IDC_CHECK_DYNAREC,"Button",
BS_AUTOCHECKBOX | WS_TABSTOP,7,120,94,10
BS_AUTOCHECKBOX | WS_TABSTOP,7,120,120,10
#endif
END
DLG_CFG_VIDEO DIALOG DISCARDABLE 107, 0, 267, 45
STYLE DS_CONTROL | WS_CHILD
FONT 9, "Segoe UI"
FONT FONT_SIZE, FONT_NAME
BEGIN
LTEXT STR_VIDEO,IDT_1707,7,9,48,10
COMBOBOX IDC_COMBO_VIDEO,64,7,155,120,CBS_DROPDOWNLIST |
@@ -134,7 +137,7 @@ END
DLG_CFG_INPUT DIALOG DISCARDABLE 107, 0, 267, 65
STYLE DS_CONTROL | WS_CHILD
FONT 9, "Segoe UI"
FONT FONT_SIZE, FONT_NAME
BEGIN
LTEXT STR_MOUSE,IDT_1709,7,9,57,10
COMBOBOX IDC_COMBO_MOUSE,71,7,140,120,CBS_DROPDOWNLIST |
@@ -151,7 +154,7 @@ END
DLG_CFG_SOUND DIALOG DISCARDABLE 107, 0, 267, 201
STYLE DS_CONTROL | WS_CHILD
FONT 9, "Segoe UI"
FONT FONT_SIZE, FONT_NAME
BEGIN
COMBOBOX IDC_COMBO_SOUND,71,7,140,120,CBS_DROPDOWNLIST | WS_VSCROLL |
WS_TABSTOP
@@ -190,7 +193,7 @@ END
DLG_CFG_NETWORK DIALOG DISCARDABLE 107, 0, 267, 65
STYLE DS_CONTROL | WS_CHILD
FONT 9, "Segoe UI"
FONT FONT_SIZE, FONT_NAME
BEGIN
LTEXT STR_NET_TYPE,IDT_1714,7,9,59,10
COMBOBOX IDC_COMBO_NET_TYPE,71,7,189,120,CBS_DROPDOWNLIST | WS_VSCROLL |
@@ -208,7 +211,7 @@ END
DLG_CFG_PORTS DIALOG DISCARDABLE 107, 0, 267, 135
STYLE DS_CONTROL | WS_CHILD
FONT 9, "Segoe UI"
FONT FONT_SIZE, FONT_NAME
BEGIN
LTEXT STR_LPT1,IDT_1717,7,9,61,10
COMBOBOX IDC_COMBO_LPT1,71,7,189,120,CBS_DROPDOWNLIST |
@@ -241,7 +244,7 @@ END
DLG_CFG_STORAGE DIALOG DISCARDABLE 107, 0, 267, 203
STYLE DS_CONTROL | WS_CHILD
FONT 9, "Segoe UI"
FONT FONT_SIZE, FONT_NAME
BEGIN
LTEXT STR_HDC,IDT_1718,7,9,64,10
COMBOBOX IDC_COMBO_HDC,64,7,155,120,CBS_DROPDOWNLIST |
@@ -285,7 +288,7 @@ END
DLG_CFG_HARD_DISKS DIALOG DISCARDABLE 107, 0, 267, 154
STYLE DS_CONTROL | WS_CHILD
FONT 9, "Segoe UI"
FONT FONT_SIZE, FONT_NAME
BEGIN
CONTROL "List1",IDC_LIST_HARD_DISKS,"SysListView32",LVS_REPORT |
LVS_SHOWSELALWAYS | LVS_SINGLESEL | WS_BORDER |
@@ -310,7 +313,7 @@ END
DLG_CFG_HARD_DISKS_ADD DIALOG DISCARDABLE 0, 0, 219, 149
STYLE DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Add Hard Disk"
FONT 9, "Segoe UI"
FONT FONT_SIZE, FONT_NAME
BEGIN
DEFPUSHBUTTON STR_OK,IDOK,55,127,50,14
PUSHBUTTON STR_CANCEL,IDCANCEL,112,127,50,14
@@ -352,7 +355,7 @@ END
DLG_CFG_FLOPPY_AND_CDROM_DRIVES DIALOG DISCARDABLE 107, 0, 267, 222
STYLE DS_CONTROL | WS_CHILD
FONT 9, "Segoe UI"
FONT FONT_SIZE, FONT_NAME
BEGIN
CONTROL "List1",IDC_LIST_FLOPPY_DRIVES,"SysListView32",
LVS_REPORT | LVS_SHOWSELALWAYS | LVS_SINGLESEL | WS_BORDER |
@@ -386,14 +389,14 @@ END
DLG_CFG_OTHER_REMOVABLE_DEVICES DIALOG DISCARDABLE 107, 0, 267, 222
STYLE DS_CONTROL | WS_CHILD
FONT 9, "Segoe UI"
FONT FONT_SIZE, FONT_NAME
BEGIN
CONTROL "List1",IDC_LIST_MO_DRIVES,"SysListView32",LVS_REPORT |
LVS_SHOWSELALWAYS | LVS_SINGLESEL | WS_BORDER |
WS_TABSTOP,7,17,253,60
LTEXT STR_MO_DRIVES,IDT_1769,7,7,253,8
COMBOBOX IDC_COMBO_MO_BUS,33,85,90,12,CBS_DROPDOWNLIST |
COMBOBOX IDC_COMBO_MO_BUS,33,85,80,12,CBS_DROPDOWNLIST |
WS_VSCROLL | WS_TABSTOP
LTEXT STR_BUS,IDT_1770,7,87,24,8
COMBOBOX IDC_COMBO_MO_ID,170,85,90,12,CBS_DROPDOWNLIST |
@@ -410,9 +413,9 @@ BEGIN
LVS_SHOWSELALWAYS | LVS_SINGLESEL | WS_BORDER |
WS_TABSTOP,7,137,253,60
LTEXT STR_ZIP_DRIVES,IDT_1759,7,127,253,8
COMBOBOX IDC_COMBO_ZIP_BUS,23,205,90,12,CBS_DROPDOWNLIST |
COMBOBOX IDC_COMBO_ZIP_BUS,33,205,80,12,CBS_DROPDOWNLIST |
WS_VSCROLL | WS_TABSTOP
LTEXT STR_BUS,IDT_1753,7,207,14,8
LTEXT STR_BUS,IDT_1753,7,207,24,8
COMBOBOX IDC_COMBO_ZIP_ID,149,205,61,12,CBS_DROPDOWNLIST |
WS_VSCROLL | WS_TABSTOP
LTEXT STR_ID,IDT_1754,120,207,28,8
@@ -425,7 +428,7 @@ END
DLG_CFG_PERIPHERALS DIALOG DISCARDABLE 107, 0, 267, 154
STYLE DS_CONTROL | WS_CHILD
FONT 9, "Segoe UI"
FONT FONT_SIZE, FONT_NAME
BEGIN
LTEXT STR_ISARTC,IDT_1767,7,9,48,10
COMBOBOX IDC_COMBO_ISARTC,64,7,155,120,
@@ -468,6 +471,7 @@ END
#undef STR_GLOBAL
#undef STR_DEFAULT
#undef STR_LANGUAGE
#undef STR_ICONSET
#undef STR_GAIN
@@ -574,3 +578,6 @@ END
#undef STR_ISAMEM_4
#undef STR_BUGGER
#undef STR_POSTCARD
#undef FONT_SIZE
#undef FONT_NAME

View File

@@ -101,7 +101,7 @@ BEGIN
MENUITEM "&Settings...", IDM_CONFIG
MENUITEM "&Update status bar icons", IDM_UPDATE_ICONS
MENUITEM SEPARATOR
MENUITEM "Change dis&play language...", IDM_VID_PROG_SETT
MENUITEM "Change program &settings...", IDM_VID_PROG_SETT
# ifdef USE_DISCORD
MENUITEM SEPARATOR
MENUITEM "Enable &Discord integration", IDM_DISCORD
@@ -273,7 +273,7 @@ END
// Dialog
//
#define STR_PROG_SETT "Change Display Language"
#define STR_PROG_SETT "Program Settings"
#define STR_SND_GAIN "Sound Gain"
#define STR_NEW_FLOPPY "New Image"
#define STR_CONFIG "86Box Settings"
@@ -284,6 +284,7 @@ END
#define STR_GLOBAL "Save these settings as &global defaults"
#define STR_DEFAULT "&Default"
#define STR_LANGUAGE "Language:"
#define STR_ICONSET "Icon set:"
#define STR_GAIN "Gain"
@@ -391,6 +392,9 @@ END
#define STR_BUGGER "ISABugger device"
#define STR_POSTCARD "POST card"
#define FONT_SIZE 9
#define FONT_NAME "Segoe UI"
#include "dialogs.rc"
/////////////////////////////////////////////////////////////////////////////
@@ -487,7 +491,7 @@ BEGIN
IDS_2124 "About 86Box"
IDS_2125 "86Box v" EMU_VERSION
IDS_2126 "An emulator of old computers\n\nAuthors: Sarah Walker, Miran Grca, Fred N. van Kempen (waltje), SA1988, MoochMcGee, reenigne, leilei, JohnElliott, greatpsycho, and others.\n\nReleased under the GNU General Public License version 2 or later. See LICENSE for more information."
IDS_2126 "An emulator of old computers\n\nAuthors: Sarah Walker, Miran Grca, Fred N. van Kempen (waltje), SA1988, Tiseno100, reenigne, leilei, JohnElliott, greatpsycho, and others.\n\nReleased under the GNU General Public License version 2 or later. See LICENSE for more information."
IDS_2127 "OK"
IDS_2128 "Hardware not available"
#ifdef _WIN32

644
src/win/languages/fi-FI.rc Normal file
View File

@@ -0,0 +1,644 @@
////////////////////////////////////////////////////////////////////////////
// Finnish resources
#ifdef _WIN32
LANGUAGE LANG_FINNISH, SUBLANG_DEFAULT
#pragma code_page(65001)
#endif //_WIN32
#define AUTHORS
/////////////////////////////////////////////////////////////////////////////
//
// Menu
//
MainMenu MENU DISCARDABLE
BEGIN
POPUP "&Toiminto"
BEGIN
MENUITEM "&Vaadi näppäimistön kaappaus", IDM_ACTION_KBD_REQ_CAPTURE
MENUITEM "&Oikea CTRL on vasen ALT", IDM_ACTION_RCTRL_IS_LALT
MENUITEM SEPARATOR
MENUITEM "&Uudelleenkäynnistys (kylmä)...", IDM_ACTION_HRESET
MENUITEM "&Ctrl+Alt+Del\tCtrl+F12", IDM_ACTION_RESET_CAD
MENUITEM SEPARATOR
MENUITEM "Ctrl+Alt+&Esc", IDM_ACTION_CTRL_ALT_ESC
MENUITEM SEPARATOR
MENUITEM "&Tauko", IDM_ACTION_PAUSE
MENUITEM SEPARATOR
MENUITEM "&Poistu...", IDM_ACTION_EXIT
END
POPUP "&Näytä"
BEGIN
MENUITEM "&Piilota tilapalkki", IDM_VID_HIDE_STATUS_BAR
MENUITEM SEPARATOR
MENUITEM "&Salli koon muuttaminen", IDM_VID_RESIZE
MENUITEM "&Muista koko ja sijainti", IDM_VID_REMEMBER
MENUITEM SEPARATOR
POPUP "&Renderöijä"
BEGIN
MENUITEM "&SDL (ohjelmistopohjainen)", IDM_VID_SDL_SW
MENUITEM "SDL (&laitteistokiihdytetty)", IDM_VID_SDL_HW
MENUITEM "SDL (&OpenGL)", IDM_VID_SDL_OPENGL
#if defined(DEV_BRANCH) && defined(USE_OPENGL)
MENUITEM "Open&GL (3.3 Core)", IDM_VID_OPENGL_CORE
#endif
#ifdef USE_VNC
MENUITEM "&VNC", IDM_VID_VNC
#endif
END
MENUITEM SEPARATOR
MENUITEM "&Määritä koko...", IDM_VID_SPECIFY_DIM
MENUITEM "Pakota 4:3 näyttösuhde", IDM_VID_FORCE43
POPUP "&Ikkunan kokokerroin"
BEGIN
MENUITEM "&0.5x", IDM_VID_SCALE_1X
MENUITEM "&1x", IDM_VID_SCALE_2X
MENUITEM "1.&5x", IDM_VID_SCALE_3X
MENUITEM "&2x", IDM_VID_SCALE_4X
END
POPUP "&Suodatusmetodi"
BEGIN
MENUITEM "&Lähin naapuri", IDM_VID_FILTER_NEAREST
MENUITEM "Li&neaarinen interpolaatio", IDM_VID_FILTER_LINEAR
END
MENUITEM "&Suuri DPI-skaalaus", IDM_VID_HIDPI
MENUITEM SEPARATOR
MENUITEM "&Koko näytön tila\tCtrl+Alt+PageUP", IDM_VID_FULLSCREEN
POPUP "Koko näytön &skaalaustila"
BEGIN
MENUITEM "&Venytä koko näyttöön", IDM_VID_FS_FULL
MENUITEM "&4:3", IDM_VID_FS_43
MENUITEM "&Tasasivuiset kuvapisteet (säilytä kuvasuhde)", IDM_VID_FS_KEEPRATIO
MENUITEM "&Kokonaislukuskaalaus", IDM_VID_FS_INT
END
POPUP "&EGA/(S)VGA asetukset"
BEGIN
MENUITEM "&VGA näyttö käänteisillä väreillä", IDM_VID_INVERT
POPUP "VGA näytön &tyyppi"
BEGIN
MENUITEM "RGB &värit", IDM_VID_GRAY_RGB
MENUITEM "&RGB harmaasävyinen", IDM_VID_GRAY_MONO
MENUITEM "&Meripihkanvärinen", IDM_VID_GRAY_AMBER
MENUITEM "V&ihreä", IDM_VID_GRAY_GREEN
MENUITEM "V&alkoinen", IDM_VID_GRAY_WHITE
END
POPUP "&Harmaasävymuunnoksen tyyppi"
BEGIN
MENUITEM "BT&601 (NTSC/PAL)", IDM_VID_GRAYCT_601
MENUITEM "BT&709 (HDTV)", IDM_VID_GRAYCT_709
MENUITEM "&Keskiarvo", IDM_VID_GRAYCT_AVE
END
END
MENUITEM SEPARATOR
MENUITEM "CGA/PCjr/Tandy/E&GA/(S)VGA &yliskannaus", IDM_VID_OVERSCAN
MENUITEM "&Muuta harmaavärinäytön kontrastia", IDM_VID_CGACON
END
MENUITEM "&Media", IDM_MEDIA
POPUP "&Työkalut"
BEGIN
MENUITEM "&Asetukset...", IDM_CONFIG
MENUITEM "&Päivitä tilapalkin kuvakkeita", IDM_UPDATE_ICONS
MENUITEM SEPARATOR
MENUITEM "Change program &settings...", IDM_VID_PROG_SETT
# ifdef USE_DISCORD
MENUITEM SEPARATOR
MENUITEM "Käytä &Discord integraatiota", IDM_DISCORD
# endif
MENUITEM SEPARATOR
MENUITEM "Ota &kuvakaappaus\tCtrl+F11", IDM_ACTION_SCREENSHOT
MENUITEM SEPARATOR
MENUITEM "&Äänen tulotaso...", IDM_SND_GAIN
#ifdef MTR_ENABLED
MENUITEM SEPARATOR
MENUITEM "Aloita jäljitys\tCtrl+T", IDM_ACTION_BEGIN_TRACE
MENUITEM "Lopeta jäljitys\tCtrl+T", IDM_ACTION_END_TRACE
#endif
END
#if defined(ENABLE_LOG_TOGGLES) || defined(ENABLE_LOG_COMMANDS)
POPUP "&Lokitus"
BEGIN
# ifdef ENABLE_BUSLOGIC_LOG
MENUITEM "BusLogic-lokitus päällä\tCtrl+F4", IDM_LOG_BUSLOGIC
# endif
# ifdef ENABLE_CDROM_LOG
MENUITEM "CD-ROM-lokitus päällä\tCtrl+F5", IDM_LOG_CDROM
# endif
# ifdef ENABLE_D86F_LOG
MENUITEM "Levykelokitus (86F) päällä\tCtrl+F6", IDM_LOG_D86F
# endif
# ifdef ENABLE_FDC_LOG
MENUITEM "Levykekontrollerin lokitus päällä\tCtrl+F7", IDM_LOG_FDC
# endif
# ifdef ENABLE_IDE_LOG
MENUITEM "IDE-lokitus päällä\tCtrl+F8", IDM_LOG_IDE
# endif
# ifdef ENABLE_SERIAL_LOG
MENUITEM "Sarjaporttilokitus päällä\tCtrl+F3", IDM_LOG_SERIAL
# endif
# ifdef ENABLE_NIC_LOG
MENUITEM "Verkkolokitus päällä\tCtrl+F9", IDM_LOG_NIC
# endif
# ifdef ENABLE_LOG_COMMANDS
# ifdef ENABLE_LOG_TOGGLES
MENUITEM SEPARATOR
# endif
# ifdef ENABLE_LOG_BREAKPOINT
MENUITEM "&Kirjaa keskeytyskohdat\tCtrl+F10", IDM_LOG_BREAKPOINT
# endif
# ifdef ENABLE_VRAM_DUMP
MENUITEM "Tallenna &videomuistin vedos\tCtrl+F1", IDM_DUMP_VRAM
# endif
# endif
END
#endif
POPUP "&Ohje"
BEGIN
MENUITEM "&Dokumentaatio...", IDM_DOCS
MENUITEM "&Tietoja 86Box:sta...", IDM_ABOUT
END
END
StatusBarMenu MENU DISCARDABLE
BEGIN
MENUITEM SEPARATOR
END
CassetteSubmenu MENU DISCARDABLE
BEGIN
POPUP ""
BEGIN
MENUITEM "&Uusi kasettikuva...", IDM_CASSETTE_IMAGE_NEW
MENUITEM SEPARATOR
MENUITEM "&Olemassaoleva kasettikuva...", IDM_CASSETTE_IMAGE_EXISTING
MENUITEM "Olemassaoleva kasettikuva (&kirjoitussuojattu)...", IDM_CASSETTE_IMAGE_EXISTING_WP
MENUITEM SEPARATOR
MENUITEM "&Nauhoita", IDM_CASSETTE_RECORD
MENUITEM "&Toista", IDM_CASSETTE_PLAY
MENUITEM "Kelaa &alkuun", IDM_CASSETTE_REWIND
MENUITEM "Kelaa &loppuun", IDM_CASSETTE_FAST_FORWARD
MENUITEM SEPARATOR
MENUITEM "&Poista kasettipesästä", IDM_CASSETTE_EJECT
END
END
CartridgeSubmenu MENU DISCARDABLE
BEGIN
POPUP ""
BEGIN
MENUITEM "&ROM-moduulikuva...", IDM_CARTRIDGE_IMAGE
MENUITEM SEPARATOR
MENUITEM "&Irrota", IDM_CARTRIDGE_EJECT
END
END
FloppySubmenu MENU DISCARDABLE
BEGIN
POPUP ""
BEGIN
MENUITEM "&Uusi levykekuva...", IDM_FLOPPY_IMAGE_NEW
MENUITEM SEPARATOR
MENUITEM "&Olemassaoleva levykekuva...", IDM_FLOPPY_IMAGE_EXISTING
MENUITEM "Olemassaoleva levykekuva (&kirjoitussuojattu)...", IDM_FLOPPY_IMAGE_EXISTING_WP
MENUITEM SEPARATOR
MENUITEM "&Vie 86F-tiedostoon...", IDM_FLOPPY_EXPORT_TO_86F
MENUITEM SEPARATOR
MENUITEM "&Poista asemasta", IDM_FLOPPY_EJECT
END
END
CdromSubmenu MENU DISCARDABLE
BEGIN
POPUP ""
BEGIN
MENUITEM "&Mykistä", IDM_CDROM_MUTE
MENUITEM SEPARATOR
MENUITEM "&Tyhjä", IDM_CDROM_EMPTY
MENUITEM "&Lataa edellinen levykuva uudelleen", IDM_CDROM_RELOAD
MENUITEM SEPARATOR
MENUITEM "L&evykuva", IDM_CDROM_IMAGE
END
END
ZIPSubmenu MENU DISCARDABLE
BEGIN
POPUP ""
BEGIN
MENUITEM "&Uusi levykuva...", IDM_ZIP_IMAGE_NEW
MENUITEM SEPARATOR
MENUITEM "&Olemassaoleva levykuva...", IDM_ZIP_IMAGE_EXISTING
MENUITEM "Olemassaoleva levykuva (&kirjoitussuojattu)...", IDM_ZIP_IMAGE_EXISTING_WP
MENUITEM SEPARATOR
MENUITEM "&Poista asemasta", IDM_ZIP_EJECT
MENUITEM "&Lataa edellinen levykuva uudelleen", IDM_ZIP_RELOAD
END
END
MOSubmenu MENU DISCARDABLE
BEGIN
POPUP ""
BEGIN
MENUITEM "&Uusi levykuva...", IDM_MO_IMAGE_NEW
MENUITEM SEPARATOR
MENUITEM "&Olemassaoleva levykuva...", IDM_MO_IMAGE_EXISTING
MENUITEM "Olemassaoleva levykuva (&kirjoitussuojattu)...", IDM_MO_IMAGE_EXISTING_WP
MENUITEM SEPARATOR
MENUITEM "&Poista asemasta", IDM_MO_EJECT
MENUITEM "&Lataa edellinen levykuva uudelleen", IDM_MO_RELOAD
END
END
#if defined(DEV_BRANCH) && defined(USE_OPENGL)
VidGLSubMenu MENU DISCARDABLE
BEGIN
POPUP "&Kuvataajuustavoite"
BEGIN
MENUITEM "&Synkronisoi videoon", IDM_VID_GL_FPS_BLITTER
MENUITEM "&25 ruutua/s", IDM_VID_GL_FPS_25
MENUITEM "&30 ruutua/s", IDM_VID_GL_FPS_30
MENUITEM "&50 ruutua/s", IDM_VID_GL_FPS_50
MENUITEM "&60 ruutua/s", IDM_VID_GL_FPS_60
MENUITEM "&75 ruutua/s", IDM_VID_GL_FPS_75
END
MENUITEM "&VSync", IDM_VID_GL_VSYNC
MENUITEM "Valitse varjostin&ohjelma...", IDM_VID_GL_SHADER
MENUITEM "&Poista varjostinohjelma", IDM_VID_GL_NOSHADER
END
#endif
/////////////////////////////////////////////////////////////////////////////
//
// Dialog
//
#define STR_PROG_SETT "Program Settings"
#define STR_SND_GAIN "Äänen tulotaso"
#define STR_NEW_FLOPPY "Uusi levykuva"
#define STR_CONFIG "86Box Asetukset"
#define STR_SPECIFY_DIM "Määritä pääikkunan koko"
#define STR_OK "OK"
#define STR_CANCEL "Peruuta"
#define STR_GLOBAL "Tallenna nämä asetukset &globaaleiksi oletuksiksi"
#define STR_DEFAULT "&Oletus"
#define STR_LANGUAGE "Kieli:"
#define STR_ICONSET "Kuvakkeet:"
#define STR_GAIN "Taso"
#define STR_FILE_NAME "Tiedostonimi:"
#define STR_DISK_SIZE "Levyn koko:"
#define STR_RPM_MODE "RPM tila:"
#define STR_PROGRESS "Edistyminen:"
#define STR_WIDTH "Leveys:"
#define STR_HEIGHT "Korkeus:"
#define STR_LOCK_TO_SIZE "Lukitse tähän kokoon"
#define STR_MACHINE_TYPE "Tietokoneen tyyppi:"
#define STR_MACHINE "Tietokone:"
#define STR_CONFIGURE "Määritys"
#define STR_CPU_TYPE "Suorittimen tyyppi:"
#define STR_SPEED "Nopeus:"
#define STR_FPU "Apusuoritin:"
#define STR_WAIT_STATES "Odotustilat:"
#define STR_MB "Mt"
#define STR_MEMORY "Muisti:"
#define STR_TIME_SYNC "Kellon synkronointi"
#define STR_DISABLED "Poistettu käytöstä"
#define STR_ENABLED_LOCAL "Käytössä (paikallinen)"
#define STR_ENABLED_UTC "Käytössä (UTC)"
#define STR_DYNAREC "Dynaaminen uudelleenkääntäjä"
#define STR_VIDEO "Näytönohjain:"
#define STR_VOODOO "Voodoo-grafiikkasuoritin"
#define STR_MOUSE "Hiiri:"
#define STR_JOYSTICK "Peliohjain:"
#define STR_JOY1 "Peliohjain 1..."
#define STR_JOY2 "Peliohjain 2..."
#define STR_JOY3 "Peliohjain 3..."
#define STR_JOY4 "Peliohjain 4..."
#define STR_SOUND "Äänikortti:"
#define STR_MIDI "MIDI-ulostulo:"
#define STR_MIDI_IN "MIDI-sisääntulo:"
#define STR_MPU401 "Erillinen MPU-401"
#define STR_SSI "Innovation SSI-2001"
#define STR_CMS "CMS / Game Blaster"
#define STR_GUS "Gravis Ultrasound"
#define STR_FLOAT "Käytä FLOAT32-ääntä"
#define STR_NET_TYPE "Verkon tyyppi:"
#define STR_PCAP "PCap-laite:"
#define STR_NET "Verkkokortti:"
#define STR_LPT1 "LPT1-laite:"
#define STR_LPT2 "LPT2-laite:"
#define STR_LPT3 "LPT3-laite:"
#define STR_SERIAL1 "Sarjaportti 1"
#define STR_SERIAL2 "Sarjaportti 2"
#define STR_SERIAL3 "Sarjaportti 3"
#define STR_SERIAL4 "Sarjaportti 4"
#define STR_PARALLEL1 "Rinnakkaisportti 1"
#define STR_PARALLEL2 "Rinnakkaisportti 2"
#define STR_PARALLEL3 "Rinnakkaisportti 3"
#define STR_HDC "Kiintolevyohjain:"
#define STR_FDC "Levykeohjain:"
#define STR_IDE_TER "Tertinäärinen IDE-ohjain"
#define STR_IDE_QUA "Kvaternaarinen IDE-ohjain"
#define STR_SCSI "SCSI"
#define STR_SCSI_1 "Ohjain 1:"
#define STR_SCSI_2 "Ohjain 2:"
#define STR_SCSI_3 "Ohjain 3:"
#define STR_SCSI_4 "Ohjain 4:"
#define STR_CASSETTE "Kasettiasema"
#define STR_HDD "Kiintolevyt:"
#define STR_NEW "&Uusi..."
#define STR_EXISTING "&Olemassaoleva..."
#define STR_REMOVE "&Poista"
#define STR_BUS "Väylä:"
#define STR_CHANNEL "Kanava:"
#define STR_ID "ID:"
#define STR_SPECIFY "&Määritä..."
#define STR_SECTORS "Sektorit:"
#define STR_HEADS "Päät:"
#define STR_CYLS "Sylinterit:"
#define STR_SIZE_MB "Koko (Mt):"
#define STR_TYPE "Tyyppi:"
#define STR_IMG_FORMAT "Tiedostomuoto:"
#define STR_BLOCK_SIZE "Lohkon koko:"
#define STR_FLOPPY_DRIVES "Levykeasemat:"
#define STR_TURBO "Turbo-ajoitukset"
#define STR_CHECKBPB "Tarkista BPB"
#define STR_CDROM_DRIVES "CD-ROM-asemat:"
#define STR_MO_DRIVES "Magneettisoptiset asemat (MO):"
#define STR_ZIP_DRIVES "ZIP-asemat:"
#define STR_250 "ZIP 250"
#define STR_ISARTC "ISA-reaaliaikakello:"
#define STR_ISAMEM "ISA-muistilaajennus"
#define STR_ISAMEM_1 "Kortti 1:"
#define STR_ISAMEM_2 "Kortti 2:"
#define STR_ISAMEM_3 "Kortti 3:"
#define STR_ISAMEM_4 "Kortti 4:"
#define STR_BUGGER "ISABugger-laite"
#define STR_POSTCARD "POST-kortti"
#define FONT_SIZE 9
#define FONT_NAME "Segoe UI"
#include "dialogs.rc"
/////////////////////////////////////////////////////////////////////////////
//
// String Table
//
STRINGTABLE DISCARDABLE
BEGIN
2048 "86Box"
IDS_2049 "Virhe"
IDS_2050 "Vakava virhe"
IDS_2051 "<varattu>"
IDS_2052 "Paina CTRL+ALT+PAGE DOWN palataksesi ikkunoituun tilaan."
IDS_2053 "Nopeus"
IDS_2054 "ZIP %03i %i (%s): %ls"
IDS_2055 "ZIP-levykuvat (*.IM?;*.ZDI)\0*.IM?;*.ZDI\0"
IDS_2056 "86Box ei löytänyt käyttökelpoisia ROM-tiedostoja.\n\nVoit <a href=""https://github.com/86Box/roms/releases/latest"">ladata</a> ROM-paketin ja purkaa sen ""roms"" hakemistoon."
IDS_2057 "(tyhjä)"
IDS_2058 "ZIP-levykuvat (*.IM?;*.ZDI)\0*.IM?;*.ZDI\0Kaikki tiedostot (*.*)\0*.*\0"
IDS_2059 "Turbo"
IDS_2060 "Päällä"
IDS_2061 "Pois"
IDS_2062 "Kaikki levykuvat (*.86F;*.DSK;*.FLP;*.IM?;*.*FD?)\0*.86F;*.DSK;*.FLP;*.IM?;*.*FD?\0Perussektorilevykuvat (*.DSK;*.FLP;*.IM?;*.*FD?)\0*.DSK;*.FLP;*.IM?;*.IMG;*.*FD?\0Pintalevykuvat (*.86F)\0*.86F\0"
IDS_2063 "Konetta ""%hs"" ei voi käyttää puuttuvien ROM-tiedostojen vuoksi. Vaihdetaan käyttökelpoiseen koneeseen."
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_2064 "Näytönohjainta ""%hs"" ei voi käyttää puuttuvien ROM-tiedostojen vuoksi. Vaihdetaan käyttökelpoiseen näytönohjaimeen."
IDS_2065 "Tietokone"
IDS_2066 "Näyttö"
IDS_2067 "Syöttölaitteet"
IDS_2068 "Ääni"
IDS_2069 "Verkko"
IDS_2070 "Portit (COM & LPT)"
IDS_2071 "Tallennusohjaimet"
IDS_2072 "Kiintolevyt"
IDS_2073 "Levyke ja CD-ROM"
IDS_2074 "Muut tallennuslaitteet"
IDS_2075 "Muut oheislaitteet"
IDS_2076 "Pintalevykuvat (*.86F)\0*.86F\0"
IDS_2077 "Kaappaa hiiri klikkaamalla"
IDS_2078 "Paina F8+F12 vapauttaaksesi hiiren"
IDS_2079 "Paina F8+F12 tai keskipainiketta vapauttaaksesi hiiren"
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_2080 "FluidSynth:in alustus epäonnistui"
IDS_2081 "Väylä"
IDS_2082 "Tiedosto"
IDS_2083 "C"
IDS_2084 "H"
IDS_2085 "S"
IDS_2086 "Mt"
IDS_2087 "Tarkista BPB"
IDS_2088 "kt"
IDS_2089 "Video-renderöijän alustus epäonnistui"
IDS_2090 "Oletus"
IDS_2091 "%i odotustilaa"
IDS_2092 "Tyyppi"
IDS_2093 "PCap-asennus epäonnistui"
IDS_2094 "PCap-laitteita ei löytynyt"
IDS_2095 "Virheellinen PCap-laite"
IDS_2096 "Standardi 2-painikkeinen peliohjain/-ohjaimet"
IDS_2097 "Standardi 4-painikkeinen peliohjain"
IDS_2098 "Standardi 6-painikkeinen peliohjain"
IDS_2099 "Standardi 8-painikkeinen peliohjain"
IDS_2100 "CH Flightstick Pro"
IDS_2101 "Microsoft SideWinder Pad"
IDS_2102 "Thrustmaster Flight Control System"
IDS_2103 "Ei mikään"
IDS_2104 "Näppäinkiihdyttimien lataus epäonnistui"
IDS_2105 "Raakasyötteen rekisteröinti epäonnistui"
IDS_2106 "%u"
IDS_2107 "%u Mt (CHS: %i, %i, %i)"
IDS_2108 "Levyke %i (%s): %ls"
IDS_2109 "Kaikki levykuvat (*.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\0Kehittyneet sektorilevykuvat (*.IMD;*.JSON;*.TD0)\0*.IMD;*.JSON;*.TD0\0Perussektorilevykuvat (*.0??;*.1??;*.??0;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.XDF;*.*FD?)\0*.0??;*.1??;*.??0;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.XDF;*.*FD?\0Flux-levykuvat (*.FDI)\0*.FDI\0Pintalevykuvat (*.86F;*.MFM)\0*.86F;*.MFM\0Kaikki tiedostot (*.*)\0*.*\0"
IDS_2110 "FreeType:n alustus epäonnistui"
IDS_2111 "SDL:n alustus epäonnistui. Tarvitaan SDL2.dll"
IDS_2112 "Oletko varma, että haluat käynnistää emuloidun tietokoneen uudelleen?"
IDS_2113 "Haluatko varmasti sulkea 86Box:in?"
IDS_2114 "Ghostscript:in alustus epäonnistui"
IDS_2115 "MO %i (%ls): %ls"
IDS_2116 "MO-levykuvat (*.IM?;*.MDI)\0*.IM?;*.MDI\0Kaikki tiedostot (*.*)\0*.*\0"
IDS_2117 "Tervetuloa 86Box:iin!"
IDS_2118 "Sisäinen ohjain"
IDS_2119 "Poistu"
IDS_2120 "ROM-tiedostoja ei löytynyt"
IDS_2121 "Tallennetaanko asetukset?"
IDS_2122 "Tämä käynnistää emuloidun tietokoneen uudelleen."
IDS_2123 "Tallenna"
IDS_2124 "Tietoja 86Box:sta"
IDS_2125 "86Box v" EMU_VERSION
IDS_2126 "Vanhojen tietokoneiden emulaattori\n\nTekijät: Sarah Walker, Miran Grca, Fred N. van Kempen (waltje), SA1988, Tiseno100, reenigne, leilei, JohnElliott, greatpsycho ja muut.\n\nJulkaistu GNU General Public License 2. version tai myöhemmän alaisena. Tarkempia tietoja LICENSE-tiedostossa."
IDS_2127 "OK"
IDS_2128 "Laitteisto ei ole saatavilla"
#ifdef _WIN32
#define LIB_NAME_PCAP "WinPcap"
#else
#define LIB_NAME_PCAP "libpcap"
#endif
IDS_2129 "Varmista, että " LIB_NAME_PCAP " on asennettu ja että verkkoyhteytesi on " LIB_NAME_PCAP "-yhteensopiva."
IDS_2130 "Virheelliset määritykset"
#ifdef _WIN32
#define LIB_NAME_FREETYPE "freetype.dll"
#else
#define LIB_NAME_FREETYPE "libfreetype"
#endif
IDS_2131 LIB_NAME_FREETYPE " vaaditaan ESC/P-tulostimen emuloimiseksi."
#ifdef _WIN32
#define LIB_NAME_GS "gsdll32.dll"
#else
#define LIB_NAME_GS "libgs"
#endif
IDS_2132 LIB_NAME_GS " vaaditaan PostScript-tiedostojen automaattiseen muuntamiseen PDF-tiedostoiksi.\n\nKaikki geneeriselle PostScript-tulostimelle lähetetyt asiakirjat tallennetaan PostScript (.ps) -tiedostoina."
#ifdef _WIN32
#define LIB_NAME_FLUIDSYNTH "libfluidsynth.dll"
#else
#define LIB_NAME_FLUIDSYNTH "libfluidsynth"
#endif
IDS_2133 LIB_NAME_FLUIDSYNTH " vaaditaan FluidSynth MIDI-ulostuloa varten."
IDS_2134 "Siirrytään koko näytön tilaan"
IDS_2135 "Älä näytä tätä viestiä uudelleen"
IDS_2136 "Älä poistu"
IDS_2137 "Käynnistä uudelleen"
IDS_2138 "Älä käynnistä uudelleen"
IDS_2139 "MO-levykuvat (*.IM?;*.MDI)\0*.IM?;*.MDI\0Kaikki tiedostot (*.*)\0*.*\0"
IDS_2140 "CD-ROM-levykuvat (*.ISO;*.CUE)\0*.ISO;*.CUE\0Kaikki tiedostot (*.*)\0*.*\0"
IDS_2141 "%hs - Laitteen määritykset"
IDS_2142 "Näyttö lepotilassa"
IDS_2143 "OpenGL-varjostinohjelmat (*.GLSL)\0*.GLSL\0Kaikki tiedostot (*.*)\0*.*\0"
IDS_2144 "OpenGL-asetukset"
IDS_2145 "Olet lataamassa ei-tuettuja määrittelyjä"
IDS_2146 "Valittuun tietokoneeseen perustuva suoritintyypin suodatus ei ole käytössä tällä emuloidulla koneella.\n\nTämä mahdollistaa muutoin yhteensopimattoman suorittimen valinnan kyseisen tietokoneen kanssa. Voit kuitenkin kohdata ongelmia tietokoneen BIOS:in tai muun ohjelmiston kanssa.\n\nTämän asetuksen käyttö ei ole virallisesti tuettua ja kaikki tehdyt virheraportit voidaan sulkea epäpätevinä."
IDS_2147 "Jatka"
IDS_2148 "Kasetti: %s"
IDS_2149 "Kasetti-tiedostot (*.PCM;*.RAW;*.WAV;*.CAS)\0*.PCM;*.RAW;*.WAV;*.CAS\0Kaikki tiedostot (*.*)\0*.*\0"
IDS_2150 "ROM-moduuli %i: %ls"
IDS_2151 "ROM-moduulikuvat (*.A;*.B;*.JRC)\0*.A;*.B;*.JRC\0Kaikki tiedostot (*.*)\0*.*\0"
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_4096 "Kiintolevy (%s)"
IDS_4097 "%01i:%01i"
IDS_4098 "%01i"
IDS_4099 "MFM/RLL tai ESDI CD-ROM asemia ei ole koskaan ollut olemassa"
IDS_4100 "Mukautettu..."
IDS_4101 "Mukautettu (suuri)..."
IDS_4102 "Lisää uusi kiintolevy"
IDS_4103 "Lisää olemassaoleva kiintolevy"
IDS_4104 "HDI levykuvan suurin mahdollinen koko on 4 Gt."
IDS_4105 "Levykuvien suurin mahdollinen koko on 127 Gt."
IDS_4106 "Kiintolevykuvat (*.HD?;*.IM?;*.VHD)\0*.HD?;*.IM?;*.VHD\0Kaikki tiedostot (*.*)\0*.*\0"
IDS_4107 "Tiedostoa ei voi lukea"
IDS_4108 "Tiedostoon ei voi kirjoittaa"
IDS_4109 "HDI- ja HDX-levykuvien ainoa tuettu sektorikoko on 512"
IDS_4110 "USB-tukea ei vielä ole"
IDS_4111 "Levykuva on jo olemassa"
IDS_4112 "Anna kelvollinen tiedostonimi."
IDS_4113 "Levykuva luotu"
IDS_4114 "Varmista, että tiedosto on olemassa ja lukukelpoinen"
IDS_4115 "Varmista, että tiedoston tallennuskansioon on kirjoitusoikeus"
IDS_4116 "Liian suuri levykuva"
IDS_4117 "Muista osioida ja alustaa juuri luomasi asema."
IDS_4118 "Valittu tiedosto ylikirjoitetaan. Oletko varma, että haluat käyttää sitä?"
IDS_4119 "Levynkuvaa ei tueta"
IDS_4120 "Ylikirjoita"
IDS_4121 "Älä ylikirjoita"
IDS_4122 "Raaka levykuva (.img)"
IDS_4123 "HDI-levykuva (.hdi)"
IDS_4124 "HDX-levykuva (.hdx)"
IDS_4125 "Kiinteä VHD (.vhd)"
IDS_4126 "Dynaaminen VHD (.vhd)"
IDS_4127 "Differentiaalinen VHD (.vhd)"
IDS_4128 "Suuret lohkot (2 Mt)"
IDS_4129 "Pienet lohkot (512 kt)"
IDS_4130 "VHD-tiedostot (*.VHD)\0*.VHD\0Kaikki tiedostot (*.*)\0*.*\0"
IDS_4131 "Valitse ylätason VHD"
IDS_4132 "Tämä saattaa tarkoittaa, että ylätason levykuvaa on muokattu differentiaalisen levykuvan luonnin jälkeen.\n\nNäin voi käydä myös, jos levykuvatiedostoja on siirretty tai kopioitu. Lisäksi syynä voi olla levyn luoneessa sovelluksessa oleva ohjelmistovirhe.\n\nKorjataanko aikaleimat?"
IDS_4133 "Ylä- ja alatason levyjen aikaleimat eivät täsmää"
IDS_4134 "VHD aikaleimaa ei pystytty korjaamaan."
IDS_4135 "%01i:%02i"
IDS_4352 "MFM/RLL"
IDS_4353 "XTA"
IDS_4354 "ESDI"
IDS_4355 "IDE"
IDS_4356 "ATAPI"
IDS_4357 "SCSI"
IDS_4608 "MFM/RLL (%01i:%01i)"
IDS_4609 "XTA (%01i:%01i)"
IDS_4610 "ESDI (%01i:%01i)"
IDS_4611 "IDE (%01i:%01i)"
IDS_4612 "ATAPI (%01i:%01i)"
IDS_4613 "SCSI (%01i:%02i)"
IDS_5120 "CD-ROM %i (%s): %s"
IDS_5376 "Poistettu käytöstä"
IDS_5381 "ATAPI"
IDS_5382 "SCSI"
IDS_5632 "Poistettu käytöstä"
IDS_5637 "ATAPI (%01i:%01i)"
IDS_5638 "SCSI (%01i:%02i)"
IDS_5888 "160 kt"
IDS_5889 "180 kt"
IDS_5890 "320 kt"
IDS_5891 "360 kt"
IDS_5892 "640 kt"
IDS_5893 "720 kt"
IDS_5894 "1.2 Mt"
IDS_5895 "1.25 Mt"
IDS_5896 "1.44 Mt"
IDS_5897 "DMF (lohko 1024)"
IDS_5898 "DMF (lohko 2048)"
IDS_5899 "2.88 Mt"
IDS_5900 "ZIP 100"
IDS_5901 "ZIP 250"
IDS_5902 "3.5"" 128Mt M.O. (ISO 10090)"
IDS_5903 "3.5"" 230Mt M.O. (ISO 13963)"
IDS_5904 "3.5"" 540Mt M.O. (ISO 15498)"
IDS_5905 "3.5"" 640Mt M.O. (ISO 15498)"
IDS_5906 "3.5"" 1.3Gt M.O. (GigaMO)"
IDS_5907 "3.5"" 2.3Gt M.O. (GigaMO 2)"
IDS_5908 "5.25"" 600Mt M.O."
IDS_5909 "5.25"" 650Mt M.O."
IDS_5910 "5.25"" 1Gt M.O."
IDS_5911 "5.25"" 1.3Gt M.O."
IDS_6144 "Täydellinen RPM"
IDS_6145 "1%% alle täydellisen RPM:n"
IDS_6146 "1.5%% alle täydellisen RPM:n"
IDS_6147 "2%% alle täydellisen RPM:n"
IDS_7168 "(Järjestelmän oletus)"
END
#define IDS_LANG_ENUS IDS_7168
// English (U.S.) resources
/////////////////////////////////////////////////////////////////////////////

644
src/win/languages/fr-FR.rc Normal file
View File

@@ -0,0 +1,644 @@
////////////////////////////////////////////////////////////////////////////
// French (fr-FR) resources
#ifdef _WIN32
LANGUAGE LANG_FRENCH, SUBLANG_FRENCH
#pragma code_page(65001)
#endif //_WIN32
#define AUTHORS
/////////////////////////////////////////////////////////////////////////////
//
// Menu
//
MainMenu MENU DISCARDABLE
BEGIN
POPUP "&Action"
BEGIN
MENUITEM "&Capturer le clavier", IDM_ACTION_KBD_REQ_CAPTURE
MENUITEM "CTRL &Droite devient ALT Gauche", IDM_ACTION_RCTRL_IS_LALT
MENUITEM SEPARATOR
MENUITEM "&Hard Reset...", IDM_ACTION_HRESET
MENUITEM "&Ctrl+Alt+Del\tCtrl+F12", IDM_ACTION_RESET_CAD
MENUITEM SEPARATOR
MENUITEM "Ctrl+Alt+&Esc", IDM_ACTION_CTRL_ALT_ESC
MENUITEM SEPARATOR
MENUITEM "&Pause", IDM_ACTION_PAUSE
MENUITEM SEPARATOR
MENUITEM "&Quitter...", IDM_ACTION_EXIT
END
POPUP "&Vue"
BEGIN
MENUITEM "&Masquer la barre de status", IDM_VID_HIDE_STATUS_BAR
MENUITEM SEPARATOR
MENUITEM "Fenètre &Retaillable", IDM_VID_RESIZE
MENUITEM "S&auvegarder taille && position", IDM_VID_REMEMBER
MENUITEM SEPARATOR
POPUP "Moteur de &rendu vidéo"
BEGIN
MENUITEM "&SDL (Logiciel)", IDM_VID_SDL_SW
MENUITEM "SDL (&Materiel)", IDM_VID_SDL_HW
MENUITEM "SDL (&OpenGL)", IDM_VID_SDL_OPENGL
#if defined(DEV_BRANCH) && defined(USE_OPENGL)
MENUITEM "Open&GL (3.3 Core)", IDM_VID_OPENGL_CORE
#endif
#ifdef USE_VNC
MENUITEM "&VNC", IDM_VID_VNC
#endif
END
MENUITEM SEPARATOR
MENUITEM "Specifier dimensions...", IDM_VID_SPECIFY_DIM
MENUITEM "F&orcer 4:3", IDM_VID_FORCE43
POPUP "&Echelle facteurr"
BEGIN
MENUITEM "&0.5x", IDM_VID_SCALE_1X
MENUITEM "&1x", IDM_VID_SCALE_2X
MENUITEM "1.&5x", IDM_VID_SCALE_3X
MENUITEM "&2x", IDM_VID_SCALE_4X
END
POPUP "Methode Filtre"
BEGIN
MENUITEM "&Plus proche", IDM_VID_FILTER_NEAREST
MENUITEM "&Lineaire", IDM_VID_FILTER_LINEAR
END
MENUITEM "Mise à l'échelle Hi&DPI", IDM_VID_HIDPI
MENUITEM SEPARATOR
MENUITEM "&Plein Ecran\tCtrl+Alt+PageUP", IDM_VID_FULLSCREEN
POPUP "Mode &Elargi plein écran"
BEGIN
MENUITEM "&Plein écran étiré", IDM_VID_FS_FULL
MENUITEM "&4:3", IDM_VID_FS_43
MENUITEM "pixels &Carrés(Keep ratio)", IDM_VID_FS_KEEPRATIO
MENUITEM "Echelle &Entière", IDM_VID_FS_INT
END
POPUP "Réglages E&GA/(S)VGA"
BEGIN
MENUITEM "Moniteur VGA &Inversé", IDM_VID_INVERT
POPUP "&Type Ecran VGA"
BEGIN
MENUITEM "RGB &Couleur", IDM_VID_GRAY_RGB
MENUITEM "&RGB Ton de Gris", IDM_VID_GRAY_MONO
MENUITEM "Moniteur &Ambre", IDM_VID_GRAY_AMBER
MENUITEM "Moniteur &Vert", IDM_VID_GRAY_GREEN
MENUITEM "Moniteur &Blanc", IDM_VID_GRAY_WHITE
END
POPUP "Grayscale &conversion type"
BEGIN
MENUITEM "BT&601 (NTSC/PAL)", IDM_VID_GRAYCT_601
MENUITEM "BT&709 (HDTV)", IDM_VID_GRAYCT_709
MENUITEM "&Moyenne", IDM_VID_GRAYCT_AVE
END
END
MENUITEM SEPARATOR
MENUITEM "CGA/PCjr/Tandy/E&GA/(S)VGA overscan", IDM_VID_OVERSCAN
MENUITEM "Modifier contraste affichage &monochrome", IDM_VID_CGACON
END
MENUITEM "&Media", IDM_MEDIA
POPUP "Ou&tils"
BEGIN
MENUITEM "&Réglages...", IDM_CONFIG
MENUITEM "Mettre à jour la barre de stat&us", IDM_UPDATE_ICONS
MENUITEM SEPARATOR
MENUITEM "Changer la &langue...", IDM_VID_PROG_SETT
# ifdef USE_DISCORD
MENUITEM SEPARATOR
MENUITEM "Activer intégration &Discord", IDM_DISCORD
# endif
MENUITEM SEPARATOR
MENUITEM "Copie &Ecran\tCtrl+F11", IDM_ACTION_SCREENSHOT
MENUITEM SEPARATOR
MENUITEM "&Gain Son...", IDM_SND_GAIN
#ifdef MTR_ENABLED
MENUITEM SEPARATOR
MENUITEM "Démarrer traces\tCtrl+T", IDM_ACTION_BEGIN_TRACE
MENUITEM "Finir traces\tCtrl+T", IDM_ACTION_END_TRACE
#endif
END
#if defined(ENABLE_LOG_TOGGLES) || defined(ENABLE_LOG_COMMANDS)
POPUP "&Journalisation"
BEGIN
# ifdef ENABLE_BUSLOGIC_LOG
MENUITEM "Activer journaux de BusLogic\tCtrl+F4", IDM_LOG_BUSLOGIC
# endif
# ifdef ENABLE_CDROM_LOG
MENUITEM "Activer journaux du CD-ROM\tCtrl+F5", IDM_LOG_CDROM
# endif
# ifdef ENABLE_D86F_LOG
MENUITEM "Activer journaux des disquettes (86F)s\tCtrl+F6", IDM_LOG_D86F
# endif
# ifdef ENABLE_FDC_LOG
MENUITEM "Activer journaux du contrôleur de disquettes\tCtrl+F7", IDM_LOG_FDC
# endif
# ifdef ENABLE_IDE_LOG
MENUITEM "Activer journaux de IDE\tCtrl+F8", IDM_LOG_IDE
# endif
# ifdef ENABLE_SERIAL_LOG
MENUITEM "Activer journaux de porte sériel\tCtrl+F3", IDM_LOG_SERIAL
# endif
# ifdef ENABLE_NIC_LOG
MENUITEM "Activer journaux de réseau\tCtrl+F9", IDM_LOG_NIC
# endif
# ifdef ENABLE_LOG_COMMANDS
# ifdef ENABLE_LOG_TOGGLES
MENUITEM SEPARATOR
# endif
# ifdef ENABLE_LOG_BREAKPOINT
MENUITEM "&Point d'arrêt du journal\tCtrl+F10", IDM_LOG_BREAKPOINT
# endif
# ifdef ENABLE_VRAM_DUMP
MENUITEM "Vidage de la mémoire &vidéo\tCtrl+F1", IDM_DUMP_VRAM
# endif
# endif
END
#endif
POPUP "&Aide"
BEGIN
MENUITEM "&Documentation...", IDM_DOCS
MENUITEM "&A Propos de 86Box...", IDM_ABOUT
END
END
StatusBarMenu MENU DISCARDABLE
BEGIN
MENUITEM SEPARATOR
END
CassetteSubmenu MENU DISCARDABLE
BEGIN
POPUP ""
BEGIN
MENUITEM "&Nouvelle image...", IDM_CASSETTE_IMAGE_NEW
MENUITEM SEPARATOR
MENUITEM "Image &Existante...", IDM_CASSETTE_IMAGE_EXISTING
MENUITEM "Existing image (&Write-protected)...", IDM_CASSETTE_IMAGE_EXISTING_WP
MENUITEM SEPARATOR
MENUITEM "En&registrer", IDM_CASSETTE_RECORD
MENUITEM "&Jouer", IDM_CASSETTE_PLAY
MENUITEM "&Revenir au debut", IDM_CASSETTE_REWIND
MENUITEM "Aller à la &Fin", IDM_CASSETTE_FAST_FORWARD
MENUITEM SEPARATOR
MENUITEM "E&jecter", IDM_CASSETTE_EJECT
END
END
CartridgeSubmenu MENU DISCARDABLE
BEGIN
POPUP ""
BEGIN
MENUITEM "&Image...", IDM_CARTRIDGE_IMAGE
MENUITEM SEPARATOR
MENUITEM "E&jecter", IDM_CARTRIDGE_EJECT
END
END
FloppySubmenu MENU DISCARDABLE
BEGIN
POPUP ""
BEGIN
MENUITEM "&Nouvelle image...", IDM_FLOPPY_IMAGE_NEW
MENUITEM SEPARATOR
MENUITEM "Image &Existante...", IDM_FLOPPY_IMAGE_EXISTING
MENUITEM "Existing image (&Write-protected)...", IDM_FLOPPY_IMAGE_EXISTING_WP
MENUITEM SEPARATOR
MENUITEM "E&xport vers 86F...", IDM_FLOPPY_EXPORT_TO_86F
MENUITEM SEPARATOR
MENUITEM "E&jecter", IDM_FLOPPY_EJECT
END
END
CdromSubmenu MENU DISCARDABLE
BEGIN
POPUP ""
BEGIN
MENUITEM "&Mute", IDM_CDROM_MUTE
MENUITEM SEPARATOR
MENUITEM "E&jecter", IDM_CDROM_EMPTY
MENUITEM "&Recharger image précedente", IDM_CDROM_RELOAD
MENUITEM SEPARATOR
MENUITEM "&Image", IDM_CDROM_IMAGE
END
END
ZIPSubmenu MENU DISCARDABLE
BEGIN
POPUP ""
BEGIN
MENUITEM "&Nouvelle image...", IDM_ZIP_IMAGE_NEW
MENUITEM SEPARATOR
MENUITEM "Image &Existante...", IDM_ZIP_IMAGE_EXISTING
MENUITEM "Existing image (&Write-protected)...", IDM_ZIP_IMAGE_EXISTING_WP
MENUITEM SEPARATOR
MENUITEM "E&jecter", IDM_ZIP_EJECT
MENUITEM "&Recharger image précédente", IDM_ZIP_RELOAD
END
END
MOSubmenu MENU DISCARDABLE
BEGIN
POPUP ""
BEGIN
MENUITEM "&Nouvelle image...", IDM_MO_IMAGE_NEW
MENUITEM SEPARATOR
MENUITEM "Image &Existante...", IDM_MO_IMAGE_EXISTING
MENUITEM "Image Existante (&Write-protected)...", IDM_MO_IMAGE_EXISTING_WP
MENUITEM SEPARATOR
MENUITEM "E&jecter", IDM_MO_EJECT
MENUITEM "&Recharger image précédente", IDM_MO_RELOAD
END
END
#if defined(DEV_BRANCH) && defined(USE_OPENGL)
VidGLSubMenu MENU DISCARDABLE
BEGIN
POPUP "&Taux de rafraîchissement cible"
BEGIN
MENUITEM "&Synchronisation avec la vidéo", IDM_VID_GL_FPS_BLITTER
MENUITEM "&25 images par seconde", IDM_VID_GL_FPS_25
MENUITEM "&30 images par seconde", IDM_VID_GL_FPS_30
MENUITEM "&50 images par seconde", IDM_VID_GL_FPS_50
MENUITEM "&60 images par seconde", IDM_VID_GL_FPS_60
MENUITEM "&75 images par seconde", IDM_VID_GL_FPS_75
END
MENUITEM "Synchronisation &verticale", IDM_VID_GL_VSYNC
MENUITEM "Sé&lectionnez le shader...", IDM_VID_GL_SHADER
MENUITEM "S&upprimer le shader", IDM_VID_GL_NOSHADER
END
#endif
/////////////////////////////////////////////////////////////////////////////
//
// Dialog
//
#define STR_PROG_SETT "Changer langue"
#define STR_SND_GAIN "Gain son"
#define STR_NEW_FLOPPY "Nouvelle image"
#define STR_CONFIG "Réglages 86Box"
#define STR_SPECIFY_DIM "Spécifier le détournement de la fenêtre principale"
#define STR_OK "OK"
#define STR_CANCEL "Annuler"
#define STR_GLOBAL "Salve ces paramètres comme valeurs par défaut &globales"
#define STR_DEFAULT "&Défaut"
#define STR_LANGUAGE "Langue:"
#define STR_ICONSET "Ensemble d'icônes:"
#define STR_GAIN "Gain"
#define STR_FILE_NAME "Nom fichier:"
#define STR_DISK_SIZE "Taille disque:"
#define STR_RPM_MODE "Mode RPM:"
#define STR_PROGRESS "Progrès:"
#define STR_WIDTH "Largeur:"
#define STR_HEIGHT "Hauteur:"
#define STR_LOCK_TO_SIZE "Verrouiller à cette taille"
#define STR_MACHINE_TYPE "Type de la machine:"
#define STR_MACHINE "Machine:"
#define STR_CONFIGURE "Configurer"
#define STR_CPU_TYPE "Typ du processeur:"
#define STR_SPEED "Vitesse:"
#define STR_FPU "FPU:"
#define STR_WAIT_STATES "États d'attente:"
#define STR_MB "Mo"
#define STR_MEMORY "Mémoire:"
#define STR_TIME_SYNC "Synchronisation du temps"
#define STR_DISABLED "Désactivé"
#define STR_ENABLED_LOCAL "Activé (heure locale)"
#define STR_ENABLED_UTC "Activé (UTC)"
#define STR_DYNAREC "Recompilateur dynamique"
#define STR_VIDEO "Vidéo:"
#define STR_VOODOO "Graphique Voodoo"
#define STR_MOUSE "Souris:"
#define STR_JOYSTICK "Manette de commande:"
#define STR_JOY1 "Manette 1..."
#define STR_JOY2 "Manette 2..."
#define STR_JOY3 "Manette 3..."
#define STR_JOY4 "Manette 4..."
#define STR_SOUND "Carte son:"
#define STR_MIDI "Sortie MIDI:"
#define STR_MIDI_IN "Entrée MIDI:"
#define STR_MPU401 "MPU-401 autonome"
#define STR_SSI "Innovation SSI-2001"
#define STR_CMS "CMS / Game Blaster"
#define STR_GUS "Gravis Ultrasound"
#define STR_FLOAT "Utiliser le son FLOAT32"
#define STR_NET_TYPE "Type de réseau:"
#define STR_PCAP "Dispositif PCap:"
#define STR_NET "Adaptateur de réseau:"
#define STR_LPT1 "Dispositif LPT1:"
#define STR_LPT2 "Dispositif LPT2:"
#define STR_LPT3 "Dispositif LPT3:"
#define STR_SERIAL1 "Port sériel 1"
#define STR_SERIAL2 "Port sériel 2"
#define STR_SERIAL3 "Port sériel 3"
#define STR_SERIAL4 "Port sériel 4"
#define STR_PARALLEL1 "Port parallèle 1"
#define STR_PARALLEL2 "Port parallèle 2"
#define STR_PARALLEL3 "Port parallèle 3"
#define STR_HDC "Contrôleur HD:"
#define STR_FDC "Contrôleur FD:"
#define STR_IDE_TER "Contrôleur IDE tertiaire"
#define STR_IDE_QUA "Contrôleur IDE quaternair"
#define STR_SCSI "SCSI"
#define STR_SCSI_1 "Contrôleur 1:"
#define STR_SCSI_2 "Contrôleur 2:"
#define STR_SCSI_3 "Contrôleur 3:"
#define STR_SCSI_4 "Contrôleur 4:"
#define STR_CASSETTE "Cassette"
#define STR_HDD "Disques durs:"
#define STR_NEW "&Nouveau..."
#define STR_EXISTING "&Existant..."
#define STR_REMOVE "&Supprimer"
#define STR_BUS "Bus:"
#define STR_CHANNEL "Canal:"
#define STR_ID "ID:"
#define STR_SPECIFY "&Spécifier..."
#define STR_SECTORS "Secteurs:"
#define STR_HEADS "Têtes:"
#define STR_CYLS "Cylindres:"
#define STR_SIZE_MB "Taille (Mo):"
#define STR_TYPE "Type:"
#define STR_IMG_FORMAT "Format Image:"
#define STR_BLOCK_SIZE "Taille du bloc:"
#define STR_FLOPPY_DRIVES "Lecteurs de disquettes:"
#define STR_TURBO "Temps de turbo"
#define STR_CHECKBPB "Vérifier BPB"
#define STR_CDROM_DRIVES "Lecterus CD-ROM:"
#define STR_MO_DRIVES "Lecteurs magnéto-optiques:"
#define STR_ZIP_DRIVES "Lecterus ZIP:"
#define STR_250 "ZIP 250"
#define STR_ISARTC "Horloge temps réel ISA:"
#define STR_ISAMEM "Expansion de la mémoire ISA"
#define STR_ISAMEM_1 "Carte 1:"
#define STR_ISAMEM_2 "Carte 2:"
#define STR_ISAMEM_3 "Carte 3:"
#define STR_ISAMEM_4 "Carte 4:"
#define STR_BUGGER "Dispositif ISABugger"
#define STR_POSTCARD "Carte POST"
#define FONT_SIZE 9
#define FONT_NAME "Segoe UI"
#include "dialogs.rc"
/////////////////////////////////////////////////////////////////////////////
//
// String Table
//
STRINGTABLE DISCARDABLE
BEGIN
2048 "86Box"
IDS_2049 "Erreur"
IDS_2050 "Erreur fatal"
IDS_2051 "<reservée>"
IDS_2052 "Appuyez sur CTRL+ALT+PAGE ↓ pour revenir au mode fenêtré."
IDS_2053 "Vitesse"
IDS_2054 "ZIP %03i %i (%s): %ls"
IDS_2055 "Images ZIP (*.IM?;*.ZDI)\0*.IM?;*.ZDI\0"
IDS_2056 "86Box n'a pas pu trouver d'images ROM utilisables.\n\nS'il vous plait, <a href=""https://github.com/86Box/roms/releases/latest"">téléchargez</a> un ensemble ROM et extrayez-le dans le répertoire ""roms""."
IDS_2057 "(vide)"
IDS_2058 "Images ZIP (*.IM?;*.ZDI)\0*.IM?;*.ZDI\0Tous les fichiers (*.*)\0*.*\0"
IDS_2059 "Turbo"
IDS_2060 "Activé"
IDS_2061 "Désactivé"
IDS_2062 "Tous les images (*.86F;*.DSK;*.FLP;*.IM?;*.*FD?)\0*.86F;*.DSK;*.FLP;*.IM?;*.*FD?\0Images basiques du secteur (*.DSK;*.FLP;*.IM?;*.*FD?)\0*.DSK;*.FLP;*.IM?;*.IMG;*.*FD?\0Images de la surface (*.86F)\0*.86F\0"
IDS_2063 "La machine ""%hs"" n'est pas disponible en raison de l'absence de ROMs en le répertoire roms/machines. Basculer vers une machine disponible."
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_2064 "La carte vidéo ""%hs"" n'est pas disponible en raison de l'absence de ROMs en le répertoire roms/video. Basculer vers une carte vidéo disponible."
IDS_2065 "Machine"
IDS_2066 "Affichage"
IDS_2067 "Dispositifs d'entrée"
IDS_2068 "Son"
IDS_2069 "Réseau"
IDS_2070 "Ports (COM et LPT)"
IDS_2071 "Contrôleurs de stockage"
IDS_2072 "Disques durs"
IDS_2073 "Lecteurs de disquette et CD-ROM"
IDS_2074 "Autres dispositifs amovibles"
IDS_2075 "Autres périfériques"
IDS_2076 "Images de surface (*.86F)\0*.86F\0"
IDS_2077 "Cliquer pour capturer la souris"
IDS_2078 "Appuyer sur F8+F12 pour libérer la souris"
IDS_2079 "Appuyer sur F8+F12 ou le bouton central pour libérer la souris"
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_2080 "Impossible d'initialiser FluidSynth"
IDS_2081 "Bus"
IDS_2082 "File"
IDS_2083 "C"
IDS_2084 "T"
IDS_2085 "S"
IDS_2086 "Mo"
IDS_2087 "Vérifier BPB"
IDS_2088 "Ko"
IDS_2089 "Impossible d'initialiser le moteur de rendu vidéo."
IDS_2090 "Défaut"
IDS_2091 "%i état(s) d'attente"
IDS_2092 "Type"
IDS_2093 "Impossible d'initialiser PCap"
IDS_2094 "Aucun dispositif PCap trouvé"
IDS_2095 "Dispositif PCap non valide"
IDS_2096 "Manette(s) de command standard avec 2 boutons"
IDS_2097 "Manette de command standard avec 4 boutons"
IDS_2098 "Manette de command standard avec 6 boutons"
IDS_2099 "Manette de command standard avec 6 boutons"
IDS_2100 "CH Flightstick Pro"
IDS_2101 "Microsoft SideWinder Pad"
IDS_2102 "Système de contrôle de vol Thrustmaster"
IDS_2103 "Aucun"
IDS_2104 "Impossible de charger les accélérateurs de clavier."
IDS_2105 "Impossible de charger l'entrée raw."
IDS_2106 "%u"
IDS_2107 "%u Mo (CTS: %i, %i, %i)"
IDS_2108 "Disquette %i (%s): %ls"
IDS_2109 "Toutes les images (*.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\0Images du secteur avancés (*.IMD;*.JSON;*.TD0)\0*.IMD;*.JSON;*.TD0\0Images du secteur basiques (*.0??;*.1??;*.??0;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.XDF;*.*FD?)\0*.0??;*.1??;*.??0;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.XDF;*.*FD?\0Images du flux (*.FDI)\0*.FDI\0Images de surface (*.86F;*.MFM)\0*.86F;*.MFM\0Tous les fichiers (*.*)\0*.*\0"
IDS_2110 "Impossible d'initialiser FreeType"
IDS_2111 "Impossible d'initialiser SDL, SDL2.dll est nécessaire"
IDS_2112 "Etes-vous sûr de vouloir réinitialiser la machine émulée ?"
IDS_2113 "Etes-vous sûr de vouloir sortir du86Box?"
IDS_2114 "Impossible d'initialiser Ghostscript"
IDS_2115 "Magnéto-optique %i (%ls): %ls"
IDS_2116 "Images magnéto-optiques (*.IM?;*.MDI)\0*.IM?;*.MDI\0Tous les fichiers (*.*)\0*.*\0"
IDS_2117 "Bienvenues dans 86Box !"
IDS_2118 "Côntrolleur interne"
IDS_2119 "Sortir"
IDS_2120 "Pas de ROMs trouvées"
IDS_2121 "Voulez-vous sauver les paramètres ?"
IDS_2122 "Ce entraînera la réinitialisation complète de la machine émulée."
IDS_2123 "Sauver"
IDS_2124 "À propos de 86Box"
IDS_2125 "86Box v" EMU_VERSION
IDS_2126 "Un émulateur de vieux ordinateurs\n\nAuteurs: Sarah Walker, Miran Grca, Fred N. van Kempen (waltje), SA1988, MoochMcGee, reenigne, leilei, JohnElliott, greatpsycho, and others.\n\nLibéré sous la licence GNU General Public License version 2 ou ultérieure. Pour plus d'informations, voir le fichier LICENSE."
IDS_2127 "OK"
IDS_2128 "Matériel non disponible"
#ifdef _WIN32
#define LIB_NAME_PCAP "WinPcap"
#else
#define LIB_NAME_PCAP "libpcap"
#endif
IDS_2129 "Assurez-vous que " LIB_NAME_PCAP " est installé e que vou utilizes une connexion de réseau compatible avec " LIB_NAME_PCAP "."
IDS_2130 "Configuration non valide"
#ifdef _WIN32
#define LIB_NAME_FREETYPE "freetype.dll"
#else
#define LIB_NAME_FREETYPE "libfreetype"
#endif
IDS_2131 LIB_NAME_FREETYPE " est nécessaire pour l'émulation de l'imprimante ESC/P."
#ifdef _WIN32
#define LIB_NAME_GS "gsdll32.dll"
#else
#define LIB_NAME_GS "libgs"
#endif
IDS_2132 LIB_NAME_GS " est nécessair pour la conversion automatique des fichiers PostScript dans PDF.\n\nTous les documents envoyés à l'imprimante générique PostScript seront sauvés comme des fichiers PostScript (.ps)."
#ifdef _WIN32
#define LIB_NAME_FLUIDSYNTH "libfluidsynth.dll"
#else
#define LIB_NAME_FLUIDSYNTH "libfluidsynth"
#endif
IDS_2133 LIB_NAME_FLUIDSYNTH " est nécessaire pour la sortie MIDI FluidSynth."
IDS_2134 "Entrer en mode plein écran"
IDS_2135 "Ne pas montrer ce message à nouveau"
IDS_2136 "Ne pas sortir"
IDS_2137 "Réinitialiser"
IDS_2138 "Ne pas réinitialiser"
IDS_2139 "Images magnéto-optiques (*.IM?;*.MDI)\0*.IM?;*.MDI\0Tous les fichiers (*.*)\0*.*\0"
IDS_2140 "Images CD-ROM (*.ISO;*.CUE)\0*.ISO;*.CUE\0Tous les fichiers (*.*)\0*.*\0"
IDS_2141 "Configuration du dispositif %hs"
IDS_2142 "Moniteur en mode veille"
IDS_2143 "Shaders OpenGL (*.GLSL)\0*.GLSL\0Tous les fichiers (*.*)\0*.*\0"
IDS_2144 "Options OpenGL"
IDS_2145 "Vous chargez une configuration non prise en charge"
IDS_2146 "La filtrage du type du processeur sur la base de la machine sélectionné est désactivé pur cette machine émulée.\n\nCela permet de sélectionner une processeur que est sinon incompatible avec la machine sélectionné. Cependant, il pourrait y avoir des incompatibilités avec le BIOS de la machine ou autres logiciels.\n\nL'activatione de cette configuration non est officiellement prise en charge et tout rapport de bogue peut être fermé comme étant invalide."
IDS_2147 "Continuer"
IDS_2148 "Cassette: %s"
IDS_2149 "Images cassette (*.PCM;*.RAW;*.WAV;*.CAS)\0*.PCM;*.RAW;*.WAV;*.CAS\0Tous les fichiers (*.*)\0*.*\0"
IDS_2150 "Cartouche %i: %ls"
IDS_2151 "Images cartouche (*.A;*.B;*.JRC)\0*.A;*.B;*.JRC\0Tous les fichiers (*.*)\0*.*\0"
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_4096 "Disque dur (%s)"
IDS_4097 "%01i:%01i"
IDS_4098 "%01i"
IDS_4099 "Les lecteurs de CD-ROM MFM/RLL ou ESDI n'ont jamais existé"
IDS_4100 "Personnalisé..."
IDS_4101 "Personnalisé (grand)..."
IDS_4102 "Ajouter un nouveau disque dur"
IDS_4103 "Ajouter un disque dur existant"
IDS_4104 "Les images de disque HDI ne peuvent pas être plus grandes de 4 Go."
IDS_4105 "Les images de disque ne peuvent pas être plus grandes de 127 Go."
IDS_4106 "Images de dique dur (*.HD?;*.IM?;*.VHD)\0*.HD?;*.IM?;*.VHD\0Tous les fichiers (*.*)\0*.*\0"
IDS_4107 "Impossible de lire le fichier"
IDS_4108 "Impossible d'écrire le fichier"
IDS_4109 "Les images HDI ou HDX avec une taille de secteur que non est 512 non sont pas prises en charge."
IDS_4110 "USB n'est pas encore pris en charge"
IDS_4111 "Le fichier de la image du sique déjà existe"
IDS_4112 "Veuillez spécifier un nom de fichier valide."
IDS_4113 "Image de disque créée"
IDS_4114 "Assurez-vous que le fichier existe et est lisible."
IDS_4115 "Assurez-vous que est en train d'être sauvé dans une répertoire accessible en écriture."
IDS_4116 "Image de disque trop grande"
IDS_4117 "N'oubliez pas de partitionner et de formater le nouveau disque créé."
IDS_4118 "Le fichier sélectionné sera écrasé. Etes-vous sûr de vouloir l'utiliser?"
IDS_4119 "Image de sique non prise en charge"
IDS_4120 "Écraser"
IDS_4121 "Ne pas écraser"
IDS_4122 "Image brute (.img)"
IDS_4123 "Image HDI (.hdi)"
IDS_4124 "Image HDX (.hdx)"
IDS_4125 "VHD à taille fixe (.vhd)"
IDS_4126 "VHD à taille dynamique (.vhd)"
IDS_4127 "VHD à différenciation (.vhd)"
IDS_4128 "Blocs grands (2 MB)"
IDS_4129 "Blocs petits (512 KB)"
IDS_4130 "Fichiers VHD (*.VHD)\0*.VHD\0Tous les fichiers (*.*)\0*.*\0"
IDS_4131 "Sélectionnez le VHD parent"
IDS_4132 "Est possible que la image parente a été modifié après la création de la image à différenciation.\n\nEst même possible que les fichiers de la image ont été déplacés ou copiés ou il était une bogue dans le programme que a créé ce disque.\n\nVoulez-vous Do you want to réparer l'horodatage?"
IDS_4133 "Les horodatages des disques parent et enfant ne correspondent pas"
IDS_4134 "Impossible de réparer l'horodatage du VHD."
IDS_4135 "%01i:%02i"
IDS_4352 "MFM/RLL"
IDS_4353 "XTA"
IDS_4354 "ESDI"
IDS_4355 "IDE"
IDS_4356 "ATAPI"
IDS_4357 "SCSI"
IDS_4608 "MFM/RLL (%01i:%01i)"
IDS_4609 "XTA (%01i:%01i)"
IDS_4610 "ESDI (%01i:%01i)"
IDS_4611 "IDE (%01i:%01i)"
IDS_4612 "ATAPI (%01i:%01i)"
IDS_4613 "SCSI (%01i:%02i)"
IDS_5120 "CD-ROM %i (%s): %s"
IDS_5376 "Désactivé"
IDS_5381 "ATAPI"
IDS_5382 "SCSI"
IDS_5632 "Désactivé"
IDS_5637 "ATAPI (%01i:%01i)"
IDS_5638 "SCSI (%01i:%02i)"
IDS_5888 "160 kB"
IDS_5889 "180 kB"
IDS_5890 "320 kB"
IDS_5891 "360 kB"
IDS_5892 "640 kB"
IDS_5893 "720 kB"
IDS_5894 "1.2 MB"
IDS_5895 "1.25 MB"
IDS_5896 "1.44 MB"
IDS_5897 "DMF (cluster 1024)"
IDS_5898 "DMF (cluster 2048)"
IDS_5899 "2.88 MB"
IDS_5900 "ZIP 100"
IDS_5901 "ZIP 250"
IDS_5902 "3.5"" 128Mb M.O. (ISO 10090)"
IDS_5903 "3.5"" 230Mb M.O. (ISO 13963)"
IDS_5904 "3.5"" 540Mb M.O. (ISO 15498)"
IDS_5905 "3.5"" 640Mb M.O. (ISO 15498)"
IDS_5906 "3.5"" 1.3Gb M.O. (GigaMO)"
IDS_5907 "3.5"" 2.3Gb M.O. (GigaMO 2)"
IDS_5908 "5.25"" 600Mb M.O."
IDS_5909 "5.25"" 650Mb M.O."
IDS_5910 "5.25"" 1Gb M.O."
IDS_5911 "5.25"" 1.3Gb M.O."
IDS_6144 "RPM précis"
IDS_6145 "Précision RPM de moins 1%"
IDS_6146 "Précision RPM de moins 1.5%"
IDS_6147 "Précision RPM de moins 2%"
IDS_7168 "(Défaut du système)"
END
#define IDS_LANG_ENUS IDS_7168
// French (F.R.) resources
/////////////////////////////////////////////////////////////////////////////

644
src/win/languages/hr-HR.rc Normal file
View File

@@ -0,0 +1,644 @@
////////////////////////////////////////////////////////////////////////////
// Croatian (hr-HR) resources
#ifdef _WIN32
LANGUAGE LANG_CROATIAN, SUBLANG_DEFAULT
#pragma code_page(65001)
#endif //_WIN32
#define AUTHORS
/////////////////////////////////////////////////////////////////////////////
//
// Menu
//
MainMenu MENU DISCARDABLE
BEGIN
POPUP "&Akcija"
BEGIN
MENUITEM "&Tipkovnica zahtijeva snimanje miša", IDM_ACTION_KBD_REQ_CAPTURE
MENUITEM "&Desni CTRL je lijevi ALT", IDM_ACTION_RCTRL_IS_LALT
MENUITEM SEPARATOR
MENUITEM "&Hard Reset...", IDM_ACTION_HRESET
MENUITEM "&Ctrl+Alt+Del\tCtrl+F12", IDM_ACTION_RESET_CAD
MENUITEM SEPARATOR
MENUITEM "Ctrl+Alt+&Esc", IDM_ACTION_CTRL_ALT_ESC
MENUITEM SEPARATOR
MENUITEM "&Pauza", IDM_ACTION_PAUSE
MENUITEM SEPARATOR
MENUITEM "&Izlaz...", IDM_ACTION_EXIT
END
POPUP "&Pogled"
BEGIN
MENUITEM "&Sakrij statusnu traku", IDM_VID_HIDE_STATUS_BAR
MENUITEM SEPARATOR
MENUITEM "&Prozor s promjenjivim veličinama", IDM_VID_RESIZE
MENUITEM "&Zapamtite veličinu && poziciju", IDM_VID_REMEMBER
MENUITEM SEPARATOR
POPUP "&Renderer"
BEGIN
MENUITEM "&SDL (Softver)", IDM_VID_SDL_SW
MENUITEM "SDL (&Hardver)", IDM_VID_SDL_HW
MENUITEM "SDL (&OpenGL)", IDM_VID_SDL_OPENGL
#if defined(DEV_BRANCH) && defined(USE_OPENGL)
MENUITEM "Open&GL (3.3 jezgra)", IDM_VID_OPENGL_CORE
#endif
#ifdef USE_VNC
MENUITEM "&VNC", IDM_VID_VNC
#endif
END
MENUITEM SEPARATOR
MENUITEM "Odrediti dimenzije...", IDM_VID_SPECIFY_DIM
MENUITEM "&4:3 omjer prikaza", IDM_VID_FORCE43
POPUP "&Faktor skaliranje prozora"
BEGIN
MENUITEM "&0,5x", IDM_VID_SCALE_1X
MENUITEM "&1x", IDM_VID_SCALE_2X
MENUITEM "1,&5x", IDM_VID_SCALE_3X
MENUITEM "&2x", IDM_VID_SCALE_4X
END
POPUP "Metoda filtriranja"
BEGIN
MENUITEM "&Nearest", IDM_VID_FILTER_NEAREST
MENUITEM "&Linear", IDM_VID_FILTER_LINEAR
END
MENUITEM "&HiDPI skaliranje", IDM_VID_HIDPI
MENUITEM SEPARATOR
MENUITEM "&Cijeli zaslon\tCtrl+Alt+PageUP", IDM_VID_FULLSCREEN
POPUP "&Način rastezanja preko cijelog zaslona"
BEGIN
MENUITEM "&Razvlačenje preko cijelog zaslona", IDM_VID_FS_FULL
MENUITEM "&4:3", IDM_VID_FS_43
MENUITEM "&Kvadratni pikseli (zadrži omjer)", IDM_VID_FS_KEEPRATIO
MENUITEM "&Integer skala", IDM_VID_FS_INT
END
POPUP "E&GA/(S)VGA postavke"
BEGIN
MENUITEM "&Invertirani VGA monitor", IDM_VID_INVERT
POPUP "&Tip VGA monitora"
BEGIN
MENUITEM "RGB &Boja", IDM_VID_GRAY_RGB
MENUITEM "&RGB s sivih tonova", IDM_VID_GRAY_MONO
MENUITEM "&Jantarni monitor", IDM_VID_GRAY_AMBER
MENUITEM "&Zeleni monitor", IDM_VID_GRAY_GREEN
MENUITEM "&Bijeli monitor", IDM_VID_GRAY_WHITE
END
POPUP "&Vrsta konverzije sivih tonova"
BEGIN
MENUITEM "BT&601 (NTSC/PAL)", IDM_VID_GRAYCT_601
MENUITEM "BT&709 (HDTV)", IDM_VID_GRAYCT_709
MENUITEM "&Prosječno", IDM_VID_GRAYCT_AVE
END
END
MENUITEM SEPARATOR
MENUITEM "CGA/PCjr/Tandy/E&GA/(S)VGA overscan", IDM_VID_OVERSCAN
MENUITEM "Promjena kontrasta za &monokromatski ekran", IDM_VID_CGACON
END
MENUITEM "&Mediji", IDM_MEDIA
POPUP "&Alati"
BEGIN
MENUITEM "&Postavke...", IDM_CONFIG
MENUITEM "&Ažuriranje ikone statusne trake", IDM_UPDATE_ICONS
MENUITEM SEPARATOR
MENUITEM "Change program &settings...", IDM_VID_PROG_SETT
# ifdef USE_DISCORD
MENUITEM SEPARATOR
MENUITEM "Omogući integraciju &Discord-a", IDM_DISCORD
# endif
MENUITEM SEPARATOR
MENUITEM "Napravite &snimku zaslona\tCtrl+F11", IDM_ACTION_SCREENSHOT
MENUITEM SEPARATOR
MENUITEM "&Pojačanje zvuka...", IDM_SND_GAIN
#ifdef MTR_ENABLED
MENUITEM SEPARATOR
MENUITEM "Započni tracing\tCtrl+T", IDM_ACTION_BEGIN_TRACE
MENUITEM "Prestani tracing\tCtrl+T", IDM_ACTION_END_TRACE
#endif
END
#if defined(ENABLE_LOG_TOGGLES) || defined(ENABLE_LOG_COMMANDS)
POPUP "&Logging"
BEGIN
# ifdef ENABLE_BUSLOGIC_LOG
MENUITEM "Omogući BusLogic logging\tCtrl+F4", IDM_LOG_BUSLOGIC
# endif
# ifdef ENABLE_CDROM_LOG
MENUITEM "Omogući logging CD-ROM-a\tCtrl+F5", IDM_LOG_CDROM
# endif
# ifdef ENABLE_D86F_LOG
MENUITEM "Omogući logging disketa (86F)\tCtrl+F6", IDM_LOG_D86F
# endif
# ifdef ENABLE_FDC_LOG
MENUITEM "Omogući logging floppy kontrolera\tCtrl+F7", IDM_LOG_FDC
# endif
# ifdef ENABLE_IDE_LOG
MENUITEM "Omogući IDE logging\tCtrl+F8", IDM_LOG_IDE
# endif
# ifdef ENABLE_SERIAL_LOG
MENUITEM "Omogući logging serijskog porta\tCtrl+F3", IDM_LOG_SERIAL
# endif
# ifdef ENABLE_NIC_LOG
MENUITEM "Omogući mrežni logging\tCtrl+F9", IDM_LOG_NIC
# endif
# ifdef ENABLE_LOG_COMMANDS
# ifdef ENABLE_LOG_TOGGLES
MENUITEM SEPARATOR
# endif
# ifdef ENABLE_LOG_BREAKPOINT
MENUITEM "&Breakpoint za logging\tCtrl+F10", IDM_LOG_BREAKPOINT
# endif
# ifdef ENABLE_VRAM_DUMP
MENUITEM "Dump od &video RAM-a\tCtrl+F1", IDM_DUMP_VRAM
# endif
# endif
END
#endif
POPUP "&Pomoć"
BEGIN
MENUITEM "&Dokumentacija...", IDM_DOCS
MENUITEM "&O 86Box...", IDM_ABOUT
END
END
StatusBarMenu MENU DISCARDABLE
BEGIN
MENUITEM SEPARATOR
END
CassetteSubmenu MENU DISCARDABLE
BEGIN
POPUP ""
BEGIN
MENUITEM "&Nova image daoteka...", IDM_CASSETTE_IMAGE_NEW
MENUITEM SEPARATOR
MENUITEM "&Postojeća image daoteka...", IDM_CASSETTE_IMAGE_EXISTING
MENUITEM "Postojeća image daoteka (&zaštićena od pisanja)...", IDM_CASSETTE_IMAGE_EXISTING_WP
MENUITEM SEPARATOR
MENUITEM "&Snimi", IDM_CASSETTE_RECORD
MENUITEM "&Pusti", IDM_CASSETTE_PLAY
MENUITEM "&Premotanje na početak", IDM_CASSETTE_REWIND
MENUITEM "&Brzi naprijed do kraja", IDM_CASSETTE_FAST_FORWARD
MENUITEM SEPARATOR
MENUITEM "&Izbaci", IDM_CASSETTE_EJECT
END
END
CartridgeSubmenu MENU DISCARDABLE
BEGIN
POPUP ""
BEGIN
MENUITEM "&Image daoteka...", IDM_CARTRIDGE_IMAGE
MENUITEM SEPARATOR
MENUITEM "&Izbaci", IDM_CARTRIDGE_EJECT
END
END
FloppySubmenu MENU DISCARDABLE
BEGIN
POPUP ""
BEGIN
MENUITEM "&Nova image daoteka...", IDM_FLOPPY_IMAGE_NEW
MENUITEM SEPARATOR
MENUITEM "&Postojeća image daoteka...", IDM_FLOPPY_IMAGE_EXISTING
MENUITEM "Postojeća image daoteka (&zaštićena od pisanja)...", IDM_FLOPPY_IMAGE_EXISTING_WP
MENUITEM SEPARATOR
MENUITEM "&Exportiraj u 86F format...", IDM_FLOPPY_EXPORT_TO_86F
MENUITEM SEPARATOR
MENUITEM "&Izbaci", IDM_FLOPPY_EJECT
END
END
CdromSubmenu MENU DISCARDABLE
BEGIN
POPUP ""
BEGIN
MENUITEM "&Isključi zvuk", IDM_CDROM_MUTE
MENUITEM SEPARATOR
MENUITEM "&Prazno", IDM_CDROM_EMPTY
MENUITEM "&Ponovo učitaj prethodnu image daoteku", IDM_CDROM_RELOAD
MENUITEM SEPARATOR
MENUITEM "&Image daoteka", IDM_CDROM_IMAGE
END
END
ZIPSubmenu MENU DISCARDABLE
BEGIN
POPUP ""
BEGIN
MENUITEM "&Nova image daoteka...", IDM_ZIP_IMAGE_NEW
MENUITEM SEPARATOR
MENUITEM "&Postojeća image daoteka...", IDM_ZIP_IMAGE_EXISTING
MENUITEM "Postojeća image daoteka (&zaštićena od pisanja)...", IDM_ZIP_IMAGE_EXISTING_WP
MENUITEM SEPARATOR
MENUITEM "&Izbaci", IDM_ZIP_EJECT
MENUITEM "&Ponovo učitaj prethodnu image daoteku", IDM_ZIP_RELOAD
END
END
MOSubmenu MENU DISCARDABLE
BEGIN
POPUP ""
BEGIN
MENUITEM "&Nova image daoteka...", IDM_MO_IMAGE_NEW
MENUITEM SEPARATOR
MENUITEM "&Postojeća image daoteka...", IDM_MO_IMAGE_EXISTING
MENUITEM "Postojeća image daoteka (&zaštićena od pisanja)...", IDM_MO_IMAGE_EXISTING_WP
MENUITEM SEPARATOR
MENUITEM "&Izbaci", IDM_MO_EJECT
MENUITEM "&Ponovo učitaj prethodnu image daoteku", IDM_MO_RELOAD
END
END
#if defined(DEV_BRANCH) && defined(USE_OPENGL)
VidGLSubMenu MENU DISCARDABLE
BEGIN
POPUP "Target &framerate"
BEGIN
MENUITEM "&Sinkronizacija s videom", 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
END
MENUITEM "&VSync", IDM_VID_GL_VSYNC
MENUITEM "&Odaberi shader...", IDM_VID_GL_SHADER
MENUITEM "&Ukloni shader", IDM_VID_GL_NOSHADER
END
#endif
/////////////////////////////////////////////////////////////////////////////
//
// Dialog
//
#define STR_PROG_SETT "Program Settings"
#define STR_SND_GAIN "Pojačavanje zvuka"
#define STR_NEW_FLOPPY "Nova image daoteka"
#define STR_CONFIG "86Box postavke"
#define STR_SPECIFY_DIM "Odredite glavne dimenzije prozora"
#define STR_OK "OK"
#define STR_CANCEL "Odustani"
#define STR_GLOBAL "Spremite ove postavke kao &globalne zadane postavke"
#define STR_DEFAULT "&Standard"
#define STR_LANGUAGE "Jezik:"
#define STR_ICONSET "Paket ikona:"
#define STR_GAIN "Pojačavanje"
#define STR_FILE_NAME "Ime daoteke:"
#define STR_DISK_SIZE "Veličina diska:"
#define STR_RPM_MODE "Način rotacije:"
#define STR_PROGRESS "Napredak:"
#define STR_WIDTH "Širina:"
#define STR_HEIGHT "Visina:"
#define STR_LOCK_TO_SIZE "Zaključajte na ovu veličinu"
#define STR_MACHINE_TYPE "Tip računala:"
#define STR_MACHINE "Računalo:"
#define STR_CONFIGURE "Konfigurirajte"
#define STR_CPU_TYPE "CPU tip:"
#define STR_SPEED "Brzina:"
#define STR_FPU "FPU uređaj:"
#define STR_WAIT_STATES "Stanja čekanje:"
#define STR_MB "MB"
#define STR_MEMORY "Memorija:"
#define STR_TIME_SYNC "Vremenska sinkronizacija"
#define STR_DISABLED "Deaktivirano"
#define STR_ENABLED_LOCAL "Uključeno (lokalno vrijeme)"
#define STR_ENABLED_UTC "Uključeno (UTC)"
#define STR_DYNAREC "Dinamički rekompilator"
#define STR_VIDEO "Video kartica:"
#define STR_VOODOO "Voodoo Graphics"
#define STR_MOUSE "Miš:"
#define STR_JOYSTICK "Joystick:"
#define STR_JOY1 "Joystick 1..."
#define STR_JOY2 "Joystick 2..."
#define STR_JOY3 "Joystick 3..."
#define STR_JOY4 "Joystick 4..."
#define STR_SOUND "Sound kartica:"
#define STR_MIDI "MIDI Out uređaj:"
#define STR_MIDI_IN "MIDI In uređaj:"
#define STR_MPU401 "Samostalni MPU-401 uređaj"
#define STR_SSI "Innovation SSI-2001"
#define STR_CMS "CMS / Game Blaster"
#define STR_GUS "Gravis Ultrasound"
#define STR_FLOAT "Koristi FLOAT32 zvuk"
#define STR_NET_TYPE "Tip mreže:"
#define STR_PCAP "PCap uređaj:"
#define STR_NET "Mrežni adapter:"
#define STR_LPT1 "LPT1 uređaj:"
#define STR_LPT2 "LPT2 uređaj:"
#define STR_LPT3 "LPT3 uređaj:"
#define STR_SERIAL1 "Serijski port 1"
#define STR_SERIAL2 "Serijski port 2"
#define STR_SERIAL3 "Serijski port 3"
#define STR_SERIAL4 "Serijski port 4"
#define STR_PARALLEL1 "Paralelni priključak 1"
#define STR_PARALLEL2 "Paralelni priključak 2"
#define STR_PARALLEL3 "Paralelni priključak 3"
#define STR_HDC "Kontroler tvrdog diska:"
#define STR_FDC "Kontroler diskete:"
#define STR_IDE_TER "Tercijarni IDE kontroler"
#define STR_IDE_QUA "Kvaternarni IDE kontroler"
#define STR_SCSI "SCSI"
#define STR_SCSI_1 "Kontroler 1:"
#define STR_SCSI_2 "Kontroler 2:"
#define STR_SCSI_3 "Kontroler 3:"
#define STR_SCSI_4 "Kontroler 4:"
#define STR_CASSETTE "Audio kaseta"
#define STR_HDD "Tvrdi diskovi:"
#define STR_NEW "&Novo..."
#define STR_EXISTING "&Postojeći..."
#define STR_REMOVE "&Ukloniti"
#define STR_BUS "Bus:"
#define STR_CHANNEL "Kanal:"
#define STR_ID "ID:"
#define STR_SPECIFY "&Izaberi..."
#define STR_SECTORS "Sektori:"
#define STR_HEADS "Glave:"
#define STR_CYLS "Cilindri:"
#define STR_SIZE_MB "Veličina (MB):"
#define STR_TYPE "Tip:"
#define STR_IMG_FORMAT "Format image daoteke:"
#define STR_BLOCK_SIZE "Veličina image daoteke:"
#define STR_FLOPPY_DRIVES "Floppy drives:"
#define STR_TURBO "Turbo timingovi"
#define STR_CHECKBPB "Provjerite BPB"
#define STR_CDROM_DRIVES "CD-ROM pogoni:"
#define STR_MO_DRIVES "MO pogoni:"
#define STR_ZIP_DRIVES "ZIP pogoni:"
#define STR_250 "ZIP 250"
#define STR_ISARTC "ISA RTC:"
#define STR_ISAMEM "ISA proširenje memorije"
#define STR_ISAMEM_1 "Kartica 1:"
#define STR_ISAMEM_2 "Kartica 2:"
#define STR_ISAMEM_3 "Kartica 3:"
#define STR_ISAMEM_4 "Kartica 4:"
#define STR_BUGGER "ISABugger uređaj"
#define STR_POSTCARD "POST kartica"
#define FONT_SIZE 9
#define FONT_NAME "Segoe UI"
#include "dialogs.rc"
/////////////////////////////////////////////////////////////////////////////
//
// String Table
//
STRINGTABLE DISCARDABLE
BEGIN
2048 "86Box"
IDS_2049 "Greška"
IDS_2050 "Fatalna greška"
IDS_2051 "<reserved>"
IDS_2052 "Pritisnite CTRL+ALT+PAGE DOWN za povratak u prozorski način rada."
IDS_2053 "Brzina"
IDS_2054 "ZIP %03i %i (%s): %ls"
IDS_2055 "ZIP image daoteke (*.IM?;*.ZDI)\0*.IM?;*.ZDI\0"
IDS_2056 "86Box could not find any usable ROM images.\n\nPlease <a href=""https://github.com/86Box/roms/releases/latest"">download</a> a ROM set and extract it into the ""roms"" directory."
IDS_2057 "(prazno)"
IDS_2058 "ZIP image daoteke (*.IM?;*.ZDI)\0*.IM?;*.ZDI\0Svi daoteke (*.*)\0*.*\0"
IDS_2059 "Turbo"
IDS_2060 "Uključeno"
IDS_2061 "Isključeno"
IDS_2062 "Svi image daoteke (*.86F;*.DSK;*.FLP;*.IM?;*.*FD?)\0*.86F;*.DSK;*.FLP;*.IM?;*.*FD?\0Bazni sektorni image daoteke (*.DSK;*.FLP;*.IM?;*.*FD?)\0*.DSK;*.FLP;*.IM?;*.IMG;*.*FD?\0Površne image daoteke (*.86F)\0*.86F\0"
IDS_2063 "Računalo ""%hs"" nije dostupan jer nedostaju ROM-ovi u mapu roms/machines. Prebacivanje na raspoloživi računalo."
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_2064 "Video kartica ""%hs"" nije dostupna jer nedostaju ROM-ovi u mapu roms/video. Prebacivanje na dostupnu video karticu."
IDS_2065 "Računalo"
IDS_2066 "Video"
IDS_2067 "Ulazni uređaji"
IDS_2068 "Zvuk"
IDS_2069 "Mreža"
IDS_2070 "Priključci (COM & LPT)"
IDS_2071 "Kontroleri za diskovi"
IDS_2072 "Tvrdi diskovi"
IDS_2073 "Floppy & CD-ROM pogoni"
IDS_2074 "Ostali uklonjivi uređaji"
IDS_2075 "Ostali periferni uređaji"
IDS_2076 "Površne image daoteke (*.86F)\0*.86F\0"
IDS_2077 "Kliknite za snimanje miša"
IDS_2078 "Pritisnite F8+F12 za otpuštanje miša"
IDS_2079 "Pritisnite F8+F12 ili srednji gumb za otpuštanje miša"
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_2080 "Nije moguće inicijalizirati FluidSynth"
IDS_2081 "Bus"
IDS_2082 "Daoteka"
IDS_2083 "C"
IDS_2084 "G"
IDS_2085 "S"
IDS_2086 "MB"
IDS_2087 "Provjeri BPB"
IDS_2088 "KB"
IDS_2089 "Nije moguće inicijalizirati videorenderer."
IDS_2090 "Standard"
IDS_2091 "%i stanja čekanja"
IDS_2092 "Tip"
IDS_2093 "Postavljanje PCap-a nije uspjelo"
IDS_2094 "Nema PCap uređaja"
IDS_2095 "Nevažeći PCap uređaj"
IDS_2096 "Standardni joystick(e) s 2 tipke"
IDS_2097 "Standardni joystick s 4 tipke"
IDS_2098 "Standardni joystick s 6 tipke"
IDS_2099 "Standardni joystick s 6 tipke"
IDS_2100 "CH Flightstick Pro"
IDS_2101 "Microsoft SideWinder Pad"
IDS_2102 "Thrustmaster Flight Control System"
IDS_2103 "Nikakve"
IDS_2104 "Nije moguće učitati akceleratore tipkovnice."
IDS_2105 "Nije moguće registrirati neobrađeni unos."
IDS_2106 "%u"
IDS_2107 "%u MB (CHS: %i, %i, %i)"
IDS_2108 "Disketa %i (%s): %ls"
IDS_2109 "Svi image daoteke (*.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\0Napredne sektorske image daoteke (*.IMD;*.JSON;*.TD0)\0*.IMD;*.JSON;*.TD0\0Bazni sektorni image daoteke (*.0??;*.1??;*.??0;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.XDF;*.*FD?)\0*.0??;*.1??;*.??0;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.XDF;*.*FD?\0Flux image daoteke (*.FDI)\0*.FDI\0Površne image daoteke (*.86F;*.MFM)\0*.86F;*.MFM\0Svi daoteke (*.*)\0*.*\0"
IDS_2110 "Nije moguće inicijalizirati FreeType"
IDS_2111 "Nije moguće inicijalizirati SDL, SDL2.dll je potrebno"
IDS_2112 "Jeste li sigurni da želite hard resetirati emulirano računalo?"
IDS_2113 "Jeste li sigurni da želite izaći iz 86Boxa?"
IDS_2114 "Nije moguće inicijalizirati Ghostscript"
IDS_2115 "MO %i (%ls): %ls"
IDS_2116 "Image daoteke za MO diskovi (*.IM?;*.MDI)\0*.IM?;*.MDI\0Svi daoteke (*.*)\0*.*\0"
IDS_2117 "Dobrodošli u 86Box!"
IDS_2118 "Interni kontroler"
IDS_2119 "Izlazi"
IDS_2120 "Nisu pronađeni ROM daoteke"
IDS_2121 "Želite li spremiti postavke?"
IDS_2122 "Ovo će napraviti hard resetiranje emuliranog računala."
IDS_2123 "Spremi"
IDS_2124 "O 86Box"
IDS_2125 "86Box verzija " EMU_VERSION
IDS_2126 "Emulator starih računala\n\nAutori: Sarah Walker, Miran Grca, Fred N. van Kempen (waltje), SA1988, Tiseno100, reenigne, leilei, JohnElliott, greatpsycho, i drugi.\n\nPreveo: dob205\n\nObjavljeno pod GNU Općom javnom licencom, verzija 2 ili kasnije. Vidi LICENSE za više informacije."
IDS_2127 "OK"
IDS_2128 "Hardver nije dostupan"
#ifdef _WIN32
#define LIB_NAME_PCAP "WinPcap"
#else
#define LIB_NAME_PCAP "libpcap"
#endif
IDS_2129 "Provjerite je li " LIB_NAME_PCAP " instaliran i jeste li na " LIB_NAME_PCAP "-kompatibilnoj mrežnoj vezi."
IDS_2130 "Nevažeća konfiguracija"
#ifdef _WIN32
#define LIB_NAME_FREETYPE "freetype.dll"
#else
#define LIB_NAME_FREETYPE "libfreetype"
#endif
IDS_2131 LIB_NAME_FREETYPE " je potrebno za emuliranje ESC/P pisača."
#ifdef _WIN32
#define LIB_NAME_GS "gsdll32.dll"
#else
#define LIB_NAME_GS "libgs"
#endif
IDS_2132 LIB_NAME_GS " je potrebno za automatsku konverziju PostScript daoteke u PDF daoteke.\n\nSvi dokumenti poslani na generički PostScript pisač bit će spremljeni kao PostScript (.ps) datoteke."
#ifdef _WIN32
#define LIB_NAME_FLUIDSYNTH "libfluidsynth.dll"
#else
#define LIB_NAME_FLUIDSYNTH "libfluidsynth"
#endif
IDS_2133 LIB_NAME_FLUIDSYNTH " je potrebno za FluidSynth MIDI izlaz."
IDS_2134 "Ulazak u način cijelog zaslona"
IDS_2135 "Ne pokazi više ovu poruku"
IDS_2136 "Ne izlazi"
IDS_2137 "Resetiraj"
IDS_2138 "Ne resetiraj"
IDS_2139 "Image daoteke za MO diskovi (*.IM?;*.MDI)\0*.IM?;*.MDI\0Svi daoteke (*.*)\0*.*\0"
IDS_2140 "Image daoteke za CD-ROM diskovi (*.ISO;*.CUE)\0*.ISO;*.CUE\0Svi daoteke (*.*)\0*.*\0"
IDS_2141 "%hs Konfiguracija Uređaja"
IDS_2142 "Monitor u stanju mirovanja"
IDS_2143 "OpenGL shaderi (*.GLSL)\0*.GLSL\0Svi daoteke (*.*)\0*.*\0"
IDS_2144 "OpenGL opcije"
IDS_2145 "Učitavate nepodržanu konfiguraciju"
IDS_2146 "Filtriranje tipa CPU-a na temelju odabranog stroja onemogućeno je za ovaj emuliranog računalo.\n\nOvo omogućuje odabir CPU-a koji inače nije kompatibilan s odabranog računalom. Međutim, možete naići na nekompatibilnosti s BIOS-om uređaja ili drugim softverom.\n\nOmogućavanje ove postavke nije službeno podržano i sva prijava o greškama mogu biti zatvorena kao ""invalid""."
IDS_2147 "Nastavi"
IDS_2148 "Audio kasete: %s"
IDS_2149 "Image daoteke za audio kasete (*.PCM;*.RAW;*.WAV;*.CAS)\0*.PCM;*.RAW;*.WAV;*.CAS\0Svi daoteke (*.*)\0*.*\0"
IDS_2150 "Kaseta %i: %ls"
IDS_2151 "Image daoteke za kasete (*.A;*.B;*.JRC)\0*.A;*.B;*.JRC\0Svi daoteke (*.*)\0*.*\0"
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_4096 "Tvrdi disk (%s)"
IDS_4097 "%01i:%01i"
IDS_4098 "%01i"
IDS_4099 "MFM/RLL ili ESDI CD-ROM drives nisu nikada postojali"
IDS_4100 "Prilagođeno..."
IDS_4101 "Prilagođeno (veliko)..."
IDS_4102 "Dodajte novi tvrdi disk"
IDS_4103 "Dodajte postojeći tvrdi disk"
IDS_4104 "HDI disk image daoteke ne mogu biti veće od 4 GB."
IDS_4105 "Image daoteke tvrdog diska ne mogu biti veće od 127 GB."
IDS_4106 "Image daoteke za tvrde diskove (*.HD?;*.IM?;*.VHD)\0*.HD?;*.IM?;*.VHD\0Svi daoteke (*.*)\0*.*\0"
IDS_4107 "Nije moguće pročitati datoteku"
IDS_4108 "Nije moguće napisati datoteku"
IDS_4109 "HDI ili HDX image daoteke s veličinom sektora koja nije 512 kB nisu podržane."
IDS_4110 "USB nije još podržano"
IDS_4111 "Image daoteka diska već postoji"
IDS_4112 "Molimo unesite važeći naziv datoteke."
IDS_4113 "Image diska je stvorena"
IDS_4114 "Provjerite je li postoji datoteka i je li je čitljiva."
IDS_4115 "Provjerite je li se datoteka sprema u mapu s dopuštenjima za pisanje."
IDS_4116 "Image diska je prevelika"
IDS_4117 "Ne zaboravite particionirati i formatirati novostvoreni tvrdi disk."
IDS_4118 "Odabrana datoteka bit će prebrisana. Jeste li sigurni da želite koristiti ovu daoteku?"
IDS_4119 "Nepodržana image daoteka diska"
IDS_4120 "Prepiši"
IDS_4121 "Ne prepiši"
IDS_4122 "Image daoteka neobrađenih podataka (.img)"
IDS_4123 "HDI image daoteka (.hdi)"
IDS_4124 "HDX image daoteka (.hdx)"
IDS_4125 "VHD fiksne veličine (.vhd)"
IDS_4126 "VHD dinamičke veličine (.vhd)"
IDS_4127 "Različiti VHD (.vhd)"
IDS_4128 "Veliki blokovi (2 MB)"
IDS_4129 "Mali blokovi (512 KB)"
IDS_4130 "VHD image daoteke (*.VHD)\0*.VHD\0Svi daoteke (*.*)\0*.*\0"
IDS_4131 "Izaberi matični VHD"
IDS_4132 "To bi moglo značiti da je matična image daoteka promijenjena nakon što je stvorena različita image daoteka.\n\nTo se također može dogoditi ako su image datoteke premještene ili kopirane, ili greška u programu koji je stvorio ovaj disk.\n\nŽelite li popraviti vremenske oznake?"
IDS_4133 "Vremenske ozanke matične i poređenog diska ne odgovaraju."
IDS_4134 "Nisam mogao popraviti vremensku oznaku VHDa."
IDS_4135 "%01i:%02i"
IDS_4352 "MFM/RLL"
IDS_4353 "XTA"
IDS_4354 "ESDI"
IDS_4355 "IDE"
IDS_4356 "ATAPI"
IDS_4357 "SCSI"
IDS_4608 "MFM/RLL (%01i:%01i)"
IDS_4609 "XTA (%01i:%01i)"
IDS_4610 "ESDI (%01i:%01i)"
IDS_4611 "IDE (%01i:%01i)"
IDS_4612 "ATAPI (%01i:%01i)"
IDS_4613 "SCSI (%01i:%02i)"
IDS_5120 "CD-ROM %i (%s): %s"
IDS_5376 "Deaktivirano"
IDS_5381 "ATAPI"
IDS_5382 "SCSI"
IDS_5632 "Deaktivirano"
IDS_5637 "ATAPI (%01i:%01i)"
IDS_5638 "SCSI (%01i:%02i)"
IDS_5888 "160 kB"
IDS_5889 "180 kB"
IDS_5890 "320 kB"
IDS_5891 "360 kB"
IDS_5892 "640 kB"
IDS_5893 "720 kB"
IDS_5894 "1,2 MB"
IDS_5895 "1,25 MB"
IDS_5896 "1,44 MB"
IDS_5897 "DMF (1024 clusteri)"
IDS_5898 "DMF (2048 clusteri)"
IDS_5899 "2,88 MB"
IDS_5900 "ZIP 100"
IDS_5901 "ZIP 250"
IDS_5902 "3,5"" 128Mb M.O. (ISO 10090)"
IDS_5903 "3,5"" 230Mb M.O. (ISO 13963)"
IDS_5904 "3,5"" 540Mb M.O. (ISO 15498)"
IDS_5905 "3,5"" 640Mb M.O. (ISO 15498)"
IDS_5906 "3,5"" 1.3Gb M.O. (GigaMO)"
IDS_5907 "3,5"" 2.3Gb M.O. (GigaMO 2)"
IDS_5908 "5,25"" 600Mb M.O."
IDS_5909 "5,25"" 650Mb M.O."
IDS_5910 "5,25"" 1Gb M.O."
IDS_5911 "5,25"" 1.3Gb M.O."
IDS_6144 "Savršen broj okretanja"
IDS_6145 "1%% ispod savršenog broja okretaja"
IDS_6146 "1,5%% ispod savršenog broja okretaja"
IDS_6147 "2%% ispod savršenog broja okretaja"
IDS_7168 "(Standard operativnog sustava)"
END
#define IDS_LANG_ENUS IDS_7168
// Croatian (hr-HR) resources
/////////////////////////////////////////////////////////////////////////////

View File

@@ -104,7 +104,7 @@ BEGIN
MENUITEM "&Beállítások...", IDM_CONFIG
MENUITEM "Állapotsori ikonok &frissítése", IDM_UPDATE_ICONS
MENUITEM SEPARATOR
MENUITEM "A &program nyelvének módosítása...", IDM_VID_PROG_SETT
MENUITEM "Program&beállítások...", IDM_VID_PROG_SETT
# ifdef USE_DISCORD
MENUITEM SEPARATOR
MENUITEM "&Discord integráció engedélyezése", IDM_DISCORD
@@ -276,7 +276,7 @@ END
// Dialog
//
#define STR_PROG_SETT "Nyelvi beállítások"
#define STR_PROG_SETT "Programbeállítások"
#define STR_SND_GAIN "Hangerőszabályzó"
#define STR_NEW_FLOPPY "Új képfájl létrehozása"
#define STR_CONFIG "86Box beállítások"
@@ -287,6 +287,7 @@ END
#define STR_GLOBAL "Beállítások mentése &globális alapértékként"
#define STR_DEFAULT "&Alapértelmezett"
#define STR_LANGUAGE "Nyelv:"
#define STR_ICONSET "Ikonkészlet:"
#define STR_GAIN "Hangerő"
@@ -394,6 +395,9 @@ END
#define STR_BUGGER "ISABugger eszköz"
#define STR_POSTCARD "POST kártya"
#define FONT_SIZE 9
#define FONT_NAME "Segoe UI"
#include "dialogs.rc"
/////////////////////////////////////////////////////////////////////////////
@@ -489,7 +493,7 @@ BEGIN
IDS_2123 "Mentés"
IDS_2124 "A 86Box névjegye"
IDS_2125 "86Box v" EMU_VERSION
IDS_2126 "Régi számítógépek emulátora\n\nFejlesztők: Sarah Walker, Miran Grca, Fred N. van Kempen (waltje), SA1988, MoochMcGee, reenigne, leilei, JohnElliott, greatpsycho, and others.\n\nFordította: Laci bá'\n\nMegjelent a GNU General Public License v2 vagy újabb alatt. További információért lásd a LICENSE fájlt."
IDS_2126 "Régi számítógépek emulátora\n\nFejlesztők: Sarah Walker, Miran Grca, Fred N. van Kempen (waltje), SA1988, Tiseno100, reenigne, leilei, JohnElliott, greatpsycho, and others.\n\nFordította: Laci bá'\n\nMegjelent a GNU General Public License v2 vagy újabb alatt. További információért lásd a LICENSE fájlt."
IDS_2127 "OK"
IDS_2128 "Hardver nem elérhető"
#ifdef _WIN32

644
src/win/languages/it-IT.rc Normal file
View File

@@ -0,0 +1,644 @@
////////////////////////////////////////////////////////////////////////////
// Italian (IT-it) resources
#ifdef _WIN32
LANGUAGE LANG_ITALIAN, SUBLANG_ITALIAN
#pragma code_page(65001)
#endif //_WIN32
#define explorerdotexe
/////////////////////////////////////////////////////////////////////////////
//
// Menu
//
MainMenu MENU DISCARDABLE
BEGIN
POPUP "&Azione"
BEGIN
MENUITEM "&Tastiera richiede la cattura", IDM_ACTION_KBD_REQ_CAPTURE
MENUITEM "&CTRL destro è ALT sinistro", IDM_ACTION_RCTRL_IS_LALT
MENUITEM SEPARATOR
MENUITEM "&Riavvia...", IDM_ACTION_HRESET
MENUITEM "&Ctrl+Alt+Del\tCtrl+F12", IDM_ACTION_RESET_CAD
MENUITEM SEPARATOR
MENUITEM "Ctrl+Alt+&Esc", IDM_ACTION_CTRL_ALT_ESC
MENUITEM SEPARATOR
MENUITEM "&Pausa", IDM_ACTION_PAUSE
MENUITEM SEPARATOR
MENUITEM "E&sci...", IDM_ACTION_EXIT
END
POPUP "&Visualizza"
BEGIN
MENUITEM "&Nascondi barra di stato", IDM_VID_HIDE_STATUS_BAR
MENUITEM SEPARATOR
MENUITEM "&Finestra ridimensionabile", IDM_VID_RESIZE
MENUITEM "R&icorda dimensioni e posizione", IDM_VID_REMEMBER
MENUITEM SEPARATOR
POPUP "Re&nderer"
BEGIN
MENUITEM "&SDL (Software)", IDM_VID_SDL_SW
MENUITEM "SDL (&Hardware)", IDM_VID_SDL_HW
MENUITEM "SDL (&OpenGL)", IDM_VID_SDL_OPENGL
#if defined(DEV_BRANCH) && defined(USE_OPENGL)
MENUITEM "Open&GL (3.3 Core)", IDM_VID_OPENGL_CORE
#endif
#ifdef USE_VNC
MENUITEM "&VNC", IDM_VID_VNC
#endif
END
MENUITEM SEPARATOR
MENUITEM "Specifica dimensioni...", IDM_VID_SPECIFY_DIM
MENUITEM "F&orza display 4:3", IDM_VID_FORCE43
POPUP "&Fattore scalare della finestra"
BEGIN
MENUITEM "&0.5x", IDM_VID_SCALE_1X
MENUITEM "&1x", IDM_VID_SCALE_2X
MENUITEM "1.&5x", IDM_VID_SCALE_3X
MENUITEM "&2x", IDM_VID_SCALE_4X
END
POPUP "Metodo filtro"
BEGIN
MENUITEM "&Dal più vicino", IDM_VID_FILTER_NEAREST
MENUITEM "&Lineare", IDM_VID_FILTER_LINEAR
END
MENUITEM "Scala Hi&DPI", IDM_VID_HIDPI
MENUITEM SEPARATOR
MENUITEM "&Schermo intero\tCtrl+Alt+PageUP", IDM_VID_FULLSCREEN
POPUP "Modalità adattamento &schermo intero"
BEGIN
MENUITEM "&Adatta a schermo intero", IDM_VID_FS_FULL
MENUITEM "&4:3", IDM_VID_FS_43
MENUITEM "&Pixel quadrati (mantiene l'aspetto)", IDM_VID_FS_KEEPRATIO
MENUITEM "&Scala intera", IDM_VID_FS_INT
END
POPUP "Impostazioni E&GA/(S)VGA"
BEGIN
MENUITEM "&Invertire monitor VGA", IDM_VID_INVERT
POPUP "Schermi VGA &"
BEGIN
MENUITEM "RGB &Color", IDM_VID_GRAY_RGB
MENUITEM "&RGB Monocroma", IDM_VID_GRAY_MONO
MENUITEM "&Monitor ambra", IDM_VID_GRAY_AMBER
MENUITEM "&Monitor verde", IDM_VID_GRAY_GREEN
MENUITEM "&Monitor bianco", IDM_VID_GRAY_WHITE
END
POPUP "Conversione &scala grigia"
BEGIN
MENUITEM "BT&601 (NTSC/PAL)", IDM_VID_GRAYCT_601
MENUITEM "BT&709 (HDTV)", IDM_VID_GRAYCT_709
MENUITEM "&AMedia", IDM_VID_GRAYCT_AVE
END
END
MENUITEM SEPARATOR
MENUITEM "Sovrascansione CGA/PCjr/Tandy/E&GA/(S)VGA", IDM_VID_OVERSCAN
MENUITEM "Cambia il contrasto per &display monocromatici", IDM_VID_CGACON
END
MENUITEM "&Dispositivi", IDM_MEDIA
POPUP "&Strumenti"
BEGIN
MENUITEM "&Impostazioni...", IDM_CONFIG
MENUITEM "&Aggiorna icone della barra di stato", IDM_UPDATE_ICONS
MENUITEM SEPARATOR
MENUITEM "Change program &settings...", IDM_VID_PROG_SETT
# ifdef USE_DISCORD
MENUITEM SEPARATOR
MENUITEM "Abilita &integrazione Discord", IDM_DISCORD
# endif
MENUITEM SEPARATOR
MENUITEM "Cattura schermata\tCtrl+F11", IDM_ACTION_SCREENSHOT
MENUITEM SEPARATOR
MENUITEM "Guadagno &suono...", IDM_SND_GAIN
#ifdef MTR_ENABLED
MENUITEM SEPARATOR
MENUITEM "Inizia traccia\tCtrl+T", IDM_ACTION_BEGIN_TRACE
MENUITEM "Ferma traccia\tCtrl+T", IDM_ACTION_END_TRACE
#endif
END
#if defined(ENABLE_LOG_TOGGLES) || defined(ENABLE_LOG_COMMANDS)
POPUP "&Registra"
BEGIN
# ifdef ENABLE_BUSLOGIC_LOG
MENUITEM "Attiva registrazione di BusLogic\tCtrl+F4", IDM_LOG_BUSLOGIC
# endif
# ifdef ENABLE_CDROM_LOG
MENUITEM "Attiva registrazione del CD-ROM\tCtrl+F5", IDM_LOG_CDROM
# endif
# ifdef ENABLE_D86F_LOG
MENUITEM "Attiva registrazione del floppy (86F)\tCtrl+F6", IDM_LOG_D86F
# endif
# ifdef ENABLE_FDC_LOG
MENUITEM "Attiva registrazione del controller floppy\tCtrl+F7", IDM_LOG_FDC
# endif
# ifdef ENABLE_IDE_LOG
MENUITEM "Attiva registrazione di IDE\tCtrl+F8", IDM_LOG_IDE
# endif
# ifdef ENABLE_SERIAL_LOG
MENUITEM "Attiva registrazione della porta seriale\tCtrl+F3", IDM_LOG_SERIAL
# endif
# ifdef ENABLE_NIC_LOG
MENUITEM "Attiva registrazione della rete\tCtrl+F9", IDM_LOG_NIC
# endif
# ifdef ENABLE_LOG_COMMANDS
# ifdef ENABLE_LOG_TOGGLES
MENUITEM SEPARATOR
# endif
# ifdef ENABLE_LOG_BREAKPOINT
MENUITEM "&Punto di interruzione del registro\tCtrl+F10", IDM_LOG_BREAKPOINT
# endif
# ifdef ENABLE_VRAM_DUMP
MENUITEM "Scarica &la RAM video\tCtrl+F1", IDM_DUMP_VRAM
# endif
# endif
END
#endif
POPUP "&Aiuto"
BEGIN
MENUITEM "&Documentazione...", IDM_DOCS
MENUITEM "&Informazioni su 86Box...", IDM_ABOUT
END
END
StatusBarMenu MENU DISCARDABLE
BEGIN
MENUITEM SEPARATOR
END
CassetteSubmenu MENU DISCARDABLE
BEGIN
POPUP ""
BEGIN
MENUITEM "&Nuova immagine...", IDM_CASSETTE_IMAGE_NEW
MENUITEM SEPARATOR
MENUITEM "&Immagine esistente...", IDM_CASSETTE_IMAGE_EXISTING
MENUITEM "Immagine esistente (&protezione contro scrittura)...", IDM_CASSETTE_IMAGE_EXISTING_WP
MENUITEM SEPARATOR
MENUITEM "&Registra", IDM_CASSETTE_RECORD
MENUITEM "R&iproduci", IDM_CASSETTE_PLAY
MENUITEM "Ri&avvolgi all'inizio", IDM_CASSETTE_REWIND
MENUITEM "A&vanti veloce alla fine", IDM_CASSETTE_FAST_FORWARD
MENUITEM SEPARATOR
MENUITEM "&Espelli", IDM_CASSETTE_EJECT
END
END
CartridgeSubmenu MENU DISCARDABLE
BEGIN
POPUP ""
BEGIN
MENUITEM "&Immagine...", IDM_CARTRIDGE_IMAGE
MENUITEM SEPARATOR
MENUITEM "&Espelli", IDM_CARTRIDGE_EJECT
END
END
FloppySubmenu MENU DISCARDABLE
BEGIN
POPUP ""
BEGIN
MENUITEM "&Nuova immagine...", IDM_FLOPPY_IMAGE_NEW
MENUITEM SEPARATOR
MENUITEM "&Immagine esistente...", IDM_FLOPPY_IMAGE_EXISTING
MENUITEM "Immagine esistente (&protezione contro scrittura)...", IDM_FLOPPY_IMAGE_EXISTING_WP
MENUITEM SEPARATOR
MENUITEM "E&sporta in 86F...", IDM_FLOPPY_EXPORT_TO_86F
MENUITEM SEPARATOR
MENUITEM "&Espelli", IDM_FLOPPY_EJECT
END
END
CdromSubmenu MENU DISCARDABLE
BEGIN
POPUP ""
BEGIN
MENUITEM "&Muto", IDM_CDROM_MUTE
MENUITEM SEPARATOR
MENUITEM "&Espelli", IDM_CDROM_EMPTY
MENUITEM "&Ricarica l'immagine precedente", IDM_CDROM_RELOAD
MENUITEM SEPARATOR
MENUITEM "&Immagine", IDM_CDROM_IMAGE
END
END
ZIPSubmenu MENU DISCARDABLE
BEGIN
POPUP ""
BEGIN
MENUITEM "&Nuova immagine...", IDM_ZIP_IMAGE_NEW
MENUITEM SEPARATOR
MENUITEM "&Immagine esistente...", IDM_ZIP_IMAGE_EXISTING
MENUITEM "Immagine esistente (&protezione contro scrittura)...", IDM_ZIP_IMAGE_EXISTING_WP
MENUITEM SEPARATOR
MENUITEM "&Espelli", IDM_ZIP_EJECT
MENUITEM "&Ricarica l'immagine precedente", IDM_ZIP_RELOAD
END
END
MOSubmenu MENU DISCARDABLE
BEGIN
POPUP ""
BEGIN
MENUITEM "&Nuova immagine...", IDM_MO_IMAGE_NEW
MENUITEM SEPARATOR
MENUITEM "&Immagine esistente...", IDM_MO_IMAGE_EXISTING
MENUITEM "Immagine esistente (&protezione contro scrittura)...", IDM_MO_IMAGE_EXISTING_WP
MENUITEM SEPARATOR
MENUITEM "&Espelli", IDM_MO_EJECT
MENUITEM "&Ricarica l'immagine precedente", IDM_MO_RELOAD
END
END
#if defined(DEV_BRANCH) && defined(USE_OPENGL)
VidGLSubMenu MENU DISCARDABLE
BEGIN
POPUP "Imposta obiettivo &fotogrammi"
BEGIN
MENUITEM "&Sincronizza col video", 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
END
MENUITEM "&VSync", IDM_VID_GL_VSYNC
MENUITEM "&Seleziona shader...", IDM_VID_GL_SHADER
MENUITEM "&Rimuovi shader", IDM_VID_GL_NOSHADER
END
#endif
/////////////////////////////////////////////////////////////////////////////
//
// Dialog
//
#define STR_PROG_SETT "Program Settings"
#define STR_SND_GAIN "Guadagno del suono"
#define STR_NEW_FLOPPY "Nuova immagine"
#define STR_CONFIG "Impostazioni di 86Box"
#define STR_SPECIFY_DIM "Specifica dimensioni della finestra principale"
#define STR_OK "OK"
#define STR_CANCEL "Annulla"
#define STR_GLOBAL "Salva queste impostazioni come &predefinite globali"
#define STR_DEFAULT "&Predefinito"
#define STR_LANGUAGE "Lingua:"
#define STR_ICONSET "Pacchetto di icone:"
#define STR_GAIN "Guadagno"
#define STR_FILE_NAME "Nome file:"
#define STR_DISK_SIZE "Dimensioni disco:"
#define STR_RPM_MODE "Modalità RPM:"
#define STR_PROGRESS "Progresso:"
#define STR_WIDTH "Larghezza:"
#define STR_HEIGHT "Altezza:"
#define STR_LOCK_TO_SIZE "Blocca in queste dimensioni"
#define STR_MACHINE_TYPE "Tipo di macchina:"
#define STR_MACHINE "Macchina:"
#define STR_CONFIGURE "Configura"
#define STR_CPU_TYPE "Tipo del CPU:"
#define STR_SPEED "Veloc.:"
#define STR_FPU "FPU:"
#define STR_WAIT_STATES "Stati di attesa:"
#define STR_MB "MB"
#define STR_MEMORY "Memoria:"
#define STR_TIME_SYNC "Sincronizzazione dell'ora"
#define STR_DISABLED "Disabilitata"
#define STR_ENABLED_LOCAL "Abilitata (ora locale)"
#define STR_ENABLED_UTC "Abilitata (UTC)"
#define STR_DYNAREC "Ricompilatore dinamico"
#define STR_VIDEO "Video:"
#define STR_VOODOO "Grafica Voodoo"
#define STR_MOUSE "Mouse:"
#define STR_JOYSTICK "Joystick:"
#define STR_JOY1 "Joystick 1..."
#define STR_JOY2 "Joystick 2..."
#define STR_JOY3 "Joystick 3..."
#define STR_JOY4 "Joystick 4..."
#define STR_SOUND "Scheda audio:"
#define STR_MIDI "Uscita MIDI:"
#define STR_MIDI_IN "Entrata MIDI:"
#define STR_MPU401 "MPU-401 autonomo"
#define STR_SSI "Innovation SSI-2001"
#define STR_CMS "CMS / Game Blaster"
#define STR_GUS "Gravis Ultrasound"
#define STR_FLOAT "Usa suono FLOAT32"
#define STR_NET_TYPE "Tipo di rete:"
#define STR_PCAP "Dispositivo PCap:"
#define STR_NET "Scheda di rete:"
#define STR_LPT1 "Dispositivo LPT1:"
#define STR_LPT2 "Dispositivo LPT2:"
#define STR_LPT3 "Dispositivo LPT3:"
#define STR_SERIAL1 "Porta seriale 1"
#define STR_SERIAL2 "Porta seriale 2"
#define STR_SERIAL3 "Porta seriale 3"
#define STR_SERIAL4 "Porta seriale 4"
#define STR_PARALLEL1 "Porta parallela 1"
#define STR_PARALLEL2 "Porta parallela 2"
#define STR_PARALLEL3 "Porta parallela 3"
#define STR_HDC "Controller HD:"
#define STR_FDC "Controller FD:"
#define STR_IDE_TER "Controller IDE terziario"
#define STR_IDE_QUA "Controller IDE quaternario"
#define STR_SCSI "SCSI"
#define STR_SCSI_1 "Controller 1:"
#define STR_SCSI_2 "Controller 2:"
#define STR_SCSI_3 "Controller 3:"
#define STR_SCSI_4 "Controller 4:"
#define STR_CASSETTE "Cassetta"
#define STR_HDD "Hard disk:"
#define STR_NEW "&Nuovo..."
#define STR_EXISTING "&Esistente..."
#define STR_REMOVE "&Rimouvi"
#define STR_BUS "Bus:"
#define STR_CHANNEL "Canale:"
#define STR_ID "ID:"
#define STR_SPECIFY "&Specifica..."
#define STR_SECTORS "Settori:"
#define STR_HEADS "Testine:"
#define STR_CYLS "Cilindri:"
#define STR_SIZE_MB "Dimensioni (MB):"
#define STR_TYPE "Tipo:"
#define STR_IMG_FORMAT "Formato immagine:"
#define STR_BLOCK_SIZE "Dimensioni blocco:"
#define STR_FLOPPY_DRIVES "Unità floppy:"
#define STR_TURBO "Turbo"
#define STR_CHECKBPB "Verifica BPB"
#define STR_CDROM_DRIVES "Unità CD-ROM:"
#define STR_MO_DRIVES "Unità magneto-ottiche:"
#define STR_ZIP_DRIVES "Unità ZIP:"
#define STR_250 "ZIP 250"
#define STR_ISARTC "RTC ISA:"
#define STR_ISAMEM "Espansione memoria ISA"
#define STR_ISAMEM_1 "Scheda 1:"
#define STR_ISAMEM_2 "Scheda 2:"
#define STR_ISAMEM_3 "Scheda 3:"
#define STR_ISAMEM_4 "Scheda 4:"
#define STR_BUGGER "Dispositivo ISABugger"
#define STR_POSTCARD "Scheda POST"
#define FONT_SIZE 9
#define FONT_NAME "Segoe UI"
#include "dialogs.rc"
/////////////////////////////////////////////////////////////////////////////
//
// String Table
//
STRINGTABLE DISCARDABLE
BEGIN
2048 "86Box"
IDS_2049 "Errore"
IDS_2050 "Errore fatale"
IDS_2051 "<reserved>"
IDS_2052 "Usa CTRL+ALT+PAGE DOWN per tornare alla modalità finestra."
IDS_2053 "Velocità"
IDS_2054 "ZIP %03i %i (%s): %ls"
IDS_2055 "Immagini ZIP (*.IM?;*.ZDI)\0*.IM?;*.ZDI\0"
IDS_2056 "86Box non può trovare immagini ROM utilizzabili.\n\nPlease <a href=""https://github.com/86Box/roms/releases/latest"">download</a> a ROM set and extract it into the ""roms"" directory."
IDS_2057 "(empty)"
IDS_2058 "Immagini ZIP (*.IM?;*.ZDI)\0*.IM?;*.ZDI\0Tutti i file (*.*)\0*.*\0"
IDS_2059 "Turbo"
IDS_2060 "Acceso"
IDS_2061 "Spento"
IDS_2062 "Tutte le immagini (*.86F;*.DSK;*.FLP;*.IM?;*.*FD?)\0*.86F;*.DSK;*.FLP;*.IM?;*.*FD?\0Immagini di settori base (*.DSK;*.FLP;*.IM?;*.*FD?)\0*.DSK;*.FLP;*.IM?;*.IMG;*.*FD?\0Immagini di superficie (*.86F)\0*.86F\0"
IDS_2063 "La macchina ""%hs"" non è disponibile a causa di immagini ROM mancanti nella directory roms/machines. Cambiando ad una macchina disponibile."
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_2064 "La scheda video ""%hs"" non è disponibile a causa di immagini ROM mancanti nella directory roms/video. Cambiando ad una scheda video disponibile."
IDS_2065 "Macchina"
IDS_2066 "Schermo"
IDS_2067 "Dispositivi di entrata"
IDS_2068 "Audio"
IDS_2069 "Rete"
IDS_2070 "Porte (COM & LPT)"
IDS_2071 "Controller memoria"
IDS_2072 "Hard disk"
IDS_2073 "Unità CD-ROM e Floppy"
IDS_2074 "Altri dispositivi rimuovibili"
IDS_2075 "Altre periferiche"
IDS_2076 "Immagini di superficie (*.86F)\0*.86F\0"
IDS_2077 "Fare clic per catturare mouse"
IDS_2078 "Premi F8+F12 per rilasciare il mouse"
IDS_2079 "Premi F8+F12 o pulsante centrale per rilasciare il mouse"
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_2080 "Impossibile inizializzare FluidSynth"
IDS_2081 "Bus"
IDS_2082 "File"
IDS_2083 "C"
IDS_2084 "H"
IDS_2085 "S"
IDS_2086 "MB"
IDS_2087 "Verifica BPB"
IDS_2088 "KB"
IDS_2089 "Impossibile inizializzare il renderer video."
IDS_2090 "Predefinito"
IDS_2091 "%i stati d'attesa"
IDS_2092 "Tipo"
IDS_2093 "Impossibile impostare PCap"
IDS_2094 "Nessun dispositivo PCap trovato"
IDS_2095 "Dispositivo PCap invalido"
IDS_2096 "Joystick comune da 2 pulsanti"
IDS_2097 "Joystick comune da 4 pulsanti"
IDS_2098 "Joystick comune da 6 pulsanti"
IDS_2099 "Joystick comune da 8 pulsanti"
IDS_2100 "CH Flightstick Pro"
IDS_2101 "Microsoft SideWinder Pad"
IDS_2102 "Thrustmaster Flight Control System"
IDS_2103 "Nessuno"
IDS_2104 "Impossibile caricare gli acceleratori da tastiera."
IDS_2105 "Impossibile registrare input raw."
IDS_2106 "%u"
IDS_2107 "%u MB (CHS: %i, %i, %i)"
IDS_2108 "Floppy %i (%s): %ls"
IDS_2109 "Tutte le immagini (*.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\0Immagini da settori avanzati (*.IMD;*.JSON;*.TD0)\0*.IMD;*.JSON;*.TD0\0Imagini da settori basilari (*.0??;*.1??;*.??0;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.XDF;*.*FD?)\0*.0??;*.1??;*.??0;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.XDF;*.*FD?\0Immagini flusso (*.FDI)\0*.FDI\0Immagini da superficie (*.86F;*.MFM)\0*.86F;*.MFM\0Tutti i file (*.*)\0*.*\0"
IDS_2110 "Impossibile inizializzare FreeType"
IDS_2111 "Impossibile inizializzare SDL, SDL2.dll è necessario"
IDS_2112 "Sei sicuro di voler riavviare la macchina emulata?"
IDS_2113 "Sei sicuro di voler uscire da 86Box?"
IDS_2114 "Impossibile inizializzare Ghostscript"
IDS_2115 "MO %i (%ls): %ls"
IDS_2116 "Immagini MO (*.IM?;*.MDI)\0*.IM?;*.MDI\0Tutti i file (*.*)\0*.*\0"
IDS_2117 "Benvenuti in 86Box!"
IDS_2118 "Controller interno"
IDS_2119 "Esci"
IDS_2120 "Nessune immagini ROM trovate"
IDS_2121 "Vuole salvare queste impostazioni?"
IDS_2122 "Questo riavvierà la macchina emulata."
IDS_2123 "Salva"
IDS_2124 "Informazioni su 86Box"
IDS_2125 "86Box v" EMU_VERSION
IDS_2126 "Un emulatore di computer vecchi\n\nAutori: Sarah Walker, Miran Grca, Fred N. van Kempen (waltje), SA1988, Tiseno100, reenigne, leilei, JohnElliott, greatpsycho, and others.\n\nTradotto da: explorerdotexe\n\nRilasciato sotto la Licenza Pubblica GNU versione 2 o dopo. Vedi LICENSE per maggior informazioni."
IDS_2127 "OK"
IDS_2128 "Hardware non disponibile"
#ifdef _WIN32
#define LIB_NAME_PCAP "WinPcap"
#else
#define LIB_NAME_PCAP "libpcap"
#endif
IDS_2129 "Controlla se " LIB_NAME_PCAP " è installato e che tu sia connesso ad una connessione " LIB_NAME_PCAP " compatibile."
IDS_2130 "Configurazione invalida"
#ifdef _WIN32
#define LIB_NAME_FREETYPE "freetype.dll"
#else
#define LIB_NAME_FREETYPE "libfreetype"
#endif
IDS_2131 LIB_NAME_FREETYPE " è richesto per l'emuazione di stampanti ESC/P."
#ifdef _WIN32
#define LIB_NAME_GS "gsdll32.dll"
#else
#define LIB_NAME_GS "libgs"
#endif
IDS_2132 LIB_NAME_GS " è richiesto per la conversione automatica di file PostScript a file PDF.\n\nQualsiasi documento mandato alla stampante generica PostScript sarà salvato come file PostScript. (.ps)"
#ifdef _WIN32
#define LIB_NAME_FLUIDSYNTH "libfluidsynth.dll"
#else
#define LIB_NAME_FLUIDSYNTH "libfluidsynth"
#endif
IDS_2133 LIB_NAME_FLUIDSYNTH " è richiesto per l'output FluidSynth MIDI."
IDS_2134 "Entrando nella modalità schermo intero"
IDS_2135 "Non mostrare più questo messaggio"
IDS_2136 "Non uscire"
IDS_2137 "Riavvia"
IDS_2138 "Non riavviare"
IDS_2139 "Immagini MO (*.IM?;*.MDI)\0*.IM?;*.MDI\0Tutti i file (*.*)\0*.*\0"
IDS_2140 "Immagini CD-ROM (*.ISO;*.CUE)\0*.ISO;*.CUE\0Tutti i file (*.*)\0*.*\0"
IDS_2141 "Configurazione del dispositivo %hs"
IDS_2142 "Monitor in modalità riposo"
IDS_2143 "Shader OpenGL (*.GLSL)\0*.GLSL\0Tutti i file (*.*)\0*.*\0"
IDS_2144 "Impostazioni OpenGL"
IDS_2145 "Stai caricando una configurazione non supportata"
IDS_2146 "Il filtraggio della tipologia di CPU è disabilitato per la macchina selezionata.\n\nQuesto lo rende possibile scegliere un CPU che è altrimenti incompatibile con la macchina selezionata. Tuttavia, portresti incorrere in incompatibilità con il BIOS della macchina o altri programmi. \n\nL'abilitare di questa impostazione non è ufficialmente supportato e tutte le segnalazioni di errori saranno considerate invalide."
IDS_2147 "Continua"
IDS_2148 "Cassetta: %s"
IDS_2149 "Immagini cassetta (*.PCM;*.RAW;*.WAV;*.CAS)\0*.PCM;*.RAW;*.WAV;*.CAS\0Tutti i file (*.*)\0*.*\0"
IDS_2150 "Cartuccia %i: %ls"
IDS_2151 "Immagini cartuccia (*.A;*.B;*.JRC)\0*.A;*.B;*.JRC\0Tutti i file (*.*)\0*.*\0"
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_4096 "Hard disk (%s)"
IDS_4097 "%01i:%01i"
IDS_4098 "%01i"
IDS_4099 "Le unità CD-ROM MFM/RLL o ESDI non sono mai esistite."
IDS_4100 "Personalizzata..."
IDS_4101 "Personalizzata (grande)..."
IDS_4102 "Aggiungi un nuovo disco rigido"
IDS_4103 "Aggiungi un disco rigido esistente"
IDS_4104 "Le immagini HDI non possono essere più grandi di 4 GB."
IDS_4105 "Le immmagini disco non possono essere più grandi di 127 GB."
IDS_4106 "Immagini disco rigido (*.HD?;*.IM?;*.VHD)\0*.HD?;*.IM?;*.VHD\0Tutti i file (*.*)\0*.*\0"
IDS_4107 "Impossibile leggere il file"
IDS_4108 "Impossibile scrivere al file"
IDS_4109 "Le immagini HDI o HDX con settori di dimensioni diverse da 512 non sono supportati."
IDS_4110 "USB non è ancora supportato"
IDS_4111 "Immagine disco già esiste"
IDS_4112 "Specifica un nome file valido."
IDS_4113 "Immagine disco creata"
IDS_4114 "Controlla che il file esiste e che sia leggibile."
IDS_4115 "Controlla che il file viene salvato ad un percorso con diritti di scrittura"
IDS_4116 "Immagine disco troppo grande"
IDS_4117 "Ricordati di partizionare e formattare il disco appena creato."
IDS_4118 "Il file selezionato sarà sovrascritto, sei sicuro di volerlo usare?"
IDS_4119 "Immagine disco non supportata"
IDS_4120 "Sovrascrivi"
IDS_4121 "Non sovrascrivere"
IDS_4122 "Immagine raw (.img)"
IDS_4123 "Immagine HDI (.hdi)"
IDS_4124 "Immagine HDX (.hdx)"
IDS_4125 "VHD di dimensioni fisse (.vhd)"
IDS_4126 "VHD di dimensioni dinamiche (.vhd)"
IDS_4127 "VHD differenziato (.vhd)"
IDS_4128 "Blocchi larghi (2 MB)"
IDS_4129 "Blocchi piccoli (512 KB)"
IDS_4130 "File VHD (*.VHD)\0*.VHD\0Tutti i file (*.*)\0*.*\0"
IDS_4131 "Seleziona il VHD padre."
IDS_4132 "Questo potrebbe significare che l'immagine padre sia stata modificata dopo la creazione dell'immagine di differenziazione.\n\nPuò anche succedere se i file immagini sono stati spostati o copiati, o da un errore nel programma che ha creato questo disco.\n\nVuoi aggiustare le marcature di tempo?"
IDS_4133 "Le marcature di tempo padre e figlio non corrispondono"
IDS_4134 "Impossibile aggiustare marcature di tempo VHD."
IDS_4135 "%01i:%02i"
IDS_4352 "MFM/RLL"
IDS_4353 "XTA"
IDS_4354 "ESDI"
IDS_4355 "IDE"
IDS_4356 "ATAPI"
IDS_4357 "SCSI"
IDS_4608 "MFM/RLL (%01i:%01i)"
IDS_4609 "XTA (%01i:%01i)"
IDS_4610 "ESDI (%01i:%01i)"
IDS_4611 "IDE (%01i:%01i)"
IDS_4612 "ATAPI (%01i:%01i)"
IDS_4613 "SCSI (%01i:%02i)"
IDS_5120 "CD-ROM %i (%s): %s"
IDS_5376 "Disabilitato"
IDS_5381 "ATAPI"
IDS_5382 "SCSI"
IDS_5632 "Disabilitato"
IDS_5637 "ATAPI (%01i:%01i)"
IDS_5638 "SCSI (%01i:%02i)"
IDS_5888 "160 kB"
IDS_5889 "180 kB"
IDS_5890 "320 kB"
IDS_5891 "360 kB"
IDS_5892 "640 kB"
IDS_5893 "720 kB"
IDS_5894 "1.2 MB"
IDS_5895 "1.25 MB"
IDS_5896 "1.44 MB"
IDS_5897 "DMF (cluster 1024)"
IDS_5898 "DMF (cluster 2048)"
IDS_5899 "2.88 MB"
IDS_5900 "ZIP 100"
IDS_5901 "ZIP 250"
IDS_5902 "3.5"" 128Mb M.O. (ISO 10090)"
IDS_5903 "3.5"" 230Mb M.O. (ISO 13963)"
IDS_5904 "3.5"" 540Mb M.O. (ISO 15498)"
IDS_5905 "3.5"" 640Mb M.O. (ISO 15498)"
IDS_5906 "3.5"" 1.3Gb M.O. (GigaMO)"
IDS_5907 "3.5"" 2.3Gb M.O. (GigaMO 2)"
IDS_5908 "5.25"" 600Mb M.O."
IDS_5909 "5.25"" 650Mb M.O."
IDS_5910 "5.25"" 1Gb M.O."
IDS_5911 "5.25"" 1.3Gb M.O."
IDS_6144 "RPM perfette"
IDS_6145 "RPM 1%% sotto perfezione"
IDS_6146 "RPM 1.5%% sotto perfezione"
IDS_6147 "RPM 2%% sotto perfezione"
IDS_7168 "(Predefinito del sistema)"
END
#define IDS_LANG_ENUS IDS_7168
// Italian (IT-it) resources
/////////////////////////////////////////////////////////////////////////////

644
src/win/languages/ja-JP.rc Normal file
View File

@@ -0,0 +1,644 @@
////////////////////////////////////////////////////////////////////////////
// English (U.S.) resources
#ifdef _WIN32
LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT
#pragma code_page(65001)
#endif //_WIN32
#define AUTHORS
/////////////////////////////////////////////////////////////////////////////
//
// Menu
//
MainMenu MENU DISCARDABLE
BEGIN
POPUP "動作(&A)"
BEGIN
MENUITEM "キーボードはキャプチャが必要(&K)", IDM_ACTION_KBD_REQ_CAPTURE
MENUITEM "右CTRLが左ALT(&R)", IDM_ACTION_RCTRL_IS_LALT
MENUITEM SEPARATOR
MENUITEM "再起動(&H)...", IDM_ACTION_HRESET
MENUITEM "Ctrl+Alt+Del(&C)\tCtrl+F12", IDM_ACTION_RESET_CAD
MENUITEM SEPARATOR
MENUITEM "Ctrl+Alt+Esc(&E)", IDM_ACTION_CTRL_ALT_ESC
MENUITEM SEPARATOR
MENUITEM "一時停止(&P)", IDM_ACTION_PAUSE
MENUITEM SEPARATOR
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 SEPARATOR
POPUP "レンダラー(&N)"
BEGIN
MENUITEM "SDL (ソフトウェア)(&S)", IDM_VID_SDL_SW
MENUITEM "SDL (ハードウェア)(&H)", IDM_VID_SDL_HW
MENUITEM "SDL (OpenGL)(&O)", IDM_VID_SDL_OPENGL
#if defined(DEV_BRANCH) && defined(USE_OPENGL)
MENUITEM "OpenGL (3.3コア)(&G)", IDM_VID_OPENGL_CORE
#endif
#ifdef USE_VNC
MENUITEM "VNC(&V)", IDM_VID_VNC
#endif
END
MENUITEM SEPARATOR
MENUITEM "寸法指定...", IDM_VID_SPECIFY_DIM
MENUITEM "4:3に合わせる(&O)", IDM_VID_FORCE43
POPUP "ウィンドウの倍率(&W)"
BEGIN
MENUITEM "0.5x(&0)", IDM_VID_SCALE_1X
MENUITEM "1x(&1)", IDM_VID_SCALE_2X
MENUITEM "1.5x(&5)", IDM_VID_SCALE_3X
MENUITEM "2x(&2)", IDM_VID_SCALE_4X
END
POPUP "フィルター方式"
BEGIN
MENUITEM "最も近い(&N)", IDM_VID_FILTER_NEAREST
MENUITEM "リニア(&L)", IDM_VID_FILTER_LINEAR
END
MENUITEM "HiDPIスケーリング(&D)", IDM_VID_HIDPI
MENUITEM SEPARATOR
MENUITEM "フルスクリーン(&F)\tCtrl+Alt+PageUP", IDM_VID_FULLSCREEN
POPUP "フルスクリーンの比率(&S)"
BEGIN
MENUITEM "フルスクリーンに拡大(&F)", IDM_VID_FS_FULL
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の設定"
BEGIN
MENUITEM "倒立型VGAモニター(&)", IDM_VID_INVERT
POPUP "VGAスクリーンタイプ(&T)"
BEGIN
MENUITEM "RGBカラー(&C)", IDM_VID_GRAY_RGB
MENUITEM "RGBグレースケール(&R)", IDM_VID_GRAY_MONO
MENUITEM "橙色モニター(&A)", IDM_VID_GRAY_AMBER
MENUITEM "緑色モニター(&G)", IDM_VID_GRAY_GREEN
MENUITEM "白色モニター(&W)", IDM_VID_GRAY_WHITE
END
POPUP "グレースケール表示方式(&C)"
BEGIN
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
END
MENUITEM "メディア(&M)", IDM_MEDIA
POPUP "ツール(&T)"
BEGIN
MENUITEM "設定(&S)...", IDM_CONFIG
MENUITEM "ステータスバーアイコンの更新(&U)", IDM_UPDATE_ICONS
MENUITEM SEPARATOR
MENUITEM "表示言語の変更(&P)...", IDM_VID_PROG_SETT
# ifdef USE_DISCORD
MENUITEM SEPARATOR
MENUITEM "Discordとの連携を可能にする(&D)", IDM_DISCORD
# endif
MENUITEM SEPARATOR
MENUITEM "クリーンショットを撮る(&C)\tCtrl+F11", IDM_ACTION_SCREENSHOT
MENUITEM SEPARATOR
MENUITEM "サウンドゲイン(&G)...", IDM_SND_GAIN
#ifdef MTR_ENABLED
MENUITEM SEPARATOR
MENUITEM "トレース開始\tCtrl+T", IDM_ACTION_BEGIN_TRACE
MENUITEM "エンドトレース\tCtrl+T", IDM_ACTION_END_TRACE
#endif
END
#if defined(ENABLE_LOG_TOGGLES) || defined(ENABLE_LOG_COMMANDS)
POPUP "ロギング(&L)"
BEGIN
# ifdef ENABLE_BUSLOGIC_LOG
MENUITEM "BusLogicのログを有効にする\tCtrl+F4", IDM_LOG_BUSLOGIC
# endif
# ifdef ENABLE_CDROM_LOG
MENUITEM "CD-ROMのログを有効にする\tCtrl+F5", IDM_LOG_CDROM
# endif
# ifdef ENABLE_D86F_LOG
MENUITEM "フロッピー(86F)のログを有効にする\tCtrl+F6", IDM_LOG_D86F
# endif
# ifdef ENABLE_FDC_LOG
MENUITEM "フロッピーコントローラーのログを有効にする\tCtrl+F7", IDM_LOG_FDC
# endif
# ifdef ENABLE_IDE_LOG
MENUITEM "IDEのログを有効にする\tCtrl+F8", IDM_LOG_IDE
# endif
# ifdef ENABLE_SERIAL_LOG
MENUITEM "シリアルポートのログを有効にする\tCtrl+F3", IDM_LOG_SERIAL
# endif
# ifdef ENABLE_NIC_LOG
MENUITEM "ネットワークのログを有効にする\tCtrl+F9", IDM_LOG_NIC
# endif
# ifdef ENABLE_LOG_COMMANDS
# ifdef ENABLE_LOG_TOGGLES
MENUITEM SEPARATOR
# endif
# ifdef ENABLE_LOG_BREAKPOINT
MENUITEM "ログブレイクポイント(&L)\tCtrl+F10", IDM_LOG_BREAKPOINT
# endif
# ifdef ENABLE_VRAM_DUMP
MENUITEM "ビデオRAMのダンプ(&V)\tCtrl+F1", IDM_DUMP_VRAM
# endif
# endif
END
#endif
POPUP "ヘルプ(&H)"
BEGIN
MENUITEM "ドキュメント(&D)...", IDM_DOCS
MENUITEM "86Boxについて(&A)...", IDM_ABOUT
END
END
StatusBarMenu MENU DISCARDABLE
BEGIN
MENUITEM SEPARATOR
END
CassetteSubmenu MENU DISCARDABLE
BEGIN
POPUP ""
BEGIN
MENUITEM "新規のイメージ(&N)...", IDM_CASSETTE_IMAGE_NEW
MENUITEM SEPARATOR
MENUITEM "既存のイメージ(&E)...", IDM_CASSETTE_IMAGE_EXISTING
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
END
END
CartridgeSubmenu MENU DISCARDABLE
BEGIN
POPUP ""
BEGIN
MENUITEM "イメージ(&I)...", IDM_CARTRIDGE_IMAGE
MENUITEM SEPARATOR
MENUITEM "イジェクト(&J)", IDM_CARTRIDGE_EJECT
END
END
FloppySubmenu MENU DISCARDABLE
BEGIN
POPUP ""
BEGIN
MENUITEM "新規のイメージ(&N)...", IDM_FLOPPY_IMAGE_NEW
MENUITEM SEPARATOR
MENUITEM "既存のイメージ(&E)...", IDM_FLOPPY_IMAGE_EXISTING
MENUITEM "既存のイメージ(ライトプロテクト付き) (&W)...", IDM_FLOPPY_IMAGE_EXISTING_WP
MENUITEM SEPARATOR
MENUITEM "86Fへのエクスポート(&X)...", IDM_FLOPPY_EXPORT_TO_86F
MENUITEM SEPARATOR
MENUITEM "イジェクト(&J)", IDM_FLOPPY_EJECT
END
END
CdromSubmenu MENU DISCARDABLE
BEGIN
POPUP ""
BEGIN
MENUITEM "ミュート(&M)", IDM_CDROM_MUTE
MENUITEM SEPARATOR
MENUITEM "空(&M)", IDM_CDROM_EMPTY
MENUITEM "前のイメージを再読み込み (&R)", IDM_CDROM_RELOAD
MENUITEM SEPARATOR
MENUITEM "イメージ(&I)", IDM_CDROM_IMAGE
END
END
ZIPSubmenu MENU DISCARDABLE
BEGIN
POPUP ""
BEGIN
MENUITEM "新規のイメージ(&N)...", IDM_ZIP_IMAGE_NEW
MENUITEM SEPARATOR
MENUITEM "既存のイメージ(&E)...", IDM_ZIP_IMAGE_EXISTING
MENUITEM "既存のイメージ(ライトプロテクト付き) (&W)...", IDM_ZIP_IMAGE_EXISTING_WP
MENUITEM SEPARATOR
MENUITEM "イジェクト(&J)", IDM_ZIP_EJECT
MENUITEM "前のイメージを再読み込み (&R)", IDM_ZIP_RELOAD
END
END
MOSubmenu MENU DISCARDABLE
BEGIN
POPUP ""
BEGIN
MENUITEM "新規のイメージ(&N)...", IDM_MO_IMAGE_NEW
MENUITEM SEPARATOR
MENUITEM "既存のイメージ(&E)...", IDM_MO_IMAGE_EXISTING
MENUITEM "既存のイメージ(ライトプロテクト付き) (&W)...", IDM_MO_IMAGE_EXISTING_WP
MENUITEM SEPARATOR
MENUITEM "イジェクト(&J)", IDM_MO_EJECT
MENUITEM "前のイメージを再読み込み (&R)", IDM_MO_RELOAD
END
END
#if defined(DEV_BRANCH) && defined(USE_OPENGL)
VidGLSubMenu MENU DISCARDABLE
BEGIN
POPUP "目標フレームレート(&F)"
BEGIN
MENUITEM "ビデオとの同期(&S)", IDM_VID_GL_FPS_BLITTER
MENUITEM "25フレーム/秒(&2)", IDM_VID_GL_FPS_25
MENUITEM "30フレーム/秒(&3)", IDM_VID_GL_FPS_30
MENUITEM "50フレーム/秒(&5)", IDM_VID_GL_FPS_50
MENUITEM "60フレーム/秒(&6)", IDM_VID_GL_FPS_60
MENUITEM "75フレーム/秒(&7)", IDM_VID_GL_FPS_75
END
MENUITEM "VSync(&V)", IDM_VID_GL_VSYNC
MENUITEM "シェーダの選択(&S)...", IDM_VID_GL_SHADER
MENUITEM "シェーダの削除(&R)", IDM_VID_GL_NOSHADER
END
#endif
/////////////////////////////////////////////////////////////////////////////
//
// Dialog
//
#define STR_PROG_SETT "表示言語の変更"
#define STR_SND_GAIN "サウンドゲイン"
#define STR_NEW_FLOPPY "新規のイメージ"
#define STR_CONFIG "86Boxの設定"
#define STR_SPECIFY_DIM "メインウィンドウの寸法指定"
#define STR_OK "OK"
#define STR_CANCEL "キャンセル"
#define STR_GLOBAL "これらの設定をグローバル既定値として保存する(&G)"
#define STR_DEFAULT "既定値(&D)"
#define STR_LANGUAGE "言語:"
#define STR_ICONSET "アイコンセット:"
#define STR_GAIN "ゲイン"
#define STR_FILE_NAME "ファイル名:"
#define STR_DISK_SIZE "ディスクの容量:"
#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 "マシン:"
#define STR_CONFIGURE "設定"
#define STR_CPU_TYPE "CPUタイプ:"
#define STR_SPEED "速度:"
#define STR_FPU "FPU:"
#define STR_WAIT_STATES "待機状態:"
#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_DYNAREC "動的再コンパイル"
#define STR_VIDEO "ビデオカード:"
#define STR_VOODOO "Voodooグラフィック"
#define STR_MOUSE "マウス:"
#define STR_JOYSTICK "ジョイスティック:"
#define STR_JOY1 "ジョイスティック1..."
#define STR_JOY2 "ジョイスティック2..."
#define STR_JOY3 "ジョイスティック3..."
#define STR_JOY4 "ジョイスティック4..."
#define STR_SOUND "サウンドカード:"
#define STR_MIDI "MIDI出力デバイス:"
#define STR_MIDI_IN "MIDI入力デバイス:"
#define STR_MPU401 "MPU-401を単独使用"
#define STR_SSI "Innovation SSI-2001"
#define STR_CMS "CMS / Game Blaster"
#define STR_GUS "Gravis Ultrasound"
#define STR_FLOAT "FLOAT32サウンドを使用"
#define STR_NET_TYPE "ネットワークタイプ:"
#define STR_PCAP "PCapデバイス:"
#define STR_NET "ネットワークアダプター:"
#define STR_LPT1 "LPT1デバイス:"
#define STR_LPT2 "LPT2デバイス:"
#define STR_LPT3 "LPT3デバイス:"
#define STR_SERIAL1 "シリアルポート1"
#define STR_SERIAL2 "シリアルポート2"
#define STR_SERIAL3 "シリアルポート3"
#define STR_SERIAL4 "シリアルポート4"
#define STR_PARALLEL1 "パラレルポート1"
#define STR_PARALLEL2 "パラレルポート2"
#define STR_PARALLEL3 "パラレルポート3"
#define STR_HDC "HDコントローラー:"
#define STR_FDC "FDコントローラー:"
#define STR_IDE_TER "第三世代のIDEコントローラー"
#define STR_IDE_QUA "第四世代のIDEコントローラー"
#define STR_SCSI "SCSI"
#define STR_SCSI_1 "コントローラー1:"
#define STR_SCSI_2 "コントローラー2:"
#define STR_SCSI_3 "コントローラー3:"
#define STR_SCSI_4 "コントローラー4:"
#define STR_CASSETTE "カセット"
#define STR_HDD "ハードディスク:"
#define STR_NEW "新規(&N)..."
#define STR_EXISTING "既定(&E)..."
#define STR_REMOVE "除去(&R)"
#define STR_BUS "バス:"
#define STR_CHANNEL "チャンネル:"
#define STR_ID "ID:"
#define STR_SPECIFY "参照(&S)..."
#define STR_SECTORS "セクター:"
#define STR_HEADS "ヘッド:"
#define STR_CYLS "シリンダー:"
#define STR_SIZE_MB "容量(MB):"
#define STR_TYPE "形式:"
#define STR_IMG_FORMAT "イメージフォーマット:"
#define STR_BLOCK_SIZE "ブロックサイズ:"
#define STR_FLOPPY_DRIVES "フロッピードライブ:"
#define STR_TURBO "高速タイミング"
#define STR_CHECKBPB "BPBをチェック"
#define STR_CDROM_DRIVES "CD-ROMドライブ:"
#define STR_MO_DRIVES "光磁気ドライブ:"
#define STR_ZIP_DRIVES "ZIPドライブ:"
#define STR_250 "ZIP 250"
#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 FONT_SIZE 9
#define FONT_NAME "Meiryo UI"
#include "dialogs.rc"
/////////////////////////////////////////////////////////////////////////////
//
// String Table
//
STRINGTABLE DISCARDABLE
BEGIN
2048 "86Box"
IDS_2049 "エラー"
IDS_2050 "致命的なエラー"
IDS_2051 "<予約済み>"
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\nROMセットを<a href=""https://github.com/86Box/roms/releases/latest"">ダウンロード</a>して、《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》は使用できません。使用可能なマシンに切り替えます。"
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_2064 "roms/videoディレクトリにROMがないため、ビデオカード《%hs》は使用できません。使用可能なビデオカードに切り替えます。"
IDS_2065 "マシン"
IDS_2066 "画面表示"
IDS_2067 "入力デバイス"
IDS_2068 "サウンド"
IDS_2069 "ネットワーク"
IDS_2070 "ポート (COMトLPT)"
IDS_2071 "ストレージコントローラ"
IDS_2072 "ハードディスク"
IDS_2073 "フロッピートCD-ROMドライブ"
IDS_2074 "その他のリムーバブルデバイス"
IDS_2075 "その他の周辺機器"
IDS_2076 "面イメージ (*.86F)\0*.86F\0"
IDS_2077 "クリックするとマウスを直接入力します"
IDS_2078 "F12+F8キーでマウスの直接入力を解除します"
IDS_2079 "F12+F8キーまたは中クリックでマウスの直接入力を解除します"
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_2080 "FluidSynthが初期化できません"
IDS_2081 "バス"
IDS_2082 "ファイル"
IDS_2083 "C"
IDS_2084 "H"
IDS_2085 "S"
IDS_2086 "MB"
IDS_2087 "BPBをチェック"
IDS_2088 "KB"
IDS_2089 "ビデオレンダラーが初期化できません。"
IDS_2090 "既定値"
IDS_2091 "%iつの待機状態"
IDS_2092 "形式"
IDS_2093 "PCapのセットアップに失敗しました"
IDS_2094 "PCapデバイスがありません"
IDS_2095 "不正なPCapデバイスです"
IDS_2096 "標準的な2ボタンのジョイスティック"
IDS_2097 "標準的な4ボタンのジョイスティック"
IDS_2098 "標準的な6ボタンのジョイスティック"
IDS_2099 "標準的な8ボタンのジョイスティック"
IDS_2100 "CH Flightstick Pro"
IDS_2101 "Microsoft SideWinder Pad"
IDS_2102 "Thrustmasterフライトコントロールシステム"
IDS_2103 "なし"
IDS_2104 "キーボードアクセラレーターを読み込めません。"
IDS_2105 "Raw入力が登録できません。"
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?\0フラックスイメージ (*.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_2114 "Ghostscriptが初期化できません"
IDS_2115 "光磁気 %i (%ls): %ls"
IDS_2116 "光磁気イメージ (*.IM?;*.MDI)\0*.IM?;*.MDI\0すべてのファイル (*.*)\0*.*\0"
IDS_2117 "86Boxへようこそ!"
IDS_2118 "内部のコントローラー"
IDS_2119 "終了"
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\nGNU General Public License version 2以降でリリースされています。詳しくは LICENSE をご覧ください。"
IDS_2127 "OK"
IDS_2128 "ハードウェアが利用できない"
#ifdef _WIN32
#define LIB_NAME_PCAP "WinPcap"
#else
#define LIB_NAME_PCAP "libpcap"
#endif
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 "が必要です。"
#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)ファイルとして保存されます。"
#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_2136 "終了しない"
IDS_2137 "リセット"
IDS_2138 "リセットしない"
IDS_2139 "光磁気イメージ (*.IM?;*.MDI)\0*.IM?;*.MDI\0すべてのファイル (*.*)\0*.*\0"
IDS_2140 "CD-ROMイメージ (*.ISO;*.CUE)\0*.ISO;*.CUE\0すべてのファイル (*.*)\0*.*\0"
IDS_2141 "%hs デバイスの設定"
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_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"
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_4096 "ハードディスク (%s)"
IDS_4097 "%01i:%01i"
IDS_4098 "%01i"
IDS_4099 "MFM/RLLやESDIのCD-ROMドライブは存在しない"
IDS_4100 "カスタム..."
IDS_4101 "カスタム(大)..."
IDS_4102 "新規のディスクを追加"
IDS_4103 "既定のディスクを追加"
IDS_4104 "HDIのディスクイメージは4GB以上にはできません。"
IDS_4105 "ディスクイメージは127GB以上にはできません。"
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_4111 "ディスクイメージファイルが既に存在する"
IDS_4112 "有効なファイル名を指定してください。"
IDS_4113 "ディスクイメージが作成されました"
IDS_4114 "ファイルが存在し、読み取り可能であることを確認します。"
IDS_4115 "ファイルが書き込み可能なディレクトリに保存されていることを確認してください。"
IDS_4116 "ディスクイメージが大きすぎる"
IDS_4117 "新規ディスクのパーティション設定とフォーマットを必ずしといて下さい。"
IDS_4118 "選択したファイルは上書きされます。使っていいですか?"
IDS_4119 "サポートされていないディスクイメージ"
IDS_4120 "オーバーライト"
IDS_4121 "オーバーライトしない"
IDS_4122 "生のイメージ (.img)"
IDS_4123 "HDIイメージ (.hdi)"
IDS_4124 "HDXイメージ (.hdx)"
IDS_4125 "固定サイズのVHD (.vhd)"
IDS_4126 "ダイナミックサイズのVHD (.vhd)"
IDS_4127 "ディファレンシングのVHD (.vhd)"
IDS_4128 "大きなブロック (2 MB)"
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_4135 "%01i:%02i"
IDS_4352 "MFM/RLL"
IDS_4353 "XTA"
IDS_4354 "ESDI"
IDS_4355 "IDE"
IDS_4356 "ATAPI"
IDS_4357 "SCSI"
IDS_4608 "MFM/RLL (%01i:%01i)"
IDS_4609 "XTA (%01i:%01i)"
IDS_4610 "ESDI (%01i:%01i)"
IDS_4611 "IDE (%01i:%01i)"
IDS_4612 "ATAPI (%01i:%01i)"
IDS_4613 "SCSI (%01i:%02i)"
IDS_5120 "CD-ROM %i (%s): %s"
IDS_5376 "使用しない"
IDS_5381 "ATAPI"
IDS_5382 "SCSI"
IDS_5632 "使用しない"
IDS_5637 "ATAPI (%01i:%01i)"
IDS_5638 "SCSI (%01i:%02i)"
IDS_5888 "160 kB"
IDS_5889 "180 kB"
IDS_5890 "320 kB"
IDS_5891 "360 kB"
IDS_5892 "640 kB"
IDS_5893 "720 kB"
IDS_5894 "1.2 MB"
IDS_5895 "1.25 MB"
IDS_5896 "1.44 MB"
IDS_5897 "DMF (クラスター1024)"
IDS_5898 "DMF (クラスター2048)"
IDS_5899 "2.88 MB"
IDS_5900 "ZIP 100"
IDS_5901 "ZIP 250"
IDS_5902 "3.5"" 128Mb M.O. (ISO 10090)"
IDS_5903 "3.5"" 230Mb M.O. (ISO 13963)"
IDS_5904 "3.5"" 540Mb M.O. (ISO 15498)"
IDS_5905 "3.5"" 640Mb M.O. (ISO 15498)"
IDS_5906 "3.5"" 1.3Gb M.O. (GigaMO)"
IDS_5907 "3.5"" 2.3Gb M.O. (GigaMO 2)"
IDS_5908 "5.25"" 600Mb M.O."
IDS_5909 "5.25"" 650Mb M.O."
IDS_5910 "5.25"" 1Gb M.O."
IDS_5911 "5.25"" 1.3Gb M.O."
IDS_6144 "規定の回転数"
IDS_6145 "1%低い回転数"
IDS_6146 "1.5%低い回転数"
IDS_6147 "2%低い回転数"
IDS_7168 "(システム既定値)"
END
#define IDS_LANG_ENUS IDS_7168
// English (U.S.) resources
/////////////////////////////////////////////////////////////////////////////

View File

@@ -65,7 +65,6 @@ BEGIN
MENUITEM "&Linear", IDM_VID_FILTER_LINEAR
END
MENUITEM "Escala Hi&DPI", IDM_VID_HIDPI
MENUITEM "&Idioma de exibição...", IDM_VID_PROG_SETT
MENUITEM SEPARATOR
MENUITEM "&Tela cheia\tCtrl+Alt+PageUP", IDM_VID_FULLSCREEN
POPUP "Modo de &redimensionamento da tela cheia"
@@ -103,7 +102,7 @@ BEGIN
MENUITEM "&Configurações...", IDM_CONFIG
MENUITEM "&Atualizar ícones da barra de status", IDM_UPDATE_ICONS
MENUITEM SEPARATOR
MENUITEM "Alterar o &idioma de exibição...", IDM_VID_PROG_SETT
MENUITEM "Alterar &configurações do programa...", IDM_VID_PROG_SETT
# ifdef USE_DISCORD
MENUITEM SEPARATOR
MENUITEM "Ativar integração com o &Discord", IDM_DISCORD
@@ -147,7 +146,7 @@ BEGIN
MENUITEM SEPARATOR
# endif
# ifdef ENABLE_LOG_BREAKPOINT
MENUITEM "&Registro de ponto de parada\tCtrl+F10", IDM_LOG_BREAKPOINT
MENUITEM "&Ponto de parada no registo\tCtrl+F10", IDM_LOG_BREAKPOINT
# endif
# ifdef ENABLE_VRAM_DUMP
MENUITEM "Despejo da RAM de &vídeo\tCtrl+F1", IDM_DUMP_VRAM
@@ -275,7 +274,7 @@ END
// Dialog
//
#define STR_PROG_SETT "Alterar idioma de exibição"
#define STR_PROG_SETT "Configurações do programa"
#define STR_SND_GAIN "Ganho de som"
#define STR_NEW_FLOPPY "Nova imagem de disquete"
#define STR_CONFIG "Configurações do 86Box"
@@ -283,9 +282,10 @@ END
#define STR_OK "OK"
#define STR_CANCEL "Cancelar"
#define STR_GLOBAL "Use estas configurações como &padrões globais"
#define STR_GLOBAL "Usar estas configurações como &padrões globais"
#define STR_DEFAULT "&Padrão"
#define STR_LANGUAGE "Idioma:"
#define STR_ICONSET "Pacote de ícones:"
#define STR_GAIN "Ganho"
@@ -296,7 +296,7 @@ END
#define STR_WIDTH "Largura:"
#define STR_HEIGHT "Altura:"
#define STR_LOCK_TO_SIZE "Trava nesse tamanho"
#define STR_LOCK_TO_SIZE "Travar nesse tamanho"
#define STR_MACHINE_TYPE "Tipo de máquina:"
#define STR_MACHINE "Máquina:"
@@ -307,25 +307,25 @@ END
#define STR_WAIT_STATES "Estados de espera:"
#define STR_MB "MB"
#define STR_MEMORY "Memória:"
#define STR_TIME_SYNC "Sincronização de tempo"
#define STR_TIME_SYNC "Sincronização da hora"
#define STR_DISABLED "Desativada"
#define STR_ENABLED_LOCAL "Ativada (hora local)"
#define STR_ENABLED_UTC "Ativada (UTC)"
#define STR_DYNAREC "Recompilador dinâmico"
#define STR_VIDEO "Video:"
#define STR_VIDEO "Vídeo:"
#define STR_VOODOO "3DFX Voodoo"
#define STR_MOUSE "Mouse"
#define STR_MOUSE "Mouse:"
#define STR_JOYSTICK "Joystick:"
#define STR_JOY1 "Joystick 1..."
#define STR_JOY2 "Joystick 2..."
#define STR_JOY3 "Joystick 3..."
#define STR_JOY4 "Joystick 4..."
#define STR_SOUND "Place de som:"
#define STR_SOUND "Placa de som:"
#define STR_MIDI "Disp. saída MIDI:"
#define STR_MIDI_IN "Disp. enrada MIDI:"
#define STR_MIDI_IN "Disp. entrada MIDI:"
#define STR_MPU401 "MPU-401 autônomo"
#define STR_SSI "Innovation SSI-2001"
#define STR_CMS "CMS / Game Blaster"
@@ -362,7 +362,7 @@ END
#define STR_NEW "&Novo..."
#define STR_EXISTING "&Existente..."
#define STR_REMOVE "&Remover"
#define STR_BUS "Barram.:"
#define STR_BUS "Bar.:"
#define STR_CHANNEL "Canal:"
#define STR_ID "ID:"
@@ -372,7 +372,7 @@ END
#define STR_CYLS "Cilindros:"
#define STR_SIZE_MB "Tamanho (MB):"
#define STR_TYPE "Tipo:"
#define STR_IMG_FORMAT "Formato da imagem:"
#define STR_IMG_FORMAT "Formato:"
#define STR_BLOCK_SIZE "Tamanho do bloco:"
#define STR_FLOPPY_DRIVES "Unidades de disquete:"
@@ -393,6 +393,9 @@ END
#define STR_BUGGER "Dispositivo ISABugger"
#define STR_POSTCARD "Placa de diagnóstico"
#define FONT_SIZE 9
#define FONT_NAME "Segoe UI"
#include "dialogs.rc"
/////////////////////////////////////////////////////////////////////////////
@@ -406,7 +409,7 @@ BEGIN
IDS_2049 "Erro"
IDS_2050 "Erro fatal"
IDS_2051 "<reserved>"
IDS_2052 "Use CTRL+ALT+PAGE DOWN para retornar ao janela"
IDS_2052 "Use CTRL+ALT+PAGE DOWN para retornar ao modo janela"
IDS_2053 "Velocidade"
IDS_2054 "ZIP %03i %i (%s): %ls"
IDS_2055 "Imagens ZIP (*.IM?;*.ZDI)\0*.IM?;*.ZDI\0"
@@ -451,7 +454,7 @@ BEGIN
IDS_2086 "MB"
IDS_2087 "Verificar BPB"
IDS_2088 "KB"
IDS_2089 "Não conseguiu inicializar o renderizador de vídeo."
IDS_2089 "Não foi possível inicializar o renderizador de vídeo."
IDS_2090 "Padrão"
IDS_2091 "%i estado(s) de espera"
IDS_2092 "Tipo"
@@ -477,7 +480,7 @@ BEGIN
IDS_2112 "Tem certeza de que deseja reiniciar completamente a máquina emulada?"
IDS_2113 "Tem certeza de que deseja sair do 86Box?"
IDS_2114 "Não é possível inicializar o Ghostscript"
IDS_2115 "MO %i (%ls): %ls"
IDS_2115 "Magneto-óptico %i (%ls): %ls"
IDS_2116 "Imagens magneto-ópticas (*.IM?;*.MDI)\0*.IM?;*.MDI\0Todos os arquivos (*.*)\0*.*\0"
IDS_2117 "Bem-vindo ao 86Box!"
IDS_2118 "Controle interno"
@@ -488,7 +491,8 @@ BEGIN
IDS_2123 "Salvar"
IDS_2124 "Sobre o 86Box"
IDS_2125 "86Box versão" EMU_VERSION
IDS_2126 "Um emulador de computadores antigos\n\nAutores: Sarah Walker, Miran Grca, Fred N. van Kempen (waltje), SA1988, MoochMcGee, reenigne, leilei, JohnElliott, greatpsycho, e outros.\n\nTraduzido por: Altieres Lima da Silva\n\nLançado sob a Licença Pública Geral GNU versão 2 ou posterior. Veja o arquivo LICENSE para mais informações."
IDS_2126 "Um emulador de computadores antigos\n\nAutores: Sarah Walker, Miran Grca, Fred N. van Kempen (waltje), SA1988, Tiseno100, reenigne, leilei, JohnElliott, greatpsycho, e outros.\n\nTraduzido por: Altieres Lima da Silva\n\nLançado sob a Licença Pública Geral GNU versão 2 ou posterior. Veja o arquivo LICENSE para mais informações."
IDS_2127 "OK"
IDS_2128 "Hardware não disponível"
#ifdef _WIN32
@@ -496,7 +500,7 @@ BEGIN
#else
#define LIB_NAME_PCAP "libpcap"
#endif
IDS_2129 "Certifique-se de que " LIB_NAME_PCAP " esteja instalado e que você tenha uma " LIB_NAME_PCAP " -conexão de rede compatível."
IDS_2129 "Certifique-se de que " LIB_NAME_PCAP " esteja instalado e que você tenha uma conexão de rede compatível com " LIB_NAME_PCAP "."
IDS_2130 "Configuração inválida"
#ifdef _WIN32
#define LIB_NAME_FREETYPE "freetype.dll"

View File

@@ -15,7 +15,7 @@ LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE
MainMenu MENU DISCARDABLE
BEGIN
POPUP "&Acção"
POPUP "&Ação"
BEGIN
MENUITEM "&Teclado requere captura", IDM_ACTION_KBD_REQ_CAPTURE
MENUITEM "&CTRL direito é ALT esquerdo",IDM_ACTION_RCTRL_IS_LALT
@@ -65,10 +65,10 @@ BEGIN
END
MENUITEM "Escala Hi&DPI", IDM_VID_HIDPI
MENUITEM SEPARATOR
MENUITEM "&Tela cheia\tCtrl+Alt+PageUP", IDM_VID_FULLSCREEN
POPUP "Mode &de estiramento em tela cheia"
MENUITEM "E&crã cheio\tCtrl+Alt+PageUP", IDM_VID_FULLSCREEN
POPUP "Modo &de estiramento em ecrã cheio"
BEGIN
MENUITEM "&Estiramento em tela cheia", IDM_VID_FS_FULL
MENUITEM "&Estiramento em ecrã cheio", IDM_VID_FS_FULL
MENUITEM "&4:3", IDM_VID_FS_43
MENUITEM "Pixels &quadrados (Manter rácio)", IDM_VID_FS_KEEPRATIO
MENUITEM "Escala &inteira", IDM_VID_FS_INT
@@ -88,64 +88,64 @@ BEGIN
BEGIN
MENUITEM "BT&601 (NTSC/PAL)", IDM_VID_GRAYCT_601
MENUITEM "BT&709 (HDTV)", IDM_VID_GRAYCT_709
MENUITEM "&Média", IDM_VID_GRAYCT_AVE
MENUITEM "&Media", IDM_VID_GRAYCT_AVE
END
END
MENUITEM SEPARATOR
MENUITEM "Overscan de CGA/PCjr/Tandy/E&GA/(S)VGA", IDM_VID_OVERSCAN
MENUITEM "Mudar &contraste para ecrão monocromático", IDM_VID_CGACON
MENUITEM "Mudar &contraste para ecrã monocromático", IDM_VID_CGACON
END
MENUITEM "&Mídia", IDM_MEDIA
MENUITEM "&Media", IDM_MEDIA
POPUP "&Ferramentas"
BEGIN
MENUITEM "&Definições...", IDM_CONFIG
MENUITEM "&Actualizar ícones da barra de estado", IDM_UPDATE_ICONS
MENUITEM "&Atualizar ícones da barra de estado", IDM_UPDATE_ICONS
MENUITEM SEPARATOR
MENUITEM "Mudar idioma de a&presentação...", IDM_VID_PROG_SETT
MENUITEM "Change program &settings...", IDM_VID_PROG_SETT
# ifdef USE_DISCORD
MENUITEM SEPARATOR
MENUITEM "Activar integração de &Discord", IDM_DISCORD
MENUITEM "Ativar integração com &Discord", IDM_DISCORD
# endif
MENUITEM SEPARATOR
MENUITEM "Tirar i&magem de tela\tCtrl+F11", IDM_ACTION_SCREENSHOT
MENUITEM "Gravar imagem de ecrã\tCtrl+F11", IDM_ACTION_SCREENSHOT
MENUITEM SEPARATOR
MENUITEM "&Ganho de som...", IDM_SND_GAIN
#ifdef MTR_ENABLED
MENUITEM SEPARATOR
MENUITEM "Iniciar o rasterio\tCtrl+T", IDM_ACTION_BEGIN_TRACE
MENUITEM "Terminar o rasterio\tCtrl+T", IDM_ACTION_END_TRACE
MENUITEM "Iniciar o rastreio\tCtrl+T", IDM_ACTION_BEGIN_TRACE
MENUITEM "Terminar o rastreio\tCtrl+T", IDM_ACTION_END_TRACE
#endif
END
#if defined(ENABLE_LOG_TOGGLES) || defined(ENABLE_LOG_COMMANDS)
POPUP "&Registo"
BEGIN
# ifdef ENABLE_BUSLOGIC_LOG
MENUITEM "Activar registo BusLogic\tCtrl+F4", IDM_LOG_BUSLOGIC
MENUITEM "Ativar registo BusLogic\tCtrl+F4", IDM_LOG_BUSLOGIC
# endif
# ifdef ENABLE_CDROM_LOG
MENUITEM "Activar registo CD-ROM\tCtrl+F5", IDM_LOG_CDROM
MENUITEM "Ativar registo do CD-ROM\tCtrl+F5", IDM_LOG_CDROM
# endif
# ifdef ENABLE_D86F_LOG
MENUITEM "Activar registo de disquetes (86F)\tCtrl+F6", IDM_LOG_D86F
MENUITEM "Ativar registo de disquetes (86F)\tCtrl+F6", IDM_LOG_D86F
# endif
# ifdef ENABLE_FDC_LOG
MENUITEM "Activar registo do controlar de disquetes\tCtrl+F7", IDM_LOG_FDC
MENUITEM "Ativar registo do controlador de disquetes\tCtrl+F7", IDM_LOG_FDC
# endif
# ifdef ENABLE_IDE_LOG
MENUITEM "Activar registo IDE\tCtrl+F8", IDM_LOG_IDE
MENUITEM "Ativar registo IDE\tCtrl+F8", IDM_LOG_IDE
# endif
# ifdef ENABLE_SERIAL_LOG
MENUITEM "Activar registo da porta de série\tCtrl+F3", IDM_LOG_SERIAL
MENUITEM "Ativar registo da porta série\tCtrl+F3", IDM_LOG_SERIAL
# endif
# ifdef ENABLE_NIC_LOG
MENUITEM "Activar registo de rede\tCtrl+F9", IDM_LOG_NIC
MENUITEM "Ativar registo de rede\tCtrl+F9", IDM_LOG_NIC
# endif
# ifdef ENABLE_LOG_COMMANDS
# ifdef ENABLE_LOG_TOGGLES
MENUITEM SEPARATOR
# endif
# ifdef ENABLE_LOG_BREAKPOINT
MENUITEM "&Ponto de parada no registo\tCtrl+F10", IDM_LOG_BREAKPOINT
MENUITEM "&Ponto de paragem no registo\tCtrl+F10", IDM_LOG_BREAKPOINT
# endif
# ifdef ENABLE_VRAM_DUMP
MENUITEM "Despejo de RAM &vídeo\tCtrl+F1", IDM_DUMP_VRAM
@@ -156,7 +156,7 @@ BEGIN
POPUP "&Ajuda"
BEGIN
MENUITEM "&Documentação...", IDM_DOCS
MENUITEM "&Acerca de 86Box...", IDM_ABOUT
MENUITEM "&Acerca do 86Box...", IDM_ABOUT
END
END
@@ -172,14 +172,14 @@ BEGIN
MENUITEM "&Nova imagem...", IDM_CASSETTE_IMAGE_NEW
MENUITEM SEPARATOR
MENUITEM "Imagem &existente...", IDM_CASSETTE_IMAGE_EXISTING
MENUITEM "Imagem existente (&Protecção contra a escritura)...", IDM_CASSETTE_IMAGE_EXISTING_WP
MENUITEM "Imagem existente (&Proteção contra escrita)...", IDM_CASSETTE_IMAGE_EXISTING_WP
MENUITEM SEPARATOR
MENUITEM "&Gravar", IDM_CASSETTE_RECORD
MENUITEM "&Reproduzir", IDM_CASSETTE_PLAY
MENUITEM "Re&bobinar para o início", IDM_CASSETTE_REWIND
MENUITEM "&Avanço rápido para a fim", IDM_CASSETTE_FAST_FORWARD
MENUITEM "&Avanço rápido para o fim", IDM_CASSETTE_FAST_FORWARD
MENUITEM SEPARATOR
MENUITEM "E&jectar", IDM_CASSETTE_EJECT
MENUITEM "E&jetar", IDM_CASSETTE_EJECT
END
END
@@ -189,7 +189,7 @@ BEGIN
BEGIN
MENUITEM "&Imagem...", IDM_CARTRIDGE_IMAGE
MENUITEM SEPARATOR
MENUITEM "E&jectar", IDM_CARTRIDGE_EJECT
MENUITEM "E&jetar", IDM_CARTRIDGE_EJECT
END
END
@@ -200,11 +200,11 @@ BEGIN
MENUITEM "&Nova imagem...", IDM_FLOPPY_IMAGE_NEW
MENUITEM SEPARATOR
MENUITEM "Imagem &existente...", IDM_FLOPPY_IMAGE_EXISTING
MENUITEM "Imagem existente (&Protecção contra a escritura)...", IDM_FLOPPY_IMAGE_EXISTING_WP
MENUITEM "Imagem existente (&Proteção contra escrita)...", IDM_FLOPPY_IMAGE_EXISTING_WP
MENUITEM SEPARATOR
MENUITEM "E&xportar para 86F...", IDM_FLOPPY_EXPORT_TO_86F
MENUITEM SEPARATOR
MENUITEM "E&jectar", IDM_FLOPPY_EJECT
MENUITEM "E&jetar", IDM_FLOPPY_EJECT
END
END
@@ -214,7 +214,7 @@ BEGIN
BEGIN
MENUITEM "&Mute", IDM_CDROM_MUTE
MENUITEM SEPARATOR
MENUITEM "E&mpty", IDM_CDROM_EMPTY
MENUITEM "&CDROM vazio", IDM_CDROM_EMPTY
MENUITEM "&Recarregar imagem anterior", IDM_CDROM_RELOAD
MENUITEM SEPARATOR
MENUITEM "&Imagem", IDM_CDROM_IMAGE
@@ -228,9 +228,9 @@ BEGIN
MENUITEM "&Nova imagem...", IDM_ZIP_IMAGE_NEW
MENUITEM SEPARATOR
MENUITEM "Imagem &existente...", IDM_ZIP_IMAGE_EXISTING
MENUITEM "Imagem existente (&Protecção contra a escritura)...", IDM_ZIP_IMAGE_EXISTING_WP
MENUITEM "Imagem existente (&Proteção contra escrita)...", IDM_ZIP_IMAGE_EXISTING_WP
MENUITEM SEPARATOR
MENUITEM "E&jectar", IDM_ZIP_EJECT
MENUITEM "E&jetar", IDM_ZIP_EJECT
MENUITEM "&Recarregar imagem anterior", IDM_ZIP_RELOAD
END
END
@@ -242,9 +242,9 @@ BEGIN
MENUITEM "&Nova imagem...", IDM_MO_IMAGE_NEW
MENUITEM SEPARATOR
MENUITEM "Imagem &existente...", IDM_MO_IMAGE_EXISTING
MENUITEM "Imagem existente (&Protecção contra a escritura)...", IDM_MO_IMAGE_EXISTING_WP
MENUITEM "Imagem existente (&Proteção contra escrita)...", IDM_MO_IMAGE_EXISTING_WP
MENUITEM SEPARATOR
MENUITEM "E&jectar", IDM_MO_EJECT
MENUITEM "E&jetar", IDM_MO_EJECT
MENUITEM "&Recarregar imagem anterior", IDM_MO_RELOAD
END
END
@@ -262,7 +262,7 @@ BEGIN
MENUITEM "&75 q/s", IDM_VID_GL_FPS_75
END
MENUITEM "&VSync", IDM_VID_GL_VSYNC
MENUITEM "&Seleccionar shader...", IDM_VID_GL_SHADER
MENUITEM "&Selecionar shader...", IDM_VID_GL_SHADER
MENUITEM "&Remover shader", IDM_VID_GL_NOSHADER
END
#endif
@@ -273,17 +273,18 @@ END
// Dialog
//
#define STR_PROG_SETT "Mudar idioma de apresentação"
#define STR_SND_GAIN "Ganha de som"
#define STR_PROG_SETT "Program Settings"
#define STR_SND_GAIN "Ganho de som"
#define STR_NEW_FLOPPY "Nova imagem"
#define STR_CONFIG "Definições de 86Box"
#define STR_SPECIFY_DIM "Especifiar dimensões da janela principal"
#define STR_CONFIG "Definições do 86Box"
#define STR_SPECIFY_DIM "Especificar dimensões da janela principal"
#define STR_OK "OK"
#define STR_CANCEL "Cancelar"
#define STR_GLOBAL "Guardar estas definições como padrões &globais"
#define STR_DEFAULT "&Padrão"
#define STR_LANGUAGE "Idioma:"
#define STR_ICONSET "Pacote de ícones:"
#define STR_GAIN "Ganho"
@@ -294,7 +295,7 @@ END
#define STR_WIDTH "Largura:"
#define STR_HEIGHT "Altura:"
#define STR_LOCK_TO_SIZE "Fechar para este tamanho"
#define STR_LOCK_TO_SIZE "Fixar neste tamanho"
#define STR_MACHINE_TYPE "Tipo de máquina:"
#define STR_MACHINE "Máquina:"
@@ -306,9 +307,9 @@ END
#define STR_MB "MB"
#define STR_MEMORY "Memória:"
#define STR_TIME_SYNC "Sincronização da hora"
#define STR_DISABLED "Desactivada"
#define STR_ENABLED_LOCAL "Activada (ora local)"
#define STR_ENABLED_UTC "Activada (UTC)"
#define STR_DISABLED "Desativada"
#define STR_ENABLED_LOCAL "Ativada (hora local)"
#define STR_ENABLED_UTC "Ativada (UTC)"
#define STR_DYNAREC "Recompilador dinâmico"
#define STR_VIDEO "Vídeo:"
@@ -391,6 +392,9 @@ END
#define STR_BUGGER "Dispositivo ISABugger"
#define STR_POSTCARD "Placa POST"
#define FONT_SIZE 9
#define FONT_NAME "Segoe UI"
#include "dialogs.rc"
/////////////////////////////////////////////////////////////////////////////
@@ -404,23 +408,23 @@ BEGIN
IDS_2049 "Erro"
IDS_2050 "Erro fatal"
IDS_2051 "<reservado>"
IDS_2052 "Pressione CTRL+ALT+PAGE DOWN para voltar no modo de janela."
IDS_2052 "Pressione CTRL+ALT+PAGE DOWN para voltar ao modo de janela."
IDS_2053 "Velocidade"
IDS_2054 "ZIP %03i %i (%s): %ls"
IDS_2055 "Imagens ZIP (*.IM?;*.ZDI)\0*.IM?;*.ZDI\0"
IDS_2056 "86Box não conseguiu encotnrar nenhuma imagem ROM utilizável.\n\nPor favor, <a href=""https://github.com/86Box/roms/releases/latest"">descarregue</a> um pacote ROM e extraí-lo na pasta ""roms""."
IDS_2056 "O 86Box não conseguiu encontrar nenhuma imagem ROM utilizável.\n\nPor favor, a href=""https://github.com/86Box/roms/releases/latest"">descarregue</a> um pacote ROM e instale-o na pasta ""roms""."
IDS_2057 "(empty)"
IDS_2058 "Imagens ZIP (*.IM?;*.ZDI)\0*.IM?;*.ZDI\0Todos os ficheiros (*.*)\0*.*\0"
IDS_2059 "Turbo"
IDS_2060 "Activado"
IDS_2061 "Desactivado"
IDS_2060 "Ativado"
IDS_2061 "Desativado"
IDS_2062 "Todas as imagens (*.86F;*.DSK;*.FLP;*.IM?;*.*FD?)\0*.86F;*.DSK;*.FLP;*.IM?;*.*FD?\0Imagens básicas de sector (*.DSK;*.FLP;*.IM?;*.*FD?)\0*.DSK;*.FLP;*.IM?;*.IMG;*.*FD?\0Imagens de superfície (*.86F)\0*.86F\0"
IDS_2063 "A máquina ""%hs"" não é disponível devido à falta de ROMs na pasta roms/machines. A mudar para uma máquina disponível."
IDS_2063 "A máquina ""%hs"" não está disponível devido à falta de ROMs na pasta roms/machines. A mudar para uma máquina disponível."
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_2064 "A placa vídeo ""%hs"" não é disponível devido à falta de ROMs na pasta roms/video. A mudar para uma placa vídeo disponível."
IDS_2064 "A placa vídeo ""%hs"" não está disponível devido à falta de ROMs na pasta roms/video. A mudar para uma placa vídeo disponível."
IDS_2065 "Máquina"
IDS_2066 "Apresentação"
IDS_2067 "Dispositivos de entrada"
@@ -454,40 +458,40 @@ BEGIN
IDS_2091 "%i estado(s) de espera"
IDS_2092 "Tipo"
IDS_2093 "Falha na configuração de PCap"
IDS_2094 "Não foi encontrado algum dispositivo PCap"
IDS_2094 "Não foi encontrado um dispositivo PCap"
IDS_2095 "Dispositivo PCap inválido"
IDS_2096 "Joystick(s) estándar a 2 botões"
IDS_2097 "Joystick(s) estándar a 4 botões"
IDS_2098 "Joystick(s) estándar a 6 botões"
IDS_2099 "Joystick(s) estándar a 8 botões"
IDS_2096 "Joystick(s) standard de 2 botões"
IDS_2097 "Joystick(s) standard de 4 botões"
IDS_2098 "Joystick(s) standard de 6 botões"
IDS_2099 "Joystick(s) standard de 8 botões"
IDS_2100 "CH Flightstick Pro"
IDS_2101 "Microsoft SideWinder Pad"
IDS_2102 "Thrustmaster Flight Control System"
IDS_2103 "Nenhum"
IDS_2104 "Não foi possível inicializar os acceleradores de teclado."
IDS_2104 "Não foi possível inicializar os aceleradores de teclado."
IDS_2105 "Não foi possível registar a entrada bruta."
IDS_2106 "%u"
IDS_2107 "%u MB (CCS: %i, %i, %i)"
IDS_2108 "Disquete %i (%s): %ls"
IDS_2109 "Todas as imagens (*.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\0Imagens avançadas de sector (*.IMD;*.JSON;*.TD0)\0*.IMD;*.JSON;*.TD0\0Imagens básicas de sector (*.0??;*.1??;*.??0;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.XDF;*.*FD?)\0*.0??;*.1??;*.??0;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.XDF;*.*FD?\0Imagens de fluxo (*.FDI)\0*.FDI\0Imagens de superfície (*.86F;*.MFM)\0*.86F;*.MFM\0Todos os ficheiros (*.*)\0*.*\0"
IDS_2110 "Não foi possível inicializar o FreeType"
IDS_2111 "Não foi possível inicializar o SDL, SDL2.dll é necessário"
IDS_2112 "Tem certaza de que quer um reinicio completeo da máquina emulada?"
IDS_2113 "Tem certeza de que quer sair de 86Box?"
IDS_2111 "Não foi possível inicializar o SDL. O ficheiro SDL2.dll é necessário!"
IDS_2112 "Tem a certeza de que quer um reinício completo da máquina emulada?"
IDS_2113 "Tem a certeza de que quer sair do 86Box?"
IDS_2114 "Não foi possível inicializar o Ghostscript"
IDS_2115 "Magneto-óptico %i (%ls): %ls"
IDS_2116 "Imagens magneto-ópticas (*.IM?;*.MDI)\0*.IM?;*.MDI\0Todas as imagens (*.*)\0*.*\0"
IDS_2117 "Bem-vindoes em 86Box!"
IDS_2117 "Bem-vindos ao 86Box!"
IDS_2118 "Controlador interno"
IDS_2119 "Sair"
IDS_2120 "Não foi encontrado nenhum ROMs"
IDS_2120 "Não foi encontrada nenhuma ROM"
IDS_2121 "Deseja guardar as definições?"
IDS_2122 "Esto irá a causar um reinicio completo da máquina emulada."
IDS_2122 "Isto irá causar um reinício completo da máquina emulada."
IDS_2123 "Guardar"
IDS_2124 "Acerca de 86Box"
IDS_2124 "Acerca do 86Box"
IDS_2125 "86Box v" EMU_VERSION
IDS_2126 "Em emulator de computadores antigos\n\nAutores: Sarah Walker, Miran Grca, Fred N. van Kempen (waltje), SA1988, MoochMcGee, reenigne, leilei, JohnElliott, greatpsycho, and others.\n\nLibertado sob a licença GNU General Public License versão 2 ou posterior. Veja o ficheiro LICENSE para mais informações."
IDS_2126 "Em emulator de computadores antigos\n\nAutores: Sarah Walker, Miran Grca, Fred N. van Kempen (waltje), SA1988, Tiseno100, reenigne, leilei, JohnElliott, greatpsycho, and others.\n\nUsado sob a licença GNU General Public License versão 2 ou posterior. Veja o ficheiro LICENSE para mais informações."
IDS_2127 "OK"
IDS_2128 "Hardware não disponível"
#ifdef _WIN32
@@ -495,27 +499,27 @@ BEGIN
#else
#define LIB_NAME_PCAP "libpcap"
#endif
IDS_2129 "Certifique-se de que a biblioteca " LIB_NAME_PCAP " è instalada e que está a utilizar uma ligação de rede compatível com a biblioteca " LIB_NAME_PCAP "."
IDS_2129 "Certifique-se de que a biblioteca " LIB_NAME_PCAP " está instalada e de que está a utilizar uma ligação de rede compatível com a biblioteca " LIB_NAME_PCAP "."
IDS_2130 "Configuração inválida"
#ifdef _WIN32
#define LIB_NAME_FREETYPE "freetype.dll"
#else
#define LIB_NAME_FREETYPE "libfreetype"
#endif
IDS_2131 LIB_NAME_FREETYPE " is required for ESC/P printer emulation."
IDS_2131 LIB_NAME_FREETYPE " é requerida para a emulação de impressora ESC/P."
#ifdef _WIN32
#define LIB_NAME_GS "gsdll32.dll"
#else
#define LIB_NAME_GS "libgs"
#endif
IDS_2132 LIB_NAME_GS " is required for automatic conversion of PostScript files to PDF.\n\nAny documents sent to the generic PostScript printer will be saved as PostScript (.ps) files."
IDS_2132 LIB_NAME_GS " é requerido para a conversão automática de ficheiros PostScript para ficheiros PDF.\n\nQualquer documento enviado para a impressora PostScript genérica será gravado como um ficheiro PostScript (.ps)."
#ifdef _WIN32
#define LIB_NAME_FLUIDSYNTH "libfluidsynth.dll"
#else
#define LIB_NAME_FLUIDSYNTH "libfluidsynth"
#endif
IDS_2133 LIB_NAME_FLUIDSYNTH " è necessário para a saída MIDI FluidSynth MIDI."
IDS_2134 "A entrar no modo da tela cheia"
IDS_2133 LIB_NAME_FLUIDSYNTH " é necessário para a saída MIDI FluidSynth MIDI."
IDS_2134 "A entrar no modo de ecrã cheio"
IDS_2135 "Não mostrar mais esta mensagem"
IDS_2136 "Não sair"
IDS_2137 "Reiniciar"
@@ -526,8 +530,8 @@ BEGIN
IDS_2142 "Ecrã em modo de sono"
IDS_2143 "Shaders OpenGL (*.GLSL)\0*.GLSL\0Todos os ficheiros (*.*)\0*.*\0"
IDS_2144 "Opções de OpenGL"
IDS_2145 "Está a carregar uma configuração sem suporte"
IDS_2146 "A filtragem do tipo de CPU baseada na máquina escolhida está desactivada para esta máquina emulada.\n\nIsto torna possíve escolher um CPU que de outra formar não é compatível com a máquina escolhida. No entanto, pode não ser compatível com o BIOS da máquina ou outros programas.\n\nA activação desta definição não tem suporte oficial e qualquer relatório de errors pode ser fechado como inválido."
IDS_2145 "Está a carregar uma configuração sem suporte!"
IDS_2146 "A filtragem do tipo de CPU baseada na máquina escolhida está desativada para esta máquina emulada.\n\nIsto torna possível escolher um CPU que, de outra forma, não seria compatível com a máquina escolhida. No entanto, pode não ser compatível com a BIOS da máquina ou outros programas.\n\nA activação desta definição não tem suporte oficial e qualquer relatório de erros pode ser fechado como inválido."
IDS_2147 "Continuar"
IDS_2148 "Cassete: %s"
IDS_2149 "Imagens de cassete (*.PCM;*.RAW;*.WAV;*.CAS)\0*.PCM;*.RAW;*.WAV;*.CAS\0Todos os ficheiros (*.*)\0*.*\0"
@@ -540,29 +544,29 @@ BEGIN
IDS_4096 "Disco rígido (%s)"
IDS_4097 "%01i:%01i"
IDS_4098 "%01i"
IDS_4099 "As unidades CD-ROM com barramento MFM/RLL ou ESDI nunca existiram"
IDS_4099 "Unidades CD-ROM com barramento MFM/RLL ou ESDI nunca existiram!"
IDS_4100 "Personalizado..."
IDS_4101 "Persoanlizado (grande)..."
IDS_4101 "Personalizado (grande)..."
IDS_4102 "Adicionar novo disco rígido"
IDS_4103 "Adicionar disco rígido existente"
IDS_4104 "As imagens de disco HDI não podem ser mais grandes de 4 GB."
IDS_4105 "As imagens de disco não podem ser mais grandes de 127 GB."
IDS_4104 "As imagens de disco HDI não podem ter mais de 4 GB."
IDS_4105 "As imagens de disco não podem ter mais de 127 GB."
IDS_4106 "Imagens de disco rígido (*.HD?;*.IM?;*.VHD)\0*.HD?;*.IM?;*.VHD\0Todos os ficheiros (*.*)\0*.*\0"
IDS_4107 "Não foi possível ler o ficheiro"
IDS_4108 "Nào foi possível escrever o ficheiro"
IDS_4109 "As imagens HDI ou HDX com um tamanho de sector não 512 não têm suporte."
IDS_4108 "Não foi possível escrever o ficheiro"
IDS_4109 "Imagens HDI ou HDX com um tamanho de sector diferente de 512 não são suportadas."
IDS_4110 "O barramento USB ainda não tem suporte"
IDS_4111 "A imagem de disco já existe"
IDS_4112 "Por favor, especifique um nome de ficheiro inválido."
IDS_4112 "Por favor, especifique um nome de ficheiro válido."
IDS_4113 "Imagem de disco criada"
IDS_4114 "Certifique-se de que o ficheiro existe e é legível."
IDS_4115 "Certifique-se de que o ficheiro está a ser guarado numa pasta escrevível."
IDS_4115 "Certifique-se de que o ficheiro está a ser guardado numa pasta editável."
IDS_4116 "Imagem de disco muito grande"
IDS_4117 "Lembre de particionar e formatar o novo disco criado."
IDS_4118 "O ficheiro seleccionado será sobrescrevido. Tem certeza de que quiser utilizá-lo?"
IDS_4117 "Lembre-se de particionar e formatar o novo disco criado."
IDS_4118 "O ficheiro selecionado será sobrescrito. Tem a certeza de que quer utilizá-lo?"
IDS_4119 "Imagem de disco sem suporte"
IDS_4120 "Sobrescrever"
IDS_4121 "Não sobrescerever"
IDS_4121 "Não sobrescrever"
IDS_4122 "Imagem bruta (.img)"
IDS_4123 "Imagem HDI (.hdi)"
IDS_4124 "Imagem HDX (.hdx)"
@@ -573,8 +577,8 @@ BEGIN
IDS_4129 "Blocos pequenos (512 KB)"
IDS_4130 "Ficheiros VHD (*.VHD)\0*.VHD\0Todos os ficheiros (*.*)\0*.*\0"
IDS_4131 "Seleccione o VHD pai"
IDS_4132 "Esto pode significar que a imagem pai foi modificada depois da criação da imagem diferenciadora.\n\nTambém pode acontecer se os ficheiros da imagem foram movidos ou copiados, ou por cause de um erro no programa que criou este disco.\n\nQuer corrigir os carimbos de data/hora?"
IDS_4133 "Os carimbos de data/hora de pai e criança não correspondem"
IDS_4132 "Isto pode significar que a imagem pai foi modificada depois da criação da imagem diferenciadora.\n\nTambém pode acontecer se os ficheiros da imagem foram movidos ou copiados ou por causa de um erro no programa que criou este disco.\n\nQuer corrigir os carimbos de data/hora?"
IDS_4133 "Os carimbos de data/hora dos discos pai e filho não correspondem!"
IDS_4134 "Não foi possível corrigir o carimbo de data/hora do VHD."
IDS_4135 "%01i:%02i"
@@ -594,11 +598,11 @@ BEGIN
IDS_5120 "CD-ROM %i (%s): %s"
IDS_5376 "Desactivado"
IDS_5376 "Desativado"
IDS_5381 "ATAPI"
IDS_5382 "SCSI"
IDS_5632 "Desactivado"
IDS_5632 "Desativado"
IDS_5637 "ATAPI (%01i:%01i)"
IDS_5638 "SCSI (%01i:%02i)"
@@ -627,12 +631,12 @@ BEGIN
IDS_5910 "5.25"" 1Gb M.O."
IDS_5911 "5.25"" 1.3Gb M.O."
IDS_6144 "RPM perfecto"
IDS_6145 "RPM 1%% sob a perfecção"
IDS_6146 "RPM 1.5%% sob a perfecção"
IDS_6147 "RPM 2%% sob a perfecção"
IDS_6144 "RPM perfeito"
IDS_6145 "RPM 1%% abaixo do RPM perfeito"
IDS_6146 "RPM 1.5%% abaixo do RPM perfeito"
IDS_6147 "RPM 2%% abaixo do RPM perfeito"
IDS_7168 "(Padrão de sistema)"
IDS_7168 "(Padrão do sistema)"
END
#define IDS_LANG_ENUS IDS_7168

644
src/win/languages/sl-SI.rc Normal file
View File

@@ -0,0 +1,644 @@
////////////////////////////////////////////////////////////////////////////
// Slovenian resources
#ifdef _WIN32
LANGUAGE LANG_SLOVENIAN, SUBLANG_DEFAULT
#pragma code_page(65001)
#endif //_WIN32
#define AUTHORS
/////////////////////////////////////////////////////////////////////////////
//
// Menu
//
MainMenu MENU DISCARDABLE
BEGIN
POPUP "&Dejanja"
BEGIN
MENUITEM "&Tipkovnica potrebuje zajem", IDM_ACTION_KBD_REQ_CAPTURE
MENUITEM "&Desni CTRL je levi ALT", IDM_ACTION_RCTRL_IS_LALT
MENUITEM SEPARATOR
MENUITEM "&Ponovni zagon...", IDM_ACTION_HRESET
MENUITEM "&Ctrl+Alt+Del\tCtrl+F12", IDM_ACTION_RESET_CAD
MENUITEM SEPARATOR
MENUITEM "Ctrl+Alt+&Esc", IDM_ACTION_CTRL_ALT_ESC
MENUITEM SEPARATOR
MENUITEM "&Premor", IDM_ACTION_PAUSE
MENUITEM SEPARATOR
MENUITEM "Iz&hod...", IDM_ACTION_EXIT
END
POPUP "&Pogled"
BEGIN
MENUITEM "&Skrij statusno vrstico", IDM_VID_HIDE_STATUS_BAR
MENUITEM SEPARATOR
MENUITEM "S&premenljiva velikost okna", IDM_VID_RESIZE
MENUITEM "&Zapomni si velikost in položaj", IDM_VID_REMEMBER
MENUITEM SEPARATOR
POPUP "&Upodabljanje"
BEGIN
MENUITEM "&SDL (programsko)", IDM_VID_SDL_SW
MENUITEM "SDL (s&trojno)", IDM_VID_SDL_HW
MENUITEM "SDL (&OpenGL)", IDM_VID_SDL_OPENGL
#if defined(DEV_BRANCH) && defined(USE_OPENGL)
MENUITEM "Open&GL (3.3 Core)", IDM_VID_OPENGL_CORE
#endif
#ifdef USE_VNC
MENUITEM "&VNC", IDM_VID_VNC
#endif
END
MENUITEM SEPARATOR
MENUITEM "&Določi velikost...", IDM_VID_SPECIFY_DIM
MENUITEM "&Vsili 4:3 razmerje zaslona", IDM_VID_FORCE43
POPUP "&Faktor velikosti okna"
BEGIN
MENUITEM "&0.5x", IDM_VID_SCALE_1X
MENUITEM "&1x", IDM_VID_SCALE_2X
MENUITEM "1.&5x", IDM_VID_SCALE_3X
MENUITEM "&2x", IDM_VID_SCALE_4X
END
POPUP "&Metoda filtriranja"
BEGIN
MENUITEM "&Najbližja", IDM_VID_FILTER_NEAREST
MENUITEM "&Linearna", IDM_VID_FILTER_LINEAR
END
MENUITEM "&Raztezanje za visok DPI", IDM_VID_HIDPI
MENUITEM SEPARATOR
MENUITEM "&Celozaslonski način\tCtrl+Alt+PageUP", IDM_VID_FULLSCREEN
POPUP "&Način celozaslonskega raztezanja"
BEGIN
MENUITEM "&Raztegni na celoten zaslon", IDM_VID_FS_FULL
MENUITEM "&4:3", IDM_VID_FS_43
MENUITEM "&Kvadratni piksli (ohrani razmerje)", IDM_VID_FS_KEEPRATIO
MENUITEM "&Celoštevilsko raztezanje", IDM_VID_FS_INT
END
POPUP "Nastavitve E&GA/(S)VGA"
BEGIN
MENUITEM "&Obrni barve zaslona VGA", IDM_VID_INVERT
POPUP "&Vrsta zaslona VGA"
BEGIN
MENUITEM "&Barvni RGB", IDM_VID_GRAY_RGB
MENUITEM "&Sivinski RGB", IDM_VID_GRAY_MONO
MENUITEM "&Rumeni zaslon", IDM_VID_GRAY_AMBER
MENUITEM "&Zeleni zaslon", IDM_VID_GRAY_GREEN
MENUITEM "B&eli zaslon", IDM_VID_GRAY_WHITE
END
POPUP "V&rsta pretvorbe sivin"
BEGIN
MENUITEM "BT&601 (NTSC/PAL)", IDM_VID_GRAYCT_601
MENUITEM "BT&709 (HDTV)", IDM_VID_GRAYCT_709
MENUITEM "&Povprečje", IDM_VID_GRAYCT_AVE
END
END
MENUITEM SEPARATOR
MENUITEM "&Presežek slike CGA/PCjr/Tandy/EGA/(S)VGA", IDM_VID_OVERSCAN
MENUITEM "&Spremeni contrast za črno-beli zaslon", IDM_VID_CGACON
END
MENUITEM "&Mediji", IDM_MEDIA
POPUP "&Orodja"
BEGIN
MENUITEM "&Nastavitve...", IDM_CONFIG
MENUITEM "&Posodabljaj ikone statusne vrstice", IDM_UPDATE_ICONS
MENUITEM SEPARATOR
MENUITEM "&Spremeni jezik...", IDM_VID_PROG_SETT
# ifdef USE_DISCORD
MENUITEM SEPARATOR
MENUITEM "Omogoči integracijo s programom &Discord", IDM_DISCORD
# endif
MENUITEM SEPARATOR
MENUITEM "&Zajemi posnetek zaslona\tCtrl+F11", IDM_ACTION_SCREENSHOT
MENUITEM SEPARATOR
MENUITEM "&Ojačanje zvoka...", IDM_SND_GAIN
#ifdef MTR_ENABLED
MENUITEM SEPARATOR
MENUITEM "Z&ačni sledenje\tCtrl+T", IDM_ACTION_BEGIN_TRACE
MENUITEM "&Končaj sledenje\tCtrl+T", IDM_ACTION_END_TRACE
#endif
END
#if defined(ENABLE_LOG_TOGGLES) || defined(ENABLE_LOG_COMMANDS)
POPUP "&Beleženje"
BEGIN
# ifdef ENABLE_BUSLOGIC_LOG
MENUITEM "Omogoči beležnje za BusLogic\tCtrl+F4", IDM_LOG_BUSLOGIC
# endif
# ifdef ENABLE_CDROM_LOG
MENUITEM "Omogoči beležnje za CD-ROM\tCtrl+F5", IDM_LOG_CDROM
# endif
# ifdef ENABLE_D86F_LOG
MENUITEM "Omogoči beležnje za diskete (86F)\tCtrl+F6", IDM_LOG_D86F
# endif
# ifdef ENABLE_FDC_LOG
MENUITEM "Omogoči beležnje za disketni krmilnik\tCtrl+F7", IDM_LOG_FDC
# endif
# ifdef ENABLE_IDE_LOG
MENUITEM "Omogoči beležnje za IDE\tCtrl+F8", IDM_LOG_IDE
# endif
# ifdef ENABLE_SERIAL_LOG
MENUITEM "Omogoči beležnje za serijska vrata\tCtrl+F3", IDM_LOG_SERIAL
# endif
# ifdef ENABLE_NIC_LOG
MENUITEM "Omogoči beležnje za omrežje\tCtrl+F9", IDM_LOG_NIC
# endif
# ifdef ENABLE_LOG_COMMANDS
# ifdef ENABLE_LOG_TOGGLES
MENUITEM SEPARATOR
# endif
# ifdef ENABLE_LOG_BREAKPOINT
MENUITEM "&Zabeleži prelomno točko\tCtrl+F10", IDM_LOG_BREAKPOINT
# endif
# ifdef ENABLE_VRAM_DUMP
MENUITEM "&Izvozi pomnilnik zaslona\tCtrl+F1", IDM_DUMP_VRAM
# endif
# endif
END
#endif
POPUP "&Pomoč"
BEGIN
MENUITEM "&Dokumentacija...", IDM_DOCS
MENUITEM "&O programu 86Box...", IDM_ABOUT
END
END
StatusBarMenu MENU DISCARDABLE
BEGIN
MENUITEM SEPARATOR
END
CassetteSubmenu MENU DISCARDABLE
BEGIN
POPUP ""
BEGIN
MENUITEM "&Nova slika...", IDM_CASSETTE_IMAGE_NEW
MENUITEM SEPARATOR
MENUITEM "&Obstoječa slika...", IDM_CASSETTE_IMAGE_EXISTING
MENUITEM "Obstoječa slika (&samo za branje)...", IDM_CASSETTE_IMAGE_EXISTING_WP
MENUITEM SEPARATOR
MENUITEM "Snemaj", IDM_CASSETTE_RECORD
MENUITEM "Predvajaj", IDM_CASSETTE_PLAY
MENUITEM "Previj na začetek", IDM_CASSETTE_REWIND
MENUITEM "Preskoči na konec", IDM_CASSETTE_FAST_FORWARD
MENUITEM SEPARATOR
MENUITEM "Izvrzi", IDM_CASSETTE_EJECT
END
END
CartridgeSubmenu MENU DISCARDABLE
BEGIN
POPUP ""
BEGIN
MENUITEM "Slika...", IDM_CARTRIDGE_IMAGE
MENUITEM SEPARATOR
MENUITEM "Izvrzi", IDM_CARTRIDGE_EJECT
END
END
FloppySubmenu MENU DISCARDABLE
BEGIN
POPUP ""
BEGIN
MENUITEM "&Nova slika...", IDM_FLOPPY_IMAGE_NEW
MENUITEM SEPARATOR
MENUITEM "&Obstoječa slika...", IDM_FLOPPY_IMAGE_EXISTING
MENUITEM "Obstoječa slika (&samo za branje)...", IDM_FLOPPY_IMAGE_EXISTING_WP
MENUITEM SEPARATOR
MENUITEM "&Izvozi v 86F...", IDM_FLOPPY_EXPORT_TO_86F
MENUITEM SEPARATOR
MENUITEM "I&zvrzi", IDM_FLOPPY_EJECT
END
END
CdromSubmenu MENU DISCARDABLE
BEGIN
POPUP ""
BEGIN
MENUITEM "&Utišaj", IDM_CDROM_MUTE
MENUITEM SEPARATOR
MENUITEM "&Prazen", IDM_CDROM_EMPTY
MENUITEM "&Naloži zadnjo sliko", IDM_CDROM_RELOAD
MENUITEM SEPARATOR
MENUITEM "&Slika", IDM_CDROM_IMAGE
END
END
ZIPSubmenu MENU DISCARDABLE
BEGIN
POPUP ""
BEGIN
MENUITEM "&Nova slika...", IDM_ZIP_IMAGE_NEW
MENUITEM SEPARATOR
MENUITEM "&Obstoječa slika...", IDM_ZIP_IMAGE_EXISTING
MENUITEM "Obstoječa slika (&samo za branje)...", IDM_ZIP_IMAGE_EXISTING_WP
MENUITEM SEPARATOR
MENUITEM "I&zvrzi", IDM_ZIP_EJECT
MENUITEM "&Naloži zadnjo sliko", IDM_ZIP_RELOAD
END
END
MOSubmenu MENU DISCARDABLE
BEGIN
POPUP ""
BEGIN
MENUITEM "&Nova slika...", IDM_MO_IMAGE_NEW
MENUITEM SEPARATOR
MENUITEM "&Obstoječa slika...", IDM_MO_IMAGE_EXISTING
MENUITEM "Obstoječa slika (&samo za branje)...", IDM_MO_IMAGE_EXISTING_WP
MENUITEM SEPARATOR
MENUITEM "I&zvrzi", IDM_MO_EJECT
MENUITEM "&Naloži zadnjo sliko", IDM_MO_RELOAD
END
END
#if defined(DEV_BRANCH) && defined(USE_OPENGL)
VidGLSubMenu MENU DISCARDABLE
BEGIN
POPUP "&Ciljno št. sličic na sekundo"
BEGIN
MENUITEM "&Sinhroniziraj z videom", 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
END
MENUITEM "&VSync", IDM_VID_GL_VSYNC
MENUITEM "&Izberi senčilnik...", IDM_VID_GL_SHADER
MENUITEM "&Odstrani senčilnik", IDM_VID_GL_NOSHADER
END
#endif
/////////////////////////////////////////////////////////////////////////////
//
// Dialog
//
#define STR_PROG_SETT "Spremeni jezik"
#define STR_SND_GAIN "Ojačanje zvoka"
#define STR_NEW_FLOPPY "Nova slika"
#define STR_CONFIG "Nastavitve programa 86Box"
#define STR_SPECIFY_DIM "Določi velikost glavnega okna"
#define STR_OK "V redu"
#define STR_CANCEL "Prekliči"
#define STR_GLOBAL "Shrani te nastavitve kot globalne privzete"
#define STR_DEFAULT "Privzeto"
#define STR_LANGUAGE "Jezik:"
#define STR_ICONSET "Komplet ikon:"
#define STR_GAIN "Ojačanje"
#define STR_FILE_NAME "Ime datoteke:"
#define STR_DISK_SIZE "Velikost diska:"
#define STR_RPM_MODE "Način števila obratov:"
#define STR_PROGRESS "Napredek:"
#define STR_WIDTH "Širina:"
#define STR_HEIGHT "Višina:"
#define STR_LOCK_TO_SIZE "Zakleni na to velikost"
#define STR_MACHINE_TYPE "Vrsta sistema:"
#define STR_MACHINE "Sistem:"
#define STR_CONFIGURE "Nastavi"
#define STR_CPU_TYPE "Vrsta procesorja:"
#define STR_SPEED "Hitrost:"
#define STR_FPU "Procesor plavajoče vejice:"
#define STR_WAIT_STATES "Čakalna stanja:"
#define STR_MB "MB"
#define STR_MEMORY "Spomin:"
#define STR_TIME_SYNC "Sinhronizacija časa"
#define STR_DISABLED "Onemogočeno"
#define STR_ENABLED_LOCAL "Omogočeno (lokalni čas)"
#define STR_ENABLED_UTC "Omogočeno (UTC)"
#define STR_DYNAREC "Dinamični prevajalnik"
#define STR_VIDEO "Video:"
#define STR_VOODOO "Voodoo grafika"
#define STR_MOUSE "Miška:"
#define STR_JOYSTICK "Igralna palica:"
#define STR_JOY1 "Igralna palica 1..."
#define STR_JOY2 "Igralna palica 2..."
#define STR_JOY3 "Igralna palica 3..."
#define STR_JOY4 "Igralna palica 4..."
#define STR_SOUND "Zvočna kartica:"
#define STR_MIDI "Izhodna naprava MIDI:"
#define STR_MIDI_IN "Vhodna naprava MIDI:"
#define STR_MPU401 "Samostojen MPU-401"
#define STR_SSI "Innovation SSI-2001"
#define STR_CMS "CMS / Game Blaster"
#define STR_GUS "Gravis Ultrasound"
#define STR_FLOAT "Uporabi FLOAT32 za zvok"
#define STR_NET_TYPE "Vrsta omrežja:"
#define STR_PCAP "Naprava PCap:"
#define STR_NET "Omrežna kartica:"
#define STR_LPT1 "Naprava LPT1:"
#define STR_LPT2 "Naprava LPT2:"
#define STR_LPT3 "Naprava LPT3:"
#define STR_SERIAL1 "Serijska vrata 1"
#define STR_SERIAL2 "Serijska vrata 2"
#define STR_SERIAL3 "Serijska vrata 3"
#define STR_SERIAL4 "Serijska vrata 4"
#define STR_PARALLEL1 "Paralelna vrata 1"
#define STR_PARALLEL2 "Paralelna vrata 2"
#define STR_PARALLEL3 "Paralelna vrata 3"
#define STR_HDC "Krmilnik trdega diska:"
#define STR_FDC "Krmilnik disketnika:"
#define STR_IDE_TER "Terciarni krmilnik IDE"
#define STR_IDE_QUA "Kvartarni krmilnik IDE"
#define STR_SCSI "SCSI"
#define STR_SCSI_1 "Krmilnik 1:"
#define STR_SCSI_2 "Krmilnik 2:"
#define STR_SCSI_3 "Krmilnik 3:"
#define STR_SCSI_4 "Krmilnik 4:"
#define STR_CASSETTE "Kasetnik"
#define STR_HDD "Trdi diski:"
#define STR_NEW "Nov..."
#define STR_EXISTING "Obstoječ..."
#define STR_REMOVE "Odstrani"
#define STR_BUS "Vodilo:"
#define STR_CHANNEL "Kanal:"
#define STR_ID "ID:"
#define STR_SPECIFY "Določi..."
#define STR_SECTORS "Sektorji:"
#define STR_HEADS "Glave:"
#define STR_CYLS "Cilindri:"
#define STR_SIZE_MB "Velikost (MB):"
#define STR_TYPE "Vrsta:"
#define STR_IMG_FORMAT "Format slike:"
#define STR_BLOCK_SIZE "Velikost bloka:"
#define STR_FLOPPY_DRIVES "Disketni pogoni:"
#define STR_TURBO "Turbo časovniki"
#define STR_CHECKBPB "Preveri BPB"
#define STR_CDROM_DRIVES "Pogoni CD-ROM:"
#define STR_MO_DRIVES "Magnetno-optični pogoni:"
#define STR_ZIP_DRIVES "Pogoni ZIP:"
#define STR_250 "ZIP 250"
#define STR_ISARTC "Ura v realnem času ISA:"
#define STR_ISAMEM "Razširitev spomina ISA"
#define STR_ISAMEM_1 "Kartica 1:"
#define STR_ISAMEM_2 "Kartica 2:"
#define STR_ISAMEM_3 "Kartica 3:"
#define STR_ISAMEM_4 "Kartica 4:"
#define STR_BUGGER "Naprava ISABugger"
#define STR_POSTCARD "Kartica POST"
#define FONT_SIZE 9
#define FONT_NAME "Segoe UI"
#include "dialogs.rc"
/////////////////////////////////////////////////////////////////////////////
//
// String Table
//
STRINGTABLE DISCARDABLE
BEGIN
2048 "86Box"
IDS_2049 "Napaka"
IDS_2050 "Kritična napaka"
IDS_2051 "<rezervirano>"
IDS_2052 "Pritisnite CTRL+ALT+PAGE DOWN za povratek iz celozaslonskega načina."
IDS_2053 "Hitrost"
IDS_2054 "ZIP %03i %i (%s): %ls"
IDS_2055 "ZIP slike (*.IM?;*.ZDI)\0*.IM?;*.ZDI\0"
IDS_2056 "86Box ni našel nobenih uporabnih ROM slik.\n\nProsim <a href=""https://github.com/86Box/roms/releases/latest"">prenesite</a> set ROM-ov in ga razširite v mapo ""roms""."
IDS_2057 "(prazno)"
IDS_2058 "ZIP slike (*.IM?;*.ZDI)\0*.IM?;*.ZDI\0Vse datoteke (*.*)\0*.*\0"
IDS_2059 "Turbo"
IDS_2060 "Vključeno"
IDS_2061 "Izključeno"
IDS_2062 "Vse slike (*.86F;*.DSK;*.FLP;*.IM?;*.*FD?)\0*.86F;*.DSK;*.FLP;*.IM?;*.*FD?\0Osnovne sektorske slike (*.DSK;*.FLP;*.IM?;*.*FD?)\0*.DSK;*.FLP;*.IM?;*.IMG;*.*FD?\0Površinske slike (*.86F)\0*.86F\0"
IDS_2063 "Sistem ""%hs"" ni na voljo zaradi manjkajočih ROM-ov v mapi roms/machines. Preklapljam na drug sistem, ki je na voljo."
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_2064 "Grafična kartica ""%hs"" ni na voljo zaradi manjkajočih ROM-ov v mapi roms/video. Preklapljam na drugo grafično kartico, ki je na voljo.."
IDS_2065 "Sistem"
IDS_2066 "Zaslon"
IDS_2067 "Vhodne naprave"
IDS_2068 "Zvok"
IDS_2069 "Omrežje"
IDS_2070 "Vrata (COM & LPT)"
IDS_2071 "Krmilniki shrambe"
IDS_2072 "Trdi diski"
IDS_2073 "Disketni in CD-ROM pogoni"
IDS_2074 "Druge odstranljive naprave"
IDS_2075 "Druga periferija"
IDS_2076 "Površinske slike (*.86F)\0*.86F\0"
IDS_2077 "Kliknite za zajem miške"
IDS_2078 "Pritisnite F8+F12 za izpust miške"
IDS_2079 "Pritisnite F8+F12 ali srednji gumb za izpust miške"
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_2080 "Ne morem inicializirati FluidSynth"
IDS_2081 "Vodilo"
IDS_2082 "Datoteka"
IDS_2083 "C"
IDS_2084 "H"
IDS_2085 "S"
IDS_2086 "MB"
IDS_2087 "Preveri BPB"
IDS_2088 "KB"
IDS_2089 "Ne morem inicializirati pogona upodabljanja."
IDS_2090 "Privzeto"
IDS_2091 "%i stanj čakanja"
IDS_2092 "Vrsta"
IDS_2093 "Nastavitev PCap ni uspela"
IDS_2094 "Nobena naprava PCap ni bila najdena"
IDS_2095 "Neveljavna naprava PCap"
IDS_2096 "Standardna krmilna palica z 2 gumboma"
IDS_2097 "Standardna krmilna palica s 4 gumbi"
IDS_2098 "Standardna krmilna palica s 6 gumbi"
IDS_2099 "Standardna krmilna palica z 8 gumbi"
IDS_2100 "CH Flightstick Pro"
IDS_2101 "Microsoft SideWinder Pad"
IDS_2102 "Thrustmaster Flight Control System"
IDS_2103 "Brez"
IDS_2104 "Ne morem naložiti pospeševalnikov tipkovnice."
IDS_2105 "Ne morem registrirati surovega vnosa."
IDS_2106 "%u"
IDS_2107 "%u MB (CHS: %i, %i, %i)"
IDS_2108 "Disketa %i (%s): %ls"
IDS_2109 "Vse slike (*.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\0Napredne sektorske slike (*.IMD;*.JSON;*.TD0)\0*.IMD;*.JSON;*.TD0\0Osnovne sektorske slike (*.0??;*.1??;*.??0;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.XDF;*.*FD?)\0*.0??;*.1??;*.??0;*.BIN;*.CQ?;*.D??;*.FLP;*.HDM;*.IM?;*.XDF;*.*FD?\0Tokovne slike (*.FDI)\0*.FDI\0Površinske slike (*.86F;*.MFM)\0*.86F;*.MFM\0Vse datoteke (*.*)\0*.*\0"
IDS_2110 "Ne morem inicializirati FreeType"
IDS_2111 "Ne morem inicializirati SDL, potrebna je knjižica SDL2.dll"
IDS_2112 "Ste prepričani, da želite ponovno zagnati emulirani sistem?"
IDS_2113 "Ste prepričani, da želite zapreti 86Box?"
IDS_2114 "Ne morem inicializirati Ghostscript"
IDS_2115 "MO %i (%ls): %ls"
IDS_2116 "Slike MO (*.IM?;*.MDI)\0*.IM?;*.MDI\0Vse datoteke (*.*)\0*.*\0"
IDS_2117 "Dobrodošli v 86Box!"
IDS_2118 "Notranji krmilnik"
IDS_2119 "Izhod"
IDS_2120 "Nobeni ROM-i niso bili najdeni"
IDS_2121 "Želite shraniti nastavitve?"
IDS_2122 "To bo ponovno zagnalo emuliran sistem."
IDS_2123 "Shrani"
IDS_2124 "O programu 86Box"
IDS_2125 "86Box v" EMU_VERSION
IDS_2126 "Emulator starih računalnikov\n\nAvtorji: Sarah Walker, Miran Grca, Fred N. van Kempen (waltje), SA1988, Tiseno100, reenigne, leilei, JohnElliott, greatpsycho in drugi.\n\nIzdano pod licenco GNU General Public License različica 2 ali novejša. Glej datoteko LICENSE za več informacij."
IDS_2127 "V redu"
IDS_2128 "Strojna oprema ni na voljo"
#ifdef _WIN32
#define LIB_NAME_PCAP "WinPcap"
#else
#define LIB_NAME_PCAP "libpcap"
#endif
IDS_2129 "Prepičajte se, da je nameščen " LIB_NAME_PCAP " in da ste na omrežni povezavi, ki je združljiva z " LIB_NAME_PCAP
IDS_2130 "Neveljavna konfiguracija"
#ifdef _WIN32
#define LIB_NAME_FREETYPE "freetype.dll"
#else
#define LIB_NAME_FREETYPE "libfreetype"
#endif
IDS_2131 LIB_NAME_FREETYPE " je potreben za emuliranje ESC/P tiskalnika."
#ifdef _WIN32
#define LIB_NAME_GS "gsdll32.dll"
#else
#define LIB_NAME_GS "libgs"
#endif
IDS_2132 LIB_NAME_GS " je potreben za samodejno pretvorbo PostScript datotek v PDF.\n\nVsi dokumenti, poslani generičnemu PostScript tiskalniku bodo shranjeni kot PostScript (.ps) datoteke."
#ifdef _WIN32
#define LIB_NAME_FLUIDSYNTH "libfluidsynth.dll"
#else
#define LIB_NAME_FLUIDSYNTH "libfluidsynth"
#endif
IDS_2133 LIB_NAME_FLUIDSYNTH " je potreben za FluidSynth MIDI izhod."
IDS_2134 "Preklapljam v celozaslonski način"
IDS_2135 "Ne pokaži več tega sporočila"
IDS_2136 "Prekliči izhod"
IDS_2137 "Resetiraj"
IDS_2138 "Ne resetiraj"
IDS_2139 "Slike MO (*.IM?;*.MDI)\0*.IM?;*.MDI\0Vse datoteke (*.*)\0*.*\0"
IDS_2140 "Slike CD-ROM (*.ISO;*.CUE)\0*.ISO;*.CUE\0Vse datoteke (*.*)\0*.*\0"
IDS_2141 "Konfiguracija naprave %hs"
IDS_2142 "Zaslon v načinu spanja"
IDS_2143 "Senčilniki OpenGL (*.GLSL)\0*.GLSL\0Vse datoteke (*.*)\0*.*\0"
IDS_2144 "Možnosti OpenGL"
IDS_2145 "Nalagate nepodprto konfiguracijo"
IDS_2146 "Filtriranje vrste procesorja glede na izbran sistem je onemogočeno za ta emuliran sistem.\n\nTako lahko izberete procesor, ki je sicer nezdružljiv z izbranim sistemom. Vendar lahko naletite na nezdružljivosti z BIOS-om sistema ali drugo programsko opremo\n\nOmogočanje te nastavitve ni uradno podprto, vsa poročila o hroščih iz tega naslova pa bodo zaprta kot neveljavna."
IDS_2147 "Nadaljuj"
IDS_2148 "Kaseta: %s"
IDS_2149 "Slike kaset (*.PCM;*.RAW;*.WAV;*.CAS)\0*.PCM;*.RAW;*.WAV;*.CAS\0Vse datoteke (*.*)\0*.*\0"
IDS_2150 "Spominski vložek %i: %ls"
IDS_2151 "Slike spominskega vložka (*.A;*.B;*.JRC)\0*.A;*.B;*.JRC\0Vse datoteke (*.*)\0*.*\0"
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_4096 "Trdi disk (%s)"
IDS_4097 "%01i:%01i"
IDS_4098 "%01i"
IDS_4099 "MFM/RLL ali ESDI pogoni CD-ROM niso nikoli obstajali"
IDS_4100 "Po meri..."
IDS_4101 "Po meri (velik)..."
IDS_4102 "Dodaj nov trdi disk"
IDS_4103 "Dodaj obstoječ trdi disk"
IDS_4104 "Slike diska HDI ne morejo biti večje od 4 GB."
IDS_4105 "Slike diska ne morejo biti večje od 127 GB."
IDS_4106 "Slike trdega diska (*.HD?;*.IM?;*.VHD)\0*.HD?;*.IM?;*.VHD\0Vse datoteke (*.*)\0*.*\0"
IDS_4107 "Ne morem prebrati datoteke"
IDS_4108 "Ne morem pisati v datoteko"
IDS_4109 "Slike HDI ali HDX, ki nimajo sektorjev velikosti 512 bajtov, niso podprte."
IDS_4110 "USB še ni podprt"
IDS_4111 "Datoteka s sliko diska že obstaja"
IDS_4112 "Prosim, navedite veljavno ime datoteke."
IDS_4113 "Slika diska ustvarjena"
IDS_4114 "Prepričajte se, da datoteka obstaja in je berljiva."
IDS_4115 "Prepričajte se, da datoteko shranjujete v zapisljivo mapo."
IDS_4116 "Slika diska je prevelika"
IDS_4117 "Ne pozabite na novem disku ustvariti particij in jih formatirati."
IDS_4118 "Izbrana datoteka bo prepisana. Ali jo res želite uporabiti?"
IDS_4119 "Nepodprta slika diska"
IDS_4120 "Prepiši"
IDS_4121 "Ne prepiši"
IDS_4122 "Surova slika (.img)"
IDS_4123 "Slika HDI (.hdi)"
IDS_4124 "Slika HDX (.hdx)"
IDS_4125 "VHD fiksne velikosti (.vhd)"
IDS_4126 "Dinamičen VHD (.vhd)"
IDS_4127 "Diferencialni VHD (.vhd)"
IDS_4128 "Veliki bloki (2 MB)"
IDS_4129 "Mali bloki (512 KB)"
IDS_4130 "Datoteke VHD (*.VHD)\0*.VHD\0Vse datoteke (*.*)\0*.*\0"
IDS_4131 "Izberite starševsko sliko VHD"
IDS_4132 "To lahko pomeni, da je bila starševska slika spremenjena potem, ko je že bila ustvarjena diferencialna slika.\n\nDo tega lahko pride tudi kadar so datoteke slik diska premaknjene ali kopirane, ali pa gre za hrošča v programu, ki je ustvaril ta disk.\n\nŽelite popraviti časovni žig?"
IDS_4133 "Časovna žiga starševske slike diska in slike diska otroka se ne ujemata"
IDS_4134 "Ne morem popraviti časovnega žiga VHD."
IDS_4135 "%01i:%02i"
IDS_4352 "MFM/RLL"
IDS_4353 "XTA"
IDS_4354 "ESDI"
IDS_4355 "IDE"
IDS_4356 "ATAPI"
IDS_4357 "SCSI"
IDS_4608 "MFM/RLL (%01i:%01i)"
IDS_4609 "XTA (%01i:%01i)"
IDS_4610 "ESDI (%01i:%01i)"
IDS_4611 "IDE (%01i:%01i)"
IDS_4612 "ATAPI (%01i:%01i)"
IDS_4613 "SCSI (%01i:%02i)"
IDS_5120 "CD-ROM %i (%s): %s"
IDS_5376 "Onemogočeno"
IDS_5381 "ATAPI"
IDS_5382 "SCSI"
IDS_5632 "Onemogočeno"
IDS_5637 "ATAPI (%01i:%01i)"
IDS_5638 "SCSI (%01i:%02i)"
IDS_5888 "160 kB"
IDS_5889 "180 kB"
IDS_5890 "320 kB"
IDS_5891 "360 kB"
IDS_5892 "640 kB"
IDS_5893 "720 kB"
IDS_5894 "1.2 MB"
IDS_5895 "1.25 MB"
IDS_5896 "1.44 MB"
IDS_5897 "DMF (grozd 1024)"
IDS_5898 "DMF (grozd 2048)"
IDS_5899 "2.88 MB"
IDS_5900 "ZIP 100"
IDS_5901 "ZIP 250"
IDS_5902 "3.5"" 128Mb M.O. (ISO 10090)"
IDS_5903 "3.5"" 230Mb M.O. (ISO 13963)"
IDS_5904 "3.5"" 540Mb M.O. (ISO 15498)"
IDS_5905 "3.5"" 640Mb M.O. (ISO 15498)"
IDS_5906 "3.5"" 1.3Gb M.O. (GigaMO)"
IDS_5907 "3.5"" 2.3Gb M.O. (GigaMO 2)"
IDS_5908 "5.25"" 600Mb M.O."
IDS_5909 "5.25"" 650Mb M.O."
IDS_5910 "5.25"" 1Gb M.O."
IDS_5911 "5.25"" 1.3Gb M.O."
IDS_6144 "Popolni obrati na minuto"
IDS_6145 "1%% pod popolnimi obrati"
IDS_6146 "1.5%% pod popolnimi obrati"
IDS_6147 "2%% pod popolnimi obrati"
IDS_7168 "(Sistemsko privzeto)"
END
#define IDS_LANG_ENUS IDS_7168
// Slovenian resources
/////////////////////////////////////////////////////////////////////////////

644
src/win/languages/zh-CN.rc Normal file
View File

@@ -0,0 +1,644 @@
////////////////////////////////////////////////////////////////////////////
// Simplified Chinese resources
#ifdef _WIN32
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED
#pragma code_page(65001)
#endif //_WIN32
#define AUTHORS
/////////////////////////////////////////////////////////////////////////////
//
// Menu
//
MainMenu MENU DISCARDABLE
BEGIN
POPUP "操作(&A)"
BEGIN
MENUITEM "键盘需要捕捉(&K)", IDM_ACTION_KBD_REQ_CAPTURE
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 SEPARATOR
MENUITEM "Ctrl+Alt+&Esc", IDM_ACTION_CTRL_ALT_ESC
MENUITEM SEPARATOR
MENUITEM "暂停(&P)", IDM_ACTION_PAUSE
MENUITEM SEPARATOR
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 SEPARATOR
POPUP "渲染器(&n)"
BEGIN
MENUITEM "&SDL (软件)", IDM_VID_SDL_SW
MENUITEM "SDL (硬件 &H)", IDM_VID_SDL_HW
MENUITEM "SDL (&OpenGL)", IDM_VID_SDL_OPENGL
#if defined(DEV_BRANCH) && defined(USE_OPENGL)
MENUITEM "Open&GL (3.3 Core)", IDM_VID_OPENGL_CORE
#endif
#ifdef USE_VNC
MENUITEM "&VNC", IDM_VID_VNC
#endif
END
MENUITEM SEPARATOR
MENUITEM "指定窗口大小...", IDM_VID_SPECIFY_DIM
MENUITEM "强制 4:3 显示比例(&o)", IDM_VID_FORCE43
POPUP "窗口缩放比例(&W)"
BEGIN
MENUITEM "&0.5x", IDM_VID_SCALE_1X
MENUITEM "&1x", IDM_VID_SCALE_2X
MENUITEM "1.&5x", IDM_VID_SCALE_3X
MENUITEM "&2x", IDM_VID_SCALE_4X
END
POPUP "过滤方式"
BEGIN
MENUITEM "邻近(&N)", IDM_VID_FILTER_NEAREST
MENUITEM "线性(&L)", IDM_VID_FILTER_LINEAR
END
MENUITEM "Hi&DPI 缩放", IDM_VID_HIDPI
MENUITEM SEPARATOR
MENUITEM "全屏(&F)\tCtrl+Alt+PageUP", IDM_VID_FULLSCREEN
POPUP "全屏拉伸模式(&s)"
BEGIN
MENUITEM "全屏拉伸(&F)", IDM_VID_FS_FULL
MENUITEM "&4:3", IDM_VID_FS_43
MENUITEM "保持比例(&S)", IDM_VID_FS_KEEPRATIO
MENUITEM "整数倍放大&I", IDM_VID_FS_INT
END
POPUP "E&GA/(S)VGA 设置"
BEGIN
MENUITEM "反转 VGA 显示器(&I)", IDM_VID_INVERT
POPUP "VGA 屏幕类型(&t)"
BEGIN
MENUITEM "RGB 彩色(&C)", IDM_VID_GRAY_RGB
MENUITEM "RGB 灰度(&R)", IDM_VID_GRAY_MONO
MENUITEM "琥珀色单色显示器(&A)", IDM_VID_GRAY_AMBER
MENUITEM "绿色单色显示器(&G)", IDM_VID_GRAY_GREEN
MENUITEM "白色单色显示器(&W)", IDM_VID_GRAY_WHITE
END
POPUP "灰度转换类型(&c)"
BEGIN
MENUITEM "BT&601 (NTSC/PAL)", IDM_VID_GRAYCT_601
MENUITEM "BT&709 (HDTV)", 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
END
MENUITEM "介质(&M)", IDM_MEDIA
POPUP "工具(&T)"
BEGIN
MENUITEM "设置(&S)...", IDM_CONFIG
MENUITEM "更新状态栏图标(&U)", IDM_UPDATE_ICONS
MENUITEM SEPARATOR
MENUITEM "Change program &settings...", IDM_VID_PROG_SETT
# ifdef USE_DISCORD
MENUITEM SEPARATOR
MENUITEM "启用 Discord 集成(&D)", IDM_DISCORD
# endif
MENUITEM SEPARATOR
MENUITEM "截图(&c)\tCtrl+F11", IDM_ACTION_SCREENSHOT
MENUITEM SEPARATOR
MENUITEM "音量增益(&g)...", IDM_SND_GAIN
#ifdef MTR_ENABLED
MENUITEM SEPARATOR
MENUITEM "开始追踪\tCtrl+T", IDM_ACTION_BEGIN_TRACE
MENUITEM "结束追踪\tCtrl+T", IDM_ACTION_END_TRACE
#endif
END
#if defined(ENABLE_LOG_TOGGLES) || defined(ENABLE_LOG_COMMANDS)
POPUP "记录日志(&L)"
BEGIN
# ifdef ENABLE_BUSLOGIC_LOG
MENUITEM "启用 总线Logic 日志\tCtrl+F4", IDM_LOG_BUSLOGIC
# endif
# ifdef ENABLE_CDROM_LOG
MENUITEM "启用 CD-ROM 日志\tCtrl+F5", IDM_LOG_CDROM
# endif
# ifdef ENABLE_D86F_LOG
MENUITEM "启用 软盘(86F) 日志\tCtrl+F6", IDM_LOG_D86F
# endif
# ifdef ENABLE_FDC_LOG
MENUITEM "启用软驱控制器日志\tCtrl+F7", IDM_LOG_FDC
# endif
# ifdef ENABLE_IDE_LOG
MENUITEM "启用 IDE 日志\tCtrl+F8", IDM_LOG_IDE
# endif
# ifdef ENABLE_SERIAL_LOG
MENUITEM "启用串口日志\tCtrl+F3", IDM_LOG_SERIAL
# endif
# ifdef ENABLE_NIC_LOG
MENUITEM "启用网络日志\tCtrl+F9", IDM_LOG_NIC
# endif
# ifdef ENABLE_LOG_COMMANDS
# ifdef ENABLE_LOG_TOGGLES
MENUITEM SEPARATOR
# endif
# ifdef ENABLE_LOG_BREAKPOINT
MENUITEM "日志断点(&L)\tCtrl+F10", IDM_LOG_BREAKPOINT
# endif
# ifdef ENABLE_VRAM_DUMP
MENUITEM "创建显示内存转储(&v)\tCtrl+F1", IDM_DUMP_VRAM
# endif
# endif
END
#endif
POPUP "帮助(&H)"
BEGIN
MENUITEM "文档(&D)...", IDM_DOCS
MENUITEM "关于(&A)...", IDM_ABOUT
END
END
StatusBarMenu MENU DISCARDABLE
BEGIN
MENUITEM SEPARATOR
END
CassetteSubmenu MENU DISCARDABLE
BEGIN
POPUP ""
BEGIN
MENUITEM "新建镜像(&N)...", IDM_CASSETTE_IMAGE_NEW
MENUITEM SEPARATOR
MENUITEM "打开已存在的镜像(&E)...", IDM_CASSETTE_IMAGE_EXISTING
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
END
END
CartridgeSubmenu MENU DISCARDABLE
BEGIN
POPUP ""
BEGIN
MENUITEM "镜像(&I)...", IDM_CARTRIDGE_IMAGE
MENUITEM SEPARATOR
MENUITEM "弹出(&j)", IDM_CARTRIDGE_EJECT
END
END
FloppySubmenu MENU DISCARDABLE
BEGIN
POPUP ""
BEGIN
MENUITEM "新建镜像(&N)...", IDM_FLOPPY_IMAGE_NEW
MENUITEM SEPARATOR
MENUITEM "打开已存在的镜像(&E)...", IDM_FLOPPY_IMAGE_EXISTING
MENUITEM "写保护打开已存在的镜像(&W)...", IDM_FLOPPY_IMAGE_EXISTING_WP
MENUITEM SEPARATOR
MENUITEM "导出为86F格式(&x)...", IDM_FLOPPY_EXPORT_TO_86F
MENUITEM SEPARATOR
MENUITEM "弹出(&j)", IDM_FLOPPY_EJECT
END
END
CdromSubmenu MENU DISCARDABLE
BEGIN
POPUP ""
BEGIN
MENUITEM "静音(&M)", IDM_CDROM_MUTE
MENUITEM SEPARATOR
MENUITEM "空置驱动器(&m)", IDM_CDROM_EMPTY
MENUITEM "载入上一个镜像(&R)", IDM_CDROM_RELOAD
MENUITEM SEPARATOR
MENUITEM "镜像(&I)", IDM_CDROM_IMAGE
END
END
ZIPSubmenu MENU DISCARDABLE
BEGIN
POPUP ""
BEGIN
MENUITEM "新建镜像(&N)...", IDM_ZIP_IMAGE_NEW
MENUITEM SEPARATOR
MENUITEM "打开已存在的镜像(&E)...", IDM_ZIP_IMAGE_EXISTING
MENUITEM "写保护打开已存在的镜像(&W)...", IDM_ZIP_IMAGE_EXISTING_WP
MENUITEM SEPARATOR
MENUITEM "弹出(&j)", IDM_ZIP_EJECT
MENUITEM "载入上一个镜像(&R)", IDM_ZIP_RELOAD
END
END
MOSubmenu MENU DISCARDABLE
BEGIN
POPUP ""
BEGIN
MENUITEM "新建镜像(&N)...", IDM_MO_IMAGE_NEW
MENUITEM SEPARATOR
MENUITEM "打开已存在的镜像(&E)...", IDM_MO_IMAGE_EXISTING
MENUITEM "写保护打开已存在的镜像(&W)...", IDM_MO_IMAGE_EXISTING_WP
MENUITEM SEPARATOR
MENUITEM "弹出(&j)", IDM_MO_EJECT
MENUITEM "载入上一个镜像(&R)", IDM_MO_RELOAD
END
END
#if defined(DEV_BRANCH) && defined(USE_OPENGL)
VidGLSubMenu MENU DISCARDABLE
BEGIN
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
END
MENUITEM "VSync 垂直同步(&V)", IDM_VID_GL_VSYNC
MENUITEM "选择着色器(&S)...", IDM_VID_GL_SHADER
MENUITEM "移除着色器(&R)", IDM_VID_GL_NOSHADER
END
#endif
/////////////////////////////////////////////////////////////////////////////
//
// Dialog
//
#define STR_PROG_SETT "Program Settings"
#define STR_SND_GAIN "音量增益"
#define STR_NEW_FLOPPY "新建镜像"
#define STR_CONFIG "86Box 设置"
#define STR_SPECIFY_DIM "指定主窗口大小"
#define STR_OK "确定"
#define STR_CANCEL "取消"
#define STR_GLOBAL "将以上设定存储为全局默认值(&g)"
#define STR_DEFAULT "默认(&D)"
#define STR_LANGUAGE "语言:"
#define STR_ICONSET "图标集:"
#define STR_GAIN "增益"
#define STR_FILE_NAME "文件名:"
#define STR_DISK_SIZE "磁盘大小:"
#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 "机型:"
#define STR_CONFIGURE "配置"
#define STR_CPU_TYPE "CPU 类型:"
#define STR_SPEED "速度:"
#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_DYNAREC "动态重编译器"
#define STR_VIDEO "显卡:"
#define STR_VOODOO "Voodoo 显卡"
#define STR_MOUSE "鼠标:"
#define STR_JOYSTICK "操纵杆:"
#define STR_JOY1 "操纵杆 1..."
#define STR_JOY2 "操纵杆 2..."
#define STR_JOY3 "操纵杆 3..."
#define STR_JOY4 "操纵杆 4..."
#define STR_SOUND "声卡:"
#define STR_MIDI "MIDI 输出设备:"
#define STR_MIDI_IN "MIDI 输入设备:"
#define STR_MPU401 "独立 MPU-401"
#define STR_SSI "Innovation SSI-2001"
#define STR_CMS "CMS / Game Blaster"
#define STR_GUS "Gravis Ultrasound"
#define STR_FLOAT "使用 FLOAT32 音频"
#define STR_NET_TYPE "网络类型:"
#define STR_PCAP "PCap 设备:"
#define STR_NET "网卡类型:"
#define STR_LPT1 "LPT1 设备:"
#define STR_LPT2 "LPT2 设备:"
#define STR_LPT3 "LPT3 设备:"
#define STR_SERIAL1 "串口 1"
#define STR_SERIAL2 "串口 2"
#define STR_SERIAL3 "串口 3"
#define STR_SERIAL4 "串口 4"
#define STR_PARALLEL1 "并口 1"
#define STR_PARALLEL2 "并口 2"
#define STR_PARALLEL3 "并口 3"
#define STR_HDC "硬盘控制器:"
#define STR_FDC "软驱控制器:"
#define STR_IDE_TER "第三 IDE 控制器"
#define STR_IDE_QUA "第四 IDE 控制器"
#define STR_SCSI "SCSI"
#define STR_SCSI_1 "控制器 1:"
#define STR_SCSI_2 "控制器 2:"
#define STR_SCSI_3 "控制器 3:"
#define STR_SCSI_4 "控制器 4:"
#define STR_CASSETTE "磁带"
#define STR_HDD "硬盘:"
#define STR_NEW "新建(&N)..."
#define STR_EXISTING "已有镜像(&E)..."
#define STR_REMOVE "移除(&R)"
#define STR_BUS "总线:"
#define STR_CHANNEL "通道:"
#define STR_ID "ID:"
#define STR_SPECIFY "指定(&S)..."
#define STR_SECTORS "扇区(S):"
#define STR_HEADS "磁头(H):"
#define STR_CYLS "柱面(C):"
#define STR_SIZE_MB "大小(MB):"
#define STR_TYPE "类型:"
#define STR_IMG_FORMAT "镜像格式:"
#define STR_BLOCK_SIZE "块大小:"
#define STR_FLOPPY_DRIVES "软驱设备:"
#define STR_TURBO "加速时序"
#define STR_CHECKBPB "检查 BPB"
#define STR_CDROM_DRIVES "CD-ROM 设备:"
#define STR_MO_DRIVES "MO 设备:"
#define STR_ZIP_DRIVES "ZIP 设备:"
#define STR_250 "ZIP 250"
#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 device"
#define STR_POSTCARD "自检卡(POST)"
#define FONT_SIZE 9
#define FONT_NAME "Microsoft YaHei"
#include "dialogs.rc"
/////////////////////////////////////////////////////////////////////////////
//
// String Table
//
STRINGTABLE DISCARDABLE
BEGIN
2048 "86Box"
IDS_2049 "错误"
IDS_2050 "关键错误"
IDS_2051 "<保留>"
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_2057 "(空)"
IDS_2058 "ZIP 镜像 (*.IM?;*.ZDI)\0*.IM?;*.ZDI\0所有文件 (*.*)\0*.*\0"
IDS_2059 "Turbo"
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"" 机型不可用. 将切换到其他可用机型."
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_2064 "由于 roms/video 文件夹中缺少合适的ROM, ""%hs"" 机型不可用. 将切换到其他可用的显卡."
IDS_2065 "机型"
IDS_2066 "显示"
IDS_2067 "输入设备"
IDS_2068 "声音"
IDS_2069 "网络"
IDS_2070 "端口 (COM 与 LPT)"
IDS_2071 "存储控制器"
IDS_2072 "硬盘"
IDS_2073 "软驱和光驱"
IDS_2074 "其他可移动存储设备"
IDS_2075 "其他附件"
IDS_2076 "表面镜像 (*.86F)\0*.86F\0"
IDS_2077 "单击窗口捕捉鼠标"
IDS_2078 "按 F8+F12 释放鼠标"
IDS_2079 "按 F8+F12 或中键释放鼠标"
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_2080 "无法初始化 FluidSynth"
IDS_2081 "总线"
IDS_2082 "文件"
IDS_2083 "C"
IDS_2084 "H"
IDS_2085 "S"
IDS_2086 "MB"
IDS_2087 "检查 BPB"
IDS_2088 "KB"
IDS_2089 "无法初始化视频渲染器."
IDS_2090 "默认"
IDS_2091 "%i 等待状态(WS)"
IDS_2092 "类型"
IDS_2093 "设置 PCap 失败"
IDS_2094 "未找到 PCap 设备"
IDS_2095 "无效 PCap 设备"
IDS_2096 "标准 2键操纵杆"
IDS_2097 "标准 4键操纵杆"
IDS_2098 "标准 6键操纵杆"
IDS_2099 "标准 8键操纵杆"
IDS_2100 "CH Flightstick Pro"
IDS_2101 "Microsoft SideWinder Pad"
IDS_2102 "Thrustmaster Flight Control System"
IDS_2103 "无"
IDS_2104 "无法加载键盘加速器."
IDS_2105 "无法注册原始(raw)输入."
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_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_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_2127 "确定"
IDS_2128 "硬件不可用"
#ifdef _WIN32
#define LIB_NAME_PCAP "WinPcap"
#else
#define LIB_NAME_PCAP "libpcap"
#endif
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
#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) 文件."
#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_2136 "不退出"
IDS_2137 "重置"
IDS_2138 "不重置"
IDS_2139 "MO 镜像 (*.IM?;*.MDI)\0*.IM?;*.MDI\0所有文件 (*.*)\0*.*\0"
IDS_2140 "CD-ROM 镜像 (*.ISO;*.CUE)\0*.ISO;*.CUE\0所有文件 (*.*)\0*.*\0"
IDS_2141 "%hs 设备配置"
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_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"
END
STRINGTABLE DISCARDABLE
BEGIN
IDS_4096 "硬盘 (%s)"
IDS_4097 "%01i:%01i"
IDS_4098 "%01i"
IDS_4099 "没有 MFM/RLL 或 ESDI CD-ROM 驱动器"
IDS_4100 "自定义..."
IDS_4101 "自定义 (large)..."
IDS_4102 "添加新硬盘"
IDS_4103 "添加已存在的硬盘"
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_4111 "磁盘镜像文件已存在"
IDS_4112 "请指定有效的文件名."
IDS_4113 "磁盘镜像创建完成"
IDS_4114 "请确定此文件已存在并可读取"
IDS_4115 "请确定此文件保存在可写的文件夹中."
IDS_4116 "磁盘镜像太大"
IDS_4117 "请记得为新创建的镜像分区并格式化."
IDS_4118 "选定的文件将被覆盖. 您确定继续使用此文件吗?"
IDS_4119 "不支持的磁盘镜像"
IDS_4120 "覆盖"
IDS_4121 "不覆盖"
IDS_4122 "原始镜像 (.img)"
IDS_4123 "HDI 镜像 (.hdi)"
IDS_4124 "HDX 镜像 (.hdx)"
IDS_4125 "固定大小 VHD (.vhd)"
IDS_4126 "动态大小 VHD (.vhd)"
IDS_4127 "差分 VHD (.vhd)"
IDS_4128 "大块 (2 MB)"
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_4135 "%01i:%02i"
IDS_4352 "MFM/RLL"
IDS_4353 "XTA"
IDS_4354 "ESDI"
IDS_4355 "IDE"
IDS_4356 "ATAPI"
IDS_4357 "SCSI"
IDS_4608 "MFM/RLL (%01i:%01i)"
IDS_4609 "XTA (%01i:%01i)"
IDS_4610 "ESDI (%01i:%01i)"
IDS_4611 "IDE (%01i:%01i)"
IDS_4612 "ATAPI (%01i:%01i)"
IDS_4613 "SCSI (%01i:%02i)"
IDS_5120 "CD-ROM %i (%s): %s"
IDS_5376 "禁用"
IDS_5381 "ATAPI"
IDS_5382 "SCSI"
IDS_5632 "禁用"
IDS_5637 "ATAPI (%01i:%01i)"
IDS_5638 "SCSI (%01i:%02i)"
IDS_5888 "160 kB"
IDS_5889 "180 kB"
IDS_5890 "320 kB"
IDS_5891 "360 kB"
IDS_5892 "640 kB"
IDS_5893 "720 kB"
IDS_5894 "1.2 MB"
IDS_5895 "1.25 MB"
IDS_5896 "1.44 MB"
IDS_5897 "DMF (1024 簇)"
IDS_5898 "DMF (2048 簇)"
IDS_5899 "2.88 MB"
IDS_5900 "ZIP 100"
IDS_5901 "ZIP 250"
IDS_5902 "3.5"" 128Mb M.O. (ISO 10090)"
IDS_5903 "3.5"" 230Mb M.O. (ISO 13963)"
IDS_5904 "3.5"" 540Mb M.O. (ISO 15498)"
IDS_5905 "3.5"" 640Mb M.O. (ISO 15498)"
IDS_5906 "3.5"" 1.3Gb M.O. (GigaMO)"
IDS_5907 "3.5"" 2.3Gb M.O. (GigaMO 2)"
IDS_5908 "5.25"" 600Mb M.O."
IDS_5909 "5.25"" 650Mb M.O."
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_7168 "(系统默认)"
END
#define IDS_LANG_ENUS IDS_7168
// Simplified Chinese resources
/////////////////////////////////////////////////////////////////////////////

View File

@@ -60,7 +60,7 @@
#endif
typedef struct {
WCHAR str[512];
WCHAR str[1024];
} rc_str_t;
@@ -165,50 +165,50 @@ LoadCommonStrings(void)
free_string(&lpRCstr4096);
free_string(&lpRCstr2048);
lpRCstr2048 = (rc_str_t *)malloc(STR_NUM_2048*sizeof(rc_str_t));
lpRCstr4096 = (rc_str_t *)malloc(STR_NUM_4096*sizeof(rc_str_t));
lpRCstr4352 = (rc_str_t *)malloc(STR_NUM_4352*sizeof(rc_str_t));
lpRCstr4608 = (rc_str_t *)malloc(STR_NUM_4608*sizeof(rc_str_t));
lpRCstr5120 = (rc_str_t *)malloc(STR_NUM_5120*sizeof(rc_str_t));
lpRCstr5376 = (rc_str_t *)malloc(STR_NUM_5376*sizeof(rc_str_t));
lpRCstr5632 = (rc_str_t *)malloc(STR_NUM_5632*sizeof(rc_str_t));
lpRCstr5888 = (rc_str_t *)malloc(STR_NUM_5888*sizeof(rc_str_t));
lpRCstr6144 = (rc_str_t *)malloc(STR_NUM_6144*sizeof(rc_str_t));
lpRCstr7168 = (rc_str_t *)malloc(STR_NUM_7168*sizeof(rc_str_t));
lpRCstr2048 = calloc(STR_NUM_2048, sizeof(rc_str_t));
lpRCstr4096 = calloc(STR_NUM_4096, sizeof(rc_str_t));
lpRCstr4352 = calloc(STR_NUM_4352, sizeof(rc_str_t));
lpRCstr4608 = calloc(STR_NUM_4608, sizeof(rc_str_t));
lpRCstr5120 = calloc(STR_NUM_5120, sizeof(rc_str_t));
lpRCstr5376 = calloc(STR_NUM_5376, sizeof(rc_str_t));
lpRCstr5632 = calloc(STR_NUM_5632, sizeof(rc_str_t));
lpRCstr5888 = calloc(STR_NUM_5888, sizeof(rc_str_t));
lpRCstr6144 = calloc(STR_NUM_6144, sizeof(rc_str_t));
lpRCstr7168 = calloc(STR_NUM_7168, sizeof(rc_str_t));
for (i=0; i<STR_NUM_2048; i++)
LoadString(hinstance, 2048+i, lpRCstr2048[i].str, 512);
LoadString(hinstance, 2048+i, lpRCstr2048[i].str, 1024);
for (i=0; i<STR_NUM_4096; i++)
LoadString(hinstance, 4096+i, lpRCstr4096[i].str, 512);
LoadString(hinstance, 4096+i, lpRCstr4096[i].str, 1024);
for (i=0; i<STR_NUM_4352; i++)
LoadString(hinstance, 4352+i, lpRCstr4352[i].str, 512);
LoadString(hinstance, 4352+i, lpRCstr4352[i].str, 1024);
for (i=0; i<STR_NUM_4608; i++)
LoadString(hinstance, 4608+i, lpRCstr4608[i].str, 512);
LoadString(hinstance, 4608+i, lpRCstr4608[i].str, 1024);
for (i=0; i<STR_NUM_5120; i++)
LoadString(hinstance, 5120+i, lpRCstr5120[i].str, 512);
LoadString(hinstance, 5120+i, lpRCstr5120[i].str, 1024);
for (i=0; i<STR_NUM_5376; i++) {
if ((i == 0) || (i > 3))
LoadString(hinstance, 5376+i, lpRCstr5376[i].str, 512);
LoadString(hinstance, 5376+i, lpRCstr5376[i].str, 1024);
}
for (i=0; i<STR_NUM_5632; i++) {
if ((i == 0) || (i > 3))
LoadString(hinstance, 5632+i, lpRCstr5632[i].str, 512);
LoadString(hinstance, 5632+i, lpRCstr5632[i].str, 1024);
}
for (i=0; i<STR_NUM_5888; i++)
LoadString(hinstance, 5888+i, lpRCstr5888[i].str, 512);
LoadString(hinstance, 5888+i, lpRCstr5888[i].str, 1024);
for (i=0; i<STR_NUM_6144; i++)
LoadString(hinstance, 6144+i, lpRCstr6144[i].str, 512);
LoadString(hinstance, 6144+i, lpRCstr6144[i].str, 1024);
for (i=0; i<STR_NUM_7168; i++)
LoadString(hinstance, 7168+i, lpRCstr7168[i].str, 512);
LoadString(hinstance, 7168+i, lpRCstr7168[i].str, 1024);
}
@@ -269,9 +269,11 @@ set_language(uint32_t id)
LoadCommonStrings();
/* Reload main menu */
SetMenu(hwndMain, LoadMenu(hinstance, L"MainMenu"));
menuMain = LoadMenu(hinstance, L"MainMenu");
SetMenu(hwndMain, menuMain);
/* Re-init media menu */
/* Re-init all the menus */
ResetAllMenus();
media_menu_init();
}
}

153
src/win/win_icon.c Normal file
View File

@@ -0,0 +1,153 @@
/*
* 86Box A hypervisor and IBM PC system emulator that specializes in
* running old operating systems and software designed for IBM
* PC systems and compatibles from 1981 through fairly recent
* system designs based on the PCI bus.
*
* This file is part of the 86Box distribution.
*
* Implement the application's icon changing system.
*
*
* Authors: Laci bá'
*
* Copyright 2021 Laci bá'.
*/
#include <windows.h>
#include <windowsx.h>
#include <stdio.h>
#include <stdint.h>
#include <string.h>
#include <stdlib.h>
#include <wchar.h>
#include <86box/86box.h>
#include <86box/config.h>
#include <86box/plat.h>
#include <86box/ui.h>
#include <86box/win.h>
HICON hIcon[256]; /* icon data loaded from resources */
char icon_set[256] = ""; /* name of the iconset to be used */
void win_clear_icon_set()
{
int i;
for (i = 0; i < 256; i++)
if (hIcon[i] != 0)
{
DestroyIcon(hIcon[i]);
hIcon[i] = 0;
}
}
void win_system_icon_set()
{
int i, x = win_get_system_metrics(SM_CXSMICON, dpi), y = win_get_system_metrics(SM_CYSMICON, dpi);
for (i = 0; i < 256; i++)
hIcon[i] = LoadImage(hinstance, MAKEINTRESOURCE(i), IMAGE_ICON, x, y, LR_DEFAULTCOLOR);
}
typedef struct
{
int id;
char* filename;
} _ICON_DATA;
const _ICON_DATA icon_files[] =
{
{16, "floppy_525.ico"},
{17, "floppy_525_active.ico"},
{24, "floppy_35.ico"},
{25, "floppy_35_active.ico"},
{32, "cdrom.ico"},
{33, "cdrom_active.ico"},
{48, "zip.ico"},
{49, "zip_active.ico"},
{56, "mo.ico"},
{57, "mo_active.ico"},
{64, "cassette.ico"},
{65, "cassette_active.ico"},
{80, "hard_disk.ico"},
{81, "hard_disk_active.ico"},
{96, "network.ico"},
{97, "network_active.ico"},
{104, "cartridge.ico"},
{144, "floppy_525_empty.ico"},
{145, "floppy_525_empty_active.ico"},
{152, "floppy_35_empty.ico"},
{153, "floppy_35_empty_active.ico"},
{160, "cdrom_empty.ico"},
{161, "cdrom_empty_active.ico"},
{176, "zip_empty.ico"},
{177, "zip_empty_active.ico"},
{184, "mo_empty.ico"},
{185, "mo_empty_active.ico"},
{192, "cassette_empty.ico"},
{193, "cassette_empty_active.ico"},
{232, "cartridge_empty.ico"},
{240, "machine.ico"},
{241, "display.ico"},
{242, "input_devices.ico"},
{243, "sound.ico"},
{244, "ports.ico"},
{245, "other_peripherals.ico"},
{246, "floppy_and_cdrom_drives.ico"},
{247, "other_removable_devices.ico"},
{248, "floppy_disabled.ico"},
{249, "cdrom_disabled.ico"},
{250, "zip_disabled.ico"},
{251, "mo_disabled.ico"},
{252, "storage_controllers.ico"}
};
void win_get_icons_path(char* path_root)
{
char roms_root[1024] = {0};
if (rom_path[0])
strcpy(roms_root, rom_path);
else
plat_append_filename(roms_root, exe_path, "roms");
plat_append_filename(path_root, roms_root, "icons");
plat_path_slash(path_root);
}
void win_load_icon_set()
{
win_clear_icon_set();
win_system_icon_set();
if (strlen(icon_set) == 0)
return;
char path_root[2048] = {0}, temp[2048] = {0};
wchar_t wtemp[2048] = {0};
win_get_icons_path(path_root);
strcat(path_root, icon_set);
plat_path_slash(path_root);
int i, count = sizeof(icon_files) / sizeof(_ICON_DATA),
x = win_get_system_metrics(SM_CXSMICON, dpi), y = win_get_system_metrics(SM_CYSMICON, dpi);
for (i = 0; i < count; i++)
{
plat_append_filename(temp, path_root, icon_files[i].filename);
mbstowcs(wtemp, temp, strlen(temp) + 1);
HICON ictemp;
ictemp = LoadImageW(NULL, (LPWSTR)wtemp, IMAGE_ICON, x, y, LR_LOADFROMFILE | LR_DEFAULTCOLOR);
if (ictemp)
{
if (hIcon[icon_files[i].id])
DestroyIcon(hIcon[icon_files[i].id]);
hIcon[icon_files[i].id] = ictemp;
}
}
uint32_t curr_lang = lang_id;
lang_id = 0;
set_language(curr_lang);
}

View File

@@ -6,8 +6,7 @@
*
* This file is part of the 86Box distribution.
*
* Handle the dialog for changing the program's language.
*
* Handle the dialog for changing the program's language and other global settings.
*
*
* Authors: Laci '
@@ -36,6 +35,8 @@
/* Language */
static LCID temp_language;
static char temp_icon_set[256] = {0};
int enum_helper, c;
HWND hwndProgSett;
@@ -76,28 +77,104 @@ progsett_fill_languages(HWND hdlg)
SendMessage(lang_combo, CB_SETCURSEL, enum_helper, 0);
}
/* Load available iconsets */
static void
progsett_fill_iconsets(HWND hdlg)
{
HWND icon_combo = GetDlgItem(hdlg, IDC_COMBO_ICON);
/* Add the default one */
wchar_t buffer[512] = L"(";
wcscat(buffer, plat_get_string(IDS_2090));
wcscat(buffer, L")");
SendMessage(icon_combo, CB_RESETCONTENT, 0, 0);
SendMessage(icon_combo, CB_ADDSTRING, 0, (LPARAM)buffer);
SendMessage(icon_combo, CB_SETITEMDATA, 0, (LPARAM)strdup(""));
int combo_index = -1;
/* Find for extra ones */
HANDLE hFind;
WIN32_FIND_DATA data;
char icon_path_root[512];
win_get_icons_path(icon_path_root);
wchar_t search[512];
mbstowcs(search, icon_path_root, strlen(icon_path_root) + 1);
wcscat(search, L"*.*");
hFind = FindFirstFile((LPCWSTR)search, &data);
if (hFind != INVALID_HANDLE_VALUE) {
do {
if (wcscmp(data.cFileName, L".") && wcscmp(data.cFileName, L"..") &&
(data.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY))
{
wchar_t temp[512] = {0}, dispname[512] = {0};
mbstowcs(temp, icon_path_root, strlen(icon_path_root) + 1);
wcscat(temp, data.cFileName);
wcscat(temp, L"\\iconinfo.txt");
wcscpy(dispname, data.cFileName);
FILE *fp = _wfopen(temp, L"r");
if (fp)
{
char line[512] = {0};
if (fgets(line, 511, fp))
{
mbstowcs(dispname, line, strlen(line) + 1);
}
fclose(fp);
}
char filename[512];
wcstombs(filename, data.cFileName, 511);
int index = SendMessage(icon_combo, CB_ADDSTRING, 0, (LPARAM)dispname);
SendMessage(icon_combo, CB_SETITEMDATA, index, (LPARAM)(strdup(filename)));
if (!strcmp(filename, icon_set))
combo_index = index;
}
} while (FindNextFile(hFind, &data));
FindClose(hFind);
}
if (combo_index == -1)
{
combo_index = 0;
strcpy(temp_icon_set, "");
}
SendMessage(icon_combo, CB_SETCURSEL, combo_index, 0);
}
/* This returns 1 if any variable has changed, 0 if not. */
static int
progsett_settings_changed(void)
{
int i = 0;
int i = 0;
/* Language */
i = i || has_language_changed(temp_language);
i = i || strcmp(temp_icon_set, icon_set);
return i;
return i;
}
/* IndexOf by ItemData */
static int
progsett_indexof(HWND combo, LPARAM itemdata)
{
int i;
for (i = 0; i < SendMessage(combo, CB_GETCOUNT, 0, 0); i++)
if (SendMessage(combo, CB_GETITEMDATA, i, 0) == itemdata)
return i;
int i;
for (i = 0; i < SendMessage(combo, CB_GETCOUNT, 0, 0); i++)
if (SendMessage(combo, CB_GETITEMDATA, i, 0) == itemdata)
return i;
return -1;
return -1;
}
/* This saves the settings back to the global variables. */
@@ -107,16 +184,20 @@ progsett_settings_save(void)
/* Language */
set_language(temp_language);
/* Iconset */
strcpy(icon_set, temp_icon_set);
win_load_icon_set();
/* Update title bar */
update_mouse_msg();
update_mouse_msg();
/* Update status bar */
config_changed = 1;
ui_sb_set_ready(0);
ui_sb_update_panes();
/* Update status bar */
config_changed = 1;
ui_sb_set_ready(0);
ui_sb_update_panes();
/* Save the language changes */
config_save();
/* Save the language changes */
config_save();
}
#if defined(__amd64__) || defined(__aarch64__)
@@ -131,7 +212,9 @@ ProgSettDlgProcedure(HWND hdlg, UINT message, WPARAM wParam, LPARAM lParam)
hwndProgSett = hdlg;
/* Language */
temp_language = lang_id;
strcpy(temp_icon_set, icon_set);
progsett_fill_languages(hdlg);
progsett_fill_iconsets(hdlg);
break;
case WM_COMMAND:
@@ -154,6 +237,14 @@ ProgSettDlgProcedure(HWND hdlg, UINT message, WPARAM wParam, LPARAM lParam)
}
break;
case IDC_COMBO_ICON:
if (HIWORD(wParam) == CBN_SELCHANGE) {
HWND combo = GetDlgItem(hdlg, IDC_COMBO_ICON);
int index = SendMessage(combo, CB_GETCURSEL, 0, 0);
strcpy(temp_icon_set, (char*)SendMessage(combo, CB_GETITEMDATA, index, 0));
}
break;
case IDC_BUTTON_DEFAULT: {
HWND combo = GetDlgItem(hdlg, IDC_COMBO_LANG);
int index = progsett_indexof(combo, DEFAULT_LANGUAGE);
@@ -161,10 +252,33 @@ ProgSettDlgProcedure(HWND hdlg, UINT message, WPARAM wParam, LPARAM lParam)
temp_language = DEFAULT_LANGUAGE;
break;
}
case IDC_BUTTON_DEFICON: {
SendMessage(GetDlgItem(hdlg, IDC_COMBO_ICON), CB_SETCURSEL, 0, 0);
strcpy(temp_icon_set, "");
break;
}
default:
break;
}
break;
case WM_DESTROY: {
int i;
LRESULT temp;
HWND combo = GetDlgItem(hdlg, IDC_COMBO_ICON);
for (i = 0; i < SendMessage(combo, CB_GETCOUNT, 0, 0); i++)
{
temp = SendMessage(combo, CB_GETITEMDATA, i, 0);
if (temp)
{
free((void*)temp);
SendMessage(combo, CB_SETITEMDATA, i, 0);
}
}
}
break;
}
return(FALSE);

View File

@@ -76,7 +76,6 @@
static int first_cat = 0;
static int dpi = 96;
/* Machine category */
static int temp_machine_type, temp_machine, temp_cpu, temp_wait_states, temp_fpu, temp_sync;
@@ -265,13 +264,8 @@ image_list_init(HWND hdlg, int id, const uint8_t *icon_ids)
if (icon_ids[i] == 0)
break;
#if defined(__amd64__) || defined(__aarch64__)
hiconItem = LoadIcon(hinstance, (LPCWSTR) ((uint64_t) icon_ids[i]));
#else
hiconItem = LoadIcon(hinstance, (LPCWSTR) ((uint32_t) icon_ids[i]));
#endif
hiconItem = hIcon[icon_ids[i]];
ImageList_AddIcon(hSmall, hiconItem);
DestroyIcon(hiconItem);
i++;
}

View File

@@ -71,7 +71,6 @@ static uint8_t *sb_part_icons;
static int sb_parts = 0;
static int sb_ready = 0;
static uint8_t sb_map[256];
static int dpi = 96;
static int icon_width = 24;
static wchar_t sb_text[512] = L"\0";
static wchar_t sb_bugtext[512] = L"\0";
@@ -878,46 +877,7 @@ StatusBarPopupMenu(HWND hwnd, POINT pt, int id)
/* API: Load status bar icons */
void
StatusBarLoadIcon(HINSTANCE hInst) {
int i;
int x = win_get_system_metrics(SM_CXSMICON, dpi);
for (i=0; i<256; i++) {
if (hIcon[i] != 0)
DestroyIcon(hIcon[i]);
}
for (i = 16; i < 18; i++)
hIcon[i] = LoadImage(hInst, MAKEINTRESOURCE(i), IMAGE_ICON, x, x, LR_DEFAULTCOLOR);
for (i = 24; i < 26; i++)
hIcon[i] = LoadImage(hInst, MAKEINTRESOURCE(i), IMAGE_ICON, x, x, LR_DEFAULTCOLOR);
for (i = 32; i < 34; i++)
hIcon[i] = LoadImage(hInst, MAKEINTRESOURCE(i), IMAGE_ICON, x, x, LR_DEFAULTCOLOR);
for (i = 48; i < 50; i++)
hIcon[i] = LoadImage(hInst, MAKEINTRESOURCE(i), IMAGE_ICON, x, x, LR_DEFAULTCOLOR);
for (i = 56; i < 58; i++)
hIcon[i] = LoadImage(hInst, MAKEINTRESOURCE(i), IMAGE_ICON, x, x, LR_DEFAULTCOLOR);
for (i = 64; i < 66; i++)
hIcon[i] = LoadImage(hInst, MAKEINTRESOURCE(i), IMAGE_ICON, x, x, LR_DEFAULTCOLOR);
for (i = 80; i < 82; i++)
hIcon[i] = LoadImage(hInst, MAKEINTRESOURCE(i), IMAGE_ICON, x, x, LR_DEFAULTCOLOR);
for (i = 96; i < 98; i++)
hIcon[i] = LoadImage(hInst, MAKEINTRESOURCE(i), IMAGE_ICON, x, x, LR_DEFAULTCOLOR);
hIcon[104] = LoadImage(hInst, MAKEINTRESOURCE(104), IMAGE_ICON, x, x, LR_DEFAULTCOLOR);
for (i = 144; i < 146; i++)
hIcon[i] = LoadImage(hInst, MAKEINTRESOURCE(i), IMAGE_ICON, x, x, LR_DEFAULTCOLOR);
for (i = 152; i < 154; i++)
hIcon[i] = LoadImage(hInst, MAKEINTRESOURCE(i), IMAGE_ICON, x, x, LR_DEFAULTCOLOR);
for (i = 160; i < 162; i++)
hIcon[i] = LoadImage(hInst, MAKEINTRESOURCE(i), IMAGE_ICON, x, x, LR_DEFAULTCOLOR);
for (i = 176; i < 178; i++)
hIcon[i] = LoadImage(hInst, MAKEINTRESOURCE(i), IMAGE_ICON, x, x, LR_DEFAULTCOLOR);
for (i = 184; i < 186; i++)
hIcon[i] = LoadImage(hInst, MAKEINTRESOURCE(i), IMAGE_ICON, x, x, LR_DEFAULTCOLOR);
for (i = 192; i < 194; i++)
hIcon[i] = LoadImage(hInst, MAKEINTRESOURCE(i), IMAGE_ICON, x, x, LR_DEFAULTCOLOR);
hIcon[232] = LoadImage(hInst, MAKEINTRESOURCE(232), IMAGE_ICON, x, x, LR_DEFAULTCOLOR);
for (i = 243; i < 244; i++)
hIcon[i] = LoadImage(hInst, MAKEINTRESOURCE(i), IMAGE_ICON, x, x, LR_DEFAULTCOLOR);
win_load_icon_set();
}
/* Handle messages for the Status Bar window. */

View File

@@ -59,7 +59,6 @@
HWND hwndMain, /* application main window */
hwndRender; /* machine render window */
HMENU menuMain; /* application main menu */
HICON hIcon[256]; /* icon data loaded from resources */
RECT oldclip; /* mouse rect */
int sbar_height = 23; /* statusbar height */
int minimized = 0;
@@ -69,6 +68,7 @@ int user_resize = 0;
int fixed_size_x = 0, fixed_size_y = 0;
int kbd_req_capture = 0;
int hide_status_bar = 0;
int dpi = 96;
extern char openfilestring[512];
extern WCHAR wopenfilestring[512];
@@ -78,7 +78,6 @@ extern WCHAR wopenfilestring[512];
static wchar_t wTitle[512];
static int manager_wm = 0;
static int save_window_pos = 0, pause_state = 0;
static int dpi = 96;
static int padded_frame = 0;
static int vis = -1;
@@ -153,15 +152,6 @@ show_cursor(int val)
vis = val;
}
HICON
LoadIconEx(PCTSTR pszIconName)
{
return((HICON)LoadImage(hinstance, pszIconName, IMAGE_ICON,
16, 16, LR_SHARED));
}
static void
video_toggle_option(HMENU h, int *val, int id)
{
@@ -203,22 +193,22 @@ delete_submenu(HMENU parent, HMENU target)
}
#endif
static int menu_vidapi = -1;
static HMENU cur_menu = NULL;
static void
show_render_options_menu()
{
#if defined(DEV_BRANCH) && defined(USE_OPENGL)
static int menu_vidapi = -1;
static HMENU cur_menu = NULL;
if (vid_api == menu_vidapi)
return;
if (cur_menu != NULL)
{
if (delete_submenu(menuMain, cur_menu))
cur_menu = NULL;
}
if (cur_menu == NULL)
{
switch (IDM_VID_SDL_SW + vid_api)
@@ -251,7 +241,7 @@ video_set_filter_menu(HMENU menu)
EnableMenuItem(menu, IDM_VID_FILTER_LINEAR, vid_api == 0 ? MF_GRAYED : MF_ENABLED);
}
static void
void
ResetAllMenus(void)
{
CheckMenuItem(menuMain, IDM_ACTION_RCTRL_IS_LALT, MF_UNCHECKED);
@@ -294,6 +284,9 @@ ResetAllMenus(void)
CheckMenuItem(menuMain, IDM_VID_SDL_OPENGL, MF_UNCHECKED);
#if defined(DEV_BRANCH) && defined(USE_OPENGL)
CheckMenuItem(menuMain, IDM_VID_OPENGL_CORE, MF_UNCHECKED);
menu_vidapi = -1;
cur_menu = NULL;
show_render_options_menu();
#endif
#ifdef USE_VNC
@@ -1074,6 +1067,7 @@ MainWindowProcedure(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
break;
case WM_DESTROY:
win_clear_icon_set();
KillTimer(hwnd, TIMER_1SEC);
PostQuitMessage(0);
break;
@@ -1401,9 +1395,17 @@ ui_init(int nCmdShow)
ResizeWindowByClientArea(hwndMain, scrnsz_x, scrnsz_y + sbar_height);
}
/* Load the desired language, and reset all menus to their defaults */
uint32_t helper_lang = lang_id;
lang_id = 0;
set_language(helper_lang);
/* Reset all menus to their defaults. */
ResetAllMenus();
media_menu_init();
/* Load the desired iconset */
win_load_icon_set();
/* Make the window visible on the screen. */
ShowWindow(hwnd, nCmdShow);