sgdk: config.h File Reference

sgdk

- Main Page
- Related Pages
- Classes
- Files

- File List
- File Members

Defines
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 0

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 | FAT16_SUPPORT 0
| Set it to 1 if you want to use FAT16 methods provided by Krik. This cost a bit more than 1 KB of RAM.
#define | ENABLE_LOGO 0
| Set it to 1 if you want to have the kit intro logo.

## 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