mirror of
https://github.com/joncampbell123/dosbox-x.git
synced 2025-05-09 11:51:09 +08:00
Merge pull request #5532 from maron2000/add_translations
Add more missing translations
This commit is contained in:
commit
94443fe074
@ -3808,7 +3808,7 @@ allotment. Choose a different drive letter to mount to.
|
|||||||
El Torito emulation requires a proper CD-ROM drive letter.
|
El Torito emulation requires a proper CD-ROM drive letter.
|
||||||
.
|
.
|
||||||
:PROGRAM_ELTORITO_DRIVE_EXISTS
|
:PROGRAM_ELTORITO_DRIVE_EXISTS
|
||||||
El Torito CD-ROM drive specified already exists as a non-CD-ROM device\n");
|
El Torito CD-ROM drive specified already exists as a non-CD-ROM device
|
||||||
.
|
.
|
||||||
:PROGRAM_ELTORITO_NOT_CDDRIVE
|
:PROGRAM_ELTORITO_NOT_CDDRIVE
|
||||||
El Torito CD-ROM drive specified is not actually a CD-ROM drive.
|
El Torito CD-ROM drive specified is not actually a CD-ROM drive.
|
||||||
@ -3871,8 +3871,8 @@ Sanity check failed: Volume size not aligned
|
|||||||
Error: Generated filesystem has too few clusters given the parameters
|
Error: Generated filesystem has too few clusters given the parameters
|
||||||
.
|
.
|
||||||
:PROGRAM_IMGMAKE_CLUSTERCOUNT
|
:PROGRAM_IMGMAKE_CLUSTERCOUNT
|
||||||
Warning: Cluster count is too high given the volume size. Reporting a
|
Warning: Cluster count is too high given the volume size.
|
||||||
smaller sector count.
|
Reporting a smaller sector count.
|
||||||
.
|
.
|
||||||
:PROGRAM_IMGMAKE_CLUSTER_ALIGN
|
:PROGRAM_IMGMAKE_CLUSTER_ALIGN
|
||||||
Sanity check failed: First cluster not aligned
|
Sanity check failed: First cluster not aligned
|
||||||
@ -3928,3 +3928,281 @@ Bytes/sector too large
|
|||||||
:PROGRAM_BOOT_DRIVE_READERROR
|
:PROGRAM_BOOT_DRIVE_READERROR
|
||||||
Error reading drive
|
Error reading drive
|
||||||
.
|
.
|
||||||
|
:PROGRAM_START_HELP_WIN
|
||||||
|
Starts a separate window to run a specified program or command.
|
||||||
|
|
||||||
|
START [+|-|_] command [arguments]
|
||||||
|
|
||||||
|
[+|-|_]: To maximize/minimize/hide the program.
|
||||||
|
The options /MAX, /MIN, /HID are also accepted.
|
||||||
|
command: The command, program or file to start.
|
||||||
|
arguments: Arguments to pass to the application.
|
||||||
|
|
||||||
|
START opens the Windows command prompt automatically to run these commands
|
||||||
|
and wait for a key press before exiting (specified by "startincon" option):
|
||||||
|
%s
|
||||||
|
|
||||||
|
Note: The path specified in this command is the path on the host system.
|
||||||
|
.
|
||||||
|
:PROGRAM_START_HELP
|
||||||
|
Starts a separate window to run a specified program or command.
|
||||||
|
|
||||||
|
START /OPEN file
|
||||||
|
START command [arguments]
|
||||||
|
|
||||||
|
/OPEN: To open a file or URL with the associated program.
|
||||||
|
file: The file or URL to open with the associated program.
|
||||||
|
command: The command or program to start or run.
|
||||||
|
arguments: Arguments to pass to the application.
|
||||||
|
|
||||||
|
Note: The path specified in this command is the path on the host system.
|
||||||
|
.
|
||||||
|
:PROGRAM_START_COMPLETED
|
||||||
|
The command execution is completed.
|
||||||
|
.
|
||||||
|
:PROGRAM_START_COMMAND
|
||||||
|
Starting %s...
|
||||||
|
.
|
||||||
|
:PROGRAM_START_CTRLC
|
||||||
|
(Press Ctrl+C to exit immediately)
|
||||||
|
.
|
||||||
|
:PROGRAM_START_HOST_ERROR
|
||||||
|
Error: START cannot launch application to run on your current host system.
|
||||||
|
.
|
||||||
|
:PROGRAM_START_LAUNCH_ERROR
|
||||||
|
Error: START could not launch application.
|
||||||
|
.
|
||||||
|
:PROGRAM_IMGMOUNT_ELTORITO_NO_FILE
|
||||||
|
Do not specify files when mounting floppy drives from El Torito bootable CDs
|
||||||
|
.
|
||||||
|
:PROGRAM_IMGMOUNT_RAMDRIVE_NO_FILE
|
||||||
|
Do not specify files when mounting RAM drives
|
||||||
|
.
|
||||||
|
:PROGRAM_IMGMOUNT_INVALID_SECTORSIZE
|
||||||
|
Sector size must be larger than 512 bytes and evenly divide the image cluster size of %lu bytes.
|
||||||
|
.
|
||||||
|
:PROGRAM_IMGMOUNT_OPEN_ERROR
|
||||||
|
Unable to open '%s'
|
||||||
|
.
|
||||||
|
:PROGRAM_IMGMOUNT_QCOW2_INVALID
|
||||||
|
qcow2 image '%s' is not supported
|
||||||
|
.
|
||||||
|
:PROGRAM_IMGMOUNT_GEOMETRY_ERROR
|
||||||
|
Unable to detect geometry
|
||||||
|
.
|
||||||
|
:PROGRAM_IMGMOUNT_DOS_VERSION
|
||||||
|
Mounting this image file requires a reported DOS version of %u.%u or higher.
|
||||||
|
%s
|
||||||
|
.
|
||||||
|
:PROGRAM_IMGMOUNT_INVALID_FLOPPYSIZE
|
||||||
|
Floppy size not recognized
|
||||||
|
.
|
||||||
|
:PROGRAM_IMGMOUNT_MULTIPLE_USED
|
||||||
|
Multiple images given and another drive already uses multiple images
|
||||||
|
.
|
||||||
|
:PROGRAM_IMGMOUNT_MULTIPLE_NOTSUPPORTED
|
||||||
|
Multiple disk images not supported for that drive
|
||||||
|
.
|
||||||
|
:PROGRAM_IMGMOUNT_HD_FDPOSITION
|
||||||
|
Cannot mount hard drive in floppy position.
|
||||||
|
.
|
||||||
|
:PROGRAM_IMGMOUNT_FD_HDPOSITION
|
||||||
|
Cannot mount floppy in hard drive position.
|
||||||
|
.
|
||||||
|
:PROGRAM_ELTORITO_ISOMOUNT
|
||||||
|
El Torito bootable CD: -fs iso mounting not supported
|
||||||
|
.
|
||||||
|
:PROGRAM_MODE_STATUS
|
||||||
|
Status for device CON:
|
||||||
|
----------------------
|
||||||
|
Columns=%d
|
||||||
|
Lines=%d
|
||||||
|
.
|
||||||
|
:PROGRAM_MODE_NOTSUPPORTED
|
||||||
|
|
||||||
|
Code page operation not supported on this device
|
||||||
|
.
|
||||||
|
:PROGRAM_MODE_RATE_DELAY
|
||||||
|
Rate and delay must be specified together
|
||||||
|
.
|
||||||
|
:PROGRAM_UTF8_HELP
|
||||||
|
Converts UTF-8 text to view in the current code page.
|
||||||
|
|
||||||
|
UTF8 < [drive:][path]filename
|
||||||
|
command-name | UTF8
|
||||||
|
.
|
||||||
|
:PROGRAM_UTF8_NO_TEXT
|
||||||
|
No input text found.
|
||||||
|
.
|
||||||
|
:PROGRAM_UTF8_INVALIDCP
|
||||||
|
Invalid code page for text conversion.
|
||||||
|
.
|
||||||
|
:PROGRAM_UTF8_NOT_UTF8
|
||||||
|
The input text is UTF-16.
|
||||||
|
.
|
||||||
|
:PROGRAM_UTF8_CONVERSION_ERROR
|
||||||
|
An error occurred during text conversion.
|
||||||
|
.
|
||||||
|
:PROGRAM_UTF16_HELP
|
||||||
|
Converts UTF-16 text to view in the current code page.
|
||||||
|
|
||||||
|
UTF16 [/BE|/LE] < [drive:][path]filename
|
||||||
|
command-name | UTF16 [/BE|/LE]
|
||||||
|
|
||||||
|
/BE Use UTF-16 Big Endian
|
||||||
|
/LE Use UTF-16 Little Endian
|
||||||
|
.
|
||||||
|
:PROGRAM_VTEXT_HELP
|
||||||
|
Changes V-text mode for the DOS/V emulation.
|
||||||
|
|
||||||
|
VTEXT [mode]
|
||||||
|
|
||||||
|
[mode] can be 0, 1, 2, for no V-text, V-text 1, and V-text 2 respectively.
|
||||||
|
|
||||||
|
Type VTEXT without a parameter to show the current V-text mode status.
|
||||||
|
.
|
||||||
|
:PROGRAM_NMITEST_HELP
|
||||||
|
Generates a non-maskable interrupt (NMI).
|
||||||
|
|
||||||
|
NMITEST
|
||||||
|
|
||||||
|
Note: This is a debugging tool to test if the interrupt handler works properly.
|
||||||
|
.
|
||||||
|
:PROGRAM_NMITEST_GENERATE_NMI
|
||||||
|
Generating a non-maskable interrupt (NMI)...
|
||||||
|
.
|
||||||
|
:PROGRAM_CAPMOUSE_HELP
|
||||||
|
Captures or releases the mouse inside DOSBox-X.
|
||||||
|
|
||||||
|
CAPMOUSE [/C|/R]
|
||||||
|
|
||||||
|
/C Capture the mouse
|
||||||
|
/R Release the mouse
|
||||||
|
.
|
||||||
|
:PROGRAM_CAPMOUSE_MOUSE
|
||||||
|
Mouse
|
||||||
|
.
|
||||||
|
:PROGRAM_CAPMOUSE_CURRENTLY
|
||||||
|
is currently
|
||||||
|
.
|
||||||
|
:PROGRAM_CAPMOUSE_CAPTURED
|
||||||
|
captured
|
||||||
|
.
|
||||||
|
:PROGRAM_CAPMOUSE_RELEASED
|
||||||
|
released
|
||||||
|
.
|
||||||
|
:PROGRAM_AUTOTYPE_HELP
|
||||||
|
Performs scripted keyboard entry into a running DOS program.
|
||||||
|
|
||||||
|
AUTOTYPE [-list] [-w WAIT] [-p PACE] button_1 [button_2 [...]]
|
||||||
|
|
||||||
|
Where:
|
||||||
|
-list: prints all available button names.
|
||||||
|
-w WAIT: seconds before typing begins. Two second default; max of 30.
|
||||||
|
-p PACE: seconds between each keystroke. Half-second default; max of 10.
|
||||||
|
|
||||||
|
The sequence is comprised of one or more space-separated buttons.
|
||||||
|
Autotyping begins after WAIT seconds, and each button is entered
|
||||||
|
every PACE seconds. The , character inserts an extra PACE delay.
|
||||||
|
|
||||||
|
Some examples:
|
||||||
|
←[32;1mAUTOTYPE -w 1 -p 0.3 up enter , right enter←[0m
|
||||||
|
←[32;1mAUTOTYPE -p 0.2 f1 kp_8 , , enter←[0m
|
||||||
|
←[32;1mAUTOTYPE -w 1.3 esc enter , p l a y e r enter←[0m
|
||||||
|
.
|
||||||
|
:PROGRAM_AUTOTYPE_NO_BINDINGS
|
||||||
|
AUTOTYPE: The mapper has no key bindings
|
||||||
|
.
|
||||||
|
:PROGRAM_AUTOTYPE_CLAMP_VALUE
|
||||||
|
AUTOTYPE: bounding %s value of %.2f to %.2f
|
||||||
|
.
|
||||||
|
:PROGRAM_AUTOTYPE_INVALID_VALUE
|
||||||
|
AUTOTYPE: %s value '%s' is not a valid floating point number
|
||||||
|
.
|
||||||
|
:PROGRAM_ADDKEY_HELP
|
||||||
|
Generates artificial keypresses.
|
||||||
|
|
||||||
|
ADDKEY [pmsec] [key]
|
||||||
|
|
||||||
|
For example, the command below types "dir" followed by ENTER after 1 second:
|
||||||
|
|
||||||
|
ADDKEY p1000 d i r enter
|
||||||
|
|
||||||
|
You could also try AUTOTYPE command instead of this command to perform
|
||||||
|
scripted keyboard entry into a running DOS program.
|
||||||
|
.
|
||||||
|
:PROGRAM_SETCOLOR_HELP
|
||||||
|
Views or changes the text-mode color scheme settings.
|
||||||
|
|
||||||
|
SETCOLOR [color# [value]]
|
||||||
|
|
||||||
|
For example:
|
||||||
|
|
||||||
|
←[32;1mSETCOLOR 0 (50,50,50)←[0m
|
||||||
|
Change Color #0 to the specified color value
|
||||||
|
|
||||||
|
←[32;1mSETCOLOR 7 -←[0m
|
||||||
|
Return Color #7 to the default color value
|
||||||
|
|
||||||
|
←[32;1mSETCOLOR 3 +←[0m
|
||||||
|
Return Color #3 to the preset color value
|
||||||
|
|
||||||
|
←[32;1mSETCOLOR MONO←[0m
|
||||||
|
Display current MONO mode status
|
||||||
|
|
||||||
|
To change the current background and foreground colors, use COLOR command.
|
||||||
|
.
|
||||||
|
:PROGRAM_SETCOLOR_STATUS
|
||||||
|
MONO mode status: %s (video mode %d)
|
||||||
|
.
|
||||||
|
:PROGRAM_SETCOLOR_ACTIVE
|
||||||
|
active
|
||||||
|
.
|
||||||
|
:PROGRAM_SETCOLOR_INACTIVE
|
||||||
|
inactive
|
||||||
|
.
|
||||||
|
:PROGRAM_SETCOLOR_UNAVAILABLE
|
||||||
|
unavailable
|
||||||
|
.
|
||||||
|
:PROGRAM_SETCOLOR_MONO_MODE7
|
||||||
|
MONO mode status => active (video mode 7)
|
||||||
|
.
|
||||||
|
:PROGRAM_SETCOLOR_MONO_MODE3
|
||||||
|
MONO mode status => inactive (video mode 3)
|
||||||
|
.
|
||||||
|
:PROGRAM_SETCOLOR_MONO_FAIL
|
||||||
|
Failed to change MONO mode
|
||||||
|
.
|
||||||
|
:PROGRAM_SETCOLOR_MONO_SYNTAX
|
||||||
|
Must be + or - for MONO: %s
|
||||||
|
.
|
||||||
|
:PROGRAM_SETCOLOR_COLOR
|
||||||
|
Color %d: (%d,%d,%d) or #%02x%02x%02x
|
||||||
|
.
|
||||||
|
:PROGRAM_SETCOLOR_INVALID_NUMBER
|
||||||
|
Invalid color number - %s
|
||||||
|
.
|
||||||
|
:PROGRAM_SETCOLOR_INVALID_VALUE
|
||||||
|
Invalid color value - %s
|
||||||
|
.
|
||||||
|
:PROGRAM_SETCOLOR_NOT_SUPPORTED
|
||||||
|
Changing color scheme is not supported for the current video mode.
|
||||||
|
.
|
||||||
|
:PROGRAM_BOOT_UNKNOWN_BOOTHAX
|
||||||
|
Unknown boothax mode
|
||||||
|
.
|
||||||
|
:PROGRAM_BOOT_SPECIFY_FILE
|
||||||
|
Must specify BIOS image to boot
|
||||||
|
.
|
||||||
|
:PROGRAM_BOOT_BIOS_OPEN_ERROR
|
||||||
|
Unable to open BIOS image
|
||||||
|
.
|
||||||
|
:PROGRAM_BIOSTEST_SPECIFY_FILE
|
||||||
|
Must specify BIOS file to load.
|
||||||
|
.
|
||||||
|
:PROGRAM_BIOSTEST_OPEN_ERROR
|
||||||
|
Can't open a file
|
||||||
|
.
|
||||||
|
:PROGRAM_BIOSTEST_TOO_LARGE
|
||||||
|
BIOS File too large
|
||||||
|
.
|
@ -3683,3 +3683,543 @@ CPU:簡易コア
|
|||||||
:MAPPER:togmenu
|
:MAPPER:togmenu
|
||||||
メニューバー表示切替
|
メニューバー表示切替
|
||||||
.
|
.
|
||||||
|
:PROGRAM_FLAGSAVE_UNFLAGALL
|
||||||
|
ファイルをセーブするフラグをすべて解除しました。
|
||||||
|
|
||||||
|
.
|
||||||
|
:PROGRAM_FLAGSAVE_UNFLAGGED
|
||||||
|
ファイル %s をセーブするフラグを解除しました。
|
||||||
|
|
||||||
|
.
|
||||||
|
:PROGRAM_FLAGSAVE_FLAGGED
|
||||||
|
指定したファイルはすでにフラグを設定済みです。 - %s
|
||||||
|
|
||||||
|
.
|
||||||
|
:PROGRAM_FLAGSAVE_TOOMANY
|
||||||
|
フラグを設定するファイルの数が多すぎます。
|
||||||
|
|
||||||
|
.
|
||||||
|
:PROGRAM_FLAGSAVE_SAVED
|
||||||
|
ファイル %s をセーブするフラグを設定しました。
|
||||||
|
|
||||||
|
.
|
||||||
|
:PROGRAM_FLAGSAVE_LIST
|
||||||
|
フラグを設定したファイル:
|
||||||
|
.
|
||||||
|
:PROGRAM_FLAGSAVE_HLP
|
||||||
|
セーブステート機能でセーブするファイルのフラグを設定します。
|
||||||
|
|
||||||
|
FLAGSAVE [ファイル] [/F] [/R]] [/U]
|
||||||
|
|
||||||
|
ファイル セーブするファイルのフラグを設定するファイルを指定 (複数指定可)
|
||||||
|
/F ファイルが見つからなくても強制的にフラグを設定します。
|
||||||
|
/R 指定したファイルのフラグを解除します。
|
||||||
|
/U すべてのファイルのフラグを解除します。
|
||||||
|
|
||||||
|
パラメータなしで FLAGSAVE を実行すると設定したファイルの一覧を表示します。
|
||||||
|
|
||||||
|
.
|
||||||
|
:PROGRAM_INT2FDBG_NOT_SET
|
||||||
|
INT 2Fh フックは設定されていません。
|
||||||
|
|
||||||
|
.
|
||||||
|
:PROGRAM_INT2FDBG_ALREADY
|
||||||
|
INT 2Fh フックは設定済みです。
|
||||||
|
|
||||||
|
.
|
||||||
|
:PROGRAM_INT2FDBG_HELP
|
||||||
|
デバッグ用途に INT 2Fh をフックします。
|
||||||
|
|
||||||
|
INT2FDBG [option]
|
||||||
|
/I フックを設定する
|
||||||
|
|
||||||
|
デバッグ情報のために、コールチェーンの先頭にINT 2Fhをフックします。
|
||||||
|
|
||||||
|
パラメータなしで INT2FDBG を実行すると現在のフックの状態を表示します。
|
||||||
|
.
|
||||||
|
:PROGRAM_SET80x25
|
||||||
|
80x25 テキストモードに切り替えます。
|
||||||
|
.
|
||||||
|
:PROGRAM_SET80x43
|
||||||
|
80x43 テキストモードに切り替えます。
|
||||||
|
.
|
||||||
|
:PROGRAM_SET80x50
|
||||||
|
80x50 テキストモードに切り替えます。
|
||||||
|
.
|
||||||
|
:PROGRAM_SET80x60
|
||||||
|
80x60 テキストモードに切り替えます。
|
||||||
|
.
|
||||||
|
:PROGRAM_SET132x25
|
||||||
|
132x25 テキストモードに切り替えます。
|
||||||
|
.
|
||||||
|
:PROGRAM_SET132x43
|
||||||
|
132x43 テキストモードに切り替えます。
|
||||||
|
.
|
||||||
|
:PROGRAM_SET132x50
|
||||||
|
132x50 テキストモードに切り替えます。
|
||||||
|
.
|
||||||
|
:PROGRAM_SET132x60
|
||||||
|
132x60 テキストモードに切り替えます。
|
||||||
|
.
|
||||||
|
:PROGRAM_RESCAN_HELP
|
||||||
|
再スキャンし、ホストによるマウントされたドライブへの変更をキャッシュします。
|
||||||
|
|
||||||
|
RESCAN [/A] [/Q]
|
||||||
|
RESCAN [ドライブ:] [/Q]
|
||||||
|
|
||||||
|
[/A] すべてのドライブを再スキャンします。
|
||||||
|
[/Q] 非表示(Quiet) モードで実行します。
|
||||||
|
[ドライブ:] 再スキャンするドライブ
|
||||||
|
|
||||||
|
パラメータなしで RESCAN を実行するとカレントドライブを再スキャンします。
|
||||||
|
|
||||||
|
.
|
||||||
|
:PROGRAM_CFGTOOL_HELP
|
||||||
|
DOSBox-X のグラフィカルな設定ツールを起動します。
|
||||||
|
|
||||||
|
CFGTOOL
|
||||||
|
|
||||||
|
参考: CONFIG コマンドでコマンドラインからも設定の変更が可能です。
|
||||||
|
.
|
||||||
|
:PROGRAM_IMGSWAP_HELP
|
||||||
|
フロッピー、ハードディスク、光学ドライブのイメージを切り替えます。
|
||||||
|
|
||||||
|
[32;1mIMGSWAP[0m [37;1mdrive[0m [36;1m[position][0m
|
||||||
|
[37;1mdrive[0m イメージを切り替えるドライブ
|
||||||
|
[36;1m[position][0m 切り替えるディスク番号を指定
|
||||||
|
.
|
||||||
|
:PROGRAM_INTRO_HELP
|
||||||
|
フルスクリーン表示で DOSBox-X を紹介します。
|
||||||
|
|
||||||
|
INTRO [/RUN] [CDROM|MOUNT|USAGE|WELCOME]
|
||||||
|
.
|
||||||
|
:PROGRAM_IMGMOUNT_NOT_ASSIGNED
|
||||||
|
BIOS ディスクインデックスにイメージが設定されていません。
|
||||||
|
.
|
||||||
|
:PROGRAM_IMGMOUNT_INVALID_NUMBER
|
||||||
|
無効なマウント番号です。
|
||||||
|
.
|
||||||
|
:PROGRAM_IMGMOUNT_INVALID_FSTYPE
|
||||||
|
無効な fstype です。
|
||||||
|
.
|
||||||
|
:PROGRAM_IMGMOUNT_INVALID_SIZE
|
||||||
|
無効なサイズパラメータです。
|
||||||
|
.
|
||||||
|
:PROGRAM_IMGMOUNT_NOT_MOUNTED_NUMBER
|
||||||
|
ドライブ番号 %d はマウントされていません。
|
||||||
|
.
|
||||||
|
:PROGRAM_IMGMOUNT_UMOUNT_USAGE
|
||||||
|
無効な IMGMOUNT のアンマウント方法です。
|
||||||
|
.
|
||||||
|
:PROGRAM_IMGMOUNT_INVALID_LETTER
|
||||||
|
無効なドライブ文字です。
|
||||||
|
.
|
||||||
|
:PROGRAM_IMGMOUNT_CHOOSE_LETTER
|
||||||
|
パーティションは、標準INT 13hのハードディスク割り当てと競合してマウントすること
|
||||||
|
はできません。別のドライブ文字を選択して下さい。
|
||||||
|
.
|
||||||
|
:PROGRAM_ELTORITO_LETTER
|
||||||
|
El Torito エミュレーションには 適切なCD-ROM ドライブ文字を指定して下さい。
|
||||||
|
.
|
||||||
|
:PROGRAM_ELTORITO_DRIVE_EXISTS
|
||||||
|
指定したEl Torito CD-ROM ドライブはすでに非CD-ROM デバイスに指定されています。
|
||||||
|
.
|
||||||
|
:PROGRAM_ELTORITO_NOT_CDDRIVE
|
||||||
|
指定したEl Torito CD-ROM ドライブは CD-ROM ドライブではありません。
|
||||||
|
.
|
||||||
|
:PROGRAM_ELTORITO_REQUIRE_FLOPPY
|
||||||
|
El Torito エミュレーションには -t floppy を指定する必要があります。
|
||||||
|
.
|
||||||
|
:PROGRAM_ELTORITO_NO_BOOT_RECORD
|
||||||
|
El Torito CD-ROM ブートレコードが見つかりません。
|
||||||
|
.
|
||||||
|
:PROGRAM_ELTORITO_ENTRY_UNREADABLE
|
||||||
|
El Torito エントリが読み取れません。
|
||||||
|
.
|
||||||
|
:PROGRAM_ELTORITO_NO_BOOTABLE_FLOPPY
|
||||||
|
El Torito 起動用フロッピーが見つかりません。
|
||||||
|
.
|
||||||
|
:PROGRAM_ELTORITO_BOOTABLE_SECTION
|
||||||
|
ブート可能領域が見つかりませんでした。
|
||||||
|
.
|
||||||
|
:PROGRAM_ELTORITO_BOOTSECTOR
|
||||||
|
El Torito ブートセクタが読み取れません。
|
||||||
|
.
|
||||||
|
:PROGRAM_IMGMAKE_ALIGNMENT
|
||||||
|
無効な alignment オプションです。
|
||||||
|
.
|
||||||
|
:PROGRAM_IMGMAKE_PARTOFS
|
||||||
|
無効な -partofs オプションです。
|
||||||
|
.
|
||||||
|
:PROGRAM_IMGMAKE_FAT
|
||||||
|
無効な -fat オプションです。 12, 16, 32のいずれかを指定して下さい。
|
||||||
|
.
|
||||||
|
:PROGRAM_IMGMAKE_FATCOPIES
|
||||||
|
無効な -fatcopies オプションです。
|
||||||
|
.
|
||||||
|
:PROGRAM_IMGMAKE_SPC
|
||||||
|
無効な -spc オプションです。指定可能な値の範囲外です。
|
||||||
|
.
|
||||||
|
:PROGRAM_IMGMAKE_SPC2
|
||||||
|
無効な -spc オプションです。2の累乗で指定して下さい。
|
||||||
|
.
|
||||||
|
:PROGRAM_IMGMAKE_ROOTDIR
|
||||||
|
無効な -rootdir オプションです。
|
||||||
|
.
|
||||||
|
PROGRAM_IMGMAKE_BOOTSECT
|
||||||
|
ブートセクタの位置が不正です。
|
||||||
|
.
|
||||||
|
PROGRAM_IMGMAKE_VOLUME_ALIGN
|
||||||
|
健全性チェック: ボリュームサイズの位置が不正です。
|
||||||
|
.
|
||||||
|
:PROGRAM_IMGMAKE_FAT_ALIGN
|
||||||
|
健全性チェック: FAT テーブルの位置が不正です。
|
||||||
|
.
|
||||||
|
:PROGRAM_IMGMAKE_SECTPERFAT
|
||||||
|
エラー: 生成されたファイルシステムは 1FAT あたり256セクタ以上ですが FAT32 では
|
||||||
|
ありません。
|
||||||
|
.
|
||||||
|
:PROGRAM_IMGMAKE_VOLSIZE
|
||||||
|
健全性チェック: ボリュームサイズの位置が不正です。
|
||||||
|
.
|
||||||
|
:PROGRAM_IMGMAKE_CLUSTERS
|
||||||
|
エラー: 設定したパラメータに対して、生成されたファイルシステムのクラスタ数が小
|
||||||
|
さすぎます
|
||||||
|
.
|
||||||
|
:PROGRAM_IMGMAKE_CLUSTERCOUNT
|
||||||
|
警告: クラスタ数がボリュームのサイズに対して大きすぎます。
|
||||||
|
より小さいセクタ数を設定します。
|
||||||
|
.
|
||||||
|
:PROGRAM_IMGMAKE_CLUSTER_ALIGN
|
||||||
|
健全性チェック: 第一クラスタの位置が不正です。
|
||||||
|
.
|
||||||
|
:PROGRAM_IMGMAKE_CLUSTER_SIZE
|
||||||
|
警告: クラスタサイズ >= 64KB は MS-DOS と SCANDISK と互換性がありません。
|
||||||
|
.
|
||||||
|
:PROGRAM_BOOT_UNSUPPORTED
|
||||||
|
サポートされていないブートモードです。
|
||||||
|
.
|
||||||
|
:PROGRAM_MOUNT_OVERLAY_REPLACE
|
||||||
|
既存のオーバレイは新しいものに置き換えられました。
|
||||||
|
.
|
||||||
|
:PROGRAM_LOADFIX_EMS_FREE
|
||||||
|
EMS ハンドル %u: 解放できませんでした。
|
||||||
|
.
|
||||||
|
:PROGRAM_LOADFIX_XMS_FREE
|
||||||
|
XMS ハンドル %u: 解放できませんでした。
|
||||||
|
.
|
||||||
|
:PROGRAM_LOADFIX_EMS_ALLOC
|
||||||
|
EMS ブロックを割り当てました (%uKB)
|
||||||
|
.
|
||||||
|
:PROGRAM_LOADFIX_EMS_ALLOCERROR
|
||||||
|
EMS ブロックを割り当てることができませんでした。
|
||||||
|
.
|
||||||
|
PROGRAM_LOADFIX_NOEMS
|
||||||
|
EMS は有効ではありません。
|
||||||
|
.
|
||||||
|
:PROGRAM_LOADFIX_XMS_ALLOC
|
||||||
|
XMS ブロックを割り当てました (%uKB)
|
||||||
|
.
|
||||||
|
:PROGRAM_LOADFIX_XMS_ALLOCERROR
|
||||||
|
XMS ブロックを割り当てることができませんでした。
|
||||||
|
.
|
||||||
|
:PROGRAM_LOADFIX_NOXMS
|
||||||
|
XMS は有効ではありません。
|
||||||
|
.
|
||||||
|
:PROGRAM_LOADFIX_NOALLOC
|
||||||
|
最も低い MCB は 64KBより上のため、メモリを確保しません。
|
||||||
|
.
|
||||||
|
:PROGRAM_BOOT_SWAP_ALREADY
|
||||||
|
複数イメージを指定しましたが、すでに別のドライブで複数イメージを設定しています
|
||||||
|
.
|
||||||
|
:PROGRAM_BOOT_NOT_SPECIFIED
|
||||||
|
イメージを指定して下さい。
|
||||||
|
.
|
||||||
|
:PROGRAM_BOOT_IS_PC88
|
||||||
|
D88 イメージは PC-88 用と思われます。ブートできません。
|
||||||
|
.
|
||||||
|
:PROGRAM_BOOT_BPS_TOOLARGE
|
||||||
|
バイト/セクタ が大きすぎます
|
||||||
|
.
|
||||||
|
:PROGRAM_BOOT_DRIVE_READERROR
|
||||||
|
ドライブを読み込みできませんでした。
|
||||||
|
.
|
||||||
|
:PROGRAM_START_HELP_WIN
|
||||||
|
別ウィンドウで指定したコマンドまたはプログラムを実行します。
|
||||||
|
|
||||||
|
START [+|-|_] コマンド [引数]
|
||||||
|
|
||||||
|
[+|-|_] : プログラムを最大化・最小化・非表示にする。
|
||||||
|
/MAX, /MIN, /HID でも指定可能です。
|
||||||
|
コマンド : 実行するコマンドまたはプログラム
|
||||||
|
引数 : アプリケーションに渡す引数
|
||||||
|
|
||||||
|
START はWindowsコマンドプロンプトから指定したコマンド・プログラムを実行します。
|
||||||
|
"startincon"オプションで指定した以下のコマンドは終了後にキー入力を待ちます:
|
||||||
|
%s
|
||||||
|
|
||||||
|
参考: ファイル・コマンドへのパスはホストシステムのものを指定します。
|
||||||
|
.
|
||||||
|
:PROGRAM_START_HELP
|
||||||
|
別ウィンドウで指定したコマンドまたはプログラムを実行します。
|
||||||
|
|
||||||
|
START /OPEN ファイル
|
||||||
|
START コマンド [引数]
|
||||||
|
|
||||||
|
/OPEN : 関連付けされたプログラムで指定したファイル・URLを開きます。
|
||||||
|
ファイル : 関連付けされたプログラムで開くファイル・URL
|
||||||
|
コマンド : 実行するコマンドまたはプログラム
|
||||||
|
引数 : アプリケーションに渡す引数
|
||||||
|
|
||||||
|
参考: ファイル・コマンドへのパスはホストシステムのものを指定します。
|
||||||
|
.
|
||||||
|
:PROGRAM_START_COMPLETED
|
||||||
|
実行したコマンドが終了しました。
|
||||||
|
.
|
||||||
|
:PROGRAM_START_COMMAND
|
||||||
|
%s を起動します...
|
||||||
|
.
|
||||||
|
:PROGRAM_START_CTRLC
|
||||||
|
(すぐに中止する場合は Ctrl+C を押して下さい)
|
||||||
|
.
|
||||||
|
:PROGRAM_START_HOST_ERROR
|
||||||
|
エラー: START は現在のホストシステムではアプリケーションを起動できません。
|
||||||
|
.
|
||||||
|
:PROGRAM_START_LAUNCH_ERROR
|
||||||
|
エラー: START はアプリケーションを起動できませんでした。
|
||||||
|
.
|
||||||
|
:PROGRAM_IMGMOUNT_ELTORITO_NO_FILE
|
||||||
|
El Torito ブートCDをフロッピードライブとしてマウントする場合、ファイルを指定し
|
||||||
|
ないで下さい。
|
||||||
|
.
|
||||||
|
:PROGRAM_IMGMOUNT_RAMDRIVE_NO_FILE
|
||||||
|
RAM ドライブをマウントする時はファイルを指定しないで下さい。
|
||||||
|
.
|
||||||
|
:PROGRAM_IMGMOUNT_INVALID_SECTORSIZE
|
||||||
|
セクタサイズは 512 バイトより大きく、かつイメージのクラスタサイズ %lu バイトが
|
||||||
|
セクタサイズの倍数とする必要があります。
|
||||||
|
.
|
||||||
|
:PROGRAM_IMGMOUNT_OPEN_ERROR
|
||||||
|
ファイルを開くことができませんでした: '%s'
|
||||||
|
.
|
||||||
|
:PROGRAM_IMGMOUNT_QCOW2_INVALID
|
||||||
|
qcow2 イメージ '%s' はサポートされていない形式です。
|
||||||
|
.
|
||||||
|
:PROGRAM_IMGMOUNT_GEOMETRY_ERROR
|
||||||
|
ジオメトリを検出できませんでした。
|
||||||
|
.
|
||||||
|
:PROGRAM_IMGMOUNT_DOS_VERSION
|
||||||
|
このイメージをマウントするためにDOSバージョンを %u.%u 以上にする必要があります
|
||||||
|
%s
|
||||||
|
.
|
||||||
|
:PROGRAM_IMGMOUNT_INVALID_FLOPPYSIZE
|
||||||
|
フロッピーのサイズを認識できませんでした。
|
||||||
|
.
|
||||||
|
:PROGRAM_IMGMOUNT_MULTIPLE_USED
|
||||||
|
複数イメージを指定しましたが、すでに別のドライブで複数イメージを設定しています
|
||||||
|
.
|
||||||
|
:PROGRAM_IMGMOUNT_MULTIPLE_NOTSUPPORTED
|
||||||
|
そのドライブは複数イメージのマウントに対応していません。
|
||||||
|
.
|
||||||
|
:PROGRAM_IMGMOUNT_HD_FDPOSITION
|
||||||
|
ハードディスクはフロッピーの場所にマウントできません。
|
||||||
|
.
|
||||||
|
:PROGRAM_IMGMOUNT_FD_HDPOSITION
|
||||||
|
フロッピーはハードディスクの場所にマウントできません。
|
||||||
|
.
|
||||||
|
:PROGRAM_ELTORITO_ISOMOUNT
|
||||||
|
El Torito ブート CD: -fs iso によるマウントはサポートされていません。
|
||||||
|
.
|
||||||
|
:PROGRAM_MODE_STATUS
|
||||||
|
CON デバイスの状態:
|
||||||
|
----------------------
|
||||||
|
桁 =%d
|
||||||
|
行 =%d
|
||||||
|
.
|
||||||
|
:PROGRAM_MODE_NOTSUPPORTED
|
||||||
|
|
||||||
|
このデバイスではコードページに関する設定はできません。
|
||||||
|
.
|
||||||
|
:PROGRAM_MODE_RATE_DELAY
|
||||||
|
RATE と DELAY は一緒に指定して下さい。
|
||||||
|
.
|
||||||
|
:PROGRAM_UTF8_HELP
|
||||||
|
UTF-8 のテキストを表示できるよう、現在のコードページへ変換します。
|
||||||
|
|
||||||
|
UTF8 < [ドライブ:][パス]ファイル名
|
||||||
|
コマンド名 | UTF8
|
||||||
|
.
|
||||||
|
:PROGRAM_UTF8_NO_TEXT
|
||||||
|
入力テキストがありません。
|
||||||
|
.
|
||||||
|
:PROGRAM_UTF8_INVALIDCP
|
||||||
|
現在のコードページは変換できません。
|
||||||
|
.
|
||||||
|
:PROGRAM_UTF8_NOT_UTF8
|
||||||
|
入力されたテキストは UTF-16 です。
|
||||||
|
.
|
||||||
|
:PROGRAM_UTF8_CONVERSION_ERROR
|
||||||
|
テキストの変換でエラーがありました。
|
||||||
|
.
|
||||||
|
:PROGRAM_UTF16_HELP
|
||||||
|
UTF-16のテキストを表示できるよう、現在のコードページへ変換します。
|
||||||
|
|
||||||
|
UTF16 [/BE|/LE] < [ドライブ:][パス]ファイル名
|
||||||
|
コマンド名 | UTF16 [/BE|/LE]
|
||||||
|
|
||||||
|
/BE UTF-16 ビッグエンディアンを使用
|
||||||
|
/LE UTF-16 リトルエンディアンを使用
|
||||||
|
.
|
||||||
|
:PROGRAM_VTEXT_HELP
|
||||||
|
DOS/V エミュレーションの V-text モードを表示・変更します。
|
||||||
|
|
||||||
|
VTEXT [mode]
|
||||||
|
|
||||||
|
[mode] 設定値: 0, 1, 2 それぞれV-textなし、V-text 1, V-text 2 に該当
|
||||||
|
|
||||||
|
パラメータなしで VTEXT を実行すると現在の V-text モードの状態を表示します。
|
||||||
|
.
|
||||||
|
:PROGRAM_NMITEST_HELP
|
||||||
|
マスク不可割り込み(NMI)を生成します。
|
||||||
|
|
||||||
|
NMITEST
|
||||||
|
|
||||||
|
参考: これは割り込みハンドラが意図通り動作することを確認するデバッグツールです
|
||||||
|
.
|
||||||
|
:PROGRAM_NMITEST_GENERATE_NMI
|
||||||
|
マスク不可割り込み(NMI)を生成します (NMI)...
|
||||||
|
.
|
||||||
|
:PROGRAM_CAPMOUSE_HELP
|
||||||
|
DOSBox-X 内のマウスをキャプチャまたは解放します。
|
||||||
|
|
||||||
|
CAPMOUSE [/C|/R]
|
||||||
|
|
||||||
|
/C マウスをキャプチャする
|
||||||
|
/R マウスのキャプチャを解放する
|
||||||
|
.
|
||||||
|
:PROGRAM_CAPMOUSE_MOUSE
|
||||||
|
マウス
|
||||||
|
.
|
||||||
|
:PROGRAM_CAPMOUSE_CURRENTLY
|
||||||
|
は現在
|
||||||
|
.
|
||||||
|
:PROGRAM_CAPMOUSE_CAPTURED
|
||||||
|
キャプチャされています。
|
||||||
|
.
|
||||||
|
:PROGRAM_CAPMOUSE_RELEASED
|
||||||
|
解放されています。
|
||||||
|
.
|
||||||
|
:PROGRAM_AUTOTYPE_HELP
|
||||||
|
実行中の DOS プログラムにスクリプトに基づきキー入力を実施します。
|
||||||
|
|
||||||
|
AUTOTYPE [-list] [-w WAIT] [-p PACE] button_1 [button_2 [...]]
|
||||||
|
|
||||||
|
-list: 設定可能なボタンの一覧を表示します。
|
||||||
|
-w WAIT: タイプを開始するまでの時間(秒)。デフォルト 2秒、最大 30秒
|
||||||
|
-p PACE: キー入力間の時間(秒)。 デフォルト 0.5秒、最大10秒
|
||||||
|
|
||||||
|
シーケンスはスペースで区切られた一つ以上のボタンで構成されます。
|
||||||
|
WAIT 秒後にキー入力を開始し、PACE 秒ごとにキーを入力します。
|
||||||
|
, (カンマ)で PACE 秒の遅延を追加します。
|
||||||
|
|
||||||
|
実行例:
|
||||||
|
[32;1mAUTOTYPE -w 1 -p 0.3 up enter , right enter[0m
|
||||||
|
[32;1mAUTOTYPE -p 0.2 f1 kp_8 , , enter[0m
|
||||||
|
[32;1mAUTOTYPE -w 1.3 esc enter , p l a y e r enter[0m
|
||||||
|
.
|
||||||
|
:PROGRAM_AUTOTYPE_NO_BINDINGS
|
||||||
|
AUTOTYPE: マッパーに該当する割り当てがありません。
|
||||||
|
.
|
||||||
|
:PROGRAM_AUTOTYPE_CLAMP_VALUE
|
||||||
|
AUTOTYPE: %s の値を %.2f から %.2f へ変更します。
|
||||||
|
.
|
||||||
|
:PROGRAM_AUTOTYPE_INVALID_VALUE
|
||||||
|
AUTOTYPE: %s 値 '%s' は有効な浮動小数ではありません
|
||||||
|
.
|
||||||
|
:PROGRAM_ADDKEY_HELP
|
||||||
|
人工的なキー入力を生成します。
|
||||||
|
|
||||||
|
ADDKEY [pmsec] [key]
|
||||||
|
|
||||||
|
以下の例では、"dir" コマンドをタイプし、1秒後にエンターキーをタイプします。
|
||||||
|
|
||||||
|
ADDKEY p1000 d i r enter
|
||||||
|
|
||||||
|
このコマンドの代わりに、AUTOTYPE コマンドで実行中のDOSプログラムにスクリプトに
|
||||||
|
よるキー入力を設定することもできます。
|
||||||
|
.
|
||||||
|
:PROGRAM_SETCOLOR_HELP
|
||||||
|
テキストモードの色設定を表示または変更します。
|
||||||
|
|
||||||
|
SETCOLOR [color# [value]]
|
||||||
|
|
||||||
|
設定例:
|
||||||
|
|
||||||
|
[32;1mSETCOLOR 0 (50,50,50)[0m
|
||||||
|
色番号 #0 を設定した値に変更します
|
||||||
|
|
||||||
|
[32;1mSETCOLOR 7 -[0m
|
||||||
|
色番号 #7 の設定をデフォルト値に戻します
|
||||||
|
|
||||||
|
[32;1mSETCOLOR 3 +[0m
|
||||||
|
色番号 #3 の設定を設定した値に戻します
|
||||||
|
|
||||||
|
[32;1mSETCOLOR MONO[0m
|
||||||
|
現在の MONO モードの状態を表示します
|
||||||
|
|
||||||
|
文字色・背景色の変更には COLOR コマンドを使って下さい。
|
||||||
|
.
|
||||||
|
:PROGRAM_SETCOLOR_STATUS
|
||||||
|
MONO モード 状態: %s (video mode %d)
|
||||||
|
.
|
||||||
|
:PROGRAM_SETCOLOR_ACTIVE
|
||||||
|
有効
|
||||||
|
.
|
||||||
|
:PROGRAM_SETCOLOR_INACTIVE
|
||||||
|
無効
|
||||||
|
.
|
||||||
|
:PROGRAM_SETCOLOR_UNAVAILABLE
|
||||||
|
設定不可
|
||||||
|
.
|
||||||
|
:PROGRAM_SETCOLOR_MONO_MODE7
|
||||||
|
MONO モード 状態 => 有効 (ビデオモード 7)
|
||||||
|
.
|
||||||
|
:PROGRAM_SETCOLOR_MONO_MODE3
|
||||||
|
MONO モード 状態 => 無効 (ビデオモード 3)
|
||||||
|
.
|
||||||
|
:PROGRAM_SETCOLOR_MONO_FAIL
|
||||||
|
MONO モードへ変更できませんでした。
|
||||||
|
.
|
||||||
|
:PROGRAM_SETCOLOR_MONO_SYNTAX
|
||||||
|
MONOは + または - を指定して下さい: %s
|
||||||
|
.
|
||||||
|
:PROGRAM_SETCOLOR_COLOR
|
||||||
|
色番号 %d: (%d,%d,%d) または #%02x%02x%02x
|
||||||
|
.
|
||||||
|
:PROGRAM_SETCOLOR_INVALID_NUMBER
|
||||||
|
色番号が無効です - %s
|
||||||
|
.
|
||||||
|
:PROGRAM_SETCOLOR_INVALID_VALUE
|
||||||
|
色の値が無効です - %s
|
||||||
|
.
|
||||||
|
:PROGRAM_SETCOLOR_NOT_SUPPORTED
|
||||||
|
現在のビデオモードは色設定の変更ができません。
|
||||||
|
.
|
||||||
|
:PROGRAM_BOOT_UNKNOWN_BOOTHAX
|
||||||
|
不明な boothax モードです。
|
||||||
|
.
|
||||||
|
:PROGRAM_BOOT_SPECIFY_FILE
|
||||||
|
起動する BIOS イメージを指定して下さい。
|
||||||
|
.
|
||||||
|
:PROGRAM_BOOT_BIOS_OPEN_ERROR
|
||||||
|
BIOS イメージを開くことができませんでした。
|
||||||
|
.
|
||||||
|
:PROGRAM_BIOSTEST_SPECIFY_FILE
|
||||||
|
読み込む BIOS ファイルを指定して下さい。
|
||||||
|
.
|
||||||
|
:PROGRAM_BIOSTEST_OPEN_ERROR
|
||||||
|
ファイルが開けません。
|
||||||
|
.
|
||||||
|
:PROGRAM_BIOSTEST_TOO_LARGE
|
||||||
|
BIOS ファイルが大きすぎます。
|
||||||
|
.
|
@ -2010,7 +2010,7 @@ public:
|
|||||||
else if (boothax_str == "")
|
else if (boothax_str == "")
|
||||||
boothax = BOOTHAX_NONE;
|
boothax = BOOTHAX_NONE;
|
||||||
else {
|
else {
|
||||||
if (!quiet) WriteOut("Unknown boothax mode");
|
if (!quiet) WriteOut(MSG_Get("PROGRAM_BOOT_UNKNOWN_BOOTHAX"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2025,7 +2025,7 @@ public:
|
|||||||
uint32_t isz1,isz2;
|
uint32_t isz1,isz2;
|
||||||
|
|
||||||
if (bios.empty()) {
|
if (bios.empty()) {
|
||||||
if (!quiet) WriteOut("Must specify BIOS image to boot\n");
|
if (!quiet) WriteOut(MSG_Get("PROGRAM_BOOT_SPECIFY_FILE"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2048,7 +2048,7 @@ public:
|
|||||||
/* load it */
|
/* load it */
|
||||||
FILE *romfp = getFSFile(bios.c_str(), &isz1, &isz2);
|
FILE *romfp = getFSFile(bios.c_str(), &isz1, &isz2);
|
||||||
if (romfp == NULL) {
|
if (romfp == NULL) {
|
||||||
if (!quiet) WriteOut("Unable to open BIOS image\n");
|
if (!quiet) WriteOut(MSG_Get("PROGRAM_BOOT_BIOS_OPEN_ERROR"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Bitu loadsz = (isz2 + 0xFU) & (~0xFU);
|
Bitu loadsz = (isz2 + 0xFU) & (~0xFU);
|
||||||
@ -3244,7 +3244,7 @@ class BIOSTEST : public Program {
|
|||||||
public:
|
public:
|
||||||
void Run(void) override {
|
void Run(void) override {
|
||||||
if (!(cmd->FindCommand(1, temp_line))) {
|
if (!(cmd->FindCommand(1, temp_line))) {
|
||||||
WriteOut("Must specify BIOS file to load.\n");
|
WriteOut(MSG_Get("PROGRAM_BIOSTEST_SPECIFY_FILE"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (cmd->FindExist("-?", false) || cmd->FindExist("/?", false)) {
|
if (cmd->FindExist("-?", false) || cmd->FindExist("/?", false)) {
|
||||||
@ -3264,12 +3264,12 @@ public:
|
|||||||
|
|
||||||
FILE* tmpfile = ldp->GetSystemFilePtr(fullname, "rb");
|
FILE* tmpfile = ldp->GetSystemFilePtr(fullname, "rb");
|
||||||
if (tmpfile == NULL) {
|
if (tmpfile == NULL) {
|
||||||
WriteOut("Can't open a file");
|
WriteOut(MSG_Get("PROGRAM_BIOSTEST_OPEN_ERROR"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
fseek(tmpfile, 0L, SEEK_END);
|
fseek(tmpfile, 0L, SEEK_END);
|
||||||
if (ftell(tmpfile) > 64 * 1024) {
|
if (ftell(tmpfile) > 64 * 1024) {
|
||||||
WriteOut("BIOS File too large");
|
WriteOut(MSG_Get("PROGRAM_BIOSTEST_TOO_LARGE"));
|
||||||
fclose(tmpfile);
|
fclose(tmpfile);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -5219,7 +5219,7 @@ imageDiskMemory* CreateRamDrive(Bitu sizes[], const int reserved_cylinders, cons
|
|||||||
if (dsk == NULL) {
|
if (dsk == NULL) {
|
||||||
//create hard drive
|
//create hard drive
|
||||||
if (forceFloppy) {
|
if (forceFloppy) {
|
||||||
if (obj!=NULL) obj->WriteOut("Floppy size not recognized\n");
|
if (obj!=NULL) obj->WriteOut(MSG_Get("PROGRAM_IMGMOUNT_INVALID_FLOPPYSIZE"));
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -5249,7 +5249,7 @@ imageDiskMemory* CreateRamDrive(Bitu sizes[], const int reserved_cylinders, cons
|
|||||||
if (dsk == NULL) {
|
if (dsk == NULL) {
|
||||||
//create hard drive
|
//create hard drive
|
||||||
if (forceFloppy) {
|
if (forceFloppy) {
|
||||||
if (obj!=NULL) obj->WriteOut("Floppy size not recognized\n");
|
if (obj!=NULL) obj->WriteOut(MSG_Get("PROGRAM_IMGMOUNT_INVALID_FLOPPYSIZE"));
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
dsk = new imageDiskMemory((uint16_t)sizes[3], (uint16_t)sizes[2], (uint16_t)sizes[1], (uint16_t)sizes[0]);
|
dsk = new imageDiskMemory((uint16_t)sizes[3], (uint16_t)sizes[2], (uint16_t)sizes[1], (uint16_t)sizes[0]);
|
||||||
@ -5643,7 +5643,7 @@ class IMGMOUNT : public Program {
|
|||||||
// some generic checks
|
// some generic checks
|
||||||
if (el_torito != "") {
|
if (el_torito != "") {
|
||||||
if (paths.size() != 0) {
|
if (paths.size() != 0) {
|
||||||
WriteOut("Do not specify files when mounting floppy drives from El Torito bootable CDs\n");
|
WriteOut(MSG_Get("PROGRAM_IMGMOUNT_ELTORITO_NO_FILE"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -5651,7 +5651,7 @@ class IMGMOUNT : public Program {
|
|||||||
}
|
}
|
||||||
else if (type == "ram") {
|
else if (type == "ram") {
|
||||||
if (paths.size() != 0) {
|
if (paths.size() != 0) {
|
||||||
WriteOut("Do not specify files when mounting RAM drives\n");
|
WriteOut(MSG_Get("PROGRAM_IMGMOUNT_RAMDRIVE_NO_FILE"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -5706,7 +5706,7 @@ class IMGMOUNT : public Program {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (el_torito != "") {
|
if (el_torito != "") {
|
||||||
WriteOut("El Torito bootable CD: -fs iso mounting not supported\n"); /* <- NTS: Will never implement, either */
|
WriteOut(MSG_Get("PROGRAM_ELTORITO_ISOMOUNT")); /* <- NTS: Will never implement, either */
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
//supports multiple files
|
//supports multiple files
|
||||||
@ -5719,12 +5719,12 @@ class IMGMOUNT : public Program {
|
|||||||
if (driveIndex <= 1) {
|
if (driveIndex <= 1) {
|
||||||
if (swapInDisksSpecificDrive >= 0 && swapInDisksSpecificDrive <= 1 &&
|
if (swapInDisksSpecificDrive >= 0 && swapInDisksSpecificDrive <= 1 &&
|
||||||
swapInDisksSpecificDrive != driveIndex) {
|
swapInDisksSpecificDrive != driveIndex) {
|
||||||
WriteOut("Multiple images given and another drive already uses multiple images\n");
|
WriteOut(MSG_Get("PROGRAM_IMGMOUNT_MULTIPLE_USED"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
WriteOut("Multiple disk images not supported for that drive\n");
|
WriteOut(MSG_Get("PROGRAM_IMGMOUNT_MULTIPLE_NOTSUPPORTED"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -5741,10 +5741,10 @@ class IMGMOUNT : public Program {
|
|||||||
if (newImage == NULL) return;
|
if (newImage == NULL) return;
|
||||||
newImage->Addref();
|
newImage->Addref();
|
||||||
if (newImage->hardDrive && (driveIndex < 2)) {
|
if (newImage->hardDrive && (driveIndex < 2)) {
|
||||||
WriteOut("Cannot mount hard drive in floppy position.\n");
|
WriteOut(MSG_Get("PROGRAM_IMGMOUNT_HD_FDPOSITION"));
|
||||||
}
|
}
|
||||||
else if (!newImage->hardDrive && (driveIndex >= 2)) {
|
else if (!newImage->hardDrive && (driveIndex >= 2)) {
|
||||||
WriteOut("Cannot mount floppy in hard drive position.\n");
|
WriteOut(MSG_Get("PROGRAM_IMGMOUNT_FD_HDPOSITION"));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if (AttachToBiosAndIdeByIndex(newImage, (unsigned char)driveIndex, (unsigned char)ide_index, ide_slave)) {
|
if (AttachToBiosAndIdeByIndex(newImage, (unsigned char)driveIndex, (unsigned char)ide_index, ide_slave)) {
|
||||||
@ -6439,7 +6439,7 @@ class IMGMOUNT : public Program {
|
|||||||
const char* fname = ro ? paths[i].c_str() + 1 : paths[i].c_str();
|
const char* fname = ro ? paths[i].c_str() + 1 : paths[i].c_str();
|
||||||
FILE* newDisk = fopen_lock(fname, ro ? "rb" : "rb+", ro);
|
FILE* newDisk = fopen_lock(fname, ro ? "rb" : "rb+", ro);
|
||||||
if(!newDisk) {
|
if(!newDisk) {
|
||||||
if(!qmount) WriteOut("Unable to open '%s'\n", fname);
|
if(!qmount) WriteOut(MSG_Get("PROGRAM_IMGMOUNT_OPEN_ERROR"), fname);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
QCow2Image::QCow2Header qcow2_header = QCow2Image::read_header(newDisk);
|
QCow2Image::QCow2Header qcow2_header = QCow2Image::read_header(newDisk);
|
||||||
@ -6449,7 +6449,7 @@ class IMGMOUNT : public Program {
|
|||||||
if(qcow2_header.magic == QCow2Image::magic && (qcow2_header.version == 2 || qcow2_header.version == 3)) {
|
if(qcow2_header.magic == QCow2Image::magic && (qcow2_header.version == 2 || qcow2_header.version == 3)) {
|
||||||
uint32_t cluster_size = 1u << qcow2_header.cluster_bits;
|
uint32_t cluster_size = 1u << qcow2_header.cluster_bits;
|
||||||
if((sizes[0] < 512) || ((cluster_size % sizes[0]) != 0)) {
|
if((sizes[0] < 512) || ((cluster_size % sizes[0]) != 0)) {
|
||||||
WriteOut("Sector size must be larger than 512 bytes and evenly divide the image cluster size of %lu bytes.\n", cluster_size);
|
WriteOut(MSG_Get("PROGRAM_IMGMOUNT_INVALID_SECTORSIZE"), cluster_size);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
// sectors = (uint64_t)qcow2_header.size / (uint64_t)sizes[0]; /* unused */
|
// sectors = (uint64_t)qcow2_header.size / (uint64_t)sizes[0]; /* unused */
|
||||||
@ -6466,7 +6466,7 @@ class IMGMOUNT : public Program {
|
|||||||
newImage->cylinders = sizes[3]; // cylinders
|
newImage->cylinders = sizes[3]; // cylinders
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
WriteOut("qcow2 image '%s' is not supported\n", fname);
|
WriteOut(MSG_Get("PROGRAM_IMGMOUNT_QCOW2_INVALID"), fname);
|
||||||
fclose(newDisk);
|
fclose(newDisk);
|
||||||
newImage = NULL;
|
newImage = NULL;
|
||||||
}
|
}
|
||||||
@ -6513,7 +6513,7 @@ class IMGMOUNT : public Program {
|
|||||||
errorMessage = MSG_Get("PROGRAM_IMGMOUNT_CANT_CREATE");
|
errorMessage = MSG_Get("PROGRAM_IMGMOUNT_CANT_CREATE");
|
||||||
if (fdrive->req_ver_major>0) {
|
if (fdrive->req_ver_major>0) {
|
||||||
static char ver_msg[150];
|
static char ver_msg[150];
|
||||||
sprintf(ver_msg, "Mounting this image file requires a reported DOS version of %u.%u or higher.\n%s", fdrive->req_ver_major, fdrive->req_ver_minor, errorMessage);
|
sprintf(ver_msg, MSG_Get("PROGRAM_IMGMOUNT_DOS_VERSION"), fdrive->req_ver_major, fdrive->req_ver_minor, errorMessage);
|
||||||
errorMessage = ver_msg;
|
errorMessage = ver_msg;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@ -7005,7 +7005,7 @@ class IMGMOUNT : public Program {
|
|||||||
const char* fname=readonly?fileName+1:fileName;
|
const char* fname=readonly?fileName+1:fileName;
|
||||||
FILE *newDisk = file==NULL?fopen_lock(fname, readonly||roflag?"rb":"rb+", roflag):file;
|
FILE *newDisk = file==NULL?fopen_lock(fname, readonly||roflag?"rb":"rb+", roflag):file;
|
||||||
if (!newDisk) {
|
if (!newDisk) {
|
||||||
if (!qmount) WriteOut("Unable to open '%s'\n", fname);
|
if (!qmount) WriteOut(MSG_Get("PROGRAM_IMGMOUNT_OPEN_ERROR"), fname);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -7015,7 +7015,7 @@ class IMGMOUNT : public Program {
|
|||||||
if (qcow2_header.magic == QCow2Image::magic && (qcow2_header.version == 2 || qcow2_header.version == 3)) {
|
if (qcow2_header.magic == QCow2Image::magic && (qcow2_header.version == 2 || qcow2_header.version == 3)) {
|
||||||
uint32_t cluster_size = 1u << qcow2_header.cluster_bits;
|
uint32_t cluster_size = 1u << qcow2_header.cluster_bits;
|
||||||
if ((sizes[0] < 512) || ((cluster_size % sizes[0]) != 0)) {
|
if ((sizes[0] < 512) || ((cluster_size % sizes[0]) != 0)) {
|
||||||
WriteOut("Sector size must be larger than 512 bytes and evenly divide the image cluster size of %lu bytes.\n", cluster_size);
|
WriteOut(MSG_Get("PROGRAM_IMGMOUNT_INVALID_SECTORSIZE"), cluster_size);
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
sectors = (uint64_t)qcow2_header.size / (uint64_t)sizes[0];
|
sectors = (uint64_t)qcow2_header.size / (uint64_t)sizes[0];
|
||||||
@ -7272,11 +7272,11 @@ public:
|
|||||||
void Run(void) override;
|
void Run(void) override;
|
||||||
private:
|
private:
|
||||||
void PrintStatus() {
|
void PrintStatus() {
|
||||||
WriteOut("Status for device CON:\n----------------------\nColumns=%d\nLines=%d\n", COLS, LINES);
|
WriteOut(MSG_Get("PROGRAM_MODE_STATUS"), COLS, LINES);
|
||||||
#if defined(USE_TTF)
|
#if defined(USE_TTF)
|
||||||
if(!ttf.inUse)
|
if(!ttf.inUse)
|
||||||
#endif
|
#endif
|
||||||
WriteOut("\nCode page operation not supported on this device\n");
|
WriteOut(MSG_Get("PROGRAM_MODE_NOTSUPPORTED"));
|
||||||
}
|
}
|
||||||
int LINES = 25, COLS = 80;
|
int LINES = 25, COLS = 80;
|
||||||
};
|
};
|
||||||
@ -7306,7 +7306,7 @@ void MODE::Run(void) {
|
|||||||
if (cmd->FindStringBegin("lines=",temp_line,false)) lines=atoi(temp_line.c_str()); else lines=LINES;
|
if (cmd->FindStringBegin("lines=",temp_line,false)) lines=atoi(temp_line.c_str()); else lines=LINES;
|
||||||
bool optr=cmd->FindStringBegin("rate=", temp_line,true), optd=cmd->FindStringBegin("delay=",temp_line,true), optc=cmd->FindStringBegin("cols=", temp_line,true), optl=cmd->FindStringBegin("lines=",temp_line,true);
|
bool optr=cmd->FindStringBegin("rate=", temp_line,true), optd=cmd->FindStringBegin("delay=",temp_line,true), optc=cmd->FindStringBegin("cols=", temp_line,true), optl=cmd->FindStringBegin("lines=",temp_line,true);
|
||||||
if ((optr&&!optd)||(optd&&!optr)) {
|
if ((optr&&!optd)||(optd&&!optr)) {
|
||||||
WriteOut("Rate and delay must be specified together\n");
|
WriteOut(MSG_Get("PROGRAM_MODE_RATE_DELAY"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (cmd->GetCount()>1) goto modeparam;
|
if (cmd->GetCount()>1) goto modeparam;
|
||||||
@ -7403,10 +7403,10 @@ class NMITEST : public Program {
|
|||||||
public:
|
public:
|
||||||
void Run(void) override {
|
void Run(void) override {
|
||||||
if (cmd->FindExist("-?", false) || cmd->FindExist("/?", false)) {
|
if (cmd->FindExist("-?", false) || cmd->FindExist("/?", false)) {
|
||||||
WriteOut("Generates a non-maskable interrupt (NMI).\n\nNMITEST\n\nNote: This is a debugging tool to test if the interrupt handler works properly.\n");
|
WriteOut(MSG_Get("PROGRAM_NMITEST_HELP"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
WriteOut("Generating a non-maskable interrupt (NMI)...\n");
|
WriteOut(MSG_Get("PROGRAM_NMITEST_GENERATE_NMI"));
|
||||||
CPU_Raise_NMI();
|
CPU_Raise_NMI();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -7444,10 +7444,7 @@ public:
|
|||||||
break;
|
break;
|
||||||
case 0:
|
case 0:
|
||||||
default:
|
default:
|
||||||
WriteOut("Captures or releases the mouse inside DOSBox-X.\n\n");
|
WriteOut(MSG_Get("PROGRAM_CAPMOUSE_HELP"));
|
||||||
WriteOut("CAPMOUSE [/C|/R]\n");
|
|
||||||
WriteOut(" /C Capture the mouse\n");
|
|
||||||
WriteOut(" /R Release the mouse\n");
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -7456,9 +7453,9 @@ public:
|
|||||||
GFX_CaptureMouse(cap);
|
GFX_CaptureMouse(cap);
|
||||||
}
|
}
|
||||||
std::string msg;
|
std::string msg;
|
||||||
msg.append("Mouse ");
|
msg.append(MSG_Get("PROGRAM_CAPMOUSE_MOUSE"));
|
||||||
if (val==-1) msg.append("is currently ");
|
if (val==-1) msg.append(MSG_Get("PROGRAM_CAPMOUSE_CURRENTLY"));
|
||||||
msg.append(Mouse_IsLocked() ? "captured" : "released");
|
msg.append(Mouse_IsLocked() ? MSG_Get("PROGRAM_CAPMOUSE_CAPTURED") : MSG_Get("PROGRAM_CAPMOUSE_RELEASED"));
|
||||||
msg.append(".\n");
|
msg.append(".\n");
|
||||||
WriteOut(msg.c_str());
|
WriteOut(msg.c_str());
|
||||||
}
|
}
|
||||||
@ -7595,22 +7592,8 @@ void AUTOTYPE_ProgramStart(Program **make);
|
|||||||
|
|
||||||
void AUTOTYPE::PrintUsage()
|
void AUTOTYPE::PrintUsage()
|
||||||
{
|
{
|
||||||
constexpr const char *msg =
|
|
||||||
"Performs scripted keyboard entry into a running DOS program.\n\n"
|
|
||||||
"AUTOTYPE [-list] [-w WAIT] [-p PACE] button_1 [button_2 [...]]\n\n"
|
|
||||||
"Where:\n"
|
|
||||||
" -list: prints all available button names.\n"
|
|
||||||
" -w WAIT: seconds before typing begins. Two second default; max of 30.\n"
|
|
||||||
" -p PACE: seconds between each keystroke. Half-second default; max of 10.\n\n"
|
|
||||||
" The sequence is comprised of one or more space-separated buttons.\n"
|
|
||||||
" Autotyping begins after WAIT seconds, and each button is entered\n"
|
|
||||||
" every PACE seconds. The , character inserts an extra PACE delay.\n\n"
|
|
||||||
"Some examples:\n"
|
|
||||||
" \033[32;1mAUTOTYPE -w 1 -p 0.3 up enter , right enter\033[0m\n"
|
|
||||||
" \033[32;1mAUTOTYPE -p 0.2 f1 kp_8 , , enter\033[0m\n"
|
|
||||||
" \033[32;1mAUTOTYPE -w 1.3 esc enter , p l a y e r enter\033[0m\n";
|
|
||||||
resetcolor = true;
|
resetcolor = true;
|
||||||
WriteOut(msg);
|
WriteOut(MSG_Get("PROGRAM_AUTOTYPE_HELP"));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Prints the key-names for the mapper's currently-bound events.
|
// Prints the key-names for the mapper's currently-bound events.
|
||||||
@ -7625,8 +7608,7 @@ void AUTOTYPE::PrintKeys()
|
|||||||
|
|
||||||
// Sanity check to avoid dividing by 0
|
// Sanity check to avoid dividing by 0
|
||||||
if (!max_length) {
|
if (!max_length) {
|
||||||
WriteOut_NoParsing(
|
WriteOut_NoParsing(MSG_Get("PROGRAM_AUTOTYPE_NO_BINDINGS"));
|
||||||
"AUTOTYPE: The mapper has no key bindings\n");
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -7700,14 +7682,9 @@ bool AUTOTYPE::ReadDoubleArg(const std::string &name,
|
|||||||
// Inform them if we had to clamp their value
|
// Inform them if we had to clamp their value
|
||||||
if (fabs(user_value - value) >
|
if (fabs(user_value - value) >
|
||||||
std::numeric_limits<double>::epsilon())
|
std::numeric_limits<double>::epsilon())
|
||||||
WriteOut("AUTOTYPE: bounding %s value of %.2f "
|
WriteOut(MSG_Get("PROGRAM_AUTOTYPE_CLAMP_VALUE"), name.c_str(), user_value, value);
|
||||||
"to %.2f\n",
|
|
||||||
name.c_str(), user_value, value);
|
|
||||||
|
|
||||||
} else { // Otherwise we couldn't parse their value
|
} else { // Otherwise we couldn't parse their value
|
||||||
WriteOut("AUTOTYPE: %s value '%s' is not a valid "
|
WriteOut(MSG_Get("PROGRAM_AUTOTYPE_INVALID_VALUE"), name.c_str(), str_value.c_str());
|
||||||
"floating point number\n",
|
|
||||||
name.c_str(), str_value.c_str());
|
|
||||||
}
|
}
|
||||||
} else { // Otherwise they haven't passed this flag
|
} else { // Otherwise they haven't passed this flag
|
||||||
value = def_value;
|
value = def_value;
|
||||||
@ -7771,11 +7748,7 @@ public:
|
|||||||
void Run(void) override;
|
void Run(void) override;
|
||||||
private:
|
private:
|
||||||
void PrintUsage() {
|
void PrintUsage() {
|
||||||
constexpr const char *msg =
|
WriteOut(MSG_Get("PROGRAM_ADDKEY_HELP"));
|
||||||
"Generates artificial keypresses.\n\nADDKEY [pmsec] [key]\n\n"
|
|
||||||
"For example, the command below types \"dir\" followed by ENTER after 1 second:\n\nADDKEY p1000 d i r enter\n\n"
|
|
||||||
"You could also try AUTOTYPE command instead of this command to perform\nscripted keyboard entry into a running DOS program.\n";
|
|
||||||
WriteOut(msg);
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -7862,10 +7835,7 @@ public:
|
|||||||
void Run(void) override;
|
void Run(void) override;
|
||||||
private:
|
private:
|
||||||
void PrintUsage() {
|
void PrintUsage() {
|
||||||
constexpr const char *msg =
|
WriteOut(MSG_Get("PROGRAM_UTF8_HELP"));
|
||||||
"Converts UTF-8 text to view in the current code page.\n\n"
|
|
||||||
"UTF8 < [drive:][path]filename\ncommand-name | UTF8\n";
|
|
||||||
WriteOut(msg);
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -7876,7 +7846,7 @@ void UTF8::Run()
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (usecon) {
|
if (usecon) {
|
||||||
WriteOut("No input text found.\n");
|
WriteOut(MSG_Get("PROGRAM_UTF8_NO_TEXT"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// int cp=dos.loaded_codepage; /* unused */
|
// int cp=dos.loaded_codepage; /* unused */
|
||||||
@ -7891,7 +7861,7 @@ void UTF8::Run()
|
|||||||
_Iconv<char,test_char_t> *x = _Iconv<char,test_char_t>::create("UTF-8");
|
_Iconv<char,test_char_t> *x = _Iconv<char,test_char_t>::create("UTF-8");
|
||||||
_Iconv<test_char_t,char> *fx = _Iconv<test_char_t,char>::create(target);
|
_Iconv<test_char_t,char> *fx = _Iconv<test_char_t,char>::create(target);
|
||||||
if (x == NULL || fx == NULL) {
|
if (x == NULL || fx == NULL) {
|
||||||
WriteOut("Invalid code page for text conversion.\n");
|
WriteOut(MSG_Get("PROGRAM_UTF8_INVALIDCP"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
test_string dst;
|
test_string dst;
|
||||||
@ -7904,7 +7874,7 @@ void UTF8::Run()
|
|||||||
DOS_ReadFile (STDIN,&c,&m);
|
DOS_ReadFile (STDIN,&c,&m);
|
||||||
if (m) text+=std::string(1, c);
|
if (m) text+=std::string(1, c);
|
||||||
if (m && first && text.size() == 2 && (((uint8_t)text[0] == 0xFE && (uint8_t)text[1] == 0xFF) || ((uint8_t)text[0] == 0xFF && (uint8_t)text[1] == 0xFE))) {
|
if (m && first && text.size() == 2 && (((uint8_t)text[0] == 0xFE && (uint8_t)text[1] == 0xFF) || ((uint8_t)text[0] == 0xFF && (uint8_t)text[1] == 0xFE))) {
|
||||||
WriteOut("The input text is UTF-16.\n");
|
WriteOut(MSG_Get("PROGRAM_UTF8_NOT_UTF8"));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (m && first && text.size() == 3 && (uint8_t)text[0] == 0xEF && (uint8_t)text[1] == 0xBB && (uint8_t)text[2] == 0xBF) {
|
if (m && first && text.size() == 3 && (uint8_t)text[0] == 0xEF && (uint8_t)text[1] == 0xBB && (uint8_t)text[2] == 0xBF) {
|
||||||
@ -7917,7 +7887,7 @@ void UTF8::Run()
|
|||||||
} else {
|
} else {
|
||||||
x->set_src(text.c_str());
|
x->set_src(text.c_str());
|
||||||
if ((customcp && dos.loaded_codepage==customcp) || (altcp && dos.loaded_codepage==altcp) || x->string_convert_dest(dst) < 0 || (text.size() && !fx->string_convert(dst).size())) {
|
if ((customcp && dos.loaded_codepage==customcp) || (altcp && dos.loaded_codepage==altcp) || x->string_convert_dest(dst) < 0 || (text.size() && !fx->string_convert(dst).size())) {
|
||||||
WriteOut("An error occurred during text conversion.\n");
|
WriteOut(MSG_Get("PROGRAM_UTF8_CONVERSION_ERROR"));
|
||||||
morelen=false;
|
morelen=false;
|
||||||
return;
|
return;
|
||||||
} else
|
} else
|
||||||
@ -7942,11 +7912,7 @@ public:
|
|||||||
void Run(void) override;
|
void Run(void) override;
|
||||||
private:
|
private:
|
||||||
void PrintUsage() {
|
void PrintUsage() {
|
||||||
constexpr const char *msg =
|
WriteOut(MSG_Get("PROGRAM_UTF16_HELP"));
|
||||||
"Converts UTF-16 text to view in the current code page.\n\n"
|
|
||||||
"UTF16 [/BE|/LE] < [drive:][path]filename\ncommand-name | UTF16 [/BE|/LE]\n\n"
|
|
||||||
" /BE Use UTF-16 Big Endian\n /LE Use UTF-16 Little Endian\n";
|
|
||||||
WriteOut(msg);
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -7957,7 +7923,7 @@ void UTF16::Run()
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (usecon) {
|
if (usecon) {
|
||||||
WriteOut("No input text found.\n");
|
WriteOut(MSG_Get("PROGRAM_UTF8_NO_TEXT"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
char target[11] = "CP437";
|
char target[11] = "CP437";
|
||||||
@ -7971,7 +7937,7 @@ void UTF16::Run()
|
|||||||
uint8_t buf[3];uint16_t m=2;
|
uint8_t buf[3];uint16_t m=2;
|
||||||
DOS_ReadFile (STDIN,buf,&m);
|
DOS_ReadFile (STDIN,buf,&m);
|
||||||
if (m<2) {
|
if (m<2) {
|
||||||
if (m==1) WriteOut("An error occurred during text conversion.\n");
|
if (m==1) WriteOut(MSG_Get("PROGRAM_UTF8_CONVERSION_ERROR"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
bool le=true;
|
bool le=true;
|
||||||
@ -7989,7 +7955,7 @@ void UTF16::Run()
|
|||||||
#endif
|
#endif
|
||||||
_Iconv<test_char_t,char> *x = _Iconv<test_char_t,char>::create(target);
|
_Iconv<test_char_t,char> *x = _Iconv<test_char_t,char>::create(target);
|
||||||
if (x == NULL) {
|
if (x == NULL) {
|
||||||
WriteOut("Invalid code page for text conversion.\n");
|
WriteOut(MSG_Get("PROGRAM_UTF8_INVALIDCP"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
test_char dst;
|
test_char dst;
|
||||||
@ -8004,7 +7970,7 @@ void UTF16::Run()
|
|||||||
if (!first || (buf[0] == 0xFE && buf[1]== 0xFF) || (buf[0] == 0xFF && buf[1]== 0xFE)) DOS_ReadFile (STDIN,buf,&m);
|
if (!first || (buf[0] == 0xFE && buf[1]== 0xFF) || (buf[0] == 0xFF && buf[1]== 0xFE)) DOS_ReadFile (STDIN,buf,&m);
|
||||||
first=false;
|
first=false;
|
||||||
if (m==1) {
|
if (m==1) {
|
||||||
WriteOut("An error occurred during text conversion.\n");
|
WriteOut(MSG_Get("PROGRAM_UTF8_CONVERSION_ERROR"));
|
||||||
break;
|
break;
|
||||||
} else if (m==2) {
|
} else if (m==2) {
|
||||||
ch=buf[le?1:0]*0x100+buf[le?0:1];
|
ch=buf[le?1:0]*0x100+buf[le?0:1];
|
||||||
@ -8021,7 +7987,7 @@ void UTF16::Run()
|
|||||||
} else {
|
} else {
|
||||||
x->set_src(wch);
|
x->set_src(wch);
|
||||||
if ((customcp && dos.loaded_codepage==customcp) || (altcp && dos.loaded_codepage==altcp) || x->string_convert_dest(dst) < 0 || (c && !dst.size())) {
|
if ((customcp && dos.loaded_codepage==customcp) || (altcp && dos.loaded_codepage==altcp) || x->string_convert_dest(dst) < 0 || (c && !dst.size())) {
|
||||||
WriteOut("An error occurred during text conversion.\n");
|
WriteOut(MSG_Get("PROGRAM_UTF8_CONVERSION_ERROR"));
|
||||||
delete[] wch;
|
delete[] wch;
|
||||||
morelen=false;
|
morelen=false;
|
||||||
return;
|
return;
|
||||||
@ -8049,9 +8015,7 @@ public:
|
|||||||
void Run(void) override;
|
void Run(void) override;
|
||||||
private:
|
private:
|
||||||
void PrintUsage() {
|
void PrintUsage() {
|
||||||
constexpr const char *msg =
|
WriteOut(MSG_Get("PROGRAM_VTEXT_HELP"));
|
||||||
"Changes V-text mode for the DOS/V emulation.\n\nVTEXT [mode]\n\n[mode] can be 0, 1, 2, for no V-text, V-text 1, and V-text 2 respectively.\n\nType VTEXT without a parameter to show the current V-text mode status.\n";
|
|
||||||
WriteOut(msg);
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -8748,9 +8712,7 @@ public:
|
|||||||
void Run(void) override;
|
void Run(void) override;
|
||||||
private:
|
private:
|
||||||
void PrintUsage() {
|
void PrintUsage() {
|
||||||
constexpr const char *msg =
|
WriteOut(MSG_Get("PROGRAM_SETCOLOR_HELP"));
|
||||||
"Views or changes the text-mode color scheme settings.\n\nSETCOLOR [color# [value]]\n\nFor example:\n\n SETCOLOR 0 (50,50,50)\n\nChange Color #0 to the specified color value\n\n SETCOLOR 7 -\n\nReturn Color #7 to the default color value\n\n SETCOLOR 3 +\n\nReturn Color #3 to the preset color value\n\n SETCOLOR MONO\n\nDisplay current MONO mode status\n\nTo change the current background and foreground colors, use COLOR command.\n";
|
|
||||||
WriteOut(msg);
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -8787,15 +8749,15 @@ void SETCOLOR::Run()
|
|||||||
int i=atoi(args);
|
int i=atoi(args);
|
||||||
if (!strcasecmp(args,"MONO")) {
|
if (!strcasecmp(args,"MONO")) {
|
||||||
if (p==NULL)
|
if (p==NULL)
|
||||||
WriteOut("MONO mode status: %s (video mode %d)\n",CurMode->mode==7?"active":CurMode->mode==3?"inactive":"unavailable",CurMode->mode);
|
WriteOut(MSG_Get("PROGRAM_SETCOLOR_STATUS"),CurMode->mode==7? MSG_Get("PROGRAM_SETCOLOR_ACTIVE"):CurMode->mode==3? MSG_Get("PROGRAM_SETCOLOR_INACTIVE"): MSG_Get("PROGRAM_SETCOLOR_UNAVAILABLE"),CurMode->mode);
|
||||||
else if (!strcmp(trim(p+1),"+")) {
|
else if (!strcmp(trim(p+1),"+")) {
|
||||||
if (CurMode->mode!=7) INT10_SetVideoMode(7);
|
if (CurMode->mode!=7) INT10_SetVideoMode(7);
|
||||||
WriteOut(CurMode->mode==7?"MONO mode status => active (video mode 7)\n":"Failed to change MONO mode\n");
|
WriteOut(CurMode->mode==7? MSG_Get("PROGRAM_SETCOLOR_MONO_MODE7"): MSG_Get("PROGRAM_SETCOLOR_MONO_FAIL"));
|
||||||
} else if (!strcmp(trim(p+1),"-")) {
|
} else if (!strcmp(trim(p+1),"-")) {
|
||||||
if (CurMode->mode!=3) INT10_SetVideoMode(3);
|
if (CurMode->mode!=3) INT10_SetVideoMode(3);
|
||||||
WriteOut(CurMode->mode==3?"MONO mode status => inactive (video mode 3)\n":"Failed to change MONO mode\n");
|
WriteOut(CurMode->mode==3? MSG_Get("PROGRAM_SETCOLOR_MONO_MODE3"):MSG_Get("PROGRAM_SETCOLOR_MONO_FAIL"));
|
||||||
} else
|
} else
|
||||||
WriteOut("Must be + or - for MONO: %s\n",trim(p+1));
|
WriteOut(MSG_Get("PROGRAM_SETCOLOR_MONO_SYNTAX"),trim(p+1));
|
||||||
} else if (!strcmp(args,"0")||!strcmp(args,"00")||!strcmp(args,"+0")||!strcmp(args,"-0")||(i>0&&i<16)) {
|
} else if (!strcmp(args,"0")||!strcmp(args,"00")||!strcmp(args,"+0")||!strcmp(args,"-0")||(i>0&&i<16)) {
|
||||||
if (p==NULL) {
|
if (p==NULL) {
|
||||||
#if defined(USE_TTF)
|
#if defined(USE_TTF)
|
||||||
@ -8803,13 +8765,13 @@ void SETCOLOR::Run()
|
|||||||
altBGR[i].red = colornul||(colorChanged&&!IS_VGA_ARCH)?altBGR1[i].red:rgbcolors[i].red;
|
altBGR[i].red = colornul||(colorChanged&&!IS_VGA_ARCH)?altBGR1[i].red:rgbcolors[i].red;
|
||||||
altBGR[i].green = colornul||(colorChanged&&!IS_VGA_ARCH)?altBGR1[i].green:rgbcolors[i].green;
|
altBGR[i].green = colornul||(colorChanged&&!IS_VGA_ARCH)?altBGR1[i].green:rgbcolors[i].green;
|
||||||
altBGR[i].blue = colornul||(colorChanged&&!IS_VGA_ARCH)?altBGR1[i].blue:rgbcolors[i].blue;
|
altBGR[i].blue = colornul||(colorChanged&&!IS_VGA_ARCH)?altBGR1[i].blue:rgbcolors[i].blue;
|
||||||
WriteOut("Color %d: (%d,%d,%d) or #%02x%02x%02x\n",i,altBGR0[i].red,altBGR0[i].green,altBGR0[i].blue,altBGR0[i].red,altBGR0[i].green,altBGR0[i].blue);
|
WriteOut(MSG_Get("PROGRAM_SETCOLOR_COLOR"),i,altBGR0[i].red,altBGR0[i].green,altBGR0[i].blue,altBGR0[i].red,altBGR0[i].green,altBGR0[i].blue);
|
||||||
#else
|
#else
|
||||||
WriteOut("Color %d: (%d,%d,%d) or #%02x%02x%02x\n",i,rgbcolors[i].red,rgbcolors[i].green,rgbcolors[i].blue,rgbcolors[i].red,rgbcolors[i].green,rgbcolors[i].blue);
|
WriteOut(MSG_Get("PROGRAM_SETCOLOR_COLOR"),i,rgbcolors[i].red,rgbcolors[i].green,rgbcolors[i].blue,rgbcolors[i].red,rgbcolors[i].green,rgbcolors[i].blue);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
WriteOut("Invalid color number - %s\n", trim(args));
|
WriteOut(MSG_Get("PROGRAM_SETCOLOR_INVALID_NUMBER"), trim(args));
|
||||||
DOS_SetError(DOSERR_DATA_INVALID);
|
DOS_SetError(DOSERR_DATA_INVALID);
|
||||||
return;
|
return;
|
||||||
} if (p!=NULL&&strcasecmp(args,"MONO")) {
|
} if (p!=NULL&&strcasecmp(args,"MONO")) {
|
||||||
@ -8831,7 +8793,7 @@ void SETCOLOR::Run()
|
|||||||
sprintf(value,"#%6x",rgbVal[0]);
|
sprintf(value,"#%6x",rgbVal[0]);
|
||||||
nextRGB = strchr(nextRGB, '#') + 7;
|
nextRGB = strchr(nextRGB, '#') + 7;
|
||||||
} else {
|
} else {
|
||||||
WriteOut("Invalid color value - %s\n",nextRGB);
|
WriteOut(MSG_Get("PROGRAM_SETCOLOR_INVALID_VALUE"),nextRGB);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -8843,35 +8805,35 @@ void SETCOLOR::Run()
|
|||||||
if (!ttf.inUse) {
|
if (!ttf.inUse) {
|
||||||
#endif
|
#endif
|
||||||
if (!IS_VGA_ARCH)
|
if (!IS_VGA_ARCH)
|
||||||
WriteOut("Changing color scheme is not supported for the current video mode.\n");
|
WriteOut(MSG_Get("PROGRAM_SETCOLOR_NOT_SUPPORTED"));
|
||||||
else if (setVGAColor(value, i))
|
else if (setVGAColor(value, i))
|
||||||
//WriteOut("Color %d: (%d,%d,%d) or #%02x%02x%02x\n",i,rgbcolors[i].red,rgbcolors[i].green,rgbcolors[i].blue,rgbcolors[i].red,rgbcolors[i].green,rgbcolors[i].blue);
|
//WriteOut("Color %d: (%d,%d,%d) or #%02x%02x%02x\n",i,rgbcolors[i].red,rgbcolors[i].green,rgbcolors[i].blue,rgbcolors[i].red,rgbcolors[i].green,rgbcolors[i].blue);
|
||||||
WriteOut("Color %d: (%d,%d,%d) or #%02x%02x%02x\n",i,altBGR0[i].red,altBGR0[i].green,altBGR0[i].blue,altBGR0[i].red,altBGR0[i].green,altBGR0[i].blue);
|
WriteOut(MSG_Get("PROGRAM_SETCOLOR_COLOR"),i,altBGR0[i].red,altBGR0[i].green,altBGR0[i].blue,altBGR0[i].red,altBGR0[i].green,altBGR0[i].blue);
|
||||||
else
|
else
|
||||||
WriteOut("Invalid color value - %s\n",value);
|
WriteOut(MSG_Get("PROGRAM_SETCOLOR_INVALID_VALUE"),value);
|
||||||
#if defined(USE_TTF)
|
#if defined(USE_TTF)
|
||||||
} else if (setColors(value,i)) {
|
} else if (setColors(value,i)) {
|
||||||
bool colornul = staycolors || (IS_VGA_ARCH && (altBGR1[i].red > 4 || altBGR1[i].green > 4 || altBGR1[i].blue > 4) && rgbcolors[i].red < 5 && rgbcolors[i].green < 5 && rgbcolors[i].blue < 5);
|
bool colornul = staycolors || (IS_VGA_ARCH && (altBGR1[i].red > 4 || altBGR1[i].green > 4 || altBGR1[i].blue > 4) && rgbcolors[i].red < 5 && rgbcolors[i].green < 5 && rgbcolors[i].blue < 5);
|
||||||
altBGR[i].red = (colornul||(colorChanged&&!IS_VGA_ARCH))?altBGR1[i].red:rgbcolors[i].red;
|
altBGR[i].red = (colornul||(colorChanged&&!IS_VGA_ARCH))?altBGR1[i].red:rgbcolors[i].red;
|
||||||
altBGR[i].green = (colornul||(colorChanged&&!IS_VGA_ARCH))?altBGR1[i].green:rgbcolors[i].green;
|
altBGR[i].green = (colornul||(colorChanged&&!IS_VGA_ARCH))?altBGR1[i].green:rgbcolors[i].green;
|
||||||
altBGR[i].blue = (colornul||(colorChanged&&!IS_VGA_ARCH))?altBGR1[i].blue:rgbcolors[i].blue;
|
altBGR[i].blue = (colornul||(colorChanged&&!IS_VGA_ARCH))?altBGR1[i].blue:rgbcolors[i].blue;
|
||||||
WriteOut("Color %d => (%d,%d,%d) or #%02x%02x%02x\n",i,altBGR[i].red,altBGR[i].green,altBGR[i].blue,altBGR[i].red,altBGR[i].green,altBGR[i].blue);
|
WriteOut(MSG_Get("PROGRAM_SETCOLOR_COLOR"),i,altBGR[i].red,altBGR[i].green,altBGR[i].blue,altBGR[i].red,altBGR[i].green,altBGR[i].blue);
|
||||||
resetFontSize();
|
resetFontSize();
|
||||||
} else
|
} else
|
||||||
WriteOut("Invalid color value - %s\n",value);
|
WriteOut(MSG_Get("PROGRAM_SETCOLOR_INVALID_VALUE"),value);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
WriteOut("MONO mode status: %s (video mode %d)\n",CurMode->mode==7?"active":CurMode->mode==3?"inactive":"unavailable",CurMode->mode);
|
WriteOut(MSG_Get("PROGRAM_SETCOLOR_STATUS"), CurMode->mode == 7 ? MSG_Get("PROGRAM_SETCOLOR_ACTIVE") : CurMode->mode == 3 ? MSG_Get("PROGRAM_SETCOLOR_INACTIVE") : MSG_Get("PROGRAM_SETCOLOR_UNAVAILABLE"), CurMode->mode);
|
||||||
for (int i = 0; i < 16; i++) {
|
for (int i = 0; i < 16; i++) {
|
||||||
#if defined(USE_TTF)
|
#if defined(USE_TTF)
|
||||||
bool colornul = staycolors || (IS_VGA_ARCH && (altBGR1[i].red > 4 || altBGR1[i].green > 4 || altBGR1[i].blue > 4) && rgbcolors[i].red < 5 && rgbcolors[i].green < 5 && rgbcolors[i].blue < 5);
|
bool colornul = staycolors || (IS_VGA_ARCH && (altBGR1[i].red > 4 || altBGR1[i].green > 4 || altBGR1[i].blue > 4) && rgbcolors[i].red < 5 && rgbcolors[i].green < 5 && rgbcolors[i].blue < 5);
|
||||||
altBGR[i].red = colornul||(colorChanged&&!IS_VGA_ARCH)?altBGR1[i].red:rgbcolors[i].red;
|
altBGR[i].red = colornul||(colorChanged&&!IS_VGA_ARCH)?altBGR1[i].red:rgbcolors[i].red;
|
||||||
altBGR[i].green = colornul||(colorChanged&&!IS_VGA_ARCH)?altBGR1[i].green:rgbcolors[i].green;
|
altBGR[i].green = colornul||(colorChanged&&!IS_VGA_ARCH)?altBGR1[i].green:rgbcolors[i].green;
|
||||||
altBGR[i].blue = colornul||(colorChanged&&!IS_VGA_ARCH)?altBGR1[i].blue:rgbcolors[i].blue;
|
altBGR[i].blue = colornul||(colorChanged&&!IS_VGA_ARCH)?altBGR1[i].blue:rgbcolors[i].blue;
|
||||||
WriteOut("Color %d: (%d,%d,%d) or #%02x%02x%02x\n",i,altBGR[i].red,altBGR[i].green,altBGR[i].blue,altBGR[i].red,altBGR[i].green,altBGR[i].blue);
|
WriteOut(MSG_Get("PROGRAM_SETCOLOR_COLOR"),i,altBGR[i].red,altBGR[i].green,altBGR[i].blue,altBGR[i].red,altBGR[i].green,altBGR[i].blue);
|
||||||
#else
|
#else
|
||||||
WriteOut("Color %d: (%d,%d,%d) or #%02x%02x%02x\n",i,rgbcolors[i].red,rgbcolors[i].green,rgbcolors[i].blue,rgbcolors[i].red,rgbcolors[i].green,rgbcolors[i].blue);
|
WriteOut(MSG_Get("PROGRAM_SETCOLOR_COLOR"),i,rgbcolors[i].red,rgbcolors[i].green,rgbcolors[i].blue,rgbcolors[i].red,rgbcolors[i].green,rgbcolors[i].blue);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -9046,7 +9008,9 @@ public:
|
|||||||
strcat(dir, " ");
|
strcat(dir, " ");
|
||||||
if (cmdstr!=NULL) strcat(dir, TranslateHostPath(cmdstr));
|
if (cmdstr!=NULL) strcat(dir, TranslateHostPath(cmdstr));
|
||||||
if (!strcasecmp(cmd,"for")) strcat(dir, ")");
|
if (!strcasecmp(cmd,"for")) strcat(dir, ")");
|
||||||
strcat(dir, " & echo( & echo The command execution is completed. & pause\"");
|
strcat(dir, " & echo( & echo ");
|
||||||
|
strcat(dir, MSG_Get("PROGRAM_START_COMPLETED"));
|
||||||
|
strcat(dir," & pause\"");
|
||||||
lpExecInfo.lpFile = "CMD.EXE";
|
lpExecInfo.lpFile = "CMD.EXE";
|
||||||
lpExecInfo.lpParameters = dir;
|
lpExecInfo.lpParameters = dir;
|
||||||
} else {
|
} else {
|
||||||
@ -9061,7 +9025,7 @@ public:
|
|||||||
strcat(winDirNew, Drives[DOS_GetDefaultDrive()]->curdir);
|
strcat(winDirNew, Drives[DOS_GetDefaultDrive()]->curdir);
|
||||||
if (SetCurrentDirectory(winDirNew)) setdir=true;
|
if (SetCurrentDirectory(winDirNew)) setdir=true;
|
||||||
}
|
}
|
||||||
if (!startquiet) WriteOut("Starting %s...\n", cmd);
|
if (!startquiet) WriteOut(MSG_Get("PROGRAM_START_COMMAND"), cmd);
|
||||||
ShellExecuteEx(&lpExecInfo);
|
ShellExecuteEx(&lpExecInfo);
|
||||||
int ErrorCode = GetLastError();
|
int ErrorCode = GetLastError();
|
||||||
if (setdir) SetCurrentDirectory(winDirCur);
|
if (setdir) SetCurrentDirectory(winDirCur);
|
||||||
@ -9082,7 +9046,7 @@ public:
|
|||||||
exitCode=0;
|
exitCode=0;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (++count==20000&&ret&&exitCode==STILL_ACTIVE&&!startquiet) WriteOut("(Press Ctrl+C to exit immediately)\n");
|
if (++count==20000&&ret&&exitCode==STILL_ACTIVE&&!startquiet) WriteOut(MSG_Get("PROGRAM_START_CTRLC"));
|
||||||
} while (ret!=0&&exitCode==STILL_ACTIVE);
|
} while (ret!=0&&exitCode==STILL_ACTIVE);
|
||||||
ErrorCode = GetLastError();
|
ErrorCode = GetLastError();
|
||||||
CloseHandle(lpExecInfo.hProcess);
|
CloseHandle(lpExecInfo.hProcess);
|
||||||
@ -9095,7 +9059,7 @@ public:
|
|||||||
DOS_SetError(0);
|
DOS_SetError(0);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (!startquiet) WriteOut("Starting %s...\n", cmd);
|
if (!startquiet) WriteOut(MSG_Get("PROGRAM_START_COMMAND"), cmd);
|
||||||
bool open=false;
|
bool open=false;
|
||||||
if (!strncasecmp(cmd, "/open ", 5) || !strncasecmp(cmd, "-open ", 6)) {
|
if (!strncasecmp(cmd, "/open ", 5) || !strncasecmp(cmd, "-open ", 6)) {
|
||||||
open=true;
|
open=true;
|
||||||
@ -9112,11 +9076,11 @@ public:
|
|||||||
#endif
|
#endif
|
||||||
:"")+std::string(cmd)+(startwait||(strlen(cmd)>2&&!strcmp(cmd+strlen(cmd)-2," &"))?"":" &")).c_str());
|
:"")+std::string(cmd)+(startwait||(strlen(cmd)>2&&!strcmp(cmd+strlen(cmd)-2," &"))?"":" &")).c_str());
|
||||||
#else
|
#else
|
||||||
WriteOut("Error: START cannot launch application to run on your current host system.\n");
|
WriteOut(MSG_Get("PROGRAM_START_HOST_ERROR"));
|
||||||
return;
|
return;
|
||||||
#endif
|
#endif
|
||||||
if (ret==-1) {
|
if (ret==-1) {
|
||||||
WriteOut("Error: START could not launch application.\n");
|
WriteOut(MSG_Get("PROGRAM_START_LAUNCH_ERROR"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
DOS_SetError(ret);
|
DOS_SetError(ret);
|
||||||
@ -9125,29 +9089,11 @@ public:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
void PrintUsage() {
|
void PrintUsage() {
|
||||||
constexpr const char *msg =
|
|
||||||
"Starts a separate window to run a specified program or command.\n\n"
|
|
||||||
#if defined(WIN32)
|
#if defined(WIN32)
|
||||||
"START [+|-|_] command [arguments]\n\n"
|
WriteOut(MSG_Get("PROGRAM_START_HELP_WIN"), startincon.c_str());
|
||||||
" [+|-|_]: To maximize/minimize/hide the program.\n"
|
|
||||||
" The options /MAX, /MIN, /HID are also accepted.\n"
|
|
||||||
" command: The command, program or file to start.\n"
|
|
||||||
" arguments: Arguments to pass to the application.\n\n"
|
|
||||||
"START opens the Windows command prompt automatically to run these commands\n"
|
|
||||||
"and wait for a key press before exiting (specified by \"startincon\" option):\n%s\n\n"
|
|
||||||
#else
|
#else
|
||||||
"START /OPEN file\nSTART command [arguments]\n\n"
|
WriteOut(MSG_Get("PROGRAM_START_HELP"));
|
||||||
" /OPEN: To open a file or URL with the associated program.\n"
|
|
||||||
" file: The file or URL to open with the associated program.\n"
|
|
||||||
" command: The command or program to start or run.\n"
|
|
||||||
" arguments: Arguments to pass to the application.\n\n"
|
|
||||||
#endif
|
#endif
|
||||||
"Note: The path specified in this command is the path on the host system.\n";
|
|
||||||
WriteOut(msg
|
|
||||||
#if defined(WIN32)
|
|
||||||
,startincon.c_str()
|
|
||||||
#endif
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -9939,6 +9885,9 @@ void DOS_SetupPrograms(void) {
|
|||||||
MSG_Add("PROGRAM_BOOT_IS_PC88","The D88 image appears to target PC-88 and cannot be booted.");
|
MSG_Add("PROGRAM_BOOT_IS_PC88","The D88 image appears to target PC-88 and cannot be booted.");
|
||||||
MSG_Add("PROGRAM_BOOT_BPS_TOOLARGE","Bytes/sector too large");
|
MSG_Add("PROGRAM_BOOT_BPS_TOOLARGE","Bytes/sector too large");
|
||||||
MSG_Add("PROGRAM_BOOT_DRIVE_READERROR","Error reading drive");
|
MSG_Add("PROGRAM_BOOT_DRIVE_READERROR","Error reading drive");
|
||||||
|
MSG_Add("PROGRAM_BOOT_UNKNOWN_BOOTHAX","Unknown boothax mode");
|
||||||
|
MSG_Add("PROGRAM_BOOT_SPECIFY_FILE","Must specify BIOS image to boot\n");
|
||||||
|
MSG_Add("PROGRAM_BOOT_BIOS_OPEN_ERROR","Unable to open BIOS image\n");
|
||||||
|
|
||||||
MSG_Add("PROGRAM_LOADROM_HELP","Loads the specified ROM image file for video BIOS or IBM BASIC.\n\nLOADROM ROM_file\n");
|
MSG_Add("PROGRAM_LOADROM_HELP","Loads the specified ROM image file for video BIOS or IBM BASIC.\n\nLOADROM ROM_file\n");
|
||||||
MSG_Add("PROGRAM_LOADROM_HELP","Must specify ROM file to load.\n");
|
MSG_Add("PROGRAM_LOADROM_HELP","Must specify ROM file to load.\n");
|
||||||
@ -9949,7 +9898,9 @@ void DOS_SetupPrograms(void) {
|
|||||||
MSG_Add("PROGRAM_LOADROM_UNRECOGNIZED","ROM file not recognized.\n");
|
MSG_Add("PROGRAM_LOADROM_UNRECOGNIZED","ROM file not recognized.\n");
|
||||||
MSG_Add("PROGRAM_LOADROM_BASIC_LOADED","BASIC ROM loaded.\n");
|
MSG_Add("PROGRAM_LOADROM_BASIC_LOADED","BASIC ROM loaded.\n");
|
||||||
MSG_Add("PROGRAM_BIOSTEST_HELP","Boots into a BIOS image for running CPU tester BIOS.\n\nBIOSTEST image_file\n");
|
MSG_Add("PROGRAM_BIOSTEST_HELP","Boots into a BIOS image for running CPU tester BIOS.\n\nBIOSTEST image_file\n");
|
||||||
|
MSG_Add("PROGRAM_BIOSTEST_SPECIFY_FILE","Must specify BIOS file to load.\n");
|
||||||
|
MSG_Add("PROGRAM_BIOSTEST_OPEN_ERROR","Can't open a file");
|
||||||
|
MSG_Add("PROGRAM_BIOSTEST_TOO_LARGE", "BIOS File too large");
|
||||||
MSG_Add("VHD_ERROR_OPENING", "Could not open the specified VHD file.\n");
|
MSG_Add("VHD_ERROR_OPENING", "Could not open the specified VHD file.\n");
|
||||||
MSG_Add("VHD_INVALID_DATA", "The specified VHD file is corrupt and cannot be opened.\n");
|
MSG_Add("VHD_INVALID_DATA", "The specified VHD file is corrupt and cannot be opened.\n");
|
||||||
MSG_Add("VHD_UNSUPPORTED_TYPE", "The specified VHD file is of an unsupported type.\n");
|
MSG_Add("VHD_UNSUPPORTED_TYPE", "The specified VHD file is of an unsupported type.\n");
|
||||||
@ -9985,7 +9936,32 @@ void DOS_SetupPrograms(void) {
|
|||||||
MSG_Add("PROGRAM_IMGMOUNT_MOUNT_NUMBER","Drive number %d mounted as %s\n");
|
MSG_Add("PROGRAM_IMGMOUNT_MOUNT_NUMBER","Drive number %d mounted as %s\n");
|
||||||
MSG_Add("PROGRAM_IMGMOUNT_NON_LOCAL_DRIVE", "The image must be on a host, local or network drive.\n");
|
MSG_Add("PROGRAM_IMGMOUNT_NON_LOCAL_DRIVE", "The image must be on a host, local or network drive.\n");
|
||||||
MSG_Add("PROGRAM_IMGMOUNT_MULTIPLE_NON_CUEISO_FILES", "Using multiple files is only supported for cue/iso images.\n");
|
MSG_Add("PROGRAM_IMGMOUNT_MULTIPLE_NON_CUEISO_FILES", "Using multiple files is only supported for cue/iso images.\n");
|
||||||
|
MSG_Add("PROGRAM_IMGMOUNT_MULTIPLE_USED","Multiple images given and another drive already uses multiple images\n");
|
||||||
|
MSG_Add("PROGRAM_IMGMOUNT_MULTIPLE_NOTSUPPORTED","Multiple disk images not supported for that drive\n");
|
||||||
|
MSG_Add("PROGRAM_IMGMOUNT_HD_FDPOSITION","Cannot mount hard drive in floppy position.\n");
|
||||||
|
MSG_Add("PROGRAM_IMGMOUNT_FD_HDPOSITION","Cannot mount floppy in hard drive position.\n");
|
||||||
|
MSG_Add("PROGRAM_IMGMOUNT_NOT_ASSIGNED","BIOS disk index does not have an image assigned");
|
||||||
|
MSG_Add("PROGRAM_IMGMOUNT_INVALID_NUMBER","Invalid mount number\n");
|
||||||
|
MSG_Add("PROGRAM_IMGMOUNT_INVALID_FSTYPE","Invalid fstype\n");
|
||||||
|
MSG_Add("PROGRAM_IMGMOUNT_INVALID_SIZE","Invalid size parameter\n");
|
||||||
|
MSG_Add("PROGRAM_IMGMOUNT_NOT_MOUNTED_NUMBER","Drive number %d is not mounted.\n");
|
||||||
|
MSG_Add("PROGRAM_IMGMOUNT_UMOUNT_USAGE", "Incorrect IMGMOUNT unmount usage.\n");
|
||||||
|
MSG_Add("PROGRAM_IMGMOUNT_INVALID_LETTER","Invalid drive letter");
|
||||||
|
MSG_Add("PROGRAM_IMGMOUNT_CHOOSE_LETTER",
|
||||||
|
"Partitions cannot be mounted in conflict with the standard INT 13h hard disk\n"
|
||||||
|
"allotment. Choose a different drive letter to mount to.");
|
||||||
|
MSG_Add("PROGRAM_IMGMOUNT_ELTORITO_NO_FILE",
|
||||||
|
"Do not specify files when mounting floppy drives from El Torito bootable CDs\n");
|
||||||
|
MSG_Add("PROGRAM_IMGMOUNT_RAMDRIVE_NO_FILE", "Do not specify files when mounting RAM drives\n");
|
||||||
|
MSG_Add("PROGRAM_IMGMOUNT_INVALID_SECTORSIZE",
|
||||||
|
"Sector size must be larger than 512 bytes and evenly divide the image cluster size of %lu bytes.\n");
|
||||||
|
MSG_Add("PROGRAM_IMGMOUNT_OPEN_ERROR","Unable to open '%s'\n");
|
||||||
|
MSG_Add("PROGRAM_IMGMOUNT_QCOW2_INVALID","qcow2 image '%s' is not supported\n");
|
||||||
|
MSG_Add("PROGRAM_IMGMOUNT_GEOMETRY_ERROR", "Unable to detect geometry\n");
|
||||||
|
MSG_Add("PROGRAM_IMGMOUNT_DOS_VERSION",
|
||||||
|
"Mounting this image file requires a reported DOS version of %u.%u or higher.\n%s");
|
||||||
|
MSG_Add("PROGRAM_IMGMOUNT_INVALID_FLOPPYSIZE","Floppy size not recognized\n");
|
||||||
|
|
||||||
MSG_Add("PROGRAM_IMGMOUNT_HELP",
|
MSG_Add("PROGRAM_IMGMOUNT_HELP",
|
||||||
"Mounts floppy, hard drive and optical disc images.\n"
|
"Mounts floppy, hard drive and optical disc images.\n"
|
||||||
"\033[32;1mIMGMOUNT\033[0m \033[37;1mdrive\033[0m \033[36;1mfile\033[0m [-ro] [-t floppy] [-fs fat] [-size ss,s,h,c]\n"
|
"\033[32;1mIMGMOUNT\033[0m \033[37;1mdrive\033[0m \033[36;1mfile\033[0m [-ro] [-t floppy] [-fs fat] [-size ss,s,h,c]\n"
|
||||||
@ -10151,6 +10127,11 @@ void DOS_SetupPrograms(void) {
|
|||||||
"\033[34;1mMODE CON COLS=\033[0mc \033[34;1mLINES=\033[0mn :columns and lines, c=80 or 132, n=25, 43, 50, or 60\n"
|
"\033[34;1mMODE CON COLS=\033[0mc \033[34;1mLINES=\033[0mn :columns and lines, c=80 or 132, n=25, 43, 50, or 60\n"
|
||||||
"\033[34;1mMODE CON RATE=\033[0mr \033[34;1mDELAY=\033[0md :typematic rates, r=1-32 (32=fastest), d=1-4 (1=lowest)\n");
|
"\033[34;1mMODE CON RATE=\033[0mr \033[34;1mDELAY=\033[0md :typematic rates, r=1-32 (32=fastest), d=1-4 (1=lowest)\n");
|
||||||
MSG_Add("PROGRAM_MODE_INVALID_PARAMETERS","Invalid parameter(s).\n");
|
MSG_Add("PROGRAM_MODE_INVALID_PARAMETERS","Invalid parameter(s).\n");
|
||||||
|
MSG_Add("PROGRAM_MODE_STATUS",
|
||||||
|
"Status for device CON:\n----------------------\nColumns=%d\nLines=%d\n");
|
||||||
|
MSG_Add("PROGRAM_MODE_NOTSUPPORTED","\nCode page operation not supported on this device\n");
|
||||||
|
MSG_Add("PROGRAM_MODE_RATE_DELAY","Rate and delay must be specified together\n");
|
||||||
|
|
||||||
MSG_Add("PROGRAM_PORT_INVALID_NUMBER","Must specify a port number between 1 and 9.\n");
|
MSG_Add("PROGRAM_PORT_INVALID_NUMBER","Must specify a port number between 1 and 9.\n");
|
||||||
MSG_Add("PROGRAM_VHDMAKE_WRITERR", "Could not write to new VHD image \"%s\", aborting.\n");
|
MSG_Add("PROGRAM_VHDMAKE_WRITERR", "Could not write to new VHD image \"%s\", aborting.\n");
|
||||||
MSG_Add("PROGRAM_VHDMAKE_REMOVEERR", "Could not erase file \"%s\"\n");
|
MSG_Add("PROGRAM_VHDMAKE_REMOVEERR", "Could not erase file \"%s\"\n");
|
||||||
@ -10230,16 +10211,6 @@ void DOS_SetupPrograms(void) {
|
|||||||
" \033[36;1m[position]\033[0m Disk position to swap to.\n");
|
" \033[36;1m[position]\033[0m Disk position to swap to.\n");
|
||||||
MSG_Add("PROGRAM_INTRO_HELP",
|
MSG_Add("PROGRAM_INTRO_HELP",
|
||||||
"A full-screen introduction to DOSBox-X.\n\nINTRO [/RUN] [CDROM|MOUNT|USAGE|WELCOME]\n");
|
"A full-screen introduction to DOSBox-X.\n\nINTRO [/RUN] [CDROM|MOUNT|USAGE|WELCOME]\n");
|
||||||
MSG_Add("PROGRAM_IMGMOUNT_NOT_ASSIGNED","BIOS disk index does not have an image assigned");
|
|
||||||
MSG_Add("PROGRAM_IMGMOUNT_INVALID_NUMBER","Invalid mount number\n");
|
|
||||||
MSG_Add("PROGRAM_IMGMOUNT_INVALID_FSTYPE","Invalid fstype\n");
|
|
||||||
MSG_Add("PROGRAM_IMGMOUNT_INVALID_SIZE","Invalid size parameter\n");
|
|
||||||
MSG_Add("PROGRAM_IMGMOUNT_NOT_MOUNTED_NUMBER","Drive number %d is not mounted.\n");
|
|
||||||
MSG_Add("PROGRAM_IMGMOUNT_UMOUNT_USAGE", "Incorrect IMGMOUNT unmount usage.\n");
|
|
||||||
MSG_Add("PROGRAM_IMGMOUNT_INVALID_LETTER","Invalid drive letter");
|
|
||||||
MSG_Add("PROGRAM_IMGMOUNT_CHOOSE_LETTER",
|
|
||||||
"Partitions cannot be mounted in conflict with the standard INT 13h hard disk\n"
|
|
||||||
"allotment. Choose a different drive letter to mount to.");
|
|
||||||
MSG_Add("PROGRAM_ELTORITO_LETTER","El Torito emulation requires a proper CD-ROM drive letter\n");
|
MSG_Add("PROGRAM_ELTORITO_LETTER","El Torito emulation requires a proper CD-ROM drive letter\n");
|
||||||
MSG_Add("PROGRAM_ELTORITO_DRIVE_EXISTS","El Torito CD-ROM drive specified already exists as a non-CD-ROM device\n");
|
MSG_Add("PROGRAM_ELTORITO_DRIVE_EXISTS","El Torito CD-ROM drive specified already exists as a non-CD-ROM device\n");
|
||||||
MSG_Add("PROGRAM_ELTORITO_NOT_CDDRIVE","El Torito CD-ROM drive specified is not actually a CD-ROM drive\n");
|
MSG_Add("PROGRAM_ELTORITO_NOT_CDDRIVE","El Torito CD-ROM drive specified is not actually a CD-ROM drive\n");
|
||||||
@ -10249,6 +10220,99 @@ void DOS_SetupPrograms(void) {
|
|||||||
MSG_Add("PROGRAM_ELTORITO_NO_BOOTABLE_FLOPPY","El Torito bootable floppy not found\n");
|
MSG_Add("PROGRAM_ELTORITO_NO_BOOTABLE_FLOPPY","El Torito bootable floppy not found\n");
|
||||||
MSG_Add("PROGRAM_ELTORITO_BOOTABLE_SECTION","Unable to locate bootable section\n");
|
MSG_Add("PROGRAM_ELTORITO_BOOTABLE_SECTION","Unable to locate bootable section\n");
|
||||||
MSG_Add("PROGRAM_ELTORITO_BOOTSECTOR","El Torito boot sector unreadable\n");
|
MSG_Add("PROGRAM_ELTORITO_BOOTSECTOR","El Torito boot sector unreadable\n");
|
||||||
|
MSG_Add("PROGRAM_ELTORITO_ISOMOUNT","El Torito bootable CD: -fs iso mounting not supported\n");
|
||||||
|
|
||||||
|
MSG_Add("PROGRAM_START_HELP_WIN",
|
||||||
|
"Starts a separate window to run a specified program or command.\n\n"
|
||||||
|
"START [+|-|_] command [arguments]\n\n"
|
||||||
|
" [+|-|_]: To maximize/minimize/hide the program.\n"
|
||||||
|
" The options /MAX, /MIN, /HID are also accepted.\n"
|
||||||
|
" command: The command, program or file to start.\n"
|
||||||
|
" arguments: Arguments to pass to the application.\n\n"
|
||||||
|
"START opens the Windows command prompt automatically to run these commands\n"
|
||||||
|
"and wait for a key press before exiting (specified by \"startincon\" option):\n%s\n\n"
|
||||||
|
"Note: The path specified in this command is the path on the host system.\n");
|
||||||
|
MSG_Add("PROGRAM_START_HELP",
|
||||||
|
"Starts a separate window to run a specified program or command.\n\n"
|
||||||
|
"START /OPEN file\nSTART command [arguments]\n\n"
|
||||||
|
" /OPEN: To open a file or URL with the associated program.\n"
|
||||||
|
" file: The file or URL to open with the associated program.\n"
|
||||||
|
" command: The command or program to start or run.\n"
|
||||||
|
" arguments: Arguments to pass to the application.\n\n"
|
||||||
|
"Note: The path specified in this command is the path on the host system.\n");
|
||||||
|
MSG_Add("PROGRAM_START_COMPLETED", "The command execution is completed.");
|
||||||
|
MSG_Add("PROGRAM_START_COMMAND", "Starting %s...\n");
|
||||||
|
MSG_Add("PROGRAM_START_CTRLC", "(Press Ctrl+C to exit immediately)\n");
|
||||||
|
MSG_Add("PROGRAM_START_HOST_ERROR", "Error: START cannot launch application to run on your current host system.\n");
|
||||||
|
MSG_Add("PROGRAM_START_LAUNCH_ERROR", "Error: START could not launch application.\n");
|
||||||
|
MSG_Add("PROGRAM_UTF8_HELP",
|
||||||
|
"Converts UTF-8 text to view in the current code page.\n\n"
|
||||||
|
"UTF8 < [drive:][path]filename\ncommand-name | UTF8\n");
|
||||||
|
MSG_Add("PROGRAM_UTF8_NO_TEXT","No input text found.\n");
|
||||||
|
MSG_Add("PROGRAM_UTF8_INVALIDCP","Invalid code page for text conversion.\n");
|
||||||
|
MSG_Add("PROGRAM_UTF8_NOT_UTF8","The input text is UTF-16.\n");
|
||||||
|
MSG_Add("PROGRAM_UTF8_CONVERSION_ERROR","An error occurred during text conversion.\n");
|
||||||
|
MSG_Add("PROGRAM_UTF16_HELP",
|
||||||
|
"Converts UTF-16 text to view in the current code page.\n\n"
|
||||||
|
"UTF16 [/BE|/LE] < [drive:][path]filename\ncommand-name | UTF16 [/BE|/LE]\n\n"
|
||||||
|
" /BE Use UTF-16 Big Endian\n /LE Use UTF-16 Little Endian\n");
|
||||||
|
MSG_Add("PROGRAM_VTEXT_HELP", "Changes V-text mode for the DOS/V emulation.\n\n"
|
||||||
|
"VTEXT [mode]\n\n[mode] can be 0, 1, 2, for no V-text, V-text 1, and V-text 2 respectively.\n\n"
|
||||||
|
"Type VTEXT without a parameter to show the current V-text mode status.\n");
|
||||||
|
MSG_Add("PROGRAM_NMITEST_HELP", "Generates a non-maskable interrupt (NMI).\n\n"
|
||||||
|
"NMITEST\n\nNote: This is a debugging tool to test if the interrupt handler works properly.\n");
|
||||||
|
MSG_Add("PROGRAM_NMITEST_GENERATE_NMI","Generating a non-maskable interrupt (NMI)...\n");
|
||||||
|
MSG_Add("PROGRAM_CAPMOUSE_HELP","Captures or releases the mouse inside DOSBox-X.\n\n"
|
||||||
|
"CAPMOUSE [/C|/R]\n"
|
||||||
|
" /C Capture the mouse\n"
|
||||||
|
" /R Release the mouse\n");
|
||||||
|
MSG_Add("PROGRAM_CAPMOUSE_MOUSE", "Mouse ");
|
||||||
|
MSG_Add("PROGRAM_CAPMOUSE_CURRENTLY", "is currently ");
|
||||||
|
MSG_Add("PROGRAM_CAPMOUSE_CAPTURED", "captured");
|
||||||
|
MSG_Add("PROGRAM_CAPMOUSE_RELEASED", "released");
|
||||||
|
MSG_Add("PROGRAM_AUTOTYPE_HELP",
|
||||||
|
"Performs scripted keyboard entry into a running DOS program.\n\n"
|
||||||
|
"AUTOTYPE [-list] [-w WAIT] [-p PACE] button_1 [button_2 [...]]\n\n"
|
||||||
|
"Where:\n"
|
||||||
|
" -list: prints all available button names.\n"
|
||||||
|
" -w WAIT: seconds before typing begins. Two second default; max of 30.\n"
|
||||||
|
" -p PACE: seconds between each keystroke. Half-second default; max of 10.\n\n"
|
||||||
|
" The sequence is comprised of one or more space-separated buttons.\n"
|
||||||
|
" Autotyping begins after WAIT seconds, and each button is entered\n"
|
||||||
|
" every PACE seconds. The , character inserts an extra PACE delay.\n\n"
|
||||||
|
"Some examples:\n"
|
||||||
|
" \033[32;1mAUTOTYPE -w 1 -p 0.3 up enter , right enter\033[0m\n"
|
||||||
|
" \033[32;1mAUTOTYPE -p 0.2 f1 kp_8 , , enter\033[0m\n"
|
||||||
|
" \033[32;1mAUTOTYPE -w 1.3 esc enter , p l a y e r enter\033[0m\n");
|
||||||
|
MSG_Add("PROGRAM_AUTOTYPE_NO_BINDINGS","AUTOTYPE: The mapper has no key bindings\n");
|
||||||
|
MSG_Add("PROGRAM_AUTOTYPE_CLAMP_VALUE", "AUTOTYPE: bounding %s value of %.2f to %.2f\n");
|
||||||
|
MSG_Add("PROGRAM_AUTOTYPE_INVALID_VALUE",
|
||||||
|
"AUTOTYPE: %s value '%s' is not a valid floating point number\n");
|
||||||
|
MSG_Add("PROGRAM_ADDKEY_HELP", "Generates artificial keypresses.\n\n"
|
||||||
|
"ADDKEY [pmsec] [key]\n\n"
|
||||||
|
"For example, the command below types \"dir\" followed by ENTER after 1 second:\n\n"
|
||||||
|
"ADDKEY p1000 d i r enter\n\n"
|
||||||
|
"You could also try AUTOTYPE command instead of this command to perform\n"
|
||||||
|
"scripted keyboard entry into a running DOS program.\n");
|
||||||
|
MSG_Add("PROGRAM_SETCOLOR_HELP", "Views or changes the text-mode color scheme settings.\n\n"
|
||||||
|
"SETCOLOR [color# [value]]\n\nFor example:\n\n SETCOLOR 0 (50,50,50)\n\n"
|
||||||
|
"Change Color #0 to the specified color value\n\n SETCOLOR 7 -\n\n"
|
||||||
|
"Return Color #7 to the default color value\n\n SETCOLOR 3 +\n\n"
|
||||||
|
"Return Color #3 to the preset color value\n\n SETCOLOR MONO\n\n"
|
||||||
|
"Display current MONO mode status\n\n"
|
||||||
|
"To change the current background and foreground colors, use COLOR command.\n");
|
||||||
|
MSG_Add("PROGRAM_SETCOLOR_STATUS","MONO mode status: %s (video mode %d)\n");
|
||||||
|
MSG_Add("PROGRAM_SETCOLOR_ACTIVE","active");
|
||||||
|
MSG_Add("PROGRAM_SETCOLOR_INACTIVE","inactive");
|
||||||
|
MSG_Add("PROGRAM_SETCOLOR_UNAVAILABLE","unavailable");
|
||||||
|
MSG_Add("PROGRAM_SETCOLOR_MONO_MODE7","MONO mode status => active (video mode 7)\n");
|
||||||
|
MSG_Add("PROGRAM_SETCOLOR_MONO_MODE3","MONO mode status => inactive (video mode 3)\n");
|
||||||
|
MSG_Add("PROGRAM_SETCOLOR_MONO_FAIL","Failed to change MONO mode\n");
|
||||||
|
MSG_Add("PROGRAM_SETCOLOR_MONO_SYNTAX","Must be + or - for MONO: %s\n");
|
||||||
|
MSG_Add("PROGRAM_SETCOLOR_COLOR","Color %d: (%d,%d,%d) or #%02x%02x%02x\n");
|
||||||
|
MSG_Add("PROGRAM_SETCOLOR_INVALID_NUMBER","Invalid color number - %s\n");
|
||||||
|
MSG_Add("PROGRAM_SETCOLOR_INVALID_VALUE","Invalid color value - %s\n");
|
||||||
|
MSG_Add("PROGRAM_SETCOLOR_NOT_SUPPORTED","Changing color scheme is not supported for the current video mode.\n");
|
||||||
|
|
||||||
const Section_prop * dos_section=static_cast<Section_prop *>(control->GetSection("dos"));
|
const Section_prop * dos_section=static_cast<Section_prop *>(control->GetSection("dos"));
|
||||||
hidefiles = dos_section->Get_string("drive z hide files");
|
hidefiles = dos_section->Get_string("drive z hide files");
|
||||||
|
Loading…
x
Reference in New Issue
Block a user