add SHUTDOWN tool

This commit is contained in:
Wengier 2021-11-28 21:10:24 -05:00
parent cd1b3e5cc1
commit 870f31758f
8 changed files with 61 additions and 11 deletions

View File

@ -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

View File

@ -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)

View File

@ -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 \

View File

@ -1 +0,0 @@
//removed

49
src/builtin/shutdown.h Normal file
View 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)
};

View File

@ -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);

View File

@ -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" />

View File

@ -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>