source: xtideuniversalbios/trunk/XTIDE_Universal_BIOS/Inc/BootMenu.inc @ 284

Last change on this file since 284 was 284, checked in by gregli@…, 12 years ago

Increased the width of the drive Model name that the boot menu display, better accomodating serial drives on auto detect which include the COM port and baud rate information.

File size: 1.9 KB
Line 
1; Project name  :   XTIDE Universal BIOS
2; Description   :   Equates and structs used in Boot Menu.
3%ifndef BOOTMENU_INC
4%define BOOTMENU_INC
5
6; Boot menu sizes
7BOOT_MENU_TITLE_LINES                   EQU 2   ; Number of title lines
8BOOT_MENU_INFO_LINES                    EQU 3   ; Number of info lines
9BOOT_MENU_SEPARATOR_LINES_PLUS_SHADOW   EQU 5
10BOOT_MENU_TITLE_AND_INFO_LINES          EQU (BOOT_MENU_TITLE_LINES | (BOOT_MENU_INFO_LINES<<8))
11BOOT_MENU_WIDTH                         EQU 40  ; Menu width in characters (including shadow)
12BOOT_MENU_HEIGHT_WITHOUT_ITEMS          EQU (BOOT_MENU_TITLE_LINES + BOOT_MENU_INFO_LINES + BOOT_MENU_SEPARATOR_LINES_PLUS_SHADOW)
13MENU_SCREEN_BOTTOM_LINES                EQU 1
14
15; Hotkeys
16ROM_BOOT_HOTKEY_SCANCODE                EQU 42h ; F8
17
18
19; Boot Menu Information Table. These are generated for all XTIDE Universal
20; BIOS drives. Available only until boot is successfull.
21MAX_HARD_DISK_NAME_LENGTH               EQU     30      ; Bytes reserved for drive name
22
23struc BOOTMENUINFO
24    .szDrvName      resb    MAX_HARD_DISK_NAME_LENGTH
25                    resb    2       ; Zero word (ensures string terminates)
26                    resb    4       ; padding to make BOOTMENUINFO size an even multiple of DPT size
27endstruc
28
29DPT_BOOTMENUINFO_SIZE_MULTIPLIER  equ   BOOTMENUINFO_size / LARGEST_DPT_SIZE
30
31%ifndef CHECK_FOR_UNUSED_ENTRYPOINTS               
32
33%if MAX_HARD_DISK_NAME_LENGTH % 2 <> 0
34%error "MAX_HARD_DISK_NAME_LENGTH needs to be a multiple of 2, memory is moved with word operations."
35%endif
36
37%if BOOTMENUINFO_size % LARGEST_DPT_SIZE <> 0
38%error "BOOTMENUINFO's size must be an even multiple of DPT's size.  Add or remove padding at the bottom of BOOTMENUINFO to bring the two sizes into alignment.  As BOOTMENUINFO is only used at boot time, with plenty of memory to consume, it is OK to waste some space here."
39%endif
40
41%if BOOTMENUINFO.szDrvName <> 0
42%error "BOOTMENUINFO.szDrvName is assumed to be the first member of struc BOOTMENUINFO, in BootMenuPrint_RefreshItem"
43%endif
44
45%endif
46
47
48%endif ; BOOTMENU_INC
Note: See TracBrowser for help on using the repository browser.