Jo Engine 2026.11.1
Jo Sega Saturn Engine
Loading...
Searching...
No Matches
conf.h
Go to the documentation of this file.
1/*
2** Jo Sega Saturn Engine
3** Copyright (c) 2012-2026, 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*/
34
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_VIDEO_MODULE = 0
51 JO_COMPILE_WITH_BACKUP_MODULE = 1
52 JO_COMPILE_WITH_TGA_MODULE = 1
53 JO_COMPILE_WITH_AUDIO_MODULE = 1
54 JO_COMPILE_WITH_AUDIO_DRIVER_MODULE = 0 (the 68000 runs a sound driver: glides, tones; needs the audio module)
55 JO_COMPILE_WITH_AUDIO_DSP_MODULE = 0 (the DSP of the SCSP makes a reverberation; needs the audio module)
56 JO_COMPILE_WITH_3D_MODULE = 1
57 JO_COMPILE_WITH_PSEUDO_MODE7_MODULE = 1
58 JO_COMPILE_WITH_EFFECTS_MODULE = 1
59 JO_COMPILE_WITH_DUAL_CPU_MODULE = 1
60 JO_COMPILE_WITH_PRINTF_MODULE = 1
61 JO_COMPILE_WITH_RAM_CARD_MODULE = 1
62 JO_COMPILE_WITH_STORYBOARD_MODULE = 1
63 JO_COMPILE_WITH_SPRITE_HASHTABLE = 0
64 JO_COMPILE_WITH_SOFTWARE_RENDERER_MODULE = 1
65 JO_GLOBAL_MEMORY_SIZE_FOR_MALLOC = 524288
66 JO_PSEUDO_SATURN_KAI_SUPPORT = 1
67 JO_MAX_FS_BACKGROUND_JOBS = 4
68 JO_MAX_SPRITE = 255
69 JO_MAP_MAX_LAYER = 8
70 JO_MAX_SPRITE_ANIM = 16
71 JO_MAX_FILE_IN_IMAGE_PACK = 32
72 JO_DEBUG = 1
73 JO_NTSC = 0
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)
85 # define JO_TV_WIDTH (704)
87 # define JO_TV_WIDTH_2 (352)
89 # define JO_TV_WIDTH_4 (176)
91 # define JO_TV_HEIGHT (480)
93 # define JO_TV_HEIGHT_2 (240)
95 # define JO_TV_HEIGHT_4 (120)
96 #else
98 # define JO_TV_WIDTH (320)
100 # define JO_TV_WIDTH_2 (160)
102 # define JO_TV_WIDTH_4 (80)
104 # define JO_TV_HEIGHT (240)
106 # define JO_TV_HEIGHT_2 (120)
108 # define JO_TV_HEIGHT_4 (60)
109 #endif
110#else /* PAL Version */
111 # if defined(JO_480i)
113 # define JO_TV_WIDTH (704)
115 # define JO_TV_WIDTH_2 (352)
117 # define JO_TV_WIDTH_4 (176)
119 # define JO_TV_HEIGHT (256)
121 # define JO_TV_HEIGHT_2 (128)
123 # define JO_TV_HEIGHT_4 (64)
124 #else
126 # define JO_TV_WIDTH (320)
128 # define JO_TV_WIDTH_2 (160)
130 # define JO_TV_WIDTH_4 (80)
132 # define JO_TV_HEIGHT (256)
134 # define JO_TV_HEIGHT_2 (128)
136 # define JO_TV_HEIGHT_4 (64)
137 #endif
138#endif
139
140# if defined (JO_480i)
142 # define JO_VDP2_SIZE (0x0E) /* 1024x512 */
144 # define JO_VDP2_WIDTH (1024)
146 # define JO_VDP2_HEIGHT (512)
147#else
149 # define JO_VDP2_SIZE (0x02) /* 512x256 */
151 # define JO_VDP2_WIDTH (512)
153 # define JO_VDP2_HEIGHT (256)
154#endif
155
157# define JO_PRINTF_BUF_SIZE (64)
159# define JO_MAX_FILENAME_LENGTH (13)
161# define JO_FS_MAX_FILES (256)
162
163#if JO_FRAMERATE < 1
164# error "JO_FRAMERATE must be greater than zero"
165#endif
166
167#endif /* !__JO_CONF_H__ */
168
169/*
170** END OF FILE
171*/