#                                                    #
# X-Men : Children of the Atom (Japan 941217) driver #
#                                                    #

[general]

GAMENAME    " X-Men : Children of the Atom v2.00 (Japan 941217) "
DIRECTORY   XMCOTAJ1
PARENT      XMCOTA
CPSTYPE     CPS2
DATE		1994

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

0x000000  0x3FFFFF  MAINROM
0xff0000  0xfFFFFF  MAINRAM

[dataReadByteRegions]

0x000000  0x3FFFFF  MAINROM
0x400000  0x40000b  OBJECTOUTPUT
0x618000  0x619fff  QSOUND1 
0x660000  0x663fff  EXTRARAM 6
0x664000  0x664001  EXTRARAM 7
0x708000  0x709fff  CPS2SPRITERAM # cps2 sprite ram #
0x70a000  0x70bfff  CPS2SPRITERAM # cps2 sprite ram #
0x70c000  0x70dfff  CPS2SPRITERAM # cps2 sprite ram #
0x70e000  0x70ffff  CPS2SPRITERAM # cps2 sprite ram #
0x800100  0x8001ff  VIDEOPORTS
0x804000  0x804001  INPUTPORT1
0x804010  0x804011  INPUTPORT2
0x804020  0x804021  EEPROM
0x804030  0x804031  MASTERVOLUME
0x804100  0x8041ff  VIDEOPORTS 
0x900000  0x92ffff  VIDEORAM
0xff0000  0xfFFFFF  MAINRAM

[dataReadWordRegions]

0x000000  0x3FFFFF  MAINROM
0x400000  0x40000b  OBJECTOUTPUT
0x618000  0x619fff  QSOUND1
0x660000  0x663fff  EXTRARAM 6
0x664000  0x664001  EXTRARAM 7
0x708000  0x709fff  CPS2SPRITERAM # cps2 sprite ram #
0x70a000  0x70bfff  CPS2SPRITERAM # cps2 sprite ram #
0x70c000  0x70dfff  CPS2SPRITERAM # cps2 sprite ram #
0x70e000  0x70ffff  CPS2SPRITERAM # cps2 sprite ram #
0x800100  0x8001ff  VIDEOPORTS
0x804000  0x804001  INPUTPORT1
0x804010  0x804011  INPUTPORT2
0x804020  0x804021  EEPROM
0x804030  0x804031  MASTERVOLUME
0x804100  0x8041ff  VIDEOPORTS 
0x900000  0x92ffff  VIDEORAM
0xff0000  0xfFFFFF  MAINRAM


[dataWriteByteRegions]

0x400000  0x40000b  OBJECTOUTPUT
0x618000  0x619fff  QSOUND1
0x660000  0x663fff  EXTRARAM 6
0x664000  0x664001  EXTRARAM 7
0x708000  0x709fff  CPS2SPRITERAM # cps2 sprite ram #
0x70a000  0x70bfff  CPS2SPRITERAM # cps2 sprite ram #
0x70c000  0x70dfff  CPS2SPRITERAM # cps2 sprite ram #
0x70e000  0x70ffff  CPS2SPRITERAM # cps2 sprite ram #
0x800100  0x8001ff  VIDEOPORTS
0x804040  0x804041  EEPROM
0x8040a0  0x8040a1  EXTRARAM 1 # Unknown (reset once on startup) #
0x8040e0  0x8040e1  EXTRARAM 4 # toggle bit 1 #
0x804100  0x8041ff  VIDEOPORTS
0x900000  0x92ffff  VIDEORAM
0xff0000  0xfFFFFF  MAINRAM

[dataWriteWordRegions]

