130 Commits

Author SHA1 Message Date
fbab20acc2 flood-it-fix-buttons-position
All checks were successful
Build system / Check kernel codestyle (pull_request) Successful in 28s
Build system / Build (pull_request) Successful in 5m42s
2025-04-03 12:26:21 +02:00
d6c44c6570 WebView 3.9
All checks were successful
Build system / Check kernel codestyle (pull_request) Successful in 31s
Build system / Build (pull_request) Successful in 6m27s
- new homepages
- fix clash on a wrong <kosicon> number
- set proper internal page sizes
2025-04-03 10:50:04 +02:00
b8a1487bab Fixed menu.dat (ru_RU) after moving the period app
All checks were successful
Build system / Check kernel codestyle (pull_request) Successful in 22s
Build system / Build (pull_request) Successful in 6m24s
Signed-off-by: Max Logaev <maxlogaev@proton.me>
2025-04-03 11:29:55 +03:00
00c2cfbcfc Period: Moved from IMG to ISO
All checks were successful
Build system / Check kernel codestyle (pull_request) Successful in 32s
Build system / Build (pull_request) Successful in 6m27s
2025-04-03 10:00:33 +02:00
c398a2bbf4 Unz: Fixed bug #27 (#190)
Reviewed-on: #190
Reviewed-by: Max Logaev <maxlogaev@proton.me>
Co-authored-by: leency <lipatov.kiril@gmail.com>
Co-committed-by: leency <lipatov.kiril@gmail.com>
2025-04-03 09:39:02 +02:00
58cf25fe43 menuetlibc: Fixed ef_exp.s (#177)
Fix for a similar problem: https://git.kolibrios.org/KolibriOS/kolibrios/commit/12a6b7f2

Reviewed-on: #177
Reviewed-by: Max Logaev <maxlogaev@proton.me>
Co-authored-by: IgorA <aie85playm@gmail.com>
Co-committed-by: IgorA <aie85playm@gmail.com>
2025-04-02 21:34:04 +02:00
8da45bab3e Eolite 5.32: Search fix (#191)
- LMB to open file, RMB to show in folder
- fix: correctly open folders
- fix UI: better list alignment
- Eolite: optimize OpenDir
- SelectList_ProcessMouse() better react on click

Reviewed-on: #191
Reviewed-by: Max Logaev <maxlogaev@proton.me>
Co-authored-by: leency <lipatov.kiril@gmail.com>
Co-committed-by: leency <lipatov.kiril@gmail.com>
2025-04-02 21:26:12 +02:00
5abc319817 Boxlib: the tree_list can use large fonts, fix line number error
All checks were successful
Build system / Check kernel codestyle (pull_request) Successful in 28s
Build system / Build (pull_request) Successful in 5m25s
2025-04-01 21:58:38 +02:00
ff625706c0 Eolite 5.31: (#187)
- fix: editbox edit text
- fix: remove unnecessary editbox form delete popin
- add: "Copy path" menu item
- add: "Search" to a burger menu

Reviewed-on: #187
Reviewed-by: Max Logaev <maxlogaev@proton.me>
Reviewed-by: rgimad <rgimad@noreply.localhost>
Co-authored-by: leency <lipatov.kiril@gmail.com>
Co-committed-by: leency <lipatov.kiril@gmail.com>
2025-03-31 22:40:54 +02:00
81dafb3025 Floot-It v3.0 (#181)
- adopt window size to screen size
- bigger fonts
- proper colored 'S' and 'L' buttons
- fix issue: after won the game clicks count always increased to max
- code refactoring, translate comments to English
- help updated

Reviewed-on: #181
Reviewed-by: Max Logaev <maxlogaev@proton.me>
Co-authored-by: leency <lipatov.kiril@gmail.com>
Co-committed-by: leency <lipatov.kiril@gmail.com>
2025-03-31 08:15:28 +02:00
58e2d0b844 Blocks: Added 2 models and 5 types of blocks (#180)
- Added 2 models (bird and castle);
- Added 5 types of blocks;
- Added block.asm to autobuild.

Co-authored-by: Max Logaev <maxlogaev@proton.me>
Reviewed-on: #180
Reviewed-by: Max Logaev <maxlogaev@proton.me>
Co-authored-by: IgorA <aie85playm@gmail.com>
Co-committed-by: IgorA <aie85playm@gmail.com>
2025-03-30 16:42:51 +02:00
7720e38868 NNP: removed dependency on libc library, clean code
All checks were successful
Build system / Check kernel codestyle (pull_request) Successful in 37s
Build system / Build (pull_request) Successful in 7m22s
2025-03-28 20:01:18 +01:00
02b2395ef1 Eolite 5.30: Added file search (#175)
Co-authored-by: Max Logaev <maxlogaev@proton.me>
Reviewed-on: #175
Reviewed-by: Max Logaev <maxlogaev@proton.me>
Co-authored-by: leency <lipatov.kiril@gmail.com>
Co-committed-by: leency <lipatov.kiril@gmail.com>
2025-03-28 19:48:39 +01:00
293e1d195a Docs/welcome.htm: Fixed #168, language style updates (#171)
Compressed with kpack and added to IMG (en_US only).

Co-authored-by: Ivan Baravy <dunkaist@gmail.com>
Reviewed-on: #171
Reviewed-by: Max Logaev <maxlogaev@proton.me>
Co-authored-by: Burer <burer@kolibrios.org>
Co-committed-by: Burer <burer@kolibrios.org>
2025-03-22 16:09:06 +01:00
5cf6c3baf9 Mine game v0.62 (#172)
- proper window rolling up fix;
- bigger cells and fonts;
- add icon to a new game button;
- better alignment of ui elements in header.

Reviewed-on: #172
Reviewed-by: Max Logaev <maxlogaev@proton.me>
Co-authored-by: leency <lipatov.kiril@gmail.com>
Co-committed-by: leency <lipatov.kiril@gmail.com>
2025-03-22 09:40:04 +01:00
8376fed87d CI/CD: Use kpack64 instead of kpack
All checks were successful
Build system / Check kernel codestyle (pull_request) Successful in 30s
Build system / Build (pull_request) Successful in 5m46s
Version of the kpack utility from
`programs/other/kpack/kerpack_linux/kpack64.asm`
compresses files better than `programs/other/kpack/linux/kpack.asm`

Signed-off-by: Max Logaev <maxlogaev@proton.me>
2025-03-22 09:00:14 +01:00
22d572f789 Docs: Added README and contributing guide (#124)
Co-authored-by: Burer <burer@kolibrios.org>
Reviewed-on: #124
Reviewed-by: Burer <burer@kolibrios.org>
Reviewed-by: rgimad <rgimad@noreply.localhost>
Reviewed-by: Ivan B <dunkaist@noreply.localhost>
Reviewed-by: Sweetbread <risdeveau@codrs.ru>
2025-03-21 21:08:44 +01:00
af41fe4aa7 Pipet: Fixed wrong window colors on some skins and optimized size (#162)
- Fixed wrong window colors on some skins;
- Size optimization;
- Added template macro for quickly creating `struct` with specific fields.

Co-authored-by: leency <lipatov.kiril@gmail.com>
Reviewed-on: #162
Reviewed-by: Max Logaev <maxlogaev@proton.me>
Co-authored-by: Burer <burer@kolibrios.org>
Co-committed-by: Burer <burer@kolibrios.org>
2025-03-20 00:18:26 +01:00
b1a1691b84 Libimg: fixed a bug when rotating images smaller than 2 pixels
All checks were successful
Build system / Check kernel codestyle (pull_request) Successful in 31s
Build system / Build (pull_request) Successful in 5m17s
2025-03-19 11:37:12 +02:00
92f9d76f14 welcome.htm and related stuff (fix #20)
All checks were successful
Build system / Check kernel codestyle (pull_request) Successful in 33s
Build system / Build (pull_request) Successful in 6m43s
- welcome.htm (ENG) uploaded
- signs.png uploaded and added to ISO
- rotate Kolibri in all icons to look forward
2025-03-18 16:21:01 +01:00
32466e31f4 programs/shell: Show new fields of the sf18.13 struct
All checks were successful
Build system / Check kernel codestyle (pull_request) Successful in 41s
Build system / Build (pull_request) Successful in 6m3s
Kfetch command now reports
 - kernel ABI,
 - git hash (aka commit id),
 - release offset,
 - debug tag.

No svn revision anymore.
2025-03-17 23:22:45 +01:00
63cd6f0ac8 Movback: Added support window resizing
All checks were successful
Build system / Check kernel codestyle (pull_request) Successful in 26s
Build system / Build (pull_request) Successful in 5m6s
2025-03-17 22:31:37 +01:00
4fcc17675c Movback: Deleted trunk dir. Files moved 2025-03-17 22:31:37 +01:00
4e903ce12b kiv: show image bpp in win header
All checks were successful
Build system / Check kernel codestyle (pull_request) Successful in 34s
Build system / Build (pull_request) Successful in 6m20s
2025-03-17 22:24:04 +01:00
bfdb42c91f Tube: fix crash at some window sizes, remove outdated code with palette
All checks were successful
Build system / Build (pull_request) Successful in 5m48s
Build system / Check kernel codestyle (pull_request) Successful in 30s
2025-03-17 22:07:11 +02:00
55d641b0da kernel: Clean up svn-related code and data
All checks were successful
Build system / Check kernel codestyle (pull_request) Successful in 40s
Build system / Build (pull_request) Successful in 6m9s
* Rearrange sf18.13 version structure to
  + mention git hash and release offset,
  + separate OS release and kernel ABI numbers,
  + include an optional debug tag.
* Update the boot log and the blue screen to print the new fields.
* Update docs.
* No breaking changes.

Resolves #99.
2025-03-17 20:07:46 +01:00
0e7cff0715 ci: setup environment variables
All checks were successful
Build system / Check kernel codestyle (pull_request) Successful in 28s
Build system / Build (pull_request) Successful in 6m28s
ref: #146
Toolchain container was updated and fasm now in /home/autobuild/...
folder
2025-03-17 19:10:23 +01:00
4d30fd7a2b Eolite 5.29: Fixed bug in "Apply to all files?" dialog
All checks were successful
Build system / Check kernel codestyle (pull_request) Successful in 47s
Build system / Build (pull_request) Successful in 5m43s
- line height can no longer be smaller than icon size;
- fixed bug with edit box activation under "Apply to all files?" dialog;
- updated dates;
- fixed kfont initialization.
2025-03-17 18:22:15 +03:00
292bd1d739 webview 3.85: fix a specific case when col width was calculated wrong
All checks were successful
Build system / Check kernel codestyle (pull_request) Successful in 27s
Build system / Build (pull_request) Successful in 5m16s
2025-03-17 11:50:17 +01:00
1a756358f5 webview 3.84
- tagicon support
- draw_buf => BufIsInvalid() add check
2025-03-17 11:50:17 +01:00
009c0d0519 webview-3.83
- fixed collection.h that caused webview crash
- fix rolled-up bug
- add special symbol from builds.kolibrios.org/status.html
2025-03-17 11:50:17 +01:00
bab6267412 Boxlib: fix write null pointer in editbox
All checks were successful
Build system / Check kernel codestyle (pull_request) Successful in 35s
Build system / Build (pull_request) Successful in 7m45s
2025-03-17 10:55:32 +01:00
72196f42de Palitra(branch): UI and code refactoring. Fix a lot of issues (#154)
- Fixed the ID of the buttons, made the window always on top;
- Removed the visible rectangle when clicking on the palette;
- Fixed the position of the picker and palette buttons.

Reviewed-on: #154
Reviewed-by: Max Logaev <maxlogaev@proton.me>
Co-authored-by: leency <lipatov.kiril@gmail.com>
Co-committed-by: leency <lipatov.kiril@gmail.com>
2025-03-17 10:54:19 +01:00
f1e958af41 Firework: fix and optimize window resizing
All checks were successful
Build system / Check kernel codestyle (pull_request) Successful in 1m19s
Build system / Build (pull_request) Successful in 16m28s
2025-03-17 01:09:45 +03:00
rgimad
78de535233 Apps/dbgboard: fix critical bug with stack overflow
All checks were successful
Build system / Check kernel codestyle (pull_request) Successful in 34s
Build system / Build (pull_request) Successful in 7m0s
2025-03-16 19:50:12 +01:00
e353771faa Pipet: Rewrite from C-- to FASM
All checks were successful
Build system / Check kernel codestyle (pull_request) Successful in 25s
Build system / Build (pull_request) Successful in 4m52s
- Rewritten from C-- to FASM
- Function to select not a single pixel, but a 7*7 rect from screen;
- Function to select each pixel from selected rect;
- Updated UX/UI.

Co-authored-by: leency <lipatov.kiril@gmail.com>
2025-03-16 13:17:33 +02:00
714cc0a65c cmm menu: fix marker
All checks were successful
Build system / Check kernel codestyle (pull_request) Successful in 23s
Build system / Build (pull_request) Successful in 5m0s
2025-03-15 23:28:13 +01:00
9357a21169 Plasma: Fix code style and added support for window resizing
All checks were successful
Build system / Check kernel codestyle (pull_request) Successful in 23s
Build system / Build (pull_request) Successful in 5m0s
2025-03-15 23:02:16 +01:00
75e732a437 Apps/plasma: Deleted trunk dir. Files moved 2025-03-15 23:02:16 +01:00
afd07534ab Apps/fire: Improved code style and readability 2025-03-15 22:31:23 +01:00
20aba254bc Apps/firework: Added support for window resizing
All checks were successful
Build system / Check kernel codestyle (pull_request) Successful in 32s
Build system / Build (pull_request) Successful in 5m36s
2025-03-15 22:35:09 +02:00
fbd99c82a4 Apps/firework: Improved code style and readability 2025-03-15 19:48:49 +02:00
784b02b4a4 3dcube: get rid of unnecessary files, refined build.bat and tupfile
All checks were successful
Build system / Check kernel codestyle (pull_request) Successful in 32s
Build system / Build (pull_request) Successful in 5m36s
2025-03-15 14:54:46 +01:00
rgimad
7a2e48bed2 Flip the bird in kfetch command (#144)
Co-authored-by:  Burer <taldariner@gmail.com>
Reviewed-on: #144
Reviewed-by: Max Logaev <maxlogaev@proton.me>
Co-authored-by: rgimad <33692565+rgimad@users.noreply.github.com>
Co-committed-by: rgimad <33692565+rgimad@users.noreply.github.com>
2025-03-14 23:44:53 +01:00
31ca1c76bb Apps/unvwater: Added support for window resizing
All checks were successful
Build system / Check kernel codestyle (pull_request) Successful in 30s
Build system / Build (pull_request) Successful in 5m29s
2025-03-15 00:56:49 +03:00
99ddd88ff8 Apps/unvwater: Improved code style and readability 2025-03-14 22:41:51 +01:00
4f1a8ef9a1 kf_font_viewer gets to be a part of syspanel
All checks were successful
Build system / Check kernel codestyle (pull_request) Successful in 21s
Build system / Build (pull_request) Successful in 5m28s
Syspanel gets bigger in less than 1 sector and we still have kf viewer in the IMG
2025-03-14 21:31:22 +01:00
93f12c7673 allow applications to work nicely without .kf files
All checks were successful
Build system / Check kernel codestyle (pull_request) Successful in 37s
Build system / Build (pull_request) Successful in 7m45s
2025-03-14 21:10:49 +01:00
Burer
3eb02af5fd [Other/Data] Optimized all .png images in repo using optipng -o7
All checks were successful
Build system / Check kernel codestyle (pull_request) Successful in 44s
Build system / Build (pull_request) Successful in 7m12s
2025-03-14 20:46:32 +01:00
rgimad
83d8146ad1 Apps/dbgboard: fix comments
All checks were successful
Build system / Check kernel codestyle (pull_request) Successful in 29s
Build system / Build (pull_request) Successful in 5m10s
2025-03-13 21:31:10 +03:00
rgimad
1974f45c50 Apps/dbgboard: add display modes and more highlighting
All checks were successful
Build system / Check kernel codestyle (pull_request) Successful in 34s
Build system / Build (pull_request) Successful in 5m17s
2025-03-13 17:24:09 +03:00
36ce6f0b74 Eolite 5.28
All checks were successful
Build system / Check kernel codestyle (pull_request) Successful in 40s
Build system / Build (pull_request) Successful in 5m34s
- deny renaming folder '..'
- 'show status bar' option removed
- add option 'bold font'
- Quark view changed to HEX View
2025-03-12 12:27:18 +01:00
4701a15222 Apps/tube: Added support for window resizing
All checks were successful
Build system / Check kernel codestyle (pull_request) Successful in 34s
Build system / Build (pull_request) Successful in 5m29s
2025-03-12 12:08:40 +03:00
61277f8822 Apps/tube: Improved code style and readability
All checks were successful
Build system / Check kernel codestyle (pull_request) Successful in 45s
Build system / Build (pull_request) Successful in 5m34s
- Magic numbers are replaced with constants;
- Added copyrights and source to the original;
- Removed unnecessary *.bat files.

Co-authored-by: Max Logaev <maxlogaev@proton.me>
2025-03-12 11:03:37 +03:00
abb7442055 Apps/tube: Deleted trunk dir. Files moved
The trunk directory is no longer required. This is a rudiment of SVN
2025-03-12 02:50:40 +03:00
81b15607dc Apps/barcfg: Added bars_8b.raw
All checks were successful
Build system / Check kernel codestyle (pull_request) Successful in 45s
Build system / Build (pull_request) Successful in 5m41s
Co-authored-by: Max Logaev <maxlogaev@proton.me
2025-03-10 23:11:33 +01:00
30d8d45326 Data: Move kf_font_viewer to ISO
- Added testcon2_eng to IMG;
- use_mb was removed from IMG because it was not used.

Co-authored-by: Max Logaev <maxlogaev@proton.me
2025-03-10 23:11:33 +01:00
9a23c001e1 Data: Added hotkeys for change sound volume and mute/unmute sound
- Added Ctrl + Alt + Left / Right - change sound volume;
- Added Ctrl + Alt + Up / Down - mute and unmute sound;
- Corrected description.

Co-authored-by: Max Logaev <maxlogaev@proton.me
2025-03-10 23:11:33 +01:00
64b7372624 Apps/eolite: Version 5.27
All checks were successful
Build system / Check kernel codestyle (pull_request) Successful in 31s
Build system / Build (pull_request) Successful in 4m53s
- Choose first file on ctrl selection.
- Set static position for maximized window:
  https://github.com/KolibriOS/kolibrios/issues/9
2025-03-10 22:28:44 +01:00
d04420295a CI: Add hash for toolchain
All checks were successful
Build system / Check kernel codestyle (pull_request) Successful in 28s
Build system / Build (pull_request) Successful in 5m5s
2025-03-10 21:31:00 +01:00
2935b29fd8 CI: Cache 2025-03-10 21:31:00 +01:00
505f741fbd CI/CD: Used kolibri-toolchain and fuse. Added es_ES build
- Used  tup with fuse to speed up build;
- Used kolibri-toolchain to speed up the build, that is,
  do not waste time installing dependencies;
- Added build of the Spanish version (es_ES).

Signed-off-by: Max Logaev <maxlogaev@proton.me>
2025-03-10 21:31:00 +01:00
5a852ebdfb Apps/webview: Version 3.82. Fixed text rendering, speedup (#130)
All checks were successful
Build system / Check kernel codestyle (push) Successful in 28s
Build system / Build (push) Successful in 8m2s
Co-authored-by: leency <lipatov.kiril@gmail.com>
Co-committed-by: leency <lipatov.kiril@gmail.com>
2025-03-10 20:28:52 +01:00
026d2aba40 Libs/console_coff: Translate comments to English and convert to UTF-8 (#128)
All checks were successful
Build system / Check kernel codestyle (push) Successful in 50s
Build system / Build (push) Successful in 11m28s
Translated remaining non-English comments to English and convert to UTF-8

Co-authored-by: rgimad <33692565+rgimad@users.noreply.github.com>
Reviewed-on: #128
Reviewed-by: Max Logaev <mxlgv@noreply.localhost>
Co-authored-by: rgimad <rgimad@noreply.localhost>
Co-committed-by: rgimad <rgimad@noreply.localhost>
2025-03-10 20:04:26 +01:00
Taldariner
9b08b20cc3 Charsets Checker 0.3.2
All checks were successful
Build system / Check kernel codestyle (push) Successful in 29s
Build system / Build (push) Successful in 8m26s
- Renamed to Charsets Viewer/Charsets
- Fixed rolled-up bug
- Tweaked UI a little bit
- Renamed files in autobuild
- Moved charsets to programs/develop
- Added credits in charsets.asm
- Moved charsets dev history to separate file
2025-03-07 23:25:15 +03:00
38fdd13e0c Added charset_checker app to IMG instead of asciivju and keyascii 2025-03-07 23:25:14 +03:00
d9679f5f81 Add new debug board - dbgboard based on console.obj (#119)
Main advantages:
- Bigger font
- Scrolling (like in other console apps)
- K : and L: messages highligting

Also, like the old board it writes log to /tmp0/1/boardlog.txt (or you can pass another path in args), can view it on F2

Co-authored-by: rgimad <33692565+rgimad@users.noreply.github.com>
Reviewed-on: #119
Reviewed-by: Max Logaev <maxlogaev@proton.me>
Co-authored-by: rgimad <rgimad@noreply.localhost>
Co-committed-by: rgimad <rgimad@noreply.localhost>
2025-03-07 23:24:48 +03:00
92ea2a97eb Data: Dino has been moved to the TCC category.
All checks were successful
Build system / Check kernel codestyle (push) Successful in 32s
Build system / Build (push) Successful in 9m9s
Signed-off-by: Maxim Logaev <maxlogaev@proton.me>
2025-03-07 10:48:09 +01:00
98cccc438c Apps/aclock: Rewrite from nasm to fasm
All checks were successful
Build system / Check kernel codestyle (push) Successful in 31s
Build system / Build (push) Successful in 9m41s
2025-03-07 01:10:44 +01:00
79d9f42085 Apps/genfiles: Rewrite from nasm to fasm 2025-03-07 01:10:44 +01:00
b39150ecea Apps/lod: Rewrite from nasm to fasm 2025-03-07 01:10:44 +01:00
1a40899780 Apps/FillScr: Rewrite from nasm to fasm 2025-03-07 01:10:44 +01:00
25b79ca6d1 Apps/Timer: Rewrite from nasm to fasm 2025-03-07 01:10:44 +01:00
2e3548d92a Apps/tinfo: Rewrite from nasm to fasm 2025-03-07 01:10:44 +01:00
ed8e4ecf33 Apps/mstate: Rewrite from nasm to fasm 2025-03-07 01:10:44 +01:00
6a9608c7a4 Apps/C4: Rewrite from nasm to fasm 2025-03-07 01:10:44 +01:00
d8c6274d19 Libs/iconv: Fixed convert BEL and UKR i/I to CP866
Some checks failed
Build system / Check kernel codestyle (push) Successful in 33s
Build system / Build (push) Has been cancelled
Signed-off-by: Maxim Logaev <maxlogaev@proton.me>
2025-03-07 01:05:42 +01:00
1df7b2fd4c Apps/webview: Version 3.8. Fixed <p>, new h3 style
Some checks failed
Build system / Check kernel codestyle (push) Successful in 29s
Build system / Build (push) Has been cancelled
- `cmm/lib/collection.h`: fixed memory leak, more safe, optimizations;
- webview: mostly fix <p>, new h3 style, some other updates.

Reviewed-on: #115
2025-03-07 03:00:49 +03:00
9001dbc1b4 CI/CD: Added CI, without MSVC (en_US and ru_RU)
All checks were successful
Build system / Check kernel codestyle (push) Successful in 1m51s
Build system / Build (push) Successful in 11m51s
- Added `install_kgcc` script;
- Added `checker.pl` script to check the kernel codestyle;
- Added build of en_US and ru_RU versions of images.
Known problem: projects that require the proprietary MSVC compiler are
not built.

Signed-off-by: Maxim Logaev <maxlogaev@proton.me>
2025-03-04 20:09:10 +01:00
c11c7922bd Libs/mbedtls: Use strip instead of kos32-strip
`kos32-strip`` contains a bug:
When trying to strip a large object file builded by `clink`,
a segfault occurs. This bug is not reproduced on the newer `strip`.

Signed-off-by: Maxim Logaev <maxlogaev@proton.me>
2025-03-04 20:09:10 +01:00
739facfeca CI/CD: Init building workflow 2025-03-04 20:09:10 +01:00
8c9a971e2c Libs/cmm: Fixed return type for GetProcessInfo() 2025-03-02 12:10:08 +01:00
5aa17d5823 Apps/webview: Fixed parse tag param and use Bing search
- Fixed parse case of tag param like "attr = value";
- Use the default Bing search as it only supports HTTP.
2025-03-02 12:10:08 +01:00
4d6ef342e1 Apps/webview: Fixed issue #100 2025-03-02 12:10:08 +01:00
8e5b315fd4 Apps: Fix webview and downloader issue #22
- Fix #22 in both webview and downloader;
- Get rid of app mode in webview;
- Fix update link for webview.
2025-03-02 12:10:08 +01:00
1525cb7e37 Apps/cedit: Improved tab visuals
- Improved tab visuals;
- Fixed scroll.ob07 file name;
- Updated binary (27-feb-2025).

Co-authored-by: Max Logaev <maxlogaev@proton.me>
2025-02-28 14:27:08 +01:00
bad1a3c3ca Data: Replace Testris icon from NintendoDS by a taldariner's 2025-02-27 01:31:53 +01:00
b1d8436000 Data: By default use CodeEdit instead of Tinypad 2025-02-27 01:31:53 +01:00
3da226faf6 Data: Fixed issue #24 2025-02-27 01:31:53 +01:00
70297cd8f4 Libs/cmm: Use the actual number of processes instead of the max 2025-02-27 01:03:29 +01:00
bf9f7d2a19 Apps/downloader: Improved UI
Fixed an issue in the UI: The user does not realize that the file
has already been downloaded and may want to click "Download" again.
2025-02-27 02:22:53 +03:00
leency
84aec355b8 Fix #8: The "webview" web browser, started with the parameter, address with the name of the download file, downloads the same file multiple times. 2025-02-25 15:51:03 +02:00
leency
a576b68db3 C-- menu: quick update to avoid full redraw, now redraw only changed items 2025-02-25 14:35:21 +02:00
leency
2e72ebc96f Eolite: scrollbar does not redraw after mouse up #9
Fixed.
2025-02-25 02:45:18 +02:00
leency
aa3ae8a8ea Updated info how to write kolibri.img to a floppy
Fixed issue #61 #61
2025-02-25 02:09:14 +02:00
leency
78d5942bb8 Rename UPPEDCASE.TXT doc files into TitleCase.txt files.
Unify names: Grobfara vs Fara, GNU vs Copying.
Remove non-translated et_EE docs.
2025-02-25 01:19:35 +02:00
leency
3da29f23e9 data/ca_ES removed as there were no more translated files except menu.ini
we won't support this build so it is not necessary anymore
2025-02-25 00:53:01 +02:00
leency
6301b42142 Merge branch 'main' of https://git.kolibrios.org/KolibriOS/kolibrios 2025-02-24 21:38:03 +02:00
leency
e0f45e268a flappybird renamed to floppybird
kiv fix label with green bg in fullscreen mode
2025-02-24 21:37:50 +02:00
a11466d56b Fix libimg to execute emms after mmx code
Also, remove an emms hack from Dino game.
Fix #98.
2025-02-24 01:40:31 +00:00
54669d62b4 Rename tup.config's for disabled builds 2025-02-23 17:43:16 +00:00
leency
aa74ea51d7 remove text_edit and quark from menus as outdated,
various fixes
2025-02-23 18:34:29 +02:00
leency
83a8240eb8 GoogleTranslate Jurgen's commit from sysfuncr.txt to sysfuncs.txt
SHA-1: 34d6f8189f
git-svn-id: svn://kolibrios.org@9976 a494cfbc-eb01-0410-851d-a64ba20cac60
2025-02-23 03:25:55 +02:00
9f5dd6cbdd Switch CD image to the native boot
No floppy emulation anymore. No attempts to save changed settings on
the blue screen.
2025-02-22 20:03:31 +00:00
e633ea8eac Fix extended_primary_loader for native CD boot
When the extended primary loader for CD was introduced in 2008-2009 it
used to load a relatively small secondary loader. Later the secondary
loader was integrated into the kernel, hence the primary loader had to
load the kernel which is 100kB+. The EDD BIOS specification allows to
read less than 0x80 sectors at once using Int 0x13 0x42 service. For a
512-byte sector this is less than 0x10000 bytes which is a 64kB limit.
The same limit of 64kB is reached on a CD with only 0x20 sectors,
because the sector size is 2048 bytes here. This commit changes the
maximum number of sectors that can be read by the loader at once from
0x7f to 0x20, i.e. reading is done in 64kB blocks now.
2025-02-22 20:03:24 +00:00
Taldariner
c07e2a9857 Sorted selectors in icons.ini 2025-02-12 19:03:24 +02:00
195f996c1b Fix icon search function in box_lib/filebrowser
Consider a config file with the following two lines:
abc=1
c=2

Previously, the first line matched *.c files, because it had the 'c=1'
substring. Now we skip until the next line as soon as 'abc' doesn't
match 'c'.
2025-02-11 20:44:41 +00:00
17eebff188 Fix a kernel crash on a CD, with 512MB RAM
CDDataBuf was considered a free memory. It was then allocated for other
kernel structures what eventually caused the crash.

The bug report: https://www.youtube.com/watch?v=tXMD9_gEUcA
2025-02-09 19:38:30 +00:00
84bc176353 menu: Use less hardcoded numbers, more constants 2025-02-09 19:38:30 +00:00
Taldariner
50220d0cd9 C--: added proper ini file
Version of c-- compiler executable in repo is similar to autobuild server, but c--.ini is different and have mistakes that cause compilation bugs.
For example, if you try to compile sysmon app on commit 8f7ee79 or previous, CPU load of all processes will be displayed as 0%.
And if you try to display load in cycles, it will display some big negative value, like it's integer type got overflowed.
This commit adds proper version from autobuild server, allowing to compile C-- programs without such bugs.
2025-02-06 17:34:44 +02:00
Taldariner
d68b350360 Apps/sysmon: fixed wrong encoding and simplified boolean comparsion 2025-02-06 17:01:11 +02:00
Taldariner
f366d6d925 SysMon: Fixed ghost threads filtering and removed trailing whitespaces 2025-02-06 16:37:50 +02:00
d235c8914c Fix ghost threads in CPU
* kernel: Make sf9 return TSTATE_FREE for invalid slots: 0, >255, free.
* menu: Ignore free slots even if other fields of proc_info look valid.
        Documentation (sysfuncs.txt) clearly states all the other info
        as invalid when slot_state is TSTATE_FREE.
* taskbar: Same as menu.
* cmm/lib/*: Same as menu.
* programs/macros.inc: Add TSTATE_* macros.
2025-02-01 03:32:16 +00:00
6933ee64cd Ger rid of some 'trunk' dirs in /programs/games 2025-01-20 14:40:21 +00:00
4cfb1a27b5 Krn: Fixed the calling convention for the "load_pe_driver" function 2025-01-19 19:26:48 +05:00
8f7ee79d05 Apps/sysmon: Fixed #85
Small code changes to fix all issues mentioned in Issue #85:
- Bumped app version and added it to header.
- Changed system disk usage subscription from MB to KB in English version.
- Properly aligned CPU usage percents in process list with header.
- Free space on disks now rounds down, instead of rounding app.
- Small formatting fixes.
- Fixed wrong language set in English version of compilation script.

Co-authored-by: Taldariner <71024372+Taldariner@users.noreply.github.com>
Reviewed-on: #86
Reviewed-by: Max Logaev <mxlgv@noreply.localhost>
Reviewed-by: Mikhail Frolov <mixa.frolov2003@gmail.com>
Co-authored-by: Burer <burer@noreply.localhost>
Co-committed-by: Burer <burer@noreply.localhost>
2025-01-19 13:48:19 +01:00
Taldariner
da418f65b3 Charset Checker: fixed macros import
Fixed macros import for autobuild server.
2025-01-17 13:12:31 +02:00
Taldariner
bfc59f6636 Charset Checker: updated to 0.3.1
- Functionality to pick and preview single character
- Functionality to input character from keyboard
- Display of ASCII and SCAN codes of character in dec and hex format
- Small UI fixes
- Code refactoring
- Reformatted sources, fixed indentation and removed non-Unicode characters
2025-01-17 13:06:44 +02:00
rgimad
f7bdaa8909 fix hotkey names in eolite context menu 2025-01-16 23:39:43 +03:00
rgimad
2dd6a1516e increase font in right button context menu 2025-01-15 23:57:58 +03:00
5593d344cd Add serial ports driver
This commit adds a new serial port driver that allows other drivers to add or remove ports dynamically and allows applications to use a single serial ports API. It also modifies the usbftdi driver to support the new serial ports API.

The driver may conflict with kernel if it is compiled with debug_com_base.

Topic on forum https://board.kolibrios.org/viewtopic.php?p=78764

Reviewed-on: #94
Reviewed-by: Gleb Zaharov <sweetbread@coders-squad.com>
Reviewed-by: Mikhail Frolov <mixa.frolov2003@gmail.com>
Co-authored-by: Alexey Ryabov <alex@b00bl1k.ru>
Co-committed-by: Alexey Ryabov <alex@b00bl1k.ru>
2025-01-12 14:28:42 +01:00
rgimad
28668acd86 update icon for dino again 2025-01-12 15:58:16 +03:00
rgimad
cb733c6d1d update dino, add to ru game center 2025-01-12 15:50:54 +03:00
rgimad
cf354ec8d3 add dino to desktop, update dino icon 2025-01-12 14:45:18 +03:00
c8e9e5a2a7 Fix autobuild for dino 2025-01-11 20:32:29 +00:00
rgimad
b815aee084 fix typo in tupfile 2025-01-11 15:16:06 +03:00
rgimad
7a6d042da7 upload dino game, add to img, to game center 2025-01-11 15:14:48 +03:00
2d9007da32 Add charset_checker to autobuild 2025-01-11 00:34:15 +00:00
Taldariner
b558f23604 Added Charset Checker program 2025-01-10 20:25:37 +02:00
rgimad
dd5a6a7316 added 26.2 to ksys.h 2025-01-05 23:43:03 +03:00
911 changed files with 18328 additions and 10424 deletions

213
.gitea/workflows/build.yaml Normal file
View File

@@ -0,0 +1,213 @@
# SPDX-License-Identifier: GPL-2.0-only
# SPDX-FileCopyrightText: 2025 KolibriOS team
name: 'Build system'
on:
pull_request:
branches:
- 'main'
jobs:
codestyle:
name: "Check kernel codestyle"
runs-on: kolibri-toolchain
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Check codestyle
run: |
find kernel/trunk -iname '*.asm' -or -iname '*.inc' -exec bash -c "echo {}; cat {} | perl .gitea/workflows/checker.pl" \;
build:
name: 'Build'
runs-on: kolibri-toolchain
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Get describe
id: vars
run: echo "sha_short=$(git rev-parse --short HEAD)" >> $GITEA_OUTPUT
- name: Get toolchain hash
id: toolchain-hash
run: |
a=$(find ${{ gitea.workspace }}/programs/develop/cmm/ -type f -print0 | sort -z | xargs -0 sha1sum)
b=$(sha1sum ${{ gitea.workspace }}/programs/develop/ktcc/trunk/bin/kos32-tcc)
c=$(find ${{ gitea.workspace }}/programs/develop/objconv/ -type f -print0 | sort -z | xargs -0 sha1sum)
d=$(find ${{ gitea.workspace }}/programs/other/kpack/kerpack_linux/ -type f -print0 | sort -z | xargs -0 sha1sum)
e=$(find ${{ gitea.workspace }}/programs/other/kpack/linux/ -type f -print0 | sort -z | xargs -0 sha1sum)
f=$(find ${{ gitea.workspace }}/programs/develop/clink/ -type f -print0 | sort -z | xargs -0 sha1sum)
echo hash=$(echo $a $b $c $d $e $f | sha1sum | awk '{print $1}') >> $GITEA_OUTPUT
- name: Restore toolchain
id: cache-toolchain
uses: actions/cache/restore@v4
with:
path: /home/autobuild
key: kolibri-toolchain-${{ steps.toolchain-hash.outputs.hash }}
- name: Build and install C--
if: steps.cache-toolchain.outputs.cache-hit != 'true'
run: |
cd ${{ gitea.workspace }}/programs/develop/cmm/
make -f Makefile.lin32
chmod +x c--
mv c-- /home/autobuild/tools/win32/bin/c--
cp ${{ gitea.workspace }}/programs/cmm/c--/c--.ini /home/autobuild/tools/win32/bin/c--.ini
make -f Makefile.lin32 clean
- name: Install TCC
if: steps.cache-toolchain.outputs.cache-hit != 'true'
run: |
cp ${{ gitea.workspace }}/programs/develop/ktcc/trunk/bin/kos32-tcc /home/autobuild/tools/win32/bin/kos32-tcc
chmod +x /home/autobuild/tools/win32/bin/kos32-tcc
- name: Build and install objconv
if: steps.cache-toolchain.outputs.cache-hit != 'true'
run: |
cd ${{ gitea.workspace }}/programs/develop/objconv/
g++ -o /home/autobuild/tools/win32/bin/objconv -O2 *.cpp
chmod +x /home/autobuild/tools/win32/bin/objconv
- name: Build and install kerpack and kpack
if: steps.cache-toolchain.outputs.cache-hit != 'true'
run: |
export PATH=/home/autobuild/tools/win32/bin:$PATH
cd ${{ gitea.workspace }}/programs/other/kpack/kerpack_linux/
make
chmod +x kerpack
chmod +x kpack
mv kerpack /home/autobuild/tools/win32/bin/.
mv kpack /home/autobuild/tools/win32/bin/.
- name: Build and install clink
if: steps.cache-toolchain.outputs.cache-hit != 'true'
run: |
cd ${{ gitea.workspace }}/programs/develop/clink
gcc main.c -o clink
chmod a+x clink
mv clink /home/autobuild/tools/win32/bin/clink
- name: Prepare cache folder
run: |
rm /home/autobuild
mv /root/autobuild /home/autobuild
if: steps.cache-toolchain.outputs.cache-hit != 'true'
- name: Save toolchain
if: steps.cache-toolchain.outputs.cache-hit != 'true'
uses: actions/cache/save@v4
with:
path: /home/autobuild
key: kolibri-toolchain-${{ steps.toolchain-hash.outputs.hash }}
- name: Configure tup
run: |
cd ${{ gitea.workspace }}
export ROOT=${{ gitea.workspace }}
echo "CONFIG_KPACK_CMD= && kpack --nologo %o" | tee en_US.config ru_RU.config es_ES.config
echo "CONFIG_KERPACK_CMD= && kerpack %o" | tee -a en_US.config ru_RU.config es_ES.config
echo "CONFIG_PESTRIP_CMD= && EXENAME=%o fasm $ROOT/data/common/pestrip.asm %o" | tee -a en_US.config ru_RU.config es_ES.config
echo "CONFIG_NO_MSVC=full" | tee -a en_US.config ru_RU.config es_ES.config
echo "CONFIG_INSERT_REVISION_ID=1" | tee -a en_US.config ru_RU.config es_ES.config
tup -v
tup init
# Configure en_US
echo "CONFIG_LANG=en_US" >> en_US.config
echo "CONFIG_BUILD_TYPE=en_US" >> en_US.config
tup variant en_US.config
# Configure ru_RU
echo "CONFIG_LANG=ru_RU" >> ru_RU.config
echo "CONFIG_BUILD_TYPE=ru_RU" >> ru_RU.config
tup variant ru_RU.config
# Configure es_ES
echo "CONFIG_LANG=es_ES" >> es_ES.config
echo "CONFIG_BUILD_TYPE=es_ES" >> es_ES.config
tup variant es_ES.config
# -------------------------- Build en_US ------------------------- #
- name: (en_US) Build KolibriOS
run: |
export PATH=/home/autobuild/tools/win32/bin:$PATH
source kos32-export-env-vars ${{ gitea.workspace }}
tup build-en_US
- name: (en_US) Upload floppy image
uses: actions/upload-artifact@v3
with:
name: kolibrios-en_US-${{ steps.vars.outputs.sha_short }}.img
path: build-en_US/data/kolibri.img
- name: (en_US) Upload CD image
uses: actions/upload-artifact@v3
with:
name: kolibrios-en_US-${{ steps.vars.outputs.sha_short }}.iso
path: build-en_US/data/kolibri.iso
- name: (en_US) Upload raw image
uses: actions/upload-artifact@v3
with:
name: kolibrios-en_US-${{ steps.vars.outputs.sha_short }}.raw
path: build-en_US/data/kolibri.raw
# -------------------------- Build ru_RU ------------------------- #
- name: (ru_RU) Build KolibriOS
run: |
export PATH=/home/autobuild/tools/win32/bin:$PATH
source kos32-export-env-vars ${{ gitea.workspace }}
tup build-ru_RU
- name: (ru_RU) Upload floppy image
uses: actions/upload-artifact@v3
with:
name: kolibrios-ru_RU-${{ steps.vars.outputs.sha_short }}.img
path: build-ru_RU/data/kolibri.img
- name: (ru_RU) Upload CD image
uses: actions/upload-artifact@v3
with:
name: kolibrios-ru_RU-${{ steps.vars.outputs.sha_short }}.iso
path: build-ru_RU/data/kolibri.iso
- name: (ru_RU) Upload raw image
uses: actions/upload-artifact@v3
with:
name: kolibrios-ru_RU-${{ steps.vars.outputs.sha_short }}.raw
path: build-ru_RU/data/kolibri.raw
# -------------------------- Build es_ES ------------------------- #
- name: (es_ES) Build KolibriOS
run: |
export PATH=/home/autobuild/tools/win32/bin:$PATH
source kos32-export-env-vars ${{ gitea.workspace }}
tup build-es_ES
- name: (es_ES) Upload floppy image
uses: actions/upload-artifact@v3
with:
name: kolibrios-es_ES-${{ steps.vars.outputs.sha_short }}.img
path: build-es_ES/data/kolibri.img
- name: (es_ES) Upload CD image
uses: actions/upload-artifact@v3
with:
name: kolibrios-es_ES-${{ steps.vars.outputs.sha_short }}.iso
path: build-es_ES/data/kolibri.iso
- name: (es_ES) Upload raw image
uses: actions/upload-artifact@v3
with:
name: kolibrios-es_ES-${{ steps.vars.outputs.sha_short }}.raw
path: build-es_ES/data/kolibri.raw

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,82 @@
#!/bin/bash
# SPDX-License-Identifier: GPL-2.0-only
# SPDX-FileCopyrightText: 2025 KolibriOS Team
# Written by mxlgv (Maxim Logaev)
# Installation steps described by maxcodehack (Maxim Kuzmitsky)
set -e
print_msg(){
echo -e "\e[34m$1\e[0m"
}
print_ok(){
echo -e "\e[32m$1\e[0m"
}
print_err(){
echo -e "\e[31m$1\e[0m"
exit
}
check_utils(){
printf "%s: " $1
if command -v $1 &> /dev/null
then
print_ok "ok\r"
else
print_err "no\r"
fi
}
print_msg "Checking utilities..."
check_utils wget
check_utils 7z
print_msg "Create the /home/autobuild folder..."
sudo rm -rf ~/autobuild /home/autobuild
mkdir -p ~/autobuild/tools
sudo ln -sf ~/autobuild /home/autobuild
print_ok "Successfully!"
print_msg "Download the kos32-gcc toolchain..."
wget http://ftp.kolibrios.org/users/Serge/new/Toolchain/x86_64-linux-kos32-5.4.0.7z -O ~/autobuild/tools/kos32-toolchain.7z
print_ok "Successfully!"
print_msg "Extracting files ..."
cd ~/autobuild/tools/
7z x -y kos32-toolchain.7z
rm -rf kos32-toolchain.7z
print_ok "Successfully!"
print_msg "Downloading libisl..."
cd /tmp
sudo wget http://board.kolibrios.org/download/file.php?id=8301libisl.so.10.2.2.7z -O /tmp/libisl.so.10.2.2.7z
sudo 7z x -y libisl.so.10.2.2.7z
if ! [ -d /usr/lib/x86_64-linux-gnu/ ]; then
sudo mkdir -p /usr/lib/x86_64-linux-gnu/
fi
print_msg "Fixing libisl..."
sudo mv /tmp/libisl.so.10.2.2 /usr/lib/x86_64-linux-gnu/libisl.so.10.2.2
sudo ln -sf /usr/lib/x86_64-linux-gnu/libisl.so.10.2.2 /usr/lib/x86_64-linux-gnu/libisl.so.10
sudo ln -sf /usr/lib/x86_64-linux-gnu/libisl.so.10.2.2 /usr/lib/libisl.so.10
sudo chmod go-w /usr/lib/x86_64-linux-gnu/libisl.so.10
sudo chmod go-w /usr/lib/x86_64-linux-gnu/libisl.so.10.2.2
print_ok "Successfully!"
print_msg "Fixing libmpfr..."
sudo ln -sf /usr/lib/x86_64-linux-gnu/libmpfr.so.6 /usr/lib/x86_64-linux-gnu/libmpfr.so.4
sudo ln -sf /usr/lib/libmpfr.so.6 /usr/lib/libmpfr.so.4
print_ok "Successfully!"
if ! grep -q 'export PATH=$PATH:/home/autobuild/tools/win32/bin' ~/.bashrc; then
export PATH=$PATH:/home/autobuild/tools/win32/bin
print_msg "Adding '/home/autobuild/tools/win32/bin' to '~/.bashrc'"
echo 'export PATH=$PATH:/home/autobuild/tools/win32/bin' >> ~/.bashrc
fi
print_ok "Installation was successful!"

2
.gitignore vendored
View File

@@ -7,3 +7,5 @@ ehthumbs_vista.db
### macOS ###
.DS_Store
._*
programs/cmm/cmm.code-workspace
programs/cmm/menu/.gitignore

71
CONTRIBUTING.md Normal file
View File

@@ -0,0 +1,71 @@
# Contributing guide
## Type of contributing
There are two main types of contributions accepted to the main KolibriOS repository:
- Submitting issues about problems in the project
- Submitting code to the project via pull requests
Both these types are described in detail below.
## Issues
You can help us by submitting issues about problems found in the system. Currently, there are two main ways of submitting an issue in the project: **Bug Reports** and **Feature Requests**:
- Bug Reports are suitable if you find a **bug** (crash, error, unexpected behavior) in some part of the system (kernel, drivers, apps, etc.) and want to report it
- Feature Requests are used, when you want to propose some **improvement** to the system (missing features, improved user experience, etc.)
## Pull requests
You can also help us by submitting code via pull requests. The process of submitting a pull request consists of the following steps:
1. Find what you want to implement or improve
2. Make a fork of kolibrios (or other needed) repository
3. Create a branch with a name that matches your changes
4. Implement and test the changes
5. Create commits according to the [accepted style](#commit-style)
6. Create and submit a pull request into `main` branch
7. Wait for CI/CD pipelines and code review to pass
When a pull request is submitted, at least two project participants must conduct a code review, after which the proposed changes need to be corrected (if requested) and merged into the project.
## Commit style
### Message pattern
The commit message should look like this:
```test
Commit message header
Commit message body, if needed
```
- Commit message header and body should reflect changes made in commit
- Commit message body should be separated from the header by one empty line
### Length
Maximum number of characters in a commit header is **72** (standard for **Git**). Also, **72** is the maximum length of a line in a commit body.
### Multiple authors
If you are making a commit together with another developer, you need to add:
```
Co-authored-by: ANOTHER-NAME <ANOTHER-NAME@EXAMPLE.COM>
```
to the end commit message body on a new line.
### Merge commits
> [!WARNING]
> Merge commits are **prohibited** in the project
Use **rebase** to keep your branch up to date.
## Conclusion
We hope this small instructions will help you to get familiar with KolibriOS contribution rules and inspire you to participate in the life of our project.

View File

@@ -1,347 +1,338 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
675 Mass Ave, Cambridge, MA 02139, USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
Appendix: How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) 19yy <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) 19yy name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Library General
Public License instead of this License.
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
<https://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Lesser General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, see <https://www.gnu.org/licenses/>.
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Moe Ghoul>, 1 April 1989
Moe Ghoul, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License.

22
README.md Normal file
View File

@@ -0,0 +1,22 @@
# KolibriOS
[![License](https://img.shields.io/badge/License-GPL%202.0-green)](./COPYING.TXT)
[![Build system](https://git.kolibrios.org/KolibriOS/kolibrios/actions/workflows/build.yaml/badge.svg)](https://git.kolibrios.org/KolibriOS/kolibrios/actions)
KolibriOS is a hobby operating system for x86-compatible computers, which is currently being developed by a small but passionate team of enthusiasts.
Its kernel, most drivers, and many programs are written entirely in [FASM](https://flatassembler.net/) assembly language, making them very compact and lean on system resources.
Based on [MenuetOS](https://www.menuetos.net/), it uses its own standards and is NOT fully POSIX or UNIX compliant.
## Contributing
We would appreciate any participation in the project and always welcome new users and contributors.
Detailed instructions for the contribution process can be found in the [contributing guide](./CONTRIBUTING.md).
Common list of tasks, issues and enhancement proposals can be found on [this page](https://git.kolibrios.org/KolibriOS/kolibrios/issues).
## Special thanks
The KolibriOS team expresses special thanks to the author of the 32-bit **MenuetOS**, [Ville Turjanmaa](https://www.menuetos.net/contact.htm). We also want to note that all **MenuetOS** copyrights have been preserved.

View File

@@ -38,7 +38,7 @@ img_files = {
{"UNIMG", SRC_PROGS .. "/fs/unimg/unimg"},
{"3D/HOUSE.3DS", "common/3d/house.3ds"},
{"File Managers/ICONS.INI", "common/File Managers/icons.ini"},
{"GAMES/FLPYBIRD", SRC_PROGS .. "/games/flappybird/Release/flappybird"},
{"GAMES/FLPYBIRD", SRC_PROGS .. "/games/floppybird/Release/floppybird"},
{"FONTS/TAHOMA.KF", "common/fonts/tahoma.kf"},
-- {"LIB/ICONV.OBJ", "common/lib/iconv.obj"},
{"LIB/KMENU.OBJ", "common/lib/kmenu.obj"},
@@ -85,6 +85,7 @@ if build_type == "ru_RU" then tup.append_table(img_files, {
{"SETTINGS/MYKEY.INI", SRC_PROGS .. "/system/MyKey/trunk/mykey.ini"},
{"SETTINGS/SYSPANEL.INI", "ru_RU/settings/syspanel.ini"},
}) elseif build_type == "en_US" then tup.append_table(img_files, {
{"WELCOME.HTM", VAR_DATA .. "/" .. build_type .. "/welcome.htm.kpack"},
{"EXAMPLE.ASM", SRC_PROGS .. "/develop/examples/example/trunk/example.asm"},
{"DEVELOP/BACKY", SRC_PROGS .. "/develop/backy/Backy"},
{"File Managers/KFAR.INI", "common/File Managers/kfar.ini"},
@@ -139,7 +140,7 @@ a named subitem "group=path/<groupname>" and the file should be put in <groupnam
--]]
extra_files = {
{"/", "common/distr_data/autorun.inf"},
{"/", "common/distr_data/KolibriOS_icon.ico"},
{"/", "common/distr_data/kolibrios.ico"},
{"Docs/stack.txt", "../kernel/trunk/docs/stack.txt"},
{"HD_Load/9x2klbr/", "common/HD_load/9x2klbr/LDKLBR.VXD"},
{"HD_Load/MeOSLoad/", SRC_PROGS .. "/hd_load/meosload/AUTOEXEC.BAT"},
@@ -156,7 +157,7 @@ extra_files = {
{"kolibrios/3D/info3ds/OBJECTS.PNG", SRC_PROGS .. "/develop/info3ds/objects.png"},
{"kolibrios/3D/info3ds/TOOLBAR.PNG", SRC_PROGS .. "/develop/info3ds/toolbar.png"},
{"kolibrios/3D/info3ds/FONT8X9.BMP", SRC_PROGS .. "/fs/kfar/trunk/font8x9.bmp"},
{"kolibrios/3D/blocks/", "../programs/bcc32/games/blocks/bin/*"},
{"kolibrios/3D/blocks/blocks.kex", "../programs/bcc32/games/blocks/bin/blocks.kex"},
{"kolibrios/3D/blocks/models/", "../programs/bcc32/games/blocks/models/*"},
{"kolibrios/3D/md2view/", "common/3d/md2view/*"},
{"kolibrios/3D/md2view/md2_model/", "common/3d/md2view/md2_model/*"},
@@ -180,7 +181,6 @@ extra_files = {
{"kolibrios/develop/c--/manual_c--.htm", SRC_PROGS .. "/cmm/c--/manual_c--.htm"},
{"kolibrios/develop/fpc/", "common/develop/fpc/*"},
{"kolibrios/develop/fpc/examples/", "../programs/develop/fp/examples/src/*"},
{"kolibrios/develop/fpc/examples/build.sh", "common/develop/fpc/build.sh"},
{"kolibrios/develop/oberon07/", "../programs/develop/oberon07/*"},
{"kolibrios/develop/oberon07/doc/", "../programs/develop/oberon07/doc/*"},
{"kolibrios/develop/oberon07/lib/KolibriOS/", "../programs/develop/oberon07/lib/KolibriOS/*"},
@@ -290,6 +290,7 @@ extra_files = {
{"kolibrios/res/templates/NES/", "common/templates/NES/*"},
{"kolibrios/res/wallpapers/", "common/wallpapers/*"},
{"kolibrios/res/system/", build_type .. "/settings/kolibri.lbl"},
{"kolibrios/res/system/", "common/signs.png"},
{"kolibrios/utils/vmode", "common/vmode"},
{"kolibrios/utils/texture", "common/utils/texture"},
{"kolibrios/utils/cnc_editor/cnc_editor", VAR_PROGS .. "/other/cnc_editor/cnc_editor"},
@@ -311,20 +312,20 @@ extra_files = {
{"kolibrios/utils/tedit/info/INI.SYN", VAR_PROGS .. "/other/t_edit/info/ini_files.syn"},
}
if build_type == "ru_RU" then tup.append_table(extra_files, {
{"Docs/cp866/config.txt", build_type .. "/docs/CONFIG.TXT"},
{"Docs/cp866/gnu.txt", build_type .. "/docs/GNU.TXT"},
{"Docs/cp866/history.txt", build_type .. "/docs/HISTORY.TXT"},
{"Docs/cp866/hot_keys.txt", build_type .. "/docs/HOT_KEYS.TXT"},
{"Docs/cp866/install.txt", build_type .. "/docs/INSTALL.TXT"},
{"Docs/cp866/credits.txt", build_type .. "/docs/CREDITS.TXT"},
{"Docs/cp866/sysfuncr.txt", VAR_PROGS .. "/system/docpack/trunk/SYSFUNCR.TXT"},
{"Docs/cp1251/config.txt", VAR_DATA .. "/" .. build_type .. "/docs/CONFIG.WIN.TXT", cp1251_from = build_type .. "/docs/CONFIG.TXT"},
{"Docs/cp1251/gnu.txt", "$(VAR_DATA)/$(build_type)/docs/GNU.WIN.TXT", cp1251_from = build_type .. "/docs/GNU.TXT"},
{"Docs/cp1251/history.txt", "$(VAR_DATA)/$(build_type)/docs/HISTORY.WIN.TXT", cp1251_from = build_type .. "/docs/HISTORY.TXT"},
{"Docs/cp1251/hot_keys.txt", "$(VAR_DATA)/$(build_type)/docs/HOT_KEYS.WIN.TXT", cp1251_from = build_type .. "/docs/HOT_KEYS.TXT"},
{"Docs/cp1251/install.txt", "$(VAR_DATA)/$(build_type)/docs/INSTALL.WIN.TXT", cp1251_from = build_type .. "/docs/INSTALL.TXT"},
{"Docs/cp1251/credits.txt", "$(VAR_DATA)/$(build_type)/docs/CREDITS.WIN.TXT", cp1251_from = build_type .. "/docs/CREDITS.TXT"},
{"Docs/cp1251/sysfuncr.txt", "$(VAR_DATA)/$(build_type)/docs/SYSFUNCR.WIN.TXT", cp1251_from = SRC_PROGS .. "/system/docpack/trunk/SYSFUNCR.TXT"},
{"Docs/cp866/Config.txt", build_type .. "/docs/Config.txt"},
{"Docs/cp866/Copying.txt", build_type .. "/docs/Copying.txt"},
{"Docs/cp866/History.txt", build_type .. "/docs/History.txt"},
{"Docs/cp866/Hot_Keys.txt", build_type .. "/docs/Hot_Keys.txt"},
{"Docs/cp866/Install.txt", build_type .. "/docs/Install.txt"},
{"Docs/cp866/Credits.txt", build_type .. "/docs/Credits.txt"},
{"Docs/cp866/SysFuncr.txt", VAR_PROGS .. "/system/docpack/trunk/SysFuncr.txt"},
{"Docs/cp1251/Config.txt", VAR_DATA .. "/" .. build_type .. "/docs/CONFIG.WIN.TXT", cp1251_from = build_type .. "/docs/Config.txt"},
{"Docs/cp1251/Copying.txt", "$(VAR_DATA)/$(build_type)/docs/COPYING.WIN.TXT", cp1251_from = build_type .. "/docs/Copying.txt"},
{"Docs/cp1251/History.txt", "$(VAR_DATA)/$(build_type)/docs/HISTORY.WIN.TXT", cp1251_from = build_type .. "/docs/History.txt"},
{"Docs/cp1251/Hot_Keys.txt", "$(VAR_DATA)/$(build_type)/docs/HOT_KEYS.WIN.TXT", cp1251_from = build_type .. "/docs/Hot_Keys.txt"},
{"Docs/cp1251/Install.txt", "$(VAR_DATA)/$(build_type)/docs/INSTALL.WIN.TXT", cp1251_from = build_type .. "/docs/Install.txt"},
{"Docs/cp1251/credits.txt", "$(VAR_DATA)/$(build_type)/docs/CREDITS.WIN.TXT", cp1251_from = build_type .. "/docs/Credits.txt"},
{"Docs/cp1251/SysFuncr.txt", "$(VAR_DATA)/$(build_type)/docs/SYSFUNCR.WIN.TXT", cp1251_from = SRC_PROGS .. "/system/docpack/trunk/SysFuncr.txt"},
{"HD_Load/9x2klbr/", SRC_PROGS .. "/hd_load/9x2klbr/readme_dos.txt"},
{"HD_Load/9x2klbr/", SRC_PROGS .. "/hd_load/9x2klbr/readme_win.txt"},
{"HD_Load/mtldr/", SRC_PROGS .. "/hd_load/mtldr/install.txt"},
@@ -342,12 +343,12 @@ if build_type == "ru_RU" then tup.append_table(extra_files, {
{"kolibrios/res/guide/", build_type .. "/docs/guide/*"},
{"kolibrios/develop/tcc/doc/", SRC_PROGS .. "/develop/ktcc/trunk/bin/doc/ru/*"},
}) else tup.append_table(extra_files, {
{"Docs/config.txt", build_type .. "/docs/CONFIG.TXT"},
{"Docs/copying.txt", build_type .. "/docs/COPYING.TXT"},
{"Docs/hot_keys.txt", build_type .. "/docs/HOT_KEYS.TXT"},
{"Docs/install.txt", build_type .. "/docs/INSTALL.TXT"},
{"Docs/credits.txt", build_type .. "/docs/CREDITS.TXT"},
{"Docs/sysfuncs.txt", VAR_PROGS .. "/system/docpack/trunk/SYSFUNCS.TXT"},
{"Docs/Config.txt", build_type .. "/docs/Config.txt"},
{"Docs/Copying.txt", build_type .. "/docs/Copying.txt"},
{"Docs/Hot_Keys.txt", build_type .. "/docs/Hot_Keys.txt"},
{"Docs/Install.txt", build_type .. "/docs/Install.txt"},
{"Docs/Credits.txt", build_type .. "/docs/Credits.txt"},
{"Docs/SysFuncs.txt", VAR_PROGS .. "/system/docpack/trunk/SysFuncs.txt"},
{"HD_Load/9x2klbr/", SRC_PROGS .. "/hd_load/9x2klbr/readme.txt"},
{"HD_Load/mtldr/install.txt", SRC_PROGS .. "/hd_load/mtldr/install_eng.txt"},
{"HD_Load/USB_Boot/readme.txt", SRC_PROGS .. "/hd_load/usb_boot/readme_eng.txt"},
@@ -370,6 +371,9 @@ distr_extra_files = {
{"/readme.txt", build_type .. "/distr_data/readme_distr.txt"},
}
end
tup.append_table(distr_extra_files, {
{"distribution_kit/kolibri.img", VAR_DATA .. "/kolibri.img"},
})
--[[
Files to be included in kolibri.iso outside of kolibri.img, but not distribution kit.
Same syntax as extra_files.
@@ -384,6 +388,12 @@ iso_extra_files = {
{"/readme.txt", build_type .. "/distr_data/readme.txt"},
}
end
tup.append_table(iso_extra_files, {
-- files for native CD boot
{"cdboot.bin", VAR_KERNEL .. "/bootloader/extended_primary_loader/cdfs/bootsect.bin"},
{"kernel.mnt", VAR_KERNEL .. "/kernel.mnt.ext_loader"},
{"kolibri.img", VAR_DATA .. "/kolibri.img"},
})
-- Programs that require FASM to compile.
if tup.getconfig('NO_FASM') ~= 'full' then
@@ -399,6 +409,7 @@ tup.append_table(img_files, {
{"@SS", VAR_PROGS .. "/system/scrsaver/scrsaver"},
{"@VOLUME", VAR_PROGS .. "/media/volume/volume"},
{"HACONFIG", VAR_PROGS .. "/other/ha/HACONFIG"},
{"ACLOCK", VAR_PROGS .. "/demos/aclock/aclock"},
{"APM", VAR_PROGS .. "/system/apm/apm"},
{"CALC", VAR_PROGS .. "/other/calc/trunk/calc"},
{"CALENDAR", VAR_PROGS .. "/system/calendar/trunk/calendar"},
@@ -433,6 +444,8 @@ tup.append_table(img_files, {
{"TERMINAL", VAR_PROGS .. "/system/terminal/terminal"},
{"TEST", VAR_PROGS .. "/testing/protection/trunk/test"},
{"TINYPAD", VAR_PROGS .. "/develop/tinypad/trunk/tinypad"},
{"TINFO", VAR_PROGS .. "/system/tinfo/tinfo"},
{"TIMER", VAR_PROGS .. "/other/Timer/Timer"},
{"UNZ", VAR_PROGS .. "/fs/unz/unz"},
{"ZKEY", VAR_PROGS .. "/system/zkey/trunk/ZKEY"},
{"3D/3DWAV", VAR_PROGS .. "/demos/3dwav/trunk/3dwav"},
@@ -445,50 +458,54 @@ tup.append_table(img_files, {
{"DEMOS/BCDCLK", VAR_PROGS .. "/demos/bcdclk/trunk/bcdclk"},
{"DEMOS/BUDHBROT", VAR_PROGS .. "/demos/buddhabrot/trunk/buddhabrot"},
{"DEMOS/EYES", VAR_PROGS .. "/demos/eyes/trunk/eyes"},
{"DEMOS/FIREWORK", VAR_PROGS .. "/demos/firework/trunk/firework"},
{"DEMOS/MOVBACK", VAR_PROGS .. "/demos/movback/trunk/movback"},
{"DEMOS/PLASMA", VAR_PROGS .. "/demos/plasma/trunk/plasma"},
{"DEMOS/FIREWORK", VAR_PROGS .. "/demos/firework/firework"},
{"DEMOS/MOVBACK", VAR_PROGS .. "/demos/movback/movback"},
{"DEMOS/PLASMA", VAR_PROGS .. "/demos/plasma/plasma"},
{"DEMOS/SPIRAL", VAR_PROGS .. "/demos/spiral/spiral"},
{"DEMOS/TINYFRAC", VAR_PROGS .. "/demos/tinyfrac/trunk/tinyfrac"},
{"DEMOS/TRANTEST", VAR_PROGS .. "/demos/trantest/trunk/trantest"},
{"DEMOS/TUBE", VAR_PROGS .. "/demos/tube/trunk/tube"},
{"DEMOS/UNVWATER", VAR_PROGS .. "/demos/unvwater/trunk/unvwater"},
{"DEMOS/TUBE", VAR_PROGS .. "/demos/tube/tube"},
{"DEMOS/UNVWATER", VAR_PROGS .. "/demos/unvwater/unvwater"},
{"DEMOS/WEB", VAR_PROGS .. "/demos/web/trunk/web"},
{"DEMOS/ZEROLINE", VAR_PROGS .. "/demos/zeroline/trunk/zeroline"},
{"DEVELOP/ASCIIVJU", VAR_PROGS .. "/develop/asciivju/trunk/asciivju"},
{"DEVELOP/BOARD", VAR_PROGS .. "/system/board/trunk/board"},
{"DEVELOP/DBGBOARD", VAR_PROGS .. "/system/dbgboard/dbgboard"},
{"DEVELOP/CEDIT", SRC_PROGS .. "/develop/cedit/CEDIT"},
{"DEVELOP/CHARSETS", VAR_PROGS .. "/develop/charsets/charsets"},
{"DEVELOP/COBJ", VAR_PROGS .. "/develop/cObj/trunk/cObj"},
{"DEVELOP/ENTROPYV", VAR_PROGS .. "/develop/entropyview/entropyview"},
{"DEVELOP/FASM", VAR_PROGS .. "/develop/fasm/1.73/fasm"},
{"DEVELOP/GENFILES", VAR_PROGS .. "/testing/genfiles/GenFiles"},
{"DEVELOP/PIPET", VAR_PROGS .. "/other/pipet/pipet"},
{"DEVELOP/H2D2B", VAR_PROGS .. "/develop/h2d2b/trunk/h2d2b"},
{"DEVELOP/HEED", VAR_PROGS .. "/develop/heed/trunk/heed"},
{"DEVELOP/KEYASCII", VAR_PROGS .. "/develop/keyascii/trunk/keyascii"},
{"DEVELOP/MTDBG", VAR_PROGS .. "/develop/mtdbg/mtdbg"},
{"DEVELOP/MSTATE", VAR_PROGS .. "/develop/mstate/mstate"},
{"DEVELOP/SCANCODE", VAR_PROGS .. "/develop/scancode/trunk/scancode"},
{"DEVELOP/EXAMPLES/CIRCLE", VAR_PROGS .. "/develop/examples/circle/trunk/circle"},
{"DEVELOP/EXAMPLES/COLORREF", VAR_PROGS .. "/demos/colorref/trunk/colorref"},
{"DEVELOP/EXAMPLES/CONGET", VAR_PROGS .. "/develop/libraries/console_coff/examples/test_gets"},
{"DEVELOP/EXAMPLES/CSLIDE", VAR_PROGS .. "/demos/cslide/trunk/cslide"},
{"DEVELOP/EXAMPLES/THREAD", VAR_PROGS .. "/develop/examples/thread/trunk/thread"},
{"DEVELOP/EXAMPLES/USE_MB", VAR_PROGS .. "/demos/use_mb/use_mb"},
{"File Managers/KFAR", VAR_PROGS .. "/fs/kfar/trunk/kfar"},
{"File Managers/OPENDIAL", VAR_PROGS .. "/fs/opendial/opendial"},
{"GAMES/15", VAR_PROGS .. "/games/15/trunk/15"},
{"LOD", VAR_PROGS .. "/fs/lod/lod"},
{"GAMES/15", VAR_PROGS .. "/games/15/15"},
{"GAMES/FREECELL", VAR_PROGS .. "/games/freecell/freecell"},
{"GAMES/GOMOKU", VAR_PROGS .. "/games/gomoku/trunk/gomoku"},
{"GAMES/LIGHTS", VAR_PROGS .. "/games/sq_game/trunk/SQ_GAME"},
{"GAMES/GOMOKU", VAR_PROGS .. "/games/gomoku/gomoku"},
{"GAMES/LIGHTS", VAR_PROGS .. "/games/sq_game/SQ_GAME"},
{"GAMES/LINES", VAR_PROGS .. "/games/lines/lines"},
{"GAMES/MSQUARE", VAR_PROGS .. "/games/MSquare/trunk/MSquare"},
{"GAMES/MSQUARE", VAR_PROGS .. "/games/MSquare/MSquare"},
{"GAMES/PIPES", VAR_PROGS .. "/games/pipes/pipes"},
{"GAMES/PONG", VAR_PROGS .. "/games/pong/trunk/pong"},
{"GAMES/PONG3", VAR_PROGS .. "/games/pong3/trunk/pong3"},
{"GAMES/RSQUARE", VAR_PROGS .. "/games/rsquare/trunk/rsquare"},
{"GAMES/SNAKE", VAR_PROGS .. "/games/snake/trunk/snake"},
{"GAMES/SUDOKU", VAR_PROGS .. "/games/sudoku/trunk/sudoku"},
{"GAMES/SW", VAR_PROGS .. "/games/sw/trunk/sw"},
{"GAMES/TANKS", VAR_PROGS .. "/games/tanks/trunk/tanks"},
{"GAMES/TETRIS", VAR_PROGS .. "/games/tetris/trunk/tetris"},
{"GAMES/PONG", VAR_PROGS .. "/games/pong/pong"},
{"GAMES/PONG3", VAR_PROGS .. "/games/pong3/pong3"},
{"GAMES/RSQUARE", VAR_PROGS .. "/games/rsquare/rsquare"},
{"GAMES/SNAKE", VAR_PROGS .. "/games/snake/snake"},
{"GAMES/SUDOKU", VAR_PROGS .. "/games/sudoku/sudoku"},
{"GAMES/SW", VAR_PROGS .. "/games/sw/sw"},
{"GAMES/TANKS", VAR_PROGS .. "/games/tanks/tanks"},
{"GAMES/TETRIS", VAR_PROGS .. "/games/tetris/tetris"},
{"GAMES/C4", VAR_PROGS .. "/games/c4/c4"},
{"LIB/ARCHIVER.OBJ", VAR_PROGS .. "/fs/kfar/trunk/kfar_arc/kfar_arc.obj"},
{"LIB/BOX_LIB.OBJ", VAR_PROGS .. "/develop/libraries/box_lib/trunk/box_lib.obj"},
{"LIB/BUF2D.OBJ", VAR_PROGS .. "/develop/libraries/buf2d/trunk/buf2d.obj"},
@@ -508,6 +525,7 @@ tup.append_table(img_files, {
{"LIB/SORT.OBJ", VAR_PROGS .. "/develop/libraries/sorter/sort.obj"},
{"LIB/TINYGL.OBJ", VAR_PROGS .. "/develop/libraries/TinyGL/asm_fork/tinygl.obj"},
{"MEDIA/ANIMAGE", VAR_PROGS .. "/media/animage/trunk/animage"},
{"MEDIA/FILLSCR", VAR_PROGS .. "/media/FillScr/fillscr"},
{"MEDIA/KIV", VAR_PROGS .. "/media/kiv/trunk/kiv"},
{"MEDIA/LISTPLAY", VAR_PROGS .. "/media/listplay/trunk/listplay"},
{"MEDIA/MIDAMP", VAR_PROGS .. "/media/midamp/trunk/midamp"},
@@ -587,20 +605,20 @@ tup.append_table(extra_files, {
{"kolibrios/3D/voxel_utilites/VOX_CREATOR" , VAR_PROGS .. "/media/voxel_editor/utilites/vox_creator"},
{"kolibrios/3D/voxel_utilites/VOX_MOVER" , VAR_PROGS .. "/media/voxel_editor/utilites/vox_mover"},
{"kolibrios/3D/voxel_utilites/VOX_TGL" , VAR_PROGS .. "/media/voxel_editor/utilites/vox_tgl"},
{"kolibrios/demos/life3", VAR_PROGS .. "/games/life3/trunk/life3"},
{"kolibrios/demos/life3", VAR_PROGS .. "/games/life3/life3"},
{"kolibrios/demos/qjulia", VAR_PROGS .. "/demos/qjulia/trunk/qjulia"},
{"kolibrios/develop/utils/koldbg", VAR_PROGS .. "/develop/koldbg/koldbg"},
{"kolibrios/develop/koldbg", VAR_PROGS .. "/develop/koldbg/koldbg"},
{"kolibrios/games/Almaz", VAR_PROGS .. "/games/almaz/almaz"},
{"kolibrios/games/arcanii", VAR_PROGS .. "/games/arcanii/trunk/arcanii"},
{"kolibrios/games/arcanii", VAR_PROGS .. "/games/arcanii/arcanii"},
{"kolibrios/games/bomber/bomber", VAR_PROGS .. "/games/bomber/bomber"},
{"kolibrios/games/bomber/bomberdata.bin", VAR_PROGS .. "/games/bomber/sounds/bomberdata.bin"},
{"kolibrios/games/codemaster/binary_master", VAR_PROGS .. "/games/codemaster/binary_master"},
{"kolibrios/games/codemaster/hang_programmer", VAR_PROGS .. "/games/codemaster/hang_programmer"},
{"kolibrios/games/codemaster/kolibri_puzzle", VAR_PROGS .. "/games/codemaster/kolibri_puzzle"},
{"kolibrios/games/megamaze", VAR_PROGS .. "/games/megamaze/trunk/megamaze"},
{"kolibrios/games/megamaze", VAR_PROGS .. "/games/megamaze/megamaze"},
{"kolibrios/games/invaders", VAR_PROGS .. "/games/invaders/invaders"},
{"kolibrios/games/phenix", VAR_PROGS .. "/games/phenix/trunk/phenix"},
{"kolibrios/games/soko/soko", VAR_PROGS .. "/games/soko/trunk/SOKO"},
{"kolibrios/games/phenix", VAR_PROGS .. "/games/phenix/phenix"},
{"kolibrios/games/soko/soko", VAR_PROGS .. "/games/soko/SOKO"},
{"kolibrios/media/img_transform", VAR_PROGS .. "/media/img_transform/img_transform"},
{"kolibrios/media/zsea/zsea", VAR_PROGS .. "/media/zsea/zSea"},
{"kolibrios/media/zsea/plugins/cnv_bmp.obj", VAR_PROGS .. "/media/zsea/plugins/bmp/cnv_bmp.obj"},
@@ -613,38 +631,23 @@ tup.append_table(extra_files, {
{"kolibrios/utils/calcplus", VAR_PROGS .. "/other/calcplus/calcplus"},
{"kolibrios/utils/kfm/kfm", VAR_PROGS .. "/fs/kfm/trunk/kfm"},
{"kolibrios/utils/tedit/t_edit", VAR_PROGS .. "/other/t_edit/t_edit"},
{"kolibrios/3D/blocks/block.bin", VAR_PROGS .. "/bcc32/games/blocks/block.bin"}
})
-- For russian build, add russian-only programs.
if build_type == "ru_RU" then tup.append_table(img_files, {
{"PERIOD", VAR_PROGS .. "/other/period/trunk/period"},
{"GAMES/KLAVISHA", VAR_PROGS .. "/games/klavisha/trunk/klavisha"},
{"GAMES/KLAVISHA", VAR_PROGS .. "/games/klavisha/klavisha"},
{"DEVELOP/EXAMPLES/TESTCON2", VAR_PROGS .. "/develop/libraries/console_coff/examples/testcon2_rus"},
}) else tup.append_table(img_files, {
{"DEVELOP/TESTCON2", VAR_PROGS .. "/develop/libraries/console_coff/examples/testcon2_eng"},
{"DEVELOP/EXAMPLES/TESTCON2", VAR_PROGS .. "/develop/libraries/console_coff/examples/testcon2_eng"},
}) end
if build_type == "ru_RU" then tup.append_table(extra_files, {
{"kolibrios/utils/period", VAR_PROGS .. "/other/period/trunk/period"},
{"kolibrios/games/Dungeons/Dungeons", VAR_PROGS .. "/games/Dungeons/Dungeons"},
}) end
end -- tup.getconfig('NO_FASM') ~= 'full'
-- Programs that require NASM to compile.
if tup.getconfig('NO_NASM') ~= 'full' then
tup.append_table(img_files, {
{"ACLOCK", VAR_PROGS .. "/demos/aclock/trunk/aclock"},
{"LOD", VAR_PROGS .. "/fs/lod/lod"},
{"TIMER", VAR_PROGS .. "/other/Timer/timer"},
{"TINFO", VAR_PROGS .. "/system/tinfo/tinfo"},
{"DEVELOP/MSTATE", VAR_PROGS .. "/develop/mstate/mstate"},
{"DEVELOP/GENFILES", VAR_PROGS .. "/testing/genfiles/GenFiles"},
{"GAMES/C4", VAR_PROGS .. "/games/c4/trunk/c4"},
{"MEDIA/FILLSCR", VAR_PROGS .. "/media/FillScr/fillscr"},
})
tup.append_table(extra_files, {
})
end -- tup.getconfig('NO_NASM') ~= 'full'
-- Programs that require JWASM to compile.
if tup.getconfig('NO_JWASM') ~= 'full' then
tup.append_table(img_files, {
@@ -665,21 +668,20 @@ tup.append_table(img_files, {
{"EASYSHOT", VAR_PROGS .. "/cmm/misc/easyshot.com"},
{"MOUSECFG", VAR_PROGS .. "/cmm/mousecfg/mousecfg.com"},
{"BARSCFG", VAR_PROGS .. "/cmm/barscfg/barscfg.com"},
{"SEARCH", VAR_PROGS .. "/cmm/misc/search.com"},
{"SYSPANEL", VAR_PROGS .. "/cmm/misc/software_widget.com"},
{"SYSMON", VAR_PROGS .. "/cmm/sysmon/sysmon.com"},
{"TMPDISK", VAR_PROGS .. "/cmm/tmpdisk/tmpdisk.com"},
{"DEVELOP/CLIPVIEW", VAR_PROGS .. "/cmm/clipview/clipview.com"},
{"DEVELOP/MENU", VAR_PROGS .. "/cmm/menu/menu.com"},
{"DEVELOP/PIPET", VAR_PROGS .. "/cmm/misc/pipet.com"},
{"File Managers/EOLITE", VAR_PROGS .. "/cmm/eolite/Eolite.com"},
{"File Managers/KFM2", VAR_PROGS .. "/cmm/misc/kfm2.com"},
{"KF_VIEW", VAR_PROGS .. "/cmm/kf_font_viewer/font_viewer.com"},
{"DEVELOP/DIFF", VAR_PROGS .. "/cmm/diff/diff.com"},
{"GAMES/CLICKS", VAR_PROGS .. "/games/clicks/trunk/clicks.com"},
{"GAMES/CLICKS", VAR_PROGS .. "/games/clicks/clicks.com"},
{"GAMES/MBLOCKS", VAR_PROGS .. "/cmm/misc/mblocks.com"},
{"GAMES/FLOOD-IT", VAR_PROGS .. "/games/flood-it/trunk/flood-it.com"},
{"GAMES/MINE", VAR_PROGS .. "/games/mine/trunk/mine"},
{"GAMES/NUMBERS", VAR_PROGS .. "/games/FindNumbers/trunk/FindNumbers"},
{"GAMES/FLOOD-IT", VAR_PROGS .. "/games/flood-it/flood-it.com"},
{"GAMES/MINE", VAR_PROGS .. "/games/mine/mine"},
{"GAMES/NUMBERS", VAR_PROGS .. "/games/FindNumbers/FindNumbers"},
{"MEDIA/PIXIE", VAR_PROGS .. "/cmm/pixie2/pixie.com"},
{"MEDIA/ICONEDIT", VAR_PROGS .. "/cmm/iconedit/iconedit.com"},
{"NETWORK/DL", VAR_PROGS .. "/cmm/downloader/dl.com"},
@@ -706,12 +708,12 @@ tup.append_table(img_files, {
{"TABLE", VAR_PROGS .. "/other/table/table"},
{"MEDIA/AC97SND", VAR_PROGS .. "/media/ac97snd/ac97snd.bin"},
{"GAMES/KOSILKA", VAR_PROGS .. "/games/kosilka/kosilka"},
{"GAMES/RFORCES", VAR_PROGS .. "/games/rforces/trunk/rforces"},
{"GAMES/XONIX", VAR_PROGS .. "/games/xonix/trunk/xonix"},
{"GAMES/RFORCES", VAR_PROGS .. "/games/rforces/rforces"},
{"GAMES/XONIX", VAR_PROGS .. "/games/xonix/xonix"},
})
tup.append_table(extra_files, {
{"kolibrios/games/fara/fara", VAR_PROGS .. "/games/fara/trunk/fara"},
{"kolibrios/games/LaserTank/LaserTank", VAR_PROGS .. "/games/LaserTank/trunk/LaserTank"},
{"kolibrios/games/fara/fara", VAR_PROGS .. "/games/fara/fara"},
{"kolibrios/games/LaserTank/LaserTank", VAR_PROGS .. "/games/LaserTank/LaserTank"},
})
end -- tup.getconfig('NO_MSVC') ~= 'full'
@@ -720,6 +722,7 @@ if tup.getconfig('NO_TCC') ~= 'full' then
tup.append_table(img_files, {
{"NETWORK/WHOIS", VAR_PROGS .. "/network/whois/whois"},
{"SHELL", VAR_PROGS .. "/system/shell/shell"},
{"GAMES/DINO", VAR_PROGS .. "/games/dino/dino"},
})
tup.append_table(extra_files, {
{"kolibrios/utils/thashview", VAR_PROGS .. "/other/TinyHashView/thashview"},
@@ -741,7 +744,7 @@ end -- tup.getconfig('NO_TCC') ~= 'full'
-- Programs that require GCC to compile.
if tup.getconfig('NO_GCC') ~= 'full' then
tup.append_table(img_files, {
{"GAMES/REVERSI", VAR_PROGS .. "/games/reversi/trunk/reversi"},
{"GAMES/REVERSI", VAR_PROGS .. "/games/reversi/reversi"},
{"LIB/BASE64.OBJ", VAR_PROGS .. "/develop/libraries/base64/base64.obj"},
{"LIB/LIBC.OBJ", VAR_PROGS .. "/develop/ktcc/trunk/libc.obj/source/libc.obj"},
{"LIB/ICONV.OBJ", VAR_PROGS .. "/develop/libraries/iconv/iconv.obj"},
@@ -753,7 +756,7 @@ tup.append_table(extra_files, {
{"kolibrios/emul/e80/e80", VAR_PROGS .. "/emulator/e80/trunk/e80"},
{"kolibrios/emul/uarm/", VAR_CONTRIB .. "/other/uarm/uARM"},
{"kolibrios/games/2048", VAR_PROGS .. "/games/2048/2048"},
{"kolibrios/games/checkers", VAR_PROGS .. "/games/checkers/trunk/checkers"},
{"kolibrios/games/checkers", VAR_PROGS .. "/games/checkers/checkers"},
{"kolibrios/games/donkey", VAR_PROGS .. "/games/donkey/donkey"},
{"kolibrios/games/heliothryx", VAR_PROGS .. "/games/heliothryx/heliothryx"},
{"kolibrios/games/marblematch3", VAR_PROGS .. "/games/marblematch3/marblematch3"},
@@ -891,10 +894,6 @@ for i,v in ipairs(img_files) do
str = string.gsub(str, "%%", "%%%%") -- escape % as %%
cmd += " && str=" .. str
cmd += ' && echo -n $str | dd status=none of=%o bs=1 seek=`expr 274 - length "$str"` conv=notrunc'
str2='$(get-current-cmtid|grep -oE "\\+[0-9]+")'
str2 = string.gsub(str2, "%$", "\\$") -- escape $ as \$
cmd += " && str2=" .. str2
cmd += ' && echo -n $str2 | dd status=none of=%o bs=1 seek=216 conv=notrunc'
end
local_file = VAR_KERNEL .. "/.kernel.mnt"
tup.definerule{inputs = {v[2]}, command = cmd, outputs = {local_file}}
@@ -907,7 +906,6 @@ end
tup.definerule{inputs = input_deps, command = make_img_command1, outputs = {"kolibri.img"}}
-- generate command and dependencies for mkisofs
input_deps = {VAR_DATA .. "/kolibri.img"}
iso_files_list = ""
for i,v in ipairs(iso_extra_files) do
iso_files_list = iso_files_list .. ' "' .. v[1] .. '=' .. v[2] .. '"'
@@ -921,14 +919,16 @@ else volume_id = "KolibriOS"
end
tup.definerule{inputs = input_deps, command =
'^ MKISOFS kolibri.iso^ ' .. -- for tup: don't write full command to logs
'mkisofs -U -J -pad -b kolibri.img -c boot.catalog -hide-joliet boot.catalog -graft-points ' ..
'-A "KolibriOS AutoBuilder" -p "CleverMouse" -publisher "KolibriOS Team" -V "' .. volume_id .. '" -sysid "KOLIBRI" ' ..
'-iso-level 3 -o %o ' .. VAR_DATA .. '/kolibri.img' .. iso_files_list .. ' 2>&1',
'mkisofs -U -J -pad -b cdboot.bin -no-emul-boot -c boot.catalog'
.. ' -hide-joliet boot.catalog -hide-joliet cdboot.bin'
.. ' -hide-joliet kernel.mnt -graft-points'
.. ' -A "KolibriOS AutoBuilder" -p "CleverMouse"'
.. ' -publisher "KolibriOS Team" -V "' .. volume_id .. '" -sysid "KOLIBRI"'
.. ' -iso-level 3 -o %o ' .. iso_files_list .. ' 2>&1',
outputs = {"kolibri.iso"}}
-- generate command and dependencies for distribution kit
cp = 'cp "%f" "%o"'
tup.definerule{inputs = {VAR_DATA .. "/kolibri.img"}, command = cp, outputs = {"distribution_kit/kolibri.img"}}
for i,v in ipairs(distr_extra_files) do
cmd = cp:gsub("%%f", string.gsub(v[2], "%%", "%%%%")) -- input can be a group, we can't rely on tup's expansion of %f in this case
if string.sub(v[1], -1) == "/"
@@ -1017,9 +1017,15 @@ for i,v in ipairs(raw_files) do
table.insert(input_deps, v.group or local_file)
end
tup.definerule{inputs = {}, command = "echo '" .. make_raw_command1 .. "' > %o", outputs = {'make_raw_command1_file'}}
tup.definerule{inputs = {}, command = "echo '" .. make_raw_command2 .. "' > %o", outputs = {'make_raw_command2_file'}}
tup.definerule{inputs = {}, command = "echo '" .. make_raw_command3 .. "' > %o", outputs = {'make_raw_command3_file'}}
tup.definerule{inputs = {}, command = "^ Prepare command file #1 for the raw image^"
.. "echo '" .. make_raw_command1 .. "' > %o",
outputs = {'make_raw_command1_file'}}
tup.definerule{inputs = {}, command = "^ Prepare command file #2 for the raw image^"
.. "echo '" .. make_raw_command2 .. "' > %o",
outputs = {'make_raw_command2_file'}}
tup.definerule{inputs = {}, command = "^ Prepare command file #3 for the raw image^"
.. "echo '" .. make_raw_command3 .. "' > %o",
outputs = {'make_raw_command3_file'}}
table.insert(input_deps, 'make_raw_command1_file')
table.insert(input_deps, 'make_raw_command2_file')

View File

@@ -1,8 +0,0 @@
KolibriOS 0.7.7.0+ nightly build, Live CD version.
This is a bootable CD-ROM. To run, reboot your computer and select the
correct drive from the system settings or BIOS if required.
The minimum system requirements and installation instructions can be found
in 'install.txt'. Further details for configuring and customizing KolibriOS
are given in 'config.txt'.

View File

@@ -1,5 +0,0 @@
KolibriOS 0.7.7.0+ nightly build.
The minimum system requirements and installation instructions can be found
in 'install.txt'. Further details for configuring and customizing KolibriOS
are given in 'config.txt'.

View File

@@ -1,16 +0,0 @@
The following "hot" shortcut keys are used in the system:
(Indexing on time of appearance in the system)
1) Ctrl + Alt + Del start of the application CPU (the manager of processes), is a sole combination maintained on a level of a kernel, all rest "hot" key is realized at the expense of the application @TASKBAR.
2) Ctrl + Shift - switching of keyboard layout.
3) Win - start of the application MENU.
4) Alt + Ctrl + F12 - start of the application END.
5) Alt + F4 - terminate the active application.
6) Alt + Tab - switch to the next (in the window stack) window
7) Alt + Shift + Tab - switch to the previous (in the window stack) window
8) Alt + Shift + NumLock - start of the application MOUSEMUL, which emulates mouse with numpad, when NumLock is on.
9) Alt + 1...7 - fast switching to the selected keyboard layout (even if absent for Ctrl + Shift)
10) Win + D - minimize/restore all windows (cleaning of desktop)
11) Win + R - start of the application RUN
12) Alt + Ctrl + ArrowLeft - to scroll back a list of the taskbar
13) Alt + Ctrl + ArrowRight - to scroll forward a list of the taskbar
14) Ctrl + PrintScreen - start of the application SCRSHOOT. Just do a screen shot and the user is offered to specify (with OpenDialog) where to save the BMP image.

View File

@@ -1,109 +0,0 @@
Minimal system requirements for Kolibri 0.7.x.0:
* CPU: Pentium, AMD 5x86 or Cyrix 5x86 without MMX with frequency 100 MHz
* RAM: 8 Mb
* Videocard: supporting VGA (640*480*16 mode) or Vesa
* Keyboard: AT
* Mouse: COM or PS/2
The system can boot from any of following devices:
- Floppy 3.5
- IDE HDD LBA
- CD/DVD
- USB Flash
I. Install to floppy.
1) Insert clean floppy without bad sectors to drive.
2) Write to it kolibri.img image with any available methods:
a) (if you have already loaded Kolibri by any method) run the program
rdsave and select the variant corresponding to floppy
b) (for DOS and Windows) run subjoined install.bat
c) with program WinImage or its analogue (e.g. DiskExplorer)
d) (for Linux) set "executable" attribute to subjoined script install.sh
and run it
Now you can boot from floppy (keep it in drive, reboot, set in BIOS option
of floppy booting).
II. Install to hard disk.
There exists several loaders from hard disk. All are oriented on DOS and
Windows users. Also standard Linux-loader GRUB can be used. All methods work
with file kolibri.img. If you already have old version of Kolibri installed,
simply replace kolibri.img to new. If you have booted from LiveCD, which
does not contain the file kolibri.img, Kolibri can create it independently,
to do this, run the program rdsave, enter the file name for saving and select
the corresponding variant. Of course, in this case Kolibri must be able to
write to file system of selected partitions, currently this means that
only FAT volumes are ok.
1) Most of all features has the loader mtldr (author - Diamond) - works with
DOS/Win95/98/NT/2k/XP/Vista, supports FAT32 and NTFS, has installator, can
be installed to any folder on disk.
To install, simply run file HD_load\mtldr_install.exe and select image file.
Apropos, by this way you can install several images. There is also
variant of install by hand - for those who want to know what installator
does: directions in HD_load\mtldr
2) There is also the loader MeOSLoad (author - Trans, expanded by Mario79) -
works with DOS/Win95/98, supports FAT32, it is placed with the instruction
to the folder HD_load\MeOSLoad.
3) Moreover, there exist a program which allow load Kolibri directly from
Windows 95/98/Me (of course, unloading it) - 9x2klbr (author - Diamond),
supports FAT32 and NTFS.
4) Usage of the loader GRUB. The way of using file 'memdisk' to load Kolibri
has been described by derPENGUIN on english forum
(http://meos32.7.forumer.com/viewtopic.php?t=110).
The suggested method (described by Alver) is based on that description
and was checked on grub-0.97-19mdv2007.0.
1. Kolibri can write only on FAT filesystem, so if image file is placed not
to FAT volume, the system can not save settings. Therefore if you have
FAT32 partition, place 'kolibri.img' there.
2. This method requires the file 'memdisk' from the package 'syslinux'
(http://syslinux.zytor.com). You may install the whole package or only
extract the mentioned file. Only the file 'memdisk' is needed. (After
package install it will be in '/usr/lib/syslinux').
3. Place the file 'memdisk' to the folder 'boot' or to the partition used
for Kolibri.
4. Add to the configuration file 'menu.lst' ('grub.conf') lines as follow:
title KolibriOS
kernel (hd[Hard disk number],[partition number])[path]/memdisk
initrd (hd[Hard disk number],[partition number])[path]/kolibri.img
(Remember that numeration of partitions in GRUB starts from 0.)
Example:
title KolibriOS
kernel (hd0,0)/boot/memdisk
initrd (hd0,3)/kolibri/kolibri.img
The initial variant was:
label KolibriOS
root (hd[Hard disk number],[partition number])
kernel [path]/memdisk
initrd [path]/kolibri.img
Here 'memdisk' and 'kolibri.img' must be placed on the same partition.
Example:
label KolibriOS
root (hd0,0)
kernel /boot/memdisk
initrd /boot/kolibri.img
This example is the variant described on english forum, with install to
Linux boot partition (of course, without FAT partition).
5) The previous method could not work as is in GRUB2 (tested by Apocalypse_dn),
the commands "linux16" and "initrd16" should be used instead of "kernel"
and "initrd" (suggested by vkos).
III. Install to USB-Flash-drive.
The special loader for FAT32-volumes has been written, it and its installer
to flash drive can be found in the folder HD_load\USB_Boot.
For not-FAT32 drives you may use article placed in the folder
HD_load\USB_Boot_old.
IV. Install to CD and DVD.
There exists special LiveCD-version of Kolibri, which contains
in addition to standard things some "heavy" (in Kolibri standards) programs:
the ported emulator DosBox, games "Fixed Rate Pig" and "sokoban".
You can also create bootable CD or DVD on the base of kolibri.img, adding
anything what you want, in the mode of floppy emulation.
The appropriate actions are determined by used CD/DVD write program
(focus on words such as "boot floppy emulation").

Binary file not shown.

Binary file not shown.

View File

@@ -1 +0,0 @@
lang fix ca_ES

View File

@@ -1,230 +0,0 @@
[rbmenu]
Processes=cpu
Themes=desktop
Background=/sys/media/palitra
Device setup=setup
Shell=shell
[00]
name=KFM2
path=/SYS/FILE MANAGERS/KFM2
param=
ico=3
x=0
y=0
[01]
name=TINYPAD
path=TINYPAD
param=
ico=9
x=0
y=68
[02]
name=EOLITE
path=/SYS/FILE MANAGERS/EOLITE
param=
ico=1
x=68
y=0
[03]
name=SHELL
path=SHELL
param=
ico=2
x=136
y=0
[04]
name=KFAR
path=/SYS/FILE MANAGERS/KFAR
param=
ico=16
x=68
y=68
[05]
name=RDSAVE
path=RDSAVE
param=
ico=17
x=0
y=136
[06]
name=FB2READ
path=FB2READ
param=
ico=44
x=68
y=136
[07]
name=ANIMAGE
path=/SYS/MEDIA/ANIMAGE
param=
ico=15
x=136
y=68
[08]
name=KPACK
path=KPACK
param=
ico=10
x=-67
y=0
[09]
name=SNAKE
path=/SYS/GAMES/SNAKE
param=
ico=32
x=-135
y=-135
[0A]
name=MINE
path=/SYS/GAMES/MINE
param=
ico=14
x=-67
y=-67
[0B]
name=SEAWAR
path=/SYS/GAMES/SW
param=
ico=66
x=-135
y=-67
[0C]
name=MBLOCKS
path=/SYS/GAMES/MBLOCKS
param=
ico=11
x=-67
y=-135
[0D]
name=PONG
path=/SYS/GAMES/PONG3
param=
ico=12
x=-203
y=-67
[0E]
name=15
path=/SYS/GAMES/15
param=
ico=34
x=-271
y=-67
[0F]
name=DOCPACK
path=DOCPACK
param=
ico=8
x=-67
y=68
[10]
name=BOARD
path=/SYS/DEVELOP/BOARD
param=
ico=19
x=-135
y=0
[11]
name=HEXEDIT
path=/SYS/DEVELOP/HEED
param=
ico=22
x=-135
y=136
[12]
name=DEBUG
path=/SYS/DEVELOP/MTDBG
param=
ico=39
x=-203
y=0
[13]
name=PIPES
path=/SYS/GAMES/PIPES
param=
ico=26
x=0
y=-135
[14]
name=SUDOKU
path=/SYS/GAMES/SUDOKU
param=
ico=25
x=0
y=-67
[15]
name=GOMOKU
path=/SYS/GAMES/GOMOKU
param=
ico=24
x=68
y=-67
[16]
name=XONIX
path=/SYS/GAMES/XONIX
param=
ico=21
x=68
y=-135
[17]
name=FLAPPY-BIRD
path=/SYS/GAMES/FLPYBIRD
param=
ico=49
x=-271
y=-135
[18]
name=KOSILKA
path=/SYS/GAMES/KOSILKA
param=
ico=23
x=136
y=-67
[19]
name=FLOOD-IT
path=/SYS/GAMES/FLOOD-IT
param=
ico=59
x=136
y=-135
[1A]
name=FASM
path=/SYS/DEVELOP/FASM
param=
ico=10
x=-135
y=68
[1B]
name=CLICKS
path=/SYS/GAMES/CLICKS
param=
ico=18
x=-203
y=-135
[1C]
name=WEBVIEW
path=/sys/NETWORK/WebView
param=
ico=31
x=136
y=136
[1D]
name=SYSPANEL
path=SYSPANEL
param=
ico=6
x=-67
y=136
[1E]
name=CALC
path=CALC
param=
ico=4
x=-203
y=68
[1F]
name=APP+
path=app_plus
param=
ico=27
x=-203
y=136

View File

@@ -1,9 +0,0 @@
KolibriOS
version 0770
svnr 4483
language ca_ES
;just comment
; Hi, curious person! :-)
; Thanks
; 08/01/2016 Creating lang català

View File

@@ -1,30 +0,0 @@
[start]
startlng = 1
[comkey]
ccomkey1 = 1
ccomkey2 = 4
ccomkey3 = 0
[altkey]
altkey1 = 1
altkey2 = 4
altkey3 = 7
altkey4 = 3
altkey5 = 5
altkey6 = 6
altkey7 = 2
altkey8 = 8
altkey9 = 9
altkey0 = 0
[langs]
1 = En
2 = Fi
3 = Ge
4 = Ru
5 = Fr
6 = Et
7 = Ua
8 = It
9 = Be

View File

@@ -1,128 +0,0 @@
#0 **** Principal ****
58 Welcome |welcome.htm
00 2D Demos > |@1
00 3D Demos > |@2
00 Gr<47>fics > |@3
00 Multim<69>dia > |@4
00 Emuladors > |@15
00 Desenvolupament > |@5
00 Sistema > |@7
00 Proc<6F>s de dades > |@9
00 Xarxa > |@10
00 Altres > |@13
23 Centre de jocs |allgames
60 System panel |syspanel
18 Ajuda |docpack
53 Executar aplicaci<63> |run
04 Aturar |end
#1 **** DEMOS ****
16 Cercle |demos/circle
16 Fractal |demos/tinyfrac
16 Color demo |demos/colorref
16 Ulls |demos/eyes
16 Tub |demos/tube
16 Plasma |demos/plasma
16 Spiral |demos/spiral
16 Retrocedir |demos/movback
16 Vida |demos/life2
16 TranTest |demos/trantest
16 WEB |demos/web
16 FireWork |demos/firework
16 UnvWater |demos/unvwater
#2 **** 3D ****
15 Protector de pantalla |3d/crownscr
15 3D-laberint |3d/free3d04
15 Cor |3d/3dsheart
15 VeureDS |3d/view3ds
15 CubeLine |3d/cubeline
15 Engranatges |3d/gears
15 zona ondulada-3D |3d/3dwav
#3 **** GR<47>FICS ****
06 Visor d'imatges KIV |media/kiv
06 Visor d'imatges zSea |/kolibrios/media/zsea/zsea
38 Animage |media/animage
38 IconEdit |media/iconedit
40 Efectes d'imatges |media/imgf/imgf
52 Palitra |media/palitra
39 Pipet |develop/pipet
#4 **** MULTIM<49>DIA ****
53 Pixie - audio |media/pixie
07 MidAMP |media/midamp
22 Toy piano |media/piano
52 Generador de fons |media/palitra
11 Fplay - video * |/kolibrios/media/fplay
#5 **** DESARROLLO ****
00 Exemples > |@6
09 Arxivador KPack |kpack
54 Assemblador Flat |develop/fasm
13 Panell de depuraci<63> |develop/board
16 Depurador |develop/mtdbg
34 Hex2Dec2Bin |develop/h2d2b
59 Taula de car<61>cters |develop/ASCIIVju
59 Codis ASCII |develop/keyascii
59 Codis SCAN |develop/scancode
#6 **** EXEMPLES ****
16 Threads |develop/thread
16 Selector de color |demos/cslide
16 Exemple de consola 1 |develop/testcon2
16 Exemple de consola 2 |develop/test_gets
16 Exemple Missatge caixa|demos/use_mb
#7 **** SISTEMA ****
00 Arxius > |@8
00 Accesibilitat > |@14
13 Panell depuraci<63> |develop/board
56 Clipboard viewer |develop/clipview
24 Terminal |terminal
24 SHELL |shell
51 Virtual disks |tmpdisk
05 Guardar imatge RD |rdsave
#8 **** ARCHIUS ****
24 KFAR |File Managers/kfar
05 KFM2 |File Managers/kfm2
50 Eolite |File Managers/Eolite
20 fNav * |/kolibrios/utils/fNav/fNav
#9 **** PROC<4F>S DE DADES ****
16 Calculadora |calc
03 Tinypad |tinypad
28 TextEdit |develop/cedit
21 Procesador de tables |table
47 Generador de gr<67>fique |graph
59 Hex-Editor |develop/heed
09 Unarchiver Unz |unz
#10 **** XARXA ****
00 Servidors > |@11
00 Clients > |@12
25 Dispositius de xarxa |network/netcfg
25 Estat de la xarxa |network/netstat
#11 **** SERVIDORS ****
16 Dimoni FTP |network/ftpd
#12 **** CLIENTS ****
13 Client IRC |network/ircc
16 Client FTP |network/ftpc
50 Cliente TFTP |network/tftpc
24 Ping |network/ping
24 Client Telnet |network/telnet
24 Client Synergy |network/synergyc
24 Resoluci<63><69> de noms |network/nslookup
61 VNC Viewer |network/vncc
33 Client de baixades |network/downloader
12 Navegador (mode text) |network/webview
#13 **** ALTRES ****
16 Rellotge anal<61>gic |aclock
16 Rellotge binari |demos/bcdclk
16 Contador |timer
45 Capturador de pantalla|scrshoot
45 Easyshot |easyshot
16 Calendari |calendar
03 Lector de RTF |rtfread
#14 **** ACCESIBILITAT ****
49 Ampliaci<63> de pantalla |magnify
59 Teclat en pantalla |zkey
#15 **** EMULADORS ****
24 DOSBox * |/kolibrios/emul/DosBox/dosbox
16 e80 (ZX Spectrum) * |/kolibrios/emul/e80/e80
23 Gameboy Color * |/kolibrios/emul/gameboy
23 FCE Ultra (NES) * |/kolibrios/emul/fceu/fceu
23 ZSNES * |/kolibrios/emul/zsnes/zsnes
16 ScummVM * |/kolibrios/emul/scummvm
##

View File

@@ -1 +0,0 @@
CONFIG_LANG=ca

View File

@@ -3,165 +3,165 @@
<up>=1
<lot>=20
mnt=2
txt=3
rtf=3
log=3
dic=3
doc=3
docx=3
exc=3
wtx=3
inf=3
odt=3
log=3
ob07=3
inc=4
c=14
odt=3
rtf=3
txt=3
wtx=3
h=4
img=5
ima=5
imz=5
inc=4
bwz=5
dsk=5
ima=5
img=5
imz=5
vfd=5
wil=5
wlz=5
jpg=6
ani=6
bmp=6
cr2=6
crw=6
cur=6
dcr=6
dcx=6
dib=6
djv=6
djvu=6
fpx=6
gif=6
ico=6
iff=6
ilbm=6
iw4=6
j2c=6
j2k=6
jfif=6
jif=6
jp2=6
jpc=6
jpe=6
jpeg=6
jif=6
jfif=6
jp2=6
jpx=6
jpg=6
jpk=6
j2k=6
jpc=6
j2c=6
bmp=6
dib=6
rle=6
jpx=6
lbm=6
mrw=6
nef=6
orf=6
pbm=6
pgm=6
pnm=6
wbm=6
wbmp=6
xbm=6
xpm=6
gif=6
png=6
ico=6
cur=6
ani=6
tif=6
tiff=6
xif=6
tga=6
pcd=6
pct=6
pcx=6
xcf=6
dcx=6
pef=6
pgm=6
pic=6
pict=6
pix=6
png=6
pnm=6
ppm=6
psd=6
psp=6
raw=6
raf=6
x3f=6
orf=6
nef=6
mrw=6
dcr=6
crw=6
cr2=6
ras=6
pix=6
pict=6
pct=6
pic=6
pef=6
pcd=6
iff=6
lbm=6
ilbm=6
fpx=6
djv=6
djvu=6
iw4=6
wav=7
mp3=7
xm=7
mid=22
midi=22
raw=6
rle=6
tga=6
tif=6
tiff=6
wbm=6
wbmp=6
x3f=6
xbm=6
xcf=6
xif=6
xpm=6
aif=7
aifc=7
aiff=7
au=7
mp3=7
snd=7
wma=7
wav=7
wm=7
exe=8
wma=7
xm=7
com=8
exe=8
7z=9
rar=9
zip=9
cab=9
arj=9
bz=9
bz2=9
cab=9
gz=9
ice=9
lha=9
lzh=9
rar=9
tar=9
taz=9
tbz=9
tbz2=9
bz=9
bz2=9
ice=9
gz=9
tgz=9
uue=9
uu=9
uue=9
xxe=9
z=9
zip=9
ini=10
avi=11
mpg=11
mpe=11
mpeg=11
flv=11
3gp=11
avi=11
flv=11
mkv=11
wmv=11
mov=11
mp4=11
mpe=11
mpeg=11
mpg=11
vob=11
webm=11
wmv=11
eml=12
htm=12
html=12
mht=12
eml=12
url=12
c=14
cpp=14
js=14
json=14
lif=15
3ds=15
asc=15
vox=15
stl=15
bjs=15
lif=15
stl=15
vox=15
kex=16
skn=17
obj=18
dll=18
drv=18
obj=18
ocx=18
so=18
drv=18
iso=19
cue=19
iso=19
mdf=19
csv=21
xls=21
xlsx=21
nes=23
snes=23
sna=23
mid=22
midi=22
min=23
nes=23
sna=23
snes=23
bat=24
sh=24
sys=25
@@ -178,14 +178,14 @@ ob7=29
grf=47
mgb=47
ch8=48
dtp=52
css=52
dtp=52
pal=52
ttf=59
ttc=59
chr=59
kf=59
mt=59
ttc=59
ttf=59
cfg=60
scr=61
com=63
@@ -195,9 +195,8 @@ com=63
<dir>=45
<up>=45
<lot>=60
com=1
bat=1
sh=55
com=1
exe=2
img=3
ini=5
@@ -208,51 +207,51 @@ xlsx=28
vox=30
htm=31
html=31
url=31
mht=31
url=31
sys=38
avi=40
mpg=40
mpe=40
mpeg=40
flv=40
3gp=40
avi=40
flv=40
mkv=40
wmv=40
mov=40
mp4=40
mpe=40
mpeg=40
mpg=40
vob=40
webm=40
wmv=40
fb2=44
asm=55
log=55
wav=64
sh=55
mp3=64
wav=64
xm=64
png=70
jpg=70
jpeg=70
bmp=70
gif=70
jpeg=70
jpg=70
pcx=70
png=70
pdf=73
mid=74
midi=74
mid=74
midi=74
3ds=78
stl=78
zip=89
7z=89
obj=92
dll=92
skn=80
kex=88
7z=89
zip=89
dll=92
obj=92
kf=118
mgb=121
txt=122
rtf=122
docx=122
rtf=122
txt=122
[drives16]
r=58
@@ -263,6 +262,7 @@ b=50
u=57
c=19
[drives32]
r=49
f=3

View File

@@ -1,2 +1,2 @@
[AutoRun]
icon=KolibriOS_icon.ico
icon=kolibrios.ico

View File

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 720 B

After

Width:  |  Height:  |  Size: 700 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 809 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 19 KiB

View File

@@ -27,7 +27,6 @@ Guide=network/webview|/kolibrios/res/guide/guide.htm,92
DosBox=/k/emul/dosbox/dosbox,11
Dicty=/k/utils/DICTY.KEX,79
fNav=/k/utils/fNav/fNav,93
TextEdit=/k/utils/tedit/t_edit,58
CncEditor=/k/utils/cnc_editor/cnc_editor,15
Life=/k/demos/life2,13
Calc+=/k/utils/calcplus,4
@@ -36,5 +35,4 @@ THashView=/k/utils/thashview,124
Notes=/k/utils/notes,117
Table=table,28
FtpClient=network/ftpc,90
Quark=/k/utils/quark,85

View File

@@ -67,15 +67,9 @@ icon=98
exec=/kolibrios/utils/thashview
icon=124
[TextEdit]
exec=/kolibrios/utils/tedit/t_edit
icon=9
next=$CodeEdit
[Quark]
exec=/kolibrios/utils/quark
icon=85
next=$TinyPad
[FASM]
exec=/sys/develop/fasm
icon=10
[TinyPad]
exec=/sys/tinypad
@@ -85,7 +79,7 @@ next=$TextEditor
[Assoc]
/=/sys/file managers/eolite
kf=/sys/KF_VIEW
kf=/sys/syspanel
txt=$CodeEdit
log=$CodeEdit
@@ -100,11 +94,11 @@ lua=$CodeEdit
ob07=$CodeEdit
json=$CodeEdit
asm=$TinyPad
inc=$TinyPad
mac=$TinyPad
inf=$TinyPad
conf=$TinyPad
asm=$CodeEdit
inc=$CodeEdit
mac=$CodeEdit
inf=$CodeEdit
conf=$CodeEdit
ini=$TextEditor

View File

@@ -16,6 +16,7 @@ Freecell=games/freecell,68
Pong=games/pong,101
Pong3=games/pong3,12
Arcanii=/kg/arcanii,12
Dino=games/dino,129
[Arcade]
LaserTank=/kg/lasertank/lasertank,72

BIN
data/common/signs.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

2
data/en_US/Tupfile.lua Normal file
View File

@@ -0,0 +1,2 @@
if tup.getconfig("NO_FASM") ~= "" then return end
tup.rule("welcome.htm", "cp %f %o" .. tup.getconfig("KPACK_CMD"), "welcome.htm.kpack")

View File

@@ -1,128 +0,0 @@
KolibriOS team
--------------
We thank everyone who helped to create and develop KolibriOS,
many of whom are listed below ~
System Programming (loaders, kernel, etc.) :
- Alver
- art_zh
- Asper
- Boppan
- CleverMouse
- Coldy
- Doczom
- dunkaist
- Galkov
- Evgeny Grechnikov 'Diamond'
- Andrey Halyavin 'halyavin'
- hidnplayr
- Andrey Ignatiev 'andrew_programmer'
- Johnny_B
- kasTIgar
- Sergey Kuzmin 'Wildwest'
- Mihail Lisovin 'Mihasik'
- Maxis
- Iliya Mihailov 'Ghost'
- Nable
- NoName
- Ivan Poddubny
- rgimad
- Rus
- Mihail Semenyako 'mike.dld'
- Sergey Semyonov 'Serge'
- shurf
- SPraid
- Alexey Teplov '<Lrz>'
- Trans
- tsdima
- turbanoff
- VaStaNi
- Marat Zakiyanov 'Mario79'
Application Programming (new creations, porting or revisions) :
- Alver
- art_zh
- Artemonische
- Asper
- barsuk
- Vitaly Bendik 'mistifi(ator'
- Mario Birkner 'cYfleXX'
- Aleksandr Bogomaz 'Albom'
- chaykin
- CleverMouse
- DedOk
- Dron2004
- dunkaist
- ealex
- Pavlushin Evgeny 'Exis'
- Maxim Evtihov 'Maxxxx32'
- Gluk
- Evgeny Grechnikov 'Diamond'
- Maciej Guba 'macgub'
- Andrey Halyavin 'halyavin'
- Hex
- iadn
- Andrey Ignatiev 'andrew_programmer'
- IgorA
- Andrey Ivushkin 'Willow'
- Johnny_B
- kaitz
- Vasiliy Kosenko 'vkos'
- Sergey Kuzmin 'Wildwest'
- Kirill Lipatov 'Leency'
- Mihail Lisovin 'Mihasik'
- Alexander Meshcheryakov 'Self-Perfection'
- Iliya Mihailov 'Ghost'
- Navanax
- nilgui
- Olaf
- hidden player 'hidnplayr'
- Ivan Poddubny
- Pterox
- Rus
- Pavel Rymovski 'Heavyiron'
- Mihail Semenyako 'mike.dld'
- Sergey Semyonov 'Serge'
- SPraid
- staper
- Alexey Teplov '<Lrz>'
- trolly
- tsdima
- vectoroc
- YELLOW
- Vladimir Zaitsev 'Rabid Rabbit'
- Marat Zakiyanov 'Mario79'
Documentation and Translation :
- Andrew Dent 'ace_dent'
- Evgeny Grechnikov 'Diamond'
- Hex
Infrastructure (forum, site and SVN hosting) :
- CodeWorld
- mike.dld
Design (logo, background, icons) :
- goglus
- Kirill Lipatov 'Leency'
- Alexey Teplov '<Lrz>'
Testing and Support :
- AqwAS
- Ataualpa
- Vitaly Bendik 'mistifi(ator'
- camper
- ChE
- Dmitry the Sorcerer
- Galkov
- Maxis
- Mike
- Pavel Rymovski 'Heavyiron'
- vectoroc
- Veliant
and many others...
KolibriOS team

View File

@@ -1,14 +1,16 @@
The following "hot" shortcut keys are used in the system:
(Indexing on time of appearance in the system)
1) Ctrl + Alt + Del start of the application CPU (the manager of processes), is a sole combination maintained on a level of a kernel, all rest "hot" key is realized at the expense of the application @TASKBAR.
2) Ctrl + Shift - switching of keyboard layout.
3) Win - start of the application MENU.
4) Alt + Ctrl + F12 - start of the application END.
5) Alt + F4 - terminate the active application.
6) Alt + Tab - switch to the next (in the window stack) window
7) Alt + Shift + Tab - switch to the previous (in the window stack) window
2) Ctrl + Shift - switching of keyboard layout
3) Win - start of the application MENU
4) Alt + Ctrl + F12 - start of the application END
5) Alt + F4 - terminate the active application
6) Alt + Tab - switch to the next window
7) Alt + Shift + Tab - switch to the previous window
8) Alt + Shift + NumLock - start of the application MOUSEMUL, which emulates mouse with numpad, when NumLock is on.
9) Alt + 1...7 - fast switching to the selected keyboard layout (even if absent for Ctrl + Shift)
10) Win + D - minimize/restore all windows (cleaning of desktop)
10) Win + D - minimize/restore all windows
11) Win + R - start of the application RUN
12) Ctrl + PrintScreen - start of the application SCRSHOOT. Just do a screen shot and the user is offered to specify (with OpenDialog) where to save the BMP image.
12) Ctrl + PrintScreen - start of the application SCRSHOOT
13) Ctrl + Alt + Left / Right - change sound volume
Ctrl + Alt + Up / Down - mute and unmute sound

View File

@@ -30,12 +30,13 @@ Installation: BIOS mode
* (if you have already loaded KolibriOS by any method) run the program
`rdsave` and select the variant corresponding to floppy;
* (for DOS and Windows) run subjoined install.bat;
* for DOS use DskImage;
* for Windows use WinImage, RawWrite for Windows or its analogue;
* with program WinImage or its analogue (e.g. DiskExplorer);
* (for Linux) set "executable" attribute to subjoined script install.sh
and run it.
* if you have Linux then try smth like
`dd if=/pathto/kolibri.img of=/dev/fd0 bs=512 count=2880`
Wait. And make sure to umount the drive before ejecting the disk.
Now you can boot from floppy (keep it in drive, reboot, set in BIOS option of
floppy booting).

View File

@@ -106,8 +106,8 @@ name=15
path=/SYS/GAMES/15
param=
ico=34
x=-271
y=-67
x=-67
y=-203
[0F]
name=DOCPACK
path=DOCPACK
@@ -116,8 +116,8 @@ ico=8
x=-67
y=68
[10]
name=BOARD
path=/SYS/DEVELOP/BOARD
name=DBGBOARD
path=/SYS/DEVELOP/DBGBOARD
param=
ico=19
x=-135
@@ -165,12 +165,12 @@ ico=21
x=68
y=-135
[17]
name=FLAPPY-BIRD
name=FLOPPY-BIRD
path=/SYS/GAMES/FLPYBIRD
param=
ico=49
x=-271
y=-135
x=-135
y=-203
[18]
name=KOSILKA
path=/SYS/GAMES/KOSILKA
@@ -248,3 +248,10 @@ param=
ico=125
x=204
y=136
[23]
name=DINO
path=/sys/games/dino
param=
ico=129
x=-203
y=-203

View File

@@ -12,6 +12,7 @@
23 Game Center |allgames
60 System panel |syspanel
18 Documentation |docpack
49 Search |search
53 Run |run
04 Shut down |end
#1 **** DEMOS
@@ -49,15 +50,15 @@
11 Fplay Video * |/kolibrios/media/fplay
#5 **** DEV
54 Flat Assembler |develop/fasm
27 Example.asm |example.asm
49 Debugger |develop/mtdbg
27 Example.asm |/sys/example.asm
49 Debugger mtdbg |develop/mtdbg
49 Debugger koldbg * |/kolibrios/develop/koldbg
13 Debug Board |develop/board
09 KPack Archiver |kpack
20 Diff Tool |develop/diff
52 Shared resources |/sys/@reshare
34 Base Converter |develop/h2d2b
59 Character table |develop/ASCIIVju
59 Key ASCII-codes |develop/keyascii
59 Charsets Viewer |develop/CHARSETS
59 Key SCAN-codes |develop/scancode
#6 **** EMUL
24 DOSBox * |/kolibrios/emul/DosBox/dosbox

95
data/en_US/welcome.htm Normal file
View File

@@ -0,0 +1,95 @@
<html>
<title>Welcome notes</title>
<body bgcolor=#fff>
<h1>
<font color=1BB71A>Welcome to KolibriOS</font>
</h1>
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">
Dear friends,
What you see now is the most compact operating system in the whole world. KolibriOS is a piece of programming art that is based on logic and coffee.
As no one reads manuals, I'm here to help with the most common issues that new users of KolibriOS are facing. This document is also required to read for any <b>YouTube blogger</b> who wants to make a review of the system :)
<dd><h3><kosicon n=5> Floppy version</h3>
The asterisk [*] in the Menu means the app isn't available in the Floppy version, only in the Big distro (Flash/ISO/UEFI-HDD). Not all programs are available via Menu to encourage you to explore KolibriOS files by yourself.
<h3><kosicon n=25> If you have problems with USB</h3>
Only USB 1.1 and USB 2.0 ports are supported, not USB 3+. And yep, the USB driver is written entirely in assembler. Some motherboards have options like "USB Legacy Support" or something similar, which may help the system detect your device. Also, some ports on your motherboard may work while others may not, only G-d knows why. So, play with the BIOS/UEFI settings and try different ports.
<h3><kosicon n=7> Sound</h3>
List of supported devices:
- Most AC97 cards: Intel, nForce, VIA
- A variety of HD Audio devices: Intel, Realtek...
- SIS PCI audio (Sis 7012)
- Creative labs EMU10K1X (Dell OEM)
- Media Forte FM801
- ISA Sound Blaster 16
<i>Only THIS particular model works,
not other cards that have software SB16-emulation</i>
<h3><kosicon n=61> Video</h3>
By default, you can change the resolution only on the blue boot screen. The modes listed there are provided by the video card's BIOS. It is impossible to 'simply add additional screen modes to the list'. If video card's BIOS doesn't provide some modes then you need a driver. It is not possible to write a generic video card driver. Separate driver must be written for each specific video card model.
Intel and AMD drivers for some video cards are ported from Linux and are available in the Big distro.
Check SYSPANEL. Features: ability to change resolution in KolibriOS, hardware cursor (not actual anymore), bit-blit operations acceleration.
<h3><kosicon n=25> Wi-Fi</h3>
Not supported. You have to know that the Wi-Fi specification is so complex that it is almost impossible to write the code for it from scratch. Only big OSes like Windows / Linux / BSD have it. MacOS and Haiku just ported the BSD drivers. I don't say porting them to KolibiOS is not possible, but the required effort is going to be tremendous.
<h3><kosicon n=25> LAN/Ethernet</h3>
List of supported devices:
- 3c59x 3Com Fast EtherLink (3c59x/450/555/556/575/900/905/980)
- ar81xx Atheros 8131/8132/8151/8152/8161/8162/8171/8172
Killer E2200/E2400/E2500
- dec21x4x* Accton en1207B-TX, DEC 21140, ..., VirtualPC
- forcedeth* Nvidia nForce chipset integrated Ethernet
- i8255x Intel eepro/100 (i8255x, i82562, i82801, ...), QEMU
- i8254x Intel PRO/1000 (i8254x), Virtualbox, BOCHS, QEMU
- mtd80x Myson MTD803
- pcnet32 AMD PCnet (79c970, 79c978, 79c973, ...), Virtualbox, QEMU
- r6040 RDC Semiconductors R6040
- rhine VIA Rhine II and III
- rtl8029 Realtek 8029/8019, ne2000 PCI, BOCHS, QEMU
- rtl8139 Realtek 8139 and clones, QEMU
- rtl8169 Realtek 8110/8111/8167/8168/8169
- sis900 SiS900, 7016
* - in development
Blessed be our Flemish friend Jeffrey, who has written most of the Network staff by him: stack, drivers, and a lot of apps (except WebView).
<h3><kosicon n=12> WebView</h3>
It was never intended to be a browser, but rather a Help Center that uses HTML markup. It fits this purpose well, doesn't it? According to current WebView's codebase (that was my first app ever) it will never become a normal web browser. Please help us and write/port something good. For example, it will be nice try to finish Netsurf port.
<h3><kosicon n=9> How did you achieve so much while being so small?</h3>
- Kernel, almost all drivers and most applications are written in assembly language
- Files in IMG are packed via the LZMA algorithm from 7-Zip. They are unpacked to RAM when accessed
- Most of the images are manually optimized: posterization, dithering and other techniques were used
- Files names in IMG fit 8.3 naming convention (name.extension) which doesn't use additional FAT12 space
- Image files are combined into a single file
- Compact binary header of applications, no sections
- Resources are reused, and file duplication is avoided, for example:
~ Many apps use shared libraries
~ KFM2 and Eolite are a single app, just with different appearance
~ APP+, Games Center and System Panel are a single app also
~ Memory Blocks game uses system icons as images
See more <a href=http://wiki.kolibrios.org/wiki/Hardware_Support>http://wiki.kolibrios.org/wiki/Hardware_Support</a>
</dd>
<h3><kosicon n=13> Last words</h3>
<font bg=#F9F0A3>We want to express our gratitude to every KolibriOS contributor. Also, we would like to give special thanks to Ville M. Turjanmaa, the author of MenuetOS, the predecessor of our system.
Finally, we want to thank you, brave and curious users, as we are doing it all for you!
Have fun!</font>
Sincerely yours,
KolibriOS Team
<img src=/kolibrios/res/system/signs.png alt="You have to use Big Distro to see this image!">
<!-- Somewhere deep in the Galaxy stars light up and go out, empires are born and turn to dust. In this impenetrable darkness and decadence, there are people who are still working on KolibriOS. Many years will pass and perhaps you and I will no longer be here, and our great-grandchildren will ask "Who were those insane who made such an incredible OS?" -->

View File

@@ -1,98 +0,0 @@
KolibriOS allows some configures for user requirements. This file describes
such settings.
For this it is required to change files on ramdisk. If you boot from floppy,
there is no problem - change files on floppy. If you use floppy image
kolibri.img - either use program which can work with images (for example,
WinImage or DiskExplorer) or make changes from Kolibri and do not forget to
save ramdisk (with the application rdsave).
1. Desktop background.
a) Replace in the file autorun.dat (it is text file) the parameter for
the program kiv ("\S__background.jpg") the name of file to the full
Kolibri-path to JPEG-, BMP-, GIF- or PNG-image which you like. It will be
new background. background.jpg now can be deleted.
b) Replace in the file autorun.dat "/SYS/KIV \S__background.jpg" to
"/sys/PIC4" (spaces are ignored by the loader program). You can delete
BACKGROUND.JPG. New background will be nice texture.
For programmers: you can change texture and color, for this in file
pic4.asm from distributive sources change:
* to change texture: value of variable usearray (string 585)
from ptarray to any of ptarray2,ptarray3, ..., ptarray9.
* to change color: in procedure check_parameters find string with
the appropriate comment (string 127) and add to 0x40000 1 or 2.
After changes recompile pic4, by request pack with kpack (in
distributive is so), inject to ramdisk.
c) Two previous points sets background for a long time (until next
reinstall). It is possible also after Kolibri boot to set background
until next reboot in programs kiv, iconedit, pic4, tinyfrac.
2. Configure system menu.
Data for system menu are placed in text file menu.dat. It can be edited
in any editor keeping format. If you use Kolibri TINYPAD, you
must disable option "optimal fill on saving".
3. Configure autorun.
The list of programs, loading when system boots, is read out from
text file autorun.dat. It can be changed in any editor keeping format.
For example, you can add as first item start of application startmus
(delay 1, without arguments) to hear distinctive melody each time at
booting.
For programmers: you can change melody, for this edit file startmus.asm
from distributive sources: there you can choose melody from three existing
or add your own - format of melody is explained in documentation on
subfunction 55 of function 55.
4. Icons list.
The list of desktop icons is kept in text file icons.dat, but to
change the list it is recommended to use icon manager icon (which can
be run from desktop context menu). Images for icons are kept in file
iconstrp.gif, which must be edited by external graphics editor.
5. Skin.
The skin can be viewed and changed dynamically with the application
desktop; after you choose most likely for you skin, you can make it
permanent by replace file default.skn, from which system loads skin at
booting. Standard skin is included to ramdisk, some alternative skins can
be found in distributive in the folder Skins. You can also create your own
skin, for detailed comments look at distributive sources.
6. Sound.
Driver sound.sys, which is located on ramdisk by default, is intended for
south bridges Intel ICH, ICH0, ICH2, ICH3, ICH4, ICH5, ICH6, ICH7 and
NVidia NForce, NForce 2, NForce 3, NForce 4. If you have SB16-compatible
sound card, remove sound.sys and rename sb16.sys from the folder 'drivers'
to sound.sys. If you have controller sis7012, rename sis.sys from root
folder in distributive to sound.sys and copy it to floppy or image to
the folder 'drivers' (replacing old). The driver fm801.sys can be useful
for ForceMedia FM801 controller, the driver vt8235.sys - for VIA chipsets,
the driver emu10k1x.sys - for EMU10K1X audioprocessor, all are intended to
similar with previous case use: copy it to the folder 'drivers' as
'sound.sys', replacing the old file.
7. Bus Disconnect.
The application KBD (Kolibri Bus Disconnect) allows to disconnect processor
bus in order to decrease its temperature, a side effect is noise in AC97
codecs. The application can be loaded automatically at system boot, to do
this add to autorun (file autorun.dat, see 3) a line of the form
"/SYS/KBD BOOT 20 # Enable Bus Disconnect for AMD K7 processors".
8. Network settings.
Initial network configuration is read at boot from the ini file
/sys/network/zeroconf.ini. You can set automatic detection with DHCP
("type=zeroconf") or fixed IP addresses ("type=static").
9. Configuration of videomode for ATI videocards.
The driver for ATI can set required screen resolution with refresh rate
at system startup, if they are supported. The list of supported modes
can be obtained with the utility VMODE, it allows also manual mode setting.
To set the mode at startup one must pass to the loader ATIKMS, described
in AUTORUN.DAT, the argument -m<width>x<height>x<refresh>, e.g.
/SYS/DRIVERS/ATIKMS -m1024x768x60 -1
Pay attention that the format of autorun.dat does not allow spaces in
command line, so there must be no other arguments.
Also one can disable ability to change videomodes and all linked actions
at startup by passing the argument -n. The driver will still support
hardware cursor. To fully disable the driver, one can simply delete
the line with ATIKMS from autorun.dat.

View File

@@ -1,48 +0,0 @@
PHARAOH TOMB
The purpose of the game is to open passage by moving hieroglyphs on entrance
in the next room of the pharaoh tomb (8X8). You can exchange two hieroglyphs
located near each other on vertical or horizontal if after such transposition
a combination of three or more identical pictures abreast is generated. Such
lines are disappeared immediately, and free place is filled by hieroglyphs
which "falled" from top. Missing hieroglyphs are generated randomly. For
disappearing hieroglyphs points are added. For combination of hieroglyphs
number of points is calculated by formula L+(L+1)^(N-3), but no more than
20*L*N, where N is number of hieroglyphs in combination, and L is level number.
To pass to the next level it is required to remove certain number of
hieroglyphs (different on each level). From below of panel with hieroglyphs is
located field which indicates how many is passed and how many is remained.
1st level - 500
2nd level - 450
3rd level - 400
4th level - 350
5th level - 300
6th level and further - 50*(L+1)
On the first level combinations are composed from 6 states of hieroglyphs.
With each new level one new hieroglyph is involved, but no more than 10
(i.e. starting from 5th level and further 10 different hieroglyphs are
involved, not counting special ones).
Starting from 2nd level for each combination from 4 and more hieroglyphs,
and also for passing each fourth of level the player gets "free" hieroglyph -
it is usual hieroglyph (generated randomly), which keeps "in pocket" of player
and can be necessarily inserted by player to any place and replace thus
located there hieroglyph.
Starting from 3rd level for each combination from 5 and more hieroglyphs,
and also for passing each third of level the player gets "universal key",
which matches to any combination of hieroglyphs and to several different
combination simultaneously.
Starting from 4th level for each combination from 6 and more hieroglyphs,
and also for passing a half of level the player gets "space crooker",
which allows, when is used, to make 3 moves (not obligatory successive) at
diagonal.
The player can not have simultaneously more than 1 extra hieroglyph of each
type (1 usual, 1 joker and 1 crooker).
The game is ended, if the player can not make any combination with existing
hieroglyphs.

View File

@@ -1,14 +1,16 @@
The following "hot" shortcut keys are used in the system:
(Indexing on time of appearance in the system)
1) Ctrl + Alt + Del start of the application CPU (the manager of processes), is a sole combination maintained on a level of a kernel, all rest "hot" key is realized at the expense of the application @TASKBAR.
2) Ctrl + Shift - switching of keyboard layout.
3) Win - start of the application MENU.
4) Alt + Ctrl + F12 - start of the application END.
5) Alt + F4 - terminate the active application.
6) Alt + Tab - switch to the next (in the window stack) window
7) Alt + Shift + Tab - switch to the previous (in the window stack) window
2) Ctrl + Shift - switching of keyboard layout
3) Win - start of the application MENU
4) Alt + Ctrl + F12 - start of the application END
5) Alt + F4 - terminate the active application
6) Alt + Tab - switch to the next window
7) Alt + Shift + Tab - switch to the previous window
8) Alt + Shift + NumLock - start of the application MOUSEMUL, which emulates mouse with numpad, when NumLock is on.
9) Alt + 1...7 - fast switching to the selected keyboard layout (even if absent for Ctrl + Shift)
10) Win + D - minimize/restore all windows (cleaning of desktop)
10) Win + D - minimize/restore all windows
11) Win + R - start of the application RUN
12) Ctrl + PrintScreen - start of the application SCRSHOOT. Just do a screen shot and the user is offered to specify (with OpenDialog) where to save the BMP image.
12) Ctrl + PrintScreen - start of the application SCRSHOOT
13) Ctrl + Alt + Left / Right - change sound volume
Ctrl + Alt + Up / Down - mute and unmute sound

View File

@@ -1,25 +0,0 @@
Ini-files are text files of special contents:
[name of first section]
Key1=value1
Key2=value2
;comment
[name of second section]
Key3=value3
All lines beginning with ';' are considered as comments and ignored.
Keyboard shortcuts are described as follows:
any number of modificators Ctrl/Alt/Shift/LCtrl/LAlt/LShift/RCtrl/RAlt/RShift,
followed by latin letter, digit or key name. The following keys have a name:
F1 - F12
Home; End; PgUp; PgDn; Ins, equivalently, Insert; Del, equivalently, Delete;
Tab; Plus; Esc; Enter; Backspace; Space;
Left (left arrow); Right (right arrow); Up (up arrow); Down (down arrow).
The string for shortcut is case-insensitive. Parts of the string
can be written without delimiters or with '+' between parts. Examples:
Ctrl+Alt+Backspace
RCtrl+RShift
ShiftA
f10
shiftalt5

View File

@@ -1,92 +0,0 @@
Minimal system requirements for KolibriOS:
* CPU: Pentium, AMD 5x86 or Cyrix 5x86 without MMX with frequency 100 MHz
* RAM: 8 Mb
* Videocard: supporting VGA (640*480*16 mode) or Vesa
* Keyboard: AT
* Mouse: COM, PS/2 or USB
The system can boot from any of following devices:
- Floppy 3.5
- IDE HDD LBA
- CD/DVD
- USB Flash
I. Install to floppy.
1) Insert clean floppy without bad sectors to drive.
2) Write to it kolibri.img image with any available methods:
a) (if you have already loaded Kolibri by any method) run the program
rdsave and select the variant corresponding to floppy
b) (for DOS and Windows) run subjoined install.bat
c) with program WinImage or its analogue (e.g. DiskExplorer)
d) (for Linux) set "executable" attribute to subjoined script install.sh
and run it
Now you can boot from floppy (keep it in drive, reboot, set in BIOS option
of floppy booting).
II. Install to hard disk.
There exists several loaders from hard disk. All are oriented on DOS and
Windows users. Also standard Linux-loader GRUB can be used. All methods work
with file kolibri.img. If you already have old version of Kolibri installed,
simply replace kolibri.img to new. If you have booted from LiveCD, which
does not contain the file kolibri.img, Kolibri can create it independently,
to do this, run the program rdsave, enter the file name for saving and select
the corresponding variant. Of course, in this case Kolibri must be able to
write to file system of selected partitions, currently this means that
only FAT volumes are ok.
1) Most of all features has the loader mtldr (author - Diamond) - works with
DOS/Win95/98/NT/2k/XP/Vista, supports FAT32 and NTFS, has installator, can
be installed to any folder on disk.
To install, simply run file HD_load\mtldr_install.exe and select image file.
Apropos, by this way you can install several images. There is also
variant of install by hand - for those who want to know what installator
does: directions in HD_load\mtldr
2) There is also the loader MeOSLoad (author - Trans, expanded by Mario79) -
works with DOS/Win95/98, supports FAT32, it is placed with the instruction
to the folder HD_load\MeOSLoad.
3) Moreover, there exist a program which allow load Kolibri directly from
Windows 95/98/Me (of course, unloading it) - 9x2klbr (author - Diamond),
supports FAT32 and NTFS.
4) Usage of the loader GRUB. Place the file 'memdisk' to the folder 'boot'
or to the partition used for Kolibri.
a) For GRUB2, in the folder /etc/grub.d add to one of files next lines:
menuentry 'KolibriOS' {
linux16 (hd[Hard disk number],[partition number])[path]/memdisk
initrd16 (hd[Hard disk number],[partition number])[path]/kolibri.img
}
example:
menuentry 'KolibriOS' {
linux16 (hd0,msdos1)/boot/memdisk
initrd16 (hd0,msdos1)/boot/kolibri.img
}
then, run in terminal 'sudo update-grub'.
b) For old GRUB, add to the configuration file 'menu.lst' next lines:
title KolibriOS
kernel (hd[Hard disk number],[partition number])[path]/memdisk
initrd (hd[Hard disk number],[partition number])[path]/kolibri.img
Remember that numeration in GRUB starts from 0. Example:
title KolibriOS
kernel (hd0,0)/boot/memdisk
initrd (hd0,3)/kolibri/kolibri.img
III. Install to USB-Flash-drive.
The special loader for FAT32-volumes has been written, it and its installer
to flash drive can be found in the folder HD_load\USB_Boot.
For not-FAT32 drives you may use article placed in the folder
HD_load\USB_Boot_old.
IV. Install to CD and DVD.
There exists special LiveCD-version of Kolibri, which contains
in addition to standard things some "heavy" (in Kolibri standards) programs:
the ported emulator DosBox, games "Fixed Rate Pig" and "sokoban".
You can also create bootable CD or DVD on the base of kolibri.img, adding
anything what you want, in the mode of floppy emulation.
The appropriate actions are determined by used CD/DVD write program
(focus on words such as "boot floppy emulation").

View File

@@ -16,10 +16,11 @@ I. Install to floppy.
2) Write to it kolibri.img image with any available methods:
a) (if you have already loaded Kolibri by any method) run the program
rdsave and select the variant corresponding to floppy
b) (for DOS and Windows) run subjoined install.bat
c) with program WinImage or its analogue (e.g. DiskExplorer)
d) (for Linux) set "executable" attribute to subjoined script install.sh
and run it
b) for DOS use DskImage;
c) for Windows use WinImage, RawWrite for Windows or its analogue;
d) if you have Linux then try smth like
`dd if=/pathto/kolibri.img of=/dev/fd0 bs=512 count=2880`
Wait. And make sure to umount the drive before ejecting the disk.
Now you can boot from floppy (keep it in drive, reboot, set in BIOS option
of floppy booting).

View File

@@ -1,94 +0,0 @@
Control keys in KFar.
For panels:
arrows, Home, End - move cursor on active panel
Tab - change active panel
Enter - enter to folder or run program under cursor
F3 - view file under cursor
F5 - copy selected items or item under cursor to another panel
Shift+F5 - copy selected items or item under cursor to the same panel
(of course, you must specify another file name)
F7 - create folder
F8 - delete selected elements or element under cursor
F10 - exit
Alt+F1/Alt+F2 - change drive on left/right panel
Alt+F9 - resize window to maximum possible size and restore initial size
Ctrl+F3 - sort file/folders on active panel by name
Ctrl+F4 - sort by extension
Ctrl+F5 - sort by date/time of last modification
Ctrl+F6 - sort by size
Ctrl+F7 - don't sort (display in order as on disk)
Ctrl+F8 - sort by date/time of creation
Ctrl+F9 - sort by date/time of last access
F12 - display screens menu
Ctrl+R - refresh active panel
Menu - display context menu for file under cursor
LeftCtrl+1/2/3/4 - select panel mode (brief/medium/full/wide)
RightCtrl+0..9 - go to folder specified in the section [FolderShortcuts]
of ini-file as Shortcut0..9 accordingly
Insert - select/deselect current element
Grey[+] - select files and folders with mask
Grey[-] - deselect files and folders with mask
The mask is like "*.asm,*.inc|template.asm" (which selects all files with
extensions ASM and INC except for template.asm): one or more elementary
including masks with standard mean of '*' and '?', delimited by ',' or ';',
optionally followed by '|' and one or more elementary excluding masks.
The mask "*.*" specifies all files having '.' in name (i.e. files with
any non-empty extension); to specify all files use "*".
Grey[*] - invert selection
Alt+<letter or digit> - position cursor on name of file/folder,
beginning from selected letter or digit; it shows fast find window,
in which one can enter subsequent symbols of file/folder name to more precise
selection, and also Ctrl+Enter/Shift+Ctrl+Enter to move to the next/previous
panel item, whose name starts with specified letters
For viewer:
Esc = F3 = F10 = Numpad5 - exit
Down - line down
PgDn - page down
Up - line up
PgUp - page up
Home - to begin of file
End - to end of file
Left - character left
Right - character right
Ctrl+Left - in Text-mode 20 characters left;
in Hex-mode 1 byte left
Ctrl+Right - in Text-mode 20 characters right;
in Hex-mode 1 byte right
Ctrl+Shift+Left - start of lines on the screen
Ctrl+Shift+Right - end of lines on the screen
F2 - toggle line wrap
F4 - toggle Text <-> Hex mode
F8 - toggle encoding cp866 (DOS) <-> cp1251 (Win)
Shift+F8 - encoding tables menu
F12 - display screens menu
F7 - search a string from the current position in the file
(the string and settings are set in the following dialog)
Shift+F7 - continue to search a string
(use the string and settings from last search by F7)
Alt+F9 - resize window to maximum possible size and restore initial size
For editor:
Esc = F10 - exit; if the file was modified, the question about save necessity
will follow
Shift+F10 - save and exit
F2 - save the file
Down - move cursor down to one line
PgDn - move cursor down to one page
Up - move cursor up to one line
PgUp - move cursor up to one page
Left - move cursor left to one symbol
Right - move cursor right to one symbol
Home - move cursor to the beginning of the current line
End - move cursor to the end of the current line
Backspace - delete the symbol before the cursor
Del - delete the symbol under the cursor
Ins - toggle insert/replace mode when entering symbols
F12 - display screens menu
Alt+F9 - resize window to maximum possible size and restore initial size
F7 - search a string starting from the position next to the cursor
(the string and search settings are prompted in the following dialog)
Shift+F7 - continue to search a string (same as F7 without settings dialog)
diamond
mailto:diamondz@land.ru

View File

@@ -1,212 +0,0 @@
Introduction.
mtdbg is a debugger for Kolibri operating system. This documentation describes
debugger features and work with it. Feel free to ask on our board (mostly
in Russian, but has an English forum) -- board.kolibrios.org.
General description.
In each moment of time mtdbg can debug only one program. I will call it
loaded program. If no program is loaded, overwhelming majority of debugging
actions is disabled.
mtdbg is controlled by command line, entering from keyboard. Command line
is drawn in the bottom part of debugger window. Debugger handles standard
input keys Backspace,Delete,Home,End,left/right arrows.
Commands are case-insensitive. Delimiter is arbitrary nonzero number of spaces.
At any moment mtdbg can be terminated by command "quit" (without arguments).
You can also simply press to close button in the right upper corner of window.
When debugger is started without command string parameters, no program is
loaded. Also mtdbg can be started with command string, in this case it tries
to load program with the name pointed to in first parameter in command string
and parameters pointed to following (if present).
If no program is loaded, you can load a program with the command
load <full name of executable file> [<parameters>]
Examples:
load /sys/example
LOAD /sys/aclock w200 h200
LoaD /hd0/1/menuetos/dosbox/dosbox
All that stays after first space after executable file name, is exactly passed
to program as command string.
The command "load" reports result in the messages window (a little higher
than command line window). If program was loaded successfully, there will
be the appropriate message; otherwise the message will contain error reason.
Most probable error is "file not found" if wrong file name is given.
The debugger can load files with information on symbols in the program
(labels, global variables) - text files, each line of which has format
0x<hex_value_of_addr> <name>
(lines, which do not have such format, are ignored). Such file can be created
by hand or generated automatically by fasm. Evident load can be done by command
load-symbols <full name of symbols file>
Furthermore, when the debugger executes the command "load", it checks for
presence of file with name as of loading binary and extension '.dbg'
(/sys/example.dbg in the first of examples above), and if such file exists,
the debugger loads it automatically (with the message "Symbols loaded", if
all is OK).
It can happen so that loaded program is packed. General principle of
program packing is following: at first input file is packed (by some
pack algorithm), then is appended small code which gets control at program
start, unpacks input code in the memory and then passes control to it.
If program is packed, it "real" code is not visible and for debugging it is
needed previously to pass through unpacker code.
mtdbg determines most of existing packers (mxp,mxp_lzo,mxp_nrv,mtappack)
and in this case suggests to automatically go to "real" code. It is recommended
to accept (press 'y' or <Enter>), but you can refuse too. At refusal and if
program is packed by something unknown the command "unpack" (without arguments)
can be used. Call it only in the case when you are sure that program is packed
and control has not already went to main code! [Starting from Kolibri 0.6.5.0,
this paragraph is no more actual, because one can pack applications as all
binary files with kpack and the unpacker code in this case is located in the
kernel and is transparent for debug.]
Loaded program can be terminated by the command "terminate" (without
arguments). The command "detach" (without arguments) detaches from program,
after that program continues execution normally, as if there was no debugger.
After both this commands program stops to be debugged.
It is possible to anew load program for debugging by the command "reload"
(without arguments). If there is already loaded program, it is terminated
and new instance is started (from the beginning) (with the same command
string), in this case the command is similar to the commands
terminate
load <last program name> <last program arguments>
Otherwise is loaded anew latest program, which was debugged (in the current
seance of work with mtdbg) (with the same command string), i.e. is similar to
load <last program name> <last program arguments>,
but the command "reload" in both cases is shorter and more convenient;
moreover, "load" thinks that new program is loaded and moves data window
(see below) to zero address, and "reload" keeps current address.
The command "help", which can be shorten to "h", is always available.
All commands are divided on groups.
"help" without arguments displays the list of command groups.
"help" with group name displays the list of commands in this group with short
comments.
"help" with command name displays information about given command.
Examples:
help
help control
h LoaD
The debugger window consists from the following items enumerated from up
to down:
- status string. If there is loaded program, shows its name and state
("Running/Paused"), otherwise reports "No program loaded".
- registers window - shows values of general-purpose registers, register eip
and states of single flags: CF,PF,AF,ZF,SF,DF,OF: if flag is cleared, then
is displayed lower-case letter, if flag is set, then upper-case one.
Registers which are changed from previous moment are highlighted in green.
- data window (dump window) - shows memory contains of loaded program
- code window (disassembler window) - shows program code as disassembled
instructions
- messages window
- command line window
Dump window can display data starting from any address, to this serves
the command
d <expression>
The command "d" without arguments flicks dump window down.
The same is for code window and the command
u <expression>
or simply "u".
Examples:
d esi - displays data at address esi (e.g. is useful before execution of
instruction rep movsb)
d esp - displays stack
u eip - disassembles instruction starting from the current
Expressions in mtdbg can include
- hexadecimal constants
- names of all general-purpose registers (8 32-bits, 8 16-bits and
8 8-bits) and register eip; values of 16- and 8-bits registers are padded
with zeroes to 32 bits
- four arithmetic operations +,-,*,/ (with standard priorities) and
brackets
- [if symbols information was loaded] names, loaded from dbg-file
All calculations are realized modulo 2^32.
Examples of expressions:
eax
eip+2
ecx-esi-1F
al+AH*bl
ax + 2* bH*(eip+a73)
3*esi*di/EAX
The command
? <expression>
calculates value of specified expression.
Values of registers in loaded program can be changed by the command "r", which
has two absolutely equivalent forms:
r <register> <expression>
r <register>=<expression>
(in both cases you can place spaces as you want). Register can be any of
above-mentioned - 24 general-purpose registers and eip.
Let us assume that the command "load" was successfully load program for
debugging.
Immediately after loading program is suspended and does not execute.
Press Ctrl+F7 (command-line analog is the command "s") to make one step
in loaded program, after that control returns to debugger which displays
new contains of registers and memory. The system call "int 40h" is considered
as one step.
Pressing Ctrl+F8 (command-line analog is the command "p") also makes step in
loaded program, but procedure calls, string operations with prefix
rep/repz/repnz and 'loop' cycles are executed as one step.
The one-step commands are used usually on single program sections,
when it is needed, for example, to regularly trace registers value and/or
some variables in memory.
The command
g <expression>
resumes program execution and waits until control goes to eip=given address,
and in this moment suspends program. The command "g" without arguments
simply resumes execution.
To suspend program use the command "stop" (without arguments).
In the typical situation it is required that program is executed normally,
but when some conditions are satisfied, program suspends and debugger receives
control. The corresponding conditions are called breakpoints or simply breaks.
Primary type of breakpoints is to concrete address, i.e. stop execution at
eip=<given value>. Such breakpoints are set by the command
bp <expression>
Note that if there is only one such breakpoint, there is more convenient to use
the command "g" with argument instead.
Other type of breakpoints is on access to given memory area. Maximum
numbers of such breakpoints is 4 (because hardware features of x86 processors
are used and they allows only 4).
bpm <expression> - breaks at any access to byte at given address
bpm w <expression> - breaks at write to byte at given address
bpmb,bpmw,bpmd <expression> - breaks to access correspondingly to byte, word
or dword at given address. bpm <20> bpmb are synonyms. When bpmw,bpmd are used,
address must be aligned according to correspondingly word bound (i.e. be even)
or dword bound (i.e. be divisible by 4).
bpmb,bpmw,bpmd w <expression> - similar to break on write.
To see the list of set breakpoints use the command "bl", to obtain information
on concrete breakpoint use "bl <number>". Unnecessary breakpoints can be
deleted with the command "bc <number>", temporarily unnecessary can be
disabled by the command "bd <number>", when they will be needed again,
use the command "be <number>".
Remarks.
1. When debugging your own programs you can put in code instructions
int3 (pay attention to absence of space!). Such instruction causes
exception at normal run, which leads to process termination, but
at work under debugger it is simply activated (with the message
"int3 command at xxx"). This feature allows to not think about addresses
to use in the commands g and/or bp.
2. All output and all input is oriented on hexadecimal scale of notation.
3. When program is executed, registers and data window shows information
regarding to moment before resume; you can not set registers value in this
mode. Nevertheless the command "d" in this mode shows information that
was true in the moment of command delivery.
diamond

View File

@@ -1,26 +0,0 @@
OpenDialog - file open dialog:
1) Move the cursor inside the panel:
a) up and down arrows (including add. keyb.) - move the cursor one position up or down.
b) PageUp - list page up.
c) PageDown - list page down.
d) Home - move to the top of directory.
e) End - move to the end of directory.
2) Enter - operations with the selected file:
a) enter the folder.
b) choose a file.
3) Using the menu:
Alt+F1 - call disk selection menu.
Alt+F2 - call sort menu.
Alt+F3 - call filter menu.
Inside the menu:
Arrow cursor up and down - move to item.
Esc - close the window.
Enter - close the window with confirmation.
Arrow cursor left and right - move into the adjacent menu.
4) Ctrl+R - update the contents of a directory.
5) Backspace - exit from the directory.
6) Insert - highlighted by red color the file at the cursor and move the cursor one position down.
7) Ctrl+A and Ctrl+(NumPad(+) Up) - select all files and directories in the active panel, with the exception of the directory '..'
8) Ctrl+(NumPad(-) Up) - deselect all files and directories in the active panel with the exception of the directory '..'
9) Ctrl+(NumPad(*) Up) - invert the selection of all files and directories in the active panel, with the exception of the directory '..'
10) Esc - shutdown the program, without opening of a file.

View File

@@ -106,8 +106,8 @@ name=15
path=/SYS/GAMES/15
param=
ico=34
x=-271
y=-67
x=-67
y=-203
[0F]
name=DOCPACK
path=DOCPACK
@@ -116,8 +116,8 @@ ico=8
x=-67
y=68
[10]
name=BOARD
path=/SYS/DEVELOP/BOARD
name=DBGBOARD
path=/SYS/DEVELOP/DBGBOARD
param=
ico=19
x=-135
@@ -165,12 +165,12 @@ ico=21
x=68
y=-135
[17]
name=FLAPPY-BIRD
name=FLOPPY-BIRD
path=/SYS/GAMES/FLPYBIRD
param=
ico=49
x=-271
y=-135
x=-135
y=-203
[18]
name=KOSILKA
path=/SYS/GAMES/KOSILKA
@@ -248,3 +248,10 @@ param=
ico=125
x=204
y=136
[23]
name=DINO
path=/sys/games/dino
param=
ico=129
x=-203
y=-203

View File

@@ -4,7 +4,7 @@
00 3D Demos > |@2
00 Gr<47>ficos > |@3
00 Multimedia > |@4
00 Emulators > |@18
00 Emulators > |@6
00 Desarrollo > |@5
00 Sistema > |@7
00 Proceso de datos > |@11
@@ -13,6 +13,7 @@
16 Centro de juegos |allgames
60 System panel |syspanel
18 Ayuda |docpack
49 Buscar |search
53 Ejecutar aplicaci<63>n |run
04 Apagar |end
#1 **** DEMOS
@@ -45,25 +46,27 @@
#4 **** MULTIMEDIA
16 Pixie Audioplayer |media/pixie
16 AC97SND Audioplayer |media/ac97snd
16 Fplay - video |/kolibrios/media/fplay
16 Fplay - video * |/kolibrios/media/fplay
16 MidAMP |media/midamp
#5 **** DESARROLLO
00 Ejemplos > |@6
16 Archiver KPack |kpack
27 Example.asm |/sys/example.asm
16 Flat Assembler |develop/fasm
16 Archiver KPack |kpack
16 Diff Tool |develop/diff
16 Debug Board |develop/board
16 Debugger |develop/mtdbg
49 Debugger mtdbg |develop/mtdbg
49 Debugger koldbg * |/kolibrios/develop/koldbg
16 Hex2Dec2Bin |develop/h2d2b
16 Tabla de caracteres |ASCIIVju
16 C<>digos ASCII |develop/keyascii
16 Tabla de caracteres |develop/CHARSETS
16 C<>digos SCAN |develop/scancode
#6 **** EJEMPLOS
16 Threads |develop/thread
16 Selector de color |demos/cslide
16 Ejemplo de consola 1 |develop/testcon2
16 Ejemplo de consola 2 |develop/test_gets
16 Ejemplo de Messages |demos/use_mb
#6 **** EMULATORS
24 DOSBox * |/kolibrios/emul/DosBox/dosbox
16 e80 (ZX Spectrum) * |/kolibrios/emul/e80/e80
23 FCE Ultra (NES) * |/kolibrios/emul/fceu/fceu
23 DGEN (Sega) * |/kolibrios/emul/dgen/dgen
23 Gameboy Color * |/kolibrios/emul/gameboy
23 ZSNES * |/kolibrios/emul/zsnes/zsnes
16 ScummVM * |/kolibrios/emul/scummvm
#7 **** SISTEMA
00 Archivos > |@10
00 Accesibilidad > |@17
@@ -131,12 +134,4 @@
#17 **** ACCESIBILIDAD
16 Ampliaci<63>n de pantalla|magnify
16 Teclado en pantalla |zkey
#18 **** EMULATORS
24 DOSBox * |/kolibrios/emul/DosBox/dosbox
16 e80 (ZX Spectrum) * |/kolibrios/emul/e80/e80
23 FCE Ultra (NES) * |/kolibrios/emul/fceu/fceu
23 DGEN (Sega) * |/kolibrios/emul/dgen/dgen
23 Gameboy Color * |/kolibrios/emul/gameboy
23 ZSNES * |/kolibrios/emul/zsnes/zsnes
16 ScummVM * |/kolibrios/emul/scummvm
##

View File

@@ -1,8 +0,0 @@
KolibriOS 0.7.7.0+ nightly build, Live CD version.
This is a bootable CD-ROM. To run, reboot your computer and select the
correct drive from the system settings or BIOS if required.
The minimum system requirements and installation instructions can be found
in 'install.txt'. Further details for configuring and customizing KolibriOS
are given in 'config.txt'.

View File

@@ -1,5 +0,0 @@
KolibriOS 0.7.7.0+ nightly build.
The minimum system requirements and installation instructions can be found
in 'install.txt'. Further details for configuring and customizing KolibriOS
are given in 'config.txt'.

View File

@@ -1,98 +0,0 @@
KolibriOS allows some configures for user requirements. This file describes
such settings.
For this it is required to change files on ramdisk. If you boot from floppy,
there is no problem - change files on floppy. If you use floppy image
kolibri.img - either use program which can work with images (for example,
WinImage or DiskExplorer) or make changes from Kolibri and do not forget to
save ramdisk (with the application rdsave).
1. Desktop background.
a) Replace in the file autorun.dat (it is text file) the parameter for
the program kiv ("\S__background.jpg") the name of file to the full
Kolibri-path to JPEG-, BMP-, GIF- or PNG-image which you like. It will be
new background. background.jpg now can be deleted.
b) Replace in the file autorun.dat "/SYS/KIV \S__background.jpg" to
"/sys/PIC4" (spaces are ignored by the loader program). You can delete
BACKGROUND.JPG. New background will be nice texture.
For programmers: you can change texture and color, for this in file
pic4.asm from distributive sources change:
* to change texture: value of variable usearray (string 585)
from ptarray to any of ptarray2,ptarray3, ..., ptarray9.
* to change color: in procedure check_parameters find string with
the appropriate comment (string 127) and add to 0x40000 1 or 2.
After changes recompile pic4, by request pack with kpack (in
distributive is so), inject to ramdisk.
c) Two previous points sets background for a long time (until next
reinstall). It is possible also after Kolibri boot to set background
until next reboot in programs kiv, iconedit, pic4, tinyfrac.
2. Configure system menu.
Data for system menu are placed in text file menu.dat. It can be edited
in any editor keeping format. If you use Kolibri TINYPAD, you
must disable option "optimal fill on saving".
3. Configure autorun.
The list of programs, loading when system boots, is read out from
text file autorun.dat. It can be changed in any editor keeping format.
For example, you can add as first item start of application startmus
(delay 1, without arguments) to hear distinctive melody each time at
booting.
For programmers: you can change melody, for this edit file startmus.asm
from distributive sources: there you can choose melody from three existing
or add your own - format of melody is explained in documentation on
subfunction 55 of function 55.
4. Icons list.
The list of desktop icons is kept in text file icons.dat, but to
change the list it is recommended to use icon manager icon (which can
be run from desktop context menu). Images for icons are kept in file
iconstrp.gif, which must be edited by external graphics editor.
5. Skin.
The skin can be viewed and changed dynamically with the application
desktop; after you choose most likely for you skin, you can make it
permanent by replace file default.skn, from which system loads skin at
booting. Standard skin is included to ramdisk, some alternative skins can
be found in distributive in the folder Skins. You can also create your own
skin, for detailed comments look at distributive sources.
6. Sound.
Driver sound.sys, which is located on ramdisk by default, is intended for
south bridges Intel ICH, ICH0, ICH2, ICH3, ICH4, ICH5, ICH6, ICH7 and
NVidia NForce, NForce 2, NForce 3, NForce 4. If you have SB16-compatible
sound card, remove sound.sys and rename sb16.sys from the folder 'drivers'
to sound.sys. If you have controller sis7012, rename sis.sys from root
folder in distributive to sound.sys and copy it to floppy or image to
the folder 'drivers' (replacing old). The driver fm801.sys can be useful
for ForceMedia FM801 controller, the driver vt8235.sys - for VIA chipsets,
the driver emu10k1x.sys - for EMU10K1X audioprocessor, all are intended to
similar with previous case use: copy it to the folder 'drivers' as
'sound.sys', replacing the old file.
7. Bus Disconnect.
The application KBD (Kolibri Bus Disconnect) allows to disconnect processor
bus in order to decrease its temperature, a side effect is noise in AC97
codecs. The application can be loaded automatically at system boot, to do
this add to autorun (file autorun.dat, see 3) a line of the form
"/SYS/KBD BOOT 20 # Enable Bus Disconnect for AMD K7 processors".
8. Network settings.
Initial network configuration is read at boot from the ini file
/sys/network/zeroconf.ini. You can set automatic detection with DHCP
("type=zeroconf") or fixed IP addresses ("type=static").
9. Configuration of videomode for ATI videocards.
The driver for ATI can set required screen resolution with refresh rate
at system startup, if they are supported. The list of supported modes
can be obtained with the utility VMODE, it allows also manual mode setting.
To set the mode at startup one must pass to the loader ATIKMS, described
in AUTORUN.DAT, the argument -m<width>x<height>x<refresh>, e.g.
/SYS/DRIVERS/ATIKMS -m1024x768x60 -1
Pay attention that the format of autorun.dat does not allow spaces in
command line, so there must be no other arguments.
Also one can disable ability to change videomodes and all linked actions
at startup by passing the argument -n. The driver will still support
hardware cursor. To fully disable the driver, one can simply delete
the line with ATIKMS from autorun.dat.

View File

@@ -1,347 +0,0 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
675 Mass Ave, Cambridge, MA 02139, USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
Appendix: How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) 19yy <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) 19yy name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Library General
Public License instead of this License.

View File

@@ -1,128 +0,0 @@
KolibriOS team
--------------
We thank everyone who helped to create and develop KolibriOS,
many of whom are listed below ~
System Programming (loaders, kernel, etc.) :
- Alver
- art_zh
- Asper
- Boppan
- CleverMouse
- Coldy
- Doczom
- dunkaist
- Galkov
- Evgeny Grechnikov 'Diamond'
- Andrey Halyavin 'halyavin'
- hidnplayr
- Andrey Ignatiev 'andrew_programmer'
- Johnny_B
- kasTIgar
- Sergey Kuzmin 'Wildwest'
- Mihail Lisovin 'Mihasik'
- Maxis
- Iliya Mihailov 'Ghost'
- Nable
- NoName
- Ivan Poddubny
- rgimad
- Rus
- Mihail Semenyako 'mike.dld'
- Sergey Semyonov 'Serge'
- shurf
- SPraid
- Alexey Teplov '<Lrz>'
- Trans
- tsdima
- turbanoff
- VaStaNi
- Marat Zakiyanov 'Mario79'
Application Programming (new creations, porting or revisions) :
- Alver
- art_zh
- Artemonische
- Asper
- barsuk
- Vitaly Bendik 'mistifi(ator'
- Mario Birkner 'cYfleXX'
- Aleksandr Bogomaz 'Albom'
- chaykin
- CleverMouse
- DedOk
- Dron2004
- dunkaist
- ealex
- Pavlushin Evgeny 'Exis'
- Maxim Evtihov 'Maxxxx32'
- Gluk
- Evgeny Grechnikov 'Diamond'
- Maciej Guba 'macgub'
- Andrey Halyavin 'halyavin'
- Hex
- iadn
- Andrey Ignatiev 'andrew_programmer'
- IgorA
- Andrey Ivushkin 'Willow'
- Johnny_B
- kaitz
- Vasiliy Kosenko 'vkos'
- Sergey Kuzmin 'Wildwest'
- Kirill Lipatov 'Leency'
- Mihail Lisovin 'Mihasik'
- Alexander Meshcheryakov 'Self-Perfection'
- Iliya Mihailov 'Ghost'
- Navanax
- nilgui
- Olaf
- hidden player 'hidnplayr'
- Ivan Poddubny
- Pterox
- Rus
- Pavel Rymovski 'Heavyiron'
- Mihail Semenyako 'mike.dld'
- Sergey Semyonov 'Serge'
- SPraid
- staper
- Alexey Teplov '<Lrz>'
- trolly
- tsdima
- vectoroc
- YELLOW
- Vladimir Zaitsev 'Rabid Rabbit'
- Marat Zakiyanov 'Mario79'
Documentation and Translation :
- Andrew Dent 'ace_dent'
- Evgeny Grechnikov 'Diamond'
- Hex
Infrastructure (forum, site and SVN hosting) :
- CodeWorld
- mike.dld
Design (logo, background, icons) :
- goglus
- Kirill Lipatov 'Leency'
- Alexey Teplov '<Lrz>'
Testing and Support :
- AqwAS
- Ataualpa
- Vitaly Bendik 'mistifi(ator'
- camper
- ChE
- Dmitry the Sorcerer
- Galkov
- Maxis
- Mike
- Pavel Rymovski 'Heavyiron'
- vectoroc
- Veliant
and many others...
KolibriOS team

View File

@@ -1,48 +0,0 @@
PHARAOH TOMB
The purpose of the game is to open passage by moving hieroglyphs on entrance
in the next room of the pharaoh tomb (8X8). You can exchange two hieroglyphs
located near each other on vertical or horizontal if after such transposition
a combination of three or more identical pictures abreast is generated. Such
lines are disappeared immediately, and free place is filled by hieroglyphs
which "falled" from top. Missing hieroglyphs are generated randomly. For
disappearing hieroglyphs points are added. For combination of hieroglyphs
number of points is calculated by formula L+(L+1)^(N-3), but no more than
20*L*N, where N is number of hieroglyphs in combination, and L is level number.
To pass to the next level it is required to remove certain number of
hieroglyphs (different on each level). From below of panel with hieroglyphs is
located field which indicates how many is passed and how many is remained.
1st level - 500
2nd level - 450
3rd level - 400
4th level - 350
5th level - 300
6th level and further - 50*(L+1)
On the first level combinations are composed from 6 states of hieroglyphs.
With each new level one new hieroglyph is involved, but no more than 10
(i.e. starting from 5th level and further 10 different hieroglyphs are
involved, not counting special ones).
Starting from 2nd level for each combination from 4 and more hieroglyphs,
and also for passing each fourth of level the player gets "free" hieroglyph -
it is usual hieroglyph (generated randomly), which keeps "in pocket" of player
and can be necessarily inserted by player to any place and replace thus
located there hieroglyph.
Starting from 3rd level for each combination from 5 and more hieroglyphs,
and also for passing each third of level the player gets "universal key",
which matches to any combination of hieroglyphs and to several different
combination simultaneously.
Starting from 4th level for each combination from 6 and more hieroglyphs,
and also for passing a half of level the player gets "space crooker",
which allows, when is used, to make 3 moves (not obligatory successive) at
diagonal.
The player can not have simultaneously more than 1 extra hieroglyph of each
type (1 usual, 1 joker and 1 crooker).
The game is ended, if the player can not make any combination with existing
hieroglyphs.

View File

@@ -1,14 +0,0 @@
The following "hot" shortcut keys are used in the system:
(Indexing on time of appearance in the system)
1) Ctrl + Alt + Del start of the application CPU (the manager of processes), is a sole combination maintained on a level of a kernel, all rest "hot" key is realized at the expense of the application @TASKBAR.
2) Ctrl + Shift - switching of keyboard layout.
3) Win - start of the application MENU.
4) Alt + Ctrl + F12 - start of the application END.
5) Alt + F4 - terminate the active application.
6) Alt + Tab - switch to the next (in the window stack) window
7) Alt + Shift + Tab - switch to the previous (in the window stack) window
8) Alt + Shift + NumLock - start of the application MOUSEMUL, which emulates mouse with numpad, when NumLock is on.
9) Alt + 1...7 - fast switching to the selected keyboard layout (even if absent for Ctrl + Shift)
10) Win + D - minimize/restore all windows (cleaning of desktop)
11) Win + R - start of the application RUN
12) Ctrl + PrintScreen - start of the application SCRSHOOT. Just do a screen shot and the user is offered to specify (with OpenDialog) where to save the BMP image.

View File

@@ -1,25 +0,0 @@
Ini-files are text files of special contents:
[name of first section]
Key1=value1
Key2=value2
;comment
[name of second section]
Key3=value3
All lines beginning with ';' are considered as comments and ignored.
Keyboard shortcuts are described as follows:
any number of modificators Ctrl/Alt/Shift/LCtrl/LAlt/LShift/RCtrl/RAlt/RShift,
followed by latin letter, digit or key name. The following keys have a name:
F1 - F12
Home; End; PgUp; PgDn; Ins, equivalently, Insert; Del, equivalently, Delete;
Tab; Plus; Esc; Enter; Backspace; Space;
Left (left arrow); Right (right arrow); Up (up arrow); Down (down arrow).
The string for shortcut is case-insensitive. Parts of the string
can be written without delimiters or with '+' between parts. Examples:
Ctrl+Alt+Backspace
RCtrl+RShift
ShiftA
f10
shiftalt5

View File

@@ -1,94 +0,0 @@
Control keys in KFar.
For panels:
arrows, Home, End - move cursor on active panel
Tab - change active panel
Enter - enter to folder or run program under cursor
F3 - view file under cursor
F5 - copy selected items or item under cursor to another panel
Shift+F5 - copy selected items or item under cursor to the same panel
(of course, you must specify another file name)
F7 - create folder
F8 - delete selected elements or element under cursor
F10 - exit
Alt+F1/Alt+F2 - change drive on left/right panel
Alt+F9 - resize window to maximum possible size and restore initial size
Ctrl+F3 - sort file/folders on active panel by name
Ctrl+F4 - sort by extension
Ctrl+F5 - sort by date/time of last modification
Ctrl+F6 - sort by size
Ctrl+F7 - don't sort (display in order as on disk)
Ctrl+F8 - sort by date/time of creation
Ctrl+F9 - sort by date/time of last access
F12 - display screens menu
Ctrl+R - refresh active panel
Menu - display context menu for file under cursor
LeftCtrl+1/2/3/4 - select panel mode (brief/medium/full/wide)
RightCtrl+0..9 - go to folder specified in the section [FolderShortcuts]
of ini-file as Shortcut0..9 accordingly
Insert - select/deselect current element
Grey[+] - select files and folders with mask
Grey[-] - deselect files and folders with mask
The mask is like "*.asm,*.inc|template.asm" (which selects all files with
extensions ASM and INC except for template.asm): one or more elementary
including masks with standard mean of '*' and '?', delimited by ',' or ';',
optionally followed by '|' and one or more elementary excluding masks.
The mask "*.*" specifies all files having '.' in name (i.e. files with
any non-empty extension); to specify all files use "*".
Grey[*] - invert selection
Alt+<letter or digit> - position cursor on name of file/folder,
beginning from selected letter or digit; it shows fast find window,
in which one can enter subsequent symbols of file/folder name to more precise
selection, and also Ctrl+Enter/Shift+Ctrl+Enter to move to the next/previous
panel item, whose name starts with specified letters
For viewer:
Esc = F3 = F10 = Numpad5 - exit
Down - line down
PgDn - page down
Up - line up
PgUp - page up
Home - to begin of file
End - to end of file
Left - character left
Right - character right
Ctrl+Left - in Text-mode 20 characters left;
in Hex-mode 1 byte left
Ctrl+Right - in Text-mode 20 characters right;
in Hex-mode 1 byte right
Ctrl+Shift+Left - start of lines on the screen
Ctrl+Shift+Right - end of lines on the screen
F2 - toggle line wrap
F4 - toggle Text <-> Hex mode
F8 - toggle encoding cp866 (DOS) <-> cp1251 (Win)
Shift+F8 - encoding tables menu
F12 - display screens menu
F7 - search a string from the current position in the file
(the string and settings are set in the following dialog)
Shift+F7 - continue to search a string
(use the string and settings from last search by F7)
Alt+F9 - resize window to maximum possible size and restore initial size
For editor:
Esc = F10 - exit; if the file was modified, the question about save necessity
will follow
Shift+F10 - save and exit
F2 - save the file
Down - move cursor down to one line
PgDn - move cursor down to one page
Up - move cursor up to one line
PgUp - move cursor up to one page
Left - move cursor left to one symbol
Right - move cursor right to one symbol
Home - move cursor to the beginning of the current line
End - move cursor to the end of the current line
Backspace - delete the symbol before the cursor
Del - delete the symbol under the cursor
Ins - toggle insert/replace mode when entering symbols
F12 - display screens menu
Alt+F9 - resize window to maximum possible size and restore initial size
F7 - search a string starting from the position next to the cursor
(the string and search settings are prompted in the following dialog)
Shift+F7 - continue to search a string (same as F7 without settings dialog)
diamond
mailto:diamondz@land.ru

View File

@@ -1,212 +0,0 @@
Introduction.
mtdbg is a debugger for Kolibri operating system. This documentation describes
debugger features and work with it. Feel free to ask on our board (mostly
in Russian, but has an English forum) -- board.kolibrios.org.
General description.
In each moment of time mtdbg can debug only one program. I will call it
loaded program. If no program is loaded, overwhelming majority of debugging
actions is disabled.
mtdbg is controlled by command line, entering from keyboard. Command line
is drawn in the bottom part of debugger window. Debugger handles standard
input keys Backspace,Delete,Home,End,left/right arrows.
Commands are case-insensitive. Delimiter is arbitrary nonzero number of spaces.
At any moment mtdbg can be terminated by command "quit" (without arguments).
You can also simply press to close button in the right upper corner of window.
When debugger is started without command string parameters, no program is
loaded. Also mtdbg can be started with command string, in this case it tries
to load program with the name pointed to in first parameter in command string
and parameters pointed to following (if present).
If no program is loaded, you can load a program with the command
load <full name of executable file> [<parameters>]
Examples:
load /sys/example
LOAD /sys/aclock w200 h200
LoaD /hd0/1/menuetos/dosbox/dosbox
All that stays after first space after executable file name, is exactly passed
to program as command string.
The command "load" reports result in the messages window (a little higher
than command line window). If program was loaded successfully, there will
be the appropriate message; otherwise the message will contain error reason.
Most probable error is "file not found" if wrong file name is given.
The debugger can load files with information on symbols in the program
(labels, global variables) - text files, each line of which has format
0x<hex_value_of_addr> <name>
(lines, which do not have such format, are ignored). Such file can be created
by hand or generated automatically by fasm. Evident load can be done by command
load-symbols <full name of symbols file>
Furthermore, when the debugger executes the command "load", it checks for
presence of file with name as of loading binary and extension '.dbg'
(/sys/example.dbg in the first of examples above), and if such file exists,
the debugger loads it automatically (with the message "Symbols loaded", if
all is OK).
It can happen so that loaded program is packed. General principle of
program packing is following: at first input file is packed (by some
pack algorithm), then is appended small code which gets control at program
start, unpacks input code in the memory and then passes control to it.
If program is packed, it "real" code is not visible and for debugging it is
needed previously to pass through unpacker code.
mtdbg determines most of existing packers (mxp,mxp_lzo,mxp_nrv,mtappack)
and in this case suggests to automatically go to "real" code. It is recommended
to accept (press 'y' or <Enter>), but you can refuse too. At refusal and if
program is packed by something unknown the command "unpack" (without arguments)
can be used. Call it only in the case when you are sure that program is packed
and control has not already went to main code! [Starting from Kolibri 0.6.5.0,
this paragraph is no more actual, because one can pack applications as all
binary files with kpack and the unpacker code in this case is located in the
kernel and is transparent for debug.]
Loaded program can be terminated by the command "terminate" (without
arguments). The command "detach" (without arguments) detaches from program,
after that program continues execution normally, as if there was no debugger.
After both this commands program stops to be debugged.
It is possible to anew load program for debugging by the command "reload"
(without arguments). If there is already loaded program, it is terminated
and new instance is started (from the beginning) (with the same command
string), in this case the command is similar to the commands
terminate
load <last program name> <last program arguments>
Otherwise is loaded anew latest program, which was debugged (in the current
seance of work with mtdbg) (with the same command string), i.e. is similar to
load <last program name> <last program arguments>,
but the command "reload" in both cases is shorter and more convenient;
moreover, "load" thinks that new program is loaded and moves data window
(see below) to zero address, and "reload" keeps current address.
The command "help", which can be shorten to "h", is always available.
All commands are divided on groups.
"help" without arguments displays the list of command groups.
"help" with group name displays the list of commands in this group with short
comments.
"help" with command name displays information about given command.
Examples:
help
help control
h LoaD
The debugger window consists from the following items enumerated from up
to down:
- status string. If there is loaded program, shows its name and state
("Running/Paused"), otherwise reports "No program loaded".
- registers window - shows values of general-purpose registers, register eip
and states of single flags: CF,PF,AF,ZF,SF,DF,OF: if flag is cleared, then
is displayed lower-case letter, if flag is set, then upper-case one.
Registers which are changed from previous moment are highlighted in green.
- data window (dump window) - shows memory contains of loaded program
- code window (disassembler window) - shows program code as disassembled
instructions
- messages window
- command line window
Dump window can display data starting from any address, to this serves
the command
d <expression>
The command "d" without arguments flicks dump window down.
The same is for code window and the command
u <expression>
or simply "u".
Examples:
d esi - displays data at address esi (e.g. is useful before execution of
instruction rep movsb)
d esp - displays stack
u eip - disassembles instruction starting from the current
Expressions in mtdbg can include
- hexadecimal constants
- names of all general-purpose registers (8 32-bits, 8 16-bits and
8 8-bits) and register eip; values of 16- and 8-bits registers are padded
with zeroes to 32 bits
- four arithmetic operations +,-,*,/ (with standard priorities) and
brackets
- [if symbols information was loaded] names, loaded from dbg-file
All calculations are realized modulo 2^32.
Examples of expressions:
eax
eip+2
ecx-esi-1F
al+AH*bl
ax + 2* bH*(eip+a73)
3*esi*di/EAX
The command
? <expression>
calculates value of specified expression.
Values of registers in loaded program can be changed by the command "r", which
has two absolutely equivalent forms:
r <register> <expression>
r <register>=<expression>
(in both cases you can place spaces as you want). Register can be any of
above-mentioned - 24 general-purpose registers and eip.
Let us assume that the command "load" was successfully load program for
debugging.
Immediately after loading program is suspended and does not execute.
Press Ctrl+F7 (command-line analog is the command "s") to make one step
in loaded program, after that control returns to debugger which displays
new contains of registers and memory. The system call "int 40h" is considered
as one step.
Pressing Ctrl+F8 (command-line analog is the command "p") also makes step in
loaded program, but procedure calls, string operations with prefix
rep/repz/repnz and 'loop' cycles are executed as one step.
The one-step commands are used usually on single program sections,
when it is needed, for example, to regularly trace registers value and/or
some variables in memory.
The command
g <expression>
resumes program execution and waits until control goes to eip=given address,
and in this moment suspends program. The command "g" without arguments
simply resumes execution.
To suspend program use the command "stop" (without arguments).
In the typical situation it is required that program is executed normally,
but when some conditions are satisfied, program suspends and debugger receives
control. The corresponding conditions are called breakpoints or simply breaks.
Primary type of breakpoints is to concrete address, i.e. stop execution at
eip=<given value>. Such breakpoints are set by the command
bp <expression>
Note that if there is only one such breakpoint, there is more convenient to use
the command "g" with argument instead.
Other type of breakpoints is on access to given memory area. Maximum
numbers of such breakpoints is 4 (because hardware features of x86 processors
are used and they allows only 4).
bpm <expression> - breaks at any access to byte at given address
bpm w <expression> - breaks at write to byte at given address
bpmb,bpmw,bpmd <expression> - breaks to access correspondingly to byte, word
or dword at given address. bpm <20> bpmb are synonyms. When bpmw,bpmd are used,
address must be aligned according to correspondingly word bound (i.e. be even)
or dword bound (i.e. be divisible by 4).
bpmb,bpmw,bpmd w <expression> - similar to break on write.
To see the list of set breakpoints use the command "bl", to obtain information
on concrete breakpoint use "bl <number>". Unnecessary breakpoints can be
deleted with the command "bc <number>", temporarily unnecessary can be
disabled by the command "bd <number>", when they will be needed again,
use the command "be <number>".
Remarks.
1. When debugging your own programs you can put in code instructions
int3 (pay attention to absence of space!). Such instruction causes
exception at normal run, which leads to process termination, but
at work under debugger it is simply activated (with the message
"int3 command at xxx"). This feature allows to not think about addresses
to use in the commands g and/or bp.
2. All output and all input is oriented on hexadecimal scale of notation.
3. When program is executed, registers and data window shows information
regarding to moment before resume; you can not set registers value in this
mode. Nevertheless the command "d" in this mode shows information that
was true in the moment of command delivery.
diamond

View File

@@ -1,26 +0,0 @@
OpenDialog - file open dialog:
1) Move the cursor inside the panel:
a) up and down arrows (including add. keyb.) - move the cursor one position up or down.
b) PageUp - list page up.
c) PageDown - list page down.
d) Home - move to the top of directory.
e) End - move to the end of directory.
2) Enter - operations with the selected file:
a) enter the folder.
b) choose a file.
3) Using the menu:
Alt+F1 - call disk selection menu.
Alt+F2 - call sort menu.
Alt+F3 - call filter menu.
Inside the menu:
Arrow cursor up and down - move to item.
Esc - close the window.
Enter - close the window with confirmation.
Arrow cursor left and right - move into the adjacent menu.
4) Ctrl+R - update the contents of a directory.
5) Backspace - exit from the directory.
6) Insert - highlighted by red color the file at the cursor and move the cursor one position down.
7) Ctrl+A and Ctrl+(NumPad(+) Up) - select all files and directories in the active panel, with the exception of the directory '..'
8) Ctrl+(NumPad(-) Up) - deselect all files and directories in the active panel with the exception of the directory '..'
9) Ctrl+(NumPad(*) Up) - invert the selection of all files and directories in the active panel, with the exception of the directory '..'
10) Esc - shutdown the program, without opening of a file.

View File

@@ -106,8 +106,8 @@ name=15
path=/SYS/GAMES/15
param=
ico=34
x=-271
y=-67
x=-67
y=-203
[0F]
name=DOCPACK
path=DOCPACK
@@ -116,8 +116,8 @@ ico=8
x=-67
y=68
[10]
name=BOARD
path=/SYS/DEVELOP/BOARD
name=DBGBOARD
path=/SYS/DEVELOP/DBGBOARD
param=
ico=19
x=-135
@@ -165,12 +165,12 @@ ico=21
x=68
y=-135
[17]
name=FLAPPY-BIRD
name=FLOPPY-BIRD
path=/SYS/GAMES/FLPYBIRD
param=
ico=49
x=-271
y=-135
x=-135
y=-203
[18]
name=KOSILKA
path=/SYS/GAMES/KOSILKA
@@ -248,3 +248,10 @@ param=
ico=125
x=204
y=136
[23]
name=DINO
path=/sys/games/dino
param=
ico=129
x=-203
y=-203

Some files were not shown because too many files have changed in this diff Show More