Line 1... |
Line 1... |
1 |
|
1 |
|
2 |
=== SVARCOM vs FREECOM ===
|
2 |
=== SVARCOM vs FREECOM ===
|
3 |
|
3 |
|
4 |
|
4 |
|
- |
|
5 |
SvarCOM is a DOS command interpreter (shell), similar to COMMAND.COM in MS-DOS
|
- |
|
6 |
and FreeCOM in FreeDOS. But why not using FreeCOM in the first place?
|
- |
|
7 |
|
5 |
The FreeCOM project is an impressive piece of software, but there are a few
|
8 |
The FreeCOM project is an impressive piece of software, but there are a few
|
6 |
things that I do not like about it. SvarCOM is my attempt at addressing these
|
9 |
things that I do not like about it. SvarCOM is my attempt at addressing these
|
7 |
things.
|
10 |
things through a completely new implementation. SvarCOM is composed of
|
- |
|
11 |
entirely original code and does not borrow any code from MS-DOS or FreeCOM.
|
8 |
|
12 |
|
9 |
|
13 |
|
10 |
=== MEMORY FOOTPRINT =========================================================
|
14 |
=== MEMORY FOOTPRINT =========================================================
|
11 |
|
15 |
|
12 |
FreeCOM is not suitable for low-memory machines. It takes about 55K of
|
16 |
FreeCOM is not suitable for low-memory machines. It takes about 55K of
|
13 |
conventional memory when XMS is unavailable. XMS being a 386+ thing, FreeCOM
|
17 |
conventional memory when XMS is unavailable. XMS being a 386+ thing, FreeCOM
|
14 |
is a poor fit for pre-386 machines. There is the KSSF hack, but it is a kludge
|
18 |
is a poor fit for pre-386 machines. There is the KSSF hack, but it is a kludge
|
15 |
with many limitations. As pointed out by one of the FreeCOM authors, FreeCOM
|
19 |
with many limitations. As pointed out by one of the FreeCOM authors, FreeCOM
|
16 |
is designed with 21'st century machines in mind and not IBM PC compatibles.
|
20 |
is designed with 21'st century machines in mind and not IBM PC compatibles.
|
17 |
|
21 |
|
18 |
SvarDOS does not rely on XMS and performs runtime swapping that works on any
|
22 |
SvarCOM does not rely on XMS and performs runtime swapping that works on any
|
19 |
IBM PC compatible machine.
|
23 |
IBM PC compatible machine.
|
20 |
|
24 |
|
21 |
|
25 |
|
22 |
=== NLS RESSOURCES ===========================================================
|
26 |
=== NLS RESSOURCES ===========================================================
|
23 |
|
27 |
|
Line 27... |
Line 31... |
27 |
as many binary blobs as there are supported languages. Another consequence is
|
31 |
as many binary blobs as there are supported languages. Another consequence is
|
28 |
that FreeCOM is unable to switch its language dynamically (ie. following
|
32 |
that FreeCOM is unable to switch its language dynamically (ie. following
|
29 |
changes made to the LANG environment variable). It also makes the translation
|
33 |
changes made to the LANG environment variable). It also makes the translation
|
30 |
more difficult.
|
34 |
more difficult.
|
31 |
|
35 |
|
32 |
SvarDOS uses CATS-style translations in a precompiled form and loads the
|
36 |
SvarCOM uses CATS-style translations in a precompiled form and supports
|
33 |
strings that match the LANG variable.
|
37 |
dynamic language changes through the %LANG% environment variable.
|
34 |
|
38 |
|
35 |
|
39 |
|
36 |
=== CODE COMPLEXITY ==========================================================
|
40 |
=== CODE COMPLEXITY ==========================================================
|
37 |
|
41 |
|
38 |
FreeCOM is a complex beast: it aims for compatibility with multiple compilers
|
42 |
FreeCOM is a complex beast: it aims for compatibility with multiple compilers
|
39 |
and supports many embedded features. This makes the code uneasy to follow and
|
43 |
and supports many embedded features. This makes the code uneasy to follow and
|
40 |
changes require careful testing on all supported compilers and all possible
|
44 |
changes require careful testing on all supported compilers and all possible
|
41 |
build variants.
|
45 |
build variants.
|
42 |
|
46 |
|
43 |
SvarDOS, on the other hand, is meant to be simple and universal. It is
|
47 |
SvarCOM, on the other hand, is meant to be simple and universal. It is
|
44 |
compiled with OpenWatcom only, which makes a ton of IFDEF's go away. It also
|
48 |
compiled with OpenWatcom only, which makes a ton of IFDEF's go away. It also
|
45 |
does not integrate extra features that can be reasonably implemented through
|
49 |
does not integrate extra features that can be reasonably implemented through
|
46 |
external tools (typically: DOSKEY). It strives to reimplement the baseline
|
50 |
external tools (typically: DOSKEY). It strives to reimplement the baseline
|
47 |
functionality of MS-DOS 5/6.
|
51 |
functionality of MS-DOS 5/6.
|
48 |
|
52 |
|
Line 51... |
Line 55... |
51 |
|
55 |
|
52 |
FreeCOM code is released under the terms of a license that restrains the
|
56 |
FreeCOM code is released under the terms of a license that restrains the
|
53 |
freedom of its users due to its virality (GPL).
|
57 |
freedom of its users due to its virality (GPL).
|
54 |
|
58 |
|
55 |
SvarCOM is released under the terms of a liberal and permissive (MIT) license
|
59 |
SvarCOM is released under the terms of a liberal and permissive (MIT) license
|
56 |
that does not impose limitations on how users may or may not use it.
|
60 |
that does not impose limitations on how users may or may not use the software.
|
57 |
|
61 |
|
58 |
|
62 |
|
59 |
====================================================================== EOF ===
|
63 |
====================================================================== EOF ===
|