Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon.

Pages: 1-

Homebrew OS

Name: Anonymous 2011-11-26 9:34

Sup! I'm developer of tiny homebrew OS. My OS work with almost any x86 PC, have support for: Internet (via Ethernet-cards), HD resolutions, USB, FAT, NTFS, EXTFS. Video/audio players and consoles (NES/SNES/GB) presented too. Also there are compilers for C and Pascal, and interpreters of Lua and Python.
I need help with translating it to English, Japanese and other languages. Programmers and designers are welcome too. Write your answers plz.

Name: F r o z e n V o i d !!mJCwdV5J0Xy2A21 2011-11-26 9:35

>translating it to English
if the source is in English what is there to translate?

Name: Anonymous 2011-11-26 9:35

and interpreters of Lua and Python.
Implement a good lisp, please. Python and Lua are barbaric languages.

Name: F r o z e n V o i d !!mJCwdV5J0Xy2A21 2011-11-26 9:37

What language you need translation for >>1? can you post some exmaple you can't translate with Google?

Name: Anonymous 2011-11-26 9:39

>>2,4

He didn't say he made it originally in English, you fucking furfag.
Get the hell out of /prog/. IHBT. FUCK oFF. G9oogle translate sucks more than a little amount of balls. You are an retard.

Name: Anonymous 2011-11-26 9:42

I'm porting Scheme and Haskell.
Almost everything complicated is written in Russian. I can translate it only to simple English.
Example of hard text:

>Создание нового потока: [core/taskman.inc, new_sys_threads] принимает на вход entry point нового процесса и указатель на user-mode стек.

    захватывает application_table_status
    находит пустой слот для нового потока; если такого нет - выход с ошибкой;
    копирует имя процесса и информацию об адресном пространстве вызывающего потока в структуру для нового;
    вызывает set_app_params
    освобождает application_table_status

>Creating a new thread: [core / taskman.inc, new_sys_threads] takes an entry point of the new process and a pointer to user-mode stack.

     captures application_table_status
     finds an empty slot for the new thread, if there is no such - exit with an error;
     copy the process name and information about the address space of the calling thread in the new structure;
     is set_app_params
     exempt application_table_status

Name: Anonymous 2011-11-26 9:49

>>3
Anyway, you can help with porting if you familiar with GCC and Newlib.

Name: Anonymous 2011-11-26 9:51

Sup! I'm developer of tiny homebrew OS
Зачем?

Name: F r o z e n V o i d !!mJCwdV5J0Xy2A21 2011-11-26 9:53

>>6
There is nothing complex,
   захватывает application_table_status -> locks  application_table_status
    находит пустой слот для нового потока; если такого нет - выход с ошибкой;->finds a free slot to new thread, if none found - exits with error.
    копирует имя процесса и информацию об адресном пространстве вызывающего потока в структуру для нового->copies process name and parent process address space info into a new thread
    освобождает application_table_status ->frees application_table_status
   вызывает set_app_params ->calls set_app_params function

Name: Anonymous 2011-11-26 9:57

>>8
extremely fast and lightweight, without any bloat
>>9
This place is easy, you're right. But there are 300 or 400 written pages in Wiki, and 500 or so doesn't exist at all

Name: F r o z e n V o i d !!mJCwdV5J0Xy2A21 2011-11-26 9:58

KolibriOS source are filled with unportable asm,how can you maintain such a mess?

Name: Anonymous 2011-11-26 10:03

>>11
Hey, do you really believe that cross-platforming is GOOD?

Name: F r o z e n V o i d !!mJCwdV5J0Xy2A21 2011-11-26 10:07

>>12
with good design, asm is used for time-critical or platform specific pieces, and is header-only.
Writing the entire OS in asm is counter-productive on so many levels, only masochists can endure writing it.

Name: Anonymous 2011-11-26 10:14

>>13
It's a legend. Development speed on asm for KolibriOS is compatible with development speed on C for Linux. For example, HD audio driver was written in a few days, USB stack too.
Few months ago I wrote "Color select" for Kolibri in C, and my friend on assembler. Algorythm was same. We wrote this program for ~2-3 hours, then checked speed of apps. Results: C - 7 msec for dialog window, Asm - 7 msec for dialog window. Then we began optimize our programs. Results: C - 5 msec for window, asm - <0.5 msec. Whoop.

Name: Anonymous 2011-11-26 10:15

>>13
And one thing. Anyone who says "Kolibri isn't well proected OS" didn't tried to use WinAPI in assembler.

Name: Anonymous 2011-11-26 10:19

self-fix: proected^W designed

Name: F r o z e n V o i d !!mJCwdV5J0Xy2A21 2011-11-26 10:19

Also, in 2011 "fits on floppy" isn't a good slogan, because floppies are not produced anymore and there are no computers which include floppy drive which were produce in recent years. Floppies are obsolete.

Name: Anonymous 2011-11-26 10:21

>>17
Okay. "Can be flashed into your BIOS"

Name: F r o z e n V o i d !!mJCwdV5J0Xy2A21 2011-11-26 10:23

>>14
C has inline assembler for speed optimizations which cannot be done by compiler.
Imagine you have a 100k lines of C and million lines of asm(roughly of same function).
Can you optimize a million line manually? C has the luxury of being compiler optimized plus inline assembler, and its ten times shorter.

