Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
I just managed to get a (very basic!) IPv6 implementation going, and as always I test my initial groundwork on new networking stuff by pinging a VM running Pedigree.
So this screenshot shows an IPv6 ping between my host and Pedigree running successfully. Next up - making sure TCP and UDP work .
pcmattman wrote:I just managed to get a (very basic!) IPv6 implementation going, and as always I test my initial groundwork on new networking stuff by pinging a VM running Pedigree.
So this screenshot shows an IPv6 ping between my host and Pedigree running successfully. Next up - making sure TCP and UDP work .
features:
- written in C++
- multiboot2 (1.6 spec) support
- 1024x768x32 framebuffer console (charset is mine too, ASCII from 0x20 to 0x7E, it taken so many time...)
next step: write a physical memory manager
descriptor tables and interrupts code is a modified version of the james'm tutorials one (thanks James )
---
NB: Sorry, my english is not perfect, if I make some mistake please tell me.
This is a couple week's worth of work on a 64-bit OS.
It's loaded in two stages from GRUB 1 - a 32-bit stub sets up some initial kernel data structures, and the kernel itself is a flat binary loaded as a module by grub. Right now the initial usermode code is also a flat binary loaded as a module, but hopefully that will go away sooner rather than later, and be replaced by the kernel loading the init process from the filesystem.
At this point, the kernel gets its paging in order, sets up keyboard input and some simple interrupt handling, and kicks down to ring 3 for the user process - which at the moment simply makes two system calls: one to print the message and one to halt the system.
Next things on my TODO list are to move keyboard input/text output into a more abstract file handling setup, so they can be treated as STDIN and STDOUT, and also to setup a process model so init can fork itself into an actual program. Fixing the whole file thing will also let me start dumping the kernel log out to the emulated serial port, so the main screen can be used purely for program interaction.
EDIT: So I still haven't fixed input/output to use files yet, but I have gotten fork and task switching working!
I'm trying to fix somethings, but I've got boot screens (which I find cool, but ¥eah)
This one's of the pre-alpha boot screen in 90x60 text mode, before I realized that Dell video cards have problems with it.
[simg]http://casnix.sourceforge.net/pre-alpha-boot-screen.png[/simg
So I moved onto alpha and also added a VGA mode called Dell_pc which is really 80x50 mode.
[simg]http://casnix.sourceforge.net/alpha1.0-VGAMODEisDell_pc-boot.png[/simg]
Strangely enough, my video driver doesn't work with 80x25 text mode....:][]
EDIT: Is there a way to make my pictures smaller?
Last edited by casnix on Sun May 01, 2011 10:36 pm, edited 1 time in total.
How about not enlarging them in the first place? They should be 720x480 in 90x60 text...
That and I can't imagine that you don't know how mspaint or gimp works
"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 ]
How about not enlarging them in the first place? They should be 720x480 in 90x60 text...
That and I can't imagine that you don't know how mspaint or gimp works
Heh I'm on a mac, so no paint software. Will get gimp, though. My screen is 1024x1024 and my vmachine is full screen. But yeah shoulda thought about gimp
How about not enlarging them in the first place? They should be 720x480 in 90x60 text...
That and I can't imagine that you don't know how mspaint or gimp works
Heh I'm on a mac, so no paint software. Will get gimp, though. My screen is 1024x1024 and my vmachine is full screen. But yeah shoulda thought about gimp
I usually leave the emulator/window I need to capture and just choose to make a screenshot of the window without borders instead of the fullscreen. That's with KScreenshot, but I'm not sure on the mac (google found me this: http://guides.macrumors.com/Taking_Scre ... n_Mac_OS_X ).
I present to you my Small OS, The Black Box Operating System!
This one below is taken from the desktop by pressing the Screenshot button on the Emulator/Virtual PC:
And this one below is taken from my desktop while running Black Box OS on a Emulator/Virtual PC:
I'm still deciding if i'm going to release it as a open-source operating system and yes, this is the Small OS i'm talking about which took 3 years of my life to finish
Last edited by gamefreak11221 on Fri May 13, 2011 8:38 pm, edited 2 times in total.