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_MONITOR_SLEEP, /* "Monitor in sleep mode" */
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. */

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 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 int rom_getfile(char *fn, char *s, int size);
extern int rom_present(const char *fn);

104
src/io.c
View File

@@ -30,6 +30,7 @@
#include "cpu.h"
#include <86box/m_amstrad.h>
#include <86box/pci.h>
#include <86box/mem.h>
#define NPORTS 65536 /* PC/AT supports 64K ports */
@@ -59,6 +60,7 @@ int initialized = 0;
io_t *io[NPORTS];
io_t *io_last[NPORTS];
// #define ENABLE_IO_LOG 1
#ifdef ENABLE_IO_LOG
int io_do_log = ENABLE_IO_LOG;
@@ -69,7 +71,8 @@ io_log(const char *fmt, ...)
if (io_do_log) {
va_start(ap, fmt);
pclog_ex(fmt, ap);
if (CS == 0xf000)
pclog_ex(fmt, ap);
va_end(ap);
}
}
@@ -77,6 +80,18 @@ io_log(const char *fmt, ...)
# define io_log(fmt, ...)
#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
io_init(void)
{
@@ -106,6 +121,8 @@ io_init(void)
/* io[c] should be NULL. */
io[c] = io_last[c] = NULL;
}
atexit(print_lpr);
}
void
@@ -333,6 +350,11 @@ io_debug_check_addr(uint16_t addr)
}
#endif
#include <86box/random.h>
uint8_t post_code = 0xc6;
uint8_t action = 0x00;
uint8_t
inb(uint16_t port)
{
@@ -393,7 +415,33 @@ inb(uint16_t port)
ret = 0xfe;
#endif
io_log("[%04X:%08X] (%i, %i, %04i) in b(%04X) = %02X\n", CS, cpu_state.pc, in_smm, found, qfound, port, ret);
#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);
}
last_port_read = port;
return ret;
}
@@ -447,7 +495,20 @@ outb(uint16_t port, uint8_t val)
#endif
}
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);
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);
}
return;
}
@@ -525,7 +586,9 @@ inw(uint16_t port)
if (!found)
cycles -= io_delay;
io_log("[%04X:%08X] (%i, %i, %04i) in w(%04X) = %04X\n", CS, cpu_state.pc, in_smm, found, qfound, port, ret);
if (1) {
io_log("[%04X:%08X] (%i, %i, %04i) in w(%04X) = %04X\n", CS, cpu_state.pc, in_smm, found, qfound, port, ret);
}
return ret;
}
@@ -594,7 +657,21 @@ outw(uint16_t port, uint16_t val)
#endif
}
io_log("[%04X:%08X] (%i, %i, %04i) outw(%04X, %04X)\n", CS, cpu_state.pc, in_smm, found, qfound, port, val);
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);
}
return;
}
@@ -704,7 +781,9 @@ inl(uint16_t port)
if (!found)
cycles -= io_delay;
io_log("[%04X:%08X] (%i, %i, %04i) in l(%04X) = %08X\n", CS, cpu_state.pc, in_smm, found, qfound, port, ret);
if (1) {
io_log("[%04X:%08X] (%i, %i, %04i) in l(%04X) = %08X\n", CS, cpu_state.pc, in_smm, found, qfound, port, ret);
}
return ret;
}
@@ -791,7 +870,9 @@ outl(uint16_t port, uint32_t val)
#endif
}
io_log("[%04X:%08X] (%i, %i, %04i) outl(%04X, %08X)\n", CS, cpu_state.pc, in_smm, found, qfound, port, val);
if (1) {
io_log("[%04X:%08X] (%i, %i, %04i) outl(%04X, %08X)\n", CS, cpu_state.pc, in_smm, found, qfound, port, val);
}
return;
}
@@ -801,6 +882,7 @@ io_trap_readb(uint16_t addr, void *priv)
{
io_trap_t *trap = (io_trap_t *) priv;
trap->func(1, addr, 0, 0, trap->priv);
pclog("[%04X:%08X] io_trap_readb(%04X)\n", CS, cpu_state.pc, addr);
return 0xff;
}
@@ -809,6 +891,7 @@ io_trap_readw(uint16_t addr, void *priv)
{
io_trap_t *trap = (io_trap_t *) priv;
trap->func(2, addr, 0, 0, trap->priv);
pclog("[%04X:%08X] io_trap_readw(%04X)\n", CS, cpu_state.pc, addr);
return 0xffff;
}
@@ -817,6 +900,7 @@ io_trap_readl(uint16_t addr, void *priv)
{
io_trap_t *trap = (io_trap_t *) priv;
trap->func(4, addr, 0, 0, trap->priv);
pclog("[%04X:%08X] io_trap_readl(%04X)\n", CS, cpu_state.pc, addr);
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;
trap->func(1, addr, 1, val, trap->priv);
pclog("[%04X:%08X] io_trap_writeb(%04X)\n", CS, cpu_state.pc, addr);
}
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;
trap->func(2, addr, 1, val, trap->priv);
pclog("[%04X:%08X] io_trap_writew(%04X)\n", CS, cpu_state.pc, addr);
}
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;
trap->func(4, addr, 1, val, trap->priv);
pclog("[%04X:%08X] io_trap_writel(%04X)\n", CS, cpu_state.pc, addr);
}
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,
trap);
}
if ((addr == 0x0170) || (addr == 0x0376) || (addr == 0x01f0) || (addr == 0x03f6))
pclog("io_trap_remape(%04X) = %i\n", addr, trap->enable);
}
void

