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

Last change on this file since 109 was 109, checked in by aitotat, 13 years ago

Changes to Configurator v2:

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