OSDev in Mac
OSDev in Mac
Hi, I have an iMac and would like to get started in OS development. I have some experience in Cocoa and Flash programming. I know I'm not capable of it but I would like to get started. I know I need to know assembly but what syntax? If it's intel, should I use the NASM assembler? I also think I need a good understanding of how the computer works on the inside. Any good tutorials about this? Will I learn this stuff in the wiki? Will I need to know basic electronics? Please don't direct me to a book unless it's free because I have no credit card and I don't live in the US.
Is it an intel mac or powerpc? That will mean a lot, if I'm not mistaken. (There's a great possibility of that. Never really used mac's much.)
)
International Money Orders have always worked for me when buying things out of my country. (Gotta love Japanese video games.no_one wrote:Please don't direct me to a book unless it's free because I have no credit card and I don't live in the US.
![Wink ;)](./images/smilies/icon_wink.gif)
C8H10N4O2 | #446691 | Trust the nodes.
- Brynet-Inc
- Member
- Posts: 2426
- Joined: Tue Oct 17, 2006 9:29 pm
- Libera.chat IRC: brynet
- Location: Canada
- Contact:
Well, I only know a little about Intel Macs..
They use EFI instead of the classic PC BIOS, (Unless using something called "BootCamp?")
They use Core 2 Duo processors...
So, If you know x86 assembly and how to write an EFI capable bootloader.. learn what type of hardware these systems have and go from there..
(Google is your friend..)
http://refit.sourceforge.net/
http://refit.sourceforge.net/myths/
They use EFI instead of the classic PC BIOS, (Unless using something called "BootCamp?")
They use Core 2 Duo processors...
So, If you know x86 assembly and how to write an EFI capable bootloader.. learn what type of hardware these systems have and go from there..
(Google is your friend..)
http://refit.sourceforge.net/
http://refit.sourceforge.net/myths/
- Brynet-Inc
- Member
- Posts: 2426
- Joined: Tue Oct 17, 2006 9:29 pm
- Libera.chat IRC: brynet
- Location: Canada
- Contact:
What is it you don't understand? EFI?no_one wrote:I don't understand anything you said but I'll google it.
http://en.wikipedia.org/wiki/Extensible ... _Interface
It's simply the Mac OSX port of "QEMU", Which is an x86 emulator.. I don't think it supports EFI as of yet though..no_one wrote:1. Is Q a good emulator (or is it even an emulator) for testing an OS in Mac?
You keep asking this... but it totally depends on what you like using, Mac OSX includes the GNU toolchain IIRC, So you should have access to the GNU Assembler.. If you want to use NASM, go ahead... YASM has in my opinion a better licence.no_one wrote:2. Will I need to use NASM?.
Or, use, GRUB! La la la!Brynet-Inc wrote:So, If you know x86 assembly and how to write an EFI capable bootloader.. learn what type of hardware these systems have and go from there..
You might need to create a cross compiler as well.
C8H10N4O2 | #446691 | Trust the nodes.
- Colonel Kernel
- Member
- Posts: 1437
- Joined: Tue Oct 17, 2006 6:06 pm
- Location: Vancouver, BC, Canada
- Contact:
I also have an Intel iMac that I'm developing my OS on. However, I'm not targeting the Mac hardware (mainly because I don't want to learn about EFI just yet).
I use Parallels to test my OS, but that costs $$ so you might be out of luck there.
I use NASM because I never bothered to learn gas syntax.
I use Parallels to test my OS, but that costs $$ so you might be out of luck there.
I use NASM because I never bothered to learn gas syntax.
Top three reasons why my OS project died:
- Too much overtime at work
- Got married
- My brain got stuck in an infinite loop while trying to design the memory manager
- Brynet-Inc
- Member
- Posts: 2426
- Joined: Tue Oct 17, 2006 9:29 pm
- Libera.chat IRC: brynet
- Location: Canada
- Contact:
- Colonel Kernel
- Member
- Posts: 1437
- Joined: Tue Oct 17, 2006 6:06 pm
- Location: Vancouver, BC, Canada
- Contact:
I forgot it because I never use it.
Probably no one pointed that out to me three years ago when I chose the assembler to use in my OS project, and I've never bothered to re-examine that decision since. ![Very Happy :D](./images/smilies/icon_biggrin.gif)
![Smile :)](./images/smilies/icon_smile.gif)
![Very Happy :D](./images/smilies/icon_biggrin.gif)
Top three reasons why my OS project died:
- Too much overtime at work
- Got married
- My brain got stuck in an infinite loop while trying to design the memory manager
-
- Member
- Posts: 2566
- Joined: Sun Jan 14, 2007 9:15 pm
- Libera.chat IRC: miselin
- Location: Sydney, Australia (I come from a land down under!)
- Contact:
I used to use NASM. Now I've switched to GAS (with the AT&T syntax) and I have tried to use the intel syntax several times. I've failed, unfortunately.Brynet-Inc wrote:gas has had support for intel syntax for years now... I wonder why people keep forgetting this.
Either way, there's something about the GAS syntax that I really like. I just don't know what it is
![Laughing :lol:](./images/smilies/icon_lol.gif)
- Brynet-Inc
- Member
- Posts: 2426
- Joined: Tue Oct 17, 2006 9:29 pm
- Libera.chat IRC: brynet
- Location: Canada
- Contact:
NASM
The Mac dev tools (X-code) include NASM.
I've recently upgraded to a Mac from a PC and have started to move my OS dev project over.
So far I have built a cross compiler, which seems to work.
For emulation Q, Bochs and now VMWare are available, though I haven't yet got that far.
Good luck
I've recently upgraded to a Mac from a PC and have started to move my OS dev project over.
So far I have built a cross compiler, which seems to work.
For emulation Q, Bochs and now VMWare are available, though I haven't yet got that far.
Good luck