/sp/ - Football

Yea, for the Denver Broncos are Football Now and Forever


If you want to see the latest posts from all boards in a convenient way please check out /overboard/


Archived thread


1493421365243.gif
Anonymous
No.5965
5969
Anybody here into technology?
I'm thinking about making my own OS for learning purposes.

Since a complete PC is out of my league I thought about using a Raspberry pi since it is a simpler design.
Is there a tool out there to simulate some easy hardware that would archieve the same effect?

Anybody ever tried something like that?
Anonymous
No.5966
5967 5968 5969
Why a Pi? Just craigslist an old Core 2 Duo machine for like 50 bucks. With a C2D you will have access to an x86/x64 CPU vs an ARM processor. Unless you are looking to make an OS that will be for more embedded systems like phones and small PCs.
Anonymous
No.5967
5969
>>5966
Simplicity of the system and drivers.

I imagine a Pi being far more managable than such a complex machine.

C2D?
Anonymous
No.5968
>>5966
There is some old hardware lying around in a relatives house maybe I could grab that if it still works.
Anonymous
No.5969
5970
>>5965
It has been a while since I have done anything like that so I will have to look at my notes to get back into it. I think the simplest way would be to run a Virtual Machine, but not sure if there is an emulator for ARM architecture (but there should be). Also getting a full documentation of the CPU is needed. The biggest hurdle you will have is that you need a bootloader of some sort and some simple kernel code that will give you output before you know if your code is working.
Also in the start instead of doing Virtual Memory for each proses you can hardcode the memory address they run in when you compile it. Then when you got that working you can start with virtual memory, and thus build the OS one piece at a time.

Mainly the OS is mostly doing interupt calls and setting flags on commands to the CPU... At least in the start.

I have not played with ARM when I did it it was x86.

Also this: >>5966

>>5967
Getting the basics up and running (a bit more advanced DOS) should not be a problem on x86. (It is a semester course).
What is hard is Drivers, and I would not aim for making it network capable before you got other things working. Also on x86 I would imagine it is easier to do output to screen as it is well documented (look into old games and interupt calls to graphic card to set resolution and such).

>all this is from vague memory from when I did it
Anonymous
No.5970
5971
>>5969
>Getting the basics up and running (a bit more advanced DOS) should not be a problem on x86. (It is a semester course).
I would have guessed that this is some more advanced stuff.
But getting it to the point where I have a shell or something like dos would be the goal.

>Also on x86 I would imagine it is easier to do output to screen as it is well documented (look into old games and interupt calls to graphic card to set resolution and such).
I imagine this being hard to get into.

>Also getting a full documentation of the CPU is needed. The biggest hurdle you will have is that you need a bootloader of some sort and some simple kernel code that will give you output before you know if your code is working.
That's why I thought about the Pi.
With the old junk I have to look for documentation of various hardware pieces and make myself some bootloader.


Anonymous
No.5971
5972
>>5970
Much of the instruction set on modern x86 is not something you will need to use. You could choose to target 8086 or 80486 etc. Also target VGA or lower will simplify things
http://www.wagemakers.be/english/doc/vga
Anonymous
No.5972
5973
>>5971
Thanks for the help!
Anonymous
No.5973
5974
>>5972
Found this page when looking for better example, and looks like a site that can have much useful when it comes to OS coding
https://wiki.osdev.org/Printing_to_Screen
Anonymous
No.5974
5975
>>5973
So the first step would be getting some hardware to fool around with and getting as much information on this hardware as I can.
Anonymous
No.5975
>>5974
All you need to target x86 is a Virtual Machine like VMWare running.
;