Subversion Repositories SvarDOS

Rev

Rev 618 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 618 Rev 621
1
AMB1
index.ama
1
AMB1
index.ama
2
k‡pkg.amaD0.network.amacàn
contact.amaC±°pkgfmt.amaF™¯pkgrules.ama`!Ùlicense.ama9*@V?meaning.amay-‡mUfreedos.ama1M
2
k‡pkg.amaD0.network.amacàn
contact.amaC±°pkgfmt.amaFïTpkgrules.amab!Ùlicense.ama;*@V?meaning.ama{-‡mUfreedos.ama1M
3
[Âhistory.amaM;Þ¥Rtodo.ama+B2'Ù8086.ama]J÷
ÝtitleTX!’G
3
[Âhistory.amaO;Þ¥Rtodo.ama-B2'Ù8086.ama_J÷
ÝtitleVX!’G
4
                            %h*** SVARDOS HELP ***
4
                            %h*** SVARDOS HELP ***
5
 
5
 
6
This help documentation is a work-in-progress thing. For the time being it
6
This help documentation is a work-in-progress thing. For the time being it
7
provides only very limited content. (wanna help building it? get in touch with
7
provides only very limited content. (wanna help building it? get in touch with
8
us on the SvarDOS %lcontact.ama:mailing list%t!)
8
us on the SvarDOS %lcontact.ama:mailing list%t!)
9
 
9
 
10
=== Chapters =================================================================
10
=== Chapters =================================================================
11
 
11
 
12
 * %lpkg.ama:Packages management (install/remove/update software)
12
 * %lpkg.ama:Packages management (install/remove/update software)
13
 * %lnetwork.ama:Networking
13
 * %lnetwork.ama:Networking
14
 
14
 
15
 * %lfreedos.ama:SvarDOS vs FreeDOS: what is the story?
15
 * %lfreedos.ama:SvarDOS vs FreeDOS: what is the story?
16
 * %ltodo.ama:The project's "TODO" list
16
 * %ltodo.ama:The project's "TODO" list
17
 * %lcontact.ama:How do I get in touch with the SvarDOS community?
17
 * %lcontact.ama:How do I get in touch with the SvarDOS community?
18
 
18
 
19
 * %lhistory.ama:SvarDOS origins
19
 * %lhistory.ama:SvarDOS origins
20
 * %lmeaning.ama:What does "Svarog" mean?
20
 * %lmeaning.ama:What does "Svarog" mean?
21
 * %l8086.ama:8086 compatibility list
21
 * %l8086.ama:8086 compatibility list
22
 
22
 
23
==============================================================================
23
==============================================================================
24
 
24
 
25
%hSvarDOS packages management
25
%hSvarDOS packages management
26
 
26
 
27
To install or remove software on your SvarDOS system, use the "pkg" command.
27
To install or remove software on your SvarDOS system, use the "pkg" command.
28
pkg is a package manager to allow installing new software from SvarDOS
28
pkg is a package manager to allow installing new software from SvarDOS
29
packages and removing exising software from the system. To learn about exact
29
packages and removing exising software from the system. To learn about exact
30
pkg usage, type pkg /? in the SvarDOS command line shell.
30
pkg usage, type pkg /? in the SvarDOS command line shell.
31
 
31
 
32
You may obtain many SvarDOS packages from the SvarDOS web homepage at
32
You may obtain many SvarDOS packages from the SvarDOS web homepage at
33
<http://svardos.osdn.io>. If your system is connected to the internet, then
33
<http://svardos.osdn.io>. If your system is connected to the internet, then
34
you may also use the SvarDOS "pkgnet" command. pkgnet is a network tool that
34
you may also use the SvarDOS "pkgnet" command. pkgnet is a network tool that
35
makes it easy to search for SvarDOS packages in the SvarDOS repository and
35
makes it easy to search for SvarDOS packages in the SvarDOS repository and
36
download them right away. Type pkgnet /? in the SvarDOS command line shell to
36
download them right away. Type pkgnet /? in the SvarDOS command line shell to
37
learn about exact pkgnet usage.
37
learn about exact pkgnet usage.
38
 
38
 
39
See also:
39
See also:
40
 * %lpkgfmt.ama:The technical format of a SvarDOS package
40
 * %lpkgfmt.ama:The technical format of a SvarDOS package
41
 * %lpkgrules.ama:Packages inclusion rules
41
 * %lpkgrules.ama:Packages inclusion rules
42
 
42
 
43
%hNetworking
43
%hNetworking
44
 
44
 
45
For enabling network connectivity you first need to know what kind of network
45
For enabling network connectivity you first need to know what kind of network
46
adapter you have, and obtain a suitable packet driver for it. The "crynwr"
46
adapter you have, and obtain a suitable packet driver for it. The "crynwr"
47
package contains lots of packet drivers for a variety of network adapters.
47
package contains lots of packet drivers for a variety of network adapters.
48
There is also a packet driver for Intel Pro cards in the e1000pkt package, and
48
There is also a packet driver for Intel Pro cards in the e1000pkt package, and
49
a driver for AMD PC-NET cards in the pcntpk package.
49
a driver for AMD PC-NET cards in the pcntpk package.
50
 
50
 
51
You need to get the packet driver for your card onto the machine, and load it.
51
You need to get the packet driver for your card onto the machine, and load it.
52
Then, you should be able to access the internet and get anything else you need
52
Then, you should be able to access the internet and get anything else you need
53
using wget, htget, gopherus and other network-enabled applications.
53
using wget, htget, gopherus and other network-enabled applications.
54
 
54
 
55
Note that packet drivers are mostly available for old-ish interfaces. If you
55
Note that packet drivers are mostly available for old-ish interfaces. If you
56
have some modern ethernet card, then there might not be a packet driver
56
have some modern ethernet card, then there might not be a packet driver
57
available for it.
57
available for it.
58
 
58
 
59
%hFILE SHARING
59
%hFILE SHARING
60
 
60
 
61
Perhaps these links could provide some pointers:
61
Perhaps these links could provide some pointers:
62
<http://wiki.freedos.org/wiki/index.php/Networking_FreeDOS_-_MS_Client>
62
<http://wiki.freedos.org/wiki/index.php/Networking_FreeDOS_-_MS_Client>
63
<https://www.lazybrowndog.net/freedos/virtualbox/?page_id=374>
63
<https://www.lazybrowndog.net/freedos/virtualbox/?page_id=374>
64
 
64
 
65
There is also EtherDFS, which is a very lightweight and easy solution for
65
There is also EtherDFS, which is a very lightweight and easy solution for
66
file-sharing between DOS and Linux (but it does require a Linux PC and some
66
file-sharing between DOS and Linux (but it does require a Linux PC and some
67
basic understanding of how Linux works):
67
basic understanding of how Linux works):
68
<http://etherdfs.sourceforge.net/>
68
<http://etherdfs.sourceforge.net/>
69
 
69
 
70
%hVIRTUALBOX - PACKET DRIVER
70
%hVIRTUALBOX - PACKET DRIVER
71
 
71
 
72
VirtualBox is able to emulate an AMD PC-NET NIC (you need to make sure of that
72
VirtualBox is able to emulate an AMD PC-NET NIC (you need to make sure of that
73
in the configuration of your VM, VirtualBox calls it "PCnet-FAST III" and it
73
in the configuration of your VM, VirtualBox calls it "PCnet-FAST III" and it
74
should be set to "NAT"). Then, in SvarDOS you have to install the pcntpk.zip
74
should be set to "NAT"). Then, in SvarDOS you have to install the pcntpk.zip
75
package - you don't even need to download it, it's already present on the
75
package - you don't even need to download it, it's already present on the
76
installation image so it should be as simple as that:
76
installation image so it should be as simple as that:
77
 
77
 
78
pkg install a:\pcntpk.zip
78
pkg install a:\pcntpk.zip
79
 
79
 
80
Finally, load it as such:
80
Finally, load it as such:
81
 
81
 
82
C:\DRIVERS\PCNTPK\PCNTPK INT=0x60
82
C:\DRIVERS\PCNTPK\PCNTPK INT=0x60
83
 
83
 
84
...and that's it. From now on, you should be able to search through the
84
...and that's it. From now on, you should be able to search through the
85
available online packages and install extra software, for example:
85
available online packages and install extra software, for example:
86
 
86
 
87
pkgnet pull gopherus
87
pkgnet pull gopherus
88
pkg install gopherus.zip
88
pkg install gopherus.zip
89
 
89
 
90
(gopherus is a gopher browser)
90
(gopherus is a gopher browser)
91
 
91
 
92
To search through the list of available packages in the online repository, use
92
To search through the list of available packages in the online repository, use
93
that:
93
that:
94
 
94
 
95
pkgnet search your_search_term
95
pkgnet search your_search_term
96
 
96
 
97
%hHow do I get in touch with the project's community?
97
%hHow do I get in touch with the project's community?
98
 
98
 
99
The recommended way to contact the SvarDOS community is through the project's
99
The recommended way to contact the SvarDOS community is through the project's
100
mailing list: <https://lists.osdn.me/mailman/listinfo/svardos-users>
100
mailing list: <https://lists.osdn.me/mailman/listinfo/svardos-users>
101
 
101
 
102
The project's web homepage is <http://svardos.osdn.io>
102
The project's web homepage is <http://svardos.osdn.io>
103
 
103
 
104
Package files provide an easy way to manage software on SvarDOS. These
104
Package files provide an easy way to manage software on SvarDOS. These
105
packages must adhere to a strict convention so they can be handled properly
105
packages must adhere to a strict convention so they can be handled properly
106
by the SvarDOS package manager.
106
by the SvarDOS package manager.
107
 
107
 
108
 
108
 
109
%hPackage filenames
109
%hPackage filenames
110
 
110
 
111
Packages names must follow some basic rules. They shall be max. 8 letters long
111
Packages names must follow some basic rules. They shall be max. 8 letters long
112
(but should not be too short either, since a 1 or 2-letters package name might
112
(but should not be too short either, since a 1 or 2-letters package name might
113
be confusing), and must not be composed of characters other than a-b, 0-9 and
113
be confusing), and must not be composed of characters other than a-b, 0-9 and
114
'_'. This for backward compatibility with short file names (8+3) and ISO 9660
114
'_'. This for backward compatibility with short file names (8+3) and ISO 9660
115
file systems (used on CDROMs). The package filename is always followed by the
115
file systems (used on CDROMs). The package filename is always followed by the
116
.ZIP extension.
116
.ZIP extension.
117
 
117
 
118
 
118
 
119
%hPackage files
119
%hPackage files
120
 
120
 
121
SvarDOS uses ZIP files as its package file format. This format has been chosen
121
SvarDOS uses ZIP files as its package file format. This format has been chosen
122
because ZIP files under DOS have become the de facto way to distribute
122
because ZIP files under DOS have become the de facto way to distribute
123
collections of files. Also, the ZIP file format is well documented, well
123
collections of files. Also, the ZIP file format is well documented, well
124
supported, and in the public domain.
124
supported, and in the public domain.
125
 
125
 
126
Here below is the recommended command line that can be used to create a
126
Here below is the recommended command line that can be used to create a
127
package for a program named EXAMPLE using info-zip:
127
package for a program named EXAMPLE using info-zip:
128
 
128
 
129
  zip -9rkDX EXAMPLE.ZIP subdir1 subdir2 ... subdirN
129
  zip -9rkDX EXAMPLE.ZIP subdir1 subdir2 ... subdirN
130
 
130
 
131
If you are using 7za to create your packages, then use this:
131
If you are using 7za to create your packages, then use this:
132
 
132
 
133
  7za a -mm=deflate -mx=9 -tzip EXAMPLE.ZIP subdir1 subdir2 ... subdirN
133
  7za a -mm=deflate -mx=9 -tzip EXAMPLE.ZIP subdir1 subdir2 ... subdirN
134
 
134
 
135
 
135
 
136
%hPackage directory structure
136
%hPackage directory structure
137
 
137
 
138
The directory structure of a package depends on the type of packages.
138
The directory structure of a package depends on the type of packages.
139
For "core" packages, we have this:
139
For "core" packages, we have this:
140
 
140
 
141
  APPINFO            Put the program's LSM file here
141
  APPINFO            Put the program's LSM file here
142
  BIN                Binaries, such as exe and com files
142
  BIN                Binaries, such as exe and com files
143
  DOC\PKGNAME        Package documentation
143
  DOC\PKGNAME        Package documentation
144
  HELP               Used ONLY by the "help" package
144
  HELP               Used ONLY by the "help" package
145
  NLS\PKGNAME        Localizations (NLS language files) of the package
145
  NLS\PKGNAME        Localizations (NLS language files) of the package
146
  SOURCE\PKGNAME     The source code (optional)
146
  SOURCE\PKGNAME     The source code (optional)
147
 
147
 
148
Non-core packages use a slightly different directory organization. For
148
Non-core packages use a slightly different directory organization. For
149
example, if we were to consider a package FOO, we might end up with the
149
example, if we were to consider a package FOO, we might end up with the
150
following structure:
150
following structure:
151
 
151
 
152
  APPINFO\FOO.LSM    Package meta file for the FOO program
152
  APPINFO\FOO.LSM    Package meta file for the FOO program
153
  PROGS\FOO\FOO.EXE  The program's executable
153
  PROGS\FOO\FOO.EXE  The program's executable
154
  PROGS\FOO\FOO.TXT  Some documentation
154
  PROGS\FOO\FOO.TXT  Some documentation
155
  PROGS\FOO\FILE.DAT Data file used by the FOO program
155
  PROGS\FOO\FILE.DAT Data file used by the FOO program
156
  SOURCE\FOO\*       here would be stored the foo's source code (optional)
156
  SOURCE\FOO\*       here would be stored the foo's source code (optional)
157
 
157
 
158
Note the 'PROGS' directory above. This is a category to which the package
158
Note the 'PROGS' directory above. This is a category to which the package
159
belong. The package installer might change this directory at install time,
159
belong. The package installer might change this directory at install time,
160
depending on the user's preferences. Possible categories are listed below:
160
depending on the user's preferences. Possible categories are listed below:
161
 
161
 
162
Category | Description
162
Category | Description
163
DEVEL    | Development tools (mostly compilers)
163
DEVEL    | Development tools (mostly compilers)
164
DRIVERS  | Drivers
164
DRIVERS  | Drivers
165
GAMES    | Games
165
GAMES    | Games
166
PROGS    | User programs, tools...
166
PROGS    | User programs, tools...
167
 
167
 
168
Note: "DOC", "NLS", "BIN" and "HELP" directories are strictly reserved to
168
Note: "DOC", "NLS", "BIN" and "HELP" directories are strictly reserved to
169
      CORE packages.
169
      CORE packages.
170
 
170
 
171
 
171
 
172
%hLSM meta-data files
172
%hLSM meta-data files
173
 
173
 
174
Every package MUST contain an LSM file in its "APPINFO" directory. This LSM
174
Every package MUST contain an LSM file in its "APPINFO" directory. This LSM
175
file is a text file that contains basic information about the package. Its
175
file is a text file that contains basic information about the package. Its
176
format is very simple, it must contain at least two lines:
176
format is very simple, it must contain at least two lines:
177
 
177
 
178
  version: x.y.z
178
  version: x.y.z
179
  description: package description
179
  description: package description
180
 
180
 
181
Any other lines are ignored by the SvarDOS package manager.
181
Any other lines are ignored by the SvarDOS package manager.
182
 
182
 
183
 
183
 
184
%hPackage versions
184
%hPackage versions
185
 
185
 
186
The version present in the LSM file is meant to reflect the version of the
186
The version present in the LSM file is meant to reflect the version of the
187
packaged software, but it may happen that a package needs to be changed to
187
packaged software, but it may happen that a package needs to be changed to
188
fix a strictly packaging-related issue (for example a forgotten documentation
188
fix a strictly packaging-related issue (for example a forgotten documentation
189
file or a recompilation of the binary using a better set of flags...). In such
189
file or a recompilation of the binary using a better set of flags...). In such
190
case, the version of the software does not change, but the version of the
190
case, the version of the software does not change, but the version of the
191
package itself needs to change so users know something changed. That's what
191
package itself needs to change so users know something changed. That's where
192
"SvarDOS revisions" come in. A version string is basically following such
192
"SvarDOS revisions" come in. A version string is basically following such
193
format:
193
format:
194
 
194
 
195
  UPSTREAM_VER[+SVARREV]
195
  UPSTREAM_VER[+SVARREV]
196
 
196
 
197
UPSTREAM_VER is the exact version string advertised by the software. It may
197
UPSTREAM_VER is the exact version string advertised by the software. It may
198
be pretty much anything. This upstream version may be optionally followed by a
198
be pretty much anything. This upstream version may be optionally followed by a
199
plus sign and the SvarDOS revision. In the even that the upstream version
199
plus sign and the SvarDOS revision. In the event that the upstream version
200
already contains a plus sign, then SvarDOS revision is delimited with a tilde.
200
already contains a plus sign, then SvarDOS revision is delimited with a tilde.
201
 
201
 
202
The SvarDOS revision starts at 0 and increments each time that the given
202
The SvarDOS revision starts at 0 and increments each time that the given
203
upstream revision is repackaged. The SvarDOS revision restarts whenever the
203
upstream revision is repackaged. The SvarDOS revision restarts whenever the
204
upstream version changes. The SvarDOS revision of 0 is always hidden.
204
upstream version changes. The SvarDOS revision of 0 is always hidden.
205
 
205
 
206
Examples:
206
Examples:
207
 
207
 
208
FDISK 1.54      <- originally packaged version
208
FDISK 1.54      <- originally packaged version
209
FDISK 1.54+1    <- package has been changed, but not the upstream version
209
FDISK 1.54+1    <- package has been changed, but not the upstream version
210
FDISK 1.55      <- upstream version increased, so SvarDOS rev restarts
210
FDISK 1.55      <- upstream version increased, so SvarDOS rev restarts
211
FDISK 1.55+1    <- new version of the package, but still contains FDISK 1.55
211
FDISK 1.55+1    <- new version of the package, but still contains FDISK 1.55
212
FDISK 1.55+2    <- another new version of the package, etc
212
FDISK 1.55+2    <- another new version of the package, etc
213
 
213
 
214
                     %h*** Packages inclusion rules ***
214
                     %h*** Packages inclusion rules ***
215
 
215
 
216
SvarDOS is a DOS distribution that comes with plenty of third-party packages.
216
SvarDOS is a DOS distribution that comes with plenty of third-party packages.
217
With time, packages get updated and new packages are being added. However,
217
With time, packages get updated and new packages are being added. However,
218
SvarDOS is not a shareware distribution CD, nor it is a "warez" production of
218
SvarDOS is not a shareware distribution CD, nor it is a "warez" production of
219
any kind. Every software that is distributed within SvarDOS must comply to a
219
any kind. Every software that is distributed within SvarDOS must comply to a
220
few common sense rules, as listed below.
220
few common sense rules, as listed below.
221
 
221
 
222
%hObjective usefulness
222
%hObjective usefulness
223
 
223
 
224
The distributed software must be useful. There is no point in distributing
224
The distributed software must be useful. There is no point in distributing
225
hundreds of "Hello World" programs for example. The software must be useable
225
hundreds of "Hello World" programs for example. The software must be useable
226
as a finished product and provide some features that are proven to be seeked
226
as a finished product and provide some features that are proven to be seeked
227
by at least a subset of the user base. Games are considered useful, as long as
227
by at least a subset of the user base. Games are considered useful, as long as
228
they fulfill their goal of providing actual distraction.
228
they fulfill their goal of providing actual distraction.
229
 
229
 
230
%hReasonable quality
230
%hReasonable quality
231
 
231
 
232
The packaged program must exhibit traits of reasonable quality. This means
232
The packaged program must exhibit traits of reasonable quality. This means
233
that it should have a deterministic behavior, and be free of undesirable
233
that it should have a deterministic behavior, and be free of undesirable
234
side-effects to the user's computer (not crashing, freezing, resulting in
234
side-effects to the user's computer (not crashing, freezing, resulting in
235
unexpected loss of data, etc). It should also provide clear, non-ambiguous
235
unexpected loss of data, etc). It should also provide clear, non-ambiguous
236
instructions to the user about how the program is meant to be used.
236
instructions to the user about how the program is meant to be used.
237
 
237
 
238
%hFree (no cost)
238
%hFree (no cost)
239
 
239
 
240
The program must be free - that is, available at no financial cost. It doesn't
240
The program must be free - that is, available at no financial cost. It doesn't
241
have to comply to an OSI-approved license or be open-source (even if that
241
have to comply to an OSI-approved license or be open-source (even if that
242
would be preferred), but at the very least it must be free for personal,
242
would be preferred), but at the very least it must be free for personal,
243
non-commercial use. This includes "Freeware", "postcardware", etc. "Shareware"
243
non-commercial use. This includes "Freeware", "postcardware", etc. "Shareware"
244
is acceptable, too, as long as the shareware version of the program fullfills
244
is acceptable, too, as long as the shareware version of the program fullfills
245
the conditions of usefulness, quality and allows repackaged distribution.
245
the conditions of usefulness, quality and allows repackaged distribution.
246
 
246
 
247
%hDistribution allowed
247
%hDistribution allowed
248
 
248
 
249
The program must allow distribution without restrictions, and must not forbid
249
The program must allow distribution without restrictions, and must not forbid
250
being redistributed in a re-packaged form.
250
being redistributed in a re-packaged form.
251
 
251
 
252
 
252
 
253
%!CORE EXCEPTIONS
253
%!CORE EXCEPTIONS
254
 
254
 
255
While the above rules are valid for all third-party packages that may be
255
While the above rules are valid for all third-party packages that may be
256
distributed with SvarDOS, it does NOT apply to the "CORE" packages that contain
256
distributed with SvarDOS, it does NOT apply to the "CORE" packages that contain
257
the operating system itself. SvarDOS being a free (as in "libre") operating
257
the operating system itself. SvarDOS being a free (as in "libre") operating
258
system, all CORE packages must comply to a libre-like license - be it GPL, BSD,
258
system, all CORE packages must comply to a libre-like license - be it GPL, BSD,
259
MIT, public domain, or anything that allows for unrestricted distribution,
259
MIT, public domain, or anything that allows for unrestricted distribution,
260
provides source code and allows to modify it freely.
260
provides source code and allows to modify it freely.
261
 
261
 
262
%hSvarDOS licensing
262
%hSvarDOS licensing
263
 
263
 
264
SvarDOS is a DOS distribution made of many different software bricks, hence a
264
SvarDOS is a DOS distribution made of many different software bricks, hence a
265
single license can hardly be applied to all. However, the CORE system (that
265
single license can hardly be applied to all. However, the CORE system (that
266
is the SvarDOS installer, bootable images and all CORE packages) is carefully
266
is the SvarDOS installer, bootable images and all CORE packages) is carefully
267
assembled from software that is "free" (as in "Freedom"), ie. that grants the 3
267
assembled from software that is "free" (as in "Freedom"), ie. that grants the 3
268
basic FOSS liberties: freedom to use, modify, and redistribute. This includes,
268
basic FOSS liberties: freedom to use, modify, and redistribute. This includes,
269
but is not necessarily limited to, software released under following licenses:
269
but is not necessarily limited to, software released under following licenses:
270
GNU GPLv2, GNU GPLv3, BSD, MIT, EUPL and Public domain.
270
GNU GPLv2, GNU GPLv3, BSD, MIT, EUPL and Public domain.
271
 
271
 
272
Note that, while the above applies to the core of the SvarDOS distribution, it
272
Note that, while the above applies to the core of the SvarDOS distribution, it
273
does not cover all extra packages. Additional software packages may or may not
273
does not cover all extra packages. Additional software packages may or may not
274
be FOSS, they are only guaranteed to be "gratis for non-commercial use".
274
be FOSS, they are only guaranteed to be "gratis for non-commercial use".
275
 
275
 
276
Read more: %lpkgrules.ama:Packages inclusion rules
276
Read more: %lpkgrules.ama:Packages inclusion rules
277
 
277
 
278
%hWhat does "Svarog" mean?
278
%hWhat does "Svarog" mean?
279
 
279
 
280
The "Svar" in SvarDOS refers to "Svarog". SvarDOS is the successor of the
280
The "Svar" in SvarDOS refers to "Svarog". SvarDOS is the successor of the
281
Svarog86 and Svarog386 distributions.
281
Svarog86 and Svarog386 distributions.
282
 
282
 
283
Excerpt from Wikipedia, the free encyclopedia:
283
Excerpt from Wikipedia, the free encyclopedia:
284
 
284
 
285
 Svarog is a Slavic deity (...) identified with Hephaestus, the god of the
285
 Svarog is a Slavic deity (...) identified with Hephaestus, the god of the
286
 blacksmith in ancient Greek religion (...), some researchers conclude that
286
 blacksmith in ancient Greek religion (...), some researchers conclude that
287
 Svarog is the Slavic god of celestial fire and of blacksmithing.
287
 Svarog is the Slavic god of celestial fire and of blacksmithing.
288
 
288
 
289
 The only mention of Svarog comes from the Hypatian Codex, a 15th-century
289
 The only mention of Svarog comes from the Hypatian Codex, a 15th-century
290
 compilation of several much older documents from the Ipatiev Monastery in
290
 compilation of several much older documents from the Ipatiev Monastery in
291
 Russia. (...) The complete passage, reconstructed from several manuscripts,
291
 Russia. (...) The complete passage, reconstructed from several manuscripts,
292
 translates as follows:
292
 translates as follows:
293
 
293
 
294
 "(Then) began his reign Feosta (Hephaestus), whom the Egyptians called Svarog
294
 "(Then) began his reign Feosta (Hephaestus), whom the Egyptians called Svarog
295
  ... during his rule, from the heavens fell the smith's prongs and weapons
295
  ... during his rule, from the heavens fell the smith's prongs and weapons
296
  were forged for the first time; before that, (people) fought with clubs and
296
  were forged for the first time; before that, (people) fought with clubs and
297
  stones."
297
  stones."
298
 
298
 
299
        %h*** Why would I want to use SvarDOS instead of FreeDOS? ***
299
        %h*** Why would I want to use SvarDOS instead of FreeDOS? ***
300
 
300
 
301
The FreeDOS project is a free, open-source operating system that aims to be
301
The FreeDOS project is a free, open-source operating system that aims to be
302
100%% compatible with MS-DOS. And it is awesome. So why would I want to use
302
100%% compatible with MS-DOS. And it is awesome. So why would I want to use
303
SvarDOS instead?
303
SvarDOS instead?
304
 
304
 
305
%hLong release cycles
305
%hLong release cycles
306
 
306
 
307
The FreeDOS project began 29 June 1994. Version 1.0 came around in 2006.
307
The FreeDOS project began 29 June 1994. Version 1.0 came around in 2006.
308
Version 1.1 has been released in 2012, and the version 1.2 followed in
308
Version 1.1 has been released in 2012, and the version 1.2 followed in
309
December 2016. This translates roughly to a 5-years release cycle. Granted,
309
December 2016. This translates roughly to a 5-years release cycle. Granted,
310
the DOS scene is not as active as it used to be, but still, many things happen
310
the DOS scene is not as active as it used to be, but still, many things happen
311
during a few years. Such version-centric approach also requires users to
311
during a few years. Such version-centric approach also requires users to
312
perform full-system upgrades every now and then.
312
perform full-system upgrades every now and then.
313
 
313
 
314
SvarDOS is very different in this regard: there are no versions at all.
314
SvarDOS is very different in this regard: there are no versions at all.
315
Whenever a new program is included into or updated within the distribution, it
315
Whenever a new program is included into or updated within the distribution, it
316
becomes immediately available through the SvarDOS reposoitory and may be
316
becomes immediately available through the SvarDOS reposoitory and may be
317
pulled either through the SvarDOS website or SvarDOS' pkgnet tool. Already
317
pulled either through the SvarDOS website or SvarDOS' pkgnet tool. Already
318
installed systems can be easily kept up-to-date using the distribution's
318
installed systems can be easily kept up-to-date using the distribution's
319
package manager.
319
package manager.
320
 
320
 
321
%hConstraints of legal nature
321
%hConstraints of legal nature
322
 
322
 
323
The FreeDOS project mimicks a proprietary operating system, with all its APIs
323
The FreeDOS project mimicks a proprietary operating system, with all its APIs
324
and peculiarities. For this reason, the project always had to be extremely
324
and peculiarities. For this reason, the project always had to be extremely
325
careful about what can and what cannot be included within the FreeDOS
325
careful about what can and what cannot be included within the FreeDOS
326
distribution. As a result, only "free software" (as in freedom, think GPL,
326
distribution. As a result, only "free software" (as in freedom, think GPL,
327
BSD, and so on) can make its way into the official distribution. While such
327
BSD, and so on) can make its way into the official distribution. While such
328
cautious approach is sane and legally safe, it is far from practical for
328
cautious approach is sane and legally safe, it is far from practical for
329
users. Allowing exclusively free software means that a high number of useful
329
users. Allowing exclusively free software means that a high number of useful
330
programs, tools and games are left behind. For example "freeware" tools (as in
330
programs, tools and games are left behind. For example "freeware" tools (as in
331
"gratis but no source included") are a no-go. Even open-source programs can be
331
"gratis but no source included") are a no-go. Even open-source programs can be
332
rejected, if they do not clearly state that they comply with an OSI-approved
332
rejected, if they do not clearly state that they comply with an OSI-approved
333
license.
333
license.
334
 
334
 
335
SvarDOS, on the other hand, is much more liberal about including packages.
335
SvarDOS, on the other hand, is much more liberal about including packages.
336
Basically, anything that is objectively useful, of reasonable quality,
336
Basically, anything that is objectively useful, of reasonable quality,
337
free/gratis and can be legally distributed in the form of a package, can be
337
free/gratis and can be legally distributed in the form of a package, can be
338
included in SvarDOS. The only exception is for the "core" system (ie. the
338
included in SvarDOS. The only exception is for the "core" system (ie. the
339
operating system itself), which must be based exclusively on free/libre
339
operating system itself), which must be based exclusively on free/libre
340
software. Read more about %lpkgrules.ama:SvarDOS package inclusion rules%t.
340
software. Read more about %lpkgrules.ama:SvarDOS package inclusion rules%t.
341
 
341
 
342
%hFreeDOS included!
342
%hFreeDOS included!
343
 
343
 
344
It must be noted, that altough the goals of SvarDOS and FreeDOS may be
344
It must be noted, that altough the goals of SvarDOS and FreeDOS may be
345
slightly different, SvarDOS wouldn't exist without FreeDOS. Indeed, SvarDOS
345
slightly different, SvarDOS wouldn't exist without FreeDOS. Indeed, SvarDOS
346
uses the excellent FreeDOS kernel, as well as a few other utilities borrowed
346
uses the excellent FreeDOS kernel, as well as a few other utilities borrowed
347
from the FreeDOS ecosystem.
347
from the FreeDOS ecosystem.
348
 
348
 
349
Read also: %lhistory.ama:SvarDOS history
349
Read also: %lhistory.ama:SvarDOS history
350
 
350
 
351
%hSvarDOS origins (history from the point of view of its creator)
351
%hSvarDOS origins (history from the point of view of its creator)
352
 
352
 
353
Mateusz Viste says:
353
Mateusz Viste says:
354
 
354
 
355
In the years 2005-2015 I used to perform packaging work for the FreeDOS
355
In the years 2005-2015 I used to perform packaging work for the FreeDOS
356
project. I wasn't pleased with the packaging tool that FreeDOS used back then
356
project. I wasn't pleased with the packaging tool that FreeDOS used back then
357
(FDPKG), so in 2012 I started working on a new package manager, with network
357
(FDPKG), so in 2012 I started working on a new package manager, with network
358
support, automatic updates, etc - I named it FDNPKG. Later I also devised a
358
support, automatic updates, etc - I named it FDNPKG. Later I also devised a
359
scripted way of generating an "always up to date" FreeDOS CD that I
359
scripted way of generating an "always up to date" FreeDOS CD that I
360
unimaginatively called "all_cd.iso". This CD included FDNPKG and all the
360
unimaginatively called "all_cd.iso". This CD included FDNPKG and all the
361
FreeDOS packages available at the given moment.
361
FreeDOS packages available at the given moment.
362
 
362
 
363
I still wasn't satisfied with how FreeDOS clings to its notion of "releases"
363
I still wasn't satisfied with how FreeDOS clings to its notion of "releases"
364
and that it cannot include some software because of licensing issues, so in
364
and that it cannot include some software because of licensing issues, so in
365
2016 I decided to create my own distribution, that I called Svarog386 (there
365
2016 I decided to create my own distribution, that I called Svarog386 (there
366
was also a Svarog86 project that I had created a couple months earlier,
366
was also a Svarog86 project that I had created a couple months earlier,
367
dedicated to 8086 machines). Svarog386 naturally relied on the FreeDOS kernel
367
dedicated to 8086 machines). Svarog386 naturally relied on the FreeDOS kernel
368
and used the FDNPKG package manager.
368
and used the FDNPKG package manager.
369
 
369
 
370
Then, in 2021, I found it increasingly annoying to look after two separate
370
Then, in 2021, I found it increasingly annoying to look after two separate
371
distributions. Over time, FDNPKG also became a huge piece of protected mode
371
distributions. Over time, FDNPKG also became a huge piece of protected mode
372
code, and although it was magnificent code, I was no longer happy with it: too
372
code, and although it was magnificent code, I was no longer happy with it: too
373
many features, too much data processing, too much memory required... In a
373
many features, too much data processing, too much memory required... In a
374
word: too much fluff. I longed for something simpler, that would do perhaps
374
word: too much fluff. I longed for something simpler, that would do perhaps
375
less, but with more transparency towards the user - and something that would
375
less, but with more transparency towards the user - and something that would
376
work in real mode with not much RAM, so it could run even on ancient 8086
376
work in real mode with not much RAM, so it could run even on ancient 8086
377
machines.
377
machines.
378
 
378
 
379
The result of these thoughts was SvarDOS: a distribution that replaced both
379
The result of these thoughts was SvarDOS: a distribution that replaced both
380
Svarog86 and Svarog386, and that came with its own package manager - a much
380
Svarog86 and Svarog386, and that came with its own package manager - a much
381
simpler (and in my opinion much more elegant) tool than FDNPKG.
381
simpler (and in my opinion much more elegant) tool than FDNPKG.
382
 
382
 
383
%hSvarDOS: The project's TODO list
383
%hSvarDOS: The project's TODO list
384
 
384
 
385
* Replace the default (FreeDOS) edit with a smaller alternative (?) that is:
385
* Replace the default (FreeDOS) edit with a smaller alternative (?) that is:
386
  - TINY (a dozen of KiBs or so)
386
  - TINY (a dozen of KiBs or so)
387
  - relatively simple: no need for advanced text editing features, just enough
387
  - relatively simple: no need for advanced text editing features, just enough
388
    to comfortably edit small (<64K) configuration files
388
    to comfortably edit small (<64K) configuration files
389
  - 8086-compatible and have modest memory requirements
389
  - 8086-compatible and have modest memory requirements
390
  - multi-lang (kitten library)
390
  - multi-lang (kitten library)
391
  - capable of (limited) copy/pasting between two files
391
  - capable of (limited) copy/pasting between two files
392
 
392
 
393
* replace FreeCOM by SvarCOM
393
* replace FreeCOM by SvarCOM
394
 
394
 
395
* improve installer so user can choose the target disk
395
* improve installer so user can choose the target disk
396
 
396
 
397
* COUNTRY settings shall be configurable by localcfg (and user should be
397
* COUNTRY settings shall be configurable by localcfg (and user should be
398
  able to define local preferences through an easy-to-use wizard during
398
  able to define local preferences through an easy-to-use wizard during
399
  install time)
399
  install time)
400
 
400
 
401
* out-of-the box networking support:
401
* out-of-the box networking support:
402
 - requires shipping lots of packet drivers with SvarDOS... Should CRYNWR be
402
 - requires shipping lots of packet drivers with SvarDOS... Should CRYNWR be
403
   part of the install set? Or only selected, most popular drivers? Or maybe
403
   part of the install set? Or only selected, most popular drivers? Or maybe
404
   this could be provided as a "supplemental" floppy disk?
404
   this could be provided as a "supplemental" floppy disk?
405
 - user should be asked for its NIC model at install time
405
 - user should be asked for its NIC model at install time
406
 - installer could also ask for a basic DHCP / static configuration
406
 - installer could also ask for a basic DHCP / static configuration
407
 
407
 
408
* install.com - MBR changes could be done by the installer itself instead of
408
* install.com - MBR changes could be done by the installer itself instead of
409
  system()-calling fdisk
409
  system()-calling fdisk
410
 
410
 
411
* help - write more useful content!
411
* help - write more useful content!
412
  - basic DOS commands (directories, copy/rename/delete files, etc)
412
  - basic DOS commands (directories, copy/rename/delete files, etc)
413
  - common configuration files (autoexec, config.sys, pkg.cfg, wattcp.cfg..)
413
  - common configuration files (autoexec, config.sys, pkg.cfg, wattcp.cfg..)
414
  - networking guide
414
  - networking guide
415
  - memory management basics
415
  - memory management basics
416
  - ...
416
  - ...
417
 
417
 
418
* test new versions of software and update packages accordingly. special care
418
* test new versions of software and update packages accordingly. special care
419
  must be taken for core things: kernel, command.com, fdisk, himemx...
419
  must be taken for core things: kernel, command.com, fdisk, himemx...
420
 
420
 
421
* add new, useful software to the SvarDOS repository (see the %lpkgrules.ama:rules%t)
421
* add new, useful software to the SvarDOS repository (see the %lpkgrules.ama:rules%t)
422
 
422
 
423
* further NLS support, improvements of existing translations and adding new
423
* further NLS support, improvements of existing translations and adding new
424
  languages -> would be nice to have some kind of web interface for submitting
424
  languages -> would be nice to have some kind of web interface for submitting
425
  and reviewing translations
425
  and reviewing translations
426
 
426
 
427
* all user-facing CORE packages should be NLS-aware (translatable)
427
* all user-facing CORE packages should be NLS-aware (translatable)
428
 
428
 
429
* possibly plenty of other things
429
* possibly plenty of other things
430
 
430
 
431
 
431
 
432
                        =============================
432
                        =============================
433
                          %hWanna help? %lcontact.ama:Get in touch!
433
                          %hWanna help? %lcontact.ama:Get in touch!
434
                        =============================
434
                        =============================
435
 
435
 
436
%h8086 compatibility
436
%h8086 compatibility
437
 
437
 
438
This page presents the 8086-compatibility status of each SvarDOS "CORE"
438
This page presents the 8086-compatibility status of each SvarDOS "CORE"
439
package.
439
package.
440
 
440
 
441
%bPACKAGE     VERSION   EXECUTABLE BSUM  8086 ok?*   Checked on
441
%bPACKAGE     VERSION   EXECUTABLE BSUM  8086 ok?*   Checked on
442
amb        20201223      amb.com A11A     yes      2022-01-30
442
amb        20201223      amb.com A11A     yes      2022-01-30
443
attrib          2.1   attrib.com 2C15     yes      2022-01-30
443
attrib          2.1   attrib.com 2C15     yes      2022-01-30
444
chkdsk   0.9.2 beta   chkdsk.exe E2A9     yes      2022-01-30
444
chkdsk   0.9.2 beta   chkdsk.exe E2A9     yes      2022-01-30
445
choice          4.4   choice.exe 8311     yes      2022-01-30
445
choice          4.4   choice.exe 8311     yes      2022-01-30
446
command  0.84 pre 2  command.com E64E     yes      2022-01-30  01)
446
command  0.84 pre 2  command.com E64E     yes      2022-01-30  01)
447
cpidos          3.0         none   -       -       2022-01-30
447
cpidos          3.0         none   -       -       2022-01-30
448
debug          1.25    debug.com 2E6B     yes      2022-01-31
448
debug          1.25    debug.com 2E6B     yes      2022-01-31
449
debug          1.25   debugx.com EA59     yes      2022-01-31
449
debug          1.25   debugx.com EA59     yes      2022-01-31
450
deltree  1.02g.mrlg  deltree.com E20D      no      2022-01-30  02)
450
deltree  1.02g.mrlg  deltree.com E20D      no      2022-01-30  02)
451
deltree       1.02g  deltree.com AB16     yes      2022-01-31  03)
451
deltree       1.02g  deltree.com AB16     yes      2022-01-31  03)
452
devload        3.25  devload.com B91B     yes      2022-01-30
452
devload        3.25  devload.com B91B     yes      2022-01-30
453
diskcopy  beta 0.95 diskcopy.exe 3558     yes      2022-01-30
453
diskcopy  beta 0.95 diskcopy.exe 3558     yes      2022-01-30
454
display       0.13b  display.exe 5903     yes      2022-01-30
454
display       0.13b  display.exe 5903     yes      2022-01-30
455
dosfsck       2.11c  dosfsck.exe 1CB8     yes      2022-01-30
455
dosfsck       2.11c  dosfsck.exe 1CB8     yes      2022-01-30
456
edit           0.9a     edit.exe 8F1A     yes      2022-01-30
456
edit           0.9a     edit.exe 8F1A     yes      2022-01-30
457
fc             3.03       fc.exe E718     yes      2022-01-30
457
fc             3.03       fc.exe E718     yes      2022-01-30
458
fdapm     2009sep11    fdapm.com A74A     yes      2022-01-30
458
fdapm     2009sep11    fdapm.com A74A     yes      2022-01-30
459
fdapm     2009sep11 idledpms.com C8BD     yes      2022-01-30
459
fdapm     2009sep11 idledpms.com C8BD     yes      2022-01-30
460
fdisk         1.3.4    fdisk.exe F098      no      2022-01-30  04)
460
fdisk         1.3.4    fdisk.exe F098      no      2022-01-30  04)
461
fdisk         1.3.4    fdisk.exe 98BF     yes      2022-01-31  05)
461
fdisk         1.3.4    fdisk.exe 98BF     yes      2022-01-31  05)
462
find       3.0a LFN     find.com A9DA     yes      2022-01-30
462
find       3.0a LFN     find.com A9DA     yes      2022-01-30
463
format        0.91v   format.exe F11E     yes      2022-01-30
463
format        0.91v   format.exe F11E     yes      2022-01-30
464
help       20220124         none   -       -       2022-01-30
464
help       20220124         none   -       -       2022-01-30
465
himemx         3.34   himemx.exe C8E6     yes      2022-01-30  06)
465
himemx         3.34   himemx.exe C8E6     yes      2022-01-30  06)
466
kernel         2042      sys.com BF43     yes      2022-01-30
466
kernel         2042      sys.com BF43     yes      2022-01-30
467
kernel         2042   kernel.sys A9B2     yes      2022-01-30
467
kernel         2042   kernel.sys A9B2     yes      2022-01-30
468
keyb           2.01     keyb.exe 945C     yes      2022-01-30
468
keyb           2.01     keyb.exe 945C     yes      2022-01-30
469
keyb_lay        3.1         none   -       -       2022-01-30
469
keyb_lay        3.1         none   -       -       2022-01-30
470
label       1.4b.ea    label.exe 1F5D     yes      2022-01-30
470
label       1.4b.ea    label.exe 1F5D     yes      2022-01-30
471
localcfg       0.90 localcfg.com E424     yes      2022-01-30
471
localcfg       0.90 localcfg.com E424     yes      2022-01-30
472
mem           1.11r      mem.exe 2BB8     yes      2022-01-30  07)
472
mem           1.11r      mem.exe 2BB8     yes      2022-01-30  07)
473
mode     2015-11-25     mode.com BA1E     yes      2022-01-30
473
mode     2015-11-25     mode.com BA1E     yes      2022-01-30
474
more            4.3     more.exe 729B     yes      2022-01-30
474
more            4.3     more.exe 729B     yes      2022-01-30
475
move           3.3a     move.exe D3E4     yes      2022-01-30
475
move           3.3a     move.exe D3E4     yes      2022-01-30
476
pkg        20210212      pkg.exe 9FAB     yes      2022-01-30
476
pkg        20210212      pkg.exe 9FAB     yes      2022-01-30
477
pkgnet     20220119   pkgnet.exe 3D2F     yes      2022-01-30
477
pkgnet     20220119   pkgnet.exe 3D2F     yes      2022-01-30
478
shsucdx        3.05  shcdx86.com 0A74     yes      2022-01-30
478
shsucdx        3.05  shcdx86.com 0A74     yes      2022-01-30
479
shsucdx        3.05  shsucdx.com E5A5     yes      2022-01-30  08)
479
shsucdx        3.05  shsucdx.com E5A5     yes      2022-01-30  08)
480
sort          1.5.1     sort.exe 21C2     yes      2022-01-30
480
sort          1.5.1     sort.exe 21C2     yes      2022-01-30
481
tree          3.7.2     tree.com 2370     yes      2022-01-30
481
tree          3.7.2     tree.com 2370     yes      2022-01-30
482
(pcntpk)      03.10   pcntpk.com 38C7     yes      2022-01-30
482
(pcntpk)      03.10   pcntpk.com 38C7     yes      2022-01-30
483
(udvd2)   30-Apr-13    udvd2.sys D3AB     yes      2022-01-30  09)
483
(udvd2)   30-Apr-13    udvd2.sys D3AB     yes      2022-01-30  09)
484
 
484
 
485
* Executable does its normal job or exits gracefully with a hint.
485
* Executable does its normal job or exits gracefully with a hint.
486
 
486
 
487
Notes:
487
Notes:
488
01) also has localized versions from cmd-de.com (German) to cmd-tr.com
488
01) also has localized versions from cmd-de.com (German) to cmd-tr.com
489
    (Turkish)
489
    (Turkish)
490
02) pce-ibmpc: undefined operation [C1 04] -> uncompressing with UPX
490
02) pce-ibmpc: undefined operation [C1 04] -> uncompressing with UPX
491
    made it work
491
    made it work
492
03) replaced BSUM E20D file; used UPX --8086 option
492
03) replaced BSUM E20D file; used UPX --8086 option
493
04) pce-ibmpc: undefined operation [C1 e1] -> needed a full rebuild
493
04) pce-ibmpc: undefined operation [C1 e1] -> needed a full rebuild
494
05) replaced BSUM F098 file; no -1 option for TC++; used UPX --8086 option
494
05) replaced BSUM F098 file; no -1 option for TC++; used UPX --8086 option
495
06) exits with "At least a 80386 is required."
495
06) exits with "At least a 80386 is required."
496
07) under pce-ibmpc reports 1,024K of conventional memory, but 0K free
496
07) under pce-ibmpc reports 1,024K of conventional memory, but 0K free
497
08) exits with "Must have at least a 386."
497
08) exits with "Must have at least a 386."
498
09) exits with "No 386+ CPU; UDVD2 not loaded!"
498
09) exits with "No 386+ CPU; UDVD2 not loaded!"
499
 
499
 
500
------------------------------------------------------------------------------
500
------------------------------------------------------------------------------
501
Article by Robert Riebisch
501
Article by Robert Riebisch
502
SVARDOS HELP SYSTEM ver 20220204
502
SVARDOS HELP SYSTEM ver 20220204
503
 
503