Difference between revisions of "Ideas Page"
m |
|||
(37 intermediate revisions by 6 users not shown) | |||
Line 15: | Line 15: | ||
|Administrator, Mentor | |Administrator, Mentor | ||
|- | |- | ||
− | | | + | |Dmitriy Smirnov |
− | | | + | |Pathoswithin |
− | |Administrator | + | |Mentor, (Administrator) |
|- | |- | ||
− | | | + | |Serhii Sakhno |
− | | | + | |[[User:Punk_Joker|Punk_Joker]] |
|Mentor | |Mentor | ||
|- | |- | ||
− | | | + | |Kiril Lipatov |
− | | | + | |[[User:Leency|Leency]] |
− | |Mentor | + | |C-- Mentor |
+ | |- | ||
+ | |Konstantin Pakhtusov | ||
+ | |[[User:KPG|KPG]] | ||
+ | |Mentor (Forth) | ||
|} | |} | ||
Line 45: | Line 49: | ||
! Programming Language | ! Programming Language | ||
! Mentors | ! Mentors | ||
+ | |- | ||
+ | | [[#OpenBios_in_Loader|OpenBios in Loader]] | ||
+ | | Kernel/Application | ||
+ | | Forth, FASM (Assembler), C | ||
+ | | KPG | ||
|- | |- | ||
| [[#File_system|File system]] | | [[#File_system|File system]] | ||
| Kernel/Application | | Kernel/Application | ||
| FASM (Assembler) | | FASM (Assembler) | ||
− | | | + | | Pathoswithin |
|- | |- | ||
| [[#Widget_toolkit|Widget toolkit]] | | [[#Widget_toolkit|Widget toolkit]] | ||
Line 56: | Line 65: | ||
| dunkaist | | dunkaist | ||
|- | |- | ||
− | | [[# | + | | [[#Port_Mbed_TLS|Port Mbed TLS]] |
| Library | | Library | ||
| C/FASM | | C/FASM | ||
− | | | + | | Punk_Joker |
|- | |- | ||
− | | [[# | + | | [[#Port_FLTK|Port FLTK]] |
− | | | + | | Library |
− | | | + | | C++ |
− | | | + | | Punk_Joker |
|- | |- | ||
| [[#Fasmg_port|Fasmg port]] | | [[#Fasmg_port|Fasmg port]] | ||
Line 72: | Line 81: | ||
|- | |- | ||
| [[#Unicode_library|Unicode library]] | | [[#Unicode_library|Unicode library]] | ||
− | |||
− | |||
− | |||
− | |||
− | |||
| Library/Application | | Library/Application | ||
| FASM (Assembler) | | FASM (Assembler) | ||
Line 89: | Line 93: | ||
| Kernel | | Kernel | ||
| FASM (Assembler) | | FASM (Assembler) | ||
− | |||
− | |||
− | |||
− | |||
− | |||
| dunkaist | | dunkaist | ||
|- | |- | ||
Line 101: | Line 100: | ||
| dunkaist | | dunkaist | ||
|} | |} | ||
+ | |||
+ | === OpenBios in Loader === | ||
+ | OpenBIOS is a free, portable implementation of [https://archive.org/details/ieee_std_1275_1994_standard_for_boot_initialization_configur IEEE 1275-1994 (Open Firmware)]. [http://www.openbios.org/ Find detailed information about OpenBIOS] | ||
+ | OpenBIOS can replace your system firmware (BIOS) partly or completely. It can also be used as a bootloader to create an Open Firmware compatible | ||
+ | interface between legacy firmware and an operating system. | ||
+ | This is achieved by a modular concept that consists of a portable Forth kernel and three interfaces for user interaction, device initialization | ||
+ | and client (operating system) control in command line like shell in Linux. | ||
+ | OpenBios implentation Fcode [https://www.openbios.org/Forth/FCode] - Bytecode is small, hardware independent and efficient. And an evaluator (bytecode virtual machine) is almost trivial to implement or/and with possible an uses JIT technology. | ||
+ | * Primary goal: Add OpenBios ("Forth") support to the system bootloader. | ||
+ | * Additional goal: Create simple interactive more device drivers | ||
+ | * Language: Forth, FASM (Assembler), C | ||
+ | * Links: [https://github.com/openbios Openbios Firmware in Github] | ||
=== File system === | === File system === | ||
Line 114: | Line 125: | ||
* Links: [http://en.wikipedia.org/wiki/Widget_toolkit basic idea], [http://en.wikipedia.org/wiki/List_of_widget_toolkits list of toolkits] | * Links: [http://en.wikipedia.org/wiki/Widget_toolkit basic idea], [http://en.wikipedia.org/wiki/List_of_widget_toolkits list of toolkits] | ||
− | === Port | + | === Port Mbed TLS === |
− | * Primary goal: Make a working port of PolarSSL | + | * Primary goal: Make a working port of Mbed TLS (previously PolarSSL) as native KolibriOS MS COFF library and add it to the automatic build-system. |
* Additional goal: Update HTTP library (written in FASM) to support HTTPS. | * Additional goal: Update HTTP library (written in FASM) to support HTTPS. | ||
* Language: C/FASM | * Language: C/FASM | ||
− | * Links: [http://board.kolibrios.org/viewtopic.php?f=40&t=2460 Forum thread about polarSSL], [http://websvn.kolibrios.org/listing.php?repname=Kolibri+OS&path=%2Fprograms%2Fdevelop%2Flibraries%2Fhttp%2F&#a12c8a35f2062865521028a57a419b4e8 HTTP library on WebSVN] | + | * Links: [http://board.kolibrios.org/viewtopic.php?f=40&t=2460 Forum thread about polarSSL], [http://websvn.kolibrios.org/listing.php?repname=Kolibri+OS&path=%2Fprograms%2Fdevelop%2Flibraries%2Fhttp%2F&#a12c8a35f2062865521028a57a419b4e8 HTTP library on WebSVN], [https://github.com/rgimad/kos_mbedtls Port of mbedTLS to Kolibri (as a static library) + working example] |
+ | |||
+ | === Port FLTK === | ||
+ | * Primary goal: Make a working port of FLTK (widget library) and add it to the automatic build-system. | ||
+ | * Additional goal: port Scintilla (minimum working version) | ||
+ | * Language: C++ | ||
+ | * Links: [https://www.fltk.org/ Official site] | ||
− | + | Language: C--, Assembler/FASM | |
− | |||
− | |||
− | |||
− | |||
=== Fasmg port === | === Fasmg port === | ||
Line 139: | Line 152: | ||
* Language: Assembler/FASM | * Language: Assembler/FASM | ||
* Links: [http://git.suckless.org/libutf/ libutf] | * Links: [http://git.suckless.org/libutf/ libutf] | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
=== Virt-IO driver === | === Virt-IO driver === | ||
Line 159: | Line 165: | ||
* Language: Assembler/FASM | * Language: Assembler/FASM | ||
* Links: [https://en.wikipedia.org/wiki/Loop_device loop device overview] | * Links: [https://en.wikipedia.org/wiki/Loop_device loop device overview] | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
=== RSS/Atom news reader === | === RSS/Atom news reader === | ||
Line 176: | Line 175: | ||
[[Category:Misc]] | [[Category:Misc]] | ||
− | Most importantly...Have Fun! | + | Most importantly... Have Fun! |
Revision as of 15:47, 7 September 2021
Introduction
This is our ideas page for new developers.
Organization
You can find the organizers at our forum: http://board.kolibrios.org/
Name | Nickname | Role |
Ivan Baravy | dunkaist | Administrator, Mentor |
Dmitriy Smirnov | Pathoswithin | Mentor, (Administrator) |
Serhii Sakhno | Punk_Joker | Mentor |
Kiril Lipatov | Leency | C-- Mentor |
Konstantin Pakhtusov | KPG | Mentor (Forth) |
Ideas
Idea Name | Area | Programming Language | Mentors |
---|---|---|---|
OpenBios in Loader | Kernel/Application | Forth, FASM (Assembler), C | KPG |
File system | Kernel/Application | FASM (Assembler) | Pathoswithin |
Widget toolkit | System wide | FASM (Assembler), C | dunkaist |
Port Mbed TLS | Library | C/FASM | Punk_Joker |
Port FLTK | Library | C++ | Punk_Joker |
Fasmg port | Application | FASM/FASMG (Assembler) | dunkaist |
Unicode library | Library/Application | FASM (Assembler) | dunkaist |
Virt-IO driver | Kernel | FASM (Assembler) | dunkaist |
Loop device driver | Kernel | FASM (Assembler) | dunkaist |
RSS/Atom news reader | Application | FASM (Assembler) | dunkaist |
OpenBios in Loader
OpenBIOS is a free, portable implementation of IEEE 1275-1994 (Open Firmware). Find detailed information about OpenBIOS OpenBIOS can replace your system firmware (BIOS) partly or completely. It can also be used as a bootloader to create an Open Firmware compatible interface between legacy firmware and an operating system. This is achieved by a modular concept that consists of a portable Forth kernel and three interfaces for user interaction, device initialization and client (operating system) control in command line like shell in Linux. OpenBios implentation Fcode [1] - Bytecode is small, hardware independent and efficient. And an evaluator (bytecode virtual machine) is almost trivial to implement or/and with possible an uses JIT technology.
- Primary goal: Add OpenBios ("Forth") support to the system bootloader.
- Additional goal: Create simple interactive more device drivers
- Language: Forth, FASM (Assembler), C
- Links: Openbios Firmware in Github
File system
- Primary goal: Add write support for ext4 file system (ext4 reading and ext2 writing are already supported).
- Additional goal: Improve write support for NTFS file system.
- Language: FASM (Assembler)
- Links: Ext4 Disk Layout
Widget toolkit
- Primary goal: Extend Box_lib (a set of separate widgets) to create a full-featured widget toolkit, design architecture and implement focus handling, callbacks and other core ideas.
- Additional goal: Integrate created box_lib widgets to the C-framework, extend framework with font handling, layout manager
- Language: FASM (Assembler), C (framework)
- Links: basic idea, list of toolkits
Port Mbed TLS
- Primary goal: Make a working port of Mbed TLS (previously PolarSSL) as native KolibriOS MS COFF library and add it to the automatic build-system.
- Additional goal: Update HTTP library (written in FASM) to support HTTPS.
- Language: C/FASM
- Links: Forum thread about polarSSL, HTTP library on WebSVN, Port of mbedTLS to Kolibri (as a static library) + working example
Port FLTK
- Primary goal: Make a working port of FLTK (widget library) and add it to the automatic build-system.
- Additional goal: port Scintilla (minimum working version)
- Language: C++
- Links: Official site
Language: C--, Assembler/FASM
Fasmg port
Tomasz Grysztar (creator of FASM) introduced FASMG, a new assembler engine. It would be nice to support its new syntax in KolibriOS.
- Primary goal: Write FASMG application like FASM one. Port standard KolibriOS macros to FASMG syntax.
- Additional goal: Implement macros for compatibility with FASM.
- Language: Assembler/FASM/FASMG
- Links: FASMG overview, FASMG manual
Unicode library
Unicode is a huge and sophisticated standard. Nevertheless modern OS should provide libraries with Unicode related routines like NFC, NFD, sorting, comparing, etc.
- Primary goal: Write a tiny Unicode library with core Unicode algorithms and example application.
- Additional goal: Upgrade existing applications to use the new library.
- Language: Assembler/FASM
- Links: libutf
Virt-IO driver
Virtio is a virtualization standard for network and disk device drivers where just the guest's device driver "knows" it is running in a virtual environment, and cooperates with the hypervisor. This enables guests to get high performance network and disk operations, and gives most of the performance benefits of paravirtualization.
- Primary goal: Write kernel driver for, say, virt-io Ethernet card.
- Additional goal: Write more drivers.
- Language: Assembler/FASM
- Links: Virt-IO wiki
Loop device driver
- Primary goal: Write loop device driver and example application to manage loop devices.
- Additional goal: Prepare a set of disk images to be used in filesystem unit tests.
- Language: Assembler/FASM
- Links: loop device overview
RSS/Atom news reader
RSS and Atom are standards for web feeds. They are XML based and easily processed via AsmXml library. Corresponding user application would be a big plus to usability of KolibriOS.
- Primary goal: Write RSS news reader as a standalone KolibriOS application.
- Additional goal: Add Atom support to the app.
- Language: Assembler/FASM
- Links: AsmXml library, RSS, Atom
Most importantly... Have Fun!