OSDev.org

The Place to Start for Operating System Developers
It is currently Mon May 22, 2017 1:43 pm

All times are UTC - 6 hours




Post new topic Reply to topic  [ 22 posts ]  Go to page Previous  1, 2
Author Message
 Post subject: Re: OSDev's Interrupt List
PostPosted: Sun Mar 02, 2014 8:13 pm 
Offline
Member
Member
User avatar

Joined: Wed Aug 21, 2013 3:53 am
Posts: 449
Location: Asia, Singapore
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

_________________
"In a time of universal deceit - telling the truth is a revolutionary act." -- George Orwell
(R3X Runtime VM)(CHIP8 Interpreter OS)


Last edited by Bender on Sun Mar 02, 2014 11:22 pm, edited 3 times in total.

Top
 Profile  
 
 Post subject: Re: OSDev's Interrupt List
PostPosted: Sun Mar 02, 2014 10:55 pm 
Offline
Member
Member
User avatar

Joined: Sat Nov 15, 2008 2:37 pm
Posts: 809
Location: The Fire Nation
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.


Top
 Profile  
 
 Post subject: Re: OSDev's Interrupt List
PostPosted: Sun Mar 02, 2014 11:17 pm 
Offline
Member
Member
User avatar

Joined: Wed Aug 21, 2013 3:53 am
Posts: 449
Location: Asia, Singapore
@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)


Top
 Profile  
 
 Post subject: Re: OSDev's Interrupt List
PostPosted: Tue Mar 04, 2014 10:18 am 
Offline
Member
Member

Joined: Thu Jul 05, 2012 5:12 am
Posts: 822
Location: Finland
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.

_________________
Undefined behavior since 2012


Top
 Profile  
 
 Post subject: Re: OSDev's Interrupt List
PostPosted: Fri Mar 07, 2014 6:28 am 
Offline
Member
Member

Joined: Tue Aug 14, 2012 8:51 am
Posts: 92
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.


Top
 Profile  
 
 Post subject: Re: OSDev's Interrupt List
PostPosted: Fri Mar 07, 2014 3:48 pm 
Offline
Member
Member

Joined: Thu May 19, 2011 5:13 am
Posts: 192
AbstractYouShudNow wrote:
At the very least, maybe we could get a list of common interrupts from famous BIOS manufacturers like Phoenix, although I somehow doubt it.

IBM Technical Reference (1984)
PS2 and PC BIOS Interface Technical Reference (1987)
System BIOS for IBM PC/XT/AT Computers and Compatibles.pdf (1989)
AT BIOS Kit (1989)
PhoenixBIOS 4.0 User's Manual (2000)
PhoenixBIOS 4.0 Programmer’s Guide (2000)
Embedded BIOS 4.3 (2000)

_________________
Mike Gonta
look and see - many look but few see

http://mikegonta.com


Top
 Profile  
 
 Post subject: Re: OSDev's Interrupt List
PostPosted: Tue Jul 21, 2015 4:06 pm 
Offline

Joined: Tue Jul 21, 2015 3:48 pm
Posts: 1
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.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 22 posts ]  Go to page Previous  1, 2

All times are UTC - 6 hours


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group