OSDev's Interrupt List

All about the OSDev Wiki. Discussions about the organization and general structure of articles and how to use the wiki. Request changes here if you don't know how to use the wiki.
User avatar
Bender
Member
Member
Posts: 449
Joined: Wed Aug 21, 2013 3:53 am
Libera.chat IRC: bender|
Location: Asia, Singapore

Re: OSDev's Interrupt List

Post by Bender »

Hello,
I made a quick list of what BIOS Calls bootloader developers often use:
This list is entirely based on my opinion YMMV.
1. BIOS Set VGA Mode (Most of the people will use VBE, but many will set the video mode 80x25, just to make sure they are in a known video mode)
2. BIOS Output Character (Again not much needed, Writing to Video memory is faster, however this BIOS call does a lot of things like sets the hardware cursor, Checks for the video mode before printing etc.)
3. VBE get Mode Information
4. VBE set video mode
5. BIOS get total memory.
6. BIOS Get memory map.
7. BIOS Keyboard Services
8. Reboot (0x19)
9. Disk Absolute Read
10. Disk Absolute Write (Would this be needed? Why would a boot loader write to disk? Mostly for some error log if so.)
11. PCI BIOS (Mostly for PCI Installation Check)
12. BIOS Enable A20.
For an OS that runs in Protected Mode or Long Mode I think these calls should be enough for its Boot loader.
EDIT: Voltek's point was valid.
-Bender
Last edited by Bender on Sun Mar 02, 2014 11:22 pm, edited 3 times in total.
"In a time of universal deceit - telling the truth is a revolutionary act." -- George Orwell
(R3X Runtime VM)(CHIP8 Interpreter OS)
User avatar
VolTeK
Member
Member
Posts: 815
Joined: Sat Nov 15, 2008 2:37 pm
Location: The Fire Nation

Re: OSDev's Interrupt List

Post by VolTeK »

Bender wrote:I made a quick list of what BIOS Calls System programmers will require
I use <Systems Programming Project> because it may be something other than an OS Project.


That is, and will always be, an Opinion. If i wanted a list of the tools id need for making my <Systems Programming Project>, id also ask for the experience of the list maker. What <Systems Programming Project> has he/she made? Why should my <Systems Programming Project> use his/her list, and what if what i want, isn't in that list? Maybe my <Systems Programming Project> will be better than his/hers, and his/her list is limiting my design. Why have a list at all? Why not just read one containing every interrupt, and follow the steps in the wiki. Look up based on what you feel you need. Not from a set list. What if what you need is not in the list? This will fool beginners into thinking they will only ever need what is on that list.

I'm also getting at the fact that, the list is an Opinion of what it should be based on the common experience of <Systems Programming Project> developers of the forum. There is no Set List.
User avatar
Bender
Member
Member
Posts: 449
Joined: Wed Aug 21, 2013 3:53 am
Libera.chat IRC: bender|
Location: Asia, Singapore

Re: OSDev's Interrupt List

Post by Bender »

@VolTek:
I agree. The list isn't accurate, and system programming can involve a lot of different things like firmware and SMM code,
however it covers the calls that are often used in Boot Loaders, others may have different needs like
they may be writing real mode OSes, which will use possibly more BIOS calls (including but not limited to Serial Communication, Pixel Routines and miscellaneous services),
I think I should've made it more clear by saying "BIOS calls what Boot Loader developers often require."
Post edited.
-Bender
"In a time of universal deceit - telling the truth is a revolutionary act." -- George Orwell
(R3X Runtime VM)(CHIP8 Interpreter OS)
Antti
Member
Member
Posts: 923
Joined: Thu Jul 05, 2012 5:12 am
Location: Finland

Re: OSDev's Interrupt List

Post by Antti »

It is sad if Ralf read the message and really wanted to ignore the whole thing. I freeze this project for now and get back to this later. Although I am not actively advancing this project, I think this might be a good idea.
AbstractYouShudNow
Member
Member
Posts: 92
Joined: Tue Aug 14, 2012 8:51 am

Re: OSDev's Interrupt List

Post by AbstractYouShudNow »

Essentially, it seems like all we want is to list in the wiki a small list of BIOS interrupts that are useful to bootloader development (real mode OS' are a dying specie nowadays). I'm no legal expert, but I'm pretty sure that M. Ralph Brown has not become the owner of the "which numbers to put in which registers in order to do which things". To my poor legal knowledge, all he owns is "the text he has written", I don't think there is any legal owner of the information condensed in this text.

As an alternative, M. Brown had to get that information from somewhere, and we could very well find the same information from other sources. I first thought of Wikipedia, which has some information on some very common interrupts, although very generic, but is Creative-Commons-licensed.

To find more, I had a fun time playing the n00b guy and typing very simple questions (like "How to read sectors using BIOS") on Google. Apart from a few BIOS modding tutorials (yes, I'd never thought of doing that), I found two potential sources that id NOT Ralph Brown's: At the very least, maybe we could get a list of common interrupts from famous BIOS manufacturers like Phoenix, although I somehow doubt it.
mikegonta
Member
Member
Posts: 229
Joined: Thu May 19, 2011 5:13 am
Contact:

Re: OSDev's Interrupt List

Post by mikegonta »

Mike Gonta
look and see - many look but few see

https://mikegonta.com
Benzene44
Posts: 1
Joined: Tue Jul 21, 2015 3:48 pm
Libera.chat IRC: Benzene44

Re: OSDev's Interrupt List

Post by Benzene44 »

Antti wrote:There might be copyright issues or is the Ralf Brown's list public domain?
I don't know if the following applies to everything in all zip files (but it really seems like it should). In the first zip file Ralf Brown provides (inter61a.zip), there is a text file named RBROWN.TXT. In said file it says at the top "Public Domain/Freeware/Shareware by Ralf Brown:" and then goes on to list inter61a through inter61f.

Seems public domain to me. People also make reference to it elsewhere and it has not caused problems as far as I can see.

Sorry if I am wrong.
Post Reply