349 |
mateuszvis |
1 |
|
|
|
2 |
=== SVARCOM ===
|
|
|
3 |
|
|
|
4 |
|
|
|
5 |
SvarCOM is the SvarDOS command line interpreter, known usually under the name
|
|
|
6 |
"COMMAND.COM". It is designed and maintained by Mateusz Viste, and distributed
|
|
|
7 |
under the terms of the MIT license.
|
|
|
8 |
|
|
|
9 |
So far, it is an incomplete, experimental project. The goal would be to
|
|
|
10 |
eventually make SvarCOM the default SvarDOS shell, replacing FreeCOM.
|
|
|
11 |
|
|
|
12 |
Why replacing FreeCOM (FreeDOS COMMAND.COM)?
|
|
|
13 |
|
|
|
14 |
FreeCOM is a very good piece of software, but there are a few things that I
|
|
|
15 |
do not like about it. SvarCOM is my attempt at addressing these things:
|
|
|
16 |
|
|
|
17 |
- FreeCOM is not suitable for low-memory machines. It takes about 55K of
|
|
|
18 |
conventional memory when XMS is unavailable. XMS being a 386+ thing, FreeCOM
|
|
|
19 |
is not a very good fit for pre-386 machines. There is the KSSF hack, but it
|
|
|
20 |
is a kludgy hack with many limitations.
|
|
|
21 |
|
|
|
22 |
SvarDOS will not rely on XMS, and will perform swapping that works on any
|
|
|
23 |
machine (similar to what MS-DOS did).
|
|
|
24 |
|
|
|
25 |
- FreeCOM requires custom NLS files. While the vast majority of FreeDOS
|
|
|
26 |
programs use a single "standard" (CATS/Kitten), FreeCOM is using a different
|
|
|
27 |
approach with pre-compiled NLS strings, which make it necessary to
|
|
|
28 |
distribute as many binaries as there are supported languages. It also makes
|
|
|
29 |
the translation process much more difficult.
|
|
|
30 |
|
|
|
31 |
SvarDOS will use Kitten-style translations, like other applications.
|
|
|
32 |
|
|
|
33 |
- FreeCOM is complex: multi-compiler support and many features. This makes the
|
|
|
34 |
code uneasy to follow and changes require careful testing on all supported
|
|
|
35 |
compilers.
|
|
|
36 |
|
|
|
37 |
SvarDOS is meant to be simple. It is meant to be compiled with OpenWatcom
|
|
|
38 |
and nothing else. It also won't integrate features that can be implemented
|
|
|
39 |
as third-party tools (typically: DOSKEY).
|