Name: F r o z e n V o i d !!mJCwdV5J0Xy2A21 2011-11-26 10:26

(for those who think a million line is impossible, a typical asm file can easily take 1-5K lines and 1000 such files = 1-5 million lines)

Name: Anonymous 2011-11-26 10:28

>>19
Why do you need 1 million lines of asm code?

Name: F r o z e n V o i d !!mJCwdV5J0Xy2A21 2011-11-26 10:29

>>21
To write an OS.

Name: Anonymous 2011-11-26 10:32

>>20
Our full-featured USB stack is ~10-15k lines of code. Core of OS can be cutted down to 30-40k lines. DLLs, network stack, drivers, memory managment and few built-in drivers.

Name: F r o z e n V o i d !!mJCwdV5J0Xy2A21 2011-11-26 10:40

>>23
What is percentage(roughly) of total code that is speed-dependent and how much of the OS is optimized by hand?

Name: Anonymous 2011-11-26 10:44

>>24
You can't say "there is 20% of speed-depended code". Main idea: you don't need additional abstract layers.
When you use C, you wrote "printf ("Wtf!");", and now your program is linked with libC, and may be termio, and so on.
When you use plain assembler, you don't need libC at all. This is an example of austerity and minimalism that can create a full production environment.

Name: F r o z e n V o i d !!mJCwdV5J0Xy2A21 2011-11-26 10:52

>>25
you can use write(stdout, &bytes,bytecount) and construct the &bytes string from scratch.
You can write smaller LibC versions, but picking asm because your LibC is bloated is "premature optimization".

Name: F r o z e n V o i d !!mJCwdV5J0Xy2A21 2011-11-26 10:55

>you don't need additional abstract layers.
Do you use macros in your asm code? function calls? nested function calls? these are all abstractions.
Abstractions can be managed or reduced,but they are always present unless you write raw machine code in hex.

Name: Anonymous 2011-11-26 11:00

>>27
Okay. There's absctractions too. But I have (exactly, I have) OS, which I can flash into my PC's BIOS, with full-featured mp3-player, image viewer and (almost) full-featured web-browser. I can use this OS on any PC I can buy: i486/8Mb, core i7/8Gb. x86 tablets too.
You can use Windows, Linux or Plan 9, if this OS can do anything you want. Right? My OS can do anything I want (and in few cases better than Windows or Linux).

Name: Anonymous 2011-11-26 11:00

Frozen please stop trolling the poor developers of Kolibri, they are the shining beacon of hope among the sea of bloatware OSes.

Name: Anonymous 2011-11-26 11:10

Web-browser(proof-link): http://board.kolibrios.org/download/file.php?id=3084
Download links will be published at X-mas or so.

Name: F r o z e n V o i d !!mJCwdV5J0Xy2A21 2011-11-26 12:15

I always view such thing as asm OS as demos with overcomplicated codebase.
I certainly lack skills to write an entire OS in asm, but i'm not that insane to dedicate a chunk of my life to debugging and iantaining such a herculean project. I'd rather write an OS in C, but i don't think i'll need it(there is no concrete reason to write it).
The complex parts of the low-level OS are usually not that interesting algorithmically(schedulers and kernel calling apis) and the rest is fairly standard code which is as bland as any java project boilerplate. If it cannot be complex because of low abstraction, it also prevents thinking as high-level language where you write algorithms abstractly. Asm forces primitive algorithms.

Name: Anonymous 2011-11-26 13:58

>>33
I will indeed check them good sir

Name: Anonymous 2011-11-26 14:54

thanks man

Name: Anonymous 2011-12-20 14:31

wtf! bump

Name: Anonymous 2011-12-20 15:02

>>1
My OS work with almost any x86 PC
Good luck writing code for a dying 30-year-old architecture.
NTFS
Good luck writing drivers for an over-complicated unreliable proprietary file system.

Name: Anonymous 2011-12-20 15:43

>>31
I certainly lack skills to write an entire OS in asm,

Oh geeze, now there's a shocker. This coming from someone you failed to recognize the macros in C were meant to emulate an iterator.

Name: Anonymous 2011-12-20 15:53

>>31
I certainly lack skills to write an entire OS in asm
You lack the skills to make a good simple application in C let alone even thinking you can manage a OS. You're a shit poster who doesn't know what he's doing. No one likes you. You write shitty code. You don't know half the shit you do. You don't even know the C standard. You're a piece of shit java tier programming.


GTFO IHBT

Name: Anonymous 2011-12-20 15:56

http://www.menuetos.net/

Implying writing an OS in asm is bad, Implying you think it's bad only because you don't know how to program let alone what all the stuff means.

Name: Anonymous 2011-12-20 16:30

Sup! I'm developer of tiny homebrew OS. My OS work with almost any imageboard, have support for: Autism(via Haxed-anus), Jewish resolutions, HASKAL, reddit, google, touhou. SEPPLES players and consoles (DSi) presented too. Also there are compilers for BBCode and BBCode, and interpreters of BBCode and FIOC.
I need help with translating it to proper BBCode. Programmers and designers are welcome too. Write your answers plz

Don't change these.
Name: Email:
Entire Thread Thread List