diff -Nru dosbox-staging-0.79.0~alpha~115~gc34a/contrib/translations/es/es_ES.lng dosbox-staging-0.79.0~alpha~140~ge4e3/contrib/translations/es/es_ES.lng --- dosbox-staging-0.79.0~alpha~115~gc34a/contrib/translations/es/es_ES.lng 2022-01-14 01:08:08.000000000 +0000 +++ dosbox-staging-0.79.0~alpha~140~ge4e3/contrib/translations/es/es_ES.lng 2022-01-21 00:57:12.000000000 +0000 @@ -1,29 +1,46 @@ :CONFIG_FULLSCREEN -Inicia DOSBox directamente en pantalla completa. +Inicia directamente en pantalla completa. +Ejecute INTRO y consulte Teclas Especiales para accesos rpidos de control de ventana. . :CONFIG_DISPLAY Nmero de pantalla a usar; valores dependen del SO y configuracin del usuario. . -:CONFIG_VSYNC -Configuracin de sincronizacin vertical no implementada (ajuste ignorado) -. :CONFIG_FULLRESOLUTION Qu resolucin usar para pantalla completa: 'original', 'desktop' o un tamao fijo (por ejemplo, 1024x768). . :CONFIG_WINDOWRESOLUTION -Establezca tamao de ventana a utilizar cuando se ejecute en modo ventana: +Establezca tamao de ventana cuando se ejecute en modo ventana: default: Selecciona la mejor opcin basado en tu entorno y otras configuraciones. - original: Redimensiona la ventana a la resolucin elegida por - el programa emulado. - resizable: Hace la ventana del emulador redimensionable. - Esta es una opcin experimental, funciona slo con - output=opengl y glshader=sharp (o none) - : Escala el contenido de la ventana a las dimensiones - indicadas, en formato LxA. Por ejemplo: 1024x768. + small, medium, o large (o s, m, l): + Dimensiona la ventana en relacin al escritorio. + : Escala la ventana a las dimensiones dadas en + formato LxA. Por ejemplo: 1024x768. El escalado no se realiza para output=surface. . +:CONFIG_WINDOW_POSITION +Establezca posicin inicial de ventana cuando se ejecute en modo ventana: + auto: Deja que el administrador de ventana decida la posicin. + : Establece posicin de ventana en formato X,Y. Por ejemplo: 250,100 + 0,0 es la esquina superior-izquierda de la pantalla. +. +:CONFIG_WINDOW_DECORATIONS +Controla si se muestran decoraciones de ventana en modo ventana. +. +:CONFIG_VSYNC +Sincroniza con la frecuencia de refresco de la pantalla si es compatible. Esto puede +reducir el parpadeo y el tearing, pero tambin puede afectar al rendimiento. +. +:CONFIG_VSYNC_SKIP +Nmero de microsegundos para permitir el bloqueo del renderizado antes de omitir el siguiente fotograma. 0 deshabilita esto y siempre se renderizar. +. +:CONFIG_MAX_RESOLUTION +Opcionalmente restringe la resolucin de la ventana grfica dentro de la ventana/pantalla: + auto: La ventana grfica rellena la ventana/pantalla (predeterminado). + : Establece resolucin mxima de ventana grfica en formato LxA. + Por ejemplo: 960x720 +. :CONFIG_OUTPUT Qu sistema de vdeo utilizar para la salida. . @@ -33,21 +50,14 @@ . :CONFIG_CAPTURE_MOUSE Elija un mtodo de control del mouse: - onclick: El mouse se capturar despues del primer - clic dentro de la ventana. - onstart: El mouse es capturado inmediatamente al iniciar - (similar al DOS real). - seamless: El mouse puede moverse perfecto dentro y fuera - de la ventana de DOSBox y no puede ser capturado. - nomouse: El mouse esta deshabilitado y oculto sin que se - enve ninguna entrada al juego. + onclick: Captura el mouse al hacer clic en cualquier botn de la ventana. + onstart: Captura el mouse inmediatamente al iniciar. + seamless: Deja que el mouse se mueva sin problemas; captura slo con clic medio o tecla de acceso rpido. + nomouse: Oculta el mouse y no enva entrada al juego. Elija cmo se manejan los clics centrales (segundo parmetro): - middlegame: Los clics centrales son enviados al juego - middlerelease: Los clics centrales son usados para descapturar el mouse - (no se enva al juego). Sin embargo, los clics centrales - se enviarn al juego en pantalla completa o cuando - se establece el control seamless. -Defaults (si no est presente o errneo): seamless middlerelease + middlegame: Los clics centrales son enviados al juego. + middlerelease: El clic central liberar el mouse capturado, y tambin capturar cuando no haya problemas. +Defaults (si no est presente o errneo): Liberacin central sin problemas . :CONFIG_SENSITIVITY Sensibilidad del mouse. El segundo parmetro opcional especifica la sensibilidad vertical (por ejemplo, 100,-50). @@ -62,7 +72,7 @@ . :CONFIG_PRIORITY Niveles de prioridad para DOSBox. La segunda entrada detrs de la coma es para cuando DOSBox no est enfocado/minimizado. -pausa slo es vlida para la segunda entrada. +pause slo es vlido para la segunda entrada. auto deshabilita niveles de prioridad y usa valores predeterminados del SO . :CONFIG_MAPPERFILE Archivo usado para cargar/guardar las asignaciones de teclas/eventos. @@ -74,7 +84,10 @@ mientras se ejecuta el emulador). . :CONFIG_LANGUAGE -Seleccione otro archivo de idioma. +Seleccione idioma a usar: de, en, es, fr, it, pl, y ru +Notes: Este ajuste anular el entorno 'LANG', si se ha establecido. + El directorio 'translations' incluido con el ejecutable contiene esos archivos + de datos. Por favor mantngalo junto al ejecutable para admitir esta funcin. . :CONFIG_MACHINE El tipo de mquina que DOSBox intenta emular. @@ -88,6 +101,22 @@ aunque algunos juegos pueden requerir un valor ms alto. Por lo general, no hay ninguna ventaja de velocidad al aumentar este valor. . +:CONFIG_VMEMSIZE +Memoria de vdeo en MiB (1-8) o KiB (256 a 8192). 'auto' usa el valor preterminado por adaptador de vdeo. +. +:CONFIG_VESA_MODES +Controla la seleccin de los modos VESA 1.2 y 2.0 ofrecidos: + compatible Una seleccin a medida que maximiza la compatibilidad del juego. + Esto se recomienda junto con 4 u 8 MB de memoria de vdeo. + all Ofrece todos los modos para un tamao de memoria de vdeo dado, sin embargo + algunos juegos pueden no usarlo correctamente (parpadeo) o pueden necesitar + ms memoria de sistema (mem = ) para usarlos. +. +:CONFIG_AUTOEXEC_SECTION +Cmo se manejan secciones autoexec desde mltiples archivos de configuracin. +join : los combina en una gran seccin (comportamiento heredado). +overwrite : usa el ltimo encontrado, como otras configuraciones conf. +. :CONFIG_STARTUP_VERBOSITY Controla la verbosidad antes de mostrar el programa: Verbosidad | Inicio | Bienvenida | Salida anticipada @@ -132,6 +161,29 @@ crt-easymode-flat, crt-fakelottes-flat, rgb2x, rgb3x, scan2x, scan3x, tv2x, tv3x, sharp (por defecto). . +:CONFIG_COMPOSITE +Habilita modo compuesto al iniciar. 'auto' deja que el programa decida. +Nota: Ajusta la configuracin a continuacin (por ejemplo: tono) usando las teclas de acceso rpido compuesto. + Luego lea la nueva configuracin de su consola e introdzcala aqu. +. +:CONFIG_ERA +Era de tecnologa compuesta. Cuando es 'auto', PCjr usa la nueva y CGA/Tandy usa la antigua. +. +:CONFIG_HUE +Apariencia de paleta RGB. Por ejemplo, ajuste hasta que el cielo sea azul. +. +:CONFIG_SATURATION +Intensidad de colores, desde lavado a vvido. +. +:CONFIG_CONTRAST +Relacin entre el rea oscura y clara. +. +:CONFIG_BRIGHTNESS +Luminosidad de la imagen, desde oscura a clara. +. +:CONFIG_CONVERGENCE +Convergencia de elementos subpixel, desde borroso a ntido (CGA y Tandy-slo). +. :CONFIG_CORE Ncleo de CPU utilizado en emulacin. auto cambiar a dinmico si esta disponible y es apropiado. @@ -151,7 +203,8 @@ manejar. . :CONFIG_CYCLEUP -Nmero de ciclos para disminuir/incrementar con combinaciones de teclas. +Nmero de ciclos agregados o quitados con teclas de acceso rpido de control de velocidad. +Ejecute INTRO y consulte Teclas Especiales para lista de teclas de acceso rpido. . :CONFIG_CYCLEDOWN Establecerlo por debajo de 100 ser un porcentaje. @@ -168,6 +221,10 @@ :CONFIG_PREBUFFER Cuntos milisegundos de datos para mantener encima del tamao de bloque. . +:CONFIG_NEGOTIATE +Permite que el controlador de audio del sistema negocie la tasa ptima y el tamao de bloque +tan cerca de los valores especificados como sea posible. +. :CONFIG_MIDIDEVICE Dispositivo que recibir los datos MIDI (de la interfaz emulada MIDI - MPU-401). Elija uno de los siguientes: @@ -191,7 +248,7 @@ el hardware puede requerir un retraso para evitar que se desborde su bfer. En ese caso, agregue 'delaysysex', por ejemplo: 'midiconfig=2 delaysysex'. -Consulte el README/Manual para mas detalles. +Consulte el README/Manual para ms detalles. . :CONFIG_MPU401 Tipo de MPU-401 a emular. @@ -205,20 +262,44 @@ Por ejemplo: 'soundfont.sf2 50' lo atenuar en un 50%. El porcentaje de escalado puede ir de 1 a 500. . +:CONFIG_CHORUS +Efecto coro: 'auto', 'on', 'off', o valores personalizados. +Cuando se usan valores personalizados: + Los cinco deben ser proporcionados en orden y separados por espacios. + Ellos son: conteo-de-voz nivel velocidad profundidad onda-modulada, donde: + - conteo-de-voz es un entero desde 0 a 99. + - nivel es un decimal desde 0.0 a 10.0 + - velocidad es un decimal, medido en Hz, desde 0.1 a 5.0 + - profundidad es un decimal desde 0.0 a 21.0 + - onda-modulada es 'sine' o 'triangle' + Por ejemplo: chorus = 3 1.2 0.3 8.0 sine +. +:CONFIG_REVERB +Efecto de reverberacin: 'auto', 'on', 'off', o valores personalizados. +Cuando se usan valores personalizados: + Los cuatro deben ser proporcionados en orden y separados por espacios. + Ellos son: tamao-de-habitacin amortiguacin ancho nivel, donde: + - tamao-de-habitacin es un decimal desde 0.0 a 1.0 + - amortiguacin es un decimal desde 0.0 a 1.0 + - ancho es un decimal desde 0.0 a 100.0 + - nivel es un decimal desde 0.0 a 1.0 + Por ejemplo: reverb = 0.61 0.23 0.76 0.56 +. :CONFIG_MODEL -Modelo de sintetizador a utilizar. El valor por defecto (auto) prefiere CM-32L -si ambos conjuntos de ROMs son provistos. Para los primeros juegos de Sierra y Dune 2 -se recomienda utilizar 'mt32', mientras que los juegos mas recientes suelen -usar los efectos de sonido adicionales del CM-32L (use 'auto' o 'cm32l') +Modelo de sintetizador a utilizar. +'auto' elige el primer modelo con ROMs disponibles, en orden como se indica. +'cm32l' y 'mt32' eligen el primer modelo de su tipo, en el orden indicado. +'mt32_old' y 'mt32_new' son alias para 1.07 y 2.04, respectivamente. . :CONFIG_ROMDIR -El directorio que contiene uno o ambos pares de ROMs MT-32 y/o CM-32L. -Los archivos deben ser nombrados en maysculas, de la siguiente manera: - - Par de ROMs MT-32: MT32_CONTROL.ROM y MT32_PCM.ROM - - Par de ROMs CM-32L: CM32L_CONTROL.ROM y CM32L_PCM.ROM +El directorio que contiene ROMs para uno o mas modelos. El directorio puede ser absoluto o relativo, o djelo en blanco para -utilizar el directorio 'mt32-roms' del directorio de configuracin de DOSBox, -seguido de la comprobacin de otras ubicaciones comunes del sistema. +utilizar el directorio 'mt32-roms' en el directorio de configuracin +de DOSBox. Tambin se verificarn otras ubicaciones comunes del sistema. +Archivos ROM dentro de este directorio pueden incluir cualquiera de los siguientes: + - MT32_CONTROL.ROM y MT32_PCM.ROM, para el modelo 'mt32'. + - CM32L_CONTROL.ROM y CM32L_PCM.ROM, para el modelo 'cm32l'. + - ROMs MAME MT-32 y CM-32L descomprimidas, para los modelos versionados. . :CONFIG_SBTYPE Tipo de Sound Blaster a emular. 'gb' es Game Blaster. @@ -238,6 +319,11 @@ :CONFIG_SBMIXER Permite que el mezclador de Sound Blaster modifique el mezclador de DOSBox. . +:CONFIG_SBWARMUP +Silencia el audio inicial DMA despus del encendido de la tarjeta, en milisegundos. +Esto mitiga los estallidos que se escuchan al iniciar muchos juegos basados en SB. +Reduzca esto si notas que a la reproduccin inicial le falta audio. +. :CONFIG_OPLRATE oplrate est obsoleto. La forma de onda OPL es ahora muestreada a la velocidad de reproduccin del mezclador para evitar el remuestreo. @@ -268,6 +354,32 @@ patch para reproduccin GUS. Conjunto de patchs usados con Timidity deberan funcionar bien. . +:CONFIG_SIDMODEL +Modelo de chip a emular en la tarjeta Innovation SSI-2001: + - auto: Selecciona el chip 6581. + - 6581: El chip original, conocido por sus graves y ricos caractersticos. + - 8580: Una revisin posterior mas cercana a la especificacin SID. + Esta corrige el DC bias del 6581 y es menos propenso a la distorsin. + El 8580 es una opcin en tarjetas de reproduccin, como el DuoSID. + - none: Deshabilita la tarjeta. +. +:CONFIG_SIDCLOCK +La frecuencia de reloj del chip SID, que es puenteable en tarjetas de reproduccin. + - default: usa 0.895 MHz, para la tarjeta original SSI-2001. + - c64ntsc: usa 1.023 MHz, para PCs Commodore NTSC y el DuoSID. + - c64pal: usa 0.985 MHz, para PCs Commodore PAL y el DuoSID. + - hardsid: usa 1.000 MHz, disponible en el DuoSID. +. +:CONFIG_SIDPORT +La direccin del puerto de E/S del Innovation SSI-2001. +. +:CONFIG_6581FILTER +El filtrado anlogico del SID deca que cada chip era fsicamente nico. +Ajusta la intensidad de filtrado del 6581 como un porcentaje desde 0 a 100. +. +:CONFIG_8580FILTER +Ajusta la intensidad de filtrado del 8580 como un porcentaje desde 0 a 100. +. :CONFIG_PCSPEAKER Habilita emulacin del PC-Speaker. . @@ -288,15 +400,20 @@ :CONFIG_DISNEY Habilita emulacin Disney Sound Source. (compatible con Covox Voice Master y Speech Thing). . +:CONFIG_PS1AUDIO +Habilita emulacin de audio del IBM PS/1. +. :CONFIG_JOYSTICKTYPE Tipo de joystick a emular: auto (por defecto), -none (deshabilita emulacin del joystick), -2axis (soporta dos joysticks), -4axis (soporta un joystick, primer joystick usado), -4axis_2 (soporta un joystick, segundo joystick usado), -fcs (Thrustmaster), ch (CH Flightstick). -auto (elige emulacin dependiendo de los joysticks reales). -(Recuerda resetear el mapperfile del DOSBox si lo has guardado anteriormente) +auto : Detecta y usa cualquier joystick(s), si es posible., +2axis : Soporta hasta dos joysticks. +4axis : Soporta slo el primer joystick. +4axis_2 : Soporta slo el segundo joystick. +fcs : Soporta un joystick tipo Thrustmaster. +ch : Soporta un joystick tipo CH Flightstick. +hidden : Evita que DOS vea el(los) joystick(s), pero los habilita para mapeo. +disabled : Deshabilita los joysticks completamente: no ser sondeado, mapeado, o visible en DOS. +(Recuerda restablecer el archivo de mapeado de DOSBox si lo has guardado antes) . :CONFIG_TIMED habilita intervalos cronometrados para ejes. Experimente con esta opcin, si tu joystick se desva (se aleja). @@ -324,10 +441,12 @@ parmetro:valor. Parmetro para todos los tipos es irq (opcional). para directserial: realport (requerido), rxdelay (opcional). (realport:COM1 realport:ttyS0). -para modem: listenport (opcional). +para modem: listenport sock (todo opcional). para nullmodem: server, rxdelay, txdelay, telnet, usedtr, - transparent, port, inhsocket (todos opcional). -Ejemplo: serial1=modem listenport:5000 + transparent, port, inhsocket, sock (todo opcional). +Parmetro SOCK especifica el protocolo a utilizar por ambas partes + de la conexin. 0 para TCP y 1 para UDP confiable ENet. +Ejemplo: serial1=modem listenport:5000 sock:1 . :CONFIG_SERIAL2 consulte serial1 @@ -364,6 +483,54 @@ :CONFIG_IPX Habilita emulacin ipx sobre UDP/IP. . +:CONFIG_NE2000 +Habilita emulacin de una tarjeta de red Novell NE2000 sobre una red basada +en software (usando libslirp) con las siguientes propiedades: + - 255.255.255.0 : Mscara de subred de la LAN virtual 10.0.2.0. + - 10.0.2.2 : IP de la puerta de enlace y servicio DHCP. + - 10.0.2.3 : IP del servidor virtual DNS. + - 10.0.2.15 : Primera IP proporcionada por DHCP, su IP! +Nota: Dentro de DOS, configurar esto requiere un controlador de paquete NE2000, + cliente DHCP, y pila TCP/IP. Podras necesitar desviar puertos + desde el anfitrin hacia el invitado DOS, y desde su router a su + anfitrin cuando acte como servidor para juegos multijugador. +. +:CONFIG_NICBASE +La direccin base de la tarjeta NE2000. +Nota: Direcciones 220 y 240 podran no estar disponibles ya que estn asignadas + al Sound Blaster y Gravis UltraSound por defecto. +. +:CONFIG_NICIRQ +La interrupcin usada por la tarjeta NE2000. +Nota: IRQs 3 y 5 podran no estar disponibles ya que estn asignadas + a 'serial2' y al Gravis UltraSound por defecto. +. +:CONFIG_MACADDR +La direccin MAC de la tarjeta NE2000. +. +:CONFIG_TCP_PORT_FORWARDS +Desva uno o ms puertos TCP desde el anfitrin hacia el invitado DOS. +El formato es: + puerto1 puerto2 puerto3 ... (por ejemplo, 21 80 443) + Esto desviar FTP, HTTP, y HTTPS hacia el invitado DOS. +Si los puertos son privilegiados en el anfitrin, puede utilizar un mapeo + anfitrin:invitado ..., (por ejemplo, 8021:21 8080:80) + Esto desviar puertos 8021 y 8080 a FTP y HTTP en el invitado +Un rango de puertos adyacentes puede ser abreviado con un guin: + inicio-fin ... (por ejemplo, 27910-27960) + Esto desviar puertos 27910 a 27960 hacia el invitado DOS. +Mapeos y rangos pueden ser combinados, tambin: + ainicio-afin:iinicio-ifin ..., (por ejemplo, 8040-8080:20-60) + Esto desviar puertos 8040 a 8080 hacia 20 a 60 en el invitado +Notas: + - Si rangos mapeados difieren, el rango mas corto se extiende para ajustarse. + - Si puertos conflictivos del anfitrin son dados, slo el primero es configurado. + - Si puertos conflictivos del invitado son dados, la ltima regla tiene prioridad. +. +:CONFIG_UDP_PORT_FORWARDS +Desva uno o ms puertos UDP desde el anfitrin hacia el invitado DOS. +El formato es el mismo que para los desvos de puerto TCP. +. :AUTOEXEC_CONFIGFILE_HELP Lneas en esta seccin se ejecutarn al inicio. Puedes colocar tus lneas MOUNT aqu. @@ -409,7 +576,7 @@ Herramienta de configuracin: -writeconf o -wc escribe al archivo de configuracin primario cargado. -writeconf o -wc [nombre de archivo] escribe archivo al directorio de configuracin. -Use -writelang o -wl [nombre de archivo] para escribir las cadenas de idioma actuales. +Use -writelang o -wl [nombre de archivo] para escribir la cadena de idioma actual. -r [parmetros] Reinicie DOSBox, ya sea utilizando los parmetros anteriores o cualquiera que se agregue. -wcp [nombre de archivo] @@ -418,7 +585,7 @@ -wcd Escribe al archivo de configuracin por defecto en el directorio de configuracin. -l lista los parmetros de configuracin. --h, -help, -? sections / nombre de seccin / nombre de propiedad +-h, -help, -? secciones / nombre de seccin / nombre de propiedad Sin parmetros, muestra esta pantalla de ayuda. Agrega "sections" para una lista de secciones. Para obtener informacin sobre una seccin o propiedad especfica agregue su nombre detrs. -axclear limpia la seccin autoexec. @@ -433,7 +600,7 @@ . :PROGRAM_CONFIG_HLP_PROPHLP -Propsito de la propiedad "%s" (contenido en la seccin "%s"): +Propsito de la propiedad "%s" (contenida en la seccin "%s"): %s Valores posibles: %s @@ -506,6 +673,18 @@ Falta un parmetro. . +:PROGRAM_PATH_TOO_LONG +La ruta "%s" excede la longitud mxima DOS de %d caracteres + +. +:PROGRAM_EXECUTABLE_MISSING +Archivo ejecutable no encontrado: %s + +. +:PROGRAM_IMGMOUNT_IDE_CONTROLLERS_UNAVAILABLE +No hay controladores IDE disponibles. La unidad no tendr emulacin IDE. + +. :PROGRAM_MOUNT_CDROMS_FOUND CDROMs encontrados: %d @@ -598,6 +777,23 @@ No se puede mover la unidad Z. La unidad %c ya est montada. . +:SHELL_CMD_MEM_HELP_LONG +Muestra la informacin de memoria DOS. + +Uso: + mem + +Dnde: + Este comando no tiene parmetros. + +Notas: + Este comando muestra el estado de memoria DOS, incluyendo la memoria convencional + libre, memoria UMB (superior), memoria XMS (extendida), y memoria EMS (expandida). + +Ejemplos: + mem + +. :PROGRAM_MEM_CONVEN %10d kB de memoria convencional libre @@ -614,6 +810,28 @@ %10d kB de memoria superior libre en %d bloques (UMB ms grande %d kB) . +:SHELL_CMD_LOADFIX_HELP_LONG +Carga un programa en la regin de memoria especfica y luego lo ejecuta. + +Uso: + loadfix JUEGO [PARMETROS] + loadfix [/d] (o [/f]) + +Dnde: + JUEGO es un juego o programa a ser cargado, opcionalmente con parmetros. + +Notas: + Los casos ms comunes de uso de este comando son para arreglar juegos o programas DOS + que muestran el "Archivo Empaquetado Corrupto" o "No hay suficiente memoria" (por ejemplo, + juegos de 1980 como California Games II) mensaje de error cuando se ejecutan. + Ejecutar loadfix sin un argumento simplemente asigna memoria para que su juego + se ejecute; puedes liberar la memoria con la opcin /d o /f cuando finalice. + +Ejemplos: + loadfix mijuego args + loadfix /d + +. :PROGRAM_LOADFIX_ALLOC %d kB asignados. @@ -630,6 +848,54 @@ Error de asignacin de memoria. . +:SHELL_CMD_AUTOTYPE_HELP_LONG +Realiza entrada de teclado con scripts en un juego DOS en ejecucin. + +Uso: + autotype -list + autotype [-w ESPERA] [-p ESPACIO] BOTONES + +Dnde: + ESPERA es el nmero de segundos a esperar antes de empezar a escribir (mximo 30). + ESPACIO es el nmero de segundos antes de cada pulsacin (mximo 10). + BOTONES es uno o ms botones separados por espacio. + +Notas: + Los BOTONES suministrados en el comando sern autotipeados en los juegos DOS en ejecucin + despus de iniciar. El autotipeado inicia despus de ESPERA segundos, y cada botn es + introducido cada ESPACIO segundos. El , carcter inserta un retraso ESPACIO extra. + ESPERA y ESPACIO son por defecto 2 y 0.5 segundos respectivamente si no se especifican. + Se puede obtener una lista de todos los nombres de botones disponibles usando la opcin -list. + +Ejemplos: + autotype -list + autotype -w 1 -p 0.3 arriba intro , derecha intro + autotype -p 0.2 f1 kp_8 , , intro + autotype -w 1.3 esc intro , j u g a d o r intro + +. +:SHELL_CMD_MIXER_HELP_LONG +Muestra o cambia los volmenes del mezclador de sonido actual. + +Uso: + mixer CANAL VOLUMEN [/noshow] + mixer [/listmidi] + +Dnde: + CANAL es el canal de sonido que deseas cambiar el volumen. + VOLUMEN es un entero entre 0 y 100 que representa el volumen. + +Notas: + Ejecutar mixer sin un argumento muestra los volmenes de todos los canales de sonido. + Puedes ver los dispositivos MIDI disponibles y las opciones de usuario con la opcin /listmidi. + Puedes cambiar los volmenes de ms de un canal de sonido en un solo comando. + La opcin /noshow hace que el mezclador no muestre los volmenes al realizar un cambio. + +Ejemplos: + mixer + mixer maestro 50 grabar 60 /noshow + mixer /listmidi +. :MSCDEX_SUCCESS MSCDEX instalado. @@ -670,8 +936,28 @@ MSCDEX: Advertencia: Ignorando opcin no soportada '%s'. . +:SHELL_CMD_RESCAN_HELP_LONG +Escanea por cambios en unidades DOS montadas. + +Uso: + rescan UNIDAD + rescan [/a] + +Dnde: + UNIDAD es la unidad a escanear por cambios. + +Notas: + - Ejecutar rescan sin un argumento escanea por cambios la unidad actual. + - Cambios a esta unidad hechos en el anfitrin sern reflejados dentro del DOS. + - Tambin puedes escanear por cambios en todas las unidades montadas con la opcin /a. + +Ejemplos: + rescan c: + rescan /a + +. :PROGRAM_RESCAN_SUCCESS -Cach de la unidad limpiada. +Unidad re-escaneada. . :PROGRAM_INTRO @@ -717,7 +1003,7 @@ Puedes ejecutar programas/archivos con extensiones .exe .bat y .com. . -:PROGRAM_INTRO_CDROM +:PROGRAM_INTRO_CDROM_WINDOWS Cmo montar una unidad virtual de CD-ROM en DOSBox: DOSBox proporciona emulacin de CD-ROM en varios niveles. @@ -734,6 +1020,28 @@ imgmount D C:\cd.iso -t cdrom +imgmount D C:\cd.cue -t cdrom + +. +:PROGRAM_INTRO_CDROM_OTHER +Cmo montar una unidad virtual de CD-ROM en DOSBox: +DOSBox proporciona emulacin de CD-ROM en varios niveles. + +Esto funciona en todos los directorios normales, instala MSCDEX y marca los archivos +de solo lectura. Normalmente esto es suficiente para la mayora de juegos: + +mount D ~/ejemplo -t cdrom + +Si no funciona es posible que tengas que decirle a DOSBox la etiqueta del CD-ROM: + +mount D ~/ejemplo -t cdrom -label ETIQUETACD + +Adems, puedes usar imgmount para montar imgenes iso o cue/bin: + +imgmount D ~/cd.iso -t cdrom + +imgmount D ~/cd.cue -t cdrom + . :PROGRAM_INTRO_SPECIAL Teclas especiales: @@ -743,7 +1051,7 @@ %s+Enter Cambia entre pantalla completa y modo ventana. %s+Pausa Pausa/Despausa el emulador. %s+F1 %s Inicia el mapeador de teclas. -%s+F4 %s Cambia imagen de disco montada, actualiza la cach de directorio para todas las unidades. +%s+F4 %s Cambia imagen de disco montada, escanea por cambios en todas las unidades. %s+F5 %s Guarda una captura de pantalla. %s+F6 %s Inicia/Detiene grabacin de salida de sonido a un archivo wav. %s+F7 %s Inicia/Detiene grabacin de salida de video a un archivo zmbv. @@ -754,6 +1062,27 @@ %s+F12 Desbloquea velocidad (botn turbo/avance rpido). . +:SHELL_CMD_BOOT_HELP_LONG +Arranca DOSBox Staging desde una unidad DOS o una imagen de disco. + +Uso: + boot UNIDAD + boot ARCHIVOIMAGEN + +Dnde: + UNIDAD es una unidad desde la que arrancar, debe ser A:, C:, o D:. + ARCHIVOIMAGEN es una o ms imgenes de disquete, separadas por espacios. + +Notas: + Una letra de unidad DOS debe haber sido montada previamente con el comando imgmount . + La unidad DOS o la imagen de disco debe ser arrancable, y contener archivos de sistema DOS. + Si ms de una imagen de disco es especificada, puedes cambiarla con una tecla de acceso rpido. + +Ejemplos: + boot c: + boot disco1.ima disco2.ima + +. :PROGRAM_BOOT_NOT_EXIST El archivo bootdisk no existe. Error. @@ -776,9 +1105,7 @@ disco duro (C o D), la imagen ya debera haber sido montada utilizando el comando IMGMOUNT . -La sintaxis de este comando es: - -BOOT [imagendedisco1.img imagendedisco2.img] [-l letradeunidad] +Escriba BOOT /? para la sintaxis de este comando. . :PROGRAM_BOOT_UNABLE @@ -804,6 +1131,23 @@ :PROGRAM_BOOT_CART_NO_CMDS No se han encontrado comandos del cartucho PCjr . +:SHELL_CMD_LOADROM_HELP_LONG +Carga una imagen ROM de la BIOS de vdeo o del IBM BASIC. + +Uso: + loadrom ARCHIVOIMAGEN + +Dnde: + ARCHIVOIMAGEN es una imagen ROM de la BIOS de vdeo o del IBM BASIC. + +Notas: + Despus de cargar una imagen ROM del IBM BASIC en la ROM emulada con el comando, + puedes ejecutar el programa intrprete original del IBM BASIC en DOSBox Staging. + +Ejemplos: + loadrom bios.rom + +. :PROGRAM_LOADROM_SPECIFY_FILE Debes especificar el archivo ROM a cargar. @@ -836,26 +1180,25 @@ Monta un CD-ROM, disquete, o imagen de disco a una letra de unidad. Uso: - imgmount UNIDAD CDROM-SET [CDROM-SET2 [..]] [-fs iso] -t cdrom|iso + imgmount UNIDAD CDROM-SET [-fs iso] [-ide] -t cdrom|iso imgmount UNIDAD ARCHIVOIMAGEN [ARCHIVOIMAGEN2 [..]] [-fs fat] -t hdd|floppy - imgmount UNIDAD IMAGENBOOT [-fs fat|none] -t hdd -size GEOM + imgmount UNIDAD IMAGENBOOT [-fs fat|none] -t hdd -size GEOMETRA imgmount -u UNIDAD (desmonta la imagen de la unidad) Dnde: UNIDAD es la letra de la unidad donde la imagen ser montada: a, c, d, ... CDROM-SET es un ISO, CUE+BIN, CUE+ISO, o CUE+ISO+FLAC/OPUS/OGG/MP3/WAV - ARCHIVOIMAGEN un disco duro o una imagen de disquete en formato FAT16/FAT12 - IMAGENBOOT es una imagen de disco de arranque con especificado -size GEOM: + ARCHIVOIMAGEN es un disco duro o una imagen de disquete en formato FAT16 o FAT12 + IMAGENBOOT es una imagen de disco de arranque con -size GEOMETRA especificada: bytes-por-sector,sectores-por-cabeza,cabezas,cilindros Notas: - - %s+F4 intercambia & monta el siguiente CDROM-SET o ARCHIVOIMAGEN, si se - proporciona. - + - %s+F4 intercambia y monta el siguiente CDROM-SET o ARCHIVOIMAGEN, si se proporciona. + - El indicador '-ide' emula un controlador IDE con una unidad de CD-ROM ATAPI conectada, + Esto es til para juegos basados en CDROM que necesitan un entorno DOS real a travs de una imagen de arranque HDD. Ejemplos: imgmount D /Usuarios/NombredeUsuario/juegos/doom.iso -t cdrom imgmount D cd/quake1.cue -t cdrom imgmount A disquete1.img disquete2.img disquete3.img -t floppy - imgmount C ~/dos/unidad_c.img -t hdd imgmount C arranque.img -t hdd -fs none -size 512,63,32,1023 . @@ -872,7 +1215,7 @@ Dnde: UNIDAD es la letra de la unidad donde el directorio ser montado: A, C, D, ... - DIRECTORIO es el directorio sobre el SO anfitrin a ser montado + DIRECTORIO es el directorio del SO anfitrin a ser montado TIPO es el tipo del directorio a montar: dir, floppy, cdrom, o overlay TAMAO es el espacio libre para la unidad virtual (KiB para disquetes, MiB en caso contrario) ETIQUETA es el nombre de la etiqueta de la unidad a ser usada @@ -961,14 +1304,31 @@ Pgina de cdigo %i ha sido cargada para distribucin %s . -:PROGRAM_KEYB_SHOWHELP -KEYB [ID de distribucin de teclado[ numero de pgina de cdigo[ archivo de pgina de cdigo]]] +:PROGRAM_KEYB_HELP_LONG +Configura un teclado para un idioma especfico. -Algunos ejemplos: - KEYB: Muestra la pgina de cdigo cargada actualmente. - KEYB sp: Carga la distribucin espaol (ES), usa una pgina de cdigo apropiada. - KEYB sp 850: Carga la distribucin espaol (ES), usa pgina de cdigo 850. - KEYB sp 850 mycp.cpi: Igual que el anterior, pero utilizando el archivo mycp.cpi. +Uso: + keyb [CODIDIOMA] + keyb CODIDIOMA PGINACDIGO [ARCHIVOPAGINACDIGO] + +Dnde: + CODIDIOMA es un cdigo de idioma o ID de distribucin de teclado. + PGINACDIGO es un nmero de pgina de cdigo, como 437 y 850. + ARCHIVOPGINACDIGO es un archivo que contiene informacin de una pgina de cdigo. + +Notas: + Ejecutar keyb sin un argumento muestra la distribucin de teclado cargada actualmente + y la pgina de cdigo. Este cambiar a CODIDIOMA si se proporciona, opcionalmente con una + PGINACDIGO y un adicional ARCHIVOPGINACDIGO para cargar el nmero de pgina de cdigo + especificado y archivo de pgina de cdigo si es proporcionado. Este comando es especialmente til si + usas un teclado no estadounidense, y CODIDIOMA tambin puede establecerse en el archivo de + configuracin bajo la seccin [dos] usando el ajuste "keyboardlayout = CODIDIOMA" . + +Ejemplos: + KEYB + KEYB uk + KEYB sp 850 + KEYB de 858 mipc.cpi . :PROGRAM_KEYB_NOERROR @@ -993,6 +1353,75 @@ . +:PROGRAM_SERIAL_HELP +Administra los puertos serie. + +Modos de uso: + SERIAL /L | /LIST Lista los puertos serie actuales. + SERIAL PUERTO# TIPO [ajustes] Establece el puerto al TIPO dado. + +Dnde: + PUERTO# : 1, 2, 3, o 4 + TIPO : MODEM, NULLMODEM, DIRECTSERIAL, DUMMY, o DISABLED + +Ajustes opcionales para cada TIPO: + Para MODEM : IRQ, LISTENPORT, SOCK + Para NULLMODEM : IRQ, SERVER, RXDELAY, TXDELAY, TELNET, + USEDTR, TRANSPARENT, PORT, INHSOCKET, SOCK + Para DIRECTSERIAL : IRQ, REALPORT (requerido), RXDELAY + Para DUMMY : IRQ + +Ejemplos usando puerto 1, o COM1 en DOS: + SERIAL /list : Lista los puertos serie actuales + SERIAL 1 NULLMODEM PORT:1250 : Escucha en TCP:1250 como servidor + SERIAL 1 NULLMODEM SERVER:10.0.0.6 PORT:1250 : Se conecta a TCP:1250 como cliente + SERIAL 1 MODEM LISTENPORT:5000 SOCK:1 : Escucha en UDP:5000 como servidor + SERIAL 1 DIRECTSERIAL REALPORT:ttyUSB0 : Usa un puerto fsico en Linux + +. +:PROGRAM_SERIAL_SHOW_PORT +COM%d: %s %s + +. +:PROGRAM_SERIAL_BAD_PORT +Debes especificar un valor de puerto numrico entre 1 y %d, incluido. + +. +:PROGRAM_SERIAL_BAD_MODE +El modo debe ser uno de los siguientes: + +. +:PROGRAM_SERIAL_INDENTED_LIST + %s + +. +:PROGRAM_PLACEHOLDER_SHORT_HELP +Este programa es un marcador de posicin +. +:PROGRAM_PLACEHOLDER_LONG_HELP +%s es slo un marcador de posicin. + +Instale un tercero y de prioridad a su PATH. + +Por ejemplo: +. +:UTILITY_DRIVE_EXAMPLE_NO_TRANSLATE + + [autoexec] + mount u ~/dos/utilidades + set PATH=u:\;%PATH% + + +. +:VISIT_FOR_MORE_HELP +Visite lo siguiente para ms ayuda: +. +:WIKI_ADD_UTILITIES_ARTICLE +https://github.com/dosbox-staging/dosbox-staging/wiki/Add-Utilities +. +:WIKI_URL +https://github.com/dosbox-staging/dosbox-staging/wiki +. :SHELL_ILLEGAL_PATH Ruta no vlida. @@ -1002,6 +1431,28 @@ Una breve lista de los comandos mas utilizados: . +:SHELL_CMD_COMMAND_HELP_LONG +Inicia el shell de comandos de DOSBox Staging. +Uso: + command + command /c (o /init) COMANDO + +Dnde: + COMANDO es un comando DOS, juego, o programa a ejecutar. + +Notas: + DOSBox Staging inicia automticamente un shell de comando DOS al invocar este + comando con la opcin /init cuando se inicia, que muestra el banner de bienvenida. + Puedes cargar una nueva instancia del shell de comandos ejecutando command. + Aadiendo la opcin /c junto con COMMAND permite que este comando ejecute el + comando especificado (opcionalmente con parmetros) y luego sale automticamente. + +Ejemplos: + command + command /c echo Hola mundo! + command /init dir + +. :SHELL_CMD_ECHO_ON ECHO est encendido. @@ -1057,25 +1508,58 @@ M/D/A . :SHELL_CMD_DATE_HELP_LONG -DATE [[/T] [/H] [/S] | MM-DD-AAAA] - MM-DD-AAAA: nueva fecha a establecer - /S: Usa permanentemente la hora y fecha del anfitrin como tiempo del DOS - /F: Vuelve a la hora interna de DOSBox (lo opuesto de /S) - /T: Muestra slo la fecha - /H: Sincroniza con el anfitrin +Uso: + date [/t] + date /h + date FECHA + +Dnde: + FECHA es la nueva fecha a establecer, en el formato de MM-DD-AAAA. + +Notas: + Ejecutar date sin un argumento muestra la fecha actual, o slo una fecha + con la opcin /t. Puedes forzar la sincronizacin de la fecha con el sistema + anfitrin con la opcin /h, o manualmente especificar una nueva fecha a establecer. + +Ejemplos: + date + date /h + date 10-11-2012 . :SHELL_CMD_TIME_HELP -Muestra la hora interna. +Muestra o cambia la hora interna. + +. +:SHELL_CMD_TIME_ERROR +La hora especificada no es correcta. . :SHELL_CMD_TIME_NOW Hora actual: . +:SHELL_CMD_TIME_SETHLP +Escriba 'time hh:mm:ss' para cambiar la hora. + +. :SHELL_CMD_TIME_HELP_LONG -TIME [/T] [/H] - /T: Muestra slo la hora - /H: Sincroniza con el anfitrin +Uso: + time [/t] + time /h + time HORA + +Dnde: + HORA es la nueva hora a establecer, en el formato de hh:mm:ss. + +Notas: + Ejecutar time sin un argumento muestra la hora actual, o una hora simple + con la opcin /t. Puedes forzar la sincronizacin de la hora con el sistema + anfitrin con la opcin /h, o manualmente especificar una nueva hora a establecer. + +Ejemplos: + time + time /h + time 13:14:15 . :SHELL_CMD_MKDIR_ERROR @@ -1162,6 +1646,22 @@ Esperando 1 pulsacin de tecla para continuar. . +:SHELL_CMD_PAUSE_HELP_LONG +Uso: + pause + +Dnde: + Este comando no tiene parmetros. + +Notas: + Este comando es especialmente til en programas por lotes para permitir al usuario continuar + la ejecucin del programa por lotes con slo presionar una tecla. El usuario puede presionar + cualquier tecla del teclado (excepto algunas teclas de control) para continuar. + +Ejemplos: + pause + +. :SHELL_CMD_COPY_FAILURE Error de copia : %s. @@ -1194,7 +1694,7 @@ :SHELL_STARTUP_CGA DOSBox soporta el modo CGA compuesto. Use F12 para establecer salida compuesta ON, OFF, o AUTO (por defecto). - (%s+)F11 cambia tono; %s+%s+F11 selecciona modelo CGA inicial/final.%s + F10 selecciona la configuracin CGA a cambiar y (%s+)F11 la cambia. . @@ -1240,7 +1740,22 @@ . :SHELL_CMD_CLS_HELP -Limpia la pantalla. +Limpia la pantalla DOS. + +. +:SHELL_CMD_CLS_HELP_LONG +Uso: + cls + +Dnde: + Este comando no tiene parmetros. + +Notas: + Al ejecutar cls se borra todos los textos de la pantalla DOS, excepto el prompt de + comandos (por ejemplo Z:\> o C:\JUEGOS>) en la esquina superior-izquierda de la pantalla. + +Ejemplos: + cls . :SHELL_CMD_DIR_HELP @@ -1248,31 +1763,118 @@ . :SHELL_CMD_DIR_HELP_LONG -DIR [unidad:][ruta][nombre de archivo] [/[W|B]] [/P] [/[AD]|[A-D]] [/O[-][N|E|S|D]] +Uso: + dir [PATRN] [/w] [/b] [/p] [ad] [a-d] [/oORDEN] + +Dnde: + PATRN es un nombre de archivo exacto o un nombre de archivo inexacto con comodines, + que son el asterisco (*) y el signo de interrogacin (?). Una ruta puede ser + especificada en el patrn para listar el contenido en el directorio especificado. + ORDEN es un orden de listado, que incluye n (por nombre, alfabtico), s (por tamao, + el ms pequeo primero), e (por extensin, alfabtico), d (por fecha/hora, + el ms antiguo primero), con un prefijo opcional - para invertir el orden. + /w lista 5 archivos/directorios en una fila; /b lista slo los nombres. + /oORDEN ordena la lista (ver arriba) /p pausa despus de cada pantalla. + /ad lista todos los directorios; /a-d lista todos los archivos. - [unidad:][ruta][nombre de archivo] - Especifica unidad, directorio, y/o archivos a listar. - /W Usa formato de lista ancha. - /B Usa formato simple (sin informacin de encabezado o resumen). - /P Pausa despus de cada pantalla llena de informacin. - /AD Muestra todos los directorios. - /A-D Muestra todos los archivos. - /O Lista archivos en orden segn clasificacin. - - Prefijo para invertir el orden - clasificacin N Por nombre (alfabtico) S Por tamao (el ms pequeo primero) - E Por extensin (alfabtica) D Por fecha & hora (la ms antigua primero) +Notas: + Ejecutar dir sin un argumento lista todos los archivos y subdirectorios en el + directorio actual, que es lo mismo que dir *.*. + +Ejemplos: + dir  + dir juegos.* /p + dir c:\juegos\*.exe /b /o-d . :SHELL_CMD_ECHO_HELP Muestra mensajes y habilita/deshabilita comando echo. . +:SHELL_CMD_ECHO_HELP_LONG +Uso: + echo [on|off] + echo [MENSAJE] + +Dnde: + on|off Activa/desactiva comando echo. + MENSAJE El mensaje a mostrar. + +Notas: + - Ejecutar echo sin un argumento muestra el estado actual de encendido o apagado. + - Echo es especialmente til cuando se escriben o depuran archivos por lotes. + +Ejemplos: + echo off + echo Hola mundo! + +. :SHELL_CMD_EXIT_HELP -Sale de la interfaz. +Sale de la interfaz DOS. + +. +:SHELL_CMD_EXIT_HELP_LONG +Uso: + exit + +Dnde: + Este comando no tiene parmetros. + +Notas: + Si se inicia una interfaz DOS desde un programa, al ejecutar exit se regresa al programa. + Si no hay ningn programa DOS en ejecucin, el comando sale de DOSBox Staging. + +Ejemplos: + exit + +. +:SHELL_CMD_EXIT_TOO_SOON +Previene que una llamada temprana 'exit' termine. . :SHELL_CMD_HELP_HELP -Muestra ayuda. +Muestra informacin de ayuda para comandos DOS. + +. +:SHELL_CMD_HELP_HELP_LONG +Uso: + help + help /a[ll] + help COMANDO + +Dnde: + COMANDO es el nombre de un comando interno DOS, como dir. + +Notas: + - Ejecutar help sin un argumento muestra una lista de comandos DOS. + - Puedes ver una lista completa de comandos internos con la opcin /a o /all. + - En lugar de help COMANDO, tambin puedes obtener ayuda de comandos con COMANDO /?. + +Ejemplos: + help dir + help /all + +. +:SHELL_CMD_INTRO_HELP +Muestra una introduccin en pantalla completa a DOSBox Staging. + +. +:SHELL_CMD_INTRO_HELP_LONG +Uso: + intro + intro PGINA + +Dnde: + PGINA es el nombre de pgina a mostrar, que incluye cdrom, mount, y special. + +Notas: + Ejecutar intro sin un argumento muestra una pgina de informacin a la vez; + pulsa cualquier tecla para pasar a la pgina siguiente. Si un nombre de pgina es proporcionado, + se mostrar directamente la pgina especificada. + +Ejemplos: + intro + intro cdrom . :SHELL_CMD_MKDIR_HELP @@ -1280,8 +1882,20 @@ . :SHELL_CMD_MKDIR_HELP_LONG -MKDIR [unidad:][ruta] -MD [unidad:][ruta] +Uso: + md DIRECTORIO + mkdir DIRECTORIO + +Dnde: + DIRECTORIO es el nombre del directorio a crear. + +Notas: + - El directorio debe ser un nombre exacto y an no debe de existir. + - Puedes especificar una ruta donde el directorio ser creado. + +Ejemplos: + md nuevodir + md c:\juegos\dir . :SHELL_CMD_RMDIR_HELP @@ -1289,24 +1903,106 @@ . :SHELL_CMD_RMDIR_HELP_LONG -RMDIR [unidad:][ruta] -RD [unidad:][ruta] +Uso: + rd DIRECTORIO + rmdir DIRECTORIO + +Dnde: + DIRECTORIO es el nombre del directorio a eliminar. + +Notas: + El directorio debe estar vaco, sin archivos ni subdirectorios. + +Ejemplos: + rd dirvaco . :SHELL_CMD_SET_HELP -Cambia variables de entorno. +Muestra o cambia las variables de entorno. + +. +:SHELL_CMD_SET_HELP_LONG +Uso: + set + set VARIABLE=[CADENA] + +Dnde: + VARIABLE El nombre de la variable de entorno. + CADENA Una serie de caracteres para asignar a la variable. + +Notas: + - Asignar una cadena vaca a la variable elimina la variable. + - El comando sin un parmetro muestra las variables de entorno actuales. + +Ejemplos: + set + set nombre=valor . :SHELL_CMD_IF_HELP Realiza procesamiento condicional en programas por lotes. . +:SHELL_CMD_IF_HELP_LONG +Uso: + if [not] errorlevel NMERO COMANDO + if [not] CAD1==CAD2 COMANDO + if [not] exist ARCHIVO COMANDO + +Dnde: + NMERO es un entero positivo menor o igual al valor deseado. + CAD1==CAD2 compara dos cadenas de texto (distingue entre maysculas y minsculas). + ARCHIVO es un nombre de archivo exacto a comprobar su existencia. + COMANDO es un comando o programa DOS a ejecutar, opcionalmente con parmetros. + +Notas: + El COMANDO se ejecuta si se cumple alguna de las tres condiciones de uso. + Si not es especificado, el comando se ejecuta slo con la condicin false. + La condicin errorlevel es til para comprobar si un programa se ejecuta correctamente. + Si CAD1 o CAD2 estn vacos, puedes encerrarlos entre comillas ("). + +Ejemplos: + if errorlevel 2 dir + if "%%mivar%%"=="micadena" echo Hola mundo! + if not exist archivo.txt exit + +. :SHELL_CMD_GOTO_HELP -Salta a una lnea etiquetada en un script por lotes. +Salta a una lnea etiquetada en un programa por lotes. + +. +:SHELL_CMD_GOTO_HELP_LONG +Uso: + goto ETIQUETA + +Dnde: + ETIQUETA es una cadena de texto usada en el programa por lotes como una etiqueta. + +Notas: + Una etiqueta est en una lnea por s misma, iniciando con dos puntos (:). + La etiqueta debe ser nica, y puede estar en cualquier lugar del programa por lotes. + +Ejemplos: + goto mietiqueta . :SHELL_CMD_SHIFT_HELP -Parmetros de lnea de comandos Left Shift en un script por lotes. +Parmetros de lnea de comandos Left Shift en un programa por lotes. + +. +:SHELL_CMD_SHIFT_HELP_LONG +Uso: + shift + +Dnde: + Este comando no tiene parmetros. + +Notas: + Este comando permite que un programa por lotes DOS acepte ms de 9 parmetros. + Ejecutar shift cambia la variable del programa por lotes de %%1 a %%0, de %%2 a %%1, etc. + +Ejemplos: + shift . :SHELL_CMD_TYPE_HELP @@ -1314,15 +2010,38 @@ . :SHELL_CMD_TYPE_HELP_LONG -TYPE [unidad:][ruta][nombre de archivo] +Uso: + type ARCHIVO + +Dnde: + ARCHIVO es el nombre del archivo a mostrar. + +Notas: + El archivo debe ser un nombre de archivo exacto, opcionalmente con una ruta. + Este comando es slo para ver archivos de texto, no archivos binarios. + +Ejemplos: + type texto.txt + type c:\dos\lame.txt . :SHELL_CMD_REM_HELP -Agrega comentarios en un archivo por lotes. +Agrega comentarios en un programa por lotes. . :SHELL_CMD_REM_HELP_LONG -REM [comentario] +Uso: + rem COMENTARIO + +Dnde: + COMENTARIO es cualquier comentario que quieras aadir. + +Notas: + Agregar comentarios a un programa por lotes puede hacerlo fcil de entender. + Tambin puedes comentar temporalmente algunos comandos con este comando. + +Ejemplos: + rem Este es mi programa por lotes de prueba. . :SHELL_CMD_NO_WILD @@ -1334,38 +2053,158 @@ . :SHELL_CMD_RENAME_HELP_LONG -RENAME [unidad:][ruta]nombredearchivo1 nombredearchivo2. -REN [unidad:][ruta]nombredearchivo1 nombredearchivo2. +Uso: + ren FUENTE DESTINO + rename FUENTE DESTINO -Note que no se puede especificar una nueva unidad o ruta para el archivo destino. +Dnde: + FUENTE es el nombre del archivo a renombrar. + DESTINO es el nuevo nombre para el archivo renombrado. + +Notas: + - El archivo fuente debe ser un nombre de archivo exacto, opcionalmente con una ruta. + - El archivo destino debe ser un nombre archivo exacto sin una ruta. + +Ejemplos: + ren nombreantiguo nombrenuevo + ren c:\dos\archivo.txt a.txt . :SHELL_CMD_DELETE_HELP Elimina uno o ms archivos. . +:SHELL_CMD_DELETE_HELP_LONG +Uso: + del PATRN + erase PATRN + +Dnde: + PATRN puede ser un nombre de archivo exacto (como archivo.txt) o un nombre + de archivo inexacto usando uno o ms comodines, que son el asterisco (*) + que representa cualquier secuencia de uno o ms caracteres, y el signo + de interrogacin (?) que representa cualquier carcter nico, como *.bat y c?.txt. + +Advertencia: + Tenga cuidado cuando use un patrn con comodines, especialmente *.*, ya que todos los archivos + que coincidan con el patrn podran ser borrados. + +Ejemplos: + del prueba.bat + del c*.* + del a?b.c* + +. :SHELL_CMD_COPY_HELP -Copia archivos. +Copia uno o ms archivos. + +. +:SHELL_CMD_COPY_HELP_LONG +Uso: + copy FUENTE [DESTINO] + copy FUENTE1+FUENTE2[+...] [DESTINO] + +Dnde: + FUENTE Puede ser un nombre de archivo exacto o un nombre de archivo inexacto con + comodines, que son el asterisco (*) y el signo de interrogacin (?). + DESTINO Un nombre de archivo exacto o directorio, que no contenga comodines. + +Notas: + El operador + combina mltiples archivos fuente proporcionados en un solo archivo. + DESTINO es opcional: si se omite, los archivos son copiados a la ruta actual. + +Ejemplos: + copy fuente.bat nuevo.bat + copy archivo1.txt+archivo2.txt archivo3.txt + copy ..\c*.* . :SHELL_CMD_CALL_HELP -Inicia un archivo por lotes desde otro archivo por lotes. +Inicia un programa por lotes desde otro programa por lotes. + +. +:SHELL_CMD_CALL_HELP_LONG +Uso: + call BATCH [PARMETROS] + +Dnde: + BATCH es un programa por lotes a lanzar. + PARMETROS son parmetros opcionales para el programa por lotes. + +Notas: + Despus de llamar a otro programa por lotes, el programa por lotes original + se reanudar despues de que el otro programa por lotes termine. + +Ejemplos: + call mibatch.bat + call archivo.bat Hola mundo! . :SHELL_CMD_SUBST_HELP Asigna un directorio interno a una unidad. . +:SHELL_CMD_SUBST_HELP_LONG +Uso: + subst UNIDAD RUTA + subst UNIDAD /d + +Dnde: + UNIDAD es una unidad a la que se quiere asignar una ruta. + RUTA es una ruta DOS montada que se desea asignar. + +Notas: + La ruta debe estar en una unidad montada por el comando mount . + Puedes remover una unidad asignada con la opcin /d. + +Ejemplos: + subst d: c:\juegos + subst e: /d + +. :SHELL_CMD_LOADHIGH_HELP -Carga un programa en la memoria superior (requiere xms=true,umb=true). +Carga un programa DOS en la memoria superior. + +. +:SHELL_CMD_LOADHIGH_HELP_LONG +Uso: + lh PROGRAMA [PARMETROS] + loadhigh PROGRAMA [PARMETROS] + +Dnde: + PROGRAMA es un programa TSR DOS a cargar, opcionalmente con parmetros. + +Notas: + Este comando pretende ahorrar la memoria convencional cargando programas TSR DOS + especificados en la memoria superior si es posible. Estos programas pueden ser necesarios para + algunos juegos DOS; las memorias XMS y UMB deben estar habilitadas (xms=true y umb=true). + No todos los programas TSR DOS pueden ser cargados en la memoria superior con este comando. + +Ejemplos: + lh progtsr args . :SHELL_CMD_LS_HELP -Lista el contenido del directorio. +Muestra el contenido del directorio en formato de lista amplia. . :SHELL_CMD_LS_HELP_LONG -ls [/?] [PATRN] +Uso: + ls PATRN + ls RUTA + +Dnde: + PATRN puede ser un nombre de archivo exacto o un nombre de archivo inexacto con + comodines, que son el asterisco (*) y el signo de interrogacin (?). + RUTA es una ruta exacta en una unidad DOS montada para listar contenido. + +Notas: + El comando puede listar directorios en azul, programas ejecutables DOS + (*.com, *.exe, *.bat) en verde, y otros archivos en color normal. + +Ejemplos: + ls archivo.txt + ls c*.ba? . :SHELL_CMD_LS_PATH_ERR @@ -1373,23 +2212,51 @@ . :SHELL_CMD_CHOICE_HELP -Espera a que se presione una tecla y establece un ERRORLEVEL. +Espera a que se presione una tecla y establece un valor ERRORLEVEL. . :SHELL_CMD_CHOICE_HELP_LONG -CHOICE [/C:opciones] [/N] [/S] texto - /C[:]opciones - Especifica teclas permitidas. Por defecto es: yn. - /N - No muestra las opciones al final del prompt. - /S - Habilita seleccin de opciones sensibles a maysculas y minsculas. - text - El texto a mostrar como un prompt. +Uso: + choice [TEXTO] + choice /c[:]OPCIONES [/n] [/s] [TEXTO] -. -:SHELL_CMD_ATTRIB_HELP -No hace nada. Provisto para compatibilidad. +Dnde: + TEXTO es el texto a mostrar como un aviso, o vaco. + /c[:]OPCIONES Especifica teclas permitidas, que por defecto son yn. + /n No muestra las opciones al final del aviso. + /s Permite seleccionar opciones que distinguen entre maysculas y minsculas. + +Notas: + Este comando establece un valor ERRORLEVEL empezando desde 1 de acuerdo a las + teclas permitidas especificadas en la opcin /c, y la entrada del usuario puede comprobarse + con el comando if . Con la opcin /n slo se mostrar el texto especificado, + pero no las opciones actuales (como la predeterminada [Y,N]?) en el final. + +Ejemplos: + choice Continuar? + choice /c:abc /s Escriba la letra a, b, o c . :SHELL_CMD_PATH_HELP -Provisto para compatibilidad. +Muestra o establece una ruta de bsqueda para archivos ejecutables. + +. +:SHELL_CMD_PATH_HELP_LONG +Uso: + path + path [[unidad:]ruta[;...] + +Dnde: + [[unidad:]ruta[;...] es una ruta que contiene una unidad y un directorio. + Ms de una ruta puede ser especificada, separada por un punto y coma (;). + +Notas: + El parmetro con un punto y coma (;) slo borra todos los ajustes de la ruta de bsqueda. + La ruta tambin puede establecerse usando el comando set , por ejemplo set path=Z:\ + +Ejemplos: + path + path Z:\;C:\DOS . :SHELL_CMD_VER_HELP @@ -1423,4 +2290,4 @@ :SHELL_CMD_VER_INVALID La versin DOS especificada no es correcta. -. +. \ No newline at end of file diff -Nru dosbox-staging-0.79.0~alpha~115~gc34a/contrib/translations/utf-8/es.txt dosbox-staging-0.79.0~alpha~140~ge4e3/contrib/translations/utf-8/es.txt --- dosbox-staging-0.79.0~alpha~115~gc34a/contrib/translations/utf-8/es.txt 2022-01-14 01:08:08.000000000 +0000 +++ dosbox-staging-0.79.0~alpha~140~ge4e3/contrib/translations/utf-8/es.txt 2022-01-21 00:57:12.000000000 +0000 @@ -1,5 +1,6 @@ :CONFIG_FULLSCREEN -Inicia DOSBox directamente en pantalla completa. +Inicia directamente en pantalla completa. +Ejecute INTRO y consulte Teclas Especiales para accesos rápidos de control de ventana. . :CONFIG_DISPLAY Número de pantalla a usar; valores dependen del SO y configuración del usuario. @@ -9,38 +10,36 @@ o un tamaño fijo (por ejemplo, 1024x768). . :CONFIG_WINDOWRESOLUTION -Establezca tamaño de ventana a utilizar cuando se ejecute en modo ventana: +Establezca tamaño de ventana cuando se ejecute en modo ventana: default: Selecciona la mejor opción basado en tu entorno y otras configuraciones. - original: Redimensiona la ventana a la resolución elegida por - el programa emulado. - resizable: Hace la ventana del emulador redimensionable. - Esta es una opción experimental, funciona sólo con - output=opengl y glshader=sharp (o none) - : Escala el contenido de la ventana a las dimensiones - indicadas, en formato LxA. Por ejemplo: 1024x768. + small, medium, o large (o s, m, l): + Dimensiona la ventana en relación al escritorio. + : Escala la ventana a las dimensiones dadas en + formato LxA. Por ejemplo: 1024x768. El escalado no se realiza para output=surface. . :CONFIG_WINDOW_POSITION -Set initial window position when running in windowed mode: - auto: Let the window manager decide the position. - : Set window position in X,Y format. For example: 250,100 - 0,0 is the top-left corner of the screen. +Establezca posición inicial de ventana cuando se ejecute en modo ventana: + auto: Deja que el administrador de ventana decida la posición. + : Establece posición de ventana en formato X,Y. Por ejemplo: 250,100 + 0,0 es la esquina superior-izquierda de la pantalla. . :CONFIG_WINDOW_DECORATIONS -Controls whether to display window decorations in windowed mode. +Controla si se muestran decoraciones de ventana en modo ventana. . :CONFIG_VSYNC -Configuración de sincronización vertical no implementada (ajuste ignorado) +Sincroniza con la frecuencia de refresco de la pantalla si es compatible. Esto puede +reducir el parpadeo y el tearing, pero también puede afectar al rendimiento. . :CONFIG_VSYNC_SKIP -Number of microseconds to allow rendering to block before skipping the next frame. 0 disables this and will always render. +Número de microsegundos para permitir el bloqueo del renderizado antes de omitir el siguiente fotograma. 0 deshabilita esto y siempre se renderizará. . :CONFIG_MAX_RESOLUTION -Optionally restricts the viewport resolution within the window/screen: - auto: The viewport fills the window/screen (default). - : Set max viewport resolution in WxH format. - For example: 960x720 +Opcionalmente restringe la resolución de la ventana gráfica dentro de la ventana/pantalla: + auto: La ventana gráfica rellena la ventana/pantalla (predeterminado). + : Establece resolución máxima de ventana gráfica en formato LxA. + Por ejemplo: 960x720 . :CONFIG_OUTPUT Qué sistema de vídeo utilizar para la salida. @@ -51,21 +50,14 @@ . :CONFIG_CAPTURE_MOUSE Elija un método de control del mouse: - onclick: El mouse se capturará despues del primer - clic dentro de la ventana. - onstart: El mouse es capturado inmediatamente al iniciar - (similar al DOS real). - seamless: El mouse puede moverse perfecto dentro y fuera - de la ventana de DOSBox y no puede ser capturado. - nomouse: El mouse esta deshabilitado y oculto sin que se - envíe ninguna entrada al juego. + onclick: Captura el mouse al hacer clic en cualquier botón de la ventana. + onstart: Captura el mouse inmediatamente al iniciar. + seamless: Deja que el mouse se mueva sin problemas; captura sólo con clic medio o tecla de acceso rápido. + nomouse: Oculta el mouse y no envía entrada al juego. Elija cómo se manejan los clics centrales (segundo parámetro): - middlegame: Los clics centrales son enviados al juego - middlerelease: Los clics centrales son usados para descapturar el mouse - (no se envía al juego). Sin embargo, los clics centrales - se enviarán al juego en pantalla completa o cuando - se establece el control seamless. -Defaults (si no está presente o erróneo): seamless middlerelease + middlegame: Los clics centrales son enviados al juego. + middlerelease: El clic central liberará el mouse capturado, y también capturará cuando no haya problemas. +Defaults (si no está presente o erróneo): Liberación central sin problemas . :CONFIG_SENSITIVITY Sensibilidad del mouse. El segundo parámetro opcional especifica la sensibilidad vertical (por ejemplo, 100,-50). @@ -80,7 +72,7 @@ . :CONFIG_PRIORITY Niveles de prioridad para DOSBox. La segunda entrada detrás de la coma es para cuando DOSBox no está enfocado/minimizado. -pausa sólo es válida para la segunda entrada. +pause sólo es válido para la segunda entrada. auto deshabilita niveles de prioridad y usa valores predeterminados del SO . :CONFIG_MAPPERFILE Archivo usado para cargar/guardar las asignaciones de teclas/eventos. @@ -92,7 +84,10 @@ mientras se ejecuta el emulador). . :CONFIG_LANGUAGE -Seleccione otro archivo de idioma. +Seleccione idioma a usar: de, en, es, fr, it, pl, y ru +Notes: Este ajuste anulará el entorno 'LANG', si se ha establecido. + El directorio 'translations' incluido con el ejecutable contiene esos archivos + de datos. Por favor manténgalo junto al ejecutable para admitir esta función. . :CONFIG_MACHINE El tipo de máquina que DOSBox intenta emular. @@ -107,20 +102,20 @@ Por lo general, no hay ninguna ventaja de velocidad al aumentar este valor. . :CONFIG_VMEMSIZE -Video memory in MiB (1-8) or KiB (256 to 8192). 'auto' uses the default per video adapter. +Memoria de vídeo en MiB (1-8) o KiB (256 a 8192). 'auto' usa el valor preterminado por adaptador de vídeo. . :CONFIG_VESA_MODES -Controls the selection of VESA 1.2 and 2.0 modes offered: - compatible A tailored selection that maximizes game compatibility. - This is recommended along with 4 or 8 MB of video memory. - all Offers all modes for a given video memory size, however - some games may not use them properly (flickering) or may need - more system memory (mem = ) to use them. +Controla la selección de los modos VESA 1.2 y 2.0 ofrecidos: + compatible Una selección a medida que maximiza la compatibilidad del juego. + Esto se recomienda junto con 4 u 8 MB de memoria de vídeo. + all Ofrece todos los modos para un tamaño de memoria de vídeo dado, sin embargo + algunos juegos pueden no usarlo correctamente (parpadeo) o pueden necesitar + más memoria de sistema (mem = ) para usarlos. . :CONFIG_AUTOEXEC_SECTION -How autoexec sections are handled from multiple config files. -join : combines them into one big section (legacy behavior). -overwrite : use the last one encountered, like other conf settings. +Cómo se manejan secciones autoexec desde múltiples archivos de configuración. +join : los combina en una gran sección (comportamiento heredado). +overwrite : usa el último encontrado, como otras configuraciones conf. . :CONFIG_STARTUP_VERBOSITY Controla la verbosidad antes de mostrar el programa: @@ -167,27 +162,27 @@ scan2x, scan3x, tv2x, tv3x, sharp (por defecto). . :CONFIG_COMPOSITE -Enable composite mode on start. 'auto' lets the program decide. -Note: Fine-tune the settings below (ie: hue) using the composite hotkeys. - Then read the new settings from your console and enter them here. +Habilita modo compuesto al iniciar. 'auto' deja que el programa decida. +Nota: Ajusta la configuración a continuación (por ejemplo: tono) usando las teclas de acceso rápido compuesto. + Luego lea la nueva configuración de su consola e introdúzcala aquí. . :CONFIG_ERA -Era of composite technology. When 'auto', PCjr uses new and CGA/Tandy use old. +Era de tecnología compuesta. Cuando es 'auto', PCjr usa la nueva y CGA/Tandy usa la antigua. . :CONFIG_HUE -Appearance of RGB palette. For example, adjust until sky is blue. +Apariencia de paleta RGB. Por ejemplo, ajuste hasta que el cielo sea azul. . :CONFIG_SATURATION -Intensity of colors, from washed out to vivid. +Intensidad de colores, desde lavado a vívido. . :CONFIG_CONTRAST -Ratio between the dark and light area. +Relación entre el área oscura y clara. . :CONFIG_BRIGHTNESS -Luminosity of the image, from dark to light. +Luminosidad de la imagen, desde oscura a clara. . :CONFIG_CONVERGENCE -Convergence of subpixel elements, from blurry to sharp (CGA and Tandy-only). +Convergencia de elementos subpixel, desde borroso a nítido (CGA y Tandy-sólo). . :CONFIG_CORE Núcleo de CPU utilizado en emulación. auto cambiará a dinámico si esta disponible y @@ -208,7 +203,8 @@ manejar. . :CONFIG_CYCLEUP -Número de ciclos para disminuir/incrementar con combinaciones de teclas. +Número de ciclos agregados o quitados con teclas de acceso rápido de control de velocidad. +Ejecute INTRO y consulte Teclas Especiales para lista de teclas de acceso rápido. . :CONFIG_CYCLEDOWN Establecerlo por debajo de 100 será un porcentaje. @@ -226,8 +222,8 @@ Cuántos milisegundos de datos para mantener encima del tamaño de bloque. . :CONFIG_NEGOTIATE -Allow system audio driver to negotiate optimal rate and blocksize -as close to the specified values as possible. +Permite que el controlador de audio del sistema negocie la tasa óptima y el tamaño de bloque +tan cerca de los valores especificados como sea posible. . :CONFIG_MIDIDEVICE Dispositivo que recibirá los datos MIDI (de la interfaz emulada @@ -252,7 +248,7 @@ el hardware puede requerir un retraso para evitar que se desborde su búfer. En ese caso, agregue 'delaysysex', por ejemplo: 'midiconfig=2 delaysysex'. -Consulte el README/Manual para mas detalles. +Consulte el README/Manual para más detalles. . :CONFIG_MPU401 Tipo de MPU-401 a emular. @@ -267,42 +263,43 @@ El porcentaje de escalado puede ir de 1 a 500. . :CONFIG_CHORUS -Chorus effect: 'auto', 'on', 'off', or custom values. -When using custom values: - All five must be provided in-order and space-separated. - They are: voice-count level speed depth modulation-wave, where: - - voice-count is an integer from 0 to 99. - - level is a decimal from 0.0 to 10.0 - - speed is a decimal, measured in Hz, from 0.1 to 5.0 - - depth is a decimal from 0.0 to 21.0 - - modulation-wave is either 'sine' or 'triangle' - For example: chorus = 3 1.2 0.3 8.0 sine +Efecto coro: 'auto', 'on', 'off', o valores personalizados. +Cuando se usan valores personalizados: + Los cinco deben ser proporcionados en orden y separados por espacios. + Ellos son: conteo-de-voz nivel velocidad profundidad onda-modulada, donde: + - conteo-de-voz es un entero desde 0 a 99. + - nivel es un decimal desde 0.0 a 10.0 + - velocidad es un decimal, medido en Hz, desde 0.1 a 5.0 + - profundidad es un decimal desde 0.0 a 21.0 + - onda-modulada es 'sine' o 'triangle' + Por ejemplo: chorus = 3 1.2 0.3 8.0 sine . :CONFIG_REVERB -Reverb effect: 'auto', 'on', 'off', or custom values. -When using custom values: - All four must be provided in-order and space-separated. - They are: room-size damping width level, where: - - room-size is a decimal from 0.0 to 1.0 - - damping is a decimal from 0.0 to 1.0 - - width is a decimal from 0.0 to 100.0 - - level is a decimal from 0.0 to 1.0 - For example: reverb = 0.61 0.23 0.76 0.56 +Efecto de reverberación: 'auto', 'on', 'off', o valores personalizados. +Cuando se usan valores personalizados: + Los cuatro deben ser proporcionados en orden y separados por espacios. + Ellos son: tamaño-de-habitación amortiguación ancho nivel, donde: + - tamaño-de-habitación es un decimal desde 0.0 a 1.0 + - amortiguación es un decimal desde 0.0 a 1.0 + - ancho es un decimal desde 0.0 a 100.0 + - nivel es un decimal desde 0.0 a 1.0 + Por ejemplo: reverb = 0.61 0.23 0.76 0.56 . :CONFIG_MODEL -Modelo de sintetizador a utilizar. El valor por defecto (auto) prefiere CM-32L -si ambos conjuntos de ROMs son provistos. Para los primeros juegos de Sierra y Dune 2 -se recomienda utilizar 'mt32', mientras que los juegos mas recientes suelen -usar los efectos de sonido adicionales del CM-32L (use 'auto' o 'cm32l') +Modelo de sintetizador a utilizar. +'auto' elige el primer modelo con ROMs disponibles, en orden como se indica. +'cm32l' y 'mt32' eligen el primer modelo de su tipo, en el orden indicado. +'mt32_old' y 'mt32_new' son alias para 1.07 y 2.04, respectivamente. . :CONFIG_ROMDIR -El directorio que contiene uno o ambos pares de ROMs MT-32 y/o CM-32L. -Los archivos deben ser nombrados en mayúsculas, de la siguiente manera: - - Par de ROMs MT-32: MT32_CONTROL.ROM y MT32_PCM.ROM - - Par de ROMs CM-32L: CM32L_CONTROL.ROM y CM32L_PCM.ROM +El directorio que contiene ROMs para uno o mas modelos. El directorio puede ser absoluto o relativo, o déjelo en blanco para -utilizar el directorio 'mt32-roms' del directorio de configuración de DOSBox, -seguido de la comprobación de otras ubicaciones comunes del sistema. +utilizar el directorio 'mt32-roms' en el directorio de configuración +de DOSBox. También se verificarán otras ubicaciones comunes del sistema. +Archivos ROM dentro de este directorio pueden incluir cualquiera de los siguientes: + - MT32_CONTROL.ROM y MT32_PCM.ROM, para el modelo 'mt32'. + - CM32L_CONTROL.ROM y CM32L_PCM.ROM, para el modelo 'cm32l'. + - ROMs MAME MT-32 y CM-32L descomprimidas, para los modelos versionados. . :CONFIG_SBTYPE Tipo de Sound Blaster a emular. 'gb' es Game Blaster. @@ -323,9 +320,9 @@ Permite que el mezclador de Sound Blaster modifique el mezclador de DOSBox. . :CONFIG_SBWARMUP -Silence initial DMA audio after card power-on, in milliseconds. -This mitigates pops heard when starting many SB-based games. -Reduce this if you notice intial playback is missing audio. +Silencia el audio inicial DMA después del encendido de la tarjeta, en milisegundos. +Esto mitiga los estallidos que se escuchan al iniciar muchos juegos basados en SB. +Reduzca esto si notas que a la reproducción inicial le falta audio. . :CONFIG_OPLRATE oplrate está obsoleto. La forma de onda OPL es ahora muestreada @@ -358,30 +355,30 @@ usados con Timidity deberían funcionar bien. . :CONFIG_SIDMODEL -Model of chip to emulate in the Innovation SSI-2001 card: - - auto: Selects the 6581 chip. - - 6581: The original chip, known for its bassy and rich character. - - 8580: A later revision that more closely matched the SID specification. - It fixed the 6581's DC bias and is less prone to distortion. - The 8580 is an option on reproduction cards, like the DuoSID. - - none: Disables the card. +Modelo de chip a emular en la tarjeta Innovation SSI-2001: + - auto: Selecciona el chip 6581. + - 6581: El chip original, conocido por sus graves y ricos característicos. + - 8580: Una revisión posterior mas cercana a la especificación SID. + Esta corrige el DC bias del 6581 y es menos propenso a la distorsión. + El 8580 es una opción en tarjetas de reproducción, como el DuoSID. + - none: Deshabilita la tarjeta. . :CONFIG_SIDCLOCK -The SID chip's clock frequency, which is jumperable on reproduction cards. - - default: uses 0.895 MHz, per the original SSI-2001 card. - - c64ntsc: uses 1.023 MHz, per NTSC Commodore PCs and the DuoSID. - - c64pal: uses 0.985 MHz, per PAL Commodore PCs and the DuoSID. - - hardsid: uses 1.000 MHz, available on the DuoSID. +La frecuencia de reloj del chip SID, que es puenteable en tarjetas de reproducción. + - default: usa 0.895 MHz, para la tarjeta original SSI-2001. + - c64ntsc: usa 1.023 MHz, para PCs Commodore NTSC y el DuoSID. + - c64pal: usa 0.985 MHz, para PCs Commodore PAL y el DuoSID. + - hardsid: usa 1.000 MHz, disponible en el DuoSID. . :CONFIG_SIDPORT -The IO port address of the Innovation SSI-2001. +La dirección del puerto de E/S del Innovation SSI-2001. . :CONFIG_6581FILTER -The SID's analog filtering meant that each chip was physically unique. -Adjusts the 6581's filtering strength as a percent from 0 to 100. +El filtrado análogico del SID decía que cada chip era físicamente único. +Ajusta la intensidad de filtrado del 6581 como un porcentaje desde 0 a 100. . :CONFIG_8580FILTER -Adjusts the 8580's filtering strength as a percent from 0 to 100. +Ajusta la intensidad de filtrado del 8580 como un porcentaje desde 0 a 100. . :CONFIG_PCSPEAKER Habilita emulación del PC-Speaker. @@ -404,17 +401,19 @@ Habilita emulación Disney Sound Source. (compatible con Covox Voice Master y Speech Thing). . :CONFIG_PS1AUDIO -Enable IBM PS/1 Audio emulation. +Habilita emulación de audio del IBM PS/1. . :CONFIG_JOYSTICKTYPE Tipo de joystick a emular: auto (por defecto), -none (deshabilita emulación del joystick), -2axis (soporta dos joysticks), -4axis (soporta un joystick, primer joystick usado), -4axis_2 (soporta un joystick, segundo joystick usado), -fcs (Thrustmaster), ch (CH Flightstick). -auto (elige emulación dependiendo de los joysticks reales). -(Recuerda resetear el mapperfile del DOSBox si lo has guardado anteriormente) +auto : Detecta y usa cualquier joystick(s), si es posible., +2axis : Soporta hasta dos joysticks. +4axis : Soporta sólo el primer joystick. +4axis_2 : Soporta sólo el segundo joystick. +fcs : Soporta un joystick tipo Thrustmaster. +ch : Soporta un joystick tipo CH Flightstick. +hidden : Evita que DOS vea el(los) joystick(s), pero los habilita para mapeo. +disabled : Deshabilita los joysticks completamente: no será sondeado, mapeado, o visible en DOS. +(Recuerda restablecer el archivo de mapeado de DOSBox si lo has guardado antes) . :CONFIG_TIMED habilita intervalos cronometrados para ejes. Experimente con esta opción, si tu joystick se desvía (se aleja). @@ -442,10 +441,12 @@ parámetro:valor. Parámetro para todos los tipos es irq (opcional). para directserial: realport (requerido), rxdelay (opcional). (realport:COM1 realport:ttyS0). -para modem: listenport (opcional). +para modem: listenport sock (todo opcional). para nullmodem: server, rxdelay, txdelay, telnet, usedtr, - transparent, port, inhsocket (todos opcional). -Ejemplo: serial1=modem listenport:5000 + transparent, port, inhsocket, sock (todo opcional). +Parámetro SOCK especifica el protocolo a utilizar por ambas partes + de la conexión. 0 para TCP y 1 para UDP confiable ENet. +Ejemplo: serial1=modem listenport:5000 sock:1 . :CONFIG_SERIAL2 consulte serial1 @@ -483,52 +484,52 @@ Habilita emulación ipx sobre UDP/IP. . :CONFIG_NE2000 -Enable emulation of a Novell NE2000 network card on a software-based -network (using libslirp) with properties as follows: - - 255.255.255.0 : Subnet mask of the 10.0.2.0 virtual LAN. - - 10.0.2.2 : IP of the gateway and DHCP service. - - 10.0.2.3 : IP of the virtual DNS server. - - 10.0.2.15 : First IP provided by DHCP, your IP! -Note: Inside DOS, setting this up requires an NE2000 packet driver, - DHCP client, and TCP/IP stack. You might need port-forwarding - from the host into the DOS guest, and from your router to your - host when acting as the server for multiplayer games. +Habilita emulación de una tarjeta de red Novell NE2000 sobre una red basada +en software (usando libslirp) con las siguientes propiedades: + - 255.255.255.0 : Máscara de subred de la LAN virtual 10.0.2.0. + - 10.0.2.2 : IP de la puerta de enlace y servicio DHCP. + - 10.0.2.3 : IP del servidor virtual DNS. + - 10.0.2.15 : Primera IP proporcionada por DHCP, su IP! +Nota: Dentro de DOS, configurar esto requiere un controlador de paquete NE2000, + cliente DHCP, y pila TCP/IP. Podrías necesitar desviar puertos + desde el anfitrión hacia el invitado DOS, y desde su router a su + anfitrión cuando actúe como servidor para juegos multijugador. . :CONFIG_NICBASE -The base address of the NE2000 card. -Note: Addresses 220 and 240 might not be available as they're assigned - to the Sound Blaster and Gravis UltraSound by default. +La dirección base de la tarjeta NE2000. +Nota: Direcciones 220 y 240 podrían no estar disponibles ya que están asignadas + al Sound Blaster y Gravis UltraSound por defecto. . :CONFIG_NICIRQ -The interrupt used by the NE2000 card. -Note: IRQs 3 and 5 might not be available as they're assigned - to 'serial2' and the Gravis UltraSound by default. +La interrupción usada por la tarjeta NE2000. +Nota: IRQs 3 y 5 podrían no estar disponibles ya que están asignadas + a 'serial2' y al Gravis UltraSound por defecto. . :CONFIG_MACADDR -The MAC address of the NE2000 card. +La dirección MAC de la tarjeta NE2000. . :CONFIG_TCP_PORT_FORWARDS -Forwards one or more TCP ports from the host into the DOS guest. -The format is: - port1 port2 port3 ... (e.g., 21 80 443) - This will forward FTP, HTTP, and HTTPS into the DOS guest. -If the ports are privileged on the host, a mapping can be used - host:guest ..., (e.g., 8021:21 8080:80) - This will forward ports 8021 and 8080 to FTP and HTTP in the guest -A range of adjacent ports can be abbreviated with a dash: - start-end ... (e.g., 27910-27960) - This will forward ports 27910 to 27960 into the DOS guest. -Mappings and ranges can be combined, too: - hstart-hend:gstart-gend ..., (e.g, 8040-8080:20-60) - This forwards ports 8040 to 8080 into 20 to 60 in the guest -Notes: - - If mapped ranges differ, the shorter range is extended to fit. - - If conflicting host ports are given, only the first one is setup. - - If conflicting guest ports are given, the latter rule takes precedent. +Desvía uno o más puertos TCP desde el anfitrión hacia el invitado DOS. +El formato es: + puerto1 puerto2 puerto3 ... (por ejemplo, 21 80 443) + Esto desviará FTP, HTTP, y HTTPS hacia el invitado DOS. +Si los puertos son privilegiados en el anfitrión, puede utilizar un mapeo + anfitrión:invitado ..., (por ejemplo, 8021:21 8080:80) + Esto desviará puertos 8021 y 8080 a FTP y HTTP en el invitado +Un rango de puertos adyacentes puede ser abreviado con un guión: + inicio-fin ... (por ejemplo, 27910-27960) + Esto desviará puertos 27910 a 27960 hacia el invitado DOS. +Mapeos y rangos pueden ser combinados, también: + ainicio-afin:iinicio-ifin ..., (por ejemplo, 8040-8080:20-60) + Esto desviará puertos 8040 a 8080 hacia 20 a 60 en el invitado +Notas: + - Si rangos mapeados difieren, el rango mas corto se extiende para ajustarse. + - Si puertos conflictivos del anfitrión son dados, sólo el primero es configurado. + - Si puertos conflictivos del invitado son dados, la última regla tiene prioridad. . :CONFIG_UDP_PORT_FORWARDS -Forwards one or more UDP ports from the host into the DOS guest. -The format is the same as for TCP port forwards. +Desvía uno o más puertos UDP desde el anfitrión hacia el invitado DOS. +El formato es el mismo que para los desvíos de puerto TCP. . :AUTOEXEC_CONFIGFILE_HELP Líneas en esta sección se ejecutarán al inicio. @@ -575,7 +576,7 @@ Herramienta de configuración: -writeconf o -wc escribe al archivo de configuración primario cargado. -writeconf o -wc [nombre de archivo] escribe archivo al directorio de configuración. -Use -writelang o -wl [nombre de archivo] para escribir las cadenas de idioma actuales. +Use -writelang o -wl [nombre de archivo] para escribir la cadena de idioma actual. -r [parámetros] Reinicie DOSBox, ya sea utilizando los parámetros anteriores o cualquiera que se agregue. -wcp [nombre de archivo] @@ -584,7 +585,7 @@ -wcd Escribe al archivo de configuración por defecto en el directorio de configuración. -l lista los parámetros de configuración. --h, -help, -? sections / nombre de sección / nombre de propiedad +-h, -help, -? secciones / nombre de sección / nombre de propiedad Sin parámetros, muestra esta pantalla de ayuda. Agrega "sections" para una lista de secciones. Para obtener información sobre una sección o propiedad específica agregue su nombre detrás. -axclear limpia la sección autoexec. @@ -599,7 +600,7 @@ . :PROGRAM_CONFIG_HLP_PROPHLP -Propósito de la propiedad "%s" (contenido en la sección "%s"): +Propósito de la propiedad "%s" (contenida en la sección "%s"): %s Valores posibles: %s @@ -672,6 +673,18 @@ Falta un parámetro. . +:PROGRAM_PATH_TOO_LONG +La ruta "%s" excede la longitud máxima DOS de %d caracteres + +. +:PROGRAM_EXECUTABLE_MISSING +Archivo ejecutable no encontrado: %s + +. +:PROGRAM_IMGMOUNT_IDE_CONTROLLERS_UNAVAILABLE +No hay controladores IDE disponibles. La unidad no tendrá emulación IDE. + +. :PROGRAM_MOUNT_CDROMS_FOUND CDROMs encontrados: %d @@ -764,6 +777,23 @@ No se puede mover la unidad Z. La unidad %c ya está montada. . +:SHELL_CMD_MEM_HELP_LONG +Muestra la información de memoria DOS. + +Uso: + mem + +Dónde: + Este comando no tiene parámetros. + +Notas: + Este comando muestra el estado de memoria DOS, incluyendo la memoria convencional + libre, memoria UMB (superior), memoria XMS (extendida), y memoria EMS (expandida). + +Ejemplos: + mem + +. :PROGRAM_MEM_CONVEN %10d kB de memoria convencional libre @@ -780,6 +810,28 @@ %10d kB de memoria superior libre en %d bloques (UMB más grande %d kB) . +:SHELL_CMD_LOADFIX_HELP_LONG +Carga un programa en la región de memoria específica y luego lo ejecuta. + +Uso: + loadfix JUEGO [PARÁMETROS] + loadfix [/d] (o [/f]) + +Dónde: + JUEGO es un juego o programa a ser cargado, opcionalmente con parámetros. + +Notas: + Los casos más comunes de uso de este comando son para arreglar juegos o programas DOS + que muestran el "Archivo Empaquetado Corrupto" o "No hay suficiente memoria" (por ejemplo, + juegos de 1980 como California Games II) mensaje de error cuando se ejecutan. + Ejecutar loadfix sin un argumento simplemente asigna memoria para que su juego + se ejecute; puedes liberar la memoria con la opción /d o /f cuando finalice. + +Ejemplos: + loadfix mijuego args + loadfix /d + +. :PROGRAM_LOADFIX_ALLOC %d kB asignados. @@ -796,6 +848,54 @@ Error de asignación de memoria. . +:SHELL_CMD_AUTOTYPE_HELP_LONG +Realiza entrada de teclado con scripts en un juego DOS en ejecución. + +Uso: + autotype -list + autotype [-w ESPERA] [-p ESPACIO] BOTONES + +Dónde: + ESPERA es el número de segundos a esperar antes de empezar a escribir (máximo 30). + ESPACIO es el número de segundos antes de cada pulsación (máximo 10). + BOTONES es uno o más botones separados por espacio. + +Notas: + Los BOTONES suministrados en el comando serán autotipeados en los juegos DOS en ejecución + después de iniciar. El autotipeado inicia después de ESPERA segundos, y cada botón es + introducido cada ESPACIO segundos. El , carácter inserta un retraso ESPACIO extra. + ESPERA y ESPACIO son por defecto 2 y 0.5 segundos respectivamente si no se especifican. + Se puede obtener una lista de todos los nombres de botones disponibles usando la opción -list. + +Ejemplos: + autotype -list + autotype -w 1 -p 0.3 arriba intro , derecha intro + autotype -p 0.2 f1 kp_8 , , intro + autotype -w 1.3 esc intro , j u g a d o r intro + +. +:SHELL_CMD_MIXER_HELP_LONG +Muestra o cambia los volúmenes del mezclador de sonido actual. + +Uso: + mixer CANAL VOLUMEN [/noshow] + mixer [/listmidi] + +Dónde: + CANAL es el canal de sonido que deseas cambiar el volumen. + VOLUMEN es un entero entre 0 y 100 que representa el volumen. + +Notas: + Ejecutar mixer sin un argumento muestra los volúmenes de todos los canales de sonido. + Puedes ver los dispositivos MIDI disponibles y las opciones de usuario con la opción /listmidi. + Puedes cambiar los volúmenes de más de un canal de sonido en un solo comando. + La opción /noshow hace que el mezclador no muestre los volúmenes al realizar un cambio. + +Ejemplos: + mixer + mixer maestro 50 grabar 60 /noshow + mixer /listmidi +. :MSCDEX_SUCCESS MSCDEX instalado. @@ -836,8 +936,28 @@ MSCDEX: Advertencia: Ignorando opción no soportada '%s'. . +:SHELL_CMD_RESCAN_HELP_LONG +Escanea por cambios en unidades DOS montadas. + +Uso: + rescan UNIDAD + rescan [/a] + +Dónde: + UNIDAD es la unidad a escanear por cambios. + +Notas: + - Ejecutar rescan sin un argumento escanea por cambios la unidad actual. + - Cambios a esta unidad hechos en el anfitrión serán reflejados dentro del DOS. + - También puedes escanear por cambios en todas las unidades montadas con la opción /a. + +Ejemplos: + rescan c: + rescan /a + +. :PROGRAM_RESCAN_SUCCESS -Caché de la unidad limpiada. +Unidad re-escaneada. . :PROGRAM_INTRO @@ -883,7 +1003,7 @@ Puedes ejecutar programas/archivos con extensiones .exe .bat y .com. . -:PROGRAM_INTRO_CDROM +:PROGRAM_INTRO_CDROM_WINDOWS Cómo montar una unidad virtual de CD-ROM en DOSBox: DOSBox proporciona emulación de CD-ROM en varios niveles. @@ -900,6 +1020,28 @@ imgmount D C:\cd.iso -t cdrom +imgmount D C:\cd.cue -t cdrom + +. +:PROGRAM_INTRO_CDROM_OTHER +Cómo montar una unidad virtual de CD-ROM en DOSBox: +DOSBox proporciona emulación de CD-ROM en varios niveles. + +Esto funciona en todos los directorios normales, instala MSCDEX y marca los archivos +de solo lectura. Normalmente esto es suficiente para la mayoría de juegos: + +mount D ~/ejemplo -t cdrom + +Si no funciona es posible que tengas que decirle a DOSBox la etiqueta del CD-ROM: + +mount D ~/ejemplo -t cdrom -label ETIQUETACD + +Además, puedes usar imgmount para montar imágenes iso o cue/bin: + +imgmount D ~/cd.iso -t cdrom + +imgmount D ~/cd.cue -t cdrom + . :PROGRAM_INTRO_SPECIAL Teclas especiales: @@ -909,7 +1051,7 @@ %s+Enter Cambia entre pantalla completa y modo ventana. %s+Pausa Pausa/Despausa el emulador. %s+F1 %s Inicia el mapeador de teclas. -%s+F4 %s Cambia imagen de disco montada, actualiza la caché de directorio para todas las unidades. +%s+F4 %s Cambia imagen de disco montada, escanea por cambios en todas las unidades. %s+F5 %s Guarda una captura de pantalla. %s+F6 %s Inicia/Detiene grabación de salida de sonido a un archivo wav. %s+F7 %s Inicia/Detiene grabación de salida de video a un archivo zmbv. @@ -920,6 +1062,27 @@ %s+F12 Desbloquea velocidad (botón turbo/avance rápido). . +:SHELL_CMD_BOOT_HELP_LONG +Arranca DOSBox Staging desde una unidad DOS o una imagen de disco. + +Uso: + boot UNIDAD + boot ARCHIVOIMAGEN + +Dónde: + UNIDAD es una unidad desde la que arrancar, debe ser A:, C:, o D:. + ARCHIVOIMAGEN es una o más imágenes de disquete, separadas por espacios. + +Notas: + Una letra de unidad DOS debe haber sido montada previamente con el comando imgmount . + La unidad DOS o la imagen de disco debe ser arrancable, y contener archivos de sistema DOS. + Si más de una imagen de disco es especificada, puedes cambiarla con una tecla de acceso rápido. + +Ejemplos: + boot c: + boot disco1.ima disco2.ima + +. :PROGRAM_BOOT_NOT_EXIST El archivo bootdisk no existe. Error. @@ -942,9 +1105,7 @@ disco duro (C o D), la imagen ya debería haber sido montada utilizando el comando IMGMOUNT . -La sintaxis de este comando es: - -BOOT [imagendedisco1.img imagendedisco2.img] [-l letradeunidad] +Escriba BOOT /? para la sintaxis de este comando. . :PROGRAM_BOOT_UNABLE @@ -970,6 +1131,23 @@ :PROGRAM_BOOT_CART_NO_CMDS No se han encontrado comandos del cartucho PCjr . +:SHELL_CMD_LOADROM_HELP_LONG +Carga una imagen ROM de la BIOS de vídeo o del IBM BASIC. + +Uso: + loadrom ARCHIVOIMAGEN + +Dónde: + ARCHIVOIMAGEN es una imagen ROM de la BIOS de vídeo o del IBM BASIC. + +Notas: + Después de cargar una imagen ROM del IBM BASIC en la ROM emulada con el comando, + puedes ejecutar el programa intérprete original del IBM BASIC en DOSBox Staging. + +Ejemplos: + loadrom bios.rom + +. :PROGRAM_LOADROM_SPECIFY_FILE Debes especificar el archivo ROM a cargar. @@ -1002,26 +1180,25 @@ Monta un CD-ROM, disquete, o imagen de disco a una letra de unidad. Uso: - imgmount UNIDAD CDROM-SET [CDROM-SET2 [..]] [-fs iso] -t cdrom|iso + imgmount UNIDAD CDROM-SET [-fs iso] [-ide] -t cdrom|iso imgmount UNIDAD ARCHIVOIMAGEN [ARCHIVOIMAGEN2 [..]] [-fs fat] -t hdd|floppy - imgmount UNIDAD IMAGENBOOT [-fs fat|none] -t hdd -size GEOM + imgmount UNIDAD IMAGENBOOT [-fs fat|none] -t hdd -size GEOMETRÍA imgmount -u UNIDAD (desmonta la imagen de la unidad) Dónde: UNIDAD es la letra de la unidad donde la imagen será montada: a, c, d, ... CDROM-SET es un ISO, CUE+BIN, CUE+ISO, o CUE+ISO+FLAC/OPUS/OGG/MP3/WAV - ARCHIVOIMAGEN un disco duro o una imagen de disquete en formato FAT16/FAT12 - IMAGENBOOT es una imagen de disco de arranque con especificado -size GEOM: + ARCHIVOIMAGEN es un disco duro o una imagen de disquete en formato FAT16 o FAT12 + IMAGENBOOT es una imagen de disco de arranque con -size GEOMETRÍA especificada: bytes-por-sector,sectores-por-cabeza,cabezas,cilindros Notas: - - %s+F4 intercambia & monta el siguiente CDROM-SET o ARCHIVOIMAGEN, si se - proporciona. - + - %s+F4 intercambia y monta el siguiente CDROM-SET o ARCHIVOIMAGEN, si se proporciona. + - El indicador '-ide' emula un controlador IDE con una unidad de CD-ROM ATAPI conectada, + Esto es útil para juegos basados en CDROM que necesitan un entorno DOS real a través de una imagen de arranque HDD. Ejemplos: imgmount D /Usuarios/NombredeUsuario/juegos/doom.iso -t cdrom imgmount D cd/quake1.cue -t cdrom imgmount A disquete1.img disquete2.img disquete3.img -t floppy - imgmount C ~/dos/unidad_c.img -t hdd imgmount C arranque.img -t hdd -fs none -size 512,63,32,1023 . @@ -1038,7 +1215,7 @@ Dónde: UNIDAD es la letra de la unidad donde el directorio será montado: A, C, D, ... - DIRECTORIO es el directorio sobre el SO anfitrión a ser montado + DIRECTORIO es el directorio del SO anfitrión a ser montado TIPO es el tipo del directorio a montar: dir, floppy, cdrom, o overlay TAMAÑO es el espacio libre para la unidad virtual (KiB para disquetes, MiB en caso contrario) ETIQUETA es el nombre de la etiqueta de la unidad a ser usada @@ -1127,14 +1304,31 @@ Página de código %i ha sido cargada para distribución %s . -:PROGRAM_KEYB_SHOWHELP -KEYB [ID de distribución de teclado[ numero de página de código[ archivo de página de código]]] +:PROGRAM_KEYB_HELP_LONG +Configura un teclado para un idioma específico. + +Uso: + keyb [CODIDIOMA] + keyb CODIDIOMA PÁGINACÓDIGO [ARCHIVOPAGINACÓDIGO] + +Dónde: + CODIDIOMA es un código de idioma o ID de distribución de teclado. + PÁGINACÓDIGO es un número de página de código, como 437 y 850. + ARCHIVOPÁGINACÓDIGO es un archivo que contiene información de una página de código. + +Notas: + Ejecutar keyb sin un argumento muestra la distribución de teclado cargada actualmente + y la página de código. Este cambiará a CODIDIOMA si se proporciona, opcionalmente con una + PÁGINACÓDIGO y un adicional ARCHIVOPÁGINACÓDIGO para cargar el número de página de código + especificado y archivo de página de código si es proporcionado. Este comando es especialmente útil si + usas un teclado no estadounidense, y CODIDIOMA también puede establecerse en el archivo de + configuración bajo la sección [dos] usando el ajuste "keyboardlayout = CODIDIOMA" . -Algunos ejemplos: - KEYB: Muestra la página de código cargada actualmente. - KEYB sp: Carga la distribución español (ES), usa una página de código apropiada. - KEYB sp 850: Carga la distribución español (ES), usa página de código 850. - KEYB sp 850 mycp.cpi: Igual que el anterior, pero utilizando el archivo mycp.cpi. +Ejemplos: + KEYB + KEYB uk + KEYB sp 850 + KEYB de 858 mipc.cpi . :PROGRAM_KEYB_NOERROR @@ -1159,6 +1353,75 @@ . +:PROGRAM_SERIAL_HELP +Administra los puertos serie. + +Modos de uso: + SERIAL /L | /LIST Lista los puertos serie actuales. + SERIAL PUERTO# TIPO [ajustes] Establece el puerto al TIPO dado. + +Dónde: + PUERTO# : 1, 2, 3, o 4 + TIPO : MODEM, NULLMODEM, DIRECTSERIAL, DUMMY, o DISABLED + +Ajustes opcionales para cada TIPO: + Para MODEM : IRQ, LISTENPORT, SOCK + Para NULLMODEM : IRQ, SERVER, RXDELAY, TXDELAY, TELNET, + USEDTR, TRANSPARENT, PORT, INHSOCKET, SOCK + Para DIRECTSERIAL : IRQ, REALPORT (requerido), RXDELAY + Para DUMMY : IRQ + +Ejemplos usando puerto 1, o COM1 en DOS: + SERIAL /list : Lista los puertos serie actuales + SERIAL 1 NULLMODEM PORT:1250 : Escucha en TCP:1250 como servidor + SERIAL 1 NULLMODEM SERVER:10.0.0.6 PORT:1250 : Se conecta a TCP:1250 como cliente + SERIAL 1 MODEM LISTENPORT:5000 SOCK:1 : Escucha en UDP:5000 como servidor + SERIAL 1 DIRECTSERIAL REALPORT:ttyUSB0 : Usa un puerto físico en Linux + +. +:PROGRAM_SERIAL_SHOW_PORT +COM%d: %s %s + +. +:PROGRAM_SERIAL_BAD_PORT +Debes especificar un valor de puerto numérico entre 1 y %d, incluido. + +. +:PROGRAM_SERIAL_BAD_MODE +El modo debe ser uno de los siguientes: + +. +:PROGRAM_SERIAL_INDENTED_LIST + %s + +. +:PROGRAM_PLACEHOLDER_SHORT_HELP +Este programa es un marcador de posición +. +:PROGRAM_PLACEHOLDER_LONG_HELP +%s es sólo un marcador de posición. + +Instale un tercero y de prioridad a su PATH. + +Por ejemplo: +. +:UTILITY_DRIVE_EXAMPLE_NO_TRANSLATE + + [autoexec] + mount u ~/dos/utilidades + set PATH=u:\;%PATH% + + +. +:VISIT_FOR_MORE_HELP +Visite lo siguiente para más ayuda: +. +:WIKI_ADD_UTILITIES_ARTICLE +https://github.com/dosbox-staging/dosbox-staging/wiki/Add-Utilities +. +:WIKI_URL +https://github.com/dosbox-staging/dosbox-staging/wiki +. :SHELL_ILLEGAL_PATH Ruta no válida. @@ -1168,6 +1431,28 @@ Una breve lista de los comandos mas utilizados: . +:SHELL_CMD_COMMAND_HELP_LONG +Inicia el shell de comandos de DOSBox Staging. +Uso: + command + command /c (o /init) COMANDO + +Dónde: + COMANDO es un comando DOS, juego, o programa a ejecutar. + +Notas: + DOSBox Staging inicia automáticamente un shell de comando DOS al invocar este + comando con la opción /init cuando se inicia, que muestra el banner de bienvenida. + Puedes cargar una nueva instancia del shell de comandos ejecutando command. + Añadiendo la opción /c junto con COMMAND permite que este comando ejecute el + comando especificado (opcionalmente con parámetros) y luego sale automáticamente. + +Ejemplos: + command + command /c echo Hola mundo! + command /init dir + +. :SHELL_CMD_ECHO_ON ECHO está encendido. @@ -1223,25 +1508,58 @@ M/D/A . :SHELL_CMD_DATE_HELP_LONG -DATE [[/T] [/H] [/S] | MM-DD-AAAA] - MM-DD-AAAA: nueva fecha a establecer - /S: Usa permanentemente la hora y fecha del anfitrión como tiempo del DOS - /F: Vuelve a la hora interna de DOSBox (lo opuesto de /S) - /T: Muestra sólo la fecha - /H: Sincroniza con el anfitrión +Uso: + date [/t] + date /h + date FECHA + +Dónde: + FECHA es la nueva fecha a establecer, en el formato de MM-DD-AAAA. + +Notas: + Ejecutar date sin un argumento muestra la fecha actual, o sólo una fecha + con la opción /t. Puedes forzar la sincronización de la fecha con el sistema + anfitrión con la opción /h, o manualmente especificar una nueva fecha a establecer. + +Ejemplos: + date + date /h + date 10-11-2012 . :SHELL_CMD_TIME_HELP -Muestra la hora interna. +Muestra o cambia la hora interna. + +. +:SHELL_CMD_TIME_ERROR +La hora especificada no es correcta. . :SHELL_CMD_TIME_NOW Hora actual: . +:SHELL_CMD_TIME_SETHLP +Escriba 'time hh:mm:ss' para cambiar la hora. + +. :SHELL_CMD_TIME_HELP_LONG -TIME [/T] [/H] - /T: Muestra sólo la hora - /H: Sincroniza con el anfitrión +Uso: + time [/t] + time /h + time HORA + +Dónde: + HORA es la nueva hora a establecer, en el formato de hh:mm:ss. + +Notas: + Ejecutar time sin un argumento muestra la hora actual, o una hora simple + con la opción /t. Puedes forzar la sincronización de la hora con el sistema + anfitrión con la opción /h, o manualmente especificar una nueva hora a establecer. + +Ejemplos: + time + time /h + time 13:14:15 . :SHELL_CMD_MKDIR_ERROR @@ -1328,6 +1646,22 @@ Esperando 1 pulsación de tecla para continuar. . +:SHELL_CMD_PAUSE_HELP_LONG +Uso: + pause + +Dónde: + Este comando no tiene parámetros. + +Notas: + Este comando es especialmente útil en programas por lotes para permitir al usuario continuar + la ejecución del programa por lotes con sólo presionar una tecla. El usuario puede presionar + cualquier tecla del teclado (excepto algunas teclas de control) para continuar. + +Ejemplos: + pause + +. :SHELL_CMD_COPY_FAILURE Error de copia : %s. @@ -1360,7 +1694,7 @@ :SHELL_STARTUP_CGA ║ DOSBox soporta el modo CGA compuesto. ║ ║ Use F12 para establecer salida compuesta ON, OFF, o AUTO (por defecto). ║ -║ (%s+)F11 cambia tono; %s+%s+F11 selecciona modelo CGA inicial/final.%s ║ +║ F10 selecciona la configuración CGA a cambiar y (%s+)F11 la cambia. ║ ║ ║ . @@ -1406,7 +1740,22 @@ . :SHELL_CMD_CLS_HELP -Limpia la pantalla. +Limpia la pantalla DOS. + +. +:SHELL_CMD_CLS_HELP_LONG +Uso: + cls + +Dónde: + Este comando no tiene parámetros. + +Notas: + Al ejecutar cls se borra todos los textos de la pantalla DOS, excepto el prompt de + comandos (por ejemplo Z:\> o C:\JUEGOS>) en la esquina superior-izquierda de la pantalla. + +Ejemplos: + cls . :SHELL_CMD_DIR_HELP @@ -1414,795 +1763,531 @@ . :SHELL_CMD_DIR_HELP_LONG -DIR [unidad:][ruta][nombre de archivo] [/[W|B]] [/P] [/[AD]|[A-D]] [/O[-][N|E|S|D]] +Uso: + dir [PATRÓN] [/w] [/b] [/p] [ad] [a-d] [/oORDEN] + +Dónde: + PATRÓN es un nombre de archivo exacto o un nombre de archivo inexacto con comodines, + que son el asterisco (*) y el signo de interrogación (?). Una ruta puede ser + especificada en el patrón para listar el contenido en el directorio especificado. + ORDEN es un orden de listado, que incluye n (por nombre, alfabético), s (por tamaño, + el más pequeño primero), e (por extensión, alfabético), d (por fecha/hora, + el más antiguo primero), con un prefijo opcional - para invertir el orden. + /w lista 5 archivos/directorios en una fila; /b lista sólo los nombres. + /oORDEN ordena la lista (ver arriba) /p pausa después de cada pantalla. + /ad lista todos los directorios; /a-d lista todos los archivos. + +Notas: + Ejecutar dir sin un argumento lista todos los archivos y subdirectorios en el + directorio actual, que es lo mismo que dir *.*. - [unidad:][ruta][nombre de archivo] - Especifica unidad, directorio, y/o archivos a listar. - /W Usa formato de lista ancha. - /B Usa formato simple (sin información de encabezado o resumen). - /P Pausa después de cada pantalla llena de información. - /AD Muestra todos los directorios. - /A-D Muestra todos los archivos. - /O Lista archivos en orden según clasificación. - - Prefijo para invertir el orden - clasificación N Por nombre (alfabético) S Por tamaño (el más pequeño primero) - E Por extensión (alfabética) D Por fecha & hora (la más antigua primero) +Ejemplos: + dir  + dir juegos.* /p + dir c:\juegos\*.exe /b /o-d . :SHELL_CMD_ECHO_HELP Muestra mensajes y habilita/deshabilita comando echo. . -:SHELL_CMD_EXIT_HELP -Sale de la interfaz. +:SHELL_CMD_ECHO_HELP_LONG +Uso: + echo [on|off] + echo [MENSAJE] -. -:SHELL_CMD_HELP_HELP -Muestra ayuda. +Dónde: + on|off Activa/desactiva comando echo. + MENSAJE El mensaje a mostrar. -. -:SHELL_CMD_MKDIR_HELP -Crea un directorio. +Notas: + - Ejecutar echo sin un argumento muestra el estado actual de encendido o apagado. + - Echo es especialmente útil cuando se escriben o depuran archivos por lotes. -. -:SHELL_CMD_MKDIR_HELP_LONG -MKDIR [unidad:][ruta] -MD [unidad:][ruta] +Ejemplos: + echo off + echo Hola mundo! . -:SHELL_CMD_RMDIR_HELP -Elimina un directorio. +:SHELL_CMD_EXIT_HELP +Sale de la interfaz DOS. . -:SHELL_CMD_RMDIR_HELP_LONG -RMDIR [unidad:][ruta] -RD [unidad:][ruta] +:SHELL_CMD_EXIT_HELP_LONG +Uso: + exit -. -:SHELL_CMD_SET_HELP -Cambia variables de entorno. +Dónde: + Este comando no tiene parámetros. -. -:SHELL_CMD_IF_HELP -Realiza procesamiento condicional en programas por lotes. +Notas: + Si se inicia una interfaz DOS desde un programa, al ejecutar exit se regresa al programa. + Si no hay ningún programa DOS en ejecución, el comando sale de DOSBox Staging. -. -:SHELL_CMD_GOTO_HELP -Salta a una línea etiquetada en un script por lotes. +Ejemplos: + exit . -:SHELL_CMD_SHIFT_HELP -Parámetros de línea de comandos Left Shift en un script por lotes. +:SHELL_CMD_EXIT_TOO_SOON +Previene que una llamada temprana 'exit' termine. . -:SHELL_CMD_TYPE_HELP -Muestra el contenido de un archivo de texto. +:SHELL_CMD_HELP_HELP +Muestra información de ayuda para comandos DOS. . -:SHELL_CMD_TYPE_HELP_LONG -TYPE [unidad:][ruta][nombre de archivo] +:SHELL_CMD_HELP_HELP_LONG +Uso: + help + help /a[ll] + help COMANDO -. -:SHELL_CMD_REM_HELP -Agrega comentarios en un archivo por lotes. +Dónde: + COMANDO es el nombre de un comando interno DOS, como dir. -. -:SHELL_CMD_REM_HELP_LONG -REM [comentario] +Notas: + - Ejecutar help sin un argumento muestra una lista de comandos DOS. + - Puedes ver una lista completa de comandos internos con la opción /a o /all. + - En lugar de help COMANDO, también puedes obtener ayuda de comandos con COMANDO /?. -. -:SHELL_CMD_NO_WILD -Esta es una versión simple del comando, no se permiten comodines! +Ejemplos: + help dir + help /all . -:SHELL_CMD_RENAME_HELP -Renombra uno o más archivos. +:SHELL_CMD_INTRO_HELP +Muestra una introducción en pantalla completa a DOSBox Staging. . -:SHELL_CMD_RENAME_HELP_LONG -RENAME [unidad:][ruta]nombredearchivo1 nombredearchivo2. -REN [unidad:][ruta]nombredearchivo1 nombredearchivo2. +:SHELL_CMD_INTRO_HELP_LONG +Uso: + intro + intro PÁGINA -Note que no se puede especificar una nueva unidad o ruta para el archivo destino. +Dónde: + PÁGINA es el nombre de página a mostrar, que incluye cdrom, mount, y special. -. -:SHELL_CMD_DELETE_HELP -Elimina uno o más archivos. +Notas: + Ejecutar intro sin un argumento muestra una página de información a la vez; + pulsa cualquier tecla para pasar a la página siguiente. Si un nombre de página es proporcionado, + se mostrará directamente la página especificada. -. -:SHELL_CMD_COPY_HELP -Copia archivos. +Ejemplos: + intro + intro cdrom . -:SHELL_CMD_CALL_HELP -Inicia un archivo por lotes desde otro archivo por lotes. +:SHELL_CMD_MKDIR_HELP +Crea un directorio. . -:SHELL_CMD_SUBST_HELP -Asigna un directorio interno a una unidad. +:SHELL_CMD_MKDIR_HELP_LONG +Uso: + md DIRECTORIO + mkdir DIRECTORIO -. -:SHELL_CMD_LOADHIGH_HELP -Carga un programa en la memoria superior (requiere xms=true,umb=true). +Dónde: + DIRECTORIO es el nombre del directorio a crear. -. -:SHELL_CMD_LS_HELP -Lista el contenido del directorio. +Notas: + - El directorio debe ser un nombre exacto y aún no debe de existir. + - Puedes especificar una ruta donde el directorio será creado. -. -:SHELL_CMD_LS_HELP_LONG -ls [/?] [PATRÓN] +Ejemplos: + md nuevodir + md c:\juegos\dir . -:SHELL_CMD_LS_PATH_ERR -ls: no se puede acceder a '%s': No hay tal archivo o directorio +:SHELL_CMD_RMDIR_HELP +Elimina un directorio. . -:SHELL_CMD_CHOICE_HELP -Espera a que se presione una tecla y establece un ERRORLEVEL. +:SHELL_CMD_RMDIR_HELP_LONG +Uso: + rd DIRECTORIO + rmdir DIRECTORIO -. -:SHELL_CMD_CHOICE_HELP_LONG -CHOICE [/C:opciones] [/N] [/S] texto - /C[:]opciones - Especifica teclas permitidas. Por defecto es: yn. - /N - No muestra las opciones al final del prompt. - /S - Habilita selección de opciones sensibles a mayúsculas y minúsculas. - text - El texto a mostrar como un prompt. +Dónde: + DIRECTORIO es el nombre del directorio a eliminar. -. -:SHELL_CMD_ATTRIB_HELP -No hace nada. Provisto para compatibilidad. +Notas: + El directorio debe estar vacío, sin archivos ni subdirectorios. -. -:SHELL_CMD_PATH_HELP -Provisto para compatibilidad. +Ejemplos: + rd dirvacío . -:SHELL_CMD_VER_HELP -Ve o establece la versión DOS reportada. +:SHELL_CMD_SET_HELP +Muestra o cambia las variables de entorno. . -:SHELL_CMD_VER_HELP_LONG +:SHELL_CMD_SET_HELP_LONG Uso: - ver - ver set VERSIÓN + set + set VARIABLE=[CADENA] Dónde: - VERSIÓN puede ser un número entero como 5, o incluir un valor decimal de dos - dígitos como: 6.22, 7.01, o 7.10. El decimal puede alternativamente - ser separado por espacio como: 6 22, 7 01, o 7 10. + VARIABLE El nombre de la variable de entorno. + CADENA Una serie de caracteres para asignar a la variable. Notas: - La versión DOS también puede ser establecida en el archivo de configuración - bajo la sección [dos] usando el ajuste "ver = VERSIÓN" . + - Asignar una cadena vacía a la variable elimina la variable. + - El comando sin un parámetro muestra las variables de entorno actuales. Ejemplos: - ver set 6.22 - ver set 7 10 + set + set nombre=valor . -:SHELL_CMD_VER_VER -DOSBox Staging versión %s -DOS versión %d.%02d +:SHELL_CMD_IF_HELP +Realiza procesamiento condicional en programas por lotes. . -:SHELL_CMD_VER_INVALID -La versión DOS especificada no es correcta. +:SHELL_CMD_IF_HELP_LONG +Uso: + if [not] errorlevel NÚMERO COMANDO + if [not] CAD1==CAD2 COMANDO + if [not] exist ARCHIVO COMANDO -. -:PROGRAM_PATH_TOO_LONG -The path "%s" exceeds the DOS maximum length of %d characters +Dónde: + NÚMERO es un entero positivo menor o igual al valor deseado. + CAD1==CAD2 compara dos cadenas de texto (distingue entre mayúsculas y minúsculas). + ARCHIVO es un nombre de archivo exacto a comprobar su existencia. + COMANDO es un comando o programa DOS a ejecutar, opcionalmente con parámetros. -. -:PROGRAM_EXECUTABLE_MISSING -Executable file not found: %s +Notas: + El COMANDO se ejecuta si se cumple alguna de las tres condiciones de uso. + Si not es especificado, el comando se ejecuta sólo con la condición false. + La condición errorlevel es útil para comprobar si un programa se ejecuta correctamente. + Si CAD1 o CAD2 están vacíos, puedes encerrarlos entre comillas ("). -. -:PROGRAM_IMGMOUNT_IDE_CONTROLLERS_UNAVAILABLE -No available IDE controllers. Drive will not have IDE emulation. +Ejemplos: + if errorlevel 2 dir + if "%%mivar%%"=="micadena" echo Hola mundo! + if not exist archivo.txt exit . -:SHELL_CMD_MEM_HELP_LONG -Displays the DOS memory information. - -Usage: - mem - -Where: - This command has no parameters. - -Notes: - This command shows the DOS memory status, including the free conventional - memory, UMB (upper) memory, XMS (extended) memory, and EMS (expanded) memory. - -Examples: - mem +:SHELL_CMD_GOTO_HELP +Salta a una línea etiquetada en un programa por lotes. . -:SHELL_CMD_LOADFIX_HELP_LONG -Loads a program in the specific memory region and then runs it. - -Usage: - loadfix GAME [PARAMETERS] - loadfix [/d] (or [/f]) - -Where: - GAME is a game or program to be loaded, optionally with parameters. - -Notes: - The most common use cases of this command are to fix DOS games or programs - which show either the "Packed File Corrupt" or "Not enough memory" (e.g., - from some 1980's games such as California Games II) error message when run. - Running loadfix without an argument simply allocates memory for your game - to run; you can free the memory with either /d or /f option when it finishes. - -Examples: - loadfix mygame args - loadfix /d +:SHELL_CMD_GOTO_HELP_LONG +Uso: + goto ETIQUETA -. -:SHELL_CMD_AUTOTYPE_HELP_LONG -Performs scripted keyboard entry into a running DOS game. +Dónde: + ETIQUETA es una cadena de texto usada en el programa por lotes como una etiqueta. -Usage: - autotype -list - autotype [-w WAIT] [-p PACE] BUTTONS +Notas: + Una etiqueta está en una línea por sí misma, iniciando con dos puntos (:). + La etiqueta debe ser única, y puede estar en cualquier lugar del programa por lotes. -Where: - WAIT is the number of seconds to wait before typing begins (max of 30). - PACE is the number of seconds before each keystroke (max of 10). - BUTTONS is one or more space-separated buttons. - -Notes: - The BUTTONS supplied in the command will be autotyped into running DOS games - after they start. Autotyping begins after WAIT seconds, and each button is - entered every PACE seconds. The , character inserts an extra PACE delay. - WAIT and PACE default to 2 and 0.5 seconds respectively if not specified. - A list of all available button names can be obtained using the -list option. +Ejemplos: + goto mietiqueta -Examples: - autotype -list - autotype -w 1 -p 0.3 up enter , right enter - autotype -p 0.2 f1 kp_8 , , enter - autotype -w 1.3 esc enter , p l a y e r enter - . -:SHELL_CMD_MIXER_HELP_LONG -Displays or changes the current sound mixer volumes. - -Usage: - mixer CHANNEL VOLUME [/noshow] - mixer [/listmidi] - -Where: - CHANNEL is the sound channel you want to change the volume. - VOLUME is an integer between 0 and 100 representing the volume. - -Notes: - Running mixer without an argument shows the volumes of all sound channels. - You can view available MIDI devices and user options with /listmidi option. - You may change the volumes of more than one sound channels in one command. - The /noshow option causes mixer not to show the volumes when making a change. +:SHELL_CMD_SHIFT_HELP +Parámetros de línea de comandos Left Shift en un programa por lotes. -Examples: - mixer - mixer master 50 record 60 /noshow - mixer /listmidi . -:SHELL_CMD_RESCAN_HELP_LONG -Scans for changes on mounted DOS drives. - -Usage: - rescan DRIVE - rescan [/a] +:SHELL_CMD_SHIFT_HELP_LONG +Uso: + shift -Where: - DRIVE is the drive to scan for changes. +Dónde: + Este comando no tiene parámetros. -Notes: - - Running rescan without an argument scans for changes of the current drive. - - Changes to this drive made on the host will then be reflected inside DOS. - - You can also scan for changes on all mounted drives with the /a option. +Notas: + Este comando permite que un programa por lotes DOS acepte más de 9 parámetros. + Ejecutar shift cambia la variable del programa por lotes de %%1 a %%0, de %%2 a %%1, etc. -Examples: - rescan c: - rescan /a +Ejemplos: + shift . -:PROGRAM_INTRO_CDROM_WINDOWS -How to mount a virtual CD-ROM Drive in DOSBox: -DOSBox provides CD-ROM emulation on several levels. - -This works on all normal directories, installs MSCDEX and marks the files -read-only. Usually this is enough for most games: - -mount D C:\example -t cdrom - -If it doesn't work you might have to tell DOSBox the label of the CD-ROM: - -mount D C:\example -t cdrom -label CDLABEL - -Additionally, you can use imgmount to mount iso or cue/bin images: - -imgmount D C:\cd.iso -t cdrom - -imgmount D C:\cd.cue -t cdrom +:SHELL_CMD_TYPE_HELP +Muestra el contenido de un archivo de texto. . -:PROGRAM_INTRO_CDROM_OTHER -How to mount a virtual CD-ROM Drive in DOSBox: -DOSBox provides CD-ROM emulation on several levels. - -This works on all normal directories, installs MSCDEX and marks the files -read-only. Usually this is enough for most games: - -mount D ~/example -t cdrom - -If it doesn't work you might have to tell DOSBox the label of the CD-ROM: - -mount D ~/example -t cdrom -label CDLABEL - -Additionally, you can use imgmount to mount iso or cue/bin images: - -imgmount D ~/cd.iso -t cdrom - -imgmount D ~/cd.cue -t cdrom +:SHELL_CMD_TYPE_HELP_LONG +Uso: + type ARCHIVO -. -:SHELL_CMD_BOOT_HELP_LONG -Boots DOSBox Staging from a DOS drive or disk image. +Dónde: + ARCHIVO es el nombre del archivo a mostrar. -Usage: - boot DRIVE - boot IMAGEFILE - -Where: - DRIVE is a drive to boot from, must be A:, C:, or D:. - IMAGEFILE is one or more floppy images, separated by spaces. - -Notes: - A DOS drive letter must have been mounted previously with imgmount command. - The DOS drive or disk image must be bootable, containing DOS system files. - If more than one disk images are specified, you can swap them with a hotkey. +Notas: + El archivo debe ser un nombre de archivo exacto, opcionalmente con una ruta. + Este comando es sólo para ver archivos de texto, no archivos binarios. -Examples: - boot c: - boot disk1.ima disk2.ima +Ejemplos: + type texto.txt + type c:\dos\léame.txt . -:SHELL_CMD_LOADROM_HELP_LONG -Loads a ROM image of the video BIOS or IBM BASIC. - -Usage: - loadrom IMAGEFILE - -Where: - IMAGEFILE is a video BIOS or IBM BASIC ROM image. - -Notes: - After loading an IBM BASIC ROM image into the emulated ROM with the command, - you can run the original IBM BASIC interpreter program in DOSBox Staging. - -Examples: - loadrom bios.rom +:SHELL_CMD_REM_HELP +Agrega comentarios en un programa por lotes. . -:PROGRAM_KEYB_HELP_LONG -Configures a keyboard for a specific language. - -Usage: - keyb [LANGCODE] - keyb LANGCODE CODEPAGE [CODEPAGEFILE] - -Where: - LANGCODE is a language code or keyboard layout ID. - CODEPAGE is a code page number, such as 437 and 850. - CODEPAGEFILE is a file containing information for a code page. - -Notes: - Running keyb without an argument shows the currently loaded keyboard layout - and code page. It will change to LANGCODE if provided, optionally with a - CODEPAGE and an additional CODEPAGEFILE to load the specified code page - number and code page file if provided. This command is especially useful if - you use a non-US keyboard, and LANGCODE can also be set in the configuration - file under the [dos] section using the "keyboardlayout = LANGCODE" setting. +:SHELL_CMD_REM_HELP_LONG +Uso: + rem COMENTARIO -Examples: - KEYB - KEYB uk - KEYB sp 850 - KEYB de 858 mycp.cpi +Dónde: + COMENTARIO es cualquier comentario que quieras añadir. -. -:PROGRAM_SERIAL_HELP -Manage the serial ports. +Notas: + Agregar comentarios a un programa por lotes puede hacerlo fácil de entender. + También puedes comentar temporalmente algunos comandos con este comando. -Usage modes: - SERIAL /L | /LIST List the current serial ports. - SERIAL PORT# TYPE [settings] Set the port to the given TYPE. - -Where: - PORT# : 1, 2, 3, or 4 - TYPE : MODEM, NULLMODEM, DIRECTSERIAL, DUMMY, or DISABLED - -Optional settings for each TYPE: - For MODEM : IRQ, LISTENPORT, SOCK - For NULLMODEM : IRQ, SERVER, RXDELAY, TXDELAY, TELNET, - USEDTR, TRANSPARENT, PORT, INHSOCKET, SOCK - For DIRECTSERIAL : IRQ, REALPORT (required), RXDELAY - For DUMMY : IRQ - -Examples using port 1, or COM1 in DOS: - SERIAL /list : List the current serial ports - SERIAL 1 NULLMODEM PORT:1250 : Listen on TCP:1250 as server - SERIAL 1 NULLMODEM SERVER:10.0.0.6 PORT:1250 : Connect to TCP:1250 as client - SERIAL 1 MODEM LISTENPORT:5000 SOCK:1 : Listen on UDP:5000 as server - SERIAL 1 DIRECTSERIAL REALPORT:ttyUSB0 : Use a physical port on Linux +Ejemplos: + rem Este es mi programa por lotes de prueba. . -:PROGRAM_SERIAL_SHOW_PORT -COM%d: %s %s +:SHELL_CMD_NO_WILD +Esta es una versión simple del comando, no se permiten comodines! . -:PROGRAM_SERIAL_BAD_PORT -Must specify a numeric port value between 1 and %d, inclusive. +:SHELL_CMD_RENAME_HELP +Renombra uno o más archivos. . -:PROGRAM_SERIAL_BAD_MODE -Mode must be one of the following: +:SHELL_CMD_RENAME_HELP_LONG +Uso: + ren FUENTE DESTINO + rename FUENTE DESTINO -. -:PROGRAM_SERIAL_INDENTED_LIST - %s +Dónde: + FUENTE es el nombre del archivo a renombrar. + DESTINO es el nuevo nombre para el archivo renombrado. -. -:PROGRAM_PLACEHOLDER_SHORT_HELP -This program is a placeholder -. -:PROGRAM_PLACEHOLDER_LONG_HELP -%s is only a placeholder. +Notas: + - El archivo fuente debe ser un nombre de archivo exacto, opcionalmente con una ruta. + - El archivo destino debe ser un nombre archivo exacto sin una ruta. -Install a 3rd-party and give its PATH precedence. +Ejemplos: + ren nombreantiguo nombrenuevo + ren c:\dos\archivo.txt a.txt -For example: . -:UTILITY_DRIVE_EXAMPLE_NO_TRANSLATE - - [autoexec] - mount u ~/dos/utils - set PATH=u:\;%PATH% - +:SHELL_CMD_DELETE_HELP +Elimina uno o más archivos. . -:VISIT_FOR_MORE_HELP -Visit the following for more help: -. -:WIKI_ADD_UTILITIES_ARTICLE -https://github.com/dosbox-staging/dosbox-staging/wiki/Add-Utilities -. -:WIKI_URL -https://github.com/dosbox-staging/dosbox-staging/wiki -. -:SHELL_CMD_COMMAND_HELP_LONG -Starts the DOSBox Staging command shell. -Usage: - command - command /c (or /init) COMMAND - -Where: - COMMAND is a DOS command, game, or program to run. +:SHELL_CMD_DELETE_HELP_LONG +Uso: + del PATRÓN + erase PATRÓN -Notes: - DOSBox Staging automatically starts a DOS command shell by invoking this - command with /init option when it starts, which shows the welcome banner. - You can load a new instance of the command shell by running command. - Adding a /c option along with COMMAND allows this command to run the - specified command (optionally with parameters) and then exit automatically. +Dónde: + PATRÓN puede ser un nombre de archivo exacto (como archivo.txt) o un nombre + de archivo inexacto usando uno o más comodines, que son el asterisco (*) + que representa cualquier secuencia de uno o más caracteres, y el signo + de interrogación (?) que representa cualquier carácter único, como *.bat y c?.txt. + +Advertencia: + Tenga cuidado cuando use un patrón con comodines, especialmente *.*, ya que todos los archivos + que coincidan con el patrón podrían ser borrados. -Examples: - command - command /c echo Hello world! - command /init dir +Ejemplos: + del prueba.bat + del c*.* + del a?b.c* . -:SHELL_CMD_TIME_ERROR -The specified time is not correct. +:SHELL_CMD_COPY_HELP +Copia uno o más archivos. . -:SHELL_CMD_TIME_SETHLP -Type 'time hh:mm:ss' to change. +:SHELL_CMD_COPY_HELP_LONG +Uso: + copy FUENTE [DESTINO] + copy FUENTE1+FUENTE2[+...] [DESTINO] -. -:SHELL_CMD_PAUSE_HELP_LONG -Usage: - pause +Dónde: + FUENTE Puede ser un nombre de archivo exacto o un nombre de archivo inexacto con + comodines, que son el asterisco (*) y el signo de interrogación (?). + DESTINO Un nombre de archivo exacto o directorio, que no contenga comodines. -Where: - This command has no parameters. +Notas: + El operador + combina múltiples archivos fuente proporcionados en un solo archivo. + DESTINO es opcional: si se omite, los archivos son copiados a la ruta actual. -Notes: - This command is especially useful in batch programs to allow a user to - continue the batch program execution with a key press. The user can press - any key on the keyboard (except for certain control keys) to continue. +Ejemplos: + copy fuente.bat nuevo.bat + copy archivo1.txt+archivo2.txt archivo3.txt + copy ..\c*.* -Examples: - pause +. +:SHELL_CMD_CALL_HELP +Inicia un programa por lotes desde otro programa por lotes. . -:SHELL_CMD_CLS_HELP_LONG -Usage: - cls +:SHELL_CMD_CALL_HELP_LONG +Uso: + call BATCH [PARÁMETROS] -Where: - This command has no parameters. +Dónde: + BATCH es un programa por lotes a lanzar. + PARÁMETROS son parámetros opcionales para el programa por lotes. -Notes: - Running cls clears all texts on the DOS screen, except for the command - prompt (e.g. Z:\> or C:\GAMES>) on the top-left corner of the screen. +Notas: + Después de llamar a otro programa por lotes, el programa por lotes original + se reanudará despues de que el otro programa por lotes termine. -Examples: - cls +Ejemplos: + call mibatch.bat + call archivo.bat Hola mundo! . -:SHELL_CMD_ECHO_HELP_LONG -Usage: - echo [on|off] - echo [MESSAGE] - -Where: - on|off Turns on/off command echoing. - MESSAGE The message to display. - -Notes: - - Running echo without an argument shows the current on or off status. - - Echo is especially useful when writing or debugging batch files. - -Examples: - echo off - echo Hello world! +:SHELL_CMD_SUBST_HELP +Asigna un directorio interno a una unidad. . -:SHELL_CMD_EXIT_HELP_LONG -Usage: - exit +:SHELL_CMD_SUBST_HELP_LONG +Uso: + subst UNIDAD RUTA + subst UNIDAD /d -Where: - This command has no parameters. +Dónde: + UNIDAD es una unidad a la que se quiere asignar una ruta. + RUTA es una ruta DOS montada que se desea asignar. -Notes: - If you start a DOS shell from a program, running exit returns to the program. - If there is no DOS program running, the command quits from DOSBox Staging. +Notas: + La ruta debe estar en una unidad montada por el comando mount . + Puedes remover una unidad asignada con la opción /d. -Examples: - exit +Ejemplos: + subst d: c:\juegos + subst e: /d . -:SHELL_CMD_EXIT_TOO_SOON -Preventing an early 'exit' call from terminating. +:SHELL_CMD_LOADHIGH_HELP +Carga un programa DOS en la memoria superior. . -:SHELL_CMD_HELP_HELP_LONG -Usage: - help - help /a[ll] - help COMMAND +:SHELL_CMD_LOADHIGH_HELP_LONG +Uso: + lh PROGRAMA [PARÁMETROS] + loadhigh PROGRAMA [PARÁMETROS] -Where: - COMMAND is the name of an internal DOS command, such as dir. +Dónde: + PROGRAMA es un programa TSR DOS a cargar, opcionalmente con parámetros. -Notes: - - Running echo without an argument displays a DOS command list. - - You can view a full list of internal commands with the /a or /all option. - - Instead of help COMMAND, you can also get command help with COMMAND /?. +Notas: + Este comando pretende ahorrar la memoria convencional cargando programas TSR DOS + especificados en la memoria superior si es posible. Estos programas pueden ser necesarios para + algunos juegos DOS; las memorias XMS y UMB deben estar habilitadas (xms=true y umb=true). + No todos los programas TSR DOS pueden ser cargados en la memoria superior con este comando. -Examples: - help dir - help /all +Ejemplos: + lh progtsr args . -:SHELL_CMD_INTRO_HELP -Displays a full-screen introduction to DOSBox Staging. +:SHELL_CMD_LS_HELP +Muestra el contenido del directorio en formato de lista amplia. . -:SHELL_CMD_INTRO_HELP_LONG -Usage: - intro - intro PAGE +:SHELL_CMD_LS_HELP_LONG +Uso: + ls PATRÓN + ls RUTA -Where: - PAGE is the page name to display, including cdrom, mount, and special. +Dónde: + PATRÓN puede ser un nombre de archivo exacto o un nombre de archivo inexacto con + comodines, que son el asterisco (*) y el signo de interrogación (?). + RUTA es una ruta exacta en una unidad DOS montada para listar contenido. -Notes: - Running intro without an argument displays one information page at a time; - press any key to move to the next page. If a page name is provided, then the - specified page will be displayed directly. +Notas: + El comando puede listar directorios en azul, programas ejecutables DOS + (*.com, *.exe, *.bat) en verde, y otros archivos en color normal. -Examples: - intro - intro cdrom +Ejemplos: + ls archivo.txt + ls c*.ba? . -:SHELL_CMD_SET_HELP_LONG -Usage: - set - set VARIABLE=[STRING] - -Where: - VARIABLE The name of the environment variable. - STRING A series of characters to assign to the variable. - -Notes: - - Assigning an empty string to the variable removes the variable. - - The command without a parameter displays current environment variables. - -Examples: - set - set name=value +:SHELL_CMD_LS_PATH_ERR +ls: no se puede acceder a '%s': No hay tal archivo o directorio . -:SHELL_CMD_IF_HELP_LONG -Usage: - if [not] errorlevel NUMBER COMMAND - if [not] STR1==STR2 COMMAND - if [not] exist FILE COMMAND - -Where: - NUMBER is a positive integer less or equal to the desired value. - STR1==STR2 compares two text strings (case-sensitive). - FILE is an exact file name to check for existence. - COMMAND is a DOS command or program to run, optionally with parameters. - -Notes: - The COMMAND is run if any of the three conditions in the usage are met. - If not is specified, then the command runs only with the false condition. - The errorlevel condition is useful for checking if a programs ran correctly. - If either STR1 or STR2 may be empty, you can enclose them in quotes ("). - -Examples: - if errorlevel 2 dir - if "%%myvar%%"=="mystring" echo Hello world! - if not exist file.txt exit +:SHELL_CMD_CHOICE_HELP +Espera a que se presione una tecla y establece un valor ERRORLEVEL. . -:SHELL_CMD_GOTO_HELP_LONG -Usage: - goto LABEL +:SHELL_CMD_CHOICE_HELP_LONG +Uso: + choice [TEXTO] + choice /c[:]OPCIONES [/n] [/s] [TEXTO] -Where: - LABEL is text string used in the batch program as a label. +Dónde: + TEXTO es el texto a mostrar como un aviso, o vacío. + /c[:]OPCIONES Especifica teclas permitidas, que por defecto son yn. + /n No muestra las opciones al final del aviso. + /s Permite seleccionar opciones que distinguen entre mayúsculas y minúsculas. -Notes: - A label is on a line by itself, beginning with a colon (:). - The label must be unique, and can be anywhere within the batch program. +Notas: + Este comando establece un valor ERRORLEVEL empezando desde 1 de acuerdo a las + teclas permitidas especificadas en la opción /c, y la entrada del usuario puede comprobarse + con el comando if . Con la opción /n sólo se mostrará el texto especificado, + pero no las opciones actuales (como la predeterminada [Y,N]?) en el final. -Examples: - goto mylabel +Ejemplos: + choice Continuar? + choice /c:abc /s Escriba la letra a, b, o c . -:SHELL_CMD_SHIFT_HELP_LONG -Usage: - shift - -Where: - This command has no parameters. +:SHELL_CMD_PATH_HELP +Muestra o establece una ruta de búsqueda para archivos ejecutables. -Notes: - This command allows a DOS batch program to accept more than 9 parameters. - Running shift left-shifts the batch program variable %%1 to %%0, %%2 to %%1, etc. +. +:SHELL_CMD_PATH_HELP_LONG +Uso: + path + path [[unidad:]ruta[;...] -Examples: - shift +Dónde: + [[unidad:]ruta[;...] es una ruta que contiene una unidad y un directorio. + Más de una ruta puede ser especificada, separada por un punto y coma (;). -. -:SHELL_CMD_DELETE_HELP_LONG -Usage: - del PATTERN - erase PATTERN - -Where: - PATTERN can be either an exact filename (such as file.txt) or an inexact - filename using one or more wildcards, which are the asterisk (*) - representing any sequence of one or more characters, and the question - mark (?) representing any single character, such as *.bat and c?.txt. - -Warning: - Be careful when using a pattern with wildcards, especially *.*, as all files - matching the pattern will be deleted. +Notas: + El parámetro con un punto y coma (;) sólo borra todos los ajustes de la ruta de búsqueda. + La ruta también puede establecerse usando el comando set , por ejemplo set path=Z:\ -Examples: - del test.bat - del c*.* - del a?b.c* +Ejemplos: + path + path Z:\;C:\DOS . -:SHELL_CMD_COPY_HELP_LONG -Usage: - copy SOURCE [DESTINATION] - copy SOURCE1+SOURCE2[+...] [DESTINATION] - -Where: - SOURCE Can be either an exact filename or an inexact filename with - wildcards, which are the asterisk (*) and the question mark (?). - DESTINATION An exact filename or directory, not containing any wildcards. - -Notes: - The + operator combines multiple source files provided to a single file. - Destination is optional: if omitted, files are copied to the current path. - -Examples: - copy source.bat new.bat - copy file1.txt+file2.txt file3.txt - copy ..\c*.* +:SHELL_CMD_VER_HELP +Ve o establece la versión DOS reportada. . -:SHELL_CMD_CALL_HELP_LONG -Usage: - call BATCH [PARAMETERS] +:SHELL_CMD_VER_HELP_LONG +Uso: + ver + ver set VERSIÓN -Where: - BATCH is a batch program to launch. - PARAMETERS are optional parameters for the batch program. - -Notes: - After calling another batch program, the original batch program will - resume running after the other batch program ends. - -Examples: - call mybatch.bat - call file.bat Hello world! +Dónde: + VERSIÓN puede ser un número entero como 5, o incluir un valor decimal de dos + dígitos como: 6.22, 7.01, o 7.10. El decimal puede alternativamente + ser separado por espacio como: 6 22, 7 01, o 7 10. -. -:SHELL_CMD_SUBST_HELP_LONG -Usage: - subst DRIVE PATH - subst DRIVE /d - -Where: - DRIVE is a drive to which you want to assign a path. - PATH is a mounted DOS path you want to assign to. - -Notes: - The path must be on a drive mounted by the mount command. - You can remove an assigned drive with the /d option. +Notas: + La versión DOS también puede ser establecida en el archivo de configuración + bajo la sección [dos] usando el ajuste "ver = VERSIÓN" . -Examples: - subst d: c:\games - subst e: /d +Ejemplos: + ver set 6.22 + ver set 7 10 . -:SHELL_CMD_LOADHIGH_HELP_LONG -Usage: - lh PROGRAM [PARAMETERS] - loadhigh PROGRAM [PARAMETERS] - -Where: - PROGRAM is a DOS TSR program to be loaded, optionally with parameters. - -Notes: - This command intends to save the conventional memory by loading specified DOS - TSR programs into upper memory if possible. Such programs may be required for - some DOS games; XMS and UMB memory must be enabled (xms=true and umb=true). - Not all DOS TSR programs can be loaded into upper memory with this command. - -Examples: - lh tsrapp args +:SHELL_CMD_VER_VER +DOSBox Staging versión %s +DOS versión %d.%02d . -:SHELL_CMD_PATH_HELP_LONG -Usage: - path - path [[drive:]path[;...] - -Where: - [[drive:]path[;...] is a path containing a drive and directory. - More than one path can be specified, separated by a semi-colon (;). - -Notes: - Parameter with a semi-colon (;) only clears all search path settings. - The path can also be set using set command, e.g. set path=Z:\ - -Examples: - path - path Z:\;C:\DOS +:SHELL_CMD_VER_INVALID +La versión DOS especificada no es correcta. -. +. \ No newline at end of file diff -Nru dosbox-staging-0.79.0~alpha~115~gc34a/debian/changelog dosbox-staging-0.79.0~alpha~140~ge4e3/debian/changelog --- dosbox-staging-0.79.0~alpha~115~gc34a/debian/changelog 2022-01-14 04:19:00.000000000 +0000 +++ dosbox-staging-0.79.0~alpha~140~ge4e3/debian/changelog 2022-01-21 04:19:24.000000000 +0000 @@ -1,4 +1,51 @@ -dosbox-staging (0.79.0~alpha~115~gc34a-1+u20.04) focal; urgency=medium +dosbox-staging (0.79.0~alpha~140~ge4e3-1+u20.04) focal; urgency=medium + + [ Feignint ] + ** SNAPSHOT build @2c4ea194b78126c895ce87e6fb6bc1c5c418fa77 ** + + * UNRELEASED + + [ Wengier ] + * [af2913ae] Add country support for different date, time, and decimal formats + * [e9a98692] Adjust help messages for DATE and TIME accordingly + * [647a1db5] Rewrite country data as arrays + * [59093965] Try to map keyboard layout to country code + * [22214b30] Remove unnecessary default date format + * [7a1f8ce7] Fix warnings for string literals + * [2d16d00e] Rewrite country codes as enum class and std::array + * [8a41edc2] Rewrite dos.tables.country magic numbers as chars + * [177e54b0] Refactor the code to use is_date_valid and is_time_valid functions + * [7ddb134f] Refactor time format code and rename formatting functions + * [659a975c] Rewrite DOS country mappings + * [669ed8f4] Addresses issues as suggested + + [ kcgen ] + * [d57136a7] Revert "Use more direct test for VGA double-height" (#1526) + + [ Wengier ] + * [d4db73ed] Support for window transparency + + [ kcgen ] + * [388442b7] Sync loguru with upstream (snapshot 2022-01-15) + * [50cb670e] Use the draw flags to determine axis-doubling + * [5c037a69] Add a helper to determine if draw size is doubled + * [c1f31532] Manage the pixel-perfect calls and results using a class + * [12a093e8] Use the pp_scale_t class instead of the previous SDL point + + [ IPeluchito ] + * [e2183150] Update spanish (es_ES) translation + + [ Wengier Wu ] + * [8fab5bd0] Convert ANSI codes to markups in help messages + + [ kcgen ] + * [1d8af4fb] Scale the desktop size fairly without extra aspect allowances + * [1d2acd41] Deduct the border decorations from the desktop size + * [e4e35149] Give the "medium" window present space for one PP step + + -- Feignint <37488595+FeignInt@users.noreply.github.com> Fri, 21 Jan 2022 04:19:24 +0000 + +dosbox-staging (0.79.0~alpha~115~gc34a-1) unstable; urgency=medium [ Feignint ] ** SNAPSHOT build @3f2709a77fc638ec5a1dc5a8591fe8578fcf2827 ** diff -Nru dosbox-staging-0.79.0~alpha~115~gc34a/debian/changelog-weekly dosbox-staging-0.79.0~alpha~140~ge4e3/debian/changelog-weekly --- dosbox-staging-0.79.0~alpha~115~gc34a/debian/changelog-weekly 2022-01-14 04:19:00.000000000 +0000 +++ dosbox-staging-0.79.0~alpha~140~ge4e3/debian/changelog-weekly 2022-01-21 04:19:24.000000000 +0000 @@ -1,3 +1,50 @@ +dosbox-staging (0.79.0~alpha~140~ge4e3-1) unstable; urgency=medium + + [ Feignint ] + ** SNAPSHOT build @2c4ea194b78126c895ce87e6fb6bc1c5c418fa77 ** + + * UNRELEASED + + [ Wengier ] + * [af2913ae] Add country support for different date, time, and decimal formats + * [e9a98692] Adjust help messages for DATE and TIME accordingly + * [647a1db5] Rewrite country data as arrays + * [59093965] Try to map keyboard layout to country code + * [22214b30] Remove unnecessary default date format + * [7a1f8ce7] Fix warnings for string literals + * [2d16d00e] Rewrite country codes as enum class and std::array + * [8a41edc2] Rewrite dos.tables.country magic numbers as chars + * [177e54b0] Refactor the code to use is_date_valid and is_time_valid functions + * [7ddb134f] Refactor time format code and rename formatting functions + * [659a975c] Rewrite DOS country mappings + * [669ed8f4] Addresses issues as suggested + + [ kcgen ] + * [d57136a7] Revert "Use more direct test for VGA double-height" (#1526) + + [ Wengier ] + * [d4db73ed] Support for window transparency + + [ kcgen ] + * [388442b7] Sync loguru with upstream (snapshot 2022-01-15) + * [50cb670e] Use the draw flags to determine axis-doubling + * [5c037a69] Add a helper to determine if draw size is doubled + * [c1f31532] Manage the pixel-perfect calls and results using a class + * [12a093e8] Use the pp_scale_t class instead of the previous SDL point + + [ IPeluchito ] + * [e2183150] Update spanish (es_ES) translation + + [ Wengier Wu ] + * [8fab5bd0] Convert ANSI codes to markups in help messages + + [ kcgen ] + * [1d8af4fb] Scale the desktop size fairly without extra aspect allowances + * [1d2acd41] Deduct the border decorations from the desktop size + * [e4e35149] Give the "medium" window present space for one PP step + + -- Feignint <37488595+FeignInt@users.noreply.github.com> Fri, 21 Jan 2022 04:19:24 +0000 + dosbox-staging (0.79.0~alpha~115~gc34a-1) unstable; urgency=medium [ Feignint ] diff -Nru dosbox-staging-0.79.0~alpha~115~gc34a/.github/ISSUE_TEMPLATE/bug_report.yml dosbox-staging-0.79.0~alpha~140~ge4e3/.github/ISSUE_TEMPLATE/bug_report.yml --- dosbox-staging-0.79.0~alpha~115~gc34a/.github/ISSUE_TEMPLATE/bug_report.yml 2022-01-14 01:08:08.000000000 +0000 +++ dosbox-staging-0.79.0~alpha~140~ge4e3/.github/ISSUE_TEMPLATE/bug_report.yml 2022-01-21 00:57:12.000000000 +0000 @@ -1,6 +1,5 @@ name: Bug Report description: File a Bug report -title: '[BUG] ' labels: bug #assignees: 'anonymous@temp' diff -Nru dosbox-staging-0.79.0~alpha~115~gc34a/.github/ISSUE_TEMPLATE/feature_request.yml dosbox-staging-0.79.0~alpha~140~ge4e3/.github/ISSUE_TEMPLATE/feature_request.yml --- dosbox-staging-0.79.0~alpha~115~gc34a/.github/ISSUE_TEMPLATE/feature_request.yml 2022-01-14 01:08:08.000000000 +0000 +++ dosbox-staging-0.79.0~alpha~140~ge4e3/.github/ISSUE_TEMPLATE/feature_request.yml 2022-01-21 00:57:12.000000000 +0000 @@ -1,6 +1,5 @@ name: Feature Request description: Suggest an idea (a new feature or other improvement) for this project -title: '[Feature] ' labels: enhancement #assignees: 'anonymous@temp' diff -Nru dosbox-staging-0.79.0~alpha~115~gc34a/.github/ISSUE_TEMPLATE/question.yml dosbox-staging-0.79.0~alpha~140~ge4e3/.github/ISSUE_TEMPLATE/question.yml --- dosbox-staging-0.79.0~alpha~115~gc34a/.github/ISSUE_TEMPLATE/question.yml 2022-01-14 01:08:08.000000000 +0000 +++ dosbox-staging-0.79.0~alpha~140~ge4e3/.github/ISSUE_TEMPLATE/question.yml 2022-01-21 00:57:12.000000000 +0000 @@ -1,6 +1,5 @@ name: Question description: Ask for support or start a discussion. -title: '[Question] ' labels: question #assignees: 'anonymous@temp' diff -Nru dosbox-staging-0.79.0~alpha~115~gc34a/include/dos_inc.h dosbox-staging-0.79.0~alpha~140~ge4e3/include/dos_inc.h --- dosbox-staging-0.79.0~alpha~115~gc34a/include/dos_inc.h 2022-01-14 01:08:08.000000000 +0000 +++ dosbox-staging-0.79.0~alpha~140~ge4e3/include/dos_inc.h 2022-01-21 00:57:12.000000000 +0000 @@ -755,4 +755,45 @@ return psp.GetFileHandle(handle); } +enum COUNTRY { + United_States = 1, + Candian_French = 2, + Latin_America = 3, + Russia = 7, + Greece = 30, + Netherlands = 31, + Belgium = 32, + France = 33, + Spain = 34, + Hungary = 36, + Yugoslavia = 38, + Italy = 39, + Romania = 40, + Switzerland = 41, + Czech_Slovak = 42, + Austria = 43, + United_Kingdom = 44, + Denmark = 45, + Sweden = 46, + Norway = 47, + Poland = 48, + Germany = 49, + Brazil = 55, + Australia = 61, + Japan = 81, + South_Korea = 82, + China = 86, + Turkey = 90, + Portugal = 351, + Iceland = 354, + Finland = 358, + Estonia = 372, + Belarus = 375, + Ukraine = 380, + Slovenia = 386, + Taiwan = 886, + Arabic = 785, + Israel = 972, +}; + #endif diff -Nru dosbox-staging-0.79.0~alpha~115~gc34a/include/support.h dosbox-staging-0.79.0~alpha~140~ge4e3/include/support.h --- dosbox-staging-0.79.0~alpha~115~gc34a/include/support.h 2022-01-14 01:08:08.000000000 +0000 +++ dosbox-staging-0.79.0~alpha~140~ge4e3/include/support.h 2022-01-21 00:57:12.000000000 +0000 @@ -280,6 +280,13 @@ void set_thread_name(std::thread &thread, const char *name); +constexpr uint8_t DOS_DATE_months[] = {0, 31, 28, 31, 30, 31, 30, + 31, 31, 30, 31, 30, 31}; + +bool is_date_valid(const uint32_t year, const uint32_t month, const uint32_t day); + +bool is_time_valid(const uint32_t hour, const uint32_t minute, const uint32_t second); + /* Returns a number wrapped between the lower and upper bounds. - wrap(-1, 0, 4); // Returns 4 diff -Nru dosbox-staging-0.79.0~alpha~115~gc34a/src/dos/dos.cpp dosbox-staging-0.79.0~alpha~140~ge4e3/src/dos/dos.cpp --- dosbox-staging-0.79.0~alpha~115~gc34a/src/dos/dos.cpp 2022-01-14 01:08:08.000000000 +0000 +++ dosbox-staging-0.79.0~alpha~140~ge4e3/src/dos/dos.cpp 2022-01-21 00:57:12.000000000 +0000 @@ -22,6 +22,7 @@ #include #include #include +#include #include "bios.h" #include "callback.h" @@ -38,6 +39,7 @@ DOS_Block dos; DOS_InfoBlock dos_infoblock; +uint16_t countryNo = 0; unsigned int result_errorcode = 0; #define DOS_COPYBUFSIZE 0x10000 @@ -47,10 +49,116 @@ dos.errorcode=code; } -const Bit8u DOS_DATE_months[] = { - 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 +std::array countries_date_format_mmddyyyy = { + COUNTRY::United_States, }; +std::array countries_date_format_yyyymmdd = { + COUNTRY::Candian_French, COUNTRY::Hungary, COUNTRY::Yugoslavia, + COUNTRY::Romania, COUNTRY::Czech_Slovak, COUNTRY::Sweden, + COUNTRY::Poland, COUNTRY::Japan, COUNTRY::South_Korea, + COUNTRY::China, COUNTRY::Iceland, COUNTRY::Taiwan, +}; + +std::array countries_date_separator_slash = { + COUNTRY::Latin_America, COUNTRY::Greece, COUNTRY::Belgium, + COUNTRY::Spain, COUNTRY::Italy, COUNTRY::United_Kingdom, + COUNTRY::Brazil, COUNTRY::Turkey, COUNTRY::Arabic, + COUNTRY::Taiwan, COUNTRY::Israel, +}; + +std::array countries_date_separator_period = { + COUNTRY::Russia, COUNTRY::France, COUNTRY::Switzerland, + COUNTRY::Austria, COUNTRY::Norway, COUNTRY::Germany, + COUNTRY::China, COUNTRY::Finland, +}; + +std::array countries_time_12hour_clock = { + COUNTRY::United_States, + COUNTRY::Latin_America, + COUNTRY::Australia, +}; + +std::array countries_time_separator_comma = { + COUNTRY::Switzerland, +}; + +std::array countries_time_separator_period = { + COUNTRY::Italy, + COUNTRY::Denmark, + COUNTRY::Sweden, + COUNTRY::Finland, +}; + +std::array countries_decimal_separator_comma = { + COUNTRY::United_States, COUNTRY::United_Kingdom, COUNTRY::Australia, + COUNTRY::Japan, COUNTRY::South_Korea, COUNTRY::China, + COUNTRY::Taiwan, +}; + +std::array countries_decimal_separator_period = { + COUNTRY::Latin_America, COUNTRY::Netherlands, COUNTRY::Spain, + COUNTRY::Yugoslavia, COUNTRY::Italy, COUNTRY::Romania, + COUNTRY::Denmark, COUNTRY::Sweden, COUNTRY::Germany, + COUNTRY::Brazil, COUNTRY::Portugal, COUNTRY::Iceland, + COUNTRY::Arabic, COUNTRY::Israel, +}; + +void DOS_SetCountry(uint16_t country_number) +{ + if (dos.tables.country == NULL) + return; + + Bit8u *p; + + // Date format + p = dos.tables.country; + if (contains(countries_date_format_mmddyyyy, country_number)) + *p = 0; // MM-DD-YYYY + else if (contains(countries_date_format_yyyymmdd, country_number)) + *p = 2; // YYYY-MM-DD + else + *p = 1; // DD-MM-YYYY + + // Date separation character + p = dos.tables.country + 11; + if (contains(countries_date_separator_slash, country_number)) + *p = 0x2f; // Forward-slash (/) + else if (contains(countries_date_separator_period, country_number)) + *p = 0x2e; // Period (.) + else + *p = 0x2d; // Dash (-) + + // 12-hour or 24-hour clock + p = dos.tables.country + 17; + if (contains(countries_time_12hour_clock, country_number)) + *p = 0; // 12-hour clock + else + *p = 1; // 24-hour clock + + // Time separation character + p = dos.tables.country + 13; + if (contains(countries_time_separator_comma, country_number)) + *p = 0x2c; // Comma (,) + else if (contains(countries_time_separator_period, country_number)) + *p = 0x2e; // Period (.) + else + *p = 0x3a; // Column (:) + + // Thousand and decimal separators + p = dos.tables.country + 7; + if (contains(countries_decimal_separator_comma, country_number)) { + *p = 0x2c; // Comma (,) + *(p + 2) = 0x2e; // Period (.) + } else if (contains(countries_decimal_separator_period, country_number)) { + *p = 0x2e; // Period (.) + *(p + 2) = 0x2c; // Comma (,) + } else { + *p = 0x20; // Space ( ) + *(p + 2) = 0x2c; // Comma (,) + } +} + uint16_t DOS_PackTime(uint16_t hour, uint16_t min, uint16_t sec) noexcept { const auto h_bits = 0b1111100000000000 & (hour << 11); @@ -473,12 +581,9 @@ } break; case 0x2b: /* Set System Date */ - if (reg_cx<1980) { reg_al=0xff;break;} - if ((reg_dh>12) || (reg_dh==0)) { reg_al=0xff;break;} - if (reg_dl==0) { reg_al=0xff;break;} - if (reg_dl>DOS_DATE_months[reg_dh]) { - if(!((reg_dh==2)&&(reg_cx%4 == 0)&&(reg_dl==29))) // february pass - { reg_al=0xff;break; } + if (!is_date_valid(reg_cx, reg_dh, reg_dl)) { + reg_al = 0xff; + break; } dos.date.year=reg_cx; dos.date.month=reg_dh; @@ -509,8 +614,8 @@ break; } case 0x2d: /* Set System Time */ - if( reg_ch > 23 || reg_cl > 59 || reg_dh > 59 || reg_dl > 99 ) - reg_al = 0xff; + if (!is_time_valid(reg_ch, reg_cl, reg_dh) || reg_dl > 99) + reg_al = 0xff; else { //Allow time to be set to zero. Restore the orginal time for all other parameters. (QuickBasic) if (reg_cx == 0 && reg_dx == 0) {time_start = mem_readd(BIOS_TIMER);LOG_MSG("Warning: game messes with DOS time!");} else time_start = 0; @@ -633,17 +738,18 @@ }; LOG(LOG_MISC,LOG_ERROR)("DOS:0x37:Call for not supported switchchar"); break; - case 0x38: /* Set Country Code */ - if (reg_al==0) { /* Get country specidic information */ - PhysPt dest = SegPhys(ds)+reg_dx; - MEM_BlockWrite(dest,dos.tables.country,0x18); + case 0x38: /* Set Country Code */ + if (reg_al == 0) { /* Get country specific information */ + PhysPt dest = SegPhys(ds) + reg_dx; + MEM_BlockWrite(dest, dos.tables.country, 0x18); reg_ax = reg_bx = 0x01; CALLBACK_SCF(false); - break; - } else { /* Set country code */ - LOG(LOG_MISC,LOG_ERROR)("DOS:Setting country code not supported"); + } else { /* Set country code */ + countryNo = reg_al == 0xff ? reg_bx : reg_al; + DOS_SetCountry(countryNo); + reg_ax = 0; + CALLBACK_SCF(false); } - CALLBACK_SCF(true); break; case 0x39: /* MKDIR Create directory */ MEM_StrCopy(SegPhys(ds)+reg_dx,name1,DOSNAMEBUF); diff -Nru dosbox-staging-0.79.0~alpha~115~gc34a/src/dos/dos_keyboard_layout.cpp dosbox-staging-0.79.0~alpha~140~ge4e3/src/dos/dos_keyboard_layout.cpp --- dosbox-staging-0.79.0~alpha~115~gc34a/src/dos/dos_keyboard_layout.cpp 2022-01-14 01:08:08.000000000 +0000 +++ dosbox-staging-0.79.0~alpha~140~ge4e3/src/dos/dos_keyboard_layout.cpp 2022-01-21 00:57:12.000000000 +0000 @@ -40,6 +40,7 @@ #if defined (WIN32) #include #endif +#include static FILE_unique_ptr OpenDosboxFile(const char *name) { @@ -1340,9 +1341,59 @@ delete test; } +const std::map country_code_map { + {"cz243", COUNTRY::Czech_Slovak}, + {"dk", COUNTRY::Denmark}, + {"gr", COUNTRY::Germany}, + {"gk", COUNTRY::Greece}, + {"sp", COUNTRY::Spain}, + {"su", COUNTRY::Finland}, + {"fr", COUNTRY::France}, + {"hu", COUNTRY::Hungary}, + {"hu208", COUNTRY::Hungary}, + {"is161", COUNTRY::Iceland}, + {"it", COUNTRY::Italy}, + {"nl", COUNTRY::Netherlands}, + {"no", COUNTRY::Norway}, + {"pl", COUNTRY::Poland}, + {"br", COUNTRY::Brazil}, + {"ru", COUNTRY::Russia}, + {"hr", COUNTRY::Yugoslavia}, + {"sk", COUNTRY::Czech_Slovak}, + {"sv", COUNTRY::Sweden}, + {"tr", COUNTRY::Turkey}, + {"ur", COUNTRY::Ukraine}, + {"bl", COUNTRY::Belarus}, + {"si", COUNTRY::Slovenia}, + {"et", COUNTRY::Estonia}, + {"sg", COUNTRY::Switzerland}, + {"po", COUNTRY::Portugal}, + {"sf", COUNTRY::Switzerland}, + {"be", COUNTRY::Belgium}, + {"cf", COUNTRY::Candian_French}, + {"cz", COUNTRY::Czech_Slovak}, + {"sl", COUNTRY::Czech_Slovak}, + {"la", COUNTRY::Latin_America}, + {"uk", COUNTRY::United_Kingdom}, + {"us", COUNTRY::United_States}, + {"yu", COUNTRY::Yugoslavia}, +}; + +const char *DOS_GetLoadedLayout(void); +void DOS_SetCountry(uint16_t countryNo); void DOS_KeyboardLayout_Init(Section* sec) { test = new DOS_KeyboardLayout(sec); sec->AddDestroyFunction(&DOS_KeyboardLayout_ShutDown,true); // MAPPER_AddHandler(switch_keyboard_layout, SDL_SCANCODE_F2, // MMOD1 | MMOD2, "sw_layout", "Switch Layout"); + + int countryNo = static_cast(sec)->Get_int("country"); + if (!countryNo) { + const char *layout = DOS_GetLoadedLayout(); + if (layout == NULL) + countryNo = COUNTRY::United_States; + else if (country_code_map.find(layout) != country_code_map.end()) + countryNo = country_code_map.find(layout)->second; + } + DOS_SetCountry(countryNo); } diff -Nru dosbox-staging-0.79.0~alpha~115~gc34a/src/dos/dos_programs.cpp dosbox-staging-0.79.0~alpha~140~ge4e3/src/dos/dos_programs.cpp --- dosbox-staging-0.79.0~alpha~115~gc34a/src/dos/dos_programs.cpp 2022-01-14 01:08:08.000000000 +0000 +++ dosbox-staging-0.79.0~alpha~140~ge4e3/src/dos/dos_programs.cpp 2022-01-21 00:57:12.000000000 +0000 @@ -78,7 +78,7 @@ "Displays the DOS memory information.\n" "\n" "Usage:\n" - " \033[32;1mmem\033[0m\n" + " [color=green]mem[reset]\n" "\n" "Where:\n" " This command has no parameters.\n" @@ -88,7 +88,7 @@ " memory, UMB (upper) memory, XMS (extended) memory, and EMS (expanded) memory.\n" "\n" "Examples:\n" - " \033[32;1mmem\033[0m\n"); + " [color=green]mem[reset]\n"); MSG_Add("PROGRAM_MEM_CONVEN", "%10d kB free conventional memory\n"); MSG_Add("PROGRAM_MEM_EXTEND", "%10d kB free extended memory\n"); MSG_Add("PROGRAM_MEM_EXPAND", "%10d kB free expanded memory\n"); @@ -99,22 +99,22 @@ "Loads a program in the specific memory region and then runs it.\n" "\n" "Usage:\n" - " \033[32;1mloadfix\033[0m \033[36;1mGAME\033[0m \033[37;1m[PARAMETERS]\033[0m\n" - " \033[32;1mloadfix\033[0m [/d] (or [/f])\033[0m\n" + " [color=green]loadfix[reset] [color=cyan]GAME[reset] [color=white][PARAMETERS][reset]\n" + " [color=green]loadfix[reset] [/d] (or [/f])[reset]\n" "\n" "Where:\n" - " \033[36;1mGAME\033[0m is a game or program to be loaded, optionally with parameters.\n" + " [color=cyan]GAME[reset] is a game or program to be loaded, optionally with parameters.\n" "\n" "Notes:\n" " The most common use cases of this command are to fix DOS games or programs\n" - " which show either the \"\033[37;1mPacked File Corrupt\033[0m\" or \"\033[37;1mNot enough memory\"\033[0m (e.g.,\n" + " which show either the \"[color=white]Packed File Corrupt[reset]\" or \"[color=white]Not enough memory\"[reset] (e.g.,\n" " from some 1980's games such as California Games II) error message when run.\n" - " Running \033[32;1mloadfix\033[0m without an argument simply allocates memory for your game\n" + " Running [color=green]loadfix[reset] without an argument simply allocates memory for your game\n" " to run; you can free the memory with either /d or /f option when it finishes.\n" "\n" "Examples:\n" - " \033[32;1mloadfix\033[0m \033[36;1mmygame\033[0m \033[37;1margs\033[0m\n" - " \033[32;1mloadfix\033[0m /d\n"); + " [color=green]loadfix[reset] [color=cyan]mygame[reset] [color=white]args[reset]\n" + " [color=green]loadfix[reset] /d\n"); MSG_Add("PROGRAM_LOADFIX_ALLOC", "%d kB allocated.\n"); MSG_Add("PROGRAM_LOADFIX_DEALLOC", "%d kB freed.\n"); MSG_Add("PROGRAM_LOADFIX_DEALLOCALL","Used memory freed.\n"); @@ -124,48 +124,48 @@ "Performs scripted keyboard entry into a running DOS game.\n" "\n" "Usage:\n" - " \033[32;1mautotype\033[0m -list\n" - " \033[32;1mautotype\033[0m [-w \033[37;1mWAIT\033[0m] [-p \033[37;1mPACE\033[0m] \033[36;1mBUTTONS\033[0m\n" + " [color=green]autotype[reset] -list\n" + " [color=green]autotype[reset] [-w [color=white]WAIT[reset]] [-p [color=white]PACE[reset]] [color=cyan]BUTTONS[reset]\n" "\n" "Where:\n" - " \033[37;1mWAIT\033[0m is the number of seconds to wait before typing begins (max of 30).\n" - " \033[37;1mPACE\033[0m is the number of seconds before each keystroke (max of 10).\n" - " \033[36;1mBUTTONS\033[0m is one or more space-separated buttons.\n" + " [color=white]WAIT[reset] is the number of seconds to wait before typing begins (max of 30).\n" + " [color=white]PACE[reset] is the number of seconds before each keystroke (max of 10).\n" + " [color=cyan]BUTTONS[reset] is one or more space-separated buttons.\n" "\n" "Notes:\n" - " The \033[36;1mBUTTONS\033[0m supplied in the command will be autotyped into running DOS games\n" - " after they start. Autotyping begins after \033[36;1mWAIT\033[0m seconds, and each button is\n" - " entered every \033[37;1mPACE\033[0m seconds. The \033[36;1m,\033[0m character inserts an extra \033[37;1mPACE\033[0m delay.\n" - " \033[37;1mWAIT\033[0m and \033[37;1mPACE\033[0m default to 2 and 0.5 seconds respectively if not specified.\n" + " The [color=cyan]BUTTONS[reset] supplied in the command will be autotyped into running DOS games\n" + " after they start. Autotyping begins after [color=cyan]WAIT[reset] seconds, and each button is\n" + " entered every [color=white]PACE[reset] seconds. The [color=cyan],[reset] character inserts an extra [color=white]PACE[reset] delay.\n" + " [color=white]WAIT[reset] and [color=white]PACE[reset] default to 2 and 0.5 seconds respectively if not specified.\n" " A list of all available button names can be obtained using the -list option.\n" "\n" "Examples:\n" - " \033[32;1mautotype\033[0m -list\n" - " \033[32;1mautotype\033[0m -w \033[37;1m1\033[0m -p \033[37;1m0.3\033[0m \033[36;1mup enter , right enter\033[0m\n" - " \033[32;1mautotype\033[0m -p \033[37;1m0.2\033[0m \033[36;1mf1 kp_8 , , enter\033[0m\n" - " \033[32;1mautotype\033[0m -w \033[37;1m1.3\033[0m \033[36;1mesc enter , p l a y e r enter\n\033[0m"); + " [color=green]autotype[reset] -list\n" + " [color=green]autotype[reset] -w [color=white]1[reset] -p [color=white]0.3[reset] [color=cyan]up enter , right enter[reset]\n" + " [color=green]autotype[reset] -p [color=white]0.2[reset] [color=cyan]f1 kp_8 , , enter[reset]\n" + " [color=green]autotype[reset] -w [color=white]1.3[reset] [color=cyan]esc enter , p l a y e r enter\n[reset]"); MSG_Add("SHELL_CMD_MIXER_HELP_LONG", "Displays or changes the current sound mixer volumes.\n" "\n" "Usage:\n" - " \033[32;1mmixer\033[0m \033[36;1mCHANNEL\033[0m \033[37;1mVOLUME\033[0m [/noshow]\n" - " \033[32;1mmixer\033[0m [/listmidi]\033[0m\n" + " [color=green]mixer[reset] [color=cyan]CHANNEL[reset] [color=white]VOLUME[reset] [/noshow]\n" + " [color=green]mixer[reset] [/listmidi][reset]\n" "\n" "Where:\n" - " \033[36;1mCHANNEL\033[0m is the sound channel you want to change the volume.\n" - " \033[37;1mVOLUME\033[0m is an integer between 0 and 100 representing the volume.\n" + " [color=cyan]CHANNEL[reset] is the sound channel you want to change the volume.\n" + " [color=white]VOLUME[reset] is an integer between 0 and 100 representing the volume.\n" "\n" "Notes:\n" - " Running \033[32;1mmixer\033[0m without an argument shows the volumes of all sound channels.\n" + " Running [color=green]mixer[reset] without an argument shows the volumes of all sound channels.\n" " You can view available MIDI devices and user options with /listmidi option.\n" " You may change the volumes of more than one sound channels in one command.\n" " The /noshow option causes mixer not to show the volumes when making a change.\n" "\n" "Examples:\n" - " \033[32;1mmixer\033[0m\n" - " \033[32;1mmixer\033[0m \033[36;1mmaster\033[0m \033[37;1m50\033[0m \033[36;1mrecord\033[0m \033[37;1m60\033[0m /noshow\n" - " \033[32;1mmixer\033[0m /listmidi"); + " [color=green]mixer[reset]\n" + " [color=green]mixer[reset] [color=cyan]master[reset] [color=white]50[reset] [color=cyan]record[reset] [color=white]60[reset] /noshow\n" + " [color=green]mixer[reset] /listmidi"); MSG_Add("MSCDEX_SUCCESS","MSCDEX installed.\n"); MSG_Add("MSCDEX_ERROR_MULTIPLE_CDROMS","MSCDEX: Failure: Drive-letters of multiple CD-ROM drives have to be continuous.\n"); @@ -182,20 +182,20 @@ "Scans for changes on mounted DOS drives.\n" "\n" "Usage:\n" - " \033[32;1mrescan\033[0m \033[36;1mDRIVE\033[0m\n" - " \033[32;1mrescan\033[0m [/a]\n" + " [color=green]rescan[reset] [color=cyan]DRIVE[reset]\n" + " [color=green]rescan[reset] [/a]\n" "\n" "Where:\n" - " \033[36;1mDRIVE\033[0m is the drive to scan for changes.\n" + " [color=cyan]DRIVE[reset] is the drive to scan for changes.\n" "\n" "Notes:\n" - " - Running \033[32;1mrescan\033[0m without an argument scans for changes of the current drive.\n" + " - Running [color=green]rescan[reset] without an argument scans for changes of the current drive.\n" " - Changes to this drive made on the host will then be reflected inside DOS.\n" " - You can also scan for changes on all mounted drives with the /a option.\n" "\n" "Examples:\n" - " \033[32;1mrescan\033[0m \033[36;1mc:\033[0m\n" - " \033[32;1mrescan\033[0m /a\n"); + " [color=green]rescan[reset] [color=cyan]c:[reset]\n" + " [color=green]rescan[reset] /a\n"); MSG_Add("PROGRAM_RESCAN_SUCCESS","Drive re-scanned.\n"); MSG_Add("PROGRAM_INTRO", @@ -302,21 +302,21 @@ "Boots DOSBox Staging from a DOS drive or disk image.\n" "\n" "Usage:\n" - " \033[32;1mboot\033[0m \033[37;1mDRIVE\033[0m\n" - " \033[32;1mboot\033[0m \033[36;1mIMAGEFILE\033[0m\n" + " [color=green]boot[reset] [color=white]DRIVE[reset]\n" + " [color=green]boot[reset] [color=cyan]IMAGEFILE[reset]\n" "\n" "Where:\n" - " \033[37;1mDRIVE\033[0m is a drive to boot from, must be \033[37;1mA:\033[0m, \033[37;1mC:\033[0m, or \033[37;1mD:\033[0m.\n" - " \033[36;1mIMAGEFILE\033[0m is one or more floppy images, separated by spaces.\n" + " [color=white]DRIVE[reset] is a drive to boot from, must be [color=white]A:[reset], [color=white]C:[reset], or [color=white]D:[reset].\n" + " [color=cyan]IMAGEFILE[reset] is one or more floppy images, separated by spaces.\n" "\n" "Notes:\n" - " A DOS drive letter must have been mounted previously with \033[32;1mimgmount\033[0m command.\n" + " A DOS drive letter must have been mounted previously with [color=green]imgmount[reset] command.\n" " The DOS drive or disk image must be bootable, containing DOS system files.\n" " If more than one disk images are specified, you can swap them with a hotkey.\n" "\n" "Examples:\n" - " \033[32;1mboot\033[0m \033[37;1mc:\033[0m\n" - " \033[32;1mboot\033[0m \033[36;1mdisk1.ima disk2.ima\033[0m\n"); + " [color=green]boot[reset] [color=white]c:[reset]\n" + " [color=green]boot[reset] [color=cyan]disk1.ima disk2.ima[reset]\n"); MSG_Add("PROGRAM_BOOT_NOT_EXIST","Bootdisk file does not exist. Failing.\n"); MSG_Add("PROGRAM_BOOT_NOT_OPEN","Cannot open bootdisk file. Failing.\n"); MSG_Add("PROGRAM_BOOT_WRITE_PROTECTED","Image file is read-only! Might create problems.\n"); @@ -340,17 +340,17 @@ "Loads a ROM image of the video BIOS or IBM BASIC.\n" "\n" "Usage:\n" - " \033[32;1mloadrom \033[36;1mIMAGEFILE\033[0m\n" + " [color=green]loadrom [color=cyan]IMAGEFILE[reset]\n" "\n" "Where:\n" - " \033[36;1mIMAGEFILE\033[0m is a video BIOS or IBM BASIC ROM image.\n" + " [color=cyan]IMAGEFILE[reset] is a video BIOS or IBM BASIC ROM image.\n" "\n" "Notes:\n" " After loading an IBM BASIC ROM image into the emulated ROM with the command,\n" " you can run the original IBM BASIC interpreter program in DOSBox Staging.\n" "\n" "Examples:\n" - " \033[32;1mloadrom\033[0m \033[36;1mbios.rom\033[0m\n"); + " [color=green]loadrom[reset] [color=cyan]bios.rom[reset]\n"); MSG_Add("PROGRAM_LOADROM_SPECIFY_FILE","Must specify ROM file to load.\n"); MSG_Add("PROGRAM_LOADROM_CANT_OPEN","ROM file not accessible.\n"); MSG_Add("PROGRAM_LOADROM_TOO_LARGE","ROM file too large.\n"); @@ -365,38 +365,38 @@ "Mount a CD-ROM, floppy, or disk image to a drive letter.\n" "\n" "Usage:\n" - " \033[32;1mimgmount\033[0m \033[37;1mDRIVE\033[0m \033[36;1mCDROM-SET\033[0m [-fs iso] [-ide] -t cdrom|iso\n" - " \033[32;1mimgmount\033[0m \033[37;1mDRIVE\033[0m \033[36;1mIMAGEFILE\033[0m [IMAGEFILE2 [..]] [-fs fat] -t hdd|floppy -ro\n" - " \033[32;1mimgmount\033[0m \033[37;1mDRIVE\033[0m \033[36;1mBOOTIMAGE\033[0m [-fs fat|none] -t hdd -size GEOMETRY -ro\n" - " \033[32;1mimgmount\033[0m -u \033[37;1mDRIVE\033[0m (unmounts the \033[37;1mDRIVE\033[0m's image)\n" + " [color=green]imgmount[reset] [color=white]DRIVE[reset] [color=cyan]CDROM-SET[reset] [-fs iso] [-ide] -t cdrom|iso\n" + " [color=green]imgmount[reset] [color=white]DRIVE[reset] [color=cyan]IMAGEFILE[reset] [IMAGEFILE2 [..]] [-fs fat] -t hdd|floppy -ro\n" + " [color=green]imgmount[reset] [color=white]DRIVE[reset] [color=cyan]BOOTIMAGE[reset] [-fs fat|none] -t hdd -size GEOMETRY -ro\n" + " [color=green]imgmount[reset] -u [color=white]DRIVE[reset] (unmounts the [color=white]DRIVE[reset]'s image)\n" "\n" "Where:\n" - " \033[37;1mDRIVE\033[0m is the drive letter where the image will be mounted: a, c, d, ...\n" - " \033[36;1mCDROM-SET\033[0m is an ISO, CUE+BIN, CUE+ISO, or CUE+ISO+FLAC/OPUS/OGG/MP3/WAV\n" - " \033[36;1mIMAGEFILE\033[0m is a hard drive or floppy image in FAT16 or FAT12 format\n" - " \033[36;1mBOOTIMAGE\033[0m is a bootable disk image with specified -size GEOMETRY:\n" + " [color=white]DRIVE[reset] is the drive letter where the image will be mounted: a, c, d, ...\n" + " [color=cyan]CDROM-SET[reset] is an ISO, CUE+BIN, CUE+ISO, or CUE+ISO+FLAC/OPUS/OGG/MP3/WAV\n" + " [color=cyan]IMAGEFILE[reset] is a hard drive or floppy image in FAT16 or FAT12 format\n" + " [color=cyan]BOOTIMAGE[reset] is a bootable disk image with specified -size GEOMETRY:\n" " bytes-per-sector,sectors-per-head,heads,cylinders\n" "Notes:\n" - " - %s+F4 swaps & mounts the next \033[36;1mCDROM-SET\033[0m or \033[36;1mBOOTIMAGE\033[0m, if provided.\n" + " - %s+F4 swaps & mounts the next [color=cyan]CDROM-SET[reset] or [color=cyan]BOOTIMAGE[reset], if provided.\n" " - The -ro flag mounts the disk image in read-only (write-protected) mode.\n" " - The -ide flag emulates an IDE controller with attached IDE CD drive, useful\n" " for CD-based games that need a real DOS environment via bootable HDD image.\n" "Examples:\n" #if defined(WIN32) - " \033[32;1mimgmount\033[0m \033[37;1mD\033[0m \033[36;1mC:\\games\\doom.iso\033[0m -t cdrom\n" - " \033[32;1mimgmount\033[0m \033[37;1mD\033[0m \033[36;1mcd/quake1.cue\033[0m -t cdrom\n" - " \033[32;1mimgmount\033[0m \033[37;1mA\033[0m \033[36;1mfloppy1.img floppy2.img floppy3.img\033[0m -t floppy -ro\n" - " \033[32;1mimgmount\033[0m \033[37;1mC\033[0m \033[36;1mbootable.img\033[0m -t hdd -fs none -size 512,63,32,1023\n" + " [color=green]imgmount[reset] [color=white]D[reset] [color=cyan]C:\\games\\doom.iso[reset] -t cdrom\n" + " [color=green]imgmount[reset] [color=white]D[reset] [color=cyan]cd/quake1.cue[reset] -t cdrom\n" + " [color=green]imgmount[reset] [color=white]A[reset] [color=cyan]floppy1.img floppy2.img floppy3.img[reset] -t floppy -ro\n" + " [color=green]imgmount[reset] [color=white]C[reset] [color=cyan]bootable.img[reset] -t hdd -fs none -size 512,63,32,1023\n" #elif defined(MACOSX) - " \033[32;1mimgmount\033[0m \033[37;1mD\033[0m \033[36;1m/Users/USERNAME/games/doom.iso\033[0m -t cdrom\n" - " \033[32;1mimgmount\033[0m \033[37;1mD\033[0m \033[36;1mcd/quake1.cue\033[0m -t cdrom\n" - " \033[32;1mimgmount\033[0m \033[37;1mA\033[0m \033[36;1mfloppy1.img floppy2.img floppy3.img\033[0m -t floppy -ro\n" - " \033[32;1mimgmount\033[0m \033[37;1mC\033[0m \033[36;1mbootable.img\033[0m -t hdd -fs none -size 512,63,32,1023\n" + " [color=green]imgmount[reset] [color=white]D[reset] [color=cyan]/Users/USERNAME/games/doom.iso[reset] -t cdrom\n" + " [color=green]imgmount[reset] [color=white]D[reset] [color=cyan]cd/quake1.cue[reset] -t cdrom\n" + " [color=green]imgmount[reset] [color=white]A[reset] [color=cyan]floppy1.img floppy2.img floppy3.img[reset] -t floppy -ro\n" + " [color=green]imgmount[reset] [color=white]C[reset] [color=cyan]bootable.img[reset] -t hdd -fs none -size 512,63,32,1023\n" #else - " \033[32;1mimgmount\033[0m \033[37;1mD\033[0m \033[36;1m/home/USERNAME/games/doom.iso\033[0m -t cdrom\n" - " \033[32;1mimgmount\033[0m \033[37;1mD\033[0m \033[36;1mcd/quake1.cue\033[0m -t cdrom\n" - " \033[32;1mimgmount\033[0m \033[37;1mA\033[0m \033[36;1mfloppy1.img floppy2.img floppy3.img\033[0m -t floppy -ro\n" - " \033[32;1mimgmount\033[0m \033[37;1mC\033[0m \033[36;1mbootable.img\033[0m -t hdd -fs none -size 512,63,32,1023\n" + " [color=green]imgmount[reset] [color=white]D[reset] [color=cyan]/home/USERNAME/games/doom.iso[reset] -t cdrom\n" + " [color=green]imgmount[reset] [color=white]D[reset] [color=cyan]cd/quake1.cue[reset] -t cdrom\n" + " [color=green]imgmount[reset] [color=white]A[reset] [color=cyan]floppy1.img floppy2.img floppy3.img[reset] -t floppy -ro\n" + " [color=green]imgmount[reset] [color=white]C[reset] [color=cyan]bootable.img[reset] -t hdd -fs none -size 512,63,32,1023\n" #endif ); @@ -407,12 +407,12 @@ "Mount a directory from the host OS to a drive letter.\n" "\n" "Usage:\n" - " \033[32;1mmount\033[0m \033[37;1mDRIVE\033[0m \033[36;1mDIRECTORY\033[0m [-t TYPE] [-freesize SIZE] [-label LABEL]\n" - " \033[32;1mmount\033[0m -u \033[37;1mDRIVE\033[0m (unmounts the DRIVE's directory)\n" + " [color=green]mount[reset] [color=white]DRIVE[reset] [color=cyan]DIRECTORY[reset] [-t TYPE] [-freesize SIZE] [-label LABEL]\n" + " [color=green]mount[reset] -u [color=white]DRIVE[reset] (unmounts the DRIVE's directory)\n" "\n" "Where:\n" - " \033[37;1mDRIVE\033[0m the drive letter where the directory will be mounted: A, C, D, ...\n" - " \033[36;1mDIRECTORY\033[0m is the directory on the host OS to be mounted\n" + " [color=white]DRIVE[reset] the drive letter where the directory will be mounted: A, C, D, ...\n" + " [color=cyan]DIRECTORY[reset] is the directory on the host OS to be mounted\n" " TYPE type of the directory to mount: dir, floppy, cdrom, or overlay\n" " SIZE free space for the virtual drive (KiB for floppies, MiB otherwise)\n" " LABEL drive label name to be used\n" @@ -423,17 +423,17 @@ "\n" "Examples:\n" #if defined(WIN32) - " \033[32;1mmount\033[0m \033[37;1mC\033[0m \033[36;1mC:\\dosgames\033[0m\n" - " \033[32;1mmount\033[0m \033[37;1mD\033[0m \033[36;1mD:\\\033[0m -t cdrom\n" - " \033[32;1mmount\033[0m \033[37;1mC\033[0m \033[36;1mmy_savegame_files\033[0m -t overlay\n" + " [color=green]mount[reset] [color=white]C[reset] [color=cyan]C:\\dosgames[reset]\n" + " [color=green]mount[reset] [color=white]D[reset] [color=cyan]D:\\[reset] -t cdrom\n" + " [color=green]mount[reset] [color=white]C[reset] [color=cyan]my_savegame_files[reset] -t overlay\n" #elif defined(MACOSX) - " \033[32;1mmount\033[0m \033[37;1mC\033[0m \033[36;1m~/dosgames\033[0m\n" - " \033[32;1mmount\033[0m \033[37;1mD\033[0m \033[36;1m\"/Volumes/Game CD\"\033[0m -t cdrom\n" - " \033[32;1mmount\033[0m \033[37;1mC\033[0m \033[36;1mmy_savegame_files\033[0m -t overlay\n" + " [color=green]mount[reset] [color=white]C[reset] [color=cyan]~/dosgames[reset]\n" + " [color=green]mount[reset] [color=white]D[reset] [color=cyan]\"/Volumes/Game CD\"[reset] -t cdrom\n" + " [color=green]mount[reset] [color=white]C[reset] [color=cyan]my_savegame_files[reset] -t overlay\n" #else - " \033[32;1mmount\033[0m \033[37;1mC\033[0m \033[36;1m~/dosgames\033[0m\n" - " \033[32;1mmount\033[0m \033[37;1mD\033[0m \033[36;1m\"/media/USERNAME/Game CD\"\033[0m -t cdrom\n" - " \033[32;1mmount\033[0m \033[37;1mC\033[0m \033[36;1mmy_savegame_files\033[0m -t overlay\n" + " [color=green]mount[reset] [color=white]C[reset] [color=cyan]~/dosgames[reset]\n" + " [color=green]mount[reset] [color=white]D[reset] [color=cyan]\"/media/USERNAME/Game CD\"[reset] -t cdrom\n" + " [color=green]mount[reset] [color=white]C[reset] [color=cyan]my_savegame_files[reset] -t overlay\n" #endif ); @@ -469,27 +469,27 @@ "Configures a keyboard for a specific language.\n" "\n" "Usage:\n" - " \033[32;1mkeyb\033[0m \033[36;1m[LANGCODE]\033[0m\n" - " \033[32;1mkeyb\033[0m \033[36;1mLANGCODE\033[0m \033[37;1mCODEPAGE\033[0m [CODEPAGEFILE]\n" + " [color=green]keyb[reset] [color=cyan][LANGCODE][reset]\n" + " [color=green]keyb[reset] [color=cyan]LANGCODE[reset] [color=white]CODEPAGE[reset] [CODEPAGEFILE]\n" "\n" "Where:\n" - " \033[36;1mLANGCODE\033[0m is a language code or keyboard layout ID.\n" - " \033[37;1mCODEPAGE\033[0m is a code page number, such as \033[37;1m437\033[0m and \033[37;1m850\033[0m.\n" + " [color=cyan]LANGCODE[reset] is a language code or keyboard layout ID.\n" + " [color=white]CODEPAGE[reset] is a code page number, such as [color=white]437[reset] and [color=white]850[reset].\n" " CODEPAGEFILE is a file containing information for a code page.\n" "\n" "Notes:\n" - " Running \033[32;1mkeyb\033[0m without an argument shows the currently loaded keyboard layout\n" - " and code page. It will change to \033[36;1mLANGCODE\033[0m if provided, optionally with a\n" - " \033[37;1mCODEPAGE\033[0m and an additional CODEPAGEFILE to load the specified code page\n" + " Running [color=green]keyb[reset] without an argument shows the currently loaded keyboard layout\n" + " and code page. It will change to [color=cyan]LANGCODE[reset] if provided, optionally with a\n" + " [color=white]CODEPAGE[reset] and an additional CODEPAGEFILE to load the specified code page\n" " number and code page file if provided. This command is especially useful if\n" - " you use a non-US keyboard, and \033[36;1mLANGCODE\033[0m can also be set in the configuration\n" - " file under the [dos] section using the \"keyboardlayout = \033[36;1mLANGCODE\033[0m\" setting.\n" + " you use a non-US keyboard, and [color=cyan]LANGCODE[reset] can also be set in the configuration\n" + " file under the [dos] section using the \"keyboardlayout = [color=cyan]LANGCODE[reset]\" setting.\n" "\n" "Examples:\n" - " \033[32;1mKEYB\033[0m\n" - " \033[32;1mKEYB\033[0m \033[36;1muk\033[0m\n" - " \033[32;1mKEYB\033[0m \033[36;1msp\033[0m \033[37;1m850\033[0m\n" - " \033[32;1mKEYB\033[0m \033[36;1mde\033[0m \033[37;1m858\033[0m mycp.cpi\n"); + " [color=green]KEYB[reset]\n" + " [color=green]KEYB[reset] [color=cyan]uk[reset]\n" + " [color=green]KEYB[reset] [color=cyan]sp[reset] [color=white]850[reset]\n" + " [color=green]KEYB[reset] [color=cyan]de[reset] [color=white]858[reset] mycp.cpi\n"); MSG_Add("PROGRAM_KEYB_NOERROR","Keyboard layout %s loaded for codepage %i\n"); MSG_Add("PROGRAM_KEYB_FILENOTFOUND","Keyboard file %s not found\n\n"); MSG_Add("PROGRAM_KEYB_INVALIDFILE","Keyboard file %s invalid\n"); @@ -500,27 +500,27 @@ "Manages the serial ports.\n" "\n" "Usage:\n" - " \033[32;1mserial\033[0m \033[37;1m[PORT#]\033[0m List all or specified serial ports.\n" - " \033[32;1mserial\033[0m \033[37;1mPORT#\033[0m \033[36;1mTYPE\033[0m [settings] Set the specified port to the given type.\n" + " [color=green]serial[reset] [color=white][PORT#][reset] List all or specified serial ports.\n" + " [color=green]serial[reset] [color=white]PORT#[reset] [color=cyan]TYPE[reset] [settings] Set the specified port to the given type.\n" "\n" "Where:\n" - " \033[37;1mPORT#\033[0m The port number: \033[37;1m1\033[0m, \033[37;1m2\033[0m, \033[37;1m3\033[0m, or \033[37;1m4\033[0m\n" - " \033[36;1mTYPE\033[0m The port type: \033[36;1mMODEM\033[0m, \033[36;1mNULLMODEM\033[0m, \033[36;1mDIRECTSERIAL\033[0m, \033[36;1mDUMMY\033[0m, or \033[36;1mDISABLED\033[0m\n" + " [color=white]PORT#[reset] The port number: [color=white]1[reset], [color=white]2[reset], [color=white]3[reset], or [color=white]4[reset]\n" + " [color=cyan]TYPE[reset] The port type: [color=cyan]MODEM[reset], [color=cyan]NULLMODEM[reset], [color=cyan]DIRECTSERIAL[reset], [color=cyan]DUMMY[reset], or [color=cyan]DISABLED[reset]\n" "\n" "Notes:\n" - " Optional settings for each \033[36;1mTYPE\033[0m:\n" - " For \033[36;1mMODEM\033[0m : IRQ, LISTENPORT, SOCK\n" - " For \033[36;1mNULLMODEM\033[0m : IRQ, SERVER, RXDELAY, TXDELAY, TELNET,\n" + " Optional settings for each [color=cyan]TYPE[reset]:\n" + " For [color=cyan]MODEM[reset] : IRQ, LISTENPORT, SOCK\n" + " For [color=cyan]NULLMODEM[reset] : IRQ, SERVER, RXDELAY, TXDELAY, TELNET,\n" " USEDTR, TRANSPARENT, PORT, INHSOCKET, SOCK\n" - " For \033[36;1mDIRECTSERIAL\033[0m : IRQ, REALPORT (required), RXDELAY\n" - " For \033[36;1mDUMMY\033[0m : IRQ\n" + " For [color=cyan]DIRECTSERIAL[reset] : IRQ, REALPORT (required), RXDELAY\n" + " For [color=cyan]DUMMY[reset] : IRQ\n" "\n" "Examples:\n" - " \033[32;1mSERIAL\033[0m : List the current serial ports\n" - " \033[32;1mSERIAL\033[0m \033[37;1m1\033[0m \033[36;1mNULLMODEM\033[0m PORT:1250 : Listen on TCP:1250 as server\n" - " \033[32;1mSERIAL\033[0m \033[37;1m2\033[0m \033[36;1mNULLMODEM\033[0m SERVER:10.0.0.6 PORT:1250 : Connect to TCP:1250 as client\n" - " \033[32;1mSERIAL\033[0m \033[37;1m3\033[0m \033[36;1mMODEM\033[0m LISTENPORT:5000 SOCK:1 : Listen on UDP:5000 as server\n" - " \033[32;1mSERIAL\033[0m \033[37;1m4\033[0m \033[36;1mDIRECTSERIAL\033[0m REALPORT:ttyUSB0 : Use a physical port on Linux\n"); + " [color=green]SERIAL[reset] : List the current serial ports\n" + " [color=green]SERIAL[reset] [color=white]1[reset] [color=cyan]NULLMODEM[reset] PORT:1250 : Listen on TCP:1250 as server\n" + " [color=green]SERIAL[reset] [color=white]2[reset] [color=cyan]NULLMODEM[reset] SERVER:10.0.0.6 PORT:1250 : Connect to TCP:1250 as client\n" + " [color=green]SERIAL[reset] [color=white]3[reset] [color=cyan]MODEM[reset] LISTENPORT:5000 SOCK:1 : Listen on UDP:5000 as server\n" + " [color=green]SERIAL[reset] [color=white]4[reset] [color=cyan]DIRECTSERIAL[reset] REALPORT:ttyUSB0 : Use a physical port on Linux\n"); MSG_Add("PROGRAM_SERIAL_SHOW_PORT", "COM%d: %s %s\n"); MSG_Add("PROGRAM_SERIAL_BAD_PORT", "Must specify a numeric port value between 1 and %d, inclusive.\n"); diff -Nru dosbox-staging-0.79.0~alpha~115~gc34a/src/dosbox.cpp dosbox-staging-0.79.0~alpha~140~ge4e3/src/dosbox.cpp --- dosbox-staging-0.79.0~alpha~115~gc34a/src/dosbox.cpp 2022-01-14 01:08:08.000000000 +0000 +++ dosbox-staging-0.79.0~alpha~140~ge4e3/src/dosbox.cpp 2022-01-21 00:57:12.000000000 +0000 @@ -986,6 +986,12 @@ "A single number is treated as the major version.\n" "Common settings are 3.3, 5.0, 6.22, and 7.1."); + pint = secprop->Add_int("country", when_idle, 0); + pint->Set_help("Set DOS country code which will affect country-specific\n" + "information such as date, time, and decimal formats.\n" + "If set to 0, the country code corresponding to the\n" + "selected keyboard layout will be used."); + secprop->AddInitFunction(&DOS_KeyboardLayout_Init,true); Pstring = secprop->Add_string("keyboardlayout", when_idle, "auto"); Pstring->Set_help("Language code of the keyboard layout (or none)."); diff -Nru dosbox-staging-0.79.0~alpha~115~gc34a/src/gui/gui_msgs.h dosbox-staging-0.79.0~alpha~140~ge4e3/src/gui/gui_msgs.h --- dosbox-staging-0.79.0~alpha~115~gc34a/src/gui/gui_msgs.h 2022-01-14 01:08:08.000000000 +0000 +++ dosbox-staging-0.79.0~alpha~140~ge4e3/src/gui/gui_msgs.h 2022-01-21 00:57:12.000000000 +0000 @@ -46,9 +46,6 @@ -c Runs the specified DOS command before running FILE. Multiple commands can be specified. - -set Set the config option (overriding the config file). - Multiple config options can be specified. - -noautoexec Don't perform any [autoexec] actions. -noprimaryconf Don't read settings from the primary configuration file diff -Nru dosbox-staging-0.79.0~alpha~115~gc34a/src/gui/sdlmain.cpp dosbox-staging-0.79.0~alpha~140~ge4e3/src/gui/sdlmain.cpp --- dosbox-staging-0.79.0~alpha~115~gc34a/src/gui/sdlmain.cpp 2022-01-14 01:08:08.000000000 +0000 +++ dosbox-staging-0.79.0~alpha~140~ge4e3/src/gui/sdlmain.cpp 2022-01-21 00:57:12.000000000 +0000 @@ -234,7 +234,7 @@ // Size and ratio constants // ------------------------ constexpr int SMALL_WINDOW_PERCENT = 50; -constexpr int MEDIUM_WINDOW_PERCENT = 70; +constexpr int MEDIUM_WINDOW_PERCENT = 74; constexpr int LARGE_WINDOW_PERCENT = 90; constexpr int DEFAULT_WINDOW_PERCENT = MEDIUM_WINDOW_PERCENT; static SDL_Point FALLBACK_WINDOW_DIMENSIONS = {640, 480}; @@ -251,6 +251,55 @@ PRIORITY_LEVEL_HIGHEST }; +class PPScale { +public: + PPScale(const int source_w, + const int source_h, + const double aspect_ratio, + const bool source_is_doubled, + const int canvas_w, + const int canvas_h) + + { + assert(source_w > 0); + assert(source_h > 0); + assert(canvas_w > 0); + assert(canvas_h > 0); + assert(aspect_ratio > 0.1); + + // divide the source if it's been doubled + effective_source_w = source_w / (source_is_doubled ? 2 : 1); + effective_source_h = source_h / (source_is_doubled ? 2 : 1); + + // call the pixel-perfect library to get the scale factors + constexpr double aspect_weight = 1.14; // pixel-perfect constant + const int err = pp_getscale(effective_source_w, effective_source_h, + aspect_ratio, canvas_w, canvas_h, + aspect_weight, &scale_x, &scale_y); + + // if the scaling failed, ensure the the multipliers are valid + if (err) { + scale_x = 1; + scale_y = 1; + } + // calculate the output dimensions + output_w = effective_source_w * scale_x; + output_h = effective_source_h * scale_y; + assert(output_w > 0); + assert(output_h > 0); + } + // default constructor + PPScale() {} + + int effective_source_w = 0; + int effective_source_h = 0; + int output_w = 0; + int output_h = 0; +private: + int scale_x = 0; + int scale_y = 0; +}; + /* Alias for indicating, that new window should not be user-resizable: */ constexpr bool FIXED_SIZE = false; @@ -271,6 +320,8 @@ uint16_t previous_mode = 0; bool has_changed = false; GFX_CallBack_t callback = nullptr; + bool width_was_doubled = false; + bool height_was_doubled = false; } draw = {}; struct { struct { @@ -359,7 +410,7 @@ bool middle_will_release = true; bool has_focus = false; } mouse = {}; - SDL_Point pp_scale = {1, 1}; + PPScale pp_scale = {}; SDL_Rect updateRects[1024]; bool window_resolution_specified = false; bool use_max_resolution = false; @@ -376,7 +427,7 @@ static SDL_Block sdl; static SDL_Point restrict_to_max_resolution(int width, int height); -static SDL_Point calc_pp_scale(int width, int heigth); +static PPScale calc_pp_scale(int width, int heigth); static SDL_Rect calc_viewport(int width, int height); static void CleanupSDLResources(); @@ -702,11 +753,11 @@ // Logs the source and target resolution including describing scaling method // and pixel-aspect ratios. Note that this function deliberately doesn't use // any global structs to disentangle it from the existing sdl-main design. -static void log_display_properties(const int in_x, - const int in_y, +static void log_display_properties(int in_x, + int in_y, const double in_par, const SCALING_MODE scaling_mode, - const SDL_Point pp_scale, + const PPScale &pp_scale, const bool is_fullscreen, int out_x, int out_y) @@ -716,12 +767,12 @@ assert(out_x > 0 && out_y > 0); if (scaling_mode == SCALING_MODE::PERFECT) { - // If we're using pixel perfect, then the incoming'out_x' and - // 'height' arguments only represent the total drawing area as - // opposed to the internal clipped area, so use this approach to - // get the actual scaled dimentions. - out_x = pp_scale.x * in_x; - out_y = pp_scale.y * in_y; + // The pixel perfect object holds the effective source + // resolution and scaled output resolution, so use those: + in_x = pp_scale.effective_source_w; + in_y = pp_scale.effective_source_h; + out_x = pp_scale.output_w; + out_y = pp_scale.output_h; } else if (is_fullscreen) { // If we're fullscreen and using a non-pixel-perfect scaling // mode, then the incoming'out_x' and 'out_y' arguments only @@ -938,8 +989,8 @@ sdl.pp_scale = calc_pp_scale(render_resolution.x, render_resolution.y); - const int img_width = sdl.pp_scale.x * sdl.draw.width; - const int img_height = sdl.pp_scale.y * sdl.draw.height; + const int img_width = sdl.pp_scale.output_w; + const int img_height = sdl.pp_scale.output_h; int win_width, win_height; if (sdl.window_resolution_specified && sdl.use_max_resolution) { @@ -1142,27 +1193,33 @@ exit(1); } -static SDL_Point calc_pp_scale(int avw, int avh) +// Some video modes are effectively doubled in resolution but only have half the +// unique pixel resolution. +static bool is_draw_size_doubled() { - assert(sdl.draw.width > 0); - assert(sdl.draw.height > 0); - assert(sdl.draw.pixel_aspect > 0.0); + // Has either dimension been doubled? + const bool is_doubled = (sdl.draw.width_was_doubled || + sdl.draw.height_was_doubled); - int x = 0; - int y = 0; - constexpr double aspect_weight = 1.14; - const int err = pp_getscale(sdl.draw.width, sdl.draw.height, - sdl.draw.pixel_aspect, avw, avh, - aspect_weight, &x, &y); - if (err == 0) - return {x, y}; - else - return {1, 1}; + // Are the dimensions divisible by 2? + const bool is_divisible = (sdl.draw.width % 2 == 0 && + sdl.draw.height % 2 == 0); + + // Are the dimensions beyond low-res? + const bool is_large = (sdl.draw.width > 500 && sdl.draw.height > 350); + + return is_doubled && is_divisible && is_large; +} + +static PPScale calc_pp_scale(const int avw, const int avh) +{ + return PPScale(sdl.draw.width, sdl.draw.height, sdl.draw.pixel_aspect, + is_draw_size_doubled(), avw, avh); } Bitu GFX_SetSize(int width, int height, - [[maybe_unused]] Bitu flags, + const Bitu flags, double scalex, double scaley, GFX_CallBack_t callback, @@ -1172,7 +1229,12 @@ if (sdl.updating) GFX_EndUpdate( 0 ); + const bool double_width = flags & GFX_DBL_W; + const bool double_height = flags & GFX_DBL_H; + sdl.draw.has_changed = (sdl.draw.width != width || sdl.draw.height != height || + sdl.draw.width_was_doubled != double_width || + sdl.draw.height_was_doubled != double_height || sdl.draw.scalex != scalex || sdl.draw.scaley != scaley || sdl.draw.pixel_aspect != pixel_aspect || @@ -1180,6 +1242,8 @@ sdl.draw.width = width; sdl.draw.height = height; + sdl.draw.width_was_doubled = double_width; + sdl.draw.height_was_doubled = double_height; sdl.draw.scalex = scalex; sdl.draw.scaley = scaley; sdl.draw.pixel_aspect = pixel_aspect; @@ -2311,6 +2375,18 @@ SDL_Rect desktop; assert(sdl.display_number >= 0); SDL_GetDisplayBounds(sdl.display_number, &desktop); + + // Deduct the border decorations from the desktop size + int top = 0; + int left = 0; + int bottom = 0; + int right = 0; + (void)SDL_GetWindowBordersSize(SDL_GetWindowFromID(sdl.display_number), + &top, &left, &bottom, &right); + // If SDL_GetWindowBordersSize fails, it populates the values with 0. + desktop.w -= (left + right); + desktop.h -= (top + bottom); + assert(desktop.w >= FALLBACK_WINDOW_DIMENSIONS.x); assert(desktop.h >= FALLBACK_WINDOW_DIMENSIONS.y); return desktop; @@ -2378,10 +2454,7 @@ pref.c_str()); const int w = ceil_sdivide(desktop.w * percent, 100); - - // 320x200 when physically scaled by 3x4 produces 960x800 or a 6:5 aspect ratio - const int h_with_aspect = ceil_sdivide(desktop.w * percent * 5, 100 * 6); - const int h = std::min(desktop.h, h_with_aspect); // limit to desktop size + const int h = ceil_sdivide(desktop.h * percent, 100); return {w, h}; } @@ -2604,11 +2677,10 @@ static SDL_Rect calc_viewport_pp(int win_width, int win_height) { const auto render_resolution = restrict_to_max_resolution(win_width, win_height); - sdl.pp_scale = calc_pp_scale(render_resolution.x, render_resolution.y); - const int w = sdl.pp_scale.x * sdl.draw.width; - const int h = sdl.pp_scale.y * sdl.draw.height; + const int w = sdl.pp_scale.output_w; + const int h = sdl.pp_scale.output_h; const int x = (win_width - w) / 2; const int y = (win_height - h) / 2; @@ -2872,6 +2944,10 @@ if (!SetDefaultWindowMode()) E_Exit("Could not initialize video: %s", SDL_GetError()); + const auto transparency = clamp(section->Get_int("transparency"), 0, 90); + const auto alpha = static_cast(100 - transparency) / 100.0f; + SDL_SetWindowOpacity(sdl.window, alpha); + SDL_SetWindowTitle(sdl.window, "DOSBox Staging"); SetIcon(); @@ -3465,6 +3541,10 @@ Pbool = sdl_sec->Add_bool("window_decorations", always, true); Pbool->Set_help("Controls whether to display window decorations in windowed mode."); + Pint = sdl_sec->Add_int("transparency", always, 0); + Pint->Set_help("Set the transparency of the DOSBox Staging screen.\n" + "From 0 (no transparency) to 90 (high transparency)."); + Pbool = sdl_sec->Add_bool("vsync", on_start, false); Pbool->Set_help( "Synchronize with display refresh rate if supported. This can\n" diff -Nru dosbox-staging-0.79.0~alpha~115~gc34a/src/hardware/vga_draw.cpp dosbox-staging-0.79.0~alpha~140~ge4e3/src/hardware/vga_draw.cpp --- dosbox-staging-0.79.0~alpha~115~gc34a/src/hardware/vga_draw.cpp 2022-01-14 01:08:08.000000000 +0000 +++ dosbox-staging-0.79.0~alpha~140~ge4e3/src/hardware/vga_draw.cpp 2022-01-21 00:57:12.000000000 +0000 @@ -1784,10 +1784,9 @@ doubleheight=true; } vga.draw.vblank_skip = vblank_skip; - - const bool has_extra_double_height = doublewidth && !doubleheight && height > width; - // Only check for extra double height in vga modes - if (IS_VGA_ARCH && has_extra_double_height) { + + if (!(IS_VGA_ARCH && (svgaCard==SVGA_None) && (vga.mode==M_EGA || vga.mode==M_VGA))) { + //Only check for extra double height in vga modes //(line multiplying by address_line_total) if (!doubleheight && (vga.mode 12 || month == 0 || day == 0) + return false; + // February has 29 days on leap-years and 28 days otherwise. + const bool is_leap_year = !(year % 4) && (!(year % 400) || (year % 100)); + if (month == 2 && day > (uint32_t)(is_leap_year ? 29 : DOS_DATE_months[month])) + return false; + if (month != 2 && day > DOS_DATE_months[month]) + return false; + return true; +} + +bool is_time_valid(const uint32_t hour, const uint32_t minute, const uint32_t second) +{ + if (hour > 23 || minute > 59 || second > 59) + return false; + return true; +} diff -Nru dosbox-staging-0.79.0~alpha~115~gc34a/src/shell/shell_cmds.cpp dosbox-staging-0.79.0~alpha~140~ge4e3/src/shell/shell_cmds.cpp --- dosbox-staging-0.79.0~alpha~115~gc34a/src/shell/shell_cmds.cpp 2022-01-14 01:08:08.000000000 +0000 +++ dosbox-staging-0.79.0~alpha~140~ge4e3/src/shell/shell_cmds.cpp 2022-01-21 00:57:12.000000000 +0000 @@ -470,21 +470,27 @@ const auto gb = static_cast(num % 1000); num /= 1000; const auto tb = static_cast(num); + const char thousands_separator = dos.tables.country[7]; char buf[22]; if (tb) { - safe_sprintf(buf, "%u,%03u,%03u,%03u,%03u", tb, gb, mb, kb, b); + safe_sprintf(buf, "%u%c%03u%c%03u%c%03u%c%03u", tb, + thousands_separator, gb, thousands_separator, mb, + thousands_separator, kb, thousands_separator, b); return buf; } if (gb) { - safe_sprintf(buf, "%u,%03u,%03u,%03u", gb, mb, kb, b); + safe_sprintf(buf, "%u%c%03u%c%03u%c%03u", gb, + thousands_separator, mb, thousands_separator, kb, + thousands_separator, b); return buf; } if (mb) { - safe_sprintf(buf, "%u,%03u,%03u", mb, kb, b); + safe_sprintf(buf, "%u%c%03u%c%03u", mb, thousands_separator, + kb, thousands_separator, b); return buf; } if (kb) { - safe_sprintf(buf, "%u,%03u", kb, b); + safe_sprintf(buf, "%u%c%03u", kb, thousands_separator, b); return buf; } sprintf(buf, "%u", b); @@ -608,6 +614,87 @@ return col_widths; } +char *format_date(const uint16_t year, const uint8_t month, const uint8_t day) +{ + char format_string[6]; + static char return_date_buffer[15] = {0}; + const char date_format = dos.tables.country[0]; + const char date_separator = dos.tables.country[11]; + int result; + switch (date_format) { + case 1: + result = sprintf(format_string, "D%cM%cY", date_separator, + date_separator); + break; + case 2: + result = sprintf(format_string, "Y%cM%cD", date_separator, + date_separator); + break; + default: + result = sprintf(format_string, "M%cD%cY", date_separator, + date_separator); + } + if (result < 0) + return return_date_buffer; + size_t index = 0; + for (int i = 0; i < 5; i++) { + if (i == 1 || i == 3) { + return_date_buffer[index] = format_string[i]; + index++; + } else { + if (format_string[i] == 'M') { + result = sprintf(return_date_buffer + index, + "%02u", month); + if (result >= 0) + index += result; + } + if (format_string[i] == 'D') { + result = sprintf(return_date_buffer + index, + "%02u", day); + if (result >= 0) + index += result; + } + if (format_string[i] == 'Y') { + result = sprintf(return_date_buffer + index, + "%04u", year); + if (result >= 0) + index += result; + } + } + } + return return_date_buffer; +} + +char *format_time(const uint8_t hour, + const uint8_t min, + const uint8_t sec, + const uint8_t msec, + bool full = false) +{ + uint8_t fhour = hour; + static char return_time_buffer[14] = {0}; + char ampm[3] = ""; + char time_format = dos.tables.country[17]; + if (!time_format) { // 12 hour notation? + if (fhour != 12) + fhour %= 12; + strcpy(ampm, hour != 12 && hour == fhour ? "am" : "pm"); + if (!full) + *(ampm + 1) = 0; // "a" or "p" in short time format + } + const char time_separator = dos.tables.country[13]; + const char decimal_separator = dos.tables.country[9]; + if (full) // Example full time format: 1:02:03.04am + sprintf(return_time_buffer, "%u%c%02u%c%02u%c%02u%s", + (unsigned int)hour, time_separator, (unsigned int)min, + time_separator, (unsigned int)sec, decimal_separator, + (unsigned int)msec, ampm); + else // Example short time format: 1:02p + sprintf(return_time_buffer, "%2u%c%02u%s", (unsigned int)hour, + time_separator, (unsigned int)min, ampm); + return return_time_buffer; +} + void DOS_Shell::CMD_DIR(char * args) { HELP("DIR"); @@ -829,13 +916,14 @@ } if (is_dir) { - WriteOut("%-8s %-3s %-21s %02d-%02d-%04d %2d:%02d\n", - name, ext, "", day, month, year, hour, minute); + WriteOut("%-8s %-3s %-21s %s %s\n", name, ext, + "", format_date(year, month, day), + format_time(hour, minute, 0, 0)); } else { const auto file_size = format_number(size); - WriteOut("%-8s %-3s %21s %02d-%02d-%04d %2d:%02d\n", - name, ext, file_size.c_str(), day, month, year, - hour, minute); + WriteOut("%-8s %-3s %21s %s %s\n", name, ext, + file_size.c_str(), format_date(year, month, day), + format_time(hour, minute, 0, 0)); } show_press_any_key(); } @@ -1383,8 +1471,36 @@ this->call=false; } -void DOS_Shell::CMD_DATE(char * args) { - HELP("DATE"); +void DOS_Shell::CMD_DATE(char *args) +{ + const char date_format = dos.tables.country[0]; + const char date_separator = dos.tables.country[11]; + char format[11]; + int result; + switch (date_format) { + case 1: + result = safe_sprintf(format, "DD%cMM%cYYYY", date_separator, + date_separator); + break; + case 2: + result = safe_sprintf(format, "YYYY%cMM%cDD", date_separator, + date_separator); + break; + default: + result = safe_sprintf(format, "MM%cDD%cYYYY", date_separator, + date_separator); + } + if (result < 0) { + LOG_WARNING("SHELL: Incorrect date format"); + return; + } + if (ScanCMDBool(args, "?")) { + WriteOut(MSG_Get("SHELL_CMD_DATE_HELP")); + WriteOut("\n"); + WriteOut(MSG_Get("SHELL_CMD_DATE_HELP_LONG"), format, + format_date(2012, 10, 11)); + return; + } if (ScanCMDBool(args, "H")) { // synchronize date with host const time_t curtime = time(nullptr); @@ -1399,52 +1515,75 @@ } // check if a date was passed in command line uint32_t newday, newmonth, newyear; - if (sscanf(args, "%u-%u-%u", &newmonth, &newday, &newyear) == 3) { - reg_cx = static_cast(newyear); - reg_dh = static_cast(newmonth); - reg_dl = static_cast(newday); - - reg_ah = 0x2b; // set system date - CALLBACK_RunRealInt(0x21); - if (reg_al == 0xff) { + char date_separator_placeholder_1, date_separator_placeholder_2; + int n; + switch (date_format) { + case 1: + n = sscanf(args, "%u%c%u%c%u", &newday, &date_separator_placeholder_1, + &newmonth, &date_separator_placeholder_2, &newyear); + break; + case 2: + n = sscanf(args, "%u%c%u%c%u", &newyear, &date_separator_placeholder_1, + &newmonth, &date_separator_placeholder_2, &newday); + break; + default: + n = sscanf(args, "%u%c%u%c%u", &newmonth, + &date_separator_placeholder_1, &newday, + &date_separator_placeholder_2, &newyear); + } + if (n == 5 && date_separator_placeholder_1 == date_separator && + date_separator_placeholder_2 == date_separator) { + if (!is_date_valid(newyear, newmonth, newday)) WriteOut(MSG_Get("SHELL_CMD_DATE_ERROR")); + else { + reg_cx = static_cast(newyear); + reg_dh = static_cast(newmonth); + reg_dl = static_cast(newday); + + reg_ah = 0x2b; // set system date + CALLBACK_RunRealInt(0x21); + if (reg_al == 0xff) { + WriteOut(MSG_Get("SHELL_CMD_DATE_ERROR")); + } } return; } // display the current date - reg_ah=0x2a; // get system date + reg_ah = 0x2a; // get system date CALLBACK_RunRealInt(0x21); - const char* datestring = MSG_Get("SHELL_CMD_DATE_DAYS"); + const char *datestring = MSG_Get("SHELL_CMD_DATE_DAYS"); Bit32u length; char day[6] = {0}; - if (sscanf(datestring,"%u",&length) && (length<5) && (strlen(datestring) == (length*7+1))) { + if (sscanf(datestring, "%u", &length) && (length < 5) && + (strlen(datestring) == (length * 7 + 1))) { // date string appears valid - for (Bit32u i = 0; i < length; i++) day[i] = datestring[reg_al*length+1+i]; + for (Bit32u i = 0; i < length; i++) + day[i] = datestring[reg_al * length + 1 + i]; } - bool dateonly = ScanCMDBool(args,"T"); - if (!dateonly) WriteOut(MSG_Get("SHELL_CMD_DATE_NOW")); - - const char* formatstring = MSG_Get("SHELL_CMD_DATE_FORMAT"); - if (strlen(formatstring)!=5) return; - char buffer[15] = {0}; - Bitu bufferptr=0; - for (Bitu i = 0; i < 5; i++) { - if (i == 1 || i == 3) { - buffer[bufferptr] = formatstring[i]; - bufferptr++; - } else { - if (formatstring[i] == 'M') bufferptr += sprintf(buffer+bufferptr,"%02u",(Bit8u) reg_dh); - if (formatstring[i] == 'D') bufferptr += sprintf(buffer+bufferptr,"%02u",(Bit8u) reg_dl); - if (formatstring[i] == 'Y') bufferptr += sprintf(buffer+bufferptr,"%04u",(Bit16u) reg_cx); - } + bool dateonly = ScanCMDBool(args, "T"); + if (!dateonly) { + WriteOut(MSG_Get("SHELL_CMD_DATE_NOW")); + WriteOut("%s ", day); + } + WriteOut("%s\n", + format_date((uint16_t)reg_cx, (uint8_t)reg_dh, (uint8_t)reg_dl)); + if (!dateonly) { + WriteOut(MSG_Get("SHELL_CMD_DATE_SETHLP"), format); } - WriteOut("%s %s\n",day, buffer); - if (!dateonly) WriteOut(MSG_Get("SHELL_CMD_DATE_SETHLP")); } void DOS_Shell::CMD_TIME(char * args) { - HELP("TIME"); + char format[9], example[9]; + const char time_separator = dos.tables.country[13]; + sprintf(format, "hh%cmm%css", time_separator, time_separator); + sprintf(example, "13%c14%c15", time_separator, time_separator); + if (ScanCMDBool(args, "?")) { + WriteOut(MSG_Get("SHELL_CMD_TIME_HELP")); + WriteOut("\n"); + WriteOut(MSG_Get("SHELL_CMD_TIME_HELP_LONG"), format, example); + return; + } if (ScanCMDBool(args, "H")) { // synchronize time with host const time_t curtime = time(NULL); @@ -1458,8 +1597,12 @@ return; } uint32_t newhour, newminute, newsecond; - if (sscanf(args, "%u:%u:%u", &newhour, &newminute, &newsecond) == 3) { - if (newhour > 23 || newminute > 59 || newsecond > 59) + char time_separator_placeholder_1, time_separator_placeholder_2; + if (sscanf(args, "%u%c%u%c%u", &newhour, &time_separator_placeholder_1, + &newminute, &time_separator_placeholder_2, &newsecond) == 5 && + time_separator_placeholder_1 == time_separator && + time_separator_placeholder_2 == time_separator) { + if (!is_time_valid(newhour, newminute, newsecond)) WriteOut(MSG_Get("SHELL_CMD_TIME_ERROR")); else { reg_ch = static_cast(newhour); @@ -1474,22 +1617,23 @@ } return; } - bool timeonly = ScanCMDBool(args,"T"); + bool timeonly = ScanCMDBool(args, "T"); - reg_ah=0x2c; // get system time + reg_ah = 0x2c; // get system time CALLBACK_RunRealInt(0x21); -/* - reg_dl= // 1/100 seconds - reg_dh= // seconds - reg_cl= // minutes - reg_ch= // hours -*/ + /* + reg_dl= // 1/100 seconds + reg_dh= // seconds + reg_cl= // minutes + reg_ch= // hours + */ if (timeonly) { - WriteOut("%2u:%02u\n",reg_ch,reg_cl); + WriteOut("%u%c%02u%c%02u\n", reg_ch, time_separator, reg_cl, + time_separator, reg_dh); } else { WriteOut(MSG_Get("SHELL_CMD_TIME_NOW")); - WriteOut("%2u:%02u:%02u,%02u\n",reg_ch,reg_cl,reg_dh,reg_dl); - WriteOut(MSG_Get("SHELL_CMD_TIME_SETHLP")); + WriteOut("%s\n", format_time(reg_ch, reg_cl, reg_dh, reg_dl, true)); + WriteOut(MSG_Get("SHELL_CMD_TIME_SETHLP"), format); } } diff -Nru dosbox-staging-0.79.0~alpha~115~gc34a/src/shell/shell.cpp dosbox-staging-0.79.0~alpha~140~ge4e3/src/shell/shell.cpp --- dosbox-staging-0.79.0~alpha~115~gc34a/src/shell/shell.cpp 2022-01-14 01:08:08.000000000 +0000 +++ dosbox-staging-0.79.0~alpha~140~ge4e3/src/shell/shell.cpp 2022-01-21 00:57:12.000000000 +0000 @@ -690,23 +690,23 @@ MSG_Add("SHELL_CMD_COMMAND_HELP_LONG", "Starts the DOSBox Staging command shell.\n" "Usage:\n" - " \033[32;1mcommand\033[0m\n" - " \033[32;1mcommand\033[0m /c (or /init) \033[36;1mCOMMAND\033[0m\n" + " [color=green]command[reset]\n" + " [color=green]command[reset] /c (or /init) [color=cyan]COMMAND[reset]\n" "\n" "Where:\n" - " \033[36;1mCOMMAND\033[0m is a DOS command, game, or program to run.\n" + " [color=cyan]COMMAND[reset] is a DOS command, game, or program to run.\n" "\n" "Notes:\n" " DOSBox Staging automatically starts a DOS command shell by invoking this\n" " command with /init option when it starts, which shows the welcome banner.\n" - " You can load a new instance of the command shell by running \033[32;1mcommand\033[0m.\n" - " Adding a /c option along with \033[36;1mCOMMAND\033[0m allows this command to run the\n" + " You can load a new instance of the command shell by running [color=green]command[reset].\n" + " Adding a /c option along with [color=cyan]COMMAND[reset] allows this command to run the\n" " specified command (optionally with parameters) and then exit automatically.\n" "\n" "Examples:\n" - " \033[32;1mcommand\033[0m\n" - " \033[32;1mcommand\033[0m /c \033[36;1mecho\033[0m \033[37mHello world!\033[0m\n" - " \033[32;1mcommand\033[0m /init \033[36;1mdir\033[0m\n"); + " [color=green]command[reset]\n" + " [color=green]command[reset] /c [color=cyan]echo[reset] [color=white]Hello world![reset]\n" + " [color=green]command[reset] /init [color=cyan]dir[reset]\n"); MSG_Add("SHELL_CMD_ECHO_ON","ECHO is on.\n"); MSG_Add("SHELL_CMD_ECHO_OFF", "ECHO is off.\n"); MSG_Add("SHELL_ILLEGAL_SWITCH","Illegal switch: %s.\n"); @@ -719,48 +719,47 @@ MSG_Add("SHELL_CMD_DATE_ERROR", "The specified date is not correct.\n"); MSG_Add("SHELL_CMD_DATE_DAYS", "3SunMonTueWedThuFriSat"); // "2SoMoDiMiDoFrSa" MSG_Add("SHELL_CMD_DATE_NOW", "Current date: "); - MSG_Add("SHELL_CMD_DATE_SETHLP", "Type 'date MM-DD-YYYY' to change.\n"); - MSG_Add("SHELL_CMD_DATE_FORMAT", "M/D/Y"); + MSG_Add("SHELL_CMD_DATE_SETHLP", "Type 'date %s' to change.\n"); MSG_Add("SHELL_CMD_DATE_HELP_LONG", "Usage:\n" - " \033[32;1mdate\033[0m [/t]\n" - " \033[32;1mdate\033[0m /h\n" - " \033[32;1mdate\033[0m \033[36;1mDATE\033[0m\n" + " [color=green]date[reset] [/t]\n" + " [color=green]date[reset] /h\n" + " [color=green]date[reset] [color=cyan]DATE[reset]\n" "\n" "Where:\n" - " \033[36;1mDATE\033[0m is the new date to set to, in the format of \033[36;1mMM-DD-YYYY\033[0m.\n" + " [color=cyan]DATE[reset] is the new date to set to, in the format of [color=cyan]%s[reset].\n" "\n" "Notes:\n" - " Running \033[32;1mdate\033[0m without an argument shows the current date, or only a date\n" + " Running [color=green]date[reset] without an argument shows the current date, or only a date\n" " with the /t option. You can force a date synchronization of with the host\n" " system with the /h option, or manually specify a new date to set to.\n" "\n" "Examples:\n" - " \033[32;1mdate\033[0m\n" - " \033[32;1mdate\033[0m /h\n" - " \033[32;1mdate\033[0m \033[36;1m10-11-2012\033[0m\n"); + " [color=green]date[reset]\n" + " [color=green]date[reset] /h\n" + " [color=green]date[reset] [color=cyan]%s[reset]\n"); MSG_Add("SHELL_CMD_TIME_HELP", "Displays or changes the internal time.\n"); MSG_Add("SHELL_CMD_TIME_ERROR", "The specified time is not correct.\n"); MSG_Add("SHELL_CMD_TIME_NOW", "Current time: "); - MSG_Add("SHELL_CMD_TIME_SETHLP", "Type 'time hh:mm:ss' to change.\n"); + MSG_Add("SHELL_CMD_TIME_SETHLP", "Type 'time %s' to change.\n"); MSG_Add("SHELL_CMD_TIME_HELP_LONG", "Usage:\n" - " \033[32;1mtime\033[0m [/t]\n" - " \033[32;1mtime\033[0m /h\n" - " \033[32;1mtime\033[0m \033[36;1mTIME\033[0m\n" + " [color=green]time[reset] [/t]\n" + " [color=green]time[reset] /h\n" + " [color=green]time[reset] [color=cyan]TIME[reset]\n" "\n" "Where:\n" - " \033[36;1mTIME\033[0m is the new time to set to, in the format of \033[36;1mhh:mm:ss\033[0m.\n" + " [color=cyan]TIME[reset] is the new time to set to, in the format of [color=cyan]%s[reset].\n" "\n" "Notes:\n" - " Running \033[32;1mtime\033[0m without an argument shows the current time, or a simple time\n" + " Running [color=green]time[reset] without an argument shows the current time, or a simple time\n" " with the /t option. You can force a time synchronization of with the host\n" " system with the /h option, or manually specify a new time to set to.\n" "\n" "Examples:\n" - " \033[32;1mtime\033[0m\n" - " \033[32;1mtime\033[0m /h\n" - " \033[32;1mtime\033[0m \033[36;1m13:14:15\033[0m\n"); + " [color=green]time[reset]\n" + " [color=green]time[reset] /h\n" + " [color=green]time[reset] [color=cyan]%s[reset]\n"); MSG_Add("SHELL_CMD_MKDIR_ERROR","Unable to make: %s.\n"); MSG_Add("SHELL_CMD_RMDIR_ERROR","Unable to remove: %s.\n"); MSG_Add("SHELL_CMD_DEL_ERROR","Unable to delete: %s.\n"); @@ -784,7 +783,7 @@ MSG_Add("SHELL_CMD_PAUSE_HELP", "Waits for a keystroke to continue.\n"); MSG_Add("SHELL_CMD_PAUSE_HELP_LONG", "Usage:\n" - " \033[32;1mpause\033[0m\n" + " [color=green]pause[reset]\n" "\n" "Where:\n" " This command has no parameters.\n" @@ -795,7 +794,7 @@ " any key on the keyboard (except for certain control keys) to continue.\n" "\n" "Examples:\n" - " \033[32;1mpause\033[0m\n"); + " [color=green]pause[reset]\n"); MSG_Add("SHELL_CMD_COPY_FAILURE","Copy failure : %s.\n"); MSG_Add("SHELL_CMD_COPY_SUCCESS"," %d File(s) copied.\n"); MSG_Add("SHELL_CMD_SUBST_NO_REMOVE","Unable to remove, drive not in use.\n"); @@ -835,359 +834,359 @@ "\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xBC\033[0m\n" "\n"); - MSG_Add("SHELL_STARTUP_SUB","\033[32;1mdosbox-staging %s\033[0m\n"); + MSG_Add("SHELL_STARTUP_SUB","[color=green]dosbox-staging %s\033[0m\n"); MSG_Add("SHELL_CMD_CHDIR_HELP","Displays or changes the current directory.\n"); MSG_Add("SHELL_CMD_CHDIR_HELP_LONG", "Usage:\n" - " \033[32;1mcd\033[0m \033[36;1mDIRECTORY\033[0m\n" - " \033[32;1mchdir\033[0m \033[36;1mDIRECTORY\033[0m\n" + " [color=green]cd[reset] [color=cyan]DIRECTORY[reset]\n" + " [color=green]chdir[reset] [color=cyan]DIRECTORY[reset]\n" "\n" "Where:\n" - " \033[36;1mDIRECTORY\033[0m is the name of the directory to change to.\n" + " [color=cyan]DIRECTORY[reset] is the name of the directory to change to.\n" "\n" "Notes:\n" - " Running \033[32;1mcd\033[0m without an argument displays the current directory.\n" - " With \033[36;1mDIRECTORY\033[0m the command only changes the directory, not the current drive.\n" + " Running [color=green]cd[reset] without an argument displays the current directory.\n" + " With [color=cyan]DIRECTORY[reset] the command only changes the directory, not the current drive.\n" "\n" "Examples:\n" - " \033[32;1mcd\033[0m\n" - " \033[32;1mcd\033[0m \033[36;1mmydir\033[0m\n"); + " [color=green]cd[reset]\n" + " [color=green]cd[reset] [color=cyan]mydir[reset]\n"); MSG_Add("SHELL_CMD_CLS_HELP", "Clears the DOS screen.\n"); MSG_Add("SHELL_CMD_CLS_HELP_LONG", "Usage:\n" - " \033[32;1mcls\033[0m\n" + " [color=green]cls[reset]\n" "\n" "Where:\n" " This command has no parameters.\n" "\n" "Notes:\n" - " Running \033[32;1mcls\033[0m clears all texts on the DOS screen, except for the command\n" - " prompt (e.g. \033[37;1mZ:\\>\033[0m or \033[37;1mC:\\GAMES>\033[0m) on the top-left corner of the screen.\n" + " Running [color=green]cls[reset] clears all texts on the DOS screen, except for the command\n" + " prompt (e.g. [color=white]Z:\\>[reset] or [color=white]C:\\GAMES>[reset]) on the top-left corner of the screen.\n" "\n" "Examples:\n" - " \033[32;1mcls\033[0m\n"); + " [color=green]cls[reset]\n"); MSG_Add("SHELL_CMD_DIR_HELP", "Displays a list of files and subdirectories in a directory.\n"); MSG_Add("SHELL_CMD_DIR_HELP_LONG", "Usage:\n" - " \033[32;1mdir\033[0m \033[36;1m[PATTERN]\033[0m [/w] [/b] [/p] [ad] [a-d] [/o\033[37;1mORDER\033[0m]\n" + " [color=green]dir[reset] [color=cyan][PATTERN][reset] [/w] [/b] [/p] [ad] [a-d] [/o[color=white]ORDER[reset]]\n" "\n" "Where:\n" - " \033[36;1mPATTERN\033[0m is either an exact filename or an inexact filename with wildcards,\n" + " [color=cyan]PATTERN[reset] is either an exact filename or an inexact filename with wildcards,\n" " which are the asterisk (*) and the question mark (?). A path can be\n" " specified in the pattern to list contents in the specified directory.\n" - " \033[37;1mORDER\033[0m is a listing order, including \033[37;1mn\033[0m (by name, alphabetic), \033[37;1ms\033[0m (by size,\n" - " smallest first), \033[37;1me\033[0m (by extension, alphabetic), \033[37;1md\033[0m (by date/time,\n" - " oldest first), with an optional \033[37;1m-\033[0m prefix to reverse order.\n" + " [color=white]ORDER[reset] is a listing order, including [color=white]n[reset] (by name, alphabetic), [color=white]s[reset] (by size,\n" + " smallest first), [color=white]e[reset] (by extension, alphabetic), [color=white]d[reset] (by date/time,\n" + " oldest first), with an optional [color=white]-[reset] prefix to reverse order.\n" " /w lists 5 files/directories in a row; /b lists the names only.\n" - " /o\033[37;1mORDER\033[0m orders the list (see above) /p pauses after each screen.\n" + " /o[color=white]ORDER[reset] orders the list (see above) /p pauses after each screen.\n" " /ad lists all directories; /a-d lists all files.\n" "\n" "Notes:\n" - " Running \033[32;1mdir\033[0m without an argument lists all files and subdirectories in the\n" - " current directory, which is the same as \033[32;1mdir\033[0m \033[36;1m*.*\033[0m.\n" + " Running [color=green]dir[reset] without an argument lists all files and subdirectories in the\n" + " current directory, which is the same as [color=green]dir[reset] [color=cyan]*.*[reset].\n" "\n" "Examples:\n" - " \033[32;1mdir\033[0m \033[36;1m\033[0m\n" - " \033[32;1mdir\033[0m \033[36;1mgames.*\033[0m /p\n" - " \033[32;1mdir\033[0m \033[36;1mc:\\games\\*.exe\033[0m /b /o\033[37;1m-d\033[0m\n"); + " [color=green]dir[reset] [color=cyan][reset]\n" + " [color=green]dir[reset] [color=cyan]games.*[reset] /p\n" + " [color=green]dir[reset] [color=cyan]c:\\games\\*.exe[reset] /b /o[color=white]-d[reset]\n"); MSG_Add("SHELL_CMD_ECHO_HELP", "Displays messages and enables/disables command echoing.\n"); MSG_Add("SHELL_CMD_ECHO_HELP_LONG", "Usage:\n" - " \033[32;1mecho\033[0m \033[36;1m[on|off]\033[0m\n" - " \033[32;1mecho\033[0m \033[36;1m[MESSAGE]\033[0m\n" + " [color=green]echo[reset] [color=cyan][on|off][reset]\n" + " [color=green]echo[reset] [color=cyan][MESSAGE][reset]\n" "\n" "Where:\n" - " \033[36;1mon|off\033[0m Turns on/off command echoing.\n" - " \033[36;1mMESSAGE\033[0m The message to display.\n" + " [color=cyan]on|off[reset] Turns on/off command echoing.\n" + " [color=cyan]MESSAGE[reset] The message to display.\n" "\n" "Notes:\n" - " - Running \033[32;1mecho\033[0m without an argument shows the current on or off status.\n" + " - Running [color=green]echo[reset] without an argument shows the current on or off status.\n" " - Echo is especially useful when writing or debugging batch files.\n" "\n" "Examples:\n" - " \033[32;1mecho\033[0m \033[36;1moff\033[0m\n" - " \033[32;1mecho\033[0m \033[36;1mHello world!\033[0m\n"); + " [color=green]echo[reset] [color=cyan]off[reset]\n" + " [color=green]echo[reset] [color=cyan]Hello world![reset]\n"); MSG_Add("SHELL_CMD_EXIT_HELP", "Exits from the DOS shell.\n"); MSG_Add("SHELL_CMD_EXIT_HELP_LONG", "Usage:\n" - " \033[32;1mexit\033[0m\n" + " [color=green]exit[reset]\n" "\n" "Where:\n" " This command has no parameters.\n" "\n" "Notes:\n" - " If you start a DOS shell from a program, running \033[32;1mexit\033[0m returns to the program.\n" + " If you start a DOS shell from a program, running [color=green]exit[reset] returns to the program.\n" " If there is no DOS program running, the command quits from DOSBox Staging.\n" "\n" "Examples:\n" - " \033[32;1mexit\033[0m\n"); + " [color=green]exit[reset]\n"); MSG_Add("SHELL_CMD_EXIT_TOO_SOON", "Preventing an early 'exit' call from terminating.\n"); MSG_Add("SHELL_CMD_HELP_HELP", "Displays help information for DOS commands.\n"); MSG_Add("SHELL_CMD_HELP_HELP_LONG", "Usage:\n" - " \033[32;1mhelp\033[0m\n" - " \033[32;1mhelp\033[0m /a[ll]\n" - " \033[32;1mhelp\033[0m \033[36;1mCOMMAND\033[0m\n" + " [color=green]help[reset]\n" + " [color=green]help[reset] /a[ll]\n" + " [color=green]help[reset] [color=cyan]COMMAND[reset]\n" "\n" "Where:\n" - " \033[36;1mCOMMAND\033[0m is the name of an internal DOS command, such as \033[36;1mdir\033[0m.\n" + " [color=cyan]COMMAND[reset] is the name of an internal DOS command, such as [color=cyan]dir[reset].\n" "\n" "Notes:\n" - " - Running \033[32;1mecho\033[0m without an argument displays a DOS command list.\n" + " - Running [color=green]echo[reset] without an argument displays a DOS command list.\n" " - You can view a full list of internal commands with the /a or /all option.\n" - " - Instead of \033[32;1mhelp\033[0m \033[36;1mCOMMAND\033[0m, you can also get command help with \033[36;1mCOMMAND\033[0m /?.\n" + " - Instead of [color=green]help[reset] [color=cyan]COMMAND[reset], you can also get command help with [color=cyan]COMMAND[reset] /?.\n" "\n" "Examples:\n" - " \033[32;1mhelp\033[0m \033[36;1mdir\033[0m\n" - " \033[32;1mhelp\033[0m /all\n"); + " [color=green]help[reset] [color=cyan]dir[reset]\n" + " [color=green]help[reset] /all\n"); MSG_Add("SHELL_CMD_INTRO_HELP", "Displays a full-screen introduction to DOSBox Staging.\n"); MSG_Add("SHELL_CMD_INTRO_HELP_LONG", "Usage:\n" - " \033[32;1mintro\033[0m\n" - " \033[32;1mintro\033[0m \033[37;1mPAGE\033[0m\n" + " [color=green]intro[reset]\n" + " [color=green]intro[reset] [color=white]PAGE[reset]\n" "\n" "Where:\n" - " \033[37;1mPAGE\033[0m is the page name to display, including \033[37;1mcdrom\033[0m, \033[37;1mmount\033[0m, and \033[37;1mspecial\033[0m.\n" + " [color=white]PAGE[reset] is the page name to display, including [color=white]cdrom[reset], [color=white]mount[reset], and [color=white]special[reset].\n" "\n" "Notes:\n" - " Running \033[32;1mintro\033[0m without an argument displays one information page at a time;\n" + " Running [color=green]intro[reset] without an argument displays one information page at a time;\n" " press any key to move to the next page. If a page name is provided, then the\n" " specified page will be displayed directly.\n" "\n" "Examples:\n" - " \033[32;1mintro\033[0m\n" - " \033[32;1mintro\033[0m \033[37;1mcdrom\033[0m\n"); + " [color=green]intro[reset]\n" + " [color=green]intro[reset] [color=white]cdrom[reset]\n"); MSG_Add("SHELL_CMD_MKDIR_HELP", "Creates a directory.\n"); MSG_Add("SHELL_CMD_MKDIR_HELP_LONG", "Usage:\n" - " \033[32;1mmd\033[0m \033[36;1mDIRECTORY\033[0m\n" - " \033[32;1mmkdir\033[0m \033[36;1mDIRECTORY\033[0m\n" + " [color=green]md[reset] [color=cyan]DIRECTORY[reset]\n" + " [color=green]mkdir[reset] [color=cyan]DIRECTORY[reset]\n" "\n" "Where:\n" - " \033[36;1mDIRECTORY\033[0m is the name of the directory to create.\n" + " [color=cyan]DIRECTORY[reset] is the name of the directory to create.\n" "\n" "Notes:\n" " - The directory must be an exact name and does not yet exist.\n" " - You can specify a path where the directory will be created.\n" "\n" "Examples:\n" - " \033[32;1mmd\033[0m \033[36;1mnewdir\033[0m\n" - " \033[32;1mmd\033[0m \033[36;1mc:\\games\\dir\033[0m\n"); + " [color=green]md[reset] [color=cyan]newdir[reset]\n" + " [color=green]md[reset] [color=cyan]c:\\games\\dir[reset]\n"); MSG_Add("SHELL_CMD_RMDIR_HELP", "Removes a directory.\n"); MSG_Add("SHELL_CMD_RMDIR_HELP_LONG", "Usage:\n" - " \033[32;1mrd\033[0m \033[36;1mDIRECTORY\033[0m\n" - " \033[32;1mrmdir\033[0m \033[36;1mDIRECTORY\033[0m\n" + " [color=green]rd[reset] [color=cyan]DIRECTORY[reset]\n" + " [color=green]rmdir[reset] [color=cyan]DIRECTORY[reset]\n" "\n" "Where:\n" - " \033[36;1mDIRECTORY\033[0m is the name of the directory to remove.\n" + " [color=cyan]DIRECTORY[reset] is the name of the directory to remove.\n" "\n" "Notes:\n" " The directory must be empty with no files or subdirectories.\n" "\n" "Examples:\n" - " \033[32;1mrd\033[0m \033[36;1memptydir\033[0m\n"); + " [color=green]rd[reset] [color=cyan]emptydir[reset]\n"); MSG_Add("SHELL_CMD_SET_HELP", "Displays or changes environment variables.\n"); MSG_Add("SHELL_CMD_SET_HELP_LONG", "Usage:\n" - " \033[32;1mset\033[0m\n" - " \033[32;1mset\033[0m \033[37;1mVARIABLE\033[0m=\033[36;1m[STRING]\033[0m\n" + " [color=green]set[reset]\n" + " [color=green]set[reset] [color=white]VARIABLE[reset]=[color=cyan][STRING][reset]\n" "\n" "Where:\n" - " \033[37;1mVARIABLE\033[0m The name of the environment variable.\n" - " \033[36;1mSTRING\033[0m A series of characters to assign to the variable.\n" + " [color=white]VARIABLE[reset] The name of the environment variable.\n" + " [color=cyan]STRING[reset] A series of characters to assign to the variable.\n" "\n" "Notes:\n" " - Assigning an empty string to the variable removes the variable.\n" " - The command without a parameter displays current environment variables.\n" "\n" "Examples:\n" - " \033[32;1mset\033[0m\n" - " \033[32;1mset\033[0m \033[37;1mname\033[0m=\033[36;1mvalue\033[0m\n"); + " [color=green]set[reset]\n" + " [color=green]set[reset] [color=white]name[reset]=[color=cyan]value[reset]\n"); MSG_Add("SHELL_CMD_IF_HELP", "Performs conditional processing in batch programs.\n"); MSG_Add("SHELL_CMD_IF_HELP_LONG", "Usage:\n" - " \033[32;1mif\033[0m \033[35;1m[not]\033[0m \033[36;1merrorlevel\033[0m \033[37;1mNUMBER\033[0m COMMAND\n" - " \033[32;1mif\033[0m \033[35;1m[not]\033[0m \033[37;1mSTR1==STR2\033[0m COMMAND\n" - " \033[32;1mif\033[0m \033[35;1m[not]\033[0m \033[36;1mexist\033[0m \033[37;1mFILE\033[0m COMMAND\n" + " [color=green]if[reset] [color=magenta][not][reset] [color=cyan]errorlevel[reset] [color=white]NUMBER[reset] COMMAND\n" + " [color=green]if[reset] [color=magenta][not][reset] [color=white]STR1==STR2[reset] COMMAND\n" + " [color=green]if[reset] [color=magenta][not][reset] [color=cyan]exist[reset] [color=white]FILE[reset] COMMAND\n" "\n" "Where:\n" - " \033[37;1mNUMBER\033[0m is a positive integer less or equal to the desired value.\n" - " \033[37;1mSTR1==STR2\033[0m compares two text strings (case-sensitive).\n" - " \033[37;1mFILE\033[0m is an exact file name to check for existence.\n" + " [color=white]NUMBER[reset] is a positive integer less or equal to the desired value.\n" + " [color=white]STR1==STR2[reset] compares two text strings (case-sensitive).\n" + " [color=white]FILE[reset] is an exact file name to check for existence.\n" " COMMAND is a DOS command or program to run, optionally with parameters.\n" "\n" "Notes:\n" " The COMMAND is run if any of the three conditions in the usage are met.\n" - " If \033[38;1mnot\033[0m is specified, then the command runs only with the false condition.\n" - " The \033[36;1merrorlevel\033[0m condition is useful for checking if a programs ran correctly.\n" - " If either \033[37;1mSTR1\033[0m or \033[37;1mSTR2\033[0m may be empty, you can enclose them in quotes (\").\n" + " If [color=magenta]not[reset] is specified, then the command runs only with the false condition.\n" + " The [color=cyan]errorlevel[reset] condition is useful for checking if a programs ran correctly.\n" + " If either [color=white]STR1[reset] or [color=white]STR2[reset] may be empty, you can enclose them in quotes (\").\n" "\n" "Examples:\n" - " \033[32;1mif\033[0m \033[36;1merrorlevel\033[0m \033[37;1m2\033[0m dir\n" - " \033[32;1mif\033[0m \033[37;1m\"%%myvar%%\"==\"mystring\"\033[0m echo Hello world!\n" - " \033[32;1mif\033[0m \033[35;1mnot\033[0m \033[36;1mexist\033[0m \033[37;1mfile.txt\033[0m exit\n"); + " [color=green]if[reset] [color=cyan]errorlevel[reset] [color=white]2[reset] dir\n" + " [color=green]if[reset] [color=white]\"%%myvar%%\"==\"mystring\"[reset] echo Hello world!\n" + " [color=green]if[reset] [color=magenta]not[reset] [color=cyan]exist[reset] [color=white]file.txt[reset] exit\n"); MSG_Add("SHELL_CMD_GOTO_HELP", "Jumps to a labeled line in a batch program.\n"); MSG_Add("SHELL_CMD_GOTO_HELP_LONG", "Usage:\n" - " \033[32;1mgoto\033[0m \033[36;1mLABEL\033[0m\n" + " [color=green]goto[reset] [color=cyan]LABEL[reset]\n" "\n" "Where:\n" - " \033[36;1mLABEL\033[0m is text string used in the batch program as a label.\n" + " [color=cyan]LABEL[reset] is text string used in the batch program as a label.\n" "\n" "Notes:\n" " A label is on a line by itself, beginning with a colon (:).\n" " The label must be unique, and can be anywhere within the batch program.\n" "\n" "Examples:\n" - " \033[32;1mgoto\033[0m \033[36;1mmylabel\033[0m\n"); + " [color=green]goto[reset] [color=cyan]mylabel[reset]\n"); MSG_Add("SHELL_CMD_SHIFT_HELP","Left-shifts command-line parameters in a batch program.\n"); MSG_Add("SHELL_CMD_SHIFT_HELP_LONG", "Usage:\n" - " \033[32;1mshift\033[0m\n" + " [color=green]shift[reset]\n" "\n" "Where:\n" " This command has no parameters.\n" "\n" "Notes:\n" " This command allows a DOS batch program to accept more than 9 parameters.\n" - " Running \033[32;1mshift\033[0m left-shifts the batch program variable %%1 to %%0, %%2 to %%1, etc.\n" + " Running [color=green]shift[reset] left-shifts the batch program variable %%1 to %%0, %%2 to %%1, etc.\n" "\n" "Examples:\n" - " \033[32;1mshift\033[0m\n"); + " [color=green]shift[reset]\n"); MSG_Add("SHELL_CMD_TYPE_HELP", "Display the contents of a text file.\n"); MSG_Add("SHELL_CMD_TYPE_HELP_LONG", "Usage:\n" - " \033[32;1mtype\033[0m \033[36;1mFILE\033[0m\n" + " [color=green]type[reset] [color=cyan]FILE[reset]\n" "\n" "Where:\n" - " \033[36;1mFILE\033[0m is the name of the file to display.\n" + " [color=cyan]FILE[reset] is the name of the file to display.\n" "\n" "Notes:\n" " The file must be an exact file name, optionally with a path.\n" " This command is only for viewing text files, not binary files.\n" "\n" "Examples:\n" - " \033[32;1mtype\033[0m \033[36;1mtext.txt\033[0m\n" - " \033[32;1mtype\033[0m \033[36;1mc:\\dos\\readme.txt\033[0m\n"); + " [color=green]type[reset] [color=cyan]text.txt[reset]\n" + " [color=green]type[reset] [color=cyan]c:\\dos\\readme.txt[reset]\n"); MSG_Add("SHELL_CMD_REM_HELP", "Adds comments in a batch program.\n"); MSG_Add("SHELL_CMD_REM_HELP_LONG", "Usage:\n" - " \033[32;1mrem\033[0m \033[36;1mCOMMENT\033[0m\n" + " [color=green]rem[reset] [color=cyan]COMMENT[reset]\n" "\n" "Where:\n" - " \033[36;1mCOMMENT\033[0m is any comment you want to add.\n" + " [color=cyan]COMMENT[reset] is any comment you want to add.\n" "\n" "Notes:\n" " Adding comments to a batch program can make it easier to understand.\n" " You can also temporarily comment out some commands with this command.\n" "\n" "Examples:\n" - " \033[32;1mrem\033[0m \033[36;1mThis is my test batch program.\033[0m\n"); + " [color=green]rem[reset] [color=cyan]This is my test batch program.[reset]\n"); MSG_Add("SHELL_CMD_NO_WILD","This is a simple version of the command, no wildcards allowed!\n"); MSG_Add("SHELL_CMD_RENAME_HELP", "Renames one or more files.\n"); MSG_Add("SHELL_CMD_RENAME_HELP_LONG", "Usage:\n" - " \033[32;1mren\033[0m \033[37;1mSOURCE\033[0m \033[36;1mDESTINATION\033[0m\n" - " \033[32;1mrename\033[0m \033[37;1mSOURCE\033[0m \033[36;1mDESTINATION\033[0m\n" + " [color=green]ren[reset] [color=white]SOURCE[reset] [color=cyan]DESTINATION[reset]\n" + " [color=green]rename[reset] [color=white]SOURCE[reset] [color=cyan]DESTINATION[reset]\n" "\n" "Where:\n" - " \033[37;1mSOURCE\033[0m is the name of the file to rename.\n" - " \033[36;1mDESTINATION\033[0m is the new name for the renamed file.\n" + " [color=white]SOURCE[reset] is the name of the file to rename.\n" + " [color=cyan]DESTINATION[reset] is the new name for the renamed file.\n" "\n" "Notes:\n" " - The source file must be an exact file name, optionally with a path.\n" " - The destination file must be an exact file name without a path.\n" "\n" "Examples:\n" - " \033[32;1mren\033[0m \033[37;1moldname\033[0m \033[36;1mnewname\033[0m\n" - " \033[32;1mren\033[0m \033[37;1mc:\\dos\\file.txt\033[0m \033[36;1mf.txt\033[0m\n"); + " [color=green]ren[reset] [color=white]oldname[reset] [color=cyan]newname[reset]\n" + " [color=green]ren[reset] [color=white]c:\\dos\\file.txt[reset] [color=cyan]f.txt[reset]\n"); MSG_Add("SHELL_CMD_DELETE_HELP","Removes one or more files.\n"); MSG_Add("SHELL_CMD_DELETE_HELP_LONG", "Usage:\n" - " \033[32;1mdel\033[0m \033[36;1mPATTERN\033[0m\n" - " \033[32;1merase\033[0m \033[36;1mPATTERN\033[0m\n" + " [color=green]del[reset] [color=cyan]PATTERN[reset]\n" + " [color=green]erase[reset] [color=cyan]PATTERN[reset]\n" "\n" "Where:\n" - " \033[36;1mPATTERN\033[0m can be either an exact filename (such as \033[36;1mfile.txt\033[0m) or an inexact\n" + " [color=cyan]PATTERN[reset] can be either an exact filename (such as [color=cyan]file.txt[reset]) or an inexact\n" " filename using one or more wildcards, which are the asterisk (*)\n" " representing any sequence of one or more characters, and the question\n" - " mark (?) representing any single character, such as \033[36;1m*.bat\033[0m and \033[36;1mc?.txt\033[0m.\n" + " mark (?) representing any single character, such as [color=cyan]*.bat[reset] and [color=cyan]c?.txt[reset].\n" "\n" "Warning:\n" - " Be careful when using a pattern with wildcards, especially \033[36;1m*.*\033[0m, as all files\n" + " Be careful when using a pattern with wildcards, especially [color=cyan]*.*[reset], as all files\n" " matching the pattern will be deleted.\n" "\n" "Examples:\n" - " \033[32;1mdel\033[0m \033[36;1mtest.bat\033[0m\n" - " \033[32;1mdel\033[0m \033[36;1mc*.*\033[0m\n" - " \033[32;1mdel\033[0m \033[36;1ma?b.c*\033[0m\n"); + " [color=green]del[reset] [color=cyan]test.bat[reset]\n" + " [color=green]del[reset] [color=cyan]c*.*[reset]\n" + " [color=green]del[reset] [color=cyan]a?b.c*[reset]\n"); MSG_Add("SHELL_CMD_COPY_HELP", "Copies one or more files.\n"); MSG_Add("SHELL_CMD_COPY_HELP_LONG", "Usage:\n" - " \033[32;1mcopy\033[0m \033[37;1mSOURCE\033[0m \033[36;1m[DESTINATION]\033[0m\n" - " \033[32;1mcopy\033[0m \033[37;1mSOURCE1+SOURCE2[+...]\033[0m \033[36;1m[DESTINATION]\033[0m\n" + " [color=green]copy[reset] [color=white]SOURCE[reset] [color=cyan][DESTINATION][reset]\n" + " [color=green]copy[reset] [color=white]SOURCE1+SOURCE2[+...][reset] [color=cyan][DESTINATION][reset]\n" "\n" "Where:\n" - " \033[37;1mSOURCE\033[0m Can be either an exact filename or an inexact filename with\n" + " [color=white]SOURCE[reset] Can be either an exact filename or an inexact filename with\n" " wildcards, which are the asterisk (*) and the question mark (?).\n" - " \033[36;1mDESTINATION\033[0m An exact filename or directory, not containing any wildcards.\n" + " [color=cyan]DESTINATION[reset] An exact filename or directory, not containing any wildcards.\n" "\n" "Notes:\n" - " The \033[37;1m+\033[0m operator combines multiple source files provided to a single file.\n" + " The [color=white]+[reset] operator combines multiple source files provided to a single file.\n" " Destination is optional: if omitted, files are copied to the current path.\n" "\n" "Examples:\n" - " \033[32;1mcopy\033[0m \033[37;1msource.bat\033[0m \033[36;1mnew.bat\033[0m\n" - " \033[32;1mcopy\033[0m \033[37;1mfile1.txt+file2.txt\033[0m \033[36;1mfile3.txt\033[0m\n" - " \033[32;1mcopy\033[0m \033[37;1m..\\c*.*\033[0m\n"); + " [color=green]copy[reset] [color=white]source.bat[reset] [color=cyan]new.bat[reset]\n" + " [color=green]copy[reset] [color=white]file1.txt+file2.txt[reset] [color=cyan]file3.txt[reset]\n" + " [color=green]copy[reset] [color=white]..\\c*.*[reset]\n"); MSG_Add("SHELL_CMD_CALL_HELP", "Starts a batch program from within another batch program.\n"); MSG_Add("SHELL_CMD_CALL_HELP_LONG", "Usage:\n" - " \033[32;1mcall\033[0m \033[37;1mBATCH\033[0m \033[36;1m[PARAMETERS]\033[0m\n" + " [color=green]call[reset] [color=white]BATCH[reset] [color=cyan][PARAMETERS][reset]\n" "\n" "Where:\n" - " \033[37;1mBATCH\033[0m is a batch program to launch.\n" - " \033[36;1mPARAMETERS\033[0m are optional parameters for the batch program.\n" + " [color=white]BATCH[reset] is a batch program to launch.\n" + " [color=cyan]PARAMETERS[reset] are optional parameters for the batch program.\n" "\n" "Notes:\n" " After calling another batch program, the original batch program will\n" " resume running after the other batch program ends.\n" "\n" "Examples:\n" - " \033[32;1mcall\033[0m \033[37;1mmybatch.bat\033[0m\n" - " \033[32;1mcall\033[0m \033[37;1mfile.bat\033[0m \033[36;1mHello world!\033[0m\n"); + " [color=green]call[reset] [color=white]mybatch.bat[reset]\n" + " [color=green]call[reset] [color=white]file.bat[reset] [color=cyan]Hello world![reset]\n"); MSG_Add("SHELL_CMD_SUBST_HELP", "Assign an internal directory to a drive.\n"); MSG_Add("SHELL_CMD_SUBST_HELP_LONG", "Usage:\n" - " \033[32;1msubst\033[0m \033[37;1mDRIVE\033[0m \033[36;1mPATH\033[0m\n" - " \033[32;1msubst\033[0m \033[37;1mDRIVE\033[0m /d\n" + " [color=green]subst[reset] [color=white]DRIVE[reset] [color=cyan]PATH[reset]\n" + " [color=green]subst[reset] [color=white]DRIVE[reset] /d\n" "\n" "Where:\n" - " \033[37;1mDRIVE\033[0m is a drive to which you want to assign a path.\n" - " \033[36;1mPATH\033[0m is a mounted DOS path you want to assign to.\n" + " [color=white]DRIVE[reset] is a drive to which you want to assign a path.\n" + " [color=cyan]PATH[reset] is a mounted DOS path you want to assign to.\n" "\n" "Notes:\n" - " The path must be on a drive mounted by the \033[32;1mmount\033[0m command.\n" + " The path must be on a drive mounted by the [color=green]mount[reset] command.\n" " You can remove an assigned drive with the /d option.\n" "\n" "Examples:\n" - " \033[32;1msubst\033[0m \033[37;1md:\033[0m \033[36;1mc:\\games\033[0m\n" - " \033[32;1msubst\033[0m \033[37;1me:\033[0m \033[36;1m/d\033[0m\n"); + " [color=green]subst[reset] [color=white]d:[reset] [color=cyan]c:\\games[reset]\n" + " [color=green]subst[reset] [color=white]e:[reset] [color=cyan]/d[reset]\n"); MSG_Add("SHELL_CMD_LOADHIGH_HELP", "Loads a DOS program into upper memory.\n"); MSG_Add("SHELL_CMD_LOADHIGH_HELP_LONG", "Usage:\n" - " \033[32;1mlh\033[0m \033[36;1mPROGRAM\033[0m \033[37;1m[PARAMETERS]\033[0m\n" - " \033[32;1mloadhigh\033[0m \033[36;1mPROGRAM\033[0m \033[37;1m[PARAMETERS]\033[0m\n" + " [color=green]lh[reset] [color=cyan]PROGRAM[reset] [color=white][PARAMETERS][reset]\n" + " [color=green]loadhigh[reset] [color=cyan]PROGRAM[reset] [color=white][PARAMETERS][reset]\n" "\n" "Where:\n" - " \033[36;1mPROGRAM\033[0m is a DOS TSR program to be loaded, optionally with parameters.\n" + " [color=cyan]PROGRAM[reset] is a DOS TSR program to be loaded, optionally with parameters.\n" "\n" "Notes:\n" " This command intends to save the conventional memory by loading specified DOS\n" @@ -1196,26 +1195,26 @@ " Not all DOS TSR programs can be loaded into upper memory with this command.\n" "\n" "Examples:\n" - " \033[32;1mlh\033[0m \033[36;1mtsrapp\033[0m \033[37;1margs\033[0m\n"); + " [color=green]lh[reset] [color=cyan]tsrapp[reset] [color=white]args[reset]\n"); MSG_Add("SHELL_CMD_LS_HELP", "Displays directory contents in the wide list format.\n"); MSG_Add("SHELL_CMD_LS_HELP_LONG", "Usage:\n" - " \033[32;1mls\033[0m \033[36;1mPATTERN\033[0m\n" - " \033[32;1mls\033[0m \033[36;1mPATH\033[0m\n" + " [color=green]ls[reset] [color=cyan]PATTERN[reset]\n" + " [color=green]ls[reset] [color=cyan]PATH[reset]\n" "\n" "Where:\n" - " \033[36;1mPATTERN\033[0m can be either an exact filename or an inexact filename with\n" + " [color=cyan]PATTERN[reset] can be either an exact filename or an inexact filename with\n" " wildcards, which are the asterisk (*) and the question mark (?).\n" - " \033[36;1mPATH\033[0m is an exact path in a mounted DOS drive to list contents.\n" + " [color=cyan]PATH[reset] is an exact path in a mounted DOS drive to list contents.\n" "\n" "Notes:\n" - " The command will list directories in \033[34;1mblue\033[0m, executable DOS programs\n" - " (*.com, *.exe, *.bat) in \033[32;1mgreen\033[0m, and other files in the normal color.\n" + " The command will list directories in [color=blue]blue[reset], executable DOS programs\n" + " (*.com, *.exe, *.bat) in [color=green]green[reset], and other files in the normal color.\n" "\n" "Examples:\n" - " \033[32;1mls\033[0m \033[36;1mfile.txt\033[0m\n" - " \033[32;1mls\033[0m \033[36;1mc*.ba?\033[0m\n"); + " [color=green]ls[reset] [color=cyan]file.txt[reset]\n" + " [color=green]ls[reset] [color=cyan]c*.ba?[reset]\n"); MSG_Add("SHELL_CMD_LS_PATH_ERR", "ls: cannot access '%s': No such file or directory\n"); @@ -1223,59 +1222,59 @@ "Waits for a keypress and sets an ERRORLEVEL value.\n"); MSG_Add("SHELL_CMD_CHOICE_HELP_LONG", "Usage:\n" - " \033[32;1mchoice\033[0m \033[36;1m[TEXT]\033[0m\n" - " \033[32;1mchoice\033[0m /c[:]\033[37;1mCHOICES\033[0m [/n] [/s] \033[36;1m[TEXT]\033[0m\n" + " [color=green]choice[reset] [color=cyan][TEXT][reset]\n" + " [color=green]choice[reset] /c[:][color=white]CHOICES[reset] [/n] [/s] [color=cyan][TEXT][reset]\n" "\n" "Where:\n" - " \033[36;1mTEXT\033[0m is the text to display as a prompt, or empty.\n" - " /c[:]\033[37;1mCHOICES\033[0m Specifies allowable keys, which default to \033[37;1myn\033[0m.\n" + " [color=cyan]TEXT[reset] is the text to display as a prompt, or empty.\n" + " /c[:][color=white]CHOICES[reset] Specifies allowable keys, which default to [color=white]yn[reset].\n" " /n Do not display the choices at end of prompt.\n" " /s Enables case-sensitive choices to be selected.\n" "\n" "Notes:\n" " This command sets an ERRORLEVEL value starting from 1 according to the\n" " allowable keys specified in /c option, and the user input can then be checked\n" - " with \033[32;1mif\033[0m command. With /n option only the specified text will be displayed,\n" - " but not the actual choices (such as the default \033[37;1m[Y,N]?\033[0m) in the end.\n" + " with [color=green]if[reset] command. With /n option only the specified text will be displayed,\n" + " but not the actual choices (such as the default [color=white][Y,N]?[reset]) in the end.\n" "\n" "Examples:\n" - " \033[32;1mchoice\033[0m \033[36;1mContinue?\033[0m\n" - " \033[32;1mchoice\033[0m /c:\033[37;1mabc\033[0m /s \033[36;1mType the letter a, b, or c\033[0m\n"); + " [color=green]choice[reset] [color=cyan]Continue?[reset]\n" + " [color=green]choice[reset] /c:[color=white]abc[reset] /s [color=cyan]Type the letter a, b, or c[reset]\n"); MSG_Add("SHELL_CMD_PATH_HELP", "Displays or sets a search path for executable files.\n"); MSG_Add("SHELL_CMD_PATH_HELP_LONG", "Usage:\n" - " \033[32;1mpath\033[0m\n" - " \033[32;1mpath\033[0m \033[36;1m[[drive:]path[;...]\033[0m\n" + " [color=green]path[reset]\n" + " [color=green]path[reset] [color=cyan][[drive:]path[;...][reset]\n" "\n" "Where:\n" - " \033[36;1m[[drive:]path[;...]\033[0m is a path containing a drive and directory.\n" + " [color=cyan][[drive:]path[;...][reset] is a path containing a drive and directory.\n" " More than one path can be specified, separated by a semi-colon (;).\n" "\n" "Notes:\n" " Parameter with a semi-colon (;) only clears all search path settings.\n" - " The path can also be set using \033[32;1mset\033[0m command, e.g. \033[32;1mset\033[0m \033[37;1mpath\033[0m=\033[36;1mZ:\\\033[0m\n" + " The path can also be set using [color=green]set[reset] command, e.g. [color=green]set[reset] [color=white]path[reset]=[color=cyan]Z:\\[reset]\n" "\n" "Examples:\n" - " \033[32;1mpath\033[0m\n" - " \033[32;1mpath\033[0m \033[36;1mZ:\\;C:\\DOS\033[0m\n"); + " [color=green]path[reset]\n" + " [color=green]path[reset] [color=cyan]Z:\\;C:\\DOS[reset]\n"); MSG_Add("SHELL_CMD_VER_HELP", "View or set the reported DOS version.\n"); MSG_Add("SHELL_CMD_VER_HELP_LONG", "Usage:\n" - " \033[32;1mver\033[0m\n" - " \033[32;1mver\033[0m \033[37;1mset\033[0m \033[36;1mVERSION\033[0m\n" + " [color=green]ver[reset]\n" + " [color=green]ver[reset] [color=white]set[reset] [color=cyan]VERSION[reset]\n" "\n" "Where:\n" - " \033[36;1mVERSION\033[0m can be a whole number, such as \033[36;1m5\033[0m, or include a two-digit decimal\n" - " value, such as: \033[36;1m6.22\033[0m, \033[36;1m7.01\033[0m, or \033[36;1m7.10\033[0m. The decimal can alternatively be\n" - " space-separated, such as: \033[36;1m6 22\033[0m, \033[36;1m7 01\033[0m, or \033[36;1m7 10\033[0m.\n" + " [color=cyan]VERSION[reset] can be a whole number, such as [color=cyan]5[reset], or include a two-digit decimal\n" + " value, such as: [color=cyan]6.22[reset], [color=cyan]7.01[reset], or [color=cyan]7.10[reset]. The decimal can alternatively be\n" + " space-separated, such as: [color=cyan]6 22[reset], [color=cyan]7 01[reset], or [color=cyan]7 10[reset].\n" "\n" "Notes:\n" " The DOS version can also be set in the configuration file under the [dos]\n" - " section using the \"ver = \033[36;1mVERSION\033[0m\" setting.\n" + " section using the \"ver = [color=cyan]VERSION[reset]\" setting.\n" "\n" "Examples:\n" - " \033[32;1mver\033[0m \033[37;1mset\033[0m \033[36;1m6.22\033[0m\n" - " \033[32;1mver\033[0m \033[37;1mset\033[0m \033[36;1m7 10\033[0m\n"); + " [color=green]ver[reset] [color=white]set[reset] [color=cyan]6.22[reset]\n" + " [color=green]ver[reset] [color=white]set[reset] [color=cyan]7 10[reset]\n"); MSG_Add("SHELL_CMD_VER_VER", "DOSBox Staging version %s\n" "DOS version %d.%02d\n"); MSG_Add("SHELL_CMD_VER_INVALID", "The specified DOS version is not correct.\n");