ESC/P Printer: No longer assume roms/ is where the binary is, fixes #5221.

This commit is contained in:
OBattler
2025-02-17 04:49:43 +01:00
parent 63b223973c
commit 5c4fcfaf85
30 changed files with 300 additions and 19 deletions

View File

@@ -50,7 +50,9 @@ enum {
STRING_HW_NOT_AVAILABLE_DEVICE, /* "Device \"%hs\" is not available..." */ STRING_HW_NOT_AVAILABLE_DEVICE, /* "Device \"%hs\" is not available..." */
STRING_MONITOR_SLEEP, /* "Monitor in sleep mode" */ STRING_MONITOR_SLEEP, /* "Monitor in sleep mode" */
STRING_GHOSTPCL_ERROR_TITLE, /* "Unable to initialize GhostPCL" */ STRING_GHOSTPCL_ERROR_TITLE, /* "Unable to initialize GhostPCL" */
STRING_GHOSTPCL_ERROR_DESC /* "gpcl6dll32.dll/gpcl6dll64.dll/libgpcl6 is required..." */ STRING_GHOSTPCL_ERROR_DESC, /* "gpcl6dll32.dll/gpcl6dll64.dll/libgpcl6 is required..." */
STRING_ESCP_ERROR_TITLE, /* "Unable to find Dot-Matrix fonts" */
STRING_ESCP_ERROR_DESC /* "TrueType fonts in the \"roms/printer/fonts\" directory..." */
}; };
/* The Win32 API uses _wcsicmp. */ /* The Win32 API uses _wcsicmp. */

View File

@@ -52,6 +52,7 @@ extern uint8_t rom_read(uint32_t addr, void *priv);
extern uint16_t rom_readw(uint32_t addr, void *priv); extern uint16_t rom_readw(uint32_t addr, void *priv);
extern uint32_t rom_readl(uint32_t addr, void *priv); extern uint32_t rom_readl(uint32_t addr, void *priv);
extern void rom_get_full_path(char *dest, const char *fn);
extern FILE *rom_fopen(const char *fn, char *mode); extern FILE *rom_fopen(const char *fn, char *mode);
extern int rom_getfile(char *fn, char *s, int size); extern int rom_getfile(char *fn, char *s, int size);
extern int rom_present(const char *fn); extern int rom_present(const char *fn);

View File

