Smile Boot Loader v1.27b rev1

This forums is for OS project announcements including project openings, new releases, update notices, test requests, and job openings (both paying and volunteer).
Post Reply
User avatar
Karlosoft
Member
Member
Posts: 277
Joined: Thu Feb 14, 2008 10:46 am
Location: Italy
Contact:

Smile Boot Loader v1.27b rev1

Post by Karlosoft »

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 ;)
Attachments
sbl1.27.rar
SBL core 1.27. You have just to copy it to replace the old one ;)
(8.3 KiB) Downloaded 106 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.
User avatar
Karlosoft
Member
Member
Posts: 277
Joined: Thu Feb 14, 2008 10:46 am
Location: Italy
Contact:

Re: Smile Boot Loader v1.27b rev2

Post by Karlosoft »

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
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.
User avatar
Karlosoft
Member
Member
Posts: 277
Joined: Thu Feb 14, 2008 10:46 am
Location: Italy
Contact:

Re: Smile Boot Loader v0.89b rev1

Post by Karlosoft »

updated :)
Attachments
console2.PNG
console2.PNG (9.75 KiB) Viewed 3914 times
console1.PNG
console1.PNG (8.25 KiB) Viewed 3914 times
User avatar
Karlosoft
Member
Member
Posts: 277
Joined: Thu Feb 14, 2008 10:46 am
Location: Italy
Contact:

Re: Smile Boot Loader v1.27b rev1

Post by Karlosoft »

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)
Post Reply