Jo Engine  2024.04.28
Jo Sega Saturn Engine
conf.h
Go to the documentation of this file.
1 /*
2 ** Jo Sega Saturn Engine
3 ** Copyright (c) 2012-2024, Johannes Fetz (johannesfetz@gmail.com)
4 ** All rights reserved.
5 **
6 ** Redistribution and use in source and binary forms, with or without
7 ** modification, are permitted provided that the following conditions are met:
8 ** * Redistributions of source code must retain the above copyright
9 ** notice, this list of conditions and the following disclaimer.
10 ** * Redistributions in binary form must reproduce the above copyright
11 ** notice, this list of conditions and the following disclaimer in the
12 ** documentation and/or other materials provided with the distribution.
13 ** * Neither the name of the Johannes Fetz nor the
14 ** names of its contributors may be used to endorse or promote products
15 ** derived from this software without specific prior written permission.
16 **
17 ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18 ** ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19 ** WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20 ** DISCLAIMED. IN NO EVENT SHALL Johannes Fetz BE LIABLE FOR ANY
21 ** DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22 ** (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23 ** LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
24 ** ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26 ** SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 */
35 #ifndef __JO_CONF_H__
36 # define __JO_CONF_H__
37 
38 /*
39  _ _ _ _ _ _ _ _ __ _ _
40  | | ( ) | | | | | | | | | (_) / _(_) |
41  __| | ___ _ __ |/| |_ | |_ ___ _ _ ___| |__ | |_| |__ _ ___ | |_ _| | ___
42  / _` |/ _ \| '_ \ | __| | __/ _ \| | | |/ __| '_ \ | __| '_ \| / __| | _| | |/ _ \
43  | (_| | (_) | | | | | |_ | || (_) | |_| | (__| | | | | |_| | | | \__ \ | | | | | __/
44  \__,_|\___/|_| |_| \__| \__\___/ \__,_|\___|_| |_| \__|_| |_|_|___/ |_| |_|_|\___|
45 
46  All options are now available on your Makefile.
47 
48  makefile sample:
49 
50  JO_COMPILE_WITH_FAST_BUT_LESS_ACCURATE_MATH = 1
51  JO_COMPILE_WITH_VIDEO_MODULE = 0
52  JO_COMPILE_WITH_BACKUP_MODULE = 1
53  JO_COMPILE_WITH_TGA_MODULE = 1
54  JO_COMPILE_WITH_AUDIO_MODULE = 1
55  JO_COMPILE_WITH_3D_MODULE = 1
56  JO_COMPILE_WITH_PSEUDO_MODE7_MODULE = 1
57  JO_COMPILE_WITH_EFFECTS_MODULE = 1
58  JO_COMPILE_WITH_DUAL_CPU_MODULE = 1
59  JO_COMPILE_WITH_PRINTF_MODULE = 1
60  JO_COMPILE_WITH_RAM_CARD_MODULE = 1
61  JO_COMPILE_WITH_STORYBOARD_MODULE = 1
62  JO_COMPILE_WITH_SPRITE_HASHTABLE = 0
63  JO_COMPILE_WITH_SOFTWARE_RENDERER_MODULE = 1
64  JO_GLOBAL_MEMORY_SIZE_FOR_MALLOC = 524288
65  JO_PSEUDO_SATURN_KAI_SUPPORT = 1
66  JO_MAX_FS_BACKGROUND_JOBS = 4
67  JO_MAX_SPRITE = 255
68  JO_MAP_MAX_LAYER = 8
69  JO_MAX_SPRITE_ANIM = 16
70  JO_MAX_FILE_IN_IMAGE_PACK = 32
71  JO_DEBUG = 1
72  JO_NTSC = 0
73  JO_COMPILE_USING_SGL = 1
74  SRCS=main.c
75  include ../Compiler/COMMON/jo_engine_makefile
76 */
77 
78 /*
79 ** PARAMS
80 */
81 
82 # if defined(JO_NTSC_VERSION)
83  # if defined(JO_480i)
84 
85  # define JO_TV_RES (TV_704x480)
86 
87  # define JO_TV_WIDTH (704)
88 
89  # define JO_TV_WIDTH_2 (352)
90 
91  # define JO_TV_WIDTH_4 (176)
92 
93  # define JO_TV_HEIGHT (480)
94 
95  # define JO_TV_HEIGHT_2 (240)
96 
97  # define JO_TV_HEIGHT_4 (120)
98  #else
99 
100  # define JO_TV_RES (TV_320x240)
101 
102  # define JO_TV_WIDTH (320)
103 
104  # define JO_TV_WIDTH_2 (160)
105 
106  # define JO_TV_WIDTH_4 (80)
107 
108  # define JO_TV_HEIGHT (240)
109 
110  # define JO_TV_HEIGHT_2 (120)
111 
112  # define JO_TV_HEIGHT_4 (60)
113  #endif
114 #else /* PAL Version */
115  # if defined(JO_480i)
116 
117  # define JO_TV_RES (TV_704x256)
118 
119  # define JO_TV_WIDTH (704)
120 
121  # define JO_TV_WIDTH_2 (352)
122 
123  # define JO_TV_WIDTH_4 (176)
124 
125  # define JO_TV_HEIGHT (256)
126 
127  # define JO_TV_HEIGHT_2 (128)
128 
129  # define JO_TV_HEIGHT_4 (64)
130  #else
131 
132  # define JO_TV_RES (TV_320x256)
133 
134  # define JO_TV_WIDTH (320)
135 
136  # define JO_TV_WIDTH_2 (160)
137 
138  # define JO_TV_WIDTH_4 (80)
139 
140  # define JO_TV_HEIGHT (256)
141 
142  # define JO_TV_HEIGHT_2 (128)
143 
144  # define JO_TV_HEIGHT_4 (64)
145  #endif
146 #endif
147 
148 # if defined (JO_480i)
149 
150  # define JO_VDP2_SIZE (BM_1024x512)
151 
152  # define JO_VDP2_WIDTH (1024)
153 
154  # define JO_VDP2_HEIGHT (512)
155 #else
156 
157  # define JO_VDP2_SIZE (BM_512x256)
158 
159  # define JO_VDP2_WIDTH (512)
160 
161  # define JO_VDP2_HEIGHT (256)
162 #endif
163 
165 # define JO_PRINTF_BUF_SIZE (64)
166 
167 # define JO_MAX_FILENAME_LENGTH (13)
168 
169 # define JO_FS_MAX_FILES (256)
170 
171 #if JO_FRAMERATE < 1
172 # error "JO_FRAMERATE must be greater than zero"
173 #endif
174 
175 #endif /* !__JO_CONF_H__ */
176 
177 /*
178 ** END OF FILE
179 */