Search This Blog

Saturday, March 08, 2008

Adding code to Singularity

Peace be up on you
Yesterday, I have publish post about starting up the Singularity project, today I was seeking for more, in my opinion more is get my self into it, here what I have done, I have start a debug session with the virtual machine, and I go with code, step by step execution, and I found that there is file called shell where all code get back to it, guess what is this, it is the main loop, where the system receive its commands. I have added a few lines, the lines that I have added is, adding the new command name ,description and the call back function that will be used when the user enter the command, so I have write few lines for it, and I rebuild the project in "Tiny" configuration , here is snapshots for what I have got

Here is the command that I have added to the command list that is available in singularity

Here is the result when call the command.
What I have done is not fully right :D, I should read more about the architecture the documents are available at this path
%Singularity Folder%\docs\Design Notes

soon I will try to add more effective code, like showing some Arabic characters on the screen, I hope that I got some time to do that, Thanks for your time

Ahmed Essam


Anonymous said...

The shell is the command line program. It's not central to the system at all; it's just the user interface.

If you're looking for the main system "loop", it's the process scheduler.

Ahmed Essam said...

I got the point that it is just a terminal to the system, for sure that there is many things hidden behind that blue screen, as I mentioned in the post, I did it in rush, and I didn't read the documentation.
All I have done, just injecting some code :), later I will read it more carefully and get deeper more wisely, thanks for the reply :)

Abhinov said...

If possible try to implement the "pong" program present in $singularity_root%/applications/pong. It requires the graphics mode to be enabled in Singularity. Even though this issue has been reported in the Codeplex website, there is no proper fix for it yet.