Bona Fide OS Development
http://forums.osdever.net/

512 Byte
http://forums.osdever.net/viewtopic.php?f=15&t=925
Page 1 of 1

Author:  losethos [ Sun Feb 06, 2011 9:02 pm ]
Post subject:  512 Byte

http://forum.osdev.org/viewtopic.php?f=2&t=23109

At OSDev, they had a "512 byte OS challenge" a year or two ago. I think they were mocking me. In my website documentation I said to Copy files onto your partition and run "InstallBoot" to install it on your partition boot record. Installboot compiles the kernel and modifies the partition boot record with the LBA (logical block address) of the kernal binary and it's size in blocks.

They thought I was saying it is contained in the boot record.

They're a little confused over there because use Grub and everybody group thinks boot loaders should switch modes and navigate file systems. Mine does neither. My bootloader presents real mode to my kernel at the start of a boot and my kernel is free to call BIOS routines and switch modes itself.


Patching the LBA of the kernel into the boot record is easy when you're the boss. You have to boot strap ( in the traditional sense) yourself to the point where you can install yourself onto a partition, though. For those of you with ATA hard drive routines and native compilers, it's a piece of cake putting the offset of your main module into the partition boot record's code.


The OSDev guys have a religion of how things are done, and I'm a heretic, so they banned me. Retards.

They sabotage people with CHS horseshit and dependency on other people's bootloaders and overcomplicate everything. Ask a question and the answer will be highly overengineered because they want to be professional as opposed to reasonable. They give highly overengineered advice which discourages people and I'm sure they don't follow it themselves. Don't waste time on compatibility back to the stone age.

Kieran, we need to distinguish ourselves from OSDev so we can be the most popular. Build loyalty :-)

Trust me--I'm the king of alternative ("hobby" is a bad word) operating systems, for now. Google "64-bit Operating System."

Author:  losethos [ Mon Feb 07, 2011 3:01 am ]
Post subject:  Re: 512 Byte

I get a lot of skeptics when I say it never runs code I didn't right except a few BIOS calls during boot. 7 years full-time is a long time.

I got so frustrated with doubters, I finally wrote a little compiler and graphics library.

These are public domain -- no strings attached.
http://www.losethos.com/code/MiniCompiler.html#l1
http://www.losethos.com/code/MiniGrLib.html#l1

For the full code, look here. It's also 100% public domain
and written by me from scratch:

http://www.losethos.com/code.html

I took a course on graphics and a course on operating systems and a course on compilers at ASU. I worked as a programmer on Ticketmaster's operating system 1990-1996. It was somewhat like an internship. I worked in VAX assembly for part of the time. My boss wrote our PASCAL compiler. Everything was from scratch.

Read this:
http://www.wired.com/magazine/2010/11/mf_ticketmaster/all/1


OSDev guys go about dick-ishly bullying tiny fish. They have no clue there are far bigger fish and they are little fish.

Author:  ctimko [ Mon Feb 07, 2011 8:30 am ]
Post subject:  Re: 512 Byte

Again, these forums are not for your pissing contest with the OSDev website

Author:  losethos [ Tue Feb 08, 2011 7:50 pm ]
Post subject:  Re: 512 Byte

This is not really a dispute, but rather an answer to OSDev questions. There are no posts on this BF site, so what am I supposed to talk about?


http://forum.osdev.org/viewtopic.php?f=13&t=23098

LoseThos is definitely more C-ish, not PASCAL-ish. I wrote my compiler and decided to use the

RET ###

instruction in functions. This saved lots of bytes. The order of arguments on the stack in LoseThos is C order, not PASCAL order.


http://forum.osdev.org/viewtopic.php?f=1&t=21634

I wrote a disassembler.

http://www.losethos.com/code/Unassembler.html

http://www.losethos.com/code/OpCodes.html


I wrote my own compiler and changed how vardactic(...) functions work.
http://forum.osdev.org/viewtopic.php?f=1&t=23119
With my way, when you declare a function with "...", my compiler creates two variables for that function "argc" and "argv". When that function is called, it's parameters can be int, float, string or whatever.

Here's where my parser loads parameters on the stack when a "..." functions is called:

http://www.losethos.com/code/ExpParser.html#l402

Here is where my PrintF is:
http://www.losethos.com/code/SPrintF2.html#l333

Author:  brenden [ Mon Aug 22, 2011 12:35 pm ]
Post subject:  Re: 512 Byte

Losethos, you're kind of just throwing out links. Mind giving some guidance on all of this?

You can't write a functional OS in 512 bytes. Just not possible. Maybe if it never output strings to the display you could fit some things in, but not much worth trying over.

What's your stand on this exactly?

Page 1 of 1 All times are UTC - 6 hours [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/