0x400000  0x40000b  OBJECTOUTPUT
0x618000  0x619fff  QSOUND1
0x660000  0x663fff  EXTRARAM 6
0x664000  0x664001  EXTRARAM 7
0x708000  0x709fff  CPS2SPRITERAM # cps2 sprite ram #
0x70a000  0x70bfff  CPS2SPRITERAM # cps2 sprite ram #
0x70c000  0x70dfff  CPS2SPRITERAM # cps2 sprite ram #
0x70e000  0x70ffff  CPS2SPRITERAM # cps2 sprite ram #
0x800100  0x8001ff  VIDEOPORTS
0x804040  0x804041  EEPROM
0x8040a0  0x8040a1  EXTRARAM 1 # Unknown (reset once on startup) #
0x8040e0  0x8040e1  EXTRARAM 4 # toggle bit 1 #
0x804100  0x8041ff  VIDEOPORTS 
0x900000  0x92ffff  VIDEORAM
0xff0000  0xfFFFFF  MAINRAM

#            #
# Protection #
#            #
[protection]

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

#                      #
# Graphics information #
#                      #
[graphics]

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

# Path                     Size     Where    #
LOAD8X xmn.13 		   0x400000 0x0000000
LOAD8X xmn.15 		   0x400000 0x0000002
LOAD8X xmn.17 		   0x400000 0x0000004
LOAD8X xmn.19 		   0x400000 0x0000006
LOAD8X xmn.14 		   0x400000 0x1000000
LOAD8X xmn.16 		   0x400000 0x1000002
LOAD8X xmn.18 		   0x400000 0x1000004
LOAD8X xmn.20 		   0x400000 0x1000006


#               Number of tiles Base addr   Decode info #
DECODECHARS     0x0f000          0x0800000    0x000000
DECODESPRITES   0x40000          0x0000000    0x000000 0x000000
DECODESCROLL2   0x0f000          0x0800000    0x000000 0x000000
DECODESCROLL3   0x04000          0x0800000    0x800000 0x400000 


#                     #
# program information #
#                     #
[program]

ROMSIZE 0x400000

# Type of load 	path 1  	path 2            Size    Location #
LOADROM16SWAPXOR  xmnj.03a 	xmnjx.03a      	0x80000 0x000000
LOADROM16SWAPXOR  xmnj.04a      xmnjx.04a	0x80000 0x080000
LOADROM16SWAP  	  xmnj.05         		0x80000 0x100000
LOADROM16SWAP  	  xmnj.06          		0x80000 0x180000
LOADROM16SWAP  	  xmnj.07         		0x80000 0x200000
LOADROM16SWAP  	  xmnj.08          		0x80000 0x280000
LOADROM16SWAP  	  xmnj.09         		0x80000 0x300000
LOADROM16SWAP  	  xmnj.10          		0x80000 0x380000

#                                            #
# the list of the roms which must be present #
# to allow the game to work                  #
#                                            #
[verifyRoms]

xmn.01a       0x40f479ea
xmn.02a       0x39d9b5ad
xmnj.03a      0x00761611
xmnjx.03a     0x515b9bf9
xmnj.04a      0x614d3f60
xmnjx.04a     0x5419572b
xmnj.05       0xc3ed62a2
xmnj.06       0xf03c52e1
xmnj.07       0x325626b1
xmnj.08       0x7194ea10
xmnj.09       0xae946df3
xmnj.10       0x32a6be1d
xmn.11        0xc848a6bc
xmn.12        0x729c188f
xmn.13        0xbf4df073
xmn.14        0x778237b7
xmn.15        0x4d7e4cef
xmn.16        0x67b36948
xmn.17        0x513eea17
xmn.18        0x015a7c4c
xmn.19        0xd23897fc
xmn.20        0x9dde2758

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

LAYERCONTROL    0x66                # Layer control port                     #
SCROLL1BASECODE 0x0000              # scroll1 tile base                      #
SCROLL1CODEMASK 0xf000              # scroll1 tile mask(=number of tiles)    #
SCROLL2BASECODE 0x0000              # scroll2 tile base                      #
SCROLL2CODEMASK 0xf000              # scroll2 tile mask(=number of tiles)    #
SCROLL3BASECODE 0x0000              # scroll3 tile base                      #
SCROLL3CODEMASK 0x4000              # 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]
xmn.01a
xmn.02a
                                                   
[samples]
xmn.11 0x200000
xmn.12 0x200000


[End]
 
