Calling all ASSEMBLER programmers!
Um, yep.
I'm working on writing an operating system, and i am stuck at the bootsector. I need to know how to load 8 sectors, starting at the second sector on the disk, then execute it without creating a filesystem or anything like it.
/** edit: help wanted goes in the help wanted section. -fel **/
Edited by - felisandria on 11/13/00 12:08:53 PM
I would suggest that you take a look at all virus (viri) cretaing sites. They usually have very good texts on bootsectors. I myself have used that information when experimenting with a bootloader, like bootmagic.
The simple answer is to use BIOS. Exactly how is a far more involved answer. You might want to start with a book like The BIOS Companion. I doubt it will tell you precisely what you need to know, but it will at least give you a good idea of the things you should consider.
Keys to success: Ability, ambition and opportunity.
Hi
i allready did that..
i am (who does not) working at my own OS (besides my ASM RTS GAME)
i can help you, but i think this is alittle off topic...so u should use my email: bogdanontanu@yahoo.com
As a fast answer:
write the first sector to do the job (dont forget the 055AAh signature at the end) BIOS will load it at 7C00:0000 and start execute it. After that u have to use "int 13h" to load the rest of your program: sector after sector and track after track
into some address that you choose (intialize stack also )
After that u have to enable A20 line, reprogram the Interupt controller PIC 8259 then build valid GDT and LDT tables and switch to Protected Mode....the rest is (silence) more work to read keyboard, install interupts handler, make drivers for Floppy, harddrive, Video Board, Mother board.....and lots of other things....(like the kernel)
I have done all that only i cant corectly setup interupt handlers (and exceptions)...but i leaved it like that because i started to work at THE GAME...
Call me...
Bogdan
i allready did that..
i am (who does not) working at my own OS (besides my ASM RTS GAME)
i can help you, but i think this is alittle off topic...so u should use my email: bogdanontanu@yahoo.com
As a fast answer:
write the first sector to do the job (dont forget the 055AAh signature at the end) BIOS will load it at 7C00:0000 and start execute it. After that u have to use "int 13h" to load the rest of your program: sector after sector and track after track
into some address that you choose (intialize stack also )
After that u have to enable A20 line, reprogram the Interupt controller PIC 8259 then build valid GDT and LDT tables and switch to Protected Mode....the rest is (silence) more work to read keyboard, install interupts handler, make drivers for Floppy, harddrive, Video Board, Mother board.....and lots of other things....(like the kernel)
I have done all that only i cant corectly setup interupt handlers (and exceptions)...but i leaved it like that because i started to work at THE GAME...
Call me...
Bogdan
obysoft
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement
Recommended Tutorials
Advertisement