BIOS interrupt calls can be thought of as a mechanism for passing messages between BIOS and BIOS client software such as an operating system. The messages request data or action from BIOS and return the requested data, status information, and/or the product of the requested action to the caller.
BIOS INTERRUPTS ( C) Function Call 0E:Write Character On CRT Screen And Advance Cursor Input Parameter:Ah = 0eh Al = ASCII Code Of The Character Bh = Page(text Mode) Bl = Color(graphics) Function: Display Character Available In Al On Screen INT 11h: Determine The Type Of Equipment Installed.
Protected mode is a 32-bit operating mode found on Intel 80286 or newer processors. It provides the access of addressing virtual memory, extended memory, and multitasking, while protecting programs from overwriting one another in memory.
BIOS provides keyboard service routines under INT 16H. We list here some examples. This BIOS function can be used to read a character from the keyboard. If the keyboard buffer is empty, it waits for a character to be entered.
I'm working on an operating system project, using isolinux (syslinux 4.5) as bootloader, loading my kernel with multiboot header organised at 0x200000.
As I know the kernel is already in 32-bit protected mode. My question: Is there any easier way to get access to BIOS Interrupts? (Basically I want 0x10 :D)
After loading, my kernel sets up its own GDT and IDT entries and further remaps IRQs. So, is it possible to jump into real mode just after the kernel is loaded and set up VGA/SVGA modes (VBE 2.0 mode). Then after I'll proceed with my kernel and jump into protected mode where I use VBE 2.0 physical buffer address to write onto screen? If yes how? I tried a lot but didn't get success :(
Side note: I searched a lot on internet and found that syslinux 1.x+ provides _intcall api, I'm not 100% sure about it. Refer to "syslinux 4.5\com32\lib\sys\initcall.c"
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With