Subversion Repositories SvarDOS

Rev

Rev 521 | Rev 573 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 521 Rev 571
1
 
1
 
2
 
2
 
3
                    === SvarCOM implementation notes ===
3
                    === SvarCOM implementation notes ===
4
 
4
 
5
 
5
 
6
=== SWAPPING =================================================================
6
=== SWAPPING =================================================================
7
 
7
 
8
While conventional RAM is scarce, a command line interpreter must make effort
8
While conventional RAM is scarce, a command line interpreter must make effort
9
to reduce its memory footprint when launching applications. SvarCOM does that
9
to reduce its memory footprint when launching applications. SvarCOM does that
10
by installing a small executable module in memory, called RMOD (for Resident
10
by installing a small executable module in memory, called RMOD (for Resident
11
MODule). SvarCOM pre-sets RMOD so knows how to execute the external program
11
MODule). SvarCOM pre-sets RMOD so knows how to execute the external program
12
and removes itself from memory, letting RMOD do the job. RMOD executes the
12
and removes itself from memory, letting RMOD do the job. RMOD executes the
13
application, waits for it to finish and then calls back SvarCOM.
13
application, waits for it to finish and then calls back SvarCOM.
14
 
14
 
15
 
15
 
16
=== NLS STRINGS ==============================================================
16
=== NLS STRINGS ==============================================================
17
 
17
 
18
SvarCOM can output information in many languages. To do so, it relies on a
18
SvarCOM can output information in many languages. To do so, it relies on a
19
precompiled resource file named SVARCOM.LNG. When SvarCOM starts, it looks
19
precompiled resource file named SVARCOM.LNG. When SvarCOM starts, it looks
20
for this file in the %NLSPATH% directory and loads from it the part that
20
for this file in the %NLSPATH% directory and loads from it the part that
21
contains the %LANG% language. All this is done by nls_langreload().
21
contains the %LANG% language. All this is done by nls_langreload().
22
 
22
 
23
The SVARCOM.LNG file is compiled by a separate tool: TLUMACZ. It takes
23
The SVARCOM.LNG file is compiled by a separate tool: TLUMACZ. It takes
24
CATS-style language files as input and compiles them into a single SVARCOM.LNG
24
CATS-style language files as input and compiles them into a single SVARCOM.LNG
25
resource file. It also produces a DEFAULT.LNG with english strings only, this
25
resource file. It also produces a DEFAULT.LNG with english strings only, this
26
one is embedded into the SvarCOM executable to display english text in case
26
one is embedded into the SvarCOM executable to display english text in case
27
SVARCOM.LNG is unavailable.
27
SVARCOM.LNG is unavailable.
28
 
28
 
29
 
29
 
30
=== BATCH FILES SUPPORT ======================================================
30
=== BATCH FILES SUPPORT ======================================================
31
 
31
 
32
When SvarCOM executes a command, it checks first if it has a *.BAT extension.
32
When SvarCOM executes a command, it checks first if it has a *.BAT extension.
33
If so, it switches into 'batch-processing' mode:
33
If so, it switches into 'batch-processing' mode:
34
 
34
 
35
 - Writes the batch filename into its persistent (rmod-owned) buffer, along
35
 - Writes the batch filename into its persistent (rmod-owned) buffer, along
36
   with a counter that holds the offset of the next line to be executed.
36
   with a counter that holds the offset of the next line to be executed.
37
 
37
 
38
When the batch filename buffer is non-empty, SvarCOM does not ask the user for
38
When the batch filename buffer is non-empty, SvarCOM does not ask the user for
39
a command. Instead, it opens the batch file, jumps to the "next line to be
39
a command. Instead, it opens the batch file, jumps to the "next line to be
40
executed" and loads the command from there, incrementing the line counter in
40
executed" and loads the command from there, incrementing the line counter in
41
the process.
41
the process.
42
 
42
 
43
 
43
 
-
 
44
=== EXECUTABLE LINKS =========================================================
-
 
45
 
-
 
46
SvarCOM features special support for "executable links". This allows to run
-
 
47
selected programs from any directory, but without the need to copy these
-
 
48
programs to a directory in %PATH%. Executable links are flat files written in
-
 
49
%DOSDIR%\LINKS. Each file there contains the directory where the matching
-
 
50
program should be looked for.
-
 
51
 
-
 
52
 
44
===================================================================== EOF ====
53
===================================================================== EOF ====
45
 
54