[Previous] - [Main menu] - [Next]
Build 0001

Bootsector

Omega Partitionformat


Purpose

The purpose of the bootsector is to load the OS Launch program from the Omega Filesystem and transfer execution to it.


Assemble Code (NASM style)

;*****************************
;*     Omega Bootsector      *
;*  (C) 1999   LKT Software  *
;*****************************
;* Written  : 24/01-1999     *
;* Build nr : 0001
;*****************************

;Select the correct video mode so error messages are visible.

;On FAT systems the code should check if all code has been loaded.
;If this fails an error message is written.

;Calculate LBA address of the OS Launch program. The LFAT ID of the program
;is part of the Partition Structure Data area. It calculates the accurate LBA
;address by adding the Partition Start address from the Partition Data area.

;Then it load the program into memory

;Transfer execution

;------------------------Beginning of bootsector code -----------------------
        jmp     Start

ParStruc:
        DB      014h, 002h, 001h, 000h                                          ; Signature
        DB      000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h                  ; Serial number
        DB      000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h      ; LFAT ID of OS Launch program
        DB      000h                                                            ; Disc type
        DB      000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h      ; Partition size
        DB      000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h      ; LBA address of SUM 1
        DB      000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h      ; LBA address of SUM 2
        DB      000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h      ; Length of each SUM
        DB      000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h      ; LBA address of LFAT 1
        DB      000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h      ; LBA address of LFAT 2
        DB      000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h      ; Length of each LFAT
        DB      000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h      ; Reserved
        DB      000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h      ; Reserved
        DB      000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h, 000h      ; Reserved
        DB      000h                                                            ; Reserved

Start: