ScorchOS 0.0.7 Released

This forums is for OS project announcements including project openings, new releases, update notices, test requests, and job openings (both paying and volunteer).
Post Reply
User avatar
ScorchOS
Member
Member
Posts: 44
Joined: Fri Oct 24, 2008 6:20 am
Location: Wiltshire, UK
Contact:

ScorchOS 0.0.7 Released

Post by ScorchOS »

The latest version of ScorchOS is now available for download at http://www.scorchos.com/

For those of you who liked ApolloOS, notable improvements are:
- New Name & License (Apache License v2 rather than GNU GPLv3)
- Interactive Shell/Virtual Terminal Interface
- Numerous Bugfixes

The aim for the next release is a floppy controller and possibly a FAT file system driver for full support. It is noticable that this is based on bkerndev, but as the project extends and improves this project should become more distinctive and achieve it's goal of providing a minimal GUI-driven operating environment which others can develop.
ScorchOS: http://sites.google.com/site/scorchopsys/


"The golden rule: RTFM, check the wiki, google it and have a go BEFORE asking the question!"
xyzzy
Member
Member
Posts: 391
Joined: Wed Jul 25, 2007 8:45 am
Libera.chat IRC: aejsmith
Location: London, UK
Contact:

Re: ScorchOS 0.0.7 Released

Post by xyzzy »

No offence meant here, but could I ask what you were thinking when you posted something thats pretty much bkerndev with a ridiculously buggy shell on top of it on OSNews?
froggey
Member
Member
Posts: 38
Joined: Tue Oct 17, 2006 10:21 pm
Location: Hampshire, UK

Re: ScorchOS 0.0.7 Released

Post by froggey »

What? Why did you release at this state?
This is just bkerndev with one extra twiddly bit badly jammed on! How could you possibly think that making a release at this point would be a good idea? It's completely useless!
Not only that, but you posted it on OSNews as well?

This is what's wrong with OS tutorials. It enables copy+paste "Look ma! I made an OS!" :(
User avatar
Troy Martin
Member
Member
Posts: 1686
Joined: Fri Apr 18, 2008 4:40 pm
Location: Langley, Vancouver, BC, Canada
Contact:

Re: ScorchOS 0.0.7 Released

Post by Troy Martin »

Yeah, I'm really starting to regret plopping my own calls and shell and system call interfaces on top of a modified MikeOS 1.3 + 2.0 + 3.0 kernel.
Image
Image
Solar wrote:It keeps stunning me how friendly we - as a community - are towards people who start programming "their first OS" who don't even have a solid understanding of pointers, their compiler, or how a OS is structured.
I wish I could add more tex
User avatar
ScorchOS
Member
Member
Posts: 44
Joined: Fri Oct 24, 2008 6:20 am
Location: Wiltshire, UK
Contact:

Re: ScorchOS 0.0.7 Released

Post by ScorchOS »

I fully accept your criticism on this one. I've known from the outset that just building on top of bkerndev was hardly ground-breaking stuff, and I agree with you that the shell is very buggy. To be honest I've spent the past 5 months not implementing the major changes I wanted to (i.e. a newlib port, floppy disk controller, etc.) to show how bkerndev can be improved and extended. These features will however start to be included as of the next release, but as you guys can probably tell I just wanted to release something :-)

I think the main thing that ScorchOS 0.0.7 contributes is a way of making life a little easier for noob kernel developers (Linux users just run './linbuild.sh' and './lintest.sh' to compile and run for instance), a quick and easy way of testing (especially for Windows users, who have a self-contained version of portable qemu running a ScorchOS image to download) and a wiki that tries to explain in the simplest possible terms how to create a kernel build environment.

In technical terms ScorchOS needs a lot of work before it can consider itself a unique project (hence the '0.0.7' release number ;) ) but this project is not primarily for others to use (despite my previous point). It's primarily here because I personally want to learn how operating kernels work and in the satisfaction of coding one. The reason I publicize it so much (i.e. on osnews) is in case there are others who would like to do the same - this is also the reason I link to as many other kernel projects as I can which I have found useful on http://www.scorchos.com. I code a kernel as a hobby, but nothing pleases me more than when I hear from other people tinkering with my work and having fun coding it - or even encouraging people to have a go with bkerndev.

I hope ScorchOS has not offended you too much from it's presence, but I hope you understand that though I accept your criticism I will carry on coding and posting my code. If there comes a time when I want ScorchOS to compete with your (excellent) kernels on technical merit, then I will do a complete recode from scratch.
ScorchOS: http://sites.google.com/site/scorchopsys/


"The golden rule: RTFM, check the wiki, google it and have a go BEFORE asking the question!"
User avatar
gzaloprgm
Member
Member
Posts: 141
Joined: Sun Sep 23, 2007 4:53 pm
Location: Buenos Aires, Argentina
Contact:

Re: ScorchOS 0.0.7 Released

Post by gzaloprgm »

