Hello,
Kolibri OS is the most popular Assembly Fasm Operating system.
http://kolibrios.org/en/
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.
Sincerely,
Zuto
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.
Although,
C, C++, Free Pascal, Forth, Lua and Python can be used on Kolibri. I am not sure about the Libriaries due to the Russian.
http://wiki.kolibrios.org/wiki/Development
Porting:
http://wiki.kolibrios.org/wiki/Porting_applications_to_KolibriOS
Might help:
https://translate.google.ru/translate?sl=ru&tl=en&js=y&prev=_t&hl=ru&ie=UTF-8&u=http%3A%2F%2Fwiki.kolibrios.org%2Fwiki%2FLibrary%2Fru&edit-text=&act=url
Kolibri OS is making a C layer (http://websvn.kolibrios.org/listing.php?repname=Kolibri+OS&path=%2Fcontrib%2FC_Layer%2Fa3b9ce1a54fea8efc839f777ce1b565cb). That might make it easier to port if possible. Also, converting C++ to asm (http://www.cplusplus.com/forum/beginner/59280/) is possible, but there will have to be modifications to the ASM code.
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
(http://i.imgur.com/7AT5JSr.png?1)
I think too much ASM would give anyone a headache. I do not think C/C++ is too hard, but Lua is easier.
Lua:
print "Hello, World!"
or
print("Hello, World!")
C:
#include <stdio.h>
int main()
{
printf("Hello, World!\n");
}
C++:
#include <iostream>
using namespace std;
int main()
{
cout << "Hello World\n";
}
There is also puts, fputs, printf, etc.
Nasm:
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 (https://fresh.flatassembler.net/) 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.