Kolibri OS port?

Started by zutokaza, October 04, 2015, 11:30:31 PM

Previous topic - Next topic

Kolibri OS is the most popular Assembly Fasm Operating system.

It would be another great operating system to port Solarus to.

Not many people know about this great OS and that is why I am posting the suggestion.


Solarus Works on ReactOS Opensource Windows OS


If you know how to do it, it would be cool indeed :)

I don't know much beyond the basics of Kolibri OS. The main reason is because most of the people working on it is Russian.


C, C++, Free Pascal, Forth, Lua and Python can be used on Kolibri. I am not sure about the Libriaries due to the Russian.


Might help:
Solarus Works on ReactOS Opensource Windows OS


October 16, 2016, 09:46:59 AM #3 Last Edit: October 16, 2016, 09:58:25 AM by Zefk
Kolibri OS is making a C layer. That might make it easier to port if possible. Also, converting C++ to asm is possible, but there will have to be modifications to the ASM code.

October 16, 2016, 02:21:02 PM #4 Last Edit: October 16, 2016, 02:23:47 PM by MetalZelda
There should be better way to port Solarus on this OS rather then using assembly ...

Because assembly ...
Oh no ...
My head ...

In other word, if you think C / C++ is already hard, don't even think about doing asm

October 16, 2016, 10:14:10 PM #5 Last Edit: October 16, 2016, 11:02:32 PM by Zefk
I think too much ASM would give anyone a headache. I do not think C/C++ is too hard, but Lua is easier.


Code ( lua) Select
print "Hello, World!"


Code ( lua) Select
print("Hello, World!")

Code (cpp) Select
#include <stdio.h>

int main()
    printf("Hello, World!\n");

Code (cpp) Select
#include <iostream>
using namespace std;

int main()
   cout << "Hello World\n";

There is also puts, fputs, printf, etc.


section .text
   global_start   ;must be declared for linker (ld)

_start:           ;tells linker entry point
   mov edx,len   ;message length
   mov ecx,msg   ;message to write
   mov ebx,1     ;file descriptor (stdout)
   mov eax,4     ;system call number (sys_write)
   int 0x80      ;call kernel

   mov eax,1     ;system call number (sys_exit)
   int 0x80      ;call kernel

section .data
msg db 'Hello, world!', 0xa  ;our dear string
len equ $ - msg    ;length of our dear string

Asm becomes clearer the more time your exposed to it, but it will most likely always be a lot of work. There is actually a RAD IDE for Fasm called fresh and of course the Kolibri OS Libraries.

Yeah, this is basically something that just display "Hello World", though, Lua and C++ are relatively easy to make (especially a Hello World), while ASM already need much more knowledges, and it's only something to display some strings, imagine rewriting the whole Solarus engine in ASM, there must be something in Kolibri OS that support c++ compilers.

Kolibri supports GCC (g++) http://wiki.kolibrios.org/wiki/C/C%2B%2B_programming#GCC.2FG.2B.2B
This might be the only way to go to port Solarus in it.

Next time we're going to port the C++ source code of Solarus into a brand new and easy language: the Brainfuck  8)
https://fr.wikipedia.org/wiki/Brainfuck#Hello_World.21  :-[

Not all the projects on Kolibri are pure assembly, but there would probably have to be some assembly used. I am not familiar enough with Kolibri OS, but it is progressing. A C layer is impressive.