Hey ScorchOS, I have found a horrible bug in your shell.c:

Code: Select all

//ScorchOS shell.c
int atoi(unsigned char convChar)        //this function is not used in the same way as newlib, but achieves the same end - it grabs integers from a string
                                        //It does however rely on you having parsed the string first for spaces, and sending each character individually here
{
        //We could use casting here, but I suck! Therefore we'll use some if statements to convert.
        if(convChar = '0')
        {
                return 0;
        }
        else if(convChar = '1')
        {
                return 1;
        }
        else if(convChar = '2')
        {
                return 2;
        }
        else if(convChar = '3')
        {
                return 3;
        }
        else if(convChar = '4')
        {
                return 4;
        }
        else if(convChar = '5')
        {
                return 5;
        }
        else if(convChar = '6')
        {
                return 6;
        }
        else if(convChar = '7')
        {
                return 7;
        }
        else if(convChar = '8')
        {
                return 8;
        }
        else if(convChar='9')
        {
                return 9;
        }
        else
        {
                return 0;       //If all else fails...
        }
}
WTF? comparing with one equal :shock: :roll:

Code: Select all

if(n>='0' && n<='9'){
return n-'0';
}else{
return 0;
}
Cheers,
Gonzalo
Visit https://gzalo.com : my web site with electronic circuits, articles, schematics, pcb, calculators, and other things related to electronics.
User avatar
Steve the Pirate
Member
Member
Posts: 152
Joined: Fri Dec 15, 2006 7:01 am
Location: Brisbane, Australia
Contact:

Re: ScorchOS 0.0.7 Released

Post by Steve the Pirate »

gzaloprgm wrote:Hey ScorchOS, I have found a horrible bug in your shell.c:
...
WTF? comparing with one equal :shock: :roll:
Not to mention the general dodgyness of that atoi command... Here's mine - I found it on the internet, and I'm fairly sure it was public domain.

Code: Select all

u32int atoi(const char * ch, u32int base = 10);

// Atoi - Convert a number in a string into an
// integer
u32int atoi(const char * ch, u32int base)
{
	u32int num = 0;
	u32int s = 0;
		
	if(ch == NULL)
	{
		return 0;
	}
		
	while(*ch != '\0')
	{			
		if(*ch >= '0' && *ch <= '9')
		{
			s = *ch - '0';	
			num = (num * base) + s;
		}
			
		*ch++;
	}
	
	return num;
}
My Site | My Blog
Symmetry - My operating system.
User avatar
ScorchOS
Member
Member
Posts: 44
Joined: Fri Oct 24, 2008 6:20 am
Location: Wiltshire, UK
Contact:

Re: ScorchOS 0.0.7 Released

Post by ScorchOS »

Thanks for the help with the atoi() - I'll be honest in that I ran into a dead-end with it (hence the reason the underlying code for it is so naff and I've hard-coded the addMe and subtractMe functions). Those improvements will be included, as well as support for larger integers - for the opposite function (integer to string) using modulus by 10 should give me each integer, then output the individual characters in the correct order.

The only real bug after that is that the shell doesn't handle backspace particularly well - you can remove excess characters but changing them produces unexpected results.

After the pointing out of this school-boy error I will face facts that putting a buggy shell onto a patched tutorial kernel isn't exactly going to command the respect of the kernel hardcore. I'll try and create a new kernel for 0.0.8 - but I still consider this a worthwhile experience as I'll still include the same shell code (only far less buggy). As I said I code for fun, but the better ScorchOS is as a kernel, the more helpful others will find it. :)

(I will upload some code to the ScorchOS SVN repo sometime this evening GMT)
ScorchOS: http://sites.google.com/site/scorchopsys/


"The golden rule: RTFM, check the wiki, google it and have a go BEFORE asking the question!"
User avatar
ScorchOS
Member
Member
Posts: 44
Joined: Fri Oct 24, 2008 6:20 am
Location: Wiltshire, UK
Contact:

Re: ScorchOS 0.0.7 Released

Post by ScorchOS »

JUST POSTED A PATCHED VERSION OF SCORCHOS 0.0.7

In recognition of the fact I released a bit early, I've released a patched version of ScorchOS 0.0.7. Several bugs have been rectified with the shell (and where there are bugs, they are handled much more gracefully). Your ideas for an atoi() function have been included.

The focus is now on next release (ScorchOS 0.0.8 ) which will have a dedicated OS Toolchain so we will start to move away from non-standard C and then possibly a floppy driver, which will mean this kernel becomes a very different beast to the tutorial kernel it's based on. As I said, it's pre-alpha stuff so most of the code base will likely be changed and/or replaced. I will not publicise it on osnews again until it offers much more than it does now ;)

Thanks for your help everyone :D
ScorchOS: http://sites.google.com/site/scorchopsys/


"The golden rule: RTFM, check the wiki, google it and have a go BEFORE asking the question!"
Post Reply