Compare commits

...
Author SHA1 Message Date
sebastianting 98a17eb931 inital setup 2026-05-22 12:40:39 -05:00
Igor ShutrovandBurer 68f0454682 ftpd: Add RMD command (#353)
Added RMD command

---------

Co-authored-by: Burer <burer@kolibrios.org>
Reviewed-on: KolibriOS/kolibrios#353
Reviewed-by: Burer <burer@kolibrios.org>
Reviewed-by: Ivan B <1+dunkaist@noreply.localhost>
Reviewed-by: Mikhail Frolov <mixa.frolov2003@gmail.com>
Co-authored-by: Igor Shutrov <kolibridev@inbox.ru>
Co-committed-by: Igor Shutrov <kolibridev@inbox.ru>
2026-05-19 18:40:19 +00:00
Egor00fandBurer d486c6b33a libc.obj: update exit (#340)
## New functions:
+ implement `_exit`/`_Exit`.
+ implement `atexit`.
+ implement `abort`.
`abort` write `Aborted pid: %d` to debug board

## Changes:

### call `exit` after main.
Just calling `exit`

### `exit` write exit code
If exit code isn't 0 `exit` will write exit code to debug board.

### use `con_exit(0)`
use
```c
con_exit(0)
```
instead of
```c
con_exit(status);
```
[from console.obj readme](310999dcc4/programs/develop/libraries/console_coff/console_en.txt (L15)).
I think the console window shouldn't be so dependent on the exit code. It's must only always close or always stay on screen

### `exit` writing exit code to debug board
Since the exit code is not used anywhere right now, I think it's better to just show it on the debug board.

for auto rebuild `crt0.o` need #339

from #311

---------

Co-authored-by: Burer <burer@kolibrios.org>
Reviewed-on: KolibriOS/kolibrios#340
Reviewed-by: Mikhail Frolov <mixa.frolov2003@gmail.com>
Reviewed-by: Burer <burer@kolibrios.org>
Co-authored-by: Egor00f <y.yarin@inbox.ru>
Co-committed-by: Egor00f <y.yarin@inbox.ru>
2026-05-19 10:30:46 +00:00
dunkaist 310999dcc4 fs/ext: Fix the return value of f70.1 (readdir)
Return ERROR_END_OF_FILE instead of ERROR_SUCCESS when
less files were read than requested.
2026-05-17 19:45:29 +00:00
dunkaist bb769cbf85 xfs: Support (ignore) new feature flags
Our XFS driver works in read-only mode. Therefore flags
that are related only to writing can be safely ignored.
2026-05-17 18:53:34 +00:00
nitinsoni4115andNitin4115 9b9f10b231 Fix #65: Replace WebSVN links with Gitea URLs in asmxygen.py (#393)
Updates the link_root variable to point to the new Gitea repository
instead of the old WebSVN links:
- Old: http://websvn.kolibrios.org/filedetails.php?repname=Kolibri+OS&path=/kernel/trunk
- New: https://git.kolibrios.org/KolibriOS/kolibrios/src/branch/main

Also updates the line anchor format to match Gitea's format:
- Old: #line-{line_number}
- New: #L{line_number}

---------

Co-authored-by: nitinsoni4115 <nitinsoni4115@gmail.com>
Reviewed-on: KolibriOS/kolibrios#393
Reviewed-by: Ivan B <1+dunkaist@noreply.localhost>
Reviewed-by: Burer <burer@kolibrios.org>
Co-authored-by: nitinsoni4115 <nitinsoni2704@gmail.com>
Co-committed-by: nitinsoni4115 <nitinsoni2704@gmail.com>
2026-05-17 14:01:27 +00:00
Burer ca99b669f2 apps/cmm: update HTTPS proxy (#439)
- new proxy address
- fix proxy usage for `dl`
- fix buffers overflow
- optimize memory usage
- explicit notify error for `dl` when URL is HTTPS and proxy is not found
- cleanup some dead code to fit app in the same sectors size

Reviewed-on: KolibriOS/kolibrios#439
Reviewed-by: Ivan B <1+dunkaist@noreply.localhost>
2026-05-17 11:53:45 +00:00
fac0425ac0 games/invaders: review graphical assets in code (fix #236) (#394)
- Remove the unused `gif_bullet2` file definition
- Remove the unused `gif_bullet2` `decodeimg` call
- Remove the unused `img_bullet2` memory allocation
- Fix `gif_menu4.size` to use `gif_menu4`
- Comment out the unused `img_alienpiece` allocation
- Preserve `img_bullet` from `bullet2.gif` for bullet rendering

---------

Co-authored-by: Burer <burer@kolibrios.org>
Co-authored-by: nitinsoni4115 <nitinsoni4115@gmail.com>
Reviewed-on: KolibriOS/kolibrios#394
Reviewed-by: Burer <burer@kolibrios.org>
Co-authored-by: nitinsoni4115 <nitinsoni2704@gmail.com>
Co-committed-by: nitinsoni4115 <nitinsoni2704@gmail.com>
2026-05-16 08:37:35 +00:00
Egor00fandBurer 175bd31489 add autobuild of some tcc libs (#339)
Implement autobuild for(this libs in [`programs/develop/ktcc/bin/lib/`](https://git.kolibrios.org/KolibriOS/kolibrios/src/branch/main/programs/develop/ktcc/bin/lib)):
+ `crt0.o`
+ `libtcc1.a`
+ `tiny.o`
+ `libshell.a`
+ `libcryptal.a`
+ `libsound.a`

it autobuild for kolibrios image and programs build.

`link_tcc` automatically add this libs to `extra_inputs`

roots of this grow from #311

---------

Co-authored-by: Burer <burer@kolibrios.org>
Reviewed-on: KolibriOS/kolibrios#339
Reviewed-by: Burer <burer@kolibrios.org>
Reviewed-by: Mikhail Frolov <mixa.frolov2003@gmail.com>
Co-authored-by: Егор <y.yarin@inbox.ru>
Co-committed-by: Егор <y.yarin@inbox.ru>
2026-05-16 08:30:18 +00:00
Matou1306 e1a30a4f14 fs/ext: implement symlink support (#414)
Implement support for reading fast and slow symlinks to files and directories in the ext driver.

Add handling for nested symlinks and absolute/relative paths, with a max depth limit of 40.
Add `ERROR_TOO_MANY_LINKS = 40` to `fs_lfn.inc`.
Fix the driver to ignore multiple slashes in the path.

Reviewed-on: KolibriOS/kolibrios#414
Reviewed-by: Ivan B <1+dunkaist@noreply.localhost>
Reviewed-by: hidnplayr <hidnplayr@gmail.com>
Co-authored-by: Matou <mathieubotros@gmail.com>
Co-committed-by: Matou <mathieubotros@gmail.com>
2026-05-15 19:21:30 +00:00
hidnplayr 8235572f7b RTL8169: enable gigabit and restart auto-negotiation on init (#440)
Fix bug in enabling gigabit and restart auto-negotiation setup for most RTL8169/RTL8168/RTL8111

Reviewed-on: KolibriOS/kolibrios#440
2026-05-15 17:03:16 +00:00
ianandIan Choi 641603693f extfs: report unsupported incompatible features (#368)
Report unsupported ext incompatible features to the system board before mount failure.

Changes:
- add ext incompat feature bit constants
- replace one-by-one checks with a loop over a feature table
- keep fallback logging for unknown incompat bits

---------

Co-authored-by: Ian Choi <workhard2464@gmail.com>
Reviewed-on: KolibriOS/kolibrios#368
Reviewed-by: Ivan B <1+dunkaist@noreply.localhost>
Reviewed-by: Mikhail Frolov <mixa.frolov2003@gmail.com>
Co-authored-by: ianjchoi8701 <ianjchoi8701@gmail.com>
Co-committed-by: ianjchoi8701 <ianjchoi8701@gmail.com>
2026-05-11 12:05:36 +00:00
nitinsoni4115andNitin4115 a016346e4e docs/readme.md: Add links to main KolibriOS website (Fix #201) (#396)
Adds prominent links to https://kolibrios.org in documentation:
- README.md: New 'Website' section with information about official site

These links help users find downloads, documentation, and more project information.

---------

Co-authored-by: nitinsoni4115 <nitinsoni4115@gmail.com>
Reviewed-on: KolibriOS/kolibrios#396
Reviewed-by: Burer <burer@kolibrios.org>
Reviewed-by: Mikhail Frolov <mixa.frolov2003@gmail.com>
Co-authored-by: nitinsoni4115 <nitinsoni2704@gmail.com>
Co-committed-by: nitinsoni4115 <nitinsoni2704@gmail.com>
2026-05-11 06:05:20 +00:00
hrigarandBurer e7698cbfb6 libs/dll: add dll_LoadLibrary for single library loading (fix #281) (#370)
Resolves #281

This PR adds a new `dll_LoadLibrary` function to `dll.obj` that loads a single library by name or full path, auto-calls `lib_init`, and returns the export table pointer.

`dll_load` is refactored on top of `dll_LoadLibrary`.

---------

Co-authored-by: Burer <burer@kolibrios.org>
Reviewed-on: KolibriOS/kolibrios#370
Reviewed-by: Mikhail Frolov <mixa.frolov2003@gmail.com>
Reviewed-by: Burer <burer@kolibrios.org>
Co-authored-by: hrigar <h4gar02@protonmail.com>
Co-committed-by: hrigar <h4gar02@protonmail.com>
2026-05-04 19:03:47 +00:00
27c1f44930 games/almaz: text translation, utf-8 for source code (fix #237) (#395)
- Proper translation to all system languages
- UTF-8 encoding for all source code files

---------

Co-authored-by: Burer <burer@kolibrios.org>
Co-authored-by: nitinsoni4115 <nitinsoni4115@gmail.com>
Reviewed-on: KolibriOS/kolibrios#395
Reviewed-by: Burer <burer@kolibrios.org>
Reviewed-by: Mikhail Frolov <mixa.frolov2003@gmail.com>
Co-authored-by: nitinsoni4115 <nitinsoni2704@gmail.com>
Co-committed-by: nitinsoni4115 <nitinsoni2704@gmail.com>
2026-04-26 11:31:24 +00:00
DIlkhush00andBurer 86c685ed4b apps/search: prevent file open when clicking blank search results area (fix #218) (#372)
Resolves #218

---------

Co-authored-by: Burer <burer@kolibrios.org>
Reviewed-on: KolibriOS/kolibrios#372
Reviewed-by: Burer <burer@kolibrios.org>
Reviewed-by: Mikhail Frolov <mixa.frolov2003@gmail.com>
Co-authored-by: Dilkhush Purohit <dilkhushpurohit01@gmail.com>
Co-committed-by: Dilkhush Purohit <dilkhushpurohit01@gmail.com>
2026-04-26 04:41:54 +00:00
ace-dent e05b57a95e develop/libraries: Post-SVN tidy (#436)
- Move source code from `trunk` into root directory for each library.
- Update build files and ASM include paths. Add SPDX license header where appropriate.
- Note: Line endings standardised from `CRLF` > `LF`, so best to view diffs with whitespace changes hidden.

(Work towards #75, point 3)

Reviewed-on: KolibriOS/kolibrios#436
Reviewed-by: Burer <burer@kolibrios.org>
Reviewed-by: Ivan B <1+dunkaist@noreply.localhost>
Reviewed-by: Mikhail Frolov <mixa.frolov2003@gmail.com>
Co-authored-by: Andrew <dent.ace@gmail.com>
Co-committed-by: Andrew <dent.ace@gmail.com>
2026-04-25 09:20:05 +00:00
lex_coderandlex a0e4bce98a iconv: add UTF-16LE support (#351)
Co-authored-by: lex <Алексей Михайлов>
Reviewed-on: KolibriOS/kolibrios#351
Reviewed-by: Burer <burer@kolibrios.org>
Reviewed-by: Ivan B <1+dunkaist@noreply.localhost>
Co-authored-by: Alexey Mikhailov <lex_coder@mail.ru>
Co-committed-by: Alexey Mikhailov <lex_coder@mail.ru>
2026-04-24 10:09:14 +00:00
ace-dent 2cda4a9682 libraries/box_lib: Post-SVN tidy (#433)
- Move source code from `trunk` into root directory.
- Update build files and ASM include paths. Add SPDX license header where appropriate.
- Note: Line endings standardised from `CRLF` > `LF`, so best to view diffs with whitespace changes hidden.

(Work towards [#75](KolibriOS/kolibrios#75), point 3)

Reviewed-on: KolibriOS/kolibrios#433
Reviewed-by: Burer <burer@kolibrios.org>
Reviewed-by: Ivan B <1+dunkaist@noreply.localhost>
Reviewed-by: Mikhail Frolov <mixa.frolov2003@gmail.com>
Co-authored-by: Andrew <dent.ace@gmail.com>
Co-committed-by: Andrew <dent.ace@gmail.com>
2026-04-23 11:50:10 +00:00
ace-dent f08fe1f2a0 programs/other: Post-SVN tidy (#434)
- Move source code from `trunk` into root directory for each program.
- Update build files and ASM include paths. Add SPDX license header where appropriate.
- Note: Line endings standardised from `CRLF` > `LF`, so best to view diffs with whitespace changes hidden.

(Work towards #75, point 3)

Reviewed-on: KolibriOS/kolibrios#434
Reviewed-by: Burer <burer@kolibrios.org>
Reviewed-by: Mikhail Frolov <mixa.frolov2003@gmail.com>
Co-authored-by: Andrew <dent.ace@gmail.com>
Co-committed-by: Andrew <dent.ace@gmail.com>
2026-04-22 06:33:49 +00:00
ace-dent f7a26ece7a kernel/sec_loader: Post-SVN tidy (#435)
- Move source code from `trunk` into root directory. Changes mirrored in old `branch` copies for parity.
- Checked build files and ASM include paths; no changes required.

(Work towards [#75](KolibriOS/kolibrios#75), point 3)

Reviewed-on: KolibriOS/kolibrios#435
Reviewed-by: Ivan B <1+dunkaist@noreply.localhost>
Reviewed-by: Burer <burer@kolibrios.org>
Co-authored-by: Andrew <dent.ace@gmail.com>
Co-committed-by: Andrew <dent.ace@gmail.com>
2026-04-21 15:45:54 +00:00
ace-dent f5735e54f4 programs/testing: Post-SVN tidy (#430)
- Move source code from `trunk` into root directory for each program.
- Update build files and ASM include paths. Add SPDX license header where appropriate.
- Note: Line endings standardised from `CRLF` > `LF`, so best to view diffs with whitespace changes hidden.

(Work towards [#75](KolibriOS/kolibrios#75), point 3)

Reviewed-on: KolibriOS/kolibrios#430
Reviewed-by: Mikhail Frolov <mixa.frolov2003@gmail.com>
Reviewed-by: Burer <burer@kolibrios.org>
Co-authored-by: Andrew <dent.ace@gmail.com>
Co-committed-by: Andrew <dent.ace@gmail.com>
2026-04-20 16:30:09 +00:00
ace-dent 8a0329cee8 fs/kfar: Post-SVN tidy (#429)
- Move source code from `trunk` into program root directory.
- Update build files and ASM include paths. Add SPDX license header where appropriate.
- Note: Line endings standardised from `CRLF` > `LF`, so best to view diffs with whitespace changes hidden.

(Work towards [#75](KolibriOS/kolibrios#75), point 3)

Reviewed-on: KolibriOS/kolibrios#429
Reviewed-by: Mikhail Frolov <mixa.frolov2003@gmail.com>
Reviewed-by: Burer <burer@kolibrios.org>
Co-authored-by: Andrew <dent.ace@gmail.com>
Co-committed-by: Andrew <dent.ace@gmail.com>
2026-04-20 16:16:50 +00:00
ace-dentandBurer a4f3f3545a develop/ktcc: Post-SVN tidy (#425)
- Move source code from `trunk` into root directory.
- Update build files and ASM include paths. Add SPDX license header where appropriate.
- These changes also update the CI build files in `.gitea/workflows/`.
- Note: Line endings standardised from `CRLF` > `LF`, so best to view diffs with whitespace changes hidden.

(Work towards [#75](KolibriOS/kolibrios#75), point 3)

---------

Co-authored-by: Burer <burer@kolibrios.org>
Reviewed-on: KolibriOS/kolibrios#425
Reviewed-by: Mikhail Frolov <mixa.frolov2003@gmail.com>
Reviewed-by: Burer <burer@kolibrios.org>
Co-authored-by: Andrew <dent.ace@gmail.com>
Co-committed-by: Andrew <dent.ace@gmail.com>
2026-04-19 16:41:37 +00:00
jaskaran-singh-77 e0dc42d79b libs/kosfuncs: update KOSfuncs.inc constants (fix #323) (#374)
Added missing constants:

- SSF_SET_CF_ENC (30.4)
   SSF_GET_CF_ENC (30.5)
   SSF_RECT_BG(39.3)
- SSF_RENAME (70.10)
   SF_FILE_EXT (80 )

Removed obsolete constants:

 SF_MIDI (20) and subfunctions
- SSF_MPU_MIDI_BASE (21.1)
- SF_PORT_IN_OUT (43)
- Duplicate aliases for SF_BACKGROUND_GET

Resolves #323

Reviewed-on: KolibriOS/kolibrios#374
Reviewed-by: Burer <burer@kolibrios.org>
Reviewed-by: Mikhail Frolov <mixa.frolov2003@gmail.com>
Co-authored-by: jaskaran-singh-77 <jassijatt951@gmail.com>
Co-committed-by: jaskaran-singh-77 <jassijatt951@gmail.com>
2026-04-19 09:44:20 +00:00
jaskaran-singh-77andBurer 096cca20cb apps/webview: make search engine configurable via app.ini, add setting to main menu (#420)
Changes:
- Added `search_engine` variable to `WebView.c`
- Modified `EventSeachWeb()` to use configurable search engine
- Added `LoadIniConfig( )` for `search_engine` in `settings.h`
- Updated `app.ini` with default **Wiby** and alternatives (**Bing**, **DuckDuckGo**)
- Added menu tab and hotkey for opening `app.ini`

Co-authored-by: Burer <burer@kolibrios.org>
Reviewed-on: KolibriOS/kolibrios#420
Reviewed-by: Burer <burer@noreply.localhost>
Reviewed-by: Ivan B <dunkaist@noreply.localhost>
Co-authored-by: jaskaran-singh-77 <jassijatt951@gmail.com>
Co-committed-by: jaskaran-singh-77 <jassijatt951@gmail.com>
2026-04-18 09:13:39 +00:00
ace-dent db529bc1a8 develop/open_watcom: Post-SVN tidy (#426)
- Move source code from `trunk` into root directory.
- Note: Line endings standardised from `CRLF` > `LF`, so best to view diffs with whitespace changes hidden.

(Work towards [#75](KolibriOS/kolibrios#75), point 3)

Reviewed-on: KolibriOS/kolibrios#426
Reviewed-by: Ivan B <dunkaist@noreply.localhost>
Reviewed-by: Mikhail Frolov <mixa.frolov2003@gmail.com>
Reviewed-by: Burer <burer@noreply.localhost>
Co-authored-by: Andrew <dent.ace@gmail.com>
Co-committed-by: Andrew <dent.ace@gmail.com>
2026-04-18 08:31:17 +00:00
MaxandBurer 3e1c8e9ec8 games/max-freecell (replace freecell in IMG) (#398)
Freecell card game.
Put into IMG, as a replacement to current one, cause it have smaller binary size.

Co-authored-by: Burer <burer@kolibrios.org>
Reviewed-on: KolibriOS/kolibrios#398
Reviewed-by: Burer <burer@noreply.localhost>
Co-authored-by: Max <mad.max0@op.pl>
Co-committed-by: Max <mad.max0@op.pl>
2026-04-18 07:04:47 +00:00
Egor00f e94fb7d5ef move mv -f libc.a $(INSTALLDIR) to install target 2026-04-17 17:14:26 +00:00
ace-dent bd548e0373 programs/fs: Post-SVN tidy (part 1) (#423)
- Move source code from `trunk` into root directory for each program.
- Update build files and ASM include paths. Add SPDX license header where appropriate.
- Note: Line endings standardised from `CRLF` > `LF`, so best to view diffs with whitespace changes hidden.

(Work towards #75, point 3)

Reviewed-on: KolibriOS/kolibrios#423
Reviewed-by: Mikhail Frolov <mixa.frolov2003@gmail.com>
Reviewed-by: Burer <burer@noreply.localhost>
Co-authored-by: Andrew <dent.ace@gmail.com>
Co-committed-by: Andrew <dent.ace@gmail.com>
2026-04-16 16:33:44 +00:00
ace-dent 6ad8a8b6cc programs/develop: Post-SVN tidy (part 2) (#422)
- Move source code from `trunk` into root directory for each program.
- Update build files and ASM include paths. Add SPDX license header where appropriate.
- Note: Line endings standardised from `CRLF` > `LF`, so best to view diffs with whitespace changes hidden.

(Work towards #75, point 3)

Reviewed-on: KolibriOS/kolibrios#422
Reviewed-by: Mikhail Frolov <mixa.frolov2003@gmail.com>
Reviewed-by: Burer <burer@noreply.localhost>
Co-authored-by: Andrew <dent.ace@gmail.com>
Co-committed-by: Andrew <dent.ace@gmail.com>
2026-04-16 12:18:20 +00:00
MaxandBurer 48626298ff games: add arkanoid (#375)
A simple clone of the L-breakout arkanoid game (tray and ball)

Co-authored-by: Burer <burer@kolibrios.org>
Reviewed-on: KolibriOS/kolibrios#375
Reviewed-by: Burer <burer@kolibrios.org>
Co-authored-by: Max <mad.max0@op.pl>
Co-committed-by: Max <mad.max0@op.pl>
2026-04-12 07:12:38 +00:00
ace-dent 5cbac1a231 outdated/mv: Post-SVN tidy
- Update build files and ASM include paths.
2026-04-11 13:26:02 +01:00
ace-dent af62e17863 outdated/sysxtree: Post-SVN tidy
- Move source code from `trunk` into root directory.
- Update build files and ASM include paths.
2026-04-11 13:16:41 +01:00
ace-dent f8255f0d77 outdated/sb: Post-SVN tidy
- Move source code from `trunk` into root directory.
- Update build files and ASM include paths.
2026-04-11 13:16:40 +01:00
ace-dent 826b43e9c2 outdated/rb: Post-SVN tidy
- Move source code from `trunk` into root directory.
- Update build files and ASM include paths.
2026-04-11 13:16:05 +01:00
ace-dent 1434d2fd98 outdated/param: Post-SVN tidy
- Move source code from `trunk` into root directory.
- Update build files and ASM include paths.
2026-04-11 13:16:04 +01:00
ace-dent 2a43081ba6 outdated/mv: Post-SVN tidy
- Move source code from `trunk` into root directory.
- Update build files and ASM include paths.
2026-04-11 13:16:03 +01:00
ace-dent 31cd7329df outdated/mhc: Post-SVN tidy
- Move source code from `trunk` into root directory.
- Checked build files and ASM include paths.
2026-04-11 13:14:21 +01:00
ace-dent a9136a1684 outdated/kerpack: Post-SVN tidy
- Move source code from `trunk` into root directory.
- Checked build files and ASM include paths.
2026-04-11 13:14:21 +01:00
ace-dent bb6d4072a1 outdated/iconedit: Post-SVN tidy
- Move source code from `trunk` into root directory.
- Update build files and ASM include paths.
2026-04-11 13:14:20 +01:00
ace-dent cb37ae10cb outdated/jpegview: Post-SVN tidy
- Move source code from `trunk` into root directory.
- Update build files and checked ASM include paths.
2026-04-11 13:14:19 +01:00
ace-dent bdc12a2f00 outdated/gifview: Post-SVN tidy
- Move source code from `trunk` into root directory.
- Update build files and checked ASM include paths.
2026-04-11 13:10:32 +01:00
ace-dent 430843a83f outdated/mixer: Post-SVN tidy
- Move source code from `trunk` into root directory.
- Update build files and ASM include paths.
2026-04-11 13:09:45 +01:00
ace-dent 96cc7e7af4 outdated/archer: Post-SVN tidy
- Move source code from `trunk` into root directory.
- Checked ASM include paths.
- Note: Line endings standardised from `CRLF` > `LF`, so best to view diffs with whitespace changes hidden.
2026-04-11 13:07:10 +01:00
ace-dent 54500c5100 outdated/clip: Post-SVN tidy
- Move source code from `trunk` into root directory.
- Update build files and ASM include paths.
- Note: Line endings standardised from `CRLF` > `LF`, so best to view diffs with whitespace changes hidden.
2026-04-11 13:07:10 +01:00
ace-dent 4b1d291f17 outdated/bgitest: Post-SVN tidy
- Move source code from `trunk` into root directory.
- Update build files and ASM include paths.
2026-04-11 13:07:10 +01:00
ace-dent c0e0827513 outdated/mfar: Post-SVN tidy
- Move source code from `trunk` into root directory.
2026-04-11 13:07:10 +01:00
MaxandBurer 87adc0a1df games: add solitare(#362)
Simple Solitaire game written in FASM.
Bitmaps free license.

Co-authored-by: Burer <burer@kolibrios.org>
Reviewed-on: KolibriOS/kolibrios#362
Co-authored-by: Max <mad.max0@op.pl>
Co-committed-by: Max <mad.max0@op.pl>
2026-04-11 12:04:30 +00:00
ace-dent 0cd3b0c5b1 programs/develop: Post-SVN tidy (part 1) (#419)
- Move source code from `trunk` into root directory for each program.
- Update build files and ASM include paths. Add SPDX license header where appropriate.
- Note: Line endings standardised from `CRLF` > `LF`, so best to view diffs with whitespace changes hidden.

(Work towards #75, point 3)

Reviewed-on: KolibriOS/kolibrios#419
Co-authored-by: Andrew <dent.ace@gmail.com>
Co-committed-by: Andrew <dent.ace@gmail.com>
2026-04-11 10:25:59 +00:00
ace-dent 33acd57c58 programs/media: Post-SVN tidy (#417)
- Move source code from `trunk` into root directory for each program.
- Update build files and ASM include paths. Add SPDX license header where appropriate.
- Note: Line endings standardised from `CRLF` > `LF`, so best to view diffs with whitespace changes hidden.

(Work towards #75, point 3)

Reviewed-on: KolibriOS/kolibrios#417
Reviewed-by: Mikhail Frolov <mixa.frolov2003@gmail.com>
Reviewed-by: Burer <burer@noreply.localhost>
Co-authored-by: Andrew <dent.ace@gmail.com>
Co-committed-by: Andrew <dent.ace@gmail.com>
2026-04-11 09:21:42 +00:00
ace-dent d6a1b56b7f programs/demos: Post-SVN tidy (part 3) (#416)
- Move source code from `trunk` into root directory for each program.
- Update build files and ASM include paths. Add SPDX license header where appropriate.
- Note: Line endings standardised from `CRLF` > `LF`, so best to view diffs with whitespace changes hidden.

(Work towards #75, point 3)

Reviewed-on: KolibriOS/kolibrios#416
Reviewed-by: Ivan B <dunkaist@noreply.localhost>
Reviewed-by: Burer <burer@noreply.localhost>
Co-authored-by: Andrew <dent.ace@gmail.com>
Co-committed-by: Andrew <dent.ace@gmail.com>
2026-04-10 17:20:15 +00:00
ace-dent 7bcb400040 programs/system: Post-SVN tidy (part 3) (#413)
- Move source code from `trunk` into root directory for each program.
- Update build files and ASM include paths. Add SPDX license header where appropriate.
- Note: Line endings standardised from `CRLF` > `LF`, so best to view diffs with whitespace changes hidden.

(Work towards #75, point 3)

Reviewed-on: KolibriOS/kolibrios#413
Reviewed-by: Ivan B <dunkaist@noreply.localhost>
Reviewed-by: Mikhail Frolov <mixa.frolov2003@gmail.com>
Co-authored-by: Andrew <dent.ace@gmail.com>
Co-committed-by: Andrew <dent.ace@gmail.com>
2026-04-10 16:30:22 +00:00
ace-dent 398dcbb13d programs/demos: Post-SVN tidy (part 2) (#412)
- Move source code from `trunk` into root directory for each program.
- Update build files and ASM include paths. Add SPDX license header where appropriate.
- Note: Line endings standardised from `CRLF` > `LF`, so best to view diffs with whitespace changes hidden.

(Work towards #75, point 3)

Reviewed-on: KolibriOS/kolibrios#412
Reviewed-by: Ivan B <dunkaist@gmail.com>
Reviewed-by: Mikhail Frolov <mixa.frolov2003@gmail.com>
Co-authored-by: Andrew <dent.ace@gmail.com>
Co-committed-by: Andrew <dent.ace@gmail.com>
2026-04-10 07:12:30 +00:00
ace-dent 9ca506ed15 programs/system: Post-SVN tidy (part 2) (#410)
- Move source code from `trunk` into root directory for each program.
- Update build files and ASM include paths. Add SPDX license header where appropriate.
- Note: Line endings standardised from `CRLF` > `LF`, so best to view diffs with whitespace changes hidden.

(Work towards #75, point 3)

Reviewed-on: KolibriOS/kolibrios#410
Reviewed-by: Ivan B <dunkaist@gmail.com>
Reviewed-by: Burer <burer@kolibrios.org>
Co-authored-by: Andrew <dent.ace@gmail.com>
Co-committed-by: Andrew <dent.ace@gmail.com>
2026-04-09 18:57:52 +00:00
ace-dent 31880f3ebe programs/demos: Post-SVN tidy (part 1) (#409)
- Move source code from `trunk` into root directory for each program.
- Update build files and ASM include paths. Add SPDX license header where appropriate.
- Note: Line endings standardised from `CRLF` > `LF`, so best to view diffs with whitespace changes hidden.

(Work towards #75, point 3)

Reviewed-on: KolibriOS/kolibrios#409
Reviewed-by: Ivan B <dunkaist@gmail.com>
Reviewed-by: Burer <burer@kolibrios.org>
Co-authored-by: Andrew <dent.ace@gmail.com>
Co-committed-by: Andrew <dent.ace@gmail.com>
2026-04-09 18:12:49 +00:00
ace-dent 27a26b669f Fix CR line endings
- White space clean up only: replace `CR` with `LF` line-endings. Ensures correct git diff processing.
2026-04-09 12:39:20 +01:00
ace-dent 3c1e533f95 programs/system: Post-SVN tidy (part 1) (#408)
- Move source code from `trunk` into program root directory.
- Fix build and ASM files. Add SPDX license header where appropriate.
- Note: Line endings standardised from `CRLF` > `LF`, so best to view diffs with whitespace changes hidden.

(Work towards #75, point 3)

Reviewed-on: KolibriOS/kolibrios#408
Reviewed-by: Ivan B <dunkaist@gmail.com>
Reviewed-by: Burer <burer@kolibrios.org>
Co-authored-by: Andrew <dent.ace@gmail.com>
Co-committed-by: Andrew <dent.ace@gmail.com>
2026-04-09 08:40:14 +00:00
dunkaist f7a3e34289 Fix build of ps2mouse4d driver
The previous commit removed the trunk directory, fix Tupfile.lua too.
2026-04-09 06:07:03 +00:00
Matou1306 a591b2b25a added -std=c99 flag for compilations since it was throwing errors due to newer gcc versions 2026-04-06 06:57:08 +00:00
ace-dent c948b48eb2 drivers/ps2mouse4d: Post-SVN tidy
- Move source code from `trunk` into program root directory.
- Update build files and ASM include paths.
- Note: Line endings standardised from `CRLF` > `LF`, so best to view diffs with whitespace changes hidden.
2026-04-02 16:37:02 +00:00
TensorCraft 0b4562bac4 net: fix mutex leak in ipv4_connect 2026-03-31 10:41:12 -07:00
sebastianting de6724017d fix: iconv to/from unpacking order and calling convention (#126) (#127)
swapped unpacking order of to and from and caller parameters
     removed null terminator adding at end
     changed call from stdcall to cdecl
2026-03-31 08:11:44 +00:00
jaskaran-singh-77andBurer f305d3425d apps/webview: fix last character in line being cropped (fix #263) (#386)
the break position was calculated as

br = draw_w - draw_x + (left_gap / list.font_w);

adding left_gap/font_w was making br too large,
so lines were allowed to go past the drawable area
and the last character got clipped.

changed to:
br = draw_w - draw_x;
br /= list.font_w;

just the remaining pixels divided by char width,
no left_gap needed here

Co-authored-by: Burer <burer@kolibrios.org>
Reviewed-on: KolibriOS/kolibrios#386
Reviewed-by: Burer <burer@kolibrios.org>
Co-authored-by: jaskaran-singh-77 <jassijatt951@gmail.com>
Co-committed-by: jaskaran-singh-77 <jassijatt951@gmail.com>
2026-03-29 11:50:29 +00:00
Marouane-DjabriandBurer b5981a39dc apps/webview: added search / go buttons, added text analysis for the entered text in the omni box (fix #111) (#377)
Co-authored-by: Burer <burer@kolibrios.org>
Reviewed-on: KolibriOS/kolibrios#377
Reviewed-by: Burer <burer@kolibrios.org>
Reviewed-by: Max Logaev <maxlogaev@proton.me>
Co-authored-by: dash-dash-force <nm_djabri@esi.dz>
Co-committed-by: dash-dash-force <nm_djabri@esi.dz>
2026-03-29 09:33:09 +00:00
Matou1306 e9e9ebb4c8 Implemented wrapper for @open (#344)
Fixed #336

Implemented a wrapper for placing the path to a file in quotes.
This corrects the problem of handling paths containing spaces in C programs such as `DGEN`,
 since the space is the argument delimiter.

The wrapper should have the name `<app>_open`. Wrapper trims the `_open` postfix and launches the `<app>`.

Reviewed-on: KolibriOS/kolibrios#344
Reviewed-by: Ivan B <dunkaist@noreply.localhost>
Reviewed-by: Max Logaev <maxlogaev@proton.me>
Co-authored-by: Matou <mathieubotros@gmail.com>
Co-committed-by: Matou <mathieubotros@gmail.com>
2026-03-23 14:34:07 +00:00
YVishereandAditya Yellapuntula Venkata 4c359e42ce loaddrv: Updated error message on invalid args passed (#364)
Added a usage line and changed the wording slightly to be more clear in the expected arguments.

Co-authored-by: Aditya Yellapuntula Venkata <aditya.yellapuntulavenkata@doosan.com>
Reviewed-on: KolibriOS/kolibrios#364
Reviewed-by: Burer <burer@noreply.localhost>
Reviewed-by: Max Logaev <maxlogaev@proton.me>
Co-authored-by: Aditya Yellapuntula Venkata <adityayv802@gmail.com>
Co-committed-by: Aditya Yellapuntula Venkata <adityayv802@gmail.com>
2026-03-14 16:49:33 +00:00
jaskaran-singh-77 3238f9f485 apps/cedit: use numeric version instead of date (fix #329) (#361)
Replace hardcoded date "CEdit (11-jan-2026)" with version "CEdit 1.0"

Add separate VERSION and APPNAME constants for better maintainability

Fixes issue [#329](KolibriOS/kolibrios#329)

Reviewed-on: KolibriOS/kolibrios#361
Reviewed-by: Burer <burer@noreply.localhost>
Reviewed-by: Max Logaev <maxlogaev@proton.me>
Co-authored-by: jaskaran-singh-77 <jassijatt951@gmail.com>
Co-committed-by: jaskaran-singh-77 <jassijatt951@gmail.com>
2026-03-14 10:46:08 +00:00
Igor Shutrov 289eabf8a4 cedit: add Shift+Tab shortcut (#318)
Add Shift+Tab shortcut to decrease indentation

Reviewed-on: KolibriOS/kolibrios#318
Reviewed-by: Mikhail Frolov <mixa.frolov2003@gmail.com>
Reviewed-by: Max Logaev <maxlogaev@proton.me>
Reviewed-by: Burer <burer@noreply.localhost>
Co-authored-by: Igor Shutrov <kolibridev@inbox.ru>
Co-committed-by: Igor Shutrov <kolibridev@inbox.ru>
2026-03-12 13:47:42 +00:00
Burerandrgimad e818e2167f apps/reshare: rewrite to fasm (#305)
- Rewritten to FASM (rgimad);
- Refactored code;
- Tweaked UX/UI;
- Fit program RAM usage into 1 MB (#make_8mb_great_again):
  https://wiki.kolibrios.org/wiki/SystemRequirements;
- Fit program window with default skin into 800x600;
- Use proper prefixes for debug messages.

Reviewed-on: KolibriOS/kolibrios#305
Reviewed-by: Ivan B <dunkaist@noreply.localhost>
Co-authored-by: Burer <burer@kolibrios.org>
Co-authored-By: rgimad <rgimad@kolibrios.org>
Co-committed-by: Burer <burer@kolibrios.org>
2026-03-11 20:59:35 +03:00
Igor Shutrov 42c205be32 heed: Add exit by ESC (#345)
Reviewed-on: KolibriOS/kolibrios#345
Reviewed-by: Mikhail Frolov <mixa.frolov2003@gmail.com>
Reviewed-by: Max Logaev <maxlogaev@proton.me>
Co-authored-by: Igor Shutrov <kolibridev@inbox.ru>
Co-committed-by: Igor Shutrov <kolibridev@inbox.ru>
2026-03-11 12:21:47 +00:00
hrigar 0253ec8753 Rename icons16.png to icons18.png and update all refs (#350)
Fixed #349.

Reviewed-on: KolibriOS/kolibrios#350
Reviewed-by: Max Logaev <maxlogaev@proton.me>
Reviewed-by: Burer <burer@noreply.localhost>
Co-authored-by: hrigar <h4gar02@protonmail.com>
Co-committed-by: hrigar <h4gar02@protonmail.com>
2026-03-11 13:12:31 +03:00
Egor00f 91dc4d8cad libc.obj: Added strtok_r (#341)
Reviewed-on: KolibriOS/kolibrios#341
Reviewed-by: Max Logaev <maxlogaev@proton.me>
Co-authored-by: Egor00f <y.yarin@inbox.ru>
Co-committed-by: Egor00f <y.yarin@inbox.ru>
2026-03-08 00:36:53 +03:00
mxlgv 6f2a947deb Remove broken unused and unfinished apps and libs
- TEAtool: A useless utility for encryption with the TEA algorithm,
  written for fun by me during my school years;
- GameHack: not a working prototype of a program like Cheat Engine;
- microtar: port of a portable library with a reduced functionality
  for working with TAR in C that is not used

Signed-off-by: Max Logaev <maxlogaev@proton.me>
2026-03-07 20:19:00 +00:00
735b86c476 piano: refactoring and improvement (#302)
- Refactored source code;
- Added Spanish translation;
- Updated UX / UI;
- Updated keyboard layout (fix #25);
- Added keymap configuration via separate binary file.

Reviewed-on: KolibriOS/kolibrios#302
Reviewed-by: Mikhail Frolov <mixa.frolov2003@gmail.com>
Reviewed-by: Max Logaev <maxlogaev@proton.me>
Co-authored-by: Burer <burer@kolibrios.org>
Co-authored-by: Doczom <mixa.frolov2003@gmail.com>
Co-authored-by: qullarwee <unknown@domain.local>
Co-committed-by: Burer <burer@kolibrios.org>
2026-03-07 23:13:08 +03:00
2447 changed files with 86298 additions and 81162 deletions

No files matched your search

+3 -3
View File
@@ -40,7 +40,7 @@ jobs:
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)
b=$(sha1sum ${{ gitea.workspace }}/programs/develop/ktcc/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)
@@ -67,7 +67,7 @@ jobs:
- 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
cp ${{ gitea.workspace }}/programs/develop/ktcc/bin/kos32-tcc /home/autobuild/tools/win32/bin/kos32-tcc
chmod +x /home/autobuild/tools/win32/bin/kos32-tcc
- name: Build and install objconv
@@ -132,7 +132,7 @@ jobs:
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
+6
View File
@@ -9,3 +9,9 @@ ehthumbs_vista.db
._*
programs/cmm/cmm.code-workspace
programs/cmm/menu/.gitignore
.tup/
/build-*/
/*.config
+4
View File
@@ -9,6 +9,10 @@ Its kernel, most drivers, and many programs are written entirely in [FASM](https
Based on [MenuetOS](https://www.menuetos.net/), it uses its own standards and is NOT fully POSIX or UNIX compliant.
## Website
Visit the [official KolibriOS website](https://kolibrios.org) for more information, downloads, and documentation.
## Contributing
We would appreciate any participation in the project and always welcome new users and contributors.
+7 -4
View File
@@ -1,3 +1,6 @@
; SPDX-License-Identifier: NOASSERTION
;
format coff
use32 ; Tell compiler to use 32 bit instructions
@@ -7,8 +10,8 @@ include '../../../programs/proc32.inc'
include '../../../programs/macros.inc'
purge section,mov,add,sub
include '../../../programs/develop/libraries/box_lib/trunk/box_lib.mac'
include '../../../programs/system/run/trunk/txtbut.inc'
include '../../../programs/develop/libraries/box_lib/box_lib.mac'
include '../../../programs/system/run/txtbut.inc'
include '../../../programs/dll.inc'
public init_boxlib as '_kolibri_boxlib_init'
@@ -159,8 +162,8 @@ public path_show_draw as '_path_show_draw'
public fb_draw_panel as '_filebrowse_draw'
public fb_mouse as '_filebrowse_mouse'
public fb_key as '_filebrowse_key'
public fb_key as '_filebrowse_key'
public ted_but_sumb_upper as '_ted_but_sumb_upper'
public ted_but_sumb_lover as '_ted_but_sumb_lover'
public ted_but_convert_by_table as '_ted_but_convert_by_table'
+153 -152
View File
@@ -1,152 +1,153 @@
// BOXLIB example (scrollbar, progressbar)
// ! without kolibri_gui !
// Writed by maxcodehack
// TCC version is in /programs/develop/ktcc/trunk/samples
#include <kos32sys.h>
#include <stdlib.h>
/// BOXLIB
// Modified from C_Layer
// C_Layer variant I don't like
extern int kolibri_boxlib_init(void);
typedef struct __attribute__ ((__packed__)) {
uint16_t xsize;
uint16_t xpos;
uint16_t ysize;
uint16_t ypos;
uint32_t btn_height;
uint32_t type;
uint32_t max_area;
uint32_t cur_area;
uint32_t position;
uint32_t back_color;
uint32_t front_color;
uint32_t line_color;
uint32_t redraw;
uint16_t delta;
uint16_t delta2;
uint16_t r_size_x;
uint16_t r_start_x;
uint16_t r_size_y;
uint16_t r_start_y;
uint32_t m_pos;
uint32_t m_pos2;
uint32_t m_keys;
uint32_t run_size;
uint32_t position2;
uint32_t work_size;
uint32_t all_redraw;
uint32_t ar_offset;
} scrollbar;
extern void (*scrollbar_h_draw)(scrollbar*) __attribute__((__stdcall__));
extern void (*scrollbar_h_mouse)(scrollbar*) __attribute__((__stdcall__));
extern void (*scrollbar_v_draw)(scrollbar*) __attribute__((__stdcall__));
extern void (*scrollbar_v_mouse)(scrollbar*) __attribute__((__stdcall__));
typedef struct {
unsigned int value;
unsigned int left;
unsigned int top;
unsigned int width;
unsigned int height;
unsigned int style;
unsigned int min;
unsigned int max;
unsigned int back_color;
unsigned int progress_color;
unsigned int frame_color;
} progressbar;
extern void (*progressbar_draw)(progressbar *) __attribute__((__stdcall__));
extern void (*progressbar_progress)(progressbar *) __attribute__((__stdcall__));
/// BOXLIB
#define evReDraw 1
#define evKey 2
#define evButton 3
#define evExit 4
#define evDesktop 5
#define evMouse 6
#define evIPC 7
#define evNetwork 8
#define evDebug 9
#define WIN_W 640
#define WIN_H 563
uint32_t wheels;
char* title = "Boxlib example";
int win_bg_color = 0x858585;
scrollbar scroll = {15, WIN_W - 26, WIN_H - 29, 0, 0, 2, 215, 15, 0,0x707070,0xD2CED0,0x555555,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
progressbar pg = {0, 10, 10, 270, 35, 1, 0, 200, 0xB4B4B4, 0x2728FF, 0xA9A9A9};
void draw_window(){
BeginDraw();
DrawWindow(215,100,WIN_W,WIN_H,title,win_bg_color,0x34);
scrollbar_v_draw(&scroll);
progressbar_draw(&pg);
EndDraw();
}
//// EVENTMASK
#define EVM_REDRAW 1
#define EVM_KEY 2
#define EVM_BUTTON 4
#define EVM_EXIT 8
#define EVM_BACKGROUND 16
#define EVM_MOUSE 32
#define EVM_IPC 64
#define EVM_STACK 128
#define EVM_DEBUG 256
#define EVM_STACK2 512
#define EVM_MOUSE_FILTER 0x80000000
#define EVM_CURSOR_FILTER 0x40000000
//// EVENTMASK
int main()
{
kolibri_boxlib_init();
set_wanted_events_mask(EVM_REDRAW + EVM_KEY + EVM_BUTTON + EVM_MOUSE + EVM_MOUSE_FILTER);
while(1)
{
switch(GetOsEvent())
{
case evButton:
if (get_os_button() == 1) exit(0);
break;
case evKey:
get_key();
break;
case evReDraw:
draw_window();
break;
case evMouse:
scrollbar_v_mouse(&scroll);
// Wheel scrolling
// Quite unstable
/*
int scroll_strong = 40;
wheels = GetMouseWheels();
if(wheels & 0xFFFF)
{
if((short)wheels > 0 && scroll.position < scroll.max_area - scroll_strong)
scroll.position += scroll_strong;
else if((short)wheels < 0 && scroll.position > 0)
scroll.position -= scroll_strong;
scrollbar_v_draw(&scroll);
}
*/
pg.value = scroll.position;
progressbar_draw(&pg);
break;
}
}
}
// BOXLIB example (scrollbar, progressbar)
// ! without kolibri_gui !
// Writed by maxcodehack
// TCC version is in /programs/develop/ktcc/libc.obj/samples/clayer/boxlib.c
#include <kos32sys.h>
#include <stdlib.h>
/// BOXLIB
// Modified from C_Layer
// C_Layer variant I don't like
extern int kolibri_boxlib_init(void);
typedef struct __attribute__ ((__packed__)) {
uint16_t xsize;
uint16_t xpos;
uint16_t ysize;
uint16_t ypos;
uint32_t btn_height;
uint32_t type;
uint32_t max_area;
uint32_t cur_area;
uint32_t position;
uint32_t back_color;
uint32_t front_color;
uint32_t line_color;
uint32_t redraw;
uint16_t delta;
uint16_t delta2;
uint16_t r_size_x;
uint16_t r_start_x;
uint16_t r_size_y;
uint16_t r_start_y;
uint32_t m_pos;
uint32_t m_pos2;
uint32_t m_keys;
uint32_t run_size;
uint32_t position2;
uint32_t work_size;
uint32_t all_redraw;
uint32_t ar_offset;
} scrollbar;
extern void (*scrollbar_h_draw)(scrollbar*) __attribute__((__stdcall__));
extern void (*scrollbar_h_mouse)(scrollbar*) __attribute__((__stdcall__));
extern void (*scrollbar_v_draw)(scrollbar*) __attribute__((__stdcall__));
extern void (*scrollbar_v_mouse)(scrollbar*) __attribute__((__stdcall__));
typedef struct {
unsigned int value;
unsigned int left;
unsigned int top;
unsigned int width;
unsigned int height;
unsigned int style;
unsigned int min;
unsigned int max;
unsigned int back_color;
unsigned int progress_color;
unsigned int frame_color;
} progressbar;
extern void (*progressbar_draw)(progressbar *) __attribute__((__stdcall__));
extern void (*progressbar_progress)(progressbar *) __attribute__((__stdcall__));
/// BOXLIB
#define evReDraw 1
#define evKey 2
#define evButton 3
#define evExit 4
#define evDesktop 5
#define evMouse 6
#define evIPC 7
#define evNetwork 8
#define evDebug 9
#define WIN_W 640
#define WIN_H 563
uint32_t wheels;
char* title = "Boxlib example";
int win_bg_color = 0x858585;
scrollbar scroll = {15, WIN_W - 26, WIN_H - 29, 0, 0, 2, 215, 15, 0,0x707070,0xD2CED0,0x555555,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
progressbar pg = {0, 10, 10, 270, 35, 1, 0, 200, 0xB4B4B4, 0x2728FF, 0xA9A9A9};
void draw_window(){
BeginDraw();
DrawWindow(215,100,WIN_W,WIN_H,title,win_bg_color,0x34);
scrollbar_v_draw(&scroll);
progressbar_draw(&pg);
EndDraw();
}
//// EVENTMASK
#define EVM_REDRAW 1
#define EVM_KEY 2
#define EVM_BUTTON 4
#define EVM_EXIT 8
#define EVM_BACKGROUND 16
#define EVM_MOUSE 32
#define EVM_IPC 64
#define EVM_STACK 128
#define EVM_DEBUG 256
#define EVM_STACK2 512
#define EVM_MOUSE_FILTER 0x80000000
#define EVM_CURSOR_FILTER 0x40000000
//// EVENTMASK
int main()
{
kolibri_boxlib_init();
set_wanted_events_mask(EVM_REDRAW + EVM_KEY + EVM_BUTTON + EVM_MOUSE + EVM_MOUSE_FILTER);
while(1)
{
switch(GetOsEvent())
{
case evButton:
if (get_os_button() == 1) exit(0);
break;
case evKey:
get_key();
break;
case evReDraw:
draw_window();
break;
case evMouse:
scrollbar_v_mouse(&scroll);
// Wheel scrolling
// Quite unstable
/*
int scroll_strong = 40;
wheels = GetMouseWheels();
if(wheels & 0xFFFF)
{
if((short)wheels > 0 && scroll.position < scroll.max_area - scroll_strong)
scroll.position += scroll_strong;
else if((short)wheels < 0 && scroll.position > 0)
scroll.position -= scroll_strong;
scrollbar_v_draw(&scroll);
}
*/
pg.value = scroll.position;
progressbar_draw(&pg);
break;
}
}
}
File diff suppressed because it is too large. Load diff
+18
View File
@@ -0,0 +1,18 @@
if tup.getconfig("NO_FASM") ~= "" then return end
SOURCES = {
"src/*.asm",
extra_inputs = {
"src/*.inc"
}
}
OBJS = {
extra_inputs = {
"symbols"
}
}
tup.append_table(OBJS, tup.foreach_rule(SOURCES, "fasm %f %o", "%B.o"))
tup.rule(OBJS, "ar -cvrs %o %f && objcopy -O elf32-i386 --redefine-syms=symbols %o", {"libsound.a", "<libsound.a>"})
+1070 -1044
View File
File diff suppressed because it is too large. Load diff
+1 -1
View File
@@ -1,4 +1,4 @@
[icons16]
[icons18]
<dir>=0
<up>=1
<lot>=20
File renamed without changes.
+4 -1
View File
@@ -23,4 +23,7 @@ path=/usbhd0/1/kolibri.img
autoclose=0
[WebView]
proxy=http://proxy.kolibrios.org:82/?site=
proxy_address=http://proxy.kolibrios.org/?site=
search_engine=http://wiby.me/?q=
;search_engine=http://bing.com/search?q=
;search_engine=https://html.duckduckgo.com/html/?q=
+2 -2
View File
@@ -190,8 +190,8 @@ gbc=/kolibrios/emul/gameboy
min=/kolibrios/emul/pokemini
nc=/kolibrios/utils/cnc_editor/cnc_editor
ch8=/kolibrios/emul/chip8/chip8
md=/kolibrios/emul/dgen/dgen
gen=/kolibrios/emul/dgen/dgen
md=/kolibrios/emul/dgen/dgen_open
gen=/kolibrios/emul/dgen/dgen_open
rom=/kolibrios/emul/uxn
zip=$Unz
+13 -6
View File
@@ -1,6 +1,6 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Copyright (C) KolibriOS team 2004-2026. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;; RTL8169 driver for KolibriOS ;;
@@ -583,10 +583,7 @@ init_board:
mov ecx, [esi+12]
mov [ebx + device.name], ecx
DEBUGF 2, "Detected chip: %s\n", ecx
cmp dword[esi], 0
jne @f
DEBUGF 1, "TxConfig = 0x%x\n", eax
@@:
xor eax, eax
ret
@@ -638,6 +635,9 @@ probe:
WRITE_GMII_REG 0x0b, 0x0000 ; w 0x0b 15 0 0
@@:
; if TBI is not enabled
cmp [ebx + device.mac_version], 01 ; Ten bit interface was only present on the original RTL8169
jne .tbi_dis
set_io [ebx + device.io_addr], 0
set_io [ebx + device.io_addr], REG_PHYstatus
in al, dx
@@ -649,6 +649,12 @@ probe:
and eax, 0x0C1F
or eax, PHY_Cap_10_Half or PHY_Cap_10_Full or PHY_Cap_100_Half or PHY_Cap_100_Full
WRITE_GMII_REG PHY_AUTO_NEGO_REG, ax
jmp .wait_aneg
.tbi_dis:
DEBUGF 1, "Enabling 1000mbit modes\n"
set_io [ebx + device.io_addr], 0
; enable 1000 Full Mode
WRITE_GMII_REG PHY_1000_CTRL_REG, PHY_Cap_1000_Full or PHY_Cap_1000_Half ; rtl8168
@@ -656,8 +662,9 @@ probe:
; Enable auto-negotiation and restart auto-nigotiation
WRITE_GMII_REG PHY_CTRL_REG, PHY_Enable_Auto_Nego or PHY_Restart_Auto_Nego
.wait_aneg:
udelay 1 ; 100
mov ecx, 200 ; 10000
mov ecx, 2000 ; 10000
DEBUGF 1, "Waiting for auto-negotiation to complete\n"
; wait for auto-negotiation process
@@: dec ecx
@@ -670,7 +677,7 @@ probe:
set_io [ebx + device.io_addr], REG_PHYstatus
in al, dx
jmp @f
.tbi_dis:
DEBUGF 1, "auto-negotiation timed-out\n"
udelay 1 ; 100
@@:
DEBUGF 1, "auto-negotiation complete\n"
+1 -1
View File
@@ -1,7 +1,7 @@
KTCC=kos32-tcc
KPACK = kpack
KLIBC = ../../../programs/develop/ktcc/trunk/libc.obj
KLIBC = ../../../programs/develop/ktcc/libc.obj
CFLAGS = -I $(KLIBC)/include
LDFLAGS = -nostdlib -L$(KLIBC)/lib $(KLIBC)/lib/crt0.o
@@ -1,3 +1,3 @@
if tup.getconfig("NO_FASM") ~= "" then return end
ROOT = "../../../.."
ROOT = "../../.."
tup.rule("ps2mouse.asm", "fasm %f %o " .. tup.getconfig("PESTRIP_CMD") .. tup.getconfig("KPACK_CMD"), "%B.sys")
@@ -1,276 +1,279 @@
; standard driver stuff; version of driver model = 5
format PE DLL native 0.05
DEBUG equ 1
MT_3B equ 0
MT_3BScroll equ 3
MT_5BScroll equ 4
PS2_DRV_VER equ 1
section '.flat' code readable writable executable
data fixups
end data
include '../../../struct.inc'
include '../../../macros.inc'
include '../../../proc32.inc'
include '../../../peimport.inc'
entry START
proc START c, state:dword, cmdline:dword
cmp [state], DRV_ENTRY
je .init
cmp [state], DRV_EXIT
je .fini
jmp .nothing
.init:
; disable keyboard and mouse interrupts
; keyboard IRQ handler can interfere badly otherwise
pushf
cli
mov bl, 0x20 ; read command byte
call kbd_cmd
test ah,ah
jnz .fin
call kbd_read
test ah,ah
jnz .fin
popf
and al, 0xFC ; disable interrupts
or al, 0x10 ; disable keyboard
push eax
mov bl, 0x60 ; write command byte
call kbd_cmd
pop eax
call kbd_write
call detect_mouse
test eax,eax
jnz .exit
mov [MouseType],MT_3B
call try_mode_ID3
test eax,eax
jnz .stop_try
mov [MouseType],MT_3BScroll
call try_mode_ID4
test eax,eax
jnz .stop_try
mov [MouseType],MT_5BScroll
.stop_try:
mov al, 0xF4 ; enable data reporting
call mouse_cmd
; enable keyboard and mouse interrupts
mov bl, 0x20 ; read command byte
call kbd_cmd
call kbd_read
or al, 3 ; enable interrupts
and al, not 0x10 ; enable keyboard
push eax
mov bl, 0x60 ; write command byte
call kbd_cmd
pop eax
call kbd_write
invoke AttachIntHandler, 12, irq_handler, 0
invoke RegService, my_service, service_proc
ret
.fin:
popf
;invoke DetachIntHandler, 12, irq_handler
mov bl, 0xA7 ; disable mouse interface
call kbd_cmd
.nothing:
xor eax, eax
ret
.fini:
mov al, 0xF5
call mouse_cmd
ret
.exit:
mov bl, 0xA7 ; disable mouse interface
call kbd_cmd
; enable keyboard interrupt, leave mouse interrupt disabled
mov bl, 0x20 ; read command byte
call kbd_cmd
call kbd_read
or al, 1 ; enable keyboard interrupt
and al, not 0x10 ; enable keyboard
push eax
mov bl, 0x60 ; write command byte
call kbd_cmd
pop eax
call kbd_write
xor eax, eax
ret
endp
proc service_proc stdcall, ioctl:dword
mov edi, [ioctl]
mov eax, [edi+IOCTL.io_code]
test eax, eax
jz .getversion
cmp eax,1
jz .gettype
.err:
or eax, -1
ret
.ok:
xor eax, eax
ret
.getversion:
cmp [edi+IOCTL.out_size], 4
jb .err
mov edi, [edi+IOCTL.output]
mov dword [edi], PS2_DRV_VER ; version of driver
jmp .ok
.gettype:
cmp [edi+IOCTL.out_size], 4
jb .err
mov edi, [edi+IOCTL.output]
mov eax,[MouseType]
mov dword [edi], eax ; mouse type
jmp .ok
endp
detect_mouse:
mov bl, 0xA8 ; enable mouse interface
call kbd_cmd
cmp ah,1
je .fail
mov al, 0xFF ; reset
call mouse_cmd
jc .fail
call mouse_read
jc .fail
cmp al, 0xAA
jne .fail ; dead mouse
; get device ID
call mouse_read
jc .fail
cmp al, 0x00
jne .fail ; unknown device
xor eax,eax
ret
.fail:
or eax,-1
ret
try_mode_ID3:
mov al, 0xF3 ;Set Sample Rate
call mouse_cmd
jc .fail
mov al, 0xC8 ;200d
call mouse_cmd
jc .fail
mov al, 0xF3 ;Set Sample Rate
call mouse_cmd
jc .fail
mov al, 0x64 ;100d
call mouse_cmd
jc .fail
mov al, 0xF3 ;Set Sample Rate
call mouse_cmd
jc .fail
mov al, 0x50 ;80d
call mouse_cmd
jc .fail
mov al, 0xF2 ;Get device id
call mouse_cmd
jc .fail
call mouse_read
jc .fail
cmp al, 0x03
jne .fail
xor eax,eax
ret
.fail:
or eax,-1
ret
try_mode_ID4:
mov al, 0xF3 ;Set Sample Rate
call mouse_cmd
jc .fail
mov al, 0xC8 ;200d
call mouse_cmd
jc .fail
mov al, 0xF3 ;Set Sample Rate
call mouse_cmd
jc .fail
mov al, 0xC8 ;100d
call mouse_cmd
jc .fail
mov al, 0xF3 ;Set Sample Rate
call mouse_cmd
jc .fail
mov al, 0x50 ;80d
call mouse_cmd
jc .fail
mov al, 0xF2 ;Get device id
call mouse_cmd
jc .fail
call mouse_read
jc .fail
cmp al, 0x04
jne .fail
xor eax,eax
ret
.fail:
or eax,-1
ret
include 'ps2m_iofuncs.inc'
include 'ps2m_irqh.inc'
my_service db 'ps2mouse',0
;iofuncs data
mouse_cmd_byte db 0
mouse_nr_tries db 0
mouse_nr_resends db 0
;hid data
mouse_byte dd 0
first_byte db 0
second_byte db 0
third_byte db 0
fourth_byte db 0
;main data
MouseType dd 0
XMoving dd 0
YMoving dd 0
ZMoving dd 0
ButtonState dd 0
;timerTicks dd 0
; SPDX-License-Identifier: NOASSERTION
;
; standard driver stuff; version of driver model = 5
format PE DLL native 0.05
DEBUG equ 1
MT_3B equ 0
MT_3BScroll equ 3
MT_5BScroll equ 4
PS2_DRV_VER equ 1
section '.flat' code readable writable executable
data fixups
end data
include '../../struct.inc'
include '../../macros.inc'
include '../../proc32.inc'
include '../../peimport.inc'
entry START
proc START c, state:dword, cmdline:dword
cmp [state], DRV_ENTRY
je .init
cmp [state], DRV_EXIT
je .fini
jmp .nothing
.init:
; disable keyboard and mouse interrupts
; keyboard IRQ handler can interfere badly otherwise
pushf
cli
mov bl, 0x20 ; read command byte
call kbd_cmd
test ah,ah
jnz .fin
call kbd_read
test ah,ah
jnz .fin
popf
and al, 0xFC ; disable interrupts
or al, 0x10 ; disable keyboard
push eax
mov bl, 0x60 ; write command byte
call kbd_cmd
pop eax
call kbd_write
call detect_mouse
test eax,eax
jnz .exit
mov [MouseType],MT_3B
call try_mode_ID3
test eax,eax
jnz .stop_try
mov [MouseType],MT_3BScroll
call try_mode_ID4
test eax,eax
jnz .stop_try
mov [MouseType],MT_5BScroll
.stop_try:
mov al, 0xF4 ; enable data reporting
call mouse_cmd
; enable keyboard and mouse interrupts
mov bl, 0x20 ; read command byte
call kbd_cmd
call kbd_read
or al, 3 ; enable interrupts
and al, not 0x10 ; enable keyboard
push eax
mov bl, 0x60 ; write command byte
call kbd_cmd
pop eax
call kbd_write
invoke AttachIntHandler, 12, irq_handler, 0
invoke RegService, my_service, service_proc
ret
.fin:
popf
;invoke DetachIntHandler, 12, irq_handler
mov bl, 0xA7 ; disable mouse interface
call kbd_cmd
.nothing:
xor eax, eax
ret
.fini:
mov al, 0xF5
call mouse_cmd
ret
.exit:
mov bl, 0xA7 ; disable mouse interface
call kbd_cmd
; enable keyboard interrupt, leave mouse interrupt disabled
mov bl, 0x20 ; read command byte
call kbd_cmd
call kbd_read
or al, 1 ; enable keyboard interrupt
and al, not 0x10 ; enable keyboard
push eax
mov bl, 0x60 ; write command byte
call kbd_cmd
pop eax
call kbd_write
xor eax, eax
ret
endp
proc service_proc stdcall, ioctl:dword
mov edi, [ioctl]
mov eax, [edi+IOCTL.io_code]
test eax, eax
jz .getversion
cmp eax,1
jz .gettype
.err:
or eax, -1
ret
.ok:
xor eax, eax
ret
.getversion:
cmp [edi+IOCTL.out_size], 4
jb .err
mov edi, [edi+IOCTL.output]
mov dword [edi], PS2_DRV_VER ; version of driver
jmp .ok
.gettype:
cmp [edi+IOCTL.out_size], 4
jb .err
mov edi, [edi+IOCTL.output]
mov eax,[MouseType]
mov dword [edi], eax ; mouse type
jmp .ok
endp
detect_mouse:
mov bl, 0xA8 ; enable mouse interface
call kbd_cmd
cmp ah,1
je .fail
mov al, 0xFF ; reset
call mouse_cmd
jc .fail
call mouse_read
jc .fail
cmp al, 0xAA
jne .fail ; dead mouse
; get device ID
call mouse_read
jc .fail
cmp al, 0x00
jne .fail ; unknown device
xor eax,eax
ret
.fail:
or eax,-1
ret
try_mode_ID3:
mov al, 0xF3 ;Set Sample Rate
call mouse_cmd
jc .fail
mov al, 0xC8 ;200d
call mouse_cmd
jc .fail
mov al, 0xF3 ;Set Sample Rate
call mouse_cmd
jc .fail
mov al, 0x64 ;100d
call mouse_cmd
jc .fail
mov al, 0xF3 ;Set Sample Rate
call mouse_cmd
jc .fail
mov al, 0x50 ;80d
call mouse_cmd
jc .fail
mov al, 0xF2 ;Get device id
call mouse_cmd
jc .fail
call mouse_read
jc .fail
cmp al, 0x03
jne .fail
xor eax,eax
ret
.fail:
or eax,-1
ret
try_mode_ID4:
mov al, 0xF3 ;Set Sample Rate
call mouse_cmd
jc .fail
mov al, 0xC8 ;200d
call mouse_cmd
jc .fail
mov al, 0xF3 ;Set Sample Rate
call mouse_cmd
jc .fail
mov al, 0xC8 ;100d
call mouse_cmd
jc .fail
mov al, 0xF3 ;Set Sample Rate
call mouse_cmd
jc .fail
mov al, 0x50 ;80d
call mouse_cmd
jc .fail
mov al, 0xF2 ;Get device id
call mouse_cmd
jc .fail
call mouse_read
jc .fail
cmp al, 0x04
jne .fail
xor eax,eax
ret
.fail:
or eax,-1
ret
include 'ps2m_iofuncs.inc'
include 'ps2m_irqh.inc'
my_service db 'ps2mouse',0
;iofuncs data
mouse_cmd_byte db 0
mouse_nr_tries db 0
mouse_nr_resends db 0
;hid data
mouse_byte dd 0
first_byte db 0
second_byte db 0
third_byte db 0
fourth_byte db 0
;main data
MouseType dd 0
XMoving dd 0
YMoving dd 0
ZMoving dd 0
ButtonState dd 0
;timerTicks dd 0
Loaded 100 of 2447 files, more files were not shown because too many files have changed in this diff. Show more