fb:porticula NoPaste
core_multiboot.bi
Uploader: | ThePuppetMaster |
Datum/Zeit: | 26.08.2008 22:13:10 |
'###############################################################################################################
'###############################################################################################################
'### F B - C O R E
'###############################################################################################################
'###############################################################################################################
'### Version: 1.00.0
'### Revision: 0
'###############################################################################################################
'### (c) 2008 By.: /_\ DeltaLab's Germany [experimental computing]
'### Author: Martin Wiemann
'### Date of Idea: 2008.08.16 - 17:55:38
'###############################################################################################################
'### Copy('s) of this code or a part of this IS allowed!!!
'###############################################################################################################
'###############################################################################################################
Type MultiBoot_Drives_Type
V_Next as MultiBoot_Drives_Type Ptr
V_Num as UInteger
V_Mode as UInteger
V_Cylinder as UInteger
V_Heads as UInteger
V_Sectors as UInteger
' V_Ports as UInteger
End Type
Dim Shared Core_MBS_Drives as MultiBoot_Drives_Type Ptr
'--------------------------------------------------------------------------------------------------------------------
Type MultiBoot_Type
V_Flags as UInteger
V_Memsize_Low as UInteger
V_Memsize_High as UInteger
V_Boot_Device as UInteger
V_CMDLine as UInteger
V_Mods_Count as UInteger
V_Mods_Adr as UInteger
' V_Syms as ULongInt
V_mmap_Len as UInteger
V_mmap_Adr as UInteger
V_Drive_Len as UInteger
V_Drive_Adr as UInteger
V_ConfigTable as UInteger
V_BootLoaderName as UInteger
V_APMTable as UInteger
V_VBE_ControlInfo as UInteger
V_VBE_Mode_Info as UInteger
V_VBE_Mode as UInteger
V_VBE_Interface_Seg as UInteger
V_VBE_Interface_Off as UInteger
V_VBE_Interface_Len as UInteger
End Type
Dim Shared Core_MBS as MultiBoot_Type
'###############################################################################################################
Private Function Code_MultiBoot_Drives_Read() as Integer
If Core_MBS.V_Drive_Len <= 0 Then Return GURU_NoError
If Core_MBS.V_Drive_Adr <= 0 Then Return GURU_Multiboot_NoDriveAdr
'For X as UInteger = 1 to
'Core_MBS_Drives
Return GURU_NoError
End Function
'====================================================================================================================
Private Function Core_MultiBoot_Read() as Integer
If GRUB_MultiBoot_Magic <> 732803074 Then Return GURU_Multiboot_NoMagicKey
With Core_MBS
.V_Flags = Cast(UInteger, *(GRUB_MultiBoot_PTR + &H0))
.V_Memsize_Low = Cast(UInteger, *(GRUB_MultiBoot_PTR + &H1))
.V_Memsize_High = Cast(UInteger, *(GRUB_MultiBoot_PTR + &H2))
.V_Boot_Device = Cast(UInteger, *(GRUB_MultiBoot_PTR + &H3))
.V_CMDLine = Cast(UInteger, *(GRUB_MultiBoot_PTR + &H4))
.V_Mods_Count = Cast(UInteger, *(GRUB_MultiBoot_PTR + &H5))
.V_Mods_Adr = Cast(UInteger, *(GRUB_MultiBoot_PTR + &H6))
'.V_Sims1
.V_mmap_Len = Cast(UInteger, *(GRUB_MultiBoot_PTR + &H11))
.V_mmap_Adr = Cast(UInteger, *(GRUB_MultiBoot_PTR + &H12))
.V_Drive_Len = Cast(UInteger, *(GRUB_MultiBoot_PTR + &H13))
.V_Drive_Adr = Cast(UInteger, *(GRUB_MultiBoot_PTR + &H14))
.V_ConfigTable = Cast(UInteger, *(GRUB_MultiBoot_PTR + &H15))
.V_BootLoaderName = Cast(UInteger, *(GRUB_MultiBoot_PTR + &H16))
.V_APMTable = Cast(UInteger, *(GRUB_MultiBoot_PTR + &H17))
.V_VBE_ControlInfo = Cast(UInteger, *(GRUB_MultiBoot_PTR + &H18))
.V_VBE_Mode_Info = Cast(UInteger, *(GRUB_MultiBoot_PTR + &H19))
.V_VBE_Mode = Cast(UInteger, *(GRUB_MultiBoot_PTR + &H20))
.V_VBE_Interface_Seg = Cast(UInteger, *(GRUB_MultiBoot_PTR + &H21))
.V_VBE_Interface_Off = Cast(UInteger, *(GRUB_MultiBoot_PTR + &H22))
.V_VBE_Interface_Len = Cast(UInteger, *(GRUB_MultiBoot_PTR + &H23))
End With
Return Code_MultiBoot_Drives_Read()
End Function