sgdk
config.h File Reference

Basic SGDK library configuration file. More...

Go to the source code of this file.

Defines

#define LOG_LEVEL_DISABLE   0
 Log disable.
#define LOG_LEVEL_ERROR   1
 Log for error only.
#define LOG_LEVEL_WARNING   2
 Log for error and warning.
#define LOG_LEVEL_INFO   3
 Log for error, warning and info (as memory allocation)
#define LIB_LOG_LEVEL   LOG_LEVEL_WARNING
 Define library log level (for debug build)
#define LIB_DEBUG   0
 Set it to 1 to enable KDebug logging (Gens KMod) to log some errors (as memory allocation).
#define LIB_LOG_LEVEL   LOG_LEVEL_DISABLE
 Define library log level (for debug build)
#define HALT_Z80_ON_DMA   1
 Set it to 1 if you want to force Z80 halt during DMA operation (default).
Some Megadrive models need it to prevent some possible DMA transfer corruption or even 68000 memory or Z80 invalid data fetch in very rare case.
This actually happen when Z80 access the main BUS exactly at same time you trigger a DMA operation.
If you are 100% sure that you are actually avoiding that case you may try to disable the flag (at your own risk though).
#define HALT_Z80_ON_IO   1
 Set it to 1 if you want to force Z80 halt during IO port (controller) accesses.
Some Megadrive models (as some MD2) need it to prevent some possible (but very rare) Z80 corruption bugs (may happen when Z80 access the main BUS during IO port access from 68K).
#define DMA_DISABLED   0
 Set it to 1 if you want to completely disable DMA transfers (for testing purpose) and replace them with (slower) software CPU copy.
#define ENABLE_BANK_SWITCH   0
 Set it to 1 to enable automatic bank switch using official SEGA mapper for ROM > 4MB.
#define ENABLE_NEWLIB   0
 Set it to 1 if you want to use newlib with SGDK.
That will disable any standard methods from SGDK to replace them by newlib library implementation.
#define ENABLE_LOGO   0
 Set it to 1 if you want to have the kit intro logo.
#define MODULE_EVERDRIVE   0
 Set it to 1 if you want to use EVERDRIVE programming methods (provided by Krikzz).

#define MODULE_FAT16   0
 Set it to 1 if you want to use FAT16 methods for Everdrive cart (provided by Krikzz).
This cost a bit more than 1 KB of RAM.
#define MODULE_MEGAWIFI   0
 Set it to 1 if you want to enable MegaWiFi functions and support code.

Detailed Description

Basic SGDK library configuration file.

Author:
Stephane Dallongeville
Date:
08/2011

This unit is used to define some specific compilation option of the library.


Define Documentation

#define ENABLE_BANK_SWITCH   0

Set it to 1 to enable automatic bank switch using official SEGA mapper for ROM > 4MB.

When automatic bank switch is enabled all internal BIN data structures declared in .far_rodata section will be accessed using BANK_getFarData(..) method (mapper.c). That may impact performance quite a bit it's why it's disabled by default if you don't require bank switch.

 All Classes Files Functions Variables Typedefs Enumerations Enumerator Defines