#==========================================#
# Street Fighter Zero (CPS CHANGER) Driver #
#            By Gabriel Cabra              #
#                                          #
#        jecabral@infovia.com.ar           #
#                                          #
#                                          #
#   Version 0.00000000000001a Beta 145     #
#==========================================#


[general]

GAMENAME    " Street Fighter Zero (CPS Changer) "
DIRECTORY   SFZCH
PARENT      SFA
CPSTYPE     CPS1
DATE		1995

#                 #
# The memory map  #
#                 #
[programRegions]

0x000000  0x1FFFFF  MAINROM
0x914000  0x915fff  PALETTERAM 
0x916000  0x9167ff  ROWSCROLLRAM
0x900000  0x92ffff  VIDEORAM
0xff0000  0xfFFFFF  MAINRAM

[dataReadByteRegions]

0x000000  0x1FFFFF  MAINROM
0x800000  0x800001  INPUTPORT2
0x800010  0x800011  INPUTPORT2
0x800018  0x80001f  INPUTPORT1
0x800100  0x8001ff  VIDEOPORTS
0x914000  0x915fff  PALETTERAM 
0x916000  0x9167ff  ROWSCROLLRAM
0x900000  0x92ffff  VIDEORAM
0xf1c006  0xf1c007  EEPROM
0xff0000  0xfFFFFF  MAINRAM
0x860000  0x8603ff  EXTRARAM  1
0x916800  0x930000  EXTRARAM  2
0xf18000  0xf19fff  QSOUND1 
0xf1e000  0xf1ffff  QSOUND2

[dataReadWordRegions]

0x000000  0x1FFFFF  MAINROM
0x800000  0x800001  INPUTPORT2
0x800010  0x800011  INPUTPORT2
0x800018  0x80001f  INPUTPORT1
0x800100  0x8001ff  VIDEOPORTS
0x914000  0x915fff  PALETTERAM 
0x916000  0x9167ff  ROWSCROLLRAM
0x900000  0x92ffff  VIDEORAM
0xf1c006  0xf1c007  EEPROM
0xff0000  0xfFFFFF  MAINRAM
0x860000  0x8603ff  EXTRARAM  1
0x916800  0x930000  EXTRARAM  2
0xf18000  0xf19fff  QSOUND1 
0xf1e000  0xf1ffff  QSOUND2


[dataWriteByteRegions]

0x800100  0x8001ff  VIDEOPORTS
0x914000  0x915fff  PALETTERAM 
0x916000  0x9167ff  ROWSCROLLRAM
0x900000  0x92ffff  VIDEORAM
0xf1c006  0xf1c007  EEPROM
0xff0000  0xfFFFFF  MAINRAM
0x860000  0x8603ff  EXTRARAM 1
0x916800  0x930000  EXTRARAM 2
0xf18000  0xf19fff  QSOUND1 
0xf1e000  0xf1ffff  QSOUND2

[dataWriteWordRegions]

0x800100  0x8001ff  VIDEOPORTS
0x914000  0x915fff  PALETTERAM 
0x916000  0x9167ff  ROWSCROLLRAM
0x900000  0x92ffff  VIDEORAM
0xf1c006  0xf1c007  EEPROM
0xff0000  0xfFFFFF  MAINRAM
0x860000  0x8603ff  EXTRARAM 1
0x916800  0x930000  EXTRARAM 2
0xf18000  0xf19fff  QSOUND1 
0xf1e000  0xf1ffff  QSOUND2

#            #
# Protection #
#            #
[protection]

# If port(PORT) is read, returns (VALUE) #
PORT    0xff
VALUE   0xffff

#                      #
# Graphics information #
#                      #
[graphics]

# the total size of the graphics roms #
TOTAL 0x800000

# Path                     Size    Where  #
LOAD8 sfz03 0x80000 0x000000
LOAD8 sfz07 0x80000 0x080000
LOAD8 sfz12 0x80000 0x100000
LOAD8 sfz16 0x80000 0x180000
LOAD8 sfz01 0x80000 0x200000
LOAD8 sfz05 0x80000 0x280000
LOAD8 sfz10 0x80000 0x300000
LOAD8 sfz14 0x80000 0x380000
LOAD8 sfz04 0x80000 0x400000
LOAD8 sfz08 0x80000 0x480000
LOAD8 sfz13 0x80000 0x500000
LOAD8 sfz17 0x80000 0x580000
LOAD8 sfz02 0x80000 0x600000
LOAD8 sfz06 0x80000 0x680000
LOAD8 sfz11 0x80000 0x700000
LOAD8 sfz15 0x80000 0x780000


#               Number of tiles Base addr   Decode info #
DECODECHARS     0x5000          0x000000    0x400000
DECODESPRITES   0x10000          0x000000    0x400000 0x200000
DECODESCROLL2   0x4000          0x180000    0x400000 0x200000
DECODESCROLL3   0x1000          0x180000    0x400000 0x200000 


#                     #
# program information #
#                     #
[program]

ROMSIZE 0x200000

# Type of load path 1                    path 2                       Size    where #
LOADROM16SWAP  sfzch23        0x80000 0x000000
LOADROM16SWAP  sfza22         0x80000 0x080000
LOADROM16SWAP  sfzch21        0x80000 0x100000
LOADROM16SWAP  sfza20         0x80000 0x180000


#                        #
# The game configuration #
#                        #
[configuration]

LAYERCONTROL    0x66                # Layer control port                     #
SCROLL1BASECODE 0x0000              # scroll1 tile base                      #
SCROLL1CODEMASK 0x8000              # scroll1 tile mask(=number of tiles)    #
SCROLL2BASECODE 0x0000              # scroll2 tile base                      #
SCROLL2CODEMASK 0x4000              # scroll2 tile mask(=number of tiles)    #
SCROLL3BASECODE 0x0000              # scroll3 tile base                      #
SCROLL3CODEMASK 0x1000              # scroll3 tile mask(=number of tiles)    #
PRIORITYMASKS   0x68 0x6a 0x6c 0x6e # the ports where to read the priorities #
LAYERENABLE 0x02 0x04 0x08 0x30
FORCESCROLLPRIORITY 0xff            # Hack to fix some priority problems btw #
                                    # scroll2 and 3. The folowing values are #
                                    # valid:                                 #
                                    # 0xff: no hack                          #
                                    # 0x01: scroll3 first. Scroll2 after.    #
                                    # 0x00: scroll2 first  Scroll3 after.    #
FORCESCROLL2ON 1                    # 0=no 1=yes #

[z80]
sfz.01
sfz.02

[samples]
sfz.11  0x200000
sfz.12  0x200000


[End]
 
[verifyRoms]
sfz03	0x9584ac85
sfz07	0xbb2c734d
sfz12	0xf122693a
sfz16	0x19a5abd6
sfz01	0x0dd53e62
sfz05	0x2b47b645
sfz10	0x2a7d675e
sfz14	0x09038c81
sfz04	0xb983624c
sfz08	0x454f7868
sfz13	0x7cf942c8
sfz17	0x248b3b73
sfz02	0x94c31e3f
sfz06	0x74fd9fb1
sfz11	0xe35546c8
sfz15	0x1aa17391
sfzch23	0x1140743f
sfza22	0x8d9b2480
sfzch21	0x5435225d
sfza20	0x806e8f38
[End]