@@ -30,6 +30,7 @@
#include "cpu.h" #include "cpu.h"
#include <86box/m_amstrad.h> #include <86box/m_amstrad.h>
#include <86box/pci.h> #include <86box/pci.h>
#include <86box/mem.h>
#define NPORTS 65536 /* PC/AT supports 64K ports */ #define NPORTS 65536 /* PC/AT supports 64K ports */
@@ -59,6 +60,7 @@ int initialized = 0;
io_t *io[NPORTS]; io_t *io[NPORTS];
io_t *io_last[NPORTS]; io_t *io_last[NPORTS];
// #define ENABLE_IO_LOG 1
#ifdef ENABLE_IO_LOG #ifdef ENABLE_IO_LOG
int io_do_log = ENABLE_IO_LOG; int io_do_log = ENABLE_IO_LOG;
@@ -69,6 +71,7 @@ io_log(const char *fmt, ...)
if (io_do_log) { if (io_do_log) {
va_start(ap, fmt); va_start(ap, fmt);
if (CS == 0xf000)
pclog_ex(fmt, ap); pclog_ex(fmt, ap);
va_end(ap); va_end(ap);
} }
@@ -77,6 +80,18 @@ io_log(const char *fmt, ...)
# define io_log(fmt, ...) # define io_log(fmt, ...)
#endif #endif
uint16_t last_port_read = 0xffff;
static void
print_lpr(void)
{
FILE *f = fopen("d:\\86boxnew\\ndiags.dmp", "wb");
fwrite(&(ram[0x24c30]), 1, 65536, f);
fclose(f);
pclog("last_port_read = %04X\n", last_port_read);
}
void void
io_init(void) io_init(void)
{ {
@@ -106,6 +121,8 @@ io_init(void)
/* io[c] should be NULL. */ /* io[c] should be NULL. */
io[c] = io_last[c] = NULL; io[c] = io_last[c] = NULL;
} }
atexit(print_lpr);
} }
void void
@@ -333,6 +350,11 @@ io_debug_check_addr(uint16_t addr)
} }
#endif #endif
#include <86box/random.h>
uint8_t post_code = 0xc6;
uint8_t action = 0x00;
uint8_t uint8_t
inb(uint16_t port) inb(uint16_t port)
{ {
@@ -393,7 +415,33 @@ inb(uint16_t port)
ret = 0xfe; ret = 0xfe;
#endif #endif
#if 0
if (port == 0x5f7)
ret = 0xaf;
#endif
if (port == 0x379)
ret &= 0xf8;
// io_log("[%04X:%08X] (%i, %i, %04i) in b(%04X) = %02X\n", CS, cpu_state.pc, in_smm, found, qfound, port, ret);
// if (CS == 0xc000)
// pclog("[%04X:%08X] [R] %04X = %02X\n", CS, cpu_state.pc, port, ret);
// if (port == 0x62)
// ret = 0xf2;
// if (port == 0x62)
// ret |= random_generate() & 0x80;
// if ((port >= 0x60) && (port <= 0x66))
// pclog("[%04X:%04X] [R] %04X = %02X\n", CS, cpu_state.pc, port, ret);
if ((port != 0x0061) && (port != 0x0177) && (port != 0x01f7) && (port != 0x0376) && (port != 0x03c7) && (port != 0x03c8) && (port != 0x03c9) && (port != 0x03f6) && (port != 0x03da)) {
io_log("[%04X:%08X] (%i, %i, %04i) in b(%04X) = %02X\n", CS, cpu_state.pc, in_smm, found, qfound, port, ret); io_log("[%04X:%08X] (%i, %i, %04i) in b(%04X) = %02X\n", CS, cpu_state.pc, in_smm, found, qfound, port, ret);
}
last_port_read = port;
return ret; return ret;
} }
@@ -447,7 +495,20 @@ outb(uint16_t port, uint8_t val)
#endif #endif
} }
// io_log("[%04X:%08X] (%i, %i, %04i) outb(%04X, %02X)\n", CS, cpu_state.pc, in_smm, found, qfound, port, val);
if (port == 0x0068)
action = val;
if (port == 0x0080)
post_code = val;
// if (port == 0x3db)
// pclog("[%04X:%04X] [W] %04X = %02X\n", CS, cpu_state.pc, port, val);
if ((port != 0x0061) && (port != 0x00ed) && (port != 0x03c7) && (port != 0x03c8) && (port != 0x03c9)) {
io_log("[%04X:%08X] (%i, %i, %04i) outb(%04X, %02X)\n", CS, cpu_state.pc, in_smm, found, qfound, port, val); io_log("[%04X:%08X] (%i, %i, %04i) outb(%04X, %02X)\n", CS, cpu_state.pc, in_smm, found, qfound, port, val);
}
return; return;
} }
@@ -525,7 +586,9 @@ inw(uint16_t port)
if (!found) if (!found)
cycles -= io_delay; cycles -= io_delay;
if (1) {
io_log("[%04X:%08X] (%i, %i, %04i) in w(%04X) = %04X\n", CS, cpu_state.pc, in_smm, found, qfound, port, ret); io_log("[%04X:%08X] (%i, %i, %04i) in w(%04X) = %04X\n", CS, cpu_state.pc, in_smm, found, qfound, port, ret);
}
return ret; return ret;
} }
@@ -594,7 +657,21 @@ outw(uint16_t port, uint16_t val)
#endif #endif
} }
if (port == 0x0080)
post_code = val;
#if 0
if (port == 0x0c02) {
if (val)
mem_set_mem_state(0x000e0000, 0x00020000, MEM_READ_EXTANY | MEM_WRITE_EXTANY);
else
mem_set_mem_state(0x000e0000, 0x00020000, MEM_READ_INTERNAL | MEM_WRITE_INTERNAL);
}
#endif
if (1) {
io_log("[%04X:%08X] (%i, %i, %04i) outw(%04X, %04X)\n", CS, cpu_state.pc, in_smm, found, qfound, port, val); io_log("[%04X:%08X] (%i, %i, %04i) outw(%04X, %04X)\n", CS, cpu_state.pc, in_smm, found, qfound, port, val);
}
return; return;
} }
@@ -704,7 +781,9 @@ inl(uint16_t port)
if (!found) if (!found)
cycles -= io_delay; cycles -= io_delay;
if (1) {
io_log("[%04X:%08X] (%i, %i, %04i) in l(%04X) = %08X\n", CS, cpu_state.pc, in_smm, found, qfound, port, ret); io_log("[%04X:%08X] (%i, %i, %04i) in l(%04X) = %08X\n", CS, cpu_state.pc, in_smm, found, qfound, port, ret);
}
return ret; return ret;
} }
@@ -791,7 +870,9 @@ outl(uint16_t port, uint32_t val)
#endif #endif
} }
if (1) {
io_log("[%04X:%08X] (%i, %i, %04i) outl(%04X, %08X)\n", CS, cpu_state.pc, in_smm, found, qfound, port, val); io_log("[%04X:%08X] (%i, %i, %04i) outl(%04X, %08X)\n", CS, cpu_state.pc, in_smm, found, qfound, port, val);
}
return; return;
} }
@@ -801,6 +882,7 @@ io_trap_readb(uint16_t addr, void *priv)
{ {
io_trap_t *trap = (io_trap_t *) priv; io_trap_t *trap = (io_trap_t *) priv;
trap->func(1, addr, 0, 0, trap->priv); trap->func(1, addr, 0, 0, trap->priv);
pclog("[%04X:%08X] io_trap_readb(%04X)\n", CS, cpu_state.pc, addr);
return 0xff; return 0xff;
} }
@@ -809,6 +891,7 @@ io_trap_readw(uint16_t addr, void *priv)
{ {
io_trap_t *trap = (io_trap_t *) priv; io_trap_t *trap = (io_trap_t *) priv;
trap->func(2, addr, 0, 0, trap->priv); trap->func(2, addr, 0, 0, trap->priv);
pclog("[%04X:%08X] io_trap_readw(%04X)\n", CS, cpu_state.pc, addr);
return 0xffff; return 0xffff;
} }
@@ -817,6 +900,7 @@ io_trap_readl(uint16_t addr, void *priv)
{ {
io_trap_t *trap = (io_trap_t *) priv; io_trap_t *trap = (io_trap_t *) priv;
trap->func(4, addr, 0, 0, trap->priv); trap->func(4, addr, 0, 0, trap->priv);
pclog("[%04X:%08X] io_trap_readl(%04X)\n", CS, cpu_state.pc, addr);
return 0xffffffff; return 0xffffffff;
} }
@@ -825,6 +909,7 @@ io_trap_writeb(uint16_t addr, uint8_t val, void *priv)
{ {
io_trap_t *trap = (io_trap_t *) priv; io_trap_t *trap = (io_trap_t *) priv;
trap->func(1, addr, 1, val, trap->priv); trap->func(1, addr, 1, val, trap->priv);
pclog("[%04X:%08X] io_trap_writeb(%04X)\n", CS, cpu_state.pc, addr);
} }
static void static void
@@ -832,6 +917,7 @@ io_trap_writew(uint16_t addr, uint16_t val, void *priv)
{ {
io_trap_t *trap = (io_trap_t *) priv; io_trap_t *trap = (io_trap_t *) priv;
trap->func(2, addr, 1, val, trap->priv); trap->func(2, addr, 1, val, trap->priv);
pclog("[%04X:%08X] io_trap_writew(%04X)\n", CS, cpu_state.pc, addr);
} }
static void static void
@@ -839,6 +925,7 @@ io_trap_writel(uint16_t addr, uint32_t val, void *priv)
{ {
io_trap_t *trap = (io_trap_t *) priv; io_trap_t *trap = (io_trap_t *) priv;
trap->func(4, addr, 1, val, trap->priv); trap->func(4, addr, 1, val, trap->priv);
pclog("[%04X:%08X] io_trap_writel(%04X)\n", CS, cpu_state.pc, addr);
} }
void * void *
@@ -885,6 +972,9 @@ io_trap_remap(void *handle, int enable, uint16_t addr, uint16_t size)
io_trap_writeb, io_trap_writew, io_trap_writel, io_trap_writeb, io_trap_writew, io_trap_writel,
trap); trap);
} }
if ((addr == 0x0170) || (addr == 0x0376) || (addr == 0x01f0) || (addr == 0x03f6))
pclog("io_trap_remape(%04X) = %i\n", addr, trap->enable);
} }
void void

