Subversion Repositories SvarDOS

Rev

Rev 473 | Rev 481 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
447 mateuszvis 1
 
2
                    === SvarCOM implementation notes ===
3
 
4
 
473 mateuszvis 5
=== SWAPPING =================================================================
6
 
7
While conventional RAM is scarce, a command line interpreter must make effort
8
to reduce its memory footprint when launching applications. SvarCOM does that
9
by installing a small executable module in memory, called RMOD (for Resident
10
MODule). SvarCOM pre-sets RMOD so knows how to execute the external program
11
and removes itself from memory, letting RMOD do the job. RMOD executes the
12
application, waits for it to finish and then calls back SvarCOM.
13
 
14
 
474 mateuszvis 15
=== NLS STRINGS ==============================================================
467 mateuszvis 16
 
17
SvarCOM can output information in many languages. To do so, it relies on a
18
precompiled resource file named SVARCOM.LNG. When SvarCOM starts, it looks
19
for this file in the %NLSPATH% directory and loads from it the part that
20
contains the %LANG% language. All this is done by nls_langreload().
21
 
22
The SVARCOM.LNG file is compiled by a separate tool: TLUMACZ. It takes
23
CATS-style language files as input and compiles them into a single SVARCOM.LNG
24
resource file. It also produces a DEFAULT.LNG with english strings only, this
25
one is embedded into the SvarCOM executable to display english text in case
26
SVARCOM.LNG is unavailable.
27
 
28
 
474 mateuszvis 29
=== BATCH FILES SUPPORT ======================================================
447 mateuszvis 30
 
31
When SvarCOM executes a command, it checks first if it has a *.BAT extension.
469 mateuszvis 32
If so, it switches into 'batch-processing' mode:
447 mateuszvis 33
 
469 mateuszvis 34
 - Writes the batch filename into its persistent (rmod-owned) buffer, along
474 mateuszvis 35
   with a counter that holds the offset of the next line to be executed.
469 mateuszvis 36
 - When a batch file CALLs another batch file, then a new SvarCOM instance is
37
   started. This ensures that once the CALLed batch ends, processing will
38
   return to the original batch file at the correct position.
39
 
40
When the batch buffer is non-zero, SvarCOM does not ask the user for a
41
command. Instead, it opens the batch file, jumps to the "next line to be
42
executed" and loads the command from there, incrementing this counter in the
474 mateuszvis 43
process.
447 mateuszvis 44
 
45
 
46
====================================================================== EOF ===