source: xtideuniversalbios/trunk/XTIDE_Universal_BIOS_Configurator_v2/Inc/Variables.inc@ 366

Last change on this file since 366 was 290, checked in by aitotat@…, 13 years ago

Changes to Configurator v2:

  • Added option to disable boot menu.
File size: 2.8 KB
Line 
1; Project name : XTIDE Univeral BIOS Configurator v2
2; Description : Global variables for configuration program.
3%ifndef VARIABLES_INC
4%define VARIABLES_INC
5
6; Equates and defines
7BOOT_MENU_DEFAULT_TIMEOUT EQU (30 * TICKS_PER_SECOND)
8MAX_ALLOWED_IDE_CONTROLLERS EQU 4 ; Maximum number of IDE controllers
9MAX_LITE_MODE_CONTROLLERS EQU 2
10EEPROM_POLLING_TIMEOUT_TICKS EQU 3 ; 1 tick = 54.9 ms
11XTIDE_SIGNATURE_LENGTH EQU 8 ; XTIDE Universal BIOS signature string length
12NUMBER_OF_EEPROM_TYPES EQU 5
13MAX_EEPROM_SIZE_IN_BYTES EQU 65536
14
15
16; Program global variables
17struc CFGVARS
18 .pMenupage resb 2 ; Offset to MENUPAGE to display
19 .wFlags resb 2 ; Program flags
20 .wImageSizeInWords resb 2 ; Size in words for loaded ROM or FILE
21 .wEepromSegment resb 2 ; Segment where EEPROM is located
22 .bEepromType resb 1 ; EEPROM type
23 .bEepromPage resb 1 ; EEPROM page size (EEPROM_PAGE)
24 .bSdpCommand resb 1 ; Command for Software Data Protection
25 resb 1
26 .szOpenedFile resb FILENAME_BUFFER_SIZE
27endstruc
28
29; Bit defines for CFGVARS.wFlags
30FLG_CFGVARS_FILELOADED EQU (1<<0) ; BIOS is loaded from file
31FLG_CFGVARS_ROMLOADED EQU (1<<1) ; BIOS is loaded from EEPROM
32FLG_CFGVARS_UNSAVED EQU (1<<2) ; BIOS has unsaved changes
33FLG_CFGVARS_CHECKSUM EQU (1<<3) ; Generate checksum byte
34
35; EEPROM types
36struc EEPROM_TYPE
37 .2816_2kiB resb 2
38 .2864_8kiB resb 2
39 .2864_8kiB_MOD resb 2 ; Reversed A0 and A3 address lines
40 .28256_32kiB resb 2
41 .28512_64kiB resb 2
42endstruc
43
44; Software Data Protection commands
45struc SDP_COMMAND
46 .none resb 2 ; Do not use any SDP command
47 .enable resb 2 ; Flash with SDP enable command
48 .disable resb 2 ; Flash with SDP disable command
49endstruc
50
51; Page sizes
52struc EEPROM_PAGE
53 .1_byte resb 2
54 .2_bytes resb 2
55 .4_bytes resb 2
56 .8_bytes resb 2
57 .16_bytes resb 2
58 .32_bytes resb 2
59 .64_bytes resb 2
60endstruc
61
62; Default CFGVARS settings
63DEFAULT_CFGVARS_FLAGS EQU FLG_CFGVARS_CHECKSUM
64DEFAULT_EEPROM_SEGMENT EQU 0D000h
65DEFAULT_EEPROM_TYPE EQU EEPROM_TYPE.2864_8kiB
66DEFAULT_PAGE_SIZE EQU EEPROM_PAGE.1_byte
67DEFAULT_SDP_COMMAND EQU SDP_COMMAND.enable
68
69
70; Variables required for flashing
71struc FLASHVARS
72 .fpNextSourcePage resb 4
73 .fpNextComparisonPage resb 4
74 .fpNextDestinationPage resb 4
75 .wPagesToFlash resb 2 ; 0 = 65536
76 .wEepromPageSize resb 2 ; 1, 2, 4, 8, 16, 32 or 64
77 .bEepromSdpCommand resb 1
78 .bEepromType resb 1
79
80 .wProgressUpdateParam resb 2
81 .wTimeoutCounter resb 2
82 .wLastOffsetWritten resb 2
83 .bLastByteWritten resb 1
84 .flashResult resb 1
85endstruc
86
87; Flashing results
88struc FLASH_RESULT
89 .success resb 2
90 .PollingTimeoutError resb 2
91 .DataVerifyError resb 2
92endstruc
93
94
95%endif ; VARIABLES_INC
Note: See TracBrowser for help on using the repository browser.