This commit was generated by cvs2svn to compensate for changes in r2,
[btb/d2x.git] / unused / bios / swiftcfg.h
1 /*
2 THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX
3 SOFTWARE CORPORATION ("PARALLAX").  PARALLAX, IN DISTRIBUTING THE CODE TO
4 END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A
5 ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS
6 IN USING, DISPLAYING,  AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS
7 SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE
8 FREE PURPOSES.  IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE
9 CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES.  THE END-USER UNDERSTANDS
10 AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE.  
11 COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION.  ALL RIGHTS RESERVED.
12 */
13
14
15 #ifndef _SWIFTCFG_H
16 #define _SWIFTCFG_H
17
18 /* SWIFT configuration parameters                       */
19 /* used to control compilation of SWIFT.C               */
20
21 // Standard configurations, for which we automatically configure.
22 // WATCOM C 9.0, target: 32-bit code, Rational DOS/4GW extender
23 // Borland C++ 3.10, target: 16-bit code, DOS real mode
24 // Microsoft C 6.00A, target: 16-bit code, DOS real mode
25 // Microsoft C 7.00, target: 16-bit code, DOS real mode
26
27 // For any other configuration:
28 // Define PROTECTED_MODE if that describes your target environment
29 // (REAL_MODE is the default)
30 // Define RATIONAL_EXTENDER if that is your target environment
31 // Define TARGET_32 or TARGET_16 if your code is 32-bit (386/486) or
32 // 16-bit respectively.  Within these two big categories, the memory
33 // models pretty much take care of themselves.
34 // At this time, only DOS real-mode, and protected mode with DOS/4GW
35 // are supported by the SWIFT.C module.
36
37 #ifdef __WATCOMC__
38 // assume target is 32-bit protected mode with Rational DOS/4GW
39 #define PROTECTED_MODE
40 #define TARGET_32
41 #define RATIONAL_EXTENDER
42 // and use 32-bit register names
43 #if defined(__386__) && !defined(__WINDOWS_386__)
44 #define AX(r) ((r).x.eax)
45 #define BX(r) ((r).x.ebx)
46 #define CX(r) ((r).x.ecx)
47 #define DX(r) ((r).x.edx)
48 #define SI(r) ((r).x.esi)
49 #define DI(r) ((r).x.edi)
50 #endif
51 #endif
52
53 #ifdef __BORLANDC__
54 #define REAL_MODE
55 #define TARGET_16
56 #endif
57
58 #ifdef _MSC_VER
59 #define REAL_MODE
60 #define TARGET_16
61 #endif
62
63 #if !defined(PROTECTED_MODE) && !defined(REAL_MODE)
64 #define REAL_MODE
65 #endif
66
67 #if !defined(TARGET_32) && !defined(TARGET_16)
68 #define TARGET_16
69 #endif
70
71 //#define RATIONAL_EXTENDER
72 //#define PHARLAP_EXTENDER
73
74 #ifndef AX
75 #define AX(r) ((r).x.ax)
76 #define BX(r) ((r).x.bx)
77 #define CX(r) ((r).x.cx)
78 #define DX(r) ((r).x.dx)
79 #define SI(r) ((r).x.si)
80 #define DI(r) ((r).x.di)
81 #endif
82
83
84 #endif