View File

@@ -86,6 +86,48 @@ rom_add_path(const char *path)
path_slash(rom_path->path); path_slash(rom_path->path);
} }
static int
rom_check(const char *fn)
{
FILE *fp = NULL;
int ret = 0;
if ((fn[strlen(fn) - 1] == '/') || (fn[strlen(fn) - 1] == '\\'))
ret = plat_dir_check((char *) fn);
else {
fp = fopen(fn, "rb");
ret = (fp != NULL);
fclose(fp);
}
return ret;
}
void
rom_get_full_path(char *dest, const char *fn)
{
char temp[1024] = { 0 };
dest[0] = 0x00;
if (strstr(fn, "roms/") == fn) {
/* Relative path */
for (rom_path_t *rom_path = &rom_paths; rom_path != NULL; rom_path = rom_path->next) {
path_append_filename(temp, rom_path->path, fn + 5);
if (rom_check(temp)) {
strcpy(dest, temp);
return;
}
}
return;
} else {
/* Absolute path */
strcpy(dest, fn);
}
}
FILE * FILE *
rom_fopen(const char *fn, char *mode) rom_fopen(const char *fn, char *mode)
{ {

View File

@@ -1968,16 +1968,16 @@ escp_init(void *lpt)
dev->ctrl = 0x04; dev->ctrl = 0x04;
dev->lpt = lpt; dev->lpt = lpt;
rom_get_full_path(dev->fontpath, "roms/printer/fonts/");
/* Create a full pathname for the font files. */ /* Create a full pathname for the font files. */
if (strlen(exe_path) >= sizeof(dev->fontpath)) { if (strlen(dev->fontpath) == 0) {
ui_msgbox_header(MBX_ERROR, plat_get_string(STRING_ESCP_ERROR_TITLE),
plat_get_string(STRING_ESCP_ERROR_DESC));
free(dev); free(dev);
return (NULL); return (NULL);
} }
strcpy(dev->fontpath, exe_path);
path_slash(dev->fontpath);
strcat(dev->fontpath, "roms/printer/fonts/");
/* Create the full path for the page images. */ /* Create the full path for the page images. */
path_append_filename(dev->pagepath, usr_path, "printer"); path_append_filename(dev->pagepath, usr_path, "printer");
if (!plat_dir_check(dev->pagepath)) if (!plat_dir_check(dev->pagepath))

View File

@@ -2135,3 +2135,9 @@ msgstr ""
msgid "Generic PC/AT Memory Expansion" msgid "Generic PC/AT Memory Expansion"
msgstr "" msgstr ""
msgid "Unable to find Dot-Matrix fonts"
msgstr ""
msgid "TrueType fonts in the \"roms/printer/fonts\" directory are required for the emulation of the Generic ESC/P Dot-Matrix Printer."
msgstr ""

View File

@@ -2129,3 +2129,9 @@ msgstr "Expansió de memòria genèrica PC/XT"
msgid "Generic PC/AT Memory Expansion" msgid "Generic PC/AT Memory Expansion"
msgstr "Expansió de memòria genèrica PC/AT" msgstr "Expansió de memòria genèrica PC/AT"
msgid "Unable to find Dot-Matrix fonts"
msgstr "No es pot trobar tipus de lletra de matriu de punts"
msgid "TrueType fonts in the \"roms/printer/fonts\" directory are required for the emulation of the Generic ESC/P Dot-Matrix Printer."
msgstr "Els tipus de lletra TrueType al directori \"roms/printer/fonts\" són necessaris per a l'emulació de la impressora de matriu de punts ESC/P genèrica."

View File

@@ -2129,3 +2129,9 @@ msgstr "Obecné rozšíření paměti PC/XT"
msgid "Generic PC/AT Memory Expansion" msgid "Generic PC/AT Memory Expansion"
msgstr "Obecné rozšíření paměti PC/AT" msgstr "Obecné rozšíření paměti PC/AT"
msgid "Unable to find Dot-Matrix fonts"
msgstr "Nastala chyba při nachození jehličkových písem"
msgid "TrueType fonts in the \"roms/printer/fonts\" directory are required for the emulation of the Generic ESC/P Dot-Matrix Printer."
msgstr "Pro emulaci obecné jehličkové tiskárny ESC/P jsou vyžadována písma TrueType ve složce \"roms/printer/fonts\"."

View File

@@ -2132,3 +2132,9 @@ msgstr "Generische PC/XT-Speichererweiterung"
msgid "Generic PC/AT Memory Expansion" msgid "Generic PC/AT Memory Expansion"
msgstr "Generische PC/AT-Speichererweiterung" msgstr "Generische PC/AT-Speichererweiterung"
msgid "Unable to find Dot-Matrix fonts"
msgstr "Nadel-Schriften konnten nicht gefunden werden"
msgid "TrueType fonts in the \"roms/printer/fonts\" directory are required for the emulation of the Generic ESC/P Dot-Matrix Printer."
msgstr "TrueType-Schriften in das \"roms/printer/fonts\"-Verzeichnis sind für die Allgemeines ESC/P Nadel-Druckers erforderlich."

View File

@@ -2128,3 +2128,9 @@ msgstr "Expansión de Memoria Generica PC/XT"
msgid "Generic PC/AT Memory Expansion" msgid "Generic PC/AT Memory Expansion"
msgstr "Expansión de Memoria Generica PC/AT" msgstr "Expansión de Memoria Generica PC/AT"
msgid "Unable to find Dot-Matrix fonts"
msgstr "No fué posible encontrar las fuentes matriciales"
msgid "TrueType fonts in the \"roms/printer/fonts\" directory are required for the emulation of the Generic ESC/P Dot-Matrix Printer."
msgstr "Las fuentes TrueType en el directorio \"roms/printer/fonts\" son necesarias para la emulación de la impresora matricial ESC/P genérica."

View File

@@ -2129,3 +2129,9 @@ msgstr "Yleinen PC/XT-muistilaajennus"
msgid "Generic PC/AT Memory Expansion" msgid "Generic PC/AT Memory Expansion"
msgstr "Yleinen PC/AT-muistilaajennus" msgstr "Yleinen PC/AT-muistilaajennus"
msgid "Unable to find Dot-Matrix fonts"
msgstr "Pistematriisifontteja ei löydy"
msgid "TrueType fonts in the \"roms/printer/fonts\" directory are required for the emulation of the Generic ESC/P Dot-Matrix Printer."
msgstr "TrueType-fontteja kansiossa \"roms/printer/fonts\"-hakemistoon yleinen ESC/P pistematriisitulostin emulointiin."

View File

@@ -2129,3 +2129,9 @@ msgstr "Expansion de la mémoire générique PC/XT"
msgid "Generic PC/AT Memory Expansion" msgid "Generic PC/AT Memory Expansion"
msgstr "Expansion de la mémoire générique PC/AT" msgstr "Expansion de la mémoire générique PC/AT"
msgid "Unable to find Dot-Matrix fonts"
msgstr "Impossible de trouver les polices à matrice à points"
msgid "TrueType fonts in the \"roms/printer/fonts\" directory are required for the emulation of the Generic ESC/P Dot-Matrix Printer."
msgstr "Les polices TrueType dans le répertoire \"roms/printer/fonts\" sont nécessaires à l'émulation de l'imprimante générique ESC/P à matrice à points."

View File

@@ -655,7 +655,7 @@ msgid "ZIP images"
msgstr "ZIP slike" msgstr "ZIP slike"
msgid "86Box could not find any usable ROM images.\n\nPlease <a href=\"https://github.com/86Box/roms/releases/latest\">download</a> a ROM set and extract it into the \"roms\" directory." msgid "86Box could not find any usable ROM images.\n\nPlease <a href=\"https://github.com/86Box/roms/releases/latest\">download</a> a ROM set and extract it into the \"roms\" directory."
msgstr "86Box nije mogao pronaći upotrebljive ROM datoteke.\n\nMolimte posjetite <a href=\"https://github.com/86Box/roms/releases/latest\"></a> sknite paket s ROM datotekama i ekstrahirajte paket u \"roms\" mapu." msgstr "86Box nije mogao pronaći upotrebljive ROM datoteke.\n\nMolimte posjetite <a href=\"https://github.com/86Box/roms/releases/latest\"></a> sknite paket s ROM datotekama i ekstrahirajte paket u mapu \"roms\"."
msgid "(empty)" msgid "(empty)"
msgstr "(prazno)" msgstr "(prazno)"
@@ -2062,7 +2062,7 @@ msgid "Generic Text Printer"
msgstr "Generični tekstovni pisač" msgstr "Generični tekstovni pisač"
msgid "Generic ESC/P Dot-Matrix Printer" msgid "Generic ESC/P Dot-Matrix Printer"
msgstr "Generični pisač matrični ESC/P" msgstr "Generični matrični pisač ESC/P"
msgid "Generic PostScript Printer" msgid "Generic PostScript Printer"
msgstr "Generični pisač PostScript" msgstr "Generični pisač PostScript"
@@ -2129,3 +2129,9 @@ msgstr "Generičko proširenje memorije PC/XT"
msgid "Generic PC/AT Memory Expansion" msgid "Generic PC/AT Memory Expansion"
msgstr "Generičko proširenje memorije PC/AT" msgstr "Generičko proširenje memorije PC/AT"
msgid "Unable to find Dot-Matrix fonts"
msgstr "Nije moguće pronaći matrične fontove"
msgid "TrueType fonts in the \"roms/printer/fonts\" directory are required for the emulation of the Generic ESC/P Dot-Matrix Printer."
msgstr "TrueType fontovi u mapi \"roms/printer/fonts\" potrebni su za emulaciju generičnog matričnog pisača ESC/P."

View File

@@ -2129,3 +2129,9 @@ msgstr "Általános PC/XT memóriabővítők"
msgid "Generic PC/AT Memory Expansion" msgid "Generic PC/AT Memory Expansion"
msgstr "Általános PC/AT memóriabővítők" msgstr "Általános PC/AT memóriabővítők"
msgid "Unable to find Dot-Matrix fonts"
msgstr "Nem találja a Dot-Matrix betűtípusokat"
msgid "TrueType fonts in the \"roms/printer/fonts\" directory are required for the emulation of the Generic ESC/P Dot-Matrix Printer."
msgstr "Az általános ESC/P pontmátrixnyomtató emulációjához a \"roms/printer/fonts\" könyvtárban található TrueType betűtípusok szükségesek."

View File

@@ -655,7 +655,7 @@ msgid "ZIP images"
msgstr "Immagini ZIP" msgstr "Immagini ZIP"
msgid "86Box could not find any usable ROM images.\n\nPlease <a href=\"https://github.com/86Box/roms/releases/latest\">download</a> a ROM set and extract it into the \"roms\" directory." msgid "86Box could not find any usable ROM images.\n\nPlease <a href=\"https://github.com/86Box/roms/releases/latest\">download</a> a ROM set and extract it into the \"roms\" directory."
msgstr "86Box non può trovare immagini ROM utilizzabili.\n\nPlease <a href=\"https://github.com/86Box/roms/releases/latest\">download</a> a ROM set and extract it into the \"roms\" directory." msgstr "86Box non può trovare immagini ROM utilizzabili.\n\nSi prega di <a href=\"https://github.com/86Box/roms/releases/latest\">scaricare</a> un set di ROM ed estrarlo nella directory \"roms\"."
msgid "(empty)" msgid "(empty)"
msgstr "(empty)" msgstr "(empty)"
@@ -2129,3 +2129,9 @@ msgstr "Espansione di memoria generica PC/XT"
msgid "Generic PC/AT Memory Expansion" msgid "Generic PC/AT Memory Expansion"
msgstr "Espansione di memoria generica PC/AT" msgstr "Espansione di memoria generica PC/AT"
msgid "Unable to find Dot-Matrix fonts"
msgstr "Impossibile trovare i font a matrice di punti"
msgid "TrueType fonts in the \"roms/printer/fonts\" directory are required for the emulation of the Generic ESC/P Dot-Matrix Printer."
msgstr "I font TrueType presenti nella directory \"roms/printer/fonts\" sono necessari per l'emulazione della stampante a matrice di punti ESC/P generica."

View File

@@ -2129,3 +2129,9 @@ msgstr "汎用PC/XTメモリ拡張カード"
msgid "Generic PC/AT Memory Expansion" msgid "Generic PC/AT Memory Expansion"
msgstr "汎用PC/ATメモリ拡張カード" msgstr "汎用PC/ATメモリ拡張カード"
msgid "Unable to find Dot-Matrix fonts"
msgstr "ドットマトリクスフォントが見つかりません"
msgid "TrueType fonts in the \"roms/printer/fonts\" directory are required for the emulation of the Generic ESC/P Dot-Matrix Printer."
msgstr "汎用ESC/Pドットマトリクスプリンタのエミュレーションには、roms/printer/fontsディレクトリ内のTrueTypeフォントが必要です。"

View File

@@ -2129,3 +2129,9 @@ msgstr "일반 PC/XT 메모리 확장 카드"
msgid "Generic PC/AT Memory Expansion" msgid "Generic PC/AT Memory Expansion"
msgstr "일반 PC/AT 메모리 확장 카드" msgstr "일반 PC/AT 메모리 확장 카드"
msgid "Unable to find Dot-Matrix fonts"
msgstr "도트 매트릭스 글꼴을 찾을 수 없습니다"
msgid "TrueType fonts in the \"roms/printer/fonts\" directory are required for the emulation of the Generic ESC/P Dot-Matrix Printer."
msgstr "일반 ESC/P 도트 매트릭스 프린터의 에뮬레이션을 사용하려면 \"roms/printer/fonts\" 디렉터리에 있는 트루타입 글꼴이 필요합니다."

View File

@@ -2129,3 +2129,9 @@ msgstr "Generieke PC/XT geheugenuitbreiding"
msgid "Generic PC/AT Memory Expansion" msgid "Generic PC/AT Memory Expansion"
msgstr "Generieke PC/AT geheugenuitbreiding" msgstr "Generieke PC/AT geheugenuitbreiding"
msgid "Unable to find Dot-Matrix fonts"
msgstr "Dot-matrix-lettertypen niet gevonden"
msgid "TrueType fonts in the \"roms/printer/fonts\" directory are required for the emulation of the Generic ESC/P Dot-Matrix Printer."
msgstr "TrueType lettertypen in de map \"roms/printer/fonts\" zijn nodig voor de emulatie van de generieke ESC/P dot-matrix-printer."

View File

@@ -2129,3 +2129,9 @@ msgstr "Generyczne rozszerzenie pamięci PC/XT"
msgid "Generic PC/AT Memory Expansion" msgid "Generic PC/AT Memory Expansion"
msgstr "Generyczne rozszerzenie pamięci PC/AT" msgstr "Generyczne rozszerzenie pamięci PC/AT"
msgid "Unable to find Dot-Matrix fonts"
msgstr "Nie można znaleźć czcionek igłowych"
msgid "TrueType fonts in the \"roms/printer/fonts\" directory are required for the emulation of the Generic ESC/P Dot-Matrix Printer."
msgstr "Czcionki TrueType w katalogu \"roms/printer/fonts\" są wymagane do emulacji generyczniej drukarki igłowej ESC/P."

View File

@@ -2129,3 +2129,9 @@ msgstr "Expansão de memória genérica PC/XT"
msgid "Generic PC/AT Memory Expansion" msgid "Generic PC/AT Memory Expansion"
msgstr "Expansão de memória genérica PC/AT" msgstr "Expansão de memória genérica PC/AT"
msgid "Unable to find Dot-Matrix fonts"
msgstr "Não foi possível localizar os fontes matriciais de pontos"
msgid "TrueType fonts in the \"roms/printer/fonts\" directory are required for the emulation of the Generic ESC/P Dot-Matrix Printer."
msgstr "As fontes TrueType no diretório \"roms/printer/fonts\" são necessárias para a emulação da impressora matricial de pontos ESC/P genérica."

View File

@@ -2129,3 +2129,9 @@ msgstr "Expansão de memória genérica PC/XT"
msgid "Generic PC/AT Memory Expansion" msgid "Generic PC/AT Memory Expansion"
msgstr "Expansão de memória genérica PC/AT" msgstr "Expansão de memória genérica PC/AT"
msgid "Unable to find Dot-Matrix fonts"
msgstr "Não foi possível encontrar os fontes matriciais de pontos"
msgid "TrueType fonts in the \"roms/printer/fonts\" directory are required for the emulation of the Generic ESC/P Dot-Matrix Printer."
msgstr "As fontes TrueType no diretório \"roms/printer/fonts\" são necessárias para a emulação da impressora matricial de pontos ESC/P genérica"

View File

@@ -2135,3 +2135,9 @@ msgstr "Стандартное расширение памяти PC/XT"
msgid "Generic PC/AT Memory Expansion" msgid "Generic PC/AT Memory Expansion"
msgstr "Стандартное расширение памяти PC/AT" msgstr "Стандартное расширение памяти PC/AT"
msgid "Unable to find Dot-Matrix fonts"
msgstr "Невозможно найти матричные шрифты"
msgid "TrueType fonts in the \"roms/printer/fonts\" directory are required for the emulation of the Generic ESC/P Dot-Matrix Printer."
msgstr "Шрифты TrueType в каталоге \"roms/printer/fonts\" необходимы для эмуляции стандартного матричного принтера ESC/P."

View File

@@ -2129,3 +2129,9 @@ msgstr "Všeobecné rozšírenie pamäte PC/XT"
msgid "Generic PC/AT Memory Expansion" msgid "Generic PC/AT Memory Expansion"
msgstr "Všeobecné rozšírenie pamäte PC/AT" msgstr "Všeobecné rozšírenie pamäte PC/AT"
msgid "Unable to find Dot-Matrix fonts"
msgstr "Nastala chyba pri hľadaní ihličkových písem"
msgid "TrueType fonts in the \"roms/printer/fonts\" directory are required for the emulation of the Generic ESC/P Dot-Matrix Printer."
msgstr "Písma TrueType v adresári \"roms/printer/fonts\" sú potrebné na emuláciu generickej ihličkovej tlačiarne ESC/P."

View File

@@ -823,10 +823,10 @@ msgid "Are you sure you want to exit 86Box?"
msgstr "Ste prepričani, da želite zapreti 86Box?" msgstr "Ste prepričani, da želite zapreti 86Box?"
msgid "Unable to initialize Ghostscript" msgid "Unable to initialize Ghostscript"
msgstr "Ne morem inicializirati Ghostscript" msgstr "Ghostscript-a ni bilo mogoče inicializirati"
msgid "Unable to initialize GhostPCL" msgid "Unable to initialize GhostPCL"
msgstr "Ne morem inicializirati GhostPCL" msgstr "GhostPCL-ja ni bilo mogoče inicializirati"
msgid "MO %i (%ls): %ls" msgid "MO %i (%ls): %ls"
msgstr "MO %i (%ls): %ls" msgstr "MO %i (%ls): %ls"
@@ -2129,3 +2129,9 @@ msgstr "Generična razširitev pomnilnika PC/XT"
msgid "Generic PC/AT Memory Expansion" msgid "Generic PC/AT Memory Expansion"
msgstr "Generična razširitev pomnilnika PC/AT" msgstr "Generična razširitev pomnilnika PC/AT"
msgid "Unable to find Dot-Matrix fonts"
msgstr "Matričnih pisav ni bilo mogoče najti"
msgid "TrueType fonts in the \"roms/printer/fonts\" directory are required for the emulation of the Generic ESC/P Dot-Matrix Printer."
msgstr "Matrične pisave v imeniku \"roms/printer/fonts\" so potrebne za emulacijo generičnega matričnega tiskalnika ESC/P."

View File

@@ -2129,3 +2129,9 @@ msgstr "Sıradan PC/XT bellek artırma"
msgid "Generic PC/AT Memory Expansion" msgid "Generic PC/AT Memory Expansion"
msgstr "Sıradan PC/AT bellek artırma" msgstr "Sıradan PC/AT bellek artırma"
msgid "Unable to find Dot-Matrix fonts"
msgstr "Dot Matrix yazı tipleri bulunamıyor"
msgid "TrueType fonts in the \"roms/printer/fonts\" directory are required for the emulation of the Generic ESC/P Dot-Matrix Printer."
msgstr "Sıradan ESC/P Dot Matrix Yazıcının emülasyonu için \"roms/printer/fonts\" dizinindeki TrueType yazı tipleri gereklidir."

View File

@@ -2135,3 +2135,9 @@ msgstr "Загальне розширення пам'яті PC/XT"
msgid "Generic PC/AT Memory Expansion" msgid "Generic PC/AT Memory Expansion"
msgstr "Загальне розширення пам'яті PC/AT" msgstr "Загальне розширення пам'яті PC/AT"
msgid "Unable to find Dot-Matrix fonts"
msgstr "Неможливо знайти матричні шрифти"
msgid "TrueType fonts in the \"roms/printer/fonts\" directory are required for the emulation of the Generic ESC/P Dot-Matrix Printer."
msgstr "Шрифти TrueType у каталозі \"roms/printer/fonts\" потрібні для емуляції загального матричного принтера Generic ESC/P."

View File

@@ -2129,3 +2129,9 @@ msgstr "Chung mở rộng bộ nhớ qua PC/XT"
msgid "Generic PC/AT Memory Expansion" msgid "Generic PC/AT Memory Expansion"
msgstr "Chung mở rộng bộ nhớ qua PC/AT" msgstr "Chung mở rộng bộ nhớ qua PC/AT"
msgid "Unable to find Dot-Matrix fonts"
msgstr "Không tìm thấy phông chữ ma trận chấm"
msgid "TrueType fonts in the \"roms/printer/fonts\" directory are required for the emulation of the Generic ESC/P Dot-Matrix Printer."
msgstr "Cần có phông chữ TrueType trong thư mục \"roms/printer/fonts\" để mô phỏng máy in generic ESC/P ma trận chấm."

View File

@@ -2129,3 +2129,9 @@ msgstr "通用 PC/XT 内存扩展"
msgid "Generic PC/AT Memory Expansion" msgid "Generic PC/AT Memory Expansion"
msgstr "通用 PC/AT 内存扩展" msgstr "通用 PC/AT 内存扩展"
msgid "Unable to find Dot-Matrix fonts"
msgstr "无法找到点阵字体"
msgid "TrueType fonts in the \"roms/printer/fonts\" directory are required for the emulation of the Generic ESC/P Dot-Matrix Printer."
msgstr "仿真通用 ESC/P 点阵打印机需要使用 \"roms/printer/fonts\" 目录中的 TrueType 字体。"

View File

@@ -2062,7 +2062,7 @@ msgid "Generic Text Printer"
msgstr "通用文字印表機" msgstr "通用文字印表機"
msgid "Generic ESC/P Dot-Matrix Printer" msgid "Generic ESC/P Dot-Matrix Printer"
msgstr "通用 ESC/P 點矩陣" msgstr "通用 ESC/P 點矩陣印表機"
msgid "Generic PostScript Printer" msgid "Generic PostScript Printer"
msgstr "通用 PostScript 印表機" msgstr "通用 PostScript 印表機"
@@ -2129,3 +2129,9 @@ msgstr "通用 PC/XT 記憶體擴充"
msgid "Generic PC/AT Memory Expansion" msgid "Generic PC/AT Memory Expansion"
msgstr "通用 PC/AT 記憶體擴充" msgstr "通用 PC/AT 記憶體擴充"
msgid "Unable to find Dot-Matrix fonts"
msgstr "無法找到點矩陣字型"
msgid "TrueType fonts in the \"roms/printer/fonts\" directory are required for the emulation of the Generic ESC/P Dot-Matrix Printer."
msgstr "通用 ESC/P 點矩陣印表機的模擬需要 \"roms/printer/fonts\" 目錄中的 TrueType 字體。"

View File

@@ -639,6 +639,8 @@ ProgSettings::reloadStrings()
translatedstrings[STRING_MONITOR_SLEEP] = QCoreApplication::translate("", "Monitor in sleep mode").toStdWString(); translatedstrings[STRING_MONITOR_SLEEP] = QCoreApplication::translate("", "Monitor in sleep mode").toStdWString();
translatedstrings[STRING_NET_ERROR] = QCoreApplication::translate("", "Failed to initialize network driver").toStdWString(); translatedstrings[STRING_NET_ERROR] = QCoreApplication::translate("", "Failed to initialize network driver").toStdWString();
translatedstrings[STRING_NET_ERROR_DESC] = QCoreApplication::translate("", "The network configuration will be switched to the null driver").toStdWString(); translatedstrings[STRING_NET_ERROR_DESC] = QCoreApplication::translate("", "The network configuration will be switched to the null driver").toStdWString();
translatedstrings[STRING_ESCP_ERROR_TITLE] = QCoreApplication::translate("", "Unable to find Dot-Matrix fonts").toStdWString();
translatedstrings[STRING_ESCP_ERROR_DESC] = QCoreApplication::translate("", "TrueType fonts in the \"roms/printer/fonts\" directory are required for the emulatio of the Generic ESC/P Dot-Matrix Printer.").toStdWString();
} }
wchar_t * wchar_t *