Introduction
Hi, this is the first version of SBL a real mode bootloader for x86 arch. Some system requirements:
- Intel 80386+ processor: This bootloader isn't designed in order to be used on old 16bit machines.
- VGA capable videocard.
- VBE 2.0+ (optional): The bootloader is VBE capable.
- Serial port (not yet enabled)
- A floppy drive
What can SBL do?
SBL is a small bootloader (about 20kb) which allows you to load different profiles with an integrated scripting languages close to BASIC. Many commands will be added in the future. You can load files from the floppy disk in every part of your memory (but the first 64kb block should be kept free for the bootloader). I said EVERY PART of the memory, because it uses the unreal mode in order to access to a 32bit linear space of memory.
The filesystem used is fat12 and it is able to load only the files in the root directory (I'll soon add the possibility to browse between the directories.
SBL can also init the best VBE mode for your system. After it loads your files it can make a long jump around all the first megabyte of memory.
REMEMBER! The jump left you still in unreal mode, but the segment registers may be trashed!
REMEMBER! It enables for you the A20 gate
The real mode table
SBL also give you some important information about the current mode used, and the free memory of your system.
0xde00 ---> current video mode VBE struct
0xdf00 ---> 'VBE2' signature if SBL has enabled a VBE mode
0xe000 ---> Memory map (24byte BIOS map)
More features will be added ASAP.
P.S Read the README.txt file for more info
Smile Boot Loader v1.27b rev1
Smile Boot Loader v1.27b rev1
- Attachments
-
- sbl1.27.rar
- SBL core 1.27. You have just to copy it to replace the old one ;)
- (8.3 KiB) Downloaded 105 times
-
- sbl0.89.rar
- (18.69 KiB) Downloaded 96 times
Last edited by Karlosoft on Thu Feb 10, 2011 1:03 pm, edited 2 times in total.
Re: Smile Boot Loader v1.27b rev2
Smile boot loader commands rev2
Added some new commands.
This is important! The language is case sensitive!
º cls <--It clears the screen
º message msg <--It display a message
º ret <--It reloads SmileBoot
º pause <-- Press a key to continue
º type file <--It prints a file on screen
º dump file <--It shows the hex of a file
º load file address <--It loads a file at phy address
º jmp seg:off <-- It jumps to a location. Remember that the code offset is still 16bit
º videomode WIDTHxHEIGHTxDEPTH(BITS) <--It sets the video mode (h,w,d)
º dir <--It list a directory
º cd dir <--It change the current dir
How to write a bootconf.txt file
bootconf.txt is the file that SBL looks for in the root of your filesystem. It contains all the commands and the profiles that the bootloader has to show.
The first part contains the profiles prototypes
profile nameofmodule
There is any rule about the name, but the \n char ends the line.
The header section ends with a end profiles
After this you have to write the script for every profile defined
module nameofmodule
#script here
end
Added some new commands.
This is important! The language is case sensitive!
º cls <--It clears the screen
º message msg <--It display a message
º ret <--It reloads SmileBoot
º pause <-- Press a key to continue
º type file <--It prints a file on screen
º dump file <--It shows the hex of a file
º load file address <--It loads a file at phy address
º jmp seg:off <-- It jumps to a location. Remember that the code offset is still 16bit
º videomode WIDTHxHEIGHTxDEPTH(BITS) <--It sets the video mode (h,w,d)
º dir <--It list a directory
º cd dir <--It change the current dir
How to write a bootconf.txt file
bootconf.txt is the file that SBL looks for in the root of your filesystem. It contains all the commands and the profiles that the bootloader has to show.
The first part contains the profiles prototypes
profile nameofmodule
There is any rule about the name, but the \n char ends the line.
The header section ends with a end profiles
After this you have to write the script for every profile defined
module nameofmodule
#script here
end
- Attachments
-
- credits.txt
- The newest guide rev 2
- (2.46 KiB) Downloaded 84 times
Last edited by Karlosoft on Thu Feb 10, 2011 12:59 pm, edited 1 time in total.
Re: Smile Boot Loader v0.89b rev1
updated
- Attachments
-
- console2.PNG (9.75 KiB) Viewed 3912 times
-
- console1.PNG (8.25 KiB) Viewed 3912 times
Re: Smile Boot Loader v1.27b rev1
Next steps
- Add the serial support
- Enable it to be used on other devices and add the fat16 fs support
- Add a default code to jump in real or in protected mode
- Enable it to be called again from kernel for some reasons (change VESA mode for example)
- Fit it in less space
- Add the support for more different kinds of exe files
- Protect the memory (as far as I can in unreal mode)
- Add an utility like debug in windows (I really like it XD)
- Add the serial support
- Enable it to be used on other devices and add the fat16 fs support
- Add a default code to jump in real or in protected mode
- Enable it to be called again from kernel for some reasons (change VESA mode for example)
- Fit it in less space
- Add the support for more different kinds of exe files
- Protect the memory (as far as I can in unreal mode)
- Add an utility like debug in windows (I really like it XD)