Page 2 of 2

Posted: Tue Jul 10, 2007 10:33 am
by inflater
pcmattman wrote:OK, I'm getting to that stage where I'm almost ready for release of the newest version of my OS
Hehe, I will sure look at it :) Could you post single screenshot of your OS? I'd like to see what your OS can do :) [well only porting newlib to Mattise is re$pect 8)]

And what should I do, a Pascal/mediocre ASM programmer? :D I am slowly having self-hosting in my OS [former Pascal, 32bitASM now for those who doesnt know] but I need to release some documentation,... How? The system interrupts descriptions in PDF (or html) will be enough?

Regards
inflater

Posted: Tue Jul 10, 2007 5:41 pm
by pcmattman
JamesM wrote:Note that printf() is a highly, HIGHLY monolithic and complex function. It uses fopen/fwrite etc (buffered i/o) so it requires the syscall "sbrk" to be implemented first and to work correctly. Also it requires the file descriptors stdin/out/err to already be initialised to descriptor values 0/1/2 etc.

Probably worth getting fopen/fwrite to work first, or sprintf into a string and call your syscall write() direct first.

Common stumbling point with newlib - make sure **environ is defined - NULL will do but make sure it's actually there somewhere - you won't get any linker errors if it's not but the library will fall over.

JamesM
Thanks for the help.

I didn't realize stdin/out/err had to be set, though my sbrk implementation should work properly.

I do have environ defined (as per the syscalls section of libc.info)...

I think my real problem is my ELF loader, which probably doesn't load .rodata :D

Posted: Tue Jul 10, 2007 8:58 pm
by pcmattman
inflater wrote:
pcmattman wrote:OK, I'm getting to that stage where I'm almost ready for release of the newest version of my OS
Hehe, I will sure look at it :) Could you post single screenshot of your OS? I'd like to see what your OS can do :) [well only porting newlib to Mattise is re$pect 8)]

And what should I do, a Pascal/mediocre ASM programmer? :D I am slowly having self-hosting in my OS [former Pascal, 32bitASM now for those who doesnt know] but I need to release some documentation,... How? The system interrupts descriptions in PDF (or html) will be enough?

Regards
inflater
No screen shots yet, I'm keeping it under wraps until I'm ready :D. And really it's not a lot now, I'm just making sure everything is ready. It's a microkernel so all the drivers are in their own address spaces - which makes my life difficult at times. Thankfully it's currently only in one big address space (but I'm about to start implementing paging).

Pascal/ASM programmers:

You'll want programmers to write programs for your OS in C, so port newlib or something like that. All you need is the 17 syscalls that they require you to use as glue. PM me if you want more.

Posted: Fri Jul 13, 2007 2:03 am
by pcmattman
OK, a tutorial for porting newlib is up on the wiki: Porting_Newlib

Thanks for all your help guys :D