Compare commits

...

47 Commits

Author SHA1 Message Date
1b8af624bc programs/demos: Post-SVN tidy
All checks were successful
Build system / Check kernel codestyle (pull_request) Successful in 2m5s
Build system / Build (pull_request) Successful in 11m32s
- Tidy `build_all.bat` build file; update paths; comment out absent programs.
2025-05-31 22:04:50 +01:00
a5d87e488a demos/free3d04: Post-SVN tidy
All checks were successful
Build system / Check kernel codestyle (pull_request) Successful in 1m33s
Build system / Build (pull_request) Successful in 11m25s
- Move source code from `trunk` into root directory.
- Update build files and ASM include paths.
2025-05-31 21:55:21 +01:00
9d0aee6c6d demos/zeroline: 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.
2025-05-31 21:49:52 +01:00
7fe66081fa demos/web: Post-SVN tidy
- Move source code from `trunk` into root directory.
- Update build files and ASM include paths.
2025-05-31 21:47:07 +01:00
2d39f8cb03 demos/trantest: Post-SVN tidy
- Move source code from `trunk` into root directory.
- Update build files and ASM include paths.
2025-05-31 21:43:29 +01:00
0a44e14838 demos/transp: Post-SVN tidy
- Move source code from `trunk` into root directory.
- Update build files and ASM include paths.
2025-05-31 21:40:35 +01:00
e570d29f36 demos/tinyfrac: Post-SVN tidy
All checks were successful
Build system / Check kernel codestyle (pull_request) Successful in 1m32s
Build system / Build (pull_request) Successful in 6m59s
- Move source code from `trunk` into root directory.
- Update build files and ASM include paths.
2025-05-31 21:35:02 +01:00
47981cdb1e demos/timer: Post-SVN tidy
- Move source code from `trunk` into root directory.
- Update build files and ASM include paths.
2025-05-31 21:32:15 +01:00
6942542b67 demos/qjulia: 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.
2025-05-31 21:21:30 +01:00
30ab1f2ace demos/life: Post-SVN tidy
- Move source code from `trunk` into root directory.
- Update build files.
2025-05-29 00:33:45 +01:00
d34359f7c4 demos/kmatrix: Post-SVN tidy
All checks were successful
Build system / Check kernel codestyle (pull_request) Successful in 25s
Build system / Build (pull_request) Successful in 4m24s
- Move source code from `trunk` into root directory.
- Update build files.
2025-05-29 00:30:21 +01:00
85e65fb968 demos/free3d: Post-SVN tidy
- Move source code from `trunk` into root directory.
- Update ASM include paths.
- Note: Line endings standardised from `CRLF` > `LF`, so best to view diffs with whitespace changes hidden.
2025-05-29 00:26:49 +01:00
c304ba66ac demos/flatwav: Post-SVN tidy
- Move source code from `trunk` into root directory.
- Update build files.
2025-05-29 00:21:03 +01:00
88926e72b1 demos/fire2: Post-SVN tidy
- Move source code from `trunk` into root directory.
- Update build files and ASM include paths.
2025-05-28 23:27:02 +01:00
63c240976d demos/crownscr: Post-SVN tidy
All checks were successful
Build system / Check kernel codestyle (pull_request) Successful in 20s
Build system / Build (pull_request) Successful in 4m11s
- Fix build files.
2025-05-28 23:23:10 +01:00
d8d10137c0 demos/eyes: Post-SVN tidy
- Move source code from `trunk` into root directory.
- Update build files and ASM include paths.
2025-05-28 23:19:06 +01:00
18a96df908 demos/cubetext: Post-SVN tidy
Some checks failed
Build system / Check kernel codestyle (pull_request) Successful in 30s
Build system / Build (pull_request) Failing after 41s
- Move source code from `trunk` into root directory.
2025-05-28 23:15:40 +01:00
f6c3faa9bc demos/cubeline: Post-SVN tidy
- Move source code from `trunk` into root directory.
- Update build files.
2025-05-28 23:13:29 +01:00
9f55f6aca0 demos/cslide: Post-SVN tidy
- Move source code from `trunk` into root directory.
- Update build files and ASM include paths.
2025-05-28 23:08:58 +01:00
9eca27ce58 demos/crownscr: Post-SVN tidy
- Move source code from `trunk` into root directory.
- Update build files and ASM include paths.
2025-05-28 22:59:05 +01:00
0bdce8b4af demos/colorref: Post-SVN tidy
- Move source code from `trunk` into root directory.
- Update build files and ASM include paths.
2025-05-28 22:53:53 +01:00
786938de43 demos/buddhabrot: 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.
2025-05-28 22:47:42 +01:00
3900f7f29c demos/bcdclk: Post-SVN tidy
All checks were successful
Build system / Check kernel codestyle (pull_request) Successful in 24s
Build system / Build (pull_request) Successful in 4m35s
- 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.
2025-05-28 18:39:14 +01:00
257514f3cb demos/3dwav: Post-SVN tidy
- Move source code from `trunk` into root directory.
- Update build files.
2025-05-27 01:28:06 +01:00
71b8383a04 demos/3dtcub10: Post-SVN tidy
All checks were successful
Build system / Check kernel codestyle (pull_request) Successful in 21s
Build system / Build (pull_request) Successful in 4m23s
- 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.
2025-05-27 01:24:23 +01:00
9da6be501a demos/3dspiral: Post-SVN tidy
- Move source code from `trunk` into root directory.
2025-05-27 01:13:41 +01:00
460dd985d3 demos/3dsheart: Post-SVN tidy
All checks were successful
Build system / Check kernel codestyle (pull_request) Successful in 20s
Build system / Build (pull_request) Successful in 4m27s
- Move source code from `trunk` into root directory.
- Update build files.
2025-05-27 01:09:43 +01:00
86b1ee4c75 demos/3detx60b: 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.
2025-05-27 01:02:41 +01:00
9a748b1dfe demos/3dcube2: Post-SVN tidy
Some checks failed
Build system / Check kernel codestyle (pull_request) Successful in 34s
Build system / Build (pull_request) Failing after 3h2m3s
- 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.
2025-05-27 00:11:58 +01:00
2dfb3ddff3 Implement serial reconf
All checks were successful
Build system / Check kernel codestyle (pull_request) Successful in 26s
Build system / Build (pull_request) Successful in 4m31s
2025-05-22 21:26:05 +05:00
7e63294b5e Post-SVN clean up (#244)
- Move source code from `trunk` into program root directory.
- Fix build and ASM files.
- Translated a few RU comments to en_US.
- Note: Line endings standardised from `CRLF` > `LF`, so best to view diffs with whitespace changes hidden.

(Work towards #75, point 3)

Reviewed-on: #244
Reviewed-by: Gleb Zaharov <risdeveau@codrs.ru>
Reviewed-by: Burer <burer@kolibrios.org>
Co-authored-by: Andrew <dent.ace@gmail.com>
Co-committed-by: Andrew <dent.ace@gmail.com>
2025-05-20 17:36:10 +02:00
c148987224 Libs/http: Added all delim chars from RFC 3986 (#233)
Original PR: https://github.com/KolibriOS/kolibrios/pull/34
Original issue: https://github.com/KolibriOS/kolibrios/issues/33

Co-authored-by: Sarveshwaar SS <94345639+Saru2003@users.noreply.github.com>

Reviewed-on: https://git.kolibrios.org/KolibriOS/kolibrios/pulls/233
Reviewed-by: Mikhail Frolov <mixa.frolov2003@gmail.com>
Reviewed-by: IgorA <igora@noreply.localhost>
Co-authored-by: Burer <burer@kolibrios.org>
Co-committed-by: Burer <burer@kolibrios.org>
2025-05-17 19:11:15 +02:00
4550e15838 Magnify: Moved to programs/system
All checks were successful
Build system / Check kernel codestyle (pull_request) Successful in 29s
Build system / Build (pull_request) Successful in 8m45s
Signed-off-by: Max Logaev <maxlogaev@proton.me>
2025-05-14 21:58:44 +03:00
cc867a0bb8 Magnify: Added visual grid. Changed magnify calc and display logic
- Fully refactored codestyle;
- Changed magnify calculations and display logic,
  now it is similar to Pipet;
- Added proper copyrights;
- Localization to all system languages;
- Removed redundant .bat files;
- Added visual grid (Leency).

Co-authored-by: Kiril Lipatov <lipatov.kiril@gmail.com>
2025-05-14 21:58:24 +03:00
16a0ef9543 WebView 3.91 (#230)
- fix crash at the end of the page https://menuetos.net/docs.htm;
- improve position of the line under text (and related code)
  for a various font sizes;
- handle params width= and size= of <hr>;
- update acid_0.1.htm page.

Reviewed-on: #230
Reviewed-by: Max Logaev <maxlogaev@proton.me>
Co-authored-by: leency <lipatov.kiril@gmail.com>
Co-committed-by: leency <lipatov.kiril@gmail.com>
2025-05-05 19:04:52 +02:00
51b150c9aa Kernel: Fixed bug #221 - accept does not fill sockaddr 2025-05-05 18:14:22 +02:00
c18da5afae TinyGL: Added gluDisk. Fixed args in gluCylinder and gluSphere (#223)
TinyGL:
- Fixed setting of `GL_FRONT_AND_BACK` mode;
- Fixed setting of `GL_SPOT_DIRECTION` angle;
- Optimization of drawing triangles and lines;
- Input parameters are adjusted to the OpenGL standard
  in `gluCylinder` and `gluSphere` functions;
- Added `gluDisk` function (the gluDisk function draws
  a disk-shaped quadric figure);
- Optimize function `calc_buf`.

Flag:
- Added lighting.

info3ds, info3ds_u, test_glu0, test_glu1, test_glu2,
textures0, textures1, textures2:
- Updated programs using `gluCylinder` and `gluSphere`.

Reviewed-on: #223
Reviewed-by: Ivan B <dunkaist@noreply.localhost>
Reviewed-by: Max Logaev <maxlogaev@proton.me>
Co-authored-by: IgorA <aie85playm@gmail.com>
Co-committed-by: IgorA <aie85playm@gmail.com>
2025-05-04 20:00:04 +02:00
cd1c2ce969 Fix docpack shortcut for sysfuncs in text editors
All checks were successful
Build system / Check kernel codestyle (pull_request) Successful in 28s
Build system / Build (pull_request) Successful in 6m54s
Docpack app has several help files included. Tinypad and CEdit run the
app to show one of sysfuncs.txt/sysfuncr.txt files. The text editors
pass a one-letter argument to specify the text file. It used to be 'f'
for sysfuncs, it has become 'e' recently. Update this one-letter
argument both in tinypad and cedit.

Resolve #216
2025-04-30 01:50:46 +01:00
d7795a8961 Flag: demo program rewritten from C to FASM (#219)
Original source: http://ftp.kolibrios.org/arch/libraries/TinyGL/examples/flag_src.7z

Reviewed-on: #219
Reviewed-by: Max Logaev <maxlogaev@proton.me>
Reviewed-by: Ivan B <dunkaist@noreply.localhost>
Co-authored-by: IgorA <aie85playm@gmail.com>
Co-committed-by: IgorA <aie85playm@gmail.com>
2025-04-22 15:11:55 +02:00
b948491fb3 Calc+: Fix list buttons UI (#220)
- Fixed list buttons wrong position and size;
- Fixed list buttons logic not working.

Reviewed-on: #220
Reviewed-by: Max Logaev <maxlogaev@proton.me>
Co-authored-by: Burer <burer@kolibrios.org>
Co-committed-by: Burer <burer@kolibrios.org>
2025-04-22 15:01:29 +02:00
03cfdeb50f TinyGL: Bug fixes. info3ds, info3ds_u, vox_tgl: Related changes (#210)
TinyGL:
- The `depth` parameter in the `glClearDepth` function is now `qword` instead of `dword`.
- Fixed bug with z-buffer (the edges were cut off incorrectly, the coordinates in it were from 0 to 1, but should be from -1 to 1)
- Optimized array functions: `glDrawArrays`, `glDrawElements`

info3ds, info3ds_u, vox_tgl:
- Removed unnecessary operations after fixing a bug with the z-buffer.

Reviewed-on: #210
Reviewed-by: Max Logaev <maxlogaev@proton.me>
Co-authored-by: IgorA <aie85playm@gmail.com>
Co-committed-by: IgorA <aie85playm@gmail.com>
2025-04-15 14:40:41 +02:00
e4cd8a4d74 Calc+ v1.0 (#189)
All checks were successful
Build system / Check kernel codestyle (pull_request) Successful in 26s
Build system / Build (pull_request) Successful in 7m1s
- Bigger fonts
- System colors
- Code refactoring to make UI flexible and more readable
- Move from ISO to IMG
- Add to main menu, add to desktop instead of Calc, remove from App+
- Localization to all system languages
- Source code file is now UTF-8

Co-authored-by: Burer <burer@kolibrios.org>
Reviewed-on: #189
Reviewed-by: Max Logaev <maxlogaev@proton.me>
Co-authored-by: Kiril Lipatov <lipatov.kiril@gmail.com>
Co-committed-by: Kiril Lipatov <lipatov.kiril@gmail.com>
2025-04-14 19:46:57 +02:00
75b6663ce0 Ftpc: Update (#185)
- fix for bugs with buffers 'remote_list_buf', 'buf_buffer2';
- fix stack leak when navigating files;
- change sorting of folders and files, clean code;
- added option to show|hide log;
- icons are taken from @reshare;
- added icons to the 'disconnect' and 'search' buttons.

Reviewed-on: #185
Reviewed-by: Max Logaev <maxlogaev@proton.me>
Co-authored-by: IgorA <aie85playm@gmail.com>
Co-committed-by: IgorA <aie85playm@gmail.com>
2025-04-10 18:47:13 +02:00
df0c5d8f48 Сharsets: Updated to 0.4.2 (#196)
30.03.2025 - 0.4.0
- Localization for all system languages
- Display all character scales
- Abolity to copy character codes
- Block on charpage 00 for CP866
- New character code half markers
- Navigation using keys (see hotkeys.txt)

03.04.2025 - 0.4.1
- Fixed bug with codes color subscription

04.04.2025 - 0.4.2
- Fixed bug with resetting UTF charpage to zero on double charset swap to CP866
- Improved charpage blocking for CP866 UX
- Improved char codes copying UI

Reviewed-on: #196
Reviewed-by: Max Logaev <maxlogaev@proton.me>
Co-authored-by: Burer <burer@kolibrios.org>
Co-committed-by: Burer <burer@kolibrios.org>
2025-04-10 16:24:11 +02:00
fcb9f49785 flood-it: Fixed buttons position (#193)
Reviewed-on: #193
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 12:32:18 +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
350 changed files with 15691 additions and 13841 deletions

View File

@@ -49,8 +49,6 @@ img_files = {
{"MEDIA/IMGF/INVSOL.OBJ", "common/media/ImgF/invSol.obj"}, {"MEDIA/IMGF/INVSOL.OBJ", "common/media/ImgF/invSol.obj"},
{"MEDIA/PIXIESKN.PNG", SRC_PROGS .. "/cmm/pixie2/pixieskn.png"}, {"MEDIA/PIXIESKN.PNG", SRC_PROGS .. "/cmm/pixie2/pixieskn.png"},
{"NETWORK/FTPC.INI", SRC_PROGS .. "/network/ftpc/ftpc.ini"}, {"NETWORK/FTPC.INI", SRC_PROGS .. "/network/ftpc/ftpc.ini"},
{"NETWORK/FTPC_SYS.PNG", SRC_PROGS .. "/network/ftpc/ftpc_sys.png"},
{"NETWORK/FTPC_NOD.PNG", SRC_PROGS .. "/network/ftpc/ftpc_nod.png"},
{"NETWORK/FTPD.INI", "common/network/ftpd.ini"}, {"NETWORK/FTPD.INI", "common/network/ftpd.ini"},
{"NETWORK/KNMAP", "common/network/knmap"}, {"NETWORK/KNMAP", "common/network/knmap"},
{"NETWORK/USERS.INI", "common/network/users.ini"}, {"NETWORK/USERS.INI", "common/network/users.ini"},
@@ -197,8 +195,8 @@ extra_files = {
{"kolibrios/develop/utils/SPEDump", SRC_PROGS .. "/develop/SPEDump/SPEDump.kex"}, {"kolibrios/develop/utils/SPEDump", SRC_PROGS .. "/develop/SPEDump/SPEDump.kex"},
{"kolibrios/emul/", "common/emul/*"}, {"kolibrios/emul/", "common/emul/*"},
{"kolibrios/emul/dosbox/", "common/emul/DosBox/*"}, {"kolibrios/emul/dosbox/", "common/emul/DosBox/*"},
{"kolibrios/emul/e80/readme.txt", SRC_PROGS .. "/emulator/e80/trunk/readme.txt"}, {"kolibrios/emul/e80/readme.txt", SRC_PROGS .. "/emulator/e80/readme.txt"},
{"kolibrios/emul/e80/keyboard.png", SRC_PROGS .. "/emulator/e80/trunk/keyboard.png"}, {"kolibrios/emul/e80/keyboard.png", SRC_PROGS .. "/emulator/e80/keyboard.png"},
{"kolibrios/emul/fceu/fceu", SRC_PROGS .. "/emulator/fceu/fceu"}, {"kolibrios/emul/fceu/fceu", SRC_PROGS .. "/emulator/fceu/fceu"},
{"kolibrios/emul/fceu/FCEU ReadMe.txt", SRC_PROGS .. "/emulator/fceu/FCEU ReadMe.txt"}, {"kolibrios/emul/fceu/FCEU ReadMe.txt", SRC_PROGS .. "/emulator/fceu/FCEU ReadMe.txt"},
{"kolibrios/emul/chip8/chip8", VAR_PROGS .. "/emulator/chip8/chip8"}, {"kolibrios/emul/chip8/chip8", VAR_PROGS .. "/emulator/chip8/chip8"},
@@ -286,7 +284,7 @@ extra_files = {
{"kolibrios/netsurf/res/", "common/network/netsurf/res/*"}, {"kolibrios/netsurf/res/", "common/network/netsurf/res/*"},
{"kolibrios/res/skins/", "../skins/authors.txt"}, {"kolibrios/res/skins/", "../skins/authors.txt"},
{"kolibrios/res/templates/", "common/templates/*"}, {"kolibrios/res/templates/", "common/templates/*"},
{"kolibrios/res/templates/", SRC_PROGS .. "/emulator/e80/trunk/games/*"}, {"kolibrios/res/templates/", SRC_PROGS .. "/emulator/e80/games/*"},
{"kolibrios/res/templates/NES/", "common/templates/NES/*"}, {"kolibrios/res/templates/NES/", "common/templates/NES/*"},
{"kolibrios/res/wallpapers/", "common/wallpapers/*"}, {"kolibrios/res/wallpapers/", "common/wallpapers/*"},
{"kolibrios/res/system/", build_type .. "/settings/kolibri.lbl"}, {"kolibrios/res/system/", build_type .. "/settings/kolibri.lbl"},
@@ -411,7 +409,8 @@ tup.append_table(img_files, {
{"HACONFIG", VAR_PROGS .. "/other/ha/HACONFIG"}, {"HACONFIG", VAR_PROGS .. "/other/ha/HACONFIG"},
{"ACLOCK", VAR_PROGS .. "/demos/aclock/aclock"}, {"ACLOCK", VAR_PROGS .. "/demos/aclock/aclock"},
{"APM", VAR_PROGS .. "/system/apm/apm"}, {"APM", VAR_PROGS .. "/system/apm/apm"},
{"CALC", VAR_PROGS .. "/other/calc/trunk/calc"}, {"CALC", VAR_PROGS .. "/other/calc/calc"},
{"CALCPLUS", VAR_PROGS .. "/other/calcplus/calcplus"},
{"CALENDAR", VAR_PROGS .. "/system/calendar/trunk/calendar"}, {"CALENDAR", VAR_PROGS .. "/system/calendar/trunk/calendar"},
{"COLRDIAL", VAR_PROGS .. "/system/colrdial/color_dialog"}, {"COLRDIAL", VAR_PROGS .. "/system/colrdial/color_dialog"},
{"CROPFLAT", VAR_PROGS .. "/system/cropflat/cropflat"}, {"CROPFLAT", VAR_PROGS .. "/system/cropflat/cropflat"},
@@ -429,14 +428,14 @@ tup.append_table(img_files, {
{"KPACK", VAR_PROGS .. "/other/kpack/trunk/kpack"}, {"KPACK", VAR_PROGS .. "/other/kpack/trunk/kpack"},
{"LAUNCHER", VAR_PROGS .. "/system/launcher/trunk/launcher"}, {"LAUNCHER", VAR_PROGS .. "/system/launcher/trunk/launcher"},
{"LOADDRV", VAR_PROGS .. "/system/loaddrv/loaddrv"}, {"LOADDRV", VAR_PROGS .. "/system/loaddrv/loaddrv"},
{"MAGNIFY", VAR_PROGS .. "/demos/magnify/trunk/magnify"}, {"MAGNIFY", VAR_PROGS .. "/system/magnify/magnify"},
{"MGB", VAR_PROGS .. "/testing/mgb/trunk/mgb"}, {"MGB", VAR_PROGS .. "/testing/mgb/trunk/mgb"},
{"MOUSEMUL", VAR_PROGS .. "/system/mousemul/trunk/mousemul"}, {"MOUSEMUL", VAR_PROGS .. "/system/mousemul/trunk/mousemul"},
{"MADMOUSE", VAR_PROGS .. "/other/madmouse/madmouse"}, {"MADMOUSE", VAR_PROGS .. "/other/madmouse/madmouse"},
{"MYKEY", VAR_PROGS .. "/system/MyKey/trunk/MyKey"}, {"MYKEY", VAR_PROGS .. "/system/MyKey/trunk/MyKey"},
{"PCIDEV", VAR_PROGS .. "/testing/pcidev/trunk/PCIDEV"}, {"PCIDEV", VAR_PROGS .. "/testing/pcidev/trunk/PCIDEV"},
{"RDSAVE", VAR_PROGS .. "/system/rdsave/trunk/rdsave"}, {"RDSAVE", VAR_PROGS .. "/system/rdsave/trunk/rdsave"},
{"RTFREAD", VAR_PROGS .. "/other/rtfread/trunk/rtfread"}, {"RTFREAD", VAR_PROGS .. "/other/rtfread/rtfread"},
{"SEARCHAP", VAR_PROGS .. "/system/searchap/searchap"}, {"SEARCHAP", VAR_PROGS .. "/system/searchap/searchap"},
{"SCRSHOOT", VAR_PROGS .. "/media/scrshoot/scrshoot"}, {"SCRSHOOT", VAR_PROGS .. "/media/scrshoot/scrshoot"},
{"SETUP", VAR_PROGS .. "/system/setup/trunk/setup"}, {"SETUP", VAR_PROGS .. "/system/setup/trunk/setup"},
@@ -448,26 +447,26 @@ tup.append_table(img_files, {
{"TIMER", VAR_PROGS .. "/other/Timer/Timer"}, {"TIMER", VAR_PROGS .. "/other/Timer/Timer"},
{"UNZ", VAR_PROGS .. "/fs/unz/unz"}, {"UNZ", VAR_PROGS .. "/fs/unz/unz"},
{"ZKEY", VAR_PROGS .. "/system/zkey/trunk/ZKEY"}, {"ZKEY", VAR_PROGS .. "/system/zkey/trunk/ZKEY"},
{"3D/3DWAV", VAR_PROGS .. "/demos/3dwav/trunk/3dwav"}, {"3D/3DWAV", VAR_PROGS .. "/demos/3dwav/3dwav"},
{"3D/CROWNSCR", VAR_PROGS .. "/demos/crownscr/trunk/crownscr"}, {"3D/CROWNSCR", VAR_PROGS .. "/demos/crownscr/crownscr"},
{"3D/3DCUBE2", VAR_PROGS .. "/demos/3dcube2/trunk/3DCUBE2"}, {"3D/3DCUBE2", VAR_PROGS .. "/demos/3dcube2/3DCUBE2"},
{"3D/FREE3D04", VAR_PROGS .. "/demos/free3d04/trunk/free3d04"}, {"3D/FREE3D04", VAR_PROGS .. "/demos/free3d04/free3d04"},
{"3D/GEARS", VAR_PROGS .. "/develop/libraries/TinyGL/asm_fork/examples/gears"}, {"3D/GEARS", VAR_PROGS .. "/develop/libraries/TinyGL/asm_fork/examples/gears"},
{"3D/RAY", VAR_PROGS .. "/demos/ray/ray"}, {"3D/RAY", VAR_PROGS .. "/demos/ray/ray"},
{"3D/VIEW3DS", VAR_PROGS .. "/demos/view3ds/view3ds"}, {"3D/VIEW3DS", VAR_PROGS .. "/demos/view3ds/view3ds"},
{"DEMOS/BCDCLK", VAR_PROGS .. "/demos/bcdclk/trunk/bcdclk"}, {"DEMOS/BCDCLK", VAR_PROGS .. "/demos/bcdclk/bcdclk"},
{"DEMOS/BUDHBROT", VAR_PROGS .. "/demos/buddhabrot/trunk/buddhabrot"}, {"DEMOS/BUDHBROT", VAR_PROGS .. "/demos/buddhabrot/buddhabrot"},
{"DEMOS/EYES", VAR_PROGS .. "/demos/eyes/trunk/eyes"}, {"DEMOS/EYES", VAR_PROGS .. "/demos/eyes/eyes"},
{"DEMOS/FIREWORK", VAR_PROGS .. "/demos/firework/firework"}, {"DEMOS/FIREWORK", VAR_PROGS .. "/demos/firework/firework"},
{"DEMOS/MOVBACK", VAR_PROGS .. "/demos/movback/movback"}, {"DEMOS/MOVBACK", VAR_PROGS .. "/demos/movback/movback"},
{"DEMOS/PLASMA", VAR_PROGS .. "/demos/plasma/plasma"}, {"DEMOS/PLASMA", VAR_PROGS .. "/demos/plasma/plasma"},
{"DEMOS/SPIRAL", VAR_PROGS .. "/demos/spiral/spiral"}, {"DEMOS/SPIRAL", VAR_PROGS .. "/demos/spiral/spiral"},
{"DEMOS/TINYFRAC", VAR_PROGS .. "/demos/tinyfrac/trunk/tinyfrac"}, {"DEMOS/TINYFRAC", VAR_PROGS .. "/demos/tinyfrac/tinyfrac"},
{"DEMOS/TRANTEST", VAR_PROGS .. "/demos/trantest/trunk/trantest"}, {"DEMOS/TRANTEST", VAR_PROGS .. "/demos/trantest/trantest"},
{"DEMOS/TUBE", VAR_PROGS .. "/demos/tube/tube"}, {"DEMOS/TUBE", VAR_PROGS .. "/demos/tube/tube"},
{"DEMOS/UNVWATER", VAR_PROGS .. "/demos/unvwater/unvwater"}, {"DEMOS/UNVWATER", VAR_PROGS .. "/demos/unvwater/unvwater"},
{"DEMOS/WEB", VAR_PROGS .. "/demos/web/trunk/web"}, {"DEMOS/WEB", VAR_PROGS .. "/demos/web/web"},
{"DEMOS/ZEROLINE", VAR_PROGS .. "/demos/zeroline/trunk/zeroline"}, {"DEMOS/ZEROLINE", VAR_PROGS .. "/demos/zeroline/zeroline"},
{"DEVELOP/BOARD", VAR_PROGS .. "/system/board/trunk/board"}, {"DEVELOP/BOARD", VAR_PROGS .. "/system/board/trunk/board"},
{"DEVELOP/DBGBOARD", VAR_PROGS .. "/system/dbgboard/dbgboard"}, {"DEVELOP/DBGBOARD", VAR_PROGS .. "/system/dbgboard/dbgboard"},
{"DEVELOP/CEDIT", SRC_PROGS .. "/develop/cedit/CEDIT"}, {"DEVELOP/CEDIT", SRC_PROGS .. "/develop/cedit/CEDIT"},
@@ -483,9 +482,9 @@ tup.append_table(img_files, {
{"DEVELOP/MSTATE", VAR_PROGS .. "/develop/mstate/mstate"}, {"DEVELOP/MSTATE", VAR_PROGS .. "/develop/mstate/mstate"},
{"DEVELOP/SCANCODE", VAR_PROGS .. "/develop/scancode/trunk/scancode"}, {"DEVELOP/SCANCODE", VAR_PROGS .. "/develop/scancode/trunk/scancode"},
{"DEVELOP/EXAMPLES/CIRCLE", VAR_PROGS .. "/develop/examples/circle/trunk/circle"}, {"DEVELOP/EXAMPLES/CIRCLE", VAR_PROGS .. "/develop/examples/circle/trunk/circle"},
{"DEVELOP/EXAMPLES/COLORREF", VAR_PROGS .. "/demos/colorref/trunk/colorref"}, {"DEVELOP/EXAMPLES/COLORREF", VAR_PROGS .. "/demos/colorref/colorref"},
{"DEVELOP/EXAMPLES/CONGET", VAR_PROGS .. "/develop/libraries/console_coff/examples/test_gets"}, {"DEVELOP/EXAMPLES/CONGET", VAR_PROGS .. "/develop/libraries/console_coff/examples/test_gets"},
{"DEVELOP/EXAMPLES/CSLIDE", VAR_PROGS .. "/demos/cslide/trunk/cslide"}, {"DEVELOP/EXAMPLES/CSLIDE", VAR_PROGS .. "/demos/cslide/cslide"},
{"DEVELOP/EXAMPLES/THREAD", VAR_PROGS .. "/develop/examples/thread/trunk/thread"}, {"DEVELOP/EXAMPLES/THREAD", VAR_PROGS .. "/develop/examples/thread/trunk/thread"},
{"File Managers/KFAR", VAR_PROGS .. "/fs/kfar/trunk/kfar"}, {"File Managers/KFAR", VAR_PROGS .. "/fs/kfar/trunk/kfar"},
{"File Managers/OPENDIAL", VAR_PROGS .. "/fs/opendial/opendial"}, {"File Managers/OPENDIAL", VAR_PROGS .. "/fs/opendial/opendial"},
@@ -524,10 +523,10 @@ tup.append_table(img_files, {
{"LIB/RASTERWORKS.OBJ", VAR_PROGS .. "/develop/libraries/fontRasterWorks_unicode/RasterWorks.obj"}, {"LIB/RASTERWORKS.OBJ", VAR_PROGS .. "/develop/libraries/fontRasterWorks_unicode/RasterWorks.obj"},
{"LIB/SORT.OBJ", VAR_PROGS .. "/develop/libraries/sorter/sort.obj"}, {"LIB/SORT.OBJ", VAR_PROGS .. "/develop/libraries/sorter/sort.obj"},
{"LIB/TINYGL.OBJ", VAR_PROGS .. "/develop/libraries/TinyGL/asm_fork/tinygl.obj"}, {"LIB/TINYGL.OBJ", VAR_PROGS .. "/develop/libraries/TinyGL/asm_fork/tinygl.obj"},
{"MEDIA/ANIMAGE", VAR_PROGS .. "/media/animage/trunk/animage"}, {"MEDIA/ANIMAGE", VAR_PROGS .. "/media/animage/animage"},
{"MEDIA/FILLSCR", VAR_PROGS .. "/media/FillScr/fillscr"}, {"MEDIA/FILLSCR", VAR_PROGS .. "/media/FillScr/fillscr"},
{"MEDIA/KIV", VAR_PROGS .. "/media/kiv/trunk/kiv"}, {"MEDIA/KIV", VAR_PROGS .. "/media/kiv/kiv"},
{"MEDIA/LISTPLAY", VAR_PROGS .. "/media/listplay/trunk/listplay"}, {"MEDIA/LISTPLAY", VAR_PROGS .. "/media/listplay/listplay"},
{"MEDIA/MIDAMP", VAR_PROGS .. "/media/midamp/trunk/midamp"}, {"MEDIA/MIDAMP", VAR_PROGS .. "/media/midamp/trunk/midamp"},
{"MEDIA/MP3INFO", VAR_PROGS .. "/media/mp3info/mp3info"}, {"MEDIA/MP3INFO", VAR_PROGS .. "/media/mp3info/mp3info"},
{"MEDIA/PALITRA", VAR_PROGS .. "/media/palitra/trunk/palitra"}, {"MEDIA/PALITRA", VAR_PROGS .. "/media/palitra/trunk/palitra"},
@@ -595,8 +594,8 @@ tup.append_table(extra_files, {
{"HD_Load/USB_Boot/", VAR_PROGS .. "/hd_load/usb_boot/setmbr.exe"}, {"HD_Load/USB_Boot/", VAR_PROGS .. "/hd_load/usb_boot/setmbr.exe"},
{"HD_Load/USB_boot_old/", VAR_PROGS .. "/hd_load/usb_boot_old/MeOSload.com"}, {"HD_Load/USB_boot_old/", VAR_PROGS .. "/hd_load/usb_boot_old/MeOSload.com"},
{"HD_Load/USB_boot_old/", VAR_PROGS .. "/hd_load/usb_boot_old/enable.exe"}, {"HD_Load/USB_boot_old/", VAR_PROGS .. "/hd_load/usb_boot_old/enable.exe"},
{"kolibrios/3D/3dsheart", VAR_PROGS .. "/demos/3dsheart/trunk/3dsheart"}, {"kolibrios/3D/3dsheart", VAR_PROGS .. "/demos/3dsheart/3dsheart"},
{"kolibrios/3D/flatwav", VAR_PROGS .. "/demos/flatwav/trunk/flatwav"}, {"kolibrios/3D/flatwav", VAR_PROGS .. "/demos/flatwav/flatwav"},
{"kolibrios/3D/mos3de", VAR_PROGS .. "/demos/mos3de/mos3de"}, {"kolibrios/3D/mos3de", VAR_PROGS .. "/demos/mos3de/mos3de"},
{"kolibrios/3D/info3ds/INFO3DS", VAR_PROGS .. "/develop/info3ds/info3ds"}, {"kolibrios/3D/info3ds/INFO3DS", VAR_PROGS .. "/develop/info3ds/info3ds"},
{"kolibrios/3D/textures1", VAR_PROGS .. "/develop/libraries/TinyGL/asm_fork/examples/textures1"}, {"kolibrios/3D/textures1", VAR_PROGS .. "/develop/libraries/TinyGL/asm_fork/examples/textures1"},
@@ -605,8 +604,9 @@ tup.append_table(extra_files, {
{"kolibrios/3D/voxel_utilites/VOX_CREATOR" , VAR_PROGS .. "/media/voxel_editor/utilites/vox_creator"}, {"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_MOVER" , VAR_PROGS .. "/media/voxel_editor/utilites/vox_mover"},
{"kolibrios/3D/voxel_utilites/VOX_TGL" , VAR_PROGS .. "/media/voxel_editor/utilites/vox_tgl"}, {"kolibrios/3D/voxel_utilites/VOX_TGL" , VAR_PROGS .. "/media/voxel_editor/utilites/vox_tgl"},
{"kolibrios/demos/flag", VAR_PROGS .. "/demos/flag/flag"},
{"kolibrios/demos/life3", VAR_PROGS .. "/games/life3/life3"}, {"kolibrios/demos/life3", VAR_PROGS .. "/games/life3/life3"},
{"kolibrios/demos/qjulia", VAR_PROGS .. "/demos/qjulia/trunk/qjulia"}, {"kolibrios/demos/qjulia", VAR_PROGS .. "/demos/qjulia/qjulia"},
{"kolibrios/develop/koldbg", VAR_PROGS .. "/develop/koldbg/koldbg"}, {"kolibrios/develop/koldbg", VAR_PROGS .. "/develop/koldbg/koldbg"},
{"kolibrios/games/Almaz", VAR_PROGS .. "/games/almaz/almaz"}, {"kolibrios/games/Almaz", VAR_PROGS .. "/games/almaz/almaz"},
{"kolibrios/games/arcanii", VAR_PROGS .. "/games/arcanii/arcanii"}, {"kolibrios/games/arcanii", VAR_PROGS .. "/games/arcanii/arcanii"},
@@ -628,7 +628,6 @@ tup.append_table(extra_files, {
{"kolibrios/media/zsea/plugins/rotate.obj", VAR_PROGS .. "/media/zsea/plugins/rotate/rotate.obj"}, {"kolibrios/media/zsea/plugins/rotate.obj", VAR_PROGS .. "/media/zsea/plugins/rotate/rotate.obj"},
{"kolibrios/media/zsea/plugins/scaling.obj", VAR_PROGS .. "/media/zsea/plugins/scaling/scaling.obj"}, {"kolibrios/media/zsea/plugins/scaling.obj", VAR_PROGS .. "/media/zsea/plugins/scaling/scaling.obj"},
{"kolibrios/utils/AMDtemp", VAR_PROGS .. "/system/amd_temp_view/AMDtemp"}, {"kolibrios/utils/AMDtemp", VAR_PROGS .. "/system/amd_temp_view/AMDtemp"},
{"kolibrios/utils/calcplus", VAR_PROGS .. "/other/calcplus/calcplus"},
{"kolibrios/utils/kfm/kfm", VAR_PROGS .. "/fs/kfm/trunk/kfm"}, {"kolibrios/utils/kfm/kfm", VAR_PROGS .. "/fs/kfm/trunk/kfm"},
{"kolibrios/utils/tedit/t_edit", VAR_PROGS .. "/other/t_edit/t_edit"}, {"kolibrios/utils/tedit/t_edit", VAR_PROGS .. "/other/t_edit/t_edit"},
{"kolibrios/3D/blocks/block.bin", VAR_PROGS .. "/bcc32/games/blocks/block.bin"} {"kolibrios/3D/blocks/block.bin", VAR_PROGS .. "/bcc32/games/blocks/block.bin"}
@@ -642,7 +641,7 @@ if build_type == "ru_RU" then tup.append_table(img_files, {
}) end }) end
if build_type == "ru_RU" then tup.append_table(extra_files, { if build_type == "ru_RU" then tup.append_table(extra_files, {
{"kolibrios/utils/period", VAR_PROGS .. "/other/period/trunk/period"}, {"kolibrios/utils/period", VAR_PROGS .. "/other/period/period"},
{"kolibrios/games/Dungeons/Dungeons", VAR_PROGS .. "/games/Dungeons/Dungeons"}, {"kolibrios/games/Dungeons/Dungeons", VAR_PROGS .. "/games/Dungeons/Dungeons"},
}) end }) end
@@ -726,7 +725,7 @@ tup.append_table(img_files, {
}) })
tup.append_table(extra_files, { tup.append_table(extra_files, {
{"kolibrios/utils/thashview", VAR_PROGS .. "/other/TinyHashView/thashview"}, {"kolibrios/utils/thashview", VAR_PROGS .. "/other/TinyHashView/thashview"},
{"kolibrios/demos/kmatrix", VAR_PROGS .. "/demos/kmatrix/trunk/kmatrix"}, {"kolibrios/demos/kmatrix", VAR_PROGS .. "/demos/kmatrix/kmatrix"},
{"kolibrios/utils/graph", VAR_PROGS .. "/other/graph/branches/tcc_current/graph"}, {"kolibrios/utils/graph", VAR_PROGS .. "/other/graph/branches/tcc_current/graph"},
{"kolibrios/develop/TinyBasic/TinyBasic", VAR_PROGS .. "/develop/tinybasic-1.0.4/tinybasic"}, {"kolibrios/develop/TinyBasic/TinyBasic", VAR_PROGS .. "/develop/tinybasic-1.0.4/tinybasic"},
{"kolibrios/develop/TinyBasic/bas/", SRC_PROGS .. "/develop/tinybasic-1.0.4/bas/*"}, {"kolibrios/develop/TinyBasic/bas/", SRC_PROGS .. "/develop/tinybasic-1.0.4/bas/*"},
@@ -751,9 +750,9 @@ tup.append_table(img_files, {
-- {"LIB/MTAR.OBJ", VAR_PROGS .. "/develop/libraries/microtar/mtar.obj"}, -- {"LIB/MTAR.OBJ", VAR_PROGS .. "/develop/libraries/microtar/mtar.obj"},
}) })
tup.append_table(extra_files, { tup.append_table(extra_files, {
-- {"kolibrios/3D/cubeline", VAR_PROGS .. "/demos/cubeline/trunk/cubeline"}, -- {"kolibrios/3D/cubeline", VAR_PROGS .. "/demos/cubeline/cubeline"},
{"kolibrios/3D/gears", VAR_PROGS .. "/demos/gears/gears"}, {"kolibrios/3D/gears", VAR_PROGS .. "/demos/gears/gears"},
{"kolibrios/emul/e80/e80", VAR_PROGS .. "/emulator/e80/trunk/e80"}, {"kolibrios/emul/e80/e80", VAR_PROGS .. "/emulator/e80/e80"},
{"kolibrios/emul/uarm/", VAR_CONTRIB .. "/other/uarm/uARM"}, {"kolibrios/emul/uarm/", VAR_CONTRIB .. "/other/uarm/uARM"},
{"kolibrios/games/2048", VAR_PROGS .. "/games/2048/2048"}, {"kolibrios/games/2048", VAR_PROGS .. "/games/2048/2048"},
{"kolibrios/games/checkers", VAR_PROGS .. "/games/checkers/checkers"}, {"kolibrios/games/checkers", VAR_PROGS .. "/games/checkers/checkers"},

View File

@@ -29,7 +29,6 @@ Dicty=/k/utils/DICTY.KEX,79
fNav=/k/utils/fNav/fNav,93 fNav=/k/utils/fNav/fNav,93
CncEditor=/k/utils/cnc_editor/cnc_editor,15 CncEditor=/k/utils/cnc_editor/cnc_editor,15
Life=/k/demos/life2,13 Life=/k/demos/life2,13
Calc+=/k/utils/calcplus,4
TinyBasic=/k/develop/TinyBasic/TinyBasic,91 TinyBasic=/k/develop/TinyBasic/TinyBasic,91
THashView=/k/utils/thashview,124 THashView=/k/utils/thashview,124
Notes=/k/utils/notes,117 Notes=/k/utils/notes,117

View File

@@ -235,8 +235,8 @@ ico=58
x=68 x=68
y=68 y=68
[21] [21]
name=CALC name=CALC+
path=CALC path=CALCPLUS
param= param=
ico=4 ico=4
x=204 x=204

View File

@@ -92,6 +92,7 @@
59 Screen keyboard |zkey 59 Screen keyboard |zkey
#10 **** DATA PROCESSING #10 **** DATA PROCESSING
16 Calculator |calc 16 Calculator |calc
16 Calculator+ |calcplus
03 Tinypad |tinypad 03 Tinypad |tinypad
28 CodeEdit |develop/cedit 28 CodeEdit |develop/cedit
21 Table processor |table 21 Table processor |table

View File

@@ -235,8 +235,8 @@ ico=58
x=68 x=68
y=68 y=68
[21] [21]
name=CALC name=CALC+
path=CALC path=CALCPLUS
param= param=
ico=4 ico=4
x=204 x=204

View File

@@ -96,6 +96,7 @@
24 NDN * |/kolibrios/utils/ndn/ndn 24 NDN * |/kolibrios/utils/ndn/ndn
#11 **** PROCESO DE DATOS #11 **** PROCESO DE DATOS
16 Calculadora |calc 16 Calculadora |calc
16 Calculadora+ |calcplus
16 Tinypad |tinypad 16 Tinypad |tinypad
16 CodeEdit |develop/cedit 16 CodeEdit |develop/cedit
16 Procesador de tablas |table 16 Procesador de tablas |table

View File

@@ -235,8 +235,8 @@ ico=58
x=68 x=68
y=68 y=68
[21] [21]
name=CALC name=CALC+
path=CALC path=CALCPLUS
param= param=
ico=4 ico=4
x=204 x=204

View File

@@ -80,6 +80,7 @@
65 NDN * |/kolibrios/utils/ndn/ndn 65 NDN * |/kolibrios/utils/ndn/ndn
#11 **** DATA PROCESSING **** #11 **** DATA PROCESSING ****
16 Kalkulaator |calc 16 Kalkulaator |calc
16 Kalkulaator+ |calcplus
16 Teksti redaktor |tinypad 16 Teksti redaktor |tinypad
16 CodeEdit |develop/cedit 16 CodeEdit |develop/cedit
16 Tabelarvutus |table 16 Tabelarvutus |table

View File

@@ -235,8 +235,8 @@ ico=58
x=68 x=68
y=68 y=68
[21] [21]
name=CALC name=CALC+
path=CALC path=CALCPLUS
param= param=
ico=4 ico=4
x=204 x=204

View File

@@ -79,6 +79,7 @@
65 NDN * |/kolibrios/utils/ndn/ndn 65 NDN * |/kolibrios/utils/ndn/ndn
#11 **** DATA PROCESSING #11 **** DATA PROCESSING
16 Calcolatrice |calc 16 Calcolatrice |calc
16 Calcolatrice+ |calcplus
16 Tinypad |tinypad 16 Tinypad |tinypad
16 CodeEdit |develop/cedit 16 CodeEdit |develop/cedit
16 Table Processor |table 16 Table Processor |table

View File

@@ -235,8 +235,8 @@ ico=58
x=68 x=68
y=68 y=68
[21] [21]
name=CALC name=CALC+
path=CALC path=CALCPLUS
param= param=
ico=4 ico=4
x=204 x=204

View File

@@ -90,6 +90,7 @@
59 <20><><EFBFBD><E0A0AD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> |zkey 59 <20><><EFBFBD><E0A0AD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> |zkey
#10 **** <20><><EFBFBD><EFBFBD> #10 **** <20><><EFBFBD><EFBFBD>
16 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> |calc 16 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> |calc
16 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>+ |calcplus
03 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Tinypad |tinypad 03 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Tinypad |tinypad
28 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CodeEdit |develop/cedit 28 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CodeEdit |develop/cedit
21 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> |table 21 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> |table
@@ -119,7 +120,7 @@
45 <20><><EFBFBD><EFBFBD><20><><EFBFBD><E0A8AD><EFBFBD><EFBFBD><EFBFBD> |easyshot 45 <20><><EFBFBD><EFBFBD><20><><EFBFBD><E0A8AD><EFBFBD><EFBFBD><EFBFBD> |easyshot
29 FB2 <20><><EFBFBD><E2A0AB> |fb2read 29 FB2 <20><><EFBFBD><E2A0AB> |fb2read
16 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> |aclock 16 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> |aclock
21 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> |period 21 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> |/kolibrios/utils/period
59 <20><EFBFBD><E0A5AD><EFBFBD><EFBFBD> KJ|ABuIIIA |games/klavisha 59 <20><EFBFBD><E0A5AD><EFBFBD><EFBFBD> KJ|ABuIIIA |games/klavisha
16 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> |demos/bcdclk 16 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> |demos/bcdclk
53 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> |timer 53 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> |timer

View File

@@ -1,3 +1,5 @@
SERIAL_COMPATIBLE_API_VER = 0 ; increments in case of breaking changes
SERIAL_API_GET_VERSION = 0 SERIAL_API_GET_VERSION = 0
SERIAL_API_SRV_ADD_PORT = 1 SERIAL_API_SRV_ADD_PORT = 1
SERIAL_API_SRV_REMOVE_PORT = 2 SERIAL_API_SRV_REMOVE_PORT = 2
@@ -21,14 +23,18 @@ SERIAL_CONF_PARITY_ODD = 2
SERIAL_CONF_PARITY_MARK = 3 SERIAL_CONF_PARITY_MARK = 3
SERIAL_CONF_PARITY_SPACE = 4 SERIAL_CONF_PARITY_SPACE = 4
SERIAL_CONF_STOP_BITS_1 = 0
SERIAL_CONF_STOP_BITS_1_5 = 1
SERIAL_CONF_STOP_BITS_2 = 2
SERIAL_CONF_FLOW_CTRL_NONE = 0 SERIAL_CONF_FLOW_CTRL_NONE = 0
struct SP_DRIVER struct SP_DRIVER
size dd ? ; size of this struct size dd ? ; size of this struct
startup dd ? ; void __stdcall (*startup)(void *drv_data, const struct serial_conf *conf); startup dd ? ; int __stdcall (*startup)(void *drv_data, const struct serial_conf *conf);
shutdown dd ? ; void __stdcall (*shutdown)(void *drv_data); shutdown dd ? ; int __stdcall (*shutdown)(void *drv_data);
reconf dd ? ; void __stdcall (*reconf)(void *drv_data, const struct serial_conf *conf); reconf dd ? ; int __stdcall (*reconf)(void *drv_data, const struct serial_conf *conf);
tx dd ? ; void __stdcall (*tx)(void *drv_data); tx dd ? ; int __stdcall (*tx)(void *drv_data);
ends ends
struct SP_CONF struct SP_CONF
@@ -123,6 +129,30 @@ proc serial_port_init
ret ret
endp endp
proc serial_port_get_version stdcall, version:dword
locals
.handler dd ?
.io_code dd ?
.input dd ?
.inp_size dd ?
.output dd ?
.out_size dd ?
endl
mov eax, [serial_drv_handle]
mov [.handler], eax
mov dword [.io_code], SERIAL_API_GET_VERSION
mov [.input], 0
mov dword [.inp_size], 0
mov eax, [version]
mov [.output], eax
mov dword [.out_size], 4
lea ecx, [.handler]
mcall SF_SYS_MISC, SSF_CONTROL_DRIVER
ret
endp
proc serial_port_open stdcall uses ebx, port_id:dword, conf:dword, handle:dword proc serial_port_open stdcall uses ebx, port_id:dword, conf:dword, handle:dword
locals locals
.handler dd ? .handler dd ?

View File

@@ -9,8 +9,6 @@ __DEBUG_LEVEL__ = L_DBG
SERIAL_RING_BUF_SIZE = 32768 SERIAL_RING_BUF_SIZE = 32768
API_VERSION = 1
section '.flat' readable writable executable section '.flat' readable writable executable
include '../struct.inc' include '../struct.inc'
@@ -23,6 +21,9 @@ include 'common.inc'
include 'ring_buf.inc' include 'ring_buf.inc'
include 'uart16550.inc' include 'uart16550.inc'
CURRENT_API = 0x0001
API_VERSION = (SERIAL_COMPATIBLE_API_VER shl 16) + CURRENT_API
struct SERIAL_OBJ struct SERIAL_OBJ
magic dd ? magic dd ?
destroy dd ? destroy dd ?
@@ -45,7 +46,7 @@ struct SERIAL_PORT
conf SP_CONF conf SP_CONF
ends ends
proc START c, reason:dword proc START c, reason:dword, cmdline:dword
cmp [reason], DRV_ENTRY cmp [reason], DRV_ENTRY
jne .fail jne .fail
@@ -347,15 +348,12 @@ proc sp_validate_conf
mov eax, [ecx + SP_CONF.baudrate] mov eax, [ecx + SP_CONF.baudrate]
test eax, eax test eax, eax
jz .fail jz .fail
mov al, [ecx + SP_CONF.word_size]
cmp al, 8
jne .fail ; TODO implement different word size
mov al, [ecx + SP_CONF.stop_bits] mov al, [ecx + SP_CONF.stop_bits]
cmp al, 1 cmp al, SERIAL_CONF_STOP_BITS_2
jne .fail ; TODO implement different stop bits count ja .fail
mov al, [ecx + SP_CONF.parity] mov al, [ecx + SP_CONF.parity]
cmp al, SERIAL_CONF_PARITY_NONE cmp al, SERIAL_CONF_PARITY_SPACE
jne .fail ; TODO implement parity ja .fail
mov al, [ecx + SP_CONF.flow_ctrl] mov al, [ecx + SP_CONF.flow_ctrl]
cmp al, SERIAL_CONF_FLOW_CTRL_NONE cmp al, SERIAL_CONF_FLOW_CTRL_NONE
jne .fail ; TODO implement flow control jne .fail ; TODO implement flow control
@@ -550,7 +548,6 @@ proc sp_setup
mov eax, [edi + SERIAL_PORT.drv] mov eax, [edi + SERIAL_PORT.drv]
mov ecx, [edi + SERIAL_PORT.drv_data] mov ecx, [edi + SERIAL_PORT.drv_data]
stdcall dword [eax + SP_DRIVER.reconf], ecx, esi stdcall dword [eax + SP_DRIVER.reconf], ecx, esi
xor eax, eax
push eax push eax
test eax, eax test eax, eax
jnz @f jnz @f

View File

@@ -350,10 +350,10 @@ endl
; calc stop bits ; calc stop bits
mov bx, LCR_STOP_1 mov bx, LCR_STOP_1
mov al, [esi + SP_CONF.stop_bits] mov al, [esi + SP_CONF.stop_bits]
cmp al, 1 cmp al, SERIAL_CONF_STOP_BITS_1
je .stop_bits_ok je .stop_bits_ok
or bx, LCR_STOP_2 or bx, LCR_STOP_2
cmp al, 2 cmp al, SERIAL_CONF_STOP_BITS_2
jne .fail jne .fail
.stop_bits_ok: .stop_bits_ok:
or [lcr], bx or [lcr], bx

View File

@@ -1123,11 +1123,53 @@ proc uart_shutdown stdcall uses ebx, data:dword
ret ret
endp endp
proc uart_reconf stdcall uses ebx esi, dev:dword, conf:dword proc uart_reconf stdcall uses esi, dev:dword, conf:dword
mov ebx, [dev] locals
ConfPacket rb 8
endl
mov esi, [conf] mov esi, [conf]
stdcall ftdi_set_baudrate, ebx, [esi + SP_CONF.baudrate] xor edx, edx
; TODO set word_size, parity, etc. mov al, [esi + SP_CONF.word_size]
cmp al, 7
jb .invalid
cmp al, 8
ja .invalid
mov dl, al
; odd and even parities are different from serial api
; serial api: even=1 odd=2
; ft232x api: odd=1 even=2
movzx eax, [esi + SP_CONF.parity]
cmp al, SERIAL_CONF_PARITY_SPACE
ja .invalid
cmp al, SERIAL_CONF_PARITY_ODD
ja .parity_ok
cmp al, SERIAL_CONF_PARITY_EVEN
jb .parity_ok
; swap bits
xor al, 0x3
.parity_ok:
shl eax, 8 ; parity offset
or edx, eax
movzx eax, [esi + SP_CONF.stop_bits]
cmp al, SERIAL_CONF_STOP_BITS_2
ja .invalid
shl eax, 11 ; stop bits offset
or edx, eax
mov word [ConfPacket], (FTDI_DEVICE_OUT_REQTYPE) \
+ (SIO_SET_DATA shl 8)
mov word [ConfPacket + 2], dx
mov word [ConfPacket + 4], 0
mov word [ConfPacket + 6], 0
lea edx, [ConfPacket]
stdcall ftdi_blocking_ctrl_tranfser, [dev], edx
test eax, eax
jnz .exit
stdcall ftdi_set_baudrate, [dev], [esi + SP_CONF.baudrate]
ret
.invalid:
or eax, -1
.exit:
ret ret
endp endp
@@ -1204,17 +1246,10 @@ proc uart_rx stdcall uses ebx esi, data:dword
ret ret
endp endp
proc ftdi_set_baudrate stdcall uses ebx esi edi, dev:dword, baud:dword proc ftdi_set_baudrate stdcall uses ebx, dev:dword, baud:dword
locals locals
ConfPacket rb 10 ConfPacket rb 8
EventData rd 3
endl endl
xor esi, esi
xor ecx, ecx
invoke CreateEvent
mov [EventData], eax
mov [EventData + 4], edx
mov ebx, [dev] mov ebx, [dev]
cmp [ebx + ftdi_context.chipType], TYPE_2232H cmp [ebx + ftdi_context.chipType], TYPE_2232H
jl .c_clk jl .c_clk
@@ -1257,7 +1292,7 @@ endl
jmp .calcend jmp .calcend
.c_nextbaud2: .c_nextbaud2:
cmp dword [edi + 8], C_CLK / (2 * 16) cmp dword [baud], C_CLK / (2 * 16)
jl .c_nextbaud3 jl .c_nextbaud3
mov edx, 2 mov edx, 2
mov ecx, C_CLK / (2 * 16) mov ecx, C_CLK / (2 * 16)
@@ -1348,23 +1383,51 @@ endl
mov word [ConfPacket + 4], cx mov word [ConfPacket + 4], cx
mov word [ConfPacket + 6], 0 mov word [ConfPacket + 6], 0
lea esi, [ConfPacket] lea ebx, [ConfPacket]
stdcall ftdi_blocking_ctrl_tranfser, [dev], ebx
ret
endp
proc ftdi_blocking_ctrl_tranfser stdcall uses ebx esi edi, dev:dword, conf:dword
; conf is a pointer to values: bmRequestType, bRequest, wValue, wIndex, wLength
locals
EventData rd 3
endl
xor esi, esi
xor ecx, ecx
invoke CreateEvent
test eax, eax
jz .exit
mov [EventData], eax
mov [EventData + 4], edx
mov eax, [dev]
mov esi, [conf]
lea edi, [EventData] lea edi, [EventData]
invoke USBControlTransferAsync, [ebx + ftdi_context.nullP], esi, 0,\ invoke USBControlTransferAsync, [eax + ftdi_context.nullP], esi, 0,\
0, control_callback, edi, 0 0, control_callback, edi, 0
test eax, eax test eax, eax
jz .error jz .error
mov eax, [EventData] mov eax, [EventData]
mov ebx, [EventData + 4] mov ebx, [EventData + 4]
invoke WaitEvent invoke WaitEvent
cmp [EventData + 8], 0 ; USB_STATUS_OK
jne .error
mov eax, [EventData] mov eax, [EventData]
mov ebx, [EventData + 4] mov ebx, [EventData + 4]
invoke DestroyEvent invoke DestroyEvent
xor eax, eax xor eax, eax
ret ret
.error: .error:
mov eax, [EventData]
mov ebx, [EventData + 4]
invoke DestroyEvent
.exit:
or eax, -1 or eax, -1
ret ret
endp endp

View File

@@ -668,6 +668,8 @@ socket_accept:
DEBUGF DEBUG_NETWORK_VERBOSE, "SOCKET_accept: socknum=%u sockaddr=%x length=%u\n", ecx, edx, esi DEBUGF DEBUG_NETWORK_VERBOSE, "SOCKET_accept: socknum=%u sockaddr=%x length=%u\n", ecx, edx, esi
push edx esi
call socket_num_to_ptr call socket_num_to_ptr
test eax, eax test eax, eax
jz .invalid jz .invalid
@@ -696,6 +698,24 @@ socket_accept:
mov ebx, [ebx + APPDATA.tid] mov ebx, [ebx + APPDATA.tid]
mov [eax + SOCKET.TID], ebx mov [eax + SOCKET.TID], ebx
pop esi edx
test edx, edx
jz .skip_sockaddr
mov word[edx], 0 ; unknown domain
cmp esi, 8 ; domain + port + ipv4
jb .skip_sockaddr
mov word[edx], AF_INET4
mov esi, edx
mov edx, [eax + IP_SOCKET.RemoteIP]
mov [esi + sockaddr.ip], edx
mov dx, [eax + TCP_SOCKET.RemotePort]
mov [esi + sockaddr.port], dx
.skip_sockaddr:
; Return socket number to caller ; Return socket number to caller
mov eax, [eax + SOCKET.Number] mov eax, [eax + SOCKET.Number]
mov [esp + SYSCALL_STACK.eax], eax mov [esp + SYSCALL_STACK.eax], eax
@@ -711,16 +731,19 @@ socket_accept:
.wouldblock: .wouldblock:
mov dword[esp + SYSCALL_STACK.ebx], EWOULDBLOCK mov dword[esp + SYSCALL_STACK.ebx], EWOULDBLOCK
mov dword[esp + SYSCALL_STACK.eax], -1 mov dword[esp + SYSCALL_STACK.eax], -1
pop esi edx
ret ret
.invalid: .invalid:
mov dword[esp + SYSCALL_STACK.ebx], EINVAL mov dword[esp + SYSCALL_STACK.ebx], EINVAL
mov dword[esp + SYSCALL_STACK.eax], -1 mov dword[esp + SYSCALL_STACK.eax], -1
pop esi edx
ret ret
.notsupp: .notsupp:
mov dword[esp + SYSCALL_STACK.ebx], EOPNOTSUPP mov dword[esp + SYSCALL_STACK.ebx], EOPNOTSUPP
mov dword[esp + SYSCALL_STACK.eax], -1 mov dword[esp + SYSCALL_STACK.eax], -1
pop esi edx
ret ret
;-----------------------------------------------------------------; ;-----------------------------------------------------------------;

View File

@@ -692,6 +692,15 @@ struct TinyGLContext
long int dx, dy, x, y; long int dx, dy, x, y;
}; };
struct GLUquadricObj
{
GLenum DrawStyle; // GLU_FILL, LINE, SILHOUETTE, or POINT
GLenum Orientation; // GLU_INSIDE or GLU_OUTSIDE
GLboolean TextureFlag; // Generate texture coords?
GLenum Normals; // GLU_NONE, GLU_FLAT, or GLU_SMOOTH
void (__stdcall* ErrorFunc)(GLenum err); // Error handler callback function
};
// //
// tinygl - import table // tinygl - import table
// //
@@ -748,7 +757,7 @@ void (__stdcall* glEdgeFlag)(int flag) = (void (__stdcall*)(int))&"glEdgeFlag";
void (__stdcall* glMatrixMode)(int mode) = (void (__stdcall*)(int))&"glMatrixMode"; void (__stdcall* glMatrixMode)(int mode) = (void (__stdcall*)(int))&"glMatrixMode";
void (__stdcall* glLoadMatrixf)(const float* m) = (void (__stdcall*)(const float*))&"glLoadMatrixf"; void (__stdcall* glLoadMatrixf)(const float* m) = (void (__stdcall*)(const float*))&"glLoadMatrixf";
void (__stdcall* glLoadIdentity)() = (void (__stdcall*)())&"glLoadIdentity"; void (__stdcall* glLoadIdentity)() = (void (__stdcall*)())&"glLoadIdentity";
//void (__stdcall* glMultMatrixf)(...) = (void (__stdcall*)(...))&"glMultMatrixf"; void (__stdcall* glMultMatrixf)(const GLfloat *m) = (void (__stdcall*)(const GLfloat*))&"glMultMatrixf";
void (__stdcall* glPushMatrix)() = (void (__stdcall*)())&"glPushMatrix"; void (__stdcall* glPushMatrix)() = (void (__stdcall*)())&"glPushMatrix";
void (__stdcall* glPopMatrix)() = (void (__stdcall*)())&"glPopMatrix"; void (__stdcall* glPopMatrix)() = (void (__stdcall*)())&"glPopMatrix";
void (__stdcall* glRotatef)(float angle, float x, float y, float z) = (void (__stdcall*)(float, float, float, float))&"glRotatef"; void (__stdcall* glRotatef)(float angle, float x, float y, float z) = (void (__stdcall*)(float, float, float, float))&"glRotatef";
@@ -763,7 +772,7 @@ void (__stdcall* glEndList)() = (void (__stdcall*)())&"glEndList";
void (__stdcall* glCallList)(unsigned int list) = (void (__stdcall*)(unsigned int))&"glCallList"; void (__stdcall* glCallList)(unsigned int list) = (void (__stdcall*)(unsigned int))&"glCallList";
void (__stdcall* glClear)(int mask) = (void (__stdcall*)(int))&"glClear"; void (__stdcall* glClear)(int mask) = (void (__stdcall*)(int))&"glClear";
void (__stdcall* glClearColor)(float r, float g, float b, float a) = (void (__stdcall*)(float, float, float, float))&"glClearColor"; void (__stdcall* glClearColor)(float r, float g, float b, float a) = (void (__stdcall*)(float, float, float, float))&"glClearColor";
//void (__stdcall* glClearDepth)(...) = (void (__stdcall*)(...))&"glClearDepth"; void (__stdcall* glClearDepth)(double depth) = (void (__stdcall*)(double))&"glClearDepth";
void (__stdcall* glRenderMode)(int mode) = (void (__stdcall*)(int))&"glRenderMode"; void (__stdcall* glRenderMode)(int mode) = (void (__stdcall*)(int))&"glRenderMode";
//void (__stdcall* glSelectBuffer)(...) = (void (__stdcall*)(...))&"glSelectBuffer"; //void (__stdcall* glSelectBuffer)(...) = (void (__stdcall*)(...))&"glSelectBuffer";
//void (__stdcall* glInitNames)(...) = (void (__stdcall*)(...))&"glInitNames"; //void (__stdcall* glInitNames)(...) = (void (__stdcall*)(...))&"glInitNames";
@@ -799,18 +808,22 @@ void (__stdcall* glColorPointer)(GLint size, GLenum type, GLsizei stride, const
void (__stdcall* glNormalPointer)(GLenum type, GLsizei stride, const GLvoid* pointer) = (void (__stdcall*)(GLenum, GLsizei, const GLvoid*))&"glNormalPointer"; void (__stdcall* glNormalPointer)(GLenum type, GLsizei stride, const GLvoid* pointer) = (void (__stdcall*)(GLenum, GLsizei, const GLvoid*))&"glNormalPointer";
void (__stdcall* glTexCoordPointer)(GLint size, GLenum type, GLsizei stride, const GLvoid* pointer) = (void (__stdcall*)(GLint, GLenum, GLsizei, const GLvoid*))&"glTexCoordPointer"; void (__stdcall* glTexCoordPointer)(GLint size, GLenum type, GLsizei stride, const GLvoid* pointer) = (void (__stdcall*)(GLint, GLenum, GLsizei, const GLvoid*))&"glTexCoordPointer";
//void (__stdcall* glPolygonOffset)(...) = (void (__stdcall*)(...))&"glPolygonOffset"; //void (__stdcall* glPolygonOffset)(...) = (void (__stdcall*)(...))&"glPolygonOffset";
//void (__stdcall* glOrtho)(...) = (void (__stdcall*)(...))&"glOrtho"; void (__stdcall* glOrtho)(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar) = (void (__stdcall*)(GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble))&"glOrtho";
//void (__stdcall* glDebug)(...) = (void (__stdcall*)(...))&"glDebug"; //void (__stdcall* glDebug)(...) = (void (__stdcall*)(...))&"glDebug";
//void (__stdcall* glInit)(...) = (void (__stdcall*)(...))&"glInit"; //void (__stdcall* glInit)(...) = (void (__stdcall*)(...))&"glInit";
//void (__stdcall* glClose)(...) = (void (__stdcall*)(...))&"glClose"; //void (__stdcall* glClose)(...) = (void (__stdcall*)(...))&"glClose";
//void (__stdcall* gluPerspective)(...) = (void (__stdcall*)(...))&"gluPerspective"; void (__stdcall* gluPerspective)(GLdouble fovy, GLdouble aspect, GLdouble zNear, GLdouble zFar) = (void (__stdcall*)(GLdouble, GLdouble, GLdouble, GLdouble))&"gluPerspective";
//void (__stdcall* gluNewQuadric)(...) = (void (__stdcall*)(...))&"gluNewQuadric"; GLUquadricObj* (__stdcall* gluNewQuadric)() = (GLUquadricObj* (__stdcall*)())&"gluNewQuadric";
//void (__stdcall* gluDeleteQuadric)(...) = (void (__stdcall*)(...))&"gluDeleteQuadric"; void (__stdcall* gluDeleteQuadric)(GLUquadricObj *state) = (void (__stdcall*)(GLUquadricObj*))&"gluDeleteQuadric";
//void (__stdcall* gluQuadricDrawStyle)(...) = (void (__stdcall*)(...))&"gluQuadricDrawStyle"; void (__stdcall* gluQuadricDrawStyle)(GLUquadricObj *quadObject, GLenum drawStyle) = (void (__stdcall*)(GLUquadricObj*, GLenum))&"gluQuadricDrawStyle";
//void (__stdcall* gluQuadricOrientation)(...) = (void (__stdcall*)(...))&"gluQuadricOrientation"; void (__stdcall* gluQuadricOrientation)(GLUquadricObj *quadObject, GLenum orientation) = (void (__stdcall*)(GLUquadricObj*, GLenum))&"gluQuadricOrientation";
//void (__stdcall* gluQuadricTexture)(...) = (void (__stdcall*)(...))&"gluQuadricTexture"; void (__stdcall* gluQuadricTexture)(GLUquadricObj *quadObject, GLboolean textureCoords) = (void (__stdcall*)(GLUquadricObj*, GLboolean))&"gluQuadricTexture";
//void (__stdcall* gluCylinder)(...) = (void (__stdcall*)(...))&"gluCylinder"; void (__stdcall* gluCylinder)(GLUquadricObj *qobj,
//void (__stdcall* gluSphere)(...) = (void (__stdcall*)(...))&"gluSphere"; GLdouble baseRadius, GLdouble topRadius, GLdouble height, GLint slices, GLint stacks) = (void (__stdcall*)(GLUquadricObj*, GLdouble, GLdouble, GLdouble, GLint, GLint))&"gluCylinder";
void (__stdcall* gluDisk)(GLUquadricObj *qobj,
GLdouble innerRadius, GLdouble outerRadius, GLint slices, GLint loops) = (void (__stdcall*)(GLUquadricObj*, GLdouble, GLdouble, GLint, GLint))&"gluDisk";
void (__stdcall* gluSphere)(GLUquadricObj *qobj,
GLdouble radius, GLint slices, GLint stacks) = (void (__stdcall*)(GLUquadricObj*, GLdouble, GLint, GLint))&"gluSphere";
void (__stdcall* kosglMakeCurrent)(long l, long t, long w, long h, TinyGLContext*) = (void (__stdcall*)(long, long, long, long, TinyGLContext*))&"kosglMakeCurrent"; void (__stdcall* kosglMakeCurrent)(long l, long t, long w, long h, TinyGLContext*) = (void (__stdcall*)(long, long, long, long, TinyGLContext*))&"kosglMakeCurrent";
void (__stdcall* kosglSwapBuffers)() = (void (__stdcall*)())&"kosglSwapBuffers"; void (__stdcall* kosglSwapBuffers)() = (void (__stdcall*)())&"kosglSwapBuffers";
asm{ asm{

View File

@@ -13,12 +13,12 @@ rem
set __value= set __value=
set __res= set __res=
shift shift
:__allowed :__allowed
set __values=%1 %__values% set __values=%1 %__values%
shift shift
if not "%1"=="" goto __allowed if not "%1"=="" goto __allowed
set /P __res="> set /P __res=">
:Check_Value :Check_Value
for %%a in (%__values%) do if %%a==%__res% set __value=%__res% for %%a in (%__values%) do if %%a==%__res% set __value=%__res%
@@ -59,7 +59,7 @@ echo *
fasm system\calendar\trunk\calendar.asm %BIN%\calendar fasm system\calendar\trunk\calendar.asm %BIN%\calendar
fasm system\board\trunk\board.asm %BIN%\develop\board fasm system\board\trunk\board.asm %BIN%\develop\board
fasm system\commouse\trunk\commouse.asm %BIN%\commouse fasm system\commouse\trunk\commouse.asm %BIN%\commouse
fasm system\cpu\trunk\cpu.asm %BIN%\cpu fasm system\cpu\trunk\cpu.asm %BIN%\cpu
fasm system\cpuid\trunk\cpuid.asm %BIN%\cpuid fasm system\cpuid\trunk\cpuid.asm %BIN%\cpuid
fasm system\skincfg\trunk\skincfg.asm %BIN%\skincfg fasm system\skincfg\trunk\skincfg.asm %BIN%\skincfg
fasm system\docpack\trunk\docpack.asm %BIN%\docpack fasm system\docpack\trunk\docpack.asm %BIN%\docpack
@@ -154,16 +154,16 @@ echo *
echo Building other echo Building other
echo * echo *
rem fasm other\archer\trunk\@rcher.asm %BIN%\@rcher rem fasm other\archer\trunk\@rcher.asm %BIN%\@rcher
fasm other\calc\trunk\calc.asm %BIN%\calc fasm other\calc\calc.asm %BIN%\calc
fasm other\mhc\trunk\mhc.asm %BIN%\mhc fasm other\mhc\trunk\mhc.asm %BIN%\mhc
fasm other\period\trunk\period.asm %BIN%\period fasm other\period\period.asm %BIN%\period
fasm other\rtfread\trunk\rtfread.asm %BIN%\rtfread fasm other\rtfread\rtfread.asm %BIN%\rtfread
echo * echo *
echo Building media echo Building media
echo * echo *
rem media\ac97snd\trunk\ac97snd.asm ac97snd rem media\ac97snd\trunk\ac97snd.asm ac97snd
fasm media\animage\trunk\animage.asm %BIN%\animage fasm media\animage\animage.asm %BIN%\animage
fasm media\cdp\trunk\cdp.asm %BIN%\cdp fasm media\cdp\trunk\cdp.asm %BIN%\cdp
fasm media\gifview\trunk\gifview.asm %BIN%\gifview fasm media\gifview\trunk\gifview.asm %BIN%\gifview
fasm media\iconedit\trunk\iconedit.asm %BIN%\iconedit fasm media\iconedit\trunk\iconedit.asm %BIN%\iconedit
@@ -201,39 +201,39 @@ rem fasm games\hunter\trunk\hunter.asm %BIN%\games\hunter
echo * echo *
echo Building demos echo Building demos
echo * echo *
fasm demos\3dcube2\trunk\3dcube2.asm %BIN%\3d\3dcube2 fasm demos\3dcube2\3dcube2.asm %BIN%\3d\3dcube2
rem fasm demos\3detx60b\trunk\3detx60b.asm %BIN%\3d\3detx60b rem fasm demos\3detx60b\3detx60b.asm %BIN%\3d\3detx60b
fasm demos\3dtcub10\trunk\3dtcub10.asm %BIN%\3d\3dtcub10 fasm demos\3dtcub10\3dtcub10.asm %BIN%\3d\3dtcub10
cd demos\aclock\trunk\ cd demos\aclock\trunk\
nasmw -t -f bin -o ..\..\..\%BIN%\demos\aclock aclock.asm nasmw -t -f bin -o ..\..\..\%BIN%\demos\aclock aclock.asm
cd ..\..\.. cd ..\..\..
fasm demos\bcdclk\trunk\bcdclk.asm %BIN%\demos\bcdclk fasm demos\bcdclk\bcdclk.asm %BIN%\demos\bcdclk
fasm demos\bgitest\trunk\bgitest.asm %BIN%\fonts\bgitest rem fasm demos\bgitest\trunk\bgitest.asm %BIN%\fonts\bgitest
fasm demos\colorref\trunk\colorref.asm %BIN%\demos\colorref fasm demos\colorref\colorref.asm %BIN%\demos\colorref
fasm demos\crownscr\trunk\crownscr.asm %BIN%\3d\crownscr fasm demos\crownscr\crownscr.asm %BIN%\3d\crownscr
fasm demos\cslide\trunk\cslide.asm %BIN%\demos\cslide fasm demos\cslide\cslide.asm %BIN%\demos\cslide
fasm demos\eyes\trunk\eyes.asm %BIN%\demos\eyes fasm demos\eyes\eyes.asm %BIN%\demos\eyes
fasm demos\fire\trunk\fire.asm %BIN%\demos\fire fasm demos\fire\fire.asm %BIN%\demos\fire
fasm demos\fire2\trunk\fire2.asm %BIN%\demos\fire2 fasm demos\fire2\fire2.asm %BIN%\demos\fire2
fasm demos\firework\trunk\firework.asm %BIN%\demos\firework fasm demos\firework\firework.asm %BIN%\demos\firework
fasm demos\free3d04\trunk\free3d04.asm %BIN%\3d\free3d04 fasm demos\free3d04\free3d04.asm %BIN%\3d\free3d04
fasm demos\magnify\trunk\magnify.asm %BIN%\magnify rem fasm demos\magnify\trunk\magnify.asm %BIN%\magnify
fasm demos\movback\trunk\movback.asm %BIN%\demos\movback fasm demos\movback\movback.asm %BIN%\demos\movback
fasm demos\plasma\trunk\plasma.asm %BIN%\demos\plasma fasm demos\plasma\plasma.asm %BIN%\demos\plasma
fasm demos\timer\trunk\timer.asm %BIN%\demos\timer fasm demos\timer\timer.asm %BIN%\demos\timer
fasm demos\tinyfrac\trunk\tinyfrac.asm %BIN%\demos\tinyfrac fasm demos\tinyfrac\tinyfrac.asm %BIN%\demos\tinyfrac
fasm demos\transp\trunk\transp.asm %BIN%\demos\transp fasm demos\transp\transp.asm %BIN%\demos\transp
fasm demos\trantest\trunk\trantest.asm %BIN%\demos\trantest fasm demos\trantest\trantest.asm %BIN%\demos\trantest
fasm demos\tube\trunk\tube.asm %BIN%\demos\tube fasm demos\tube\tube.asm %BIN%\demos\tube
fasm demos\unvwater\trunk\unvwater.asm %BIN%\demos\unvwater fasm demos\unvwater\unvwater.asm %BIN%\demos\unvwater
echo * echo *
echo Building depend application for fdd's nightbuild echo Building depend application for fdd's nightbuild
echo * echo *
echo __nightbuild fix yes >> config.inc echo __nightbuild fix yes >> config.inc
fasm media\kiv\trunk\kiv.asm %BIN%\nightbuild\kiv fasm media\kiv\kiv.asm %BIN%\nightbuild\kiv
fasm media\scrshoot\scrshoot.asm %BIN%\nightbuild\scrshoot fasm media\scrshoot\scrshoot.asm %BIN%\nightbuild\scrshoot
fasm media\animage\trunk\animage.asm %BIN%\nightbuild\animage fasm media\animage\animage.asm %BIN%\nightbuild\animage
fasm media\midamp\trunk\midamp.asm %BIN%\nightbuild\midamp fasm media\midamp\trunk\midamp.asm %BIN%\nightbuild\midamp
fasm develop\heed\trunk\heed.asm %BIN%\nightbuild\heed fasm develop\heed\trunk\heed.asm %BIN%\nightbuild\heed
fasm develop\tinypad\trunk\tinypad.asm %BIN%\nightbuild\tinypad fasm develop\tinypad\trunk\tinypad.asm %BIN%\nightbuild\tinypad
@@ -242,27 +242,27 @@ fasm system\hdd_info\trunk\hdd_info.asm %BIN%\nightbuild\hdd_info
fasm system\mgb\trunk\mgb.asm %BIN%\nightbuild\mgb fasm system\mgb\trunk\mgb.asm %BIN%\nightbuild\mgb
fasm system\rdsave\trunk\rdsave.asm %BIN%\nightbuild\rdsave fasm system\rdsave\trunk\rdsave.asm %BIN%\nightbuild\rdsave
fasm other\kpack\trunk\kpack.asm %BIN%\nightbuild\kpack fasm other\kpack\trunk\kpack.asm %BIN%\nightbuild\kpack
fasm other\rtfread\trunk\rtfread.asm %BIN%\nightbuild\rtfread fasm other\rtfread\rtfread.asm %BIN%\nightbuild\rtfread
;restore ;restore
echo __CPU_type fix %res% > config.inc echo __CPU_type fix %res% > config.inc
erase lang.inc erase lang.inc
echo * echo *
echo Finished building echo Finished building
echo * echo *
kpack /nologo 2> nul kpack /nologo 2> nul
if "%errorlevel%"=="9009" ( if "%errorlevel%"=="9009" (
echo *** NOTICE *** echo *** NOTICE ***
echo If you want to pack all applications you may echo If you want to pack all applications you may
echo place "kpack" in accessible directory. echo place "kpack" in accessible directory.
echo You can download that tool from http://diamondz.land.ru/ echo You can download that tool from http://diamondz.land.ru/
goto END goto END
) )
echo Kpack KolibriOS apps? echo Kpack KolibriOS apps?
echo echo
set /P res=[y/n]? set /P res=[y/n]?
@@ -273,7 +273,7 @@ echo Compressing system
echo * echo *
kpack %BIN%\calendar kpack %BIN%\calendar
kpack %BIN%\develop\board kpack %BIN%\develop\board
kpack %BIN%\cpu kpack %BIN%\cpu
kpack %BIN%\cpuid kpack %BIN%\cpuid
kpack %BIN%\skincfg kpack %BIN%\skincfg
kpack %BIN%\docpack kpack %BIN%\docpack

View File

@@ -85,6 +85,7 @@ struct TWebBrowser {
void tag_table(); void tag_table();
void tag_td(); void tag_td();
void tag_tr(); void tag_tr();
void reset_font_style();
}; };
#include "TWB\render.h" #include "TWB\render.h"
@@ -94,16 +95,16 @@ void TWebBrowser::SetPageDefaults()
{ {
t_html = t_body = link = false; t_html = t_body = link = false;
style.reset(); style.reset();
reset_font_style();
link_color_default = 0x0000FF; link_color_default = 0x0000FF;
link_color_active = 0xFF0000; link_color_active = 0xFF0000;
style.cur_line_h = list.item_h;
links.clear(); links.clear();
anchors.clear(); anchors.clear();
img_url.drop(); img_url.drop();
text_colors.drop(); text_colors.drop();
text_colors.add(0); text_colors.add(0);
if (secondrun) { if (secondrun) {
canvas.Init(list.x, list.y, list.w, math.max(list.visible, list.count)); canvas.Init(list.x, list.y, list.w, math.max(list.visible, list.count)+200);
canvas.Fill(0, bg_colors.get(0)); canvas.Fill(0, bg_colors.get(0));
} }
bg_colors.drop(); bg_colors.drop();
@@ -114,7 +115,6 @@ void TWebBrowser::SetPageDefaults()
draw_w = list.w - BODY_MARGIN - BODY_MARGIN; draw_w = list.w - BODY_MARGIN - BODY_MARGIN;
linebuf = 0; linebuf = 0;
redirect = '\0'; redirect = '\0';
list.SetFont(8, 14, 10011000b);
tag_table_reset(); tag_table_reset();
is_html = true; is_html = true;
if (!strstri(bufpointer, "<body")) { if (!strstri(bufpointer, "<body")) {

View File

@@ -49,14 +49,14 @@ void TWebBrowser::RenderLine(dword _line)
pc = text_colors.get_last(); pc = text_colors.get_last();
if (link) && (pc == text_colors.get(0)) pc = link_color_default; if (link) && (pc == text_colors.get(0)) pc = link_color_default;
canvas.WriteText(draw_x, draw_y, list.font_type, pc, _line, NULL); canvas.WriteText(draw_x, draw_y+1, list.font_type, pc, _line, NULL);
if (style.b) canvas.WriteText(draw_x+1, draw_y, list.font_type, pc, _line, NULL); if (style.b) canvas.WriteText(draw_x+1, draw_y+1, list.font_type, pc, _line, NULL);
if (style.s) canvas.DrawBar(draw_x, list.item_h / 2 - zoom + draw_y, pw, zoom, pc); if (style.s) canvas.DrawBar(draw_x, list.item_h / 2 - zoom + draw_y, pw, zoom, pc);
if (style.u) canvas.DrawBar(draw_x, list.item_h - zoom - zoom + draw_y, pw, zoom, pc); if (style.u) canvas.DrawBar(draw_x, draw_y + list.font_h, pw, zoom, pc);
if (link) { if (link) {
if (ESBYTE[_line]==' ') && (ESBYTE[_line+1]==NULL) {} else { if (ESBYTE[_line]==' ') && (ESBYTE[_line+1]==NULL) {} else {
canvas.DrawBar(draw_x, draw_y + list.item_h - calc(zoom*2)-1, pw, zoom, link_color_default); canvas.DrawBar(draw_x, draw_y + list.font_h, pw, zoom, link_color_default);
links.add_text(draw_x, draw_y + list.y, pw, list.item_h - calc(zoom*2)-1, zoom); links.add_text(draw_x, draw_y + list.y, pw, list.font_h, zoom);
} }
} }
_SKIP_DRAW: _SKIP_DRAW:

View File

@@ -208,9 +208,20 @@ void TWebBrowser::tag_li()
void TWebBrowser::tag_hr() void TWebBrowser::tag_hr()
{ {
dword hrcol = 0x00777777; dword hrcol = 0x00777777;
if (tag.get_value_of("color")) hrcol = GetColor(tag.value); dword hr_width = draw_w-BODY_MARGIN-BODY_MARGIN;
dword hr_size = 1;
if (tag.get_value_of("color")) {
hrcol = GetColor(tag.value);
}
if (tag.get_value_of("width")) && (!strchr(tag.value, '%')) {
hr_width = math.min(hr_width, tag.get_number_of("width"));
}
if (tag.get_number_of("size")) {
hr_size = math.min(500, tag.number);
}
if (draw_x != left_gap) NewLine(); if (draw_x != left_gap) NewLine();
if (secondrun) canvas.DrawBar(5+left_gap, style.cur_line_h / 2 + draw_y - 1, draw_w-10, 1, hrcol); if (secondrun) canvas.DrawBar(left_gap, style.cur_line_h / 2 + draw_y - 1, hr_width, hr_size, hrcol);
draw_y += hr_size - 3;
draw_x++; draw_x++;
NewLine(); NewLine();
return; return;
@@ -235,6 +246,12 @@ void TWebBrowser::tag_q()
chrncat(#linebuf, '\"', sizeof(TWebBrowser.linebuf)); chrncat(#linebuf, '\"', sizeof(TWebBrowser.linebuf));
} }
void TWebBrowser::reset_font_style()
{
list.SetFont(BASIC_CHAR_W, 14, 10011000b);
style.cur_line_h = list.item_h = list.font_h + 5;
}
void TWebBrowser::tag_h1234_caption() void TWebBrowser::tag_h1234_caption()
{ {
if (ESBYTE[#tag.name+1]=='4') { if (ESBYTE[#tag.name+1]=='4') {
@@ -250,19 +267,18 @@ void TWebBrowser::tag_h1234_caption()
NewLine(); NewLine();
} }
if (tag.is("h1")) { if (tag.is("h1")) {
list.SetFont(BASIC_CHAR_W*2, 14+14, 10011001b); list.SetFont(BASIC_CHAR_W*2, 14+13, 10011001b);
style.b = true; style.b = true;
} else if (tag.is("h2")) { } else if (tag.is("h2")) {
list.SetFont(BASIC_CHAR_W*2, 14+14, 10011001b); list.SetFont(BASIC_CHAR_W*2, 14+13, 10011001b);
} else { } else {
list.SetFont(6*2, 9+7, 10001001b); list.SetFont(6*2, 9+8, 10001001b);
} }
style.cur_line_h = list.item_h = list.font_h + 2; style.cur_line_h = list.item_h = list.font_h + 3;
} else { } else {
if (tag.is("h1")) style.b = false; if (tag.is("h1")) style.b = false;
NewLine(); NewLine();
list.SetFont(BASIC_CHAR_W, 14, 10011000b); reset_font_style();
style.cur_line_h = list.item_h = BASIC_LINE_H;
} }
} }
} }
@@ -270,11 +286,15 @@ void TWebBrowser::tag_h1234_caption()
void TWebBrowser::tag_kosicon() void TWebBrowser::tag_kosicon()
{ {
dword imgbuf[44]; dword imgbuf[44];
dword maxicon;
dword shared_i18 = memopen("ICONS18", NULL, SHM_READ); dword shared_i18 = memopen("ICONS18", NULL, SHM_READ);
maxicon = EDX / 18 / 18 / 4;
if (shared_i18) && (tag.get_number_of("n")) { if (shared_i18) && (tag.get_number_of("n")) {
if (draw_x + 18 > canvas.bufw) NewLine(); if (tag.number < maxicon) {
canvas.DrawImage(draw_x, draw_y-2, 18, 18, 18*18*4*tag.number+shared_i18); if (draw_x + 18 > canvas.bufw) NewLine();
draw_x += 22; canvas.DrawImage(draw_x, draw_y-1, 18, 18, 18*18*4*tag.number+shared_i18);
draw_x += 22;
}
} }
} }

View File

@@ -571,10 +571,10 @@ void OpenPage(dword _open_URL)
//INTERNAL PAGE //INTERNAL PAGE
history.add(#new_url); history.add(#new_url);
WB1.custom_encoding = -1; WB1.custom_encoding = -1;
if (streq(#new_url, URL_SERVICE_HOMEPAGE)) LoadInternalPage(#buildin_page_home, sizeof(buildin_page_home)-1); if (streq(#new_url, URL_SERVICE_HOMEPAGE)) LoadInternalPage(#buildin_page_home, sizeof(buildin_page_home));
else if (streq(#new_url, URL_SERVICE_TEST)) LoadInternalPage(#buildin_page_test, sizeof(buildin_page_test)-1); else if (streq(#new_url, URL_SERVICE_TEST)) LoadInternalPage(#buildin_page_test, sizeof(buildin_page_test));
else if (streq(#new_url, URL_SERVICE_HISTORY)) ShowHistory(); else if (streq(#new_url, URL_SERVICE_HISTORY)) ShowHistory();
else LoadInternalPage(#buildin_page_error, sizeof(buildin_page_error)-1); else LoadInternalPage(#buildin_page_error, sizeof(buildin_page_error));
} else if (!strncmp(#new_url,"http:",5)) || (!strncmp(#new_url,"https:",6)) { } else if (!strncmp(#new_url,"http:",5)) || (!strncmp(#new_url,"https:",6)) {
//WEB PAGE //WEB PAGE
@@ -589,7 +589,7 @@ void OpenPage(dword _open_URL)
if (!http.transfer) { if (!http.transfer) {
history.add(#new_url); history.add(#new_url);
LoadInternalPage(#buildin_page_error, sizeof(buildin_page_error)-1); LoadInternalPage(#buildin_page_error, sizeof(buildin_page_error));
} }
} else { } else {
//LOCAL PAGE //LOCAL PAGE
@@ -712,7 +712,7 @@ void EventSubmitOmnibox()
void LoadInternalPage(dword _bufdata, _in_bufsize){ void LoadInternalPage(dword _bufdata, _in_bufsize){
if (!_bufdata) || (!_in_bufsize) { if (!_bufdata) || (!_in_bufsize) {
LoadInternalPage(#buildin_page_error, sizeof(buildin_page_error)-1); LoadInternalPage(#buildin_page_error, sizeof(buildin_page_error));
} else { } else {
WB1.list.first = 0; //scroll page to the top WB1.list.first = 0; //scroll page to the top
DrawOmnibox(); DrawOmnibox();

View File

@@ -112,4 +112,4 @@ char editbox_icons[] = FROM "res/editbox_icons.raw";
#define DEFAULT_URL URL_SERVICE_HOMEPAGE #define DEFAULT_URL URL_SERVICE_HOMEPAGE
char version[]="WebView 3.85"; char version[]="WebView 3.91";

View File

@@ -1,7 +1,7 @@
#ifdef LANG_RUS #ifdef LANG_RUS
#define HISTORY_HEADER "<html><title><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></title><body><b><3E><><EFBFBD><EFBFBD><EFBFBD><E9A5AD><EFBFBD> <20><><EFBFBD><E0A0AD><EFBFBD></b><br>" #define HISTORY_HEADER "<html><title><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></title><body bgcolor=#fff><h3><3E><><EFBFBD><EFBFBD><EFBFBD><E9A5AD><EFBFBD> <20><><EFBFBD><E0A0AD><EFBFBD></h3><br>"
#else #else
#define HISTORY_HEADER "<html><title>History</title><body><b>Visited pages</b><br>" #define HISTORY_HEADER "<html><title>History</title><body bgcolor=#fff><h3>Visited pages</h3><br>"
#endif #endif
@@ -13,7 +13,7 @@ ShowHistory()
for (i=0; i<history.items.count-1; i++) //if (cache.type.get(i) == PAGE) for (i=0; i<history.items.count-1; i++) //if (cache.type.get(i) == PAGE)
{ {
strcat(history_pointer, "<a href='"); strcat(history_pointer, "<kosicon n=3><a href='");
strcat(history_pointer, history.items.get(i)); strcat(history_pointer, history.items.get(i));
strcat(history_pointer, "'>"); strcat(history_pointer, "'>");
strcat(history_pointer, history.items.get(i)); strcat(history_pointer, history.items.get(i));

View File

@@ -1,17 +1,49 @@
<html> <html><head><title>New tab</title></head>
<head> <body bgcolor=#fff>
<title>Homepage</title>
</head>
<body><pre>Welcome to WebView a Text-Based Browser.
KolibriOS Bookmarks: <table><tr><td width=20><td width=220><pre>
1. <a href=//kolibrios.org>Homepage</a> _____________________
2. <a href="//builds.kolibrios.org">Night-builds</a> |# : : #|
3. <a href="//ftp.kolibrios.org">FTP Server</a> | : WebView : |
| : for : |
| : KolibriOS : |
| : : |
| :_______________: |
| ____________ |
| | __ | |
| || | | |
\_____||__|________|__|<font color=#DDD>lc</font>
<font bg=#F8F15B>By the way,</font> <font bg=#F8F15B> web <font bg=#FF5A7E color=#fff> 1.0 <font bg=#47D018> compatable
<font bg=#3CE7FF> </font></font></font></font>
<td>
</pre>
<kosicon n=58><a href=//kolibrios.org>Homepage</a> &nbsp;
<kosicon n=50><a href="//builds.kolibrios.org">Night-builds</a> &nbsp;
<kosicon n=50><a href="//ftp.kolibrios.org">FTP Server</a>
<pre>
By the way,
<font color="#555555">&bull; You can check for browser updates from the main menu. <font color="#555555">&bull; You can check for browser updates from the main menu.
&bull; To run a web search, type a text in the adress box and press Ctrl+Enter. &bull; To run a web search, type a text in the adress box and press Ctrl+Enter.
&bull; Pressing F6 moves a text cursor to the omnibox. &bull; Pressing F6 moves a text cursor to the omnibox.
&bull; Click on a label in the bottom right corner to change the encoding of a page. &bull; You can manually change the encoding of a page by clicking on a label in the bottom right corner.
</font>
~+
* +
' |
() .-.,="``"=. - o -
'=/_ \ |
* | '=._ |
\ `=./`, '
. '=.__.=' `=' *
+ +
O * ' .<font color=#DDD>jgs</font>

View File

@@ -1,15 +1,49 @@
<html><head><meta charset="cp-866"> <html><head><title><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></title></head>
<title><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E0A0AD><EFBFBD></title></head> <body bgcolor=#fff>
<body><pre><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><EFBFBD><E2AEA2> <20><><EFBFBD><EFBFBD> WebView!
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> KolibriOS:<ol> <table><tr><td width=20><td width=220><pre>
<li><a href=//kolibrios.org><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><></a> _____________________
<li><a href="//builds.kolibrios.org"><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᡮન</a> |# : : #|
<li><a href="//ftp.kolibrios.org">FTP <20><><EFBFBD></a></ol> | : WebView : |
| : for : |
| : KolibriOS : |
| : : |
| :_______________: |
| ____________ |
| | __ | |
| || | | |
\_____||__|________|__|<font color=#DDD>lc</font>
<font bg=#F8F15B><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,</font> <font bg=#F8F15B> web <font bg=#FF5A7E color=#fff> 1.0 <font bg=#47D018> compatable
<font bg=#3CE7FF> </font></font></font></font>
<td>
</pre>
<kosicon n=58><a href=//kolibrios.org><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><></a> &nbsp;
<kosicon n=50><a href="//builds.kolibrios.org"><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᡮન</a> &nbsp;
<kosicon n=50><a href="//ftp.kolibrios.org">FTP <20><><EFBFBD></a>
<pre>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
<font color="#555555">&bull; <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E0AEA2><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <font color="#555555">&bull; <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E0AEA2><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
&bull; <20><><EFBFBD> <20><><EFBFBD><20> Google <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ctrl+Enter &bull; <20><><EFBFBD> <20><><EFBFBD><20> Google <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ctrl+Enter
&bull; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> F6 <20><><EFBFBD><EFBFBD><><EFBFBD><E2AEA2> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. &bull; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> F6 <20><><EFBFBD><EFBFBD><><EFBFBD><E2AEA2> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
&bull; <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E0AEA2> <20><><EFBFBD><E0A0AD><EFBFBD>, <20><><EFBFBD> <20><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><EFBFBD><E0A0A2> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><> <20><><EFBFBD><EFBFBD>. &bull; <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E0AEA2> <20><><EFBFBD><E0A0AD><EFBFBD>, <20><><EFBFBD> <20><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><EFBFBD><E0A0A2> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><> <20><><EFBFBD><EFBFBD>.
~+
* +
' |
() .-.,="``"=. - o -
'=/_ \ |
* | '=._ |
\ `=./`, '
. '=.__.=' `=' *
+ +
O * ' .<font color=#DDD>jgs</font>

View File

@@ -5,12 +5,19 @@
<title>Тест Acid 0.1</title> <title>Тест Acid 0.1</title>
</head> </head>
<body bgcolor="#000000" link="#0066FF" text="#FFFFFF"> <body bgcolor="#000000" link="#0066FF" text="#FFFFFF">
<h1 align=center>Это тестовая страница для проверки WebViewer</h1> <h1 align=center>Тест Acid 0.1</h1>
<br /> <br>
<p>WebViewer является текстовым браузером и поддерживает все популярные кодировки (cp1251, koi-8, cp866, unicode) <b>Это тестовая страница для проверки текстового браузера <s>HTML Viewer</s> WebView</b>
и некоторые теги. Поддержка таблииц (&lt;table&gt;), CSS, Javascript'a и Контактика пока не реализована :)
<p>Из кодировок поддерживаются: CP866(DOS), CP1251(Windows), CP1252(Latin legacy), KOI8, и конечно UTF8. CSS и Javascript пока не реализованы (ахахаха). Поддержка тега &lt;table&gt; крайне базовая, поддержки вложенных таблиц нет.
</p> </p>
<br />
<h3>История</h3>
Ранее программа называлась <b >HTMLv (HTML Viewer)</b> и изначально задумывалась как <q>Центр справки и поддержки</q>. Чтобы не изобретать велосипед и одновременно исполнить мечту многих, форматом просматриваемых страниц был выбран html.
Первоначальный автор Veliant, затем разработка была подхвачена дизайнером Leency. Это была моя вторая программа после файлового менеджера Eolite.<br>
<span> <br />
<b> <b>
<font color="#FF0000">K</font> <font color="#FF0000">K</font>
@@ -33,7 +40,8 @@
</b> </b>
<br> <br>
<p> <table>
<td>
<bg bgcolor=#333> <bg bgcolor=#333>
Небольшой список:<ol> Небольшой список:<ol>
<li><q>Этот текст в кавычках</q></li> <li><q>Этот текст в кавычках</q></li>
@@ -46,17 +54,14 @@
</p> </p>
<br> <br>
<pre>
"Осень уже пришла!"-
Шепнул мне на ухо ветер,
Подкравшись к подушке моей.
Басе
</pre>
<!-- комментарий: этого текста здесь <нет> --> <!-- комментарий: этого текста здесь <нет> -->
<br> <br>
<img alt="нет картинки, просто alt">
<img src = http://wiby.org/about/wibyplex.gif>
<a href="http://kolibrios.org/i/logo.png"><img id="2.1.4" src="http://kolibrios.org/i/logo.png" alt="logo"><br>Открыть</a><br> <a href="http://kolibrios.org/i/logo.png"><img id="2.1.4" src="http://kolibrios.org/i/logo.png" alt="logo"><br>Открыть</a><br>
<br> <br>
@@ -65,10 +70,25 @@
<a href='/sys/index.htm'>Незакрытый тег а - index.htm<br> <a href='/sys/index.htm'>Незакрытый тег а - index.htm<br>
<a href="/sys/calc">/sys/calc</a><br> <a href="/sys/calc">/sys/calc</a><br>
<a href="#2.1.4">#2.1.4</a><br> <a href="#2.1.4">#2.1.4</a><br>
<a href="http://bash.im">http://bash.im</a><br> <a href="http://kolibrios.org">http://kolibrios.org</a><br>
<a href="mailto:leency@mail.ru">Mail to Leency</a><br> <a href="mailto:leency@mail.ru">Mail to Leency</a><br>
<br> <br>
<br>
<h1><a href=#>Link H1</a> <u>Underline H1</u></h1>
<h2><a href=#>Link H2</a> <u>Underline H2</u></h2>
<h3><a href=#>Link H3</a> <u>Underline H2</u></h3>
<a href=#>Link</a> <u>Underline</u>
<td>
<pre>
"Осень уже пришла!"-
Шепнул мне на ухо ветер,
Подкравшись к подушке моей.
Басе
</pre><br>
В этом тексте есть переход на следующую строку, но браузер В этом тексте есть переход на следующую строку, но браузер
его должен проигнорировать. Еще много пробелов. А тут есть его должен проигнорировать. Еще много пробелов. А тут есть
@@ -80,8 +100,19 @@
&#1082;&#1086;&#1088;&#1087;&#1091;&#1089; &#1085;&#1072; &#1090;&#1077;&#1088;&#1088;&#1080;&#1090;&#1086;&#1088;&#1080;&#1080; &#1053;&#1058;&#1059; «&#1061;&#1055;&#1048;» &#1082;&#1086;&#1088;&#1087;&#1091;&#1089; &#1085;&#1072; &#1090;&#1077;&#1088;&#1088;&#1080;&#1090;&#1086;&#1088;&#1080;&#1080; &#1053;&#1058;&#1059; «&#1061;&#1055;&#1048;»
</p> </p>
<pre><font color="#000">
<font bg=#FFED00 style="background-color:#FFED00"> Заметки </font>
<font bg=#FFFBCE style="background-color:#FFFBCE"> </font>
<font bg=#FFFBCE style="background-color:#FFFBCE"> Речка на Жукова </font>
<font bg=#FFFBCE style="background-color:#FFFBCE"> Heroes 3 </font>
<font bg=#FFFBCE style="background-color:#FFFBCE"> Рисостерон, куринабол </font>
<font bg=#FFFBCE style="background-color:#FFFBCE"> </font>
</font></pre>
</table>
<hr color="#758999"> <hr color="#758999">
<center>Zhitomyr 2008-2015</center> <center>Zhytomyr 2008-2025</center>
</body> </body>

View File

@@ -1,5 +1,5 @@
if tup.getconfig("NO_FASM") ~= "" then return end if tup.getconfig("NO_FASM") ~= "" then return end
HELPERDIR = (tup.getconfig("HELPERDIR") == "") and "../../.." or tup.getconfig("HELPERDIR") HELPERDIR = (tup.getconfig("HELPERDIR") == "") and "../.." or tup.getconfig("HELPERDIR")
tup.include(HELPERDIR .. "/use_fasm.lua") tup.include(HELPERDIR .. "/use_fasm.lua")
add_include(tup.getvariantdir()) add_include(tup.getvariantdir())

View File

@@ -1,5 +1,5 @@
if tup.getconfig("NO_FASM") ~= "" then return end if tup.getconfig("NO_FASM") ~= "" then return end
HELPERDIR = (tup.getconfig("HELPERDIR") == "") and "../../.." or tup.getconfig("HELPERDIR") HELPERDIR = (tup.getconfig("HELPERDIR") == "") and "../.." or tup.getconfig("HELPERDIR")
tup.include(HELPERDIR .. "/use_fasm.lua") tup.include(HELPERDIR .. "/use_fasm.lua")
add_include(tup.getvariantdir()) add_include(tup.getvariantdir())

View File

Before

Width:  |  Height:  |  Size: 5.9 KiB

After

Width:  |  Height:  |  Size: 5.9 KiB

View File

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 17 KiB

View File

Before

Width:  |  Height:  |  Size: 9.2 KiB

After

Width:  |  Height:  |  Size: 9.2 KiB

View File

@@ -1,5 +1,5 @@
if tup.getconfig("NO_FASM") ~= "" then return end if tup.getconfig("NO_FASM") ~= "" then return end
HELPERDIR = (tup.getconfig("HELPERDIR") == "") and "../../.." or tup.getconfig("HELPERDIR") HELPERDIR = (tup.getconfig("HELPERDIR") == "") and "../.." or tup.getconfig("HELPERDIR")
tup.include(HELPERDIR .. "/use_fasm.lua") tup.include(HELPERDIR .. "/use_fasm.lua")
add_include(tup.getvariantdir()) add_include(tup.getvariantdir())

View File

@@ -1,5 +1,5 @@
if tup.getconfig("NO_FASM") ~= "" then return end if tup.getconfig("NO_FASM") ~= "" then return end
HELPERDIR = (tup.getconfig("HELPERDIR") == "") and "../../.." or tup.getconfig("HELPERDIR") HELPERDIR = (tup.getconfig("HELPERDIR") == "") and "../.." or tup.getconfig("HELPERDIR")
tup.include(HELPERDIR .. "/use_fasm.lua") tup.include(HELPERDIR .. "/use_fasm.lua")
add_include(tup.getvariantdir()) add_include(tup.getvariantdir())

View File

@@ -1,150 +1,153 @@
; ; SPDX-License-Identifier: NOASSERTION
; BCD CLOCK ;
;
; Compile with FASM for Menuet ;
; ; BCD CLOCK
; ;
; Compile with FASM for Menuet
use32 ;
;
org 0x0
use32
db 'MENUET01'
dd 0x01 org 0x0
dd START
dd I_END db 'MENUET01'
dd 0x1000 dd 0x01
dd 0x1000 dd START
dd 0x0 , 0x0 dd I_END
dd 0x1000
include 'lang.inc' dd 0x1000
include '../../../macros.inc' dd 0x0 , 0x0
include 'lang.inc'
START: include '../../macros.inc'
red:
call drawwindow
START:
still: red:
call drawwindow
mov eax,23 ; wait for timeout still:
mov ebx,50
mcall
mov eax,23 ; wait for timeout
cmp eax,1 ; redraw ? mov ebx,50
je red mcall
cmp eax, 2 ; key cmp eax,1 ; redraw ?
je key je red
cmp eax,3 ; button in buffer ? cmp eax, 2 ; key
je button je key
call drawclock cmp eax,3 ; button in buffer ?
je button
jmp still
call drawclock
key:
mov eax, 2 jmp still
int 0x40
jmp still key:
mov eax, 2
button: int 0x40
mov al,17 ; get id jmp still
mcall
button:
cmp ah,1 ; button id=1 ? mov al,17 ; get id
jne noclose mcall
or eax,-1 ; close this program
mcall cmp ah,1 ; button id=1 ?
noclose: jne noclose
or eax,-1 ; close this program
jmp still mcall
noclose:
drawclock:
jmp still
mov eax,3 ; get time
mcall drawclock:
bswap eax
shr eax,8 mov eax,3 ; get time
mov edi,dg1 mcall
mov ecx,6 bswap eax
dgtomem: shr eax,8
push eax mov edi,dg1
and al,0x0f mov ecx,6
mov [edi],al dgtomem:
inc edi push eax
pop eax and al,0x0f
shr eax,4 mov [edi],al
loop dgtomem inc edi
mov ebx,79*65536+11 pop eax
mov edi,dg1 shr eax,4
digitlp: loop dgtomem
mov ecx,10*65536+11 mov ebx,79*65536+11
xor esi,esi mov edi,dg1
plotlp: digitlp:
xor edx,edx mov ecx,10*65536+11
test byte[edi],8 xor esi,esi
je nobit plotlp:
mov edx,0x00ff0000 xor edx,edx
nobit: test byte[edi],8
mov eax,13 ; plot 8,4,2,1 je nobit
mcall mov edx,0x00ff0000
add ecx,13*65536 nobit:
shl byte[edi],1 mov eax,13 ; plot 8,4,2,1
inc esi mcall
cmp esi,4 add ecx,13*65536
jne plotlp shl byte[edi],1
shr byte[edi],4 inc esi
mov edx,0x00880040 cmp esi,4
mov eax,13 ; draw digit box jne plotlp
mcall shr byte[edi],4
pusha mov edx,0x00880040
mov edx,ebx mov eax,13 ; draw digit box
and edx,0xffff0000 mcall
shr ecx,16 pusha
or edx,ecx mov edx,ebx
add edx,3*65536+2 and edx,0xffff0000
mov ebx,0x00010100 shr ecx,16
mov ecx,[edi] or edx,ecx
mov esi,0x00ffffff add edx,3*65536+2
mov eax,47 ; display decimal mov ebx,0x00010100
mcall mov ecx,[edi]
popa mov esi,0x00ffffff
sub ebx,13*65536 mov eax,47 ; display decimal
inc edi mcall
cmp edi,dg1+6 popa
jne digitlp sub ebx,13*65536
ret inc edi
cmp edi,dg1+6
jne digitlp
drawwindow: ret
mov eax,12 drawwindow:
mov ebx,1 ; start redraw
mcall
mov eax,12
mov eax, 48 mov ebx,1 ; start redraw
mov ebx, 4 mcall
mcall
mov ecx, eax mov eax, 48
xor eax,eax ; window mov ebx, 4
mov ebx,100*65536+113 mcall
add ecx,100*65536+87 mov ecx, eax
mov edx,0x34400088 xor eax,eax ; window
mov edi,title mov ebx,100*65536+113
mcall add ecx,100*65536+87
mov edx,0x34400088
call drawclock mov edi,title
mcall
mov eax,12
mov ebx,2 ; end redraw call drawclock
mcall
mov eax,12
ret mov ebx,2 ; end redraw
mcall
title db 'BCD Clock',0
I_END: ret
dg1: db ?
title db 'BCD Clock',0
I_END:
dg1: db ?

View File

@@ -1,357 +1,360 @@
; App written by randall ported to Kolibri and MenuetOS64 by macgub (www.macgub.hekko.pl). ; SPDX-License-Identifier: NOASSERTION
; Now it use static memory, it is mixed 32bit code and SSE instructions. ;
include '../../../macros.inc' ; App written by randall ported to Kolibri and MenuetOS64 by macgub (www.macgub.hekko.pl).
include '../../../KOSfuncs.inc' ; Now it use static memory, it is mixed 32bit code and SSE instructions.
use32 include '../../macros.inc'
org 0x0 include '../../KOSfuncs.inc'
db 'MENUET01' ; 8 byte id use32
dd 0x01 ; header version org 0x0
dd START ; start of code
dd IMG_END ; size of image db 'MENUET01' ; 8 byte id
dd I_END ;0x100000 ; memory for app dd 0x01 ; header version
dd I_END ;0xbffff ; esp dd START ; start of code
dd 0x0 , 0x0 ; I_Param , I_Icon dd IMG_END ; size of image
dd I_END ;0x100000 ; memory for app
; start of execution dd I_END ;0xbffff ; esp
START: dd 0x0 , 0x0 ; I_Param , I_Icon
call draw_window ; start of execution
call draw_from_buffer START:
call Main
call draw_from_buffer call draw_window
call draw_from_buffer
mcall SF_SET_CAPTION,1,wintitle2 call Main
call draw_from_buffer
still:
mcall SF_SET_CAPTION,1,wintitle2
mcall SF_WAIT_EVENT
still:
cmp eax,EV_REDRAW
je .redraw mcall SF_WAIT_EVENT
cmp eax,EV_KEY
je .key cmp eax,EV_REDRAW
cmp eax,EV_BUTTON je .redraw
je .button cmp eax,EV_KEY
jmp still je .key
cmp eax,EV_BUTTON
.redraw: je .button
call draw_window jmp still
call draw_from_buffer
jmp still .redraw:
call draw_window
.key: call draw_from_buffer
mcall SF_GET_KEY jmp still
shr eax,16 ; get scancode in 'al'
cmp al,1 .key:
je .exit mcall SF_GET_KEY
cmp al,66 shr eax,16 ; get scancode in 'al'
je set_as_wallpaper cmp al,1
jmp still je .exit
cmp al,66
.button: je set_as_wallpaper
mcall SF_GET_BUTTON jmp still
cmp ah,1 ; button id=1 ?
jne still .button:
mcall SF_GET_BUTTON
.exit: cmp ah,1 ; button id=1 ?
mcall SF_TERMINATE_PROCESS jne still
.exit:
set_as_wallpaper: mcall SF_TERMINATE_PROCESS
mcall SF_BACKGROUND_SET,SSF_MODE_BG,2
mcall SF_BACKGROUND_SET,SSF_SIZE_BG,IMG_SIZE,IMG_SIZE
mcall SF_BACKGROUND_SET,SSF_IMAGE_BG,screen,0,3*IMG_SIZE*IMG_SIZE set_as_wallpaper:
mcall SF_BACKGROUND_SET,SSF_REDRAW_BG mcall SF_BACKGROUND_SET,SSF_MODE_BG,2
jmp still mcall SF_BACKGROUND_SET,SSF_SIZE_BG,IMG_SIZE,IMG_SIZE
mcall SF_BACKGROUND_SET,SSF_IMAGE_BG,screen,0,3*IMG_SIZE*IMG_SIZE
draw_from_buffer: mcall SF_BACKGROUND_SET,SSF_REDRAW_BG
pusha jmp still
mcall SF_PUT_IMAGE,screen,IMG_SIZE*65536+IMG_SIZE,0
popa draw_from_buffer:
ret pusha
mcall SF_PUT_IMAGE,screen,IMG_SIZE*65536+IMG_SIZE,0
;------------------------------------------------------------------------------- popa
; NAME: XORWOW ret
; DESC: Pseudo random number generator.
; OUT: eax [0;2^32-1] ;-------------------------------------------------------------------------------
;------------------------------------------------------------------------------- ; NAME: XORWOW
macro XORWOW { ; DESC: Pseudo random number generator.
mov edx,[g_xorwow_x] ; edx = x ; OUT: eax [0;2^32-1]
shr edx,2 ; edx = x >> 2 ;-------------------------------------------------------------------------------
xor edx,[g_xorwow_x] ; t = x ^ (x >> 2) macro XORWOW {
mov eax,[g_xorwow_y] ; eax = y mov edx,[g_xorwow_x] ; edx = x
mov [g_xorwow_x],eax ; x = y shr edx,2 ; edx = x >> 2
mov eax,[g_xorwow_z] ; eax = z xor edx,[g_xorwow_x] ; t = x ^ (x >> 2)
mov [g_xorwow_y],eax ; y = z mov eax,[g_xorwow_y] ; eax = y
mov eax,[g_xorwow_w] ; eax = w mov [g_xorwow_x],eax ; x = y
mov [g_xorwow_z],eax ; z = w mov eax,[g_xorwow_z] ; eax = z
mov eax,[g_xorwow_v] ; eax = v mov [g_xorwow_y],eax ; y = z
mov [g_xorwow_w],eax ; w = v mov eax,[g_xorwow_w] ; eax = w
mov edi,eax ; edi = v mov [g_xorwow_z],eax ; z = w
shl edi,4 ; edi = v << 4 mov eax,[g_xorwow_v] ; eax = v
xor edi,eax ; edi = (v ^ (v << 4)) mov [g_xorwow_w],eax ; w = v
mov eax,edx ; eax = t mov edi,eax ; edi = v
shl eax,1 ; eax = t << 1 shl edi,4 ; edi = v << 4
xor eax,edx ; eax = (t ^ (t << 1)) xor edi,eax ; edi = (v ^ (v << 4))
xor eax,edi ; eax = (v ^ (v << 4)) ^ (t ^ (t << 1)) mov eax,edx ; eax = t
mov [g_xorwow_v],eax ; v = eax shl eax,1 ; eax = t << 1
add [g_xorwow_d],362437 ; d += 362437 xor eax,edx ; eax = (t ^ (t << 1))
mov eax,[g_xorwow_d] ; eax = d xor eax,edi ; eax = (v ^ (v << 4)) ^ (t ^ (t << 1))
add eax,[g_xorwow_v] ; eax = d + v mov [g_xorwow_v],eax ; v = eax
} add [g_xorwow_d],362437 ; d += 362437
;------------------------------------------------------------------------------- mov eax,[g_xorwow_d] ; eax = d
; NAME: RANDOM add eax,[g_xorwow_v] ; eax = d + v
; DESC: Returns pseudo random number in the range [-0.5;0.5). }
; OUT: xmm0.x [-0.5;0.5) ;-------------------------------------------------------------------------------
;------------------------------------------------------------------------------- ; NAME: RANDOM
macro RANDOM { ; DESC: Returns pseudo random number in the range [-0.5;0.5).
XORWOW ; OUT: xmm0.x [-0.5;0.5)
cvtsi2ss xmm0,eax ;-------------------------------------------------------------------------------
mulss xmm0,[g_rand_scale] macro RANDOM {
} XORWOW
;------------------------------------------------------------------------------- cvtsi2ss xmm0,eax
mulss xmm0,[g_rand_scale]
;------------------------------------------------------------------------------- }
; NAME: GenerateSequence ;-------------------------------------------------------------------------------
; IN: xmm0.x re (c0.x)
; IN: xmm1.x im (c0.y) ;-------------------------------------------------------------------------------
; IN: edi array size ; NAME: GenerateSequence
; IN/OUT: esi pointer to the allocated array ; IN: xmm0.x re (c0.x)
; OUT: eax generated sequence size ; IN: xmm1.x im (c0.y)
;------------------------------------------------------------------------------- ; IN: edi array size
align 16 ; IN/OUT: esi pointer to the allocated array
GenerateSequence: ; OUT: eax generated sequence size
xor eax,eax ; eax is index loop ;-------------------------------------------------------------------------------
xorps xmm4,xmm4 ; xmm4 is c.x align 16
xorps xmm5,xmm5 ; xmm5 is c.y GenerateSequence:
.Loop: xor eax,eax ; eax is index loop
; cn.x = c.x * c.x - c.y * c.y + c0.x xorps xmm4,xmm4 ; xmm4 is c.x
movaps xmm2,xmm4 xorps xmm5,xmm5 ; xmm5 is c.y
movaps xmm3,xmm5 .Loop:
mulss xmm2,xmm4 ; cn.x = c.x * c.x - c.y * c.y + c0.x
mulss xmm3,xmm5 movaps xmm2,xmm4
subss xmm2,xmm3 movaps xmm3,xmm5
addss xmm2,xmm0 mulss xmm2,xmm4
movaps xmm6,xmm2 ; xmm6 is cn.x mulss xmm3,xmm5
; cn.y = 2.0 * c.x * c.y + c0.y subss xmm2,xmm3
movaps xmm7,xmm4 addss xmm2,xmm0
mulss xmm7,xmm5 movaps xmm6,xmm2 ; xmm6 is cn.x
addss xmm7,xmm7 ; cn.y = 2.0 * c.x * c.y + c0.y
addss xmm7,xmm1 ; xmm7 is cn.y movaps xmm7,xmm4
; store cn mulss xmm7,xmm5
movd dword [esi+eax*8],xmm6 addss xmm7,xmm7
movd dword [esi+eax*8+4],xmm7 addss xmm7,xmm1 ; xmm7 is cn.y
; if (cn.x * cn.x + cn.y * cn.y > 10.0) return eax; ; store cn
movaps xmm2,xmm6 movd dword [esi+eax*8],xmm6
movaps xmm3,xmm7 movd dword [esi+eax*8+4],xmm7
mulss xmm2,xmm6 ; if (cn.x * cn.x + cn.y * cn.y > 10.0) return eax;
mulss xmm3,xmm7 movaps xmm2,xmm6
addss xmm2,xmm3 movaps xmm3,xmm7
ucomiss xmm2,[g_max_dist] mulss xmm2,xmm6
ja .EndLoop mulss xmm3,xmm7
movaps xmm4,xmm6 ; c.x = cn.x addss xmm2,xmm3
movaps xmm5,xmm7 ; c.y = cn.y ucomiss xmm2,[g_max_dist]
; continue loop ja .EndLoop
inc eax movaps xmm4,xmm6 ; c.x = cn.x
cmp eax,edi movaps xmm5,xmm7 ; c.y = cn.y
jb .Loop ; continue loop
; return 0 inc eax
xor eax,eax cmp eax,edi
.EndLoop: jb .Loop
ret ; return 0
;------------------------------------------------------------------------------- xor eax,eax
; NAME: main .EndLoop:
; DESC: Program main function. ret
;------------------------------------------------------------------------------- ;-------------------------------------------------------------------------------
align 16 ; NAME: main
Main: ; DESC: Program main function.
img_ptr equ ebp-8 ;-------------------------------------------------------------------------------
seq_ptr equ ebp-16 align 16
pixel equ ebp-24 Main:
r13dd equ ebp-64 img_ptr equ ebp-8
r12dd equ ebp-68 seq_ptr equ ebp-16
r15dd equ ebp-72 pixel equ ebp-24
r13dd equ ebp-64
push ebp r12dd equ ebp-68
mov ebp,esp r15dd equ ebp-72
sub esp,128
; mem for the sequence push ebp
lea eax,[sequence] mov ebp,esp
mov [seq_ptr],eax sub esp,128
; mem for the image ; mem for the sequence
lea eax,[screen] lea eax,[sequence]
mov [img_ptr],eax mov [seq_ptr],eax
; begin loops ; mem for the image
mov dword[r13dd],0 ; .LoopIterations counter lea eax,[screen]
.LoopIterations: mov [img_ptr],eax
mov dword[r12dd],0 ; .LoopOneMillion counter ; begin loops
.LoopOneMillion: mov dword[r13dd],0 ; .LoopIterations counter
RANDOM .LoopIterations:
mulss xmm0,[g_range] mov dword[r12dd],0 ; .LoopOneMillion counter
movaps xmm1,xmm0 .LoopOneMillion:
RANDOM RANDOM
mulss xmm0,[g_range] mulss xmm0,[g_range]
mov edi,SEQ_SIZE movaps xmm1,xmm0
mov esi,[seq_ptr] RANDOM
call GenerateSequence ; eax = n sequence size mulss xmm0,[g_range]
test eax,eax mov edi,SEQ_SIZE
jz .LoopSequenceEnd mov esi,[seq_ptr]
xor ecx,ecx ; ecx = i = 0 loop counter call GenerateSequence ; eax = n sequence size
; mov r9dd,[seq_ptr] ; r9 = sequence base address test eax,eax
; mov r8dd,[img_ptr] ; r8 = image base address jz .LoopSequenceEnd
movss xmm2,[g_img_size] xor ecx,ecx ; ecx = i = 0 loop counter
movaps xmm3,xmm2 ; mov r9dd,[seq_ptr] ; r9 = sequence base address
mulss xmm3,[g_0_5] ; xmm3 = (g_img_size)/2 ; mov r8dd,[img_ptr] ; r8 = image base address
movss xmm4,[g_zoom] movss xmm2,[g_img_size]
mulss xmm4,xmm2 ; xmm4 = g_zoom * g_img_size movaps xmm3,xmm2
movss xmm5,[g_offsetx] ; xmm5 = g_offsetx mulss xmm3,[g_0_5] ; xmm3 = (g_img_size)/2
movss xmm6,[g_offsety] ; xmm6 = g_offsety movss xmm4,[g_zoom]
.LoopSequence: mulss xmm4,xmm2 ; xmm4 = g_zoom * g_img_size
cmp ecx,eax ; i < n movss xmm5,[g_offsetx] ; xmm5 = g_offsetx
je .LoopSequenceEnd movss xmm6,[g_offsety] ; xmm6 = g_offsety
movd xmm0,[sequence+ecx*8] ; load re .LoopSequence:
movd xmm1,[sequence+ecx*8+4] ; load im cmp ecx,eax ; i < n
addss xmm0,xmm5 ; xmm0 = re+g_offsetx je .LoopSequenceEnd
addss xmm1,xmm6 ; xmm1 = im+g_offsety movd xmm0,[sequence+ecx*8] ; load re
mulss xmm0,xmm4 ; xmm0 = (re+g_offsetx)*g_img_size*g_zoom movd xmm1,[sequence+ecx*8+4] ; load im
mulss xmm1,xmm4 ; xmm1 = (im+g_offsety)*g_img_size*g_zoom addss xmm0,xmm5 ; xmm0 = re+g_offsetx
addss xmm0,xmm3 ; xmm0 = (re+g_offsetx)*g_img_size*g_zoom+g_img_size/2 addss xmm1,xmm6 ; xmm1 = im+g_offsety
addss xmm1,xmm3 ; xmm1 = (im+g_offsety)*g_img_size*g_zoom+g_img_size/2 mulss xmm0,xmm4 ; xmm0 = (re+g_offsetx)*g_img_size*g_zoom
cvtss2si edi,xmm0 ; edi = x = int(xmm0.x) mulss xmm1,xmm4 ; xmm1 = (im+g_offsety)*g_img_size*g_zoom
cvtss2si esi,xmm1 ; esi = y = int(xmm1.x) addss xmm0,xmm3 ; xmm0 = (re+g_offsetx)*g_img_size*g_zoom+g_img_size/2
cmp edi,0 addss xmm1,xmm3 ; xmm1 = (im+g_offsety)*g_img_size*g_zoom+g_img_size/2
jl @f cvtss2si edi,xmm0 ; edi = x = int(xmm0.x)
cmp edi,IMG_SIZE cvtss2si esi,xmm1 ; esi = y = int(xmm1.x)
jge @f cmp edi,0
cmp esi,0 jl @f
jl @f cmp edi,IMG_SIZE
cmp esi,IMG_SIZE jge @f
jge @f cmp esi,0
imul esi,esi,IMG_SIZE jl @f
add esi,edi cmp esi,IMG_SIZE
add dword [screen+esi*4],1 jge @f
@@: imul esi,esi,IMG_SIZE
inc ecx add esi,edi
jmp .LoopSequence add dword [screen+esi*4],1
.LoopSequenceEnd: @@:
; continue .LoopOneMillion inc ecx
add dword[r12dd],1 jmp .LoopSequence
cmp dword[r12dd],1000000 .LoopSequenceEnd:
jb .LoopOneMillion ; continue .LoopOneMillion
; continue .LoopIterations add dword[r12dd],1
add dword[r13dd],1 cmp dword[r12dd],1000000
cmp dword[r13dd],ITERATIONS jb .LoopOneMillion
jb .LoopIterations ; continue .LoopIterations
; find max value add dword[r13dd],1
mov dword[r12dd],0 cmp dword[r13dd],ITERATIONS
xor eax,eax ; eax = i = loop counter jb .LoopIterations
.LoopMax: ; find max value
push ecx mov dword[r12dd],0
mov ecx,[r12dd] xor eax,eax ; eax = i = loop counter
cmp dword [screen+eax*4],ecx .LoopMax:
cmova ecx,dword [screen+eax*4] push ecx
mov [r12dd],ecx mov ecx,[r12dd]
pop ecx cmp dword [screen+eax*4],ecx
inc eax cmova ecx,dword [screen+eax*4]
cmp eax,IMG_SIZE*IMG_SIZE mov [r12dd],ecx
jb .LoopMax pop ecx
; find min value inc eax
; mov r13d,r12d ; r13d = min_val = max_val cmp eax,IMG_SIZE*IMG_SIZE
push dword[r12dd] jb .LoopMax
pop dword[r13dd] ; find min value
xor eax,eax ; eax = i = loop counter ; mov r13d,r12d ; r13d = min_val = max_val
.LoopMin: push dword[r12dd]
push ecx pop dword[r13dd]
mov ecx,[r13dd] xor eax,eax ; eax = i = loop counter
cmp dword [screen+eax*4],ecx .LoopMin:
push ecx
cmovb ecx,dword [screen+eax*4] mov ecx,[r13dd]
mov [r13dd],ecx cmp dword [screen+eax*4],ecx
pop ecx
inc eax cmovb ecx,dword [screen+eax*4]
cmp eax,IMG_SIZE*IMG_SIZE mov [r13dd],ecx
jb .LoopMin pop ecx
; write image pixels inc eax
mov byte [pixel+3],255 cmp eax,IMG_SIZE*IMG_SIZE
; mov r14,[img_ptr] ; r14 = image base address jb .LoopMin
; xor r15d,r15d ; r15d = i = loop counter ; write image pixels
mov dword[r15dd],0 mov byte [pixel+3],255
cvtsi2ss xmm0,[r12dd] ; load max_value ; mov r14,[img_ptr] ; r14 = image base address
cvtsi2ss xmm1,[r13dd] ; load min_value ; xor r15d,r15d ; r15d = i = loop counter
movaps xmm2,xmm0 mov dword[r15dd],0
subss xmm2,xmm1 ; xmm2 = r = max_value - min_value cvtsi2ss xmm0,[r12dd] ; load max_value
xor ecx,ecx cvtsi2ss xmm1,[r13dd] ; load min_value
.LoopWrite: movaps xmm2,xmm0
mov eax,[screen+ecx*4] ; eax = image_value subss xmm2,xmm1 ; xmm2 = r = max_value - min_value
sub eax,[r13dd] ; eax = image_value - min_value xor ecx,ecx
cvtsi2ss xmm0,eax ; xmm0 = float(image_value - min_value) .LoopWrite:
addss xmm0,xmm0 ; xmm0 = 2.0f * float(image_value - min_value) mov eax,[screen+ecx*4] ; eax = image_value
divss xmm0,xmm2 ; xmm0 = 2.0f * float(image_value - min_value) / r sub eax,[r13dd] ; eax = image_value - min_value
minss xmm0,[g_1_0] ; clamp to 1.0 cvtsi2ss xmm0,eax ; xmm0 = float(image_value - min_value)
maxss xmm0,[g_0_0] ; clamp to 0.0 addss xmm0,xmm0 ; xmm0 = 2.0f * float(image_value - min_value)
mulss xmm0,[g_255_0] ; convert to 0 - 255 divss xmm0,xmm2 ; xmm0 = 2.0f * float(image_value - min_value) / r
cvtss2si eax,xmm0 minss xmm0,[g_1_0] ; clamp to 1.0
; write pixel data maxss xmm0,[g_0_0] ; clamp to 0.0
mov [screen+ecx*3],eax mulss xmm0,[g_255_0] ; convert to 0 - 255
inc ecx cvtss2si eax,xmm0
cmp ecx,IMG_SIZE*IMG_SIZE ; write pixel data
jb .LoopWrite mov [screen+ecx*3],eax
mov esp,ebp inc ecx
pop ebp cmp ecx,IMG_SIZE*IMG_SIZE
ret jb .LoopWrite
; restore img_ptr,seq_ptr,pixel mov esp,ebp
;------------------------------------------------------------------------------- pop ebp
; ********************************************* ret
; ******* WINDOW DEFINITIONS AND DRAW ******** ; restore img_ptr,seq_ptr,pixel
; ********************************************* ;-------------------------------------------------------------------------------
draw_window: ; *********************************************
; ******* WINDOW DEFINITIONS AND DRAW ********
mcall SF_REDRAW, SSF_BEGIN_DRAW ; *********************************************
draw_window:
mcall SF_STYLE_SETTINGS, SSF_GET_SKIN_HEIGHT
lea ecx, [50*65536+IMG_SIZE+4+eax] ; [y start] *65536 + [y size] + [skin_height] mcall SF_REDRAW, SSF_BEGIN_DRAW
mcall SF_CREATE_WINDOW,<50,IMG_SIZE+9>,,0x74000000,,wintitle1
mcall SF_STYLE_SETTINGS, SSF_GET_SKIN_HEIGHT
mcall SF_REDRAW, SSF_END_DRAW lea ecx, [50*65536+IMG_SIZE+4+eax] ; [y start] *65536 + [y size] + [skin_height]
ret mcall SF_CREATE_WINDOW,<50,IMG_SIZE+9>,,0x74000000,,wintitle1
mcall SF_REDRAW, SSF_END_DRAW
;------------------------------------------------------------------------------- ret
align 1
wintitle1 db 'Buddhabrot - Calculating, please wait...',0
wintitle2 db 'Buddhabrot - Press F8 to set image as wallpaper',0 ;-------------------------------------------------------------------------------
align 1
align 4 wintitle1 db 'Buddhabrot - Calculating, please wait...',0
g_xorwow_x dd 123456789 wintitle2 db 'Buddhabrot - Press F8 to set image as wallpaper',0
g_xorwow_y dd 362436069
g_xorwow_z dd 521288629 align 4
g_xorwow_w dd 88675123 g_xorwow_x dd 123456789
g_xorwow_v dd 5783321 g_xorwow_y dd 362436069
g_xorwow_d dd 6615241 g_xorwow_z dd 521288629
g_rand_scale dd 2.3283064e-10 ; 1.0 / 2^32 g_xorwow_w dd 88675123
g_xorwow_v dd 5783321
IMG_SIZE = 600 g_xorwow_d dd 6615241
SEQ_SIZE = 50 g_rand_scale dd 2.3283064e-10 ; 1.0 / 2^32
ITERATIONS = 100
IMG_SIZE = 600
g_img_size dd 600.0 SEQ_SIZE = 50
g_offsetx dd 0.5 ITERATIONS = 100
g_offsety dd 0.0
g_zoom dd 0.4 g_img_size dd 600.0
g_offsetx dd 0.5
g_max_dist dd 10.0 g_offsety dd 0.0
g_range dd 4.2 g_zoom dd 0.4
g_0_5 dd 0.5
g_0_0 dd 0.0 g_max_dist dd 10.0
g_1_0 dd 1.0 g_range dd 4.2
g_255_0 dd 255.0 g_0_5 dd 0.5
g_0_0 dd 0.0
IMG_END: g_1_0 dd 1.0
;-------------------- g_255_0 dd 255.0
sequence: rb SEQ_SIZE*8
screen: rb IMG_SIZE*IMG_SIZE*4 IMG_END:
memStack: rd 1024 ;--------------------
I_END: sequence: rb SEQ_SIZE*8
screen: rb IMG_SIZE*IMG_SIZE*4
memStack: rd 1024
I_END:

View File

@@ -1,5 +1,5 @@
if tup.getconfig("NO_FASM") ~= "" then return end if tup.getconfig("NO_FASM") ~= "" then return end
HELPERDIR = (tup.getconfig("HELPERDIR") == "") and "../../.." or tup.getconfig("HELPERDIR") HELPERDIR = (tup.getconfig("HELPERDIR") == "") and "../.." or tup.getconfig("HELPERDIR")
tup.include(HELPERDIR .. "/use_fasm.lua") tup.include(HELPERDIR .. "/use_fasm.lua")
add_include(tup.getvariantdir()) add_include(tup.getvariantdir())

View File

@@ -1,3 +1,6 @@
; SPDX-License-Identifier: NOASSERTION
;
; COLORREF.ASM - COLOR REFERENCE ; COLORREF.ASM - COLOR REFERENCE
; ;
; Compile with FASM for Menuet ; Compile with FASM for Menuet
@@ -15,7 +18,7 @@ use32
dd 0x0,0x0 ; I_Param , I_Icon dd 0x0,0x0 ; I_Param , I_Icon
include 'lang.inc' include 'lang.inc'
include '..\..\..\macros.inc' include '..\..\macros.inc'
wide: dd 0 ; screen pixels width wide: dd 0 ; screen pixels width
mouse: dd 0 ; 1=right,2=left [mouse click] mouse: dd 0 ; 1=right,2=left [mouse click]
@@ -148,7 +151,7 @@ draw_window:
mov edx,0x14000000 ; work area color (type II) mov edx,0x14000000 ; work area color (type II)
mov edi,title ; frame color mov edi,title ; frame color
mcall mcall
call palette ; display color palette call palette ; display color palette
mcall 12, 2 mcall 12, 2
@@ -267,7 +270,7 @@ help:
add ecx, 236 add ecx, 236
sub ecx, eax sub ecx, eax
mov ebx,5*65536+190 ; x and width mov ebx,5*65536+190 ; x and width
mov edx,0x465e8f ; dark denim color mov edx,0x465e8f ; dark denim color
mov eax,13 ; write text funx mov eax,13 ; write text funx
@@ -294,7 +297,7 @@ h1: push ecx
jne h2 ; nope jne h2 ; nope
mov eax,2 ; yep, burn it mov eax,2 ; yep, burn it
mcall mcall
h2: h2:
call draw_window call draw_window
ret ret

View File

@@ -1,5 +1,5 @@
if tup.getconfig("NO_FASM") ~= "" then return end if tup.getconfig("NO_FASM") ~= "" then return end
HELPERDIR = (tup.getconfig("HELPERDIR") == "") and "../../.." or tup.getconfig("HELPERDIR") HELPERDIR = (tup.getconfig("HELPERDIR") == "") and "../.." or tup.getconfig("HELPERDIR")
tup.include(HELPERDIR .. "/use_fasm.lua") tup.include(HELPERDIR .. "/use_fasm.lua")
add_include(tup.getvariantdir()) add_include(tup.getvariantdir())

View File

@@ -1,3 +1,6 @@
; SPDX-License-Identifier: NOASSERTION
;
; ;
; Crown_s Soft Screensaver v1.13m ; Crown_s Soft Screensaver v1.13m
; WWW: http://www.crown-s-soft.com ; WWW: http://www.crown-s-soft.com
@@ -34,8 +37,8 @@ copyrightlen:
include "lang.inc" include "lang.inc"
include "figuresi.inc" include "figuresi.inc"
include "..\..\..\macros.inc" include "..\..\macros.inc"
include "..\..\..\KOSfuncs.inc" include "..\..\KOSfuncs.inc"
start: start:
cmp dword[params], '@ss' cmp dword[params], '@ss'
setz [screensaver] setz [screensaver]
@@ -96,7 +99,7 @@ red:
still: still:
mcall SF_WAIT_EVENT_TIMEOUT, delay ; wait here for event mcall SF_WAIT_EVENT_TIMEOUT, delay ; wait here for event
cmp eax,1 ; redraw request ? cmp eax,1 ; redraw request ?
je red je red
cmp eax,2 ; key in buffer ? cmp eax,2 ; key in buffer ?
@@ -117,7 +120,7 @@ jmp still
key: key:
cmp [screensaver], 0 cmp [screensaver], 0
jnz close jnz close
mcall SF_GET_KEY mcall SF_GET_KEY
cmp al,1 ; is key in buffer ? cmp al,1 ; is key in buffer ?

View File

@@ -1,5 +1,5 @@
if tup.getconfig("NO_FASM") ~= "" then return end if tup.getconfig("NO_FASM") ~= "" then return end
HELPERDIR = (tup.getconfig("HELPERDIR") == "") and "../../.." or tup.getconfig("HELPERDIR") HELPERDIR = (tup.getconfig("HELPERDIR") == "") and "../.." or tup.getconfig("HELPERDIR")
tup.include(HELPERDIR .. "/use_fasm.lua") tup.include(HELPERDIR .. "/use_fasm.lua")
add_include(tup.getvariantdir()) add_include(tup.getvariantdir())

View File

@@ -1,3 +1,6 @@
; SPDX-License-Identifier: NOASSERTION
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; ; ; ;
; Color Slider Control Demonstration ; ; Color Slider Control Demonstration ;
@@ -20,8 +23,8 @@ use32
dd 0x0 , 0x0 ; I_Param , I_Icon dd 0x0 , 0x0 ; I_Param , I_Icon
include 'lang.inc' include 'lang.inc'
include '..\..\..\macros.inc' include '..\..\macros.inc'
include '..\..\..\KOSfuncs.inc' include '..\..\KOSfuncs.inc'
START: ; start of execution START: ; start of execution
call draw_window ; at first, draw the window call draw_window ; at first, draw the window
@@ -50,7 +53,7 @@ still:
button: ; button button: ; button
mcall SF_GET_BUTTON ; get id mcall SF_GET_BUTTON ; get id
shr eax,8 shr eax,8
cmp eax,1 ; button id=1 ? cmp eax,1 ; button id=1 ?
@@ -72,7 +75,7 @@ draw_window:
mcall SF_REDRAW, SSF_BEGIN_DRAW mcall SF_REDRAW, SSF_BEGIN_DRAW
mcall SF_CREATE_WINDOW, <100,200>, <100,200>, 0x14ffffff, , title mcall SF_CREATE_WINDOW, <100,200>, <100,200>, 0x14ffffff, , title
mcall SF_REDRAW, SSF_END_DRAW mcall SF_REDRAW, SSF_END_DRAW
call draw_slider_info call draw_slider_info
xor ecx,ecx xor ecx,ecx
@@ -151,7 +154,7 @@ ret
draw_slider_info: draw_slider_info:
;Repaint value background ;Repaint value background
mcall SF_DRAW_RECT, 144*65536+36, 72*65536+9, 0x00ffffff mcall SF_DRAW_RECT, 144*65536+36, 72*65536+9, 0x00ffffff
;Draw Color Box ;Draw Color Box
xor edx, edx xor edx, edx
movzx ecx,word [slider_1+12] movzx ecx,word [slider_1+12]
@@ -164,7 +167,7 @@ draw_slider_info:
mov ebx, 0x00860035 mov ebx, 0x00860035
mov ecx, 0x00590040 mov ecx, 0x00590040
mov eax, SF_DRAW_RECT mov eax, SF_DRAW_RECT
mcall mcall
;draw current value of slider ;draw current value of slider
mov ecx, edx mov ecx, edx
mov eax, SF_DRAW_NUMBER mov eax, SF_DRAW_NUMBER
@@ -340,4 +343,4 @@ ret
; DATA AREA ; DATA AREA
title db 'Color Slider',0 title db 'Color Slider',0
I_END: I_END:

View File

Before

Width:  |  Height:  |  Size: 39 KiB

After

Width:  |  Height:  |  Size: 39 KiB

View File

@@ -1,5 +1,5 @@
if tup.getconfig("NO_FASM") ~= "" then return end if tup.getconfig("NO_FASM") ~= "" then return end
HELPERDIR = (tup.getconfig("HELPERDIR") == "") and "../../.." or tup.getconfig("HELPERDIR") HELPERDIR = (tup.getconfig("HELPERDIR") == "") and "../.." or tup.getconfig("HELPERDIR")
tup.include(HELPERDIR .. "/use_fasm.lua") tup.include(HELPERDIR .. "/use_fasm.lua")
add_include(tup.getvariantdir()) add_include(tup.getvariantdir())

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