View File

@@ -86,6 +86,48 @@ rom_add_path(const char *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 *
rom_fopen(const char *fn, char *mode)
{

View File

@@ -1968,16 +1968,16 @@ escp_init(void *lpt)
dev->ctrl = 0x04;
dev->lpt = lpt;
rom_get_full_path(dev->fontpath, "roms/printer/fonts/");
/* 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);
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. */
path_append_filename(dev->pagepath, usr_path, "printer");
if (!plat_dir_check(dev->pagepath))

View File

@@ -2135,3 +2135,9 @@ msgstr ""
msgid "Generic PC/AT Memory Expansion"
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"
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"
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"
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"
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"
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"
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"
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)"
msgstr "(prazno)"
@@ -2062,7 +2062,7 @@ msgid "Generic Text Printer"
msgstr "Generični tekstovni pisač"
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"
msgstr "Generični pisač PostScript"
@@ -2129,3 +2129,9 @@ msgstr "Generičko proširenje memorije PC/XT"
msgid "Generic PC/AT Memory Expansion"
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"
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"
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)"
msgstr "(empty)"
@@ -2129,3 +2129,9 @@ msgstr "Espansione di memoria generica PC/XT"
msgid "Generic PC/AT Memory Expansion"
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"
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"
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"
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"
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"
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"
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"
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"
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?"
msgid "Unable to initialize Ghostscript"
msgstr "Ne morem inicializirati Ghostscript"
msgstr "Ghostscript-a ni bilo mogoče inicializirati"
msgid "Unable to initialize GhostPCL"
msgstr "Ne morem inicializirati GhostPCL"
msgstr "GhostPCL-ja ni bilo mogoče inicializirati"
msgid "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"
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"
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"
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"
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"
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 "通用文字印表機"
msgid "Generic ESC/P Dot-Matrix Printer"
msgstr "通用 ESC/P 點矩陣"
msgstr "通用 ESC/P 點矩陣印表機"
msgid "Generic PostScript Printer"
msgstr "通用 PostScript 印表機"
@@ -2129,3 +2129,9 @@ msgstr "通用 PC/XT 記憶體擴充"
msgid "Generic PC/AT Memory Expansion"
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_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_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 *