mirror of
https://github.com/joncampbell123/dosbox-x.git
synced 2025-05-09 03:41:10 +08:00
add SHUTDOWN tool
This commit is contained in:
parent
cd1b3e5cc1
commit
870f31758f
@ -61,8 +61,10 @@
|
||||
e.g. "IMGSWAP D" to swap C: drive to the next swap
|
||||
position, and "IMGSWAP A 3" to swap A: drive to
|
||||
the 3nd swap position. (Wengier)
|
||||
- Added DOS commands COMP, FC, and EDLIN from FreeDOS
|
||||
to the built-in Z drive. (Wengier)
|
||||
- Added DOS commands COMP, EDLIN, FC, and SHUTDOWN
|
||||
(the former three are from FreeDOS) to the built-in
|
||||
virtual drive Z:. The EDLIN command is recompiled
|
||||
with long filename (LFN) support. (Wengier)
|
||||
- The CAPMOUSE command without a parameter now shows
|
||||
whether the mouse is captured/released. (Wengier)
|
||||
- The command "config -set" is now case-insensitive
|
||||
|
@ -8,6 +8,7 @@
|
||||
#include "../src/builtin/ne2000.h"
|
||||
#include "../src/builtin/glide2x.h"
|
||||
#include "../src/builtin/emsmagic.h"
|
||||
#include "../src/builtin/shutdown.h"
|
||||
#include "../src/builtin/textutil.h"
|
||||
#include "../src/builtin/4DOS_img.h"
|
||||
|
||||
@ -62,6 +63,7 @@ extern struct BuiltinFileBlob bfb_EGA_COM; // EGA.COM
|
||||
extern struct BuiltinFileBlob bfb_CLR_COM; // CLR.COM
|
||||
extern struct BuiltinFileBlob bfb_CGA_COM; // CGA.COM
|
||||
extern struct BuiltinFileBlob bfb_EMSMAGIC_COM; // EMSMAGIC.COM
|
||||
extern struct BuiltinFileBlob bfb_SHUTDOWN_COM; // SHUTDOWN.COM
|
||||
extern struct BuiltinFileBlob bfb_DEFRAG_EXE; // DEFRAG.EXE (FreeDOS)
|
||||
extern struct BuiltinFileBlob bfb_FDISK_EXE; // FDISK.EXE (FreeDOS)
|
||||
extern struct BuiltinFileBlob bfb_FORMAT_EXE; // FORMAT.EXE (FreeDOS)
|
||||
|
@ -28,7 +28,6 @@ libbuiltin_a_SOURCES = \
|
||||
fdisk_exe.cpp \
|
||||
format_exe.cpp \
|
||||
chkdsk_exe.cpp \
|
||||
copy_exe.cpp \
|
||||
sys_com.cpp \
|
||||
28_com.cpp \
|
||||
50_com.cpp \
|
||||
|
@ -1 +0,0 @@
|
||||
//removed
|
49
src/builtin/shutdown.h
Normal file
49
src/builtin/shutdown.h
Normal file
@ -0,0 +1,49 @@
|
||||
static const unsigned char bin_shutdown_com[] = {
|
||||
0xB8,0x0A,0x16,0xCD,0x2F,0x3D,0x00,0x00,0x75,0x0A,0xBA,
|
||||
0x17,0x01,0xB4,0x09,0xCD,0x21,0xE9,0x4A,0x01,0xE9,0xD6,
|
||||
0x00,0x54,0x68,0x69,0x73,0x20,0x70,0x72,0x6F,0x67,0x72,
|
||||
0x61,0x6D,0x20,0x63,0x61,0x6E,0x6E,0x6F,0x74,0x20,0x62,
|
||||
0x65,0x20,0x72,0x75,0x6E,0x20,0x75,0x6E,0x64,0x65,0x72,
|
||||
0x20,0x57,0x69,0x6E,0x64,0x6F,0x77,0x73,0x2E,0x0A,0x0D,
|
||||
0x24,0x53,0x68,0x75,0x74,0x44,0x6F,0x77,0x6E,0x20,0x76,
|
||||
0x31,0x2E,0x32,0x20,0xFE,0x20,0x77,0x77,0x77,0x2E,0x62,
|
||||
0x6C,0x61,0x63,0x6B,0x6C,0x69,0x67,0x68,0x74,0x2E,0x77,
|
||||
0x78,0x73,0x2E,0x6F,0x72,0x67,0x0A,0x0D,0x24,0x53,0x79,
|
||||
0x6E,0x74,0x61,0x78,0x3A,0x20,0x53,0x48,0x55,0x54,0x44,
|
||||
0x4F,0x57,0x4E,0x20,0x5B,0x53,0x28,0x68,0x75,0x74,0x64,
|
||||
0x6F,0x77,0x6E,0x29,0x7C,0x52,0x28,0x65,0x73,0x74,0x61,
|
||||
0x72,0x74,0x29,0x5D,0x0A,0x0D,0x24,0x53,0x28,0x68,0x75,
|
||||
0x74,0x64,0x6F,0x77,0x6E,0x29,0x2C,0x20,0x52,0x28,0x65,
|
||||
0x73,0x74,0x61,0x72,0x74,0x29,0x2C,0x20,0x6F,0x72,0x20,
|
||||
0x43,0x28,0x61,0x6E,0x63,0x65,0x6C,0x29,0x3F,0x20,0x24,
|
||||
0x43,0x6F,0x75,0x6C,0x64,0x20,0x6E,0x6F,0x74,0x20,0x73,
|
||||
0x68,0x75,0x74,0x64,0x6F,0x77,0x6E,0x21,0x20,0x4E,0x6F,
|
||||
0x20,0x41,0x54,0x58,0x20,0x6D,0x61,0x79,0x62,0x65,0x3F,
|
||||
0x24,0x0A,0x0D,0x53,0x52,0x43,0x1B,0xB4,0x09,0xBA,0x6C,
|
||||
0x01,0xCD,0x21,0xE9,0x71,0x00,0xB4,0x09,0xBA,0x43,0x01,
|
||||
0xCD,0x21,0x80,0x3E,0x81,0x00,0x0D,0x74,0x18,0xBE,0x81,
|
||||
0x00,0xAC,0x3C,0x0D,0x74,0xE0,0x24,0xDF,0x3A,0x06,0xDF,
|
||||
0x01,0x74,0x4E,0x3A,0x06,0xE0,0x01,0x74,0x3D,0xEB,0xEB,
|
||||
0xB4,0x09,0xBA,0x96,0x01,0xCD,0x21,0x30,0xE4,0xCD,0x16,
|
||||
0x3A,0x06,0xE2,0x01,0x74,0x37,0x24,0xDF,0x3A,0x06,0xDF,
|
||||
0x01,0x74,0x2A,0x3A,0x06,0xE0,0x01,0x74,0x19,0x3A,0x06,
|
||||
0xE1,0x01,0x74,0x23,0xEB,0xE0,0xB4,0x02,0x88,0xC2,0xCD,
|
||||
0x21,0xB4,0x09,0xBA,0x48,0x02,0xCD,0x21,0xC3,0x0A,0x0D,
|
||||
0x24,0xE8,0xEC,0xFF,0xE8,0x5B,0x00,0xEA,0x00,0x00,0xFF,
|
||||
0xFF,0xE8,0xE1,0xFF,0xEB,0x08,0xE8,0xDC,0xFF,0xB8,0x00,
|
||||
0x4C,0xCD,0x21,0xE8,0x46,0x00,0xB8,0x01,0x53,0x31,0xDB,
|
||||
0xCD,0x15,0xB8,0x0E,0x53,0xB9,0x02,0x01,0xCD,0x15,0xB8,
|
||||
0x07,0x53,0xB3,0x01,0xB9,0x03,0x00,0xCD,0x15,0xB4,0x09,
|
||||
0xBA,0xBB,0x01,0xCD,0x21,0xEB,0xD6,0x46,0x6C,0x75,0x73,
|
||||
0x68,0x69,0x6E,0x67,0x20,0x53,0x4D,0x41,0x52,0x54,0x44,
|
||||
0x52,0x56,0x20,0x62,0x75,0x66,0x66,0x65,0x72,0x73,0x2E,
|
||||
0x2E,0x2E,0x24,0x64,0x6F,0x6E,0x65,0x0A,0x0D,0x24,0xB4,
|
||||
0x09,0xBA,0x88,0x02,0xCD,0x21,0xB8,0x10,0x4A,0xBB,0x01,
|
||||
0x00,0xCD,0x1A,0xB4,0x09,0xBA,0xA5,0x02,0xCD,0x21,0xC3,
|
||||
};
|
||||
|
||||
struct BuiltinFileBlob bfb_SHUTDOWN_COM = {
|
||||
/*recommended file name*/ "SHUTDOWN.COM",
|
||||
/*data*/ bin_shutdown_com,
|
||||
/*length*/ sizeof(bin_shutdown_com)
|
||||
};
|
@ -1692,6 +1692,7 @@ void SHELL_Init() {
|
||||
|
||||
drivezRegister(path, "/");
|
||||
|
||||
VFILE_RegisterBuiltinFileBlob(bfb_EDLIN_EXE, "/DOS/");
|
||||
VFILE_RegisterBuiltinFileBlob(bfb_DEBUG_EXE, "/DOS/");
|
||||
VFILE_RegisterBuiltinFileBlob(bfb_MOVE_EXE, "/DOS/");
|
||||
VFILE_RegisterBuiltinFileBlob(bfb_FIND_EXE, "/DOS/");
|
||||
@ -1706,7 +1707,6 @@ void SHELL_Init() {
|
||||
VFILE_RegisterBuiltinFileBlob(bfb_CHKDSK_EXE, "/DOS/");
|
||||
VFILE_RegisterBuiltinFileBlob(bfb_COMP_COM, "/DOS/");
|
||||
VFILE_RegisterBuiltinFileBlob(bfb_FC_EXE, "/DOS/");
|
||||
VFILE_RegisterBuiltinFileBlob(bfb_EDLIN_EXE, "/DOS/");
|
||||
#if C_IPX
|
||||
if (addipx) PROGRAMS_MakeFile("IPXNET.COM",IPXNET_ProgramStart,"/SYSTEM/");
|
||||
#endif
|
||||
@ -1722,7 +1722,6 @@ void SHELL_Init() {
|
||||
VFILE_RegisterBuiltinFileBlob(bfb_HEXMEM16_EXE, "/DEBUG/");
|
||||
VFILE_RegisterBuiltinFileBlob(bfb_HEXMEM32_EXE, "/DEBUG/");
|
||||
VFILE_RegisterBuiltinFileBlob(bfb_DOSIDLE_EXE, "/BIN/");
|
||||
VFILE_RegisterBuiltinFileBlob(bfb_CWSDPMI_EXE, "/BIN/");
|
||||
VFILE_RegisterBuiltinFileBlob(bfb_DOS32A_EXE, "/BIN/");
|
||||
VFILE_RegisterBuiltinFileBlob(bfb_DOS4GW_EXE, "/BIN/");
|
||||
VFILE_RegisterBuiltinFileBlob(bfb_CDPLAY_EXE, "/BIN/");
|
||||
@ -1765,15 +1764,19 @@ void SHELL_Init() {
|
||||
if(!IS_PC98_ARCH && CPU_ArchitectureType >= CPU_ARCHTYPE_80186)
|
||||
VFILE_RegisterBuiltinFileBlob(bfb_MEM_EXE, "/DOS/");
|
||||
|
||||
VFILE_RegisterBuiltinFileBlob(bfb_CWSDPMI_EXE, "/BIN/");
|
||||
/* DSXMENU.EXE */
|
||||
if(IS_PC98_ARCH)
|
||||
VFILE_RegisterBuiltinFileBlob(bfb_DSXMENU_EXE_PC98, "/BIN/");
|
||||
else {
|
||||
VFILE_RegisterBuiltinFileBlob(bfb_DSXMENU_EXE_PC, "/BIN/");
|
||||
VFILE_RegisterBuiltinFileBlob(bfb_EVAL_HLP, "/BIN/");
|
||||
VFILE_RegisterBuiltinFileBlob(bfb_SHUTDOWN_COM, "/BIN/");
|
||||
}
|
||||
|
||||
VFILE_RegisterBuiltinFileBlob(bfb_EVAL_EXE, "/BIN/");
|
||||
if(!IS_PC98_ARCH)
|
||||
VFILE_RegisterBuiltinFileBlob(bfb_EVAL_HLP, "/BIN/");
|
||||
|
||||
|
||||
DOS_PSP psp(psp_seg);
|
||||
psp.MakeNew(0);
|
||||
|
@ -894,7 +894,6 @@ copy "$(SolutionDir)\..\contrib\windows\shaders\*.*" "$(OutputPath)\shaders\"</C
|
||||
<ClCompile Include="..\src\builtin\append_exe.cpp" />
|
||||
<ClCompile Include="..\src\builtin\buffers_com.cpp" />
|
||||
<ClCompile Include="..\src\builtin\chkdsk_exe.cpp" />
|
||||
<ClCompile Include="..\src\builtin\copy_exe.cpp" />
|
||||
<ClCompile Include="..\src\builtin\cwsdpmi_exe.cpp" />
|
||||
<ClCompile Include="..\src\builtin\debug_exe.cpp" />
|
||||
<ClCompile Include="..\src\builtin\defrag_exe.cpp" />
|
||||
|
@ -165,9 +165,6 @@
|
||||
<ClCompile Include="..\src\builtin\chkdsk_exe.cpp">
|
||||
<Filter>Sources\builtin</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\builtin\copy_exe.cpp">
|
||||
<Filter>Sources\builtin</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\src\builtin\cwsdpmi_exe.cpp">
|
||||
<Filter>Sources\builtin</Filter>
|
||||
</ClCompile>
|
||||
|
Loading…
x
Reference in New Issue
Block a user