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

Last change on this file since 598 was 598, checked in by aitotat, 3 years ago

Windows 95 CMOS hack broke on last commit. Windows 95 DID require that CMOS byte 12h had drive 0 set. Drive 1 was not enough. Now there is detection for Award BIOSes and the CMOS hack won't be applied on those.

File size: 4.2 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-2013 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; Allow RELOCATE_INT13H_STACK only for AT builds
21%ifndef USE_AT
22    %ifdef RELOCATE_INT13H_STACK
23        %undef RELOCATE_INT13H_STACK
24        %warning "RELOCATE_INT13H_STACK is not supported for XT builds!"
25    %endif
26%endif
27
28%ifdef MODULE_SERIAL_FLOPPY
29    %ifndef MODULE_SERIAL
30        %define MODULE_SERIAL
31    %endif
32%endif
33
34%ifdef MODULE_8BIT_IDE_ADVANCED
35    %define MODULE_8BIT_IDE
36    %include "DmaController.inc"
37    %include "XTCF.inc"             ; For Lo-tech XT-CF
38    %include "JRIDE_ISA.inc"        ; For JR-IDE/ISA
39    %include "ADP50L.inc"           ; For SVC ADP50L
40%endif
41
42%ifdef MODULE_8BIT_IDE
43    %include "IDE_8bit.inc"         ; For IDE 8-bit data port macros
44%endif
45
46%ifdef MODULE_ADVANCED_ATA
47    %ifndef USE_386
48        %error "MODULE_ADVANCED_ATA requires USE_386!"
49    %endif
50    %include "AdvancedID.inc"
51    %include "PDC20x30.inc"         ; For Promise PDC 20230-C and 20630 controllers
52    %include "Vision.inc"           ; For QDI Vision QD65xx VLB IDE Controllers
53%endif
54
55%ifdef MODULE_WIN95_CMOS_HACK
56    %ifndef USE_386
57        %error "MODULE_WIN95_CMOS_HACK requires USE_386!"
58    %endif
59%endif
60
61%ifdef MODULE_COMPATIBLE_TABLES
62    %include "CompatibleDPT.inc"
63%endif
64
65%ifdef MODULE_EBIOS
66    %include "EBIOS.inc"            ; Equates for EBIOS functions
67%endif
68
69%ifdef MODULE_HOTKEYS
70    %include "HotkeyBar.inc"        ; For Hotkeys
71%endif
72
73%ifdef MODULE_BOOT_MENU
74    %include "BootMenu.inc"         ; For Boot Menu
75%endif
76
77%ifdef MODULE_BOOT_MENU OR MODULE_HOTKEYS
78    %define MODULE_DRIVEXLATE
79%endif
80
81%ifdef MODULE_IRQ
82    %include "IntController.inc"
83%endif
84
85
86; Included modules for ROMVARS.wFlags
87%ifdef MODULE_8BIT_IDE
88    MAIN_FLG_MODULE_8BIT_IDE            EQU FLG_ROMVARS_MODULE_8BIT_IDE
89%else
90    MAIN_FLG_MODULE_8BIT_IDE            EQU 0
91%endif
92
93%ifdef MODULE_ADVANCED_ATA
94    MAIN_FLG_MODULE_ADVANCED_ATA        EQU FLG_ROMVARS_MODULE_ADVANCED_ATA
95%else
96    MAIN_FLG_MODULE_ADVANCED_ATA        EQU 0
97%endif
98
99%ifdef MODULE_BOOT_MENU
100    MAIN_FLG_MODULE_BOOT_MENU           EQU FLG_ROMVARS_MODULE_BOOT_MENU
101%else
102    MAIN_FLG_MODULE_BOOT_MENU           EQU 0
103%endif
104
105%ifdef MODULE_EBIOS
106    MAIN_FLG_MODULE_EBIOS               EQU FLG_ROMVARS_MODULE_EBIOS
107%else
108    MAIN_FLG_MODULE_EBIOS               EQU 0
109%endif
110
111%ifdef MODULE_HOTKEYS
112    MAIN_FLG_MODULE_HOTKEYS             EQU FLG_ROMVARS_MODULE_HOTKEYS
113%else
114    MAIN_FLG_MODULE_HOTKEYS             EQU 0
115%endif
116
117%ifdef MODULE_IRQ
118    MAIN_FLG_MODULE_IRQ                 EQU FLG_ROMVARS_MODULE_IRQ
119%else
120    MAIN_FLG_MODULE_IRQ                 EQU 0
121%endif
122
123%ifdef MODULE_SERIAL
124    MAIN_FLG_MODULE_SERIAL              EQU FLG_ROMVARS_MODULE_SERIAL
125%else
126    MAIN_FLG_MODULE_SERIAL              EQU 0
127%endif
128
129%ifdef MODULE_SERIAL_FLOPPY
130    MAIN_FLG_MODULE_SERIAL_FLOPPY       EQU FLG_ROMVARS_MODULE_SERIAL_FLOPPY
131%else
132    MAIN_FLG_MODULE_SERIAL_FLOPPY       EQU 0
133%endif
134
135%ifdef MODULE_STRINGS_COMPRESSED
136    MAIN_FLG_MODULE_STRINGS_COMPRESSED  EQU FLG_ROMVARS_MODULE_STRINGS_COMPRESSED
137%else
138    MAIN_FLG_MODULE_STRINGS_COMPRESSED  EQU 0
139%endif
140
141%ifdef MODULE_POWER_MANAGEMENT
142    MAIN_FLG_MODULE_POWER_MANAGEMENT    EQU FLG_ROMVARS_MODULE_POWER_MANAGEMENT
143%else
144    MAIN_FLG_MODULE_POWER_MANAGEMENT    EQU 0
145%endif
146
147%ifdef MODULE_8BIT_IDE_ADVANCED
148    MAIN_FLG_MODULE_8BIT_IDE_ADVANCED   EQU FLG_ROMVARS_MODULE_8BIT_IDE_ADVANCED
149%else
150    MAIN_FLG_MODULE_8BIT_IDE_ADVANCED   EQU 0
151%endif
152
153MASK_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.