Sup, new to OS development; Here's my project, NucleoOS

All off topic discussions go here. Everything from the funny thing your cat did to your favorite tv shows. Non-programming computer questions are ok too.
User avatar
Ashbad
Posts: 13
Joined: Sat Feb 11, 2012 10:54 am
Location: PointXYZ

Re: Sup, new to OS development; Here's my project, NucleoOS

Post by Ashbad »

finally have update news! Memory now gets set correctly, with distinct RAM for the Kernel and for processes, along with setting up all my current drivers correctly, and added a few other gadgets as well. I'm finally done right now with the boot sequence until I need to add more drivers and call their setup code, so I'm off with adding some syscalls (currently only able to be used by the kernel -- processes will have to branch to RST 08h to call syscalls, using a vector table ID). I also added a simple set of PUTC routines and a respective text buffer in the kernel RAM for, the drawing routine shown in action once the system has booted:

Image

(I'm aware the uppercase text is offbalance, I will fix tomorrow, it's a 1-px error in my source pic, I just need to add an empty row)

Yep, I'm using the ASCII set from IBM page 437 I at one point took some time ripping/converting from the picture on the wikipedia article:

Image

It has cool characters like smilies and borders and other cool jazz, for those who don't know what it is. There will be a PUTS routine that uses all of these characters and simply puts them to the buffer, and a PUTSF routine that using the control codes like '\n' to denote a newline instead of whatever code page 437 character replaces it.

Things are running along faster now that my silly RAM setup mistake was fixed earlier (I set it all up correctly -- but I couldn't clear ram with a ldir loop, the verdict was simply because my IM1 interrupt destroyed current registers (fixed, now the shadow registers are being used almost solely for the interrupt) and broke the ldir in the middle of it's execution). Hoping to have a decent set of syscalls done by the weekend!
Image
User avatar
VolTeK
Member
Member
Posts: 815
Joined: Sat Nov 15, 2008 2:37 pm
Location: The Fire Nation

Re: Sup, new to OS development; Here's my project, NucleoOS

Post by VolTeK »

Glad to see progress, Good luck with your project :)
User avatar
brain
Member
Member
Posts: 234
Joined: Thu Nov 05, 2009 5:04 pm
Location: UK
Contact:

Re: Sup, new to OS development; Here's my project, NucleoOS

Post by brain »

Are you planning on starting an official development blog at all? Would be an interesting read...
User avatar
turdus
Member
Member
Posts: 496
Joined: Tue Feb 08, 2011 1:58 pm

Re: Sup, new to OS development; Here's my project, NucleoOS

Post by turdus »

Ashbad wrote:Yep, I'm using the ASCII set from IBM page 437 I at one point took some time ripping/converting from the picture on the wikipedia article
Why don't you simply get it from VGA RAM? It's already there, VGA card uses it to display characters in text mode. I wrote a wiki article about, see VGA Fonts.
User avatar
bubach
Member
Member
Posts: 1223
Joined: Sat Oct 23, 2004 11:00 pm
Location: Sweden
Contact:

Re: Sup, new to OS development; Here's my project, NucleoOS

Post by bubach »

turdus wrote:Why don't you simply get it from VGA RAM? It's already there, VGA card uses it to display characters in text mode. I wrote a wiki article about, see VGA Fonts.
First post:
Ashbad wrote:my first OS, for the 84+/84+SE on the standard zilog z80 processor.
"Simplicity is the ultimate sophistication."
http://bos.asmhackers.net/ - GitHub
User avatar
turdus
Member
Member
Posts: 496
Joined: Tue Feb 08, 2011 1:58 pm

Re: Sup, new to OS development; Here's my project, NucleoOS

Post by turdus »

bubach wrote:
Ashbad wrote:my first OS, for the 84+/84+SE on the standard zilog z80 processor.
Right, I've just read the 2nd page last time, I forgot about it. Sorry for that.
User avatar
Ashbad
Posts: 13
Joined: Sat Feb 11, 2012 10:54 am
Location: PointXYZ

Re: Sup, new to OS development; Here's my project, NucleoOS

Post by Ashbad »

brain wrote:Are you planning on starting an official development blog at all? Would be an interesting read...
Not yet, but at some point possibly :) Probably once I get a few more key components done.

As for VGA fonts, bubach is exactly right, I am on an 84+/SE. The only software/data preloaded onto the calculator after loading a new OS (not counting my own code/data I pack in), is the official bootloader code, which does not provide much except for TI's stupid security measures like certificate checking (though as a safety net it allows a user with any OS to rollback to another OS if the current one mucks up the system, via USB). So, almost everything I have to do from scratch.
Image
User avatar
Combuster
Member
Member
Posts: 9301
Joined: Wed Oct 18, 2006 3:45 am
Libera.chat IRC: [com]buster
Location: On the balcony, where I can actually keep 1½m distance
Contact:

Re: Sup, new to OS development; Here's my project, NucleoOS

Post by Combuster »

Considering you're on a scientific calculator, using the 8x16 VGA font is probably a good way of rapidly using up screen estate. There are 8x8 fonts out there, and as far as English is concerned, 6x8 (5 by 7 for actual character data) might even be enough coverage and saves you over a factor 2 in storage space. Bundling less characters also helps.
"Certainly avoid yourself. He is a newbie and might not realize it. You'll hate his code deeply a few years down the road." - Sortie
[ My OS ] [ VDisk/SFS ]
User avatar
Ashbad
Posts: 13
Joined: Sat Feb 11, 2012 10:54 am
Location: PointXYZ

Re: Sup, new to OS development; Here's my project, NucleoOS

Post by Ashbad »

Combuster wrote:Considering you're on a scientific calculator, using the 8x16 VGA font is probably a good way of rapidly using up screen estate. There are 8x8 fonts out there, and as far as English is concerned, 6x8 (5 by 7 for actual character data) might even be enough coverage and saves you over a factor 2 in storage space. Bundling less characters also helps.

Yep; I also have a much smaller font (4*6 px), but I want to keep the larger font as well.

EDIT: also, the font I'm using now is 8x12 for the larger sizes, but I recently switched to a much smaller size, 8x8, for large and am keeping 4x6 for small.
Image
User avatar
Ashbad
Posts: 13
Joined: Sat Feb 11, 2012 10:54 am
Location: PointXYZ

Re: Sup, new to OS development; Here's my project, NucleoOS

Post by Ashbad »

Small update, but... boot sequence works! :)

Image

(the cursor at the beginning is the Emulator (WabbitEmu) running TIOS; I dragged my OS .8xu to it during TIOS execution, which explains the cursor and slight pause between TIOS execution, and NucleoOS execution (the actual device was running the OS loading code from TI's boot sector page, wiping what was there before and putting my Kernel in))

Now, onto making the dynamic memory heap, and smaller font routines!
Image
User avatar
Ashbad
Posts: 13
Joined: Sat Feb 11, 2012 10:54 am
Location: PointXYZ

Re: Sup, new to OS development; Here's my project, NucleoOS

Post by Ashbad »

Woo, many hours of hard work on this since last update! Finally got small text working, settable console line wrapping, status bar mode settable (basically, lowers the amount of usable console space by one, removing the last row and allowing space for some sort of place where battery status, busy signal, etc. can be shown), easy toggling between large and small text console, and more!

Image
Image
Post Reply