mirror of
https://github.com/86Box/86Box.git
synced 2026-02-23 09:58:19 -07:00
Merge branch '86Box:master' into master
This commit is contained in:
@@ -193,6 +193,8 @@ vt82c49x_recalc(vt82c49x_t *dev)
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
flushmmucache_nopc();
|
||||
}
|
||||
|
||||
static void
|
||||
|
||||
@@ -81,7 +81,9 @@ typedef struct {
|
||||
typedef struct
|
||||
{
|
||||
uint8_t ep, p92;
|
||||
uint8_t addr_sel;
|
||||
|
||||
uint8_t addr_regs[8];
|
||||
uint8_t vbios_states[4];
|
||||
uint8_t bios_states[8];
|
||||
uint8_t high_bios_states[8];
|
||||
@@ -100,6 +102,7 @@ typedef struct
|
||||
};
|
||||
|
||||
uint16_t ems_page_regs[40];
|
||||
uint16_t lpt_base;
|
||||
|
||||
int locked;
|
||||
|
||||
@@ -873,6 +876,92 @@ wd76c10_low_pages_recalc(wd76c10_t *dev)
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
wd73c30_reset(wd76c10_t *dev)
|
||||
{
|
||||
dev->addr_sel = 0x00;
|
||||
|
||||
dev->addr_regs[0x00] = 0x00;
|
||||
dev->addr_regs[0x01] = 0x00;
|
||||
dev->addr_regs[0x05] = 0x00;
|
||||
|
||||
serial_set_type(dev->uart[0], SERIAL_16450);
|
||||
serial_set_type(dev->uart[1], SERIAL_16450);
|
||||
|
||||
serial_set_clock_src(dev->uart[1], 1843200.0);
|
||||
serial_set_clock_src(dev->uart[0], 1843200.0);
|
||||
|
||||
lpt_set_ext(dev->lpt, 0);
|
||||
}
|
||||
|
||||
static void
|
||||
wd76c30_write(uint16_t port, uint8_t val, void *priv)
|
||||
{
|
||||
wd76c10_t *dev = (wd76c10_t *) priv;
|
||||
|
||||
switch (port & 0x0007) {
|
||||
case 0x0003:
|
||||
dev->addr_sel = val;
|
||||
switch (val & 0x60) {
|
||||
case 0x00:
|
||||
serial_set_clock_src(dev->uart[1], 1843200.0);
|
||||
break;
|
||||
case 0x20:
|
||||
serial_set_clock_src(dev->uart[1], 3072000.0);
|
||||
break;
|
||||
case 0x40:
|
||||
serial_set_clock_src(dev->uart[1], 6000000.0); /* What is MSTRX1? */
|
||||
break;
|
||||
case 0x60:
|
||||
serial_set_clock_src(dev->uart[1], 8000000.0);
|
||||
break;
|
||||
}
|
||||
switch (val & 0x18) {
|
||||
case 0x00:
|
||||
serial_set_clock_src(dev->uart[0], 1843200.0);
|
||||
break;
|
||||
case 0x08:
|
||||
serial_set_clock_src(dev->uart[0], 3072000.0);
|
||||
break;
|
||||
case 0x10:
|
||||
serial_set_clock_src(dev->uart[0], 6000000.0); /* What is MSTRX1? */
|
||||
break;
|
||||
case 0x18:
|
||||
serial_set_clock_src(dev->uart[0], 8000000.0);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case 0x0007:
|
||||
dev->addr_regs[dev->addr_sel & 0x07] = val;
|
||||
switch (dev->addr_sel & 0x07) {
|
||||
case 0x05:
|
||||
lpt_set_ext(dev->lpt, !!(val & 0x02));
|
||||
serial_set_type(dev->uart[0], (val & 0x01) ? SERIAL_16550 : SERIAL_16450);
|
||||
serial_set_type(dev->uart[1], (val & 0x01) ? SERIAL_16550 : SERIAL_16450);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static uint8_t
|
||||
wd76c30_read(uint16_t port, void *priv)
|
||||
{
|
||||
wd76c10_t *dev = (wd76c10_t *) priv;
|
||||
uint8_t ret = 0xff;
|
||||
|
||||
switch (port & 0x0007) {
|
||||
case 0x0003:
|
||||
ret = dev->addr_sel;
|
||||
break;
|
||||
case 0x0007:
|
||||
ret = dev->addr_regs[dev->addr_sel & 0x07];
|
||||
break;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static void
|
||||
wd76c10_ser_par_cs_recalc(wd76c10_t *dev)
|
||||
{
|
||||
@@ -912,20 +1001,23 @@ wd76c10_ser_par_cs_recalc(wd76c10_t *dev)
|
||||
|
||||
/* LPT */
|
||||
lpt_port_remove(dev->lpt);
|
||||
if (dev->lpt_base != 0x0000)
|
||||
io_removehandler(dev->lpt_base, 0x0008, wd76c30_read, NULL, NULL, wd76c30_write, NULL, NULL, dev);
|
||||
dev->lpt_base = 0x0000;
|
||||
switch ((dev->ser_par_cs >> 9) & 0x03) {
|
||||
case 1:
|
||||
lpt_port_setup(dev->lpt, LPT_MDA_ADDR);
|
||||
lpt_port_irq(dev->lpt, LPT1_IRQ);
|
||||
dev->lpt_base = LPT_MDA_ADDR;
|
||||
break;
|
||||
case 2:
|
||||
lpt_port_setup(dev->lpt, LPT1_ADDR);
|
||||
lpt_port_irq(dev->lpt, LPT1_IRQ);
|
||||
dev->lpt_base = LPT1_ADDR;
|
||||
break;
|
||||
case 3:
|
||||
lpt_port_setup(dev->lpt, LPT2_ADDR);
|
||||
lpt_port_irq(dev->lpt, LPT1_IRQ);
|
||||
dev->lpt_base = LPT2_ADDR;
|
||||
break;
|
||||
}
|
||||
io_sethandler(dev->lpt_base, 0x0008, wd76c30_read, NULL, NULL, wd76c30_write, NULL, NULL, dev);
|
||||
lpt_port_setup(dev->lpt, dev->lpt_base);
|
||||
lpt_port_irq(dev->lpt, LPT1_IRQ);
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -1239,6 +1331,8 @@ wd76c10_reset(void *priv)
|
||||
|
||||
nvr_lock_set(0x38, 0x08, 0x00, dev->nvr);
|
||||
|
||||
wd73c30_reset(dev);
|
||||
|
||||
wd76c10_banks_recalc(dev);
|
||||
wd76c10_split_recalc(dev);
|
||||
wd76c10_dis_mem_recalc(dev);
|
||||
|
||||
@@ -856,12 +856,12 @@ load_image_file(char *dest, char *p, uint8_t *ui_wp)
|
||||
prefix = "wp://";
|
||||
|
||||
if (path_abs(p)) {
|
||||
if ((strlen(prefix) + strlen(p)) > (MAX_IMAGE_PATH_LEN - 1))
|
||||
if ((strlen(prefix) + strlen(p)) > (MAX_IMAGE_PATH_LEN - 11))
|
||||
ret = 1;
|
||||
else
|
||||
snprintf(dest, MAX_IMAGE_PATH_LEN, "%s%s", prefix, p);
|
||||
} else {
|
||||
if ((strlen(prefix) + strlen(usr_path) + strlen(path_get_slash(usr_path)) + strlen(p)) > (MAX_IMAGE_PATH_LEN - 1))
|
||||
if ((strlen(prefix) + strlen(usr_path) + strlen(path_get_slash(usr_path)) + strlen(p)) > (MAX_IMAGE_PATH_LEN - 11))
|
||||
ret = 1;
|
||||
else
|
||||
snprintf(dest, MAX_IMAGE_PATH_LEN, "%s%s%s%s", prefix, usr_path, path_get_slash(usr_path), p);
|
||||
|
||||
@@ -36,11 +36,11 @@
|
||||
|
||||
const uint8_t id_bytes[24][4] = { { 0x00, 0x00, 0x00, 0x00 }, /* XT 83-key */
|
||||
{ 0x00, 0x00, 0x00, 0x00 }, /* AT 84-key */
|
||||
{ 0x00, 0x00, 0x00, 0x00 }, /* XT/AT 101/102/106-key */
|
||||
{ 0x00, 0x00, 0x00, 0x00 },
|
||||
{ 0x00, 0x00, 0x00, 0x00 },
|
||||
{ 0x00, 0x00, 0x00, 0x00 }, /* AT KSC */
|
||||
{ 0x00, 0x00, 0x00, 0x00 }, /* AT ABNT2 */
|
||||
{ 0xab, 0x83, 0x00, 0x00 }, /* XT/AT 101-key */
|
||||
{ 0xab, 0x83, 0x00, 0x00 }, /* XT/AT 101-key */
|
||||
{ 0xab, 0x90, 0x00, 0x00 }, /* XT/AT 106-key JIS */
|
||||
{ 0xab, 0x90, 0x00, 0x00 }, /* AT KSC */
|
||||
{ 0xab, 0x83, 0x00, 0x00 }, /* AT ABNT2 */
|
||||
{ 0x00, 0x00, 0x00, 0x00 },
|
||||
{ 0x00, 0x00, 0x00, 0x00 }, /* FLAG_AX = 0x08 */
|
||||
{ 0x00, 0x00, 0x00, 0x00 },
|
||||
|
||||
155
src/device/lpt.c
155
src/device/lpt.c
@@ -23,6 +23,7 @@
|
||||
#include <86box/device.h>
|
||||
#include <86box/machine.h>
|
||||
#include <86box/network.h>
|
||||
#include <86box/plat_fallthrough.h>
|
||||
|
||||
static int next_inst = 0;
|
||||
int lpt_3bc_used = 0;
|
||||
@@ -321,7 +322,7 @@ lpt_write(const uint16_t port, const uint8_t val, void *priv)
|
||||
lpt_t *dev = (lpt_t *) priv;
|
||||
uint16_t mask = 0x0407;
|
||||
|
||||
lpt_log("[W] %04X = %02X\n", port, val);
|
||||
lpt_log("[W] %04X = %02X (ECR = %02X)\n", port, val, dev->ecr);
|
||||
|
||||
/* This is needed so the parallel port at 3BC works. */
|
||||
if (dev->addr & 0x0004)
|
||||
@@ -352,7 +353,7 @@ lpt_write(const uint16_t port, const uint8_t val, void *priv)
|
||||
|
||||
case 0x0002:
|
||||
if (dev->dt && dev->dt->write_ctrl && dev->dt->priv) {
|
||||
if (dev->ecp)
|
||||
if (dev->ecp && ((dev->ecr & 0xe0) >= 0x20))
|
||||
dev->dt->write_ctrl((val & 0xfc) | dev->autofeed | dev->strobe, dev->dt->priv);
|
||||
else
|
||||
dev->dt->write_ctrl(val, dev->dt->priv);
|
||||
@@ -378,7 +379,36 @@ lpt_write(const uint16_t port, const uint8_t val, void *priv)
|
||||
}
|
||||
break;
|
||||
|
||||
case 0x0400: case 0x0404:
|
||||
case 0x0404:
|
||||
if (dev->cfg_regs_enabled) {
|
||||
switch (dev->eir) {
|
||||
case 0x00:
|
||||
dev->ext_regs[0x00] = val & 0x31;
|
||||
break;
|
||||
case 0x02:
|
||||
dev->ext_regs[0x02] = val & 0xd0;
|
||||
if (dev->ext_regs[0x02] & 0x80)
|
||||
dev->ecr = dev->ret_ecr;
|
||||
else switch (dev->ret_ecr & 0xe0) {
|
||||
case 0x00: case 0x20:
|
||||
case 0x80:
|
||||
dev->ecr = (dev->ret_ecr & 0x1f) | 0x60;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case 0x04:
|
||||
dev->ext_regs[0x00] = val & 0x37;
|
||||
break;
|
||||
case 0x05:
|
||||
dev->ext_regs[0x00] = val;
|
||||
dev->cnfga_readout = (val & 0x80) ? 0x1c : 0x14;
|
||||
dev->cnfgb_readout = (dev->cnfgb_readout & 0xc0) | (val & 0x3b);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
} else
|
||||
fallthrough;
|
||||
case 0x0400:
|
||||
switch (dev->ecr >> 5) {
|
||||
default:
|
||||
break;
|
||||
@@ -424,10 +454,23 @@ lpt_write(const uint16_t port, const uint8_t val, void *priv)
|
||||
|
||||
dev->state = LPT_STATE_IDLE;
|
||||
}
|
||||
dev->ecr = val;
|
||||
if (dev->ext_regs[0x02] & 0x80)
|
||||
dev->ecr = val;
|
||||
else switch (val & 0xe0) {
|
||||
case 0x00: case 0x20:
|
||||
case 0x80:
|
||||
dev->ecr = (val & 0x1f) | 0x60;
|
||||
break;
|
||||
}
|
||||
dev->ret_ecr = val;
|
||||
lpt_ecp_update_irq(dev);
|
||||
break;
|
||||
|
||||
case 0x0403: case 0x0407:
|
||||
if (dev->cfg_regs_enabled)
|
||||
dev->eir = val & 0x07;
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@@ -519,6 +562,12 @@ lpt_read_status(lpt_t *dev)
|
||||
return ret;
|
||||
}
|
||||
|
||||
uint8_t
|
||||
lpt_read_ecp_mode(lpt_t *dev)
|
||||
{
|
||||
return ((dev->ret_ecr & 0xe0) == 0x60) ? 0x60 : 0x00;
|
||||
}
|
||||
|
||||
uint8_t
|
||||
lpt_read(const uint16_t port, void *priv)
|
||||
{
|
||||
@@ -567,7 +616,21 @@ lpt_read(const uint16_t port, void *priv)
|
||||
}
|
||||
break;
|
||||
|
||||
case 0x0400: case 0x0404:
|
||||
case 0x0404:
|
||||
if (dev->cfg_regs_enabled) {
|
||||
switch (dev->eir) {
|
||||
default:
|
||||
ret = 0xff;
|
||||
break;
|
||||
case 0x00: case 0x02:
|
||||
case 0x04: case 0x05:
|
||||
ret = dev->ext_regs[dev->eir];
|
||||
break;
|
||||
}
|
||||
break;
|
||||
} else
|
||||
fallthrough;
|
||||
case 0x0400:
|
||||
switch (dev->ecr >> 5) {
|
||||
default:
|
||||
break;
|
||||
@@ -587,23 +650,30 @@ lpt_read(const uint16_t port, void *priv)
|
||||
}
|
||||
break;
|
||||
|
||||
case 0x0401: case 0x0405:
|
||||
case 0x0405:
|
||||
if (dev->cfg_regs_enabled) {
|
||||
ret = 0x00;
|
||||
break;
|
||||
} else
|
||||
fallthrough;
|
||||
case 0x0401:
|
||||
if ((dev->ecr & 0xe0) == 0xe0) {
|
||||
/* CNFGB */
|
||||
ret = 0x08;
|
||||
ret |= (dev->irq_state ? 0x40 : 0x00);
|
||||
ret |= ((dev->irq == 0x05) ? 0x30 : 0x00);
|
||||
if ((dev->dma >= 1) && (dev->dma <= 3))
|
||||
ret |= dev->dma;
|
||||
ret = dev->cnfgb_readout | (dev->irq_state ? 0x40 : 0x00);
|
||||
}
|
||||
break;
|
||||
|
||||
case 0x0402: case 0x0406:
|
||||
ret = dev->ecr | dev->fifo_stat | (dev->dma_stat & 0x04);
|
||||
ret = dev->ret_ecr | dev->fifo_stat | (dev->dma_stat & 0x04);
|
||||
ret |= (fifo_get_full(dev->fifo) ? 0x02 : 0x00);
|
||||
ret |= (fifo_get_empty(dev->fifo) ? 0x01 : 0x00);
|
||||
break;
|
||||
|
||||
case 0x0403: case 0x0407:
|
||||
if (dev->cfg_regs_enabled)
|
||||
ret = dev->eir;
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@@ -688,6 +758,13 @@ lpt_set_fifo_threshold(lpt_t *dev, const int threshold)
|
||||
fifo_set_trigger_len(dev->fifo, threshold);
|
||||
}
|
||||
|
||||
void
|
||||
lpt_set_cfg_regs_enabled(lpt_t *dev, const uint8_t cfg_regs_enabled)
|
||||
{
|
||||
if (lpt_ports[dev->id].enabled)
|
||||
dev->cfg_regs_enabled = cfg_regs_enabled;
|
||||
}
|
||||
|
||||
void
|
||||
lpt_set_cnfga_readout(lpt_t *dev, const uint8_t cnfga_readout)
|
||||
{
|
||||
@@ -695,6 +772,13 @@ lpt_set_cnfga_readout(lpt_t *dev, const uint8_t cnfga_readout)
|
||||
dev->cnfga_readout = cnfga_readout;
|
||||
}
|
||||
|
||||
void
|
||||
lpt_set_cnfgb_readout(lpt_t *dev, const uint8_t cnfgb_readout)
|
||||
{
|
||||
if (lpt_ports[dev->id].enabled)
|
||||
dev->cnfgb_readout = (dev->cnfgb_readout & 0xc0) | (cnfgb_readout & 0x3f);
|
||||
}
|
||||
|
||||
void
|
||||
lpt_port_setup(lpt_t *dev, const uint16_t port)
|
||||
{
|
||||
@@ -834,14 +918,21 @@ lpt_reset(void *priv)
|
||||
}
|
||||
}
|
||||
|
||||
dev->enable_irq = 0x00;
|
||||
dev->ext = !!(machine_has_bus(machine, MACHINE_BUS_MCA));
|
||||
dev->epp = 0;
|
||||
dev->ecp = 0;
|
||||
dev->ecr = 0x15;
|
||||
dev->dat = 0xff;
|
||||
dev->fifo_stat = 0x00;
|
||||
dev->dma_stat = 0x00;
|
||||
dev->enable_irq = 0x00;
|
||||
dev->cfg_regs_enabled = 0;
|
||||
dev->ext = !!(machine_has_bus(machine, MACHINE_BUS_MCA));
|
||||
dev->epp = 0;
|
||||
dev->ecp = 0;
|
||||
dev->ecr = 0x15;
|
||||
dev->ret_ecr = 0x15;
|
||||
dev->dat = 0xff;
|
||||
dev->fifo_stat = 0x00;
|
||||
dev->dma_stat = 0x00;
|
||||
|
||||
memset(dev->ext_regs, 0x00, 8);
|
||||
dev->ext_regs[0x02] = 0x80;
|
||||
dev->ext_regs[0x04] = 0x07;
|
||||
dev->cnfga_readout &= 0xf7;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -869,15 +960,21 @@ lpt_init(const device_t *info)
|
||||
|
||||
lpt_port_zero(dev);
|
||||
|
||||
dev->addr = 0xffff;
|
||||
dev->irq = 0xff;
|
||||
dev->dma = 0xff;
|
||||
dev->enable_irq = 0x00;
|
||||
dev->ext = 0;
|
||||
dev->epp = 0;
|
||||
dev->ecp = 0;
|
||||
dev->ecr = 0x15;
|
||||
dev->cnfga_readout = 0x14;
|
||||
dev->addr = 0xffff;
|
||||
dev->irq = 0xff;
|
||||
dev->dma = 0xff;
|
||||
dev->enable_irq = 0x00;
|
||||
dev->cfg_regs_enabled = 0;
|
||||
dev->ext = 0;
|
||||
dev->epp = 0;
|
||||
dev->ecp = 0;
|
||||
dev->ecr = 0x15;
|
||||
dev->ret_ecr = 0x15;
|
||||
dev->cnfga_readout = 0x10;
|
||||
dev->cnfgb_readout = 0x00;
|
||||
|
||||
memset(dev->ext_regs, 0x00, 8);
|
||||
dev->ext_regs[0x02] = 0x80;
|
||||
|
||||
if (lpt_ports[dev->id].enabled) {
|
||||
if (info->local & 0xfff00000) {
|
||||
|
||||
@@ -508,7 +508,7 @@ bm_poll(void *priv)
|
||||
dev->mouse_buttons |= 0x40;
|
||||
|
||||
/* Set bits 3-5 according to button state changes. */
|
||||
xor = ((dev->current_b ^ mouse_get_buttons_ex()) & 0x07) << 3;
|
||||
xor = ((dev->current_b ^ dev->mouse_buttons) & 0x07) << 3;
|
||||
dev->mouse_buttons |= xor;
|
||||
}
|
||||
|
||||
|
||||
@@ -475,6 +475,12 @@ serial_set_clock_src(serial_t *dev, double clock_src)
|
||||
serial_update_speed(dev);
|
||||
}
|
||||
|
||||
void
|
||||
serial_set_type(serial_t *dev, uint8_t type)
|
||||
{
|
||||
dev->type = type;
|
||||
}
|
||||
|
||||
void
|
||||
serial_write(uint16_t addr, uint8_t val, void *priv)
|
||||
{
|
||||
|
||||
@@ -53,6 +53,7 @@ typedef struct lpt_t {
|
||||
uint8_t epp;
|
||||
uint8_t ecp;
|
||||
uint8_t ecr;
|
||||
uint8_t ret_ecr;
|
||||
uint8_t in_dat;
|
||||
uint8_t fifo_stat;
|
||||
uint8_t dma_stat;
|
||||
@@ -61,8 +62,12 @@ typedef struct lpt_t {
|
||||
uint8_t strobe;
|
||||
uint8_t lv2;
|
||||
uint8_t cnfga_readout;
|
||||
uint8_t cnfgb_readout;
|
||||
uint8_t cfg_regs_enabled;
|
||||
uint8_t inst;
|
||||
uint8_t pad[5];
|
||||
uint8_t eir;
|
||||
uint8_t pad;
|
||||
uint8_t ext_regs[8];
|
||||
uint16_t addr;
|
||||
uint16_t id;
|
||||
uint16_t pad0[2];
|
||||
@@ -101,6 +106,8 @@ extern uint8_t lpt_read(uint16_t port, void *priv);
|
||||
extern uint8_t lpt_read_port(lpt_t *dev, uint16_t reg);
|
||||
|
||||
extern uint8_t lpt_read_status(lpt_t *dev);
|
||||
extern uint8_t lpt_read_ecp_mode(lpt_t *dev);
|
||||
|
||||
extern void lpt_irq(void *priv, int raise);
|
||||
|
||||
extern int lpt_device_get_from_internal_name(const char *str);
|
||||
@@ -125,8 +132,10 @@ extern void lpt_set_ext(lpt_t *dev, uint8_t ext);
|
||||
extern void lpt_set_ecp(lpt_t *dev, uint8_t ecp);
|
||||
extern void lpt_set_epp(lpt_t *dev, uint8_t epp);
|
||||
extern void lpt_set_lv2(lpt_t *dev, uint8_t lv2);
|
||||
extern void lpt_set_cfg_regs_enabled(lpt_t *dev, uint8_t cfg_regs_enabled);
|
||||
extern void lpt_set_fifo_threshold(lpt_t *dev, int threshold);
|
||||
extern void lpt_set_cnfga_readout(lpt_t *dev, const uint8_t cnfga_readout);
|
||||
extern void lpt_set_cnfgb_readout(lpt_t *dev, const uint8_t cnfgb_readout);
|
||||
extern void lpt_port_setup(lpt_t *dev, uint16_t port);
|
||||
extern void lpt_port_irq(lpt_t *dev, uint8_t irq);
|
||||
extern void lpt_port_dma(lpt_t *dev, uint8_t dma);
|
||||
|
||||
@@ -164,31 +164,32 @@
|
||||
|
||||
enum {
|
||||
MACHINE_TYPE_NONE = 0,
|
||||
MACHINE_TYPE_8088 = 1,
|
||||
MACHINE_TYPE_8086 = 2,
|
||||
MACHINE_TYPE_286 = 3,
|
||||
MACHINE_TYPE_386SX = 4,
|
||||
MACHINE_TYPE_486SLC = 5,
|
||||
MACHINE_TYPE_386DX = 6,
|
||||
MACHINE_TYPE_386DX_486 = 7,
|
||||
MACHINE_TYPE_486 = 8,
|
||||
MACHINE_TYPE_486_S2 = 9,
|
||||
MACHINE_TYPE_486_S3 = 10,
|
||||
MACHINE_TYPE_486_S3_PCI = 11,
|
||||
MACHINE_TYPE_486_MISC = 12,
|
||||
MACHINE_TYPE_SOCKET4 = 13,
|
||||
MACHINE_TYPE_SOCKET5 = 14,
|
||||
MACHINE_TYPE_SOCKET7_3V = 15,
|
||||
MACHINE_TYPE_SOCKET7 = 16,
|
||||
MACHINE_TYPE_SOCKETS7 = 17,
|
||||
MACHINE_TYPE_SOCKET8 = 18,
|
||||
MACHINE_TYPE_SLOT1 = 19,
|
||||
MACHINE_TYPE_SLOT1_2 = 20,
|
||||
MACHINE_TYPE_SLOT1_370 = 21,
|
||||
MACHINE_TYPE_SLOT2 = 22,
|
||||
MACHINE_TYPE_SOCKET370 = 23,
|
||||
MACHINE_TYPE_MISC = 24,
|
||||
MACHINE_TYPE_MAX = 25
|
||||
MACHINE_TYPE_8088,
|
||||
MACHINE_TYPE_8086,
|
||||
MACHINE_TYPE_286,
|
||||
MACHINE_TYPE_386SX,
|
||||
MACHINE_TYPE_M6117,
|
||||
MACHINE_TYPE_486SLC,
|
||||
MACHINE_TYPE_386DX,
|
||||
MACHINE_TYPE_386DX_486,
|
||||
MACHINE_TYPE_486,
|
||||
MACHINE_TYPE_486_S2,
|
||||
MACHINE_TYPE_486_S3,
|
||||
MACHINE_TYPE_486_S3_PCI,
|
||||
MACHINE_TYPE_486_MISC,
|
||||
MACHINE_TYPE_SOCKET4,
|
||||
MACHINE_TYPE_SOCKET5,
|
||||
MACHINE_TYPE_SOCKET7_3V,
|
||||
MACHINE_TYPE_SOCKET7,
|
||||
MACHINE_TYPE_SOCKETS7,
|
||||
MACHINE_TYPE_SOCKET8,
|
||||
MACHINE_TYPE_SLOT1,
|
||||
MACHINE_TYPE_SLOT1_2,
|
||||
MACHINE_TYPE_SLOT1_370,
|
||||
MACHINE_TYPE_SLOT2,
|
||||
MACHINE_TYPE_SOCKET370,
|
||||
MACHINE_TYPE_MISC,
|
||||
MACHINE_TYPE_MAX
|
||||
};
|
||||
|
||||
enum {
|
||||
@@ -440,78 +441,107 @@ extern void machine_at_ibm_common_ide_init(const machine_t *);
|
||||
extern void machine_at_ide_init(const machine_t *);
|
||||
extern void machine_at_ps2_ide_init(const machine_t *);
|
||||
|
||||
extern int machine_at_ibm_init(const machine_t *);
|
||||
extern int machine_at_ibm_init(const machine_t *);
|
||||
|
||||
// IBM AT with custom BIOS
|
||||
extern int machine_at_ibmatami_init(const machine_t *); // IBM AT with AMI BIOS
|
||||
extern int machine_at_ibmatpx_init(const machine_t *); // IBM AT with Phoenix BIOS
|
||||
extern int machine_at_ibmatquadtel_init(const machine_t *); // IBM AT with Quadtel BIOS
|
||||
extern int machine_at_ibmatami_init(const machine_t *); // IBM AT with AMI BIOS
|
||||
extern int machine_at_ibmatpx_init(const machine_t *); // IBM AT with Phoenix BIOS
|
||||
extern int machine_at_ibmatquadtel_init(const machine_t *); // IBM AT with Quadtel BIOS
|
||||
|
||||
extern int machine_at_ibmxt286_init(const machine_t *);
|
||||
extern int machine_at_ibmxt286_init(const machine_t *);
|
||||
|
||||
extern int machine_at_pb286_init(const machine_t *);
|
||||
extern int machine_at_pb286_init(const machine_t *);
|
||||
|
||||
extern int machine_at_siemens_init(const machine_t *); // Siemens PCD-2L. N82330 discrete machine. It segfaults in some places
|
||||
extern int machine_at_siemens_init(const machine_t *); // Siemens PCD-2L. N82330 discrete machine. It segfaults in some places
|
||||
|
||||
extern int machine_at_wellamerastar_init(const machine_t *); // Wells American A*Star with custom award BIOS
|
||||
/* m_at_286.c */
|
||||
/* ISA */
|
||||
extern int machine_at_mr286_init(const machine_t *);
|
||||
extern int machine_at_pc8_init(const machine_t *);
|
||||
extern int machine_at_m290_init(const machine_t *);
|
||||
|
||||
/* m_at_286_386sx.c */
|
||||
extern int machine_at_tg286m_init(const machine_t *);
|
||||
extern int machine_at_ama932j_init(const machine_t *);
|
||||
extern int machine_at_px286_init(const machine_t *);
|
||||
extern int machine_at_quadt286_init(const machine_t *);
|
||||
extern int machine_at_mr286_init(const machine_t *);
|
||||
/* C&T PC/AT */
|
||||
extern int machine_at_dells200_init(const machine_t *);
|
||||
extern int machine_at_super286c_init(const machine_t *);
|
||||
extern int machine_at_at122_init(const machine_t *);
|
||||
extern int machine_at_tuliptc7_init(const machine_t *);
|
||||
|
||||
extern int machine_at_pbl300sx_init(const machine_t *);
|
||||
extern int machine_at_neat_init(const machine_t *);
|
||||
extern int machine_at_neat_ami_init(const machine_t *);
|
||||
extern int machine_at_ataripc4_init(const machine_t *);
|
||||
/* GC103 */
|
||||
extern int machine_at_quadt286_init(const machine_t *);
|
||||
extern void machine_at_headland_common_init(const machine_t *model, int type);
|
||||
extern int machine_at_tg286m_init(const machine_t *);
|
||||
/* Wells American A*Star with custom award BIOS. */
|
||||
extern int machine_at_wellamerastar_init(const machine_t *);
|
||||
|
||||
extern int machine_at_quadt386sx_init(const machine_t *);
|
||||
/* NEAT */
|
||||
extern int machine_at_ataripc4_init(const machine_t *);
|
||||
extern int machine_at_neat_ami_init(const machine_t *);
|
||||
extern int machine_at_3302_init(const machine_t *);
|
||||
extern int machine_at_px286_init(const machine_t *);
|
||||
|
||||
extern int machine_at_award286_init(const machine_t *);
|
||||
extern int machine_at_gdc212m_init(const machine_t *);
|
||||
extern int machine_at_gw286ct_init(const machine_t *);
|
||||
extern int machine_at_drsm35286_init(const machine_t *);
|
||||
extern int machine_at_senor_scat286_init(const machine_t *);
|
||||
extern int machine_at_super286c_init(const machine_t *);
|
||||
extern int machine_at_super286tr_init(const machine_t *);
|
||||
extern int machine_at_spc4200p_init(const machine_t *);
|
||||
extern int machine_at_spc4216p_init(const machine_t *);
|
||||
extern int machine_at_spc4620p_init(const machine_t *);
|
||||
extern int machine_at_kmxc02_init(const machine_t *);
|
||||
extern int machine_at_deskmaster286_init(const machine_t *);
|
||||
/* SCAT */
|
||||
extern int machine_at_gw286ct_init(const machine_t *);
|
||||
extern int machine_at_gdc212m_init(const machine_t *);
|
||||
extern int machine_at_award286_init(const machine_t *);
|
||||
extern int machine_at_super286tr_init(const machine_t *);
|
||||
extern int machine_at_drsm35286_init(const machine_t *);
|
||||
extern int machine_at_deskmaster286_init(const machine_t *);
|
||||
extern int machine_at_spc4200p_init(const machine_t *);
|
||||
extern int machine_at_spc4216p_init(const machine_t *);
|
||||
extern int machine_at_spc4620p_init(const machine_t *);
|
||||
extern int machine_at_senor_scat286_init(const machine_t *);
|
||||
|
||||
extern int machine_at_dells200_init(const machine_t *);
|
||||
extern int machine_at_at122_init(const machine_t *);
|
||||
extern int machine_at_tuliptc7_init(const machine_t *);
|
||||
/* m_at_386sx.c */
|
||||
/* ISA */
|
||||
extern int machine_at_pc916sx_init(const machine_t *);
|
||||
extern int machine_at_quadt386sx_init(const machine_t *);
|
||||
|
||||
extern int machine_at_pc8_init(const machine_t *);
|
||||
extern int machine_at_3302_init(const machine_t *);
|
||||
/* ACC 2036 */
|
||||
extern int machine_at_pbl300sx_init(const machine_t *);
|
||||
|
||||
extern int machine_at_m290_init(const machine_t *);
|
||||
/* ALi M1217 */
|
||||
extern int machine_at_arb1374_init(const machine_t *);
|
||||
extern int machine_at_sbc350a_init(const machine_t *);
|
||||
extern int machine_at_flytech386_init(const machine_t *);
|
||||
extern int machine_at_325ax_init(const machine_t *);
|
||||
extern int machine_at_mr1217_init(const machine_t *);
|
||||
|
||||
extern int machine_at_shuttle386sx_init(const machine_t *);
|
||||
extern int machine_at_adi386sx_init(const machine_t *);
|
||||
extern int machine_at_cmdsl386sx16_init(const machine_t *);
|
||||
extern int machine_at_cmdsl386sx25_init(const machine_t *);
|
||||
extern int machine_at_dataexpert386sx_init(const machine_t *);
|
||||
extern int machine_at_dells333sl_init(const machine_t *);
|
||||
extern int machine_at_if386sx_init(const machine_t *);
|
||||
extern int machine_at_spc6033p_init(const machine_t *);
|
||||
extern int machine_at_wd76c10_init(const machine_t *);
|
||||
extern int machine_at_arb1374_init(const machine_t *);
|
||||
extern int machine_at_sbc350a_init(const machine_t *);
|
||||
extern int machine_at_flytech386_init(const machine_t *);
|
||||
extern int machine_at_325ax_init(const machine_t *);
|
||||
extern int machine_at_mr1217_init(const machine_t *);
|
||||
extern int machine_at_pja511m_init(const machine_t *);
|
||||
extern int machine_at_prox1332_init(const machine_t *);
|
||||
extern int machine_at_acer100t_init(const machine_t *);
|
||||
/* ALi M1409 */
|
||||
extern int machine_at_acer100t_init(const machine_t *);
|
||||
|
||||
extern int machine_at_awardsx_init(const machine_t *);
|
||||
/* HT18 */
|
||||
extern int machine_at_ama932j_init(const machine_t *);
|
||||
|
||||
extern int machine_at_pc916sx_init(const machine_t *);
|
||||
/* Intel 82335 */
|
||||
extern int machine_at_adi386sx_init(const machine_t *);
|
||||
extern int machine_at_shuttle386sx_init(const machine_t *);
|
||||
|
||||
/* NEAT */
|
||||
extern int machine_at_cmdsl386sx16_init(const machine_t *);
|
||||
extern int machine_at_neat_init(const machine_t *);
|
||||
|
||||
/* NEATsx */
|
||||
extern int machine_at_if386sx_init(const machine_t *);
|
||||
|
||||
/* OPTi 291 */
|
||||
extern int machine_at_awardsx_init(const machine_t *);
|
||||
|
||||
/* SCAMP */
|
||||
extern int machine_at_cmdsl386sx25_init(const machine_t *);
|
||||
extern int machine_at_dataexpert386sx_init(const machine_t *);
|
||||
extern int machine_at_dells333sl_init(const machine_t *);
|
||||
extern int machine_at_spc6033p_init(const machine_t *);
|
||||
|
||||
/* SCATsx */
|
||||
extern int machine_at_kmxc02_init(const machine_t *);
|
||||
|
||||
/* WD76C10 */
|
||||
extern int machine_at_wd76c10_init(const machine_t *);
|
||||
|
||||
/* m_at_m6117.c */
|
||||
/* ALi M6117D */
|
||||
extern int machine_at_pja511m_init(const machine_t *);
|
||||
extern int machine_at_prox1332_init(const machine_t *);
|
||||
|
||||
/* m_at_386dx_486.c */
|
||||
/* Note to jriwanek: When merging this into my branch, please make
|
||||
|
||||
@@ -26,6 +26,7 @@
|
||||
#define SCSI_PCSCSI_H
|
||||
|
||||
extern const device_t am53c974_pci_device;
|
||||
extern const device_t am53c974a_pci_device;
|
||||
extern const device_t dc390_pci_device;
|
||||
extern const device_t ncr53c90a_mca_device;
|
||||
|
||||
|
||||
@@ -135,7 +135,6 @@ extern serial_t *serial_attach_ex_2(int port,
|
||||
serial_attach_ex(port, rcr_callback, dev_write, NULL, NULL, priv);
|
||||
|
||||
extern void serial_remove(serial_t *dev);
|
||||
extern void serial_set_type(serial_t *dev, int type);
|
||||
extern void serial_setup(serial_t *dev, uint16_t addr, uint8_t irq);
|
||||
extern void serial_irq(serial_t *dev, uint8_t irq);
|
||||
extern void serial_clear_fifo(serial_t *dev);
|
||||
@@ -143,6 +142,7 @@ extern void serial_write_fifo(serial_t *dev, uint8_t dat);
|
||||
extern void serial_set_next_inst(int ni);
|
||||
extern void serial_standalone_init(void);
|
||||
extern void serial_set_clock_src(serial_t *dev, double clock_src);
|
||||
extern void serial_set_type(serial_t *dev, uint8_t type);
|
||||
extern void serial_reset_port(serial_t *dev);
|
||||
extern uint8_t serial_read(uint16_t addr, void *priv);
|
||||
extern void serial_device_timeout(void *priv);
|
||||
|
||||
@@ -29,36 +29,35 @@ extern const device_t f82c710_device;
|
||||
extern const device_t f82c710_pc5086_device;
|
||||
|
||||
/* SM(S)C */
|
||||
extern const device_t fdc37c651_device;
|
||||
extern const device_t fdc37c651_ide_device;
|
||||
extern const device_t fdc37c661_device;
|
||||
extern const device_t fdc37c661_ide_device;
|
||||
extern const device_t fdc37c661_ide_sec_device;
|
||||
extern const device_t fdc37c663_device;
|
||||
extern const device_t fdc37c663_ide_device;
|
||||
extern const device_t fdc37c665_device;
|
||||
extern const device_t fdc37c665_ide_device;
|
||||
extern const device_t fdc37c665_ide_pri_device;
|
||||
extern const device_t fdc37c665_ide_sec_device;
|
||||
extern const device_t fdc37c666_device;
|
||||
#define FDC37C651 0x00051
|
||||
#define FDC37C661 0x00061
|
||||
#define FDC37C663 0x00063
|
||||
#define FDC37C665 0x00065
|
||||
#define FDC37C666 0x00066
|
||||
|
||||
#define FDC37C6XX_IDE_PRI 0x00100
|
||||
#define FDC37C6XX_IDE_SEC 0x00200
|
||||
|
||||
#define FDC37C6XX_370 0x00400
|
||||
|
||||
extern const device_t fdc37c6xx_device;
|
||||
|
||||
extern const device_t fdc37c669_device;
|
||||
extern const device_t fdc37c669_370_device;
|
||||
|
||||
#define FDC37C93X_NORMAL 0x0002
|
||||
#define FDC37C93X_FR 0x0003
|
||||
#define FDC37C93X_APM 0x0030
|
||||
#define FDC37C93X_CHIP_ID 0x00ff
|
||||
#define FDC37C93X_NORMAL 0x00002
|
||||
#define FDC37C93X_FR 0x00003
|
||||
#define FDC37C93X_APM 0x00030
|
||||
#define FDC37C93X_CHIP_ID 0x000ff
|
||||
|
||||
#define FDC37XXX1 0x0100 /* Compaq KBC firmware and configuration registers on GPIO ports. */
|
||||
#define FDC37XXX2 0x0200 /* AMI '5' Megakey KBC firmware. */
|
||||
#define FDC37XXX3 0x0300 /* IBM KBC firmware. */
|
||||
#define FDC37XXX5 0x0500 /* Phoenix Multikey/42 1.38 KBC firmware. */
|
||||
#define FDC37XXX7 0x0700 /* Phoenix Multikey/42i 4.16 KBC firmware. */
|
||||
#define FDC37XXXX_KBC 0x0f00
|
||||
#define FDC37XXX1 0x00100 /* Compaq KBC firmware and configuration registers on GPIO ports. */
|
||||
#define FDC37XXX2 0x00200 /* AMI '5' Megakey KBC firmware. */
|
||||
#define FDC37XXX3 0x00300 /* IBM KBC firmware. */
|
||||
#define FDC37XXX5 0x00500 /* Phoenix Multikey/42 1.38 KBC firmware. */
|
||||
#define FDC37XXX7 0x00700 /* Phoenix Multikey/42i 4.16 KBC firmware. */
|
||||
#define FDC37XXXX_KBC 0x00f00
|
||||
|
||||
#define FDC37C93X_NO_NVR 0x1000
|
||||
#define FDC37XXXX_370 0x2000
|
||||
#define FDC37C93X_NO_NVR 0x01000
|
||||
#define FDC37XXXX_370 0x02000
|
||||
|
||||
extern const device_t fdc37c93x_device;
|
||||
|
||||
@@ -71,42 +70,52 @@ extern const device_t it8661f_device;
|
||||
extern const device_t it8671f_device;
|
||||
|
||||
/* Intel */
|
||||
#define I82091AA_022 0x00000 /* Default. */
|
||||
#define I82091AA_024 0x00008
|
||||
#define I82091AA_26E 0x00100
|
||||
#define I82091AA_398 0x00108
|
||||
|
||||
#define I82091AA_IDE_PRI 0x00200
|
||||
#define I82091AA_IDE_SEC 0x00400
|
||||
|
||||
extern const device_t i82091aa_device;
|
||||
extern const device_t i82091aa_26e_device;
|
||||
extern const device_t i82091aa_398_device;
|
||||
extern const device_t i82091aa_ide_pri_device;
|
||||
extern const device_t i82091aa_ide_device;
|
||||
|
||||
/* National Semiconductors PC87310 / ALi M5105 */
|
||||
#define PC87310_IDE 0x0001
|
||||
#define PC87310_ALI 0x0002
|
||||
#define PCX73XX_IDE 0x00001
|
||||
|
||||
#define PCX73XX_IDE_PRI PCX73XX_IDE
|
||||
#define PCX73XX_IDE_SEC 0x00002
|
||||
|
||||
#define PCX73XX_FDC_ON 0x10000
|
||||
|
||||
#define PC87310_ALI 0x00004
|
||||
#define PC87332 PC87310_ALI
|
||||
|
||||
extern const device_t pc87310_device;
|
||||
|
||||
/* National Semiconductors */
|
||||
#define PCX7307_PC87307 0x00c0
|
||||
#define PCX7307_PC97307 0x00cf
|
||||
#define PCX7307_PC87307 0x000c0
|
||||
#define PCX7307_PC97307 0x000cf
|
||||
|
||||
#define PC87309_PC87309 0x00e0
|
||||
#define PC87309_PC87309 0x000e0
|
||||
|
||||
#define PCX730X_CHIP_ID 0x00ff
|
||||
#define PCX730X_CHIP_ID 0x000ff
|
||||
|
||||
#define PCX730X_AMI 0x0200 /* AMI '5' Megakey KBC firmware. */
|
||||
#define PCX730X_PHOENIX_42 0x0500 /* Phoenix Multikey/42 1.37 KBC firmware. */
|
||||
#define PCX730X_PHOENIX_42I 0x0700 /* Phoenix Multikey/42i 4.16 KBC firmware. */
|
||||
#define PCX730X_KBC 0x0f00
|
||||
#define PCX730X_AMI 0x00200 /* AMI '5' Megakey KBC firmware. */
|
||||
#define PCX730X_PHOENIX_42 0x00500 /* Phoenix Multikey/42 1.37 KBC firmware. */
|
||||
#define PCX730X_PHOENIX_42I 0x00700 /* Phoenix Multikey/42i 4.16 KBC firmware. */
|
||||
#define PCX730X_KBC 0x00f00
|
||||
|
||||
#define PCX730X_15C 0x2000
|
||||
#define PCX730X_398 0x00000
|
||||
#define PCX730X_26E 0x01000
|
||||
#define PCX730X_15C 0x02000
|
||||
#define PCX730X_02E 0x03000
|
||||
#define PCX730X_BADDR 0x03000
|
||||
#define PCX730X_BADDR_SHIFT 12
|
||||
|
||||
extern const device_t pc87306_device;
|
||||
|
||||
extern const device_t pc87311_device;
|
||||
extern const device_t pc87311_ide_device;
|
||||
extern const device_t pc87332_device;
|
||||
extern const device_t pc87332_398_device;
|
||||
extern const device_t pc87332_398_ide_device;
|
||||
extern const device_t pc87332_398_ide_sec_device;
|
||||
extern const device_t pc87332_398_ide_fdcon_device;
|
||||
extern const device_t pc873xx_device;
|
||||
|
||||
/* National Semiconductors PC87307 / PC87309 */
|
||||
extern const device_t pc87307_device;
|
||||
@@ -114,10 +123,15 @@ extern const device_t pc87307_device;
|
||||
extern const device_t pc87309_device;
|
||||
|
||||
/* LG Prime */
|
||||
extern const device_t prime3b_device;
|
||||
extern const device_t prime3b_ide_device;
|
||||
extern const device_t prime3c_device;
|
||||
extern const device_t prime3c_ide_device;
|
||||
#define GM82C803A 0x00000
|
||||
#define GM82C803B 0x00001
|
||||
|
||||
#define GM82C803_IDE_PRI 0x00100
|
||||
#define GM82C803_IDE_SEC 0x00200
|
||||
|
||||
extern const device_t gm82c803ab_device;
|
||||
|
||||
extern const device_t gm82c803c_device;
|
||||
|
||||
/* IBM PS/1 */
|
||||
extern const device_t ps1_m2133_sio;
|
||||
@@ -128,20 +142,17 @@ extern const device_t sio_detect_device;
|
||||
#endif /* USE_SIO_DETECT */
|
||||
|
||||
/* UMC */
|
||||
extern const device_t um82c862f_device;
|
||||
extern const device_t um82c862f_ide_device;
|
||||
extern const device_t um82c863f_device;
|
||||
extern const device_t um82c863f_ide_device;
|
||||
extern const device_t um8663af_device;
|
||||
extern const device_t um8663af_ide_device;
|
||||
extern const device_t um8663af_sec_device;
|
||||
extern const device_t um8663bf_device;
|
||||
extern const device_t um8663bf_ide_device;
|
||||
extern const device_t um8663bf_sec_device;
|
||||
#define UM82C862F 0x00000
|
||||
#define UM82C863F 0x0c100
|
||||
#define UM8663AF 0x0c300
|
||||
#define UM8663BF 0x0c400
|
||||
|
||||
#define UM866X_IDE_PRI 0x00001
|
||||
#define UM866X_IDE_SEC 0x00002
|
||||
|
||||
extern const device_t um866x_device;
|
||||
|
||||
extern const device_t um8669f_device;
|
||||
extern const device_t um8669f_ide_device;
|
||||
extern const device_t um8669f_ide_sec_device;
|
||||
|
||||
/* VIA */
|
||||
extern void vt82c686_sio_write(uint8_t addr, uint8_t val, void *priv);
|
||||
@@ -152,26 +163,43 @@ extern const device_t via_vt82c686_sio_device;
|
||||
extern const device_t vl82c113_device;
|
||||
|
||||
/* Winbond */
|
||||
extern const device_t w83787f_88h_device;
|
||||
extern const device_t w83787f_device;
|
||||
extern const device_t w83787f_ide_device;
|
||||
extern const device_t w83787f_ide_en_device;
|
||||
extern const device_t w83787f_ide_sec_device;
|
||||
#define W83777F 0x00007
|
||||
#define W83787F 0x00008
|
||||
#define W83787IF 0x00009
|
||||
|
||||
extern const device_t w83877f_device;
|
||||
extern const device_t w83877f_president_device;
|
||||
extern const device_t w83877tf_device;
|
||||
extern const device_t w83877tf_acorp_device;
|
||||
#define W837X7_KEY_88 0x00000
|
||||
#define W837X7_KEY_89 0x00020
|
||||
|
||||
#define TYPE_W83977EF 0x52F0
|
||||
#define TYPE_W83977F 0x9771
|
||||
#define TYPE_W83977TF 0x9773
|
||||
#define TYPE_W83977ATF 0x9774
|
||||
#define W837X7_IDE_START 0x00040
|
||||
|
||||
extern const device_t w83977f_device;
|
||||
extern const device_t w83977f_370_device;
|
||||
extern const device_t w83977tf_device;
|
||||
extern const device_t w83977ef_device;
|
||||
extern const device_t w83977ef_370_device;
|
||||
#define W83XX7_IDE_PRI 0x10000
|
||||
#define W83XX7_IDE_SEC 0x20000
|
||||
|
||||
extern const device_t w837x7_device;
|
||||
|
||||
#define W83877F 0x00a00
|
||||
#define W83877TF 0x00c00
|
||||
#define W83877_3F0 0x00005
|
||||
#define W83877_250 0x00004
|
||||
|
||||
extern const device_t w83877_device;
|
||||
|
||||
#define W83977F 0x977100
|
||||
#define W83977TF 0x977300
|
||||
#define W83977EF 0x52f000
|
||||
#define W83977_TYPE 0xffff00
|
||||
#define W83977_TYPE_SHIFT 8
|
||||
|
||||
#define W83977_3F0 0x00000
|
||||
#define W83977_370 0x00001
|
||||
|
||||
#define W83977_NO_NVR 0x00002
|
||||
|
||||
#define W83977_AMI 0x00010 /* AMI 'H' KBC firmware. */
|
||||
#define W83977_PHOENIX 0x00020 /* Unknown Phoenix Multikey KBC firmware. */
|
||||
|
||||
#define W83977_KBC 0x000f0
|
||||
|
||||
extern const device_t w83977_device;
|
||||
|
||||
#endif /*EMU_SIO_H*/
|
||||
|
||||
@@ -130,6 +130,8 @@ typedef struct monitor_t {
|
||||
int mon_force_resize;
|
||||
int mon_fullchange;
|
||||
int mon_changeframecount;
|
||||
int mon_renderedframes;
|
||||
atomic_int mon_actualrenderedframes;
|
||||
atomic_int mon_screenshots;
|
||||
uint32_t *mon_pal_lookup;
|
||||
int *mon_cga_palette;
|
||||
|
||||
@@ -42,7 +42,9 @@ add_library(mch OBJECT
|
||||
m_ps2_isa.c
|
||||
m_ps2_mca.c
|
||||
m_at_compaq.c
|
||||
m_at_286_386sx.c
|
||||
m_at_286.c
|
||||
m_at_386sx.c
|
||||
m_at_m6117.c
|
||||
m_at_386dx_486.c
|
||||
m_at_socket4.c
|
||||
m_at_socket5.c
|
||||
|
||||
609
src/machine/m_at_286.c
Normal file
609
src/machine/m_at_286.c
Normal file
@@ -0,0 +1,609 @@
|
||||
/*
|
||||
* 86Box A hypervisor and IBM PC system emulator that specializes in
|
||||
* running old operating systems and software designed for IBM
|
||||
* PC systems and compatibles from 1981 through fairly recent
|
||||
* system designs based on the PCI bus.
|
||||
*
|
||||
* This file is part of the 86Box distribution.
|
||||
*
|
||||
* Implementation of 286 machines.
|
||||
*
|
||||
* Authors: Miran Grca, <mgrca8@gmail.com>
|
||||
* EngiNerd <webmaster.crrc@yahoo.it>
|
||||
*
|
||||
* Copyright 2016-2025 Miran Grca.
|
||||
* Copyright 2020-2025 EngiNerd.
|
||||
*/
|
||||
#include <stdarg.h>
|
||||
#include <stdint.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <wchar.h>
|
||||
#define HAVE_STDARG_H
|
||||
#include <86box/86box.h>
|
||||
#include "cpu.h"
|
||||
#include <86box/timer.h>
|
||||
#include <86box/io.h>
|
||||
#include <86box/device.h>
|
||||
#include <86box/chipset.h>
|
||||
#include <86box/keyboard.h>
|
||||
#include <86box/mem.h>
|
||||
#include <86box/rom.h>
|
||||
#include <86box/fdd.h>
|
||||
#include <86box/fdc.h>
|
||||
#include <86box/fdc_ext.h>
|
||||
#include <86box/hdc.h>
|
||||
#include <86box/nvr.h>
|
||||
#include <86box/port_6x.h>
|
||||
#define USE_SIO_DETECT
|
||||
#include <86box/sio.h>
|
||||
#include <86box/serial.h>
|
||||
#include <86box/video.h>
|
||||
#include <86box/vid_cga.h>
|
||||
#include <86box/flash.h>
|
||||
#include <86box/machine.h>
|
||||
|
||||
/* ISA */
|
||||
int
|
||||
machine_at_mr286_init(const machine_t *model)
|
||||
{
|
||||
int ret;
|
||||
|
||||
ret = bios_load_interleaved("roms/machines/mr286/V000B200-1",
|
||||
"roms/machines/mr286/V000B200-2",
|
||||
0x000f0000, 65536, 0);
|
||||
|
||||
if (bios_only || !ret)
|
||||
return ret;
|
||||
|
||||
machine_at_common_ide_init(model);
|
||||
device_add(&kbc_at_device);
|
||||
|
||||
if (fdc_current[0] == FDC_INTERNAL)
|
||||
device_add(&fdc_at_device);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
/*
|
||||
* Current bugs:
|
||||
* - ctrl-alt-del produces an 8042 error
|
||||
*/
|
||||
int
|
||||
machine_at_pc8_init(const machine_t *model)
|
||||
{
|
||||
int ret;
|
||||
|
||||
ret = bios_load_interleaved("roms/machines/pc8/ncr_35117_u127_vers.4-2.bin",
|
||||
"roms/machines/pc8/ncr_35116_u113_vers.4-2.bin",
|
||||
0x000f0000, 65536, 0);
|
||||
|
||||
if (bios_only || !ret)
|
||||
return ret;
|
||||
|
||||
machine_at_common_init(model);
|
||||
device_add(&kbc_at_ncr_device);
|
||||
|
||||
if (fdc_current[0] == FDC_INTERNAL)
|
||||
device_add(&fdc_at_device);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
int
|
||||
machine_at_m290_init(const machine_t *model)
|
||||
{
|
||||
int ret;
|
||||
|
||||
ret = bios_load_linear("roms/machines/m290/m290_pep3_1.25.bin",
|
||||
0x000f0000, 65536, 0);
|
||||
|
||||
if (bios_only || !ret)
|
||||
return ret;
|
||||
|
||||
machine_at_common_init_ex(model, 6);
|
||||
device_add(&amstrad_megapc_nvr_device);
|
||||
|
||||
device_add(&olivetti_eva_device);
|
||||
device_add(&port_6x_olivetti_device);
|
||||
|
||||
if (fdc_current[0] == FDC_INTERNAL)
|
||||
device_add(&fdc_at_device);
|
||||
|
||||
device_add(&kbc_at_olivetti_device);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* C&T PC/AT */
|
||||
static void
|
||||
machine_at_ctat_common_init(const machine_t *model)
|
||||
{
|
||||
machine_at_common_init(model);
|
||||
|
||||
device_add(&cs8220_device);
|
||||
|
||||
if (fdc_current[0] == FDC_INTERNAL)
|
||||
device_add(&fdc_at_device);
|
||||
|
||||
device_add(&kbc_at_phoenix_device);
|
||||
}
|
||||
|
||||
int
|
||||
machine_at_dells200_init(const machine_t *model)
|
||||
{
|
||||
int ret;
|
||||
|
||||
ret = bios_load_interleaved("roms/machines/dells200/dellL200256_LO_@DIP28.BIN",
|
||||
"roms/machines/dells200/Dell200256_HI_@DIP28.BIN",
|
||||
0x000f0000, 65536, 0);
|
||||
|
||||
if (bios_only || !ret)
|
||||
return ret;
|
||||
|
||||
machine_at_ctat_common_init(model);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
int
|
||||
machine_at_super286c_init(const machine_t *model)
|
||||
{
|
||||
int ret;
|
||||
|
||||
ret = bios_load_linear("roms/machines/super286c/hyundai_award286.bin",
|
||||
0x000f0000, 65536, 0);
|
||||
|
||||
if (bios_only || !ret)
|
||||
return ret;
|
||||
|
||||
machine_at_common_init(model);
|
||||
|
||||
device_add(&kbc_at_ami_device);
|
||||
|
||||
if (fdc_current[0] == FDC_INTERNAL)
|
||||
device_add(&fdc_at_device);
|
||||
|
||||
device_add(&cs8220_device);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
int
|
||||
machine_at_at122_init(const machine_t *model)
|
||||
{
|
||||
int ret;
|
||||
|
||||
ret = bios_load_linear("roms/machines/at122/FINAL.BIN",
|
||||
0x000f0000, 65536, 0);
|
||||
|
||||
if (bios_only || !ret)
|
||||
return ret;
|
||||
|
||||
machine_at_ctat_common_init(model);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
int
|
||||
machine_at_tuliptc7_init(const machine_t *model)
|
||||
{
|
||||
int ret;
|
||||
|
||||
ret = bios_load_interleavedr("roms/machines/tuliptc7/tc7be.bin",
|
||||
"roms/machines/tuliptc7/tc7bo.bin",
|
||||
0x000f8000, 65536, 0);
|
||||
|
||||
if (bios_only || !ret)
|
||||
return ret;
|
||||
|
||||
machine_at_ctat_common_init(model);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
int
|
||||
machine_at_wellamerastar_init(const machine_t *model)
|
||||
{
|
||||
int ret;
|
||||
|
||||
ret = bios_load_interleaved("roms/machines/wellamerastar/W_3.031_L.BIN",
|
||||
"roms/machines/wellamerastar/W_3.031_H.BIN",
|
||||
0x000f0000, 65536, 0);
|
||||
|
||||
if (bios_only || !ret)
|
||||
return ret;
|
||||
|
||||
machine_at_ctat_common_init(model);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* GC103 */
|
||||
int
|
||||
machine_at_quadt286_init(const machine_t *model)
|
||||
{
|
||||
int ret;
|
||||
|
||||
ret = bios_load_interleaved("roms/machines/quadt286/QUADT89L.ROM",
|
||||
"roms/machines/quadt286/QUADT89H.ROM",
|
||||
0x000f0000, 65536, 0);
|
||||
|
||||
if (bios_only || !ret)
|
||||
return ret;
|
||||
|
||||
machine_at_common_init(model);
|
||||
device_add(&kbc_at_device);
|
||||
|
||||
if (fdc_current[0] == FDC_INTERNAL)
|
||||
device_add(&fdc_at_device);
|
||||
|
||||
device_add(&headland_gc10x_device);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
void
|
||||
machine_at_headland_common_init(const machine_t *model, int type)
|
||||
{
|
||||
device_add(&kbc_at_ami_device);
|
||||
|
||||
if ((type != 2) && (fdc_current[0] == FDC_INTERNAL))
|
||||
device_add(&fdc_at_device);
|
||||
|
||||
if (type == 2)
|
||||
device_add(&headland_ht18b_device);
|
||||
else if (type == 1)
|
||||
device_add(&headland_gc113_device);
|
||||
else
|
||||
device_add(&headland_gc10x_device);
|
||||
}
|
||||
|
||||
int
|
||||
machine_at_tg286m_init(const machine_t *model)
|
||||
{
|
||||
int ret;
|
||||
|
||||
ret = bios_load_linear("roms/machines/tg286m/ami.bin",
|
||||
0x000f0000, 131072, 0);
|
||||
|
||||
if (bios_only || !ret)
|
||||
return ret;
|
||||
|
||||
machine_at_common_ide_init(model);
|
||||
|
||||
machine_at_headland_common_init(model, 1);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
// TODO
|
||||
// Onboard Paradise PVGA1A-JK VGA Graphics
|
||||
// Data Technology Corporation DTC7187 RLL Controller (Optional)
|
||||
int
|
||||
machine_at_ataripc4_init(const machine_t *model)
|
||||
{
|
||||
int ret;
|
||||
|
||||
ret = bios_load_interleaved("roms/machines/ataripc4/AMI_PC4X_1.7_EVEN.BIN",
|
||||
"roms/machines/ataripc4/AMI_PC4X_1.7_ODD.BIN",
|
||||
0x000f0000, 65536, 0);
|
||||
|
||||
if (bios_only || !ret)
|
||||
return ret;
|
||||
|
||||
machine_at_common_init(model);
|
||||
|
||||
device_add(&neat_device);
|
||||
|
||||
if (fdc_current[0] == FDC_INTERNAL)
|
||||
device_add(&fdc_at_device);
|
||||
|
||||
device_add(&kbc_at_ami_device);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
int
|
||||
machine_at_neat_ami_init(const machine_t *model)
|
||||
{
|
||||
int ret;
|
||||
|
||||
ret = bios_load_linear("roms/machines/ami286/AMIC206.BIN",
|
||||
0x000f0000, 65536, 0);
|
||||
|
||||
if (bios_only || !ret)
|
||||
return ret;
|
||||
|
||||
machine_at_common_init(model);
|
||||
|
||||
device_add(&neat_device);
|
||||
|
||||
if (fdc_current[0] == FDC_INTERNAL)
|
||||
device_add(&fdc_at_device);
|
||||
|
||||
device_add(&kbc_at_ami_device);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
int
|
||||
machine_at_3302_init(const machine_t *model)
|
||||
{
|
||||
int ret;
|
||||
|
||||
ret = bios_load_linear("roms/machines/3302/f000-flex_drive_test.bin",
|
||||
0x000f0000, 65536, 0);
|
||||
|
||||
if (ret) {
|
||||
ret &= bios_load_aux_linear("roms/machines/3302/f800-setup_ncr3.5-013190.bin",
|
||||
0x000f8000, 32768, 0);
|
||||
}
|
||||
|
||||
if (bios_only || !ret)
|
||||
return ret;
|
||||
|
||||
machine_at_common_ide_init(model);
|
||||
device_add(&neat_device);
|
||||
|
||||
if (fdc_current[0] == FDC_INTERNAL)
|
||||
device_add(&fdc_at_device);
|
||||
|
||||
if (gfxcard[0] == VID_INTERNAL)
|
||||
device_add(machine_get_vid_device(machine));
|
||||
|
||||
device_add(&kbc_at_ncr_device);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
int
|
||||
machine_at_px286_init(const machine_t *model)
|
||||
{
|
||||
int ret;
|
||||
|
||||
ret = bios_load_linear("roms/machines/px286/KENITEC.BIN",
|
||||
0x000f0000, 65536, 0);
|
||||
|
||||
if (bios_only || !ret)
|
||||
return ret;
|
||||
|
||||
machine_at_common_init(model);
|
||||
device_add(&kbc_at_device);
|
||||
|
||||
if (fdc_current[0] == FDC_INTERNAL)
|
||||
device_add(&fdc_at_device);
|
||||
|
||||
device_add(&neat_device);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* SCAT */
|
||||
static void
|
||||
machine_at_scat_init(const machine_t *model, int is_v4, int is_ami)
|
||||
{
|
||||
machine_at_common_init(model);
|
||||
|
||||
if (machines[machine].bus_flags & MACHINE_BUS_PS2) {
|
||||
if (is_ami)
|
||||
device_add(&kbc_ps2_ami_device);
|
||||
else
|
||||
device_add(&kbc_ps2_device);
|
||||
} else {
|
||||
if (is_ami)
|
||||
device_add(&kbc_at_ami_device);
|
||||
else
|
||||
device_add(&kbc_at_device);
|
||||
}
|
||||
|
||||
if (is_v4)
|
||||
device_add(&scat_4_device);
|
||||
else
|
||||
device_add(&scat_device);
|
||||
}
|
||||
|
||||
int
|
||||
machine_at_gw286ct_init(const machine_t *model)
|
||||
{
|
||||
int ret;
|
||||
|
||||
ret = bios_load_linear("roms/machines/gw286ct/2ctc001.bin",
|
||||
0x000f0000, 131072, 0);
|
||||
|
||||
if (bios_only || !ret)
|
||||
return ret;
|
||||
|
||||
device_add(&f82c710_device);
|
||||
|
||||
machine_at_scat_init(model, 1, 0);
|
||||
|
||||
device_add(&ide_isa_device);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
int
|
||||
machine_at_gdc212m_init(const machine_t *model)
|
||||
{
|
||||
int ret;
|
||||
|
||||
ret = bios_load_linear("roms/machines/gdc212m/gdc212m_72h.bin",
|
||||
0x000f0000, 65536, 0);
|
||||
|
||||
if (bios_only || !ret)
|
||||
return ret;
|
||||
|
||||
machine_at_scat_init(model, 0, 1);
|
||||
|
||||
if (fdc_current[0] == FDC_INTERNAL)
|
||||
device_add(&fdc_at_device);
|
||||
|
||||
device_add(&ide_isa_device);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
int
|
||||
machine_at_award286_init(const machine_t *model)
|
||||
{
|
||||
int ret;
|
||||
|
||||
ret = bios_load_linear("roms/machines/award286/award.bin",
|
||||
0x000f0000, 131072, 0);
|
||||
|
||||
if (bios_only || !ret)
|
||||
return ret;
|
||||
|
||||
machine_at_scat_init(model, 0, 1);
|
||||
|
||||
if (fdc_current[0] == FDC_INTERNAL)
|
||||
device_add(&fdc_at_device);
|
||||
|
||||
device_add(&ide_isa_device);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
int
|
||||
machine_at_super286tr_init(const machine_t *model)
|
||||
{
|
||||
int ret;
|
||||
|
||||
ret = bios_load_linear("roms/machines/super286tr/hyundai_award286.bin",
|
||||
0x000f0000, 131072, 0);
|
||||
|
||||
if (bios_only || !ret)
|
||||
return ret;
|
||||
|
||||
machine_at_scat_init(model, 0, 1);
|
||||
|
||||
if (fdc_current[0] == FDC_INTERNAL)
|
||||
device_add(&fdc_at_device);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
int
|
||||
machine_at_drsm35286_init(const machine_t *model)
|
||||
{
|
||||
int ret;
|
||||
|
||||
ret = bios_load_linear("roms/machines/drsm35286/syab04-665821fb81363428830424.bin",
|
||||
0x000f0000, 65536, 0);
|
||||
|
||||
if (bios_only || !ret)
|
||||
return ret;
|
||||
|
||||
device_add(&ide_isa_device);
|
||||
device_add_params(&fdc37c6xx_device, (void *) (FDC37C651 | FDC37C6XX_IDE_PRI));
|
||||
|
||||
machine_at_scat_init(model, 1, 0);
|
||||
|
||||
if (gfxcard[0] == VID_INTERNAL)
|
||||
device_add(machine_get_vid_device(machine));
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
int
|
||||
machine_at_deskmaster286_init(const machine_t *model)
|
||||
{
|
||||
int ret;
|
||||
|
||||
ret = bios_load_linear("roms/machines/deskmaster286/SAMSUNG-DESKMASTER-28612-ROM.BIN",
|
||||
0x000f0000, 131072, 0);
|
||||
|
||||
if (bios_only || !ret)
|
||||
return ret;
|
||||
|
||||
machine_at_scat_init(model, 0, 1);
|
||||
|
||||
device_add(&f82c710_device);
|
||||
|
||||
device_add(&ide_isa_device);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
int
|
||||
machine_at_spc4200p_init(const machine_t *model)
|
||||
{
|
||||
int ret;
|
||||
|
||||
ret = bios_load_linear("roms/machines/spc4200p/u8.01",
|
||||
0x000f0000, 131072, 0);
|
||||
|
||||
if (bios_only || !ret)
|
||||
return ret;
|
||||
|
||||
machine_at_scat_init(model, 0, 1);
|
||||
|
||||
device_add(&f82c710_device);
|
||||
|
||||
device_add(&ide_isa_device);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
int
|
||||
machine_at_spc4216p_init(const machine_t *model)
|
||||
{
|
||||
int ret;
|
||||
|
||||
ret = bios_load_interleaved("roms/machines/spc4216p/7101.U8",
|
||||
"roms/machines/spc4216p/AC64.U10",
|
||||
0x000f0000, 131072, 0);
|
||||
|
||||
if (bios_only || !ret)
|
||||
return ret;
|
||||
|
||||
machine_at_scat_init(model, 1, 1);
|
||||
|
||||
device_add(&f82c710_device);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
int
|
||||
machine_at_spc4620p_init(const machine_t *model)
|
||||
{
|
||||
int ret;
|
||||
|
||||
ret = bios_load_interleaved("roms/machines/spc4620p/31005h.u8",
|
||||
"roms/machines/spc4620p/31005h.u10",
|
||||
0x000f0000, 131072, 0x8000);
|
||||
|
||||
if (bios_only || !ret)
|
||||
return ret;
|
||||
|
||||
if (gfxcard[0] == VID_INTERNAL)
|
||||
device_add(&ati28800k_spc4620p_device);
|
||||
|
||||
machine_at_scat_init(model, 1, 1);
|
||||
|
||||
device_add(&f82c710_device);
|
||||
|
||||
device_add(&ide_isa_device);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
int
|
||||
machine_at_senor_scat286_init(const machine_t *model)
|
||||
{
|
||||
int ret;
|
||||
|
||||
ret = bios_load_linear("roms/machines/senor286/AMI-DSC2-1115-061390-K8.rom",
|
||||
0x000f0000, 65536, 0);
|
||||
|
||||
if (bios_only || !ret)
|
||||
return ret;
|
||||
|
||||
machine_at_scat_init(model, 0, 1);
|
||||
|
||||
if (fdc_current[0] == FDC_INTERNAL)
|
||||
device_add(&fdc_at_device);
|
||||
|
||||
return ret;
|
||||
}
|
||||
@@ -236,6 +236,7 @@ machine_at_valuepoint433_init(const machine_t *model) // hangs without the PS/2
|
||||
if (gfxcard[0] == VID_INTERNAL)
|
||||
device_add(&et4000w32_onboard_device);
|
||||
|
||||
device_add_params(&fdc37c6xx_device, (void *) (FDC37C661 | FDC37C6XX_IDE_PRI));
|
||||
device_add(&kbc_ps2_device);
|
||||
|
||||
if (fdc_current[0] == FDC_INTERNAL)
|
||||
@@ -423,7 +424,7 @@ machine_at_vect486vl_init(const machine_t *model) // has HDC problems
|
||||
device_add(&vl82c113_device);
|
||||
|
||||
device_add(&ide_isa_device);
|
||||
device_add(&fdc37c651_ide_device);
|
||||
device_add_params(&fdc37c6xx_device, (void *) (FDC37C651 | FDC37C6XX_IDE_PRI));
|
||||
|
||||
return ret;
|
||||
}
|
||||
@@ -453,7 +454,7 @@ machine_at_d824_init(const machine_t *model)
|
||||
device_add(&vl82c113_device);
|
||||
|
||||
device_add(&ide_isa_device);
|
||||
device_add(&fdc37c651_device);
|
||||
device_add_params(&fdc37c6xx_device, (void *) FDC37C651);
|
||||
|
||||
return ret;
|
||||
}
|
||||
@@ -477,7 +478,7 @@ machine_at_tuliptc38_init(const machine_t *model)
|
||||
device_add(&vl82c113_device);
|
||||
|
||||
device_add(&ide_isa_device);
|
||||
device_add(&fdc37c651_ide_device);
|
||||
device_add_params(&fdc37c6xx_device, (void *) (FDC37C651 | FDC37C6XX_IDE_PRI));
|
||||
|
||||
if (gfxcard[0] == VID_INTERNAL) {
|
||||
bios_load_aux_linear("roms/machines/tuliptc38/VBIOS.BIN",
|
||||
@@ -510,7 +511,7 @@ machine_at_martin_init(const machine_t *model)
|
||||
device_add(&vl82c113_device);
|
||||
|
||||
device_add(&ide_vlb_device);
|
||||
device_add(&fdc37c651_ide_device);
|
||||
device_add_params(&fdc37c6xx_device, (void *) (FDC37C651 | FDC37C6XX_IDE_PRI));
|
||||
|
||||
device_add(&intel_flash_bxt_device);
|
||||
|
||||
@@ -586,7 +587,7 @@ machine_at_decpclpv_init(const machine_t *model)
|
||||
device_add(&kbc_ps2_phoenix_pci_device);
|
||||
|
||||
device_add(&ide_isa_2ch_device);
|
||||
device_add(&fdc37c663_ide_device);
|
||||
device_add_params(&fdc37c6xx_device, (void *) (FDC37C663 | FDC37C6XX_IDE_PRI));
|
||||
|
||||
return ret;
|
||||
}
|
||||
@@ -617,7 +618,7 @@ machine_at_dell466np_init(const machine_t *model)
|
||||
device_add(&kbc_ps2_phoenix_pci_device);
|
||||
|
||||
device_add(&ide_isa_device);
|
||||
device_add(&fdc37c661_ide_device);
|
||||
device_add_params(&fdc37c6xx_device, (void *) (FDC37C661 | FDC37C6XX_IDE_PRI));
|
||||
|
||||
return ret;
|
||||
}
|
||||
@@ -759,7 +760,7 @@ machine_at_c747_init(const machine_t *model)
|
||||
desired behavior: command A9 does absolutely nothing.
|
||||
*/
|
||||
device_add(&kbc_at_siemens_device);
|
||||
device_add(&um82c862f_ide_device);
|
||||
device_add_params(&um866x_device, (void *) (UM82C862F | UM866X_IDE_PRI));
|
||||
|
||||
return ret;
|
||||
}
|
||||
@@ -921,8 +922,8 @@ machine_at_pb450_init(const machine_t *model)
|
||||
device_add(&opti602_device);
|
||||
device_add(&opti822_device);
|
||||
device_add(&kbc_ps2_phoenix_device);
|
||||
device_add(&fdc37c665_ide_device);
|
||||
device_add(&ide_opti611_vlb_sec_device);
|
||||
device_add_params(&fdc37c6xx_device, (void *) (FDC37C665 | FDC37C6XX_IDE_SEC));
|
||||
device_add(&ide_opti611_vlb_device);
|
||||
device_add(&intel_flash_bxt_device);
|
||||
device_add(&phoenix_486_jumper_pci_device);
|
||||
|
||||
@@ -952,7 +953,7 @@ machine_at_pc330_6573_common_init(const machine_t *model)
|
||||
device_add(&opti802g_device);
|
||||
device_add(&opti822_device);
|
||||
device_add(&kbc_ps2_ami_device);
|
||||
device_add(&fdc37c665_ide_device);
|
||||
device_add_params(&fdc37c6xx_device, (void *) (FDC37C665 | FDC37C6XX_IDE_SEC));
|
||||
device_add(&ide_opti611_vlb_device);
|
||||
device_add(&intel_flash_bxt_device);
|
||||
}
|
||||
@@ -1005,7 +1006,9 @@ machine_at_mvi486_init(const machine_t *model)
|
||||
device_add(&opti498_device);
|
||||
|
||||
device_add(&kbc_at_device);
|
||||
device_add(&pc87311_ide_device);
|
||||
|
||||
device_add(&ide_isa_device);
|
||||
device_add_params(&pc873xx_device, (void *) (PCX73XX_IDE_PRI | PCX730X_398));
|
||||
|
||||
return ret;
|
||||
}
|
||||
@@ -1056,7 +1059,7 @@ machine_at_advantage40xxd_init(const machine_t *model)
|
||||
device_add(machine_get_vid_device(machine));
|
||||
|
||||
device_add(&kbc_ps2_phoenix_device);
|
||||
device_add(&um82c863f_ide_device);
|
||||
device_add_params(&um866x_device, (void *) (UM82C863F | UM866X_IDE_PRI));
|
||||
|
||||
device_add(&intel_flash_bxt_device);
|
||||
|
||||
@@ -1262,7 +1265,7 @@ machine_at_r418_init(const machine_t *model)
|
||||
pci_register_slot(0x0F, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x07, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
|
||||
device_add(&fdc37c665_device);
|
||||
device_add_params(&fdc37c6xx_device, (void *) FDC37C665);
|
||||
device_add(&kbc_ps2_pci_device);
|
||||
|
||||
return ret;
|
||||
@@ -1288,7 +1291,7 @@ machine_at_m4li_init(const machine_t *model)
|
||||
pci_register_slot(0x07, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
pci_register_slot(0x0F, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
|
||||
device_add(&fdc37c665_device);
|
||||
device_add_params(&fdc37c6xx_device, (void *) FDC37C665);
|
||||
device_add(&kbc_ps2_pci_device);
|
||||
|
||||
return ret;
|
||||
@@ -1314,7 +1317,7 @@ machine_at_ls486e_init(const machine_t *model)
|
||||
pci_register_slot(0x0F, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x06, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
|
||||
device_add(&fdc37c665_device);
|
||||
device_add_params(&fdc37c6xx_device, (void *) FDC37C665);
|
||||
device_add(&kbc_ps2_ami_pci_device);
|
||||
|
||||
return ret;
|
||||
@@ -1340,7 +1343,7 @@ machine_at_4dps_init(const machine_t *model)
|
||||
pci_register_slot(0x0E, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x07, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
|
||||
device_add(&w83787f_device);
|
||||
device_add_params(&w837x7_device, (void *) (W83787IF | W837X7_KEY_89));
|
||||
device_add(&kbc_ps2_ami_device);
|
||||
|
||||
device_add(&intel_flash_bxt_device);
|
||||
@@ -1367,7 +1370,7 @@ machine_at_ms4144_init(const machine_t *model)
|
||||
pci_register_slot(0x0D, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x0F, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
|
||||
device_add(&w83787f_device);
|
||||
device_add_params(&w837x7_device, (void *) (W83787F | W837X7_KEY_89));
|
||||
device_add(&kbc_at_ami_device);
|
||||
|
||||
device_add(&sst_flash_29ee010_device);
|
||||
@@ -1396,11 +1399,11 @@ machine_at_acerp3_init(const machine_t *model)
|
||||
pci_register_slot(0x13, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x14, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
|
||||
device_add(&fdc37c665_ide_device);
|
||||
device_add_params(&fdc37c6xx_device, (void *) (FDC37C665 | FDC37C6XX_IDE_PRI));
|
||||
device_add(&kbc_ps2_acer_pci_device);
|
||||
device_add(&ide_cmd640_pci_legacy_only_device);
|
||||
|
||||
if (gfxcard[0] == VID_INTERNAL)
|
||||
device_add(&ide_cmd640_pci_legacy_only_device);
|
||||
|
||||
if (gfxcard[0] == VID_INTERNAL)
|
||||
device_add(&gd5434_onboard_pci_device);
|
||||
|
||||
device_add(&intel_flash_bxt_device);
|
||||
@@ -1427,7 +1430,7 @@ machine_at_486sp3c_init(const machine_t *model)
|
||||
pci_register_slot(0x0B, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x0A, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
|
||||
device_add(&fdc37c665_device);
|
||||
device_add_params(&fdc37c6xx_device, (void *) FDC37C665);
|
||||
device_add(&kbc_ps2_ami_pci_device);
|
||||
|
||||
device_add(&intel_flash_bxt_device);
|
||||
@@ -1455,7 +1458,7 @@ machine_at_4saw2_init(const machine_t *model)
|
||||
pci_register_slot(0x0F, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x11, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
|
||||
device_add(&w83787f_device);
|
||||
device_add_params(&w837x7_device, (void *) (W83777F | W837X7_KEY_89));
|
||||
device_add(&kbc_ps2_pci_device);
|
||||
|
||||
device_add(&intel_flash_bxt_device);
|
||||
@@ -1488,7 +1491,7 @@ machine_at_alfredo_init(const machine_t *model)
|
||||
pci_register_slot(0x02, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
|
||||
device_add(&kbc_ps2_phoenix_device);
|
||||
device_add(&sio_device);
|
||||
device_add(&fdc37c663_device);
|
||||
device_add_params(&fdc37c6xx_device, (void *) FDC37C663);
|
||||
device_add(&intel_flash_bxt_ami_device);
|
||||
|
||||
device_add(&i420tx_device);
|
||||
@@ -1519,7 +1522,7 @@ machine_at_ninja_init(const machine_t *model)
|
||||
device_add(&intel_flash_bxt_ami_device);
|
||||
|
||||
device_add(&i420ex_device);
|
||||
device_add(&i82091aa_device);
|
||||
device_add_params(&i82091aa_device, (void *) I82091AA_022);
|
||||
|
||||
return ret;
|
||||
}
|
||||
@@ -1548,7 +1551,7 @@ machine_at_bat4ip3e_init(const machine_t *model)
|
||||
device_add(&kbc_ps2_pci_device);
|
||||
device_add(&i420ex_device);
|
||||
device_add(&ide_cmd640_pci_device);
|
||||
device_add(&fdc37c665_device);
|
||||
device_add_params(&fdc37c6xx_device, (void *) FDC37C665);
|
||||
|
||||
return ret;
|
||||
}
|
||||
@@ -1573,7 +1576,7 @@ machine_at_486pi_init(const machine_t *model)
|
||||
pci_register_slot(0x14, PCI_CARD_NORMAL, 1, 2, 1, 2);
|
||||
|
||||
device_add(&kbc_ps2_ami_pci_device);
|
||||
device_add(&fdc37c665_device);
|
||||
device_add_params(&fdc37c6xx_device, (void *) FDC37C665);
|
||||
device_add(&i420ex_device);
|
||||
|
||||
return ret;
|
||||
@@ -1598,7 +1601,7 @@ machine_at_sb486p_init(const machine_t *model)
|
||||
pci_register_slot(0x13, PCI_CARD_NORMAL, 2, 1, 2, 1);
|
||||
|
||||
device_add(&kbc_ps2_ami_pci_device);
|
||||
device_add(&i82091aa_device);
|
||||
device_add_params(&i82091aa_device, (void *) I82091AA_022);
|
||||
device_add(&i420ex_device);
|
||||
|
||||
return ret;
|
||||
@@ -1628,7 +1631,7 @@ machine_at_486sp3_init(const machine_t *model)
|
||||
pci_register_slot(0x02, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
|
||||
device_add(&kbc_at_ami_device); /* Uses the AMIKEY KBC */
|
||||
device_add(&sio_device);
|
||||
device_add(&fdc37c663_ide_device);
|
||||
device_add_params(&fdc37c6xx_device, (void *) (FDC37C663 | FDC37C6XX_IDE_PRI));
|
||||
device_add(&sst_flash_29ee010_device);
|
||||
|
||||
device_add(&i420tx_device);
|
||||
@@ -1657,7 +1660,7 @@ machine_at_amis76_init(const machine_t *model)
|
||||
pci_register_slot(0x02, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
|
||||
device_add(&kbc_ps2_ami_pci_device);
|
||||
device_add(&sio_device);
|
||||
device_add(&fdc37c665_device);
|
||||
device_add_params(&fdc37c6xx_device, (void *) FDC37C665);
|
||||
device_add(&intel_flash_bxt_ami_device);
|
||||
|
||||
device_add(&i420tx_device);
|
||||
@@ -1750,7 +1753,7 @@ machine_at_486sp3g_init(const machine_t *model)
|
||||
pci_register_slot(0x02, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
|
||||
device_add(&kbc_ps2_ami_pci_device); /* Uses the AMIKEY KBC */
|
||||
device_add(&sio_zb_device);
|
||||
device_add(&pc87332_398_ide_device);
|
||||
device_add_params(&pc873xx_device, (void *) (PC87332 | PCX73XX_IDE_PRI | PCX730X_398));
|
||||
device_add(&sst_flash_29ee010_device);
|
||||
|
||||
device_add(&i420zx_device);
|
||||
@@ -1829,7 +1832,7 @@ machine_at_sb486pv_init(const machine_t *model)
|
||||
device_add(&kbc_ps2_ami_pci_device);
|
||||
device_add(&sio_zb_device);
|
||||
device_add(&ide_rz1000_pci_single_channel_device);
|
||||
device_add(&i82091aa_26e_device);
|
||||
device_add_params(&i82091aa_device, (void *) I82091AA_26E);
|
||||
if (!strcmp(fn, "roms/machines/sb486pv/amiboot.rom"))
|
||||
device_add(&intel_flash_bxt_device);
|
||||
else
|
||||
@@ -1892,7 +1895,7 @@ machine_at_g486vpa_init(const machine_t *model)
|
||||
|
||||
device_add(&via_vt82c49x_pci_ide_device);
|
||||
device_add(&via_vt82c505_device);
|
||||
device_add(&pc87332_398_ide_sec_device);
|
||||
device_add_params(&pc873xx_device, (void *) (PC87332 | PCX73XX_IDE_SEC | PCX730X_398));
|
||||
device_add(&kbc_ps2_ami_pci_device);
|
||||
device_add(&sst_flash_29ee010_device);
|
||||
|
||||
@@ -1921,9 +1924,9 @@ machine_at_486vipio2_init(const machine_t *model)
|
||||
|
||||
device_add(&via_vt82c49x_pci_ide_device);
|
||||
device_add(&via_vt82c505_device);
|
||||
device_add(&w83787f_ide_sec_device);
|
||||
device_add_params(&w837x7_device, (void *) (W83787F | W837X7_KEY_89));
|
||||
device_add(&kbc_ps2_ami_pci_device);
|
||||
device_add(&sst_flash_29ee010_device);
|
||||
device_add(&winbond_flash_w29c010_device);
|
||||
|
||||
return ret;
|
||||
}
|
||||
@@ -1948,7 +1951,7 @@ machine_at_abpb4_init(const machine_t *model)
|
||||
pci_register_slot(0x05, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
|
||||
device_add(&ali1489_device);
|
||||
device_add(&w83787f_device);
|
||||
device_add_params(&w837x7_device, (void *) (W83787F | W837X7_KEY_89));
|
||||
device_add(&kbc_at_device);
|
||||
#if 0
|
||||
device_add(&intel_flash_bxt_device);
|
||||
@@ -1978,7 +1981,7 @@ machine_at_win486pci_init(const machine_t *model)
|
||||
pci_register_slot(0x05, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
|
||||
device_add(&ali1489_device);
|
||||
device_add(&prime3b_device);
|
||||
device_add_params(&gm82c803ab_device, (void *) GM82C803B);
|
||||
device_add(&kbc_at_ami_device);
|
||||
|
||||
return ret;
|
||||
@@ -2005,7 +2008,7 @@ machine_at_ms4145_init(const machine_t *model)
|
||||
pci_register_slot(0x06, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
|
||||
device_add(&ali1489_device);
|
||||
device_add(&w83787f_device);
|
||||
device_add_params(&w837x7_device, (void *) (W83787F | W837X7_KEY_89));
|
||||
device_add(&kbc_at_ami_device);
|
||||
device_add(&sst_flash_29ee010_device);
|
||||
|
||||
@@ -2037,7 +2040,7 @@ machine_at_sbc490_init(const machine_t *model)
|
||||
device_add(machine_get_vid_device(machine));
|
||||
|
||||
device_add(&ali1489_device);
|
||||
device_add(&fdc37c665_device);
|
||||
device_add_params(&fdc37c6xx_device, (void *) FDC37C665);
|
||||
device_add(&kbc_ps2_ami_device);
|
||||
device_add(&sst_flash_29ee010_device);
|
||||
|
||||
@@ -2062,8 +2065,8 @@ machine_at_tf486_init(const machine_t *model)
|
||||
pci_register_slot(0x0C, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
|
||||
device_add(&ali1489_device);
|
||||
device_add(&w83977ef_device);
|
||||
device_add(&kbc_at_device);
|
||||
device_add(&kbc_at_phoenix_device);
|
||||
device_add_params(&w83977_device, (void *) (W83977EF | W83977_NO_NVR));
|
||||
device_add(&sst_flash_29ee010_device);
|
||||
|
||||
return ret;
|
||||
@@ -2085,7 +2088,7 @@ machine_at_arb1476_init(const machine_t *model)
|
||||
pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
|
||||
|
||||
device_add(&ali1489_device);
|
||||
device_add(&fdc37c669_device);
|
||||
device_add_params(&fdc37c669_device, (void *) 0);
|
||||
device_add(&kbc_ps2_device);
|
||||
device_add(&sst_flash_29ee010_device);
|
||||
|
||||
@@ -2103,14 +2106,13 @@ machine_at_itoxstar_init(const machine_t *model)
|
||||
if (bios_only || !ret)
|
||||
return ret;
|
||||
|
||||
machine_at_common_init(model);
|
||||
machine_at_common_init_ex(model, 2);
|
||||
|
||||
pci_init(PCI_CONFIG_TYPE_1);
|
||||
pci_register_slot(0x0B, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
|
||||
pci_register_slot(0x0C, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
|
||||
pci_register_slot(0x1F, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
device_add(&w83977f_device);
|
||||
device_add(&kbc_ps2_ami_pci_device);
|
||||
device_add_params(&w83977_device, (void *) (W83977F | W83977_AMI));
|
||||
device_add(&stpc_client_device);
|
||||
device_add(&sst_flash_29ee020_device);
|
||||
device_add(&w83781d_device); /* fans: Chassis, CPU, unused; temperatures: Chassis, CPU, unused */
|
||||
@@ -2132,7 +2134,7 @@ machine_at_arb1423c_init(const machine_t *model)
|
||||
if (bios_only || !ret)
|
||||
return ret;
|
||||
|
||||
machine_at_common_init(model);
|
||||
machine_at_common_init_ex(model, 2);
|
||||
|
||||
pci_init(PCI_CONFIG_TYPE_1);
|
||||
pci_register_slot(0x0B, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
|
||||
@@ -2140,8 +2142,7 @@ machine_at_arb1423c_init(const machine_t *model)
|
||||
pci_register_slot(0x1F, PCI_CARD_NORMAL, 1, 0, 0, 0);
|
||||
pci_register_slot(0x1E, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x1D, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
device_add(&w83977f_device);
|
||||
device_add(&kbc_ps2_ami_pci_device);
|
||||
device_add_params(&w83977_device, (void *) (W83977F | W83977_AMI));
|
||||
device_add(&stpc_consumer2_device);
|
||||
device_add(&winbond_flash_w29c020_device);
|
||||
|
||||
@@ -2159,7 +2160,7 @@ machine_at_arb1479_init(const machine_t *model)
|
||||
if (bios_only || !ret)
|
||||
return ret;
|
||||
|
||||
machine_at_common_init(model);
|
||||
machine_at_common_init_ex(model, 2);
|
||||
|
||||
pci_init(PCI_CONFIG_TYPE_1);
|
||||
pci_register_slot(0x0B, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
|
||||
@@ -2167,8 +2168,7 @@ machine_at_arb1479_init(const machine_t *model)
|
||||
pci_register_slot(0x1F, PCI_CARD_NORMAL, 1, 0, 0, 0);
|
||||
pci_register_slot(0x1E, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x1D, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
device_add(&w83977f_device);
|
||||
device_add(&kbc_ps2_ami_pci_device);
|
||||
device_add_params(&w83977_device, (void *) (W83977F | W83977_AMI));
|
||||
device_add(&stpc_consumer2_device);
|
||||
device_add(&winbond_flash_w29c020_device);
|
||||
|
||||
@@ -2186,13 +2186,12 @@ machine_at_iach488_init(const machine_t *model)
|
||||
if (bios_only || !ret)
|
||||
return ret;
|
||||
|
||||
machine_at_common_init(model);
|
||||
machine_at_common_init_ex(model, 2);
|
||||
|
||||
pci_init(PCI_CONFIG_TYPE_1);
|
||||
pci_register_slot(0x0B, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
|
||||
pci_register_slot(0x0C, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
|
||||
device_add(&w83977f_device);
|
||||
device_add(&kbc_ps2_ami_pci_device);
|
||||
device_add_params(&w83977_device, (void *) (W83977F | W83977_AMI));
|
||||
device_add(&stpc_consumer2_device);
|
||||
device_add(&sst_flash_29ee020_device);
|
||||
|
||||
@@ -2210,7 +2209,7 @@ machine_at_pcm9340_init(const machine_t *model)
|
||||
if (bios_only || !ret)
|
||||
return ret;
|
||||
|
||||
machine_at_common_init(model);
|
||||
machine_at_common_init_ex(model, 2);
|
||||
|
||||
pci_init(PCI_CONFIG_TYPE_1);
|
||||
pci_register_slot(0x0B, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
|
||||
@@ -2218,9 +2217,8 @@ machine_at_pcm9340_init(const machine_t *model)
|
||||
pci_register_slot(0x1D, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
pci_register_slot(0x1E, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x1F, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
device_add_inst(&w83977f_device, 1);
|
||||
device_add_inst(&w83977f_device, 2);
|
||||
device_add(&kbc_ps2_ami_pci_device);
|
||||
device_add_inst_params(&w83977_device, 1, (void *) (W83977F | W83977_AMI));
|
||||
device_add_inst_params(&w83977_device, 2, (void *) W83977F);
|
||||
device_add(&stpc_elite_device);
|
||||
device_add(&sst_flash_29ee020_device);
|
||||
|
||||
@@ -2238,7 +2236,7 @@ machine_at_pcm5330_init(const machine_t *model)
|
||||
if (bios_only || !ret)
|
||||
return ret;
|
||||
|
||||
machine_at_common_init(model);
|
||||
machine_at_common_init_ex(model, 2);
|
||||
|
||||
pci_init(PCI_CONFIG_TYPE_1);
|
||||
pci_register_slot(0x0B, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
|
||||
@@ -2247,8 +2245,7 @@ machine_at_pcm5330_init(const machine_t *model)
|
||||
pci_register_slot(0x0E, PCI_CARD_SOUTHBRIDGE_USB, 1, 2, 3, 4);
|
||||
pci_register_slot(0x13, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
device_add(&stpc_serial_device);
|
||||
device_add(&w83977f_370_device);
|
||||
device_add(&kbc_ps2_ami_pci_device);
|
||||
device_add_params(&w83977_device, (void *) (W83977F | W83977_370 | W83977_AMI));
|
||||
device_add(&stpc_atlas_device);
|
||||
device_add(&sst_flash_29ee020_device);
|
||||
|
||||
@@ -2279,7 +2276,7 @@ machine_at_ecs486_init(const machine_t *model)
|
||||
device_add(&umc_hb4_device);
|
||||
device_add(&umc_8886f_device);
|
||||
device_add(&ide_cmd640_pci_legacy_only_device);
|
||||
device_add(&fdc37c665_device);
|
||||
device_add_params(&fdc37c6xx_device, (void *) FDC37C665);
|
||||
device_add(&intel_flash_bxt_device);
|
||||
device_add(&kbc_ps2_ami_device);
|
||||
|
||||
@@ -2358,9 +2355,9 @@ machine_at_hot433a_init(const machine_t *model)
|
||||
device_add(&umc_hb4_device);
|
||||
device_add(&umc_8886bf_device);
|
||||
if (is_award)
|
||||
device_add(&um8663af_device);
|
||||
device_add_params(&um866x_device, (void *) UM8663AF);
|
||||
else
|
||||
device_add(&um8669f_device);
|
||||
device_add_params(&um8669f_device, (void *) 0);
|
||||
device_add(&winbond_flash_w29c010_device);
|
||||
if (is_award)
|
||||
device_add(&kbc_ps2_ami_device);
|
||||
@@ -2394,7 +2391,7 @@ machine_at_84xxuuda_init(const machine_t *model)
|
||||
|
||||
device_add(&umc_hb4_device);
|
||||
device_add(&umc_8886bf_device);
|
||||
device_add(&um8663bf_device);
|
||||
device_add_params(&um866x_device, (void *) UM8663BF);
|
||||
device_add(&winbond_flash_w29c010_device);
|
||||
device_add(&kbc_ps2_ami_device);
|
||||
|
||||
@@ -2425,7 +2422,7 @@ machine_at_pl4600c_init(const machine_t *model)
|
||||
|
||||
device_add(&umc_hb4_device);
|
||||
device_add(&umc_8886af_device);
|
||||
device_add(&um8663af_device);
|
||||
device_add_params(&um866x_device, (void *) UM8663AF);
|
||||
device_add(&sst_flash_29ee010_device);
|
||||
device_add(&kbc_ps2_ami_pci_device);
|
||||
|
||||
@@ -2496,7 +2493,7 @@ machine_at_actionpc2600_init(const machine_t *model)
|
||||
|
||||
device_add(&umc_hb4_device);
|
||||
device_add(&umc_8886bf_device);
|
||||
device_add(&fdc37c665_device);
|
||||
device_add_params(&fdc37c6xx_device, (void *) FDC37C665);
|
||||
device_add(&intel_flash_bxt_device);
|
||||
device_add(&kbc_ps2_tg_ami_device);
|
||||
|
||||
@@ -2528,7 +2525,7 @@ machine_at_actiontower8400_init(const machine_t *model)
|
||||
|
||||
device_add(&umc_hb4_device);
|
||||
device_add(&umc_8886f_device);
|
||||
device_add(&fdc37c665_device);
|
||||
device_add_params(&fdc37c6xx_device, (void *) FDC37C665);
|
||||
device_add(&ide_cmd640_pci_device);
|
||||
device_add(&intel_flash_bxt_device); // The ActionPC 2600 has this so I'm gonna assume this does too.
|
||||
device_add(&kbc_ps2_ami_pci_device);
|
||||
@@ -2560,7 +2557,7 @@ machine_at_m919_init(const machine_t *model)
|
||||
|
||||
device_add(&umc_hb4_device);
|
||||
device_add(&umc_8886af_device); /* AF is correct - the BIOS does IDE writes to ports 108h and 109h. */
|
||||
device_add(&um8663bf_device);
|
||||
device_add_params(&um866x_device, (void *) UM8663BF);
|
||||
device_add(&sst_flash_29ee010_device);
|
||||
device_add(&kbc_at_ami_device);
|
||||
|
||||
@@ -2589,7 +2586,7 @@ machine_at_spc7700plw_init(const machine_t *model)
|
||||
|
||||
device_add(&umc_hb4_device);
|
||||
device_add(&umc_8886af_device);
|
||||
device_add(&fdc37c665_device);
|
||||
device_add_params(&fdc37c6xx_device, (void *) FDC37C665);
|
||||
device_add(&intel_flash_bxt_device);
|
||||
device_add(&kbc_ps2_ami_device);
|
||||
|
||||
@@ -2611,7 +2608,7 @@ machine_at_ms4134_init(const machine_t *model)
|
||||
|
||||
device_add(&ali1429g_device);
|
||||
|
||||
device_add(&fdc37c665_ide_pri_device);
|
||||
device_add_params(&fdc37c6xx_device, (void *) (FDC37C665 | FDC37C6XX_IDE_PRI));
|
||||
|
||||
pci_init(FLAG_MECHANISM_1 | FLAG_MECHANISM_2 | PCI_ALWAYS_EXPOSE_DEV0);
|
||||
pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
|
||||
@@ -2645,7 +2642,7 @@ machine_at_tg486gp_init(const machine_t *model)
|
||||
|
||||
device_add(&ali1429g_device);
|
||||
|
||||
device_add(&fdc37c665_ide_pri_device);
|
||||
device_add_params(&fdc37c6xx_device, (void *) (FDC37C665 | FDC37C6XX_IDE_PRI));
|
||||
|
||||
pci_init(FLAG_MECHANISM_1 | FLAG_MECHANISM_2 | PCI_ALWAYS_EXPOSE_DEV0);
|
||||
pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
|
||||
@@ -2678,7 +2675,7 @@ machine_at_tg486g_init(const machine_t *model)
|
||||
device_add(&amstrad_megapc_nvr_device);
|
||||
device_add(&sis_85c471_device);
|
||||
device_add(&ide_isa_device);
|
||||
device_add(&fdc37c651_ide_device);
|
||||
device_add_params(&fdc37c6xx_device, (void *) (FDC37C651 | FDC37C6XX_IDE_PRI));
|
||||
device_add(&kbc_ps2_tg_ami_pci_device);
|
||||
|
||||
if (gfxcard[0] != VID_INTERNAL) {
|
||||
@@ -2705,7 +2702,7 @@ machine_at_dvent4xx_init(const machine_t *model)
|
||||
machine_at_common_init(model);
|
||||
device_add(&sis_85c471_device);
|
||||
device_add(&ide_cmd640_vlb_pri_device);
|
||||
device_add(&fdc37c665_ide_device);
|
||||
device_add_params(&fdc37c6xx_device, (void *) (FDC37C665 | FDC37C6XX_IDE_SEC));
|
||||
device_add(&kbc_ps2_phoenix_device);
|
||||
|
||||
if (gfxcard[0] == VID_INTERNAL)
|
||||
@@ -2753,7 +2750,7 @@ machine_at_ap4100aa_init(const machine_t *model)
|
||||
device_add(&ali1429g_device);
|
||||
device_add(&kbc_ps2_ami_pci_device);
|
||||
device_add(&ide_vlb_device);
|
||||
device_add(&um8663bf_device);
|
||||
device_add_params(&um866x_device, (void *) UM8663BF);
|
||||
|
||||
return ret;
|
||||
}
|
||||
@@ -2886,7 +2883,7 @@ machine_at_cobalt_init(const machine_t *model)
|
||||
device_add(&opti499_device);
|
||||
device_add(&ide_opti611_vlb_device);
|
||||
device_add(&ide_isa_sec_device);
|
||||
device_add(&fdc37c665_device);
|
||||
device_add_params(&fdc37c6xx_device, (void *) FDC37C665);
|
||||
|
||||
device_add(&kbc_ps2_ami_device);
|
||||
|
||||
@@ -2911,7 +2908,7 @@ machine_at_cougar_init(const machine_t *model)
|
||||
device_add(&ide_vlb_device);
|
||||
|
||||
device_add(&opti499_device);
|
||||
device_add(&fdc37c665_ide_pri_device);
|
||||
device_add_params(&fdc37c6xx_device, (void *) (FDC37C665 | FDC37C6XX_IDE_PRI));
|
||||
|
||||
device_add(&kbc_at_ami_device);
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
88
src/machine/m_at_m6117.c
Normal file
88
src/machine/m_at_m6117.c
Normal file
@@ -0,0 +1,88 @@
|
||||
/*
|
||||
* 86Box A hypervisor and IBM PC system emulator that specializes in
|
||||
* running old operating systems and software designed for IBM
|
||||
* PC systems and compatibles from 1981 through fairly recent
|
||||
* system designs based on the PCI bus.
|
||||
*
|
||||
* This file is part of the 86Box distribution.
|
||||
*
|
||||
* Implementation of 386SX machines.
|
||||
*
|
||||
* Authors: Miran Grca, <mgrca8@gmail.com>
|
||||
* EngiNerd <webmaster.crrc@yahoo.it>
|
||||
*
|
||||
* Copyright 2016-2025 Miran Grca.
|
||||
* Copyright 2020-2025 EngiNerd.
|
||||
*/
|
||||
#include <stdarg.h>
|
||||
#include <stdint.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <wchar.h>
|
||||
#define HAVE_STDARG_H
|
||||
#include <86box/86box.h>
|
||||
#include "cpu.h"
|
||||
#include <86box/timer.h>
|
||||
#include <86box/io.h>
|
||||
#include <86box/device.h>
|
||||
#include <86box/chipset.h>
|
||||
#include <86box/keyboard.h>
|
||||
#include <86box/mem.h>
|
||||
#include <86box/rom.h>
|
||||
#include <86box/fdd.h>
|
||||
#include <86box/fdc.h>
|
||||
#include <86box/fdc_ext.h>
|
||||
#include <86box/hdc.h>
|
||||
#include <86box/nvr.h>
|
||||
#include <86box/port_6x.h>
|
||||
#define USE_SIO_DETECT
|
||||
#include <86box/sio.h>
|
||||
#include <86box/serial.h>
|
||||
#include <86box/video.h>
|
||||
#include <86box/vid_cga.h>
|
||||
#include <86box/flash.h>
|
||||
#include <86box/machine.h>
|
||||
|
||||
/* ALi M6117D */
|
||||
int
|
||||
machine_at_pja511m_init(const machine_t *model)
|
||||
{
|
||||
int ret;
|
||||
|
||||
ret = bios_load_linear("roms/machines/pja511m/2006915102435734.rom",
|
||||
0x000e0000, 131072, 0);
|
||||
|
||||
if (bios_only || !ret)
|
||||
return ret;
|
||||
|
||||
machine_at_common_init(model);
|
||||
|
||||
device_add_inst_params(&fdc37c669_device, 1, (void *) FDC37C6XX_IDE_PRI);
|
||||
device_add_inst_params(&fdc37c669_device, 2, (void *) 0);
|
||||
device_add(&kbc_ps2_ami_pci_device);
|
||||
device_add(&ali6117d_device);
|
||||
device_add(&sst_flash_29ee010_device);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
int
|
||||
machine_at_prox1332_init(const machine_t *model)
|
||||
{
|
||||
int ret;
|
||||
|
||||
ret = bios_load_linear("roms/machines/prox1332/D30B3AC1.BIN",
|
||||
0x000e0000, 131072, 0);
|
||||
|
||||
if (bios_only || !ret)
|
||||
return ret;
|
||||
|
||||
machine_at_common_init(model);
|
||||
|
||||
device_add_params(&fdc37c669_device, (void *) FDC37C6XX_370);
|
||||
device_add(&kbc_ps2_ami_pci_device);
|
||||
device_add(&ali6117d_device);
|
||||
device_add(&sst_flash_29ee010_device);
|
||||
|
||||
return ret;
|
||||
}
|
||||
@@ -65,8 +65,7 @@ machine_at_vpc2007_init(const machine_t *model)
|
||||
pci_register_slot(0x0F, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
device_add(&i440bx_no_agp_device);
|
||||
device_add(&piix4e_device);
|
||||
device_add(&w83977f_370_device);
|
||||
device_add(&kbc_ps2_ami_pci_device);
|
||||
device_add_params(&w83977_device, (void *) (W83977F | W83977_370 | W83977_AMI | W83977_NO_NVR));
|
||||
device_add(&intel_flash_bxt_device);
|
||||
spd_register(SPD_TYPE_SDRAM, 0xF, 256); /* real VPC provides invalid SPD data */
|
||||
|
||||
|
||||
@@ -110,7 +110,7 @@ machine_at_kn97_init(const machine_t *model)
|
||||
device_add(&i440fx_device);
|
||||
device_add(&piix3_device);
|
||||
device_add(&kbc_ps2_pci_device);
|
||||
device_add(&w83877f_device);
|
||||
device_add_params(&w83877_device, (void *) (W83877F | W83877_3F0));
|
||||
device_add(&intel_flash_bxt_device);
|
||||
device_add(&lm78_device); /* fans: Chassis, CPU, Power; temperature: MB */
|
||||
for (uint8_t i = 0; i < 3; i++)
|
||||
@@ -142,8 +142,7 @@ machine_at_lx6_init(const machine_t *model)
|
||||
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
|
||||
device_add(&i440lx_device);
|
||||
device_add(&piix4e_device);
|
||||
device_add(&kbc_ps2_ami_pci_device);
|
||||
device_add(&w83977tf_device);
|
||||
device_add_params(&w83977_device, (void *) (W83977TF | W83977_AMI | W83977_NO_NVR));
|
||||
device_add(&sst_flash_29ee010_device);
|
||||
spd_register(SPD_TYPE_SDRAM, 0xF, 256);
|
||||
|
||||
@@ -272,8 +271,7 @@ machine_at_p6i440e2_init(const machine_t *model)
|
||||
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
|
||||
device_add(&i440ex_device);
|
||||
device_add(&piix4_device);
|
||||
device_add(&kbc_ps2_ami_pci_device);
|
||||
device_add(&w83977tf_device);
|
||||
device_add_params(&w83977_device, (void *) (W83977TF | W83977_AMI | W83977_NO_NVR));
|
||||
device_add(&sst_flash_29ee010_device);
|
||||
spd_register(SPD_TYPE_SDRAM, 0x03, 256);
|
||||
device_add(&w83781d_device); /* fans: CPU, CHS, PS; temperatures: unused, CPU, System */
|
||||
@@ -308,8 +306,7 @@ machine_at_p2bls_init(const machine_t *model)
|
||||
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
|
||||
device_add(&i440bx_device);
|
||||
device_add(&piix4e_device);
|
||||
device_add(&kbc_ps2_ami_pci_device);
|
||||
device_add(&w83977ef_device);
|
||||
device_add_params(&w83977_device, (void *) (W83977EF | W83977_AMI | W83977_NO_NVR));
|
||||
#if 0
|
||||
device_add(ics9xxx_get(ICS9150_08)); /* setting proper speeds requires some interaction with the AS97127F ASIC */
|
||||
#endif
|
||||
@@ -345,8 +342,7 @@ machine_at_lgibmx7g_init(const machine_t *model)
|
||||
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
|
||||
device_add(&i440bx_device);
|
||||
device_add(&piix4e_device);
|
||||
device_add(&kbc_ps2_ami_pci_device);
|
||||
device_add(&w83977tf_device);
|
||||
device_add_params(&w83977_device, (void *) (W83977TF | W83977_AMI | W83977_NO_NVR));
|
||||
device_add(&winbond_flash_w29c020_device);
|
||||
spd_register(SPD_TYPE_SDRAM, 0x7, 256);
|
||||
|
||||
@@ -378,8 +374,7 @@ machine_at_p3bf_init(const machine_t *model)
|
||||
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
|
||||
device_add(&i440bx_device);
|
||||
device_add(&piix4e_device);
|
||||
device_add(&kbc_ps2_ami_pci_device);
|
||||
device_add(&w83977ef_device);
|
||||
device_add_params(&w83977_device, (void *) (W83977EF | W83977_AMI | W83977_NO_NVR));
|
||||
device_add(ics9xxx_get(ICS9250_08));
|
||||
device_add(&sst_flash_39sf020_device);
|
||||
spd_register(SPD_TYPE_SDRAM, 0xF, 256);
|
||||
@@ -415,8 +410,7 @@ machine_at_bf6_init(const machine_t *model)
|
||||
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
|
||||
device_add(&i440bx_device);
|
||||
device_add(&piix4e_device);
|
||||
device_add(&kbc_ps2_pci_device);
|
||||
device_add(&w83977ef_device);
|
||||
device_add_params(&w83977_device, (void *) (W83977EF | W83977_AMI | W83977_NO_NVR));
|
||||
device_add(&sst_flash_39sf020_device);
|
||||
spd_register(SPD_TYPE_SDRAM, 0x7, 256);
|
||||
|
||||
@@ -446,8 +440,7 @@ machine_at_bx6_init(const machine_t *model)
|
||||
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
|
||||
device_add(&i440bx_device);
|
||||
device_add(&piix4e_device);
|
||||
device_add(&kbc_ps2_pci_device);
|
||||
device_add(&w83977f_device);
|
||||
device_add_params(&w83977_device, (void *) (W83977TF | W83977_AMI | W83977_NO_NVR));
|
||||
device_add(&sst_flash_29ee010_device);
|
||||
spd_register(SPD_TYPE_SDRAM, 0xF, 256);
|
||||
|
||||
@@ -478,8 +471,7 @@ machine_at_ax6bc_init(const machine_t *model)
|
||||
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
|
||||
device_add(&i440bx_device);
|
||||
device_add(&piix4e_device);
|
||||
device_add(&kbc_ps2_ami_pci_device);
|
||||
device_add(&w83977tf_device);
|
||||
device_add_params(&w83977_device, (void *) (W83977TF | W83977_AMI | W83977_NO_NVR));
|
||||
device_add(&sst_flash_29ee020_device);
|
||||
spd_register(SPD_TYPE_SDRAM, 0x7, 256);
|
||||
device_add(&gl518sm_2d_device); /* fans: System, CPU; temperature: CPU; no reporting in BIOS */
|
||||
@@ -510,8 +502,7 @@ machine_at_atc6310bxii_init(const machine_t *model)
|
||||
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
|
||||
device_add(&i440bx_device);
|
||||
device_add(&slc90e66_device);
|
||||
device_add(&kbc_ps2_pci_device);
|
||||
device_add(&w83977ef_device);
|
||||
device_add_params(&w83977_device, (void *) (W83977EF | W83977_AMI | W83977_NO_NVR));
|
||||
device_add(&sst_flash_39sf020_device);
|
||||
spd_register(SPD_TYPE_SDRAM, 0x7, 256);
|
||||
|
||||
@@ -541,8 +532,7 @@ machine_at_686bx_init(const machine_t *model)
|
||||
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
|
||||
device_add(&i440bx_device);
|
||||
device_add(&piix4e_device);
|
||||
device_add(&kbc_ps2_ami_pci_device);
|
||||
device_add(&w83977tf_device);
|
||||
device_add_params(&w83977_device, (void *) (W83977TF | W83977_AMI | W83977_NO_NVR));
|
||||
device_add(&intel_flash_bxt_device);
|
||||
spd_register(SPD_TYPE_SDRAM, 0xF, 256);
|
||||
device_add(&w83781d_device); /* fans: CPU, unused, unused; temperatures: unused, CPU, unused */
|
||||
@@ -580,8 +570,7 @@ machine_at_p6sba_init(const machine_t *model)
|
||||
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
|
||||
device_add(&i440bx_device);
|
||||
device_add(&piix4e_device);
|
||||
device_add(&w83977tf_device);
|
||||
device_add(&kbc_ps2_ami_pci_device);
|
||||
device_add_params(&w83977_device, (void *) (W83977TF | W83977_AMI | W83977_NO_NVR));
|
||||
device_add(&intel_flash_bxt_device);
|
||||
spd_register(SPD_TYPE_SDRAM, 0x7, 256);
|
||||
device_add(&w83781d_device); /* fans: CPU1, CPU2, Thermal Control; temperatures: unused, CPU1, CPU2? */
|
||||
@@ -653,7 +642,7 @@ machine_at_ficka6130_init(const machine_t *model)
|
||||
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
|
||||
device_add(&via_apro_device);
|
||||
device_add(&via_vt82c596a_device);
|
||||
device_add(&w83877tf_device);
|
||||
device_add_params(&w83877_device, (void *) (W83877TF | W83877_3F0));
|
||||
device_add(&kbc_ps2_ami_pci_device);
|
||||
device_add(&sst_flash_29ee020_device);
|
||||
spd_register(SPD_TYPE_SDRAM, 0x7, 256);
|
||||
@@ -686,8 +675,7 @@ machine_at_p3v133_init(const machine_t *model)
|
||||
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
|
||||
device_add(&via_apro133_device);
|
||||
device_add(&via_vt82c596b_device);
|
||||
device_add(&w83977ef_device);
|
||||
device_add(&kbc_ps2_ami_pci_device);
|
||||
device_add_params(&w83977_device, (void *) (W83977EF | W83977_AMI | W83977_NO_NVR));
|
||||
device_add(ics9xxx_get(ICS9248_39));
|
||||
device_add(&sst_flash_39sf020_device);
|
||||
spd_register(SPD_TYPE_SDRAM, 0x7, 512);
|
||||
@@ -723,8 +711,7 @@ machine_at_p3v4x_init(const machine_t *model)
|
||||
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
|
||||
device_add(&via_apro133a_device);
|
||||
device_add(&via_vt82c596b_device);
|
||||
device_add(&w83977ef_device);
|
||||
device_add(&kbc_ps2_ami_pci_device);
|
||||
device_add_params(&w83977_device, (void *) (W83977EF | W83977_AMI | W83977_NO_NVR));
|
||||
device_add(ics9xxx_get(ICS9250_18));
|
||||
device_add(&sst_flash_39sf020_device);
|
||||
spd_register(SPD_TYPE_SDRAM, 0xF, 512);
|
||||
@@ -756,8 +743,7 @@ machine_at_gt694va_init(const machine_t *model)
|
||||
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
|
||||
device_add(&via_apro133a_device);
|
||||
device_add(&via_vt82c596b_device);
|
||||
device_add(&w83977ef_device);
|
||||
device_add(&kbc_ps2_ami_pci_device);
|
||||
device_add_params(&w83977_device, (void *) (W83977EF | W83977_AMI | W83977_NO_NVR));
|
||||
device_add(&sst_flash_39sf020_device);
|
||||
spd_register(SPD_TYPE_SDRAM, 0x7, 1024);
|
||||
device_add(&w83782d_device); /* fans: CPU, unused, unused; temperatures: System, CPU1, unused */
|
||||
@@ -821,12 +807,11 @@ machine_at_ms6168_common_init(const machine_t *model)
|
||||
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
|
||||
device_add(&i440zx_device);
|
||||
device_add(&piix4e_device);
|
||||
device_add(&w83977ef_device);
|
||||
|
||||
if (gfxcard[0] == VID_INTERNAL)
|
||||
device_add(&voodoo_3_2000_agp_onboard_8m_device);
|
||||
|
||||
device_add(&kbc_ps2_ami_pci_device);
|
||||
device_add_params(&w83977_device, (void *) (W83977EF | W83977_AMI | W83977_NO_NVR));
|
||||
device_add(&intel_flash_bxt_device);
|
||||
spd_register(SPD_TYPE_SDRAM, 0x3, 256);
|
||||
|
||||
|
||||
@@ -65,8 +65,7 @@ machine_at_6gxu_init(const machine_t *model)
|
||||
|
||||
device_add(&i440gx_device);
|
||||
device_add(&piix4e_device);
|
||||
device_add(&kbc_ps2_pci_device);
|
||||
device_add(&w83977ef_device);
|
||||
device_add_params(&w83977_device, (void *) (W83977EF | W83977_AMI | W83977_NO_NVR));
|
||||
device_add(&sst_flash_39sf020_device);
|
||||
spd_register(SPD_TYPE_SDRAM, 0xF, 512);
|
||||
device_add(&w83782d_device); /* fans: CPU, Power, System; temperatures: System, CPU, unused */
|
||||
@@ -102,8 +101,7 @@ machine_at_s2dge_init(const machine_t *model)
|
||||
|
||||
device_add(&i440gx_device);
|
||||
device_add(&piix4e_device);
|
||||
device_add(&kbc_ps2_ami_pci_device);
|
||||
device_add(&w83977tf_device);
|
||||
device_add_params(&w83977_device, (void *) (W83977TF | W83977_AMI | W83977_NO_NVR));
|
||||
device_add(&intel_flash_bxt_device);
|
||||
spd_register(SPD_TYPE_SDRAM, 0xF, 512);
|
||||
device_add(&w83781d_device); /* fans: CPU1, CPU2, Thermal Control; temperatures: unused, CPU1, CPU2? */
|
||||
|
||||
@@ -63,8 +63,7 @@ machine_at_s370slm_init(const machine_t *model)
|
||||
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
|
||||
device_add(&i440lx_device);
|
||||
device_add(&piix4e_device);
|
||||
device_add(&w83977tf_device);
|
||||
device_add(&kbc_ps2_ami_pci_device);
|
||||
device_add_params(&w83977_device, (void *) (W83977TF | W83977_AMI | W83977_NO_NVR));
|
||||
device_add(&intel_flash_bxt_device);
|
||||
spd_register(SPD_TYPE_SDRAM, 0x7, 256);
|
||||
device_add(&w83781d_device); /* fans: CPU, Fan 2, Chassis; temperatures: unused, CPU, unused */
|
||||
@@ -98,8 +97,7 @@ machine_at_prosignias31x_bx_init(const machine_t *model)
|
||||
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
|
||||
device_add(&i440bx_device);
|
||||
device_add(&piix4e_device);
|
||||
device_add(&w83977ef_device);
|
||||
device_add(&kbc_ps2_ami_pci_device);
|
||||
device_add_params(&w83977_device, (void *) (W83977EF | W83977_AMI | W83977_NO_NVR));
|
||||
device_add(&winbond_flash_w29c020_device);
|
||||
spd_register(SPD_TYPE_SDRAM, 0x7, 256);
|
||||
device_add(&gl520sm_2d_device); /* fans: CPU, Chassis; temperature: System */
|
||||
@@ -139,8 +137,7 @@ machine_at_s1857_init(const machine_t *model)
|
||||
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
|
||||
device_add(&i440bx_device);
|
||||
device_add(&piix4e_device);
|
||||
device_add(&kbc_ps2_ami_pci_device);
|
||||
device_add(&w83977ef_device);
|
||||
device_add_params(&w83977_device, (void *) (W83977EF | W83977_AMI | W83977_NO_NVR));
|
||||
device_add(&intel_flash_bxt_device);
|
||||
spd_register(SPD_TYPE_SDRAM, 0x7, 256);
|
||||
|
||||
@@ -176,8 +173,7 @@ machine_at_p6bap_init(const machine_t *model)
|
||||
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
|
||||
device_add(&via_apro133a_device); /* Rebranded as ET82C693A */
|
||||
device_add(&via_vt82c596b_device); /* Rebranded as ET82C696B */
|
||||
device_add(&w83977ef_device);
|
||||
device_add(&kbc_ps2_ami_pci_device);
|
||||
device_add_params(&w83977_device, (void *) (W83977EF | W83977_AMI | W83977_NO_NVR));
|
||||
device_add(&sst_flash_39sf020_device);
|
||||
spd_register(SPD_TYPE_SDRAM, 0x7, 256);
|
||||
|
||||
@@ -211,8 +207,7 @@ machine_at_p6bat_init(const machine_t *model)
|
||||
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
|
||||
device_add(&via_apro133_device);
|
||||
device_add(&via_vt82c596b_device);
|
||||
device_add(&w83977ef_device);
|
||||
device_add(&kbc_ps2_ami_pci_device);
|
||||
device_add_params(&w83977_device, (void *) (W83977EF | W83977_AMI | W83977_NO_NVR));
|
||||
device_add(&sst_flash_39sf020_device);
|
||||
spd_register(SPD_TYPE_SDRAM, 0x7, 256);
|
||||
|
||||
@@ -248,8 +243,7 @@ machine_at_cubx_init(const machine_t *model)
|
||||
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
|
||||
device_add(&i440bx_device);
|
||||
device_add(&piix4e_device);
|
||||
device_add(&kbc_ps2_ami_pci_device);
|
||||
device_add(&w83977ef_device);
|
||||
device_add_params(&w83977_device, (void *) (W83977EF | W83977_AMI | W83977_NO_NVR));
|
||||
device_add(&ide_cmd648_ter_qua_onboard_device);
|
||||
device_add(ics9xxx_get(ICS9250_08));
|
||||
device_add(&sst_flash_39sf020_device);
|
||||
@@ -283,8 +277,7 @@ machine_at_atc7020bxii_init(const machine_t *model)
|
||||
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
|
||||
device_add(&i440bx_device);
|
||||
device_add(&slc90e66_device);
|
||||
device_add(&kbc_ps2_pci_device);
|
||||
device_add(&w83977ef_device);
|
||||
device_add_params(&w83977_device, (void *) (W83977EF | W83977_AMI | W83977_NO_NVR));
|
||||
device_add(&sst_flash_39sf020_device);
|
||||
spd_register(SPD_TYPE_SDRAM, 0xF, 256);
|
||||
|
||||
@@ -355,8 +348,7 @@ machine_at_ambx133_init(const machine_t *model)
|
||||
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
|
||||
device_add(&i440bx_device);
|
||||
device_add(&piix4e_device);
|
||||
device_add(&w83977ef_device);
|
||||
device_add(&kbc_ps2_ami_pci_device);
|
||||
device_add_params(&w83977_device, (void *) (W83977EF | W83977_AMI | W83977_NO_NVR));
|
||||
device_add(&sst_flash_39sf020_device);
|
||||
spd_register(SPD_TYPE_SDRAM, 0x7, 256);
|
||||
device_add(&gl518sm_2d_device); /* fans: CPUFAN1, CPUFAN2; temperature: CPU */
|
||||
@@ -391,9 +383,8 @@ machine_at_awo671r_init(const machine_t *model)
|
||||
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
|
||||
device_add(&i440bx_device);
|
||||
device_add(&piix4e_device);
|
||||
device_add_inst(&w83977ef_device, 1);
|
||||
device_add_inst(&w83977ef_device, 2);
|
||||
device_add(&kbc_ps2_pci_device);
|
||||
device_add_inst_params(&w83977_device, 1, (void *) (W83977EF | W83977_AMI | W83977_NO_NVR));
|
||||
device_add_inst_params(&w83977_device, 2, (void *) (W83977EF | W83977_AMI | W83977_NO_NVR));
|
||||
device_add(&sst_flash_39sf020_device);
|
||||
if (gfxcard[0] == VID_INTERNAL)
|
||||
device_add(machine_get_vid_device(machine));
|
||||
@@ -426,8 +417,7 @@ machine_at_63a1_init(const machine_t *model)
|
||||
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
|
||||
device_add(&i440zx_device);
|
||||
device_add(&piix4e_device);
|
||||
device_add(&w83977tf_device);
|
||||
device_add(&kbc_ps2_ami_pci_device);
|
||||
device_add_params(&w83977_device, (void *) (W83977EF | W83977_AMI | W83977_NO_NVR));
|
||||
device_add(&intel_flash_bxt_device);
|
||||
spd_register(SPD_TYPE_SDRAM, 0x3, 256);
|
||||
|
||||
@@ -457,7 +447,7 @@ machine_at_apas3_init(const machine_t *model)
|
||||
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
|
||||
device_add(&via_apro_device);
|
||||
device_add(&via_vt82c586b_device);
|
||||
device_add(&fdc37c669_device);
|
||||
device_add_params(&fdc37c669_device, (void *) 0);
|
||||
device_add(&kbc_ps2_ami_pci_device);
|
||||
device_add(&sst_flash_39sf020_device);
|
||||
spd_register(SPD_TYPE_SDRAM, 0x7, 256);
|
||||
|
||||
@@ -130,7 +130,7 @@ machine_at_premiere_common_init(const machine_t *model, int pci_switch)
|
||||
device_add(&kbc_ps2_phoenix_device);
|
||||
device_add(&sio_zb_device);
|
||||
device_add(&ide_rz1000_pci_single_channel_device);
|
||||
device_add(&fdc37c665_ide_sec_device);
|
||||
device_add_params(&fdc37c6xx_device, (void *) (FDC37C665 | FDC37C6XX_IDE_SEC));
|
||||
device_add(&intel_flash_bxt_ami_device);
|
||||
}
|
||||
|
||||
@@ -153,7 +153,7 @@ machine_at_sp4_common_init(const machine_t *model)
|
||||
device_add(&sis_85c50x_device);
|
||||
device_add(&ide_cmd640_pci_device);
|
||||
device_add(&kbc_ps2_ami_pci_device);
|
||||
device_add(&fdc37c665_device);
|
||||
device_add_params(&fdc37c6xx_device, (void *) FDC37C665);
|
||||
device_add(&intel_flash_bxt_device);
|
||||
}
|
||||
|
||||
@@ -177,7 +177,7 @@ machine_at_excaliburpci_init(const machine_t *model)
|
||||
pci_register_slot(0x0E, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x0D, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x02, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
|
||||
device_add(&fdc37c665_device);
|
||||
device_add_params(&fdc37c6xx_device, (void *) FDC37C665);
|
||||
device_add(&kbc_ps2_ami_pci_device);
|
||||
device_add(&ide_cmd640_pci_legacy_only_device);
|
||||
|
||||
@@ -245,7 +245,7 @@ machine_at_dellxp60_init(const machine_t *model)
|
||||
device_add(&i430lx_device);
|
||||
device_add(&kbc_ps2_phoenix_device);
|
||||
device_add(&sio_zb_device);
|
||||
device_add(&fdc37c665_device);
|
||||
device_add_params(&fdc37c6xx_device, (void *) FDC37C665);
|
||||
device_add(&intel_flash_bxt_ami_device);
|
||||
|
||||
return ret;
|
||||
@@ -276,7 +276,7 @@ machine_at_opti560l_init(const machine_t *model)
|
||||
device_add(&i430lx_device);
|
||||
device_add(&kbc_ps2_phoenix_device);
|
||||
device_add(&sio_zb_device);
|
||||
device_add(&i82091aa_device);
|
||||
device_add_params(&i82091aa_device, (void *) I82091AA_022);
|
||||
device_add(&intel_flash_bxt_ami_device);
|
||||
|
||||
return ret;
|
||||
@@ -308,7 +308,7 @@ machine_at_ambradp60_init(const machine_t *model)
|
||||
pci_register_slot(0x02, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
|
||||
device_add(&kbc_ps2_phoenix_device);
|
||||
device_add(&sio_zb_device);
|
||||
device_add(&fdc37c665_ide_pri_device);
|
||||
device_add_params(&fdc37c6xx_device, (void *) (FDC37C665 | FDC37C6XX_IDE_PRI));
|
||||
device_add(&intel_flash_bxt_ami_device);
|
||||
|
||||
device_add(&i430lx_device);
|
||||
@@ -341,7 +341,7 @@ machine_at_valuepointp60_init(const machine_t *model)
|
||||
pci_register_slot(0x02, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
|
||||
device_add(&kbc_ps2_ps1_pci_device);
|
||||
device_add(&sio_device);
|
||||
device_add(&fdc37c665_ide_device);
|
||||
device_add_params(&fdc37c6xx_device, (void *) (FDC37C665 | FDC37C6XX_IDE_PRI));
|
||||
device_add(&intel_flash_bxt_ami_device);
|
||||
|
||||
device_add(&i430lx_device);
|
||||
@@ -441,7 +441,7 @@ machine_at_pb520r_init(const machine_t *model)
|
||||
|
||||
device_add(&kbc_ps2_pci_device);
|
||||
device_add(&sio_zb_device);
|
||||
device_add(&i82091aa_ide_device);
|
||||
device_add_params(&i82091aa_device, (void *) (I82091AA_022 | I82091AA_IDE_PRI));
|
||||
device_add(&intel_flash_bxt_ami_device);
|
||||
|
||||
return ret;
|
||||
@@ -471,7 +471,7 @@ machine_at_m5pi_init(const machine_t *model)
|
||||
device_add(&sio_zb_device);
|
||||
device_add(&kbc_ps2_phoenix_device);
|
||||
device_add(&ide_w83769f_pci_single_channel_device);
|
||||
device_add(&fdc37c665_ide_sec_device);
|
||||
device_add_params(&fdc37c6xx_device, (void *) (FDC37C665 | FDC37C6XX_IDE_SEC));
|
||||
device_add(&intel_flash_bxt_ami_device);
|
||||
|
||||
return ret;
|
||||
@@ -523,7 +523,7 @@ machine_at_excalibur_init(const machine_t *model)
|
||||
|
||||
device_add(&opti5x7_device);
|
||||
device_add(&ide_opti611_vlb_device);
|
||||
device_add(&fdc37c661_device);
|
||||
device_add_params(&fdc37c6xx_device, (void *) FDC37C661);
|
||||
device_add(&kbc_ps2_intel_ami_pci_device);
|
||||
|
||||
return ret;
|
||||
@@ -583,7 +583,7 @@ machine_at_excaliburpci2_init(const machine_t *model)
|
||||
pci_register_slot(0x0B, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x0C, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x0D, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
device_add(&fdc37c665_device);
|
||||
device_add_params(&fdc37c6xx_device, (void *) FDC37C665);
|
||||
device_add(&kbc_ps2_ami_pci_device);
|
||||
device_add(&ide_cmd640_pci_legacy_only_device);
|
||||
|
||||
|
||||
@@ -109,7 +109,7 @@ machine_at_d842_init(const machine_t *model)
|
||||
device_add(&kbc_ps2_pci_device);
|
||||
device_add(&i430nx_device);
|
||||
device_add(&sio_zb_device);
|
||||
device_add(&fdc37c665_device);
|
||||
device_add_params(&fdc37c6xx_device, (void *) FDC37C665);
|
||||
device_add(&intel_flash_bxt_device);
|
||||
|
||||
return ret;
|
||||
@@ -202,7 +202,7 @@ machine_at_p54np4_init(const machine_t *model)
|
||||
device_add(&i430nx_device);
|
||||
device_add(&sio_zb_device);
|
||||
device_add(&kbc_ps2_ami_pci_device);
|
||||
device_add(&fdc37c665_ide_pri_device);
|
||||
device_add_params(&fdc37c6xx_device, (void *) (FDC37C665 | FDC37C6XX_IDE_PRI));
|
||||
device_add(&intel_flash_bxt_device);
|
||||
|
||||
return ret;
|
||||
@@ -250,7 +250,7 @@ machine_at_tek932_init(const machine_t *model)
|
||||
device_add(&i430nx_device);
|
||||
device_add(&sio_zb_device);
|
||||
device_add(&ide_vlb_device);
|
||||
device_add(&fdc37c665_ide_pri_device);
|
||||
device_add_params(&fdc37c6xx_device, (void *) (FDC37C665 | FDC37C6XX_IDE_PRI));
|
||||
device_add(&intel_flash_bxt_ami_device);
|
||||
|
||||
return ret;
|
||||
@@ -279,7 +279,7 @@ machine_at_acerv30_init(const machine_t *model)
|
||||
device_add(&i430fx_device);
|
||||
device_add(&piix_device);
|
||||
device_add(&kbc_ps2_acer_pci_device);
|
||||
device_add(&fdc37c665_device);
|
||||
device_add_params(&fdc37c6xx_device, (void *) FDC37C665);
|
||||
|
||||
device_add(&sst_flash_29ee010_device);
|
||||
|
||||
@@ -310,7 +310,7 @@ machine_at_apollo_init(const machine_t *model)
|
||||
device_add(&kbc_ps2_ami_pci_device);
|
||||
device_add(&i430fx_device);
|
||||
device_add(&piix_device);
|
||||
device_add(&pc87332_398_device);
|
||||
device_add_params(&pc873xx_device, (void *) (PC87332 | PCX730X_398));
|
||||
device_add(&intel_flash_bxt_device);
|
||||
|
||||
return ret;
|
||||
@@ -346,7 +346,7 @@ machine_at_optiplexgxl_init(const machine_t *model)
|
||||
device_add(&kbc_ps2_phoenix_pci_device);
|
||||
device_add(&i430fx_device);
|
||||
device_add(&piix_device);
|
||||
device_add(&pc87332_device);
|
||||
device_add_params(&pc873xx_device, (void *) (PC87332 | PCX730X_02E));
|
||||
device_add(&dell_jumper_device);
|
||||
device_add(&intel_flash_bxt_device);
|
||||
|
||||
@@ -437,7 +437,7 @@ machine_at_powermatev_init(const machine_t *model)
|
||||
device_add(&kbc_ps2_ami_pci_device);
|
||||
device_add(&i430fx_device);
|
||||
device_add(&piix_device);
|
||||
device_add(&fdc37c665_device);
|
||||
device_add_params(&fdc37c6xx_device, (void *) FDC37C665);
|
||||
device_add(&intel_flash_bxt_device);
|
||||
|
||||
return ret;
|
||||
@@ -466,7 +466,7 @@ machine_at_hawk_init(const machine_t *model)
|
||||
device_add(&kbc_ps2_tg_ami_pci_device);
|
||||
device_add(&i430fx_device);
|
||||
device_add(&piix_device);
|
||||
device_add(&fdc37c665_device);
|
||||
device_add_params(&fdc37c6xx_device, (void *) FDC37C665);
|
||||
device_add(&intel_flash_bxt_device);
|
||||
|
||||
return ret;
|
||||
@@ -497,7 +497,7 @@ machine_at_pt2000_init(const machine_t *model)
|
||||
device_add(&kbc_ps2_holtek_device);
|
||||
device_add(&i430fx_device);
|
||||
device_add(&piix_device);
|
||||
device_add(&pc87332_398_device);
|
||||
device_add_params(&pc873xx_device, (void *) (PC87332 | PCX730X_398));
|
||||
device_add(&intel_flash_bxt_device);
|
||||
|
||||
return ret;
|
||||
@@ -579,7 +579,7 @@ machine_at_ncselp90_init(const machine_t *model)
|
||||
device_add(&sst_flash_29ee010_device);
|
||||
device_add(&kbc_ps2_ami_pci_device);
|
||||
device_add(&ide_opti611_vlb_device);
|
||||
device_add(&fdc37c665_ide_sec_device);
|
||||
device_add_params(&fdc37c6xx_device, (void *) (FDC37C665 | FDC37C6XX_IDE_SEC));
|
||||
device_add(&ide_vlb_2ch_device);
|
||||
|
||||
return ret;
|
||||
@@ -626,7 +626,7 @@ machine_at_sq588_init(const machine_t *model)
|
||||
device_add(&sis_85c50x_device);
|
||||
device_add(&ide_cmd640_pci_single_channel_device);
|
||||
device_add(&kbc_ps2_ami_pci_device);
|
||||
device_add(&fdc37c665_ide_device);
|
||||
device_add_params(&fdc37c6xx_device, (void *) (FDC37C665 | FDC37C6XX_IDE_SEC));
|
||||
device_add(&sst_flash_29ee010_device);
|
||||
|
||||
return ret;
|
||||
@@ -655,7 +655,7 @@ machine_at_p54sps_init(const machine_t *model)
|
||||
device_add(&sis_85c50x_device);
|
||||
device_add(&ide_pci_2ch_device);
|
||||
device_add(&kbc_at_ami_device);
|
||||
device_add(&w83787f_device);
|
||||
device_add_params(&w837x7_device, (void *) (W83787F | W837X7_KEY_89));
|
||||
device_add(&sst_flash_29ee010_device);
|
||||
|
||||
return ret;
|
||||
@@ -686,7 +686,7 @@ machine_at_ms5109_init(const machine_t *model)
|
||||
device_add(&sis_550x_85c503_device);
|
||||
device_add(&ide_w83769f_pci_device);
|
||||
device_add(&kbc_ps2_ami_device);
|
||||
device_add(&w83787f_device);
|
||||
device_add_params(&w837x7_device, (void *) (W83787F | W837X7_KEY_89));
|
||||
device_add(&sst_flash_29ee010_device);
|
||||
|
||||
return ret;
|
||||
@@ -720,7 +720,7 @@ machine_at_torino_init(const machine_t *model)
|
||||
device_add(&sis_550x_85c503_device);
|
||||
device_add(&ide_um8673f_device);
|
||||
device_add(&kbc_ps2_tg_ami_device);
|
||||
device_add(&fdc37c665_device);
|
||||
device_add_params(&fdc37c6xx_device, (void *) FDC37C665);
|
||||
device_add(&intel_flash_bxt_ami_device);
|
||||
|
||||
return ret;
|
||||
@@ -752,7 +752,7 @@ machine_at_hot539_init(const machine_t *model)
|
||||
device_add(&umc_8886af_device);
|
||||
device_add(&sst_flash_29ee010_device);
|
||||
device_add(&kbc_ps2_ami_pci_device);
|
||||
device_add(&um8663af_device);
|
||||
device_add_params(&um866x_device, (void *) UM8663AF);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -112,7 +112,7 @@ machine_at_ap5vm_init(const machine_t *model)
|
||||
device_add(&i430vx_device);
|
||||
device_add(&piix3_device);
|
||||
device_add(&kbc_ps2_ami_pci_device);
|
||||
device_add(&fdc37c665_device);
|
||||
device_add_params(&fdc37c6xx_device, (void *) FDC37C665);
|
||||
device_add(&ncr53c810_onboard_pci_device);
|
||||
device_add(&intel_flash_bxt_device);
|
||||
|
||||
@@ -142,7 +142,7 @@ machine_at_p55t2p4_init(const machine_t *model)
|
||||
device_add(&i430hx_device);
|
||||
device_add(&piix3_device);
|
||||
device_add(&kbc_ps2_pci_device);
|
||||
device_add(&w83877f_device);
|
||||
device_add_params(&w83877_device, (void *) (W83877F | W83877_3F0));
|
||||
device_add(&intel_flash_bxt_device);
|
||||
|
||||
return ret;
|
||||
@@ -384,6 +384,34 @@ machine_at_equium5200_init(const machine_t *model)
|
||||
return ret;
|
||||
}
|
||||
|
||||
int
|
||||
machine_at_p55t2s_init(const machine_t *model)
|
||||
{
|
||||
int ret;
|
||||
|
||||
ret = bios_load_linear("roms/machines/p55t2s/s6y08t.rom",
|
||||
0x000e0000, 131072, 0);
|
||||
|
||||
if (bios_only || !ret)
|
||||
return ret;
|
||||
|
||||
machine_at_common_init_ex(model, 2);
|
||||
|
||||
pci_init(PCI_CONFIG_TYPE_1);
|
||||
pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
|
||||
pci_register_slot(0x12, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x13, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
pci_register_slot(0x14, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x11, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
|
||||
device_add(&i430hx_device);
|
||||
device_add(&piix3_device);
|
||||
device_add_params(&pc87306_device, (void *) PCX730X_AMI);
|
||||
device_add(&intel_flash_bxt_device);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
int
|
||||
machine_at_pcv90_init(const machine_t *model)
|
||||
{
|
||||
@@ -458,7 +486,7 @@ machine_at_epc2102_init(const machine_t *model)
|
||||
device_add(&i430hx_device);
|
||||
device_add(&piix3_device);
|
||||
device_add(&kbc_ps2_intel_ami_pci_device);
|
||||
device_add(&i82091aa_device);
|
||||
device_add_params(&i82091aa_device, (void *) I82091AA_022);
|
||||
device_add(&sst_flash_39sf010_device);
|
||||
|
||||
return ret;
|
||||
@@ -487,7 +515,7 @@ machine_at_p55tvp4_init(const machine_t *model)
|
||||
device_add(&i430vx_device);
|
||||
device_add(&piix3_device);
|
||||
device_add(&kbc_ps2_ami_pci_device); // It uses the AMIKEY KBC
|
||||
device_add(&w83877f_device);
|
||||
device_add_params(&w83877_device, (void *) (W83877F | W83877_3F0));
|
||||
device_add(&intel_flash_bxt_device);
|
||||
|
||||
return ret;
|
||||
@@ -514,8 +542,8 @@ machine_at_5ivg_init(const machine_t *model)
|
||||
pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
|
||||
device_add(&i430vx_device);
|
||||
device_add(&piix3_device);
|
||||
device_add(&kbc_ps2_pci_device);
|
||||
device_add(&prime3c_device);
|
||||
device_add(&kbc_ps2_ami_pci_device);
|
||||
device_add_params(&gm82c803c_device, (void *) 0);
|
||||
device_add(&intel_flash_bxt_device);
|
||||
|
||||
return ret;
|
||||
@@ -544,7 +572,7 @@ machine_at_8500tvxa_init(const machine_t *model)
|
||||
device_add(&i430vx_device);
|
||||
device_add(&piix3_device);
|
||||
device_add(&kbc_ps2_ami_pci_device);
|
||||
device_add(&um8669f_device);
|
||||
device_add_params(&um8669f_device, (void *) 0);
|
||||
device_add(&sst_flash_29ee010_device);
|
||||
|
||||
return ret;
|
||||
@@ -643,6 +671,35 @@ machine_at_dellhannibalp_init(const machine_t *model)
|
||||
return ret;
|
||||
}
|
||||
|
||||
int
|
||||
machine_at_p5vxb_init(const machine_t *model)
|
||||
{
|
||||
int ret;
|
||||
|
||||
ret = bios_load_linear("roms/machines/p5vxb/P5VXB10.BIN",
|
||||
0x000e0000, 131072, 0);
|
||||
|
||||
if (bios_only || !ret)
|
||||
return ret;
|
||||
|
||||
machine_at_common_init(model);
|
||||
|
||||
pci_init(PCI_CONFIG_TYPE_1);
|
||||
pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
|
||||
pci_register_slot(0x05, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x06, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x08, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x09, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 4);
|
||||
device_add(&i430vx_device);
|
||||
device_add(&piix3_device);
|
||||
device_add(&kbc_ps2_ami_pci_device);
|
||||
device_add_params(&w83877_device, (void *) (W83877F | W83877_3F0));
|
||||
device_add(&sst_flash_29ee010_device);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
int
|
||||
machine_at_p55va_init(const machine_t *model)
|
||||
{
|
||||
@@ -790,7 +847,7 @@ machine_at_mb520n_init(const machine_t *model)
|
||||
device_add(&i430vx_device);
|
||||
device_add(&piix3_device);
|
||||
device_add(&kbc_ps2_ami_pci_device);
|
||||
device_add(&fdc37c669_device);
|
||||
device_add_params(&fdc37c669_device, (void *) 0);
|
||||
device_add(&intel_flash_bxt_device);
|
||||
|
||||
return ret;
|
||||
@@ -819,7 +876,7 @@ machine_at_i430vx_init(const machine_t *model)
|
||||
device_add(&i430vx_device);
|
||||
device_add(&piix3_device);
|
||||
device_add(&kbc_ps2_pci_device);
|
||||
device_add(&um8669f_device);
|
||||
device_add_params(&um8669f_device, (void *) 0);
|
||||
device_add(&intel_flash_bxt_device);
|
||||
|
||||
return ret;
|
||||
@@ -920,8 +977,7 @@ machine_at_nupro592_init(const machine_t *model)
|
||||
|
||||
device_add(&i430tx_device);
|
||||
device_add(&piix4_device);
|
||||
device_add(&kbc_ps2_ami_pci_device);
|
||||
device_add(&w83977ef_device);
|
||||
device_add_params(&w83977_device, (void *) (W83977EF | W83977_AMI | W83977_NO_NVR));
|
||||
device_add(&intel_flash_bxt_device);
|
||||
spd_register(SPD_TYPE_SDRAM, 0x3, 128);
|
||||
device_add(&w83781d_device); /* fans: CPU1, unused, unused; temperatures: System, CPU1, unused */
|
||||
@@ -958,7 +1014,7 @@ machine_at_tx97_init(const machine_t *model)
|
||||
device_add(&i430tx_device);
|
||||
device_add(&piix4_device);
|
||||
device_add(&kbc_ps2_ami_pci_device);
|
||||
device_add(&w83877tf_acorp_device);
|
||||
device_add_params(&w83877_device, (void *) (W83877TF | W83877_3F0));
|
||||
device_add(&intel_flash_bxt_device);
|
||||
spd_register(SPD_TYPE_SDRAM, 0x3, 128);
|
||||
device_add(&w83781d_device); /* fans: Chassis, CPU, Power; temperatures: MB, unused, CPU */
|
||||
@@ -1073,8 +1129,7 @@ machine_at_ym430tx_init(const machine_t *model)
|
||||
pci_register_slot(0x08, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
device_add(&i430tx_device);
|
||||
device_add(&piix4_device);
|
||||
device_add(&kbc_ps2_pci_device);
|
||||
device_add(&w83977tf_device);
|
||||
device_add_params(&w83977_device, (void *) (W83977TF | W83977_AMI | W83977_NO_NVR));
|
||||
device_add(&intel_flash_bxt_device);
|
||||
spd_register(SPD_TYPE_SDRAM, 0x3, 128);
|
||||
|
||||
@@ -1104,7 +1159,7 @@ machine_at_mb540n_init(const machine_t *model)
|
||||
device_add(&i430tx_device);
|
||||
device_add(&piix4_device);
|
||||
device_add(&kbc_ps2_pci_device);
|
||||
device_add(&um8669f_device);
|
||||
device_add_params(&um8669f_device, (void *) 0);
|
||||
device_add(&sst_flash_29ee010_device);
|
||||
spd_register(SPD_TYPE_SDRAM, 0x3, 128);
|
||||
|
||||
@@ -1135,7 +1190,7 @@ machine_at_56a5_init(const machine_t *model)
|
||||
device_add(&i430tx_device);
|
||||
device_add(&piix4_device);
|
||||
device_add(&kbc_ps2_pci_device);
|
||||
device_add(&w83877f_device);
|
||||
device_add_params(&w83877_device, (void *) (W83877F | W83877_3F0));
|
||||
device_add(&sst_flash_29ee010_device);
|
||||
spd_register(SPD_TYPE_SDRAM, 0x3, 128);
|
||||
|
||||
@@ -1164,8 +1219,8 @@ machine_at_p5mms98_init(const machine_t *model)
|
||||
pci_register_slot(0x14, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
device_add(&i430tx_device);
|
||||
device_add(&piix4_device);
|
||||
device_add(&kbc_ps2_ami_pci_device);
|
||||
device_add(&w83977tf_device);
|
||||
/* This actually has the Winbond W83967AF, for which I can not find any datasheet at all. */
|
||||
device_add_params(&w83977_device, (void *) (W83977F | W83977_AMI | W83977_NO_NVR));
|
||||
device_add(&intel_flash_bxt_device);
|
||||
spd_register(SPD_TYPE_SDRAM, 0x3, 128);
|
||||
device_add(&lm78_device); /* fans: Thermal, CPU, Chassis; temperature: unused */
|
||||
@@ -1270,7 +1325,7 @@ machine_at_ficva502_init(const machine_t *model)
|
||||
device_add(&via_vpx_device);
|
||||
device_add(&via_vt82c586b_device);
|
||||
device_add(&kbc_ps2_pci_device);
|
||||
device_add(&fdc37c669_370_device);
|
||||
device_add_params(&fdc37c669_device, (void *) FDC37C6XX_370);
|
||||
device_add(&sst_flash_29ee010_device);
|
||||
spd_register(SPD_TYPE_SDRAM, 0x3, 256);
|
||||
|
||||
@@ -1302,7 +1357,7 @@ machine_at_ficpa2012_init(const machine_t *model)
|
||||
device_add(&via_vp3_device);
|
||||
device_add(&via_vt82c586b_device);
|
||||
device_add(&kbc_ps2_pci_device);
|
||||
device_add(&w83877f_device);
|
||||
device_add_params(&w83877_device, (void *) (W83877F | W83877_3F0));
|
||||
device_add(&sst_flash_29ee010_device);
|
||||
spd_register(SPD_TYPE_SDRAM, 0x7, 512);
|
||||
|
||||
@@ -1334,7 +1389,7 @@ machine_at_via809ds_init(const machine_t *model)
|
||||
device_add(&via_vp3_device);
|
||||
device_add(&via_vt82c586b_device);
|
||||
device_add(&kbc_ps2_ami_pci_device);
|
||||
device_add(&fdc37c669_device);
|
||||
device_add_params(&fdc37c669_device, (void *) 0);
|
||||
device_add(&intel_flash_bxt_device);
|
||||
spd_register(SPD_TYPE_SDRAM, 0x7, 512);
|
||||
|
||||
@@ -1364,7 +1419,7 @@ machine_at_r534f_init(const machine_t *model)
|
||||
|
||||
device_add(&sis_5571_device);
|
||||
device_add(&kbc_ps2_ami_pci_device);
|
||||
device_add(&w83877f_device);
|
||||
device_add_params(&w83877_device, (void *) (W83877F | W83877_3F0));
|
||||
device_add(&sst_flash_29ee010_device);
|
||||
|
||||
return ret;
|
||||
@@ -1393,7 +1448,7 @@ machine_at_ms5146_init(const machine_t *model)
|
||||
|
||||
device_add(&sis_5571_device);
|
||||
device_add(&kbc_ps2_ami_pci_device);
|
||||
device_add(&w83877f_device);
|
||||
device_add_params(&w83877_device, (void *) (W83877F | W83877_3F0));
|
||||
device_add(&sst_flash_29ee010_device);
|
||||
|
||||
return ret;
|
||||
@@ -1422,7 +1477,7 @@ machine_at_cb52xsi_init(const machine_t *model)
|
||||
|
||||
device_add(&sis_5571_device);
|
||||
device_add(&kbc_ps2_ami_pci_device);
|
||||
device_add(&fdc37c669_370_device);
|
||||
device_add_params(&fdc37c669_device, (void *) FDC37C6XX_370);
|
||||
device_add(&sst_flash_29ee010_device);
|
||||
|
||||
return ret;
|
||||
@@ -1451,7 +1506,7 @@ machine_at_sp97xv_init(const machine_t *model)
|
||||
pci_register_slot(0x13, PCI_CARD_VIDEO, 1, 2, 3, 4); /* On-chip SiS graphics, absent here. */
|
||||
device_add(&sis_5581_device);
|
||||
device_add(&kbc_ps2_ami_pci_device);
|
||||
device_add(&w83877f_device);
|
||||
device_add_params(&w83877_device, (void *) (W83877F | W83877_3F0));
|
||||
device_add(&sst_flash_29ee010_device);
|
||||
|
||||
return ret;
|
||||
@@ -1478,7 +1533,7 @@ machine_at_sq578_init(const machine_t *model)
|
||||
pci_register_slot(0x09, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
device_add(&sis_5581_device);
|
||||
device_add(&kbc_ps2_ami_pci_device);
|
||||
device_add(&w83877tf_device);
|
||||
device_add_params(&w83877_device, (void *) (W83877TF | W83877_3F0));
|
||||
device_add(&sst_flash_29ee010_device);
|
||||
|
||||
return ret;
|
||||
@@ -1506,7 +1561,7 @@ machine_at_ms5172_init(const machine_t *model)
|
||||
pci_register_slot(0x0B, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
device_add(&sis_5591_1997_device);
|
||||
device_add(&kbc_ps2_ami_pci_device);
|
||||
device_add(&w83877tf_device);
|
||||
device_add_params(&w83877_device, (void *) (W83877TF | W83877_3F0));
|
||||
device_add(&sst_flash_29ee010_device);
|
||||
|
||||
return ret;
|
||||
|
||||
@@ -127,7 +127,7 @@ machine_at_p54tp4xe_common_init(const machine_t *model)
|
||||
device_add(&kbc_ps2_ami_pci_device);
|
||||
device_add(&i430fx_device);
|
||||
device_add(&piix_device);
|
||||
device_add(&fdc37c665_device);
|
||||
device_add_params(&fdc37c6xx_device, (void *) FDC37C665);
|
||||
device_add(&intel_flash_bxt_device);
|
||||
}
|
||||
|
||||
@@ -186,7 +186,7 @@ machine_at_exp8551_init(const machine_t *model)
|
||||
device_add(&kbc_ps2_ami_pci_device);
|
||||
device_add(&i430fx_device);
|
||||
device_add(&piix_device);
|
||||
device_add(&w83787f_device);
|
||||
device_add_params(&w837x7_device, (void *) (W83787F | W837X7_KEY_89));
|
||||
device_add(&sst_flash_29ee010_device);
|
||||
|
||||
return ret;
|
||||
@@ -389,7 +389,7 @@ machine_at_ms5119_init(const machine_t *model)
|
||||
device_add(&i430fx_device);
|
||||
device_add(&piix_device);
|
||||
device_add(&kbc_ps2_ami_pci_device);
|
||||
device_add(&w83787f_device);
|
||||
device_add_params(&w837x7_device, (void *) (W83787F | W837X7_KEY_89));
|
||||
device_add(&sst_flash_29ee010_device);
|
||||
|
||||
return ret;
|
||||
@@ -484,7 +484,7 @@ machine_at_mb500n_init(const machine_t *model)
|
||||
device_add(&kbc_ps2_pci_device);
|
||||
device_add(&i430fx_device);
|
||||
device_add(&piix_no_mirq_device);
|
||||
device_add(&fdc37c665_device);
|
||||
device_add_params(&fdc37c6xx_device, (void *) FDC37C665);
|
||||
device_add(&intel_flash_bxt_device);
|
||||
|
||||
return ret;
|
||||
@@ -514,7 +514,7 @@ machine_at_fmb_init(const machine_t *model)
|
||||
device_add(&i430fx_device);
|
||||
device_add(&piix_no_mirq_device);
|
||||
device_add(&kbc_at_ami_device);
|
||||
device_add(&w83787f_device);
|
||||
device_add_params(&w837x7_device, (void *) (W83787F | W837X7_KEY_89));
|
||||
device_add(&intel_flash_bxt_device);
|
||||
|
||||
return ret;
|
||||
@@ -574,7 +574,7 @@ machine_at_ap53_init(const machine_t *model)
|
||||
device_add(&i430hx_device);
|
||||
device_add(&piix3_device);
|
||||
device_add(&kbc_ps2_ami_pci_device);
|
||||
device_add(&fdc37c669_device);
|
||||
device_add_params(&fdc37c669_device, (void *) 0);
|
||||
device_add(&intel_flash_bxt_device);
|
||||
|
||||
return ret;
|
||||
@@ -603,54 +603,12 @@ machine_at_8500tuc_init(const machine_t *model)
|
||||
device_add(&i430hx_device);
|
||||
device_add(&piix3_device);
|
||||
device_add(&kbc_ps2_ami_pci_device);
|
||||
device_add(&um8669f_device);
|
||||
device_add_params(&um8669f_device, (void *) 0);
|
||||
device_add(&intel_flash_bxt_device);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
int
|
||||
machine_at_d943_init(const machine_t *model)
|
||||
|
||||
{
|
||||
int ret = 0;
|
||||
const char* fn;
|
||||
|
||||
/* 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();
|
||||
|
||||
machine_at_common_init_ex(model, 2);
|
||||
device_add(&amstrad_megapc_nvr_device);
|
||||
|
||||
pci_init(PCI_CONFIG_TYPE_1);
|
||||
pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
|
||||
pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
|
||||
pci_register_slot(0x08, PCI_CARD_VIDEO, 4, 0, 0, 0);
|
||||
pci_register_slot(0x11, PCI_CARD_NORMAL, 3, 2, 4, 1);
|
||||
pci_register_slot(0x12, PCI_CARD_NORMAL, 2, 1, 3, 4);
|
||||
pci_register_slot(0x13, PCI_CARD_NORMAL, 1, 3, 2, 4);
|
||||
device_add(&i430hx_device);
|
||||
device_add(&piix3_device);
|
||||
device_add(&kbc_ps2_pci_device);
|
||||
device_add(&fdc37c665_device);
|
||||
device_add(&intel_flash_bxt_device);
|
||||
spd_register(SPD_TYPE_EDO, 0x7, 256);
|
||||
|
||||
if (gfxcard[0] == VID_INTERNAL)
|
||||
device_add(machine_get_vid_device(machine));
|
||||
|
||||
if (sound_card_current[0] == SOUND_INTERNAL)
|
||||
machine_snd = device_add(machine_get_snd_device(machine));
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static const device_config_t d943_config[] = {
|
||||
// clang-format off
|
||||
{
|
||||
@@ -677,8 +635,6 @@ static const device_config_t d943_config[] = {
|
||||
// clang-format on
|
||||
};
|
||||
|
||||
|
||||
|
||||
const device_t d943_device = {
|
||||
.name = "Siemens-Nixdorf D943",
|
||||
.internal_name = "d943_device",
|
||||
@@ -694,58 +650,43 @@ const device_t d943_device = {
|
||||
};
|
||||
|
||||
int
|
||||
machine_at_p55t2s_init(const machine_t *model)
|
||||
machine_at_d943_init(const machine_t *model)
|
||||
|
||||
{
|
||||
int ret;
|
||||
int ret = 0;
|
||||
const char* fn;
|
||||
|
||||
ret = bios_load_linear("roms/machines/p55t2s/s6y08t.rom",
|
||||
0x000e0000, 131072, 0);
|
||||
|
||||
if (bios_only || !ret)
|
||||
/* 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();
|
||||
|
||||
machine_at_common_init_ex(model, 2);
|
||||
device_add(&amstrad_megapc_nvr_device);
|
||||
|
||||
pci_init(PCI_CONFIG_TYPE_1);
|
||||
pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
|
||||
pci_register_slot(0x12, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x13, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
pci_register_slot(0x14, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x11, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
|
||||
pci_register_slot(0x08, PCI_CARD_VIDEO, 4, 0, 0, 0);
|
||||
pci_register_slot(0x11, PCI_CARD_NORMAL, 3, 2, 4, 1);
|
||||
pci_register_slot(0x12, PCI_CARD_NORMAL, 2, 1, 3, 4);
|
||||
pci_register_slot(0x13, PCI_CARD_NORMAL, 1, 3, 2, 4);
|
||||
device_add(&i430hx_device);
|
||||
device_add(&piix3_device);
|
||||
device_add_params(&pc87306_device, (void *) PCX730X_AMI);
|
||||
device_add(&kbc_ps2_pci_device);
|
||||
device_add_params(&fdc37c6xx_device, (void *) FDC37C665);
|
||||
device_add(&intel_flash_bxt_device);
|
||||
spd_register(SPD_TYPE_EDO, 0x7, 256);
|
||||
|
||||
return ret;
|
||||
}
|
||||
if (gfxcard[0] == VID_INTERNAL)
|
||||
device_add(machine_get_vid_device(machine));
|
||||
|
||||
int
|
||||
machine_at_p5vxb_init(const machine_t *model)
|
||||
{
|
||||
int ret;
|
||||
|
||||
ret = bios_load_linear("roms/machines/p5vxb/P5VXB10.BIN",
|
||||
0x000e0000, 131072, 0);
|
||||
|
||||
if (bios_only || !ret)
|
||||
return ret;
|
||||
|
||||
machine_at_common_init(model);
|
||||
|
||||
pci_init(PCI_CONFIG_TYPE_1);
|
||||
pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
|
||||
pci_register_slot(0x05, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x06, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x08, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x09, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 4);
|
||||
device_add(&i430vx_device);
|
||||
device_add(&piix3_device);
|
||||
device_add(&kbc_ps2_ami_pci_device);
|
||||
device_add(&w83877f_device);
|
||||
device_add(&sst_flash_29ee010_device);
|
||||
if (sound_card_current[0] == SOUND_INTERNAL)
|
||||
machine_snd = device_add(machine_get_snd_device(machine));
|
||||
|
||||
return ret;
|
||||
}
|
||||
@@ -851,7 +792,7 @@ machine_at_ap5s_init(const machine_t *model)
|
||||
|
||||
device_add(&sis_5511_device);
|
||||
device_add(&kbc_ps2_ami_device);
|
||||
device_add(&fdc37c665_device);
|
||||
device_add_params(&fdc37c6xx_device, (void *) FDC37C665);
|
||||
device_add(&sst_flash_29ee010_device);
|
||||
|
||||
return ret;
|
||||
@@ -880,7 +821,7 @@ machine_at_ms5124_init(const machine_t *model)
|
||||
|
||||
device_add(&sis_5511_device);
|
||||
device_add(&kbc_ps2_ami_device);
|
||||
device_add(&w83787f_88h_device);
|
||||
device_add_params(&w837x7_device, (void *) (W83787F | W837X7_KEY_88));
|
||||
device_add(&sst_flash_29ee010_device);
|
||||
|
||||
return ret;
|
||||
@@ -909,7 +850,7 @@ machine_at_amis727_init(const machine_t *model)
|
||||
|
||||
device_add(&sis_5511_device);
|
||||
device_add(&kbc_ps2_intel_ami_pci_device);
|
||||
device_add(&fdc37c665_device);
|
||||
device_add_params(&fdc37c6xx_device, (void *) FDC37C665);
|
||||
device_add(&intel_flash_bxt_device);
|
||||
|
||||
return ret;
|
||||
@@ -1014,7 +955,7 @@ machine_at_5sbm2_init(const machine_t *model)
|
||||
|
||||
device_add(&kbc_at_ami_device);
|
||||
device_add(&sis_550x_device);
|
||||
device_add(&um8663af_device);
|
||||
device_add_params(&um866x_device, (void *) UM8663AF);
|
||||
device_add(&sst_flash_29ee010_device);
|
||||
|
||||
return ret;
|
||||
@@ -1045,7 +986,7 @@ machine_at_pc140_6260_init(const machine_t *model)
|
||||
|
||||
device_add(&sis_5511_device);
|
||||
device_add(&kbc_ps2_ami_pci_device);
|
||||
device_add(&fdc37c669_device);
|
||||
device_add_params(&fdc37c669_device, (void *) 0);
|
||||
device_add(&sst_flash_29ee010_device);
|
||||
|
||||
return ret;
|
||||
|
||||
@@ -66,7 +66,7 @@ machine_at_ap61_init(const machine_t *model)
|
||||
device_add(&sio_zb_device);
|
||||
device_add(&ide_cmd646_device);
|
||||
device_add(&kbc_ps2_acer_pci_device);
|
||||
device_add(&fdc37c665_device);
|
||||
device_add_params(&fdc37c6xx_device, (void *) FDC37C665);
|
||||
device_add(&sst_flash_29ee010_device);
|
||||
// device_add(&intel_flash_bxt_device);
|
||||
|
||||
@@ -101,7 +101,7 @@ machine_at_p6rp4_init(const machine_t *model)
|
||||
device_add(&ide_cmd646_device);
|
||||
/* Input port bit 2 must be 1 or CMOS Setup is disabled. */
|
||||
device_add(&kbc_ps2_ami_pci_device);
|
||||
device_add(&fdc37c665_device);
|
||||
device_add_params(&fdc37c6xx_device, (void *) FDC37C665);
|
||||
device_add(&intel_flash_bxt_device);
|
||||
|
||||
return ret;
|
||||
@@ -130,7 +130,7 @@ machine_at_686nx_init(const machine_t *model)
|
||||
device_add(&i440fx_device);
|
||||
device_add(&piix3_device);
|
||||
device_add(&kbc_ps2_ami_pci_device); // Uses the AMIKEY keyboard controller
|
||||
device_add(&um8669f_device);
|
||||
device_add_params(&um8669f_device, (void *) 0);
|
||||
device_add(&intel_flash_bxt_device);
|
||||
|
||||
return ret;
|
||||
@@ -159,7 +159,7 @@ machine_at_mb600n_init(const machine_t *model)
|
||||
device_add(&i440fx_device);
|
||||
device_add(&piix3_device);
|
||||
device_add(&kbc_ps2_ami_pci_device);
|
||||
device_add(&fdc37c669_device);
|
||||
device_add_params(&fdc37c669_device, (void *) 0);
|
||||
device_add(&intel_flash_bxt_device);
|
||||
|
||||
return ret;
|
||||
@@ -218,7 +218,7 @@ machine_at_lgibmx61_init(const machine_t *model)
|
||||
device_add(&i440fx_device);
|
||||
device_add(&piix3_device);
|
||||
device_add(&kbc_ps2_ami_device);
|
||||
device_add(&w83877f_president_device);
|
||||
device_add_params(&w83877_device, (void *) (W83877F | W83877_250));
|
||||
device_add(&sst_flash_29ee010_device);
|
||||
|
||||
return ret;
|
||||
@@ -393,7 +393,7 @@ machine_at_8600ttc_init(const machine_t *model)
|
||||
device_add(&i440fx_device);
|
||||
device_add(&piix3_device);
|
||||
device_add(&kbc_ps2_ami_pci_device);
|
||||
device_add(&fdc37c669_device);
|
||||
device_add_params(&fdc37c669_device, (void *) 0);
|
||||
device_add(&intel_flash_bxt_device);
|
||||
|
||||
return ret;
|
||||
@@ -443,7 +443,7 @@ machine_at_p65up5_common_init(const machine_t *model, const device_t *northbridg
|
||||
device_add(northbridge);
|
||||
device_add(&piix3_ioapic_device);
|
||||
device_add(&kbc_ps2_ami_pci_device);
|
||||
device_add(&w83877f_device);
|
||||
device_add_params(&w83877_device, (void *) (W83877F | W83877_3F0));
|
||||
device_add(&sst_flash_29ee010_device);
|
||||
device_add(&ioapic_device);
|
||||
}
|
||||
|
||||
@@ -232,7 +232,7 @@ machine_at_ax59pro_init(const machine_t *model)
|
||||
device_add(&via_mvp3_device);
|
||||
device_add(&via_vt82c586b_device);
|
||||
device_add(&kbc_ps2_pci_device);
|
||||
device_add(&w83877tf_device);
|
||||
device_add_params(&w83877_device, (void *) (W83877TF | W83877_250));
|
||||
device_add(&sst_flash_39sf020_device);
|
||||
spd_register(SPD_TYPE_SDRAM, 0x7, 256);
|
||||
|
||||
@@ -263,7 +263,7 @@ machine_at_mvp3_init(const machine_t *model)
|
||||
device_add(&via_mvp3_device);
|
||||
device_add(&via_vt82c586b_device);
|
||||
device_add(&kbc_ps2_pci_device);
|
||||
device_add(&w83877tf_acorp_device);
|
||||
device_add_params(&w83877_device, (void *) (W83877TF | W83877_3F0));
|
||||
device_add(&sst_flash_39sf010_device);
|
||||
spd_register(SPD_TYPE_SDRAM, 0x3, 256);
|
||||
|
||||
@@ -365,7 +365,7 @@ machine_at_delhi3_init(const machine_t *model)
|
||||
device_add(&via_mvp3_device);
|
||||
device_add(&via_vt82c596a_device);
|
||||
device_add(&kbc_ps2_ami_pci_device);
|
||||
device_add(&w83877tf_device);
|
||||
device_add_params(&w83877_device, (void *) (W83877TF | W83877_250));
|
||||
device_add(&sst_flash_39sf020_device);
|
||||
spd_register(SPD_TYPE_SDRAM, 0x3, 256);
|
||||
|
||||
@@ -398,7 +398,7 @@ machine_at_5sg100_init(const machine_t *model)
|
||||
pci_register_slot(0x02, PCI_CARD_AGPBRIDGE, 0, 0, 0, 0);
|
||||
device_add(&sis_5591_1997_device);
|
||||
device_add(&kbc_ps2_ami_pci_device);
|
||||
device_add(&w83877tf_device);
|
||||
device_add_params(&w83877_device, (void *) (W83877TF | W83877_3F0));
|
||||
device_add(&sst_flash_29ee010_device);
|
||||
|
||||
return ret;
|
||||
|
||||
@@ -168,6 +168,7 @@ ps2_isa_setup(int model, int cpu_type)
|
||||
ps2->uart = device_add_inst(&ns16450_device, 1);
|
||||
|
||||
ps2->lpt = device_add_inst(&lpt_port_device, 1);
|
||||
lpt_set_ext(ps2->lpt, 1);
|
||||
|
||||
lpt_port_remove(ps2->lpt);
|
||||
lpt_port_setup(ps2->lpt, LPT_MDA_ADDR);
|
||||
|
||||
@@ -1601,7 +1601,9 @@ machine_ps2_common_init(const machine_t *model)
|
||||
nmi_mask = 0x80;
|
||||
|
||||
ps2.uart = device_add_inst(&ns16550_device, 1);
|
||||
|
||||
ps2.lpt = device_add_inst(&lpt_port_device, 1);
|
||||
lpt_set_ext(ps2.lpt, 1);
|
||||
|
||||
ps2.has_e0000_hole = 0;
|
||||
}
|
||||
|
||||
@@ -81,6 +81,7 @@ const machine_filter_t machine_types[] = {
|
||||
{ "[1978] 8086", MACHINE_TYPE_8086 },
|
||||
{ "[1982] 80286", MACHINE_TYPE_286 },
|
||||
{ "[1988] i386SX", MACHINE_TYPE_386SX },
|
||||
{ "[1988] ALi M6117", MACHINE_TYPE_M6117 },
|
||||
{ "[1992] 486SLC", MACHINE_TYPE_486SLC },
|
||||
{ "[1985] i386DX", MACHINE_TYPE_386DX },
|
||||
{ "[1989] i386DX/i486", MACHINE_TYPE_386DX_486 },
|
||||
@@ -4158,6 +4159,47 @@ const machine_t machines[] = {
|
||||
.snd_device = NULL,
|
||||
.net_device = NULL
|
||||
},
|
||||
/* Has IBM AT KBC firmware. */
|
||||
{
|
||||
.name = "[SCAT] Samsung Deskmaster 286",
|
||||
.internal_name = "deskmaster286",
|
||||
.type = MACHINE_TYPE_286,
|
||||
.chipset = MACHINE_CHIPSET_SCAT,
|
||||
.init = machine_at_deskmaster286_init,
|
||||
.p1_handler = NULL,
|
||||
.gpio_handler = NULL,
|
||||
.available_flag = MACHINE_AVAILABLE,
|
||||
.gpio_acpi_handler = NULL,
|
||||
.cpu = {
|
||||
.package = CPU_PKG_286,
|
||||
.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_PS2,
|
||||
.flags = MACHINE_IDE, /* Has internal video: C&T VGA 411 */
|
||||
.ram = {
|
||||
.min = 512,
|
||||
.max = 8192,
|
||||
.step = 128
|
||||
},
|
||||
.nvrmask = 127,
|
||||
.kbc_device = NULL,
|
||||
.kbc_p1 = 0xff,
|
||||
.gpio = 0xffffffff,
|
||||
.gpio_acpi = 0xffffffff,
|
||||
.device = NULL,
|
||||
.kbd_device = NULL,
|
||||
.fdc_device = NULL,
|
||||
.sio_device = NULL,
|
||||
.vid_device = NULL,
|
||||
.snd_device = NULL,
|
||||
.net_device = NULL
|
||||
},
|
||||
/* Has IBM PS/2 Type 1 KBC firmware. */
|
||||
{
|
||||
.name = "[SCAT] Samsung SPC-4200P",
|
||||
@@ -4281,47 +4323,6 @@ const machine_t machines[] = {
|
||||
.snd_device = NULL,
|
||||
.net_device = NULL
|
||||
},
|
||||
/* Has IBM AT KBC firmware. */
|
||||
{
|
||||
.name = "[SCAT] Samsung Deskmaster 286",
|
||||
.internal_name = "deskmaster286",
|
||||
.type = MACHINE_TYPE_286,
|
||||
.chipset = MACHINE_CHIPSET_SCAT,
|
||||
.init = machine_at_deskmaster286_init,
|
||||
.p1_handler = NULL,
|
||||
.gpio_handler = NULL,
|
||||
.available_flag = MACHINE_AVAILABLE,
|
||||
.gpio_acpi_handler = NULL,
|
||||
.cpu = {
|
||||
.package = CPU_PKG_286,
|
||||
.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_PS2,
|
||||
.flags = MACHINE_IDE, /* Has internal video: C&T VGA 411 */
|
||||
.ram = {
|
||||
.min = 512,
|
||||
.max = 8192,
|
||||
.step = 128
|
||||
},
|
||||
.nvrmask = 127,
|
||||
.kbc_device = NULL,
|
||||
.kbc_p1 = 0xff,
|
||||
.gpio = 0xffffffff,
|
||||
.gpio_acpi = 0xffffffff,
|
||||
.device = NULL,
|
||||
.kbd_device = NULL,
|
||||
.fdc_device = NULL,
|
||||
.sio_device = NULL,
|
||||
.vid_device = NULL,
|
||||
.snd_device = NULL,
|
||||
.net_device = NULL
|
||||
},
|
||||
{
|
||||
.name = "[SCAT] Senor Science Co. SCAT-286-003",
|
||||
.internal_name = "senorscat286",
|
||||
@@ -4817,7 +4818,7 @@ const machine_t machines[] = {
|
||||
.snd_device = NULL,
|
||||
.net_device = NULL
|
||||
},
|
||||
{
|
||||
{
|
||||
.name = "[ALi M1409] Acer 100T",
|
||||
.internal_name = "acer100t",
|
||||
.type = MACHINE_TYPE_386SX,
|
||||
@@ -4858,88 +4859,6 @@ const machine_t machines[] = {
|
||||
.snd_device = NULL,
|
||||
.net_device = NULL
|
||||
},
|
||||
/* Has IBM PS/2 Type 1 KBC firmware. */
|
||||
{
|
||||
.name = "[ALi M6117] Acrosser PJ-A511M",
|
||||
.internal_name = "pja511m",
|
||||
.type = MACHINE_TYPE_386SX,
|
||||
.chipset = MACHINE_CHIPSET_ALI_M6117,
|
||||
.init = machine_at_pja511m_init,
|
||||
.p1_handler = NULL,
|
||||
.gpio_handler = NULL,
|
||||
.available_flag = MACHINE_AVAILABLE,
|
||||
.gpio_acpi_handler = NULL,
|
||||
.cpu = {
|
||||
.package = CPU_PKG_M6117,
|
||||
.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_PS2,
|
||||
.flags = MACHINE_IDE,
|
||||
.ram = {
|
||||
.min = 1024,
|
||||
.max = 32768,
|
||||
.step = 1024
|
||||
},
|
||||
.nvrmask = 127,
|
||||
.kbc_device = NULL,
|
||||
.kbc_p1 = 0xff,
|
||||
.gpio = 0xffffffff,
|
||||
.gpio_acpi = 0xffffffff,
|
||||
.device = NULL,
|
||||
.kbd_device = NULL,
|
||||
.fdc_device = NULL,
|
||||
.sio_device = NULL,
|
||||
.vid_device = NULL,
|
||||
.snd_device = NULL,
|
||||
.net_device = NULL
|
||||
},
|
||||
/* Has IBM PS/2 Type 1 KBC firmware. */
|
||||
{
|
||||
.name = "[ALi M6117] Protech ProX-1332",
|
||||
.internal_name = "prox1332",
|
||||
.type = MACHINE_TYPE_386SX,
|
||||
.chipset = MACHINE_CHIPSET_ALI_M6117,
|
||||
.init = machine_at_prox1332_init,
|
||||
.p1_handler = NULL,
|
||||
.gpio_handler = NULL,
|
||||
.available_flag = MACHINE_AVAILABLE,
|
||||
.gpio_acpi_handler = NULL,
|
||||
.cpu = {
|
||||
.package = CPU_PKG_M6117,
|
||||
.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_PS2,
|
||||
.flags = MACHINE_IDE,
|
||||
.ram = {
|
||||
.min = 1024,
|
||||
.max = 32768,
|
||||
.step = 1024
|
||||
},
|
||||
.nvrmask = 127,
|
||||
.kbc_device = NULL,
|
||||
.kbc_p1 = 0xff,
|
||||
.gpio = 0xffffffff,
|
||||
.gpio_acpi = 0xffffffff,
|
||||
.device = NULL,
|
||||
.kbd_device = NULL,
|
||||
.fdc_device = NULL,
|
||||
.sio_device = NULL,
|
||||
.vid_device = NULL,
|
||||
.snd_device = NULL,
|
||||
.net_device = NULL
|
||||
},
|
||||
/* Has an AMI KBC firmware, the only photo of this is too low resolution
|
||||
for me to read what's on the KBC chip, so I'm going to assume AMI 'F'
|
||||
based on the other known HT18 AMI BIOS strings. */
|
||||
@@ -5566,6 +5485,90 @@ const machine_t machines[] = {
|
||||
.snd_device = NULL,
|
||||
.net_device = NULL
|
||||
},
|
||||
|
||||
/* ALi M6117 machines */
|
||||
/* Has IBM PS/2 Type 1 KBC firmware. */
|
||||
{
|
||||
.name = "[ALi M6117] Acrosser PJ-A511M",
|
||||
.internal_name = "pja511m",
|
||||
.type = MACHINE_TYPE_M6117,
|
||||
.chipset = MACHINE_CHIPSET_ALI_M6117,
|
||||
.init = machine_at_pja511m_init,
|
||||
.p1_handler = NULL,
|
||||
.gpio_handler = NULL,
|
||||
.available_flag = MACHINE_AVAILABLE,
|
||||
.gpio_acpi_handler = NULL,
|
||||
.cpu = {
|
||||
.package = CPU_PKG_M6117,
|
||||
.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_PS2,
|
||||
.flags = MACHINE_IDE,
|
||||
.ram = {
|
||||
.min = 1024,
|
||||
.max = 32768,
|
||||
.step = 1024
|
||||
},
|
||||
.nvrmask = 127,
|
||||
.kbc_device = NULL,
|
||||
.kbc_p1 = 0xff,
|
||||
.gpio = 0xffffffff,
|
||||
.gpio_acpi = 0xffffffff,
|
||||
.device = NULL,
|
||||
.kbd_device = NULL,
|
||||
.fdc_device = NULL,
|
||||
.sio_device = NULL,
|
||||
.vid_device = NULL,
|
||||
.snd_device = NULL,
|
||||
.net_device = NULL
|
||||
},
|
||||
/* Has IBM PS/2 Type 1 KBC firmware. */
|
||||
{
|
||||
.name = "[ALi M6117] Protech ProX-1332",
|
||||
.internal_name = "prox1332",
|
||||
.type = MACHINE_TYPE_M6117,
|
||||
.chipset = MACHINE_CHIPSET_ALI_M6117,
|
||||
.init = machine_at_prox1332_init,
|
||||
.p1_handler = NULL,
|
||||
.gpio_handler = NULL,
|
||||
.available_flag = MACHINE_AVAILABLE,
|
||||
.gpio_acpi_handler = NULL,
|
||||
.cpu = {
|
||||
.package = CPU_PKG_M6117,
|
||||
.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_PS2,
|
||||
.flags = MACHINE_IDE,
|
||||
.ram = {
|
||||
.min = 1024,
|
||||
.max = 32768,
|
||||
.step = 1024
|
||||
},
|
||||
.nvrmask = 127,
|
||||
.kbc_device = NULL,
|
||||
.kbc_p1 = 0xff,
|
||||
.gpio = 0xffffffff,
|
||||
.gpio_acpi = 0xffffffff,
|
||||
.device = NULL,
|
||||
.kbd_device = NULL,
|
||||
.fdc_device = NULL,
|
||||
.sio_device = NULL,
|
||||
.vid_device = NULL,
|
||||
.snd_device = NULL,
|
||||
.net_device = NULL
|
||||
},
|
||||
|
||||
/* 486SLC machines */
|
||||
/* 486SLC machines with just the ISA slot */
|
||||
@@ -16496,10 +16499,9 @@ const machine_t machines[] = {
|
||||
.snd_device = NULL,
|
||||
.net_device = NULL
|
||||
},
|
||||
/* Has a Winbond W83977EF Super I/O chip with on-chip KBC with AMIKey-2 KBC
|
||||
/* Has a Winbond W83977TF Super I/O chip with on-chip KBC with AMIKey-2 KBC
|
||||
firmware. */
|
||||
|
||||
{
|
||||
{
|
||||
.name = "[i440BX] ABIT BX6",
|
||||
.internal_name = "bx6",
|
||||
.type = MACHINE_TYPE_SLOT1,
|
||||
@@ -16539,7 +16541,8 @@ const machine_t machines[] = {
|
||||
.snd_device = NULL,
|
||||
.net_device = NULL
|
||||
},
|
||||
|
||||
/* Has a Winbond W83977EF Super I/O chip with on-chip KBC with AMIKey-2 KBC
|
||||
firmware. */
|
||||
{
|
||||
.name = "[i440BX] ABIT BF6",
|
||||
.internal_name = "bf6",
|
||||
|
||||
@@ -27,6 +27,9 @@ msgstr ""
|
||||
msgid "&Pause"
|
||||
msgstr ""
|
||||
|
||||
msgid "Pause"
|
||||
msgstr ""
|
||||
|
||||
msgid "Re&sume"
|
||||
msgstr ""
|
||||
|
||||
@@ -192,6 +195,9 @@ msgstr ""
|
||||
msgid "&Settings..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Settings..."
|
||||
msgstr ""
|
||||
|
||||
msgid "&Update status bar icons"
|
||||
msgstr ""
|
||||
|
||||
@@ -357,6 +363,9 @@ msgstr ""
|
||||
msgid "Configure"
|
||||
msgstr ""
|
||||
|
||||
msgid "CPU:"
|
||||
msgstr ""
|
||||
|
||||
msgid "CPU type:"
|
||||
msgstr ""
|
||||
|
||||
@@ -417,15 +426,27 @@ msgstr ""
|
||||
msgid "XGA Graphics"
|
||||
msgstr ""
|
||||
|
||||
msgid "IBM PS/55 Display Adapter Graphics"
|
||||
msgstr ""
|
||||
|
||||
msgid "Keyboard:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Keyboard"
|
||||
msgstr ""
|
||||
|
||||
msgid "Mouse:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Mouse"
|
||||
msgstr ""
|
||||
|
||||
msgid "Joystick:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Joystick"
|
||||
msgstr ""
|
||||
|
||||
msgid "Joystick 1..."
|
||||
msgstr ""
|
||||
|
||||
@@ -456,6 +477,9 @@ msgstr ""
|
||||
msgid "MIDI In Device:"
|
||||
msgstr ""
|
||||
|
||||
msgid "MIDI Out:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Standalone MPU-401"
|
||||
msgstr ""
|
||||
|
||||
@@ -615,6 +639,12 @@ msgstr ""
|
||||
msgid "MO drives:"
|
||||
msgstr ""
|
||||
|
||||
msgid "MO:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Removable disks:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Removable disk drives:"
|
||||
msgstr ""
|
||||
|
||||
@@ -741,12 +771,30 @@ msgstr ""
|
||||
msgid "Ports (COM & LPT)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Ports"
|
||||
msgstr ""
|
||||
|
||||
msgid "Serial ports"
|
||||
msgstr ""
|
||||
|
||||
msgid "Parallel ports"
|
||||
msgstr ""
|
||||
|
||||
msgid "Storage controllers"
|
||||
msgstr ""
|
||||
|
||||
msgid "Hard disks"
|
||||
msgstr ""
|
||||
|
||||
msgid "Disks:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Floppy:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Controllers:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Floppy & CD-ROM drives"
|
||||
msgstr ""
|
||||
|
||||
@@ -756,6 +804,9 @@ msgstr ""
|
||||
msgid "Other peripherals"
|
||||
msgstr ""
|
||||
|
||||
msgid "Other devices"
|
||||
msgstr ""
|
||||
|
||||
msgid "Click to capture mouse"
|
||||
msgstr ""
|
||||
|
||||
@@ -900,6 +951,15 @@ msgstr ""
|
||||
msgid "Internal device"
|
||||
msgstr ""
|
||||
|
||||
msgid "&File"
|
||||
msgstr ""
|
||||
|
||||
msgid "&New machine..."
|
||||
msgstr ""
|
||||
|
||||
msgid "&Check for updates..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Exit"
|
||||
msgstr ""
|
||||
|
||||
@@ -996,6 +1056,9 @@ msgstr ""
|
||||
msgid "Pause execution"
|
||||
msgstr ""
|
||||
|
||||
msgid "Ctrl+Alt+Del"
|
||||
msgstr ""
|
||||
|
||||
msgid "Press Ctrl+Alt+Del"
|
||||
msgstr ""
|
||||
|
||||
@@ -1005,6 +1068,267 @@ msgstr ""
|
||||
msgid "Hard reset"
|
||||
msgstr ""
|
||||
|
||||
msgid "Force shutdown"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start"
|
||||
msgstr ""
|
||||
|
||||
msgid "Not running"
|
||||
msgstr ""
|
||||
|
||||
msgid "Running"
|
||||
msgstr ""
|
||||
|
||||
msgid "Paused"
|
||||
msgstr ""
|
||||
|
||||
msgid "Paused (Waiting)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Powered Off"
|
||||
msgstr ""
|
||||
|
||||
msgid "waiting"
|
||||
msgstr ""
|
||||
|
||||
msgid "total"
|
||||
msgstr ""
|
||||
|
||||
msgid "System Directory:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Choose directory"
|
||||
msgstr ""
|
||||
|
||||
msgid "Choose configuration file"
|
||||
msgstr ""
|
||||
|
||||
msgid "86Box configuration files (86box.cfg)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Configuration read failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to open the selected configuration file for reading: %1"
|
||||
msgstr ""
|
||||
|
||||
msgid "Use regular expressions in search box"
|
||||
msgstr ""
|
||||
|
||||
msgid "%1 machine(s) are currently active. Are you sure you want to exit the VM manager anyway?"
|
||||
msgstr ""
|
||||
|
||||
msgid "Add new system wizard"
|
||||
msgstr ""
|
||||
|
||||
msgid "Introduction"
|
||||
msgstr ""
|
||||
|
||||
msgid "This will help you add a new system to 86Box."
|
||||
msgstr ""
|
||||
|
||||
msgid "New configuration"
|
||||
msgstr ""
|
||||
|
||||
msgid "Complete"
|
||||
msgstr ""
|
||||
|
||||
msgid "The wizard will now launch the configuration for the new system."
|
||||
msgstr ""
|
||||
|
||||
msgid "Use existing configuration"
|
||||
msgstr ""
|
||||
|
||||
msgid "Type some notes here"
|
||||
msgstr ""
|
||||
|
||||
msgid "Paste the contents of the existing configuration file into the box below."
|
||||
msgstr ""
|
||||
|
||||
msgid "Load configuration from file"
|
||||
msgstr ""
|
||||
|
||||
msgid "System Name"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name:"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name cannot contain certain characters"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name already exists"
|
||||
msgstr ""
|
||||
|
||||
msgid "Please enter a directory for the system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Directory does not exist"
|
||||
msgstr ""
|
||||
|
||||
msgid "A new directory for the system will be created in the selected directory above"
|
||||
msgstr ""
|
||||
|
||||
msgid "System location:"
|
||||
msgstr ""
|
||||
|
||||
msgid "System Location"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name and location"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter the name of the system and choose the location"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter the name of the system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Please enter a system name"
|
||||
msgstr ""
|
||||
|
||||
msgid "Display Name (optional)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Display name:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Set display name"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter the new display name (blank to reset)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Change &display name..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Context Menu"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Open folder..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Open &printer tray..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Set &icon..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Select an icon"
|
||||
msgstr ""
|
||||
|
||||
msgid "C&lone..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Virtual machine \"%1\" (%2) will be cloned into:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Directory %1 already exists"
|
||||
msgstr ""
|
||||
|
||||
msgid "You cannot use the following characters in the name: %1"
|
||||
msgstr ""
|
||||
|
||||
msgid "Clone"
|
||||
msgstr ""
|
||||
|
||||
msgid "Failed to create directory for cloned VM"
|
||||
msgstr ""
|
||||
|
||||
msgid "Failed to clone VM."
|
||||
msgstr ""
|
||||
|
||||
msgid "Directory in use"
|
||||
msgstr ""
|
||||
|
||||
msgid "The selected directory is already in use. Please select a different directory."
|
||||
msgstr ""
|
||||
|
||||
msgid "Create directory failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to create the directory for the new system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Configuration write failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to open the configuration file at %1 for writing"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error adding system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Abnormal program termination while creating new system: exit code %1, exit status %2.\n\nThe system will not be added."
|
||||
msgstr ""
|
||||
|
||||
msgid "Remove directory failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Some files in the machine's directory were unable to be deleted. Please delete them manually."
|
||||
msgstr ""
|
||||
|
||||
msgid "Build"
|
||||
msgstr ""
|
||||
|
||||
msgid "Version"
|
||||
msgstr ""
|
||||
|
||||
msgid "<b>An update to 86Box is available!</b>"
|
||||
msgstr ""
|
||||
|
||||
msgid "Warning"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Kill"
|
||||
msgstr ""
|
||||
|
||||
msgid "Killing a virtual machine can cause data loss. Only do this if the 86Box process gets stuck.\n\nDo you really wish to kill the virtual machine \"%1\"?"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Delete"
|
||||
msgstr ""
|
||||
|
||||
msgid "Do you really want to delete the virtual machine \"%1\" and all its files? This action cannot be undone!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Show &config file"
|
||||
msgstr ""
|
||||
|
||||
msgid "No screenshot"
|
||||
msgstr ""
|
||||
|
||||
msgid "Search"
|
||||
msgstr ""
|
||||
|
||||
msgid "Searching for VMs..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Found %1"
|
||||
msgstr ""
|
||||
|
||||
msgid "System"
|
||||
msgstr ""
|
||||
|
||||
msgid "Storage"
|
||||
msgstr ""
|
||||
|
||||
msgid "Disk %1: "
|
||||
msgstr ""
|
||||
|
||||
msgid "No disks"
|
||||
msgstr ""
|
||||
|
||||
msgid "Audio"
|
||||
msgstr ""
|
||||
|
||||
msgid "Audio:"
|
||||
msgstr ""
|
||||
|
||||
msgid "ACPI shutdown"
|
||||
msgstr ""
|
||||
|
||||
@@ -1347,6 +1671,9 @@ msgstr ""
|
||||
msgid "Null Driver"
|
||||
msgstr ""
|
||||
|
||||
msgid "NIC:"
|
||||
msgstr ""
|
||||
|
||||
msgid "NIC %1 (%2) %3"
|
||||
msgstr ""
|
||||
|
||||
@@ -1416,6 +1743,9 @@ msgstr ""
|
||||
msgid "MiB"
|
||||
msgstr ""
|
||||
|
||||
msgid "GiB"
|
||||
msgstr ""
|
||||
|
||||
msgid "Network Card #1"
|
||||
msgstr ""
|
||||
|
||||
@@ -2223,6 +2553,9 @@ msgstr ""
|
||||
msgid "3Dfx Voodoo Graphics"
|
||||
msgstr ""
|
||||
|
||||
msgid "3Dfx Voodoo 2"
|
||||
msgstr ""
|
||||
|
||||
msgid "Obsidian SB50 + Amethyst (2 TMUs)"
|
||||
msgstr ""
|
||||
|
||||
@@ -2489,3 +2822,81 @@ msgstr ""
|
||||
|
||||
msgid "Hostname:"
|
||||
msgstr ""
|
||||
|
||||
msgid "ISA RTC"
|
||||
msgstr ""
|
||||
|
||||
msgid "ISA RAM"
|
||||
msgstr ""
|
||||
|
||||
msgid "ISA ROM"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Wipe NVRAM"
|
||||
msgstr ""
|
||||
|
||||
msgid "This will delete all NVRAM (and related) files of the virtual machine located in the \"nvr\" subdirectory. You'll have to reconfigure the BIOS (and possibly other devices inside the VM) settings again if applicable.\n\nAre you sure you want to wipe all NVRAM contents of the virtual machine \"%1\"?"
|
||||
msgstr ""
|
||||
|
||||
msgid "Success"
|
||||
msgstr ""
|
||||
|
||||
msgid "Successfully wiped the NVRAM contents of the virtual machine \"%1\""
|
||||
msgstr ""
|
||||
|
||||
msgid "An error occured trying to wipe the NVRAM contents of the virtual machine \"%1\""
|
||||
msgstr ""
|
||||
|
||||
msgid "%1 VM Manager"
|
||||
msgstr ""
|
||||
|
||||
msgid "%n disk(s)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unknown Status"
|
||||
msgstr ""
|
||||
|
||||
msgid "No Machines Found!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Check for updates on startup"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to determine release information"
|
||||
msgstr ""
|
||||
|
||||
msgid "There was an error checking for updates:\n\n%1\n\nPlease try again later."
|
||||
msgstr ""
|
||||
|
||||
msgid "Update check complete"
|
||||
msgstr ""
|
||||
|
||||
msgid "You are running the latest %1 version of 86Box: %2"
|
||||
msgstr ""
|
||||
|
||||
msgid "version"
|
||||
msgstr ""
|
||||
|
||||
msgid "build"
|
||||
msgstr ""
|
||||
|
||||
msgid "You are currently running %1 <b>%2</b>. "
|
||||
msgstr ""
|
||||
|
||||
msgid "<b>%1 %2</b> is now available. %3Would you like to visit the download page?"
|
||||
msgstr ""
|
||||
|
||||
msgid "Visit download page"
|
||||
msgstr ""
|
||||
|
||||
msgid "Update check"
|
||||
msgstr ""
|
||||
|
||||
msgid "Checking for updates.."
|
||||
msgstr ""
|
||||
|
||||
msgid "86Box Update"
|
||||
msgstr ""
|
||||
|
||||
msgid "Release notes:"
|
||||
msgstr ""
|
||||
|
||||
@@ -27,6 +27,9 @@ msgstr "Ctrl+Alt+&Esc"
|
||||
msgid "&Pause"
|
||||
msgstr "&Pausa"
|
||||
|
||||
msgid "Pause"
|
||||
msgstr ""
|
||||
|
||||
msgid "Re&sume"
|
||||
msgstr ""
|
||||
|
||||
@@ -192,6 +195,9 @@ msgstr "&Eines"
|
||||
msgid "&Settings..."
|
||||
msgstr "&Ajustaments ..."
|
||||
|
||||
msgid "Settings..."
|
||||
msgstr ""
|
||||
|
||||
msgid "&Update status bar icons"
|
||||
msgstr "&Actualitzar icones a la barra d'estat"
|
||||
|
||||
@@ -357,6 +363,9 @@ msgstr "Màquina:"
|
||||
msgid "Configure"
|
||||
msgstr "Configurar"
|
||||
|
||||
msgid "CPU:"
|
||||
msgstr ""
|
||||
|
||||
msgid "CPU type:"
|
||||
msgstr "Tipus de CPU:"
|
||||
|
||||
@@ -417,15 +426,27 @@ msgstr "Gràfics IBM 8514/A"
|
||||
msgid "XGA Graphics"
|
||||
msgstr "Gràfics XGA"
|
||||
|
||||
msgid "IBM PS/55 Display Adapter Graphics"
|
||||
msgstr ""
|
||||
|
||||
msgid "Keyboard:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Keyboard"
|
||||
msgstr ""
|
||||
|
||||
msgid "Mouse:"
|
||||
msgstr "Ratolí:"
|
||||
|
||||
msgid "Mouse"
|
||||
msgstr ""
|
||||
|
||||
msgid "Joystick:"
|
||||
msgstr "Joystick:"
|
||||
|
||||
msgid "Joystick"
|
||||
msgstr ""
|
||||
|
||||
msgid "Joystick 1..."
|
||||
msgstr "Joystick 1 ..."
|
||||
|
||||
@@ -456,6 +477,9 @@ msgstr "Dispositiu de sortida MIDI:"
|
||||
msgid "MIDI In Device:"
|
||||
msgstr "Dispositiu d'entrada MIDI:"
|
||||
|
||||
msgid "MIDI Out:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Standalone MPU-401"
|
||||
msgstr "MPU-401 autònom"
|
||||
|
||||
@@ -615,6 +639,12 @@ msgstr "Unitats de CD-ROM:"
|
||||
msgid "MO drives:"
|
||||
msgstr "Unitats MO:"
|
||||
|
||||
msgid "MO:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Removable disks:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Removable disk drives:"
|
||||
msgstr ""
|
||||
|
||||
@@ -741,12 +771,30 @@ msgstr "Xarxa"
|
||||
msgid "Ports (COM & LPT)"
|
||||
msgstr "Ports (COM i LPT)"
|
||||
|
||||
msgid "Ports"
|
||||
msgstr ""
|
||||
|
||||
msgid "Serial ports"
|
||||
msgstr ""
|
||||
|
||||
msgid "Parallel ports"
|
||||
msgstr ""
|
||||
|
||||
msgid "Storage controllers"
|
||||
msgstr "Controladors d'emmagatzematge"
|
||||
|
||||
msgid "Hard disks"
|
||||
msgstr "Discs durs"
|
||||
|
||||
msgid "Disks:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Floppy:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Controllers:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Floppy & CD-ROM drives"
|
||||
msgstr "Unitats de disquet i CD-ROM"
|
||||
|
||||
@@ -756,6 +804,9 @@ msgstr "Altres dispositius extraïbles"
|
||||
msgid "Other peripherals"
|
||||
msgstr "Altres perifèrics"
|
||||
|
||||
msgid "Other devices"
|
||||
msgstr ""
|
||||
|
||||
msgid "Click to capture mouse"
|
||||
msgstr "Feu clic per capturar el ratolí"
|
||||
|
||||
@@ -900,6 +951,15 @@ msgstr "Benvingut a 86Box!"
|
||||
msgid "Internal device"
|
||||
msgstr "Dispositiu intern"
|
||||
|
||||
msgid "&File"
|
||||
msgstr ""
|
||||
|
||||
msgid "&New machine..."
|
||||
msgstr ""
|
||||
|
||||
msgid "&Check for updates..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Exit"
|
||||
msgstr "Sortir"
|
||||
|
||||
@@ -996,6 +1056,9 @@ msgstr "Reprendre l'execució"
|
||||
msgid "Pause execution"
|
||||
msgstr "Pausar l'execució"
|
||||
|
||||
msgid "Ctrl+Alt+Del"
|
||||
msgstr ""
|
||||
|
||||
msgid "Press Ctrl+Alt+Del"
|
||||
msgstr "Pulsar Ctrl+Alt+Supr"
|
||||
|
||||
@@ -1005,6 +1068,267 @@ msgstr "Pulsar Ctrl+Alt+Esc"
|
||||
msgid "Hard reset"
|
||||
msgstr "Reinicialització completa"
|
||||
|
||||
msgid "Force shutdown"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start"
|
||||
msgstr ""
|
||||
|
||||
msgid "Not running"
|
||||
msgstr ""
|
||||
|
||||
msgid "Running"
|
||||
msgstr ""
|
||||
|
||||
msgid "Paused"
|
||||
msgstr ""
|
||||
|
||||
msgid "Paused (Waiting)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Powered Off"
|
||||
msgstr ""
|
||||
|
||||
msgid "waiting"
|
||||
msgstr ""
|
||||
|
||||
msgid "total"
|
||||
msgstr ""
|
||||
|
||||
msgid "System Directory:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Choose directory"
|
||||
msgstr ""
|
||||
|
||||
msgid "Choose configuration file"
|
||||
msgstr ""
|
||||
|
||||
msgid "86Box configuration files (86box.cfg)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Configuration read failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to open the selected configuration file for reading: %1"
|
||||
msgstr ""
|
||||
|
||||
msgid "Use regular expressions in search box"
|
||||
msgstr ""
|
||||
|
||||
msgid "%1 machine(s) are currently active. Are you sure you want to exit the VM manager anyway?"
|
||||
msgstr ""
|
||||
|
||||
msgid "Add new system wizard"
|
||||
msgstr ""
|
||||
|
||||
msgid "Introduction"
|
||||
msgstr ""
|
||||
|
||||
msgid "This will help you add a new system to 86Box."
|
||||
msgstr ""
|
||||
|
||||
msgid "New configuration"
|
||||
msgstr ""
|
||||
|
||||
msgid "Complete"
|
||||
msgstr ""
|
||||
|
||||
msgid "The wizard will now launch the configuration for the new system."
|
||||
msgstr ""
|
||||
|
||||
msgid "Use existing configuration"
|
||||
msgstr ""
|
||||
|
||||
msgid "Type some notes here"
|
||||
msgstr ""
|
||||
|
||||
msgid "Paste the contents of the existing configuration file into the box below."
|
||||
msgstr ""
|
||||
|
||||
msgid "Load configuration from file"
|
||||
msgstr ""
|
||||
|
||||
msgid "System Name"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name:"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name cannot contain certain characters"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name already exists"
|
||||
msgstr ""
|
||||
|
||||
msgid "Please enter a directory for the system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Directory does not exist"
|
||||
msgstr ""
|
||||
|
||||
msgid "A new directory for the system will be created in the selected directory above"
|
||||
msgstr ""
|
||||
|
||||
msgid "System location:"
|
||||
msgstr ""
|
||||
|
||||
msgid "System Location"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name and location"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter the name of the system and choose the location"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter the name of the system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Please enter a system name"
|
||||
msgstr ""
|
||||
|
||||
msgid "Display Name (optional)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Display name:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Set display name"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter the new display name (blank to reset)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Change &display name..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Context Menu"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Open folder..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Open &printer tray..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Set &icon..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Select an icon"
|
||||
msgstr ""
|
||||
|
||||
msgid "C&lone..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Virtual machine \"%1\" (%2) will be cloned into:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Directory %1 already exists"
|
||||
msgstr ""
|
||||
|
||||
msgid "You cannot use the following characters in the name: %1"
|
||||
msgstr ""
|
||||
|
||||
msgid "Clone"
|
||||
msgstr ""
|
||||
|
||||
msgid "Failed to create directory for cloned VM"
|
||||
msgstr ""
|
||||
|
||||
msgid "Failed to clone VM."
|
||||
msgstr ""
|
||||
|
||||
msgid "Directory in use"
|
||||
msgstr ""
|
||||
|
||||
msgid "The selected directory is already in use. Please select a different directory."
|
||||
msgstr ""
|
||||
|
||||
msgid "Create directory failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to create the directory for the new system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Configuration write failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to open the configuration file at %1 for writing"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error adding system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Abnormal program termination while creating new system: exit code %1, exit status %2.\n\nThe system will not be added."
|
||||
msgstr ""
|
||||
|
||||
msgid "Remove directory failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Some files in the machine's directory were unable to be deleted. Please delete them manually."
|
||||
msgstr ""
|
||||
|
||||
msgid "Build"
|
||||
msgstr ""
|
||||
|
||||
msgid "Version"
|
||||
msgstr ""
|
||||
|
||||
msgid "<b>An update to 86Box is available!</b>"
|
||||
msgstr ""
|
||||
|
||||
msgid "Warning"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Kill"
|
||||
msgstr ""
|
||||
|
||||
msgid "Killing a virtual machine can cause data loss. Only do this if the 86Box process gets stuck.\n\nDo you really wish to kill the virtual machine \"%1\"?"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Delete"
|
||||
msgstr ""
|
||||
|
||||
msgid "Do you really want to delete the virtual machine \"%1\" and all its files? This action cannot be undone!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Show &config file"
|
||||
msgstr ""
|
||||
|
||||
msgid "No screenshot"
|
||||
msgstr ""
|
||||
|
||||
msgid "Search"
|
||||
msgstr ""
|
||||
|
||||
msgid "Searching for VMs..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Found %1"
|
||||
msgstr ""
|
||||
|
||||
msgid "System"
|
||||
msgstr ""
|
||||
|
||||
msgid "Storage"
|
||||
msgstr ""
|
||||
|
||||
msgid "Disk %1: "
|
||||
msgstr ""
|
||||
|
||||
msgid "No disks"
|
||||
msgstr ""
|
||||
|
||||
msgid "Audio"
|
||||
msgstr ""
|
||||
|
||||
msgid "Audio:"
|
||||
msgstr ""
|
||||
|
||||
msgid "ACPI shutdown"
|
||||
msgstr "Apagada ACPI"
|
||||
|
||||
@@ -1347,6 +1671,9 @@ msgstr "Bus desconegut"
|
||||
msgid "Null Driver"
|
||||
msgstr "Controlador nul"
|
||||
|
||||
msgid "NIC:"
|
||||
msgstr ""
|
||||
|
||||
msgid "NIC %1 (%2) %3"
|
||||
msgstr "NIC %1 (%2) %3"
|
||||
|
||||
@@ -1416,6 +1743,9 @@ msgstr "No s'han trobat dispositius MCA."
|
||||
msgid "MiB"
|
||||
msgstr "MiB"
|
||||
|
||||
msgid "GiB"
|
||||
msgstr ""
|
||||
|
||||
msgid "Network Card #1"
|
||||
msgstr "Targeta de xarxa 1"
|
||||
|
||||
@@ -2223,6 +2553,9 @@ msgstr "Color no interlat"
|
||||
msgid "3Dfx Voodoo Graphics"
|
||||
msgstr "Gràfics 3dfx Voodoo"
|
||||
|
||||
msgid "3Dfx Voodoo 2"
|
||||
msgstr ""
|
||||
|
||||
msgid "Obsidian SB50 + Amethyst (2 TMUs)"
|
||||
msgstr "Obsidian SB50 + Amethyst (2 unitats TMU)"
|
||||
|
||||
@@ -2490,6 +2823,84 @@ msgstr ""
|
||||
msgid "Hostname:"
|
||||
msgstr ""
|
||||
|
||||
msgid "ISA RTC"
|
||||
msgstr ""
|
||||
|
||||
msgid "ISA RAM"
|
||||
msgstr ""
|
||||
|
||||
msgid "ISA ROM"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Wipe NVRAM"
|
||||
msgstr ""
|
||||
|
||||
msgid "This will delete all NVRAM (and related) files of the virtual machine located in the \"nvr\" subdirectory. You'll have to reconfigure the BIOS (and possibly other devices inside the VM) settings again if applicable.\n\nAre you sure you want to wipe all NVRAM contents of the virtual machine \"%1\"?"
|
||||
msgstr ""
|
||||
|
||||
msgid "Success"
|
||||
msgstr ""
|
||||
|
||||
msgid "Successfully wiped the NVRAM contents of the virtual machine \"%1\""
|
||||
msgstr ""
|
||||
|
||||
msgid "An error occured trying to wipe the NVRAM contents of the virtual machine \"%1\""
|
||||
msgstr ""
|
||||
|
||||
msgid "%1 VM Manager"
|
||||
msgstr ""
|
||||
|
||||
msgid "%n disk(s)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unknown Status"
|
||||
msgstr ""
|
||||
|
||||
msgid "No Machines Found!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Check for updates on startup"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to determine release information"
|
||||
msgstr ""
|
||||
|
||||
msgid "There was an error checking for updates:\n\n%1\n\nPlease try again later."
|
||||
msgstr ""
|
||||
|
||||
msgid "Update check complete"
|
||||
msgstr ""
|
||||
|
||||
msgid "You are running the latest %1 version of 86Box: %2"
|
||||
msgstr ""
|
||||
|
||||
msgid "version"
|
||||
msgstr ""
|
||||
|
||||
msgid "build"
|
||||
msgstr ""
|
||||
|
||||
msgid "You are currently running %1 <b>%2</b>. "
|
||||
msgstr ""
|
||||
|
||||
msgid "<b>%1 %2</b> is now available. %3Would you like to visit the download page?"
|
||||
msgstr ""
|
||||
|
||||
msgid "Visit download page"
|
||||
msgstr ""
|
||||
|
||||
msgid "Update check"
|
||||
msgstr ""
|
||||
|
||||
msgid "Checking for updates.."
|
||||
msgstr ""
|
||||
|
||||
msgid "86Box Update"
|
||||
msgstr ""
|
||||
|
||||
msgid "Release notes:"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "HD Controller:"
|
||||
#~ msgstr "Controlador de HD:"
|
||||
|
||||
|
||||
@@ -27,6 +27,9 @@ msgstr "Ctrl+Alt+&Esc"
|
||||
msgid "&Pause"
|
||||
msgstr "P&ozastavit"
|
||||
|
||||
msgid "Pause"
|
||||
msgstr ""
|
||||
|
||||
msgid "Re&sume"
|
||||
msgstr ""
|
||||
|
||||
@@ -192,6 +195,9 @@ msgstr "&Nástroje"
|
||||
msgid "&Settings..."
|
||||
msgstr "&Nastavení..."
|
||||
|
||||
msgid "Settings..."
|
||||
msgstr ""
|
||||
|
||||
msgid "&Update status bar icons"
|
||||
msgstr "&Aktualizovat ikony stavového řádku"
|
||||
|
||||
@@ -357,6 +363,9 @@ msgstr "Počítač:"
|
||||
msgid "Configure"
|
||||
msgstr "Nastavit"
|
||||
|
||||
msgid "CPU:"
|
||||
msgstr ""
|
||||
|
||||
msgid "CPU type:"
|
||||
msgstr "Procesor:"
|
||||
|
||||
@@ -417,15 +426,27 @@ msgstr "Grafika IBM 8514/A"
|
||||
msgid "XGA Graphics"
|
||||
msgstr "Grafika XGA"
|
||||
|
||||
msgid "IBM PS/55 Display Adapter Graphics"
|
||||
msgstr ""
|
||||
|
||||
msgid "Keyboard:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Keyboard"
|
||||
msgstr ""
|
||||
|
||||
msgid "Mouse:"
|
||||
msgstr "Myš:"
|
||||
|
||||
msgid "Mouse"
|
||||
msgstr ""
|
||||
|
||||
msgid "Joystick:"
|
||||
msgstr "Joystick:"
|
||||
|
||||
msgid "Joystick"
|
||||
msgstr ""
|
||||
|
||||
msgid "Joystick 1..."
|
||||
msgstr "Joystick 1..."
|
||||
|
||||
@@ -456,6 +477,9 @@ msgstr "MIDI výstup:"
|
||||
msgid "MIDI In Device:"
|
||||
msgstr "MIDI vstup:"
|
||||
|
||||
msgid "MIDI Out:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Standalone MPU-401"
|
||||
msgstr "Samostatný MPU-401"
|
||||
|
||||
@@ -615,6 +639,12 @@ msgstr "Mechaniky CD-ROM:"
|
||||
msgid "MO drives:"
|
||||
msgstr "Magnetooptické mechaniky:"
|
||||
|
||||
msgid "MO:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Removable disks:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Removable disk drives:"
|
||||
msgstr ""
|
||||
|
||||
@@ -741,12 +771,30 @@ msgstr "Síť"
|
||||
msgid "Ports (COM & LPT)"
|
||||
msgstr "COM a LPT porty"
|
||||
|
||||
msgid "Ports"
|
||||
msgstr ""
|
||||
|
||||
msgid "Serial ports"
|
||||
msgstr ""
|
||||
|
||||
msgid "Parallel ports"
|
||||
msgstr ""
|
||||
|
||||
msgid "Storage controllers"
|
||||
msgstr "Řadiče úložiště"
|
||||
|
||||
msgid "Hard disks"
|
||||
msgstr "Pevné disky"
|
||||
|
||||
msgid "Disks:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Floppy:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Controllers:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Floppy & CD-ROM drives"
|
||||
msgstr "Disketové a CD-ROM mechaniky"
|
||||
|
||||
@@ -756,6 +804,9 @@ msgstr "Další vyměnitelná zařízení"
|
||||
msgid "Other peripherals"
|
||||
msgstr "Jiné příslušenství"
|
||||
|
||||
msgid "Other devices"
|
||||
msgstr ""
|
||||
|
||||
msgid "Click to capture mouse"
|
||||
msgstr "Klikněte pro zabraní myši"
|
||||
|
||||
@@ -900,6 +951,15 @@ msgstr "Vítejte v programu 86Box!"
|
||||
msgid "Internal device"
|
||||
msgstr "Vestavěné zařízení"
|
||||
|
||||
msgid "&File"
|
||||
msgstr ""
|
||||
|
||||
msgid "&New machine..."
|
||||
msgstr ""
|
||||
|
||||
msgid "&Check for updates..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Exit"
|
||||
msgstr "Ukončit"
|
||||
|
||||
@@ -996,6 +1056,9 @@ msgstr "Obnovit"
|
||||
msgid "Pause execution"
|
||||
msgstr "Pozastavit"
|
||||
|
||||
msgid "Ctrl+Alt+Del"
|
||||
msgstr ""
|
||||
|
||||
msgid "Press Ctrl+Alt+Del"
|
||||
msgstr "Stisknout Ctrl+Alt+Delete"
|
||||
|
||||
@@ -1005,6 +1068,267 @@ msgstr "Stisknout Ctrl+Alt+Esc"
|
||||
msgid "Hard reset"
|
||||
msgstr "Resetovat"
|
||||
|
||||
msgid "Force shutdown"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start"
|
||||
msgstr ""
|
||||
|
||||
msgid "Not running"
|
||||
msgstr ""
|
||||
|
||||
msgid "Running"
|
||||
msgstr ""
|
||||
|
||||
msgid "Paused"
|
||||
msgstr ""
|
||||
|
||||
msgid "Paused (Waiting)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Powered Off"
|
||||
msgstr ""
|
||||
|
||||
msgid "waiting"
|
||||
msgstr ""
|
||||
|
||||
msgid "total"
|
||||
msgstr ""
|
||||
|
||||
msgid "System Directory:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Choose directory"
|
||||
msgstr ""
|
||||
|
||||
msgid "Choose configuration file"
|
||||
msgstr ""
|
||||
|
||||
msgid "86Box configuration files (86box.cfg)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Configuration read failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to open the selected configuration file for reading: %1"
|
||||
msgstr ""
|
||||
|
||||
msgid "Use regular expressions in search box"
|
||||
msgstr ""
|
||||
|
||||
msgid "%1 machine(s) are currently active. Are you sure you want to exit the VM manager anyway?"
|
||||
msgstr ""
|
||||
|
||||
msgid "Add new system wizard"
|
||||
msgstr ""
|
||||
|
||||
msgid "Introduction"
|
||||
msgstr ""
|
||||
|
||||
msgid "This will help you add a new system to 86Box."
|
||||
msgstr ""
|
||||
|
||||
msgid "New configuration"
|
||||
msgstr ""
|
||||
|
||||
msgid "Complete"
|
||||
msgstr ""
|
||||
|
||||
msgid "The wizard will now launch the configuration for the new system."
|
||||
msgstr ""
|
||||
|
||||
msgid "Use existing configuration"
|
||||
msgstr ""
|
||||
|
||||
msgid "Type some notes here"
|
||||
msgstr ""
|
||||
|
||||
msgid "Paste the contents of the existing configuration file into the box below."
|
||||
msgstr ""
|
||||
|
||||
msgid "Load configuration from file"
|
||||
msgstr ""
|
||||
|
||||
msgid "System Name"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name:"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name cannot contain certain characters"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name already exists"
|
||||
msgstr ""
|
||||
|
||||
msgid "Please enter a directory for the system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Directory does not exist"
|
||||
msgstr ""
|
||||
|
||||
msgid "A new directory for the system will be created in the selected directory above"
|
||||
msgstr ""
|
||||
|
||||
msgid "System location:"
|
||||
msgstr ""
|
||||
|
||||
msgid "System Location"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name and location"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter the name of the system and choose the location"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter the name of the system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Please enter a system name"
|
||||
msgstr ""
|
||||
|
||||
msgid "Display Name (optional)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Display name:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Set display name"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter the new display name (blank to reset)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Change &display name..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Context Menu"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Open folder..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Open &printer tray..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Set &icon..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Select an icon"
|
||||
msgstr ""
|
||||
|
||||
msgid "C&lone..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Virtual machine \"%1\" (%2) will be cloned into:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Directory %1 already exists"
|
||||
msgstr ""
|
||||
|
||||
msgid "You cannot use the following characters in the name: %1"
|
||||
msgstr ""
|
||||
|
||||
msgid "Clone"
|
||||
msgstr ""
|
||||
|
||||
msgid "Failed to create directory for cloned VM"
|
||||
msgstr ""
|
||||
|
||||
msgid "Failed to clone VM."
|
||||
msgstr ""
|
||||
|
||||
msgid "Directory in use"
|
||||
msgstr ""
|
||||
|
||||
msgid "The selected directory is already in use. Please select a different directory."
|
||||
msgstr ""
|
||||
|
||||
msgid "Create directory failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to create the directory for the new system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Configuration write failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to open the configuration file at %1 for writing"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error adding system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Abnormal program termination while creating new system: exit code %1, exit status %2.\n\nThe system will not be added."
|
||||
msgstr ""
|
||||
|
||||
msgid "Remove directory failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Some files in the machine's directory were unable to be deleted. Please delete them manually."
|
||||
msgstr ""
|
||||
|
||||
msgid "Build"
|
||||
msgstr ""
|
||||
|
||||
msgid "Version"
|
||||
msgstr ""
|
||||
|
||||
msgid "<b>An update to 86Box is available!</b>"
|
||||
msgstr ""
|
||||
|
||||
msgid "Warning"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Kill"
|
||||
msgstr ""
|
||||
|
||||
msgid "Killing a virtual machine can cause data loss. Only do this if the 86Box process gets stuck.\n\nDo you really wish to kill the virtual machine \"%1\"?"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Delete"
|
||||
msgstr ""
|
||||
|
||||
msgid "Do you really want to delete the virtual machine \"%1\" and all its files? This action cannot be undone!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Show &config file"
|
||||
msgstr ""
|
||||
|
||||
msgid "No screenshot"
|
||||
msgstr ""
|
||||
|
||||
msgid "Search"
|
||||
msgstr ""
|
||||
|
||||
msgid "Searching for VMs..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Found %1"
|
||||
msgstr ""
|
||||
|
||||
msgid "System"
|
||||
msgstr ""
|
||||
|
||||
msgid "Storage"
|
||||
msgstr ""
|
||||
|
||||
msgid "Disk %1: "
|
||||
msgstr ""
|
||||
|
||||
msgid "No disks"
|
||||
msgstr ""
|
||||
|
||||
msgid "Audio"
|
||||
msgstr ""
|
||||
|
||||
msgid "Audio:"
|
||||
msgstr ""
|
||||
|
||||
msgid "ACPI shutdown"
|
||||
msgstr "Vypnout skrze rozhraní ACPI"
|
||||
|
||||
@@ -1347,6 +1671,9 @@ msgstr "Neznámá sběrnice"
|
||||
msgid "Null Driver"
|
||||
msgstr "Nulový ovladač"
|
||||
|
||||
msgid "NIC:"
|
||||
msgstr ""
|
||||
|
||||
msgid "NIC %1 (%2) %3"
|
||||
msgstr "NIC %1 (%2) %3"
|
||||
|
||||
@@ -1416,6 +1743,9 @@ msgstr "Žádné zařízení MCA."
|
||||
msgid "MiB"
|
||||
msgstr "MiB"
|
||||
|
||||
msgid "GiB"
|
||||
msgstr ""
|
||||
|
||||
msgid "Network Card #1"
|
||||
msgstr "Síťová karta 1"
|
||||
|
||||
@@ -2223,6 +2553,9 @@ msgstr "Barevný bez prokládání"
|
||||
msgid "3Dfx Voodoo Graphics"
|
||||
msgstr "Grafický akcelerátor 3dfx Voodoo"
|
||||
|
||||
msgid "3Dfx Voodoo 2"
|
||||
msgstr ""
|
||||
|
||||
msgid "Obsidian SB50 + Amethyst (2 TMUs)"
|
||||
msgstr "Obsidian SB50 + Amethyst (2 jednotky TMU)"
|
||||
|
||||
@@ -2490,6 +2823,84 @@ msgstr ""
|
||||
msgid "Hostname:"
|
||||
msgstr ""
|
||||
|
||||
msgid "ISA RTC"
|
||||
msgstr ""
|
||||
|
||||
msgid "ISA RAM"
|
||||
msgstr ""
|
||||
|
||||
msgid "ISA ROM"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Wipe NVRAM"
|
||||
msgstr ""
|
||||
|
||||
msgid "This will delete all NVRAM (and related) files of the virtual machine located in the \"nvr\" subdirectory. You'll have to reconfigure the BIOS (and possibly other devices inside the VM) settings again if applicable.\n\nAre you sure you want to wipe all NVRAM contents of the virtual machine \"%1\"?"
|
||||
msgstr ""
|
||||
|
||||
msgid "Success"
|
||||
msgstr ""
|
||||
|
||||
msgid "Successfully wiped the NVRAM contents of the virtual machine \"%1\""
|
||||
msgstr ""
|
||||
|
||||
msgid "An error occured trying to wipe the NVRAM contents of the virtual machine \"%1\""
|
||||
msgstr ""
|
||||
|
||||
msgid "%1 VM Manager"
|
||||
msgstr ""
|
||||
|
||||
msgid "%n disk(s)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unknown Status"
|
||||
msgstr ""
|
||||
|
||||
msgid "No Machines Found!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Check for updates on startup"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to determine release information"
|
||||
msgstr ""
|
||||
|
||||
msgid "There was an error checking for updates:\n\n%1\n\nPlease try again later."
|
||||
msgstr ""
|
||||
|
||||
msgid "Update check complete"
|
||||
msgstr ""
|
||||
|
||||
msgid "You are running the latest %1 version of 86Box: %2"
|
||||
msgstr ""
|
||||
|
||||
msgid "version"
|
||||
msgstr ""
|
||||
|
||||
msgid "build"
|
||||
msgstr ""
|
||||
|
||||
msgid "You are currently running %1 <b>%2</b>. "
|
||||
msgstr ""
|
||||
|
||||
msgid "<b>%1 %2</b> is now available. %3Would you like to visit the download page?"
|
||||
msgstr ""
|
||||
|
||||
msgid "Visit download page"
|
||||
msgstr ""
|
||||
|
||||
msgid "Update check"
|
||||
msgstr ""
|
||||
|
||||
msgid "Checking for updates.."
|
||||
msgstr ""
|
||||
|
||||
msgid "86Box Update"
|
||||
msgstr ""
|
||||
|
||||
msgid "Release notes:"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "HD Controller:"
|
||||
#~ msgstr "Řadič disku:"
|
||||
|
||||
|
||||
@@ -27,6 +27,9 @@ msgstr "Strg+Alt+&Esc"
|
||||
msgid "&Pause"
|
||||
msgstr "&Pause"
|
||||
|
||||
msgid "Pause"
|
||||
msgstr ""
|
||||
|
||||
msgid "Re&sume"
|
||||
msgstr "&Fortsetzen"
|
||||
|
||||
@@ -192,6 +195,9 @@ msgstr "&Werkzeuge"
|
||||
msgid "&Settings..."
|
||||
msgstr "&Optionen..."
|
||||
|
||||
msgid "Settings..."
|
||||
msgstr ""
|
||||
|
||||
msgid "&Update status bar icons"
|
||||
msgstr "&Statusleistenicons aktualisieren"
|
||||
|
||||
@@ -357,6 +363,9 @@ msgstr "System:"
|
||||
msgid "Configure"
|
||||
msgstr "Konfigurieren"
|
||||
|
||||
msgid "CPU:"
|
||||
msgstr ""
|
||||
|
||||
msgid "CPU type:"
|
||||
msgstr "CPU-Typ:"
|
||||
|
||||
@@ -417,15 +426,27 @@ msgstr "IBM 8514/A-Grafik"
|
||||
msgid "XGA Graphics"
|
||||
msgstr "XGA-Grafik"
|
||||
|
||||
msgid "IBM PS/55 Display Adapter Graphics"
|
||||
msgstr ""
|
||||
|
||||
msgid "Keyboard:"
|
||||
msgstr "Tastatur:"
|
||||
|
||||
msgid "Keyboard"
|
||||
msgstr ""
|
||||
|
||||
msgid "Mouse:"
|
||||
msgstr "Maus:"
|
||||
|
||||
msgid "Mouse"
|
||||
msgstr ""
|
||||
|
||||
msgid "Joystick:"
|
||||
msgstr "Joystick:"
|
||||
|
||||
msgid "Joystick"
|
||||
msgstr ""
|
||||
|
||||
msgid "Joystick 1..."
|
||||
msgstr "Joystick 1..."
|
||||
|
||||
@@ -456,6 +477,9 @@ msgstr "MIDI Ausgabegerät:"
|
||||
msgid "MIDI In Device:"
|
||||
msgstr "MIDI Eingabegerät:"
|
||||
|
||||
msgid "MIDI Out:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Standalone MPU-401"
|
||||
msgstr "Eigenständiges-MPU-401-Gerät"
|
||||
|
||||
@@ -615,6 +639,12 @@ msgstr "CD-ROM-Laufwerke:"
|
||||
msgid "MO drives:"
|
||||
msgstr "MO-Laufwerke:"
|
||||
|
||||
msgid "MO:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Removable disks:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Removable disk drives:"
|
||||
msgstr "Wechseldatenträger:"
|
||||
|
||||
@@ -741,12 +771,30 @@ msgstr "Netzwerk"
|
||||
msgid "Ports (COM & LPT)"
|
||||
msgstr "Anschlüsse (COM + LPT)"
|
||||
|
||||
msgid "Ports"
|
||||
msgstr ""
|
||||
|
||||
msgid "Serial ports"
|
||||
msgstr ""
|
||||
|
||||
msgid "Parallel ports"
|
||||
msgstr ""
|
||||
|
||||
msgid "Storage controllers"
|
||||
msgstr "Speichercontroller"
|
||||
|
||||
msgid "Hard disks"
|
||||
msgstr "Festplatten"
|
||||
|
||||
msgid "Disks:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Floppy:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Controllers:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Floppy & CD-ROM drives"
|
||||
msgstr "Disketten- + CD-ROM-Laufwerke"
|
||||
|
||||
@@ -756,6 +804,9 @@ msgstr "Andere Wechsellaufwerke"
|
||||
msgid "Other peripherals"
|
||||
msgstr "Andere Peripheriegeräte"
|
||||
|
||||
msgid "Other devices"
|
||||
msgstr ""
|
||||
|
||||
msgid "Click to capture mouse"
|
||||
msgstr "Klicken zum Einfangen des Mauszeigers"
|
||||
|
||||
@@ -900,6 +951,15 @@ msgstr "Willkommen bei 86Box!"
|
||||
msgid "Internal device"
|
||||
msgstr "Interne Gerät"
|
||||
|
||||
msgid "&File"
|
||||
msgstr ""
|
||||
|
||||
msgid "&New machine..."
|
||||
msgstr ""
|
||||
|
||||
msgid "&Check for updates..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Exit"
|
||||
msgstr "Beenden"
|
||||
|
||||
@@ -996,6 +1056,9 @@ msgstr "Fortsetzen"
|
||||
msgid "Pause execution"
|
||||
msgstr "Pausieren"
|
||||
|
||||
msgid "Ctrl+Alt+Del"
|
||||
msgstr ""
|
||||
|
||||
msgid "Press Ctrl+Alt+Del"
|
||||
msgstr "Strg+Alt+Entf drücken"
|
||||
|
||||
@@ -1005,6 +1068,267 @@ msgstr "Strg+Alt+Esc drücken"
|
||||
msgid "Hard reset"
|
||||
msgstr "Kaltstart"
|
||||
|
||||
msgid "Force shutdown"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start"
|
||||
msgstr ""
|
||||
|
||||
msgid "Not running"
|
||||
msgstr ""
|
||||
|
||||
msgid "Running"
|
||||
msgstr ""
|
||||
|
||||
msgid "Paused"
|
||||
msgstr ""
|
||||
|
||||
msgid "Paused (Waiting)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Powered Off"
|
||||
msgstr ""
|
||||
|
||||
msgid "waiting"
|
||||
msgstr ""
|
||||
|
||||
msgid "total"
|
||||
msgstr ""
|
||||
|
||||
msgid "System Directory:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Choose directory"
|
||||
msgstr ""
|
||||
|
||||
msgid "Choose configuration file"
|
||||
msgstr ""
|
||||
|
||||
msgid "86Box configuration files (86box.cfg)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Configuration read failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to open the selected configuration file for reading: %1"
|
||||
msgstr ""
|
||||
|
||||
msgid "Use regular expressions in search box"
|
||||
msgstr ""
|
||||
|
||||
msgid "%1 machine(s) are currently active. Are you sure you want to exit the VM manager anyway?"
|
||||
msgstr ""
|
||||
|
||||
msgid "Add new system wizard"
|
||||
msgstr ""
|
||||
|
||||
msgid "Introduction"
|
||||
msgstr ""
|
||||
|
||||
msgid "This will help you add a new system to 86Box."
|
||||
msgstr ""
|
||||
|
||||
msgid "New configuration"
|
||||
msgstr ""
|
||||
|
||||
msgid "Complete"
|
||||
msgstr ""
|
||||
|
||||
msgid "The wizard will now launch the configuration for the new system."
|
||||
msgstr ""
|
||||
|
||||
msgid "Use existing configuration"
|
||||
msgstr ""
|
||||
|
||||
msgid "Type some notes here"
|
||||
msgstr ""
|
||||
|
||||
msgid "Paste the contents of the existing configuration file into the box below."
|
||||
msgstr ""
|
||||
|
||||
msgid "Load configuration from file"
|
||||
msgstr ""
|
||||
|
||||
msgid "System Name"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name:"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name cannot contain certain characters"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name already exists"
|
||||
msgstr ""
|
||||
|
||||
msgid "Please enter a directory for the system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Directory does not exist"
|
||||
msgstr ""
|
||||
|
||||
msgid "A new directory for the system will be created in the selected directory above"
|
||||
msgstr ""
|
||||
|
||||
msgid "System location:"
|
||||
msgstr ""
|
||||
|
||||
msgid "System Location"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name and location"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter the name of the system and choose the location"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter the name of the system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Please enter a system name"
|
||||
msgstr ""
|
||||
|
||||
msgid "Display Name (optional)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Display name:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Set display name"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter the new display name (blank to reset)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Change &display name..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Context Menu"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Open folder..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Open &printer tray..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Set &icon..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Select an icon"
|
||||
msgstr ""
|
||||
|
||||
msgid "C&lone..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Virtual machine \"%1\" (%2) will be cloned into:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Directory %1 already exists"
|
||||
msgstr ""
|
||||
|
||||
msgid "You cannot use the following characters in the name: %1"
|
||||
msgstr ""
|
||||
|
||||
msgid "Clone"
|
||||
msgstr ""
|
||||
|
||||
msgid "Failed to create directory for cloned VM"
|
||||
msgstr ""
|
||||
|
||||
msgid "Failed to clone VM."
|
||||
msgstr ""
|
||||
|
||||
msgid "Directory in use"
|
||||
msgstr ""
|
||||
|
||||
msgid "The selected directory is already in use. Please select a different directory."
|
||||
msgstr ""
|
||||
|
||||
msgid "Create directory failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to create the directory for the new system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Configuration write failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to open the configuration file at %1 for writing"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error adding system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Abnormal program termination while creating new system: exit code %1, exit status %2.\n\nThe system will not be added."
|
||||
msgstr ""
|
||||
|
||||
msgid "Remove directory failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Some files in the machine's directory were unable to be deleted. Please delete them manually."
|
||||
msgstr ""
|
||||
|
||||
msgid "Build"
|
||||
msgstr ""
|
||||
|
||||
msgid "Version"
|
||||
msgstr ""
|
||||
|
||||
msgid "<b>An update to 86Box is available!</b>"
|
||||
msgstr ""
|
||||
|
||||
msgid "Warning"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Kill"
|
||||
msgstr ""
|
||||
|
||||
msgid "Killing a virtual machine can cause data loss. Only do this if the 86Box process gets stuck.\n\nDo you really wish to kill the virtual machine \"%1\"?"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Delete"
|
||||
msgstr ""
|
||||
|
||||
msgid "Do you really want to delete the virtual machine \"%1\" and all its files? This action cannot be undone!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Show &config file"
|
||||
msgstr ""
|
||||
|
||||
msgid "No screenshot"
|
||||
msgstr ""
|
||||
|
||||
msgid "Search"
|
||||
msgstr ""
|
||||
|
||||
msgid "Searching for VMs..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Found %1"
|
||||
msgstr ""
|
||||
|
||||
msgid "System"
|
||||
msgstr ""
|
||||
|
||||
msgid "Storage"
|
||||
msgstr ""
|
||||
|
||||
msgid "Disk %1: "
|
||||
msgstr ""
|
||||
|
||||
msgid "No disks"
|
||||
msgstr ""
|
||||
|
||||
msgid "Audio"
|
||||
msgstr ""
|
||||
|
||||
msgid "Audio:"
|
||||
msgstr ""
|
||||
|
||||
msgid "ACPI shutdown"
|
||||
msgstr "Über ACPI herunterfahren"
|
||||
|
||||
@@ -1347,6 +1671,9 @@ msgstr "Unbekannter Bus"
|
||||
msgid "Null Driver"
|
||||
msgstr "Nulltreiber"
|
||||
|
||||
msgid "NIC:"
|
||||
msgstr ""
|
||||
|
||||
msgid "NIC %1 (%2) %3"
|
||||
msgstr "NIC %1 (%2) %3"
|
||||
|
||||
@@ -1416,6 +1743,9 @@ msgstr "Keine MCA-Geräte."
|
||||
msgid "MiB"
|
||||
msgstr "MiB"
|
||||
|
||||
msgid "GiB"
|
||||
msgstr ""
|
||||
|
||||
msgid "Network Card #1"
|
||||
msgstr "Netzwerkkarte 1"
|
||||
|
||||
@@ -2223,6 +2553,9 @@ msgstr "Farbe (Kein Zeilensprungverfahren)"
|
||||
msgid "3Dfx Voodoo Graphics"
|
||||
msgstr "3Dfx Voodoo Grafik"
|
||||
|
||||
msgid "3Dfx Voodoo 2"
|
||||
msgstr ""
|
||||
|
||||
msgid "Obsidian SB50 + Amethyst (2 TMUs)"
|
||||
msgstr "Obsidian SB50 + Amethyst (2 TMUs)"
|
||||
|
||||
@@ -2490,6 +2823,84 @@ msgstr "Hub-Modus"
|
||||
msgid "Hostname:"
|
||||
msgstr "Hostname:"
|
||||
|
||||
msgid "ISA RTC"
|
||||
msgstr ""
|
||||
|
||||
msgid "ISA RAM"
|
||||
msgstr ""
|
||||
|
||||
msgid "ISA ROM"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Wipe NVRAM"
|
||||
msgstr ""
|
||||
|
||||
msgid "This will delete all NVRAM (and related) files of the virtual machine located in the \"nvr\" subdirectory. You'll have to reconfigure the BIOS (and possibly other devices inside the VM) settings again if applicable.\n\nAre you sure you want to wipe all NVRAM contents of the virtual machine \"%1\"?"
|
||||
msgstr ""
|
||||
|
||||
msgid "Success"
|
||||
msgstr ""
|
||||
|
||||
msgid "Successfully wiped the NVRAM contents of the virtual machine \"%1\""
|
||||
msgstr ""
|
||||
|
||||
msgid "An error occured trying to wipe the NVRAM contents of the virtual machine \"%1\""
|
||||
msgstr ""
|
||||
|
||||
msgid "%1 VM Manager"
|
||||
msgstr ""
|
||||
|
||||
msgid "%n disk(s)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unknown Status"
|
||||
msgstr ""
|
||||
|
||||
msgid "No Machines Found!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Check for updates on startup"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to determine release information"
|
||||
msgstr ""
|
||||
|
||||
msgid "There was an error checking for updates:\n\n%1\n\nPlease try again later."
|
||||
msgstr ""
|
||||
|
||||
msgid "Update check complete"
|
||||
msgstr ""
|
||||
|
||||
msgid "You are running the latest %1 version of 86Box: %2"
|
||||
msgstr ""
|
||||
|
||||
msgid "version"
|
||||
msgstr ""
|
||||
|
||||
msgid "build"
|
||||
msgstr ""
|
||||
|
||||
msgid "You are currently running %1 <b>%2</b>. "
|
||||
msgstr ""
|
||||
|
||||
msgid "<b>%1 %2</b> is now available. %3Would you like to visit the download page?"
|
||||
msgstr ""
|
||||
|
||||
msgid "Visit download page"
|
||||
msgstr ""
|
||||
|
||||
msgid "Update check"
|
||||
msgstr ""
|
||||
|
||||
msgid "Checking for updates.."
|
||||
msgstr ""
|
||||
|
||||
msgid "86Box Update"
|
||||
msgstr ""
|
||||
|
||||
msgid "Release notes:"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "HD Controller:"
|
||||
#~ msgstr "HDD-Controller:"
|
||||
|
||||
|
||||
@@ -27,6 +27,9 @@ msgstr "Ctrl+Alt+&Esc"
|
||||
msgid "&Pause"
|
||||
msgstr "&Pausa"
|
||||
|
||||
msgid "Pause"
|
||||
msgstr ""
|
||||
|
||||
msgid "Re&sume"
|
||||
msgstr ""
|
||||
|
||||
@@ -192,6 +195,9 @@ msgstr "&Herramientas"
|
||||
msgid "&Settings..."
|
||||
msgstr "&Configuraciones..."
|
||||
|
||||
msgid "Settings..."
|
||||
msgstr ""
|
||||
|
||||
msgid "&Update status bar icons"
|
||||
msgstr "&Actualizar iconos en barra de estado"
|
||||
|
||||
@@ -357,6 +363,9 @@ msgstr "Máquina:"
|
||||
msgid "Configure"
|
||||
msgstr "Configurar"
|
||||
|
||||
msgid "CPU:"
|
||||
msgstr ""
|
||||
|
||||
msgid "CPU type:"
|
||||
msgstr "Tipo de CPU:"
|
||||
|
||||
@@ -417,15 +426,27 @@ msgstr "Gráficos IBM 8514/A"
|
||||
msgid "XGA Graphics"
|
||||
msgstr "Gráficos XGA"
|
||||
|
||||
msgid "IBM PS/55 Display Adapter Graphics"
|
||||
msgstr ""
|
||||
|
||||
msgid "Keyboard:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Keyboard"
|
||||
msgstr ""
|
||||
|
||||
msgid "Mouse:"
|
||||
msgstr "Ratón:"
|
||||
|
||||
msgid "Mouse"
|
||||
msgstr ""
|
||||
|
||||
msgid "Joystick:"
|
||||
msgstr "Mando:"
|
||||
|
||||
msgid "Joystick"
|
||||
msgstr ""
|
||||
|
||||
msgid "Joystick 1..."
|
||||
msgstr "Mando 1..."
|
||||
|
||||
@@ -456,6 +477,9 @@ msgstr "Dispositivo MIDI de salida:"
|
||||
msgid "MIDI In Device:"
|
||||
msgstr "Dispositivo MIDI de entrada:"
|
||||
|
||||
msgid "MIDI Out:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Standalone MPU-401"
|
||||
msgstr "MPU-401 independiente"
|
||||
|
||||
@@ -615,6 +639,12 @@ msgstr "Unidades de CD-ROM:"
|
||||
msgid "MO drives:"
|
||||
msgstr "Unidades MO:"
|
||||
|
||||
msgid "MO:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Removable disks:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Removable disk drives:"
|
||||
msgstr ""
|
||||
|
||||
@@ -741,12 +771,30 @@ msgstr "Red"
|
||||
msgid "Ports (COM & LPT)"
|
||||
msgstr "Puertos (COM y LPT)"
|
||||
|
||||
msgid "Ports"
|
||||
msgstr ""
|
||||
|
||||
msgid "Serial ports"
|
||||
msgstr ""
|
||||
|
||||
msgid "Parallel ports"
|
||||
msgstr ""
|
||||
|
||||
msgid "Storage controllers"
|
||||
msgstr "Controladoras de Almacenamiento"
|
||||
|
||||
msgid "Hard disks"
|
||||
msgstr "Discos Duros"
|
||||
|
||||
msgid "Disks:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Floppy:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Controllers:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Floppy & CD-ROM drives"
|
||||
msgstr "Disquetes y unidades de CD-ROM"
|
||||
|
||||
@@ -756,6 +804,9 @@ msgstr "Otros dispositivos extraíbles"
|
||||
msgid "Other peripherals"
|
||||
msgstr "Otros periféricos"
|
||||
|
||||
msgid "Other devices"
|
||||
msgstr ""
|
||||
|
||||
msgid "Click to capture mouse"
|
||||
msgstr "Haga click para capturar el ratón"
|
||||
|
||||
@@ -900,6 +951,15 @@ msgstr "¡Bienvenido a 86Box!"
|
||||
msgid "Internal device"
|
||||
msgstr "Dispositivo interno"
|
||||
|
||||
msgid "&File"
|
||||
msgstr ""
|
||||
|
||||
msgid "&New machine..."
|
||||
msgstr ""
|
||||
|
||||
msgid "&Check for updates..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Exit"
|
||||
msgstr "Salir"
|
||||
|
||||
@@ -996,6 +1056,9 @@ msgstr "Retomar la ejecución"
|
||||
msgid "Pause execution"
|
||||
msgstr "Pausar la ejecución"
|
||||
|
||||
msgid "Ctrl+Alt+Del"
|
||||
msgstr ""
|
||||
|
||||
msgid "Press Ctrl+Alt+Del"
|
||||
msgstr "Pulsar Ctrl+Alt+Supr"
|
||||
|
||||
@@ -1005,6 +1068,267 @@ msgstr "Pulsar Ctrl+Alt+Esc"
|
||||
msgid "Hard reset"
|
||||
msgstr "Hard reset"
|
||||
|
||||
msgid "Force shutdown"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start"
|
||||
msgstr ""
|
||||
|
||||
msgid "Not running"
|
||||
msgstr ""
|
||||
|
||||
msgid "Running"
|
||||
msgstr ""
|
||||
|
||||
msgid "Paused"
|
||||
msgstr ""
|
||||
|
||||
msgid "Paused (Waiting)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Powered Off"
|
||||
msgstr ""
|
||||
|
||||
msgid "waiting"
|
||||
msgstr ""
|
||||
|
||||
msgid "total"
|
||||
msgstr ""
|
||||
|
||||
msgid "System Directory:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Choose directory"
|
||||
msgstr ""
|
||||
|
||||
msgid "Choose configuration file"
|
||||
msgstr ""
|
||||
|
||||
msgid "86Box configuration files (86box.cfg)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Configuration read failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to open the selected configuration file for reading: %1"
|
||||
msgstr ""
|
||||
|
||||
msgid "Use regular expressions in search box"
|
||||
msgstr ""
|
||||
|
||||
msgid "%1 machine(s) are currently active. Are you sure you want to exit the VM manager anyway?"
|
||||
msgstr ""
|
||||
|
||||
msgid "Add new system wizard"
|
||||
msgstr ""
|
||||
|
||||
msgid "Introduction"
|
||||
msgstr ""
|
||||
|
||||
msgid "This will help you add a new system to 86Box."
|
||||
msgstr ""
|
||||
|
||||
msgid "New configuration"
|
||||
msgstr ""
|
||||
|
||||
msgid "Complete"
|
||||
msgstr ""
|
||||
|
||||
msgid "The wizard will now launch the configuration for the new system."
|
||||
msgstr ""
|
||||
|
||||
msgid "Use existing configuration"
|
||||
msgstr ""
|
||||
|
||||
msgid "Type some notes here"
|
||||
msgstr ""
|
||||
|
||||
msgid "Paste the contents of the existing configuration file into the box below."
|
||||
msgstr ""
|
||||
|
||||
msgid "Load configuration from file"
|
||||
msgstr ""
|
||||
|
||||
msgid "System Name"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name:"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name cannot contain certain characters"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name already exists"
|
||||
msgstr ""
|
||||
|
||||
msgid "Please enter a directory for the system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Directory does not exist"
|
||||
msgstr ""
|
||||
|
||||
msgid "A new directory for the system will be created in the selected directory above"
|
||||
msgstr ""
|
||||
|
||||
msgid "System location:"
|
||||
msgstr ""
|
||||
|
||||
msgid "System Location"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name and location"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter the name of the system and choose the location"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter the name of the system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Please enter a system name"
|
||||
msgstr ""
|
||||
|
||||
msgid "Display Name (optional)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Display name:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Set display name"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter the new display name (blank to reset)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Change &display name..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Context Menu"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Open folder..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Open &printer tray..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Set &icon..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Select an icon"
|
||||
msgstr ""
|
||||
|
||||
msgid "C&lone..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Virtual machine \"%1\" (%2) will be cloned into:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Directory %1 already exists"
|
||||
msgstr ""
|
||||
|
||||
msgid "You cannot use the following characters in the name: %1"
|
||||
msgstr ""
|
||||
|
||||
msgid "Clone"
|
||||
msgstr ""
|
||||
|
||||
msgid "Failed to create directory for cloned VM"
|
||||
msgstr ""
|
||||
|
||||
msgid "Failed to clone VM."
|
||||
msgstr ""
|
||||
|
||||
msgid "Directory in use"
|
||||
msgstr ""
|
||||
|
||||
msgid "The selected directory is already in use. Please select a different directory."
|
||||
msgstr ""
|
||||
|
||||
msgid "Create directory failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to create the directory for the new system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Configuration write failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to open the configuration file at %1 for writing"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error adding system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Abnormal program termination while creating new system: exit code %1, exit status %2.\n\nThe system will not be added."
|
||||
msgstr ""
|
||||
|
||||
msgid "Remove directory failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Some files in the machine's directory were unable to be deleted. Please delete them manually."
|
||||
msgstr ""
|
||||
|
||||
msgid "Build"
|
||||
msgstr ""
|
||||
|
||||
msgid "Version"
|
||||
msgstr ""
|
||||
|
||||
msgid "<b>An update to 86Box is available!</b>"
|
||||
msgstr ""
|
||||
|
||||
msgid "Warning"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Kill"
|
||||
msgstr ""
|
||||
|
||||
msgid "Killing a virtual machine can cause data loss. Only do this if the 86Box process gets stuck.\n\nDo you really wish to kill the virtual machine \"%1\"?"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Delete"
|
||||
msgstr ""
|
||||
|
||||
msgid "Do you really want to delete the virtual machine \"%1\" and all its files? This action cannot be undone!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Show &config file"
|
||||
msgstr ""
|
||||
|
||||
msgid "No screenshot"
|
||||
msgstr ""
|
||||
|
||||
msgid "Search"
|
||||
msgstr ""
|
||||
|
||||
msgid "Searching for VMs..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Found %1"
|
||||
msgstr ""
|
||||
|
||||
msgid "System"
|
||||
msgstr ""
|
||||
|
||||
msgid "Storage"
|
||||
msgstr ""
|
||||
|
||||
msgid "Disk %1: "
|
||||
msgstr ""
|
||||
|
||||
msgid "No disks"
|
||||
msgstr ""
|
||||
|
||||
msgid "Audio"
|
||||
msgstr ""
|
||||
|
||||
msgid "Audio:"
|
||||
msgstr ""
|
||||
|
||||
msgid "ACPI shutdown"
|
||||
msgstr "Parada ACPI"
|
||||
|
||||
@@ -1347,6 +1671,9 @@ msgstr "Bus desconocido"
|
||||
msgid "Null Driver"
|
||||
msgstr "Controlador nulo"
|
||||
|
||||
msgid "NIC:"
|
||||
msgstr ""
|
||||
|
||||
msgid "NIC %1 (%2) %3"
|
||||
msgstr "NIC %1 (%2) %3"
|
||||
|
||||
@@ -1416,6 +1743,9 @@ msgstr "No hay dispositovos MCA."
|
||||
msgid "MiB"
|
||||
msgstr "MiB"
|
||||
|
||||
msgid "GiB"
|
||||
msgstr ""
|
||||
|
||||
msgid "Network Card #1"
|
||||
msgstr "Tarjeta de red 1"
|
||||
|
||||
@@ -2223,6 +2553,9 @@ msgstr "Color no entrelazado"
|
||||
msgid "3Dfx Voodoo Graphics"
|
||||
msgstr "Gráficos 3dfx Voodoo"
|
||||
|
||||
msgid "3Dfx Voodoo 2"
|
||||
msgstr ""
|
||||
|
||||
msgid "Obsidian SB50 + Amethyst (2 TMUs)"
|
||||
msgstr "Obsidian SB50 + Amethyst (2 unidades TMU)"
|
||||
|
||||
@@ -2490,6 +2823,84 @@ msgstr ""
|
||||
msgid "Hostname:"
|
||||
msgstr ""
|
||||
|
||||
msgid "ISA RTC"
|
||||
msgstr ""
|
||||
|
||||
msgid "ISA RAM"
|
||||
msgstr ""
|
||||
|
||||
msgid "ISA ROM"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Wipe NVRAM"
|
||||
msgstr ""
|
||||
|
||||
msgid "This will delete all NVRAM (and related) files of the virtual machine located in the \"nvr\" subdirectory. You'll have to reconfigure the BIOS (and possibly other devices inside the VM) settings again if applicable.\n\nAre you sure you want to wipe all NVRAM contents of the virtual machine \"%1\"?"
|
||||
msgstr ""
|
||||
|
||||
msgid "Success"
|
||||
msgstr ""
|
||||
|
||||
msgid "Successfully wiped the NVRAM contents of the virtual machine \"%1\""
|
||||
msgstr ""
|
||||
|
||||
msgid "An error occured trying to wipe the NVRAM contents of the virtual machine \"%1\""
|
||||
msgstr ""
|
||||
|
||||
msgid "%1 VM Manager"
|
||||
msgstr ""
|
||||
|
||||
msgid "%n disk(s)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unknown Status"
|
||||
msgstr ""
|
||||
|
||||
msgid "No Machines Found!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Check for updates on startup"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to determine release information"
|
||||
msgstr ""
|
||||
|
||||
msgid "There was an error checking for updates:\n\n%1\n\nPlease try again later."
|
||||
msgstr ""
|
||||
|
||||
msgid "Update check complete"
|
||||
msgstr ""
|
||||
|
||||
msgid "You are running the latest %1 version of 86Box: %2"
|
||||
msgstr ""
|
||||
|
||||
msgid "version"
|
||||
msgstr ""
|
||||
|
||||
msgid "build"
|
||||
msgstr ""
|
||||
|
||||
msgid "You are currently running %1 <b>%2</b>. "
|
||||
msgstr ""
|
||||
|
||||
msgid "<b>%1 %2</b> is now available. %3Would you like to visit the download page?"
|
||||
msgstr ""
|
||||
|
||||
msgid "Visit download page"
|
||||
msgstr ""
|
||||
|
||||
msgid "Update check"
|
||||
msgstr ""
|
||||
|
||||
msgid "Checking for updates.."
|
||||
msgstr ""
|
||||
|
||||
msgid "86Box Update"
|
||||
msgstr ""
|
||||
|
||||
msgid "Release notes:"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "HD Controller:"
|
||||
#~ msgstr "Controladora HD:"
|
||||
|
||||
|
||||
@@ -27,6 +27,9 @@ msgstr "Ctrl+Alt+&Esc"
|
||||
msgid "&Pause"
|
||||
msgstr "&Tauko"
|
||||
|
||||
msgid "Pause"
|
||||
msgstr ""
|
||||
|
||||
msgid "Re&sume"
|
||||
msgstr ""
|
||||
|
||||
@@ -192,6 +195,9 @@ msgstr "Työ&kalut"
|
||||
msgid "&Settings..."
|
||||
msgstr "&Kokoonpano..."
|
||||
|
||||
msgid "Settings..."
|
||||
msgstr ""
|
||||
|
||||
msgid "&Update status bar icons"
|
||||
msgstr "&Päivitä tilapalkin kuvakkeita"
|
||||
|
||||
@@ -357,6 +363,9 @@ msgstr "Tietokone:"
|
||||
msgid "Configure"
|
||||
msgstr "Määritys"
|
||||
|
||||
msgid "CPU:"
|
||||
msgstr ""
|
||||
|
||||
msgid "CPU type:"
|
||||
msgstr "Suorittimen tyyppi:"
|
||||
|
||||
@@ -417,15 +426,27 @@ msgstr "IBM 8514/A-grafiikkasuoritin"
|
||||
msgid "XGA Graphics"
|
||||
msgstr "XGA-grafiikkasuoritin"
|
||||
|
||||
msgid "IBM PS/55 Display Adapter Graphics"
|
||||
msgstr ""
|
||||
|
||||
msgid "Keyboard:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Keyboard"
|
||||
msgstr ""
|
||||
|
||||
msgid "Mouse:"
|
||||
msgstr "Hiiri:"
|
||||
|
||||
msgid "Mouse"
|
||||
msgstr ""
|
||||
|
||||
msgid "Joystick:"
|
||||
msgstr "Peliohjain:"
|
||||
|
||||
msgid "Joystick"
|
||||
msgstr ""
|
||||
|
||||
msgid "Joystick 1..."
|
||||
msgstr "Peliohjain 1..."
|
||||
|
||||
@@ -456,6 +477,9 @@ msgstr "MIDI-ulostulo:"
|
||||
msgid "MIDI In Device:"
|
||||
msgstr "MIDI-sisääntulo:"
|
||||
|
||||
msgid "MIDI Out:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Standalone MPU-401"
|
||||
msgstr "Erillinen MPU-401"
|
||||
|
||||
@@ -615,6 +639,12 @@ msgstr "CD-ROM-asemat:"
|
||||
msgid "MO drives:"
|
||||
msgstr "Magneettisoptiset asemat (MO):"
|
||||
|
||||
msgid "MO:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Removable disks:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Removable disk drives:"
|
||||
msgstr ""
|
||||
|
||||
@@ -741,12 +771,30 @@ msgstr "Verkko"
|
||||
msgid "Ports (COM & LPT)"
|
||||
msgstr "Portit (COM & LPT)"
|
||||
|
||||
msgid "Ports"
|
||||
msgstr ""
|
||||
|
||||
msgid "Serial ports"
|
||||
msgstr ""
|
||||
|
||||
msgid "Parallel ports"
|
||||
msgstr ""
|
||||
|
||||
msgid "Storage controllers"
|
||||
msgstr "Tallennusohjaimet"
|
||||
|
||||
msgid "Hard disks"
|
||||
msgstr "Kiintolevyt"
|
||||
|
||||
msgid "Disks:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Floppy:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Controllers:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Floppy & CD-ROM drives"
|
||||
msgstr "Levyke ja CD-ROM"
|
||||
|
||||
@@ -756,6 +804,9 @@ msgstr "Muut tallennuslaitteet"
|
||||
msgid "Other peripherals"
|
||||
msgstr "Muut oheislaitteet"
|
||||
|
||||
msgid "Other devices"
|
||||
msgstr ""
|
||||
|
||||
msgid "Click to capture mouse"
|
||||
msgstr "Kaappaa hiiri klikkaamalla"
|
||||
|
||||
@@ -900,6 +951,15 @@ msgstr "Tervetuloa 86Boxiin!"
|
||||
msgid "Internal device"
|
||||
msgstr "Sisäinen laite"
|
||||
|
||||
msgid "&File"
|
||||
msgstr ""
|
||||
|
||||
msgid "&New machine..."
|
||||
msgstr ""
|
||||
|
||||
msgid "&Check for updates..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Exit"
|
||||
msgstr "Poistu"
|
||||
|
||||
@@ -996,6 +1056,9 @@ msgstr "Jatka suoritusta"
|
||||
msgid "Pause execution"
|
||||
msgstr "Pysäytä suoritus"
|
||||
|
||||
msgid "Ctrl+Alt+Del"
|
||||
msgstr ""
|
||||
|
||||
msgid "Press Ctrl+Alt+Del"
|
||||
msgstr "Paina Ctrl+Alt+Del"
|
||||
|
||||
@@ -1005,6 +1068,267 @@ msgstr "Paina Ctrl+Alt+Esc"
|
||||
msgid "Hard reset"
|
||||
msgstr "Kylmä uudelleenkäynnistys"
|
||||
|
||||
msgid "Force shutdown"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start"
|
||||
msgstr ""
|
||||
|
||||
msgid "Not running"
|
||||
msgstr ""
|
||||
|
||||
msgid "Running"
|
||||
msgstr ""
|
||||
|
||||
msgid "Paused"
|
||||
msgstr ""
|
||||
|
||||
msgid "Paused (Waiting)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Powered Off"
|
||||
msgstr ""
|
||||
|
||||
msgid "waiting"
|
||||
msgstr ""
|
||||
|
||||
msgid "total"
|
||||
msgstr ""
|
||||
|
||||
msgid "System Directory:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Choose directory"
|
||||
msgstr ""
|
||||
|
||||
msgid "Choose configuration file"
|
||||
msgstr ""
|
||||
|
||||
msgid "86Box configuration files (86box.cfg)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Configuration read failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to open the selected configuration file for reading: %1"
|
||||
msgstr ""
|
||||
|
||||
msgid "Use regular expressions in search box"
|
||||
msgstr ""
|
||||
|
||||
msgid "%1 machine(s) are currently active. Are you sure you want to exit the VM manager anyway?"
|
||||
msgstr ""
|
||||
|
||||
msgid "Add new system wizard"
|
||||
msgstr ""
|
||||
|
||||
msgid "Introduction"
|
||||
msgstr ""
|
||||
|
||||
msgid "This will help you add a new system to 86Box."
|
||||
msgstr ""
|
||||
|
||||
msgid "New configuration"
|
||||
msgstr ""
|
||||
|
||||
msgid "Complete"
|
||||
msgstr ""
|
||||
|
||||
msgid "The wizard will now launch the configuration for the new system."
|
||||
msgstr ""
|
||||
|
||||
msgid "Use existing configuration"
|
||||
msgstr ""
|
||||
|
||||
msgid "Type some notes here"
|
||||
msgstr ""
|
||||
|
||||
msgid "Paste the contents of the existing configuration file into the box below."
|
||||
msgstr ""
|
||||
|
||||
msgid "Load configuration from file"
|
||||
msgstr ""
|
||||
|
||||
msgid "System Name"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name:"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name cannot contain certain characters"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name already exists"
|
||||
msgstr ""
|
||||
|
||||
msgid "Please enter a directory for the system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Directory does not exist"
|
||||
msgstr ""
|
||||
|
||||
msgid "A new directory for the system will be created in the selected directory above"
|
||||
msgstr ""
|
||||
|
||||
msgid "System location:"
|
||||
msgstr ""
|
||||
|
||||
msgid "System Location"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name and location"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter the name of the system and choose the location"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter the name of the system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Please enter a system name"
|
||||
msgstr ""
|
||||
|
||||
msgid "Display Name (optional)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Display name:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Set display name"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter the new display name (blank to reset)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Change &display name..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Context Menu"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Open folder..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Open &printer tray..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Set &icon..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Select an icon"
|
||||
msgstr ""
|
||||
|
||||
msgid "C&lone..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Virtual machine \"%1\" (%2) will be cloned into:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Directory %1 already exists"
|
||||
msgstr ""
|
||||
|
||||
msgid "You cannot use the following characters in the name: %1"
|
||||
msgstr ""
|
||||
|
||||
msgid "Clone"
|
||||
msgstr ""
|
||||
|
||||
msgid "Failed to create directory for cloned VM"
|
||||
msgstr ""
|
||||
|
||||
msgid "Failed to clone VM."
|
||||
msgstr ""
|
||||
|
||||
msgid "Directory in use"
|
||||
msgstr ""
|
||||
|
||||
msgid "The selected directory is already in use. Please select a different directory."
|
||||
msgstr ""
|
||||
|
||||
msgid "Create directory failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to create the directory for the new system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Configuration write failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to open the configuration file at %1 for writing"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error adding system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Abnormal program termination while creating new system: exit code %1, exit status %2.\n\nThe system will not be added."
|
||||
msgstr ""
|
||||
|
||||
msgid "Remove directory failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Some files in the machine's directory were unable to be deleted. Please delete them manually."
|
||||
msgstr ""
|
||||
|
||||
msgid "Build"
|
||||
msgstr ""
|
||||
|
||||
msgid "Version"
|
||||
msgstr ""
|
||||
|
||||
msgid "<b>An update to 86Box is available!</b>"
|
||||
msgstr ""
|
||||
|
||||
msgid "Warning"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Kill"
|
||||
msgstr ""
|
||||
|
||||
msgid "Killing a virtual machine can cause data loss. Only do this if the 86Box process gets stuck.\n\nDo you really wish to kill the virtual machine \"%1\"?"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Delete"
|
||||
msgstr ""
|
||||
|
||||
msgid "Do you really want to delete the virtual machine \"%1\" and all its files? This action cannot be undone!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Show &config file"
|
||||
msgstr ""
|
||||
|
||||
msgid "No screenshot"
|
||||
msgstr ""
|
||||
|
||||
msgid "Search"
|
||||
msgstr ""
|
||||
|
||||
msgid "Searching for VMs..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Found %1"
|
||||
msgstr ""
|
||||
|
||||
msgid "System"
|
||||
msgstr ""
|
||||
|
||||
msgid "Storage"
|
||||
msgstr ""
|
||||
|
||||
msgid "Disk %1: "
|
||||
msgstr ""
|
||||
|
||||
msgid "No disks"
|
||||
msgstr ""
|
||||
|
||||
msgid "Audio"
|
||||
msgstr ""
|
||||
|
||||
msgid "Audio:"
|
||||
msgstr ""
|
||||
|
||||
msgid "ACPI shutdown"
|
||||
msgstr "ACPI-sammutus"
|
||||
|
||||
@@ -1347,6 +1671,9 @@ msgstr "Tuntematon väylä"
|
||||
msgid "Null Driver"
|
||||
msgstr "Nolla-ajuri"
|
||||
|
||||
msgid "NIC:"
|
||||
msgstr ""
|
||||
|
||||
msgid "NIC %1 (%2) %3"
|
||||
msgstr "NIC %1 (%2) %3"
|
||||
|
||||
@@ -1416,6 +1743,9 @@ msgstr "Ei MCA-laitteita."
|
||||
msgid "MiB"
|
||||
msgstr "Mit"
|
||||
|
||||
msgid "GiB"
|
||||
msgstr ""
|
||||
|
||||
msgid "Network Card #1"
|
||||
msgstr "Verkkokortti 1"
|
||||
|
||||
@@ -2223,6 +2553,9 @@ msgstr "Väri ei-välitetyt"
|
||||
msgid "3Dfx Voodoo Graphics"
|
||||
msgstr "3dfx Voodoo-grafiikkasuoritin"
|
||||
|
||||
msgid "3Dfx Voodoo 2"
|
||||
msgstr ""
|
||||
|
||||
msgid "Obsidian SB50 + Amethyst (2 TMUs)"
|
||||
msgstr "Obsidian SB50 + Amethyst (2 TMU:ta)"
|
||||
|
||||
@@ -2490,6 +2823,84 @@ msgstr ""
|
||||
msgid "Hostname:"
|
||||
msgstr ""
|
||||
|
||||
msgid "ISA RTC"
|
||||
msgstr ""
|
||||
|
||||
msgid "ISA RAM"
|
||||
msgstr ""
|
||||
|
||||
msgid "ISA ROM"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Wipe NVRAM"
|
||||
msgstr ""
|
||||
|
||||
msgid "This will delete all NVRAM (and related) files of the virtual machine located in the \"nvr\" subdirectory. You'll have to reconfigure the BIOS (and possibly other devices inside the VM) settings again if applicable.\n\nAre you sure you want to wipe all NVRAM contents of the virtual machine \"%1\"?"
|
||||
msgstr ""
|
||||
|
||||
msgid "Success"
|
||||
msgstr ""
|
||||
|
||||
msgid "Successfully wiped the NVRAM contents of the virtual machine \"%1\""
|
||||
msgstr ""
|
||||
|
||||
msgid "An error occured trying to wipe the NVRAM contents of the virtual machine \"%1\""
|
||||
msgstr ""
|
||||
|
||||
msgid "%1 VM Manager"
|
||||
msgstr ""
|
||||
|
||||
msgid "%n disk(s)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unknown Status"
|
||||
msgstr ""
|
||||
|
||||
msgid "No Machines Found!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Check for updates on startup"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to determine release information"
|
||||
msgstr ""
|
||||
|
||||
msgid "There was an error checking for updates:\n\n%1\n\nPlease try again later."
|
||||
msgstr ""
|
||||
|
||||
msgid "Update check complete"
|
||||
msgstr ""
|
||||
|
||||
msgid "You are running the latest %1 version of 86Box: %2"
|
||||
msgstr ""
|
||||
|
||||
msgid "version"
|
||||
msgstr ""
|
||||
|
||||
msgid "build"
|
||||
msgstr ""
|
||||
|
||||
msgid "You are currently running %1 <b>%2</b>. "
|
||||
msgstr ""
|
||||
|
||||
msgid "<b>%1 %2</b> is now available. %3Would you like to visit the download page?"
|
||||
msgstr ""
|
||||
|
||||
msgid "Visit download page"
|
||||
msgstr ""
|
||||
|
||||
msgid "Update check"
|
||||
msgstr ""
|
||||
|
||||
msgid "Checking for updates.."
|
||||
msgstr ""
|
||||
|
||||
msgid "86Box Update"
|
||||
msgstr ""
|
||||
|
||||
msgid "Release notes:"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "HD Controller:"
|
||||
#~ msgstr "Kiintolevyohjain:"
|
||||
|
||||
|
||||
@@ -27,6 +27,9 @@ msgstr "Ctrl+Alt+&Esc"
|
||||
msgid "&Pause"
|
||||
msgstr "&Pause"
|
||||
|
||||
msgid "Pause"
|
||||
msgstr ""
|
||||
|
||||
msgid "Re&sume"
|
||||
msgstr ""
|
||||
|
||||
@@ -192,6 +195,9 @@ msgstr "Ou&tils"
|
||||
msgid "&Settings..."
|
||||
msgstr "&Réglages..."
|
||||
|
||||
msgid "Settings..."
|
||||
msgstr ""
|
||||
|
||||
msgid "&Update status bar icons"
|
||||
msgstr "Mettre à jour la barre de stat&us"
|
||||
|
||||
@@ -357,6 +363,9 @@ msgstr "Machine:"
|
||||
msgid "Configure"
|
||||
msgstr "Configurer"
|
||||
|
||||
msgid "CPU:"
|
||||
msgstr ""
|
||||
|
||||
msgid "CPU type:"
|
||||
msgstr "Type de processeur:"
|
||||
|
||||
@@ -417,15 +426,27 @@ msgstr "Graphique IBM 8514/A"
|
||||
msgid "XGA Graphics"
|
||||
msgstr "Graphique XGA"
|
||||
|
||||
msgid "IBM PS/55 Display Adapter Graphics"
|
||||
msgstr ""
|
||||
|
||||
msgid "Keyboard:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Keyboard"
|
||||
msgstr ""
|
||||
|
||||
msgid "Mouse:"
|
||||
msgstr "Souris:"
|
||||
|
||||
msgid "Mouse"
|
||||
msgstr ""
|
||||
|
||||
msgid "Joystick:"
|
||||
msgstr "Manette:"
|
||||
|
||||
msgid "Joystick"
|
||||
msgstr ""
|
||||
|
||||
msgid "Joystick 1..."
|
||||
msgstr "Manette 1..."
|
||||
|
||||
@@ -456,6 +477,9 @@ msgstr "Sortie MIDI:"
|
||||
msgid "MIDI In Device:"
|
||||
msgstr "Entrée MIDI:"
|
||||
|
||||
msgid "MIDI Out:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Standalone MPU-401"
|
||||
msgstr "MPU-401 autonome"
|
||||
|
||||
@@ -615,6 +639,12 @@ msgstr "Lecteurs CD-ROM:"
|
||||
msgid "MO drives:"
|
||||
msgstr "Lecteurs magnéto-optiques:"
|
||||
|
||||
msgid "MO:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Removable disks:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Removable disk drives:"
|
||||
msgstr ""
|
||||
|
||||
@@ -741,12 +771,30 @@ msgstr "Réseau"
|
||||
msgid "Ports (COM & LPT)"
|
||||
msgstr "Ports (COM et LPT)"
|
||||
|
||||
msgid "Ports"
|
||||
msgstr ""
|
||||
|
||||
msgid "Serial ports"
|
||||
msgstr ""
|
||||
|
||||
msgid "Parallel ports"
|
||||
msgstr ""
|
||||
|
||||
msgid "Storage controllers"
|
||||
msgstr "Contrôleurs de stockage"
|
||||
|
||||
msgid "Hard disks"
|
||||
msgstr "Disques durs"
|
||||
|
||||
msgid "Disks:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Floppy:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Controllers:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Floppy & CD-ROM drives"
|
||||
msgstr "Lecteurs de disquette et CD-ROM"
|
||||
|
||||
@@ -756,6 +804,9 @@ msgstr "Autres dispositifs amovibles"
|
||||
msgid "Other peripherals"
|
||||
msgstr "Autres périphériques"
|
||||
|
||||
msgid "Other devices"
|
||||
msgstr ""
|
||||
|
||||
msgid "Click to capture mouse"
|
||||
msgstr "Cliquer pour capturer la souris"
|
||||
|
||||
@@ -900,6 +951,15 @@ msgstr "Bienvenue dans 86Box !"
|
||||
msgid "Internal device"
|
||||
msgstr "Dispositif interne"
|
||||
|
||||
msgid "&File"
|
||||
msgstr ""
|
||||
|
||||
msgid "&New machine..."
|
||||
msgstr ""
|
||||
|
||||
msgid "&Check for updates..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Exit"
|
||||
msgstr "Sortir"
|
||||
|
||||
@@ -996,6 +1056,9 @@ msgstr "Reprendre l'exécution"
|
||||
msgid "Pause execution"
|
||||
msgstr "Pause de l'exécution"
|
||||
|
||||
msgid "Ctrl+Alt+Del"
|
||||
msgstr ""
|
||||
|
||||
msgid "Press Ctrl+Alt+Del"
|
||||
msgstr "Appuyer sur Ctrl+Alt+Suppr"
|
||||
|
||||
@@ -1005,6 +1068,267 @@ msgstr "Appuyer sur Ctrl+Alt+Esc"
|
||||
msgid "Hard reset"
|
||||
msgstr "Hard reset"
|
||||
|
||||
msgid "Force shutdown"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start"
|
||||
msgstr ""
|
||||
|
||||
msgid "Not running"
|
||||
msgstr ""
|
||||
|
||||
msgid "Running"
|
||||
msgstr ""
|
||||
|
||||
msgid "Paused"
|
||||
msgstr ""
|
||||
|
||||
msgid "Paused (Waiting)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Powered Off"
|
||||
msgstr ""
|
||||
|
||||
msgid "waiting"
|
||||
msgstr ""
|
||||
|
||||
msgid "total"
|
||||
msgstr ""
|
||||
|
||||
msgid "System Directory:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Choose directory"
|
||||
msgstr ""
|
||||
|
||||
msgid "Choose configuration file"
|
||||
msgstr ""
|
||||
|
||||
msgid "86Box configuration files (86box.cfg)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Configuration read failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to open the selected configuration file for reading: %1"
|
||||
msgstr ""
|
||||
|
||||
msgid "Use regular expressions in search box"
|
||||
msgstr ""
|
||||
|
||||
msgid "%1 machine(s) are currently active. Are you sure you want to exit the VM manager anyway?"
|
||||
msgstr ""
|
||||
|
||||
msgid "Add new system wizard"
|
||||
msgstr ""
|
||||
|
||||
msgid "Introduction"
|
||||
msgstr ""
|
||||
|
||||
msgid "This will help you add a new system to 86Box."
|
||||
msgstr ""
|
||||
|
||||
msgid "New configuration"
|
||||
msgstr ""
|
||||
|
||||
msgid "Complete"
|
||||
msgstr ""
|
||||
|
||||
msgid "The wizard will now launch the configuration for the new system."
|
||||
msgstr ""
|
||||
|
||||
msgid "Use existing configuration"
|
||||
msgstr ""
|
||||
|
||||
msgid "Type some notes here"
|
||||
msgstr ""
|
||||
|
||||
msgid "Paste the contents of the existing configuration file into the box below."
|
||||
msgstr ""
|
||||
|
||||
msgid "Load configuration from file"
|
||||
msgstr ""
|
||||
|
||||
msgid "System Name"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name:"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name cannot contain certain characters"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name already exists"
|
||||
msgstr ""
|
||||
|
||||
msgid "Please enter a directory for the system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Directory does not exist"
|
||||
msgstr ""
|
||||
|
||||
msgid "A new directory for the system will be created in the selected directory above"
|
||||
msgstr ""
|
||||
|
||||
msgid "System location:"
|
||||
msgstr ""
|
||||
|
||||
msgid "System Location"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name and location"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter the name of the system and choose the location"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter the name of the system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Please enter a system name"
|
||||
msgstr ""
|
||||
|
||||
msgid "Display Name (optional)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Display name:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Set display name"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter the new display name (blank to reset)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Change &display name..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Context Menu"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Open folder..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Open &printer tray..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Set &icon..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Select an icon"
|
||||
msgstr ""
|
||||
|
||||
msgid "C&lone..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Virtual machine \"%1\" (%2) will be cloned into:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Directory %1 already exists"
|
||||
msgstr ""
|
||||
|
||||
msgid "You cannot use the following characters in the name: %1"
|
||||
msgstr ""
|
||||
|
||||
msgid "Clone"
|
||||
msgstr ""
|
||||
|
||||
msgid "Failed to create directory for cloned VM"
|
||||
msgstr ""
|
||||
|
||||
msgid "Failed to clone VM."
|
||||
msgstr ""
|
||||
|
||||
msgid "Directory in use"
|
||||
msgstr ""
|
||||
|
||||
msgid "The selected directory is already in use. Please select a different directory."
|
||||
msgstr ""
|
||||
|
||||
msgid "Create directory failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to create the directory for the new system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Configuration write failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to open the configuration file at %1 for writing"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error adding system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Abnormal program termination while creating new system: exit code %1, exit status %2.\n\nThe system will not be added."
|
||||
msgstr ""
|
||||
|
||||
msgid "Remove directory failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Some files in the machine's directory were unable to be deleted. Please delete them manually."
|
||||
msgstr ""
|
||||
|
||||
msgid "Build"
|
||||
msgstr ""
|
||||
|
||||
msgid "Version"
|
||||
msgstr ""
|
||||
|
||||
msgid "<b>An update to 86Box is available!</b>"
|
||||
msgstr ""
|
||||
|
||||
msgid "Warning"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Kill"
|
||||
msgstr ""
|
||||
|
||||
msgid "Killing a virtual machine can cause data loss. Only do this if the 86Box process gets stuck.\n\nDo you really wish to kill the virtual machine \"%1\"?"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Delete"
|
||||
msgstr ""
|
||||
|
||||
msgid "Do you really want to delete the virtual machine \"%1\" and all its files? This action cannot be undone!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Show &config file"
|
||||
msgstr ""
|
||||
|
||||
msgid "No screenshot"
|
||||
msgstr ""
|
||||
|
||||
msgid "Search"
|
||||
msgstr ""
|
||||
|
||||
msgid "Searching for VMs..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Found %1"
|
||||
msgstr ""
|
||||
|
||||
msgid "System"
|
||||
msgstr ""
|
||||
|
||||
msgid "Storage"
|
||||
msgstr ""
|
||||
|
||||
msgid "Disk %1: "
|
||||
msgstr ""
|
||||
|
||||
msgid "No disks"
|
||||
msgstr ""
|
||||
|
||||
msgid "Audio"
|
||||
msgstr ""
|
||||
|
||||
msgid "Audio:"
|
||||
msgstr ""
|
||||
|
||||
msgid "ACPI shutdown"
|
||||
msgstr "Arrêt ACPI"
|
||||
|
||||
@@ -1347,6 +1671,9 @@ msgstr "Bus inconnu"
|
||||
msgid "Null Driver"
|
||||
msgstr "Pilote NULL"
|
||||
|
||||
msgid "NIC:"
|
||||
msgstr ""
|
||||
|
||||
msgid "NIC %1 (%2) %3"
|
||||
msgstr "NIC %1 (%2) %3"
|
||||
|
||||
@@ -1416,6 +1743,9 @@ msgstr "Pas de dispositifs MCA."
|
||||
msgid "MiB"
|
||||
msgstr "Mio"
|
||||
|
||||
msgid "GiB"
|
||||
msgstr ""
|
||||
|
||||
msgid "Network Card #1"
|
||||
msgstr "Carte réseau 1"
|
||||
|
||||
@@ -2223,6 +2553,9 @@ msgstr "Couleur non entrelacée"
|
||||
msgid "3Dfx Voodoo Graphics"
|
||||
msgstr "Graphique 3dfx Voodoo"
|
||||
|
||||
msgid "3Dfx Voodoo 2"
|
||||
msgstr ""
|
||||
|
||||
msgid "Obsidian SB50 + Amethyst (2 TMUs)"
|
||||
msgstr "Obsidian SB50 + Amethyst (2 unités TMU)"
|
||||
|
||||
@@ -2490,6 +2823,84 @@ msgstr ""
|
||||
msgid "Hostname:"
|
||||
msgstr ""
|
||||
|
||||
msgid "ISA RTC"
|
||||
msgstr ""
|
||||
|
||||
msgid "ISA RAM"
|
||||
msgstr ""
|
||||
|
||||
msgid "ISA ROM"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Wipe NVRAM"
|
||||
msgstr ""
|
||||
|
||||
msgid "This will delete all NVRAM (and related) files of the virtual machine located in the \"nvr\" subdirectory. You'll have to reconfigure the BIOS (and possibly other devices inside the VM) settings again if applicable.\n\nAre you sure you want to wipe all NVRAM contents of the virtual machine \"%1\"?"
|
||||
msgstr ""
|
||||
|
||||
msgid "Success"
|
||||
msgstr ""
|
||||
|
||||
msgid "Successfully wiped the NVRAM contents of the virtual machine \"%1\""
|
||||
msgstr ""
|
||||
|
||||
msgid "An error occured trying to wipe the NVRAM contents of the virtual machine \"%1\""
|
||||
msgstr ""
|
||||
|
||||
msgid "%1 VM Manager"
|
||||
msgstr ""
|
||||
|
||||
msgid "%n disk(s)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unknown Status"
|
||||
msgstr ""
|
||||
|
||||
msgid "No Machines Found!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Check for updates on startup"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to determine release information"
|
||||
msgstr ""
|
||||
|
||||
msgid "There was an error checking for updates:\n\n%1\n\nPlease try again later."
|
||||
msgstr ""
|
||||
|
||||
msgid "Update check complete"
|
||||
msgstr ""
|
||||
|
||||
msgid "You are running the latest %1 version of 86Box: %2"
|
||||
msgstr ""
|
||||
|
||||
msgid "version"
|
||||
msgstr ""
|
||||
|
||||
msgid "build"
|
||||
msgstr ""
|
||||
|
||||
msgid "You are currently running %1 <b>%2</b>. "
|
||||
msgstr ""
|
||||
|
||||
msgid "<b>%1 %2</b> is now available. %3Would you like to visit the download page?"
|
||||
msgstr ""
|
||||
|
||||
msgid "Visit download page"
|
||||
msgstr ""
|
||||
|
||||
msgid "Update check"
|
||||
msgstr ""
|
||||
|
||||
msgid "Checking for updates.."
|
||||
msgstr ""
|
||||
|
||||
msgid "86Box Update"
|
||||
msgstr ""
|
||||
|
||||
msgid "Release notes:"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "HD Controller:"
|
||||
#~ msgstr "Contrôleur HD:"
|
||||
|
||||
|
||||
@@ -27,6 +27,9 @@ msgstr "Ctrl+Alt+&Esc"
|
||||
msgid "&Pause"
|
||||
msgstr "&Pauza"
|
||||
|
||||
msgid "Pause"
|
||||
msgstr ""
|
||||
|
||||
msgid "Re&sume"
|
||||
msgstr ""
|
||||
|
||||
@@ -192,6 +195,9 @@ msgstr "&Alati"
|
||||
msgid "&Settings..."
|
||||
msgstr "&Opcije..."
|
||||
|
||||
msgid "Settings..."
|
||||
msgstr ""
|
||||
|
||||
msgid "&Update status bar icons"
|
||||
msgstr "&Ažuriraj ikone statusnog redka"
|
||||
|
||||
@@ -357,6 +363,9 @@ msgstr "Sistem:"
|
||||
msgid "Configure"
|
||||
msgstr "Namjesti"
|
||||
|
||||
msgid "CPU:"
|
||||
msgstr ""
|
||||
|
||||
msgid "CPU type:"
|
||||
msgstr "Tip procesora:"
|
||||
|
||||
@@ -417,15 +426,27 @@ msgstr "IBM 8514/A grafika"
|
||||
msgid "XGA Graphics"
|
||||
msgstr "XGA grafika"
|
||||
|
||||
msgid "IBM PS/55 Display Adapter Graphics"
|
||||
msgstr ""
|
||||
|
||||
msgid "Keyboard:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Keyboard"
|
||||
msgstr ""
|
||||
|
||||
msgid "Mouse:"
|
||||
msgstr "Miš:"
|
||||
|
||||
msgid "Mouse"
|
||||
msgstr ""
|
||||
|
||||
msgid "Joystick:"
|
||||
msgstr "Palica za igru:"
|
||||
|
||||
msgid "Joystick"
|
||||
msgstr ""
|
||||
|
||||
msgid "Joystick 1..."
|
||||
msgstr "Palica za igru 1..."
|
||||
|
||||
@@ -456,6 +477,9 @@ msgstr "Izlazni uređaj MIDI:"
|
||||
msgid "MIDI In Device:"
|
||||
msgstr "Ulazni uređaj MIDI:"
|
||||
|
||||
msgid "MIDI Out:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Standalone MPU-401"
|
||||
msgstr "Samostalni MPU-401"
|
||||
|
||||
@@ -615,6 +639,12 @@ msgstr "CD-ROM pogoni:"
|
||||
msgid "MO drives:"
|
||||
msgstr "MO pogoni:"
|
||||
|
||||
msgid "MO:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Removable disks:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Removable disk drives:"
|
||||
msgstr ""
|
||||
|
||||
@@ -741,12 +771,30 @@ msgstr "Mreža"
|
||||
msgid "Ports (COM & LPT)"
|
||||
msgstr "Vrata (COM & LPT)"
|
||||
|
||||
msgid "Ports"
|
||||
msgstr ""
|
||||
|
||||
msgid "Serial ports"
|
||||
msgstr ""
|
||||
|
||||
msgid "Parallel ports"
|
||||
msgstr ""
|
||||
|
||||
msgid "Storage controllers"
|
||||
msgstr "Kontroleri za diskove"
|
||||
|
||||
msgid "Hard disks"
|
||||
msgstr "Tvrdi diskovi"
|
||||
|
||||
msgid "Disks:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Floppy:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Controllers:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Floppy & CD-ROM drives"
|
||||
msgstr "Floppy & CD-ROM pogoni"
|
||||
|
||||
@@ -756,6 +804,9 @@ msgstr "Ostali uklonjivi uređaji"
|
||||
msgid "Other peripherals"
|
||||
msgstr "Ostali periferni uređaji"
|
||||
|
||||
msgid "Other devices"
|
||||
msgstr ""
|
||||
|
||||
msgid "Click to capture mouse"
|
||||
msgstr "Kliknite da uhvatite miš"
|
||||
|
||||
@@ -900,6 +951,15 @@ msgstr "Dobrodošli u 86Box!"
|
||||
msgid "Internal device"
|
||||
msgstr "Uunutarnji uređaj"
|
||||
|
||||
msgid "&File"
|
||||
msgstr ""
|
||||
|
||||
msgid "&New machine..."
|
||||
msgstr ""
|
||||
|
||||
msgid "&Check for updates..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Exit"
|
||||
msgstr "Izlazi"
|
||||
|
||||
@@ -996,6 +1056,9 @@ msgstr "Nastavi"
|
||||
msgid "Pause execution"
|
||||
msgstr "Pauziraj"
|
||||
|
||||
msgid "Ctrl+Alt+Del"
|
||||
msgstr ""
|
||||
|
||||
msgid "Press Ctrl+Alt+Del"
|
||||
msgstr "Stisni Ctrl+Alt+Del"
|
||||
|
||||
@@ -1005,6 +1068,267 @@ msgstr "Stisni Ctrl+Alt+Esc"
|
||||
msgid "Hard reset"
|
||||
msgstr "Ponovno pokretanje"
|
||||
|
||||
msgid "Force shutdown"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start"
|
||||
msgstr ""
|
||||
|
||||
msgid "Not running"
|
||||
msgstr ""
|
||||
|
||||
msgid "Running"
|
||||
msgstr ""
|
||||
|
||||
msgid "Paused"
|
||||
msgstr ""
|
||||
|
||||
msgid "Paused (Waiting)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Powered Off"
|
||||
msgstr ""
|
||||
|
||||
msgid "waiting"
|
||||
msgstr ""
|
||||
|
||||
msgid "total"
|
||||
msgstr ""
|
||||
|
||||
msgid "System Directory:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Choose directory"
|
||||
msgstr ""
|
||||
|
||||
msgid "Choose configuration file"
|
||||
msgstr ""
|
||||
|
||||
msgid "86Box configuration files (86box.cfg)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Configuration read failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to open the selected configuration file for reading: %1"
|
||||
msgstr ""
|
||||
|
||||
msgid "Use regular expressions in search box"
|
||||
msgstr ""
|
||||
|
||||
msgid "%1 machine(s) are currently active. Are you sure you want to exit the VM manager anyway?"
|
||||
msgstr ""
|
||||
|
||||
msgid "Add new system wizard"
|
||||
msgstr ""
|
||||
|
||||
msgid "Introduction"
|
||||
msgstr ""
|
||||
|
||||
msgid "This will help you add a new system to 86Box."
|
||||
msgstr ""
|
||||
|
||||
msgid "New configuration"
|
||||
msgstr ""
|
||||
|
||||
msgid "Complete"
|
||||
msgstr ""
|
||||
|
||||
msgid "The wizard will now launch the configuration for the new system."
|
||||
msgstr ""
|
||||
|
||||
msgid "Use existing configuration"
|
||||
msgstr ""
|
||||
|
||||
msgid "Type some notes here"
|
||||
msgstr ""
|
||||
|
||||
msgid "Paste the contents of the existing configuration file into the box below."
|
||||
msgstr ""
|
||||
|
||||
msgid "Load configuration from file"
|
||||
msgstr ""
|
||||
|
||||
msgid "System Name"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name:"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name cannot contain certain characters"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name already exists"
|
||||
msgstr ""
|
||||
|
||||
msgid "Please enter a directory for the system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Directory does not exist"
|
||||
msgstr ""
|
||||
|
||||
msgid "A new directory for the system will be created in the selected directory above"
|
||||
msgstr ""
|
||||
|
||||
msgid "System location:"
|
||||
msgstr ""
|
||||
|
||||
msgid "System Location"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name and location"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter the name of the system and choose the location"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter the name of the system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Please enter a system name"
|
||||
msgstr ""
|
||||
|
||||
msgid "Display Name (optional)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Display name:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Set display name"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter the new display name (blank to reset)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Change &display name..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Context Menu"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Open folder..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Open &printer tray..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Set &icon..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Select an icon"
|
||||
msgstr ""
|
||||
|
||||
msgid "C&lone..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Virtual machine \"%1\" (%2) will be cloned into:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Directory %1 already exists"
|
||||
msgstr ""
|
||||
|
||||
msgid "You cannot use the following characters in the name: %1"
|
||||
msgstr ""
|
||||
|
||||
msgid "Clone"
|
||||
msgstr ""
|
||||
|
||||
msgid "Failed to create directory for cloned VM"
|
||||
msgstr ""
|
||||
|
||||
msgid "Failed to clone VM."
|
||||
msgstr ""
|
||||
|
||||
msgid "Directory in use"
|
||||
msgstr ""
|
||||
|
||||
msgid "The selected directory is already in use. Please select a different directory."
|
||||
msgstr ""
|
||||
|
||||
msgid "Create directory failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to create the directory for the new system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Configuration write failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to open the configuration file at %1 for writing"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error adding system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Abnormal program termination while creating new system: exit code %1, exit status %2.\n\nThe system will not be added."
|
||||
msgstr ""
|
||||
|
||||
msgid "Remove directory failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Some files in the machine's directory were unable to be deleted. Please delete them manually."
|
||||
msgstr ""
|
||||
|
||||
msgid "Build"
|
||||
msgstr ""
|
||||
|
||||
msgid "Version"
|
||||
msgstr ""
|
||||
|
||||
msgid "<b>An update to 86Box is available!</b>"
|
||||
msgstr ""
|
||||
|
||||
msgid "Warning"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Kill"
|
||||
msgstr ""
|
||||
|
||||
msgid "Killing a virtual machine can cause data loss. Only do this if the 86Box process gets stuck.\n\nDo you really wish to kill the virtual machine \"%1\"?"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Delete"
|
||||
msgstr ""
|
||||
|
||||
msgid "Do you really want to delete the virtual machine \"%1\" and all its files? This action cannot be undone!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Show &config file"
|
||||
msgstr ""
|
||||
|
||||
msgid "No screenshot"
|
||||
msgstr ""
|
||||
|
||||
msgid "Search"
|
||||
msgstr ""
|
||||
|
||||
msgid "Searching for VMs..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Found %1"
|
||||
msgstr ""
|
||||
|
||||
msgid "System"
|
||||
msgstr ""
|
||||
|
||||
msgid "Storage"
|
||||
msgstr ""
|
||||
|
||||
msgid "Disk %1: "
|
||||
msgstr ""
|
||||
|
||||
msgid "No disks"
|
||||
msgstr ""
|
||||
|
||||
msgid "Audio"
|
||||
msgstr ""
|
||||
|
||||
msgid "Audio:"
|
||||
msgstr ""
|
||||
|
||||
msgid "ACPI shutdown"
|
||||
msgstr "ACPI bazirano gašenje"
|
||||
|
||||
@@ -1347,6 +1671,9 @@ msgstr "Nepoznata sabirnica"
|
||||
msgid "Null Driver"
|
||||
msgstr "Nulti upravljački program"
|
||||
|
||||
msgid "NIC:"
|
||||
msgstr ""
|
||||
|
||||
msgid "NIC %1 (%2) %3"
|
||||
msgstr "NIC %1 (%2) %3"
|
||||
|
||||
@@ -1416,6 +1743,9 @@ msgstr "Nema uređaja MCA."
|
||||
msgid "MiB"
|
||||
msgstr "MiB"
|
||||
|
||||
msgid "GiB"
|
||||
msgstr ""
|
||||
|
||||
msgid "Network Card #1"
|
||||
msgstr "Mrežna kartica 1"
|
||||
|
||||
@@ -2223,6 +2553,9 @@ msgstr "Bojni bez preplitanja"
|
||||
msgid "3Dfx Voodoo Graphics"
|
||||
msgstr "3dfx Voodoo grafika"
|
||||
|
||||
msgid "3Dfx Voodoo 2"
|
||||
msgstr ""
|
||||
|
||||
msgid "Obsidian SB50 + Amethyst (2 TMUs)"
|
||||
msgstr "Obsidian SB50 + Amethyst (2 jednote TMU)"
|
||||
|
||||
@@ -2490,6 +2823,84 @@ msgstr ""
|
||||
msgid "Hostname:"
|
||||
msgstr ""
|
||||
|
||||
msgid "ISA RTC"
|
||||
msgstr ""
|
||||
|
||||
msgid "ISA RAM"
|
||||
msgstr ""
|
||||
|
||||
msgid "ISA ROM"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Wipe NVRAM"
|
||||
msgstr ""
|
||||
|
||||
msgid "This will delete all NVRAM (and related) files of the virtual machine located in the \"nvr\" subdirectory. You'll have to reconfigure the BIOS (and possibly other devices inside the VM) settings again if applicable.\n\nAre you sure you want to wipe all NVRAM contents of the virtual machine \"%1\"?"
|
||||
msgstr ""
|
||||
|
||||
msgid "Success"
|
||||
msgstr ""
|
||||
|
||||
msgid "Successfully wiped the NVRAM contents of the virtual machine \"%1\""
|
||||
msgstr ""
|
||||
|
||||
msgid "An error occured trying to wipe the NVRAM contents of the virtual machine \"%1\""
|
||||
msgstr ""
|
||||
|
||||
msgid "%1 VM Manager"
|
||||
msgstr ""
|
||||
|
||||
msgid "%n disk(s)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unknown Status"
|
||||
msgstr ""
|
||||
|
||||
msgid "No Machines Found!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Check for updates on startup"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to determine release information"
|
||||
msgstr ""
|
||||
|
||||
msgid "There was an error checking for updates:\n\n%1\n\nPlease try again later."
|
||||
msgstr ""
|
||||
|
||||
msgid "Update check complete"
|
||||
msgstr ""
|
||||
|
||||
msgid "You are running the latest %1 version of 86Box: %2"
|
||||
msgstr ""
|
||||
|
||||
msgid "version"
|
||||
msgstr ""
|
||||
|
||||
msgid "build"
|
||||
msgstr ""
|
||||
|
||||
msgid "You are currently running %1 <b>%2</b>. "
|
||||
msgstr ""
|
||||
|
||||
msgid "<b>%1 %2</b> is now available. %3Would you like to visit the download page?"
|
||||
msgstr ""
|
||||
|
||||
msgid "Visit download page"
|
||||
msgstr ""
|
||||
|
||||
msgid "Update check"
|
||||
msgstr ""
|
||||
|
||||
msgid "Checking for updates.."
|
||||
msgstr ""
|
||||
|
||||
msgid "86Box Update"
|
||||
msgstr ""
|
||||
|
||||
msgid "Release notes:"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "HD Controller:"
|
||||
#~ msgstr "Kontroler tvrdog diska:"
|
||||
|
||||
|
||||
@@ -27,6 +27,9 @@ msgstr "Ctrl+Alt+&Esc"
|
||||
msgid "&Pause"
|
||||
msgstr "&Szüneteltetés"
|
||||
|
||||
msgid "Pause"
|
||||
msgstr ""
|
||||
|
||||
msgid "Re&sume"
|
||||
msgstr ""
|
||||
|
||||
@@ -192,6 +195,9 @@ msgstr "&Eszközök"
|
||||
msgid "&Settings..."
|
||||
msgstr "&Konfigurálás..."
|
||||
|
||||
msgid "Settings..."
|
||||
msgstr ""
|
||||
|
||||
msgid "&Update status bar icons"
|
||||
msgstr "Állapotsori ikonok &frissítése"
|
||||
|
||||
@@ -357,6 +363,9 @@ msgstr "Számítógép:"
|
||||
msgid "Configure"
|
||||
msgstr "Beállítások..."
|
||||
|
||||
msgid "CPU:"
|
||||
msgstr ""
|
||||
|
||||
msgid "CPU type:"
|
||||
msgstr "Processzor:"
|
||||
|
||||
@@ -417,15 +426,27 @@ msgstr "IBM 8514/A-gyorsítókártya"
|
||||
msgid "XGA Graphics"
|
||||
msgstr "XGA-gyorsítókártya"
|
||||
|
||||
msgid "IBM PS/55 Display Adapter Graphics"
|
||||
msgstr ""
|
||||
|
||||
msgid "Keyboard:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Keyboard"
|
||||
msgstr ""
|
||||
|
||||
msgid "Mouse:"
|
||||
msgstr "Egér:"
|
||||
|
||||
msgid "Mouse"
|
||||
msgstr ""
|
||||
|
||||
msgid "Joystick:"
|
||||
msgstr "Játékvezérlő:"
|
||||
|
||||
msgid "Joystick"
|
||||
msgstr ""
|
||||
|
||||
msgid "Joystick 1..."
|
||||
msgstr "Játékvez. 1..."
|
||||
|
||||
@@ -456,6 +477,9 @@ msgstr "MIDI-kimenet:"
|
||||
msgid "MIDI In Device:"
|
||||
msgstr "MIDI-bemenet:"
|
||||
|
||||
msgid "MIDI Out:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Standalone MPU-401"
|
||||
msgstr "Különálló MPU-401"
|
||||
|
||||
@@ -615,6 +639,12 @@ msgstr "CD-ROM meghajtók:"
|
||||
msgid "MO drives:"
|
||||
msgstr "MO-meghajtók:"
|
||||
|
||||
msgid "MO:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Removable disks:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Removable disk drives:"
|
||||
msgstr ""
|
||||
|
||||
@@ -741,12 +771,30 @@ msgstr "Hálózat"
|
||||
msgid "Ports (COM & LPT)"
|
||||
msgstr "Portok (COM és LPT)"
|
||||
|
||||
msgid "Ports"
|
||||
msgstr ""
|
||||
|
||||
msgid "Serial ports"
|
||||
msgstr ""
|
||||
|
||||
msgid "Parallel ports"
|
||||
msgstr ""
|
||||
|
||||
msgid "Storage controllers"
|
||||
msgstr "Tárolóvezérlők"
|
||||
|
||||
msgid "Hard disks"
|
||||
msgstr "Merevlemezek"
|
||||
|
||||
msgid "Disks:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Floppy:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Controllers:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Floppy & CD-ROM drives"
|
||||
msgstr "Floppy és CD-ROM meghajtók"
|
||||
|
||||
@@ -756,6 +804,9 @@ msgstr "Egyéb cserélhető tárolók"
|
||||
msgid "Other peripherals"
|
||||
msgstr "Egyéb perifériák"
|
||||
|
||||
msgid "Other devices"
|
||||
msgstr ""
|
||||
|
||||
msgid "Click to capture mouse"
|
||||
msgstr "Kattintson az egér elfogásához"
|
||||
|
||||
@@ -900,6 +951,15 @@ msgstr "Üdvözli önt az 86Box!"
|
||||
msgid "Internal device"
|
||||
msgstr "Integrált eszköz"
|
||||
|
||||
msgid "&File"
|
||||
msgstr ""
|
||||
|
||||
msgid "&New machine..."
|
||||
msgstr ""
|
||||
|
||||
msgid "&Check for updates..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Exit"
|
||||
msgstr "Kilépés"
|
||||
|
||||
@@ -996,6 +1056,9 @@ msgstr "Folytassa a végrehajtást"
|
||||
msgid "Pause execution"
|
||||
msgstr "Kivitelezés szüneteltetése"
|
||||
|
||||
msgid "Ctrl+Alt+Del"
|
||||
msgstr ""
|
||||
|
||||
msgid "Press Ctrl+Alt+Del"
|
||||
msgstr "Nyomja meg a Ctrl+Alt+Del"
|
||||
|
||||
@@ -1005,6 +1068,267 @@ msgstr "Nyomja meg a Ctrl+Alt+Esc"
|
||||
msgid "Hard reset"
|
||||
msgstr "Hardveres újraindítás"
|
||||
|
||||
msgid "Force shutdown"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start"
|
||||
msgstr ""
|
||||
|
||||
msgid "Not running"
|
||||
msgstr ""
|
||||
|
||||
msgid "Running"
|
||||
msgstr ""
|
||||
|
||||
msgid "Paused"
|
||||
msgstr ""
|
||||
|
||||
msgid "Paused (Waiting)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Powered Off"
|
||||
msgstr ""
|
||||
|
||||
msgid "waiting"
|
||||
msgstr ""
|
||||
|
||||
msgid "total"
|
||||
msgstr ""
|
||||
|
||||
msgid "System Directory:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Choose directory"
|
||||
msgstr ""
|
||||
|
||||
msgid "Choose configuration file"
|
||||
msgstr ""
|
||||
|
||||
msgid "86Box configuration files (86box.cfg)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Configuration read failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to open the selected configuration file for reading: %1"
|
||||
msgstr ""
|
||||
|
||||
msgid "Use regular expressions in search box"
|
||||
msgstr ""
|
||||
|
||||
msgid "%1 machine(s) are currently active. Are you sure you want to exit the VM manager anyway?"
|
||||
msgstr ""
|
||||
|
||||
msgid "Add new system wizard"
|
||||
msgstr ""
|
||||
|
||||
msgid "Introduction"
|
||||
msgstr ""
|
||||
|
||||
msgid "This will help you add a new system to 86Box."
|
||||
msgstr ""
|
||||
|
||||
msgid "New configuration"
|
||||
msgstr ""
|
||||
|
||||
msgid "Complete"
|
||||
msgstr ""
|
||||
|
||||
msgid "The wizard will now launch the configuration for the new system."
|
||||
msgstr ""
|
||||
|
||||
msgid "Use existing configuration"
|
||||
msgstr ""
|
||||
|
||||
msgid "Type some notes here"
|
||||
msgstr ""
|
||||
|
||||
msgid "Paste the contents of the existing configuration file into the box below."
|
||||
msgstr ""
|
||||
|
||||
msgid "Load configuration from file"
|
||||
msgstr ""
|
||||
|
||||
msgid "System Name"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name:"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name cannot contain certain characters"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name already exists"
|
||||
msgstr ""
|
||||
|
||||
msgid "Please enter a directory for the system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Directory does not exist"
|
||||
msgstr ""
|
||||
|
||||
msgid "A new directory for the system will be created in the selected directory above"
|
||||
msgstr ""
|
||||
|
||||
msgid "System location:"
|
||||
msgstr ""
|
||||
|
||||
msgid "System Location"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name and location"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter the name of the system and choose the location"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter the name of the system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Please enter a system name"
|
||||
msgstr ""
|
||||
|
||||
msgid "Display Name (optional)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Display name:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Set display name"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter the new display name (blank to reset)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Change &display name..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Context Menu"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Open folder..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Open &printer tray..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Set &icon..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Select an icon"
|
||||
msgstr ""
|
||||
|
||||
msgid "C&lone..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Virtual machine \"%1\" (%2) will be cloned into:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Directory %1 already exists"
|
||||
msgstr ""
|
||||
|
||||
msgid "You cannot use the following characters in the name: %1"
|
||||
msgstr ""
|
||||
|
||||
msgid "Clone"
|
||||
msgstr ""
|
||||
|
||||
msgid "Failed to create directory for cloned VM"
|
||||
msgstr ""
|
||||
|
||||
msgid "Failed to clone VM."
|
||||
msgstr ""
|
||||
|
||||
msgid "Directory in use"
|
||||
msgstr ""
|
||||
|
||||
msgid "The selected directory is already in use. Please select a different directory."
|
||||
msgstr ""
|
||||
|
||||
msgid "Create directory failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to create the directory for the new system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Configuration write failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to open the configuration file at %1 for writing"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error adding system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Abnormal program termination while creating new system: exit code %1, exit status %2.\n\nThe system will not be added."
|
||||
msgstr ""
|
||||
|
||||
msgid "Remove directory failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Some files in the machine's directory were unable to be deleted. Please delete them manually."
|
||||
msgstr ""
|
||||
|
||||
msgid "Build"
|
||||
msgstr ""
|
||||
|
||||
msgid "Version"
|
||||
msgstr ""
|
||||
|
||||
msgid "<b>An update to 86Box is available!</b>"
|
||||
msgstr ""
|
||||
|
||||
msgid "Warning"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Kill"
|
||||
msgstr ""
|
||||
|
||||
msgid "Killing a virtual machine can cause data loss. Only do this if the 86Box process gets stuck.\n\nDo you really wish to kill the virtual machine \"%1\"?"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Delete"
|
||||
msgstr ""
|
||||
|
||||
msgid "Do you really want to delete the virtual machine \"%1\" and all its files? This action cannot be undone!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Show &config file"
|
||||
msgstr ""
|
||||
|
||||
msgid "No screenshot"
|
||||
msgstr ""
|
||||
|
||||
msgid "Search"
|
||||
msgstr ""
|
||||
|
||||
msgid "Searching for VMs..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Found %1"
|
||||
msgstr ""
|
||||
|
||||
msgid "System"
|
||||
msgstr ""
|
||||
|
||||
msgid "Storage"
|
||||
msgstr ""
|
||||
|
||||
msgid "Disk %1: "
|
||||
msgstr ""
|
||||
|
||||
msgid "No disks"
|
||||
msgstr ""
|
||||
|
||||
msgid "Audio"
|
||||
msgstr ""
|
||||
|
||||
msgid "Audio:"
|
||||
msgstr ""
|
||||
|
||||
msgid "ACPI shutdown"
|
||||
msgstr "ACPI leállítás"
|
||||
|
||||
@@ -1347,6 +1671,9 @@ msgstr "Ismeretlen busz"
|
||||
msgid "Null Driver"
|
||||
msgstr "Null Driver"
|
||||
|
||||
msgid "NIC:"
|
||||
msgstr ""
|
||||
|
||||
msgid "NIC %1 (%2) %3"
|
||||
msgstr "NIC %1 (%2) %3"
|
||||
|
||||
@@ -1416,6 +1743,9 @@ msgstr "Nincsenek MCA eszközök."
|
||||
msgid "MiB"
|
||||
msgstr "MiB"
|
||||
|
||||
msgid "GiB"
|
||||
msgstr ""
|
||||
|
||||
msgid "Network Card #1"
|
||||
msgstr "Hálózati kártya 1"
|
||||
|
||||
@@ -2223,6 +2553,9 @@ msgstr "Színes nem átlapolt"
|
||||
msgid "3Dfx Voodoo Graphics"
|
||||
msgstr "3dfx Voodoo-gyorsítókártya"
|
||||
|
||||
msgid "3Dfx Voodoo 2"
|
||||
msgstr ""
|
||||
|
||||
msgid "Obsidian SB50 + Amethyst (2 TMUs)"
|
||||
msgstr "Obsidian SB50 + Amethyst (2 TMU)"
|
||||
|
||||
@@ -2490,6 +2823,84 @@ msgstr ""
|
||||
msgid "Hostname:"
|
||||
msgstr ""
|
||||
|
||||
msgid "ISA RTC"
|
||||
msgstr ""
|
||||
|
||||
msgid "ISA RAM"
|
||||
msgstr ""
|
||||
|
||||
msgid "ISA ROM"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Wipe NVRAM"
|
||||
msgstr ""
|
||||
|
||||
msgid "This will delete all NVRAM (and related) files of the virtual machine located in the \"nvr\" subdirectory. You'll have to reconfigure the BIOS (and possibly other devices inside the VM) settings again if applicable.\n\nAre you sure you want to wipe all NVRAM contents of the virtual machine \"%1\"?"
|
||||
msgstr ""
|
||||
|
||||
msgid "Success"
|
||||
msgstr ""
|
||||
|
||||
msgid "Successfully wiped the NVRAM contents of the virtual machine \"%1\""
|
||||
msgstr ""
|
||||
|
||||
msgid "An error occured trying to wipe the NVRAM contents of the virtual machine \"%1\""
|
||||
msgstr ""
|
||||
|
||||
msgid "%1 VM Manager"
|
||||
msgstr ""
|
||||
|
||||
msgid "%n disk(s)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unknown Status"
|
||||
msgstr ""
|
||||
|
||||
msgid "No Machines Found!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Check for updates on startup"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to determine release information"
|
||||
msgstr ""
|
||||
|
||||
msgid "There was an error checking for updates:\n\n%1\n\nPlease try again later."
|
||||
msgstr ""
|
||||
|
||||
msgid "Update check complete"
|
||||
msgstr ""
|
||||
|
||||
msgid "You are running the latest %1 version of 86Box: %2"
|
||||
msgstr ""
|
||||
|
||||
msgid "version"
|
||||
msgstr ""
|
||||
|
||||
msgid "build"
|
||||
msgstr ""
|
||||
|
||||
msgid "You are currently running %1 <b>%2</b>. "
|
||||
msgstr ""
|
||||
|
||||
msgid "<b>%1 %2</b> is now available. %3Would you like to visit the download page?"
|
||||
msgstr ""
|
||||
|
||||
msgid "Visit download page"
|
||||
msgstr ""
|
||||
|
||||
msgid "Update check"
|
||||
msgstr ""
|
||||
|
||||
msgid "Checking for updates.."
|
||||
msgstr ""
|
||||
|
||||
msgid "86Box Update"
|
||||
msgstr ""
|
||||
|
||||
msgid "Release notes:"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "HD Controller:"
|
||||
#~ msgstr "Merevl.-vezérlő:"
|
||||
|
||||
|
||||
@@ -27,6 +27,9 @@ msgstr "Ctrl+Alt+&Esc"
|
||||
msgid "&Pause"
|
||||
msgstr "&Pausa"
|
||||
|
||||
msgid "Pause"
|
||||
msgstr ""
|
||||
|
||||
msgid "Re&sume"
|
||||
msgstr "&Riprendi"
|
||||
|
||||
@@ -192,6 +195,9 @@ msgstr "&Strumenti"
|
||||
msgid "&Settings..."
|
||||
msgstr "&Impostazioni..."
|
||||
|
||||
msgid "Settings..."
|
||||
msgstr ""
|
||||
|
||||
msgid "&Update status bar icons"
|
||||
msgstr "&Aggiorna icone della barra di stato"
|
||||
|
||||
@@ -357,6 +363,9 @@ msgstr "Scheda madre:"
|
||||
msgid "Configure"
|
||||
msgstr "Configura"
|
||||
|
||||
msgid "CPU:"
|
||||
msgstr ""
|
||||
|
||||
msgid "CPU type:"
|
||||
msgstr "Tipo di CPU:"
|
||||
|
||||
@@ -417,15 +426,27 @@ msgstr "Grafica IBM 8514/A"
|
||||
msgid "XGA Graphics"
|
||||
msgstr "Grafica XGA"
|
||||
|
||||
msgid "IBM PS/55 Display Adapter Graphics"
|
||||
msgstr ""
|
||||
|
||||
msgid "Keyboard:"
|
||||
msgstr "Tastiera:"
|
||||
|
||||
msgid "Keyboard"
|
||||
msgstr ""
|
||||
|
||||
msgid "Mouse:"
|
||||
msgstr "Mouse:"
|
||||
|
||||
msgid "Mouse"
|
||||
msgstr ""
|
||||
|
||||
msgid "Joystick:"
|
||||
msgstr "Joystick:"
|
||||
|
||||
msgid "Joystick"
|
||||
msgstr ""
|
||||
|
||||
msgid "Joystick 1..."
|
||||
msgstr "Joystick 1..."
|
||||
|
||||
@@ -456,6 +477,9 @@ msgstr "Uscita MIDI:"
|
||||
msgid "MIDI In Device:"
|
||||
msgstr "Entrata MIDI:"
|
||||
|
||||
msgid "MIDI Out:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Standalone MPU-401"
|
||||
msgstr "MPU-401 autonomo"
|
||||
|
||||
@@ -615,6 +639,12 @@ msgstr "Unità CD-ROM:"
|
||||
msgid "MO drives:"
|
||||
msgstr "Unità magneto-ottiche:"
|
||||
|
||||
msgid "MO:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Removable disks:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Removable disk drives:"
|
||||
msgstr "Unità disco rimovibili:"
|
||||
|
||||
@@ -741,12 +771,30 @@ msgstr "Rete"
|
||||
msgid "Ports (COM & LPT)"
|
||||
msgstr "Porte (COM e LPT)"
|
||||
|
||||
msgid "Ports"
|
||||
msgstr ""
|
||||
|
||||
msgid "Serial ports"
|
||||
msgstr ""
|
||||
|
||||
msgid "Parallel ports"
|
||||
msgstr ""
|
||||
|
||||
msgid "Storage controllers"
|
||||
msgstr "Controller di archiviazione"
|
||||
|
||||
msgid "Hard disks"
|
||||
msgstr "Dischi rigidi"
|
||||
|
||||
msgid "Disks:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Floppy:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Controllers:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Floppy & CD-ROM drives"
|
||||
msgstr "Unità CD-ROM e Floppy"
|
||||
|
||||
@@ -756,6 +804,9 @@ msgstr "Altri dispositivi rimovibili"
|
||||
msgid "Other peripherals"
|
||||
msgstr "Altre periferiche"
|
||||
|
||||
msgid "Other devices"
|
||||
msgstr ""
|
||||
|
||||
msgid "Click to capture mouse"
|
||||
msgstr "Fare clic per catturare il mouse"
|
||||
|
||||
@@ -900,6 +951,15 @@ msgstr "Benvenuti in 86Box!"
|
||||
msgid "Internal device"
|
||||
msgstr "Dispositivo integrato"
|
||||
|
||||
msgid "&File"
|
||||
msgstr ""
|
||||
|
||||
msgid "&New machine..."
|
||||
msgstr ""
|
||||
|
||||
msgid "&Check for updates..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Exit"
|
||||
msgstr "Esci"
|
||||
|
||||
@@ -996,6 +1056,9 @@ msgstr "Riprendi l'esecuzione"
|
||||
msgid "Pause execution"
|
||||
msgstr "Sospendi l'esecuzione"
|
||||
|
||||
msgid "Ctrl+Alt+Del"
|
||||
msgstr ""
|
||||
|
||||
msgid "Press Ctrl+Alt+Del"
|
||||
msgstr "Premere Ctrl+Alt+Canc"
|
||||
|
||||
@@ -1005,6 +1068,267 @@ msgstr "Premere Ctrl+Alt+Esc"
|
||||
msgid "Hard reset"
|
||||
msgstr "Riavvia"
|
||||
|
||||
msgid "Force shutdown"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start"
|
||||
msgstr ""
|
||||
|
||||
msgid "Not running"
|
||||
msgstr ""
|
||||
|
||||
msgid "Running"
|
||||
msgstr ""
|
||||
|
||||
msgid "Paused"
|
||||
msgstr ""
|
||||
|
||||
msgid "Paused (Waiting)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Powered Off"
|
||||
msgstr ""
|
||||
|
||||
msgid "waiting"
|
||||
msgstr ""
|
||||
|
||||
msgid "total"
|
||||
msgstr ""
|
||||
|
||||
msgid "System Directory:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Choose directory"
|
||||
msgstr ""
|
||||
|
||||
msgid "Choose configuration file"
|
||||
msgstr ""
|
||||
|
||||
msgid "86Box configuration files (86box.cfg)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Configuration read failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to open the selected configuration file for reading: %1"
|
||||
msgstr ""
|
||||
|
||||
msgid "Use regular expressions in search box"
|
||||
msgstr ""
|
||||
|
||||
msgid "%1 machine(s) are currently active. Are you sure you want to exit the VM manager anyway?"
|
||||
msgstr ""
|
||||
|
||||
msgid "Add new system wizard"
|
||||
msgstr ""
|
||||
|
||||
msgid "Introduction"
|
||||
msgstr ""
|
||||
|
||||
msgid "This will help you add a new system to 86Box."
|
||||
msgstr ""
|
||||
|
||||
msgid "New configuration"
|
||||
msgstr ""
|
||||
|
||||
msgid "Complete"
|
||||
msgstr ""
|
||||
|
||||
msgid "The wizard will now launch the configuration for the new system."
|
||||
msgstr ""
|
||||
|
||||
msgid "Use existing configuration"
|
||||
msgstr ""
|
||||
|
||||
msgid "Type some notes here"
|
||||
msgstr ""
|
||||
|
||||
msgid "Paste the contents of the existing configuration file into the box below."
|
||||
msgstr ""
|
||||
|
||||
msgid "Load configuration from file"
|
||||
msgstr ""
|
||||
|
||||
msgid "System Name"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name:"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name cannot contain certain characters"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name already exists"
|
||||
msgstr ""
|
||||
|
||||
msgid "Please enter a directory for the system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Directory does not exist"
|
||||
msgstr ""
|
||||
|
||||
msgid "A new directory for the system will be created in the selected directory above"
|
||||
msgstr ""
|
||||
|
||||
msgid "System location:"
|
||||
msgstr ""
|
||||
|
||||
msgid "System Location"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name and location"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter the name of the system and choose the location"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter the name of the system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Please enter a system name"
|
||||
msgstr ""
|
||||
|
||||
msgid "Display Name (optional)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Display name:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Set display name"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter the new display name (blank to reset)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Change &display name..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Context Menu"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Open folder..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Open &printer tray..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Set &icon..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Select an icon"
|
||||
msgstr ""
|
||||
|
||||
msgid "C&lone..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Virtual machine \"%1\" (%2) will be cloned into:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Directory %1 already exists"
|
||||
msgstr ""
|
||||
|
||||
msgid "You cannot use the following characters in the name: %1"
|
||||
msgstr ""
|
||||
|
||||
msgid "Clone"
|
||||
msgstr ""
|
||||
|
||||
msgid "Failed to create directory for cloned VM"
|
||||
msgstr ""
|
||||
|
||||
msgid "Failed to clone VM."
|
||||
msgstr ""
|
||||
|
||||
msgid "Directory in use"
|
||||
msgstr ""
|
||||
|
||||
msgid "The selected directory is already in use. Please select a different directory."
|
||||
msgstr ""
|
||||
|
||||
msgid "Create directory failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to create the directory for the new system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Configuration write failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to open the configuration file at %1 for writing"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error adding system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Abnormal program termination while creating new system: exit code %1, exit status %2.\n\nThe system will not be added."
|
||||
msgstr ""
|
||||
|
||||
msgid "Remove directory failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Some files in the machine's directory were unable to be deleted. Please delete them manually."
|
||||
msgstr ""
|
||||
|
||||
msgid "Build"
|
||||
msgstr ""
|
||||
|
||||
msgid "Version"
|
||||
msgstr ""
|
||||
|
||||
msgid "<b>An update to 86Box is available!</b>"
|
||||
msgstr ""
|
||||
|
||||
msgid "Warning"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Kill"
|
||||
msgstr ""
|
||||
|
||||
msgid "Killing a virtual machine can cause data loss. Only do this if the 86Box process gets stuck.\n\nDo you really wish to kill the virtual machine \"%1\"?"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Delete"
|
||||
msgstr ""
|
||||
|
||||
msgid "Do you really want to delete the virtual machine \"%1\" and all its files? This action cannot be undone!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Show &config file"
|
||||
msgstr ""
|
||||
|
||||
msgid "No screenshot"
|
||||
msgstr ""
|
||||
|
||||
msgid "Search"
|
||||
msgstr ""
|
||||
|
||||
msgid "Searching for VMs..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Found %1"
|
||||
msgstr ""
|
||||
|
||||
msgid "System"
|
||||
msgstr ""
|
||||
|
||||
msgid "Storage"
|
||||
msgstr ""
|
||||
|
||||
msgid "Disk %1: "
|
||||
msgstr ""
|
||||
|
||||
msgid "No disks"
|
||||
msgstr ""
|
||||
|
||||
msgid "Audio"
|
||||
msgstr ""
|
||||
|
||||
msgid "Audio:"
|
||||
msgstr ""
|
||||
|
||||
msgid "ACPI shutdown"
|
||||
msgstr "Arresto ACPI"
|
||||
|
||||
@@ -1347,6 +1671,9 @@ msgstr "Bus sconosciuto"
|
||||
msgid "Null Driver"
|
||||
msgstr "Driver Null"
|
||||
|
||||
msgid "NIC:"
|
||||
msgstr ""
|
||||
|
||||
msgid "NIC %1 (%2) %3"
|
||||
msgstr "NIC %1 (%2) %3"
|
||||
|
||||
@@ -1416,6 +1743,9 @@ msgstr "Nessun dispositivo MCA."
|
||||
msgid "MiB"
|
||||
msgstr "MiB"
|
||||
|
||||
msgid "GiB"
|
||||
msgstr ""
|
||||
|
||||
msgid "Network Card #1"
|
||||
msgstr "Scheda di rete #1"
|
||||
|
||||
@@ -2223,6 +2553,9 @@ msgstr "A colori non interlacciato"
|
||||
msgid "3Dfx Voodoo Graphics"
|
||||
msgstr "Grafica 3Dfx Voodoo"
|
||||
|
||||
msgid "3Dfx Voodoo 2"
|
||||
msgstr ""
|
||||
|
||||
msgid "Obsidian SB50 + Amethyst (2 TMUs)"
|
||||
msgstr "Obsidian SB50 + Amethyst (2 TMU)"
|
||||
|
||||
@@ -2490,6 +2823,84 @@ msgstr "Modalità Hub"
|
||||
msgid "Hostname:"
|
||||
msgstr "Nome host:"
|
||||
|
||||
msgid "ISA RTC"
|
||||
msgstr ""
|
||||
|
||||
msgid "ISA RAM"
|
||||
msgstr ""
|
||||
|
||||
msgid "ISA ROM"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Wipe NVRAM"
|
||||
msgstr ""
|
||||
|
||||
msgid "This will delete all NVRAM (and related) files of the virtual machine located in the \"nvr\" subdirectory. You'll have to reconfigure the BIOS (and possibly other devices inside the VM) settings again if applicable.\n\nAre you sure you want to wipe all NVRAM contents of the virtual machine \"%1\"?"
|
||||
msgstr ""
|
||||
|
||||
msgid "Success"
|
||||
msgstr ""
|
||||
|
||||
msgid "Successfully wiped the NVRAM contents of the virtual machine \"%1\""
|
||||
msgstr ""
|
||||
|
||||
msgid "An error occured trying to wipe the NVRAM contents of the virtual machine \"%1\""
|
||||
msgstr ""
|
||||
|
||||
msgid "%1 VM Manager"
|
||||
msgstr ""
|
||||
|
||||
msgid "%n disk(s)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unknown Status"
|
||||
msgstr ""
|
||||
|
||||
msgid "No Machines Found!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Check for updates on startup"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to determine release information"
|
||||
msgstr ""
|
||||
|
||||
msgid "There was an error checking for updates:\n\n%1\n\nPlease try again later."
|
||||
msgstr ""
|
||||
|
||||
msgid "Update check complete"
|
||||
msgstr ""
|
||||
|
||||
msgid "You are running the latest %1 version of 86Box: %2"
|
||||
msgstr ""
|
||||
|
||||
msgid "version"
|
||||
msgstr ""
|
||||
|
||||
msgid "build"
|
||||
msgstr ""
|
||||
|
||||
msgid "You are currently running %1 <b>%2</b>. "
|
||||
msgstr ""
|
||||
|
||||
msgid "<b>%1 %2</b> is now available. %3Would you like to visit the download page?"
|
||||
msgstr ""
|
||||
|
||||
msgid "Visit download page"
|
||||
msgstr ""
|
||||
|
||||
msgid "Update check"
|
||||
msgstr ""
|
||||
|
||||
msgid "Checking for updates.."
|
||||
msgstr ""
|
||||
|
||||
msgid "86Box Update"
|
||||
msgstr ""
|
||||
|
||||
msgid "Release notes:"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "HD Controller:"
|
||||
#~ msgstr "Controller HD:"
|
||||
|
||||
|
||||
@@ -27,6 +27,9 @@ msgstr "Ctrl+Alt+Esc(&E)"
|
||||
msgid "&Pause"
|
||||
msgstr "一時停止(&P)"
|
||||
|
||||
msgid "Pause"
|
||||
msgstr ""
|
||||
|
||||
msgid "Re&sume"
|
||||
msgstr ""
|
||||
|
||||
@@ -192,6 +195,9 @@ msgstr "ツール(&T)"
|
||||
msgid "&Settings..."
|
||||
msgstr "設定(&S)..."
|
||||
|
||||
msgid "Settings..."
|
||||
msgstr ""
|
||||
|
||||
msgid "&Update status bar icons"
|
||||
msgstr "ステータスバーのアイコンを更新(&U)"
|
||||
|
||||
@@ -357,6 +363,9 @@ msgstr "マシン:"
|
||||
msgid "Configure"
|
||||
msgstr "設定"
|
||||
|
||||
msgid "CPU:"
|
||||
msgstr ""
|
||||
|
||||
msgid "CPU type:"
|
||||
msgstr "CPUタイプ:"
|
||||
|
||||
@@ -417,15 +426,27 @@ msgstr "IBM 8514/Aグラフィック"
|
||||
msgid "XGA Graphics"
|
||||
msgstr "XGAグラフィック"
|
||||
|
||||
msgid "IBM PS/55 Display Adapter Graphics"
|
||||
msgstr ""
|
||||
|
||||
msgid "Keyboard:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Keyboard"
|
||||
msgstr ""
|
||||
|
||||
msgid "Mouse:"
|
||||
msgstr "マウス:"
|
||||
|
||||
msgid "Mouse"
|
||||
msgstr ""
|
||||
|
||||
msgid "Joystick:"
|
||||
msgstr "ジョイスティック:"
|
||||
|
||||
msgid "Joystick"
|
||||
msgstr ""
|
||||
|
||||
msgid "Joystick 1..."
|
||||
msgstr "ジョイスティック1..."
|
||||
|
||||
@@ -456,6 +477,9 @@ msgstr "MIDI出力デバイス:"
|
||||
msgid "MIDI In Device:"
|
||||
msgstr "MIDI入力デバイス:"
|
||||
|
||||
msgid "MIDI Out:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Standalone MPU-401"
|
||||
msgstr "独立型MPU-401"
|
||||
|
||||
@@ -615,6 +639,12 @@ msgstr "CD-ROMドライブ:"
|
||||
msgid "MO drives:"
|
||||
msgstr "光磁気ドライブ:"
|
||||
|
||||
msgid "MO:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Removable disks:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Removable disk drives:"
|
||||
msgstr ""
|
||||
|
||||
@@ -741,12 +771,30 @@ msgstr "ネットワーク"
|
||||
msgid "Ports (COM & LPT)"
|
||||
msgstr "ポート (COM/LPT)"
|
||||
|
||||
msgid "Ports"
|
||||
msgstr ""
|
||||
|
||||
msgid "Serial ports"
|
||||
msgstr ""
|
||||
|
||||
msgid "Parallel ports"
|
||||
msgstr ""
|
||||
|
||||
msgid "Storage controllers"
|
||||
msgstr "ストレージコントローラ"
|
||||
|
||||
msgid "Hard disks"
|
||||
msgstr "ハードディスク"
|
||||
|
||||
msgid "Disks:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Floppy:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Controllers:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Floppy & CD-ROM drives"
|
||||
msgstr "フロッピー/CD-ROMドライブ"
|
||||
|
||||
@@ -756,6 +804,9 @@ msgstr "他のリムーバブルデバイス"
|
||||
msgid "Other peripherals"
|
||||
msgstr "他の周辺デバイス"
|
||||
|
||||
msgid "Other devices"
|
||||
msgstr ""
|
||||
|
||||
msgid "Click to capture mouse"
|
||||
msgstr "左クリックでマウスをキャプチャします"
|
||||
|
||||
@@ -900,6 +951,15 @@ msgstr "86Boxへようこそ!"
|
||||
msgid "Internal device"
|
||||
msgstr "内蔵デバイス"
|
||||
|
||||
msgid "&File"
|
||||
msgstr ""
|
||||
|
||||
msgid "&New machine..."
|
||||
msgstr ""
|
||||
|
||||
msgid "&Check for updates..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Exit"
|
||||
msgstr "終了"
|
||||
|
||||
@@ -996,6 +1056,9 @@ msgstr "実行を再開"
|
||||
msgid "Pause execution"
|
||||
msgstr "実行を一時停止"
|
||||
|
||||
msgid "Ctrl+Alt+Del"
|
||||
msgstr ""
|
||||
|
||||
msgid "Press Ctrl+Alt+Del"
|
||||
msgstr "Ctrl+Alt+DELを押す"
|
||||
|
||||
@@ -1005,6 +1068,267 @@ msgstr "Ctrl+Alt+Escを押す"
|
||||
msgid "Hard reset"
|
||||
msgstr "ハードリセット"
|
||||
|
||||
msgid "Force shutdown"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start"
|
||||
msgstr ""
|
||||
|
||||
msgid "Not running"
|
||||
msgstr ""
|
||||
|
||||
msgid "Running"
|
||||
msgstr ""
|
||||
|
||||
msgid "Paused"
|
||||
msgstr ""
|
||||
|
||||
msgid "Paused (Waiting)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Powered Off"
|
||||
msgstr ""
|
||||
|
||||
msgid "waiting"
|
||||
msgstr ""
|
||||
|
||||
msgid "total"
|
||||
msgstr ""
|
||||
|
||||
msgid "System Directory:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Choose directory"
|
||||
msgstr ""
|
||||
|
||||
msgid "Choose configuration file"
|
||||
msgstr ""
|
||||
|
||||
msgid "86Box configuration files (86box.cfg)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Configuration read failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to open the selected configuration file for reading: %1"
|
||||
msgstr ""
|
||||
|
||||
msgid "Use regular expressions in search box"
|
||||
msgstr ""
|
||||
|
||||
msgid "%1 machine(s) are currently active. Are you sure you want to exit the VM manager anyway?"
|
||||
msgstr ""
|
||||
|
||||
msgid "Add new system wizard"
|
||||
msgstr ""
|
||||
|
||||
msgid "Introduction"
|
||||
msgstr ""
|
||||
|
||||
msgid "This will help you add a new system to 86Box."
|
||||
msgstr ""
|
||||
|
||||
msgid "New configuration"
|
||||
msgstr ""
|
||||
|
||||
msgid "Complete"
|
||||
msgstr ""
|
||||
|
||||
msgid "The wizard will now launch the configuration for the new system."
|
||||
msgstr ""
|
||||
|
||||
msgid "Use existing configuration"
|
||||
msgstr ""
|
||||
|
||||
msgid "Type some notes here"
|
||||
msgstr ""
|
||||
|
||||
msgid "Paste the contents of the existing configuration file into the box below."
|
||||
msgstr ""
|
||||
|
||||
msgid "Load configuration from file"
|
||||
msgstr ""
|
||||
|
||||
msgid "System Name"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name:"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name cannot contain certain characters"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name already exists"
|
||||
msgstr ""
|
||||
|
||||
msgid "Please enter a directory for the system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Directory does not exist"
|
||||
msgstr ""
|
||||
|
||||
msgid "A new directory for the system will be created in the selected directory above"
|
||||
msgstr ""
|
||||
|
||||
msgid "System location:"
|
||||
msgstr ""
|
||||
|
||||
msgid "System Location"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name and location"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter the name of the system and choose the location"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter the name of the system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Please enter a system name"
|
||||
msgstr ""
|
||||
|
||||
msgid "Display Name (optional)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Display name:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Set display name"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter the new display name (blank to reset)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Change &display name..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Context Menu"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Open folder..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Open &printer tray..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Set &icon..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Select an icon"
|
||||
msgstr ""
|
||||
|
||||
msgid "C&lone..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Virtual machine \"%1\" (%2) will be cloned into:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Directory %1 already exists"
|
||||
msgstr ""
|
||||
|
||||
msgid "You cannot use the following characters in the name: %1"
|
||||
msgstr ""
|
||||
|
||||
msgid "Clone"
|
||||
msgstr ""
|
||||
|
||||
msgid "Failed to create directory for cloned VM"
|
||||
msgstr ""
|
||||
|
||||
msgid "Failed to clone VM."
|
||||
msgstr ""
|
||||
|
||||
msgid "Directory in use"
|
||||
msgstr ""
|
||||
|
||||
msgid "The selected directory is already in use. Please select a different directory."
|
||||
msgstr ""
|
||||
|
||||
msgid "Create directory failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to create the directory for the new system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Configuration write failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to open the configuration file at %1 for writing"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error adding system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Abnormal program termination while creating new system: exit code %1, exit status %2.\n\nThe system will not be added."
|
||||
msgstr ""
|
||||
|
||||
msgid "Remove directory failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Some files in the machine's directory were unable to be deleted. Please delete them manually."
|
||||
msgstr ""
|
||||
|
||||
msgid "Build"
|
||||
msgstr ""
|
||||
|
||||
msgid "Version"
|
||||
msgstr ""
|
||||
|
||||
msgid "<b>An update to 86Box is available!</b>"
|
||||
msgstr ""
|
||||
|
||||
msgid "Warning"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Kill"
|
||||
msgstr ""
|
||||
|
||||
msgid "Killing a virtual machine can cause data loss. Only do this if the 86Box process gets stuck.\n\nDo you really wish to kill the virtual machine \"%1\"?"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Delete"
|
||||
msgstr ""
|
||||
|
||||
msgid "Do you really want to delete the virtual machine \"%1\" and all its files? This action cannot be undone!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Show &config file"
|
||||
msgstr ""
|
||||
|
||||
msgid "No screenshot"
|
||||
msgstr ""
|
||||
|
||||
msgid "Search"
|
||||
msgstr ""
|
||||
|
||||
msgid "Searching for VMs..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Found %1"
|
||||
msgstr ""
|
||||
|
||||
msgid "System"
|
||||
msgstr ""
|
||||
|
||||
msgid "Storage"
|
||||
msgstr ""
|
||||
|
||||
msgid "Disk %1: "
|
||||
msgstr ""
|
||||
|
||||
msgid "No disks"
|
||||
msgstr ""
|
||||
|
||||
msgid "Audio"
|
||||
msgstr ""
|
||||
|
||||
msgid "Audio:"
|
||||
msgstr ""
|
||||
|
||||
msgid "ACPI shutdown"
|
||||
msgstr "ACPIシャットダウン"
|
||||
|
||||
@@ -1347,6 +1671,9 @@ msgstr "不明なバス"
|
||||
msgid "Null Driver"
|
||||
msgstr "ヌル・ドライバー"
|
||||
|
||||
msgid "NIC:"
|
||||
msgstr ""
|
||||
|
||||
msgid "NIC %1 (%2) %3"
|
||||
msgstr "NIC %1 (%2) %3"
|
||||
|
||||
@@ -1416,6 +1743,9 @@ msgstr "MCAデバイスはない。"
|
||||
msgid "MiB"
|
||||
msgstr "MiB"
|
||||
|
||||
msgid "GiB"
|
||||
msgstr ""
|
||||
|
||||
msgid "Network Card #1"
|
||||
msgstr "ネットワークカード 1"
|
||||
|
||||
@@ -2223,6 +2553,9 @@ msgstr "カラー・ノンインターレース"
|
||||
msgid "3Dfx Voodoo Graphics"
|
||||
msgstr "3dfx Voodooグラフィック"
|
||||
|
||||
msgid "3Dfx Voodoo 2"
|
||||
msgstr ""
|
||||
|
||||
msgid "Obsidian SB50 + Amethyst (2 TMUs)"
|
||||
msgstr "Obsidian SB50 + Amethyst(2 TMU単位)"
|
||||
|
||||
@@ -2490,6 +2823,84 @@ msgstr ""
|
||||
msgid "Hostname:"
|
||||
msgstr ""
|
||||
|
||||
msgid "ISA RTC"
|
||||
msgstr ""
|
||||
|
||||
msgid "ISA RAM"
|
||||
msgstr ""
|
||||
|
||||
msgid "ISA ROM"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Wipe NVRAM"
|
||||
msgstr ""
|
||||
|
||||
msgid "This will delete all NVRAM (and related) files of the virtual machine located in the \"nvr\" subdirectory. You'll have to reconfigure the BIOS (and possibly other devices inside the VM) settings again if applicable.\n\nAre you sure you want to wipe all NVRAM contents of the virtual machine \"%1\"?"
|
||||
msgstr ""
|
||||
|
||||
msgid "Success"
|
||||
msgstr ""
|
||||
|
||||
msgid "Successfully wiped the NVRAM contents of the virtual machine \"%1\""
|
||||
msgstr ""
|
||||
|
||||
msgid "An error occured trying to wipe the NVRAM contents of the virtual machine \"%1\""
|
||||
msgstr ""
|
||||
|
||||
msgid "%1 VM Manager"
|
||||
msgstr ""
|
||||
|
||||
msgid "%n disk(s)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unknown Status"
|
||||
msgstr ""
|
||||
|
||||
msgid "No Machines Found!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Check for updates on startup"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to determine release information"
|
||||
msgstr ""
|
||||
|
||||
msgid "There was an error checking for updates:\n\n%1\n\nPlease try again later."
|
||||
msgstr ""
|
||||
|
||||
msgid "Update check complete"
|
||||
msgstr ""
|
||||
|
||||
msgid "You are running the latest %1 version of 86Box: %2"
|
||||
msgstr ""
|
||||
|
||||
msgid "version"
|
||||
msgstr ""
|
||||
|
||||
msgid "build"
|
||||
msgstr ""
|
||||
|
||||
msgid "You are currently running %1 <b>%2</b>. "
|
||||
msgstr ""
|
||||
|
||||
msgid "<b>%1 %2</b> is now available. %3Would you like to visit the download page?"
|
||||
msgstr ""
|
||||
|
||||
msgid "Visit download page"
|
||||
msgstr ""
|
||||
|
||||
msgid "Update check"
|
||||
msgstr ""
|
||||
|
||||
msgid "Checking for updates.."
|
||||
msgstr ""
|
||||
|
||||
msgid "86Box Update"
|
||||
msgstr ""
|
||||
|
||||
msgid "Release notes:"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "HD Controller:"
|
||||
#~ msgstr "HDDコントローラー:"
|
||||
|
||||
|
||||
@@ -27,6 +27,9 @@ msgstr "Ctrl+Alt+Esc(&E)"
|
||||
msgid "&Pause"
|
||||
msgstr "일시정지(&P)"
|
||||
|
||||
msgid "Pause"
|
||||
msgstr ""
|
||||
|
||||
msgid "Re&sume"
|
||||
msgstr ""
|
||||
|
||||
@@ -192,6 +195,9 @@ msgstr "도구(&T)"
|
||||
msgid "&Settings..."
|
||||
msgstr "설정(&S)..."
|
||||
|
||||
msgid "Settings..."
|
||||
msgstr ""
|
||||
|
||||
msgid "&Update status bar icons"
|
||||
msgstr "상태 바 아이콘 갱신하기(&U)"
|
||||
|
||||
@@ -357,6 +363,9 @@ msgstr "기종:"
|
||||
msgid "Configure"
|
||||
msgstr "설정"
|
||||
|
||||
msgid "CPU:"
|
||||
msgstr ""
|
||||
|
||||
msgid "CPU type:"
|
||||
msgstr "CPU 종류:"
|
||||
|
||||
@@ -417,15 +426,27 @@ msgstr "IBM 8514/A 그래픽"
|
||||
msgid "XGA Graphics"
|
||||
msgstr "XGA 그래픽"
|
||||
|
||||
msgid "IBM PS/55 Display Adapter Graphics"
|
||||
msgstr ""
|
||||
|
||||
msgid "Keyboard:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Keyboard"
|
||||
msgstr ""
|
||||
|
||||
msgid "Mouse:"
|
||||
msgstr "마우스:"
|
||||
|
||||
msgid "Mouse"
|
||||
msgstr ""
|
||||
|
||||
msgid "Joystick:"
|
||||
msgstr "조이스틱:"
|
||||
|
||||
msgid "Joystick"
|
||||
msgstr ""
|
||||
|
||||
msgid "Joystick 1..."
|
||||
msgstr "조이스틱 1..."
|
||||
|
||||
@@ -456,6 +477,9 @@ msgstr "MIDI 출력 장치:"
|
||||
msgid "MIDI In Device:"
|
||||
msgstr "MIDI 입력 장치:"
|
||||
|
||||
msgid "MIDI Out:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Standalone MPU-401"
|
||||
msgstr "MPU-401 단독 사용"
|
||||
|
||||
@@ -615,6 +639,12 @@ msgstr "CD-ROM 드라이브:"
|
||||
msgid "MO drives:"
|
||||
msgstr "광자기 드라이브:"
|
||||
|
||||
msgid "MO:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Removable disks:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Removable disk drives:"
|
||||
msgstr ""
|
||||
|
||||
@@ -741,12 +771,30 @@ msgstr "네트워크"
|
||||
msgid "Ports (COM & LPT)"
|
||||
msgstr "포트 (COM & LPT)"
|
||||
|
||||
msgid "Ports"
|
||||
msgstr ""
|
||||
|
||||
msgid "Serial ports"
|
||||
msgstr ""
|
||||
|
||||
msgid "Parallel ports"
|
||||
msgstr ""
|
||||
|
||||
msgid "Storage controllers"
|
||||
msgstr "장치 컨트롤러"
|
||||
|
||||
msgid "Hard disks"
|
||||
msgstr "하드 디스크"
|
||||
|
||||
msgid "Disks:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Floppy:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Controllers:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Floppy & CD-ROM drives"
|
||||
msgstr "플로피 / CD-ROM"
|
||||
|
||||
@@ -756,6 +804,9 @@ msgstr "기타 이동식 저장장치"
|
||||
msgid "Other peripherals"
|
||||
msgstr "기타 주변기기"
|
||||
|
||||
msgid "Other devices"
|
||||
msgstr ""
|
||||
|
||||
msgid "Click to capture mouse"
|
||||
msgstr "이 창을 클릭하면 마우스를 사용합니다"
|
||||
|
||||
@@ -900,6 +951,15 @@ msgstr "86Box에 어서오세요!"
|
||||
msgid "Internal device"
|
||||
msgstr "내부 장치"
|
||||
|
||||
msgid "&File"
|
||||
msgstr ""
|
||||
|
||||
msgid "&New machine..."
|
||||
msgstr ""
|
||||
|
||||
msgid "&Check for updates..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Exit"
|
||||
msgstr "끝내기"
|
||||
|
||||
@@ -996,6 +1056,9 @@ msgstr "실행 재개"
|
||||
msgid "Pause execution"
|
||||
msgstr "실행 일시 중지"
|
||||
|
||||
msgid "Ctrl+Alt+Del"
|
||||
msgstr ""
|
||||
|
||||
msgid "Press Ctrl+Alt+Del"
|
||||
msgstr "Ctrl+Alt+Del"
|
||||
|
||||
@@ -1005,6 +1068,267 @@ msgstr "Ctrl+Alt+Esc"
|
||||
msgid "Hard reset"
|
||||
msgstr "재시작"
|
||||
|
||||
msgid "Force shutdown"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start"
|
||||
msgstr ""
|
||||
|
||||
msgid "Not running"
|
||||
msgstr ""
|
||||
|
||||
msgid "Running"
|
||||
msgstr ""
|
||||
|
||||
msgid "Paused"
|
||||
msgstr ""
|
||||
|
||||
msgid "Paused (Waiting)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Powered Off"
|
||||
msgstr ""
|
||||
|
||||
msgid "waiting"
|
||||
msgstr ""
|
||||
|
||||
msgid "total"
|
||||
msgstr ""
|
||||
|
||||
msgid "System Directory:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Choose directory"
|
||||
msgstr ""
|
||||
|
||||
msgid "Choose configuration file"
|
||||
msgstr ""
|
||||
|
||||
msgid "86Box configuration files (86box.cfg)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Configuration read failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to open the selected configuration file for reading: %1"
|
||||
msgstr ""
|
||||
|
||||
msgid "Use regular expressions in search box"
|
||||
msgstr ""
|
||||
|
||||
msgid "%1 machine(s) are currently active. Are you sure you want to exit the VM manager anyway?"
|
||||
msgstr ""
|
||||
|
||||
msgid "Add new system wizard"
|
||||
msgstr ""
|
||||
|
||||
msgid "Introduction"
|
||||
msgstr ""
|
||||
|
||||
msgid "This will help you add a new system to 86Box."
|
||||
msgstr ""
|
||||
|
||||
msgid "New configuration"
|
||||
msgstr ""
|
||||
|
||||
msgid "Complete"
|
||||
msgstr ""
|
||||
|
||||
msgid "The wizard will now launch the configuration for the new system."
|
||||
msgstr ""
|
||||
|
||||
msgid "Use existing configuration"
|
||||
msgstr ""
|
||||
|
||||
msgid "Type some notes here"
|
||||
msgstr ""
|
||||
|
||||
msgid "Paste the contents of the existing configuration file into the box below."
|
||||
msgstr ""
|
||||
|
||||
msgid "Load configuration from file"
|
||||
msgstr ""
|
||||
|
||||
msgid "System Name"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name:"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name cannot contain certain characters"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name already exists"
|
||||
msgstr ""
|
||||
|
||||
msgid "Please enter a directory for the system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Directory does not exist"
|
||||
msgstr ""
|
||||
|
||||
msgid "A new directory for the system will be created in the selected directory above"
|
||||
msgstr ""
|
||||
|
||||
msgid "System location:"
|
||||
msgstr ""
|
||||
|
||||
msgid "System Location"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name and location"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter the name of the system and choose the location"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter the name of the system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Please enter a system name"
|
||||
msgstr ""
|
||||
|
||||
msgid "Display Name (optional)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Display name:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Set display name"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter the new display name (blank to reset)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Change &display name..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Context Menu"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Open folder..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Open &printer tray..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Set &icon..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Select an icon"
|
||||
msgstr ""
|
||||
|
||||
msgid "C&lone..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Virtual machine \"%1\" (%2) will be cloned into:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Directory %1 already exists"
|
||||
msgstr ""
|
||||
|
||||
msgid "You cannot use the following characters in the name: %1"
|
||||
msgstr ""
|
||||
|
||||
msgid "Clone"
|
||||
msgstr ""
|
||||
|
||||
msgid "Failed to create directory for cloned VM"
|
||||
msgstr ""
|
||||
|
||||
msgid "Failed to clone VM."
|
||||
msgstr ""
|
||||
|
||||
msgid "Directory in use"
|
||||
msgstr ""
|
||||
|
||||
msgid "The selected directory is already in use. Please select a different directory."
|
||||
msgstr ""
|
||||
|
||||
msgid "Create directory failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to create the directory for the new system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Configuration write failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to open the configuration file at %1 for writing"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error adding system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Abnormal program termination while creating new system: exit code %1, exit status %2.\n\nThe system will not be added."
|
||||
msgstr ""
|
||||
|
||||
msgid "Remove directory failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Some files in the machine's directory were unable to be deleted. Please delete them manually."
|
||||
msgstr ""
|
||||
|
||||
msgid "Build"
|
||||
msgstr ""
|
||||
|
||||
msgid "Version"
|
||||
msgstr ""
|
||||
|
||||
msgid "<b>An update to 86Box is available!</b>"
|
||||
msgstr ""
|
||||
|
||||
msgid "Warning"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Kill"
|
||||
msgstr ""
|
||||
|
||||
msgid "Killing a virtual machine can cause data loss. Only do this if the 86Box process gets stuck.\n\nDo you really wish to kill the virtual machine \"%1\"?"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Delete"
|
||||
msgstr ""
|
||||
|
||||
msgid "Do you really want to delete the virtual machine \"%1\" and all its files? This action cannot be undone!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Show &config file"
|
||||
msgstr ""
|
||||
|
||||
msgid "No screenshot"
|
||||
msgstr ""
|
||||
|
||||
msgid "Search"
|
||||
msgstr ""
|
||||
|
||||
msgid "Searching for VMs..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Found %1"
|
||||
msgstr ""
|
||||
|
||||
msgid "System"
|
||||
msgstr ""
|
||||
|
||||
msgid "Storage"
|
||||
msgstr ""
|
||||
|
||||
msgid "Disk %1: "
|
||||
msgstr ""
|
||||
|
||||
msgid "No disks"
|
||||
msgstr ""
|
||||
|
||||
msgid "Audio"
|
||||
msgstr ""
|
||||
|
||||
msgid "Audio:"
|
||||
msgstr ""
|
||||
|
||||
msgid "ACPI shutdown"
|
||||
msgstr "ACPI 종료"
|
||||
|
||||
@@ -1347,6 +1671,9 @@ msgstr "알 수 없는 버스"
|
||||
msgid "Null Driver"
|
||||
msgstr "Null 드라이버"
|
||||
|
||||
msgid "NIC:"
|
||||
msgstr ""
|
||||
|
||||
msgid "NIC %1 (%2) %3"
|
||||
msgstr "NIC %1 (%2) %3"
|
||||
|
||||
@@ -1416,6 +1743,9 @@ msgstr "MCA 장치가 없습니다."
|
||||
msgid "MiB"
|
||||
msgstr "MiB"
|
||||
|
||||
msgid "GiB"
|
||||
msgstr ""
|
||||
|
||||
msgid "Network Card #1"
|
||||
msgstr "네트워크 카드 1"
|
||||
|
||||
@@ -2223,6 +2553,9 @@ msgstr "비인터레이스 컬러"
|
||||
msgid "3Dfx Voodoo Graphics"
|
||||
msgstr "3Dfx 부두 그래픽"
|
||||
|
||||
msgid "3Dfx Voodoo 2"
|
||||
msgstr ""
|
||||
|
||||
msgid "Obsidian SB50 + Amethyst (2 TMUs)"
|
||||
msgstr "옵시디언 SB50 + 자수정(TMU 2개)"
|
||||
|
||||
@@ -2490,6 +2823,84 @@ msgstr ""
|
||||
msgid "Hostname:"
|
||||
msgstr ""
|
||||
|
||||
msgid "ISA RTC"
|
||||
msgstr ""
|
||||
|
||||
msgid "ISA RAM"
|
||||
msgstr ""
|
||||
|
||||
msgid "ISA ROM"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Wipe NVRAM"
|
||||
msgstr ""
|
||||
|
||||
msgid "This will delete all NVRAM (and related) files of the virtual machine located in the \"nvr\" subdirectory. You'll have to reconfigure the BIOS (and possibly other devices inside the VM) settings again if applicable.\n\nAre you sure you want to wipe all NVRAM contents of the virtual machine \"%1\"?"
|
||||
msgstr ""
|
||||
|
||||
msgid "Success"
|
||||
msgstr ""
|
||||
|
||||
msgid "Successfully wiped the NVRAM contents of the virtual machine \"%1\""
|
||||
msgstr ""
|
||||
|
||||
msgid "An error occured trying to wipe the NVRAM contents of the virtual machine \"%1\""
|
||||
msgstr ""
|
||||
|
||||
msgid "%1 VM Manager"
|
||||
msgstr ""
|
||||
|
||||
msgid "%n disk(s)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unknown Status"
|
||||
msgstr ""
|
||||
|
||||
msgid "No Machines Found!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Check for updates on startup"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to determine release information"
|
||||
msgstr ""
|
||||
|
||||
msgid "There was an error checking for updates:\n\n%1\n\nPlease try again later."
|
||||
msgstr ""
|
||||
|
||||
msgid "Update check complete"
|
||||
msgstr ""
|
||||
|
||||
msgid "You are running the latest %1 version of 86Box: %2"
|
||||
msgstr ""
|
||||
|
||||
msgid "version"
|
||||
msgstr ""
|
||||
|
||||
msgid "build"
|
||||
msgstr ""
|
||||
|
||||
msgid "You are currently running %1 <b>%2</b>. "
|
||||
msgstr ""
|
||||
|
||||
msgid "<b>%1 %2</b> is now available. %3Would you like to visit the download page?"
|
||||
msgstr ""
|
||||
|
||||
msgid "Visit download page"
|
||||
msgstr ""
|
||||
|
||||
msgid "Update check"
|
||||
msgstr ""
|
||||
|
||||
msgid "Checking for updates.."
|
||||
msgstr ""
|
||||
|
||||
msgid "86Box Update"
|
||||
msgstr ""
|
||||
|
||||
msgid "Release notes:"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "HD Controller:"
|
||||
#~ msgstr "HD 컨트롤러:"
|
||||
|
||||
|
||||
@@ -27,6 +27,9 @@ msgstr "Ctrl+Alt+&Esc"
|
||||
msgid "&Pause"
|
||||
msgstr "&Pauze"
|
||||
|
||||
msgid "Pause"
|
||||
msgstr ""
|
||||
|
||||
msgid "Re&sume"
|
||||
msgstr "He&rvatten"
|
||||
|
||||
@@ -192,6 +195,9 @@ msgstr "&Tools"
|
||||
msgid "&Settings..."
|
||||
msgstr "&Instellingen..."
|
||||
|
||||
msgid "Settings..."
|
||||
msgstr ""
|
||||
|
||||
msgid "&Update status bar icons"
|
||||
msgstr "&Statusbalkpictogrammen bijwerken"
|
||||
|
||||
@@ -357,6 +363,9 @@ msgstr "Machine:"
|
||||
msgid "Configure"
|
||||
msgstr "Configureren"
|
||||
|
||||
msgid "CPU:"
|
||||
msgstr ""
|
||||
|
||||
msgid "CPU type:"
|
||||
msgstr "CPU type:"
|
||||
|
||||
@@ -417,15 +426,27 @@ msgstr "IBM 8514/A-graphics"
|
||||
msgid "XGA Graphics"
|
||||
msgstr "XGA Graphics"
|
||||
|
||||
msgid "IBM PS/55 Display Adapter Graphics"
|
||||
msgstr ""
|
||||
|
||||
msgid "Keyboard:"
|
||||
msgstr "Toetsenbord"
|
||||
|
||||
msgid "Keyboard"
|
||||
msgstr ""
|
||||
|
||||
msgid "Mouse:"
|
||||
msgstr "Muis:"
|
||||
|
||||
msgid "Mouse"
|
||||
msgstr ""
|
||||
|
||||
msgid "Joystick:"
|
||||
msgstr "Joystick:"
|
||||
|
||||
msgid "Joystick"
|
||||
msgstr ""
|
||||
|
||||
msgid "Joystick 1..."
|
||||
msgstr "Joystick 1..."
|
||||
|
||||
@@ -456,6 +477,9 @@ msgstr "MIDI Out-apparaat:"
|
||||
msgid "MIDI In Device:"
|
||||
msgstr "MIDI In-apparaat:"
|
||||
|
||||
msgid "MIDI Out:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Standalone MPU-401"
|
||||
msgstr "Standalone MPU-401"
|
||||
|
||||
@@ -615,6 +639,12 @@ msgstr "CD-ROM-stations:"
|
||||
msgid "MO drives:"
|
||||
msgstr "MO-schijven:"
|
||||
|
||||
msgid "MO:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Removable disks:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Removable disk drives:"
|
||||
msgstr "Verwisselbare schijfstations"
|
||||
|
||||
@@ -741,12 +771,30 @@ msgstr "Netwerk"
|
||||
msgid "Ports (COM & LPT)"
|
||||
msgstr "Poorten (COM & LPT)"
|
||||
|
||||
msgid "Ports"
|
||||
msgstr ""
|
||||
|
||||
msgid "Serial ports"
|
||||
msgstr ""
|
||||
|
||||
msgid "Parallel ports"
|
||||
msgstr ""
|
||||
|
||||
msgid "Storage controllers"
|
||||
msgstr "Opslagcontrollers"
|
||||
|
||||
msgid "Hard disks"
|
||||
msgstr "Harde schijven"
|
||||
|
||||
msgid "Disks:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Floppy:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Controllers:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Floppy & CD-ROM drives"
|
||||
msgstr "Floppy- en CD-ROM-stations"
|
||||
|
||||
@@ -756,6 +804,9 @@ msgstr "Andere verwijderbare apparaten"
|
||||
msgid "Other peripherals"
|
||||
msgstr "Andere randapparatuur"
|
||||
|
||||
msgid "Other devices"
|
||||
msgstr ""
|
||||
|
||||
msgid "Click to capture mouse"
|
||||
msgstr "Klik om muis vast te leggen"
|
||||
|
||||
@@ -900,6 +951,15 @@ msgstr "Welkom bij 86Box!"
|
||||
msgid "Internal device"
|
||||
msgstr "Intern apparaat"
|
||||
|
||||
msgid "&File"
|
||||
msgstr ""
|
||||
|
||||
msgid "&New machine..."
|
||||
msgstr ""
|
||||
|
||||
msgid "&Check for updates..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Exit"
|
||||
msgstr "&Afsluiten"
|
||||
|
||||
@@ -996,6 +1056,9 @@ msgstr "Hervat executie"
|
||||
msgid "Pause execution"
|
||||
msgstr "Pauze executie"
|
||||
|
||||
msgid "Ctrl+Alt+Del"
|
||||
msgstr ""
|
||||
|
||||
msgid "Press Ctrl+Alt+Del"
|
||||
msgstr "Druk op Ctrl+Alt+Del"
|
||||
|
||||
@@ -1005,6 +1068,267 @@ msgstr "Druk op Ctrl+Alt+Esc"
|
||||
msgid "Hard reset"
|
||||
msgstr "Harde reset"
|
||||
|
||||
msgid "Force shutdown"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start"
|
||||
msgstr ""
|
||||
|
||||
msgid "Not running"
|
||||
msgstr ""
|
||||
|
||||
msgid "Running"
|
||||
msgstr ""
|
||||
|
||||
msgid "Paused"
|
||||
msgstr ""
|
||||
|
||||
msgid "Paused (Waiting)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Powered Off"
|
||||
msgstr ""
|
||||
|
||||
msgid "waiting"
|
||||
msgstr ""
|
||||
|
||||
msgid "total"
|
||||
msgstr ""
|
||||
|
||||
msgid "System Directory:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Choose directory"
|
||||
msgstr ""
|
||||
|
||||
msgid "Choose configuration file"
|
||||
msgstr ""
|
||||
|
||||
msgid "86Box configuration files (86box.cfg)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Configuration read failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to open the selected configuration file for reading: %1"
|
||||
msgstr ""
|
||||
|
||||
msgid "Use regular expressions in search box"
|
||||
msgstr ""
|
||||
|
||||
msgid "%1 machine(s) are currently active. Are you sure you want to exit the VM manager anyway?"
|
||||
msgstr ""
|
||||
|
||||
msgid "Add new system wizard"
|
||||
msgstr ""
|
||||
|
||||
msgid "Introduction"
|
||||
msgstr ""
|
||||
|
||||
msgid "This will help you add a new system to 86Box."
|
||||
msgstr ""
|
||||
|
||||
msgid "New configuration"
|
||||
msgstr ""
|
||||
|
||||
msgid "Complete"
|
||||
msgstr ""
|
||||
|
||||
msgid "The wizard will now launch the configuration for the new system."
|
||||
msgstr ""
|
||||
|
||||
msgid "Use existing configuration"
|
||||
msgstr ""
|
||||
|
||||
msgid "Type some notes here"
|
||||
msgstr ""
|
||||
|
||||
msgid "Paste the contents of the existing configuration file into the box below."
|
||||
msgstr ""
|
||||
|
||||
msgid "Load configuration from file"
|
||||
msgstr ""
|
||||
|
||||
msgid "System Name"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name:"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name cannot contain certain characters"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name already exists"
|
||||
msgstr ""
|
||||
|
||||
msgid "Please enter a directory for the system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Directory does not exist"
|
||||
msgstr ""
|
||||
|
||||
msgid "A new directory for the system will be created in the selected directory above"
|
||||
msgstr ""
|
||||
|
||||
msgid "System location:"
|
||||
msgstr ""
|
||||
|
||||
msgid "System Location"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name and location"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter the name of the system and choose the location"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter the name of the system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Please enter a system name"
|
||||
msgstr ""
|
||||
|
||||
msgid "Display Name (optional)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Display name:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Set display name"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter the new display name (blank to reset)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Change &display name..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Context Menu"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Open folder..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Open &printer tray..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Set &icon..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Select an icon"
|
||||
msgstr ""
|
||||
|
||||
msgid "C&lone..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Virtual machine \"%1\" (%2) will be cloned into:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Directory %1 already exists"
|
||||
msgstr ""
|
||||
|
||||
msgid "You cannot use the following characters in the name: %1"
|
||||
msgstr ""
|
||||
|
||||
msgid "Clone"
|
||||
msgstr ""
|
||||
|
||||
msgid "Failed to create directory for cloned VM"
|
||||
msgstr ""
|
||||
|
||||
msgid "Failed to clone VM."
|
||||
msgstr ""
|
||||
|
||||
msgid "Directory in use"
|
||||
msgstr ""
|
||||
|
||||
msgid "The selected directory is already in use. Please select a different directory."
|
||||
msgstr ""
|
||||
|
||||
msgid "Create directory failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to create the directory for the new system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Configuration write failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to open the configuration file at %1 for writing"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error adding system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Abnormal program termination while creating new system: exit code %1, exit status %2.\n\nThe system will not be added."
|
||||
msgstr ""
|
||||
|
||||
msgid "Remove directory failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Some files in the machine's directory were unable to be deleted. Please delete them manually."
|
||||
msgstr ""
|
||||
|
||||
msgid "Build"
|
||||
msgstr ""
|
||||
|
||||
msgid "Version"
|
||||
msgstr ""
|
||||
|
||||
msgid "<b>An update to 86Box is available!</b>"
|
||||
msgstr ""
|
||||
|
||||
msgid "Warning"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Kill"
|
||||
msgstr ""
|
||||
|
||||
msgid "Killing a virtual machine can cause data loss. Only do this if the 86Box process gets stuck.\n\nDo you really wish to kill the virtual machine \"%1\"?"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Delete"
|
||||
msgstr ""
|
||||
|
||||
msgid "Do you really want to delete the virtual machine \"%1\" and all its files? This action cannot be undone!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Show &config file"
|
||||
msgstr ""
|
||||
|
||||
msgid "No screenshot"
|
||||
msgstr ""
|
||||
|
||||
msgid "Search"
|
||||
msgstr ""
|
||||
|
||||
msgid "Searching for VMs..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Found %1"
|
||||
msgstr ""
|
||||
|
||||
msgid "System"
|
||||
msgstr ""
|
||||
|
||||
msgid "Storage"
|
||||
msgstr ""
|
||||
|
||||
msgid "Disk %1: "
|
||||
msgstr ""
|
||||
|
||||
msgid "No disks"
|
||||
msgstr ""
|
||||
|
||||
msgid "Audio"
|
||||
msgstr ""
|
||||
|
||||
msgid "Audio:"
|
||||
msgstr ""
|
||||
|
||||
msgid "ACPI shutdown"
|
||||
msgstr "ACPI uitschakeling"
|
||||
|
||||
@@ -1347,6 +1671,9 @@ msgstr "Onbekende bus"
|
||||
msgid "Null Driver"
|
||||
msgstr "Null Driver"
|
||||
|
||||
msgid "NIC:"
|
||||
msgstr ""
|
||||
|
||||
msgid "NIC %1 (%2) %3"
|
||||
msgstr "NIC %1 (%2) %3"
|
||||
|
||||
@@ -1416,6 +1743,9 @@ msgstr "Geen MCA-apparaten."
|
||||
msgid "MiB"
|
||||
msgstr "MiB"
|
||||
|
||||
msgid "GiB"
|
||||
msgstr ""
|
||||
|
||||
msgid "Network Card #1"
|
||||
msgstr "Netwerkkaart #1"
|
||||
|
||||
@@ -1510,7 +1840,7 @@ msgid "3M MicroTouch (Serial)"
|
||||
msgstr "3M MicroTouch (serieel)"
|
||||
|
||||
msgid "Default Baud rate"
|
||||
msgstr "Standaard baudrate"
|
||||
msgstr "Standaard baudrate"
|
||||
|
||||
msgid "[COM] Standard Hayes-compliant Modem"
|
||||
msgstr "COM] Standaard Hayes-compatibele modem "
|
||||
@@ -2223,6 +2553,9 @@ msgstr "Kleur niet geïnterlaced"
|
||||
msgid "3Dfx Voodoo Graphics"
|
||||
msgstr "3Dfx Voodoo Graphics"
|
||||
|
||||
msgid "3Dfx Voodoo 2"
|
||||
msgstr ""
|
||||
|
||||
msgid "Obsidian SB50 + Amethyst (2 TMUs)"
|
||||
msgstr "Obsidian SB50 + Amethyst (2 TMU's)"
|
||||
|
||||
@@ -2490,6 +2823,84 @@ msgstr "Hub-modus"
|
||||
msgid "Hostname:"
|
||||
msgstr "Hostname"
|
||||
|
||||
msgid "ISA RTC"
|
||||
msgstr ""
|
||||
|
||||
msgid "ISA RAM"
|
||||
msgstr ""
|
||||
|
||||
msgid "ISA ROM"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Wipe NVRAM"
|
||||
msgstr ""
|
||||
|
||||
msgid "This will delete all NVRAM (and related) files of the virtual machine located in the \"nvr\" subdirectory. You'll have to reconfigure the BIOS (and possibly other devices inside the VM) settings again if applicable.\n\nAre you sure you want to wipe all NVRAM contents of the virtual machine \"%1\"?"
|
||||
msgstr ""
|
||||
|
||||
msgid "Success"
|
||||
msgstr ""
|
||||
|
||||
msgid "Successfully wiped the NVRAM contents of the virtual machine \"%1\""
|
||||
msgstr ""
|
||||
|
||||
msgid "An error occured trying to wipe the NVRAM contents of the virtual machine \"%1\""
|
||||
msgstr ""
|
||||
|
||||
msgid "%1 VM Manager"
|
||||
msgstr ""
|
||||
|
||||
msgid "%n disk(s)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unknown Status"
|
||||
msgstr ""
|
||||
|
||||
msgid "No Machines Found!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Check for updates on startup"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to determine release information"
|
||||
msgstr ""
|
||||
|
||||
msgid "There was an error checking for updates:\n\n%1\n\nPlease try again later."
|
||||
msgstr ""
|
||||
|
||||
msgid "Update check complete"
|
||||
msgstr ""
|
||||
|
||||
msgid "You are running the latest %1 version of 86Box: %2"
|
||||
msgstr ""
|
||||
|
||||
msgid "version"
|
||||
msgstr ""
|
||||
|
||||
msgid "build"
|
||||
msgstr ""
|
||||
|
||||
msgid "You are currently running %1 <b>%2</b>. "
|
||||
msgstr ""
|
||||
|
||||
msgid "<b>%1 %2</b> is now available. %3Would you like to visit the download page?"
|
||||
msgstr ""
|
||||
|
||||
msgid "Visit download page"
|
||||
msgstr ""
|
||||
|
||||
msgid "Update check"
|
||||
msgstr ""
|
||||
|
||||
msgid "Checking for updates.."
|
||||
msgstr ""
|
||||
|
||||
msgid "86Box Update"
|
||||
msgstr ""
|
||||
|
||||
msgid "Release notes:"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "HD Controller:"
|
||||
#~ msgstr "HD-controller:"
|
||||
|
||||
|
||||
@@ -27,6 +27,9 @@ msgstr "Ctrl+Alt+&Esc"
|
||||
msgid "&Pause"
|
||||
msgstr "&Pauza"
|
||||
|
||||
msgid "Pause"
|
||||
msgstr ""
|
||||
|
||||
msgid "Re&sume"
|
||||
msgstr "&Wznów"
|
||||
|
||||
@@ -192,6 +195,9 @@ msgstr "&Narzędzia"
|
||||
msgid "&Settings..."
|
||||
msgstr "&Ustawienia..."
|
||||
|
||||
msgid "Settings..."
|
||||
msgstr ""
|
||||
|
||||
msgid "&Update status bar icons"
|
||||
msgstr "&Aktualizuj ikony na pasku statusu"
|
||||
|
||||
@@ -357,6 +363,9 @@ msgstr "Maszyna:"
|
||||
msgid "Configure"
|
||||
msgstr "Konfiguruj"
|
||||
|
||||
msgid "CPU:"
|
||||
msgstr ""
|
||||
|
||||
msgid "CPU type:"
|
||||
msgstr "Rodzaj procesora:"
|
||||
|
||||
@@ -417,15 +426,27 @@ msgstr "Grafika IBM 8514/A"
|
||||
msgid "XGA Graphics"
|
||||
msgstr "Grafika XGA"
|
||||
|
||||
msgid "IBM PS/55 Display Adapter Graphics"
|
||||
msgstr ""
|
||||
|
||||
msgid "Keyboard:"
|
||||
msgstr "Klawiatura:"
|
||||
|
||||
msgid "Keyboard"
|
||||
msgstr ""
|
||||
|
||||
msgid "Mouse:"
|
||||
msgstr "Mysz:"
|
||||
|
||||
msgid "Mouse"
|
||||
msgstr ""
|
||||
|
||||
msgid "Joystick:"
|
||||
msgstr "Joystick:"
|
||||
|
||||
msgid "Joystick"
|
||||
msgstr ""
|
||||
|
||||
msgid "Joystick 1..."
|
||||
msgstr "Joystick 1..."
|
||||
|
||||
@@ -456,6 +477,9 @@ msgstr "Urządzenie wyjściowe MIDI:"
|
||||
msgid "MIDI In Device:"
|
||||
msgstr "Urządzenie wejściowe MIDI:"
|
||||
|
||||
msgid "MIDI Out:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Standalone MPU-401"
|
||||
msgstr "Samodzielne urządzenie MPU-401"
|
||||
|
||||
@@ -615,6 +639,12 @@ msgstr "Napędy CD-ROM:"
|
||||
msgid "MO drives:"
|
||||
msgstr "Napędy MO:"
|
||||
|
||||
msgid "MO:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Removable disks:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Removable disk drives:"
|
||||
msgstr "Stacje dysków wymiennych:"
|
||||
|
||||
@@ -741,12 +771,30 @@ msgstr "Sieć"
|
||||
msgid "Ports (COM & LPT)"
|
||||
msgstr "Porty (COM & LPT)"
|
||||
|
||||
msgid "Ports"
|
||||
msgstr ""
|
||||
|
||||
msgid "Serial ports"
|
||||
msgstr ""
|
||||
|
||||
msgid "Parallel ports"
|
||||
msgstr ""
|
||||
|
||||
msgid "Storage controllers"
|
||||
msgstr "Kontrolery pamięci masowej"
|
||||
|
||||
msgid "Hard disks"
|
||||
msgstr "Dyski twarde"
|
||||
|
||||
msgid "Disks:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Floppy:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Controllers:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Floppy & CD-ROM drives"
|
||||
msgstr "Napędy dyskietek i CD-ROM"
|
||||
|
||||
@@ -756,6 +804,9 @@ msgstr "Inne urządzenia wymienne"
|
||||
msgid "Other peripherals"
|
||||
msgstr "Inne urządzenia peryferyjne"
|
||||
|
||||
msgid "Other devices"
|
||||
msgstr ""
|
||||
|
||||
msgid "Click to capture mouse"
|
||||
msgstr "Kliknij, by przechwycić mysz"
|
||||
|
||||
@@ -900,6 +951,15 @@ msgstr "Witamy w 86Boxie!"
|
||||
msgid "Internal device"
|
||||
msgstr "Urządzenie wewnętrzne"
|
||||
|
||||
msgid "&File"
|
||||
msgstr ""
|
||||
|
||||
msgid "&New machine..."
|
||||
msgstr ""
|
||||
|
||||
msgid "&Check for updates..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Exit"
|
||||
msgstr "Zakończ"
|
||||
|
||||
@@ -996,6 +1056,9 @@ msgstr "Wznów wykonywanie"
|
||||
msgid "Pause execution"
|
||||
msgstr "Zatrzymaj wykonywanie"
|
||||
|
||||
msgid "Ctrl+Alt+Del"
|
||||
msgstr ""
|
||||
|
||||
msgid "Press Ctrl+Alt+Del"
|
||||
msgstr "Naciśnij Ctrl+Alt+Del"
|
||||
|
||||
@@ -1005,6 +1068,267 @@ msgstr "Naciśnij Ctrl+Alt+Esc"
|
||||
msgid "Hard reset"
|
||||
msgstr "Twardy reset"
|
||||
|
||||
msgid "Force shutdown"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start"
|
||||
msgstr ""
|
||||
|
||||
msgid "Not running"
|
||||
msgstr ""
|
||||
|
||||
msgid "Running"
|
||||
msgstr ""
|
||||
|
||||
msgid "Paused"
|
||||
msgstr ""
|
||||
|
||||
msgid "Paused (Waiting)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Powered Off"
|
||||
msgstr ""
|
||||
|
||||
msgid "waiting"
|
||||
msgstr ""
|
||||
|
||||
msgid "total"
|
||||
msgstr ""
|
||||
|
||||
msgid "System Directory:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Choose directory"
|
||||
msgstr ""
|
||||
|
||||
msgid "Choose configuration file"
|
||||
msgstr ""
|
||||
|
||||
msgid "86Box configuration files (86box.cfg)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Configuration read failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to open the selected configuration file for reading: %1"
|
||||
msgstr ""
|
||||
|
||||
msgid "Use regular expressions in search box"
|
||||
msgstr ""
|
||||
|
||||
msgid "%1 machine(s) are currently active. Are you sure you want to exit the VM manager anyway?"
|
||||
msgstr ""
|
||||
|
||||
msgid "Add new system wizard"
|
||||
msgstr ""
|
||||
|
||||
msgid "Introduction"
|
||||
msgstr ""
|
||||
|
||||
msgid "This will help you add a new system to 86Box."
|
||||
msgstr ""
|
||||
|
||||
msgid "New configuration"
|
||||
msgstr ""
|
||||
|
||||
msgid "Complete"
|
||||
msgstr ""
|
||||
|
||||
msgid "The wizard will now launch the configuration for the new system."
|
||||
msgstr ""
|
||||
|
||||
msgid "Use existing configuration"
|
||||
msgstr ""
|
||||
|
||||
msgid "Type some notes here"
|
||||
msgstr ""
|
||||
|
||||
msgid "Paste the contents of the existing configuration file into the box below."
|
||||
msgstr ""
|
||||
|
||||
msgid "Load configuration from file"
|
||||
msgstr ""
|
||||
|
||||
msgid "System Name"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name:"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name cannot contain certain characters"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name already exists"
|
||||
msgstr ""
|
||||
|
||||
msgid "Please enter a directory for the system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Directory does not exist"
|
||||
msgstr ""
|
||||
|
||||
msgid "A new directory for the system will be created in the selected directory above"
|
||||
msgstr ""
|
||||
|
||||
msgid "System location:"
|
||||
msgstr ""
|
||||
|
||||
msgid "System Location"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name and location"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter the name of the system and choose the location"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter the name of the system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Please enter a system name"
|
||||
msgstr ""
|
||||
|
||||
msgid "Display Name (optional)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Display name:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Set display name"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter the new display name (blank to reset)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Change &display name..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Context Menu"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Open folder..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Open &printer tray..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Set &icon..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Select an icon"
|
||||
msgstr ""
|
||||
|
||||
msgid "C&lone..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Virtual machine \"%1\" (%2) will be cloned into:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Directory %1 already exists"
|
||||
msgstr ""
|
||||
|
||||
msgid "You cannot use the following characters in the name: %1"
|
||||
msgstr ""
|
||||
|
||||
msgid "Clone"
|
||||
msgstr ""
|
||||
|
||||
msgid "Failed to create directory for cloned VM"
|
||||
msgstr ""
|
||||
|
||||
msgid "Failed to clone VM."
|
||||
msgstr ""
|
||||
|
||||
msgid "Directory in use"
|
||||
msgstr ""
|
||||
|
||||
msgid "The selected directory is already in use. Please select a different directory."
|
||||
msgstr ""
|
||||
|
||||
msgid "Create directory failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to create the directory for the new system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Configuration write failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to open the configuration file at %1 for writing"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error adding system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Abnormal program termination while creating new system: exit code %1, exit status %2.\n\nThe system will not be added."
|
||||
msgstr ""
|
||||
|
||||
msgid "Remove directory failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Some files in the machine's directory were unable to be deleted. Please delete them manually."
|
||||
msgstr ""
|
||||
|
||||
msgid "Build"
|
||||
msgstr ""
|
||||
|
||||
msgid "Version"
|
||||
msgstr ""
|
||||
|
||||
msgid "<b>An update to 86Box is available!</b>"
|
||||
msgstr ""
|
||||
|
||||
msgid "Warning"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Kill"
|
||||
msgstr ""
|
||||
|
||||
msgid "Killing a virtual machine can cause data loss. Only do this if the 86Box process gets stuck.\n\nDo you really wish to kill the virtual machine \"%1\"?"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Delete"
|
||||
msgstr ""
|
||||
|
||||
msgid "Do you really want to delete the virtual machine \"%1\" and all its files? This action cannot be undone!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Show &config file"
|
||||
msgstr ""
|
||||
|
||||
msgid "No screenshot"
|
||||
msgstr ""
|
||||
|
||||
msgid "Search"
|
||||
msgstr ""
|
||||
|
||||
msgid "Searching for VMs..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Found %1"
|
||||
msgstr ""
|
||||
|
||||
msgid "System"
|
||||
msgstr ""
|
||||
|
||||
msgid "Storage"
|
||||
msgstr ""
|
||||
|
||||
msgid "Disk %1: "
|
||||
msgstr ""
|
||||
|
||||
msgid "No disks"
|
||||
msgstr ""
|
||||
|
||||
msgid "Audio"
|
||||
msgstr ""
|
||||
|
||||
msgid "Audio:"
|
||||
msgstr ""
|
||||
|
||||
msgid "ACPI shutdown"
|
||||
msgstr "Wyłączenie ACPI"
|
||||
|
||||
@@ -1347,6 +1671,9 @@ msgstr "Nieznana magistrala"
|
||||
msgid "Null Driver"
|
||||
msgstr "Null Driver"
|
||||
|
||||
msgid "NIC:"
|
||||
msgstr ""
|
||||
|
||||
msgid "NIC %1 (%2) %3"
|
||||
msgstr "NIC %1 (%2) %3"
|
||||
|
||||
@@ -1416,6 +1743,9 @@ msgstr "Brak urządzeń MCA."
|
||||
msgid "MiB"
|
||||
msgstr "MiB"
|
||||
|
||||
msgid "GiB"
|
||||
msgstr ""
|
||||
|
||||
msgid "Network Card #1"
|
||||
msgstr "Karta sieciowa nr 1"
|
||||
|
||||
@@ -2223,6 +2553,9 @@ msgstr "Kolor bez przeplotu"
|
||||
msgid "3Dfx Voodoo Graphics"
|
||||
msgstr "Grafika 3Dfx Voodoo"
|
||||
|
||||
msgid "3Dfx Voodoo 2"
|
||||
msgstr ""
|
||||
|
||||
msgid "Obsidian SB50 + Amethyst (2 TMUs)"
|
||||
msgstr "Obsidian SB50 + Amethyst (2 jednostki TMU)"
|
||||
|
||||
@@ -2489,3 +2822,81 @@ msgstr ""
|
||||
|
||||
msgid "Hostname:"
|
||||
msgstr ""
|
||||
|
||||
msgid "ISA RTC"
|
||||
msgstr ""
|
||||
|
||||
msgid "ISA RAM"
|
||||
msgstr ""
|
||||
|
||||
msgid "ISA ROM"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Wipe NVRAM"
|
||||
msgstr ""
|
||||
|
||||
msgid "This will delete all NVRAM (and related) files of the virtual machine located in the \"nvr\" subdirectory. You'll have to reconfigure the BIOS (and possibly other devices inside the VM) settings again if applicable.\n\nAre you sure you want to wipe all NVRAM contents of the virtual machine \"%1\"?"
|
||||
msgstr ""
|
||||
|
||||
msgid "Success"
|
||||
msgstr ""
|
||||
|
||||
msgid "Successfully wiped the NVRAM contents of the virtual machine \"%1\""
|
||||
msgstr ""
|
||||
|
||||
msgid "An error occured trying to wipe the NVRAM contents of the virtual machine \"%1\""
|
||||
msgstr ""
|
||||
|
||||
msgid "%1 VM Manager"
|
||||
msgstr ""
|
||||
|
||||
msgid "%n disk(s)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unknown Status"
|
||||
msgstr ""
|
||||
|
||||
msgid "No Machines Found!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Check for updates on startup"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to determine release information"
|
||||
msgstr ""
|
||||
|
||||
msgid "There was an error checking for updates:\n\n%1\n\nPlease try again later."
|
||||
msgstr ""
|
||||
|
||||
msgid "Update check complete"
|
||||
msgstr ""
|
||||
|
||||
msgid "You are running the latest %1 version of 86Box: %2"
|
||||
msgstr ""
|
||||
|
||||
msgid "version"
|
||||
msgstr ""
|
||||
|
||||
msgid "build"
|
||||
msgstr ""
|
||||
|
||||
msgid "You are currently running %1 <b>%2</b>. "
|
||||
msgstr ""
|
||||
|
||||
msgid "<b>%1 %2</b> is now available. %3Would you like to visit the download page?"
|
||||
msgstr ""
|
||||
|
||||
msgid "Visit download page"
|
||||
msgstr ""
|
||||
|
||||
msgid "Update check"
|
||||
msgstr ""
|
||||
|
||||
msgid "Checking for updates.."
|
||||
msgstr ""
|
||||
|
||||
msgid "86Box Update"
|
||||
msgstr ""
|
||||
|
||||
msgid "Release notes:"
|
||||
msgstr ""
|
||||
|
||||
@@ -27,6 +27,9 @@ msgstr "Ctrl+Alt+&Esc"
|
||||
msgid "&Pause"
|
||||
msgstr "&Pausar"
|
||||
|
||||
msgid "Pause"
|
||||
msgstr "Pausa"
|
||||
|
||||
msgid "Re&sume"
|
||||
msgstr "&Continuar"
|
||||
|
||||
@@ -192,6 +195,9 @@ msgstr "&Ferramentas"
|
||||
msgid "&Settings..."
|
||||
msgstr "&Configurações..."
|
||||
|
||||
msgid "Settings..."
|
||||
msgstr "Configurações..."
|
||||
|
||||
msgid "&Update status bar icons"
|
||||
msgstr "&Atualizar ícones da barra de status"
|
||||
|
||||
@@ -357,6 +363,9 @@ msgstr "Máquina:"
|
||||
msgid "Configure"
|
||||
msgstr "Configurar"
|
||||
|
||||
msgid "CPU:"
|
||||
msgstr "Processador:"
|
||||
|
||||
msgid "CPU type:"
|
||||
msgstr "Tipo de CPU:"
|
||||
|
||||
@@ -417,15 +426,27 @@ msgstr "Gráficos IBM 8514/A"
|
||||
msgid "XGA Graphics"
|
||||
msgstr "Gráficos XGA"
|
||||
|
||||
msgid "IBM PS/55 Display Adapter Graphics"
|
||||
msgstr "IBM PS/55 Display Adapter Graphics"
|
||||
|
||||
msgid "Keyboard:"
|
||||
msgstr "Teclado:"
|
||||
|
||||
msgid "Keyboard"
|
||||
msgstr "Teclado"
|
||||
|
||||
msgid "Mouse:"
|
||||
msgstr "Mouse:"
|
||||
|
||||
msgid "Mouse"
|
||||
msgstr "Mouse"
|
||||
|
||||
msgid "Joystick:"
|
||||
msgstr "Joystick:"
|
||||
|
||||
msgid "Joystick"
|
||||
msgstr "Joystick"
|
||||
|
||||
msgid "Joystick 1..."
|
||||
msgstr "Joystick 1..."
|
||||
|
||||
@@ -456,6 +477,9 @@ msgstr "Disp. de saída MIDI:"
|
||||
msgid "MIDI In Device:"
|
||||
msgstr "Disp. de entrada MIDI:"
|
||||
|
||||
msgid "MIDI Out:"
|
||||
msgstr "Saída MIDI:"
|
||||
|
||||
msgid "Standalone MPU-401"
|
||||
msgstr "MPU-401 independente"
|
||||
|
||||
@@ -615,6 +639,12 @@ msgstr "Unidades de CD-ROM:"
|
||||
msgid "MO drives:"
|
||||
msgstr "Unidades magneto-ópticas:"
|
||||
|
||||
msgid "MO:"
|
||||
msgstr "Magneto-ópticas:"
|
||||
|
||||
msgid "Removable disks:"
|
||||
msgstr "Discos removíveis:"
|
||||
|
||||
msgid "Removable disk drives:"
|
||||
msgstr "Unidades de disco removível:"
|
||||
|
||||
@@ -741,12 +771,30 @@ msgstr "Rede"
|
||||
msgid "Ports (COM & LPT)"
|
||||
msgstr "Portas (COM & LPT)"
|
||||
|
||||
msgid "Ports"
|
||||
msgstr "Portas"
|
||||
|
||||
msgid "Serial ports"
|
||||
msgstr "Portas seriais"
|
||||
|
||||
msgid "Parallel ports"
|
||||
msgstr "Portas Paralelas"
|
||||
|
||||
msgid "Storage controllers"
|
||||
msgstr "Controladores de armaz."
|
||||
|
||||
msgid "Hard disks"
|
||||
msgstr "Discos rígidos"
|
||||
|
||||
msgid "Disks:"
|
||||
msgstr "Discos:"
|
||||
|
||||
msgid "Floppy:"
|
||||
msgstr "Disquete:"
|
||||
|
||||
msgid "Controllers:"
|
||||
msgstr "Controladores:"
|
||||
|
||||
msgid "Floppy & CD-ROM drives"
|
||||
msgstr "Disquete & CD-ROM"
|
||||
|
||||
@@ -756,6 +804,9 @@ msgstr "Dispos. removíveis"
|
||||
msgid "Other peripherals"
|
||||
msgstr "Outros periféricos"
|
||||
|
||||
msgid "Other devices"
|
||||
msgstr "Outros dispositivos"
|
||||
|
||||
msgid "Click to capture mouse"
|
||||
msgstr "Clique para capturar o mouse"
|
||||
|
||||
@@ -900,6 +951,15 @@ msgstr "Bem-vindo ao 86Box!"
|
||||
msgid "Internal device"
|
||||
msgstr "Dispositivo interno"
|
||||
|
||||
msgid "&File"
|
||||
msgstr "&Arquivo"
|
||||
|
||||
msgid "&New machine..."
|
||||
msgstr "&Nova máquina..."
|
||||
|
||||
msgid "&Check for updates..."
|
||||
msgstr "&Verificar por atualizações..."
|
||||
|
||||
msgid "Exit"
|
||||
msgstr "Sair"
|
||||
|
||||
@@ -996,6 +1056,9 @@ msgstr "Continuar a execução"
|
||||
msgid "Pause execution"
|
||||
msgstr "Pausar a execução"
|
||||
|
||||
msgid "Ctrl+Alt+Del"
|
||||
msgstr "Ctrl+Alt+Del"
|
||||
|
||||
msgid "Press Ctrl+Alt+Del"
|
||||
msgstr "Pressionar Ctrl+Alt+Del"
|
||||
|
||||
@@ -1005,6 +1068,267 @@ msgstr "Pressionar Ctrl+Alt+Esc"
|
||||
msgid "Hard reset"
|
||||
msgstr "Reinicialização completa"
|
||||
|
||||
msgid "Force shutdown"
|
||||
msgstr "Forçar desligamento"
|
||||
|
||||
msgid "Start"
|
||||
msgstr "Iniciar"
|
||||
|
||||
msgid "Not running"
|
||||
msgstr "Parado"
|
||||
|
||||
msgid "Running"
|
||||
msgstr "Rodando"
|
||||
|
||||
msgid "Paused"
|
||||
msgstr "Pausado"
|
||||
|
||||
msgid "Paused (Waiting)"
|
||||
msgstr "Pausado (Esperando)"
|
||||
|
||||
msgid "Powered Off"
|
||||
msgstr "Desligado"
|
||||
|
||||
msgid "waiting"
|
||||
msgstr "esperando"
|
||||
|
||||
msgid "total"
|
||||
msgstr "total"
|
||||
|
||||
msgid "System Directory:"
|
||||
msgstr "Diretório do Sistema:"
|
||||
|
||||
msgid "Choose directory"
|
||||
msgstr "Escolha o diretório"
|
||||
|
||||
msgid "Choose configuration file"
|
||||
msgstr "Escolha o arquivo de configuração"
|
||||
|
||||
msgid "86Box configuration files (86box.cfg)"
|
||||
msgstr "Arquivos de configuração 86Box (86Box.cfg)"
|
||||
|
||||
msgid "Configuration read failed"
|
||||
msgstr "Falha ao ler a configuração"
|
||||
|
||||
msgid "Unable to open the selected configuration file for reading: %1"
|
||||
msgstr "Impossível abrir o arquivo de configuração selecionado para leitura: %1"
|
||||
|
||||
msgid "Use regular expressions in search box"
|
||||
msgstr "Usar expressões regulares na caixa de pesquisa"
|
||||
|
||||
msgid "%1 machine(s) are currently active. Are you sure you want to exit the VM manager anyway?"
|
||||
msgstr "%1 máquina(s) estão ativas atualmente. Tem certeza que deseja encerrar o gerenciador de VM mesmo?"
|
||||
|
||||
msgid "Add new system wizard"
|
||||
msgstr "Assistente para novo sistema"
|
||||
|
||||
msgid "Introduction"
|
||||
msgstr "Introdução"
|
||||
|
||||
msgid "This will help you add a new system to 86Box."
|
||||
msgstr "Isso irá ajudá-lo a adicionar um novo sistema ao 86Box."
|
||||
|
||||
msgid "New configuration"
|
||||
msgstr "Nova configuração"
|
||||
|
||||
msgid "Complete"
|
||||
msgstr "Completado"
|
||||
|
||||
msgid "The wizard will now launch the configuration for the new system."
|
||||
msgstr "O assistente vai iniciar a configuração para o novo sistema."
|
||||
|
||||
msgid "Use existing configuration"
|
||||
msgstr "Usar configuração existente"
|
||||
|
||||
msgid "Type some notes here"
|
||||
msgstr "Digite algumas notas aqui"
|
||||
|
||||
msgid "Paste the contents of the existing configuration file into the box below."
|
||||
msgstr "Cole o conteúdo de uma configuração existente na caixa abaixo."
|
||||
|
||||
msgid "Load configuration from file"
|
||||
msgstr "Carregar configuração do arquivo"
|
||||
|
||||
msgid "System Name"
|
||||
msgstr "Nome do Sistema"
|
||||
|
||||
msgid "System name"
|
||||
msgstr "Nome do sistema"
|
||||
|
||||
msgid "System name:"
|
||||
msgstr "Nome do sistema:"
|
||||
|
||||
msgid "System name cannot contain certain characters"
|
||||
msgstr "O nome do sistema não pode conter certos caracteres"
|
||||
|
||||
msgid "System name already exists"
|
||||
msgstr "O nome do sistema já existe"
|
||||
|
||||
msgid "Please enter a directory for the system"
|
||||
msgstr "Por favor digite um diretório para o sistema"
|
||||
|
||||
msgid "Directory does not exist"
|
||||
msgstr "O diretório não existe"
|
||||
|
||||
msgid "A new directory for the system will be created in the selected directory above"
|
||||
msgstr "Um novo diretório para o sistema será criado no diretório acima"
|
||||
|
||||
msgid "System location:"
|
||||
msgstr "Local do sistema:"
|
||||
|
||||
msgid "System Location"
|
||||
msgstr "Local do Sistema"
|
||||
|
||||
msgid "System name and location"
|
||||
msgstr "Nome do sistema e local"
|
||||
|
||||
msgid "Enter the name of the system and choose the location"
|
||||
msgstr "Digite o nome do sistema e escolha o local"
|
||||
|
||||
msgid "Enter the name of the system"
|
||||
msgstr "Digite o nome do sistema"
|
||||
|
||||
msgid "Please enter a system name"
|
||||
msgstr "Por favor digite um nome de sistema"
|
||||
|
||||
msgid "Display Name (optional)"
|
||||
msgstr "Nome de exibição (opcional)"
|
||||
|
||||
msgid "Display name:"
|
||||
msgstr "Nome de exibição:"
|
||||
|
||||
msgid "Set display name"
|
||||
msgstr "Defina o nome de exibição"
|
||||
|
||||
msgid "Enter the new display name (blank to reset)"
|
||||
msgstr "Digite o novo nome de exibição (em branco para restaurar)"
|
||||
|
||||
msgid "Change &display name..."
|
||||
msgstr "Mudar o &nome de exibição..."
|
||||
|
||||
msgid "Context Menu"
|
||||
msgstr "Menu de contexto"
|
||||
|
||||
msgid "&Open folder..."
|
||||
msgstr "Abrir &pasta..."
|
||||
|
||||
msgid "Open &printer tray..."
|
||||
msgstr "Abrir fila da &impressora..."
|
||||
|
||||
msgid "Set &icon..."
|
||||
msgstr "&Definir ícone..."
|
||||
|
||||
msgid "Select an icon"
|
||||
msgstr "Selecione um ícone"
|
||||
|
||||
msgid "C&lone..."
|
||||
msgstr "&Clonar..."
|
||||
|
||||
msgid "Virtual machine \"%1\" (%2) will be cloned into:"
|
||||
msgstr "A máquina virtual \"%1\" (%2) será clonada em:"
|
||||
|
||||
msgid "Directory %1 already exists"
|
||||
msgstr "O diretório %1 já existe"
|
||||
|
||||
msgid "You cannot use the following characters in the name: %1"
|
||||
msgstr "Você não pode usar os seguintes caracteres no nome: %1"
|
||||
|
||||
msgid "Clone"
|
||||
msgstr "Clonar"
|
||||
|
||||
msgid "Failed to create directory for cloned VM"
|
||||
msgstr "Falha ao criar o diretório para a VM clonada"
|
||||
|
||||
msgid "Failed to clone VM."
|
||||
msgstr "Falha ao clonar VM."
|
||||
|
||||
msgid "Directory in use"
|
||||
msgstr "Diretório em uso"
|
||||
|
||||
msgid "The selected directory is already in use. Please select a different directory."
|
||||
msgstr "O diretório selecionado já está em uso. Por favor escolha um diretório diferente."
|
||||
|
||||
msgid "Create directory failed"
|
||||
msgstr "Falha ao criar diretório"
|
||||
|
||||
msgid "Unable to create the directory for the new system"
|
||||
msgstr "Impossível criar o diretório para o novo sistema"
|
||||
|
||||
msgid "Configuration write failed"
|
||||
msgstr "Falha ao gravar a configuração"
|
||||
|
||||
msgid "Unable to open the configuration file at %1 for writing"
|
||||
msgstr "Impossível abrir o arquivo de configuração %1 para escrita"
|
||||
|
||||
msgid "Error adding system"
|
||||
msgstr "Erro adicionando sistema"
|
||||
|
||||
msgid "Abnormal program termination while creating new system: exit code %1, exit status %2.\n\nThe system will not be added."
|
||||
msgstr "Término anormal do programa ao criar novo sistema: código de saída %1, estado de saída %2.\n\nO sistema não será adicionado."
|
||||
|
||||
msgid "Remove directory failed"
|
||||
msgstr "Falha ao remover diretório"
|
||||
|
||||
msgid "Some files in the machine's directory were unable to be deleted. Please delete them manually."
|
||||
msgstr "Alguns arquivos no diretório da máquina não puderam ser apagados. Por favor apágue-os manualmente."
|
||||
|
||||
msgid "Build"
|
||||
msgstr "Build"
|
||||
|
||||
msgid "Version"
|
||||
msgstr "Versão"
|
||||
|
||||
msgid "<b>An update to 86Box is available!</b>"
|
||||
msgstr "<b>Uma atualização do 86Box está disponível!</b>"
|
||||
|
||||
msgid "Warning"
|
||||
msgstr "Aviso"
|
||||
|
||||
msgid "&Kill"
|
||||
msgstr "&Matar"
|
||||
|
||||
msgid "Killing a virtual machine can cause data loss. Only do this if the 86Box process gets stuck.\n\nDo you really wish to kill the virtual machine \"%1\"?"
|
||||
msgstr "Matar uma máquina virtual pode causar perda de dados. Só faça isso se o processo do 86Box travar.\n\nTem certeza que deseja matar a máquina virtual \"%1\"?"
|
||||
|
||||
msgid "&Delete"
|
||||
msgstr "&Apagar"
|
||||
|
||||
msgid "Do you really want to delete the virtual machine \"%1\" and all its files? This action cannot be undone!"
|
||||
msgstr "Deseja realmente apagar a máquina virtual \"%1\" e todos os seus arquivos? Essa ação não pode ser desfeita!"
|
||||
|
||||
msgid "Show &config file"
|
||||
msgstr "Mostrar arquivo de &configuração"
|
||||
|
||||
msgid "No screenshot"
|
||||
msgstr "Sem captura"
|
||||
|
||||
msgid "Search"
|
||||
msgstr "Procurar"
|
||||
|
||||
msgid "Searching for VMs..."
|
||||
msgstr "Procurando por VMs..."
|
||||
|
||||
msgid "Found %1"
|
||||
msgstr "Encontrado %1"
|
||||
|
||||
msgid "System"
|
||||
msgstr "Sistema"
|
||||
|
||||
msgid "Storage"
|
||||
msgstr "Armazenamento"
|
||||
|
||||
msgid "Disk %1: "
|
||||
msgstr "Disco %1: "
|
||||
|
||||
msgid "No disks"
|
||||
msgstr "Sem discos"
|
||||
|
||||
msgid "Audio"
|
||||
msgstr "Som"
|
||||
|
||||
msgid "Audio:"
|
||||
msgstr "Som:"
|
||||
|
||||
msgid "ACPI shutdown"
|
||||
msgstr "Desligamento por ACPI"
|
||||
|
||||
@@ -1347,6 +1671,9 @@ msgstr "Barramento desconhecido"
|
||||
msgid "Null Driver"
|
||||
msgstr "Driver nulo"
|
||||
|
||||
msgid "NIC:"
|
||||
msgstr "Placa de Rede:"
|
||||
|
||||
msgid "NIC %1 (%2) %3"
|
||||
msgstr "NIC %1 (%2) %3"
|
||||
|
||||
@@ -1416,6 +1743,9 @@ msgstr "Nenhum dispositivo MCA."
|
||||
msgid "MiB"
|
||||
msgstr "MiB"
|
||||
|
||||
msgid "GiB"
|
||||
msgstr "GiB"
|
||||
|
||||
msgid "Network Card #1"
|
||||
msgstr "Placa de rede 1"
|
||||
|
||||
@@ -2223,6 +2553,9 @@ msgstr "Colorido não entrelaçado"
|
||||
msgid "3Dfx Voodoo Graphics"
|
||||
msgstr "Gráficos 3Dfx Voodoo"
|
||||
|
||||
msgid "3Dfx Voodoo 2"
|
||||
msgstr "3Dfx Voodoo 2"
|
||||
|
||||
msgid "Obsidian SB50 + Amethyst (2 TMUs)"
|
||||
msgstr "Obsidian SB50 + Amethyst (2 unidades TMU)"
|
||||
|
||||
@@ -2489,3 +2822,81 @@ msgstr "Modo Hub"
|
||||
|
||||
msgid "Hostname:"
|
||||
msgstr "Nome do Host:"
|
||||
|
||||
msgid "ISA RTC"
|
||||
msgstr "RTC ISA"
|
||||
|
||||
msgid "ISA RAM"
|
||||
msgstr "RAM ISA"
|
||||
|
||||
msgid "ISA ROM"
|
||||
msgstr "ROM ISA"
|
||||
|
||||
msgid "&Wipe NVRAM"
|
||||
msgstr "&Limpar NVRAM"
|
||||
|
||||
msgid "This will delete all NVRAM (and related) files of the virtual machine located in the \"nvr\" subdirectory. You'll have to reconfigure the BIOS (and possibly other devices inside the VM) settings again if applicable.\n\nAre you sure you want to wipe all NVRAM contents of the virtual machine \"%1\"?"
|
||||
msgstr "Isso irá apagar todos os arquivos NVRAM (e relacionados) da máquina virtual localizada no subdiretório \"nvr\". Você terá que reconfigurar as configurações do BIOS (e possívelmente outros dispositivos dentro da VM) novamente se aplicável.\n\nTem certeza que quer apagar todo o conteúdo NVRAM da máquina virtual \"%1\"?"
|
||||
|
||||
msgid "Success"
|
||||
msgstr "Sucesso"
|
||||
|
||||
msgid "Successfully wiped the NVRAM contents of the virtual machine \"%1\""
|
||||
msgstr "Conteúdo NVRAM da máquina virtual \"%1\" apagado com sucesso"
|
||||
|
||||
msgid "An error occured trying to wipe the NVRAM contents of the virtual machine \"%1\""
|
||||
msgstr "Um erro ocorreu ao tentar apagar o conteúdo NVRAM da máquina virtual \"%1\""
|
||||
|
||||
msgid "%1 VM Manager"
|
||||
msgstr "%1 Gerenciador de VM"
|
||||
|
||||
msgid "%n disk(s)"
|
||||
msgstr "%1 disco(s)"
|
||||
|
||||
msgid "Unknown Status"
|
||||
msgstr "Estado desconhecido"
|
||||
|
||||
msgid "No Machines Found!"
|
||||
msgstr "Nenhuma Máquina Encontrada!"
|
||||
|
||||
msgid "Check for updates on startup"
|
||||
msgstr "Verificar atualizações ao iniciar"
|
||||
|
||||
msgid "Unable to determine release information"
|
||||
msgstr "Impossível determinar informações do lançamento"
|
||||
|
||||
msgid "There was an error checking for updates:\n\n%1\n\nPlease try again later."
|
||||
msgstr "Ocorreu um erro ao verificar por atualizações:\n\n%1\n\nPor favor tente mais tarde."
|
||||
|
||||
msgid "Update check complete"
|
||||
msgstr "Verificação de atualização completada"
|
||||
|
||||
msgid "You are running the latest %1 version of 86Box: %2"
|
||||
msgstr "Você está executando a última %1 versão do 86Box: %2"
|
||||
|
||||
msgid "version"
|
||||
msgstr "versão"
|
||||
|
||||
msgid "build"
|
||||
msgstr "build"
|
||||
|
||||
msgid "You are currently running %1 <b>%2</b>. "
|
||||
msgstr "Você está executando atualmente %1 <b>%2</b>. "
|
||||
|
||||
msgid "<b>%1 %2</b> is now available. %3Would you like to visit the download page?"
|
||||
msgstr "<b>%1 %2</b> está disponível. %3Gostaria de visitar a página de download?"
|
||||
|
||||
msgid "Visit download page"
|
||||
msgstr "Visitar página de download"
|
||||
|
||||
msgid "Update check"
|
||||
msgstr "Verificação de atualização"
|
||||
|
||||
msgid "Checking for updates.."
|
||||
msgstr "Verificando por atualizações.."
|
||||
|
||||
msgid "86Box Update"
|
||||
msgstr "Atualização do 86Box"
|
||||
|
||||
msgid "Release notes:"
|
||||
msgstr "Notas de lançamento:"
|
||||
|
||||
@@ -27,6 +27,9 @@ msgstr "Ctrl+Alt+&Esc"
|
||||
msgid "&Pause"
|
||||
msgstr "&Pausa"
|
||||
|
||||
msgid "Pause"
|
||||
msgstr ""
|
||||
|
||||
msgid "Re&sume"
|
||||
msgstr ""
|
||||
|
||||
@@ -192,6 +195,9 @@ msgstr "&Ferramentas"
|
||||
msgid "&Settings..."
|
||||
msgstr "&Definições..."
|
||||
|
||||
msgid "Settings..."
|
||||
msgstr ""
|
||||
|
||||
msgid "&Update status bar icons"
|
||||
msgstr "&Atualizar ícones da barra de estado"
|
||||
|
||||
@@ -357,6 +363,9 @@ msgstr "Máquina:"
|
||||
msgid "Configure"
|
||||
msgstr "Configurar"
|
||||
|
||||
msgid "CPU:"
|
||||
msgstr ""
|
||||
|
||||
msgid "CPU type:"
|
||||
msgstr "Tipo do CPU:"
|
||||
|
||||
@@ -417,15 +426,27 @@ msgstr "Gráficos IBM 8514/A"
|
||||
msgid "XGA Graphics"
|
||||
msgstr "Gráficos XGA"
|
||||
|
||||
msgid "IBM PS/55 Display Adapter Graphics"
|
||||
msgstr ""
|
||||
|
||||
msgid "Keyboard:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Keyboard"
|
||||
msgstr ""
|
||||
|
||||
msgid "Mouse:"
|
||||
msgstr "Rato:"
|
||||
|
||||
msgid "Mouse"
|
||||
msgstr ""
|
||||
|
||||
msgid "Joystick:"
|
||||
msgstr "Joystick:"
|
||||
|
||||
msgid "Joystick"
|
||||
msgstr ""
|
||||
|
||||
msgid "Joystick 1..."
|
||||
msgstr "Joystick 1..."
|
||||
|
||||
@@ -456,6 +477,9 @@ msgstr "Disp. saída MIDI:"
|
||||
msgid "MIDI In Device:"
|
||||
msgstr "Disp. entrada MIDI:"
|
||||
|
||||
msgid "MIDI Out:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Standalone MPU-401"
|
||||
msgstr "MPU-401 autónomo"
|
||||
|
||||
@@ -615,6 +639,12 @@ msgstr "Unidades CD-ROM:"
|
||||
msgid "MO drives:"
|
||||
msgstr "Unidades magneto-ópticas:"
|
||||
|
||||
msgid "MO:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Removable disks:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Removable disk drives:"
|
||||
msgstr ""
|
||||
|
||||
@@ -741,12 +771,30 @@ msgstr "Rede"
|
||||
msgid "Ports (COM & LPT)"
|
||||
msgstr "Portas (COM e LPT)"
|
||||
|
||||
msgid "Ports"
|
||||
msgstr ""
|
||||
|
||||
msgid "Serial ports"
|
||||
msgstr ""
|
||||
|
||||
msgid "Parallel ports"
|
||||
msgstr ""
|
||||
|
||||
msgid "Storage controllers"
|
||||
msgstr "Dispositivos de armazenamento"
|
||||
|
||||
msgid "Hard disks"
|
||||
msgstr "Discos rígidos"
|
||||
|
||||
msgid "Disks:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Floppy:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Controllers:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Floppy & CD-ROM drives"
|
||||
msgstr "Unidades de disquete e CD-ROM"
|
||||
|
||||
@@ -756,6 +804,9 @@ msgstr "Outros dispostivos removíveis"
|
||||
msgid "Other peripherals"
|
||||
msgstr "Outros dispositivos"
|
||||
|
||||
msgid "Other devices"
|
||||
msgstr ""
|
||||
|
||||
msgid "Click to capture mouse"
|
||||
msgstr "Clique para capturar o rato"
|
||||
|
||||
@@ -900,6 +951,15 @@ msgstr "Bem-vindos ao 86Box!"
|
||||
msgid "Internal device"
|
||||
msgstr "Dispositivo integrado"
|
||||
|
||||
msgid "&File"
|
||||
msgstr ""
|
||||
|
||||
msgid "&New machine..."
|
||||
msgstr ""
|
||||
|
||||
msgid "&Check for updates..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Exit"
|
||||
msgstr "Sair"
|
||||
|
||||
@@ -996,6 +1056,9 @@ msgstr "Retomar execução"
|
||||
msgid "Pause execution"
|
||||
msgstr "Pausar execução"
|
||||
|
||||
msgid "Ctrl+Alt+Del"
|
||||
msgstr ""
|
||||
|
||||
msgid "Press Ctrl+Alt+Del"
|
||||
msgstr "Ctrl+Alt+Del"
|
||||
|
||||
@@ -1005,6 +1068,267 @@ msgstr "Ctrl+Alt+Esc"
|
||||
msgid "Hard reset"
|
||||
msgstr "Reinicialização completa"
|
||||
|
||||
msgid "Force shutdown"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start"
|
||||
msgstr ""
|
||||
|
||||
msgid "Not running"
|
||||
msgstr ""
|
||||
|
||||
msgid "Running"
|
||||
msgstr ""
|
||||
|
||||
msgid "Paused"
|
||||
msgstr ""
|
||||
|
||||
msgid "Paused (Waiting)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Powered Off"
|
||||
msgstr ""
|
||||
|
||||
msgid "waiting"
|
||||
msgstr ""
|
||||
|
||||
msgid "total"
|
||||
msgstr ""
|
||||
|
||||
msgid "System Directory:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Choose directory"
|
||||
msgstr ""
|
||||
|
||||
msgid "Choose configuration file"
|
||||
msgstr ""
|
||||
|
||||
msgid "86Box configuration files (86box.cfg)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Configuration read failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to open the selected configuration file for reading: %1"
|
||||
msgstr ""
|
||||
|
||||
msgid "Use regular expressions in search box"
|
||||
msgstr ""
|
||||
|
||||
msgid "%1 machine(s) are currently active. Are you sure you want to exit the VM manager anyway?"
|
||||
msgstr ""
|
||||
|
||||
msgid "Add new system wizard"
|
||||
msgstr ""
|
||||
|
||||
msgid "Introduction"
|
||||
msgstr ""
|
||||
|
||||
msgid "This will help you add a new system to 86Box."
|
||||
msgstr ""
|
||||
|
||||
msgid "New configuration"
|
||||
msgstr ""
|
||||
|
||||
msgid "Complete"
|
||||
msgstr ""
|
||||
|
||||
msgid "The wizard will now launch the configuration for the new system."
|
||||
msgstr ""
|
||||
|
||||
msgid "Use existing configuration"
|
||||
msgstr ""
|
||||
|
||||
msgid "Type some notes here"
|
||||
msgstr ""
|
||||
|
||||
msgid "Paste the contents of the existing configuration file into the box below."
|
||||
msgstr ""
|
||||
|
||||
msgid "Load configuration from file"
|
||||
msgstr ""
|
||||
|
||||
msgid "System Name"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name:"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name cannot contain certain characters"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name already exists"
|
||||
msgstr ""
|
||||
|
||||
msgid "Please enter a directory for the system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Directory does not exist"
|
||||
msgstr ""
|
||||
|
||||
msgid "A new directory for the system will be created in the selected directory above"
|
||||
msgstr ""
|
||||
|
||||
msgid "System location:"
|
||||
msgstr ""
|
||||
|
||||
msgid "System Location"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name and location"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter the name of the system and choose the location"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter the name of the system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Please enter a system name"
|
||||
msgstr ""
|
||||
|
||||
msgid "Display Name (optional)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Display name:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Set display name"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter the new display name (blank to reset)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Change &display name..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Context Menu"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Open folder..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Open &printer tray..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Set &icon..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Select an icon"
|
||||
msgstr ""
|
||||
|
||||
msgid "C&lone..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Virtual machine \"%1\" (%2) will be cloned into:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Directory %1 already exists"
|
||||
msgstr ""
|
||||
|
||||
msgid "You cannot use the following characters in the name: %1"
|
||||
msgstr ""
|
||||
|
||||
msgid "Clone"
|
||||
msgstr ""
|
||||
|
||||
msgid "Failed to create directory for cloned VM"
|
||||
msgstr ""
|
||||
|
||||
msgid "Failed to clone VM."
|
||||
msgstr ""
|
||||
|
||||
msgid "Directory in use"
|
||||
msgstr ""
|
||||
|
||||
msgid "The selected directory is already in use. Please select a different directory."
|
||||
msgstr ""
|
||||
|
||||
msgid "Create directory failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to create the directory for the new system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Configuration write failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to open the configuration file at %1 for writing"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error adding system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Abnormal program termination while creating new system: exit code %1, exit status %2.\n\nThe system will not be added."
|
||||
msgstr ""
|
||||
|
||||
msgid "Remove directory failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Some files in the machine's directory were unable to be deleted. Please delete them manually."
|
||||
msgstr ""
|
||||
|
||||
msgid "Build"
|
||||
msgstr ""
|
||||
|
||||
msgid "Version"
|
||||
msgstr ""
|
||||
|
||||
msgid "<b>An update to 86Box is available!</b>"
|
||||
msgstr ""
|
||||
|
||||
msgid "Warning"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Kill"
|
||||
msgstr ""
|
||||
|
||||
msgid "Killing a virtual machine can cause data loss. Only do this if the 86Box process gets stuck.\n\nDo you really wish to kill the virtual machine \"%1\"?"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Delete"
|
||||
msgstr ""
|
||||
|
||||
msgid "Do you really want to delete the virtual machine \"%1\" and all its files? This action cannot be undone!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Show &config file"
|
||||
msgstr ""
|
||||
|
||||
msgid "No screenshot"
|
||||
msgstr ""
|
||||
|
||||
msgid "Search"
|
||||
msgstr ""
|
||||
|
||||
msgid "Searching for VMs..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Found %1"
|
||||
msgstr ""
|
||||
|
||||
msgid "System"
|
||||
msgstr ""
|
||||
|
||||
msgid "Storage"
|
||||
msgstr ""
|
||||
|
||||
msgid "Disk %1: "
|
||||
msgstr ""
|
||||
|
||||
msgid "No disks"
|
||||
msgstr ""
|
||||
|
||||
msgid "Audio"
|
||||
msgstr ""
|
||||
|
||||
msgid "Audio:"
|
||||
msgstr ""
|
||||
|
||||
msgid "ACPI shutdown"
|
||||
msgstr "Encerramento ACPI"
|
||||
|
||||
@@ -1347,6 +1671,9 @@ msgstr "Autocarro desconhecido"
|
||||
msgid "Null Driver"
|
||||
msgstr "Condutor nulo"
|
||||
|
||||
msgid "NIC:"
|
||||
msgstr ""
|
||||
|
||||
msgid "NIC %1 (%2) %3"
|
||||
msgstr "NIC %1 (%2) %3"
|
||||
|
||||
@@ -1416,6 +1743,9 @@ msgstr "Não há dispositivos MCA."
|
||||
msgid "MiB"
|
||||
msgstr "MiB"
|
||||
|
||||
msgid "GiB"
|
||||
msgstr ""
|
||||
|
||||
msgid "Network Card #1"
|
||||
msgstr "Placa de rede 1"
|
||||
|
||||
@@ -2223,6 +2553,9 @@ msgstr "Cor não entrelaçado"
|
||||
msgid "3Dfx Voodoo Graphics"
|
||||
msgstr "Gráficos 3Dfx Voodoo"
|
||||
|
||||
msgid "3Dfx Voodoo 2"
|
||||
msgstr ""
|
||||
|
||||
msgid "Obsidian SB50 + Amethyst (2 TMUs)"
|
||||
msgstr "Obsidian SB50 + Amethyst (2 unidades TMU)"
|
||||
|
||||
@@ -2490,6 +2823,84 @@ msgstr ""
|
||||
msgid "Hostname:"
|
||||
msgstr ""
|
||||
|
||||
msgid "ISA RTC"
|
||||
msgstr ""
|
||||
|
||||
msgid "ISA RAM"
|
||||
msgstr ""
|
||||
|
||||
msgid "ISA ROM"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Wipe NVRAM"
|
||||
msgstr ""
|
||||
|
||||
msgid "This will delete all NVRAM (and related) files of the virtual machine located in the \"nvr\" subdirectory. You'll have to reconfigure the BIOS (and possibly other devices inside the VM) settings again if applicable.\n\nAre you sure you want to wipe all NVRAM contents of the virtual machine \"%1\"?"
|
||||
msgstr ""
|
||||
|
||||
msgid "Success"
|
||||
msgstr ""
|
||||
|
||||
msgid "Successfully wiped the NVRAM contents of the virtual machine \"%1\""
|
||||
msgstr ""
|
||||
|
||||
msgid "An error occured trying to wipe the NVRAM contents of the virtual machine \"%1\""
|
||||
msgstr ""
|
||||
|
||||
msgid "%1 VM Manager"
|
||||
msgstr ""
|
||||
|
||||
msgid "%n disk(s)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unknown Status"
|
||||
msgstr ""
|
||||
|
||||
msgid "No Machines Found!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Check for updates on startup"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to determine release information"
|
||||
msgstr ""
|
||||
|
||||
msgid "There was an error checking for updates:\n\n%1\n\nPlease try again later."
|
||||
msgstr ""
|
||||
|
||||
msgid "Update check complete"
|
||||
msgstr ""
|
||||
|
||||
msgid "You are running the latest %1 version of 86Box: %2"
|
||||
msgstr ""
|
||||
|
||||
msgid "version"
|
||||
msgstr ""
|
||||
|
||||
msgid "build"
|
||||
msgstr ""
|
||||
|
||||
msgid "You are currently running %1 <b>%2</b>. "
|
||||
msgstr ""
|
||||
|
||||
msgid "<b>%1 %2</b> is now available. %3Would you like to visit the download page?"
|
||||
msgstr ""
|
||||
|
||||
msgid "Visit download page"
|
||||
msgstr ""
|
||||
|
||||
msgid "Update check"
|
||||
msgstr ""
|
||||
|
||||
msgid "Checking for updates.."
|
||||
msgstr ""
|
||||
|
||||
msgid "86Box Update"
|
||||
msgstr ""
|
||||
|
||||
msgid "Release notes:"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "HD Controller:"
|
||||
#~ msgstr "Controlador HD:"
|
||||
|
||||
|
||||
@@ -27,6 +27,9 @@ msgstr "Ctrl+Alt+&Esc"
|
||||
msgid "&Pause"
|
||||
msgstr "&Пауза"
|
||||
|
||||
msgid "Pause"
|
||||
msgstr ""
|
||||
|
||||
msgid "Re&sume"
|
||||
msgstr "В&озобновить"
|
||||
|
||||
@@ -192,6 +195,9 @@ msgstr "&Инструменты"
|
||||
msgid "&Settings..."
|
||||
msgstr "&Настройки машины..."
|
||||
|
||||
msgid "Settings..."
|
||||
msgstr ""
|
||||
|
||||
msgid "&Update status bar icons"
|
||||
msgstr "&Обновление значков строки состояния"
|
||||
|
||||
@@ -357,6 +363,9 @@ msgstr "Системная плата:"
|
||||
msgid "Configure"
|
||||
msgstr "Настройка"
|
||||
|
||||
msgid "CPU:"
|
||||
msgstr ""
|
||||
|
||||
msgid "CPU type:"
|
||||
msgstr "Тип ЦП:"
|
||||
|
||||
@@ -417,15 +426,27 @@ msgstr "Ускоритель IBM 8514/A"
|
||||
msgid "XGA Graphics"
|
||||
msgstr "Ускоритель XGA"
|
||||
|
||||
msgid "IBM PS/55 Display Adapter Graphics"
|
||||
msgstr ""
|
||||
|
||||
msgid "Keyboard:"
|
||||
msgstr "Клавиатура:"
|
||||
|
||||
msgid "Keyboard"
|
||||
msgstr ""
|
||||
|
||||
msgid "Mouse:"
|
||||
msgstr "Мышь:"
|
||||
|
||||
msgid "Mouse"
|
||||
msgstr ""
|
||||
|
||||
msgid "Joystick:"
|
||||
msgstr "Джойстик:"
|
||||
|
||||
msgid "Joystick"
|
||||
msgstr ""
|
||||
|
||||
msgid "Joystick 1..."
|
||||
msgstr "Джойстик 1..."
|
||||
|
||||
@@ -456,6 +477,9 @@ msgstr "Устройство вывода MIDI:"
|
||||
msgid "MIDI In Device:"
|
||||
msgstr "Устройство ввода MIDI:"
|
||||
|
||||
msgid "MIDI Out:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Standalone MPU-401"
|
||||
msgstr "Отдельный MPU-401"
|
||||
|
||||
@@ -615,6 +639,12 @@ msgstr "Дисководы CD-ROM:"
|
||||
msgid "MO drives:"
|
||||
msgstr "Магнитооптические дисководы:"
|
||||
|
||||
msgid "MO:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Removable disks:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Removable disk drives:"
|
||||
msgstr "Дисководы съёмных дисков:"
|
||||
|
||||
@@ -741,12 +771,30 @@ msgstr "Сеть"
|
||||
msgid "Ports (COM & LPT)"
|
||||
msgstr "Порты (COM и LPT)"
|
||||
|
||||
msgid "Ports"
|
||||
msgstr ""
|
||||
|
||||
msgid "Serial ports"
|
||||
msgstr ""
|
||||
|
||||
msgid "Parallel ports"
|
||||
msgstr ""
|
||||
|
||||
msgid "Storage controllers"
|
||||
msgstr "Контроллеры дисков"
|
||||
|
||||
msgid "Hard disks"
|
||||
msgstr "Жёсткие диски"
|
||||
|
||||
msgid "Disks:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Floppy:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Controllers:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Floppy & CD-ROM drives"
|
||||
msgstr "Гибкие диски и CD-ROM"
|
||||
|
||||
@@ -756,6 +804,9 @@ msgstr "Другие съёмные устройства"
|
||||
msgid "Other peripherals"
|
||||
msgstr "Другая периферия"
|
||||
|
||||
msgid "Other devices"
|
||||
msgstr ""
|
||||
|
||||
msgid "Click to capture mouse"
|
||||
msgstr "Щёлкните мышью для захвата курсора"
|
||||
|
||||
@@ -900,6 +951,15 @@ msgstr "Добро пожаловать в 86Box!"
|
||||
msgid "Internal device"
|
||||
msgstr "Встроенное устройство"
|
||||
|
||||
msgid "&File"
|
||||
msgstr ""
|
||||
|
||||
msgid "&New machine..."
|
||||
msgstr ""
|
||||
|
||||
msgid "&Check for updates..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Exit"
|
||||
msgstr "Выход"
|
||||
|
||||
@@ -996,6 +1056,9 @@ msgstr "Возобновить выполнение"
|
||||
msgid "Pause execution"
|
||||
msgstr "Приостановить выполнение"
|
||||
|
||||
msgid "Ctrl+Alt+Del"
|
||||
msgstr ""
|
||||
|
||||
msgid "Press Ctrl+Alt+Del"
|
||||
msgstr "Нажать Ctrl+Alt+Del"
|
||||
|
||||
@@ -1005,6 +1068,267 @@ msgstr "Нажать Ctrl+Alt+Esc"
|
||||
msgid "Hard reset"
|
||||
msgstr "Холодная перезагрузка"
|
||||
|
||||
msgid "Force shutdown"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start"
|
||||
msgstr ""
|
||||
|
||||
msgid "Not running"
|
||||
msgstr ""
|
||||
|
||||
msgid "Running"
|
||||
msgstr ""
|
||||
|
||||
msgid "Paused"
|
||||
msgstr ""
|
||||
|
||||
msgid "Paused (Waiting)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Powered Off"
|
||||
msgstr ""
|
||||
|
||||
msgid "waiting"
|
||||
msgstr ""
|
||||
|
||||
msgid "total"
|
||||
msgstr ""
|
||||
|
||||
msgid "System Directory:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Choose directory"
|
||||
msgstr ""
|
||||
|
||||
msgid "Choose configuration file"
|
||||
msgstr ""
|
||||
|
||||
msgid "86Box configuration files (86box.cfg)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Configuration read failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to open the selected configuration file for reading: %1"
|
||||
msgstr ""
|
||||
|
||||
msgid "Use regular expressions in search box"
|
||||
msgstr ""
|
||||
|
||||
msgid "%1 machine(s) are currently active. Are you sure you want to exit the VM manager anyway?"
|
||||
msgstr ""
|
||||
|
||||
msgid "Add new system wizard"
|
||||
msgstr ""
|
||||
|
||||
msgid "Introduction"
|
||||
msgstr ""
|
||||
|
||||
msgid "This will help you add a new system to 86Box."
|
||||
msgstr ""
|
||||
|
||||
msgid "New configuration"
|
||||
msgstr ""
|
||||
|
||||
msgid "Complete"
|
||||
msgstr ""
|
||||
|
||||
msgid "The wizard will now launch the configuration for the new system."
|
||||
msgstr ""
|
||||
|
||||
msgid "Use existing configuration"
|
||||
msgstr ""
|
||||
|
||||
msgid "Type some notes here"
|
||||
msgstr ""
|
||||
|
||||
msgid "Paste the contents of the existing configuration file into the box below."
|
||||
msgstr ""
|
||||
|
||||
msgid "Load configuration from file"
|
||||
msgstr ""
|
||||
|
||||
msgid "System Name"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name:"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name cannot contain certain characters"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name already exists"
|
||||
msgstr ""
|
||||
|
||||
msgid "Please enter a directory for the system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Directory does not exist"
|
||||
msgstr ""
|
||||
|
||||
msgid "A new directory for the system will be created in the selected directory above"
|
||||
msgstr ""
|
||||
|
||||
msgid "System location:"
|
||||
msgstr ""
|
||||
|
||||
msgid "System Location"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name and location"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter the name of the system and choose the location"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter the name of the system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Please enter a system name"
|
||||
msgstr ""
|
||||
|
||||
msgid "Display Name (optional)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Display name:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Set display name"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter the new display name (blank to reset)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Change &display name..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Context Menu"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Open folder..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Open &printer tray..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Set &icon..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Select an icon"
|
||||
msgstr ""
|
||||
|
||||
msgid "C&lone..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Virtual machine \"%1\" (%2) will be cloned into:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Directory %1 already exists"
|
||||
msgstr ""
|
||||
|
||||
msgid "You cannot use the following characters in the name: %1"
|
||||
msgstr ""
|
||||
|
||||
msgid "Clone"
|
||||
msgstr ""
|
||||
|
||||
msgid "Failed to create directory for cloned VM"
|
||||
msgstr ""
|
||||
|
||||
msgid "Failed to clone VM."
|
||||
msgstr ""
|
||||
|
||||
msgid "Directory in use"
|
||||
msgstr ""
|
||||
|
||||
msgid "The selected directory is already in use. Please select a different directory."
|
||||
msgstr ""
|
||||
|
||||
msgid "Create directory failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to create the directory for the new system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Configuration write failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to open the configuration file at %1 for writing"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error adding system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Abnormal program termination while creating new system: exit code %1, exit status %2.\n\nThe system will not be added."
|
||||
msgstr ""
|
||||
|
||||
msgid "Remove directory failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Some files in the machine's directory were unable to be deleted. Please delete them manually."
|
||||
msgstr ""
|
||||
|
||||
msgid "Build"
|
||||
msgstr ""
|
||||
|
||||
msgid "Version"
|
||||
msgstr ""
|
||||
|
||||
msgid "<b>An update to 86Box is available!</b>"
|
||||
msgstr ""
|
||||
|
||||
msgid "Warning"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Kill"
|
||||
msgstr ""
|
||||
|
||||
msgid "Killing a virtual machine can cause data loss. Only do this if the 86Box process gets stuck.\n\nDo you really wish to kill the virtual machine \"%1\"?"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Delete"
|
||||
msgstr ""
|
||||
|
||||
msgid "Do you really want to delete the virtual machine \"%1\" and all its files? This action cannot be undone!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Show &config file"
|
||||
msgstr ""
|
||||
|
||||
msgid "No screenshot"
|
||||
msgstr ""
|
||||
|
||||
msgid "Search"
|
||||
msgstr ""
|
||||
|
||||
msgid "Searching for VMs..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Found %1"
|
||||
msgstr ""
|
||||
|
||||
msgid "System"
|
||||
msgstr ""
|
||||
|
||||
msgid "Storage"
|
||||
msgstr ""
|
||||
|
||||
msgid "Disk %1: "
|
||||
msgstr ""
|
||||
|
||||
msgid "No disks"
|
||||
msgstr ""
|
||||
|
||||
msgid "Audio"
|
||||
msgstr ""
|
||||
|
||||
msgid "Audio:"
|
||||
msgstr ""
|
||||
|
||||
msgid "ACPI shutdown"
|
||||
msgstr "Сигнал завершения ACPI"
|
||||
|
||||
@@ -1347,6 +1671,9 @@ msgstr "Неизвестная шина"
|
||||
msgid "Null Driver"
|
||||
msgstr "Нулевой драйвер"
|
||||
|
||||
msgid "NIC:"
|
||||
msgstr ""
|
||||
|
||||
msgid "NIC %1 (%2) %3"
|
||||
msgstr "NIC %1 (%2) %3"
|
||||
|
||||
@@ -1416,6 +1743,9 @@ msgstr "Нет устройств MCA."
|
||||
msgid "MiB"
|
||||
msgstr "МиБ"
|
||||
|
||||
msgid "GiB"
|
||||
msgstr ""
|
||||
|
||||
msgid "Network Card #1"
|
||||
msgstr "Сетевая карта 1"
|
||||
|
||||
@@ -2223,6 +2553,9 @@ msgstr "Цветной без чересстрочной развёртки"
|
||||
msgid "3Dfx Voodoo Graphics"
|
||||
msgstr "Ускоритель 3Dfx Voodoo"
|
||||
|
||||
msgid "3Dfx Voodoo 2"
|
||||
msgstr ""
|
||||
|
||||
msgid "Obsidian SB50 + Amethyst (2 TMUs)"
|
||||
msgstr "Obsidian SB50 + Amethyst (2 TMU)"
|
||||
|
||||
@@ -2490,6 +2823,84 @@ msgstr "Режим концентратора"
|
||||
msgid "Hostname:"
|
||||
msgstr "Имя хоста:"
|
||||
|
||||
msgid "ISA RTC"
|
||||
msgstr ""
|
||||
|
||||
msgid "ISA RAM"
|
||||
msgstr ""
|
||||
|
||||
msgid "ISA ROM"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Wipe NVRAM"
|
||||
msgstr ""
|
||||
|
||||
msgid "This will delete all NVRAM (and related) files of the virtual machine located in the \"nvr\" subdirectory. You'll have to reconfigure the BIOS (and possibly other devices inside the VM) settings again if applicable.\n\nAre you sure you want to wipe all NVRAM contents of the virtual machine \"%1\"?"
|
||||
msgstr ""
|
||||
|
||||
msgid "Success"
|
||||
msgstr ""
|
||||
|
||||
msgid "Successfully wiped the NVRAM contents of the virtual machine \"%1\""
|
||||
msgstr ""
|
||||
|
||||
msgid "An error occured trying to wipe the NVRAM contents of the virtual machine \"%1\""
|
||||
msgstr ""
|
||||
|
||||
msgid "%1 VM Manager"
|
||||
msgstr ""
|
||||
|
||||
msgid "%n disk(s)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unknown Status"
|
||||
msgstr ""
|
||||
|
||||
msgid "No Machines Found!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Check for updates on startup"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to determine release information"
|
||||
msgstr ""
|
||||
|
||||
msgid "There was an error checking for updates:\n\n%1\n\nPlease try again later."
|
||||
msgstr ""
|
||||
|
||||
msgid "Update check complete"
|
||||
msgstr ""
|
||||
|
||||
msgid "You are running the latest %1 version of 86Box: %2"
|
||||
msgstr ""
|
||||
|
||||
msgid "version"
|
||||
msgstr ""
|
||||
|
||||
msgid "build"
|
||||
msgstr ""
|
||||
|
||||
msgid "You are currently running %1 <b>%2</b>. "
|
||||
msgstr ""
|
||||
|
||||
msgid "<b>%1 %2</b> is now available. %3Would you like to visit the download page?"
|
||||
msgstr ""
|
||||
|
||||
msgid "Visit download page"
|
||||
msgstr ""
|
||||
|
||||
msgid "Update check"
|
||||
msgstr ""
|
||||
|
||||
msgid "Checking for updates.."
|
||||
msgstr ""
|
||||
|
||||
msgid "86Box Update"
|
||||
msgstr ""
|
||||
|
||||
msgid "Release notes:"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "HD Controller:"
|
||||
#~ msgstr "Контроллер HD:"
|
||||
|
||||
|
||||
@@ -27,6 +27,9 @@ msgstr "Ctrl+Alt+&Esc"
|
||||
msgid "&Pause"
|
||||
msgstr "P&ozastaviť"
|
||||
|
||||
msgid "Pause"
|
||||
msgstr ""
|
||||
|
||||
msgid "Re&sume"
|
||||
msgstr ""
|
||||
|
||||
@@ -192,6 +195,9 @@ msgstr "&Nástroje"
|
||||
msgid "&Settings..."
|
||||
msgstr "&Nastavenia..."
|
||||
|
||||
msgid "Settings..."
|
||||
msgstr ""
|
||||
|
||||
msgid "&Update status bar icons"
|
||||
msgstr "&Aktualizovať ikony na stavovom riadku"
|
||||
|
||||
@@ -357,6 +363,9 @@ msgstr "Počítač:"
|
||||
msgid "Configure"
|
||||
msgstr "Nastaviť"
|
||||
|
||||
msgid "CPU:"
|
||||
msgstr ""
|
||||
|
||||
msgid "CPU type:"
|
||||
msgstr "Procesor:"
|
||||
|
||||
@@ -417,15 +426,27 @@ msgstr "Grafika IBM 8514/A"
|
||||
msgid "XGA Graphics"
|
||||
msgstr "Grafika XGA"
|
||||
|
||||
msgid "IBM PS/55 Display Adapter Graphics"
|
||||
msgstr ""
|
||||
|
||||
msgid "Keyboard:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Keyboard"
|
||||
msgstr ""
|
||||
|
||||
msgid "Mouse:"
|
||||
msgstr "Myš:"
|
||||
|
||||
msgid "Mouse"
|
||||
msgstr ""
|
||||
|
||||
msgid "Joystick:"
|
||||
msgstr "Joystick:"
|
||||
|
||||
msgid "Joystick"
|
||||
msgstr ""
|
||||
|
||||
msgid "Joystick 1..."
|
||||
msgstr "Joystick 1..."
|
||||
|
||||
@@ -456,6 +477,9 @@ msgstr "MIDI výstup:"
|
||||
msgid "MIDI In Device:"
|
||||
msgstr "MIDI vstup:"
|
||||
|
||||
msgid "MIDI Out:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Standalone MPU-401"
|
||||
msgstr "Samostatný MPU-401"
|
||||
|
||||
@@ -615,6 +639,12 @@ msgstr "Mechaniky CD-ROM:"
|
||||
msgid "MO drives:"
|
||||
msgstr "Magnetooptické mechaniky:"
|
||||
|
||||
msgid "MO:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Removable disks:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Removable disk drives:"
|
||||
msgstr ""
|
||||
|
||||
@@ -741,12 +771,30 @@ msgstr "Sieť"
|
||||
msgid "Ports (COM & LPT)"
|
||||
msgstr "COM a LPT porty"
|
||||
|
||||
msgid "Ports"
|
||||
msgstr ""
|
||||
|
||||
msgid "Serial ports"
|
||||
msgstr ""
|
||||
|
||||
msgid "Parallel ports"
|
||||
msgstr ""
|
||||
|
||||
msgid "Storage controllers"
|
||||
msgstr "Radiče úložiska"
|
||||
|
||||
msgid "Hard disks"
|
||||
msgstr "Pevné disky"
|
||||
|
||||
msgid "Disks:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Floppy:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Controllers:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Floppy & CD-ROM drives"
|
||||
msgstr "Disketové a CD-ROM mechaniky"
|
||||
|
||||
@@ -756,6 +804,9 @@ msgstr "Ďalšie vymeniteľné zariadenia"
|
||||
msgid "Other peripherals"
|
||||
msgstr "Iné príslušenstvo"
|
||||
|
||||
msgid "Other devices"
|
||||
msgstr ""
|
||||
|
||||
msgid "Click to capture mouse"
|
||||
msgstr "Kliknite pre zabráni myši"
|
||||
|
||||
@@ -900,6 +951,15 @@ msgstr "Vitajte v programe 86Box!"
|
||||
msgid "Internal device"
|
||||
msgstr "Vstavané zariadenie"
|
||||
|
||||
msgid "&File"
|
||||
msgstr ""
|
||||
|
||||
msgid "&New machine..."
|
||||
msgstr ""
|
||||
|
||||
msgid "&Check for updates..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Exit"
|
||||
msgstr "Ukončiť"
|
||||
|
||||
@@ -996,6 +1056,9 @@ msgstr "Obnoviť"
|
||||
msgid "Pause execution"
|
||||
msgstr "Pozastaviť"
|
||||
|
||||
msgid "Ctrl+Alt+Del"
|
||||
msgstr ""
|
||||
|
||||
msgid "Press Ctrl+Alt+Del"
|
||||
msgstr "Stlačiť Ctrl+Alt+Delete"
|
||||
|
||||
@@ -1005,6 +1068,267 @@ msgstr "Stlačiť Ctrl+Alt+Esc"
|
||||
msgid "Hard reset"
|
||||
msgstr "Resetovať"
|
||||
|
||||
msgid "Force shutdown"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start"
|
||||
msgstr ""
|
||||
|
||||
msgid "Not running"
|
||||
msgstr ""
|
||||
|
||||
msgid "Running"
|
||||
msgstr ""
|
||||
|
||||
msgid "Paused"
|
||||
msgstr ""
|
||||
|
||||
msgid "Paused (Waiting)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Powered Off"
|
||||
msgstr ""
|
||||
|
||||
msgid "waiting"
|
||||
msgstr ""
|
||||
|
||||
msgid "total"
|
||||
msgstr ""
|
||||
|
||||
msgid "System Directory:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Choose directory"
|
||||
msgstr ""
|
||||
|
||||
msgid "Choose configuration file"
|
||||
msgstr ""
|
||||
|
||||
msgid "86Box configuration files (86box.cfg)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Configuration read failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to open the selected configuration file for reading: %1"
|
||||
msgstr ""
|
||||
|
||||
msgid "Use regular expressions in search box"
|
||||
msgstr ""
|
||||
|
||||
msgid "%1 machine(s) are currently active. Are you sure you want to exit the VM manager anyway?"
|
||||
msgstr ""
|
||||
|
||||
msgid "Add new system wizard"
|
||||
msgstr ""
|
||||
|
||||
msgid "Introduction"
|
||||
msgstr ""
|
||||
|
||||
msgid "This will help you add a new system to 86Box."
|
||||
msgstr ""
|
||||
|
||||
msgid "New configuration"
|
||||
msgstr ""
|
||||
|
||||
msgid "Complete"
|
||||
msgstr ""
|
||||
|
||||
msgid "The wizard will now launch the configuration for the new system."
|
||||
msgstr ""
|
||||
|
||||
msgid "Use existing configuration"
|
||||
msgstr ""
|
||||
|
||||
msgid "Type some notes here"
|
||||
msgstr ""
|
||||
|
||||
msgid "Paste the contents of the existing configuration file into the box below."
|
||||
msgstr ""
|
||||
|
||||
msgid "Load configuration from file"
|
||||
msgstr ""
|
||||
|
||||
msgid "System Name"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name:"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name cannot contain certain characters"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name already exists"
|
||||
msgstr ""
|
||||
|
||||
msgid "Please enter a directory for the system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Directory does not exist"
|
||||
msgstr ""
|
||||
|
||||
msgid "A new directory for the system will be created in the selected directory above"
|
||||
msgstr ""
|
||||
|
||||
msgid "System location:"
|
||||
msgstr ""
|
||||
|
||||
msgid "System Location"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name and location"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter the name of the system and choose the location"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter the name of the system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Please enter a system name"
|
||||
msgstr ""
|
||||
|
||||
msgid "Display Name (optional)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Display name:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Set display name"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter the new display name (blank to reset)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Change &display name..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Context Menu"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Open folder..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Open &printer tray..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Set &icon..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Select an icon"
|
||||
msgstr ""
|
||||
|
||||
msgid "C&lone..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Virtual machine \"%1\" (%2) will be cloned into:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Directory %1 already exists"
|
||||
msgstr ""
|
||||
|
||||
msgid "You cannot use the following characters in the name: %1"
|
||||
msgstr ""
|
||||
|
||||
msgid "Clone"
|
||||
msgstr ""
|
||||
|
||||
msgid "Failed to create directory for cloned VM"
|
||||
msgstr ""
|
||||
|
||||
msgid "Failed to clone VM."
|
||||
msgstr ""
|
||||
|
||||
msgid "Directory in use"
|
||||
msgstr ""
|
||||
|
||||
msgid "The selected directory is already in use. Please select a different directory."
|
||||
msgstr ""
|
||||
|
||||
msgid "Create directory failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to create the directory for the new system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Configuration write failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to open the configuration file at %1 for writing"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error adding system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Abnormal program termination while creating new system: exit code %1, exit status %2.\n\nThe system will not be added."
|
||||
msgstr ""
|
||||
|
||||
msgid "Remove directory failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Some files in the machine's directory were unable to be deleted. Please delete them manually."
|
||||
msgstr ""
|
||||
|
||||
msgid "Build"
|
||||
msgstr ""
|
||||
|
||||
msgid "Version"
|
||||
msgstr ""
|
||||
|
||||
msgid "<b>An update to 86Box is available!</b>"
|
||||
msgstr ""
|
||||
|
||||
msgid "Warning"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Kill"
|
||||
msgstr ""
|
||||
|
||||
msgid "Killing a virtual machine can cause data loss. Only do this if the 86Box process gets stuck.\n\nDo you really wish to kill the virtual machine \"%1\"?"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Delete"
|
||||
msgstr ""
|
||||
|
||||
msgid "Do you really want to delete the virtual machine \"%1\" and all its files? This action cannot be undone!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Show &config file"
|
||||
msgstr ""
|
||||
|
||||
msgid "No screenshot"
|
||||
msgstr ""
|
||||
|
||||
msgid "Search"
|
||||
msgstr ""
|
||||
|
||||
msgid "Searching for VMs..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Found %1"
|
||||
msgstr ""
|
||||
|
||||
msgid "System"
|
||||
msgstr ""
|
||||
|
||||
msgid "Storage"
|
||||
msgstr ""
|
||||
|
||||
msgid "Disk %1: "
|
||||
msgstr ""
|
||||
|
||||
msgid "No disks"
|
||||
msgstr ""
|
||||
|
||||
msgid "Audio"
|
||||
msgstr ""
|
||||
|
||||
msgid "Audio:"
|
||||
msgstr ""
|
||||
|
||||
msgid "ACPI shutdown"
|
||||
msgstr "Vypnúť cez rozhranie ACPI"
|
||||
|
||||
@@ -1347,6 +1671,9 @@ msgstr "Neznáma zbernica"
|
||||
msgid "Null Driver"
|
||||
msgstr "Nulový ovládač"
|
||||
|
||||
msgid "NIC:"
|
||||
msgstr ""
|
||||
|
||||
msgid "NIC %1 (%2) %3"
|
||||
msgstr "NIC %1 (%2) %3"
|
||||
|
||||
@@ -1416,6 +1743,9 @@ msgstr "Žiadne zariadenia MCA."
|
||||
msgid "MiB"
|
||||
msgstr "MiB"
|
||||
|
||||
msgid "GiB"
|
||||
msgstr ""
|
||||
|
||||
msgid "Network Card #1"
|
||||
msgstr "Sieťová karta 1"
|
||||
|
||||
@@ -2223,6 +2553,9 @@ msgstr "Farba bez prelínania"
|
||||
msgid "3Dfx Voodoo Graphics"
|
||||
msgstr "Grafický akcelerátor 3dfx Voodoo"
|
||||
|
||||
msgid "3Dfx Voodoo 2"
|
||||
msgstr ""
|
||||
|
||||
msgid "Obsidian SB50 + Amethyst (2 TMUs)"
|
||||
msgstr "Obsidian SB50 + Amethyst (2 zariadenia TMU)"
|
||||
|
||||
@@ -2490,6 +2823,84 @@ msgstr ""
|
||||
msgid "Hostname:"
|
||||
msgstr ""
|
||||
|
||||
msgid "ISA RTC"
|
||||
msgstr ""
|
||||
|
||||
msgid "ISA RAM"
|
||||
msgstr ""
|
||||
|
||||
msgid "ISA ROM"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Wipe NVRAM"
|
||||
msgstr ""
|
||||
|
||||
msgid "This will delete all NVRAM (and related) files of the virtual machine located in the \"nvr\" subdirectory. You'll have to reconfigure the BIOS (and possibly other devices inside the VM) settings again if applicable.\n\nAre you sure you want to wipe all NVRAM contents of the virtual machine \"%1\"?"
|
||||
msgstr ""
|
||||
|
||||
msgid "Success"
|
||||
msgstr ""
|
||||
|
||||
msgid "Successfully wiped the NVRAM contents of the virtual machine \"%1\""
|
||||
msgstr ""
|
||||
|
||||
msgid "An error occured trying to wipe the NVRAM contents of the virtual machine \"%1\""
|
||||
msgstr ""
|
||||
|
||||
msgid "%1 VM Manager"
|
||||
msgstr ""
|
||||
|
||||
msgid "%n disk(s)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unknown Status"
|
||||
msgstr ""
|
||||
|
||||
msgid "No Machines Found!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Check for updates on startup"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to determine release information"
|
||||
msgstr ""
|
||||
|
||||
msgid "There was an error checking for updates:\n\n%1\n\nPlease try again later."
|
||||
msgstr ""
|
||||
|
||||
msgid "Update check complete"
|
||||
msgstr ""
|
||||
|
||||
msgid "You are running the latest %1 version of 86Box: %2"
|
||||
msgstr ""
|
||||
|
||||
msgid "version"
|
||||
msgstr ""
|
||||
|
||||
msgid "build"
|
||||
msgstr ""
|
||||
|
||||
msgid "You are currently running %1 <b>%2</b>. "
|
||||
msgstr ""
|
||||
|
||||
msgid "<b>%1 %2</b> is now available. %3Would you like to visit the download page?"
|
||||
msgstr ""
|
||||
|
||||
msgid "Visit download page"
|
||||
msgstr ""
|
||||
|
||||
msgid "Update check"
|
||||
msgstr ""
|
||||
|
||||
msgid "Checking for updates.."
|
||||
msgstr ""
|
||||
|
||||
msgid "86Box Update"
|
||||
msgstr ""
|
||||
|
||||
msgid "Release notes:"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "HD Controller:"
|
||||
#~ msgstr "Radič disku:"
|
||||
|
||||
|
||||
@@ -27,6 +27,9 @@ msgstr "Ctrl+Alt+&Esc"
|
||||
msgid "&Pause"
|
||||
msgstr "&Premor"
|
||||
|
||||
msgid "Pause"
|
||||
msgstr ""
|
||||
|
||||
msgid "Re&sume"
|
||||
msgstr ""
|
||||
|
||||
@@ -192,6 +195,9 @@ msgstr "&Orodja"
|
||||
msgid "&Settings..."
|
||||
msgstr "&Nastavitve..."
|
||||
|
||||
msgid "Settings..."
|
||||
msgstr ""
|
||||
|
||||
msgid "&Update status bar icons"
|
||||
msgstr "&Posodabljaj ikone statusne vrstice"
|
||||
|
||||
@@ -357,6 +363,9 @@ msgstr "Sistem:"
|
||||
msgid "Configure"
|
||||
msgstr "Nastavi"
|
||||
|
||||
msgid "CPU:"
|
||||
msgstr ""
|
||||
|
||||
msgid "CPU type:"
|
||||
msgstr "Vrsta procesorja:"
|
||||
|
||||
@@ -417,15 +426,27 @@ msgstr "Grafika IBM 8514/A"
|
||||
msgid "XGA Graphics"
|
||||
msgstr "Grafika XGA"
|
||||
|
||||
msgid "IBM PS/55 Display Adapter Graphics"
|
||||
msgstr ""
|
||||
|
||||
msgid "Keyboard:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Keyboard"
|
||||
msgstr ""
|
||||
|
||||
msgid "Mouse:"
|
||||
msgstr "Miška:"
|
||||
|
||||
msgid "Mouse"
|
||||
msgstr ""
|
||||
|
||||
msgid "Joystick:"
|
||||
msgstr "Igralna palica:"
|
||||
|
||||
msgid "Joystick"
|
||||
msgstr ""
|
||||
|
||||
msgid "Joystick 1..."
|
||||
msgstr "Igralna palica 1..."
|
||||
|
||||
@@ -456,6 +477,9 @@ msgstr "Izhodna naprava MIDI:"
|
||||
msgid "MIDI In Device:"
|
||||
msgstr "Vhodna naprava MIDI:"
|
||||
|
||||
msgid "MIDI Out:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Standalone MPU-401"
|
||||
msgstr "Samostojen MPU-401"
|
||||
|
||||
@@ -615,6 +639,12 @@ msgstr "Pogoni CD-ROM:"
|
||||
msgid "MO drives:"
|
||||
msgstr "Magnetno-optični pogoni:"
|
||||
|
||||
msgid "MO:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Removable disks:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Removable disk drives:"
|
||||
msgstr ""
|
||||
|
||||
@@ -741,12 +771,30 @@ msgstr "Omrežje"
|
||||
msgid "Ports (COM & LPT)"
|
||||
msgstr "Vrata (COM & LPT)"
|
||||
|
||||
msgid "Ports"
|
||||
msgstr ""
|
||||
|
||||
msgid "Serial ports"
|
||||
msgstr ""
|
||||
|
||||
msgid "Parallel ports"
|
||||
msgstr ""
|
||||
|
||||
msgid "Storage controllers"
|
||||
msgstr "Krmilniki shrambe"
|
||||
|
||||
msgid "Hard disks"
|
||||
msgstr "Trdi diski"
|
||||
|
||||
msgid "Disks:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Floppy:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Controllers:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Floppy & CD-ROM drives"
|
||||
msgstr "Disketni in CD-ROM pogoni"
|
||||
|
||||
@@ -756,6 +804,9 @@ msgstr "Druge odstranljive naprave"
|
||||
msgid "Other peripherals"
|
||||
msgstr "Druga periferija"
|
||||
|
||||
msgid "Other devices"
|
||||
msgstr ""
|
||||
|
||||
msgid "Click to capture mouse"
|
||||
msgstr "Kliknite za zajem miške"
|
||||
|
||||
@@ -900,6 +951,15 @@ msgstr "Dobrodošli v 86Box!"
|
||||
msgid "Internal device"
|
||||
msgstr "Vgrajena naprava"
|
||||
|
||||
msgid "&File"
|
||||
msgstr ""
|
||||
|
||||
msgid "&New machine..."
|
||||
msgstr ""
|
||||
|
||||
msgid "&Check for updates..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Exit"
|
||||
msgstr "Izhod"
|
||||
|
||||
@@ -996,6 +1056,9 @@ msgstr "Nadaljuj izvajanje"
|
||||
msgid "Pause execution"
|
||||
msgstr "Prekini izvajanje"
|
||||
|
||||
msgid "Ctrl+Alt+Del"
|
||||
msgstr ""
|
||||
|
||||
msgid "Press Ctrl+Alt+Del"
|
||||
msgstr "Pritisni Ctrl+Alt+Del"
|
||||
|
||||
@@ -1005,6 +1068,267 @@ msgstr "Pritisni Ctrl+Alt+Esc"
|
||||
msgid "Hard reset"
|
||||
msgstr "Ponovni zagon"
|
||||
|
||||
msgid "Force shutdown"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start"
|
||||
msgstr ""
|
||||
|
||||
msgid "Not running"
|
||||
msgstr ""
|
||||
|
||||
msgid "Running"
|
||||
msgstr ""
|
||||
|
||||
msgid "Paused"
|
||||
msgstr ""
|
||||
|
||||
msgid "Paused (Waiting)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Powered Off"
|
||||
msgstr ""
|
||||
|
||||
msgid "waiting"
|
||||
msgstr ""
|
||||
|
||||
msgid "total"
|
||||
msgstr ""
|
||||
|
||||
msgid "System Directory:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Choose directory"
|
||||
msgstr ""
|
||||
|
||||
msgid "Choose configuration file"
|
||||
msgstr ""
|
||||
|
||||
msgid "86Box configuration files (86box.cfg)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Configuration read failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to open the selected configuration file for reading: %1"
|
||||
msgstr ""
|
||||
|
||||
msgid "Use regular expressions in search box"
|
||||
msgstr ""
|
||||
|
||||
msgid "%1 machine(s) are currently active. Are you sure you want to exit the VM manager anyway?"
|
||||
msgstr ""
|
||||
|
||||
msgid "Add new system wizard"
|
||||
msgstr ""
|
||||
|
||||
msgid "Introduction"
|
||||
msgstr ""
|
||||
|
||||
msgid "This will help you add a new system to 86Box."
|
||||
msgstr ""
|
||||
|
||||
msgid "New configuration"
|
||||
msgstr ""
|
||||
|
||||
msgid "Complete"
|
||||
msgstr ""
|
||||
|
||||
msgid "The wizard will now launch the configuration for the new system."
|
||||
msgstr ""
|
||||
|
||||
msgid "Use existing configuration"
|
||||
msgstr ""
|
||||
|
||||
msgid "Type some notes here"
|
||||
msgstr ""
|
||||
|
||||
msgid "Paste the contents of the existing configuration file into the box below."
|
||||
msgstr ""
|
||||
|
||||
msgid "Load configuration from file"
|
||||
msgstr ""
|
||||
|
||||
msgid "System Name"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name:"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name cannot contain certain characters"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name already exists"
|
||||
msgstr ""
|
||||
|
||||
msgid "Please enter a directory for the system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Directory does not exist"
|
||||
msgstr ""
|
||||
|
||||
msgid "A new directory for the system will be created in the selected directory above"
|
||||
msgstr ""
|
||||
|
||||
msgid "System location:"
|
||||
msgstr ""
|
||||
|
||||
msgid "System Location"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name and location"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter the name of the system and choose the location"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter the name of the system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Please enter a system name"
|
||||
msgstr ""
|
||||
|
||||
msgid "Display Name (optional)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Display name:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Set display name"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter the new display name (blank to reset)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Change &display name..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Context Menu"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Open folder..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Open &printer tray..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Set &icon..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Select an icon"
|
||||
msgstr ""
|
||||
|
||||
msgid "C&lone..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Virtual machine \"%1\" (%2) will be cloned into:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Directory %1 already exists"
|
||||
msgstr ""
|
||||
|
||||
msgid "You cannot use the following characters in the name: %1"
|
||||
msgstr ""
|
||||
|
||||
msgid "Clone"
|
||||
msgstr ""
|
||||
|
||||
msgid "Failed to create directory for cloned VM"
|
||||
msgstr ""
|
||||
|
||||
msgid "Failed to clone VM."
|
||||
msgstr ""
|
||||
|
||||
msgid "Directory in use"
|
||||
msgstr ""
|
||||
|
||||
msgid "The selected directory is already in use. Please select a different directory."
|
||||
msgstr ""
|
||||
|
||||
msgid "Create directory failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to create the directory for the new system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Configuration write failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to open the configuration file at %1 for writing"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error adding system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Abnormal program termination while creating new system: exit code %1, exit status %2.\n\nThe system will not be added."
|
||||
msgstr ""
|
||||
|
||||
msgid "Remove directory failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Some files in the machine's directory were unable to be deleted. Please delete them manually."
|
||||
msgstr ""
|
||||
|
||||
msgid "Build"
|
||||
msgstr ""
|
||||
|
||||
msgid "Version"
|
||||
msgstr ""
|
||||
|
||||
msgid "<b>An update to 86Box is available!</b>"
|
||||
msgstr ""
|
||||
|
||||
msgid "Warning"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Kill"
|
||||
msgstr ""
|
||||
|
||||
msgid "Killing a virtual machine can cause data loss. Only do this if the 86Box process gets stuck.\n\nDo you really wish to kill the virtual machine \"%1\"?"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Delete"
|
||||
msgstr ""
|
||||
|
||||
msgid "Do you really want to delete the virtual machine \"%1\" and all its files? This action cannot be undone!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Show &config file"
|
||||
msgstr ""
|
||||
|
||||
msgid "No screenshot"
|
||||
msgstr ""
|
||||
|
||||
msgid "Search"
|
||||
msgstr ""
|
||||
|
||||
msgid "Searching for VMs..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Found %1"
|
||||
msgstr ""
|
||||
|
||||
msgid "System"
|
||||
msgstr ""
|
||||
|
||||
msgid "Storage"
|
||||
msgstr ""
|
||||
|
||||
msgid "Disk %1: "
|
||||
msgstr ""
|
||||
|
||||
msgid "No disks"
|
||||
msgstr ""
|
||||
|
||||
msgid "Audio"
|
||||
msgstr ""
|
||||
|
||||
msgid "Audio:"
|
||||
msgstr ""
|
||||
|
||||
msgid "ACPI shutdown"
|
||||
msgstr "Zaustavitev ACPI"
|
||||
|
||||
@@ -1347,6 +1671,9 @@ msgstr "Neznano vodilo"
|
||||
msgid "Null Driver"
|
||||
msgstr "Ničelni gonilnik"
|
||||
|
||||
msgid "NIC:"
|
||||
msgstr ""
|
||||
|
||||
msgid "NIC %1 (%2) %3"
|
||||
msgstr "NIC %1 (%2) %3"
|
||||
|
||||
@@ -1416,6 +1743,9 @@ msgstr "Ni naprav MCA."
|
||||
msgid "MiB"
|
||||
msgstr "MiB"
|
||||
|
||||
msgid "GiB"
|
||||
msgstr ""
|
||||
|
||||
msgid "Network Card #1"
|
||||
msgstr "Omrežna kartica 1"
|
||||
|
||||
@@ -2223,6 +2553,9 @@ msgstr "Barvni brez prepletanja"
|
||||
msgid "3Dfx Voodoo Graphics"
|
||||
msgstr "3Dfx Voodoo Graphics"
|
||||
|
||||
msgid "3Dfx Voodoo 2"
|
||||
msgstr ""
|
||||
|
||||
msgid "Obsidian SB50 + Amethyst (2 TMUs)"
|
||||
msgstr "Obsidian SB50 + Amethyst (2 enoti TMU)"
|
||||
|
||||
@@ -2490,6 +2823,84 @@ msgstr ""
|
||||
msgid "Hostname:"
|
||||
msgstr ""
|
||||
|
||||
msgid "ISA RTC"
|
||||
msgstr ""
|
||||
|
||||
msgid "ISA RAM"
|
||||
msgstr ""
|
||||
|
||||
msgid "ISA ROM"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Wipe NVRAM"
|
||||
msgstr ""
|
||||
|
||||
msgid "This will delete all NVRAM (and related) files of the virtual machine located in the \"nvr\" subdirectory. You'll have to reconfigure the BIOS (and possibly other devices inside the VM) settings again if applicable.\n\nAre you sure you want to wipe all NVRAM contents of the virtual machine \"%1\"?"
|
||||
msgstr ""
|
||||
|
||||
msgid "Success"
|
||||
msgstr ""
|
||||
|
||||
msgid "Successfully wiped the NVRAM contents of the virtual machine \"%1\""
|
||||
msgstr ""
|
||||
|
||||
msgid "An error occured trying to wipe the NVRAM contents of the virtual machine \"%1\""
|
||||
msgstr ""
|
||||
|
||||
msgid "%1 VM Manager"
|
||||
msgstr ""
|
||||
|
||||
msgid "%n disk(s)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unknown Status"
|
||||
msgstr ""
|
||||
|
||||
msgid "No Machines Found!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Check for updates on startup"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to determine release information"
|
||||
msgstr ""
|
||||
|
||||
msgid "There was an error checking for updates:\n\n%1\n\nPlease try again later."
|
||||
msgstr ""
|
||||
|
||||
msgid "Update check complete"
|
||||
msgstr ""
|
||||
|
||||
msgid "You are running the latest %1 version of 86Box: %2"
|
||||
msgstr ""
|
||||
|
||||
msgid "version"
|
||||
msgstr ""
|
||||
|
||||
msgid "build"
|
||||
msgstr ""
|
||||
|
||||
msgid "You are currently running %1 <b>%2</b>. "
|
||||
msgstr ""
|
||||
|
||||
msgid "<b>%1 %2</b> is now available. %3Would you like to visit the download page?"
|
||||
msgstr ""
|
||||
|
||||
msgid "Visit download page"
|
||||
msgstr ""
|
||||
|
||||
msgid "Update check"
|
||||
msgstr ""
|
||||
|
||||
msgid "Checking for updates.."
|
||||
msgstr ""
|
||||
|
||||
msgid "86Box Update"
|
||||
msgstr ""
|
||||
|
||||
msgid "Release notes:"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "HD Controller:"
|
||||
#~ msgstr "Krmilnik trdega diska:"
|
||||
|
||||
|
||||
@@ -27,6 +27,9 @@ msgstr "Ctrl+Alt+&Esc"
|
||||
msgid "&Pause"
|
||||
msgstr "&Pausa"
|
||||
|
||||
msgid "Pause"
|
||||
msgstr ""
|
||||
|
||||
msgid "Re&sume"
|
||||
msgstr ""
|
||||
|
||||
@@ -192,6 +195,9 @@ msgstr "&Verktyg"
|
||||
msgid "&Settings..."
|
||||
msgstr "&Inställningar..."
|
||||
|
||||
msgid "Settings..."
|
||||
msgstr ""
|
||||
|
||||
msgid "&Update status bar icons"
|
||||
msgstr "&Uppdatera statusfältets ikoner"
|
||||
|
||||
@@ -357,6 +363,9 @@ msgstr "Maskin:"
|
||||
msgid "Configure"
|
||||
msgstr "Konfigurera"
|
||||
|
||||
msgid "CPU:"
|
||||
msgstr ""
|
||||
|
||||
msgid "CPU type:"
|
||||
msgstr "Processortyp:"
|
||||
|
||||
@@ -417,15 +426,27 @@ msgstr "IBM 8514/A-grafik"
|
||||
msgid "XGA Graphics"
|
||||
msgstr "XGA-grafik"
|
||||
|
||||
msgid "IBM PS/55 Display Adapter Graphics"
|
||||
msgstr ""
|
||||
|
||||
msgid "Keyboard:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Keyboard"
|
||||
msgstr ""
|
||||
|
||||
msgid "Mouse:"
|
||||
msgstr "Mus:"
|
||||
|
||||
msgid "Mouse"
|
||||
msgstr ""
|
||||
|
||||
msgid "Joystick:"
|
||||
msgstr "Styrspak:"
|
||||
|
||||
msgid "Joystick"
|
||||
msgstr ""
|
||||
|
||||
msgid "Joystick 1..."
|
||||
msgstr "Styrspak 1..."
|
||||
|
||||
@@ -456,6 +477,9 @@ msgstr "Enhet för MIDI-utdata:"
|
||||
msgid "MIDI In Device:"
|
||||
msgstr "Enhet för MIDI-indata:"
|
||||
|
||||
msgid "MIDI Out:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Standalone MPU-401"
|
||||
msgstr "Fristående MPU-401"
|
||||
|
||||
@@ -615,6 +639,12 @@ msgstr "CD-ROM-enheter:"
|
||||
msgid "MO drives:"
|
||||
msgstr "MO-enheter:"
|
||||
|
||||
msgid "MO:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Removable disks:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Removable disk drives:"
|
||||
msgstr ""
|
||||
|
||||
@@ -741,12 +771,30 @@ msgstr "Nätverk"
|
||||
msgid "Ports (COM & LPT)"
|
||||
msgstr "Portar (COM & LPT)"
|
||||
|
||||
msgid "Ports"
|
||||
msgstr ""
|
||||
|
||||
msgid "Serial ports"
|
||||
msgstr ""
|
||||
|
||||
msgid "Parallel ports"
|
||||
msgstr ""
|
||||
|
||||
msgid "Storage controllers"
|
||||
msgstr "Styrenheter för lagring"
|
||||
|
||||
msgid "Hard disks"
|
||||
msgstr "Hårddiskar"
|
||||
|
||||
msgid "Disks:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Floppy:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Controllers:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Floppy & CD-ROM drives"
|
||||
msgstr "Diskett- och CD-ROM-enheter"
|
||||
|
||||
@@ -756,6 +804,9 @@ msgstr "Andra flyttbara enheter"
|
||||
msgid "Other peripherals"
|
||||
msgstr "Andra tillbehör"
|
||||
|
||||
msgid "Other devices"
|
||||
msgstr ""
|
||||
|
||||
msgid "Click to capture mouse"
|
||||
msgstr "Klicka för att fånga upp musen"
|
||||
|
||||
@@ -900,6 +951,15 @@ msgstr "Välkommen till 86Box!"
|
||||
msgid "Internal device"
|
||||
msgstr "Intern enhet"
|
||||
|
||||
msgid "&File"
|
||||
msgstr ""
|
||||
|
||||
msgid "&New machine..."
|
||||
msgstr ""
|
||||
|
||||
msgid "&Check for updates..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Exit"
|
||||
msgstr "Avsluta"
|
||||
|
||||
@@ -996,6 +1056,9 @@ msgstr "Fortsätt exekvering"
|
||||
msgid "Pause execution"
|
||||
msgstr "Pausa exekvering"
|
||||
|
||||
msgid "Ctrl+Alt+Del"
|
||||
msgstr ""
|
||||
|
||||
msgid "Press Ctrl+Alt+Del"
|
||||
msgstr "Tryck på Ctrl+Alt+Del"
|
||||
|
||||
@@ -1005,6 +1068,267 @@ msgstr "Tryck på Ctrl+Alt+Esc"
|
||||
msgid "Hard reset"
|
||||
msgstr "Hård omstart"
|
||||
|
||||
msgid "Force shutdown"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start"
|
||||
msgstr ""
|
||||
|
||||
msgid "Not running"
|
||||
msgstr ""
|
||||
|
||||
msgid "Running"
|
||||
msgstr ""
|
||||
|
||||
msgid "Paused"
|
||||
msgstr ""
|
||||
|
||||
msgid "Paused (Waiting)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Powered Off"
|
||||
msgstr ""
|
||||
|
||||
msgid "waiting"
|
||||
msgstr ""
|
||||
|
||||
msgid "total"
|
||||
msgstr ""
|
||||
|
||||
msgid "System Directory:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Choose directory"
|
||||
msgstr ""
|
||||
|
||||
msgid "Choose configuration file"
|
||||
msgstr ""
|
||||
|
||||
msgid "86Box configuration files (86box.cfg)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Configuration read failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to open the selected configuration file for reading: %1"
|
||||
msgstr ""
|
||||
|
||||
msgid "Use regular expressions in search box"
|
||||
msgstr ""
|
||||
|
||||
msgid "%1 machine(s) are currently active. Are you sure you want to exit the VM manager anyway?"
|
||||
msgstr ""
|
||||
|
||||
msgid "Add new system wizard"
|
||||
msgstr ""
|
||||
|
||||
msgid "Introduction"
|
||||
msgstr ""
|
||||
|
||||
msgid "This will help you add a new system to 86Box."
|
||||
msgstr ""
|
||||
|
||||
msgid "New configuration"
|
||||
msgstr ""
|
||||
|
||||
msgid "Complete"
|
||||
msgstr ""
|
||||
|
||||
msgid "The wizard will now launch the configuration for the new system."
|
||||
msgstr ""
|
||||
|
||||
msgid "Use existing configuration"
|
||||
msgstr ""
|
||||
|
||||
msgid "Type some notes here"
|
||||
msgstr ""
|
||||
|
||||
msgid "Paste the contents of the existing configuration file into the box below."
|
||||
msgstr ""
|
||||
|
||||
msgid "Load configuration from file"
|
||||
msgstr ""
|
||||
|
||||
msgid "System Name"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name:"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name cannot contain certain characters"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name already exists"
|
||||
msgstr ""
|
||||
|
||||
msgid "Please enter a directory for the system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Directory does not exist"
|
||||
msgstr ""
|
||||
|
||||
msgid "A new directory for the system will be created in the selected directory above"
|
||||
msgstr ""
|
||||
|
||||
msgid "System location:"
|
||||
msgstr ""
|
||||
|
||||
msgid "System Location"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name and location"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter the name of the system and choose the location"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter the name of the system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Please enter a system name"
|
||||
msgstr ""
|
||||
|
||||
msgid "Display Name (optional)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Display name:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Set display name"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter the new display name (blank to reset)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Change &display name..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Context Menu"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Open folder..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Open &printer tray..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Set &icon..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Select an icon"
|
||||
msgstr ""
|
||||
|
||||
msgid "C&lone..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Virtual machine \"%1\" (%2) will be cloned into:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Directory %1 already exists"
|
||||
msgstr ""
|
||||
|
||||
msgid "You cannot use the following characters in the name: %1"
|
||||
msgstr ""
|
||||
|
||||
msgid "Clone"
|
||||
msgstr ""
|
||||
|
||||
msgid "Failed to create directory for cloned VM"
|
||||
msgstr ""
|
||||
|
||||
msgid "Failed to clone VM."
|
||||
msgstr ""
|
||||
|
||||
msgid "Directory in use"
|
||||
msgstr ""
|
||||
|
||||
msgid "The selected directory is already in use. Please select a different directory."
|
||||
msgstr ""
|
||||
|
||||
msgid "Create directory failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to create the directory for the new system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Configuration write failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to open the configuration file at %1 for writing"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error adding system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Abnormal program termination while creating new system: exit code %1, exit status %2.\n\nThe system will not be added."
|
||||
msgstr ""
|
||||
|
||||
msgid "Remove directory failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Some files in the machine's directory were unable to be deleted. Please delete them manually."
|
||||
msgstr ""
|
||||
|
||||
msgid "Build"
|
||||
msgstr ""
|
||||
|
||||
msgid "Version"
|
||||
msgstr ""
|
||||
|
||||
msgid "<b>An update to 86Box is available!</b>"
|
||||
msgstr ""
|
||||
|
||||
msgid "Warning"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Kill"
|
||||
msgstr ""
|
||||
|
||||
msgid "Killing a virtual machine can cause data loss. Only do this if the 86Box process gets stuck.\n\nDo you really wish to kill the virtual machine \"%1\"?"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Delete"
|
||||
msgstr ""
|
||||
|
||||
msgid "Do you really want to delete the virtual machine \"%1\" and all its files? This action cannot be undone!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Show &config file"
|
||||
msgstr ""
|
||||
|
||||
msgid "No screenshot"
|
||||
msgstr ""
|
||||
|
||||
msgid "Search"
|
||||
msgstr ""
|
||||
|
||||
msgid "Searching for VMs..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Found %1"
|
||||
msgstr ""
|
||||
|
||||
msgid "System"
|
||||
msgstr ""
|
||||
|
||||
msgid "Storage"
|
||||
msgstr ""
|
||||
|
||||
msgid "Disk %1: "
|
||||
msgstr ""
|
||||
|
||||
msgid "No disks"
|
||||
msgstr ""
|
||||
|
||||
msgid "Audio"
|
||||
msgstr ""
|
||||
|
||||
msgid "Audio:"
|
||||
msgstr ""
|
||||
|
||||
msgid "ACPI shutdown"
|
||||
msgstr "ACPI-avstängning"
|
||||
|
||||
@@ -1347,6 +1671,9 @@ msgstr "Okänd buss"
|
||||
msgid "Null Driver"
|
||||
msgstr "Tom drivrutin"
|
||||
|
||||
msgid "NIC:"
|
||||
msgstr ""
|
||||
|
||||
msgid "NIC %1 (%2) %3"
|
||||
msgstr "NIC %1 (%2) %3"
|
||||
|
||||
@@ -1416,6 +1743,9 @@ msgstr "Inga MCA-enheter."
|
||||
msgid "MiB"
|
||||
msgstr "MiB"
|
||||
|
||||
msgid "GiB"
|
||||
msgstr ""
|
||||
|
||||
msgid "Network Card #1"
|
||||
msgstr "Nätverkskort #1"
|
||||
|
||||
@@ -2223,6 +2553,9 @@ msgstr "Ej sammanflätad färg"
|
||||
msgid "3Dfx Voodoo Graphics"
|
||||
msgstr "3Dfx Voodoo-grafik"
|
||||
|
||||
msgid "3Dfx Voodoo 2"
|
||||
msgstr ""
|
||||
|
||||
msgid "Obsidian SB50 + Amethyst (2 TMUs)"
|
||||
msgstr "Obsidian SB50 + Amethyst (2 TMUs)"
|
||||
|
||||
@@ -2490,6 +2823,84 @@ msgstr ""
|
||||
msgid "Hostname:"
|
||||
msgstr ""
|
||||
|
||||
msgid "ISA RTC"
|
||||
msgstr ""
|
||||
|
||||
msgid "ISA RAM"
|
||||
msgstr ""
|
||||
|
||||
msgid "ISA ROM"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Wipe NVRAM"
|
||||
msgstr ""
|
||||
|
||||
msgid "This will delete all NVRAM (and related) files of the virtual machine located in the \"nvr\" subdirectory. You'll have to reconfigure the BIOS (and possibly other devices inside the VM) settings again if applicable.\n\nAre you sure you want to wipe all NVRAM contents of the virtual machine \"%1\"?"
|
||||
msgstr ""
|
||||
|
||||
msgid "Success"
|
||||
msgstr ""
|
||||
|
||||
msgid "Successfully wiped the NVRAM contents of the virtual machine \"%1\""
|
||||
msgstr ""
|
||||
|
||||
msgid "An error occured trying to wipe the NVRAM contents of the virtual machine \"%1\""
|
||||
msgstr ""
|
||||
|
||||
msgid "%1 VM Manager"
|
||||
msgstr ""
|
||||
|
||||
msgid "%n disk(s)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unknown Status"
|
||||
msgstr ""
|
||||
|
||||
msgid "No Machines Found!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Check for updates on startup"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to determine release information"
|
||||
msgstr ""
|
||||
|
||||
msgid "There was an error checking for updates:\n\n%1\n\nPlease try again later."
|
||||
msgstr ""
|
||||
|
||||
msgid "Update check complete"
|
||||
msgstr ""
|
||||
|
||||
msgid "You are running the latest %1 version of 86Box: %2"
|
||||
msgstr ""
|
||||
|
||||
msgid "version"
|
||||
msgstr ""
|
||||
|
||||
msgid "build"
|
||||
msgstr ""
|
||||
|
||||
msgid "You are currently running %1 <b>%2</b>. "
|
||||
msgstr ""
|
||||
|
||||
msgid "<b>%1 %2</b> is now available. %3Would you like to visit the download page?"
|
||||
msgstr ""
|
||||
|
||||
msgid "Visit download page"
|
||||
msgstr ""
|
||||
|
||||
msgid "Update check"
|
||||
msgstr ""
|
||||
|
||||
msgid "Checking for updates.."
|
||||
msgstr ""
|
||||
|
||||
msgid "86Box Update"
|
||||
msgstr ""
|
||||
|
||||
msgid "Release notes:"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "HD Controller:"
|
||||
#~ msgstr "Styrenhet för hårddisk:"
|
||||
|
||||
|
||||
@@ -27,6 +27,9 @@ msgstr "Ctrl+&Alt+Esc"
|
||||
msgid "&Pause"
|
||||
msgstr "&Duraklat"
|
||||
|
||||
msgid "Pause"
|
||||
msgstr ""
|
||||
|
||||
msgid "Re&sume"
|
||||
msgstr ""
|
||||
|
||||
@@ -192,6 +195,9 @@ msgstr "&Araçlar"
|
||||
msgid "&Settings..."
|
||||
msgstr "&Ayarlar..."
|
||||
|
||||
msgid "Settings..."
|
||||
msgstr ""
|
||||
|
||||
msgid "&Update status bar icons"
|
||||
msgstr "Durum &çubuğu simgelerini güncelle"
|
||||
|
||||
@@ -357,6 +363,9 @@ msgstr "Makine:"
|
||||
msgid "Configure"
|
||||
msgstr "Ayarla"
|
||||
|
||||
msgid "CPU:"
|
||||
msgstr ""
|
||||
|
||||
msgid "CPU type:"
|
||||
msgstr "İşlemci türü:"
|
||||
|
||||
@@ -417,15 +426,27 @@ msgstr "IBM 8514/A Grafikleri"
|
||||
msgid "XGA Graphics"
|
||||
msgstr "XGA Grafikleri"
|
||||
|
||||
msgid "IBM PS/55 Display Adapter Graphics"
|
||||
msgstr ""
|
||||
|
||||
msgid "Keyboard:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Keyboard"
|
||||
msgstr ""
|
||||
|
||||
msgid "Mouse:"
|
||||
msgstr "Fare:"
|
||||
|
||||
msgid "Mouse"
|
||||
msgstr ""
|
||||
|
||||
msgid "Joystick:"
|
||||
msgstr "Oyun Kolu:"
|
||||
|
||||
msgid "Joystick"
|
||||
msgstr ""
|
||||
|
||||
msgid "Joystick 1..."
|
||||
msgstr "1. Oyun Kolu..."
|
||||
|
||||
@@ -456,6 +477,9 @@ msgstr "MIDI Çıkış Cihazı:"
|
||||
msgid "MIDI In Device:"
|
||||
msgstr "MIDI Giriş Cihazı:"
|
||||
|
||||
msgid "MIDI Out:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Standalone MPU-401"
|
||||
msgstr "Bağımsız MPU-401"
|
||||
|
||||
@@ -615,6 +639,12 @@ msgstr "CD-ROM sürücüleri:"
|
||||
msgid "MO drives:"
|
||||
msgstr "MO sürücüleri:"
|
||||
|
||||
msgid "MO:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Removable disks:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Removable disk drives:"
|
||||
msgstr ""
|
||||
|
||||
@@ -741,12 +771,30 @@ msgstr "Ağ"
|
||||
msgid "Ports (COM & LPT)"
|
||||
msgstr "Portlar (COM & LPT)"
|
||||
|
||||
msgid "Ports"
|
||||
msgstr ""
|
||||
|
||||
msgid "Serial ports"
|
||||
msgstr ""
|
||||
|
||||
msgid "Parallel ports"
|
||||
msgstr ""
|
||||
|
||||
msgid "Storage controllers"
|
||||
msgstr "Depolama denetleyicileri"
|
||||
|
||||
msgid "Hard disks"
|
||||
msgstr "Hard diskler"
|
||||
|
||||
msgid "Disks:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Floppy:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Controllers:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Floppy & CD-ROM drives"
|
||||
msgstr "Disket & CD-ROM sürücüleri"
|
||||
|
||||
@@ -756,6 +804,9 @@ msgstr "Diğer kaldırılabilir cihazlar"
|
||||
msgid "Other peripherals"
|
||||
msgstr "Diğer cihazlar"
|
||||
|
||||
msgid "Other devices"
|
||||
msgstr ""
|
||||
|
||||
msgid "Click to capture mouse"
|
||||
msgstr "Farenin yakalanması için tıklayın"
|
||||
|
||||
@@ -900,6 +951,15 @@ msgstr "86Box'a hoşgeldiniz!"
|
||||
msgid "Internal device"
|
||||
msgstr "Dahili cihaz"
|
||||
|
||||
msgid "&File"
|
||||
msgstr ""
|
||||
|
||||
msgid "&New machine..."
|
||||
msgstr ""
|
||||
|
||||
msgid "&Check for updates..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Exit"
|
||||
msgstr "Çıkış yap"
|
||||
|
||||
@@ -996,6 +1056,9 @@ msgstr "Çalıştırmayı sürdür"
|
||||
msgid "Pause execution"
|
||||
msgstr "Çalıştırmayı duraklat"
|
||||
|
||||
msgid "Ctrl+Alt+Del"
|
||||
msgstr ""
|
||||
|
||||
msgid "Press Ctrl+Alt+Del"
|
||||
msgstr "Ctrl+Alt+Del tuşlarına bas"
|
||||
|
||||
@@ -1005,6 +1068,267 @@ msgstr "Ctrl+Alt+Esc tuşlarına bas"
|
||||
msgid "Hard reset"
|
||||
msgstr "Makineyi yeniden başlat"
|
||||
|
||||
msgid "Force shutdown"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start"
|
||||
msgstr ""
|
||||
|
||||
msgid "Not running"
|
||||
msgstr ""
|
||||
|
||||
msgid "Running"
|
||||
msgstr ""
|
||||
|
||||
msgid "Paused"
|
||||
msgstr ""
|
||||
|
||||
msgid "Paused (Waiting)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Powered Off"
|
||||
msgstr ""
|
||||
|
||||
msgid "waiting"
|
||||
msgstr ""
|
||||
|
||||
msgid "total"
|
||||
msgstr ""
|
||||
|
||||
msgid "System Directory:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Choose directory"
|
||||
msgstr ""
|
||||
|
||||
msgid "Choose configuration file"
|
||||
msgstr ""
|
||||
|
||||
msgid "86Box configuration files (86box.cfg)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Configuration read failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to open the selected configuration file for reading: %1"
|
||||
msgstr ""
|
||||
|
||||
msgid "Use regular expressions in search box"
|
||||
msgstr ""
|
||||
|
||||
msgid "%1 machine(s) are currently active. Are you sure you want to exit the VM manager anyway?"
|
||||
msgstr ""
|
||||
|
||||
msgid "Add new system wizard"
|
||||
msgstr ""
|
||||
|
||||
msgid "Introduction"
|
||||
msgstr ""
|
||||
|
||||
msgid "This will help you add a new system to 86Box."
|
||||
msgstr ""
|
||||
|
||||
msgid "New configuration"
|
||||
msgstr ""
|
||||
|
||||
msgid "Complete"
|
||||
msgstr ""
|
||||
|
||||
msgid "The wizard will now launch the configuration for the new system."
|
||||
msgstr ""
|
||||
|
||||
msgid "Use existing configuration"
|
||||
msgstr ""
|
||||
|
||||
msgid "Type some notes here"
|
||||
msgstr ""
|
||||
|
||||
msgid "Paste the contents of the existing configuration file into the box below."
|
||||
msgstr ""
|
||||
|
||||
msgid "Load configuration from file"
|
||||
msgstr ""
|
||||
|
||||
msgid "System Name"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name:"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name cannot contain certain characters"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name already exists"
|
||||
msgstr ""
|
||||
|
||||
msgid "Please enter a directory for the system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Directory does not exist"
|
||||
msgstr ""
|
||||
|
||||
msgid "A new directory for the system will be created in the selected directory above"
|
||||
msgstr ""
|
||||
|
||||
msgid "System location:"
|
||||
msgstr ""
|
||||
|
||||
msgid "System Location"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name and location"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter the name of the system and choose the location"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter the name of the system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Please enter a system name"
|
||||
msgstr ""
|
||||
|
||||
msgid "Display Name (optional)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Display name:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Set display name"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter the new display name (blank to reset)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Change &display name..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Context Menu"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Open folder..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Open &printer tray..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Set &icon..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Select an icon"
|
||||
msgstr ""
|
||||
|
||||
msgid "C&lone..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Virtual machine \"%1\" (%2) will be cloned into:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Directory %1 already exists"
|
||||
msgstr ""
|
||||
|
||||
msgid "You cannot use the following characters in the name: %1"
|
||||
msgstr ""
|
||||
|
||||
msgid "Clone"
|
||||
msgstr ""
|
||||
|
||||
msgid "Failed to create directory for cloned VM"
|
||||
msgstr ""
|
||||
|
||||
msgid "Failed to clone VM."
|
||||
msgstr ""
|
||||
|
||||
msgid "Directory in use"
|
||||
msgstr ""
|
||||
|
||||
msgid "The selected directory is already in use. Please select a different directory."
|
||||
msgstr ""
|
||||
|
||||
msgid "Create directory failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to create the directory for the new system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Configuration write failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to open the configuration file at %1 for writing"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error adding system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Abnormal program termination while creating new system: exit code %1, exit status %2.\n\nThe system will not be added."
|
||||
msgstr ""
|
||||
|
||||
msgid "Remove directory failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Some files in the machine's directory were unable to be deleted. Please delete them manually."
|
||||
msgstr ""
|
||||
|
||||
msgid "Build"
|
||||
msgstr ""
|
||||
|
||||
msgid "Version"
|
||||
msgstr ""
|
||||
|
||||
msgid "<b>An update to 86Box is available!</b>"
|
||||
msgstr ""
|
||||
|
||||
msgid "Warning"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Kill"
|
||||
msgstr ""
|
||||
|
||||
msgid "Killing a virtual machine can cause data loss. Only do this if the 86Box process gets stuck.\n\nDo you really wish to kill the virtual machine \"%1\"?"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Delete"
|
||||
msgstr ""
|
||||
|
||||
msgid "Do you really want to delete the virtual machine \"%1\" and all its files? This action cannot be undone!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Show &config file"
|
||||
msgstr ""
|
||||
|
||||
msgid "No screenshot"
|
||||
msgstr ""
|
||||
|
||||
msgid "Search"
|
||||
msgstr ""
|
||||
|
||||
msgid "Searching for VMs..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Found %1"
|
||||
msgstr ""
|
||||
|
||||
msgid "System"
|
||||
msgstr ""
|
||||
|
||||
msgid "Storage"
|
||||
msgstr ""
|
||||
|
||||
msgid "Disk %1: "
|
||||
msgstr ""
|
||||
|
||||
msgid "No disks"
|
||||
msgstr ""
|
||||
|
||||
msgid "Audio"
|
||||
msgstr ""
|
||||
|
||||
msgid "Audio:"
|
||||
msgstr ""
|
||||
|
||||
msgid "ACPI shutdown"
|
||||
msgstr "Makineyi ACPI kullanarak kapat"
|
||||
|
||||
@@ -1347,6 +1671,9 @@ msgstr "Bilinmeyen veri yolu"
|
||||
msgid "Null Driver"
|
||||
msgstr "Null sürücü"
|
||||
|
||||
msgid "NIC:"
|
||||
msgstr ""
|
||||
|
||||
msgid "NIC %1 (%2) %3"
|
||||
msgstr "NIC %1 (%2) %3"
|
||||
|
||||
@@ -1416,6 +1743,9 @@ msgstr "MCA cihazı yok."
|
||||
msgid "MiB"
|
||||
msgstr "MiB"
|
||||
|
||||
msgid "GiB"
|
||||
msgstr ""
|
||||
|
||||
msgid "Network Card #1"
|
||||
msgstr "1. Ağ Kartı"
|
||||
|
||||
@@ -2223,6 +2553,9 @@ msgstr "Çok Renkli (Geçiş Taramasız)"
|
||||
msgid "3Dfx Voodoo Graphics"
|
||||
msgstr "3Dfx Voodoo Grafikleri"
|
||||
|
||||
msgid "3Dfx Voodoo 2"
|
||||
msgstr ""
|
||||
|
||||
msgid "Obsidian SB50 + Amethyst (2 TMUs)"
|
||||
msgstr "Obsidian SB50 + Amethyst (2 TMU)"
|
||||
|
||||
@@ -2490,6 +2823,84 @@ msgstr ""
|
||||
msgid "Hostname:"
|
||||
msgstr ""
|
||||
|
||||
msgid "ISA RTC"
|
||||
msgstr ""
|
||||
|
||||
msgid "ISA RAM"
|
||||
msgstr ""
|
||||
|
||||
msgid "ISA ROM"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Wipe NVRAM"
|
||||
msgstr ""
|
||||
|
||||
msgid "This will delete all NVRAM (and related) files of the virtual machine located in the \"nvr\" subdirectory. You'll have to reconfigure the BIOS (and possibly other devices inside the VM) settings again if applicable.\n\nAre you sure you want to wipe all NVRAM contents of the virtual machine \"%1\"?"
|
||||
msgstr ""
|
||||
|
||||
msgid "Success"
|
||||
msgstr ""
|
||||
|
||||
msgid "Successfully wiped the NVRAM contents of the virtual machine \"%1\""
|
||||
msgstr ""
|
||||
|
||||
msgid "An error occured trying to wipe the NVRAM contents of the virtual machine \"%1\""
|
||||
msgstr ""
|
||||
|
||||
msgid "%1 VM Manager"
|
||||
msgstr ""
|
||||
|
||||
msgid "%n disk(s)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unknown Status"
|
||||
msgstr ""
|
||||
|
||||
msgid "No Machines Found!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Check for updates on startup"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to determine release information"
|
||||
msgstr ""
|
||||
|
||||
msgid "There was an error checking for updates:\n\n%1\n\nPlease try again later."
|
||||
msgstr ""
|
||||
|
||||
msgid "Update check complete"
|
||||
msgstr ""
|
||||
|
||||
msgid "You are running the latest %1 version of 86Box: %2"
|
||||
msgstr ""
|
||||
|
||||
msgid "version"
|
||||
msgstr ""
|
||||
|
||||
msgid "build"
|
||||
msgstr ""
|
||||
|
||||
msgid "You are currently running %1 <b>%2</b>. "
|
||||
msgstr ""
|
||||
|
||||
msgid "<b>%1 %2</b> is now available. %3Would you like to visit the download page?"
|
||||
msgstr ""
|
||||
|
||||
msgid "Visit download page"
|
||||
msgstr ""
|
||||
|
||||
msgid "Update check"
|
||||
msgstr ""
|
||||
|
||||
msgid "Checking for updates.."
|
||||
msgstr ""
|
||||
|
||||
msgid "86Box Update"
|
||||
msgstr ""
|
||||
|
||||
msgid "Release notes:"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "HD Controller:"
|
||||
#~ msgstr "Hard Disk Denetleyicisi:"
|
||||
|
||||
|
||||
@@ -27,6 +27,9 @@ msgstr "Ctrl+Alt+&Esc"
|
||||
msgid "&Pause"
|
||||
msgstr "&Пауза"
|
||||
|
||||
msgid "Pause"
|
||||
msgstr ""
|
||||
|
||||
msgid "Re&sume"
|
||||
msgstr ""
|
||||
|
||||
@@ -192,6 +195,9 @@ msgstr "&Інструменти"
|
||||
msgid "&Settings..."
|
||||
msgstr "&Налаштування машини..."
|
||||
|
||||
msgid "Settings..."
|
||||
msgstr ""
|
||||
|
||||
msgid "&Update status bar icons"
|
||||
msgstr "&Обновлення значків рядка стану"
|
||||
|
||||
@@ -357,6 +363,9 @@ msgstr "Системна плата:"
|
||||
msgid "Configure"
|
||||
msgstr "Налаштування"
|
||||
|
||||
msgid "CPU:"
|
||||
msgstr ""
|
||||
|
||||
msgid "CPU type:"
|
||||
msgstr "Тип ЦП:"
|
||||
|
||||
@@ -417,15 +426,27 @@ msgstr "Прискорювач IBM 8514/A"
|
||||
msgid "XGA Graphics"
|
||||
msgstr "Прискорювач XGA"
|
||||
|
||||
msgid "IBM PS/55 Display Adapter Graphics"
|
||||
msgstr ""
|
||||
|
||||
msgid "Keyboard:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Keyboard"
|
||||
msgstr ""
|
||||
|
||||
msgid "Mouse:"
|
||||
msgstr "Миша:"
|
||||
|
||||
msgid "Mouse"
|
||||
msgstr ""
|
||||
|
||||
msgid "Joystick:"
|
||||
msgstr "Джойстик:"
|
||||
|
||||
msgid "Joystick"
|
||||
msgstr ""
|
||||
|
||||
msgid "Joystick 1..."
|
||||
msgstr "Джойстик 1..."
|
||||
|
||||
@@ -456,6 +477,9 @@ msgstr "MIDI Out при-ій:"
|
||||
msgid "MIDI In Device:"
|
||||
msgstr "MIDI In при-ій:"
|
||||
|
||||
msgid "MIDI Out:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Standalone MPU-401"
|
||||
msgstr "Окремий MPU-401"
|
||||
|
||||
@@ -615,6 +639,12 @@ msgstr "Дисководи CD-ROM:"
|
||||
msgid "MO drives:"
|
||||
msgstr "Магнітооптичні дисководи:"
|
||||
|
||||
msgid "MO:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Removable disks:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Removable disk drives:"
|
||||
msgstr ""
|
||||
|
||||
@@ -741,12 +771,30 @@ msgstr "Мережа"
|
||||
msgid "Ports (COM & LPT)"
|
||||
msgstr "Порти (COM и LPT)"
|
||||
|
||||
msgid "Ports"
|
||||
msgstr ""
|
||||
|
||||
msgid "Serial ports"
|
||||
msgstr ""
|
||||
|
||||
msgid "Parallel ports"
|
||||
msgstr ""
|
||||
|
||||
msgid "Storage controllers"
|
||||
msgstr "Контролери дисків"
|
||||
|
||||
msgid "Hard disks"
|
||||
msgstr "Жорсткі диски"
|
||||
|
||||
msgid "Disks:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Floppy:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Controllers:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Floppy & CD-ROM drives"
|
||||
msgstr "Гнучкі диски і CD-ROM"
|
||||
|
||||
@@ -756,6 +804,9 @@ msgstr "Інші знімні при-ої"
|
||||
msgid "Other peripherals"
|
||||
msgstr "Інша периферія"
|
||||
|
||||
msgid "Other devices"
|
||||
msgstr ""
|
||||
|
||||
msgid "Click to capture mouse"
|
||||
msgstr "Клацніть мишею для захвату курсора"
|
||||
|
||||
@@ -900,6 +951,15 @@ msgstr "Ласкаво просимо в 86Box!"
|
||||
msgid "Internal device"
|
||||
msgstr "Вбудований пристрій"
|
||||
|
||||
msgid "&File"
|
||||
msgstr ""
|
||||
|
||||
msgid "&New machine..."
|
||||
msgstr ""
|
||||
|
||||
msgid "&Check for updates..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Exit"
|
||||
msgstr "Вихід"
|
||||
|
||||
@@ -996,6 +1056,9 @@ msgstr "Відновити виконання"
|
||||
msgid "Pause execution"
|
||||
msgstr "Призупинити виконання"
|
||||
|
||||
msgid "Ctrl+Alt+Del"
|
||||
msgstr ""
|
||||
|
||||
msgid "Press Ctrl+Alt+Del"
|
||||
msgstr "Натиснути Ctrl+Alt+Del"
|
||||
|
||||
@@ -1005,6 +1068,267 @@ msgstr "Натиснути Ctrl+Alt+Esc"
|
||||
msgid "Hard reset"
|
||||
msgstr "Холодне перезавантаження"
|
||||
|
||||
msgid "Force shutdown"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start"
|
||||
msgstr ""
|
||||
|
||||
msgid "Not running"
|
||||
msgstr ""
|
||||
|
||||
msgid "Running"
|
||||
msgstr ""
|
||||
|
||||
msgid "Paused"
|
||||
msgstr ""
|
||||
|
||||
msgid "Paused (Waiting)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Powered Off"
|
||||
msgstr ""
|
||||
|
||||
msgid "waiting"
|
||||
msgstr ""
|
||||
|
||||
msgid "total"
|
||||
msgstr ""
|
||||
|
||||
msgid "System Directory:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Choose directory"
|
||||
msgstr ""
|
||||
|
||||
msgid "Choose configuration file"
|
||||
msgstr ""
|
||||
|
||||
msgid "86Box configuration files (86box.cfg)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Configuration read failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to open the selected configuration file for reading: %1"
|
||||
msgstr ""
|
||||
|
||||
msgid "Use regular expressions in search box"
|
||||
msgstr ""
|
||||
|
||||
msgid "%1 machine(s) are currently active. Are you sure you want to exit the VM manager anyway?"
|
||||
msgstr ""
|
||||
|
||||
msgid "Add new system wizard"
|
||||
msgstr ""
|
||||
|
||||
msgid "Introduction"
|
||||
msgstr ""
|
||||
|
||||
msgid "This will help you add a new system to 86Box."
|
||||
msgstr ""
|
||||
|
||||
msgid "New configuration"
|
||||
msgstr ""
|
||||
|
||||
msgid "Complete"
|
||||
msgstr ""
|
||||
|
||||
msgid "The wizard will now launch the configuration for the new system."
|
||||
msgstr ""
|
||||
|
||||
msgid "Use existing configuration"
|
||||
msgstr ""
|
||||
|
||||
msgid "Type some notes here"
|
||||
msgstr ""
|
||||
|
||||
msgid "Paste the contents of the existing configuration file into the box below."
|
||||
msgstr ""
|
||||
|
||||
msgid "Load configuration from file"
|
||||
msgstr ""
|
||||
|
||||
msgid "System Name"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name:"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name cannot contain certain characters"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name already exists"
|
||||
msgstr ""
|
||||
|
||||
msgid "Please enter a directory for the system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Directory does not exist"
|
||||
msgstr ""
|
||||
|
||||
msgid "A new directory for the system will be created in the selected directory above"
|
||||
msgstr ""
|
||||
|
||||
msgid "System location:"
|
||||
msgstr ""
|
||||
|
||||
msgid "System Location"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name and location"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter the name of the system and choose the location"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter the name of the system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Please enter a system name"
|
||||
msgstr ""
|
||||
|
||||
msgid "Display Name (optional)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Display name:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Set display name"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter the new display name (blank to reset)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Change &display name..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Context Menu"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Open folder..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Open &printer tray..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Set &icon..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Select an icon"
|
||||
msgstr ""
|
||||
|
||||
msgid "C&lone..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Virtual machine \"%1\" (%2) will be cloned into:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Directory %1 already exists"
|
||||
msgstr ""
|
||||
|
||||
msgid "You cannot use the following characters in the name: %1"
|
||||
msgstr ""
|
||||
|
||||
msgid "Clone"
|
||||
msgstr ""
|
||||
|
||||
msgid "Failed to create directory for cloned VM"
|
||||
msgstr ""
|
||||
|
||||
msgid "Failed to clone VM."
|
||||
msgstr ""
|
||||
|
||||
msgid "Directory in use"
|
||||
msgstr ""
|
||||
|
||||
msgid "The selected directory is already in use. Please select a different directory."
|
||||
msgstr ""
|
||||
|
||||
msgid "Create directory failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to create the directory for the new system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Configuration write failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to open the configuration file at %1 for writing"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error adding system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Abnormal program termination while creating new system: exit code %1, exit status %2.\n\nThe system will not be added."
|
||||
msgstr ""
|
||||
|
||||
msgid "Remove directory failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Some files in the machine's directory were unable to be deleted. Please delete them manually."
|
||||
msgstr ""
|
||||
|
||||
msgid "Build"
|
||||
msgstr ""
|
||||
|
||||
msgid "Version"
|
||||
msgstr ""
|
||||
|
||||
msgid "<b>An update to 86Box is available!</b>"
|
||||
msgstr ""
|
||||
|
||||
msgid "Warning"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Kill"
|
||||
msgstr ""
|
||||
|
||||
msgid "Killing a virtual machine can cause data loss. Only do this if the 86Box process gets stuck.\n\nDo you really wish to kill the virtual machine \"%1\"?"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Delete"
|
||||
msgstr ""
|
||||
|
||||
msgid "Do you really want to delete the virtual machine \"%1\" and all its files? This action cannot be undone!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Show &config file"
|
||||
msgstr ""
|
||||
|
||||
msgid "No screenshot"
|
||||
msgstr ""
|
||||
|
||||
msgid "Search"
|
||||
msgstr ""
|
||||
|
||||
msgid "Searching for VMs..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Found %1"
|
||||
msgstr ""
|
||||
|
||||
msgid "System"
|
||||
msgstr ""
|
||||
|
||||
msgid "Storage"
|
||||
msgstr ""
|
||||
|
||||
msgid "Disk %1: "
|
||||
msgstr ""
|
||||
|
||||
msgid "No disks"
|
||||
msgstr ""
|
||||
|
||||
msgid "Audio"
|
||||
msgstr ""
|
||||
|
||||
msgid "Audio:"
|
||||
msgstr ""
|
||||
|
||||
msgid "ACPI shutdown"
|
||||
msgstr "Сигнал завершення ACPI"
|
||||
|
||||
@@ -1350,6 +1674,9 @@ msgstr "Невідома шина"
|
||||
msgid "Null Driver"
|
||||
msgstr "Нульовий драйвер"
|
||||
|
||||
msgid "NIC:"
|
||||
msgstr ""
|
||||
|
||||
msgid "NIC %1 (%2) %3"
|
||||
msgstr "NIC %1 (%2) %3"
|
||||
|
||||
@@ -1419,6 +1746,9 @@ msgstr "Ніяких пристроїв MCA."
|
||||
msgid "MiB"
|
||||
msgstr "МіБ"
|
||||
|
||||
msgid "GiB"
|
||||
msgstr ""
|
||||
|
||||
msgid "Network Card #1"
|
||||
msgstr "Мережева карта 1"
|
||||
|
||||
@@ -2226,6 +2556,9 @@ msgstr "Кольоровий неінтерлейсний"
|
||||
msgid "3Dfx Voodoo Graphics"
|
||||
msgstr "Прискорювач 3Dfx Voodoo"
|
||||
|
||||
msgid "3Dfx Voodoo 2"
|
||||
msgstr ""
|
||||
|
||||
msgid "Obsidian SB50 + Amethyst (2 TMUs)"
|
||||
msgstr "Obsidian SB50 + Amethyst (2 TMU)"
|
||||
|
||||
@@ -2493,6 +2826,84 @@ msgstr ""
|
||||
msgid "Hostname:"
|
||||
msgstr ""
|
||||
|
||||
msgid "ISA RTC"
|
||||
msgstr ""
|
||||
|
||||
msgid "ISA RAM"
|
||||
msgstr ""
|
||||
|
||||
msgid "ISA ROM"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Wipe NVRAM"
|
||||
msgstr ""
|
||||
|
||||
msgid "This will delete all NVRAM (and related) files of the virtual machine located in the \"nvr\" subdirectory. You'll have to reconfigure the BIOS (and possibly other devices inside the VM) settings again if applicable.\n\nAre you sure you want to wipe all NVRAM contents of the virtual machine \"%1\"?"
|
||||
msgstr ""
|
||||
|
||||
msgid "Success"
|
||||
msgstr ""
|
||||
|
||||
msgid "Successfully wiped the NVRAM contents of the virtual machine \"%1\""
|
||||
msgstr ""
|
||||
|
||||
msgid "An error occured trying to wipe the NVRAM contents of the virtual machine \"%1\""
|
||||
msgstr ""
|
||||
|
||||
msgid "%1 VM Manager"
|
||||
msgstr ""
|
||||
|
||||
msgid "%n disk(s)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unknown Status"
|
||||
msgstr ""
|
||||
|
||||
msgid "No Machines Found!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Check for updates on startup"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to determine release information"
|
||||
msgstr ""
|
||||
|
||||
msgid "There was an error checking for updates:\n\n%1\n\nPlease try again later."
|
||||
msgstr ""
|
||||
|
||||
msgid "Update check complete"
|
||||
msgstr ""
|
||||
|
||||
msgid "You are running the latest %1 version of 86Box: %2"
|
||||
msgstr ""
|
||||
|
||||
msgid "version"
|
||||
msgstr ""
|
||||
|
||||
msgid "build"
|
||||
msgstr ""
|
||||
|
||||
msgid "You are currently running %1 <b>%2</b>. "
|
||||
msgstr ""
|
||||
|
||||
msgid "<b>%1 %2</b> is now available. %3Would you like to visit the download page?"
|
||||
msgstr ""
|
||||
|
||||
msgid "Visit download page"
|
||||
msgstr ""
|
||||
|
||||
msgid "Update check"
|
||||
msgstr ""
|
||||
|
||||
msgid "Checking for updates.."
|
||||
msgstr ""
|
||||
|
||||
msgid "86Box Update"
|
||||
msgstr ""
|
||||
|
||||
msgid "Release notes:"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "HD Controller:"
|
||||
#~ msgstr "Контролер HD:"
|
||||
|
||||
|
||||
@@ -27,6 +27,9 @@ msgstr "Ctrl+Alt+&Esc"
|
||||
msgid "&Pause"
|
||||
msgstr "Tạm &dừng"
|
||||
|
||||
msgid "Pause"
|
||||
msgstr ""
|
||||
|
||||
msgid "Re&sume"
|
||||
msgstr ""
|
||||
|
||||
@@ -192,6 +195,9 @@ msgstr "&Công cụ"
|
||||
msgid "&Settings..."
|
||||
msgstr "&Cài đặt..."
|
||||
|
||||
msgid "Settings..."
|
||||
msgstr ""
|
||||
|
||||
msgid "&Update status bar icons"
|
||||
msgstr "Cậ&p nhật biểu tượng thanh trạng thái"
|
||||
|
||||
@@ -357,6 +363,9 @@ msgstr "Mẫu máy:"
|
||||
msgid "Configure"
|
||||
msgstr "Tinh chỉnh"
|
||||
|
||||
msgid "CPU:"
|
||||
msgstr ""
|
||||
|
||||
msgid "CPU type:"
|
||||
msgstr "Loại CPU:"
|
||||
|
||||
@@ -417,15 +426,27 @@ msgstr "Đồ họa IBM 8514/A"
|
||||
msgid "XGA Graphics"
|
||||
msgstr "Đồ họa XGA"
|
||||
|
||||
msgid "IBM PS/55 Display Adapter Graphics"
|
||||
msgstr ""
|
||||
|
||||
msgid "Keyboard:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Keyboard"
|
||||
msgstr ""
|
||||
|
||||
msgid "Mouse:"
|
||||
msgstr "Chuột:"
|
||||
|
||||
msgid "Mouse"
|
||||
msgstr ""
|
||||
|
||||
msgid "Joystick:"
|
||||
msgstr "Cần điều khiển:"
|
||||
|
||||
msgid "Joystick"
|
||||
msgstr ""
|
||||
|
||||
msgid "Joystick 1..."
|
||||
msgstr "Cần điều khiển 1..."
|
||||
|
||||
@@ -456,6 +477,9 @@ msgstr "Thiết bị MIDI out:"
|
||||
msgid "MIDI In Device:"
|
||||
msgstr "Thiết bị MIDI in:"
|
||||
|
||||
msgid "MIDI Out:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Standalone MPU-401"
|
||||
msgstr "MPU-401 độc lập"
|
||||
|
||||
@@ -615,6 +639,12 @@ msgstr "Ổ đĩa CD-ROM:"
|
||||
msgid "MO drives:"
|
||||
msgstr "Ổ đĩa MO:"
|
||||
|
||||
msgid "MO:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Removable disks:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Removable disk drives:"
|
||||
msgstr ""
|
||||
|
||||
@@ -741,12 +771,30 @@ msgstr "Nối mạng"
|
||||
msgid "Ports (COM & LPT)"
|
||||
msgstr "Cổng (COM và LPT)"
|
||||
|
||||
msgid "Ports"
|
||||
msgstr ""
|
||||
|
||||
msgid "Serial ports"
|
||||
msgstr ""
|
||||
|
||||
msgid "Parallel ports"
|
||||
msgstr ""
|
||||
|
||||
msgid "Storage controllers"
|
||||
msgstr "Vi điều khiển bộ nhớ ổ cứng"
|
||||
|
||||
msgid "Hard disks"
|
||||
msgstr "Ổ cứng"
|
||||
|
||||
msgid "Disks:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Floppy:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Controllers:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Floppy & CD-ROM drives"
|
||||
msgstr "Ổ (đĩa) mềm và CD-ROM"
|
||||
|
||||
@@ -756,6 +804,9 @@ msgstr "Thiết bị tháo rời được khác"
|
||||
msgid "Other peripherals"
|
||||
msgstr "Thiết bị ngoại vi khác"
|
||||
|
||||
msgid "Other devices"
|
||||
msgstr ""
|
||||
|
||||
msgid "Click to capture mouse"
|
||||
msgstr "Nhấp vào khung hình để 'nhốt' chuột vào"
|
||||
|
||||
@@ -900,6 +951,15 @@ msgstr "Chào mừng đến 86Box!"
|
||||
msgid "Internal device"
|
||||
msgstr "Thiết bị nội bộ"
|
||||
|
||||
msgid "&File"
|
||||
msgstr ""
|
||||
|
||||
msgid "&New machine..."
|
||||
msgstr ""
|
||||
|
||||
msgid "&Check for updates..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Exit"
|
||||
msgstr "Thoát"
|
||||
|
||||
@@ -996,6 +1056,9 @@ msgstr "Tiếp tục chạy thực thi"
|
||||
msgid "Pause execution"
|
||||
msgstr "Tạm dừng thực thi"
|
||||
|
||||
msgid "Ctrl+Alt+Del"
|
||||
msgstr ""
|
||||
|
||||
msgid "Press Ctrl+Alt+Del"
|
||||
msgstr "Nhấn Ctrl+Alt+Del"
|
||||
|
||||
@@ -1005,6 +1068,267 @@ msgstr "Nhấn Ctrl+Alt+Esc"
|
||||
msgid "Hard reset"
|
||||
msgstr "Buộc khởi động lại"
|
||||
|
||||
msgid "Force shutdown"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start"
|
||||
msgstr ""
|
||||
|
||||
msgid "Not running"
|
||||
msgstr ""
|
||||
|
||||
msgid "Running"
|
||||
msgstr ""
|
||||
|
||||
msgid "Paused"
|
||||
msgstr ""
|
||||
|
||||
msgid "Paused (Waiting)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Powered Off"
|
||||
msgstr ""
|
||||
|
||||
msgid "waiting"
|
||||
msgstr ""
|
||||
|
||||
msgid "total"
|
||||
msgstr ""
|
||||
|
||||
msgid "System Directory:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Choose directory"
|
||||
msgstr ""
|
||||
|
||||
msgid "Choose configuration file"
|
||||
msgstr ""
|
||||
|
||||
msgid "86Box configuration files (86box.cfg)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Configuration read failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to open the selected configuration file for reading: %1"
|
||||
msgstr ""
|
||||
|
||||
msgid "Use regular expressions in search box"
|
||||
msgstr ""
|
||||
|
||||
msgid "%1 machine(s) are currently active. Are you sure you want to exit the VM manager anyway?"
|
||||
msgstr ""
|
||||
|
||||
msgid "Add new system wizard"
|
||||
msgstr ""
|
||||
|
||||
msgid "Introduction"
|
||||
msgstr ""
|
||||
|
||||
msgid "This will help you add a new system to 86Box."
|
||||
msgstr ""
|
||||
|
||||
msgid "New configuration"
|
||||
msgstr ""
|
||||
|
||||
msgid "Complete"
|
||||
msgstr ""
|
||||
|
||||
msgid "The wizard will now launch the configuration for the new system."
|
||||
msgstr ""
|
||||
|
||||
msgid "Use existing configuration"
|
||||
msgstr ""
|
||||
|
||||
msgid "Type some notes here"
|
||||
msgstr ""
|
||||
|
||||
msgid "Paste the contents of the existing configuration file into the box below."
|
||||
msgstr ""
|
||||
|
||||
msgid "Load configuration from file"
|
||||
msgstr ""
|
||||
|
||||
msgid "System Name"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name:"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name cannot contain certain characters"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name already exists"
|
||||
msgstr ""
|
||||
|
||||
msgid "Please enter a directory for the system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Directory does not exist"
|
||||
msgstr ""
|
||||
|
||||
msgid "A new directory for the system will be created in the selected directory above"
|
||||
msgstr ""
|
||||
|
||||
msgid "System location:"
|
||||
msgstr ""
|
||||
|
||||
msgid "System Location"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name and location"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter the name of the system and choose the location"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter the name of the system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Please enter a system name"
|
||||
msgstr ""
|
||||
|
||||
msgid "Display Name (optional)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Display name:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Set display name"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter the new display name (blank to reset)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Change &display name..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Context Menu"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Open folder..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Open &printer tray..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Set &icon..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Select an icon"
|
||||
msgstr ""
|
||||
|
||||
msgid "C&lone..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Virtual machine \"%1\" (%2) will be cloned into:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Directory %1 already exists"
|
||||
msgstr ""
|
||||
|
||||
msgid "You cannot use the following characters in the name: %1"
|
||||
msgstr ""
|
||||
|
||||
msgid "Clone"
|
||||
msgstr ""
|
||||
|
||||
msgid "Failed to create directory for cloned VM"
|
||||
msgstr ""
|
||||
|
||||
msgid "Failed to clone VM."
|
||||
msgstr ""
|
||||
|
||||
msgid "Directory in use"
|
||||
msgstr ""
|
||||
|
||||
msgid "The selected directory is already in use. Please select a different directory."
|
||||
msgstr ""
|
||||
|
||||
msgid "Create directory failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to create the directory for the new system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Configuration write failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to open the configuration file at %1 for writing"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error adding system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Abnormal program termination while creating new system: exit code %1, exit status %2.\n\nThe system will not be added."
|
||||
msgstr ""
|
||||
|
||||
msgid "Remove directory failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Some files in the machine's directory were unable to be deleted. Please delete them manually."
|
||||
msgstr ""
|
||||
|
||||
msgid "Build"
|
||||
msgstr ""
|
||||
|
||||
msgid "Version"
|
||||
msgstr ""
|
||||
|
||||
msgid "<b>An update to 86Box is available!</b>"
|
||||
msgstr ""
|
||||
|
||||
msgid "Warning"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Kill"
|
||||
msgstr ""
|
||||
|
||||
msgid "Killing a virtual machine can cause data loss. Only do this if the 86Box process gets stuck.\n\nDo you really wish to kill the virtual machine \"%1\"?"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Delete"
|
||||
msgstr ""
|
||||
|
||||
msgid "Do you really want to delete the virtual machine \"%1\" and all its files? This action cannot be undone!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Show &config file"
|
||||
msgstr ""
|
||||
|
||||
msgid "No screenshot"
|
||||
msgstr ""
|
||||
|
||||
msgid "Search"
|
||||
msgstr ""
|
||||
|
||||
msgid "Searching for VMs..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Found %1"
|
||||
msgstr ""
|
||||
|
||||
msgid "System"
|
||||
msgstr ""
|
||||
|
||||
msgid "Storage"
|
||||
msgstr ""
|
||||
|
||||
msgid "Disk %1: "
|
||||
msgstr ""
|
||||
|
||||
msgid "No disks"
|
||||
msgstr ""
|
||||
|
||||
msgid "Audio"
|
||||
msgstr ""
|
||||
|
||||
msgid "Audio:"
|
||||
msgstr ""
|
||||
|
||||
msgid "ACPI shutdown"
|
||||
msgstr "Tắt máy theo ACPI"
|
||||
|
||||
@@ -1347,6 +1671,9 @@ msgstr "Bus không xác định"
|
||||
msgid "Null Driver"
|
||||
msgstr "Trình điều khiển NULL"
|
||||
|
||||
msgid "NIC:"
|
||||
msgstr ""
|
||||
|
||||
msgid "NIC %1 (%2) %3"
|
||||
msgstr "NIC %1 (%2) %3"
|
||||
|
||||
@@ -1416,6 +1743,9 @@ msgstr "Không có thiết bị MCA."
|
||||
msgid "MiB"
|
||||
msgstr "MiB"
|
||||
|
||||
msgid "GiB"
|
||||
msgstr ""
|
||||
|
||||
msgid "Network Card #1"
|
||||
msgstr "Thẻ mạng 1"
|
||||
|
||||
@@ -2223,6 +2553,9 @@ msgstr "Màu sắc không xen kẽ"
|
||||
msgid "3Dfx Voodoo Graphics"
|
||||
msgstr "Đồ họa 3Dfx Voodoo"
|
||||
|
||||
msgid "3Dfx Voodoo 2"
|
||||
msgstr ""
|
||||
|
||||
msgid "Obsidian SB50 + Amethyst (2 TMUs)"
|
||||
msgstr "Obsidian SB50 + Amethyst (2 TMU)"
|
||||
|
||||
@@ -2490,6 +2823,84 @@ msgstr ""
|
||||
msgid "Hostname:"
|
||||
msgstr ""
|
||||
|
||||
msgid "ISA RTC"
|
||||
msgstr ""
|
||||
|
||||
msgid "ISA RAM"
|
||||
msgstr ""
|
||||
|
||||
msgid "ISA ROM"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Wipe NVRAM"
|
||||
msgstr ""
|
||||
|
||||
msgid "This will delete all NVRAM (and related) files of the virtual machine located in the \"nvr\" subdirectory. You'll have to reconfigure the BIOS (and possibly other devices inside the VM) settings again if applicable.\n\nAre you sure you want to wipe all NVRAM contents of the virtual machine \"%1\"?"
|
||||
msgstr ""
|
||||
|
||||
msgid "Success"
|
||||
msgstr ""
|
||||
|
||||
msgid "Successfully wiped the NVRAM contents of the virtual machine \"%1\""
|
||||
msgstr ""
|
||||
|
||||
msgid "An error occured trying to wipe the NVRAM contents of the virtual machine \"%1\""
|
||||
msgstr ""
|
||||
|
||||
msgid "%1 VM Manager"
|
||||
msgstr ""
|
||||
|
||||
msgid "%n disk(s)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unknown Status"
|
||||
msgstr ""
|
||||
|
||||
msgid "No Machines Found!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Check for updates on startup"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to determine release information"
|
||||
msgstr ""
|
||||
|
||||
msgid "There was an error checking for updates:\n\n%1\n\nPlease try again later."
|
||||
msgstr ""
|
||||
|
||||
msgid "Update check complete"
|
||||
msgstr ""
|
||||
|
||||
msgid "You are running the latest %1 version of 86Box: %2"
|
||||
msgstr ""
|
||||
|
||||
msgid "version"
|
||||
msgstr ""
|
||||
|
||||
msgid "build"
|
||||
msgstr ""
|
||||
|
||||
msgid "You are currently running %1 <b>%2</b>. "
|
||||
msgstr ""
|
||||
|
||||
msgid "<b>%1 %2</b> is now available. %3Would you like to visit the download page?"
|
||||
msgstr ""
|
||||
|
||||
msgid "Visit download page"
|
||||
msgstr ""
|
||||
|
||||
msgid "Update check"
|
||||
msgstr ""
|
||||
|
||||
msgid "Checking for updates.."
|
||||
msgstr ""
|
||||
|
||||
msgid "86Box Update"
|
||||
msgstr ""
|
||||
|
||||
msgid "Release notes:"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "HD Controller:"
|
||||
#~ msgstr "Bộ điều khiển ổ cứng:"
|
||||
|
||||
|
||||
@@ -27,6 +27,9 @@ msgstr "Ctrl+Alt+Esc(&E)"
|
||||
msgid "&Pause"
|
||||
msgstr "暂停(&P)"
|
||||
|
||||
msgid "Pause"
|
||||
msgstr ""
|
||||
|
||||
msgid "Re&sume"
|
||||
msgstr ""
|
||||
|
||||
@@ -192,6 +195,9 @@ msgstr "工具(&T)"
|
||||
msgid "&Settings..."
|
||||
msgstr "设置(&S)..."
|
||||
|
||||
msgid "Settings..."
|
||||
msgstr ""
|
||||
|
||||
msgid "&Update status bar icons"
|
||||
msgstr "更新状态栏图标(&U)"
|
||||
|
||||
@@ -357,6 +363,9 @@ msgstr "机型:"
|
||||
msgid "Configure"
|
||||
msgstr "配置"
|
||||
|
||||
msgid "CPU:"
|
||||
msgstr ""
|
||||
|
||||
msgid "CPU type:"
|
||||
msgstr "CPU 类型:"
|
||||
|
||||
@@ -417,15 +426,27 @@ msgstr "IBM 8514/A 图形"
|
||||
msgid "XGA Graphics"
|
||||
msgstr "XGA 图形"
|
||||
|
||||
msgid "IBM PS/55 Display Adapter Graphics"
|
||||
msgstr ""
|
||||
|
||||
msgid "Keyboard:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Keyboard"
|
||||
msgstr ""
|
||||
|
||||
msgid "Mouse:"
|
||||
msgstr "鼠标:"
|
||||
|
||||
msgid "Mouse"
|
||||
msgstr ""
|
||||
|
||||
msgid "Joystick:"
|
||||
msgstr "操纵杆:"
|
||||
|
||||
msgid "Joystick"
|
||||
msgstr ""
|
||||
|
||||
msgid "Joystick 1..."
|
||||
msgstr "操纵杆 1..."
|
||||
|
||||
@@ -456,6 +477,9 @@ msgstr "MIDI 输出设备:"
|
||||
msgid "MIDI In Device:"
|
||||
msgstr "MIDI 输入设备:"
|
||||
|
||||
msgid "MIDI Out:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Standalone MPU-401"
|
||||
msgstr "独立 MPU-401"
|
||||
|
||||
@@ -615,6 +639,12 @@ msgstr "光盘驱动器:"
|
||||
msgid "MO drives:"
|
||||
msgstr "磁光盘驱动器:"
|
||||
|
||||
msgid "MO:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Removable disks:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Removable disk drives:"
|
||||
msgstr ""
|
||||
|
||||
@@ -741,12 +771,30 @@ msgstr "网络"
|
||||
msgid "Ports (COM & LPT)"
|
||||
msgstr "端口 (COM 和 LPT)"
|
||||
|
||||
msgid "Ports"
|
||||
msgstr ""
|
||||
|
||||
msgid "Serial ports"
|
||||
msgstr ""
|
||||
|
||||
msgid "Parallel ports"
|
||||
msgstr ""
|
||||
|
||||
msgid "Storage controllers"
|
||||
msgstr "存储控制器"
|
||||
|
||||
msgid "Hard disks"
|
||||
msgstr "硬盘"
|
||||
|
||||
msgid "Disks:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Floppy:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Controllers:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Floppy & CD-ROM drives"
|
||||
msgstr "软盘/光盘驱动器"
|
||||
|
||||
@@ -756,6 +804,9 @@ msgstr "其他可移动设备"
|
||||
msgid "Other peripherals"
|
||||
msgstr "其他外围设备"
|
||||
|
||||
msgid "Other devices"
|
||||
msgstr ""
|
||||
|
||||
msgid "Click to capture mouse"
|
||||
msgstr "单击窗口捕捉鼠标"
|
||||
|
||||
@@ -900,6 +951,15 @@ msgstr "欢迎使用 86Box!"
|
||||
msgid "Internal device"
|
||||
msgstr "内部设备"
|
||||
|
||||
msgid "&File"
|
||||
msgstr ""
|
||||
|
||||
msgid "&New machine..."
|
||||
msgstr ""
|
||||
|
||||
msgid "&Check for updates..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Exit"
|
||||
msgstr "退出"
|
||||
|
||||
@@ -996,6 +1056,9 @@ msgstr "恢复执行"
|
||||
msgid "Pause execution"
|
||||
msgstr "暂停执行"
|
||||
|
||||
msgid "Ctrl+Alt+Del"
|
||||
msgstr ""
|
||||
|
||||
msgid "Press Ctrl+Alt+Del"
|
||||
msgstr "按下 Ctrl+Alt+Del"
|
||||
|
||||
@@ -1005,6 +1068,267 @@ msgstr "按下 Ctrl+Alt+Esc"
|
||||
msgid "Hard reset"
|
||||
msgstr "硬重置"
|
||||
|
||||
msgid "Force shutdown"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start"
|
||||
msgstr ""
|
||||
|
||||
msgid "Not running"
|
||||
msgstr ""
|
||||
|
||||
msgid "Running"
|
||||
msgstr ""
|
||||
|
||||
msgid "Paused"
|
||||
msgstr ""
|
||||
|
||||
msgid "Paused (Waiting)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Powered Off"
|
||||
msgstr ""
|
||||
|
||||
msgid "waiting"
|
||||
msgstr ""
|
||||
|
||||
msgid "total"
|
||||
msgstr ""
|
||||
|
||||
msgid "System Directory:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Choose directory"
|
||||
msgstr ""
|
||||
|
||||
msgid "Choose configuration file"
|
||||
msgstr ""
|
||||
|
||||
msgid "86Box configuration files (86box.cfg)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Configuration read failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to open the selected configuration file for reading: %1"
|
||||
msgstr ""
|
||||
|
||||
msgid "Use regular expressions in search box"
|
||||
msgstr ""
|
||||
|
||||
msgid "%1 machine(s) are currently active. Are you sure you want to exit the VM manager anyway?"
|
||||
msgstr ""
|
||||
|
||||
msgid "Add new system wizard"
|
||||
msgstr ""
|
||||
|
||||
msgid "Introduction"
|
||||
msgstr ""
|
||||
|
||||
msgid "This will help you add a new system to 86Box."
|
||||
msgstr ""
|
||||
|
||||
msgid "New configuration"
|
||||
msgstr ""
|
||||
|
||||
msgid "Complete"
|
||||
msgstr ""
|
||||
|
||||
msgid "The wizard will now launch the configuration for the new system."
|
||||
msgstr ""
|
||||
|
||||
msgid "Use existing configuration"
|
||||
msgstr ""
|
||||
|
||||
msgid "Type some notes here"
|
||||
msgstr ""
|
||||
|
||||
msgid "Paste the contents of the existing configuration file into the box below."
|
||||
msgstr ""
|
||||
|
||||
msgid "Load configuration from file"
|
||||
msgstr ""
|
||||
|
||||
msgid "System Name"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name:"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name cannot contain certain characters"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name already exists"
|
||||
msgstr ""
|
||||
|
||||
msgid "Please enter a directory for the system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Directory does not exist"
|
||||
msgstr ""
|
||||
|
||||
msgid "A new directory for the system will be created in the selected directory above"
|
||||
msgstr ""
|
||||
|
||||
msgid "System location:"
|
||||
msgstr ""
|
||||
|
||||
msgid "System Location"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name and location"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter the name of the system and choose the location"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter the name of the system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Please enter a system name"
|
||||
msgstr ""
|
||||
|
||||
msgid "Display Name (optional)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Display name:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Set display name"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter the new display name (blank to reset)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Change &display name..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Context Menu"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Open folder..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Open &printer tray..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Set &icon..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Select an icon"
|
||||
msgstr ""
|
||||
|
||||
msgid "C&lone..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Virtual machine \"%1\" (%2) will be cloned into:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Directory %1 already exists"
|
||||
msgstr ""
|
||||
|
||||
msgid "You cannot use the following characters in the name: %1"
|
||||
msgstr ""
|
||||
|
||||
msgid "Clone"
|
||||
msgstr ""
|
||||
|
||||
msgid "Failed to create directory for cloned VM"
|
||||
msgstr ""
|
||||
|
||||
msgid "Failed to clone VM."
|
||||
msgstr ""
|
||||
|
||||
msgid "Directory in use"
|
||||
msgstr ""
|
||||
|
||||
msgid "The selected directory is already in use. Please select a different directory."
|
||||
msgstr ""
|
||||
|
||||
msgid "Create directory failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to create the directory for the new system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Configuration write failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to open the configuration file at %1 for writing"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error adding system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Abnormal program termination while creating new system: exit code %1, exit status %2.\n\nThe system will not be added."
|
||||
msgstr ""
|
||||
|
||||
msgid "Remove directory failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Some files in the machine's directory were unable to be deleted. Please delete them manually."
|
||||
msgstr ""
|
||||
|
||||
msgid "Build"
|
||||
msgstr ""
|
||||
|
||||
msgid "Version"
|
||||
msgstr ""
|
||||
|
||||
msgid "<b>An update to 86Box is available!</b>"
|
||||
msgstr ""
|
||||
|
||||
msgid "Warning"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Kill"
|
||||
msgstr ""
|
||||
|
||||
msgid "Killing a virtual machine can cause data loss. Only do this if the 86Box process gets stuck.\n\nDo you really wish to kill the virtual machine \"%1\"?"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Delete"
|
||||
msgstr ""
|
||||
|
||||
msgid "Do you really want to delete the virtual machine \"%1\" and all its files? This action cannot be undone!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Show &config file"
|
||||
msgstr ""
|
||||
|
||||
msgid "No screenshot"
|
||||
msgstr ""
|
||||
|
||||
msgid "Search"
|
||||
msgstr ""
|
||||
|
||||
msgid "Searching for VMs..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Found %1"
|
||||
msgstr ""
|
||||
|
||||
msgid "System"
|
||||
msgstr ""
|
||||
|
||||
msgid "Storage"
|
||||
msgstr ""
|
||||
|
||||
msgid "Disk %1: "
|
||||
msgstr ""
|
||||
|
||||
msgid "No disks"
|
||||
msgstr ""
|
||||
|
||||
msgid "Audio"
|
||||
msgstr ""
|
||||
|
||||
msgid "Audio:"
|
||||
msgstr ""
|
||||
|
||||
msgid "ACPI shutdown"
|
||||
msgstr "ACPI 关机"
|
||||
|
||||
@@ -1347,6 +1671,9 @@ msgstr "未知总线"
|
||||
msgid "Null Driver"
|
||||
msgstr "空驱动程序"
|
||||
|
||||
msgid "NIC:"
|
||||
msgstr ""
|
||||
|
||||
msgid "NIC %1 (%2) %3"
|
||||
msgstr "NIC %1 (%2) %3"
|
||||
|
||||
@@ -1416,6 +1743,9 @@ msgstr "无 MCA 设备。"
|
||||
msgid "MiB"
|
||||
msgstr "兆字节"
|
||||
|
||||
msgid "GiB"
|
||||
msgstr ""
|
||||
|
||||
msgid "Network Card #1"
|
||||
msgstr "网卡 1"
|
||||
|
||||
@@ -2223,6 +2553,9 @@ msgstr "彩色非隔行扫描"
|
||||
msgid "3Dfx Voodoo Graphics"
|
||||
msgstr "3Dfx Voodoo 图形"
|
||||
|
||||
msgid "3Dfx Voodoo 2"
|
||||
msgstr ""
|
||||
|
||||
msgid "Obsidian SB50 + Amethyst (2 TMUs)"
|
||||
msgstr "Obsidian SB50 + Amethyst(2 个 TMU)"
|
||||
|
||||
@@ -2490,6 +2823,84 @@ msgstr ""
|
||||
msgid "Hostname:"
|
||||
msgstr ""
|
||||
|
||||
msgid "ISA RTC"
|
||||
msgstr ""
|
||||
|
||||
msgid "ISA RAM"
|
||||
msgstr ""
|
||||
|
||||
msgid "ISA ROM"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Wipe NVRAM"
|
||||
msgstr ""
|
||||
|
||||
msgid "This will delete all NVRAM (and related) files of the virtual machine located in the \"nvr\" subdirectory. You'll have to reconfigure the BIOS (and possibly other devices inside the VM) settings again if applicable.\n\nAre you sure you want to wipe all NVRAM contents of the virtual machine \"%1\"?"
|
||||
msgstr ""
|
||||
|
||||
msgid "Success"
|
||||
msgstr ""
|
||||
|
||||
msgid "Successfully wiped the NVRAM contents of the virtual machine \"%1\""
|
||||
msgstr ""
|
||||
|
||||
msgid "An error occured trying to wipe the NVRAM contents of the virtual machine \"%1\""
|
||||
msgstr ""
|
||||
|
||||
msgid "%1 VM Manager"
|
||||
msgstr ""
|
||||
|
||||
msgid "%n disk(s)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unknown Status"
|
||||
msgstr ""
|
||||
|
||||
msgid "No Machines Found!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Check for updates on startup"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to determine release information"
|
||||
msgstr ""
|
||||
|
||||
msgid "There was an error checking for updates:\n\n%1\n\nPlease try again later."
|
||||
msgstr ""
|
||||
|
||||
msgid "Update check complete"
|
||||
msgstr ""
|
||||
|
||||
msgid "You are running the latest %1 version of 86Box: %2"
|
||||
msgstr ""
|
||||
|
||||
msgid "version"
|
||||
msgstr ""
|
||||
|
||||
msgid "build"
|
||||
msgstr ""
|
||||
|
||||
msgid "You are currently running %1 <b>%2</b>. "
|
||||
msgstr ""
|
||||
|
||||
msgid "<b>%1 %2</b> is now available. %3Would you like to visit the download page?"
|
||||
msgstr ""
|
||||
|
||||
msgid "Visit download page"
|
||||
msgstr ""
|
||||
|
||||
msgid "Update check"
|
||||
msgstr ""
|
||||
|
||||
msgid "Checking for updates.."
|
||||
msgstr ""
|
||||
|
||||
msgid "86Box Update"
|
||||
msgstr ""
|
||||
|
||||
msgid "Release notes:"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "HD Controller:"
|
||||
#~ msgstr "硬盘控制器:"
|
||||
|
||||
|
||||
@@ -27,6 +27,9 @@ msgstr "Ctrl+Alt+Esc(&E)"
|
||||
msgid "&Pause"
|
||||
msgstr "暫停(&P)"
|
||||
|
||||
msgid "Pause"
|
||||
msgstr ""
|
||||
|
||||
msgid "Re&sume"
|
||||
msgstr ""
|
||||
|
||||
@@ -192,6 +195,9 @@ msgstr "工具(&T)"
|
||||
msgid "&Settings..."
|
||||
msgstr "設定(&S)..."
|
||||
|
||||
msgid "Settings..."
|
||||
msgstr ""
|
||||
|
||||
msgid "&Update status bar icons"
|
||||
msgstr "更新狀態列圖示(&U)"
|
||||
|
||||
@@ -357,6 +363,9 @@ msgstr "機型:"
|
||||
msgid "Configure"
|
||||
msgstr "設定"
|
||||
|
||||
msgid "CPU:"
|
||||
msgstr ""
|
||||
|
||||
msgid "CPU type:"
|
||||
msgstr "CPU 類型:"
|
||||
|
||||
@@ -417,15 +426,27 @@ msgstr "IBM 8514/A Graphics"
|
||||
msgid "XGA Graphics"
|
||||
msgstr "XGA Graphics"
|
||||
|
||||
msgid "IBM PS/55 Display Adapter Graphics"
|
||||
msgstr ""
|
||||
|
||||
msgid "Keyboard:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Keyboard"
|
||||
msgstr ""
|
||||
|
||||
msgid "Mouse:"
|
||||
msgstr "滑鼠:"
|
||||
|
||||
msgid "Mouse"
|
||||
msgstr ""
|
||||
|
||||
msgid "Joystick:"
|
||||
msgstr "搖桿:"
|
||||
|
||||
msgid "Joystick"
|
||||
msgstr ""
|
||||
|
||||
msgid "Joystick 1..."
|
||||
msgstr "搖桿 1..."
|
||||
|
||||
@@ -456,6 +477,9 @@ msgstr "MIDI 輸出裝置:"
|
||||
msgid "MIDI In Device:"
|
||||
msgstr "MIDI 輸入裝置:"
|
||||
|
||||
msgid "MIDI Out:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Standalone MPU-401"
|
||||
msgstr "獨立 MPU-401"
|
||||
|
||||
@@ -615,6 +639,12 @@ msgstr "光碟機:"
|
||||
msgid "MO drives:"
|
||||
msgstr "磁光碟機:"
|
||||
|
||||
msgid "MO:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Removable disks:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Removable disk drives:"
|
||||
msgstr ""
|
||||
|
||||
@@ -741,12 +771,30 @@ msgstr "網路"
|
||||
msgid "Ports (COM & LPT)"
|
||||
msgstr "連接埠 (COM 和 LPT)"
|
||||
|
||||
msgid "Ports"
|
||||
msgstr ""
|
||||
|
||||
msgid "Serial ports"
|
||||
msgstr ""
|
||||
|
||||
msgid "Parallel ports"
|
||||
msgstr ""
|
||||
|
||||
msgid "Storage controllers"
|
||||
msgstr "存儲控制器"
|
||||
|
||||
msgid "Hard disks"
|
||||
msgstr "硬碟"
|
||||
|
||||
msgid "Disks:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Floppy:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Controllers:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Floppy & CD-ROM drives"
|
||||
msgstr "軟碟/光碟機"
|
||||
|
||||
@@ -756,6 +804,9 @@ msgstr "其他卸除式裝置"
|
||||
msgid "Other peripherals"
|
||||
msgstr "其他周邊裝置"
|
||||
|
||||
msgid "Other devices"
|
||||
msgstr ""
|
||||
|
||||
msgid "Click to capture mouse"
|
||||
msgstr "點擊視窗捕捉滑鼠"
|
||||
|
||||
@@ -900,6 +951,15 @@ msgstr "歡迎使用 86Box!"
|
||||
msgid "Internal device"
|
||||
msgstr "內部裝置"
|
||||
|
||||
msgid "&File"
|
||||
msgstr ""
|
||||
|
||||
msgid "&New machine..."
|
||||
msgstr ""
|
||||
|
||||
msgid "&Check for updates..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Exit"
|
||||
msgstr "退出"
|
||||
|
||||
@@ -996,6 +1056,9 @@ msgstr "恢復執行"
|
||||
msgid "Pause execution"
|
||||
msgstr "暫停執行"
|
||||
|
||||
msgid "Ctrl+Alt+Del"
|
||||
msgstr ""
|
||||
|
||||
msgid "Press Ctrl+Alt+Del"
|
||||
msgstr "按下 Ctrl+Alt+Del"
|
||||
|
||||
@@ -1005,6 +1068,267 @@ msgstr "按下 Ctrl+Alt+Esc"
|
||||
msgid "Hard reset"
|
||||
msgstr "硬重設"
|
||||
|
||||
msgid "Force shutdown"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start"
|
||||
msgstr ""
|
||||
|
||||
msgid "Not running"
|
||||
msgstr ""
|
||||
|
||||
msgid "Running"
|
||||
msgstr ""
|
||||
|
||||
msgid "Paused"
|
||||
msgstr ""
|
||||
|
||||
msgid "Paused (Waiting)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Powered Off"
|
||||
msgstr ""
|
||||
|
||||
msgid "waiting"
|
||||
msgstr ""
|
||||
|
||||
msgid "total"
|
||||
msgstr ""
|
||||
|
||||
msgid "System Directory:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Choose directory"
|
||||
msgstr ""
|
||||
|
||||
msgid "Choose configuration file"
|
||||
msgstr ""
|
||||
|
||||
msgid "86Box configuration files (86box.cfg)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Configuration read failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to open the selected configuration file for reading: %1"
|
||||
msgstr ""
|
||||
|
||||
msgid "Use regular expressions in search box"
|
||||
msgstr ""
|
||||
|
||||
msgid "%1 machine(s) are currently active. Are you sure you want to exit the VM manager anyway?"
|
||||
msgstr ""
|
||||
|
||||
msgid "Add new system wizard"
|
||||
msgstr ""
|
||||
|
||||
msgid "Introduction"
|
||||
msgstr ""
|
||||
|
||||
msgid "This will help you add a new system to 86Box."
|
||||
msgstr ""
|
||||
|
||||
msgid "New configuration"
|
||||
msgstr ""
|
||||
|
||||
msgid "Complete"
|
||||
msgstr ""
|
||||
|
||||
msgid "The wizard will now launch the configuration for the new system."
|
||||
msgstr ""
|
||||
|
||||
msgid "Use existing configuration"
|
||||
msgstr ""
|
||||
|
||||
msgid "Type some notes here"
|
||||
msgstr ""
|
||||
|
||||
msgid "Paste the contents of the existing configuration file into the box below."
|
||||
msgstr ""
|
||||
|
||||
msgid "Load configuration from file"
|
||||
msgstr ""
|
||||
|
||||
msgid "System Name"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name:"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name cannot contain certain characters"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name already exists"
|
||||
msgstr ""
|
||||
|
||||
msgid "Please enter a directory for the system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Directory does not exist"
|
||||
msgstr ""
|
||||
|
||||
msgid "A new directory for the system will be created in the selected directory above"
|
||||
msgstr ""
|
||||
|
||||
msgid "System location:"
|
||||
msgstr ""
|
||||
|
||||
msgid "System Location"
|
||||
msgstr ""
|
||||
|
||||
msgid "System name and location"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter the name of the system and choose the location"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter the name of the system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Please enter a system name"
|
||||
msgstr ""
|
||||
|
||||
msgid "Display Name (optional)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Display name:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Set display name"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enter the new display name (blank to reset)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Change &display name..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Context Menu"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Open folder..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Open &printer tray..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Set &icon..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Select an icon"
|
||||
msgstr ""
|
||||
|
||||
msgid "C&lone..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Virtual machine \"%1\" (%2) will be cloned into:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Directory %1 already exists"
|
||||
msgstr ""
|
||||
|
||||
msgid "You cannot use the following characters in the name: %1"
|
||||
msgstr ""
|
||||
|
||||
msgid "Clone"
|
||||
msgstr ""
|
||||
|
||||
msgid "Failed to create directory for cloned VM"
|
||||
msgstr ""
|
||||
|
||||
msgid "Failed to clone VM."
|
||||
msgstr ""
|
||||
|
||||
msgid "Directory in use"
|
||||
msgstr ""
|
||||
|
||||
msgid "The selected directory is already in use. Please select a different directory."
|
||||
msgstr ""
|
||||
|
||||
msgid "Create directory failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to create the directory for the new system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Configuration write failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to open the configuration file at %1 for writing"
|
||||
msgstr ""
|
||||
|
||||
msgid "Error adding system"
|
||||
msgstr ""
|
||||
|
||||
msgid "Abnormal program termination while creating new system: exit code %1, exit status %2.\n\nThe system will not be added."
|
||||
msgstr ""
|
||||
|
||||
msgid "Remove directory failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Some files in the machine's directory were unable to be deleted. Please delete them manually."
|
||||
msgstr ""
|
||||
|
||||
msgid "Build"
|
||||
msgstr ""
|
||||
|
||||
msgid "Version"
|
||||
msgstr ""
|
||||
|
||||
msgid "<b>An update to 86Box is available!</b>"
|
||||
msgstr ""
|
||||
|
||||
msgid "Warning"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Kill"
|
||||
msgstr ""
|
||||
|
||||
msgid "Killing a virtual machine can cause data loss. Only do this if the 86Box process gets stuck.\n\nDo you really wish to kill the virtual machine \"%1\"?"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Delete"
|
||||
msgstr ""
|
||||
|
||||
msgid "Do you really want to delete the virtual machine \"%1\" and all its files? This action cannot be undone!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Show &config file"
|
||||
msgstr ""
|
||||
|
||||
msgid "No screenshot"
|
||||
msgstr ""
|
||||
|
||||
msgid "Search"
|
||||
msgstr ""
|
||||
|
||||
msgid "Searching for VMs..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Found %1"
|
||||
msgstr ""
|
||||
|
||||
msgid "System"
|
||||
msgstr ""
|
||||
|
||||
msgid "Storage"
|
||||
msgstr ""
|
||||
|
||||
msgid "Disk %1: "
|
||||
msgstr ""
|
||||
|
||||
msgid "No disks"
|
||||
msgstr ""
|
||||
|
||||
msgid "Audio"
|
||||
msgstr ""
|
||||
|
||||
msgid "Audio:"
|
||||
msgstr ""
|
||||
|
||||
msgid "ACPI shutdown"
|
||||
msgstr "ACPI 關機"
|
||||
|
||||
@@ -1347,6 +1671,9 @@ msgstr "未知匯流排"
|
||||
msgid "Null Driver"
|
||||
msgstr "空驅動程式"
|
||||
|
||||
msgid "NIC:"
|
||||
msgstr ""
|
||||
|
||||
msgid "NIC %1 (%2) %3"
|
||||
msgstr "網路卡 %1 (%2) %3"
|
||||
|
||||
@@ -1416,6 +1743,9 @@ msgstr "沒有 MCA 裝置。"
|
||||
msgid "MiB"
|
||||
msgstr "MiB"
|
||||
|
||||
msgid "GiB"
|
||||
msgstr ""
|
||||
|
||||
msgid "Network Card #1"
|
||||
msgstr "網路卡 1"
|
||||
|
||||
@@ -2223,6 +2553,9 @@ msgstr "彩色非隔行掃描"
|
||||
msgid "3Dfx Voodoo Graphics"
|
||||
msgstr "3Dfx Voodoo 圖形"
|
||||
|
||||
msgid "3Dfx Voodoo 2"
|
||||
msgstr ""
|
||||
|
||||
msgid "Obsidian SB50 + Amethyst (2 TMUs)"
|
||||
msgstr "Obsidian SB50 + Amethyst (2 TMU)"
|
||||
|
||||
@@ -2490,6 +2823,84 @@ msgstr ""
|
||||
msgid "Hostname:"
|
||||
msgstr ""
|
||||
|
||||
msgid "ISA RTC"
|
||||
msgstr ""
|
||||
|
||||
msgid "ISA RAM"
|
||||
msgstr ""
|
||||
|
||||
msgid "ISA ROM"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Wipe NVRAM"
|
||||
msgstr ""
|
||||
|
||||
msgid "This will delete all NVRAM (and related) files of the virtual machine located in the \"nvr\" subdirectory. You'll have to reconfigure the BIOS (and possibly other devices inside the VM) settings again if applicable.\n\nAre you sure you want to wipe all NVRAM contents of the virtual machine \"%1\"?"
|
||||
msgstr ""
|
||||
|
||||
msgid "Success"
|
||||
msgstr ""
|
||||
|
||||
msgid "Successfully wiped the NVRAM contents of the virtual machine \"%1\""
|
||||
msgstr ""
|
||||
|
||||
msgid "An error occured trying to wipe the NVRAM contents of the virtual machine \"%1\""
|
||||
msgstr ""
|
||||
|
||||
msgid "%1 VM Manager"
|
||||
msgstr ""
|
||||
|
||||
msgid "%n disk(s)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unknown Status"
|
||||
msgstr ""
|
||||
|
||||
msgid "No Machines Found!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Check for updates on startup"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unable to determine release information"
|
||||
msgstr ""
|
||||
|
||||
msgid "There was an error checking for updates:\n\n%1\n\nPlease try again later."
|
||||
msgstr ""
|
||||
|
||||
msgid "Update check complete"
|
||||
msgstr ""
|
||||
|
||||
msgid "You are running the latest %1 version of 86Box: %2"
|
||||
msgstr ""
|
||||
|
||||
msgid "version"
|
||||
msgstr ""
|
||||
|
||||
msgid "build"
|
||||
msgstr ""
|
||||
|
||||
msgid "You are currently running %1 <b>%2</b>. "
|
||||
msgstr ""
|
||||
|
||||
msgid "<b>%1 %2</b> is now available. %3Would you like to visit the download page?"
|
||||
msgstr ""
|
||||
|
||||
msgid "Visit download page"
|
||||
msgstr ""
|
||||
|
||||
msgid "Update check"
|
||||
msgstr ""
|
||||
|
||||
msgid "Checking for updates.."
|
||||
msgstr ""
|
||||
|
||||
msgid "86Box Update"
|
||||
msgstr ""
|
||||
|
||||
msgid "Release notes:"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "HD Controller:"
|
||||
#~ msgstr "硬碟控制器:"
|
||||
|
||||
|
||||
@@ -237,7 +237,7 @@ glslp_t *glslp_parse(const char *f) {
|
||||
int j;
|
||||
int len;
|
||||
int sublen;
|
||||
char s[513], t[513], z[540];
|
||||
char s[2049], t[2049], z[2076];
|
||||
|
||||
memset(s, 0, sizeof(s));
|
||||
if (endswith(f, ".glsl"))
|
||||
|
||||
@@ -224,6 +224,16 @@ MainWindow::MainWindow(QWidget *parent)
|
||||
kana_label->setToolTip(QShortcut::tr("Kana Lock"));
|
||||
statusBar()->addPermanentWidget(kana_label);
|
||||
|
||||
auto hertz_label = new QLabel;
|
||||
QTimer* frameRateTimer = new QTimer(this);
|
||||
frameRateTimer->setInterval(1000);
|
||||
frameRateTimer->setSingleShot(false);
|
||||
connect(frameRateTimer, &QTimer::timeout, [this, hertz_label] {
|
||||
hertz_label->setText(tr("%1 Hz").arg(monitors[0].mon_actualrenderedframes.load()));
|
||||
});
|
||||
statusBar()->addPermanentWidget(hertz_label);
|
||||
frameRateTimer->start(1000);
|
||||
|
||||
QTimer* ledKeyboardTimer = new QTimer(this);
|
||||
ledKeyboardTimer->setTimerType(Qt::CoarseTimer);
|
||||
ledKeyboardTimer->setInterval(1);
|
||||
|
||||
@@ -350,7 +350,7 @@ MediaHistoryManager::removeMissingImages(device_index_list_t &device_history)
|
||||
char temp[MAX_IMAGE_PATH_LEN * 2] = { 0 };
|
||||
|
||||
if (checked_path.left(8) == "ioctl://") {
|
||||
strncpy(temp, checked_path.toUtf8().data(), sizeof(temp));
|
||||
strncpy(temp, checked_path.toUtf8().data(), sizeof(temp) - 10);
|
||||
temp[sizeof(temp) - 1] = '\0';
|
||||
} else {
|
||||
QString path_only;
|
||||
|
||||
@@ -45,6 +45,8 @@
|
||||
#include <QKeyEvent>
|
||||
#include <QWidget>
|
||||
|
||||
#include <QTimer>
|
||||
|
||||
#include <atomic>
|
||||
#include <mutex>
|
||||
#include <array>
|
||||
@@ -96,6 +98,17 @@ RendererStack::RendererStack(QWidget *parent, int monitor_index)
|
||||
ui->setupUi(this);
|
||||
|
||||
m_monitor_index = monitor_index;
|
||||
|
||||
|
||||
if (monitor_index >= 1) {
|
||||
QTimer* frameRateTimer = new QTimer(this);
|
||||
frameRateTimer->setSingleShot(false);
|
||||
frameRateTimer->setInterval(1000);
|
||||
connect(frameRateTimer, &QTimer::timeout, [this] {
|
||||
this->setWindowTitle(QObject::tr("86Box Monitor #") + QString::number(m_monitor_index + 1) + QString(" - ") + tr("%1 Hz").arg(monitors[m_monitor_index].mon_actualrenderedframes.load()));
|
||||
});
|
||||
frameRateTimer->start(1000);
|
||||
}
|
||||
#if defined __unix__ && !defined __HAIKU__
|
||||
memset(auto_mouse_type, 0, sizeof (auto_mouse_type));
|
||||
mousedata.mouse_type = getenv("EMU86BOX_MOUSE");
|
||||
|
||||
@@ -46,50 +46,52 @@
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayoutHardDisks">
|
||||
<item>
|
||||
<widget class="QLabel" name="labelBus">
|
||||
<property name="text">
|
||||
<string>Bus:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QComboBox" name="comboBoxBus">
|
||||
<property name="maxVisibleItems">
|
||||
<number>30</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="labelChannel">
|
||||
<property name="text">
|
||||
<string>ID:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QComboBox" name="comboBoxChannel">
|
||||
<property name="maxVisibleItems">
|
||||
<number>30</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="labelSpeed">
|
||||
<property name="text">
|
||||
<string>Model:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QComboBox" name="comboBoxSpeed">
|
||||
<property name="maxVisibleItems">
|
||||
<number>30</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
<widget class="QWidget" name="hdControls" native="true">
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="labelBus">
|
||||
<property name="text">
|
||||
<string>Bus:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QComboBox" name="comboBoxBus">
|
||||
<property name="maxVisibleItems">
|
||||
<number>30</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="2">
|
||||
<widget class="QLabel" name="labelChannel">
|
||||
<property name="text">
|
||||
<string>Channel:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="3">
|
||||
<widget class="QComboBox" name="comboBoxChannel">
|
||||
<property name="maxVisibleItems">
|
||||
<number>30</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="labelSpeed">
|
||||
<property name="text">
|
||||
<string>Model:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QComboBox" name="comboBoxSpeed">
|
||||
<property name="maxVisibleItems">
|
||||
<number>30</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
|
||||
@@ -26,7 +26,7 @@ UpdateDetails::
|
||||
UpdateDetails(const UpdateCheck::UpdateResult &updateResult, QWidget *parent) : QDialog(parent), ui(new Ui::UpdateDetails)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
ui->updateTitle->setText("<b>An update to 86Box is available!</b>");
|
||||
ui->updateTitle->setText(tr("<b>An update to 86Box is available!</b>"));
|
||||
QString currentVersionText;
|
||||
QString releaseType = updateResult.channel == UpdateCheck::UpdateChannel::Stable ? tr("version") : tr("build");
|
||||
if(!updateResult.currentVersion.isEmpty()) {
|
||||
|
||||
@@ -346,7 +346,7 @@ NameAndLocationPage::isComplete() const
|
||||
} else if (const auto dir = QDir(systemLocation->text()); !dir.exists()) {
|
||||
systemLocationValidation->setText(tr("Directory does not exist"));
|
||||
} else {
|
||||
systemLocationValidation->setText("A new directory for the system will be created in the selected directory above");
|
||||
systemLocationValidation->setText(tr("A new directory for the system will be created in the selected directory above"));
|
||||
locationValid = true;
|
||||
}
|
||||
|
||||
|
||||
@@ -65,7 +65,7 @@ void
|
||||
VMManagerPreferences::chooseDirectoryLocation()
|
||||
{
|
||||
// TODO: FIXME: This is pulling in the CLI directory! Needs to be set properly elsewhere
|
||||
const auto directory = QFileDialog::getExistingDirectory(this, "Choose directory", QDir(vmm_path).path());
|
||||
const auto directory = QFileDialog::getExistingDirectory(this, tr("Choose directory"), QDir(vmm_path).path());
|
||||
ui->systemDirectory->setText(QDir::toNativeSeparators(directory));
|
||||
}
|
||||
|
||||
|
||||
@@ -84,6 +84,7 @@ static SCSI_CARD scsi_cards[] = {
|
||||
{ &buslogic_445c_device, },
|
||||
/* PCI */
|
||||
{ &am53c974_pci_device, },
|
||||
{ &am53c974a_pci_device, },
|
||||
{ &buslogic_958d_pci_device, },
|
||||
{ &ncr53c810_pci_device, },
|
||||
{ &ncr53c815_pci_device, },
|
||||
|
||||
@@ -141,6 +141,7 @@ enum ESPASCMode {
|
||||
|
||||
#define CFG1_RESREPT 0x40
|
||||
|
||||
#define TCHI_ESP100A 0x01
|
||||
#define TCHI_FAS100A 0x04
|
||||
#define TCHI_AM53C974 0x12
|
||||
|
||||
@@ -666,6 +667,7 @@ esp_hard_reset(esp_t *dev)
|
||||
dev->tchi_written = 0;
|
||||
dev->asc_mode = ESP_ASC_MODE_DIS;
|
||||
dev->rregs[ESP_CFG1] = dev->mca ? dev->HostID : 7;
|
||||
dev->sbac = 1 << 19;
|
||||
|
||||
esp_log("ESP Reset\n");
|
||||
|
||||
@@ -716,7 +718,7 @@ esp_do_dma(esp_t *dev)
|
||||
|
||||
len = esp_get_tc(dev);
|
||||
|
||||
esp_log("ESP SCSI Actual DMA len=%d, cfg3=%02x.\n", len, dev->rregs[ESP_CFG3]);
|
||||
esp_log("ESP SCSI Actual DMA len=%d, cfg3=%02x, phase=%x.\n", len, dev->rregs[ESP_CFG3], esp_get_phase(dev));
|
||||
|
||||
switch (esp_get_phase(dev)) {
|
||||
case STAT_MO:
|
||||
@@ -1316,6 +1318,7 @@ handle_s_without_atn(void *priv)
|
||||
if (esp_select(dev) < 0)
|
||||
return;
|
||||
|
||||
esp_log("Selection without ATN.\n");
|
||||
esp_set_phase(dev, STAT_CD);
|
||||
dev->cmdfifo_cdb_offset = 0;
|
||||
|
||||
@@ -1333,6 +1336,7 @@ handle_satn(void *priv)
|
||||
if (esp_select(dev) < 0)
|
||||
return;
|
||||
|
||||
esp_log("Selection with ATN.\n");
|
||||
esp_set_phase(dev, STAT_MO);
|
||||
|
||||
if (dev->dma)
|
||||
@@ -1434,12 +1438,17 @@ esp_reg_read(esp_t *dev, uint32_t saddr)
|
||||
esp_log("Read Interrupt=%02x (old).\n", ret);
|
||||
break;
|
||||
case ESP_TCHI: /* Return the unique id if the value has never been written */
|
||||
if (!dev->mca && !dev->tchi_written)
|
||||
ret = TCHI_AM53C974;
|
||||
else
|
||||
ret = dev->rregs[ESP_TCHI];
|
||||
if (!dev->tchi_written) {
|
||||
if (dev->mca)
|
||||
ret = TCHI_ESP100A;
|
||||
else
|
||||
ret = TCHI_AM53C974;
|
||||
|
||||
esp_log("Read TCHI Register=%02x.\n", ret);
|
||||
esp_log("ChipID=%02x.\n", ret);
|
||||
} else {
|
||||
ret = dev->rregs[ESP_TCHI];
|
||||
esp_log("Read TCHI Register=%02x.\n", ret);
|
||||
}
|
||||
break;
|
||||
case ESP_RFLAGS:
|
||||
ret = fifo8_num_used(&dev->fifo);
|
||||
@@ -1525,6 +1534,12 @@ esp_reg_write(esp_t *dev, uint32_t saddr, uint32_t val)
|
||||
break;
|
||||
case CMD_BUSRESET:
|
||||
esp_log("ESP Bus Reset val=%02x.\n", (dev->rregs[ESP_CFG1] & CFG1_RESREPT));
|
||||
if (dev->mca) {
|
||||
esp_lower_irq(dev);
|
||||
esp_hard_reset(dev);
|
||||
} else
|
||||
esp_pci_soft_reset(dev);
|
||||
|
||||
for (uint8_t i = 0; i < 16; i++) {
|
||||
scsi_device_reset(&scsi_devices[dev->bus][i]);
|
||||
}
|
||||
@@ -1635,6 +1650,7 @@ esp_pci_dma_memory_rw(esp_t *dev, uint8_t *buf, uint32_t len, int dir)
|
||||
if (dev->dma_regs[DMA_WBC] < len)
|
||||
len = dev->dma_regs[DMA_WBC];
|
||||
|
||||
esp_log("DMA Length=%d.\n", len);
|
||||
if (dev->dma_regs[DMA_CMD] & DMA_CMD_MDL) {
|
||||
if (len) {
|
||||
dma_bm_read(dev->dma_regs[DMA_WMAC], (uint8_t *)&DMAPtr, 4, 4);
|
||||
@@ -1681,16 +1697,18 @@ esp_pci_dma_memory_rw(esp_t *dev, uint8_t *buf, uint32_t len, int dir)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
addr = dev->dma_regs[DMA_WAC];
|
||||
if (len) {
|
||||
addr = dev->dma_regs[DMA_WAC];
|
||||
|
||||
if (expected_dir)
|
||||
dma_bm_write(addr, buf, len, 4);
|
||||
else
|
||||
dma_bm_read(addr, buf, len, 4);
|
||||
if (expected_dir)
|
||||
dma_bm_write(addr, buf, len, 4);
|
||||
else
|
||||
dma_bm_read(addr, buf, len, 4);
|
||||
|
||||
/* update status registers */
|
||||
dev->dma_regs[DMA_WBC] -= len;
|
||||
dev->dma_regs[DMA_WAC] += len;
|
||||
/* update status registers */
|
||||
dev->dma_regs[DMA_WBC] -= len;
|
||||
dev->dma_regs[DMA_WAC] += len;
|
||||
}
|
||||
}
|
||||
|
||||
esp_log("Finished count=%d.\n", dev->dma_regs[DMA_WBC]);
|
||||
@@ -2184,7 +2202,7 @@ esp_pci_read(UNUSED(int func), int addr, void *priv)
|
||||
case 0x07:
|
||||
return esp_pci_regs[0x07] | 0x02;
|
||||
case 0x08:
|
||||
return 0x10; /*Revision ID*/
|
||||
return (dev->local == 1) ? 0 : 0x10; /*Revision ID*/
|
||||
case 0x09:
|
||||
return 0; /*Programming interface*/
|
||||
case 0x0A:
|
||||
@@ -2363,7 +2381,7 @@ esp_pci_reset(void *priv)
|
||||
|
||||
memcpy(dev, &reset_state, sizeof(esp_t));
|
||||
|
||||
dev->sbac = 1 << 19;
|
||||
esp_pci_soft_reset(dev);
|
||||
}
|
||||
|
||||
static void *
|
||||
@@ -2650,6 +2668,44 @@ static const device_config_t bios_enable_config[] = {
|
||||
// clang-format on
|
||||
};
|
||||
|
||||
static const device_config_t am53c974_bios_enable_config[] = {
|
||||
// clang-format off
|
||||
{
|
||||
.name = "bios_rev",
|
||||
.description = "BIOS Revision",
|
||||
.type = CONFIG_BIOS,
|
||||
.default_string = "v3_01_amd",
|
||||
.default_int = 0,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.bios = {
|
||||
{
|
||||
.name = "Version 3.01 (AMD)",
|
||||
.internal_name = "v3_01_amd",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 16384,
|
||||
.files = { AM53C974_3_01_AMD_ROM, "" }
|
||||
},
|
||||
{ .files_no = 0 }
|
||||
},
|
||||
},
|
||||
{
|
||||
.name = "bios",
|
||||
.description = "Enable BIOS",
|
||||
.type = CONFIG_BINARY,
|
||||
.default_string = NULL,
|
||||
.default_int = 0,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = { { 0 } },
|
||||
.bios = { { 0 } }
|
||||
},
|
||||
{ .name = "", .description = "", .type = CONFIG_END }
|
||||
// clang-format on
|
||||
};
|
||||
|
||||
static const device_config_t am53c974a_bios_enable_config[] = {
|
||||
// clang-format off
|
||||
{
|
||||
@@ -2739,7 +2795,7 @@ const device_t dc390_pci_device = {
|
||||
};
|
||||
|
||||
const device_t am53c974_pci_device = {
|
||||
.name = "AMD 53c974A PCI",
|
||||
.name = "AMD 53c974 PCI",
|
||||
.internal_name = "am53c974",
|
||||
.flags = DEVICE_PCI,
|
||||
.local = 1,
|
||||
@@ -2749,6 +2805,20 @@ const device_t am53c974_pci_device = {
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = am53c974_bios_enable_config
|
||||
};
|
||||
|
||||
const device_t am53c974a_pci_device = {
|
||||
.name = "AMD 53c974A PCI",
|
||||
.internal_name = "am53c974a",
|
||||
.flags = DEVICE_PCI,
|
||||
.local = 2,
|
||||
.init = dc390_init,
|
||||
.close = esp_close,
|
||||
.reset = esp_pci_reset,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = am53c974a_bios_enable_config
|
||||
};
|
||||
|
||||
|
||||
@@ -16,29 +16,28 @@
|
||||
#
|
||||
|
||||
add_library(sio OBJECT
|
||||
sio_82091aa.c
|
||||
sio_acc3221.c
|
||||
sio_ali5123.c
|
||||
sio_gm82c803ab.c
|
||||
sio_gm82c803c.c
|
||||
sio_f82c606.c
|
||||
sio_f82c710.c
|
||||
sio_82091aa.c
|
||||
sio_fdc37c6xx.c
|
||||
sio_fdc37c67x.c
|
||||
sio_fdc37c669.c
|
||||
sio_fdc37c93x.c
|
||||
sio_fdc37m60x.c
|
||||
sio_it86x1f.c
|
||||
sio_pc87310.c
|
||||
sio_pc873xx.c
|
||||
sio_pc87306.c
|
||||
sio_pc87307.c
|
||||
sio_pc87309.c
|
||||
sio_pc87310.c
|
||||
sio_pc87311.c
|
||||
sio_pc87332.c
|
||||
sio_prime3b.c
|
||||
sio_prime3c.c
|
||||
sio_w83787f.c
|
||||
sio_w83877f.c
|
||||
sio_w83977f.c
|
||||
sio_um8663f.c
|
||||
sio_w837x7.c
|
||||
sio_w83877.c
|
||||
sio_w83977.c
|
||||
sio_um866x.c
|
||||
sio_um8669f.c
|
||||
sio_vl82c113.c
|
||||
sio_vt82c686.c
|
||||
|
||||
@@ -57,9 +57,34 @@ static void
|
||||
lpt_handler(i82091aa_t *dev)
|
||||
{
|
||||
uint16_t lpt_port = LPT1_ADDR;
|
||||
int enable = (dev->regs[0x20] & 0x01);
|
||||
|
||||
lpt_port_remove(dev->lpt);
|
||||
|
||||
lpt_set_fifo_threshold(dev->lpt, (dev->regs[0x20] & 0x80) ? 15 : 8);
|
||||
|
||||
switch (dev->regs[0x20] & 0x60) {
|
||||
default:
|
||||
case 0x00:
|
||||
lpt_set_epp(dev->lpt, 0);
|
||||
lpt_set_ecp(dev->lpt, 1);
|
||||
lpt_set_ext(dev->lpt, 0);
|
||||
break;
|
||||
case 0x20:
|
||||
lpt_set_epp(dev->lpt, 0);
|
||||
lpt_set_ecp(dev->lpt, 1);
|
||||
lpt_set_ext(dev->lpt, 1);
|
||||
break;
|
||||
case 0x40:
|
||||
lpt_set_epp(dev->lpt, 1);
|
||||
lpt_set_ecp(dev->lpt, 1);
|
||||
lpt_set_ext(dev->lpt, 0);
|
||||
break;
|
||||
case 0x60:
|
||||
enable = 0;
|
||||
break;
|
||||
}
|
||||
|
||||
switch ((dev->regs[0x20] >> 1) & 0x03) {
|
||||
case 0x00:
|
||||
lpt_port = LPT1_ADDR;
|
||||
@@ -78,7 +103,7 @@ lpt_handler(i82091aa_t *dev)
|
||||
break;
|
||||
}
|
||||
|
||||
if ((dev->regs[0x20] & 0x01) && lpt_port)
|
||||
if (enable && lpt_port)
|
||||
lpt_port_setup(dev->lpt, lpt_port);
|
||||
|
||||
lpt_port_irq(dev->lpt, (dev->regs[0x20] & 0x08) ? LPT1_IRQ : LPT2_IRQ);
|
||||
@@ -176,7 +201,7 @@ i82091aa_write(uint16_t port, uint8_t val, void *priv)
|
||||
break;
|
||||
case 0x20:
|
||||
*reg = (val & 0xef);
|
||||
if (valxor & 0x07)
|
||||
if (valxor & 0xe8)
|
||||
lpt_handler(dev);
|
||||
break;
|
||||
case 0x21:
|
||||
@@ -218,6 +243,8 @@ i82091aa_read(uint16_t port, void *priv)
|
||||
|
||||
if (index)
|
||||
ret = dev->cur_reg;
|
||||
else if (dev->cur_reg == 0x20)
|
||||
ret = dev->regs[dev->cur_reg] | lpt_read_ecp_mode(dev->lpt);
|
||||
else if (dev->cur_reg < 0x51)
|
||||
ret = dev->regs[dev->cur_reg];
|
||||
|
||||
@@ -267,6 +294,9 @@ i82091aa_init(const device_t *info)
|
||||
|
||||
dev->lpt = device_add_inst(&lpt_port_device, 1);
|
||||
|
||||
lpt_set_cnfga_readout(dev->lpt, 0x90);
|
||||
lpt_set_cnfgb_readout(dev->lpt, 0x00);
|
||||
|
||||
dev->has_ide = (info->local >> 9) & 0x03;
|
||||
|
||||
i82091aa_reset(dev);
|
||||
@@ -288,63 +318,7 @@ const device_t i82091aa_device = {
|
||||
.name = "Intel 82091AA Super I/O",
|
||||
.internal_name = "i82091aa",
|
||||
.flags = 0,
|
||||
.local = 0x40,
|
||||
.init = i82091aa_init,
|
||||
.close = i82091aa_close,
|
||||
.reset = NULL,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t i82091aa_26e_device = {
|
||||
.name = "Intel 82091AA Super I/O (Port 26Eh)",
|
||||
.internal_name = "i82091aa_26e",
|
||||
.flags = 0,
|
||||
.local = 0x140,
|
||||
.init = i82091aa_init,
|
||||
.close = i82091aa_close,
|
||||
.reset = NULL,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t i82091aa_398_device = {
|
||||
.name = "Intel 82091AA Super I/O (Port 398h)",
|
||||
.internal_name = "i82091aa_398",
|
||||
.flags = 0,
|
||||
.local = 0x148,
|
||||
.init = i82091aa_init,
|
||||
.close = i82091aa_close,
|
||||
.reset = NULL,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t i82091aa_ide_pri_device = {
|
||||
.name = "Intel 82091AA Super I/O (With Primary IDE)",
|
||||
.internal_name = "i82091aa_ide",
|
||||
.flags = 0,
|
||||
.local = 0x240,
|
||||
.init = i82091aa_init,
|
||||
.close = i82091aa_close,
|
||||
.reset = NULL,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t i82091aa_ide_device = {
|
||||
.name = "Intel 82091AA Super I/O (With IDE)",
|
||||
.internal_name = "i82091aa_ide",
|
||||
.flags = 0,
|
||||
.local = 0x440,
|
||||
.local = 0,
|
||||
.init = i82091aa_init,
|
||||
.close = i82091aa_close,
|
||||
.reset = NULL,
|
||||
|
||||
@@ -82,13 +82,15 @@ ali5123_fdc_handler(ali5123_t *dev)
|
||||
static void
|
||||
ali5123_lpt_handler(ali5123_t *dev)
|
||||
{
|
||||
uint16_t ld_port = 0x0000;
|
||||
uint16_t mask = 0xfffc;
|
||||
uint8_t global_enable = !(dev->regs[0x22] & (1 << 3));
|
||||
uint8_t local_enable = !!dev->ld_regs[3][0x30];
|
||||
uint8_t lpt_irq = dev->ld_regs[3][0x70];
|
||||
uint8_t lpt_dma = dev->ld_regs[3][0x74];
|
||||
uint8_t lpt_mode = dev->ld_regs[3][0xf0] & 0x07;
|
||||
uint16_t ld_port = 0x0000;
|
||||
uint16_t mask = 0xfffc;
|
||||
uint8_t global_enable = !(dev->regs[0x22] & (1 << 3));
|
||||
uint8_t local_enable = !!dev->ld_regs[3][0x30];
|
||||
uint8_t lpt_irq = dev->ld_regs[3][0x70];
|
||||
uint8_t lpt_dma = dev->ld_regs[3][0x74];
|
||||
uint8_t lpt_mode = dev->ld_regs[3][0xf0] & 0x07;
|
||||
uint8_t irq_readout[16] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x08,
|
||||
0x00, 0x10, 0x18, 0x20, 0x00, 0x28, 0x30, 0x00 };
|
||||
|
||||
if (lpt_irq > 15)
|
||||
lpt_irq = 0xff;
|
||||
@@ -137,6 +139,9 @@ ali5123_lpt_handler(ali5123_t *dev)
|
||||
}
|
||||
lpt_port_irq(dev->lpt, lpt_irq);
|
||||
lpt_port_dma(dev->lpt, lpt_dma);
|
||||
|
||||
lpt_set_cnfgb_readout(dev->lpt, ((lpt_irq > 15) ? 0x00 : irq_readout[lpt_irq]) |
|
||||
((lpt_dma >= 4) ? 0x00 : lpt_dma));
|
||||
}
|
||||
|
||||
static void
|
||||
|
||||
@@ -33,11 +33,15 @@
|
||||
#include <86box/fdd.h>
|
||||
#include <86box/fdc.h>
|
||||
#include <86box/sio.h>
|
||||
#include "cpu.h"
|
||||
|
||||
typedef struct fdc37c669_t {
|
||||
uint8_t id;
|
||||
uint8_t tries;
|
||||
uint8_t regs[42];
|
||||
uint8_t has_ide;
|
||||
uint8_t dma_map[4];
|
||||
uint8_t irq_map[16];
|
||||
uint8_t regs[256];
|
||||
int locked;
|
||||
int rw_locked;
|
||||
int cur_reg;
|
||||
@@ -70,6 +74,7 @@ static void
|
||||
fdc37c669_fdc_handler(fdc37c669_t *dev)
|
||||
{
|
||||
fdc_remove(dev->fdc);
|
||||
|
||||
if (dev->regs[0x20] & 0xc0)
|
||||
fdc_set_base(dev->fdc, ((uint16_t) dev->regs[0x20]) << 2);
|
||||
}
|
||||
@@ -82,6 +87,7 @@ fdc37c669_uart_handler(fdc37c669_t *dev, uint8_t uart)
|
||||
uint8_t uart_shift = ((uart ^ 1) << 2);
|
||||
|
||||
serial_remove(dev->uart[uart]);
|
||||
|
||||
if ((dev->regs[0x02] & pwrdn_mask) && (dev->regs[uart_reg] & 0xc0))
|
||||
serial_setup(dev->uart[0], ((uint16_t) dev->regs[0x24]) << 2,
|
||||
(dev->regs[0x28] >> uart_shift) & 0x0f);
|
||||
@@ -107,10 +113,41 @@ fdc37c669_lpt_handler(fdc37c669_t *dev)
|
||||
uint8_t mask = ~(dev->regs[0x04] & 0x01);
|
||||
|
||||
lpt_port_remove(dev->lpt);
|
||||
|
||||
if (dev->regs[0x01] & 0x08) {
|
||||
lpt_set_ext(dev->lpt, 0);
|
||||
|
||||
lpt_set_epp(dev->lpt, 0);
|
||||
lpt_set_ecp(dev->lpt, 0);
|
||||
} else {
|
||||
lpt_set_ext(dev->lpt, 1);
|
||||
|
||||
lpt_set_epp(dev->lpt, dev->regs[0x04] & 0x01);
|
||||
lpt_set_ecp(dev->lpt, dev->regs[0x04] & 0x02);
|
||||
}
|
||||
|
||||
lpt_set_fifo_threshold(dev->lpt, dev->regs[0x0a] & 0x0f);
|
||||
|
||||
if ((dev->regs[0x01] & 0x04) && (dev->regs[0x23] >= 0x40))
|
||||
lpt_port_setup(dev->lpt, ((uint16_t) (dev->regs[0x23] & mask)) << 2);
|
||||
}
|
||||
|
||||
static void
|
||||
ide_handler(fdc37c669_t *dev)
|
||||
{
|
||||
if (dev->has_ide > 0) {
|
||||
int ide_id = dev->has_ide - 1;
|
||||
|
||||
ide_handlers(ide_id, 0);
|
||||
|
||||
ide_set_base_addr(ide_id, 0, ((uint16_t) (dev->regs[0x21] & 0xfc)) << 2);
|
||||
ide_set_base_addr(ide_id, 1, (((uint16_t) (dev->regs[0x22] & 0xfc)) << 2) | 0x0006);
|
||||
|
||||
if ((dev->regs[0x00] & 0x03) == 0x02)
|
||||
ide_handlers(ide_id, 1);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
fdc37c669_write(uint16_t port, uint8_t val, void *priv)
|
||||
{
|
||||
@@ -139,12 +176,14 @@ fdc37c669_write(uint16_t port, uint8_t val, void *priv)
|
||||
} else if (!dev->rw_locked || (dev->cur_reg > 0x0f)) switch (dev->cur_reg) {
|
||||
case 0x00:
|
||||
dev->regs[dev->cur_reg] = (dev->regs[dev->cur_reg] & 0x74) | (val & 0x8b);
|
||||
if (!dev->id && (valxor & 8))
|
||||
if (!dev->id && (valxor & 0x08))
|
||||
fdc_set_power_down(dev->fdc, !(val & 0x08));
|
||||
if (!dev->id && (valxor & 0x03))
|
||||
ide_handler(dev);
|
||||
break;
|
||||
case 0x01:
|
||||
dev->regs[dev->cur_reg] = (dev->regs[dev->cur_reg] & 0x73) | (val & 0x8c);
|
||||
if (valxor & 0x04)
|
||||
if (valxor & 0x0c)
|
||||
fdc37c669_lpt_handler(dev);
|
||||
if (valxor & 0x80)
|
||||
dev->rw_locked = !(val & 0x80);
|
||||
@@ -158,6 +197,17 @@ fdc37c669_write(uint16_t port, uint8_t val, void *priv)
|
||||
break;
|
||||
case 0x03:
|
||||
dev->regs[dev->cur_reg] = (dev->regs[dev->cur_reg] & 0x08) | (val & 0xf7);
|
||||
if ((valxor & 0x60) && (dev->fdc != NULL)) {
|
||||
fdc_clear_flags(dev->fdc, FDC_FLAG_PS2 | FDC_FLAG_PS2_MCA);
|
||||
switch (val & 0x0c) {
|
||||
case 0x00:
|
||||
fdc_set_flags(dev->fdc, FDC_FLAG_PS2);
|
||||
break;
|
||||
case 0x20:
|
||||
fdc_set_flags(dev->fdc, FDC_FLAG_PS2_MCA);
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!dev->id && (valxor & 0x02))
|
||||
fdc_update_enh_mode(dev->fdc, !!(val & 0x02));
|
||||
break;
|
||||
@@ -191,6 +241,8 @@ fdc37c669_write(uint16_t port, uint8_t val, void *priv)
|
||||
break;
|
||||
case 0x0a:
|
||||
dev->regs[dev->cur_reg] = (dev->regs[dev->cur_reg] & 0xf0) | (val & 0x0f);
|
||||
if (valxor & 0x0f)
|
||||
fdc37c669_lpt_handler(dev);
|
||||
break;
|
||||
case 0x0b:
|
||||
dev->regs[dev->cur_reg] = val;
|
||||
@@ -223,9 +275,13 @@ fdc37c669_write(uint16_t port, uint8_t val, void *priv)
|
||||
break;
|
||||
case 0x21:
|
||||
dev->regs[dev->cur_reg] = val & 0xfc;
|
||||
if (!dev->id && (valxor & 0xfc))
|
||||
ide_handler(dev);
|
||||
break;
|
||||
case 0x22:
|
||||
dev->regs[dev->cur_reg] = (dev->regs[dev->cur_reg] & 0x03) | (val & 0xfc);
|
||||
if (!dev->id && (valxor & 0xfc))
|
||||
ide_handler(dev);
|
||||
break;
|
||||
case 0x23:
|
||||
dev->regs[dev->cur_reg] = val;
|
||||
@@ -246,6 +302,8 @@ fdc37c669_write(uint16_t port, uint8_t val, void *priv)
|
||||
dev->regs[dev->cur_reg] = val;
|
||||
if (valxor & 0xf0)
|
||||
fdc_set_dma_ch(dev->fdc, val >> 4);
|
||||
if (valxor & 0x0f)
|
||||
lpt_port_dma(dev->lpt, val & 0x0f);
|
||||
break;
|
||||
case 0x27:
|
||||
dev->regs[dev->cur_reg] = val;
|
||||
@@ -306,9 +364,13 @@ fdc37c669_reset(void *priv)
|
||||
dev->regs[0x21] = 0x3c;
|
||||
dev->regs[0x22] = 0x3d;
|
||||
|
||||
if (dev->id != 1) {
|
||||
if (!dev->id) {
|
||||
fdc_reset(dev->fdc);
|
||||
|
||||
fdc37c669_fdc_handler(dev);
|
||||
fdc_clear_flags(dev->fdc, FDC_FLAG_PS2 | FDC_FLAG_PS2_MCA);
|
||||
|
||||
ide_handler(dev);
|
||||
}
|
||||
|
||||
fdc37c669_uart_handler(dev, 0);
|
||||
@@ -340,17 +402,35 @@ fdc37c669_init(const device_t *info)
|
||||
|
||||
dev->id = next_id;
|
||||
|
||||
if (next_id != 1)
|
||||
dev->fdc = device_add(&fdc_at_smc_device);
|
||||
if (next_id != 1) {
|
||||
dev->fdc = device_add(&fdc_at_smc_device);
|
||||
dev->has_ide = (info->local >> 8) & 0xff;
|
||||
}
|
||||
|
||||
dev->uart[0] = device_add_inst(&ns16550_device, (next_id << 1) + 1);
|
||||
dev->uart[1] = device_add_inst(&ns16550_device, (next_id << 1) + 2);
|
||||
|
||||
dev->lpt = device_add_inst(&lpt_port_device, next_id + 1);
|
||||
lpt_set_cnfgb_readout(dev->lpt, 0x00);
|
||||
|
||||
io_sethandler(info->local ? FDC_SECONDARY_ADDR : (next_id ? FDC_SECONDARY_ADDR : FDC_PRIMARY_ADDR),
|
||||
io_sethandler((info->local & FDC37C6XX_370) ? FDC_SECONDARY_ADDR : (next_id ? FDC_SECONDARY_ADDR : FDC_PRIMARY_ADDR),
|
||||
0x0002, fdc37c669_read, NULL, NULL, fdc37c669_write, NULL, NULL, dev);
|
||||
|
||||
dev->dma_map[0] = 4;
|
||||
for (int i = 1; i < 4; i++)
|
||||
dev->dma_map[i] = i;
|
||||
|
||||
memset(dev->irq_map, 0xff, 16);
|
||||
dev->irq_map[0] = 0xff;
|
||||
for (int i = 1; i < 7; i++)
|
||||
dev->irq_map[i] = i;
|
||||
dev->irq_map[1] = 5;
|
||||
dev->irq_map[5] = 7;
|
||||
dev->irq_map[7] = 0xff; /* Reserved. */
|
||||
dev->irq_map[8] = 10;
|
||||
dev->irq_map[9] = 9; /* This is used by the Acrosser PJ-A511M for IRQ 9. */
|
||||
dev->irq_map[11] = 11; /* This is used by the Acrosser PJ-A511M for IRQ 11. */
|
||||
|
||||
fdc37c669_reset(dev);
|
||||
|
||||
next_id++;
|
||||
@@ -371,17 +451,3 @@ const device_t fdc37c669_device = {
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t fdc37c669_370_device = {
|
||||
.name = "SMC FDC37C669 Super I/O (Port 370h)",
|
||||
.internal_name = "fdc37c669_370",
|
||||
.flags = 0,
|
||||
.local = 1,
|
||||
.init = fdc37c669_init,
|
||||
.close = fdc37c669_close,
|
||||
.reset = fdc37c669_reset,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
@@ -172,13 +172,15 @@ fdc37c67x_fdc_handler(fdc37c67x_t *dev)
|
||||
static void
|
||||
fdc37c67x_lpt_handler(fdc37c67x_t *dev)
|
||||
{
|
||||
uint16_t ld_port = 0x0000;
|
||||
uint16_t mask = 0xfffc;
|
||||
uint8_t global_enable = !!(dev->regs[0x22] & (1 << 3));
|
||||
uint8_t local_enable = !!dev->ld_regs[3][0x30];
|
||||
uint8_t lpt_irq = dev->ld_regs[3][0x70];
|
||||
uint8_t lpt_dma = dev->ld_regs[3][0x74];
|
||||
uint8_t lpt_mode = dev->ld_regs[3][0xf0] & 0x07;
|
||||
uint16_t ld_port = 0x0000;
|
||||
uint16_t mask = 0xfffc;
|
||||
uint8_t global_enable = !!(dev->regs[0x22] & (1 << 3));
|
||||
uint8_t local_enable = !!dev->ld_regs[3][0x30];
|
||||
uint8_t lpt_irq = dev->ld_regs[3][0x70];
|
||||
uint8_t lpt_dma = dev->ld_regs[3][0x74];
|
||||
uint8_t lpt_mode = dev->ld_regs[3][0xf0] & 0x07;
|
||||
uint8_t irq_readout[16] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x08,
|
||||
0x00, 0x10, 0x18, 0x20, 0x00, 0x00, 0x28, 0x30 };
|
||||
|
||||
if (lpt_irq > 15)
|
||||
lpt_irq = 0xff;
|
||||
@@ -225,6 +227,9 @@ fdc37c67x_lpt_handler(fdc37c67x_t *dev)
|
||||
}
|
||||
lpt_port_irq(dev->lpt, lpt_irq);
|
||||
lpt_port_dma(dev->lpt, lpt_dma);
|
||||
|
||||
lpt_set_cnfgb_readout(dev->lpt, ((lpt_irq > 15) ? 0x00 : irq_readout[lpt_irq]) |
|
||||
((lpt_dma >= 4) ? 0x00 : lpt_dma));
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -437,7 +442,6 @@ fdc37c67x_write(uint16_t port, uint8_t val, void *priv)
|
||||
fdc_set_flags(dev->fdc, FDC_FLAG_PS2_MCA);
|
||||
break;
|
||||
}
|
||||
fdc_update_enh_mode(dev->fdc, val & 0x01);
|
||||
}
|
||||
if (valxor & 0x10)
|
||||
fdc_set_swap(dev->fdc, (val & 0x10) >> 4);
|
||||
|
||||
@@ -9,11 +9,9 @@
|
||||
* Implementation of the SMC FDC37C663 and FDC37C665 Super
|
||||
* I/O Chips.
|
||||
*
|
||||
*
|
||||
*
|
||||
* Authors: Miran Grca, <mgrca8@gmail.com>
|
||||
*
|
||||
* Copyright 2016-2020 Miran Grca.
|
||||
* Copyright 2016-2025 Miran Grca.
|
||||
*/
|
||||
#include <stdio.h>
|
||||
#include <stdint.h>
|
||||
@@ -32,6 +30,7 @@
|
||||
#include <86box/fdd.h>
|
||||
#include <86box/fdc.h>
|
||||
#include <86box/sio.h>
|
||||
#include "cpu.h"
|
||||
|
||||
typedef struct fdc37c6xx_t {
|
||||
uint8_t max_reg;
|
||||
@@ -113,8 +112,6 @@ lpt_handler(fdc37c6xx_t *dev)
|
||||
uint16_t mask = 0xfffc;
|
||||
uint8_t local_enable = 1;
|
||||
uint8_t lpt_irq = LPT1_IRQ;
|
||||
/* DMA is guesswork - what channel do boards actually use? */
|
||||
uint8_t lpt_dma = 3;
|
||||
uint8_t lpt_ext = !(dev->regs[1] & 0x08);
|
||||
uint8_t lpt_mode = (dev->chip_id >= 0x65) ? (dev->regs[4] & 0x03) : 0x00;
|
||||
|
||||
@@ -140,9 +137,6 @@ lpt_handler(fdc37c6xx_t *dev)
|
||||
if (lpt_irq > 15)
|
||||
lpt_irq = 0xff;
|
||||
|
||||
if (lpt_dma >= 4)
|
||||
lpt_dma = 0xff;
|
||||
|
||||
lpt_port_remove(dev->lpt);
|
||||
lpt_set_fifo_threshold(dev->lpt, dev->regs[0x0a] & 0x0f);
|
||||
if (lpt_ext) switch (lpt_mode) {
|
||||
@@ -192,19 +186,16 @@ fdc_handler(fdc37c6xx_t *dev)
|
||||
static void
|
||||
ide_handler(fdc37c6xx_t *dev)
|
||||
{
|
||||
/* TODO: Make an ide_disable(channel) and ide_enable(channel) so we can simplify this. */
|
||||
if (dev->has_ide == 2) {
|
||||
ide_sec_disable();
|
||||
ide_set_base(1, (dev->regs[0x05] & 0x02) ? 0x170 : 0x1f0);
|
||||
ide_set_side(1, (dev->regs[0x05] & 0x02) ? 0x376 : 0x3f6);
|
||||
if (dev->has_ide > 0) {
|
||||
int ide_id = dev->has_ide - 1;
|
||||
|
||||
ide_handlers(ide_id, 0);
|
||||
|
||||
ide_set_base_addr(ide_id, 0, (dev->regs[0x05] & 0x02) ? 0x0170 : 0x01f0);
|
||||
ide_set_base_addr(ide_id, 1, (dev->regs[0x05] & 0x02) ? 0x0376 : 0x03f6);
|
||||
|
||||
if (dev->regs[0x00] & 0x01)
|
||||
ide_sec_enable();
|
||||
} else if (dev->has_ide == 1) {
|
||||
ide_pri_disable();
|
||||
ide_set_base(0, (dev->regs[0x05] & 0x02) ? 0x170 : 0x1f0);
|
||||
ide_set_side(0, (dev->regs[0x05] & 0x02) ? 0x376 : 0x3f6);
|
||||
if (dev->regs[0x00] & 0x01)
|
||||
ide_pri_enable();
|
||||
ide_handlers(ide_id, 1);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -228,14 +219,14 @@ fdc37c6xx_write(uint16_t port, uint8_t val, void *priv)
|
||||
dev->regs[dev->cur_reg] = val;
|
||||
|
||||
switch (dev->cur_reg) {
|
||||
case 0:
|
||||
case 0x00:
|
||||
if (dev->has_ide && (valxor & 0x01))
|
||||
ide_handler(dev);
|
||||
if (valxor & 0x10)
|
||||
fdc_handler(dev);
|
||||
break;
|
||||
case 1:
|
||||
if (valxor & 3)
|
||||
case 0x01:
|
||||
if (valxor & 0x0b)
|
||||
lpt_handler(dev);
|
||||
if (valxor & 0x60) {
|
||||
set_com34_addr(dev);
|
||||
@@ -243,23 +234,23 @@ fdc37c6xx_write(uint16_t port, uint8_t val, void *priv)
|
||||
set_serial_addr(dev, 1);
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
if (valxor & 7)
|
||||
case 0x02:
|
||||
if (valxor & 0x07)
|
||||
set_serial_addr(dev, 0);
|
||||
if (valxor & 0x70)
|
||||
set_serial_addr(dev, 1);
|
||||
break;
|
||||
case 3:
|
||||
if (valxor & 2)
|
||||
fdc_update_enh_mode(dev->fdc, (dev->regs[3] & 2) ? 1 : 0);
|
||||
case 0x03:
|
||||
if (valxor & 0x02)
|
||||
fdc_update_enh_mode(dev->fdc, !!(dev->regs[0x03] & 0x02));
|
||||
break;
|
||||
case 4:
|
||||
case 0x04:
|
||||
if (valxor & 0x10)
|
||||
set_serial_addr(dev, 0);
|
||||
if (valxor & 0x20)
|
||||
set_serial_addr(dev, 1);
|
||||
break;
|
||||
case 5:
|
||||
case 0x05:
|
||||
if (valxor & 0x01)
|
||||
fdc_handler(dev);
|
||||
if (dev->has_ide && (valxor & 0x02))
|
||||
@@ -269,6 +260,10 @@ fdc37c6xx_write(uint16_t port, uint8_t val, void *priv)
|
||||
if (valxor & 0x20)
|
||||
fdc_set_swap(dev->fdc, (dev->regs[5] & 0x20) >> 5);
|
||||
break;
|
||||
case 0x0a:
|
||||
if (valxor)
|
||||
lpt_handler(dev);
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
@@ -285,7 +280,7 @@ fdc37c6xx_read(uint16_t port, void *priv)
|
||||
uint8_t ret = 0xff;
|
||||
|
||||
if (dev->tries == 2) {
|
||||
if ((port == 0x3f1) && (dev->cur_reg <= dev->max_reg))
|
||||
if ((port == 0x03f1) && (dev->cur_reg <= dev->max_reg))
|
||||
ret = dev->regs[dev->cur_reg];
|
||||
}
|
||||
|
||||
@@ -384,176 +379,25 @@ fdc37c6xx_init(const device_t *info)
|
||||
}
|
||||
|
||||
dev->lpt = device_add_inst(&lpt_port_device, 1);
|
||||
lpt_set_cnfgb_readout(dev->lpt, 0x00);
|
||||
|
||||
io_sethandler(FDC_PRIMARY_ADDR, 0x0002,
|
||||
fdc37c6xx_read, NULL, NULL, fdc37c6xx_write, NULL, NULL, dev);
|
||||
if (info->local & FDC37C6XX_370)
|
||||
io_sethandler(FDC_SECONDARY_ADDR, 0x0002,
|
||||
fdc37c6xx_read, NULL, NULL, fdc37c6xx_write, NULL, NULL, dev);
|
||||
else
|
||||
io_sethandler(FDC_PRIMARY_ADDR, 0x0002,
|
||||
fdc37c6xx_read, NULL, NULL, fdc37c6xx_write, NULL, NULL, dev);
|
||||
|
||||
fdc37c6xx_reset(dev);
|
||||
|
||||
return dev;
|
||||
}
|
||||
|
||||
/* The three appear to differ only in the chip ID, if I
|
||||
understood their datasheets correctly. */
|
||||
const device_t fdc37c651_device = {
|
||||
.name = "SMC FDC37C651 Super I/O",
|
||||
.internal_name = "fdc37c651",
|
||||
const device_t fdc37c6xx_device = {
|
||||
.name = "SMC FDC37C6xx Super I/O",
|
||||
.internal_name = "fdc37c6xx",
|
||||
.flags = 0,
|
||||
.local = 0x51,
|
||||
.init = fdc37c6xx_init,
|
||||
.close = fdc37c6xx_close,
|
||||
.reset = NULL,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t fdc37c651_ide_device = {
|
||||
.name = "SMC FDC37C651 Super I/O (With IDE)",
|
||||
.internal_name = "fdc37c651_ide",
|
||||
.flags = 0,
|
||||
.local = 0x151,
|
||||
.init = fdc37c6xx_init,
|
||||
.close = fdc37c6xx_close,
|
||||
.reset = NULL,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t fdc37c661_device = {
|
||||
.name = "SMC FDC37C661 Super I/O",
|
||||
.internal_name = "fdc37c661",
|
||||
.flags = 0,
|
||||
.local = 0x61,
|
||||
.init = fdc37c6xx_init,
|
||||
.close = fdc37c6xx_close,
|
||||
.reset = NULL,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t fdc37c661_ide_device = {
|
||||
.name = "SMC FDC37C661 Super I/O (With IDE)",
|
||||
.internal_name = "fdc37c661_ide",
|
||||
.flags = 0,
|
||||
.local = 0x161,
|
||||
.init = fdc37c6xx_init,
|
||||
.close = fdc37c6xx_close,
|
||||
.reset = NULL,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t fdc37c661_ide_sec_device = {
|
||||
.name = "SMC FDC37C661 Super I/O (With Secondary IDE)",
|
||||
.internal_name = "fdc37c661_ide_sec",
|
||||
.flags = 0,
|
||||
.local = 0x261,
|
||||
.init = fdc37c6xx_init,
|
||||
.close = fdc37c6xx_close,
|
||||
.reset = NULL,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t fdc37c663_device = {
|
||||
.name = "SMC FDC37C663 Super I/O",
|
||||
.internal_name = "fdc37c663",
|
||||
.flags = 0,
|
||||
.local = 0x63,
|
||||
.init = fdc37c6xx_init,
|
||||
.close = fdc37c6xx_close,
|
||||
.reset = NULL,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t fdc37c663_ide_device = {
|
||||
.name = "SMC FDC37C663 Super I/O (With IDE)",
|
||||
.internal_name = "fdc37c663_ide",
|
||||
.flags = 0,
|
||||
.local = 0x163,
|
||||
.init = fdc37c6xx_init,
|
||||
.close = fdc37c6xx_close,
|
||||
.reset = NULL,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t fdc37c665_device = {
|
||||
.name = "SMC FDC37C665 Super I/O",
|
||||
.internal_name = "fdc37c665",
|
||||
.flags = 0,
|
||||
.local = 0x65,
|
||||
.init = fdc37c6xx_init,
|
||||
.close = fdc37c6xx_close,
|
||||
.reset = NULL,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t fdc37c665_ide_device = {
|
||||
.name = "SMC FDC37C665 Super I/O (With IDE)",
|
||||
.internal_name = "fdc37c665_ide",
|
||||
.flags = 0,
|
||||
.local = 0x265,
|
||||
.init = fdc37c6xx_init,
|
||||
.close = fdc37c6xx_close,
|
||||
.reset = NULL,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t fdc37c665_ide_pri_device = {
|
||||
.name = "SMC FDC37C665 Super I/O (With Primary IDE)",
|
||||
.internal_name = "fdc37c665_ide_pri",
|
||||
.flags = 0,
|
||||
.local = 0x165,
|
||||
.init = fdc37c6xx_init,
|
||||
.close = fdc37c6xx_close,
|
||||
.reset = NULL,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t fdc37c665_ide_sec_device = {
|
||||
.name = "SMC FDC37C665 Super I/O (With Secondary IDE)",
|
||||
.internal_name = "fdc37c665_ide_sec",
|
||||
.flags = 0,
|
||||
.local = 0x265,
|
||||
.init = fdc37c6xx_init,
|
||||
.close = fdc37c6xx_close,
|
||||
.reset = NULL,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t fdc37c666_device = {
|
||||
.name = "SMC FDC37C666 Super I/O",
|
||||
.internal_name = "fdc37c666",
|
||||
.flags = 0,
|
||||
.local = 0x66,
|
||||
.local = 0,
|
||||
.init = fdc37c6xx_init,
|
||||
.close = fdc37c6xx_close,
|
||||
.reset = NULL,
|
||||
|
||||
@@ -792,11 +792,13 @@ fdc37c93x_lpt_handler(fdc37c93x_t *dev)
|
||||
{
|
||||
uint16_t ld_port = 0x0000;
|
||||
uint16_t mask = 0xfffc;
|
||||
uint8_t global_enable = !!(dev->regs[0x22] & (1 << 3));
|
||||
uint8_t local_enable = !!dev->ld_regs[3][0x30];
|
||||
uint8_t lpt_irq = dev->ld_regs[3][0x70];
|
||||
uint8_t lpt_dma = dev->ld_regs[3][0x74];
|
||||
uint8_t lpt_mode = dev->ld_regs[3][0xf0] & 0x07;
|
||||
uint8_t global_enable = !!(dev->regs[0x22] & (1 << 3));
|
||||
uint8_t local_enable = !!dev->ld_regs[3][0x30];
|
||||
uint8_t lpt_irq = dev->ld_regs[3][0x70];
|
||||
uint8_t lpt_dma = dev->ld_regs[3][0x74];
|
||||
uint8_t lpt_mode = dev->ld_regs[3][0xf0] & 0x07;
|
||||
uint8_t irq_readout[16] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x08,
|
||||
0x00, 0x10, 0x18, 0x20, 0x00, 0x00, 0x28, 0x30 };
|
||||
|
||||
if (lpt_irq > 15)
|
||||
lpt_irq = 0xff;
|
||||
@@ -843,6 +845,9 @@ fdc37c93x_lpt_handler(fdc37c93x_t *dev)
|
||||
}
|
||||
lpt_port_irq(dev->lpt, lpt_irq);
|
||||
lpt_port_dma(dev->lpt, lpt_dma);
|
||||
|
||||
lpt_set_cnfgb_readout(dev->lpt, ((lpt_irq > 15) ? 0x00 : irq_readout[lpt_irq]) |
|
||||
((lpt_dma >= 4) ? 0x00 : lpt_dma));
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -906,9 +911,11 @@ fdc37c93x_nvr_pri_handler(const fdc37c93x_t *dev)
|
||||
if (dev->chip_id != 0x02)
|
||||
local_enable &= ((dev->ld_regs[6][0xf0] & 0x90) != 0x80);
|
||||
|
||||
nvr_at_handler(0, 0x70, dev->nvr);
|
||||
if (local_enable)
|
||||
nvr_at_handler(1, 0x70, dev->nvr);
|
||||
if (dev->has_nvr) {
|
||||
nvr_at_handler(0, 0x70, dev->nvr);
|
||||
if (local_enable)
|
||||
nvr_at_handler(1, 0x70, dev->nvr);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -926,12 +933,12 @@ fdc37c93x_nvr_sec_handler(fdc37c93x_t *dev)
|
||||
dev->nvr_sec_base = make_port_sec(dev, 6) & 0xfffe;
|
||||
|
||||
if (dev->nvr_sec_base != old_base) {
|
||||
if ((old_base > 0x0000) && (old_base <= 0x0ffe))
|
||||
if (dev->has_nvr && (old_base > 0x0000) && (old_base <= 0x0ffe))
|
||||
nvr_at_sec_handler(0, dev->nvr_sec_base, dev->nvr);
|
||||
|
||||
/* Datasheet erratum: First it says minimum address is 0x0100, but later implies that it's 0x0000
|
||||
and that default is 0x0070, same as (unrelocatable) primary NVR. */
|
||||
if ((dev->nvr_sec_base > 0x0000) && (dev->nvr_sec_base <= 0x0ffe))
|
||||
if (dev->has_nvr && (dev->nvr_sec_base > 0x0000) && (dev->nvr_sec_base <= 0x0ffe))
|
||||
nvr_at_sec_handler(1, dev->nvr_sec_base, dev->nvr);
|
||||
}
|
||||
}
|
||||
@@ -1181,7 +1188,6 @@ fdc37c93x_write(uint16_t port, uint8_t val, void *priv)
|
||||
fdc_set_flags(dev->fdc, FDC_FLAG_PS2_MCA);
|
||||
break;
|
||||
}
|
||||
fdc_update_enh_mode(dev->fdc, val & 0x01);
|
||||
}
|
||||
if (valxor & 0x10)
|
||||
fdc_set_swap(dev->fdc, (val & 0x10) >> 4);
|
||||
@@ -1365,7 +1371,7 @@ fdc37c93x_write(uint16_t port, uint8_t val, void *priv)
|
||||
else
|
||||
dev->ld_regs[dev->regs[7]][dev->cur_reg] = val & 0x8f;
|
||||
|
||||
if (valxor) {
|
||||
if (dev->has_nvr && valxor) {
|
||||
nvr_lock_set(0x80, 0x20, !!(dev->ld_regs[6][dev->cur_reg] & 0x01), dev->nvr);
|
||||
nvr_lock_set(0xa0, 0x20, !!(dev->ld_regs[6][dev->cur_reg] & 0x02), dev->nvr);
|
||||
nvr_lock_set(0xc0, 0x20, !!(dev->ld_regs[6][dev->cur_reg] & 0x04), dev->nvr);
|
||||
|
||||
@@ -123,13 +123,15 @@ fdc37m60x_fdc_handler(fdc37m60x_t *dev)
|
||||
static void
|
||||
fdc37m60x_lpt_handler(fdc37m60x_t *dev)
|
||||
{
|
||||
uint16_t ld_port = 0x0000;
|
||||
uint16_t mask = 0xfffc;
|
||||
uint8_t global_enable = !!(dev->regs[0x22] & (1 << 3));
|
||||
uint8_t local_enable = !!dev->ld_regs[3][0x30];
|
||||
uint8_t lpt_irq = dev->ld_regs[3][0x70];
|
||||
uint8_t lpt_dma = dev->ld_regs[3][0x74];
|
||||
uint8_t lpt_mode = dev->ld_regs[3][0xf0] & 0x07;
|
||||
uint16_t ld_port = 0x0000;
|
||||
uint16_t mask = 0xfffc;
|
||||
uint8_t global_enable = !!(dev->regs[0x22] & (1 << 3));
|
||||
uint8_t local_enable = !!dev->ld_regs[3][0x30];
|
||||
uint8_t lpt_irq = dev->ld_regs[3][0x70];
|
||||
uint8_t lpt_dma = dev->ld_regs[3][0x74];
|
||||
uint8_t lpt_mode = dev->ld_regs[3][0xf0] & 0x07;
|
||||
uint8_t irq_readout[16] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x08,
|
||||
0x00, 0x10, 0x18, 0x20, 0x00, 0x00, 0x28, 0x30 };
|
||||
|
||||
if (lpt_irq > 15)
|
||||
lpt_irq = 0xff;
|
||||
@@ -176,6 +178,9 @@ fdc37m60x_lpt_handler(fdc37m60x_t *dev)
|
||||
}
|
||||
lpt_port_irq(dev->lpt, lpt_irq);
|
||||
lpt_port_dma(dev->lpt, lpt_dma);
|
||||
|
||||
lpt_set_cnfgb_readout(dev->lpt, ((lpt_irq > 15) ? 0x00 : irq_readout[lpt_irq]) |
|
||||
((lpt_dma >= 4) ? 0x00 : lpt_dma));
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -347,7 +352,6 @@ fdc37m60x_write(uint16_t port, uint8_t val, void *priv)
|
||||
fdc_set_flags(dev->fdc, FDC_FLAG_PS2_MCA);
|
||||
break;
|
||||
}
|
||||
fdc_update_enh_mode(dev->fdc, val & 0x01);
|
||||
}
|
||||
if (valxor & 0x10)
|
||||
fdc_set_swap(dev->fdc, (val & 0x10) >> 4);
|
||||
|
||||
373
src/sio/sio_gm82c803ab.c
Normal file
373
src/sio/sio_gm82c803ab.c
Normal file
@@ -0,0 +1,373 @@
|
||||
/*
|
||||
* 86Box A hypervisor and IBM PC system emulator that specializes in
|
||||
* running old operating systems and software designed for IBM
|
||||
* PC systems and compatibles from 1981 through fairly recent
|
||||
* system designs based on the PCI bus.
|
||||
*
|
||||
* This file is part of the 86Box distribution.
|
||||
*
|
||||
* Implementation of the GoldStar GM82C803 A andB Super I/O
|
||||
* Chips.
|
||||
*
|
||||
* Authors: Miran Grca, <mgrca8@gmail.com>
|
||||
*
|
||||
* Copyright 2025 Miran Grca.
|
||||
*/
|
||||
#include <stdio.h>
|
||||
#include <stdint.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <wchar.h>
|
||||
#include <86box/86box.h>
|
||||
#include <86box/io.h>
|
||||
#include <86box/timer.h>
|
||||
#include <86box/device.h>
|
||||
#include <86box/pci.h>
|
||||
#include <86box/lpt.h>
|
||||
#include <86box/serial.h>
|
||||
#include <86box/hdc.h>
|
||||
#include <86box/hdc_ide.h>
|
||||
#include <86box/fdd.h>
|
||||
#include <86box/fdc.h>
|
||||
#include <86box/sio.h>
|
||||
|
||||
typedef struct gm82c803ab_t {
|
||||
uint8_t type;
|
||||
uint8_t tries;
|
||||
uint8_t has_ide;
|
||||
uint8_t regs[256];
|
||||
int cur_reg;
|
||||
int com3_addr;
|
||||
int com4_addr;
|
||||
fdc_t *fdc;
|
||||
serial_t *uart[2];
|
||||
lpt_t *lpt;
|
||||
} gm82c803ab_t;
|
||||
|
||||
#ifdef ENABLE_GM82C803AB_LOG
|
||||
int gm82c803ab_do_log = ENABLE_GM82C803AB_LOG;
|
||||
|
||||
static void
|
||||
gm82c803ab_log(const char *fmt, ...)
|
||||
{
|
||||
va_list ap;
|
||||
|
||||
if (gm82c803ab_do_log) {
|
||||
va_start(ap, fmt);
|
||||
pclog_ex(fmt, ap);
|
||||
va_end(ap);
|
||||
}
|
||||
}
|
||||
#else
|
||||
# define gm82c803ab_log(fmt, ...)
|
||||
#endif
|
||||
|
||||
static void
|
||||
ide_handler(gm82c803ab_t *dev)
|
||||
{
|
||||
if (dev->has_ide > 0) {
|
||||
int ide_id = dev->has_ide - 1;
|
||||
|
||||
ide_handlers(ide_id, 0);
|
||||
|
||||
ide_set_base_addr(ide_id, 0, (dev->regs[0xa1] & 0x80) ? 0x0170 : 0x01f0);
|
||||
ide_set_base_addr(ide_id, 1, (dev->regs[0xa1] & 0x80) ? 0x0376 : 0x03f6);
|
||||
|
||||
if (dev->regs[0xa0] & 0x20)
|
||||
ide_handlers(ide_id, 1);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
fdc_handler(gm82c803ab_t *dev)
|
||||
{
|
||||
fdc_remove(dev->fdc);
|
||||
if (dev->regs[0xa0] & 0x10)
|
||||
fdc_set_base(dev->fdc, (dev->regs[0xa1] & 0x40) ? FDC_SECONDARY_ADDR : FDC_PRIMARY_ADDR);
|
||||
}
|
||||
|
||||
static void
|
||||
set_com34_addr(gm82c803ab_t *dev)
|
||||
{
|
||||
switch (dev->regs[0xa4] & 0xc0) {
|
||||
case 0x00:
|
||||
dev->com3_addr = COM3_ADDR;
|
||||
dev->com4_addr = COM4_ADDR;
|
||||
break;
|
||||
case 0x40:
|
||||
dev->com3_addr = 0x338;
|
||||
dev->com4_addr = 0x238;
|
||||
break;
|
||||
case 0x80:
|
||||
dev->com3_addr = COM3_ADDR;
|
||||
dev->com4_addr = 0x2e0;
|
||||
break;
|
||||
case 0xc0:
|
||||
dev->com3_addr = 0x220;
|
||||
dev->com4_addr = 0x228;
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
set_serial_addr(gm82c803ab_t *dev, int port)
|
||||
{
|
||||
uint8_t shift = 2 + (port << 1);
|
||||
double clock_src = 24000000.0 / 13.0;
|
||||
|
||||
if (dev->regs[0xa4] & (1 << (4 + port)))
|
||||
clock_src = 24000000.0 / 12.0;
|
||||
|
||||
serial_remove(dev->uart[port]);
|
||||
if (dev->regs[0xa0] & (0x04 << port)) {
|
||||
switch ((dev->regs[0xa1] >> shift) & 0x03) {
|
||||
case 0x00:
|
||||
serial_setup(dev->uart[port], COM1_ADDR, COM1_IRQ);
|
||||
break;
|
||||
case 0x01:
|
||||
serial_setup(dev->uart[port], COM2_ADDR, COM2_IRQ);
|
||||
break;
|
||||
case 0x02:
|
||||
serial_setup(dev->uart[port], dev->com3_addr, COM3_IRQ);
|
||||
break;
|
||||
case 0x03:
|
||||
serial_setup(dev->uart[port], dev->com4_addr, COM4_IRQ);
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
serial_set_clock_src(dev->uart[port], clock_src);
|
||||
}
|
||||
|
||||
static void
|
||||
lpt_handler(gm82c803ab_t *dev)
|
||||
{
|
||||
uint16_t lpt_port = 0x0000;
|
||||
uint16_t mask = 0xfffc;
|
||||
uint8_t local_enable = 1;
|
||||
uint8_t lpt_irq = LPT1_IRQ;
|
||||
uint8_t lpt_mode = (dev->regs[0xa0] & 0x03);
|
||||
|
||||
switch (lpt_mode) {
|
||||
default:
|
||||
local_enable = 0;
|
||||
break;
|
||||
case 0x00:
|
||||
lpt_set_epp(dev->lpt, 0);
|
||||
lpt_set_ecp(dev->lpt, 0);
|
||||
lpt_set_ext(dev->lpt, 1);
|
||||
break;
|
||||
case 0x01:
|
||||
if (dev->type == GM82C803B) {
|
||||
lpt_set_epp(dev->lpt, !!(dev->regs[0xa5] & 0x20));
|
||||
lpt_set_ecp(dev->lpt, 1);
|
||||
lpt_set_ext(dev->lpt, 0);
|
||||
} else
|
||||
local_enable = 0;
|
||||
break;
|
||||
case 0x02:
|
||||
if (dev->type == GM82C803B) {
|
||||
mask = 0xfff8;
|
||||
lpt_set_epp(dev->lpt, 1);
|
||||
lpt_set_ecp(dev->lpt, !!(dev->regs[0xa5] & 0x20));
|
||||
lpt_set_ext(dev->lpt, 0);
|
||||
} else
|
||||
local_enable = 0;
|
||||
break;
|
||||
}
|
||||
|
||||
switch (dev->regs[0xa1] & 0x03) {
|
||||
default:
|
||||
lpt_port = LPT_MDA_ADDR;
|
||||
lpt_irq = LPT_MDA_IRQ;
|
||||
break;
|
||||
case 0x00:
|
||||
lpt_port = LPT1_ADDR;
|
||||
lpt_irq = LPT1_IRQ /*LPT2_IRQ*/;
|
||||
break;
|
||||
case 0x01:
|
||||
lpt_port = LPT2_ADDR;
|
||||
lpt_irq = LPT1_IRQ /*LPT2_IRQ*/;
|
||||
break;
|
||||
}
|
||||
|
||||
if (lpt_irq > 15)
|
||||
lpt_irq = 0xff;
|
||||
|
||||
lpt_port_remove(dev->lpt);
|
||||
lpt_set_fifo_threshold(dev->lpt, dev->regs[0x0a] & 0x0f);
|
||||
|
||||
if (local_enable && (lpt_port >= 0x0100) && (lpt_port <= (0x0ffc & mask)))
|
||||
lpt_port_setup(dev->lpt, lpt_port);
|
||||
|
||||
lpt_port_irq(dev->lpt, lpt_irq);
|
||||
}
|
||||
|
||||
static void
|
||||
gm82c803ab_write(uint16_t port, uint8_t val, void *priv)
|
||||
{
|
||||
gm82c803ab_t *dev = (gm82c803ab_t *) priv;
|
||||
uint8_t valxor = 0;
|
||||
|
||||
if (dev->tries == 2) {
|
||||
if (port == 0x0398) {
|
||||
if (val == 0xcc)
|
||||
dev->tries = 0;
|
||||
else
|
||||
dev->cur_reg = val;
|
||||
} else {
|
||||
if ((dev->cur_reg < 0xa0) || (dev->cur_reg > 0xa5))
|
||||
return;
|
||||
|
||||
valxor = val ^ dev->regs[dev->cur_reg];
|
||||
dev->regs[dev->cur_reg] = val;
|
||||
|
||||
switch (dev->cur_reg) {
|
||||
default:
|
||||
break;
|
||||
case 0xa0: /* Function Selection Register (FSR) */
|
||||
if (valxor & 0x20)
|
||||
ide_handler(dev);
|
||||
if (valxor & 0x10)
|
||||
fdc_handler(dev);
|
||||
if (valxor & 0x08)
|
||||
set_serial_addr(dev, 1);
|
||||
if (valxor & 0x04)
|
||||
set_serial_addr(dev, 0);
|
||||
if (valxor & 0x03)
|
||||
lpt_handler(dev);
|
||||
break;
|
||||
case 0xa1: /* Address Selection Register (ASR) */
|
||||
if (valxor & 0x80)
|
||||
ide_handler(dev);
|
||||
if (valxor & 0x40)
|
||||
fdc_handler(dev);
|
||||
if (valxor & 0x30)
|
||||
set_serial_addr(dev, 1);
|
||||
if (valxor & 0x0c)
|
||||
set_serial_addr(dev, 0);
|
||||
if (valxor & 0x03)
|
||||
lpt_handler(dev);
|
||||
break;
|
||||
case 0xa4: /* Miscellaneous Function Register */
|
||||
if (valxor & 0xc0) {
|
||||
set_com34_addr(dev);
|
||||
set_serial_addr(dev, 0);
|
||||
set_serial_addr(dev, 1);
|
||||
}
|
||||
if (valxor & 0x20)
|
||||
set_serial_addr(dev, 1);
|
||||
if (valxor & 0x10)
|
||||
set_serial_addr(dev, 0);
|
||||
if (valxor & 0x01)
|
||||
fdc_set_swap(dev->fdc, val & 0x01);
|
||||
break;
|
||||
case 0xa5: /* ECP Register */
|
||||
if (valxor & 0x20)
|
||||
lpt_handler(dev);
|
||||
break;
|
||||
}
|
||||
}
|
||||
} else if ((port == 0x0398) && (val == 0x33))
|
||||
dev->tries++;
|
||||
}
|
||||
|
||||
static uint8_t
|
||||
gm82c803ab_read(uint16_t port, void *priv)
|
||||
{
|
||||
const gm82c803ab_t *dev = (gm82c803ab_t *) priv;
|
||||
uint8_t ret = 0xff;
|
||||
|
||||
if (dev->tries == 2) {
|
||||
if ((port == 0x0399) && (dev->cur_reg >= 0xa0) && (dev->cur_reg <= 0xa1))
|
||||
ret = dev->regs[dev->cur_reg];
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static void
|
||||
gm82c803ab_reset(gm82c803ab_t *dev)
|
||||
{
|
||||
dev->com3_addr = 0x338;
|
||||
dev->com4_addr = 0x238;
|
||||
|
||||
serial_remove(dev->uart[0]);
|
||||
serial_setup(dev->uart[0], COM1_ADDR, COM1_IRQ);
|
||||
|
||||
serial_remove(dev->uart[1]);
|
||||
serial_setup(dev->uart[1], COM2_ADDR, COM2_IRQ);
|
||||
|
||||
lpt_port_remove(dev->lpt);
|
||||
lpt_port_setup(dev->lpt, LPT1_ADDR);
|
||||
|
||||
fdc_reset(dev->fdc);
|
||||
fdc_remove(dev->fdc);
|
||||
|
||||
dev->tries = 0;
|
||||
memset(dev->regs, 0, 256);
|
||||
|
||||
dev->regs[0xa0] = 0xff;
|
||||
|
||||
set_serial_addr(dev, 0);
|
||||
set_serial_addr(dev, 1);
|
||||
|
||||
lpt_handler(dev);
|
||||
|
||||
fdc_handler(dev);
|
||||
|
||||
if (dev->has_ide)
|
||||
ide_handler(dev);
|
||||
}
|
||||
|
||||
static void
|
||||
gm82c803ab_close(void *priv)
|
||||
{
|
||||
gm82c803ab_t *dev = (gm82c803ab_t *) priv;
|
||||
|
||||
free(dev);
|
||||
}
|
||||
|
||||
static void *
|
||||
gm82c803ab_init(const device_t *info)
|
||||
{
|
||||
gm82c803ab_t *dev = (gm82c803ab_t *) calloc(1, sizeof(gm82c803ab_t));
|
||||
|
||||
dev->fdc = device_add(&fdc_at_smc_device);
|
||||
|
||||
dev->type = info->local & 0xff;
|
||||
dev->has_ide = (info->local >> 8) & 0xff;
|
||||
|
||||
dev->uart[0] = device_add_inst(&ns16550_device, 1);
|
||||
dev->uart[1] = device_add_inst(&ns16550_device, 2);
|
||||
|
||||
dev->lpt = device_add_inst(&lpt_port_device, 1);
|
||||
lpt_set_cnfgb_readout(dev->lpt, 0x00);
|
||||
|
||||
io_sethandler(0x0398, 0x0002,
|
||||
gm82c803ab_read, NULL, NULL, gm82c803ab_write, NULL, NULL, dev);
|
||||
|
||||
gm82c803ab_reset(dev);
|
||||
|
||||
return dev;
|
||||
}
|
||||
|
||||
const device_t gm82c803ab_device = {
|
||||
.name = "Goldstar GMC82C803A/B",
|
||||
.internal_name = "gm82c803ab",
|
||||
.flags = 0,
|
||||
.local = 0,
|
||||
.init = gm82c803ab_init,
|
||||
.close = gm82c803ab_close,
|
||||
.reset = NULL,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
383
src/sio/sio_gm82c803c.c
Normal file
383
src/sio/sio_gm82c803c.c
Normal file
@@ -0,0 +1,383 @@
|
||||
/*
|
||||
* 86Box A hypervisor and IBM PC system emulator that specializes in
|
||||
* running old operating systems and software designed for IBM
|
||||
* PC systems and compatibles from 1981 through fairly recent
|
||||
* system designs based on the PCI bus.
|
||||
*
|
||||
* This file is part of the 86Box distribution.
|
||||
*
|
||||
* Implementation of the GoldStar GM82C803C Super I/O Chip.
|
||||
*
|
||||
* Authors: Miran Grca, <mgrca8@gmail.com>
|
||||
*
|
||||
* Copyright 2025 Miran Grca.
|
||||
*/
|
||||
#include <stdio.h>
|
||||
#include <stdint.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <wchar.h>
|
||||
#include <86box/86box.h>
|
||||
#include <86box/io.h>
|
||||
#include <86box/timer.h>
|
||||
#include <86box/device.h>
|
||||
#include <86box/pci.h>
|
||||
#include <86box/lpt.h>
|
||||
#include <86box/serial.h>
|
||||
#include <86box/hdc.h>
|
||||
#include <86box/hdc_ide.h>
|
||||
#include <86box/fdd.h>
|
||||
#include <86box/fdc.h>
|
||||
#include <86box/sio.h>
|
||||
|
||||
typedef struct gm82c803c_t {
|
||||
uint8_t tries;
|
||||
uint8_t has_ide;
|
||||
uint8_t dma_map[4];
|
||||
uint8_t irq_map[10];
|
||||
uint8_t regs[256];
|
||||
int cur_reg;
|
||||
fdc_t *fdc;
|
||||
serial_t *uart[2];
|
||||
lpt_t *lpt;
|
||||
} gm82c803c_t;
|
||||
|
||||
#ifdef ENABLE_GM82C803C_LOG
|
||||
int gm82c803c_do_log = ENABLE_GM82C803C_LOG;
|
||||
|
||||
static void
|
||||
gm82c803c_log(const char *fmt, ...)
|
||||
{
|
||||
va_list ap;
|
||||
|
||||
if (gm82c803c_do_log) {
|
||||
va_start(ap, fmt);
|
||||
pclog_ex(fmt, ap);
|
||||
va_end(ap);
|
||||
}
|
||||
}
|
||||
#else
|
||||
# define gm82c803c_log(fmt, ...)
|
||||
#endif
|
||||
|
||||
static void
|
||||
ide_handler(gm82c803c_t *dev)
|
||||
{
|
||||
uint16_t ide_port = 0x0000;
|
||||
|
||||
if (dev->has_ide > 0) {
|
||||
int ide_id = dev->has_ide - 1;
|
||||
|
||||
ide_handlers(ide_id, 0);
|
||||
|
||||
ide_port = (dev->regs[0xc4] << 2) & 0xfff0;
|
||||
ide_set_base_addr(ide_id, 0, ide_port);
|
||||
|
||||
ide_port = ((dev->regs[0xc5] << 2) & 0xfff0) | 0x0006;
|
||||
ide_set_base_addr(ide_id, 1, ide_port);
|
||||
|
||||
if (dev->regs[0xc2] & 0x20)
|
||||
ide_handlers(ide_id, 1);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
fdc_handler(gm82c803c_t *dev)
|
||||
{
|
||||
uint16_t fdc_port = 0x0000;
|
||||
uint8_t fdc_irq = 6;
|
||||
uint8_t fdc_dma = 2;
|
||||
|
||||
fdc_port = (dev->regs[0xc3] << 2) & 0xfff0;
|
||||
|
||||
fdc_irq = dev->irq_map[dev->regs[0xca] >> 4];
|
||||
fdc_dma = dev->dma_map[(dev->regs[0xc9] >> 4) & 0x03];
|
||||
|
||||
fdc_set_irq(dev->fdc, fdc_irq);
|
||||
fdc_set_dma_ch(dev->fdc, fdc_dma);
|
||||
|
||||
fdc_remove(dev->fdc);
|
||||
if (dev->regs[0xc2] & 0x10)
|
||||
fdc_set_base(dev->fdc, fdc_port);
|
||||
}
|
||||
|
||||
static void
|
||||
set_serial_addr(gm82c803c_t *dev, int port)
|
||||
{
|
||||
uint16_t serial_port = 0x0000;
|
||||
uint8_t serial_irq = COM1_IRQ;
|
||||
double clock_src = 24000000.0 / 13.0;
|
||||
|
||||
if (dev->regs[0xce] & (1 << (6 + port)))
|
||||
clock_src = 24000000.0 / 3.0;
|
||||
else if (dev->regs[0xd1] & (1 << port))
|
||||
clock_src = 24000000.0 / 12.0;
|
||||
|
||||
serial_remove(dev->uart[port]);
|
||||
if (dev->regs[0xc2] & (0x04 << port)) {
|
||||
serial_port = (dev->regs[0xc7 + port] << 2) & 0xfff8;
|
||||
serial_irq = dev->irq_map[dev->regs[0xcb] >> ((port ^ 1) * 0xff)];
|
||||
|
||||
serial_setup(dev->uart[port], serial_port, serial_irq);
|
||||
}
|
||||
|
||||
serial_set_clock_src(dev->uart[port], clock_src);
|
||||
}
|
||||
|
||||
static void
|
||||
lpt_handler(gm82c803c_t *dev)
|
||||
{
|
||||
uint16_t lpt_port = 0x0000;
|
||||
uint16_t mask = 0xfffc;
|
||||
uint8_t local_enable = 1;
|
||||
uint8_t lpt_irq = LPT1_IRQ;
|
||||
uint8_t lpt_dma = 3;
|
||||
uint8_t lpt_mode = (dev->regs[0xc2] & 0x03);
|
||||
|
||||
switch (lpt_mode) {
|
||||
default:
|
||||
local_enable = 0;
|
||||
break;
|
||||
case 0x00:
|
||||
lpt_set_epp(dev->lpt, 0);
|
||||
lpt_set_ecp(dev->lpt, 0);
|
||||
lpt_set_ext(dev->lpt, 1);
|
||||
break;
|
||||
case 0x01:
|
||||
lpt_set_epp(dev->lpt, !!(dev->regs[0xd0] & 0x20));
|
||||
lpt_set_ecp(dev->lpt, 1);
|
||||
lpt_set_ext(dev->lpt, 0);
|
||||
break;
|
||||
case 0x02:
|
||||
mask = 0xfff8;
|
||||
lpt_set_epp(dev->lpt, 1);
|
||||
lpt_set_ecp(dev->lpt, !!(dev->regs[0xd0] & 0x20));
|
||||
lpt_set_ext(dev->lpt, 0);
|
||||
break;
|
||||
}
|
||||
|
||||
lpt_port = ((dev->regs[0xc6] << 2) & 0xfffc) & mask;
|
||||
|
||||
lpt_irq = dev->irq_map[dev->regs[0xca] & 0x0f];
|
||||
lpt_dma = dev->dma_map[dev->regs[0xc9] & 0x03];
|
||||
|
||||
if (lpt_irq > 15)
|
||||
lpt_irq = 0xff;
|
||||
|
||||
lpt_port_remove(dev->lpt);
|
||||
lpt_set_fifo_threshold(dev->lpt, dev->regs[0x0a] & 0x0f);
|
||||
|
||||
if (local_enable && (lpt_port >= 0x0100) && (lpt_port <= (0x0ffc & mask)))
|
||||
lpt_port_setup(dev->lpt, lpt_port);
|
||||
|
||||
lpt_port_irq(dev->lpt, lpt_irq);
|
||||
lpt_port_dma(dev->lpt, lpt_dma);
|
||||
}
|
||||
|
||||
static void
|
||||
gm82c803c_write(uint16_t port, uint8_t val, void *priv)
|
||||
{
|
||||
gm82c803c_t *dev = (gm82c803c_t *) priv;
|
||||
uint8_t valxor = 0;
|
||||
|
||||
if (dev->tries == 2) {
|
||||
if (port == 0x0398) {
|
||||
if (val == 0xcc)
|
||||
dev->tries = 0;
|
||||
else
|
||||
dev->cur_reg = val;
|
||||
} else {
|
||||
if ((dev->cur_reg < 0xc2) || (dev->cur_reg > 0xd8))
|
||||
return;
|
||||
|
||||
valxor = val ^ dev->regs[dev->cur_reg];
|
||||
dev->regs[dev->cur_reg] = val;
|
||||
|
||||
switch (dev->cur_reg) {
|
||||
default:
|
||||
break;
|
||||
case 0xc2:
|
||||
if (valxor & 0x20)
|
||||
ide_handler(dev);
|
||||
if (valxor & 0x10)
|
||||
fdc_handler(dev);
|
||||
if (valxor & 0x08)
|
||||
set_serial_addr(dev, 1);
|
||||
if (valxor & 0x04)
|
||||
set_serial_addr(dev, 0);
|
||||
if (valxor & 0x03)
|
||||
lpt_handler(dev);
|
||||
break;
|
||||
case 0xc3:
|
||||
if (valxor)
|
||||
fdc_handler(dev);
|
||||
break;
|
||||
case 0xc4: case 0xc5:
|
||||
if (valxor)
|
||||
ide_handler(dev);
|
||||
break;
|
||||
case 0xc6:
|
||||
if (valxor)
|
||||
lpt_handler(dev);
|
||||
break;
|
||||
case 0xc7:
|
||||
if (valxor)
|
||||
set_serial_addr(dev, 0);
|
||||
case 0xc8:
|
||||
if (valxor)
|
||||
set_serial_addr(dev, 1);
|
||||
case 0xc9:
|
||||
if (valxor & 0xf0)
|
||||
fdc_handler(dev);
|
||||
if (valxor & 0x0f)
|
||||
lpt_handler(dev);
|
||||
break;
|
||||
case 0xca:
|
||||
if (valxor & 0xf0)
|
||||
fdc_handler(dev);
|
||||
if (valxor & 0x0f)
|
||||
lpt_handler(dev);
|
||||
break;
|
||||
case 0xcb:
|
||||
if (valxor & 0xf0)
|
||||
set_serial_addr(dev, 0);
|
||||
if (valxor & 0x0f)
|
||||
set_serial_addr(dev, 1);
|
||||
break;
|
||||
case 0xce:
|
||||
if (valxor & 0x80)
|
||||
set_serial_addr(dev, 1);
|
||||
if (valxor & 0x40)
|
||||
set_serial_addr(dev, 0);
|
||||
break;
|
||||
case 0xd0:
|
||||
if (valxor & 0x20)
|
||||
lpt_handler(dev);
|
||||
break;
|
||||
case 0xd1:
|
||||
if (valxor & 0x02)
|
||||
set_serial_addr(dev, 1);
|
||||
if (valxor & 0x01)
|
||||
set_serial_addr(dev, 0);
|
||||
break;
|
||||
|
||||
if (valxor & 0x20)
|
||||
ide_handler(dev);
|
||||
if (valxor & 0x08)
|
||||
set_serial_addr(dev, 1);
|
||||
if (valxor & 0x04)
|
||||
set_serial_addr(dev, 0);
|
||||
break;
|
||||
}
|
||||
}
|
||||
} else if ((port == 0x0398) && (val == 0x33))
|
||||
dev->tries++;
|
||||
}
|
||||
|
||||
static uint8_t
|
||||
gm82c803c_read(uint16_t port, void *priv)
|
||||
{
|
||||
const gm82c803c_t *dev = (gm82c803c_t *) priv;
|
||||
uint8_t ret = 0xff;
|
||||
|
||||
if (dev->tries == 2) {
|
||||
if ((port == 0x0399) && (dev->cur_reg >= 0xa0) && (dev->cur_reg <= 0xa1))
|
||||
ret = dev->regs[dev->cur_reg];
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static void
|
||||
gm82c803c_reset(gm82c803c_t *dev)
|
||||
{
|
||||
serial_remove(dev->uart[0]);
|
||||
serial_setup(dev->uart[0], COM1_ADDR, COM1_IRQ);
|
||||
|
||||
serial_remove(dev->uart[1]);
|
||||
serial_setup(dev->uart[1], COM2_ADDR, COM2_IRQ);
|
||||
|
||||
lpt_port_remove(dev->lpt);
|
||||
lpt_port_setup(dev->lpt, LPT1_ADDR);
|
||||
|
||||
fdc_reset(dev->fdc);
|
||||
fdc_remove(dev->fdc);
|
||||
|
||||
dev->tries = 0;
|
||||
memset(dev->regs, 0, 256);
|
||||
|
||||
dev->regs[0xc0] = 0x3c;
|
||||
dev->regs[0xc2] = 0x03;
|
||||
dev->regs[0xc3] = 0x3c;
|
||||
dev->regs[0xc4] = 0x3c;
|
||||
dev->regs[0xc5] = 0x3d;
|
||||
dev->regs[0xd5] = 0x3c;
|
||||
|
||||
set_serial_addr(dev, 0);
|
||||
set_serial_addr(dev, 1);
|
||||
|
||||
lpt_handler(dev);
|
||||
|
||||
fdc_handler(dev);
|
||||
|
||||
if (dev->has_ide)
|
||||
ide_handler(dev);
|
||||
}
|
||||
|
||||
static void
|
||||
gm82c803c_close(void *priv)
|
||||
{
|
||||
gm82c803c_t *dev = (gm82c803c_t *) priv;
|
||||
|
||||
free(dev);
|
||||
}
|
||||
|
||||
static void *
|
||||
gm82c803c_init(const device_t *info)
|
||||
{
|
||||
gm82c803c_t *dev = (gm82c803c_t *) calloc(1, sizeof(gm82c803c_t));
|
||||
|
||||
dev->fdc = device_add(&fdc_at_smc_device);
|
||||
|
||||
dev->has_ide = (info->local >> 8) & 0xff;
|
||||
|
||||
dev->uart[0] = device_add_inst(&ns16550_device, 1);
|
||||
dev->uart[1] = device_add_inst(&ns16550_device, 2);
|
||||
|
||||
dev->lpt = device_add_inst(&lpt_port_device, 1);
|
||||
lpt_set_cnfgb_readout(dev->lpt, 0x00);
|
||||
|
||||
io_sethandler(0x0398, 0x0002,
|
||||
gm82c803c_read, NULL, NULL, gm82c803c_write, NULL, NULL, dev);
|
||||
|
||||
dev->dma_map[0] = 4;
|
||||
for (int i = 1; i < 4; i++)
|
||||
dev->dma_map[i] = i;
|
||||
|
||||
memset(dev->irq_map, 0xff, 16);
|
||||
dev->irq_map[0] = 0xff;
|
||||
for (int i = 1; i < 7; i++)
|
||||
dev->irq_map[i] = i;
|
||||
dev->irq_map[1] = 5;
|
||||
dev->irq_map[5] = 7;
|
||||
dev->irq_map[7] = 0xff; /* Reserved. */
|
||||
dev->irq_map[8] = 10;
|
||||
|
||||
gm82c803c_reset(dev);
|
||||
|
||||
return dev;
|
||||
}
|
||||
|
||||
const device_t gm82c803c_device = {
|
||||
.name = "Goldstar GM82C803C",
|
||||
.internal_name = "gm82c803c",
|
||||
.flags = 0,
|
||||
.local = 0,
|
||||
.init = gm82c803c_init,
|
||||
.close = gm82c803c_close,
|
||||
.reset = NULL,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
@@ -296,6 +296,9 @@ it8661f_pnp_config_changed(uint8_t ld, isapnp_device_config_t *config, void *pri
|
||||
if (config->activate && (config->io[0].base != ISAPNP_IO_DISABLED)) {
|
||||
it86x1f_log("IT86x1F: LPT enabled at port %04X IRQ %d\n", config->io[0].base, config->irq[0].irq);
|
||||
lpt_port_setup(dev->lpt, config->io[0].base);
|
||||
|
||||
lpt_port_irq(dev->lpt, config->irq[0].irq);
|
||||
lpt_port_dma(dev->lpt, (config->dma[0].dma == ISAPNP_DMA_DISABLED) ? -1 : config->dma[0].dma);
|
||||
} else {
|
||||
it86x1f_log("IT86x1F: LPT disabled\n");
|
||||
}
|
||||
@@ -466,6 +469,13 @@ it86x1f_pnp_write_vendor_reg(uint8_t ld, uint8_t reg, uint8_t val, void *priv)
|
||||
case 0x0f0:
|
||||
dev->ldn_regs[ld][reg & 0x0f] = val & 0x0f;
|
||||
fdc_set_swwp(dev->fdc, !!(val & 0x01));
|
||||
if (val & 0x02) {
|
||||
for (int i = 0; i < 4; i++)
|
||||
fdc_update_drvrate(dev->fdc, i, 1);
|
||||
} else {
|
||||
for (int i = 0; i < 4; i++)
|
||||
fdc_update_drvrate(dev->fdc, i, 0);
|
||||
}
|
||||
fdc_set_swap(dev->fdc, !!(val & 0x04));
|
||||
break;
|
||||
|
||||
@@ -484,6 +494,8 @@ it86x1f_pnp_write_vendor_reg(uint8_t ld, uint8_t reg, uint8_t val, void *priv)
|
||||
|
||||
case 0x3f0:
|
||||
dev->ldn_regs[ld][reg & 0x0f] = val & 0x07;
|
||||
lpt_set_epp(dev->lpt, val & 0x01);
|
||||
lpt_set_ecp(dev->lpt, val & 0x02);
|
||||
break;
|
||||
|
||||
case 0x4f0:
|
||||
@@ -772,6 +784,9 @@ it86x1f_reset(it86x1f_t *dev)
|
||||
{
|
||||
it86x1f_log("IT86x1F: reset()\n");
|
||||
|
||||
for (int i = 0; i < 4; i++)
|
||||
fdc_update_drvrate(dev->fdc, i, 0);
|
||||
|
||||
fdc_reset(dev->fdc);
|
||||
|
||||
serial_remove(dev->uart[0]);
|
||||
@@ -780,6 +795,9 @@ it86x1f_reset(it86x1f_t *dev)
|
||||
|
||||
lpt_port_remove(dev->lpt);
|
||||
|
||||
lpt_set_epp(dev->lpt, 0);
|
||||
lpt_set_ecp(dev->lpt, 0);
|
||||
|
||||
isapnp_enable_card(dev->pnp_card, ISAPNP_CARD_DISABLE);
|
||||
|
||||
dev->locked = 1;
|
||||
@@ -825,6 +843,9 @@ it86x1f_init(UNUSED(const device_t *info))
|
||||
|
||||
dev->lpt = device_add_inst(&lpt_port_device, 1);
|
||||
|
||||
lpt_set_cnfgb_readout(dev->lpt, 0x00);
|
||||
lpt_set_ext(dev->lpt, 1);
|
||||
|
||||
dev->gameport = gameport_add(&gameport_sio_device);
|
||||
|
||||
dev->instance = device_get_instance();
|
||||
|
||||
@@ -123,15 +123,12 @@ lpt_handler(pc87306_t *dev)
|
||||
{
|
||||
int temp;
|
||||
uint16_t lptba;
|
||||
uint16_t lpt_port = LPT1_ADDR;
|
||||
uint8_t lpt_irq = LPT2_IRQ;
|
||||
uint8_t lpt_dma = ((dev->regs[0x18] & 0x06) >> 1);
|
||||
uint16_t lpt_port = LPT1_ADDR;
|
||||
uint8_t lpt_irq = LPT2_IRQ;
|
||||
uint8_t cnfgb_readout = 0x08;
|
||||
|
||||
lpt_port_remove(dev->lpt);
|
||||
|
||||
if (lpt_dma == 0x00)
|
||||
lpt_dma = 0xff;
|
||||
|
||||
temp = dev->regs[0x01] & 3;
|
||||
lptba = ((uint16_t) dev->regs[0x19]) << 2;
|
||||
|
||||
@@ -163,6 +160,10 @@ lpt_handler(pc87306_t *dev)
|
||||
if (dev->regs[0x1b] & 0x10)
|
||||
lpt_irq = (dev->regs[0x1b] & 0x20) ? 7 : 5;
|
||||
|
||||
cnfgb_readout |= (lpt_irq == 5) ? 0x30 : 0x00;
|
||||
cnfgb_readout |= (dev->regs[0x18] & 0x06) >> 1;
|
||||
|
||||
lpt_set_cnfgb_readout(dev->lpt, cnfgb_readout);
|
||||
lpt_set_ext(dev->lpt, !!(dev->regs[0x02] & 0x80));
|
||||
|
||||
lpt_set_epp(dev->lpt, !!(dev->regs[0x04] & 0x01));
|
||||
@@ -173,7 +174,8 @@ lpt_handler(pc87306_t *dev)
|
||||
|
||||
lpt_port_irq(dev->lpt, lpt_irq);
|
||||
|
||||
lpt_port_dma(dev->lpt, lpt_dma);
|
||||
if ((dev->regs[0x18] & 0x06) != 0x00)
|
||||
lpt_port_dma(dev->lpt, (dev->regs[0x18] & 0x08) ? 3 : 1);
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -374,6 +376,8 @@ pc87306_write(uint16_t port, uint8_t val, void *priv)
|
||||
fdc_update_enh_mode(dev->fdc, (val & 4) ? 1 : 0);
|
||||
fdc_update_densel_polarity(dev->fdc, (val & 0x40) ? 1 : 0);
|
||||
}
|
||||
if (valxor & 0x20)
|
||||
lpt_set_cnfga_readout(dev->lpt, (val & 0x20) ? 0x18 : 0x10);
|
||||
break;
|
||||
case 0x0f:
|
||||
if (valxor)
|
||||
@@ -386,7 +390,7 @@ pc87306_write(uint16_t port, uint8_t val, void *priv)
|
||||
pc87306_gpio_handler(dev);
|
||||
break;
|
||||
case 0x18:
|
||||
if (valxor & (0x06)) {
|
||||
if (valxor & (0x0e)) {
|
||||
lpt_port_remove(dev->lpt);
|
||||
if ((dev->regs[0x00] & 0x01) && !(dev->regs[0x02] & 0x01))
|
||||
lpt_handler(dev);
|
||||
@@ -434,15 +438,21 @@ pc87306_read(uint16_t port, void *priv)
|
||||
|
||||
index = (port & 1) ? 0 : 1;
|
||||
|
||||
dev->tries = 0;
|
||||
|
||||
if (index)
|
||||
if (dev->tries == 0xff) {
|
||||
ret = 0x88;
|
||||
dev->tries = 0xfe;
|
||||
} else if (dev->tries == 0xfe) {
|
||||
ret = 0x00;
|
||||
dev->tries = 0;
|
||||
} else if (index) {
|
||||
ret = dev->cur_reg & 0x1f;
|
||||
else {
|
||||
dev->tries = 0;
|
||||
} else {
|
||||
if (dev->cur_reg == 8)
|
||||
ret = 0x70;
|
||||
else if (dev->cur_reg < 28)
|
||||
ret = dev->regs[dev->cur_reg];
|
||||
dev->tries = 0;
|
||||
}
|
||||
|
||||
return ret;
|
||||
@@ -455,6 +465,8 @@ pc87306_reset_common(void *priv)
|
||||
|
||||
memset(dev->regs, 0, 29);
|
||||
|
||||
dev->tries = 0xff;
|
||||
|
||||
dev->regs[0x00] = 0x0B;
|
||||
dev->regs[0x01] = 0x01;
|
||||
dev->regs[0x03] = 0x01;
|
||||
@@ -470,6 +482,7 @@ pc87306_reset_common(void *priv)
|
||||
0 = 360 rpm @ 500 kbps for 3.5"
|
||||
1 = Default, 300 rpm @ 500, 300, 250, 1000 kbps for 3.5"
|
||||
*/
|
||||
lpt_set_cnfga_readout(dev->lpt, 0x10);
|
||||
lpt_port_remove(dev->lpt);
|
||||
lpt_handler(dev);
|
||||
serial_remove(dev->uart[0x00]);
|
||||
@@ -517,6 +530,7 @@ pc87306_init(UNUSED(const device_t *info))
|
||||
dev->uart[0x01] = device_add_inst(&ns16550_device, 2);
|
||||
|
||||
dev->lpt = device_add_inst(&lpt_port_device, 1);
|
||||
lpt_set_cnfga_readout(dev->lpt, 0x10);
|
||||
|
||||
dev->nvr = device_add(&at_mb_nvr_device);
|
||||
|
||||
|
||||
@@ -42,7 +42,7 @@ typedef struct pc87307_t {
|
||||
uint8_t baddr;
|
||||
uint8_t pm_idx;
|
||||
uint8_t regs[48];
|
||||
uint8_t ld_regs[256][208];
|
||||
uint8_t ld_regs[256][256];
|
||||
uint8_t pcregs[16];
|
||||
uint8_t gpio[2][8];
|
||||
uint8_t pm[8];
|
||||
@@ -267,6 +267,7 @@ fdc_handler(pc87307_t *dev)
|
||||
uint8_t active = (dev->ld_regs[LD_FDC][0x00] & 0x01) &&
|
||||
(dev->pm[0x00] & 0x08);
|
||||
uint8_t irq = (dev->ld_regs[LD_FDC][0x40] & 0x0f);
|
||||
uint8_t dma = (dev->ld_regs[LD_FDC][0x44] & 0x0f);
|
||||
uint16_t addr = ((dev->ld_regs[LD_FDC][0x30] << 8) |
|
||||
dev->ld_regs[LD_FDC][0x31]) & 0xfff8;
|
||||
|
||||
@@ -274,6 +275,7 @@ fdc_handler(pc87307_t *dev)
|
||||
pc87307_log("Enabling FDC on %04X, IRQ %i...\n", addr, irq);
|
||||
fdc_set_base(dev->fdc, addr);
|
||||
fdc_set_irq(dev->fdc, irq);
|
||||
fdc_set_dma_ch(dev->fdc, dma);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -283,16 +285,61 @@ lpt_handler(pc87307_t *dev)
|
||||
uint8_t active = (dev->ld_regs[LD_LPT][0x00] & 0x01) &&
|
||||
(dev->pm[0x00] & 0x10);
|
||||
uint8_t irq = (dev->ld_regs[LD_LPT][0x40] & 0x0f);
|
||||
uint8_t dma = (dev->ld_regs[LD_LPT][0x44] & 0x0f);
|
||||
uint16_t addr = (dev->ld_regs[LD_LPT][0x30] << 8) |
|
||||
dev->ld_regs[LD_LPT][0x31];
|
||||
uint8_t mode = (dev->ld_regs[LD_LPT][0xf0] >> 7);
|
||||
uint16_t mask = 0xfffc;
|
||||
|
||||
if (active && (addr <= 0xfffc)) {
|
||||
if (irq > 15)
|
||||
irq = 0xff;
|
||||
|
||||
if (dma >= 4)
|
||||
dma = 0xff;
|
||||
|
||||
lpt_port_remove(dev->lpt);
|
||||
|
||||
switch (mode) {
|
||||
default:
|
||||
case 0x00:
|
||||
lpt_set_epp(dev->lpt, 0);
|
||||
lpt_set_ecp(dev->lpt, 0);
|
||||
lpt_set_ext(dev->lpt, 0);
|
||||
break;
|
||||
case 0x01:
|
||||
lpt_set_epp(dev->lpt, 0);
|
||||
lpt_set_ecp(dev->lpt, 0);
|
||||
lpt_set_ext(dev->lpt, 1);
|
||||
break;
|
||||
case 0x02: case 0x03:
|
||||
mask = 0xfff8;
|
||||
lpt_set_epp(dev->lpt, 1);
|
||||
lpt_set_ecp(dev->lpt, 0);
|
||||
lpt_set_ext(dev->lpt, 0);
|
||||
break;
|
||||
case 0x04:
|
||||
lpt_set_epp(dev->lpt, 0);
|
||||
lpt_set_ecp(dev->lpt, 1);
|
||||
lpt_set_ext(dev->lpt, 0);
|
||||
break;
|
||||
case 0x07:
|
||||
mask = 0xfff8;
|
||||
lpt_set_epp(dev->lpt, 1);
|
||||
lpt_set_ecp(dev->lpt, 1);
|
||||
lpt_set_ext(dev->lpt, 0);
|
||||
break;
|
||||
}
|
||||
|
||||
lpt_set_cfg_regs_enabled(dev->lpt, !!(dev->ld_regs[LD_LPT][0xf0] & 0x10));
|
||||
|
||||
if (active && (addr <= (0xfffc & mask))) {
|
||||
pc87307_log("Enabling LPT1 on %04X...\n", addr);
|
||||
lpt_port_setup(dev->lpt, addr);
|
||||
lpt_port_setup(dev->lpt, addr & mask);
|
||||
} else
|
||||
lpt_port_setup(dev->lpt, 0xffff);
|
||||
|
||||
lpt_port_irq(dev->lpt, irq);
|
||||
lpt_port_dma(dev->lpt, dma);
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -852,6 +899,7 @@ pc87307_init(const device_t *info)
|
||||
dev->uart[1] = device_add_inst(&ns16550_device, 2);
|
||||
|
||||
dev->lpt = device_add_inst(&lpt_port_device, 1);
|
||||
lpt_set_cnfga_readout(dev->lpt, 0x14);
|
||||
|
||||
switch (info->local & PCX730X_KBC) {
|
||||
default:
|
||||
|
||||
@@ -42,7 +42,7 @@ typedef struct pc87309_t {
|
||||
uint8_t baddr;
|
||||
uint8_t pm_idx;
|
||||
uint8_t regs[48];
|
||||
uint8_t ld_regs[256][208];
|
||||
uint8_t ld_regs[256][256];
|
||||
uint8_t pm[8];
|
||||
uint16_t superio_base;
|
||||
uint16_t pm_base;
|
||||
@@ -183,6 +183,7 @@ fdc_handler(pc87309_t *dev)
|
||||
uint8_t active = (dev->ld_regs[LD_FDC][0x00] & 0x01) &&
|
||||
(dev->pm[0x00] & 0x08);
|
||||
uint8_t irq = (dev->ld_regs[LD_FDC][0x40] & 0x0f);
|
||||
uint8_t dma = (dev->ld_regs[LD_FDC][0x44] & 0x0f);
|
||||
uint16_t addr = ((dev->ld_regs[LD_FDC][0x30] << 8) |
|
||||
dev->ld_regs[LD_FDC][0x31]) & 0xfff8;
|
||||
|
||||
@@ -190,6 +191,7 @@ fdc_handler(pc87309_t *dev)
|
||||
pc87309_log("Enabling FDC on %04X, IRQ %i...\n", addr, irq);
|
||||
fdc_set_base(dev->fdc, addr);
|
||||
fdc_set_irq(dev->fdc, irq);
|
||||
fdc_set_dma_ch(dev->fdc, dma);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -199,16 +201,61 @@ lpt_handler(pc87309_t *dev)
|
||||
uint8_t active = (dev->ld_regs[LD_LPT][0x00] & 0x01) &&
|
||||
(dev->pm[0x00] & 0x10);
|
||||
uint8_t irq = (dev->ld_regs[LD_LPT][0x40] & 0x0f);
|
||||
uint8_t dma = (dev->ld_regs[LD_LPT][0x44] & 0x0f);
|
||||
uint16_t addr = (dev->ld_regs[LD_LPT][0x30] << 8) |
|
||||
dev->ld_regs[LD_LPT][0x31];
|
||||
uint8_t mode = (dev->ld_regs[LD_LPT][0xf0] >> 7);
|
||||
uint16_t mask = 0xfffc;
|
||||
|
||||
if (active && (addr <= 0xfffc)) {
|
||||
if (irq > 15)
|
||||
irq = 0xff;
|
||||
|
||||
if (dma >= 4)
|
||||
dma = 0xff;
|
||||
|
||||
lpt_port_remove(dev->lpt);
|
||||
|
||||
switch (mode) {
|
||||
default:
|
||||
case 0x00:
|
||||
lpt_set_epp(dev->lpt, 0);
|
||||
lpt_set_ecp(dev->lpt, 0);
|
||||
lpt_set_ext(dev->lpt, 0);
|
||||
break;
|
||||
case 0x01:
|
||||
lpt_set_epp(dev->lpt, 0);
|
||||
lpt_set_ecp(dev->lpt, 0);
|
||||
lpt_set_ext(dev->lpt, 1);
|
||||
break;
|
||||
case 0x02: case 0x03:
|
||||
mask = 0xfff8;
|
||||
lpt_set_epp(dev->lpt, 1);
|
||||
lpt_set_ecp(dev->lpt, 0);
|
||||
lpt_set_ext(dev->lpt, 0);
|
||||
break;
|
||||
case 0x04:
|
||||
lpt_set_epp(dev->lpt, 0);
|
||||
lpt_set_ecp(dev->lpt, 1);
|
||||
lpt_set_ext(dev->lpt, 0);
|
||||
break;
|
||||
case 0x07:
|
||||
mask = 0xfff8;
|
||||
lpt_set_epp(dev->lpt, 1);
|
||||
lpt_set_ecp(dev->lpt, 1);
|
||||
lpt_set_ext(dev->lpt, 0);
|
||||
break;
|
||||
}
|
||||
|
||||
lpt_set_cfg_regs_enabled(dev->lpt, !!(dev->ld_regs[LD_LPT][0xf0] & 0x10));
|
||||
|
||||
if (active && (addr <= (0xfffc & mask))) {
|
||||
pc87309_log("Enabling LPT1 on %04X...\n", addr);
|
||||
lpt_port_setup(dev->lpt, addr);
|
||||
lpt_port_setup(dev->lpt, addr & mask);
|
||||
} else
|
||||
lpt_port_setup(dev->lpt, 0xffff);
|
||||
|
||||
lpt_port_irq(dev->lpt, irq);
|
||||
lpt_port_dma(dev->lpt, dma);
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -687,6 +734,7 @@ pc87309_init(const device_t *info)
|
||||
dev->uart[1] = device_add_inst(&ns16550_device, 2);
|
||||
|
||||
dev->lpt = device_add_inst(&lpt_port_device, 1);
|
||||
lpt_set_cnfga_readout(dev->lpt, 0x14);
|
||||
|
||||
switch (info->local & PCX730X_KBC) {
|
||||
default:
|
||||
|
||||
@@ -85,16 +85,16 @@ lpt_handler(pc87310_t *dev)
|
||||
lpt_port_remove(dev->lpt);
|
||||
|
||||
switch (temp) {
|
||||
case 0:
|
||||
case 0x00:
|
||||
lpt_port = LPT1_ADDR;
|
||||
break;
|
||||
case 1:
|
||||
case 0x01:
|
||||
lpt_port = LPT_MDA_ADDR;
|
||||
break;
|
||||
case 2:
|
||||
case 0x02:
|
||||
lpt_port = LPT2_ADDR;
|
||||
break;
|
||||
case 3:
|
||||
case 0x03:
|
||||
lpt_port = 0x000;
|
||||
lpt_irq = 0xff;
|
||||
break;
|
||||
@@ -195,15 +195,15 @@ pc87310_write(UNUSED(uint16_t port), uint8_t val, void *priv)
|
||||
serial_handler(dev);
|
||||
|
||||
/* Reconfigure IDE controller. */
|
||||
if ((dev->flags & PC87310_IDE) && (valxor & 0x20)) {
|
||||
if ((dev->flags & PCX73XX_IDE) && (valxor & 0x20)) {
|
||||
pc87310_log("SIO: HDC disabled\n");
|
||||
ide_pri_disable();
|
||||
/* Bit 5: 1 = Disable IDE controller. */
|
||||
if (!(val & 0x20)) {
|
||||
pc87310_log("SIO: HDC enabled\n");
|
||||
ide_set_base(0, 0x1f0);
|
||||
ide_set_side(0, 0x3f6);
|
||||
ide_pri_enable();
|
||||
ide_set_side(0, 0x3f6);
|
||||
ide_pri_enable();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -256,7 +256,7 @@ pc87310_reset(pc87310_t *dev)
|
||||
|
||||
lpt_handler(dev);
|
||||
serial_handler(dev);
|
||||
if (dev->flags & PC87310_IDE) {
|
||||
if (dev->flags & PCX73XX_IDE) {
|
||||
ide_pri_disable();
|
||||
ide_pri_enable();
|
||||
}
|
||||
@@ -285,17 +285,18 @@ pc87310_init(const device_t *info)
|
||||
dev->uart[1] = device_add_inst(&ns16450_device, 2);
|
||||
|
||||
dev->lpt = device_add_inst(&lpt_port_device, 1);
|
||||
lpt_set_ext(dev->lpt, 1);
|
||||
|
||||
if (dev->flags & PC87310_IDE)
|
||||
if (dev->flags & PCX73XX_IDE)
|
||||
device_add((dev->flags & PC87310_ALI) ? &ide_vlb_device : &ide_isa_device);
|
||||
|
||||
pc87310_reset(dev);
|
||||
|
||||
io_sethandler(0x3f3, 0x0001,
|
||||
io_sethandler(0x03f3, 0x0001,
|
||||
pc87310_read, NULL, NULL, pc87310_write, NULL, NULL, dev);
|
||||
|
||||
if (dev->flags & PC87310_ALI)
|
||||
io_sethandler(0x3f1, 0x0001,
|
||||
io_sethandler(0x03f1, 0x0001,
|
||||
pc87310_read, NULL, NULL, pc87310_write, NULL, NULL, dev);
|
||||
|
||||
return dev;
|
||||
|
||||
@@ -1,319 +0,0 @@
|
||||
/*
|
||||
* 86Box A hypervisor and IBM PC system emulator that specializes in
|
||||
* running old operating systems and software designed for IBM
|
||||
* PC systems and compatibles from 1981 through fairly recent
|
||||
* system designs based on the PCI bus.
|
||||
*
|
||||
* This file is part of the 86Box distribution.
|
||||
*
|
||||
* Emulation of the National Semiconductor PC87311 Super I/O
|
||||
*
|
||||
*
|
||||
*
|
||||
* Authors: Tiseno100
|
||||
*
|
||||
* Copyright 2020 Tiseno100
|
||||
*/
|
||||
#include <stdarg.h>
|
||||
#include <stdio.h>
|
||||
#include <stdint.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <wchar.h>
|
||||
#define HAVE_STDARG_H
|
||||
#include <86box/86box.h>
|
||||
#include <86box/io.h>
|
||||
#include <86box/timer.h>
|
||||
#include <86box/device.h>
|
||||
#include <86box/lpt.h>
|
||||
#include <86box/serial.h>
|
||||
#include <86box/hdc.h>
|
||||
#include <86box/hdc_ide.h>
|
||||
#include <86box/fdd.h>
|
||||
#include <86box/fdc.h>
|
||||
#include <86box/sio.h>
|
||||
#include <86box/plat_unused.h>
|
||||
|
||||
#define HAS_IDE_FUNCTIONALITY dev->ide_function
|
||||
|
||||
/* Basic Functionalities */
|
||||
#define FUNCTION_ENABLE dev->regs[0x00]
|
||||
#define FUNCTION_ADDRESS dev->regs[0x01]
|
||||
#define POWER_TEST dev->regs[0x02]
|
||||
|
||||
/* Base Addresses */
|
||||
#define LPT_BA (FUNCTION_ADDRESS & 0x03)
|
||||
#define UART1_BA ((FUNCTION_ADDRESS >> 2) & 0x03)
|
||||
#define UART2_BA ((FUNCTION_ADDRESS >> 4) & 0x03)
|
||||
#define COM_BA ((FUNCTION_ADDRESS >> 6) & 0x03)
|
||||
|
||||
#ifdef ENABLE_PC87311_LOG
|
||||
int pc87311_do_log = ENABLE_PC87311_LOG;
|
||||
|
||||
static void
|
||||
pc87311_log(const char *fmt, ...)
|
||||
{
|
||||
va_list ap;
|
||||
|
||||
if (pc87311_do_log) {
|
||||
va_start(ap, fmt);
|
||||
pclog_ex(fmt, ap);
|
||||
va_end(ap);
|
||||
}
|
||||
}
|
||||
#else
|
||||
# define pc87311_log(fmt, ...)
|
||||
#endif
|
||||
|
||||
typedef struct pc87311_t {
|
||||
uint8_t index;
|
||||
uint8_t regs[256];
|
||||
uint8_t cfg_lock;
|
||||
uint8_t ide_function;
|
||||
uint16_t base;
|
||||
uint16_t irq;
|
||||
fdc_t *fdc_controller;
|
||||
serial_t *uart[2];
|
||||
lpt_t *lpt;
|
||||
} pc87311_t;
|
||||
|
||||
void pc87311_fdc_handler(pc87311_t *dev);
|
||||
void pc87311_uart_handler(uint8_t num, pc87311_t *dev);
|
||||
void pc87311_lpt_handler(pc87311_t *dev);
|
||||
void pc87311_ide_handler(pc87311_t *dev);
|
||||
void pc87311_enable(pc87311_t *dev);
|
||||
|
||||
static void
|
||||
pc87311_write(uint16_t addr, uint8_t val, void *priv)
|
||||
{
|
||||
pc87311_t *dev = (pc87311_t *) priv;
|
||||
|
||||
switch (addr) {
|
||||
case 0x398:
|
||||
case 0x26e:
|
||||
dev->index = val;
|
||||
break;
|
||||
|
||||
case 0x399:
|
||||
case 0x26f:
|
||||
switch (dev->index) {
|
||||
case 0x00:
|
||||
FUNCTION_ENABLE = val;
|
||||
break;
|
||||
case 0x01:
|
||||
FUNCTION_ADDRESS = val;
|
||||
break;
|
||||
case 0x02:
|
||||
POWER_TEST = val;
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
pc87311_enable(dev);
|
||||
}
|
||||
|
||||
static uint8_t
|
||||
pc87311_read(UNUSED(uint16_t addr), void *priv)
|
||||
{
|
||||
const pc87311_t *dev = (pc87311_t *) priv;
|
||||
|
||||
return dev->regs[dev->index];
|
||||
}
|
||||
|
||||
void
|
||||
pc87311_fdc_handler(pc87311_t *dev)
|
||||
{
|
||||
fdc_remove(dev->fdc_controller);
|
||||
fdc_set_base(dev->fdc_controller, (FUNCTION_ENABLE & 0x20) ? FDC_SECONDARY_ADDR : FDC_PRIMARY_ADDR);
|
||||
pc87311_log("PC87311-FDC: BASE %04x\n", (FUNCTION_ENABLE & 0x20) ? FDC_SECONDARY_ADDR : FDC_PRIMARY_ADDR);
|
||||
}
|
||||
|
||||
uint16_t
|
||||
com3(pc87311_t *dev)
|
||||
{
|
||||
switch (COM_BA) {
|
||||
case 0:
|
||||
return COM3_ADDR;
|
||||
case 1:
|
||||
return 0x0338;
|
||||
case 2:
|
||||
return COM4_ADDR;
|
||||
case 3:
|
||||
return 0x0220;
|
||||
default:
|
||||
return COM3_ADDR;
|
||||
}
|
||||
}
|
||||
|
||||
uint16_t
|
||||
com4(pc87311_t *dev)
|
||||
{
|
||||
switch (COM_BA) {
|
||||
case 0:
|
||||
return COM4_ADDR;
|
||||
case 1:
|
||||
return 0x0238;
|
||||
case 2:
|
||||
return 0x02e0;
|
||||
case 3:
|
||||
return 0x0228;
|
||||
default:
|
||||
return COM4_ADDR;
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
pc87311_uart_handler(uint8_t num, pc87311_t *dev)
|
||||
{
|
||||
serial_remove(dev->uart[num & 1]);
|
||||
|
||||
switch (!(num & 1) ? UART1_BA : UART2_BA) {
|
||||
case 0:
|
||||
dev->base = COM1_ADDR;
|
||||
dev->irq = COM1_IRQ;
|
||||
break;
|
||||
case 1:
|
||||
dev->base = COM2_ADDR;
|
||||
dev->irq = COM2_IRQ;
|
||||
break;
|
||||
case 2:
|
||||
dev->base = com3(dev);
|
||||
dev->irq = COM3_IRQ;
|
||||
break;
|
||||
case 3:
|
||||
dev->base = com4(dev);
|
||||
dev->irq = COM4_IRQ;
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
serial_setup(dev->uart[num & 1], dev->base, dev->irq);
|
||||
pc87311_log("PC87311-UART%01x: BASE %04x IRQ %01x\n", num & 1, dev->base, dev->irq);
|
||||
}
|
||||
|
||||
void
|
||||
pc87311_lpt_handler(pc87311_t *dev)
|
||||
{
|
||||
lpt_port_remove(dev->lpt);
|
||||
switch (LPT_BA) {
|
||||
case 0:
|
||||
dev->base = LPT1_ADDR;
|
||||
dev->irq = (POWER_TEST & 0x08) ? LPT1_IRQ : LPT2_IRQ;
|
||||
break;
|
||||
case 1:
|
||||
dev->base = LPT_MDA_ADDR;
|
||||
dev->irq = LPT_MDA_IRQ;
|
||||
break;
|
||||
case 2:
|
||||
dev->base = LPT2_ADDR;
|
||||
dev->irq = LPT2_IRQ;
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
lpt_port_setup(dev->lpt, dev->base);
|
||||
lpt_port_irq(dev->lpt, dev->irq);
|
||||
pc87311_log("PC87311-LPT: BASE %04x IRQ %01x\n", dev->base, dev->irq);
|
||||
}
|
||||
|
||||
void
|
||||
pc87311_ide_handler(pc87311_t *dev)
|
||||
{
|
||||
ide_pri_disable();
|
||||
ide_sec_disable();
|
||||
|
||||
ide_set_base(0, 0x1f0);
|
||||
ide_set_side(0, 0x3f6);
|
||||
ide_pri_enable();
|
||||
|
||||
if (FUNCTION_ENABLE & 0x80) {
|
||||
ide_set_base(1, 0x170);
|
||||
ide_set_side(1, 0x376);
|
||||
ide_sec_enable();
|
||||
}
|
||||
pc87311_log("PC87311-IDE: PRI %01x SEC %01x\n", (FUNCTION_ENABLE >> 6) & 1, (FUNCTION_ENABLE >> 7) & 1);
|
||||
}
|
||||
|
||||
void
|
||||
pc87311_enable(pc87311_t *dev)
|
||||
{
|
||||
(FUNCTION_ENABLE & 0x01) ? pc87311_lpt_handler(dev) : lpt_port_remove(dev->lpt);
|
||||
(FUNCTION_ENABLE & 0x02) ? pc87311_uart_handler(0, dev) : serial_remove(dev->uart[0]);
|
||||
(FUNCTION_ENABLE & 0x04) ? pc87311_uart_handler(1, dev) : serial_remove(dev->uart[1]);
|
||||
(FUNCTION_ENABLE & 0x08) ? pc87311_fdc_handler(dev) : fdc_remove(dev->fdc_controller);
|
||||
if (FUNCTION_ENABLE & 0x20)
|
||||
pc87311_fdc_handler(dev);
|
||||
if (HAS_IDE_FUNCTIONALITY) {
|
||||
(FUNCTION_ENABLE & 0x40) ? pc87311_ide_handler(dev) : ide_pri_disable();
|
||||
(FUNCTION_ADDRESS & 0x80) ? pc87311_ide_handler(dev) : ide_sec_disable();
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
pc87311_close(void *priv)
|
||||
{
|
||||
pc87311_t *dev = (pc87311_t *) priv;
|
||||
|
||||
free(dev);
|
||||
}
|
||||
|
||||
static void *
|
||||
pc87311_init(const device_t *info)
|
||||
{
|
||||
pc87311_t *dev = (pc87311_t *) calloc(1, sizeof(pc87311_t));
|
||||
|
||||
/* Avoid conflicting with machines that make no use of the PC87311 Internal IDE */
|
||||
HAS_IDE_FUNCTIONALITY = info->local;
|
||||
|
||||
dev->fdc_controller = device_add(&fdc_at_nsc_device);
|
||||
dev->uart[0] = device_add_inst(&ns16450_device, 1);
|
||||
dev->uart[1] = device_add_inst(&ns16450_device, 2);
|
||||
dev->lpt = device_add_inst(&lpt_port_device, 1);
|
||||
|
||||
if (HAS_IDE_FUNCTIONALITY)
|
||||
device_add(&ide_isa_2ch_device);
|
||||
|
||||
io_sethandler(0x0398, 0x0002, pc87311_read, NULL, NULL, pc87311_write, NULL, NULL, dev);
|
||||
io_sethandler(0x026e, 0x0002, pc87311_read, NULL, NULL, pc87311_write, NULL, NULL, dev);
|
||||
|
||||
pc87311_enable(dev);
|
||||
|
||||
return dev;
|
||||
}
|
||||
|
||||
const device_t pc87311_device = {
|
||||
.name = "National Semiconductor PC87311",
|
||||
.internal_name = "pc87311",
|
||||
.flags = 0,
|
||||
.local = 0,
|
||||
.init = pc87311_init,
|
||||
.close = pc87311_close,
|
||||
.reset = NULL,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t pc87311_ide_device = {
|
||||
.name = "National Semiconductor PC87311 with IDE functionality",
|
||||
.internal_name = "pc87311_ide",
|
||||
.flags = 0,
|
||||
.local = 1,
|
||||
.init = pc87311_init,
|
||||
.close = pc87311_close,
|
||||
.reset = NULL,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
@@ -6,9 +6,7 @@
|
||||
*
|
||||
* This file is part of the 86Box distribution.
|
||||
*
|
||||
* Emulation of the NatSemi PC87332 Super I/O chip.
|
||||
*
|
||||
*
|
||||
* Emulation of the NatSemi PC87311 and PC87332 Super I/O chips.
|
||||
*
|
||||
* Authors: Miran Grca, <mgrca8@gmail.com>
|
||||
*
|
||||
@@ -35,40 +33,50 @@
|
||||
#include <86box/fdc.h>
|
||||
#include <86box/sio.h>
|
||||
|
||||
typedef struct pc87332_t {
|
||||
typedef struct pc873xx_t {
|
||||
uint8_t baddr;
|
||||
uint8_t is_332;
|
||||
uint8_t tries;
|
||||
uint8_t has_ide;
|
||||
uint8_t fdc_on;
|
||||
uint8_t regs[15];
|
||||
uint8_t regs[256];
|
||||
uint16_t base_addr;
|
||||
int cur_reg;
|
||||
int max_reg;
|
||||
fdc_t *fdc;
|
||||
serial_t *uart[2];
|
||||
lpt_t *lpt;
|
||||
} pc87332_t;
|
||||
} pc873xx_t;
|
||||
|
||||
static void
|
||||
lpt_handler(pc87332_t *dev)
|
||||
lpt_handler(pc873xx_t *dev)
|
||||
{
|
||||
int temp;
|
||||
uint16_t lpt_port = LPT1_ADDR;
|
||||
uint8_t lpt_irq = LPT2_IRQ;
|
||||
uint8_t lpt_irq = LPT2_IRQ;
|
||||
uint8_t lpt_dma = ((dev->regs[0x18] & 0x06) >> 1);
|
||||
|
||||
temp = dev->regs[0x01] & 3;
|
||||
lpt_port_remove(dev->lpt);
|
||||
|
||||
if (lpt_dma == 0x00)
|
||||
lpt_dma = 0xff;
|
||||
|
||||
temp = dev->regs[0x01] & 0x03;
|
||||
|
||||
switch (temp) {
|
||||
case 0:
|
||||
case 0x00:
|
||||
lpt_port = LPT1_ADDR;
|
||||
lpt_irq = (dev->regs[0x02] & 0x08) ? LPT1_IRQ : LPT2_IRQ;
|
||||
break;
|
||||
case 1:
|
||||
case 0x01:
|
||||
lpt_port = LPT_MDA_ADDR;
|
||||
lpt_irq = LPT_MDA_IRQ;
|
||||
lpt_irq = LPT_MDA_IRQ;
|
||||
break;
|
||||
case 2:
|
||||
case 0x02:
|
||||
lpt_port = LPT2_ADDR;
|
||||
lpt_irq = LPT2_IRQ;
|
||||
break;
|
||||
case 3:
|
||||
case 0x03:
|
||||
lpt_port = 0x000;
|
||||
lpt_irq = 0xff;
|
||||
break;
|
||||
@@ -77,6 +85,16 @@ lpt_handler(pc87332_t *dev)
|
||||
break;
|
||||
}
|
||||
|
||||
lpt_set_cnfgb_readout(dev->lpt, (lpt_irq == 5) ? 0x38 : 0x08);
|
||||
lpt_set_ext(dev->lpt, !!(dev->regs[0x02] & 0x80));
|
||||
|
||||
if (dev->is_332) {
|
||||
lpt_set_epp(dev->lpt, !!(dev->regs[0x04] & 0x01));
|
||||
lpt_set_ecp(dev->lpt, !!(dev->regs[0x04] & 0x04));
|
||||
|
||||
lpt_port_dma(dev->lpt, lpt_dma);
|
||||
}
|
||||
|
||||
if (lpt_port)
|
||||
lpt_port_setup(dev->lpt, lpt_port);
|
||||
|
||||
@@ -84,7 +102,7 @@ lpt_handler(pc87332_t *dev)
|
||||
}
|
||||
|
||||
static void
|
||||
serial_handler(pc87332_t *dev, int uart)
|
||||
serial_handler(pc873xx_t *dev, int uart)
|
||||
{
|
||||
int temp;
|
||||
|
||||
@@ -142,7 +160,7 @@ serial_handler(pc87332_t *dev, int uart)
|
||||
}
|
||||
|
||||
static void
|
||||
ide_handler(pc87332_t *dev)
|
||||
ide_handler(pc873xx_t *dev)
|
||||
{
|
||||
/* TODO: Make an ide_disable(channel) and ide_enable(channel) so we can simplify this. */
|
||||
if (dev->has_ide == 2) {
|
||||
@@ -161,9 +179,9 @@ ide_handler(pc87332_t *dev)
|
||||
}
|
||||
|
||||
static void
|
||||
pc87332_write(uint16_t port, uint8_t val, void *priv)
|
||||
pc873xx_write(uint16_t port, uint8_t val, void *priv)
|
||||
{
|
||||
pc87332_t *dev = (pc87332_t *) priv;
|
||||
pc873xx_t *dev = (pc873xx_t *) priv;
|
||||
uint8_t index;
|
||||
uint8_t valxor;
|
||||
|
||||
@@ -177,7 +195,7 @@ pc87332_write(uint16_t port, uint8_t val, void *priv)
|
||||
if (dev->tries) {
|
||||
valxor = val ^ dev->regs[dev->cur_reg];
|
||||
dev->tries = 0;
|
||||
if ((dev->cur_reg <= 14) && (dev->cur_reg != 8))
|
||||
if ((dev->cur_reg <= dev->max_reg) && (dev->cur_reg != 8))
|
||||
dev->regs[dev->cur_reg] = val;
|
||||
else
|
||||
return;
|
||||
@@ -187,69 +205,83 @@ pc87332_write(uint16_t port, uint8_t val, void *priv)
|
||||
}
|
||||
}
|
||||
|
||||
switch (dev->cur_reg) {
|
||||
case 0:
|
||||
if (valxor & 1) {
|
||||
if (dev->cur_reg <= dev->max_reg) switch (dev->cur_reg) {
|
||||
case 0x00:
|
||||
if (valxor & 0x01) {
|
||||
lpt_port_remove(dev->lpt);
|
||||
if ((val & 1) && !(dev->regs[2] & 1))
|
||||
if ((val & 0x01) && !(dev->regs[0x02] & 0x01))
|
||||
lpt_handler(dev);
|
||||
}
|
||||
if (valxor & 2) {
|
||||
if (valxor & 0x02) {
|
||||
serial_remove(dev->uart[0]);
|
||||
if ((val & 2) && !(dev->regs[2] & 1))
|
||||
if ((val & 0x02) && !(dev->regs[0x02] & 0x01))
|
||||
serial_handler(dev, 0);
|
||||
}
|
||||
if (valxor & 4) {
|
||||
if (valxor & 0x04) {
|
||||
serial_remove(dev->uart[1]);
|
||||
if ((val & 4) && !(dev->regs[2] & 1))
|
||||
if ((val & 0x04) && !(dev->regs[0x02] & 0x01))
|
||||
serial_handler(dev, 1);
|
||||
}
|
||||
if (valxor & 0x28) {
|
||||
fdc_remove(dev->fdc);
|
||||
if ((val & 8) && !(dev->regs[2] & 1))
|
||||
if ((val & 0x08) && !(dev->regs[0x02] & 0x01))
|
||||
fdc_set_base(dev->fdc, (val & 0x20) ? FDC_SECONDARY_ADDR : FDC_PRIMARY_ADDR);
|
||||
}
|
||||
if (dev->has_ide && (valxor & 0xc0))
|
||||
ide_handler(dev);
|
||||
break;
|
||||
case 1:
|
||||
if (valxor & 3) {
|
||||
case 0x01:
|
||||
if (valxor & 0x03) {
|
||||
lpt_port_remove(dev->lpt);
|
||||
if ((dev->regs[0] & 1) && !(dev->regs[2] & 1))
|
||||
if ((dev->regs[0x00] & 0x01) && !(dev->regs[0x02] & 0x01))
|
||||
lpt_handler(dev);
|
||||
}
|
||||
if (valxor & 0xcc) {
|
||||
serial_remove(dev->uart[0]);
|
||||
if ((dev->regs[0] & 2) && !(dev->regs[2] & 1))
|
||||
if ((dev->regs[0x00] & 0x02) && !(dev->regs[0x02] & 0x01))
|
||||
serial_handler(dev, 0);
|
||||
}
|
||||
if (valxor & 0xf0) {
|
||||
serial_remove(dev->uart[1]);
|
||||
if ((dev->regs[0] & 4) && !(dev->regs[2] & 1))
|
||||
if ((dev->regs[0x00] & 0x04) && !(dev->regs[0x02] & 0x01))
|
||||
serial_handler(dev, 1);
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
if (valxor & 1) {
|
||||
case 0x02:
|
||||
if (valxor & 0x01) {
|
||||
lpt_port_remove(dev->lpt);
|
||||
serial_remove(dev->uart[0]);
|
||||
serial_remove(dev->uart[1]);
|
||||
fdc_remove(dev->fdc);
|
||||
|
||||
if (!(val & 1)) {
|
||||
if (dev->regs[0] & 1)
|
||||
if (!(val & 0x01)) {
|
||||
if (dev->regs[0x00] & 0x01)
|
||||
lpt_handler(dev);
|
||||
if (dev->regs[0] & 2)
|
||||
if (dev->regs[0x00] & 0x02)
|
||||
serial_handler(dev, 0);
|
||||
if (dev->regs[0] & 4)
|
||||
if (dev->regs[0x00] & 0x04)
|
||||
serial_handler(dev, 1);
|
||||
if (dev->regs[0] & 8)
|
||||
fdc_set_base(dev->fdc, (dev->regs[0] & 0x20) ? FDC_SECONDARY_ADDR : FDC_PRIMARY_ADDR);
|
||||
if (dev->regs[0x00] & 0x08)
|
||||
fdc_set_base(dev->fdc, (dev->regs[0x00] & 0x20) ? FDC_SECONDARY_ADDR : FDC_PRIMARY_ADDR);
|
||||
}
|
||||
}
|
||||
if (valxor & 8) {
|
||||
if (valxor & 0x88) {
|
||||
lpt_port_remove(dev->lpt);
|
||||
if ((dev->regs[0] & 1) && !(dev->regs[2] & 1))
|
||||
if ((dev->regs[0x00] & 0x01) && !(dev->regs[0x02] & 0x01))
|
||||
lpt_handler(dev);
|
||||
}
|
||||
break;
|
||||
case 0x04:
|
||||
if (valxor & 0x05) {
|
||||
lpt_port_remove(dev->lpt);
|
||||
if ((dev->regs[0x00] & 0x01) && !(dev->regs[0x02] & 0x01))
|
||||
lpt_handler(dev);
|
||||
}
|
||||
break;
|
||||
case 0x06:
|
||||
if (valxor & 0x08) {
|
||||
lpt_port_remove(dev->lpt);
|
||||
if ((dev->regs[0x00] & 0x01) && !(dev->regs[0x02] & 0x01))
|
||||
lpt_handler(dev);
|
||||
}
|
||||
break;
|
||||
@@ -260,9 +292,9 @@ pc87332_write(uint16_t port, uint8_t val, void *priv)
|
||||
}
|
||||
|
||||
uint8_t
|
||||
pc87332_read(uint16_t port, void *priv)
|
||||
pc873xx_read(uint16_t port, void *priv)
|
||||
{
|
||||
pc87332_t *dev = (pc87332_t *) priv;
|
||||
pc873xx_t *dev = (pc873xx_t *) priv;
|
||||
uint8_t ret = 0xff;
|
||||
uint8_t index;
|
||||
|
||||
@@ -283,7 +315,7 @@ pc87332_read(uint16_t port, void *priv)
|
||||
}
|
||||
|
||||
void
|
||||
pc87332_reset(pc87332_t *dev)
|
||||
pc873xx_reset(pc873xx_t *dev)
|
||||
{
|
||||
memset(dev->regs, 0, 15);
|
||||
|
||||
@@ -314,17 +346,17 @@ pc87332_reset(pc87332_t *dev)
|
||||
}
|
||||
|
||||
static void
|
||||
pc87332_close(void *priv)
|
||||
pc873xx_close(void *priv)
|
||||
{
|
||||
pc87332_t *dev = (pc87332_t *) priv;
|
||||
pc873xx_t *dev = (pc873xx_t *) priv;
|
||||
|
||||
free(dev);
|
||||
}
|
||||
|
||||
static void *
|
||||
pc87332_init(const device_t *info)
|
||||
pc873xx_init(const device_t *info)
|
||||
{
|
||||
pc87332_t *dev = (pc87332_t *) calloc(1, sizeof(pc87332_t));
|
||||
pc873xx_t *dev = (pc873xx_t *) calloc(1, sizeof(pc873xx_t));
|
||||
|
||||
dev->fdc = device_add(&fdc_at_nsc_device);
|
||||
|
||||
@@ -332,85 +364,47 @@ pc87332_init(const device_t *info)
|
||||
dev->uart[1] = device_add_inst(&ns16550_device, 2);
|
||||
|
||||
dev->lpt = device_add_inst(&lpt_port_device, 1);
|
||||
lpt_set_cnfgb_readout(dev->lpt, 0x08);
|
||||
|
||||
dev->has_ide = (info->local >> 8) & 0xff;
|
||||
dev->fdc_on = (info->local >> 16) & 0xff;
|
||||
pc87332_reset(dev);
|
||||
dev->is_332 = !!(info->local & PC87332);
|
||||
dev->max_reg = dev->is_332 ? 0x08 : 0x02;
|
||||
|
||||
if ((info->local & 0xff) == 0x01) {
|
||||
io_sethandler(0x398, 0x0002,
|
||||
pc87332_read, NULL, NULL, pc87332_write, NULL, NULL, dev);
|
||||
} else {
|
||||
io_sethandler(0x02e, 0x0002,
|
||||
pc87332_read, NULL, NULL, pc87332_write, NULL, NULL, dev);
|
||||
dev->has_ide = info->local & (PCX73XX_IDE_PRI | PCX73XX_IDE_SEC);
|
||||
dev->fdc_on = info->local & PCX73XX_FDC_ON;
|
||||
|
||||
dev->baddr = (info->local & PCX730X_BADDR) >> PCX730X_BADDR_SHIFT;
|
||||
pc873xx_reset(dev);
|
||||
|
||||
switch (dev->baddr) {
|
||||
default:
|
||||
case 0x00:
|
||||
dev->base_addr = 0x0398;
|
||||
break;
|
||||
case 0x01:
|
||||
dev->base_addr = 0x026e;
|
||||
break;
|
||||
case 0x02:
|
||||
dev->base_addr = 0x015c;
|
||||
break;
|
||||
case 0x03:
|
||||
/* Our PC87332 machine use this unless otherwise specified. */
|
||||
dev->base_addr = 0x002e;
|
||||
break;
|
||||
}
|
||||
|
||||
io_sethandler(dev->base_addr, 0x0002,
|
||||
pc873xx_read, NULL, NULL, pc873xx_write, NULL, NULL, dev);
|
||||
|
||||
return dev;
|
||||
}
|
||||
|
||||
const device_t pc87332_device = {
|
||||
.name = "National Semiconductor PC87332 Super I/O",
|
||||
.internal_name = "pc87332",
|
||||
const device_t pc873xx_device = {
|
||||
.name = "National Semiconductor PC873xx Super I/O",
|
||||
.internal_name = "pc873xx",
|
||||
.flags = 0,
|
||||
.local = 0x00,
|
||||
.init = pc87332_init,
|
||||
.close = pc87332_close,
|
||||
.reset = NULL,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t pc87332_398_device = {
|
||||
.name = "National Semiconductor PC87332 Super I/O (Port 398h)",
|
||||
.internal_name = "pc87332_398",
|
||||
.flags = 0,
|
||||
.local = 0x01,
|
||||
.init = pc87332_init,
|
||||
.close = pc87332_close,
|
||||
.reset = NULL,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t pc87332_398_ide_device = {
|
||||
.name = "National Semiconductor PC87332 Super I/O (Port 398h) (With IDE)",
|
||||
.internal_name = "pc87332_398_ide",
|
||||
.flags = 0,
|
||||
.local = 0x101,
|
||||
.init = pc87332_init,
|
||||
.close = pc87332_close,
|
||||
.reset = NULL,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t pc87332_398_ide_sec_device = {
|
||||
.name = "National Semiconductor PC87332 Super I/O (Port 398h) (With Secondary IDE)",
|
||||
.internal_name = "pc87332_398_ide_sec",
|
||||
.flags = 0,
|
||||
.local = 0x201,
|
||||
.init = pc87332_init,
|
||||
.close = pc87332_close,
|
||||
.reset = NULL,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t pc87332_398_ide_fdcon_device = {
|
||||
.name = "National Semiconductor PC87332 Super I/O (Port 398h) (With IDE and FDC on)",
|
||||
.internal_name = "pc87332_398_ide_fdcon",
|
||||
.flags = 0,
|
||||
.local = 0x10101,
|
||||
.init = pc87332_init,
|
||||
.close = pc87332_close,
|
||||
.init = pc873xx_init,
|
||||
.close = pc873xx_close,
|
||||
.reset = NULL,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
@@ -1,312 +0,0 @@
|
||||
/*
|
||||
* 86Box A hypervisor and IBM PC system emulator that specializes in
|
||||
* running old operating systems and software designed for IBM
|
||||
* PC systems and compatibles from 1981 through fairly recent
|
||||
* system designs based on the PCI bus.
|
||||
*
|
||||
* This file is part of the 86Box distribution.
|
||||
*
|
||||
* Emulation of the Goldstar Prime3B Super I/O
|
||||
*
|
||||
*
|
||||
*
|
||||
* Authors: Tiseno100
|
||||
*
|
||||
* Copyright 2021 Tiseno100
|
||||
*/
|
||||
#include <stdarg.h>
|
||||
#include <stdio.h>
|
||||
#include <stdint.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <wchar.h>
|
||||
#define HAVE_STDARG_H
|
||||
#include <86box/86box.h>
|
||||
#include <86box/io.h>
|
||||
#include <86box/timer.h>
|
||||
#include <86box/device.h>
|
||||
#include <86box/lpt.h>
|
||||
#include <86box/serial.h>
|
||||
#include <86box/hdc.h>
|
||||
#include <86box/hdc_ide.h>
|
||||
#include <86box/fdd.h>
|
||||
#include <86box/fdc.h>
|
||||
#include <86box/sio.h>
|
||||
#include <86box/plat_unused.h>
|
||||
|
||||
#define FSR dev->regs[0xa0]
|
||||
#define ASR dev->regs[0xa1]
|
||||
#define PDR dev->regs[0xa2]
|
||||
#define HAS_IDE_FUNCTIONALITY dev->ide_function
|
||||
|
||||
#ifdef ENABLE_PRIME3B_LOG
|
||||
int prime3b_do_log = ENABLE_PRIME3B_LOG;
|
||||
|
||||
static void
|
||||
prime3b_log(const char *fmt, ...)
|
||||
{
|
||||
va_list ap;
|
||||
|
||||
if (prime3b_do_log) {
|
||||
va_start(ap, fmt);
|
||||
pclog_ex(fmt, ap);
|
||||
va_end(ap);
|
||||
}
|
||||
}
|
||||
#else
|
||||
# define prime3b_log(fmt, ...)
|
||||
#endif
|
||||
|
||||
typedef struct prime3b_t {
|
||||
uint8_t index;
|
||||
uint8_t regs[256];
|
||||
uint8_t cfg_lock;
|
||||
uint8_t ide_function;
|
||||
uint16_t com3_addr;
|
||||
uint16_t com4_addr;
|
||||
|
||||
fdc_t *fdc_controller;
|
||||
|
||||
serial_t *uart[2];
|
||||
lpt_t *lpt;
|
||||
} prime3b_t;
|
||||
|
||||
void prime3b_fdc_handler(prime3b_t *dev);
|
||||
void prime3b_uart_handler(uint8_t num, prime3b_t *dev);
|
||||
void prime3b_lpt_handler(prime3b_t *dev);
|
||||
void prime3b_ide_handler(prime3b_t *dev);
|
||||
void prime3b_enable(prime3b_t *dev);
|
||||
void prime3b_powerdown(prime3b_t *dev);
|
||||
|
||||
static void
|
||||
prime3b_write(uint16_t addr, uint8_t val, void *priv)
|
||||
{
|
||||
prime3b_t *dev = (prime3b_t *) priv;
|
||||
|
||||
if (addr == 0x398) {
|
||||
dev->index = val;
|
||||
|
||||
/* Enter/Escape Configuration Mode */
|
||||
if (val == 0x33)
|
||||
dev->cfg_lock = 0;
|
||||
else if (val == 0xcc)
|
||||
dev->cfg_lock = 1;
|
||||
} else if ((addr == 0x399) && !dev->cfg_lock) {
|
||||
switch (dev->index) {
|
||||
case 0xa0: /* Function Selection Register (FSR) */
|
||||
FSR = val;
|
||||
prime3b_enable(dev);
|
||||
break;
|
||||
case 0xa1: /* Address Selection Register (ASR) */
|
||||
ASR = val;
|
||||
prime3b_enable(dev);
|
||||
break;
|
||||
case 0xa2: /* Power Down Register (PDR) */
|
||||
dev->regs[0xa2] = val;
|
||||
break;
|
||||
case 0xa3: /* Test Mode Register (TMR) */
|
||||
dev->regs[0xa3] = val;
|
||||
break;
|
||||
case 0xa4: /* Miscellaneous Function Register */
|
||||
dev->regs[0xa4] = val;
|
||||
switch ((dev->regs[0xa4] >> 6) & 3) {
|
||||
case 0:
|
||||
dev->com3_addr = COM3_ADDR;
|
||||
dev->com4_addr = COM4_ADDR;
|
||||
break;
|
||||
case 1:
|
||||
dev->com3_addr = 0x338;
|
||||
dev->com4_addr = 0x238;
|
||||
break;
|
||||
case 2:
|
||||
dev->com3_addr = COM4_ADDR;
|
||||
dev->com4_addr = 0x2e0;
|
||||
break;
|
||||
case 3:
|
||||
dev->com3_addr = 0x220;
|
||||
dev->com4_addr = 0x228;
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case 0xa5: /* ECP Register */
|
||||
dev->regs[0xa5] = val;
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static uint8_t
|
||||
prime3b_read(UNUSED(uint16_t addr), void *priv)
|
||||
{
|
||||
const prime3b_t *dev = (prime3b_t *) priv;
|
||||
|
||||
return dev->regs[dev->index];
|
||||
}
|
||||
|
||||
void
|
||||
prime3b_fdc_handler(prime3b_t *dev)
|
||||
{
|
||||
uint16_t fdc_base = !(ASR & 0x40) ? FDC_PRIMARY_ADDR : FDC_SECONDARY_ADDR;
|
||||
fdc_remove(dev->fdc_controller);
|
||||
fdc_set_base(dev->fdc_controller, fdc_base);
|
||||
prime3b_log("Prime3B-FDC: Enabled with base %03x\n", fdc_base);
|
||||
}
|
||||
|
||||
void
|
||||
prime3b_uart_handler(uint8_t num, prime3b_t *dev)
|
||||
{
|
||||
uint16_t uart_base;
|
||||
if ((ASR >> (3 + 2 * num)) & 1)
|
||||
uart_base = !((ASR >> (2 + 2 * num)) & 1) ? dev->com3_addr : dev->com4_addr;
|
||||
else
|
||||
uart_base = !((ASR >> (2 + 2 * num)) & 1) ? COM1_ADDR : COM2_ADDR;
|
||||
|
||||
serial_remove(dev->uart[num]);
|
||||
serial_setup(dev->uart[num], uart_base, 4 - num);
|
||||
prime3b_log("Prime3B-UART%d: Enabled with base %03x\n", num, uart_base);
|
||||
}
|
||||
|
||||
void
|
||||
prime3b_lpt_handler(prime3b_t *dev)
|
||||
{
|
||||
uint16_t lpt_base = (ASR & 2) ? LPT_MDA_ADDR : (!(ASR & 1) ? LPT1_ADDR : LPT2_ADDR);
|
||||
lpt_port_remove(dev->lpt);
|
||||
lpt_port_setup(dev->lpt, lpt_base);
|
||||
lpt_port_irq(dev->lpt, LPT1_IRQ);
|
||||
prime3b_log("Prime3B-LPT: Enabled with base %03x\n", lpt_base);
|
||||
}
|
||||
|
||||
void
|
||||
prime3b_ide_handler(prime3b_t *dev)
|
||||
{
|
||||
ide_pri_disable();
|
||||
uint16_t ide_base = !(ASR & 0x80) ? 0x1f0 : 0x170;
|
||||
uint16_t ide_side = ide_base + 0x206;
|
||||
ide_set_base(0, ide_base);
|
||||
ide_set_side(0, ide_side);
|
||||
prime3b_log("Prime3B-IDE: Enabled with base %03x and side %03x\n", ide_base, ide_side);
|
||||
}
|
||||
|
||||
void
|
||||
prime3b_enable(prime3b_t *dev)
|
||||
{
|
||||
/*
|
||||
Simulate a device enable/disable scenario
|
||||
|
||||
Register A0: Function Selection Register (FSR)
|
||||
Bit 7: Gameport
|
||||
Bit 6: 4 FDD Enable
|
||||
Bit 5: IDE
|
||||
Bit 4: FDC
|
||||
Bit 3: UART 2
|
||||
Bit 2: UART 1
|
||||
Bit 1/0: PIO (0/0 Bidirectional , 0/1 ECP, 1/0 EPP, 1/1 Disabled)
|
||||
|
||||
Note: 86Box LPT is simplistic and can't do ECP or EPP.
|
||||
*/
|
||||
|
||||
!(FSR & 3) ? prime3b_lpt_handler(dev) : lpt_port_remove(dev->lpt);
|
||||
(FSR & 4) ? prime3b_uart_handler(0, dev) : serial_remove(dev->uart[0]);
|
||||
(FSR & 8) ? prime3b_uart_handler(1, dev) : serial_remove(dev->uart[1]);
|
||||
(FSR & 0x10) ? prime3b_fdc_handler(dev) : fdc_remove(dev->fdc_controller);
|
||||
if (HAS_IDE_FUNCTIONALITY)
|
||||
(FSR & 0x20) ? prime3b_ide_handler(dev) : ide_pri_disable();
|
||||
}
|
||||
|
||||
void
|
||||
prime3b_powerdown(prime3b_t *dev)
|
||||
{
|
||||
/* Note: It can be done more efficiently for sure */
|
||||
uint8_t old_base = PDR;
|
||||
|
||||
if (PDR & 1)
|
||||
PDR |= 0x1e;
|
||||
|
||||
if (PDR & 0x40)
|
||||
io_removehandler(0x0398, 0x0002, prime3b_read, NULL, NULL, prime3b_write, NULL, NULL, dev);
|
||||
|
||||
if (PDR & 2)
|
||||
fdc_remove(dev->fdc_controller);
|
||||
|
||||
if (PDR & 4)
|
||||
serial_remove(dev->uart[0]);
|
||||
|
||||
if (PDR & 8)
|
||||
serial_remove(dev->uart[1]);
|
||||
|
||||
if (PDR & 0x10)
|
||||
lpt_port_remove(dev->lpt);
|
||||
|
||||
if (PDR & 1)
|
||||
PDR = old_base;
|
||||
}
|
||||
|
||||
static void
|
||||
prime3b_close(void *priv)
|
||||
{
|
||||
prime3b_t *dev = (prime3b_t *) priv;
|
||||
|
||||
free(dev);
|
||||
}
|
||||
|
||||
static void *
|
||||
prime3b_init(const device_t *info)
|
||||
{
|
||||
prime3b_t *dev = (prime3b_t *) calloc(1, sizeof(prime3b_t));
|
||||
|
||||
/* Avoid conflicting with machines that make no use of the Prime3B Internal IDE */
|
||||
HAS_IDE_FUNCTIONALITY = info->local;
|
||||
|
||||
dev->regs[0xa0] = 3;
|
||||
|
||||
dev->fdc_controller = device_add(&fdc_at_device);
|
||||
dev->uart[0] = device_add_inst(&ns16550_device, 1);
|
||||
dev->uart[1] = device_add_inst(&ns16550_device, 2);
|
||||
dev->lpt = device_add_inst(&lpt_port_device, 1);
|
||||
if (HAS_IDE_FUNCTIONALITY)
|
||||
device_add(&ide_isa_device);
|
||||
|
||||
dev->com3_addr = COM3_ADDR;
|
||||
dev->com4_addr = COM4_ADDR;
|
||||
fdc_reset(dev->fdc_controller);
|
||||
|
||||
prime3b_enable(dev);
|
||||
|
||||
io_sethandler(0x0398, 0x0002, prime3b_read, NULL, NULL, prime3b_write, NULL, NULL, dev);
|
||||
|
||||
return dev;
|
||||
}
|
||||
|
||||
const device_t prime3b_device = {
|
||||
.name = "Goldstar Prime3B",
|
||||
.internal_name = "prime3b",
|
||||
.flags = 0,
|
||||
.local = 0,
|
||||
.init = prime3b_init,
|
||||
.close = prime3b_close,
|
||||
.reset = NULL,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t prime3b_ide_device = {
|
||||
.name = "Goldstar Prime3B with IDE functionality",
|
||||
.internal_name = "prime3b_ide",
|
||||
.flags = 0,
|
||||
.local = 1,
|
||||
.init = prime3b_init,
|
||||
.close = prime3b_close,
|
||||
.reset = NULL,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
@@ -1,358 +0,0 @@
|
||||
/*
|
||||
* 86Box A hypervisor and IBM PC system emulator that specializes in
|
||||
* running old operating systems and software designed for IBM
|
||||
* PC systems and compatibles from 1981 through fairly recent
|
||||
* system designs based on the PCI bus.
|
||||
*
|
||||
* This file is part of the 86Box distribution.
|
||||
*
|
||||
* Emulation of the LG Prime3C Super I/O
|
||||
*
|
||||
*
|
||||
*
|
||||
* Authors: Tiseno100
|
||||
*
|
||||
* Copyright 2020 Tiseno100
|
||||
*/
|
||||
#include <stdarg.h>
|
||||
#include <stdio.h>
|
||||
#include <stdint.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <wchar.h>
|
||||
#define HAVE_STDARG_H
|
||||
#include <86box/86box.h>
|
||||
#include <86box/io.h>
|
||||
#include <86box/timer.h>
|
||||
#include <86box/device.h>
|
||||
#include <86box/lpt.h>
|
||||
#include <86box/serial.h>
|
||||
#include <86box/hdc.h>
|
||||
#include <86box/hdc_ide.h>
|
||||
#include <86box/fdd.h>
|
||||
#include <86box/fdc.h>
|
||||
#include <86box/sio.h>
|
||||
#include <86box/plat_unused.h>
|
||||
|
||||
#ifdef ENABLE_PRIME3C_LOG
|
||||
int prime3c_do_log = ENABLE_PRIME3C_LOG;
|
||||
|
||||
static void
|
||||
prime3c_log(const char *fmt, ...)
|
||||
{
|
||||
va_list ap;
|
||||
|
||||
if (prime3c_do_log) {
|
||||
va_start(ap, fmt);
|
||||
pclog_ex(fmt, ap);
|
||||
va_end(ap);
|
||||
}
|
||||
}
|
||||
#else
|
||||
# define prime3c_log(fmt, ...)
|
||||
#endif
|
||||
|
||||
/* Function Select(Note on prime3c_enable) */
|
||||
#define FUNCTION_SELECT dev->regs[0xc2]
|
||||
|
||||
/* Base Address Registers */
|
||||
#define FDC_BASE_ADDRESS dev->regs[0xc3]
|
||||
#define IDE_BASE_ADDRESS dev->regs[0xc4]
|
||||
#define IDE_SIDE_ADDRESS dev->regs[0xc5]
|
||||
#define LPT_BASE_ADDRESS dev->regs[0xc6]
|
||||
#define UART1_BASE_ADDRESS dev->regs[0xc7]
|
||||
#define UART2_BASE_ADDRESS dev->regs[0xc8]
|
||||
|
||||
/* FDC/LPT Configuration */
|
||||
#define FDC_LPT_DMA dev->regs[0xc9]
|
||||
#define FDC_LPT_IRQ dev->regs[0xca]
|
||||
|
||||
/* UART 1/2 Configuration */
|
||||
#define UART_IRQ dev->regs[0xcb]
|
||||
|
||||
/* Miscellaneous Configuration*/
|
||||
#define FDC_SWAP (dev->regs[0xd6] & 0x01)
|
||||
|
||||
/* IDE functionality(Note on Init) */
|
||||
#define HAS_IDE_FUNCTIONALITY dev->ide_function
|
||||
|
||||
typedef struct prime3c_t {
|
||||
uint8_t index;
|
||||
uint8_t regs[256];
|
||||
uint8_t cfg_lock;
|
||||
uint8_t ide_function;
|
||||
|
||||
fdc_t *fdc_controller;
|
||||
|
||||
serial_t *uart[2];
|
||||
lpt_t *lpt;
|
||||
} prime3c_t;
|
||||
|
||||
void prime3c_fdc_handler(prime3c_t *dev);
|
||||
void prime3c_uart_handler(uint8_t num, prime3c_t *dev);
|
||||
void prime3c_lpt_handler(prime3c_t *dev);
|
||||
void prime3c_ide_handler(prime3c_t *dev);
|
||||
void prime3c_enable(prime3c_t *dev);
|
||||
|
||||
static void
|
||||
prime3c_write(uint16_t addr, uint8_t val, void *priv)
|
||||
{
|
||||
prime3c_t *dev = (prime3c_t *) priv;
|
||||
|
||||
switch (addr) {
|
||||
case 0x398:
|
||||
dev->index = val;
|
||||
|
||||
/* Enter/Escape Configuration Mode */
|
||||
if (val == 0x33)
|
||||
dev->cfg_lock = 0;
|
||||
else if (val == 0x55)
|
||||
dev->cfg_lock = 1;
|
||||
break;
|
||||
|
||||
case 0x399:
|
||||
if (!dev->cfg_lock) {
|
||||
switch (dev->index) {
|
||||
case 0xc2:
|
||||
FUNCTION_SELECT = val & 0xbf;
|
||||
prime3c_enable(dev);
|
||||
break;
|
||||
|
||||
case 0xc3:
|
||||
FDC_BASE_ADDRESS = val & 0xfc;
|
||||
prime3c_fdc_handler(dev);
|
||||
break;
|
||||
|
||||
case 0xc4:
|
||||
IDE_BASE_ADDRESS = val & 0xfc;
|
||||
if (HAS_IDE_FUNCTIONALITY)
|
||||
prime3c_ide_handler(dev);
|
||||
break;
|
||||
|
||||
case 0xc5:
|
||||
IDE_SIDE_ADDRESS = (val & 0xfc) | 0x02;
|
||||
if (HAS_IDE_FUNCTIONALITY)
|
||||
prime3c_ide_handler(dev);
|
||||
break;
|
||||
|
||||
case 0xc6:
|
||||
LPT_BASE_ADDRESS = val;
|
||||
break;
|
||||
|
||||
case 0xc7:
|
||||
UART1_BASE_ADDRESS = val & 0xfe;
|
||||
prime3c_uart_handler(0, dev);
|
||||
break;
|
||||
|
||||
case 0xc8:
|
||||
UART2_BASE_ADDRESS = val & 0xfe;
|
||||
prime3c_uart_handler(1, dev);
|
||||
break;
|
||||
|
||||
case 0xc9:
|
||||
FDC_LPT_DMA = val;
|
||||
prime3c_fdc_handler(dev);
|
||||
break;
|
||||
|
||||
case 0xca:
|
||||
FDC_LPT_IRQ = val;
|
||||
prime3c_fdc_handler(dev);
|
||||
prime3c_lpt_handler(dev);
|
||||
break;
|
||||
|
||||
case 0xcb:
|
||||
UART_IRQ = val;
|
||||
prime3c_uart_handler(0, dev);
|
||||
prime3c_uart_handler(1, dev);
|
||||
break;
|
||||
|
||||
case 0xcd:
|
||||
case 0xce:
|
||||
dev->regs[dev->index] = val;
|
||||
break;
|
||||
|
||||
case 0xcf:
|
||||
dev->regs[dev->index] = val & 0x3f;
|
||||
break;
|
||||
|
||||
case 0xd0:
|
||||
dev->regs[dev->index] = val & 0xfc;
|
||||
break;
|
||||
|
||||
case 0xd1:
|
||||
dev->regs[dev->index] = val & 0x3f;
|
||||
break;
|
||||
|
||||
case 0xd3:
|
||||
dev->regs[dev->index] = val & 0x7c;
|
||||
break;
|
||||
|
||||
case 0xd5:
|
||||
case 0xd6:
|
||||
case 0xd7:
|
||||
case 0xd8:
|
||||
dev->regs[dev->index] = val;
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static uint8_t
|
||||
prime3c_read(UNUSED(uint16_t addr), void *priv)
|
||||
{
|
||||
const prime3c_t *dev = (prime3c_t *) priv;
|
||||
|
||||
return dev->regs[dev->index];
|
||||
}
|
||||
|
||||
void
|
||||
prime3c_fdc_handler(prime3c_t *dev)
|
||||
{
|
||||
fdc_remove(dev->fdc_controller);
|
||||
if (FUNCTION_SELECT & 0x10) {
|
||||
fdc_set_base(dev->fdc_controller, FDC_BASE_ADDRESS << 2);
|
||||
fdc_set_irq(dev->fdc_controller, (FDC_LPT_IRQ >> 4) & 0xf);
|
||||
fdc_set_dma_ch(dev->fdc_controller, (FDC_LPT_DMA >> 4) & 0xf);
|
||||
fdc_set_swap(dev->fdc_controller, FDC_SWAP);
|
||||
prime3c_log("Prime3C-FDC: BASE %04x IRQ %01x DMA %01x\n", FDC_BASE_ADDRESS << 2, (FDC_LPT_IRQ >> 4) & 0xf, (FDC_LPT_DMA >> 4) & 0xf);
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
prime3c_uart_handler(uint8_t num, prime3c_t *dev)
|
||||
{
|
||||
serial_remove(dev->uart[num & 1]);
|
||||
if (FUNCTION_SELECT & (!(num & 1) ? 0x04 : 0x08)) {
|
||||
serial_setup(dev->uart[num & 1], (!(num & 1) ? UART1_BASE_ADDRESS : UART2_BASE_ADDRESS) << 2, (UART_IRQ >> (!(num & 1) ? 4 : 0)) & 0xf);
|
||||
prime3c_log("Prime3C-UART%01x: BASE %04x IRQ %01x\n", num & 1, (!(num & 1) ? UART1_BASE_ADDRESS : UART2_BASE_ADDRESS) << 2, (UART_IRQ >> (!(num & 1) ? 4 : 0)) & 0xf);
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
prime3c_lpt_handler(prime3c_t *dev)
|
||||
{
|
||||
lpt_port_remove(dev->lpt);
|
||||
|
||||
if (!(FUNCTION_SELECT & 0x03)) {
|
||||
lpt_port_setup(dev->lpt, LPT_BASE_ADDRESS << 2);
|
||||
lpt_port_irq(dev->lpt, FDC_LPT_IRQ & 0xf);
|
||||
|
||||
prime3c_log("Prime3C-LPT: BASE %04x IRQ %02x\n", LPT_BASE_ADDRESS << 2, FDC_LPT_IRQ & 0xf);
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
prime3c_ide_handler(prime3c_t *dev)
|
||||
{
|
||||
ide_pri_disable();
|
||||
if (FUNCTION_SELECT & 0x20) {
|
||||
ide_set_base(0, IDE_BASE_ADDRESS << 2);
|
||||
ide_set_side(0, IDE_SIDE_ADDRESS << 2);
|
||||
ide_pri_enable();
|
||||
prime3c_log("Prime3C-IDE: BASE %04x SIDE %04x\n", IDE_BASE_ADDRESS << 2, IDE_SIDE_ADDRESS << 2);
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
prime3c_enable(prime3c_t *dev)
|
||||
{
|
||||
/*
|
||||
Simulate a device enable/disable scenario
|
||||
|
||||
Register C2: Function Select
|
||||
Bit 7: Gameport
|
||||
Bit 6: Reserved
|
||||
Bit 5: IDE
|
||||
Bit 4: FDC
|
||||
Bit 3: UART 2
|
||||
Bit 2: UART 1
|
||||
Bit 1/0: PIO (0/0 Unidirectional , 0/1 ECP, 1/0 EPP, 1/1 Disabled)
|
||||
|
||||
Note: 86Box LPT is simplistic and can't do ECP or EPP.
|
||||
*/
|
||||
|
||||
!(FUNCTION_SELECT & 0x03) ? prime3c_lpt_handler(dev) : lpt_port_remove(dev->lpt);
|
||||
(FUNCTION_SELECT & 0x04) ? prime3c_uart_handler(0, dev) : serial_remove(dev->uart[0]);
|
||||
(FUNCTION_SELECT & 0x08) ? prime3c_uart_handler(1, dev) : serial_remove(dev->uart[1]);
|
||||
(FUNCTION_SELECT & 0x10) ? prime3c_fdc_handler(dev) : fdc_remove(dev->fdc_controller);
|
||||
if (HAS_IDE_FUNCTIONALITY)
|
||||
(FUNCTION_SELECT & 0x20) ? prime3c_ide_handler(dev) : ide_pri_disable();
|
||||
}
|
||||
|
||||
static void
|
||||
prime3c_close(void *priv)
|
||||
{
|
||||
prime3c_t *dev = (prime3c_t *) priv;
|
||||
|
||||
free(dev);
|
||||
}
|
||||
|
||||
static void *
|
||||
prime3c_init(const device_t *info)
|
||||
{
|
||||
prime3c_t *dev = (prime3c_t *) calloc(1, sizeof(prime3c_t));
|
||||
|
||||
/* Avoid conflicting with machines that make no use of the Prime3C Internal IDE */
|
||||
HAS_IDE_FUNCTIONALITY = info->local;
|
||||
|
||||
dev->regs[0xc0] = 0x3c;
|
||||
dev->regs[0xc2] = 0x03;
|
||||
dev->regs[0xc3] = 0x3c;
|
||||
dev->regs[0xc4] = 0x3c;
|
||||
dev->regs[0xc5] = 0x3d;
|
||||
dev->regs[0xd5] = 0x3c;
|
||||
|
||||
dev->fdc_controller = device_add(&fdc_at_device);
|
||||
dev->uart[0] = device_add_inst(&ns16550_device, 1);
|
||||
dev->uart[1] = device_add_inst(&ns16550_device, 2);
|
||||
dev->lpt = device_add_inst(&lpt_port_device, 1);
|
||||
if (HAS_IDE_FUNCTIONALITY)
|
||||
device_add(&ide_isa_device);
|
||||
|
||||
prime3c_fdc_handler(dev);
|
||||
prime3c_uart_handler(0, dev);
|
||||
prime3c_uart_handler(1, dev);
|
||||
prime3c_lpt_handler(dev);
|
||||
if (HAS_IDE_FUNCTIONALITY)
|
||||
prime3c_ide_handler(dev);
|
||||
|
||||
io_sethandler(0x0398, 0x0002, prime3c_read, NULL, NULL, prime3c_write, NULL, NULL, dev);
|
||||
|
||||
return dev;
|
||||
}
|
||||
|
||||
const device_t prime3c_device = {
|
||||
.name = "Goldstar Prime3C",
|
||||
.internal_name = "prime3c",
|
||||
.flags = 0,
|
||||
.local = 0,
|
||||
.init = prime3c_init,
|
||||
.close = prime3c_close,
|
||||
.reset = NULL,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t prime3c_ide_device = {
|
||||
.name = "Goldstar Prime3C with IDE functionality",
|
||||
.internal_name = "prime3c_ide",
|
||||
.flags = 0,
|
||||
.local = 1,
|
||||
.init = prime3c_init,
|
||||
.close = prime3c_close,
|
||||
.reset = NULL,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
@@ -8,8 +8,6 @@
|
||||
*
|
||||
* Emulation of the UMC UM8669F Super I/O chip.
|
||||
*
|
||||
*
|
||||
*
|
||||
* Authors: Sarah Walker, <https://pcem-emulator.co.uk/>
|
||||
* Miran Grca, <mgrca8@gmail.com>
|
||||
* RichardG, <richardg867@gmail.com>
|
||||
@@ -92,7 +90,8 @@ static uint8_t um8669f_pnp_rom[] = {
|
||||
|
||||
0x15, 0x41, 0xd0, 0x04, 0x00, 0x01, /* logical device PNP0400, can participate in boot */
|
||||
0x22, 0xfa, 0x1f, /* IRQ 1/3/4/5/6/7/8/9/10/11/12 */
|
||||
0x47, 0x00, 0x00, 0x01, 0xf8, 0x03, 0x08, 0x08, /* I/O 0x100-0x3F8, decodes 10-bit, 8-byte alignment, 8 addresses */
|
||||
0x2a, 0x0f, 0x0c, /* DMA 0/1/2/3, compatibility, no count by word, count by byte, is bus master, 8-bit only */
|
||||
0x47, 0x01, 0x00, 0x01, 0xf8, 0x0f, 0x08, 0x08, /* I/O 0x100-0x3F8, decodes 16-bit, 8-byte alignment, 8 addresses */
|
||||
|
||||
0x15, 0x41, 0xd0, 0x06, 0x00, 0x01, /* logical device PNP0600, can participate in boot */
|
||||
0x22, 0xfa, 0x1f, /* IRQ 1/3/4/5/6/7/8/9/10/11/12 */
|
||||
@@ -120,7 +119,8 @@ static const isapnp_device_config_t um8669f_pnp_defaults[] = {
|
||||
}, {
|
||||
.activate = 1,
|
||||
.io = { { .base = LPT1_ADDR }, },
|
||||
.irq = { { .irq = LPT1_IRQ }, }
|
||||
.irq = { { .irq = LPT1_IRQ }, },
|
||||
.dma = { { .dma = 3 }, }
|
||||
}, {
|
||||
.activate = 0,
|
||||
.io = { { .base = 0x1f0 }, },
|
||||
@@ -268,6 +268,9 @@ um8669f_write(uint16_t port, uint8_t val, void *priv)
|
||||
if (dev->cur_reg == 0xc1) {
|
||||
um8669f_log("UM8669F: ISAPnP %sabled\n", (val & 0x80) ? "en" : "dis");
|
||||
isapnp_enable_card(dev->pnp_card, (val & 0x80) ? ISAPNP_CARD_FORCE_CONFIG : ISAPNP_CARD_DISABLE);
|
||||
} else if (dev->cur_reg == 0xc0) {
|
||||
lpt_set_epp(dev->lpt, val & 0x08);
|
||||
lpt_set_ecp(dev->lpt, val & 0x10);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -304,6 +307,9 @@ um8669f_reset(um8669f_t *dev)
|
||||
|
||||
lpt_port_remove(dev->lpt);
|
||||
|
||||
lpt_set_epp(dev->lpt, 0);
|
||||
lpt_set_ecp(dev->lpt, 0);
|
||||
|
||||
if (dev->ide < IDE_BUS_MAX)
|
||||
ide_remove_handlers(dev->ide);
|
||||
|
||||
@@ -342,7 +348,10 @@ um8669f_init(const device_t *info)
|
||||
|
||||
dev->lpt = device_add_inst(&lpt_port_device, 1);
|
||||
|
||||
dev->ide = info->local;
|
||||
lpt_set_cnfgb_readout(dev->lpt, 0x00);
|
||||
lpt_set_ext(dev->lpt, 1);
|
||||
|
||||
dev->ide = (uint8_t) (info->local - 1);
|
||||
if (dev->ide < IDE_BUS_MAX)
|
||||
device_add(&ide_isa_device);
|
||||
|
||||
@@ -360,20 +369,6 @@ const device_t um8669f_device = {
|
||||
.name = "UMC UM8669F Super I/O",
|
||||
.internal_name = "um8669f",
|
||||
.flags = 0,
|
||||
.local = 0xff,
|
||||
.init = um8669f_init,
|
||||
.close = um8669f_close,
|
||||
.reset = NULL,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t um8669f_ide_device = {
|
||||
.name = "UMC UM8669F Super I/O (With IDE)",
|
||||
.internal_name = "um8669f_ide",
|
||||
.flags = 0,
|
||||
.local = 0,
|
||||
.init = um8669f_init,
|
||||
.close = um8669f_close,
|
||||
@@ -383,17 +378,3 @@ const device_t um8669f_ide_device = {
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t um8669f_ide_sec_device = {
|
||||
.name = "UMC UM8669F Super I/O (With Secondary IDE)",
|
||||
.internal_name = "um8669f_ide_sec",
|
||||
.flags = 0,
|
||||
.local = 1,
|
||||
.init = um8669f_init,
|
||||
.close = um8669f_close,
|
||||
.reset = NULL,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
@@ -6,7 +6,8 @@
|
||||
*
|
||||
* This file is part of the 86Box distribution.
|
||||
*
|
||||
* Implementation of the UMC UMF8663F Super I/O chip.
|
||||
* Implementation of the UMC UM82C862F, UM82C863F, UM86863F,
|
||||
* and UM8663BF Super I/O chips.
|
||||
*
|
||||
* Authors: Miran Grca, <mgrca8@gmail.com>
|
||||
*
|
||||
@@ -35,25 +36,25 @@
|
||||
#include <86box/random.h>
|
||||
#include <86box/plat_unused.h>
|
||||
|
||||
#ifdef ENABLE_UM8663F_LOG
|
||||
int um8663f_do_log = ENABLE_UM8663F_LOG;
|
||||
#ifdef ENABLE_UM866X_LOG
|
||||
int um866x_do_log = ENABLE_UM866X_LOG;
|
||||
|
||||
static void
|
||||
um8663f_log(const char *fmt, ...)
|
||||
um866x_log(const char *fmt, ...)
|
||||
{
|
||||
va_list ap;
|
||||
|
||||
if (um8663f_do_log) {
|
||||
if (um866x_do_log) {
|
||||
va_start(ap, fmt);
|
||||
pclog_ex(fmt, ap);
|
||||
va_end(ap);
|
||||
}
|
||||
}
|
||||
#else
|
||||
# define um8663f_log(fmt, ...)
|
||||
# define um866x_log(fmt, ...)
|
||||
#endif
|
||||
|
||||
typedef struct um8663f_t {
|
||||
typedef struct um866x_t {
|
||||
uint8_t max_reg;
|
||||
uint8_t ide;
|
||||
uint8_t locked;
|
||||
@@ -64,10 +65,10 @@ typedef struct um8663f_t {
|
||||
|
||||
serial_t *uart[2];
|
||||
lpt_t * lpt;
|
||||
} um8663f_t;
|
||||
} um866x_t;
|
||||
|
||||
static void
|
||||
um8663f_fdc_handler(um8663f_t *dev)
|
||||
um866x_fdc_handler(um866x_t *dev)
|
||||
{
|
||||
fdc_remove(dev->fdc);
|
||||
if (dev->regs[0] & 0x01)
|
||||
@@ -75,7 +76,7 @@ um8663f_fdc_handler(um8663f_t *dev)
|
||||
}
|
||||
|
||||
static void
|
||||
um8663f_uart_handler(um8663f_t *dev, int port)
|
||||
um866x_uart_handler(um866x_t *dev, int port)
|
||||
{
|
||||
uint8_t shift = (port + 1);
|
||||
|
||||
@@ -102,10 +103,32 @@ um8663f_uart_handler(um8663f_t *dev, int port)
|
||||
}
|
||||
|
||||
static void
|
||||
um8663f_lpt_handler(um8663f_t *dev)
|
||||
um866x_lpt_handler(um866x_t *dev)
|
||||
{
|
||||
int enabled = (dev->regs[0] & 0x08);
|
||||
|
||||
lpt_port_remove(dev->lpt);
|
||||
if (dev->regs[0] & 0x08) {
|
||||
switch(dev->regs[1] & 0xc0) {
|
||||
case 0x00:
|
||||
enabled = 0;
|
||||
break;
|
||||
case 0x40:
|
||||
lpt_set_epp(dev->lpt, 1);
|
||||
lpt_set_ecp(dev->lpt, 0);
|
||||
lpt_set_ext(dev->lpt, 0);
|
||||
break;
|
||||
case 0x80:
|
||||
lpt_set_epp(dev->lpt, 0);
|
||||
lpt_set_ecp(dev->lpt, 0);
|
||||
lpt_set_ext(dev->lpt, 1);
|
||||
break;
|
||||
case 0xc0:
|
||||
lpt_set_epp(dev->lpt, 0);
|
||||
lpt_set_ecp(dev->lpt, 1);
|
||||
lpt_set_ext(dev->lpt, 0);
|
||||
break;
|
||||
}
|
||||
if (enabled) {
|
||||
switch ((dev->regs[1] >> 3) & 0x01) {
|
||||
case 0x01:
|
||||
lpt_port_setup(dev->lpt, LPT1_ADDR);
|
||||
@@ -123,7 +146,7 @@ um8663f_lpt_handler(um8663f_t *dev)
|
||||
}
|
||||
|
||||
static void
|
||||
um8663f_ide_handler(um8663f_t *dev)
|
||||
um866x_ide_handler(um866x_t *dev)
|
||||
{
|
||||
int board = dev->ide - 1;
|
||||
|
||||
@@ -137,12 +160,12 @@ um8663f_ide_handler(um8663f_t *dev)
|
||||
}
|
||||
|
||||
static void
|
||||
um8663f_write(uint16_t port, uint8_t val, void *priv)
|
||||
um866x_write(uint16_t port, uint8_t val, void *priv)
|
||||
{
|
||||
um8663f_t *dev = (um8663f_t *) priv;
|
||||
um866x_t *dev = (um866x_t *) priv;
|
||||
uint8_t valxor;
|
||||
|
||||
um8663f_log("UM8663F: write(%04X, %02X)\n", port, val);
|
||||
um866x_log("UM866X: write(%04X, %02X)\n", port, val);
|
||||
|
||||
if (dev->locked) {
|
||||
if ((port == 0x108) && (val == 0xaa))
|
||||
@@ -160,15 +183,15 @@ um8663f_write(uint16_t port, uint8_t val, void *priv)
|
||||
/* Port enable register. */
|
||||
case 0x00:
|
||||
if (valxor & 0x10)
|
||||
um8663f_ide_handler(dev);
|
||||
um866x_ide_handler(dev);
|
||||
if (valxor & 0x08)
|
||||
um8663f_lpt_handler(dev);
|
||||
um866x_lpt_handler(dev);
|
||||
if (valxor & 0x04)
|
||||
um8663f_uart_handler(dev, 1);
|
||||
um866x_uart_handler(dev, 1);
|
||||
if (valxor & 0x02)
|
||||
um8663f_uart_handler(dev, 0);
|
||||
um866x_uart_handler(dev, 0);
|
||||
if (valxor & 0x01)
|
||||
um8663f_fdc_handler(dev);
|
||||
um866x_fdc_handler(dev);
|
||||
break;
|
||||
/*
|
||||
Port configuration register:
|
||||
@@ -184,16 +207,16 @@ um8663f_write(uint16_t port, uint8_t val, void *priv)
|
||||
- Bit 0 = 0 = FDC is 370h, 1 = UART 2 is 3f0h.
|
||||
*/
|
||||
case 0x01:
|
||||
if (valxor & 0xc8)
|
||||
um866x_lpt_handler(dev);
|
||||
if (valxor & 0x10)
|
||||
um8663f_ide_handler(dev);
|
||||
if (valxor & 0x08)
|
||||
um8663f_lpt_handler(dev);
|
||||
um866x_ide_handler(dev);
|
||||
if (valxor & 0x04)
|
||||
um8663f_uart_handler(dev, 1);
|
||||
um866x_uart_handler(dev, 1);
|
||||
if (valxor & 0x02)
|
||||
um8663f_uart_handler(dev, 0);
|
||||
um866x_uart_handler(dev, 0);
|
||||
if (valxor & 0x01)
|
||||
um8663f_fdc_handler(dev);
|
||||
um866x_fdc_handler(dev);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -201,9 +224,9 @@ um8663f_write(uint16_t port, uint8_t val, void *priv)
|
||||
}
|
||||
|
||||
static uint8_t
|
||||
um8663f_read(uint16_t port, void *priv)
|
||||
um866x_read(uint16_t port, void *priv)
|
||||
{
|
||||
const um8663f_t *dev = (um8663f_t *) priv;
|
||||
const um866x_t *dev = (um866x_t *) priv;
|
||||
uint8_t ret = 0xff;
|
||||
|
||||
if (!dev->locked) {
|
||||
@@ -216,15 +239,15 @@ um8663f_read(uint16_t port, void *priv)
|
||||
}
|
||||
}
|
||||
|
||||
um8663f_log("UM8663F: read(%04X) = %02X\n", port, ret);
|
||||
um866x_log("UM866X: read(%04X) = %02X\n", port, ret);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static void
|
||||
um8663f_reset(void *priv)
|
||||
um866x_reset(void *priv)
|
||||
{
|
||||
um8663f_t *dev = (um8663f_t *) priv;
|
||||
um866x_t *dev = (um866x_t *) priv;
|
||||
|
||||
serial_remove(dev->uart[0]);
|
||||
serial_setup(dev->uart[0], COM1_ADDR, COM1_IRQ);
|
||||
@@ -243,27 +266,27 @@ um8663f_reset(void *priv)
|
||||
dev->regs[0x00] = (dev->ide > 0) ? 0x1f : 0x0f;
|
||||
dev->regs[0x01] = (dev->ide == 2) ? 0x0f : 0x1f;
|
||||
|
||||
um8663f_fdc_handler(dev);
|
||||
um8663f_uart_handler(dev, 0);
|
||||
um8663f_uart_handler(dev, 1);
|
||||
um8663f_lpt_handler(dev);
|
||||
um8663f_ide_handler(dev);
|
||||
um866x_fdc_handler(dev);
|
||||
um866x_uart_handler(dev, 0);
|
||||
um866x_uart_handler(dev, 1);
|
||||
um866x_lpt_handler(dev);
|
||||
um866x_ide_handler(dev);
|
||||
|
||||
dev->locked = 1;
|
||||
}
|
||||
|
||||
static void
|
||||
um8663f_close(void *priv)
|
||||
um866x_close(void *priv)
|
||||
{
|
||||
um8663f_t *dev = (um8663f_t *) priv;
|
||||
um866x_t *dev = (um866x_t *) priv;
|
||||
|
||||
free(dev);
|
||||
}
|
||||
|
||||
static void *
|
||||
um8663f_init(UNUSED(const device_t *info))
|
||||
um866x_init(UNUSED(const device_t *info))
|
||||
{
|
||||
um8663f_t *dev = (um8663f_t *) calloc(1, sizeof(um8663f_t));
|
||||
um866x_t *dev = (um866x_t *) calloc(1, sizeof(um866x_t));
|
||||
|
||||
dev->fdc = device_add(&fdc_at_smc_device);
|
||||
|
||||
@@ -271,6 +294,7 @@ um8663f_init(UNUSED(const device_t *info))
|
||||
dev->uart[1] = device_add_inst(&ns16550_device, 2);
|
||||
|
||||
dev->lpt = device_add_inst(&lpt_port_device, 1);
|
||||
lpt_set_cnfgb_readout(dev->lpt, 0x00);
|
||||
|
||||
dev->ide = info->local & 0xff;
|
||||
if (dev->ide < IDE_BUS_MAX)
|
||||
@@ -279,147 +303,21 @@ um8663f_init(UNUSED(const device_t *info))
|
||||
dev->max_reg = info->local >> 8;
|
||||
|
||||
if (dev->max_reg != 0x00)
|
||||
io_sethandler(0x0108, 0x0002, um8663f_read, NULL, NULL, um8663f_write, NULL, NULL, dev);
|
||||
io_sethandler(0x0108, 0x0002, um866x_read, NULL, NULL, um866x_write, NULL, NULL, dev);
|
||||
|
||||
um8663f_reset(dev);
|
||||
um866x_reset(dev);
|
||||
|
||||
return dev;
|
||||
}
|
||||
|
||||
const device_t um82c862f_device = {
|
||||
.name = "UMC UM82C862F Super I/O",
|
||||
.internal_name = "um82c862f",
|
||||
const device_t um866x_device = {
|
||||
.name = "UMC UM82C86x/866x Super I/O",
|
||||
.internal_name = "um866x",
|
||||
.flags = 0,
|
||||
.local = 0x0000,
|
||||
.init = um8663f_init,
|
||||
.close = um8663f_close,
|
||||
.reset = um8663f_reset,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t um82c862f_ide_device = {
|
||||
.name = "UMC UM82C862F Super I/O (With IDE)",
|
||||
.internal_name = "um82c862f_ide",
|
||||
.flags = 0,
|
||||
.local = 0x0001,
|
||||
.init = um8663f_init,
|
||||
.close = um8663f_close,
|
||||
.reset = um8663f_reset,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t um82c863f_device = {
|
||||
.name = "UMC UM82C863F Super I/O",
|
||||
.internal_name = "um82c863f",
|
||||
.flags = 0,
|
||||
.local = 0xc100,
|
||||
.init = um8663f_init,
|
||||
.close = um8663f_close,
|
||||
.reset = um8663f_reset,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t um82c863f_ide_device = {
|
||||
.name = "UMC UM82C863F Super I/O (With IDE)",
|
||||
.internal_name = "um82c863f_ide",
|
||||
.flags = 0,
|
||||
.local = 0xc101,
|
||||
.init = um8663f_init,
|
||||
.close = um8663f_close,
|
||||
.reset = um8663f_reset,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t um8663af_device = {
|
||||
.name = "UMC UM8663AF Super I/O",
|
||||
.internal_name = "um8663af",
|
||||
.flags = 0,
|
||||
.local = 0xc300,
|
||||
.init = um8663f_init,
|
||||
.close = um8663f_close,
|
||||
.reset = um8663f_reset,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t um8663af_ide_device = {
|
||||
.name = "UMC UM8663AF Super I/O (With IDE)",
|
||||
.internal_name = "um8663af_ide",
|
||||
.flags = 0,
|
||||
.local = 0xc301,
|
||||
.init = um8663f_init,
|
||||
.close = um8663f_close,
|
||||
.reset = um8663f_reset,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t um8663af_ide_sec_device = {
|
||||
.name = "UMC UM8663AF Super I/O (With Secondary IDE)",
|
||||
.internal_name = "um8663af_ide_sec",
|
||||
.flags = 0,
|
||||
.local = 0xc302,
|
||||
.init = um8663f_init,
|
||||
.close = um8663f_close,
|
||||
.reset = um8663f_reset,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t um8663bf_device = {
|
||||
.name = "UMC UM8663BF Super I/O",
|
||||
.internal_name = "um8663bf",
|
||||
.flags = 0,
|
||||
.local = 0xc400,
|
||||
.init = um8663f_init,
|
||||
.close = um8663f_close,
|
||||
.reset = um8663f_reset,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t um8663bf_ide_device = {
|
||||
.name = "UMC UM8663BF Super I/O (With IDE)",
|
||||
.internal_name = "um8663bf_ide",
|
||||
.flags = 0,
|
||||
.local = 0xc401,
|
||||
.init = um8663f_init,
|
||||
.close = um8663f_close,
|
||||
.reset = um8663f_reset,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t um8663bf_ide_sec_device = {
|
||||
.name = "UMC UM8663BF Super I/O (With Secondary IDE)",
|
||||
.internal_name = "um8663bf_ide_sec",
|
||||
.flags = 0,
|
||||
.local = 0xc402,
|
||||
.init = um8663f_init,
|
||||
.close = um8663f_close,
|
||||
.reset = um8663f_reset,
|
||||
.local = 0,
|
||||
.init = um866x_init,
|
||||
.close = um866x_close,
|
||||
.reset = um866x_reset,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
@@ -86,14 +86,28 @@ vt82c686_lpt_handler(vt82c686_t *dev)
|
||||
|
||||
lpt_port_remove(dev->lpt);
|
||||
|
||||
lpt_set_ext(dev->lpt, !!(dev->regs[0x10] & 0x80));
|
||||
|
||||
switch (dev->regs[0x10] & 0x03) {
|
||||
case 0x01:
|
||||
lpt_set_epp(dev->lpt, !!(dev->regs[0x10] & 0x20));
|
||||
lpt_set_ecp(dev->lpt, 1);
|
||||
break;
|
||||
case 0x02:
|
||||
lpt_set_epp(dev->lpt, 1);
|
||||
lpt_set_ecp(dev->lpt, !!(dev->regs[0x10] & 0x20));
|
||||
break;
|
||||
}
|
||||
|
||||
if (((dev->regs[0x02] & 0x03) != 0x03) && !(dev->regs[0x0f] & 0x11) && (io_base >= 0x100) && (io_base <= io_mask))
|
||||
lpt_port_setup(dev->lpt, io_base);
|
||||
|
||||
if (dev->lpt_irq) {
|
||||
if (dev->lpt_irq)
|
||||
lpt_port_irq(dev->lpt, dev->lpt_irq);
|
||||
} else {
|
||||
else
|
||||
lpt_port_irq(dev->lpt, 0xff);
|
||||
}
|
||||
|
||||
lpt_port_dma(dev->lpt, dev->lpt_dma);
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -178,6 +192,7 @@ vt82c686_write(uint16_t port, uint8_t val, void *priv)
|
||||
|
||||
case 0x10:
|
||||
dev->regs[reg] &= 0xf4;
|
||||
vt82c686_lpt_handler(dev);
|
||||
break;
|
||||
|
||||
case 0x11:
|
||||
|
||||
@@ -1,539 +0,0 @@
|
||||
/*
|
||||
* 86Box A hypervisor and IBM PC system emulator that specializes in
|
||||
* running old operating systems and software designed for IBM
|
||||
* PC systems and compatibles from 1981 through fairly recent
|
||||
* system designs based on the PCI bus.
|
||||
*
|
||||
* This file is part of the 86Box distribution.
|
||||
*
|
||||
* Emulation of the Winbond W83787F/IF Super I/O Chip.
|
||||
*
|
||||
* Winbond W83787F Super I/O Chip
|
||||
* Used by the Award 430HX
|
||||
*
|
||||
*
|
||||
*
|
||||
* Authors: Miran Grca, <mgrca8@gmail.com>
|
||||
* Copyright 2020 Miran Grca.
|
||||
*/
|
||||
#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 <86box/device.h>
|
||||
#include <86box/io.h>
|
||||
#include <86box/timer.h>
|
||||
#include <86box/mem.h>
|
||||
#include <86box/lpt.h>
|
||||
#include <86box/serial.h>
|
||||
#include <86box/fdd.h>
|
||||
#include <86box/fdc.h>
|
||||
#include <86box/hdc.h>
|
||||
#include <86box/hdc_ide.h>
|
||||
#include <86box/gameport.h>
|
||||
#include <86box/sio.h>
|
||||
|
||||
#ifdef ENABLE_W83787_LOG
|
||||
int w83787_do_log = ENABLE_W83787_LOG;
|
||||
|
||||
static void
|
||||
w83787_log(const char *fmt, ...)
|
||||
{
|
||||
va_list ap;
|
||||
|
||||
if (w83787_do_log) {
|
||||
va_start(ap, fmt);
|
||||
pclog_ex(fmt, ap);
|
||||
va_end(ap);
|
||||
}
|
||||
}
|
||||
#else
|
||||
# define w83787_log(fmt, ...)
|
||||
#endif
|
||||
|
||||
#define FDDA_TYPE (dev->regs[7] & 3)
|
||||
#define FDDB_TYPE ((dev->regs[7] >> 2) & 3)
|
||||
#define FDDC_TYPE ((dev->regs[7] >> 4) & 3)
|
||||
#define FDDD_TYPE ((dev->regs[7] >> 6) & 3)
|
||||
|
||||
#define FD_BOOT (dev->regs[8] & 3)
|
||||
#define SWWP ((dev->regs[8] >> 4) & 1)
|
||||
#define DISFDDWR ((dev->regs[8] >> 5) & 1)
|
||||
|
||||
#define EN3MODE ((dev->regs[9] >> 5) & 1)
|
||||
|
||||
#define DRV2EN_NEG (dev->regs[0xB] & 1) /* 0 = drive 2 installed */
|
||||
#define INVERTZ ((dev->regs[0xB] >> 1) & 1) /* 0 = invert DENSEL polarity */
|
||||
#define IDENT ((dev->regs[0xB] >> 3) & 1)
|
||||
|
||||
#define HEFERE ((dev->regs[0xC] >> 5) & 1)
|
||||
|
||||
#define HAS_IDE_FUNCTIONALITY dev->ide_function
|
||||
|
||||
typedef struct w83787f_t {
|
||||
uint8_t tries;
|
||||
uint8_t regs[42];
|
||||
uint16_t reg_init;
|
||||
int locked;
|
||||
int rw_locked;
|
||||
int cur_reg;
|
||||
int key;
|
||||
int ide_function;
|
||||
int ide_start;
|
||||
fdc_t *fdc;
|
||||
serial_t *uart[2];
|
||||
lpt_t *lpt;
|
||||
void *gameport;
|
||||
} w83787f_t;
|
||||
|
||||
static void w83787f_write(uint16_t port, uint8_t val, void *priv);
|
||||
static uint8_t w83787f_read(uint16_t port, void *priv);
|
||||
|
||||
static void
|
||||
w83787f_remap(w83787f_t *dev)
|
||||
{
|
||||
io_removehandler(0x250, 0x0004,
|
||||
w83787f_read, NULL, NULL, w83787f_write, NULL, NULL, dev);
|
||||
io_sethandler(0x250, 0x0004,
|
||||
w83787f_read, NULL, NULL, w83787f_write, NULL, NULL, dev);
|
||||
dev->key = 0x88 | HEFERE;
|
||||
}
|
||||
|
||||
#ifdef FIXME
|
||||
/* FIXME: Implement EPP (and ECP) parallel port modes. */
|
||||
static uint8_t
|
||||
get_lpt_length(w83787f_t *dev)
|
||||
{
|
||||
uint8_t length = 4;
|
||||
|
||||
if (dev->regs[9] & 0x80) {
|
||||
if (dev->regs[0] & 0x04)
|
||||
length = 8; /* EPP mode. */
|
||||
if (dev->regs[0] & 0x08)
|
||||
length |= 0x80; /* ECP mode. */
|
||||
}
|
||||
|
||||
return length;
|
||||
}
|
||||
#endif
|
||||
|
||||
static void
|
||||
w83787f_serial_handler(w83787f_t *dev, int uart)
|
||||
{
|
||||
int urs0 = !!(dev->regs[1] & (1 << uart));
|
||||
int urs1 = !!(dev->regs[1] & (4 << uart));
|
||||
int urs2 = !!(dev->regs[3] & (8 >> uart));
|
||||
int urs;
|
||||
int irq = COM1_IRQ;
|
||||
uint16_t addr = COM1_ADDR;
|
||||
uint16_t enable = 1;
|
||||
|
||||
urs = (urs1 << 1) | urs0;
|
||||
|
||||
if (urs2) {
|
||||
addr = uart ? COM1_ADDR : COM2_ADDR;
|
||||
irq = uart ? COM1_IRQ : COM2_IRQ;
|
||||
} else {
|
||||
switch (urs) {
|
||||
case 0:
|
||||
addr = uart ? COM3_ADDR : COM4_ADDR;
|
||||
irq = uart ? COM3_IRQ : COM4_IRQ;
|
||||
break;
|
||||
case 1:
|
||||
addr = uart ? COM4_ADDR : COM3_ADDR;
|
||||
irq = uart ? COM4_IRQ : COM3_IRQ;
|
||||
break;
|
||||
case 2:
|
||||
addr = uart ? COM2_ADDR : COM1_ADDR;
|
||||
irq = uart ? COM2_IRQ : COM1_IRQ;
|
||||
break;
|
||||
case 3:
|
||||
default:
|
||||
enable = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (dev->regs[4] & (0x20 >> uart))
|
||||
enable = 0;
|
||||
|
||||
serial_remove(dev->uart[uart]);
|
||||
if (enable)
|
||||
serial_setup(dev->uart[uart], addr, irq);
|
||||
}
|
||||
|
||||
static void
|
||||
w83787f_lpt_handler(w83787f_t *dev)
|
||||
{
|
||||
int ptras = (dev->regs[1] >> 4) & 0x03;
|
||||
int irq = LPT1_IRQ;
|
||||
uint16_t addr = LPT1_ADDR;
|
||||
uint16_t enable = 1;
|
||||
|
||||
switch (ptras) {
|
||||
case 0x00:
|
||||
addr = LPT_MDA_ADDR;
|
||||
irq = LPT_MDA_IRQ;
|
||||
break;
|
||||
case 0x01:
|
||||
addr = LPT2_ADDR;
|
||||
irq = LPT2_IRQ;
|
||||
break;
|
||||
case 0x02:
|
||||
addr = LPT1_ADDR;
|
||||
irq = LPT1_IRQ;
|
||||
break;
|
||||
case 0x03:
|
||||
default:
|
||||
enable = 0;
|
||||
break;
|
||||
}
|
||||
|
||||
if (dev->regs[4] & 0x80)
|
||||
enable = 0;
|
||||
|
||||
lpt_port_remove(dev->lpt);
|
||||
if (enable) {
|
||||
lpt_port_setup(dev->lpt, addr);
|
||||
lpt_port_irq(dev->lpt, irq);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
w83787f_gameport_handler(w83787f_t *dev)
|
||||
{
|
||||
if (!(dev->regs[3] & 0x40) && !(dev->regs[4] & 0x40))
|
||||
gameport_remap(dev->gameport, 0x201);
|
||||
else
|
||||
gameport_remap(dev->gameport, 0);
|
||||
}
|
||||
|
||||
static void
|
||||
w83787f_fdc_handler(w83787f_t *dev)
|
||||
{
|
||||
fdc_remove(dev->fdc);
|
||||
if (!(dev->regs[0] & 0x20))
|
||||
fdc_set_base(dev->fdc, (dev->regs[0] & 0x10) ? FDC_PRIMARY_ADDR : FDC_SECONDARY_ADDR);
|
||||
fdc_set_power_down(dev->fdc, !!(dev->regs[6] & 0x08));
|
||||
}
|
||||
|
||||
static void
|
||||
w83787f_ide_handler(w83787f_t *dev)
|
||||
{
|
||||
if (dev->ide_function & 0x20) {
|
||||
ide_sec_disable();
|
||||
if (!(dev->regs[0] & 0x80)) {
|
||||
ide_set_base(1, (dev->regs[0] & 0x40) ? 0x1f0 : 0x170);
|
||||
ide_set_side(1, (dev->regs[0] & 0x40) ? 0x3f6 : 0x376);
|
||||
ide_sec_enable();
|
||||
}
|
||||
} else {
|
||||
ide_pri_disable();
|
||||
if (!(dev->regs[0] & 0x80)) {
|
||||
ide_set_base(0, (dev->regs[0] & 0x40) ? 0x1f0 : 0x170);
|
||||
ide_set_side(0, (dev->regs[0] & 0x40) ? 0x3f6 : 0x376);
|
||||
ide_pri_enable();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
w83787f_write(uint16_t port, uint8_t val, void *priv)
|
||||
{
|
||||
w83787f_t *dev = (w83787f_t *) priv;
|
||||
uint8_t valxor = 0;
|
||||
uint8_t max = 0x15;
|
||||
|
||||
if (port == 0x250) {
|
||||
if (val == dev->key)
|
||||
dev->locked = 1;
|
||||
else
|
||||
dev->locked = 0;
|
||||
return;
|
||||
} else if (port == 0x251) {
|
||||
if (val <= max)
|
||||
dev->cur_reg = val;
|
||||
return;
|
||||
} else {
|
||||
if (dev->locked) {
|
||||
if (dev->rw_locked && (dev->cur_reg <= 0x0b))
|
||||
return;
|
||||
if (dev->cur_reg == 6)
|
||||
val &= 0xFB;
|
||||
valxor = val ^ dev->regs[dev->cur_reg];
|
||||
dev->regs[dev->cur_reg] = val;
|
||||
} else
|
||||
return;
|
||||
}
|
||||
|
||||
switch (dev->cur_reg) {
|
||||
case 0:
|
||||
w83787_log("REG 00: %02X\n", val);
|
||||
if ((valxor & 0xc0) && (HAS_IDE_FUNCTIONALITY))
|
||||
w83787f_ide_handler(dev);
|
||||
if (valxor & 0x30)
|
||||
w83787f_fdc_handler(dev);
|
||||
if (valxor & 0x0c)
|
||||
w83787f_lpt_handler(dev);
|
||||
break;
|
||||
case 1:
|
||||
if (valxor & 0x80)
|
||||
fdc_set_swap(dev->fdc, (dev->regs[1] & 0x80) ? 1 : 0);
|
||||
if (valxor & 0x30)
|
||||
w83787f_lpt_handler(dev);
|
||||
if (valxor & 0x0a)
|
||||
w83787f_serial_handler(dev, 1);
|
||||
if (valxor & 0x05)
|
||||
w83787f_serial_handler(dev, 0);
|
||||
break;
|
||||
case 3:
|
||||
if (valxor & 0x80)
|
||||
w83787f_lpt_handler(dev);
|
||||
if (valxor & 0x40)
|
||||
w83787f_gameport_handler(dev);
|
||||
if (valxor & 0x08)
|
||||
w83787f_serial_handler(dev, 0);
|
||||
if (valxor & 0x04)
|
||||
w83787f_serial_handler(dev, 1);
|
||||
break;
|
||||
case 4:
|
||||
if (valxor & 0x10)
|
||||
w83787f_serial_handler(dev, 1);
|
||||
if (valxor & 0x20)
|
||||
w83787f_serial_handler(dev, 0);
|
||||
if (valxor & 0x80)
|
||||
w83787f_lpt_handler(dev);
|
||||
if (valxor & 0x40)
|
||||
w83787f_gameport_handler(dev);
|
||||
break;
|
||||
case 6:
|
||||
if (valxor & 0x08)
|
||||
w83787f_fdc_handler(dev);
|
||||
break;
|
||||
case 7:
|
||||
if (valxor & 0x03)
|
||||
fdc_update_rwc(dev->fdc, 0, FDDA_TYPE);
|
||||
if (valxor & 0x0c)
|
||||
fdc_update_rwc(dev->fdc, 1, FDDB_TYPE);
|
||||
if (valxor & 0x30)
|
||||
fdc_update_rwc(dev->fdc, 2, FDDC_TYPE);
|
||||
if (valxor & 0xc0)
|
||||
fdc_update_rwc(dev->fdc, 3, FDDD_TYPE);
|
||||
break;
|
||||
case 8:
|
||||
if (valxor & 0x03)
|
||||
fdc_update_boot_drive(dev->fdc, FD_BOOT);
|
||||
if (valxor & 0x10)
|
||||
fdc_set_swwp(dev->fdc, SWWP ? 1 : 0);
|
||||
if (valxor & 0x20)
|
||||
fdc_set_diswr(dev->fdc, DISFDDWR ? 1 : 0);
|
||||
break;
|
||||
case 9:
|
||||
if (valxor & 0x20)
|
||||
fdc_update_enh_mode(dev->fdc, EN3MODE ? 1 : 0);
|
||||
if (valxor & 0x40)
|
||||
dev->rw_locked = (val & 0x40) ? 1 : 0;
|
||||
if (valxor & 0x80)
|
||||
w83787f_lpt_handler(dev);
|
||||
break;
|
||||
case 0xB:
|
||||
w83787_log("Writing %02X to CRB\n", val);
|
||||
break;
|
||||
case 0xC:
|
||||
if (valxor & 0x20)
|
||||
w83787f_remap(dev);
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static uint8_t
|
||||
w83787f_read(uint16_t port, void *priv)
|
||||
{
|
||||
w83787f_t *dev = (w83787f_t *) priv;
|
||||
uint8_t ret = 0xff;
|
||||
|
||||
if (dev->locked) {
|
||||
if (port == 0x251)
|
||||
ret = dev->cur_reg;
|
||||
else if (port == 0x252) {
|
||||
if (dev->cur_reg == 7)
|
||||
ret = (fdc_get_rwc(dev->fdc, 0) | (fdc_get_rwc(dev->fdc, 1) << 2));
|
||||
else if (!dev->rw_locked || (dev->cur_reg > 0x0b))
|
||||
ret = dev->regs[dev->cur_reg];
|
||||
}
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static void
|
||||
w83787f_reset(w83787f_t *dev)
|
||||
{
|
||||
uint16_t hefere = dev->reg_init & 0x0100;
|
||||
|
||||
lpt_port_remove(dev->lpt);
|
||||
lpt_port_setup(dev->lpt, LPT1_ADDR);
|
||||
lpt_port_irq(dev->lpt, LPT1_IRQ);
|
||||
|
||||
memset(dev->regs, 0, 0x2A);
|
||||
|
||||
if (HAS_IDE_FUNCTIONALITY) {
|
||||
if (dev->ide_function & 0x20) {
|
||||
dev->regs[0x00] = 0x90;
|
||||
ide_sec_disable();
|
||||
ide_set_base(1, 0x170);
|
||||
ide_set_side(1, 0x376);
|
||||
} else {
|
||||
dev->regs[0x00] = 0xd0;
|
||||
ide_pri_disable();
|
||||
ide_set_base(0, 0x1f0);
|
||||
ide_set_side(0, 0x3f6);
|
||||
}
|
||||
|
||||
if (dev->ide_start) {
|
||||
dev->regs[0x00] &= 0x7f;
|
||||
if (dev->ide_function & 0x20)
|
||||
ide_sec_enable();
|
||||
else
|
||||
ide_pri_enable();
|
||||
}
|
||||
} else
|
||||
dev->regs[0x00] = 0xd0;
|
||||
|
||||
fdc_reset(dev->fdc);
|
||||
w83787f_fdc_handler(dev);
|
||||
|
||||
dev->regs[0x01] = 0x2C;
|
||||
dev->regs[0x03] = 0x70;
|
||||
dev->regs[0x07] = 0xF5;
|
||||
dev->regs[0x09] = dev->reg_init & 0xff;
|
||||
dev->regs[0x0a] = 0x1F;
|
||||
dev->regs[0x0c] = 0x0C | (hefere >> 3);
|
||||
dev->regs[0x0d] = 0xA3;
|
||||
|
||||
gameport_remap(dev->gameport, 0);
|
||||
|
||||
serial_setup(dev->uart[0], COM1_ADDR, COM1_IRQ);
|
||||
serial_setup(dev->uart[1], COM2_ADDR, COM2_IRQ);
|
||||
|
||||
w83787f_lpt_handler(dev);
|
||||
|
||||
dev->key = 0x88 | (hefere >> 8);
|
||||
|
||||
w83787f_remap(dev);
|
||||
|
||||
dev->locked = 0;
|
||||
dev->rw_locked = 0;
|
||||
}
|
||||
|
||||
static void
|
||||
w83787f_close(void *priv)
|
||||
{
|
||||
w83787f_t *dev = (w83787f_t *) priv;
|
||||
|
||||
free(dev);
|
||||
}
|
||||
|
||||
static void *
|
||||
w83787f_init(const device_t *info)
|
||||
{
|
||||
w83787f_t *dev = (w83787f_t *) calloc(1, sizeof(w83787f_t));
|
||||
|
||||
HAS_IDE_FUNCTIONALITY = (info->local & 0x30);
|
||||
|
||||
dev->fdc = device_add(&fdc_at_winbond_device);
|
||||
|
||||
dev->uart[0] = device_add_inst(&ns16550_device, 1);
|
||||
dev->uart[1] = device_add_inst(&ns16550_device, 2);
|
||||
|
||||
dev->lpt = device_add_inst(&lpt_port_device, 1);
|
||||
|
||||
dev->gameport = gameport_add(&gameport_sio_1io_device);
|
||||
|
||||
if ((dev->ide_function & 0x30) == 0x10)
|
||||
device_add(&ide_isa_device);
|
||||
|
||||
dev->ide_start = !!(info->local & 0x40);
|
||||
|
||||
dev->reg_init = info->local & 0x010f;
|
||||
w83787f_reset(dev);
|
||||
|
||||
return dev;
|
||||
}
|
||||
|
||||
const device_t w83787f_88h_device = {
|
||||
.name = "Winbond W83787F/IF Super I/O",
|
||||
.internal_name = "w83787f",
|
||||
.flags = 0,
|
||||
.local = 0x0009,
|
||||
.init = w83787f_init,
|
||||
.close = w83787f_close,
|
||||
.reset = NULL,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t w83787f_device = {
|
||||
.name = "Winbond W83787F/IF Super I/O",
|
||||
.internal_name = "w83787f",
|
||||
.flags = 0,
|
||||
.local = 0x0109,
|
||||
.init = w83787f_init,
|
||||
.close = w83787f_close,
|
||||
.reset = NULL,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t w83787f_ide_device = {
|
||||
.name = "Winbond W83787F/IF Super I/O (With IDE)",
|
||||
.internal_name = "w83787f_ide",
|
||||
.flags = 0,
|
||||
.local = 0x0119,
|
||||
.init = w83787f_init,
|
||||
.close = w83787f_close,
|
||||
.reset = NULL,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t w83787f_ide_en_device = {
|
||||
.name = "Winbond W83787F/IF Super I/O (With IDE Enabled)",
|
||||
.internal_name = "w83787f_ide_en",
|
||||
.flags = 0,
|
||||
.local = 0x0159,
|
||||
.init = w83787f_init,
|
||||
.close = w83787f_close,
|
||||
.reset = NULL,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t w83787f_ide_sec_device = {
|
||||
.name = "Winbond W83787F/IF Super I/O (With Secondary IDE)",
|
||||
.internal_name = "w83787f_ide_sec",
|
||||
.flags = 0,
|
||||
.local = 0x0139,
|
||||
.init = w83787f_init,
|
||||
.close = w83787f_close,
|
||||
.reset = NULL,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
476
src/sio/sio_w837x7.c
Normal file
476
src/sio/sio_w837x7.c
Normal file
@@ -0,0 +1,476 @@
|
||||
/*
|
||||
* 86Box A hypervisor and IBM PC system emulator that specializes in
|
||||
* running old operating systems and software designed for IBM
|
||||
* PC systems and compatibles from 1981 through fairly recent
|
||||
* system designs based on the PCI bus.
|
||||
*
|
||||
* This file is part of the 86Box distribution.
|
||||
*
|
||||
* Emulation of the Winbond W837x7F/IF Super I/O Chip.
|
||||
*
|
||||
* Authors: Miran Grca, <mgrca8@gmail.com>
|
||||
* Copyright 2020-2025 Miran Grca.
|
||||
*/
|
||||
#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 <86box/device.h>
|
||||
#include <86box/io.h>
|
||||
#include <86box/timer.h>
|
||||
#include <86box/mem.h>
|
||||
#include <86box/lpt.h>
|
||||
#include <86box/serial.h>
|
||||
#include <86box/fdd.h>
|
||||
#include <86box/fdc.h>
|
||||
#include <86box/hdc.h>
|
||||
#include <86box/hdc_ide.h>
|
||||
#include <86box/gameport.h>
|
||||
#include <86box/sio.h>
|
||||
|
||||
#define FDDA_TYPE (dev->regs[7] & 3)
|
||||
#define FDDB_TYPE ((dev->regs[7] >> 2) & 3)
|
||||
#define FDDC_TYPE ((dev->regs[7] >> 4) & 3)
|
||||
#define FDDD_TYPE ((dev->regs[7] >> 6) & 3)
|
||||
|
||||
#define FD_BOOT (dev->regs[8] & 3)
|
||||
#define SWWP ((dev->regs[8] >> 4) & 1)
|
||||
#define DISFDDWR ((dev->regs[8] >> 5) & 1)
|
||||
|
||||
#define EN3MODE ((dev->regs[9] >> 5) & 1)
|
||||
|
||||
#define DRV2EN_NEG (dev->regs[0xB] & 1) /* 0 = drive 2 installed */
|
||||
#define INVERTZ ((dev->regs[0xB] >> 1) & 1) /* 0 = invert DENSEL polarity */
|
||||
#define IDENT ((dev->regs[0xB] >> 3) & 1)
|
||||
|
||||
#define HEFERE ((dev->regs[0xC] >> 5) & 1)
|
||||
|
||||
typedef struct w837x7_t {
|
||||
uint8_t tries;
|
||||
uint8_t has_ide;
|
||||
uint8_t type;
|
||||
uint8_t hefere;
|
||||
uint8_t max_reg;
|
||||
uint8_t regs[256];
|
||||
int locked;
|
||||
int rw_locked;
|
||||
int cur_reg;
|
||||
int key;
|
||||
int ide_start;
|
||||
fdc_t *fdc;
|
||||
serial_t *uart[2];
|
||||
lpt_t *lpt;
|
||||
void *gameport;
|
||||
} w837x7_t;
|
||||
|
||||
#ifdef ENABLE_W837X7_LOG
|
||||
int w837x7_do_log = ENABLE_W837X7_LOG;
|
||||
|
||||
static void
|
||||
w837x7_log(const char *fmt, ...)
|
||||
{
|
||||
va_list ap;
|
||||
|
||||
if (w837x7_do_log) {
|
||||
va_start(ap, fmt);
|
||||
pclog_ex(fmt, ap);
|
||||
va_end(ap);
|
||||
}
|
||||
}
|
||||
#else
|
||||
# define w837x7_log(fmt, ...)
|
||||
#endif
|
||||
|
||||
static void
|
||||
w837x7_serial_handler(w837x7_t *dev, int uart)
|
||||
{
|
||||
int urs0 = !!(dev->regs[0x01] & (0x01 << uart));
|
||||
int urs1 = !!(dev->regs[0x01] & (0x04 << uart));
|
||||
int urs2 = !!(dev->regs[0x03] & (0x08 >> uart));
|
||||
int urs;
|
||||
int irq = COM1_IRQ;
|
||||
uint16_t addr = COM1_ADDR;
|
||||
uint16_t enable = 1;
|
||||
double clock_src = 24000000.0 / 13.0;
|
||||
|
||||
if (dev->regs[0x03] & (1 << (1 - uart)))
|
||||
clock_src = 24000000.0 / 12.0;
|
||||
|
||||
urs = (urs1 << 1) | urs0;
|
||||
|
||||
if (urs2) {
|
||||
addr = uart ? COM1_ADDR : COM2_ADDR;
|
||||
irq = uart ? COM1_IRQ : COM2_IRQ;
|
||||
} else {
|
||||
switch (urs) {
|
||||
case 0x00:
|
||||
addr = uart ? COM3_ADDR : COM4_ADDR;
|
||||
irq = uart ? COM3_IRQ : COM4_IRQ;
|
||||
break;
|
||||
case 0x01:
|
||||
addr = uart ? COM4_ADDR : COM3_ADDR;
|
||||
irq = uart ? COM4_IRQ : COM3_IRQ;
|
||||
break;
|
||||
case 0x02:
|
||||
addr = uart ? COM2_ADDR : COM1_ADDR;
|
||||
irq = uart ? COM2_IRQ : COM1_IRQ;
|
||||
break;
|
||||
case 0x03:
|
||||
default:
|
||||
enable = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (dev->regs[0x04] & (0x20 >> uart))
|
||||
enable = 0;
|
||||
|
||||
serial_remove(dev->uart[uart]);
|
||||
if (enable)
|
||||
serial_setup(dev->uart[uart], addr, irq);
|
||||
|
||||
serial_set_clock_src(dev->uart[uart], clock_src);
|
||||
}
|
||||
|
||||
static void
|
||||
w837x7_lpt_handler(w837x7_t *dev)
|
||||
{
|
||||
int ptras = (dev->regs[1] >> 4) & 0x03;
|
||||
uint16_t lpt_port = 0x0000;
|
||||
uint16_t mask = 0xfffc;
|
||||
uint8_t local_enable = 1;
|
||||
uint8_t lpt_irq = LPT1_IRQ;
|
||||
uint8_t lpt_mode = (dev->regs[0x09] & 0x80) | (dev->regs[0x00] & 0x0c);
|
||||
|
||||
switch (ptras) {
|
||||
case 0x00:
|
||||
lpt_port = LPT_MDA_ADDR;
|
||||
lpt_irq = LPT_MDA_IRQ;
|
||||
break;
|
||||
case 0x01:
|
||||
lpt_port = LPT2_ADDR;
|
||||
lpt_irq = LPT1_IRQ /*LPT2_IRQ*/;
|
||||
break;
|
||||
case 0x02:
|
||||
lpt_port = LPT1_ADDR;
|
||||
lpt_irq = LPT1_IRQ /*LPT2_IRQ*/;
|
||||
break;
|
||||
|
||||
default:
|
||||
local_enable = 0;
|
||||
break;
|
||||
}
|
||||
|
||||
if (dev->regs[0x04] & 0x80)
|
||||
local_enable = 0;
|
||||
|
||||
if (lpt_irq > 15)
|
||||
lpt_irq = 0xff;
|
||||
|
||||
lpt_port_remove(dev->lpt);
|
||||
lpt_set_fifo_threshold(dev->lpt, dev->regs[0x05] & 0x0f);
|
||||
switch (lpt_mode) {
|
||||
default:
|
||||
local_enable = 0;
|
||||
break;
|
||||
case 0x00:
|
||||
lpt_set_epp(dev->lpt, 0);
|
||||
lpt_set_ecp(dev->lpt, 0);
|
||||
lpt_set_ext(dev->lpt, 1);
|
||||
break;
|
||||
case 0x84:
|
||||
mask = 0xfff8;
|
||||
lpt_set_epp(dev->lpt, 1);
|
||||
lpt_set_ecp(dev->lpt, 0);
|
||||
lpt_set_ext(dev->lpt, 0);
|
||||
break;
|
||||
case 0x88:
|
||||
lpt_set_epp(dev->lpt, 0);
|
||||
lpt_set_ecp(dev->lpt, 1);
|
||||
lpt_set_ext(dev->lpt, 0);
|
||||
break;
|
||||
case 0x8c:
|
||||
mask = 0xfff8;
|
||||
lpt_set_epp(dev->lpt, 1);
|
||||
lpt_set_ecp(dev->lpt, 1);
|
||||
lpt_set_ext(dev->lpt, 0);
|
||||
break;
|
||||
}
|
||||
|
||||
if (local_enable && (lpt_port >= 0x0100) && (lpt_port <= (0x0ffc & mask)))
|
||||
lpt_port_setup(dev->lpt, lpt_port);
|
||||
|
||||
lpt_port_irq(dev->lpt, lpt_irq);
|
||||
}
|
||||
|
||||
static void
|
||||
w837x7_gameport_handler(w837x7_t *dev)
|
||||
{
|
||||
if (!(dev->regs[3] & 0x40) && !(dev->regs[4] & 0x40))
|
||||
gameport_remap(dev->gameport, 0x201);
|
||||
else
|
||||
gameport_remap(dev->gameport, 0);
|
||||
}
|
||||
|
||||
static void
|
||||
w837x7_fdc_handler(w837x7_t *dev)
|
||||
{
|
||||
fdc_remove(dev->fdc);
|
||||
if (!(dev->regs[0] & 0x20))
|
||||
fdc_set_base(dev->fdc, (dev->regs[0] & 0x10) ? FDC_PRIMARY_ADDR : FDC_SECONDARY_ADDR);
|
||||
fdc_set_power_down(dev->fdc, !!(dev->regs[6] & 0x08));
|
||||
}
|
||||
|
||||
static void
|
||||
w837x7_ide_handler(w837x7_t *dev)
|
||||
{
|
||||
if (dev->has_ide > 0) {
|
||||
int ide_id = dev->has_ide - 1;
|
||||
|
||||
ide_handlers(ide_id, 0);
|
||||
|
||||
ide_set_base_addr(ide_id, 0, (dev->regs[0x00] & 0x40) ? 0x0170 : 0x01f0);
|
||||
ide_set_base_addr(ide_id, 1, (dev->regs[0x00] & 0x40) ? 0x0376 : 0x03f6);
|
||||
|
||||
if (!(dev->regs[0x00] & 0x80))
|
||||
ide_handlers(ide_id, 1);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
w837x7_write(uint16_t port, uint8_t val, void *priv)
|
||||
{
|
||||
w837x7_t *dev = (w837x7_t *) priv;
|
||||
uint8_t valxor = 0;
|
||||
|
||||
if (port == 0x0250) {
|
||||
if (val == dev->key)
|
||||
dev->locked = 1;
|
||||
else
|
||||
dev->locked = 0;
|
||||
return;
|
||||
} else if (port == 0x0251) {
|
||||
dev->cur_reg = val;
|
||||
return;
|
||||
} else {
|
||||
if (dev->locked) {
|
||||
if (dev->rw_locked && (dev->cur_reg <= 0x0b))
|
||||
return;
|
||||
valxor = val ^ dev->regs[dev->cur_reg];
|
||||
dev->regs[dev->cur_reg] = val;
|
||||
} else
|
||||
return;
|
||||
}
|
||||
|
||||
if (dev->cur_reg <= dev->max_reg) switch (dev->cur_reg) {
|
||||
case 0x00:
|
||||
w837x7_log("REG 00: %02X\n", val);
|
||||
if (valxor & 0xc0)
|
||||
w837x7_ide_handler(dev);
|
||||
if (valxor & 0x30)
|
||||
w837x7_fdc_handler(dev);
|
||||
if (valxor & 0x0c)
|
||||
w837x7_lpt_handler(dev);
|
||||
break;
|
||||
case 0x01:
|
||||
if (valxor & 0x80)
|
||||
fdc_set_swap(dev->fdc, (dev->regs[1] & 0x80) ? 1 : 0);
|
||||
if (valxor & 0x30)
|
||||
w837x7_lpt_handler(dev);
|
||||
if (valxor & 0x0a)
|
||||
w837x7_serial_handler(dev, 1);
|
||||
if (valxor & 0x05)
|
||||
w837x7_serial_handler(dev, 0);
|
||||
break;
|
||||
case 0x03:
|
||||
if (valxor & 0x80)
|
||||
w837x7_lpt_handler(dev);
|
||||
if (valxor & 0x40)
|
||||
w837x7_gameport_handler(dev);
|
||||
if (valxor & 0x0a)
|
||||
w837x7_serial_handler(dev, 0);
|
||||
if (valxor & 0x05)
|
||||
w837x7_serial_handler(dev, 1);
|
||||
break;
|
||||
case 0x04:
|
||||
if (valxor & 0x10)
|
||||
w837x7_serial_handler(dev, 1);
|
||||
if (valxor & 0x20)
|
||||
w837x7_serial_handler(dev, 0);
|
||||
if (valxor & 0x80)
|
||||
w837x7_lpt_handler(dev);
|
||||
if (valxor & 0x40)
|
||||
w837x7_gameport_handler(dev);
|
||||
break;
|
||||
case 0x05:
|
||||
if (valxor & 0x0f)
|
||||
w837x7_lpt_handler(dev);
|
||||
break;
|
||||
case 0x06:
|
||||
if (valxor & 0x08)
|
||||
w837x7_fdc_handler(dev);
|
||||
break;
|
||||
case 0x07:
|
||||
if (valxor & 0x03)
|
||||
fdc_update_rwc(dev->fdc, 0, FDDA_TYPE);
|
||||
if (valxor & 0x0c)
|
||||
fdc_update_rwc(dev->fdc, 1, FDDB_TYPE);
|
||||
if (valxor & 0x30)
|
||||
fdc_update_rwc(dev->fdc, 2, FDDC_TYPE);
|
||||
if (valxor & 0xc0)
|
||||
fdc_update_rwc(dev->fdc, 3, FDDD_TYPE);
|
||||
break;
|
||||
case 0x08:
|
||||
if (valxor & 0x03)
|
||||
fdc_update_boot_drive(dev->fdc, FD_BOOT);
|
||||
if (valxor & 0x10)
|
||||
fdc_set_swwp(dev->fdc, SWWP ? 1 : 0);
|
||||
if (valxor & 0x20)
|
||||
fdc_set_diswr(dev->fdc, DISFDDWR ? 1 : 0);
|
||||
break;
|
||||
case 0x09:
|
||||
if (valxor & 0x20)
|
||||
fdc_update_enh_mode(dev->fdc, EN3MODE ? 1 : 0);
|
||||
if (valxor & 0x40)
|
||||
dev->rw_locked = (val & 0x40) ? 1 : 0;
|
||||
if (valxor & 0x80)
|
||||
w837x7_lpt_handler(dev);
|
||||
break;
|
||||
case 0x0b:
|
||||
if ((valxor & 0x0c) && (dev->type == W83777F)) {
|
||||
fdc_clear_flags(dev->fdc, FDC_FLAG_PS2 | FDC_FLAG_PS2_MCA);
|
||||
switch (val & 0x0c) {
|
||||
case 0x00:
|
||||
fdc_set_flags(dev->fdc, FDC_FLAG_PS2);
|
||||
break;
|
||||
case 0x04:
|
||||
fdc_set_flags(dev->fdc, FDC_FLAG_PS2_MCA);
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 0x0c:
|
||||
if (dev->type == W83787IF)
|
||||
dev->key = 0x88 | HEFERE;
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static uint8_t
|
||||
w837x7_read(uint16_t port, void *priv)
|
||||
{
|
||||
w837x7_t *dev = (w837x7_t *) priv;
|
||||
uint8_t ret = 0xff;
|
||||
|
||||
if (dev->locked) {
|
||||
if (port == 0x0251)
|
||||
ret = dev->cur_reg;
|
||||
else if (port == 0x0252) {
|
||||
if (dev->cur_reg == 7)
|
||||
ret = (fdc_get_rwc(dev->fdc, 0) | (fdc_get_rwc(dev->fdc, 1) << 2));
|
||||
else if (!dev->rw_locked || (dev->cur_reg > 0x0b))
|
||||
ret = dev->regs[dev->cur_reg];
|
||||
}
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static void
|
||||
w837x7_reset(w837x7_t *dev)
|
||||
{
|
||||
memset(dev->regs, 0x00, dev->max_reg + 1);
|
||||
|
||||
if (dev->has_ide == 0x02)
|
||||
dev->regs[0x00] = 0x90;
|
||||
else if (dev->has_ide == 0x01)
|
||||
dev->regs[0x00] = 0xd0;
|
||||
|
||||
if (dev->ide_start)
|
||||
dev->regs[0x00] &= 0x7f;
|
||||
|
||||
dev->regs[0x01] = 0x2c;
|
||||
dev->regs[0x03] = 0x30;
|
||||
dev->regs[0x09] = dev->type;
|
||||
dev->regs[0x0a] = 0x1f;
|
||||
|
||||
if (dev->type == W83787IF) {
|
||||
dev->regs[0x0c] = 0x0c | dev->hefere;
|
||||
dev->regs[0x0d] = 0x03;
|
||||
} else
|
||||
dev->regs[0x0c] = dev->hefere;
|
||||
|
||||
dev->key = 0x88 | HEFERE;
|
||||
|
||||
fdc_reset(dev->fdc);
|
||||
fdc_clear_flags(dev->fdc, FDC_FLAG_PS2 | FDC_FLAG_PS2_MCA);
|
||||
|
||||
w837x7_fdc_handler(dev);
|
||||
|
||||
w837x7_lpt_handler(dev);
|
||||
w837x7_serial_handler(dev, 0);
|
||||
w837x7_serial_handler(dev, 1);
|
||||
w837x7_gameport_handler(dev);
|
||||
w837x7_ide_handler(dev);
|
||||
|
||||
dev->locked = 0;
|
||||
dev->rw_locked = 0;
|
||||
}
|
||||
|
||||
static void
|
||||
w837x7_close(void *priv)
|
||||
{
|
||||
w837x7_t *dev = (w837x7_t *) priv;
|
||||
|
||||
free(dev);
|
||||
}
|
||||
|
||||
static void *
|
||||
w837x7_init(const device_t *info)
|
||||
{
|
||||
w837x7_t *dev = (w837x7_t *) calloc(1, sizeof(w837x7_t));
|
||||
|
||||
dev->type = info->local & 0x0f;
|
||||
dev->hefere = info->local & W837X7_KEY_89;
|
||||
dev->max_reg = (dev->type == W83787IF) ? 0x15 : ((dev->type == W83787F) ? 0x0a : 0x0b);
|
||||
dev->has_ide = (info->local >> 16) & 0xff;
|
||||
dev->ide_start = !!(info->local & W837X7_IDE_START);
|
||||
|
||||
dev->fdc = device_add(&fdc_at_winbond_device);
|
||||
|
||||
dev->uart[0] = device_add_inst(&ns16550_device, 1);
|
||||
dev->uart[1] = device_add_inst(&ns16550_device, 2);
|
||||
|
||||
dev->lpt = device_add_inst(&lpt_port_device, 1);
|
||||
lpt_set_cnfgb_readout(dev->lpt, 0x3f);
|
||||
|
||||
dev->gameport = gameport_add(&gameport_sio_1io_device);
|
||||
|
||||
w837x7_reset(dev);
|
||||
|
||||
io_sethandler(0x250, 0x0004,
|
||||
w837x7_read, NULL, NULL, w837x7_write, NULL, NULL, dev);
|
||||
|
||||
return dev;
|
||||
}
|
||||
|
||||
const device_t w837x7_device = {
|
||||
.name = "Winbond W837x7 Super I/O",
|
||||
.internal_name = "w837x7",
|
||||
.flags = 0,
|
||||
.local = 0,
|
||||
.init = w837x7_init,
|
||||
.close = w837x7_close,
|
||||
.reset = NULL,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
@@ -6,15 +6,10 @@
|
||||
*
|
||||
* This file is part of the 86Box distribution.
|
||||
*
|
||||
* Emulation of the Winbond W83877F Super I/O Chip.
|
||||
*
|
||||
* Winbond W83877F Super I/O Chip
|
||||
* Used by the Award 430HX
|
||||
*
|
||||
*
|
||||
* Emulation of the Winbond W83877 family of Super I/O Chips.
|
||||
*
|
||||
* Authors: Miran Grca, <mgrca8@gmail.com>
|
||||
* Copyright 2016-2020 Miran Grca.
|
||||
* Copyright 2016-2025 Miran Grca.
|
||||
*/
|
||||
#include <stdio.h>
|
||||
#include <stdint.h>
|
||||
@@ -30,35 +25,41 @@
|
||||
#include <86box/rom.h>
|
||||
#include <86box/lpt.h>
|
||||
#include <86box/serial.h>
|
||||
#include <86box/hdc.h>
|
||||
#include <86box/hdc_ide.h>
|
||||
#include <86box/fdd.h>
|
||||
#include <86box/fdc.h>
|
||||
#include <86box/machine.h>
|
||||
#include <86box/sio.h>
|
||||
|
||||
#define FDDA_TYPE (dev->regs[7] & 3)
|
||||
#define FDDB_TYPE ((dev->regs[7] >> 2) & 3)
|
||||
#define FDDC_TYPE ((dev->regs[7] >> 4) & 3)
|
||||
#define FDDD_TYPE ((dev->regs[7] >> 6) & 3)
|
||||
#define FDDA_TYPE (dev->regs[0x07] & 3)
|
||||
#define FDDB_TYPE ((dev->regs[0x07] >> 2) & 3)
|
||||
#define FDDC_TYPE ((dev->regs[0x07] >> 4) & 3)
|
||||
#define FDDD_TYPE ((dev->regs[0x07] >> 6) & 3)
|
||||
|
||||
#define FD_BOOT (dev->regs[8] & 3)
|
||||
#define SWWP ((dev->regs[8] >> 4) & 1)
|
||||
#define DISFDDWR ((dev->regs[8] >> 5) & 1)
|
||||
#define FD_BOOT (dev->regs[0x08] & 3)
|
||||
#define SWWP ((dev->regs[0x08] >> 4) & 1)
|
||||
#define DISFDDWR ((dev->regs[0x08] >> 5) & 1)
|
||||
|
||||
#define EN3MODE ((dev->regs[9] >> 5) & 1)
|
||||
#define EN3MODE ((dev->regs[0x09] >> 5) & 1)
|
||||
|
||||
#define DRV2EN_NEG (dev->regs[0xB] & 1) /* 0 = drive 2 installed */
|
||||
#define INVERTZ ((dev->regs[0xB] >> 1) & 1) /* 0 = invert DENSEL polarity */
|
||||
#define IDENT ((dev->regs[0xB] >> 3) & 1)
|
||||
#define DRV2EN_NEG (dev->regs[0x0b] & 1) /* 0 = drive 2 installed */
|
||||
#define INVERTZ ((dev->regs[0x0b] >> 1) & 1) /* 0 = invert DENSEL polarity */
|
||||
#define IDENT ((dev->regs[0x0b] >> 3) & 1)
|
||||
|
||||
#define HEFERE ((dev->regs[0xC] >> 5) & 1)
|
||||
#define HEFERE ((dev->regs[0x0c] >> 5) & 1)
|
||||
|
||||
#define HEFRAS (dev->regs[0x16] & 1)
|
||||
|
||||
#define PRTIQS (dev->regs[0x27] & 0x0f)
|
||||
#define ECPIRQ ((dev->regs[0x27] >> 5) & 0x07)
|
||||
|
||||
typedef struct w83877f_t {
|
||||
typedef struct w83877_t {
|
||||
uint8_t tries;
|
||||
uint8_t regs[42];
|
||||
uint8_t has_ide;
|
||||
uint8_t dma_map[4];
|
||||
uint8_t irq_map[10];
|
||||
uint8_t regs[256];
|
||||
uint16_t reg_init;
|
||||
int locked;
|
||||
int rw_locked;
|
||||
@@ -69,36 +70,36 @@ typedef struct w83877f_t {
|
||||
fdc_t *fdc;
|
||||
serial_t *uart[2];
|
||||
lpt_t *lpt;
|
||||
} w83877f_t;
|
||||
} w83877_t;
|
||||
|
||||
static void w83877f_write(uint16_t port, uint8_t val, void *priv);
|
||||
static uint8_t w83877f_read(uint16_t port, void *priv);
|
||||
static void w83877_write(uint16_t port, uint8_t val, void *priv);
|
||||
static uint8_t w83877_read(uint16_t port, void *priv);
|
||||
|
||||
static void
|
||||
w83877f_remap(w83877f_t *dev)
|
||||
w83877_remap(w83877_t *dev)
|
||||
{
|
||||
uint8_t hefras = HEFRAS;
|
||||
|
||||
io_removehandler(0x250, 0x0003,
|
||||
w83877f_read, NULL, NULL, w83877f_write, NULL, NULL, dev);
|
||||
w83877_read, NULL, NULL, w83877_write, NULL, NULL, dev);
|
||||
io_removehandler(FDC_PRIMARY_ADDR, 0x0002,
|
||||
w83877f_read, NULL, NULL, w83877f_write, NULL, NULL, dev);
|
||||
w83877_read, NULL, NULL, w83877_write, NULL, NULL, dev);
|
||||
dev->base_address = (hefras ? FDC_PRIMARY_ADDR : 0x250);
|
||||
io_sethandler(dev->base_address, hefras ? 0x0002 : 0x0003,
|
||||
w83877f_read, NULL, NULL, w83877f_write, NULL, NULL, dev);
|
||||
w83877_read, NULL, NULL, w83877_write, NULL, NULL, dev);
|
||||
dev->key_times = hefras + 1;
|
||||
dev->key = (hefras ? 0x86 : 0x88) | HEFERE;
|
||||
}
|
||||
|
||||
static uint8_t
|
||||
get_lpt_length(w83877f_t *dev)
|
||||
get_lpt_length(w83877_t *dev)
|
||||
{
|
||||
uint8_t length = 4;
|
||||
|
||||
if (dev->regs[9] & 0x80) {
|
||||
if (dev->regs[0] & 0x04)
|
||||
if (dev->regs[0x09] & 0x80) {
|
||||
if (dev->regs[0x00] & 0x04)
|
||||
length = 8; /* EPP mode. */
|
||||
if (dev->regs[0] & 0x08)
|
||||
if (dev->regs[0x00] & 0x08)
|
||||
length |= 0x80; /* ECP mode. */
|
||||
}
|
||||
|
||||
@@ -106,7 +107,7 @@ get_lpt_length(w83877f_t *dev)
|
||||
}
|
||||
|
||||
static uint16_t
|
||||
make_port(w83877f_t *dev, uint8_t reg)
|
||||
make_port(w83877_t *dev, uint8_t reg)
|
||||
{
|
||||
uint16_t p = 0;
|
||||
uint8_t l;
|
||||
@@ -114,34 +115,31 @@ make_port(w83877f_t *dev, uint8_t reg)
|
||||
switch (reg) {
|
||||
case 0x20:
|
||||
p = ((uint16_t) (dev->regs[reg] & 0xfc)) << 2;
|
||||
p &= 0xFF0;
|
||||
if ((p < 0x100) || (p > 0x3F0))
|
||||
p = 0x3F0;
|
||||
p &= 0x0ff0;
|
||||
if ((p < 0x0100) || (p > 0x03f0))
|
||||
p = 0x03f0;
|
||||
break;
|
||||
case 0x23:
|
||||
l = get_lpt_length(dev);
|
||||
p = ((uint16_t) (dev->regs[reg] & 0xff)) << 2;
|
||||
/* 8 ports in EPP mode, 4 in non-EPP mode. */
|
||||
if ((l & 0x0f) == 8)
|
||||
p &= 0x3F8;
|
||||
p &= 0x03f8;
|
||||
else
|
||||
p &= 0x3FC;
|
||||
if ((p < 0x100) || (p > 0x3FF))
|
||||
p &= 0x03fc;
|
||||
if ((p < 0x0100) || (p > 0x03ff))
|
||||
p = LPT1_ADDR;
|
||||
/* In ECP mode, A10 is active. */
|
||||
if (l & 0x80)
|
||||
p |= 0x400;
|
||||
break;
|
||||
case 0x24:
|
||||
p = ((uint16_t) (dev->regs[reg] & 0xfe)) << 2;
|
||||
p &= 0xFF8;
|
||||
if ((p < 0x100) || (p > 0x3F8))
|
||||
p &= 0x0ff8;
|
||||
if ((p < 0x0100) || (p > 0x03f8))
|
||||
p = COM1_ADDR;
|
||||
break;
|
||||
case 0x25:
|
||||
p = ((uint16_t) (dev->regs[reg] & 0xfe)) << 2;
|
||||
p &= 0xFF8;
|
||||
if ((p < 0x100) || (p > 0x3F8))
|
||||
p &= 0x0ff8;
|
||||
if ((p < 0x0100) || (p > 0x03f8))
|
||||
p = COM2_ADDR;
|
||||
break;
|
||||
|
||||
@@ -153,35 +151,62 @@ make_port(w83877f_t *dev, uint8_t reg)
|
||||
}
|
||||
|
||||
static void
|
||||
w83877f_fdc_handler(w83877f_t *dev)
|
||||
w83877_ide_handler(w83877_t *dev)
|
||||
{
|
||||
uint16_t ide_port = 0x0000;
|
||||
|
||||
if (dev->has_ide > 0) {
|
||||
int ide_id = dev->has_ide - 1;
|
||||
|
||||
ide_handlers(ide_id, 0);
|
||||
|
||||
ide_port = (dev->regs[0x21] << 2) & 0xfff0;
|
||||
ide_set_base_addr(ide_id, 0, ide_port);
|
||||
|
||||
ide_port = ((dev->regs[0x22] << 2) & 0xfff0) | 0x0006;
|
||||
ide_set_base_addr(ide_id, 1, ide_port);
|
||||
|
||||
if (!(dev->regs[0x06] & 0x04))
|
||||
ide_handlers(ide_id, 1);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
w83877_fdc_handler(w83877_t *dev)
|
||||
{
|
||||
fdc_remove(dev->fdc);
|
||||
if (dev->regs[0x20] & 0xc0)
|
||||
if (!(dev->regs[0x06] & 0x08) && (dev->regs[0x20] & 0xc0))
|
||||
fdc_set_base(dev->fdc, make_port(dev, 0x20));
|
||||
fdc_set_power_down(dev->fdc, !!(dev->regs[6] & 0x08));
|
||||
fdc_set_irq(dev->fdc, dev->irq_map[dev->regs[0x29] >> 4]);
|
||||
fdc_set_dma_ch(dev->fdc, dev->dma_map[(dev->regs[0x26] >> 4) & 0x03]);
|
||||
fdc_set_power_down(dev->fdc, !!(dev->regs[0x06] & 0x08));
|
||||
}
|
||||
|
||||
static void
|
||||
w83877f_lpt_handler(w83877f_t *dev)
|
||||
w83877_lpt_handler(w83877_t *dev)
|
||||
{
|
||||
uint8_t lpt_irq;
|
||||
uint8_t lpt_irqs[8] = { 0, 7, 9, 10, 11, 14, 15, 5 };
|
||||
const uint8_t lpt_irq = dev->irq_map[PRTIQS];
|
||||
|
||||
lpt_port_remove(dev->lpt);
|
||||
if (!(dev->regs[4] & 0x80) && (dev->regs[0x23] & 0xc0))
|
||||
|
||||
lpt_set_ext(dev->lpt, 1);
|
||||
|
||||
lpt_set_epp(dev->lpt, (dev->regs[0x09] & 0x80) && (dev->regs[0x00] & 0x04));
|
||||
lpt_set_ecp(dev->lpt, (dev->regs[0x09] & 0x80) && (dev->regs[0x00] & 0x08));
|
||||
|
||||
lpt_set_fifo_threshold(dev->lpt, dev->regs[0x05] & 0x0f);
|
||||
|
||||
if (!(dev->regs[0x04] & 0x80) && (dev->regs[0x23] & 0xc0))
|
||||
lpt_port_setup(dev->lpt, make_port(dev, 0x23));
|
||||
|
||||
lpt_irq = 0xff;
|
||||
|
||||
lpt_irq = lpt_irqs[ECPIRQ];
|
||||
if (lpt_irq == 0)
|
||||
lpt_irq = PRTIQS;
|
||||
|
||||
lpt_port_irq(dev->lpt, lpt_irq);
|
||||
lpt_port_dma(dev->lpt, dev->dma_map[dev->regs[0x26] & 0x03]);
|
||||
|
||||
lpt_set_cnfgb_readout(dev->lpt, ((dev->regs[0x26] & 0xe0) >> 2) | 0x07);
|
||||
}
|
||||
|
||||
static void
|
||||
w83877f_serial_handler(w83877f_t *dev, int uart)
|
||||
w83877_serial_handler(w83877_t *dev, int uart)
|
||||
{
|
||||
int reg_mask = uart ? 0x10 : 0x20;
|
||||
int reg_id = uart ? 0x25 : 0x24;
|
||||
@@ -191,7 +216,7 @@ w83877f_serial_handler(w83877f_t *dev, int uart)
|
||||
|
||||
serial_remove(dev->uart[uart]);
|
||||
if (!(dev->regs[4] & reg_mask) && (dev->regs[reg_id] & 0xc0))
|
||||
serial_setup(dev->uart[uart], make_port(dev, reg_id), (dev->regs[0x28] & irq_mask) >> irq_shift);
|
||||
serial_setup(dev->uart[uart], make_port(dev, reg_id), dev->irq_map[(dev->regs[0x28] & irq_mask) >> irq_shift]);
|
||||
|
||||
if (dev->regs[0x19] & (0x02 >> uart)) {
|
||||
clock_src = 14769000.0;
|
||||
@@ -205,21 +230,19 @@ w83877f_serial_handler(w83877f_t *dev, int uart)
|
||||
}
|
||||
|
||||
static void
|
||||
w83877f_write(uint16_t port, uint8_t val, void *priv)
|
||||
w83877_write(uint16_t port, uint8_t val, void *priv)
|
||||
{
|
||||
w83877f_t *dev = (w83877f_t *) priv;
|
||||
w83877_t *dev = (w83877_t *) priv;
|
||||
uint8_t valxor = 0;
|
||||
uint8_t max = 0x2A;
|
||||
|
||||
if (port == 0x250) {
|
||||
if (port == 0x0250) {
|
||||
if (val == dev->key)
|
||||
dev->locked = 1;
|
||||
else
|
||||
dev->locked = 0;
|
||||
return;
|
||||
} else if (port == 0x251) {
|
||||
if (val <= max)
|
||||
dev->cur_reg = val;
|
||||
} else if (port == 0x0251) {
|
||||
dev->cur_reg = val;
|
||||
return;
|
||||
} else if (port == FDC_PRIMARY_ADDR) {
|
||||
if ((val == dev->key) && !dev->locked) {
|
||||
@@ -235,8 +258,8 @@ w83877f_write(uint16_t port, uint8_t val, void *priv)
|
||||
}
|
||||
} else {
|
||||
if (dev->locked) {
|
||||
if (val < max)
|
||||
dev->cur_reg = val;
|
||||
dev->cur_reg = val;
|
||||
|
||||
if (val == 0xaa)
|
||||
dev->locked = 0;
|
||||
} else {
|
||||
@@ -245,16 +268,10 @@ w83877f_write(uint16_t port, uint8_t val, void *priv)
|
||||
}
|
||||
}
|
||||
return;
|
||||
} else if ((port == 0x252) || (port == 0x3f1)) {
|
||||
} else if ((port == 0x0252) || (port == 0x03f1)) {
|
||||
if (dev->locked) {
|
||||
if (dev->rw_locked)
|
||||
return;
|
||||
if ((dev->cur_reg >= 0x26) && (dev->cur_reg <= 0x27))
|
||||
return;
|
||||
if (dev->cur_reg == 0x29)
|
||||
return;
|
||||
if (dev->cur_reg == 6)
|
||||
val &= 0xFB;
|
||||
valxor = val ^ dev->regs[dev->cur_reg];
|
||||
dev->regs[dev->cur_reg] = val;
|
||||
} else
|
||||
@@ -262,33 +279,39 @@ w83877f_write(uint16_t port, uint8_t val, void *priv)
|
||||
}
|
||||
|
||||
switch (dev->cur_reg) {
|
||||
case 0:
|
||||
case 0x00:
|
||||
if (valxor & 0x0c)
|
||||
w83877f_lpt_handler(dev);
|
||||
w83877_lpt_handler(dev);
|
||||
break;
|
||||
case 1:
|
||||
case 0x01:
|
||||
if (valxor & 0x80)
|
||||
fdc_set_swap(dev->fdc, (dev->regs[1] & 0x80) ? 1 : 0);
|
||||
fdc_set_swap(dev->fdc, (dev->regs[0x01] & 0x80) ? 1 : 0);
|
||||
break;
|
||||
case 3:
|
||||
case 0x03:
|
||||
if (valxor & 0x02)
|
||||
w83877f_serial_handler(dev, 0);
|
||||
w83877_serial_handler(dev, 0);
|
||||
if (valxor & 0x01)
|
||||
w83877f_serial_handler(dev, 1);
|
||||
w83877_serial_handler(dev, 1);
|
||||
break;
|
||||
case 4:
|
||||
case 0x04:
|
||||
if (valxor & 0x10)
|
||||
w83877f_serial_handler(dev, 1);
|
||||
w83877_serial_handler(dev, 1);
|
||||
if (valxor & 0x20)
|
||||
w83877f_serial_handler(dev, 0);
|
||||
w83877_serial_handler(dev, 0);
|
||||
if (valxor & 0x80)
|
||||
w83877f_lpt_handler(dev);
|
||||
w83877_lpt_handler(dev);
|
||||
break;
|
||||
case 6:
|
||||
case 0x05:
|
||||
if (valxor & 0x0f)
|
||||
w83877_lpt_handler(dev);
|
||||
break;
|
||||
case 0x06:
|
||||
if (valxor & 0x08)
|
||||
w83877f_fdc_handler(dev);
|
||||
w83877_fdc_handler(dev);
|
||||
if (valxor & 0x04)
|
||||
w83877_ide_handler(dev);
|
||||
break;
|
||||
case 7:
|
||||
case 0x07:
|
||||
if (valxor & 0x03)
|
||||
fdc_update_rwc(dev->fdc, 0, FDDA_TYPE);
|
||||
if (valxor & 0x0c)
|
||||
@@ -298,7 +321,7 @@ w83877f_write(uint16_t port, uint8_t val, void *priv)
|
||||
if (valxor & 0xc0)
|
||||
fdc_update_rwc(dev->fdc, 3, FDDD_TYPE);
|
||||
break;
|
||||
case 8:
|
||||
case 0x08:
|
||||
if (valxor & 0x03)
|
||||
fdc_update_boot_drive(dev->fdc, FD_BOOT);
|
||||
if (valxor & 0x10)
|
||||
@@ -306,66 +329,106 @@ w83877f_write(uint16_t port, uint8_t val, void *priv)
|
||||
if (valxor & 0x20)
|
||||
fdc_set_diswr(dev->fdc, DISFDDWR ? 1 : 0);
|
||||
break;
|
||||
case 9:
|
||||
case 0x09:
|
||||
if (valxor & 0x20)
|
||||
fdc_update_enh_mode(dev->fdc, EN3MODE ? 1 : 0);
|
||||
if (valxor & 0x40)
|
||||
dev->rw_locked = (val & 0x40) ? 1 : 0;
|
||||
if (valxor & 0x80)
|
||||
w83877f_lpt_handler(dev);
|
||||
w83877_lpt_handler(dev);
|
||||
break;
|
||||
case 0xB:
|
||||
if (valxor & 1)
|
||||
fdc_update_drv2en(dev->fdc, DRV2EN_NEG ? 0 : 1);
|
||||
if (valxor & 2)
|
||||
case 0x0b:
|
||||
if (valxor & 0x0c) {
|
||||
fdc_clear_flags(dev->fdc, FDC_FLAG_PS2 | FDC_FLAG_PS2_MCA);
|
||||
switch (val & 0x0c) {
|
||||
case 0x00:
|
||||
fdc_set_flags(dev->fdc, FDC_FLAG_PS2);
|
||||
break;
|
||||
case 0x04:
|
||||
fdc_set_flags(dev->fdc, FDC_FLAG_PS2_MCA);
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (valxor & 0x02)
|
||||
fdc_update_densel_polarity(dev->fdc, INVERTZ ? 1 : 0);
|
||||
if (valxor & 0x01)
|
||||
fdc_update_drv2en(dev->fdc, DRV2EN_NEG ? 0 : 1);
|
||||
break;
|
||||
case 0xC:
|
||||
case 0x0c:
|
||||
if (valxor & 0x20)
|
||||
w83877f_remap(dev);
|
||||
w83877_remap(dev);
|
||||
break;
|
||||
case 0x16:
|
||||
if (valxor & 1)
|
||||
w83877f_remap(dev);
|
||||
if (valxor & 0x02) {
|
||||
dev->regs[0x1e] = (val & 0x02) ? 0x81 : 0x00;
|
||||
dev->regs[0x20] = (val & 0x02) ? 0xfc : 0x00;
|
||||
dev->regs[0x21] = (val & 0x02) ? 0x7c : 0x00;
|
||||
dev->regs[0x22] = (val & 0x02) ? 0xfd : 0x00;
|
||||
dev->regs[0x23] = (val & 0x02) ? 0xde : 0x00;
|
||||
dev->regs[0x24] = (val & 0x02) ? 0xfe : 0x00;
|
||||
dev->regs[0x25] = (val & 0x02) ? 0xbe : 0x00;
|
||||
dev->regs[0x26] = (val & 0x02) ? 0x23 : 0x00;
|
||||
dev->regs[0x27] = (val & 0x02) ? 0x65 : 0x00;
|
||||
dev->regs[0x28] = (val & 0x02) ? 0x43 : 0x00;
|
||||
dev->regs[0x29] = (val & 0x02) ? 0x62 : 0x00;
|
||||
w83877_fdc_handler(dev);
|
||||
w83877_lpt_handler(dev);
|
||||
w83877_serial_handler(dev, 0);
|
||||
w83877_serial_handler(dev, 1);
|
||||
}
|
||||
if (valxor & 0x01)
|
||||
w83877_remap(dev);
|
||||
break;
|
||||
case 0x19:
|
||||
if (valxor & 0x02)
|
||||
w83877f_serial_handler(dev, 0);
|
||||
w83877_serial_handler(dev, 0);
|
||||
if (valxor & 0x01)
|
||||
w83877f_serial_handler(dev, 1);
|
||||
w83877_serial_handler(dev, 1);
|
||||
break;
|
||||
case 0x20:
|
||||
if (valxor)
|
||||
w83877f_fdc_handler(dev);
|
||||
w83877_fdc_handler(dev);
|
||||
break;
|
||||
case 0x21: case 0x22:
|
||||
if (valxor)
|
||||
w83877_ide_handler(dev);
|
||||
break;
|
||||
case 0x23:
|
||||
if (valxor)
|
||||
w83877f_lpt_handler(dev);
|
||||
w83877_lpt_handler(dev);
|
||||
break;
|
||||
case 0x24:
|
||||
if (valxor & 0xfe)
|
||||
w83877f_serial_handler(dev, 0);
|
||||
w83877_serial_handler(dev, 0);
|
||||
break;
|
||||
case 0x25:
|
||||
if (valxor & 0xfe)
|
||||
w83877f_serial_handler(dev, 1);
|
||||
w83877_serial_handler(dev, 1);
|
||||
break;
|
||||
case 0x26:
|
||||
if (valxor & 0x0f)
|
||||
w83877_lpt_handler(dev);
|
||||
break;
|
||||
case 0x27:
|
||||
if (valxor & 0xef)
|
||||
w83877f_lpt_handler(dev);
|
||||
w83877_lpt_handler(dev);
|
||||
break;
|
||||
case 0x28:
|
||||
if (valxor & 0xf) {
|
||||
if (valxor & 0x0f) {
|
||||
if ((dev->regs[0x28] & 0x0f) == 0)
|
||||
dev->regs[0x28] |= 0x03;
|
||||
w83877f_serial_handler(dev, 1);
|
||||
w83877_serial_handler(dev, 1);
|
||||
}
|
||||
if (valxor & 0xf0) {
|
||||
if ((dev->regs[0x28] & 0xf0) == 0)
|
||||
dev->regs[0x28] |= 0x40;
|
||||
w83877f_serial_handler(dev, 0);
|
||||
w83877_serial_handler(dev, 0);
|
||||
}
|
||||
break;
|
||||
case 0x29:
|
||||
if (valxor & 0xf0)
|
||||
w83877_fdc_handler(dev);
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
@@ -373,9 +436,9 @@ w83877f_write(uint16_t port, uint8_t val, void *priv)
|
||||
}
|
||||
|
||||
static uint8_t
|
||||
w83877f_read(uint16_t port, void *priv)
|
||||
w83877_read(uint16_t port, void *priv)
|
||||
{
|
||||
w83877f_t *dev = (w83877f_t *) priv;
|
||||
w83877_t *dev = (w83877_t *) priv;
|
||||
uint8_t ret = 0xff;
|
||||
|
||||
if (dev->locked) {
|
||||
@@ -393,7 +456,7 @@ w83877f_read(uint16_t port, void *priv)
|
||||
}
|
||||
|
||||
static void
|
||||
w83877f_reset(w83877f_t *dev)
|
||||
w83877_reset(w83877_t *dev)
|
||||
{
|
||||
fdc_reset(dev->fdc);
|
||||
|
||||
@@ -405,47 +468,40 @@ w83877f_reset(w83877f_t *dev)
|
||||
dev->regs[0x0c] = 0x28;
|
||||
dev->regs[0x0d] = 0xA3;
|
||||
dev->regs[0x16] = dev->reg_init & 0xff;
|
||||
dev->regs[0x1e] = 0x81;
|
||||
dev->regs[0x20] = (FDC_PRIMARY_ADDR >> 2) & 0xfc;
|
||||
dev->regs[0x21] = (0x1f0 >> 2) & 0xfc;
|
||||
dev->regs[0x22] = ((0x3f6 >> 2) & 0xfc) | 1;
|
||||
dev->regs[0x23] = (LPT1_ADDR >> 2);
|
||||
dev->regs[0x24] = (COM1_ADDR >> 2) & 0xfe;
|
||||
dev->regs[0x25] = (COM2_ADDR >> 2) & 0xfe;
|
||||
dev->regs[0x26] = (2 << 4) | 4;
|
||||
dev->regs[0x27] = (2 << 4) | 5;
|
||||
dev->regs[0x28] = (4 << 4) | 3;
|
||||
dev->regs[0x29] = 0x62;
|
||||
|
||||
w83877f_fdc_handler(dev);
|
||||
w83877_fdc_handler(dev);
|
||||
fdc_clear_flags(dev->fdc, FDC_FLAG_PS2 | FDC_FLAG_PS2_MCA);
|
||||
|
||||
w83877f_lpt_handler(dev);
|
||||
w83877_lpt_handler(dev);
|
||||
|
||||
w83877f_serial_handler(dev, 0);
|
||||
w83877f_serial_handler(dev, 1);
|
||||
w83877_serial_handler(dev, 0);
|
||||
w83877_serial_handler(dev, 1);
|
||||
|
||||
if (dev->has_ide)
|
||||
w83877_ide_handler(dev);
|
||||
|
||||
dev->base_address = FDC_PRIMARY_ADDR;
|
||||
dev->key = 0x89;
|
||||
dev->key_times = 1;
|
||||
|
||||
w83877f_remap(dev);
|
||||
w83877_remap(dev);
|
||||
|
||||
dev->locked = 0;
|
||||
dev->rw_locked = 0;
|
||||
}
|
||||
|
||||
static void
|
||||
w83877f_close(void *priv)
|
||||
w83877_close(void *priv)
|
||||
{
|
||||
w83877f_t *dev = (w83877f_t *) priv;
|
||||
w83877_t *dev = (w83877_t *) priv;
|
||||
|
||||
free(dev);
|
||||
}
|
||||
|
||||
static void *
|
||||
w83877f_init(const device_t *info)
|
||||
w83877_init(const device_t *info)
|
||||
{
|
||||
w83877f_t *dev = (w83877f_t *) calloc(1, sizeof(w83877f_t));
|
||||
w83877_t *dev = (w83877_t *) calloc(1, sizeof(w83877_t));
|
||||
|
||||
dev->fdc = device_add(&fdc_at_winbond_device);
|
||||
|
||||
@@ -456,60 +512,40 @@ w83877f_init(const device_t *info)
|
||||
|
||||
dev->reg_init = info->local;
|
||||
|
||||
w83877f_reset(dev);
|
||||
dev->has_ide = (info->local >> 16) & 0xff;
|
||||
|
||||
if (!strcmp(machine_get_internal_name(), "ficpa2012")) {
|
||||
dev->dma_map[0] = 4;
|
||||
dev->dma_map[1] = 3;
|
||||
dev->dma_map[2] = 1;
|
||||
dev->dma_map[3] = 2;
|
||||
} else {
|
||||
dev->dma_map[0] = 4;
|
||||
for (int i = 1; i < 4; i++)
|
||||
dev->dma_map[i] = i;
|
||||
}
|
||||
|
||||
memset(dev->irq_map, 0xff, 16);
|
||||
dev->irq_map[0] = 0xff;
|
||||
for (int i = 1; i < 7; i++)
|
||||
dev->irq_map[i] = i;
|
||||
dev->irq_map[1] = 5;
|
||||
dev->irq_map[5] = 7;
|
||||
dev->irq_map[7] = 9; /* Guesswork, I can't find a single BIOS that lets me assign IRQ_G to something. */
|
||||
dev->irq_map[8] = 10;
|
||||
|
||||
w83877_reset(dev);
|
||||
|
||||
return dev;
|
||||
}
|
||||
|
||||
const device_t w83877f_device = {
|
||||
const device_t w83877_device = {
|
||||
.name = "Winbond W83877F Super I/O",
|
||||
.internal_name = "w83877f",
|
||||
.internal_name = "w83877",
|
||||
.flags = 0,
|
||||
.local = 0x0a05,
|
||||
.init = w83877f_init,
|
||||
.close = w83877f_close,
|
||||
.reset = NULL,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t w83877f_president_device = {
|
||||
.name = "Winbond W83877F Super I/O (President)",
|
||||
.internal_name = "w83877f_president",
|
||||
.flags = 0,
|
||||
.local = 0x0a04,
|
||||
.init = w83877f_init,
|
||||
.close = w83877f_close,
|
||||
.reset = NULL,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t w83877tf_device = {
|
||||
.name = "Winbond W83877TF Super I/O",
|
||||
.internal_name = "w83877tf",
|
||||
.flags = 0,
|
||||
.local = 0x0c04,
|
||||
.init = w83877f_init,
|
||||
.close = w83877f_close,
|
||||
.reset = NULL,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t w83877tf_acorp_device = {
|
||||
.name = "Winbond W83877TF Super I/O",
|
||||
.internal_name = "w83877tf_acorp",
|
||||
.flags = 0,
|
||||
.local = 0x0c05,
|
||||
.init = w83877f_init,
|
||||
.close = w83877f_close,
|
||||
.local = 0,
|
||||
.init = w83877_init,
|
||||
.close = w83877_close,
|
||||
.reset = NULL,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
1344
src/sio/sio_w83977.c
Normal file
1344
src/sio/sio_w83977.c
Normal file
File diff suppressed because it is too large
Load Diff
@@ -1,680 +0,0 @@
|
||||
/*
|
||||
* 86Box A hypervisor and IBM PC system emulator that specializes in
|
||||
* running old operating systems and software designed for IBM
|
||||
* PC systems and compatibles from 1981 through fairly recent
|
||||
* system designs based on the PCI bus.
|
||||
*
|
||||
* This file is part of the 86Box distribution.
|
||||
*
|
||||
* Emulation of the Winbond W83977F Super I/O Chip.
|
||||
*
|
||||
* Winbond W83977F Super I/O Chip
|
||||
* Used by the Award 430TX
|
||||
*
|
||||
*
|
||||
*
|
||||
* Authors: Miran Grca, <mgrca8@gmail.com>
|
||||
* Copyright 2016-2020 Miran Grca.
|
||||
*/
|
||||
#include <stdio.h>
|
||||
#include <stdint.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <wchar.h>
|
||||
#include <86box/86box.h>
|
||||
#include <86box/device.h>
|
||||
#include <86box/io.h>
|
||||
#include <86box/timer.h>
|
||||
#include <86box/pci.h>
|
||||
#include <86box/mem.h>
|
||||
#include <86box/rom.h>
|
||||
#include <86box/lpt.h>
|
||||
#include <86box/serial.h>
|
||||
#include <86box/fdd.h>
|
||||
#include <86box/fdc.h>
|
||||
#include <86box/sio.h>
|
||||
|
||||
#define HEFRAS (dev->regs[0x26] & 0x40)
|
||||
|
||||
typedef struct w83977f_t {
|
||||
uint8_t id;
|
||||
uint8_t tries;
|
||||
uint8_t regs[48];
|
||||
uint8_t dev_regs[256][208];
|
||||
int locked;
|
||||
int rw_locked;
|
||||
int cur_reg;
|
||||
int base_address;
|
||||
int type;
|
||||
int hefras;
|
||||
fdc_t *fdc;
|
||||
lpt_t *lpt;
|
||||
serial_t *uart[2];
|
||||
} w83977f_t;
|
||||
|
||||
static int next_id = 0;
|
||||
|
||||
static void w83977f_write(uint16_t port, uint8_t val, void *priv);
|
||||
static uint8_t w83977f_read(uint16_t port, void *priv);
|
||||
|
||||
static void
|
||||
w83977f_remap(w83977f_t *dev)
|
||||
{
|
||||
io_removehandler(FDC_PRIMARY_ADDR, 0x0002,
|
||||
w83977f_read, NULL, NULL, w83977f_write, NULL, NULL, dev);
|
||||
io_removehandler(FDC_SECONDARY_ADDR, 0x0002,
|
||||
w83977f_read, NULL, NULL, w83977f_write, NULL, NULL, dev);
|
||||
|
||||
dev->base_address = (HEFRAS ? FDC_SECONDARY_ADDR : FDC_PRIMARY_ADDR);
|
||||
|
||||
io_sethandler(dev->base_address, 0x0002,
|
||||
w83977f_read, NULL, NULL, w83977f_write, NULL, NULL, dev);
|
||||
}
|
||||
|
||||
static uint8_t
|
||||
get_lpt_length(w83977f_t *dev)
|
||||
{
|
||||
uint8_t length = 4;
|
||||
|
||||
if (((dev->dev_regs[1][0xc0] & 0x07) != 0x00) && ((dev->dev_regs[1][0xc0] & 0x07) != 0x02) && ((dev->dev_regs[1][0xc0] & 0x07) != 0x04))
|
||||
length = 8;
|
||||
|
||||
return length;
|
||||
}
|
||||
|
||||
static void
|
||||
w83977f_fdc_handler(w83977f_t *dev)
|
||||
{
|
||||
uint16_t io_base = (dev->dev_regs[0][0x30] << 8) | dev->dev_regs[0][0x31];
|
||||
|
||||
if (dev->id == 1)
|
||||
return;
|
||||
|
||||
fdc_remove(dev->fdc);
|
||||
|
||||
if ((dev->dev_regs[0][0x00] & 0x01) && (dev->regs[0x22] & 0x01) && (io_base >= 0x100) && (io_base <= 0xff8))
|
||||
fdc_set_base(dev->fdc, io_base);
|
||||
|
||||
fdc_set_irq(dev->fdc, dev->dev_regs[0][0x40] & 0x0f);
|
||||
}
|
||||
|
||||
static void
|
||||
w83977f_lpt_handler(w83977f_t *dev)
|
||||
{
|
||||
uint16_t io_mask;
|
||||
uint16_t io_base = (dev->dev_regs[1][0x30] << 8) | dev->dev_regs[1][0x31];
|
||||
int io_len = get_lpt_length(dev);
|
||||
io_base &= (0xff8 | io_len);
|
||||
io_mask = 0xffc;
|
||||
if (io_len == 8)
|
||||
io_mask = 0xff8;
|
||||
|
||||
lpt_port_remove(dev->lpt);
|
||||
|
||||
if ((dev->dev_regs[1][0x00] & 0x01) && (dev->regs[0x22] & 0x08) && (io_base >= 0x100) && (io_base <= io_mask))
|
||||
lpt_port_setup(dev->lpt, io_base);
|
||||
|
||||
lpt_port_irq(dev->lpt, dev->dev_regs[1][0x40] & 0x0f);
|
||||
}
|
||||
|
||||
static void
|
||||
w83977f_serial_handler(w83977f_t *dev, int uart)
|
||||
{
|
||||
uint16_t io_base = (dev->dev_regs[2 + uart][0x30] << 8) | dev->dev_regs[2 + uart][0x31];
|
||||
double clock_src = 24000000.0 / 13.0;
|
||||
|
||||
serial_remove(dev->uart[uart]);
|
||||
|
||||
if ((dev->dev_regs[2 + uart][0x00] & 0x01) && (dev->regs[0x22] & (0x10 << uart)) && (io_base >= 0x100) && (io_base <= 0xff8))
|
||||
serial_setup(dev->uart[uart], io_base, dev->dev_regs[2 + uart][0x40] & 0x0f);
|
||||
|
||||
switch (dev->dev_regs[2 + uart][0xc0] & 0x03) {
|
||||
case 0x00:
|
||||
clock_src = 24000000.0 / 13.0;
|
||||
break;
|
||||
case 0x01:
|
||||
clock_src = 24000000.0 / 12.0;
|
||||
break;
|
||||
case 0x02:
|
||||
clock_src = 24000000.0 / 1.0;
|
||||
break;
|
||||
case 0x03:
|
||||
clock_src = 24000000.0 / 1.625;
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
serial_set_clock_src(dev->uart[uart], clock_src);
|
||||
}
|
||||
|
||||
static void
|
||||
w83977f_write(uint16_t port, uint8_t val, void *priv)
|
||||
{
|
||||
w83977f_t *dev = (w83977f_t *) priv;
|
||||
uint8_t index = (port & 1) ? 0 : 1;
|
||||
uint8_t valxor = 0;
|
||||
uint8_t ld = dev->regs[7];
|
||||
|
||||
if (index) {
|
||||
if ((val == 0x87) && !dev->locked) {
|
||||
if (dev->tries) {
|
||||
dev->locked = 1;
|
||||
dev->tries = 0;
|
||||
} else
|
||||
dev->tries++;
|
||||
} else {
|
||||
if (dev->locked) {
|
||||
if (val == 0xaa)
|
||||
dev->locked = 0;
|
||||
else
|
||||
dev->cur_reg = val;
|
||||
} else {
|
||||
if (dev->tries)
|
||||
dev->tries = 0;
|
||||
}
|
||||
}
|
||||
return;
|
||||
} else {
|
||||
if (dev->locked) {
|
||||
if (dev->rw_locked)
|
||||
return;
|
||||
if (dev->cur_reg >= 0x30) {
|
||||
valxor = val ^ dev->dev_regs[ld][dev->cur_reg - 0x30];
|
||||
dev->dev_regs[ld][dev->cur_reg - 0x30] = val;
|
||||
} else {
|
||||
valxor = val ^ dev->regs[dev->cur_reg];
|
||||
dev->regs[dev->cur_reg] = val;
|
||||
}
|
||||
} else
|
||||
return;
|
||||
}
|
||||
|
||||
switch (dev->cur_reg) {
|
||||
case 0x02:
|
||||
#if 0
|
||||
if (valxor & 0x02)
|
||||
softresetx86();
|
||||
#endif
|
||||
break;
|
||||
case 0x22:
|
||||
if (valxor & 0x20)
|
||||
w83977f_serial_handler(dev, 1);
|
||||
if (valxor & 0x10)
|
||||
w83977f_serial_handler(dev, 0);
|
||||
if (valxor & 0x08)
|
||||
w83977f_lpt_handler(dev);
|
||||
if (valxor & 0x01)
|
||||
w83977f_fdc_handler(dev);
|
||||
break;
|
||||
case 0x26:
|
||||
if (valxor & 0x40)
|
||||
w83977f_remap(dev);
|
||||
if (valxor & 0x20)
|
||||
dev->rw_locked = (val & 0x20) ? 1 : 0;
|
||||
break;
|
||||
case 0x30:
|
||||
if (valxor & 0x01)
|
||||
switch (ld) {
|
||||
case 0x00:
|
||||
w83977f_fdc_handler(dev);
|
||||
break;
|
||||
case 0x01:
|
||||
w83977f_lpt_handler(dev);
|
||||
break;
|
||||
case 0x02:
|
||||
case 0x03:
|
||||
w83977f_serial_handler(dev, ld - 2);
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case 0x60:
|
||||
case 0x61:
|
||||
if (valxor & 0xff)
|
||||
switch (ld) {
|
||||
case 0x00:
|
||||
w83977f_fdc_handler(dev);
|
||||
break;
|
||||
case 0x01:
|
||||
w83977f_lpt_handler(dev);
|
||||
break;
|
||||
case 0x02:
|
||||
case 0x03:
|
||||
w83977f_serial_handler(dev, ld - 2);
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case 0x70:
|
||||
if (valxor & 0x0f)
|
||||
switch (ld) {
|
||||
case 0x00:
|
||||
w83977f_fdc_handler(dev);
|
||||
break;
|
||||
case 0x01:
|
||||
w83977f_lpt_handler(dev);
|
||||
break;
|
||||
case 0x02:
|
||||
case 0x03:
|
||||
w83977f_serial_handler(dev, ld - 2);
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case 0xf0:
|
||||
switch (ld) {
|
||||
case 0x00:
|
||||
if (dev->id == 1)
|
||||
break;
|
||||
|
||||
if (!dev->id && (valxor & 0x20))
|
||||
fdc_update_drv2en(dev->fdc, (val & 0x20) ? 0 : 1);
|
||||
if (!dev->id && (valxor & 0x10))
|
||||
fdc_set_swap(dev->fdc, (val & 0x10) ? 1 : 0);
|
||||
if (!dev->id && (valxor & 0x01))
|
||||
fdc_update_enh_mode(dev->fdc, (val & 0x01) ? 1 : 0);
|
||||
break;
|
||||
case 0x01:
|
||||
if (valxor & 0x07)
|
||||
w83977f_lpt_handler(dev);
|
||||
break;
|
||||
case 0x02:
|
||||
case 0x03:
|
||||
if (valxor & 0x03)
|
||||
w83977f_serial_handler(dev, ld - 2);
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case 0xf1:
|
||||
switch (ld) {
|
||||
case 0x00:
|
||||
if (dev->id == 1)
|
||||
break;
|
||||
|
||||
if (!dev->id && (valxor & 0xc0))
|
||||
fdc_update_boot_drive(dev->fdc, (val & 0xc0) >> 6);
|
||||
if (!dev->id && (valxor & 0x0c))
|
||||
fdc_update_densel_force(dev->fdc, (val & 0x0c) >> 2);
|
||||
if (!dev->id && (valxor & 0x02))
|
||||
fdc_set_diswr(dev->fdc, (val & 0x02) ? 1 : 0);
|
||||
if (!dev->id && (valxor & 0x01))
|
||||
fdc_set_swwp(dev->fdc, (val & 0x01) ? 1 : 0);
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case 0xf2:
|
||||
switch (ld) {
|
||||
case 0x00:
|
||||
if (dev->id == 1)
|
||||
break;
|
||||
|
||||
if (!dev->id && (valxor & 0xc0))
|
||||
fdc_update_rwc(dev->fdc, 3, (val & 0xc0) >> 6);
|
||||
if (!dev->id && (valxor & 0x30))
|
||||
fdc_update_rwc(dev->fdc, 2, (val & 0x30) >> 4);
|
||||
if (!dev->id && (valxor & 0x0c))
|
||||
fdc_update_rwc(dev->fdc, 1, (val & 0x0c) >> 2);
|
||||
if (!dev->id && (valxor & 0x03))
|
||||
fdc_update_rwc(dev->fdc, 0, val & 0x03);
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case 0xf4:
|
||||
case 0xf5:
|
||||
case 0xf6:
|
||||
case 0xf7:
|
||||
switch (ld) {
|
||||
case 0x00:
|
||||
if (dev->id == 1)
|
||||
break;
|
||||
|
||||
if (!dev->id && (valxor & 0x18))
|
||||
fdc_update_drvrate(dev->fdc, dev->cur_reg & 0x03, (val & 0x18) >> 3);
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static uint8_t
|
||||
w83977f_read(uint16_t port, void *priv)
|
||||
{
|
||||
w83977f_t *dev = (w83977f_t *) priv;
|
||||
uint8_t ret = 0xff;
|
||||
uint8_t index = (port & 1) ? 0 : 1;
|
||||
uint8_t ld = dev->regs[7];
|
||||
|
||||
if (dev->locked) {
|
||||
if (index)
|
||||
ret = dev->cur_reg;
|
||||
else {
|
||||
if (!dev->rw_locked) {
|
||||
if (!dev->id && ((dev->cur_reg == 0xf2) && (ld == 0x00)))
|
||||
ret = (fdc_get_rwc(dev->fdc, 0) | (fdc_get_rwc(dev->fdc, 1) << 2) | (fdc_get_rwc(dev->fdc, 2) << 4) | (fdc_get_rwc(dev->fdc, 3) << 6));
|
||||
else if (dev->cur_reg >= 0x30)
|
||||
ret = dev->dev_regs[ld][dev->cur_reg - 0x30];
|
||||
else
|
||||
ret = dev->regs[dev->cur_reg];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static void
|
||||
w83977f_reset(w83977f_t *dev)
|
||||
{
|
||||
memset(dev->regs, 0, 48);
|
||||
for (uint16_t i = 0; i < 256; i++)
|
||||
memset(dev->dev_regs[i], 0, 208);
|
||||
|
||||
if (dev->type < 2) {
|
||||
dev->regs[0x20] = 0x97;
|
||||
dev->regs[0x21] = dev->type ? 0x73 : 0x71;
|
||||
} else {
|
||||
dev->regs[0x20] = 0x52;
|
||||
dev->regs[0x21] = 0xf0;
|
||||
}
|
||||
dev->regs[0x22] = 0xff;
|
||||
dev->regs[0x24] = dev->type ? 0x84 : 0xa4;
|
||||
dev->regs[0x26] = dev->hefras;
|
||||
|
||||
/* WARNING: Array elements are register - 0x30. */
|
||||
/* Logical Device 0 (FDC) */
|
||||
dev->dev_regs[0][0x00] = 0x01;
|
||||
if (!dev->type)
|
||||
dev->dev_regs[0][0x01] = 0x02;
|
||||
if (next_id == 1) {
|
||||
dev->dev_regs[0][0x30] = 0x03;
|
||||
dev->dev_regs[0][0x31] = 0x70;
|
||||
} else {
|
||||
dev->dev_regs[0][0x30] = 0x03;
|
||||
dev->dev_regs[0][0x31] = 0xf0;
|
||||
}
|
||||
dev->dev_regs[0][0x40] = 0x06;
|
||||
if (!dev->type)
|
||||
dev->dev_regs[0][0x41] = 0x02; /* Read-only */
|
||||
dev->dev_regs[0][0x44] = 0x02;
|
||||
dev->dev_regs[0][0xc0] = 0x0e;
|
||||
|
||||
/* Logical Device 1 (Parallel Port) */
|
||||
dev->dev_regs[1][0x00] = 0x01;
|
||||
if (!dev->type)
|
||||
dev->dev_regs[1][0x01] = 0x02;
|
||||
if (next_id == 1) {
|
||||
dev->dev_regs[1][0x30] = 0x02;
|
||||
dev->dev_regs[1][0x31] = 0x78;
|
||||
dev->dev_regs[1][0x40] = 0x05;
|
||||
} else {
|
||||
dev->dev_regs[1][0x30] = 0x03;
|
||||
dev->dev_regs[1][0x31] = 0x78;
|
||||
dev->dev_regs[1][0x40] = 0x07;
|
||||
}
|
||||
if (!dev->type)
|
||||
dev->dev_regs[1][0x41] = 0x01 /*0x02*/; /* Read-only */
|
||||
dev->dev_regs[1][0x44] = 0x04;
|
||||
dev->dev_regs[1][0xc0] = 0x3c; /* The datasheet says default is 3f, but also default is printer mode. */
|
||||
|
||||
/* Logical Device 2 (UART A) */
|
||||
dev->dev_regs[2][0x00] = 0x01;
|
||||
if (!dev->type)
|
||||
dev->dev_regs[2][0x01] = 0x02;
|
||||
if (next_id == 1) {
|
||||
dev->dev_regs[2][0x30] = 0x03;
|
||||
dev->dev_regs[2][0x31] = 0xe8;
|
||||
} else {
|
||||
dev->dev_regs[2][0x30] = 0x03;
|
||||
dev->dev_regs[2][0x31] = 0xf8;
|
||||
}
|
||||
dev->dev_regs[2][0x40] = 0x04;
|
||||
if (!dev->type)
|
||||
dev->dev_regs[2][0x41] = 0x02; /* Read-only */
|
||||
|
||||
/* Logical Device 3 (UART B) */
|
||||
dev->dev_regs[3][0x00] = 0x01;
|
||||
if (!dev->type)
|
||||
dev->dev_regs[3][0x01] = 0x02;
|
||||
if (next_id == 1) {
|
||||
dev->dev_regs[3][0x30] = 0x02;
|
||||
dev->dev_regs[3][0x31] = 0xe8;
|
||||
} else {
|
||||
dev->dev_regs[3][0x30] = 0x02;
|
||||
dev->dev_regs[3][0x31] = 0xf8;
|
||||
}
|
||||
dev->dev_regs[3][0x40] = 0x03;
|
||||
if (!dev->type)
|
||||
dev->dev_regs[3][0x41] = 0x02; /* Read-only */
|
||||
|
||||
/* Logical Device 4 (RTC) */
|
||||
if (!dev->type) {
|
||||
dev->dev_regs[4][0x00] = 0x01;
|
||||
dev->dev_regs[4][0x01] = 0x02;
|
||||
dev->dev_regs[4][0x30] = 0x00;
|
||||
dev->dev_regs[4][0x31] = 0x70;
|
||||
dev->dev_regs[4][0x40] = 0x08;
|
||||
dev->dev_regs[4][0x41] = 0x02; /* Read-only */
|
||||
}
|
||||
|
||||
/* Logical Device 5 (KBC) */
|
||||
dev->dev_regs[5][0x00] = 0x01;
|
||||
if (!dev->type)
|
||||
dev->dev_regs[5][0x01] = 0x02;
|
||||
dev->dev_regs[5][0x30] = 0x00;
|
||||
dev->dev_regs[5][0x31] = 0x60;
|
||||
dev->dev_regs[5][0x32] = 0x00;
|
||||
dev->dev_regs[5][0x33] = 0x64;
|
||||
dev->dev_regs[5][0x40] = 0x01;
|
||||
if (!dev->type)
|
||||
dev->dev_regs[5][0x41] = 0x02; /* Read-only */
|
||||
dev->dev_regs[5][0x42] = 0x0c;
|
||||
if (!dev->type)
|
||||
dev->dev_regs[5][0x43] = 0x02; /* Read-only? */
|
||||
dev->dev_regs[5][0xc0] = dev->type ? 0x83 : 0x40;
|
||||
|
||||
/* Logical Device 6 (IR) = UART C */
|
||||
if (!dev->type) {
|
||||
dev->dev_regs[6][0x01] = 0x02;
|
||||
dev->dev_regs[6][0x41] = 0x02; /* Read-only */
|
||||
dev->dev_regs[6][0x44] = 0x04;
|
||||
dev->dev_regs[6][0x45] = 0x04;
|
||||
}
|
||||
|
||||
/* Logical Device 7 (Auxiliary I/O Part I) */
|
||||
if (!dev->type)
|
||||
dev->dev_regs[7][0x01] = 0x02;
|
||||
if (!dev->type)
|
||||
dev->dev_regs[7][0x41] = 0x02; /* Read-only */
|
||||
if (!dev->type)
|
||||
dev->dev_regs[7][0x43] = 0x02; /* Read-only? */
|
||||
dev->dev_regs[7][0xb0] = 0x01;
|
||||
dev->dev_regs[7][0xb1] = 0x01;
|
||||
dev->dev_regs[7][0xb2] = 0x01;
|
||||
dev->dev_regs[7][0xb3] = 0x01;
|
||||
dev->dev_regs[7][0xb4] = 0x01;
|
||||
dev->dev_regs[7][0xb5] = 0x01;
|
||||
dev->dev_regs[7][0xb6] = 0x01;
|
||||
if (dev->type)
|
||||
dev->dev_regs[7][0xb7] = 0x01;
|
||||
|
||||
/* Logical Device 8 (Auxiliary I/O Part II) */
|
||||
if (!dev->type)
|
||||
dev->dev_regs[8][0x01] = 0x02;
|
||||
if (!dev->type)
|
||||
dev->dev_regs[8][0x41] = 0x02; /* Read-only */
|
||||
if (!dev->type)
|
||||
dev->dev_regs[8][0x43] = 0x02; /* Read-only? */
|
||||
dev->dev_regs[8][0xb8] = 0x01;
|
||||
dev->dev_regs[8][0xb9] = 0x01;
|
||||
dev->dev_regs[8][0xba] = 0x01;
|
||||
dev->dev_regs[8][0xbb] = 0x01;
|
||||
dev->dev_regs[8][0xbc] = 0x01;
|
||||
dev->dev_regs[8][0xbd] = 0x01;
|
||||
dev->dev_regs[8][0xbe] = 0x01;
|
||||
dev->dev_regs[8][0xbf] = 0x01;
|
||||
|
||||
/* Logical Device 9 (Auxiliary I/O Part III) */
|
||||
if (dev->type) {
|
||||
dev->dev_regs[9][0xb0] = 0x01;
|
||||
dev->dev_regs[9][0xb1] = 0x01;
|
||||
dev->dev_regs[9][0xb2] = 0x01;
|
||||
dev->dev_regs[9][0xb3] = 0x01;
|
||||
dev->dev_regs[9][0xb4] = 0x01;
|
||||
dev->dev_regs[9][0xb5] = 0x01;
|
||||
dev->dev_regs[9][0xb6] = 0x01;
|
||||
dev->dev_regs[9][0xb7] = 0x01;
|
||||
|
||||
dev->dev_regs[10][0xc0] = 0x8f;
|
||||
}
|
||||
|
||||
if (dev->id == 1) {
|
||||
serial_setup(dev->uart[0], COM3_ADDR, COM3_IRQ);
|
||||
serial_setup(dev->uart[1], COM4_ADDR, COM4_IRQ);
|
||||
} else {
|
||||
fdc_reset(dev->fdc);
|
||||
|
||||
serial_setup(dev->uart[0], COM1_ADDR, COM1_IRQ);
|
||||
serial_setup(dev->uart[1], COM2_ADDR, COM2_IRQ);
|
||||
|
||||
w83977f_fdc_handler(dev);
|
||||
}
|
||||
|
||||
w83977f_lpt_handler(dev);
|
||||
w83977f_serial_handler(dev, 0);
|
||||
w83977f_serial_handler(dev, 1);
|
||||
|
||||
w83977f_remap(dev);
|
||||
|
||||
dev->locked = 0;
|
||||
dev->rw_locked = 0;
|
||||
}
|
||||
|
||||
static void
|
||||
w83977f_close(void *priv)
|
||||
{
|
||||
w83977f_t *dev = (w83977f_t *) priv;
|
||||
|
||||
next_id = 0;
|
||||
|
||||
free(dev);
|
||||
}
|
||||
|
||||
static void *
|
||||
w83977f_init(const device_t *info)
|
||||
{
|
||||
w83977f_t *dev = (w83977f_t *) calloc(1, sizeof(w83977f_t));
|
||||
|
||||
dev->type = info->local & 0x0f;
|
||||
dev->hefras = info->local & 0x40;
|
||||
|
||||
dev->id = next_id;
|
||||
|
||||
if (next_id == 1)
|
||||
dev->hefras ^= 0x40;
|
||||
else
|
||||
dev->fdc = device_add(&fdc_at_smc_device);
|
||||
|
||||
dev->uart[0] = device_add_inst(&ns16550_device, (next_id << 1) + 1);
|
||||
dev->uart[1] = device_add_inst(&ns16550_device, (next_id << 1) + 2);
|
||||
|
||||
dev->lpt = device_add_inst(&lpt_port_device, next_id + 1);
|
||||
|
||||
w83977f_reset(dev);
|
||||
|
||||
next_id++;
|
||||
|
||||
return dev;
|
||||
}
|
||||
|
||||
const device_t w83977f_device = {
|
||||
.name = "Winbond W83977F Super I/O",
|
||||
.internal_name = "w83977f",
|
||||
.flags = 0,
|
||||
.local = 0,
|
||||
.init = w83977f_init,
|
||||
.close = w83977f_close,
|
||||
.reset = NULL,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t w83977f_370_device = {
|
||||
.name = "Winbond W83977F Super I/O (Port 370h)",
|
||||
.internal_name = "w83977f_370",
|
||||
.flags = 0,
|
||||
.local = 0x40,
|
||||
.init = w83977f_init,
|
||||
.close = w83977f_close,
|
||||
.reset = NULL,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t w83977tf_device = {
|
||||
.name = "Winbond W83977TF Super I/O",
|
||||
.internal_name = "w83977tf",
|
||||
.flags = 0,
|
||||
.local = 1,
|
||||
.init = w83977f_init,
|
||||
.close = w83977f_close,
|
||||
.reset = NULL,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t w83977ef_device = {
|
||||
.name = "Winbond W83977TF Super I/O",
|
||||
.internal_name = "w83977ef",
|
||||
.flags = 0,
|
||||
.local = 2,
|
||||
.init = w83977f_init,
|
||||
.close = w83977f_close,
|
||||
.reset = NULL,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t w83977ef_370_device = {
|
||||
.name = "Winbond W83977TF Super I/O (Port 370h)",
|
||||
.internal_name = "w83977ef_370",
|
||||
.flags = 0,
|
||||
.local = 0x42,
|
||||
.init = w83977f_init,
|
||||
.close = w83977f_close,
|
||||
.reset = NULL,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
@@ -304,7 +304,7 @@ log_fatal(void *priv, const char *fmt, ...)
|
||||
va_start(ap, fmt);
|
||||
vsprintf(temp, fmt2, ap);
|
||||
va_end(ap);
|
||||
fatal(temp);
|
||||
fatal("%s", temp);
|
||||
exit(-1);
|
||||
}
|
||||
|
||||
@@ -330,7 +330,7 @@ log_warning(void *priv, const char *fmt, ...)
|
||||
va_start(ap, fmt);
|
||||
vsprintf(temp, fmt2, ap);
|
||||
va_end(ap);
|
||||
warning(temp, ap);
|
||||
warning("%s", temp);
|
||||
}
|
||||
|
||||
static void *
|
||||
|
||||
@@ -2928,10 +2928,12 @@ mach_recalctimings(svga_t *svga)
|
||||
|
||||
dev->h_disp_time = dev->hdisp >> 3;
|
||||
|
||||
svga->clock_8514 = (cpuclock * (double) (1ULL << 32)) / svga->getclock((mach->accel.clock_sel >> 2) & 0x0f, svga->clock_gen);
|
||||
svga->clock_8514 = (cpuclock * (double) (1ULL << 32)) / svga->getclock((mach->accel.clock_sel >> 2) & 0x0f, svga->clock_gen) / 2;
|
||||
if (mach->accel.clock_sel & 0x40)
|
||||
svga->clock_8514 *= 2;
|
||||
|
||||
mach_log("8514/A clock sel=%x, divide reg ibm=%02x, divide reg vga=%02x.\n", clock_sel, mach->accel.clock_sel & 0x40, mach->regs[0xb8] & 0xc0);
|
||||
|
||||
if (dev->interlace)
|
||||
dev->dispend >>= 1;
|
||||
|
||||
@@ -3060,29 +3062,29 @@ mach_recalctimings(svga_t *svga)
|
||||
if (!svga->scrblank && (svga->crtc[0x17] & 0x80) && svga->attr_palette_enable) {
|
||||
mach_log("GDCREG5=%02x, ATTR10=%02x, ATI B0 bit 5=%02x, ON=%d.\n",
|
||||
svga->gdcreg[5] & 0x60, svga->attrregs[0x10] & 0x40, mach->regs[0xb0] & 0x20, dev->on);
|
||||
svga->clock = (cpuclock * (double) (1ULL << 32)) / svga->getclock(clock_sel, svga->clock_gen);
|
||||
mach_log("VGA clock sel=%x, divide reg=%02x.\n", clock_sel, mach->regs[0xb8] & 0xc0);
|
||||
if (ATI_MACH32) {
|
||||
if (mach->regs[0xb8] & 0x40)
|
||||
svga->clock *= 2;
|
||||
} else {
|
||||
switch (mach->regs[0xb8] & 0xc0) {
|
||||
case 0x40:
|
||||
svga->clock *= 2;
|
||||
break;
|
||||
case 0x80:
|
||||
svga->clock *= 3;
|
||||
break;
|
||||
case 0xc0:
|
||||
svga->clock *= 4;
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
if ((svga->gdcreg[6] & 0x01) || (svga->attrregs[0x10] & 0x01)) {
|
||||
if ((svga->gdcreg[5] & 0x40) || (svga->attrregs[0x10] & 0x40) || (mach->regs[0xb0] & 0x20)) {
|
||||
svga->clock = (cpuclock * (double) (1ULL << 32)) / svga->getclock(clock_sel, svga->clock_gen);
|
||||
mach_log("VGA clock=%02x.\n", mach->regs[0xa7] & 0x80);
|
||||
if (ATI_MACH32) {
|
||||
if (mach->regs[0xb8] & 0x40)
|
||||
svga->clock *= 2;
|
||||
} else {
|
||||
switch (mach->regs[0xb8] & 0xc0) {
|
||||
case 0x40:
|
||||
svga->clock *= 2;
|
||||
break;
|
||||
case 0x80:
|
||||
svga->clock *= 3;
|
||||
break;
|
||||
case 0xc0:
|
||||
svga->clock *= 4;
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
svga->map8 = svga->pallook;
|
||||
mach_log("Lowres=%x, seqreg[1]bit3=%x.\n", svga->lowres, svga->seqregs[1] & 8);
|
||||
if (svga->lowres)
|
||||
|
||||
@@ -3719,6 +3719,8 @@ s3_recalctimings(svga_t *svga)
|
||||
case 1600:
|
||||
svga->hdisp <<= 1;
|
||||
svga->dots_per_clock <<= 1;
|
||||
svga->clock /= 2.0;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@@ -3749,6 +3751,8 @@ s3_recalctimings(svga_t *svga)
|
||||
case 1600:
|
||||
svga->hdisp <<= 1;
|
||||
svga->dots_per_clock <<= 1;
|
||||
svga->clock /= 2.0;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@@ -3804,6 +3808,7 @@ s3_recalctimings(svga_t *svga)
|
||||
/*SPEA specific drivers + its VBE RAM BIOS...*/
|
||||
svga->hdisp <<= 1;
|
||||
svga->dots_per_clock <<= 1;
|
||||
svga->clock /= 2.0;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
@@ -3867,6 +3872,7 @@ s3_recalctimings(svga_t *svga)
|
||||
case 1600:
|
||||
svga->hdisp <<= 1;
|
||||
svga->dots_per_clock <<= 1;
|
||||
svga->clock /= 2.0;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
@@ -3883,6 +3889,7 @@ s3_recalctimings(svga_t *svga)
|
||||
case S3_NUMBER9_9FX_531:
|
||||
svga->hdisp >>= 1;
|
||||
svga->dots_per_clock >>= 1;
|
||||
svga->clock /= 2.0;
|
||||
break;
|
||||
|
||||
default:
|
||||
@@ -3901,6 +3908,7 @@ s3_recalctimings(svga_t *svga)
|
||||
case S3_SPEA_MERCURY_P64V:
|
||||
svga->hdisp <<= 1;
|
||||
svga->dots_per_clock <<= 1;
|
||||
svga->clock /= 2.0;
|
||||
/* TODO: Is this still needed? */
|
||||
if (svga->hdisp == 832)
|
||||
svga->hdisp -= 32;
|
||||
@@ -3912,6 +3920,7 @@ s3_recalctimings(svga_t *svga)
|
||||
case 1600:
|
||||
svga->hdisp <<= 1;
|
||||
svga->dots_per_clock <<= 1;
|
||||
svga->clock /= 2.0;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
@@ -4045,6 +4054,7 @@ s3_recalctimings(svga_t *svga)
|
||||
case 1600:
|
||||
svga->hdisp <<= 1;
|
||||
svga->dots_per_clock <<= 1;
|
||||
svga->clock /= 2.0;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
@@ -4067,6 +4077,7 @@ s3_recalctimings(svga_t *svga)
|
||||
case S3_SPEA_MERCURY_P64V:
|
||||
svga->hdisp <<= 1;
|
||||
svga->dots_per_clock <<= 1;
|
||||
svga->clock /= 2.0;
|
||||
/* TODO: Is this still needed? */
|
||||
if (svga->hdisp == 832)
|
||||
svga->hdisp -= 32;
|
||||
@@ -4078,6 +4089,7 @@ s3_recalctimings(svga_t *svga)
|
||||
case 1600:
|
||||
svga->hdisp <<= 1;
|
||||
svga->dots_per_clock <<= 1;
|
||||
svga->clock /= 2.0;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
@@ -4153,6 +4165,7 @@ s3_recalctimings(svga_t *svga)
|
||||
case S3_VISION864:
|
||||
svga->hdisp = (svga->hdisp << 1) / 3;
|
||||
svga->dots_per_clock = (svga->dots_per_clock << 1) / 3;
|
||||
svga->clock /= (2.0 / 3.0);
|
||||
break;
|
||||
|
||||
case S3_VISION968:
|
||||
@@ -4160,6 +4173,7 @@ s3_recalctimings(svga_t *svga)
|
||||
case S3_MIROVIDEO40SV_ERGO_968:
|
||||
svga->hdisp = (svga->hdisp / 3) << 2;
|
||||
svga->dots_per_clock = (svga->hdisp / 3) << 2;
|
||||
svga->clock /= (2.0 / 3.0);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
@@ -4190,6 +4204,7 @@ s3_recalctimings(svga_t *svga)
|
||||
case S3_NUMBER9_9FX_531:
|
||||
svga->hdisp >>= 1;
|
||||
svga->dots_per_clock >>= 1;
|
||||
svga->clock /= 2.0;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
@@ -4203,6 +4218,7 @@ s3_recalctimings(svga_t *svga)
|
||||
case 1024:
|
||||
svga->hdisp >>= 1;
|
||||
svga->dots_per_clock >>= 1;
|
||||
svga->clock /= 2.0;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
@@ -4214,6 +4230,7 @@ s3_recalctimings(svga_t *svga)
|
||||
case 1600:
|
||||
svga->hdisp <<= 1;
|
||||
svga->dots_per_clock <<= 1;
|
||||
svga->clock /= 2.0;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
@@ -4235,6 +4252,7 @@ s3_recalctimings(svga_t *svga)
|
||||
case S3_SPEA_MERCURY_P64V:
|
||||
svga->hdisp <<= 1;
|
||||
svga->dots_per_clock <<= 1;
|
||||
svga->clock /= 2.0;
|
||||
/* TODO: Is this still needed? */
|
||||
if (svga->hdisp == 832)
|
||||
svga->hdisp -= 32;
|
||||
@@ -4246,6 +4264,7 @@ s3_recalctimings(svga_t *svga)
|
||||
case 1600:
|
||||
svga->hdisp <<= 1;
|
||||
svga->dots_per_clock <<= 1;
|
||||
svga->clock /= 2.0;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
||||
@@ -799,9 +799,10 @@ svga_recalctimings(svga_t *svga)
|
||||
|
||||
if ((svga->bpp <= 8) || ((svga->gdcreg[5] & 0x60) <= 0x20)) {
|
||||
if ((svga->gdcreg[5] & 0x60) == 0x00) {
|
||||
if (svga->seqregs[1] & 8) /*Low res (320)*/
|
||||
if (svga->seqregs[1] & 8) { /*Low res (320)*/
|
||||
svga->render = svga_render_4bpp_lowres;
|
||||
else
|
||||
svga_log("4 bpp low res.\n");
|
||||
} else
|
||||
svga->render = svga_render_4bpp_highres;
|
||||
} else if ((svga->gdcreg[5] & 0x60) == 0x20) {
|
||||
if (svga->seqregs[1] & 8) { /*Low res (320)*/
|
||||
@@ -1045,11 +1046,11 @@ svga_recalctimings(svga_t *svga)
|
||||
crtcconst = svga->clock * svga->char_width;
|
||||
if (ibm8514_active && (svga->dev8514 != NULL)) {
|
||||
if (dev->on)
|
||||
crtcconst8514 = svga->clock_8514;
|
||||
crtcconst8514 = svga->clock_8514 * 8;
|
||||
}
|
||||
if (xga_active && (svga->xga != NULL)) {
|
||||
if (xga->on)
|
||||
crtcconst_xga = svga->clock_xga;
|
||||
crtcconst_xga = svga->clock_xga * svga->char_width;
|
||||
}
|
||||
|
||||
#ifdef ENABLE_SVGA_LOG
|
||||
@@ -1093,7 +1094,6 @@ svga_recalctimings(svga_t *svga)
|
||||
if (dev->on) {
|
||||
disptime8514 = dev->h_total;
|
||||
_dispontime8514 = dev->h_disp_time;
|
||||
svga_log("HTOTAL=%d, HDISP=%d.\n", dev->h_total, dev->h_disp);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1135,6 +1135,7 @@ svga_recalctimings(svga_t *svga)
|
||||
case 1: /*Plus 8514/A*/
|
||||
if (dev->on) {
|
||||
_dispofftime8514 = disptime8514 - _dispontime8514;
|
||||
svga_log("DISPTIME8514=%lf, off=%lf, DISPONTIME8514=%lf, CRTCCONST8514=%lf.\n", disptime8514, _dispofftime8514, _dispontime8514, crtcconst8514);
|
||||
_dispontime8514 *= crtcconst8514;
|
||||
_dispofftime8514 *= crtcconst8514;
|
||||
|
||||
|
||||
@@ -287,6 +287,22 @@ vid_table_log(const char *fmt, ...)
|
||||
# define vid_table_log(fmt, ...)
|
||||
#endif
|
||||
|
||||
static pc_timer_t framerate_timer;
|
||||
|
||||
void
|
||||
video_update_framerates(void* priv)
|
||||
{
|
||||
(void)priv;
|
||||
int i = 0;
|
||||
|
||||
for (i = 0; i < GFXCARD_MAX; i++) {
|
||||
monitors[i].mon_actualrenderedframes = monitors[i].mon_renderedframes;
|
||||
monitors[i].mon_renderedframes = 0;
|
||||
}
|
||||
|
||||
timer_on_auto(&framerate_timer, 1000 * 1000);
|
||||
}
|
||||
|
||||
void
|
||||
video_reset_close(void)
|
||||
{
|
||||
@@ -362,6 +378,7 @@ video_reset(int card)
|
||||
device_add(video_cards[card].device);
|
||||
}
|
||||
|
||||
timer_add(&framerate_timer, video_update_framerates, NULL, 1);
|
||||
was_reset = 1;
|
||||
}
|
||||
|
||||
|
||||
@@ -476,6 +476,7 @@ video_blit_memtoscreen_monitor(int x, int y, int w, int h, int monitor_index)
|
||||
monitors[monitor_index].mon_blit_data_ptr->y = y;
|
||||
monitors[monitor_index].mon_blit_data_ptr->w = w;
|
||||
monitors[monitor_index].mon_blit_data_ptr->h = h;
|
||||
monitors[monitor_index].mon_renderedframes++;
|
||||
|
||||
thread_set_event(monitors[monitor_index].mon_blit_data_ptr->wake_blit_thread);
|
||||
MTR_END("video", "video_blit_memtoscreen");
|
||||
|
||||
Reference in New Issue
Block a user