mirror of
https://github.com/86Box/86Box.git
synced 2026-02-23 18:08:20 -07:00
Merge branch '86Box:master' into master
This commit is contained in:
@@ -26,9 +26,9 @@ Minimum system requirements and recommendations
|
||||
* macOS version: macOS High Sierra 10.13 or newer
|
||||
* 4 GB of RAM or higher
|
||||
|
||||
Performance may vary depending on both host and guest configuration. Most emulation logic is executed in a single thread; therefore, systems with better IPC (instructions per clock) generally should be able to emulate higher clock speeds.
|
||||
Performance may vary depending on host and guest configuration. Most emulation logic is executed in a single thread. Therefore, systems with greater IPC (instructions per clock) capacity should be able to emulate higher clock speeds.
|
||||
|
||||
It is also recommended to use a manager application with 86Box for easier handling of multiple virtual machines.
|
||||
For easier handling of multiple virtual machines, use a manager application:
|
||||
|
||||
* [Avalonia 86](https://github.com/notBald/Avalonia86) by [notBald](https://github.com/notBald) (Windows and Linux)
|
||||
* [86Box Manager](https://github.com/86Box/86BoxManager) by [Overdoze](https://github.com/daviunic) (Windows only)
|
||||
@@ -37,7 +37,7 @@ It is also recommended to use a manager application with 86Box for easier handli
|
||||
* [Linbox-qt5](https://github.com/Dungeonseeker/linbox-qt5) by [Dungeonseeker](https://github.com/Dungeonseeker/) (Linux focused, should work on Windows though untested)
|
||||
* [MacBox for 86Box](https://github.com/Moonif/MacBox) by [Moonif](https://github.com/Moonif) (MacOS only)
|
||||
|
||||
It is also possible to use 86Box on its own with the `--vmpath`/`-P` command line option.
|
||||
To use 86Box on its own, use the `--vmpath`/`-P` command line option.
|
||||
|
||||
Getting started
|
||||
---------------
|
||||
@@ -47,7 +47,7 @@ See [our documentation](https://86box.readthedocs.io/en/latest/index.html) for a
|
||||
Community
|
||||
---------
|
||||
|
||||
We operate an IRC channel and a Discord server for discussing 86Box, its development and anything related to retro computing. We look forward to hearing from you!
|
||||
We operate an IRC channel and a Discord server for discussing 86Box, its development, and anything related to retro computing. We look forward to hearing from you!
|
||||
|
||||
[](https://kiwiirc.com/client/irc.ringoflightning.net/?nick=86box|?#86Box)
|
||||
|
||||
|
||||
29
src/86box.c
29
src/86box.c
@@ -168,7 +168,6 @@ int vid_api = 0; /* (C) video r
|
||||
int vid_cga_contrast = 0; /* (C) video */
|
||||
int video_fullscreen = 0; /* (C) video */
|
||||
int video_fullscreen_scale = 0; /* (C) video */
|
||||
int video_fullscreen_first = 0; /* (C) video */
|
||||
int enable_overscan = 0; /* (C) video */
|
||||
int force_43 = 0; /* (C) video */
|
||||
int video_filter_method = 1; /* (C) video */
|
||||
@@ -1251,20 +1250,48 @@ pc_send_ca(uint16_t sc)
|
||||
if (keyboard_mode >= 0x81) {
|
||||
/* Use R-Alt because PS/55 DOS and OS/2 assign L-Alt Kanji */
|
||||
keyboard_input(1, 0x1D); /* Ctrl key pressed */
|
||||
if (keyboard_get_in_reset())
|
||||
return;
|
||||
keyboard_input(1, 0x138); /* R-Alt key pressed */
|
||||
if (keyboard_get_in_reset())
|
||||
return;
|
||||
keyboard_input(1, sc);
|
||||
if (keyboard_get_in_reset())
|
||||
return;
|
||||
usleep(50000);
|
||||
if (keyboard_get_in_reset())
|
||||
return;
|
||||
keyboard_input(0, sc);
|
||||
if (keyboard_get_in_reset())
|
||||
return;
|
||||
keyboard_input(0, 0x138); /* R-Alt key released */
|
||||
if (keyboard_get_in_reset())
|
||||
return;
|
||||
keyboard_input(0, 0x1D); /* Ctrl key released */
|
||||
if (keyboard_get_in_reset())
|
||||
return;
|
||||
} else {
|
||||
keyboard_input(1, 0x1D); /* Ctrl key pressed */
|
||||
if (keyboard_get_in_reset())
|
||||
return;
|
||||
keyboard_input(1, 0x38); /* Alt key pressed */
|
||||
if (keyboard_get_in_reset())
|
||||
return;
|
||||
keyboard_input(1, sc);
|
||||
if (keyboard_get_in_reset())
|
||||
return;
|
||||
usleep(50000);
|
||||
if (keyboard_get_in_reset())
|
||||
return;
|
||||
keyboard_input(0, sc);
|
||||
if (keyboard_get_in_reset())
|
||||
return;
|
||||
keyboard_input(0, 0x38); /* Alt key released */
|
||||
if (keyboard_get_in_reset())
|
||||
return;
|
||||
keyboard_input(0, 0x1D); /* Ctrl key released */
|
||||
if (keyboard_get_in_reset())
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -39,6 +39,7 @@ add_library(chipset OBJECT
|
||||
intel_i450kx.c
|
||||
intel_sio.c
|
||||
intel_piix.c
|
||||
isa486c.c
|
||||
../ioapic.c
|
||||
neat.c
|
||||
opti283.c
|
||||
|
||||
131
src/chipset/isa486c.c
Normal file
131
src/chipset/isa486c.c
Normal file
@@ -0,0 +1,131 @@
|
||||
#include <stdarg.h>
|
||||
#include <stdint.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <wchar.h>
|
||||
#define HAVE_STDARG_H
|
||||
#include <86box/86box.h>
|
||||
#include "cpu.h"
|
||||
#include <86box/io.h>
|
||||
#include <86box/device.h>
|
||||
#include <86box/mem.h>
|
||||
#include <86box/plat_unused.h>
|
||||
#include <86box/chipset.h>
|
||||
|
||||
typedef struct isa486c_t {
|
||||
uint8_t regs[3];
|
||||
} isa486c_t;
|
||||
|
||||
static void
|
||||
isa486c_recalcmapping(isa486c_t *dev)
|
||||
{
|
||||
uint32_t shflags = 0;
|
||||
uint32_t bases[5] = { 0x000c0000, 0x000c8000, 0x000d0000, 0x000d8000, 0x000e0000 };
|
||||
uint32_t sizes[5] = { 0x00008000, 0x00008000, 0x00008000, 0x00008000, 0x00020000 };
|
||||
|
||||
if (dev->regs[1] & 0x20)
|
||||
shflags = MEM_READ_EXTANY | MEM_WRITE_INTERNAL;
|
||||
else
|
||||
shflags = MEM_READ_INTERNAL | MEM_WRITE_EXTANY;
|
||||
|
||||
shadowbios = 0;
|
||||
shadowbios_write = 0;
|
||||
|
||||
for (uint8_t i = 0; i < 5; i++)
|
||||
if (dev->regs[1] & (1 << i)) {
|
||||
if (i == 4) {
|
||||
shadowbios = 1;
|
||||
shadowbios_write = !!(dev->regs[1] & 0x20);
|
||||
}
|
||||
|
||||
mem_set_mem_state_both(bases[i], sizes[i], shflags);
|
||||
} else
|
||||
mem_set_mem_state_both(bases[i], sizes[i], MEM_READ_EXTANY | MEM_WRITE_EXTANY);
|
||||
|
||||
flushmmucache_nopc();
|
||||
}
|
||||
|
||||
static void
|
||||
isa486c_write(uint16_t addr, uint8_t val, void *priv)
|
||||
{
|
||||
isa486c_t *dev = (isa486c_t *) priv;
|
||||
|
||||
switch (addr) {
|
||||
case 0x0023:
|
||||
dev->regs[0] = val;
|
||||
break;
|
||||
/*
|
||||
Port 25h:
|
||||
- Bit 0 = Video BIOS (C000-C7FF) shadow enabled;
|
||||
- Bit 1 = C800-C8FF shadow enabled;
|
||||
- Bit 2 = D000-D7FF shadow enabled;
|
||||
- Bit 3 = D800-DFFF shadow enabled;
|
||||
- Bit 4 = E000-FFFF shadow enabled (or F0000-FFFFF?);
|
||||
- Bit 5 = If set, read from ROM, write to shadow;
|
||||
- Bit 6 = KEN Video & BIOS enabled (cacheability!).
|
||||
*/
|
||||
case 0x0025:
|
||||
dev->regs[1] = val;
|
||||
isa486c_recalcmapping(dev);
|
||||
break;
|
||||
case 0x0027:
|
||||
dev->regs[2] = val;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static uint8_t
|
||||
isa486c_read(uint16_t addr, void *priv)
|
||||
{
|
||||
isa486c_t *dev = (isa486c_t *) priv;
|
||||
uint8_t ret = 0xff;
|
||||
|
||||
switch (addr) {
|
||||
case 0x0023:
|
||||
ret = dev->regs[0];
|
||||
break;
|
||||
case 0x0025:
|
||||
ret = dev->regs[1];
|
||||
break;
|
||||
case 0x0027:
|
||||
ret = dev->regs[2];
|
||||
break;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static void
|
||||
isa486c_close(void *priv)
|
||||
{
|
||||
isa486c_t *dev = (isa486c_t *) priv;
|
||||
|
||||
free(dev);
|
||||
}
|
||||
|
||||
static void *
|
||||
isa486c_init(UNUSED(const device_t *info))
|
||||
{
|
||||
isa486c_t *dev = (isa486c_t *) calloc(1, sizeof(isa486c_t));
|
||||
|
||||
io_sethandler(0x0023, 0x0001, isa486c_read, NULL, NULL, isa486c_write, NULL, NULL, dev);
|
||||
io_sethandler(0x0025, 0x0001, isa486c_read, NULL, NULL, isa486c_write, NULL, NULL, dev);
|
||||
io_sethandler(0x0027, 0x0001, isa486c_read, NULL, NULL, isa486c_write, NULL, NULL, dev);
|
||||
|
||||
return dev;
|
||||
}
|
||||
|
||||
const device_t isa486c_device = {
|
||||
.name = "ASUS ISA-486C Gate Array",
|
||||
.internal_name = "isa486c",
|
||||
.flags = 0,
|
||||
.local = 0,
|
||||
.init = isa486c_init,
|
||||
.close = isa486c_close,
|
||||
.reset = NULL,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
@@ -780,8 +780,18 @@ host_x86_MOV32_REG_ABS(codeblock_t *block, int dst_reg, void *p)
|
||||
codegen_alloc_bytes(block, 8);
|
||||
codegen_addbyte4(block, 0x41, 0x8b, 0x84 | ((dst_reg & 7) << 3), 0x24); /*MOV dst_reg, ram_offset[R12]*/
|
||||
codegen_addlong(block, ram_offset);
|
||||
} else if ((ram_offset < -2147483648LL) || (ram_offset > 2147483647LL) || !(block->flags & CODEBLOCK_NO_IMMEDIATES)) {
|
||||
// fatal("host_x86_MOV32_REG_ABS - out of range\n");
|
||||
// void *q = p;
|
||||
//uint32_t *r = NULL;
|
||||
// *r = 5; /* Crash deliberately. */
|
||||
codegen_alloc_bytes(block, 8);
|
||||
codegen_addbyte2(block, 0x49, 0xb9); /*MOV r9,(uintptr_t) p*/
|
||||
codegen_addquad(block, (uintptr_t) p);
|
||||
codegen_alloc_bytes(block, 3);
|
||||
codegen_addbyte3(block, 0x41, 0x8b, 0x01 | ((dst_reg & 7) << 3)); /*MOV dst_reg, [R9]*/
|
||||
} else {
|
||||
fatal("host_x86_MOV32_REG_ABS - out of range\n");
|
||||
fatal("host_x86_MOV32_REG_ABS - RAM offset = %016" PRIX64 " (p - ram = %016" PRIX64 ")\n", ram_offset, (uintptr_t) p - (uintptr_t) ram);
|
||||
codegen_alloc_bytes(block, 6);
|
||||
codegen_addbyte(block, 0x8b); /*MOV [p], src_reg*/
|
||||
codegen_addbyte(block, 0x05 | ((dst_reg & 7) << 3));
|
||||
|
||||
@@ -128,8 +128,6 @@ load_general(void)
|
||||
|
||||
video_fullscreen_scale = ini_section_get_int(cat, "video_fullscreen_scale", 1);
|
||||
|
||||
video_fullscreen_first = ini_section_get_int(cat, "video_fullscreen_first", 1);
|
||||
|
||||
video_filter_method = ini_section_get_int(cat, "video_filter_method", 1);
|
||||
|
||||
inhibit_multimedia_keys = ini_section_get_int(cat, "inhibit_multimedia_keys", 0);
|
||||
@@ -1832,7 +1830,6 @@ config_load(void)
|
||||
gfxcard[0] = video_get_video_from_internal_name("cga");
|
||||
vid_api = plat_vidapi("default");
|
||||
vid_resize = 0;
|
||||
video_fullscreen_first = 1;
|
||||
video_fullscreen_scale = 1;
|
||||
time_sync = TIME_SYNC_ENABLED;
|
||||
hdc_current[0] = hdc_get_from_internal_name("none");
|
||||
@@ -1955,11 +1952,6 @@ save_general(void)
|
||||
else
|
||||
ini_section_set_int(cat, "video_fullscreen_scale", video_fullscreen_scale);
|
||||
|
||||
if (video_fullscreen_first == 1)
|
||||
ini_section_delete_var(cat, "video_fullscreen_first");
|
||||
else
|
||||
ini_section_set_int(cat, "video_fullscreen_first", video_fullscreen_first);
|
||||
|
||||
if (video_filter_method == 1)
|
||||
ini_section_delete_var(cat, "video_filter_method");
|
||||
else
|
||||
|
||||
68
src/device.c
68
src/device.c
@@ -390,42 +390,18 @@ device_get_priv(const device_t *dev)
|
||||
int
|
||||
device_available(const device_t *dev)
|
||||
{
|
||||
if (dev != NULL) {
|
||||
const device_config_t *config = dev->config;
|
||||
if (config != NULL) {
|
||||
while (config->type != CONFIG_END) {
|
||||
if (config->type == CONFIG_BIOS) {
|
||||
int roms_present = 0;
|
||||
const device_config_bios_t *bios = (const device_config_bios_t *) config->bios;
|
||||
|
||||
/* Go through the ROM's in the device configuration. */
|
||||
while ((bios != NULL) &&
|
||||
(bios->name != NULL) &&
|
||||
(bios->internal_name != NULL) &&
|
||||
(bios->files_no != 0)) {
|
||||
int i = 0;
|
||||
for (uint8_t bf = 0; bf < bios->files_no; bf++)
|
||||
i += !!rom_present(bios->files[bf]);
|
||||
if (i == bios->files_no)
|
||||
roms_present++;
|
||||
bios++;
|
||||
}
|
||||
|
||||
return (roms_present ? -1 : 0);
|
||||
}
|
||||
config++;
|
||||
}
|
||||
}
|
||||
int ret = machine_device_available(dev);
|
||||
|
||||
if (ret == 0) {
|
||||
/* No CONFIG_BIOS field present, use the classic available(). */
|
||||
if (dev->available != NULL)
|
||||
return (dev->available());
|
||||
ret = (dev->available());
|
||||
else
|
||||
return 1;
|
||||
}
|
||||
ret = (dev != NULL);
|
||||
} else
|
||||
ret = (ret == -1);
|
||||
|
||||
/* A NULL device is never available. */
|
||||
return 0;
|
||||
return ret;
|
||||
}
|
||||
|
||||
uint8_t
|
||||
@@ -969,6 +945,36 @@ machine_get_config_string(char *str)
|
||||
return ret;
|
||||
}
|
||||
|
||||
int
|
||||
machine_device_available(const device_t *dev)
|
||||
{
|
||||
if (dev != NULL) {
|
||||
const device_config_t *config = dev->config;
|
||||
if ((config != NULL) && (config->type == CONFIG_BIOS)) {
|
||||
int roms_present = 0;
|
||||
const device_config_bios_t *bios = (const device_config_bios_t *) config->bios;
|
||||
|
||||
/* Go through the ROM's in the device configuration. */
|
||||
while ((bios != NULL) &&
|
||||
(bios->name != NULL) &&
|
||||
(bios->internal_name != NULL) &&
|
||||
(bios->files_no != 0)) {
|
||||
int i = 0;
|
||||
for (uint8_t bf = 0; bf < bios->files_no; bf++)
|
||||
i += !!rom_present(bios->files[bf]);
|
||||
if (i == bios->files_no)
|
||||
roms_present++;
|
||||
bios++;
|
||||
}
|
||||
|
||||
return (roms_present ? -1 : -2);
|
||||
}
|
||||
}
|
||||
|
||||
/* NULL device or no CONFIG_BIOS field, return 0. */
|
||||
return 0;
|
||||
}
|
||||
|
||||
const device_t *
|
||||
device_context_get_device(void)
|
||||
{
|
||||
|
||||
@@ -64,11 +64,12 @@ static int keydelay[512];
|
||||
#endif
|
||||
static scancode *scan_table; /* scancode table for keyboard */
|
||||
|
||||
static volatile uint8_t caps_lock = 0;
|
||||
static volatile uint8_t num_lock = 0;
|
||||
static volatile uint8_t scroll_lock = 0;
|
||||
static volatile uint8_t kana_lock = 0;
|
||||
static uint8_t shift = 0;
|
||||
static volatile uint8_t caps_lock = 0;
|
||||
static volatile uint8_t num_lock = 0;
|
||||
static volatile uint8_t scroll_lock = 0;
|
||||
static volatile uint8_t kana_lock = 0;
|
||||
static volatile uint8_t kbd_in_reset = 0;
|
||||
static uint8_t shift = 0;
|
||||
|
||||
static int key5576mode = 0;
|
||||
|
||||
@@ -106,11 +107,12 @@ static scconvtbl scconv55_8a[18 + 1] =
|
||||
void
|
||||
keyboard_init(void)
|
||||
{
|
||||
num_lock = 0;
|
||||
caps_lock = 0;
|
||||
scroll_lock = 0;
|
||||
kana_lock = 0;
|
||||
shift = 0;
|
||||
num_lock = 0;
|
||||
caps_lock = 0;
|
||||
scroll_lock = 0;
|
||||
kana_lock = 0;
|
||||
shift = 0;
|
||||
kbd_in_reset = 0;
|
||||
|
||||
memset(recv_key, 0x00, sizeof(recv_key));
|
||||
memset(recv_key_ui, 0x00, sizeof(recv_key));
|
||||
@@ -238,6 +240,9 @@ key_process(uint16_t scan, int down)
|
||||
void
|
||||
keyboard_input(int down, uint16_t scan)
|
||||
{
|
||||
if (kbd_in_reset)
|
||||
return;
|
||||
|
||||
/* Special case for E1 1D, translate it to 0100 - special case. */
|
||||
if ((scan >> 8) == 0xe1) {
|
||||
if ((scan & 0xff) == 0x1d)
|
||||
@@ -343,9 +348,9 @@ void
|
||||
keyboard_all_up(void)
|
||||
{
|
||||
for (unsigned short i = 0; i < 0x200; i++) {
|
||||
if (recv_key_ui[i]) {
|
||||
if (recv_key_ui[i])
|
||||
recv_key_ui[i] = 0;
|
||||
}
|
||||
|
||||
if (recv_key[i]) {
|
||||
recv_key[i] = 0;
|
||||
key_process(i, 0);
|
||||
@@ -353,6 +358,18 @@ keyboard_all_up(void)
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
keyboard_set_in_reset(uint8_t in_reset)
|
||||
{
|
||||
kbd_in_reset = in_reset;
|
||||
}
|
||||
|
||||
uint8_t
|
||||
keyboard_get_in_reset(void)
|
||||
{
|
||||
return kbd_in_reset;
|
||||
}
|
||||
|
||||
static uint8_t
|
||||
keyboard_do_break(uint16_t scan)
|
||||
{
|
||||
|
||||
@@ -3476,7 +3476,10 @@ keyboard_at_bat(void *priv)
|
||||
|
||||
keyboard_scan = 1;
|
||||
|
||||
keyboard_all_up();
|
||||
keyboard_update_states(0, 0, 0, 0);
|
||||
|
||||
keyboard_set_in_reset(0);
|
||||
kbc_at_dev_queue_add(dev, 0xaa, 0);
|
||||
} else {
|
||||
bat_counter--;
|
||||
@@ -3714,6 +3717,7 @@ keyboard_at_write(void *priv)
|
||||
break;
|
||||
|
||||
case 0xff: /* reset */
|
||||
keyboard_set_in_reset(1);
|
||||
kbc_at_dev_reset(dev, 1);
|
||||
bat_counter = 1000;
|
||||
break;
|
||||
|
||||
@@ -158,6 +158,8 @@ postcard_init(UNUSED(const device_t *info))
|
||||
postcard_port = 0x84; /* ISA Compaq machines */
|
||||
else if (strstr(machines[machine].name, "Olivetti"))
|
||||
postcard_port = 0x378; /* Olivetti machines */
|
||||
else if (!strcmp(machines[machine].internal_name, "isa486c"))
|
||||
postcard_port = 0x5080; /* ASUS ISA-486C */
|
||||
else
|
||||
postcard_port = 0x80; /* AT and clone machines */
|
||||
postcard_log("POST card initializing on port %04Xh\n", postcard_port);
|
||||
|
||||
@@ -55,7 +55,6 @@ typedef struct rz1000_t {
|
||||
|
||||
static int next_id = 0;
|
||||
|
||||
#define ENABLE_RZ1000_LOG 1
|
||||
#ifdef ENABLE_RZ1000_LOG
|
||||
int rz1000_do_log = ENABLE_RZ1000_LOG;
|
||||
|
||||
|
||||
@@ -1106,6 +1106,36 @@ xta_close(void *priv)
|
||||
|
||||
static const device_config_t wdxt150_config[] = {
|
||||
// clang-format off
|
||||
{
|
||||
.name = "bios_rev",
|
||||
.description = "BIOS Revision",
|
||||
.type = CONFIG_BIOS,
|
||||
.default_string = "rev_1",
|
||||
.default_int = 0,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.bios = {
|
||||
{
|
||||
.name = "Revision 1.0",
|
||||
.internal_name = "rev_1",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 8192,
|
||||
.files = { WD_REV_1_BIOS_FILE, "" }
|
||||
},
|
||||
{
|
||||
.name = "Revision 2.0",
|
||||
.internal_name = "rev_2",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 8192,
|
||||
.files = { WD_REV_2_BIOS_FILE, "" }
|
||||
},
|
||||
{ .files_no = 0 }
|
||||
},
|
||||
},
|
||||
{
|
||||
.name = "base",
|
||||
.description = "Address",
|
||||
@@ -1151,36 +1181,6 @@ static const device_config_t wdxt150_config[] = {
|
||||
},
|
||||
.bios = { { 0 } }
|
||||
},
|
||||
{
|
||||
.name = "bios_rev",
|
||||
.description = "BIOS Revision",
|
||||
.type = CONFIG_BIOS,
|
||||
.default_string = "rev_1",
|
||||
.default_int = 0,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.bios = {
|
||||
{
|
||||
.name = "Revision 1.0",
|
||||
.internal_name = "rev_1",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 8192,
|
||||
.files = { WD_REV_1_BIOS_FILE, "" }
|
||||
},
|
||||
{
|
||||
.name = "Revision 2.0",
|
||||
.internal_name = "rev_2",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 8192,
|
||||
.files = { WD_REV_2_BIOS_FILE, "" }
|
||||
},
|
||||
{ .files_no = 0 }
|
||||
},
|
||||
},
|
||||
{ .name = "", .description = "", .type = CONFIG_END }
|
||||
// clang-format off
|
||||
};
|
||||
|
||||
@@ -252,6 +252,37 @@ xtide_at_close(void *priv)
|
||||
|
||||
// clang-format off
|
||||
static const device_config_t xtide_config[] = {
|
||||
{
|
||||
.name = "bios",
|
||||
.description = "BIOS Revision",
|
||||
.type = CONFIG_BIOS,
|
||||
.default_string = "xt",
|
||||
.default_int = 0,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = { { 0 } },
|
||||
.bios = {
|
||||
{
|
||||
.name = "Regular XT",
|
||||
.internal_name = "xt",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 8192,
|
||||
.files = { ROM_PATH_XT, "" }
|
||||
},
|
||||
{
|
||||
.name = "XT+ (V20/V30/8018x)",
|
||||
.internal_name = "xt_plus",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 8192,
|
||||
.files = { ROM_PATH_XTP, "" }
|
||||
},
|
||||
{ .files_no = 0 }
|
||||
},
|
||||
},
|
||||
{
|
||||
.name = "base",
|
||||
.description = "Address",
|
||||
@@ -348,37 +379,6 @@ static const device_config_t xtide_config[] = {
|
||||
},
|
||||
.bios = { { 0 } }
|
||||
},
|
||||
{
|
||||
.name = "bios",
|
||||
.description = "BIOS Revision",
|
||||
.type = CONFIG_BIOS,
|
||||
.default_string = "xt",
|
||||
.default_int = 0,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = { { 0 } },
|
||||
.bios = {
|
||||
{
|
||||
.name = "Regular XT",
|
||||
.internal_name = "xt",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 8192,
|
||||
.files = { ROM_PATH_XT, "" }
|
||||
},
|
||||
{
|
||||
.name = "XT+ (V20/V30/8018x)",
|
||||
.internal_name = "xt_plus",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 8192,
|
||||
.files = { ROM_PATH_XTP, "" }
|
||||
},
|
||||
{ .files_no = 0 }
|
||||
},
|
||||
},
|
||||
{ .name = "", .description = "", .type = CONFIG_END }
|
||||
};
|
||||
|
||||
|
||||
@@ -279,6 +279,15 @@ fdc_is_mfm(fdc_t *fdc)
|
||||
return fdc->mfm ? 1 : 0;
|
||||
}
|
||||
|
||||
int
|
||||
fdc_is_dma(fdc_t *fdc)
|
||||
{
|
||||
if ((fdc->flags & FDC_FLAG_PCJR) || !fdc->dma)
|
||||
return 0;
|
||||
else
|
||||
return 1;
|
||||
}
|
||||
|
||||
void
|
||||
fdc_request_next_sector_id(fdc_t *fdc)
|
||||
{
|
||||
|
||||
@@ -2414,16 +2414,28 @@ d86f_turbo_poll(int drive, int side)
|
||||
case STATE_0C_READ_DATA:
|
||||
case STATE_11_SCAN_DATA:
|
||||
case STATE_16_VERIFY_DATA:
|
||||
d86f_turbo_read(drive, side);
|
||||
if (fdc_is_dma(d86f_fdc))
|
||||
for (int i = 0; i < (128 << dev->last_sector.id.n); i++)
|
||||
d86f_turbo_read(drive, side);
|
||||
else
|
||||
d86f_turbo_read(drive, side);
|
||||
break;
|
||||
|
||||
case STATE_05_WRITE_DATA:
|
||||
case STATE_09_WRITE_DATA:
|
||||
d86f_turbo_write(drive, side);
|
||||
if (fdc_is_dma(d86f_fdc))
|
||||
for (int i = 0; i < (128 << dev->last_sector.id.n); i++)
|
||||
d86f_turbo_write(drive, side);
|
||||
else
|
||||
d86f_turbo_write(drive, side);
|
||||
break;
|
||||
|
||||
case STATE_0D_FORMAT_TRACK:
|
||||
d86f_turbo_format(drive, side, (side && (d86f_get_sides(drive) != 2)));
|
||||
if (fdc_is_dma(d86f_fdc))
|
||||
while (dev->state == STATE_0D_FORMAT_TRACK)
|
||||
d86f_turbo_format(drive, side, (side && (d86f_get_sides(drive) != 2)));
|
||||
else
|
||||
d86f_turbo_format(drive, side, (side && (d86f_get_sides(drive) != 2)));
|
||||
return;
|
||||
|
||||
case STATE_IDLE:
|
||||
|
||||
@@ -121,7 +121,6 @@ extern int dpi_scale; /* (C) DPI scaling of the emulated s
|
||||
extern int vid_api; /* (C) video renderer */
|
||||
extern int vid_cga_contrast; /* (C) video */
|
||||
extern int video_fullscreen; /* (C) video */
|
||||
extern int video_fullscreen_first; /* (C) video */
|
||||
extern int video_fullscreen_scale; /* (C) video */
|
||||
extern int enable_overscan; /* (C) video */
|
||||
extern int force_43; /* (C) video */
|
||||
|
||||
@@ -37,6 +37,9 @@ extern const device_t ali6117d_device;
|
||||
/* AMD */
|
||||
extern const device_t amd640_device;
|
||||
|
||||
/* ASUS */
|
||||
extern const device_t isa486c_device;
|
||||
|
||||
/* Compaq */
|
||||
extern const device_t compaq_386_device;
|
||||
extern const device_t compaq_genoa_device;
|
||||
|
||||
@@ -239,6 +239,8 @@ extern const char *device_get_internal_name(const device_t *dev);
|
||||
extern int machine_get_config_int(char *str);
|
||||
extern const char *machine_get_config_string(char *str);
|
||||
|
||||
extern int machine_device_available(const device_t *dev);
|
||||
|
||||
extern const device_t device_none;
|
||||
extern const device_t device_internal;
|
||||
|
||||
|
||||
@@ -206,6 +206,7 @@ extern int fdc_get_drive(fdc_t *fdc);
|
||||
extern int fdc_get_perp(fdc_t *fdc);
|
||||
extern int fdc_get_format_n(fdc_t *fdc);
|
||||
extern int fdc_is_mfm(fdc_t *fdc);
|
||||
extern int fdc_is_dma(fdc_t *fdc);
|
||||
extern double fdc_get_hut(fdc_t *fdc);
|
||||
extern double fdc_get_hlt(fdc_t *fdc);
|
||||
extern void fdc_request_next_sector_id(fdc_t *fdc);
|
||||
|
||||
@@ -273,6 +273,8 @@ extern void keyboard_input(int down, uint16_t scan);
|
||||
extern void keyboard_all_up(void);
|
||||
extern void keyboard_update_states(uint8_t cl, uint8_t nl, uint8_t sl, uint8_t kl);
|
||||
extern uint8_t keyboard_get_shift(void);
|
||||
extern void keyboard_set_in_reset(uint8_t in_reset);
|
||||
extern uint8_t keyboard_get_in_reset(void);
|
||||
extern void keyboard_get_states(uint8_t *cl, uint8_t *nl, uint8_t *sl, uint8_t *kl);
|
||||
extern void keyboard_set_states(uint8_t cl, uint8_t nl, uint8_t sl);
|
||||
extern int keyboard_recv(uint16_t key);
|
||||
|
||||
@@ -508,11 +508,13 @@ extern int machine_at_pc916sx_init(const machine_t *);
|
||||
sure this appear here (and in the .c file) in the order and position
|
||||
in which they appear in the machine table. */
|
||||
extern int machine_at_dataexpert386wb_init(const machine_t *);
|
||||
extern int machine_at_isa486c_init(const machine_t *);
|
||||
extern int machine_at_genoa486_init(const machine_t *);
|
||||
extern int machine_at_ga486l_init(const machine_t *);
|
||||
extern int machine_at_cougar_init(const machine_t *);
|
||||
|
||||
extern int machine_at_acc386_init(const machine_t *);
|
||||
extern int machine_at_asus386_3364k_init(const machine_t *);
|
||||
extern int machine_at_asus386_init(const machine_t *);
|
||||
extern int machine_at_ecs386_init(const machine_t *);
|
||||
extern int machine_at_spc6000a_init(const machine_t *);
|
||||
|
||||
@@ -32,8 +32,8 @@
|
||||
/* String ID numbers. */
|
||||
enum {
|
||||
STRING_MOUSE_CAPTURE, /* "Click to capture mouse" */
|
||||
STRING_MOUSE_RELEASE, /* "Press F8+F12 to release mouse" */
|
||||
STRING_MOUSE_RELEASE_MMB, /* "Press F8+F12 or middle button to release mouse" */
|
||||
STRING_MOUSE_RELEASE, /* "Press %1 to release mouse" */
|
||||
STRING_MOUSE_RELEASE_MMB, /* "Press %1 or middle button to release mouse" */
|
||||
STRING_INVALID_CONFIG, /* "Invalid configuration" */
|
||||
STRING_NO_ST506_ESDI_CDROM, /* "MFM/RLL or ESDI CD-ROM drives never existed" */
|
||||
STRING_NET_ERROR, /* "Failed to initialize network driver" */
|
||||
|
||||
@@ -189,7 +189,6 @@ extern uint32_t pal_lookup[256];
|
||||
#endif
|
||||
extern int video_fullscreen;
|
||||
extern int video_fullscreen_scale;
|
||||
extern int video_fullscreen_first;
|
||||
extern uint8_t fontdat[2048][8];
|
||||
extern uint8_t fontdatm[2048][16];
|
||||
extern uint8_t fontdat2[2048][8];
|
||||
@@ -488,6 +487,7 @@ extern const device_t s3_metheus_86c928_isa_device;
|
||||
extern const device_t s3_metheus_86c928_vlb_device;
|
||||
extern const device_t s3_spea_mercury_lite_86c928_pci_device;
|
||||
extern const device_t s3_spea_mirage_86c801_isa_device;
|
||||
extern const device_t s3_winner1000_805_isa_device;
|
||||
extern const device_t s3_86c805_onboard_vlb_device;
|
||||
extern const device_t s3_spea_mirage_86c805_vlb_device;
|
||||
extern const device_t s3_mirocrystal_8s_805_vlb_device;
|
||||
|
||||
@@ -72,6 +72,27 @@ machine_at_acc386_init(const machine_t *model)
|
||||
return ret;
|
||||
}
|
||||
|
||||
int
|
||||
machine_at_asus386_3364k_init(const machine_t *model)
|
||||
{
|
||||
int ret;
|
||||
|
||||
ret = bios_load_linear("roms/machines/asus386_3364k/am27c512dip28-64b53c26be3d8160533563.bin",
|
||||
0x000f0000, 65536, 0);
|
||||
|
||||
if (bios_only || !ret)
|
||||
return ret;
|
||||
|
||||
machine_at_common_init(model);
|
||||
device_add(&rabbit_device);
|
||||
device_add(&keyboard_at_ami_device);
|
||||
|
||||
if (fdc_current[0] == FDC_INTERNAL)
|
||||
device_add(&fdc_at_device);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
int
|
||||
machine_at_asus386_init(const machine_t *model)
|
||||
{
|
||||
@@ -2445,6 +2466,30 @@ machine_at_dataexpert386wb_init(const machine_t *model)
|
||||
return ret;
|
||||
}
|
||||
|
||||
int
|
||||
machine_at_isa486c_init(const machine_t *model)
|
||||
{
|
||||
int ret;
|
||||
|
||||
ret = bios_load_linear("roms/machines/isa486c/asus-isa-486c-401a0-040591-657e2c17a0218417632602.bin",
|
||||
0x000f0000, 65536, 0);
|
||||
|
||||
if (bios_only || !ret)
|
||||
return ret;
|
||||
|
||||
machine_at_common_init(model);
|
||||
|
||||
device_add(&isa486c_device);
|
||||
device_add(&port_92_key_device);
|
||||
|
||||
device_add(&keyboard_at_ami_device);
|
||||
|
||||
if (fdc_current[0] == FDC_INTERNAL)
|
||||
device_add(&fdc_at_device);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
int
|
||||
machine_at_genoa486_init(const machine_t *model)
|
||||
{
|
||||
|
||||
@@ -219,7 +219,22 @@ machine_at_ambradp60_init(const machine_t *model)
|
||||
if (bios_only || !ret)
|
||||
return ret;
|
||||
|
||||
machine_at_premiere_common_init(model, 0);
|
||||
machine_at_common_init_ex(model, 2);
|
||||
|
||||
device_add(&amstrad_megapc_nvr_device);
|
||||
device_add(&ide_pci_device);
|
||||
|
||||
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(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_phoenix_device);
|
||||
device_add(&sio_zb_device);
|
||||
device_add(&fdc37c665_ide_pri_device);
|
||||
device_add(&intel_flash_bxt_ami_device);
|
||||
|
||||
device_add(&i430lx_device);
|
||||
|
||||
@@ -239,7 +254,7 @@ machine_at_valuepointp60_init(const machine_t *model)
|
||||
return ret;
|
||||
|
||||
machine_at_common_init(model);
|
||||
device_add(&ide_pci_2ch_device);
|
||||
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);
|
||||
@@ -251,6 +266,7 @@ machine_at_valuepointp60_init(const machine_t *model)
|
||||
pci_register_slot(0x02, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
|
||||
device_add(&keyboard_ps2_ps1_pci_device);
|
||||
device_add(&sio_device);
|
||||
device_add(&ide_rz1000_pci_single_channel_device);
|
||||
device_add(&fdc37c665_device);
|
||||
device_add(&intel_flash_bxt_ami_device);
|
||||
|
||||
|
||||
@@ -110,19 +110,19 @@ machine_at_p54np4_init(const machine_t *model)
|
||||
return ret;
|
||||
|
||||
machine_at_common_init(model);
|
||||
device_add(&ide_vlb_2ch_device);
|
||||
|
||||
pci_init(PCI_CONFIG_TYPE_2 | PCI_NO_IRQ_STEERING);
|
||||
pci_init(PCI_CONFIG_TYPE_2 | PCI_CAN_SWITCH_TYPE);
|
||||
pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 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(0x06, PCI_CARD_NORMAL, 1, 2, 3, 4); /* 06 = Slot 1 */
|
||||
pci_register_slot(0x05, PCI_CARD_NORMAL, 2, 3, 4, 1); /* 05 = Slot 2 */
|
||||
pci_register_slot(0x04, PCI_CARD_NORMAL, 3, 4, 1, 2); /* 04 = Slot 3 */
|
||||
pci_register_slot(0x03, PCI_CARD_NORMAL, 4, 1, 2, 3); /* 03 = Slot 4 */
|
||||
pci_register_slot(0x02, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
|
||||
device_add(&i430nx_device);
|
||||
device_add(&sio_zb_device);
|
||||
device_add(&keyboard_ps2_ami_pci_device);
|
||||
device_add(&fdc37c665_ide_pri_device);
|
||||
device_add(&ncr53c810_onboard_pci_device);
|
||||
device_add(&intel_flash_bxt_device);
|
||||
|
||||
return ret;
|
||||
|
||||
@@ -825,13 +825,58 @@ machine_at_vectra54_init(const machine_t *model)
|
||||
return ret;
|
||||
}
|
||||
|
||||
static const device_config_t c5sbm2_config[] = {
|
||||
// clang-format off
|
||||
{
|
||||
.name = "bios",
|
||||
.description = "BIOS Version",
|
||||
.type = CONFIG_BIOS,
|
||||
.default_string = "5sbm2",
|
||||
.default_int = 0,
|
||||
.file_filter = "",
|
||||
.spinner = { 0 },
|
||||
.bios = {
|
||||
{ .name = "4.50GP (07/17/1995)", .internal_name = "5sbm2", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 131072, .files = { "roms/machines/5sbm2/5SBM0717.BIN", "" } },
|
||||
{ .name = "4.50PG (03/21/1996)", .internal_name = "5sbm2_450pg", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 131072, .files = { "roms/machines/5sbm2/5SBM0326.BIN", "" } },
|
||||
{ .name = "4.51PG (03/15/2000 Unicore Upgrade)", .internal_name = "5sbm2_451pg", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 131072, .files = { "roms/machines/5sbm2/2A5ICC3A.BIN", "" } },
|
||||
{ .files_no = 0 }
|
||||
},
|
||||
},
|
||||
{ .name = "", .description = "", .type = CONFIG_END }
|
||||
// clang-format on
|
||||
};
|
||||
|
||||
const device_t c5sbm2_device = {
|
||||
.name = "Chaintech 5SBM/5SBM2 (M103)",
|
||||
.internal_name = "5sbm2_device",
|
||||
.flags = 0,
|
||||
.local = 0,
|
||||
.init = NULL,
|
||||
.close = NULL,
|
||||
.reset = NULL,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = c5sbm2_config
|
||||
};
|
||||
|
||||
int
|
||||
machine_at_5sbm2_init(const machine_t *model)
|
||||
{
|
||||
int ret;
|
||||
int ret = 0;
|
||||
const char* fn;
|
||||
|
||||
ret = bios_load_linear("roms/machines/5sbm2/5SBM0717.BIN",
|
||||
0x000e0000, 131072, 0);
|
||||
/* No ROMs available */
|
||||
if (!device_available(model->device))
|
||||
return ret;
|
||||
|
||||
device_context(model->device);
|
||||
fn = device_get_bios_file(machine_get_device(machine), device_get_config_bios("bios"), 0);
|
||||
ret = bios_load_linear(fn, 0x000e0000, 131072, 0);
|
||||
device_context_restore();
|
||||
|
||||
if (bios_only || !ret)
|
||||
return ret;
|
||||
|
||||
@@ -154,6 +154,14 @@ lxt_ems_write(uint32_t addr, uint8_t val, void *priv)
|
||||
mem[addr & 0x3fff] = val;
|
||||
}
|
||||
|
||||
static void
|
||||
lxt_ems_writew(uint32_t addr, uint16_t val, void *priv)
|
||||
{
|
||||
uint8_t *mem = (uint8_t *) priv;
|
||||
|
||||
*(uint16_t *) &(mem[addr & 0x3fff]) = val;
|
||||
}
|
||||
|
||||
static uint8_t
|
||||
lxt_ems_read(uint32_t addr, void *priv)
|
||||
{
|
||||
@@ -165,6 +173,17 @@ lxt_ems_read(uint32_t addr, void *priv)
|
||||
return ret;
|
||||
}
|
||||
|
||||
static uint16_t
|
||||
lxt_ems_readw(uint32_t addr, void *priv)
|
||||
{
|
||||
uint8_t *mem = (uint8_t *) priv;
|
||||
uint16_t ret = 0xff;
|
||||
|
||||
ret = *(uint16_t *) &(mem[addr & 0x3fff]);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static lxt_ems_board_t *
|
||||
lxt_ems_init(lxt_t *parent, int en, uint16_t io, uint32_t mem)
|
||||
{
|
||||
@@ -186,10 +205,17 @@ lxt_ems_init(lxt_t *parent, int en, uint16_t io, uint32_t mem)
|
||||
for (uint8_t i = 0; i < 4; i++) {
|
||||
uint8_t *ptr = dev->ram + (i << 14);
|
||||
|
||||
mem_mapping_add(&dev->ems[i].mapping, 0xe0000 + (i << 14), 0x4000,
|
||||
lxt_ems_read, NULL, NULL,
|
||||
lxt_ems_write, NULL, NULL,
|
||||
ptr, 0, ptr);
|
||||
if (parent->is_lxt3)
|
||||
mem_mapping_add(&dev->ems[i].mapping, 0xe0000 + (i << 14), 0x4000,
|
||||
lxt_ems_read, lxt_ems_readw, NULL,
|
||||
lxt_ems_write, lxt_ems_writew, NULL,
|
||||
ptr, 0, ptr);
|
||||
else
|
||||
mem_mapping_add(&dev->ems[i].mapping, 0xe0000 + (i << 14), 0x4000,
|
||||
lxt_ems_read, NULL, NULL,
|
||||
lxt_ems_write, NULL, NULL,
|
||||
ptr, 0, ptr);
|
||||
|
||||
mem_mapping_disable(&dev->ems[i].mapping);
|
||||
|
||||
dev->ems[i].page = 0x7f;
|
||||
|
||||
@@ -139,18 +139,24 @@ machine_init(void)
|
||||
int
|
||||
machine_available(int m)
|
||||
{
|
||||
int ret;
|
||||
int ret = 0;
|
||||
const device_t *dev = machine_get_device(m);
|
||||
|
||||
bios_only = 1;
|
||||
if (dev != NULL)
|
||||
ret = machine_device_available(dev);
|
||||
/*
|
||||
Only via machine_init_ex() if the device is NULL or
|
||||
it lacks a CONFIG_BIOS field (or the CONFIG_BIOS field
|
||||
is not the first in list.
|
||||
*/
|
||||
if (ret == 0) {
|
||||
bios_only = 1;
|
||||
|
||||
ret = device_available(dev);
|
||||
/* Do not check via machine_init_ex() if the device is not NULL and
|
||||
it has a CONFIG_BIOS field. */
|
||||
if ((dev == NULL) || (ret != -1))
|
||||
ret = machine_init_ex(m);
|
||||
|
||||
bios_only = 0;
|
||||
bios_only = 0;
|
||||
} else if (ret == -2)
|
||||
ret = 0;
|
||||
|
||||
return !!ret;
|
||||
}
|
||||
|
||||
@@ -68,6 +68,7 @@ extern const device_t ibmxt286_device;
|
||||
extern const device_t pb450_device;
|
||||
extern const device_t jukopc_device;
|
||||
extern const device_t vendex_device;
|
||||
extern const device_t c5sbm2_device;
|
||||
|
||||
const machine_filter_t machine_types[] = {
|
||||
{ "None", MACHINE_TYPE_NONE },
|
||||
@@ -5632,6 +5633,46 @@ const machine_t machines[] = {
|
||||
.snd_device = NULL,
|
||||
.net_device = NULL
|
||||
},
|
||||
/* Has Award KBC firmware. */
|
||||
{
|
||||
.name = "[SiS 310] ASUS 386/33-64K",
|
||||
.internal_name = "asus386_3364k",
|
||||
.type = MACHINE_TYPE_386DX,
|
||||
.chipset = MACHINE_CHIPSET_SIS_310,
|
||||
.init = machine_at_asus386_3364k_init,
|
||||
.p1_handler = NULL,
|
||||
.gpio_handler = NULL,
|
||||
.available_flag = MACHINE_AVAILABLE,
|
||||
.gpio_acpi_handler = NULL,
|
||||
.cpu = {
|
||||
.package = CPU_PKG_386DX,
|
||||
.block = CPU_BLOCK_NONE,
|
||||
.min_bus = 0,
|
||||
.max_bus = 0,
|
||||
.min_voltage = 0,
|
||||
.max_voltage = 0,
|
||||
.min_multi = 0,
|
||||
.max_multi = 0
|
||||
},
|
||||
.bus_flags = MACHINE_AT,
|
||||
.flags = MACHINE_APM,
|
||||
.ram = {
|
||||
.min = 1024,
|
||||
.max = 16384,
|
||||
.step = 1024
|
||||
},
|
||||
.nvrmask = 127,
|
||||
.kbc_device = NULL,
|
||||
.kbc_p1 = 0xff,
|
||||
.gpio = 0xffffffff,
|
||||
.gpio_acpi = 0xffffffff,
|
||||
.device = NULL,
|
||||
.fdc_device = NULL,
|
||||
.sio_device = NULL,
|
||||
.vid_device = NULL,
|
||||
.snd_device = NULL,
|
||||
.net_device = NULL
|
||||
},
|
||||
/* Has AMIKey F KBC firmware. */
|
||||
{
|
||||
.name = "[SiS 310] ASUS ISA-386C",
|
||||
@@ -5998,6 +6039,46 @@ const machine_t machines[] = {
|
||||
},
|
||||
|
||||
/* 486 machines - Socket 1 */
|
||||
/* Has Award KBC firmware. */
|
||||
{
|
||||
.name = "[ZyMOS Poach] ASUS ISA-486C",
|
||||
.internal_name = "isa486c",
|
||||
.type = MACHINE_TYPE_486,
|
||||
.chipset = MACHINE_CHIPSET_ZYMOS_POACH,
|
||||
.init = machine_at_isa486c_init,
|
||||
.p1_handler = NULL,
|
||||
.gpio_handler = NULL,
|
||||
.available_flag = MACHINE_AVAILABLE,
|
||||
.gpio_acpi_handler = NULL,
|
||||
.cpu = {
|
||||
.package = CPU_PKG_SOCKET1,
|
||||
.block = CPU_BLOCK_NONE,
|
||||
.min_bus = 0,
|
||||
.max_bus = 0,
|
||||
.min_voltage = 0,
|
||||
.max_voltage = 0,
|
||||
.min_multi = 0,
|
||||
.max_multi = 0
|
||||
},
|
||||
.bus_flags = MACHINE_AT,
|
||||
.flags = MACHINE_APM,
|
||||
.ram = {
|
||||
.min = 1024,
|
||||
.max = 16384,
|
||||
.step = 1024
|
||||
},
|
||||
.nvrmask = 127,
|
||||
.kbc_device = NULL,
|
||||
.kbc_p1 = 0xff,
|
||||
.gpio = 0xffffffff,
|
||||
.gpio_acpi = 0xffffffff,
|
||||
.device = NULL,
|
||||
.fdc_device = NULL,
|
||||
.sio_device = NULL,
|
||||
.vid_device = NULL,
|
||||
.snd_device = NULL,
|
||||
.net_device = NULL
|
||||
},
|
||||
/* Has AMI KF KBC firmware. */
|
||||
{
|
||||
.name = "[ZyMOS Poach] Genoa Unknown 486",
|
||||
@@ -11465,7 +11546,7 @@ const machine_t machines[] = {
|
||||
/* SiS 5501 */
|
||||
/* Has the Lance LT38C41 KBC. */
|
||||
{
|
||||
.name = "[SiS 5501] Chaintech 5SBM2 (M103)",
|
||||
.name = "[SiS 5501] Chaintech 5SBM/5SBM2 (M103)",
|
||||
.internal_name = "5sbm2",
|
||||
.type = MACHINE_TYPE_SOCKET7_3V,
|
||||
.chipset = MACHINE_CHIPSET_SIS_5501,
|
||||
@@ -11488,7 +11569,7 @@ const machine_t machines[] = {
|
||||
.flags = MACHINE_IDE_DUAL | MACHINE_APM,
|
||||
.ram = {
|
||||
.min = 8192,
|
||||
.max = 262144,
|
||||
.max = 131072,
|
||||
.step = 8192
|
||||
},
|
||||
.nvrmask = 255,
|
||||
@@ -11496,7 +11577,7 @@ const machine_t machines[] = {
|
||||
.kbc_p1 = 0xff,
|
||||
.gpio = 0xffffffff,
|
||||
.gpio_acpi = 0xffffffff,
|
||||
.device = NULL,
|
||||
.device = &c5sbm2_device,
|
||||
.fdc_device = NULL,
|
||||
.sio_device = NULL,
|
||||
.vid_device = NULL,
|
||||
@@ -14730,7 +14811,7 @@ const machine_t machines[] = {
|
||||
.block = CPU_BLOCK_NONE,
|
||||
.min_bus = 60000000,
|
||||
.max_bus = 83333333,
|
||||
.min_voltage = 1800,
|
||||
.min_voltage = 2800,
|
||||
.max_voltage = 3500,
|
||||
.min_multi = 1.5,
|
||||
.max_multi = 8.0
|
||||
|
||||
@@ -457,6 +457,7 @@ if (UNIX AND NOT APPLE AND NOT HAIKU)
|
||||
set(WL_SOURCE_VAR)
|
||||
ecm_add_wayland_client_protocol(WL_SOURCE_VAR PROTOCOL ${CMAKE_SOURCE_DIR}/wl_protocols/relative-pointer-unstable-v1.xml BASENAME relative-pointer-unstable-v1)
|
||||
ecm_add_wayland_client_protocol(WL_SOURCE_VAR PROTOCOL ${CMAKE_SOURCE_DIR}/wl_protocols/pointer-constraints-unstable-v1.xml BASENAME pointer-constraints-unstable-v1)
|
||||
ecm_add_wayland_client_protocol(WL_SOURCE_VAR PROTOCOL ${CMAKE_SOURCE_DIR}/wl_protocols/keyboard-shortcuts-inhibit-unstable-v1.xml BASENAME keyboard-shortcuts-inhibit-unstable-v1)
|
||||
target_include_directories(ui PRIVATE ${CMAKE_CURRENT_BINARY_DIR} ${Qt${QT_MAJOR}Gui_PRIVATE_INCLUDE_DIRS})
|
||||
target_sources(ui PRIVATE ${WL_SOURCE_VAR} wl_mouse.cpp)
|
||||
if (XKBCOMMON_FOUND)
|
||||
|
||||
@@ -630,9 +630,6 @@ msgstr ""
|
||||
msgid " - PAUSED"
|
||||
msgstr ""
|
||||
|
||||
msgid "Press Ctrl+Alt+PgDn to return to windowed mode."
|
||||
msgstr ""
|
||||
|
||||
msgid "Speed"
|
||||
msgstr ""
|
||||
|
||||
@@ -864,9 +861,6 @@ msgstr ""
|
||||
msgid "%1 is required for automatic conversion of PCL files to PDF.\n\nAny documents sent to the generic PCL printer will be saved as Printer Command Language (.pcl) files."
|
||||
msgstr ""
|
||||
|
||||
msgid "Entering fullscreen mode"
|
||||
msgstr ""
|
||||
|
||||
msgid "Don't show this message again"
|
||||
msgstr ""
|
||||
|
||||
@@ -1305,7 +1299,7 @@ msgstr ""
|
||||
msgid "\nFalling back to software rendering."
|
||||
msgstr ""
|
||||
|
||||
msgid "<html><head/><body><p>When selecting media images (CD-ROM, floppy, etc.) the open dialog will start in the same directory as the 86Box configuration file. This setting will likely only make a difference on macOS.</p></body></html>"
|
||||
msgid "<html><head/><body><p>When selecting media images (CD-ROM, floppy, etc.) the open dialog will start in the same directory as the 86Box configuration file. This setting will likely only make a difference on macOS.</p></body></html>"
|
||||
msgstr ""
|
||||
|
||||
msgid "This machine might have been moved or copied."
|
||||
@@ -2112,9 +2106,6 @@ msgstr ""
|
||||
msgid "Ask for confirmation before quitting"
|
||||
msgstr ""
|
||||
|
||||
msgid "Display hotkey message when entering full-screen mode"
|
||||
msgstr ""
|
||||
|
||||
msgid "Options"
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -630,9 +630,6 @@ msgstr "Error fatal"
|
||||
msgid " - PAUSED"
|
||||
msgstr " - EN PAUSA"
|
||||
|
||||
msgid "Press %s to return to windowed mode."
|
||||
msgstr "Premeu %s per tornar al mode de finestra."
|
||||
|
||||
msgid "Speed"
|
||||
msgstr "Velocitat"
|
||||
|
||||
@@ -717,11 +714,11 @@ msgstr "Altres perifèrics"
|
||||
msgid "Click to capture mouse"
|
||||
msgstr "Feu clic per capturar el ratolí"
|
||||
|
||||
msgid "Press %s to release mouse"
|
||||
msgstr "Premeu %s per alliberar el ratolí"
|
||||
msgid "Press %1 to release mouse"
|
||||
msgstr "Premeu %1 per alliberar el ratolí"
|
||||
|
||||
msgid "Press %s or middle button to release mouse"
|
||||
msgstr "Premeu %s o el botó central per alliberar el ratolí"
|
||||
msgid "Press %1 or middle button to release mouse"
|
||||
msgstr "Premeu %1 o el botó central per alliberar el ratolí"
|
||||
|
||||
msgid "Bus"
|
||||
msgstr "Bus"
|
||||
@@ -864,9 +861,6 @@ msgstr "%1 és necessària per a la conversió automàtica de fitxers PostScript
|
||||
msgid "%1 is required for automatic conversion of PCL files to PDF.\n\nAny documents sent to the generic PCL printer will be saved as Printer Command Language (.pcl) files."
|
||||
msgstr "%1 és necessària per a la conversió automàtica de fitxers PCL a PDF.\n\nQualsevol document enviat a la impressora genèrica PCL es desarà com a fitxer Printer Command Language (.pcl)."
|
||||
|
||||
msgid "Entering fullscreen mode"
|
||||
msgstr "Entrant en mode pantalla completa"
|
||||
|
||||
msgid "Don't show this message again"
|
||||
msgstr "No mostreu més aquest missatge"
|
||||
|
||||
@@ -1305,8 +1299,8 @@ msgstr "Error en inicialitzar OpenGL"
|
||||
msgid "\nFalling back to software rendering."
|
||||
msgstr "\nTornant al renderitzador software."
|
||||
|
||||
msgid "<html><head/><body><p>When selecting media images (CD-ROM, floppy, etc.) the open dialog will start in the same directory as the 86Box configuration file. This setting will likely only make a difference on macOS.</p></body></html>"
|
||||
msgstr "<html><head/><body><p>Quan seleccioneu imatges de suports (CD-ROM, disquet, etc.), el diàleg obert s’iniciarà al mateix directori que el fitxer de configuració 86Box. Aquesta configuració només farà una diferència en les macOS.</p></body></html>"
|
||||
msgid "<html><head/><body><p>When selecting media images (CD-ROM, floppy, etc.) the open dialog will start in the same directory as the 86Box configuration file. This setting will likely only make a difference on macOS.</p></body></html>"
|
||||
msgstr "<html><head/><body><p>Quan seleccioneu imatges de suports (CD-ROM, disquet, etc.), el diàleg obert s’iniciarà al mateix directori que el fitxer de configuració 86Box. Aquesta configuració només farà una diferència en les macOS.</p></body></html>"
|
||||
|
||||
msgid "This machine might have been moved or copied."
|
||||
msgstr "Aquesta màquina podria haver estat moguda o copiada."
|
||||
@@ -2106,9 +2100,6 @@ msgstr ""
|
||||
msgid "Ask for confirmation before quitting"
|
||||
msgstr ""
|
||||
|
||||
msgid "Display hotkey message when entering full-screen mode"
|
||||
msgstr ""
|
||||
|
||||
msgid "Options"
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -630,9 +630,6 @@ msgstr "Kritická chyba"
|
||||
msgid " - PAUSED"
|
||||
msgstr " - POZASTAVENO"
|
||||
|
||||
msgid "Press %s to return to windowed mode."
|
||||
msgstr "Stiskněte %s pro návrat z režimu celé obrazovky."
|
||||
|
||||
msgid "Speed"
|
||||
msgstr "Rychlost"
|
||||
|
||||
@@ -717,11 +714,11 @@ msgstr "Jiné příslušenství"
|
||||
msgid "Click to capture mouse"
|
||||
msgstr "Klikněte pro zabraní myši"
|
||||
|
||||
msgid "Press %s to release mouse"
|
||||
msgstr "Stiskněte %s pro uvolnění myši"
|
||||
msgid "Press %1 to release mouse"
|
||||
msgstr "Stiskněte %1 pro uvolnění myši"
|
||||
|
||||
msgid "Press %s or middle button to release mouse"
|
||||
msgstr "Stiskněte %s nebo prostřední tlačítko pro uvolnění myši"
|
||||
msgid "Press %1 or middle button to release mouse"
|
||||
msgstr "Stiskněte %1 nebo prostřední tlačítko pro uvolnění myši"
|
||||
|
||||
msgid "Bus"
|
||||
msgstr "Sběrnice"
|
||||
@@ -864,9 +861,6 @@ msgstr "%1 je potřeba pro automatický převod PostScript dokumentů do PDF.\n\
|
||||
msgid "%1 is required for automatic conversion of PCL files to PDF.\n\nAny documents sent to the generic PCL printer will be saved as Printer Command Language (.pcl) files."
|
||||
msgstr "%1 je potřeba pro automatický převod PCL dokumentů do PDF.\n\nJakékoliv dokumenty vytisknuté přes obecnou PCL-ovou tiskárnu budou uloženy jako Printer Command Language (.pcl) soubory."
|
||||
|
||||
msgid "Entering fullscreen mode"
|
||||
msgstr "Vstup do režimu celé obrazovky"
|
||||
|
||||
msgid "Don't show this message again"
|
||||
msgstr "Nezobrazovat dále tuto zprávu"
|
||||
|
||||
@@ -1305,8 +1299,8 @@ msgstr "Chyba při inicializaci OpenGL"
|
||||
msgid "\nFalling back to software rendering."
|
||||
msgstr "\nNávrat k softwarovému vykreslování."
|
||||
|
||||
msgid "<html><head/><body><p>When selecting media images (CD-ROM, floppy, etc.) the open dialog will start in the same directory as the 86Box configuration file. This setting will likely only make a difference on macOS.</p></body></html>"
|
||||
msgstr "<html><head/><body><p>Při výběru obrazů médií (CD-ROM, disketa atd.) se otevřené dialogové okno spustí ve stejném adresáři jako konfigurační soubor 86Box. Toto nastavení bude mít pravděpodobně význam pouze v systému MacOS.</p></body></html>"
|
||||
msgid "<html><head/><body><p>When selecting media images (CD-ROM, floppy, etc.) the open dialog will start in the same directory as the 86Box configuration file. This setting will likely only make a difference on macOS.</p></body></html>"
|
||||
msgstr "<html><head/><body><p>Při výběru obrazů médií (CD-ROM, disketa atd.) se otevřené dialogové okno spustí ve stejném adresáři jako konfigurační soubor 86Box. Toto nastavení bude mít pravděpodobně význam pouze v systému MacOS.</p></body></html>"
|
||||
|
||||
msgid "This machine might have been moved or copied."
|
||||
msgstr "Tento počítač mohl být přemístěn nebo zkopírován."
|
||||
@@ -2106,9 +2100,6 @@ msgstr ""
|
||||
msgid "Ask for confirmation before quitting"
|
||||
msgstr ""
|
||||
|
||||
msgid "Display hotkey message when entering full-screen mode"
|
||||
msgstr ""
|
||||
|
||||
msgid "Options"
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -630,9 +630,6 @@ msgstr "Fataler Fehler"
|
||||
msgid " - PAUSED"
|
||||
msgstr " - PAUSIERT"
|
||||
|
||||
msgid "Press %s to return to windowed mode."
|
||||
msgstr "%s ab, zur Rückkehr in den Fenstermodus."
|
||||
|
||||
msgid "Speed"
|
||||
msgstr "Geschwindigkeit"
|
||||
|
||||
@@ -717,14 +714,11 @@ msgstr "Andere Peripheriegeräte"
|
||||
msgid "Click to capture mouse"
|
||||
msgstr "Klicken zum Einfangen des Mauszeigers"
|
||||
|
||||
msgid "Press %s to release mouse"
|
||||
msgstr "Drücke %s zur Mausfreigabe"
|
||||
msgid "Press %1 to release mouse"
|
||||
msgstr "Drücke %1 zur Mausfreigabe"
|
||||
|
||||
msgid "Press %s or middle button to release mouse"
|
||||
msgstr "Drücke %s oder die mittlere Maustaste zur Mausfreigabe"
|
||||
|
||||
msgid "Ctrl+End"
|
||||
msgstr "Strg+Ende"
|
||||
msgid "Press %1 or middle button to release mouse"
|
||||
msgstr "Drücke %1 oder die mittlere Maustaste zur Mausfreigabe"
|
||||
|
||||
msgid "Bus"
|
||||
msgstr "Bus"
|
||||
@@ -867,9 +861,6 @@ msgstr "%1 wird zur automatischen Konvertierung von PostScript-Dateien ins PDF-F
|
||||
msgid "%1 is required for automatic conversion of PCL files to PDF.\n\nAny documents sent to the generic PCL printer will be saved as Printer Command Language (.pcl) files."
|
||||
msgstr "%1 wird zur automatischen Konvertierung von PCL-Dateien ins PDF-Format benötigt.\n\nSämtliche an den generischen PCL-Drucker gesendete Dateien werden als Printer Command Language (*.pcl) Dateien gesichert."
|
||||
|
||||
msgid "Entering fullscreen mode"
|
||||
msgstr "Vollbildmodus wird aktiviert"
|
||||
|
||||
msgid "Don't show this message again"
|
||||
msgstr "Diese Nachricht nicht mehr anzeigen"
|
||||
|
||||
@@ -1308,8 +1299,8 @@ msgstr "Fehler beim Initialisieren von OpenGL"
|
||||
msgid "\nFalling back to software rendering."
|
||||
msgstr "\nRückgriff auf Software-Rendering."
|
||||
|
||||
msgid "<html><head/><body><p>When selecting media images (CD-ROM, floppy, etc.) the open dialog will start in the same directory as the 86Box configuration file. This setting will likely only make a difference on macOS.</p></body></html>"
|
||||
msgstr "<html><head/><body><p>Bei der Auswahl von Medien-Abbildern (CD-ROM, Diskette usw.) wird der Öffnungsdialog im selben Verzeichnis wie die 86Box-Konfigurationsdatei gestartet. Diese Einstellung macht wahrscheinlich nur unter macOS einen Unterschied.</p></body></html>"
|
||||
msgid "<html><head/><body><p>When selecting media images (CD-ROM, floppy, etc.) the open dialog will start in the same directory as the 86Box configuration file. This setting will likely only make a difference on macOS.</p></body></html>"
|
||||
msgstr "<html><head/><body><p>Bei der Auswahl von Medien-Abbildern (CD-ROM, Diskette usw.) wird der Öffnungsdialog im selben Verzeichnis wie die 86Box-Konfigurationsdatei gestartet. Diese Einstellung macht wahrscheinlich nur unter macOS einen Unterschied.</p></body></html>"
|
||||
|
||||
msgid "This machine might have been moved or copied."
|
||||
msgstr "Dieses System wurde möglicherweise verschoben oder kopiert."
|
||||
@@ -2109,9 +2100,6 @@ msgstr ""
|
||||
msgid "Ask for confirmation before quitting"
|
||||
msgstr ""
|
||||
|
||||
msgid "Display hotkey message when entering full-screen mode"
|
||||
msgstr ""
|
||||
|
||||
msgid "Options"
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -39,8 +39,8 @@ msgstr "Synchronise with video"
|
||||
msgid "Error initializing OpenGL"
|
||||
msgstr "Error initialising OpenGL"
|
||||
|
||||
msgid "<html><head/><body><p>When selecting media images (CD-ROM, floppy, etc.) the open dialog will start in the same directory as the 86Box configuration file. This setting will likely only make a difference on macOS.</p></body></html>"
|
||||
msgstr "<html><head/><body><p>When selecting media images (CD-ROM, floppy, etc.) the open dialogue will start in the same directory as the 86Box configuration file. This setting will likely only make a difference on macOS.</p></body></html>"
|
||||
msgid "<html><head/><body><p>When selecting media images (CD-ROM, floppy, etc.) the open dialog will start in the same directory as the 86Box configuration file. This setting will likely only make a difference on macOS.</p></body></html>"
|
||||
msgstr "<html><head/><body><p>When selecting media images (CD-ROM, floppy, etc.) the open dialogue will start in the same directory as the 86Box configuration file. This setting will likely only make a difference on macOS.</p></body></html>"
|
||||
|
||||
msgid "Color (generic)"
|
||||
msgstr "Colour (generic)"
|
||||
|
||||
@@ -630,9 +630,6 @@ msgstr "Error fatal"
|
||||
msgid " - PAUSED"
|
||||
msgstr " - EN PAUSA"
|
||||
|
||||
msgid "Press %s to return to windowed mode."
|
||||
msgstr "Pulsa %s para volver a modo ventana."
|
||||
|
||||
msgid "Speed"
|
||||
msgstr "Velocidad"
|
||||
|
||||
@@ -717,11 +714,11 @@ msgstr "Otros periféricos"
|
||||
msgid "Click to capture mouse"
|
||||
msgstr "Haga click para capturar el ratón"
|
||||
|
||||
msgid "Press %s to release mouse"
|
||||
msgstr "Pulse %s para liberar el ratón"
|
||||
msgid "Press %1 to release mouse"
|
||||
msgstr "Pulse %1 para liberar el ratón"
|
||||
|
||||
msgid "Press %s or middle button to release mouse"
|
||||
msgstr "Pulse %s o el botón central para liberar el ratón"
|
||||
msgid "Press %1 or middle button to release mouse"
|
||||
msgstr "Pulse %1 o el botón central para liberar el ratón"
|
||||
|
||||
msgid "Bus"
|
||||
msgstr "Bus"
|
||||
@@ -864,9 +861,6 @@ msgstr "%1 es necesaria para la conversión automática de archivos PostScript a
|
||||
msgid "%1 is required for automatic conversion of PCL files to PDF.\n\nAny documents sent to the generic PCL printer will be saved as Printer Command Language (.pcl) files."
|
||||
msgstr "%1 es necesaria para la conversión automática de archivos PCL a PDF.\n\nCualquier documento enviado a la impresora genérica PCL se guardará como archivo Printer Command Language (.pcl)."
|
||||
|
||||
msgid "Entering fullscreen mode"
|
||||
msgstr "Entrando en modo pantalla completa"
|
||||
|
||||
msgid "Don't show this message again"
|
||||
msgstr "No mostrar más este mensaje"
|
||||
|
||||
@@ -1304,8 +1298,8 @@ msgstr "Error al inicializar OpenGL"
|
||||
msgid "\nFalling back to software rendering."
|
||||
msgstr "\nRecurrir al renderizado por software."
|
||||
|
||||
msgid "<html><head/><body><p>When selecting media images (CD-ROM, floppy, etc.) the open dialog will start in the same directory as the 86Box configuration file. This setting will likely only make a difference on macOS.</p></body></html>"
|
||||
msgstr "<html><head/><body><p>Al seleccionar imágenes multimedia (CD-ROM, disquete, etc.), el diálogo de apertura se iniciará en el mismo directorio que el archivo de configuración de 86Box. Es probable que este ajuste sólo suponga una diferencia en macOS.</p></body></html>"
|
||||
msgid "<html><head/><body><p>When selecting media images (CD-ROM, floppy, etc.) the open dialog will start in the same directory as the 86Box configuration file. This setting will likely only make a difference on macOS.</p></body></html>"
|
||||
msgstr "<html><head/><body><p>Al seleccionar imágenes multimedia (CD-ROM, disquete, etc.), el diálogo de apertura se iniciará en el mismo directorio que el archivo de configuración de 86Box. Es probable que este ajuste sólo suponga una diferencia en macOS.</p></body></html>"
|
||||
|
||||
msgid "This machine might have been moved or copied."
|
||||
msgstr "Esta máquina puede haber sido movida o copiado."
|
||||
@@ -2105,9 +2099,6 @@ msgstr ""
|
||||
msgid "Ask for confirmation before quitting"
|
||||
msgstr ""
|
||||
|
||||
msgid "Display hotkey message when entering full-screen mode"
|
||||
msgstr ""
|
||||
|
||||
msgid "Options"
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -630,9 +630,6 @@ msgstr "Vakava virhe"
|
||||
msgid " - PAUSED"
|
||||
msgstr " - TAUKO"
|
||||
|
||||
msgid "Press %s to return to windowed mode."
|
||||
msgstr "Paina %s palataksesi ikkunoituun tilaan."
|
||||
|
||||
msgid "Speed"
|
||||
msgstr "Nopeus"
|
||||
|
||||
@@ -717,11 +714,11 @@ msgstr "Muut oheislaitteet"
|
||||
msgid "Click to capture mouse"
|
||||
msgstr "Kaappaa hiiri klikkaamalla"
|
||||
|
||||
msgid "Press %s to release mouse"
|
||||
msgstr "Paina %s vapauttaaksesi hiiren"
|
||||
msgid "Press %1 to release mouse"
|
||||
msgstr "Paina %1 vapauttaaksesi hiiren"
|
||||
|
||||
msgid "Press %s or middle button to release mouse"
|
||||
msgstr "Paina %s tai keskipainiketta vapauttaaksesi hiiren"
|
||||
msgid "Press %1 or middle button to release mouse"
|
||||
msgstr "Paina %1 tai keskipainiketta vapauttaaksesi hiiren"
|
||||
|
||||
msgid "Bus"
|
||||
msgstr "Väylä"
|
||||
@@ -864,9 +861,6 @@ msgstr "%1 vaaditaan PostScript-tiedostojen automaattiseen muuntamiseen PDF-tied
|
||||
msgid "%1 is required for automatic conversion of PCL files to PDF.\n\nAny documents sent to the generic PCL printer will be saved as Printer Command Language (.pcl) files."
|
||||
msgstr "%1 vaaditaan PCL-tiedostojen automaattiseen muuntamiseen PDF-tiedostoiksi.\n\nKaikki geneeriselle PCL-tulostimelle lähetetyt asiakirjat tallennetaan Printer Command Language (.ps) -tiedostoina."
|
||||
|
||||
msgid "Entering fullscreen mode"
|
||||
msgstr "Siirrytään koko näytön tilaan"
|
||||
|
||||
msgid "Don't show this message again"
|
||||
msgstr "Älä näytä tätä viestiä uudelleen"
|
||||
|
||||
@@ -1308,8 +1302,8 @@ msgstr "Virhe OpenGL:n alustamisessa"
|
||||
msgid "\nFalling back to software rendering."
|
||||
msgstr "\nPaluu ohjelmistoalustusöintiin."
|
||||
|
||||
msgid "<html><head/><body><p>When selecting media images (CD-ROM, floppy, etc.) the open dialog will start in the same directory as the 86Box configuration file. This setting will likely only make a difference on macOS.</p></body></html>"
|
||||
msgstr "<html><head/><body><p>Kun valitset mediakuvia (CD-ROM, levykkeet jne.), avausikkuna käynnistyy samaan hakemistoon kuin 86Boxin konfigurointitiedosto. Tällä asetuksella on todennäköisesti merkitystä vain macOS-käyttöjärjestelmässä.</p></body></html>"
|
||||
msgid "<html><head/><body><p>When selecting media images (CD-ROM, floppy, etc.) the open dialog will start in the same directory as the 86Box configuration file. This setting will likely only make a difference on macOS.</p></body></html>"
|
||||
msgstr "<html><head/><body><p>Kun valitset mediakuvia (CD-ROM, levykkeet jne.), avausikkuna käynnistyy samaan hakemistoon kuin 86Boxin konfigurointitiedosto. Tällä asetuksella on todennäköisesti merkitystä vain macOS-käyttöjärjestelmässä.</p></body></html>"
|
||||
|
||||
msgid "This machine might have been moved or copied."
|
||||
msgstr "Kone on saatettu siirtää tai kopioida."
|
||||
@@ -2109,9 +2103,6 @@ msgstr ""
|
||||
msgid "Ask for confirmation before quitting"
|
||||
msgstr ""
|
||||
|
||||
msgid "Display hotkey message when entering full-screen mode"
|
||||
msgstr ""
|
||||
|
||||
msgid "Options"
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -630,9 +630,6 @@ msgstr "Erreur fatale"
|
||||
msgid " - PAUSED"
|
||||
msgstr " - EN PAUSE"
|
||||
|
||||
msgid "Press %s to return to windowed mode."
|
||||
msgstr "Appuyez sur %s pour revenir au mode fenêtré."
|
||||
|
||||
msgid "Speed"
|
||||
msgstr "Vitesse"
|
||||
|
||||
@@ -717,11 +714,11 @@ msgstr "Autres périfériques"
|
||||
msgid "Click to capture mouse"
|
||||
msgstr "Cliquer pour capturer la souris"
|
||||
|
||||
msgid "Press %s to release mouse"
|
||||
msgstr "Appuyer sur %s pour libérer la souris"
|
||||
msgid "Press %1 to release mouse"
|
||||
msgstr "Appuyer sur %1 pour libérer la souris"
|
||||
|
||||
msgid "Press %s or middle button to release mouse"
|
||||
msgstr "Appuyer sur %s ou le bouton central pour libérer la souris"
|
||||
msgid "Press %1 or middle button to release mouse"
|
||||
msgstr "Appuyer sur %1 ou le bouton central pour libérer la souris"
|
||||
|
||||
msgid "Bus"
|
||||
msgstr "Bus"
|
||||
@@ -864,9 +861,6 @@ msgstr "%1 est nécessaire pour la conversion automatique des fichiers PostScrip
|
||||
msgid "%1 is required for automatic conversion of PCL files to PDF.\n\nAny documents sent to the generic PCL printer will be saved as Printer Command Language (.pcl) files."
|
||||
msgstr "%1 est nécessaire pour la conversion automatique des fichiers PCL en PDF.\n\nTous les documents envoyés à l'imprimante générique PCL seront sauvés en tant quefichiers Printer Command Language (.pcl)."
|
||||
|
||||
msgid "Entering fullscreen mode"
|
||||
msgstr "Entrer en mode plein écran"
|
||||
|
||||
msgid "Don't show this message again"
|
||||
msgstr "Ne pas montrer ce message à nouveau"
|
||||
|
||||
@@ -1305,8 +1299,8 @@ msgstr "Erreur d'initialisation d'OpenGL"
|
||||
msgid "\nFalling back to software rendering."
|
||||
msgstr "\nSe rabattre sur le rendu logiciel."
|
||||
|
||||
msgid "<html><head/><body><p>When selecting media images (CD-ROM, floppy, etc.) the open dialog will start in the same directory as the 86Box configuration file. This setting will likely only make a difference on macOS.</p></body></html>"
|
||||
msgstr "<html><head/><body><p>Lors de la sélection d'images multimédia (CD-ROM, disquette, etc.), la boîte de dialogue d'ouverture démarrera dans le même répertoire que le fichier de configuration de 86Box. Ce paramètre ne fera probablement une différence que sur macOS.</p></body></html>"
|
||||
msgid "<html><head/><body><p>When selecting media images (CD-ROM, floppy, etc.) the open dialog will start in the same directory as the 86Box configuration file. This setting will likely only make a difference on macOS.</p></body></html>"
|
||||
msgstr "<html><head/><body><p>Lors de la sélection d'images multimédia (CD-ROM, disquette, etc.), la boîte de dialogue d'ouverture démarrera dans le même répertoire que le fichier de configuration de 86Box. Ce paramètre ne fera probablement une différence que sur macOS.</p></body></html>"
|
||||
|
||||
msgid "This machine might have been moved or copied."
|
||||
msgstr "Cette machine peut avoir été déplacée ou copiée."
|
||||
@@ -2106,9 +2100,6 @@ msgstr "Demander confirmation avant Hard Reset"
|
||||
msgid "Ask for confirmation before quitting"
|
||||
msgstr "Demander confirmation avant de quitter"
|
||||
|
||||
msgid "Display hotkey message when entering full-screen mode"
|
||||
msgstr "Afficher Raccourcis Clavier avant de passer en plein écran"
|
||||
|
||||
msgid "Options"
|
||||
msgstr "Options"
|
||||
|
||||
|
||||
@@ -630,9 +630,6 @@ msgstr "Fatalna greška"
|
||||
msgid " - PAUSED"
|
||||
msgstr " - ZASTAO"
|
||||
|
||||
msgid "Press %s to return to windowed mode."
|
||||
msgstr "Pritisnite %s za povratak u prozorski način rada."
|
||||
|
||||
msgid "Speed"
|
||||
msgstr "Brzina"
|
||||
|
||||
@@ -717,11 +714,11 @@ msgstr "Ostali periferni uređaji"
|
||||
msgid "Click to capture mouse"
|
||||
msgstr "Kliknite da uhvatite miš"
|
||||
|
||||
msgid "Press %s to release mouse"
|
||||
msgstr "Pritisnite %s za otpustanje miša"
|
||||
msgid "Press %1 to release mouse"
|
||||
msgstr "Pritisnite %1 za otpustanje miša"
|
||||
|
||||
msgid "Press %s or middle button to release mouse"
|
||||
msgstr "Pritisnite %s ili srednji gumb miša za otpuštanje miša"
|
||||
msgid "Press %1 or middle button to release mouse"
|
||||
msgstr "Pritisnite %1 ili srednji gumb miša za otpuštanje miša"
|
||||
|
||||
msgid "Bus"
|
||||
msgstr "Bus"
|
||||
@@ -864,9 +861,6 @@ msgstr "%1 je potrebno za automatsku konverziju PostScript datoteke u PDF datote
|
||||
msgid "%1 is required for automatic conversion of PCL files to PDF.\n\nAny documents sent to the generic PCL printer will be saved as Printer Command Language (.pcl) files."
|
||||
msgstr "%1 je potrebno za automatsku konverziju PCL datoteke u PDF datoteke.\n\nSvi dokumenti poslani na generički PCL pisač bit će spremljeni kao Printer Command Language (.pcl) datoteke."
|
||||
|
||||
msgid "Entering fullscreen mode"
|
||||
msgstr "Ulazim u cijelozaslonski način"
|
||||
|
||||
msgid "Don't show this message again"
|
||||
msgstr "Ne pokazi više ovu poruku"
|
||||
|
||||
@@ -1305,8 +1299,8 @@ msgstr "Nije moguće inicijalizirati OpenGL"
|
||||
msgid "\nFalling back to software rendering."
|
||||
msgstr "\nVraća se na softverski renderer."
|
||||
|
||||
msgid "<html><head/><body><p>When selecting media images (CD-ROM, floppy, etc.) the open dialog will start in the same directory as the 86Box configuration file. This setting will likely only make a difference on macOS.</p></body></html>"
|
||||
msgstr "<html><head/><body><p>Prilikom odabira medijskih slika (CD-ROM, diskete itd.), otvoreni dijalog zopočet će u istom direktoriju kao i konfiguracijska datoteka 86Box-a. Razlika će vjerojatno biti primjetna samo na macOS-u.</p></body></html>"
|
||||
msgid "<html><head/><body><p>When selecting media images (CD-ROM, floppy, etc.) the open dialog will start in the same directory as the 86Box configuration file. This setting will likely only make a difference on macOS.</p></body></html>"
|
||||
msgstr "<html><head/><body><p>Prilikom odabira medijskih slika (CD-ROM, diskete itd.), otvoreni dijalog zopočet će u istom direktoriju kao i konfiguracijska datoteka 86Box-a. Razlika će vjerojatno biti primjetna samo na macOS-u.</p></body></html>"
|
||||
|
||||
msgid "This machine might have been moved or copied."
|
||||
msgstr "Ovaj je sistem mogao biti premješten ili kopiran."
|
||||
@@ -2106,9 +2100,6 @@ msgstr ""
|
||||
msgid "Ask for confirmation before quitting"
|
||||
msgstr ""
|
||||
|
||||
msgid "Display hotkey message when entering full-screen mode"
|
||||
msgstr ""
|
||||
|
||||
msgid "Options"
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -630,9 +630,6 @@ msgstr "Végzetes hiba"
|
||||
msgid " - PAUSED"
|
||||
msgstr " - SZÜNETELT"
|
||||
|
||||
msgid "Press %s to return to windowed mode."
|
||||
msgstr "Használja a %s gombokat az ablakhoz való visszatéréshez."
|
||||
|
||||
msgid "Speed"
|
||||
msgstr "Sebesség"
|
||||
|
||||
@@ -717,11 +714,11 @@ msgstr "Egyéb perifériák"
|
||||
msgid "Click to capture mouse"
|
||||
msgstr "Kattintson az egér elfogásához"
|
||||
|
||||
msgid "Press %s to release mouse"
|
||||
msgstr "Nyomja meg az %s-t az egér elengédéséhez"
|
||||
msgid "Press %1 to release mouse"
|
||||
msgstr "Nyomja meg az %1-t az egér elengédéséhez"
|
||||
|
||||
msgid "Press %s or middle button to release mouse"
|
||||
msgstr "Nyomja meg az %s-t vagy a középső gombot az egér elengédéséhez"
|
||||
msgid "Press %1 or middle button to release mouse"
|
||||
msgstr "Nyomja meg az %1-t vagy a középső gombot az egér elengédéséhez"
|
||||
|
||||
msgid "Bus"
|
||||
msgstr "Busz"
|
||||
@@ -864,9 +861,6 @@ msgstr "%1 szükséges a PostScript fájlok PDF formátumba való automatikus ko
|
||||
msgid "%1 is required for automatic conversion of PCL files to PDF.\n\nAny documents sent to the generic PCL printer will be saved as Printer Command Lnaugage (.pcl) files."
|
||||
msgstr "%1 szükséges a PCL fájlok PDF formátumba való automatikus konvertálásához.\n\nAz általános PCL nyomtatóra küldött dokumentumok Printer Command Language (.pcl) fájlként kerülnek mentésre."
|
||||
|
||||
msgid "Entering fullscreen mode"
|
||||
msgstr "Teljes képernyős módra váltás"
|
||||
|
||||
msgid "Don't show this message again"
|
||||
msgstr "Ne jelenítse meg újra ezt az üzenetet "
|
||||
|
||||
@@ -1305,8 +1299,8 @@ msgstr "Hiba az OpenGL inicializálásában"
|
||||
msgid "\nFalling back to software rendering."
|
||||
msgstr "\nVisszatérés a szoftveres rendereléshez."
|
||||
|
||||
msgid "<html><head/><body><p>When selecting media images (CD-ROM, floppy, etc.) the open dialog will start in the same directory as the 86Box configuration file. This setting will likely only make a difference on macOS.</p></body></html>"
|
||||
msgstr "<html><head/><body><p>A médiaképek (CD-ROM, floppy stb.) kiválasztásakor a megnyitási párbeszédpanel ugyanabban a könyvtárban indul, mint a 86Box konfigurációs fájl. Ez a beállítás valószínűleg csak a macOS rendszerben jelent különbséget.</p></body></html>"
|
||||
msgid "<html><head/><body><p>When selecting media images (CD-ROM, floppy, etc.) the open dialog will start in the same directory as the 86Box configuration file. This setting will likely only make a difference on macOS.</p></body></html>"
|
||||
msgstr "<html><head/><body><p>A médiaképek (CD-ROM, floppy stb.) kiválasztásakor a megnyitási párbeszédpanel ugyanabban a könyvtárban indul, mint a 86Box konfigurációs fájl. Ez a beállítás valószínűleg csak a macOS rendszerben jelent különbséget.</p></body></html>"
|
||||
|
||||
msgid "This machine might have been moved or copied."
|
||||
msgstr "Lehet, hogy ezt a gépet áthelyezték vagy lemásolták."
|
||||
@@ -2106,9 +2100,6 @@ msgstr ""
|
||||
msgid "Ask for confirmation before quitting"
|
||||
msgstr ""
|
||||
|
||||
msgid "Display hotkey message when entering full-screen mode"
|
||||
msgstr ""
|
||||
|
||||
msgid "Options"
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -630,9 +630,6 @@ msgstr "Errore fatale"
|
||||
msgid " - PAUSED"
|
||||
msgstr " - IN PAUSA"
|
||||
|
||||
msgid "Press %s to return to windowed mode."
|
||||
msgstr "Usa %s per tornare alla modalità finestra."
|
||||
|
||||
msgid "Speed"
|
||||
msgstr "Velocità"
|
||||
|
||||
@@ -717,11 +714,11 @@ msgstr "Altre periferiche"
|
||||
msgid "Click to capture mouse"
|
||||
msgstr "Fare clic per catturare mouse"
|
||||
|
||||
msgid "Press %s to release mouse"
|
||||
msgstr "Premi %s per rilasciare il mouse"
|
||||
msgid "Press %1 to release mouse"
|
||||
msgstr "Premi %1 per rilasciare il mouse"
|
||||
|
||||
msgid "Press %s or middle button to release mouse"
|
||||
msgstr "Premi %s o pulsante centrale per rilasciare il mouse"
|
||||
msgid "Press %1 or middle button to release mouse"
|
||||
msgstr "Premi %1 o pulsante centrale per rilasciare il mouse"
|
||||
|
||||
msgid "Bus"
|
||||
msgstr "Bus"
|
||||
@@ -864,9 +861,6 @@ msgstr "%1 è richiesto per la conversione automatica di file PostScript a file
|
||||
msgid "%1 is required for automatic conversion of PCL files to PDF.\n\nAny documents sent to the generic PostScript printer will be saved as Printer Command Language (.pcl) files."
|
||||
msgstr "%1 è richiesto per la conversione automatica di file PCL a file PDF.\n\nQualsiasi documento mandato alla stampante generica PCL sarà salvato come file Printer Command Language (.cl)."
|
||||
|
||||
msgid "Entering fullscreen mode"
|
||||
msgstr "Entrando nella modalità schermo intero"
|
||||
|
||||
msgid "Don't show this message again"
|
||||
msgstr "Non mostrare più questo messaggio"
|
||||
|
||||
@@ -1305,8 +1299,8 @@ msgstr "Errore nell'inizializzazione di OpenGL"
|
||||
msgid "\nFalling back to software rendering."
|
||||
msgstr "\nRicaduta sul rendering software."
|
||||
|
||||
msgid "<html><head/><body><p>When selecting media images (CD-ROM, floppy, etc.) the open dialog will start in the same directory as the 86Box configuration file. This setting will likely only make a difference on macOS.</p></body></html>"
|
||||
msgstr "<html><head/><body><p>Quando si selezionano immagini multimediali (CD-ROM, floppy, ecc.) la finestra di dialogo di apertura si avvia nella stessa directory del file di configurazione di 86Box. Questa impostazione probabilmente farà la differenza solo su macOS.</p></body></html>"
|
||||
msgid "<html><head/><body><p>When selecting media images (CD-ROM, floppy, etc.) the open dialog will start in the same directory as the 86Box configuration file. This setting will likely only make a difference on macOS.</p></body></html>"
|
||||
msgstr "<html><head/><body><p>Quando si selezionano immagini multimediali (CD-ROM, floppy, ecc.) la finestra di dialogo di apertura si avvia nella stessa directory del file di configurazione di 86Box. Questa impostazione probabilmente farà la differenza solo su macOS.</p></body></html>"
|
||||
|
||||
msgid "This machine might have been moved or copied."
|
||||
msgstr "Questa macchina potrebbe essere stata spostata o copiata."
|
||||
@@ -2106,9 +2100,6 @@ msgstr ""
|
||||
msgid "Ask for confirmation before quitting"
|
||||
msgstr ""
|
||||
|
||||
msgid "Display hotkey message when entering full-screen mode"
|
||||
msgstr ""
|
||||
|
||||
msgid "Options"
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -630,9 +630,6 @@ msgstr "致命的なエラー"
|
||||
msgid " - PAUSED"
|
||||
msgstr " - 一時停止"
|
||||
|
||||
msgid "Press %s to return to windowed mode."
|
||||
msgstr "%sでウィンドウ モードに戻ります。"
|
||||
|
||||
msgid "Speed"
|
||||
msgstr "速度"
|
||||
|
||||
@@ -717,11 +714,11 @@ msgstr "他の周辺デバイス"
|
||||
msgid "Click to capture mouse"
|
||||
msgstr "左クリックでマウスをキャプチャします"
|
||||
|
||||
msgid "Press %s to release mouse"
|
||||
msgstr "%sキーでマウスを解放します"
|
||||
msgid "Press %1 to release mouse"
|
||||
msgstr "%1キーでマウスを解放します"
|
||||
|
||||
msgid "Press %s or middle button to release mouse"
|
||||
msgstr "%sキーまたは中クリックでマウスを解放します"
|
||||
msgid "Press %1 or middle button to release mouse"
|
||||
msgstr "%1キーまたは中クリックでマウスを解放します"
|
||||
|
||||
msgid "Bus"
|
||||
msgstr "バス"
|
||||
@@ -864,9 +861,6 @@ msgstr "PostScriptファイルをPDFに自動変換するには%1が必要です
|
||||
msgid "%1 is required for automatic conversion of PCL files to PDF.\n\nAny documents sent to the generic PCL printer will be saved as Printer Command Language (.pcl) files."
|
||||
msgstr "PCLファイルをPDFに自動変換するには%1が必要です。\n\n汎用PCLプリンターに送信された文書は、Printer Command Language (.pcl) ファイルとして保存されます。"
|
||||
|
||||
msgid "Entering fullscreen mode"
|
||||
msgstr "全画面モードを入力"
|
||||
|
||||
msgid "Don't show this message again"
|
||||
msgstr "今後、このメッセージを表示しない"
|
||||
|
||||
@@ -1305,8 +1299,8 @@ msgstr "OpenGLの初期化エラー"
|
||||
msgid "\nFalling back to software rendering."
|
||||
msgstr "\nソフトウェアレンダリングに逆戻り。"
|
||||
|
||||
msgid "<html><head/><body><p>When selecting media images (CD-ROM, floppy, etc.) the open dialog will start in the same directory as the 86Box configuration file. This setting will likely only make a difference on macOS.</p></body></html>"
|
||||
msgstr "<html><head/><body><p>メディアイメージ(CD-ROM、フロッピーなど)を選択するとき、オープンダイアログは86Box設定ファイルと同じディレクトリで開始します。この設定は、おそらく macOS でのみ違いがあります。</p></body></html>"
|
||||
msgid "<html><head/><body><p>When selecting media images (CD-ROM, floppy, etc.) the open dialog will start in the same directory as the 86Box configuration file. This setting will likely only make a difference on macOS.</p></body></html>"
|
||||
msgstr "<html><head/><body><p>メディアイメージ(CD-ROM、フロッピーなど)を選択するとき、オープンダイアログは86Box設定ファイルと同じディレクトリで開始します。この設定は、おそらく macOS でのみ違いがあります。</p></body></html>"
|
||||
|
||||
msgid "This machine might have been moved or copied."
|
||||
msgstr "このマシンは移動されたかコピーされた可能性がある。"
|
||||
@@ -2106,9 +2100,6 @@ msgstr ""
|
||||
msgid "Ask for confirmation before quitting"
|
||||
msgstr ""
|
||||
|
||||
msgid "Display hotkey message when entering full-screen mode"
|
||||
msgstr ""
|
||||
|
||||
msgid "Options"
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -630,9 +630,6 @@ msgstr "치명적인 오류"
|
||||
msgid " - PAUSED"
|
||||
msgstr " - 일시 중지됨"
|
||||
|
||||
msgid "Press %s to return to windowed mode."
|
||||
msgstr "%s 키를 누르면 창 모드로 전환합니다."
|
||||
|
||||
msgid "Speed"
|
||||
msgstr "속도"
|
||||
|
||||
@@ -717,11 +714,11 @@ msgstr "기타 주변기기"
|
||||
msgid "Click to capture mouse"
|
||||
msgstr "이 창을 클릭하면 마우스를 사용합니다"
|
||||
|
||||
msgid "Press %s to release mouse"
|
||||
msgstr "%s키를 누르면 마우스를 해제합니다"
|
||||
msgid "Press %1 to release mouse"
|
||||
msgstr "%1키를 누르면 마우스를 해제합니다"
|
||||
|
||||
msgid "Press %s or middle button to release mouse"
|
||||
msgstr "%s키 또는 가운데 버튼을 클릭하면 마우스를 해제합니다"
|
||||
msgid "Press %1 or middle button to release mouse"
|
||||
msgstr "%1키 또는 가운데 버튼을 클릭하면 마우스를 해제합니다"
|
||||
|
||||
msgid "Bus"
|
||||
msgstr "버스"
|
||||
@@ -864,9 +861,6 @@ msgstr "%1은(는) PostScript 파일을 PDF로 자동변환하는 데에 필요
|
||||
msgid "%1 is required for automatic conversion of PCL files to PDF.\n\nAny documents sent to the generic PCL printer will be saved as Printer Command Language (.pcl) files."
|
||||
msgstr "%1은(는) PCL 파일을 PDF로 자동변환하는 데에 필요합니다.\n\n표준 PCL 프린터로 보내신 임의의 문서는 Printer Command Language (.pcl) 파일로 저장됩니다."
|
||||
|
||||
msgid "Entering fullscreen mode"
|
||||
msgstr "전체 화면으로 전환"
|
||||
|
||||
msgid "Don't show this message again"
|
||||
msgstr "이 메시지 그만 보기"
|
||||
|
||||
@@ -1305,8 +1299,8 @@ msgstr "OpenGL 초기화 중 오류 발생"
|
||||
msgid "\nFalling back to software rendering."
|
||||
msgstr "\n소프트웨어 렌더링으로 돌아가기."
|
||||
|
||||
msgid "<html><head/><body><p>When selecting media images (CD-ROM, floppy, etc.) the open dialog will start in the same directory as the 86Box configuration file. This setting will likely only make a difference on macOS.</p></body></html>"
|
||||
msgstr "<html><head/><body><p>미디어 이미지(CD-ROM, 플로피 등)를 선택하면 86Box 구성 파일과 동일한 디렉터리에서 열기 대화 상자가 시작됩니다. 이 설정은 macOS에서만 차이가 있을 수 있습니다.</p></body></html>"
|
||||
msgid "<html><head/><body><p>When selecting media images (CD-ROM, floppy, etc.) the open dialog will start in the same directory as the 86Box configuration file. This setting will likely only make a difference on macOS.</p></body></html>"
|
||||
msgstr "<html><head/><body><p>미디어 이미지(CD-ROM, 플로피 등)를 선택하면 86Box 구성 파일과 동일한 디렉터리에서 열기 대화 상자가 시작됩니다. 이 설정은 macOS에서만 차이가 있을 수 있습니다.</p></body></html>"
|
||||
|
||||
msgid "This machine might have been moved or copied."
|
||||
msgstr "이 컴퓨터가 이동되었거나 복사되었을 수 있습니다."
|
||||
@@ -2106,9 +2100,6 @@ msgstr ""
|
||||
msgid "Ask for confirmation before quitting"
|
||||
msgstr ""
|
||||
|
||||
msgid "Display hotkey message when entering full-screen mode"
|
||||
msgstr ""
|
||||
|
||||
msgid "Options"
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -630,9 +630,6 @@ msgstr "Fatale fout"
|
||||
msgid " - PAUSED"
|
||||
msgstr " - GEPAUZEERD"
|
||||
|
||||
msgid "Press %s to return to windowed mode."
|
||||
msgstr "Druk op %s om terug te gaan naar de venstermodus."
|
||||
|
||||
msgid "Speed"
|
||||
msgstr "Snelheid"
|
||||
|
||||
@@ -717,11 +714,11 @@ msgstr "Andere randapparatuur"
|
||||
msgid "Click to capture mouse"
|
||||
msgstr "Klik om muis vast te leggen"
|
||||
|
||||
msgid "Press %s to release mouse"
|
||||
msgstr "Druk op %s om de muis los te laten"
|
||||
msgid "Press %1 to release mouse"
|
||||
msgstr "Druk op %1 om de muis los te laten"
|
||||
|
||||
msgid "Press %s or middle button to release mouse"
|
||||
msgstr "Druk op %s of middelste knop om de muis los te laten"
|
||||
msgid "Press %1 or middle button to release mouse"
|
||||
msgstr "Druk op %1 of middelste knop om de muis los te laten"
|
||||
|
||||
msgid "Bus"
|
||||
msgstr "Bus"
|
||||
@@ -864,9 +861,6 @@ msgstr "%1 is vereist voor automatische conversie van PostScript-bestanden naar
|
||||
msgid "%1 is required for automatic conversion of PCL files to PDF.\n\nAny documents sent to the generic PCL printer will be saved as Printer Command Language (.pcl) files."
|
||||
msgstr "%1 is vereist voor automatische conversie van PCL-bestanden naar PDF.\n\nAlle documenten die naar de generieke PCL-printer worden gestuurd, worden opgeslagen als Printer Command Language (.pcl) bestanden."
|
||||
|
||||
msgid "Entering fullscreen mode"
|
||||
msgstr "Volledig scherm modus openen"
|
||||
|
||||
msgid "Don't show this message again"
|
||||
msgstr "Dit bericht niet meer tonen"
|
||||
|
||||
@@ -1305,8 +1299,8 @@ msgstr "Fout bij het initialiseren van OpenGL"
|
||||
msgid "\nFalling back to software rendering."
|
||||
msgstr "\nTerugvallen op software rendering."
|
||||
|
||||
msgid "<html><head/><body><p>When selecting media images (CD-ROM, floppy, etc.) the open dialog will start in the same directory as the 86Box configuration file. This setting will likely only make a difference on macOS.</p></body></html>"
|
||||
msgstr "<html><head/><body><p>Bij het selecteren van media-images (CD-ROM, floppy, etc.) zal de \"open dialoog\" starten in dezelfde map als het 86Box configuratiebestand. Deze instelling is doet er waarschijnlijk alleen toe op macOS.</p></body></html>"
|
||||
msgid "<html><head/><body><p>When selecting media images (CD-ROM, floppy, etc.) the open dialog will start in the same directory as the 86Box configuration file. This setting will likely only make a difference on macOS.</p></body></html>"
|
||||
msgstr "<html><head/><body><p>Bij het selecteren van media-images (CD-ROM, floppy, etc.) zal de \"open dialoog\" starten in dezelfde map als het 86Box configuratiebestand. Deze instelling is doet er waarschijnlijk alleen toe op macOS.</p></body></html>"
|
||||
|
||||
msgid "This machine might have been moved or copied."
|
||||
msgstr "Deze machine is misschien verplaatst of gekopieerd."
|
||||
@@ -2106,9 +2100,6 @@ msgstr "Vraag om bevestiging voor een harde reset"
|
||||
msgid "Ask for confirmation before quitting"
|
||||
msgstr "Vraag om bevestiging voor afsluiten"
|
||||
|
||||
msgid "Display hotkey message when entering full-screen mode"
|
||||
msgstr "Toon een sneltoetsmelding bij het openen van de volledigschermmodus"
|
||||
|
||||
msgid "Options"
|
||||
msgstr "Opties"
|
||||
|
||||
|
||||
@@ -630,9 +630,6 @@ msgstr "Fatalny błąd"
|
||||
msgid " - PAUSED"
|
||||
msgstr " - PAUSED"
|
||||
|
||||
msgid "Press %s to return to windowed mode."
|
||||
msgstr "Naciśnij klawisze %s aby wrócić to trybu okna."
|
||||
|
||||
msgid "Speed"
|
||||
msgstr "Szybkość"
|
||||
|
||||
@@ -717,11 +714,11 @@ msgstr "Inne urządzenia peryferyjne"
|
||||
msgid "Click to capture mouse"
|
||||
msgstr "Kliknij w celu przechwycenia myszy"
|
||||
|
||||
msgid "Press %s to release mouse"
|
||||
msgstr "Naciśnij klawisze %s w celu uwolnienia myszy"
|
||||
msgid "Press %1 to release mouse"
|
||||
msgstr "Naciśnij klawisze %1 w celu uwolnienia myszy"
|
||||
|
||||
msgid "Press %s or middle button to release mouse"
|
||||
msgstr "Naciśnij klawisze %s lub środkowy przycisk w celu uwolnienia myszy"
|
||||
msgid "Press %1 or middle button to release mouse"
|
||||
msgstr "Naciśnij klawisze %1 lub środkowy przycisk w celu uwolnienia myszy"
|
||||
|
||||
msgid "Bus"
|
||||
msgstr "Magistrala"
|
||||
@@ -864,9 +861,6 @@ msgstr "%1 jest wymagany do automatycznej konwersji plików PostScript do PDF.\n
|
||||
msgid "%1 is required for automatic conversion of PCL files to PDF.\n\nAny documents sent to the generic PCL printer will be saved as Printer Command Language (.pcl) files."
|
||||
msgstr "%1 jest wymagany do automatycznej konwersji plików PCL do PDF.\n\nDokumenty wysłane do generycznej drukarki PCL zostaną zapisane jako pliki Printer Command Language (.pcl)."
|
||||
|
||||
msgid "Entering fullscreen mode"
|
||||
msgstr "Przechodzenie do trybu pełnoekranowego"
|
||||
|
||||
msgid "Don't show this message again"
|
||||
msgstr "Nie pokazuj więcej tego komunikatu"
|
||||
|
||||
@@ -1305,8 +1299,8 @@ msgstr "Błąd inicjalizacji OpenGL"
|
||||
msgid "\nFalling back to software rendering."
|
||||
msgstr "\nPowrót do renderowania oprogramowania."
|
||||
|
||||
msgid "<html><head/><body><p>When selecting media images (CD-ROM, floppy, etc.) the open dialog will start in the same directory as the 86Box configuration file. This setting will likely only make a difference on macOS.</p></body></html>"
|
||||
msgstr "<html><head/><body><p>Podczas wybierania obrazów nośników (CD-ROM, dyskietka itp.) otwarte okno dialogowe rozpocznie się w tym samym katalogu, co plik konfiguracyjny 86Box. To ustawienie prawdopodobnie będzie miało znaczenie tylko na macOS.</p></body></html>"
|
||||
msgid "<html><head/><body><p>When selecting media images (CD-ROM, floppy, etc.) the open dialog will start in the same directory as the 86Box configuration file. This setting will likely only make a difference on macOS.</p></body></html>"
|
||||
msgstr "<html><head/><body><p>Podczas wybierania obrazów nośników (CD-ROM, dyskietka itp.) otwarte okno dialogowe rozpocznie się w tym samym katalogu, co plik konfiguracyjny 86Box. To ustawienie prawdopodobnie będzie miało znaczenie tylko na macOS.</p></body></html>"
|
||||
|
||||
msgid "This machine might have been moved or copied."
|
||||
msgstr "To urządzenie mogło zostać przeniesione lub skopiowane."
|
||||
@@ -2106,9 +2100,6 @@ msgstr ""
|
||||
msgid "Ask for confirmation before quitting"
|
||||
msgstr ""
|
||||
|
||||
msgid "Display hotkey message when entering full-screen mode"
|
||||
msgstr ""
|
||||
|
||||
msgid "Options"
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -630,9 +630,6 @@ msgstr "Erro fatal"
|
||||
msgid " - PAUSED"
|
||||
msgstr " - PAUSADO"
|
||||
|
||||
msgid "Press %s to return to windowed mode."
|
||||
msgstr "Use %s para retornar ao modo janela."
|
||||
|
||||
msgid "Speed"
|
||||
msgstr "Velocidade"
|
||||
|
||||
@@ -717,11 +714,11 @@ msgstr "Outros periféricos"
|
||||
msgid "Click to capture mouse"
|
||||
msgstr "Clique para capturar o mouse"
|
||||
|
||||
msgid "Press %s to release mouse"
|
||||
msgstr "Aperte %s para liberar o mouse"
|
||||
msgid "Press %1 to release mouse"
|
||||
msgstr "Aperte %1 para liberar o mouse"
|
||||
|
||||
msgid "Press %s or middle button to release mouse"
|
||||
msgstr "Aperte %s ou botão do meio para liberar o mouse"
|
||||
msgid "Press %1 or middle button to release mouse"
|
||||
msgstr "Aperte %1 ou botão do meio para liberar o mouse"
|
||||
|
||||
msgid "Bus"
|
||||
msgstr "Barramento"
|
||||
@@ -864,9 +861,6 @@ msgstr "%1 é necessário para a conversão automática de arquivos PostScript p
|
||||
msgid "%1 is required for automatic conversion of PCL files to PDF.\n\nAny documents sent to the generic PCL printer will be saved as Printer Command Language (.pcl) files."
|
||||
msgstr "%1 é necessário para a conversão automática de arquivos PCL para PDF.\n\nQualquer documento enviado para a impressora genérica PCL será salvo como arquivos Printer Command Language (.pcl)."
|
||||
|
||||
msgid "Entering fullscreen mode"
|
||||
msgstr "Entrando no modo de tela cheia"
|
||||
|
||||
msgid "Don't show this message again"
|
||||
msgstr "Não exibir esta mensagem novamente"
|
||||
|
||||
@@ -1305,8 +1299,8 @@ msgstr "Erro ao inicializar o OpenGL"
|
||||
msgid "\nFalling back to software rendering."
|
||||
msgstr "\nVoltando à renderização de software."
|
||||
|
||||
msgid "<html><head/><body><p>When selecting media images (CD-ROM, floppy, etc.) the open dialog will start in the same directory as the 86Box configuration file. This setting will likely only make a difference on macOS.</p></body></html>"
|
||||
msgstr "<html><head/><body><p>Ao selecionar imagens de mídia (CD-ROM, disquete, etc.), a caixa de diálogo de abertura será iniciada no mesmo diretório do arquivo de configuração do 86Box. Essa configuração provavelmente só fará diferença no macOS.</p></body></html>"
|
||||
msgid "<html><head/><body><p>When selecting media images (CD-ROM, floppy, etc.) the open dialog will start in the same directory as the 86Box configuration file. This setting will likely only make a difference on macOS.</p></body></html>"
|
||||
msgstr "<html><head/><body><p>Ao selecionar imagens de mídia (CD-ROM, disquete, etc.), a caixa de diálogo de abertura será iniciada no mesmo diretório do arquivo de configuração do 86Box. Essa configuração provavelmente só fará diferença no macOS.</p></body></html>"
|
||||
|
||||
msgid "This machine might have been moved or copied."
|
||||
msgstr "Essa máquina pode ter sido movida ou copiada."
|
||||
@@ -2106,9 +2100,6 @@ msgstr "Perguntar antes de reinicialização completa"
|
||||
msgid "Ask for confirmation before quitting"
|
||||
msgstr "Perguntar antes de sair"
|
||||
|
||||
msgid "Display hotkey message when entering full-screen mode"
|
||||
msgstr "Mostrar mensagem de atalho quando entrar em tela cheia"
|
||||
|
||||
msgid "Options"
|
||||
msgstr "Opções"
|
||||
|
||||
|
||||
@@ -630,9 +630,6 @@ msgstr "Erro fatal"
|
||||
msgid " - PAUSED"
|
||||
msgstr " - EM PAUSA"
|
||||
|
||||
msgid "Press %s to return to windowed mode."
|
||||
msgstr "Pressione %s para voltar ao modo de janela."
|
||||
|
||||
msgid "Speed"
|
||||
msgstr "Velocidade"
|
||||
|
||||
@@ -717,11 +714,11 @@ msgstr "Outros dispositivos"
|
||||
msgid "Click to capture mouse"
|
||||
msgstr "Clique para capturar o rato"
|
||||
|
||||
msgid "Press %s to release mouse"
|
||||
msgstr "Pressione %s para soltar o rato"
|
||||
msgid "Press %1 to release mouse"
|
||||
msgstr "Pressione %1 para soltar o rato"
|
||||
|
||||
msgid "Press %s or middle button to release mouse"
|
||||
msgstr "Pressione %s ou tecla média para soltar o rato"
|
||||
msgid "Press %1 or middle button to release mouse"
|
||||
msgstr "Pressione %1 ou tecla média para soltar o rato"
|
||||
|
||||
msgid "Bus"
|
||||
msgstr "Barramento"
|
||||
@@ -864,9 +861,6 @@ msgstr "%1 é requerido para a conversão automática de ficheiros PostScript pa
|
||||
msgid "%1 is required for automatic conversion of PCL files to PDF.\n\nAny documents sent to the generic PCL printer will be saved as Printer Command Language (.pcl) files."
|
||||
msgstr "%1 é requerido para a conversão automática de ficheiros PCL para ficheiros PDF.\n\nQualquer documento enviado para a impressora PCL genérica será gravado como um ficheiro Printer Command Language (.pcl)."
|
||||
|
||||
msgid "Entering fullscreen mode"
|
||||
msgstr "A entrar no modo de tela cheia"
|
||||
|
||||
msgid "Don't show this message again"
|
||||
msgstr "Não mostrar mais esta mensagem"
|
||||
|
||||
@@ -1305,8 +1299,8 @@ msgstr "Erro ao inicializar o OpenGL"
|
||||
msgid "\nFalling back to software rendering."
|
||||
msgstr "\nRecuando para a renderização de software."
|
||||
|
||||
msgid "<html><head/><body><p>When selecting media images (CD-ROM, floppy, etc.) the open dialog will start in the same directory as the 86Box configuration file. This setting will likely only make a difference on macOS.</p></body></html>"
|
||||
msgstr "<html><head/><body><p>Ao selecionar imagens multimédia (CD-ROM, disquete, etc.) a caixa de diálogo de abertura irá começar no mesmo diretório que o ficheiro de configuração da 86Box. Esta configuração provavelmente só fará diferença no macOS.</p></body></html>"
|
||||
msgid "<html><head/><body><p>When selecting media images (CD-ROM, floppy, etc.) the open dialog will start in the same directory as the 86Box configuration file. This setting will likely only make a difference on macOS.</p></body></html>"
|
||||
msgstr "<html><head/><body><p>Ao selecionar imagens multimédia (CD-ROM, disquete, etc.) a caixa de diálogo de abertura irá começar no mesmo diretório que o ficheiro de configuração da 86Box. Esta configuração provavelmente só fará diferença no macOS.</p></body></html>"
|
||||
|
||||
msgid "This machine might have been moved or copied."
|
||||
msgstr "Esta máquina pode ter sido deslocada ou copiada."
|
||||
@@ -2106,9 +2100,6 @@ msgstr ""
|
||||
msgid "Ask for confirmation before quitting"
|
||||
msgstr ""
|
||||
|
||||
msgid "Display hotkey message when entering full-screen mode"
|
||||
msgstr ""
|
||||
|
||||
msgid "Options"
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -630,9 +630,6 @@ msgstr "Неустранимая ошибка"
|
||||
msgid " - PAUSED"
|
||||
msgstr " - ПАУЗА"
|
||||
|
||||
msgid "Press %s to return to windowed mode."
|
||||
msgstr "Нажмите %s для возврата в оконный режим."
|
||||
|
||||
msgid "Speed"
|
||||
msgstr "Скорость"
|
||||
|
||||
@@ -717,11 +714,11 @@ msgstr "Другая периферия"
|
||||
msgid "Click to capture mouse"
|
||||
msgstr "Щёлкните мышью для захвата курсора"
|
||||
|
||||
msgid "Press %s to release mouse"
|
||||
msgstr "Нажмите %s, чтобы освободить курсор"
|
||||
msgid "Press %1 to release mouse"
|
||||
msgstr "Нажмите %1, чтобы освободить курсор"
|
||||
|
||||
msgid "Press %s or middle button to release mouse"
|
||||
msgstr "Нажмите %s или среднюю кнопку мыши, чтобы освободить курсор"
|
||||
msgid "Press %1 or middle button to release mouse"
|
||||
msgstr "Нажмите %1 или среднюю кнопку мыши, чтобы освободить курсор"
|
||||
|
||||
msgid "Bus"
|
||||
msgstr "Шина"
|
||||
@@ -864,9 +861,6 @@ msgstr "Для автоматического преобразования фа
|
||||
msgid "%1 is required for automatic conversion of PCL files to PDF.\n\nAny documents sent to the generic PCL printer will be saved as Printer Command Language (.pcl) files."
|
||||
msgstr "Для автоматического преобразования файлов PCL в PDF требуется %1.\n\nВсе документы, отправленные на стандартный принтер PCL, будут сохранены в виде файлов Printer Command Language (.pcl)."
|
||||
|
||||
msgid "Entering fullscreen mode"
|
||||
msgstr "Вход в полноэкранный режим"
|
||||
|
||||
msgid "Don't show this message again"
|
||||
msgstr "Больше не показывать это сообщение"
|
||||
|
||||
@@ -1305,8 +1299,8 @@ msgstr "Ошибка инициализации OpenGL"
|
||||
msgid "\nFalling back to software rendering."
|
||||
msgstr "\nПереключение на программный рендеринг."
|
||||
|
||||
msgid "<html><head/><body><p>When selecting media images (CD-ROM, floppy, etc.) the open dialog will start in the same directory as the 86Box configuration file. This setting will likely only make a difference on macOS.</p></body></html>"
|
||||
msgstr "<html><head/><body><p>При выборе образов носителей (CD-ROM, дискет и т. д.) диалог открытия будет запускаться в том же каталоге, что и файл конфигурации 86Box. Эта настройка, скорее всего, будет иметь значение только на macOS.</p></body></html>"
|
||||
msgid "<html><head/><body><p>When selecting media images (CD-ROM, floppy, etc.) the open dialog will start in the same directory as the 86Box configuration file. This setting will likely only make a difference on macOS.</p></body></html>"
|
||||
msgstr "<html><head/><body><p>При выборе образов носителей (CD-ROM, дискет и т. д.) диалог открытия будет запускаться в том же каталоге, что и файл конфигурации 86Box. Эта настройка, скорее всего, будет иметь значение только на macOS.</p></body></html>"
|
||||
|
||||
msgid "This machine might have been moved or copied."
|
||||
msgstr "Возможно, эта машина была перемещена или скопирована."
|
||||
@@ -2112,9 +2106,6 @@ msgstr "Запрашивать подтверждение перед холод
|
||||
msgid "Ask for confirmation before quitting"
|
||||
msgstr "Запрашивать подтверждение перед выходом"
|
||||
|
||||
msgid "Display hotkey message when entering full-screen mode"
|
||||
msgstr "Показывать сообщение о горячей клавише при входе в полноэкранный режим"
|
||||
|
||||
msgid "Options"
|
||||
msgstr "Параметры"
|
||||
|
||||
|
||||
@@ -630,9 +630,6 @@ msgstr "Kritická chyba"
|
||||
msgid " - PAUSED"
|
||||
msgstr " - POZASTAVENÝ"
|
||||
|
||||
msgid "Press %s to return to windowed mode."
|
||||
msgstr "Stlačte %s pre návrat z režimu celej obrazovky."
|
||||
|
||||
msgid "Speed"
|
||||
msgstr "Rýchlosť"
|
||||
|
||||
@@ -717,11 +714,11 @@ msgstr "Iné príslušenstvo"
|
||||
msgid "Click to capture mouse"
|
||||
msgstr "Kliknite pre zabráni myši"
|
||||
|
||||
msgid "Press %s to release mouse"
|
||||
msgstr "Stlačte %s pre uvoľnenie myši"
|
||||
msgid "Press %1 to release mouse"
|
||||
msgstr "Stlačte %1 pre uvoľnenie myši"
|
||||
|
||||
msgid "Press %s or middle button to release mouse"
|
||||
msgstr "Stlačte %s alebo prostredné tlačidlo na uvoľnenie myši"
|
||||
msgid "Press %1 or middle button to release mouse"
|
||||
msgstr "Stlačte %1 alebo prostredné tlačidlo na uvoľnenie myši"
|
||||
|
||||
msgid "Bus"
|
||||
msgstr "Zbernica"
|
||||
@@ -864,9 +861,6 @@ msgstr "%1 je potrebná pre automatický prevod PostScript dokumentov do PDF.\n\
|
||||
msgid "%1 is required for automatic conversion of PCL files to PDF.\n\nAny documents sent to the generic PCL printer will be saved as Printer Command Lnaugage (.pcl) files."
|
||||
msgstr "%1 je potrebná pre automatický prevod PCL dokumentov do PDF.\n\nAkékoľvek dokumenty vytlačené cez všeobecnú PCLovú tlačiareň budú uložené ako Printer Command Language (.pcl) súbory."
|
||||
|
||||
msgid "Entering fullscreen mode"
|
||||
msgstr "Vstup do režimu celej obrazovky"
|
||||
|
||||
msgid "Don't show this message again"
|
||||
msgstr "Nezobrazovať ďalej túto správu"
|
||||
|
||||
@@ -1306,8 +1300,8 @@ msgstr "Chyba pri inicializácii OpenGL"
|
||||
msgid "\nFalling back to software rendering."
|
||||
msgstr "\nNávrat k softvérovému vykresľovaniu."
|
||||
|
||||
msgid "<html><head/><body><p>When selecting media images (CD-ROM, floppy, etc.) the open dialog will start in the same directory as the 86Box configuration file. This setting will likely only make a difference on macOS.</p></body></html>"
|
||||
msgstr "<html><head/><body><p>Pri výbere multimediálnych obrazov (CD-ROM, disketa atď.) sa dialógové okno otvorenia spustí v rovnakom adresári ako konfiguračný súbor 86Box. Toto nastavenie bude mať pravdepodobne význam len v systéme MacOS.</p></body></html>"
|
||||
msgid "<html><head/><body><p>When selecting media images (CD-ROM, floppy, etc.) the open dialog will start in the same directory as the 86Box configuration file. This setting will likely only make a difference on macOS.</p></body></html>"
|
||||
msgstr "<html><head/><body><p>Pri výbere multimediálnych obrazov (CD-ROM, disketa atď.) sa dialógové okno otvorenia spustí v rovnakom adresári ako konfiguračný súbor 86Box. Toto nastavenie bude mať pravdepodobne význam len v systéme MacOS.</p></body></html>"
|
||||
|
||||
msgid "This machine might have been moved or copied."
|
||||
msgstr "Tento stroj mohol byť premiestnený alebo skopírovaný."
|
||||
@@ -2107,9 +2101,6 @@ msgstr ""
|
||||
msgid "Ask for confirmation before quitting"
|
||||
msgstr ""
|
||||
|
||||
msgid "Display hotkey message when entering full-screen mode"
|
||||
msgstr ""
|
||||
|
||||
msgid "Options"
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -630,9 +630,6 @@ msgstr "Kritična napaka"
|
||||
msgid " - PAUSED"
|
||||
msgstr " - ZAUSTAVLJEN"
|
||||
|
||||
msgid "Press %s to return to windowed mode."
|
||||
msgstr "Pritisnite %s za povratek iz celozaslonskega načina."
|
||||
|
||||
msgid "Speed"
|
||||
msgstr "Hitrost"
|
||||
|
||||
@@ -717,11 +714,11 @@ msgstr "Druga periferija"
|
||||
msgid "Click to capture mouse"
|
||||
msgstr "Kliknite za zajem miške"
|
||||
|
||||
msgid "Press %s to release mouse"
|
||||
msgstr "Pritisnite %s za izpust miške"
|
||||
msgid "Press %1 to release mouse"
|
||||
msgstr "Pritisnite %1 za izpust miške"
|
||||
|
||||
msgid "Press %s or middle button to release mouse"
|
||||
msgstr "Pritisnite %s ali srednji gumb za izpust miške"
|
||||
msgid "Press %1 or middle button to release mouse"
|
||||
msgstr "Pritisnite %1 ali srednji gumb za izpust miške"
|
||||
|
||||
msgid "Bus"
|
||||
msgstr "Vodilo"
|
||||
@@ -864,9 +861,6 @@ msgstr "%1 je potreben za samodejno pretvorbo datotek PostScript v PDF.\n\nVsi d
|
||||
msgid "%1 is required for automatic conversion of PCL files to PDF.\n\nAny documents sent to the generic PCL printer will be saved as Printer Command Lnaugage (.pcl) files."
|
||||
msgstr "%1 je potreben za samodejno pretvorbo datotek PCL v PDF.\n\nVsi dokumenti, poslani generičnemu tiskalniku PCL bodo shranjeni kot datoteke Printer Command Language (.pcl)."
|
||||
|
||||
msgid "Entering fullscreen mode"
|
||||
msgstr "Preklapljam v celozaslonski način"
|
||||
|
||||
msgid "Don't show this message again"
|
||||
msgstr "Ne pokaži več tega sporočila"
|
||||
|
||||
@@ -1305,8 +1299,8 @@ msgstr "Napaka pri inicializaciji OpenGL"
|
||||
msgid "\nFalling back to software rendering."
|
||||
msgstr "\nVrnitev na programsko upodabljanje."
|
||||
|
||||
msgid "<html><head/><body><p>When selecting media images (CD-ROM, floppy, etc.) the open dialog will start in the same directory as the 86Box configuration file. This setting will likely only make a difference on macOS.</p></body></html>"
|
||||
msgstr "<html><head/><body><p>Pri izbiri medijskih slik (CD-ROM, disketa itd.) se bo odprto pogovorno okno začelo v istem imeniku kot konfiguracijska datoteka 86Box. Ta nastavitev bo verjetno imela pomen le v operacijskem sistemu MacOS.</p></body></html>"
|
||||
msgid "<html><head/><body><p>When selecting media images (CD-ROM, floppy, etc.) the open dialog will start in the same directory as the 86Box configuration file. This setting will likely only make a difference on macOS.</p></body></html>"
|
||||
msgstr "<html><head/><body><p>Pri izbiri medijskih slik (CD-ROM, disketa itd.) se bo odprto pogovorno okno začelo v istem imeniku kot konfiguracijska datoteka 86Box. Ta nastavitev bo verjetno imela pomen le v operacijskem sistemu MacOS.</p></body></html>"
|
||||
|
||||
msgid "This machine might have been moved or copied."
|
||||
msgstr "Ta naprava je bila morda premeščena ali kopirana."
|
||||
@@ -2106,9 +2100,6 @@ msgstr "Vprašaj za potrditev pred ponovnim zagonom"
|
||||
msgid "Ask for confirmation before quitting"
|
||||
msgstr "Vprašaj za potrditev pred izhodom"
|
||||
|
||||
msgid "Display hotkey message when entering full-screen mode"
|
||||
msgstr "Prikaži obvestilo o bližnjični tipki pri prehodu v celozaslonski način"
|
||||
|
||||
msgid "Options"
|
||||
msgstr "Možnosti"
|
||||
|
||||
|
||||
@@ -630,9 +630,6 @@ msgstr "Allvarligt fel"
|
||||
msgid " - PAUSED"
|
||||
msgstr " - PAUSAD"
|
||||
|
||||
msgid "Press %s to return to windowed mode."
|
||||
msgstr "Tryck på %s för att återvända till fönsterläge."
|
||||
|
||||
msgid "Speed"
|
||||
msgstr "Hastighet"
|
||||
|
||||
@@ -717,11 +714,11 @@ msgstr "Andra tillbehör"
|
||||
msgid "Click to capture mouse"
|
||||
msgstr "Klicka för att fånga upp musen"
|
||||
|
||||
msgid "Press %s to release mouse"
|
||||
msgstr "Tryck på %s för att släppa musen"
|
||||
msgid "Press %1 to release mouse"
|
||||
msgstr "Tryck på %1 för att släppa musen"
|
||||
|
||||
msgid "Press %s or middle button to release mouse"
|
||||
msgstr "Tryck på %s eller mellersta musknappen för att släppa musen"
|
||||
msgid "Press %1 or middle button to release mouse"
|
||||
msgstr "Tryck på %1 eller mellersta musknappen för att släppa musen"
|
||||
|
||||
msgid "Bus"
|
||||
msgstr "Buss"
|
||||
@@ -864,9 +861,6 @@ msgstr "%1 krävs för automatisk omvandling av PostScript-filer till PDF.\n\nAl
|
||||
msgid "%1 is required for automatic conversion of PCL files to PDF.\n\nAny documents sent to the generic PCL printer will be saved as Printer Command Language (.pcl) files."
|
||||
msgstr "%1 krävs för automatisk omvandling av PCL-filer till PDF.\n\nAlla dokument som skickas till den allmänna PCL-skrivaren kommer att sparas som Printer Command Language-filer (.pcl)."
|
||||
|
||||
msgid "Entering fullscreen mode"
|
||||
msgstr "Startar helskärmsläge"
|
||||
|
||||
msgid "Don't show this message again"
|
||||
msgstr "Visa inte detta meddelande igen"
|
||||
|
||||
@@ -1305,8 +1299,8 @@ msgstr "Fel vid initialisering av OpenGL"
|
||||
msgid "\nFalling back to software rendering."
|
||||
msgstr "\nFaller tillbaka på mjukvarurendering."
|
||||
|
||||
msgid "<html><head/><body><p>When selecting media images (CD-ROM, floppy, etc.) the open dialog will start in the same directory as the 86Box configuration file. This setting will likely only make a difference on macOS.</p></body></html>"
|
||||
msgstr "<html><head/><body><p>Vid val av medieavbildningar (CD-ROM, diskett, osv.) så kommer fönstret att börja i samma mapp som 86Box konfigurationsfil. Denna inställning kommer troligtvis endast göra en skillnad på macOS.</p></body></html>"
|
||||
msgid "<html><head/><body><p>When selecting media images (CD-ROM, floppy, etc.) the open dialog will start in the same directory as the 86Box configuration file. This setting will likely only make a difference on macOS.</p></body></html>"
|
||||
msgstr "<html><head/><body><p>Vid val av medieavbildningar (CD-ROM, diskett, osv.) så kommer fönstret att börja i samma mapp som 86Box konfigurationsfil. Denna inställning kommer troligtvis endast göra en skillnad på macOS.</p></body></html>"
|
||||
|
||||
msgid "This machine might have been moved or copied."
|
||||
msgstr "Denna maskin kan ha flyttats eller kopierats."
|
||||
@@ -2112,9 +2106,6 @@ msgstr "Bekräfta innan hård omstart"
|
||||
msgid "Ask for confirmation before quitting"
|
||||
msgstr "Bekräfta innan avslut"
|
||||
|
||||
msgid "Display hotkey message when entering full-screen mode"
|
||||
msgstr "Visa meddelande om snabbtangenter när helskärmsläget startas"
|
||||
|
||||
msgid "Options"
|
||||
msgstr "Alternativ"
|
||||
|
||||
|
||||
@@ -630,9 +630,6 @@ msgstr "Kritik hata"
|
||||
msgid " - PAUSED"
|
||||
msgstr " - DURAKLATILDI"
|
||||
|
||||
msgid "Press %s to return to windowed mode."
|
||||
msgstr "Pencere moduna geri dönmek için %s tuşlarına basın."
|
||||
|
||||
msgid "Speed"
|
||||
msgstr "Hız"
|
||||
|
||||
@@ -717,11 +714,11 @@ msgstr "Diğer cihazlar"
|
||||
msgid "Click to capture mouse"
|
||||
msgstr "Farenin yakalanması için tıklayın"
|
||||
|
||||
msgid "Press %s to release mouse"
|
||||
msgstr "Farenin bırakılması için %s tuşlarına basın"
|
||||
msgid "Press %1 to release mouse"
|
||||
msgstr "Farenin bırakılması için %1 tuşlarına basın"
|
||||
|
||||
msgid "Press %s or middle button to release mouse"
|
||||
msgstr "Farenin bırakılması için %s tuşlarına veya tekerlek tuşuna basın"
|
||||
msgid "Press %1 or middle button to release mouse"
|
||||
msgstr "Farenin bırakılması için %1 tuşlarına veya tekerlek tuşuna basın"
|
||||
|
||||
msgid "Bus"
|
||||
msgstr "Veri yolu"
|
||||
@@ -864,9 +861,6 @@ msgstr "%1 PostScript dosyalarının otomatik olarak PDF dosyalarına çevirilme
|
||||
msgid "%1 is required for automatic conversion of PCL files to PDF.\n\nAny documents sent to the generic PostScript printer will be saved as Printer Command Language (.pcl) files."
|
||||
msgstr "%1 PCL dosyalarının otomatik olarak PDF dosyalarına çevirilmesi için gereklidir.\n\nBu bulunmadığından dolayı genel PostScript yazıcısına gönderilen tüm dökümanlar Printer Command Language (.pcl) dosyası olarak kaydedilecektir."
|
||||
|
||||
msgid "Entering fullscreen mode"
|
||||
msgstr "Tam ekran moduna geçiş yapılıyor"
|
||||
|
||||
msgid "Don't show this message again"
|
||||
msgstr "Bu mesajı bir daha gösterme"
|
||||
|
||||
@@ -1305,8 +1299,8 @@ msgstr "OpenGL başlatılırken hata oluştu"
|
||||
msgid "\nFalling back to software rendering."
|
||||
msgstr "\nYazılım işleyicisine geri dönülüyor."
|
||||
|
||||
msgid "<html><head/><body><p>When selecting media images (CD-ROM, floppy, etc.) the open dialog will start in the same directory as the 86Box configuration file. This setting will likely only make a difference on macOS.</p></body></html>"
|
||||
msgstr "<html><head/><body><p>Medya görüntüsü (CD-ROM, disket, vb.) seçme diyaloğu 86Box yapılandırma dosyasıyla aynı dizinde başlayacaktır. Bu ayar muhtemelen sadece macOS üzerinde bir fark meydana getirecektir.</p></body></html>"
|
||||
msgid "<html><head/><body><p>When selecting media images (CD-ROM, floppy, etc.) the open dialog will start in the same directory as the 86Box configuration file. This setting will likely only make a difference on macOS.</p></body></html>"
|
||||
msgstr "<html><head/><body><p>Medya görüntüsü (CD-ROM, disket, vb.) seçme diyaloğu 86Box yapılandırma dosyasıyla aynı dizinde başlayacaktır. Bu ayar muhtemelen sadece macOS üzerinde bir fark meydana getirecektir.</p></body></html>"
|
||||
|
||||
msgid "This machine might have been moved or copied."
|
||||
msgstr "Bu makine taşınmış veya kopyalanmış olabilir."
|
||||
@@ -2106,9 +2100,6 @@ msgstr ""
|
||||
msgid "Ask for confirmation before quitting"
|
||||
msgstr ""
|
||||
|
||||
msgid "Display hotkey message when entering full-screen mode"
|
||||
msgstr ""
|
||||
|
||||
msgid "Options"
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -630,9 +630,6 @@ msgstr "Непереробна помилка"
|
||||
msgid " - PAUSED"
|
||||
msgstr " - ПРИЗУПИНЕННЯ"
|
||||
|
||||
msgid "Press %s to return to windowed mode."
|
||||
msgstr "Натисніть %s для повернення у віконний режим."
|
||||
|
||||
msgid "Speed"
|
||||
msgstr "Швидкість"
|
||||
|
||||
@@ -717,11 +714,11 @@ msgstr "Інша периферія"
|
||||
msgid "Click to capture mouse"
|
||||
msgstr "Клацніть мишею для захвату курсора"
|
||||
|
||||
msgid "Press %s to release mouse"
|
||||
msgstr "Натисніть %s, щоб звільнити курсор"
|
||||
msgid "Press %1 to release mouse"
|
||||
msgstr "Натисніть %1, щоб звільнити курсор"
|
||||
|
||||
msgid "Press %s or middle button to release mouse"
|
||||
msgstr "Натисніть %s або середню кнопку миші, щоб звільнити курсор"
|
||||
msgid "Press %1 or middle button to release mouse"
|
||||
msgstr "Натисніть %1 або середню кнопку миші, щоб звільнити курсор"
|
||||
|
||||
msgid "Bus"
|
||||
msgstr "Шина"
|
||||
@@ -864,9 +861,6 @@ msgstr "%1 потрібно для автоматичного перетворе
|
||||
msgid "%1 is required for automatic conversion of PCL files to PDF.\n\nAny documents sent to the generic PCL printer will be saved as Printer Command Language (.pcl) files."
|
||||
msgstr "%1 потрібно для автоматичного перетворення файлів PCL в PDF.\n\nВсі документи, відправлені на загальний принтер PCL, будуть збережені у вигляді файлів Printer Command Language (.ps)."
|
||||
|
||||
msgid "Entering fullscreen mode"
|
||||
msgstr "Вхід у повноекранний режим"
|
||||
|
||||
msgid "Don't show this message again"
|
||||
msgstr "Більше не показувати це повідомлення"
|
||||
|
||||
@@ -1305,8 +1299,8 @@ msgstr "Помилка ініціалізації OpenGL"
|
||||
msgid "\nFalling back to software rendering."
|
||||
msgstr "\nПовернення до програмного рендерингу."
|
||||
|
||||
msgid "<html><head/><body><p>When selecting media images (CD-ROM, floppy, etc.) the open dialog will start in the same directory as the 86Box configuration file. This setting will likely only make a difference on macOS.</p></body></html>"
|
||||
msgstr "<html><head/><body><p>При виборі медіа-образів (CD-ROM, дискета і т.д.) діалогове вікно буде відкриватися в тому ж каталозі, що і файл конфігурації 86Box. Цей параметр, швидше за все, матиме значення лише на macOS.</p></body></html>"
|
||||
msgid "<html><head/><body><p>When selecting media images (CD-ROM, floppy, etc.) the open dialog will start in the same directory as the 86Box configuration file. This setting will likely only make a difference on macOS.</p></body></html>"
|
||||
msgstr "<html><head/><body><p>При виборі медіа-образів (CD-ROM, дискета і т.д.) діалогове вікно буде відкриватися в тому ж каталозі, що і файл конфігурації 86Box. Цей параметр, швидше за все, матиме значення лише на macOS.</p></body></html>"
|
||||
|
||||
msgid "This machine might have been moved or copied."
|
||||
msgstr "Цю машину могли перемістити або скопіювати."
|
||||
@@ -2112,9 +2106,6 @@ msgstr ""
|
||||
msgid "Ask for confirmation before quitting"
|
||||
msgstr ""
|
||||
|
||||
msgid "Display hotkey message when entering full-screen mode"
|
||||
msgstr ""
|
||||
|
||||
msgid "Options"
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -630,9 +630,6 @@ msgstr "Lỗi nghiêm trọng"
|
||||
msgid " - PAUSED"
|
||||
msgstr " - TẠM DỪNG"
|
||||
|
||||
msgid "Press %s to return to windowed mode."
|
||||
msgstr "Bấm %s để quay lại chế độ cửa sổ."
|
||||
|
||||
msgid "Speed"
|
||||
msgstr "Vận tốc"
|
||||
|
||||
@@ -717,11 +714,11 @@ msgstr "Thiết bị ngoại vi khác"
|
||||
msgid "Click to capture mouse"
|
||||
msgstr "Nhấp vào khung hình để 'nhốt' chuột vào"
|
||||
|
||||
msgid "Press %s to release mouse"
|
||||
msgstr "Nhấn %s để thả chuột"
|
||||
msgid "Press %1 to release mouse"
|
||||
msgstr "Nhấn %1 để thả chuột"
|
||||
|
||||
msgid "Press %s or middle button to release mouse"
|
||||
msgstr "Nhấn %s hoặc nhấp chuột giữa để thả chuột"
|
||||
msgid "Press %1 or middle button to release mouse"
|
||||
msgstr "Nhấn %1 hoặc nhấp chuột giữa để thả chuột"
|
||||
|
||||
msgid "Bus"
|
||||
msgstr "Bus"
|
||||
@@ -864,9 +861,6 @@ msgstr "Cần có %1 để tự động chuyển đổi file PostScript qua PDF.
|
||||
msgid "%1 is required for automatic conversion of PCL files to PDF.\n\nAny documents sent to the generic PCL printer will be saved as Printer Command Language (.pcl) files."
|
||||
msgstr "Cần có %1 để tự động chuyển đổi file PCL qua PDF.\n\nMọi tài liệu được đưa qua máy in generic PCL sẽ lưu ở dạng Printer Command Language (.pcl)."
|
||||
|
||||
msgid "Entering fullscreen mode"
|
||||
msgstr "Đang tiến vào chế độ toàn màn hình"
|
||||
|
||||
msgid "Don't show this message again"
|
||||
msgstr "Không hiện thông báo này nữa"
|
||||
|
||||
@@ -1305,8 +1299,8 @@ msgstr "Lỗi khởi tạo OpenGL"
|
||||
msgid "\nFalling back to software rendering."
|
||||
msgstr "\nQuay trở lại kết xuất phần mềm."
|
||||
|
||||
msgid "<html><head/><body><p>When selecting media images (CD-ROM, floppy, etc.) the open dialog will start in the same directory as the 86Box configuration file. This setting will likely only make a difference on macOS.</p></body></html>"
|
||||
msgstr "<html><head/><body><p>Khi chọn hình ảnh phương tiện (CD-ROM, ổ mềm, v.v.), hộp thoại mở sẽ bắt đầu trong cùng thư mục với tệp cấu hình 86box. Cài đặt này có thể sẽ chỉ tạo ra sự khác biệt trên macOS.</p></body></html>"
|
||||
msgid "<html><head/><body><p>When selecting media images (CD-ROM, floppy, etc.) the open dialog will start in the same directory as the 86Box configuration file. This setting will likely only make a difference on macOS.</p></body></html>"
|
||||
msgstr "<html><head/><body><p>Khi chọn hình ảnh phương tiện (CD-ROM, ổ mềm, v.v.), hộp thoại mở sẽ bắt đầu trong cùng thư mục với tệp cấu hình 86box. Cài đặt này có thể sẽ chỉ tạo ra sự khác biệt trên macOS.</p></body></html>"
|
||||
|
||||
msgid "This machine might have been moved or copied."
|
||||
msgstr "Cấu hình máy này có thể đã được di chuyển hoặc sao chép."
|
||||
@@ -2106,9 +2100,6 @@ msgstr ""
|
||||
msgid "Ask for confirmation before quitting"
|
||||
msgstr ""
|
||||
|
||||
msgid "Display hotkey message when entering full-screen mode"
|
||||
msgstr ""
|
||||
|
||||
msgid "Options"
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -630,9 +630,6 @@ msgstr "致命错误"
|
||||
msgid " - PAUSED"
|
||||
msgstr " - 已暂停"
|
||||
|
||||
msgid "Press Ctrl+Alt+PgDn to return to windowed mode."
|
||||
msgstr "按下 Ctrl+Alt+PgDn 返回到窗口模式。"
|
||||
|
||||
msgid "Speed"
|
||||
msgstr "速度"
|
||||
|
||||
@@ -717,11 +714,11 @@ msgstr "其他外围设备"
|
||||
msgid "Click to capture mouse"
|
||||
msgstr "单击窗口捕捉鼠标"
|
||||
|
||||
msgid "Press %s to release mouse"
|
||||
msgstr "按下 %s 释放鼠标"
|
||||
msgid "Press %1 to release mouse"
|
||||
msgstr "按下 %1 释放鼠标"
|
||||
|
||||
msgid "Press %s or middle button to release mouse"
|
||||
msgstr "按下 %s 或鼠标中键释放鼠标"
|
||||
msgid "Press %1 or middle button to release mouse"
|
||||
msgstr "按下 %1 或鼠标中键释放鼠标"
|
||||
|
||||
msgid "Bus"
|
||||
msgstr "总线"
|
||||
@@ -864,9 +861,6 @@ msgstr "%1 是将 PostScript 文件转换为 PDF 所需要的库。\n\n使用通
|
||||
msgid "%1 is required for automatic conversion of PCL files to PDF.\n\nAny documents sent to the generic PCL printer will be saved as Printer Command Language (.pcl) files."
|
||||
msgstr "%1 是将 PCL 文件转换为 PDF 所需要的库。\n\n使用通用 PCL 打印机打印的文档将被保存为 Printer Command Language (.pcl) 文件。"
|
||||
|
||||
msgid "Entering fullscreen mode"
|
||||
msgstr "正在进入全屏模式"
|
||||
|
||||
msgid "Don't show this message again"
|
||||
msgstr "不要再显示此消息"
|
||||
|
||||
@@ -1305,8 +1299,8 @@ msgstr "初始化 OpenGL 时出错"
|
||||
msgid "\nFalling back to software rendering."
|
||||
msgstr "\n回到软件渲染。"
|
||||
|
||||
msgid "<html><head/><body><p>When selecting media images (CD-ROM, floppy, etc.) the open dialog will start in the same directory as the 86Box configuration file. This setting will likely only make a difference on macOS.</p></body></html>"
|
||||
msgstr "<html><head/><body><p>选择媒体图像(光盘、软盘等)时,打开对话框将从与 86Box 配置文件相同的目录开始。这一设置可能只会在 macOS 上产生影响。</p></body></html>;"
|
||||
msgid "<html><head/><body><p>When selecting media images (CD-ROM, floppy, etc.) the open dialog will start in the same directory as the 86Box configuration file. This setting will likely only make a difference on macOS.</p></body></html>"
|
||||
msgstr "<html><head/><body><p>选择媒体图像(光盘、软盘等)时,打开对话框将从与 86Box 配置文件相同的目录开始。这一设置可能只会在 macOS 上产生影响。</p></body></html>;"
|
||||
|
||||
msgid "This machine might have been moved or copied."
|
||||
msgstr "这台机器可能被移动或复制过。"
|
||||
@@ -2106,9 +2100,6 @@ msgstr ""
|
||||
msgid "Ask for confirmation before quitting"
|
||||
msgstr ""
|
||||
|
||||
msgid "Display hotkey message when entering full-screen mode"
|
||||
msgstr ""
|
||||
|
||||
msgid "Options"
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -630,9 +630,6 @@ msgstr "致命錯誤"
|
||||
msgid " - PAUSED"
|
||||
msgstr " - 已暫停"
|
||||
|
||||
msgid "Press Ctrl+Alt+PgDn to return to windowed mode."
|
||||
msgstr "按下 Ctrl+Alt+PgDn 返回到視窗模式。"
|
||||
|
||||
msgid "Speed"
|
||||
msgstr "速度"
|
||||
|
||||
@@ -717,11 +714,11 @@ msgstr "其他周邊裝置"
|
||||
msgid "Click to capture mouse"
|
||||
msgstr "點擊視窗捕捉滑鼠"
|
||||
|
||||
msgid "Press %s to release mouse"
|
||||
msgstr "按下 %s 釋放滑鼠"
|
||||
msgid "Press %1 to release mouse"
|
||||
msgstr "按下 %1 釋放滑鼠"
|
||||
|
||||
msgid "Press %s or middle button to release mouse"
|
||||
msgstr "按下 %s 或滑鼠中鍵釋放滑鼠"
|
||||
msgid "Press %1 or middle button to release mouse"
|
||||
msgstr "按下 %1 或滑鼠中鍵釋放滑鼠"
|
||||
|
||||
msgid "Bus"
|
||||
msgstr "匯流排"
|
||||
@@ -864,9 +861,6 @@ msgstr "%1 是將 PostScript 檔案轉換為 PDF 所需要的庫。\n\n使用通
|
||||
msgid "%1 is required for automatic conversion of PCL files to PDF.\n\nAny documents sent to the generic PCL printer will be saved as Printer Command Language (.pcl) files."
|
||||
msgstr "%1 是將 PCL 檔案轉換為 PDF 所需要的庫。\n\n使用通用 PCL 印表機列印的文件將被儲存為 Printer Command Language (.pcl) 檔案。"
|
||||
|
||||
msgid "Entering fullscreen mode"
|
||||
msgstr "正在進入全螢幕模式"
|
||||
|
||||
msgid "Don't show this message again"
|
||||
msgstr "不要再顯示此消息"
|
||||
|
||||
@@ -1305,8 +1299,8 @@ msgstr "初始化 OpenGL 出錯"
|
||||
msgid "\nFalling back to software rendering."
|
||||
msgstr "\n回退到軟體渲染。"
|
||||
|
||||
msgid "<html><head/><body><p>When selecting media images (CD-ROM, floppy, etc.) the open dialog will start in the same directory as the 86Box configuration file. This setting will likely only make a difference on macOS.</p></body></html>"
|
||||
msgstr "<html><head/><body><p>當選擇媒體映像 (CD-ROM、軟碟等) 時,開啟對話方塊會在與 86Box 設定檔相同的目錄中開始。此設定可能只會在 macOS 上有所影響。</p></body></html>"
|
||||
msgid "<html><head/><body><p>When selecting media images (CD-ROM, floppy, etc.) the open dialog will start in the same directory as the 86Box configuration file. This setting will likely only make a difference on macOS.</p></body></html>"
|
||||
msgstr "<html><head/><body><p>當選擇媒體映像 (CD-ROM、軟碟等) 時,開啟對話方塊會在與 86Box 設定檔相同的目錄中開始。此設定可能只會在 macOS 上有所影響。</p></body></html>"
|
||||
|
||||
msgid "This machine might have been moved or copied."
|
||||
msgstr "這台機器可能已被移動或複製。"
|
||||
@@ -2106,9 +2100,6 @@ msgstr ""
|
||||
msgid "Ask for confirmation before quitting"
|
||||
msgstr ""
|
||||
|
||||
msgid "Display hotkey message when entering full-screen mode"
|
||||
msgstr ""
|
||||
|
||||
msgid "Options"
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -90,7 +90,7 @@ KeyBinder::BindKey(QWidget* widget, QString CurValue)
|
||||
KeyBinder kb(widget);
|
||||
kb.setWindowTitle(tr("Bind Key"));
|
||||
kb.setFixedSize(kb.minimumSizeHint());
|
||||
kb.findChild<QKeySequenceEdit*>()->setKeySequence(QKeySequence::fromString(CurValue));
|
||||
kb.findChild<QKeySequenceEdit*>()->setKeySequence(QKeySequence::fromString(CurValue, QKeySequence::NativeText));
|
||||
kb.setEnabled(true);
|
||||
|
||||
if (kb.exec() == QDialog::Accepted) {
|
||||
|
||||
@@ -672,6 +672,16 @@ main(int argc, char *argv[])
|
||||
} else {
|
||||
main_window->show();
|
||||
}
|
||||
#ifdef WAYLAND
|
||||
if (QApplication::platformName().contains("wayland")) {
|
||||
/* Force a sync. */
|
||||
(void)main_window->winId();
|
||||
QApplication::sync();
|
||||
extern void wl_keyboard_grab(QWindow *window);
|
||||
wl_keyboard_grab(main_window->windowHandle());
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
app.installEventFilter(main_window);
|
||||
|
||||
|
||||
@@ -201,18 +201,22 @@ MainWindow::MainWindow(QWidget *parent)
|
||||
|
||||
num_label = new QLabel;
|
||||
num_label->setPixmap(num_icon_off.pixmap(QSize(16, 16)));
|
||||
num_label->setToolTip(QShortcut::tr("Num Lock"));
|
||||
statusBar()->addPermanentWidget(num_label);
|
||||
|
||||
caps_label = new QLabel;
|
||||
caps_label->setPixmap(caps_icon_off.pixmap(QSize(16, 16)));
|
||||
caps_label->setToolTip(QShortcut::tr("Caps Lock"));
|
||||
statusBar()->addPermanentWidget(caps_label);
|
||||
|
||||
scroll_label = new QLabel;
|
||||
scroll_label->setPixmap(scroll_icon_off.pixmap(QSize(16, 16)));
|
||||
scroll_label->setToolTip(QShortcut::tr("Scroll Lock"));
|
||||
statusBar()->addPermanentWidget(scroll_label);
|
||||
|
||||
kana_label = new QLabel;
|
||||
kana_label->setPixmap(kana_icon_off.pixmap(QSize(16, 16)));
|
||||
kana_label->setToolTip(QShortcut::tr("Kana Lock"));
|
||||
statusBar()->addPermanentWidget(kana_label);
|
||||
|
||||
QTimer* ledKeyboardTimer = new QTimer(this);
|
||||
@@ -321,7 +325,8 @@ MainWindow::MainWindow(QWidget *parent)
|
||||
mouse_capture = state ? 1 : 0;
|
||||
qt_mouse_capture(mouse_capture);
|
||||
if (mouse_capture) {
|
||||
this->grabKeyboard();
|
||||
if (hook_enabled)
|
||||
this->grabKeyboard();
|
||||
if (ui->stackedWidget->mouse_capture_func)
|
||||
ui->stackedWidget->mouse_capture_func(this->windowHandle());
|
||||
} else {
|
||||
@@ -1347,27 +1352,6 @@ MainWindow::on_actionFullscreen_triggered()
|
||||
emit resizeContents(vid_resize == 2 ? fixed_size_x : monitors[0].mon_scrnsz_x, vid_resize == 2 ? fixed_size_y : monitors[0].mon_scrnsz_y);
|
||||
}
|
||||
} else {
|
||||
if (video_fullscreen_first) {
|
||||
bool wasCaptured = mouse_capture == 1;
|
||||
|
||||
char strFullscreen[100];
|
||||
sprintf(strFullscreen, qPrintable(tr("Press %s to return to windowed mode.")), acc_keys[FindAccelerator("fullscreen")].seq);
|
||||
|
||||
QMessageBox questionbox(QMessageBox::Icon::Information, tr("Entering fullscreen mode"), QString(strFullscreen), QMessageBox::Ok, this);
|
||||
QCheckBox *chkbox = new QCheckBox(tr("Don't show this message again"));
|
||||
questionbox.setCheckBox(chkbox);
|
||||
chkbox->setChecked(!video_fullscreen_first);
|
||||
|
||||
QObject::connect(chkbox, &QCheckBox::stateChanged, [](int state) {
|
||||
video_fullscreen_first = (state == Qt::CheckState::Unchecked);
|
||||
});
|
||||
questionbox.exec();
|
||||
config_save();
|
||||
|
||||
/* (re-capture mouse after dialog). */
|
||||
if (wasCaptured)
|
||||
emit setMouseCapture(true);
|
||||
}
|
||||
video_fullscreen = 1;
|
||||
setFixedSize(QWIDGETSIZE_MAX, QWIDGETSIZE_MAX);
|
||||
ui->menubar->hide();
|
||||
@@ -1495,6 +1479,7 @@ MainWindow::eventFilter(QObject *receiver, QEvent *event)
|
||||
curdopause = dopause;
|
||||
plat_pause(isShowMessage ? 2 : 1);
|
||||
emit setMouseCapture(false);
|
||||
releaseKeyboard();
|
||||
} else if (event->type() == QEvent::WindowUnblocked) {
|
||||
plat_pause(curdopause);
|
||||
}
|
||||
@@ -1512,9 +1497,13 @@ MainWindow::refreshMediaMenu()
|
||||
ui->actionMCA_devices->setVisible(machine_has_bus(machine, MACHINE_BUS_MCA));
|
||||
ui->actionACPI_Shutdown->setEnabled(!!acpi_enabled);
|
||||
|
||||
num_label->setToolTip(QShortcut::tr("Num Lock"));
|
||||
num_label->setVisible(machine_has_bus(machine, MACHINE_BUS_PS2_PORTS | MACHINE_BUS_AT_KBD));
|
||||
scroll_label->setToolTip(QShortcut::tr("Scroll Lock"));
|
||||
scroll_label->setVisible(machine_has_bus(machine, MACHINE_BUS_PS2_PORTS | MACHINE_BUS_AT_KBD));
|
||||
caps_label->setToolTip(QShortcut::tr("Caps Lock"));
|
||||
caps_label->setVisible(machine_has_bus(machine, MACHINE_BUS_PS2_PORTS | MACHINE_BUS_AT_KBD));
|
||||
kana_label->setToolTip(QShortcut::tr("Kana Lock"));
|
||||
kana_label->setVisible(machine_has_bus(machine, MACHINE_BUS_PS2_PORTS | MACHINE_BUS_AT_KBD) &&
|
||||
machine_has_flags(machine, MACHINE_AX));
|
||||
}
|
||||
@@ -1614,13 +1603,13 @@ MainWindow::getRenderWidgetSize()
|
||||
void
|
||||
MainWindow::focusInEvent(QFocusEvent *event)
|
||||
{
|
||||
this->grabKeyboard();
|
||||
//this->grabKeyboard();
|
||||
}
|
||||
|
||||
void
|
||||
MainWindow::focusOutEvent(QFocusEvent *event)
|
||||
{
|
||||
this->releaseKeyboard();
|
||||
//this->releaseKeyboard();
|
||||
}
|
||||
|
||||
void
|
||||
|
||||
@@ -43,6 +43,7 @@
|
||||
#include <QTimer>
|
||||
#include <QProcess>
|
||||
#include <QRegularExpression>
|
||||
#include <QKeySequence>
|
||||
|
||||
#include <QLibrary>
|
||||
#include <QElapsedTimer>
|
||||
@@ -571,8 +572,6 @@ c16stombs(char dst[], const uint16_t src[], int len)
|
||||
}
|
||||
#endif
|
||||
|
||||
# define MOUSE_CAPTURE_KEYSEQ "F8+F12"
|
||||
|
||||
#ifdef _WIN32
|
||||
# if defined(__amd64__) || defined(_M_X64) || defined(__aarch64__) || defined(_M_ARM64)
|
||||
# define LIB_NAME_GS "gsdll64.dll"
|
||||
@@ -595,14 +594,8 @@ ProgSettings::reloadStrings()
|
||||
{
|
||||
translatedstrings.clear();
|
||||
translatedstrings[STRING_MOUSE_CAPTURE] = QCoreApplication::translate("", "Click to capture mouse").toStdWString();
|
||||
|
||||
char mouseCaptureKeyseq[100];
|
||||
sprintf(mouseCaptureKeyseq, qPrintable(QCoreApplication::translate("", "Press %s to release mouse")), acc_keys[FindAccelerator("release_mouse")].seq);
|
||||
translatedstrings[STRING_MOUSE_RELEASE] = QString(mouseCaptureKeyseq).toStdWString();
|
||||
|
||||
sprintf(mouseCaptureKeyseq, qPrintable(QCoreApplication::translate("", "Press %s or middle button to release mouse")), acc_keys[FindAccelerator("release_mouse")].seq);
|
||||
translatedstrings[STRING_MOUSE_RELEASE_MMB] = QString(mouseCaptureKeyseq).toStdWString();
|
||||
|
||||
translatedstrings[STRING_MOUSE_RELEASE] = QCoreApplication::translate("", "Press %1 to release mouse").arg(QKeySequence(acc_keys[FindAccelerator("release_mouse")].seq, QKeySequence::PortableText).toString(QKeySequence::NativeText)).toStdWString();
|
||||
translatedstrings[STRING_MOUSE_RELEASE_MMB] = QCoreApplication::translate("", "Press %1 or middle button to release mouse").arg(QKeySequence(acc_keys[FindAccelerator("release_mouse")].seq, QKeySequence::PortableText).toString(QKeySequence::NativeText)).toStdWString();
|
||||
translatedstrings[STRING_INVALID_CONFIG] = QCoreApplication::translate("", "Invalid configuration").toStdWString();
|
||||
translatedstrings[STRING_NO_ST506_ESDI_CDROM] = QCoreApplication::translate("", "MFM/RLL or ESDI CD-ROM drives never existed").toStdWString();
|
||||
translatedstrings[STRING_PCAP_ERROR_NO_DEVICES] = QCoreApplication::translate("", "No PCap devices found").toStdWString();
|
||||
|
||||
@@ -96,7 +96,6 @@ ProgSettings::ProgSettings(QWidget *parent)
|
||||
ui->checkBoxConfirmExit->setChecked(confirm_exit);
|
||||
ui->checkBoxConfirmSave->setChecked(confirm_save);
|
||||
ui->checkBoxConfirmHardReset->setChecked(confirm_reset);
|
||||
ui->checkBoxFullscreenFirst->setChecked(video_fullscreen_first);
|
||||
|
||||
#ifndef Q_OS_WINDOWS
|
||||
ui->checkBoxMultimediaKeys->setHidden(true);
|
||||
@@ -111,7 +110,6 @@ ProgSettings::accept()
|
||||
confirm_exit = ui->checkBoxConfirmExit->isChecked() ? 1 : 0;
|
||||
confirm_save = ui->checkBoxConfirmSave->isChecked() ? 1 : 0;
|
||||
confirm_reset = ui->checkBoxConfirmHardReset->isChecked() ? 1 : 0;
|
||||
video_fullscreen_first = ui->checkBoxFullscreenFirst->isChecked() ? 1 : 0;
|
||||
inhibit_multimedia_keys = ui->checkBoxMultimediaKeys->isChecked() ? 1 : 0;
|
||||
|
||||
loadTranslators(QCoreApplication::instance());
|
||||
|
||||
@@ -165,13 +165,6 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="11" column="0">
|
||||
<widget class="QCheckBox" name="checkBoxFullscreenFirst">
|
||||
<property name="text">
|
||||
<string>Display hotkey message when entering full-screen mode</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources/>
|
||||
|
||||
@@ -77,7 +77,7 @@ RendererStack::RendererStack(QWidget *parent, int monitor_index)
|
||||
|
||||
m_monitor_index = monitor_index;
|
||||
#if defined __unix__ && !defined __HAIKU__
|
||||
char auto_mouse_type[16];
|
||||
memset(auto_mouse_type, 0, sizeof (auto_mouse_type));
|
||||
mousedata.mouse_type = getenv("EMU86BOX_MOUSE");
|
||||
if (!mousedata.mouse_type || (mousedata.mouse_type[0] == '\0') || !stricmp(mousedata.mouse_type, "auto")) {
|
||||
if (QApplication::platformName().contains("wayland"))
|
||||
|
||||
@@ -137,6 +137,8 @@ private:
|
||||
|
||||
std::atomic_bool rendererTakesScreenshots;
|
||||
std::atomic_bool switchInProgress{false};
|
||||
|
||||
char auto_mouse_type[16];
|
||||
};
|
||||
|
||||
#endif // QT_RENDERERCONTAINER_HPP
|
||||
|
||||
@@ -162,7 +162,7 @@ SettingsInput::refreshInputList()
|
||||
|
||||
for (int x=0;x<NUM_ACCELS;x++) {
|
||||
ui->tableKeys->setItem(x, 0, new QTableWidgetItem(tr(acc_keys_t[x].desc)));
|
||||
ui->tableKeys->setItem(x, 1, new QTableWidgetItem(acc_keys_t[x].seq));
|
||||
ui->tableKeys->setItem(x, 1, new QTableWidgetItem(QKeySequence(acc_keys_t[x].seq, QKeySequence::PortableText).toString(QKeySequence::NativeText)));
|
||||
ui->tableKeys->setItem(x, 2, new QTableWidgetItem(acc_keys_t[x].name));
|
||||
}
|
||||
}
|
||||
@@ -201,7 +201,7 @@ SettingsInput::on_tableKeys_cellDoubleClicked(int row, int col)
|
||||
// so we don't test against shortcuts the user already changed.
|
||||
for(int x=0;x<NUM_ACCELS;x++)
|
||||
{
|
||||
if(QString::fromStdString(acc_keys_t[x].seq) == keyseq.toString(QKeySequence::NativeText))
|
||||
if(QString::fromStdString(acc_keys_t[x].seq) == keyseq.toString(QKeySequence::PortableText))
|
||||
{
|
||||
// That key is already in use
|
||||
main_window->showMessage(MBX_ANSI & MBX_INFO, "Bind conflict", "This key combo is already in use", false);
|
||||
@@ -212,12 +212,12 @@ SettingsInput::on_tableKeys_cellDoubleClicked(int row, int col)
|
||||
// Go ahead and apply the bind.
|
||||
|
||||
// Find the correct accelerator key entry
|
||||
int accKeyID = FindAccelerator(qPrintable(ui->tableKeys->item(row,2)->text()));
|
||||
int accKeyID = FindAccelerator(ui->tableKeys->item(row,2)->text().toUtf8().constData());
|
||||
if (accKeyID < 0) return; // this should never happen
|
||||
|
||||
// Make the change
|
||||
cell->setText(keyseq.toString(QKeySequence::NativeText));
|
||||
strcpy(acc_keys_t[accKeyID].seq, qPrintable(keyseq.toString(QKeySequence::NativeText)));
|
||||
strcpy(acc_keys_t[accKeyID].seq, keyseq.toString(QKeySequence::PortableText).toUtf8().constData());
|
||||
|
||||
refreshInputList();
|
||||
}
|
||||
@@ -242,7 +242,7 @@ SettingsInput::on_pushButtonClearBind_clicked()
|
||||
|
||||
cell->setText("");
|
||||
// Find the correct accelerator key entry
|
||||
int accKeyID = FindAccelerator(qPrintable(ui->tableKeys->item(cell->row(),2)->text()));
|
||||
int accKeyID = FindAccelerator(ui->tableKeys->item(cell->row(),2)->text().toUtf8().constData());
|
||||
if (accKeyID < 0) return; // this should never happen
|
||||
|
||||
// Make the change
|
||||
|
||||
@@ -82,10 +82,12 @@ SOCKET
|
||||
plat_netsocket_accept(SOCKET socket)
|
||||
{
|
||||
SOCKET clientsocket = accept(socket, NULL, NULL);
|
||||
u_long yes = 1;
|
||||
|
||||
if (clientsocket == INVALID_SOCKET)
|
||||
return -1;
|
||||
|
||||
ioctlsocket(clientsocket, FIONBIO, &yes);
|
||||
return clientsocket;
|
||||
}
|
||||
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
#include <wayland-client-protocol.h>
|
||||
#include <wayland-relative-pointer-unstable-v1-client-protocol.h>
|
||||
#include <wayland-pointer-constraints-unstable-v1-client-protocol.h>
|
||||
#include <wayland-keyboard-shortcuts-inhibit-unstable-v1-client-protocol.h>
|
||||
|
||||
#include <qpa/qplatformnativeinterface.h>
|
||||
#include <QWindow>
|
||||
@@ -30,10 +31,12 @@ extern "C" {
|
||||
#include <86box/plat.h>
|
||||
}
|
||||
|
||||
static zwp_relative_pointer_manager_v1 *rel_manager = nullptr;
|
||||
static zwp_relative_pointer_v1 *rel_pointer = nullptr;
|
||||
static zwp_pointer_constraints_v1 *conf_pointer_interface = nullptr;
|
||||
static zwp_locked_pointer_v1 *conf_pointer = nullptr;
|
||||
static zwp_relative_pointer_manager_v1 *rel_manager = nullptr;
|
||||
static zwp_relative_pointer_v1 *rel_pointer = nullptr;
|
||||
static zwp_pointer_constraints_v1 *conf_pointer_interface = nullptr;
|
||||
static zwp_locked_pointer_v1 *conf_pointer = nullptr;
|
||||
static zwp_keyboard_shortcuts_inhibit_manager_v1 *kbd_manager = nullptr;
|
||||
static zwp_keyboard_shortcuts_inhibitor_v1 *kbd_inhibitor = nullptr;
|
||||
|
||||
static bool wl_init_ok = false;
|
||||
|
||||
@@ -47,6 +50,12 @@ static struct zwp_relative_pointer_v1_listener rel_listener = {
|
||||
rel_mouse_event
|
||||
};
|
||||
|
||||
static struct zwp_keyboard_shortcuts_inhibitor_v1_listener kbd_listener
|
||||
{
|
||||
[](void *data, struct zwp_keyboard_shortcuts_inhibitor_v1 *zwp_keyboard_shortcuts_inhibitor_v1) -> void {},
|
||||
[](void *data, struct zwp_keyboard_shortcuts_inhibitor_v1 *zwp_keyboard_shortcuts_inhibitor_v1) -> void {}
|
||||
};
|
||||
|
||||
static void
|
||||
display_handle_global(void *data, struct wl_registry *registry, uint32_t id,
|
||||
const char *interface, uint32_t version)
|
||||
@@ -57,16 +66,25 @@ display_handle_global(void *data, struct wl_registry *registry, uint32_t id,
|
||||
if (!strcmp(interface, "zwp_pointer_constraints_v1")) {
|
||||
conf_pointer_interface = (zwp_pointer_constraints_v1 *) wl_registry_bind(registry, id, &zwp_pointer_constraints_v1_interface, version);
|
||||
}
|
||||
if (!strcmp(interface, "zwp_keyboard_shortcuts_inhibit_manager_v1")) {
|
||||
kbd_manager = (zwp_keyboard_shortcuts_inhibit_manager_v1 *) wl_registry_bind(registry, id, &zwp_keyboard_shortcuts_inhibit_manager_v1_interface, version);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
display_global_remove(void *data, struct wl_registry *wl_registry, uint32_t name)
|
||||
{
|
||||
plat_mouse_capture(0);
|
||||
if (kbd_inhibitor) {
|
||||
zwp_keyboard_shortcuts_inhibitor_v1_destroy(kbd_inhibitor);
|
||||
kbd_inhibitor = nullptr;
|
||||
}
|
||||
zwp_keyboard_shortcuts_inhibit_manager_v1_destroy(kbd_manager);
|
||||
zwp_relative_pointer_manager_v1_destroy(rel_manager);
|
||||
zwp_pointer_constraints_v1_destroy(conf_pointer_interface);
|
||||
rel_manager = nullptr;
|
||||
conf_pointer_interface = nullptr;
|
||||
kbd_manager = nullptr;
|
||||
}
|
||||
|
||||
static const struct wl_registry_listener registry_listener = {
|
||||
@@ -90,9 +108,20 @@ wl_init()
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
wl_keyboard_grab(QWindow *window)
|
||||
{
|
||||
if (!kbd_inhibitor && kbd_manager) {
|
||||
kbd_inhibitor = zwp_keyboard_shortcuts_inhibit_manager_v1_inhibit_shortcuts(kbd_manager, (wl_surface *) QGuiApplication::platformNativeInterface()->nativeResourceForWindow("surface", window), (wl_seat *) QGuiApplication::platformNativeInterface()->nativeResourceForIntegration("wl_seat"));
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
wl_mouse_capture(QWindow *window)
|
||||
{
|
||||
if (!kbd_inhibitor) {
|
||||
kbd_inhibitor = zwp_keyboard_shortcuts_inhibit_manager_v1_inhibit_shortcuts(kbd_manager, (wl_surface *) QGuiApplication::platformNativeInterface()->nativeResourceForWindow("surface", window), (wl_seat *) QGuiApplication::platformNativeInterface()->nativeResourceForIntegration("wl_seat"));
|
||||
}
|
||||
if (rel_manager) {
|
||||
rel_pointer = zwp_relative_pointer_manager_v1_get_relative_pointer(rel_manager, (wl_pointer *) QGuiApplication::platformNativeInterface()->nativeResourceForIntegration("wl_pointer"));
|
||||
zwp_relative_pointer_v1_add_listener(rel_pointer, &rel_listener, nullptr);
|
||||
|
||||
@@ -859,6 +859,37 @@ static const device_config_t ncr53c400_mmio_config[] = {
|
||||
};
|
||||
|
||||
static const device_config_t rt1000b_config[] = {
|
||||
{
|
||||
.name = "bios_ver",
|
||||
.description = "BIOS Revision",
|
||||
.type = CONFIG_BIOS,
|
||||
.default_string = "v8_10r",
|
||||
.default_int = 0,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = { { 0 } },
|
||||
.bios = {
|
||||
{
|
||||
.name = "Version 8.10R",
|
||||
.internal_name = "v8_10r",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 8192,
|
||||
.files = { RT1000B_810R_ROM, "" }
|
||||
},
|
||||
{
|
||||
.name = "Version 8.20R",
|
||||
.internal_name = "v8_20r",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 8192,
|
||||
.files = { RT1000B_820R_ROM, "" }
|
||||
},
|
||||
{ .files_no = 0 }
|
||||
},
|
||||
},
|
||||
{
|
||||
.name = "bios_addr",
|
||||
.description = "BIOS Address",
|
||||
@@ -895,37 +926,6 @@ static const device_config_t rt1000b_config[] = {
|
||||
},
|
||||
.bios = { { 0 } }
|
||||
},
|
||||
{
|
||||
.name = "bios_ver",
|
||||
.description = "BIOS Revision",
|
||||
.type = CONFIG_BIOS,
|
||||
.default_string = "v8_10r",
|
||||
.default_int = 0,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = { { 0 } },
|
||||
.bios = {
|
||||
{
|
||||
.name = "Version 8.10R",
|
||||
.internal_name = "v8_10r",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 8192,
|
||||
.files = { RT1000B_810R_ROM, "" }
|
||||
},
|
||||
{
|
||||
.name = "Version 8.20R",
|
||||
.internal_name = "v8_20r",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 8192,
|
||||
.files = { RT1000B_820R_ROM, "" }
|
||||
},
|
||||
{ .files_no = 0 }
|
||||
},
|
||||
},
|
||||
{ .name = "", .description = "", .type = CONFIG_END }
|
||||
};
|
||||
|
||||
|
||||
@@ -130,6 +130,7 @@ typedef struct {
|
||||
int adapter_id;
|
||||
int assign;
|
||||
int present[8];
|
||||
int id_connected;
|
||||
|
||||
int cmd_status;
|
||||
int cir_status;
|
||||
@@ -448,7 +449,6 @@ static void
|
||||
spock_process_imm_cmd(spock_t *scsi)
|
||||
{
|
||||
int i;
|
||||
int j = 0;
|
||||
int adapter_id;
|
||||
int phys_id;
|
||||
int lun_id;
|
||||
@@ -467,14 +467,23 @@ spock_process_imm_cmd(spock_t *scsi)
|
||||
if (scsi->command & (1 << 23)) {
|
||||
spock_log("Assign: adapter id=%d\n", adapter_id);
|
||||
scsi->dev_id[adapter_id].phys_id = -1;
|
||||
scsi->id_connected = 0;
|
||||
spock_set_irq(scsi, scsi->attention & 0x0f, IRQ_TYPE_IMM_CMD_COMPLETE);
|
||||
} else {
|
||||
if (phys_id != scsi->adapter_id) {
|
||||
scsi->dev_id[adapter_id].phys_id = phys_id;
|
||||
scsi->dev_id[adapter_id].lun_id = lun_id;
|
||||
spock_log("Assign: adapter dev=%x scsi ID=%i LUN=%i.\n", adapter_id, scsi->dev_id[adapter_id].phys_id, scsi->dev_id[adapter_id].lun_id);
|
||||
if (scsi_device_present(&scsi_devices[scsi->bus][phys_id])) {
|
||||
scsi->present[scsi->id_connected] = 1;
|
||||
if (lun_id == 0)
|
||||
scsi->id_connected++;
|
||||
} else
|
||||
scsi->present[scsi->id_connected] = 0;
|
||||
|
||||
spock_log("Assign: adapter dev=%d, scsi ID=%i, LUN=%i, attention devsel=%d, present=%d, connected=%d.\n", adapter_id, scsi->dev_id[adapter_id].phys_id, scsi->dev_id[adapter_id].lun_id, scsi->attention & 0x0f, scsi->present[scsi->id_connected], scsi->id_connected);
|
||||
spock_set_irq(scsi, scsi->attention & 0x0f, IRQ_TYPE_IMM_CMD_COMPLETE);
|
||||
} else { /*Can not assign adapter*/
|
||||
scsi->id_connected = 0;
|
||||
spock_log("Assign: PUN=%d, cannot assign adapter.\n", phys_id);
|
||||
spock_set_irq(scsi, scsi->attention & 0x0f, IRQ_TYPE_COMMAND_FAIL);
|
||||
}
|
||||
@@ -495,35 +504,15 @@ spock_process_imm_cmd(spock_t *scsi)
|
||||
spock_set_irq(scsi, scsi->attention & 0x0f, IRQ_TYPE_IMM_CMD_COMPLETE);
|
||||
break;
|
||||
case CMD_RESET:
|
||||
scsi->id_connected = 0;
|
||||
spock_log("Reset command, attention=%02x.\n", scsi->attention & 0x0f);
|
||||
if ((scsi->attention & 0x0f) == 0x0f) { /*Adapter reset*/
|
||||
for (i = 0; i < 8; i++)
|
||||
scsi_device_reset(&scsi_devices[scsi->bus][i]);
|
||||
|
||||
for (i = 6; i > -1; i--) {
|
||||
if (scsi_device_present(&scsi_devices[scsi->bus][i])) {
|
||||
spock_log("Adapter Reset, SCSI reset present devices=%d, phys ID=%d, type=%04x.\n", j, scsi->dev_id[i].phys_id, scsi_devices[scsi->bus][i].type);
|
||||
scsi->present[j] = i;
|
||||
j++;
|
||||
} else {
|
||||
scsi->present[j] = 0xff;
|
||||
spock_log("Adapter Reset, SCSI reset not present devices=%d, phys ID=%d, type=%04x.\n", j, scsi->dev_id[i].phys_id, scsi_devices[scsi->bus][i].type);
|
||||
}
|
||||
}
|
||||
} else if ((scsi->attention & 0x0f) < 7) { /*Device reset*/
|
||||
} else if ((scsi->attention & 0x0f) < 7) /*Device reset*/
|
||||
scsi_device_reset(&scsi_devices[scsi->bus][scsi->attention & 0x0f]);
|
||||
|
||||
for (i = 6; i > -1; i--) {
|
||||
if (scsi_device_present(&scsi_devices[scsi->bus][i])) {
|
||||
spock_log("Device Reset, SCSI reset present devices=%d, phys ID=%d, type=%04x.\n", j, scsi->dev_id[i].phys_id, scsi_devices[scsi->bus][i].type);
|
||||
scsi->present[j] = i;
|
||||
j++;
|
||||
} else {
|
||||
scsi->present[j] = 0xff;
|
||||
spock_log("Device Reset, SCSI reset not present devices=%d, phys ID=%d, type=%04x.\n", j, scsi->dev_id[i].phys_id, scsi_devices[scsi->bus][i].type);
|
||||
}
|
||||
}
|
||||
}
|
||||
scsi->scb_state = 0;
|
||||
spock_set_irq(scsi, scsi->attention & 0x0f, IRQ_TYPE_IMM_CMD_COMPLETE);
|
||||
break;
|
||||
@@ -538,7 +527,6 @@ static void
|
||||
spock_execute_cmd(spock_t *scsi, scb_t *scb)
|
||||
{
|
||||
int c;
|
||||
int j = 0;
|
||||
int old_scb_state;
|
||||
|
||||
if (scsi->in_reset) {
|
||||
@@ -556,17 +544,7 @@ spock_execute_cmd(spock_t *scsi, scb_t *scb)
|
||||
scsi->dev_id[c].phys_id = -1;
|
||||
|
||||
scsi->in_reset = 0;
|
||||
|
||||
for (c = 6; c >= 0; c--) {
|
||||
if (scsi_device_present(&scsi_devices[scsi->bus][c])) {
|
||||
spock_log("Reset, SCSI reset present devices=%d, phys ID=%d, type=%04x.\n", j, scsi->dev_id[c].phys_id, scsi_devices[scsi->bus][c].type);
|
||||
scsi->present[j] = c;
|
||||
j++;
|
||||
} else {
|
||||
scsi->present[j] = 0xff;
|
||||
spock_log("Reset, SCSI reset not present devices=%d, phys ID=%d, type=%04x.\n", j, scsi->dev_id[c].phys_id, scsi_devices[scsi->bus][c].type);
|
||||
}
|
||||
}
|
||||
spock_log("Reset.\n");
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -698,12 +676,15 @@ spock_execute_cmd(spock_t *scsi, scb_t *scb)
|
||||
break;
|
||||
|
||||
case CMD_DEVICE_INQUIRY:
|
||||
if (scsi->present[scsi->scb_id] != 0xff)
|
||||
if (scsi->scb_id != 15) {
|
||||
if (scsi->present[scsi->scb_id])
|
||||
scsi->cdb_id = scsi->dev_id[scsi->scb_id].phys_id;
|
||||
else
|
||||
scsi->cdb_id = 0xff;
|
||||
} else
|
||||
scsi->cdb_id = scsi->dev_id[scsi->scb_id].phys_id;
|
||||
else
|
||||
scsi->cdb_id = 0xff;
|
||||
|
||||
spock_log("Device Inquiry, ID=%d\n", scsi->cdb_id);
|
||||
spock_log("Device Inquiry, ID=%d, connected=%d, present=%d.\n", scsi->cdb_id, scsi->id_connected, scsi->present[scsi->scb_id + 1]);
|
||||
scsi->cdb[0] = GPCMD_INQUIRY;
|
||||
scsi->cdb[1] = scsi->dev_id[scsi->scb_id].lun_id << 5; /*LUN*/
|
||||
scsi->cdb[2] = 0; /*Page code*/
|
||||
@@ -718,13 +699,16 @@ spock_execute_cmd(spock_t *scsi, scb_t *scb)
|
||||
return;
|
||||
|
||||
case CMD_SEND_OTHER_SCSI:
|
||||
if (scsi->present[scsi->scb_id] != 0xff)
|
||||
if (scsi->scb_id != 15) {
|
||||
if (scsi->present[scsi->scb_id])
|
||||
scsi->cdb_id = scsi->dev_id[scsi->scb_id].phys_id;
|
||||
else
|
||||
scsi->cdb_id = 0xff;
|
||||
} else
|
||||
scsi->cdb_id = scsi->dev_id[scsi->scb_id].phys_id;
|
||||
else
|
||||
scsi->cdb_id = 0xff;
|
||||
|
||||
dma_bm_read(scsi->scb_addr + 0x18, scsi->cdb, 12, 2);
|
||||
spock_log("Send Other SCSI, SCB ID=%d, PHYS ID=%d, CDB[0]=%02x, CDB_ID=%d, ID Present=%d.\n", scsi->scb_id, scsi->dev_id[scsi->scb_id].phys_id, scsi->cdb[0], scsi->cdb_id, scsi->present[scsi->scb_id]);
|
||||
spock_log("Send Other SCSI, SCB ID=%d, PHYS ID=%d, LUN=%d, CDB[0]=%02x, CDB_ID=%d, ID Present=%d.\n", scsi->scb_id, scsi->dev_id[scsi->scb_id].phys_id, scsi->dev_id[scsi->scb_id].lun_id, scsi->cdb[0], scsi->cdb_id, scsi->present[scsi->scb_id + 1]);
|
||||
scsi->cdb[1] = (scsi->cdb[1] & 0x1f) | (scsi->dev_id[scsi->scb_id].lun_id << 5); /*Patch correct LUN into command*/
|
||||
scsi->cdb_len = (scb->lba_addr & 0xff) ? (scb->lba_addr & 0xff) : 6;
|
||||
scsi->scsi_state = SCSI_STATE_SELECT;
|
||||
@@ -732,10 +716,13 @@ spock_execute_cmd(spock_t *scsi, scb_t *scb)
|
||||
return;
|
||||
|
||||
case CMD_READ_DEVICE_CAPACITY:
|
||||
if (scsi->present[scsi->scb_id] != 0xff)
|
||||
if (scsi->scb_id != 15) {
|
||||
if (scsi->present[scsi->scb_id])
|
||||
scsi->cdb_id = scsi->dev_id[scsi->scb_id].phys_id;
|
||||
else
|
||||
scsi->cdb_id = 0xff;
|
||||
} else
|
||||
scsi->cdb_id = scsi->dev_id[scsi->scb_id].phys_id;
|
||||
else
|
||||
scsi->cdb_id = 0xff;
|
||||
|
||||
spock_log("Device Capacity, SCB ID=%d, PHYS ID=%d\n", scsi->scb_id, scsi->dev_id[scsi->scb_id].phys_id);
|
||||
scsi->cdb[0] = GPCMD_READ_CDROM_CAPACITY;
|
||||
@@ -754,10 +741,13 @@ spock_execute_cmd(spock_t *scsi, scb_t *scb)
|
||||
return;
|
||||
|
||||
case CMD_READ_DATA:
|
||||
if (scsi->present[scsi->scb_id] != 0xff)
|
||||
if (scsi->scb_id != 15) {
|
||||
if (scsi->present[scsi->scb_id])
|
||||
scsi->cdb_id = scsi->dev_id[scsi->scb_id].phys_id;
|
||||
else
|
||||
scsi->cdb_id = 0xff;
|
||||
} else
|
||||
scsi->cdb_id = scsi->dev_id[scsi->scb_id].phys_id;
|
||||
else
|
||||
scsi->cdb_id = 0xff;
|
||||
|
||||
spock_log("Device Read Data, SCB ID=%d, PHYS ID=%d\n", scsi->scb_id, scsi->dev_id[scsi->scb_id].phys_id);
|
||||
scsi->cdb[0] = GPCMD_READ_10;
|
||||
@@ -776,10 +766,13 @@ spock_execute_cmd(spock_t *scsi, scb_t *scb)
|
||||
return;
|
||||
|
||||
case CMD_WRITE_DATA:
|
||||
if (scsi->present[scsi->scb_id] != 0xff)
|
||||
if (scsi->scb_id != 15) {
|
||||
if (scsi->present[scsi->scb_id])
|
||||
scsi->cdb_id = scsi->dev_id[scsi->scb_id].phys_id;
|
||||
else
|
||||
scsi->cdb_id = 0xff;
|
||||
} else
|
||||
scsi->cdb_id = scsi->dev_id[scsi->scb_id].phys_id;
|
||||
else
|
||||
scsi->cdb_id = 0xff;
|
||||
|
||||
spock_log("Device Write Data\n");
|
||||
scsi->cdb[0] = GPCMD_WRITE_10;
|
||||
@@ -798,10 +791,13 @@ spock_execute_cmd(spock_t *scsi, scb_t *scb)
|
||||
return;
|
||||
|
||||
case CMD_VERIFY:
|
||||
if (scsi->present[scsi->scb_id] != 0xff)
|
||||
if (scsi->scb_id != 15) {
|
||||
if (scsi->present[scsi->scb_id])
|
||||
scsi->cdb_id = scsi->dev_id[scsi->scb_id].phys_id;
|
||||
else
|
||||
scsi->cdb_id = 0xff;
|
||||
} else
|
||||
scsi->cdb_id = scsi->dev_id[scsi->scb_id].phys_id;
|
||||
else
|
||||
scsi->cdb_id = 0xff;
|
||||
|
||||
spock_log("Device Verify\n");
|
||||
scsi->cdb[0] = GPCMD_VERIFY_10;
|
||||
@@ -821,10 +817,13 @@ spock_execute_cmd(spock_t *scsi, scb_t *scb)
|
||||
return;
|
||||
|
||||
case CMD_WRITE_VERIFY:
|
||||
if (scsi->present[scsi->scb_id] != 0xff)
|
||||
if (scsi->scb_id != 15) {
|
||||
if (scsi->present[scsi->scb_id])
|
||||
scsi->cdb_id = scsi->dev_id[scsi->scb_id].phys_id;
|
||||
else
|
||||
scsi->cdb_id = 0xff;
|
||||
} else
|
||||
scsi->cdb_id = scsi->dev_id[scsi->scb_id].phys_id;
|
||||
else
|
||||
scsi->cdb_id = 0xff;
|
||||
|
||||
spock_log("Device Write with Verify\n");
|
||||
scsi->cdb[0] = GPCMD_WRITE_AND_VERIFY_10;
|
||||
@@ -843,10 +842,13 @@ spock_execute_cmd(spock_t *scsi, scb_t *scb)
|
||||
return;
|
||||
|
||||
case CMD_REQUEST_SENSE:
|
||||
if (scsi->present[scsi->scb_id] != 0xff)
|
||||
if (scsi->scb_id != 15) {
|
||||
if (scsi->present[scsi->scb_id])
|
||||
scsi->cdb_id = scsi->dev_id[scsi->scb_id].phys_id;
|
||||
else
|
||||
scsi->cdb_id = 0xff;
|
||||
} else
|
||||
scsi->cdb_id = scsi->dev_id[scsi->scb_id].phys_id;
|
||||
else
|
||||
scsi->cdb_id = 0xff;
|
||||
|
||||
spock_log("Device Request Sense, ID=%d\n", scsi->cdb_id);
|
||||
scsi->cdb[0] = GPCMD_REQUEST_SENSE;
|
||||
@@ -870,7 +872,7 @@ spock_execute_cmd(spock_t *scsi, scb_t *scb)
|
||||
if (scsi_device_present(&scsi_devices[scsi->bus][scsi->cdb_id]) && (scsi->cdb_id != 0xff)) {
|
||||
if (scsi->last_status == SCSI_STATUS_OK) {
|
||||
scsi->scb_state = 3;
|
||||
spock_log("Status is Good on device ID %d, cdb id = %d.\n", scsi->scb_id, scsi->cdb_id);
|
||||
spock_log("Status is Good on device ID %d, cdb id = %d, devsel = %d.\n", scsi->scb_id, scsi->cdb_id, scsi->attention & 0x0f);
|
||||
} else if (scsi->last_status == SCSI_STATUS_CHECK_CONDITION) {
|
||||
uint16_t term_stat_block_addr7 = (0xc << 8) | 2;
|
||||
uint16_t term_stat_block_addr8 = 0x20;
|
||||
@@ -905,7 +907,7 @@ spock_execute_cmd(spock_t *scsi, scb_t *scb)
|
||||
} else {
|
||||
spock_set_irq(scsi, scsi->scb_id, IRQ_TYPE_SCB_COMPLETE);
|
||||
scsi->scb_state = 0;
|
||||
spock_log("Complete SCB ID = %d.\n", scsi->attention & 0x0f);
|
||||
spock_log("Complete SCB ID = %d.\n", scsi->scb_id);
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -1084,10 +1086,10 @@ spock_callback(void *priv)
|
||||
case 4:
|
||||
case 0x0f: /*Start SCB*/
|
||||
scsi->cmd_status = 1;
|
||||
scsi->scb_addr = scsi->cir[0] | (scsi->cir[1] << 8) | (scsi->cir[2] << 16) | (scsi->cir[3] << 24);
|
||||
scsi->scb_id = scsi->attention & 0x0f;
|
||||
scsi->scb_addr = scsi->cir[0] | (scsi->cir[1] << 8) | (scsi->cir[2] << 16) | (scsi->cir[3] << 24);
|
||||
scsi->scb_id = scsi->attention & 0x0f;
|
||||
scsi->cmd_timer = SPOCK_TIME * 2;
|
||||
spock_log("Start SCB at ID = %d, attention = %02x\n", scsi->scb_id, scsi->attention >> 4);
|
||||
spock_log("Start SCB at ID = %d, attention = %02x, cdb_id = %d\n", scsi->scb_id, scsi->attention >> 4, scsi->cdb_id);
|
||||
scsi->scb_state = 1;
|
||||
break;
|
||||
|
||||
@@ -1182,6 +1184,7 @@ spock_reset(void *priv)
|
||||
scsi->in_invalid = 0;
|
||||
scsi->attention_wait = 0;
|
||||
scsi->basic_ctrl = 0;
|
||||
scsi->id_connected = 0;
|
||||
|
||||
spock_log("Actual Reset.\n");
|
||||
}
|
||||
|
||||
@@ -241,9 +241,14 @@ t128_callback(void *priv)
|
||||
uint8_t c;
|
||||
uint8_t temp;
|
||||
uint8_t status;
|
||||
double period = scsi_bus->period / 60.0;
|
||||
|
||||
if (scsi_bus->tx_mode != PIO_TX_BUS)
|
||||
timer_on_auto(&t128->timer, scsi_bus->period / 60.0);
|
||||
if (scsi_bus->tx_mode != PIO_TX_BUS) {
|
||||
if (period >= 10.0)
|
||||
timer_on_auto(&t128->timer, period);
|
||||
else
|
||||
timer_on_auto(&t128->timer, 10.0);
|
||||
}
|
||||
|
||||
if (scsi_bus->data_wait & 1) {
|
||||
scsi_bus->clear_req = 3;
|
||||
@@ -287,7 +292,6 @@ t128_callback(void *priv)
|
||||
t128->status &= ~0x02;
|
||||
t128->pos = 0;
|
||||
t128->host_pos = 0;
|
||||
scsi_bus->data_repeat = 0;
|
||||
t128_log("T128 Remaining blocks to be written=%d\n", t128->block_count);
|
||||
if (scsi_bus->data_pos >= dev->buffer_length) {
|
||||
t128->block_loaded = 0;
|
||||
@@ -336,7 +340,6 @@ t128_callback(void *priv)
|
||||
t128->status &= ~0x02;
|
||||
t128->pos = 0;
|
||||
t128->host_pos = 0;
|
||||
scsi_bus->data_repeat = 0;
|
||||
t128_log("T128 blocks read=%d, total len=%d\n", scsi_bus->data_pos, dev->buffer_length);
|
||||
if (scsi_bus->data_pos >= dev->buffer_length) {
|
||||
scsi_bus->bus_out |= BUS_REQ;
|
||||
|
||||
@@ -306,7 +306,6 @@ void scale_for_output(unsigned int left_input, unsigned int right_input,
|
||||
void CSAASoundInternal::GenerateMany(BYTE* pBuffer, unsigned long nSamples)
|
||||
{
|
||||
unsigned int left_mixed, right_mixed;
|
||||
static double filterout_z1_left_mixed = 0, filterout_z1_right_mixed = 0;
|
||||
|
||||
#if defined(DEBUGSAA) || defined(USE_CONFIG_FILE)
|
||||
BYTE* pBufferStart = pBuffer;
|
||||
|
||||
@@ -36,6 +36,8 @@ private:
|
||||
unsigned int m_nSampleRate;
|
||||
unsigned int m_nOversample;
|
||||
bool m_bHighpass;
|
||||
double filterout_z1_left_mixed = 0;
|
||||
double filterout_z1_right_mixed = 0;
|
||||
#ifdef USE_CONFIG_FILE
|
||||
SAAConfig m_Config;
|
||||
#endif
|
||||
|
||||
@@ -792,14 +792,10 @@ pas16_in(uint16_t port, void *priv)
|
||||
if ((scsi_bus->tx_mode == PIO_TX_BUS) && !(ret & 0x80))
|
||||
ret |= 0x80;
|
||||
|
||||
if (ret & 0x80) {
|
||||
if (scsi_bus->data_repeat < MIN(511, scsi_bus->total_len))
|
||||
scsi_bus->data_repeat++;
|
||||
} else {
|
||||
if (scsi_bus->data_repeat == MIN(511, scsi_bus->total_len))
|
||||
ret = 0x00;
|
||||
}
|
||||
pas16_log("%04X:%08X: Port %04x read ret=%02x, status=%02x, txmode=%x, repeat=%d.\n", CS, cpu_state.pc, port + pas16->base, ret, pas16->scsi->status & 0x06, scsi_bus->tx_mode, scsi_bus->data_repeat);
|
||||
if ((pas16->scsi->status & 0x06) == 0x00)
|
||||
ret = 0x00;
|
||||
|
||||
pas16_log("%04X:%08X: Port %04x read ret=%02x, status=%02x, txmode=%x, repeat=%d, total=%d.\n", CS, cpu_state.pc, port + pas16->base, ret, pas16->scsi->status & 0x06, scsi_bus->tx_mode, scsi_bus->data_repeat, MIN(511, scsi_bus->total_len));
|
||||
}
|
||||
break;
|
||||
case 0x5c03:
|
||||
|
||||
@@ -94,6 +94,8 @@ plat_netsocket_accept(SOCKET socket)
|
||||
if (clientsocket == -1)
|
||||
return -1;
|
||||
|
||||
fcntl(clientsocket, F_SETFL, fcntl(clientsocket, F_GETFL, 0) | O_NONBLOCK);
|
||||
|
||||
return clientsocket;
|
||||
}
|
||||
|
||||
|
||||
@@ -1670,7 +1670,7 @@ mach64_blit(uint32_t cpu_dat, int count, mach64_t *mach64)
|
||||
case MONO_SRC_PAT:
|
||||
if (mach64->dst_cntl & DST_24_ROT_EN) {
|
||||
if (!mach64->accel.xx_count)
|
||||
mix = mach64->accel.pattern[dst_y & 7][dst_x & 7];
|
||||
mix = mach64->accel.pattern[dst_y & 7][(dst_x / 3) & 7];
|
||||
} else
|
||||
mix = mach64->accel.pattern[dst_y & 7][dst_x & 7];
|
||||
break;
|
||||
|
||||
@@ -942,22 +942,6 @@ et4000_kasan_available(void)
|
||||
|
||||
static const device_config_t et4000_tc6058af_config[] = {
|
||||
// clang-format off
|
||||
{
|
||||
.name = "memory",
|
||||
.description = "Memory size",
|
||||
.type = CONFIG_SELECTION,
|
||||
.default_string = NULL,
|
||||
.default_int = 512,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = {
|
||||
{ .description = "256 KB", .value = 256 },
|
||||
{ .description = "512 KB", .value = 512 },
|
||||
{ .description = "1 MB", .value = 1024 },
|
||||
{ .description = "" }
|
||||
},
|
||||
.bios = { { 0 } }
|
||||
},
|
||||
{
|
||||
.name = "bios_ver",
|
||||
.description = "BIOS Revision",
|
||||
@@ -989,18 +973,12 @@ static const device_config_t et4000_tc6058af_config[] = {
|
||||
{ .files_no = 0 }
|
||||
}
|
||||
},
|
||||
{ .name = "", .description = "", .type = CONFIG_END }
|
||||
// clang-format on
|
||||
};
|
||||
|
||||
static const device_config_t et4000_bios_config[] = {
|
||||
// clang-format off
|
||||
{
|
||||
.name = "memory",
|
||||
.description = "Memory size",
|
||||
.type = CONFIG_SELECTION,
|
||||
.default_string = NULL,
|
||||
.default_int = 1024,
|
||||
.default_int = 512,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = {
|
||||
@@ -1011,6 +989,12 @@ static const device_config_t et4000_bios_config[] = {
|
||||
},
|
||||
.bios = { { 0 } }
|
||||
},
|
||||
{ .name = "", .description = "", .type = CONFIG_END }
|
||||
// clang-format on
|
||||
};
|
||||
|
||||
static const device_config_t et4000_bios_config[] = {
|
||||
// clang-format off
|
||||
{
|
||||
.name = "bios_ver",
|
||||
.description = "BIOS Revision",
|
||||
@@ -1042,6 +1026,22 @@ static const device_config_t et4000_bios_config[] = {
|
||||
{ .files_no = 0 }
|
||||
}
|
||||
},
|
||||
{
|
||||
.name = "memory",
|
||||
.description = "Memory size",
|
||||
.type = CONFIG_SELECTION,
|
||||
.default_string = NULL,
|
||||
.default_int = 1024,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = {
|
||||
{ .description = "256 KB", .value = 256 },
|
||||
{ .description = "512 KB", .value = 512 },
|
||||
{ .description = "1 MB", .value = 1024 },
|
||||
{ .description = "" }
|
||||
},
|
||||
.bios = { { 0 } }
|
||||
},
|
||||
{ .name = "", .description = "", .type = CONFIG_END }
|
||||
// clang-format on
|
||||
};
|
||||
|
||||
@@ -54,6 +54,7 @@
|
||||
#define ROM_MIROCRYSTAL20SV_964_PCI "roms/video/s3/mirocrystal.VBI"
|
||||
#define ROM_MIROCRYSTAL20SD_864_VLB "roms/video/s3/Miro20SD.BIN"
|
||||
#define ROM_PHOENIX_86C80X "roms/video/s3/805.VBI"
|
||||
#define ROM_WINNER1000_805 "roms/video/s3/v01_05_00-C.BIN"
|
||||
#define ROM_PARADISE_BAHAMAS64 "roms/video/s3/bahamas64.bin"
|
||||
#define ROM_PHOENIX_VISION864 "roms/video/s3/86c864p.bin"
|
||||
#define ROM_DIAMOND_STEALTH64_964 "roms/video/s3/964_107h.rom"
|
||||
@@ -117,7 +118,8 @@ enum {
|
||||
S3_NUMBER9_9FX_771,
|
||||
S3_SPEA_MERCURY_LITE_PCI,
|
||||
S3_86C805_ONBOARD,
|
||||
S3_DIAMOND_STEALTH64_968
|
||||
S3_DIAMOND_STEALTH64_968,
|
||||
S3_WINNER1000_805
|
||||
};
|
||||
|
||||
enum {
|
||||
@@ -1309,7 +1311,7 @@ s3_accel_out_fifo(s3_t *s3, uint16_t port, uint8_t val)
|
||||
case 0xb148:
|
||||
case 0xb2e8:
|
||||
s3_log("[%04X:%08X] OUT PORTB=%04x, val=%02x, CMD=%04x, C(%d,%d).\n", CS, cpu_state.pc, port, val, s3->accel.cmd, s3->accel.cur_x, s3->accel.cur_y);
|
||||
if (s3->accel.multifunc[0xe] & 0x100) {
|
||||
if ((s3->accel.multifunc[0xe] & 0x100) || (s3->chip >= S3_VISION964)) {
|
||||
s3->accel.b2e8_pix = 0;
|
||||
if (s3->bpp == 3) {
|
||||
if ((s3->chip >= S3_86C928) && (s3->chip < S3_VISION964)) {
|
||||
@@ -1351,7 +1353,7 @@ s3_accel_out_fifo(s3_t *s3, uint16_t port, uint8_t val)
|
||||
case 0xb149:
|
||||
case 0xb2e9:
|
||||
s3_log("[%04X:%08X] OUT PORTB=%04x, val=%02x, CMD=%04x, C(%d,%d).\n", CS, cpu_state.pc, port, val, s3->accel.cmd, s3->accel.cur_x, s3->accel.cur_y);
|
||||
if (s3->accel.multifunc[0xe] & 0x100) {
|
||||
if ((s3->accel.multifunc[0xe] & 0x100) || (s3->chip >= S3_VISION964)) {
|
||||
s3->accel.b2e8_pix = 0;
|
||||
if (s3->bpp == 3) {
|
||||
if ((s3->chip >= S3_86C928) && (s3->chip < S3_VISION964)) {
|
||||
@@ -3782,6 +3784,7 @@ s3_recalctimings(svga_t *svga)
|
||||
switch (s3->card_type) {
|
||||
case S3_MIROCRYSTAL8S_805:
|
||||
case S3_MIROCRYSTAL10SD_805:
|
||||
case S3_WINNER1000_805:
|
||||
case S3_PHOENIX_86C805:
|
||||
case S3_86C805_ONBOARD:
|
||||
svga->hdisp >>= 1;
|
||||
@@ -3950,6 +3953,7 @@ s3_recalctimings(svga_t *svga)
|
||||
switch (s3->card_type) {
|
||||
case S3_MIROCRYSTAL8S_805:
|
||||
case S3_MIROCRYSTAL10SD_805:
|
||||
case S3_WINNER1000_805:
|
||||
case S3_PHOENIX_86C805:
|
||||
case S3_86C805_ONBOARD:
|
||||
svga->hdisp >>= 1;
|
||||
@@ -4122,6 +4126,7 @@ s3_recalctimings(svga_t *svga)
|
||||
switch (s3->card_type) {
|
||||
case S3_MIROCRYSTAL8S_805:
|
||||
case S3_MIROCRYSTAL10SD_805:
|
||||
case S3_WINNER1000_805:
|
||||
case S3_PHOENIX_86C805:
|
||||
case S3_SPEA_MIRAGE_86C805:
|
||||
case S3_86C805_ONBOARD:
|
||||
@@ -8409,7 +8414,6 @@ s3_accel_start(int count, int cpu_input, uint32_t mix_dat, uint32_t cpu_dat, voi
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (s3->accel.b2e8_pix && s3_cpu_src(s3) && (count == 16)) { /*Pattern on pixtrans (911/924)*/
|
||||
count = s3->accel.maj_axis_pcnt + 1;
|
||||
s3->accel.temp_cnt = 16;
|
||||
@@ -8801,8 +8805,7 @@ s3_accel_start(int count, int cpu_input, uint32_t mix_dat, uint32_t cpu_dat, voi
|
||||
s3_log("CMDFULL=%04x, FRGDSEL=%x, BKGDSEL=%x, FRGDMIX=%02x, BKGDMIX=%02x, MASKCHECK=%x, RDMASK=%04x, MINUS=%d, WRTMASK=%04X, MIX=%04x, CX=%d, CY=%d, DX=%d, DY=%d, SX=%d, SY=%d, PIXCNTL=%02x, 16BITCOLOR=%x, RDCHECK=%x, CLIPL=%d, CLIPR=%d, OVERFLOW=%d, pitch=%d.\n", s3->accel.cmd, frgd_mix, bkgd_mix, s3->accel.frgd_mix & 0x0f, s3->accel.bkgd_mix & 0x0f, s3->accel.rd_mask_16bit_check, rd_mask, s3->accel.minus, wrt_mask, mix_dat & 0xffff, s3->accel.cx, s3->accel.cy, s3->accel.dx, s3->accel.dy, s3->accel.sx, s3->accel.sy, s3->accel.multifunc[0x0a] & 0xc4, s3->accel.color_16bit_check, s3->accel.rd_mask_16bit_check, clip_l, clip_r, (s3->accel.destx_overflow & 0xc00) == 0xc00, s3->width);
|
||||
|
||||
if (!cpu_input && (frgd_mix == 3) && !vram_mask && !(s3->accel.multifunc[0xe] & 0x100) && ((s3->accel.cmd & 0xa0) == 0xa0) && ((s3->accel.frgd_mix & 0xf) == 7) && ((s3->accel.bkgd_mix & 0xf) == 7)) {
|
||||
s3_log("Special BitBLT.\n");
|
||||
|
||||
pclog("Special BitBLT.\n");
|
||||
while (1) {
|
||||
if ((s3->accel.dx >= clip_l) && (s3->accel.dx <= clip_r) && (s3->accel.dy >= clip_t) && (s3->accel.dy <= clip_b)) {
|
||||
READ(s3->accel.src + s3->accel.cx - s3->accel.minus, src_dat);
|
||||
@@ -8846,7 +8849,7 @@ s3_accel_start(int count, int cpu_input, uint32_t mix_dat, uint32_t cpu_dat, voi
|
||||
}
|
||||
}
|
||||
} else {
|
||||
s3_log("Normal blit.\n");
|
||||
s3_log("Normal blit, srcbase=%08x, dstbase=%08x, full=%04x, wrt_mask=%08x, extmultifunc0e=%03x, frgdmixval=%02x.\n", srcbase, dstbase, s3->accel.cmd, wrt_mask, s3->accel.multifunc[0x0e] & 0x180, s3->accel.frgd_mix);
|
||||
while (count-- && (s3->accel.sy >= 0)) {
|
||||
if ((s3->accel.dx >= clip_l) && (s3->accel.dx <= clip_r) && (s3->accel.dy >= clip_t) && (s3->accel.dy <= clip_b)) {
|
||||
if (vram_mask && (s3->accel.cmd & 0x10)) {
|
||||
@@ -9835,6 +9838,11 @@ s3_init(const device_t *info)
|
||||
chip = S3_86C801;
|
||||
video_inform(VIDEO_FLAG_TYPE_SPECIAL, &timing_s3_86c801);
|
||||
break;
|
||||
case S3_WINNER1000_805:
|
||||
bios_fn = ROM_WINNER1000_805;
|
||||
chip = S3_86C801;
|
||||
video_inform(VIDEO_FLAG_TYPE_SPECIAL, &timing_s3_86c801);
|
||||
break;
|
||||
case S3_86C805_ONBOARD:
|
||||
bios_fn = NULL;
|
||||
chip = S3_86C805;
|
||||
@@ -10287,6 +10295,7 @@ s3_init(const device_t *info)
|
||||
|
||||
case S3_SPEA_MIRAGE_86C801:
|
||||
case S3_SPEA_MIRAGE_86C805:
|
||||
case S3_WINNER1000_805:
|
||||
svga->decode_mask = (2 << 20) - 1;
|
||||
stepping = 0xa2; /*86C801/86C805*/
|
||||
s3->id = stepping;
|
||||
@@ -10585,6 +10594,12 @@ s3_phoenix_86c80x_available(void)
|
||||
return rom_present(ROM_PHOENIX_86C80X);
|
||||
}
|
||||
|
||||
static int
|
||||
s3_winner1000_805_available(void)
|
||||
{
|
||||
return rom_present(ROM_WINNER1000_805);
|
||||
}
|
||||
|
||||
static int
|
||||
s3_mirocrystal_8s_805_available(void)
|
||||
{
|
||||
@@ -10974,6 +10989,20 @@ const device_t s3_spea_mirage_86c801_isa_device = {
|
||||
.config = s3_9fx_config
|
||||
};
|
||||
|
||||
const device_t s3_winner1000_805_isa_device = {
|
||||
.name = "S3 86c805 ISA (ELSA Winner 1000)",
|
||||
.internal_name = "winner1000_805_isa",
|
||||
.flags = DEVICE_ISA16,
|
||||
.local = S3_WINNER1000_805,
|
||||
.init = s3_init,
|
||||
.close = s3_close,
|
||||
.reset = s3_reset,
|
||||
.available = s3_winner1000_805_available,
|
||||
.speed_changed = s3_speed_changed,
|
||||
.force_redraw = s3_force_redraw,
|
||||
.config = s3_9fx_config
|
||||
};
|
||||
|
||||
const device_t s3_86c805_onboard_vlb_device = {
|
||||
.name = "S3 86c805 VLB On-Board",
|
||||
.internal_name = "px_s3_805_onboard_vlb",
|
||||
|
||||
@@ -115,6 +115,7 @@ video_cards[] = {
|
||||
{ .device = &s3_metheus_86c928_isa_device, .flags = VIDEO_FLAG_TYPE_NONE },
|
||||
{ .device = &s3_phoenix_86c801_isa_device, .flags = VIDEO_FLAG_TYPE_NONE },
|
||||
{ .device = &s3_spea_mirage_86c801_isa_device, .flags = VIDEO_FLAG_TYPE_NONE },
|
||||
{ .device = &s3_winner1000_805_isa_device, .flags = VIDEO_FLAG_TYPE_NONE },
|
||||
{ .device = &sigma_device, .flags = VIDEO_FLAG_TYPE_NONE },
|
||||
{ .device = &tvga8900b_device, .flags = VIDEO_FLAG_TYPE_NONE },
|
||||
{ .device = &tvga8900d_device, .flags = VIDEO_FLAG_TYPE_NONE },
|
||||
|
||||
143
wl_protocols/keyboard-shortcuts-inhibit-unstable-v1.xml
Normal file
143
wl_protocols/keyboard-shortcuts-inhibit-unstable-v1.xml
Normal file
@@ -0,0 +1,143 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<protocol name="keyboard_shortcuts_inhibit_unstable_v1">
|
||||
|
||||
<copyright>
|
||||
Copyright © 2017 Red Hat Inc.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a
|
||||
copy of this software and associated documentation files (the "Software"),
|
||||
to deal in the Software without restriction, including without limitation
|
||||
the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
and/or sell copies of the Software, and to permit persons to whom the
|
||||
Software is furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice (including the next
|
||||
paragraph) shall be included in all copies or substantial portions of the
|
||||
Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||
DEALINGS IN THE SOFTWARE.
|
||||
</copyright>
|
||||
|
||||
<description summary="Protocol for inhibiting the compositor keyboard shortcuts">
|
||||
This protocol specifies a way for a client to request the compositor
|
||||
to ignore its own keyboard shortcuts for a given seat, so that all
|
||||
key events from that seat get forwarded to a surface.
|
||||
|
||||
Warning! The protocol described in this file is experimental and
|
||||
backward incompatible changes may be made. Backward compatible
|
||||
changes may be added together with the corresponding interface
|
||||
version bump.
|
||||
Backward incompatible changes are done by bumping the version
|
||||
number in the protocol and interface names and resetting the
|
||||
interface version. Once the protocol is to be declared stable,
|
||||
the 'z' prefix and the version number in the protocol and
|
||||
interface names are removed and the interface version number is
|
||||
reset.
|
||||
</description>
|
||||
|
||||
<interface name="zwp_keyboard_shortcuts_inhibit_manager_v1" version="1">
|
||||
<description summary="context object for keyboard grab_manager">
|
||||
A global interface used for inhibiting the compositor keyboard shortcuts.
|
||||
</description>
|
||||
|
||||
<request name="destroy" type="destructor">
|
||||
<description summary="destroy the keyboard shortcuts inhibitor object">
|
||||
Destroy the keyboard shortcuts inhibitor manager.
|
||||
</description>
|
||||
</request>
|
||||
|
||||
<request name="inhibit_shortcuts">
|
||||
<description summary="create a new keyboard shortcuts inhibitor object">
|
||||
Create a new keyboard shortcuts inhibitor object associated with
|
||||
the given surface for the given seat.
|
||||
|
||||
If shortcuts are already inhibited for the specified seat and surface,
|
||||
a protocol error "already_inhibited" is raised by the compositor.
|
||||
</description>
|
||||
<arg name="id" type="new_id" interface="zwp_keyboard_shortcuts_inhibitor_v1"/>
|
||||
<arg name="surface" type="object" interface="wl_surface"
|
||||
summary="the surface that inhibits the keyboard shortcuts behavior"/>
|
||||
<arg name="seat" type="object" interface="wl_seat"
|
||||
summary="the wl_seat for which keyboard shortcuts should be disabled"/>
|
||||
</request>
|
||||
|
||||
<enum name="error">
|
||||
<entry name="already_inhibited"
|
||||
value="0"
|
||||
summary="the shortcuts are already inhibited for this surface"/>
|
||||
</enum>
|
||||
</interface>
|
||||
|
||||
<interface name="zwp_keyboard_shortcuts_inhibitor_v1" version="1">
|
||||
<description summary="context object for keyboard shortcuts inhibitor">
|
||||
A keyboard shortcuts inhibitor instructs the compositor to ignore
|
||||
its own keyboard shortcuts when the associated surface has keyboard
|
||||
focus. As a result, when the surface has keyboard focus on the given
|
||||
seat, it will receive all key events originating from the specified
|
||||
seat, even those which would normally be caught by the compositor for
|
||||
its own shortcuts.
|
||||
|
||||
The Wayland compositor is however under no obligation to disable
|
||||
all of its shortcuts, and may keep some special key combo for its own
|
||||
use, including but not limited to one allowing the user to forcibly
|
||||
restore normal keyboard events routing in the case of an unwilling
|
||||
client. The compositor may also use the same key combo to reactivate
|
||||
an existing shortcut inhibitor that was previously deactivated on
|
||||
user request.
|
||||
|
||||
When the compositor restores its own keyboard shortcuts, an
|
||||
"inactive" event is emitted to notify the client that the keyboard
|
||||
shortcuts inhibitor is not effectively active for the surface and
|
||||
seat any more, and the client should not expect to receive all
|
||||
keyboard events.
|
||||
|
||||
When the keyboard shortcuts inhibitor is inactive, the client has
|
||||
no way to forcibly reactivate the keyboard shortcuts inhibitor.
|
||||
|
||||
The user can chose to re-enable a previously deactivated keyboard
|
||||
shortcuts inhibitor using any mechanism the compositor may offer,
|
||||
in which case the compositor will send an "active" event to notify
|
||||
the client.
|
||||
|
||||
If the surface is destroyed, unmapped, or loses the seat's keyboard
|
||||
focus, the keyboard shortcuts inhibitor becomes irrelevant and the
|
||||
compositor will restore its own keyboard shortcuts but no "inactive"
|
||||
event is emitted in this case.
|
||||
</description>
|
||||
|
||||
<request name="destroy" type="destructor">
|
||||
<description summary="destroy the keyboard shortcuts inhibitor object">
|
||||
Remove the keyboard shortcuts inhibitor from the associated wl_surface.
|
||||
</description>
|
||||
</request>
|
||||
|
||||
<event name="active">
|
||||
<description summary="shortcuts are inhibited">
|
||||
This event indicates that the shortcut inhibitor is active.
|
||||
|
||||
The compositor sends this event every time compositor shortcuts
|
||||
are inhibited on behalf of the surface. When active, the client
|
||||
may receive input events normally reserved by the compositor
|
||||
(see zwp_keyboard_shortcuts_inhibitor_v1).
|
||||
|
||||
This occurs typically when the initial request "inhibit_shortcuts"
|
||||
first becomes active or when the user instructs the compositor to
|
||||
re-enable and existing shortcuts inhibitor using any mechanism
|
||||
offered by the compositor.
|
||||
</description>
|
||||
</event>
|
||||
|
||||
<event name="inactive">
|
||||
<description summary="shortcuts are restored">
|
||||
This event indicates that the shortcuts inhibitor is inactive,
|
||||
normal shortcuts processing is restored by the compositor.
|
||||
</description>
|
||||
</event>
|
||||
</interface>
|
||||
</protocol>
|
||||
Reference in New Issue
Block a user