# SNEmul configuration file
# Please read README before

ROMPath = /sfc

[Global]
# Those settings are default and overriden by games' settings

# BG3Squish : Squish the layer 3 
# 0 -> normal
# 1 -> squish (reduce 16 pixels)
# 2 -> squish more (reduce 32 pixels)
BG3Squish = 0

# YScroll : Vertical Scroll (pixels) of layer 1 and 2 
# 16 -> normal
# 32 -> bottom
# 0 -> top
YScroll = 16

# Sound emulation
# 0 -> off (and use SPC700 skipper)
# 1 -> on
Sound = 1

# GFX Engine
# 0 -> Line by line engine
# 1 -> Old tile engine
GFXEngine = 0
 
# BGLayer 
# Five digits number: s4321
# "1 2 3 4 s"  mean "BG1 BG2 BG3 BG4 sprite" respectively
# For each digit :
# 1 = enable, 0 = disable 
 
BGLayers = 10111

# BG Priorities selection
# 0 -> automatic
# 1 -> 1, 2, 0, 3
# 2 -> 3, 3, 2, 3
# 3 -> 3, 3, 3, 3
# 4 -> 2, 2, 2, 2 
# 5 -> 1, 1, 1, 1 
# 6 -> 0, 0, 0, 0
# 7 -> 2, 3, 0, 1
# 8 -> 2, 0, 3, 1
# 9 -> 2, 1, 0, 3 
# 10 -> manual (see below)
BGPriorities = 0

# BG Manual Prioritites
# abcd : priority for BG1 BG2 BG3 BG4
# 0 - 3 : the higher the value is, the lower the priority is
# if BG1 and BG2 have the same priority value, BG1 is in front of BG2
BGManualPriority = 1123

# Sprite Priorities
# abcd : priority for the 4 SNES priorities
# 0 - 3 : the higher the value is, the lower the priority is
# The most used values are 1123 or 1223
BGManualPriority = 1123

# BG3 Tile priority line detection
# if set to one, the emulator detects whether the current line has
# more low or high priority tiles, and change the priority of the 
# layer for this line (this only work for BG3 currently)
# This doesn't work for 16 pixels tiles and 64x64 layers
BG3TilePriority = 0

# Double a layer to emulate priority per tile for this layer
# When set to 0 or 1, one of the layer is doubled to the DS's fourth layer
# The high priority tiles are put on the main layer, the low priority tile
# on the back layer. Each layer is not entirely filled. The empty areas are
# filled with the tile BlankTilenumber (see below)
# This doesn't work for 16 pixels tiles and 64x64 layers 
TilePriorityBG = -1

# Number of a blank tile which will be used to fill the empty areas of the
# doubled layer
# 0 is a good value for most games, but some games may need another value, and
# this value may need to change for different parts of the game
# 666 seems ok for Secret Of Mana
BlankTileNumber = 0

# Transparency effects 
# 0 -> Disabled
# 1 -> Enabled
Transparency = 1

# HDMA
# 1 -> enable
# 0 -> disable
HDMA = 1

# Wait for V blank
Vblank = 0

# Speed hacks
# 0 -> No speed hacks
# 1 -> Cycles (reduce the number of cycles par scanline)
# 2 -> Interrupt (Detects interrupt wait loops and skip them)
# 3 -> Cycles + Interrupt
# 4 -> SuperDat (UNINPLEMENTED YET)
SpeedHacks = 0
 

# Fast DMA: Faster implementation of DMA, but maybe buggy
# 0 -> Regular DMA
# 1 -> Faster DMA 
FastDMA = 1

# Sound Port Synchronization hacks
# APU and CPU use 4 ports for exchanging data. Sometimes, games get
# desinchronzied because CPU write too fast or too slow. 
#
# abcdefgh where a,b,c,d,e,f,g,h is 0(off) or 1(on)
#
# abcd control the optional temporizing time before writing to a APU
# port. Of course this slowdown the game emulation.
#
# efgh control a little emulation hack that prevent the main CPU from writing 
# to an APU port until the previous data has been read by the sound CPU
#
# a/e : APU Port 0, b/f : APU Port 1 ... 
#
# Chrono Trigger is better with b=1
# Square games like SOM and FF6(FF3) sound  much better with g=1 and h=1
# Enix games like Illusion of gaia and Terranigma sound better with e=f=g=h=1 

SoundPortSync = 00000000


# GAMES list:

# WARNING: AS of 0.5 alpha, crc is computed on first 1Mb for large ROMS(>3Mb)

# When loading a game, SNEmul will search in configuration in order : 
# - Title of the game
# - CRC
# - Filename
# - Alternat. CRC #2
# - Alternat. Title  #2
# - Alternat. CRC #3
# - Alternat. Title #3
# - Alternat. CRC #4
# - Alternat. Title #4
# - Alternat. CRC #5
# - Alternat. Title #5
# So you can associate up to 11 ROM dumps to the same entry 

[TITLE_OF_GAME_OR_FILENAME]
crc = 1020304
crc2 = deadbeef
crc3 = abbababa
crc4 = abcdef01
crc5 = 12345678
title2 = My Name Here (J)
title3 = My Name Here (US)
title4 = My Game
title5 = Hello World

[Secret of MANA]
SoundPortSync = 00000011
TilePriorityBG = 1
BG3TilePriority = 0
BlankTileNumber = 666
SpritePriority = 1223

[FINAL FANTASY 3]
SoundPortSync = 00000011
#TilePriorityBG = 1

[SUPER CASTLEVANIA 4]
SpeedHacks = 2
BG3TilePriority = 1

[VAMPIRES KISS]
SpeedHacks = 1

[DONKEY KONG COUNTRY]
BGPriorities = 3
SpeedHacks = 0
Transparency = 0
Vblank = 1

[CHRONO TRIGGER]
SpeedHacks = 0
SoundPortSync = 01000000

[SUPER MARIOWORLD]
SpeedHacks = 1
#BGPriorities = 1
# Mario is transparent in level selection 
Transparency = 0
BG3Squish = 1
YScroll = 24 # semi-bottom
Vblank = 1

[SUPER MARIO ALL_STARS]
YScroll = 24

[SUPER BOMBERMAN]
# Need interrupt to start ...
SpeedHacks = 2

[STREETFIGHTER2]
crc = A45CADD6
SpeedHacks = 1
BG3TilePriority = 1

[POPULOUS II]
MouseXAddr = 7A
MouseYAddr = 7C
MouseMode = 2

[MARIOPAINT]
MouseXAddr = 4DC
MouseYAddr = 4DE
MouseMode = 1

[Lemmings 2,The Tribes]
MouseXAddr = C34
MouseYAddr = C35
MouseMode = 1
MouseXOffset = -8
MouseYOffset = -8

[CIVILIZATION]
MouseXAddr = 9D
MouseYAddr = 9F
MouseMode = 1

[Eye of the Beholder]
MouseXAddr = 87
MouseYAddr = 88
MouseMode = 1

[TERRANIGMA P]
TilePriorityBG = -1
BG3TilePriority = 0
BlankTileNumber = 0

[Street Fighter2 Turbo]
TilePriorityBG = -1
BlankTileNumber = 0
BG3TilePriority = 1

[Ogre Battle USA]
BG3Squish = 0
YScroll = 16
Sound = 1
GFXEngine = 0
HDMA = 1
BGLayers = 10111
BGPriorities = 0
Vblank = 0
SpeedHacks = 0

[Street Fighter 2]
TilePriorityBG = -1
BG3TilePriority = 1
BlankTileNumber = 0

