source: xtideuniversalbios/trunk/XTIDE_Universal_BIOS/Inc/ModuleDependency.inc @ 625

Last change on this file since 625 was 625, checked in by krille_n_, 14 months ago

Changes:

  • Added a configuration option to let the BIOS store RamVars to an UMB when Full operating mode is enabled. This is primarily for XT class machines with RAM in the UMA (which apparently is a common thing these days).
  • Added two new builds specifically for IBM PS/2 machines. This is for support of the new McIDE adapter from the guys at zzxio.com. Note that the additional hardware specific code (under the USE_PS2 define) is for the PS/2 machines themselves and not for the McIDE adapters, so any controller in an IBM PS/2 machine can be used with the USE_PS2 define.
  • Moved pColorTheme out of the range of ROMVARS being copied over when doing "Load old settings from EEPROM" in XTIDECFG. This fixed a serious bug from r592 where loading a BIOS from file and then loading the old settings from ROM would corrupt 7 bytes of code somewhere in the loaded BIOS.
  • Optimizations (speed and size) to the library. Browsing the menus in XTIDECFG should now feel a little less sluggish.
  • Hopefully fixed a problem with the PostCommitHook script where it sometimes wouldn't find the CommitInProgress file. I say hopefully because testing this is a nightmare.
File size: 4.3 KB
Line 
1; Project name  :   XTIDE Universal BIOS
2; Description   :   Dependencies for optional modules.
3
4;
5; XTIDE Universal BIOS and Associated Tools
6; Copyright (C) 2009-2010 by Tomi Tilli, 2011-2023 by XTIDE Universal BIOS Team.
7;
8; This program is free software; you can redistribute it and/or modify
9; it under the terms of the GNU General Public License as published by
10; the Free Software Foundation; either version 2 of the License, or
11; (at your option) any later version.
12;
13; This program is distributed in the hope that it will be useful,
14; but WITHOUT ANY WARRANTY; without even the implied warranty of
15; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16; GNU General Public License for more details.
17; Visit http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
18;
19
20%ifdef USE_PS2
21    %ifndef USE_AT
22        %define USE_AT
23    %endif
24%endif
25
26; Allow RELOCATE_INT13H_STACK only for AT builds
27%ifndef USE_AT
28    %ifdef RELOCATE_INT13H_STACK
29        %undef RELOCATE_INT13H_STACK
30        %warning "RELOCATE_INT13H_STACK is not supported for XT builds!"
31    %endif
32%endif
33
34%ifdef MODULE_SERIAL_FLOPPY
35    %ifndef MODULE_SERIAL
36        %define MODULE_SERIAL
37    %endif
38%endif
39
40%ifdef MODULE_8BIT_IDE_ADVANCED
41    %define MODULE_8BIT_IDE
42    %include "DmaController.inc"
43    %include "XTCF.inc"             ; For Lo-tech XT-CF
44    %include "JRIDE_ISA.inc"        ; For JR-IDE/ISA
45    %include "ADP50L.inc"           ; For SVC ADP50L
46%endif
47
48%ifdef MODULE_8BIT_IDE
49    %include "IDE_8bit.inc"         ; For IDE 8-bit data port macros
50%endif
51
52%ifdef MODULE_ADVANCED_ATA
53    %ifndef USE_386
54        %error "MODULE_ADVANCED_ATA requires USE_386!"
55    %endif
56    %include "AdvancedID.inc"
57    %include "PDC20x30.inc"         ; For Promise PDC 20230-C and 20630 controllers
58    %include "Vision.inc"           ; For QDI Vision QD65xx VLB IDE Controllers
59%endif
60
61%ifdef MODULE_WIN9X_CMOS_HACK
62    %ifndef USE_386
63        %error "MODULE_WIN9X_CMOS_HACK requires USE_386!"
64    %endif
65%endif
66
67%ifdef MODULE_COMPATIBLE_TABLES
68    %include "CompatibleDPT.inc"
69%endif
70
71%ifdef MODULE_EBIOS
72    %include "EBIOS.inc"            ; Equates for EBIOS functions
73%endif
74
75%ifdef MODULE_HOTKEYS
76    %include "HotkeyBar.inc"        ; For Hotkeys
77%endif
78
79%ifdef MODULE_BOOT_MENU
80    %include "BootMenu.inc"         ; For Boot Menu
81%endif
82
83%ifdef MODULE_BOOT_MENU OR MODULE_HOTKEYS
84    %define MODULE_DRIVEXLATE
85%endif
86
87%ifdef MODULE_IRQ
88    %include "IntController.inc"
89%endif
90
91
92; Included modules for ROMVARS.wFlags
93%ifdef MODULE_8BIT_IDE
94    MAIN_FLG_MODULE_8BIT_IDE            EQU FLG_ROMVARS_MODULE_8BIT_IDE
95%else
96    MAIN_FLG_MODULE_8BIT_IDE            EQU 0
97%endif
98
99%ifdef MODULE_ADVANCED_ATA
100    MAIN_FLG_MODULE_ADVANCED_ATA        EQU FLG_ROMVARS_MODULE_ADVANCED_ATA
101%else
102    MAIN_FLG_MODULE_ADVANCED_ATA        EQU 0
103%endif
104
105%ifdef MODULE_BOOT_MENU
106    MAIN_FLG_MODULE_BOOT_MENU           EQU FLG_ROMVARS_MODULE_BOOT_MENU
107%else
108    MAIN_FLG_MODULE_BOOT_MENU           EQU 0
109%endif
110
111%ifdef MODULE_EBIOS
112    MAIN_FLG_MODULE_EBIOS               EQU FLG_ROMVARS_MODULE_EBIOS
113%else
114    MAIN_FLG_MODULE_EBIOS               EQU 0
115%endif
116
117%ifdef MODULE_HOTKEYS
118    MAIN_FLG_MODULE_HOTKEYS             EQU FLG_ROMVARS_MODULE_HOTKEYS
119%else
120    MAIN_FLG_MODULE_HOTKEYS             EQU 0
121%endif
122
123%ifdef MODULE_IRQ
124    MAIN_FLG_MODULE_IRQ                 EQU FLG_ROMVARS_MODULE_IRQ
125%else
126    MAIN_FLG_MODULE_IRQ                 EQU 0
127%endif
128
129%ifdef MODULE_SERIAL
130    MAIN_FLG_MODULE_SERIAL              EQU FLG_ROMVARS_MODULE_SERIAL
131%else
132    MAIN_FLG_MODULE_SERIAL              EQU 0
133%endif
134
135%ifdef MODULE_SERIAL_FLOPPY
136    MAIN_FLG_MODULE_SERIAL_FLOPPY       EQU FLG_ROMVARS_MODULE_SERIAL_FLOPPY
137%else
138    MAIN_FLG_MODULE_SERIAL_FLOPPY       EQU 0
139%endif
140
141%ifdef MODULE_STRINGS_COMPRESSED
142    MAIN_FLG_MODULE_STRINGS_COMPRESSED  EQU FLG_ROMVARS_MODULE_STRINGS_COMPRESSED
143%else
144    MAIN_FLG_MODULE_STRINGS_COMPRESSED  EQU 0
145%endif
146
147%ifdef MODULE_POWER_MANAGEMENT
148    MAIN_FLG_MODULE_POWER_MANAGEMENT    EQU FLG_ROMVARS_MODULE_POWER_MANAGEMENT
149%else
150    MAIN_FLG_MODULE_POWER_MANAGEMENT    EQU 0
151%endif
152
153%ifdef MODULE_8BIT_IDE_ADVANCED
154    MAIN_FLG_MODULE_8BIT_IDE_ADVANCED   EQU FLG_ROMVARS_MODULE_8BIT_IDE_ADVANCED
155%else
156    MAIN_FLG_MODULE_8BIT_IDE_ADVANCED   EQU 0
157%endif
158
159MASK_ROMVARS_INCLUDED_MODULES   EQU MAIN_FLG_MODULE_8BIT_IDE | MAIN_FLG_MODULE_ADVANCED_ATA | MAIN_FLG_MODULE_BOOT_MENU | MAIN_FLG_MODULE_EBIOS | MAIN_FLG_MODULE_HOTKEYS | MAIN_FLG_MODULE_IRQ | MAIN_FLG_MODULE_SERIAL | MAIN_FLG_MODULE_SERIAL_FLOPPY | MAIN_FLG_MODULE_STRINGS_COMPRESSED | MAIN_FLG_MODULE_POWER_MANAGEMENT | MAIN_FLG_MODULE_8BIT_IDE_ADVANCED
Note: See TracBrowser for help on using the repository browser.